@threadlabs/looma 0.23.7 → 0.23.8
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/components/ui-disclosure/ui-disclosure.html +71 -19
- package/components/ui-disclosure/ui-disclosure.js +50 -4
- package/components/ui-nav-item/ui-nav-item.html +16 -11
- package/components/ui-sidebar/ui-sidebar.html +36 -7
- package/components/ui-sidebar/ui-sidebar.js +6 -0
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/styles/ui-disclosure.css +65 -17
- package/styles/ui-nav-item.css +14 -11
- package/styles/ui-sidebar.css +34 -6
- package/tokens.css +15 -0
- package/vanilla/UiDisclosure.d.ts +2 -0
- package/vanilla/UiDisclosure.js +33 -18
- package/vanilla/UiNavItem.js +42 -18
- package/vanilla/UiSidebar.js +19 -16
- package/vue/UiDisclosure.d.ts +24 -4
- package/vue/UiDisclosure.vue +130 -22
- package/vue/UiNavItem.d.ts +8 -4
- package/vue/UiNavItem.vue +17 -12
- package/vue/UiSection.d.ts +1 -1
- package/vue/UiSidebar.vue +42 -8
- package/vue/chunks/UiDisclosure.js +70 -14
- package/vue/chunks/UiNavItem.js +14 -10
- package/vue/chunks/UiSidebar.js +12 -7
- package/vue/components.css +178 -93
package/vue/UiSidebar.vue
CHANGED
|
@@ -224,6 +224,7 @@ const root = ref<HTMLElement | null>(null)
|
|
|
224
224
|
const resizerElement = useTemplateRef<HTMLElement>('resizer')
|
|
225
225
|
const internalCollapsed = ref(false)
|
|
226
226
|
const drawer = ref(false)
|
|
227
|
+
const resizing = ref(false)
|
|
227
228
|
let guardedPrevious: any
|
|
228
229
|
const guarded = computed(() => {
|
|
229
230
|
if (
|
|
@@ -234,6 +235,7 @@ const guarded = computed(() => {
|
|
|
234
235
|
})
|
|
235
236
|
provide('html-next:ui-sidebar:internalCollapsed', internalCollapsed)
|
|
236
237
|
provide('html-next:ui-sidebar:drawer', drawer)
|
|
238
|
+
provide('html-next:ui-sidebar:resizing', resizing)
|
|
237
239
|
const hydrationNode = hydrationInstance?.vnode.el
|
|
238
240
|
if (
|
|
239
241
|
typeof window !== 'undefined' && hydrationNode != null
|
|
@@ -257,6 +259,7 @@ const hostState = computed(() =>
|
|
|
257
259
|
checkedProps.value.side && 'side',
|
|
258
260
|
checkedProps.value.side != null && `side=${encodeURIComponent(checkedProps.value.side)}`,
|
|
259
261
|
internalCollapsed.value && 'internalCollapsed',
|
|
262
|
+
resizing.value && 'resizing',
|
|
260
263
|
].filter(Boolean).join(' ')
|
|
261
264
|
)
|
|
262
265
|
|
|
@@ -314,7 +317,7 @@ useComponentHost(() => import('../components/ui-sidebar/ui-sidebar.js'), {
|
|
|
314
317
|
propValidity: (name: string) =>
|
|
315
318
|
propValidityState({ contract: propValidityContract, values: { ...props } }, name),
|
|
316
319
|
refs: { resizer: resizerElement },
|
|
317
|
-
state: { internalCollapsed, drawer },
|
|
320
|
+
state: { internalCollapsed, drawer, resizing },
|
|
318
321
|
})
|
|
319
322
|
</script>
|
|
320
323
|
|
|
@@ -335,7 +338,7 @@ useComponentHost(() => import('../components/ui-sidebar/ui-sidebar.js'), {
|
|
|
335
338
|
:data-ui-sidebar-state="hostState || undefined"
|
|
336
339
|
ref="root"
|
|
337
340
|
>
|
|
338
|
-
<div class="content"><slot /></div>
|
|
341
|
+
<div class="viewport"><div class="content"><slot /></div></div>
|
|
339
342
|
<div
|
|
340
343
|
class="resizer"
|
|
341
344
|
role="separator"
|
|
@@ -369,10 +372,15 @@ useComponentHost(() => import('../components/ui-sidebar/ui-sidebar.js'), {
|
|
|
369
372
|
syntax: "*";
|
|
370
373
|
inherits: false;
|
|
371
374
|
}
|
|
375
|
+
@property --ui-sidebar-collapsed-width {
|
|
376
|
+
syntax: "*";
|
|
377
|
+
inherits: false;
|
|
378
|
+
}
|
|
372
379
|
|
|
373
380
|
[data-component~="ui-sidebar"] {
|
|
374
381
|
/* Hooks do not inherit, so the parts below read them from the root. */
|
|
375
382
|
--_ui-sidebar-backdrop: var(--ui-sidebar-backdrop);
|
|
383
|
+
--_ui-sidebar-expanded-width: var(--_sidebar-width, var(--ui-sidebar-width, 280px));
|
|
376
384
|
|
|
377
385
|
position: relative;
|
|
378
386
|
box-sizing: border-box;
|
|
@@ -385,6 +393,9 @@ useComponentHost(() => import('../components/ui-sidebar/ui-sidebar.js'), {
|
|
|
385
393
|
background: var(--ui-sidebar-surface, var(--ui-surface-default));
|
|
386
394
|
border-inline-end: var(--ui-border-width) solid
|
|
387
395
|
var(--ui-sidebar-border, var(--ui-border-divider));
|
|
396
|
+
transition:
|
|
397
|
+
inline-size var(--ui-motion-layout) var(--ui-motion-layout-ease),
|
|
398
|
+
visibility var(--ui-motion-layout);
|
|
388
399
|
}
|
|
389
400
|
|
|
390
401
|
[data-component~="ui-sidebar"][data-ui-sidebar-state~="side=end"] {
|
|
@@ -395,10 +406,17 @@ useComponentHost(() => import('../components/ui-sidebar/ui-sidebar.js'), {
|
|
|
395
406
|
|
|
396
407
|
/* The panel's content scrolls, and each edge that hides content fades: the scroll fade every
|
|
397
408
|
Looma scroller uses (see ui-scroll-area). */
|
|
398
|
-
.
|
|
409
|
+
.viewport {
|
|
399
410
|
flex: 1;
|
|
400
411
|
min-block-size: 0;
|
|
412
|
+
overflow: clip;
|
|
413
|
+
}
|
|
414
|
+
.content {
|
|
415
|
+
block-size: 100%;
|
|
416
|
+
inline-size: calc(var(--_ui-sidebar-expanded-width) - var(--ui-border-width));
|
|
417
|
+
min-block-size: 0;
|
|
401
418
|
overflow: auto;
|
|
419
|
+
transition: transform var(--ui-motion-layout) var(--ui-motion-layout-ease);
|
|
402
420
|
--_ui-scroll-fade-direction: to bottom;
|
|
403
421
|
--_ui-scroll-fade-size: var(--ui-scroll-fade-size, 24px);
|
|
404
422
|
mask-image: linear-gradient(
|
|
@@ -423,7 +441,18 @@ useComponentHost(() => import('../components/ui-sidebar/ui-sidebar.js'), {
|
|
|
423
441
|
|
|
424
442
|
/* Collapsed while docked. */
|
|
425
443
|
[data-component~="ui-sidebar"][data-ui-sidebar-state~="internalCollapsed"]:not([popover]) {
|
|
426
|
-
|
|
444
|
+
inline-size: var(--ui-sidebar-collapsed-width, 0px);
|
|
445
|
+
visibility: hidden;
|
|
446
|
+
}
|
|
447
|
+
[data-component~="ui-sidebar"][data-ui-sidebar-state~="resizing"] {
|
|
448
|
+
transition: none;
|
|
449
|
+
}
|
|
450
|
+
[data-component~="ui-sidebar"][data-ui-sidebar-state~="internalCollapsed"]:not([popover]) .content {
|
|
451
|
+
transform: translateX(-100%);
|
|
452
|
+
}
|
|
453
|
+
[data-component~="ui-sidebar"][data-ui-sidebar-state~="side=end"][data-ui-sidebar-state~="internalCollapsed"]:not([popover])
|
|
454
|
+
.content {
|
|
455
|
+
transform: translateX(100%);
|
|
427
456
|
}
|
|
428
457
|
|
|
429
458
|
.resizer {
|
|
@@ -506,9 +535,9 @@ useComponentHost(() => import('../components/ui-sidebar/ui-sidebar.js'), {
|
|
|
506
535
|
box-shadow: var(--ui-elevation-overlay, var(--ui-shadow-lg));
|
|
507
536
|
transform: translateX(0);
|
|
508
537
|
transition:
|
|
509
|
-
transform var(--ui-motion-
|
|
510
|
-
display var(--ui-motion-
|
|
511
|
-
overlay var(--ui-motion-
|
|
538
|
+
transform var(--ui-motion-reveal) var(--ui-motion-reveal-ease),
|
|
539
|
+
display var(--ui-motion-reveal) allow-discrete,
|
|
540
|
+
overlay var(--ui-motion-reveal) allow-discrete;
|
|
512
541
|
}
|
|
513
542
|
|
|
514
543
|
/* The author display above would otherwise override the UA rule that hides a closed popover. */
|
|
@@ -538,9 +567,14 @@ useComponentHost(() => import('../components/ui-sidebar/ui-sidebar.js'), {
|
|
|
538
567
|
[data-component~="ui-sidebar"][popover]::backdrop {
|
|
539
568
|
background: var(--_ui-sidebar-backdrop, rgb(0 0 0 / 0.32));
|
|
540
569
|
}
|
|
570
|
+
[data-component~="ui-sidebar"][popover] .content {
|
|
571
|
+
inline-size: 100%;
|
|
572
|
+
}
|
|
541
573
|
|
|
542
574
|
@media (prefers-reduced-motion: reduce) {
|
|
543
|
-
[data-component~="ui-sidebar"]
|
|
575
|
+
[data-component~="ui-sidebar"],
|
|
576
|
+
[data-component~="ui-sidebar"][popover],
|
|
577
|
+
.content {
|
|
544
578
|
transition: none;
|
|
545
579
|
}
|
|
546
580
|
}
|
|
@@ -10,7 +10,9 @@ var _hoisted_1 = [
|
|
|
10
10
|
"data-heading-level",
|
|
11
11
|
"data-name",
|
|
12
12
|
"data-open",
|
|
13
|
+
"data-required-open",
|
|
13
14
|
"data-summary",
|
|
15
|
+
"data-variant",
|
|
14
16
|
"data-ui-disclosure-state"
|
|
15
17
|
];
|
|
16
18
|
var _hoisted_2 = ["role", "aria-level"];
|
|
@@ -19,9 +21,14 @@ var _hoisted_3 = [
|
|
|
19
21
|
"aria-expanded",
|
|
20
22
|
"disabled"
|
|
21
23
|
];
|
|
22
|
-
var _hoisted_4 = { class: "
|
|
23
|
-
var _hoisted_5 =
|
|
24
|
-
var _hoisted_6 = {
|
|
24
|
+
var _hoisted_4 = { class: "leading" };
|
|
25
|
+
var _hoisted_5 = { class: "summary" };
|
|
26
|
+
var _hoisted_6 = {
|
|
27
|
+
class: "indicator",
|
|
28
|
+
"aria-hidden": "true"
|
|
29
|
+
};
|
|
30
|
+
var _hoisted_7 = ["id"];
|
|
31
|
+
var _hoisted_8 = { class: "panel-inner" };
|
|
25
32
|
//#endregion
|
|
26
33
|
//#region .build/vue/UiDisclosure.vue
|
|
27
34
|
var UiDisclosure_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
@@ -52,9 +59,17 @@ var UiDisclosure_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
52
59
|
type: null,
|
|
53
60
|
default: false
|
|
54
61
|
},
|
|
62
|
+
requiredOpen: {
|
|
63
|
+
type: null,
|
|
64
|
+
default: false
|
|
65
|
+
},
|
|
55
66
|
summary: {
|
|
56
67
|
type: null,
|
|
57
68
|
default: "Details"
|
|
69
|
+
},
|
|
70
|
+
variant: {
|
|
71
|
+
type: null,
|
|
72
|
+
default: "plain"
|
|
58
73
|
}
|
|
59
74
|
},
|
|
60
75
|
emits: [
|
|
@@ -125,6 +140,16 @@ var UiDisclosure_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
125
140
|
description: "Whether the disclosure is open initially or when set externally. The trigger toggles it from there, reporting each change as an open or close event.",
|
|
126
141
|
default: false
|
|
127
142
|
},
|
|
143
|
+
requiredOpen: {
|
|
144
|
+
type: {
|
|
145
|
+
kind: "terminal",
|
|
146
|
+
name: "boolean"
|
|
147
|
+
},
|
|
148
|
+
required: false,
|
|
149
|
+
target: { attribute: "requiredopen" },
|
|
150
|
+
description: "In a named exclusive group, keeps at least one member open. Clicking the last open trigger does not close it; opening another member transfers the open\n state.",
|
|
151
|
+
default: false
|
|
152
|
+
},
|
|
128
153
|
summary: {
|
|
129
154
|
type: {
|
|
130
155
|
kind: "terminal",
|
|
@@ -134,6 +159,17 @@ var UiDisclosure_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
134
159
|
target: { attribute: "summary" },
|
|
135
160
|
description: "The text of the trigger row that opens and closes the disclosure. It is the trigger button's accessible name, so name what the content is.",
|
|
136
161
|
default: "Details"
|
|
162
|
+
},
|
|
163
|
+
variant: {
|
|
164
|
+
type: {
|
|
165
|
+
kind: "terminal",
|
|
166
|
+
name: "keyword"
|
|
167
|
+
},
|
|
168
|
+
required: false,
|
|
169
|
+
target: { attribute: "variant" },
|
|
170
|
+
description: "Navigation shares icon columns, spacing, type, hover, and corners with Nav Item. Plain retains the standard disclosure treatment.",
|
|
171
|
+
values: ["plain", "navigation"],
|
|
172
|
+
default: "plain"
|
|
137
173
|
}
|
|
138
174
|
} };
|
|
139
175
|
const props = __props;
|
|
@@ -144,7 +180,9 @@ var UiDisclosure_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
144
180
|
headingLevel: 0,
|
|
145
181
|
name: "",
|
|
146
182
|
open: false,
|
|
147
|
-
|
|
183
|
+
requiredOpen: false,
|
|
184
|
+
summary: "Details",
|
|
185
|
+
variant: "plain"
|
|
148
186
|
};
|
|
149
187
|
const checkedProps = computed(() => ({
|
|
150
188
|
density: checkedProp(props["density"], {
|
|
@@ -171,10 +209,18 @@ var UiDisclosure_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
171
209
|
kind: "terminal",
|
|
172
210
|
name: "boolean"
|
|
173
211
|
}, false, "open", acceptedProps),
|
|
212
|
+
requiredOpen: checkedProp(props["requiredOpen"], {
|
|
213
|
+
kind: "terminal",
|
|
214
|
+
name: "boolean"
|
|
215
|
+
}, false, "requiredOpen", acceptedProps),
|
|
174
216
|
summary: checkedProp(props["summary"], {
|
|
175
217
|
kind: "terminal",
|
|
176
218
|
name: "string"
|
|
177
|
-
}, false, "summary", acceptedProps)
|
|
219
|
+
}, false, "summary", acceptedProps),
|
|
220
|
+
variant: checkedProp(props["variant"], {
|
|
221
|
+
kind: "terminal",
|
|
222
|
+
name: "keyword"
|
|
223
|
+
}, false, "variant", acceptedProps)
|
|
178
224
|
}));
|
|
179
225
|
checkedProps.value;
|
|
180
226
|
watchSyncEffect(() => {
|
|
@@ -195,6 +241,7 @@ var UiDisclosure_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
195
241
|
const hydrationInstance = getCurrentInstance();
|
|
196
242
|
const emit = __emit;
|
|
197
243
|
const root = ref(null);
|
|
244
|
+
const headingElement = useTemplateRef("heading");
|
|
198
245
|
const triggerElement = useTemplateRef("trigger");
|
|
199
246
|
const panelElement = useTemplateRef("panel");
|
|
200
247
|
const internalOpen = ref(false);
|
|
@@ -242,7 +289,9 @@ var UiDisclosure_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
242
289
|
checkedProps.value.density && "density",
|
|
243
290
|
checkedProps.value.density != null && `density=${encodeURIComponent(checkedProps.value.density)}`,
|
|
244
291
|
internalOpen.value && "internalOpen",
|
|
245
|
-
checkedProps.value.fill && "fill"
|
|
292
|
+
checkedProps.value.fill && "fill",
|
|
293
|
+
checkedProps.value.variant && "variant",
|
|
294
|
+
checkedProps.value.variant != null && `variant=${encodeURIComponent(checkedProps.value.variant)}`
|
|
246
295
|
].filter(Boolean).join(" "));
|
|
247
296
|
const isOpenDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["open"] === "boolean" && (detail["reason"] === "action" || detail["reason"] === "programmatic" || detail["reason"] === "light-dismiss" || detail["reason"] === "escape") && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
|
|
248
297
|
"open",
|
|
@@ -276,13 +325,16 @@ var UiDisclosure_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
276
325
|
"headingLevel",
|
|
277
326
|
"name",
|
|
278
327
|
"open",
|
|
279
|
-
"
|
|
328
|
+
"requiredOpen",
|
|
329
|
+
"summary",
|
|
330
|
+
"variant"
|
|
280
331
|
],
|
|
281
332
|
propValidity: (name) => propValidityState({
|
|
282
333
|
contract: propValidityContract,
|
|
283
334
|
values: { ...props }
|
|
284
335
|
}, name),
|
|
285
336
|
refs: {
|
|
337
|
+
heading: headingElement,
|
|
286
338
|
trigger: triggerElement,
|
|
287
339
|
panel: panelElement
|
|
288
340
|
},
|
|
@@ -301,14 +353,17 @@ var UiDisclosure_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
301
353
|
"data-heading-level": reflectedProp("headingLevel", "heading-level", checkedProps.value.headingLevel, void 0, false),
|
|
302
354
|
"data-name": reflectedProp("name", "name", checkedProps.value.name, void 0, false),
|
|
303
355
|
"data-open": reflectedProp("open", "open", checkedProps.value.open, void 0, false),
|
|
356
|
+
"data-required-open": reflectedProp("requiredOpen", "required-open", checkedProps.value.requiredOpen, void 0, false),
|
|
304
357
|
"data-summary": reflectedProp("summary", "summary", checkedProps.value.summary, void 0, false),
|
|
358
|
+
"data-variant": reflectedProp("variant", "variant", checkedProps.value.variant, void 0, false),
|
|
305
359
|
"data-ui-disclosure-state": hostState.value || void 0,
|
|
306
360
|
ref_key: "root",
|
|
307
361
|
ref: root
|
|
308
362
|
}), [createElementVNode("div", {
|
|
309
363
|
class: "heading",
|
|
310
364
|
role: guarded.value,
|
|
311
|
-
"aria-level": guardedBinding.value
|
|
365
|
+
"aria-level": guardedBinding.value,
|
|
366
|
+
ref: "heading"
|
|
312
367
|
}, [createElementVNode("button", {
|
|
313
368
|
class: "trigger",
|
|
314
369
|
type: "button",
|
|
@@ -316,19 +371,20 @@ var UiDisclosure_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
316
371
|
"aria-expanded": guardedBinding3.value,
|
|
317
372
|
disabled: checkedProps.value.disabled ?? void 0,
|
|
318
373
|
ref: "trigger"
|
|
319
|
-
}, [
|
|
320
|
-
|
|
321
|
-
"
|
|
322
|
-
|
|
374
|
+
}, [
|
|
375
|
+
createElementVNode("span", _hoisted_4, [renderSlot(_ctx.$slots, "leading", {}, void 0, true)]),
|
|
376
|
+
createElementVNode("span", _hoisted_5, [renderSlot(_ctx.$slots, "summary", {}, () => [createTextVNode(toDisplayString(checkedProps.value.summary), 1)], true)]),
|
|
377
|
+
createElementVNode("span", _hoisted_6, [renderSlot(_ctx.$slots, "indicator", {}, () => [_cache[0] || (_cache[0] = createElementVNode("span", { class: "chevron" }, null, -1))], true)])
|
|
378
|
+
], 8, _hoisted_3)], 8, _hoisted_2), createElementVNode("div", {
|
|
323
379
|
class: "panel",
|
|
324
380
|
id: guardedBinding4.value,
|
|
325
381
|
ref: "panel"
|
|
326
|
-
}, [createElementVNode("div",
|
|
382
|
+
}, [createElementVNode("div", _hoisted_8, [renderSlot(_ctx.$slots, "default", {}, void 0, true)])], 8, _hoisted_7)], 16, _hoisted_1)), [[unref(vPropValidity), {
|
|
327
383
|
contract: propValidityContract,
|
|
328
384
|
values: { ...props }
|
|
329
385
|
}]]);
|
|
330
386
|
};
|
|
331
387
|
}
|
|
332
|
-
}), [["__scopeId", "data-v-
|
|
388
|
+
}), [["__scopeId", "data-v-a0b99707"]]);
|
|
333
389
|
//#endregion
|
|
334
390
|
export { UiDisclosure_default as t };
|
package/vue/chunks/UiNavItem.js
CHANGED
|
@@ -21,7 +21,8 @@ var _hoisted_2 = { class: "leading" };
|
|
|
21
21
|
var _hoisted_3 = { class: "content" };
|
|
22
22
|
var _hoisted_4 = { class: "label" };
|
|
23
23
|
var _hoisted_5 = { class: "description" };
|
|
24
|
-
var _hoisted_6 =
|
|
24
|
+
var _hoisted_6 = { class: "trailing" };
|
|
25
|
+
var _hoisted_7 = [
|
|
25
26
|
"aria-current",
|
|
26
27
|
"data-as",
|
|
27
28
|
"data-current",
|
|
@@ -32,10 +33,11 @@ var _hoisted_6 = [
|
|
|
32
33
|
"data-variant",
|
|
33
34
|
"data-ui-nav-item-state"
|
|
34
35
|
];
|
|
35
|
-
var
|
|
36
|
-
var
|
|
37
|
-
var
|
|
38
|
-
var
|
|
36
|
+
var _hoisted_8 = { class: "leading" };
|
|
37
|
+
var _hoisted_9 = { class: "content" };
|
|
38
|
+
var _hoisted_10 = { class: "label" };
|
|
39
|
+
var _hoisted_11 = { class: "description" };
|
|
40
|
+
var _hoisted_12 = { class: "trailing" };
|
|
39
41
|
//#endregion
|
|
40
42
|
//#region .build/vue/UiNavItem.vue
|
|
41
43
|
var UiNavItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
@@ -275,7 +277,8 @@ var UiNavItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
275
277
|
"aria-hidden": "true"
|
|
276
278
|
}, null, -1)),
|
|
277
279
|
createElementVNode("span", _hoisted_2, [renderSlot(_ctx.$slots, "leading", {}, void 0, true)]),
|
|
278
|
-
createElementVNode("span", _hoisted_3, [createElementVNode("span", _hoisted_4, [renderSlot(_ctx.$slots, "default", {}, void 0, true)]), createElementVNode("span", _hoisted_5, [renderSlot(_ctx.$slots, "description", {}, void 0, true)])])
|
|
280
|
+
createElementVNode("span", _hoisted_3, [createElementVNode("span", _hoisted_4, [renderSlot(_ctx.$slots, "default", {}, void 0, true)]), createElementVNode("span", _hoisted_5, [renderSlot(_ctx.$slots, "description", {}, void 0, true)])]),
|
|
281
|
+
createElementVNode("span", _hoisted_6, [renderSlot(_ctx.$slots, "trailing", {}, void 0, true)])
|
|
279
282
|
], 16, _hoisted_1)), [[unref(vPropValidity), {
|
|
280
283
|
contract: propValidityContract,
|
|
281
284
|
values: { ...props }
|
|
@@ -317,14 +320,15 @@ var UiNavItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
317
320
|
class: "indicator",
|
|
318
321
|
"aria-hidden": "true"
|
|
319
322
|
}, null, -1)),
|
|
320
|
-
createElementVNode("span",
|
|
321
|
-
createElementVNode("span",
|
|
322
|
-
|
|
323
|
+
createElementVNode("span", _hoisted_8, [renderSlot(_ctx.$slots, "leading", {}, void 0, true)]),
|
|
324
|
+
createElementVNode("span", _hoisted_9, [createElementVNode("span", _hoisted_10, [renderSlot(_ctx.$slots, "default", {}, void 0, true)]), createElementVNode("span", _hoisted_11, [renderSlot(_ctx.$slots, "description", {}, void 0, true)])]),
|
|
325
|
+
createElementVNode("span", _hoisted_12, [renderSlot(_ctx.$slots, "trailing", {}, void 0, true)])
|
|
326
|
+
], 16, _hoisted_7)), [[unref(vPropValidity), {
|
|
323
327
|
contract: propValidityContract,
|
|
324
328
|
values: { ...props }
|
|
325
329
|
}]]);
|
|
326
330
|
};
|
|
327
331
|
}
|
|
328
|
-
}), [["__scopeId", "data-v-
|
|
332
|
+
}), [["__scopeId", "data-v-7ab7def5"]]);
|
|
329
333
|
//#endregion
|
|
330
334
|
export { UiNavItem_default as t };
|
package/vue/chunks/UiSidebar.js
CHANGED
|
@@ -15,8 +15,9 @@ var _hoisted_1 = [
|
|
|
15
15
|
"data-width",
|
|
16
16
|
"data-ui-sidebar-state"
|
|
17
17
|
];
|
|
18
|
-
var _hoisted_2 = { class: "
|
|
19
|
-
var _hoisted_3 =
|
|
18
|
+
var _hoisted_2 = { class: "viewport" };
|
|
19
|
+
var _hoisted_3 = { class: "content" };
|
|
20
|
+
var _hoisted_4 = ["aria-label", "hidden"];
|
|
20
21
|
//#endregion
|
|
21
22
|
//#region .build/vue/UiSidebar.vue
|
|
22
23
|
var UiSidebar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
@@ -236,6 +237,7 @@ var UiSidebar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
236
237
|
const resizerElement = useTemplateRef("resizer");
|
|
237
238
|
const internalCollapsed = ref(false);
|
|
238
239
|
const drawer = ref(false);
|
|
240
|
+
const resizing = ref(false);
|
|
239
241
|
let guardedPrevious;
|
|
240
242
|
const guarded = computed(() => {
|
|
241
243
|
if (!((drawer.value == null || typeof drawer.value === "boolean") && (internalCollapsed.value == null || typeof internalCollapsed.value === "boolean"))) return guardedPrevious;
|
|
@@ -243,6 +245,7 @@ var UiSidebar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
243
245
|
});
|
|
244
246
|
provide("html-next:ui-sidebar:internalCollapsed", internalCollapsed);
|
|
245
247
|
provide("html-next:ui-sidebar:drawer", drawer);
|
|
248
|
+
provide("html-next:ui-sidebar:resizing", resizing);
|
|
246
249
|
const hydrationNode = hydrationInstance?.vnode.el;
|
|
247
250
|
if (typeof window !== "undefined" && hydrationNode != null && (!(hydrationNode instanceof Element) || hydrationNode.localName !== "aside")) throw Object.assign(/* @__PURE__ */ new Error("HR005: Server markup for <ui-sidebar> has an incompatible root."), {
|
|
248
251
|
name: "HtmlDiagnosticError",
|
|
@@ -255,7 +258,8 @@ var UiSidebar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
255
258
|
const hostState = computed(() => [
|
|
256
259
|
checkedProps.value.side && "side",
|
|
257
260
|
checkedProps.value.side != null && `side=${encodeURIComponent(checkedProps.value.side)}`,
|
|
258
|
-
internalCollapsed.value && "internalCollapsed"
|
|
261
|
+
internalCollapsed.value && "internalCollapsed",
|
|
262
|
+
resizing.value && "resizing"
|
|
259
263
|
].filter(Boolean).join(" "));
|
|
260
264
|
const isResizeDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["width"] === "number" && Number.isFinite(detail["width"]) && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => ["width", "trigger"].includes(key));
|
|
261
265
|
const isToggleDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["open"] === "boolean" && (detail["mode"] === "docked" || detail["mode"] === "drawer") && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
|
|
@@ -301,7 +305,8 @@ var UiSidebar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
301
305
|
refs: { resizer: resizerElement },
|
|
302
306
|
state: {
|
|
303
307
|
internalCollapsed,
|
|
304
|
-
drawer
|
|
308
|
+
drawer,
|
|
309
|
+
resizing
|
|
305
310
|
}
|
|
306
311
|
});
|
|
307
312
|
return (_ctx, _cache) => {
|
|
@@ -318,7 +323,7 @@ var UiSidebar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
318
323
|
"data-ui-sidebar-state": hostState.value || void 0,
|
|
319
324
|
ref_key: "root",
|
|
320
325
|
ref: root
|
|
321
|
-
}), [createElementVNode("div", _hoisted_2, [renderSlot(_ctx.$slots, "default", {}, void 0, true)]), createElementVNode("div", {
|
|
326
|
+
}), [createElementVNode("div", _hoisted_2, [createElementVNode("div", _hoisted_3, [renderSlot(_ctx.$slots, "default", {}, void 0, true)])]), createElementVNode("div", {
|
|
322
327
|
class: "resizer",
|
|
323
328
|
role: "separator",
|
|
324
329
|
"aria-orientation": "vertical",
|
|
@@ -330,12 +335,12 @@ var UiSidebar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
330
335
|
}, [..._cache[0] || (_cache[0] = [createElementVNode("span", {
|
|
331
336
|
class: "guide",
|
|
332
337
|
"aria-hidden": "true"
|
|
333
|
-
}, null, -1)])], 8,
|
|
338
|
+
}, null, -1)])], 8, _hoisted_4)], 16, _hoisted_1)), [[unref(vPropValidity), {
|
|
334
339
|
contract: propValidityContract,
|
|
335
340
|
values: { ...props }
|
|
336
341
|
}]]);
|
|
337
342
|
};
|
|
338
343
|
}
|
|
339
|
-
}), [["__scopeId", "data-v-
|
|
344
|
+
}), [["__scopeId", "data-v-5d67aa4a"]]);
|
|
340
345
|
//#endregion
|
|
341
346
|
export { UiSidebar_default as t };
|