@onereach/ui-components 2.70.1-beta.2196.0 → 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 (78) hide show
  1. package/dist/bundled/v2/{OrExpansionPanel-995caa85.js → OrExpansionPanel-d9a260e2.js} +32 -5
  2. package/dist/bundled/v2/{OrSelect-67dc7976.js → OrSelect-c49e1bcf.js} +2 -2
  3. package/dist/bundled/v2/OrSidebar-2a7d62a8.js +455 -0
  4. package/dist/bundled/v2/{OrTag-30fecee5.js → OrTag-e3e6fdd6.js} +1 -1
  5. package/dist/bundled/v2/components/index.js +4 -4
  6. package/dist/bundled/v2/components/or-expansion-panel-v3/OrExpansionPanel.vue.d.ts +22 -3
  7. package/dist/bundled/v2/components/or-expansion-panel-v3/index.js +1 -1
  8. package/dist/bundled/v2/components/or-select-v3/index.js +3 -3
  9. package/dist/bundled/v2/components/or-sidebar-v3/OrSidebar.stories3.d.ts +36 -1
  10. package/dist/bundled/v2/components/or-sidebar-v3/OrSidebar.vue.d.ts +49 -4
  11. package/dist/bundled/v2/components/or-sidebar-v3/OrSidebarCollapseButton.stories3.d.ts +12 -0
  12. package/dist/bundled/v2/components/or-sidebar-v3/OrSidebarCollapseButton.vue.d.ts +59 -0
  13. package/dist/bundled/v2/components/or-sidebar-v3/index.js +13 -1
  14. package/dist/bundled/v2/components/or-sidebar-v3/styles.d.ts +7 -1
  15. package/dist/bundled/v2/components/or-tag-v3/index.js +1 -1
  16. package/dist/bundled/v2/index.js +5 -5
  17. package/dist/bundled/v3/{OrExpansionPanel.vue_vue_type_script_lang-7f9c6721.js → OrExpansionPanel.vue_vue_type_script_lang-5360f580.js} +31 -4
  18. package/dist/bundled/v3/{OrSelect.vue_vue_type_script_lang-29aed61b.js → OrSelect.vue_vue_type_script_lang-58e5a52b.js} +3 -3
  19. package/dist/bundled/v3/OrSidebar.vue_vue_type_script_lang-b4fa1550.js +347 -0
  20. package/dist/bundled/v3/{OrTag.vue_vue_type_script_lang-3e30f662.js → OrTag.vue_vue_type_script_lang-e45c345b.js} +1 -1
  21. package/dist/bundled/v3/components/index.js +4 -4
  22. package/dist/bundled/v3/components/or-expansion-panel-v3/OrExpansionPanel.vue.d.ts +22 -3
  23. package/dist/bundled/v3/components/or-expansion-panel-v3/index.js +1 -1
  24. package/dist/bundled/v3/components/or-select-v3/index.js +3 -3
  25. package/dist/bundled/v3/components/or-sidebar-v3/OrSidebar.stories3.d.ts +36 -1
  26. package/dist/bundled/v3/components/or-sidebar-v3/OrSidebar.vue.d.ts +49 -4
  27. package/dist/bundled/v3/components/or-sidebar-v3/OrSidebarCollapseButton.stories3.d.ts +12 -0
  28. package/dist/bundled/v3/components/or-sidebar-v3/OrSidebarCollapseButton.vue.d.ts +59 -0
  29. package/dist/bundled/v3/components/or-sidebar-v3/index.js +15 -1
  30. package/dist/bundled/v3/components/or-sidebar-v3/styles.d.ts +7 -1
  31. package/dist/bundled/v3/components/or-tag-v3/index.js +1 -1
  32. package/dist/bundled/v3/index.js +29 -13
  33. package/dist/esm/v2/{OrExpansionPanel-968ddc61.js → OrExpansionPanel-a123024e.js} +32 -5
  34. package/dist/esm/v2/{OrSelect-ae7a13a5.js → OrSelect-1d705445.js} +2 -2
  35. package/dist/esm/v2/OrSidebar-1e02702f.js +452 -0
  36. package/dist/esm/v2/{OrTag-5c404031.js → OrTag-52e4cc94.js} +1 -1
  37. package/dist/esm/v2/components/index.js +4 -4
  38. package/dist/esm/v2/components/or-expansion-panel-v3/OrExpansionPanel.vue.d.ts +22 -3
  39. package/dist/esm/v2/components/or-expansion-panel-v3/index.js +1 -1
  40. package/dist/esm/v2/components/or-select-v3/index.js +3 -3
  41. package/dist/esm/v2/components/or-sidebar-v3/OrSidebar.stories3.d.ts +36 -1
  42. package/dist/esm/v2/components/or-sidebar-v3/OrSidebar.vue.d.ts +49 -4
  43. package/dist/esm/v2/components/or-sidebar-v3/OrSidebarCollapseButton.stories3.d.ts +12 -0
  44. package/dist/esm/v2/components/or-sidebar-v3/OrSidebarCollapseButton.vue.d.ts +59 -0
  45. package/dist/esm/v2/components/or-sidebar-v3/index.js +13 -1
  46. package/dist/esm/v2/components/or-sidebar-v3/styles.d.ts +7 -1
  47. package/dist/esm/v2/components/or-tag-v3/index.js +1 -1
  48. package/dist/esm/v2/index.js +4 -4
  49. package/dist/esm/v3/{OrExpansionPanel-311e64cf.js → OrExpansionPanel-f8d7ff8d.js} +32 -5
  50. package/dist/esm/v3/{OrSelect-7ef568f4.js → OrSelect-dfa4885f.js} +2 -2
  51. package/dist/esm/v3/OrSidebar-749bbcba.js +387 -0
  52. package/dist/esm/v3/{OrTag-5d54f37d.js → OrTag-efa7578f.js} +1 -1
  53. package/dist/esm/v3/components/index.js +4 -4
  54. package/dist/esm/v3/components/or-expansion-panel-v3/OrExpansionPanel.vue.d.ts +22 -3
  55. package/dist/esm/v3/components/or-expansion-panel-v3/index.js +1 -1
  56. package/dist/esm/v3/components/or-select-v3/index.js +3 -3
  57. package/dist/esm/v3/components/or-sidebar-v3/OrSidebar.stories3.d.ts +36 -1
  58. package/dist/esm/v3/components/or-sidebar-v3/OrSidebar.vue.d.ts +49 -4
  59. package/dist/esm/v3/components/or-sidebar-v3/OrSidebarCollapseButton.stories3.d.ts +12 -0
  60. package/dist/esm/v3/components/or-sidebar-v3/OrSidebarCollapseButton.vue.d.ts +59 -0
  61. package/dist/esm/v3/components/or-sidebar-v3/index.js +12 -1
  62. package/dist/esm/v3/components/or-sidebar-v3/styles.d.ts +7 -1
  63. package/dist/esm/v3/components/or-tag-v3/index.js +1 -1
  64. package/dist/esm/v3/index.js +4 -4
  65. package/package.json +1 -1
  66. package/src/components/or-expansion-panel-v3/OrExpansionPanel.stories3.ts +12 -2
  67. package/src/components/or-expansion-panel-v3/OrExpansionPanel.vue +39 -3
  68. package/src/components/or-sidebar-v3/OrSidebar.docs.mdx +6 -0
  69. package/src/components/or-sidebar-v3/OrSidebar.stories3.ts +219 -6
  70. package/src/components/or-sidebar-v3/OrSidebar.vue +121 -22
  71. package/src/components/or-sidebar-v3/OrSidebarCollapseButton.stories3.ts +48 -0
  72. package/src/components/or-sidebar-v3/OrSidebarCollapseButton.vue +64 -0
  73. package/src/components/or-sidebar-v3/styles.ts +153 -9
  74. package/src/components/or-tag-v3/styles.ts +0 -3
  75. package/dist/bundled/v2/OrSidebar-c95ef614.js +0 -230
  76. package/dist/bundled/v3/OrSidebar.vue_vue_type_script_lang-ce0b152c.js +0 -181
  77. package/dist/esm/v2/OrSidebar-fabc7bc9.js +0 -228
  78. package/dist/esm/v3/OrSidebar-a62972f5.js +0 -206
@@ -1,4 +1,4 @@
1
- import { defineComponent, ref, computed } from 'vue-demi';
1
+ import { defineComponent, ref, computed, watch } from 'vue-demi';
2
2
  import { u as useClassAttribute } from './useClassAttribute-47fdb016.js';
3
3
  import '@vueuse/core';
4
4
  import { _ as __vue_component__$1 } from './OrIcon-5e394c62.js';
@@ -74,6 +74,10 @@ var script = defineComponent({
74
74
  type: String,
75
75
  required: true
76
76
  },
77
+ isOpen: {
78
+ type: Boolean,
79
+ default: false
80
+ },
77
81
  variant: {
78
82
  type: String,
79
83
  default: ExpansionPanelVariant.Default
@@ -87,8 +91,9 @@ var script = defineComponent({
87
91
  default: false
88
92
  }
89
93
  },
90
- expose: ['root'],
91
- setup(props) {
94
+ emits: ['open', 'close'],
95
+ expose: ['root', 'open', 'close'],
96
+ setup(props, context) {
92
97
  // Refs
93
98
  const root = ref();
94
99
  // Styles
@@ -98,12 +103,34 @@ var script = defineComponent({
98
103
  const addonStyles = computed(() => [...ExpansionPanelAddon]);
99
104
  // State
100
105
  const expanded = ref(false);
106
+ // Events
107
+ watch(expanded, value => {
108
+ context.emit(value ? 'open' : 'close');
109
+ });
110
+ watch(() => props.isOpen, newIsOpen => {
111
+ if (newIsOpen) {
112
+ open();
113
+ } else {
114
+ close();
115
+ }
116
+ }, {
117
+ immediate: true
118
+ });
119
+ // Methods
120
+ function open() {
121
+ expanded.value = true;
122
+ }
123
+ function close() {
124
+ expanded.value = false;
125
+ }
101
126
  return {
102
127
  root,
103
128
  rootStyles,
104
129
  headerStyles,
105
130
  addonStyles,
106
- expanded
131
+ expanded,
132
+ open,
133
+ close
107
134
  };
108
135
  }
109
136
  });
@@ -133,7 +160,7 @@ var __vue_render__ = function () {
133
160
  on: {
134
161
  "click": function ($event) {
135
162
  $event.stopPropagation();
136
- _vm.expanded = !_vm.expanded;
163
+ _vm.expanded ? _vm.close() : _vm.open();
137
164
  }
138
165
  }
139
166
  }, [_c('OrIcon', {
@@ -5,7 +5,7 @@ import { u as useOverflow } from './useOverflow-af6161c8.js';
5
5
  import '@vueuse/core';
6
6
  import { _ as __vue_component__$1 } from './OrCheckbox-567e387c.js';
7
7
  import { _ as __vue_component__$2 } from './OrError-d267ee9a.js';
8
- import { _ as __vue_component__$3 } from './OrExpansionPanel-968ddc61.js';
8
+ import { _ as __vue_component__$3 } from './OrExpansionPanel-a123024e.js';
9
9
  import { _ as __vue_component__$4 } from './OrHint-42dc9ebb.js';
10
10
  import { _ as __vue_component__$5 } from './OrIcon-5e394c62.js';
11
11
  import { _ as __vue_component__$7, a as InputBoxSize } from './OrInputBox-4d5a318d.js';
@@ -13,7 +13,7 @@ import { _ as __vue_component__$6 } from './OrInput-ada3a970.js';
13
13
  import { _ as __vue_component__$8 } from './OrLabel-2a9f1477.js';
14
14
  import { _ as __vue_component__$9 } from './OrMenuItem-c7f28480.js';
15
15
  import { _ as __vue_component__$a } from './OrPopover-9bafbdb4.js';
16
- import { _ as __vue_component__$b } from './OrTag-5c404031.js';
16
+ import { _ as __vue_component__$b } from './OrTag-52e4cc94.js';
17
17
  import { n as normalizeComponent } from './normalize-component-6e8e3d80.js';
18
18
 
19
19
  const SelectRoot = [
@@ -0,0 +1,452 @@
1
+ import { useDraggable, useElementBounding } from '@vueuse/core';
2
+ import _ from 'lodash';
3
+ import { defineComponent, ref, computed, useSlots, watch } from 'vue-demi';
4
+ import { _ as __vue_component__$2 } from './OrIconButton-b3779042.js';
5
+ import { n as normalizeComponent } from './normalize-component-6e8e3d80.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: __vue_component__$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
+ /* script */
181
+ const __vue_script__$1 = script$1;
182
+
183
+ /* template */
184
+ var __vue_render__$1 = function () {
185
+ var _vm = this;
186
+ var _h = _vm.$createElement;
187
+ var _c = _vm._self._c || _h;
188
+ return _c('or-icon-button', {
189
+ ref: "root",
190
+ class: _vm.rootStyles,
191
+ attrs: {
192
+ "icon": {
193
+ icon: _vm.icon,
194
+ size: 'inherit'
195
+ },
196
+ "color": "inherit"
197
+ },
198
+ on: {
199
+ "click": function ($event) {
200
+ return _vm.$emit('update:modelValue', !_vm.modelValue);
201
+ }
202
+ }
203
+ });
204
+ };
205
+ var __vue_staticRenderFns__$1 = [];
206
+
207
+ /* style */
208
+ const __vue_inject_styles__$1 = undefined;
209
+ /* scoped */
210
+ const __vue_scope_id__$1 = undefined;
211
+ /* module identifier */
212
+ const __vue_module_identifier__$1 = undefined;
213
+ /* functional template */
214
+ const __vue_is_functional_template__$1 = false;
215
+ /* style inject */
216
+
217
+ /* style inject SSR */
218
+
219
+ /* style inject shadow dom */
220
+
221
+ const __vue_component__$1 = /*#__PURE__*/normalizeComponent({
222
+ render: __vue_render__$1,
223
+ staticRenderFns: __vue_staticRenderFns__$1
224
+ }, __vue_inject_styles__$1, __vue_script__$1, __vue_scope_id__$1, __vue_is_functional_template__$1, __vue_module_identifier__$1, false, undefined, undefined, undefined);
225
+
226
+ var script = defineComponent({
227
+ name: 'OrSidebar',
228
+ components: {
229
+ OrSidebarCollapseButton: __vue_component__$1
230
+ },
231
+ props: {
232
+ width: {
233
+ type: Number,
234
+ default: 320,
235
+ validator: value => _.isNumber(value) && value >= 0
236
+ },
237
+ minimumWidth: {
238
+ type: Number,
239
+ default: 256,
240
+ validator: value => _.isNumber(value) && value >= 0
241
+ },
242
+ maximumWidth: {
243
+ type: Number,
244
+ default: 384,
245
+ validator: value => _.isNumber(value) && value >= 0
246
+ },
247
+ /**
248
+ * User may put the component on the right or the left side of a container.
249
+ * This property mirrors the resizing behavior (drag direction) and styling (horizontal border) of the sidebar.
250
+ *
251
+ * Note: the property doesn't reposition the component in the parent container.
252
+ * @values left, right
253
+ */
254
+ side: {
255
+ type: String,
256
+ default: OrSidebarPlacement.right,
257
+ validator: value => _.includes(_.values(OrSidebarPlacement), value)
258
+ },
259
+ draggable: {
260
+ type: Boolean,
261
+ default: true
262
+ },
263
+ collapsible: {
264
+ type: Boolean,
265
+ default: false
266
+ }
267
+ },
268
+ emits: ['change:width'],
269
+ expose: ['root', 'open', 'close'],
270
+ setup(props, {
271
+ emit
272
+ }) {
273
+ // Refs
274
+ const root = ref();
275
+ const resizeBar = ref(null);
276
+ const parentContainer = computed(() => {
277
+ var _a;
278
+ return (_a = root.value) === null || _a === void 0 ? void 0 : _a.parentElement;
279
+ });
280
+ // Slots
281
+ const {
282
+ toolbar: toolbarSlot
283
+ } = useSlots();
284
+ // State
285
+ const startPositionX = ref(0);
286
+ const isResizing = ref(false);
287
+ const isCollapsed = ref(false);
288
+ const maximumWidth = ref(props.maximumWidth || 384);
289
+ const localWidth = ref(props.width >= props.minimumWidth ? props.width : props.minimumWidth);
290
+ const isShowingToolbar = computed(() => !!toolbarSlot);
291
+ // Styles
292
+ const sidebarStyle = computed(() => ({
293
+ width: (isCollapsed.value ? 16 : localWidth.value) + 'px'
294
+ }));
295
+ const rootStyles = computed(() => ['or-sidebar', ...SidebarRoot]);
296
+ const sidebarStyles = computed(() => [...SidebarBar, ...SidebarSides[props.side]]);
297
+ const toolbarStyles = computed(() => [...SidebarToolbar, ...SidebarToolbarSides[props.side]]);
298
+ const resizeStyles = computed(() => [...SidebarResize, ...SidebarResizeSides[props.side], ...(isResizing.value ? SidebarResizingSides[props.side] : [])]);
299
+ const collapsibleButtonStyles = computed(() => [...SidebarCollapseButton, ...SidebarCollapseButtonSides[props.side]]);
300
+ const mainStyles = computed(() => [...SidebarMain]);
301
+ const headerStyles = computed(() => [...SidebarHeader]);
302
+ const contentStyles = computed(() => [...SidebarContent]);
303
+ const footerStyles = computed(() => [...SidebarFooter]);
304
+ // Effects
305
+ useDraggable(resizeBar, {
306
+ preventDefault: true,
307
+ onStart: (position, event) => {
308
+ document.body.style.cursor = 'ew-resize';
309
+ document.body.style.userSelect = 'none';
310
+ startPositionX.value = event.x;
311
+ isResizing.value = true;
312
+ },
313
+ onMove: position => {
314
+ const delta = (position.x - startPositionX.value) * (props.side === OrSidebarPlacement.left ? -1 : 1);
315
+ const newWidth = localWidth.value - delta;
316
+ localWidth.value = newWidth > maximumWidth.value ? maximumWidth.value : newWidth < props.minimumWidth ? props.minimumWidth : newWidth;
317
+ startPositionX.value = position.x;
318
+ },
319
+ onEnd: () => {
320
+ document.body.style.cursor = '';
321
+ document.body.style.userSelect = '';
322
+ isResizing.value = false;
323
+ }
324
+ });
325
+ // Methods
326
+ function open() {
327
+ isCollapsed.value = false;
328
+ }
329
+ function close() {
330
+ isCollapsed.value = true;
331
+ }
332
+ const {
333
+ width: containerWidth
334
+ } = useElementBounding(parentContainer);
335
+ watch(() => props.width, newValue => {
336
+ if (newValue !== localWidth.value) {
337
+ localWidth.value = newValue > maximumWidth.value ? maximumWidth.value : newValue < props.minimumWidth ? props.minimumWidth : newValue;
338
+ }
339
+ });
340
+ watch(() => props.minimumWidth, newMinimum => {
341
+ if (newMinimum > localWidth.value) localWidth.value = newMinimum;
342
+ });
343
+ watch(() => props.maximumWidth, newMaximum => {
344
+ if (newMaximum < maximumWidth.value) maximumWidth.value = newMaximum;
345
+ });
346
+ watch(containerWidth, newMaximum => {
347
+ if (newMaximum < maximumWidth.value) maximumWidth.value = newMaximum;
348
+ });
349
+ watch(maximumWidth, newMaximum => {
350
+ if (newMaximum < localWidth.value) localWidth.value = newMaximum;
351
+ });
352
+ watch(localWidth, val => emit('change:width', val));
353
+ return {
354
+ root,
355
+ resizeBar,
356
+ isResizing,
357
+ isCollapsed,
358
+ localWidth,
359
+ isShowingToolbar,
360
+ sidebarStyle,
361
+ rootStyles,
362
+ sidebarStyles,
363
+ toolbarStyles,
364
+ resizeStyles,
365
+ collapsibleButtonStyles,
366
+ mainStyles,
367
+ headerStyles,
368
+ contentStyles,
369
+ footerStyles,
370
+ open,
371
+ close
372
+ };
373
+ }
374
+ });
375
+
376
+ /* script */
377
+ const __vue_script__ = script;
378
+
379
+ /* template */
380
+ var __vue_render__ = function () {
381
+ var _vm = this;
382
+ var _h = _vm.$createElement;
383
+ var _c = _vm._self._c || _h;
384
+ return _c('aside', {
385
+ ref: "root",
386
+ class: _vm.rootStyles
387
+ }, [_vm.side === 'right' && _vm.isShowingToolbar ? _c('div', {
388
+ class: _vm.toolbarStyles
389
+ }, [_vm._t("toolbar")], 2) : _vm._e(), _vm._v(" "), _c('div', {
390
+ class: _vm.sidebarStyles,
391
+ style: _vm.sidebarStyle
392
+ }, [_vm.draggable && !_vm.isCollapsed ? _c('div', {
393
+ ref: "resizeBar",
394
+ class: _vm.resizeStyles
395
+ }) : _vm._e(), _vm._v(" "), _vm.collapsible ? _c('or-sidebar-collapse-button', {
396
+ class: _vm.collapsibleButtonStyles,
397
+ attrs: {
398
+ "side": _vm.side
399
+ },
400
+ model: {
401
+ value: _vm.isCollapsed,
402
+ callback: function ($$v) {
403
+ _vm.isCollapsed = $$v;
404
+ },
405
+ expression: "isCollapsed"
406
+ }
407
+ }) : _vm._e(), _vm._v(" "), _c('div', {
408
+ directives: [{
409
+ name: "show",
410
+ rawName: "v-show",
411
+ value: !_vm.isCollapsed,
412
+ expression: "!isCollapsed"
413
+ }],
414
+ class: _vm.mainStyles
415
+ }, [_vm.$slots.header ? _c('div', {
416
+ class: _vm.headerStyles
417
+ }, [_vm._t("header")], 2) : _vm._e(), _vm._v(" "), _c('div', {
418
+ class: _vm.contentStyles
419
+ }, [_vm._t("default")], 2)]), _vm._v(" "), _vm.$slots.footer ? _c('div', {
420
+ directives: [{
421
+ name: "show",
422
+ rawName: "v-show",
423
+ value: !_vm.isCollapsed,
424
+ expression: "!isCollapsed"
425
+ }],
426
+ class: _vm.footerStyles
427
+ }, [_vm._t("footer")], 2) : _vm._e()], 1), _vm._v(" "), _vm.side === 'left' && _vm.isShowingToolbar ? _c('div', {
428
+ class: _vm.toolbarStyles
429
+ }, [_vm._t("toolbar")], 2) : _vm._e()]);
430
+ };
431
+ var __vue_staticRenderFns__ = [];
432
+
433
+ /* style */
434
+ const __vue_inject_styles__ = undefined;
435
+ /* scoped */
436
+ const __vue_scope_id__ = undefined;
437
+ /* module identifier */
438
+ const __vue_module_identifier__ = undefined;
439
+ /* functional template */
440
+ const __vue_is_functional_template__ = false;
441
+ /* style inject */
442
+
443
+ /* style inject SSR */
444
+
445
+ /* style inject shadow dom */
446
+
447
+ const __vue_component__ = /*#__PURE__*/normalizeComponent({
448
+ render: __vue_render__,
449
+ staticRenderFns: __vue_staticRenderFns__
450
+ }, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);
451
+
452
+ export { OrSidebarPlacement as O, __vue_component__ as _ };
@@ -43,7 +43,7 @@ const TagRootVariants = {
43
43
  const TagRootColors = {
44
44
  'default': [
45
45
  // Theme
46
- 'theme-preset-2-primary', 'dark:theme-preset-2-primary-dark', 'theme-foreground-default', 'dark:theme-foreground-default-dark'],
46
+ 'theme-preset-2-primary', 'dark:theme-preset-2-primary-dark'],
47
47
  'danger': [
48
48
  // Theme
49
49
  'theme-preset-2-error', 'dark:theme-preset-2-error-dark']
@@ -25,7 +25,7 @@ export { _ as OrError } from '../OrError-081130bb.js';
25
25
  export { _ as OrErrorTagV3 } from '../OrErrorTag-782dd714.js';
26
26
  export { _ as OrErrorV3 } from '../OrError-d267ee9a.js';
27
27
  export { E as EmptyStateSize, _ as OrEmptyStateV3 } from '../OrEmptyState-2481f13f.js';
28
- export { a as ExpansionPanelColor, E as ExpansionPanelVariant, _ as OrExpansionPanelV3 } from '../OrExpansionPanel-968ddc61.js';
28
+ export { a as ExpansionPanelColor, E as ExpansionPanelVariant, _ as OrExpansionPanelV3 } from '../OrExpansionPanel-a123024e.js';
29
29
  export { F as FabColor, _ as OrFabV3 } from '../OrFab-26106618.js';
30
30
  export { _ as OrFloating, a as OrFloatingHideStrategy, O as OrFloatingPlacements } from '../OrFloating-89d6582a.js';
31
31
  export { _ as OrHint } from '../OrHint-c45f1e09.js';
@@ -68,9 +68,9 @@ export { _ as OrRadioV3 } from '../OrRadio-848ce55d.js';
68
68
  export { _ as OrSearchV3 } from '../OrSearch-0f08f2f5.js';
69
69
  export { _ as OrSegmentedControlV3, S as SegmentedControlSize } from '../OrSegmentedControl-e8dce8f9.js';
70
70
  export { _ as OrSelect } from '../OrSelect-dae2b069.js';
71
- export { _ as OrSelectV3 } from '../OrSelect-ae7a13a5.js';
71
+ export { _ as OrSelectV3 } from '../OrSelect-1d705445.js';
72
72
  export { _ as OrSidebar, O as OrSidebarSide } from '../OrSidebar-7d6125bb.js';
73
- export { O as OrSidebarPlacement, _ as OrSidebarV3 } from '../OrSidebar-fabc7bc9.js';
73
+ export { O as OrSidebarPlacement, _ as OrSidebarV3 } from '../OrSidebar-1e02702f.js';
74
74
  export { _ as OrSkeletonCircle, a as OrSkeletonRect, b as OrSkeletonText, O as OrSkeletonTextSizes } from '../OrSkeletonText-cc94bdc9.js';
75
75
  export { _ as OrSkeletonCircleV3, a as OrSkeletonRectV3, b as OrSkeletonTextV3 } from '../OrSkeletonText-950be6a2.js';
76
76
  export { _ as OrSlider } from '../OrSlider-f7b9c7c2.js';
@@ -84,7 +84,7 @@ export { _ as OrTabV3 } from '../OrTab-702e7335.js';
84
84
  export { _ as OrTabs } from '../OrTabs-e1c13d41.js';
85
85
  export { _ as OrTabsV3, T as TabsVariant } from '../OrTabs-71bd3fd2.js';
86
86
  export { _ as OrTag } from '../OrTag-c1fa6901.js';
87
- export { _ as OrTagV3, a as TagColor, T as TagVariant } from '../OrTag-5c404031.js';
87
+ export { _ as OrTagV3, a as TagColor, T as TagVariant } from '../OrTag-52e4cc94.js';
88
88
  export { _ as OrTeleport } from '../OrTeleportVue2-8ef4ceca.js';
89
89
  export { _ as OrTeleportV3 } from '../OrTeleport.vue2-fb92f29f.js';
90
90
  export { _ as OrTextV3 } from '../OrText-ba5a2b6c.js';
@@ -6,11 +6,17 @@ declare const _default: import("vue").ComponentOptions<import("vue").default, im
6
6
  headerStyles: import("@vue/composition-api").ComputedRef<string[]>;
7
7
  addonStyles: import("@vue/composition-api").ComputedRef<string[]>;
8
8
  expanded: import("@vue/composition-api").Ref<boolean>;
9
+ open: () => void;
10
+ close: () => void;
9
11
  }> & import("@vue/composition-api").Data, {}, {}, {
10
12
  label: {
11
13
  type: StringConstructor;
12
14
  required: true;
13
15
  };
16
+ isOpen: {
17
+ type: PropType<boolean>;
18
+ default: boolean;
19
+ };
14
20
  variant: {
15
21
  type: PropType<ExpansionPanelVariant>;
16
22
  default: ExpansionPanelVariant;
@@ -28,6 +34,10 @@ declare const _default: import("vue").ComponentOptions<import("vue").default, im
28
34
  type: StringConstructor;
29
35
  required: true;
30
36
  };
37
+ isOpen: {
38
+ type: PropType<boolean>;
39
+ default: boolean;
40
+ };
31
41
  variant: {
32
42
  type: PropType<ExpansionPanelVariant>;
33
43
  default: ExpansionPanelVariant;
@@ -42,21 +52,30 @@ declare const _default: import("vue").ComponentOptions<import("vue").default, im
42
52
  };
43
53
  }>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
44
54
  label: string;
55
+ isOpen: boolean;
45
56
  variant: ExpansionPanelVariant;
46
57
  color: ExpansionPanelColor;
47
58
  disabled: boolean;
48
- } & {}, import("@vue/composition-api").ShallowUnwrapRef<{
59
+ } & {} & {
60
+ [x: string & `on${string}`]: ((...args: any[]) => any) | undefined;
61
+ }, import("@vue/composition-api").ShallowUnwrapRef<{
49
62
  root: import("@vue/composition-api").Ref<HTMLElement | undefined>;
50
63
  rootStyles: import("@vue/composition-api").ComputedRef<(string | undefined)[]>;
51
64
  headerStyles: import("@vue/composition-api").ComputedRef<string[]>;
52
65
  addonStyles: import("@vue/composition-api").ComputedRef<string[]>;
53
66
  expanded: import("@vue/composition-api").Ref<boolean>;
54
- }>, import("@vue/composition-api").Data, {}, {}, {}, {}, {}, {
67
+ open: () => void;
68
+ close: () => void;
69
+ }>, import("@vue/composition-api").Data, {}, {}, {}, {}, string[], {
55
70
  label: string;
71
+ isOpen: boolean;
56
72
  variant: ExpansionPanelVariant;
57
73
  color: ExpansionPanelColor;
58
74
  disabled: boolean;
59
- } & {}, {
75
+ } & {} & {
76
+ [x: string & `on${string}`]: ((...args: any[]) => any) | undefined;
77
+ }, {
78
+ isOpen: boolean;
60
79
  variant: ExpansionPanelVariant;
61
80
  color: ExpansionPanelColor;
62
81
  disabled: boolean;
@@ -1,4 +1,4 @@
1
- export { a as ExpansionPanelColor, E as ExpansionPanelVariant, _ as OrExpansionPanelV3 } from '../../OrExpansionPanel-968ddc61.js';
1
+ export { a as ExpansionPanelColor, E as ExpansionPanelVariant, _ as OrExpansionPanelV3 } from '../../OrExpansionPanel-a123024e.js';
2
2
  import 'vue-demi';
3
3
  import '../../useClassAttribute-47fdb016.js';
4
4
  import '@vueuse/core';
@@ -1,4 +1,4 @@
1
- export { _ as OrSelectV3 } from '../../OrSelect-ae7a13a5.js';
1
+ export { _ as OrSelectV3 } from '../../OrSelect-1d705445.js';
2
2
  export { a as SelectSize } from '../../OrInputBox-4d5a318d.js';
3
3
  import 'vue-demi';
4
4
  import '../../dropdown-open-0d314aa4.js';
@@ -10,7 +10,7 @@ import '../../OrLabel-2a9f1477.js';
10
10
  import '../../normalize-component-6e8e3d80.js';
11
11
  import '../../browser-82dea9ed.js';
12
12
  import '../../OrError-d267ee9a.js';
13
- import '../../OrExpansionPanel-968ddc61.js';
13
+ import '../../OrExpansionPanel-a123024e.js';
14
14
  import '../../OrIcon-5e394c62.js';
15
15
  import '../../OrHint-42dc9ebb.js';
16
16
  import '../../OrInput-ada3a970.js';
@@ -25,4 +25,4 @@ import '../../OrOverlay-18ba2dc6.js';
25
25
  import '../../OrTeleport.vue2-fb92f29f.js';
26
26
  import 'portal-vue';
27
27
  import '../../OrMenuItem-c7f28480.js';
28
- import '../../OrTag-5c404031.js';
28
+ import '../../OrTag-52e4cc94.js';