@bridge-ui/vue 0.4.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 (80) 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/DataTable/DataTable.vue.d.ts +1 -1
  6. package/dist/Components/DataTable/DataTable.vue_vue_type_script_setup_true_lang.js +96 -92
  7. package/dist/Components/DataTable/composables/useDataTable.d.ts +1 -1
  8. package/dist/Components/DataTable/composables/useDataTable.js +1 -1
  9. package/dist/Components/EmptyState/EmptyState.js +5 -0
  10. package/dist/Components/EmptyState/EmptyState.vue.d.ts +16 -0
  11. package/dist/Components/EmptyState/EmptyState.vue_vue_type_script_setup_true_lang.js +42 -0
  12. package/dist/Components/EmptyState/composables/useEmptyState.d.ts +24 -0
  13. package/dist/Components/EmptyState/composables/useEmptyState.js +76 -0
  14. package/dist/Components/EmptyState/emptyState.types.d.ts +140 -0
  15. package/dist/Components/EmptyState/index.d.ts +3 -0
  16. package/dist/Components/EmptyState/index.js +3 -0
  17. package/dist/Components/List/composables/useList.d.ts +3 -1
  18. package/dist/Components/List/composables/useList.js +2 -2
  19. package/dist/Components/ListItem/ListItem.vue_vue_type_script_setup_true_lang.js +4 -4
  20. package/dist/Components/ListSection/ListSection.vue_vue_type_script_setup_true_lang.js +4 -4
  21. package/dist/Components/ListSection/composables/useListSection.d.ts +1 -0
  22. package/dist/Components/ListSection/composables/useListSection.js +30 -28
  23. package/dist/Components/ListSection/listSectionInjectionKey.d.ts +5 -0
  24. package/dist/Components/ListSection/listSectionInjectionKey.js +4 -0
  25. package/dist/Components/Sidebar/Sidebar.js +5 -0
  26. package/dist/Components/Sidebar/Sidebar.vue.d.ts +16 -0
  27. package/dist/Components/Sidebar/Sidebar.vue_vue_type_script_setup_true_lang.js +59 -0
  28. package/dist/Components/Sidebar/SidebarInset.js +5 -0
  29. package/dist/Components/Sidebar/SidebarInset.vue.d.ts +11 -0
  30. package/dist/Components/Sidebar/SidebarInset.vue_vue_type_script_setup_true_lang.js +18 -0
  31. package/dist/Components/Sidebar/SidebarList.js +5 -0
  32. package/dist/Components/Sidebar/SidebarList.vue.d.ts +16 -0
  33. package/dist/Components/Sidebar/SidebarList.vue_vue_type_script_setup_true_lang.js +40 -0
  34. package/dist/Components/Sidebar/SidebarListItem.js +5 -0
  35. package/dist/Components/Sidebar/SidebarListItem.vue.d.ts +13 -0
  36. package/dist/Components/Sidebar/SidebarListItem.vue_vue_type_script_setup_true_lang.js +120 -0
  37. package/dist/Components/Sidebar/SidebarProvider.js +5 -0
  38. package/dist/Components/Sidebar/SidebarProvider.vue.d.ts +24 -0
  39. package/dist/Components/Sidebar/SidebarProvider.vue_vue_type_script_setup_true_lang.js +29 -0
  40. package/dist/Components/Sidebar/SidebarTrigger.js +5 -0
  41. package/dist/Components/Sidebar/SidebarTrigger.vue.d.ts +11 -0
  42. package/dist/Components/Sidebar/SidebarTrigger.vue_vue_type_script_setup_true_lang.js +35 -0
  43. package/dist/Components/Sidebar/composables/useSidebar.d.ts +6 -0
  44. package/dist/Components/Sidebar/composables/useSidebar.js +10 -0
  45. package/dist/Components/Sidebar/composables/useSidebarInset.d.ts +7 -0
  46. package/dist/Components/Sidebar/composables/useSidebarInset.js +32 -0
  47. package/dist/Components/Sidebar/composables/useSidebarList.d.ts +8 -0
  48. package/dist/Components/Sidebar/composables/useSidebarList.js +27 -0
  49. package/dist/Components/Sidebar/composables/useSidebarListItem.d.ts +15 -0
  50. package/dist/Components/Sidebar/composables/useSidebarListItem.js +44 -0
  51. package/dist/Components/Sidebar/composables/useSidebarProvider.d.ts +18 -0
  52. package/dist/Components/Sidebar/composables/useSidebarProvider.js +88 -0
  53. package/dist/Components/Sidebar/composables/useSidebarShell.d.ts +41 -0
  54. package/dist/Components/Sidebar/composables/useSidebarShell.js +116 -0
  55. package/dist/Components/Sidebar/composables/useSidebarTrigger.d.ts +10 -0
  56. package/dist/Components/Sidebar/composables/useSidebarTrigger.js +25 -0
  57. package/dist/Components/Sidebar/index.d.ts +15 -0
  58. package/dist/Components/Sidebar/index.js +15 -0
  59. package/dist/Components/Sidebar/sidebar.types.d.ts +244 -0
  60. package/dist/Components/Sidebar/sidebarInjectionKey.d.ts +80 -0
  61. package/dist/Components/Sidebar/sidebarInjectionKey.js +4 -0
  62. package/dist/Components/Sidebar/sidebarListInjectionKey.d.ts +5 -0
  63. package/dist/Components/Sidebar/sidebarListInjectionKey.js +4 -0
  64. package/dist/Components/Slider/Slider.vue_vue_type_script_setup_true_lang.js +5 -5
  65. package/dist/augments.d.ts +10 -0
  66. package/dist/index.d.ts +4 -0
  67. package/dist/index.js +79 -64
  68. package/docs/README.md +2 -0
  69. package/docs/ScrollUtilities.md +1 -1
  70. package/docs/components/DataTable.md +1 -1
  71. package/docs/components/Drawer.md +1 -1
  72. package/docs/components/EmptyState.md +125 -0
  73. package/docs/components/List.md +1 -1
  74. package/docs/components/Sidebar.md +281 -0
  75. package/docs/examples/icon-fontawesome.ts +1 -0
  76. package/docs/examples/icon-heroicons.ts +2 -0
  77. package/docs/examples/icon-lucide.ts +2 -0
  78. package/docs/examples/icon-phosphor.ts +2 -0
  79. package/docs/examples/icon-tabler.ts +2 -0
  80. package/package.json +2 -2
@@ -0,0 +1,244 @@
1
+ import { ButtonHTMLAttributes, HTMLAttributes, Slot } from 'vue';
2
+ import { PositionPlacement } from '@bridge-ui/core/Runtime';
3
+ import { SidebarCollapsible, SidebarSide, SidebarVariant } from '@bridge-ui/core/Tokens';
4
+ import { MergeHtmlProps, MergeProps } from '@bridge-ui/core/Utils';
5
+ import { ListProps } from '../List/list.types';
6
+ import { ListItemProps } from '../ListItem/listItem.types';
7
+ export interface SidebarSideOverrides {}
8
+ export interface SidebarVariantOverrides {}
9
+ export interface SidebarCollapsibleOverrides {}
10
+ export interface SidebarClasses {
11
+ /**
12
+ * The classes to apply to the scrollable content region.
13
+ */
14
+ content?: string;
15
+ /**
16
+ * The classes to apply to the footer.
17
+ */
18
+ footer?: string;
19
+ /**
20
+ * The classes to apply to the in-flow gap spacer.
21
+ */
22
+ gap?: string;
23
+ /**
24
+ * The classes to apply to the header.
25
+ */
26
+ header?: string;
27
+ /**
28
+ * The classes to apply to the inner panel surface.
29
+ */
30
+ panel?: string;
31
+ /**
32
+ * The classes to apply to the desktop rail chrome (gap + fixed panel).
33
+ */
34
+ root?: string;
35
+ }
36
+ export interface SidebarCustomProps {
37
+ /**
38
+ * Props forwarded to the scrollable content region.
39
+ */
40
+ content?: HTMLAttributes;
41
+ /**
42
+ * Props forwarded to the footer.
43
+ */
44
+ footer?: HTMLAttributes;
45
+ /**
46
+ * Props forwarded to the in-flow gap spacer.
47
+ */
48
+ gap?: HTMLAttributes;
49
+ /**
50
+ * Props forwarded to the header.
51
+ */
52
+ header?: HTMLAttributes;
53
+ /**
54
+ * Props forwarded to the inner panel surface.
55
+ */
56
+ panel?: HTMLAttributes;
57
+ /**
58
+ * Props forwarded to the desktop rail chrome.
59
+ */
60
+ root?: HTMLAttributes;
61
+ }
62
+ export interface SidebarInsetClasses {
63
+ /**
64
+ * The classes to apply to the inset root.
65
+ */
66
+ root?: string;
67
+ }
68
+ export interface SidebarInsetCustomProps {
69
+ /**
70
+ * Props forwarded to the inset root.
71
+ */
72
+ root?: HTMLAttributes;
73
+ }
74
+ export interface SidebarInsetOwnProps {
75
+ /**
76
+ * The classes to apply to the inset.
77
+ *
78
+ * @default undefined
79
+ */
80
+ classes?: SidebarInsetClasses;
81
+ /**
82
+ * Extra props for internal parts.
83
+ *
84
+ * @default undefined
85
+ */
86
+ customProps?: SidebarInsetCustomProps;
87
+ }
88
+ export interface SidebarInsetSlots {
89
+ /**
90
+ * Main content.
91
+ */
92
+ default?: Slot;
93
+ }
94
+ export interface SidebarListItemOwnProps {
95
+ /**
96
+ * Tooltip label while the icon rail is collapsed. When omitted, string
97
+ * `primary` is used. Has no effect on the mobile drawer or an expanded rail.
98
+ *
99
+ * @default undefined
100
+ */
101
+ tooltip?: string;
102
+ /**
103
+ * Placement of {@link SidebarListItemOwnProps.tooltip}. Defaults to the
104
+ * side opposite the rail.
105
+ *
106
+ * @default undefined
107
+ */
108
+ tooltipPlacement?: PositionPlacement;
109
+ }
110
+ export interface SidebarListOwnProps {
111
+ /**
112
+ * Collapse items to leading icons. Defaults to the collapsed icon rail.
113
+ * Nested `SidebarList` is hidden. `ListSection` labels are hidden.
114
+ *
115
+ * @default undefined
116
+ */
117
+ iconOnly?: boolean;
118
+ }
119
+ /**
120
+ * Persistent app-shell sidebar panel. Mount under `SidebarProvider` with
121
+ * `SidebarInset`. Put `SidebarList` / `Accordion` in the default slot.
122
+ */
123
+ export interface SidebarOwnProps {
124
+ /**
125
+ * Accessible name for the desktop `aside` and the mobile drawer.
126
+ *
127
+ * @default "Sidebar"
128
+ */
129
+ ariaLabel?: string;
130
+ /**
131
+ * The classes to apply to the sidebar.
132
+ *
133
+ * @default undefined
134
+ */
135
+ classes?: SidebarClasses;
136
+ /**
137
+ * How the desktop rail hides.
138
+ *
139
+ * @default "offcanvas"
140
+ */
141
+ collapsible?: MergeProps<SidebarCollapsible, SidebarCollapsibleOverrides>;
142
+ /**
143
+ * Extra props for internal parts (`header`, `content`, `footer`, etc.).
144
+ * Root HTML attributes stay on the component top level.
145
+ *
146
+ * @default undefined
147
+ */
148
+ customProps?: SidebarCustomProps;
149
+ /**
150
+ * Which edge the rail docks to.
151
+ *
152
+ * @default "left"
153
+ */
154
+ side?: MergeProps<SidebarSide, SidebarSideOverrides>;
155
+ /**
156
+ * Visual layout of the rail and inset.
157
+ *
158
+ * @default "sidebar"
159
+ */
160
+ variant?: MergeProps<SidebarVariant, SidebarVariantOverrides>;
161
+ }
162
+ export interface SidebarProviderClasses {
163
+ /**
164
+ * The classes to apply to the layout wrapper.
165
+ */
166
+ root?: string;
167
+ }
168
+ export interface SidebarProviderCustomProps {
169
+ /**
170
+ * Props forwarded to the layout wrapper.
171
+ */
172
+ root?: HTMLAttributes;
173
+ }
174
+ export interface SidebarProviderEmits {
175
+ /**
176
+ * Emitted when the desktop `open` state should change.
177
+ */
178
+ openChange: [open: boolean];
179
+ /**
180
+ * Emitted when `v-model` should update.
181
+ */
182
+ "update:modelValue": [open: boolean];
183
+ }
184
+ export interface SidebarProviderOwnProps {
185
+ /**
186
+ * The classes to apply to the provider wrapper.
187
+ *
188
+ * @default undefined
189
+ */
190
+ classes?: SidebarProviderClasses;
191
+ /**
192
+ * Extra props for the layout wrapper.
193
+ *
194
+ * @default undefined
195
+ */
196
+ customProps?: SidebarProviderCustomProps;
197
+ /**
198
+ * Initial desktop expanded state when `v-model` is omitted.
199
+ *
200
+ * @default true
201
+ */
202
+ defaultOpen?: boolean;
203
+ }
204
+ export interface SidebarProviderSlots {
205
+ /**
206
+ * App shell (`Sidebar`, `SidebarInset`, …).
207
+ */
208
+ default?: Slot;
209
+ }
210
+ export interface SidebarSlots {
211
+ /**
212
+ * Scrollable rail (`List`, `Accordion`, …).
213
+ */
214
+ default?: Slot;
215
+ /**
216
+ * Sticky footer (user menu, settings).
217
+ */
218
+ footer?: Slot;
219
+ /**
220
+ * Sticky header (branding, workspace switcher).
221
+ */
222
+ header?: Slot;
223
+ }
224
+ export interface SidebarTriggerOwnProps {}
225
+ export interface SidebarTriggerSlots {
226
+ /**
227
+ * Replaces the default toggle icon.
228
+ */
229
+ default?: Slot;
230
+ }
231
+ export type SidebarInsetProps = MergeHtmlProps<SidebarInsetOwnProps, HTMLAttributes>;
232
+ export type SidebarProps = MergeHtmlProps<SidebarOwnProps, HTMLAttributes>;
233
+ export type SidebarProviderProps = MergeHtmlProps<SidebarProviderOwnProps, HTMLAttributes>;
234
+ export type SidebarTriggerProps = MergeHtmlProps<SidebarTriggerOwnProps, ButtonHTMLAttributes>;
235
+ /**
236
+ * `List` bound to the nearest `Sidebar`. Sets `iconOnly` when the icon rail
237
+ * is collapsed on desktop.
238
+ */
239
+ export type SidebarListProps = ListProps & SidebarListOwnProps;
240
+ /**
241
+ * `ListItem` bound to the nearest `Sidebar`. Shows `primary` in a tooltip
242
+ * when the icon rail is collapsed.
243
+ */
244
+ export type SidebarListItemProps = ListItemProps & SidebarListItemOwnProps;
@@ -0,0 +1,80 @@
1
+ import { ComputedRef, InjectionKey } from 'vue';
2
+ import { SidebarState } from '@bridge-ui/core/Domain';
3
+ import { SidebarCollapsible, SidebarSide, SidebarVariant } from '@bridge-ui/core/Tokens';
4
+ /**
5
+ * Layout fields registered by `Sidebar` for inset / trigger consumers.
6
+ */
7
+ export type SidebarLayout = {
8
+ /**
9
+ * Desktop collapse mode.
10
+ */
11
+ collapsible: keyof SidebarCollapsible;
12
+ /**
13
+ * Id of the visible panel (`aria-controls`).
14
+ */
15
+ panelId: string;
16
+ /**
17
+ * Dock edge.
18
+ */
19
+ side: keyof SidebarSide;
20
+ /**
21
+ * Visual variant.
22
+ */
23
+ variant: keyof SidebarVariant;
24
+ };
25
+ /**
26
+ * Shared sidebar state for `Sidebar`, `SidebarInset`, and `SidebarTrigger`.
27
+ */
28
+ export type SidebarContextValue = {
29
+ /**
30
+ * Desktop collapse mode from the nearest `Sidebar`.
31
+ */
32
+ collapsible: keyof SidebarCollapsible;
33
+ /**
34
+ * Whether the viewport is below the mobile breakpoint.
35
+ */
36
+ isMobile: boolean;
37
+ /**
38
+ * Desktop expanded state.
39
+ */
40
+ open: boolean;
41
+ /**
42
+ * Mobile drawer visibility.
43
+ */
44
+ openMobile: boolean;
45
+ /**
46
+ * Id of the visible panel for `aria-controls`.
47
+ */
48
+ panelId: string;
49
+ /**
50
+ * Sets layout fields from the `Sidebar` panel.
51
+ *
52
+ * @internal
53
+ */
54
+ setLayout: (layout: Partial<SidebarLayout>) => void;
55
+ /**
56
+ * Sets the desktop expanded state.
57
+ */
58
+ setOpen: (open: boolean) => void;
59
+ /**
60
+ * Sets the mobile drawer visibility.
61
+ */
62
+ setOpenMobile: (open: boolean) => void;
63
+ /**
64
+ * Dock edge from the nearest `Sidebar`.
65
+ */
66
+ side: keyof SidebarSide;
67
+ /**
68
+ * Desktop visual state (`expanded` / `collapsed`).
69
+ */
70
+ state: SidebarState;
71
+ /**
72
+ * Toggles desktop `open` or mobile `openMobile` based on viewport.
73
+ */
74
+ toggleSidebar: () => void;
75
+ /**
76
+ * Visual variant from the nearest `Sidebar`.
77
+ */
78
+ variant: keyof SidebarVariant;
79
+ };
80
+ export declare const SIDEBAR_INJECTION_KEY: InjectionKey<ComputedRef<SidebarContextValue>>;
@@ -0,0 +1,4 @@
1
+ //#region src/Components/Sidebar/sidebarInjectionKey.ts
2
+ var e = Symbol("bridge-sidebar");
3
+ //#endregion
4
+ export { e as SIDEBAR_INJECTION_KEY };
@@ -0,0 +1,5 @@
1
+ import { ComputedRef, InjectionKey } from 'vue';
2
+ export type SidebarListContextValue = {
3
+ iconOnly: boolean;
4
+ };
5
+ export declare const SIDEBAR_LIST_INJECTION_KEY: InjectionKey<ComputedRef<SidebarListContextValue>>;
@@ -0,0 +1,4 @@
1
+ //#region src/Components/Sidebar/sidebarListInjectionKey.ts
2
+ var e = Symbol("bridge-sidebar-list");
3
+ //#endregion
4
+ export { e as SIDEBAR_LIST_INJECTION_KEY };
@@ -2,8 +2,8 @@ import { presentSlotNames as e } from "../../Utils/slotOrProp.js";
2
2
  import { useOptionalModel as t } from "../../Utils/useOptionalModel.js";
3
3
  import { BASE_FIELD_CHROME_SLOT_NAMES as n } from "../BaseField/baseField.types.js";
4
4
  import r from "../BaseField/BaseField.js";
5
- import { useSlider as i } from "./composables/useSlider.js";
6
- import a from "../Tooltip/Tooltip.js";
5
+ import i from "../Tooltip/Tooltip.js";
6
+ import { useSlider as a } from "./composables/useSlider.js";
7
7
  import { Fragment as o, createBlock as s, createCommentVNode as c, createElementBlock as l, createElementVNode as u, createSlots as d, defineComponent as f, guardReactiveProps as p, mergeModels as m, mergeProps as h, normalizeProps as g, openBlock as _, ref as v, renderList as y, renderSlot as b, toDisplayString as x, unref as S, useModel as C, withCtx as w } from "vue";
8
8
  import { resolveSliderBounds as T, resolveSliderDefaultValue as E } from "@bridge-ui/core/Domain";
9
9
  //#region src/Components/Slider/Slider.vue?vue&type=script&setup=true&lang.ts
@@ -62,7 +62,7 @@ var D = /*@__PURE__*/ f({
62
62
  step: j.step,
63
63
  range: !!O.range,
64
64
  defaultValue: O.defaultValue
65
- })), N = t(k, M), P = v([null, null]), { barBind: F, trackRef: I, baseField: L, trackBind: R, controlBind: z, getStopBind: B, thumbIndexes: V, tooltipProps: H, getThumbBind: U, resolvedStops: W, isTooltipOpen: G, hasStopLabels: K, readThumbValue: q, stopLabelsBind: J, getStopLabelBind: Y, getThumbKnobBind: X, showTooltip: Z } = i(() => O, A, N, { onChange: (e) => {
65
+ })), N = t(k, M), P = v([null, null]), { barBind: F, trackRef: I, baseField: L, trackBind: R, controlBind: z, getStopBind: B, thumbIndexes: V, tooltipProps: H, getThumbBind: U, resolvedStops: W, isTooltipOpen: G, hasStopLabels: K, readThumbValue: q, stopLabelsBind: J, getStopLabelBind: Y, getThumbKnobBind: X, showTooltip: Z } = a(() => O, A, N, { onChange: (e) => {
66
66
  D("change", e);
67
67
  } });
68
68
  function Q(e) {
@@ -72,7 +72,7 @@ var D = /*@__PURE__*/ f({
72
72
  let n = t instanceof HTMLButtonElement ? t : t?.$el ?? null;
73
73
  P.value[e] = n;
74
74
  }
75
- return (t, i) => (_(), s(r, { field: S(L) }, d({
75
+ return (t, a) => (_(), s(r, { field: S(L) }, d({
76
76
  default: w(() => [u("div", g(p(S(z))), [
77
77
  u("div", h({ ref: Q }, S(R)), [
78
78
  u("div", g(p(S(F))), null, 16),
@@ -82,7 +82,7 @@ var D = /*@__PURE__*/ f({
82
82
  ref: (t) => $(e, t)
83
83
  }), [b(t.$slots, "thumb", {}, () => [u("span", h({ ref_for: !0 }, S(X)(e)), null, 16)])], 16))), 128))
84
84
  ], 16),
85
- S(Z) ? (_(!0), l(o, { key: 0 }, y(S(V), (e) => (_(), s(S(a), h({
85
+ S(Z) ? (_(!0), l(o, { key: 0 }, y(S(V), (e) => (_(), s(S(i), h({
86
86
  arrow: "",
87
87
  size: "sm",
88
88
  "open-delay": 0,
@@ -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
  }
@@ -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';
@@ -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';
package/dist/index.js CHANGED
@@ -88,67 +88,82 @@ import { useDateTimeRangeField as Ue } from "./Components/DateTimeRangeField/com
88
88
  import { useDateTimeRangePicker as We } from "./Components/DateTimeRangePicker/composables/useDateTimeRangePicker.js";
89
89
  import Ge from "./Components/DateTimeRangePicker/DateTimeRangePicker.js";
90
90
  import Ke from "./Components/DateTimeRangeField/DateTimeRangeField.js";
91
- import { useLink as qe } from "./Components/Link/composables/useLink.js";
92
- import Je from "./Components/Link/Link.js";
93
- import { useNumberField as Ye } from "./Components/NumberField/composables/useNumberField.js";
94
- import Xe from "./Components/NumberField/NumberField.js";
95
- import { useOtpField as Ze } from "./Components/OtpField/composables/useOtpField.js";
96
- import Qe from "./Components/OtpField/OtpField.js";
97
- import { usePagination as $e } from "./Components/Pagination/composables/usePagination.js";
98
- import et from "./Components/Pagination/Pagination.js";
99
- import { usePasswordField as tt } from "./Components/PasswordField/composables/usePasswordField.js";
100
- import nt from "./Components/PasswordField/PasswordField.js";
101
- import { useRadio as rt } from "./Components/Radio/composables/useRadio.js";
102
- import it from "./Components/Radio/Radio.js";
103
- import at from "./Components/Select/Select.js";
104
- import ot from "./Components/Select/SelectOption.js";
105
- import { useSkeleton as st } from "./Components/Skeleton/composables/useSkeleton.js";
106
- import ct from "./Components/Skeleton/Skeleton.js";
107
- import { useSlider as lt } from "./Components/Slider/composables/useSlider.js";
108
- import { useTooltip as ut } from "./Components/Tooltip/composables/useTooltip.js";
109
- import dt from "./Components/Tooltip/Tooltip.js";
110
- import ft from "./Components/Slider/Slider.js";
111
- import { useSnackbar as pt } from "./Components/Snackbar/composables/useSnackbar.js";
112
- import mt from "./Components/Snackbar/Snackbar.js";
113
- import { useSpinner as ht } from "./Components/Spinner/composables/useSpinner.js";
114
- import gt from "./Components/Spinner/Spinner.js";
115
- import { useStep as _t } from "./Components/Step/composables/useStep.js";
116
- import vt from "./Components/Step/Step.js";
117
- import { useStepper as yt } from "./Components/Stepper/composables/useStepper.js";
118
- import bt from "./Components/Stepper/Stepper.js";
119
- import { useSwitch as xt } from "./Components/Switch/composables/useSwitch.js";
120
- import St from "./Components/Switch/Switch.js";
121
- import { TABS_INJECTION_KEY as Ct } from "./Components/Tabs/tabsInjectionKey.js";
122
- import { useTab as wt } from "./Components/Tab/composables/useTab.js";
123
- import Tt from "./Components/Tab/Tab.js";
124
- import { useTabItem as Et } from "./Components/TabItem/composables/useTabItem.js";
125
- import Dt from "./Components/TabItem/TabItem.js";
126
- import { useTabList as Ot } from "./Components/TabList/composables/useTabList.js";
127
- import kt from "./Components/TabList/TabList.js";
128
- import { useTabPanel as At } from "./Components/TabPanel/composables/useTabPanel.js";
129
- import jt from "./Components/TabPanel/TabPanel.js";
130
- import { useTabs as Mt } from "./Components/Tabs/composables/useTabs.js";
131
- import Nt from "./Components/Tabs/Tabs.js";
132
- import { useTextarea as Pt } from "./Components/Textarea/composables/useTextarea.js";
133
- import Ft from "./Components/Textarea/Textarea.js";
134
- import { useTextField as It } from "./Components/TextField/composables/useTextField.js";
135
- import Lt from "./Components/TextField/TextField.js";
136
- import { useTimeField as Rt } from "./Components/TimeField/composables/useTimeField.js";
137
- import { useTimePicker as zt } from "./Components/TimePicker/composables/useTimePicker.js";
138
- import Bt from "./Components/TimePicker/TimePicker.js";
139
- import Vt from "./Components/TimeField/TimeField.js";
140
- import { useTimeRangeField as Ht } from "./Components/TimeRangeField/composables/useTimeRangeField.js";
141
- import { useTimeRangePicker as Ut } from "./Components/TimeRangePicker/composables/useTimeRangePicker.js";
142
- import Wt from "./Components/TimeRangePicker/TimeRangePicker.js";
143
- import Gt from "./Components/TimeRangeField/TimeRangeField.js";
144
- import { TOGGLE_GROUP_INJECTION_KEY as Kt } from "./Components/ToggleGroup/toggleGroupInjectionKey.js";
145
- import { useToggleGroup as qt } from "./Components/ToggleGroup/composables/useToggleGroup.js";
146
- import Jt from "./Components/ToggleGroup/ToggleGroup.js";
147
- import { useToggleItem as Yt } from "./Components/ToggleItem/composables/useToggleItem.js";
148
- import Xt from "./Components/ToggleItem/ToggleItem.js";
149
- import Zt from "./Provider/BridgeUIProvider.js";
150
- import { createBridgeUI as Qt } from "./Provider/createBridgeUI.js";
151
- import { SEMANTIC_ICON_NAMES as $t, resolveMessage as en } from "@bridge-ui/core/Adapters";
152
- import { cn as tn } from "@bridge-ui/core/Utils";
153
- import { BRIDGE_UI_DEFAULT_GLOBAL as nn, mergeBridgeUIComponents as rn, mergeBridgeUIGlobal as an, resolveBridgeUIOptions as on } from "@bridge-ui/core/Config";
154
- export { l as ACCORDION_INJECTION_KEY, m as Accordion, _ as AccordionItem, y as Alert, X as Autocomplete, Z as AutocompleteOption, Q as Avatar, nn as BRIDGE_UI_DEFAULT_GLOBAL, ee as Badge, te as BaseField, oe as Breadcrumb, ae as BreadcrumbItem, Zt as BridgeUIProvider, P as Button, me as Calendar, le as CalendarDate, de as CalendarMonth, ve as CalendarRange, pe as CalendarYear, be as Card, we as Checkbox, O as Chip, Oe as ColorField, De as ColorPicker, Me as DateField, je as DatePicker, Ie as DateRangeField, Fe as DateRangePicker, He as DateTimeField, Ve as DateTimePicker, Ke as DateTimeRangeField, Ge as DateTimeRangePicker, _e as Divider, L as Drawer, H as FieldOverlay, Se as FormControl, j as FormField, g as Icon, A as Label, Je as Link, W as List, G as ListItem, K as ListSection, Y as Listbox, z as Menu, V as Modal, Xe as NumberField, Qe as OtpField, et as Pagination, nt as PasswordField, J as Progress, it as Radio, $t as SEMANTIC_ICON_NAMES, at as Select, ot as SelectOption, ct as Skeleton, ft as Slider, mt as Snackbar, gt as Spinner, vt as Step, bt as Stepper, St as Switch, Ct as TABS_INJECTION_KEY, Kt as TOGGLE_GROUP_INJECTION_KEY, Tt as Tab, Dt as TabItem, kt as TabList, jt as TabPanel, Nt as Tabs, Lt as TextField, Ft as Textarea, Vt as TimeField, Be as TimePanel, Bt as TimePicker, Gt as TimeRangeField, Wt as TimeRangePicker, Jt as ToggleGroup, Xt as ToggleItem, dt as Tooltip, tn as cn, Qt as createBridgeUI, x as findFirstEnabledOptionIndex, S as findLastEnabledOptionIndex, C as getListboxActiveDescendantId, w as getListboxOptionId, rn as mergeBridgeUIComponents, an as mergeBridgeUIGlobal, T as moveListboxHighlight, on as resolveBridgeUIOptions, en as resolveMessage, t as setDateAdapterForTests, i as setI18nAdapterForTests, s as setIconAdapterForTests, p as useAccordion, h as useAccordionItem, v as useAlert, $ as useBadge, ne as useBaseField, re as useBreadcrumb, ie as useBreadcrumbItem, u as useBreakpoint, e as useBridgeUI, d as useBridgeUIComponent, f as useBridgeUIMergedRegistryClasses, N as useButton, se as useCalendar, ce as useCalendarDate, ue as useCalendarMonth, he as useCalendarRange, fe as useCalendarYear, ye as useCard, Ce as useCheckbox, D as useChip, Te as useColorField, Ee as useColorPicker, n as useDateAdapter, r as useDateAdapterContext, ke as useDateField, Ae as useDatePicker, Ne as useDateRangeField, Pe as useDateRangePicker, Le as useDateTimeField, Re as useDateTimePicker, Ue as useDateTimeRangeField, We as useDateTimeRangePicker, ge as useDivider, I as useDrawer, F as useFieldOverlay, xe as useFormControl, b as useFormField, a as useI18nAdapter, c as useIconAdapter, k as useLabel, qe as useLink, U as useList, M as useListbox, E as useListboxNavigation, R as useMenu, B as useModal, Ye as useNumberField, Ze as useOtpField, $e as usePagination, tt as usePasswordField, q as useProgress, rt as useRadio, o as useResolveMessage, st as useSkeleton, lt as useSlider, pt as useSnackbar, ht as useSpinner, _t as useStep, yt as useStepper, xt as useSwitch, wt as useTab, Et as useTabItem, Ot as useTabList, At as useTabPanel, Mt as useTabs, It as useTextField, Pt as useTextarea, Rt as useTimeField, ze as useTimePanel, zt as useTimePicker, Ht as useTimeRangeField, Ut as useTimeRangePicker, qt as useToggleGroup, Yt as useToggleItem, ut as useTooltip };
91
+ import { useEmptyState as qe } from "./Components/EmptyState/composables/useEmptyState.js";
92
+ import Je from "./Components/EmptyState/EmptyState.js";
93
+ import { useLink as Ye } from "./Components/Link/composables/useLink.js";
94
+ import Xe from "./Components/Link/Link.js";
95
+ import { useNumberField as Ze } from "./Components/NumberField/composables/useNumberField.js";
96
+ import Qe from "./Components/NumberField/NumberField.js";
97
+ import { useOtpField as $e } from "./Components/OtpField/composables/useOtpField.js";
98
+ import et from "./Components/OtpField/OtpField.js";
99
+ import { usePagination as tt } from "./Components/Pagination/composables/usePagination.js";
100
+ import nt from "./Components/Pagination/Pagination.js";
101
+ import { usePasswordField as rt } from "./Components/PasswordField/composables/usePasswordField.js";
102
+ import it from "./Components/PasswordField/PasswordField.js";
103
+ import { useRadio as at } from "./Components/Radio/composables/useRadio.js";
104
+ import ot from "./Components/Radio/Radio.js";
105
+ import st from "./Components/Select/Select.js";
106
+ import ct from "./Components/Select/SelectOption.js";
107
+ import { useSidebar as lt } from "./Components/Sidebar/composables/useSidebar.js";
108
+ import { useSidebarInset as ut } from "./Components/Sidebar/composables/useSidebarInset.js";
109
+ import { useSidebarList as dt } from "./Components/Sidebar/composables/useSidebarList.js";
110
+ import { useSidebarListItem as ft } from "./Components/Sidebar/composables/useSidebarListItem.js";
111
+ import { useSidebarProvider as pt } from "./Components/Sidebar/composables/useSidebarProvider.js";
112
+ import { useSidebarShell as mt } from "./Components/Sidebar/composables/useSidebarShell.js";
113
+ import { useSidebarTrigger as ht } from "./Components/Sidebar/composables/useSidebarTrigger.js";
114
+ import gt from "./Components/Sidebar/Sidebar.js";
115
+ import _t from "./Components/Sidebar/SidebarInset.js";
116
+ import vt from "./Components/Sidebar/SidebarList.js";
117
+ import { useTooltip as yt } from "./Components/Tooltip/composables/useTooltip.js";
118
+ import bt from "./Components/Tooltip/Tooltip.js";
119
+ import xt from "./Components/Sidebar/SidebarListItem.js";
120
+ import St from "./Components/Sidebar/SidebarProvider.js";
121
+ import Ct from "./Components/Sidebar/SidebarTrigger.js";
122
+ import { useSkeleton as wt } from "./Components/Skeleton/composables/useSkeleton.js";
123
+ import Tt from "./Components/Skeleton/Skeleton.js";
124
+ import { useSlider as Et } from "./Components/Slider/composables/useSlider.js";
125
+ import Dt from "./Components/Slider/Slider.js";
126
+ import { useSnackbar as Ot } from "./Components/Snackbar/composables/useSnackbar.js";
127
+ import kt from "./Components/Snackbar/Snackbar.js";
128
+ import { useSpinner as At } from "./Components/Spinner/composables/useSpinner.js";
129
+ import jt from "./Components/Spinner/Spinner.js";
130
+ import { useStep as Mt } from "./Components/Step/composables/useStep.js";
131
+ import Nt from "./Components/Step/Step.js";
132
+ import { useStepper as Pt } from "./Components/Stepper/composables/useStepper.js";
133
+ import Ft from "./Components/Stepper/Stepper.js";
134
+ import { useSwitch as It } from "./Components/Switch/composables/useSwitch.js";
135
+ import Lt from "./Components/Switch/Switch.js";
136
+ import { TABS_INJECTION_KEY as Rt } from "./Components/Tabs/tabsInjectionKey.js";
137
+ import { useTab as zt } from "./Components/Tab/composables/useTab.js";
138
+ import Bt from "./Components/Tab/Tab.js";
139
+ import { useTabItem as Vt } from "./Components/TabItem/composables/useTabItem.js";
140
+ import Ht from "./Components/TabItem/TabItem.js";
141
+ import { useTabList as Ut } from "./Components/TabList/composables/useTabList.js";
142
+ import Wt from "./Components/TabList/TabList.js";
143
+ import { useTabPanel as Gt } from "./Components/TabPanel/composables/useTabPanel.js";
144
+ import Kt from "./Components/TabPanel/TabPanel.js";
145
+ import { useTabs as qt } from "./Components/Tabs/composables/useTabs.js";
146
+ import Jt from "./Components/Tabs/Tabs.js";
147
+ import { useTextarea as Yt } from "./Components/Textarea/composables/useTextarea.js";
148
+ import Xt from "./Components/Textarea/Textarea.js";
149
+ import { useTextField as Zt } from "./Components/TextField/composables/useTextField.js";
150
+ import Qt from "./Components/TextField/TextField.js";
151
+ import { useTimeField as $t } from "./Components/TimeField/composables/useTimeField.js";
152
+ import { useTimePicker as en } from "./Components/TimePicker/composables/useTimePicker.js";
153
+ import tn from "./Components/TimePicker/TimePicker.js";
154
+ import nn from "./Components/TimeField/TimeField.js";
155
+ import { useTimeRangeField as rn } from "./Components/TimeRangeField/composables/useTimeRangeField.js";
156
+ import { useTimeRangePicker as an } from "./Components/TimeRangePicker/composables/useTimeRangePicker.js";
157
+ import on from "./Components/TimeRangePicker/TimeRangePicker.js";
158
+ import sn from "./Components/TimeRangeField/TimeRangeField.js";
159
+ import { TOGGLE_GROUP_INJECTION_KEY as cn } from "./Components/ToggleGroup/toggleGroupInjectionKey.js";
160
+ import { useToggleGroup as ln } from "./Components/ToggleGroup/composables/useToggleGroup.js";
161
+ import un from "./Components/ToggleGroup/ToggleGroup.js";
162
+ import { useToggleItem as dn } from "./Components/ToggleItem/composables/useToggleItem.js";
163
+ import fn from "./Components/ToggleItem/ToggleItem.js";
164
+ import pn from "./Provider/BridgeUIProvider.js";
165
+ import { createBridgeUI as mn } from "./Provider/createBridgeUI.js";
166
+ import { SEMANTIC_ICON_NAMES as hn, resolveMessage as gn } from "@bridge-ui/core/Adapters";
167
+ import { cn as _n } from "@bridge-ui/core/Utils";
168
+ import { BRIDGE_UI_DEFAULT_GLOBAL as vn, mergeBridgeUIComponents as yn, mergeBridgeUIGlobal as bn, resolveBridgeUIOptions as xn } from "@bridge-ui/core/Config";
169
+ export { l as ACCORDION_INJECTION_KEY, m as Accordion, _ as AccordionItem, y as Alert, X as Autocomplete, Z as AutocompleteOption, Q as Avatar, vn as BRIDGE_UI_DEFAULT_GLOBAL, ee as Badge, te as BaseField, oe as Breadcrumb, ae as BreadcrumbItem, pn as BridgeUIProvider, P as Button, me as Calendar, le as CalendarDate, de as CalendarMonth, ve as CalendarRange, pe as CalendarYear, be as Card, we as Checkbox, O as Chip, Oe as ColorField, De as ColorPicker, Me as DateField, je as DatePicker, Ie as DateRangeField, Fe as DateRangePicker, He as DateTimeField, Ve as DateTimePicker, Ke as DateTimeRangeField, Ge as DateTimeRangePicker, _e as Divider, L as Drawer, Je as EmptyState, H as FieldOverlay, Se as FormControl, j as FormField, g as Icon, A as Label, Xe as Link, W as List, G as ListItem, K as ListSection, Y as Listbox, z as Menu, V as Modal, Qe as NumberField, et as OtpField, nt as Pagination, it as PasswordField, J as Progress, ot as Radio, hn as SEMANTIC_ICON_NAMES, st as Select, ct as SelectOption, gt as Sidebar, _t as SidebarInset, vt as SidebarList, xt as SidebarListItem, St as SidebarProvider, Ct as SidebarTrigger, Tt as Skeleton, Dt as Slider, kt as Snackbar, jt as Spinner, Nt as Step, Ft as Stepper, Lt as Switch, Rt as TABS_INJECTION_KEY, cn as TOGGLE_GROUP_INJECTION_KEY, Bt as Tab, Ht as TabItem, Wt as TabList, Kt as TabPanel, Jt as Tabs, Qt as TextField, Xt as Textarea, nn as TimeField, Be as TimePanel, tn as TimePicker, sn as TimeRangeField, on as TimeRangePicker, un as ToggleGroup, fn as ToggleItem, bt as Tooltip, _n as cn, mn as createBridgeUI, x as findFirstEnabledOptionIndex, S as findLastEnabledOptionIndex, C as getListboxActiveDescendantId, w as getListboxOptionId, yn as mergeBridgeUIComponents, bn as mergeBridgeUIGlobal, T as moveListboxHighlight, xn as resolveBridgeUIOptions, gn as resolveMessage, t as setDateAdapterForTests, i as setI18nAdapterForTests, s as setIconAdapterForTests, p as useAccordion, h as useAccordionItem, v as useAlert, $ as useBadge, ne as useBaseField, re as useBreadcrumb, ie as useBreadcrumbItem, u as useBreakpoint, e as useBridgeUI, d as useBridgeUIComponent, f as useBridgeUIMergedRegistryClasses, N as useButton, se as useCalendar, ce as useCalendarDate, ue as useCalendarMonth, he as useCalendarRange, fe as useCalendarYear, ye as useCard, Ce as useCheckbox, D as useChip, Te as useColorField, Ee as useColorPicker, n as useDateAdapter, r as useDateAdapterContext, ke as useDateField, Ae as useDatePicker, Ne as useDateRangeField, Pe as useDateRangePicker, Le as useDateTimeField, Re as useDateTimePicker, Ue as useDateTimeRangeField, We as useDateTimeRangePicker, ge as useDivider, I as useDrawer, qe as useEmptyState, F as useFieldOverlay, xe as useFormControl, b as useFormField, a as useI18nAdapter, c as useIconAdapter, k as useLabel, Ye as useLink, U as useList, M as useListbox, E as useListboxNavigation, R as useMenu, B as useModal, Ze as useNumberField, $e as useOtpField, tt as usePagination, rt as usePasswordField, q as useProgress, at as useRadio, o as useResolveMessage, lt as useSidebar, ut as useSidebarInset, dt as useSidebarList, ft as useSidebarListItem, pt as useSidebarProvider, mt as useSidebarShell, ht as useSidebarTrigger, wt as useSkeleton, Et as useSlider, Ot as useSnackbar, At as useSpinner, Mt as useStep, Pt as useStepper, It as useSwitch, zt as useTab, Vt as useTabItem, Ut as useTabList, Gt as useTabPanel, qt as useTabs, Zt as useTextField, Yt as useTextarea, $t as useTimeField, ze as useTimePanel, en as useTimePicker, rn as useTimeRangeField, an as useTimeRangePicker, ln as useToggleGroup, dn as useToggleItem, yt as useTooltip };
package/docs/README.md CHANGED
@@ -33,6 +33,7 @@ Component reference and adapter samples for **Vue**. This folder ships with the
33
33
  - [DateTimeRangePicker](./components/DateTimeRangePicker.md)
34
34
  - [Divider](./components/Divider.md)
35
35
  - [Drawer](./components/Drawer.md)
36
+ - [EmptyState](./components/EmptyState.md)
36
37
  - [FormControl](./components/FormControl.md)
37
38
  - [FormField](./components/FormField.md)
38
39
  - [I18n](./components/I18n.md)
@@ -49,6 +50,7 @@ Component reference and adapter samples for **Vue**. This folder ships with the
49
50
  - [Progress](./components/Progress.md)
50
51
  - [Radio](./components/Radio.md)
51
52
  - [Select](./components/Select.md)
53
+ - [Sidebar](./components/Sidebar.md)
52
54
  - [Skeleton](./components/Skeleton.md)
53
55
  - [Slider](./components/Slider.md)
54
56
  - [Snackbar](./components/Snackbar.md)
@@ -73,7 +73,7 @@ Put background and border on a wrapper; put `bridge-scroll-fade-*` on the inner
73
73
 
74
74
  - Scroll-aware when the browser supports scroll-driven animations: crisp start edge at rest, both edges mid-scroll, crisp end edge at the end.
75
75
  - If content does not overflow, no fade.
76
- - Without scroll-driven animations, no fade. Wheel / keyboard / programmatic scroll still work.
76
+ - Without scroll-driven animations, both edges fade statically. Wheel / keyboard / programmatic scroll still work.
77
77
  - `bridge-scroll-fade-x` follows reading direction (RTL included).
78
78
 
79
79
  ## TimePanel
@@ -141,7 +141,7 @@ When `page` and `page-count` (or `total-count`) are set, DataTable does not sort
141
141
 
142
142
  ### Empty, loading, and footer
143
143
 
144
- Empty rows show a default empty state; `#empty` replaces it. `loading` keeps the table visible. `loadingVariant="overlay"` (default) dims the table with a spin; `loadingVariant="bar"` dims the table and draws a progress line under the header. `#loading` replaces the indicator. `#footer` renders below the table, above pagination:
144
+ Empty rows render `EmptyState` at the table `size`, with the i18n title `"No data"`. `#empty` replaces it. `loading` keeps the table visible. `loadingVariant="overlay"` (default) dims the table with a spin; `loadingVariant="bar"` dims the table and draws a progress line under the header. `#loading` replaces the indicator. `#footer` renders below the table, above pagination:
145
145
 
146
146
  ```vue
147
147
  <DataTable :rows="[]" :columns="columns" :loading="isLoading">