@threadlabs/looma 0.6.0 → 0.6.2
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-avatar/ui-avatar.html +13 -0
- package/components/ui-avatar-group/ui-avatar-group.html +7 -2
- package/components/ui-avatar-group/ui-avatar-group.js +3 -3
- package/components/ui-badge/ui-badge.html +14 -0
- package/components/ui-button/ui-button.html +2 -2
- package/components/ui-cluster/ui-cluster.html +1 -1
- package/components/ui-combobox/ui-combobox.html +112 -46
- package/components/ui-combobox/ui-combobox.js +14 -2
- package/components/ui-editor-insert-table-grid/ui-editor-insert-table-grid.html +3 -3
- package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.html +2 -2
- package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.html +2 -2
- package/components/ui-editor-toolbar/ui-editor-toolbar.html +5 -3
- package/components/ui-menu-item/ui-menu-item.html +13 -0
- package/components/ui-stack/ui-stack.html +1 -1
- package/components/ui-tabs/ui-tabs.html +13 -0
- package/components/ui-toast-region/ui-toast-region.html +2 -2
- package/components/ui-tooltip/ui-tooltip.html +3 -0
- package/components/ui-tooltip/ui-tooltip.js +24 -3
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/styles/ui-avatar-group.css +7 -2
- package/styles/ui-avatar.css +19 -0
- package/styles/ui-badge.css +21 -1
- package/styles/ui-cluster.css +1 -1
- package/styles/ui-combobox.css +52 -1
- package/styles/ui-editor-insert-table-grid.css +2 -2
- package/styles/ui-editor-table-context-menu.css +1 -1
- package/styles/ui-editor-table-toolbar.css +1 -1
- package/styles/ui-editor-toolbar.css +5 -3
- package/styles/ui-menu-item.css +20 -1
- package/styles/ui-stack.css +1 -1
- package/styles/ui-tabs.css +19 -0
- package/styles/ui-toast-region.css +2 -2
- package/tokens.css +4 -0
- package/vanilla/UiCombobox.js +141 -119
- package/vanilla/UiEditorInsertTableGrid.js +1 -1
- package/vanilla/UiEditorTableContextMenu.js +1 -1
- package/vanilla/UiEditorTableToolbar.js +1 -1
- package/vanilla/UiTooltip.d.ts +1 -0
- package/vanilla/UiTooltip.js +1 -1
- package/vue/UiAvatar.vue +13 -0
- package/vue/UiAvatarGroup.vue +7 -2
- package/vue/UiBadge.vue +14 -0
- package/vue/UiCluster.vue +1 -1
- package/vue/UiCombobox.vue +135 -53
- package/vue/UiEditorInsertTableGrid.vue +3 -3
- package/vue/UiEditorTableContextMenu.vue +2 -2
- package/vue/UiEditorTableToolbar.vue +2 -2
- package/vue/UiEditorToolbar.vue +5 -3
- package/vue/UiMenuItem.vue +13 -0
- package/vue/UiStack.vue +1 -1
- package/vue/UiTabs.vue +13 -0
- package/vue/UiToastRegion.vue +2 -2
- package/vue/UiTooltip.d.ts +4 -0
- package/vue/UiTooltip.vue +6 -0
- package/vue/chunks/UiAvatar.js +1 -1
- package/vue/chunks/UiAvatarGroup.js +1 -1
- package/vue/chunks/UiBadge.js +1 -1
- package/vue/chunks/UiCluster.js +1 -1
- package/vue/chunks/UiCombobox.js +66 -41
- package/vue/chunks/UiEditorInsertTableGrid.js +3 -3
- package/vue/chunks/UiEditorTableContextMenu.js +2 -2
- package/vue/chunks/UiEditorTableToolbar.js +2 -2
- package/vue/chunks/UiEditorToolbar.js +1 -1
- package/vue/chunks/UiMenuItem.js +1 -1
- package/vue/chunks/UiStack.js +1 -1
- package/vue/chunks/UiTabs.js +1 -1
- package/vue/chunks/UiToastRegion.js +1 -1
- package/vue/chunks/UiTooltip.js +5 -2
- package/vue/components.css +322 -211
- package/vue/editor/index.js +2 -1
|
@@ -182,7 +182,7 @@ onBeforeUnmount(() => {
|
|
|
182
182
|
class="grid"
|
|
183
183
|
role="group"
|
|
184
184
|
aria-label="Table dimensions"
|
|
185
|
-
:style="{ '--
|
|
185
|
+
:style="{ '--_rows': rows, '--_cols': cols }"
|
|
186
186
|
>
|
|
187
187
|
<button
|
|
188
188
|
v-for="cell in cells"
|
|
@@ -220,8 +220,8 @@ onBeforeUnmount(() => {
|
|
|
220
220
|
|
|
221
221
|
.grid {
|
|
222
222
|
display: grid;
|
|
223
|
-
grid-template-columns: repeat(var(--
|
|
224
|
-
grid-template-rows: repeat(var(--
|
|
223
|
+
grid-template-columns: repeat(var(--_cols, 8), 1.25rem);
|
|
224
|
+
grid-template-rows: repeat(var(--_rows, 8), 1.25rem);
|
|
225
225
|
gap: 2px;
|
|
226
226
|
margin-bottom: var(--ui-space-2);
|
|
227
227
|
}
|
|
@@ -222,7 +222,7 @@ onBeforeUnmount(() => {
|
|
|
222
222
|
<span
|
|
223
223
|
class="swatch"
|
|
224
224
|
:class="{ default: !swatch.color }"
|
|
225
|
-
:style="{ '--
|
|
225
|
+
:style="{ '--_swatch': swatch.color }"
|
|
226
226
|
></span>
|
|
227
227
|
<span class="swatch-label">{{ swatch.label }}</span>
|
|
228
228
|
</button>
|
|
@@ -321,7 +321,7 @@ onBeforeUnmount(() => {
|
|
|
321
321
|
height: 1rem;
|
|
322
322
|
border-radius: 999px;
|
|
323
323
|
border: 1px solid var(--ui-border);
|
|
324
|
-
background: var(--
|
|
324
|
+
background: var(--_swatch, #fff);
|
|
325
325
|
box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.35);
|
|
326
326
|
flex-shrink: 0;
|
|
327
327
|
}
|
|
@@ -292,7 +292,7 @@ onBeforeUnmount(() => {
|
|
|
292
292
|
<span
|
|
293
293
|
class="swatch"
|
|
294
294
|
:class="{ default: !swatch.color }"
|
|
295
|
-
:style="{ '--
|
|
295
|
+
:style="{ '--_swatch': swatch.color }"
|
|
296
296
|
></span>
|
|
297
297
|
<span>{{ swatch.label }}</span>
|
|
298
298
|
</button>
|
|
@@ -495,7 +495,7 @@ onBeforeUnmount(() => {
|
|
|
495
495
|
flex: 0 0 14px;
|
|
496
496
|
border: 1px solid color-mix(in srgb, var(--ui-border) 80%, #000);
|
|
497
497
|
border-radius: 3px;
|
|
498
|
-
background: var(--
|
|
498
|
+
background: var(--_swatch);
|
|
499
499
|
}
|
|
500
500
|
|
|
501
501
|
.swatch.default {
|
package/vue/UiEditorToolbar.vue
CHANGED
|
@@ -45,9 +45,10 @@ const hostState = computed(() =>
|
|
|
45
45
|
padding: var(--ui-editor-toolbar-padding-block, 6px)
|
|
46
46
|
var(--ui-editor-toolbar-padding-inline, 12px);
|
|
47
47
|
min-height: var(--ui-editor-toolbar-min-height, 48px);
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
48
|
+
/* More controls than the column is wide is normal at a readable measure, so the row wraps.
|
|
49
|
+
Scrolling hid the tail behind an invisible scrollbar. */
|
|
50
|
+
flex-wrap: wrap;
|
|
51
|
+
row-gap: var(--ui-editor-toolbar-row-gap, var(--ui-editor-toolbar-gap, 2px));
|
|
51
52
|
background: var(--ui-editor-toolbar-surface, var(--ui-surface));
|
|
52
53
|
border-bottom: 1px solid var(--ui-editor-toolbar-border, var(--ui-border));
|
|
53
54
|
}
|
|
@@ -69,6 +70,7 @@ const hostState = computed(() =>
|
|
|
69
70
|
}
|
|
70
71
|
|
|
71
72
|
[data-component~="ui-editor-toolbar"][data-ui-editor-toolbar-state~="floating"] {
|
|
73
|
+
flex-wrap: nowrap;
|
|
72
74
|
position: static;
|
|
73
75
|
top: auto;
|
|
74
76
|
width: max-content;
|
package/vue/UiMenuItem.vue
CHANGED
|
@@ -46,6 +46,19 @@ withDefaults(
|
|
|
46
46
|
color var(--ui-motion-fast) var(--ui-motion-ease);
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
+
/* Centre the glyphs, not the line box: a label without descenders otherwise reads high. */
|
|
50
|
+
/* Centre the glyphs, not the line box: a label without descenders otherwise reads high.
|
|
51
|
+
* Trimming applies to block containers, so the box is a block with centred content. */
|
|
52
|
+
@supports (text-box-trim: trim-both) {
|
|
53
|
+
[data-component~="ui-menu-item"] {
|
|
54
|
+
display: block;
|
|
55
|
+
min-block-size: var(--ui-menu-item-min-block-size, var(--ui-control-size-md, 2.5rem));
|
|
56
|
+
align-content: center;
|
|
57
|
+
text-box-trim: trim-both;
|
|
58
|
+
text-box-edge: cap alphabetic;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
49
62
|
[data-component~="ui-menu-item"]:is(:hover, :focus-visible):not([aria-disabled="true"]) {
|
|
50
63
|
background: var(--ui-menu-item-hover-surface, var(--ui-surface-subtle));
|
|
51
64
|
}
|
package/vue/UiStack.vue
CHANGED
|
@@ -32,7 +32,7 @@ const hostState = computed(() =>
|
|
|
32
32
|
display: flex;
|
|
33
33
|
flex-direction: column;
|
|
34
34
|
align-items: stretch;
|
|
35
|
-
gap: var(--ui-
|
|
35
|
+
gap: var(--ui-stack-gap, var(--_layout-gap));
|
|
36
36
|
min-inline-size: 0;
|
|
37
37
|
max-inline-size: 100%;
|
|
38
38
|
margin: 0;
|
package/vue/UiTabs.vue
CHANGED
|
@@ -259,6 +259,19 @@ onBeforeUnmount(() => {
|
|
|
259
259
|
border-color var(--ui-motion-fast) var(--ui-motion-ease);
|
|
260
260
|
}
|
|
261
261
|
|
|
262
|
+
/* Centre the glyphs, not the line box: a label without descenders otherwise reads high. */
|
|
263
|
+
/* Centre the glyphs, not the line box: a label without descenders otherwise reads high.
|
|
264
|
+
* Trimming applies to block containers, so the box is a block with centred content. */
|
|
265
|
+
@supports (text-box-trim: trim-both) {
|
|
266
|
+
.list button {
|
|
267
|
+
display: block;
|
|
268
|
+
text-align: center;
|
|
269
|
+
align-content: center;
|
|
270
|
+
text-box-trim: trim-both;
|
|
271
|
+
text-box-edge: cap alphabetic;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
|
|
262
275
|
[data-component~="ui-tabs"][data-ui-tabs-state~="stretch"] .list {
|
|
263
276
|
grid-auto-columns: minmax(max-content, 1fr);
|
|
264
277
|
}
|
package/vue/UiToastRegion.vue
CHANGED
|
@@ -264,13 +264,13 @@ defineExpose({
|
|
|
264
264
|
background: var(--ui-surface-elevated);
|
|
265
265
|
color: var(--ui-text-primary);
|
|
266
266
|
box-shadow: var(--ui-elevation-overlay, var(--ui-shadow-lg));
|
|
267
|
-
animation: ui-toast-enter var(--ui-toast-enter-duration, 0.32s)
|
|
267
|
+
animation: ui-toast-enter var(--ui-toast-region-enter-duration, 0.32s)
|
|
268
268
|
var(--ui-motion-ease-out, cubic-bezier(0.16, 1, 0.3, 1)) both;
|
|
269
269
|
}
|
|
270
270
|
|
|
271
271
|
/* Leaving slides on down and fades; the controller removes the toast when this ends. */
|
|
272
272
|
.toast.closing {
|
|
273
|
-
animation: ui-toast-exit var(--ui-toast-exit-duration, 0.22s) var(--ui-motion-ease) both;
|
|
273
|
+
animation: ui-toast-exit var(--ui-toast-region-exit-duration, 0.22s) var(--ui-motion-ease) both;
|
|
274
274
|
pointer-events: none;
|
|
275
275
|
}
|
|
276
276
|
|
package/vue/UiTooltip.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ type __VLS_Props = {
|
|
|
5
5
|
open?: boolean;
|
|
6
6
|
placement?: string;
|
|
7
7
|
showDelay?: number;
|
|
8
|
+
trigger?: 'hover' | 'click' | 'focus';
|
|
8
9
|
};
|
|
9
10
|
declare var __VLS_1: {};
|
|
10
11
|
type __VLS_Slots = {} & {
|
|
@@ -22,6 +23,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
|
|
|
22
23
|
readonly trigger: "keyboard" | "pointer" | "programmatic";
|
|
23
24
|
}) => any;
|
|
24
25
|
"update:open": (value: boolean) => any;
|
|
26
|
+
"update:trigger": (value: "click" | "focus" | "hover") => any;
|
|
25
27
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
26
28
|
onClose?: ((detail: {
|
|
27
29
|
readonly open: boolean;
|
|
@@ -34,7 +36,9 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
|
|
|
34
36
|
readonly trigger: "keyboard" | "pointer" | "programmatic";
|
|
35
37
|
}) => any) | undefined;
|
|
36
38
|
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
39
|
+
"onUpdate:trigger"?: ((value: "click" | "focus" | "hover") => any) | undefined;
|
|
37
40
|
}>, {
|
|
41
|
+
trigger: "hover" | "click" | "focus";
|
|
38
42
|
for: string;
|
|
39
43
|
hideDelay: number;
|
|
40
44
|
inverse: boolean;
|
package/vue/UiTooltip.vue
CHANGED
|
@@ -13,6 +13,7 @@ const props = withDefaults(
|
|
|
13
13
|
open?: boolean
|
|
14
14
|
placement?: string
|
|
15
15
|
showDelay?: number
|
|
16
|
+
trigger?: 'hover' | 'click' | 'focus'
|
|
16
17
|
}>(),
|
|
17
18
|
{
|
|
18
19
|
for: '',
|
|
@@ -21,10 +22,12 @@ const props = withDefaults(
|
|
|
21
22
|
open: false,
|
|
22
23
|
placement: 'top-start',
|
|
23
24
|
showDelay: 500,
|
|
25
|
+
trigger: 'hover',
|
|
24
26
|
},
|
|
25
27
|
)
|
|
26
28
|
const emit = defineEmits<{
|
|
27
29
|
'update:open': [value: boolean]
|
|
30
|
+
'update:trigger': [value: 'hover' | 'click' | 'focus']
|
|
28
31
|
open: [
|
|
29
32
|
detail: {
|
|
30
33
|
readonly open: boolean
|
|
@@ -91,6 +94,9 @@ function dispatch(name: string, detail?: unknown): boolean {
|
|
|
91
94
|
if (detail !== null && typeof detail === 'object' && 'open' in detail) {
|
|
92
95
|
emitEvent('update:open', (detail as Record<string, unknown>)['open'])
|
|
93
96
|
}
|
|
97
|
+
if (detail !== null && typeof detail === 'object' && 'trigger' in detail) {
|
|
98
|
+
emitEvent('update:trigger', (detail as Record<string, unknown>)['trigger'])
|
|
99
|
+
}
|
|
94
100
|
return root.value?.dispatchEvent(
|
|
95
101
|
new CustomEvent(name, { bubbles: true, composed: true, ...declared[name], detail }),
|
|
96
102
|
) ?? true
|
package/vue/chunks/UiAvatar.js
CHANGED
|
@@ -114,6 +114,6 @@ var UiAvatarGroup_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
|
|
|
114
114
|
}, toDisplayString(`+${overflowCount.value}`), 9, _hoisted_2)], 16, _hoisted_1);
|
|
115
115
|
};
|
|
116
116
|
}
|
|
117
|
-
}), [["__scopeId", "data-v-
|
|
117
|
+
}), [["__scopeId", "data-v-2ad5d86f"]]);
|
|
118
118
|
//#endregion
|
|
119
119
|
export { UiAvatarGroup_default as t };
|
package/vue/chunks/UiBadge.js
CHANGED
|
@@ -19,6 +19,6 @@ var UiBadge_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
|
|
|
19
19
|
return openBlock(), createElementBlock("span", mergeProps({ "data-component": "ui-badge" }, _ctx.$attrs, { "data-ui-badge-state": hostState.value || void 0 }), [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 16, _hoisted_1);
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
|
-
}), [["__scopeId", "data-v-
|
|
22
|
+
}), [["__scopeId", "data-v-7e9b5784"]]);
|
|
23
23
|
//#endregion
|
|
24
24
|
export { UiBadge_default as t };
|
package/vue/chunks/UiCluster.js
CHANGED
|
@@ -19,6 +19,6 @@ var UiCluster_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
19
19
|
return openBlock(), createElementBlock("div", mergeProps({ "data-component": "ui-cluster" }, _ctx.$attrs, { "data-ui-cluster-state": hostState.value || void 0 }), [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 16, _hoisted_1);
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
|
-
}), [["__scopeId", "data-v-
|
|
22
|
+
}), [["__scopeId", "data-v-6de2f2e4"]]);
|
|
23
23
|
//#endregion
|
|
24
24
|
export { UiCluster_default as t };
|
package/vue/chunks/UiCombobox.js
CHANGED
|
@@ -6,16 +6,17 @@ import * as controllerModule from "@threadlabs/looma/components/ui-combobox/ui-c
|
|
|
6
6
|
//#region .build/vue/UiCombobox.vue?vue&type=script&setup=true&lang.ts
|
|
7
7
|
var _hoisted_1 = ["data-ui-combobox-state"];
|
|
8
8
|
var _hoisted_2 = ["for"];
|
|
9
|
-
var _hoisted_3 = {
|
|
9
|
+
var _hoisted_3 = { class: "control" };
|
|
10
|
+
var _hoisted_4 = {
|
|
10
11
|
class: "field",
|
|
11
12
|
ref: "field"
|
|
12
13
|
};
|
|
13
|
-
var
|
|
14
|
+
var _hoisted_5 = [
|
|
14
15
|
"data-index",
|
|
15
16
|
"disabled",
|
|
16
17
|
"aria-label"
|
|
17
18
|
];
|
|
18
|
-
var
|
|
19
|
+
var _hoisted_6 = [
|
|
19
20
|
"id",
|
|
20
21
|
"aria-controls",
|
|
21
22
|
"aria-expanded",
|
|
@@ -28,45 +29,45 @@ var _hoisted_5 = [
|
|
|
28
29
|
"readonly",
|
|
29
30
|
"required"
|
|
30
31
|
];
|
|
31
|
-
var
|
|
32
|
+
var _hoisted_7 = {
|
|
32
33
|
key: 1,
|
|
33
34
|
type: "button",
|
|
34
35
|
"data-combobox-action": "clear",
|
|
35
36
|
"aria-label": "Clear"
|
|
36
37
|
};
|
|
37
|
-
var _hoisted_7 = ["id", "disabled"];
|
|
38
38
|
var _hoisted_8 = ["aria-controls"];
|
|
39
|
-
var _hoisted_9 = ["
|
|
40
|
-
var _hoisted_10 = [
|
|
39
|
+
var _hoisted_9 = ["id", "disabled"];
|
|
40
|
+
var _hoisted_10 = ["hidden"];
|
|
41
|
+
var _hoisted_11 = [
|
|
41
42
|
"id",
|
|
42
43
|
"aria-label",
|
|
43
44
|
"aria-busy"
|
|
44
45
|
];
|
|
45
|
-
var
|
|
46
|
-
var
|
|
46
|
+
var _hoisted_12 = ["role", "aria-label"];
|
|
47
|
+
var _hoisted_13 = {
|
|
47
48
|
key: 0,
|
|
48
49
|
class: "group"
|
|
49
50
|
};
|
|
50
|
-
var
|
|
51
|
+
var _hoisted_14 = [
|
|
51
52
|
"id",
|
|
52
53
|
"aria-selected",
|
|
53
54
|
"aria-disabled",
|
|
54
55
|
"data-index"
|
|
55
56
|
];
|
|
56
|
-
var
|
|
57
|
-
var
|
|
58
|
-
var
|
|
57
|
+
var _hoisted_15 = { class: "primary" };
|
|
58
|
+
var _hoisted_16 = ["id", "data-index"];
|
|
59
|
+
var _hoisted_17 = {
|
|
59
60
|
key: 1,
|
|
60
61
|
class: "message"
|
|
61
62
|
};
|
|
62
|
-
var
|
|
63
|
-
var
|
|
63
|
+
var _hoisted_18 = ["id", "hidden"];
|
|
64
|
+
var _hoisted_19 = {
|
|
64
65
|
class: "sr-only",
|
|
65
66
|
role: "status",
|
|
66
67
|
"aria-live": "polite",
|
|
67
68
|
"aria-atomic": "true"
|
|
68
69
|
};
|
|
69
|
-
var
|
|
70
|
+
var _hoisted_20 = {
|
|
70
71
|
class: "authored-options",
|
|
71
72
|
hidden: "",
|
|
72
73
|
"aria-hidden": "true",
|
|
@@ -143,6 +144,7 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
143
144
|
const popupElement = useTemplateRef("popup");
|
|
144
145
|
const listboxElement = useTemplateRef("listbox");
|
|
145
146
|
const optionsElement = useTemplateRef("options");
|
|
147
|
+
const internalItems = ref([]);
|
|
146
148
|
const raw = ref("");
|
|
147
149
|
const display = ref("");
|
|
148
150
|
const selected = ref(null);
|
|
@@ -327,6 +329,7 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
327
329
|
})) ?? true;
|
|
328
330
|
}
|
|
329
331
|
function read(name) {
|
|
332
|
+
if (name === "internalItems") return internalItems.value;
|
|
330
333
|
if (name === "raw") return raw.value;
|
|
331
334
|
if (name === "display") return display.value;
|
|
332
335
|
if (name === "selected") return selected.value;
|
|
@@ -347,6 +350,10 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
347
350
|
return props[name];
|
|
348
351
|
}
|
|
349
352
|
function write(name, value) {
|
|
353
|
+
if (name === "internalItems") {
|
|
354
|
+
internalItems.value = value;
|
|
355
|
+
return true;
|
|
356
|
+
}
|
|
350
357
|
if (name === "raw") {
|
|
351
358
|
raw.value = value;
|
|
352
359
|
return true;
|
|
@@ -512,9 +519,9 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
512
519
|
for: `${uid.value}-input`,
|
|
513
520
|
class: normalizeClass({ "sr-only": __props.labelVisibility === "sr-only" })
|
|
514
521
|
}, [createTextVNode(toDisplayString(__props.label) + " ", 1), __props.required ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createTextVNode(" *")], 64)) : createCommentVNode("v-if", true)], 10, _hoisted_2),
|
|
515
|
-
createElementVNode("div", _hoisted_3, [
|
|
522
|
+
createElementVNode("div", _hoisted_3, [createElementVNode("div", _hoisted_4, [
|
|
516
523
|
renderSlot(_ctx.$slots, "start", {}, void 0, true),
|
|
517
|
-
__props.multiple ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(
|
|
524
|
+
__props.multiple ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(internalItems.value, (item, index) => {
|
|
518
525
|
return openBlock(), createElementBlock("button", {
|
|
519
526
|
key: item.id,
|
|
520
527
|
class: "item",
|
|
@@ -526,7 +533,7 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
526
533
|
}, [renderSlot(_ctx.$slots, `item-${item.id}`, {}, () => [createVNode(UiBadge_default, null, {
|
|
527
534
|
default: withCtx(() => [createTextVNode(toDisplayString(item.label), 1)]),
|
|
528
535
|
_: 2
|
|
529
|
-
}, 1024)], true)], 8,
|
|
536
|
+
}, 1024)], true)], 8, _hoisted_5);
|
|
530
537
|
}), 128)) : createCommentVNode("v-if", true),
|
|
531
538
|
createElementVNode("input", {
|
|
532
539
|
role: "combobox",
|
|
@@ -544,8 +551,8 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
544
551
|
readonly: __props.readonly,
|
|
545
552
|
required: __props.required,
|
|
546
553
|
ref: "input"
|
|
547
|
-
}, null, 40,
|
|
548
|
-
__props.clearable ? (openBlock(), createElementBlock("button",
|
|
554
|
+
}, null, 40, _hoisted_6),
|
|
555
|
+
__props.clearable ? (openBlock(), createElementBlock("button", _hoisted_7, [..._cache[0] || (_cache[0] = [createElementVNode("svg", {
|
|
549
556
|
class: "affordance-icon",
|
|
550
557
|
"aria-hidden": "true",
|
|
551
558
|
viewBox: "0 0 24 24",
|
|
@@ -554,21 +561,14 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
554
561
|
"stroke-width": "2",
|
|
555
562
|
"stroke-linecap": "round"
|
|
556
563
|
}, [createElementVNode("path", { d: "M7 7l10 10M17 7 7 17" })], -1)])])) : createCommentVNode("v-if", true),
|
|
557
|
-
__props.help ? (openBlock(), createElementBlock("button", {
|
|
558
|
-
key: 2,
|
|
559
|
-
type: "button",
|
|
560
|
-
"aria-label": "Help",
|
|
561
|
-
id: `${uid.value}-help`,
|
|
562
|
-
disabled: __props.disabled
|
|
563
|
-
}, [..._cache[1] || (_cache[1] = [createElementVNode("span", { "aria-hidden": "true" }, "?", -1)])], 8, _hoisted_7)) : createCommentVNode("v-if", true),
|
|
564
564
|
__props.disclosure ? (openBlock(), createElementBlock("button", {
|
|
565
|
-
key:
|
|
565
|
+
key: 2,
|
|
566
566
|
type: "button",
|
|
567
567
|
"data-combobox-action": "disclosure",
|
|
568
568
|
tabindex: "-1",
|
|
569
569
|
"aria-label": "Show suggestions",
|
|
570
570
|
"aria-controls": `${uid.value}-listbox`
|
|
571
|
-
}, [..._cache[
|
|
571
|
+
}, [..._cache[1] || (_cache[1] = [createElementVNode("svg", {
|
|
572
572
|
class: "affordance-icon",
|
|
573
573
|
"aria-hidden": "true",
|
|
574
574
|
viewBox: "0 0 24 24",
|
|
@@ -578,9 +578,34 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
578
578
|
"stroke-linecap": "round",
|
|
579
579
|
"stroke-linejoin": "round"
|
|
580
580
|
}, [createElementVNode("path", { d: "m6 9 6 6 6-6" })], -1)])], 8, _hoisted_8)) : createCommentVNode("v-if", true)
|
|
581
|
-
], 512),
|
|
581
|
+
], 512), __props.help ? (openBlock(), createElementBlock("button", {
|
|
582
|
+
key: 0,
|
|
583
|
+
class: "help",
|
|
584
|
+
type: "button",
|
|
585
|
+
"aria-label": "Help",
|
|
586
|
+
id: `${uid.value}-help`,
|
|
587
|
+
disabled: __props.disabled
|
|
588
|
+
}, [..._cache[2] || (_cache[2] = [createElementVNode("svg", {
|
|
589
|
+
class: "help-icon",
|
|
590
|
+
"aria-hidden": "true",
|
|
591
|
+
viewBox: "0 0 24 24",
|
|
592
|
+
fill: "none",
|
|
593
|
+
stroke: "currentColor",
|
|
594
|
+
"stroke-width": "2",
|
|
595
|
+
"stroke-linecap": "round",
|
|
596
|
+
"stroke-linejoin": "round"
|
|
597
|
+
}, [
|
|
598
|
+
createElementVNode("circle", {
|
|
599
|
+
cx: "12",
|
|
600
|
+
cy: "12",
|
|
601
|
+
r: "10"
|
|
602
|
+
}),
|
|
603
|
+
createElementVNode("path", { d: "M9.1 9a3 3 0 0 1 5.8 1c0 2-3 3-3 3" }),
|
|
604
|
+
createElementVNode("path", { d: "M12 17h.01" })
|
|
605
|
+
], -1)])], 8, _hoisted_9)) : createCommentVNode("v-if", true)]),
|
|
582
606
|
__props.help ? (openBlock(), createBlock(UiTooltip_default, {
|
|
583
607
|
key: 0,
|
|
608
|
+
trigger: "click",
|
|
584
609
|
id: `${uid.value}-help-text`,
|
|
585
610
|
for: `${uid.value}-help`
|
|
586
611
|
}, {
|
|
@@ -603,7 +628,7 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
603
628
|
key: group.name,
|
|
604
629
|
role: group.role,
|
|
605
630
|
"aria-label": group.label ?? void 0
|
|
606
|
-
}, [group.name ? (openBlock(), createElementBlock("div",
|
|
631
|
+
}, [group.name ? (openBlock(), createElementBlock("div", _hoisted_13, toDisplayString(group.name), 1)) : createCommentVNode("v-if", true), (openBlock(true), createElementBlock(Fragment, null, renderList(group.rows, (row) => {
|
|
607
632
|
return openBlock(), createElementBlock("div", {
|
|
608
633
|
key: row.id,
|
|
609
634
|
class: normalizeClass(["option", { active: row.index === active.value }]),
|
|
@@ -612,8 +637,8 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
612
637
|
"aria-selected": row.value === selected.value,
|
|
613
638
|
"aria-disabled": row.disabled,
|
|
614
639
|
"data-index": row.index
|
|
615
|
-
}, [renderSlot(_ctx.$slots, `option-${row.id}`, {}, () => [createElementVNode("span",
|
|
616
|
-
}), 128))], 8,
|
|
640
|
+
}, [renderSlot(_ctx.$slots, `option-${row.id}`, {}, () => [createElementVNode("span", _hoisted_15, toDisplayString(row.label), 1)], true)], 10, _hoisted_14);
|
|
641
|
+
}), 128))], 8, _hoisted_12);
|
|
617
642
|
}), 128)),
|
|
618
643
|
creatable.value ? (openBlock(), createElementBlock("div", {
|
|
619
644
|
key: 0,
|
|
@@ -622,21 +647,21 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
622
647
|
"aria-selected": "false",
|
|
623
648
|
id: `${uid.value}-option-${createIndex.value}`,
|
|
624
649
|
"data-index": createIndex.value
|
|
625
|
-
}, toDisplayString(`Create “${raw.value}”`), 11,
|
|
626
|
-
message.value ? (openBlock(), createElementBlock("div",
|
|
627
|
-
], 8,
|
|
650
|
+
}, toDisplayString(`Create “${raw.value}”`), 11, _hoisted_16)) : createCommentVNode("v-if", true),
|
|
651
|
+
message.value ? (openBlock(), createElementBlock("div", _hoisted_17, toDisplayString(message.value), 1)) : createCommentVNode("v-if", true)
|
|
652
|
+
], 8, _hoisted_11), renderSlot(_ctx.$slots, "footer", {}, void 0, true)], 8, _hoisted_10),
|
|
628
653
|
createElementVNode("div", {
|
|
629
654
|
class: "message",
|
|
630
655
|
id: `${uid.value}-validation`,
|
|
631
656
|
hidden: !validation.value.issues.length
|
|
632
657
|
}, [(openBlock(true), createElementBlock(Fragment, null, renderList(validation.value.issues, (issue, index) => {
|
|
633
658
|
return openBlock(), createElementBlock("div", { key: index }, toDisplayString(issue.message), 1);
|
|
634
|
-
}), 128))], 8,
|
|
635
|
-
createElementVNode("div",
|
|
636
|
-
createElementVNode("div",
|
|
659
|
+
}), 128))], 8, _hoisted_18),
|
|
660
|
+
createElementVNode("div", _hoisted_19, toDisplayString(statusText.value), 1),
|
|
661
|
+
createElementVNode("div", _hoisted_20, [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 512)
|
|
637
662
|
], 16, _hoisted_1);
|
|
638
663
|
};
|
|
639
664
|
}
|
|
640
|
-
}), [["__scopeId", "data-v-
|
|
665
|
+
}), [["__scopeId", "data-v-f1d9bb8a"]]);
|
|
641
666
|
//#endregion
|
|
642
667
|
export { UiCombobox_default as t };
|
|
@@ -175,8 +175,8 @@ var UiEditorInsertTableGrid_default = /*#__PURE__*/ _plugin_vue_export_helper_de
|
|
|
175
175
|
role: "group",
|
|
176
176
|
"aria-label": "Table dimensions",
|
|
177
177
|
style: normalizeStyle({
|
|
178
|
-
"--
|
|
179
|
-
"--
|
|
178
|
+
"--_rows": rows.value,
|
|
179
|
+
"--_cols": cols.value
|
|
180
180
|
})
|
|
181
181
|
}, [(openBlock(true), createElementBlock(Fragment, null, renderList(cells.value, (cell) => {
|
|
182
182
|
return openBlock(), createElementBlock("button", {
|
|
@@ -198,6 +198,6 @@ var UiEditorInsertTableGrid_default = /*#__PURE__*/ _plugin_vue_export_helper_de
|
|
|
198
198
|
], 16, _hoisted_1);
|
|
199
199
|
};
|
|
200
200
|
}
|
|
201
|
-
}), [["__scopeId", "data-v-
|
|
201
|
+
}), [["__scopeId", "data-v-00e6602a"]]);
|
|
202
202
|
//#endregion
|
|
203
203
|
export { UiEditorInsertTableGrid_default as t };
|
|
@@ -157,7 +157,7 @@ var UiEditorTableContextMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_d
|
|
|
157
157
|
"data-action": swatch.action
|
|
158
158
|
}, [createElementVNode("span", {
|
|
159
159
|
class: normalizeClass(["swatch", { default: !swatch.color }]),
|
|
160
|
-
style: normalizeStyle({ "--
|
|
160
|
+
style: normalizeStyle({ "--_swatch": swatch.color })
|
|
161
161
|
}, null, 6), createElementVNode("span", _hoisted_5, toDisplayString(swatch.label), 1)], 10, _hoisted_4);
|
|
162
162
|
}), 128))])])) : createCommentVNode("v-if", true), (openBlock(true), createElementBlock(Fragment, null, renderList(sections.value, (section) => {
|
|
163
163
|
return openBlock(), createElementBlock(Fragment, { key: section.heading }, [_cache[1] || (_cache[1] = createElementVNode("div", { class: "sep" }, null, -1)), createElementVNode("div", _hoisted_6, [createElementVNode("div", _hoisted_7, toDisplayString(section.heading), 1), (openBlock(true), createElementBlock(Fragment, null, renderList(section.items, (item) => {
|
|
@@ -172,6 +172,6 @@ var UiEditorTableContextMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_d
|
|
|
172
172
|
}), 128))], 16, _hoisted_1);
|
|
173
173
|
};
|
|
174
174
|
}
|
|
175
|
-
}), [["__scopeId", "data-v-
|
|
175
|
+
}), [["__scopeId", "data-v-9cbdf038"]]);
|
|
176
176
|
//#endregion
|
|
177
177
|
export { UiEditorTableContextMenu_default as t };
|
|
@@ -250,7 +250,7 @@ var UiEditorTableToolbar_default = /*#__PURE__*/ _plugin_vue_export_helper_defau
|
|
|
250
250
|
"data-action": swatch.action
|
|
251
251
|
}, [createElementVNode("span", {
|
|
252
252
|
class: normalizeClass(["swatch", { default: !swatch.color }]),
|
|
253
|
-
style: normalizeStyle({ "--
|
|
253
|
+
style: normalizeStyle({ "--_swatch": swatch.color })
|
|
254
254
|
}, null, 6), createElementVNode("span", null, toDisplayString(swatch.label), 1)], 10, _hoisted_14);
|
|
255
255
|
}), 128))])])) : createCommentVNode("v-if", true), (openBlock(true), createElementBlock(Fragment, null, renderList(sections.value, (section) => {
|
|
256
256
|
return openBlock(), createElementBlock("div", {
|
|
@@ -270,6 +270,6 @@ var UiEditorTableToolbar_default = /*#__PURE__*/ _plugin_vue_export_helper_defau
|
|
|
270
270
|
], 16, _hoisted_1);
|
|
271
271
|
};
|
|
272
272
|
}
|
|
273
|
-
}), [["__scopeId", "data-v-
|
|
273
|
+
}), [["__scopeId", "data-v-1066cfb2"]]);
|
|
274
274
|
//#endregion
|
|
275
275
|
export { UiEditorTableToolbar_default as t };
|
|
@@ -23,6 +23,6 @@ var UiEditorToolbar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
|
|
|
23
23
|
}, _ctx.$attrs, { "data-ui-editor-toolbar-state": hostState.value || void 0 }), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1);
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
|
-
}), [["__scopeId", "data-v-
|
|
26
|
+
}), [["__scopeId", "data-v-0da1a114"]]);
|
|
27
27
|
//#endregion
|
|
28
28
|
export { UiEditorToolbar_default as t };
|
package/vue/chunks/UiMenuItem.js
CHANGED
|
@@ -26,6 +26,6 @@ var UiMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
26
26
|
}), [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 16, _hoisted_1);
|
|
27
27
|
};
|
|
28
28
|
}
|
|
29
|
-
}), [["__scopeId", "data-v-
|
|
29
|
+
}), [["__scopeId", "data-v-69407da9"]]);
|
|
30
30
|
//#endregion
|
|
31
31
|
export { UiMenuItem_default as t };
|
package/vue/chunks/UiStack.js
CHANGED
|
@@ -24,6 +24,6 @@ var UiStack_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
|
|
|
24
24
|
return openBlock(), createElementBlock("div", mergeProps({ "data-component": "ui-stack" }, _ctx.$attrs, { "data-ui-stack-state": hostState.value || void 0 }), [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 16, _hoisted_1);
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
|
-
}), [["__scopeId", "data-v-
|
|
27
|
+
}), [["__scopeId", "data-v-9a903e2b"]]);
|
|
28
28
|
//#endregion
|
|
29
29
|
export { UiStack_default as t };
|
package/vue/chunks/UiTabs.js
CHANGED
|
@@ -172,6 +172,6 @@ var UiTabs_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
172
172
|
}), 128))], 8, _hoisted_2), createElementVNode("div", _hoisted_4, [renderSlot(_ctx.$slots, "default")], 512)], 16, _hoisted_1);
|
|
173
173
|
};
|
|
174
174
|
}
|
|
175
|
-
}), [["__scopeId", "data-v-
|
|
175
|
+
}), [["__scopeId", "data-v-3e89baea"]]);
|
|
176
176
|
//#endregion
|
|
177
177
|
export { UiTabs_default as t };
|
|
@@ -188,6 +188,6 @@ var UiToastRegion_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
|
|
|
188
188
|
}), 128))], 16);
|
|
189
189
|
};
|
|
190
190
|
}
|
|
191
|
-
}), [["__scopeId", "data-v-
|
|
191
|
+
}), [["__scopeId", "data-v-660faa24"]]);
|
|
192
192
|
//#endregion
|
|
193
193
|
export { UiToastRegion_default as t };
|
package/vue/chunks/UiTooltip.js
CHANGED
|
@@ -21,10 +21,12 @@ var UiTooltip_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
21
21
|
default: false
|
|
22
22
|
},
|
|
23
23
|
placement: { default: "top-start" },
|
|
24
|
-
showDelay: { default: 500 }
|
|
24
|
+
showDelay: { default: 500 },
|
|
25
|
+
trigger: { default: "hover" }
|
|
25
26
|
},
|
|
26
27
|
emits: [
|
|
27
28
|
"update:open",
|
|
29
|
+
"update:trigger",
|
|
28
30
|
"open",
|
|
29
31
|
"close"
|
|
30
32
|
],
|
|
@@ -69,6 +71,7 @@ var UiTooltip_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
69
71
|
const emitEvent = emit;
|
|
70
72
|
emitEvent(name, detail);
|
|
71
73
|
if (detail !== null && typeof detail === "object" && "open" in detail) emitEvent("update:open", detail["open"]);
|
|
74
|
+
if (detail !== null && typeof detail === "object" && "trigger" in detail) emitEvent("update:trigger", detail["trigger"]);
|
|
72
75
|
return root.value?.dispatchEvent(new CustomEvent(name, {
|
|
73
76
|
bubbles: true,
|
|
74
77
|
composed: true,
|
|
@@ -157,6 +160,6 @@ var UiTooltip_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
157
160
|
}), [createElementVNode("div", _hoisted_2, [renderSlot(_ctx.$slots, "default", {}, void 0, true)])], 16, _hoisted_1);
|
|
158
161
|
};
|
|
159
162
|
}
|
|
160
|
-
}), [["__scopeId", "data-v-
|
|
163
|
+
}), [["__scopeId", "data-v-3af2132e"]]);
|
|
161
164
|
//#endregion
|
|
162
165
|
export { UiTooltip_default as t };
|