@bridge-ui/vue 0.3.0 → 0.4.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 (69) hide show
  1. package/dist/Components/Autocomplete/Autocomplete.vue_vue_type_script_setup_true_lang.js +40 -45
  2. package/dist/Components/Autocomplete/composables/useAutocomplete.d.ts +1 -0
  3. package/dist/Components/ColorField/ColorField.vue_vue_type_script_setup_true_lang.js +39 -44
  4. package/dist/Components/ColorField/composables/useColorField.d.ts +1 -0
  5. package/dist/Components/DataTable/DataTable.vue.d.ts +3 -3
  6. package/dist/Components/DataTable/DataTable.vue_vue_type_script_setup_true_lang.js +86 -72
  7. package/dist/Components/DataTable/DataTableColumnsMenu.vue.d.ts +9 -3
  8. package/dist/Components/DataTable/DataTableColumnsMenu.vue_vue_type_script_setup_true_lang.js +71 -26
  9. package/dist/Components/DataTable/DataTableFilterMenu.vue.d.ts +5 -2
  10. package/dist/Components/DataTable/DataTableFilterMenu.vue_vue_type_script_setup_true_lang.js +94 -75
  11. package/dist/Components/DataTable/DataTableFilterOptions.vue.d.ts +4 -1
  12. package/dist/Components/DataTable/DataTableFilterOptions.vue_vue_type_script_setup_true_lang.js +12 -4
  13. package/dist/Components/DataTable/DataTableSelection.vue_vue_type_script_setup_true_lang.js +22 -21
  14. package/dist/Components/DataTable/DataTableToolbarButton.vue.d.ts +2 -1
  15. package/dist/Components/DataTable/composables/useDataTable.d.ts +12 -4
  16. package/dist/Components/DataTable/composables/useDataTable.js +254 -222
  17. package/dist/Components/DataTable/composables/useDataTableColumnsMenu.d.ts +27 -0
  18. package/dist/Components/DataTable/composables/useDataTableColumnsMenu.js +54 -0
  19. package/dist/Components/DataTable/dataTable.types.d.ts +26 -9
  20. package/dist/Components/DataTable/index.d.ts +1 -1
  21. package/dist/Components/DateField/DateField.vue_vue_type_script_setup_true_lang.js +52 -57
  22. package/dist/Components/DateField/composables/useDateField.d.ts +1 -0
  23. package/dist/Components/DateRangeField/DateRangeField.vue_vue_type_script_setup_true_lang.js +50 -55
  24. package/dist/Components/DateRangeField/composables/useDateRangeField.d.ts +1 -0
  25. package/dist/Components/DateTimeField/DateTimeField.vue_vue_type_script_setup_true_lang.js +56 -61
  26. package/dist/Components/DateTimeField/composables/useDateTimeField.d.ts +1 -0
  27. package/dist/Components/DateTimeRangeField/DateTimeRangeField.vue_vue_type_script_setup_true_lang.js +56 -61
  28. package/dist/Components/DateTimeRangeField/composables/useDateTimeRangeField.d.ts +1 -0
  29. package/dist/Components/FormField/composables/useFormField.d.ts +1 -0
  30. package/dist/Components/FormField/composables/useFormField.js +80 -75
  31. package/dist/Components/NumberField/NumberField.vue_vue_type_script_setup_true_lang.js +53 -43
  32. package/dist/Components/NumberField/composables/useNumberField.d.ts +8 -1
  33. package/dist/Components/NumberField/composables/useNumberField.js +49 -36
  34. package/dist/Components/NumberField/index.d.ts +1 -1
  35. package/dist/Components/NumberField/numberField.types.d.ts +13 -1
  36. package/dist/Components/PasswordField/PasswordField.vue_vue_type_script_setup_true_lang.js +28 -33
  37. package/dist/Components/PasswordField/composables/usePasswordField.d.ts +1 -0
  38. package/dist/Components/Select/Select.vue_vue_type_script_setup_true_lang.js +42 -47
  39. package/dist/Components/Select/composables/useSelect.d.ts +1 -0
  40. package/dist/Components/Slider/Slider.vue_vue_type_script_setup_true_lang.js +43 -48
  41. package/dist/Components/Slider/composables/useSlider.d.ts +1 -1
  42. package/dist/Components/Table/Table.vue_vue_type_script_setup_true_lang.js +2 -2
  43. package/dist/Components/Table/composables/useTable.d.ts +3 -0
  44. package/dist/Components/Table/composables/useTable.js +1 -0
  45. package/dist/Components/Table/table.types.d.ts +2 -1
  46. package/dist/Components/TextField/TextField.vue_vue_type_script_setup_true_lang.js +11 -16
  47. package/dist/Components/TextField/composables/useTextField.d.ts +1 -0
  48. package/dist/Components/Textarea/Textarea.vue_vue_type_script_setup_true_lang.js +15 -20
  49. package/dist/Components/Textarea/composables/useTextarea.d.ts +1 -0
  50. package/dist/Components/TimeField/TimeField.vue_vue_type_script_setup_true_lang.js +45 -50
  51. package/dist/Components/TimeField/composables/useTimeField.d.ts +1 -0
  52. package/dist/Components/TimeRangeField/TimeRangeField.vue_vue_type_script_setup_true_lang.js +45 -50
  53. package/dist/Components/TimeRangeField/composables/useTimeRangeField.d.ts +1 -0
  54. package/dist/Utils/index.d.ts +1 -0
  55. package/dist/Utils/index.js +28 -27
  56. package/dist/Utils/useOptionalModel.d.ts +6 -0
  57. package/dist/Utils/useOptionalModel.js +13 -0
  58. package/dist/augments.d.ts +1 -1
  59. package/dist/index.d.ts +1 -1
  60. package/dist/theme.css +46 -42
  61. package/docs/components/DataTable.md +42 -16
  62. package/docs/components/NumberField.md +17 -6
  63. package/docs/examples/i18n-dictionary.ts +6 -0
  64. package/docs/examples/icon-fontawesome.ts +4 -0
  65. package/docs/examples/icon-heroicons.ts +4 -0
  66. package/docs/examples/icon-lucide.ts +4 -0
  67. package/docs/examples/icon-phosphor.ts +4 -0
  68. package/docs/examples/icon-tabler.ts +4 -0
  69. package/package.json +2 -2
@@ -0,0 +1,27 @@
1
+ import { FieldOverlayMode } from '@bridge-ui/core/Domain';
2
+ import { DataTableVisibilityItem } from './useDataTable';
3
+ /**
4
+ * Column visibility overlay state: draft when the footer is shown, live
5
+ * otherwise.
6
+ */
7
+ export declare function useDataTableColumnsMenu(props: {
8
+ items: DataTableVisibilityItem[];
9
+ overlay?: FieldOverlayMode;
10
+ showFooter?: boolean;
11
+ }, onChange: (hiddenIds: string[]) => void): {
12
+ show: import('vue').Ref<boolean, boolean>;
13
+ onApply: () => void;
14
+ onReset: () => void;
15
+ isHidden: (item: DataTableVisibilityItem) => boolean;
16
+ triggerRef: import('vue').Ref<HTMLSpanElement | null, HTMLSpanElement | null>;
17
+ controlSize: import('vue').ComputedRef<"md" | "sm">;
18
+ onToggleItem: (item: DataTableVisibilityItem) => void;
19
+ onToggleShow: () => void;
20
+ overlayCustomProps: import('vue').ComputedRef<{
21
+ menu: {
22
+ anchorEl: HTMLSpanElement | null;
23
+ placement: "bottom";
24
+ };
25
+ }>;
26
+ showFooter: import('vue').ComputedRef<boolean>;
27
+ };
@@ -0,0 +1,54 @@
1
+ import { useBreakpoint as e } from "../../../Utils/useBreakpoint.js";
2
+ import { computed as t, ref as n, watch as r } from "vue";
3
+ import { getDataTableHiddenColumnIds as i, getDataTableResetHiddenColumnIds as a, getFieldOverlayControlSize as o, resolveFieldOverlay as s, resolveFieldShowFooter as c, toggleDataTableColumnVisibility as l } from "@bridge-ui/core/Domain";
4
+ //#region src/Components/DataTable/composables/useDataTableColumnsMenu.ts
5
+ function u(u, d) {
6
+ let f = n(!1), p = e(), m = n([]), h = n(null), g = t(() => s(u.overlay, p.mobile)), _ = t(() => c(u.showFooter, g.value)), v = t(() => o(g.value)), y = t(() => ({ menu: {
7
+ anchorEl: h.value,
8
+ placement: "bottom"
9
+ } }));
10
+ r(f, (e) => {
11
+ e && b();
12
+ }, { flush: "sync" });
13
+ function b() {
14
+ m.value = i(u.items);
15
+ }
16
+ function x() {
17
+ return _.value ? m.value : i(u.items);
18
+ }
19
+ function S(e) {
20
+ return x().includes(e.id);
21
+ }
22
+ function C() {
23
+ f.value = !f.value;
24
+ }
25
+ function w(e) {
26
+ if (!e.hideable) return;
27
+ let t = l(x(), e.id, !S(e), u.items.map((e) => e.id));
28
+ if (_.value) {
29
+ m.value = t;
30
+ return;
31
+ }
32
+ d(t);
33
+ }
34
+ function T() {
35
+ m.value = a(u.items);
36
+ }
37
+ function E() {
38
+ d(m.value), f.value = !1;
39
+ }
40
+ return {
41
+ show: f,
42
+ onApply: E,
43
+ onReset: T,
44
+ isHidden: S,
45
+ triggerRef: h,
46
+ controlSize: v,
47
+ onToggleItem: w,
48
+ onToggleShow: C,
49
+ overlayCustomProps: y,
50
+ showFooter: _
51
+ };
52
+ }
53
+ //#endregion
54
+ export { u as useDataTableColumnsMenu };
@@ -1,5 +1,5 @@
1
1
  import { HTMLAttributes, Slot, VNodeChild } from 'vue';
2
- import { DataTableColumnBase, DataTableColumnSearch, DataTableFilterOption, DataTableFilters, DataTableItemSlotProps, DataTableLoadingVariant, DataTablePaginationSlotProps, DataTablePerPageSlotProps, DataTableSelectionMode, DataTableSorting, DataTableStickyEdge, DataTableStickyHeader } from '@bridge-ui/core/Domain';
2
+ import { DataTableColumnBase, DataTableColumnClasses, DataTableColumnSearch, DataTableFilterOption, DataTableFilters, DataTableItemSlotProps, DataTableLoadingVariant, DataTablePaginationSlotProps, DataTablePerPageSlotProps, DataTableSelectionMode, DataTableSorting, DataTableStickyEdge, DataTableStickyHeader, FieldOverlayMode } from '@bridge-ui/core/Domain';
3
3
  import { TableAlign, TableRounded, TableSize, TableVariant } from '@bridge-ui/core/Tokens';
4
4
  import { MergeHtmlProps, MergeProps } from '@bridge-ui/core/Utils';
5
5
  import { CheckboxProps } from '../Checkbox/checkbox.types';
@@ -9,7 +9,7 @@ import { RadioProps } from '../Radio/radio.types';
9
9
  import { SelectOwnProps } from '../Select/select.types';
10
10
  import { TableAlignOverrides, TableRoundedOverrides, TableSizeOverrides, TableVariantOverrides } from '../Table/table.types';
11
11
  import { TextFieldOwnProps } from '../TextField/textField.types';
12
- export type { DataTableColumnBase, DataTableColumnSearch, DataTableFilterOption, DataTableFilters, DataTableItemSlotProps, DataTableLoadingVariant, DataTablePaginationSlotProps, DataTablePerPageSlotProps, DataTableSelectionMode, DataTableSorting, DataTableStickyEdge, DataTableStickyHeader, };
12
+ export type { DataTableColumnBase, DataTableColumnClasses, DataTableColumnSearch, DataTableFilterOption, DataTableFilters, DataTableItemSlotProps, DataTableLoadingVariant, DataTablePaginationSlotProps, DataTablePerPageSlotProps, DataTableSelectionMode, DataTableSorting, DataTableStickyEdge, DataTableStickyHeader, };
13
13
  /**
14
14
  * Column definition with Vue renderers.
15
15
  */
@@ -270,6 +270,21 @@ export interface DataTableOwnProps<T> {
270
270
  * @default undefined
271
271
  */
272
272
  columnSearch?: DataTableColumnSearch;
273
+ /**
274
+ * Overlay shell for the column visibility panel. `auto` uses `menu` on
275
+ * desktop and `drawer` on mobile.
276
+ *
277
+ * @default "auto"
278
+ */
279
+ columnsOverlay?: FieldOverlayMode;
280
+ /**
281
+ * Shows Reset / OK on the column visibility overlay. Unset defaults to
282
+ * `true` for `modal` / `drawer` shells (`false` for `menu`). Selection
283
+ * stays draft until OK.
284
+ *
285
+ * @default undefined
286
+ */
287
+ columnsShowFooter?: boolean;
273
288
  /**
274
289
  * Extra props for internal parts (`table`, `wrapper`, checkboxes, …).
275
290
  *
@@ -282,6 +297,13 @@ export interface DataTableOwnProps<T> {
282
297
  * @default undefined
283
298
  */
284
299
  expanded?: string[];
300
+ /**
301
+ * Overlay shell for column filter panels. `auto` uses `menu` on desktop
302
+ * and `drawer` on mobile.
303
+ *
304
+ * @default "auto"
305
+ */
306
+ filterOverlay?: FieldOverlayMode;
285
307
  /**
286
308
  * Controlled column filters: column id → selected option values.
287
309
  *
@@ -289,7 +311,8 @@ export interface DataTableOwnProps<T> {
289
311
  */
290
312
  filters?: DataTableFilters;
291
313
  /**
292
- * Stretch the table to at least the wrapper width.
314
+ * Stretch the table to at least the wrapper width. When `false`, the
315
+ * wrapper hugs column content, and pagination / per-page follow that width.
293
316
  *
294
317
  * @default true
295
318
  */
@@ -337,12 +360,6 @@ export interface DataTableOwnProps<T> {
337
360
  * @default undefined
338
361
  */
339
362
  pageCount?: number;
340
- /**
341
- * Alignment of the built-in Pagination region.
342
- *
343
- * @default "end"
344
- */
345
- paginationAlign?: MergeProps<TableAlign, TableAlignOverrides>;
346
363
  /**
347
364
  * Page size. With `page` and no `pageCount`/`totalCount`, slices `rows`
348
365
  * locally. With server paging, only drives the per-page Select.
@@ -1,3 +1,3 @@
1
1
  export { useDataTable } from './composables/useDataTable';
2
- export type { DataTableClasses, DataTableColumn, DataTableColumnBase, DataTableColumnSearch, DataTableCustomProps, DataTableEmits, DataTableFilterOption, DataTableFilters, DataTableItemSlotProps, DataTableLoadingVariant, DataTableOwnProps, DataTablePaginationSlotProps, DataTablePerPageSlotProps, DataTableProps, DataTableSelectionMode, DataTableSlots, DataTableSorting, DataTableStickyEdge, DataTableStickyHeader, } from './dataTable.types';
2
+ export type { DataTableClasses, DataTableColumn, DataTableColumnBase, DataTableColumnClasses, DataTableColumnSearch, DataTableCustomProps, DataTableEmits, DataTableFilterOption, DataTableFilters, DataTableItemSlotProps, DataTableLoadingVariant, DataTableOwnProps, DataTablePaginationSlotProps, DataTablePerPageSlotProps, DataTableProps, DataTableSelectionMode, DataTableSlots, DataTableSorting, DataTableStickyEdge, DataTableStickyHeader, } from './dataTable.types';
3
3
  export { default as DataTable } from './DataTable.vue';
@@ -1,15 +1,15 @@
1
1
  import { useResolveMessage as e } from "../../Adapters/I18n/useI18nAdapter.js";
2
2
  import { presentSlotNames as t } from "../../Utils/slotOrProp.js";
3
- import n from "../Icon/Icon.js";
4
- import { FORM_FIELD_CHROME_SLOT_NAMES as r } from "../FormField/formField.types.js";
5
- import i from "../FormField/FormField.js";
6
- import a from "../FieldOverlay/FieldOverlay.js";
7
- import { useDateField as o } from "./composables/useDateField.js";
8
- import s from "../DatePicker/DatePicker.js";
9
- import { Fragment as c, computed as l, createCommentVNode as u, createElementBlock as d, createElementVNode as f, createSlots as p, createTextVNode as m, createVNode as h, defineComponent as g, guardReactiveProps as _, mergeModels as v, mergeProps as y, normalizeClass as b, normalizeProps as x, openBlock as S, ref as C, renderList as w, renderSlot as T, toDisplayString as E, unref as D, useModel as O, withCtx as k, withKeys as A, withModifiers as j } from "vue";
10
- import { isUndefined as M } from "es-toolkit/compat";
3
+ import { useOptionalModel as n } from "../../Utils/useOptionalModel.js";
4
+ import r from "../Icon/Icon.js";
5
+ import { FORM_FIELD_CHROME_SLOT_NAMES as i } from "../FormField/formField.types.js";
6
+ import a from "../FormField/FormField.js";
7
+ import o from "../FieldOverlay/FieldOverlay.js";
8
+ import { useDateField as s } from "./composables/useDateField.js";
9
+ import c from "../DatePicker/DatePicker.js";
10
+ import { Fragment as l, createCommentVNode as u, createElementBlock as d, createElementVNode as f, createSlots as p, createTextVNode as m, createVNode as h, defineComponent as g, guardReactiveProps as _, mergeModels as v, mergeProps as y, normalizeClass as b, normalizeProps as x, openBlock as S, ref as C, renderList as w, renderSlot as T, toDisplayString as E, unref as D, useModel as O, withCtx as k, withKeys as A, withModifiers as j } from "vue";
11
11
  //#region src/Components/DateField/DateField.vue?vue&type=script&setup=true&lang.ts
12
- var N = { class: "flex min-w-0 flex-1 items-center gap-1" }, P = ["aria-label"], F = /*@__PURE__*/ g({
12
+ var M = { class: "flex min-w-0 flex-1 items-center gap-1" }, N = ["aria-label"], P = /*@__PURE__*/ g({
13
13
  inheritAttrs: !1,
14
14
  __name: "DateField",
15
15
  props: /*@__PURE__*/ v({
@@ -81,58 +81,53 @@ var N = { class: "flex min-w-0 flex-1 items-center gap-1" }, P = ["aria-label"],
81
81
  "open"
82
82
  ], ["update:modelValue"]),
83
83
  setup(g, { emit: v }) {
84
- let F = O(g, "modelValue"), I = g, L = v, R = e(), z = C(I.defaultValue ?? null), B = l({
85
- set: (e) => {
86
- F.value = e, z.value = e;
87
- },
88
- get: () => M(F.value) ? z.value : F.value
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);
90
- return (e, o) => (S(), d(c, null, [h(D(i), { field: D(W) }, p({
91
- default: k(() => [f("div", N, [f("input", x(_(D(G))), null, 16), D(Q) ? (S(), d("span", y({ key: 0 }, D(K), {
92
- onClick: o[0] ||= (...e) => D(q) && D(q)(...e),
93
- "aria-label": D(R)("Clear"),
94
- 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"])]
95
- }), [h(D(n), y({
84
+ let P = v, F = e(), I = O(g, "modelValue"), L = g, R = C(L.defaultValue ?? null), z = n(I, R), { open: ee, fill: B, overlay: V, dateOnly: H, formField: U, inputBind: W, clearBind: G, clearValue: K, modelValue: q, showFooter: J, pickerClass: Y, clearIconSize: X, showClearIcon: Z, handleOpenChange: Q, handlePickerChange: $, handlePickerCancel: te, overlayCustomProps: ne, datePickerCustomProps: re } = s(L, z, P);
85
+ return (e, n) => (S(), d(l, null, [h(D(a), { field: D(U) }, p({
86
+ default: k(() => [f("div", M, [f("input", x(_(D(W))), null, 16), D(Z) ? (S(), d("span", y({ key: 0 }, D(G), {
87
+ onClick: n[0] ||= (...e) => D(K) && D(K)(...e),
88
+ "aria-label": D(F)("Clear"),
89
+ onKeydown: [n[1] ||= A(j((...e) => D(K) && D(K)(...e), ["prevent"]), ["enter"]), n[2] ||= A(j((...e) => D(K) && D(K)(...e), ["prevent"]), ["space"])]
90
+ }), [h(D(r), y({
96
91
  icon: "clear",
97
- size: D(Z)
98
- }, I.customProps?.clearIcon), null, 16, ["size"])], 16, P)) : u("", !0)])]),
92
+ size: D(X)
93
+ }, L.customProps?.clearIcon), null, 16, ["size"])], 16, N)) : u("", !0)])]),
99
94
  _: 2
100
- }, [w(D(t)(D(r), e.$slots), (t) => ({
95
+ }, [w(D(t)(D(i), e.$slots), (t) => ({
101
96
  name: t,
102
97
  fn: k((n) => [T(e.$slots, t, x(_(n || {})))])
103
- }))]), 1032, ["field"]), h(D(a), {
104
- overlay: D(H),
105
- "model-value": D(V),
106
- "custom-props": D(re),
107
- "onUpdate:modelValue": D($)
98
+ }))]), 1032, ["field"]), h(D(o), {
99
+ overlay: D(V),
100
+ "model-value": D(ee),
101
+ "custom-props": D(ne),
102
+ "onUpdate:modelValue": D(Q)
108
103
  }, {
109
- default: k(() => [h(D(s), {
110
- fill: D(ee),
111
- value: D(J),
112
- class: b(D(X)),
113
- range: D(U).range,
114
- "show-footer": D(Y),
115
- "read-only": I.readonly,
116
- "max-date": D(U).maxDate,
117
- "min-date": D(U).minDate,
118
- multiple: D(U).multiple,
119
- "time-zone": D(U).timeZone,
120
- "hide-years": D(U).hideYears,
121
- onChange: D(te),
122
- onCancel: D(ne),
123
- "hide-months": D(U).hideMonths,
124
- "default-view": D(U).defaultView,
125
- error: D(W).invalidated.value,
126
- color: D(W).merged.value.color,
127
- "start-of-week": D(U).startOfWeek,
128
- "custom-props": D(ie),
129
- disabled: D(W).isDisabled.value,
130
- "disable-dates": D(U).disableDates,
131
- "hide-weekdays": D(U).hideWeekdays,
132
- "disable-years": D(U).disableYears,
133
- "disable-months": D(U).disableMonths,
134
- rounded: D(W).merged.value.rounded,
135
- "hide-outside-days": D(U).hideOutsideDays
104
+ default: k(() => [h(D(c), {
105
+ fill: D(B),
106
+ value: D(q),
107
+ class: b(D(Y)),
108
+ range: D(H).range,
109
+ "show-footer": D(J),
110
+ "read-only": L.readonly,
111
+ "max-date": D(H).maxDate,
112
+ "min-date": D(H).minDate,
113
+ multiple: D(H).multiple,
114
+ "time-zone": D(H).timeZone,
115
+ "hide-years": D(H).hideYears,
116
+ onChange: D($),
117
+ onCancel: D(te),
118
+ "hide-months": D(H).hideMonths,
119
+ "default-view": D(H).defaultView,
120
+ error: D(U).invalidated.value,
121
+ color: D(U).merged.value.color,
122
+ "start-of-week": D(H).startOfWeek,
123
+ "custom-props": D(re),
124
+ disabled: D(U).isDisabled.value,
125
+ "disable-dates": D(H).disableDates,
126
+ "hide-weekdays": D(H).hideWeekdays,
127
+ "disable-years": D(H).disableYears,
128
+ "disable-months": D(H).disableMonths,
129
+ rounded: D(U).merged.value.rounded,
130
+ "hide-outside-days": D(H).hideOutsideDays
136
131
  }, p({
137
132
  day: k((t) => [T(e.$slots, "day", x(_(t)), () => [m(E(t.label), 1)])]),
138
133
  _: 2
@@ -151,4 +146,4 @@ var N = { class: "flex min-w-0 flex-1 items-center gap-1" }, P = ["aria-label"],
151
146
  }
152
147
  });
153
148
  //#endregion
154
- export { F as default };
149
+ export { P as default };
@@ -449,6 +449,7 @@ export declare function useDateField(props: DateFieldOwnProps, model: Ref<null |
449
449
  endSlotBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
450
450
  invalidated: import('vue').ComputedRef<boolean>;
451
451
  containerBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {
452
+ "data-bridge-variant": NonNullable<keyof import('@bridge-ui/core/Tokens').FormFieldVariant | undefined>;
452
453
  "data-bridge-rounded": NonNullable<keyof import('@bridge-ui/core/Tokens').FormFieldRounded | undefined>;
453
454
  }>>;
454
455
  startIconBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", Partial<Omit<import('../../Icon').IconProps, "icon">> | undefined, {}>>;
@@ -1,15 +1,15 @@
1
1
  import { useResolveMessage as e } from "../../Adapters/I18n/useI18nAdapter.js";
2
2
  import { presentSlotNames as t } from "../../Utils/slotOrProp.js";
3
- import n from "../Icon/Icon.js";
4
- import { FORM_FIELD_CHROME_SLOT_NAMES as r } from "../FormField/formField.types.js";
5
- import i from "../FormField/FormField.js";
6
- import a from "../FieldOverlay/FieldOverlay.js";
7
- import { useDateRangeField as o } from "./composables/useDateRangeField.js";
8
- import s from "../DateRangePicker/DateRangePicker.js";
9
- import { Fragment as c, computed as l, createCommentVNode as u, createElementBlock as d, createElementVNode as f, createSlots as p, createTextVNode as m, createVNode as h, defineComponent as g, guardReactiveProps as _, mergeModels as v, mergeProps as y, normalizeClass as b, normalizeProps as x, openBlock as S, ref as C, renderList as w, renderSlot as T, toDisplayString as E, unref as D, useModel as O, withCtx as k, withKeys as A, withModifiers as j } from "vue";
10
- import { isUndefined as M } from "es-toolkit/compat";
3
+ import { useOptionalModel as n } from "../../Utils/useOptionalModel.js";
4
+ import r from "../Icon/Icon.js";
5
+ import { FORM_FIELD_CHROME_SLOT_NAMES as i } from "../FormField/formField.types.js";
6
+ import a from "../FormField/FormField.js";
7
+ import o from "../FieldOverlay/FieldOverlay.js";
8
+ import { useDateRangeField as s } from "./composables/useDateRangeField.js";
9
+ import c from "../DateRangePicker/DateRangePicker.js";
10
+ import { Fragment as l, createCommentVNode as u, createElementBlock as d, createElementVNode as f, createSlots as p, createTextVNode as m, createVNode as h, defineComponent as g, guardReactiveProps as _, mergeModels as v, mergeProps as y, normalizeClass as b, normalizeProps as x, openBlock as S, ref as C, renderList as w, renderSlot as T, toDisplayString as E, unref as D, useModel as O, withCtx as k, withKeys as A, withModifiers as j } from "vue";
11
11
  //#region src/Components/DateRangeField/DateRangeField.vue?vue&type=script&setup=true&lang.ts
12
- var N = { class: "flex min-w-0 flex-1 items-center gap-1" }, P = ["aria-label"], F = /*@__PURE__*/ g({
12
+ var M = { class: "flex min-w-0 flex-1 items-center gap-1" }, N = ["aria-label"], P = /*@__PURE__*/ g({
13
13
  inheritAttrs: !1,
14
14
  __name: "DateRangeField",
15
15
  props: /*@__PURE__*/ v({
@@ -79,56 +79,51 @@ var N = { class: "flex min-w-0 flex-1 items-center gap-1" }, P = ["aria-label"],
79
79
  "open"
80
80
  ], ["update:modelValue"]),
81
81
  setup(g, { emit: v }) {
82
- let F = O(g, "modelValue"), I = g, L = v, R = e(), z = C(I.defaultValue ?? null), B = l({
83
- set: (e) => {
84
- F.value = e, z.value = e;
85
- },
86
- get: () => M(F.value) ? z.value : F.value
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),
91
- "aria-label": D(R)("Clear"),
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"])]
93
- }), [h(D(n), y({
82
+ let P = e(), F = v, I = O(g, "modelValue"), L = g, R = C(L.defaultValue ?? null), z = n(I, R), { open: ee, fill: B, overlay: V, 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 } = s(L, z, F);
83
+ return (e, n) => (S(), d(l, null, [h(D(a), { field: D(U) }, p({
84
+ default: k(() => [f("div", M, [f("input", x(_(D(W))), null, 16), D(Q) ? (S(), d("span", y({ key: 0 }, D(G), {
85
+ onClick: n[0] ||= (...e) => D(K) && D(K)(...e),
86
+ "aria-label": D(P)("Clear"),
87
+ onKeydown: [n[1] ||= A(j((...e) => D(K) && D(K)(...e), ["prevent"]), ["enter"]), n[2] ||= A(j((...e) => D(K) && D(K)(...e), ["prevent"]), ["space"])]
88
+ }), [h(D(r), y({
94
89
  icon: "clear",
95
- size: D(Q)
96
- }, I.customProps?.clearIcon), null, 16, ["size"])], 16, P)) : u("", !0)])]),
90
+ size: D(Z)
91
+ }, L.customProps?.clearIcon), null, 16, ["size"])], 16, N)) : u("", !0)])]),
97
92
  _: 2
98
- }, [w(D(t)(D(r), e.$slots), (t) => ({
93
+ }, [w(D(t)(D(i), e.$slots), (t) => ({
99
94
  name: t,
100
95
  fn: k((n) => [T(e.$slots, t, x(_(n || {})))])
101
- }))]), 1032, ["field"]), h(D(a), {
102
- overlay: D(H),
103
- "model-value": D(V),
104
- "custom-props": D(ie),
105
- "onUpdate:modelValue": D(te)
96
+ }))]), 1032, ["field"]), h(D(o), {
97
+ overlay: D(V),
98
+ "model-value": D(ee),
99
+ "custom-props": D(re),
100
+ "onUpdate:modelValue": D($)
106
101
  }, {
107
- default: k(() => [h(s, {
108
- fill: D(ee),
109
- value: D(J),
110
- class: b(D(Z)),
111
- "show-footer": D(Y),
112
- orientation: D(X),
113
- "read-only": I.readonly,
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
102
+ default: k(() => [h(c, {
103
+ fill: D(B),
104
+ value: D(q),
105
+ class: b(D(X)),
106
+ "show-footer": D(J),
107
+ orientation: D(Y),
108
+ "read-only": L.readonly,
109
+ "max-date": D(H).maxDate,
110
+ "min-date": D(H).minDate,
111
+ "time-zone": D(H).timeZone,
112
+ onChange: D(te),
113
+ onCancel: D(ne),
114
+ "hide-years": D(H).hideYears,
115
+ "hide-months": D(H).hideMonths,
116
+ error: D(U).invalidated.value,
117
+ color: D(U).merged.value.color,
118
+ "start-of-week": D(H).startOfWeek,
119
+ disabled: D(U).isDisabled.value,
120
+ "disable-dates": D(H).disableDates,
121
+ "hide-weekdays": D(H).hideWeekdays,
122
+ "disable-years": D(H).disableYears,
123
+ "disable-months": D(H).disableMonths,
124
+ rounded: D(U).merged.value.rounded,
125
+ "custom-props": D(ie),
126
+ "hide-outside-days": D(H).hideOutsideDays
132
127
  }, p({
133
128
  day: k((t) => [T(e.$slots, "day", x(_(t)), () => [m(E(t.label), 1)])]),
134
129
  _: 2
@@ -172,4 +167,4 @@ var N = { class: "flex min-w-0 flex-1 items-center gap-1" }, P = ["aria-label"],
172
167
  }
173
168
  });
174
169
  //#endregion
175
- export { F as default };
170
+ export { P as default };
@@ -448,6 +448,7 @@ export declare function useDateRangeField(props: DateRangeFieldOwnProps, model:
448
448
  endSlotBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
449
449
  invalidated: import('vue').ComputedRef<boolean>;
450
450
  containerBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {
451
+ "data-bridge-variant": NonNullable<keyof import('@bridge-ui/core/Tokens').FormFieldVariant | undefined>;
451
452
  "data-bridge-rounded": NonNullable<keyof import('@bridge-ui/core/Tokens').FormFieldRounded | undefined>;
452
453
  }>>;
453
454
  startIconBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", Partial<Omit<import('../../Icon').IconProps, "icon">> | undefined, {}>>;
@@ -1,15 +1,15 @@
1
1
  import { useResolveMessage as e } from "../../Adapters/I18n/useI18nAdapter.js";
2
2
  import { presentSlotNames as t } from "../../Utils/slotOrProp.js";
3
- import n from "../Icon/Icon.js";
4
- import { FORM_FIELD_CHROME_SLOT_NAMES as r } from "../FormField/formField.types.js";
5
- import i from "../FormField/FormField.js";
6
- import a from "../FieldOverlay/FieldOverlay.js";
7
- import { useDateTimeField as o } from "./composables/useDateTimeField.js";
8
- import s from "../DateTimePicker/DateTimePicker.js";
9
- import { Fragment as c, computed as l, createCommentVNode as u, createElementBlock as d, createElementVNode as f, createSlots as p, createTextVNode as m, createVNode as h, defineComponent as g, guardReactiveProps as _, mergeModels as v, mergeProps as y, normalizeClass as b, normalizeProps as x, openBlock as S, ref as C, renderList as w, renderSlot as T, toDisplayString as E, unref as D, useModel as O, withCtx as k, withKeys as A, withModifiers as j } from "vue";
10
- import { isUndefined as M } from "es-toolkit/compat";
3
+ import { useOptionalModel as n } from "../../Utils/useOptionalModel.js";
4
+ import r from "../Icon/Icon.js";
5
+ import { FORM_FIELD_CHROME_SLOT_NAMES as i } from "../FormField/formField.types.js";
6
+ import a from "../FormField/FormField.js";
7
+ import o from "../FieldOverlay/FieldOverlay.js";
8
+ import { useDateTimeField as s } from "./composables/useDateTimeField.js";
9
+ import c from "../DateTimePicker/DateTimePicker.js";
10
+ import { Fragment as l, createCommentVNode as u, createElementBlock as d, createElementVNode as f, createSlots as p, createTextVNode as m, createVNode as h, defineComponent as g, guardReactiveProps as _, mergeModels as v, mergeProps as y, normalizeClass as b, normalizeProps as x, openBlock as S, ref as C, renderList as w, renderSlot as T, toDisplayString as E, unref as D, useModel as O, withCtx as k, withKeys as A, withModifiers as j } from "vue";
11
11
  //#region src/Components/DateTimeField/DateTimeField.vue?vue&type=script&setup=true&lang.ts
12
- var N = { class: "flex min-w-0 flex-1 items-center gap-1" }, P = ["aria-label"], F = /*@__PURE__*/ g({
12
+ var M = { class: "flex min-w-0 flex-1 items-center gap-1" }, N = ["aria-label"], P = /*@__PURE__*/ g({
13
13
  inheritAttrs: !1,
14
14
  __name: "DateTimeField",
15
15
  props: /*@__PURE__*/ v({
@@ -85,62 +85,57 @@ var N = { class: "flex min-w-0 flex-1 items-center gap-1" }, P = ["aria-label"],
85
85
  "open"
86
86
  ], ["update:modelValue"]),
87
87
  setup(g, { emit: v }) {
88
- let F = O(g, "modelValue"), I = g, L = v, R = e(), z = C(I.defaultValue ?? null), B = l({
89
- set: (e) => {
90
- F.value = e, z.value = e;
91
- },
92
- get: () => M(F.value) ? z.value : F.value
93
- }), { open: V, fill: ee, overlay: H, formField: U, inputBind: W, clearBind: G, clearValue: K, modelValue: q, showFooter: J, pickerClass: Y, dateTimeOnly: X, clearIconSize: Z, showClearIcon: Q, handleOpenChange: $, handlePickerChange: te, handlePickerCancel: ne, overlayCustomProps: re, dateTimePickerCustomProps: ie } = o(I, B, L);
94
- return (e, o) => (S(), d(c, null, [h(D(i), { field: D(U) }, p({
95
- default: k(() => [f("div", N, [f("input", x(_(D(W))), null, 16), D(Q) ? (S(), d("span", y({ key: 0 }, D(G), {
96
- onClick: o[0] ||= (...e) => D(K) && D(K)(...e),
97
- "aria-label": D(R)("Clear"),
98
- 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"])]
99
- }), [h(D(n), y({
88
+ let P = O(g, "modelValue"), F = e(), I = v, L = g, R = C(L.defaultValue ?? null), z = n(P, R), { open: ee, fill: B, overlay: V, formField: H, inputBind: U, clearBind: W, clearValue: G, modelValue: K, showFooter: q, pickerClass: J, dateTimeOnly: Y, clearIconSize: X, showClearIcon: Z, handleOpenChange: Q, handlePickerChange: $, handlePickerCancel: te, overlayCustomProps: ne, dateTimePickerCustomProps: re } = s(L, z, I);
89
+ return (e, n) => (S(), d(l, null, [h(D(a), { field: D(H) }, p({
90
+ default: k(() => [f("div", M, [f("input", x(_(D(U))), null, 16), D(Z) ? (S(), d("span", y({ key: 0 }, D(W), {
91
+ onClick: n[0] ||= (...e) => D(G) && D(G)(...e),
92
+ "aria-label": D(F)("Clear"),
93
+ onKeydown: [n[1] ||= A(j((...e) => D(G) && D(G)(...e), ["prevent"]), ["enter"]), n[2] ||= A(j((...e) => D(G) && D(G)(...e), ["prevent"]), ["space"])]
94
+ }), [h(D(r), y({
100
95
  icon: "clear",
101
- size: D(Z)
102
- }, I.customProps?.clearIcon), null, 16, ["size"])], 16, P)) : u("", !0)])]),
96
+ size: D(X)
97
+ }, L.customProps?.clearIcon), null, 16, ["size"])], 16, N)) : u("", !0)])]),
103
98
  _: 2
104
- }, [w(D(t)(D(r), e.$slots), (t) => ({
99
+ }, [w(D(t)(D(i), e.$slots), (t) => ({
105
100
  name: t,
106
101
  fn: k((n) => [T(e.$slots, t, x(_(n || {})))])
107
- }))]), 1032, ["field"]), h(D(a), {
108
- overlay: D(H),
109
- "model-value": D(V),
110
- "custom-props": D(re),
111
- "onUpdate:modelValue": D($)
102
+ }))]), 1032, ["field"]), h(D(o), {
103
+ overlay: D(V),
104
+ "model-value": D(ee),
105
+ "custom-props": D(ne),
106
+ "onUpdate:modelValue": D(Q)
112
107
  }, {
113
- default: k(() => [h(D(s), {
114
- fill: D(ee),
115
- value: D(q),
116
- class: b(D(Y)),
117
- ampm: D(X).ampm,
118
- "show-footer": D(J),
119
- "read-only": I.readonly,
120
- "max-date": D(X).maxDate,
121
- "min-date": D(X).minDate,
122
- "max-time": D(X).maxTime,
123
- "min-time": D(X).minTime,
124
- onChange: D(te),
125
- onCancel: D(ne),
126
- interval: D(X).interval,
127
- "time-zone": D(X).timeZone,
128
- "hide-years": D(X).hideYears,
129
- error: D(U).invalidated.value,
130
- color: D(U).merged.value.color,
131
- "hide-months": D(X).hideMonths,
132
- disabled: D(U).isDisabled.value,
133
- "show-seconds": D(X).showSeconds,
134
- "default-view": D(X).defaultView,
135
- "start-of-week": D(X).startOfWeek,
136
- "custom-props": D(ie),
137
- rounded: D(U).merged.value.rounded,
138
- "disable-dates": D(X).disableDates,
139
- "hide-weekdays": D(X).hideWeekdays,
140
- "disable-times": D(X).disableTimes,
141
- "disable-years": D(X).disableYears,
142
- "disable-months": D(X).disableMonths,
143
- "hide-outside-days": D(X).hideOutsideDays
108
+ default: k(() => [h(D(c), {
109
+ fill: D(B),
110
+ value: D(K),
111
+ class: b(D(J)),
112
+ ampm: D(Y).ampm,
113
+ "show-footer": D(q),
114
+ "read-only": L.readonly,
115
+ "max-date": D(Y).maxDate,
116
+ "min-date": D(Y).minDate,
117
+ "max-time": D(Y).maxTime,
118
+ "min-time": D(Y).minTime,
119
+ onChange: D($),
120
+ onCancel: D(te),
121
+ interval: D(Y).interval,
122
+ "time-zone": D(Y).timeZone,
123
+ "hide-years": D(Y).hideYears,
124
+ error: D(H).invalidated.value,
125
+ color: D(H).merged.value.color,
126
+ "hide-months": D(Y).hideMonths,
127
+ disabled: D(H).isDisabled.value,
128
+ "show-seconds": D(Y).showSeconds,
129
+ "default-view": D(Y).defaultView,
130
+ "start-of-week": D(Y).startOfWeek,
131
+ "custom-props": D(re),
132
+ rounded: D(H).merged.value.rounded,
133
+ "disable-dates": D(Y).disableDates,
134
+ "hide-weekdays": D(Y).hideWeekdays,
135
+ "disable-times": D(Y).disableTimes,
136
+ "disable-years": D(Y).disableYears,
137
+ "disable-months": D(Y).disableMonths,
138
+ "hide-outside-days": D(Y).hideOutsideDays
144
139
  }, p({
145
140
  day: k((t) => [T(e.$slots, "day", x(_(t)), () => [m(E(t.label), 1)])]),
146
141
  _: 2
@@ -159,4 +154,4 @@ var N = { class: "flex min-w-0 flex-1 items-center gap-1" }, P = ["aria-label"],
159
154
  }
160
155
  });
161
156
  //#endregion
162
- export { F as default };
157
+ export { P as default };
@@ -449,6 +449,7 @@ export declare function useDateTimeField(props: DateTimeFieldOwnProps, model: Re
449
449
  endSlotBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
450
450
  invalidated: import('vue').ComputedRef<boolean>;
451
451
  containerBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {
452
+ "data-bridge-variant": NonNullable<keyof import('@bridge-ui/core/Tokens').FormFieldVariant | undefined>;
452
453
  "data-bridge-rounded": NonNullable<keyof import('@bridge-ui/core/Tokens').FormFieldRounded | undefined>;
453
454
  }>>;
454
455
  startIconBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", Partial<Omit<import('../../Icon').IconProps, "icon">> | undefined, {}>>;