@logicplanes/kaeso-ui 0.4.0 → 0.4.2

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 (309) hide show
  1. package/ai/component-guides.md +51 -1
  2. package/ai/component-registry.json +113 -17
  3. package/ai/component-registry.md +38 -12
  4. package/ai/icons.md +1 -1
  5. package/ai/tokens.md +2 -1
  6. package/dist/blocks/delete-resource.js +1 -1
  7. package/dist/blocks/pages.js +5 -5
  8. package/dist/blocks/resource-list.js +4 -4
  9. package/dist/chunks/{app-frame-Cj_gCbmu.js → app-frame-C8csevkL.js} +9 -9
  10. package/dist/chunks/{app-frame-Cj_gCbmu.js.map → app-frame-C8csevkL.js.map} +1 -1
  11. package/dist/chunks/{avatar-DOzOhYJr.js → avatar-CWbdwbJv.js} +2 -2
  12. package/dist/chunks/{avatar-DOzOhYJr.js.map → avatar-CWbdwbJv.js.map} +1 -1
  13. package/dist/chunks/{badge-wUHlj7m3.js → badge-C2KtxCLB.js} +2 -2
  14. package/dist/chunks/{badge-wUHlj7m3.js.map → badge-C2KtxCLB.js.map} +1 -1
  15. package/dist/chunks/{banner-DY1jSc9Y.js → banner-Cb8OWnqJ.js} +4 -4
  16. package/dist/chunks/{banner-DY1jSc9Y.js.map → banner-Cb8OWnqJ.js.map} +1 -1
  17. package/dist/chunks/{button-h2IFCER2.js → button-Dzu7_csE.js} +13 -13
  18. package/dist/chunks/button-Dzu7_csE.js.map +1 -0
  19. package/dist/chunks/{calendar-cVuezHQ6.js → calendar--YemJsv4.js} +2 -2
  20. package/dist/chunks/{calendar-cVuezHQ6.js.map → calendar--YemJsv4.js.map} +1 -1
  21. package/dist/chunks/{checkbox-C5yvSS7O.js → checkbox-CDfC6E-M.js} +2 -2
  22. package/dist/chunks/{checkbox-C5yvSS7O.js.map → checkbox-CDfC6E-M.js.map} +1 -1
  23. package/dist/chunks/{cn-DUDmdLpZ.js → cn-Dj6sRgkF.js} +17 -3
  24. package/dist/chunks/cn-Dj6sRgkF.js.map +1 -0
  25. package/dist/chunks/code-block-U5fCqwgC.js +330 -0
  26. package/dist/chunks/code-block-U5fCqwgC.js.map +1 -0
  27. package/dist/chunks/{code-C49NzHUQ.js → code-tqj0uhBL.js} +2 -2
  28. package/dist/chunks/{code-C49NzHUQ.js.map → code-tqj0uhBL.js.map} +1 -1
  29. package/dist/chunks/{collapsible-CDQq1Y9x.js → collapsible-CKrCX_T9.js} +13 -13
  30. package/dist/chunks/collapsible-CKrCX_T9.js.map +1 -0
  31. package/dist/chunks/{combobox-B9ttar4C.js → combobox-BARyrpXH.js} +6 -6
  32. package/dist/chunks/{combobox-B9ttar4C.js.map → combobox-BARyrpXH.js.map} +1 -1
  33. package/dist/chunks/{command-list-DZMVrXWD.js → command-list-0RR4DpUe.js} +138 -137
  34. package/dist/chunks/command-list-0RR4DpUe.js.map +1 -0
  35. package/dist/chunks/copy-button-7-irieJw.js +142 -0
  36. package/dist/chunks/copy-button-7-irieJw.js.map +1 -0
  37. package/dist/chunks/{core-Bu6iq5uh.js → core-Bl9NrBLS.js} +10 -10
  38. package/dist/chunks/core-Bl9NrBLS.js.map +1 -0
  39. package/dist/chunks/{date-popup-BJPA_fBm.js → date-popup-RQkqhko4.js} +4 -4
  40. package/dist/chunks/{date-popup-BJPA_fBm.js.map → date-popup-RQkqhko4.js.map} +1 -1
  41. package/dist/chunks/{dialog-BLcP7v24.js → dialog-DQ9vZ7vr.js} +5 -5
  42. package/dist/chunks/{dialog-BLcP7v24.js.map → dialog-DQ9vZ7vr.js.map} +1 -1
  43. package/dist/chunks/{empty-YXmSkKzR.js → empty-DvhyMXQq.js} +2 -2
  44. package/dist/chunks/{empty-YXmSkKzR.js.map → empty-DvhyMXQq.js.map} +1 -1
  45. package/dist/chunks/{field-BZriODU7.js → field-TviMvYa2.js} +2 -2
  46. package/dist/chunks/{field-BZriODU7.js.map → field-TviMvYa2.js.map} +1 -1
  47. package/dist/chunks/{icon-BqujXDUc.js → icon-D7ja-_Yk.js} +2 -2
  48. package/dist/chunks/{icon-BqujXDUc.js.map → icon-D7ja-_Yk.js.map} +1 -1
  49. package/dist/chunks/{icon-button-DmKFxQbP.js → icon-button-CPYR21Sz.js} +3 -3
  50. package/dist/chunks/{icon-button-DmKFxQbP.js.map → icon-button-CPYR21Sz.js.map} +1 -1
  51. package/dist/chunks/{identity-Chj7fW89.js → identity-DPuTkMsa.js} +6 -6
  52. package/dist/chunks/{identity-Chj7fW89.js.map → identity-DPuTkMsa.js.map} +1 -1
  53. package/dist/chunks/{input-9y3afoiq.js → input-TyLIaQ5k.js} +5 -5
  54. package/dist/chunks/{input-9y3afoiq.js.map → input-TyLIaQ5k.js.map} +1 -1
  55. package/dist/chunks/{input-group-BoxjnN8I.js → input-group-CUSNsQjQ.js} +4 -4
  56. package/dist/chunks/{input-group-BoxjnN8I.js.map → input-group-CUSNsQjQ.js.map} +1 -1
  57. package/dist/chunks/{iso-field-DAa6iPWn.js → iso-field-CWbxlll-.js} +2 -2
  58. package/dist/chunks/{iso-field-DAa6iPWn.js.map → iso-field-CWbxlll-.js.map} +1 -1
  59. package/dist/chunks/{json-view-BkG2hTXV.js → json-view-Dqd2TDkc.js} +3 -3
  60. package/dist/chunks/{json-view-BkG2hTXV.js.map → json-view-Dqd2TDkc.js.map} +1 -1
  61. package/dist/chunks/{kbd-DqWmbr_e.js → kbd-BF1vKXJf.js} +2 -2
  62. package/dist/chunks/{kbd-DqWmbr_e.js.map → kbd-BF1vKXJf.js.map} +1 -1
  63. package/dist/chunks/{link-YMcxM-BZ.js → link-B2I55xg9.js} +3 -3
  64. package/dist/chunks/{link-YMcxM-BZ.js.map → link-B2I55xg9.js.map} +1 -1
  65. package/dist/chunks/{list-7VARol_x.js → list-CkOozrVY.js} +8 -8
  66. package/dist/chunks/{list-7VARol_x.js.map → list-CkOozrVY.js.map} +1 -1
  67. package/dist/chunks/{loader-ENBh2Fbt.js → loader-DCfPndXa.js} +2 -2
  68. package/dist/chunks/{loader-ENBh2Fbt.js.map → loader-DCfPndXa.js.map} +1 -1
  69. package/dist/chunks/{markdown-DBVNULWg.js → markdown-BEgwZFlu.js} +9 -9
  70. package/dist/chunks/{markdown-DBVNULWg.js.map → markdown-BEgwZFlu.js.map} +1 -1
  71. package/dist/chunks/{menu-Bnfi9P3t.js → menu-fl_QQb38.js} +4 -4
  72. package/dist/chunks/{menu-Bnfi9P3t.js.map → menu-fl_QQb38.js.map} +1 -1
  73. package/dist/chunks/{meter-DhTnem4k.js → meter-Bj4N3Xuh.js} +2 -2
  74. package/dist/chunks/{meter-DhTnem4k.js.map → meter-Bj4N3Xuh.js.map} +1 -1
  75. package/dist/chunks/{nav-sheet-D7wIF_OU.js → nav-sheet-B2rNb8GB.js} +2 -2
  76. package/dist/chunks/{nav-sheet-D7wIF_OU.js.map → nav-sheet-B2rNb8GB.js.map} +1 -1
  77. package/dist/chunks/{nav-wordmark-DmbT1Aiw.js → nav-wordmark-_pjheAsZ.js} +2 -2
  78. package/dist/chunks/{nav-wordmark-DmbT1Aiw.js.map → nav-wordmark-_pjheAsZ.js.map} +1 -1
  79. package/dist/chunks/{page-header-B3tV8Wog.js → page-header-DjUMDG69.js} +4 -4
  80. package/dist/chunks/{page-header-B3tV8Wog.js.map → page-header-DjUMDG69.js.map} +1 -1
  81. package/dist/chunks/{pagination-CLfsofo3.js → pagination-BaY8jdli.js} +4 -4
  82. package/dist/chunks/{pagination-CLfsofo3.js.map → pagination-BaY8jdli.js.map} +1 -1
  83. package/dist/chunks/{picker-popover-B5YdOxNm.js → picker-popover-DShea4b8.js} +7 -7
  84. package/dist/chunks/{picker-popover-B5YdOxNm.js.map → picker-popover-DShea4b8.js.map} +1 -1
  85. package/dist/chunks/{popover-bjxg020P.js → popover-CFMwaeIP.js} +2 -2
  86. package/dist/chunks/{popover-bjxg020P.js.map → popover-CFMwaeIP.js.map} +1 -1
  87. package/dist/chunks/{radio-DwYcXAzv.js → radio-Yl0nO-Sj.js} +2 -2
  88. package/dist/chunks/{radio-DwYcXAzv.js.map → radio-Yl0nO-Sj.js.map} +1 -1
  89. package/dist/chunks/{range-popup-ZunS8QSH.js → range-popup-CkhsK3wI.js} +6 -6
  90. package/dist/chunks/{range-popup-ZunS8QSH.js.map → range-popup-CkhsK3wI.js.map} +1 -1
  91. package/dist/chunks/{release-art-Ogl-L1Vh.js → release-art-ZwfFQImt.js} +2 -2
  92. package/dist/chunks/{release-art-Ogl-L1Vh.js.map → release-art-ZwfFQImt.js.map} +1 -1
  93. package/dist/chunks/{rights-CiIBzT9o.js → rights-BlQx9C_j.js} +9 -9
  94. package/dist/chunks/{rights-CiIBzT9o.js.map → rights-BlQx9C_j.js.map} +1 -1
  95. package/dist/chunks/scroll-area-D8MD7Vpo.js +42 -0
  96. package/dist/chunks/scroll-area-D8MD7Vpo.js.map +1 -0
  97. package/dist/chunks/{section-BsET7Fo-.js → section-Ce1efbsP.js} +3 -3
  98. package/dist/chunks/{section-BsET7Fo-.js.map → section-Ce1efbsP.js.map} +1 -1
  99. package/dist/chunks/{segmented-DxjnIuww.js → segmented-C97zvDR1.js} +4 -4
  100. package/dist/chunks/{segmented-DxjnIuww.js.map → segmented-C97zvDR1.js.map} +1 -1
  101. package/dist/chunks/{select-Bbv2f5F8.js → select-x4XVsdCI.js} +14 -14
  102. package/dist/chunks/select-x4XVsdCI.js.map +1 -0
  103. package/dist/chunks/{separator-CpAUELNs.js → separator-D7TzNHmX.js} +2 -2
  104. package/dist/chunks/{separator-CpAUELNs.js.map → separator-D7TzNHmX.js.map} +1 -1
  105. package/dist/chunks/{sidebar-ZSTPK9Jn.js → sidebar-DtFlejU7.js} +7 -7
  106. package/dist/chunks/{sidebar-ZSTPK9Jn.js.map → sidebar-DtFlejU7.js.map} +1 -1
  107. package/dist/chunks/{sidebar-menu-ct8IiL4z.js → sidebar-menu-CxQbGwyj.js} +2 -2
  108. package/dist/chunks/{sidebar-menu-ct8IiL4z.js.map → sidebar-menu-CxQbGwyj.js.map} +1 -1
  109. package/dist/chunks/{skeleton-BM797MAg.js → skeleton-Dcz57Zyp.js} +2 -2
  110. package/dist/chunks/{skeleton-BM797MAg.js.map → skeleton-Dcz57Zyp.js.map} +1 -1
  111. package/dist/chunks/{slider-Ds-tqY-1.js → slider-Ci83PGtj.js} +2 -2
  112. package/dist/chunks/{slider-Ds-tqY-1.js.map → slider-Ci83PGtj.js.map} +1 -1
  113. package/dist/chunks/{status-dot-BqVOlShY.js → status-dot-QJTF0Yv4.js} +3 -3
  114. package/dist/chunks/{status-dot-BqVOlShY.js.map → status-dot-QJTF0Yv4.js.map} +1 -1
  115. package/dist/chunks/{swap-text-Cica0pUr.js → swap-text-Dr0Irxz6.js} +2 -2
  116. package/dist/chunks/{swap-text-Cica0pUr.js.map → swap-text-Dr0Irxz6.js.map} +1 -1
  117. package/dist/chunks/{switch-Cq1OfeBr.js → switch-b-VkStWj.js} +5 -5
  118. package/dist/chunks/switch-b-VkStWj.js.map +1 -0
  119. package/dist/chunks/table-BeOSKl_3.js +84 -0
  120. package/dist/chunks/table-BeOSKl_3.js.map +1 -0
  121. package/dist/chunks/{tag-XgPXKoxi.js → tag-DNdX1XRR.js} +4 -4
  122. package/dist/chunks/{tag-XgPXKoxi.js.map → tag-DNdX1XRR.js.map} +1 -1
  123. package/dist/chunks/{text-IoDy3Vxi.js → text-DCGGNqTM.js} +3 -3
  124. package/dist/chunks/{text-IoDy3Vxi.js.map → text-DCGGNqTM.js.map} +1 -1
  125. package/dist/chunks/{textarea-jOiTkfMf.js → textarea-CT2S2JVM.js} +5 -5
  126. package/dist/chunks/{textarea-jOiTkfMf.js.map → textarea-CT2S2JVM.js.map} +1 -1
  127. package/dist/chunks/{timeseries-BBWsSM4Q.js → timeseries-B-8OfeZm.js} +3 -3
  128. package/dist/chunks/{timeseries-BBWsSM4Q.js.map → timeseries-B-8OfeZm.js.map} +1 -1
  129. package/dist/chunks/{toolbar-nVLFWH2i.js → toolbar-DL6zVrzU.js} +2 -2
  130. package/dist/chunks/{toolbar-nVLFWH2i.js.map → toolbar-DL6zVrzU.js.map} +1 -1
  131. package/dist/chunks/{tooltip-CTBnfiDH.js → tooltip-BMQ9BtPp.js} +4 -4
  132. package/dist/chunks/{tooltip-CTBnfiDH.js.map → tooltip-BMQ9BtPp.js.map} +1 -1
  133. package/dist/chunks/{tooltip-root-B0zWodAJ.js → tooltip-root-BeAMXzxU.js} +4 -4
  134. package/dist/chunks/{tooltip-root-B0zWodAJ.js.map → tooltip-root-BeAMXzxU.js.map} +1 -1
  135. package/dist/components/app-frame.js +2 -2
  136. package/dist/components/avatar.js +1 -1
  137. package/dist/components/badge.js +1 -1
  138. package/dist/components/banner.js +1 -1
  139. package/dist/components/button-group.js +4 -4
  140. package/dist/components/button.js +1 -1
  141. package/dist/components/calendar.js +1 -1
  142. package/dist/components/charts/bar.js +2 -2
  143. package/dist/components/charts/donut.js +2 -2
  144. package/dist/components/charts/gauge.js +2 -2
  145. package/dist/components/charts/heatmap.js +1 -1
  146. package/dist/components/charts/sankey.js +2 -2
  147. package/dist/components/charts/sparkline.js +1 -1
  148. package/dist/components/charts/timeseries.js +1 -1
  149. package/dist/components/charts.js +2 -2
  150. package/dist/components/checkbox.js +1 -1
  151. package/dist/components/code-block.js +2 -2
  152. package/dist/components/code.js +1 -1
  153. package/dist/components/collapsible.js +1 -1
  154. package/dist/components/combobox.js +1 -1
  155. package/dist/components/command-list.js +2 -2
  156. package/dist/components/command-palette.js +32 -31
  157. package/dist/components/command-palette.js.map +1 -1
  158. package/dist/components/copy-button.js +1 -1
  159. package/dist/components/data-table.js +14 -14
  160. package/dist/components/data-table.js.map +1 -1
  161. package/dist/components/date-picker.js +7 -7
  162. package/dist/components/date-picker.js.map +1 -1
  163. package/dist/components/dialog.js +2 -2
  164. package/dist/components/display-options.js +8 -8
  165. package/dist/components/empty.js +1 -1
  166. package/dist/components/field.js +1 -1
  167. package/dist/components/figure.js +60 -0
  168. package/dist/components/figure.js.map +1 -0
  169. package/dist/components/filter-chip.js +5 -5
  170. package/dist/components/filter-row.js +1 -1
  171. package/dist/components/flow.js +2 -2
  172. package/dist/components/heading.js +1 -1
  173. package/dist/components/icon-button.js +1 -1
  174. package/dist/components/icon.js +1 -1
  175. package/dist/components/input.js +7 -7
  176. package/dist/components/kaeso/conversation.js +8 -8
  177. package/dist/components/kaeso/identity.js +1 -1
  178. package/dist/components/kaeso/moments.js +5 -5
  179. package/dist/components/kaeso/rights.js +1 -1
  180. package/dist/components/kaeso/usage.js +5 -5
  181. package/dist/components/kaeso.js +10 -10
  182. package/dist/components/kbd.js +1 -1
  183. package/dist/components/key-value.js +3 -3
  184. package/dist/components/label.js +1 -1
  185. package/dist/components/layout.js +1 -1
  186. package/dist/components/link.js +1 -1
  187. package/dist/components/list.js +1 -1
  188. package/dist/components/loader.js +2 -2
  189. package/dist/components/logo.js +2 -2
  190. package/dist/components/markdown.js +1 -1
  191. package/dist/components/menu.js +1 -1
  192. package/dist/components/meter.js +1 -1
  193. package/dist/components/page-header.js +1 -1
  194. package/dist/components/pagination.js +1 -1
  195. package/dist/components/playground.js +16 -16
  196. package/dist/components/popover.js +2 -2
  197. package/dist/components/qr-code.js +2 -2
  198. package/dist/components/qr-code.js.map +1 -1
  199. package/dist/components/radio.js +1 -1
  200. package/dist/components/release-art.js +1 -1
  201. package/dist/components/scroll-area.js +1 -41
  202. package/dist/components/section.js +1 -1
  203. package/dist/components/segmented.js +1 -1
  204. package/dist/components/select.js +1 -1
  205. package/dist/components/separator.js +1 -1
  206. package/dist/components/settings.js +5 -4
  207. package/dist/components/settings.js.map +1 -1
  208. package/dist/components/sheet.js +4 -4
  209. package/dist/components/sheet.js.map +1 -1
  210. package/dist/components/sidebar.js +1 -1
  211. package/dist/components/skeleton.js +1 -1
  212. package/dist/components/slider.js +1 -1
  213. package/dist/components/stat.js +3 -3
  214. package/dist/components/status-dot.js +1 -1
  215. package/dist/components/surface.js +1 -1
  216. package/dist/components/swap-text.js +1 -1
  217. package/dist/components/switch.js +1 -1
  218. package/dist/components/table.js +1 -1
  219. package/dist/components/tabs.js +2 -2
  220. package/dist/components/tag.js +1 -1
  221. package/dist/components/text.js +1 -1
  222. package/dist/components/theme-image.js +1 -1
  223. package/dist/components/theme-menu.js +2 -2
  224. package/dist/components/theme-select.js +1 -1
  225. package/dist/components/timeline.js +1 -1
  226. package/dist/components/toast.js +4 -4
  227. package/dist/components/toc.js +37 -22
  228. package/dist/components/toc.js.map +1 -1
  229. package/dist/components/toolbar.js +1 -1
  230. package/dist/components/tooltip.js +1 -1
  231. package/dist/components/visually-hidden.js +1 -1
  232. package/dist/index.js +88 -86
  233. package/dist/kaeso.css +45 -0
  234. package/dist/styles.css +1 -1
  235. package/dist/types/blocks/delete-resource/delete-resource.d.ts +1 -1
  236. package/dist/types/blocks/pages/pages.d.ts +3 -3
  237. package/dist/types/blocks/resource-list/resource-list.d.ts +1 -1
  238. package/dist/types/components/app-frame/app-frame.d.ts +1 -1
  239. package/dist/types/components/app-frame/nav-sheet.d.ts +1 -1
  240. package/dist/types/components/button/button.d.ts +6 -6
  241. package/dist/types/components/calendar/calendar.d.ts +1 -1
  242. package/dist/types/components/charts/core.d.ts +5 -5
  243. package/dist/types/components/code-block/code-block.d.ts +1 -1
  244. package/dist/types/components/code-block/indent.d.ts +3 -0
  245. package/dist/types/components/combobox/combobox.d.ts +1 -1
  246. package/dist/types/components/command-list/command-list.d.ts +1 -0
  247. package/dist/types/components/command-list/docs.d.ts +1 -0
  248. package/dist/types/components/command-list/picker-popover.d.ts +1 -1
  249. package/dist/types/components/command-palette/command-palette.d.ts +2 -1
  250. package/dist/types/components/command-palette/docs.d.ts +1 -0
  251. package/dist/types/components/data-table/data-table.d.ts +1 -1
  252. package/dist/types/components/date-picker/date-popup.d.ts +1 -1
  253. package/dist/types/components/date-picker/iso-field.d.ts +1 -1
  254. package/dist/types/components/date-picker/range-popup.d.ts +1 -1
  255. package/dist/types/components/dialog/dialog.d.ts +3 -3
  256. package/dist/types/components/dialog/scope.d.ts +1 -1
  257. package/dist/types/components/dialog/step-dialog.d.ts +1 -1
  258. package/dist/types/components/display-options/display-options.d.ts +1 -1
  259. package/dist/types/components/field/field.d.ts +1 -1
  260. package/dist/types/components/figure/docs.d.ts +12 -0
  261. package/dist/types/components/figure/figure.d.ts +25 -0
  262. package/dist/types/components/figure/index.d.ts +1 -0
  263. package/dist/types/components/list/list.d.ts +1 -1
  264. package/dist/types/components/list/row-checkbox.d.ts +1 -1
  265. package/dist/types/components/list/virtual-rows.d.ts +1 -1
  266. package/dist/types/components/menu/menu.d.ts +8 -8
  267. package/dist/types/components/playground/model-picker.d.ts +3 -3
  268. package/dist/types/components/playground/parameter-panel.d.ts +1 -1
  269. package/dist/types/components/popover/hover-card.d.ts +2 -2
  270. package/dist/types/components/popover/popover-root.d.ts +3 -3
  271. package/dist/types/components/radio/radio.d.ts +1 -1
  272. package/dist/types/components/select/option-checkbox.d.ts +1 -1
  273. package/dist/types/components/select/select.d.ts +4 -4
  274. package/dist/types/components/sheet/sheet.d.ts +4 -4
  275. package/dist/types/components/sidebar/sidebar-menu.d.ts +1 -1
  276. package/dist/types/components/sidebar/sidebar.d.ts +7 -7
  277. package/dist/types/components/table/docs.d.ts +3 -1
  278. package/dist/types/components/table/table.d.ts +18 -1
  279. package/dist/types/components/theme-menu/theme-menu.d.ts +1 -1
  280. package/dist/types/components/toast/toast.d.ts +3 -3
  281. package/dist/types/components/toolbar/toolbar.d.ts +1 -1
  282. package/dist/types/components/tooltip/tooltip-provider.d.ts +1 -1
  283. package/dist/types/components/tooltip/tooltip-root.d.ts +1 -1
  284. package/dist/types/components/tooltip/tooltip.d.ts +2 -2
  285. package/dist/types/hooks/use-scroll-fade.d.ts +2 -0
  286. package/dist/types/i18n/provider.d.ts +1 -1
  287. package/dist/types/index.d.ts +1 -0
  288. package/dist/types/theme/theme-provider.d.ts +1 -1
  289. package/dist/types/utils/cn.d.ts +7 -0
  290. package/dist/types/utils/inset.d.ts +2 -2
  291. package/dist/types/utils/link-provider.d.ts +1 -1
  292. package/dist/types/utils/portal-context.d.ts +1 -1
  293. package/dist/utils.js +1 -1
  294. package/foundations/color.md +1 -0
  295. package/package.json +8 -8
  296. package/dist/chunks/button-h2IFCER2.js.map +0 -1
  297. package/dist/chunks/cn-DUDmdLpZ.js.map +0 -1
  298. package/dist/chunks/code-block-BU8gYeZQ.js +0 -280
  299. package/dist/chunks/code-block-BU8gYeZQ.js.map +0 -1
  300. package/dist/chunks/collapsible-CDQq1Y9x.js.map +0 -1
  301. package/dist/chunks/command-list-DZMVrXWD.js.map +0 -1
  302. package/dist/chunks/copy-button-CXJ7fA9z.js +0 -109
  303. package/dist/chunks/copy-button-CXJ7fA9z.js.map +0 -1
  304. package/dist/chunks/core-Bu6iq5uh.js.map +0 -1
  305. package/dist/chunks/select-Bbv2f5F8.js.map +0 -1
  306. package/dist/chunks/switch-Cq1OfeBr.js.map +0 -1
  307. package/dist/chunks/table-D-36EM7f.js +0 -67
  308. package/dist/chunks/table-D-36EM7f.js.map +0 -1
  309. package/dist/components/scroll-area.js.map +0 -1
@@ -1,21 +1,21 @@
1
1
  "use client";
2
2
  import { a as e, i as t } from "./styles-CVJU9t9v.js";
3
- import { t as n } from "./cn-DUDmdLpZ.js";
3
+ import { t as n } from "./cn-Dj6sRgkF.js";
4
4
  import { i as r } from "./context-BELWW79w.js";
5
- import { t as i } from "./icon-BqujXDUc.js";
5
+ import { t as i } from "./icon-D7ja-_Yk.js";
6
6
  import { t as a } from "./option-checkbox-Df7WhGn4.js";
7
- import { r as o } from "./combobox-B9ttar4C.js";
7
+ import { r as o } from "./combobox-BARyrpXH.js";
8
8
  import { createContext as s, forwardRef as c, useCallback as l, useContext as ee, useEffect as te, useId as ne, useLayoutEffect as re, useMemo as u, useRef as d, useState as f, useSyncExternalStore as ie } from "react";
9
9
  import { jsx as p, jsxs as m } from "react/jsx-runtime";
10
10
  import { Search01Icon as ae, Tick02Icon as oe } from "@hugeicons/core-free-icons";
11
11
  import { defaultRangeExtractor as se, observeElementRect as h, useVirtualizer as ce } from "@tanstack/react-virtual";
12
12
  //#region src/components/command-list/match.ts
13
- var g = /[\s\-_./:@]/g, _ = /[\s\-_./:@]/;
14
- function v(e, t) {
13
+ var g = /[\s\-_./:@]/g, le = /[\s\-_./:@]/;
14
+ function _(e, t) {
15
15
  if (t === e) return 100;
16
16
  if (t.startsWith(e)) return 80;
17
17
  let n = t.indexOf(e);
18
- if (n > 0) return _.test(t[n - 1] ?? "") ? 70 : 50;
18
+ if (n > 0) return le.test(t[n - 1] ?? "") ? 70 : 50;
19
19
  let r = e.replace(g, "");
20
20
  if (r && t.replace(g, "").includes(r)) return 40;
21
21
  if (e.length < 3) return 0;
@@ -23,14 +23,14 @@ function v(e, t) {
23
23
  for (let n = 0; n < t.length && i < e.length; n++) t[n] === e[i] && (a >= 0 && n !== a + 1 && (o += 1), a = n, i += 1);
24
24
  return i < e.length ? 0 : Math.max(1, 30 - o * 3);
25
25
  }
26
- function y(e, t) {
26
+ function v(e, t) {
27
27
  let n = e.trim().toLowerCase().split(/\s+/).filter(Boolean);
28
28
  if (n.length === 0) return 1;
29
29
  let r = t.map((e) => e.toLowerCase()), i = 0;
30
30
  for (let e of n) {
31
31
  let t = 0;
32
32
  if (r.forEach((n, r) => {
33
- t = Math.max(t, v(e, n) * (r === 0 ? 1 : .9));
33
+ t = Math.max(t, _(e, n) * (r === 0 ? 1 : .9));
34
34
  }), t === 0) return 0;
35
35
  i += t;
36
36
  }
@@ -38,7 +38,7 @@ function y(e, t) {
38
38
  }
39
39
  //#endregion
40
40
  //#region src/components/command-list/command-list.tsx
41
- var le = {
41
+ var ue = {
42
42
  height: {
43
43
  popover: { classes: "picker-limits" },
44
44
  inline: { classes: "max-h-360 rounded-group bg-raised shadow-xs" },
@@ -48,10 +48,10 @@ var le = {
48
48
  md: { classes: "" },
49
49
  lg: { classes: "" }
50
50
  }
51
- }, ue = {
51
+ }, de = {
52
52
  height: "popover",
53
53
  size: "md"
54
- }, de = {
54
+ }, fe = {
55
55
  md: {
56
56
  search: "h-44 gap-10 px-16",
57
57
  input: "text-body",
@@ -64,15 +64,15 @@ var le = {
64
64
  row: 40,
65
65
  item: "rounded-palette-item gap-12 px-12"
66
66
  }
67
- }, b = "(pointer: coarse)", fe = (e) => {
67
+ }, y = "(pointer: coarse)", pe = (e) => {
68
68
  if (typeof window > "u" || !window.matchMedia) return () => {};
69
- let t = window.matchMedia(b);
69
+ let t = window.matchMedia(y);
70
70
  return t.addEventListener("change", e), () => t.removeEventListener("change", e);
71
- }, pe = () => typeof window < "u" && !!window.matchMedia?.(b).matches, x = 28, S = 6, me = {
71
+ }, me = () => typeof window < "u" && !!window.matchMedia?.(y).matches, b = 28, x = 6, he = {
72
72
  md: 44,
73
73
  lg: 56
74
- }, he = 80, C = 480, ge = 200, _e = /* @__PURE__ */ s(null), ve = (e, t) => y(t, [e.label, ...e.keywords ?? []]);
75
- function ye(e, t, n) {
74
+ }, ge = 80, S = 480, _e = 200, ve = /* @__PURE__ */ s(null), ye = (e, t) => v(t, [e.label, ...e.keywords ?? []]);
75
+ function be(e, t, n) {
76
76
  let r = t.trim(), i = (e) => e.items.length > 0 || !!e.group.loading;
77
77
  return r ? e.map((e, t) => {
78
78
  let i = e.items.map((e) => ({
@@ -93,20 +93,20 @@ function ye(e, t, n) {
93
93
  }))
94
94
  })).filter(i);
95
95
  }
96
- function be(e, t) {
96
+ function xe(e, t) {
97
97
  return h(e, (e) => t(e.height > 0 ? e : {
98
98
  width: e.width,
99
- height: C
99
+ height: S
100
100
  }));
101
101
  }
102
- var w = /* @__PURE__ */ c(function({ groups: s, "aria-label": c, value: h, multiple: g, onSelect: _, query: v, defaultQuery: y = "", onQueryChange: ue, placeholder: b, emptyText: w, toolbar: T, footer: xe, searchPrefix: Se, loading: E, onInputKeyDown: Ce, size: D = "md", height: we, autoFocus: Te, onEscape: Ee, escapeClears: De = !0, match: O = ve, inputProps: Oe, className: ke, "data-force": Ae }, je) {
103
- let k = r(), Me = ee(_e), A = we ?? Me ?? "popover", j = ne(), Ne = `${j}-list`, [Pe, Fe] = f(y), M = v ?? Pe, Ie = ie(fe, pe, () => !1), N = de[D], P = Ie ? Math.max(44, N.row) : N.row, F = h === void 0 && !g, I = u(() => new Set(h == null ? [] : typeof h == "string" ? [h] : h), [h]), L = u(() => ye(s, M, O), [
102
+ var C = /* @__PURE__ */ c(function({ groups: s, "aria-label": c, value: h, multiple: g, onSelect: le, query: _, defaultQuery: v = "", onQueryChange: de, placeholder: y, emptyText: C, toolbar: w, footer: Se, searchPrefix: Ce, loading: T, onInputKeyDown: we, size: E = "md", height: Te, autoFocus: Ee, onEscape: D, escapeClears: De = !0, match: O = ye, counts: Oe = !0, inputProps: ke, className: Ae, "data-force": k }, je) {
103
+ let A = r(), Me = ee(ve), j = Te ?? Me ?? "popover", M = ne(), Ne = `${M}-list`, [Pe, Fe] = f(v), N = _ ?? Pe, Ie = ie(pe, me, () => !1), P = fe[E], F = Ie ? Math.max(44, P.row) : P.row, Le = h === void 0 && !g, Re = !g && !Le, ze = u(() => new Set(h == null ? [] : typeof h == "string" ? [h] : h), [h]), I = u(() => be(s, N, O), [
104
104
  s,
105
- M,
105
+ N,
106
106
  O
107
- ]), { rows: R, options: z, spans: Le } = u(() => {
107
+ ]), { rows: L, options: R, spans: Be } = u(() => {
108
108
  let e = [], t = [], n = [];
109
- return L.forEach(({ group: r, items: i }, a) => {
109
+ return I.forEach(({ group: r, items: i }, a) => {
110
110
  let o = e.length;
111
111
  r.label && e.push({
112
112
  kind: "header",
@@ -133,126 +133,127 @@ var w = /* @__PURE__ */ c(function({ groups: s, "aria-label": c, value: h, multi
133
133
  options: t,
134
134
  spans: n
135
135
  };
136
- }, [L]), Re = L.some((e) => e.group.label), B = A === "inline" && !T && !xe, ze = u(() => B ? ye(s, "", O).reduce((e, { group: t, items: n }) => e + (t.label ? x : 0) + n.length * P, 0) : 0, [
137
- B,
136
+ }, [I]), Ve = I.some((e) => e.group.label), z = j === "inline" && !w && !Se, He = u(() => z ? be(s, "", O).reduce((e, { group: t, items: n }) => e + (t.label ? b : 0) + n.length * F, 0) : 0, [
137
+ z,
138
138
  s,
139
139
  O,
140
- P
141
- ]), Be = B ? { height: me[D] + 12 + Math.max(ze, he) } : void 0, V = u(() => {
142
- let e = [S];
143
- for (let t of R) e.push((e[e.length - 1] ?? S) + (t.kind === "header" ? x : P));
140
+ F
141
+ ]), Ue = z ? { height: he[E] + 12 + Math.max(He, ge) } : void 0, B = u(() => {
142
+ let e = [x];
143
+ for (let t of L) e.push((e[e.length - 1] ?? x) + (t.kind === "header" ? b : F));
144
144
  return e;
145
- }, [R, P]), H = l((e, t) => {
146
- for (let n = e; n >= 0 && n < z.length; n += t) if (!z[n]?.item.disabled) return n;
145
+ }, [L, F]), V = l((e, t) => {
146
+ for (let n = e; n >= 0 && n < R.length; n += t) if (!R[n]?.item.disabled) return n;
147
147
  return -1;
148
- }, [z]), Ve = () => {
149
- let e = z.findIndex((e) => I.has(e.item.value) && !e.item.disabled);
150
- return e >= 0 ? e : H(0, 1);
151
- }, [U, W] = f(Ve), G = u(() => `${M.trim()}\u0000${z.map((e) => e.item.value).join("\0")}`, [z, M]), [He, Ue] = f(G);
152
- He !== G && (Ue(G), W(M.trim() ? H(0, 1) : Ve()));
153
- let We = d(U);
154
- We.current = U;
155
- let K = d(null), q = R.length > ge, J = ce({
156
- enabled: q,
157
- count: R.length,
158
- getScrollElement: () => K.current,
159
- estimateSize: (e) => R[e]?.kind === "header" ? x : P,
148
+ }, [R]), We = () => {
149
+ let e = R.findIndex((e) => ze.has(e.item.value) && !e.item.disabled);
150
+ return e >= 0 ? e : V(0, 1);
151
+ }, [H, U] = f(We), W = u(() => `${N.trim()}\u0000${R.map((e) => e.item.value).join("\0")}`, [R, N]), [Ge, Ke] = f(W);
152
+ Ge !== W && (Ke(W), U(N.trim() ? V(0, 1) : We()));
153
+ let qe = d(H);
154
+ qe.current = H;
155
+ let G = d(null), K = L.length > _e, q = ce({
156
+ enabled: K,
157
+ count: L.length,
158
+ getScrollElement: () => G.current,
159
+ estimateSize: (e) => L[e]?.kind === "header" ? b : F,
160
160
  overscan: 8,
161
161
  useFlushSync: !1,
162
- paddingStart: S,
163
- paddingEnd: S,
164
- scrollPaddingStart: Re ? x : 0,
165
- observeElementRect: be,
162
+ paddingStart: x,
163
+ paddingEnd: x,
164
+ scrollPaddingStart: Ve ? b : 0,
165
+ observeElementRect: xe,
166
166
  initialRect: {
167
167
  width: 0,
168
- height: C
168
+ height: S
169
169
  },
170
170
  rangeExtractor: (e) => {
171
- let t = z[We.current]?.row, n = se(e);
171
+ let t = R[qe.current]?.row, n = se(e);
172
172
  return t === void 0 || n.includes(t) ? n : [...n, t].sort((e, t) => e - t);
173
173
  }
174
- }), Y = d(!1);
174
+ }), J = d(!1);
175
175
  re(() => {
176
- q && J.measure();
176
+ K && q.measure();
177
177
  }, [
178
- P,
179
- J,
180
- q
178
+ F,
179
+ q,
180
+ K
181
181
  ]);
182
- let Ge = (e, t) => {
183
- if (q) return J.scrollToIndex(e, { align: t });
184
- let n = z.find((t) => t.row === e);
185
- (n ? document.getElementById(Z(z.indexOf(n))) : null)?.scrollIntoView?.({ block: t === "auto" ? "nearest" : "center" });
182
+ let Je = (e, t) => {
183
+ if (K) return q.scrollToIndex(e, { align: t });
184
+ let n = R.find((t) => t.row === e);
185
+ (n ? document.getElementById(Z(R.indexOf(n))) : null)?.scrollIntoView?.({ block: t === "auto" ? "nearest" : "center" });
186
186
  };
187
187
  te(() => {
188
- let e = z[U]?.row;
189
- e !== void 0 && Y.current && (Y.current = !1, Ge(e, "auto"));
188
+ let e = R[H]?.row;
189
+ e !== void 0 && J.current && (J.current = !1, Je(e, "auto"));
190
190
  });
191
- let Ke = d(!1);
191
+ let Y = d(!1);
192
192
  re(() => {
193
- if (Ke.current) return;
194
- Ke.current = !0;
195
- let e = z[U]?.row;
196
- e !== void 0 && e > 0 && Ge(e, "center");
193
+ if (Y.current) return;
194
+ Y.current = !0;
195
+ let e = R[H]?.row;
196
+ e !== void 0 && e > 0 && Je(e, "center");
197
197
  });
198
- let qe = (e) => {
199
- v === void 0 && Fe(e), ue?.(e);
198
+ let Ye = (e) => {
199
+ _ === void 0 && Fe(e), de?.(e);
200
200
  }, X = (e) => {
201
- e < 0 || (Y.current = !0, W(e));
202
- }, Je = Math.max(1, Math.floor((K.current?.clientHeight || C) / P) - 1), Ye = (e) => {
203
- let t = z[e];
204
- t && !t.item.disabled && (W(e), _?.(t.item.value));
205
- }, Xe = (e) => {
206
- if (Ce?.(e), e.defaultPrevented || e.altKey || e.metaKey || e.ctrlKey) return;
207
- let t = z.length - 1;
201
+ e < 0 || (J.current = !0, U(e));
202
+ }, Xe = Math.max(1, Math.floor((G.current?.clientHeight || S) / F) - 1), Ze = (e) => {
203
+ let t = R[e];
204
+ t && !t.item.disabled && (U(e), le?.(t.item.value));
205
+ }, Qe = (e) => {
206
+ if (we?.(e), e.defaultPrevented || e.altKey || e.metaKey || e.ctrlKey) return;
207
+ let t = R.length - 1;
208
208
  switch (e.key) {
209
209
  case "ArrowDown":
210
- e.preventDefault(), X(U < 0 ? H(0, 1) : H(U + 1, 1) >= 0 ? H(U + 1, 1) : H(0, 1));
210
+ e.preventDefault(), X(H < 0 ? V(0, 1) : V(H + 1, 1) >= 0 ? V(H + 1, 1) : V(0, 1));
211
211
  break;
212
212
  case "ArrowUp":
213
- e.preventDefault(), X(U < 0 ? H(t, -1) : H(U - 1, -1) >= 0 ? H(U - 1, -1) : H(t, -1));
213
+ e.preventDefault(), X(H < 0 ? V(t, -1) : V(H - 1, -1) >= 0 ? V(H - 1, -1) : V(t, -1));
214
214
  break;
215
215
  case "Home":
216
216
  if (e.shiftKey) return;
217
- e.preventDefault(), X(H(0, 1));
217
+ e.preventDefault(), X(V(0, 1));
218
218
  break;
219
219
  case "End":
220
220
  if (e.shiftKey) return;
221
- e.preventDefault(), X(H(t, -1));
221
+ e.preventDefault(), X(V(t, -1));
222
222
  break;
223
223
  case "PageDown":
224
- e.preventDefault(), X(H(Math.min(t, Math.max(U, 0) + Je), -1));
224
+ e.preventDefault(), X(V(Math.min(t, Math.max(H, 0) + Xe), -1));
225
225
  break;
226
226
  case "PageUp":
227
- e.preventDefault(), X(H(Math.max(0, U - Je), 1));
227
+ e.preventDefault(), X(V(Math.max(0, H - Xe), 1));
228
228
  break;
229
229
  case "Enter":
230
- if (U < 0) return;
231
- e.preventDefault(), e.stopPropagation(), Ye(U);
230
+ if (H < 0) return;
231
+ e.preventDefault(), e.stopPropagation(), Ze(H);
232
232
  break;
233
- case "Escape": M && De ? (e.preventDefault(), e.stopPropagation(), qe("")) : Ee && (e.preventDefault(), e.stopPropagation(), Ee());
233
+ case "Escape": N && De ? (e.preventDefault(), e.stopPropagation(), Ye("")) : D && (e.preventDefault(), e.stopPropagation(), D());
234
234
  }
235
- }, Z = (e) => `${j}-${e}-${(z[e]?.item.value ?? "").replace(/\s/g, "_")}`, Ze = (e) => `${j}-g-${e}`, Qe = (t, r) => {
236
- let i = M.trim() ? L[r]?.items.length ?? 0 : t.count;
235
+ }, Z = (e) => `${M}-${e}-${(R[e]?.item.value ?? "").replace(/\s/g, "_")}`, $e = (e) => `${M}-g-${e}`, et = (t, r) => {
236
+ let i = Oe ? N.trim() ? I[r]?.items.length ?? 0 : t.count : void 0;
237
237
  return /* @__PURE__ */ m("div", {
238
238
  "aria-hidden": !0,
239
- className: n(e, "sticky top-0 z-10 gap-8 bg-raised px-16"),
239
+ className: n(e, "sticky top-0 z-10 gap-10 bg-raised px-16"),
240
240
  children: [
241
241
  t.leading,
242
242
  /* @__PURE__ */ p("span", {
243
- id: Ze(r),
243
+ id: $e(r),
244
244
  className: "min-w-0 truncate",
245
245
  children: t.label
246
246
  }),
247
247
  i !== void 0 && /* @__PURE__ */ p("span", {
248
248
  className: "ml-auto shrink-0 font-regular text-fg-tertiary tabular",
249
249
  children: i
250
- })
250
+ }),
251
+ i !== void 0 && Re && /* @__PURE__ */ p("span", { className: "size-16 shrink-0" })
251
252
  ]
252
253
  });
253
- }, $e = (e) => {
254
- let { item: r, option: s } = e, c = s === U, l = F ? c : I.has(r.value), ee = {
255
- query: M,
254
+ }, tt = (e) => {
255
+ let { item: r, option: s } = e, c = s === H, l = Le ? c : ze.has(r.value), ee = {
256
+ query: N,
256
257
  active: c,
257
258
  selected: l
258
259
  };
@@ -260,7 +261,7 @@ var w = /* @__PURE__ */ c(function({ groups: s, "aria-label": c, value: h, multi
260
261
  id: Z(s),
261
262
  role: "option",
262
263
  "aria-selected": l,
263
- "aria-setsize": z.length,
264
+ "aria-setsize": R.length,
264
265
  "aria-posinset": s + 1,
265
266
  ...r.disabled ? {
266
267
  "aria-disabled": !0,
@@ -268,10 +269,10 @@ var w = /* @__PURE__ */ c(function({ groups: s, "aria-label": c, value: h, multi
268
269
  } : {},
269
270
  ...c ? { "data-highlighted": "" } : {},
270
271
  ...l ? { "data-selected": "" } : {},
271
- onMouseMove: () => !c && !r.disabled && W(s),
272
+ onMouseMove: () => !c && !r.disabled && U(s),
272
273
  onMouseDown: (e) => e.preventDefault(),
273
- onClick: () => Ye(s),
274
- className: n(t, "group/opt mx-6 w-auto", N.item),
274
+ onClick: () => Ze(s),
275
+ className: n(t, "group/opt mx-6 w-auto", P.item),
275
276
  children: [
276
277
  g && /* @__PURE__ */ p(a, {}),
277
278
  r.leading,
@@ -282,14 +283,14 @@ var w = /* @__PURE__ */ c(function({ groups: s, "aria-label": c, value: h, multi
282
283
  className: "min-w-0 flex-1 truncate",
283
284
  children: /* @__PURE__ */ p(o, {
284
285
  text: r.label,
285
- query: M
286
+ query: N
286
287
  })
287
288
  }),
288
289
  r.meta !== void 0 && /* @__PURE__ */ p("span", {
289
290
  className: n("ml-auto flex shrink-0 items-center gap-4 pl-16 text-caption font-medium text-fg-tertiary tabular group-data-highlighted/item:text-fg-secondary", "pl-8 font-regular"),
290
291
  children: r.meta
291
292
  }),
292
- !g && !F && /* @__PURE__ */ p("span", {
293
+ Re && /* @__PURE__ */ p("span", {
293
294
  "aria-hidden": !0,
294
295
  className: n("flex size-16 shrink-0 items-center justify-center text-fg", !l && "opacity-0"),
295
296
  children: /* @__PURE__ */ p(i, {
@@ -299,20 +300,20 @@ var w = /* @__PURE__ */ c(function({ groups: s, "aria-label": c, value: h, multi
299
300
  })
300
301
  ]
301
302
  });
302
- }, et = q ? J.getVirtualItems().map((e) => e.index) : R.map((e, t) => t), Q = /* @__PURE__ */ new Map();
303
- for (let e of et) {
304
- let t = R[e];
303
+ }, nt = K ? q.getVirtualItems().map((e) => e.index) : L.map((e, t) => t), Q = /* @__PURE__ */ new Map();
304
+ for (let e of nt) {
305
+ let t = L[e];
305
306
  if (!t) continue;
306
307
  let n = Q.get(t.gi) ?? [];
307
308
  t.kind === "item" && n.push(e), Q.set(t.gi, n);
308
309
  }
309
- let $ = R.length === 0;
310
+ let $ = L.length === 0;
310
311
  return /* @__PURE__ */ m("div", {
311
- ...Ae ? { "data-force": Ae } : {},
312
- className: n("relative flex min-w-0 flex-col overflow-hidden", le.height[A].classes, ke),
313
- ...Be ? { style: Be } : {},
312
+ ...k ? { "data-force": k } : {},
313
+ className: n("relative flex min-w-0 flex-col overflow-hidden", ue.height[j].classes, Ae),
314
+ ...Ue ? { style: Ue } : {},
314
315
  children: [
315
- E && /* @__PURE__ */ p("span", {
316
+ T && /* @__PURE__ */ p("span", {
316
317
  "aria-hidden": !0,
317
318
  className: "absolute inset-x-0 top-0 h-2 overflow-hidden",
318
319
  children: /* @__PURE__ */ p("span", { className: "block h-full w-1/3 animate-indeterminate bg-fg-tertiary" })
@@ -321,97 +322,97 @@ var w = /* @__PURE__ */ c(function({ groups: s, "aria-label": c, value: h, multi
321
322
  onMouseDown: (e) => {
322
323
  e.target === e.currentTarget && (e.preventDefault(), e.currentTarget.querySelector("input")?.focus());
323
324
  },
324
- className: n("flex shrink-0 cursor-text items-center hairline-b", N.search),
325
+ className: n("flex shrink-0 cursor-text items-center hairline-b", P.search),
325
326
  children: [
326
327
  /* @__PURE__ */ p(i, {
327
328
  icon: ae,
328
- size: D === "lg" ? "md" : "sm",
329
+ size: E === "lg" ? "md" : "sm",
329
330
  className: "text-fg-tertiary"
330
331
  }),
331
- Se,
332
+ Ce,
332
333
  /* @__PURE__ */ p("input", {
333
334
  ref: je,
334
- ...Oe,
335
+ ...ke,
335
336
  role: "combobox",
336
337
  "aria-expanded": "true",
337
338
  "aria-controls": Ne,
338
339
  "aria-autocomplete": "list",
339
- "aria-label": b ?? k("commandList.search", "Search"),
340
- ...U >= 0 && z.length > 0 ? { "aria-activedescendant": Z(U) } : {},
341
- ...Te ? {
340
+ "aria-label": y ?? A("commandList.search", "Search"),
341
+ ...H >= 0 && R.length > 0 ? { "aria-activedescendant": Z(H) } : {},
342
+ ...Ee ? {
342
343
  autoFocus: !0,
343
344
  "data-autofocus": ""
344
345
  } : {},
345
346
  type: "text",
346
347
  autoComplete: "off",
347
348
  spellCheck: !1,
348
- placeholder: b ?? k("commandList.search", "Search"),
349
- value: M,
350
- onChange: (e) => qe(e.target.value),
351
- onKeyDown: Xe,
352
- className: n("min-w-0 flex-1 bg-transparent text-fg outline-none placeholder:text-fg-tertiary", N.input)
349
+ placeholder: y ?? A("commandList.search", "Search"),
350
+ value: N,
351
+ onChange: (e) => Ye(e.target.value),
352
+ onKeyDown: Qe,
353
+ className: n("min-w-0 flex-1 bg-transparent text-fg outline-none placeholder:text-fg-tertiary", P.input)
353
354
  })
354
355
  ]
355
356
  }),
356
- T && /* @__PURE__ */ p("div", {
357
+ w && /* @__PURE__ */ p("div", {
357
358
  className: "flex shrink-0 flex-wrap items-center gap-8 px-12 py-8 hairline-b",
358
- children: T
359
+ children: w
359
360
  }),
360
361
  /* @__PURE__ */ p("div", {
361
- ref: K,
362
+ ref: G,
362
363
  id: Ne,
363
364
  ...$ ? { role: "status" } : {
364
365
  role: "listbox",
365
366
  "aria-label": c,
366
367
  ...g ? { "aria-multiselectable": !0 } : {},
367
- ...E ? { "aria-busy": !0 } : {}
368
+ ...T ? { "aria-busy": !0 } : {}
368
369
  },
369
370
  "data-dialog-body": "",
370
- ...Re ? { style: { scrollPaddingTop: x } } : {},
371
- className: n("min-h-0 overflow-y-auto overscroll-contain scrollbar-quiet", A === "popover" ? "flex-initial" : "flex-1"),
371
+ ...Ve ? { style: { scrollPaddingTop: b } } : {},
372
+ className: n("min-h-0 overflow-y-auto overscroll-contain scrollbar-quiet", j === "popover" ? "flex-initial" : "flex-1"),
372
373
  children: $ ? /* @__PURE__ */ p("div", {
373
374
  className: "flex h-80 items-center justify-center px-16 text-center text-body text-fg-secondary",
374
- children: E ? k("commandList.loading", "Loading…") : w ?? k("commandList.noResults", "No results")
375
+ children: T ? A("commandList.loading", "Loading…") : C ?? A("commandList.noResults", "No results")
375
376
  }) : /* @__PURE__ */ p("div", {
376
377
  role: "presentation",
377
378
  className: "relative w-full",
378
- style: { height: (V[R.length] ?? 0) + S },
379
+ style: { height: (B[L.length] ?? 0) + x },
379
380
  children: [...Q].map(([e, t]) => {
380
- let n = Le[e], r = L[e]?.group;
381
+ let n = Be[e], r = I[e]?.group;
381
382
  if (!n || !r) return null;
382
- let i = V[n.first] ?? 0, a = V[n.last + 1] ?? i;
383
+ let i = B[n.first] ?? 0, a = B[n.last + 1] ?? i;
383
384
  return /* @__PURE__ */ m("div", {
384
385
  ...r.label ? {
385
386
  role: "group",
386
- "aria-labelledby": Ze(e)
387
+ "aria-labelledby": $e(e)
387
388
  } : { role: "presentation" },
388
389
  className: "absolute left-0 w-full",
389
390
  style: {
390
391
  top: i,
391
392
  height: a - i
392
393
  },
393
- children: [r.label && Qe(r, e), t.map((e) => {
394
- let t = R[e];
394
+ children: [r.label && et(r, e), t.map((e) => {
395
+ let t = L[e];
395
396
  return t?.kind === "item" ? /* @__PURE__ */ p("div", {
396
397
  role: "presentation",
397
398
  className: "absolute left-0 w-full",
398
399
  style: {
399
- top: (V[e] ?? 0) - i,
400
- height: (V[e + 1] ?? 0) - (V[e] ?? 0)
400
+ top: (B[e] ?? 0) - i,
401
+ height: (B[e + 1] ?? 0) - (B[e] ?? 0)
401
402
  },
402
- children: $e(t)
403
+ children: tt(t)
403
404
  }, e) : null;
404
405
  })]
405
406
  }, r.id);
406
407
  })
407
408
  })
408
409
  }),
409
- xe
410
+ Se
410
411
  ]
411
412
  });
412
413
  });
413
- process.env.NODE_ENV !== "production" && (w.displayName = "CommandList");
414
+ process.env.NODE_ENV !== "production" && (C.displayName = "CommandList");
414
415
  //#endregion
415
- export { y as a, le as i, _e as n, ue as r, w as t };
416
+ export { v as a, ue as i, ve as n, de as r, C as t };
416
417
 
417
- //# sourceMappingURL=command-list-DZMVrXWD.js.map
418
+ //# sourceMappingURL=command-list-0RR4DpUe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-list-0RR4DpUe.js","names":["__icon_Tick02Icon","__icon_Search01Icon","MENU_LABEL","MENU_ITEM","cn","useUiText","Icon","OptionCheckbox","Highlight","SEPARATORS","SEPARATOR","wordScore","field","word","at","compactWord","next","last","gaps","i","commandMatch","words","query","lower","fields","f","total","best","KAESO_COMMAND_LIST_VARIANTS","KAESO_COMMAND_LIST_DEFAULT_VARIANTS","SIZES","COARSE","subscribeCoarse","q","onChange","isCoarse","HEADER","EDGE","SEARCH","EMPTY","FALLBACK_VIEWPORT","VIRTUALIZE_ABOVE","CommandListHeightContext","fuzzy","item","visibleGroups","kept","g","groups","items","match","m","b","a","observeWithFallback","observeElementRect","instance","cb","rect","CommandList","ariaLabel","controlledQuery","heightProp","force","t","fromFrame","useContext","height","uid","useId","listId","ownQuery","setOwnQuery","useState","defaultQuery","coarse","useSyncExternalStore","look","size","rowHeight","commands","value","multiple","checks","selected","useMemo","shown","rows","options","spans","first","group","labelled","fits","toolbar","footer","unfiltered","sum","fitted","offsets","out","row","firstEnabled","useCallback","from","step","initialActive","chosen","o","active","setActive","signature","shownFor","setShownFor","activeRef","useRef","scroller","virtual","virtualizer","useVirtualizer","activeRow","keep","defaultRangeExtractor","range","keyboardMove","reveal","option","optionId","align","opened","setQuery","onQueryChange","move","to","page","choose","onSelect","onKeyDown","onInputKeyDown","escapeClears","onEscape","groupLabelId","gi","header","count","counts","isActive","isSelected","state","Tick02Icon","indexes","v","rendered","index","list","empty","className","loading","Search01Icon","searchPrefix","inputProps","placeholder","autoFocus","emptyText","span","top","bottom"],"sources":["../../src/components/command-list/match.ts","../../src/components/command-list/command-list.tsx"],"sourcesContent":["const SEPARATORS = /[\\s\\-_./:@]/g;\nconst SEPARATOR = /[\\s\\-_./:@]/;\n\nfunction wordScore(word: string, field: string): number {\n if (field === word) return 100;\n if (field.startsWith(word)) return 80;\n const at = field.indexOf(word);\n if (at > 0) return SEPARATOR.test(field[at - 1] ?? \"\") ? 70 : 50;\n const compactWord = word.replace(SEPARATORS, \"\");\n if (compactWord && field.replace(SEPARATORS, \"\").includes(compactWord)) return 40;\n if (word.length < 3) return 0;\n let next = 0;\n let last = -1;\n let gaps = 0;\n for (let i = 0; i < field.length && next < word.length; i++) {\n if (field[i] !== word[next]) continue;\n if (last >= 0 && i !== last + 1) gaps += 1;\n last = i;\n next += 1;\n }\n return next < word.length ? 0 : Math.max(1, 30 - gaps * 3);\n}\n\nexport function commandMatch(query: string, fields: readonly string[]): number {\n const words = query.trim().toLowerCase().split(/\\s+/).filter(Boolean);\n if (words.length === 0) return 1;\n const lower = fields.map((f) => f.toLowerCase());\n let total = 0;\n for (const word of words) {\n let best = 0;\n lower.forEach((field, i) => {\n best = Math.max(best, wordScore(word, field) * (i === 0 ? 1 : 0.9));\n });\n if (best === 0) return 0;\n total += best;\n }\n return total / words.length;\n}\n","import {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useId,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n useSyncExternalStore,\n type KeyboardEvent,\n type ReactNode,\n} from \"react\";\nimport { defaultRangeExtractor, observeElementRect, useVirtualizer, type Range, type Virtualizer } from \"@tanstack/react-virtual\";\nimport { cn } from \"../../utils/cn.js\";\nimport { Tick02Icon as __icon_Tick02Icon, Search01Icon as __icon_Search01Icon } from \"@hugeicons/core-free-icons\";\nimport { Icon } from \"../icon/icon.js\";\nimport { Highlight } from \"../combobox/combobox.js\";\nimport { MENU_HINT, MENU_ITEM, MENU_LABEL } from \"../menu/styles.js\";\nimport { OptionCheckbox } from \"../select/option-checkbox.js\";\nimport { useUiText } from \"../../i18n/context.js\";\nimport { commandMatch } from \"./match.js\";\n\nexport const KAESO_COMMAND_LIST_VARIANTS = {\n height: {\n popover: { classes: \"picker-limits\" },\n inline: {\n classes: \"max-h-360 rounded-group bg-raised shadow-xs\",\n },\n fill: { classes: \"min-h-0 flex-1\" },\n },\n size: {\n md: { classes: \"\" },\n lg: { classes: \"\" },\n },\n} as const;\nexport const KAESO_COMMAND_LIST_DEFAULT_VARIANTS = { height: \"popover\", size: \"md\" } as const;\n\nconst SIZES = {\n md: { search: \"h-44 gap-10 px-16\", input: \"text-body\", row: 34, item: \"\" },\n lg: { search: \"h-56 gap-12 px-20\", input: \"text-body-lg font-regular\", row: 40, item: \"rounded-palette-item gap-12 px-12\" },\n} as const;\n\nexport type CommandListHeight = keyof typeof KAESO_COMMAND_LIST_VARIANTS.height;\n\nexport interface CommandListRowState {\n query: string;\n active: boolean;\n selected: boolean;\n}\n\nexport interface CommandListItem {\n value: string;\n label: string;\n keywords?: readonly string[] | undefined;\n leading?: ReactNode | undefined;\n meta?: ReactNode | undefined;\n render?: ((state: CommandListRowState) => ReactNode) | undefined;\n disabled?: boolean | undefined;\n}\n\nexport interface CommandListGroup {\n id: string;\n label?: string | undefined;\n leading?: ReactNode | undefined;\n count?: ReactNode | undefined;\n loading?: boolean | undefined;\n items: CommandListItem[];\n}\n\nexport interface CommandListProps {\n groups: CommandListGroup[];\n \"aria-label\": string;\n value?: string | readonly string[] | null | undefined;\n multiple?: boolean | undefined;\n onSelect?: ((value: string) => void) | undefined;\n query?: string | undefined;\n defaultQuery?: string | undefined;\n onQueryChange?: ((query: string) => void) | undefined;\n placeholder?: string | undefined;\n emptyText?: ReactNode | undefined;\n toolbar?: ReactNode | undefined;\n footer?: ReactNode | undefined;\n searchPrefix?: ReactNode | undefined;\n loading?: boolean | undefined;\n onInputKeyDown?: ((event: KeyboardEvent<HTMLInputElement>) => void) | undefined;\n size?: keyof typeof KAESO_COMMAND_LIST_VARIANTS.size | undefined;\n height?: CommandListHeight | undefined;\n autoFocus?: boolean | undefined;\n onEscape?: (() => void) | undefined;\n escapeClears?: boolean | undefined;\n match?: ((item: CommandListItem, query: string) => number) | undefined;\n counts?: boolean | undefined;\n inputProps?: { [attribute: `data-${string}`]: string } | undefined;\n className?: string | undefined;\n \"data-force\"?: string | undefined;\n}\n\nconst COARSE = \"(pointer: coarse)\";\nconst subscribeCoarse = (onChange: () => void) => {\n if (typeof window === \"undefined\" || !window.matchMedia) return () => {};\n const q = window.matchMedia(COARSE);\n q.addEventListener(\"change\", onChange);\n return () => q.removeEventListener(\"change\", onChange);\n};\nconst isCoarse = () => typeof window !== \"undefined\" && !!window.matchMedia?.(COARSE).matches;\n\nconst HEADER = 28;\nconst EDGE = 6;\nconst SEARCH = { md: 44, lg: 56 } as const;\nconst EMPTY = 80;\nconst FALLBACK_VIEWPORT = 480;\nconst VIRTUALIZE_ABOVE = 200;\n\nexport const CommandListHeightContext = /* @__PURE__ */ createContext<CommandListHeight | null>(null);\n\ntype Row = { kind: \"header\"; group: CommandListGroup; gi: number } | { kind: \"item\"; item: CommandListItem; gi: number; option: number; score: number };\n\nconst fuzzy = (item: CommandListItem, query: string) => commandMatch(query, [item.label, ...(item.keywords ?? [])]);\n\nfunction visibleGroups(groups: CommandListGroup[], query: string, match: (item: CommandListItem, query: string) => number) {\n const q = query.trim();\n const kept = (g: { group: CommandListGroup; items: unknown[] }) => g.items.length > 0 || !!g.group.loading;\n if (!q) return groups.map((g) => ({ group: g, items: g.items.map((item) => ({ item, score: 1 })) })).filter(kept);\n return groups\n .map((g, order) => {\n const items = g.items\n .map((item) => ({ item, score: match(item, q) }))\n .filter((m) => m.score > 0)\n .sort((a, b) => b.score - a.score);\n return { group: g, items, order, best: items[0]?.score ?? 0 };\n })\n .filter(kept)\n .sort((a, b) => b.best - a.best || a.order - b.order);\n}\n\nfunction observeWithFallback(instance: Virtualizer<HTMLDivElement, Element>, cb: (rect: { width: number; height: number }) => void) {\n return observeElementRect(instance, (rect) => cb(rect.height > 0 ? rect : { width: rect.width, height: FALLBACK_VIEWPORT }));\n}\n\nexport const CommandList = /* @__PURE__ */ forwardRef<HTMLInputElement, CommandListProps>(function CommandList(\n {\n groups,\n \"aria-label\": ariaLabel,\n value,\n multiple,\n onSelect,\n query: controlledQuery,\n defaultQuery = \"\",\n onQueryChange,\n placeholder,\n emptyText,\n toolbar,\n footer,\n searchPrefix,\n loading,\n onInputKeyDown,\n size = \"md\",\n height: heightProp,\n autoFocus,\n onEscape,\n escapeClears = true,\n match = fuzzy,\n counts = true,\n inputProps,\n className,\n \"data-force\": force,\n },\n ref,\n) {\n const t = useUiText();\n const fromFrame = useContext(CommandListHeightContext);\n const height = heightProp ?? fromFrame ?? \"popover\";\n const uid = useId();\n const listId = `${uid}-list`;\n const [ownQuery, setOwnQuery] = useState(defaultQuery);\n const query = controlledQuery ?? ownQuery;\n const coarse = useSyncExternalStore(subscribeCoarse, isCoarse, () => false);\n const look = SIZES[size];\n const rowHeight = coarse ? Math.max(44, look.row) : look.row;\n const commands = value === undefined && !multiple;\n const checks = !multiple && !commands;\n const selected = useMemo(() => new Set(value == null ? [] : typeof value === \"string\" ? [value] : value), [value]);\n\n const shown = useMemo(() => visibleGroups(groups, query, match), [groups, query, match]);\n const { rows, options, spans } = useMemo(() => {\n const rows: Row[] = [];\n const options: { row: number; item: CommandListItem; gi: number }[] = [];\n const spans: { first: number; last: number }[] = [];\n shown.forEach(({ group, items }, gi) => {\n const first = rows.length;\n if (group.label) rows.push({ kind: \"header\", group, gi });\n for (const { item, score } of items) {\n options.push({ row: rows.length, item, gi });\n rows.push({ kind: \"item\", item, gi, option: options.length - 1, score });\n }\n spans.push({ first, last: rows.length - 1 });\n });\n return { rows, options, spans };\n }, [shown]);\n const labelled = shown.some((g) => g.group.label);\n const fits = height === \"inline\" && !toolbar && !footer;\n const unfiltered = useMemo(\n () => (fits ? visibleGroups(groups, \"\", match).reduce((sum, { group, items }) => sum + (group.label ? HEADER : 0) + items.length * rowHeight, 0) : 0),\n [fits, groups, match, rowHeight],\n );\n const fitted = fits ? { height: SEARCH[size] + 2 * EDGE + Math.max(unfiltered, EMPTY) } : undefined;\n const offsets = useMemo(() => {\n const out = [EDGE];\n for (const row of rows) out.push((out[out.length - 1] ?? EDGE) + (row.kind === \"header\" ? HEADER : rowHeight));\n return out;\n }, [rows, rowHeight]);\n\n const firstEnabled = useCallback(\n (from: number, step: 1 | -1) => {\n for (let i = from; i >= 0 && i < options.length; i += step) if (!options[i]?.item.disabled) return i;\n return -1;\n },\n [options],\n );\n const initialActive = () => {\n const chosen = options.findIndex((o) => selected.has(o.item.value) && !o.item.disabled);\n return chosen >= 0 ? chosen : firstEnabled(0, 1);\n };\n const [active, setActive] = useState(initialActive);\n const signature = useMemo(() => `${query.trim()}\\u0000${options.map((o) => o.item.value).join(\"\\u0000\")}`, [options, query]);\n const [shownFor, setShownFor] = useState(signature);\n if (shownFor !== signature) {\n setShownFor(signature);\n setActive(query.trim() ? firstEnabled(0, 1) : initialActive());\n }\n const activeRef = useRef(active);\n activeRef.current = active;\n\n const scroller = useRef<HTMLDivElement | null>(null);\n const virtual = rows.length > VIRTUALIZE_ABOVE;\n const virtualizer = useVirtualizer<HTMLDivElement, Element>({\n enabled: virtual,\n count: rows.length,\n getScrollElement: () => scroller.current,\n estimateSize: (i) => (rows[i]?.kind === \"header\" ? HEADER : rowHeight),\n overscan: 8,\n useFlushSync: false,\n paddingStart: EDGE,\n paddingEnd: EDGE,\n scrollPaddingStart: labelled ? HEADER : 0,\n observeElementRect: observeWithFallback,\n initialRect: { width: 0, height: FALLBACK_VIEWPORT },\n rangeExtractor: (range: Range) => {\n const activeRow = options[activeRef.current]?.row;\n const keep = defaultRangeExtractor(range);\n return activeRow === undefined || keep.includes(activeRow) ? keep : [...keep, activeRow].sort((a, b) => a - b);\n },\n });\n const keyboardMove = useRef(false);\n useLayoutEffect(() => {\n if (virtual) virtualizer.measure();\n }, [rowHeight, virtualizer, virtual]);\n const reveal = (row: number, align: \"auto\" | \"center\") => {\n if (virtual) return virtualizer.scrollToIndex(row, { align });\n const option = options.find((o) => o.row === row);\n const el = option ? document.getElementById(optionId(options.indexOf(option))) : null;\n el?.scrollIntoView?.({ block: align === \"auto\" ? \"nearest\" : \"center\" });\n };\n useEffect(() => {\n const row = options[active]?.row;\n if (row === undefined) return;\n if (keyboardMove.current) {\n keyboardMove.current = false;\n reveal(row, \"auto\");\n }\n });\n const opened = useRef(false);\n useLayoutEffect(() => {\n if (opened.current) return;\n opened.current = true;\n const row = options[active]?.row;\n if (row !== undefined && row > 0) reveal(row, \"center\");\n });\n\n const setQuery = (next: string) => {\n if (controlledQuery === undefined) setOwnQuery(next);\n onQueryChange?.(next);\n };\n const move = (to: number) => {\n if (to < 0) return;\n keyboardMove.current = true;\n setActive(to);\n };\n const page = Math.max(1, Math.floor((scroller.current?.clientHeight || FALLBACK_VIEWPORT) / rowHeight) - 1);\n const choose = (i: number) => {\n const o = options[i];\n if (!o || o.item.disabled) return;\n setActive(i);\n onSelect?.(o.item.value);\n };\n const onKeyDown = (e: KeyboardEvent<HTMLInputElement>) => {\n onInputKeyDown?.(e);\n if (e.defaultPrevented || e.altKey || e.metaKey || e.ctrlKey) return;\n const last = options.length - 1;\n switch (e.key) {\n case \"ArrowDown\":\n e.preventDefault();\n move(active < 0 ? firstEnabled(0, 1) : firstEnabled(active + 1, 1) >= 0 ? firstEnabled(active + 1, 1) : firstEnabled(0, 1));\n break;\n case \"ArrowUp\":\n e.preventDefault();\n move(active < 0 ? firstEnabled(last, -1) : firstEnabled(active - 1, -1) >= 0 ? firstEnabled(active - 1, -1) : firstEnabled(last, -1));\n break;\n case \"Home\":\n if (e.shiftKey) return;\n e.preventDefault();\n move(firstEnabled(0, 1));\n break;\n case \"End\":\n if (e.shiftKey) return;\n e.preventDefault();\n move(firstEnabled(last, -1));\n break;\n case \"PageDown\":\n e.preventDefault();\n move(firstEnabled(Math.min(last, Math.max(active, 0) + page), -1));\n break;\n case \"PageUp\":\n e.preventDefault();\n move(firstEnabled(Math.max(0, active - page), 1));\n break;\n case \"Enter\":\n if (active < 0) return;\n e.preventDefault();\n e.stopPropagation();\n choose(active);\n break;\n case \"Escape\":\n if (query && escapeClears) {\n e.preventDefault();\n e.stopPropagation();\n setQuery(\"\");\n } else if (onEscape) {\n e.preventDefault();\n e.stopPropagation();\n onEscape();\n }\n break;\n }\n };\n\n const optionId = (i: number) => `${uid}-${i}-${(options[i]?.item.value ?? \"\").replace(/\\s/g, \"_\")}`;\n const groupLabelId = (gi: number) => `${uid}-g-${gi}`;\n const header = (group: CommandListGroup, gi: number) => {\n const count = !counts ? undefined : query.trim() ? (shown[gi]?.items.length ?? 0) : group.count;\n return (\n <div aria-hidden className={cn(MENU_LABEL, \"sticky top-0 z-10 gap-10 bg-raised px-16\")}>\n {group.leading}\n <span id={groupLabelId(gi)} className=\"min-w-0 truncate\">\n {group.label}\n </span>\n {count !== undefined && <span className=\"ml-auto shrink-0 font-regular text-fg-tertiary tabular\">{count}</span>}\n {count !== undefined && checks && <span className=\"size-16 shrink-0\" />}\n </div>\n );\n };\n const option = (row: Extract<Row, { kind: \"item\" }>) => {\n const { item, option: i } = row;\n const isActive = i === active;\n const isSelected = commands ? isActive : selected.has(item.value);\n const state = { query, active: isActive, selected: isSelected };\n return (\n <div\n id={optionId(i)}\n role=\"option\"\n aria-selected={isSelected}\n aria-setsize={options.length}\n aria-posinset={i + 1}\n {...(item.disabled ? { \"aria-disabled\": true, \"data-disabled\": \"\" } : {})}\n {...(isActive ? { \"data-highlighted\": \"\" } : {})}\n {...(isSelected ? { \"data-selected\": \"\" } : {})}\n onMouseMove={() => !isActive && !item.disabled && setActive(i)}\n onMouseDown={(e) => e.preventDefault()}\n onClick={() => choose(i)}\n className={cn(MENU_ITEM, \"group/opt mx-6 w-auto\", look.item)}\n >\n {multiple && <OptionCheckbox />}\n {item.leading}\n {item.render ? (\n <span className=\"flex min-w-0 flex-1 items-center gap-8\">{item.render(state)}</span>\n ) : (\n <span className=\"min-w-0 flex-1 truncate\">\n <Highlight text={item.label} query={query} />\n </span>\n )}\n {item.meta !== undefined && <span className={cn(MENU_HINT, \"pl-8 font-regular\")}>{item.meta}</span>}\n {checks && (\n <span aria-hidden className={cn(\"flex size-16 shrink-0 items-center justify-center text-fg\", !isSelected && \"opacity-0\")}>\n <Icon icon={__icon_Tick02Icon} size=\"sm\" />\n </span>\n )}\n </div>\n );\n };\n\n const indexes = virtual ? virtualizer.getVirtualItems().map((v) => v.index) : rows.map((_, i) => i);\n const rendered = new Map<number, number[]>();\n for (const index of indexes) {\n const row = rows[index];\n if (!row) continue;\n const list = rendered.get(row.gi) ?? [];\n if (row.kind === \"item\") list.push(index);\n rendered.set(row.gi, list);\n }\n const empty = rows.length === 0;\n return (\n <div\n {...(force ? { \"data-force\": force } : {})}\n className={cn(\"relative flex min-w-0 flex-col overflow-hidden\", KAESO_COMMAND_LIST_VARIANTS.height[height].classes, className)}\n {...(fitted ? { style: fitted } : {})}\n >\n {loading && (\n <span aria-hidden className=\"absolute inset-x-0 top-0 h-2 overflow-hidden\">\n <span className=\"block h-full w-1/3 animate-indeterminate bg-fg-tertiary\" />\n </span>\n )}\n <div\n onMouseDown={(e) => {\n if (e.target !== e.currentTarget) return;\n e.preventDefault();\n e.currentTarget.querySelector(\"input\")?.focus();\n }}\n className={cn(\"flex shrink-0 cursor-text items-center hairline-b\", look.search)}\n >\n <Icon icon={__icon_Search01Icon} size={size === \"lg\" ? \"md\" : \"sm\"} className=\"text-fg-tertiary\" />\n {searchPrefix}\n <input\n ref={ref}\n {...inputProps}\n role=\"combobox\"\n aria-expanded=\"true\"\n aria-controls={listId}\n aria-autocomplete=\"list\"\n aria-label={placeholder ?? t(\"commandList.search\", \"Search\")}\n {...(active >= 0 && options.length > 0 ? { \"aria-activedescendant\": optionId(active) } : {})}\n {...(autoFocus ? { autoFocus: true, \"data-autofocus\": \"\" } : {})}\n type=\"text\"\n autoComplete=\"off\"\n spellCheck={false}\n placeholder={placeholder ?? t(\"commandList.search\", \"Search\")}\n value={query}\n onChange={(e) => setQuery(e.target.value)}\n onKeyDown={onKeyDown}\n className={cn(\"min-w-0 flex-1 bg-transparent text-fg outline-none placeholder:text-fg-tertiary\", look.input)}\n />\n </div>\n {toolbar && <div className=\"flex shrink-0 flex-wrap items-center gap-8 px-12 py-8 hairline-b\">{toolbar}</div>}\n <div\n ref={scroller}\n id={listId}\n {...(empty\n ? { role: \"status\" }\n : { role: \"listbox\", \"aria-label\": ariaLabel, ...(multiple ? { \"aria-multiselectable\": true } : {}), ...(loading ? { \"aria-busy\": true } : {}) })}\n data-dialog-body=\"\"\n {...(labelled ? { style: { scrollPaddingTop: HEADER } } : {})}\n className={cn(\"min-h-0 overflow-y-auto overscroll-contain scrollbar-quiet\", height === \"popover\" ? \"flex-initial\" : \"flex-1\")}\n >\n {empty ? (\n <div className=\"flex h-80 items-center justify-center px-16 text-center text-body text-fg-secondary\">\n {loading ? t(\"commandList.loading\", \"Loading…\") : (emptyText ?? t(\"commandList.noResults\", \"No results\"))}\n </div>\n ) : (\n <div role=\"presentation\" className=\"relative w-full\" style={{ height: (offsets[rows.length] ?? 0) + EDGE }}>\n {[...rendered].map(([gi, indexes]) => {\n const span = spans[gi];\n const group = shown[gi]?.group;\n if (!span || !group) return null;\n const top = offsets[span.first] ?? 0;\n const bottom = offsets[span.last + 1] ?? top;\n return (\n <div\n key={group.id}\n {...(group.label ? { role: \"group\", \"aria-labelledby\": groupLabelId(gi) } : { role: \"presentation\" })}\n className=\"absolute left-0 w-full\"\n style={{ top, height: bottom - top }}\n >\n {group.label && header(group, gi)}\n {indexes.map((index) => {\n const row = rows[index];\n return row?.kind === \"item\" ? (\n <div\n key={index}\n role=\"presentation\"\n className=\"absolute left-0 w-full\"\n style={{ top: (offsets[index] ?? 0) - top, height: (offsets[index + 1] ?? 0) - (offsets[index] ?? 0) }}\n >\n {option(row)}\n </div>\n ) : null;\n })}\n </div>\n );\n })}\n </div>\n )}\n </div>\n {footer}\n </div>\n );\n});\nif (process.env.NODE_ENV !== \"production\") CommandList.displayName = \"CommandList\";\n"],"mappings":"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"}