@threadlabs/looma 0.23.5 → 0.23.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/shared/icons.js +1 -0
- package/components/ui-badge/ui-badge.html +34 -3
- package/components/ui-icon/ui-icon.html +1 -0
- package/components/ui-list-item/ui-list-item.html +8 -0
- package/dist/index.js +1 -1
- package/editor/icons.d.ts +1 -0
- package/editor/index.js +2 -1
- package/package.json +1 -1
- package/styles/ui-badge.css +31 -0
- package/styles/ui-list-item.css +6 -0
- package/vanilla/UiBadge.d.ts +1 -1
- package/vanilla/UiBadge.js +1 -1
- package/vanilla/UiIcon.js +1 -1
- package/vanilla/UiListItem.d.ts +1 -0
- package/vanilla/UiListItem.js +2 -0
- package/vue/UiBadge.d.ts +3 -3
- package/vue/UiBadge.vue +38 -6
- package/vue/UiIcon.vue +4 -0
- package/vue/UiListItem.d.ts +9 -0
- package/vue/UiListItem.vue +25 -0
- package/vue/chunks/UiBadge.js +5 -4
- package/vue/chunks/UiIcon.js +8 -1
- package/vue/chunks/UiListItem.js +26 -4
- package/vue/components.css +91 -59
package/vanilla/UiListItem.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export interface UiListItemProps {
|
|
|
9
9
|
current?: boolean | null;
|
|
10
10
|
highlighted?: boolean | null;
|
|
11
11
|
variant?: "row" | "card" | null;
|
|
12
|
+
wrap?: boolean | null;
|
|
12
13
|
attributes?: Readonly<Record<string, string | number | boolean | null | undefined>>;
|
|
13
14
|
children?: readonly (string | Node)[];
|
|
14
15
|
slots?: Readonly<Record<string, readonly (string | Node)[]>>;
|
package/vanilla/UiListItem.js
CHANGED
|
@@ -8,6 +8,7 @@ export function createUiListItem(options = {}) {
|
|
|
8
8
|
const prop0 = componentProps["current"] === undefined ? false : componentProps["current"];
|
|
9
9
|
const prop1 = componentProps["highlighted"] === undefined ? false : componentProps["highlighted"];
|
|
10
10
|
const prop2 = componentProps["variant"] === undefined ? "row" : componentProps["variant"];
|
|
11
|
+
const prop3 = componentProps["wrap"] === undefined ? false : componentProps["wrap"];
|
|
11
12
|
const element = document.createElement("li");
|
|
12
13
|
for (const [name, value] of Object.entries(attributes)) {
|
|
13
14
|
if (value === null || value === undefined || value === false) continue;
|
|
@@ -72,6 +73,7 @@ export function createUiListItem(options = {}) {
|
|
|
72
73
|
{ name: "current", attribute: "data-current", value: componentProps["current"], default: false, type: "boolean", required: false },
|
|
73
74
|
{ name: "highlighted", attribute: "data-highlighted", value: componentProps["highlighted"], default: false, type: "boolean", required: false },
|
|
74
75
|
{ name: "variant", attribute: "data-variant", value: componentProps["variant"], default: "row", type: ["row","card"], required: false },
|
|
76
|
+
{ name: "wrap", attribute: "data-wrap", value: componentProps["wrap"], default: false, type: "boolean", required: false },
|
|
75
77
|
], (name, value) => {
|
|
76
78
|
if (name === "current") {
|
|
77
79
|
if (value === null || value === undefined) element.removeAttribute("aria-current");
|
package/vue/UiBadge.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ type __VLS_Slots = {} & {
|
|
|
5
5
|
};
|
|
6
6
|
declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
7
7
|
shape: {
|
|
8
|
-
type: PropType<"pill" | "tag" | "dot" | null>;
|
|
8
|
+
type: PropType<"pill" | "tag" | "dot" | "square" | null>;
|
|
9
9
|
default: string;
|
|
10
10
|
};
|
|
11
11
|
size: {
|
|
@@ -22,7 +22,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
22
22
|
};
|
|
23
23
|
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
24
24
|
shape: {
|
|
25
|
-
type: PropType<"pill" | "tag" | "dot" | null>;
|
|
25
|
+
type: PropType<"pill" | "tag" | "dot" | "square" | null>;
|
|
26
26
|
default: string;
|
|
27
27
|
};
|
|
28
28
|
size: {
|
|
@@ -38,7 +38,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
38
38
|
default: string;
|
|
39
39
|
};
|
|
40
40
|
}>> & Readonly<{}>, {
|
|
41
|
-
shape: "dot" | "tag" | "pill" | null;
|
|
41
|
+
shape: "dot" | "tag" | "square" | "pill" | null;
|
|
42
42
|
size: "xs" | "md" | null;
|
|
43
43
|
tone: "info" | "neutral" | "accent" | "success" | "warning" | "danger" | null;
|
|
44
44
|
variant: "solid" | "subtle" | "outline" | null;
|
package/vue/UiBadge.vue
CHANGED
|
@@ -13,8 +13,8 @@ const propValidityContract = {
|
|
|
13
13
|
required: false,
|
|
14
14
|
target: { attribute: 'shape' },
|
|
15
15
|
description:
|
|
16
|
-
'Silhouette. pill is rounded at both ends; tag is a pointed label. dot is a compact circular signal with visually hidden text: include a state label, or set\n aria-hidden when the surrounding control already names that state.',
|
|
17
|
-
values: ['pill', 'tag', 'dot'],
|
|
16
|
+
'Silhouette. pill is rounded at both ends; tag is a pointed label. dot is a compact circular signal with visually hidden text: include a state label, or set\n aria-hidden when the surrounding control already names that state. square is a fixed rounded square for an icon or single glyph beside a heading; hide a\n decorative icon when adjacent words name it.',
|
|
17
|
+
values: ['pill', 'tag', 'dot', 'square'],
|
|
18
18
|
default: 'pill',
|
|
19
19
|
},
|
|
20
20
|
size: {
|
|
@@ -22,7 +22,7 @@ const propValidityContract = {
|
|
|
22
22
|
required: false,
|
|
23
23
|
target: { attribute: 'size' },
|
|
24
24
|
description:
|
|
25
|
-
'Scale. xs is a compact count beside small controls; md is the usual text badge.',
|
|
25
|
+
'Scale. xs is a compact count beside small controls; md is the usual text badge. A square is 24px at xs and 32px at md with default spacing.',
|
|
26
26
|
values: ['xs', 'md'],
|
|
27
27
|
default: 'md',
|
|
28
28
|
},
|
|
@@ -47,7 +47,10 @@ const propValidityContract = {
|
|
|
47
47
|
},
|
|
48
48
|
} as const
|
|
49
49
|
const props = defineProps({
|
|
50
|
-
shape: {
|
|
50
|
+
shape: {
|
|
51
|
+
type: null as unknown as PropType<'pill' | 'tag' | 'dot' | 'square' | null>,
|
|
52
|
+
default: 'pill',
|
|
53
|
+
},
|
|
51
54
|
size: { type: null as unknown as PropType<'xs' | 'md' | null>, default: 'md' },
|
|
52
55
|
tone: {
|
|
53
56
|
type: null as unknown as PropType<
|
|
@@ -67,13 +70,13 @@ const acceptedProps: Record<string, unknown> = {
|
|
|
67
70
|
variant: 'subtle',
|
|
68
71
|
}
|
|
69
72
|
const checkedProps = computed(() => ({
|
|
70
|
-
shape: checkedProp<'pill' | 'tag' | 'dot'>(
|
|
73
|
+
shape: checkedProp<'pill' | 'tag' | 'dot' | 'square'>(
|
|
71
74
|
props['shape'],
|
|
72
75
|
{ kind: 'terminal', name: 'keyword' },
|
|
73
76
|
false,
|
|
74
77
|
'shape',
|
|
75
78
|
acceptedProps,
|
|
76
|
-
) as 'pill' | 'tag' | 'dot',
|
|
79
|
+
) as 'pill' | 'tag' | 'dot' | 'square',
|
|
77
80
|
size: checkedProp<'xs' | 'md'>(
|
|
78
81
|
props['size'],
|
|
79
82
|
{ kind: 'terminal', name: 'keyword' },
|
|
@@ -183,6 +186,10 @@ const hostState = computed(() =>
|
|
|
183
186
|
syntax: "*";
|
|
184
187
|
inherits: false;
|
|
185
188
|
}
|
|
189
|
+
@property --ui-badge-square-size {
|
|
190
|
+
syntax: "*";
|
|
191
|
+
inherits: false;
|
|
192
|
+
}
|
|
186
193
|
@property --ui-badge-dot-size {
|
|
187
194
|
syntax: "*";
|
|
188
195
|
inherits: false;
|
|
@@ -394,6 +401,31 @@ const hostState = computed(() =>
|
|
|
394
401
|
--_badge-text: var(--ui-info-subtle-text, var(--ui-info-solid));
|
|
395
402
|
}
|
|
396
403
|
|
|
404
|
+
/* An icon mark keeps the existing tone recipe and follows the global spacing and radius. */
|
|
405
|
+
[data-component~="ui-badge"][data-ui-badge-state~="shape=square"] {
|
|
406
|
+
--_badge-square-size: var(--ui-badge-square-size, calc(var(--ui-space-4) * 2));
|
|
407
|
+
display: inline-flex;
|
|
408
|
+
box-sizing: border-box;
|
|
409
|
+
flex: none;
|
|
410
|
+
inline-size: var(--_badge-square-size);
|
|
411
|
+
block-size: var(--_badge-square-size);
|
|
412
|
+
min-inline-size: var(--_badge-square-size);
|
|
413
|
+
min-block-size: var(--_badge-square-size);
|
|
414
|
+
padding: 0;
|
|
415
|
+
border-radius: var(--ui-radius-md);
|
|
416
|
+
text-box-trim: none;
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
[data-component~="ui-badge"][data-ui-badge-state~="shape=square"][data-ui-badge-state~="size=xs"] {
|
|
420
|
+
--_badge-square-size: var(--ui-badge-square-size, calc(var(--ui-space-3) * 2));
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
[data-component~="ui-badge"][data-ui-badge-state~="shape=square"] .label {
|
|
424
|
+
display: inline-flex;
|
|
425
|
+
align-items: center;
|
|
426
|
+
justify-content: center;
|
|
427
|
+
}
|
|
428
|
+
|
|
397
429
|
/* A dot uses the badge's tone recipe; only its silhouette and visible label change. */
|
|
398
430
|
[data-component~="ui-badge"][data-ui-badge-state~="shape=dot"] {
|
|
399
431
|
position: relative;
|
package/vue/UiIcon.vue
CHANGED
|
@@ -107,6 +107,10 @@ const shapes = cycleCheckedComputed(() =>
|
|
|
107
107
|
d: 'M21 19H7',
|
|
108
108
|
}],
|
|
109
109
|
'arrow-left': [{ tag: 'path', d: 'm12 19-7-7 7-7' }, { tag: 'path', d: 'M19 12H5' }],
|
|
110
|
+
bell: [{ tag: 'path', d: 'M10.268 21a2 2 0 0 0 3.464 0' }, {
|
|
111
|
+
tag: 'path',
|
|
112
|
+
d: 'M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326',
|
|
113
|
+
}],
|
|
110
114
|
bold: [{
|
|
111
115
|
tag: 'path',
|
|
112
116
|
d: 'M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8',
|
package/vue/UiListItem.d.ts
CHANGED
|
@@ -22,6 +22,10 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
22
22
|
type: PropType<"row" | "card" | null>;
|
|
23
23
|
default: string;
|
|
24
24
|
};
|
|
25
|
+
wrap: {
|
|
26
|
+
type: PropType<boolean | null>;
|
|
27
|
+
default: boolean;
|
|
28
|
+
};
|
|
25
29
|
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
26
30
|
current: {
|
|
27
31
|
type: PropType<boolean | null>;
|
|
@@ -35,9 +39,14 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
35
39
|
type: PropType<"row" | "card" | null>;
|
|
36
40
|
default: string;
|
|
37
41
|
};
|
|
42
|
+
wrap: {
|
|
43
|
+
type: PropType<boolean | null>;
|
|
44
|
+
default: boolean;
|
|
45
|
+
};
|
|
38
46
|
}>> & Readonly<{}>, {
|
|
39
47
|
variant: "row" | "card" | null;
|
|
40
48
|
current: boolean | null;
|
|
49
|
+
wrap: boolean | null;
|
|
41
50
|
highlighted: boolean | null;
|
|
42
51
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
43
52
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
package/vue/UiListItem.vue
CHANGED
|
@@ -33,17 +33,27 @@ const propValidityContract = {
|
|
|
33
33
|
values: ['row', 'card'],
|
|
34
34
|
default: 'row',
|
|
35
35
|
},
|
|
36
|
+
wrap: {
|
|
37
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
38
|
+
required: false,
|
|
39
|
+
target: { attribute: 'wrap' },
|
|
40
|
+
description:
|
|
41
|
+
'Lets the title and description wrap so explanatory text stays readable on narrow screens. Omit it for the default equal-height, one-line rows.',
|
|
42
|
+
default: false,
|
|
43
|
+
},
|
|
36
44
|
},
|
|
37
45
|
} as const
|
|
38
46
|
const props = defineProps({
|
|
39
47
|
current: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
40
48
|
highlighted: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
41
49
|
variant: { type: null as unknown as PropType<'row' | 'card' | null>, default: 'row' },
|
|
50
|
+
wrap: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
42
51
|
})
|
|
43
52
|
const acceptedProps: Record<string, unknown> = {
|
|
44
53
|
current: false,
|
|
45
54
|
highlighted: false,
|
|
46
55
|
variant: 'row',
|
|
56
|
+
wrap: false,
|
|
47
57
|
}
|
|
48
58
|
const checkedProps = computed(() => ({
|
|
49
59
|
current: checkedProp<boolean>(
|
|
@@ -67,6 +77,13 @@ const checkedProps = computed(() => ({
|
|
|
67
77
|
'variant',
|
|
68
78
|
acceptedProps,
|
|
69
79
|
) as 'row' | 'card',
|
|
80
|
+
wrap: checkedProp<boolean>(
|
|
81
|
+
props['wrap'],
|
|
82
|
+
{ kind: 'terminal', name: 'boolean' },
|
|
83
|
+
false,
|
|
84
|
+
'wrap',
|
|
85
|
+
acceptedProps,
|
|
86
|
+
) as boolean,
|
|
70
87
|
}))
|
|
71
88
|
void checkedProps.value
|
|
72
89
|
watchSyncEffect(() => {
|
|
@@ -131,6 +148,7 @@ const hostState = computed(() =>
|
|
|
131
148
|
&& `variant=${encodeURIComponent(checkedProps.value.variant)}`,
|
|
132
149
|
checkedProps.value.highlighted && 'highlighted',
|
|
133
150
|
checkedProps.value.current && 'current',
|
|
151
|
+
checkedProps.value.wrap && 'wrap',
|
|
134
152
|
].filter(Boolean).join(' ')
|
|
135
153
|
)
|
|
136
154
|
</script>
|
|
@@ -144,6 +162,7 @@ const hostState = computed(() =>
|
|
|
144
162
|
:data-current="reflectedProp('current', 'current', checkedProps.current, undefined, false)"
|
|
145
163
|
:data-highlighted="reflectedProp('highlighted', 'highlighted', checkedProps.highlighted, undefined, false)"
|
|
146
164
|
:data-variant="reflectedProp('variant', 'variant', checkedProps.variant, undefined, false)"
|
|
165
|
+
:data-wrap="reflectedProp('wrap', 'wrap', checkedProps.wrap, undefined, false)"
|
|
147
166
|
:data-ui-list-item-state="hostState || undefined"
|
|
148
167
|
>
|
|
149
168
|
<span class="leading"><slot name="leading" /></span>
|
|
@@ -279,6 +298,12 @@ const hostState = computed(() =>
|
|
|
279
298
|
white-space: nowrap;
|
|
280
299
|
}
|
|
281
300
|
|
|
301
|
+
[data-component~="ui-list-item"][data-ui-list-item-state~="wrap"] .title,
|
|
302
|
+
[data-component~="ui-list-item"][data-ui-list-item-state~="wrap"] .description {
|
|
303
|
+
white-space: normal;
|
|
304
|
+
overflow-wrap: anywhere;
|
|
305
|
+
}
|
|
306
|
+
|
|
282
307
|
.title {
|
|
283
308
|
font-size: var(--ui-font-size-md);
|
|
284
309
|
font-weight: var(--_ui-list-item-title-weight, var(--ui-font-medium));
|
package/vue/chunks/UiBadge.js
CHANGED
|
@@ -42,11 +42,12 @@ var UiBadge_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
|
|
|
42
42
|
},
|
|
43
43
|
required: false,
|
|
44
44
|
target: { attribute: "shape" },
|
|
45
|
-
description: "Silhouette. pill is rounded at both ends; tag is a pointed label. dot is a compact circular signal with visually hidden text: include a state label, or set\n aria-hidden when the surrounding control already names that state.",
|
|
45
|
+
description: "Silhouette. pill is rounded at both ends; tag is a pointed label. dot is a compact circular signal with visually hidden text: include a state label, or set\n aria-hidden when the surrounding control already names that state. square is a fixed rounded square for an icon or single glyph beside a heading; hide a\n decorative icon when adjacent words name it.",
|
|
46
46
|
values: [
|
|
47
47
|
"pill",
|
|
48
48
|
"tag",
|
|
49
|
-
"dot"
|
|
49
|
+
"dot",
|
|
50
|
+
"square"
|
|
50
51
|
],
|
|
51
52
|
default: "pill"
|
|
52
53
|
},
|
|
@@ -57,7 +58,7 @@ var UiBadge_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
|
|
|
57
58
|
},
|
|
58
59
|
required: false,
|
|
59
60
|
target: { attribute: "size" },
|
|
60
|
-
description: "Scale. xs is a compact count beside small controls; md is the usual text badge.",
|
|
61
|
+
description: "Scale. xs is a compact count beside small controls; md is the usual text badge. A square is 24px at xs and 32px at md with default spacing.",
|
|
61
62
|
values: ["xs", "md"],
|
|
62
63
|
default: "md"
|
|
63
64
|
},
|
|
@@ -168,6 +169,6 @@ var UiBadge_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
|
|
|
168
169
|
}]]);
|
|
169
170
|
};
|
|
170
171
|
}
|
|
171
|
-
}), [["__scopeId", "data-v-
|
|
172
|
+
}), [["__scopeId", "data-v-470f6e28"]]);
|
|
172
173
|
//#endregion
|
|
173
174
|
export { UiBadge_default as t };
|
package/vue/chunks/UiIcon.js
CHANGED
|
@@ -148,6 +148,13 @@ var UiIcon_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
148
148
|
tag: "path",
|
|
149
149
|
d: "M19 12H5"
|
|
150
150
|
}],
|
|
151
|
+
bell: [{
|
|
152
|
+
tag: "path",
|
|
153
|
+
d: "M10.268 21a2 2 0 0 0 3.464 0"
|
|
154
|
+
}, {
|
|
155
|
+
tag: "path",
|
|
156
|
+
d: "M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326"
|
|
157
|
+
}],
|
|
151
158
|
bold: [{
|
|
152
159
|
tag: "path",
|
|
153
160
|
d: "M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8"
|
|
@@ -1214,6 +1221,6 @@ var UiIcon_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
1214
1221
|
}]]);
|
|
1215
1222
|
};
|
|
1216
1223
|
}
|
|
1217
|
-
}), [["__scopeId", "data-v-
|
|
1224
|
+
}), [["__scopeId", "data-v-47b12d9e"]]);
|
|
1218
1225
|
//#endregion
|
|
1219
1226
|
export { UiIcon_default as t };
|
package/vue/chunks/UiListItem.js
CHANGED
|
@@ -7,6 +7,7 @@ var _hoisted_1 = [
|
|
|
7
7
|
"data-current",
|
|
8
8
|
"data-highlighted",
|
|
9
9
|
"data-variant",
|
|
10
|
+
"data-wrap",
|
|
10
11
|
"data-ui-list-item-state"
|
|
11
12
|
];
|
|
12
13
|
var _hoisted_2 = { class: "leading" };
|
|
@@ -31,6 +32,10 @@ var UiListItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
31
32
|
variant: {
|
|
32
33
|
type: null,
|
|
33
34
|
default: "row"
|
|
35
|
+
},
|
|
36
|
+
wrap: {
|
|
37
|
+
type: null,
|
|
38
|
+
default: false
|
|
34
39
|
}
|
|
35
40
|
},
|
|
36
41
|
setup(__props) {
|
|
@@ -65,13 +70,24 @@ var UiListItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
65
70
|
description: "How the item is drawn. A row is flat and takes a hover surface when it is a link, for items read down a list. A card sits on a raised, bordered surface,\n for items set in a grid (a List with layout=\"grid\"). Both have the same parts: leading, title, description, and trailing.",
|
|
66
71
|
values: ["row", "card"],
|
|
67
72
|
default: "row"
|
|
73
|
+
},
|
|
74
|
+
wrap: {
|
|
75
|
+
type: {
|
|
76
|
+
kind: "terminal",
|
|
77
|
+
name: "boolean"
|
|
78
|
+
},
|
|
79
|
+
required: false,
|
|
80
|
+
target: { attribute: "wrap" },
|
|
81
|
+
description: "Lets the title and description wrap so explanatory text stays readable on narrow screens. Omit it for the default equal-height, one-line rows.",
|
|
82
|
+
default: false
|
|
68
83
|
}
|
|
69
84
|
} };
|
|
70
85
|
const props = __props;
|
|
71
86
|
const acceptedProps = {
|
|
72
87
|
current: false,
|
|
73
88
|
highlighted: false,
|
|
74
|
-
variant: "row"
|
|
89
|
+
variant: "row",
|
|
90
|
+
wrap: false
|
|
75
91
|
};
|
|
76
92
|
const checkedProps = computed(() => ({
|
|
77
93
|
current: checkedProp(props["current"], {
|
|
@@ -85,7 +101,11 @@ var UiListItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
85
101
|
variant: checkedProp(props["variant"], {
|
|
86
102
|
kind: "terminal",
|
|
87
103
|
name: "keyword"
|
|
88
|
-
}, false, "variant", acceptedProps)
|
|
104
|
+
}, false, "variant", acceptedProps),
|
|
105
|
+
wrap: checkedProp(props["wrap"], {
|
|
106
|
+
kind: "terminal",
|
|
107
|
+
name: "boolean"
|
|
108
|
+
}, false, "wrap", acceptedProps)
|
|
89
109
|
}));
|
|
90
110
|
checkedProps.value;
|
|
91
111
|
watchSyncEffect(() => {
|
|
@@ -116,7 +136,8 @@ var UiListItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
116
136
|
checkedProps.value.variant && "variant",
|
|
117
137
|
checkedProps.value.variant != null && `variant=${encodeURIComponent(checkedProps.value.variant)}`,
|
|
118
138
|
checkedProps.value.highlighted && "highlighted",
|
|
119
|
-
checkedProps.value.current && "current"
|
|
139
|
+
checkedProps.value.current && "current",
|
|
140
|
+
checkedProps.value.wrap && "wrap"
|
|
120
141
|
].filter(Boolean).join(" "));
|
|
121
142
|
return (_ctx, _cache) => {
|
|
122
143
|
return withDirectives((openBlock(), createElementBlock("li", mergeProps({ "data-component": "ui-list-item" }, nativeAttrs(_ctx.$attrs), {
|
|
@@ -124,6 +145,7 @@ var UiListItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
124
145
|
"data-current": reflectedProp("current", "current", checkedProps.value.current, void 0, false),
|
|
125
146
|
"data-highlighted": reflectedProp("highlighted", "highlighted", checkedProps.value.highlighted, void 0, false),
|
|
126
147
|
"data-variant": reflectedProp("variant", "variant", checkedProps.value.variant, void 0, false),
|
|
148
|
+
"data-wrap": reflectedProp("wrap", "wrap", checkedProps.value.wrap, void 0, false),
|
|
127
149
|
"data-ui-list-item-state": hostState.value || void 0
|
|
128
150
|
}), [
|
|
129
151
|
createElementVNode("span", _hoisted_2, [renderSlot(_ctx.$slots, "leading")]),
|
|
@@ -135,6 +157,6 @@ var UiListItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
135
157
|
}]]);
|
|
136
158
|
};
|
|
137
159
|
}
|
|
138
|
-
}), [["__scopeId", "data-v-
|
|
160
|
+
}), [["__scopeId", "data-v-b8e3f0cd"]]);
|
|
139
161
|
//#endregion
|
|
140
162
|
export { UiListItem_default as t };
|