@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
@@ -24,6 +24,11 @@ var N = { class: "flex min-w-0 flex-1 items-center gap-1" }, P = ["aria-label"],
24
24
  disableDates: {},
25
25
  disableMonths: {},
26
26
  disableYears: {},
27
+ editable: { type: Boolean },
28
+ fill: {
29
+ type: Boolean,
30
+ default: void 0
31
+ },
27
32
  hideMonths: { type: Boolean },
28
33
  hideOutsideDays: { type: Boolean },
29
34
  hideWeekdays: { type: Boolean },
@@ -81,7 +86,7 @@ var N = { class: "flex min-w-0 flex-1 items-center gap-1" }, P = ["aria-label"],
81
86
  F.value = e, z.value = e;
82
87
  },
83
88
  get: () => M(F.value) ? z.value : F.value
84
- }), { open: V, overlay: H, dateOnly: U, formField: W, inputBind: G, clearBind: K, clearValue: q, modelValue: J, showFooter: Y, pickerClass: X, clearIconSize: Z, showClearIcon: Q, handleOpenChange: $, handlePickerChange: ee, handlePickerCancel: te, overlayCustomProps: ne, datePickerCustomProps: re } = o(I, B, L);
89
+ }), { open: V, fill: ee, overlay: H, dateOnly: U, formField: W, inputBind: G, clearBind: K, clearValue: q, modelValue: J, showFooter: Y, pickerClass: X, clearIconSize: Z, showClearIcon: Q, handleOpenChange: $, handlePickerChange: te, handlePickerCancel: ne, overlayCustomProps: re, datePickerCustomProps: ie } = o(I, B, L);
85
90
  return (e, o) => (S(), d(c, null, [h(D(i), { field: D(W) }, p({
86
91
  default: k(() => [f("div", N, [f("input", x(_(D(G))), null, 16), D(Q) ? (S(), d("span", y({ key: 0 }, D(K), {
87
92
  onClick: o[0] ||= (...e) => D(q) && D(q)(...e),
@@ -98,10 +103,11 @@ var N = { class: "flex min-w-0 flex-1 items-center gap-1" }, P = ["aria-label"],
98
103
  }))]), 1032, ["field"]), h(D(a), {
99
104
  overlay: D(H),
100
105
  "model-value": D(V),
101
- "custom-props": D(ne),
106
+ "custom-props": D(re),
102
107
  "onUpdate:modelValue": D($)
103
108
  }, {
104
109
  default: k(() => [h(D(s), {
110
+ fill: D(ee),
105
111
  value: D(J),
106
112
  class: b(D(X)),
107
113
  range: D(U).range,
@@ -112,13 +118,14 @@ var N = { class: "flex min-w-0 flex-1 items-center gap-1" }, P = ["aria-label"],
112
118
  multiple: D(U).multiple,
113
119
  "time-zone": D(U).timeZone,
114
120
  "hide-years": D(U).hideYears,
115
- onChange: D(ee),
116
- onCancel: D(te),
121
+ onChange: D(te),
122
+ onCancel: D(ne),
117
123
  "hide-months": D(U).hideMonths,
118
124
  "default-view": D(U).defaultView,
125
+ error: D(W).invalidated.value,
119
126
  color: D(W).merged.value.color,
120
127
  "start-of-week": D(U).startOfWeek,
121
- "custom-props": D(re),
128
+ "custom-props": D(ie),
122
129
  disabled: D(W).isDisabled.value,
123
130
  "disable-dates": D(U).disableDates,
124
131
  "hide-weekdays": D(U).hideWeekdays,
@@ -133,32 +140,7 @@ var N = { class: "flex min-w-0 flex-1 items-center gap-1" }, P = ["aria-label"],
133
140
  name: "footer",
134
141
  fn: k((t) => [T(e.$slots, "footer", x(_(t)))]),
135
142
  key: "0"
136
- } : void 0]), 1032, [
137
- "value",
138
- "class",
139
- "range",
140
- "show-footer",
141
- "read-only",
142
- "max-date",
143
- "min-date",
144
- "multiple",
145
- "time-zone",
146
- "hide-years",
147
- "onChange",
148
- "onCancel",
149
- "hide-months",
150
- "default-view",
151
- "color",
152
- "start-of-week",
153
- "custom-props",
154
- "disabled",
155
- "disable-dates",
156
- "hide-weekdays",
157
- "disable-years",
158
- "disable-months",
159
- "rounded",
160
- "hide-outside-days"
161
- ])]),
143
+ } : void 0]), 1032, /* @__PURE__ */ "fill.value.class.range.show-footer.read-only.max-date.min-date.multiple.time-zone.hide-years.onChange.onCancel.hide-months.default-view.error.color.start-of-week.custom-props.disabled.disable-dates.hide-weekdays.disable-years.disable-months.rounded.hide-outside-days".split("."))]),
162
144
  _: 3
163
145
  }, 8, [
164
146
  "overlay",
@@ -5,9 +5,10 @@ import { FormFieldOwnProps } from '../../FormField/formField.types';
5
5
  export declare function useDateField(props: DateFieldOwnProps, model: Ref<null | undefined | DatePickerModel>, emit: SetupContext<DateFieldEmits>["emit"]): {
6
6
  open: Ref<boolean, boolean>;
7
7
  mode: import('vue').ComputedRef<import('@bridge-ui/core/Domain').DatePickerMode>;
8
+ fill: import('vue').ComputedRef<boolean>;
8
9
  overlay: import('vue').ComputedRef<import('@bridge-ui/core/Domain').FieldOverlayMode | undefined>;
9
10
  hasValue: import('vue').ComputedRef<boolean>;
10
- dateOnly: import('vue').ComputedRef<Pick<DateFieldOwnProps & Record<string, unknown>, "classes" | "overlay" | "showFooter" | "customProps" | "multiple" | "range" | "clearable" | "defaultValue" | "disableDates" | "disableMonths" | "disableYears" | "hideOutsideDays" | "hideWeekdays" | "maxDate" | "minDate" | "startOfWeek" | "timeZone" | "defaultView" | "hideMonths" | "hideYears">>;
11
+ dateOnly: import('vue').ComputedRef<Pick<DateFieldOwnProps & Record<string, unknown>, "fill" | "classes" | "overlay" | "showFooter" | "customProps" | "multiple" | "range" | "clearable" | "defaultValue" | "disableDates" | "disableMonths" | "disableYears" | "hideOutsideDays" | "hideWeekdays" | "maxDate" | "minDate" | "startOfWeek" | "timeZone" | "defaultView" | "hideMonths" | "hideYears" | "editable">>;
11
12
  formField: {
12
13
  slots: Readonly<{
13
14
  [name: string]: import('vue').Slot<any> | undefined;
@@ -686,9 +687,7 @@ export declare function useDateField(props: DateFieldOwnProps, model: Ref<null |
686
687
  }, Partial<Omit<Omit<FormFieldOwnProps, "field">, "error" | "color" | "end" | "size" | "classes" | "customProps" | "rounded" | "variant" | "label" | "disabled" | "required" | "corner" | "description" | "errorMessage" | "start" | "endIcon" | "errorIcon" | "hideErrorMessage" | "readonly" | "showErrorIcon" | "startIcon">>>, "class", {
687
688
  value: string;
688
689
  readonly: boolean;
689
- onBlur: (event: FocusEvent) => void;
690
690
  onFocus: (event: FocusEvent) => void;
691
- onInput: (event: Event) => void;
692
691
  onKeydown: (event: KeyboardEvent) => void;
693
692
  }, undefined>>;
694
693
  clearable: import('vue').ComputedRef<boolean>;
@@ -702,7 +701,7 @@ export declare function useDateField(props: DateFieldOwnProps, model: Ref<null |
702
701
  clearValue: (event?: Event) => void;
703
702
  modelValue: import('vue').ComputedRef<Date | Date[] | null>;
704
703
  showFooter: import('vue').ComputedRef<boolean>;
705
- pickerClass: import('vue').ComputedRef<"w-full shadow-none" | undefined>;
704
+ pickerClass: import('vue').ComputedRef<string | undefined>;
706
705
  containerRef: Ref<HTMLElement | null, HTMLElement | null>;
707
706
  clearIconSize: import('vue').ComputedRef<keyof import('@bridge-ui/core/Tokens').IconSize>;
708
707
  showClearIcon: import('vue').ComputedRef<boolean>;
@@ -1,20 +1,22 @@
1
1
  import { useDateAdapter as e, useDateAdapterContext as t } from "../../../Adapters/Date/useDateAdapter.js";
2
2
  import { hasNamedSlot as n } from "../../../Utils/slotOrProp.js";
3
3
  import { useBreakpoint as r } from "../../../Utils/useBreakpoint.js";
4
- import { mergePartBind as i, resolveFieldAdornmentIconSize as a, useFieldShowFooter as o } from "../../../Utils/index.js";
5
- import { formFieldBridgeKeys as s, useFormField as c } from "../../FormField/composables/useFormField.js";
6
- import { computed as l, ref as u, useAttrs as d, useSlots as f } from "vue";
7
- import { get as p, isArray as m, isNil as h, omit as g } from "es-toolkit/compat";
8
- import { isDateRangeValue as _, isFieldOverlayDialog as ee, resolveDatePickerMode as v, resolveFieldOverlay as y } from "@bridge-ui/core/Domain";
9
- import { listboxColorProps as te } from "@bridge-ui/core/Tokens";
10
- import { cn as b, splitComponentProps as x } from "@bridge-ui/core/Utils";
4
+ import { mergePartBind as i, resolveFieldAdornmentIconSize as a, useFieldShowFooter as o, usePickerFill as s } from "../../../Utils/index.js";
5
+ import { formFieldBridgeKeys as c, useFormField as l } from "../../FormField/composables/useFormField.js";
6
+ import { computed as u, ref as d, useAttrs as f, useSlots as p } from "vue";
7
+ import { get as m, isArray as h, isNil as g, omit as _ } from "es-toolkit/compat";
8
+ import { isDateRangeValue as v, resolveDatePickerMode as y, resolveFieldOverlay as b, resolveFieldPickerClassName as x } from "@bridge-ui/core/Domain";
9
+ import { listboxColorProps as S } from "@bridge-ui/core/Tokens";
10
+ import { cn as C, splitComponentProps as w } from "@bridge-ui/core/Utils";
11
11
  //#region src/Components/DateField/composables/useDateField.ts
12
- var ne = [
12
+ var T = [
13
+ "fill",
13
14
  "range",
14
15
  "classes",
15
16
  "maxDate",
16
17
  "minDate",
17
18
  "overlay",
19
+ "editable",
18
20
  "multiple",
19
21
  "timeZone",
20
22
  "clearable",
@@ -31,148 +33,134 @@ var ne = [
31
33
  "disableMonths",
32
34
  "hideOutsideDays"
33
35
  ];
34
- function S(e, t, n) {
35
- return h(e) ? "" : _(e) ? `${t.format(e[0], n)} – ${t.format(e[1], n)}` : m(e) ? e.map((e) => t.format(e, n)).join(", ") : t.format(e, n);
36
+ function E(e, t, n) {
37
+ return g(e) ? "" : v(e) ? `${t.format(e[0], n)} – ${t.format(e[1], n)}` : h(e) ? e.map((e) => t.format(e, n)).join(", ") : t.format(e, n);
36
38
  }
37
- function C(e) {
38
- return h(e) ? !1 : !m(e) || e.length > 0;
39
+ function ee(e) {
40
+ return g(e) ? !1 : !h(e) || e.length > 0;
39
41
  }
40
- function w(m, _, w) {
41
- let T = d(), E = f(), D = e(), O = r(), k = t(), A = u(!1), j = u(null), M = u(null), N = l(() => x({
42
+ function D(h, g, v) {
43
+ let D = f(), O = p(), k = e(), A = r(), j = t(), M = d(!1), N = d(null), P = u(() => w({
42
44
  props: {
43
- ...T,
44
- ...m
45
+ ...D,
46
+ ...h
45
47
  },
46
- bridgeKeys: ne
47
- })), P = l(() => N.value.componentProps), F = l(() => k(P.value.timeZone)), I = l(() => v({
48
- range: P.value.range,
49
- multiple: P.value.multiple
50
- })), L = l(() => y(P.value.overlay, O.mobile)), R = o({
51
- overlay: L,
48
+ bridgeKeys: T
49
+ })), F = u(() => P.value.componentProps), I = u(() => j(F.value.timeZone)), L = u(() => y({
50
+ range: F.value.range,
51
+ multiple: F.value.multiple
52
+ })), R = u(() => b(F.value.overlay, A.mobile)), z = o({
53
+ overlay: R,
52
54
  componentName: "DateField",
53
- showFooter: () => P.value.showFooter
54
- }), z = l(() => _.value ?? null), B = l(() => P.value.clearable !== !1), V = l(() => C(z.value)), H = l(() => ee(L.value) ? "w-full shadow-none" : void 0), U = (e) => {
55
- M.value = e instanceof HTMLElement ? e : null;
55
+ showFooter: () => F.value.showFooter
56
+ }), B = u(() => g.value ?? null), V = u(() => F.value.clearable !== !1), H = u(() => ee(B.value)), U = s({
57
+ overlay: R,
58
+ componentName: "DateField",
59
+ fill: () => F.value.fill
60
+ }), W = u(() => x(U.value, R.value)), G = (e) => {
61
+ N.value = e instanceof HTMLElement ? e : null;
56
62
  };
57
- function W(e) {
58
- A.value !== e && (A.value = e, e ? w("open") : (w("close"), j.value = null));
63
+ function K(e) {
64
+ M.value !== e && (M.value = e, v(e ? "open" : "close"));
59
65
  }
60
- let G = l(() => g(N.value.inheritedAttrs, ["class"])), K = l(() => {
61
- let e = x({
62
- bridgeKeys: s,
63
- props: G.value
64
- }).componentProps, t = e.endIcon ?? (n(E, "end") ? void 0 : "calendar"), { menu: r, clearIcon: a, datePicker: o, ...c } = P.value.customProps ?? {};
66
+ let q = u(() => _(P.value.inheritedAttrs, ["class"])), J = u(() => {
67
+ let e = w({
68
+ bridgeKeys: c,
69
+ props: q.value
70
+ }).componentProps, t = e.endIcon ?? (n(O, "end") ? void 0 : "calendar"), { menu: r, clearIcon: a, datePicker: o, ...s } = F.value.customProps ?? {};
65
71
  return {
66
72
  ...e,
67
73
  endIcon: t,
68
- classes: P.value.classes,
74
+ classes: F.value.classes,
69
75
  customProps: {
70
- ...c,
71
- container: i(c.container, {}, {
72
- ref: U,
73
- class: b({ "cursor-pointer": !m.disabled && !m.readonly }),
76
+ ...s,
77
+ container: i(s.container, {}, {
78
+ ref: G,
79
+ class: C({ "cursor-pointer": !h.disabled && !h.readonly }),
74
80
  onClick: (e) => {
75
- m.disabled || m.readonly || e.target.closest("[data-field-clear]") || W(!0);
81
+ h.disabled || h.readonly || e.target.closest("[data-field-clear]") || K(!0);
76
82
  }
77
83
  })
78
84
  }
79
85
  };
80
- }), q = c(() => K.value, {
86
+ }), Y = l(() => J.value, {
81
87
  size: "md",
82
88
  rounded: "md",
83
89
  color: "primary",
84
90
  variant: "outline",
85
91
  showErrorIcon: !0
86
- }, { componentName: "DateField" }), J = l(() => V.value && B.value && !m.readonly && !q.isDisabled.value), Y = l(() => h(j.value) ? S(z.value, D.value, F.value) : j.value);
87
- function X(e) {
88
- _.value = e, w("change", e);
92
+ }, { componentName: "DateField" }), X = u(() => H.value && V.value && !h.readonly && !Y.isDisabled.value), Z = u(() => E(B.value, k.value, I.value));
93
+ function Q(e) {
94
+ g.value = e, v("change", e);
89
95
  }
90
- function Z(e) {
91
- if (X(e), j.value = null, R.value) {
92
- w("apply");
96
+ function $(e) {
97
+ if (Q(e), z.value) {
98
+ v("apply");
93
99
  return;
94
100
  }
95
- I.value === "single" && W(!1);
101
+ L.value === "single" && K(!1);
96
102
  }
97
- function re() {
98
- w("cancel");
103
+ function te() {
104
+ v("cancel");
99
105
  }
100
- function Q(e) {
101
- e?.preventDefault(), e?.stopPropagation(), !(m.disabled || m.readonly) && (X(null), j.value = null, w("clear"), W(!1));
106
+ function ne(e) {
107
+ e?.preventDefault(), e?.stopPropagation(), !(h.disabled || h.readonly) && (Q(null), v("clear"), K(!1));
102
108
  }
103
- function ie(e) {
109
+ function re(e) {
104
110
  e.preventDefault();
105
111
  }
106
- function $() {
107
- if (h(j.value)) return;
108
- if (j.value.trim() === "") {
109
- X(null), j.value = null;
110
- return;
111
- }
112
- if (I.value !== "single") {
113
- j.value = null;
114
- return;
115
- }
116
- let e = D.value.parse(j.value, F.value);
117
- h(e) || X(e), j.value = null;
118
- }
119
- let ae = l(() => i({
120
- value: Y.value,
121
- readonly: I.value !== "single" || q.inputBind.value.readonly,
122
- onBlur: (e) => {
123
- q.inputBind.value.onBlur?.(e), $();
124
- },
112
+ let ie = u(() => i({
113
+ value: Z.value,
114
+ readonly: !F.value.editable || Y.inputBind.value.readonly,
125
115
  onFocus: (e) => {
126
- q.inputBind.value.onFocus?.(e), W(!0);
127
- },
128
- onInput: (e) => {
129
- I.value === "single" && (j.value = e.target.value);
116
+ Y.inputBind.value.onFocus?.(e), K(!0);
130
117
  },
131
118
  onKeydown: (e) => {
132
- q.inputBind.value.onKeydown?.(e), e.key === "Enter" && $(), e.key === "Escape" && (j.value = null, W(!1));
119
+ Y.inputBind.value.onKeydown?.(e), e.key === "Escape" && K(!1);
133
120
  }
134
- }, void 0, q.inputBind.value)), oe = l(() => P.value.overlay), se = l(() => ({
135
- modal: P.value.customProps?.modal,
136
- drawer: P.value.customProps?.drawer,
121
+ }, void 0, Y.inputBind.value)), ae = u(() => F.value.overlay), oe = u(() => ({
122
+ modal: F.value.customProps?.modal,
123
+ drawer: F.value.customProps?.drawer,
137
124
  menu: {
138
- anchorEl: M.value,
125
+ anchorEl: N.value,
139
126
  placement: "bottom-start",
140
- ...P.value.customProps?.menu
127
+ ...F.value.customProps?.menu
141
128
  }
142
- })), ce = l(() => P.value.customProps?.datePicker), le = l(() => a(q.merged.value.size)), ue = l(() => p(te, [q.merged.value.color ?? "primary", "clear"]) ?? "text-dark-400 hover:text-dark-600 dark:text-dark-500 dark:hover:text-dark-300");
129
+ })), se = u(() => F.value.customProps?.datePicker), ce = u(() => a(Y.merged.value.size)), le = u(() => m(S, [Y.merged.value.color ?? "primary", "clear"]) ?? "text-dark-400 hover:text-dark-600 dark:text-dark-500 dark:hover:text-dark-300");
143
130
  return {
144
- open: A,
145
- mode: I,
146
- overlay: oe,
147
- hasValue: V,
148
- dateOnly: P,
149
- formField: q,
150
- inputBind: ae,
151
- clearable: B,
152
- clearBind: l(() => i({}, {}, {
131
+ open: M,
132
+ mode: L,
133
+ fill: U,
134
+ overlay: ae,
135
+ hasValue: H,
136
+ dateOnly: F,
137
+ formField: Y,
138
+ inputBind: ie,
139
+ clearable: V,
140
+ clearBind: u(() => i({}, {}, {
153
141
  tabindex: 0,
154
142
  role: "button",
155
143
  "data-field-clear": !0,
156
- onMousedown: ie,
157
- class: b({
144
+ onMousedown: re,
145
+ class: C({
158
146
  "inline-flex shrink-0 cursor-pointer items-center justify-center rounded-sm transition-colors duration-150": !0,
159
- [ue.value]: !0,
160
- [P.value.classes?.clear ?? ""]: !0
147
+ [le.value]: !0,
148
+ [F.value.classes?.clear ?? ""]: !0
161
149
  })
162
150
  })),
163
- clearValue: Q,
164
- modelValue: z,
165
- showFooter: R,
166
- pickerClass: H,
167
- containerRef: M,
168
- clearIconSize: le,
169
- showClearIcon: J,
170
- handleOpenChange: W,
171
- handlePickerChange: Z,
172
- handlePickerCancel: re,
173
- overlayCustomProps: se,
174
- datePickerCustomProps: ce
151
+ clearValue: ne,
152
+ modelValue: B,
153
+ showFooter: z,
154
+ pickerClass: W,
155
+ containerRef: N,
156
+ clearIconSize: ce,
157
+ showClearIcon: X,
158
+ handleOpenChange: K,
159
+ handlePickerChange: $,
160
+ handlePickerCancel: te,
161
+ overlayCustomProps: oe,
162
+ datePickerCustomProps: se
175
163
  };
176
164
  }
177
165
  //#endregion
178
- export { w as useDateField };
166
+ export { D as useDateField };
@@ -122,6 +122,22 @@ export interface DateFieldOwnProps extends Omit<FormFieldOwnProps, "field" | "cl
122
122
  * @default undefined
123
123
  */
124
124
  disableYears?: number[];
125
+ /**
126
+ * Unlocks the input for typing. The field does not parse or commit typed
127
+ * text; use the picker (or your own component) to update the value. When
128
+ * unset, the input is read-only.
129
+ *
130
+ * @default false
131
+ */
132
+ editable?: boolean;
133
+ /**
134
+ * When `true`, the picker fills the overlay width.
135
+ * When `false`, it stays at its minimum width.
136
+ * Unset: `true` for `drawer`, `false` for `menu` and `modal`.
137
+ *
138
+ * @default undefined
139
+ */
140
+ fill?: boolean;
125
141
  /**
126
142
  * Hides month navigation / panel.
127
143
  *
@@ -16,6 +16,8 @@ var g = /*@__PURE__*/ s({
16
16
  disableDates: {},
17
17
  disableMonths: {},
18
18
  disableYears: {},
19
+ error: { type: Boolean },
20
+ fill: { type: Boolean },
19
21
  hideMonths: { type: Boolean },
20
22
  hideOutsideDays: { type: Boolean },
21
23
  hideWeekdays: { type: Boolean },
@@ -47,7 +49,9 @@ var g = /*@__PURE__*/ s({
47
49
  color: "primary"
48
50
  }, g);
49
51
  return (n, s) => (d(), i("div", u(c(m(v))), [o(t, {
52
+ fill: m(_).fill,
50
53
  color: m(_).color,
54
+ error: m(_).error,
51
55
  range: m(_).range,
52
56
  value: m(w),
53
57
  tokens: m(E),
@@ -72,7 +76,9 @@ var g = /*@__PURE__*/ s({
72
76
  day: h((e) => [f(n.$slots, "day", u(c(e)), () => [a(p(e.label), 1)])]),
73
77
  _: 3
74
78
  }, 8, [
79
+ "fill",
75
80
  "color",
81
+ "error",
76
82
  "range",
77
83
  "value",
78
84
  "tokens",
@@ -6,7 +6,7 @@ type DatePickerLibDefaults = LibDefaultsShape<DatePickerOwnProps, "color" | "rou
6
6
  type DatePickerMerged = MergeLibDefaults<DatePickerOwnProps, DatePickerLibDefaults>;
7
7
  export declare function useDatePicker(props: MaybeRefOrGetter<DatePickerOwnProps>, libDefaults: DatePickerLibDefaults, emit: SetupContext<DatePickerEmits>["emit"]): {
8
8
  merged: import('vue').ComputedRef<DatePickerMerged>;
9
- rootBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, Partial<Omit<DatePickerOwnProps, "color" | "value" | "classes" | "tokens" | "showFooter" | "customProps" | "rounded" | "disabled" | "multiple" | "range" | "defaultValue" | "readOnly" | "disableDates" | "disableMonths" | "disableYears" | "hideOutsideDays" | "hideWeekdays" | "maxDate" | "minDate" | "startOfWeek" | "timeZone" | "defaultView" | "hideMonths" | "hideYears">>>>;
9
+ rootBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, Partial<Omit<DatePickerOwnProps, "error" | "color" | "fill" | "value" | "classes" | "tokens" | "showFooter" | "customProps" | "rounded" | "disabled" | "multiple" | "range" | "defaultValue" | "readOnly" | "disableDates" | "disableMonths" | "disableYears" | "hideOutsideDays" | "hideWeekdays" | "maxDate" | "minDate" | "startOfWeek" | "timeZone" | "defaultView" | "hideMonths" | "hideYears">>>>;
10
10
  footerBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
11
11
  showFooter: import('vue').ComputedRef<boolean>;
12
12
  handleApply: () => void;
@@ -6,32 +6,7 @@ import { get as d, isNil as f, omit as p } from "es-toolkit/compat";
6
6
  import { menuRoundedProps as m } from "@bridge-ui/core/Tokens";
7
7
  import { cn as h, splitComponentProps as g } from "@bridge-ui/core/Utils";
8
8
  //#region src/Components/DatePicker/composables/useDatePicker.ts
9
- var _ = [
10
- "color",
11
- "range",
12
- "value",
13
- "tokens",
14
- "classes",
15
- "maxDate",
16
- "minDate",
17
- "rounded",
18
- "disabled",
19
- "multiple",
20
- "readOnly",
21
- "timeZone",
22
- "hideYears",
23
- "hideMonths",
24
- "showFooter",
25
- "customProps",
26
- "defaultView",
27
- "startOfWeek",
28
- "defaultValue",
29
- "disableDates",
30
- "disableYears",
31
- "hideWeekdays",
32
- "disableMonths",
33
- "hideOutsideDays"
34
- ];
9
+ var _ = /* @__PURE__ */ "fill.color.error.range.value.tokens.classes.maxDate.minDate.rounded.disabled.multiple.readOnly.timeZone.hideYears.hideMonths.showFooter.customProps.defaultView.startOfWeek.defaultValue.disableDates.disableYears.hideWeekdays.disableMonths.hideOutsideDays".split(".");
35
10
  function v(v, y, b) {
36
11
  let x = l(), S = o(i, {
37
12
  apply: () => void 0,
@@ -69,7 +44,9 @@ function v(v, y, b) {
69
44
  rootBind: a(() => {
70
45
  let e = d(m, T.value.rounded ?? "md");
71
46
  return t(D.value?.root, O.value, h({
72
- "flex w-fit flex-col overflow-hidden bg-white shadow-lg dark:bg-dark-900": !0,
47
+ "flex flex-col overflow-hidden bg-white shadow-lg dark:bg-dark-900": !0,
48
+ "w-full": T.value.fill,
49
+ "w-fit": !T.value.fill,
73
50
  [e]: !0,
74
51
  [k.value.root ?? ""]: !0
75
52
  }));
@@ -112,6 +112,19 @@ export interface DatePickerOwnProps {
112
112
  * @default undefined
113
113
  */
114
114
  disableYears?: number[];
115
+ /**
116
+ * When `true`, applies the error color palette to tiles.
117
+ *
118
+ * @default false
119
+ */
120
+ error?: boolean;
121
+ /**
122
+ * When `true`, fills the container width.
123
+ * When `false` or unset, stays at the minimum width.
124
+ *
125
+ * @default false
126
+ */
127
+ fill?: boolean;
115
128
  /**
116
129
  * Hides month navigation / panel.
117
130
  *
@@ -23,6 +23,7 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_PublicProps, {}, {
23
23
  onOpen?: (() => any) | undefined;
24
24
  "onUpdate:modelValue"?: ((value: DateRangeValue | null | undefined) => any) | undefined;
25
25
  }>, {
26
+ fill: boolean;
26
27
  showFooter: boolean;
27
28
  showErrorIcon: boolean;
28
29
  clearable: boolean;
@@ -23,6 +23,11 @@ var N = { class: "flex min-w-0 flex-1 items-center gap-1" }, P = ["aria-label"],
23
23
  disableDates: {},
24
24
  disableMonths: {},
25
25
  disableYears: {},
26
+ editable: { type: Boolean },
27
+ fill: {
28
+ type: Boolean,
29
+ default: void 0
30
+ },
26
31
  hideMonths: { type: Boolean },
27
32
  hideOutsideDays: { type: Boolean },
28
33
  hideWeekdays: { type: Boolean },
@@ -79,49 +84,51 @@ var N = { class: "flex min-w-0 flex-1 items-center gap-1" }, P = ["aria-label"],
79
84
  F.value = e, z.value = e;
80
85
  },
81
86
  get: () => M(F.value) ? z.value : F.value
82
- }), { open: V, overlay: ee, dateOnly: H, formField: U, inputBind: W, clearBind: G, clearValue: K, modelValue: q, showFooter: J, orientation: Y, pickerClass: X, clearIconSize: Z, showClearIcon: Q, handleOpenChange: $, handlePickerChange: te, handlePickerCancel: ne, overlayCustomProps: re, dateRangePickerCustomProps: ie } = o(I, B, L);
83
- return (e, o) => (S(), d(c, null, [h(D(i), { field: D(U) }, p({
84
- default: k(() => [f("div", N, [f("input", x(_(D(W))), null, 16), D(Q) ? (S(), d("span", y({ key: 0 }, D(G), {
85
- onClick: o[0] ||= (...e) => D(K) && D(K)(...e),
87
+ }), { open: V, fill: ee, overlay: H, dateOnly: U, formField: W, inputBind: G, clearBind: K, clearValue: q, modelValue: J, showFooter: Y, orientation: X, pickerClass: Z, clearIconSize: Q, showClearIcon: $, handleOpenChange: te, handlePickerChange: ne, handlePickerCancel: re, overlayCustomProps: ie, dateRangePickerCustomProps: ae } = o(I, B, L);
88
+ return (e, o) => (S(), d(c, null, [h(D(i), { field: D(W) }, p({
89
+ default: k(() => [f("div", N, [f("input", x(_(D(G))), null, 16), D($) ? (S(), d("span", y({ key: 0 }, D(K), {
90
+ onClick: o[0] ||= (...e) => D(q) && D(q)(...e),
86
91
  "aria-label": D(R)("Clear"),
87
- onKeydown: [o[1] ||= A(j((...e) => D(K) && D(K)(...e), ["prevent"]), ["enter"]), o[2] ||= A(j((...e) => D(K) && D(K)(...e), ["prevent"]), ["space"])]
92
+ onKeydown: [o[1] ||= A(j((...e) => D(q) && D(q)(...e), ["prevent"]), ["enter"]), o[2] ||= A(j((...e) => D(q) && D(q)(...e), ["prevent"]), ["space"])]
88
93
  }), [h(D(n), y({
89
94
  icon: "clear",
90
- size: D(Z)
95
+ size: D(Q)
91
96
  }, I.customProps?.clearIcon), null, 16, ["size"])], 16, P)) : u("", !0)])]),
92
97
  _: 2
93
98
  }, [w(D(t)(D(r), e.$slots), (t) => ({
94
99
  name: t,
95
100
  fn: k((n) => [T(e.$slots, t, x(_(n || {})))])
96
101
  }))]), 1032, ["field"]), h(D(a), {
97
- overlay: D(ee),
102
+ overlay: D(H),
98
103
  "model-value": D(V),
99
- "custom-props": D(re),
100
- "onUpdate:modelValue": D($)
104
+ "custom-props": D(ie),
105
+ "onUpdate:modelValue": D(te)
101
106
  }, {
102
107
  default: k(() => [h(s, {
103
- value: D(q),
104
- class: b(D(X)),
105
- "show-footer": D(J),
106
- orientation: D(Y),
108
+ fill: D(ee),
109
+ value: D(J),
110
+ class: b(D(Z)),
111
+ "show-footer": D(Y),
112
+ orientation: D(X),
107
113
  "read-only": I.readonly,
108
- "max-date": D(H).maxDate,
109
- "min-date": D(H).minDate,
110
- "time-zone": D(H).timeZone,
111
- onChange: D(te),
112
- onCancel: D(ne),
113
- "hide-years": D(H).hideYears,
114
- "hide-months": D(H).hideMonths,
115
- color: D(U).merged.value.color,
116
- "start-of-week": D(H).startOfWeek,
117
- disabled: D(U).isDisabled.value,
118
- "disable-dates": D(H).disableDates,
119
- "hide-weekdays": D(H).hideWeekdays,
120
- "disable-years": D(H).disableYears,
121
- "disable-months": D(H).disableMonths,
122
- rounded: D(U).merged.value.rounded,
123
- "custom-props": D(ie),
124
- "hide-outside-days": D(H).hideOutsideDays
114
+ "max-date": D(U).maxDate,
115
+ "min-date": D(U).minDate,
116
+ "time-zone": D(U).timeZone,
117
+ onChange: D(ne),
118
+ onCancel: D(re),
119
+ "hide-years": D(U).hideYears,
120
+ "hide-months": D(U).hideMonths,
121
+ error: D(W).invalidated.value,
122
+ color: D(W).merged.value.color,
123
+ "start-of-week": D(U).startOfWeek,
124
+ disabled: D(W).isDisabled.value,
125
+ "disable-dates": D(U).disableDates,
126
+ "hide-weekdays": D(U).hideWeekdays,
127
+ "disable-years": D(U).disableYears,
128
+ "disable-months": D(U).disableMonths,
129
+ rounded: D(W).merged.value.rounded,
130
+ "custom-props": D(ae),
131
+ "hide-outside-days": D(U).hideOutsideDays
125
132
  }, p({
126
133
  day: k((t) => [T(e.$slots, "day", x(_(t)), () => [m(E(t.label), 1)])]),
127
134
  _: 2
@@ -130,6 +137,7 @@ var N = { class: "flex min-w-0 flex-1 items-center gap-1" }, P = ["aria-label"],
130
137
  fn: k((t) => [T(e.$slots, "footer", x(_(t)))]),
131
138
  key: "0"
132
139
  } : void 0]), 1032, [
140
+ "fill",
133
141
  "value",
134
142
  "class",
135
143
  "show-footer",
@@ -142,6 +150,7 @@ var N = { class: "flex min-w-0 flex-1 items-center gap-1" }, P = ["aria-label"],
142
150
  "onCancel",
143
151
  "hide-years",
144
152
  "hide-months",
153
+ "error",
145
154
  "color",
146
155
  "start-of-week",
147
156
  "disabled",