@threadlabs/looma 0.1.23 → 0.1.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.
Files changed (287) hide show
  1. package/dist/chunk-HNFCGIBP.js +8 -0
  2. package/dist/{chunk-GDMQKT5F.js → chunk-IMHSPETJ.js} +32 -30
  3. package/dist/chunk-NB6DBRXQ.js +323 -0
  4. package/dist/cjs/controlled-state-BFya8rAX.js +9 -0
  5. package/dist/cjs/icons-BAdjrnhS.js +680 -0
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/cjs/looma.cjs.js +1 -1
  8. package/dist/cjs/ui-affordance-scope.cjs.entry.js +1 -1
  9. package/dist/cjs/ui-avatar-group.cjs.entry.js +9 -17
  10. package/dist/cjs/ui-avatar.cjs.entry.js +2 -2
  11. package/dist/cjs/ui-badge.cjs.entry.js +2 -2
  12. package/dist/cjs/ui-button.cjs.entry.js +1 -1
  13. package/dist/cjs/ui-callout.cjs.entry.js +27 -0
  14. package/dist/cjs/ui-checkbox.cjs.entry.js +13 -7
  15. package/dist/cjs/ui-chip.cjs.entry.js +19 -0
  16. package/dist/cjs/ui-combobox.cjs.entry.js +3 -3
  17. package/dist/cjs/ui-context-menu.cjs.entry.js +1 -1
  18. package/dist/cjs/ui-dialog.cjs.entry.js +44 -8
  19. package/dist/cjs/ui-disclosure.cjs.entry.js +9 -6
  20. package/dist/cjs/ui-floating-action-button.cjs.entry.js +1 -1
  21. package/dist/cjs/ui-form-field.cjs.entry.js +59 -4
  22. package/dist/cjs/ui-icon-button.cjs.entry.js +1 -1
  23. package/dist/cjs/ui-input.cjs.entry.js +1 -1
  24. package/dist/cjs/ui-menu-item.cjs.entry.js +2 -2
  25. package/dist/cjs/ui-menu.cjs.entry.js +14 -9
  26. package/dist/cjs/ui-popover.cjs.entry.js +10 -7
  27. package/dist/cjs/ui-radio-group.cjs.entry.js +1 -1
  28. package/dist/cjs/ui-radio.cjs.entry.js +16 -7
  29. package/dist/cjs/ui-search-result-row.cjs.entry.js +1 -1
  30. package/dist/cjs/ui-search-shell.cjs.entry.js +1 -1
  31. package/dist/cjs/ui-select.cjs.entry.js +1 -1
  32. package/dist/cjs/ui-switch.cjs.entry.js +19 -10
  33. package/dist/cjs/ui-tabs.cjs.entry.js +10 -9
  34. package/dist/cjs/ui-textarea.cjs.entry.js +1 -1
  35. package/dist/cjs/ui-toast-region.cjs.entry.js +30 -19
  36. package/dist/cjs/ui-tooltip.cjs.entry.js +12 -8
  37. package/dist/cjs/ui-top-bar.cjs.entry.js +1 -1
  38. package/dist/cjs/ui-tree-item.cjs.entry.js +54 -617
  39. package/dist/cjs/ui-tree.cjs.entry.js +123 -11
  40. package/dist/collection/collection-manifest.json +2 -0
  41. package/dist/collection/components/ui-affordance-scope/ui-affordance-scope.js +1 -1
  42. package/dist/collection/components/ui-avatar/ui-avatar.css +4 -4
  43. package/dist/collection/components/ui-avatar/ui-avatar.js +1 -1
  44. package/dist/collection/components/ui-avatar-group/ui-avatar-group.css +2 -2
  45. package/dist/collection/components/ui-avatar-group/ui-avatar-group.js +8 -16
  46. package/dist/collection/components/ui-badge/ui-badge.css +64 -48
  47. package/dist/collection/components/ui-badge/ui-badge.js +1 -1
  48. package/dist/collection/components/ui-button/ui-button.js +1 -1
  49. package/dist/collection/components/ui-callout/ui-callout.css +74 -0
  50. package/dist/collection/components/ui-callout/ui-callout.js +59 -0
  51. package/dist/collection/components/ui-checkbox/ui-checkbox.js +16 -11
  52. package/dist/collection/components/ui-chip/ui-chip.css +43 -0
  53. package/dist/collection/components/ui-chip/ui-chip.js +45 -0
  54. package/dist/collection/components/ui-combobox/ui-combobox.js +3 -3
  55. package/dist/collection/components/ui-context-menu/ui-context-menu.js +1 -1
  56. package/dist/collection/components/ui-dialog/ui-dialog.js +49 -13
  57. package/dist/collection/components/ui-disclosure/ui-disclosure.js +12 -10
  58. package/dist/collection/components/ui-floating-action-button/ui-floating-action-button.js +1 -1
  59. package/dist/collection/components/ui-form-field/ui-form-field.js +59 -4
  60. package/dist/collection/components/ui-icon-button/ui-icon-button.js +1 -1
  61. package/dist/collection/components/ui-input/ui-input.js +1 -1
  62. package/dist/collection/components/ui-menu/ui-menu.css +12 -23
  63. package/dist/collection/components/ui-menu/ui-menu.js +16 -12
  64. package/dist/collection/components/ui-menu-item/ui-menu-item.css +9 -3
  65. package/dist/collection/components/ui-menu-item/ui-menu-item.js +1 -1
  66. package/dist/collection/components/ui-popover/ui-popover.css +14 -5
  67. package/dist/collection/components/ui-popover/ui-popover.js +12 -10
  68. package/dist/collection/components/ui-radio/ui-radio.js +24 -11
  69. package/dist/collection/components/ui-radio-group/ui-radio-group.js +1 -1
  70. package/dist/collection/components/ui-search-result-row/ui-search-result-row.js +1 -1
  71. package/dist/collection/components/ui-search-shell/ui-search-shell.js +1 -1
  72. package/dist/collection/components/ui-select/ui-select.js +1 -1
  73. package/dist/collection/components/ui-switch/ui-switch.js +22 -14
  74. package/dist/collection/components/ui-tabs/ui-tabs.js +13 -13
  75. package/dist/collection/components/ui-textarea/ui-textarea.js +1 -1
  76. package/dist/collection/components/ui-toast-region/ui-toast-region.js +30 -19
  77. package/dist/collection/components/ui-tooltip/ui-tooltip.css +16 -7
  78. package/dist/collection/components/ui-tooltip/ui-tooltip.js +14 -11
  79. package/dist/collection/components/ui-top-bar/ui-top-bar.js +1 -1
  80. package/dist/collection/components/ui-tree/ui-tree.css +2 -1
  81. package/dist/collection/components/ui-tree/ui-tree.js +122 -10
  82. package/dist/collection/components/ui-tree-item/ui-tree-item.js +61 -44
  83. package/dist/collection/icons.js +6 -1
  84. package/dist/collection/utils/controlled-state.js +4 -0
  85. package/dist/components/index.d.ts +4 -0
  86. package/dist/components/index.js +1 -1
  87. package/dist/components/p-Bk55QiUK.js +1 -0
  88. package/dist/components/p-BnGhGgTH.js +1 -0
  89. package/dist/components/p-CoFximGM.js +13 -0
  90. package/dist/components/p-DIGcRYAW.js +1 -0
  91. package/dist/components/ui-affordance-scope.js +1 -1
  92. package/dist/components/ui-avatar-group.js +1 -1
  93. package/dist/components/ui-avatar.js +1 -1
  94. package/dist/components/ui-badge.js +1 -1
  95. package/dist/components/ui-button.js +1 -1
  96. package/dist/components/ui-callout.d.ts +11 -0
  97. package/dist/components/ui-callout.js +1 -0
  98. package/dist/components/ui-checkbox.js +1 -1
  99. package/dist/components/ui-chip.d.ts +11 -0
  100. package/dist/components/ui-chip.js +1 -0
  101. package/dist/components/ui-combobox.js +1 -1
  102. package/dist/components/ui-context-menu.js +1 -1
  103. package/dist/components/ui-dialog.js +1 -1
  104. package/dist/components/ui-disclosure.js +1 -1
  105. package/dist/components/ui-floating-action-button.js +1 -1
  106. package/dist/components/ui-form-field.js +1 -1
  107. package/dist/components/ui-icon-button.js +1 -1
  108. package/dist/components/ui-input.js +1 -1
  109. package/dist/components/ui-menu-item.js +1 -1
  110. package/dist/components/ui-menu.js +1 -1
  111. package/dist/components/ui-popover.js +1 -1
  112. package/dist/components/ui-radio-group.js +1 -1
  113. package/dist/components/ui-radio.js +1 -1
  114. package/dist/components/ui-search-result-row.js +1 -1
  115. package/dist/components/ui-search-shell.js +1 -1
  116. package/dist/components/ui-select.js +1 -1
  117. package/dist/components/ui-switch.js +1 -1
  118. package/dist/components/ui-tabs.js +1 -1
  119. package/dist/components/ui-textarea.js +1 -1
  120. package/dist/components/ui-toast-region.js +1 -1
  121. package/dist/components/ui-tooltip.js +1 -1
  122. package/dist/components/ui-top-bar.js +1 -1
  123. package/dist/components/ui-tree-item.js +1 -13
  124. package/dist/components/ui-tree.js +1 -1
  125. package/dist/esm/controlled-state-BnGhGgTH.js +6 -0
  126. package/dist/esm/icons-CoFximGM.js +678 -0
  127. package/dist/esm/loader.js +1 -1
  128. package/dist/esm/looma.js +1 -1
  129. package/dist/esm/ui-affordance-scope.entry.js +1 -1
  130. package/dist/esm/ui-avatar-group.entry.js +9 -17
  131. package/dist/esm/ui-avatar.entry.js +2 -2
  132. package/dist/esm/ui-badge.entry.js +2 -2
  133. package/dist/esm/ui-button.entry.js +1 -1
  134. package/dist/esm/ui-callout.entry.js +25 -0
  135. package/dist/esm/ui-checkbox.entry.js +13 -7
  136. package/dist/esm/ui-chip.entry.js +17 -0
  137. package/dist/esm/ui-combobox.entry.js +3 -3
  138. package/dist/esm/ui-context-menu.entry.js +1 -1
  139. package/dist/esm/ui-dialog.entry.js +44 -8
  140. package/dist/esm/ui-disclosure.entry.js +9 -6
  141. package/dist/esm/ui-floating-action-button.entry.js +1 -1
  142. package/dist/esm/ui-form-field.entry.js +59 -4
  143. package/dist/esm/ui-icon-button.entry.js +1 -1
  144. package/dist/esm/ui-input.entry.js +1 -1
  145. package/dist/esm/ui-menu-item.entry.js +2 -2
  146. package/dist/esm/ui-menu.entry.js +14 -9
  147. package/dist/esm/ui-popover.entry.js +10 -7
  148. package/dist/esm/ui-radio-group.entry.js +1 -1
  149. package/dist/esm/ui-radio.entry.js +16 -7
  150. package/dist/esm/ui-search-result-row.entry.js +1 -1
  151. package/dist/esm/ui-search-shell.entry.js +1 -1
  152. package/dist/esm/ui-select.entry.js +1 -1
  153. package/dist/esm/ui-switch.entry.js +19 -10
  154. package/dist/esm/ui-tabs.entry.js +10 -9
  155. package/dist/esm/ui-textarea.entry.js +1 -1
  156. package/dist/esm/ui-toast-region.entry.js +30 -19
  157. package/dist/esm/ui-tooltip.entry.js +12 -8
  158. package/dist/esm/ui-top-bar.entry.js +1 -1
  159. package/dist/esm/ui-tree-item.entry.js +54 -617
  160. package/dist/esm/ui-tree.entry.js +123 -11
  161. package/dist/index.cjs +1224 -842
  162. package/dist/index.d.cts +5 -0
  163. package/dist/index.d.ts +5 -0
  164. package/dist/index.js +12 -2
  165. package/dist/looma/looma.esm.js +1 -1
  166. package/dist/looma/p-03f44c45.entry.js +1 -0
  167. package/dist/looma/p-08f80207.entry.js +1 -0
  168. package/dist/looma/{p-f74e5546.entry.js → p-13f8195a.entry.js} +1 -1
  169. package/dist/looma/{p-5a87b59d.entry.js → p-25e18ad6.entry.js} +1 -1
  170. package/dist/looma/p-2c03fa73.entry.js +1 -0
  171. package/dist/looma/{p-ed368426.entry.js → p-314d5c7c.entry.js} +1 -1
  172. package/dist/looma/{p-5da09f47.entry.js → p-3ef2a21b.entry.js} +1 -1
  173. package/dist/looma/{p-f0487ff3.entry.js → p-5a900d89.entry.js} +1 -1
  174. package/dist/looma/p-5fdcee1d.entry.js +1 -0
  175. package/dist/looma/{p-13347631.entry.js → p-672e3d16.entry.js} +1 -1
  176. package/dist/looma/{p-582973b5.entry.js → p-68430534.entry.js} +1 -1
  177. package/dist/looma/{p-add36e74.entry.js → p-72338f53.entry.js} +1 -1
  178. package/dist/looma/{p-a90d2821.entry.js → p-7ab661ec.entry.js} +1 -1
  179. package/dist/looma/p-7c4a225f.entry.js +1 -0
  180. package/dist/looma/p-82f2fa3d.entry.js +1 -0
  181. package/dist/looma/p-839faf55.entry.js +1 -0
  182. package/dist/looma/{p-7e0bb7f6.entry.js → p-8e254bc4.entry.js} +1 -1
  183. package/dist/looma/p-8e6b1001.entry.js +1 -0
  184. package/dist/looma/p-920656cf.entry.js +1 -0
  185. package/dist/looma/{p-40fe7fee.entry.js → p-97e8cb0e.entry.js} +1 -1
  186. package/dist/looma/p-9d2662ca.entry.js +1 -0
  187. package/dist/looma/p-9e1c4020.entry.js +1 -0
  188. package/dist/looma/p-BnGhGgTH.js +1 -0
  189. package/dist/looma/p-CoFximGM.js +13 -0
  190. package/dist/looma/{p-8b8840b8.entry.js → p-a63e2561.entry.js} +1 -1
  191. package/dist/looma/p-add67e4c.entry.js +1 -0
  192. package/dist/looma/p-b63f6d4f.entry.js +1 -0
  193. package/dist/looma/p-bd00d4e8.entry.js +1 -0
  194. package/dist/looma/p-cc915913.entry.js +1 -0
  195. package/dist/looma/p-cfba8f7c.entry.js +1 -0
  196. package/dist/looma/p-d56571a2.entry.js +1 -0
  197. package/dist/looma/{p-69a5557b.entry.js → p-e0f241ab.entry.js} +1 -1
  198. package/dist/looma/p-f1750fd7.entry.js +1 -0
  199. package/dist/looma/p-fd1e4d22.entry.js +1 -0
  200. package/dist/types/components/ui-avatar-group/ui-avatar-group.d.ts +1 -2
  201. package/dist/types/components/ui-callout/ui-callout.d.ts +6 -0
  202. package/dist/types/components/ui-checkbox/ui-checkbox.d.ts +2 -1
  203. package/dist/types/components/ui-chip/ui-chip.d.ts +6 -0
  204. package/dist/types/components/ui-dialog/ui-dialog.d.ts +7 -1
  205. package/dist/types/components/ui-disclosure/ui-disclosure.d.ts +2 -1
  206. package/dist/types/components/ui-form-field/ui-form-field.d.ts +8 -0
  207. package/dist/types/components/ui-menu/ui-menu.d.ts +2 -1
  208. package/dist/types/components/ui-popover/ui-popover.d.ts +2 -1
  209. package/dist/types/components/ui-radio/ui-radio.d.ts +4 -1
  210. package/dist/types/components/ui-switch/ui-switch.d.ts +2 -1
  211. package/dist/types/components/ui-tabs/ui-tabs.d.ts +2 -1
  212. package/dist/types/components/ui-toast-region/ui-toast-region.d.ts +3 -1
  213. package/dist/types/components/ui-tooltip/ui-tooltip.d.ts +2 -1
  214. package/dist/types/components/ui-tree/ui-tree.d.ts +12 -0
  215. package/dist/types/components/ui-tree-item/ui-tree-item.d.ts +11 -7
  216. package/dist/types/components.d.ts +110 -47
  217. package/dist/types/icons.d.ts +5 -0
  218. package/dist/types/utils/controlled-state.d.ts +4 -0
  219. package/dist/{ui-affordance-scope.entry-VO4C2MZX.js → ui-affordance-scope.entry-3TUZ6GLW.js} +2 -2
  220. package/dist/ui-avatar-group.entry-XGJKN25W.js +51 -0
  221. package/dist/{ui-avatar.entry-T6FU6ZYM.js → ui-avatar.entry-SN3G44HW.js} +3 -3
  222. package/dist/ui-badge.entry-B6WDCWJX.js +22 -0
  223. package/dist/{ui-button.entry-7UXMUGHN.js → ui-button.entry-AZYUELLV.js} +2 -2
  224. package/dist/ui-callout.entry-QRPWRMPC.js +32 -0
  225. package/dist/{ui-checkbox.entry-DMZJB3RE.js → ui-checkbox.entry-OB6GFC4M.js} +17 -8
  226. package/dist/ui-chip.entry-XSNPJXX3.js +22 -0
  227. package/dist/{ui-combobox.entry-ZCTPXEES.js → ui-combobox.entry-IIMMUJF7.js} +5 -5
  228. package/dist/{ui-context-menu.entry-2WMCBGCP.js → ui-context-menu.entry-AIULIE5Y.js} +5 -5
  229. package/dist/{ui-dialog.entry-WO23XOSW.js → ui-dialog.entry-QSYWYHLY.js} +50 -12
  230. package/dist/{ui-disclosure.entry-USX7OUEW.js → ui-disclosure.entry-3BJEYU3U.js} +13 -7
  231. package/dist/{ui-floating-action-button.entry-MXDIN7MV.js → ui-floating-action-button.entry-JEVNV6FI.js} +2 -2
  232. package/dist/ui-form-field.entry-PKSY7UU4.js +120 -0
  233. package/dist/{ui-icon-button.entry-MJUNXHBU.js → ui-icon-button.entry-TPX7BE7R.js} +2 -2
  234. package/dist/{ui-input.entry-AWG63YIG.js → ui-input.entry-6NCLNW4E.js} +2 -2
  235. package/dist/ui-menu-item.entry-KA2K3PKV.js +22 -0
  236. package/dist/{ui-menu.entry-IT3GW5TL.js → ui-menu.entry-7GDO5L2T.js} +22 -14
  237. package/dist/{ui-popover.entry-ZQQB4N6E.js → ui-popover.entry-FR6YRNK6.js} +17 -11
  238. package/dist/{ui-radio-group.entry-V7PCTS7I.js → ui-radio-group.entry-7QHXQSNO.js} +2 -2
  239. package/dist/{ui-radio.entry-JYH6TQBI.js → ui-radio.entry-YNMXKLDW.js} +20 -8
  240. package/dist/{ui-search-result-row.entry-JBNYXXUN.js → ui-search-result-row.entry-AHVVAAIO.js} +2 -2
  241. package/dist/{ui-search-shell.entry-TEAWE76O.js → ui-search-shell.entry-CNBEAMEZ.js} +2 -2
  242. package/dist/{ui-select.entry-F3A6TE2U.js → ui-select.entry-TUY6TCTC.js} +2 -2
  243. package/dist/{ui-switch.entry-MJIICMP2.js → ui-switch.entry-26LFI7B5.js} +23 -11
  244. package/dist/{ui-tabs.entry-6REFIUHV.js → ui-tabs.entry-LXB62RJJ.js} +14 -10
  245. package/dist/{ui-textarea.entry-OJTXCED7.js → ui-textarea.entry-JYGMGPX2.js} +2 -2
  246. package/dist/{ui-toast-region.entry-NOFXLKPS.js → ui-toast-region.entry-TOW4KZLZ.js} +32 -23
  247. package/dist/{ui-tooltip.entry-COWTWVHX.js → ui-tooltip.entry-SKFNYXPH.js} +19 -12
  248. package/dist/{ui-top-bar.entry-PIAWXJNV.js → ui-top-bar.entry-S3YP52EA.js} +2 -2
  249. package/dist/ui-tree-item.entry-LWYIPYLC.js +145 -0
  250. package/dist/{ui-tree.entry-XYI3ZFAZ.js → ui-tree.entry-LXKUQFRU.js} +114 -12
  251. package/editor/{chunk-QCOYOVQL.js → chunk-B5WVJOPV.js} +113 -97
  252. package/editor/extensions/index.d.ts +14 -6
  253. package/editor/extensions/index.js +1 -1
  254. package/editor/index.js +1 -1
  255. package/editor.css +37 -20
  256. package/package.json +1 -1
  257. package/styles.css +10 -0
  258. package/tokens.css +3 -0
  259. package/vue/{chunk-JLW23USW.js → chunk-D4AJULDE.js} +28 -16
  260. package/vue/editor/index.d.ts +5 -15
  261. package/vue/editor/index.js +1 -1
  262. package/vue/index.d.ts +325 -115
  263. package/vue/index.js +5 -1
  264. package/dist/components/p-CaietZcq.js +0 -1
  265. package/dist/components/p-DHd18bK7.js +0 -1
  266. package/dist/looma/p-14c081cf.entry.js +0 -1
  267. package/dist/looma/p-25366205.entry.js +0 -1
  268. package/dist/looma/p-2e3aa869.entry.js +0 -1
  269. package/dist/looma/p-446cda76.entry.js +0 -1
  270. package/dist/looma/p-4fc1b005.entry.js +0 -13
  271. package/dist/looma/p-6a8a4736.entry.js +0 -1
  272. package/dist/looma/p-6bf4038b.entry.js +0 -1
  273. package/dist/looma/p-8204fee6.entry.js +0 -1
  274. package/dist/looma/p-8238e0dc.entry.js +0 -1
  275. package/dist/looma/p-99d88efb.entry.js +0 -1
  276. package/dist/looma/p-a27669b1.entry.js +0 -1
  277. package/dist/looma/p-a6ee76b7.entry.js +0 -1
  278. package/dist/looma/p-b6398a6b.entry.js +0 -1
  279. package/dist/looma/p-d50faaff.entry.js +0 -1
  280. package/dist/looma/p-d77278ce.entry.js +0 -1
  281. package/dist/looma/p-d9ec13b7.entry.js +0 -1
  282. package/dist/looma/p-ecf8005f.entry.js +0 -1
  283. package/dist/ui-avatar-group.entry-TAXJRIIU.js +0 -59
  284. package/dist/ui-badge.entry-MZFYNBMJ.js +0 -22
  285. package/dist/ui-form-field.entry-7ZCMEHPY.js +0 -67
  286. package/dist/ui-menu-item.entry-HFTWG62N.js +0 -22
  287. package/dist/ui-tree-item.entry-BSEWNL2O.js +0 -389
@@ -5,8 +5,10 @@
5
5
  * It contains typing information for all components that exist in this project.
6
6
  */
7
7
  import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
+ import { CalloutTone } from "./components/ui-callout/ui-callout";
8
9
  import { ComboboxChange, ComboboxConfig, ComboboxOption, ComboboxValidationState } from "./field/combobox";
9
10
  import { AnchoredPlacement } from "./overlay/positioning";
11
+ export { CalloutTone } from "./components/ui-callout/ui-callout";
10
12
  export { ComboboxChange, ComboboxConfig, ComboboxOption, ComboboxValidationState } from "./field/combobox";
11
13
  export { AnchoredPlacement } from "./overlay/positioning";
12
14
  export namespace Components {
@@ -60,11 +62,20 @@ export namespace Components {
60
62
  */
61
63
  "variant": 'outline' | 'solid' | 'destructive' | 'ghost';
62
64
  }
65
+ /**
66
+ * A static semantic message with a tone-specific icon.
67
+ */
68
+ interface UiCallout {
69
+ /**
70
+ * @default 'info'
71
+ */
72
+ "tone": CalloutTone;
73
+ }
63
74
  interface UiCheckbox {
64
75
  /**
65
- * @default false
76
+ * Controlled checked state. Omit it to use defaultChecked and local interaction state.
66
77
  */
67
- "checked": boolean;
78
+ "checked"?: boolean;
68
79
  /**
69
80
  * @default false
70
81
  */
@@ -86,6 +97,16 @@ export namespace Components {
86
97
  */
87
98
  "value": string;
88
99
  }
100
+ /**
101
+ * A compact, non-interactive metadata label.
102
+ */
103
+ interface UiChip {
104
+ /**
105
+ * `tag` has a square leading edge and an angled trailing edge; `pill` is fully rounded.
106
+ * @default 'tag'
107
+ */
108
+ "appearance": 'tag' | 'pill';
109
+ }
89
110
  /**
90
111
  * A single editable field with contextual suggestions, optional help and field validation.
91
112
  */
@@ -189,9 +210,9 @@ export namespace Components {
189
210
  */
190
211
  "modal": boolean;
191
212
  /**
192
- * @default false
213
+ * Controlled open state. Omit it to use defaultOpen and local interaction state.
193
214
  */
194
- "open": boolean;
215
+ "open"?: boolean;
195
216
  }
196
217
  interface UiDisclosure {
197
218
  /**
@@ -203,9 +224,9 @@ export namespace Components {
203
224
  */
204
225
  "disabled": boolean;
205
226
  /**
206
- * @default false
227
+ * Controlled open state. Omit it to use defaultOpen and local interaction state.
207
228
  */
208
- "open": boolean;
229
+ "open"?: boolean;
209
230
  }
210
231
  interface UiFloatingActionButton {
211
232
  /**
@@ -287,9 +308,9 @@ export namespace Components {
287
308
  */
288
309
  "for"?: string;
289
310
  /**
290
- * @default false
311
+ * Controlled open state. Omit it to use defaultOpen and local interaction state.
291
312
  */
292
- "open": boolean;
313
+ "open"?: boolean;
293
314
  /**
294
315
  * Preferred placement; Looma flips and shifts when space is constrained.
295
316
  * @default 'bottom-start'
@@ -316,9 +337,9 @@ export namespace Components {
316
337
  */
317
338
  "for"?: string;
318
339
  /**
319
- * @default false
340
+ * Controlled open state. Omit it to use defaultOpen and local interaction state.
320
341
  */
321
- "open": boolean;
342
+ "open"?: boolean;
322
343
  /**
323
344
  * @default 'bottom-start'
324
345
  */
@@ -326,9 +347,9 @@ export namespace Components {
326
347
  }
327
348
  interface UiRadio {
328
349
  /**
329
- * @default false
350
+ * Controlled checked state. Omit it to use defaultChecked and local interaction state.
330
351
  */
331
- "checked": boolean;
352
+ "checked"?: boolean;
332
353
  /**
333
354
  * @default false
334
355
  */
@@ -402,9 +423,9 @@ export namespace Components {
402
423
  }
403
424
  interface UiSwitch {
404
425
  /**
405
- * @default false
426
+ * Controlled checked state. Omit it to use defaultChecked and local interaction state.
406
427
  */
407
- "checked": boolean;
428
+ "checked"?: boolean;
408
429
  /**
409
430
  * @default false
410
431
  */
@@ -432,9 +453,9 @@ export namespace Components {
432
453
  */
433
454
  "orientation": 'horizontal' | 'vertical';
434
455
  /**
435
- * @default ''
456
+ * Controlled selected tab value. Omit it to use defaultValue and local interaction state.
436
457
  */
437
- "value": string;
458
+ "value"?: string;
438
459
  }
439
460
  interface UiTextarea {
440
461
  /**
@@ -480,9 +501,9 @@ export namespace Components {
480
501
  */
481
502
  "hideDelay": number;
482
503
  /**
483
- * @default false
504
+ * Controlled open state. Omit it to use defaultOpen and local interaction state.
484
505
  */
485
- "open": boolean;
506
+ "open"?: boolean;
486
507
  /**
487
508
  * @default 'top-start'
488
509
  */
@@ -531,11 +552,6 @@ export namespace Components {
531
552
  * @default false
532
553
  */
533
554
  "defaultExpanded": boolean;
534
- /**
535
- * One-based visual and semantic nesting level.
536
- * @default 1
537
- */
538
- "depth": number;
539
555
  /**
540
556
  * @default false
541
557
  */
@@ -546,7 +562,7 @@ export namespace Components {
546
562
  */
547
563
  "dragType": string;
548
564
  /**
549
- * Application hierarchy depth used for drop constraints. Defaults to visual depth.
565
+ * Application hierarchy depth override used for drop constraints. Defaults to structural nesting.
550
566
  */
551
567
  "dropDepth"?: number;
552
568
  /**
@@ -555,10 +571,9 @@ export namespace Components {
555
571
  */
556
572
  "dropScope": string;
557
573
  /**
558
- * Initial controlled expansion value.
559
- * @default false
574
+ * Controlled expansion value. When omitted, `default-expanded` initializes uncontrolled state.
560
575
  */
561
- "expanded": boolean;
576
+ "expanded"?: boolean;
562
577
  /**
563
578
  * Stable application identifier emitted by tree interaction events.
564
579
  * @default ''
@@ -579,7 +594,7 @@ export namespace Components {
579
594
  */
580
595
  "sortable": boolean;
581
596
  /**
582
- * Deepest descendant distance, used with the tree's max-depth drop constraint.
597
+ * Virtualized-tree descendant-depth override for the tree's max-depth drop constraint.
583
598
  */
584
599
  "subtreeDepth"?: number;
585
600
  }
@@ -623,12 +638,30 @@ declare global {
623
638
  prototype: HTMLUiButtonElement;
624
639
  new (): HTMLUiButtonElement;
625
640
  };
641
+ /**
642
+ * A static semantic message with a tone-specific icon.
643
+ */
644
+ interface HTMLUiCalloutElement extends Components.UiCallout, HTMLStencilElement {
645
+ }
646
+ var HTMLUiCalloutElement: {
647
+ prototype: HTMLUiCalloutElement;
648
+ new (): HTMLUiCalloutElement;
649
+ };
626
650
  interface HTMLUiCheckboxElement extends Components.UiCheckbox, HTMLStencilElement {
627
651
  }
628
652
  var HTMLUiCheckboxElement: {
629
653
  prototype: HTMLUiCheckboxElement;
630
654
  new (): HTMLUiCheckboxElement;
631
655
  };
656
+ /**
657
+ * A compact, non-interactive metadata label.
658
+ */
659
+ interface HTMLUiChipElement extends Components.UiChip, HTMLStencilElement {
660
+ }
661
+ var HTMLUiChipElement: {
662
+ prototype: HTMLUiChipElement;
663
+ new (): HTMLUiChipElement;
664
+ };
632
665
  interface HTMLUiComboboxElementEventMap {
633
666
  "query-change": { query: string; display: string; trigger: 'keyboard' | 'pointer' | 'programmatic' };
634
667
  "value-change": ComboboxChange;
@@ -811,7 +844,9 @@ declare global {
811
844
  "ui-avatar-group": HTMLUiAvatarGroupElement;
812
845
  "ui-badge": HTMLUiBadgeElement;
813
846
  "ui-button": HTMLUiButtonElement;
847
+ "ui-callout": HTMLUiCalloutElement;
814
848
  "ui-checkbox": HTMLUiCheckboxElement;
849
+ "ui-chip": HTMLUiChipElement;
815
850
  "ui-combobox": HTMLUiComboboxElement;
816
851
  "ui-context-menu": HTMLUiContextMenuElement;
817
852
  "ui-dialog": HTMLUiDialogElement;
@@ -889,9 +924,18 @@ declare namespace LocalJSX {
889
924
  */
890
925
  "variant"?: 'outline' | 'solid' | 'destructive' | 'ghost';
891
926
  }
927
+ /**
928
+ * A static semantic message with a tone-specific icon.
929
+ */
930
+ interface UiCallout {
931
+ /**
932
+ * @default 'info'
933
+ */
934
+ "tone"?: CalloutTone;
935
+ }
892
936
  interface UiCheckbox {
893
937
  /**
894
- * @default false
938
+ * Controlled checked state. Omit it to use defaultChecked and local interaction state.
895
939
  */
896
940
  "checked"?: boolean;
897
941
  /**
@@ -915,6 +959,16 @@ declare namespace LocalJSX {
915
959
  */
916
960
  "value"?: string;
917
961
  }
962
+ /**
963
+ * A compact, non-interactive metadata label.
964
+ */
965
+ interface UiChip {
966
+ /**
967
+ * `tag` has a square leading edge and an angled trailing edge; `pill` is fully rounded.
968
+ * @default 'tag'
969
+ */
970
+ "appearance"?: 'tag' | 'pill';
971
+ }
918
972
  /**
919
973
  * A single editable field with contextual suggestions, optional help and field validation.
920
974
  */
@@ -1024,7 +1078,7 @@ declare namespace LocalJSX {
1024
1078
  */
1025
1079
  "modal"?: boolean;
1026
1080
  /**
1027
- * @default false
1081
+ * Controlled open state. Omit it to use defaultOpen and local interaction state.
1028
1082
  */
1029
1083
  "open"?: boolean;
1030
1084
  }
@@ -1038,7 +1092,7 @@ declare namespace LocalJSX {
1038
1092
  */
1039
1093
  "disabled"?: boolean;
1040
1094
  /**
1041
- * @default false
1095
+ * Controlled open state. Omit it to use defaultOpen and local interaction state.
1042
1096
  */
1043
1097
  "open"?: boolean;
1044
1098
  }
@@ -1122,7 +1176,7 @@ declare namespace LocalJSX {
1122
1176
  */
1123
1177
  "for"?: string;
1124
1178
  /**
1125
- * @default false
1179
+ * Controlled open state. Omit it to use defaultOpen and local interaction state.
1126
1180
  */
1127
1181
  "open"?: boolean;
1128
1182
  /**
@@ -1151,7 +1205,7 @@ declare namespace LocalJSX {
1151
1205
  */
1152
1206
  "for"?: string;
1153
1207
  /**
1154
- * @default false
1208
+ * Controlled open state. Omit it to use defaultOpen and local interaction state.
1155
1209
  */
1156
1210
  "open"?: boolean;
1157
1211
  /**
@@ -1161,7 +1215,7 @@ declare namespace LocalJSX {
1161
1215
  }
1162
1216
  interface UiRadio {
1163
1217
  /**
1164
- * @default false
1218
+ * Controlled checked state. Omit it to use defaultChecked and local interaction state.
1165
1219
  */
1166
1220
  "checked"?: boolean;
1167
1221
  /**
@@ -1237,7 +1291,7 @@ declare namespace LocalJSX {
1237
1291
  }
1238
1292
  interface UiSwitch {
1239
1293
  /**
1240
- * @default false
1294
+ * Controlled checked state. Omit it to use defaultChecked and local interaction state.
1241
1295
  */
1242
1296
  "checked"?: boolean;
1243
1297
  /**
@@ -1267,7 +1321,7 @@ declare namespace LocalJSX {
1267
1321
  */
1268
1322
  "orientation"?: 'horizontal' | 'vertical';
1269
1323
  /**
1270
- * @default ''
1324
+ * Controlled selected tab value. Omit it to use defaultValue and local interaction state.
1271
1325
  */
1272
1326
  "value"?: string;
1273
1327
  }
@@ -1317,7 +1371,7 @@ declare namespace LocalJSX {
1317
1371
  "onClose"?: (event: UiTooltipCustomEvent<{ open: boolean; reason: string; trigger: string }>) => void;
1318
1372
  "onOpen"?: (event: UiTooltipCustomEvent<{ open: boolean; reason: string; trigger: string }>) => void;
1319
1373
  /**
1320
- * @default false
1374
+ * Controlled open state. Omit it to use defaultOpen and local interaction state.
1321
1375
  */
1322
1376
  "open"?: boolean;
1323
1377
  /**
@@ -1368,11 +1422,6 @@ declare namespace LocalJSX {
1368
1422
  * @default false
1369
1423
  */
1370
1424
  "defaultExpanded"?: boolean;
1371
- /**
1372
- * One-based visual and semantic nesting level.
1373
- * @default 1
1374
- */
1375
- "depth"?: number;
1376
1425
  /**
1377
1426
  * @default false
1378
1427
  */
@@ -1383,7 +1432,7 @@ declare namespace LocalJSX {
1383
1432
  */
1384
1433
  "dragType"?: string;
1385
1434
  /**
1386
- * Application hierarchy depth used for drop constraints. Defaults to visual depth.
1435
+ * Application hierarchy depth override used for drop constraints. Defaults to structural nesting.
1387
1436
  */
1388
1437
  "dropDepth"?: number;
1389
1438
  /**
@@ -1392,8 +1441,7 @@ declare namespace LocalJSX {
1392
1441
  */
1393
1442
  "dropScope"?: string;
1394
1443
  /**
1395
- * Initial controlled expansion value.
1396
- * @default false
1444
+ * Controlled expansion value. When omitted, `default-expanded` initializes uncontrolled state.
1397
1445
  */
1398
1446
  "expanded"?: boolean;
1399
1447
  /**
@@ -1416,7 +1464,7 @@ declare namespace LocalJSX {
1416
1464
  */
1417
1465
  "sortable"?: boolean;
1418
1466
  /**
1419
- * Deepest descendant distance, used with the tree's max-depth drop constraint.
1467
+ * Virtualized-tree descendant-depth override for the tree's max-depth drop constraint.
1420
1468
  */
1421
1469
  "subtreeDepth"?: number;
1422
1470
  }
@@ -1443,6 +1491,9 @@ declare namespace LocalJSX {
1443
1491
  "size": string;
1444
1492
  "disabled": boolean;
1445
1493
  }
1494
+ interface UiCalloutAttributes {
1495
+ "tone": CalloutTone;
1496
+ }
1446
1497
  interface UiCheckboxAttributes {
1447
1498
  "checked": boolean;
1448
1499
  "defaultChecked": boolean;
@@ -1451,6 +1502,9 @@ declare namespace LocalJSX {
1451
1502
  "required": boolean;
1452
1503
  "value": string;
1453
1504
  }
1505
+ interface UiChipAttributes {
1506
+ "appearance": 'tag' | 'pill';
1507
+ }
1454
1508
  interface UiComboboxAttributes {
1455
1509
  "label": string;
1456
1510
  "placeholder": string;
@@ -1590,7 +1644,6 @@ declare namespace LocalJSX {
1590
1644
  interface UiTreeItemAttributes {
1591
1645
  "itemId": string;
1592
1646
  "label": string;
1593
- "depth": number;
1594
1647
  "dropDepth": number;
1595
1648
  "subtreeDepth": number;
1596
1649
  "container": boolean;
@@ -1610,7 +1663,9 @@ declare namespace LocalJSX {
1610
1663
  "ui-avatar-group": Omit<UiAvatarGroup, keyof UiAvatarGroupAttributes> & { [K in keyof UiAvatarGroup & keyof UiAvatarGroupAttributes]?: UiAvatarGroup[K] } & { [K in keyof UiAvatarGroup & keyof UiAvatarGroupAttributes as `attr:${K}`]?: UiAvatarGroupAttributes[K] } & { [K in keyof UiAvatarGroup & keyof UiAvatarGroupAttributes as `prop:${K}`]?: UiAvatarGroup[K] };
1611
1664
  "ui-badge": Omit<UiBadge, keyof UiBadgeAttributes> & { [K in keyof UiBadge & keyof UiBadgeAttributes]?: UiBadge[K] } & { [K in keyof UiBadge & keyof UiBadgeAttributes as `attr:${K}`]?: UiBadgeAttributes[K] } & { [K in keyof UiBadge & keyof UiBadgeAttributes as `prop:${K}`]?: UiBadge[K] };
1612
1665
  "ui-button": Omit<UiButton, keyof UiButtonAttributes> & { [K in keyof UiButton & keyof UiButtonAttributes]?: UiButton[K] } & { [K in keyof UiButton & keyof UiButtonAttributes as `attr:${K}`]?: UiButtonAttributes[K] } & { [K in keyof UiButton & keyof UiButtonAttributes as `prop:${K}`]?: UiButton[K] };
1666
+ "ui-callout": Omit<UiCallout, keyof UiCalloutAttributes> & { [K in keyof UiCallout & keyof UiCalloutAttributes]?: UiCallout[K] } & { [K in keyof UiCallout & keyof UiCalloutAttributes as `attr:${K}`]?: UiCalloutAttributes[K] } & { [K in keyof UiCallout & keyof UiCalloutAttributes as `prop:${K}`]?: UiCallout[K] };
1613
1667
  "ui-checkbox": Omit<UiCheckbox, keyof UiCheckboxAttributes> & { [K in keyof UiCheckbox & keyof UiCheckboxAttributes]?: UiCheckbox[K] } & { [K in keyof UiCheckbox & keyof UiCheckboxAttributes as `attr:${K}`]?: UiCheckboxAttributes[K] } & { [K in keyof UiCheckbox & keyof UiCheckboxAttributes as `prop:${K}`]?: UiCheckbox[K] };
1668
+ "ui-chip": Omit<UiChip, keyof UiChipAttributes> & { [K in keyof UiChip & keyof UiChipAttributes]?: UiChip[K] } & { [K in keyof UiChip & keyof UiChipAttributes as `attr:${K}`]?: UiChipAttributes[K] } & { [K in keyof UiChip & keyof UiChipAttributes as `prop:${K}`]?: UiChip[K] };
1614
1669
  "ui-combobox": Omit<UiCombobox, keyof UiComboboxAttributes> & { [K in keyof UiCombobox & keyof UiComboboxAttributes]?: UiCombobox[K] } & { [K in keyof UiCombobox & keyof UiComboboxAttributes as `attr:${K}`]?: UiComboboxAttributes[K] } & { [K in keyof UiCombobox & keyof UiComboboxAttributes as `prop:${K}`]?: UiCombobox[K] };
1615
1670
  "ui-context-menu": Omit<UiContextMenu, keyof UiContextMenuAttributes> & { [K in keyof UiContextMenu & keyof UiContextMenuAttributes]?: UiContextMenu[K] } & { [K in keyof UiContextMenu & keyof UiContextMenuAttributes as `attr:${K}`]?: UiContextMenuAttributes[K] } & { [K in keyof UiContextMenu & keyof UiContextMenuAttributes as `prop:${K}`]?: UiContextMenu[K] };
1616
1671
  "ui-dialog": Omit<UiDialog, keyof UiDialogAttributes> & { [K in keyof UiDialog & keyof UiDialogAttributes]?: UiDialog[K] } & { [K in keyof UiDialog & keyof UiDialogAttributes as `attr:${K}`]?: UiDialogAttributes[K] } & { [K in keyof UiDialog & keyof UiDialogAttributes as `prop:${K}`]?: UiDialog[K] };
@@ -1646,7 +1701,15 @@ declare module "@stencil/core" {
1646
1701
  "ui-avatar-group": LocalJSX.IntrinsicElements["ui-avatar-group"] & JSXBase.HTMLAttributes<HTMLUiAvatarGroupElement>;
1647
1702
  "ui-badge": LocalJSX.IntrinsicElements["ui-badge"] & JSXBase.HTMLAttributes<HTMLUiBadgeElement>;
1648
1703
  "ui-button": LocalJSX.IntrinsicElements["ui-button"] & JSXBase.HTMLAttributes<HTMLUiButtonElement>;
1704
+ /**
1705
+ * A static semantic message with a tone-specific icon.
1706
+ */
1707
+ "ui-callout": LocalJSX.IntrinsicElements["ui-callout"] & JSXBase.HTMLAttributes<HTMLUiCalloutElement>;
1649
1708
  "ui-checkbox": LocalJSX.IntrinsicElements["ui-checkbox"] & JSXBase.HTMLAttributes<HTMLUiCheckboxElement>;
1709
+ /**
1710
+ * A compact, non-interactive metadata label.
1711
+ */
1712
+ "ui-chip": LocalJSX.IntrinsicElements["ui-chip"] & JSXBase.HTMLAttributes<HTMLUiChipElement>;
1650
1713
  /**
1651
1714
  * A single editable field with contextual suggestions, optional help and field validation.
1652
1715
  */
@@ -6,6 +6,8 @@ export declare const LOOMA_ICONS: {
6
6
  'align-right': IconNode;
7
7
  bold: IconNode;
8
8
  braces: IconNode;
9
+ 'circle-check': IconNode;
10
+ 'circle-x': IconNode;
9
11
  'chevron-down': IconNode;
10
12
  'chevron-left': IconNode;
11
13
  'code-xml': IconNode;
@@ -19,11 +21,13 @@ export declare const LOOMA_ICONS: {
19
21
  'heading-3': IconNode;
20
22
  highlighter: IconNode;
21
23
  image: IconNode;
24
+ info: IconNode;
22
25
  italic: IconNode;
23
26
  list: IconNode;
24
27
  'list-ordered': IconNode;
25
28
  'list-todo': IconNode;
26
29
  merge: IconNode;
30
+ 'notebook-pen': IconNode;
27
31
  minus: IconNode;
28
32
  'paint-bucket': IconNode;
29
33
  'panel-bottom': IconNode;
@@ -39,6 +43,7 @@ export declare const LOOMA_ICONS: {
39
43
  strikethrough: IconNode;
40
44
  table: IconNode;
41
45
  trash: IconNode;
46
+ 'triangle-alert': IconNode;
42
47
  underline: IconNode;
43
48
  undo: IconNode;
44
49
  };
@@ -0,0 +1,4 @@
1
+ /** A state prop is controlled only when the consumer supplies a value. */
2
+ export declare const isControlled: <T>(value: T | undefined) => value is T;
3
+ /** Defaults apply only when a corresponding controlled prop is omitted. */
4
+ export declare const controlledOrDefault: <T>(value: T | undefined, defaultValue: T) => T;
@@ -7,7 +7,7 @@ import {
7
7
  getElement,
8
8
  h,
9
9
  registerInstance
10
- } from "./chunk-GDMQKT5F.js";
10
+ } from "./chunk-IMHSPETJ.js";
11
11
 
12
12
  // dist/esm/ui-affordance-scope.entry.js
13
13
  var uiAffordanceScopeCss = () => `:host{display:contents;--ui-affordance-scope-engaged:0}:host([data-ui-interaction='engaged']){--ui-affordance-scope-engaged:1}`;
@@ -38,7 +38,7 @@ var UIAffordanceScope = class {
38
38
  this.coordinator?.refresh();
39
39
  };
40
40
  render() {
41
- return h(Host, { key: "184b0a908494d480ed23aa14b75d4f7b94e5275b" }, h("slot", { key: "570e810db588c1514c6fd85985c9bc4532993a2b", onSlotchange: this.onSlotChange }));
41
+ return h(Host, { key: "f500fa48554ed6224efd2dbe9632880bf0a15a19" }, h("slot", { key: "37c5c5b7925b260ff8f9edd411ee6c90a12a4909", onSlotchange: this.onSlotChange }));
42
42
  }
43
43
  static get watchers() {
44
44
  return {
@@ -0,0 +1,51 @@
1
+ import {
2
+ Host,
3
+ getElement,
4
+ h,
5
+ registerInstance
6
+ } from "./chunk-IMHSPETJ.js";
7
+
8
+ // dist/esm/ui-avatar-group.entry.js
9
+ var uiAvatarGroupCss = () => `:host{display:flex;align-items:center;flex-direction:row-reverse;gap:0}::slotted(*){margin-inline-end:-0.5rem;flex-shrink:0}::slotted(*:last-of-type){margin-inline-end:0}.overflow{margin-inline-end:-0.5rem;display:inline-flex;align-items:center;justify-content:center;inline-size:2.5rem;block-size:2.5rem;border-radius:999px;border:1px solid var(--ui-border-default);background:var(--ui-surface-muted);color:var(--ui-text-secondary);font:inherit;font-size:0.75rem;font-weight:600;flex-shrink:0}`;
10
+ var UIAvatarGroup = class {
11
+ constructor(hostRef) {
12
+ registerInstance(this, hostRef);
13
+ }
14
+ get host() {
15
+ return getElement(this);
16
+ }
17
+ max = 5;
18
+ label = "People";
19
+ overflowCount = 0;
20
+ syncOverflow() {
21
+ this.updateOverflow();
22
+ }
23
+ componentDidLoad() {
24
+ this.updateOverflow();
25
+ }
26
+ visibleLimit() {
27
+ return Number.isFinite(this.max) ? Math.max(0, Math.floor(this.max)) : 0;
28
+ }
29
+ updateOverflow() {
30
+ const children = Array.from(this.host.children);
31
+ const total = children.length;
32
+ const visibleLimit = this.visibleLimit();
33
+ const overflowCount = total > visibleLimit ? total - visibleLimit : 0;
34
+ if (this.overflowCount !== overflowCount)
35
+ this.overflowCount = overflowCount;
36
+ }
37
+ render() {
38
+ return h(Host, { key: "9ba6693cabc379bbbe6f5698160481f27fe02f31", role: "group", "aria-label": this.label || void 0 }, h("style", { key: "ed231fe96c16a3cdd5a66d4828664c75c6959a9e" }, `::slotted(:nth-child(n + ${this.visibleLimit() + 1})) { display: none !important; }`), h("slot", { key: "463005a7f3c498c80c768151ab32c873ff1abf86", onSlotchange: () => this.updateOverflow() }), this.overflowCount > 0 && h("span", { key: "dc1ba88fd97ca461e6518d223f00a93416e6d0f0", class: "overflow", role: "img", "aria-label": `${this.overflowCount} more ${this.overflowCount === 1 ? "person" : "people"}`, "data-ui-avatar-group-overflow": true }, "+", this.overflowCount));
39
+ }
40
+ static get watchers() {
41
+ return {
42
+ "max": [{
43
+ "syncOverflow": 0
44
+ }]
45
+ };
46
+ }
47
+ };
48
+ UIAvatarGroup.style = uiAvatarGroupCss();
49
+ export {
50
+ UIAvatarGroup as ui_avatar_group
51
+ };
@@ -2,7 +2,7 @@ import {
2
2
  Host,
3
3
  h,
4
4
  registerInstance
5
- } from "./chunk-GDMQKT5F.js";
5
+ } from "./chunk-IMHSPETJ.js";
6
6
 
7
7
  // dist/esm/ui-avatar.entry.js
8
8
  function toInitials(value) {
@@ -13,7 +13,7 @@ function toInitials(value) {
13
13
  return tokens[0].slice(0, 2).toUpperCase();
14
14
  return `${tokens[0][0] ?? ""}${tokens[1][0] ?? ""}`.toUpperCase();
15
15
  }
16
- var uiAvatarCss = () => `:host{display:inline-grid;place-items:center;overflow:hidden;inline-size:2.5rem;block-size:2.5rem;border-radius:999px;border:1px solid var(--ui-border-default);background:var(--ui-surface-muted);color:var(--ui-text-secondary);font:inherit;font-size:0.875rem;font-weight:600;text-transform:uppercase}.avatar{display:contents}.avatar img{grid-area:1 / 1;inline-size:100%;block-size:100%;object-fit:cover}.avatar .fallback{grid-area:1 / 1;display:inline-flex;align-items:center;justify-content:center;inline-size:100%;block-size:100%}`;
16
+ var uiAvatarCss = () => `:host{display:inline-flex}.avatar{display:inline-grid;place-items:center;overflow:hidden;inline-size:2.5rem;block-size:2.5rem;border-radius:999px;border:1px solid var(--ui-border-default);background:var(--ui-surface-muted);color:var(--ui-text-secondary);font:inherit;font-size:0.875rem;font-weight:600;text-transform:uppercase}.avatar img{grid-area:1 / 1;inline-size:100%;block-size:100%;object-fit:cover}.avatar .fallback{grid-area:1 / 1;display:inline-flex;align-items:center;justify-content:center;inline-size:100%;block-size:100%}`;
17
17
  var UIAvatar = class {
18
18
  constructor(hostRef) {
19
19
  registerInstance(this, hostRef);
@@ -35,7 +35,7 @@ var UIAvatar = class {
35
35
  render() {
36
36
  const fallbackText = this.fallback || toInitials(this.name || this.alt);
37
37
  const label = this.alt || this.name || "Avatar";
38
- return h(Host, { key: "18214960ad2f1a0370907c0281102af924739de9", role: "img", "aria-label": label, "data-has-image": this.hasImage ? "" : void 0 }, h("div", { key: "c6d0a00de56b756f0e24fdc4b306d89cdae2a44f", class: "avatar" }, h("img", { key: "c5bfecb9d18797bc934ff087ce7ed8a4616ab347", src: this.src, alt: label, onLoad: this.onImageLoad, onError: this.onImageError, hidden: !this.hasImage, "aria-hidden": this.hasImage ? "false" : "true" }), h("span", { key: "1875a45a9c21de3e3a52924ef25b3f8429a788c4", class: "fallback", hidden: this.hasImage, "aria-hidden": this.hasImage ? "true" : "false" }, fallbackText)));
38
+ return h(Host, { key: "bbe6c3a775702022a19d819a6cc9d81d798cb3e1", role: "img", "aria-label": label, "data-has-image": this.hasImage ? "" : void 0 }, h("div", { key: "63402327ba5bde122bf5deaea09baf965ee9b047", class: "avatar" }, h("img", { key: "e52b86773684b80d76efa459cb03ae40881f959b", src: this.src, alt: label, onLoad: this.onImageLoad, onError: this.onImageError, hidden: !this.hasImage, "aria-hidden": this.hasImage ? "false" : "true" }), h("span", { key: "82a6d8f0d0c69ca52f81d092a2292fc80238265b", class: "fallback", hidden: this.hasImage, "aria-hidden": this.hasImage ? "true" : "false" }, fallbackText)));
39
39
  }
40
40
  static get watchers() {
41
41
  return {
@@ -0,0 +1,22 @@
1
+ import {
2
+ Host,
3
+ h,
4
+ registerInstance
5
+ } from "./chunk-IMHSPETJ.js";
6
+
7
+ // dist/esm/ui-badge.entry.js
8
+ var uiBadgeCss = () => `:host{--ui-badge-surface:var(--ui-surface-muted);--ui-badge-text:var(--ui-text-secondary);--ui-badge-border:var(--ui-border-default);--ui-badge-font-size:var(--ui-font-size-xs);--ui-badge-font-weight:var(--ui-font-normal);--ui-badge-line-height:var(--ui-line-height-tight);--ui-badge-padding-block:var(--ui-space-0-5);--ui-badge-padding-inline:var(--ui-space-2);display:inline-flex;max-width:100%}.badge__surface{display:inline-flex;align-items:center;justify-content:center;max-width:100%;padding:var(--ui-badge-padding-block) var(--ui-badge-padding-inline);border:1px solid var(--ui-badge-border);border-radius:var(--ui-radius-round);background:var(--ui-badge-surface);color:var(--ui-badge-text);font-family:var(--ui-font-family-sans);font-size:var(--ui-badge-font-size);font-weight:var(--ui-badge-font-weight);line-height:var(--ui-badge-line-height);white-space:nowrap}:host([data-tone='accent']) .badge__surface{--ui-badge-surface:var(--ui-accent-solid);--ui-badge-border:var(--ui-accent-solid);--ui-badge-text:var(--ui-text-on-accent)}:host([data-tone='danger']) .badge__surface{--ui-badge-surface:var(--ui-danger-solid);--ui-badge-border:var(--ui-danger-solid);--ui-badge-text:var(--ui-text-on-accent)}:host([data-tone='success']) .badge__surface{--ui-badge-surface:var(--ui-success-solid);--ui-badge-border:var(--ui-success-solid);--ui-badge-text:var(--ui-text-on-accent)}:host([data-tone='warning']) .badge__surface{--ui-badge-surface:var(--ui-warning-solid);--ui-badge-border:var(--ui-warning-solid);--ui-badge-text:var(--ui-text-primary)}:host([data-tone='info']) .badge__surface{--ui-badge-surface:var(--ui-info-solid);--ui-badge-border:var(--ui-info-solid);--ui-badge-text:var(--ui-text-on-accent)}:host([data-variant='subtle'][data-tone='accent']) .badge__surface{--ui-badge-surface:var(--ui-accent-soft);--ui-badge-border:var(--ui-accent-soft);--ui-badge-text:var(--ui-accent-solid)}:host([data-variant='subtle'][data-tone='danger']) .badge__surface{--ui-badge-surface:var(--ui-danger-soft);--ui-badge-border:var(--ui-danger-soft);--ui-badge-text:var(--ui-danger-solid)}:host([data-variant='subtle'][data-tone='success']) .badge__surface{--ui-badge-surface:var(--ui-success-soft);--ui-badge-border:var(--ui-success-soft);--ui-badge-text:var(--ui-success-solid)}:host([data-variant='subtle'][data-tone='warning']) .badge__surface{--ui-badge-surface:var(--ui-warning-soft);--ui-badge-border:var(--ui-warning-soft);--ui-badge-text:var(--ui-warning-solid)}:host([data-variant='subtle'][data-tone='info']) .badge__surface{--ui-badge-surface:var(--ui-info-soft);--ui-badge-border:var(--ui-info-soft);--ui-badge-text:var(--ui-info-solid)}`;
9
+ var UIBadge = class {
10
+ constructor(hostRef) {
11
+ registerInstance(this, hostRef);
12
+ }
13
+ variant;
14
+ tone;
15
+ render() {
16
+ return h(Host, { key: "ba96ade6d037a7ed9958e7eed540e62782f846f0", "data-variant": this.variant || void 0, "data-tone": this.tone || void 0 }, h("span", { key: "a1e9587f59de479c19b9ea7aec8c8e932b998369", class: "badge__surface" }, h("slot", { key: "5835ddcea5cda472e700557528fd3cbc9d572616" })));
17
+ }
18
+ };
19
+ UIBadge.style = uiBadgeCss();
20
+ export {
21
+ UIBadge as ui_badge
22
+ };
@@ -6,7 +6,7 @@ import {
6
6
  getElement,
7
7
  h,
8
8
  registerInstance
9
- } from "./chunk-GDMQKT5F.js";
9
+ } from "./chunk-IMHSPETJ.js";
10
10
 
11
11
  // dist/esm/ui-button.entry.js
12
12
  var uiButtonCss = () => `:host{display:inline-flex;vertical-align:middle;color:var(--ui-action-secondary-text, var(--ui-text-primary))}:host([data-variant='solid']){color:var(--ui-action-primary-text, var(--ui-text-on-accent))}:host([data-variant='outline']) ::slotted(button),::slotted(button){appearance:none;min-block-size:var(--ui-button-min-block-size, 2.5rem);border:1px solid var(--ui-control-border, var(--ui-border-default));border-radius:var(--ui-button-radius, var(--ui-radius-2));background:var(--ui-action-secondary-surface, var(--ui-surface-default));color:inherit;font:inherit;font-weight:var(--ui-font-medium, 500);line-height:var(--ui-line-height-tight);padding:var(--ui-space-2) var(--ui-space-3);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);margin:0}:host([data-size='sm']) ::slotted(button){padding:var(--ui-space-1) var(--ui-space-2);font-size:0.875rem}:host([data-size='lg']) ::slotted(button){min-block-size:var(--ui-control-min-block-size, 2.75rem);padding:var(--ui-space-3) var(--ui-space-4);font-size:1rem}::slotted(button:hover:enabled){background:var(--ui-action-secondary-surface-hover, var(--ui-surface-muted));border-color:var(--ui-control-border-hover, var(--ui-border-strong))}::slotted(button:active:enabled){background:var(--ui-surface-subtle)}:host([data-variant='solid']) ::slotted(button){border-color:var(--ui-action-primary-surface, var(--ui-accent-solid));background:var(--ui-action-primary-surface, var(--ui-accent-solid));color:var(--ui-action-primary-text, var(--ui-text-on-accent));box-shadow:var(--ui-button-solid-shadow, inset 0 1px rgb(255 255 255 / 0.16), var(--ui-shadow-xs))}:host([data-variant='solid']) ::slotted(button:hover:enabled){background:var(--ui-action-primary-surface-hover, var(--ui-accent-hover));border-color:var(--ui-action-primary-surface-hover, var(--ui-accent-hover));box-shadow:var(--ui-shadow-sm);transform:translateY(-1px)}:host([data-variant='solid']) ::slotted(button:active:enabled){background:var(--ui-action-primary-surface-active, var(--ui-accent-active));border-color:var(--ui-action-primary-surface-active, var(--ui-accent-active));box-shadow:none;transform:translateY(0)}:host([data-variant='destructive']) ::slotted(button){border-color:var(--ui-danger-solid);background:var(--ui-danger-solid);color:var(--ui-text-on-accent);box-shadow:var(--ui-button-destructive-shadow, inset 0 1px rgb(255 255 255 / 0.14), var(--ui-shadow-xs))}:host([data-variant='destructive']) ::slotted(button:hover:enabled){background:var(--ui-danger-hover);border-color:var(--ui-danger-hover);box-shadow:var(--ui-shadow-sm);transform:translateY(-1px)}:host([data-variant='destructive']) ::slotted(button:active:enabled){box-shadow:none;transform:translateY(0)}:host([data-variant='ghost']) ::slotted(button){border-color:transparent;background:transparent}:host([data-variant='ghost']) ::slotted(button:hover:enabled){background:var(--ui-surface-muted);border-color:transparent}:host([data-variant='ghost']) ::slotted(button:active:enabled){background:var(--ui-surface-subtle);border-color:transparent}::slotted(button:focus-visible){outline:2px solid var(--ui-focus-ring);outline-offset:2px}:host([data-disabled='true']),:host([disabled]){opacity:0.6;cursor:not-allowed}::slotted(button:disabled){cursor:not-allowed}`;
@@ -58,7 +58,7 @@ var UIButton = class {
58
58
  this.host.click();
59
59
  };
60
60
  render() {
61
- return h(Host, { key: "9c8d479fe7f1873a447048944513648bac132d52", "data-size": this.size || void 0, "data-variant": this.variant, "data-disabled": this.disabled ? "true" : void 0, onKeyDown: this.onKeydown }, h("slot", { key: "741f48e7efd42262834992c07c4685d3e929d91c", ref: (el) => this.slotRef = el }));
61
+ return h(Host, { key: "58a90293e2ac169c8bc3c6cb3d15428cc73629b7", "data-size": this.size || void 0, "data-variant": this.variant, "data-disabled": this.disabled ? "true" : void 0, onKeyDown: this.onKeydown }, h("slot", { key: "05439bdc2af81bcabe9da11b4baf13f880e0a75f", ref: (el) => this.slotRef = el }));
62
62
  }
63
63
  static get watchers() {
64
64
  return {
@@ -0,0 +1,32 @@
1
+ import {
2
+ loomaIconMarkup
3
+ } from "./chunk-NB6DBRXQ.js";
4
+ import {
5
+ Host,
6
+ h,
7
+ registerInstance
8
+ } from "./chunk-IMHSPETJ.js";
9
+
10
+ // dist/esm/ui-callout.entry.js
11
+ var uiCalloutCss = () => `:host{--ui-callout-surface:var(--ui-info-soft);--ui-callout-text:var(--ui-text-primary);--ui-callout-border:var(--ui-info-solid);--ui-callout-icon:var(--ui-info-solid);--ui-callout-padding-block:var(--ui-space-2);--ui-callout-padding-inline:var(--ui-space-3);--ui-callout-icon-column:1rem;--ui-callout-gap:var(--ui-space-2);--ui-callout-icon-size:1rem;--ui-callout-border-width:1px;--ui-callout-leading-border-width:4px;display:block;max-width:100%}.callout__surface{display:grid;grid-template-columns:var(--ui-callout-icon-column) minmax(0, 1fr);gap:var(--ui-callout-gap);align-items:start;padding:var(--ui-callout-padding-block) var(--ui-callout-padding-inline);border:var(--ui-callout-border-width) solid color-mix(in srgb, var(--ui-callout-border) 35%, transparent);border-inline-start:var(--ui-callout-leading-border-width) solid var(--ui-callout-border);border-radius:var(--ui-radius-2);background:var(--ui-callout-surface);color:var(--ui-callout-text);font-family:var(--ui-font-family-sans);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-normal);line-height:var(--ui-line-height-md)}.icon{display:grid;place-items:center;inline-size:var(--ui-callout-icon-column);block-size:var(--ui-callout-icon-column);color:var(--ui-callout-icon)}.icon svg{inline-size:var(--ui-callout-icon-size);block-size:var(--ui-callout-icon-size)}.content{min-inline-size:0}:host([data-tone='note']){--ui-callout-surface:var(--ui-surface-muted);--ui-callout-border:var(--ui-border-strong);--ui-callout-icon:var(--ui-text-secondary)}:host([data-tone='warning']){--ui-callout-surface:var(--ui-warning-soft);--ui-callout-border:var(--ui-warning-solid);--ui-callout-icon:var(--ui-warning-solid)}:host([data-tone='success']){--ui-callout-surface:var(--ui-success-soft);--ui-callout-border:var(--ui-success-solid);--ui-callout-icon:var(--ui-success-solid)}:host([data-tone='error']){--ui-callout-surface:var(--ui-danger-soft);--ui-callout-border:var(--ui-danger-solid);--ui-callout-icon:var(--ui-danger-solid)}`;
12
+ var toneIcons = {
13
+ info: "info",
14
+ note: "notebook-pen",
15
+ warning: "triangle-alert",
16
+ success: "circle-check",
17
+ error: "circle-x"
18
+ };
19
+ var UICallout = class {
20
+ constructor(hostRef) {
21
+ registerInstance(this, hostRef);
22
+ }
23
+ tone = "info";
24
+ render() {
25
+ const icon = toneIcons[this.tone] ?? toneIcons.info;
26
+ return h(Host, { key: "94bae6fbb688e5c8da979a3bebc12c51b8689c8a", role: "note", "data-tone": this.tone }, h("div", { key: "8fe1a3dae5b7cd3679d187cef018fa0cd810fb76", class: "callout__surface" }, h("span", { key: "ed62ad8e29c30489e075631d83f1732d7a53a378", class: "icon", "aria-hidden": "true", innerHTML: loomaIconMarkup(icon) }), h("div", { key: "97638d28e3979f71913c17b2501a90e3a9251f0f", class: "content" }, h("slot", { key: "6a91a0d3f189eae28aabbe278924ba7f89015f34" }))));
27
+ }
28
+ };
29
+ UICallout.style = uiCalloutCss();
30
+ export {
31
+ UICallout as ui_callout
32
+ };