@bridge-ui/vue 0.0.11 → 0.1.1

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 (195) hide show
  1. package/ai/skills/bridge-ui-components/SKILL.md +5 -3
  2. package/ai/skills/bridge-ui-forms/SKILL.md +4 -2
  3. package/dist/Components/Autocomplete/composables/useAutocomplete.d.ts +1 -2
  4. package/dist/Components/Autocomplete/composables/useAutocomplete.js +112 -114
  5. package/dist/Components/BaseField/baseField.types.d.ts +1 -8
  6. package/dist/Components/BaseField/composables/useBaseField.js +79 -83
  7. package/dist/Components/Calendar/Calendar.vue_vue_type_script_setup_true_lang.js +2 -1
  8. package/dist/Components/Calendar/calendar.types.d.ts +14 -21
  9. package/dist/Components/Calendar/composables/useCalendar.d.ts +2 -2
  10. package/dist/Components/Calendar/composables/useCalendar.js +101 -98
  11. package/dist/Components/Calendar/index.d.ts +1 -1
  12. package/dist/Components/CalendarDate/CalendarDate.vue_vue_type_script_setup_true_lang.js +1 -1
  13. package/dist/Components/CalendarDate/calendarDate.types.d.ts +7 -21
  14. package/dist/Components/CalendarDate/composables/useCalendarDate.d.ts +1 -1
  15. package/dist/Components/CalendarDate/composables/useCalendarDate.js +81 -73
  16. package/dist/Components/CalendarDate/index.d.ts +1 -1
  17. package/dist/Components/CalendarMonth/CalendarMonth.vue_vue_type_script_setup_true_lang.js +1 -1
  18. package/dist/Components/CalendarMonth/calendarMonth.types.d.ts +7 -17
  19. package/dist/Components/CalendarMonth/composables/useCalendarMonth.d.ts +1 -1
  20. package/dist/Components/CalendarMonth/composables/useCalendarMonth.js +58 -50
  21. package/dist/Components/CalendarMonth/index.d.ts +1 -1
  22. package/dist/Components/CalendarRange/CalendarRange.vue_vue_type_script_setup_true_lang.js +4 -3
  23. package/dist/Components/CalendarRange/calendarRange.types.d.ts +14 -21
  24. package/dist/Components/CalendarRange/composables/useCalendarRange.d.ts +3 -3
  25. package/dist/Components/CalendarRange/composables/useCalendarRange.js +121 -120
  26. package/dist/Components/CalendarRange/index.d.ts +1 -1
  27. package/dist/Components/CalendarYear/CalendarYear.vue_vue_type_script_setup_true_lang.js +1 -1
  28. package/dist/Components/CalendarYear/calendarYear.types.d.ts +7 -17
  29. package/dist/Components/CalendarYear/composables/useCalendarYear.d.ts +1 -1
  30. package/dist/Components/CalendarYear/composables/useCalendarYear.js +60 -52
  31. package/dist/Components/CalendarYear/index.d.ts +1 -1
  32. package/dist/Components/Checkbox/composables/useCheckbox.js +23 -19
  33. package/dist/Components/ColorField/ColorField.js +5 -0
  34. package/dist/Components/ColorField/ColorField.vue.d.ts +38 -0
  35. package/dist/Components/ColorField/ColorField.vue_vue_type_script_setup_true_lang.js +149 -0
  36. package/dist/Components/ColorField/colorField.types.d.ts +179 -0
  37. package/dist/Components/ColorField/composables/useColorField.d.ts +748 -0
  38. package/dist/Components/ColorField/composables/useColorField.js +182 -0
  39. package/dist/Components/ColorField/index.d.ts +3 -0
  40. package/dist/Components/ColorField/index.js +3 -0
  41. package/dist/Components/ColorPicker/ColorPicker.js +5 -0
  42. package/dist/Components/ColorPicker/ColorPicker.vue.d.ts +21 -0
  43. package/dist/Components/ColorPicker/ColorPicker.vue_vue_type_script_setup_true_lang.js +91 -0
  44. package/dist/Components/ColorPicker/colorPicker.types.d.ts +200 -0
  45. package/dist/Components/ColorPicker/composables/useColorPicker.d.ts +111 -0
  46. package/dist/Components/ColorPicker/composables/useColorPicker.js +253 -0
  47. package/dist/Components/ColorPicker/index.d.ts +3 -0
  48. package/dist/Components/ColorPicker/index.js +3 -0
  49. package/dist/Components/DateField/DateField.vue.d.ts +1 -0
  50. package/dist/Components/DateField/DateField.vue_vue_type_script_setup_true_lang.js +13 -31
  51. package/dist/Components/DateField/composables/useDateField.d.ts +3 -4
  52. package/dist/Components/DateField/composables/useDateField.js +95 -107
  53. package/dist/Components/DateField/dateField.types.d.ts +16 -0
  54. package/dist/Components/DatePicker/DatePicker.vue_vue_type_script_setup_true_lang.js +10 -7
  55. package/dist/Components/DatePicker/composables/useDatePicker.d.ts +1 -6
  56. package/dist/Components/DatePicker/composables/useDatePicker.js +8 -10
  57. package/dist/Components/DatePicker/datePicker.types.d.ts +14 -29
  58. package/dist/Components/DatePicker/index.d.ts +1 -1
  59. package/dist/Components/DateRangeField/DateRangeField.vue.d.ts +1 -0
  60. package/dist/Components/DateRangeField/DateRangeField.vue_vue_type_script_setup_true_lang.js +39 -30
  61. package/dist/Components/DateRangeField/composables/useDateRangeField.d.ts +4 -3
  62. package/dist/Components/DateRangeField/composables/useDateRangeField.js +55 -48
  63. package/dist/Components/DateRangeField/dateRangeField.types.d.ts +16 -0
  64. package/dist/Components/DateRangePicker/DateRangePicker.vue_vue_type_script_setup_true_lang.js +10 -7
  65. package/dist/Components/DateRangePicker/composables/useDateRangePicker.d.ts +1 -6
  66. package/dist/Components/DateRangePicker/composables/useDateRangePicker.js +8 -10
  67. package/dist/Components/DateRangePicker/dateRangePicker.types.d.ts +14 -29
  68. package/dist/Components/DateRangePicker/index.d.ts +1 -1
  69. package/dist/Components/DateTimeField/DateTimeField.vue.d.ts +1 -0
  70. package/dist/Components/DateTimeField/DateTimeField.vue_vue_type_script_setup_true_lang.js +13 -6
  71. package/dist/Components/DateTimeField/composables/useDateTimeField.d.ts +4 -3
  72. package/dist/Components/DateTimeField/composables/useDateTimeField.js +64 -84
  73. package/dist/Components/DateTimeField/dateTimeField.types.d.ts +16 -0
  74. package/dist/Components/DateTimePicker/DateTimePicker.vue_vue_type_script_setup_true_lang.js +26 -21
  75. package/dist/Components/DateTimePicker/composables/useDateTimePicker.d.ts +1 -10
  76. package/dist/Components/DateTimePicker/composables/useDateTimePicker.js +33 -40
  77. package/dist/Components/DateTimePicker/dateTimePicker.types.d.ts +14 -36
  78. package/dist/Components/DateTimePicker/index.d.ts +1 -1
  79. package/dist/Components/DateTimeRangeField/DateTimeRangeField.vue.d.ts +1 -0
  80. package/dist/Components/DateTimeRangeField/DateTimeRangeField.vue_vue_type_script_setup_true_lang.js +44 -37
  81. package/dist/Components/DateTimeRangeField/composables/useDateTimeRangeField.d.ts +4 -3
  82. package/dist/Components/DateTimeRangeField/composables/useDateTimeRangeField.js +46 -66
  83. package/dist/Components/DateTimeRangeField/dateTimeRangeField.types.d.ts +16 -0
  84. package/dist/Components/DateTimeRangePicker/DateTimeRangePicker.vue_vue_type_script_setup_true_lang.js +34 -27
  85. package/dist/Components/DateTimeRangePicker/composables/useDateTimeRangePicker.d.ts +1 -10
  86. package/dist/Components/DateTimeRangePicker/composables/useDateTimeRangePicker.js +39 -45
  87. package/dist/Components/DateTimeRangePicker/dateTimeRangePicker.types.d.ts +14 -36
  88. package/dist/Components/DateTimeRangePicker/index.d.ts +1 -1
  89. package/dist/Components/Drawer/Drawer.vue_vue_type_script_setup_true_lang.js +4 -3
  90. package/dist/Components/FieldOverlay/composables/useFieldOverlay.js +20 -12
  91. package/dist/Components/FieldOverlay/fieldOverlay.types.d.ts +3 -0
  92. package/dist/Components/FormControl/composables/useFormControl.js +61 -65
  93. package/dist/Components/FormControl/formControl.types.d.ts +1 -7
  94. package/dist/Components/FormField/composables/useFormField.d.ts +1 -1
  95. package/dist/Components/FormField/composables/useFormField.js +115 -116
  96. package/dist/Components/FormField/formField.types.d.ts +1 -7
  97. package/dist/Components/Label/composables/useLabel.js +28 -28
  98. package/dist/Components/Listbox/Listbox.vue_vue_type_script_setup_true_lang.js +2 -3
  99. package/dist/Components/Listbox/composables/useListbox.d.ts +5 -14
  100. package/dist/Components/Listbox/composables/useListbox.js +57 -54
  101. package/dist/Components/Listbox/index.d.ts +0 -1
  102. package/dist/Components/Listbox/listbox.types.d.ts +6 -12
  103. package/dist/Components/Menu/Menu.vue_vue_type_script_setup_true_lang.js +3 -5
  104. package/dist/Components/Modal/Modal.vue_vue_type_script_setup_true_lang.js +4 -3
  105. package/dist/Components/OtpField/composables/useOtpField.js +95 -94
  106. package/dist/Components/OtpField/otpField.types.d.ts +2 -9
  107. package/dist/Components/Radio/composables/useRadio.js +24 -20
  108. package/dist/Components/Select/composables/useSelect.d.ts +1 -2
  109. package/dist/Components/Select/composables/useSelect.js +21 -23
  110. package/dist/Components/Slider/composables/useSlider.js +167 -163
  111. package/dist/Components/Slider/slider.types.d.ts +2 -9
  112. package/dist/Components/Snackbar/Snackbar.vue_vue_type_script_setup_true_lang.js +3 -2
  113. package/dist/Components/Step/Step.js +5 -0
  114. package/dist/Components/Step/Step.vue.d.ts +11 -0
  115. package/dist/Components/Step/Step.vue_vue_type_script_setup_true_lang.js +32 -0
  116. package/dist/Components/Step/composables/useStep.d.ts +56 -0
  117. package/dist/Components/Step/composables/useStep.js +162 -0
  118. package/dist/Components/Step/index.d.ts +3 -0
  119. package/dist/Components/Step/index.js +3 -0
  120. package/dist/Components/Step/step.types.d.ts +160 -0
  121. package/dist/Components/Stepper/Stepper.js +5 -0
  122. package/dist/Components/Stepper/Stepper.vue.d.ts +24 -0
  123. package/dist/Components/Stepper/Stepper.vue_vue_type_script_setup_true_lang.js +33 -0
  124. package/dist/Components/Stepper/composables/useStepper.d.ts +18 -0
  125. package/dist/Components/Stepper/composables/useStepper.js +91 -0
  126. package/dist/Components/Stepper/index.d.ts +4 -0
  127. package/dist/Components/Stepper/index.js +4 -0
  128. package/dist/Components/Stepper/stepper.types.d.ts +93 -0
  129. package/dist/Components/Stepper/stepperInjectionKey.d.ts +77 -0
  130. package/dist/Components/Stepper/stepperInjectionKey.js +4 -0
  131. package/dist/Components/Switch/composables/useSwitch.js +28 -24
  132. package/dist/Components/TimeField/TimeField.vue.d.ts +1 -0
  133. package/dist/Components/TimeField/TimeField.vue_vue_type_script_setup_true_lang.js +34 -25
  134. package/dist/Components/TimeField/composables/useTimeField.d.ts +4 -3
  135. package/dist/Components/TimeField/composables/useTimeField.js +67 -60
  136. package/dist/Components/TimeField/timeField.types.d.ts +16 -0
  137. package/dist/Components/TimePanel/TimePanel.vue_vue_type_script_setup_true_lang.js +2 -1
  138. package/dist/Components/TimePanel/composables/useTimePanel.d.ts +1 -1
  139. package/dist/Components/TimePanel/composables/useTimePanel.js +65 -54
  140. package/dist/Components/TimePanel/index.d.ts +1 -1
  141. package/dist/Components/TimePanel/timePanel.types.d.ts +14 -17
  142. package/dist/Components/TimePicker/TimePicker.vue_vue_type_script_setup_true_lang.js +16 -13
  143. package/dist/Components/TimePicker/composables/useTimePicker.d.ts +1 -5
  144. package/dist/Components/TimePicker/composables/useTimePicker.js +17 -18
  145. package/dist/Components/TimePicker/index.d.ts +1 -1
  146. package/dist/Components/TimePicker/timePicker.types.d.ts +14 -24
  147. package/dist/Components/TimeRangeField/TimeRangeField.vue.d.ts +1 -0
  148. package/dist/Components/TimeRangeField/TimeRangeField.vue_vue_type_script_setup_true_lang.js +34 -25
  149. package/dist/Components/TimeRangeField/composables/useTimeRangeField.d.ts +4 -3
  150. package/dist/Components/TimeRangeField/composables/useTimeRangeField.js +88 -81
  151. package/dist/Components/TimeRangeField/timeRangeField.types.d.ts +16 -0
  152. package/dist/Components/TimeRangePicker/TimeRangePicker.vue_vue_type_script_setup_true_lang.js +23 -18
  153. package/dist/Components/TimeRangePicker/composables/useTimeRangePicker.d.ts +1 -5
  154. package/dist/Components/TimeRangePicker/composables/useTimeRangePicker.js +32 -33
  155. package/dist/Components/TimeRangePicker/index.d.ts +1 -1
  156. package/dist/Components/TimeRangePicker/timeRangePicker.types.d.ts +14 -24
  157. package/dist/Components/Tooltip/Tooltip.vue_vue_type_script_setup_true_lang.js +4 -6
  158. package/dist/Utils/index.d.ts +9 -0
  159. package/dist/Utils/index.js +23 -12
  160. package/dist/index.d.ts +20 -12
  161. package/dist/index.js +88 -80
  162. package/docs/README.md +3 -0
  163. package/docs/components/Autocomplete.md +1 -1
  164. package/docs/components/BaseField.md +1 -1
  165. package/docs/components/BridgeUIProvider.md +12 -14
  166. package/docs/components/Calendar.md +4 -1
  167. package/docs/components/CalendarDate.md +3 -1
  168. package/docs/components/CalendarMonth.md +3 -1
  169. package/docs/components/CalendarRange.md +4 -1
  170. package/docs/components/CalendarYear.md +18 -16
  171. package/docs/components/ColorField.md +93 -0
  172. package/docs/components/ColorPicker.md +78 -0
  173. package/docs/components/DateField.md +9 -0
  174. package/docs/components/DatePicker.md +4 -1
  175. package/docs/components/DateRangeField.md +30 -22
  176. package/docs/components/DateRangePicker.md +4 -1
  177. package/docs/components/DateTimeField.md +35 -28
  178. package/docs/components/DateTimePicker.md +4 -1
  179. package/docs/components/DateTimeRangeField.md +36 -28
  180. package/docs/components/DateTimeRangePicker.md +4 -1
  181. package/docs/components/FieldOverlay.md +5 -4
  182. package/docs/components/FormControl.md +1 -1
  183. package/docs/components/Select.md +1 -1
  184. package/docs/components/Stepper.md +60 -0
  185. package/docs/components/TimeField.md +24 -17
  186. package/docs/components/TimePanel.md +4 -1
  187. package/docs/components/TimePicker.md +4 -1
  188. package/docs/components/TimeRangeField.md +25 -17
  189. package/docs/components/TimeRangePicker.md +4 -1
  190. package/docs/examples/icon-fontawesome.ts +2 -0
  191. package/docs/examples/icon-heroicons.ts +2 -0
  192. package/docs/examples/icon-lucide.ts +2 -0
  193. package/docs/examples/icon-phosphor.ts +2 -0
  194. package/docs/examples/icon-tabler.ts +2 -0
  195. package/package.json +2 -2
@@ -4,12 +4,12 @@ import { computed as a, toValue as o, useAttrs as s } from "vue";
4
4
  import { get as c, isNil as l, omit as u } from "es-toolkit/compat";
5
5
  import { isYearDisabled as d, resolveCalendarDayInteractionState as f } from "@bridge-ui/core/Domain";
6
6
  import { calendarColorProps as p, calendarRoundedProps as m } from "@bridge-ui/core/Tokens";
7
- import { cn as h, mergeBridgeUILayeredClasses as g, splitComponentProps as _ } from "@bridge-ui/core/Utils";
7
+ import { cn as h, getColorToken as g, mergeBridgeUILayeredClasses as _, splitComponentProps as v } from "@bridge-ui/core/Utils";
8
8
  //#region src/Components/CalendarYear/composables/useCalendarYear.ts
9
- var v = 15, y = [
9
+ var y = 15, b = [
10
10
  "color",
11
+ "error",
11
12
  "value",
12
- "tokens",
13
13
  "classes",
14
14
  "maxDate",
15
15
  "minDate",
@@ -22,88 +22,96 @@ var v = 15, y = [
22
22
  "customProps",
23
23
  "disableYears"
24
24
  ];
25
- function b(b, x, S) {
26
- let C = s(), w = e(), T = t(), E = a(() => _({
27
- bridgeKeys: y,
25
+ function x(x, S, C) {
26
+ let w = s(), T = e(), E = t(), D = a(() => v({
27
+ bridgeKeys: b,
28
28
  props: {
29
- ...C,
30
- ...o(b)
29
+ ...w,
30
+ ...o(x)
31
31
  }
32
- })), { merged: D } = r({
33
- libDefaults: x,
34
- props: () => E.value.componentProps
35
- }), O = a(() => D.value.customProps), k = a(() => u(E.value.inheritedAttrs, ["onChange"])), A = i({
36
- props: () => E.value.componentProps,
32
+ })), { merged: O, entry: k } = r({
33
+ libDefaults: S,
34
+ componentName: "Calendar",
35
+ props: () => D.value.componentProps
36
+ }), A = a(() => O.value.customProps), j = a(() => u(D.value.inheritedAttrs, ["onChange"])), M = i({
37
+ props: () => D.value.componentProps,
37
38
  entry: a(() => {})
38
- }), j = a(() => T(D.value.timeZone)), M = a(() => D.value.pageSize ?? v), N = a(() => {
39
- if (!l(D.value.startYear)) return D.value.startYear;
40
- let e = D.value.value ?? w.value.getYear(w.value.now(j.value), j.value), t = Math.floor(M.value / 2);
39
+ }), N = a(() => E(O.value.timeZone)), P = a(() => O.value.pageSize ?? y), F = a(() => {
40
+ if (!l(O.value.startYear)) return O.value.startYear;
41
+ let e = O.value.value ?? T.value.getYear(T.value.now(N.value), N.value), t = Math.floor(P.value / 2);
41
42
  return Math.max(1, e - t);
42
- }), P = a(() => g(p, D.value.tokens?.color)), F = a(() => {
43
- let e = g(m, D.value.tokens?.rounded);
44
- return c(e, D.value.rounded);
45
- }), I = a(() => c(P.value, D.value.color)), L = a(() => Array.from({ length: M.value }, (e, t) => {
46
- let n = N.value + t, r = !!D.value.disabled || d({
43
+ }), I = a(() => {
44
+ let e = _(m, k.value?.tokens?.rounded);
45
+ return c(e, O.value.rounded);
46
+ }), L = a(() => {
47
+ let e = _(p, k.value?.tokens?.color);
48
+ return g({
49
+ tokens: e,
50
+ color: O.value.color,
51
+ invalid: O.value.error
52
+ });
53
+ }), R = a(() => Array.from({ length: P.value }, (e, t) => {
54
+ let n = F.value + t, r = !!O.value.disabled || d({
47
55
  year: n,
48
- adapter: w.value,
49
- context: j.value,
50
- maxDate: D.value.maxDate,
51
- minDate: D.value.minDate,
52
- disableYears: D.value.disableYears
53
- }), i = !l(D.value.value) && D.value.value === n;
56
+ adapter: T.value,
57
+ context: N.value,
58
+ maxDate: O.value.maxDate,
59
+ minDate: O.value.minDate,
60
+ disableYears: O.value.disableYears
61
+ }), i = !l(O.value.value) && O.value.value === n;
54
62
  return {
55
63
  year: n,
56
64
  state: f({
57
65
  disabled: r,
58
66
  selected: i,
59
- readOnly: D.value.readOnly
67
+ readOnly: O.value.readOnly
60
68
  }),
61
69
  selected: i,
62
70
  label: String(n),
63
- disabled: r || !!D.value.readOnly
71
+ disabled: r || !!O.value.readOnly
64
72
  };
65
- })), R = (e) => {
66
- D.value.disabled || D.value.readOnly || d({
73
+ })), z = (e) => {
74
+ O.value.disabled || O.value.readOnly || d({
67
75
  year: e,
68
- adapter: w.value,
69
- context: j.value,
70
- maxDate: D.value.maxDate,
71
- minDate: D.value.minDate,
72
- disableYears: D.value.disableYears
73
- }) || S("change", e);
76
+ adapter: T.value,
77
+ context: N.value,
78
+ maxDate: O.value.maxDate,
79
+ minDate: O.value.minDate,
80
+ disableYears: O.value.disableYears
81
+ }) || C("change", e);
74
82
  };
75
83
  return {
76
- years: L,
77
- merged: D,
78
- rootBind: a(() => n(O.value?.root, k.value, h({
84
+ years: R,
85
+ merged: O,
86
+ rootBind: a(() => n(A.value?.root, j.value, h({
79
87
  "flex flex-col": !0,
80
- [A.value.root ?? ""]: !0
88
+ [M.value.root ?? ""]: !0
81
89
  }))),
82
- gridBind: a(() => n(O.value?.grid, { role: "grid" }, h({
90
+ gridBind: a(() => n(A.value?.grid, { role: "grid" }, h({
83
91
  "grid grid-cols-3 gap-2": !0,
84
- [A.value.grid ?? ""]: !0
92
+ [M.value.grid ?? ""]: !0
85
93
  }))),
86
- pageSize: M,
87
- startYear: N,
88
- selectYear: R,
94
+ pageSize: P,
95
+ startYear: F,
96
+ selectYear: z,
89
97
  getYearBind: (e) => {
90
- let t = I.value;
91
- return n(O.value?.year, {
98
+ let t = L.value;
99
+ return n(A.value?.year, {
92
100
  type: "button",
93
101
  disabled: e.disabled,
94
102
  "aria-pressed": e.selected,
95
- onClick: () => R(e.year)
103
+ onClick: () => z(e.year)
96
104
  }, h({
97
105
  "cursor-pointer p-2.5 text-xs uppercase transition-all duration-150 ease-in-out outline-none focus:ring-2 focus:ring-offset-2 disabled:cursor-not-allowed": !0,
98
- [F.value ?? ""]: !0,
106
+ [I.value ?? ""]: !0,
99
107
  [t?.soft ?? ""]: e.state === "base",
100
108
  [t?.hover ?? ""]: e.state === "base",
101
109
  [t?.selected ?? ""]: e.state === "selected",
102
110
  [t?.disabled ?? ""]: e.state === "disabled",
103
- [A.value.year ?? ""]: !0
111
+ [M.value.year ?? ""]: !0
104
112
  }));
105
113
  }
106
114
  };
107
115
  }
108
116
  //#endregion
109
- export { b as useCalendarYear };
117
+ export { x as useCalendarYear };
@@ -1,3 +1,3 @@
1
- export type { CalendarYearClasses, CalendarYearColorOverrides, CalendarYearCustomProps, CalendarYearEmits, CalendarYearOwnProps, CalendarYearProps, CalendarYearRoundedOverrides, CalendarYearTokens, } from './calendarYear.types';
1
+ export type { CalendarYearClasses, CalendarYearColorOverrides, CalendarYearCustomProps, CalendarYearEmits, CalendarYearOwnProps, CalendarYearProps, CalendarYearRoundedOverrides, } from './calendarYear.types';
2
2
  export { default as CalendarYear } from './CalendarYear.vue';
3
3
  export { useCalendarYear, type CalendarYearCell, } from './composables/useCalendarYear';
@@ -2,8 +2,8 @@ import { mergePartBind as e, useBridgeUIComponent as t, useBridgeUIMergedRegistr
2
2
  import { useFormControl as r } from "../../FormControl/composables/useFormControl.js";
3
3
  import { computed as i, ref as a, toValue as o, useAttrs as s, watchEffect as c } from "vue";
4
4
  import { get as l, omit as u } from "es-toolkit/compat";
5
- import { checkboxColorProps as d, checkboxInvalidatedProps as f, checkboxRoundedProps as p, checkboxSizeProps as m } from "@bridge-ui/core/Tokens";
6
- import { cn as h, mergeBridgeUILayeredClasses as g, splitComponentProps as _ } from "@bridge-ui/core/Utils";
5
+ import { checkboxColorProps as d, checkboxRoundedProps as f, checkboxSizeProps as p } from "@bridge-ui/core/Tokens";
6
+ import { cn as m, getColorToken as h, mergeBridgeUILayeredClasses as g, splitComponentProps as _ } from "@bridge-ui/core/Utils";
7
7
  //#region src/Components/Checkbox/composables/useCheckbox.ts
8
8
  var v = [
9
9
  "size",
@@ -37,49 +37,53 @@ function y(y, b, x) {
37
37
  props: () => T.value.componentProps
38
38
  }), A = i(() => !!o(x)), j = i(() => {
39
39
  let e = g(d, D.value?.tokens?.color);
40
- return l(e, E.value.color ?? "primary");
41
- }), M = i(() => g(f, D.value?.tokens?.invalidated)), N = i(() => w.invalidated.value ? M.value : j.value), P = i(() => {
42
- let e = g(m, D.value?.tokens?.size);
40
+ return h({
41
+ tokens: e,
42
+ color: E.value.color,
43
+ invalid: w.invalidated.value
44
+ });
45
+ }), M = i(() => {
46
+ let e = g(p, D.value?.tokens?.size);
43
47
  return l(e, E.value.size ?? "sm");
44
- }), F = i(() => {
45
- let e = g(p, D.value?.tokens?.rounded);
48
+ }), N = i(() => {
49
+ let e = g(f, D.value?.tokens?.rounded);
46
50
  return l(e, E.value.rounded ?? "sm");
47
51
  });
48
52
  c(() => {
49
53
  C.value && (C.value.indeterminate = !!E.value.indeterminate);
50
54
  });
51
- let I = i(() => e({
55
+ let P = i(() => e({
52
56
  ...O.value?.input,
53
57
  ...w.controlBind.value,
54
58
  type: "checkbox"
55
- }, u(T.value.inheritedAttrs, ["class"]), h({
59
+ }, u(T.value.inheritedAttrs, ["class"]), m({
56
60
  "sr-only": !0,
57
61
  [k.value.input ?? ""]: !0
58
- }))), L = i(() => e(O.value?.control, { "aria-hidden": !0 }, h({
62
+ }))), F = i(() => e(O.value?.control, { "aria-hidden": !0 }, m({
59
63
  "inline-flex shrink-0 items-center justify-center border shadow-sm transition ease-in-out duration-100": !0,
60
64
  "pointer-events-none": !0,
61
- [P.value ?? ""]: !0,
62
- [F.value ?? ""]: !0,
63
- [N.value?.base ?? ""]: !A.value,
64
- [N.value?.checked ?? ""]: A.value,
65
+ [M.value ?? ""]: !0,
66
+ [N.value ?? ""]: !0,
67
+ [j.value?.base ?? ""]: !A.value,
68
+ [j.value?.checked ?? ""]: A.value,
65
69
  [k.value.control ?? ""]: !0
66
70
  })));
67
71
  return {
68
72
  merged: E,
69
- iconBind: i(() => e(O.value?.icon, {}, h({
73
+ iconBind: i(() => e(O.value?.icon, {}, m({
70
74
  "text-white": !0,
71
75
  [k.value.icon ?? ""]: !0
72
76
  }))),
73
77
  inputRef: C,
74
- fieldBind: i(() => e({}, {}, h({
78
+ fieldBind: i(() => e({}, {}, m({
75
79
  "relative inline-flex shrink-0 cursor-pointer items-center": !0,
76
80
  "has-[:focus-visible]:ring-2 has-[:focus-visible]:ring-offset-2": !0,
77
- [N.value?.focus ?? ""]: !0
81
+ [j.value?.focus ?? ""]: !0
78
82
  }))),
79
- inputBind: I,
83
+ inputBind: P,
80
84
  isChecked: A,
81
85
  formControl: w,
82
- controlBind: L
86
+ controlBind: F
83
87
  };
84
88
  }
85
89
  //#endregion
@@ -0,0 +1,5 @@
1
+ import e from "./ColorField.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/Components/ColorField/ColorField.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,38 @@
1
+ import { ColorFieldOwnProps, ColorFieldSlots } from './colorField.types';
2
+ type __VLS_Slots = ColorFieldSlots;
3
+ type __VLS_Props = ColorFieldOwnProps;
4
+ type __VLS_ModelProps = {
5
+ modelValue?: null | string;
6
+ };
7
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
8
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
9
+ clear: () => any;
10
+ apply: () => any;
11
+ cancel: () => any;
12
+ change: (value: string | null) => any;
13
+ close: () => any;
14
+ open: () => any;
15
+ "update:modelValue": (value: string | null | undefined) => any;
16
+ }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
17
+ onClear?: (() => any) | undefined;
18
+ onApply?: (() => any) | undefined;
19
+ onCancel?: (() => any) | undefined;
20
+ onChange?: ((value: string | null) => any) | undefined;
21
+ onClose?: (() => any) | undefined;
22
+ onOpen?: (() => any) | undefined;
23
+ "onUpdate:modelValue"?: ((value: string | null | undefined) => any) | undefined;
24
+ }>, {
25
+ fill: boolean;
26
+ showFooter: boolean;
27
+ showErrorIcon: boolean;
28
+ clearable: boolean;
29
+ showSwatch: boolean;
30
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
31
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
32
+ declare const _default: typeof __VLS_export;
33
+ export default _default;
34
+ type __VLS_WithSlots<T, S> = T & {
35
+ new (): {
36
+ $slots: S;
37
+ };
38
+ };
@@ -0,0 +1,149 @@
1
+ import { useResolveMessage as e } from "../../Adapters/I18n/useI18nAdapter.js";
2
+ import { presentSlotNames as t } from "../../Utils/slotOrProp.js";
3
+ import n from "../Icon/Icon.js";
4
+ import { FORM_FIELD_CHROME_SLOT_NAMES as r } from "../FormField/formField.types.js";
5
+ import i from "../FormField/FormField.js";
6
+ import a from "../FieldOverlay/FieldOverlay.js";
7
+ import { useColorField as o } from "./composables/useColorField.js";
8
+ import s from "../ColorPicker/ColorPicker.js";
9
+ import { Fragment as c, computed as l, createCommentVNode as u, createElementBlock as d, createElementVNode as f, createSlots as p, createVNode as m, defineComponent as h, guardReactiveProps as g, mergeModels as _, mergeProps as v, normalizeClass as y, normalizeProps as b, openBlock as x, ref as S, renderList as C, renderSlot as w, unref as T, useModel as ee, withCtx as E, withKeys as D, withModifiers as O } from "vue";
10
+ import { isUndefined as k } from "es-toolkit/compat";
11
+ //#region src/Components/ColorField/ColorField.vue?vue&type=script&setup=true&lang.ts
12
+ var A = { class: "flex min-w-0 flex-1 items-center gap-2" }, j = ["aria-label"], M = /*@__PURE__*/ h({
13
+ inheritAttrs: !1,
14
+ __name: "ColorField",
15
+ props: /*@__PURE__*/ _({
16
+ alpha: { type: Boolean },
17
+ classes: {},
18
+ clearable: {
19
+ type: Boolean,
20
+ default: !0
21
+ },
22
+ customProps: {},
23
+ defaultValue: {},
24
+ editable: { type: Boolean },
25
+ fill: {
26
+ type: Boolean,
27
+ default: void 0
28
+ },
29
+ format: {},
30
+ overlay: {},
31
+ showFooter: {
32
+ type: Boolean,
33
+ default: void 0
34
+ },
35
+ showSwatch: {
36
+ type: Boolean,
37
+ default: !0
38
+ },
39
+ swatches: {},
40
+ color: {},
41
+ controlId: {},
42
+ corner: {},
43
+ description: {},
44
+ disabled: { type: Boolean },
45
+ end: {},
46
+ endIcon: {},
47
+ error: { type: Boolean },
48
+ errorIcon: {},
49
+ errorMessage: {},
50
+ hideErrorMessage: { type: Boolean },
51
+ label: {},
52
+ readonly: { type: Boolean },
53
+ required: { type: Boolean },
54
+ rounded: {},
55
+ showErrorIcon: {
56
+ type: Boolean,
57
+ default: !0
58
+ },
59
+ size: {},
60
+ slots: {},
61
+ start: {},
62
+ startIcon: {},
63
+ variant: {}
64
+ }, {
65
+ modelValue: {},
66
+ modelModifiers: {}
67
+ }),
68
+ emits: /*@__PURE__*/ _([
69
+ "apply",
70
+ "cancel",
71
+ "change",
72
+ "clear",
73
+ "close",
74
+ "open"
75
+ ], ["update:modelValue"]),
76
+ setup(h, { emit: _ }) {
77
+ let M = ee(h, "modelValue"), N = h, P = _, F = e(), I = S(N.defaultValue ?? null), L = l({
78
+ set: (e) => {
79
+ M.value = e, I.value = e;
80
+ },
81
+ get: () => k(M.value) ? I.value : M.value
82
+ }), { open: R, fill: z, format: B, overlay: V, colorOnly: H, formField: U, inputBind: W, clearBind: G, swatchBind: K, clearValue: q, modelValue: J, showFooter: Y, showSwatch: X, pickerClass: Z, clearIconSize: Q, showClearIcon: $, swatchFillBind: te, handleOpenChange: ne, handlePickerChange: re, handlePickerCancel: ie, overlayCustomProps: ae, colorPickerCustomProps: oe } = o(N, L, P);
83
+ return (e, o) => (x(), d(c, null, [m(T(i), { field: T(U) }, p({
84
+ default: E(() => [f("div", A, [
85
+ T(X) ? (x(), d("span", b(v({ key: 0 }, T(K))), [f("span", b(g(T(te))), null, 16)], 16)) : u("", !0),
86
+ f("input", b(g(T(W))), null, 16),
87
+ T($) ? (x(), d("span", v({ key: 1 }, T(G), {
88
+ onClick: o[0] ||= (...e) => T(q) && T(q)(...e),
89
+ "aria-label": T(F)("Clear"),
90
+ onKeydown: [o[1] ||= D(O((...e) => T(q) && T(q)(...e), ["prevent"]), ["enter"]), o[2] ||= D(O((...e) => T(q) && T(q)(...e), ["prevent"]), ["space"])]
91
+ }), [m(T(n), v({
92
+ icon: "clear",
93
+ size: T(Q)
94
+ }, N.customProps?.clearIcon), null, 16, ["size"])], 16, j)) : u("", !0)
95
+ ])]),
96
+ _: 2
97
+ }, [C(T(t)(T(r), e.$slots), (t) => ({
98
+ name: t,
99
+ fn: E((n) => [w(e.$slots, t, b(g(n || {})))])
100
+ }))]), 1032, ["field"]), m(T(a), {
101
+ overlay: T(V),
102
+ "model-value": T(R),
103
+ "custom-props": T(ae),
104
+ "onUpdate:modelValue": T(ne)
105
+ }, {
106
+ default: E(() => [m(T(s), {
107
+ fill: T(z),
108
+ format: T(B),
109
+ value: T(J),
110
+ class: y(T(Z)),
111
+ alpha: T(H).alpha,
112
+ "show-footer": T(Y),
113
+ "read-only": N.readonly,
114
+ swatches: T(H).swatches,
115
+ onChange: T(re),
116
+ onCancel: T(ie),
117
+ "custom-props": T(oe),
118
+ disabled: T(U).isDisabled.value,
119
+ rounded: T(U).merged.value.rounded
120
+ }, p({ _: 2 }, [e.$slots.footer ? {
121
+ name: "footer",
122
+ fn: E((t) => [w(e.$slots, "footer", b(g(t)))]),
123
+ key: "0"
124
+ } : void 0]), 1032, [
125
+ "fill",
126
+ "format",
127
+ "value",
128
+ "class",
129
+ "alpha",
130
+ "show-footer",
131
+ "read-only",
132
+ "swatches",
133
+ "onChange",
134
+ "onCancel",
135
+ "custom-props",
136
+ "disabled",
137
+ "rounded"
138
+ ])]),
139
+ _: 3
140
+ }, 8, [
141
+ "overlay",
142
+ "model-value",
143
+ "custom-props",
144
+ "onUpdate:modelValue"
145
+ ])], 64));
146
+ }
147
+ });
148
+ //#endregion
149
+ export { M as default };
@@ -0,0 +1,179 @@
1
+ import { HTMLAttributes, InputHTMLAttributes, Slot } from 'vue';
2
+ import { ColorFormat, FieldOverlayFooterSlotProps, FieldOverlayMode } from '@bridge-ui/core/Domain';
3
+ import { MergeHtmlProps } from '@bridge-ui/core/Utils';
4
+ import { ColorPickerCustomProps } from '../ColorPicker/colorPicker.types';
5
+ import { DrawerOwnProps } from '../Drawer/drawer.types';
6
+ import { FormFieldClasses, FormFieldCustomProps, FormFieldOwnProps, FormFieldSlots } from '../FormField/formField.types';
7
+ import { IconProps } from '../Icon';
8
+ import { MenuOwnProps } from '../Menu/menu.types';
9
+ import { ModalOwnProps } from '../Modal/modal.types';
10
+ export interface ColorFieldClasses extends FormFieldClasses {
11
+ /**
12
+ * Classes merged onto the clear control.
13
+ */
14
+ clear?: string;
15
+ /**
16
+ * Classes merged onto the start color swatch.
17
+ */
18
+ swatch?: string;
19
+ }
20
+ export interface ColorFieldCustomProps extends FormFieldCustomProps {
21
+ /**
22
+ * Props forwarded to the clear `Icon` (`icon` is set by `ColorField`).
23
+ *
24
+ * @default undefined
25
+ */
26
+ clearIcon?: Partial<Omit<IconProps, "icon">>;
27
+ /**
28
+ * Props forwarded to the nested `ColorPicker`.
29
+ *
30
+ * @default undefined
31
+ */
32
+ colorPicker?: ColorPickerCustomProps;
33
+ /**
34
+ * Props forwarded to the nested `Drawer` when overlay resolves to drawer.
35
+ *
36
+ * @default undefined
37
+ */
38
+ drawer?: Partial<DrawerOwnProps>;
39
+ /**
40
+ * Props forwarded to the floating `Menu` when overlay resolves to menu.
41
+ *
42
+ * @default undefined
43
+ */
44
+ menu?: Partial<MenuOwnProps>;
45
+ /**
46
+ * Props forwarded to the nested `Modal` when overlay resolves to modal.
47
+ *
48
+ * @default undefined
49
+ */
50
+ modal?: Partial<ModalOwnProps>;
51
+ /**
52
+ * Props forwarded to the start color swatch.
53
+ *
54
+ * @default undefined
55
+ */
56
+ swatch?: HTMLAttributes;
57
+ }
58
+ export interface ColorFieldEmits {
59
+ /**
60
+ * Emitted when Apply is pressed (`showFooter`).
61
+ */
62
+ apply: [];
63
+ /**
64
+ * Emitted when Cancel is pressed (`showFooter`).
65
+ */
66
+ cancel: [];
67
+ /**
68
+ * Emitted when the selected color changes.
69
+ */
70
+ change: [value: null | string];
71
+ /**
72
+ * Emitted when the value is cleared.
73
+ */
74
+ clear: [];
75
+ /**
76
+ * Emitted when the menu closes.
77
+ */
78
+ close: [];
79
+ /**
80
+ * Emitted when the menu opens.
81
+ */
82
+ open: [];
83
+ }
84
+ export interface ColorFieldOwnProps extends Omit<FormFieldOwnProps, "field" | "classes" | "customProps"> {
85
+ /**
86
+ * Shows the alpha slider in the nested picker. When unset, follows `format`.
87
+ *
88
+ * @default false (`true` for alpha formats when unset)
89
+ */
90
+ alpha?: boolean;
91
+ /**
92
+ * Classes for field / input regions.
93
+ *
94
+ * @default undefined
95
+ */
96
+ classes?: ColorFieldClasses;
97
+ /**
98
+ * Whether the value can be cleared.
99
+ *
100
+ * @default true
101
+ */
102
+ clearable?: boolean;
103
+ /**
104
+ * Extra props for internal parts.
105
+ *
106
+ * @default undefined
107
+ */
108
+ customProps?: ColorFieldCustomProps;
109
+ /**
110
+ * Uncontrolled initial value.
111
+ *
112
+ * @default null
113
+ */
114
+ defaultValue?: null | string;
115
+ /**
116
+ * Unlocks the input for typing. Typed text is parsed and committed on blur
117
+ * or Enter. When unset, the input is read-only.
118
+ *
119
+ * @default false
120
+ */
121
+ editable?: boolean;
122
+ /**
123
+ * When `true`, the picker fills the overlay width.
124
+ * When `false`, it stays at its minimum width.
125
+ * Unset: `true` for `drawer`, `false` for `menu` and `modal`.
126
+ *
127
+ * @default undefined
128
+ */
129
+ fill?: boolean;
130
+ /**
131
+ * Serialized output format.
132
+ *
133
+ * @default "hex"
134
+ */
135
+ format?: ColorFormat;
136
+ /**
137
+ * Which overlay shell opens the picker. `auto` uses `menu` on desktop and
138
+ * `drawer` (bottom) on mobile.
139
+ *
140
+ * @default "auto"
141
+ */
142
+ overlay?: FieldOverlayMode;
143
+ /**
144
+ * Shows Cancel / Apply on the nested picker. When unset, defaults to `true` for dialog
145
+ * shells (`modal` / `drawer`).
146
+ *
147
+ * @default false (`true` for `modal` / `drawer` when unset)
148
+ */
149
+ showFooter?: boolean;
150
+ /**
151
+ * Shows the selected color swatch at the start of the field.
152
+ *
153
+ * @default true
154
+ */
155
+ showSwatch?: boolean;
156
+ /**
157
+ * Preset colors forwarded to the nested picker.
158
+ *
159
+ * @default undefined
160
+ */
161
+ swatches?: string[];
162
+ }
163
+ export interface ColorFieldSlots extends FormFieldSlots {
164
+ /**
165
+ * Custom footer. Replaces Cancel / Apply. Call `apply()` to commit and close
166
+ * the overlay, or `cancel()` to discard and close.
167
+ *
168
+ * @default undefined
169
+ */
170
+ footer?: Slot<FieldOverlayFooterSlotProps>;
171
+ }
172
+ export type ColorFieldProps = MergeHtmlProps<ColorFieldOwnProps, InputHTMLAttributes> & {
173
+ /**
174
+ * Bound with `v-model` on the component (`defineModel` internally).
175
+ *
176
+ * @default undefined
177
+ */
178
+ modelValue?: null | string;
179
+ };