@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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@threadlabs/looma",
3
- "version": "0.25.5",
3
+ "version": "0.25.7",
4
4
  "type": "module",
5
5
  "description": "Looma components as HTML, Vue, and plain DOM, with design tokens.",
6
6
  "license": "MIT",
@@ -63,6 +63,9 @@
63
63
  :scope[data-ui-cluster-state~="align=end"] {
64
64
  align-items: flex-end;
65
65
  }
66
+ :scope[data-ui-cluster-state~="align=baseline"] {
67
+ align-items: baseline;
68
+ }
66
69
  :scope[data-ui-cluster-state~="align=stretch"] {
67
70
  align-items: stretch;
68
71
  }
@@ -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-hover);
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) {
@@ -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
@@ -11,6 +11,7 @@ export interface UiCheckboxProps {
11
11
  disabled?: boolean | null;
12
12
  indeterminate?: boolean | null;
13
13
  invalid?: boolean | null;
14
+ label?: string | null;
14
15
  name?: string | null;
15
16
  required?: boolean | null;
16
17
  size?: "sm" | "md" | "lg" | null;
@@ -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["indeterminate"] === undefined ? false : componentProps["indeterminate"];
20
- if (value0 !== undefined) element0["indeterminate"] = value0;
21
- const value1 = componentProps["disabled"] === undefined ? false : componentProps["disabled"];
22
- if (value1 === true) element0.setAttribute("disabled", "");
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 value2 = componentProps["invalid"] === undefined ? false : componentProps["invalid"];
25
- if (typeof value2 === "boolean") element0.setAttribute("aria-invalid", String(value2));
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 value3 = componentProps["required"] === undefined ? false : componentProps["required"];
28
- if (value3 === true) element0.setAttribute("required", "");
30
+ const value4 = componentProps["required"] === undefined ? false : componentProps["required"];
31
+ if (value4 === true) element0.setAttribute("required", "");
29
32
  else element0.removeAttribute("required");
30
- const value4 = componentProps["name"] === undefined ? "" : componentProps["name"];
31
- if (value4 === null || value4 === undefined) element0.removeAttribute("name");
32
- else element0.setAttribute("name", String(value4));
33
- const value5 = componentProps["value"] === undefined ? "on" : componentProps["value"];
34
- if (value5 === null || value5 === undefined) element0.removeAttribute("value");
35
- else element0.setAttribute("value", String(value5));
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");
@@ -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;
@@ -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 },
@@ -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>>;
@@ -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["variant"] === undefined ? "row" : componentProps["variant"];
11
- const prop3 = componentProps["wrap"] === undefined ? false : componentProps["wrap"];
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) => {
@@ -8,6 +8,7 @@ export interface UiTreeItemElement extends HTMLDivElement {
8
8
  }
9
9
  export interface UiTreeItemProps {
10
10
  accepts?: string | null;
11
+ actionsVisible?: boolean | null;
11
12
  container?: boolean | null;
12
13
  disabled?: boolean | null;
13
14
  dragType?: string | null;
@@ -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;
@@ -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;
@@ -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"
@@ -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
  }
@@ -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;