@onereach/ui-components 2.70.1 → 2.70.2-beta.2198.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 (47) hide show
  1. package/dist/bundled/v2/OrSidebar-2a7d62a8.js +455 -0
  2. package/dist/bundled/v2/components/index.js +1 -1
  3. package/dist/bundled/v2/components/or-sidebar-v3/OrSidebar.stories3.d.ts +36 -1
  4. package/dist/bundled/v2/components/or-sidebar-v3/OrSidebar.vue.d.ts +49 -4
  5. package/dist/bundled/v2/components/or-sidebar-v3/OrSidebarCollapseButton.stories3.d.ts +12 -0
  6. package/dist/bundled/v2/components/or-sidebar-v3/OrSidebarCollapseButton.vue.d.ts +59 -0
  7. package/dist/bundled/v2/components/or-sidebar-v3/index.js +13 -1
  8. package/dist/bundled/v2/components/or-sidebar-v3/styles.d.ts +7 -1
  9. package/dist/bundled/v2/index.js +2 -2
  10. package/dist/bundled/v3/OrSidebar.vue_vue_type_script_lang-b4fa1550.js +347 -0
  11. package/dist/bundled/v3/components/index.js +1 -1
  12. package/dist/bundled/v3/components/or-sidebar-v3/OrSidebar.stories3.d.ts +36 -1
  13. package/dist/bundled/v3/components/or-sidebar-v3/OrSidebar.vue.d.ts +49 -4
  14. package/dist/bundled/v3/components/or-sidebar-v3/OrSidebarCollapseButton.stories3.d.ts +12 -0
  15. package/dist/bundled/v3/components/or-sidebar-v3/OrSidebarCollapseButton.vue.d.ts +59 -0
  16. package/dist/bundled/v3/components/or-sidebar-v3/index.js +15 -1
  17. package/dist/bundled/v3/components/or-sidebar-v3/styles.d.ts +7 -1
  18. package/dist/bundled/v3/index.js +25 -9
  19. package/dist/esm/v2/OrSidebar-1e02702f.js +452 -0
  20. package/dist/esm/v2/components/index.js +1 -1
  21. package/dist/esm/v2/components/or-sidebar-v3/OrSidebar.stories3.d.ts +36 -1
  22. package/dist/esm/v2/components/or-sidebar-v3/OrSidebar.vue.d.ts +49 -4
  23. package/dist/esm/v2/components/or-sidebar-v3/OrSidebarCollapseButton.stories3.d.ts +12 -0
  24. package/dist/esm/v2/components/or-sidebar-v3/OrSidebarCollapseButton.vue.d.ts +59 -0
  25. package/dist/esm/v2/components/or-sidebar-v3/index.js +13 -1
  26. package/dist/esm/v2/components/or-sidebar-v3/styles.d.ts +7 -1
  27. package/dist/esm/v2/index.js +1 -1
  28. package/dist/esm/v3/OrSidebar-749bbcba.js +387 -0
  29. package/dist/esm/v3/components/index.js +1 -1
  30. package/dist/esm/v3/components/or-sidebar-v3/OrSidebar.stories3.d.ts +36 -1
  31. package/dist/esm/v3/components/or-sidebar-v3/OrSidebar.vue.d.ts +49 -4
  32. package/dist/esm/v3/components/or-sidebar-v3/OrSidebarCollapseButton.stories3.d.ts +12 -0
  33. package/dist/esm/v3/components/or-sidebar-v3/OrSidebarCollapseButton.vue.d.ts +59 -0
  34. package/dist/esm/v3/components/or-sidebar-v3/index.js +12 -1
  35. package/dist/esm/v3/components/or-sidebar-v3/styles.d.ts +7 -1
  36. package/dist/esm/v3/index.js +1 -1
  37. package/package.json +2 -3
  38. package/src/components/or-sidebar-v3/OrSidebar.docs.mdx +6 -0
  39. package/src/components/or-sidebar-v3/OrSidebar.stories3.ts +219 -6
  40. package/src/components/or-sidebar-v3/OrSidebar.vue +121 -22
  41. package/src/components/or-sidebar-v3/OrSidebarCollapseButton.stories3.ts +48 -0
  42. package/src/components/or-sidebar-v3/OrSidebarCollapseButton.vue +64 -0
  43. package/src/components/or-sidebar-v3/styles.ts +153 -9
  44. package/dist/bundled/v2/OrSidebar-c95ef614.js +0 -230
  45. package/dist/bundled/v3/OrSidebar.vue_vue_type_script_lang-ce0b152c.js +0 -181
  46. package/dist/esm/v2/OrSidebar-fabc7bc9.js +0 -228
  47. package/dist/esm/v3/OrSidebar-a62972f5.js +0 -206
@@ -0,0 +1,347 @@
1
+ import { useDraggable, useElementBounding } from '@vueuse/core';
2
+ import _ from 'lodash';
3
+ import { defineComponent, ref, computed, resolveComponent, openBlock, createBlock, normalizeClass, useSlots, watch } from 'vue';
4
+ import './OrIconButton-cd62526d.js';
5
+ import { s as script$2 } from './OrIconButton.vue_vue_type_script_lang-aefcf30d.js';
6
+
7
+ var OrSidebarPlacement;
8
+ (function (OrSidebarPlacement) {
9
+ OrSidebarPlacement["left"] = "left";
10
+ OrSidebarPlacement["right"] = "right";
11
+ })(OrSidebarPlacement || (OrSidebarPlacement = {}));
12
+
13
+ const SidebarRoot = [
14
+ // Position
15
+ 'relative',
16
+ // Layout
17
+ 'flex', 'flex-row', 'shrink-0',
18
+ // Box
19
+ 'min-w-0', 'h-auto', 'p-0',
20
+ // Theme
21
+ 'bg-background', 'dark:bg-background-dark'];
22
+ const SidebarBar = [
23
+ // Position
24
+ 'relative',
25
+ // Layout
26
+ 'flex', 'flex-col', 'shrink-0', 'grow',
27
+ // Box
28
+ 'min-h-0', 'p-0',
29
+ // Theme
30
+ 'text-on-background', 'dark:text-on-background-dark',
31
+ // Transition
32
+ 'transition-[width]'];
33
+ const SidebarToolbar = [
34
+ // Position
35
+ 'relative',
36
+ // Layout
37
+ 'flex', 'flex-col', 'shrink-0', 'grow', 'overflow-auto', 'items-center',
38
+ // Sizing
39
+ 'gap-md',
40
+ // Box
41
+ 'min-h-0', 'min-w-xl', 'p-[6px]', 'pt-[56px]', 'pb-md+',
42
+ // Theme
43
+ 'text-outline', 'dark:text-outline-dark'];
44
+ const SidebarSides = {
45
+ [OrSidebarPlacement.left]: [
46
+ // Borders
47
+ 'border-r-[1px]', 'border-r-solid', 'border-r-outline-variant dark:border-r-outline-variant-dark'],
48
+ [OrSidebarPlacement.right]: [
49
+ // Borders
50
+ 'border-l-[1px]', 'border-l-solid', 'border-l-outline-variant dark:border-l-outline-variant-dark']
51
+ };
52
+ const SidebarToolbarSides = {
53
+ [OrSidebarPlacement.left]: [
54
+ // Borders
55
+ 'border-r-[1px]', 'border-r-solid', 'border-r-outline-variant dark:border-r-outline-variant-dark'],
56
+ [OrSidebarPlacement.right]: [
57
+ // Borders
58
+ 'border-l-[1px]', 'border-l-solid', 'border-l-outline-variant dark:border-l-outline-variant-dark']
59
+ };
60
+ const SidebarResize = [
61
+ // Position
62
+ 'absolute', 'inset-y-none', 'z-[1]',
63
+ // Box
64
+ 'w-sm+', 'h-[100%]',
65
+ // Cursor
66
+ 'cursor-ew-resize'];
67
+ const SidebarResizeSides = {
68
+ [OrSidebarPlacement.left]: [
69
+ // Position
70
+ '-right-[1px]',
71
+ // Borders
72
+ 'hover:border-r-2', 'hover:border-r-primary-hover hover:dark:border-r-primary-hover-dark',
73
+ // Transition
74
+ 'transition-[border-right]'],
75
+ [OrSidebarPlacement.right]: [
76
+ // Position
77
+ '-left-[1px]',
78
+ // Borders
79
+ 'hover:border-l-2', 'hover:border-l-primary-hover hover:dark:border-l-primary-hover-dark',
80
+ // Transition
81
+ 'transition-[border-left]']
82
+ };
83
+ const SidebarCollapseButton = [
84
+ // Position
85
+ 'absolute', 'top-md', 'inset-y-none', 'z-[1]',
86
+ // Cursor
87
+ 'cursor-ew-resize'];
88
+ const SidebarCollapseButtonSides = {
89
+ [OrSidebarPlacement.left]: [
90
+ // Position
91
+ '-right-[12px]'],
92
+ [OrSidebarPlacement.right]: [
93
+ // Position
94
+ '-left-[12px]']
95
+ };
96
+ const SidebarResizingSides = {
97
+ [OrSidebarPlacement.left]: [
98
+ // Borders
99
+ 'border-r-2', 'border-r-primary-hover dark:border-r-primary-hover-dark'],
100
+ [OrSidebarPlacement.right]: [
101
+ // Borders
102
+ 'border-l-2', 'border-l-primary-hover dark:border-l-primary-hover-dark']
103
+ };
104
+ const SidebarMain = [
105
+ // Layout
106
+ 'flex', 'flex-col', 'grow', 'overflow-x-hidden',
107
+ // Box
108
+ 'min-h-0'];
109
+ const SidebarHeader = [
110
+ // Layout
111
+ 'shrink-0', 'overflow-hidden',
112
+ // Sizing
113
+ 'p-md',
114
+ // Typography
115
+ 'typography-headline-2', 'whitespace-nowrap', 'text-ellipsis'];
116
+ const SidebarContent = [
117
+ // Layout
118
+ 'grow', 'overflow-auto',
119
+ // Sizing
120
+ 'p-md'];
121
+ const SidebarFooter = [
122
+ // Layout
123
+ 'shrink-0', 'overflow-x-hidden',
124
+ // Sizing
125
+ 'p-md',
126
+ // Borders
127
+ 'border-t-[1px]', 'border-t-solid', 'border-t-outline-variant dark:border-t-outline-variant-dark'];
128
+ const CollapseButton = [
129
+ // Box
130
+ 'w-[24px]', 'h-[24px]',
131
+ // Typography
132
+ '!text-[16px]',
133
+ // Borders
134
+ '!border-[1px]', '!border-solid',
135
+ // Theme
136
+ '!text-primary dark:!text-primary-dark', '!bg-background dark:!bg-background-dark', '!border-outline-variant dark:!border-outline-variant-dark', '!outline-none',
137
+ // Theme (hover)
138
+ 'hover:!text-primary hover:dark:!text-primary-dark', 'hover:!bg-primary-opacity-0-08 dark:hover:!bg-primary-opacity-0-08-dark', 'hover:!border-outline dark:hover:!border-outline-dark',
139
+ // Theme (active)
140
+ 'active:!text-primary active:dark:!text-primary-dark', 'active:!bg-primary-opacity-0-12 dark:active:!bg-primary-opacity-0-12-dark', 'active:!border-primary dark:active:!border-primary-dark',
141
+ // Theme (focus)
142
+ 'focus:!text-primary focus:dark:!text-primary-dark', 'focus:!bg-primary-opacity-0-12 dark:focus:!bg-primary-opacity-0-12-dark', 'focus:!border-outline dark:focus:!border-outline-dark',
143
+ // Theme (disabled)
144
+ 'disabled:!text-on-disabled disabled:dark:!text-on-disabled-dark', 'disabled:!bg-background disabled:dark:!bg-background-dark', 'disabled:!border-outline-variant disabled:dark:!border-outline-variant-dark'];
145
+
146
+ var script$1 = defineComponent({
147
+ name: 'OrSidebarCollapseButton',
148
+ components: {
149
+ OrIconButton: script$2
150
+ },
151
+ props: {
152
+ /**
153
+ * Must be `true` if sidebar is collapsed.
154
+ */
155
+ modelValue: {
156
+ type: Boolean,
157
+ default: false
158
+ },
159
+ side: {
160
+ type: String,
161
+ default: OrSidebarPlacement.right,
162
+ validator: value => _.includes(_.values(OrSidebarPlacement), value)
163
+ }
164
+ },
165
+ emits: ['update:modelValue'],
166
+ expose: ['root'],
167
+ setup(props) {
168
+ // Refs
169
+ const root = ref();
170
+ const rootStyles = computed(() => [...CollapseButton]);
171
+ const icon = computed(() => props.side === OrSidebarPlacement.left !== props.modelValue ? 'keyboard_arrow_left' : 'keyboard_arrow_right');
172
+ return {
173
+ root,
174
+ rootStyles,
175
+ icon
176
+ };
177
+ }
178
+ });
179
+
180
+ function render(_ctx, _cache, $props, $setup, $data, $options) {
181
+ const _component_or_icon_button = resolveComponent("or-icon-button");
182
+ return openBlock(), createBlock(_component_or_icon_button, {
183
+ ref: "root",
184
+ class: normalizeClass(_ctx.rootStyles),
185
+ icon: {
186
+ icon: _ctx.icon,
187
+ size: 'inherit'
188
+ },
189
+ color: "inherit",
190
+ onClick: _cache[0] || (_cache[0] = $event => _ctx.$emit('update:modelValue', !_ctx.modelValue))
191
+ }, null, 8 /* PROPS */, ["class", "icon"]);
192
+ }
193
+
194
+ script$1.render = render;
195
+ script$1.__file = "src/components/or-sidebar-v3/OrSidebarCollapseButton.vue";
196
+
197
+ var script = defineComponent({
198
+ name: 'OrSidebar',
199
+ components: {
200
+ OrSidebarCollapseButton: script$1
201
+ },
202
+ props: {
203
+ width: {
204
+ type: Number,
205
+ default: 320,
206
+ validator: value => _.isNumber(value) && value >= 0
207
+ },
208
+ minimumWidth: {
209
+ type: Number,
210
+ default: 256,
211
+ validator: value => _.isNumber(value) && value >= 0
212
+ },
213
+ maximumWidth: {
214
+ type: Number,
215
+ default: 384,
216
+ validator: value => _.isNumber(value) && value >= 0
217
+ },
218
+ /**
219
+ * User may put the component on the right or the left side of a container.
220
+ * This property mirrors the resizing behavior (drag direction) and styling (horizontal border) of the sidebar.
221
+ *
222
+ * Note: the property doesn't reposition the component in the parent container.
223
+ * @values left, right
224
+ */
225
+ side: {
226
+ type: String,
227
+ default: OrSidebarPlacement.right,
228
+ validator: value => _.includes(_.values(OrSidebarPlacement), value)
229
+ },
230
+ draggable: {
231
+ type: Boolean,
232
+ default: true
233
+ },
234
+ collapsible: {
235
+ type: Boolean,
236
+ default: false
237
+ }
238
+ },
239
+ emits: ['change:width'],
240
+ expose: ['root', 'open', 'close'],
241
+ setup(props, {
242
+ emit
243
+ }) {
244
+ // Refs
245
+ const root = ref();
246
+ const resizeBar = ref(null);
247
+ const parentContainer = computed(() => {
248
+ var _a;
249
+ return (_a = root.value) === null || _a === void 0 ? void 0 : _a.parentElement;
250
+ });
251
+ // Slots
252
+ const {
253
+ toolbar: toolbarSlot
254
+ } = useSlots();
255
+ // State
256
+ const startPositionX = ref(0);
257
+ const isResizing = ref(false);
258
+ const isCollapsed = ref(false);
259
+ const maximumWidth = ref(props.maximumWidth || 384);
260
+ const localWidth = ref(props.width >= props.minimumWidth ? props.width : props.minimumWidth);
261
+ const isShowingToolbar = computed(() => !!toolbarSlot);
262
+ // Styles
263
+ const sidebarStyle = computed(() => ({
264
+ width: (isCollapsed.value ? 16 : localWidth.value) + 'px'
265
+ }));
266
+ const rootStyles = computed(() => ['or-sidebar', ...SidebarRoot]);
267
+ const sidebarStyles = computed(() => [...SidebarBar, ...SidebarSides[props.side]]);
268
+ const toolbarStyles = computed(() => [...SidebarToolbar, ...SidebarToolbarSides[props.side]]);
269
+ const resizeStyles = computed(() => [...SidebarResize, ...SidebarResizeSides[props.side], ...(isResizing.value ? SidebarResizingSides[props.side] : [])]);
270
+ const collapsibleButtonStyles = computed(() => [...SidebarCollapseButton, ...SidebarCollapseButtonSides[props.side]]);
271
+ const mainStyles = computed(() => [...SidebarMain]);
272
+ const headerStyles = computed(() => [...SidebarHeader]);
273
+ const contentStyles = computed(() => [...SidebarContent]);
274
+ const footerStyles = computed(() => [...SidebarFooter]);
275
+ // Effects
276
+ useDraggable(resizeBar, {
277
+ preventDefault: true,
278
+ onStart: (position, event) => {
279
+ document.body.style.cursor = 'ew-resize';
280
+ document.body.style.userSelect = 'none';
281
+ startPositionX.value = event.x;
282
+ isResizing.value = true;
283
+ },
284
+ onMove: position => {
285
+ const delta = (position.x - startPositionX.value) * (props.side === OrSidebarPlacement.left ? -1 : 1);
286
+ const newWidth = localWidth.value - delta;
287
+ localWidth.value = newWidth > maximumWidth.value ? maximumWidth.value : newWidth < props.minimumWidth ? props.minimumWidth : newWidth;
288
+ startPositionX.value = position.x;
289
+ },
290
+ onEnd: () => {
291
+ document.body.style.cursor = '';
292
+ document.body.style.userSelect = '';
293
+ isResizing.value = false;
294
+ }
295
+ });
296
+ // Methods
297
+ function open() {
298
+ isCollapsed.value = false;
299
+ }
300
+ function close() {
301
+ isCollapsed.value = true;
302
+ }
303
+ const {
304
+ width: containerWidth
305
+ } = useElementBounding(parentContainer);
306
+ watch(() => props.width, newValue => {
307
+ if (newValue !== localWidth.value) {
308
+ localWidth.value = newValue > maximumWidth.value ? maximumWidth.value : newValue < props.minimumWidth ? props.minimumWidth : newValue;
309
+ }
310
+ });
311
+ watch(() => props.minimumWidth, newMinimum => {
312
+ if (newMinimum > localWidth.value) localWidth.value = newMinimum;
313
+ });
314
+ watch(() => props.maximumWidth, newMaximum => {
315
+ if (newMaximum < maximumWidth.value) maximumWidth.value = newMaximum;
316
+ });
317
+ watch(containerWidth, newMaximum => {
318
+ if (newMaximum < maximumWidth.value) maximumWidth.value = newMaximum;
319
+ });
320
+ watch(maximumWidth, newMaximum => {
321
+ if (newMaximum < localWidth.value) localWidth.value = newMaximum;
322
+ });
323
+ watch(localWidth, val => emit('change:width', val));
324
+ return {
325
+ root,
326
+ resizeBar,
327
+ isResizing,
328
+ isCollapsed,
329
+ localWidth,
330
+ isShowingToolbar,
331
+ sidebarStyle,
332
+ rootStyles,
333
+ sidebarStyles,
334
+ toolbarStyles,
335
+ resizeStyles,
336
+ collapsibleButtonStyles,
337
+ mainStyles,
338
+ headerStyles,
339
+ contentStyles,
340
+ footerStyles,
341
+ open,
342
+ close
343
+ };
344
+ }
345
+ });
346
+
347
+ export { OrSidebarPlacement as O, script as s };
@@ -70,7 +70,7 @@ export { s as OrSegmentedControlV3, S as SegmentedControlSize } from '../OrSegme
70
70
  export { s as OrSelect } from '../OrSelect.vue_vue_type_script_lang-26c0a70a.js';
71
71
  export { s as OrSelectV3 } from '../OrSelect.vue_vue_type_script_lang-58e5a52b.js';
72
72
  export { s as OrSidebar, O as OrSidebarSide } from '../OrSidebar.vue_vue_type_script_lang-7c55ac0a.js';
73
- export { O as OrSidebarPlacement, s as OrSidebarV3 } from '../OrSidebar.vue_vue_type_script_lang-ce0b152c.js';
73
+ export { O as OrSidebarPlacement, s as OrSidebarV3 } from '../OrSidebar.vue_vue_type_script_lang-b4fa1550.js';
74
74
  export { s as OrSkeletonCircle, a as OrSkeletonRect, b as OrSkeletonText, O as OrSkeletonTextSizes } from '../OrSkeletonText.vue_vue_type_script_lang-f3f989c3.js';
75
75
  export { s as OrSkeletonCircleV3, a as OrSkeletonRectV3, b as OrSkeletonTextV3 } from '../OrSkeletonText.vue_vue_type_script_lang-577a1dc9.js';
76
76
  export { s as OrSlider } from '../OrSlider.vue_vue_type_script_lang-d47ff040.js';
@@ -10,7 +10,17 @@ export declare const Default: StoryFn<import("vue").ComponentOptions<import("vue
10
10
  } | string[], {} & {}, {
11
11
  [x: number]: string;
12
12
  } | {}, true>)>;
13
- export declare const WithMinimumWidth: StoryFn<import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<unknown>, import("@vue/composition-api").MethodOptions, import("@vue/composition-api").ComputedOptions, import("@vue/composition-api").ComponentPropsOptions<import("@vue/composition-api").Data>, import("@vue/composition-api").ExtractPropTypes<import("@vue/composition-api").ComponentPropsOptions<import("@vue/composition-api").Data>>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{} & {}, import("@vue/composition-api").ShallowUnwrapRef<unknown>, unknown, import("@vue/composition-api").ComputedOptions, import("@vue/composition-api").MethodOptions, unknown, unknown, {
13
+ export declare const WithCustomWidthConstraints: StoryFn<import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<unknown>, import("@vue/composition-api").MethodOptions, import("@vue/composition-api").ComputedOptions, import("@vue/composition-api").ComponentPropsOptions<import("@vue/composition-api").Data>, import("@vue/composition-api").ExtractPropTypes<import("@vue/composition-api").ComponentPropsOptions<import("@vue/composition-api").Data>>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{} & {}, import("@vue/composition-api").ShallowUnwrapRef<unknown>, unknown, import("@vue/composition-api").ComputedOptions, import("@vue/composition-api").MethodOptions, unknown, unknown, {
14
+ [x: string]: ((...args: any[]) => any) | null;
15
+ } | string[], {} & {}, {
16
+ [x: number]: string;
17
+ } | {}, true>)>;
18
+ export declare const NotDraggable: StoryFn<import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<unknown>, import("@vue/composition-api").MethodOptions, import("@vue/composition-api").ComputedOptions, import("@vue/composition-api").ComponentPropsOptions<import("@vue/composition-api").Data>, import("@vue/composition-api").ExtractPropTypes<import("@vue/composition-api").ComponentPropsOptions<import("@vue/composition-api").Data>>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{} & {}, import("@vue/composition-api").ShallowUnwrapRef<unknown>, unknown, import("@vue/composition-api").ComputedOptions, import("@vue/composition-api").MethodOptions, unknown, unknown, {
19
+ [x: string]: ((...args: any[]) => any) | null;
20
+ } | string[], {} & {}, {
21
+ [x: number]: string;
22
+ } | {}, true>)>;
23
+ export declare const Collapsible: StoryFn<import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<unknown>, import("@vue/composition-api").MethodOptions, import("@vue/composition-api").ComputedOptions, import("@vue/composition-api").ComponentPropsOptions<import("@vue/composition-api").Data>, import("@vue/composition-api").ExtractPropTypes<import("@vue/composition-api").ComponentPropsOptions<import("@vue/composition-api").Data>>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{} & {}, import("@vue/composition-api").ShallowUnwrapRef<unknown>, unknown, import("@vue/composition-api").ComputedOptions, import("@vue/composition-api").MethodOptions, unknown, unknown, {
14
24
  [x: string]: ((...args: any[]) => any) | null;
15
25
  } | string[], {} & {}, {
16
26
  [x: number]: string;
@@ -30,8 +40,33 @@ export declare const WithFooter: StoryFn<import("vue").ComponentOptions<import("
30
40
  } | string[], {} & {}, {
31
41
  [x: number]: string;
32
42
  } | {}, true>)>;
43
+ export declare const WithToolbar: StoryFn<import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<unknown>, import("@vue/composition-api").MethodOptions, import("@vue/composition-api").ComputedOptions, import("@vue/composition-api").ComponentPropsOptions<import("@vue/composition-api").Data>, import("@vue/composition-api").ExtractPropTypes<import("@vue/composition-api").ComponentPropsOptions<import("@vue/composition-api").Data>>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{} & {}, import("@vue/composition-api").ShallowUnwrapRef<unknown>, unknown, import("@vue/composition-api").ComputedOptions, import("@vue/composition-api").MethodOptions, unknown, unknown, {
44
+ [x: string]: ((...args: any[]) => any) | null;
45
+ } | string[], {} & {}, {
46
+ [x: number]: string;
47
+ } | {}, true>)>;
48
+ export declare const CollapsibleWithToolbar: StoryFn<import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<unknown>, import("@vue/composition-api").MethodOptions, import("@vue/composition-api").ComputedOptions, import("@vue/composition-api").ComponentPropsOptions<import("@vue/composition-api").Data>, import("@vue/composition-api").ExtractPropTypes<import("@vue/composition-api").ComponentPropsOptions<import("@vue/composition-api").Data>>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{} & {}, import("@vue/composition-api").ShallowUnwrapRef<unknown>, unknown, import("@vue/composition-api").ComputedOptions, import("@vue/composition-api").MethodOptions, unknown, unknown, {
49
+ [x: string]: ((...args: any[]) => any) | null;
50
+ } | string[], {} & {}, {
51
+ [x: number]: string;
52
+ } | {}, true>)>;
53
+ export declare const WithTabs: StoryFn<import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<unknown>, import("@vue/composition-api").MethodOptions, import("@vue/composition-api").ComputedOptions, import("@vue/composition-api").ComponentPropsOptions<import("@vue/composition-api").Data>, import("@vue/composition-api").ExtractPropTypes<import("@vue/composition-api").ComponentPropsOptions<import("@vue/composition-api").Data>>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{} & {}, import("@vue/composition-api").ShallowUnwrapRef<unknown>, unknown, import("@vue/composition-api").ComputedOptions, import("@vue/composition-api").MethodOptions, unknown, unknown, {
54
+ [x: string]: ((...args: any[]) => any) | null;
55
+ } | string[], {} & {}, {
56
+ [x: number]: string;
57
+ } | {}, true>)>;
33
58
  export declare const LeftSidebar: StoryFn<import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<unknown>, import("@vue/composition-api").MethodOptions, import("@vue/composition-api").ComputedOptions, import("@vue/composition-api").ComponentPropsOptions<import("@vue/composition-api").Data>, import("@vue/composition-api").ExtractPropTypes<import("@vue/composition-api").ComponentPropsOptions<import("@vue/composition-api").Data>>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{} & {}, import("@vue/composition-api").ShallowUnwrapRef<unknown>, unknown, import("@vue/composition-api").ComputedOptions, import("@vue/composition-api").MethodOptions, unknown, unknown, {
34
59
  [x: string]: ((...args: any[]) => any) | null;
35
60
  } | string[], {} & {}, {
36
61
  [x: number]: string;
37
62
  } | {}, true>)>;
63
+ export declare const WithLeftToolbar: StoryFn<import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<unknown>, import("@vue/composition-api").MethodOptions, import("@vue/composition-api").ComputedOptions, import("@vue/composition-api").ComponentPropsOptions<import("@vue/composition-api").Data>, import("@vue/composition-api").ExtractPropTypes<import("@vue/composition-api").ComponentPropsOptions<import("@vue/composition-api").Data>>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{} & {}, import("@vue/composition-api").ShallowUnwrapRef<unknown>, unknown, import("@vue/composition-api").ComputedOptions, import("@vue/composition-api").MethodOptions, unknown, unknown, {
64
+ [x: string]: ((...args: any[]) => any) | null;
65
+ } | string[], {} & {}, {
66
+ [x: number]: string;
67
+ } | {}, true>)>;
68
+ export declare const CollapsibleWithWithLeftToolbar: StoryFn<import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<unknown>, import("@vue/composition-api").MethodOptions, import("@vue/composition-api").ComputedOptions, import("@vue/composition-api").ComponentPropsOptions<import("@vue/composition-api").Data>, import("@vue/composition-api").ExtractPropTypes<import("@vue/composition-api").ComponentPropsOptions<import("@vue/composition-api").Data>>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{} & {}, import("@vue/composition-api").ShallowUnwrapRef<unknown>, unknown, import("@vue/composition-api").ComputedOptions, import("@vue/composition-api").MethodOptions, unknown, unknown, {
69
+ [x: string]: ((...args: any[]) => any) | null;
70
+ } | string[], {} & {}, {
71
+ [x: number]: string;
72
+ } | {}, true>)>;
@@ -4,26 +4,36 @@ declare const _default: import("vue").ComponentOptions<import("vue").default, im
4
4
  root: import("@vue/composition-api").Ref<HTMLElement | undefined>;
5
5
  resizeBar: import("@vue/composition-api").Ref<HTMLElement | null>;
6
6
  isResizing: import("@vue/composition-api").Ref<boolean>;
7
+ isCollapsed: import("@vue/composition-api").Ref<boolean>;
7
8
  localWidth: import("@vue/composition-api").Ref<number>;
9
+ isShowingToolbar: import("@vue/composition-api").ComputedRef<boolean>;
8
10
  sidebarStyle: import("@vue/composition-api").ComputedRef<{
9
11
  width: string;
10
12
  }>;
11
13
  rootStyles: import("@vue/composition-api").ComputedRef<string[]>;
14
+ sidebarStyles: import("@vue/composition-api").ComputedRef<string[]>;
15
+ toolbarStyles: import("@vue/composition-api").ComputedRef<string[]>;
12
16
  resizeStyles: import("@vue/composition-api").ComputedRef<string[]>;
17
+ collapsibleButtonStyles: import("@vue/composition-api").ComputedRef<string[]>;
13
18
  mainStyles: import("@vue/composition-api").ComputedRef<string[]>;
14
19
  headerStyles: import("@vue/composition-api").ComputedRef<string[]>;
15
20
  contentStyles: import("@vue/composition-api").ComputedRef<string[]>;
16
21
  footerStyles: import("@vue/composition-api").ComputedRef<string[]>;
22
+ open: () => void;
23
+ close: () => void;
17
24
  }> & import("@vue/composition-api").Data, {}, {}, {
18
25
  width: {
19
26
  type: NumberConstructor;
20
- required: false;
21
27
  default: number;
22
28
  validator: (value?: any) => boolean;
23
29
  };
24
30
  minimumWidth: {
25
31
  type: NumberConstructor;
26
- required: false;
32
+ default: number;
33
+ validator: (value?: any) => boolean;
34
+ };
35
+ maximumWidth: {
36
+ type: NumberConstructor;
27
37
  default: number;
28
38
  validator: (value?: any) => boolean;
29
39
  };
@@ -39,16 +49,27 @@ declare const _default: import("vue").ComponentOptions<import("vue").default, im
39
49
  default: OrSidebarPlacement;
40
50
  validator: (value?: any) => boolean;
41
51
  };
52
+ draggable: {
53
+ type: BooleanConstructor;
54
+ default: boolean;
55
+ };
56
+ collapsible: {
57
+ type: BooleanConstructor;
58
+ default: boolean;
59
+ };
42
60
  }, import("@vue/composition-api").ExtractPropTypes<{
43
61
  width: {
44
62
  type: NumberConstructor;
45
- required: false;
46
63
  default: number;
47
64
  validator: (value?: any) => boolean;
48
65
  };
49
66
  minimumWidth: {
50
67
  type: NumberConstructor;
51
- required: false;
68
+ default: number;
69
+ validator: (value?: any) => boolean;
70
+ };
71
+ maximumWidth: {
72
+ type: NumberConstructor;
52
73
  default: number;
53
74
  validator: (value?: any) => boolean;
54
75
  };
@@ -64,35 +85,59 @@ declare const _default: import("vue").ComponentOptions<import("vue").default, im
64
85
  default: OrSidebarPlacement;
65
86
  validator: (value?: any) => boolean;
66
87
  };
88
+ draggable: {
89
+ type: BooleanConstructor;
90
+ default: boolean;
91
+ };
92
+ collapsible: {
93
+ type: BooleanConstructor;
94
+ default: boolean;
95
+ };
67
96
  }>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
68
97
  width: number;
69
98
  minimumWidth: number;
99
+ maximumWidth: number;
70
100
  side: OrSidebarPlacement;
101
+ draggable: boolean;
102
+ collapsible: boolean;
71
103
  } & {} & {
72
104
  [x: string & `on${string}`]: ((...args: any[]) => any) | undefined;
73
105
  }, import("@vue/composition-api").ShallowUnwrapRef<{
74
106
  root: import("@vue/composition-api").Ref<HTMLElement | undefined>;
75
107
  resizeBar: import("@vue/composition-api").Ref<HTMLElement | null>;
76
108
  isResizing: import("@vue/composition-api").Ref<boolean>;
109
+ isCollapsed: import("@vue/composition-api").Ref<boolean>;
77
110
  localWidth: import("@vue/composition-api").Ref<number>;
111
+ isShowingToolbar: import("@vue/composition-api").ComputedRef<boolean>;
78
112
  sidebarStyle: import("@vue/composition-api").ComputedRef<{
79
113
  width: string;
80
114
  }>;
81
115
  rootStyles: import("@vue/composition-api").ComputedRef<string[]>;
116
+ sidebarStyles: import("@vue/composition-api").ComputedRef<string[]>;
117
+ toolbarStyles: import("@vue/composition-api").ComputedRef<string[]>;
82
118
  resizeStyles: import("@vue/composition-api").ComputedRef<string[]>;
119
+ collapsibleButtonStyles: import("@vue/composition-api").ComputedRef<string[]>;
83
120
  mainStyles: import("@vue/composition-api").ComputedRef<string[]>;
84
121
  headerStyles: import("@vue/composition-api").ComputedRef<string[]>;
85
122
  contentStyles: import("@vue/composition-api").ComputedRef<string[]>;
86
123
  footerStyles: import("@vue/composition-api").ComputedRef<string[]>;
124
+ open: () => void;
125
+ close: () => void;
87
126
  }>, import("@vue/composition-api").Data, {}, {}, {}, {}, string[], {
88
127
  width: number;
89
128
  minimumWidth: number;
129
+ maximumWidth: number;
90
130
  side: OrSidebarPlacement;
131
+ draggable: boolean;
132
+ collapsible: boolean;
91
133
  } & {} & {
92
134
  [x: string & `on${string}`]: ((...args: any[]) => any) | undefined;
93
135
  }, {
94
136
  width: number;
95
137
  minimumWidth: number;
138
+ maximumWidth: number;
96
139
  side: OrSidebarPlacement;
140
+ draggable: boolean;
141
+ collapsible: boolean;
97
142
  }, true>);
98
143
  export default _default;
@@ -0,0 +1,12 @@
1
+ import { Meta, StoryFn } from '@storybook/vue3';
2
+ declare const _default: Meta<import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<unknown>, import("@vue/composition-api").MethodOptions, import("@vue/composition-api").ComputedOptions, import("@vue/composition-api").ComponentPropsOptions<import("@vue/composition-api").Data>, import("@vue/composition-api").ExtractPropTypes<import("@vue/composition-api").ComponentPropsOptions<import("@vue/composition-api").Data>>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{} & {}, import("@vue/composition-api").ShallowUnwrapRef<unknown>, unknown, import("@vue/composition-api").ComputedOptions, import("@vue/composition-api").MethodOptions, unknown, unknown, {
3
+ [x: string]: ((...args: any[]) => any) | null;
4
+ } | string[], {} & {}, {
5
+ [x: number]: string;
6
+ } | {}, true>)>;
7
+ export default _default;
8
+ export declare const Default: StoryFn<import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<unknown>, import("@vue/composition-api").MethodOptions, import("@vue/composition-api").ComputedOptions, import("@vue/composition-api").ComponentPropsOptions<import("@vue/composition-api").Data>, import("@vue/composition-api").ExtractPropTypes<import("@vue/composition-api").ComponentPropsOptions<import("@vue/composition-api").Data>>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{} & {}, import("@vue/composition-api").ShallowUnwrapRef<unknown>, unknown, import("@vue/composition-api").ComputedOptions, import("@vue/composition-api").MethodOptions, unknown, unknown, {
9
+ [x: string]: ((...args: any[]) => any) | null;
10
+ } | string[], {} & {}, {
11
+ [x: number]: string;
12
+ } | {}, true>)>;
@@ -0,0 +1,59 @@
1
+ import { PropType } from 'vue-demi';
2
+ import { OrSidebarPlacement } from './props';
3
+ declare const _default: import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
4
+ root: import("@vue/composition-api").Ref<import("@vue/composition-api").ComponentRenderProxy<{} & {}, import("@vue/composition-api").ShallowUnwrapRef<unknown>, unknown, import("@vue/composition-api").ComputedOptions, import("@vue/composition-api").MethodOptions, unknown, unknown, {
5
+ [x: string]: ((...args: any[]) => any) | null;
6
+ } | string[], {} & {}, {
7
+ [x: number]: string;
8
+ } | {}, true> | undefined>;
9
+ rootStyles: import("@vue/composition-api").ComputedRef<string[]>;
10
+ icon: import("@vue/composition-api").ComputedRef<"keyboard_arrow_left" | "keyboard_arrow_right">;
11
+ }> & import("@vue/composition-api").Data, {}, {}, {
12
+ /**
13
+ * Must be `true` if sidebar is collapsed.
14
+ */
15
+ modelValue: {
16
+ type: BooleanConstructor;
17
+ default: boolean;
18
+ };
19
+ side: {
20
+ type: PropType<OrSidebarPlacement>;
21
+ default: OrSidebarPlacement;
22
+ validator: (value?: any) => boolean;
23
+ };
24
+ }, import("@vue/composition-api").ExtractPropTypes<{
25
+ /**
26
+ * Must be `true` if sidebar is collapsed.
27
+ */
28
+ modelValue: {
29
+ type: BooleanConstructor;
30
+ default: boolean;
31
+ };
32
+ side: {
33
+ type: PropType<OrSidebarPlacement>;
34
+ default: OrSidebarPlacement;
35
+ validator: (value?: any) => boolean;
36
+ };
37
+ }>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
38
+ modelValue: boolean;
39
+ side: OrSidebarPlacement;
40
+ } & {} & {
41
+ [x: string & `on${string}`]: ((...args: any[]) => any) | undefined;
42
+ }, import("@vue/composition-api").ShallowUnwrapRef<{
43
+ root: import("@vue/composition-api").Ref<import("@vue/composition-api").ComponentRenderProxy<{} & {}, import("@vue/composition-api").ShallowUnwrapRef<unknown>, unknown, import("@vue/composition-api").ComputedOptions, import("@vue/composition-api").MethodOptions, unknown, unknown, {
44
+ [x: string]: ((...args: any[]) => any) | null;
45
+ } | string[], {} & {}, {
46
+ [x: number]: string;
47
+ } | {}, true> | undefined>;
48
+ rootStyles: import("@vue/composition-api").ComputedRef<string[]>;
49
+ icon: import("@vue/composition-api").ComputedRef<"keyboard_arrow_left" | "keyboard_arrow_right">;
50
+ }>, import("@vue/composition-api").Data, {}, {}, {}, {}, string[], {
51
+ modelValue: boolean;
52
+ side: OrSidebarPlacement;
53
+ } & {} & {
54
+ [x: string & `on${string}`]: ((...args: any[]) => any) | undefined;
55
+ }, {
56
+ modelValue: boolean;
57
+ side: OrSidebarPlacement;
58
+ }, true>);
59
+ export default _default;
@@ -1,4 +1,18 @@
1
- export { O as OrSidebarPlacement, s as OrSidebarV3 } from '../../OrSidebar.vue_vue_type_script_lang-ce0b152c.js';
1
+ export { O as OrSidebarPlacement, s as OrSidebarV3 } from '../../OrSidebar.vue_vue_type_script_lang-b4fa1550.js';
2
2
  import '@vueuse/core';
3
3
  import 'lodash';
4
4
  import 'vue';
5
+ import '../../OrIconButton-cd62526d.js';
6
+ import '../../OrIconButton.vue_vue_type_script_lang-aefcf30d.js';
7
+ import '../../OrIcon-d878b768.js';
8
+ import '../../OrIcon.vue_vue_type_script_lang-a119a715.js';
9
+ import '../../useClassAttribute-00888f78.js';
10
+ import '../../OrTooltip.vue_vue_type_script_lang-67cc86ed.js';
11
+ import '../../OrPopover-c462ce77.js';
12
+ import '../../OrPopover.vue_vue_type_script_lang-54c7b11c.js';
13
+ import '../../floating-ui.dom.esm-83eba816.js';
14
+ import '../../OrBottomSheet.vue_vue_type_script_lang-6fb49de9.js';
15
+ import '../../OrOverlay.vue_vue_type_script_lang-cb3aad0c.js';
16
+ import '../../OrTeleport.vue3.vue_vue_type_script_lang-4dc70cf1.js';
17
+ import '../../useElevation-c8d5d3ba.js';
18
+ import '../../useResponsive-9d397e2a.js';
@@ -1,10 +1,16 @@
1
1
  import { OrSidebarPlacement } from './props';
2
2
  export declare const SidebarRoot: string[];
3
- export declare const SidebarRootSides: Record<OrSidebarPlacement, string[]>;
3
+ export declare const SidebarBar: string[];
4
+ export declare const SidebarToolbar: string[];
5
+ export declare const SidebarSides: Record<OrSidebarPlacement, string[]>;
6
+ export declare const SidebarToolbarSides: Record<OrSidebarPlacement, string[]>;
4
7
  export declare const SidebarResize: string[];
5
8
  export declare const SidebarResizeSides: Record<OrSidebarPlacement, string[]>;
9
+ export declare const SidebarCollapseButton: string[];
10
+ export declare const SidebarCollapseButtonSides: Record<OrSidebarPlacement, string[]>;
6
11
  export declare const SidebarResizingSides: Record<OrSidebarPlacement, string[]>;
7
12
  export declare const SidebarMain: string[];
8
13
  export declare const SidebarHeader: string[];
9
14
  export declare const SidebarContent: string[];
10
15
  export declare const SidebarFooter: string[];
16
+ export declare const CollapseButton: string[];