diff --git a/packages/ui/package.json b/packages/ui/package.json
index ce2a5d524..b72a59209 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -16,8 +16,8 @@
},
"exports": {
".": "./src/index.ts",
- "./components/animations": "./src/components/Animations/index.ts",
- "./components/form": "./src/components/Form/index.ts",
+ "./components/animations": "./src/components/animations/index.ts",
+ "./components/form": "./src/components/form/index.ts",
"./components/layouts": "./src/components/layouts/index.ts",
"./*": "./*"
},
diff --git a/packages/ui/src/components/Animations/index.ts b/packages/ui/src/components/Animations/index.ts
deleted file mode 100644
index 3414c2c77..000000000
--- a/packages/ui/src/components/Animations/index.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export { default as BidirectionalTransition } from './BidirectionalTransition.vue'
-export { default as TransitionHorizontal } from './TransitionHorizontal.vue'
-export { default as TransitionVertical } from './TransitionVertical.vue'
diff --git a/packages/ui/src/components/Form/Field/index.ts b/packages/ui/src/components/Form/Field/index.ts
deleted file mode 100644
index 1e83c2973..000000000
--- a/packages/ui/src/components/Form/Field/index.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-export { default as FieldCheckbox } from './FieldCheckbox.vue'
-export { default as FieldInput } from './FieldInput.vue'
-export { default as FieldKeyValues } from './FieldKeyValues.vue'
-export { default as FieldRange } from './FieldRange.vue'
-export { default as FieldSelect } from './FieldSelect.vue'
-export { default as FieldTextArea } from './FieldTextArea.vue'
-export { default as FieldValues } from './FieldValues.vue'
diff --git a/packages/ui/src/components/Form/Input/index.ts b/packages/ui/src/components/Form/Input/index.ts
deleted file mode 100644
index 740114ffc..000000000
--- a/packages/ui/src/components/Form/Input/index.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-export { default as BasicInputFile } from './BasicInputFile.vue'
-export { default as Input } from './Input.vue'
-export { default as InputFile } from './InputFile.vue'
-export { default as InputKeyValue } from './InputKeyValue.vue'
diff --git a/packages/ui/src/components/Form/Radio/index.ts b/packages/ui/src/components/Form/Radio/index.ts
deleted file mode 100644
index a1fc2887e..000000000
--- a/packages/ui/src/components/Form/Radio/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { default as Radio } from './Radio.vue'
diff --git a/packages/ui/src/components/Form/Range/index.ts b/packages/ui/src/components/Form/Range/index.ts
deleted file mode 100644
index dd6a78c58..000000000
--- a/packages/ui/src/components/Form/Range/index.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export { default as ColorHueRange } from './ColorHueRange.vue'
-export { default as Range } from './Range.vue'
-export { default as RoundRange } from './RoundRange.vue'
diff --git a/packages/ui/src/components/Form/Select/index.ts b/packages/ui/src/components/Form/Select/index.ts
deleted file mode 100644
index 279ca3503..000000000
--- a/packages/ui/src/components/Form/Select/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export { default as Option } from './Option.vue'
-export { default as Select } from './Select.vue'
diff --git a/packages/ui/src/components/Form/SelectTab/index.ts b/packages/ui/src/components/Form/SelectTab/index.ts
deleted file mode 100644
index 82cad68eb..000000000
--- a/packages/ui/src/components/Form/SelectTab/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { default as SelectTab } from './SelectTab.vue'
diff --git a/packages/ui/src/components/Form/Textarea/index.ts b/packages/ui/src/components/Form/Textarea/index.ts
deleted file mode 100644
index c1c52be47..000000000
--- a/packages/ui/src/components/Form/Textarea/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export { default as BasicTextarea } from './Basic.vue'
-export { default as Textarea } from './Textarea.vue'
diff --git a/packages/ui/src/components/Form/index.ts b/packages/ui/src/components/Form/index.ts
deleted file mode 100644
index d4016cf50..000000000
--- a/packages/ui/src/components/Form/index.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-export * from './Checkbox'
-export * from './Combobox'
-export * from './Field'
-export * from './Input'
-export * from './Radio'
-export * from './Range'
-export * from './Select'
-export * from './SelectTab'
-export * from './Textarea'
diff --git a/packages/ui/src/components/Misc/index.ts b/packages/ui/src/components/Misc/index.ts
deleted file mode 100644
index c56451a24..000000000
--- a/packages/ui/src/components/Misc/index.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export { default as Button } from './Button.vue'
-export { default as Callout } from './Callout.vue'
-export { default as DoubleCheckButton } from './DoubleCheckButton.vue'
diff --git a/packages/ui/src/components/animations/index.ts b/packages/ui/src/components/animations/index.ts
new file mode 100644
index 000000000..6fff9d1cc
--- /dev/null
+++ b/packages/ui/src/components/animations/index.ts
@@ -0,0 +1,9 @@
+export { default as TransitionBidirectional } from './transition-bidirectional.vue'
+export {
+ /**
+ * @deprecated Use TransitionBidirectional instead
+ */
+ default as BidirectionalTransition,
+} from './transition-bidirectional.vue'
+export { default as TransitionHorizontal } from './transition-horizontal.vue'
+export { default as TransitionVertical } from './transition-vertical.vue'
diff --git a/packages/ui/src/components/Animations/BidirectionalTransition.vue b/packages/ui/src/components/animations/transition-bidirectional.vue
similarity index 100%
rename from packages/ui/src/components/Animations/BidirectionalTransition.vue
rename to packages/ui/src/components/animations/transition-bidirectional.vue
diff --git a/packages/ui/src/components/Animations/TransitionHorizontal.vue b/packages/ui/src/components/animations/transition-horizontal.vue
similarity index 100%
rename from packages/ui/src/components/Animations/TransitionHorizontal.vue
rename to packages/ui/src/components/animations/transition-horizontal.vue
diff --git a/packages/ui/src/components/Animations/TransitionVertical.vue b/packages/ui/src/components/animations/transition-vertical.vue
similarity index 100%
rename from packages/ui/src/components/Animations/TransitionVertical.vue
rename to packages/ui/src/components/animations/transition-vertical.vue
diff --git a/packages/ui/src/components/Form/Checkbox/Checkbox.vue b/packages/ui/src/components/form/checkbox/checkbox.vue
similarity index 100%
rename from packages/ui/src/components/Form/Checkbox/Checkbox.vue
rename to packages/ui/src/components/form/checkbox/checkbox.vue
diff --git a/packages/ui/src/components/Form/Checkbox/index.ts b/packages/ui/src/components/form/checkbox/index.ts
similarity index 100%
rename from packages/ui/src/components/Form/Checkbox/index.ts
rename to packages/ui/src/components/form/checkbox/index.ts
diff --git a/packages/ui/src/components/Form/Combobox/Combobox.vue b/packages/ui/src/components/form/combobox/combobox.vue
similarity index 100%
rename from packages/ui/src/components/Form/Combobox/Combobox.vue
rename to packages/ui/src/components/form/combobox/combobox.vue
diff --git a/packages/ui/src/components/Form/Combobox/index.ts b/packages/ui/src/components/form/combobox/index.ts
similarity index 100%
rename from packages/ui/src/components/Form/Combobox/index.ts
rename to packages/ui/src/components/form/combobox/index.ts
diff --git a/packages/ui/src/components/Form/Field/FieldCheckbox.vue b/packages/ui/src/components/form/field/field-checkbox.vue
similarity index 93%
rename from packages/ui/src/components/Form/Field/FieldCheckbox.vue
rename to packages/ui/src/components/form/field/field-checkbox.vue
index 1e1a58454..91f1e236d 100644
--- a/packages/ui/src/components/Form/Field/FieldCheckbox.vue
+++ b/packages/ui/src/components/form/field/field-checkbox.vue
@@ -1,5 +1,5 @@
diff --git a/packages/ui/src/components/layouts/collapsible.vue b/packages/ui/src/components/layouts/collapsible.vue
index 2e9400ef3..4ae5d4e9b 100644
--- a/packages/ui/src/components/layouts/collapsible.vue
+++ b/packages/ui/src/components/layouts/collapsible.vue
@@ -1,7 +1,8 @@