@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
@@ -0,0 +1,182 @@
1
+ import { hasNamedSlot as e } from "../../../Utils/slotOrProp.js";
2
+ import { useBreakpoint as t } from "../../../Utils/useBreakpoint.js";
3
+ import { mergePartBind as n, resolveFieldAdornmentIconSize as r, useFieldShowFooter as i, usePickerFill as a } from "../../../Utils/index.js";
4
+ import { formFieldBridgeKeys as ee, useFormField as te } from "../../FormField/composables/useFormField.js";
5
+ import { computed as o, ref as s, useAttrs as ne, useSlots as c } from "vue";
6
+ import { get as l, isNil as u, omit as d } from "es-toolkit/compat";
7
+ import { DEFAULT_COLOR_FORMAT as f, formatColor as p, normalizeColorValue as m, parseColor as h, resolveFieldOverlay as g, resolveFieldPickerClassName as _, toCssRgba as v } from "@bridge-ui/core/Domain";
8
+ import { colorPickerRoundedProps as y, colorPickerSizeProps as b, listboxColorProps as x } from "@bridge-ui/core/Tokens";
9
+ import { cn as S, splitComponentProps as C } from "@bridge-ui/core/Utils";
10
+ //#region src/Components/ColorField/composables/useColorField.ts
11
+ var re = [
12
+ "fill",
13
+ "alpha",
14
+ "format",
15
+ "classes",
16
+ "overlay",
17
+ "editable",
18
+ "swatches",
19
+ "clearable",
20
+ "showFooter",
21
+ "showSwatch",
22
+ "customProps",
23
+ "defaultValue"
24
+ ], ie = "bg-[image:repeating-conic-gradient(#d1d5db_0%_25%,#ffffff_0%_50%)] bg-[size:0.5rem_0.5rem] dark:bg-[image:repeating-conic-gradient(#4b5563_0%_25%,#1f2937_0%_50%)]";
25
+ function ae(e, t) {
26
+ if (u(e) || e.length === 0) return "";
27
+ let n = h(e);
28
+ return n ? p(n, t) : e;
29
+ }
30
+ function w(p, w, T) {
31
+ let oe = ne(), E = c(), D = t(), O = s(!1), k = s(null), A = s(null), j = o(() => C({
32
+ props: {
33
+ ...oe,
34
+ ...p
35
+ },
36
+ bridgeKeys: re
37
+ })), M = o(() => j.value.componentProps), N = o(() => w.value ?? null), P = o(() => M.value.format ?? f), F = o(() => M.value.clearable !== !1), I = o(() => M.value.showSwatch !== !1), L = o(() => !u(N.value) && N.value.length > 0), R = o(() => g(M.value.overlay, D.mobile)), z = a({
38
+ overlay: R,
39
+ componentName: "ColorField",
40
+ fill: () => M.value.fill
41
+ }), B = o(() => _(z.value, R.value)), V = (e) => {
42
+ k.value = e instanceof HTMLElement ? e : null;
43
+ };
44
+ function H(e) {
45
+ O.value !== e && (O.value = e, T(e ? "open" : "close"));
46
+ }
47
+ let U = o(() => d(j.value.inheritedAttrs, ["class"])), W = o(() => {
48
+ let t = C({
49
+ bridgeKeys: ee,
50
+ props: U.value
51
+ }).componentProps, r = t.endIcon ?? (e(E, "end") ? void 0 : "palette"), { menu: i, swatch: a, clearIcon: te, colorPicker: o, ...s } = M.value.customProps ?? {};
52
+ return {
53
+ ...t,
54
+ endIcon: r,
55
+ classes: M.value.classes,
56
+ customProps: {
57
+ ...s,
58
+ container: n(s.container, {}, {
59
+ ref: V,
60
+ class: S({ "cursor-pointer": !p.disabled && !p.readonly }),
61
+ onClick: (e) => {
62
+ p.disabled || p.readonly || e.target.closest("[data-field-clear]") || H(!0);
63
+ }
64
+ })
65
+ }
66
+ };
67
+ }), G = te(() => W.value, {
68
+ size: "md",
69
+ rounded: "md",
70
+ color: "primary",
71
+ variant: "outline",
72
+ showErrorIcon: !0
73
+ }, { componentName: "ColorField" }), K = o(() => L.value && F.value && !p.readonly && !G.isDisabled.value), q = o(() => A.value === null ? ae(N.value, P.value) : A.value), J = o(() => h(N.value)), Y = o(() => J.value ? v(J.value) : void 0);
74
+ function X(e) {
75
+ w.value = e, A.value = null, T("change", e);
76
+ }
77
+ function Z(e) {
78
+ let t = e.trim();
79
+ if (t.length === 0) {
80
+ X(null);
81
+ return;
82
+ }
83
+ let n = m(t, P.value);
84
+ if (!n) {
85
+ A.value = null;
86
+ return;
87
+ }
88
+ X(n);
89
+ }
90
+ let Q = i({
91
+ overlay: R,
92
+ componentName: "ColorField",
93
+ showFooter: () => M.value.showFooter
94
+ });
95
+ function se(e) {
96
+ X(e), Q.value && T("apply");
97
+ }
98
+ function ce() {
99
+ T("cancel");
100
+ }
101
+ function le(e) {
102
+ e?.preventDefault(), e?.stopPropagation(), !(p.disabled || p.readonly) && (X(null), T("clear"), H(!1));
103
+ }
104
+ function $(e) {
105
+ e.preventDefault();
106
+ }
107
+ let ue = o(() => n({
108
+ value: q.value,
109
+ readonly: !M.value.editable || G.inputBind.value.readonly,
110
+ onFocus: (e) => {
111
+ G.inputBind.value.onFocus?.(e), H(!0);
112
+ },
113
+ onBlur: () => {
114
+ M.value.editable && A.value !== null && Z(A.value);
115
+ },
116
+ onInput: (e) => {
117
+ M.value.editable && (A.value = e.target.value);
118
+ },
119
+ onKeydown: (e) => {
120
+ G.inputBind.value.onKeydown?.(e), e.key === "Escape" && (A.value = null, H(!1)), e.key === "Enter" && M.value.editable && A.value !== null && (e.preventDefault(), Z(A.value));
121
+ }
122
+ }, void 0, G.inputBind.value)), de = o(() => M.value.overlay), fe = o(() => ({
123
+ modal: M.value.customProps?.modal,
124
+ drawer: M.value.customProps?.drawer,
125
+ menu: {
126
+ anchorEl: k.value,
127
+ placement: "bottom-start",
128
+ ...M.value.customProps?.menu
129
+ }
130
+ })), pe = o(() => M.value.customProps?.colorPicker), me = o(() => r(G.merged.value.size)), he = o(() => l(x, [G.merged.value.color ?? "primary", "clear"]) ?? "text-dark-400 hover:text-dark-600 dark:text-dark-500 dark:hover:text-dark-300");
131
+ return {
132
+ open: O,
133
+ fill: z,
134
+ format: P,
135
+ overlay: de,
136
+ hasValue: L,
137
+ colorOnly: M,
138
+ formField: G,
139
+ inputBind: ue,
140
+ clearable: F,
141
+ clearBind: o(() => n({}, {}, {
142
+ tabindex: 0,
143
+ role: "button",
144
+ "data-field-clear": !0,
145
+ onMousedown: $,
146
+ class: S({
147
+ "inline-flex shrink-0 cursor-pointer items-center justify-center rounded-sm transition-colors duration-150": !0,
148
+ [he.value]: !0,
149
+ [M.value.classes?.clear ?? ""]: !0
150
+ })
151
+ })),
152
+ swatchBind: o(() => {
153
+ let e = l(b, [G.merged.value.size ?? "md", "fieldSwatch"]), t = l(y, G.merged.value.rounded ?? "md");
154
+ return n(M.value.customProps?.swatch, { "aria-hidden": !0 }, S({
155
+ "relative shrink-0 overflow-hidden": !0,
156
+ [ie]: !0,
157
+ [e]: !0,
158
+ [t]: !0,
159
+ [M.value.classes?.swatch ?? ""]: !0
160
+ }));
161
+ }),
162
+ clearValue: le,
163
+ modelValue: N,
164
+ showFooter: Q,
165
+ showSwatch: I,
166
+ pickerClass: B,
167
+ containerRef: k,
168
+ clearIconSize: me,
169
+ showClearIcon: K,
170
+ swatchFillBind: o(() => ({
171
+ class: "absolute inset-0",
172
+ style: Y.value ? { backgroundColor: Y.value } : void 0
173
+ })),
174
+ handleOpenChange: H,
175
+ handlePickerChange: se,
176
+ handlePickerCancel: ce,
177
+ overlayCustomProps: fe,
178
+ colorPickerCustomProps: pe
179
+ };
180
+ }
181
+ //#endregion
182
+ export { w as useColorField };
@@ -0,0 +1,3 @@
1
+ export type { ColorFieldClasses, ColorFieldCustomProps, ColorFieldEmits, ColorFieldOwnProps, ColorFieldProps, ColorFieldSlots, } from './colorField.types';
2
+ export { default as ColorField } from './ColorField.vue';
3
+ export { useColorField } from './composables/useColorField';
@@ -0,0 +1,3 @@
1
+ import { useColorField as e } from "./composables/useColorField.js";
2
+ import t from "./ColorField.js";
3
+ export { t as ColorField, e as useColorField };
@@ -0,0 +1,5 @@
1
+ import e from "./ColorPicker.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/Components/ColorPicker/ColorPicker.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,21 @@
1
+ import { ColorPickerOwnProps, ColorPickerSlots } from './colorPicker.types';
2
+ type __VLS_Slots = ColorPickerSlots;
3
+ declare const __VLS_base: import('vue').DefineComponent<ColorPickerOwnProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
4
+ apply: () => any;
5
+ cancel: () => any;
6
+ change: (value: string | null) => any;
7
+ }, string, import('vue').PublicProps, Readonly<ColorPickerOwnProps> & Readonly<{
8
+ onApply?: (() => any) | undefined;
9
+ onCancel?: (() => any) | undefined;
10
+ onChange?: ((value: string | null) => any) | undefined;
11
+ }>, {
12
+ showFooter: boolean;
13
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
14
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
15
+ declare const _default: typeof __VLS_export;
16
+ export default _default;
17
+ type __VLS_WithSlots<T, S> = T & {
18
+ new (): {
19
+ $slots: S;
20
+ };
21
+ };
@@ -0,0 +1,91 @@
1
+ import e from "../Button/Button.js";
2
+ import { useColorPicker as t } from "./composables/useColorPicker.js";
3
+ import { Fragment as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createTextVNode as o, createVNode as s, defineComponent as c, guardReactiveProps as l, mergeProps as u, normalizeClass as d, normalizeProps as f, normalizeStyle as p, openBlock as m, renderList as h, renderSlot as g, toDisplayString as _, unref as v, withCtx as y } from "vue";
4
+ import { cn as b } from "@bridge-ui/core/Utils";
5
+ //#region src/Components/ColorPicker/ColorPicker.vue?vue&type=script&setup=true&lang.ts
6
+ var x = { class: "min-w-0 truncate text-sm text-dark-700 dark:text-dark-100" }, S = [
7
+ "aria-label",
8
+ "onClick",
9
+ "aria-pressed",
10
+ "disabled"
11
+ ], C = /*@__PURE__*/ c({
12
+ inheritAttrs: !1,
13
+ __name: "ColorPicker",
14
+ props: {
15
+ alpha: { type: Boolean },
16
+ classes: {},
17
+ customProps: {},
18
+ defaultValue: {},
19
+ disabled: { type: Boolean },
20
+ fill: { type: Boolean },
21
+ format: {},
22
+ readOnly: { type: Boolean },
23
+ rounded: {},
24
+ showFooter: {
25
+ type: Boolean,
26
+ default: void 0
27
+ },
28
+ swatches: {},
29
+ value: {}
30
+ },
31
+ emits: [
32
+ "apply",
33
+ "cancel",
34
+ "change"
35
+ ],
36
+ setup(c, { emit: C }) {
37
+ let { merged: w, hueBind: T, rootBind: E, areaBind: D, alphaBind: O, showAlpha: k, swatchCss: A, footerBind: j, applyLabel: M, showFooter: N, previewBind: P, contentBind: F, handleApply: I, cancelLabel: L, swatchesBind: R, handleCancel: z, hueThumbBind: B, areaThumbBind: V, alphaFillBind: H, formattedValue: U, alphaThumbBind: W, presetSwatches: G, applyButtonProps: K, isSwatchSelected: q, previewSwatchBind: J, handleSwatchClick: Y, swatchButtonClass: X, cancelButtonProps: Z, swatchSelectedClass: Q, previewSwatchFillBind: $ } = t(c, {
38
+ rounded: "md",
39
+ format: "hex"
40
+ }, C);
41
+ return (t, c) => (m(), i("div", f(l(v(E))), [a("div", { class: d(v(F)) }, [
42
+ a("div", f(l(v(D))), [
43
+ c[0] ||= a("span", {
44
+ "aria-hidden": "",
45
+ class: "pointer-events-none absolute inset-0",
46
+ style: { backgroundImage: "linear-gradient(to right, #fff, transparent)" }
47
+ }, null, -1),
48
+ c[1] ||= a("span", {
49
+ "aria-hidden": "",
50
+ class: "pointer-events-none absolute inset-0",
51
+ style: { backgroundImage: "linear-gradient(to top, #000, transparent)" }
52
+ }, null, -1),
53
+ a("span", f(l(v(V))), null, 16)
54
+ ], 16),
55
+ a("div", f(l(v(T))), [a("span", f(l(v(B))), null, 16)], 16),
56
+ v(k) ? (m(), i("div", f(u({ key: 0 }, v(O))), [a("span", f(l(v(H))), null, 16), a("span", f(l(v(W))), null, 16)], 16)) : r("", !0),
57
+ a("div", f(l(v(P))), [a("span", f(l(v(J))), [a("span", f(l(v($))), null, 16)], 16), a("span", x, _(v(U)), 1)], 16),
58
+ v(G).length > 0 ? (m(), i("div", f(u({ key: 1 }, v(R))), [(m(!0), i(n, null, h(v(G), (e) => (m(), i("button", {
59
+ type: "button",
60
+ key: e,
61
+ "aria-label": e,
62
+ onClick: (t) => v(Y)(e),
63
+ "aria-pressed": v(q)(e),
64
+ disabled: v(w).disabled || v(w).readOnly,
65
+ class: d(v(b)({
66
+ [v(X)]: !0,
67
+ [v(Q)]: v(q)(e)
68
+ }))
69
+ }, [a("span", {
70
+ "aria-hidden": "",
71
+ class: "absolute inset-0",
72
+ style: p({ backgroundColor: v(A)(e) })
73
+ }, null, 4)], 10, S))), 128))], 16)) : r("", !0)
74
+ ], 2), v(N) ? (m(), i("div", f(u({ key: 0 }, v(j))), [g(t.$slots, "footer", {
75
+ apply: v(I),
76
+ cancel: v(z)
77
+ }, () => [s(v(e), u({
78
+ variant: "flat",
79
+ color: "secondary",
80
+ onClick: v(z)
81
+ }, v(Z)), {
82
+ default: y(() => [o(_(v(L)), 1)]),
83
+ _: 1
84
+ }, 16, ["onClick"]), s(v(e), u({ color: "primary" }, v(K), { onClick: v(I) }), {
85
+ default: y(() => [o(_(v(M)), 1)]),
86
+ _: 1
87
+ }, 16, ["onClick"])])], 16)) : r("", !0)], 16));
88
+ }
89
+ });
90
+ //#endregion
91
+ export { C as default };
@@ -0,0 +1,200 @@
1
+ import { HTMLAttributes, Slot } from 'vue';
2
+ import { ColorFormat, FieldOverlayFooterSlotProps } from '@bridge-ui/core/Domain';
3
+ import { ColorPickerRounded } from '@bridge-ui/core/Tokens';
4
+ import { MergeHtmlProps, MergeProps } from '@bridge-ui/core/Utils';
5
+ import { ButtonProps } from '../Button/button.types';
6
+ export interface ColorPickerRoundedOverrides {}
7
+ export interface ColorPickerClasses {
8
+ /**
9
+ * Classes for the alpha slider.
10
+ */
11
+ alpha?: string;
12
+ /**
13
+ * Classes for the saturation / brightness area.
14
+ */
15
+ area?: string;
16
+ /**
17
+ * Classes for the footer.
18
+ */
19
+ footer?: string;
20
+ /**
21
+ * Classes for the hue slider.
22
+ */
23
+ hue?: string;
24
+ /**
25
+ * Classes for the preview row.
26
+ */
27
+ preview?: string;
28
+ /**
29
+ * Classes for the root element.
30
+ */
31
+ root?: string;
32
+ /**
33
+ * Classes for preset swatches.
34
+ */
35
+ swatches?: string;
36
+ }
37
+ export interface ColorPickerCustomProps {
38
+ /**
39
+ * Props forwarded to the alpha slider.
40
+ *
41
+ * @default undefined
42
+ */
43
+ alpha?: HTMLAttributes;
44
+ /**
45
+ * Props forwarded to the Apply button.
46
+ *
47
+ * @default undefined
48
+ */
49
+ applyButton?: Partial<ButtonProps>;
50
+ /**
51
+ * Props forwarded to the saturation / brightness area.
52
+ *
53
+ * @default undefined
54
+ */
55
+ area?: HTMLAttributes;
56
+ /**
57
+ * Props forwarded to the Cancel button.
58
+ *
59
+ * @default undefined
60
+ */
61
+ cancelButton?: Partial<ButtonProps>;
62
+ /**
63
+ * Props forwarded to the footer.
64
+ *
65
+ * @default undefined
66
+ */
67
+ footer?: HTMLAttributes;
68
+ /**
69
+ * Props forwarded to the hue slider.
70
+ *
71
+ * @default undefined
72
+ */
73
+ hue?: HTMLAttributes;
74
+ /**
75
+ * Props forwarded to the preview row.
76
+ *
77
+ * @default undefined
78
+ */
79
+ preview?: HTMLAttributes;
80
+ /**
81
+ * Props forwarded to the root element.
82
+ *
83
+ * @default undefined
84
+ */
85
+ root?: HTMLAttributes;
86
+ /**
87
+ * Props forwarded to the preset swatches row.
88
+ *
89
+ * @default undefined
90
+ */
91
+ swatches?: HTMLAttributes;
92
+ }
93
+ export interface ColorPickerEmits {
94
+ /**
95
+ * Emitted when Apply is pressed (`showFooter`).
96
+ */
97
+ apply: [];
98
+ /**
99
+ * Emitted when Cancel is pressed.
100
+ */
101
+ cancel: [];
102
+ /**
103
+ * Emitted when Apply is pressed (`showFooter`) or when the value commits.
104
+ */
105
+ change: [value: null | string];
106
+ }
107
+ export interface ColorPickerOwnProps {
108
+ /**
109
+ * Shows the alpha slider. When unset, follows `format` (`rgba` / `hexa` /
110
+ * `hsla` enable it).
111
+ *
112
+ * @default false (`true` for alpha formats when unset)
113
+ */
114
+ alpha?: boolean;
115
+ /**
116
+ * Classes for picker regions.
117
+ *
118
+ * @default undefined
119
+ */
120
+ classes?: ColorPickerClasses;
121
+ /**
122
+ * Extra props for internal parts.
123
+ *
124
+ * @default undefined
125
+ */
126
+ customProps?: ColorPickerCustomProps;
127
+ /**
128
+ * Uncontrolled initial value.
129
+ *
130
+ * @default null
131
+ */
132
+ defaultValue?: null | string;
133
+ /**
134
+ * Disables the picker.
135
+ *
136
+ * @default false
137
+ */
138
+ disabled?: boolean;
139
+ /**
140
+ * When `true`, fills the container width.
141
+ * When `false` or unset, stays at the minimum width.
142
+ *
143
+ * @default false
144
+ */
145
+ fill?: boolean;
146
+ /**
147
+ * Serialized output format.
148
+ *
149
+ * @default "hex"
150
+ */
151
+ format?: ColorFormat;
152
+ /**
153
+ * Prevents selection.
154
+ *
155
+ * @default false
156
+ */
157
+ readOnly?: boolean;
158
+ /**
159
+ * Border radius of the picker shell and swatches.
160
+ *
161
+ * `full` uses `rounded-panel-full` so tall surfaces do not become stadium-shaped.
162
+ * Hue and alpha tracks stay pill-shaped.
163
+ *
164
+ * `ColorField` always forwards its own `rounded` here so internals and the
165
+ * picker shell match the field. Field overlay menus are unstyled, so this
166
+ * shell is the visible radius.
167
+ *
168
+ * @default "md"
169
+ */
170
+ rounded?: MergeProps<ColorPickerRounded, ColorPickerRoundedOverrides>;
171
+ /**
172
+ * Shows Cancel / Apply footer. Selection is draft until Apply.
173
+ * Nested fields forward their own `showFooter` (dialog overlays default to `true`).
174
+ *
175
+ * @default false
176
+ */
177
+ showFooter?: boolean;
178
+ /**
179
+ * Preset colors shown below the sliders.
180
+ *
181
+ * @default undefined
182
+ */
183
+ swatches?: string[];
184
+ /**
185
+ * Controlled value.
186
+ *
187
+ * @default undefined
188
+ */
189
+ value?: null | string;
190
+ }
191
+ export interface ColorPickerSlots {
192
+ /**
193
+ * Custom footer. Replaces Cancel / Apply. Call `apply()` to commit and close
194
+ * the overlay, or `cancel()` to discard and close.
195
+ *
196
+ * @default undefined
197
+ */
198
+ footer?: Slot<FieldOverlayFooterSlotProps>;
199
+ }
200
+ export type ColorPickerProps = MergeHtmlProps<ColorPickerOwnProps, HTMLAttributes>;
@@ -0,0 +1,111 @@
1
+ import { MaybeRefOrGetter, SetupContext } from 'vue';
2
+ import { LibDefaultsShape, MergeLibDefaults } from '@bridge-ui/core/Utils';
3
+ import { ColorPickerEmits, ColorPickerOwnProps } from '../colorPicker.types';
4
+ type ColorPickerLibDefaults = LibDefaultsShape<ColorPickerOwnProps, "format" | "rounded">;
5
+ type ColorPickerMerged = MergeLibDefaults<ColorPickerOwnProps, ColorPickerLibDefaults>;
6
+ /**
7
+ * Owns controlled/uncontrolled value, optional footer draft, and panel binds.
8
+ */
9
+ export declare function useColorPicker(props: MaybeRefOrGetter<ColorPickerOwnProps>, libDefaults: ColorPickerLibDefaults, emit: SetupContext<ColorPickerEmits>["emit"]): {
10
+ merged: import('vue').ComputedRef<ColorPickerMerged>;
11
+ hueBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {
12
+ role: string;
13
+ "aria-valuemin": number;
14
+ "aria-valuemax": number;
15
+ onKeydown: (event: KeyboardEvent) => void;
16
+ "aria-label": string;
17
+ tabindex: number;
18
+ "aria-valuenow": number;
19
+ style: {
20
+ backgroundImage: string;
21
+ };
22
+ onPointerdown: (event: PointerEvent) => void;
23
+ onPointermove: (event: PointerEvent) => void;
24
+ }>>;
25
+ rootBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, Partial<Omit<ColorPickerOwnProps, "fill" | "format" | "value" | "classes" | "showFooter" | "customProps" | "rounded" | "disabled" | "defaultValue" | "readOnly" | "alpha" | "swatches">>>>;
26
+ areaBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {
27
+ role: string;
28
+ onKeydown: (event: KeyboardEvent) => void;
29
+ tabindex: number;
30
+ style: {
31
+ backgroundColor: string;
32
+ };
33
+ "aria-label": string;
34
+ "aria-valuetext": string;
35
+ onPointerdown: (event: PointerEvent) => void;
36
+ onPointermove: (event: PointerEvent) => void;
37
+ }>>;
38
+ cssColor: import('vue').ComputedRef<string>;
39
+ alphaBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {
40
+ role: string;
41
+ "aria-valuemin": number;
42
+ "aria-valuemax": number;
43
+ onKeydown: (event: KeyboardEvent) => void;
44
+ tabindex: number;
45
+ "aria-label": string;
46
+ "aria-valuenow": number;
47
+ onPointerdown: (event: PointerEvent) => void;
48
+ onPointermove: (event: PointerEvent) => void;
49
+ }>>;
50
+ showAlpha: import('vue').ComputedRef<boolean>;
51
+ footerBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
52
+ showFooter: import('vue').ComputedRef<boolean>;
53
+ previewBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
54
+ contentBind: import('vue').ComputedRef<string>;
55
+ handleApply: () => void;
56
+ swatchesBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
57
+ handleCancel: () => void;
58
+ hueThumbBind: import('vue').ComputedRef<{
59
+ "aria-hidden": boolean;
60
+ style: {
61
+ backgroundColor: string;
62
+ left: string;
63
+ };
64
+ class: string;
65
+ }>;
66
+ areaThumbBind: import('vue').ComputedRef<{
67
+ "aria-hidden": boolean;
68
+ style: {
69
+ left: string;
70
+ top: string;
71
+ };
72
+ class: string;
73
+ }>;
74
+ alphaFillBind: import('vue').ComputedRef<{
75
+ "aria-hidden": boolean;
76
+ class: string;
77
+ style: {
78
+ backgroundImage: string;
79
+ };
80
+ }>;
81
+ formattedValue: import('vue').ComputedRef<string>;
82
+ alphaThumbBind: import('vue').ComputedRef<{
83
+ "aria-hidden": boolean;
84
+ style: {
85
+ backgroundColor: string;
86
+ left: string;
87
+ };
88
+ class: string;
89
+ }>;
90
+ presetSwatches: import('vue').ComputedRef<string[]>;
91
+ previewSwatchBind: import('vue').ComputedRef<{
92
+ "aria-hidden": boolean;
93
+ class: string;
94
+ }>;
95
+ handleSwatchClick: (value: string) => void;
96
+ swatchButtonClass: import('vue').ComputedRef<string>;
97
+ swatchSelectedClass: import('vue').ComputedRef<string>;
98
+ previewSwatchFillBind: import('vue').ComputedRef<{
99
+ class: string;
100
+ style: {
101
+ backgroundColor: string;
102
+ };
103
+ }>;
104
+ applyLabel: import('vue').ComputedRef<string>;
105
+ cancelLabel: import('vue').ComputedRef<string>;
106
+ applyButtonProps: import('vue').ComputedRef<Partial<import('../../Button').ButtonProps> | undefined>;
107
+ cancelButtonProps: import('vue').ComputedRef<Partial<import('../../Button').ButtonProps> | undefined>;
108
+ isSwatchSelected: (value: string) => boolean;
109
+ swatchCss: (value: string) => string | undefined;
110
+ };
111
+ export {};