@bridge-ui/vue 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/ai/skills/bridge-ui-forms/SKILL.md +1 -1
  2. package/dist/Components/Alert/Alert.vue_vue_type_script_setup_true_lang.js +13 -13
  3. package/dist/Components/Alert/alert.types.d.ts +7 -4
  4. package/dist/Components/Alert/composables/useAlert.d.ts +1 -0
  5. package/dist/Components/Alert/composables/useAlert.js +60 -57
  6. package/dist/Components/Autocomplete/Autocomplete.vue.d.ts +1 -1
  7. package/dist/Components/Autocomplete/Autocomplete.vue_vue_type_script_setup_true_lang.js +1 -0
  8. package/dist/Components/Autocomplete/composables/useAutocomplete.d.ts +4 -2
  9. package/dist/Components/BaseField/BaseField.vue_vue_type_script_setup_true_lang.js +9 -9
  10. package/dist/Components/BaseField/baseField.types.d.ts +15 -4
  11. package/dist/Components/BaseField/composables/useBaseField.d.ts +6 -2
  12. package/dist/Components/BaseField/composables/useBaseField.js +67 -67
  13. package/dist/Components/Button/Button.vue_vue_type_script_setup_true_lang.js +24 -25
  14. package/dist/Components/Button/composables/useButton.d.ts +3 -1
  15. package/dist/Components/Button/composables/useButton.js +46 -40
  16. package/dist/Components/Calendar/composables/useCalendar.d.ts +1 -1
  17. package/dist/Components/CalendarDate/composables/useCalendarDate.d.ts +1 -1
  18. package/dist/Components/CalendarMonth/composables/useCalendarMonth.d.ts +1 -1
  19. package/dist/Components/CalendarRange/composables/useCalendarRange.d.ts +1 -1
  20. package/dist/Components/CalendarYear/composables/useCalendarYear.d.ts +1 -1
  21. package/dist/Components/ColorField/ColorField.vue.d.ts +1 -1
  22. package/dist/Components/ColorField/ColorField.vue_vue_type_script_setup_true_lang.js +1 -0
  23. package/dist/Components/ColorField/composables/useColorField.d.ts +5 -3
  24. package/dist/Components/ColorPicker/composables/useColorPicker.d.ts +1 -1
  25. package/dist/Components/DataTable/composables/useDataTable.d.ts +1 -1
  26. package/dist/Components/DateField/DateField.vue_vue_type_script_setup_true_lang.js +1 -0
  27. package/dist/Components/DateField/composables/useDateField.d.ts +5 -3
  28. package/dist/Components/DatePicker/composables/useDatePicker.d.ts +1 -1
  29. package/dist/Components/DateRangeField/DateRangeField.vue_vue_type_script_setup_true_lang.js +1 -0
  30. package/dist/Components/DateRangeField/composables/useDateRangeField.d.ts +5 -3
  31. package/dist/Components/DateRangePicker/composables/useDateRangePicker.d.ts +1 -1
  32. package/dist/Components/DateTimeField/DateTimeField.vue_vue_type_script_setup_true_lang.js +1 -0
  33. package/dist/Components/DateTimeField/composables/useDateTimeField.d.ts +5 -3
  34. package/dist/Components/DateTimePicker/composables/useDateTimePicker.d.ts +1 -1
  35. package/dist/Components/DateTimeRangeField/DateTimeRangeField.vue_vue_type_script_setup_true_lang.js +1 -0
  36. package/dist/Components/DateTimeRangeField/composables/useDateTimeRangeField.d.ts +5 -3
  37. package/dist/Components/DateTimeRangePicker/composables/useDateTimeRangePicker.d.ts +1 -1
  38. package/dist/Components/FormControl/composables/useFormControl.d.ts +3 -1
  39. package/dist/Components/FormControl/composables/useFormControl.js +39 -38
  40. package/dist/Components/FormField/FilledFormField.vue_vue_type_script_setup_true_lang.js +3 -3
  41. package/dist/Components/FormField/NotchedFormField.vue_vue_type_script_setup_true_lang.js +31 -31
  42. package/dist/Components/FormField/OutlinedFormField.vue_vue_type_script_setup_true_lang.js +3 -3
  43. package/dist/Components/FormField/StackedFormField.vue_vue_type_script_setup_true_lang.js +34 -34
  44. package/dist/Components/FormField/UnderlinedFormField.vue_vue_type_script_setup_true_lang.js +3 -3
  45. package/dist/Components/FormField/composables/useFormField.d.ts +7 -3
  46. package/dist/Components/FormField/composables/useFormField.js +148 -144
  47. package/dist/Components/FormField/formField.types.d.ts +14 -4
  48. package/dist/Components/Listbox/Listbox.vue.d.ts +1 -1
  49. package/dist/Components/NumberField/NumberField.vue_vue_type_script_setup_true_lang.js +1 -0
  50. package/dist/Components/NumberField/composables/useNumberField.d.ts +4 -2
  51. package/dist/Components/OtpField/OtpField.vue.d.ts +1 -8
  52. package/dist/Components/OtpField/OtpField.vue_vue_type_script_setup_true_lang.js +7 -6
  53. package/dist/Components/OtpField/composables/useOtpField.d.ts +3 -1
  54. package/dist/Components/PasswordField/PasswordField.vue_vue_type_script_setup_true_lang.js +1 -0
  55. package/dist/Components/PasswordField/composables/usePasswordField.d.ts +4 -2
  56. package/dist/Components/Select/Select.vue_vue_type_script_setup_true_lang.js +1 -0
  57. package/dist/Components/Select/composables/useSelect.d.ts +4 -2
  58. package/dist/Components/Sidebar/composables/useSidebarList.js +1 -1
  59. package/dist/Components/Sidebar/composables/useSidebarShell.js +1 -1
  60. package/dist/Components/Slider/Slider.vue_vue_type_script_setup_true_lang.js +1 -0
  61. package/dist/Components/Slider/composables/useSlider.d.ts +4 -2
  62. package/dist/Components/TextField/TextField.vue_vue_type_script_setup_true_lang.js +1 -0
  63. package/dist/Components/TextField/composables/useTextField.d.ts +4 -2
  64. package/dist/Components/Textarea/Textarea.vue_vue_type_script_setup_true_lang.js +1 -0
  65. package/dist/Components/Textarea/composables/useTextarea.d.ts +4 -2
  66. package/dist/Components/TimeField/TimeField.vue_vue_type_script_setup_true_lang.js +1 -0
  67. package/dist/Components/TimeField/composables/useTimeField.d.ts +5 -3
  68. package/dist/Components/TimePanel/composables/useTimePanel.d.ts +1 -1
  69. package/dist/Components/TimePicker/composables/useTimePicker.d.ts +1 -1
  70. package/dist/Components/TimeRangeField/TimeRangeField.vue_vue_type_script_setup_true_lang.js +1 -0
  71. package/dist/Components/TimeRangeField/composables/useTimeRangeField.d.ts +5 -3
  72. package/dist/Components/TimeRangePicker/composables/useTimeRangePicker.d.ts +1 -1
  73. package/dist/Components/Tooltip/composables/useTooltip.d.ts +1 -1
  74. package/dist/Utils/index.d.ts +11 -2
  75. package/dist/Utils/index.js +31 -27
  76. package/dist/augments.d.ts +8 -8
  77. package/docs/components/Alert.md +4 -2
  78. package/docs/components/BaseField.md +19 -18
  79. package/docs/components/BridgeUIProvider.md +14 -7
  80. package/docs/components/FormControl.md +1 -1
  81. package/docs/components/FormField.md +28 -27
  82. package/package.json +2 -2
@@ -81,7 +81,7 @@ app.use(
81
81
 
82
82
  Set `global.formDefaults` to apply shared `size` / `rounded` to form controls (TextField, Select, Checkbox, Slider, OtpField, …). Does not affect Button, Progress, Modal, etc.
83
83
 
84
- Merge order: instance props → `components.{Name}.defaultProps` → `formDefaults` → library defaults.
84
+ Merge order: instance props → `components.{Name}.defaultProps` → chrome (`FormField` / `FormControl` / `BaseField` / `TimePanel`) → `formDefaults` → library defaults.
85
85
 
86
86
  Radio and Switch receive `size` only — their `rounded` stays shape-driven (`full`) unless overridden per component.
87
87
 
@@ -97,19 +97,26 @@ app.use(
97
97
  );
98
98
  ```
99
99
 
100
- ### Nested chrome tokens
100
+ ### Shared chrome
101
101
 
102
- Building blocks (`FormField`, `FormControl`, `BaseField`) are not registry keys. Theme chrome under the public parent. Dropdown tokens live on `components.Listbox`:
102
+ `FormField`, `FormControl`, `BaseField`, and `TimePanel` are registry keys. Set them once to theme a family; a public entry still overrides `defaultProps`. Chrome tokens live on the shared key (`components.FormField.tokens`, `components.BaseField.tokens`). Dropdown tokens live on `components.Listbox`.
103
103
 
104
104
  ```ts
105
105
  app.use(
106
106
  createBridgeUI({
107
107
  components: {
108
- Slider: {
108
+ FormField: {
109
+ defaultProps: {
110
+ variant: "filled",
111
+ color: "secondary",
112
+ },
113
+ },
114
+ TextField: {
115
+ defaultProps: { variant: "outline" },
116
+ },
117
+ BaseField: {
109
118
  tokens: {
110
- baseField: {
111
- size: { md: { text: "text-base", group: "gap-3" } },
112
- },
119
+ size: { md: { text: "text-base", group: "gap-3" } },
113
120
  },
114
121
  },
115
122
  Checkbox: {
@@ -1,6 +1,6 @@
1
1
  # FormControl
2
2
 
3
- > Building block for toggle-row chrome. Prefer `Checkbox`, `Radio`, and `Switch` in apps; FormControl remains exported for advanced composition. Not a registry key — theme chrome via `tokens.formControl` on the public parent (e.g. `components.Checkbox.tokens.formControl`).
3
+ > Building block for toggle-row chrome. Prefer `Checkbox`, `Radio`, and `Switch` in apps; FormControl remains exported for advanced composition. Theme shared chrome via `components.FormControl`; override per public control (`components.Checkbox`, …).
4
4
 
5
5
  Low-level form control chrome (labels, description, error) for Checkbox, Radio, and Switch.
6
6
 
@@ -1,6 +1,6 @@
1
1
  # FormField
2
2
 
3
- > Building block for field chrome. Prefer public fields (`TextField`, `Select`, …) in apps; FormField remains exported for advanced composition. Not a `BridgeUIComponentsConfig` key theme via the public parent (`components.TextField`, `components.Select`, …).
3
+ > Building block for field chrome. Prefer public fields (`TextField`, `Select`, …) in apps; FormField remains exported for advanced composition. Theme all fields via `components.FormField`; override per public field (`components.TextField`, …).
4
4
 
5
5
  Form field chrome (label, adornments, error) used by TextField, Select, and other inputs.
6
6
 
@@ -39,32 +39,33 @@ import { FormField } from "@bridge-ui/vue";
39
39
 
40
40
  ## Props
41
41
 
42
- | Prop | Type | Default | Description |
43
- | ------------------ | ---------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
44
- | `classes` | `FormFieldClasses` | — | Classes for the field chrome and the control (includes label, container, adornments). |
45
- | `color` | `FormFieldColor` | "primary" | The color to apply to the field control. |
46
- | `controlId` | `string` | — | Associates labels and helper text with a form control. When omitted, an id is generated automatically. |
47
- | `corner` | `string` | — | Secondary label text at the inline end of the header row. |
48
- | `customProps` | `FormFieldCustomProps` | — | Extra props for internal parts (`header`, `label`, `input`, `container`, …). |
49
- | `description` | `string` | — | Helper text below the control (hidden when the field is invalid). |
50
- | `disabled` | `boolean` | `false` | Whether the control is disabled. |
51
- | `end` | `string` | — | Inline-end text inside the field (suffix), e.g. `@mail.com`. |
52
- | `endIcon` | `LucideIcon` | — | Icon at the **inline end** (physical right in `ltr`, physical left in `rtl`). |
53
- | `error` | `boolean` | `false` | When `true`, applies invalid styling on the label and hides description. |
54
- | `errorIcon` | `LucideIcon` | CircleAlert | Icon used when `showErrorIcon` is enabled and the field is invalid. |
55
- | `errorMessage` | `string` | — | Error message below the control. Shown only when set (or via `#errorMessage` slot). |
56
- | `field` | `UseFormFieldReturn` | — | Pre-composed field API from a parent composable (e.g. `useTextField`). Used by `<FormField :field="…" />`; not set on field wrappers such as TextField. |
57
- | `hideErrorMessage` | `boolean` | `false` | When `true`, does not reserve space below the control for error messages. |
58
- | `label` | `string` | — | The primary label text above the control. |
59
- | `readonly` | `boolean` | `false` | Whether the control is read-only. |
60
- | `required` | `boolean` | `false` | Shows a red asterisk on the label. |
61
- | `rounded` | `FormFieldRounded` | "md" | The roundedness of the field control. |
62
- | `showErrorIcon` | `boolean` | `true` | When `true` and the field is invalid, shows an error icon at the inline end when no `endIcon` or `end` slot is present. |
63
- | `size` | `FormFieldSize` | "md" | Typography scale for label, corner, description, and error message, and control sizing (input, container, icons). |
64
- | `slots` | `FormFieldSlots` | | Chrome slots (`label`, `description`, `errorMessage`, …) via `#slot` or prop; inline adornments use `#start` / `#end`. |
65
- | `start` | `string` | — | Inline-start text inside the field (prefix), e.g. `https://`. |
66
- | `startIcon` | `LucideIcon` | — | Icon at the **inline start** (physical left in `ltr`, physical right in `rtl`). |
67
- | `variant` | `FormFieldVariant` | "outline" | The visual variant of the field shell and control. |
42
+ | Prop | Type | Default | Description |
43
+ | ------------------------ | ---------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
44
+ | `classes` | `FormFieldClasses` | — | Classes for the field chrome and the control (includes label, container, adornments). |
45
+ | `color` | `FormFieldColor` | "primary" | The color to apply to the field control. |
46
+ | `controlId` | `string` | — | Associates labels and helper text with a form control. When omitted, an id is generated automatically. |
47
+ | `corner` | `string` | — | Secondary label text at the inline end of the header row. |
48
+ | `customProps` | `FormFieldCustomProps` | — | Extra props for internal parts (`header`, `label`, `input`, `container`, …). |
49
+ | `description` | `string` | — | Helper text below the control. Hidden when `error` and an error message are set, unless `showDescriptionOnError`. |
50
+ | `disabled` | `boolean` | `false` | Whether the control is disabled. |
51
+ | `end` | `string` | — | Inline-end text inside the field (suffix), e.g. `@mail.com`. |
52
+ | `endIcon` | `LucideIcon` | — | Icon at the **inline end** (physical right in `ltr`, physical left in `rtl`). |
53
+ | `error` | `boolean` | `false` | When `true`, applies invalid styling on the label. Hides description when an error message is shown, unless `showDescriptionOnError`. |
54
+ | `errorIcon` | `LucideIcon` | CircleAlert | Icon used when `showErrorIcon` is enabled and the field is invalid. |
55
+ | `errorMessage` | `string` | — | Error message below the control. Shown only when set (or via `#errorMessage` slot). |
56
+ | `field` | `UseFormFieldReturn` | — | Pre-composed field API from a parent composable (e.g. `useTextField`). Used by `<FormField :field="…" />`; not set on field wrappers such as TextField. |
57
+ | `hideErrorMessage` | `boolean` | `false` | When `true`, does not reserve the error row. That row is also omitted while a description is shown. |
58
+ | `label` | `string` | — | The primary label text above the control. |
59
+ | `readonly` | `boolean` | `false` | Whether the control is read-only. |
60
+ | `required` | `boolean` | `false` | Shows a red asterisk on the label. |
61
+ | `rounded` | `FormFieldRounded` | "md" | The roundedness of the field control. |
62
+ | `showDescriptionOnError` | `boolean` | `false` | When `true`, keeps the description visible while the field is invalid. |
63
+ | `showErrorIcon` | `boolean` | `true` | When `true` and the field is invalid, shows an error icon at the inline end when no `endIcon` or `end` slot is present. |
64
+ | `size` | `FormFieldSize` | "md" | Typography scale for label, corner, description, and error message, and control sizing (input, container, icons). |
65
+ | `slots` | `FormFieldSlots` | — | Chrome slots (`label`, `description`, `errorMessage`, ) via `#slot` or prop; inline adornments use `#start` / `#end`. |
66
+ | `start` | `string` | — | Inline-start text inside the field (prefix), e.g. `https://`. |
67
+ | `startIcon` | `LucideIcon` | | Icon at the **inline start** (physical left in `ltr`, physical right in `rtl`). |
68
+ | `variant` | `FormFieldVariant` | "outline" | The visual variant of the field shell and control. |
68
69
 
69
70
  ## Related components
70
71
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "license": "MIT",
4
- "version": "0.7.0",
4
+ "version": "0.8.0",
5
5
  "author": "BridgeUI",
6
6
  "sideEffects": false,
7
7
  "name": "@bridge-ui/vue",
@@ -89,7 +89,7 @@
89
89
  }
90
90
  },
91
91
  "dependencies": {
92
- "@bridge-ui/core": "^0.7.0",
92
+ "@bridge-ui/core": "^0.8.0",
93
93
  "clsx": "^2.1.1",
94
94
  "es-toolkit": "^1.50.0",
95
95
  "tailwind-merge": "^3.6.0"