@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
@@ -4,10 +4,10 @@ import { useBreakpoint as o } from "./useBreakpoint.js";
4
4
  import { useHoldRepeat as s } from "./useHoldRepeat.js";
5
5
  import { computed as c, defineComponent as l, toValue as u, unref as d } from "vue";
6
6
  import { get as f, isNil as p } from "es-toolkit/compat";
7
- import { resolveFieldShowFooter as m } from "@bridge-ui/core/Domain";
8
- import { createMergeNestedComponentProps as h, createMergePartBind as g, mergeBridgeUILayeredClasses as _, mergePropsWithBridgeUIDefaults as v } from "@bridge-ui/core/Utils";
7
+ import { resolveFieldShowFooter as m, resolvePickerFill as h } from "@bridge-ui/core/Domain";
8
+ import { createMergeNestedComponentProps as g, createMergePartBind as _, mergeBridgeUILayeredClasses as v, mergePropsWithBridgeUIDefaults as y } from "@bridge-ui/core/Utils";
9
9
  //#region src/Utils/index.ts
10
- function y(e) {
10
+ function b(e) {
11
11
  return l({
12
12
  name: "HeadlessTestComponent",
13
13
  setup() {
@@ -15,15 +15,15 @@ function y(e) {
15
15
  }
16
16
  });
17
17
  }
18
- var b = g("class"), x = h(b);
19
- function S({ props: t, libDefaults: n, componentName: r }) {
18
+ var x = _("class"), S = g(x);
19
+ function C({ props: t, libDefaults: n, componentName: r }) {
20
20
  let i = e(), a = c(() => p(i) ? null : d(i.components));
21
21
  return {
22
22
  entry: c(() => {
23
23
  if (r) return f(a.value, r);
24
24
  }),
25
25
  bridge: i,
26
- merged: c(() => v({
26
+ merged: c(() => y({
27
27
  libDefaults: n,
28
28
  componentName: r,
29
29
  props: u(t),
@@ -33,7 +33,7 @@ function S({ props: t, libDefaults: n, componentName: r }) {
33
33
  components: a
34
34
  };
35
35
  }
36
- function C({ overlay: t, showFooter: n, componentName: r }) {
36
+ function w({ overlay: t, showFooter: n, componentName: r }) {
37
37
  let i = e();
38
38
  return c(() => {
39
39
  let e = r ? f(d(i?.components), [
@@ -44,10 +44,21 @@ function C({ overlay: t, showFooter: n, componentName: r }) {
44
44
  return m(u(n) ?? e, u(t));
45
45
  });
46
46
  }
47
- function w({ entry: e, props: t }) {
48
- return c(() => _(f(e.value, "classes"), u(t).classes));
47
+ function T({ fill: t, overlay: n, componentName: r }) {
48
+ let i = e();
49
+ return c(() => {
50
+ let e = r ? f(d(i?.components), [
51
+ r,
52
+ "defaultProps",
53
+ "fill"
54
+ ]) : void 0;
55
+ return h(u(t) ?? e, u(n));
56
+ });
57
+ }
58
+ function E({ entry: e, props: t }) {
59
+ return c(() => v(f(e.value, "classes"), u(t).classes));
49
60
  }
50
- function T(e) {
61
+ function D(e) {
51
62
  return f({
52
63
  xs: "xs",
53
64
  sm: "sm",
@@ -58,7 +69,7 @@ function T(e) {
58
69
  "2xl": "lg"
59
70
  }, e ?? "md");
60
71
  }
61
- function E(e) {
72
+ function O(e) {
62
73
  if (e instanceof HTMLElement) return e;
63
74
  if (e && "$el" in e) {
64
75
  let t = e.$el;
@@ -67,4 +78,4 @@ function E(e) {
67
78
  return null;
68
79
  }
69
80
  //#endregion
70
- export { t as RenderFn, y as defineHeadlessComponent, n as hasNamedSlot, r as hasSlotOrProp, i as isPropPresent, x as mergeNestedComponentProps, b as mergePartBind, a as presentSlotNames, T as resolveFieldAdornmentIconSize, E as resolveVnodeRefElement, o as useBreakpoint, S as useBridgeUIComponent, w as useBridgeUIMergedRegistryClasses, C as useFieldShowFooter, s as useHoldRepeat };
81
+ export { t as RenderFn, b as defineHeadlessComponent, n as hasNamedSlot, r as hasSlotOrProp, i as isPropPresent, S as mergeNestedComponentProps, x as mergePartBind, a as presentSlotNames, D as resolveFieldAdornmentIconSize, O as resolveVnodeRefElement, o as useBreakpoint, C as useBridgeUIComponent, E as useBridgeUIMergedRegistryClasses, w as useFieldShowFooter, s as useHoldRepeat, T as usePickerFill };
@@ -5,7 +5,7 @@
5
5
  Shared vertical field chrome (label, corner, start/end slots, description,
6
6
  error message) for OtpField, Slider, and similar controls.
7
7
 
8
- Control tokens stay on the parent (`tokens.size`, `tokens.invalidated`, …).
8
+ Control tokens stay on the parent (`tokens.size`, …).
9
9
 
10
10
  ## Import
11
11
 
@@ -114,9 +114,9 @@ app.use(
114
114
  },
115
115
  Checkbox: {
116
116
  tokens: {
117
- formControl: {
118
- invalidated: {
119
- errorMessage: "text-error-700 dark:text-error-300",
117
+ color: {
118
+ error: {
119
+ checked: "bg-error-700 border-error-700",
120
120
  },
121
121
  },
122
122
  },
@@ -56,6 +56,8 @@ import { Calendar } from "@bridge-ui/vue/Components/Calendar";
56
56
  | `disableDates` | `Date[]` | — | Dates that cannot be selected. |
57
57
  | `disableMonths` | `number[]` | — | Month indexes (`0`–`11`) that cannot be selected. |
58
58
  | `disableYears` | `number[]` | — | Years that cannot be selected. |
59
+ | `error` | `boolean` | `false` | Applies the error color palette to tiles. |
60
+ | `fill` | `boolean` | `false` | Fills the container width. |
59
61
  | `hideMonths` | `boolean` | `false` | Hides the month selector and month panel. |
60
62
  | `hideOutsideDays` | `boolean` | `false` | Hides days that fall outside the displayed month. |
61
63
  | `hideWeekdays` | `boolean` | `false` | Hides weekday labels on the date panel. |
@@ -35,6 +35,7 @@ import { CalendarDate } from "@bridge-ui/vue/Components/CalendarDate";
35
35
  | `disableDates` | `Date[]` | — | Dates that cannot be selected. |
36
36
  | `disableMonths` | `number[]` | — | Month indexes that cannot be selected. |
37
37
  | `disableYears` | `number[]` | — | Years that cannot be selected. |
38
+ | `error` | `boolean` | `false` | Applies the error color palette to tiles. |
38
39
  | `hideOutsideDays` | `boolean` | `false` | Hides days that fall outside the displayed month. |
39
40
  | `hideWeekdays` | `boolean` | `false` | Hides the weekday header row. |
40
41
  | `maxDate` | `Date` | — | Latest selectable date. |
@@ -25,6 +25,7 @@ import { CalendarMonth } from "@bridge-ui/vue/Components/CalendarMonth";
25
25
  | `customProps` | `CalendarMonthCustomProps` | — | Extra props for internal parts. |
26
26
  | `disabled` | `boolean` | `false` | Disables the entire month grid. |
27
27
  | `disableMonths` | `number[]` | — | Month indexes that cannot be selected. |
28
+ | `error` | `boolean` | `false` | Applies the error color palette to tiles. |
28
29
  | `maxDate` | `Date` | — | Latest selectable date (bounds months for `year`). |
29
30
  | `minDate` | `Date` | — | Earliest selectable date (bounds months for `year`). |
30
31
  | `readOnly` | `boolean` | `false` | Prevents selection. |
@@ -46,6 +46,8 @@ import { CalendarRange } from "@bridge-ui/vue/Components/CalendarRange";
46
46
  | `disableDates` | `Date[]` | — | Dates that cannot be selected. |
47
47
  | `disableMonths` | `number[]` | — | Month indexes that cannot be selected. |
48
48
  | `disableYears` | `number[]` | — | Years that cannot be selected. |
49
+ | `error` | `boolean` | `false` | Applies the error color palette to tiles. |
50
+ | `fill` | `boolean` | `false` | Fills the container width. |
49
51
  | `hideMonths` | `boolean` | `false` | Hides the shared month selector and month panel. |
50
52
  | `hideOutsideDays` | `boolean` | `false` | Hides days outside the displayed month on both date panels. |
51
53
  | `hideWeekdays` | `boolean` | `false` | Hides weekday labels on both date panels. |
@@ -18,22 +18,23 @@ import { CalendarYear } from "@bridge-ui/vue/Components/CalendarYear";
18
18
 
19
19
  ## Props
20
20
 
21
- | Prop | Type | Default | Description |
22
- | -------------- | ------------------------- | ----------- | -------------------------------- |
23
- | `classes` | `CalendarYearClasses` | — | Classes for calendar regions. |
24
- | `color` | `CalendarColor` | `"primary"` | Accent color for year tiles. |
25
- | `customProps` | `CalendarYearCustomProps` | — | Extra props for internal parts. |
26
- | `disabled` | `boolean` | `false` | Disables the entire year grid. |
27
- | `disableYears` | `number[]` | — | Years that cannot be selected. |
28
- | `maxDate` | `Date` | | Latest selectable date. |
29
- | `minDate` | `Date` | — | Earliest selectable date. |
30
- | `pageSize` | `number` | `15` | How many years to show per page. |
31
- | `readOnly` | `boolean` | `false` | Prevents selection. |
32
- | `rounded` | `CalendarRounded` | `"md"` | Border radius of year tiles. |
33
- | `startYear` | `number` | | First year of the visible page. |
34
- | `timeZone` | `string` | — | IANA time zone. |
35
- | `tokens` | `CalendarYearTokens` | — | Token overrides. |
36
- | `value` | `number` | — | Selected year. |
21
+ | Prop | Type | Default | Description |
22
+ | -------------- | ------------------------- | ----------- | ----------------------------------------- |
23
+ | `classes` | `CalendarYearClasses` | — | Classes for calendar regions. |
24
+ | `color` | `CalendarColor` | `"primary"` | Accent color for year tiles. |
25
+ | `customProps` | `CalendarYearCustomProps` | — | Extra props for internal parts. |
26
+ | `disabled` | `boolean` | `false` | Disables the entire year grid. |
27
+ | `disableYears` | `number[]` | — | Years that cannot be selected. |
28
+ | `error` | `boolean` | `false` | Applies the error color palette to tiles. |
29
+ | `maxDate` | `Date` | — | Latest selectable date. |
30
+ | `minDate` | `Date` | | Earliest selectable date. |
31
+ | `pageSize` | `number` | `15` | How many years to show per page. |
32
+ | `readOnly` | `boolean` | `false` | Prevents selection. |
33
+ | `rounded` | `CalendarRounded` | `"md"` | Border radius of year tiles. |
34
+ | `startYear` | `number` | — | First year of the visible page. |
35
+ | `timeZone` | `string` | — | IANA time zone. |
36
+ | `tokens` | `CalendarYearTokens` | — | Token overrides. |
37
+ | `value` | `number` | — | Selected year. |
37
38
 
38
39
  ### v-model
39
40
 
@@ -48,8 +48,15 @@ import { DateField } from "@bridge-ui/vue/Components/DateField";
48
48
 
49
49
  Default `overlay` is `auto`: `menu` on desktop and bottom `drawer` on mobile.
50
50
  When unset, `showFooter` defaults to `true` for `modal` / `drawer` overlays (`false` for `menu`).
51
+ When unset, `fill` defaults to `true` for `drawer` overlays (`false` for `menu` / `modal`).
51
52
  Apply commits and closes the overlay; Cancel discards the draft and closes.
52
53
 
54
+ The input is read-only by default (picker only). Set `editable` to unlock typing. The field does not parse or commit typed text — handle that in your own component if needed:
55
+
56
+ ```vue
57
+ <DateField editable label="Date" />
58
+ ```
59
+
53
60
  ### Custom footer
54
61
 
55
62
  Replaces Cancel / Apply on the nested picker. `apply()` commits and closes; `cancel()` discards and closes.
@@ -77,6 +84,8 @@ Replaces Cancel / Apply on the nested picker. `apply()` commits and closes; `can
77
84
  | `disableDates` | `Date[]` | — | Dates that cannot be selected. |
78
85
  | `disableMonths` | `number[]` | — | Month indexes that cannot be selected. |
79
86
  | `disableYears` | `number[]` | — | Years that cannot be selected. |
87
+ | `editable` | `boolean` | `false` | Unlocks the input. Does not parse or commit typed text. |
88
+ | `fill` | `boolean` | — | Fills the overlay width. Unset: `true` for `drawer`, `false` for `menu` / `modal`. |
80
89
  | `hideMonths` | `boolean` | `false` | Hides month navigation / panel. |
81
90
  | `hideOutsideDays` | `boolean` | `false` | Hides days that fall outside the displayed month. |
82
91
  | `hideWeekdays` | `boolean` | `false` | Hides weekday labels. |
@@ -57,6 +57,8 @@ Call `apply()` to commit and close the overlay, or `cancel()` to discard and clo
57
57
  | `disableDates` | `Date[]` | — | Dates that cannot be selected. |
58
58
  | `disableMonths` | `number[]` | — | Month indexes that cannot be selected. |
59
59
  | `disableYears` | `number[]` | — | Years that cannot be selected. |
60
+ | `error` | `boolean` | `false` | Applies the error color palette to tiles. |
61
+ | `fill` | `boolean` | `false` | Fills the container width. |
60
62
  | `hideMonths` | `boolean` | `false` | Hides month navigation / panel. |
61
63
  | `hideOutsideDays` | `boolean` | `false` | Hides days that fall outside the displayed month. |
62
64
  | `hideWeekdays` | `boolean` | `false` | Hides weekday labels. |
@@ -24,6 +24,12 @@ Supports the same `overlay` prop as DateField (`menu` | `modal` | `drawer` | `au
24
24
  On mobile, `drawer` / `modal` overlays use vertical dual-calendar layout when
25
25
  `orientation` is unset.
26
26
 
27
+ The input is read-only by default (picker only). Set `editable` to unlock typing. The field does not parse or commit typed text — handle that in your own component if needed:
28
+
29
+ ```vue
30
+ <DateRangeField editable label="Stay" />
31
+ ```
32
+
27
33
  ### customProps
28
34
 
29
35
  ```vue
@@ -40,28 +46,30 @@ On mobile, `drawer` / `modal` overlays use vertical dual-calendar layout when
40
46
 
41
47
  ### DateRangeField-specific
42
48
 
43
- | Prop | Type | Default | Description |
44
- | ----------------- | ---------------------------- | -------------------------------------------- | --------------------------------------------------------------------------------- |
45
- | `classes` | `DateRangeFieldClasses` | — | Classes for field / input regions. |
46
- | `clearable` | `boolean` | `true` | Whether the value can be cleared. |
47
- | `customProps` | `DateRangeFieldCustomProps` | — | Extra props for internal parts. |
48
- | `defaultValue` | `DateRangeValue \| null` | `null` | Uncontrolled initial value. |
49
- | `disableDates` | `Date[]` | — | Dates that cannot be selected. |
50
- | `disableMonths` | `number[]` | — | Month indexes that cannot be selected. |
51
- | `disableYears` | `number[]` | — | Years that cannot be selected. |
52
- | `hideMonths` | `boolean` | `false` | Hides month navigation / panel. |
53
- | `hideOutsideDays` | `boolean` | `false` | Hides days that fall outside the displayed month. |
54
- | `hideWeekdays` | `boolean` | `false` | Hides weekday labels. |
55
- | `hideYears` | `boolean` | `false` | Hides year navigation / panel. |
56
- | `maxDate` | `Date` | | Latest selectable date. |
57
- | `minDate` | `Date` | | Earliest selectable date. |
58
- | `orientation` | `"horizontal" \| "vertical"` | `"horizontal"` | Dual calendar layout. Mobile `drawer` / `modal` default to `vertical` when unset. |
59
- | `overlay` | `FieldOverlayMode` | `"auto"` | Overlay shell: `menu`, `modal`, `drawer`, or `auto`. |
60
- | `showFooter` | `boolean` | `false` (`true` for modal/drawer when unset) | Shows Cancel / Apply on the nested picker. |
61
- | `slots` | `DateRangeFieldSlots` | | Named slots (`FormField` slots + calendar `day` + footer). |
62
- | `startOfWeek` | `StartOfWeek` | `0` | First day of the week. |
63
- | `timeZone` | `string` | — | IANA time zone. |
64
- | `value` | `DateRangeValue \| null` | | Controlled value. |
49
+ | Prop | Type | Default | Description |
50
+ | ----------------- | ---------------------------- | -------------------------------------------- | ---------------------------------------------------------------------------------- |
51
+ | `classes` | `DateRangeFieldClasses` | — | Classes for field / input regions. |
52
+ | `clearable` | `boolean` | `true` | Whether the value can be cleared. |
53
+ | `customProps` | `DateRangeFieldCustomProps` | — | Extra props for internal parts. |
54
+ | `defaultValue` | `DateRangeValue \| null` | `null` | Uncontrolled initial value. |
55
+ | `disableDates` | `Date[]` | — | Dates that cannot be selected. |
56
+ | `disableMonths` | `number[]` | — | Month indexes that cannot be selected. |
57
+ | `disableYears` | `number[]` | — | Years that cannot be selected. |
58
+ | `editable` | `boolean` | `false` | Unlocks the input. Does not parse or commit typed text. |
59
+ | `fill` | `boolean` | — | Fills the overlay width. Unset: `true` for `drawer`, `false` for `menu` / `modal`. |
60
+ | `hideMonths` | `boolean` | `false` | Hides month navigation / panel. |
61
+ | `hideOutsideDays` | `boolean` | `false` | Hides days that fall outside the displayed month. |
62
+ | `hideWeekdays` | `boolean` | `false` | Hides weekday labels. |
63
+ | `hideYears` | `boolean` | `false` | Hides year navigation / panel. |
64
+ | `maxDate` | `Date` | | Latest selectable date. |
65
+ | `minDate` | `Date` | | Earliest selectable date. |
66
+ | `orientation` | `"horizontal" \| "vertical"` | `"horizontal"` | Dual calendar layout. Mobile `drawer` / `modal` default to `vertical` when unset. |
67
+ | `overlay` | `FieldOverlayMode` | `"auto"` | Overlay shell: `menu`, `modal`, `drawer`, or `auto`. |
68
+ | `showFooter` | `boolean` | `false` (`true` for modal/drawer when unset) | Shows Cancel / Apply on the nested picker. |
69
+ | `slots` | `DateRangeFieldSlots` | — | Named slots (`FormField` slots + calendar `day` + footer). |
70
+ | `startOfWeek` | `StartOfWeek` | `0` | First day of the week. |
71
+ | `timeZone` | `string` | — | IANA time zone. |
72
+ | `value` | `DateRangeValue \| null` | — | Controlled value. |
65
73
 
66
74
  ### v-model
67
75
 
@@ -35,6 +35,8 @@ import { DateRangePicker } from "@bridge-ui/vue/Components/DateRangePicker";
35
35
  | `disableDates` | `Date[]` | — | Dates that cannot be selected. |
36
36
  | `disableMonths` | `number[]` | — | Month indexes that cannot be selected. |
37
37
  | `disableYears` | `number[]` | — | Years that cannot be selected. |
38
+ | `error` | `boolean` | `false` | Applies the error color palette to tiles. |
39
+ | `fill` | `boolean` | `false` | Fills the container width. |
38
40
  | `hideMonths` | `boolean` | `false` | Hides month navigation / panel. |
39
41
  | `hideOutsideDays` | `boolean` | `false` | Hides days that fall outside the displayed month. |
40
42
  | `hideWeekdays` | `boolean` | `false` | Hides weekday labels. |
@@ -21,6 +21,11 @@ import { DateTimeField } from "@bridge-ui/vue/Components/DateTimeField";
21
21
  ```
22
22
 
23
23
  Supports the same `overlay` prop as DateField (`menu` | `modal` | `drawer` | `auto`).
24
+ The input is read-only by default (picker only). Set `editable` to unlock typing. The field does not parse or commit typed text — handle that in your own component if needed:
25
+
26
+ ```vue
27
+ <DateTimeField editable label="When" />
28
+ ```
24
29
 
25
30
  ### customProps
26
31
 
@@ -38,34 +43,36 @@ Supports the same `overlay` prop as DateField (`menu` | `modal` | `drawer` | `au
38
43
 
39
44
  ### DateTimeField-specific
40
45
 
41
- | Prop | Type | Default | Description |
42
- | ----------------- | -------------------------- | -------------------------------------------- | ---------------------------------------------------------- |
43
- | `ampm` | `boolean` | `false` | Uses a 12-hour clock with an AM/PM column. |
44
- | `classes` | `DateTimeFieldClasses` | — | Classes for field / input regions. |
45
- | `clearable` | `boolean` | `true` | Whether the value can be cleared. |
46
- | `customProps` | `DateTimeFieldCustomProps` | — | Extra props for internal parts. |
47
- | `defaultValue` | `Date \| null` | `null` | Uncontrolled initial value. |
48
- | `defaultView` | `CalendarView` | `"date"` | Initial calendar panel view. |
49
- | `disableDates` | `Date[]` | — | Dates that cannot be selected. |
50
- | `disableMonths` | `number[]` | — | Month indexes that cannot be selected. |
51
- | `disableTimes` | `Date[]` | — | Times that cannot be selected. |
52
- | `disableYears` | `number[]` | — | Years that cannot be selected. |
53
- | `hideMonths` | `boolean` | `false` | Hides month navigation / panel. |
54
- | `hideOutsideDays` | `boolean` | `false` | Hides days that fall outside the displayed month. |
55
- | `hideWeekdays` | `boolean` | `false` | Hides weekday labels. |
56
- | `hideYears` | `boolean` | `false` | Hides year navigation / panel. |
57
- | `interval` | `number` | `1` | Minute step between time options. |
58
- | `maxDate` | `Date` | | Latest selectable date. |
59
- | `maxTime` | `Date` | | Latest selectable time. |
60
- | `minDate` | `Date` | — | Earliest selectable date. |
61
- | `minTime` | `Date` | — | Earliest selectable time. |
62
- | `overlay` | `FieldOverlayMode` | `"auto"` | Overlay shell: `menu`, `modal`, `drawer`, or `auto`. |
63
- | `showFooter` | `boolean` | `false` (`true` for modal/drawer when unset) | Shows Cancel / Apply on the nested picker. |
64
- | `showSeconds` | `boolean` | `false` | Shows seconds in the panel and formatted value. |
65
- | `slots` | `DateTimeFieldSlots` | — | Named slots (`FormField` slots + calendar `day` + footer). |
66
- | `startOfWeek` | `StartOfWeek` | `0` | First day of the week. |
67
- | `timeZone` | `string` | — | IANA time zone. |
68
- | `value` | `Date \| null` | | Controlled value. |
46
+ | Prop | Type | Default | Description |
47
+ | ----------------- | -------------------------- | -------------------------------------------- | ---------------------------------------------------------------------------------- |
48
+ | `ampm` | `boolean` | `false` | Uses a 12-hour clock with an AM/PM column. |
49
+ | `classes` | `DateTimeFieldClasses` | — | Classes for field / input regions. |
50
+ | `clearable` | `boolean` | `true` | Whether the value can be cleared. |
51
+ | `customProps` | `DateTimeFieldCustomProps` | — | Extra props for internal parts. |
52
+ | `defaultValue` | `Date \| null` | `null` | Uncontrolled initial value. |
53
+ | `defaultView` | `CalendarView` | `"date"` | Initial calendar panel view. |
54
+ | `disableDates` | `Date[]` | — | Dates that cannot be selected. |
55
+ | `disableMonths` | `number[]` | — | Month indexes that cannot be selected. |
56
+ | `disableTimes` | `Date[]` | — | Times that cannot be selected. |
57
+ | `disableYears` | `number[]` | — | Years that cannot be selected. |
58
+ | `editable` | `boolean` | `false` | Unlocks the input. Does not parse or commit typed text. |
59
+ | `fill` | `boolean` | — | Fills the overlay width. Unset: `true` for `drawer`, `false` for `menu` / `modal`. |
60
+ | `hideMonths` | `boolean` | `false` | Hides month navigation / panel. |
61
+ | `hideOutsideDays` | `boolean` | `false` | Hides days that fall outside the displayed month. |
62
+ | `hideWeekdays` | `boolean` | `false` | Hides weekday labels. |
63
+ | `hideYears` | `boolean` | `false` | Hides year navigation / panel. |
64
+ | `interval` | `number` | `1` | Minute step between time options. |
65
+ | `maxDate` | `Date` | — | Latest selectable date. |
66
+ | `maxTime` | `Date` | — | Latest selectable time. |
67
+ | `minDate` | `Date` | | Earliest selectable date. |
68
+ | `minTime` | `Date` | | Earliest selectable time. |
69
+ | `overlay` | `FieldOverlayMode` | `"auto"` | Overlay shell: `menu`, `modal`, `drawer`, or `auto`. |
70
+ | `showFooter` | `boolean` | `false` (`true` for modal/drawer when unset) | Shows Cancel / Apply on the nested picker. |
71
+ | `showSeconds` | `boolean` | `false` | Shows seconds in the panel and formatted value. |
72
+ | `slots` | `DateTimeFieldSlots` | — | Named slots (`FormField` slots + calendar `day` + footer). |
73
+ | `startOfWeek` | `StartOfWeek` | `0` | First day of the week. |
74
+ | `timeZone` | `string` | — | IANA time zone. |
75
+ | `value` | `Date \| null` | — | Controlled value. |
69
76
 
70
77
  ### v-model
71
78
 
@@ -36,6 +36,8 @@ import { DateTimePicker } from "@bridge-ui/vue/Components/DateTimePicker";
36
36
  | `disableMonths` | `number[]` | — | Month indexes that cannot be selected. |
37
37
  | `disableTimes` | `Date[]` | — | Times that cannot be selected. |
38
38
  | `disableYears` | `number[]` | — | Years that cannot be selected. |
39
+ | `error` | `boolean` | `false` | Applies the error color palette to tiles. |
40
+ | `fill` | `boolean` | `false` | Fills the container width. |
39
41
  | `hideMonths` | `boolean` | `false` | Hides month navigation / panel. |
40
42
  | `hideOutsideDays` | `boolean` | `false` | Hides days that fall outside the displayed month. |
41
43
  | `hideWeekdays` | `boolean` | `false` | Hides weekday labels. |
@@ -20,6 +20,12 @@ import { DateTimeRangeField } from "@bridge-ui/vue/Components/DateTimeRangeField
20
20
 
21
21
  Supports the same `overlay` prop as DateField (`menu` | `modal` | `drawer` | `auto`).
22
22
 
23
+ The input is read-only by default (picker only). Set `editable` to unlock typing. The field does not parse or commit typed text — handle that in your own component if needed:
24
+
25
+ ```vue
26
+ <DateTimeRangeField editable label="Event" />
27
+ ```
28
+
23
29
  ### customProps
24
30
 
25
31
  ```vue
@@ -36,34 +42,36 @@ Supports the same `overlay` prop as DateField (`menu` | `modal` | `drawer` | `au
36
42
 
37
43
  ### DateTimeRangeField-specific
38
44
 
39
- | Prop | Type | Default | Description |
40
- | ----------------- | ------------------------------- | -------------------------------------------- | --------------------------------------------------------------------------------- |
41
- | `ampm` | `boolean` | `false` | Uses a 12-hour clock with an AM/PM column. |
42
- | `classes` | `DateTimeRangeFieldClasses` | — | Classes for field / input regions. |
43
- | `clearable` | `boolean` | `true` | Whether the value can be cleared. |
44
- | `customProps` | `DateTimeRangeFieldCustomProps` | — | Extra props for internal parts. |
45
- | `defaultValue` | `DateRangeValue \| null` | `null` | Uncontrolled initial value. |
46
- | `disableDates` | `Date[]` | — | Dates that cannot be selected. |
47
- | `disableMonths` | `number[]` | — | Month indexes that cannot be selected. |
48
- | `disableTimes` | `Date[]` | — | Times that cannot be selected. |
49
- | `disableYears` | `number[]` | — | Years that cannot be selected. |
50
- | `hideMonths` | `boolean` | `false` | Hides month navigation / panel. |
51
- | `hideOutsideDays` | `boolean` | `false` | Hides days that fall outside the displayed month. |
52
- | `hideWeekdays` | `boolean` | `false` | Hides weekday labels. |
53
- | `hideYears` | `boolean` | `false` | Hides year navigation / panel. |
54
- | `interval` | `number` | `1` | Minute step between time options. |
55
- | `maxDate` | `Date` | | Latest selectable date. |
56
- | `maxTime` | `Date` | | Latest selectable time. |
57
- | `minDate` | `Date` | — | Earliest selectable date. |
58
- | `minTime` | `Date` | — | Earliest selectable time. |
59
- | `orientation` | `"horizontal" \| "vertical"` | `"horizontal"` | Dual calendar layout. Mobile `drawer` / `modal` default to `vertical` when unset. |
60
- | `overlay` | `FieldOverlayMode` | `"auto"` | Overlay shell: `menu`, `modal`, `drawer`, or `auto`. |
61
- | `showFooter` | `boolean` | `false` (`true` for modal/drawer when unset) | Shows Cancel / Apply on the nested picker. |
62
- | `showSeconds` | `boolean` | `false` | Shows seconds in the panel and formatted value. |
63
- | `slots` | `DateTimeRangeFieldSlots` | — | Named slots (`FormField` slots + calendar `day` + footer). |
64
- | `startOfWeek` | `StartOfWeek` | `0` | First day of the week. |
65
- | `timeZone` | `string` | — | IANA time zone. |
66
- | `value` | `DateRangeValue \| null` | | Controlled value. |
45
+ | Prop | Type | Default | Description |
46
+ | ----------------- | ------------------------------- | -------------------------------------------- | ---------------------------------------------------------------------------------- |
47
+ | `ampm` | `boolean` | `false` | Uses a 12-hour clock with an AM/PM column. |
48
+ | `classes` | `DateTimeRangeFieldClasses` | — | Classes for field / input regions. |
49
+ | `clearable` | `boolean` | `true` | Whether the value can be cleared. |
50
+ | `customProps` | `DateTimeRangeFieldCustomProps` | — | Extra props for internal parts. |
51
+ | `defaultValue` | `DateRangeValue \| null` | `null` | Uncontrolled initial value. |
52
+ | `disableDates` | `Date[]` | — | Dates that cannot be selected. |
53
+ | `disableMonths` | `number[]` | — | Month indexes that cannot be selected. |
54
+ | `disableTimes` | `Date[]` | — | Times that cannot be selected. |
55
+ | `disableYears` | `number[]` | — | Years that cannot be selected. |
56
+ | `editable` | `boolean` | `false` | Unlocks the input. Does not parse or commit typed text. |
57
+ | `fill` | `boolean` | — | Fills the overlay width. Unset: `true` for `drawer`, `false` for `menu` / `modal`. |
58
+ | `hideMonths` | `boolean` | `false` | Hides month navigation / panel. |
59
+ | `hideOutsideDays` | `boolean` | `false` | Hides days that fall outside the displayed month. |
60
+ | `hideWeekdays` | `boolean` | `false` | Hides weekday labels. |
61
+ | `hideYears` | `boolean` | `false` | Hides year navigation / panel. |
62
+ | `interval` | `number` | `1` | Minute step between time options. |
63
+ | `maxDate` | `Date` | — | Latest selectable date. |
64
+ | `maxTime` | `Date` | — | Latest selectable time. |
65
+ | `minDate` | `Date` | | Earliest selectable date. |
66
+ | `minTime` | `Date` | | Earliest selectable time. |
67
+ | `orientation` | `"horizontal" \| "vertical"` | `"horizontal"` | Dual calendar layout. Mobile `drawer` / `modal` default to `vertical` when unset. |
68
+ | `overlay` | `FieldOverlayMode` | `"auto"` | Overlay shell: `menu`, `modal`, `drawer`, or `auto`. |
69
+ | `showFooter` | `boolean` | `false` (`true` for modal/drawer when unset) | Shows Cancel / Apply on the nested picker. |
70
+ | `showSeconds` | `boolean` | `false` | Shows seconds in the panel and formatted value. |
71
+ | `slots` | `DateTimeRangeFieldSlots` | — | Named slots (`FormField` slots + calendar `day` + footer). |
72
+ | `startOfWeek` | `StartOfWeek` | `0` | First day of the week. |
73
+ | `timeZone` | `string` | — | IANA time zone. |
74
+ | `value` | `DateRangeValue \| null` | — | Controlled value. |
67
75
 
68
76
  ### v-model
69
77
 
@@ -35,6 +35,8 @@ import { DateTimeRangePicker } from "@bridge-ui/vue/Components/DateTimeRangePick
35
35
  | `disableMonths` | `number[]` | — | Month indexes that cannot be selected. |
36
36
  | `disableTimes` | `Date[]` | — | Times that cannot be selected. |
37
37
  | `disableYears` | `number[]` | — | Years that cannot be selected. |
38
+ | `error` | `boolean` | `false` | Applies the error color palette to tiles. |
39
+ | `fill` | `boolean` | `false` | Fills the container width. |
38
40
  | `hideMonths` | `boolean` | `false` | Hides month navigation / panel. |
39
41
  | `hideOutsideDays` | `boolean` | `false` | Hides days that fall outside the displayed month. |
40
42
  | `hideWeekdays` | `boolean` | `false` | Hides weekday labels. |
@@ -1,9 +1,10 @@
1
1
  # FieldOverlay
2
2
 
3
3
  Switches between `Menu`, `Modal`, and `Drawer` shells for field pickers and listboxes.
4
- Dialog shells (`modal` / `drawer`) always center the picker and size the drawer
5
- panel to its content (up to `90dvh`) so dual-month and dual-time pickers are not
6
- clipped.
4
+ Dialog shells size to the picker: `modal` uses `w-fit` up to the viewport;
5
+ `drawer` is full width and up to `90dvh`, and scrolls horizontally when dual
6
+ calendars or time columns overflow. Nested pickers flush the bottom radius in a
7
+ drawer so the shell meets the screen edge.
7
8
 
8
9
  ## Import
9
10
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  Low-level form control chrome (labels, description, error) for Checkbox, Radio, and Switch.
6
6
 
7
- Control tokens stay on the parent (`tokens.color`, `tokens.invalidated`, …).
7
+ Control tokens stay on the parent (`tokens.color`, …).
8
8
 
9
9
  ## Import
10
10