@threadlabs/looma 0.25.5 → 0.25.7
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-checkbox/ui-checkbox.html +2 -0
- package/components/ui-cluster/ui-cluster.html +5 -2
- package/components/ui-list-item/ui-list-item.html +12 -3
- package/components/ui-tree-item/ui-tree-item.html +14 -0
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/styles/ui-cluster.css +3 -0
- package/styles/ui-list-item.css +11 -3
- package/styles/ui-tree-item.css +13 -0
- package/vanilla/UiCheckbox.d.ts +1 -0
- package/vanilla/UiCheckbox.js +18 -15
- package/vanilla/UiCluster.d.ts +1 -1
- package/vanilla/UiCluster.js +1 -1
- package/vanilla/UiListItem.d.ts +1 -0
- package/vanilla/UiListItem.js +4 -2
- package/vanilla/UiTreeItem.d.ts +1 -0
- package/vanilla/UiTreeItem.js +1 -1
- package/vue/UiCheckbox.d.ts +9 -0
- package/vue/UiCheckbox.vue +20 -0
- package/vue/UiCluster.d.ts +3 -3
- package/vue/UiCluster.vue +7 -4
- package/vue/UiListItem.d.ts +9 -0
- package/vue/UiListItem.vue +35 -4
- package/vue/UiTreeItem.d.ts +9 -0
- package/vue/UiTreeItem.vue +35 -0
- package/vue/chunks/UiCheckbox.js +25 -1
- package/vue/chunks/UiCluster.js +4 -3
- package/vue/chunks/UiListItem.js +23 -1
- package/vue/chunks/UiTreeItem.js +24 -1
- package/vue/components.css +204 -180
package/vue/UiListItem.vue
CHANGED
|
@@ -24,6 +24,14 @@ const propValidityContract = {
|
|
|
24
24
|
'Gives an item a quiet accent wash without changing its text or announcing selection. Several items may be highlighted, such as new messages. Describe the\n reason in the item\'s text; use current only for the current destination.',
|
|
25
25
|
default: false,
|
|
26
26
|
},
|
|
27
|
+
leadingInteractive: {
|
|
28
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
29
|
+
required: false,
|
|
30
|
+
target: { attribute: 'leadinginteractive' },
|
|
31
|
+
description:
|
|
32
|
+
'Makes the leading region an independent control above the row link. Use it for a checkbox or button; keep noninteractive row icons in the title link when\n combining them with a leading control.',
|
|
33
|
+
default: false,
|
|
34
|
+
},
|
|
27
35
|
variant: {
|
|
28
36
|
type: { kind: 'terminal', name: 'keyword' },
|
|
29
37
|
required: false,
|
|
@@ -46,12 +54,14 @@ const propValidityContract = {
|
|
|
46
54
|
const props = defineProps({
|
|
47
55
|
current: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
48
56
|
highlighted: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
57
|
+
leadingInteractive: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
49
58
|
variant: { type: null as unknown as PropType<'row' | 'card' | null>, default: 'row' },
|
|
50
59
|
wrap: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
51
60
|
})
|
|
52
61
|
const acceptedProps: Record<string, unknown> = {
|
|
53
62
|
current: false,
|
|
54
63
|
highlighted: false,
|
|
64
|
+
leadingInteractive: false,
|
|
55
65
|
variant: 'row',
|
|
56
66
|
wrap: false,
|
|
57
67
|
}
|
|
@@ -70,6 +80,13 @@ const checkedProps = computed(() => ({
|
|
|
70
80
|
'highlighted',
|
|
71
81
|
acceptedProps,
|
|
72
82
|
) as boolean,
|
|
83
|
+
leadingInteractive: checkedProp<boolean>(
|
|
84
|
+
props['leadingInteractive'],
|
|
85
|
+
{ kind: 'terminal', name: 'boolean' },
|
|
86
|
+
false,
|
|
87
|
+
'leadingInteractive',
|
|
88
|
+
acceptedProps,
|
|
89
|
+
) as boolean,
|
|
73
90
|
variant: checkedProp<'row' | 'card'>(
|
|
74
91
|
props['variant'],
|
|
75
92
|
{ kind: 'terminal', name: 'keyword' },
|
|
@@ -148,6 +165,7 @@ const hostState = computed(() =>
|
|
|
148
165
|
&& `variant=${encodeURIComponent(checkedProps.value.variant)}`,
|
|
149
166
|
checkedProps.value.highlighted && 'highlighted',
|
|
150
167
|
checkedProps.value.current && 'current',
|
|
168
|
+
checkedProps.value.leadingInteractive && 'leadingInteractive',
|
|
151
169
|
checkedProps.value.wrap && 'wrap',
|
|
152
170
|
].filter(Boolean).join(' ')
|
|
153
171
|
)
|
|
@@ -161,6 +179,13 @@ const hostState = computed(() =>
|
|
|
161
179
|
v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
|
|
162
180
|
:data-current="reflectedProp('current', 'current', checkedProps.current, undefined, false)"
|
|
163
181
|
:data-highlighted="reflectedProp('highlighted', 'highlighted', checkedProps.highlighted, undefined, false)"
|
|
182
|
+
:data-leading-interactive="reflectedProp(
|
|
183
|
+
'leadingInteractive',
|
|
184
|
+
'leading-interactive',
|
|
185
|
+
checkedProps.leadingInteractive,
|
|
186
|
+
undefined,
|
|
187
|
+
false,
|
|
188
|
+
)"
|
|
164
189
|
:data-variant="reflectedProp('variant', 'variant', checkedProps.variant, undefined, false)"
|
|
165
190
|
:data-wrap="reflectedProp('wrap', 'wrap', checkedProps.wrap, undefined, false)"
|
|
166
191
|
:data-ui-list-item-state="hostState || undefined"
|
|
@@ -234,12 +259,12 @@ const hostState = computed(() =>
|
|
|
234
259
|
background: var(--ui-surface-raised);
|
|
235
260
|
}
|
|
236
261
|
|
|
237
|
-
[data-component~="ui-list-item"]:has(.title a[href]:hover
|
|
238
|
-
background: var(--ui-surface
|
|
262
|
+
[data-component~="ui-list-item"]:where(:has(.title a[href])):hover {
|
|
263
|
+
background: var(--ui-selection-surface);
|
|
239
264
|
}
|
|
240
265
|
|
|
241
|
-
[data-component~="ui-list-item"][data-ui-list-item-state~="variant=card"]:has(.title
|
|
242
|
-
a[href]:hover
|
|
266
|
+
[data-component~="ui-list-item"][data-ui-list-item-state~="variant=card"]:where(:has(.title
|
|
267
|
+
a[href])):hover {
|
|
243
268
|
border-color: var(--ui-border-strong);
|
|
244
269
|
}
|
|
245
270
|
|
|
@@ -273,6 +298,12 @@ const hostState = computed(() =>
|
|
|
273
298
|
color: var(--ui-selection-text);
|
|
274
299
|
}
|
|
275
300
|
|
|
301
|
+
/* An explicitly independent leading control sits above the stretched row link. */
|
|
302
|
+
[data-component~="ui-list-item"][data-ui-list-item-state~="leadingInteractive"] .leading {
|
|
303
|
+
position: relative;
|
|
304
|
+
z-index: 1;
|
|
305
|
+
}
|
|
306
|
+
|
|
276
307
|
/* Trailing controls take their own clicks, above the title link's stretched hit area. */
|
|
277
308
|
.trailing {
|
|
278
309
|
position: relative;
|
package/vue/UiTreeItem.d.ts
CHANGED
|
@@ -6,6 +6,10 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<import
|
|
|
6
6
|
type: PropType<string | null>;
|
|
7
7
|
default: string;
|
|
8
8
|
};
|
|
9
|
+
actionsVisible: {
|
|
10
|
+
type: PropType<boolean | null>;
|
|
11
|
+
default: boolean;
|
|
12
|
+
};
|
|
9
13
|
container: {
|
|
10
14
|
type: PropType<boolean | null>;
|
|
11
15
|
default: boolean;
|
|
@@ -70,6 +74,10 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<import
|
|
|
70
74
|
type: PropType<string | null>;
|
|
71
75
|
default: string;
|
|
72
76
|
};
|
|
77
|
+
actionsVisible: {
|
|
78
|
+
type: PropType<boolean | null>;
|
|
79
|
+
default: boolean;
|
|
80
|
+
};
|
|
73
81
|
container: {
|
|
74
82
|
type: PropType<boolean | null>;
|
|
75
83
|
default: boolean;
|
|
@@ -136,6 +144,7 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<import
|
|
|
136
144
|
disabled: boolean | null;
|
|
137
145
|
expanded: boolean | null;
|
|
138
146
|
accepts: string | null;
|
|
147
|
+
actionsVisible: boolean | null;
|
|
139
148
|
container: boolean | null;
|
|
140
149
|
dragType: string | null;
|
|
141
150
|
dropDepth: number | null;
|
package/vue/UiTreeItem.vue
CHANGED
|
@@ -30,6 +30,14 @@ const propValidityContract = {
|
|
|
30
30
|
'A comma-separated list of the dragType values this branch accepts dropped inside it. Empty accepts any type. It does not affect drops before or after the\n item.',
|
|
31
31
|
default: '',
|
|
32
32
|
},
|
|
33
|
+
actionsVisible: {
|
|
34
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
35
|
+
required: false,
|
|
36
|
+
target: { attribute: 'actionsvisible' },
|
|
37
|
+
description:
|
|
38
|
+
'Keeps the actions slot visible before hover or focus, for persistent status or controls. The label fades beneath its measured width on pointer devices;\n touch rows retain a separate actions column with a short end fade. Does not change keyboard navigation or start the marquee.',
|
|
39
|
+
default: false,
|
|
40
|
+
},
|
|
33
41
|
container: {
|
|
34
42
|
type: { kind: 'terminal', name: 'boolean' },
|
|
35
43
|
required: false,
|
|
@@ -136,6 +144,7 @@ const propValidityContract = {
|
|
|
136
144
|
} as const
|
|
137
145
|
const props = defineProps({
|
|
138
146
|
accepts: { type: null as unknown as PropType<string | null>, default: '' },
|
|
147
|
+
actionsVisible: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
139
148
|
container: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
140
149
|
disabled: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
141
150
|
dragType: { type: null as unknown as PropType<string | null>, default: 'item' },
|
|
@@ -152,6 +161,7 @@ const props = defineProps({
|
|
|
152
161
|
})
|
|
153
162
|
const acceptedProps: Record<string, unknown> = {
|
|
154
163
|
accepts: '',
|
|
164
|
+
actionsVisible: false,
|
|
155
165
|
container: false,
|
|
156
166
|
disabled: false,
|
|
157
167
|
dragType: 'item',
|
|
@@ -174,6 +184,13 @@ const checkedProps = computed(() => ({
|
|
|
174
184
|
'accepts',
|
|
175
185
|
acceptedProps,
|
|
176
186
|
) as string,
|
|
187
|
+
actionsVisible: checkedProp<boolean>(
|
|
188
|
+
props['actionsVisible'],
|
|
189
|
+
{ kind: 'terminal', name: 'boolean' },
|
|
190
|
+
false,
|
|
191
|
+
'actionsVisible',
|
|
192
|
+
acceptedProps,
|
|
193
|
+
) as boolean,
|
|
177
194
|
container: checkedProp<boolean>(
|
|
178
195
|
props['container'],
|
|
179
196
|
{ kind: 'terminal', name: 'boolean' },
|
|
@@ -486,6 +503,7 @@ const hostState = computed(() =>
|
|
|
486
503
|
[
|
|
487
504
|
checkedProps.value.selected && 'selected',
|
|
488
505
|
checkedProps.value.disabled && 'disabled',
|
|
506
|
+
checkedProps.value.actionsVisible && 'actionsVisible',
|
|
489
507
|
isContainer.value && 'isContainer',
|
|
490
508
|
].filter(Boolean).join(' ')
|
|
491
509
|
)
|
|
@@ -536,6 +554,7 @@ useComponentHost(() => import('../components/ui-tree-item/ui-tree-item.js'), {
|
|
|
536
554
|
},
|
|
537
555
|
propNames: [
|
|
538
556
|
'accepts',
|
|
557
|
+
'actionsVisible',
|
|
539
558
|
'container',
|
|
540
559
|
'disabled',
|
|
541
560
|
'dragType',
|
|
@@ -608,6 +627,7 @@ function concat<T extends unknown[]>(...values: T): ConcatResult<T> {
|
|
|
608
627
|
:aria-disabled="checkedProps.disabled ?? undefined"
|
|
609
628
|
v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
|
|
610
629
|
:data-accepts="reflectedProp('accepts', 'accepts', checkedProps.accepts, undefined, true)"
|
|
630
|
+
:data-actions-visible="reflectedProp('actionsVisible', 'actions-visible', checkedProps.actionsVisible, undefined, false)"
|
|
611
631
|
:data-container="reflectedProp('container', 'container', checkedProps.container, undefined, false)"
|
|
612
632
|
:data-disabled="reflectedProp('disabled', 'disabled', checkedProps.disabled, undefined, false)"
|
|
613
633
|
:data-drag-type="reflectedProp('dragType', 'drag-type', checkedProps.dragType, undefined, true)"
|
|
@@ -957,6 +977,7 @@ function concat<T extends unknown[]>(...values: T): ConcatResult<T> {
|
|
|
957
977
|
the truncation mark while it shows: an ellipsis under it would read as a second one. */
|
|
958
978
|
.row:hover > .label,
|
|
959
979
|
.row:focus-within > .label,
|
|
980
|
+
[data-component~="ui-tree-item"][data-ui-tree-item-state~="actionsVisible"] > .row > .label,
|
|
960
981
|
[data-component~="ui-tree-item"][data-move-source] > .row > .label {
|
|
961
982
|
text-overflow: clip;
|
|
962
983
|
mask-image: linear-gradient(
|
|
@@ -968,6 +989,9 @@ function concat<T extends unknown[]>(...values: T): ConcatResult<T> {
|
|
|
968
989
|
|
|
969
990
|
.row:hover > .label:dir(rtl),
|
|
970
991
|
.row:focus-within > .label:dir(rtl),
|
|
992
|
+
[data-component~="ui-tree-item"][data-ui-tree-item-state~="actionsVisible"]
|
|
993
|
+
> .row
|
|
994
|
+
> .label:dir(rtl),
|
|
971
995
|
[data-component~="ui-tree-item"][data-move-source] > .row > .label:dir(rtl) {
|
|
972
996
|
mask-image: linear-gradient(
|
|
973
997
|
to left,
|
|
@@ -1056,6 +1080,7 @@ function concat<T extends unknown[]>(...values: T): ConcatResult<T> {
|
|
|
1056
1080
|
|
|
1057
1081
|
.row:hover > .actions,
|
|
1058
1082
|
.row:focus-within > .actions,
|
|
1083
|
+
[data-component~="ui-tree-item"][data-ui-tree-item-state~="actionsVisible"] > .row > .actions,
|
|
1059
1084
|
[data-component~="ui-tree-item"][data-move-source] > .row > .actions {
|
|
1060
1085
|
opacity: 1;
|
|
1061
1086
|
pointer-events: auto;
|
|
@@ -1094,6 +1119,16 @@ function concat<T extends unknown[]>(...values: T): ConcatResult<T> {
|
|
|
1094
1119
|
);
|
|
1095
1120
|
}
|
|
1096
1121
|
|
|
1122
|
+
/* Persistent content has its own column on touch. Fade only the label's end. */
|
|
1123
|
+
[data-component~="ui-tree-item"][data-ui-tree-item-state~="actionsVisible"] > .row > .label {
|
|
1124
|
+
mask-image: linear-gradient(to right, #000 calc(100% - var(--ui-space-1)), transparent 100%);
|
|
1125
|
+
}
|
|
1126
|
+
[data-component~="ui-tree-item"][data-ui-tree-item-state~="actionsVisible"]
|
|
1127
|
+
> .row
|
|
1128
|
+
> .label:dir(rtl) {
|
|
1129
|
+
mask-image: linear-gradient(to left, #000 calc(100% - var(--ui-space-1)), transparent 100%);
|
|
1130
|
+
}
|
|
1131
|
+
|
|
1097
1132
|
.row[data-ui-marquee] > .label:dir(rtl) {
|
|
1098
1133
|
mask-image: linear-gradient(
|
|
1099
1134
|
to left,
|
package/vue/chunks/UiCheckbox.js
CHANGED
|
@@ -9,6 +9,7 @@ var _hoisted_1 = [
|
|
|
9
9
|
"data-disabled",
|
|
10
10
|
"data-indeterminate",
|
|
11
11
|
"data-invalid",
|
|
12
|
+
"data-label",
|
|
12
13
|
"data-name",
|
|
13
14
|
"data-required",
|
|
14
15
|
"data-size",
|
|
@@ -16,6 +17,7 @@ var _hoisted_1 = [
|
|
|
16
17
|
"data-ui-checkbox-state"
|
|
17
18
|
];
|
|
18
19
|
var _hoisted_2 = [
|
|
20
|
+
"aria-label",
|
|
19
21
|
".indeterminate",
|
|
20
22
|
"disabled",
|
|
21
23
|
"aria-invalid",
|
|
@@ -55,6 +57,10 @@ var UiCheckbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
55
57
|
type: null,
|
|
56
58
|
default: false
|
|
57
59
|
},
|
|
60
|
+
label: {
|
|
61
|
+
type: null,
|
|
62
|
+
default: ""
|
|
63
|
+
},
|
|
58
64
|
name: {
|
|
59
65
|
type: null,
|
|
60
66
|
default: ""
|
|
@@ -119,6 +125,16 @@ var UiCheckbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
119
125
|
description: "Exposes an externally validated error and styles the checkbox with the field danger colour.",
|
|
120
126
|
default: false
|
|
121
127
|
},
|
|
128
|
+
label: {
|
|
129
|
+
type: {
|
|
130
|
+
kind: "terminal",
|
|
131
|
+
name: "string"
|
|
132
|
+
},
|
|
133
|
+
required: false,
|
|
134
|
+
target: { attribute: "aria-label" },
|
|
135
|
+
description: "An accessible name for a checkbox without a visible label slot. It names the native input.",
|
|
136
|
+
default: ""
|
|
137
|
+
},
|
|
122
138
|
name: {
|
|
123
139
|
type: {
|
|
124
140
|
kind: "terminal",
|
|
@@ -171,6 +187,7 @@ var UiCheckbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
171
187
|
disabled: false,
|
|
172
188
|
indeterminate: false,
|
|
173
189
|
invalid: false,
|
|
190
|
+
label: "",
|
|
174
191
|
name: "",
|
|
175
192
|
required: false,
|
|
176
193
|
size: "md",
|
|
@@ -193,6 +210,10 @@ var UiCheckbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
193
210
|
kind: "terminal",
|
|
194
211
|
name: "boolean"
|
|
195
212
|
}, false, "invalid", acceptedProps),
|
|
213
|
+
label: checkedProp(props["label"], {
|
|
214
|
+
kind: "terminal",
|
|
215
|
+
name: "string"
|
|
216
|
+
}, false, "label", acceptedProps),
|
|
196
217
|
name: checkedProp(props["name"], {
|
|
197
218
|
kind: "terminal",
|
|
198
219
|
name: "string"
|
|
@@ -284,6 +305,7 @@ var UiCheckbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
284
305
|
"disabled",
|
|
285
306
|
"indeterminate",
|
|
286
307
|
"invalid",
|
|
308
|
+
"label",
|
|
287
309
|
"name",
|
|
288
310
|
"required",
|
|
289
311
|
"size",
|
|
@@ -305,6 +327,7 @@ var UiCheckbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
305
327
|
"data-disabled": reflectedProp("disabled", "disabled", checkedProps.value.disabled, void 0, false),
|
|
306
328
|
"data-indeterminate": reflectedProp("indeterminate", "indeterminate", checkedProps.value.indeterminate, void 0, false),
|
|
307
329
|
"data-invalid": reflectedProp("invalid", "invalid", checkedProps.value.invalid, void 0, false),
|
|
330
|
+
"data-label": reflectedProp("label", "label", checkedProps.value.label, void 0, false),
|
|
308
331
|
"data-name": reflectedProp("name", "name", checkedProps.value.name, void 0, false),
|
|
309
332
|
"data-required": reflectedProp("required", "required", checkedProps.value.required, void 0, false),
|
|
310
333
|
"data-size": reflectedProp("size", "size", checkedProps.value.size, void 0, false),
|
|
@@ -314,6 +337,7 @@ var UiCheckbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
314
337
|
ref: root
|
|
315
338
|
}), [withDirectives(createElementVNode("input", {
|
|
316
339
|
type: "checkbox",
|
|
340
|
+
"aria-label": checkedProps.value.label ?? void 0,
|
|
317
341
|
".indeterminate": checkedProps.value.indeterminate,
|
|
318
342
|
disabled: checkedProps.value.disabled ?? void 0,
|
|
319
343
|
"aria-invalid": checkedProps.value.invalid ?? void 0,
|
|
@@ -339,6 +363,6 @@ var UiCheckbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
339
363
|
}]]);
|
|
340
364
|
};
|
|
341
365
|
}
|
|
342
|
-
}), [["__scopeId", "data-v-
|
|
366
|
+
}), [["__scopeId", "data-v-3bebca63"]]);
|
|
343
367
|
//#endregion
|
|
344
368
|
export { UiCheckbox_default as t };
|
package/vue/chunks/UiCluster.js
CHANGED
|
@@ -56,12 +56,13 @@ var UiCluster_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
56
56
|
},
|
|
57
57
|
required: false,
|
|
58
58
|
target: { attribute: "align" },
|
|
59
|
-
description: "How items line up within each row: center (the default) aligns their middles, start their tops, end their bottoms, and stretch makes every item as tall as\n its row.",
|
|
59
|
+
description: "How items line up within each row: center (the default) aligns their middles, start their tops, end their bottoms, and stretch makes every item as tall as\n its row. baseline aligns the first text baselines, including multiline columns.",
|
|
60
60
|
values: [
|
|
61
61
|
"start",
|
|
62
62
|
"center",
|
|
63
63
|
"end",
|
|
64
|
-
"stretch"
|
|
64
|
+
"stretch",
|
|
65
|
+
"baseline"
|
|
65
66
|
]
|
|
66
67
|
},
|
|
67
68
|
fixed: {
|
|
@@ -245,6 +246,6 @@ var UiCluster_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
245
246
|
}]]);
|
|
246
247
|
};
|
|
247
248
|
}
|
|
248
|
-
}), [["__scopeId", "data-v-
|
|
249
|
+
}), [["__scopeId", "data-v-acd23e4a"]]);
|
|
249
250
|
//#endregion
|
|
250
251
|
export { UiCluster_default as t };
|
package/vue/chunks/UiListItem.js
CHANGED
|
@@ -6,6 +6,7 @@ var _hoisted_1 = [
|
|
|
6
6
|
"aria-current",
|
|
7
7
|
"data-current",
|
|
8
8
|
"data-highlighted",
|
|
9
|
+
"data-leading-interactive",
|
|
9
10
|
"data-variant",
|
|
10
11
|
"data-wrap",
|
|
11
12
|
"data-ui-list-item-state"
|
|
@@ -29,6 +30,10 @@ var UiListItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
29
30
|
type: null,
|
|
30
31
|
default: false
|
|
31
32
|
},
|
|
33
|
+
leadingInteractive: {
|
|
34
|
+
type: null,
|
|
35
|
+
default: false
|
|
36
|
+
},
|
|
32
37
|
variant: {
|
|
33
38
|
type: null,
|
|
34
39
|
default: "row"
|
|
@@ -60,6 +65,16 @@ var UiListItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
60
65
|
description: "Gives an item a quiet accent wash without changing its text or announcing selection. Several items may be highlighted, such as new messages. Describe the\n reason in the item's text; use current only for the current destination.",
|
|
61
66
|
default: false
|
|
62
67
|
},
|
|
68
|
+
leadingInteractive: {
|
|
69
|
+
type: {
|
|
70
|
+
kind: "terminal",
|
|
71
|
+
name: "boolean"
|
|
72
|
+
},
|
|
73
|
+
required: false,
|
|
74
|
+
target: { attribute: "leadinginteractive" },
|
|
75
|
+
description: "Makes the leading region an independent control above the row link. Use it for a checkbox or button; keep noninteractive row icons in the title link when\n combining them with a leading control.",
|
|
76
|
+
default: false
|
|
77
|
+
},
|
|
63
78
|
variant: {
|
|
64
79
|
type: {
|
|
65
80
|
kind: "terminal",
|
|
@@ -86,6 +101,7 @@ var UiListItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
86
101
|
const acceptedProps = {
|
|
87
102
|
current: false,
|
|
88
103
|
highlighted: false,
|
|
104
|
+
leadingInteractive: false,
|
|
89
105
|
variant: "row",
|
|
90
106
|
wrap: false
|
|
91
107
|
};
|
|
@@ -98,6 +114,10 @@ var UiListItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
98
114
|
kind: "terminal",
|
|
99
115
|
name: "boolean"
|
|
100
116
|
}, false, "highlighted", acceptedProps),
|
|
117
|
+
leadingInteractive: checkedProp(props["leadingInteractive"], {
|
|
118
|
+
kind: "terminal",
|
|
119
|
+
name: "boolean"
|
|
120
|
+
}, false, "leadingInteractive", acceptedProps),
|
|
101
121
|
variant: checkedProp(props["variant"], {
|
|
102
122
|
kind: "terminal",
|
|
103
123
|
name: "keyword"
|
|
@@ -137,6 +157,7 @@ var UiListItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
137
157
|
checkedProps.value.variant != null && `variant=${encodeURIComponent(checkedProps.value.variant)}`,
|
|
138
158
|
checkedProps.value.highlighted && "highlighted",
|
|
139
159
|
checkedProps.value.current && "current",
|
|
160
|
+
checkedProps.value.leadingInteractive && "leadingInteractive",
|
|
140
161
|
checkedProps.value.wrap && "wrap"
|
|
141
162
|
].filter(Boolean).join(" "));
|
|
142
163
|
return (_ctx, _cache) => {
|
|
@@ -144,6 +165,7 @@ var UiListItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
144
165
|
"aria-current": checkedProps.value.current ?? void 0,
|
|
145
166
|
"data-current": reflectedProp("current", "current", checkedProps.value.current, void 0, false),
|
|
146
167
|
"data-highlighted": reflectedProp("highlighted", "highlighted", checkedProps.value.highlighted, void 0, false),
|
|
168
|
+
"data-leading-interactive": reflectedProp("leadingInteractive", "leading-interactive", checkedProps.value.leadingInteractive, void 0, false),
|
|
147
169
|
"data-variant": reflectedProp("variant", "variant", checkedProps.value.variant, void 0, false),
|
|
148
170
|
"data-wrap": reflectedProp("wrap", "wrap", checkedProps.value.wrap, void 0, false),
|
|
149
171
|
"data-ui-list-item-state": hostState.value || void 0
|
|
@@ -157,6 +179,6 @@ var UiListItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
157
179
|
}]]);
|
|
158
180
|
};
|
|
159
181
|
}
|
|
160
|
-
}), [["__scopeId", "data-v-
|
|
182
|
+
}), [["__scopeId", "data-v-8b9a3e2b"]]);
|
|
161
183
|
//#endregion
|
|
162
184
|
export { UiListItem_default as t };
|
package/vue/chunks/UiTreeItem.js
CHANGED
|
@@ -10,6 +10,7 @@ var _hoisted_1 = [
|
|
|
10
10
|
"aria-selected",
|
|
11
11
|
"aria-disabled",
|
|
12
12
|
"data-accepts",
|
|
13
|
+
"data-actions-visible",
|
|
13
14
|
"data-container",
|
|
14
15
|
"data-disabled",
|
|
15
16
|
"data-drag-type",
|
|
@@ -52,6 +53,10 @@ var UiTreeItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
52
53
|
type: null,
|
|
53
54
|
default: ""
|
|
54
55
|
},
|
|
56
|
+
actionsVisible: {
|
|
57
|
+
type: null,
|
|
58
|
+
default: false
|
|
59
|
+
},
|
|
55
60
|
container: {
|
|
56
61
|
type: null,
|
|
57
62
|
default: false
|
|
@@ -118,6 +123,16 @@ var UiTreeItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
118
123
|
description: "A comma-separated list of the dragType values this branch accepts dropped inside it. Empty accepts any type. It does not affect drops before or after the\n item.",
|
|
119
124
|
default: ""
|
|
120
125
|
},
|
|
126
|
+
actionsVisible: {
|
|
127
|
+
type: {
|
|
128
|
+
kind: "terminal",
|
|
129
|
+
name: "boolean"
|
|
130
|
+
},
|
|
131
|
+
required: false,
|
|
132
|
+
target: { attribute: "actionsvisible" },
|
|
133
|
+
description: "Keeps the actions slot visible before hover or focus, for persistent status or controls. The label fades beneath its measured width on pointer devices;\n touch rows retain a separate actions column with a short end fade. Does not change keyboard navigation or start the marquee.",
|
|
134
|
+
default: false
|
|
135
|
+
},
|
|
121
136
|
container: {
|
|
122
137
|
type: {
|
|
123
138
|
kind: "terminal",
|
|
@@ -250,6 +265,7 @@ var UiTreeItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
250
265
|
const props = __props;
|
|
251
266
|
const acceptedProps = {
|
|
252
267
|
accepts: "",
|
|
268
|
+
actionsVisible: false,
|
|
253
269
|
container: false,
|
|
254
270
|
disabled: false,
|
|
255
271
|
dragType: "item",
|
|
@@ -269,6 +285,10 @@ var UiTreeItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
269
285
|
kind: "terminal",
|
|
270
286
|
name: "string"
|
|
271
287
|
}, false, "accepts", acceptedProps),
|
|
288
|
+
actionsVisible: checkedProp(props["actionsVisible"], {
|
|
289
|
+
kind: "terminal",
|
|
290
|
+
name: "boolean"
|
|
291
|
+
}, false, "actionsVisible", acceptedProps),
|
|
272
292
|
container: checkedProp(props["container"], {
|
|
273
293
|
kind: "terminal",
|
|
274
294
|
name: "boolean"
|
|
@@ -422,6 +442,7 @@ var UiTreeItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
422
442
|
const hostState = computed(() => [
|
|
423
443
|
checkedProps.value.selected && "selected",
|
|
424
444
|
checkedProps.value.disabled && "disabled",
|
|
445
|
+
checkedProps.value.actionsVisible && "actionsVisible",
|
|
425
446
|
isContainer.value && "isContainer"
|
|
426
447
|
].filter(Boolean).join(" "));
|
|
427
448
|
const isExpandDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["id"] === "string" && typeof detail["expanded"] === "boolean" && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
|
|
@@ -475,6 +496,7 @@ var UiTreeItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
475
496
|
},
|
|
476
497
|
propNames: [
|
|
477
498
|
"accepts",
|
|
499
|
+
"actionsVisible",
|
|
478
500
|
"container",
|
|
479
501
|
"disabled",
|
|
480
502
|
"dragType",
|
|
@@ -535,6 +557,7 @@ var UiTreeItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
535
557
|
"aria-selected": checkedProps.value.selected ?? void 0,
|
|
536
558
|
"aria-disabled": checkedProps.value.disabled ?? void 0,
|
|
537
559
|
"data-accepts": reflectedProp("accepts", "accepts", checkedProps.value.accepts, void 0, true),
|
|
560
|
+
"data-actions-visible": reflectedProp("actionsVisible", "actions-visible", checkedProps.value.actionsVisible, void 0, false),
|
|
538
561
|
"data-container": reflectedProp("container", "container", checkedProps.value.container, void 0, false),
|
|
539
562
|
"data-disabled": reflectedProp("disabled", "disabled", checkedProps.value.disabled, void 0, false),
|
|
540
563
|
"data-drag-type": reflectedProp("dragType", "drag-type", checkedProps.value.dragType, void 0, true),
|
|
@@ -676,6 +699,6 @@ var UiTreeItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
676
699
|
}]]);
|
|
677
700
|
};
|
|
678
701
|
}
|
|
679
|
-
}), [["__scopeId", "data-v-
|
|
702
|
+
}), [["__scopeId", "data-v-dc15f210"]]);
|
|
680
703
|
//#endregion
|
|
681
704
|
export { UiTreeItem_default as t };
|