@onereach/ui-components 25.1.4 → 25.2.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.
- package/dist/esm/{OrResizeablePanel-CKWcCNDY.mjs → OrResizeablePanel-CvoX4aEB.mjs} +40 -39
- package/dist/esm/OrResizeablePanel-CvoX4aEB.mjs.map +1 -0
- package/dist/esm/components/index.mjs +2 -2
- package/dist/esm/components/or-resizeable-panel-v3/index.mjs +1 -1
- package/dist/esm/components/or-sidebar-v3/index.mjs +1 -1
- package/dist/esm/index.mjs +2 -2
- package/dist/esm/{props-r8F44lpX.mjs → props-CsYKLx5P.mjs} +2 -2
- package/dist/esm/{props-r8F44lpX.mjs.map → props-CsYKLx5P.mjs.map} +1 -1
- package/package.json +4 -4
- package/dist/esm/OrResizeablePanel-CKWcCNDY.mjs.map +0 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { usePopoverState as L } from "@onereach/ui-components-common/hooks";
|
|
2
|
+
import { O } from "./OrIconButton-BajZRp1k.mjs";
|
|
3
|
+
import { useDraggable as _ } from "@vueuse/core";
|
|
4
|
+
import { defineComponent as $, ref as b, computed as l, toRef as N, watch as W, resolveComponent as D, openBlock as m, createElementBlock as d, normalizeClass as s, normalizeStyle as I, renderSlot as k, createElementVNode as j, createVNode as M, createCommentVNode as w } from "vue";
|
|
5
5
|
import { _ as E } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
|
|
6
|
-
var
|
|
6
|
+
var i = /* @__PURE__ */ ((e) => (e.L = "l", e.M = "m", e.S = "s", e.None = "none", e))(i || {}), t = /* @__PURE__ */ ((e) => (e.Top = "top", e.Bottom = "bottom", e.Left = "left", e.Right = "right", e))(t || {});
|
|
7
7
|
const V = [
|
|
8
8
|
// Layout
|
|
9
9
|
"shrink-0",
|
|
@@ -37,22 +37,22 @@ const V = [
|
|
|
37
37
|
// Overflow
|
|
38
38
|
"overflow-auto"
|
|
39
39
|
], F = {
|
|
40
|
-
[
|
|
40
|
+
[i.L]: [
|
|
41
41
|
// Spacing
|
|
42
42
|
"px-lg",
|
|
43
43
|
"py-lg"
|
|
44
44
|
],
|
|
45
|
-
[
|
|
45
|
+
[i.M]: [
|
|
46
46
|
// Spacing
|
|
47
47
|
"px-md",
|
|
48
48
|
"py-md"
|
|
49
49
|
],
|
|
50
|
-
[
|
|
50
|
+
[i.S]: [
|
|
51
51
|
// Spacing
|
|
52
52
|
"px-sm",
|
|
53
53
|
"py-sm"
|
|
54
54
|
],
|
|
55
|
-
[
|
|
55
|
+
[i.None]: []
|
|
56
56
|
}, G = [], H = {
|
|
57
57
|
[t.Top]: [
|
|
58
58
|
// Box
|
|
@@ -204,10 +204,10 @@ const V = [
|
|
|
204
204
|
"!border-r-0",
|
|
205
205
|
"!border-y-0"
|
|
206
206
|
]
|
|
207
|
-
}, Z =
|
|
207
|
+
}, Z = $({
|
|
208
208
|
name: "OrResizeablePanel",
|
|
209
209
|
components: {
|
|
210
|
-
OrIconButton:
|
|
210
|
+
OrIconButton: O
|
|
211
211
|
},
|
|
212
212
|
props: {
|
|
213
213
|
isOpen: {
|
|
@@ -228,7 +228,7 @@ const V = [
|
|
|
228
228
|
},
|
|
229
229
|
padding: {
|
|
230
230
|
type: String,
|
|
231
|
-
default: () =>
|
|
231
|
+
default: () => i.M
|
|
232
232
|
},
|
|
233
233
|
placement: {
|
|
234
234
|
type: String,
|
|
@@ -252,32 +252,33 @@ const V = [
|
|
|
252
252
|
expose: [
|
|
253
253
|
"root",
|
|
254
254
|
"state",
|
|
255
|
+
"isDragging",
|
|
255
256
|
"open",
|
|
256
257
|
"close",
|
|
257
258
|
"toggle"
|
|
258
259
|
],
|
|
259
|
-
setup(e,
|
|
260
|
-
const y = b(), f = b(), p =
|
|
260
|
+
setup(e, c) {
|
|
261
|
+
const y = b(), f = b(), p = l(() => [
|
|
261
262
|
"or-resizeable-panel-v3",
|
|
262
263
|
...V,
|
|
263
264
|
...q[e.placement]
|
|
264
|
-
]), g =
|
|
265
|
+
]), g = l(() => [
|
|
265
266
|
...A,
|
|
266
267
|
...F[e.padding]
|
|
267
|
-
]), h =
|
|
268
|
+
]), h = l(() => [
|
|
268
269
|
...G,
|
|
269
270
|
...H[e.placement]
|
|
270
|
-
]), v =
|
|
271
|
+
]), v = l(() => [
|
|
271
272
|
...J,
|
|
272
273
|
...K[e.placement],
|
|
273
274
|
...!e.resizeable || e.collapsible && u.value === "closed" ? ["interactivity-none"] : []
|
|
274
|
-
]), z =
|
|
275
|
+
]), z = l(() => [
|
|
275
276
|
...Q,
|
|
276
277
|
...U[e.placement]
|
|
277
|
-
]), B =
|
|
278
|
+
]), B = l(() => [
|
|
278
279
|
...X,
|
|
279
280
|
...Y[e.placement]
|
|
280
|
-
]), { state: u, open: S, close: R, toggle: C } =
|
|
281
|
+
]), { state: u, open: S, close: R, toggle: C } = L(N(e, "isOpen"), c.emit), P = l(() => {
|
|
281
282
|
if (u.value === "open")
|
|
282
283
|
switch (e.placement) {
|
|
283
284
|
case t.Top:
|
|
@@ -301,19 +302,19 @@ const V = [
|
|
|
301
302
|
return "keyboard_arrow_left";
|
|
302
303
|
}
|
|
303
304
|
return "menu";
|
|
304
|
-
}), x =
|
|
305
|
+
}), x = l(() => {
|
|
305
306
|
switch (e.placement) {
|
|
306
307
|
case t.Top:
|
|
307
308
|
case t.Bottom:
|
|
308
309
|
return "height";
|
|
309
310
|
}
|
|
310
311
|
return "width";
|
|
311
|
-
}),
|
|
312
|
-
|
|
313
|
-
|
|
312
|
+
}), n = b(e.width);
|
|
313
|
+
W(() => e.width, (a) => {
|
|
314
|
+
n.value = a;
|
|
314
315
|
});
|
|
315
316
|
let o = 0;
|
|
316
|
-
const { isDragging: T } =
|
|
317
|
+
const { isDragging: T } = _(f, {
|
|
317
318
|
onStart: (a, r) => {
|
|
318
319
|
if (e.resizeable) {
|
|
319
320
|
switch (e.placement) {
|
|
@@ -334,19 +335,19 @@ const V = [
|
|
|
334
335
|
let r = 0;
|
|
335
336
|
switch (e.placement) {
|
|
336
337
|
case t.Top:
|
|
337
|
-
r =
|
|
338
|
+
r = n.value + (a.y - o), o = a.y;
|
|
338
339
|
break;
|
|
339
340
|
case t.Bottom:
|
|
340
|
-
r =
|
|
341
|
+
r = n.value + (o - a.y), o = a.y;
|
|
341
342
|
break;
|
|
342
343
|
case t.Left:
|
|
343
|
-
r =
|
|
344
|
+
r = n.value + (a.x - o), o = a.x;
|
|
344
345
|
break;
|
|
345
346
|
case t.Right:
|
|
346
|
-
r =
|
|
347
|
+
r = n.value + (o - a.x), o = a.x;
|
|
347
348
|
break;
|
|
348
349
|
}
|
|
349
|
-
r < e.minWidth && (r = e.minWidth), r > e.maxWidth && (r = e.maxWidth), r !==
|
|
350
|
+
r < e.minWidth && (r = e.minWidth), r > e.maxWidth && (r = e.maxWidth), r !== n.value && c.emit("resize", n.value = r);
|
|
350
351
|
}
|
|
351
352
|
},
|
|
352
353
|
onEnd: () => {
|
|
@@ -368,17 +369,17 @@ const V = [
|
|
|
368
369
|
toggle: C,
|
|
369
370
|
collapseButtonIcon: P,
|
|
370
371
|
currentDirection: x,
|
|
371
|
-
currentSize:
|
|
372
|
+
currentSize: n,
|
|
372
373
|
isDragging: T
|
|
373
374
|
};
|
|
374
375
|
}
|
|
375
376
|
}), ee = ["activated"];
|
|
376
|
-
function te(e,
|
|
377
|
-
const h =
|
|
377
|
+
function te(e, c, y, f, p, g) {
|
|
378
|
+
const h = D("OrIconButton");
|
|
378
379
|
return m(), d("div", {
|
|
379
380
|
ref: "root",
|
|
380
381
|
class: s(e.rootStyles),
|
|
381
|
-
style:
|
|
382
|
+
style: I({ [e.currentDirection]: !e.collapsible || e.state === "open" ? `${e.currentSize}px` : "auto" })
|
|
382
383
|
}, [
|
|
383
384
|
!e.collapsible || e.state === "open" ? (m(), d("div", {
|
|
384
385
|
key: 0,
|
|
@@ -389,7 +390,7 @@ function te(e, i, y, f, p, g) {
|
|
|
389
390
|
key: 1,
|
|
390
391
|
class: s(e.contentPlaceholderStyles)
|
|
391
392
|
}, null, 2)),
|
|
392
|
-
|
|
393
|
+
j("div", {
|
|
393
394
|
ref: "resizeBar",
|
|
394
395
|
class: s(e.resizeBarStyles),
|
|
395
396
|
activated: e.isDragging
|
|
@@ -398,12 +399,12 @@ function te(e, i, y, f, p, g) {
|
|
|
398
399
|
key: 0,
|
|
399
400
|
class: s(e.collapseButtonContainerStyles)
|
|
400
401
|
}, [
|
|
401
|
-
|
|
402
|
+
M(h, {
|
|
402
403
|
"additional-styles": ["p-xs"],
|
|
403
404
|
icon: e.collapseButtonIcon,
|
|
404
405
|
color: "primary",
|
|
405
406
|
size: "m",
|
|
406
|
-
onClick:
|
|
407
|
+
onClick: c[0] || (c[0] = (v) => e.toggle())
|
|
407
408
|
}, null, 8, ["icon"])
|
|
408
409
|
], 2)) : w("", !0)
|
|
409
410
|
], 10, ee),
|
|
@@ -418,7 +419,7 @@ function te(e, i, y, f, p, g) {
|
|
|
418
419
|
const se = /* @__PURE__ */ E(Z, [["render", te]]);
|
|
419
420
|
export {
|
|
420
421
|
se as O,
|
|
421
|
-
|
|
422
|
+
i as R,
|
|
422
423
|
t as a
|
|
423
424
|
};
|
|
424
|
-
//# sourceMappingURL=OrResizeablePanel-
|
|
425
|
+
//# sourceMappingURL=OrResizeablePanel-CvoX4aEB.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrResizeablePanel-CvoX4aEB.mjs","sources":["../../../components/or-resizeable-panel-v3/src/props.ts","../../../components/or-resizeable-panel-v3/src/styles.ts","../../../components/or-resizeable-panel-v3/src/OrResizeablePanel.vue"],"sourcesContent":["export enum ResizeablePanelPadding {\n L = 'l',\n M = 'm',\n S = 's',\n None = 'none',\n}\n\nexport enum ResizeablePanelPlacement {\n Top = 'top',\n Bottom = 'bottom',\n Left = 'left',\n Right = 'right',\n}\n","import { ResizeablePanelPadding, ResizeablePanelPlacement } from './props';\n\nexport const ResizeablePanel: string[] = [\n // Layout\n 'shrink-0',\n\n // Theme\n 'theme-background-default',\n 'dark:theme-background-default-dark',\n];\n\nexport const ResizeablePanelPlacements: Record<ResizeablePanelPlacement, string[]> = {\n [ResizeablePanelPlacement.Top]: [\n // Layout\n 'layout-column',\n ],\n\n [ResizeablePanelPlacement.Bottom]: [\n // Layout\n 'layout-column-reverse',\n ],\n\n [ResizeablePanelPlacement.Left]: [\n // Layout\n 'layout-row !items-stretch',\n\n // Box\n 'h-full min-h-0',\n ],\n\n [ResizeablePanelPlacement.Right]: [\n // Layout\n 'layout-row-reverse !items-stretch',\n\n // Box\n 'h-full min-h-0',\n ],\n};\n\nexport const ResizeablePanelContent: string[] = [\n // Layout\n 'layout-column grow',\n\n // Overflow\n 'overflow-auto',\n];\n\nexport const ResizeablePanelContentPaddings: Record<ResizeablePanelPadding, string[]> = {\n [ResizeablePanelPadding.L]: [\n // Spacing\n 'px-lg',\n 'py-lg',\n ],\n\n [ResizeablePanelPadding.M]: [\n // Spacing\n 'px-md',\n 'py-md',\n ],\n\n [ResizeablePanelPadding.S]: [\n // Spacing\n 'px-sm',\n 'py-sm',\n ],\n\n [ResizeablePanelPadding.None]: [],\n};\n\nexport const ResizeablePanelContentPlaceholder: string[] = [];\n\nexport const ResizeablePanelContentPlaceholderPlacements: Record<ResizeablePanelPlacement, string[]> = {\n [ResizeablePanelPlacement.Top]: [\n // Box\n 'h-[calc(theme(spacing.md)+theme(spacing.sm))]',\n ],\n\n [ResizeablePanelPlacement.Bottom]: [\n // Box\n 'h-[calc(theme(spacing.md)+theme(spacing.sm))]',\n ],\n\n [ResizeablePanelPlacement.Left]: [\n // Box\n 'w-[calc(theme(spacing.md)+theme(spacing.sm))]',\n ],\n\n [ResizeablePanelPlacement.Right]: [\n // Box\n 'w-[calc(theme(spacing.md)+theme(spacing.sm))]',\n ],\n};\n\nexport const ResizeablePanelResizeBar: string[] = [\n // Position\n 'relative',\n\n // Layout\n 'shrink-0',\n\n // Layout (after)\n 'after:block',\n\n // Theme (after)\n 'after:border-outline-variant',\n 'after:dark:border-outline-variant-dark',\n\n // Theme (after, hover)\n 'after:hover:border-primary-hover',\n 'after:dark:hover:border-primary-hover-dark',\n\n // Theme (after, activated)\n 'after:activated:border-primary-hover',\n 'after:dark:activated:border-primary-hover-dark',\n];\n\nexport const ResizeablePanelResizeBarPlacements: Record<ResizeablePanelPlacement, string[]> = {\n [ResizeablePanelPlacement.Top]: [\n // Layout\n 'flex flex-col justify-center',\n\n // Interactivity\n 'interactivity-resize-row',\n\n // Spacing\n '-my-[calc(theme(spacing.md)/2)]',\n 'py-[calc(theme(spacing.md)/2)]',\n\n // Theme (after)\n 'after:border-b-1',\n ],\n\n [ResizeablePanelPlacement.Bottom]: [\n // Layout\n 'flex flex-col justify-center',\n\n // Interactivity\n 'interactivity-resize-row',\n\n // Spacing\n '-my-[calc(theme(spacing.md)/2)]',\n 'py-[calc(theme(spacing.md)/2)]',\n\n // Theme (after)\n 'after:border-t-1',\n ],\n\n [ResizeablePanelPlacement.Left]: [\n // Layout\n 'flex flex-row justify-center',\n\n // Interactivity\n 'interactivity-resize-column',\n\n // Spacing\n '-mx-[calc(theme(spacing.md)/2)]',\n 'px-[calc(theme(spacing.md)/2)]',\n\n // Theme (after)\n 'after:border-r-1',\n ],\n\n [ResizeablePanelPlacement.Right]: [\n // Layout\n 'flex flex-row justify-center',\n\n // Interactivity\n 'interactivity-resize-column',\n\n // Spacing\n '-mx-[calc(theme(spacing.md)/2)]',\n 'px-[calc(theme(spacing.md)/2)]',\n\n // Theme (after)\n 'after:border-l-1',\n ],\n};\n\nexport const ResizeablePanelCollapseButtonContainer: string[] = [\n // Position\n 'absolute',\n\n // Shape\n 'rounded-full',\n\n // Box\n 'w-fit',\n 'h-fit',\n\n // Typography\n 'leading-[0]',\n\n // Theme\n 'theme-background-default',\n 'dark:theme-background-default-dark',\n\n 'theme-border-outline-variant border-1',\n 'dark:theme-border-outline-variant-dark',\n];\n\nexport const ResizeablePanelCollapseButtonContainerPlacements: Record<ResizeablePanelPlacement, string[]> = {\n [ResizeablePanelPlacement.Top]: [\n // Position\n 'left-md',\n ],\n\n [ResizeablePanelPlacement.Bottom]: [\n // Position\n 'left-md',\n ],\n\n [ResizeablePanelPlacement.Left]: [\n // Position\n 'top-md',\n ],\n\n [ResizeablePanelPlacement.Right]: [\n // Position\n 'top-md',\n ],\n};\n\nexport const ResizeablePanelToolbar: string[] = [\n // Layout\n 'shrink-0',\n\n // Overflow\n 'overflow-auto',\n\n // Spacing\n 'px-md',\n 'py-md',\n\n 'gap-md',\n\n // Theme\n 'theme-border-outline-variant border-1',\n 'dark:theme-border-outline-variant-dark',\n];\n\nexport const ResizeablePanelToolbarPlacements: Record<ResizeablePanelPlacement, string[]> = {\n [ResizeablePanelPlacement.Top]: [\n // Layout\n 'layout-row',\n\n // Theme\n '!border-t-0',\n '!border-x-0',\n ],\n\n [ResizeablePanelPlacement.Bottom]: [\n // Layout\n 'layout-row',\n\n // Theme\n '!border-b-0',\n '!border-x-0',\n ],\n\n [ResizeablePanelPlacement.Left]: [\n // Layout\n 'layout-column',\n\n // Theme\n '!border-l-0',\n '!border-y-0',\n ],\n\n [ResizeablePanelPlacement.Right]: [\n // Layout\n 'layout-column',\n\n // Theme\n '!border-r-0',\n '!border-y-0',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :style=\"{ [currentDirection]: !collapsible || state === 'open' ? `${currentSize}px` : 'auto' }\"\n >\n <template v-if=\"!collapsible || state === 'open'\">\n <div :class=\"contentStyles\">\n <slot />\n </div>\n </template>\n\n <template v-else>\n <div :class=\"contentPlaceholderStyles\" />\n </template>\n\n <div\n :ref=\"'resizeBar'\"\n :class=\"resizeBarStyles\"\n :activated=\"isDragging\"\n >\n <template v-if=\"collapsible\">\n <div :class=\"collapseButtonContainerStyles\">\n <OrIconButton\n :additional-styles=\"['p-xs']\"\n :icon=\"collapseButtonIcon\"\n :color=\"'primary'\"\n :size=\"'m'\"\n @click=\"toggle()\"\n />\n </div>\n </template>\n </div>\n\n\n <template v-if=\"$slots.toolbar\">\n <div :class=\"toolbarStyles\">\n <slot name=\"toolbar\" />\n </div>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { usePopoverState } from '@onereach/ui-components-common/hooks';\nimport { OrIconButtonV3 as OrIconButton } from '@onereach/ui-components.or-icon-button-v3';\nimport { useDraggable } from '@vueuse/core';\nimport { PropType, computed, defineComponent, ref, toRef, watch } from 'vue';\n\nimport { ResizeablePanelPadding, ResizeablePanelPlacement } from './props';\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrResizeablePanel',\n\n components: {\n OrIconButton,\n },\n\n props: {\n isOpen: {\n type: Boolean,\n default: true,\n },\n\n width: {\n type: Number,\n default: 320,\n },\n\n minWidth: {\n type: Number,\n default: 256,\n },\n\n maxWidth: {\n type: Number,\n default: 384,\n },\n\n padding: {\n type: String as PropType<`${ResizeablePanelPadding}`>,\n default: () => ResizeablePanelPadding.M,\n },\n\n placement: {\n type: String as PropType<`${ResizeablePanelPlacement}`>,\n default: () => ResizeablePanelPlacement.Right,\n },\n\n resizeable: {\n type: Boolean,\n default: true,\n },\n\n collapsible: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:state',\n\n 'open',\n 'close',\n\n 'resize',\n ],\n\n expose: [\n 'root',\n\n 'state',\n 'isDragging',\n\n 'open',\n 'close',\n 'toggle',\n ],\n\n setup(props, context) {\n // Refs\n const root = ref<HTMLElement>();\n const resizeBar = ref<HTMLElement>();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-resizeable-panel-v3',\n ...Styles.ResizeablePanel,\n ...Styles.ResizeablePanelPlacements[props.placement],\n ]);\n\n const contentStyles = computed(() => [\n ...Styles.ResizeablePanelContent,\n ...Styles.ResizeablePanelContentPaddings[props.padding],\n ]);\n\n const contentPlaceholderStyles = computed(() => [\n ...Styles.ResizeablePanelContentPlaceholder,\n ...Styles.ResizeablePanelContentPlaceholderPlacements[props.placement],\n ]);\n\n const resizeBarStyles = computed(() => [\n ...Styles.ResizeablePanelResizeBar,\n ...Styles.ResizeablePanelResizeBarPlacements[props.placement],\n ...!props.resizeable || props.collapsible && state.value === 'closed' ? ['interactivity-none'] : [],\n ]);\n\n const collapseButtonContainerStyles = computed(() => [\n ...Styles.ResizeablePanelCollapseButtonContainer,\n ...Styles.ResizeablePanelCollapseButtonContainerPlacements[props.placement],\n ]);\n\n const toolbarStyles = computed(() => [\n ...Styles.ResizeablePanelToolbar,\n ...Styles.ResizeablePanelToolbarPlacements[props.placement],\n ]);\n\n // State\n const { state, open, close, toggle } = usePopoverState(toRef(props, 'isOpen'), context.emit);\n\n const collapseButtonIcon = computed(() => {\n if (state.value === 'open') {\n switch (props.placement) {\n case ResizeablePanelPlacement.Top:\n return 'keyboard_arrow_up';\n\n case ResizeablePanelPlacement.Bottom:\n return 'keyboard_arrow_down';\n\n case ResizeablePanelPlacement.Left:\n return 'keyboard_arrow_left';\n\n case ResizeablePanelPlacement.Right:\n return 'keyboard_arrow_right';\n }\n }\n\n if (state.value === 'closed') {\n switch (props.placement) {\n case ResizeablePanelPlacement.Top:\n return 'keyboard_arrow_down';\n\n case ResizeablePanelPlacement.Bottom:\n return 'keyboard_arrow_up';\n\n case ResizeablePanelPlacement.Left:\n return 'keyboard_arrow_right';\n\n case ResizeablePanelPlacement.Right:\n return 'keyboard_arrow_left';\n }\n }\n\n return 'menu';\n });\n\n const currentDirection = computed(() => {\n switch (props.placement) {\n case ResizeablePanelPlacement.Top:\n case ResizeablePanelPlacement.Bottom:\n return 'height';\n }\n\n return 'width';\n });\n\n const currentSize = ref(props.width);\n\n watch(() => props.width, (value) => {\n currentSize.value = value;\n });\n\n // Effects\n // #region Resize\n let referencePoint = 0;\n\n const { isDragging } = useDraggable(resizeBar, {\n onStart: (_position, event) => {\n if (props.resizeable) {\n switch (props.placement) {\n case ResizeablePanelPlacement.Top:\n case ResizeablePanelPlacement.Bottom:\n referencePoint = event.y;\n break;\n\n case ResizeablePanelPlacement.Left:\n case ResizeablePanelPlacement.Right:\n referencePoint = event.x;\n break;\n }\n\n document.body.style.userSelect = 'none';\n }\n },\n\n onMove: (position) => {\n if (props.resizeable) {\n let nextWidth = 0;\n\n switch (props.placement) {\n case ResizeablePanelPlacement.Top:\n nextWidth = currentSize.value + (position.y - referencePoint);\n referencePoint = position.y;\n break;\n\n case ResizeablePanelPlacement.Bottom:\n nextWidth = currentSize.value + (referencePoint - position.y);\n referencePoint = position.y;\n break;\n\n case ResizeablePanelPlacement.Left:\n nextWidth = currentSize.value + (position.x - referencePoint);\n referencePoint = position.x;\n break;\n\n case ResizeablePanelPlacement.Right:\n nextWidth = currentSize.value + (referencePoint - position.x);\n referencePoint = position.x;\n break;\n }\n\n if (nextWidth < props.minWidth) {\n nextWidth = props.minWidth;\n }\n\n if (nextWidth > props.maxWidth) {\n nextWidth = props.maxWidth;\n }\n\n if (nextWidth !== currentSize.value) {\n context.emit('resize', currentSize.value = nextWidth);\n }\n }\n },\n\n onEnd: () => {\n if (props.resizeable) {\n document.body.style.userSelect = '';\n }\n },\n });\n // #endregion\n\n return {\n root,\n resizeBar,\n\n rootStyles,\n contentStyles,\n contentPlaceholderStyles,\n resizeBarStyles,\n collapseButtonContainerStyles,\n toolbarStyles,\n\n state,\n open,\n close,\n toggle,\n\n collapseButtonIcon,\n currentDirection,\n currentSize,\n\n isDragging,\n };\n },\n});\n</script>\n"],"names":["ResizeablePanelPadding","ResizeablePanelPlacement","ResizeablePanel","ResizeablePanelPlacements","ResizeablePanelContent","ResizeablePanelContentPaddings","ResizeablePanelContentPlaceholder","ResizeablePanelContentPlaceholderPlacements","ResizeablePanelResizeBar","ResizeablePanelResizeBarPlacements","ResizeablePanelCollapseButtonContainer","ResizeablePanelCollapseButtonContainerPlacements","ResizeablePanelToolbar","ResizeablePanelToolbarPlacements","_sfc_main","defineComponent","OrIconButton","props","context","root","ref","resizeBar","rootStyles","computed","Styles.ResizeablePanel","Styles.ResizeablePanelPlacements","contentStyles","Styles.ResizeablePanelContent","Styles.ResizeablePanelContentPaddings","contentPlaceholderStyles","Styles.ResizeablePanelContentPlaceholder","Styles.ResizeablePanelContentPlaceholderPlacements","resizeBarStyles","Styles.ResizeablePanelResizeBar","Styles.ResizeablePanelResizeBarPlacements","state","collapseButtonContainerStyles","Styles.ResizeablePanelCollapseButtonContainer","Styles.ResizeablePanelCollapseButtonContainerPlacements","toolbarStyles","Styles.ResizeablePanelToolbar","Styles.ResizeablePanelToolbarPlacements","open","close","toggle","usePopoverState","toRef","collapseButtonIcon","currentDirection","currentSize","watch","value","referencePoint","isDragging","useDraggable","_position","event","position","nextWidth","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_normalizeStyle","_createElementVNode","_component_OrIconButton","_createCommentVNode","_hoisted_1"],"mappings":"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"}
|
|
@@ -65,13 +65,13 @@ import { O as Ko } from "../OrRadioGroup-ANee99e8.mjs";
|
|
|
65
65
|
import { O as Xo } from "../OrRadio-BU9YDLzB.mjs";
|
|
66
66
|
import { O as Zo } from "../OrRangeSlider-Bw19Cx4f.mjs";
|
|
67
67
|
import { O as $o, R as re } from "../OrRating-BhuvRBRy.mjs";
|
|
68
|
-
import { O as oe, R as ee, a as te } from "../OrResizeablePanel-
|
|
68
|
+
import { O as oe, R as ee, a as te } from "../OrResizeablePanel-CvoX4aEB.mjs";
|
|
69
69
|
import { F as Oe, O as ie, R as pe, a as me } from "../OrRichTextEditor-BYEdE945.mjs";
|
|
70
70
|
import { O as xe, R as Ve } from "../OrRichTooltip-CcQpjWtS.mjs";
|
|
71
71
|
import { O as le } from "../OrSearch-B3zonpwn.mjs";
|
|
72
72
|
import { O as de, S as ce } from "../OrSegmentedControl-D5QoWe-N.mjs";
|
|
73
73
|
import { O as Ce } from "../OrSelect-CDXq3Mvl.mjs";
|
|
74
|
-
import { O as ue, S as be } from "../props-
|
|
74
|
+
import { O as ue, S as be } from "../props-CsYKLx5P.mjs";
|
|
75
75
|
import { b as Ie, O as ge, a as ke } from "../OrSkeletonArea-fMhHFyo1.mjs";
|
|
76
76
|
import { O as Re } from "../OrSkeletonArea.vue_vue_type_script_lang-jgRhbZ0X.mjs";
|
|
77
77
|
import { O as he } from "../OrSlider-XimfcpRY.mjs";
|
package/dist/esm/index.mjs
CHANGED
|
@@ -65,13 +65,13 @@ import { O as Ko } from "./OrRadioGroup-ANee99e8.mjs";
|
|
|
65
65
|
import { O as Xo } from "./OrRadio-BU9YDLzB.mjs";
|
|
66
66
|
import { O as Zo } from "./OrRangeSlider-Bw19Cx4f.mjs";
|
|
67
67
|
import { O as $o, R as re } from "./OrRating-BhuvRBRy.mjs";
|
|
68
|
-
import { O as oe, R as ee, a as te } from "./OrResizeablePanel-
|
|
68
|
+
import { O as oe, R as ee, a as te } from "./OrResizeablePanel-CvoX4aEB.mjs";
|
|
69
69
|
import { F as Oe, O as ie, R as pe, a as me } from "./OrRichTextEditor-BYEdE945.mjs";
|
|
70
70
|
import { O as xe, R as Ve } from "./OrRichTooltip-CcQpjWtS.mjs";
|
|
71
71
|
import { O as le } from "./OrSearch-B3zonpwn.mjs";
|
|
72
72
|
import { O as de, S as ce } from "./OrSegmentedControl-D5QoWe-N.mjs";
|
|
73
73
|
import { O as Ce } from "./OrSelect-CDXq3Mvl.mjs";
|
|
74
|
-
import { O as ue, S as be } from "./props-
|
|
74
|
+
import { O as ue, S as be } from "./props-CsYKLx5P.mjs";
|
|
75
75
|
import { b as Ie, O as ge, a as ke } from "./OrSkeletonArea-fMhHFyo1.mjs";
|
|
76
76
|
import { O as Re } from "./OrSkeletonArea.vue_vue_type_script_lang-jgRhbZ0X.mjs";
|
|
77
77
|
import { O as he } from "./OrSlider-XimfcpRY.mjs";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as v, ref as w, computed as s, toRef as z, resolveComponent as $, openBlock as d, createBlock as k, createSlots as O, withCtx as u, createElementVNode as y, normalizeClass as r, createElementBlock as b, renderSlot as a, createCommentVNode as g } from "vue";
|
|
2
2
|
import { usePopoverState as N } from "@onereach/ui-components-common/hooks";
|
|
3
|
-
import { R as o, O as P } from "./OrResizeablePanel-
|
|
3
|
+
import { R as o, O as P } from "./OrResizeablePanel-CvoX4aEB.mjs";
|
|
4
4
|
import { _ as R } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
|
|
5
5
|
const C = [
|
|
6
6
|
// Layout
|
|
@@ -212,4 +212,4 @@ export {
|
|
|
212
212
|
G as O,
|
|
213
213
|
U as S
|
|
214
214
|
};
|
|
215
|
-
//# sourceMappingURL=props-
|
|
215
|
+
//# sourceMappingURL=props-CsYKLx5P.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"props-
|
|
1
|
+
{"version":3,"file":"props-CsYKLx5P.mjs","sources":["../../../components/or-sidebar-v3/src/styles.ts","../../../components/or-sidebar-v3/src/OrSidebar.vue","../../../components/or-sidebar-v3/src/props.ts"],"sourcesContent":["import { ResizeablePanelPadding } from '@onereach/ui-components.or-resizeable-panel-v3';\n\nexport const Sidebar: string[] = [\n // Layout\n 'layout-column grow',\n\n // Overflow\n 'overflow-hidden',\n];\n\nexport const SidebarHeader: string[] = [\n // Layout\n 'shrink-0',\n\n // Overflow\n 'overflow-hidden',\n\n // Typography\n 'typography-headline-2 truncate',\n];\n\nexport const SidebarHeaderPaddings: Record<ResizeablePanelPadding, string[]> = {\n [ResizeablePanelPadding.L]: [\n // Box\n 'px-lg',\n 'py-lg',\n ],\n\n [ResizeablePanelPadding.M]: [\n // Box\n 'px-md',\n 'py-md',\n ],\n\n [ResizeablePanelPadding.S]: [\n // Box\n 'px-sm',\n 'py-sm',\n ],\n\n [ResizeablePanelPadding.None]: [],\n};\n\nexport const SidebarContent: string[] = [\n // Layout\n 'grow',\n\n // Overflow\n 'overflow-auto',\n];\n\nexport const SidebarContentPaddings: Record<ResizeablePanelPadding, string[]> = {\n [ResizeablePanelPadding.L]: [\n // Box\n 'px-lg',\n 'py-lg',\n ],\n\n [ResizeablePanelPadding.M]: [\n // Box\n 'px-md',\n 'py-md',\n ],\n\n [ResizeablePanelPadding.S]: [\n // Box\n 'px-sm',\n 'py-sm',\n ],\n\n [ResizeablePanelPadding.None]: [],\n};\n\nexport const SidebarFooter: string[] = [\n // Layout\n 'shrink-0',\n\n // Overflow\n 'overflow-hidden',\n\n // Theme\n 'theme-border-outline-variant border-t-1',\n 'dark:theme-border-outline-variant-dark',\n];\n\nexport const SidebarFooterPaddings: Record<ResizeablePanelPadding, string[]> = {\n [ResizeablePanelPadding.L]: [\n // Box\n 'px-lg',\n 'py-lg',\n ],\n\n [ResizeablePanelPadding.M]: [\n // Box\n 'px-md',\n 'py-md',\n ],\n\n [ResizeablePanelPadding.S]: [\n // Box\n 'px-sm',\n 'py-sm',\n ],\n\n [ResizeablePanelPadding.None]: [],\n};\n","<template>\n <OrResizeablePanel\n :is-open=\"state === 'open'\"\n :width=\"width\"\n :min-width=\"minWidth\"\n :max-width=\"maxWidth\"\n :padding=\"'none'\"\n :placement=\"placement\"\n :resizeable=\"resizeable\"\n :collapsible=\"collapsible\"\n @update:state=\"$event === 'open' ? open() : close()\"\n @resize=\"$emit('resize', $event)\"\n >\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <template v-if=\"$slots.header\">\n <header :class=\"headerStyles\">\n <slot name=\"header\" />\n </header>\n </template>\n\n <div :class=\"contentStyles\">\n <slot />\n </div>\n\n <template v-if=\"$slots.footer\">\n <footer :class=\"footerStyles\">\n <slot name=\"footer\" />\n </footer>\n </template>\n </div>\n\n <template\n v-if=\"!!$slots.toolbar\"\n v-slot:toolbar\n >\n <slot name=\"toolbar\" />\n </template>\n </OrResizeablePanel>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, ref, toRef } from 'vue';\nimport { usePopoverState } from '@onereach/ui-components-common/hooks';\nimport { OrResizeablePanelV3 as OrResizeablePanel, ResizeablePanelPadding } from '@onereach/ui-components.or-resizeable-panel-v3';\nimport { SidebarPlacement } from './props';\nimport { Sidebar, SidebarContent, SidebarContentPaddings, SidebarFooter, SidebarFooterPaddings, SidebarHeader, SidebarHeaderPaddings } from './styles';\n\nexport default defineComponent({\n name: 'OrSidebar',\n\n components: {\n OrResizeablePanel,\n },\n\n props: {\n isOpen: {\n type: Boolean,\n default: true,\n },\n\n width: {\n type: Number,\n default: 320,\n },\n\n minWidth: {\n type: Number,\n default: undefined,\n },\n\n maxWidth: {\n type: Number,\n default: undefined,\n },\n\n padding: {\n type: String as PropType<`${ResizeablePanelPadding}`>,\n default: () => ResizeablePanelPadding.M,\n },\n\n placement: {\n type: String as PropType<`${SidebarPlacement}`>,\n default: undefined,\n },\n\n resizeable: {\n type: Boolean,\n default: undefined,\n },\n\n collapsible: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:state',\n\n 'open',\n 'close',\n\n 'resize',\n ],\n\n expose: [\n 'root',\n\n 'state',\n\n 'open',\n 'close',\n 'toggle',\n ],\n\n setup(props, context) {\n // Refs\n const root = ref<HTMLElement>();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-sidebar-v3',\n ...Sidebar,\n ]);\n\n const headerStyles = computed(() => [\n ...SidebarHeader,\n ...SidebarHeaderPaddings[props.padding],\n ]);\n\n const contentStyles = computed(() => [\n ...SidebarContent,\n ...SidebarContentPaddings[props.padding],\n ]);\n\n const footerStyles = computed(() => [\n ...SidebarFooter,\n ...SidebarFooterPaddings[props.padding],\n ]);\n\n // State\n const { state, open, close, toggle } = usePopoverState(toRef(props, 'isOpen'), context.emit);\n\n return {\n root,\n\n rootStyles,\n headerStyles,\n contentStyles,\n footerStyles,\n\n state,\n open,\n close,\n toggle,\n };\n },\n});\n</script>\n","export enum SidebarPlacement {\n Left = 'left',\n Right = 'right',\n}\n"],"names":["Sidebar","SidebarHeader","SidebarHeaderPaddings","ResizeablePanelPadding","SidebarContent","SidebarContentPaddings","SidebarFooter","SidebarFooterPaddings","_sfc_main","defineComponent","OrResizeablePanel","props","context","root","ref","rootStyles","computed","headerStyles","contentStyles","footerStyles","state","open","close","toggle","usePopoverState","toRef","_component_OrResizeablePanel","_resolveComponent","_openBlock","_createBlock","_ctx","_cache","$event","_createSlots","_withCtx","_createElementVNode","_normalizeClass","_createElementBlock","_createCommentVNode","_renderSlot","SidebarPlacement"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onereach/ui-components",
|
|
3
|
-
"version": "25.
|
|
3
|
+
"version": "25.2.0",
|
|
4
4
|
"description": "Vue components library for v3",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -46,8 +46,8 @@
|
|
|
46
46
|
"@codemirror/view": "^6",
|
|
47
47
|
"@floating-ui/dom": "1.5.3",
|
|
48
48
|
"@lezer/highlight": "*",
|
|
49
|
-
"@onereach/styles": "^25.
|
|
50
|
-
"@onereach/ui-components-common": "^25.
|
|
49
|
+
"@onereach/styles": "^25.2.0",
|
|
50
|
+
"@onereach/ui-components-common": "^25.2.0",
|
|
51
51
|
"@splidejs/splide": "4.0.6",
|
|
52
52
|
"@tiptap/core": "2.0.3",
|
|
53
53
|
"@tiptap/extension-blockquote": "2.0.3",
|
|
@@ -103,5 +103,5 @@
|
|
|
103
103
|
"access": "public"
|
|
104
104
|
},
|
|
105
105
|
"npmUnpacked": "4.15.2",
|
|
106
|
-
"gitHead": "
|
|
106
|
+
"gitHead": "fb2440da49ca032fcbdf6ff67dd0cd1741e00114"
|
|
107
107
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrResizeablePanel-CKWcCNDY.mjs","sources":["../../../components/or-resizeable-panel-v3/src/props.ts","../../../components/or-resizeable-panel-v3/src/styles.ts","../../../components/or-resizeable-panel-v3/src/OrResizeablePanel.vue"],"sourcesContent":["export enum ResizeablePanelPadding {\n L = 'l',\n M = 'm',\n S = 's',\n None = 'none',\n}\n\nexport enum ResizeablePanelPlacement {\n Top = 'top',\n Bottom = 'bottom',\n Left = 'left',\n Right = 'right',\n}\n","import { ResizeablePanelPadding, ResizeablePanelPlacement } from './props';\n\nexport const ResizeablePanel: string[] = [\n // Layout\n 'shrink-0',\n\n // Theme\n 'theme-background-default',\n 'dark:theme-background-default-dark',\n];\n\nexport const ResizeablePanelPlacements: Record<ResizeablePanelPlacement, string[]> = {\n [ResizeablePanelPlacement.Top]: [\n // Layout\n 'layout-column',\n ],\n\n [ResizeablePanelPlacement.Bottom]: [\n // Layout\n 'layout-column-reverse',\n ],\n\n [ResizeablePanelPlacement.Left]: [\n // Layout\n 'layout-row !items-stretch',\n\n // Box\n 'h-full min-h-0',\n ],\n\n [ResizeablePanelPlacement.Right]: [\n // Layout\n 'layout-row-reverse !items-stretch',\n\n // Box\n 'h-full min-h-0',\n ],\n};\n\nexport const ResizeablePanelContent: string[] = [\n // Layout\n 'layout-column grow',\n\n // Overflow\n 'overflow-auto',\n];\n\nexport const ResizeablePanelContentPaddings: Record<ResizeablePanelPadding, string[]> = {\n [ResizeablePanelPadding.L]: [\n // Spacing\n 'px-lg',\n 'py-lg',\n ],\n\n [ResizeablePanelPadding.M]: [\n // Spacing\n 'px-md',\n 'py-md',\n ],\n\n [ResizeablePanelPadding.S]: [\n // Spacing\n 'px-sm',\n 'py-sm',\n ],\n\n [ResizeablePanelPadding.None]: [],\n};\n\nexport const ResizeablePanelContentPlaceholder: string[] = [];\n\nexport const ResizeablePanelContentPlaceholderPlacements: Record<ResizeablePanelPlacement, string[]> = {\n [ResizeablePanelPlacement.Top]: [\n // Box\n 'h-[calc(theme(spacing.md)+theme(spacing.sm))]',\n ],\n\n [ResizeablePanelPlacement.Bottom]: [\n // Box\n 'h-[calc(theme(spacing.md)+theme(spacing.sm))]',\n ],\n\n [ResizeablePanelPlacement.Left]: [\n // Box\n 'w-[calc(theme(spacing.md)+theme(spacing.sm))]',\n ],\n\n [ResizeablePanelPlacement.Right]: [\n // Box\n 'w-[calc(theme(spacing.md)+theme(spacing.sm))]',\n ],\n};\n\nexport const ResizeablePanelResizeBar: string[] = [\n // Position\n 'relative',\n\n // Layout\n 'shrink-0',\n\n // Layout (after)\n 'after:block',\n\n // Theme (after)\n 'after:border-outline-variant',\n 'after:dark:border-outline-variant-dark',\n\n // Theme (after, hover)\n 'after:hover:border-primary-hover',\n 'after:dark:hover:border-primary-hover-dark',\n\n // Theme (after, activated)\n 'after:activated:border-primary-hover',\n 'after:dark:activated:border-primary-hover-dark',\n];\n\nexport const ResizeablePanelResizeBarPlacements: Record<ResizeablePanelPlacement, string[]> = {\n [ResizeablePanelPlacement.Top]: [\n // Layout\n 'flex flex-col justify-center',\n\n // Interactivity\n 'interactivity-resize-row',\n\n // Spacing\n '-my-[calc(theme(spacing.md)/2)]',\n 'py-[calc(theme(spacing.md)/2)]',\n\n // Theme (after)\n 'after:border-b-1',\n ],\n\n [ResizeablePanelPlacement.Bottom]: [\n // Layout\n 'flex flex-col justify-center',\n\n // Interactivity\n 'interactivity-resize-row',\n\n // Spacing\n '-my-[calc(theme(spacing.md)/2)]',\n 'py-[calc(theme(spacing.md)/2)]',\n\n // Theme (after)\n 'after:border-t-1',\n ],\n\n [ResizeablePanelPlacement.Left]: [\n // Layout\n 'flex flex-row justify-center',\n\n // Interactivity\n 'interactivity-resize-column',\n\n // Spacing\n '-mx-[calc(theme(spacing.md)/2)]',\n 'px-[calc(theme(spacing.md)/2)]',\n\n // Theme (after)\n 'after:border-r-1',\n ],\n\n [ResizeablePanelPlacement.Right]: [\n // Layout\n 'flex flex-row justify-center',\n\n // Interactivity\n 'interactivity-resize-column',\n\n // Spacing\n '-mx-[calc(theme(spacing.md)/2)]',\n 'px-[calc(theme(spacing.md)/2)]',\n\n // Theme (after)\n 'after:border-l-1',\n ],\n};\n\nexport const ResizeablePanelCollapseButtonContainer: string[] = [\n // Position\n 'absolute',\n\n // Shape\n 'rounded-full',\n\n // Box\n 'w-fit',\n 'h-fit',\n\n // Typography\n 'leading-[0]',\n\n // Theme\n 'theme-background-default',\n 'dark:theme-background-default-dark',\n\n 'theme-border-outline-variant border-1',\n 'dark:theme-border-outline-variant-dark',\n];\n\nexport const ResizeablePanelCollapseButtonContainerPlacements: Record<ResizeablePanelPlacement, string[]> = {\n [ResizeablePanelPlacement.Top]: [\n // Position\n 'left-md',\n ],\n\n [ResizeablePanelPlacement.Bottom]: [\n // Position\n 'left-md',\n ],\n\n [ResizeablePanelPlacement.Left]: [\n // Position\n 'top-md',\n ],\n\n [ResizeablePanelPlacement.Right]: [\n // Position\n 'top-md',\n ],\n};\n\nexport const ResizeablePanelToolbar: string[] = [\n // Layout\n 'shrink-0',\n\n // Overflow\n 'overflow-auto',\n\n // Spacing\n 'px-md',\n 'py-md',\n\n 'gap-md',\n\n // Theme\n 'theme-border-outline-variant border-1',\n 'dark:theme-border-outline-variant-dark',\n];\n\nexport const ResizeablePanelToolbarPlacements: Record<ResizeablePanelPlacement, string[]> = {\n [ResizeablePanelPlacement.Top]: [\n // Layout\n 'layout-row',\n\n // Theme\n '!border-t-0',\n '!border-x-0',\n ],\n\n [ResizeablePanelPlacement.Bottom]: [\n // Layout\n 'layout-row',\n\n // Theme\n '!border-b-0',\n '!border-x-0',\n ],\n\n [ResizeablePanelPlacement.Left]: [\n // Layout\n 'layout-column',\n\n // Theme\n '!border-l-0',\n '!border-y-0',\n ],\n\n [ResizeablePanelPlacement.Right]: [\n // Layout\n 'layout-column',\n\n // Theme\n '!border-r-0',\n '!border-y-0',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :style=\"{ [currentDirection]: !collapsible || state === 'open' ? `${currentSize}px` : 'auto' }\"\n >\n <template v-if=\"!collapsible || state === 'open'\">\n <div :class=\"contentStyles\">\n <slot />\n </div>\n </template>\n\n <template v-else>\n <div :class=\"contentPlaceholderStyles\" />\n </template>\n\n <div\n :ref=\"'resizeBar'\"\n :class=\"resizeBarStyles\"\n :activated=\"isDragging\"\n >\n <template v-if=\"collapsible\">\n <div :class=\"collapseButtonContainerStyles\">\n <OrIconButton\n :additional-styles=\"['p-xs']\"\n :icon=\"collapseButtonIcon\"\n :color=\"'primary'\"\n :size=\"'m'\"\n @click=\"toggle()\"\n />\n </div>\n </template>\n </div>\n\n\n <template v-if=\"$slots.toolbar\">\n <div :class=\"toolbarStyles\">\n <slot name=\"toolbar\" />\n </div>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { useDraggable } from '@vueuse/core';\nimport { PropType, computed, defineComponent, ref, toRef, watch } from 'vue';\nimport { usePopoverState } from '@onereach/ui-components-common/hooks';\nimport { OrIconButtonV3 as OrIconButton } from '@onereach/ui-components.or-icon-button-v3';\nimport { ResizeablePanelPadding, ResizeablePanelPlacement } from './props';\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrResizeablePanel',\n\n components: {\n OrIconButton,\n },\n\n props: {\n isOpen: {\n type: Boolean,\n default: true,\n },\n\n width: {\n type: Number,\n default: 320,\n },\n\n minWidth: {\n type: Number,\n default: 256,\n },\n\n maxWidth: {\n type: Number,\n default: 384,\n },\n\n padding: {\n type: String as PropType<`${ResizeablePanelPadding}`>,\n default: () => ResizeablePanelPadding.M,\n },\n\n placement: {\n type: String as PropType<`${ResizeablePanelPlacement}`>,\n default: () => ResizeablePanelPlacement.Right,\n },\n\n resizeable: {\n type: Boolean,\n default: true,\n },\n\n collapsible: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:state',\n\n 'open',\n 'close',\n\n 'resize',\n ],\n\n expose: [\n 'root',\n\n 'state',\n\n 'open',\n 'close',\n 'toggle',\n ],\n\n setup(props, context) {\n // Refs\n const root = ref<HTMLElement>();\n const resizeBar = ref<HTMLElement>();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-resizeable-panel-v3',\n ...Styles.ResizeablePanel,\n ...Styles.ResizeablePanelPlacements[props.placement],\n ]);\n\n const contentStyles = computed(() => [\n ...Styles.ResizeablePanelContent,\n ...Styles.ResizeablePanelContentPaddings[props.padding],\n ]);\n\n const contentPlaceholderStyles = computed(() => [\n ...Styles.ResizeablePanelContentPlaceholder,\n ...Styles.ResizeablePanelContentPlaceholderPlacements[props.placement],\n ]);\n\n const resizeBarStyles = computed(() => [\n ...Styles.ResizeablePanelResizeBar,\n ...Styles.ResizeablePanelResizeBarPlacements[props.placement],\n ...!props.resizeable || props.collapsible && state.value === 'closed' ? ['interactivity-none'] : [],\n ]);\n\n const collapseButtonContainerStyles = computed(() => [\n ...Styles.ResizeablePanelCollapseButtonContainer,\n ...Styles.ResizeablePanelCollapseButtonContainerPlacements[props.placement],\n ]);\n\n const toolbarStyles = computed(() => [\n ...Styles.ResizeablePanelToolbar,\n ...Styles.ResizeablePanelToolbarPlacements[props.placement],\n ]);\n\n // State\n const { state, open, close, toggle } = usePopoverState(toRef(props, 'isOpen'), context.emit);\n\n const collapseButtonIcon = computed(() => {\n if (state.value === 'open') {\n switch (props.placement) {\n case ResizeablePanelPlacement.Top:\n return 'keyboard_arrow_up';\n\n case ResizeablePanelPlacement.Bottom:\n return 'keyboard_arrow_down';\n\n case ResizeablePanelPlacement.Left:\n return 'keyboard_arrow_left';\n\n case ResizeablePanelPlacement.Right:\n return 'keyboard_arrow_right';\n }\n }\n\n if (state.value === 'closed') {\n switch (props.placement) {\n case ResizeablePanelPlacement.Top:\n return 'keyboard_arrow_down';\n\n case ResizeablePanelPlacement.Bottom:\n return 'keyboard_arrow_up';\n\n case ResizeablePanelPlacement.Left:\n return 'keyboard_arrow_right';\n\n case ResizeablePanelPlacement.Right:\n return 'keyboard_arrow_left';\n }\n }\n\n return 'menu';\n });\n\n const currentDirection = computed(() => {\n switch (props.placement) {\n case ResizeablePanelPlacement.Top:\n case ResizeablePanelPlacement.Bottom:\n return 'height';\n }\n\n return 'width';\n });\n\n const currentSize = ref(props.width);\n\n watch(() => props.width, (value) => {\n currentSize.value = value;\n });\n\n // Effects\n // #region Resize\n let referencePoint = 0;\n\n const { isDragging } = useDraggable(resizeBar, {\n onStart: (_position, event) => {\n if (props.resizeable) {\n switch (props.placement) {\n case ResizeablePanelPlacement.Top:\n case ResizeablePanelPlacement.Bottom:\n referencePoint = event.y;\n break;\n\n case ResizeablePanelPlacement.Left:\n case ResizeablePanelPlacement.Right:\n referencePoint = event.x;\n break;\n }\n\n document.body.style.userSelect = 'none';\n }\n },\n\n onMove: (position) => {\n if (props.resizeable) {\n let nextWidth = 0;\n\n switch (props.placement) {\n case ResizeablePanelPlacement.Top:\n nextWidth = currentSize.value + (position.y - referencePoint);\n referencePoint = position.y;\n break;\n\n case ResizeablePanelPlacement.Bottom:\n nextWidth = currentSize.value + (referencePoint - position.y);\n referencePoint = position.y;\n break;\n\n case ResizeablePanelPlacement.Left:\n nextWidth = currentSize.value + (position.x - referencePoint);\n referencePoint = position.x;\n break;\n\n case ResizeablePanelPlacement.Right:\n nextWidth = currentSize.value + (referencePoint - position.x);\n referencePoint = position.x;\n break;\n }\n\n if (nextWidth < props.minWidth) {\n nextWidth = props.minWidth;\n }\n\n if (nextWidth > props.maxWidth) {\n nextWidth = props.maxWidth;\n }\n\n if (nextWidth !== currentSize.value) {\n context.emit('resize', currentSize.value = nextWidth);\n }\n }\n },\n\n onEnd: () => {\n if (props.resizeable) {\n document.body.style.userSelect = '';\n }\n },\n });\n // #endregion\n\n return {\n root,\n resizeBar,\n\n rootStyles,\n contentStyles,\n contentPlaceholderStyles,\n resizeBarStyles,\n collapseButtonContainerStyles,\n toolbarStyles,\n\n state,\n open,\n close,\n toggle,\n\n collapseButtonIcon,\n currentDirection,\n currentSize,\n\n isDragging,\n };\n },\n});\n</script>\n"],"names":["ResizeablePanelPadding","ResizeablePanelPlacement","ResizeablePanel","ResizeablePanelPlacements","ResizeablePanelContent","ResizeablePanelContentPaddings","ResizeablePanelContentPlaceholder","ResizeablePanelContentPlaceholderPlacements","ResizeablePanelResizeBar","ResizeablePanelResizeBarPlacements","ResizeablePanelCollapseButtonContainer","ResizeablePanelCollapseButtonContainerPlacements","ResizeablePanelToolbar","ResizeablePanelToolbarPlacements","_sfc_main","defineComponent","OrIconButton","props","context","root","ref","resizeBar","rootStyles","computed","Styles.ResizeablePanel","Styles.ResizeablePanelPlacements","contentStyles","Styles.ResizeablePanelContent","Styles.ResizeablePanelContentPaddings","contentPlaceholderStyles","Styles.ResizeablePanelContentPlaceholder","Styles.ResizeablePanelContentPlaceholderPlacements","resizeBarStyles","Styles.ResizeablePanelResizeBar","Styles.ResizeablePanelResizeBarPlacements","state","collapseButtonContainerStyles","Styles.ResizeablePanelCollapseButtonContainer","Styles.ResizeablePanelCollapseButtonContainerPlacements","toolbarStyles","Styles.ResizeablePanelToolbar","Styles.ResizeablePanelToolbarPlacements","open","close","toggle","usePopoverState","toRef","collapseButtonIcon","currentDirection","currentSize","watch","value","referencePoint","isDragging","useDraggable","_position","event","position","nextWidth","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_normalizeStyle","_createElementVNode","_component_OrIconButton","_createCommentVNode","_hoisted_1"],"mappings":"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"}
|