@bridge-ui/vue 0.3.0 → 0.5.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 (135) hide show
  1. package/ai/skills/bridge-ui-components/SKILL.md +3 -1
  2. package/dist/Components/Accordion/accordionInjectionKey.d.ts +1 -0
  3. package/dist/Components/Accordion/composables/useAccordion.js +3 -2
  4. package/dist/Components/AccordionItem/composables/useAccordionItem.js +1 -0
  5. package/dist/Components/Autocomplete/Autocomplete.vue_vue_type_script_setup_true_lang.js +40 -45
  6. package/dist/Components/Autocomplete/composables/useAutocomplete.d.ts +1 -0
  7. package/dist/Components/ColorField/ColorField.vue_vue_type_script_setup_true_lang.js +39 -44
  8. package/dist/Components/ColorField/composables/useColorField.d.ts +1 -0
  9. package/dist/Components/DataTable/DataTable.vue.d.ts +4 -4
  10. package/dist/Components/DataTable/DataTable.vue_vue_type_script_setup_true_lang.js +139 -121
  11. package/dist/Components/DataTable/DataTableColumnsMenu.vue.d.ts +9 -3
  12. package/dist/Components/DataTable/DataTableColumnsMenu.vue_vue_type_script_setup_true_lang.js +71 -26
  13. package/dist/Components/DataTable/DataTableFilterMenu.vue.d.ts +5 -2
  14. package/dist/Components/DataTable/DataTableFilterMenu.vue_vue_type_script_setup_true_lang.js +94 -75
  15. package/dist/Components/DataTable/DataTableFilterOptions.vue.d.ts +4 -1
  16. package/dist/Components/DataTable/DataTableFilterOptions.vue_vue_type_script_setup_true_lang.js +12 -4
  17. package/dist/Components/DataTable/DataTableSelection.vue_vue_type_script_setup_true_lang.js +22 -21
  18. package/dist/Components/DataTable/DataTableToolbarButton.vue.d.ts +2 -1
  19. package/dist/Components/DataTable/composables/useDataTable.d.ts +12 -4
  20. package/dist/Components/DataTable/composables/useDataTable.js +255 -223
  21. package/dist/Components/DataTable/composables/useDataTableColumnsMenu.d.ts +27 -0
  22. package/dist/Components/DataTable/composables/useDataTableColumnsMenu.js +54 -0
  23. package/dist/Components/DataTable/dataTable.types.d.ts +26 -9
  24. package/dist/Components/DataTable/index.d.ts +1 -1
  25. package/dist/Components/DateField/DateField.vue_vue_type_script_setup_true_lang.js +52 -57
  26. package/dist/Components/DateField/composables/useDateField.d.ts +1 -0
  27. package/dist/Components/DateRangeField/DateRangeField.vue_vue_type_script_setup_true_lang.js +50 -55
  28. package/dist/Components/DateRangeField/composables/useDateRangeField.d.ts +1 -0
  29. package/dist/Components/DateTimeField/DateTimeField.vue_vue_type_script_setup_true_lang.js +56 -61
  30. package/dist/Components/DateTimeField/composables/useDateTimeField.d.ts +1 -0
  31. package/dist/Components/DateTimeRangeField/DateTimeRangeField.vue_vue_type_script_setup_true_lang.js +56 -61
  32. package/dist/Components/DateTimeRangeField/composables/useDateTimeRangeField.d.ts +1 -0
  33. package/dist/Components/EmptyState/EmptyState.js +5 -0
  34. package/dist/Components/EmptyState/EmptyState.vue.d.ts +16 -0
  35. package/dist/Components/EmptyState/EmptyState.vue_vue_type_script_setup_true_lang.js +42 -0
  36. package/dist/Components/EmptyState/composables/useEmptyState.d.ts +24 -0
  37. package/dist/Components/EmptyState/composables/useEmptyState.js +76 -0
  38. package/dist/Components/EmptyState/emptyState.types.d.ts +140 -0
  39. package/dist/Components/EmptyState/index.d.ts +3 -0
  40. package/dist/Components/EmptyState/index.js +3 -0
  41. package/dist/Components/FormField/composables/useFormField.d.ts +1 -0
  42. package/dist/Components/FormField/composables/useFormField.js +80 -75
  43. package/dist/Components/List/composables/useList.d.ts +3 -1
  44. package/dist/Components/List/composables/useList.js +2 -2
  45. package/dist/Components/ListItem/ListItem.vue_vue_type_script_setup_true_lang.js +4 -4
  46. package/dist/Components/ListSection/ListSection.vue_vue_type_script_setup_true_lang.js +4 -4
  47. package/dist/Components/ListSection/composables/useListSection.d.ts +1 -0
  48. package/dist/Components/ListSection/composables/useListSection.js +30 -28
  49. package/dist/Components/ListSection/listSectionInjectionKey.d.ts +5 -0
  50. package/dist/Components/ListSection/listSectionInjectionKey.js +4 -0
  51. package/dist/Components/NumberField/NumberField.vue_vue_type_script_setup_true_lang.js +53 -43
  52. package/dist/Components/NumberField/composables/useNumberField.d.ts +8 -1
  53. package/dist/Components/NumberField/composables/useNumberField.js +49 -36
  54. package/dist/Components/NumberField/index.d.ts +1 -1
  55. package/dist/Components/NumberField/numberField.types.d.ts +13 -1
  56. package/dist/Components/PasswordField/PasswordField.vue_vue_type_script_setup_true_lang.js +28 -33
  57. package/dist/Components/PasswordField/composables/usePasswordField.d.ts +1 -0
  58. package/dist/Components/Select/Select.vue_vue_type_script_setup_true_lang.js +42 -47
  59. package/dist/Components/Select/composables/useSelect.d.ts +1 -0
  60. package/dist/Components/Sidebar/Sidebar.js +5 -0
  61. package/dist/Components/Sidebar/Sidebar.vue.d.ts +16 -0
  62. package/dist/Components/Sidebar/Sidebar.vue_vue_type_script_setup_true_lang.js +59 -0
  63. package/dist/Components/Sidebar/SidebarInset.js +5 -0
  64. package/dist/Components/Sidebar/SidebarInset.vue.d.ts +11 -0
  65. package/dist/Components/Sidebar/SidebarInset.vue_vue_type_script_setup_true_lang.js +18 -0
  66. package/dist/Components/Sidebar/SidebarList.js +5 -0
  67. package/dist/Components/Sidebar/SidebarList.vue.d.ts +16 -0
  68. package/dist/Components/Sidebar/SidebarList.vue_vue_type_script_setup_true_lang.js +40 -0
  69. package/dist/Components/Sidebar/SidebarListItem.js +5 -0
  70. package/dist/Components/Sidebar/SidebarListItem.vue.d.ts +13 -0
  71. package/dist/Components/Sidebar/SidebarListItem.vue_vue_type_script_setup_true_lang.js +120 -0
  72. package/dist/Components/Sidebar/SidebarProvider.js +5 -0
  73. package/dist/Components/Sidebar/SidebarProvider.vue.d.ts +24 -0
  74. package/dist/Components/Sidebar/SidebarProvider.vue_vue_type_script_setup_true_lang.js +29 -0
  75. package/dist/Components/Sidebar/SidebarTrigger.js +5 -0
  76. package/dist/Components/Sidebar/SidebarTrigger.vue.d.ts +11 -0
  77. package/dist/Components/Sidebar/SidebarTrigger.vue_vue_type_script_setup_true_lang.js +35 -0
  78. package/dist/Components/Sidebar/composables/useSidebar.d.ts +6 -0
  79. package/dist/Components/Sidebar/composables/useSidebar.js +10 -0
  80. package/dist/Components/Sidebar/composables/useSidebarInset.d.ts +7 -0
  81. package/dist/Components/Sidebar/composables/useSidebarInset.js +32 -0
  82. package/dist/Components/Sidebar/composables/useSidebarList.d.ts +8 -0
  83. package/dist/Components/Sidebar/composables/useSidebarList.js +27 -0
  84. package/dist/Components/Sidebar/composables/useSidebarListItem.d.ts +15 -0
  85. package/dist/Components/Sidebar/composables/useSidebarListItem.js +44 -0
  86. package/dist/Components/Sidebar/composables/useSidebarProvider.d.ts +18 -0
  87. package/dist/Components/Sidebar/composables/useSidebarProvider.js +88 -0
  88. package/dist/Components/Sidebar/composables/useSidebarShell.d.ts +41 -0
  89. package/dist/Components/Sidebar/composables/useSidebarShell.js +116 -0
  90. package/dist/Components/Sidebar/composables/useSidebarTrigger.d.ts +10 -0
  91. package/dist/Components/Sidebar/composables/useSidebarTrigger.js +25 -0
  92. package/dist/Components/Sidebar/index.d.ts +15 -0
  93. package/dist/Components/Sidebar/index.js +15 -0
  94. package/dist/Components/Sidebar/sidebar.types.d.ts +244 -0
  95. package/dist/Components/Sidebar/sidebarInjectionKey.d.ts +80 -0
  96. package/dist/Components/Sidebar/sidebarInjectionKey.js +4 -0
  97. package/dist/Components/Sidebar/sidebarListInjectionKey.d.ts +5 -0
  98. package/dist/Components/Sidebar/sidebarListInjectionKey.js +4 -0
  99. package/dist/Components/Slider/Slider.vue_vue_type_script_setup_true_lang.js +42 -47
  100. package/dist/Components/Slider/composables/useSlider.d.ts +1 -1
  101. package/dist/Components/Table/Table.vue_vue_type_script_setup_true_lang.js +2 -2
  102. package/dist/Components/Table/composables/useTable.d.ts +3 -0
  103. package/dist/Components/Table/composables/useTable.js +1 -0
  104. package/dist/Components/Table/table.types.d.ts +2 -1
  105. package/dist/Components/TextField/TextField.vue_vue_type_script_setup_true_lang.js +11 -16
  106. package/dist/Components/TextField/composables/useTextField.d.ts +1 -0
  107. package/dist/Components/Textarea/Textarea.vue_vue_type_script_setup_true_lang.js +15 -20
  108. package/dist/Components/Textarea/composables/useTextarea.d.ts +1 -0
  109. package/dist/Components/TimeField/TimeField.vue_vue_type_script_setup_true_lang.js +45 -50
  110. package/dist/Components/TimeField/composables/useTimeField.d.ts +1 -0
  111. package/dist/Components/TimeRangeField/TimeRangeField.vue_vue_type_script_setup_true_lang.js +45 -50
  112. package/dist/Components/TimeRangeField/composables/useTimeRangeField.d.ts +1 -0
  113. package/dist/Utils/index.d.ts +1 -0
  114. package/dist/Utils/index.js +28 -27
  115. package/dist/Utils/useOptionalModel.d.ts +6 -0
  116. package/dist/Utils/useOptionalModel.js +13 -0
  117. package/dist/augments.d.ts +11 -1
  118. package/dist/index.d.ts +5 -1
  119. package/dist/index.js +79 -64
  120. package/dist/theme.css +46 -42
  121. package/docs/README.md +2 -0
  122. package/docs/ScrollUtilities.md +1 -1
  123. package/docs/components/DataTable.md +43 -17
  124. package/docs/components/Drawer.md +1 -1
  125. package/docs/components/EmptyState.md +125 -0
  126. package/docs/components/List.md +1 -1
  127. package/docs/components/NumberField.md +17 -6
  128. package/docs/components/Sidebar.md +281 -0
  129. package/docs/examples/i18n-dictionary.ts +6 -0
  130. package/docs/examples/icon-fontawesome.ts +5 -0
  131. package/docs/examples/icon-heroicons.ts +6 -0
  132. package/docs/examples/icon-lucide.ts +6 -0
  133. package/docs/examples/icon-phosphor.ts +6 -0
  134. package/docs/examples/icon-tabler.ts +6 -0
  135. package/package.json +2 -2
@@ -440,6 +440,7 @@ export declare function useTextField(props: TextFieldOwnProps): {
440
440
  endSlotBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
441
441
  invalidated: import('vue').ComputedRef<boolean>;
442
442
  containerBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {
443
+ "data-bridge-variant": NonNullable<keyof import('@bridge-ui/core/Tokens').FormFieldVariant | undefined>;
443
444
  "data-bridge-rounded": NonNullable<keyof import('@bridge-ui/core/Tokens').FormFieldRounded | undefined>;
444
445
  }>>;
445
446
  startIconBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", Partial<Omit<import('../../Icon').IconProps, "icon">> | undefined, {}>>;
@@ -1,14 +1,14 @@
1
1
  import { presentSlotNames as e } from "../../Utils/slotOrProp.js";
2
- import { FORM_FIELD_CHROME_SLOT_NAMES as t } from "../FormField/formField.types.js";
3
- import n from "../FormField/FormField.js";
4
- import { useTextarea as r } from "./composables/useTextarea.js";
5
- import { computed as i, createBlock as a, createElementVNode as o, createSlots as s, defineComponent as c, guardReactiveProps as l, mergeModels as u, mergeProps as d, normalizeProps as f, openBlock as p, ref as m, renderList as h, renderSlot as g, unref as _, useModel as v, useTemplateRef as y, vModelText as b, watch as x, withCtx as S, withDirectives as C } from "vue";
6
- import { isUndefined as w } from "es-toolkit/compat";
2
+ import { useOptionalModel as t } from "../../Utils/useOptionalModel.js";
3
+ import { FORM_FIELD_CHROME_SLOT_NAMES as n } from "../FormField/formField.types.js";
4
+ import r from "../FormField/FormField.js";
5
+ import { useTextarea as i } from "./composables/useTextarea.js";
6
+ import { createBlock as a, createElementVNode as o, createSlots as s, defineComponent as c, guardReactiveProps as l, isRef as u, mergeModels as d, mergeProps as f, normalizeProps as p, openBlock as m, ref as h, renderList as g, renderSlot as _, unref as v, useModel as y, useTemplateRef as b, vModelText as x, watch as S, withCtx as C, withDirectives as w } from "vue";
7
7
  //#region src/Components/Textarea/Textarea.vue?vue&type=script&setup=true&lang.ts
8
8
  var T = /*@__PURE__*/ c({
9
9
  inheritAttrs: !1,
10
10
  __name: "Textarea",
11
- props: /*@__PURE__*/ u({
11
+ props: /*@__PURE__*/ d({
12
12
  autosize: { type: Boolean },
13
13
  defaultValue: {},
14
14
  likeInput: { type: Boolean },
@@ -45,23 +45,18 @@ var T = /*@__PURE__*/ c({
45
45
  }),
46
46
  emits: ["update:modelValue"],
47
47
  setup(c) {
48
- let u = v(c, "modelValue"), T = c, E = m(T.defaultValue), D = i({
49
- set: (e) => {
50
- u.value = e, E.value = e;
51
- },
52
- get: () => w(u.value) ? E.value : u.value
53
- }), O = y("textarea"), { formField: k, textareaBind: A, adjustHeight: j } = r(T, O);
54
- return x(D, () => {
55
- j(O.value);
56
- }), (r, i) => (p(), a(_(n), { field: _(k) }, s({
57
- default: S(() => [C(o("textarea", d({
48
+ let d = y(c, "modelValue"), T = c, E = b("textarea"), D = h(T.defaultValue), O = t(d, D), { formField: k, textareaBind: A, adjustHeight: j } = i(T, E);
49
+ return S(O, () => {
50
+ j(E.value);
51
+ }), (t, i) => (m(), a(v(r), { field: v(k) }, s({
52
+ default: C(() => [w(o("textarea", f({
58
53
  ref: "textarea",
59
- "onUpdate:modelValue": i[0] ||= (e) => D.value = e
60
- }, _(A)), null, 16), [[b, D.value]])]),
54
+ "onUpdate:modelValue": i[0] ||= (e) => u(O) ? O.value = e : null
55
+ }, v(A)), null, 16), [[x, v(O)]])]),
61
56
  _: 2
62
- }, [h(_(e)(_(t), r.$slots), (e) => ({
57
+ }, [g(v(e)(v(n), t.$slots), (e) => ({
63
58
  name: e,
64
- fn: S((t) => [g(r.$slots, e, f(l(t || {})))])
59
+ fn: C((n) => [_(t.$slots, e, p(l(n || {})))])
65
60
  }))]), 1032, ["field"]));
66
61
  }
67
62
  });
@@ -441,6 +441,7 @@ export declare function useTextarea(props: TextareaOwnProps, textareaRef: Ref<nu
441
441
  endSlotBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
442
442
  invalidated: import('vue').ComputedRef<boolean>;
443
443
  containerBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {
444
+ "data-bridge-variant": NonNullable<keyof import('@bridge-ui/core/Tokens').FormFieldVariant | undefined>;
444
445
  "data-bridge-rounded": NonNullable<keyof import('@bridge-ui/core/Tokens').FormFieldRounded | undefined>;
445
446
  }>>;
446
447
  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 { useTimeField as o } from "./composables/useTimeField.js";
8
- import s from "../TimePicker/TimePicker.js";
9
- import { Fragment as c, computed as l, createCommentVNode as u, createElementBlock as d, createElementVNode as f, createSlots as p, createVNode as m, defineComponent as h, guardReactiveProps as g, mergeModels as _, mergeProps as v, normalizeClass as y, normalizeProps as b, openBlock as x, ref as S, renderList as C, renderSlot as w, unref as T, useModel as E, withCtx as D, withKeys as O, withModifiers as k } from "vue";
10
- import { isUndefined as A } 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 { useTimeField as s } from "./composables/useTimeField.js";
9
+ import c from "../TimePicker/TimePicker.js";
10
+ import { Fragment as l, createCommentVNode as u, createElementBlock as d, createElementVNode as f, createSlots as p, createVNode as m, defineComponent as h, guardReactiveProps as g, mergeModels as _, mergeProps as v, normalizeClass as y, normalizeProps as b, openBlock as x, ref as S, renderList as C, renderSlot as w, unref as T, useModel as E, withCtx as D, withKeys as O, withModifiers as k } from "vue";
11
11
  //#region src/Components/TimeField/TimeField.vue?vue&type=script&setup=true&lang.ts
12
- var j = { class: "flex min-w-0 flex-1 items-center gap-1" }, M = ["aria-label"], N = /*@__PURE__*/ h({
12
+ var A = { class: "flex min-w-0 flex-1 items-center gap-1" }, j = ["aria-label"], M = /*@__PURE__*/ h({
13
13
  inheritAttrs: !1,
14
14
  __name: "TimeField",
15
15
  props: /*@__PURE__*/ _({
@@ -74,51 +74,46 @@ var j = { class: "flex min-w-0 flex-1 items-center gap-1" }, M = ["aria-label"],
74
74
  "open"
75
75
  ], ["update:modelValue"]),
76
76
  setup(h, { emit: _ }) {
77
- let N = E(h, "modelValue"), P = h, F = _, I = e(), L = S(P.defaultValue ?? null), R = l({
78
- set: (e) => {
79
- N.value = e, L.value = e;
80
- },
81
- get: () => A(N.value) ? L.value : N.value
82
- }), { open: z, fill: B, overlay: V, timeOnly: H, formField: U, inputBind: W, clearBind: G, clearValue: K, modelValue: q, showFooter: J, pickerClass: Y, clearIconSize: X, showClearIcon: Z, handleOpenChange: Q, handlePickerChange: $, handlePickerCancel: ee, overlayCustomProps: te, timePickerCustomProps: ne } = o(P, R, F);
83
- return (e, o) => (x(), d(c, null, [m(T(i), { field: T(U) }, p({
84
- default: D(() => [f("div", j, [f("input", b(g(T(W))), null, 16), T(Z) ? (x(), d("span", v({ key: 0 }, T(G), {
85
- onClick: o[0] ||= (...e) => T(K) && T(K)(...e),
86
- "aria-label": T(I)("Clear"),
87
- onKeydown: [o[1] ||= O(k((...e) => T(K) && T(K)(...e), ["prevent"]), ["enter"]), o[2] ||= O(k((...e) => T(K) && T(K)(...e), ["prevent"]), ["space"])]
88
- }), [m(T(n), v({
77
+ let M = _, N = e(), P = E(h, "modelValue"), F = h, I = S(F.defaultValue ?? null), L = n(P, I), { open: R, fill: z, overlay: B, timeOnly: V, formField: H, inputBind: U, clearBind: W, clearValue: G, modelValue: K, showFooter: q, pickerClass: J, clearIconSize: Y, showClearIcon: X, handleOpenChange: Z, handlePickerChange: Q, handlePickerCancel: $, overlayCustomProps: ee, timePickerCustomProps: te } = s(F, L, M);
78
+ return (e, n) => (x(), d(l, null, [m(T(a), { field: T(H) }, p({
79
+ default: D(() => [f("div", A, [f("input", b(g(T(U))), null, 16), T(X) ? (x(), d("span", v({ key: 0 }, T(W), {
80
+ onClick: n[0] ||= (...e) => T(G) && T(G)(...e),
81
+ "aria-label": T(N)("Clear"),
82
+ onKeydown: [n[1] ||= O(k((...e) => T(G) && T(G)(...e), ["prevent"]), ["enter"]), n[2] ||= O(k((...e) => T(G) && T(G)(...e), ["prevent"]), ["space"])]
83
+ }), [m(T(r), v({
89
84
  icon: "clear",
90
- size: T(X)
91
- }, P.customProps?.clearIcon), null, 16, ["size"])], 16, M)) : u("", !0)])]),
85
+ size: T(Y)
86
+ }, F.customProps?.clearIcon), null, 16, ["size"])], 16, j)) : u("", !0)])]),
92
87
  _: 2
93
- }, [C(T(t)(T(r), e.$slots), (t) => ({
88
+ }, [C(T(t)(T(i), e.$slots), (t) => ({
94
89
  name: t,
95
90
  fn: D((n) => [w(e.$slots, t, b(g(n || {})))])
96
- }))]), 1032, ["field"]), m(T(a), {
97
- overlay: T(V),
98
- "model-value": T(z),
99
- "custom-props": T(te),
100
- "onUpdate:modelValue": T(Q)
91
+ }))]), 1032, ["field"]), m(T(o), {
92
+ overlay: T(B),
93
+ "model-value": T(R),
94
+ "custom-props": T(ee),
95
+ "onUpdate:modelValue": T(Z)
101
96
  }, {
102
- default: D(() => [m(T(s), {
103
- fill: T(B),
104
- value: T(q),
105
- class: y(T(Y)),
106
- ampm: T(H).ampm,
107
- "show-footer": T(J),
108
- "read-only": P.readonly,
109
- "max-time": T(H).maxTime,
110
- "min-time": T(H).minTime,
111
- interval: T(H).interval,
112
- "time-zone": T(H).timeZone,
113
- onChange: T($),
114
- onCancel: T(ee),
115
- "show-seconds": T(H).showSeconds,
116
- error: T(U).invalidated.value,
117
- color: T(U).merged.value.color,
118
- "custom-props": T(ne),
119
- disabled: T(U).isDisabled.value,
120
- "disable-times": T(H).disableTimes,
121
- rounded: T(U).merged.value.rounded
97
+ default: D(() => [m(T(c), {
98
+ fill: T(z),
99
+ value: T(K),
100
+ class: y(T(J)),
101
+ ampm: T(V).ampm,
102
+ "show-footer": T(q),
103
+ "read-only": F.readonly,
104
+ "max-time": T(V).maxTime,
105
+ "min-time": T(V).minTime,
106
+ interval: T(V).interval,
107
+ "time-zone": T(V).timeZone,
108
+ onChange: T(Q),
109
+ onCancel: T($),
110
+ "show-seconds": T(V).showSeconds,
111
+ error: T(H).invalidated.value,
112
+ color: T(H).merged.value.color,
113
+ "custom-props": T(te),
114
+ disabled: T(H).isDisabled.value,
115
+ "disable-times": T(V).disableTimes,
116
+ rounded: T(H).merged.value.rounded
122
117
  }, p({ _: 2 }, [e.$slots.footer ? {
123
118
  name: "footer",
124
119
  fn: D((t) => [w(e.$slots, "footer", b(g(t)))]),
@@ -154,4 +149,4 @@ var j = { class: "flex min-w-0 flex-1 items-center gap-1" }, M = ["aria-label"],
154
149
  }
155
150
  });
156
151
  //#endregion
157
- export { N as default };
152
+ export { M as default };
@@ -451,6 +451,7 @@ export declare function useTimeField(props: TimeFieldOwnProps, model: Ref<null |
451
451
  endSlotBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
452
452
  invalidated: import('vue').ComputedRef<boolean>;
453
453
  containerBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {
454
+ "data-bridge-variant": NonNullable<keyof import('@bridge-ui/core/Tokens').FormFieldVariant | undefined>;
454
455
  "data-bridge-rounded": NonNullable<keyof import('@bridge-ui/core/Tokens').FormFieldRounded | undefined>;
455
456
  }>>;
456
457
  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 { useTimeRangeField as o } from "./composables/useTimeRangeField.js";
8
- import s from "../TimeRangePicker/TimeRangePicker.js";
9
- import { Fragment as c, computed as l, createCommentVNode as u, createElementBlock as d, createElementVNode as f, createSlots as p, createVNode as m, defineComponent as h, guardReactiveProps as g, mergeModels as _, mergeProps as v, normalizeClass as y, normalizeProps as b, openBlock as x, ref as S, renderList as C, renderSlot as w, unref as T, useModel as E, withCtx as D, withKeys as O, withModifiers as k } from "vue";
10
- import { isUndefined as A } 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 { useTimeRangeField as s } from "./composables/useTimeRangeField.js";
9
+ import c from "../TimeRangePicker/TimeRangePicker.js";
10
+ import { Fragment as l, createCommentVNode as u, createElementBlock as d, createElementVNode as f, createSlots as p, createVNode as m, defineComponent as h, guardReactiveProps as g, mergeModels as _, mergeProps as v, normalizeClass as y, normalizeProps as b, openBlock as x, ref as S, renderList as C, renderSlot as w, unref as T, useModel as E, withCtx as D, withKeys as O, withModifiers as k } from "vue";
11
11
  //#region src/Components/TimeRangeField/TimeRangeField.vue?vue&type=script&setup=true&lang.ts
12
- var j = { class: "flex min-w-0 flex-1 items-center gap-1" }, M = ["aria-label"], N = /*@__PURE__*/ h({
12
+ var A = { class: "flex min-w-0 flex-1 items-center gap-1" }, j = ["aria-label"], M = /*@__PURE__*/ h({
13
13
  inheritAttrs: !1,
14
14
  __name: "TimeRangeField",
15
15
  props: /*@__PURE__*/ _({
@@ -74,51 +74,46 @@ var j = { class: "flex min-w-0 flex-1 items-center gap-1" }, M = ["aria-label"],
74
74
  "open"
75
75
  ], ["update:modelValue"]),
76
76
  setup(h, { emit: _ }) {
77
- let N = E(h, "modelValue"), P = h, F = _, I = e(), L = S(P.defaultValue ?? null), R = l({
78
- set: (e) => {
79
- N.value = e, L.value = e;
80
- },
81
- get: () => A(N.value) ? L.value : N.value
82
- }), { open: z, fill: B, overlay: V, timeOnly: H, formField: U, inputBind: W, clearBind: G, clearValue: K, modelValue: q, showFooter: J, pickerClass: Y, clearIconSize: X, showClearIcon: Z, handleOpenChange: Q, handlePickerChange: $, handlePickerCancel: ee, overlayCustomProps: te, timeRangePickerCustomProps: ne } = o(P, R, F);
83
- return (e, o) => (x(), d(c, null, [m(T(i), { field: T(U) }, p({
84
- default: D(() => [f("div", j, [f("input", b(g(T(W))), null, 16), T(Z) ? (x(), d("span", v({ key: 0 }, T(G), {
85
- onClick: o[0] ||= (...e) => T(K) && T(K)(...e),
86
- "aria-label": T(I)("Clear"),
87
- onKeydown: [o[1] ||= O(k((...e) => T(K) && T(K)(...e), ["prevent"]), ["enter"]), o[2] ||= O(k((...e) => T(K) && T(K)(...e), ["prevent"]), ["space"])]
88
- }), [m(T(n), v({
77
+ let M = e(), N = _, P = E(h, "modelValue"), F = h, I = S(F.defaultValue ?? null), L = n(P, I), { open: R, fill: z, overlay: B, timeOnly: V, formField: H, inputBind: U, clearBind: W, clearValue: G, modelValue: K, showFooter: q, pickerClass: J, clearIconSize: Y, showClearIcon: X, handleOpenChange: Z, handlePickerChange: Q, handlePickerCancel: $, overlayCustomProps: ee, timeRangePickerCustomProps: te } = s(F, L, N);
78
+ return (e, n) => (x(), d(l, null, [m(T(a), { field: T(H) }, p({
79
+ default: D(() => [f("div", A, [f("input", b(g(T(U))), null, 16), T(X) ? (x(), d("span", v({ key: 0 }, T(W), {
80
+ onClick: n[0] ||= (...e) => T(G) && T(G)(...e),
81
+ "aria-label": T(M)("Clear"),
82
+ onKeydown: [n[1] ||= O(k((...e) => T(G) && T(G)(...e), ["prevent"]), ["enter"]), n[2] ||= O(k((...e) => T(G) && T(G)(...e), ["prevent"]), ["space"])]
83
+ }), [m(T(r), v({
89
84
  icon: "clear",
90
- size: T(X)
91
- }, P.customProps?.clearIcon), null, 16, ["size"])], 16, M)) : u("", !0)])]),
85
+ size: T(Y)
86
+ }, F.customProps?.clearIcon), null, 16, ["size"])], 16, j)) : u("", !0)])]),
92
87
  _: 2
93
- }, [C(T(t)(T(r), e.$slots), (t) => ({
88
+ }, [C(T(t)(T(i), e.$slots), (t) => ({
94
89
  name: t,
95
90
  fn: D((n) => [w(e.$slots, t, b(g(n || {})))])
96
- }))]), 1032, ["field"]), m(T(a), {
97
- overlay: T(V),
98
- "model-value": T(z),
99
- "custom-props": T(te),
100
- "onUpdate:modelValue": T(Q)
91
+ }))]), 1032, ["field"]), m(T(o), {
92
+ overlay: T(B),
93
+ "model-value": T(R),
94
+ "custom-props": T(ee),
95
+ "onUpdate:modelValue": T(Z)
101
96
  }, {
102
- default: D(() => [m(T(s), {
103
- fill: T(B),
104
- value: T(q),
105
- class: y(T(Y)),
106
- ampm: T(H).ampm,
107
- "show-footer": T(J),
108
- "read-only": P.readonly,
109
- "max-time": T(H).maxTime,
110
- "min-time": T(H).minTime,
111
- interval: T(H).interval,
112
- "time-zone": T(H).timeZone,
113
- onChange: T($),
114
- onCancel: T(ee),
115
- "show-seconds": T(H).showSeconds,
116
- error: T(U).invalidated.value,
117
- color: T(U).merged.value.color,
118
- disabled: T(U).isDisabled.value,
119
- "disable-times": T(H).disableTimes,
120
- rounded: T(U).merged.value.rounded,
121
- "custom-props": T(ne)
97
+ default: D(() => [m(T(c), {
98
+ fill: T(z),
99
+ value: T(K),
100
+ class: y(T(J)),
101
+ ampm: T(V).ampm,
102
+ "show-footer": T(q),
103
+ "read-only": F.readonly,
104
+ "max-time": T(V).maxTime,
105
+ "min-time": T(V).minTime,
106
+ interval: T(V).interval,
107
+ "time-zone": T(V).timeZone,
108
+ onChange: T(Q),
109
+ onCancel: T($),
110
+ "show-seconds": T(V).showSeconds,
111
+ error: T(H).invalidated.value,
112
+ color: T(H).merged.value.color,
113
+ disabled: T(H).isDisabled.value,
114
+ "disable-times": T(V).disableTimes,
115
+ rounded: T(H).merged.value.rounded,
116
+ "custom-props": T(te)
122
117
  }, p({ _: 2 }, [e.$slots.footer ? {
123
118
  name: "footer",
124
119
  fn: D((t) => [w(e.$slots, "footer", b(g(t)))]),
@@ -154,4 +149,4 @@ var j = { class: "flex min-w-0 flex-1 items-center gap-1" }, M = ["aria-label"],
154
149
  }
155
150
  });
156
151
  //#endregion
157
- export { N as default };
152
+ export { M as default };
@@ -451,6 +451,7 @@ export declare function useTimeRangeField(props: TimeRangeFieldOwnProps, model:
451
451
  endSlotBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
452
452
  invalidated: import('vue').ComputedRef<boolean>;
453
453
  containerBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {
454
+ "data-bridge-variant": NonNullable<keyof import('@bridge-ui/core/Tokens').FormFieldVariant | undefined>;
454
455
  "data-bridge-rounded": NonNullable<keyof import('@bridge-ui/core/Tokens').FormFieldRounded | undefined>;
455
456
  }>>;
456
457
  startIconBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", Partial<Omit<import('../../Icon').IconProps, "icon">> | undefined, {}>>;
@@ -72,3 +72,4 @@ export { useBreakpoint } from './useBreakpoint';
72
72
  export type { UseBreakpointOptions } from './useBreakpoint';
73
73
  export { useHoldRepeat } from './useHoldRepeat';
74
74
  export type { HoldRepeatAction, UseHoldRepeatOptions, } from './useHoldRepeat';
75
+ export { useOptionalModel } from './useOptionalModel';
@@ -2,64 +2,65 @@ import { useBridgeUI as e } from "../Provider/useBridgeUI.js";
2
2
  import { RenderFn as t, hasNamedSlot as n, hasSlotOrProp as r, isPropPresent as i, presentSlotNames as a } from "./slotOrProp.js";
3
3
  import { useBreakpoint as o } from "./useBreakpoint.js";
4
4
  import { useHoldRepeat as s } from "./useHoldRepeat.js";
5
- import { computed as c, defineComponent as l, toValue as u, unref as d } from "vue";
6
- import { get as f, isNil as p } from "es-toolkit/compat";
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";
5
+ import { useOptionalModel as c } from "./useOptionalModel.js";
6
+ import { computed as l, defineComponent as u, toValue as d, unref as f } from "vue";
7
+ import { get as p, isNil as m } from "es-toolkit/compat";
8
+ import { resolveFieldShowFooter as h, resolvePickerFill as g } from "@bridge-ui/core/Domain";
9
+ import { createMergeNestedComponentProps as _, createMergePartBind as v, mergeBridgeUILayeredClasses as y, mergePropsWithBridgeUIDefaults as b } from "@bridge-ui/core/Utils";
9
10
  //#region src/Utils/index.ts
10
- function b(e) {
11
- return l({
11
+ function x(e) {
12
+ return u({
12
13
  name: "HeadlessTestComponent",
13
14
  setup() {
14
15
  return e(), () => null;
15
16
  }
16
17
  });
17
18
  }
18
- var x = _("class"), S = g(x);
19
- function C({ props: t, libDefaults: n, componentName: r }) {
20
- let i = e(), a = c(() => p(i) ? null : d(i.components));
19
+ var S = v("class"), C = _(S);
20
+ function w({ props: t, libDefaults: n, componentName: r }) {
21
+ let i = e(), a = l(() => m(i) ? null : f(i.components));
21
22
  return {
22
- entry: c(() => {
23
- if (r) return f(a.value, r);
23
+ entry: l(() => {
24
+ if (r) return p(a.value, r);
24
25
  }),
25
26
  bridge: i,
26
- merged: c(() => y({
27
+ merged: l(() => b({
27
28
  libDefaults: n,
28
29
  componentName: r,
29
- props: u(t),
30
+ props: d(t),
30
31
  components: a.value,
31
32
  formDefaults: i?.global.value.formDefaults
32
33
  })),
33
34
  components: a
34
35
  };
35
36
  }
36
- function w({ overlay: t, showFooter: n, componentName: r }) {
37
+ function T({ overlay: t, showFooter: n, componentName: r }) {
37
38
  let i = e();
38
- return c(() => {
39
- let e = r ? f(d(i?.components), [
39
+ return l(() => {
40
+ let e = r ? p(f(i?.components), [
40
41
  r,
41
42
  "defaultProps",
42
43
  "showFooter"
43
44
  ]) : void 0;
44
- return m(u(n) ?? e, u(t));
45
+ return h(d(n) ?? e, d(t));
45
46
  });
46
47
  }
47
- function T({ fill: t, overlay: n, componentName: r }) {
48
+ function E({ fill: t, overlay: n, componentName: r }) {
48
49
  let i = e();
49
- return c(() => {
50
- let e = r ? f(d(i?.components), [
50
+ return l(() => {
51
+ let e = r ? p(f(i?.components), [
51
52
  r,
52
53
  "defaultProps",
53
54
  "fill"
54
55
  ]) : void 0;
55
- return h(u(t) ?? e, u(n));
56
+ return g(d(t) ?? e, d(n));
56
57
  });
57
58
  }
58
- function E({ entry: e, props: t }) {
59
- return c(() => v(f(e.value, "classes"), u(t).classes));
59
+ function D({ entry: e, props: t }) {
60
+ return l(() => y(p(e.value, "classes"), d(t).classes));
60
61
  }
61
- function D(e) {
62
- return f({
62
+ function O(e) {
63
+ return p({
63
64
  xs: "xs",
64
65
  sm: "sm",
65
66
  md: "md",
@@ -69,7 +70,7 @@ function D(e) {
69
70
  "2xl": "lg"
70
71
  }, e ?? "md");
71
72
  }
72
- function O(e) {
73
+ function k(e) {
73
74
  if (e instanceof HTMLElement) return e;
74
75
  if (e && "$el" in e) {
75
76
  let t = e.$el;
@@ -78,4 +79,4 @@ function O(e) {
78
79
  return null;
79
80
  }
80
81
  //#endregion
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 };
82
+ export { t as RenderFn, x as defineHeadlessComponent, n as hasNamedSlot, r as hasSlotOrProp, i as isPropPresent, C as mergeNestedComponentProps, S as mergePartBind, a as presentSlotNames, O as resolveFieldAdornmentIconSize, k as resolveVnodeRefElement, o as useBreakpoint, w as useBridgeUIComponent, D as useBridgeUIMergedRegistryClasses, T as useFieldShowFooter, s as useHoldRepeat, c as useOptionalModel, E as usePickerFill };
@@ -0,0 +1,6 @@
1
+ import { Ref, WritableComputedRef } from 'vue';
2
+ /**
3
+ * Optional `v-model` that keeps `defaultValue` when unbound, and stays empty
4
+ * when the parent sets the bound model to `null`.
5
+ */
6
+ export declare function useOptionalModel<T>(model: Ref<undefined | NoInfer<T>>, uncontrolled: Ref<T>): WritableComputedRef<T>;
@@ -0,0 +1,13 @@
1
+ import { computed as e } from "vue";
2
+ import { isUndefined as t } from "es-toolkit/compat";
3
+ //#region src/Utils/useOptionalModel.ts
4
+ function n(n, r) {
5
+ return e({
6
+ get: () => t(n.value) ? r.value : n.value,
7
+ set: (e) => {
8
+ t(n.value) && (r.value = e), n.value = e;
9
+ }
10
+ });
11
+ }
12
+ //#endregion
13
+ export { n as useOptionalModel };
@@ -7,6 +7,7 @@ import { CardClasses, CardProps } from './Components/Card';
7
7
  import { CheckboxClasses, CheckboxProps } from './Components/Checkbox';
8
8
  import { ChipClasses, ChipProps } from './Components/Chip';
9
9
  import { DividerClasses, DividerProps } from './Components/Divider';
10
+ import { EmptyStateClasses, EmptyStateProps } from './Components/EmptyState';
10
11
  import { IconProps } from './Components/Icon';
11
12
  import { LabelClasses, LabelProps } from './Components/Label';
12
13
  import { LinkClasses, LinkProps } from './Components/Link';
@@ -21,6 +22,7 @@ import { PasswordFieldClasses, PasswordFieldProps } from './Components/PasswordF
21
22
  import { ProgressClasses, ProgressProps } from './Components/Progress';
22
23
  import { RadioClasses, RadioProps } from './Components/Radio';
23
24
  import { SelectClasses, SelectProps } from './Components/Select';
25
+ import { SidebarClasses, SidebarInsetClasses, SidebarProps, SidebarProviderClasses, SidebarProviderProps } from './Components/Sidebar';
24
26
  import { SkeletonClasses, SkeletonProps } from './Components/Skeleton';
25
27
  import { SliderClasses, SliderProps } from './Components/Slider';
26
28
  import { SnackbarClasses, SnackbarProps } from './Components/Snackbar';
@@ -65,6 +67,10 @@ declare module "@bridge-ui/core/Config" {
65
67
  classes: DividerClasses;
66
68
  defaultProps: Partial<Pick<DividerProps, "color" | "orientation">>;
67
69
  }
70
+ interface EmptyStateConfigOverrides {
71
+ classes: EmptyStateClasses;
72
+ defaultProps: Partial<Pick<EmptyStateProps, "size" | "align" | "titleAs" | "mediaDecorative">>;
73
+ }
68
74
  interface IconConfigOverrides {
69
75
  defaultProps: Partial<Pick<IconProps, "size">>;
70
76
  }
@@ -96,7 +102,7 @@ declare module "@bridge-ui/core/Config" {
96
102
  }
97
103
  interface NumberFieldConfigOverrides {
98
104
  classes: NumberFieldClasses;
99
- defaultProps: Partial<Pick<NumberFieldProps, "size" | "color" | "rounded" | "variant" | "showErrorIcon" | "hideErrorMessage">>;
105
+ defaultProps: Partial<Pick<NumberFieldProps, "size" | "color" | "rounded" | "variant" | "showErrorIcon" | "controlVariant" | "hideErrorMessage">>;
100
106
  }
101
107
  interface OtpFieldConfigOverrides {
102
108
  classes: OtpFieldClasses;
@@ -122,6 +128,10 @@ declare module "@bridge-ui/core/Config" {
122
128
  classes: SelectClasses;
123
129
  defaultProps: Partial<Pick<SelectProps, "size" | "color" | "rounded" | "variant" | "showFooter" | "showErrorIcon" | "hideErrorMessage">>;
124
130
  }
131
+ interface SidebarConfigOverrides {
132
+ classes: SidebarClasses & SidebarInsetClasses & SidebarProviderClasses;
133
+ defaultProps: Partial<Pick<SidebarProps, "side" | "variant" | "ariaLabel" | "collapsible"> & Pick<SidebarProviderProps, "defaultOpen">>;
134
+ }
125
135
  interface SkeletonConfigOverrides {
126
136
  classes: SkeletonClasses;
127
137
  defaultProps: Partial<Pick<SkeletonProps, "rounded">>;
package/dist/index.d.ts CHANGED
@@ -62,6 +62,8 @@ export { Divider, useDivider } from './Components/Divider';
62
62
  export type { DividerClasses, DividerColorOverrides, DividerOrientationOverrides, DividerOwnProps, DividerProps, } from './Components/Divider';
63
63
  export { Drawer, useDrawer } from './Components/Drawer';
64
64
  export type { DrawerBlurOverrides, DrawerClasses, DrawerCustomProps, DrawerEmits, DrawerOwnProps, DrawerPlacementOverrides, DrawerProps, DrawerScrollOverrides, DrawerSizeOverrides, DrawerSlots, DrawerTransitionOverrides, } from './Components/Drawer';
65
+ export { EmptyState, useEmptyState } from './Components/EmptyState';
66
+ export type { EmptyStateAlignOverrides, EmptyStateClasses, EmptyStateCustomProps, EmptyStateOwnProps, EmptyStateProps, EmptyStateSizeOverrides, EmptyStateSlots, } from './Components/EmptyState';
65
67
  export { FieldOverlay, useFieldOverlay } from './Components/FieldOverlay';
66
68
  export type { FieldOverlayCustomProps, FieldOverlayEmits, FieldOverlayOwnProps, FieldOverlayProps, FieldOverlaySlots, } from './Components/FieldOverlay';
67
69
  export { FormControl, useFormControl } from './Components/FormControl';
@@ -87,7 +89,7 @@ export type { MenuClasses, MenuCustomProps, MenuEmits, MenuOptions, MenuOwnProps
87
89
  export { Modal, useModal } from './Components/Modal';
88
90
  export type { ModalAlignOverrides, ModalBlurOverrides, ModalClasses, ModalCustomProps, ModalEmits, ModalOwnProps, ModalProps, ModalSizeOverrides, ModalSlots, } from './Components/Modal';
89
91
  export { NumberField, useNumberField } from './Components/NumberField';
90
- export type { NumberFieldClasses, NumberFieldCustomProps, NumberFieldOwnProps, NumberFieldProps, NumberFieldSlots, } from './Components/NumberField';
92
+ export type { NumberFieldClasses, NumberFieldControlVariantOverrides, NumberFieldCustomProps, NumberFieldOwnProps, NumberFieldProps, NumberFieldSlots, } from './Components/NumberField';
91
93
  export { OtpField, useOtpField } from './Components/OtpField';
92
94
  export type { OtpFieldClasses, OtpFieldCustomProps, OtpFieldEmits, OtpFieldOwnProps, OtpFieldProps, OtpFieldSlots, UseOtpFieldOptions, } from './Components/OtpField';
93
95
  export { Pagination, usePagination } from './Components/Pagination';
@@ -100,6 +102,8 @@ export { Radio, useRadio } from './Components/Radio';
100
102
  export type { RadioClasses, RadioColorOverrides, RadioCustomProps, RadioOwnProps, RadioProps, RadioRoundedOverrides, RadioSizeOverrides, RadioSlots, } from './Components/Radio';
101
103
  export { Select, SelectOption } from './Components/Select';
102
104
  export type { SelectAsyncData, SelectClasses, SelectEmits, SelectModel, SelectOptionData, SelectOptionProps, SelectProps, SelectSlots, SelectValue, } from './Components/Select';
105
+ export { Sidebar, SidebarInset, SidebarList, SidebarListItem, SidebarProvider, SidebarTrigger, useSidebar, useSidebarInset, useSidebarList, useSidebarListItem, useSidebarProvider, useSidebarShell, useSidebarTrigger, } from './Components/Sidebar';
106
+ export type { SidebarClasses, SidebarCollapsibleOverrides, SidebarContextValue, SidebarCustomProps, SidebarInsetClasses, SidebarInsetCustomProps, SidebarInsetOwnProps, SidebarInsetProps, SidebarInsetSlots, SidebarListItemOwnProps, SidebarListItemProps, SidebarListOwnProps, SidebarListProps, SidebarOwnProps, SidebarProps, SidebarProviderClasses, SidebarProviderCustomProps, SidebarProviderEmits, SidebarProviderOwnProps, SidebarProviderProps, SidebarProviderSlots, SidebarSideOverrides, SidebarSlots, SidebarTriggerOwnProps, SidebarTriggerProps, SidebarTriggerSlots, SidebarVariantOverrides, } from './Components/Sidebar';
103
107
  export { Skeleton, useSkeleton } from './Components/Skeleton';
104
108
  export type { SkeletonClasses, SkeletonOwnProps, SkeletonProps, SkeletonRoundedOverrides, } from './Components/Skeleton';
105
109
  export { Slider, useSlider } from './Components/Slider';