@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/package.json
CHANGED
package/styles/ui-cluster.css
CHANGED
package/styles/ui-list-item.css
CHANGED
|
@@ -53,11 +53,11 @@
|
|
|
53
53
|
background: var(--ui-surface-raised);
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
-
:scope:has(.title a[href]:hover
|
|
57
|
-
background: var(--ui-surface
|
|
56
|
+
:scope:where(:has(.title a[href])):hover {
|
|
57
|
+
background: var(--ui-selection-surface);
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
:scope[data-ui-list-item-state~="variant=card"]:has(.title a[href]:hover
|
|
60
|
+
:scope[data-ui-list-item-state~="variant=card"]:where(:has(.title a[href])):hover {
|
|
61
61
|
border-color: var(--ui-border-strong);
|
|
62
62
|
}
|
|
63
63
|
|
|
@@ -91,6 +91,12 @@
|
|
|
91
91
|
color: var(--ui-selection-text);
|
|
92
92
|
}
|
|
93
93
|
|
|
94
|
+
/* An explicitly independent leading control sits above the stretched row link. */
|
|
95
|
+
:scope[data-ui-list-item-state~="leadingInteractive"] .leading {
|
|
96
|
+
position: relative;
|
|
97
|
+
z-index: 1;
|
|
98
|
+
}
|
|
99
|
+
|
|
94
100
|
/* Trailing controls take their own clicks, above the title link's stretched hit area. */
|
|
95
101
|
.trailing {
|
|
96
102
|
position: relative;
|
|
@@ -170,6 +176,8 @@
|
|
|
170
176
|
a router, a modified click, and "open in new tab" all work. Trailing controls sit above it and
|
|
171
177
|
stay their own. */
|
|
172
178
|
|
|
179
|
+
/* An explicitly independent leading control sits above the stretched row link. */
|
|
180
|
+
|
|
173
181
|
/* Trailing controls take their own clicks, above the title link's stretched hit area. */
|
|
174
182
|
|
|
175
183
|
.title > :where([data-slotted], [data-slotted] *):is(a) {
|
package/styles/ui-tree-item.css
CHANGED
|
@@ -253,6 +253,7 @@
|
|
|
253
253
|
the truncation mark while it shows: an ellipsis under it would read as a second one. */
|
|
254
254
|
.row:hover > .label,
|
|
255
255
|
.row:focus-within > .label,
|
|
256
|
+
:scope[data-ui-tree-item-state~="actionsVisible"] > .row > .label,
|
|
256
257
|
:scope[data-move-source] > .row > .label {
|
|
257
258
|
text-overflow: clip;
|
|
258
259
|
mask-image: linear-gradient(
|
|
@@ -264,6 +265,7 @@
|
|
|
264
265
|
|
|
265
266
|
.row:hover > .label:dir(rtl),
|
|
266
267
|
.row:focus-within > .label:dir(rtl),
|
|
268
|
+
:scope[data-ui-tree-item-state~="actionsVisible"] > .row > .label:dir(rtl),
|
|
267
269
|
:scope[data-move-source] > .row > .label:dir(rtl) {
|
|
268
270
|
mask-image: linear-gradient(
|
|
269
271
|
to left,
|
|
@@ -331,6 +333,7 @@
|
|
|
331
333
|
|
|
332
334
|
.row:hover > .actions,
|
|
333
335
|
.row:focus-within > .actions,
|
|
336
|
+
:scope[data-ui-tree-item-state~="actionsVisible"] > .row > .actions,
|
|
334
337
|
:scope[data-move-source] > .row > .actions {
|
|
335
338
|
opacity: 1;
|
|
336
339
|
pointer-events: auto;
|
|
@@ -367,6 +370,14 @@
|
|
|
367
370
|
);
|
|
368
371
|
}
|
|
369
372
|
|
|
373
|
+
/* Persistent content has its own column on touch. Fade only the label's end. */
|
|
374
|
+
:scope[data-ui-tree-item-state~="actionsVisible"] > .row > .label {
|
|
375
|
+
mask-image: linear-gradient(to right, #000 calc(100% - var(--ui-space-1)), transparent 100%);
|
|
376
|
+
}
|
|
377
|
+
:scope[data-ui-tree-item-state~="actionsVisible"] > .row > .label:dir(rtl) {
|
|
378
|
+
mask-image: linear-gradient(to left, #000 calc(100% - var(--ui-space-1)), transparent 100%);
|
|
379
|
+
}
|
|
380
|
+
|
|
370
381
|
.row[data-ui-marquee] > .label:dir(rtl) {
|
|
371
382
|
mask-image: linear-gradient(
|
|
372
383
|
to left,
|
|
@@ -620,6 +631,8 @@
|
|
|
620
631
|
|
|
621
632
|
/* Without hover there is no reveal, so the controls keep their own column. */
|
|
622
633
|
@media (hover: none), (pointer: coarse) {
|
|
634
|
+
|
|
635
|
+
/* Persistent content has its own column on touch. Fade only the label's end. */
|
|
623
636
|
}
|
|
624
637
|
|
|
625
638
|
/* The handle sits beside what it drags. A leaf row has no disclosure, so the handle takes that
|
package/vanilla/UiCheckbox.d.ts
CHANGED
package/vanilla/UiCheckbox.js
CHANGED
|
@@ -3,7 +3,7 @@ import { manageComponentLifecycle } from "@nextwebwg/html-next/runtime";
|
|
|
3
3
|
import * as controller from "../components/ui-checkbox/ui-checkbox.js";
|
|
4
4
|
import "../styles/ui-checkbox.css";
|
|
5
5
|
|
|
6
|
-
const definition = {...{"contract":{"tag":"ui-checkbox","props":{"checked":{"type":"boolean","required":false,"target":{"attribute":"checked"},"default":false},"disabled":{"type":"boolean","required":false,"target":{"attribute":"disabled"},"default":false},"indeterminate":{"type":"boolean","required":false,"target":{"property":"indeterminate"},"default":false},"invalid":{"type":"boolean","required":false,"target":{"attribute":"aria-invalid"},"default":false},"name":{"type":"string","required":false,"target":{"attribute":"name"},"default":""},"required":{"type":"boolean","required":false,"target":{"attribute":"required"},"default":false},"size":{"type":{"kind":"terminal","name":"keyword"},"values":["sm","md","lg"],"required":false,"target":{"attribute":"size"},"default":"md"},"value":{"type":"string","required":false,"target":{"attribute":"value"},"default":"on"}}},"template":{"kind":"element","name":"label","attributes":[],"children":[{"kind":"element","name":"input","attributes":[{"kind":"literal","name":"type","value":"checkbox"},{"kind":"property","key":"checked","name":"checked","expression":"internalChecked","expressionPlan":{"source":"internalChecked","ast":{"kind":"id","name":"internalChecked"},"dependencies":["internalChecked"]}},{"kind":"property","key":"indeterminate","name":"indeterminate","expression":"indeterminate","expressionPlan":{"source":"indeterminate","ast":{"kind":"id","name":"indeterminate"},"dependencies":["indeterminate"]}},{"kind":"attribute","name":"disabled","expression":"disabled","expressionPlan":{"source":"disabled","ast":{"kind":"id","name":"disabled"},"dependencies":["disabled"]}},{"kind":"attribute","name":"aria-invalid","expression":"invalid","expressionPlan":{"source":"invalid","ast":{"kind":"id","name":"invalid"},"dependencies":["invalid"]}},{"kind":"attribute","name":"required","expression":"required","expressionPlan":{"source":"required","ast":{"kind":"id","name":"required"},"dependencies":["required"]}},{"kind":"attribute","name":"name","expression":"name","expressionPlan":{"source":"name","ast":{"kind":"id","name":"name"},"dependencies":["name"]}},{"kind":"attribute","name":"value","expression":"value","expressionPlan":{"source":"value","ast":{"kind":"id","name":"value"},"dependencies":["value"]}}],"children":[],"ref":"input"},{"kind":"element","name":"span","attributes":[{"kind":"literal","name":"class","value":"text"}],"children":[{"kind":"element","name":"span","attributes":[{"kind":"literal","name":"class","value":"label"}],"children":[{"kind":"slot"}]},{"kind":"element","name":"span","attributes":[{"kind":"literal","name":"class","value":"description"},{"kind":"literal","name":"aria-hidden","value":"true"}],"children":[{"kind":"slot","fallback":[],"name":"description"}],"ref":"description"}]}]},"declarations":[{"kind":"state","name":"internalChecked","type":"boolean","value":"false","expression":{"source":"false","ast":{"kind":"literal","value":false},"dependencies":[]}},{"kind":"event","name":"change","type":"object","shape":{"kind":"object","fields":[{"name":"checked","type":{"kind":"terminal","name":"boolean"},"optional":false},{"name":"value","type":{"kind":"terminal","name":"string"},"optional":false},{"name":"trigger","type":{"kind":"constrained","base":{"kind":"terminal","name":"keyword"},"values":["keyboard","pointer","programmatic"]},"optional":false}],"open":false},"bubbles":true,"composed":true,"cancelable":false}],"root":{"kind":"native","element":"label","choices":["label"]}},source:{file:import.meta.url},css:""};
|
|
6
|
+
const definition = {...{"contract":{"tag":"ui-checkbox","props":{"checked":{"type":"boolean","required":false,"target":{"attribute":"checked"},"default":false},"disabled":{"type":"boolean","required":false,"target":{"attribute":"disabled"},"default":false},"indeterminate":{"type":"boolean","required":false,"target":{"property":"indeterminate"},"default":false},"invalid":{"type":"boolean","required":false,"target":{"attribute":"aria-invalid"},"default":false},"label":{"type":"string","required":false,"target":{"attribute":"aria-label"},"default":""},"name":{"type":"string","required":false,"target":{"attribute":"name"},"default":""},"required":{"type":"boolean","required":false,"target":{"attribute":"required"},"default":false},"size":{"type":{"kind":"terminal","name":"keyword"},"values":["sm","md","lg"],"required":false,"target":{"attribute":"size"},"default":"md"},"value":{"type":"string","required":false,"target":{"attribute":"value"},"default":"on"}}},"template":{"kind":"element","name":"label","attributes":[],"children":[{"kind":"element","name":"input","attributes":[{"kind":"literal","name":"type","value":"checkbox"},{"kind":"attribute","name":"aria-label","expression":"label","expressionPlan":{"source":"label","ast":{"kind":"id","name":"label"},"dependencies":["label"]}},{"kind":"property","key":"checked","name":"checked","expression":"internalChecked","expressionPlan":{"source":"internalChecked","ast":{"kind":"id","name":"internalChecked"},"dependencies":["internalChecked"]}},{"kind":"property","key":"indeterminate","name":"indeterminate","expression":"indeterminate","expressionPlan":{"source":"indeterminate","ast":{"kind":"id","name":"indeterminate"},"dependencies":["indeterminate"]}},{"kind":"attribute","name":"disabled","expression":"disabled","expressionPlan":{"source":"disabled","ast":{"kind":"id","name":"disabled"},"dependencies":["disabled"]}},{"kind":"attribute","name":"aria-invalid","expression":"invalid","expressionPlan":{"source":"invalid","ast":{"kind":"id","name":"invalid"},"dependencies":["invalid"]}},{"kind":"attribute","name":"required","expression":"required","expressionPlan":{"source":"required","ast":{"kind":"id","name":"required"},"dependencies":["required"]}},{"kind":"attribute","name":"name","expression":"name","expressionPlan":{"source":"name","ast":{"kind":"id","name":"name"},"dependencies":["name"]}},{"kind":"attribute","name":"value","expression":"value","expressionPlan":{"source":"value","ast":{"kind":"id","name":"value"},"dependencies":["value"]}}],"children":[],"ref":"input"},{"kind":"element","name":"span","attributes":[{"kind":"literal","name":"class","value":"text"}],"children":[{"kind":"element","name":"span","attributes":[{"kind":"literal","name":"class","value":"label"}],"children":[{"kind":"slot"}]},{"kind":"element","name":"span","attributes":[{"kind":"literal","name":"class","value":"description"},{"kind":"literal","name":"aria-hidden","value":"true"}],"children":[{"kind":"slot","fallback":[],"name":"description"}],"ref":"description"}]}]},"declarations":[{"kind":"state","name":"internalChecked","type":"boolean","value":"false","expression":{"source":"false","ast":{"kind":"literal","value":false},"dependencies":[]}},{"kind":"event","name":"change","type":"object","shape":{"kind":"object","fields":[{"name":"checked","type":{"kind":"terminal","name":"boolean"},"optional":false},{"name":"value","type":{"kind":"terminal","name":"string"},"optional":false},{"name":"trigger","type":{"kind":"constrained","base":{"kind":"terminal","name":"keyword"},"values":["keyboard","pointer","programmatic"]},"optional":false}],"open":false},"bubbles":true,"composed":true,"cancelable":false}],"root":{"kind":"native","element":"label","choices":["label"]}},source:{file:import.meta.url},css:""};
|
|
7
7
|
|
|
8
8
|
export function createUiCheckbox(options = {}) {
|
|
9
9
|
const { attributes = {}, children = [], slots = {}, ...componentProps } = options;
|
|
@@ -16,23 +16,26 @@ export function createUiCheckbox(options = {}) {
|
|
|
16
16
|
element.setAttribute("data-component", "ui-checkbox");
|
|
17
17
|
const element0 = document.createElement("input");
|
|
18
18
|
element0.setAttribute("type", "checkbox");
|
|
19
|
-
const value0 = componentProps["
|
|
20
|
-
if (value0
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
const value0 = componentProps["label"] === undefined ? "" : componentProps["label"];
|
|
20
|
+
if (value0 === null || value0 === undefined) element0.removeAttribute("aria-label");
|
|
21
|
+
else element0.setAttribute("aria-label", String(value0));
|
|
22
|
+
const value1 = componentProps["indeterminate"] === undefined ? false : componentProps["indeterminate"];
|
|
23
|
+
if (value1 !== undefined) element0["indeterminate"] = value1;
|
|
24
|
+
const value2 = componentProps["disabled"] === undefined ? false : componentProps["disabled"];
|
|
25
|
+
if (value2 === true) element0.setAttribute("disabled", "");
|
|
23
26
|
else element0.removeAttribute("disabled");
|
|
24
|
-
const
|
|
25
|
-
if (typeof
|
|
27
|
+
const value3 = componentProps["invalid"] === undefined ? false : componentProps["invalid"];
|
|
28
|
+
if (typeof value3 === "boolean") element0.setAttribute("aria-invalid", String(value3));
|
|
26
29
|
else element0.removeAttribute("aria-invalid");
|
|
27
|
-
const
|
|
28
|
-
if (
|
|
30
|
+
const value4 = componentProps["required"] === undefined ? false : componentProps["required"];
|
|
31
|
+
if (value4 === true) element0.setAttribute("required", "");
|
|
29
32
|
else element0.removeAttribute("required");
|
|
30
|
-
const
|
|
31
|
-
if (
|
|
32
|
-
else element0.setAttribute("name", String(
|
|
33
|
-
const
|
|
34
|
-
if (
|
|
35
|
-
else element0.setAttribute("value", String(
|
|
33
|
+
const value5 = componentProps["name"] === undefined ? "" : componentProps["name"];
|
|
34
|
+
if (value5 === null || value5 === undefined) element0.removeAttribute("name");
|
|
35
|
+
else element0.setAttribute("name", String(value5));
|
|
36
|
+
const value6 = componentProps["value"] === undefined ? "on" : componentProps["value"];
|
|
37
|
+
if (value6 === null || value6 === undefined) element0.removeAttribute("value");
|
|
38
|
+
else element0.setAttribute("value", String(value6));
|
|
36
39
|
element.append(element0);
|
|
37
40
|
const element1 = document.createElement("span");
|
|
38
41
|
element1.setAttribute("class", "text");
|
package/vanilla/UiCluster.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export interface UiClusterElement extends HTMLDivElement {
|
|
|
6
6
|
removeEventListener<K extends keyof UiClusterEventMap>(type: K, listener: (this: UiClusterElement, event: UiClusterEventMap[K]) => unknown, options?: boolean | EventListenerOptions): void;
|
|
7
7
|
}
|
|
8
8
|
export interface UiClusterProps {
|
|
9
|
-
align?: "start" | "center" | "end" | "stretch" | null;
|
|
9
|
+
align?: "start" | "center" | "end" | "stretch" | "baseline" | null;
|
|
10
10
|
fixed?: boolean | null;
|
|
11
11
|
gap?: "xs" | "s" | "m" | "l" | "xl" | null;
|
|
12
12
|
justify?: "start" | "center" | "end" | "between" | null;
|
package/vanilla/UiCluster.js
CHANGED
|
@@ -28,7 +28,7 @@ export function createUiCluster(options = {}) {
|
|
|
28
28
|
} else {
|
|
29
29
|
}
|
|
30
30
|
manageGeneratedProps(element, [
|
|
31
|
-
{ name: "align", attribute: "data-align", value: componentProps["align"], type: ["start","center","end","stretch"], required: false },
|
|
31
|
+
{ name: "align", attribute: "data-align", value: componentProps["align"], type: ["start","center","end","stretch","baseline"], required: false },
|
|
32
32
|
{ name: "fixed", attribute: "data-fixed", value: componentProps["fixed"], default: false, type: "boolean", required: false },
|
|
33
33
|
{ name: "gap", attribute: "data-gap", value: componentProps["gap"], type: ["xs","s","m","l","xl"], required: false },
|
|
34
34
|
{ name: "justify", attribute: "data-justify", value: componentProps["justify"], type: ["start","center","end","between"], required: false },
|
package/vanilla/UiListItem.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export interface UiListItemElement extends HTMLLIElement {
|
|
|
8
8
|
export interface UiListItemProps {
|
|
9
9
|
current?: boolean | null;
|
|
10
10
|
highlighted?: boolean | null;
|
|
11
|
+
leadingInteractive?: boolean | null;
|
|
11
12
|
variant?: "row" | "card" | null;
|
|
12
13
|
wrap?: boolean | null;
|
|
13
14
|
attributes?: Readonly<Record<string, string | number | boolean | null | undefined>>;
|
package/vanilla/UiListItem.js
CHANGED
|
@@ -7,8 +7,9 @@ export function createUiListItem(options = {}) {
|
|
|
7
7
|
const projected = [];
|
|
8
8
|
const prop0 = componentProps["current"] === undefined ? false : componentProps["current"];
|
|
9
9
|
const prop1 = componentProps["highlighted"] === undefined ? false : componentProps["highlighted"];
|
|
10
|
-
const prop2 = componentProps["
|
|
11
|
-
const prop3 = componentProps["
|
|
10
|
+
const prop2 = componentProps["leadingInteractive"] === undefined ? false : componentProps["leadingInteractive"];
|
|
11
|
+
const prop3 = componentProps["variant"] === undefined ? "row" : componentProps["variant"];
|
|
12
|
+
const prop4 = componentProps["wrap"] === undefined ? false : componentProps["wrap"];
|
|
12
13
|
const element = document.createElement("li");
|
|
13
14
|
for (const [name, value] of Object.entries(attributes)) {
|
|
14
15
|
if (value === null || value === undefined || value === false) continue;
|
|
@@ -72,6 +73,7 @@ export function createUiListItem(options = {}) {
|
|
|
72
73
|
manageGeneratedProps(element, [
|
|
73
74
|
{ name: "current", attribute: "data-current", value: componentProps["current"], default: false, type: "boolean", required: false },
|
|
74
75
|
{ name: "highlighted", attribute: "data-highlighted", value: componentProps["highlighted"], default: false, type: "boolean", required: false },
|
|
76
|
+
{ name: "leadingInteractive", attribute: "data-leading-interactive", value: componentProps["leadingInteractive"], default: false, type: "boolean", required: false },
|
|
75
77
|
{ name: "variant", attribute: "data-variant", value: componentProps["variant"], default: "row", type: ["row","card"], required: false },
|
|
76
78
|
{ name: "wrap", attribute: "data-wrap", value: componentProps["wrap"], default: false, type: "boolean", required: false },
|
|
77
79
|
], (name, value) => {
|
package/vanilla/UiTreeItem.d.ts
CHANGED
package/vanilla/UiTreeItem.js
CHANGED
|
@@ -3,7 +3,7 @@ import { manageComponentLifecycle } from "@nextwebwg/html-next/runtime";
|
|
|
3
3
|
import * as controller from "../components/ui-tree-item/ui-tree-item.js";
|
|
4
4
|
import "../styles/ui-tree-item.css";
|
|
5
5
|
|
|
6
|
-
const definition = {...{"contract":{"tag":"ui-tree-item","props":{"accepts":{"type":"string","required":false,"target":{"attribute":"data-accepts"},"default":""},"container":{"type":"boolean","required":false,"target":{"attribute":"container"},"default":false},"disabled":{"type":"boolean","required":false,"target":{"attribute":"aria-disabled"},"default":false},"dragType":{"type":"string","required":false,"target":{"attribute":"data-drag-type"},"default":"item"},"dropDepth":{"type":"number","required":false,"target":{"attribute":"data-drop-depth"}},"dropScope":{"type":"string","required":false,"target":{"attribute":"data-drop-scope"},"default":""},"expanded":{"type":"boolean","required":false,"target":{"attribute":"expanded"},"default":false},"itemId":{"type":"string","required":false,"target":{"attribute":"data-item-id"},"default":""},"label":{"type":"string","required":false,"target":{"attribute":"aria-label"},"default":""},"lazy":{"type":"boolean","required":false,"target":{"attribute":"lazy"},"default":false},"marquee":{"type":"boolean","required":false,"target":{"attribute":"marquee"},"default":false},"selected":{"type":"boolean","required":false,"target":{"attribute":"aria-selected"},"default":false},"sortable":{"type":"boolean","required":false,"target":{"attribute":"sortable"},"default":false},"subtreeDepth":{"type":"number","required":false,"target":{"attribute":"data-subtree-depth"}}}},"template":{"kind":"element","name":"div","attributes":[{"kind":"literal","name":"role","value":"treeitem"},{"kind":"attribute","name":"aria-label","expression":"label","expressionPlan":{"source":"label","ast":{"kind":"id","name":"label"},"dependencies":["label"]}},{"kind":"attribute","name":"aria-level","expression":"structuralLevel","expressionPlan":{"source":"structuralLevel","ast":{"kind":"id","name":"structuralLevel"},"dependencies":["structuralLevel"]}},{"kind":"attribute","name":"aria-selected","expression":"selected","expressionPlan":{"source":"selected","ast":{"kind":"id","name":"selected"},"dependencies":["selected"]}},{"kind":"attribute","name":"aria-disabled","expression":"disabled","expressionPlan":{"source":"disabled","ast":{"kind":"id","name":"disabled"},"dependencies":["disabled"]}},{"kind":"attribute","name":"data-item-id","expression":"itemId","expressionPlan":{"source":"itemId","ast":{"kind":"id","name":"itemId"},"dependencies":["itemId"]}},{"kind":"attribute","name":"data-drag-type","expression":"dragType","expressionPlan":{"source":"dragType","ast":{"kind":"id","name":"dragType"},"dependencies":["dragType"]}},{"kind":"attribute","name":"data-drop-scope","expression":"dropScope","expressionPlan":{"source":"dropScope","ast":{"kind":"id","name":"dropScope"},"dependencies":["dropScope"]}},{"kind":"attribute","name":"data-accepts","expression":"accepts","expressionPlan":{"source":"accepts","ast":{"kind":"id","name":"accepts"},"dependencies":["accepts"]}},{"kind":"attribute","name":"data-drop-depth","expression":"dropDepth","expressionPlan":{"source":"dropDepth","ast":{"kind":"id","name":"dropDepth"},"dependencies":["dropDepth"]}},{"kind":"attribute","name":"data-subtree-depth","expression":"subtreeDepth","expressionPlan":{"source":"subtreeDepth","ast":{"kind":"id","name":"subtreeDepth"},"dependencies":["subtreeDepth"]}}],"children":[{"kind":"element","name":"div","attributes":[{"kind":"literal","name":"class","value":"row"}],"children":[{"kind":"element","name":"button","attributes":[{"kind":"literal","name":"class","value":"drag-handle"},{"kind":"literal","name":"type","value":"button"},{"kind":"literal","name":"draggable","value":"true"},{"kind":"attribute","name":"aria-label","expression":"{ true: concat('Cancel moving ', label), false: concat('Drag ', label, ' to reorder') }[concat(moving)]","expressionPlan":{"source":"{ true: concat('Cancel moving ', label), false: concat('Drag ', label, ' to reorder') }[concat(moving)]","ast":{"kind":"index","object":{"kind":"object","pairs":[{"key":"true","value":{"kind":"call","fn":"concat","args":[{"kind":"literal","value":"Cancel moving "},{"kind":"id","name":"label"}]}},{"key":"false","value":{"kind":"call","fn":"concat","args":[{"kind":"literal","value":"Drag "},{"kind":"id","name":"label"},{"kind":"literal","value":" to reorder"}]}}]},"index":{"kind":"call","fn":"concat","args":[{"kind":"id","name":"moving"}]}},"dependencies":["label","moving"]}}],"children":[{"kind":"element","name":"svg","attributes":[{"kind":"literal","name":"aria-hidden","value":"true"},{"kind":"literal","name":"focusable","value":"false"},{"kind":"literal","name":"viewBox","value":"0 0 24 24"},{"kind":"literal","name":"fill","value":"none"},{"kind":"literal","name":"stroke","value":"currentColor"},{"kind":"literal","name":"stroke-width","value":"2"},{"kind":"literal","name":"stroke-linecap","value":"round"},{"kind":"literal","name":"stroke-linejoin","value":"round"}],"children":[{"kind":"element","name":"circle","attributes":[{"kind":"literal","name":"cx","value":"9"},{"kind":"literal","name":"cy","value":"12"},{"kind":"literal","name":"r","value":"1"}],"children":[]},{"kind":"element","name":"circle","attributes":[{"kind":"literal","name":"cx","value":"9"},{"kind":"literal","name":"cy","value":"5"},{"kind":"literal","name":"r","value":"1"}],"children":[]},{"kind":"element","name":"circle","attributes":[{"kind":"literal","name":"cx","value":"9"},{"kind":"literal","name":"cy","value":"19"},{"kind":"literal","name":"r","value":"1"}],"children":[]},{"kind":"element","name":"circle","attributes":[{"kind":"literal","name":"cx","value":"15"},{"kind":"literal","name":"cy","value":"12"},{"kind":"literal","name":"r","value":"1"}],"children":[]},{"kind":"element","name":"circle","attributes":[{"kind":"literal","name":"cx","value":"15"},{"kind":"literal","name":"cy","value":"5"},{"kind":"literal","name":"r","value":"1"}],"children":[]},{"kind":"element","name":"circle","attributes":[{"kind":"literal","name":"cx","value":"15"},{"kind":"literal","name":"cy","value":"19"},{"kind":"literal","name":"r","value":"1"}],"children":[]}]}],"flow":{"kind":"if","test":"sortable and not disabled","testPlan":{"source":"sortable and not disabled","ast":{"kind":"binary","op":"and","left":{"kind":"id","name":"sortable"},"right":{"kind":"unary","op":"not","operand":{"kind":"id","name":"disabled"}}},"dependencies":["disabled","sortable"]}},"ref":"dragHandle"},{"kind":"element","name":"button","attributes":[{"kind":"literal","name":"class","value":"disclosure"},{"kind":"literal","name":"type","value":"button"},{"kind":"attribute","name":"disabled","expression":"disabled","expressionPlan":{"source":"disabled","ast":{"kind":"id","name":"disabled"},"dependencies":["disabled"]}},{"kind":"attribute","name":"hidden","expression":"not isContainer","expressionPlan":{"source":"not isContainer","ast":{"kind":"unary","op":"not","operand":{"kind":"id","name":"isContainer"}},"dependencies":["isContainer"]}}],"children":[{"kind":"element","name":"span","attributes":[{"kind":"literal","name":"class","value":"disclosure-icon"},{"kind":"literal","name":"aria-hidden","value":"true"}],"children":[]}],"ref":"disclosure"},{"kind":"element","name":"label","attributes":[{"kind":"literal","name":"class","value":"selection-hit"}],"children":[{"kind":"element","name":"input","attributes":[{"kind":"literal","name":"class","value":"selection-checkbox"},{"kind":"literal","name":"type","value":"checkbox"},{"kind":"literal","name":"tabindex","value":"-1"},{"kind":"attribute","name":"checked","expression":"selected","expressionPlan":{"source":"selected","ast":{"kind":"id","name":"selected"},"dependencies":["selected"]}},{"kind":"attribute","name":"disabled","expression":"disabled","expressionPlan":{"source":"disabled","ast":{"kind":"id","name":"disabled"},"dependencies":["disabled"]}},{"kind":"attribute","name":"aria-label","expression":"concat('Select ', label)","expressionPlan":{"source":"concat('Select ', label)","ast":{"kind":"call","fn":"concat","args":[{"kind":"literal","value":"Select "},{"kind":"id","name":"label"}]},"dependencies":["label"]}}],"children":[]}]},{"kind":"element","name":"span","attributes":[{"kind":"literal","name":"class","value":"leading"}],"children":[{"kind":"slot","fallback":[],"name":"leading"}],"ref":"leading"},{"kind":"element","name":"span","attributes":[{"kind":"literal","name":"class","value":"label"}],"children":[{"kind":"element","name":"span","attributes":[{"kind":"literal","name":"class","value":"label-text"}],"children":[{"kind":"slot","fallback":[{"kind":"text","value":"$label","expressionPlan":{"source":"$label","ast":{"kind":"id","name":"label"},"dependencies":["label"]}}],"name":"label"}],"ref":"labelText"}],"ref":"label"},{"kind":"element","name":"span","attributes":[{"kind":"literal","name":"class","value":"actions"}],"children":[{"kind":"element","name":"ui-button","attributes":[{"kind":"literal","name":"data-tree-cancel-move","value":""},{"kind":"literal","name":"variant","value":"ghost"},{"kind":"literal","name":"tone","value":"neutral"},{"kind":"literal","name":"size","value":"sm"},{"kind":"literal","name":"aria-label","value":"Cancel move"}],"children":[{"kind":"text","value":"Cancel"}],"flow":{"kind":"if","test":"moving","testPlan":{"source":"moving","ast":{"kind":"id","name":"moving"},"dependencies":["moving"]}}},{"kind":"element","name":"span","attributes":[],"children":[{"kind":"slot","fallback":[],"name":"actions"}],"flow":{"kind":"else"}}],"ref":"actions"},{"kind":"element","name":"span","attributes":[{"kind":"literal","name":"class","value":"drop-indicator row-drop-indicator"},{"kind":"literal","name":"aria-hidden","value":"true"}],"children":[]}],"ref":"row"},{"kind":"element","name":"div","attributes":[{"kind":"literal","name":"class","value":"children"},{"kind":"literal","name":"role","value":"group"},{"kind":"attribute","name":"hidden","expression":"not (isContainer and internalExpanded)","expressionPlan":{"source":"not (isContainer and internalExpanded)","ast":{"kind":"unary","op":"not","operand":{"kind":"binary","op":"and","left":{"kind":"id","name":"isContainer"},"right":{"kind":"id","name":"internalExpanded"}}},"dependencies":["internalExpanded","isContainer"]}}],"children":[{"kind":"slot"}],"ref":"children"},{"kind":"element","name":"span","attributes":[{"kind":"literal","name":"class","value":"drop-indicator subtree-drop-indicator"},{"kind":"literal","name":"aria-hidden","value":"true"}],"children":[]}]},"declarations":[{"kind":"state","name":"internalExpanded","type":"boolean","value":"false","expression":{"source":"false","ast":{"kind":"literal","value":false},"dependencies":[]}},{"kind":"state","name":"structuralLevel","type":"integer","value":"1","expression":{"source":"1","ast":{"kind":"literal","value":1},"dependencies":[]}},{"kind":"state","name":"tabStop","type":"boolean","value":"false","expression":{"source":"false","ast":{"kind":"literal","value":false},"dependencies":[]}},{"kind":"state","name":"isContainer","type":"boolean","value":"false","expression":{"source":"false","ast":{"kind":"literal","value":false},"dependencies":[]}},{"kind":"state","name":"moving","type":"boolean","value":"false","expression":{"source":"false","ast":{"kind":"literal","value":false},"dependencies":[]}},{"kind":"event","name":"expand","type":"object","shape":{"kind":"object","fields":[{"name":"id","type":{"kind":"terminal","name":"string"},"optional":false},{"name":"expanded","type":{"kind":"terminal","name":"boolean"},"optional":false},{"name":"trigger","type":{"kind":"constrained","base":{"kind":"terminal","name":"keyword"},"values":["keyboard","pointer","programmatic"]},"optional":false}],"open":false},"bubbles":false,"composed":true,"cancelable":false}],"root":{"kind":"native","element":"div","choices":["div"]}},source:{file:import.meta.url},css:""};
|
|
6
|
+
const definition = {...{"contract":{"tag":"ui-tree-item","props":{"accepts":{"type":"string","required":false,"target":{"attribute":"data-accepts"},"default":""},"actionsVisible":{"type":"boolean","required":false,"target":{"attribute":"actionsvisible"},"default":false},"container":{"type":"boolean","required":false,"target":{"attribute":"container"},"default":false},"disabled":{"type":"boolean","required":false,"target":{"attribute":"aria-disabled"},"default":false},"dragType":{"type":"string","required":false,"target":{"attribute":"data-drag-type"},"default":"item"},"dropDepth":{"type":"number","required":false,"target":{"attribute":"data-drop-depth"}},"dropScope":{"type":"string","required":false,"target":{"attribute":"data-drop-scope"},"default":""},"expanded":{"type":"boolean","required":false,"target":{"attribute":"expanded"},"default":false},"itemId":{"type":"string","required":false,"target":{"attribute":"data-item-id"},"default":""},"label":{"type":"string","required":false,"target":{"attribute":"aria-label"},"default":""},"lazy":{"type":"boolean","required":false,"target":{"attribute":"lazy"},"default":false},"marquee":{"type":"boolean","required":false,"target":{"attribute":"marquee"},"default":false},"selected":{"type":"boolean","required":false,"target":{"attribute":"aria-selected"},"default":false},"sortable":{"type":"boolean","required":false,"target":{"attribute":"sortable"},"default":false},"subtreeDepth":{"type":"number","required":false,"target":{"attribute":"data-subtree-depth"}}}},"template":{"kind":"element","name":"div","attributes":[{"kind":"literal","name":"role","value":"treeitem"},{"kind":"attribute","name":"aria-label","expression":"label","expressionPlan":{"source":"label","ast":{"kind":"id","name":"label"},"dependencies":["label"]}},{"kind":"attribute","name":"aria-level","expression":"structuralLevel","expressionPlan":{"source":"structuralLevel","ast":{"kind":"id","name":"structuralLevel"},"dependencies":["structuralLevel"]}},{"kind":"attribute","name":"aria-selected","expression":"selected","expressionPlan":{"source":"selected","ast":{"kind":"id","name":"selected"},"dependencies":["selected"]}},{"kind":"attribute","name":"aria-disabled","expression":"disabled","expressionPlan":{"source":"disabled","ast":{"kind":"id","name":"disabled"},"dependencies":["disabled"]}},{"kind":"attribute","name":"data-item-id","expression":"itemId","expressionPlan":{"source":"itemId","ast":{"kind":"id","name":"itemId"},"dependencies":["itemId"]}},{"kind":"attribute","name":"data-drag-type","expression":"dragType","expressionPlan":{"source":"dragType","ast":{"kind":"id","name":"dragType"},"dependencies":["dragType"]}},{"kind":"attribute","name":"data-drop-scope","expression":"dropScope","expressionPlan":{"source":"dropScope","ast":{"kind":"id","name":"dropScope"},"dependencies":["dropScope"]}},{"kind":"attribute","name":"data-accepts","expression":"accepts","expressionPlan":{"source":"accepts","ast":{"kind":"id","name":"accepts"},"dependencies":["accepts"]}},{"kind":"attribute","name":"data-drop-depth","expression":"dropDepth","expressionPlan":{"source":"dropDepth","ast":{"kind":"id","name":"dropDepth"},"dependencies":["dropDepth"]}},{"kind":"attribute","name":"data-subtree-depth","expression":"subtreeDepth","expressionPlan":{"source":"subtreeDepth","ast":{"kind":"id","name":"subtreeDepth"},"dependencies":["subtreeDepth"]}}],"children":[{"kind":"element","name":"div","attributes":[{"kind":"literal","name":"class","value":"row"}],"children":[{"kind":"element","name":"button","attributes":[{"kind":"literal","name":"class","value":"drag-handle"},{"kind":"literal","name":"type","value":"button"},{"kind":"literal","name":"draggable","value":"true"},{"kind":"attribute","name":"aria-label","expression":"{ true: concat('Cancel moving ', label), false: concat('Drag ', label, ' to reorder') }[concat(moving)]","expressionPlan":{"source":"{ true: concat('Cancel moving ', label), false: concat('Drag ', label, ' to reorder') }[concat(moving)]","ast":{"kind":"index","object":{"kind":"object","pairs":[{"key":"true","value":{"kind":"call","fn":"concat","args":[{"kind":"literal","value":"Cancel moving "},{"kind":"id","name":"label"}]}},{"key":"false","value":{"kind":"call","fn":"concat","args":[{"kind":"literal","value":"Drag "},{"kind":"id","name":"label"},{"kind":"literal","value":" to reorder"}]}}]},"index":{"kind":"call","fn":"concat","args":[{"kind":"id","name":"moving"}]}},"dependencies":["label","moving"]}}],"children":[{"kind":"element","name":"svg","attributes":[{"kind":"literal","name":"aria-hidden","value":"true"},{"kind":"literal","name":"focusable","value":"false"},{"kind":"literal","name":"viewBox","value":"0 0 24 24"},{"kind":"literal","name":"fill","value":"none"},{"kind":"literal","name":"stroke","value":"currentColor"},{"kind":"literal","name":"stroke-width","value":"2"},{"kind":"literal","name":"stroke-linecap","value":"round"},{"kind":"literal","name":"stroke-linejoin","value":"round"}],"children":[{"kind":"element","name":"circle","attributes":[{"kind":"literal","name":"cx","value":"9"},{"kind":"literal","name":"cy","value":"12"},{"kind":"literal","name":"r","value":"1"}],"children":[]},{"kind":"element","name":"circle","attributes":[{"kind":"literal","name":"cx","value":"9"},{"kind":"literal","name":"cy","value":"5"},{"kind":"literal","name":"r","value":"1"}],"children":[]},{"kind":"element","name":"circle","attributes":[{"kind":"literal","name":"cx","value":"9"},{"kind":"literal","name":"cy","value":"19"},{"kind":"literal","name":"r","value":"1"}],"children":[]},{"kind":"element","name":"circle","attributes":[{"kind":"literal","name":"cx","value":"15"},{"kind":"literal","name":"cy","value":"12"},{"kind":"literal","name":"r","value":"1"}],"children":[]},{"kind":"element","name":"circle","attributes":[{"kind":"literal","name":"cx","value":"15"},{"kind":"literal","name":"cy","value":"5"},{"kind":"literal","name":"r","value":"1"}],"children":[]},{"kind":"element","name":"circle","attributes":[{"kind":"literal","name":"cx","value":"15"},{"kind":"literal","name":"cy","value":"19"},{"kind":"literal","name":"r","value":"1"}],"children":[]}]}],"flow":{"kind":"if","test":"sortable and not disabled","testPlan":{"source":"sortable and not disabled","ast":{"kind":"binary","op":"and","left":{"kind":"id","name":"sortable"},"right":{"kind":"unary","op":"not","operand":{"kind":"id","name":"disabled"}}},"dependencies":["disabled","sortable"]}},"ref":"dragHandle"},{"kind":"element","name":"button","attributes":[{"kind":"literal","name":"class","value":"disclosure"},{"kind":"literal","name":"type","value":"button"},{"kind":"attribute","name":"disabled","expression":"disabled","expressionPlan":{"source":"disabled","ast":{"kind":"id","name":"disabled"},"dependencies":["disabled"]}},{"kind":"attribute","name":"hidden","expression":"not isContainer","expressionPlan":{"source":"not isContainer","ast":{"kind":"unary","op":"not","operand":{"kind":"id","name":"isContainer"}},"dependencies":["isContainer"]}}],"children":[{"kind":"element","name":"span","attributes":[{"kind":"literal","name":"class","value":"disclosure-icon"},{"kind":"literal","name":"aria-hidden","value":"true"}],"children":[]}],"ref":"disclosure"},{"kind":"element","name":"label","attributes":[{"kind":"literal","name":"class","value":"selection-hit"}],"children":[{"kind":"element","name":"input","attributes":[{"kind":"literal","name":"class","value":"selection-checkbox"},{"kind":"literal","name":"type","value":"checkbox"},{"kind":"literal","name":"tabindex","value":"-1"},{"kind":"attribute","name":"checked","expression":"selected","expressionPlan":{"source":"selected","ast":{"kind":"id","name":"selected"},"dependencies":["selected"]}},{"kind":"attribute","name":"disabled","expression":"disabled","expressionPlan":{"source":"disabled","ast":{"kind":"id","name":"disabled"},"dependencies":["disabled"]}},{"kind":"attribute","name":"aria-label","expression":"concat('Select ', label)","expressionPlan":{"source":"concat('Select ', label)","ast":{"kind":"call","fn":"concat","args":[{"kind":"literal","value":"Select "},{"kind":"id","name":"label"}]},"dependencies":["label"]}}],"children":[]}]},{"kind":"element","name":"span","attributes":[{"kind":"literal","name":"class","value":"leading"}],"children":[{"kind":"slot","fallback":[],"name":"leading"}],"ref":"leading"},{"kind":"element","name":"span","attributes":[{"kind":"literal","name":"class","value":"label"}],"children":[{"kind":"element","name":"span","attributes":[{"kind":"literal","name":"class","value":"label-text"}],"children":[{"kind":"slot","fallback":[{"kind":"text","value":"$label","expressionPlan":{"source":"$label","ast":{"kind":"id","name":"label"},"dependencies":["label"]}}],"name":"label"}],"ref":"labelText"}],"ref":"label"},{"kind":"element","name":"span","attributes":[{"kind":"literal","name":"class","value":"actions"}],"children":[{"kind":"element","name":"ui-button","attributes":[{"kind":"literal","name":"data-tree-cancel-move","value":""},{"kind":"literal","name":"variant","value":"ghost"},{"kind":"literal","name":"tone","value":"neutral"},{"kind":"literal","name":"size","value":"sm"},{"kind":"literal","name":"aria-label","value":"Cancel move"}],"children":[{"kind":"text","value":"Cancel"}],"flow":{"kind":"if","test":"moving","testPlan":{"source":"moving","ast":{"kind":"id","name":"moving"},"dependencies":["moving"]}}},{"kind":"element","name":"span","attributes":[],"children":[{"kind":"slot","fallback":[],"name":"actions"}],"flow":{"kind":"else"}}],"ref":"actions"},{"kind":"element","name":"span","attributes":[{"kind":"literal","name":"class","value":"drop-indicator row-drop-indicator"},{"kind":"literal","name":"aria-hidden","value":"true"}],"children":[]}],"ref":"row"},{"kind":"element","name":"div","attributes":[{"kind":"literal","name":"class","value":"children"},{"kind":"literal","name":"role","value":"group"},{"kind":"attribute","name":"hidden","expression":"not (isContainer and internalExpanded)","expressionPlan":{"source":"not (isContainer and internalExpanded)","ast":{"kind":"unary","op":"not","operand":{"kind":"binary","op":"and","left":{"kind":"id","name":"isContainer"},"right":{"kind":"id","name":"internalExpanded"}}},"dependencies":["internalExpanded","isContainer"]}}],"children":[{"kind":"slot"}],"ref":"children"},{"kind":"element","name":"span","attributes":[{"kind":"literal","name":"class","value":"drop-indicator subtree-drop-indicator"},{"kind":"literal","name":"aria-hidden","value":"true"}],"children":[]}]},"declarations":[{"kind":"state","name":"internalExpanded","type":"boolean","value":"false","expression":{"source":"false","ast":{"kind":"literal","value":false},"dependencies":[]}},{"kind":"state","name":"structuralLevel","type":"integer","value":"1","expression":{"source":"1","ast":{"kind":"literal","value":1},"dependencies":[]}},{"kind":"state","name":"tabStop","type":"boolean","value":"false","expression":{"source":"false","ast":{"kind":"literal","value":false},"dependencies":[]}},{"kind":"state","name":"isContainer","type":"boolean","value":"false","expression":{"source":"false","ast":{"kind":"literal","value":false},"dependencies":[]}},{"kind":"state","name":"moving","type":"boolean","value":"false","expression":{"source":"false","ast":{"kind":"literal","value":false},"dependencies":[]}},{"kind":"event","name":"expand","type":"object","shape":{"kind":"object","fields":[{"name":"id","type":{"kind":"terminal","name":"string"},"optional":false},{"name":"expanded","type":{"kind":"terminal","name":"boolean"},"optional":false},{"name":"trigger","type":{"kind":"constrained","base":{"kind":"terminal","name":"keyword"},"values":["keyboard","pointer","programmatic"]},"optional":false}],"open":false},"bubbles":false,"composed":true,"cancelable":false}],"root":{"kind":"native","element":"div","choices":["div"]}},source:{file:import.meta.url},css:""};
|
|
7
7
|
|
|
8
8
|
export function createUiTreeItem(options = {}) {
|
|
9
9
|
const { attributes = {}, children = [], slots = {}, ...componentProps } = options;
|
package/vue/UiCheckbox.d.ts
CHANGED
|
@@ -18,6 +18,10 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<import
|
|
|
18
18
|
type: PropType<boolean | null>;
|
|
19
19
|
default: boolean;
|
|
20
20
|
};
|
|
21
|
+
label: {
|
|
22
|
+
type: PropType<string | null>;
|
|
23
|
+
default: string;
|
|
24
|
+
};
|
|
21
25
|
name: {
|
|
22
26
|
type: PropType<string | null>;
|
|
23
27
|
default: string;
|
|
@@ -59,6 +63,10 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<import
|
|
|
59
63
|
type: PropType<boolean | null>;
|
|
60
64
|
default: boolean;
|
|
61
65
|
};
|
|
66
|
+
label: {
|
|
67
|
+
type: PropType<string | null>;
|
|
68
|
+
default: string;
|
|
69
|
+
};
|
|
62
70
|
name: {
|
|
63
71
|
type: PropType<string | null>;
|
|
64
72
|
default: string;
|
|
@@ -84,6 +92,7 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<import
|
|
|
84
92
|
"onUpdate:checked"?: ((value: boolean) => any) | undefined;
|
|
85
93
|
"onUpdate:value"?: ((value: string) => any) | undefined;
|
|
86
94
|
}>, {
|
|
95
|
+
label: string | null;
|
|
87
96
|
name: string | null;
|
|
88
97
|
value: string | null;
|
|
89
98
|
invalid: boolean | null;
|
package/vue/UiCheckbox.vue
CHANGED
|
@@ -53,6 +53,14 @@ const propValidityContract = {
|
|
|
53
53
|
'Exposes an externally validated error and styles the checkbox with the field danger colour.',
|
|
54
54
|
default: false,
|
|
55
55
|
},
|
|
56
|
+
label: {
|
|
57
|
+
type: { kind: 'terminal', name: 'string' },
|
|
58
|
+
required: false,
|
|
59
|
+
target: { attribute: 'aria-label' },
|
|
60
|
+
description:
|
|
61
|
+
'An accessible name for a checkbox without a visible label slot. It names the native input.',
|
|
62
|
+
default: '',
|
|
63
|
+
},
|
|
56
64
|
name: {
|
|
57
65
|
type: { kind: 'terminal', name: 'string' },
|
|
58
66
|
required: false,
|
|
@@ -93,6 +101,7 @@ const props = defineProps({
|
|
|
93
101
|
disabled: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
94
102
|
indeterminate: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
95
103
|
invalid: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
104
|
+
label: { type: null as unknown as PropType<string | null>, default: '' },
|
|
96
105
|
name: { type: null as unknown as PropType<string | null>, default: '' },
|
|
97
106
|
required: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
98
107
|
size: { type: null as unknown as PropType<'sm' | 'md' | 'lg' | null>, default: 'md' },
|
|
@@ -103,6 +112,7 @@ const acceptedProps: Record<string, unknown> = {
|
|
|
103
112
|
disabled: false,
|
|
104
113
|
indeterminate: false,
|
|
105
114
|
invalid: false,
|
|
115
|
+
label: '',
|
|
106
116
|
name: '',
|
|
107
117
|
required: false,
|
|
108
118
|
size: 'md',
|
|
@@ -137,6 +147,13 @@ const checkedProps = computed(() => ({
|
|
|
137
147
|
'invalid',
|
|
138
148
|
acceptedProps,
|
|
139
149
|
) as boolean,
|
|
150
|
+
label: checkedProp<string>(
|
|
151
|
+
props['label'],
|
|
152
|
+
{ kind: 'terminal', name: 'string' },
|
|
153
|
+
false,
|
|
154
|
+
'label',
|
|
155
|
+
acceptedProps,
|
|
156
|
+
) as string,
|
|
140
157
|
name: checkedProp<string>(
|
|
141
158
|
props['name'],
|
|
142
159
|
{ kind: 'terminal', name: 'string' },
|
|
@@ -302,6 +319,7 @@ useComponentHost(() => import('../components/ui-checkbox/ui-checkbox.js'), {
|
|
|
302
319
|
'disabled',
|
|
303
320
|
'indeterminate',
|
|
304
321
|
'invalid',
|
|
322
|
+
'label',
|
|
305
323
|
'name',
|
|
306
324
|
'required',
|
|
307
325
|
'size',
|
|
@@ -323,6 +341,7 @@ useComponentHost(() => import('../components/ui-checkbox/ui-checkbox.js'), {
|
|
|
323
341
|
:data-disabled="reflectedProp('disabled', 'disabled', checkedProps.disabled, undefined, false)"
|
|
324
342
|
:data-indeterminate="reflectedProp('indeterminate', 'indeterminate', checkedProps.indeterminate, undefined, false)"
|
|
325
343
|
:data-invalid="reflectedProp('invalid', 'invalid', checkedProps.invalid, undefined, false)"
|
|
344
|
+
:data-label="reflectedProp('label', 'label', checkedProps.label, undefined, false)"
|
|
326
345
|
:data-name="reflectedProp('name', 'name', checkedProps.name, undefined, false)"
|
|
327
346
|
:data-required="reflectedProp('required', 'required', checkedProps.required, undefined, false)"
|
|
328
347
|
:data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
|
|
@@ -338,6 +357,7 @@ useComponentHost(() => import('../components/ui-checkbox/ui-checkbox.js'), {
|
|
|
338
357
|
nativeProperty: true,
|
|
339
358
|
defaultChecked: false,
|
|
340
359
|
}"
|
|
360
|
+
:aria-label="checkedProps.label ?? undefined"
|
|
341
361
|
:indeterminate.prop="checkedProps.indeterminate as any"
|
|
342
362
|
:disabled="checkedProps.disabled ?? undefined"
|
|
343
363
|
:aria-invalid="checkedProps.invalid ?? undefined"
|
package/vue/UiCluster.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
|
align: {
|
|
8
|
-
type: PropType<"start" | "center" | "end" | "stretch" | null>;
|
|
8
|
+
type: PropType<"start" | "center" | "end" | "stretch" | "baseline" | null>;
|
|
9
9
|
default: null;
|
|
10
10
|
};
|
|
11
11
|
fixed: {
|
|
@@ -34,7 +34,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
34
34
|
};
|
|
35
35
|
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
36
36
|
align: {
|
|
37
|
-
type: PropType<"start" | "center" | "end" | "stretch" | null>;
|
|
37
|
+
type: PropType<"start" | "center" | "end" | "stretch" | "baseline" | null>;
|
|
38
38
|
default: null;
|
|
39
39
|
};
|
|
40
40
|
fixed: {
|
|
@@ -62,7 +62,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
62
62
|
default: null;
|
|
63
63
|
};
|
|
64
64
|
}>> & Readonly<{}>, {
|
|
65
|
-
align: "center" | "start" | "stretch" | "end" | null;
|
|
65
|
+
align: "center" | "start" | "stretch" | "end" | "baseline" | null;
|
|
66
66
|
padding: "s" | "none" | "m" | "l" | null;
|
|
67
67
|
fixed: boolean | null;
|
|
68
68
|
gap: "s" | "xs" | "m" | "l" | "xl" | null;
|
package/vue/UiCluster.vue
CHANGED
|
@@ -13,8 +13,8 @@ const propValidityContract = {
|
|
|
13
13
|
required: false,
|
|
14
14
|
target: { attribute: 'align' },
|
|
15
15
|
description:
|
|
16
|
-
'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.',
|
|
17
|
-
values: ['start', 'center', 'end', 'stretch'],
|
|
16
|
+
'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.',
|
|
17
|
+
values: ['start', 'center', 'end', 'stretch', 'baseline'],
|
|
18
18
|
},
|
|
19
19
|
fixed: {
|
|
20
20
|
type: { kind: 'terminal', name: 'boolean' },
|
|
@@ -68,7 +68,7 @@ const propValidityContract = {
|
|
|
68
68
|
} as const
|
|
69
69
|
const props = defineProps({
|
|
70
70
|
align: {
|
|
71
|
-
type: null as unknown as PropType<'start' | 'center' | 'end' | 'stretch' | null>,
|
|
71
|
+
type: null as unknown as PropType<'start' | 'center' | 'end' | 'stretch' | 'baseline' | null>,
|
|
72
72
|
default: null,
|
|
73
73
|
},
|
|
74
74
|
fixed: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
@@ -94,7 +94,7 @@ const acceptedProps: Record<string, unknown> = {
|
|
|
94
94
|
wrap: null,
|
|
95
95
|
}
|
|
96
96
|
const checkedProps = computed(() => ({
|
|
97
|
-
align: checkedProp<'start' | 'center' | 'end' | 'stretch'>(
|
|
97
|
+
align: checkedProp<'start' | 'center' | 'end' | 'stretch' | 'baseline'>(
|
|
98
98
|
props['align'],
|
|
99
99
|
{ kind: 'terminal', name: 'keyword' },
|
|
100
100
|
false,
|
|
@@ -304,6 +304,9 @@ const hostState = computed(() =>
|
|
|
304
304
|
[data-component~="ui-cluster"][data-ui-cluster-state~="align=end"] {
|
|
305
305
|
align-items: flex-end;
|
|
306
306
|
}
|
|
307
|
+
[data-component~="ui-cluster"][data-ui-cluster-state~="align=baseline"] {
|
|
308
|
+
align-items: baseline;
|
|
309
|
+
}
|
|
307
310
|
[data-component~="ui-cluster"][data-ui-cluster-state~="align=stretch"] {
|
|
308
311
|
align-items: stretch;
|
|
309
312
|
}
|
package/vue/UiListItem.d.ts
CHANGED
|
@@ -18,6 +18,10 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
18
18
|
type: PropType<boolean | null>;
|
|
19
19
|
default: boolean;
|
|
20
20
|
};
|
|
21
|
+
leadingInteractive: {
|
|
22
|
+
type: PropType<boolean | null>;
|
|
23
|
+
default: boolean;
|
|
24
|
+
};
|
|
21
25
|
variant: {
|
|
22
26
|
type: PropType<"row" | "card" | null>;
|
|
23
27
|
default: string;
|
|
@@ -35,6 +39,10 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
35
39
|
type: PropType<boolean | null>;
|
|
36
40
|
default: boolean;
|
|
37
41
|
};
|
|
42
|
+
leadingInteractive: {
|
|
43
|
+
type: PropType<boolean | null>;
|
|
44
|
+
default: boolean;
|
|
45
|
+
};
|
|
38
46
|
variant: {
|
|
39
47
|
type: PropType<"row" | "card" | null>;
|
|
40
48
|
default: string;
|
|
@@ -48,6 +56,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
48
56
|
current: boolean | null;
|
|
49
57
|
wrap: boolean | null;
|
|
50
58
|
highlighted: boolean | null;
|
|
59
|
+
leadingInteractive: boolean | null;
|
|
51
60
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
52
61
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
53
62
|
declare const _default: typeof __VLS_export;
|