@logicplanes/kaeso-ui 0.2.2 → 0.3.1

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 (349) hide show
  1. package/AGENTS.md +2 -0
  2. package/NOTICE.md +1 -1
  3. package/ai/component-guides.md +223 -24
  4. package/ai/component-registry.json +985 -91
  5. package/ai/component-registry.md +219 -52
  6. package/ai/icons.md +1 -1
  7. package/ai/tokens.md +7 -3
  8. package/dist/blocks/delete-resource.js +1 -1
  9. package/dist/blocks/pages.js +5 -5
  10. package/dist/blocks/resource-list.js +4 -4
  11. package/dist/chunks/app-frame-B9vrgwaE.js +220 -0
  12. package/dist/chunks/app-frame-B9vrgwaE.js.map +1 -0
  13. package/dist/chunks/{avatar-D2nJNbtC.js → avatar-DOzOhYJr.js} +2 -2
  14. package/dist/chunks/{avatar-D2nJNbtC.js.map → avatar-DOzOhYJr.js.map} +1 -1
  15. package/dist/chunks/{badge-Dkyhs0_j.js → badge-wUHlj7m3.js} +2 -2
  16. package/dist/chunks/{badge-Dkyhs0_j.js.map → badge-wUHlj7m3.js.map} +1 -1
  17. package/dist/chunks/{banner-DxGBPQ7p.js → banner-BBlNFHd-.js} +4 -4
  18. package/dist/chunks/{banner-DxGBPQ7p.js.map → banner-BBlNFHd-.js.map} +1 -1
  19. package/dist/chunks/{button-DQvoOxVQ.js → button-CAPyW-v8.js} +8 -8
  20. package/dist/chunks/{button-DQvoOxVQ.js.map → button-CAPyW-v8.js.map} +1 -1
  21. package/dist/chunks/{calendar-CN3YJi2k.js → calendar-CBeptQFq.js} +2 -2
  22. package/dist/chunks/{calendar-CN3YJi2k.js.map → calendar-CBeptQFq.js.map} +1 -1
  23. package/dist/chunks/{checkbox-BgRdbfCE.js → checkbox-C5yvSS7O.js} +3 -3
  24. package/dist/chunks/{checkbox-BgRdbfCE.js.map → checkbox-C5yvSS7O.js.map} +1 -1
  25. package/dist/chunks/{cn-CidVUKMm.js → cn-DUDmdLpZ.js} +3 -1
  26. package/dist/chunks/cn-DUDmdLpZ.js.map +1 -0
  27. package/dist/chunks/{code-BADhvsgC.js → code-C49NzHUQ.js} +2 -2
  28. package/dist/chunks/{code-BADhvsgC.js.map → code-C49NzHUQ.js.map} +1 -1
  29. package/dist/chunks/{code-block-DxtladFW.js → code-block-DREsvJ-g.js} +24 -21
  30. package/dist/chunks/code-block-DREsvJ-g.js.map +1 -0
  31. package/dist/chunks/{collapsible-Cw_1aem5.js → collapsible-CDQq1Y9x.js} +6 -6
  32. package/dist/chunks/collapsible-CDQq1Y9x.js.map +1 -0
  33. package/dist/chunks/combobox-DqtzsAKG.js +314 -0
  34. package/dist/chunks/combobox-DqtzsAKG.js.map +1 -0
  35. package/dist/chunks/command-list-D5k0uvkR.js +417 -0
  36. package/dist/chunks/command-list-D5k0uvkR.js.map +1 -0
  37. package/dist/chunks/{copy-button-DXxn-YYZ.js → copy-button-CNpEnS04.js} +6 -6
  38. package/dist/chunks/{copy-button-DXxn-YYZ.js.map → copy-button-CNpEnS04.js.map} +1 -1
  39. package/dist/chunks/{core-K960A4OT.js → core-CqLWVMDI.js} +36 -36
  40. package/dist/chunks/core-CqLWVMDI.js.map +1 -0
  41. package/dist/chunks/{date-popup-B-6xhb-1.js → date-popup-BgDz6SUj.js} +4 -4
  42. package/dist/chunks/{date-popup-B-6xhb-1.js.map → date-popup-BgDz6SUj.js.map} +1 -1
  43. package/dist/chunks/{de-CTAo4KL7.js → de-CkXZKaBD.js} +37 -5
  44. package/dist/chunks/de-CkXZKaBD.js.map +1 -0
  45. package/dist/chunks/dialog-truWH0qe.js +353 -0
  46. package/dist/chunks/dialog-truWH0qe.js.map +1 -0
  47. package/dist/chunks/{empty-DIbBpytW.js → empty-YXmSkKzR.js} +2 -2
  48. package/dist/chunks/{empty-DIbBpytW.js.map → empty-YXmSkKzR.js.map} +1 -1
  49. package/dist/chunks/{field-d8V94bvZ.js → field-BZriODU7.js} +3 -3
  50. package/dist/chunks/field-BZriODU7.js.map +1 -0
  51. package/dist/chunks/{icon-CeNQtobn.js → icon-BqujXDUc.js} +2 -2
  52. package/dist/chunks/{icon-CeNQtobn.js.map → icon-BqujXDUc.js.map} +1 -1
  53. package/dist/chunks/{icon-button-_x1RUphC.js → icon-button-D4O4puwH.js} +3 -3
  54. package/dist/chunks/{icon-button-_x1RUphC.js.map → icon-button-D4O4puwH.js.map} +1 -1
  55. package/dist/chunks/identity-CsZvAUwu.js +361 -0
  56. package/dist/chunks/identity-CsZvAUwu.js.map +1 -0
  57. package/dist/chunks/{input-CNTfI6YE.js → input-B0wtkcNh.js} +5 -5
  58. package/dist/chunks/{input-CNTfI6YE.js.map → input-B0wtkcNh.js.map} +1 -1
  59. package/dist/chunks/{input-group-CYA1MEoZ.js → input-group-BQLw06B0.js} +33 -27
  60. package/dist/chunks/input-group-BQLw06B0.js.map +1 -0
  61. package/dist/chunks/{inset-BLMdxX4I.js → inset-BnBj8NJV.js} +12 -2
  62. package/dist/chunks/inset-BnBj8NJV.js.map +1 -0
  63. package/dist/chunks/{iso-field-1qmg7TP8.js → iso-field-BUXgY1dB.js} +5 -3
  64. package/dist/chunks/{iso-field-1qmg7TP8.js.map → iso-field-BUXgY1dB.js.map} +1 -1
  65. package/dist/chunks/{json-view-B6KHIWzh.js → json-view-BkG2hTXV.js} +11 -10
  66. package/dist/chunks/{json-view-B6KHIWzh.js.map → json-view-BkG2hTXV.js.map} +1 -1
  67. package/dist/chunks/{kbd-CBcBDvqU.js → kbd-DqWmbr_e.js} +2 -2
  68. package/dist/chunks/{kbd-CBcBDvqU.js.map → kbd-DqWmbr_e.js.map} +1 -1
  69. package/dist/chunks/{link-vz9aV8WX.js → link-YMcxM-BZ.js} +4 -4
  70. package/dist/chunks/{link-vz9aV8WX.js.map → link-YMcxM-BZ.js.map} +1 -1
  71. package/dist/chunks/{link-provider---9JdxTg.js → link-provider-BsUxhZKG.js} +2 -2
  72. package/dist/chunks/{link-provider---9JdxTg.js.map → link-provider-BsUxhZKG.js.map} +1 -1
  73. package/dist/chunks/list-wXZIZo_s.js +492 -0
  74. package/dist/chunks/list-wXZIZo_s.js.map +1 -0
  75. package/dist/chunks/{loader-CUehxvSZ.js → loader-ENBh2Fbt.js} +2 -2
  76. package/dist/chunks/{loader-CUehxvSZ.js.map → loader-ENBh2Fbt.js.map} +1 -1
  77. package/dist/chunks/{markdown-5NyaHHfN.js → markdown-DWyxjsSY.js} +10 -10
  78. package/dist/chunks/{markdown-5NyaHHfN.js.map → markdown-DWyxjsSY.js.map} +1 -1
  79. package/dist/chunks/{menu-DyVPwgfF.js → menu-Bnfi9P3t.js} +7 -7
  80. package/dist/chunks/{menu-DyVPwgfF.js.map → menu-Bnfi9P3t.js.map} +1 -1
  81. package/dist/chunks/{meter-DWhyzFGQ.js → meter-DhTnem4k.js} +2 -2
  82. package/dist/chunks/{meter-DWhyzFGQ.js.map → meter-DhTnem4k.js.map} +1 -1
  83. package/dist/chunks/nav-sheet-QqNRHo-y.js +60 -0
  84. package/dist/chunks/nav-sheet-QqNRHo-y.js.map +1 -0
  85. package/dist/chunks/{nav-wordmark-DLkItdvo.js → nav-wordmark-DmbT1Aiw.js} +2 -2
  86. package/dist/chunks/{nav-wordmark-DLkItdvo.js.map → nav-wordmark-DmbT1Aiw.js.map} +1 -1
  87. package/dist/chunks/option-checkbox-Df7WhGn4.js +25 -0
  88. package/dist/chunks/option-checkbox-Df7WhGn4.js.map +1 -0
  89. package/dist/chunks/over-sheet-B8vzr_zU.js +8 -0
  90. package/dist/chunks/over-sheet-B8vzr_zU.js.map +1 -0
  91. package/dist/chunks/{page-header-CEPZzhRp.js → page-header-Ccnrspbp.js} +5 -5
  92. package/dist/chunks/{page-header-CEPZzhRp.js.map → page-header-Ccnrspbp.js.map} +1 -1
  93. package/dist/chunks/{pagination-CCMxQ5pH.js → pagination-CEmWZNjp.js} +5 -4
  94. package/dist/chunks/{pagination-CCMxQ5pH.js.map → pagination-CEmWZNjp.js.map} +1 -1
  95. package/dist/chunks/picker-popover-C4ElNk7t.js +102 -0
  96. package/dist/chunks/picker-popover-C4ElNk7t.js.map +1 -0
  97. package/dist/chunks/{popover-BE7VO-a4.js → popover-bjxg020P.js} +3 -3
  98. package/dist/chunks/{popover-BE7VO-a4.js.map → popover-bjxg020P.js.map} +1 -1
  99. package/dist/chunks/{radio-CUxbLCvD.js → radio-DwYcXAzv.js} +2 -2
  100. package/dist/chunks/{radio-CUxbLCvD.js.map → radio-DwYcXAzv.js.map} +1 -1
  101. package/dist/chunks/range-popup-CG9Jo5B7.js +128 -0
  102. package/dist/chunks/range-popup-CG9Jo5B7.js.map +1 -0
  103. package/dist/chunks/{release-art-DEc9HNa6.js → release-art-Ogl-L1Vh.js} +189 -183
  104. package/dist/chunks/release-art-Ogl-L1Vh.js.map +1 -0
  105. package/dist/chunks/{resize-motion-CMaidkwe.js → resize-motion-BWGMchyP.js} +27 -23
  106. package/dist/chunks/resize-motion-BWGMchyP.js.map +1 -0
  107. package/dist/chunks/{rights-BbiJ0AJB.js → rights-hMoaFasn.js} +12 -12
  108. package/dist/chunks/rights-hMoaFasn.js.map +1 -0
  109. package/dist/chunks/{section-DzOLLN1p.js → section-BsET7Fo-.js} +4 -4
  110. package/dist/chunks/{section-DzOLLN1p.js.map → section-BsET7Fo-.js.map} +1 -1
  111. package/dist/chunks/{segmented-MrinfDL8.js → segmented-DXKVF-nY.js} +4 -4
  112. package/dist/chunks/{segmented-MrinfDL8.js.map → segmented-DXKVF-nY.js.map} +1 -1
  113. package/dist/chunks/{select-Bc4kRiSG.js → select-Bbv2f5F8.js} +63 -80
  114. package/dist/chunks/select-Bbv2f5F8.js.map +1 -0
  115. package/dist/chunks/{separator-D5AzVFTS.js → separator-CpAUELNs.js} +2 -2
  116. package/dist/chunks/{separator-D5AzVFTS.js.map → separator-CpAUELNs.js.map} +1 -1
  117. package/dist/chunks/{sidebar-5IA18LuP.js → sidebar-Dey1ZfGt.js} +54 -51
  118. package/dist/chunks/sidebar-Dey1ZfGt.js.map +1 -0
  119. package/dist/chunks/{sidebar-menu-DRWRxcJ3.js → sidebar-menu-ct8IiL4z.js} +2 -2
  120. package/dist/chunks/{sidebar-menu-DRWRxcJ3.js.map → sidebar-menu-ct8IiL4z.js.map} +1 -1
  121. package/dist/chunks/{skeleton-kfuqdl1a.js → skeleton-BM797MAg.js} +2 -2
  122. package/dist/chunks/{skeleton-kfuqdl1a.js.map → skeleton-BM797MAg.js.map} +1 -1
  123. package/dist/chunks/{slider-DbhjJ3ML.js → slider-Ds-tqY-1.js} +2 -2
  124. package/dist/chunks/{slider-DbhjJ3ML.js.map → slider-Ds-tqY-1.js.map} +1 -1
  125. package/dist/chunks/{status-dot-BzMlYuMe.js → status-dot-BqVOlShY.js} +3 -3
  126. package/dist/chunks/{status-dot-BzMlYuMe.js.map → status-dot-BqVOlShY.js.map} +1 -1
  127. package/dist/chunks/{styles-Btvg2DCf.js → styles-CVJU9t9v.js} +2 -2
  128. package/dist/chunks/{styles-Btvg2DCf.js.map → styles-CVJU9t9v.js.map} +1 -1
  129. package/dist/chunks/{swap-text-BhPI8DOf.js → swap-text-Cica0pUr.js} +2 -2
  130. package/dist/chunks/{swap-text-BhPI8DOf.js.map → swap-text-Cica0pUr.js.map} +1 -1
  131. package/dist/chunks/{switch-XMY_CQE-.js → switch-CSKMEomo.js} +3 -3
  132. package/dist/chunks/{switch-XMY_CQE-.js.map → switch-CSKMEomo.js.map} +1 -1
  133. package/dist/chunks/{table-DYKa86af.js → table-D-36EM7f.js} +2 -2
  134. package/dist/chunks/{table-DYKa86af.js.map → table-D-36EM7f.js.map} +1 -1
  135. package/dist/chunks/{tag-Dg89uYpV.js → tag-CwDKXVHj.js} +4 -4
  136. package/dist/chunks/{tag-Dg89uYpV.js.map → tag-CwDKXVHj.js.map} +1 -1
  137. package/dist/chunks/{text--5MKh2G4.js → text-Dvvgg5Jt.js} +3 -3
  138. package/dist/chunks/{text--5MKh2G4.js.map → text-Dvvgg5Jt.js.map} +1 -1
  139. package/dist/chunks/{textarea-Cj8iR82R.js → textarea-2d373OyU.js} +35 -31
  140. package/dist/chunks/textarea-2d373OyU.js.map +1 -0
  141. package/dist/chunks/timeseries-LRDAZHV0.js +339 -0
  142. package/dist/chunks/timeseries-LRDAZHV0.js.map +1 -0
  143. package/dist/chunks/{toolbar-Dw3uxpsE.js → toolbar-nVLFWH2i.js} +3 -3
  144. package/dist/chunks/{toolbar-Dw3uxpsE.js.map → toolbar-nVLFWH2i.js.map} +1 -1
  145. package/dist/chunks/{tooltip-DEbCCsru.js → tooltip-S1DmyLVl.js} +4 -4
  146. package/dist/chunks/{tooltip-DEbCCsru.js.map → tooltip-S1DmyLVl.js.map} +1 -1
  147. package/dist/chunks/{tooltip-root-DRd4ciUv.js → tooltip-root-vjylFUqw.js} +4 -4
  148. package/dist/chunks/{tooltip-root-DRd4ciUv.js.map → tooltip-root-vjylFUqw.js.map} +1 -1
  149. package/dist/chunks/{virtual-rows-BZe49bKi.js → virtual-rows-yAMjeAwj.js} +4 -3
  150. package/dist/chunks/virtual-rows-yAMjeAwj.js.map +1 -0
  151. package/dist/chunks/{zh-CN-C7GmVswt.js → zh-CN-CqEA4PCM.js} +37 -5
  152. package/dist/chunks/zh-CN-CqEA4PCM.js.map +1 -0
  153. package/dist/components/app-frame.js +2 -2
  154. package/dist/components/avatar.js +1 -1
  155. package/dist/components/badge.js +1 -1
  156. package/dist/components/banner.js +1 -1
  157. package/dist/components/button-group.js +33 -32
  158. package/dist/components/button-group.js.map +1 -1
  159. package/dist/components/button.js +1 -1
  160. package/dist/components/calendar.js +1 -1
  161. package/dist/components/charts/bar.js +34 -31
  162. package/dist/components/charts/bar.js.map +1 -1
  163. package/dist/components/charts/donut.js +2 -2
  164. package/dist/components/charts/gauge.js +2 -2
  165. package/dist/components/charts/heatmap.js +1 -1
  166. package/dist/components/charts/sankey.js +2 -2
  167. package/dist/components/charts/sparkline.js +1 -1
  168. package/dist/components/charts/timeseries.js +1 -255
  169. package/dist/components/charts.js +3 -3
  170. package/dist/components/checkbox.js +1 -1
  171. package/dist/components/code-block.js +2 -2
  172. package/dist/components/code.js +1 -1
  173. package/dist/components/collapsible.js +1 -1
  174. package/dist/components/combobox.js +1 -1
  175. package/dist/components/command-list.js +4 -0
  176. package/dist/components/command-palette.js +120 -171
  177. package/dist/components/command-palette.js.map +1 -1
  178. package/dist/components/copy-button.js +1 -1
  179. package/dist/components/data-table.js +251 -193
  180. package/dist/components/data-table.js.map +1 -1
  181. package/dist/components/date-picker.js +6 -6
  182. package/dist/components/dialog.js +7 -9
  183. package/dist/components/dialog.js.map +1 -1
  184. package/dist/components/display-options.js +67 -53
  185. package/dist/components/display-options.js.map +1 -1
  186. package/dist/components/empty.js +1 -1
  187. package/dist/components/field.js +1 -1
  188. package/dist/components/filter-chip.js +138 -63
  189. package/dist/components/filter-chip.js.map +1 -1
  190. package/dist/components/filter-row.js +2 -2
  191. package/dist/components/flow.js +2 -2
  192. package/dist/components/heading.js +1 -1
  193. package/dist/components/icon-button.js +1 -1
  194. package/dist/components/icon.js +1 -1
  195. package/dist/components/input.js +56 -54
  196. package/dist/components/input.js.map +1 -1
  197. package/dist/components/kaeso/conversation.js +88 -79
  198. package/dist/components/kaeso/conversation.js.map +1 -1
  199. package/dist/components/kaeso/identity.js +1 -1
  200. package/dist/components/kaeso/moments.js +8 -8
  201. package/dist/components/kaeso/moments.js.map +1 -1
  202. package/dist/components/kaeso/rights.js +1 -1
  203. package/dist/components/kaeso/usage.js +6 -6
  204. package/dist/components/kaeso/usage.js.map +1 -1
  205. package/dist/components/kaeso.js +212 -84
  206. package/dist/components/kaeso.js.map +1 -1
  207. package/dist/components/kbd.js +1 -1
  208. package/dist/components/key-value.js +3 -3
  209. package/dist/components/label.js +1 -1
  210. package/dist/components/layout.js +1 -1
  211. package/dist/components/link.js +1 -1
  212. package/dist/components/list.js +1 -1
  213. package/dist/components/loader.js +2 -2
  214. package/dist/components/logo.js +2 -2
  215. package/dist/components/markdown.js +1 -1
  216. package/dist/components/menu.js +2 -2
  217. package/dist/components/meter.js +1 -1
  218. package/dist/components/page-header.js +1 -1
  219. package/dist/components/pagination.js +1 -1
  220. package/dist/components/playground.js +654 -381
  221. package/dist/components/playground.js.map +1 -1
  222. package/dist/components/popover.js +2 -2
  223. package/dist/components/qr-code.js +1 -1
  224. package/dist/components/radio.js +1 -1
  225. package/dist/components/release-art.js +1 -1
  226. package/dist/components/scroll-area.js +1 -1
  227. package/dist/components/section.js +1 -1
  228. package/dist/components/segmented.js +1 -1
  229. package/dist/components/select.js +1 -1
  230. package/dist/components/separator.js +1 -1
  231. package/dist/components/settings.js +3 -3
  232. package/dist/components/sheet.js +69 -52
  233. package/dist/components/sheet.js.map +1 -1
  234. package/dist/components/sidebar.js +1 -1
  235. package/dist/components/skeleton.js +1 -1
  236. package/dist/components/slider.js +1 -1
  237. package/dist/components/stat.js +88 -74
  238. package/dist/components/stat.js.map +1 -1
  239. package/dist/components/status-dot.js +1 -1
  240. package/dist/components/surface.js +1 -1
  241. package/dist/components/swap-text.js +1 -1
  242. package/dist/components/switch.js +1 -1
  243. package/dist/components/table.js +1 -1
  244. package/dist/components/tabs.js +48 -49
  245. package/dist/components/tabs.js.map +1 -1
  246. package/dist/components/tag.js +1 -1
  247. package/dist/components/text.js +1 -1
  248. package/dist/components/theme-image.js +1 -1
  249. package/dist/components/theme-menu.js +2 -2
  250. package/dist/components/theme-select.js +1 -1
  251. package/dist/components/timeline.js +1 -1
  252. package/dist/components/toast.js +4 -4
  253. package/dist/components/toc.js +1 -1
  254. package/dist/components/toolbar.js +1 -1
  255. package/dist/components/tooltip.js +1 -1
  256. package/dist/components/visually-hidden.js +1 -1
  257. package/dist/format.js +87 -50
  258. package/dist/format.js.map +1 -1
  259. package/dist/i18n-provider.js +1 -1
  260. package/dist/index.js +115 -112
  261. package/dist/kaeso.css +20 -7
  262. package/dist/styles.css +1 -1
  263. package/dist/types/components/charts/bar.d.ts +6 -0
  264. package/dist/types/components/charts/core.d.ts +2 -2
  265. package/dist/types/components/charts/docs.d.ts +7 -0
  266. package/dist/types/components/charts/time-axis.d.ts +5 -0
  267. package/dist/types/components/charts/timeseries.d.ts +9 -0
  268. package/dist/types/components/code-block/highlighter.d.ts +2 -0
  269. package/dist/types/components/combobox/combobox.d.ts +2 -0
  270. package/dist/types/components/combobox/docs.d.ts +2 -4
  271. package/dist/types/components/command-list/command-list.d.ts +84 -0
  272. package/dist/types/components/command-list/docs.d.ts +52 -0
  273. package/dist/types/components/command-list/index.d.ts +3 -0
  274. package/dist/types/components/command-list/match.d.ts +1 -0
  275. package/dist/types/components/command-list/picker-popover.d.ts +44 -0
  276. package/dist/types/components/data-table/data-table.d.ts +3 -2
  277. package/dist/types/components/data-table/docs.d.ts +1 -0
  278. package/dist/types/components/date-picker/docs.d.ts +0 -6
  279. package/dist/types/components/dialog/dialog.d.ts +24 -0
  280. package/dist/types/components/dialog/docs.d.ts +4 -0
  281. package/dist/types/components/display-options/display-options.d.ts +1 -0
  282. package/dist/types/components/filter-chip/docs.d.ts +4 -0
  283. package/dist/types/components/filter-chip/filter-chip.d.ts +7 -0
  284. package/dist/types/components/input/docs.d.ts +2 -12
  285. package/dist/types/components/input/number-input.d.ts +1 -0
  286. package/dist/types/components/input/tag-input.d.ts +1 -0
  287. package/dist/types/components/kaeso/docs.d.ts +34 -0
  288. package/dist/types/components/kaeso/identity.d.ts +10 -1
  289. package/dist/types/components/kaeso/index.d.ts +1 -0
  290. package/dist/types/components/kaeso/provider-marks.d.ts +5 -1
  291. package/dist/types/components/kaeso/provider-picker.d.ts +42 -0
  292. package/dist/types/components/list/docs.d.ts +2 -0
  293. package/dist/types/components/list/list.d.ts +2 -0
  294. package/dist/types/components/menu/styles.d.ts +1 -1
  295. package/dist/types/components/playground/docs.d.ts +32 -0
  296. package/dist/types/components/playground/index.d.ts +1 -0
  297. package/dist/types/components/playground/model-picker.d.ts +39 -4
  298. package/dist/types/components/playground/reasoning.d.ts +29 -0
  299. package/dist/types/components/playground/response-view.d.ts +7 -1
  300. package/dist/types/components/release-art/docs.d.ts +1 -0
  301. package/dist/types/components/release-art/release-art.d.ts +1 -0
  302. package/dist/types/components/select/docs.d.ts +0 -2
  303. package/dist/types/components/select/option-checkbox.d.ts +1 -0
  304. package/dist/types/components/sidebar/sidebar.d.ts +1 -0
  305. package/dist/types/components/stat/docs.d.ts +1 -0
  306. package/dist/types/components/stat/stat.d.ts +1 -0
  307. package/dist/types/format/index.d.ts +6 -0
  308. package/dist/types/index.d.ts +1 -0
  309. package/dist/types/utils/index.d.ts +1 -1
  310. package/dist/types/utils/inset.d.ts +5 -0
  311. package/dist/types/utils/over-sheet.d.ts +1 -0
  312. package/dist/types/utils/restore-focus.d.ts +1 -1
  313. package/dist/utils.js +4 -4
  314. package/foundations/layout.md +45 -0
  315. package/foundations/writing.md +1 -0
  316. package/package.json +2 -2
  317. package/dist/chunks/app-frame-BXh-06HL.js +0 -214
  318. package/dist/chunks/app-frame-BXh-06HL.js.map +0 -1
  319. package/dist/chunks/cn-CidVUKMm.js.map +0 -1
  320. package/dist/chunks/code-block-DxtladFW.js.map +0 -1
  321. package/dist/chunks/collapsible-Cw_1aem5.js.map +0 -1
  322. package/dist/chunks/combobox-D30Wt11R.js +0 -291
  323. package/dist/chunks/combobox-D30Wt11R.js.map +0 -1
  324. package/dist/chunks/core-K960A4OT.js.map +0 -1
  325. package/dist/chunks/de-CTAo4KL7.js.map +0 -1
  326. package/dist/chunks/dialog-LNKgPEsV.js +0 -319
  327. package/dist/chunks/dialog-LNKgPEsV.js.map +0 -1
  328. package/dist/chunks/field-d8V94bvZ.js.map +0 -1
  329. package/dist/chunks/field-press-DwzBFafd.js +0 -10
  330. package/dist/chunks/field-press-DwzBFafd.js.map +0 -1
  331. package/dist/chunks/identity-BtZC_d_Q.js +0 -342
  332. package/dist/chunks/identity-BtZC_d_Q.js.map +0 -1
  333. package/dist/chunks/input-group-CYA1MEoZ.js.map +0 -1
  334. package/dist/chunks/inset-BLMdxX4I.js.map +0 -1
  335. package/dist/chunks/list-CzaiyNja.js +0 -483
  336. package/dist/chunks/list-CzaiyNja.js.map +0 -1
  337. package/dist/chunks/nav-sheet-BIErlV74.js +0 -58
  338. package/dist/chunks/nav-sheet-BIErlV74.js.map +0 -1
  339. package/dist/chunks/range-popup-DGOnGGag.js +0 -111
  340. package/dist/chunks/range-popup-DGOnGGag.js.map +0 -1
  341. package/dist/chunks/release-art-DEc9HNa6.js.map +0 -1
  342. package/dist/chunks/resize-motion-CMaidkwe.js.map +0 -1
  343. package/dist/chunks/rights-BbiJ0AJB.js.map +0 -1
  344. package/dist/chunks/select-Bc4kRiSG.js.map +0 -1
  345. package/dist/chunks/sidebar-5IA18LuP.js.map +0 -1
  346. package/dist/chunks/textarea-Cj8iR82R.js.map +0 -1
  347. package/dist/chunks/virtual-rows-BZe49bKi.js.map +0 -1
  348. package/dist/chunks/zh-CN-C7GmVswt.js.map +0 -1
  349. package/dist/components/charts/timeseries.js.map +0 -1
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- export { t as Empty, n as KAESO_EMPTY_DEFAULT_VARIANTS, r as KAESO_EMPTY_VARIANTS } from "../chunks/empty-DIbBpytW.js";
2
+ export { t as Empty, n as KAESO_EMPTY_DEFAULT_VARIANTS, r as KAESO_EMPTY_VARIANTS } from "../chunks/empty-YXmSkKzR.js";
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- export { t as Field, n as Fieldset, r as KAESO_FIELD_DEFAULT_VARIANTS, i as KAESO_FIELD_VARIANTS, a as useField, o as useFieldControl, s as withField } from "../chunks/field-d8V94bvZ.js";
2
+ export { t as Field, n as Fieldset, r as KAESO_FIELD_DEFAULT_VARIANTS, i as KAESO_FIELD_VARIANTS, a as useField, o as useFieldControl, s as withField } from "../chunks/field-BZriODU7.js";
@@ -1,66 +1,141 @@
1
1
  "use client";
2
- import { t as e } from "../chunks/cn-CidVUKMm.js";
2
+ import { t as e } from "../chunks/cn-DUDmdLpZ.js";
3
3
  import { i as t, r as n } from "../chunks/context-BELWW79w.js";
4
- import { t as r } from "../chunks/icon-CeNQtobn.js";
5
- import { i } from "../chunks/menu-DyVPwgfF.js";
6
- import { forwardRef as a, useEffect as o, useRef as s, useState as c } from "react";
7
- import { jsx as l, jsxs as u } from "react/jsx-runtime";
8
- import { Cancel01Icon as d } from "@hugeicons/core-free-icons";
4
+ import { t as r } from "../chunks/icon-BqujXDUc.js";
5
+ import { i } from "../chunks/menu-Bnfi9P3t.js";
6
+ import { t as a } from "../chunks/command-list-D5k0uvkR.js";
7
+ import { r as o } from "../chunks/picker-popover-C4ElNk7t.js";
8
+ import { forwardRef as s, useEffect as c, useMemo as l, useRef as u, useState as d } from "react";
9
+ import { jsx as f, jsxs as p } from "react/jsx-runtime";
10
+ import { Cancel01Icon as m } from "@hugeicons/core-free-icons";
9
11
  //#region src/components/filter-chip/filter-chip.tsx
10
- var f = { size: { sm: { classes: "h-32 text-body" } } }, p = { size: "sm" }, m = 8, h = (e) => e.textValue ?? (typeof e.label == "string" || typeof e.label == "number" ? String(e.label) : e.value), g = "relative inline-flex h-full cursor-pointer items-center gap-6 px-10 font-medium transition-control tap-target hover:bg-fill-1 active:bg-fill-2 open:bg-fill-1 focus-ring-segment", _ = /* @__PURE__ */ a(function({ property: a, propertyIcon: p, operator: _, operators: v, onOperatorChange: y, value: b, values: x, selected: S = [], multiple: C, onSelectedChange: w, onRemove: T, defaultValuesOpen: E, className: D, "data-force": O }, k) {
11
- let A = t(), j = n(), [M, N] = c(!!E && !!x?.length), [P, F] = c(""), I = s(null), L = (x?.length ?? 0) > m, R = P.trim().toLowerCase(), z = L && R ? (x ?? []).filter((e) => h(e).toLowerCase().includes(R) || e.value.toLowerCase().includes(R)) : x ?? [];
12
- return o(() => {
13
- if (!M || !L) return;
14
- let e = setTimeout(() => I.current?.focus(), 0);
12
+ var h = { size: { sm: { classes: "h-32 text-body" } } }, g = { size: "sm" }, _ = 8, v = 50;
13
+ function y(e, t) {
14
+ if (!e.some((e) => e.group)) return e.map(t);
15
+ let n = [];
16
+ for (let t of e) {
17
+ let e = n[n.length - 1];
18
+ e && e.group === t.group ? e.values.push(t) : n.push({
19
+ group: t.group,
20
+ values: [t]
21
+ });
22
+ }
23
+ return n.map((e, n) => /* @__PURE__ */ f(i.Group, {
24
+ label: e.group,
25
+ children: e.values.map(t)
26
+ }, `${e.group ?? ""}:${n}`));
27
+ }
28
+ function b(e) {
29
+ let t = /* @__PURE__ */ new Map();
30
+ for (let n of e) {
31
+ let e = n.group ?? "", i = t.get(e) ?? {
32
+ id: e || "values",
33
+ ...e ? { label: e } : {},
34
+ items: []
35
+ };
36
+ i.items.push({
37
+ value: n.value,
38
+ label: x(n),
39
+ keywords: [n.value],
40
+ ...n.leading || n.icon ? { leading: n.leading ?? (n.icon ? /* @__PURE__ */ f(r, {
41
+ icon: n.icon,
42
+ size: "sm",
43
+ className: "text-fg-secondary"
44
+ }) : void 0) } : {},
45
+ ...typeof n.label == "string" ? {} : { render: () => /* @__PURE__ */ f("span", {
46
+ className: "min-w-0 flex-1 truncate",
47
+ children: n.label
48
+ }) }
49
+ }), t.set(e, i);
50
+ }
51
+ return [...t.values()];
52
+ }
53
+ var x = (e) => e.textValue ?? (typeof e.label == "string" || typeof e.label == "number" ? String(e.label) : e.value), S = "relative inline-flex h-full cursor-pointer items-center gap-6 px-10 font-medium transition-control tap-target hover:bg-fill-1 active:bg-fill-2 open:bg-fill-1 focus-ring-segment", C = /* @__PURE__ */ s(function({ property: s, propertyIcon: g, operator: C, operators: w, onOperatorChange: T, value: E, values: D, groups: O, searchable: k, width: A, selected: j = [], multiple: M, onSelectedChange: N, onRemove: P, defaultValuesOpen: F, onValuesOpenChange: I, className: L, "data-force": R }, z) {
54
+ let B = t(), V = n(), H = O ? O.reduce((e, t) => e + t.items.length, 0) : D?.length ?? 0, [U, W] = d(!!F && H > 0), G = (e) => {
55
+ W(e), I?.(e);
56
+ }, [K, q] = d(""), J = u(null), Y = !!k || H > _, X = !!O || H > v, Z = l(() => O ?? (X && D ? b(D) : []), [
57
+ O,
58
+ X,
59
+ D
60
+ ]), Q = K.trim().toLowerCase(), $ = Y && Q ? (D ?? []).filter((e) => x(e).toLowerCase().includes(Q) || e.value.toLowerCase().includes(Q)) : D ?? [];
61
+ return c(() => {
62
+ if (!U || !Y || X) return;
63
+ let e = setTimeout(() => J.current?.focus(), 0);
15
64
  return () => clearTimeout(e);
16
- }, [M, L]), /* @__PURE__ */ u("div", {
17
- ref: k,
65
+ }, [
66
+ U,
67
+ Y,
68
+ X
69
+ ]), /* @__PURE__ */ p("div", {
70
+ ref: z,
18
71
  role: "group",
19
- "aria-label": typeof a == "string" ? A("filterChip.filterNamed", "Filter: {property}", { property: a }) : A("filterChip.filter", "Filter"),
20
- ...O ? { "data-force": O } : {},
21
- className: e("group/fc inline-flex shrink-0 items-stretch overflow-hidden rounded-pill bg-raised text-fg ring-over", f.size.sm.classes, D),
72
+ "aria-label": typeof s == "string" ? B("filterChip.filterNamed", "Filter: {property}", { property: s }) : B("filterChip.filter", "Filter"),
73
+ ...R ? { "data-force": R } : {},
74
+ className: e("group/fc inline-flex shrink-0 items-stretch overflow-hidden rounded-pill bg-raised text-fg ring-over", h.size.sm.classes, L),
22
75
  children: [
23
- /* @__PURE__ */ u("span", {
24
- className: e(g, "cursor-default pl-12 text-fg-secondary hover:bg-transparent active:bg-transparent"),
25
- children: [p && /* @__PURE__ */ l(r, {
26
- icon: p,
76
+ /* @__PURE__ */ p("span", {
77
+ className: e(S, "cursor-default pl-12 text-fg-secondary hover:bg-transparent active:bg-transparent"),
78
+ children: [g && /* @__PURE__ */ f(r, {
79
+ icon: g,
27
80
  size: "sm"
28
- }), a]
81
+ }), s]
29
82
  }),
30
- /* @__PURE__ */ u(i, { children: [/* @__PURE__ */ l(i.Trigger, { children: /* @__PURE__ */ l("button", {
83
+ /* @__PURE__ */ p(i, { children: [/* @__PURE__ */ f(i.Trigger, { children: /* @__PURE__ */ f("button", {
31
84
  type: "button",
32
- className: e(g, "text-fg-secondary divider-l"),
33
- disabled: !v?.length,
34
- children: _
35
- }) }), v && /* @__PURE__ */ l(i.Content, { children: /* @__PURE__ */ l(i.RadioGroup, {
36
- value: _,
37
- onValueChange: (e) => y?.(e),
38
- children: v.map((e) => /* @__PURE__ */ l(i.RadioItem, {
85
+ className: e(S, "text-fg-secondary divider-l"),
86
+ disabled: !w?.length,
87
+ children: C
88
+ }) }), w && /* @__PURE__ */ f(i.Content, { children: /* @__PURE__ */ f(i.RadioGroup, {
89
+ value: C,
90
+ onValueChange: (e) => T?.(e),
91
+ children: w.map((e) => /* @__PURE__ */ f(i.RadioItem, {
39
92
  value: e,
40
93
  children: e
41
94
  }, e))
42
95
  }) })] }),
43
- /* @__PURE__ */ u(i, {
44
- open: M,
96
+ X && (O || D) ? /* @__PURE__ */ f(o, {
97
+ title: typeof s == "string" ? s : B("filterChip.filter", "Filter"),
98
+ open: U,
99
+ onOpenChange: G,
100
+ ...A ? { width: A } : {},
101
+ trigger: /* @__PURE__ */ f("button", {
102
+ type: "button",
103
+ className: e(S, "divider-l", !P && "pr-12"),
104
+ children: E
105
+ }),
106
+ children: /* @__PURE__ */ f(a, {
107
+ groups: Z,
108
+ "aria-label": typeof s == "string" ? s : B("filterChip.filter", "Filter"),
109
+ value: j,
110
+ ...M ? { multiple: !0 } : {},
111
+ autoFocus: !0,
112
+ placeholder: typeof s == "string" ? B("filterChip.searchNamedValues", "Search {property} values", { property: V === "en" ? s.toLowerCase() : s }) : B("filterChip.searchValues", "Search values"),
113
+ emptyText: B("filterChip.noMatches", "No values match"),
114
+ onSelect: (e) => {
115
+ M ? N?.(j.includes(e) ? j.filter((t) => t !== e) : [...j, e]) : (N?.([e]), G(!1));
116
+ }
117
+ })
118
+ }) : /* @__PURE__ */ p(i, {
119
+ open: U,
45
120
  onOpenChange: (e) => {
46
- N(e), e || F("");
121
+ G(e), e || q("");
47
122
  },
48
- children: [/* @__PURE__ */ l(i.Trigger, { children: /* @__PURE__ */ l("button", {
123
+ children: [/* @__PURE__ */ f(i.Trigger, { children: /* @__PURE__ */ f("button", {
49
124
  type: "button",
50
- className: e(g, "divider-l", !T && "pr-12"),
51
- disabled: !x?.length,
52
- children: b
53
- }) }), x && /* @__PURE__ */ l(i.Content, {
54
- ...L ? { className: "w-280" } : {},
55
- ...L ? {
56
- header: /* @__PURE__ */ l("input", {
57
- ref: I,
125
+ className: e(S, "divider-l", !P && "pr-12"),
126
+ disabled: H === 0,
127
+ children: E
128
+ }) }), D && /* @__PURE__ */ f(i.Content, {
129
+ ...Y ? { className: "w-280" } : {},
130
+ ...Y ? {
131
+ header: /* @__PURE__ */ f("input", {
132
+ ref: J,
58
133
  type: "search",
59
- "aria-label": typeof a == "string" ? A("filterChip.searchNamedValues", "Search {property} values", { property: j === "en" ? a.toLowerCase() : a }) : A("filterChip.searchValues", "Search values"),
60
- placeholder: A("filterChip.search", "Search"),
134
+ "aria-label": typeof s == "string" ? B("filterChip.searchNamedValues", "Search {property} values", { property: V === "en" ? s.toLowerCase() : s }) : B("filterChip.searchValues", "Search values"),
135
+ placeholder: B("filterChip.search", "Search"),
61
136
  autoComplete: "off",
62
- value: P,
63
- onChange: (e) => F(e.target.value),
137
+ value: K,
138
+ onChange: (e) => q(e.target.value),
64
139
  onKeyDown: (e) => {
65
140
  [
66
141
  "ArrowDown",
@@ -72,24 +147,24 @@ var f = { size: { sm: { classes: "h-32 text-body" } } }, p = { size: "sm" }, m =
72
147
  },
73
148
  className: "h-28 w-full bg-transparent text-body text-fg outline-none placeholder:text-fg-tertiary coarse:h-36"
74
149
  }),
75
- ...z.length === 0 ? { footer: A("filterChip.noMatches", "No values match") } : {}
150
+ ...$.length === 0 ? { footer: B("filterChip.noMatches", "No values match") } : {}
76
151
  } : {},
77
- children: C ? z.map((e) => /* @__PURE__ */ l(i.CheckboxItem, {
78
- checked: S.includes(e.value),
79
- onCheckedChange: (t) => w?.(t ? [...S, e.value] : S.filter((t) => t !== e.value)),
152
+ children: M ? y($, (e) => /* @__PURE__ */ f(i.CheckboxItem, {
153
+ checked: j.includes(e.value),
154
+ onCheckedChange: (t) => N?.(t ? [...j, e.value] : j.filter((t) => t !== e.value)),
80
155
  ...e.icon ? { icon: e.icon } : {},
81
- children: /* @__PURE__ */ u("span", {
156
+ children: /* @__PURE__ */ p("span", {
82
157
  className: "inline-flex items-center gap-8",
83
158
  children: [e.leading, e.label]
84
159
  })
85
- }, e.value)) : /* @__PURE__ */ l(i.RadioGroup, {
86
- value: S[0] ?? "",
87
- onValueChange: (e) => w?.([e]),
88
- children: z.map((e) => /* @__PURE__ */ l(i.RadioItem, {
160
+ }, e.value)) : /* @__PURE__ */ f(i.RadioGroup, {
161
+ value: j[0] ?? "",
162
+ onValueChange: (e) => N?.([e]),
163
+ children: y($, (e) => /* @__PURE__ */ f(i.RadioItem, {
89
164
  value: e.value,
90
165
  closeOnClick: !0,
91
166
  ...e.icon ? { icon: e.icon } : {},
92
- children: /* @__PURE__ */ u("span", {
167
+ children: /* @__PURE__ */ p("span", {
93
168
  className: "inline-flex items-center gap-8",
94
169
  children: [e.leading, e.label]
95
170
  })
@@ -97,15 +172,15 @@ var f = { size: { sm: { classes: "h-32 text-body" } } }, p = { size: "sm" }, m =
97
172
  })
98
173
  })]
99
174
  }),
100
- T && /* @__PURE__ */ l("span", {
175
+ P && /* @__PURE__ */ f("span", {
101
176
  className: "flex items-center pr-4 divider-l pl-4",
102
- children: /* @__PURE__ */ l("button", {
177
+ children: /* @__PURE__ */ f("button", {
103
178
  type: "button",
104
- "aria-label": typeof a == "string" ? A("filterChip.removeNamed", "Remove the {property} filter", { property: a }) : A("filterChip.remove", "Remove filter"),
105
- onClick: T,
179
+ "aria-label": typeof s == "string" ? B("filterChip.removeNamed", "Remove the {property} filter", { property: s }) : B("filterChip.remove", "Remove filter"),
180
+ onClick: P,
106
181
  className: "relative inline-flex size-24 cursor-pointer items-center justify-center rounded-pill text-fg-tertiary transition-control hover:bg-fill-2 hover:text-fg focus-ring tap-target",
107
- children: /* @__PURE__ */ l(r, {
108
- icon: d,
182
+ children: /* @__PURE__ */ f(r, {
183
+ icon: m,
109
184
  size: "xs"
110
185
  })
111
186
  })
@@ -113,8 +188,8 @@ var f = { size: { sm: { classes: "h-32 text-body" } } }, p = { size: "sm" }, m =
113
188
  ]
114
189
  });
115
190
  });
116
- process.env.NODE_ENV !== "production" && (_.displayName = "FilterChip");
191
+ process.env.NODE_ENV !== "production" && (C.displayName = "FilterChip");
117
192
  //#endregion
118
- export { _ as FilterChip, p as KAESO_FILTER_CHIP_DEFAULT_VARIANTS, f as KAESO_FILTER_CHIP_VARIANTS };
193
+ export { C as FilterChip, g as KAESO_FILTER_CHIP_DEFAULT_VARIANTS, h as KAESO_FILTER_CHIP_VARIANTS };
119
194
 
120
195
  //# sourceMappingURL=filter-chip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"filter-chip.js","names":["__icon_Cancel01Icon","cn","useUiText","useLocale","Icon","KAESO_FILTER_CHIP_VARIANTS","KAESO_FILTER_CHIP_DEFAULT_VARIANTS","SEARCH_ABOVE","textOf","v","SEG","FilterChip","force","t","locale","open","setOpen","useState","defaultValuesOpen","values","query","setQuery","search","useRef","searchable","q","shown","useEffect","timer","property","className","propertyIcon","Menu","operators","operator","onOperatorChange","o","onRemove","value","multiple","selected","onSelectedChange","c","s","Cancel01Icon"],"sources":["../../src/components/filter-chip/filter-chip.tsx"],"sourcesContent":["import { forwardRef, useEffect, useRef, useState, type ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { Icon, type IconData } from \"../icon/icon.js\";\nimport { Cancel01Icon as __icon_Cancel01Icon } from \"@hugeicons/core-free-icons\";\nimport { Menu } from \"../menu/menu.js\";\nimport { useLocale, useUiText } from \"../../i18n/context.js\";\n\nexport const KAESO_FILTER_CHIP_VARIANTS = {\n size: {\n sm: { classes: \"h-32 text-body\" },\n },\n} as const;\nexport const KAESO_FILTER_CHIP_DEFAULT_VARIANTS = { size: \"sm\" } as const;\n\nexport interface FilterChipChoice {\n value: string;\n label: ReactNode;\n icon?: IconData | undefined;\n leading?: ReactNode | undefined;\n textValue?: string | undefined;\n}\n\nconst SEARCH_ABOVE = 8;\n\nexport interface FilterChipProps {\n property: ReactNode;\n propertyIcon?: IconData | undefined;\n operator: string;\n operators?: string[] | undefined;\n onOperatorChange?: ((operator: string) => void) | undefined;\n value: ReactNode;\n values?: FilterChipChoice[] | undefined;\n selected?: string[] | undefined;\n multiple?: boolean | undefined;\n onSelectedChange?: ((selected: string[]) => void) | undefined;\n onRemove?: (() => void) | undefined;\n defaultValuesOpen?: boolean | undefined;\n className?: string | undefined;\n \"data-force\"?: string | undefined;\n}\n\nconst textOf = (v: FilterChipChoice) => v.textValue ?? (typeof v.label === \"string\" || typeof v.label === \"number\" ? String(v.label) : v.value);\n\nconst SEG =\n \"relative inline-flex h-full cursor-pointer items-center gap-6 px-10 font-medium transition-control tap-target hover:bg-fill-1 active:bg-fill-2 open:bg-fill-1 focus-ring-segment\";\n\nexport const FilterChip = /* @__PURE__ */ forwardRef<HTMLDivElement, FilterChipProps>(function FilterChip(\n {\n property,\n propertyIcon,\n operator,\n operators,\n onOperatorChange,\n value,\n values,\n selected = [],\n multiple,\n onSelectedChange,\n onRemove,\n defaultValuesOpen,\n className,\n \"data-force\": force,\n },\n ref,\n) {\n const t = useUiText();\n const locale = useLocale();\n const [open, setOpen] = useState(!!defaultValuesOpen && !!values?.length);\n const [query, setQuery] = useState(\"\");\n const search = useRef<HTMLInputElement | null>(null);\n const searchable = (values?.length ?? 0) > SEARCH_ABOVE;\n const q = query.trim().toLowerCase();\n const shown = searchable && q ? (values ?? []).filter((v) => textOf(v).toLowerCase().includes(q) || v.value.toLowerCase().includes(q)) : (values ?? []);\n useEffect(() => {\n if (!open || !searchable) return;\n const timer = setTimeout(() => search.current?.focus(), 0);\n return () => clearTimeout(timer);\n }, [open, searchable]);\n return (\n <div\n ref={ref}\n role=\"group\"\n aria-label={typeof property === \"string\" ? t(\"filterChip.filterNamed\", \"Filter: {property}\", { property }) : t(\"filterChip.filter\", \"Filter\")}\n {...(force ? { \"data-force\": force } : {})}\n className={cn(\n \"group/fc inline-flex shrink-0 items-stretch overflow-hidden rounded-pill bg-raised text-fg ring-over\",\n KAESO_FILTER_CHIP_VARIANTS.size.sm.classes,\n className,\n )}\n >\n <span className={cn(SEG, \"cursor-default pl-12 text-fg-secondary hover:bg-transparent active:bg-transparent\")}>\n {propertyIcon && <Icon icon={propertyIcon} size=\"sm\" />}\n {property}\n </span>\n <Menu>\n <Menu.Trigger>\n <button type=\"button\" className={cn(SEG, \"text-fg-secondary divider-l\")} disabled={!operators?.length}>\n {operator}\n </button>\n </Menu.Trigger>\n {operators && (\n <Menu.Content>\n <Menu.RadioGroup value={operator} onValueChange={(v) => onOperatorChange?.(v)}>\n {operators.map((o) => (\n <Menu.RadioItem key={o} value={o}>\n {o}\n </Menu.RadioItem>\n ))}\n </Menu.RadioGroup>\n </Menu.Content>\n )}\n </Menu>\n <Menu\n open={open}\n onOpenChange={(o) => {\n setOpen(o);\n if (!o) setQuery(\"\");\n }}\n >\n <Menu.Trigger>\n <button type=\"button\" className={cn(SEG, \"divider-l\", !onRemove && \"pr-12\")} disabled={!values?.length}>\n {value}\n </button>\n </Menu.Trigger>\n {values && (\n <Menu.Content\n {...(searchable ? { className: \"w-280\" } : {})}\n {...(searchable\n ? {\n header: (\n <input\n ref={search}\n type=\"search\"\n aria-label={\n typeof property === \"string\"\n ? t(\"filterChip.searchNamedValues\", \"Search {property} values\", { property: locale === \"en\" ? property.toLowerCase() : property })\n : t(\"filterChip.searchValues\", \"Search values\")\n }\n placeholder={t(\"filterChip.search\", \"Search\")}\n autoComplete=\"off\"\n value={query}\n onChange={(e) => setQuery(e.target.value)}\n onKeyDown={(e) => {\n if (![\"ArrowDown\", \"ArrowUp\", \"Escape\", \"Tab\", \"Enter\"].includes(e.key)) e.stopPropagation();\n }}\n className=\"h-28 w-full bg-transparent text-body text-fg outline-none placeholder:text-fg-tertiary coarse:h-36\"\n />\n ),\n ...(shown.length === 0 ? { footer: t(\"filterChip.noMatches\", \"No values match\") } : {}),\n }\n : {})}\n >\n {multiple ? (\n shown.map((v) => (\n <Menu.CheckboxItem\n key={v.value}\n checked={selected.includes(v.value)}\n onCheckedChange={(c) => onSelectedChange?.(c ? [...selected, v.value] : selected.filter((s) => s !== v.value))}\n {...(v.icon ? { icon: v.icon } : {})}\n >\n <span className=\"inline-flex items-center gap-8\">\n {v.leading}\n {v.label}\n </span>\n </Menu.CheckboxItem>\n ))\n ) : (\n <Menu.RadioGroup value={selected[0] ?? \"\"} onValueChange={(s) => onSelectedChange?.([s])}>\n {shown.map((v) => (\n <Menu.RadioItem key={v.value} value={v.value} closeOnClick {...(v.icon ? { icon: v.icon } : {})}>\n <span className=\"inline-flex items-center gap-8\">\n {v.leading}\n {v.label}\n </span>\n </Menu.RadioItem>\n ))}\n </Menu.RadioGroup>\n )}\n </Menu.Content>\n )}\n </Menu>\n {onRemove && (\n <span className=\"flex items-center pr-4 divider-l pl-4\">\n <button\n type=\"button\"\n aria-label={\n typeof property === \"string\" ? t(\"filterChip.removeNamed\", \"Remove the {property} filter\", { property }) : t(\"filterChip.remove\", \"Remove filter\")\n }\n onClick={onRemove}\n className=\"relative inline-flex size-24 cursor-pointer items-center justify-center rounded-pill text-fg-tertiary transition-control hover:bg-fill-2 hover:text-fg focus-ring tap-target\"\n >\n <Icon icon={__icon_Cancel01Icon} size=\"xs\" />\n </button>\n </span>\n )}\n </div>\n );\n});\nif (process.env.NODE_ENV !== \"production\") FilterChip.displayName = \"FilterChip\";\n"],"mappings":";;;;;;;;;AAOA,IAAaK,IAA6B,EACxC,MAAM,EACJ,IAAI,EAAE,SAAS,iBAAiB,EAClC,EACF,GACaC,IAAqC,EAAE,MAAM,KAAK,GAUzDC,IAAe,GAmBfC,KAAU,MAAwBC,EAAE,cAAc,OAAOA,EAAE,SAAU,YAAY,OAAOA,EAAE,SAAU,WAAW,OAAOA,EAAE,KAAK,IAAIA,EAAE,QAEnIC,IACJ,oLAEWC,IAA6B,kBAA4C,SACpF,EACE,aACA,iBACA,aACA,cACA,qBACA,UACA,WACA,cAAW,CAAC,GACZ,aACA,qBACA,aACA,sBACA,cACA,cAAcC,KAEhB,GACA;CACA,IAAMC,IAAIX,EAAU,GACdY,IAASX,EAAU,GACnB,CAACY,GAAMC,KAAWC,EAAS,CAAC,CAACC,KAAqB,CAAC,CAACC,GAAQ,MAAM,GAClE,CAACC,GAAOC,KAAYJ,EAAS,EAAE,GAC/BK,IAASC,EAAgC,IAAI,GAC7CC,KAAcL,GAAQ,UAAU,KAAKZ,GACrCkB,IAAIL,EAAM,KAAK,CAAC,CAAC,YAAY,GAC7BM,IAAQF,KAAcC,KAAKN,KAAU,CAAC,EAAA,CAAG,QAAQ,MAAMX,EAAOC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAASgB,CAAC,KAAKhB,EAAE,MAAM,YAAY,CAAC,CAAC,SAASgB,CAAC,CAAC,IAAKN,KAAU,CAAC;CAMrJ,OALAQ,QAAgB;EACd,IAAI,CAACZ,KAAQ,CAACS,GAAY;EAC1B,IAAMI,IAAQ,iBAAiBN,EAAO,SAAS,MAAM,GAAG,CAAC;EACzD,aAAa,aAAaM,CAAK;CACjC,GAAG,CAACb,GAAMS,CAAU,CAAC,GAEnB,kBAAC,OAAD;EACO;EACL,MAAK;EACL,cAAY,OAAOK,KAAa,WAAWhB,EAAE,0BAA0B,sBAAsB,EAAE,YAAS,CAAC,IAAIA,EAAE,qBAAqB,QAAQ;EAC5I,GAAKD,IAAQ,EAAE,cAAcA,EAAM,IAAI,CAAC;EACxC,WAAWX,EACT,wGACAI,EAA2B,KAAK,GAAG,SACnCyB,CACF;EATF,UAAA;GAWE,kBAAC,QAAD;IAAM,WAAW7B,EAAGS,GAAK,mFAAmF;IAA5G,UAAA,CACGqB,KAAgB,kBAAC3B,GAAD;KAAM,MAAM2B;KAAc,MAAK;IAAM,CAAA,GACrDF,CACG;;GACN,kBAACG,GAAD,EAAA,UAAA,CACE,kBAACA,EAAK,SAAN,EAAA,UACE,kBAAC,UAAD;IAAQ,MAAK;IAAS,WAAW/B,EAAGS,GAAK,6BAA6B;IAAG,UAAU,CAACuB,GAAW;IAC5F,UAAAC;GACK,CAAA,EACI,CAAA,GACbD,KACC,kBAACD,EAAK,SAAN,EAAA,UACE,kBAACA,EAAK,YAAN;IAAiB,OAAOE;IAAU,gBAAgB,MAAMC,IAAmB1B,CAAC;IACzE,UAAAwB,EAAU,KAAK,MACd,kBAACD,EAAK,WAAN;KAAwB,OAAOI;KAC5B,UAAAA;IACa,GAFKA,CAEL,CACjB;GACc,CAAA,EACL,CAAA,CAEZ,EAAA,CAAA;GACN,kBAACJ,GAAD;IACQ;IACN,eAAe,MAAM;KAEnB,AADAhB,EAAQoB,CAAC,GACJA,KAAGf,EAAS,EAAE;IACrB;IALF,UAAA,CAOE,kBAACW,EAAK,SAAN,EAAA,UACE,kBAAC,UAAD;KAAQ,MAAK;KAAS,WAAW/B,EAAGS,GAAK,aAAa,CAAC2B,KAAY,OAAO;KAAG,UAAU,CAAClB,GAAQ;KAC7F,UAAAmB;IACK,CAAA,EACI,CAAA,GACbnB,KACC,kBAACa,EAAK,SAAN;KACE,GAAKR,IAAa,EAAE,WAAW,QAAQ,IAAI,CAAC;KAC5C,GAAKA,IACD;MACE,QACE,kBAAC,SAAD;OACE,KAAKF;OACL,MAAK;OACL,cACE,OAAOO,KAAa,WAChBhB,EAAE,gCAAgC,4BAA4B,EAAE,UAAUC,MAAW,OAAOe,EAAS,YAAY,IAAIA,EAAS,CAAC,IAC/HhB,EAAE,2BAA2B,eAAe;OAElD,aAAaA,EAAE,qBAAqB,QAAQ;OAC5C,cAAa;OACb,OAAOO;OACP,WAAW,MAAMC,EAAS,EAAE,OAAO,KAAK;OACxC,YAAY,MAAM;QAChB,AAAK;SAAC;SAAa;SAAW;SAAU;SAAO;QAAO,CAAC,CAAC,SAAS,EAAE,GAAG,KAAG,EAAE,gBAAgB;OAC7F;OACA,WAAU;MACX,CAAA;MAEH,GAAIK,EAAM,WAAW,IAAI,EAAE,QAAQb,EAAE,wBAAwB,iBAAiB,EAAE,IAAI,CAAC;KACvF,IACA,CAAC;KAEJ,UAAA0B,IACCb,EAAM,KAAK,MACT,kBAACM,EAAK,cAAN;MAEE,SAASQ,EAAS,SAAS/B,EAAE,KAAK;MAClC,kBAAkB,MAAMgC,IAAmBC,IAAI,CAAC,GAAGF,GAAU/B,EAAE,KAAK,IAAI+B,EAAS,QAAQ,MAAMG,MAAMlC,EAAE,KAAK,CAAC;MAC7G,GAAKA,EAAE,OAAO,EAAE,MAAMA,EAAE,KAAK,IAAI,CAAC;MAElC,UAAA,kBAAC,QAAD;OAAM,WAAU;OAAhB,UAAA,CACGA,EAAE,SACFA,EAAE,KACC;;KACW,GATZA,EAAE,KASU,CACpB,IAED,kBAACuB,EAAK,YAAN;MAAiB,OAAOQ,EAAS,MAAM;MAAI,gBAAgB,MAAMC,IAAmB,CAACE,CAAC,CAAC;MACpF,UAAAjB,EAAM,KAAK,MACV,kBAACM,EAAK,WAAN;OAA8B,OAAOvB,EAAE;OAAO,cAAA;OAAa,GAAKA,EAAE,OAAO,EAAE,MAAMA,EAAE,KAAK,IAAI,CAAC;OAC3F,UAAA,kBAAC,QAAD;QAAM,WAAU;QAAhB,UAAA,CACGA,EAAE,SACFA,EAAE,KACC;;MACQ,GALKA,EAAE,KAKP,CACjB;KACc,CAAA;IAEP,CAAA,CAEZ;;GACL4B,KACC,kBAAC,QAAD;IAAM,WAAU;IACd,UAAA,kBAAC,UAAD;KACE,MAAK;KACL,cACE,OAAOR,KAAa,WAAWhB,EAAE,0BAA0B,gCAAgC,EAAE,YAAS,CAAC,IAAIA,EAAE,qBAAqB,eAAe;KAEnJ,SAASwB;KACT,WAAU;KAEV,UAAA,kBAACjC,GAAD;MAAM,MAAMJ;MAAqB,MAAK;KAAM,CAAA;IACtC,CAAA;GACJ,CAAA;EAEL;;AAET,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAW,cAAc"}
1
+ {"version":3,"file":"filter-chip.js","names":["__icon_Cancel01Icon","cn","useUiText","useLocale","Icon","CommandList","PickerPopover","KAESO_FILTER_CHIP_VARIANTS","KAESO_FILTER_CHIP_DEFAULT_VARIANTS","SEARCH_ABOVE","LIST_ABOVE","inRuns","values","v","item","runs","last","Menu","r","i","choiceGroups","groups","key","group","textOf","SEG","FilterChip","givenGroups","forceSearch","force","t","locale","choices","n","g","open","setOwnOpen","useState","defaultValuesOpen","setOpen","o","onValuesOpenChange","query","setQuery","search","useRef","searchable","long","useMemo","q","shown","useEffect","timer","property","className","propertyIcon","operators","operator","onOperatorChange","width","onRemove","value","selected","multiple","onSelectedChange","s","c","Cancel01Icon"],"sources":["../../src/components/filter-chip/filter-chip.tsx"],"sourcesContent":["import { forwardRef, useEffect, useMemo, useRef, useState, type ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { Icon, type IconData } from \"../icon/icon.js\";\nimport { Cancel01Icon as __icon_Cancel01Icon } from \"@hugeicons/core-free-icons\";\nimport { Menu } from \"../menu/menu.js\";\nimport { CommandList, type CommandListGroup } from \"../command-list/command-list.js\";\nimport { PickerPopover, type PickerPopoverProps } from \"../command-list/picker-popover.js\";\nimport { useLocale, useUiText } from \"../../i18n/context.js\";\n\nexport const KAESO_FILTER_CHIP_VARIANTS = {\n size: {\n sm: { classes: \"h-32 text-body\" },\n },\n} as const;\nexport const KAESO_FILTER_CHIP_DEFAULT_VARIANTS = { size: \"sm\" } as const;\n\nexport interface FilterChipChoice {\n value: string;\n label: ReactNode;\n icon?: IconData | undefined;\n leading?: ReactNode | undefined;\n textValue?: string | undefined;\n group?: string | undefined;\n}\n\nconst SEARCH_ABOVE = 8;\nconst LIST_ABOVE = 50;\n\nfunction inRuns(values: FilterChipChoice[], item: (v: FilterChipChoice) => ReactNode): ReactNode {\n if (!values.some((v) => v.group)) return values.map(item);\n const runs: { group: string | undefined; values: FilterChipChoice[] }[] = [];\n for (const v of values) {\n const last = runs[runs.length - 1];\n if (last && last.group === v.group) last.values.push(v);\n else runs.push({ group: v.group, values: [v] });\n }\n return runs.map((r, i) => (\n <Menu.Group key={`${r.group ?? \"\"}:${i}`} label={r.group}>\n {r.values.map(item)}\n </Menu.Group>\n ));\n}\n\nfunction choiceGroups(values: FilterChipChoice[]): CommandListGroup[] {\n const groups = new Map<string, CommandListGroup>();\n for (const v of values) {\n const key = v.group ?? \"\";\n const group = groups.get(key) ?? { id: key || \"values\", ...(key ? { label: key } : {}), items: [] };\n group.items.push({\n value: v.value,\n label: textOf(v),\n keywords: [v.value],\n ...(v.leading || v.icon ? { leading: v.leading ?? (v.icon ? <Icon icon={v.icon} size=\"sm\" className=\"text-fg-secondary\" /> : undefined) } : {}),\n ...(typeof v.label === \"string\" ? {} : { render: () => <span className=\"min-w-0 flex-1 truncate\">{v.label}</span> }),\n });\n groups.set(key, group);\n }\n return [...groups.values()];\n}\n\nexport interface FilterChipProps {\n property: ReactNode;\n propertyIcon?: IconData | undefined;\n operator: string;\n operators?: string[] | undefined;\n onOperatorChange?: ((operator: string) => void) | undefined;\n value: ReactNode;\n values?: FilterChipChoice[] | undefined;\n groups?: CommandListGroup[] | undefined;\n searchable?: boolean | undefined;\n width?: PickerPopoverProps[\"width\"] | undefined;\n selected?: string[] | undefined;\n multiple?: boolean | undefined;\n onSelectedChange?: ((selected: string[]) => void) | undefined;\n onRemove?: (() => void) | undefined;\n defaultValuesOpen?: boolean | undefined;\n onValuesOpenChange?: ((open: boolean) => void) | undefined;\n className?: string | undefined;\n \"data-force\"?: string | undefined;\n}\n\nconst textOf = (v: FilterChipChoice) => v.textValue ?? (typeof v.label === \"string\" || typeof v.label === \"number\" ? String(v.label) : v.value);\n\nconst SEG =\n \"relative inline-flex h-full cursor-pointer items-center gap-6 px-10 font-medium transition-control tap-target hover:bg-fill-1 active:bg-fill-2 open:bg-fill-1 focus-ring-segment\";\n\nexport const FilterChip = /* @__PURE__ */ forwardRef<HTMLDivElement, FilterChipProps>(function FilterChip(\n {\n property,\n propertyIcon,\n operator,\n operators,\n onOperatorChange,\n value,\n values,\n groups: givenGroups,\n searchable: forceSearch,\n width,\n selected = [],\n multiple,\n onSelectedChange,\n onRemove,\n defaultValuesOpen,\n onValuesOpenChange,\n className,\n \"data-force\": force,\n },\n ref,\n) {\n const t = useUiText();\n const locale = useLocale();\n const choices = givenGroups ? givenGroups.reduce((n, g) => n + g.items.length, 0) : (values?.length ?? 0);\n const [open, setOwnOpen] = useState(!!defaultValuesOpen && choices > 0);\n const setOpen = (o: boolean) => {\n setOwnOpen(o);\n onValuesOpenChange?.(o);\n };\n const [query, setQuery] = useState(\"\");\n const search = useRef<HTMLInputElement | null>(null);\n const searchable = !!forceSearch || choices > SEARCH_ABOVE;\n const long = !!givenGroups || choices > LIST_ABOVE;\n const groups = useMemo(() => givenGroups ?? (long && values ? choiceGroups(values) : []), [givenGroups, long, values]);\n const q = query.trim().toLowerCase();\n const shown = searchable && q ? (values ?? []).filter((v) => textOf(v).toLowerCase().includes(q) || v.value.toLowerCase().includes(q)) : (values ?? []);\n useEffect(() => {\n if (!open || !searchable || long) return;\n const timer = setTimeout(() => search.current?.focus(), 0);\n return () => clearTimeout(timer);\n }, [open, searchable, long]);\n return (\n <div\n ref={ref}\n role=\"group\"\n aria-label={typeof property === \"string\" ? t(\"filterChip.filterNamed\", \"Filter: {property}\", { property }) : t(\"filterChip.filter\", \"Filter\")}\n {...(force ? { \"data-force\": force } : {})}\n className={cn(\n \"group/fc inline-flex shrink-0 items-stretch overflow-hidden rounded-pill bg-raised text-fg ring-over\",\n KAESO_FILTER_CHIP_VARIANTS.size.sm.classes,\n className,\n )}\n >\n <span className={cn(SEG, \"cursor-default pl-12 text-fg-secondary hover:bg-transparent active:bg-transparent\")}>\n {propertyIcon && <Icon icon={propertyIcon} size=\"sm\" />}\n {property}\n </span>\n <Menu>\n <Menu.Trigger>\n <button type=\"button\" className={cn(SEG, \"text-fg-secondary divider-l\")} disabled={!operators?.length}>\n {operator}\n </button>\n </Menu.Trigger>\n {operators && (\n <Menu.Content>\n <Menu.RadioGroup value={operator} onValueChange={(v) => onOperatorChange?.(v)}>\n {operators.map((o) => (\n <Menu.RadioItem key={o} value={o}>\n {o}\n </Menu.RadioItem>\n ))}\n </Menu.RadioGroup>\n </Menu.Content>\n )}\n </Menu>\n {long && (givenGroups || values) ? (\n <PickerPopover\n title={typeof property === \"string\" ? property : t(\"filterChip.filter\", \"Filter\")}\n open={open}\n onOpenChange={setOpen}\n {...(width ? { width } : {})}\n trigger={\n <button type=\"button\" className={cn(SEG, \"divider-l\", !onRemove && \"pr-12\")}>\n {value}\n </button>\n }\n >\n <CommandList\n groups={groups}\n aria-label={typeof property === \"string\" ? property : t(\"filterChip.filter\", \"Filter\")}\n value={selected}\n {...(multiple ? { multiple: true } : {})}\n autoFocus\n placeholder={\n typeof property === \"string\"\n ? t(\"filterChip.searchNamedValues\", \"Search {property} values\", { property: locale === \"en\" ? property.toLowerCase() : property })\n : t(\"filterChip.searchValues\", \"Search values\")\n }\n emptyText={t(\"filterChip.noMatches\", \"No values match\")}\n onSelect={(v) => {\n if (multiple) onSelectedChange?.(selected.includes(v) ? selected.filter((s) => s !== v) : [...selected, v]);\n else {\n onSelectedChange?.([v]);\n setOpen(false);\n }\n }}\n />\n </PickerPopover>\n ) : (\n <Menu\n open={open}\n onOpenChange={(o) => {\n setOpen(o);\n if (!o) setQuery(\"\");\n }}\n >\n <Menu.Trigger>\n <button type=\"button\" className={cn(SEG, \"divider-l\", !onRemove && \"pr-12\")} disabled={choices === 0}>\n {value}\n </button>\n </Menu.Trigger>\n {values && (\n <Menu.Content\n {...(searchable ? { className: \"w-280\" } : {})}\n {...(searchable\n ? {\n header: (\n <input\n ref={search}\n type=\"search\"\n aria-label={\n typeof property === \"string\"\n ? t(\"filterChip.searchNamedValues\", \"Search {property} values\", { property: locale === \"en\" ? property.toLowerCase() : property })\n : t(\"filterChip.searchValues\", \"Search values\")\n }\n placeholder={t(\"filterChip.search\", \"Search\")}\n autoComplete=\"off\"\n value={query}\n onChange={(e) => setQuery(e.target.value)}\n onKeyDown={(e) => {\n if (![\"ArrowDown\", \"ArrowUp\", \"Escape\", \"Tab\", \"Enter\"].includes(e.key)) e.stopPropagation();\n }}\n className=\"h-28 w-full bg-transparent text-body text-fg outline-none placeholder:text-fg-tertiary coarse:h-36\"\n />\n ),\n ...(shown.length === 0 ? { footer: t(\"filterChip.noMatches\", \"No values match\") } : {}),\n }\n : {})}\n >\n {multiple ? (\n inRuns(shown, (v) => (\n <Menu.CheckboxItem\n key={v.value}\n checked={selected.includes(v.value)}\n onCheckedChange={(c) => onSelectedChange?.(c ? [...selected, v.value] : selected.filter((s) => s !== v.value))}\n {...(v.icon ? { icon: v.icon } : {})}\n >\n <span className=\"inline-flex items-center gap-8\">\n {v.leading}\n {v.label}\n </span>\n </Menu.CheckboxItem>\n ))\n ) : (\n <Menu.RadioGroup value={selected[0] ?? \"\"} onValueChange={(s) => onSelectedChange?.([s])}>\n {inRuns(shown, (v) => (\n <Menu.RadioItem key={v.value} value={v.value} closeOnClick {...(v.icon ? { icon: v.icon } : {})}>\n <span className=\"inline-flex items-center gap-8\">\n {v.leading}\n {v.label}\n </span>\n </Menu.RadioItem>\n ))}\n </Menu.RadioGroup>\n )}\n </Menu.Content>\n )}\n </Menu>\n )}\n {onRemove && (\n <span className=\"flex items-center pr-4 divider-l pl-4\">\n <button\n type=\"button\"\n aria-label={\n typeof property === \"string\" ? t(\"filterChip.removeNamed\", \"Remove the {property} filter\", { property }) : t(\"filterChip.remove\", \"Remove filter\")\n }\n onClick={onRemove}\n className=\"relative inline-flex size-24 cursor-pointer items-center justify-center rounded-pill text-fg-tertiary transition-control hover:bg-fill-2 hover:text-fg focus-ring tap-target\"\n >\n <Icon icon={__icon_Cancel01Icon} size=\"xs\" />\n </button>\n </span>\n )}\n </div>\n );\n});\nif (process.env.NODE_ENV !== \"production\") FilterChip.displayName = \"FilterChip\";\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { t as e } from "../chunks/cn-CidVUKMm.js";
3
- import { n as t } from "../chunks/inset-BLMdxX4I.js";
2
+ import { t as e } from "../chunks/cn-DUDmdLpZ.js";
3
+ import { i as t } from "../chunks/inset-BnBj8NJV.js";
4
4
  import { i as n } from "../chunks/context-BELWW79w.js";
5
5
  import { t as r } from "../chunks/arrow-focus-BcySmwwU.js";
6
6
  import { forwardRef as i } from "react";
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import { t as e } from "../chunks/cn-CidVUKMm.js";
2
+ import { t as e } from "../chunks/cn-DUDmdLpZ.js";
3
3
  import { i as t } from "../chunks/context-BELWW79w.js";
4
- import { t as n } from "../chunks/icon-CeNQtobn.js";
4
+ import { t as n } from "../chunks/icon-BqujXDUc.js";
5
5
  import { t as r } from "../chunks/observe-resize-DhxhmoyB.js";
6
6
  import { forwardRef as i, useLayoutEffect as a, useRef as o, useState as s } from "react";
7
7
  import { jsx as c, jsxs as l } from "react/jsx-runtime";
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { t as e } from "../chunks/cn-CidVUKMm.js";
2
+ import { t as e } from "../chunks/cn-DUDmdLpZ.js";
3
3
  import { forwardRef as t } from "react";
4
4
  import { jsx as n } from "react/jsx-runtime";
5
5
  //#region src/components/heading/heading.tsx
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- export { t as IconButton, n as KAESO_ICON_BUTTON_DEFAULT_VARIANTS, r as KAESO_ICON_BUTTON_VARIANTS } from "../chunks/icon-button-_x1RUphC.js";
2
+ export { t as IconButton, n as KAESO_ICON_BUTTON_DEFAULT_VARIANTS, r as KAESO_ICON_BUTTON_VARIANTS } from "../chunks/icon-button-D4O4puwH.js";
@@ -1,4 +1,4 @@
1
1
  "use client";
2
- import { n as e, r as t, t as n } from "../chunks/icon-CeNQtobn.js";
2
+ import { n as e, r as t, t as n } from "../chunks/icon-BqujXDUc.js";
3
3
  import { t as r } from "../chunks/icon-CBzvyEqC.js";
4
4
  export { n as Icon, e as KAESO_ICON_DEFAULT_VARIANTS, t as KAESO_ICON_VARIANTS, r as icons };
@@ -1,12 +1,12 @@
1
1
  "use client";
2
- import { t as e } from "../chunks/cn-CidVUKMm.js";
2
+ import { t as e } from "../chunks/cn-DUDmdLpZ.js";
3
3
  import { i as t } from "../chunks/context-BELWW79w.js";
4
- import { r as n } from "../chunks/tooltip-DEbCCsru.js";
5
- import { a as r, o as i, s as a } from "../chunks/field-d8V94bvZ.js";
6
- import { a as o, i as s, n as c, r as l, t as u } from "../chunks/input-group-CYA1MEoZ.js";
7
- import { i as d, n as f, r as p, t as m } from "../chunks/input-CNTfI6YE.js";
8
- import { a as h, c as g, i as _, l as v, n as y, o as b, r as x, s as S, t as C } from "../chunks/textarea-Cj8iR82R.js";
9
- import { a as w } from "../chunks/tag-Dg89uYpV.js";
4
+ import { r as n } from "../chunks/tooltip-S1DmyLVl.js";
5
+ import { a as r, o as i, s as a } from "../chunks/field-BZriODU7.js";
6
+ import { a as o, i as s, n as c, r as l, t as u } from "../chunks/input-group-BQLw06B0.js";
7
+ import { i as d, n as f, r as p, t as m } from "../chunks/input-B0wtkcNh.js";
8
+ import { a as h, c as g, i as _, l as v, n as y, o as b, r as x, s as S, t as C } from "../chunks/textarea-2d373OyU.js";
9
+ import { a as w } from "../chunks/tag-CwDKXVHj.js";
10
10
  import { forwardRef as T, useId as E, useRef as D, useState as O } from "react";
11
11
  import { jsx as k, jsxs as A } from "react/jsx-runtime";
12
12
  import { ViewIcon as j, ViewOffSlashIcon as M } from "@hugeicons/core-free-icons";
@@ -35,7 +35,7 @@ var N = { kind: {
35
35
  },
36
36
  trailing: /* @__PURE__ */ k(c.Button, {
37
37
  icon: f ? M : j,
38
- "aria-label": f ? d("sensitiveInput.hide", "Hide") : d("sensitiveInput.show", "Show"),
38
+ "aria-label": n === "password" ? f ? d("sensitiveInput.hidePassword", "Hide password") : d("sensitiveInput.showPassword", "Show password") : f ? d("sensitiveInput.hide", "Hide") : d("sensitiveInput.show", "Show"),
39
39
  onClick: () => p((e) => !e),
40
40
  disabled: l.disabled
41
41
  }),
@@ -96,31 +96,33 @@ process.env.NODE_ENV !== "production" && (R.displayName = "OTPInput");
96
96
  //#endregion
97
97
  //#region src/components/input/tag-input.tsx
98
98
  var z = { size: { md: { classes: "min-h-36 p-4" } } }, B = { size: "md" }, V = /* @__PURE__ */ T(function(o, s) {
99
- let { value: c, defaultValue: l = [], onValueChange: u, placeholder: d, validate: f, separators: p = [
99
+ let { value: c, defaultValue: l = [], onValueChange: u, onInputValueChange: d, placeholder: f, validate: p, separators: m = [
100
100
  ",",
101
101
  " ",
102
102
  ";"
103
- ], disabled: m, id: h, name: g, className: _, label: v, description: y, error: b, optional: x, required: S, layout: C, "aria-label": T, "data-force": E } = o, j = r(), M = i(o), N = t(), [P, F] = O(l), [I, L] = O(""), R = D(null), B = c ?? P, V = (e) => {
104
- c === void 0 && F(e), u?.(e);
105
- }, H = RegExp(`[${p.map((e) => e.replace(/[\]\\^-]/g, "\\$&")).join("")}\\n]+`), U = (e) => {
106
- let t = e.split(H).map((e) => e.trim()).filter(Boolean).filter((e) => !B.includes(e));
107
- t.length && V([...B, ...t]), L("");
108
- }, W = B.map((e) => !f || f(e)), G = W.find((e) => e !== !0), K = b ?? (typeof G == "string" ? G : void 0), q = /* @__PURE__ */ A("div", {
109
- className: e("flex w-full min-w-0 flex-wrap items-center gap-4 rounded-field material-field transition-control cursor-text", z.size.md.classes, m && "cursor-not-allowed", !(v || y || K) && _),
110
- ...K || j?.invalid ? { "data-invalid": "" } : {},
111
- ...m ? { "data-disabled": "" } : {},
112
- ...E ? { "data-force": E } : {},
103
+ ], disabled: h, id: g, name: _, className: v, label: y, description: b, error: x, optional: S, required: C, layout: T, "aria-label": E, "data-force": j } = o, M = r(), N = i(o), P = t(), [F, I] = O(l), [L, R] = O(""), B = (e) => {
104
+ R(e), d?.(e);
105
+ }, V = D(null), H = c ?? F, U = (e) => {
106
+ c === void 0 && I(e), u?.(e);
107
+ }, W = RegExp(`[${m.map((e) => e.replace(/[\]\\^-]/g, "\\$&")).join("")}\\n\\t]+`), G = (e) => {
108
+ let t = e.split(W).map((e) => e.trim()).filter(Boolean).filter((e) => !H.includes(e));
109
+ t.length && U([...H, ...t]), B("");
110
+ }, K = H.map((e) => !p || p(e)), q = K.find((e) => e !== !0), J = x ?? (typeof q == "string" ? q : void 0), Y = /* @__PURE__ */ A("div", {
111
+ className: e("flex w-full min-w-0 flex-wrap items-center gap-4 rounded-field material-field transition-control cursor-text", z.size.md.classes, h && "cursor-not-allowed", !(y || b || J) && v),
112
+ ...J || M?.invalid ? { "data-invalid": "" } : {},
113
+ ...h ? { "data-disabled": "" } : {},
114
+ ...j ? { "data-force": j } : {},
113
115
  onMouseDown: (e) => {
114
- e.target === e.currentTarget && (e.preventDefault(), R.current?.focus());
116
+ e.target === e.currentTarget && (e.preventDefault(), V.current?.focus());
115
117
  },
116
118
  children: [
117
- B.map((e, t) => {
118
- let r = W[t];
119
+ H.map((e, t) => {
120
+ let r = K[t];
119
121
  return /* @__PURE__ */ k(w, {
120
122
  invalid: r !== !0,
121
- ...m ? {} : {
122
- onRemove: () => V(B.filter((t) => t !== e)),
123
- removeLabel: N("tagInput.remove", "Remove {tag}", { tag: e })
123
+ ...h ? {} : {
124
+ onRemove: () => U(H.filter((t) => t !== e)),
125
+ removeLabel: P("tagInput.remove", "Remove {tag}", { tag: e })
124
126
  },
125
127
  children: typeof r == "string" ? /* @__PURE__ */ k(n, {
126
128
  content: r,
@@ -130,49 +132,49 @@ var z = { size: { md: { classes: "min-h-36 p-4" } } }, B = { size: "md" }, V = /
130
132
  }),
131
133
  /* @__PURE__ */ k("input", {
132
134
  ref: (e) => {
133
- R.current = e, typeof s == "function" ? s(e) : s && (s.current = e);
135
+ V.current = e, typeof s == "function" ? s(e) : s && (s.current = e);
134
136
  },
135
- ...h ? { id: h } : {},
136
- ...M.controlProps,
137
- ...T ? { "aria-label": T } : {},
138
- ...K ? { "aria-invalid": !0 } : {},
139
- disabled: m,
140
- required: S && B.length === 0,
141
- ...S ? { "aria-required": !0 } : {},
142
- value: I,
143
- placeholder: B.length ? void 0 : d,
137
+ ...g ? { id: g } : {},
138
+ ...N.controlProps,
139
+ ...E ? { "aria-label": E } : {},
140
+ ...J ? { "aria-invalid": !0 } : {},
141
+ disabled: h,
142
+ required: C && H.length === 0,
143
+ ...C ? { "aria-required": !0 } : {},
144
+ value: L,
145
+ placeholder: H.length ? void 0 : f,
144
146
  onChange: (e) => {
145
147
  let t = e.target.value;
146
- p.some((e) => t.endsWith(e)) ? U(t) : L(t);
148
+ m.some((e) => t.endsWith(e)) ? G(t) : B(t);
147
149
  },
148
150
  onKeyDown: (e) => {
149
- e.key === "Enter" && I.trim() ? (e.preventDefault(), U(I)) : e.key === "Backspace" && !I && B.length && V(B.slice(0, -1));
151
+ e.key === "Enter" && L.trim() ? (e.preventDefault(), G(L)) : e.key === "Backspace" && !L && H.length && U(H.slice(0, -1));
150
152
  },
151
153
  onPaste: (e) => {
152
154
  let t = e.clipboardData.getData("text");
153
- H.test(t) && (e.preventDefault(), U(I + t));
155
+ W.test(t) && (e.preventDefault(), G(L + t));
154
156
  },
155
- onBlur: () => I.trim() && U(I),
156
- className: e("my-4 min-w-80 flex-1 bg-transparent px-8 text-body text-fg outline-none placeholder:text-fg-tertiary disabled:cursor-not-allowed", B.length === 0 && "pl-12")
157
+ onBlur: () => L.trim() && G(L),
158
+ className: e("my-4 min-w-80 flex-1 bg-transparent px-8 text-body text-fg outline-none placeholder:text-fg-tertiary disabled:cursor-not-allowed", H.length === 0 && "pl-12")
157
159
  }),
158
- g && /* @__PURE__ */ k("input", {
160
+ _ && /* @__PURE__ */ k("input", {
159
161
  type: "hidden",
160
- name: g,
161
- value: B.join(",")
162
+ name: _,
163
+ value: H.join(",")
162
164
  })
163
165
  ]
164
166
  });
165
- return j ? q : a({
166
- label: v,
167
- description: y,
168
- error: K,
169
- optional: x,
170
- required: S,
171
- layout: C,
172
- id: M.wrapId ?? h,
173
- disabled: m,
174
- className: _
175
- }, q);
167
+ return M ? Y : a({
168
+ label: y,
169
+ description: b,
170
+ error: J,
171
+ optional: S,
172
+ required: C,
173
+ layout: T,
174
+ id: N.wrapId ?? g,
175
+ disabled: h,
176
+ className: v
177
+ }, Y);
176
178
  });
177
179
  process.env.NODE_ENV !== "production" && (V.displayName = "TagInput");
178
180
  //#endregion