@threadlabs/looma 0.1.24 → 0.1.26

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.
Files changed (208) hide show
  1. package/dist/{chunk-IMHSPETJ.js → chunk-XRJRF3MM.js} +33 -32
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/looma.cjs.js +1 -1
  4. package/dist/cjs/{ui-combobox.cjs.entry.js → ui-chip_2.cjs.entry.js} +29 -4
  5. package/dist/cjs/ui-context-menu.cjs.entry.js +1 -1
  6. package/dist/cjs/ui-dialog.cjs.entry.js +1 -1
  7. package/dist/cjs/ui-disclosure.cjs.entry.js +1 -1
  8. package/dist/cjs/ui-editable.cjs.entry.js +100 -0
  9. package/dist/cjs/ui-floating-action-button.cjs.entry.js +1 -1
  10. package/dist/cjs/ui-form-field.cjs.entry.js +1 -1
  11. package/dist/cjs/ui-icon-button.cjs.entry.js +1 -1
  12. package/dist/cjs/ui-input.cjs.entry.js +1 -1
  13. package/dist/cjs/ui-menu-item.cjs.entry.js +1 -1
  14. package/dist/cjs/ui-menu.cjs.entry.js +1 -1
  15. package/dist/cjs/ui-multi-combobox.cjs.entry.js +190 -0
  16. package/dist/cjs/ui-popover.cjs.entry.js +1 -1
  17. package/dist/cjs/ui-radio-group.cjs.entry.js +1 -1
  18. package/dist/cjs/ui-radio.cjs.entry.js +1 -1
  19. package/dist/cjs/ui-search-result-row.cjs.entry.js +1 -1
  20. package/dist/cjs/ui-search-shell.cjs.entry.js +1 -1
  21. package/dist/cjs/ui-select.cjs.entry.js +1 -1
  22. package/dist/cjs/ui-switch.cjs.entry.js +2 -2
  23. package/dist/cjs/ui-tabs.cjs.entry.js +1 -1
  24. package/dist/cjs/ui-textarea.cjs.entry.js +1 -1
  25. package/dist/cjs/ui-toast-region.cjs.entry.js +1 -1
  26. package/dist/cjs/ui-tooltip.cjs.entry.js +1 -1
  27. package/dist/cjs/ui-top-bar.cjs.entry.js +1 -1
  28. package/dist/cjs/ui-tree-item.cjs.entry.js +2 -2
  29. package/dist/cjs/ui-tree.cjs.entry.js +1 -1
  30. package/dist/collection/collection-manifest.json +2 -0
  31. package/dist/collection/components/ui-chip/ui-chip.css +4 -0
  32. package/dist/collection/components/ui-chip/ui-chip.js +23 -1
  33. package/dist/collection/components/ui-combobox/ui-combobox.js +49 -4
  34. package/dist/collection/components/ui-context-menu/ui-context-menu.js +1 -1
  35. package/dist/collection/components/ui-dialog/ui-dialog.js +1 -1
  36. package/dist/collection/components/ui-disclosure/ui-disclosure.js +1 -1
  37. package/dist/collection/components/ui-editable/ui-editable.css +2 -0
  38. package/dist/collection/components/ui-editable/ui-editable.js +196 -0
  39. package/dist/collection/components/ui-floating-action-button/ui-floating-action-button.js +1 -1
  40. package/dist/collection/components/ui-form-field/ui-form-field.js +1 -1
  41. package/dist/collection/components/ui-icon-button/ui-icon-button.js +1 -1
  42. package/dist/collection/components/ui-input/ui-input.js +1 -1
  43. package/dist/collection/components/ui-menu/ui-menu.js +1 -1
  44. package/dist/collection/components/ui-menu-item/ui-menu-item.js +1 -1
  45. package/dist/collection/components/ui-multi-combobox/ui-multi-combobox.css +29 -0
  46. package/dist/collection/components/ui-multi-combobox/ui-multi-combobox.js +553 -0
  47. package/dist/collection/components/ui-popover/ui-popover.js +1 -1
  48. package/dist/collection/components/ui-radio/ui-radio.js +1 -1
  49. package/dist/collection/components/ui-radio-group/ui-radio-group.js +1 -1
  50. package/dist/collection/components/ui-search-result-row/ui-search-result-row.js +1 -1
  51. package/dist/collection/components/ui-search-shell/ui-search-shell.js +1 -1
  52. package/dist/collection/components/ui-select/ui-select.js +1 -1
  53. package/dist/collection/components/ui-switch/ui-switch.js +2 -2
  54. package/dist/collection/components/ui-tabs/ui-tabs.js +1 -1
  55. package/dist/collection/components/ui-textarea/ui-textarea.js +1 -1
  56. package/dist/collection/components/ui-toast-region/ui-toast-region.js +1 -1
  57. package/dist/collection/components/ui-tooltip/ui-tooltip.js +1 -1
  58. package/dist/collection/components/ui-top-bar/ui-top-bar.js +1 -1
  59. package/dist/collection/components/ui-tree/ui-tree.js +1 -1
  60. package/dist/collection/components/ui-tree-item/ui-tree-item.js +2 -2
  61. package/dist/collection/field/editable.js +1 -0
  62. package/dist/collection/field/multi-combobox.js +1 -0
  63. package/dist/components/index.d.ts +4 -0
  64. package/dist/components/index.js +1 -1
  65. package/dist/components/{p-DIGcRYAW.js → p-B9CzOHvE.js} +1 -1
  66. package/dist/components/p-BMgIcOh-.js +1 -0
  67. package/dist/components/p-BVteuP_d.js +1 -0
  68. package/dist/components/{p-Bk55QiUK.js → p-C6p-ygxq.js} +1 -1
  69. package/dist/components/ui-chip.js +1 -1
  70. package/dist/components/ui-combobox.js +1 -1
  71. package/dist/components/ui-context-menu.js +1 -1
  72. package/dist/components/ui-dialog.js +1 -1
  73. package/dist/components/ui-disclosure.js +1 -1
  74. package/dist/components/ui-editable.d.ts +11 -0
  75. package/dist/components/ui-editable.js +1 -0
  76. package/dist/components/ui-floating-action-button.js +1 -1
  77. package/dist/components/ui-form-field.js +1 -1
  78. package/dist/components/ui-icon-button.js +1 -1
  79. package/dist/components/ui-input.js +1 -1
  80. package/dist/components/ui-menu-item.js +1 -1
  81. package/dist/components/ui-menu.js +1 -1
  82. package/dist/components/ui-multi-combobox.d.ts +11 -0
  83. package/dist/components/ui-multi-combobox.js +1 -0
  84. package/dist/components/ui-popover.js +1 -1
  85. package/dist/components/ui-radio-group.js +1 -1
  86. package/dist/components/ui-radio.js +1 -1
  87. package/dist/components/ui-search-result-row.js +1 -1
  88. package/dist/components/ui-search-shell.js +1 -1
  89. package/dist/components/ui-select.js +1 -1
  90. package/dist/components/ui-switch.js +1 -1
  91. package/dist/components/ui-tabs.js +1 -1
  92. package/dist/components/ui-textarea.js +1 -1
  93. package/dist/components/ui-toast-region.js +1 -1
  94. package/dist/components/ui-tooltip.js +1 -1
  95. package/dist/components/ui-top-bar.js +1 -1
  96. package/dist/components/ui-tree-item.js +1 -1
  97. package/dist/components/ui-tree.js +1 -1
  98. package/dist/esm/loader.js +1 -1
  99. package/dist/esm/looma.js +1 -1
  100. package/dist/esm/{ui-combobox.entry.js → ui-chip_2.entry.js} +30 -6
  101. package/dist/esm/ui-context-menu.entry.js +1 -1
  102. package/dist/esm/ui-dialog.entry.js +1 -1
  103. package/dist/esm/ui-disclosure.entry.js +1 -1
  104. package/dist/esm/ui-editable.entry.js +98 -0
  105. package/dist/esm/ui-floating-action-button.entry.js +1 -1
  106. package/dist/esm/ui-form-field.entry.js +1 -1
  107. package/dist/esm/ui-icon-button.entry.js +1 -1
  108. package/dist/esm/ui-input.entry.js +1 -1
  109. package/dist/esm/ui-menu-item.entry.js +1 -1
  110. package/dist/esm/ui-menu.entry.js +1 -1
  111. package/dist/esm/ui-multi-combobox.entry.js +188 -0
  112. package/dist/esm/ui-popover.entry.js +1 -1
  113. package/dist/esm/ui-radio-group.entry.js +1 -1
  114. package/dist/esm/ui-radio.entry.js +1 -1
  115. package/dist/esm/ui-search-result-row.entry.js +1 -1
  116. package/dist/esm/ui-search-shell.entry.js +1 -1
  117. package/dist/esm/ui-select.entry.js +1 -1
  118. package/dist/esm/ui-switch.entry.js +2 -2
  119. package/dist/esm/ui-tabs.entry.js +1 -1
  120. package/dist/esm/ui-textarea.entry.js +1 -1
  121. package/dist/esm/ui-toast-region.entry.js +1 -1
  122. package/dist/esm/ui-tooltip.entry.js +1 -1
  123. package/dist/esm/ui-top-bar.entry.js +1 -1
  124. package/dist/esm/ui-tree-item.entry.js +2 -2
  125. package/dist/esm/ui-tree.entry.js +1 -1
  126. package/dist/index.cjs +368 -63
  127. package/dist/index.d.cts +18 -1
  128. package/dist/index.d.ts +18 -1
  129. package/dist/index.js +2 -2
  130. package/dist/looma/looma.esm.js +1 -1
  131. package/dist/looma/p-05592219.entry.js +1 -0
  132. package/dist/looma/{p-314d5c7c.entry.js → p-0e1741cb.entry.js} +1 -1
  133. package/dist/looma/{p-bd00d4e8.entry.js → p-0ef4bf13.entry.js} +1 -1
  134. package/dist/looma/{p-8e254bc4.entry.js → p-166f8593.entry.js} +1 -1
  135. package/dist/looma/p-262a542c.entry.js +1 -0
  136. package/dist/looma/{p-672e3d16.entry.js → p-26d357ae.entry.js} +1 -1
  137. package/dist/looma/{p-b63f6d4f.entry.js → p-30f01909.entry.js} +1 -1
  138. package/dist/looma/p-393e3e02.entry.js +1 -0
  139. package/dist/looma/p-3a44b9f9.entry.js +1 -0
  140. package/dist/looma/{p-fd1e4d22.entry.js → p-558d4f5b.entry.js} +1 -1
  141. package/dist/looma/{p-25e18ad6.entry.js → p-5780cefa.entry.js} +1 -1
  142. package/dist/looma/p-5a7261e1.entry.js +1 -0
  143. package/dist/looma/{p-03f44c45.entry.js → p-7319c147.entry.js} +1 -1
  144. package/dist/looma/{p-f1750fd7.entry.js → p-78b7e466.entry.js} +1 -1
  145. package/dist/looma/{p-7c4a225f.entry.js → p-7eb04f09.entry.js} +1 -1
  146. package/dist/looma/{p-e0f241ab.entry.js → p-81c533f5.entry.js} +1 -1
  147. package/dist/looma/{p-8e6b1001.entry.js → p-87f501cf.entry.js} +1 -1
  148. package/dist/looma/{p-cc915913.entry.js → p-89e71bbb.entry.js} +1 -1
  149. package/dist/looma/{p-a63e2561.entry.js → p-92cd1841.entry.js} +1 -1
  150. package/dist/looma/{p-5a900d89.entry.js → p-95eb3b58.entry.js} +1 -1
  151. package/dist/looma/{p-839faf55.entry.js → p-96ec4d7a.entry.js} +1 -1
  152. package/dist/looma/{p-2c03fa73.entry.js → p-bcb1b47b.entry.js} +1 -1
  153. package/dist/looma/{p-68430534.entry.js → p-d62da01d.entry.js} +1 -1
  154. package/dist/looma/{p-13f8195a.entry.js → p-dbcb479c.entry.js} +1 -1
  155. package/dist/looma/{p-920656cf.entry.js → p-e14024bf.entry.js} +1 -1
  156. package/dist/looma/{p-3ef2a21b.entry.js → p-fc180770.entry.js} +1 -1
  157. package/dist/types/components/ui-chip/ui-chip.d.ts +2 -0
  158. package/dist/types/components/ui-combobox/ui-combobox.d.ts +4 -0
  159. package/dist/types/components/ui-editable/ui-editable.d.ts +24 -0
  160. package/dist/types/components/ui-multi-combobox/ui-multi-combobox.d.ts +51 -0
  161. package/dist/types/components.d.ts +244 -0
  162. package/dist/types/field/editable.d.ts +5 -0
  163. package/dist/types/field/multi-combobox.d.ts +11 -0
  164. package/dist/{ui-affordance-scope.entry-3TUZ6GLW.js → ui-affordance-scope.entry-6N4ZQ5FM.js} +1 -1
  165. package/dist/{ui-avatar-group.entry-XGJKN25W.js → ui-avatar-group.entry-FTZVEFGI.js} +1 -1
  166. package/dist/{ui-avatar.entry-SN3G44HW.js → ui-avatar.entry-SST735OH.js} +1 -1
  167. package/dist/{ui-badge.entry-B6WDCWJX.js → ui-badge.entry-DZGS7MUT.js} +1 -1
  168. package/dist/{ui-button.entry-AZYUELLV.js → ui-button.entry-5WX56ARJ.js} +1 -1
  169. package/dist/{ui-callout.entry-QRPWRMPC.js → ui-callout.entry-OI5RNRXV.js} +1 -1
  170. package/dist/{ui-checkbox.entry-OB6GFC4M.js → ui-checkbox.entry-HCGIQPSE.js} +1 -1
  171. package/dist/{ui-combobox.entry-IIMMUJF7.js → ui-chip_2.entry-G2IGWJTL.js} +32 -7
  172. package/dist/{ui-context-menu.entry-AIULIE5Y.js → ui-context-menu.entry-K2LRT2WV.js} +2 -2
  173. package/dist/{ui-dialog.entry-QSYWYHLY.js → ui-dialog.entry-4W2T27R6.js} +2 -2
  174. package/dist/{ui-disclosure.entry-3BJEYU3U.js → ui-disclosure.entry-ONYMXRKR.js} +2 -2
  175. package/dist/ui-editable.entry-4ZHXIOER.js +110 -0
  176. package/dist/{ui-floating-action-button.entry-JEVNV6FI.js → ui-floating-action-button.entry-XU4JO2ZV.js} +2 -2
  177. package/dist/{ui-form-field.entry-PKSY7UU4.js → ui-form-field.entry-BZSEWR4A.js} +2 -2
  178. package/dist/{ui-icon-button.entry-TPX7BE7R.js → ui-icon-button.entry-MHJKL5OZ.js} +2 -2
  179. package/dist/{ui-input.entry-6NCLNW4E.js → ui-input.entry-BL6EX3GC.js} +2 -2
  180. package/dist/{ui-menu-item.entry-KA2K3PKV.js → ui-menu-item.entry-LERF3A4G.js} +2 -2
  181. package/dist/{ui-menu.entry-7GDO5L2T.js → ui-menu.entry-WXDYGFJE.js} +2 -2
  182. package/dist/ui-multi-combobox.entry-WSNWVRXE.js +196 -0
  183. package/dist/{ui-popover.entry-FR6YRNK6.js → ui-popover.entry-P6STTQVS.js} +2 -2
  184. package/dist/{ui-radio-group.entry-7QHXQSNO.js → ui-radio-group.entry-GZLHOY2M.js} +2 -2
  185. package/dist/{ui-radio.entry-YNMXKLDW.js → ui-radio.entry-4PXIRDKT.js} +2 -2
  186. package/dist/{ui-search-result-row.entry-AHVVAAIO.js → ui-search-result-row.entry-LHNOT7MK.js} +2 -2
  187. package/dist/{ui-search-shell.entry-CNBEAMEZ.js → ui-search-shell.entry-GQCMEU2Z.js} +2 -2
  188. package/dist/{ui-select.entry-TUY6TCTC.js → ui-select.entry-TZU7XX4U.js} +2 -2
  189. package/dist/{ui-switch.entry-26LFI7B5.js → ui-switch.entry-QFH3YDYP.js} +3 -3
  190. package/dist/{ui-tabs.entry-LXB62RJJ.js → ui-tabs.entry-A57JVDT2.js} +2 -2
  191. package/dist/{ui-textarea.entry-JYGMGPX2.js → ui-textarea.entry-L3RLZIGO.js} +2 -2
  192. package/dist/{ui-toast-region.entry-TOW4KZLZ.js → ui-toast-region.entry-XKKEY4K7.js} +2 -2
  193. package/dist/{ui-tooltip.entry-SKFNYXPH.js → ui-tooltip.entry-5WQTX7XF.js} +2 -2
  194. package/dist/{ui-top-bar.entry-S3YP52EA.js → ui-top-bar.entry-KMJEFYOM.js} +2 -2
  195. package/dist/{ui-tree-item.entry-LWYIPYLC.js → ui-tree-item.entry-TUBC57FI.js} +3 -3
  196. package/dist/{ui-tree.entry-LXKUQFRU.js → ui-tree.entry-Y75CRURL.js} +2 -2
  197. package/package.json +1 -1
  198. package/vue/{chunk-D4AJULDE.js → chunk-2DDIBSFD.js} +87 -1
  199. package/vue/editor/index.js +1 -1
  200. package/vue/index.d.ts +127 -2
  201. package/vue/index.js +5 -1
  202. package/dist/cjs/ui-chip.cjs.entry.js +0 -19
  203. package/dist/esm/ui-chip.entry.js +0 -17
  204. package/dist/looma/p-82f2fa3d.entry.js +0 -1
  205. package/dist/looma/p-97e8cb0e.entry.js +0 -1
  206. package/dist/looma/p-9e1c4020.entry.js +0 -1
  207. package/dist/looma/p-cfba8f7c.entry.js +0 -1
  208. package/dist/ui-chip.entry-XSNPJXX3.js +0 -22
@@ -15,7 +15,7 @@ import {
15
15
  getElement,
16
16
  h,
17
17
  registerInstance
18
- } from "./chunk-IMHSPETJ.js";
18
+ } from "./chunk-XRJRF3MM.js";
19
19
 
20
20
  // dist/esm/ui-dialog.entry.js
21
21
  var uiDialogCss = () => `:host{display:block}:host:not([data-open]){display:none}:host dialog{--ui-dialog-duration:var(--ui-motion-base);--ui-dialog-viewport-gap:var(--ui-space-4, 1rem);position:fixed;inset:0;inline-size:min( calc(100% - (var(--ui-dialog-viewport-gap) * 2)), var(--ui-dialog-max-width, 440px) );max-inline-size:none;max-block-size:calc(100dvh - (var(--ui-dialog-viewport-gap) * 2));margin:auto;padding:var(--ui-space-4);overflow:auto;background:var(--ui-surface-elevated);border:1px solid var(--ui-border-default);border-radius:var(--ui-radius-dialog);box-shadow:var(--ui-shadow-dialog);visibility:hidden;pointer-events:none;opacity:0;transform:scale(0.96);transition:opacity var(--ui-dialog-duration) var(--ui-motion-ease), transform var(--ui-dialog-duration) var(--ui-motion-ease), visibility var(--ui-dialog-duration), display var(--ui-dialog-duration) var(--ui-motion-ease) allow-discrete, overlay var(--ui-dialog-duration) var(--ui-motion-ease) allow-discrete}:host dialog[open]{visibility:visible;pointer-events:auto;opacity:1;transform:scale(1);animation:ui-dialog-enter var(--ui-dialog-duration) var(--ui-motion-ease)}@keyframes ui-dialog-enter{from{opacity:0;transform:scale(0.96)}}:host dialog::backdrop{background-color:transparent;transition:background-color var(--ui-dialog-duration) var(--ui-motion-ease), display var(--ui-dialog-duration) var(--ui-motion-ease) allow-discrete, overlay var(--ui-dialog-duration) var(--ui-motion-ease) allow-discrete}:host dialog[open]::backdrop{background-color:var(--ui-overlay-backdrop);animation:ui-dialog-backdrop-enter var(--ui-dialog-duration) var(--ui-motion-ease)}@keyframes ui-dialog-backdrop-enter{from{background-color:transparent}}`;
@@ -124,7 +124,7 @@ var UIDialog = class {
124
124
  this.accessibleLabel = nextLabel;
125
125
  };
126
126
  render() {
127
- return h(Host, { key: "b7aa33e24a74527a58718b3fa2218f5a09e9e439", "data-open": this.internalOpen ? "" : void 0, onKeyDown: this.onKeydown }, h("dialog", { key: "f24455edc404581b5040c9c0090bf64141f9e296", ref: (el) => this.dialogRef = el, open: this.internalOpen, "aria-label": this.accessibleLabel }, h("slot", { key: "bad318e44b9c80dc0aae04ea5cdbb7b2ab472c35" })));
127
+ return h(Host, { key: "6e12a287866c76305c791c0ae538dcde63da3044", "data-open": this.internalOpen ? "" : void 0, onKeyDown: this.onKeydown }, h("dialog", { key: "99ba3815e8a8c70ce50ff08d9a8b162aa9c1011f", ref: (el) => this.dialogRef = el, open: this.internalOpen, "aria-label": this.accessibleLabel }, h("slot", { key: "e72b001877d2dfad1bcee9af87167c66d77fc952" })));
128
128
  }
129
129
  static get watchers() {
130
130
  return {
@@ -15,7 +15,7 @@ import {
15
15
  getElement,
16
16
  h,
17
17
  registerInstance
18
- } from "./chunk-IMHSPETJ.js";
18
+ } from "./chunk-XRJRF3MM.js";
19
19
 
20
20
  // dist/esm/ui-disclosure.entry.js
21
21
  var uiDisclosureCss = () => `:host{display:block}::slotted([hidden]){display:none !important}`;
@@ -107,7 +107,7 @@ var UIDisclosure = class {
107
107
  this.setOpen(!this.internalOpen, { reason: "action", trigger: "keyboard" });
108
108
  };
109
109
  render() {
110
- return h(Host, { key: "55a6fd71965104b96b55fd53870becce748a4116" }, h("slot", { key: "542727e10d335ff44fc7cf8250e80f045f89b8f2" }));
110
+ return h(Host, { key: "55f998f8e47ebe01fd5832d6c3dac310dda34b8d" }, h("slot", { key: "0d88728151901e1e412d7f5a3ae78b06aa7548fb" }));
111
111
  }
112
112
  static get watchers() {
113
113
  return {
@@ -0,0 +1,110 @@
1
+ import {
2
+ controlledOrDefault,
3
+ isControlled
4
+ } from "./chunk-HNFCGIBP.js";
5
+ import {
6
+ Host,
7
+ createEvent,
8
+ getElement,
9
+ h,
10
+ registerInstance
11
+ } from "./chunk-XRJRF3MM.js";
12
+
13
+ // dist/esm/ui-editable.entry.js
14
+ var uiEditableCss = () => `:host{display:block;min-inline-size:0}[hidden]{display:none !important}`;
15
+ var UIEditable = class {
16
+ constructor(hostRef) {
17
+ registerInstance(this, hostRef);
18
+ this.editChange = createEvent(this, "edit-change");
19
+ }
20
+ get host() {
21
+ return getElement(this);
22
+ }
23
+ /** Controlled edit state. Omit it to use defaultEdit and local interaction state. */
24
+ edit;
25
+ defaultEdit = false;
26
+ disabled = false;
27
+ editChange;
28
+ internalEdit = false;
29
+ trigger = null;
30
+ syncFromProp() {
31
+ if (isControlled(this.edit))
32
+ this.internalEdit = this.edit;
33
+ }
34
+ componentWillLoad() {
35
+ this.internalEdit = controlledOrDefault(this.edit, this.defaultEdit);
36
+ }
37
+ componentDidLoad() {
38
+ this.host.ownerDocument.addEventListener("pointerdown", this.onDocumentPointerDown, true);
39
+ }
40
+ disconnectedCallback() {
41
+ this.host.ownerDocument.removeEventListener("pointerdown", this.onDocumentPointerDown, true);
42
+ }
43
+ requestEdit(next, reason, trigger) {
44
+ if (this.disabled || this.internalEdit === next)
45
+ return;
46
+ if (!isControlled(this.edit))
47
+ this.internalEdit = next;
48
+ this.editChange.emit({ edit: next, reason, trigger });
49
+ if (next)
50
+ requestAnimationFrame(() => this.focusEditor());
51
+ else
52
+ requestAnimationFrame(() => this.trigger?.focus());
53
+ }
54
+ focusEditor() {
55
+ const editRoot = this.host.querySelector('[slot="edit"]');
56
+ const candidate = editRoot?.matches("input, textarea, select, button, [tabindex], ui-combobox, ui-multi-combobox") ? editRoot : editRoot?.querySelector("input, textarea, select, button, [tabindex], ui-combobox, ui-multi-combobox");
57
+ const focusInput = candidate?.focusInput;
58
+ if (typeof focusInput === "function")
59
+ void focusInput.call(candidate);
60
+ else
61
+ candidate?.focus();
62
+ }
63
+ eventTrigger(event) {
64
+ return event.composedPath().find((node) => node instanceof HTMLElement && node.hasAttribute("data-ui-editable-trigger"));
65
+ }
66
+ onClick = (event) => {
67
+ if (this.internalEdit || this.disabled)
68
+ return;
69
+ const trigger = this.eventTrigger(event);
70
+ if (!trigger)
71
+ return;
72
+ this.trigger = trigger;
73
+ this.requestEdit(true, "activate", "pointer");
74
+ };
75
+ onKeyDown = (event) => {
76
+ if (this.internalEdit && event.key === "Escape") {
77
+ event.preventDefault();
78
+ event.stopPropagation();
79
+ this.requestEdit(false, "escape", "keyboard");
80
+ return;
81
+ }
82
+ if (this.internalEdit || !["Enter", " "].includes(event.key))
83
+ return;
84
+ const trigger = this.eventTrigger(event);
85
+ if (!trigger)
86
+ return;
87
+ event.preventDefault();
88
+ this.trigger = trigger;
89
+ this.requestEdit(true, "activate", "keyboard");
90
+ };
91
+ onDocumentPointerDown = (event) => {
92
+ if (!this.internalEdit || event.composedPath().includes(this.host))
93
+ return;
94
+ this.requestEdit(false, "light-dismiss", "pointer");
95
+ };
96
+ render() {
97
+ return h(Host, { key: "f350400d4ebf897fb657b83b7cba9d309c5067bd", "data-edit": this.internalEdit ? "" : void 0, "data-disabled": this.disabled ? "" : void 0, onClick: this.onClick, onKeyDown: this.onKeyDown }, h("div", { key: "f365ac61f59e9aaa1516121e3d6e2a42187e1d7b", part: "preview", hidden: this.internalEdit }, h("slot", { key: "ea234b437cc4eb530f2994d695429be91d874ef7", name: "preview" })), h("div", { key: "dacf0e74e72c47868986c80aaa60f55942fd9505", part: "edit", hidden: !this.internalEdit }, h("slot", { key: "54a943bc290335181a23b4cfa6055e4acfd8a62b", name: "edit" })));
98
+ }
99
+ static get watchers() {
100
+ return {
101
+ "edit": [{
102
+ "syncFromProp": 0
103
+ }]
104
+ };
105
+ }
106
+ };
107
+ UIEditable.style = uiEditableCss();
108
+ export {
109
+ UIEditable as ui_editable
110
+ };
@@ -2,7 +2,7 @@ import {
2
2
  Host,
3
3
  h,
4
4
  registerInstance
5
- } from "./chunk-IMHSPETJ.js";
5
+ } from "./chunk-XRJRF3MM.js";
6
6
 
7
7
  // dist/esm/ui-floating-action-button.entry.js
8
8
  var uiFloatingActionButtonCss = () => `:host{position:fixed;inset-block-end:calc( var(--ui-floating-action-button-bottom, var(--ui-space-6, 1.5rem)) + env(safe-area-inset-bottom) );inset-inline-end:max( var(--ui-floating-action-button-inline-end, var(--ui-space-5, 1.25rem)), env(safe-area-inset-right) );inline-size:var(--ui-floating-action-button-size, 56px);block-size:var(--ui-floating-action-button-size, 56px);display:inline-flex;z-index:var(--ui-floating-action-button-z-index, 100)}button{appearance:none;inline-size:100%;block-size:100%;border:none;border-radius:999px;margin:0;padding:0;display:inline-flex;align-items:center;justify-content:center;background:var(--ui-floating-action-button-bg, var(--ui-accent-solid));color:var(--ui-floating-action-button-color, var(--ui-text-on-accent));box-shadow:var( --ui-floating-action-button-shadow, 0 4px 12px color-mix(in srgb, var(--ui-accent-solid) 40%, transparent) );cursor:pointer;transition:background-color var(--ui-motion-fast, 160ms) var(--ui-motion-ease, ease), transform var(--ui-motion-fast, 160ms) var(--ui-motion-ease, ease), box-shadow var(--ui-motion-fast, 160ms) var(--ui-motion-ease, ease)}button:hover:enabled{background:var(--ui-floating-action-button-hover-bg, var(--ui-accent-hover));box-shadow:var( --ui-floating-action-button-hover-shadow, 0 6px 16px color-mix(in srgb, var(--ui-accent-solid) 50%, transparent) )}button:active:enabled{transform:scale(var(--ui-floating-action-button-active-scale, 0.94))}button:focus-visible{outline:2px solid var(--ui-focus-ring);outline-offset:2px}button:disabled,:host([disabled]){opacity:0.6;cursor:not-allowed}::slotted(svg){inline-size:var(--ui-floating-action-button-icon-size, 24px);block-size:var(--ui-floating-action-button-icon-size, 24px);flex-shrink:0}@media (min-width: 768px){:host([mobile-only]){display:none}}`;
@@ -14,7 +14,7 @@ var UIFloatingActionButton = class {
14
14
  mobileOnly = false;
15
15
  label = "";
16
16
  render() {
17
- return h(Host, { key: "b41f0aaabbcd23cb79ac06245e69fd8ecb9c9912", "data-disabled": this.disabled ? "" : void 0 }, h("button", { key: "36a023bd66d38845f1116874380d7a28bb46b5a2", type: "button", "aria-label": this.label || void 0, disabled: this.disabled }, h("slot", { key: "412c41e4732cc230f84e7758bfc7faab7e0802e2" })));
17
+ return h(Host, { key: "9e917e07efcef5c0a96b8b09af8934f336a521bd", "data-disabled": this.disabled ? "" : void 0 }, h("button", { key: "940daac4c2ff1144d7e82b36727205f286325a8e", type: "button", "aria-label": this.label || void 0, disabled: this.disabled }, h("slot", { key: "382c70aa4836f6e799f98e1f0e4bc6e3104430fc" })));
18
18
  }
19
19
  };
20
20
  UIFloatingActionButton.style = uiFloatingActionButtonCss();
@@ -6,7 +6,7 @@ import {
6
6
  getElement,
7
7
  h,
8
8
  registerInstance
9
- } from "./chunk-IMHSPETJ.js";
9
+ } from "./chunk-XRJRF3MM.js";
10
10
 
11
11
  // dist/esm/ui-form-field.entry.js
12
12
  var uiFormFieldCss = () => `:host{display:grid;gap:var(--ui-space-2);min-inline-size:0;align-content:start;color:var(--ui-text-primary)}::slotted(label){color:var(--ui-text-secondary);font-size:0.95rem}::slotted([data-slot='help']){min-block-size:var(--ui-form-field-help-min-block-size, 0);color:var(--ui-text-muted);font-size:0.875rem;line-height:var(--ui-line-height-md)}::slotted([data-slot='error']),::slotted([role='alert']){color:var(--ui-accent-active);font-size:0.875rem}`;
@@ -111,7 +111,7 @@ var UIFormField = class {
111
111
  input.setAttribute("aria-invalid", this.invalid ? "true" : "false");
112
112
  }
113
113
  render() {
114
- return h(Host, { key: "0b8fd5608631b5f9159fdf99d6eba918cc6587e4", "data-invalid": this.invalid ? "" : void 0, "data-disabled": this.disabled ? "" : void 0, "data-required": this.required ? "" : void 0 }, h("slot", { key: "4ed78782bcc8b6699a40d8402994b486d71d730a", onSlotchange: this.scheduleWire }));
114
+ return h(Host, { key: "ac01e2be489b9c907169417dc5064061bd74ff7c", "data-invalid": this.invalid ? "" : void 0, "data-disabled": this.disabled ? "" : void 0, "data-required": this.required ? "" : void 0 }, h("slot", { key: "c739f9b2c948bc1d3db4316871c2293bf75cf520", onSlotchange: this.scheduleWire }));
115
115
  }
116
116
  };
117
117
  UIFormField.style = uiFormFieldCss();
@@ -2,7 +2,7 @@ import {
2
2
  Host,
3
3
  h,
4
4
  registerInstance
5
- } from "./chunk-IMHSPETJ.js";
5
+ } from "./chunk-XRJRF3MM.js";
6
6
 
7
7
  // dist/esm/ui-icon-button.entry.js
8
8
  var uiIconButtonCss = () => `:host{display:inline-flex;color:var(--ui-text-secondary)}:host([anticipatory]){position:relative}:host([anticipatory])::before{content:'';position:absolute;inset:50% auto auto 50%;z-index:1;inline-size:var(--ui-affordance-guide-size, 0.25rem);block-size:var(--ui-affordance-guide-size, 0.25rem);border-radius:var(--ui-radius-round, 999px);background:var(--ui-affordance-guide-color, var(--ui-border-strong));opacity:var(--ui-affordance-guide-opacity, 0.42);transform:translate(-50%, -50%);transition:opacity var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);pointer-events:none}:host([anticipatory]) button{opacity:0;transform:scale(0.72);pointer-events:none}:host([anticipatory][data-ui-proximity='near'])::before,:host([anticipatory]:focus-within)::before,:host([anticipatory]:hover)::before,:host([anticipatory][variant='solid'])::before{opacity:0}:host([anticipatory][data-ui-proximity='near']) button,:host([anticipatory]:focus-within) button,:host([anticipatory]:hover) button,:host([anticipatory][variant='solid']) button{opacity:1;transform:scale(1);pointer-events:auto}button{appearance:none;inline-size:var(--ui-icon-button-size, 2.5rem);block-size:var(--ui-icon-button-size, 2.5rem);min-inline-size:var(--ui-icon-button-size, 2.5rem);min-block-size:var(--ui-icon-button-size, 2.5rem);padding:0;margin:0;border:1px solid transparent;border-radius:var(--ui-icon-button-radius, var(--ui-radius-2));background:var(--ui-icon-button-bg, transparent);color:inherit;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color var(--ui-motion-fast) var(--ui-motion-ease), border-color var(--ui-motion-fast) var(--ui-motion-ease), color var(--ui-motion-fast) var(--ui-motion-ease), box-shadow var(--ui-motion-fast) var(--ui-motion-ease), transform var(--ui-motion-fast) var(--ui-motion-ease)}@media (hover: none), (pointer: coarse){:host([anticipatory])::before{opacity:0}:host([anticipatory]) button{opacity:1;transform:none;pointer-events:auto}}:host([size='sm']) button{inline-size:var(--ui-icon-button-size-sm, 2rem);block-size:var(--ui-icon-button-size-sm, 2rem);min-inline-size:var(--ui-icon-button-size-sm, 2rem);min-block-size:var(--ui-icon-button-size-sm, 2rem)}:host([size='lg']) button{inline-size:var(--ui-icon-button-size-lg, 2.75rem);block-size:var(--ui-icon-button-size-lg, 2.75rem);min-inline-size:var(--ui-icon-button-size-lg, 2.75rem);min-block-size:var(--ui-icon-button-size-lg, 2.75rem)}:host([variant='outline']) button{border-color:var(--ui-icon-button-border, var(--ui-border-default));background:var(--ui-icon-button-outline-bg, var(--ui-surface-default));color:var(--ui-icon-button-outline-color, var(--ui-text-primary))}:host([variant='solid']) button{background:var(--ui-icon-button-solid-bg, var(--ui-accent-solid));color:var(--ui-icon-button-solid-color, var(--ui-text-on-accent));box-shadow:var( --ui-icon-button-solid-shadow, 0 1px 2px color-mix(in srgb, var(--ui-accent-solid) 18%, transparent) )}button:hover:enabled{background:var(--ui-icon-button-hover-bg, var(--ui-surface-muted));color:var(--ui-icon-button-hover-color, var(--ui-text-primary))}:host([variant='outline']) button:hover:enabled{border-color:var(--ui-icon-button-hover-border, var(--ui-border-strong))}:host([variant='solid']) button:hover:enabled{background:var(--ui-icon-button-solid-hover-bg, var(--ui-accent-hover))}button:active:enabled{transform:scale(var(--ui-icon-button-active-scale, 0.96))}button:focus-visible{outline:2px solid var(--ui-focus-ring);outline-offset:2px}button:disabled,:host([disabled]){opacity:0.6;cursor:not-allowed}::slotted(svg){inline-size:var(--ui-icon-button-icon-size, 1.125rem);block-size:var(--ui-icon-button-icon-size, 1.125rem);flex-shrink:0;stroke-width:var(--ui-icon-button-icon-stroke-width, 1.75)}`;
@@ -17,7 +17,7 @@ var UIIconButton = class {
17
17
  /** Reveals this control through a surrounding ui-affordance-scope. */
18
18
  anticipatory = false;
19
19
  render() {
20
- return h(Host, { key: "fb4534d977b4812f402855f78176b8316ebace61", "data-disabled": this.disabled ? "" : void 0, "data-ui-affordance": this.anticipatory ? "button" : void 0 }, h("button", { key: "b90d290870ad76ba18de88a6b6947a15040ff12a", type: "button", "aria-label": this.label || void 0, disabled: this.disabled }, h("slot", { key: "88ded6ad90a4cfeffcd687990e5ba8b0c7d3bd30" })));
20
+ return h(Host, { key: "225e147d184109d39a2e6f9236ba3ba3c5864c31", "data-disabled": this.disabled ? "" : void 0, "data-ui-affordance": this.anticipatory ? "button" : void 0 }, h("button", { key: "7e54fab4520ae6641c974abf19e975e8eec7a3df", type: "button", "aria-label": this.label || void 0, disabled: this.disabled }, h("slot", { key: "54f9ba27c5a2ca896267f07ad1055907e74a64bc" })));
21
21
  }
22
22
  };
23
23
  UIIconButton.style = uiIconButtonCss();
@@ -7,7 +7,7 @@ import {
7
7
  getElement,
8
8
  h,
9
9
  registerInstance
10
- } from "./chunk-IMHSPETJ.js";
10
+ } from "./chunk-XRJRF3MM.js";
11
11
 
12
12
  // dist/esm/ui-input.entry.js
13
13
  var uiInputCss = () => `:host{display:inline-flex;min-inline-size:0;color:var(--ui-text-primary)}::slotted(input){width:100%;appearance:none;min-block-size:var(--ui-control-min-block-size, 2.75rem);border:1px solid var(--ui-control-border, var(--ui-border-default));border-radius:var(--ui-radius-2);background:var(--ui-control-surface, var(--ui-surface-default));color:inherit;font:inherit;line-height:var(--ui-line-height-md);padding:var(--ui-space-2) var(--ui-space-3);margin:0;transition:border-color var(--ui-motion-fast) var(--ui-motion-ease), box-shadow var(--ui-motion-fast) var(--ui-motion-ease), background-color var(--ui-motion-fast) var(--ui-motion-ease)}::slotted(input:hover:not(:focus):not(:disabled)){border-color:var(--ui-control-border-hover, var(--ui-border-strong))}::slotted(input:focus){border-color:var(--ui-control-focus, var(--ui-focus-ring));box-shadow:0 0 0 3px var(--ui-control-focus-halo, var(--ui-accent-soft))}:host([data-invalid='true'])::slotted(input),::slotted(input[aria-invalid='true']){border-color:var(--ui-accent-active)}::slotted(input:disabled){background:var(--ui-control-surface-disabled, var(--ui-surface-muted));color:var(--ui-text-muted);cursor:not-allowed}::slotted(input:focus-visible){outline:2px solid var(--ui-focus-ring);outline-offset:2px}`;
@@ -83,7 +83,7 @@ var UIInput = class {
83
83
  });
84
84
  };
85
85
  render() {
86
- return h(Host, { key: "fe125b4e8ec35e9ac0b0ca0434aa8439f515c51b", "data-invalid": this.invalid ? "" : void 0 }, h("slot", { key: "ec0609f9143435cf0436abb98488b9f30b71530b", ref: (el) => this.slotRef = el }));
86
+ return h(Host, { key: "0d8676e8458476681653ef4600dcb0f3b56d1ed1", "data-invalid": this.invalid ? "" : void 0 }, h("slot", { key: "d3585c07b6985d9090002f7a9c0eea1227517e0f", ref: (el) => this.slotRef = el }));
87
87
  }
88
88
  static get watchers() {
89
89
  return {
@@ -2,7 +2,7 @@ import {
2
2
  Host,
3
3
  h,
4
4
  registerInstance
5
- } from "./chunk-IMHSPETJ.js";
5
+ } from "./chunk-XRJRF3MM.js";
6
6
 
7
7
  // dist/esm/ui-menu-item.entry.js
8
8
  var uiMenuItemCss = () => `:host{display:block;width:100%}.menu-item__surface{display:block;box-sizing:border-box;width:100%;padding:var(--ui-space-2) var(--ui-space-3);text-align:left;background:none;border:none;border-radius:var(--ui-radius-2);color:var(--ui-text-primary);font-size:var(--ui-font-size-md);font-weight:var(--ui-font-medium, 500);cursor:pointer;transition:background-color var(--ui-motion-fast) var(--ui-motion-ease), color var(--ui-motion-fast) var(--ui-motion-ease)}:host(:hover:not([aria-disabled='true']):not([disabled])) .menu-item__surface{background:var(--ui-surface-subtle)}:host([aria-disabled='true']) .menu-item__surface,:host([disabled]) .menu-item__surface{opacity:0.6;cursor:not-allowed}`;
@@ -13,7 +13,7 @@ var UIMenuItem = class {
13
13
  disabled = false;
14
14
  value = "";
15
15
  render() {
16
- return h(Host, { key: "f8a1721f8e516af04f901b53c3a66ce1de932608", role: "menuitem", tabIndex: this.disabled ? -1 : 0, "aria-disabled": this.disabled ? "true" : void 0, "data-value": this.value || void 0 }, h("span", { key: "6483d0b3ce1be06aed214f626b2d6a2963a44ade", class: "menu-item__surface" }, h("slot", { key: "db470b1cbb54d56a14d05c0d7f72c43e37f4263e" })));
16
+ return h(Host, { key: "711e7f70268d23969e40073cd47b065afadc22c9", role: "menuitem", tabIndex: this.disabled ? -1 : 0, "aria-disabled": this.disabled ? "true" : void 0, "data-value": this.value || void 0 }, h("span", { key: "d0c0aff983bdbc48666fcd652b39340bfd92c790", class: "menu-item__surface" }, h("slot", { key: "3fc6111848142b388529a9cdb5f6134bffe8fa42" })));
17
17
  }
18
18
  };
19
19
  UIMenuItem.style = uiMenuItemCss();
@@ -19,7 +19,7 @@ import {
19
19
  getElement,
20
20
  h,
21
21
  registerInstance
22
- } from "./chunk-IMHSPETJ.js";
22
+ } from "./chunk-XRJRF3MM.js";
23
23
 
24
24
  // dist/esm/ui-menu.entry.js
25
25
  var uiMenuCss = () => `:host{--ui-menu-viewport-gap:var(--ui-space-2, 0.5rem);display:flex;flex-direction:column;box-sizing:border-box;inline-size:max-content;min-inline-size:min(12rem, calc(100vw - (var(--ui-menu-viewport-gap) * 2)));max-inline-size:calc(100vw - (var(--ui-menu-viewport-gap) * 2));padding:0;border:0;border-radius:0;background:transparent;box-shadow:var(--ui-shadow-lg)}.menu__surface{display:flex;flex-direction:column;box-sizing:border-box;padding:var(--ui-space-1);background:var(--ui-surface-elevated);border:1px solid var(--ui-border-default);border-radius:var(--ui-radius-3)}:host(:not([data-open])){display:none}:host([popover]){position:fixed;inset:auto;margin:0;overflow:auto;max-block-size:calc(100dvh - (var(--ui-menu-viewport-gap) * 2));opacity:0;transform:translateY(-4px) scale(0.99);transition:opacity var(--ui-motion-fast) var(--ui-motion-ease), transform var(--ui-motion-fast) var(--ui-motion-ease), display var(--ui-motion-fast) allow-discrete, overlay var(--ui-motion-fast) allow-discrete}:host([popover]:popover-open){opacity:1;transform:translateY(0) scale(1)}@starting-style{:host([popover]:popover-open){opacity:0;transform:translateY(-4px) scale(0.99)}}:host([hidden]){display:none !important}@media (prefers-reduced-motion: reduce){:host([popover]){transition:none}}::slotted(ui-menu-item){display:block;width:100%}`;
@@ -167,7 +167,7 @@ var UIMenu = class {
167
167
  }
168
168
  };
169
169
  render() {
170
- return h(Host, { key: "c5af7acaf41b75165e9f7cf47d65b7a1dcd4d1c0", role: "menu", "aria-orientation": "vertical", "data-open": this.internalOpen ? "" : void 0 }, h("div", { key: "058fff9a00a1dcba26f6db425096e7a96d889896", class: "menu__surface" }, h("slot", { key: "dbbf9eb4ba2a348b6d85049e229ed0562ee17318" })));
170
+ return h(Host, { key: "afba5a7f63238afdb6f71a3636c1f294d3e8ac6f", role: "menu", "aria-orientation": "vertical", "data-open": this.internalOpen ? "" : void 0 }, h("div", { key: "50d770efd27dddca436b804f10f1cc40bc604cb5", class: "menu__surface" }, h("slot", { key: "5014fc43a0ee2d66168bbcc1d52b20bd5120acb9" })));
171
171
  }
172
172
  static get watchers() {
173
173
  return {
@@ -0,0 +1,196 @@
1
+ import {
2
+ Host,
3
+ createEvent,
4
+ getElement,
5
+ h,
6
+ registerInstance
7
+ } from "./chunk-XRJRF3MM.js";
8
+
9
+ // dist/esm/ui-multi-combobox.entry.js
10
+ var uiMultiComboboxCss = () => `:host{display:block;min-inline-size:0;color:var(--ui-text-primary);font:inherit}ui-combobox::part(field){flex-wrap:wrap;align-items:center;gap:var(--ui-space-1);min-block-size:var(--ui-multi-combobox-min-block-size, 2.5rem);padding:var(--ui-space-1)}ui-combobox::part(input){flex:1 0 var(--ui-multi-combobox-input-min-inline-size, 5rem);width:auto;min-block-size:1.75rem;padding:var(--ui-space-0-5) var(--ui-space-1)}.items{display:contents}.item{appearance:none;display:inline-flex;max-inline-size:100%;padding:0;border:0;border-radius:var(--ui-radius-1);background:transparent;color:inherit;font:inherit;cursor:default}.item:focus-visible{outline:2px solid var(--ui-focus-ring);outline-offset:1px}.item:disabled{opacity:.6}`;
11
+ var UIMultiCombobox = class {
12
+ constructor(hostRef) {
13
+ registerInstance(this, hostRef);
14
+ this.queryChange = createEvent(this, "query-change");
15
+ this.addItem = createEvent(this, "add-item");
16
+ this.removeItem = createEvent(this, "remove-item");
17
+ this.createItem = createEvent(this, "create-item");
18
+ this.optionsChange = createEvent(this, "options-change");
19
+ }
20
+ get host() {
21
+ return getElement(this);
22
+ }
23
+ label = "";
24
+ placeholder = "";
25
+ items = [];
26
+ config = {};
27
+ query;
28
+ defaultQuery = "";
29
+ /** Characters that commit the current query and leave the input ready for the next item. */
30
+ tokenSeparators = [];
31
+ disabled = false;
32
+ readOnly = false;
33
+ required = false;
34
+ name = "";
35
+ queryChange;
36
+ addItem;
37
+ removeItem;
38
+ createItem;
39
+ optionsChange;
40
+ raw = "";
41
+ rows = [];
42
+ combobox;
43
+ filteredConfig;
44
+ filteredConfigSource;
45
+ filteredSelection = "";
46
+ componentWillLoad() {
47
+ this.raw = this.query ?? this.defaultQuery;
48
+ }
49
+ syncQuery() {
50
+ if (this.query !== void 0)
51
+ this.raw = this.query;
52
+ }
53
+ get selectedValues() {
54
+ return new Set(this.items.map((item) => item.value));
55
+ }
56
+ get comboboxConfig() {
57
+ const selectionKey = this.items.map((item) => item.value).join("\0");
58
+ if (this.filteredConfig && this.filteredConfigSource === this.config && this.filteredSelection === selectionKey) {
59
+ return this.filteredConfig;
60
+ }
61
+ const ownerFilter = this.config.filter;
62
+ const selected = this.selectedValues;
63
+ this.filteredConfigSource = this.config;
64
+ this.filteredSelection = selectionKey;
65
+ this.filteredConfig = {
66
+ ...this.config,
67
+ filter: (option, query, context) => !selected.has(option.value) && (ownerFilter ? ownerFilter(option, query, context) : option.label.toLocaleLowerCase().includes(query.toLocaleLowerCase()))
68
+ };
69
+ return this.filteredConfig;
70
+ }
71
+ setQuery(query, trigger) {
72
+ if (this.query === void 0)
73
+ this.raw = query;
74
+ this.queryChange.emit({ query, display: query, trigger });
75
+ }
76
+ clearCommittedQuery(input, trigger) {
77
+ input.value = "";
78
+ this.raw = "";
79
+ this.setQuery("", trigger);
80
+ }
81
+ onQueryChange = (event) => {
82
+ event.stopPropagation();
83
+ this.setQuery(event.detail.query, event.detail.trigger);
84
+ };
85
+ onOptionsChange = (event) => {
86
+ event.stopPropagation();
87
+ this.rows = event.detail;
88
+ this.optionsChange.emit(event.detail);
89
+ };
90
+ onValueChange = (event) => {
91
+ event.stopPropagation();
92
+ if (event.detail.kind !== "selection" || !event.detail.option)
93
+ return;
94
+ const item = event.detail.option;
95
+ this.addItem.emit({ item, index: this.items.length, trigger: event.detail.trigger });
96
+ queueMicrotask(() => this.setQuery("", event.detail.trigger));
97
+ };
98
+ onCreateEntry = (event) => {
99
+ event.stopPropagation();
100
+ const query = event.detail.query.trim();
101
+ if (!query)
102
+ return;
103
+ this.setQuery("", event.detail.trigger);
104
+ this.createItem.emit({ query, trigger: event.detail.trigger });
105
+ };
106
+ commitQuery(input, trigger) {
107
+ const query = this.raw.trim();
108
+ if (!query)
109
+ return;
110
+ const normalizedQuery = query.toLocaleLowerCase();
111
+ const option = this.rows.find((row) => row.label.trim().toLocaleLowerCase() === normalizedQuery);
112
+ if (option) {
113
+ this.clearCommittedQuery(input, trigger);
114
+ this.addItem.emit({ item: option, index: this.items.length, trigger });
115
+ } else if (this.config.allowCreate) {
116
+ this.clearCommittedQuery(input, trigger);
117
+ this.createItem.emit({ query, trigger });
118
+ }
119
+ }
120
+ remove(index, trigger) {
121
+ const item = this.items[index];
122
+ if (!item || item.disabled || this.disabled || this.readOnly)
123
+ return;
124
+ this.removeItem.emit({ item, index, trigger });
125
+ requestAnimationFrame(() => {
126
+ const buttons = this.host.shadowRoot?.querySelectorAll('[part="item"]') ?? [];
127
+ const next = buttons[Math.min(index, buttons.length - 1)] ?? buttons[index - 1];
128
+ if (next && next.dataset.value !== item.value)
129
+ next.focus();
130
+ else
131
+ void this.focusInput();
132
+ });
133
+ }
134
+ focusItem(index) {
135
+ this.host.shadowRoot?.querySelectorAll('[part="item"]')[index]?.focus();
136
+ }
137
+ onItemKeyDown = (event, index) => {
138
+ if (event.altKey || event.ctrlKey || event.metaKey || event.shiftKey)
139
+ return;
140
+ if (event.key === "ArrowLeft") {
141
+ event.preventDefault();
142
+ event.stopPropagation();
143
+ this.focusItem(Math.max(0, index - 1));
144
+ } else if (event.key === "ArrowRight") {
145
+ event.preventDefault();
146
+ event.stopPropagation();
147
+ if (index === this.items.length - 1)
148
+ void this.focusInput();
149
+ else
150
+ this.focusItem(index + 1);
151
+ } else if (event.key === "Backspace" || event.key === "Delete") {
152
+ event.preventDefault();
153
+ event.stopPropagation();
154
+ this.remove(index, "keyboard");
155
+ }
156
+ };
157
+ onKeyDown = (event) => {
158
+ if (event.defaultPrevented || event.isComposing || this.disabled || this.readOnly || event.altKey || event.ctrlKey || event.metaKey || event.shiftKey)
159
+ return;
160
+ const input = event.composedPath().find((node) => node instanceof HTMLInputElement);
161
+ if (!input)
162
+ return;
163
+ if (this.tokenSeparators.includes(event.key)) {
164
+ event.preventDefault();
165
+ event.stopPropagation();
166
+ this.commitQuery(input, "keyboard");
167
+ return;
168
+ }
169
+ if (this.raw || (input.selectionStart ?? 0) > 0)
170
+ return;
171
+ if (event.key === "ArrowLeft" && this.items.length) {
172
+ event.preventDefault();
173
+ this.focusItem(this.items.length - 1);
174
+ } else if (event.key === "Backspace" && this.items.length) {
175
+ event.preventDefault();
176
+ this.remove(this.items.length - 1, "keyboard");
177
+ }
178
+ };
179
+ async focusInput() {
180
+ await this.combobox?.focusInput();
181
+ }
182
+ render() {
183
+ return h(Host, { key: "c1acc758a2856e5bd022e076030798c9d63ff416", onKeyDown: this.onKeyDown }, h("ui-combobox", { key: "8f77d28aa1d228dd809f86695429328decaf7468", ref: (element) => this.combobox = element, label: this.label, "label-visibility": "sr-only", placeholder: this.placeholder, name: this.name, value: null, query: this.raw, config: this.comboboxConfig, size: "sm", disabled: this.disabled, readOnly: this.readOnly, required: this.required, "onQuery-change": this.onQueryChange, "onValue-change": this.onValueChange, "onCreate-entry": this.onCreateEntry, "onOptions-change": this.onOptionsChange }, h("div", { key: "f4f0849c145d9bcc4d47103d3dc4fdce8009aeab", slot: "start", class: "items", role: "group", "aria-label": `Selected ${this.label}` }, this.items.map((item, index) => h("button", { type: "button", part: "item", class: "item", "data-value": item.value, tabIndex: -1, disabled: this.disabled || this.readOnly || item.disabled, "aria-label": `${item.label}, press Delete or Backspace to remove`, onKeyDown: (event) => this.onItemKeyDown(event, index) }, h("slot", { name: `item-${item.id}` }, h("ui-chip", { appearance: "pill" }, item.label))))), this.rows.map((option) => h("span", { slot: `option-${option.id}` }, h("slot", { name: `option-${option.id}` }, option.label))), h("span", { key: "3cf42f492bd946ca130321a2c3fcf976602c6566", slot: "create" }, h("slot", { key: "6f158cb1d96c0d0401fe5302cabffd052498f651", name: "create" }, "Create \u201C", this.raw, "\u201D")), h("span", { key: "0f436aca38aecf9485963d6588c27ab3288ced55", slot: "loading" }, h("slot", { key: "6c079ac5bbf6fff57aa7fa6f0022a939c96a5cd0", name: "loading" }, "Loading suggestions\u2026")), h("span", { key: "a7893e0ff0a1922a404e7c072338858d9e7fdf12", slot: "empty" }, h("slot", { key: "d6831db76cc1252aa942ccdcfba36c8cf4c60d22", name: "empty" }, "No suggestions.")), h("span", { key: "a096a393a167256cff11f77110ae29ac58a33779", slot: "error" }, h("slot", { key: "1bf52c85e911d9965b9b691d6ebf0b89bbea2d58", name: "error" }, "Unable to load suggestions.")), h("div", { key: "b7d88c9b427305da8b986eb993b49e5c581c1445", slot: "footer" }, h("slot", { key: "f84fdf78c3e373f4735ed88574af06f1ca3cc1b5", name: "footer" }))));
184
+ }
185
+ static get watchers() {
186
+ return {
187
+ "query": [{
188
+ "syncQuery": 0
189
+ }]
190
+ };
191
+ }
192
+ };
193
+ UIMultiCombobox.style = uiMultiComboboxCss();
194
+ export {
195
+ UIMultiCombobox as ui_multi_combobox
196
+ };
@@ -18,7 +18,7 @@ import {
18
18
  getElement,
19
19
  h,
20
20
  registerInstance
21
- } from "./chunk-IMHSPETJ.js";
21
+ } from "./chunk-XRJRF3MM.js";
22
22
 
23
23
  // dist/esm/ui-popover.entry.js
24
24
  var uiPopoverCss = () => `:host{--ui-popover-viewport-gap:var(--ui-space-2, 0.5rem);box-sizing:border-box;max-inline-size:min( 20rem, calc(100vw - (var(--ui-popover-viewport-gap) * 2)) );max-block-size:calc(100dvh - (var(--ui-popover-viewport-gap) * 2));overflow:auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:var(--ui-shadow-lg)}.popover__surface{box-sizing:border-box;padding:var(--ui-space-3);background:var(--ui-surface-elevated);border:1px solid var(--ui-border-default);border-radius:var(--ui-radius-3)}:host(:not([data-open])){display:none}:host([popover]){position:fixed;inset:auto;margin:0;opacity:0;transform:translateY(-4px) scale(0.99);transition:opacity var(--ui-motion-fast) var(--ui-motion-ease), transform var(--ui-motion-fast) var(--ui-motion-ease), display var(--ui-motion-fast) allow-discrete, overlay var(--ui-motion-fast) allow-discrete}:host([popover]:popover-open){opacity:1;transform:translateY(0) scale(1)}@starting-style{:host([popover]:popover-open){opacity:0;transform:translateY(-4px) scale(0.99)}}:host([hidden]){display:none !important}@media (prefers-reduced-motion: reduce){:host([popover]){transition:none}}`;
@@ -127,7 +127,7 @@ var UIPopover = class {
127
127
  }
128
128
  };
129
129
  render() {
130
- return h(Host, { key: "6a38873f2e4d085f733fa116057b1f55418e23ed", "data-open": this.internalOpen ? "" : void 0, onKeyDown: this.onKeydown }, h("div", { key: "6fef6e37921e8c52994617719f1ebb6d9bd54ee2", class: "popover__surface" }, h("slot", { key: "5ee4269592219035a3185f8f06fd71ecb12e4e71" })));
130
+ return h(Host, { key: "a4986ace0f3c586774a549cb844287b28ccd0531", "data-open": this.internalOpen ? "" : void 0, onKeyDown: this.onKeydown }, h("div", { key: "8f2c589916d06138ef72bfe0d039893b3c59a7cc", class: "popover__surface" }, h("slot", { key: "ee70e7dcc53a99b5c80e56862a6eb00edcfcf912" })));
131
131
  }
132
132
  static get watchers() {
133
133
  return {
@@ -7,7 +7,7 @@ import {
7
7
  getElement,
8
8
  h,
9
9
  registerInstance
10
- } from "./chunk-IMHSPETJ.js";
10
+ } from "./chunk-XRJRF3MM.js";
11
11
 
12
12
  // dist/esm/ui-radio-group.entry.js
13
13
  var uiRadioGroupCss = () => `:host{display:inline-flex;align-items:center;gap:var(--ui-space-2)}:host([data-orientation='vertical']){display:inline-grid;justify-items:start}`;
@@ -114,7 +114,7 @@ var UIRadioGroup = class {
114
114
  }
115
115
  };
116
116
  render() {
117
- return h(Host, { key: "28c6eb6cc9520b570f40d2193d0c64a7a6c7db01", role: "radiogroup", "aria-orientation": this.orientation, "data-orientation": this.orientation, "data-disabled": this.disabled ? "" : void 0 }, h("slot", { key: "97814378181be78bfac6090ff173459e1f539728" }));
117
+ return h(Host, { key: "1882ad7c092c6a138eab2a52c19beb9a950a8d5a", role: "radiogroup", "aria-orientation": this.orientation, "data-orientation": this.orientation, "data-disabled": this.disabled ? "" : void 0 }, h("slot", { key: "d5abade3d23963410cfbac17e80aa16dd21ccc6e" }));
118
118
  }
119
119
  static get watchers() {
120
120
  return {
@@ -11,7 +11,7 @@ import {
11
11
  getElement,
12
12
  h,
13
13
  registerInstance
14
- } from "./chunk-IMHSPETJ.js";
14
+ } from "./chunk-XRJRF3MM.js";
15
15
 
16
16
  // dist/esm/ui-radio.entry.js
17
17
  var uiRadioCss = () => `:host{display:inline-flex;align-items:center;gap:var(--ui-space-2);color:var(--ui-text-primary)}:host([data-disabled='true']),:host([aria-disabled='true']){opacity:0.6;cursor:not-allowed}::slotted(input[type='radio']){accent-color:var(--ui-accent-solid);cursor:pointer}::slotted(input[type='radio']:focus-visible){outline:2px solid var(--ui-accent-solid);outline-offset:2px}`;
@@ -80,7 +80,7 @@ var UIRadio = class {
80
80
  });
81
81
  };
82
82
  render() {
83
- return h(Host, { key: "a5220e72dbf1b55ca73a3e6234f31c99d806433a", role: "radio", "aria-checked": String(this.internalChecked), "aria-disabled": String(this.disabled), "data-disabled": this.disabled ? "" : void 0 }, h("slot", { key: "687e94b2036107c807e0319c3620bca7c06cbb26", ref: (el) => this.slotRef = el }));
83
+ return h(Host, { key: "f4700b43790accd29a6bcc55fcc862072e29c335", role: "radio", "aria-checked": String(this.internalChecked), "aria-disabled": String(this.disabled), "data-disabled": this.disabled ? "" : void 0 }, h("slot", { key: "ed32c35f8f68c662a8b95e58b74c8c76c959ea49", ref: (el) => this.slotRef = el }));
84
84
  }
85
85
  static get watchers() {
86
86
  return {
@@ -2,7 +2,7 @@ import {
2
2
  Host,
3
3
  h,
4
4
  registerInstance
5
- } from "./chunk-IMHSPETJ.js";
5
+ } from "./chunk-XRJRF3MM.js";
6
6
 
7
7
  // dist/esm/ui-search-result-row.entry.js
8
8
  var uiSearchResultRowCss = () => `:host{display:block}.search-result-row{appearance:none;inline-size:100%;min-block-size:var(--ui-search-result-row-min-height, 56px);margin:0;padding-block:var(--ui-search-result-row-padding-block, var(--ui-space-3, 0.75rem));padding-inline:var(--ui-search-result-row-padding-inline, var(--ui-space-4, 1rem));display:flex;align-items:flex-start;gap:var(--ui-search-result-row-gap, var(--ui-space-3, 0.75rem));background:var(--ui-search-result-row-bg, transparent);border:none;border-block-end:1px solid var(--ui-search-result-row-border, var(--ui-border, #e5e7eb));color:inherit;cursor:pointer;text-align:left;transition:background-color var(--ui-motion-fast, 160ms) var(--ui-motion-ease, ease)}:host(:last-child) .search-result-row{border-block-end:none}.search-result-row:hover:enabled{background:var(--ui-search-result-row-hover-bg, color-mix(in srgb, var(--ui-surface, #ffffff) 85%, black 3%))}:host([selected]) .search-result-row{background:var( --ui-search-result-row-selected-bg, var(--ui-search-result-row-hover-bg, color-mix(in srgb, var(--ui-surface, #ffffff) 85%, black 3%)) )}.search-result-row:focus-visible{outline:2px solid var(--ui-focus-ring, #2563eb);outline-offset:-2px}.search-result-row:disabled,:host([disabled]) .search-result-row{opacity:0.6;cursor:not-allowed}.search-result-row__leading,.search-result-row__trailing{display:inline-flex;align-items:flex-start;flex-shrink:0}.search-result-row__content{min-inline-size:0;flex:1;display:flex;flex-direction:column}.search-result-row__title,.search-result-row__meta,.search-result-row__excerpt{display:block;min-inline-size:0}[hidden]{display:none}::slotted([slot='title']),::slotted([slot='meta']),::slotted([slot='excerpt']){display:block;margin:0}`;
@@ -41,7 +41,7 @@ var UISearchResultRow = class {
41
41
  this.hasTrailing = slotHasContent(this.trailingSlot);
42
42
  };
43
43
  render() {
44
- return h(Host, { key: "01e795d1c723c4e56f5648c429b40fc7841ff9b5" }, h("button", { key: "7bdde5075c5a3112d14741aa87937e69a8f5fea9", class: "search-result-row", type: "button", disabled: this.disabled, part: "button" }, h("span", { key: "39ba47af68a23875eebdbdf8f87ca7d94d42ec43", class: "search-result-row__leading", part: "leading", hidden: !this.hasLeading }, h("slot", { key: "f108b1c5d284057d5979bf4897f056543a1ff092", name: "leading", ref: (el) => this.leadingSlot = el, onSlotchange: this.syncSlots })), h("span", { key: "0daeb171b7010f37d959c91f2a87c1ae7e96a56f", class: "search-result-row__content", part: "content" }, h("span", { key: "d7ec1b67a15fa9c79ea0fd23db73bd7bca40a8ce", class: "search-result-row__title", part: "title" }, h("slot", { key: "8c4a45511580a655e0593c8c57fd98838f2cb896", name: "title" })), h("span", { key: "0d30a58a7079ea0c8992c9b0b02b516a65350425", class: "search-result-row__meta", part: "meta", hidden: !this.hasMeta }, h("slot", { key: "8de66e3b6adf89ed765ccc1c341ccac1b5513a6f", name: "meta", ref: (el) => this.metaSlot = el, onSlotchange: this.syncSlots })), h("span", { key: "7c24542b9bb634a55530952c329242a351e813c3", class: "search-result-row__excerpt", part: "excerpt", hidden: !this.hasExcerpt }, h("slot", { key: "a5bfc4fd17b8535aa996e792498b33f25dd30ecd", name: "excerpt", ref: (el) => this.excerptSlot = el, onSlotchange: this.syncSlots }))), h("span", { key: "25c74d8508a0b3b527ef5529a02e54e407cae5ae", class: "search-result-row__trailing", part: "trailing", hidden: !this.hasTrailing }, h("slot", { key: "cba6f957de902b9ed3dc05c8b20794c9b69c85c6", name: "trailing", ref: (el) => this.trailingSlot = el, onSlotchange: this.syncSlots }))));
44
+ return h(Host, { key: "eeda041dbcf8841cd53be9c532df208eb3be3d3b" }, h("button", { key: "71d3db6d2eca4f8d7796429f68ef73bf2c7b62f7", class: "search-result-row", type: "button", disabled: this.disabled, part: "button" }, h("span", { key: "f2260cab9f654e7f5e96a5e7e2a1cbbb5a55fde3", class: "search-result-row__leading", part: "leading", hidden: !this.hasLeading }, h("slot", { key: "824fffc19c2b5712dae0c000f12cc36a0043a370", name: "leading", ref: (el) => this.leadingSlot = el, onSlotchange: this.syncSlots })), h("span", { key: "4e3728ea7d363f256f1b3283df6eb984cf3f570f", class: "search-result-row__content", part: "content" }, h("span", { key: "95009b1ce569fb4251df62334a5dd88f1de561af", class: "search-result-row__title", part: "title" }, h("slot", { key: "132beecf36471ae0db68d686829428225699c534", name: "title" })), h("span", { key: "0ad7c8d52aa40ccf62667d3ecca4d48b49917a9a", class: "search-result-row__meta", part: "meta", hidden: !this.hasMeta }, h("slot", { key: "4b97129504571a676839287bd87e68d803f8bc99", name: "meta", ref: (el) => this.metaSlot = el, onSlotchange: this.syncSlots })), h("span", { key: "e6c73e653fb7dc213866a15870281f3f6d95a86b", class: "search-result-row__excerpt", part: "excerpt", hidden: !this.hasExcerpt }, h("slot", { key: "49deae8194485304380b8b4b3d4fe96cd6623f4d", name: "excerpt", ref: (el) => this.excerptSlot = el, onSlotchange: this.syncSlots }))), h("span", { key: "c7c6f0b57668644a28d3c4c981b4db79a0e3c42a", class: "search-result-row__trailing", part: "trailing", hidden: !this.hasTrailing }, h("slot", { key: "e6cbceeb41d23c9b7514f53663438069499d1a4d", name: "trailing", ref: (el) => this.trailingSlot = el, onSlotchange: this.syncSlots }))));
45
45
  }
46
46
  };
47
47
  UISearchResultRow.style = uiSearchResultRowCss();
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  h,
3
3
  registerInstance
4
- } from "./chunk-IMHSPETJ.js";
4
+ } from "./chunk-XRJRF3MM.js";
5
5
 
6
6
  // dist/esm/ui-search-shell.entry.js
7
7
  var uiSearchShellCss = () => `:host{position:fixed;inset:0;z-index:var(--ui-search-shell-z-index, 400);display:block}.search-shell{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:center;padding-block-start:var(--ui-search-shell-padding-top, 10vh)}.search-shell__panel{position:relative;inline-size:min( calc(100% - (var(--ui-search-shell-margin-inline, var(--ui-space-4, 1rem)) * 2)), var(--ui-search-shell-max-width, 640px) );max-block-size:var(--ui-search-shell-max-height, 80vh);display:flex;flex-direction:column;overflow:hidden;background:var(--ui-search-shell-bg, var(--ui-surface, #ffffff));border:1px solid var(--ui-search-shell-border, var(--ui-border, #e5e7eb));border-radius:var(--ui-search-shell-radius, var(--ui-radius-xl, 1rem));box-shadow:var(--ui-search-shell-shadow, var(--ui-shadow-lg, 0 8px 24px rgba(0, 0, 0, 0.12)))}.search-shell__search,.search-shell__status,.search-shell__footer{flex-shrink:0}.search-shell__body{flex:1;min-block-size:0}[hidden]{display:none}@media (max-width: 767px){.search-shell{padding-block-start:0;align-items:stretch}.search-shell__panel{inline-size:100%;block-size:100vh;block-size:100dvh;max-block-size:none;border-radius:0;border-inline:none;border-block-start:none}}`;
@@ -32,7 +32,7 @@ var UISearchShell = class {
32
32
  this.hasFooter = slotHasContent(this.footerSlot);
33
33
  };
34
34
  render() {
35
- return h("div", { key: "c3a4366e1f22b249233e42fdc83f1620613cce52", class: "search-shell", part: "base" }, h("slot", { key: "4f22e4a44fe7ae190a80a6e5cd695c15eb4f029d", name: "backdrop" }), h("div", { key: "bf452dae29f0ab31266d848a4dd4b794997b34a7", class: "search-shell__panel", part: "panel" }, h("div", { key: "c0ef7d1d8ea95853404d39ddac1bff566d38d18e", class: "search-shell__search", part: "search" }, h("slot", { key: "462532250d8ba36aad1d31fe10da642d79e59faf", name: "search" })), h("div", { key: "4f7d91272d15f6e37df6fba4ae563efae5701b93", class: "search-shell__status", part: "status", hidden: !this.hasStatus }, h("slot", { key: "d761691c1dd2c3012075163bb7eb9ce7e5bf3ef4", name: "status", ref: (el) => this.statusSlot = el, onSlotchange: this.syncSlots })), h("div", { key: "1427a10b3f43ea31c2a482beb17f78d70b5fb2cf", class: "search-shell__body", part: "body" }, h("slot", { key: "6d6e8c2b4ee4833b5476795d4c7e184dda07f81e", name: "body" })), h("div", { key: "8f7d36040f7d21489c703b53581e392a2616963b", class: "search-shell__footer", part: "footer", hidden: !this.hasFooter }, h("slot", { key: "08b84f01091d95895ee8693e9b322511bf614342", name: "footer", ref: (el) => this.footerSlot = el, onSlotchange: this.syncSlots }))));
35
+ return h("div", { key: "ae5baf1fae88f3c0ff8c98e68e1c31d7f19d7b6a", class: "search-shell", part: "base" }, h("slot", { key: "192d10867902bc4618762ab3ce1ca8a44229ec11", name: "backdrop" }), h("div", { key: "72bafd3ba7aadebcb011fb27f56793a9079bb2e1", class: "search-shell__panel", part: "panel" }, h("div", { key: "c2d46c9099699cc1c2f357cb51d11ab0e6cf6c69", class: "search-shell__search", part: "search" }, h("slot", { key: "21f4ed690247fa794bd9322c75cee1721926087a", name: "search" })), h("div", { key: "84baba674456aa2a5878d5858d0e6531251440ce", class: "search-shell__status", part: "status", hidden: !this.hasStatus }, h("slot", { key: "6e7b6533a29231ebbcd41529d8120649ca4a1dd1", name: "status", ref: (el) => this.statusSlot = el, onSlotchange: this.syncSlots })), h("div", { key: "710d51d450132ad0f528b2eb2cd6f0312dbced2f", class: "search-shell__body", part: "body" }, h("slot", { key: "2c380ff4ad33ead6ca8c2611ebc024f125f0da48", name: "body" })), h("div", { key: "6923984a31c7bc23bae3ecee08d7acad14703a02", class: "search-shell__footer", part: "footer", hidden: !this.hasFooter }, h("slot", { key: "57c2eab7a3f46558ada8d1aa70d64f434bb8cdd6", name: "footer", ref: (el) => this.footerSlot = el, onSlotchange: this.syncSlots }))));
36
36
  }
37
37
  };
38
38
  UISearchShell.style = uiSearchShellCss();
@@ -7,7 +7,7 @@ import {
7
7
  getElement,
8
8
  h,
9
9
  registerInstance
10
- } from "./chunk-IMHSPETJ.js";
10
+ } from "./chunk-XRJRF3MM.js";
11
11
 
12
12
  // dist/esm/ui-select.entry.js
13
13
  var uiSelectCss = () => `:host{display:inline-flex;min-inline-size:0;color:var(--ui-text-primary)}::slotted(select){width:100%;appearance:none;min-block-size:var(--ui-control-min-block-size, 2.75rem);border:1px solid var(--ui-control-border, var(--ui-border-default));border-radius:var(--ui-radius-2);background-color:var(--ui-control-surface, var(--ui-surface-default));color:inherit;font:inherit;line-height:var(--ui-line-height-md);padding-block:var(--ui-select-padding-block, var(--ui-space-2));padding-inline-start:var(--ui-select-padding-inline-start, var(--ui-space-3));padding-inline-end:var(--ui-select-padding-inline-end, calc(var(--ui-space-6) + var(--ui-space-3)));margin:0;background-image:linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);background-position:calc(100% - 1rem) calc(50% - 2px), calc(100% - 0.7rem) calc(50% - 2px);background-size:0.35rem 0.35rem, 0.35rem 0.35rem;background-repeat:no-repeat;transition:border-color var(--ui-motion-fast) var(--ui-motion-ease), box-shadow var(--ui-motion-fast) var(--ui-motion-ease), background-color var(--ui-motion-fast) var(--ui-motion-ease)}::slotted(select:hover:not(:focus):not(:disabled)){border-color:var(--ui-control-border-hover, var(--ui-border-strong))}::slotted(select:focus){border-color:var(--ui-control-focus, var(--ui-focus-ring));box-shadow:0 0 0 3px var(--ui-control-focus-halo, var(--ui-accent-soft))}:host([data-invalid='true'])::slotted(select),::slotted(select[aria-invalid='true']){border-color:var(--ui-accent-active)}::slotted(select:disabled){background-color:var(--ui-control-surface-disabled, var(--ui-surface-muted));color:var(--ui-text-muted);cursor:not-allowed}::slotted(select:focus-visible){outline:2px solid var(--ui-focus-ring);outline-offset:2px}::slotted(select[multiple]),::slotted(select[size]:not([size='1'])){background-image:none;padding-inline-end:var(--ui-select-padding-inline-start, var(--ui-space-3))}`;
@@ -86,7 +86,7 @@ var UISelect = class {
86
86
  });
87
87
  };
88
88
  render() {
89
- return h(Host, { key: "9a83a040bbad98355999c8099a78c6eba3ffc995", "data-invalid": this.invalid ? "" : void 0 }, h("slot", { key: "4a70aa44651132899e283e45c32213cf3f00be24", ref: (el) => this.slotRef = el }));
89
+ return h(Host, { key: "74cbe4a76a23af415c202c61951ad513b0ed6cb8", "data-invalid": this.invalid ? "" : void 0 }, h("slot", { key: "e86eb0cfb0d379cb3f8b2ea5ce3c69639d0cdda4", ref: (el) => this.slotRef = el }));
90
90
  }
91
91
  static get watchers() {
92
92
  return {