@bridge-ui/vue 0.0.11 → 0.1.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 (131) hide show
  1. package/dist/Components/Autocomplete/composables/useAutocomplete.d.ts +1 -1
  2. package/dist/Components/Autocomplete/composables/useAutocomplete.js +112 -113
  3. package/dist/Components/BaseField/baseField.types.d.ts +1 -8
  4. package/dist/Components/BaseField/composables/useBaseField.js +79 -83
  5. package/dist/Components/Calendar/Calendar.vue_vue_type_script_setup_true_lang.js +2 -0
  6. package/dist/Components/Calendar/calendar.types.d.ts +13 -0
  7. package/dist/Components/Calendar/composables/useCalendar.d.ts +2 -1
  8. package/dist/Components/Calendar/composables/useCalendar.js +5 -2
  9. package/dist/Components/CalendarDate/CalendarDate.vue_vue_type_script_setup_true_lang.js +1 -0
  10. package/dist/Components/CalendarDate/calendarDate.types.d.ts +6 -0
  11. package/dist/Components/CalendarDate/composables/useCalendarDate.d.ts +1 -1
  12. package/dist/Components/CalendarDate/composables/useCalendarDate.js +95 -87
  13. package/dist/Components/CalendarMonth/CalendarMonth.vue_vue_type_script_setup_true_lang.js +1 -0
  14. package/dist/Components/CalendarMonth/calendarMonth.types.d.ts +6 -0
  15. package/dist/Components/CalendarMonth/composables/useCalendarMonth.d.ts +1 -1
  16. package/dist/Components/CalendarMonth/composables/useCalendarMonth.js +51 -43
  17. package/dist/Components/CalendarRange/CalendarRange.vue_vue_type_script_setup_true_lang.js +4 -2
  18. package/dist/Components/CalendarRange/calendarRange.types.d.ts +13 -0
  19. package/dist/Components/CalendarRange/composables/useCalendarRange.d.ts +3 -2
  20. package/dist/Components/CalendarRange/composables/useCalendarRange.js +14 -12
  21. package/dist/Components/CalendarYear/CalendarYear.vue_vue_type_script_setup_true_lang.js +1 -0
  22. package/dist/Components/CalendarYear/calendarYear.types.d.ts +6 -0
  23. package/dist/Components/CalendarYear/composables/useCalendarYear.d.ts +1 -1
  24. package/dist/Components/CalendarYear/composables/useCalendarYear.js +53 -45
  25. package/dist/Components/Checkbox/composables/useCheckbox.js +23 -19
  26. package/dist/Components/DateField/DateField.vue.d.ts +1 -0
  27. package/dist/Components/DateField/DateField.vue_vue_type_script_setup_true_lang.js +13 -31
  28. package/dist/Components/DateField/composables/useDateField.d.ts +3 -4
  29. package/dist/Components/DateField/composables/useDateField.js +95 -107
  30. package/dist/Components/DateField/dateField.types.d.ts +16 -0
  31. package/dist/Components/DatePicker/DatePicker.vue_vue_type_script_setup_true_lang.js +6 -0
  32. package/dist/Components/DatePicker/composables/useDatePicker.d.ts +1 -1
  33. package/dist/Components/DatePicker/composables/useDatePicker.js +4 -27
  34. package/dist/Components/DatePicker/datePicker.types.d.ts +13 -0
  35. package/dist/Components/DateRangeField/DateRangeField.vue.d.ts +1 -0
  36. package/dist/Components/DateRangeField/DateRangeField.vue_vue_type_script_setup_true_lang.js +39 -30
  37. package/dist/Components/DateRangeField/composables/useDateRangeField.d.ts +4 -3
  38. package/dist/Components/DateRangeField/composables/useDateRangeField.js +55 -48
  39. package/dist/Components/DateRangeField/dateRangeField.types.d.ts +16 -0
  40. package/dist/Components/DateRangePicker/DateRangePicker.vue_vue_type_script_setup_true_lang.js +6 -0
  41. package/dist/Components/DateRangePicker/composables/useDateRangePicker.d.ts +1 -1
  42. package/dist/Components/DateRangePicker/composables/useDateRangePicker.js +5 -1
  43. package/dist/Components/DateRangePicker/dateRangePicker.types.d.ts +13 -0
  44. package/dist/Components/DateTimeField/DateTimeField.vue.d.ts +1 -0
  45. package/dist/Components/DateTimeField/DateTimeField.vue_vue_type_script_setup_true_lang.js +13 -6
  46. package/dist/Components/DateTimeField/composables/useDateTimeField.d.ts +4 -3
  47. package/dist/Components/DateTimeField/composables/useDateTimeField.js +64 -84
  48. package/dist/Components/DateTimeField/dateTimeField.types.d.ts +16 -0
  49. package/dist/Components/DateTimePicker/DateTimePicker.vue_vue_type_script_setup_true_lang.js +10 -0
  50. package/dist/Components/DateTimePicker/composables/useDateTimePicker.d.ts +1 -1
  51. package/dist/Components/DateTimePicker/composables/useDateTimePicker.js +4 -2
  52. package/dist/Components/DateTimePicker/dateTimePicker.types.d.ts +13 -0
  53. package/dist/Components/DateTimeRangeField/DateTimeRangeField.vue.d.ts +1 -0
  54. package/dist/Components/DateTimeRangeField/DateTimeRangeField.vue_vue_type_script_setup_true_lang.js +44 -37
  55. package/dist/Components/DateTimeRangeField/composables/useDateTimeRangeField.d.ts +4 -3
  56. package/dist/Components/DateTimeRangeField/composables/useDateTimeRangeField.js +46 -66
  57. package/dist/Components/DateTimeRangeField/dateTimeRangeField.types.d.ts +16 -0
  58. package/dist/Components/DateTimeRangePicker/DateTimeRangePicker.vue_vue_type_script_setup_true_lang.js +14 -0
  59. package/dist/Components/DateTimeRangePicker/composables/useDateTimeRangePicker.d.ts +1 -1
  60. package/dist/Components/DateTimeRangePicker/composables/useDateTimeRangePicker.js +7 -4
  61. package/dist/Components/DateTimeRangePicker/dateTimeRangePicker.types.d.ts +13 -0
  62. package/dist/Components/Drawer/Drawer.vue_vue_type_script_setup_true_lang.js +4 -3
  63. package/dist/Components/FieldOverlay/composables/useFieldOverlay.js +3 -2
  64. package/dist/Components/FormControl/composables/useFormControl.js +61 -65
  65. package/dist/Components/FormControl/formControl.types.d.ts +1 -7
  66. package/dist/Components/FormField/composables/useFormField.js +115 -116
  67. package/dist/Components/FormField/formField.types.d.ts +1 -7
  68. package/dist/Components/Label/composables/useLabel.js +28 -28
  69. package/dist/Components/Listbox/Listbox.vue_vue_type_script_setup_true_lang.js +1 -1
  70. package/dist/Components/Listbox/composables/useListbox.d.ts +4 -4
  71. package/dist/Components/Listbox/composables/useListbox.js +28 -24
  72. package/dist/Components/Listbox/listbox.types.d.ts +6 -6
  73. package/dist/Components/Menu/Menu.vue_vue_type_script_setup_true_lang.js +3 -5
  74. package/dist/Components/Modal/Modal.vue_vue_type_script_setup_true_lang.js +4 -3
  75. package/dist/Components/OtpField/composables/useOtpField.js +95 -94
  76. package/dist/Components/OtpField/otpField.types.d.ts +2 -9
  77. package/dist/Components/Radio/composables/useRadio.js +24 -20
  78. package/dist/Components/Select/composables/useSelect.d.ts +1 -1
  79. package/dist/Components/Select/composables/useSelect.js +21 -22
  80. package/dist/Components/Slider/composables/useSlider.js +167 -163
  81. package/dist/Components/Slider/slider.types.d.ts +2 -9
  82. package/dist/Components/Snackbar/Snackbar.vue_vue_type_script_setup_true_lang.js +3 -2
  83. package/dist/Components/Switch/composables/useSwitch.js +28 -24
  84. package/dist/Components/TimeField/TimeField.vue.d.ts +1 -0
  85. package/dist/Components/TimeField/TimeField.vue_vue_type_script_setup_true_lang.js +34 -25
  86. package/dist/Components/TimeField/composables/useTimeField.d.ts +4 -3
  87. package/dist/Components/TimeField/composables/useTimeField.js +67 -60
  88. package/dist/Components/TimeField/timeField.types.d.ts +16 -0
  89. package/dist/Components/TimePanel/TimePanel.vue_vue_type_script_setup_true_lang.js +2 -0
  90. package/dist/Components/TimePanel/composables/useTimePanel.d.ts +1 -1
  91. package/dist/Components/TimePanel/composables/useTimePanel.js +71 -60
  92. package/dist/Components/TimePanel/timePanel.types.d.ts +13 -0
  93. package/dist/Components/TimePicker/TimePicker.vue_vue_type_script_setup_true_lang.js +6 -0
  94. package/dist/Components/TimePicker/composables/useTimePicker.d.ts +1 -1
  95. package/dist/Components/TimePicker/composables/useTimePicker.js +5 -1
  96. package/dist/Components/TimePicker/timePicker.types.d.ts +13 -0
  97. package/dist/Components/TimeRangeField/TimeRangeField.vue.d.ts +1 -0
  98. package/dist/Components/TimeRangeField/TimeRangeField.vue_vue_type_script_setup_true_lang.js +34 -25
  99. package/dist/Components/TimeRangeField/composables/useTimeRangeField.d.ts +4 -3
  100. package/dist/Components/TimeRangeField/composables/useTimeRangeField.js +88 -81
  101. package/dist/Components/TimeRangeField/timeRangeField.types.d.ts +16 -0
  102. package/dist/Components/TimeRangePicker/TimeRangePicker.vue_vue_type_script_setup_true_lang.js +10 -0
  103. package/dist/Components/TimeRangePicker/composables/useTimeRangePicker.d.ts +1 -1
  104. package/dist/Components/TimeRangePicker/composables/useTimeRangePicker.js +5 -1
  105. package/dist/Components/TimeRangePicker/timeRangePicker.types.d.ts +13 -0
  106. package/dist/Components/Tooltip/Tooltip.vue_vue_type_script_setup_true_lang.js +4 -6
  107. package/dist/Utils/index.d.ts +9 -0
  108. package/dist/Utils/index.js +23 -12
  109. package/docs/components/BaseField.md +1 -1
  110. package/docs/components/BridgeUIProvider.md +3 -3
  111. package/docs/components/Calendar.md +2 -0
  112. package/docs/components/CalendarDate.md +1 -0
  113. package/docs/components/CalendarMonth.md +1 -0
  114. package/docs/components/CalendarRange.md +2 -0
  115. package/docs/components/CalendarYear.md +17 -16
  116. package/docs/components/DateField.md +9 -0
  117. package/docs/components/DatePicker.md +2 -0
  118. package/docs/components/DateRangeField.md +30 -22
  119. package/docs/components/DateRangePicker.md +2 -0
  120. package/docs/components/DateTimeField.md +35 -28
  121. package/docs/components/DateTimePicker.md +2 -0
  122. package/docs/components/DateTimeRangeField.md +36 -28
  123. package/docs/components/DateTimeRangePicker.md +2 -0
  124. package/docs/components/FieldOverlay.md +4 -3
  125. package/docs/components/FormControl.md +1 -1
  126. package/docs/components/TimeField.md +24 -17
  127. package/docs/components/TimePanel.md +2 -0
  128. package/docs/components/TimePicker.md +2 -0
  129. package/docs/components/TimeRangeField.md +25 -17
  130. package/docs/components/TimeRangePicker.md +2 -0
  131. package/package.json +2 -2
@@ -2,8 +2,8 @@ import { hasNamedSlot as e, hasSlotOrProp as t } from "../../../Utils/slotOrProp
2
2
  import { mergeNestedComponentProps as n, mergePartBind as r, useBridgeUIComponent as i, useBridgeUIMergedRegistryClasses as a } from "../../../Utils/index.js";
3
3
  import { computed as o, toValue as s, useId as c, useSlots as l } from "vue";
4
4
  import { get as u, omit as d } from "es-toolkit/compat";
5
- import { formFieldColorProps as f, formFieldInvalidatedProps as p, formFieldRoundedProps as m, formFieldSizeProps as h, formFieldVariantProps as g } from "@bridge-ui/core/Tokens";
6
- import { cn as _, mergeBridgeUILayeredClasses as v, splitComponentProps as y } from "@bridge-ui/core/Utils";
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";
7
7
  //#region src/Components/FormField/composables/useFormField.ts
8
8
  var b = [
9
9
  "end",
@@ -29,81 +29,81 @@ var b = [
29
29
  "hideErrorMessage"
30
30
  ];
31
31
  function x(x, S, C = {}) {
32
- let ee = c(), w = l(), T = o(() => y({
32
+ let w = c(), T = l(), E = o(() => y({
33
33
  props: s(x),
34
34
  bridgeKeys: b
35
- })), { merged: E, entry: D } = i({
35
+ })), { merged: D, entry: O } = i({
36
36
  libDefaults: S,
37
37
  componentName: C.componentName,
38
- props: () => T.value.componentProps
39
- }), O = o(() => E.value.customProps), k = o(() => C.control?.() ?? "input"), A = a({
40
- 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 && !!C.likeInput?.()), V = o(() => !E.value.hideErrorMessage), H = o(() => {
43
- let e = T.value.inheritedAttrs.id;
44
- return E.value.controlId ?? e ?? ee;
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(() => {
38
+ props: () => E.value.componentProps
39
+ }), k = o(() => D.value.customProps), A = o(() => C.control?.() ?? "input"), j = a({
40
+ entry: O,
41
+ props: () => E.value.componentProps
42
+ }), M = o(() => D.value.error === !0), N = o(() => !!D.value.disabled), P = o(() => !!D.value.readonly), F = o(() => D.value.variant ?? "outline"), ee = o(() => D.value.errorIcon ?? "alert"), I = o(() => F.value === "notched"), L = o(() => F.value === "stacked"), R = o(() => F.value === "underlined"), z = o(() => A.value === "textarea"), B = o(() => z.value && !!C.likeInput?.()), V = o(() => !D.value.hideErrorMessage), H = o(() => {
43
+ let e = E.value.inheritedAttrs.id;
44
+ return D.value.controlId ?? e ?? w;
45
+ }), U = o(() => M.value && t(T, "errorMessage", D.value.errorMessage)), W = o(() => (I.value || L.value) && (t(T, "label", D.value.label) || t(T, "corner", D.value.corner))), G = o(() => t(T, "label", D.value.label) ? "justify-between items-end" : "justify-end"), K = o(() => {
46
46
  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;
47
+ return !M.value && t(T, "description", D.value.description) && e.push(`${H.value}-description`), M.value && !D.value.hideErrorMessage && t(T, "errorMessage", D.value.errorMessage) && e.push(`${H.value}-error`), e.length > 0 ? e.join(" ") : void 0;
48
48
  }), q = o(() => {
49
- let e = v(h, D.value?.tokens?.size);
50
- return u(e, [E.value.size, P.value]);
49
+ let e = v(m, O.value?.tokens?.size);
50
+ return u(e, [D.value.size, F.value]);
51
51
  }), J = o(() => {
52
- let e = v(f, D.value?.tokens?.color);
53
- return u(e, E.value.color ?? "primary");
54
- }), Y = o(() => v(p, D.value?.tokens?.invalidated, E.value.customProps?.invalidated)), X = o(() => j.value ? Y.value : void 0), Z = o(() => {
55
- let e = v(m, D.value?.tokens?.rounded);
56
- return u(e, E.value.rounded);
57
- }), Q = o(() => {
58
- let e = v(g, D.value?.tokens?.variant);
59
- return u(e, P.value);
60
- }), te = o(() => {
61
- let e = j.value ? Y.value : J.value;
62
- return R.value ? e?.underlined : e?.input;
63
- }), ne = o(() => {
64
- if (L.value) return _({
52
+ let e = v(f, O.value?.tokens?.color);
53
+ return _({
54
+ tokens: e,
55
+ color: D.value.color,
56
+ invalid: M.value
57
+ });
58
+ }), Y = o(() => {
59
+ let e = v(p, O.value?.tokens?.rounded);
60
+ return u(e, D.value.rounded);
61
+ }), X = o(() => {
62
+ let e = v(h, O.value?.tokens?.variant);
63
+ return u(e, F.value);
64
+ }), Z = o(() => R.value ? J.value?.underlined : J.value?.input), Q = o(() => {
65
+ if (L.value) return g({
65
66
  [q.value?.insetTop ?? ""]: !0,
66
67
  [q.value?.insetStart ?? ""]: !0,
67
68
  [q.value?.insetEnd ?? ""]: !0
68
69
  });
69
- }), re = o(() => {
70
- let t = C.reservedSlots?.() ?? [], n = e(w, "end") || t.includes("end"), r = e(w, "start") || t.includes("start");
71
- if (!L.value) return !r && !n ? q.value?.padding : _({
70
+ }), te = o(() => {
71
+ let t = C.reservedSlots?.() ?? [], n = e(T, "end") || t.includes("end"), r = e(T, "start") || t.includes("start");
72
+ if (!L.value) return !r && !n ? q.value?.padding : g({
72
73
  [q.value?.insetStart ?? ""]: !r,
73
74
  [q.value?.insetEnd ?? ""]: !n
74
75
  });
75
- }), ie = o(() => r(O.value?.end, {}, _({
76
+ }), ne = o(() => r(k.value?.end, {}, g({
76
77
  "shrink-0 self-center flex items-center whitespace-nowrap select-none pointer-events-none": !0,
77
- "text-dark-500": !j.value,
78
- [Z.value?.end ?? ""]: !R.value && !L.value,
79
- [J.value?.end ?? ""]: !j.value,
80
- [X.value?.adornment ?? ""]: j.value,
81
- [A.value.end ?? ""]: !0
82
- }))), ae = o(() => {
83
- let e = T.value.inheritedAttrs;
84
- return r(O.value?.root, {
85
- class: _(e.class),
78
+ "text-dark-500": !0,
79
+ [Y.value?.end ?? ""]: !R.value && !L.value,
80
+ [J.value?.end ?? ""]: !0,
81
+ [j.value.end ?? ""]: !0
82
+ }))), re = o(() => {
83
+ let e = E.value.inheritedAttrs;
84
+ return r(k.value?.root, {
85
+ class: g(e.class),
86
86
  ...d(e, ["class"])
87
- }, _({
87
+ }, g({
88
88
  "group w-full relative": !0,
89
89
  "aria-disabled:pointer-events-none aria-disabled:select-none aria-disabled:opacity-60": !0,
90
90
  "aria-readonly:pointer-events-none aria-readonly:select-none": !0,
91
- [A.value.root ?? ""]: !0
91
+ [j.value.root ?? ""]: !0
92
92
  }));
93
- }), oe = o(() => r(O.value?.errorMessage, {}, _({
93
+ }), ie = o(() => r(k.value?.errorMessage, {}, g({
94
94
  "mt-2": !0,
95
95
  "min-h-[1lh]": V.value,
96
- [X.value?.errorMessage ?? ""]: !0,
96
+ "text-error-600 dark:text-error-400": !0,
97
97
  [q.value?.text ?? ""]: !0,
98
- [A.value.errorMessage ?? ""]: !0
99
- }))), $ = o(() => r({
100
- ...O.value?.input,
98
+ [j.value.errorMessage ?? ""]: !0
99
+ }))), ae = o(() => r({
100
+ ...k.value?.input,
101
101
  id: H.value,
102
- disabled: M.value,
103
- readonly: N.value,
102
+ disabled: N.value,
103
+ readonly: P.value,
104
104
  "aria-describedby": K.value,
105
- "aria-invalid": j.value || void 0
106
- }, d(T.value.inheritedAttrs, ["class"]), _({
105
+ "aria-invalid": M.value || void 0
106
+ }, d(E.value.inheritedAttrs, ["class"]), g({
107
107
  "flex-1 min-w-0 min-h-0 bg-transparent border-0 shadow-none": !0,
108
108
  "h-full": !z.value && !L.value,
109
109
  "max-h-none": z.value,
@@ -113,116 +113,115 @@ function x(x, S, C = {}) {
113
113
  [q.value?.input ?? ""]: !z.value,
114
114
  [q.value?.textarea ?? ""]: z.value,
115
115
  [q.value?.textareaLikeInput ?? ""]: B.value,
116
- [A.value.input ?? ""]: !0
117
- }))), se = o(() => n(O.value?.label, {
116
+ [j.value.input ?? ""]: !0
117
+ }))), oe = o(() => n(k.value?.label, {
118
118
  for: H.value,
119
- size: E.value.size,
120
- error: j.value,
121
- required: E.value.required,
119
+ size: D.value.size,
120
+ error: M.value,
121
+ required: D.value.required,
122
122
  classes: {
123
- required: A.value.required,
124
- root: _({
125
- [Q.value?.label ?? ""]: I.value,
126
- [A.value.label ?? ""]: !0
123
+ required: j.value.required,
124
+ root: g({
125
+ [X.value?.label ?? ""]: I.value,
126
+ [j.value.label ?? ""]: !0
127
127
  })
128
128
  }
129
- })), ce = o(() => r(O.value?.start, {}, _({
129
+ })), $ = o(() => r(k.value?.start, {}, g({
130
130
  "shrink-0 self-center flex items-center whitespace-nowrap select-none pointer-events-none": !0,
131
- "text-dark-400": !j.value,
132
- [Z.value?.start ?? ""]: !R.value && !L.value,
133
- [J.value?.start ?? ""]: !j.value,
134
- [X.value?.adornment ?? ""]: j.value,
135
- [A.value.start ?? ""]: !0
136
- }))), le = o(() => r(O.value?.corner, {}, _({
131
+ "text-dark-400": !0,
132
+ [Y.value?.start ?? ""]: !R.value && !L.value,
133
+ [J.value?.start ?? ""]: !0,
134
+ [j.value.start ?? ""]: !0
135
+ }))), se = o(() => r(k.value?.corner, {}, g({
137
136
  "text-dark-500 dark:text-dark-400": !I.value,
138
137
  [q.value?.text ?? ""]: !0,
139
- [Q.value?.corner ?? ""]: I.value,
140
- [A.value.corner ?? ""]: !0
141
- }))), ue = o(() => {
142
- let e = t(w, "label", E.value.label);
143
- return r(O.value?.header, {}, _({
138
+ [X.value?.corner ?? ""]: I.value,
139
+ [j.value.corner ?? ""]: !0
140
+ }))), ce = o(() => {
141
+ let e = t(T, "label", D.value.label);
142
+ return r(k.value?.header, {}, g({
144
143
  flex: !0,
145
144
  "w-full shrink-0": !0,
146
145
  "justify-between": e,
147
146
  "justify-end": !e,
148
147
  "items-center": I.value,
149
148
  "items-end": L.value,
150
- [Q.value?.labelRow ?? ""]: W.value,
151
- [A.value.header ?? ""]: !0
149
+ [X.value?.labelRow ?? ""]: W.value,
150
+ [j.value.header ?? ""]: !0
152
151
  }));
153
- }), de = o(() => r(O.value?.header, {}, _({
152
+ }), le = o(() => r(k.value?.header, {}, g({
154
153
  flex: !0,
155
154
  "mb-1": !0,
156
155
  [G.value]: !0,
157
- [A.value.header ?? ""]: !0
158
- }))), fe = o(() => r(O.value?.endIcon, {}, _({ "inline-flex shrink-0 items-center justify-center self-center": L.value }))), pe = o(() => r(O.value?.end, {}, _({
156
+ [j.value.header ?? ""]: !0
157
+ }))), ue = o(() => r(k.value?.endIcon, {}, g({ "inline-flex shrink-0 items-center justify-center self-center": L.value }))), de = o(() => r(k.value?.end, {}, g({
159
158
  "group/end wrapper-end-slot shrink-0 flex w-auto items-stretch self-stretch [&>*]:min-h-0": !0,
160
159
  "self-stretch min-h-0 overflow-hidden py-0.5 pe-0.5": L.value,
161
160
  "h-full min-h-0 overflow-hidden py-0.5 pe-0.5": !L.value,
162
- [A.value.end ?? ""]: !0
163
- }))), me = o(() => r({}, {}, _({
161
+ [j.value.end ?? ""]: !0
162
+ }))), fe = o(() => r({}, {}, g({
164
163
  "flex min-h-0 min-w-0 flex-1 flex-col": !0,
165
- [ne.value ?? ""]: !0
166
- }))), he = o(() => r({}, {}, _({
164
+ [Q.value ?? ""]: !0
165
+ }))), pe = o(() => r({}, {}, g({
167
166
  "flex w-full min-w-0 flex-1 items-stretch gap-x-2": !0,
168
167
  [q.value?.controlRow ?? ""]: !0
169
168
  })));
170
169
  return {
171
- slots: w,
172
- merged: E,
173
- control: k,
174
- endBind: ie,
175
- rootBind: ae,
170
+ slots: T,
171
+ merged: D,
172
+ control: A,
173
+ endBind: ne,
174
+ rootBind: re,
176
175
  controlId: H,
177
- errorBind: oe,
178
- errorIcon: F,
179
- inputBind: $,
176
+ errorBind: ie,
177
+ errorIcon: ee,
178
+ inputBind: ae,
180
179
  isNotched: I,
181
180
  isStacked: L,
182
- startBind: ce,
183
- cornerBind: le,
184
- headerBind: de,
185
- isDisabled: M,
186
- isReadonly: N,
187
- variantKey: P,
188
- endIconBind: fe,
189
- endSlotBind: pe,
190
- invalidated: j,
191
- containerBind: o(() => r(O.value?.container, { "data-bridge-rounded": E.value.rounded ?? "md" }, _({
181
+ startBind: $,
182
+ cornerBind: se,
183
+ headerBind: le,
184
+ isDisabled: N,
185
+ isReadonly: P,
186
+ variantKey: F,
187
+ endIconBind: ue,
188
+ endSlotBind: de,
189
+ invalidated: M,
190
+ containerBind: o(() => r(k.value?.container, { "data-bridge-rounded": D.value.rounded ?? "md" }, g({
192
191
  "group/field relative flex flex-row items-stretch overflow-hidden": L.value,
193
192
  "group/field relative flex justify-start gap-x-2 items-stretch": !L.value,
194
193
  "transition-all ease-in-out duration-150 outline-none": !0,
195
- "bg-dark-100 dark:bg-dark-800": M.value && !j.value,
194
+ "bg-dark-100 dark:bg-dark-800": N.value && !M.value,
196
195
  [q.value?.container ?? ""]: !z.value,
197
196
  [q.value?.containerTextareaLikeInput ?? ""]: B.value,
198
197
  [q.value?.containerTextarea ?? ""]: z.value && !B.value,
199
- [Q.value?.container ?? ""]: !0,
200
- [Z.value?.input ?? ""]: !R.value,
201
- [re.value ?? ""]: !0,
198
+ [X.value?.container ?? ""]: !0,
199
+ [Y.value?.input ?? ""]: !R.value,
202
200
  [te.value ?? ""]: !0,
201
+ [Z.value ?? ""]: !0,
203
202
  "rounded-none": R.value,
204
- [X.value?.container ?? ""]: j.value && !R.value,
205
- [X.value?.containerUnderlined ?? ""]: j.value && R.value,
206
- [A.value.container ?? ""]: !0
203
+ "bg-error-50 ring-error-500 dark:bg-error-700/10 dark:ring-error-600": M.value && !R.value,
204
+ "border-error-500 dark:border-error-600": M.value && R.value,
205
+ [j.value.container ?? ""]: !0
207
206
  }))),
208
- startIconBind: o(() => r(O.value?.startIcon, {}, _({ "inline-flex shrink-0 items-center justify-center self-center": L.value }))),
209
- startSlotBind: o(() => r(O.value?.start, {}, _({
207
+ startIconBind: o(() => r(k.value?.startIcon, {}, g({ "inline-flex shrink-0 items-center justify-center self-center": L.value }))),
208
+ startSlotBind: o(() => r(k.value?.start, {}, g({
210
209
  "group/start wrapper-start-slot shrink-0 flex w-auto items-stretch self-stretch [&>*]:min-h-0": !0,
211
210
  "self-stretch min-h-0 overflow-hidden py-0.5 ps-0.5": L.value,
212
211
  "h-full min-h-0 overflow-hidden py-0.5 ps-0.5": !L.value,
213
- [A.value.start ?? ""]: !0
212
+ [j.value.start ?? ""]: !0
214
213
  }))),
215
- fieldLabelProps: se,
214
+ fieldLabelProps: oe,
216
215
  ariaDescribedBy: K,
217
- descriptionBind: o(() => r(O.value?.description, {}, _({
216
+ descriptionBind: o(() => r(k.value?.description, {}, g({
218
217
  "mt-2 text-dark-500 dark:text-dark-400": !0,
219
218
  [q.value?.text ?? ""]: !0,
220
- [A.value.description ?? ""]: !0
219
+ [j.value.description ?? ""]: !0
221
220
  }))),
222
- stackedBodyBind: me,
221
+ stackedBodyBind: fe,
223
222
  hasInsetLabelRow: W,
224
- insetLabelRowBind: ue,
225
- stackedInputRowBind: he,
223
+ insetLabelRowBind: ce,
224
+ stackedInputRowBind: pe,
226
225
  showErrorMessageContent: U,
227
226
  reservesErrorMessageSpace: V
228
227
  };
@@ -1,5 +1,5 @@
1
1
  import { HTMLAttributes, InputHTMLAttributes, Slot } from 'vue';
2
- import { FormFieldColor, FormFieldInvalidated, FormFieldRounded, FormFieldSize, FormFieldVariant } from '@bridge-ui/core/Tokens';
2
+ import { FormFieldColor, FormFieldRounded, FormFieldSize, FormFieldVariant } from '@bridge-ui/core/Tokens';
3
3
  import { MergeHtmlProps, MergeProps } from '@bridge-ui/core/Utils';
4
4
  import { IconSource } from '../../Adapters/Icon';
5
5
  import { UseFormFieldReturn } from './composables/useFormField';
@@ -88,12 +88,6 @@ export interface FormFieldCustomProps {
88
88
  * Props forwarded to the `<input>`.
89
89
  */
90
90
  input?: Partial<InputHTMLAttributes>;
91
- /**
92
- * Error-state field chrome colors (container, adornments, input, …). Label colors come from `Label` when `error` is set.
93
- *
94
- * @default undefined
95
- */
96
- invalidated?: Partial<FormFieldInvalidated>;
97
91
  /**
98
92
  * Props forwarded to the primary `Label` (content stays owned by `FormField`).
99
93
  *
@@ -1,47 +1,47 @@
1
1
  import { mergePartBind as e, useBridgeUIComponent as t, useBridgeUIMergedRegistryClasses as n } from "../../../Utils/index.js";
2
2
  import { computed as r, useAttrs as i } from "vue";
3
3
  import { get as a } from "es-toolkit/compat";
4
- import { labelInvalidatedProps as o, labelSizeProps as s } from "@bridge-ui/core/Tokens";
5
- import { cn as c, mergeBridgeUILayeredClasses as l, splitComponentProps as u } from "@bridge-ui/core/Utils";
4
+ import { labelSizeProps as o } from "@bridge-ui/core/Tokens";
5
+ import { cn as s, mergeBridgeUILayeredClasses as c, splitComponentProps as l } from "@bridge-ui/core/Utils";
6
6
  //#region src/Components/Label/composables/useLabel.ts
7
- var d = [
7
+ var u = [
8
8
  "size",
9
9
  "error",
10
10
  "classes",
11
11
  "required"
12
12
  ];
13
- function f(f, p) {
14
- let m = i(), h = r(() => u({
15
- bridgeKeys: d,
13
+ function d(d, f) {
14
+ let p = i(), m = r(() => l({
15
+ bridgeKeys: u,
16
16
  props: {
17
- ...m,
18
- ...f
17
+ ...p,
18
+ ...d
19
19
  }
20
- })), { merged: g, entry: _ } = t({
21
- libDefaults: p,
20
+ })), { merged: h, entry: g } = t({
21
+ libDefaults: f,
22
22
  componentName: "Label",
23
- props: () => h.value.componentProps
24
- }), v = n({
25
- entry: _,
26
- props: () => h.value.componentProps
27
- }), y = r(() => {
28
- let e = l(s, _.value?.tokens?.size);
29
- return a(e, g.value.size);
30
- }), b = r(() => l(o, _.value?.tokens?.invalidated)), x = r(() => e({}, {}, c({
31
- [b.value.required ?? ""]: !0,
32
- [v.value.required ?? ""]: !0
23
+ props: () => m.value.componentProps
24
+ }), _ = n({
25
+ entry: g,
26
+ props: () => m.value.componentProps
27
+ }), v = r(() => {
28
+ let e = c(o, g.value?.tokens?.size);
29
+ return a(e, h.value.size);
30
+ }), y = r(() => e({}, {}, s({
31
+ "text-error-500 dark:text-error-500 select-none": !0,
32
+ [_.value.required ?? ""]: !0
33
33
  })));
34
34
  return {
35
- merged: g,
36
- rootBind: r(() => e({}, h.value.inheritedAttrs, c({
35
+ merged: h,
36
+ rootBind: r(() => e({}, m.value.inheritedAttrs, s({
37
37
  "inline-flex items-center gap-x-0.5 font-medium leading-none": !0,
38
- "text-dark-700 dark:text-dark-300": !g.value.error,
39
- [b.value.label ?? ""]: g.value.error,
40
- [y.value ?? ""]: !0,
41
- [v.value.root ?? ""]: !0
38
+ "text-dark-700 dark:text-dark-300": !h.value.error,
39
+ "text-error-600 dark:text-error-400": h.value.error,
40
+ [v.value ?? ""]: !0,
41
+ [_.value.root ?? ""]: !0
42
42
  }))),
43
- requiredBind: x
43
+ requiredBind: y
44
44
  };
45
45
  }
46
46
  //#endregion
47
- export { f as useLabel };
47
+ export { d as useLabel };
@@ -29,12 +29,12 @@ var A = { key: 1 }, j = /*@__PURE__*/ h({
29
29
  disableMaxHeight: { type: Boolean },
30
30
  emptyMessage: {},
31
31
  entries: {},
32
+ error: { type: Boolean },
32
33
  hideEmptyMessage: {
33
34
  type: Boolean,
34
35
  default: !1
35
36
  },
36
37
  highlightedIndex: { default: -1 },
37
- invalidated: { type: Boolean },
38
38
  isSelected: {},
39
39
  labelledBy: {},
40
40
  listboxId: {},
@@ -1,6 +1,6 @@
1
1
  import { LibDefaultsShape, MergeLibDefaults } from '@bridge-ui/core/Utils';
2
2
  import { ListboxClasses, ListboxOwnProps } from '../listbox.types';
3
- export declare const listboxBridgeKeys: readonly ["size", "color", "classes", "maxHeight", "showFooter", "customProps", "invalidated", "disableMaxHeight"];
3
+ export declare const listboxBridgeKeys: readonly ["size", "color", "error", "classes", "maxHeight", "showFooter", "customProps", "disableMaxHeight"];
4
4
  type ListboxLibDefaults = LibDefaultsShape<ListboxOwnProps, "size" | "color">;
5
5
  type ListboxMerged = MergeLibDefaults<ListboxOwnProps, ListboxLibDefaults>;
6
6
  /**
@@ -25,9 +25,9 @@ export declare function useListbox(props: ListboxOwnProps, libDefaults: ListboxL
25
25
  sizeClasses: import('vue').ComputedRef<import('@bridge-ui/core/Tokens').ListboxSizeOverlayItem | undefined>;
26
26
  mergedClasses: import('vue').ComputedRef<Partial<ListboxClasses>>;
27
27
  applyButtonProps: import('vue').ComputedRef<Partial<import('@bridge-ui/core/Utils').MergeHtmlProps<Omit<import('../../Button').ButtonOwnProps, "as">, import('vue').ButtonHTMLAttributes>> | undefined>;
28
- optionHoverClass: import('vue').ComputedRef<string | undefined>;
28
+ optionHoverClass: import('vue').ComputedRef<any>;
29
29
  cancelButtonProps: import('vue').ComputedRef<Partial<import('@bridge-ui/core/Utils').MergeHtmlProps<Omit<import('../../Button').ButtonOwnProps, "as">, import('vue').ButtonHTMLAttributes>> | undefined>;
30
- optionSelectedClass: import('vue').ComputedRef<string | undefined>;
31
- optionHighlightedClass: import('vue').ComputedRef<string | undefined>;
30
+ optionSelectedClass: import('vue').ComputedRef<any>;
31
+ optionHighlightedClass: import('vue').ComputedRef<any>;
32
32
  };
33
33
  export {};
@@ -4,17 +4,17 @@ import { mergePartBind as n, useBridgeUIComponent as r, useBridgeUIMergedRegistr
4
4
  import { computed as o, useAttrs as s } from "vue";
5
5
  import { get as c } from "es-toolkit/compat";
6
6
  import { isFieldOverlayDialog as l, resolveFieldOverlay as u } from "@bridge-ui/core/Domain";
7
- import { listboxColorProps as d, listboxInvalidatedProps as f, listboxRoundedProps as p, listboxSizeProps as m } from "@bridge-ui/core/Tokens";
8
- import { cn as h, mergeBridgeUILayeredClasses as g, splitComponentProps as _ } from "@bridge-ui/core/Utils";
7
+ import { listboxColorProps as d, listboxRoundedProps as f, listboxSizeProps as p } from "@bridge-ui/core/Tokens";
8
+ import { cn as m, getColorToken as h, mergeBridgeUILayeredClasses as g, splitComponentProps as _ } from "@bridge-ui/core/Utils";
9
9
  //#region src/Components/Listbox/composables/useListbox.ts
10
10
  var v = [
11
11
  "size",
12
12
  "color",
13
+ "error",
13
14
  "classes",
14
15
  "maxHeight",
15
16
  "showFooter",
16
17
  "customProps",
17
- "invalidated",
18
18
  "disableMaxHeight"
19
19
  ];
20
20
  function y(y, b, x = {}) {
@@ -37,54 +37,58 @@ function y(y, b, x = {}) {
37
37
  showFooter: () => E.value.showFooter
38
38
  }), P = o(() => c(D.value, ["tokens", "listbox"])), F = o(() => {
39
39
  let e = g(d, P.value?.color);
40
- return c(e, E.value.color ?? "primary");
40
+ return h({
41
+ tokens: e,
42
+ color: E.value.color,
43
+ invalid: E.value.error
44
+ });
41
45
  }), I = o(() => {
42
- let e = g(p, P.value?.rounded);
46
+ let e = g(f, P.value?.rounded);
43
47
  return c(e, y.rounded ?? "md");
44
- }), L = o(() => g(f, P.value?.invalidated)), R = o(() => E.value.invalidated ? L.value : F.value), z = o(() => {
45
- let e = g(m, P.value?.size), t = c(e, E.value.size ?? "md"), n = j.value ? "panel" : "menu";
48
+ }), L = o(() => {
49
+ let e = g(p, P.value?.size), t = c(e, E.value.size ?? "md"), n = j.value ? "panel" : "menu";
46
50
  return c(t, n);
47
- }), B = o(() => R.value?.selected), V = o(() => R.value?.highlighted), H = o(() => R.value?.hover), U = o(() => h(z.value?.check, R.value?.check)), W = o(() => {
51
+ }), R = o(() => F.value?.selected), z = o(() => F.value?.highlighted), B = o(() => F.value?.hover), V = o(() => m(L.value?.check, F.value?.check)), H = o(() => {
48
52
  let e = E.value.maxHeight ?? (j.value ? "max-h-[min(60dvh,28rem)]" : "max-h-60"), t = E.value.disableMaxHeight === !0;
49
- return n(E.value.customProps?.scroll, {}, h({
53
+ return n(E.value.customProps?.scroll, {}, m({
50
54
  "min-h-0 overflow-y-auto overscroll-contain": !t,
51
55
  [e]: !t,
52
56
  [O.value.scroll ?? ""]: !0
53
57
  }));
54
- }), G = o(() => n({}, {}, h({
58
+ }), U = o(() => n({}, {}, m({
55
59
  "text-dark-500": !0,
56
- [z.value?.message ?? ""]: !0
57
- }))), K = o(() => {
60
+ [L.value?.message ?? ""]: !0
61
+ }))), W = o(() => {
58
62
  if (!j.value) return;
59
63
  let e = I.value;
60
- if (e) return h({
64
+ if (e) return m({
61
65
  [e]: !0,
62
66
  "rounded-b-none": M.value
63
67
  });
64
- }), q = o(() => h({
68
+ }), G = o(() => m({
65
69
  "flex w-full flex-col overflow-hidden bg-white text-dark-900 shadow-lg outline-hidden ring-1 ring-black/5 dark:bg-dark-800 dark:text-dark-100 dark:ring-white/10": j.value,
66
- [String(K.value ?? "")]: !!K.value
70
+ [String(W.value ?? "")]: !!W.value
67
71
  }));
68
72
  return {
69
73
  merged: E,
70
- checkClass: U,
71
- scrollBind: W,
72
- footerBind: o(() => n(k.value?.footer, {}, h({
74
+ checkClass: V,
75
+ scrollBind: H,
76
+ footerBind: o(() => n(k.value?.footer, {}, m({
73
77
  "flex items-center justify-end gap-2 border-t border-dark-100 bg-dark-50 px-3 py-2 dark:border-dark-800 dark:bg-dark-950/40": !0,
74
78
  [O.value.footer ?? ""]: !0
75
79
  }))),
76
80
  showFooter: N,
77
81
  applyLabel: o(() => w("Apply")),
78
82
  cancelLabel: o(() => w("Cancel")),
79
- messageBind: G,
80
- surfaceBind: q,
81
- sizeClasses: z,
83
+ messageBind: U,
84
+ surfaceBind: G,
85
+ sizeClasses: L,
82
86
  mergedClasses: O,
83
87
  applyButtonProps: o(() => k.value?.applyButton),
84
- optionHoverClass: H,
88
+ optionHoverClass: B,
85
89
  cancelButtonProps: o(() => k.value?.cancelButton),
86
- optionSelectedClass: B,
87
- optionHighlightedClass: V
90
+ optionSelectedClass: R,
91
+ optionHighlightedClass: z
88
92
  };
89
93
  }
90
94
  //#endregion
@@ -195,6 +195,12 @@ export interface ListboxOwnProps {
195
195
  * `options` map for rendering section headers.
196
196
  */
197
197
  entries?: ListboxEntry[];
198
+ /**
199
+ * When `true`, applies the error color palette to options.
200
+ *
201
+ * @default false
202
+ */
203
+ error?: boolean;
198
204
  /**
199
205
  * Hides the empty-state message.
200
206
  *
@@ -207,12 +213,6 @@ export interface ListboxOwnProps {
207
213
  * @default -1
208
214
  */
209
215
  highlightedIndex?: number;
210
- /**
211
- * When `true`, applies invalidated option colors.
212
- *
213
- * @default false
214
- */
215
- invalidated?: boolean;
216
216
  /**
217
217
  * Whether a value is selected (shows checkmark when `showCheckmark` is true).
218
218
  */
@@ -67,13 +67,11 @@ var v = /*@__PURE__*/ l({
67
67
  onClose: () => y("close"),
68
68
  onShowChange: (e) => b.onShowChange?.(e)
69
69
  }), k = i(() => S.value.teleportTo === !1), A = i(() => S.value.teleportTo === !1 ? "body" : S.value.teleportTo);
70
- return (t, i) => (p(), s(n, null, [h(e)(h(v), "trigger") ? (p(), s("div", f(d({ key: 0 }, h(w))), [c("div", d({ ref: h(D) }, h(T)), [m(t.$slots, "trigger")], 16)], 16)) : o("", !0), (p(), a(r, {
70
+ return (t, i) => (p(), s(n, null, [h(e)(h(v), "trigger") ? (p(), s("div", f(d({ key: 0 }, h(w))), [c("div", d({ ref: h(D) }, h(T)), [m(t.$slots, "trigger")], 16)], 16)) : o("", !0), h(C) ? (p(), a(r, {
71
+ key: 1,
71
72
  to: A.value,
72
73
  disabled: k.value
73
- }, [h(C) ? (p(), s("div", d({
74
- key: 0,
75
- ref: h(O)
76
- }, h(E)), [m(t.$slots, "default")], 16)) : o("", !0)], 8, ["to", "disabled"]))], 64));
74
+ }, [c("div", d({ ref: h(O) }, h(E)), [m(t.$slots, "default")], 16)], 8, ["to", "disabled"])) : o("", !0)], 64));
77
75
  }
78
76
  });
79
77
  //#endregion
@@ -80,13 +80,14 @@ var g = /*@__PURE__*/ s({
80
80
  });
81
81
  l({ stackId: n(() => v.stackId ?? D.value) });
82
82
  let O = n(() => b.value.teleportTo === !1), k = n(() => b.value.teleportTo === !1 ? "body" : b.value.teleportTo), A = n(() => v.hideBackdrop !== !0 && b.value.hideBackdrop !== !0);
83
- return (e, n) => (f(), r(t, {
83
+ return (e, n) => m(x) ? (f(), r(t, {
84
+ key: 0,
84
85
  to: k.value,
85
86
  disabled: O.value
86
- }, [m(x) ? (f(), a("div", d(u({ key: 0 }, m(S))), [A.value ? (f(), a("div", u({
87
+ }, [o("div", d(c(m(S))), [A.value ? (f(), a("div", u({
87
88
  key: 0,
88
89
  "aria-hidden": "true"
89
- }, m(w)), null, 16)) : i("", !0), o("div", d(c(m(T))), [o("div", u({ ref: m(E) }, m(C)), [p(e.$slots, "default")], 16)], 16)], 16)) : i("", !0)], 8, ["to", "disabled"]));
90
+ }, m(w)), null, 16)) : i("", !0), o("div", d(c(m(T))), [o("div", u({ ref: m(E) }, m(C)), [p(e.$slots, "default")], 16)], 16)], 16)], 8, ["to", "disabled"])) : i("", !0);
90
91
  }
91
92
  });
92
93
  //#endregion