@bridge-ui/vue 0.7.0 → 0.9.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 (173) hide show
  1. package/ai/skills/bridge-ui-components/SKILL.md +2 -1
  2. package/ai/skills/bridge-ui-forms/SKILL.md +1 -1
  3. package/dist/Components/Accordion/composables/useAccordion.d.ts +1 -1
  4. package/dist/Components/ActionFooter/ActionFooter.js +5 -0
  5. package/dist/Components/ActionFooter/ActionFooter.vue.d.ts +10 -0
  6. package/dist/Components/ActionFooter/ActionFooter.vue_vue_type_script_setup_true_lang.js +35 -0
  7. package/dist/Components/ActionFooter/actionFooter.types.d.ts +107 -0
  8. package/dist/Components/ActionFooter/composables/useActionFooter.d.ts +35 -0
  9. package/dist/Components/ActionFooter/composables/useActionFooter.js +53 -0
  10. package/dist/Components/ActionFooter/index.d.ts +3 -0
  11. package/dist/Components/ActionFooter/index.js +3 -0
  12. package/dist/Components/Alert/Alert.vue_vue_type_script_setup_true_lang.js +13 -13
  13. package/dist/Components/Alert/alert.types.d.ts +7 -4
  14. package/dist/Components/Alert/composables/useAlert.d.ts +2 -1
  15. package/dist/Components/Alert/composables/useAlert.js +60 -57
  16. package/dist/Components/Autocomplete/Autocomplete.vue.d.ts +3 -3
  17. package/dist/Components/Autocomplete/Autocomplete.vue_vue_type_script_setup_true_lang.js +2 -1
  18. package/dist/Components/Autocomplete/autocomplete.types.d.ts +1 -1
  19. package/dist/Components/Autocomplete/composables/useAutocomplete.d.ts +5 -3
  20. package/dist/Components/Autocomplete/composables/useAutocomplete.js +1 -1
  21. package/dist/Components/Badge/composables/useBadge.d.ts +1 -1
  22. package/dist/Components/BaseField/BaseField.vue_vue_type_script_setup_true_lang.js +9 -9
  23. package/dist/Components/BaseField/baseField.types.d.ts +15 -4
  24. package/dist/Components/BaseField/composables/useBaseField.d.ts +6 -2
  25. package/dist/Components/BaseField/composables/useBaseField.js +67 -67
  26. package/dist/Components/BreadcrumbItem/composables/useBreadcrumbItem.d.ts +3 -3
  27. package/dist/Components/Button/Button.vue_vue_type_script_setup_true_lang.js +24 -25
  28. package/dist/Components/Button/composables/useButton.d.ts +4 -2
  29. package/dist/Components/Button/composables/useButton.js +46 -40
  30. package/dist/Components/ButtonGroup/composables/useButtonGroup.d.ts +1 -1
  31. package/dist/Components/Calendar/composables/useCalendar.d.ts +1 -1
  32. package/dist/Components/CalendarDate/composables/useCalendarDate.d.ts +1 -1
  33. package/dist/Components/CalendarMonth/composables/useCalendarMonth.d.ts +1 -1
  34. package/dist/Components/CalendarRange/composables/useCalendarRange.d.ts +1 -1
  35. package/dist/Components/CalendarYear/composables/useCalendarYear.d.ts +1 -1
  36. package/dist/Components/Card/composables/useCard.d.ts +1 -1
  37. package/dist/Components/Chip/Chip.vue.d.ts +1 -1
  38. package/dist/Components/Chip/composables/useChip.d.ts +1 -1
  39. package/dist/Components/ColorField/ColorField.vue.d.ts +1 -1
  40. package/dist/Components/ColorField/ColorField.vue_vue_type_script_setup_true_lang.js +2 -1
  41. package/dist/Components/ColorField/colorField.types.d.ts +1 -1
  42. package/dist/Components/ColorField/composables/useColorField.d.ts +5 -3
  43. package/dist/Components/ColorField/composables/useColorField.js +1 -1
  44. package/dist/Components/ColorPicker/ColorPicker.vue_vue_type_script_setup_true_lang.js +41 -40
  45. package/dist/Components/ColorPicker/composables/useColorPicker.d.ts +1 -3
  46. package/dist/Components/ColorPicker/composables/useColorPicker.js +0 -2
  47. package/dist/Components/DataTable/DataTable.vue_vue_type_script_setup_true_lang.js +8 -0
  48. package/dist/Components/DataTable/DataTableFilterMenu.vue_vue_type_script_setup_true_lang.js +1 -1
  49. package/dist/Components/DataTable/composables/useDataTable.d.ts +1 -1
  50. package/dist/Components/DataTable/composables/useDataTable.js +86 -86
  51. package/dist/Components/DataTable/composables/useDataTablePagination.d.ts +1 -1
  52. package/dist/Components/DataTable/dataTable.types.d.ts +22 -4
  53. package/dist/Components/DateField/DateField.vue_vue_type_script_setup_true_lang.js +2 -1
  54. package/dist/Components/DateField/composables/useDateField.d.ts +5 -3
  55. package/dist/Components/DateField/composables/useDateField.js +1 -1
  56. package/dist/Components/DateField/dateField.types.d.ts +1 -1
  57. package/dist/Components/DatePicker/DatePicker.vue_vue_type_script_setup_true_lang.js +18 -17
  58. package/dist/Components/DatePicker/composables/useDatePicker.d.ts +1 -3
  59. package/dist/Components/DatePicker/composables/useDatePicker.js +45 -48
  60. package/dist/Components/DateRangeField/DateRangeField.vue_vue_type_script_setup_true_lang.js +2 -1
  61. package/dist/Components/DateRangeField/composables/useDateRangeField.d.ts +5 -3
  62. package/dist/Components/DateRangeField/composables/useDateRangeField.js +1 -1
  63. package/dist/Components/DateRangeField/dateRangeField.types.d.ts +1 -1
  64. package/dist/Components/DateRangePicker/DateRangePicker.vue_vue_type_script_setup_true_lang.js +18 -17
  65. package/dist/Components/DateRangePicker/composables/useDateRangePicker.d.ts +1 -3
  66. package/dist/Components/DateRangePicker/composables/useDateRangePicker.js +45 -48
  67. package/dist/Components/DateTimeField/DateTimeField.vue_vue_type_script_setup_true_lang.js +2 -1
  68. package/dist/Components/DateTimeField/composables/useDateTimeField.d.ts +5 -3
  69. package/dist/Components/DateTimeField/composables/useDateTimeField.js +1 -1
  70. package/dist/Components/DateTimeField/dateTimeField.types.d.ts +1 -1
  71. package/dist/Components/DateTimePicker/DateTimePicker.vue_vue_type_script_setup_true_lang.js +25 -24
  72. package/dist/Components/DateTimePicker/composables/useDateTimePicker.d.ts +1 -3
  73. package/dist/Components/DateTimePicker/composables/useDateTimePicker.js +75 -78
  74. package/dist/Components/DateTimeRangeField/DateTimeRangeField.vue_vue_type_script_setup_true_lang.js +2 -1
  75. package/dist/Components/DateTimeRangeField/composables/useDateTimeRangeField.d.ts +5 -3
  76. package/dist/Components/DateTimeRangeField/composables/useDateTimeRangeField.js +1 -1
  77. package/dist/Components/DateTimeRangeField/dateTimeRangeField.types.d.ts +1 -1
  78. package/dist/Components/DateTimeRangePicker/DateTimeRangePicker.vue_vue_type_script_setup_true_lang.js +29 -28
  79. package/dist/Components/DateTimeRangePicker/composables/useDateTimeRangePicker.d.ts +1 -3
  80. package/dist/Components/DateTimeRangePicker/composables/useDateTimeRangePicker.js +84 -87
  81. package/dist/Components/Drawer/composables/useDrawer.js +75 -72
  82. package/dist/Components/FormControl/composables/useFormControl.d.ts +3 -1
  83. package/dist/Components/FormControl/composables/useFormControl.js +39 -38
  84. package/dist/Components/FormField/FilledFormField.vue_vue_type_script_setup_true_lang.js +3 -3
  85. package/dist/Components/FormField/NotchedFormField.vue_vue_type_script_setup_true_lang.js +31 -31
  86. package/dist/Components/FormField/OutlinedFormField.vue_vue_type_script_setup_true_lang.js +3 -3
  87. package/dist/Components/FormField/StackedFormField.vue_vue_type_script_setup_true_lang.js +34 -34
  88. package/dist/Components/FormField/UnderlinedFormField.vue_vue_type_script_setup_true_lang.js +3 -3
  89. package/dist/Components/FormField/composables/useFormField.d.ts +7 -3
  90. package/dist/Components/FormField/composables/useFormField.js +148 -144
  91. package/dist/Components/FormField/formField.types.d.ts +14 -4
  92. package/dist/Components/ListItem/ListItem.vue.d.ts +1 -1
  93. package/dist/Components/ListItem/composables/useListItem.d.ts +1 -1
  94. package/dist/Components/Listbox/Listbox.vue.d.ts +4 -4
  95. package/dist/Components/Listbox/Listbox.vue_vue_type_script_setup_true_lang.js +69 -71
  96. package/dist/Components/Listbox/composables/useListbox.d.ts +0 -2
  97. package/dist/Components/Listbox/composables/useListbox.js +63 -66
  98. package/dist/Components/Menu/composables/useMenu.js +125 -121
  99. package/dist/Components/Modal/composables/useModal.js +117 -114
  100. package/dist/Components/NumberField/NumberField.vue_vue_type_script_setup_true_lang.js +1 -0
  101. package/dist/Components/NumberField/composables/useNumberField.d.ts +4 -2
  102. package/dist/Components/OtpField/OtpField.vue.d.ts +1 -8
  103. package/dist/Components/OtpField/OtpField.vue_vue_type_script_setup_true_lang.js +7 -6
  104. package/dist/Components/OtpField/composables/useOtpField.d.ts +3 -1
  105. package/dist/Components/Pagination/composables/usePagination.d.ts +1 -1
  106. package/dist/Components/PasswordField/PasswordField.vue_vue_type_script_setup_true_lang.js +1 -0
  107. package/dist/Components/PasswordField/composables/usePasswordField.d.ts +4 -2
  108. package/dist/Components/Select/Select.vue.d.ts +2 -2
  109. package/dist/Components/Select/Select.vue_vue_type_script_setup_true_lang.js +2 -1
  110. package/dist/Components/Select/composables/useSelect.d.ts +5 -3
  111. package/dist/Components/Select/composables/useSelect.js +1 -1
  112. package/dist/Components/Select/select.types.d.ts +1 -1
  113. package/dist/Components/Sidebar/composables/useSidebarList.js +1 -1
  114. package/dist/Components/Sidebar/composables/useSidebarShell.js +1 -1
  115. package/dist/Components/Slider/Slider.vue_vue_type_script_setup_true_lang.js +1 -0
  116. package/dist/Components/Slider/composables/useSlider.d.ts +5 -3
  117. package/dist/Components/Snackbar/Snackbar.vue_vue_type_script_setup_true_lang.js +31 -28
  118. package/dist/Components/Snackbar/composables/useSnackbar.d.ts +2 -1
  119. package/dist/Components/Snackbar/composables/useSnackbar.js +135 -128
  120. package/dist/Components/Step/composables/useStep.d.ts +1 -1
  121. package/dist/Components/TextField/TextField.vue_vue_type_script_setup_true_lang.js +1 -0
  122. package/dist/Components/TextField/composables/useTextField.d.ts +4 -2
  123. package/dist/Components/Textarea/Textarea.vue_vue_type_script_setup_true_lang.js +1 -0
  124. package/dist/Components/Textarea/composables/useTextarea.d.ts +4 -2
  125. package/dist/Components/TimeField/TimeField.vue_vue_type_script_setup_true_lang.js +2 -1
  126. package/dist/Components/TimeField/composables/useTimeField.d.ts +5 -3
  127. package/dist/Components/TimeField/composables/useTimeField.js +1 -1
  128. package/dist/Components/TimeField/timeField.types.d.ts +1 -1
  129. package/dist/Components/TimePanel/composables/useTimePanel.d.ts +1 -1
  130. package/dist/Components/TimePicker/TimePicker.vue_vue_type_script_setup_true_lang.js +38 -37
  131. package/dist/Components/TimePicker/composables/useTimePicker.d.ts +1 -3
  132. package/dist/Components/TimePicker/composables/useTimePicker.js +54 -57
  133. package/dist/Components/TimeRangeField/TimeRangeField.vue_vue_type_script_setup_true_lang.js +2 -1
  134. package/dist/Components/TimeRangeField/composables/useTimeRangeField.d.ts +5 -3
  135. package/dist/Components/TimeRangeField/composables/useTimeRangeField.js +1 -1
  136. package/dist/Components/TimeRangeField/timeRangeField.types.d.ts +1 -1
  137. package/dist/Components/TimeRangePicker/TimeRangePicker.vue_vue_type_script_setup_true_lang.js +61 -60
  138. package/dist/Components/TimeRangePicker/composables/useTimeRangePicker.d.ts +1 -3
  139. package/dist/Components/TimeRangePicker/composables/useTimeRangePicker.js +41 -43
  140. package/dist/Components/ToggleGroup/composables/useToggleGroup.d.ts +1 -1
  141. package/dist/Components/Tooltip/Tooltip.vue.d.ts +1 -1
  142. package/dist/Components/Tooltip/composables/useTooltip.d.ts +1 -1
  143. package/dist/Components/Tooltip/composables/useTooltip.js +6 -1
  144. package/dist/Utils/index.d.ts +11 -2
  145. package/dist/Utils/index.js +31 -27
  146. package/dist/augments.d.ts +13 -8
  147. package/dist/index.d.ts +2 -0
  148. package/dist/index.js +162 -160
  149. package/docs/README.md +1 -0
  150. package/docs/components/ActionFooter.md +85 -0
  151. package/docs/components/Alert.md +4 -2
  152. package/docs/components/Autocomplete.md +2 -2
  153. package/docs/components/BaseField.md +19 -18
  154. package/docs/components/BridgeUIProvider.md +30 -7
  155. package/docs/components/ColorField.md +1 -1
  156. package/docs/components/ColorPicker.md +1 -1
  157. package/docs/components/DataTable.md +16 -4
  158. package/docs/components/DateField.md +1 -1
  159. package/docs/components/DatePicker.md +1 -1
  160. package/docs/components/DateRangeField.md +1 -1
  161. package/docs/components/DateRangePicker.md +1 -1
  162. package/docs/components/DateTimeField.md +1 -1
  163. package/docs/components/DateTimePicker.md +1 -1
  164. package/docs/components/DateTimeRangeField.md +1 -1
  165. package/docs/components/DateTimeRangePicker.md +1 -1
  166. package/docs/components/FormControl.md +1 -1
  167. package/docs/components/FormField.md +28 -27
  168. package/docs/components/Select.md +2 -2
  169. package/docs/components/TimeField.md +1 -1
  170. package/docs/components/TimePicker.md +1 -1
  171. package/docs/components/TimeRangeField.md +1 -1
  172. package/docs/components/TimeRangePicker.md +1 -1
  173. package/package.json +2 -2
@@ -1,11 +1,11 @@
1
1
  import { hasNamedSlot as e, hasSlotOrProp as t } from "../../../Utils/slotOrProp.js";
2
- import { mergeNestedComponentProps as n, mergePartBind as r, useBridgeUIComponent as i, useBridgeUIMergedRegistryClasses as a } from "../../../Utils/index.js";
3
- import { computed as o, toValue as s, useId as c, useSlots as l } from "vue";
4
- import { get as u, omit as d } from "es-toolkit/compat";
5
- import { formFieldColorProps as f, formFieldRoundedProps as p, formFieldSizeProps as m, formFieldVariantProps as h } from "@bridge-ui/core/Tokens";
6
- import { cn as g, getColorToken as _, mergeBridgeUILayeredClasses as v, splitComponentProps as y } from "@bridge-ui/core/Utils";
2
+ import { mergeNestedComponentProps as n, mergePartBind as r, useBridgeUIComponent as ee, useBridgeUIMergedRegistryClasses as i } from "../../../Utils/index.js";
3
+ import { computed as a, toValue as o, useId as s, useSlots as c } from "vue";
4
+ import { get as l, omit as u } from "es-toolkit/compat";
5
+ import { formFieldColorProps as d, formFieldRoundedProps as f, formFieldSizeProps as p, formFieldVariantProps as m } from "@bridge-ui/core/Tokens";
6
+ import { cn as h, getColorToken as g, mergeBridgeUILayeredClasses as _, splitComponentProps as v } from "@bridge-ui/core/Utils";
7
7
  //#region src/Components/FormField/composables/useFormField.ts
8
- var b = [
8
+ var y = [
9
9
  "end",
10
10
  "size",
11
11
  "color",
@@ -26,216 +26,220 @@ var b = [
26
26
  "description",
27
27
  "errorMessage",
28
28
  "showErrorIcon",
29
- "hideErrorMessage"
29
+ "hideErrorMessage",
30
+ "showDescriptionOnError"
30
31
  ];
31
- function x(x, ee, S = {}) {
32
- let C = c(), w = l(), T = o(() => y({
33
- props: s(x),
34
- bridgeKeys: b
35
- })), { merged: E, entry: D } = i({
36
- libDefaults: ee,
37
- componentName: S.componentName,
38
- props: () => T.value.componentProps
39
- }), O = o(() => E.value.customProps), k = o(() => S.control?.() ?? "input"), A = a({
32
+ function b(b, x, S = {}) {
33
+ let te = s(), C = c(), w = a(() => v({
34
+ props: o(b),
35
+ bridgeKeys: y
36
+ })), T = S.componentName ?? "FormField", { merged: E, entry: D, chromeEntry: O } = ee({
37
+ libDefaults: x,
38
+ componentName: T,
39
+ props: () => w.value.componentProps
40
+ }), k = a(() => E.value.customProps), A = a(() => S.control?.() ?? "input"), j = i({
40
41
  entry: D,
41
- props: () => T.value.componentProps
42
- }), j = o(() => E.value.error === !0), M = o(() => !!E.value.disabled), N = o(() => !!E.value.readonly), P = o(() => E.value.variant ?? "outline"), F = o(() => E.value.errorIcon ?? "alert"), I = o(() => P.value === "notched"), L = o(() => P.value === "stacked"), R = o(() => P.value === "underlined"), z = o(() => k.value === "textarea"), B = o(() => z.value && !!S.likeInput?.()), V = o(() => !E.value.hideErrorMessage), H = o(() => {
43
- let e = T.value.inheritedAttrs.id;
44
- return E.value.controlId ?? e ?? C;
45
- }), U = o(() => j.value && t(w, "errorMessage", E.value.errorMessage)), W = o(() => (I.value || L.value) && (t(w, "label", E.value.label) || t(w, "corner", E.value.corner))), G = o(() => t(w, "label", E.value.label) ? "justify-between items-end" : "justify-end"), K = o(() => {
42
+ chromeEntry: O,
43
+ props: () => w.value.componentProps
44
+ }), M = a(() => E.value.error === !0), N = a(() => !!E.value.disabled), P = a(() => !!E.value.readonly), F = a(() => E.value.variant ?? "outline"), ne = a(() => E.value.errorIcon ?? "alert"), I = a(() => F.value === "notched"), L = a(() => F.value === "stacked"), R = a(() => F.value === "underlined"), z = a(() => A.value === "textarea"), B = a(() => z.value && !!S.likeInput?.()), V = a(() => !E.value.hideErrorMessage && !t(C, "description", E.value.description)), H = a(() => {
45
+ let e = w.value.inheritedAttrs.id;
46
+ return E.value.controlId ?? e ?? te;
47
+ }), U = a(() => M.value && !E.value.hideErrorMessage && t(C, "errorMessage", E.value.errorMessage)), W = a(() => t(C, "description", E.value.description) ? !U.value || E.value.showDescriptionOnError === !0 : !1), G = a(() => U.value || V.value), K = a(() => (I.value || L.value) && (t(C, "label", E.value.label) || t(C, "corner", E.value.corner))), q = a(() => t(C, "label", E.value.label) ? "justify-between items-end" : "justify-end"), J = a(() => {
46
48
  let e = [];
47
- return !j.value && t(w, "description", E.value.description) && e.push(`${H.value}-description`), j.value && !E.value.hideErrorMessage && t(w, "errorMessage", E.value.errorMessage) && e.push(`${H.value}-error`), e.length > 0 ? e.join(" ") : void 0;
48
- }), q = o(() => {
49
- let e = v(m, D.value?.tokens?.size);
50
- return u(e, [E.value.size, P.value]);
51
- }), J = o(() => {
52
- let e = v(f, D.value?.tokens?.color);
53
- return _({
49
+ return W.value && e.push(`${H.value}-description`), U.value && e.push(`${H.value}-error`), e.length > 0 ? e.join(" ") : void 0;
50
+ }), Y = a(() => {
51
+ let e = _(p, l(O.value ?? D.value, ["tokens", "size"]));
52
+ return l(e, [E.value.size, F.value]);
53
+ }), X = a(() => {
54
+ let e = _(d, l(O.value ?? D.value, ["tokens", "color"]));
55
+ return g({
54
56
  tokens: e,
55
57
  color: E.value.color,
56
- invalid: j.value
58
+ invalid: M.value
57
59
  });
58
- }), Y = o(() => {
59
- let e = v(p, D.value?.tokens?.rounded);
60
- return u(e, E.value.rounded);
61
- }), X = o(() => {
62
- let e = v(h, D.value?.tokens?.variant);
63
- return u(e, P.value);
64
- }), Z = o(() => R.value ? J.value?.underlined : J.value?.input), Q = o(() => {
65
- if (L.value) return g({
66
- [q.value?.insetTop ?? ""]: !0,
67
- [q.value?.insetStart ?? ""]: !0,
68
- [q.value?.insetEnd ?? ""]: !0
60
+ }), Z = a(() => {
61
+ let e = _(f, l(O.value ?? D.value, ["tokens", "rounded"]));
62
+ return l(e, E.value.rounded);
63
+ }), Q = a(() => {
64
+ let e = _(m, l(O.value ?? D.value, ["tokens", "variant"]));
65
+ return l(e, F.value);
66
+ }), re = a(() => R.value ? X.value?.underlined : X.value?.input), ie = a(() => {
67
+ if (L.value) return h({
68
+ [Y.value?.insetTop ?? ""]: !0,
69
+ [Y.value?.insetStart ?? ""]: !0,
70
+ [Y.value?.insetEnd ?? ""]: !0
69
71
  });
70
- }), te = o(() => {
71
- let t = S.reservedSlots?.() ?? [], n = e(w, "end") || t.includes("end"), r = e(w, "start") || t.includes("start");
72
- if (!L.value) return !r && !n ? q.value?.padding : g({
73
- [q.value?.insetStart ?? ""]: !r,
74
- [q.value?.insetEnd ?? ""]: !n
72
+ }), ae = a(() => {
73
+ let t = S.reservedSlots?.() ?? [], n = e(C, "end") || t.includes("end"), r = e(C, "start") || t.includes("start");
74
+ if (!L.value) return !r && !n ? Y.value?.padding : h({
75
+ [Y.value?.insetStart ?? ""]: !r,
76
+ [Y.value?.insetEnd ?? ""]: !n
75
77
  });
76
- }), ne = o(() => r(O.value?.end, {}, g({
78
+ }), oe = a(() => r(k.value?.end, {}, h({
77
79
  "shrink-0 self-center flex items-center whitespace-nowrap select-none pointer-events-none": !0,
78
80
  "text-dark-500": !0,
79
- [J.value?.end ?? ""]: !0,
80
- [A.value.end ?? ""]: !0
81
- }))), re = o(() => {
82
- let e = T.value.inheritedAttrs;
83
- return r(O.value?.root, {
84
- class: g(e.class),
85
- ...d(e, ["class"])
86
- }, g({
81
+ [X.value?.end ?? ""]: !0,
82
+ [j.value.end ?? ""]: !0
83
+ }))), se = a(() => {
84
+ let e = w.value.inheritedAttrs;
85
+ return r(k.value?.root, {
86
+ class: h(e.class),
87
+ ...u(e, ["class"])
88
+ }, h({
87
89
  "group w-full relative": !0,
88
90
  "aria-disabled:pointer-events-none aria-disabled:select-none aria-disabled:opacity-60": !0,
89
91
  "aria-readonly:pointer-events-none aria-readonly:select-none": !0,
90
- [A.value.root ?? ""]: !0
92
+ [j.value.root ?? ""]: !0
91
93
  }));
92
- }), ie = o(() => r(O.value?.errorMessage, {}, g({
94
+ }), ce = a(() => r(k.value?.errorMessage, {}, h({
93
95
  "mt-1": !0,
94
96
  "min-h-[1lh]": V.value,
95
97
  "text-error-600 dark:text-error-400": !0,
96
- [q.value?.text ?? ""]: !0,
97
- [q.value?.insetStart ?? ""]: !0,
98
- [q.value?.insetEnd ?? ""]: !0,
99
- [A.value.errorMessage ?? ""]: !0
100
- }))), ae = o(() => r({
101
- ...O.value?.input,
98
+ [Y.value?.text ?? ""]: !0,
99
+ [Y.value?.insetStart ?? ""]: !0,
100
+ [Y.value?.insetEnd ?? ""]: !0,
101
+ [j.value.errorMessage ?? ""]: !0
102
+ }))), le = a(() => r({
103
+ ...k.value?.input,
102
104
  id: H.value,
103
- disabled: M.value,
104
- readonly: N.value,
105
- "aria-describedby": K.value,
106
- "aria-invalid": j.value || void 0
107
- }, d(T.value.inheritedAttrs, [
105
+ disabled: N.value,
106
+ readonly: P.value,
107
+ "aria-describedby": J.value,
108
+ "aria-invalid": M.value || void 0
109
+ }, u(w.value.inheritedAttrs, [
108
110
  "class",
109
111
  "modelValue",
110
112
  "onUpdate:modelValue"
111
- ]), g({
113
+ ]), h({
112
114
  "flex-1 min-w-0 min-h-0 bg-transparent border-0 shadow-none": !0,
113
115
  "h-full": !z.value && !L.value,
114
116
  "max-h-none": z.value,
115
117
  "text-dark-900 dark:text-dark-100 placeholder:text-dark-400": !0,
116
118
  "outline-none ring-0 focus:outline-none focus:ring-0": !0,
117
119
  "disabled:cursor-not-allowed": !0,
118
- [q.value?.input ?? ""]: !z.value,
119
- [q.value?.textarea ?? ""]: z.value,
120
- [q.value?.textareaLikeInput ?? ""]: B.value,
121
- [A.value.input ?? ""]: !0
122
- }))), oe = o(() => n(O.value?.label, {
120
+ [Y.value?.input ?? ""]: !z.value,
121
+ [Y.value?.textarea ?? ""]: z.value,
122
+ [Y.value?.textareaLikeInput ?? ""]: B.value,
123
+ [j.value.input ?? ""]: !0
124
+ }))), ue = a(() => n(k.value?.label, {
123
125
  for: H.value,
124
126
  size: E.value.size,
125
- error: j.value,
127
+ error: M.value,
126
128
  required: E.value.required,
127
129
  classes: {
128
- required: A.value.required,
129
- root: g({
130
- [X.value?.label ?? ""]: I.value,
131
- [A.value.label ?? ""]: !0
130
+ required: j.value.required,
131
+ root: h({
132
+ [Q.value?.label ?? ""]: I.value,
133
+ [j.value.label ?? ""]: !0
132
134
  })
133
135
  }
134
- })), $ = o(() => r(O.value?.start, {}, g({
136
+ })), de = a(() => r(k.value?.start, {}, h({
135
137
  "shrink-0 self-center flex items-center whitespace-nowrap select-none pointer-events-none": !0,
136
138
  "text-dark-400": !0,
137
- [J.value?.start ?? ""]: !0,
138
- [A.value.start ?? ""]: !0
139
- }))), se = o(() => n(O.value?.corner, {
139
+ [X.value?.start ?? ""]: !0,
140
+ [j.value.start ?? ""]: !0
141
+ }))), fe = a(() => n(k.value?.corner, {
140
142
  for: H.value,
141
143
  size: E.value.size,
142
- classes: { root: g({
143
- [X.value?.corner ?? ""]: I.value,
144
- [A.value.corner ?? ""]: !0
144
+ classes: { root: h({
145
+ [Q.value?.corner ?? ""]: I.value,
146
+ [j.value.corner ?? ""]: !0
145
147
  }) }
146
- })), ce = o(() => {
147
- let e = t(w, "label", E.value.label);
148
- return r(O.value?.header, {}, g({
148
+ })), pe = a(() => {
149
+ let e = t(C, "label", E.value.label);
150
+ return r(k.value?.header, {}, h({
149
151
  flex: !0,
150
152
  "w-full shrink-0": !0,
151
153
  "justify-between": e,
152
154
  "justify-end": !e,
153
155
  "items-center": I.value,
154
156
  "items-end": L.value,
155
- [X.value?.labelRow ?? ""]: W.value,
156
- [A.value.header ?? ""]: !0
157
+ [Q.value?.labelRow ?? ""]: K.value,
158
+ [j.value.header ?? ""]: !0
157
159
  }));
158
- }), le = o(() => r(O.value?.header, {}, g({
160
+ }), $ = a(() => r(k.value?.header, {}, h({
159
161
  flex: !0,
160
162
  "mb-1": !0,
161
- [G.value]: !0,
162
- [A.value.header ?? ""]: !0
163
- }))), ue = o(() => r(O.value?.endIcon, {}, g({ "inline-flex shrink-0 items-center justify-center self-center": L.value }))), de = o(() => r(O.value?.end, {}, g({
163
+ [q.value]: !0,
164
+ [j.value.header ?? ""]: !0
165
+ }))), me = a(() => r(k.value?.endIcon, {}, h({ "inline-flex shrink-0 items-center justify-center self-center": L.value }))), he = a(() => r(k.value?.end, {}, h({
164
166
  "group/end wrapper-end-slot shrink-0 flex w-auto items-stretch self-stretch [&>*]:min-h-0": !0,
165
167
  "self-stretch min-h-0 overflow-hidden py-0.5 pe-0.5": L.value,
166
168
  "h-full min-h-0 overflow-hidden py-0.5 pe-0.5": !L.value,
167
- [A.value.end ?? ""]: !0
168
- }))), fe = o(() => r({}, {}, g({
169
+ [j.value.end ?? ""]: !0
170
+ }))), ge = a(() => r({}, {}, h({
169
171
  "flex min-h-0 min-w-0 flex-1 flex-col": !0,
170
- [Q.value ?? ""]: !0
171
- }))), pe = o(() => r({}, {}, g({
172
+ [ie.value ?? ""]: !0
173
+ }))), _e = a(() => r({}, {}, h({
172
174
  "flex w-full min-w-0 flex-1 items-stretch gap-x-2": !0,
173
- [q.value?.controlRow ?? ""]: !0
175
+ [Y.value?.controlRow ?? ""]: !0
174
176
  })));
175
177
  return {
176
- slots: w,
178
+ slots: C,
177
179
  merged: E,
178
- control: k,
179
- endBind: ne,
180
- rootBind: re,
180
+ control: A,
181
+ endBind: oe,
182
+ rootBind: se,
181
183
  controlId: H,
182
- errorBind: ie,
183
- errorIcon: F,
184
- inputBind: ae,
184
+ errorBind: ce,
185
+ errorIcon: ne,
186
+ inputBind: le,
185
187
  isNotched: I,
186
188
  isStacked: L,
187
- startBind: $,
188
- headerBind: le,
189
- isDisabled: M,
190
- isReadonly: N,
191
- variantKey: P,
192
- endIconBind: ue,
193
- endSlotBind: de,
194
- invalidated: j,
195
- containerBind: o(() => r(O.value?.container, {
196
- "data-bridge-variant": P.value,
189
+ startBind: de,
190
+ headerBind: $,
191
+ isDisabled: N,
192
+ isReadonly: P,
193
+ variantKey: F,
194
+ endIconBind: me,
195
+ endSlotBind: he,
196
+ invalidated: M,
197
+ containerBind: a(() => r(k.value?.container, {
198
+ "data-bridge-variant": F.value,
197
199
  "data-bridge-rounded": E.value.rounded ?? "md"
198
- }, g({
200
+ }, h({
199
201
  "group/field relative flex flex-row items-stretch overflow-hidden": L.value,
200
202
  "group/field relative flex justify-start gap-x-2 items-stretch": !L.value,
201
203
  "transition-all ease-in-out duration-150 outline-none": !0,
202
- "bg-dark-100 dark:bg-dark-800": M.value && !j.value,
203
- [q.value?.container ?? ""]: !z.value,
204
- [q.value?.containerTextareaLikeInput ?? ""]: B.value,
205
- [q.value?.containerTextarea ?? ""]: z.value && !B.value,
206
- [X.value?.container ?? ""]: !0,
207
- [Y.value ?? ""]: !R.value,
208
- [te.value ?? ""]: !0,
209
- [Z.value ?? ""]: !0,
204
+ "bg-dark-100 dark:bg-dark-800": N.value && !M.value,
205
+ [Y.value?.container ?? ""]: !z.value,
206
+ [Y.value?.containerTextareaLikeInput ?? ""]: B.value,
207
+ [Y.value?.containerTextarea ?? ""]: z.value && !B.value,
208
+ [Q.value?.container ?? ""]: !0,
209
+ [Z.value ?? ""]: !R.value,
210
+ [ae.value ?? ""]: !0,
211
+ [re.value ?? ""]: !0,
210
212
  "rounded-none": R.value,
211
- "bg-error-50 ring-error-500 dark:bg-error-700/10 dark:ring-error-600": j.value && !R.value,
212
- "border-error-500 dark:border-error-600": j.value && R.value,
213
- [A.value.container ?? ""]: !0
213
+ "bg-error-50 ring-error-500 dark:bg-error-700/10 dark:ring-error-600": M.value && !R.value,
214
+ "border-error-500 dark:border-error-600": M.value && R.value,
215
+ [j.value.container ?? ""]: !0
214
216
  }))),
215
- startIconBind: o(() => r(O.value?.startIcon, {}, g({ "inline-flex shrink-0 items-center justify-center self-center": L.value }))),
216
- startSlotBind: o(() => r(O.value?.start, {}, g({
217
+ startIconBind: a(() => r(k.value?.startIcon, {}, h({ "inline-flex shrink-0 items-center justify-center self-center": L.value }))),
218
+ startSlotBind: a(() => r(k.value?.start, {}, h({
217
219
  "group/start wrapper-start-slot shrink-0 flex w-auto items-stretch self-stretch [&>*]:min-h-0": !0,
218
220
  "self-stretch min-h-0 overflow-hidden py-0.5 ps-0.5": L.value,
219
221
  "h-full min-h-0 overflow-hidden py-0.5 ps-0.5": !L.value,
220
- [A.value.start ?? ""]: !0
222
+ [j.value.start ?? ""]: !0
221
223
  }))),
222
- fieldLabelProps: oe,
223
- ariaDescribedBy: K,
224
- descriptionBind: o(() => r(O.value?.description, {}, g({
224
+ fieldLabelProps: ue,
225
+ ariaDescribedBy: J,
226
+ descriptionBind: a(() => r(k.value?.description, {}, h({
225
227
  "mt-1 text-dark-500 dark:text-dark-400": !0,
226
- [q.value?.text ?? ""]: !0,
227
- [q.value?.insetStart ?? ""]: !0,
228
- [q.value?.insetEnd ?? ""]: !0,
229
- [A.value.description ?? ""]: !0
228
+ [Y.value?.text ?? ""]: !0,
229
+ [Y.value?.insetStart ?? ""]: !0,
230
+ [Y.value?.insetEnd ?? ""]: !0,
231
+ [j.value.description ?? ""]: !0
230
232
  }))),
231
- stackedBodyBind: fe,
232
- fieldCornerProps: se,
233
- hasInsetLabelRow: W,
234
- insetLabelRowBind: ce,
235
- stackedInputRowBind: pe,
233
+ stackedBodyBind: ge,
234
+ fieldCornerProps: fe,
235
+ hasInsetLabelRow: K,
236
+ insetLabelRowBind: pe,
237
+ stackedInputRowBind: _e,
238
+ showErrorMessageRow: G,
239
+ showDescriptionContent: W,
236
240
  showErrorMessageContent: U,
237
241
  reservesErrorMessageSpace: V
238
242
  };
239
243
  }
240
244
  //#endregion
241
- export { b as formFieldBridgeKeys, x as useFormField };
245
+ export { y as formFieldBridgeKeys, b as useFormField };
@@ -142,7 +142,8 @@ export interface FormFieldOwnProps {
142
142
  */
143
143
  customProps?: FormFieldCustomProps;
144
144
  /**
145
- * Helper text below the control (hidden when the field is invalid).
145
+ * Helper text below the control. Hidden when `error` is true and an error
146
+ * message is shown, unless `showDescriptionOnError` is true.
146
147
  *
147
148
  * @default undefined
148
149
  */
@@ -166,7 +167,8 @@ export interface FormFieldOwnProps {
166
167
  */
167
168
  endIcon?: IconSource;
168
169
  /**
169
- * When `true`, applies invalid styling on the label and hides description.
170
+ * When `true`, applies invalid styling on the label. Hides description when
171
+ * an error message is shown, unless `showDescriptionOnError` is true.
170
172
  *
171
173
  * @default false
172
174
  */
@@ -192,7 +194,8 @@ export interface FormFieldOwnProps {
192
194
  */
193
195
  field?: UseFormFieldReturn;
194
196
  /**
195
- * When `true`, does not reserve space below the control for error messages.
197
+ * When `true`, does not reserve the error row. That row is also omitted
198
+ * while a description is shown.
196
199
  *
197
200
  * @default false
198
201
  */
@@ -221,6 +224,12 @@ export interface FormFieldOwnProps {
221
224
  * @default "md"
222
225
  */
223
226
  rounded?: MergeProps<FormFieldRounded, FormFieldRoundedOverrides>;
227
+ /**
228
+ * When `true`, keeps the description visible while the field is invalid.
229
+ *
230
+ * @default false
231
+ */
232
+ showDescriptionOnError?: boolean;
224
233
  /**
225
234
  * When `true` and the field is invalid, shows an error icon at the inline end
226
235
  * when no `endIcon` or `end` slot is present.
@@ -269,7 +278,8 @@ export interface FormFieldSlots {
269
278
  */
270
279
  default?: Slot<undefined>;
271
280
  /**
272
- * Helper text below the control (hidden when the field is invalid).
281
+ * Helper text below the control. Hidden when the field is invalid and an
282
+ * error message is shown, unless `showDescriptionOnError` is true.
273
283
  */
274
284
  description?: Slot<undefined>;
275
285
  /**
@@ -2,8 +2,8 @@ import { ListItemOwnProps, ListItemSlots } from './listItem.types';
2
2
  type __VLS_Slots = ListItemSlots;
3
3
  declare const __VLS_base: import('vue').DefineComponent<ListItemOwnProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<ListItemOwnProps> & Readonly<{}>, {
4
4
  role: "button" | "option" | "menuitem";
5
- disabled: boolean;
6
5
  as: "li" | "div";
6
+ disabled: boolean;
7
7
  selected: boolean;
8
8
  divider: boolean;
9
9
  interactive: boolean;
@@ -11,7 +11,7 @@ export declare function useListItem(props: ListItemOwnProps, libDefaults: ListIt
11
11
  rootBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<{
12
12
  class: string;
13
13
  id: string | undefined;
14
- }, "class", import('vue').HTMLAttributes | undefined, Omit<Omit<ListItemProps, "role" | "value" | "classes" | "customProps" | "primary" | "secondary" | "disabled" | "as" | "selected" | "dense" | "divider" | "interactive" | "selectedIcon">, never>>>;
14
+ }, "class", import('vue').HTMLAttributes | undefined, Omit<Omit<ListItemProps, "role" | "value" | "classes" | "customProps" | "primary" | "secondary" | "as" | "disabled" | "selected" | "dense" | "divider" | "interactive" | "selectedIcon">, never>>>;
15
15
  rowClass: import('vue').ComputedRef<string>;
16
16
  startBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
17
17
  hasPrimary: import('vue').ComputedRef<boolean>;
@@ -7,16 +7,16 @@ type __VLS_ModelProps = {
7
7
  };
8
8
  type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
9
9
  declare const __VLS_base: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
10
- select: (option: ListboxOption) => any;
11
10
  apply: () => any;
12
11
  cancel: () => any;
12
+ select: (option: ListboxOption) => any;
13
13
  "update:modelValue": (value: boolean) => any;
14
14
  "show-change": (show: boolean) => any;
15
15
  "registered-options-change": (options: ListboxOption[]) => any;
16
16
  }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
17
- onSelect?: ((option: ListboxOption) => any) | undefined;
18
17
  onApply?: (() => any) | undefined;
19
18
  onCancel?: (() => any) | undefined;
19
+ onSelect?: ((option: ListboxOption) => any) | undefined;
20
20
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
21
21
  "onShow-change"?: ((show: boolean) => any) | undefined;
22
22
  "onRegistered-options-change"?: ((options: ListboxOption[]) => any) | undefined;
@@ -25,11 +25,11 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_PublicProps, {}, {
25
25
  size: import('@bridge-ui/core/Utils').MergeProps<import('@bridge-ui/core/Tokens').ListboxSize, import('./listbox.types').ListboxSizeOverrides>;
26
26
  overlay: import('@bridge-ui/core/Domain').FieldOverlayMode;
27
27
  showFooter: boolean;
28
- multiple: boolean;
29
28
  loading: boolean;
29
+ multiple: boolean;
30
+ hideEmptyMessage: boolean;
30
31
  placement: import('@floating-ui/utils').Placement;
31
32
  disableAutoFocus: boolean;
32
- hideEmptyMessage: boolean;
33
33
  highlightedIndex: number;
34
34
  showCheckmark: boolean;
35
35
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;