@threadlabs/looma 0.26.22 → 0.26.24

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.26.22",
3
+ "version": "0.26.24",
4
4
  "type": "module",
5
5
  "description": "Looma components as HTML, Vue, and plain DOM, with design tokens.",
6
6
  "license": "MIT",
@@ -20,6 +20,7 @@ export interface UiComboboxProps {
20
20
  allowCreate?: boolean | null;
21
21
  allowFreeText?: boolean | null;
22
22
  autoHighlight?: "none" | "single" | null;
23
+ clearQueryOnBlur?: boolean | null;
23
24
  clearable?: boolean | null;
24
25
  disabled?: boolean | null;
25
26
  disclosure?: boolean | null;
@@ -34,7 +34,7 @@ const T27 = ["",[]];
34
34
  let P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, P21, P22, P23, P24, P25, P26, P27;
35
35
  const E = new Map();
36
36
  const S = { n: ["internalItems","raw","display","selected","expanded","rows","active","helpOpen","lookupError","validation","uid","submitted","groups","creatable","createIndex","message","statusText","validationStatus"], t: [["l",["o",["id","s","value","s","label","s","group","s","disabled","b","description","s","tag",["o",["label","s","tone",["p",formatOf(keywordFormat),false],"color","s"]]]]],"s","s",["u","s","z"],"b",["l",["o",["id","s","value","s","label","s","group","s","disabled","b","selected","b","description","s","tag",["o",["label","s","tone",["p",formatOf(keywordFormat),false],"color","s"]]]]],"i","b","s",["o",["status",["p",formatOf(keywordFormat),false],"touched","b","dirty","b","issues",["l",["o",["message","s"]]]],1],"s","s",["l",["o",["name","s","role",["p",formatOf(keywordFormat),false],"label",["u","s","z"],"rows",["l",["o",["id","s","value","s","label","s","group","s","disabled","b","selected","b","description","s","tag",["o",["label","s","tone",["p",formatOf(keywordFormat),false],"color","s"]],"index","i","labelledBy",["u","s","z"],"detail",["u","s","z"]]]]]]],"b","i","s","s","s"], f: import.meta.url, g: "ui-combobox", d: { "query-change": [detailCheck(checkObject([["query", checkString, false], ["display", checkString, false], ["trigger", checkConstrained(checkFormat("keyword", keywordFormat), "keyword", {"values":["keyboard","pointer","programmatic"]}), false]], false)), true, true, false], "value-change": [detailCheck(checkObject([["value", checkUnion([checkString, checkNull], "string | null"), false], ["query", checkString, false], ["option", checkUnion([checkObject([["id", checkString, false], ["value", checkString, false], ["label", checkString, false], ["group", checkString, true], ["disabled", checkBoolean, true], ["description", checkString, true], ["tag", checkObject([["label", checkString, false], ["tone", checkConstrained(checkFormat("keyword", keywordFormat), "keyword", {"values":["neutral","accent","info","success","warning","danger"]}), true], ["color", checkString, true]], false), true]], false), checkNull], "object({ id: string, value: string, label: string, group?: string, disabled?: boolean, description?: string, tag?: object({ label: string, tone?: keyword with values neutral, accent, info, success, warning, danger, color?: string }) }) | null"), false], ["kind", checkConstrained(checkFormat("keyword", keywordFormat), "keyword", {"values":["selection","clear","free-entry","create"]}), false], ["trigger", checkConstrained(checkFormat("keyword", keywordFormat), "keyword", {"values":["keyboard","pointer","programmatic"]}), false]], false)), true, true, false], "items-change": [detailCheck(checkList(checkObject([["id", checkString, false], ["value", checkString, false], ["label", checkString, false], ["group", checkString, true], ["disabled", checkBoolean, true], ["description", checkString, true], ["tag", checkObject([["label", checkString, false], ["tone", checkConstrained(checkFormat("keyword", keywordFormat), "keyword", {"values":["neutral","accent","info","success","warning","danger"]}), true], ["color", checkString, true]], false), true]], false))), true, true, false], "free-entry": [detailCheck(checkObject([["value", checkUnion([checkString, checkNull], "string | null"), false], ["query", checkString, false], ["option", checkUnion([checkObject([["id", checkString, false], ["value", checkString, false], ["label", checkString, false], ["group", checkString, true], ["disabled", checkBoolean, true], ["description", checkString, true], ["tag", checkObject([["label", checkString, false], ["tone", checkConstrained(checkFormat("keyword", keywordFormat), "keyword", {"values":["neutral","accent","info","success","warning","danger"]}), true], ["color", checkString, true]], false), true]], false), checkNull], "object({ id: string, value: string, label: string, group?: string, disabled?: boolean, description?: string, tag?: object({ label: string, tone?: keyword with values neutral, accent, info, success, warning, danger, color?: string }) }) | null"), false], ["kind", checkConstrained(checkFormat("keyword", keywordFormat), "keyword", {"values":["selection","clear","free-entry","create"]}), false], ["trigger", checkConstrained(checkFormat("keyword", keywordFormat), "keyword", {"values":["keyboard","pointer","programmatic"]}), false]], false)), true, true, false], "create-entry": [detailCheck(checkObject([["value", checkUnion([checkString, checkNull], "string | null"), false], ["query", checkString, false], ["option", checkUnion([checkObject([["id", checkString, false], ["value", checkString, false], ["label", checkString, false], ["group", checkString, true], ["disabled", checkBoolean, true], ["description", checkString, true], ["tag", checkObject([["label", checkString, false], ["tone", checkConstrained(checkFormat("keyword", keywordFormat), "keyword", {"values":["neutral","accent","info","success","warning","danger"]}), true], ["color", checkString, true]], false), true]], false), checkNull], "object({ id: string, value: string, label: string, group?: string, disabled?: boolean, description?: string, tag?: object({ label: string, tone?: keyword with values neutral, accent, info, success, warning, danger, color?: string }) }) | null"), false], ["kind", checkConstrained(checkFormat("keyword", keywordFormat), "keyword", {"values":["selection","clear","free-entry","create"]}), false], ["trigger", checkConstrained(checkFormat("keyword", keywordFormat), "keyword", {"values":["keyboard","pointer","programmatic"]}), false]], false)), true, true, false], "validation-change": [detailCheck(checkObject([["status", checkConstrained(checkFormat("keyword", keywordFormat), "keyword", {"values":["pristine","pending","valid","warning","error"]}), false], ["touched", checkBoolean, false], ["dirty", checkBoolean, false], ["issues", checkList(checkObject([["message", checkString, false], ["path", checkList(checkUnknown), true], ["severity", checkConstrained(checkFormat("keyword", keywordFormat), "keyword", {"values":["error","warning"]}), true]], false)), false], ["output", checkUnknown, true]], false)), true, true, false], "options-change": [detailCheck(checkList(checkObject([["id", checkString, false], ["value", checkString, false], ["label", checkString, false], ["group", checkString, true], ["disabled", checkBoolean, true], ["description", checkString, true], ["tag", checkObject([["label", checkString, false], ["tone", checkConstrained(checkFormat("keyword", keywordFormat), "keyword", {"values":["neutral","accent","info","success","warning","danger"]}), true], ["color", checkString, true]], false), true]], false))), true, true, false], "add-item": [detailCheck(checkObject([["item", checkObject([["id", checkString, false], ["value", checkString, false], ["label", checkString, false], ["group", checkString, true], ["disabled", checkBoolean, true], ["description", checkString, true], ["tag", checkObject([["label", checkString, false], ["tone", checkConstrained(checkFormat("keyword", keywordFormat), "keyword", {"values":["neutral","accent","info","success","warning","danger"]}), true], ["color", checkString, true]], false), true]], false), false], ["index", checkInteger, false], ["trigger", checkConstrained(checkFormat("keyword", keywordFormat), "keyword", {"values":["keyboard","pointer","programmatic"]}), false]], false)), true, true, false], "remove-item": [detailCheck(checkObject([["item", checkObject([["id", checkString, false], ["value", checkString, false], ["label", checkString, false], ["group", checkString, true], ["disabled", checkBoolean, true], ["description", checkString, true], ["tag", checkObject([["label", checkString, false], ["tone", checkConstrained(checkFormat("keyword", keywordFormat), "keyword", {"values":["neutral","accent","info","success","warning","danger"]}), true], ["color", checkString, true]], false), true]], false), false], ["index", checkInteger, false], ["trigger", checkConstrained(checkFormat("keyword", keywordFormat), "keyword", {"values":["keyboard","pointer","programmatic"]}), false]], false)), true, true, false], "create-item": [detailCheck(checkObject([["query", checkString, false], ["trigger", checkConstrained(checkFormat("keyword", keywordFormat), "keyword", {"values":["keyboard","pointer","programmatic"]}), false]], false)), true, true, false], "selected-values-change": [detailCheck(checkObject([["selectedValues", checkList(checkString), false], ["trigger", checkConstrained(checkFormat("keyword", keywordFormat), "keyword", {"values":["keyboard","pointer","programmatic"]}), false]], false)), true, true, false] }, x: dispatchDeclared };
37
- const D = { props: { "allowCreate": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "allowFreeText": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "autoHighlight": { "required":false,"values":["none","single"],"default":"none", c: checkFormat("keyword", keywordFormat), t: "keyword", j: 0, m: ["p",formatOf(keywordFormat),false] }, "clearable": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "disabled": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "disclosure": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "filter": { "required":false,"values":["label","none"],"default":"label", c: checkFormat("keyword", keywordFormat), t: "keyword", j: 0, m: ["p",formatOf(keywordFormat),false] }, "help": { "required":false,"default":"", c: checkString, t: "string", j: 0, m: "s" }, "invalid": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "items": { "required":false, c: checkList(checkObject([["id", checkString, false], ["value", checkString, false], ["label", checkString, false], ["group", checkString, true], ["disabled", checkBoolean, true], ["description", checkString, true], ["tag", checkObject([["label", checkString, false], ["tone", checkConstrained(checkFormat("keyword", keywordFormat), "keyword", {"values":["neutral","accent","info","success","warning","danger"]}), true], ["color", checkString, true]], false), true]], false)), j: 1, m: ["l",["o",["id","s","value","s","label","s","group","s","disabled","b","description","s","tag",["o",["label","s","tone",["p",formatOf(keywordFormat),false],"color","s"]]]]] }, "label": { "required":false,"default":"", c: checkString, t: "string", j: 0, m: "s" }, "labelVisibility": { "required":false,"values":["visible","sr-only"],"default":"visible", c: checkFormat("keyword", keywordFormat), t: "keyword", j: 0, m: ["p",formatOf(keywordFormat),false] }, "loading": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "multiple": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "name": { "required":false,"default":"", c: checkString, t: "string", j: 0, m: "s" }, "openOnFocus": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "placeholder": { "required":false,"default":"", c: checkString, t: "string", j: 0, m: "s" }, "query": { "required":false, c: checkString, t: "string", j: 0, m: "s" }, "readonly": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "required": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "selectOnTab": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "selectedValues": { "required":false, c: checkList(checkString), j: 1, m: ["l","s"] }, "size": { "required":false,"values":["sm","md","lg"],"default":"md", c: checkFormat("keyword", keywordFormat), t: "keyword", j: 0, m: ["p",formatOf(keywordFormat),false] }, "tokenSeparators": { "required":false, c: checkList(checkString), j: 1, m: ["l","s"] }, "value": { "required":false, c: checkString, t: "string", j: 0, m: "s" } } };
37
+ const D = { props: { "allowCreate": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "allowFreeText": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "autoHighlight": { "required":false,"values":["none","single"],"default":"none", c: checkFormat("keyword", keywordFormat), t: "keyword", j: 0, m: ["p",formatOf(keywordFormat),false] }, "clearQueryOnBlur": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "clearable": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "disabled": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "disclosure": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "filter": { "required":false,"values":["label","none"],"default":"label", c: checkFormat("keyword", keywordFormat), t: "keyword", j: 0, m: ["p",formatOf(keywordFormat),false] }, "help": { "required":false,"default":"", c: checkString, t: "string", j: 0, m: "s" }, "invalid": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "items": { "required":false, c: checkList(checkObject([["id", checkString, false], ["value", checkString, false], ["label", checkString, false], ["group", checkString, true], ["disabled", checkBoolean, true], ["description", checkString, true], ["tag", checkObject([["label", checkString, false], ["tone", checkConstrained(checkFormat("keyword", keywordFormat), "keyword", {"values":["neutral","accent","info","success","warning","danger"]}), true], ["color", checkString, true]], false), true]], false)), j: 1, m: ["l",["o",["id","s","value","s","label","s","group","s","disabled","b","description","s","tag",["o",["label","s","tone",["p",formatOf(keywordFormat),false],"color","s"]]]]] }, "label": { "required":false,"default":"", c: checkString, t: "string", j: 0, m: "s" }, "labelVisibility": { "required":false,"values":["visible","sr-only"],"default":"visible", c: checkFormat("keyword", keywordFormat), t: "keyword", j: 0, m: ["p",formatOf(keywordFormat),false] }, "loading": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "multiple": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "name": { "required":false,"default":"", c: checkString, t: "string", j: 0, m: "s" }, "openOnFocus": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "placeholder": { "required":false,"default":"", c: checkString, t: "string", j: 0, m: "s" }, "query": { "required":false, c: checkString, t: "string", j: 0, m: "s" }, "readonly": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "required": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "selectOnTab": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "selectedValues": { "required":false, c: checkList(checkString), j: 1, m: ["l","s"] }, "size": { "required":false,"values":["sm","md","lg"],"default":"md", c: checkFormat("keyword", keywordFormat), t: "keyword", j: 0, m: ["p",formatOf(keywordFormat),false] }, "tokenSeparators": { "required":false, c: checkList(checkString), j: 1, m: ["l","s"] }, "value": { "required":false, c: checkString, t: "string", j: 0, m: "s" } } };
38
38
  const C = (host) => controller.default(host);
39
39
 
40
40
  export function createUiCombobox(options = {}, html) {
@@ -46,7 +46,7 @@ export function createUiCombobox(options = {}, html) {
46
46
  }
47
47
  element.setAttribute("data-component", "ui-combobox");
48
48
  element.append((P0 ??= buildTemplate(T0)).cloneNode(true));
49
- const v = [[], "", "", null, false, [], null, false, "", { "status": "pristine", "touched": false, "dirty": false, "issues": [] }, "", "", [], false, 0, "", "", "pristine", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null];
49
+ const v = [[], "", "", null, false, [], null, false, "", { "status": "pristine", "touched": false, "dirty": false, "issues": [] }, "", "", [], false, 0, "", "", "pristine", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null];
50
50
  const B = acceptProps(element, D, S.n, v, componentProps, [], html);
51
51
  v[6] = negate(1, undefined);
52
52
  const m1 = (d) => {
@@ -75,7 +75,7 @@ export function createUiCombobox(options = {}, html) {
75
75
  };
76
76
  const p3 = (r, c, d) => {
77
77
  if (c & 1073741825) r.L0.update(v[0], d, c);
78
- if (c !== -1 && c & 541065216) r.L0.each(c, d);
78
+ if (c !== -1 && c & 545259520) r.L0.each(c, d);
79
79
  };
80
80
  const m4 = (o, j, l) => {
81
81
  const n = (P4 ??= buildTemplate(T4)).cloneNode(true);
@@ -92,8 +92,8 @@ export function createUiCombobox(options = {}, html) {
92
92
  const s0 = toAttribute(x0, "data-index");
93
93
  if (s0 !== r.v0) writeAttribute(r.n, "data-index", r.v0 = s0);
94
94
  }
95
- if (c & 1614807040) {
96
- const x1 = ((truthy(v[22]) || truthy(v[36])) || truthy(trackContainer(r, readMember(o, "disabled"))));
95
+ if (c & 1619001344) {
96
+ const x1 = ((truthy(v[23]) || truthy(v[37])) || truthy(trackContainer(r, readMember(o, "disabled"))));
97
97
  const s1 = toAttribute(x1, "disabled");
98
98
  if (s1 !== r.v1) writeAttribute(r.n, "disabled", r.v1 = s1);
99
99
  }
@@ -131,7 +131,7 @@ export function createUiCombobox(options = {}, html) {
131
131
  };
132
132
  const p6 = (r, c, d) => {
133
133
  if (c & 536870912) {
134
- const x0 = v[32];
134
+ const x0 = v[33];
135
135
  const s0 = toAttribute(x0, "name");
136
136
  if (s0 !== r.v0) writeAttribute(r.n, "name", r.v0 = s0);
137
137
  }
@@ -140,8 +140,8 @@ export function createUiCombobox(options = {}, html) {
140
140
  const s1 = toAttribute(x1, "value");
141
141
  if (s1 !== r.v1) writeAttribute(r.n, "value", r.v1 = s1);
142
142
  }
143
- if (c & 4194304) {
144
- const x2 = v[22];
143
+ if (c & 8388608) {
144
+ const x2 = v[23];
145
145
  const s2 = toAttribute(x2, "disabled");
146
146
  if (s2 !== r.v2) writeAttribute(r.n, "disabled", r.v2 = s2);
147
147
  }
@@ -155,7 +155,7 @@ export function createUiCombobox(options = {}, html) {
155
155
  };
156
156
  const p7 = (r, c, d) => {
157
157
  if (c & 1073741825) r.L0.update(v[0], d, c);
158
- if (c !== -1 && c & 541065216) r.L0.each(c, d);
158
+ if (c !== -1 && c & 545259520) r.L0.each(c, d);
159
159
  };
160
160
  const m8 = (o, j, l) => {
161
161
  const n = (P8 ??= buildTemplate(T8)).cloneNode(true);
@@ -167,7 +167,7 @@ export function createUiCombobox(options = {}, html) {
167
167
  const o = r.i;
168
168
  if (c & 1073741824) r.w = 0;
169
169
  if (c & 536870912) {
170
- const x0 = v[32];
170
+ const x0 = v[33];
171
171
  const s0 = toAttribute(x0, "name");
172
172
  if (s0 !== r.v0) writeAttribute(r.n, "name", r.v0 = s0);
173
173
  }
@@ -176,8 +176,8 @@ export function createUiCombobox(options = {}, html) {
176
176
  const s1 = toAttribute(x1, "value");
177
177
  if (s1 !== r.v1) writeAttribute(r.n, "value", r.v1 = s1);
178
178
  }
179
- if (c & 4194304) {
180
- const x2 = v[22];
179
+ if (c & 8388608) {
180
+ const x2 = v[23];
181
181
  const s2 = toAttribute(x2, "disabled");
182
182
  if (s2 !== r.v2) writeAttribute(r.n, "disabled", r.v2 = s2);
183
183
  }
@@ -189,8 +189,8 @@ export function createUiCombobox(options = {}, html) {
189
189
  return r;
190
190
  };
191
191
  const p9 = (r, c, d) => {
192
- if (c & 541065226) {
193
- const x0 = ((truthy(v[22]) || truthy(v[36])) || (!truthy(v[1]) && (truthy(v[31]) || (v[3] === null))));
192
+ if (c & 545259530) {
193
+ const x0 = ((truthy(v[23]) || truthy(v[37])) || (!truthy(v[1]) && (truthy(v[32]) || (v[3] === null))));
194
194
  const s0 = toAttribute(x0, "disabled");
195
195
  if (s0 !== r.v0) writeAttribute(r.n, "disabled", r.v0 = s0);
196
196
  }
@@ -209,8 +209,8 @@ export function createUiCombobox(options = {}, html) {
209
209
  if (s0 !== r.v0) writeAttribute(r.n, "aria-controls", r.v0 = s0);
210
210
  }
211
211
  }
212
- if (c & 541065216) {
213
- const x1 = (truthy(v[22]) || truthy(v[36]));
212
+ if (c & 545259520) {
213
+ const x1 = (truthy(v[23]) || truthy(v[37]));
214
214
  const s1 = toAttribute(x1, "disabled");
215
215
  if (s1 !== r.v1) writeAttribute(r.n, "disabled", r.v1 = s1);
216
216
  }
@@ -229,8 +229,8 @@ export function createUiCombobox(options = {}, html) {
229
229
  if (s0 !== r.v0) writeAttribute(r.n, "id", r.v0 = s0);
230
230
  }
231
231
  }
232
- if (c & 4194304) {
233
- const x1 = v[22];
232
+ if (c & 8388608) {
233
+ const x1 = v[23];
234
234
  const s1 = toAttribute(x1, "disabled");
235
235
  if (s1 !== r.v1) writeAttribute(r.n, "disabled", r.v1 = s1);
236
236
  }
@@ -255,8 +255,8 @@ export function createUiCombobox(options = {}, html) {
255
255
  if (s1 !== r.v1) writeAttribute(r.n, "for", r.v1 = s1);
256
256
  }
257
257
  }
258
- if (c & 33554432) {
259
- const x2 = v[25];
258
+ if (c & 67108864) {
259
+ const x2 = v[26];
260
260
  const s2 = toText(x2);
261
261
  if (s2 !== r.v2) r.a1.data = r.v2 = s2;
262
262
  }
@@ -329,7 +329,7 @@ export function createUiCombobox(options = {}, html) {
329
329
  }
330
330
  }
331
331
  if (c & 536870912) {
332
- const x1 = v[31];
332
+ const x1 = v[32];
333
333
  const s1 = toAttribute(x1, "data-multiple");
334
334
  if (s1 !== r.v1) writeAttribute(r.n, "data-multiple", r.v1 = s1);
335
335
  }
@@ -526,7 +526,7 @@ export function createUiCombobox(options = {}, html) {
526
526
  }
527
527
  }
528
528
  if (c & 536870912) {
529
- const x1 = v[31];
529
+ const x1 = v[32];
530
530
  const s1 = toAttribute(x1, "data-multiple");
531
531
  if (s1 !== r.v1) writeAttribute(r.n, "data-multiple", r.v1 = s1);
532
532
  }
@@ -643,66 +643,64 @@ export function createUiCombobox(options = {}, html) {
643
643
  }
644
644
  }
645
645
  if (c & 536870912) {
646
- const x3 = (v[29] === "sr-only");
646
+ const x3 = (v[30] === "sr-only");
647
647
  const s1 = x3;
648
648
  if (s1 !== r.v1) r.a0.classList.toggle("sr-only", r.v1 = s1);
649
- }
650
- if (c & 268435456) {
651
- const x4 = v[28];
649
+ const x4 = v[29];
652
650
  const s2 = toText(x4);
653
651
  if (s2 !== r.v2) r.a1.data = r.v2 = s2;
654
- const x5 = textCall("concat", [v[28], " suggestions"]);
655
- if (x5 !== NONCONFORMING) {
656
- const s15 = toAttribute(x5, "aria-label");
657
- if (s15 !== r.v15) writeAttribute(r.a14, "aria-label", r.v15 = s15);
658
- }
659
652
  }
660
653
  if (c & 16) {
661
- const x6 = v[4];
662
- const s5 = toAttribute(x6, "aria-expanded");
654
+ const x5 = v[4];
655
+ const s5 = toAttribute(x5, "aria-expanded");
663
656
  if (s5 !== r.v5) writeAttribute(r.a6, "aria-expanded", r.v5 = s5);
664
- const x7 = !v[4];
665
- const s13 = toAttribute(x7, "hidden");
657
+ const x6 = !v[4];
658
+ const s13 = toAttribute(x6, "hidden");
666
659
  if (s13 !== r.v13) writeAttribute(r.a13, "hidden", r.v13 = s13);
667
660
  }
668
- if (c & 67239936) {
669
- const x8 = (truthy(v[26]) || (v[17] === "error"));
670
- const s6 = toAttribute(x8, "aria-invalid");
661
+ if (c & 134348800) {
662
+ const x7 = (truthy(v[27]) || (v[17] === "error"));
663
+ const s6 = toAttribute(x7, "aria-invalid");
671
664
  if (s6 !== r.v6) writeAttribute(r.a6, "aria-invalid", r.v6 = s6);
672
665
  }
673
666
  if (c & 537001984) {
674
- const x9 = (truthy(v[30]) || (v[17] === "pending"));
675
- const s7 = toAttribute(x9, "aria-busy");
667
+ const x8 = (truthy(v[31]) || (v[17] === "pending"));
668
+ const s7 = toAttribute(x8, "aria-busy");
676
669
  if (s7 !== r.v7) writeAttribute(r.a6, "aria-busy", r.v7 = s7);
677
670
  }
678
671
  if (c & 4) {
679
672
  const f0 = [];
680
- const x10 = rec(f0, v[2]);
673
+ const x9 = rec(f0, v[2]);
681
674
  if (c === -1 || c & 4 || readsChanged(r.v8, f0)) {
682
675
  r.v8 = f0;
683
- r.a6["value"] = x10;
676
+ r.a6["value"] = x9;
684
677
  }
685
678
  }
686
679
  if (c & 536870912) {
687
- const x11 = v[34];
688
- const s9 = toAttribute(x11, "placeholder");
680
+ const x10 = v[35];
681
+ const s9 = toAttribute(x10, "placeholder");
689
682
  if (s9 !== r.v9) writeAttribute(r.a6, "placeholder", r.v9 = s9);
690
683
  }
691
- if (c & 4194304) {
692
- const x12 = v[22];
693
- const s10 = toAttribute(x12, "disabled");
684
+ if (c & 8388608) {
685
+ const x11 = v[23];
686
+ const s10 = toAttribute(x11, "disabled");
694
687
  if (s10 !== r.v10) writeAttribute(r.a6, "disabled", r.v10 = s10);
695
688
  }
696
689
  if (c & 536870912) {
697
- const x13 = v[36];
698
- const s11 = toAttribute(x13, "readonly");
690
+ const x12 = v[37];
691
+ const s11 = toAttribute(x12, "readonly");
699
692
  if (s11 !== r.v11) writeAttribute(r.a6, "readonly", r.v11 = s11);
700
- const x14 = v[30];
693
+ const x13 = textCall("concat", [v[29], " suggestions"]);
694
+ if (x13 !== NONCONFORMING) {
695
+ const s15 = toAttribute(x13, "aria-label");
696
+ if (s15 !== r.v15) writeAttribute(r.a14, "aria-label", r.v15 = s15);
697
+ }
698
+ const x14 = v[31];
701
699
  const s16 = toAttribute(x14, "aria-busy");
702
700
  if (s16 !== r.v16) writeAttribute(r.a14, "aria-busy", r.v16 = s16);
703
701
  }
704
702
  if (c & 1610612737) {
705
- const x15 = (checkReference(S, readDeclared(v[0], ["0"]), ["o",["id","s","value","s","label","s","group","s","disabled","b","description","s","tag",["o",["label","s","tone",["p",formatOf(keywordFormat),false],"color","s"]]]], "expression:$required and not ($multiple and $internalItems.0):internalItems.0", "Reference `internalItems.0` must satisfy object({ id: string, value: string, label: string, group?: string, disabled?: boolean, description?: string, tag?: object({ label: string, tone?: keyword with values neutral, accent, info, success, warning, danger, color?: string }) }).") ? (truthy(v[37]) && !(truthy(v[31]) && truthy(readIndex(v[0], 0)))) : NONCONFORMING);
703
+ const x15 = (checkReference(S, readDeclared(v[0], ["0"]), ["o",["id","s","value","s","label","s","group","s","disabled","b","description","s","tag",["o",["label","s","tone",["p",formatOf(keywordFormat),false],"color","s"]]]], "expression:$required and not ($multiple and $internalItems.0):internalItems.0", "Reference `internalItems.0` must satisfy object({ id: string, value: string, label: string, group?: string, disabled?: boolean, description?: string, tag?: object({ label: string, tone?: keyword with values neutral, accent, info, success, warning, danger, color?: string }) }).") ? (truthy(v[38]) && !(truthy(v[32]) && truthy(readIndex(v[0], 0)))) : NONCONFORMING);
706
704
  if (x15 !== NONCONFORMING) {
707
705
  const s12 = toAttribute(x15, "required");
708
706
  if (s12 !== r.v12) writeAttribute(r.a6, "required", r.v12 = s12);
@@ -718,14 +716,14 @@ export function createUiCombobox(options = {}, html) {
718
716
  const s19 = toText(x17);
719
717
  if (s19 !== r.v19) r.a22.data = r.v19 = s19;
720
718
  }
721
- if (c & 604110848) {
722
- const x18 = hostState(["size","validationStatus","invalid","multiple"], [v[40], v[17], v[26], v[31]]);
719
+ if (c & 671219712) {
720
+ const x18 = hostState(["size","validationStatus","invalid","multiple"], [v[41], v[17], v[27], v[32]]);
723
721
  const s20 = x18;
724
722
  if (s20 !== r.v20) writeAttribute(r.n, "data-ui-combobox-state", (r.v20 = s20) === "" ? null : s20);
725
723
  }
726
724
  if (c & 536870912) {
727
- const t0 = truthy(v[37]);
728
- if (c === -1 || d.has(37)) {
725
+ const t0 = truthy(v[38]);
726
+ if (c === -1 || d.has(38)) {
729
727
  {
730
728
  r.b0 = undefined;
731
729
  clearRegion(r.a2, r.e0);
@@ -734,8 +732,8 @@ export function createUiCombobox(options = {}, html) {
734
732
  } else if (r.b0 !== undefined) p1(r.b0, c, d);
735
733
  } else if (r.b0 !== undefined) p1(r.b0, c, d);
736
734
  if (c & 536870912) {
737
- const t2 = truthy(v[31]);
738
- if (c === -1 || d.has(31)) {
735
+ const t2 = truthy(v[32]);
736
+ if (c === -1 || d.has(32)) {
739
737
  {
740
738
  dispose(r.b2);
741
739
  r.b2 = undefined;
@@ -745,8 +743,8 @@ export function createUiCombobox(options = {}, html) {
745
743
  } else if (r.b2 !== undefined) p3(r.b2, c, d);
746
744
  } else if (r.b2 !== undefined) p3(r.b2, c, d);
747
745
  if (c & 536870912) {
748
- const t3 = (truthy(v[32]) && !truthy(v[31]));
749
- if (c === -1 || d.has(32) || d.has(31)) {
746
+ const t3 = (truthy(v[33]) && !truthy(v[32]));
747
+ if (c === -1 || d.has(33) || d.has(32)) {
750
748
  {
751
749
  r.b3 = undefined;
752
750
  clearRegion(r.a7, r.e3);
@@ -755,8 +753,8 @@ export function createUiCombobox(options = {}, html) {
755
753
  } else if (r.b3 !== undefined) p6(r.b3, c, d);
756
754
  } else if (r.b3 !== undefined) p6(r.b3, c, d);
757
755
  if (c & 536870912) {
758
- const t4 = (truthy(v[32]) && truthy(v[31]));
759
- if (c === -1 || d.has(32) || d.has(31)) {
756
+ const t4 = (truthy(v[33]) && truthy(v[32]));
757
+ if (c === -1 || d.has(33) || d.has(32)) {
760
758
  {
761
759
  r.b4 = undefined;
762
760
  clearRegion(r.a8, r.e4);
@@ -764,8 +762,8 @@ export function createUiCombobox(options = {}, html) {
764
762
  }
765
763
  } else if (r.b4 !== undefined) p7(r.b4, c, d);
766
764
  } else if (r.b4 !== undefined) p7(r.b4, c, d);
767
- if (c & 2097152) {
768
- const t5 = truthy(v[21]);
765
+ if (c & 4194304) {
766
+ const t5 = truthy(v[22]);
769
767
  if (true) {
770
768
  {
771
769
  r.b5 = undefined;
@@ -774,8 +772,8 @@ export function createUiCombobox(options = {}, html) {
774
772
  }
775
773
  } else if (r.b5 !== undefined) p9(r.b5, c, d);
776
774
  } else if (r.b5 !== undefined) p9(r.b5, c, d);
777
- if (c & 8388608) {
778
- const t6 = truthy(v[23]);
775
+ if (c & 16777216) {
776
+ const t6 = truthy(v[24]);
779
777
  if (true) {
780
778
  {
781
779
  r.b6 = undefined;
@@ -784,8 +782,8 @@ export function createUiCombobox(options = {}, html) {
784
782
  }
785
783
  } else if (r.b6 !== undefined) p10(r.b6, c, d);
786
784
  } else if (r.b6 !== undefined) p10(r.b6, c, d);
787
- if (c & 33554432) {
788
- const t7 = truthy(v[25]);
785
+ if (c & 67108864) {
786
+ const t7 = truthy(v[26]);
789
787
  if (true) {
790
788
  {
791
789
  r.b7 = undefined;
@@ -794,8 +792,8 @@ export function createUiCombobox(options = {}, html) {
794
792
  }
795
793
  } else if (r.b7 !== undefined) p11(r.b7, c, d);
796
794
  } else if (r.b7 !== undefined) p11(r.b7, c, d);
797
- if (c & 33554432) {
798
- const t8 = truthy(v[25]);
795
+ if (c & 67108864) {
796
+ const t8 = truthy(v[26]);
799
797
  if (true) {
800
798
  {
801
799
  r.b8 = undefined;
@@ -827,8 +825,8 @@ export function createUiCombobox(options = {}, html) {
827
825
  } else if (r.b11 !== undefined) p22(r.b11, c, d);
828
826
  if (c & 1610621216) {
829
827
  const f6 = [];
830
- const t12 = (checkReference(S, rec(f6, readDeclared(v[5], ["0"], f6)), ["o",["id","s","value","s","label","s","group","s","disabled","b","selected","b","description","s","tag",["o",["label","s","tone",["p",formatOf(keywordFormat),false],"color","s"]]]], "expression:not $loading and not $rows.0 and not $creatable and not $lookupError:rows.0", "Reference `rows.0` must satisfy object({ id: string, value: string, label: string, group?: string, disabled: boolean, selected: boolean, description?: string, tag?: object({ label: string, tone?: keyword with values neutral, accent, info, success, warning, danger, color?: string }) }).") ? (((!truthy(rec(f6, v[30])) && !truthy(recLength(f6, rec(f6, readIndex(rec(f6, v[5]), 0))))) && !rec(f6, v[13])) && !truthy(rec(f6, v[8]))) : NONCONFORMING);
831
- if (c === -1 || c & 8480 || d.has(30) || readsChanged(r.q12, f6)) {
828
+ const t12 = (checkReference(S, rec(f6, readDeclared(v[5], ["0"], f6)), ["o",["id","s","value","s","label","s","group","s","disabled","b","selected","b","description","s","tag",["o",["label","s","tone",["p",formatOf(keywordFormat),false],"color","s"]]]], "expression:not $loading and not $rows.0 and not $creatable and not $lookupError:rows.0", "Reference `rows.0` must satisfy object({ id: string, value: string, label: string, group?: string, disabled: boolean, selected: boolean, description?: string, tag?: object({ label: string, tone?: keyword with values neutral, accent, info, success, warning, danger, color?: string }) }).") ? (((!truthy(rec(f6, v[31])) && !truthy(recLength(f6, rec(f6, readIndex(rec(f6, v[5]), 0))))) && !rec(f6, v[13])) && !truthy(rec(f6, v[8]))) : NONCONFORMING);
829
+ if (c === -1 || c & 8480 || d.has(31) || readsChanged(r.q12, f6)) {
832
830
  r.q12 = f6;
833
831
  if (t12 === NONCONFORMING) { if (r.b12 !== undefined) p23(r.b12, c, d); } else {
834
832
  dispose(r.b12);
@@ -14,6 +14,10 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<import
14
14
  type: PropType<"none" | "single" | null>;
15
15
  default: string;
16
16
  };
17
+ clearQueryOnBlur: {
18
+ type: PropType<boolean | null>;
19
+ default: boolean;
20
+ };
17
21
  clearable: {
18
22
  type: PropType<boolean | null>;
19
23
  default: boolean;
@@ -272,6 +276,10 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<import
272
276
  type: PropType<"none" | "single" | null>;
273
277
  default: string;
274
278
  };
279
+ clearQueryOnBlur: {
280
+ type: PropType<boolean | null>;
281
+ default: boolean;
282
+ };
275
283
  clearable: {
276
284
  type: PropType<boolean | null>;
277
285
  default: boolean;
@@ -532,6 +540,7 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<import
532
540
  allowCreate: boolean | null;
533
541
  allowFreeText: boolean | null;
534
542
  autoHighlight: "none" | "single" | null;
543
+ clearQueryOnBlur: boolean | null;
535
544
  clearable: boolean | null;
536
545
  disclosure: boolean | null;
537
546
  items: readonly {
@@ -57,6 +57,14 @@ const propValidityContract = {
57
57
  values: ['none', 'single'],
58
58
  default: 'none',
59
59
  },
60
+ clearQueryOnBlur: {
61
+ type: { kind: 'terminal', name: 'boolean' },
62
+ required: false,
63
+ target: { attribute: 'clearqueryonblur' },
64
+ description:
65
+ 'In multiple mode, clears unfinished search text when focus leaves the whole combobox, preserving selected items. A controlled query reports query-change\n with an empty query; the consumer must reflect it back. Does not choose or create an option. The default preserves unfinished text. Single mode keeps\n its existing selection and free-text resolution.',
66
+ default: false,
67
+ },
60
68
  clearable: {
61
69
  type: { kind: 'terminal', name: 'boolean' },
62
70
  required: false,
@@ -271,6 +279,7 @@ const props = defineProps({
271
279
  allowCreate: { type: null as unknown as PropType<boolean | null>, default: false },
272
280
  allowFreeText: { type: null as unknown as PropType<boolean | null>, default: false },
273
281
  autoHighlight: { type: null as unknown as PropType<'none' | 'single' | null>, default: 'none' },
282
+ clearQueryOnBlur: { type: null as unknown as PropType<boolean | null>, default: false },
274
283
  clearable: { type: null as unknown as PropType<boolean | null>, default: false },
275
284
  disabled: { type: null as unknown as PropType<boolean | null>, default: false },
276
285
  disclosure: { type: null as unknown as PropType<boolean | null>, default: false },
@@ -318,6 +327,7 @@ const acceptedProps: Record<string, unknown> = {
318
327
  allowCreate: false,
319
328
  allowFreeText: false,
320
329
  autoHighlight: 'none',
330
+ clearQueryOnBlur: false,
321
331
  clearable: false,
322
332
  disabled: false,
323
333
  disclosure: false,
@@ -363,6 +373,13 @@ const checkedProps = computed(() => ({
363
373
  'autoHighlight',
364
374
  acceptedProps,
365
375
  ) as 'none' | 'single',
376
+ clearQueryOnBlur: checkedProp<boolean>(
377
+ props['clearQueryOnBlur'],
378
+ { kind: 'terminal', name: 'boolean' },
379
+ false,
380
+ 'clearQueryOnBlur',
381
+ acceptedProps,
382
+ ) as boolean,
366
383
  clearable: checkedProp<boolean>(
367
384
  props['clearable'],
368
385
  { kind: 'terminal', name: 'boolean' },
@@ -1797,6 +1814,7 @@ useComponentHost(() => import('../components/ui-combobox/ui-combobox.js'), {
1797
1814
  'allowCreate',
1798
1815
  'allowFreeText',
1799
1816
  'autoHighlight',
1817
+ 'clearQueryOnBlur',
1800
1818
  'clearable',
1801
1819
  'disabled',
1802
1820
  'disclosure',
@@ -1911,6 +1929,13 @@ function uniqueKeys<T>(
1911
1929
  :data-allow-create="reflectedProp('allowCreate', 'allow-create', checkedProps.allowCreate, undefined, false)"
1912
1930
  :data-allow-free-text="reflectedProp('allowFreeText', 'allow-free-text', checkedProps.allowFreeText, undefined, false)"
1913
1931
  :data-auto-highlight="reflectedProp('autoHighlight', 'auto-highlight', checkedProps.autoHighlight, undefined, false)"
1932
+ :data-clear-query-on-blur="reflectedProp(
1933
+ 'clearQueryOnBlur',
1934
+ 'clear-query-on-blur',
1935
+ checkedProps.clearQueryOnBlur,
1936
+ undefined,
1937
+ false,
1938
+ )"
1914
1939
  :data-clearable="reflectedProp('clearable', 'clearable', checkedProps.clearable, undefined, false)"
1915
1940
  :data-disabled="reflectedProp('disabled', 'disabled', checkedProps.disabled, undefined, false)"
1916
1941
  :data-disclosure="reflectedProp('disclosure', 'disclosure', checkedProps.disclosure, undefined, false)"
@@ -10,6 +10,7 @@ var _hoisted_1 = [
10
10
  "data-allow-create",
11
11
  "data-allow-free-text",
12
12
  "data-auto-highlight",
13
+ "data-clear-query-on-blur",
13
14
  "data-clearable",
14
15
  "data-disabled",
15
16
  "data-disclosure",
@@ -144,6 +145,10 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
144
145
  type: null,
145
146
  default: "none"
146
147
  },
148
+ clearQueryOnBlur: {
149
+ type: null,
150
+ default: false
151
+ },
147
152
  clearable: {
148
153
  type: null,
149
154
  default: false
@@ -282,6 +287,16 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
282
287
  values: ["none", "single"],
283
288
  default: "none"
284
289
  },
290
+ clearQueryOnBlur: {
291
+ type: {
292
+ kind: "terminal",
293
+ name: "boolean"
294
+ },
295
+ required: false,
296
+ target: { attribute: "clearqueryonblur" },
297
+ description: "In multiple mode, clears unfinished search text when focus leaves the whole combobox, preserving selected items. A controlled query reports query-change\n with an empty query; the consumer must reflect it back. Does not choose or create an option. The default preserves unfinished text. Single mode keeps\n its existing selection and free-text resolution.",
298
+ default: false
299
+ },
285
300
  clearable: {
286
301
  type: {
287
302
  kind: "terminal",
@@ -614,6 +629,7 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
614
629
  allowCreate: false,
615
630
  allowFreeText: false,
616
631
  autoHighlight: "none",
632
+ clearQueryOnBlur: false,
617
633
  clearable: false,
618
634
  disabled: false,
619
635
  disclosure: false,
@@ -650,6 +666,10 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
650
666
  kind: "terminal",
651
667
  name: "keyword"
652
668
  }, false, "autoHighlight", acceptedProps),
669
+ clearQueryOnBlur: checkedProp(props["clearQueryOnBlur"], {
670
+ kind: "terminal",
671
+ name: "boolean"
672
+ }, false, "clearQueryOnBlur", acceptedProps),
653
673
  clearable: checkedProp(props["clearable"], {
654
674
  kind: "terminal",
655
675
  name: "boolean"
@@ -1724,6 +1744,7 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
1724
1744
  "allowCreate",
1725
1745
  "allowFreeText",
1726
1746
  "autoHighlight",
1747
+ "clearQueryOnBlur",
1727
1748
  "clearable",
1728
1749
  "disabled",
1729
1750
  "disclosure",
@@ -1817,6 +1838,7 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
1817
1838
  "data-allow-create": reflectedProp("allowCreate", "allow-create", checkedProps.value.allowCreate, void 0, false),
1818
1839
  "data-allow-free-text": reflectedProp("allowFreeText", "allow-free-text", checkedProps.value.allowFreeText, void 0, false),
1819
1840
  "data-auto-highlight": reflectedProp("autoHighlight", "auto-highlight", checkedProps.value.autoHighlight, void 0, false),
1841
+ "data-clear-query-on-blur": reflectedProp("clearQueryOnBlur", "clear-query-on-blur", checkedProps.value.clearQueryOnBlur, void 0, false),
1820
1842
  "data-clearable": reflectedProp("clearable", "clearable", checkedProps.value.clearable, void 0, false),
1821
1843
  "data-disabled": reflectedProp("disabled", "disabled", checkedProps.value.disabled, void 0, false),
1822
1844
  "data-disclosure": reflectedProp("disclosure", "disclosure", checkedProps.value.disclosure, void 0, false),
@@ -2068,6 +2090,6 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
2068
2090
  }]]);
2069
2091
  };
2070
2092
  }
2071
- }), [["__scopeId", "data-v-2be0ffde"]]);
2093
+ }), [["__scopeId", "data-v-33359776"]]);
2072
2094
  //#endregion
2073
2095
  export { UiCombobox_default as t };