@logicplanes/kaeso-ui 0.1.0

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 (660) hide show
  1. package/AGENTS.md +124 -0
  2. package/CLAUDE.md +3 -0
  3. package/LICENSE +21 -0
  4. package/NOTICE.md +5 -0
  5. package/README.md +43 -0
  6. package/ai/component-guides.md +4760 -0
  7. package/ai/component-registry.json +12626 -0
  8. package/ai/component-registry.md +2950 -0
  9. package/ai/icons.md +28 -0
  10. package/ai/tokens.md +207 -0
  11. package/dist/blocks/delete-resource.js +35 -0
  12. package/dist/blocks/delete-resource.js.map +1 -0
  13. package/dist/blocks/pages.js +70 -0
  14. package/dist/blocks/pages.js.map +1 -0
  15. package/dist/blocks/resource-list.js +68 -0
  16. package/dist/blocks/resource-list.js.map +1 -0
  17. package/dist/chunks/app-frame-BBIMch8X.js +224 -0
  18. package/dist/chunks/app-frame-BBIMch8X.js.map +1 -0
  19. package/dist/chunks/arrow-focus-BcySmwwU.js +11 -0
  20. package/dist/chunks/arrow-focus-BcySmwwU.js.map +1 -0
  21. package/dist/chunks/avatar-D2nJNbtC.js +83 -0
  22. package/dist/chunks/avatar-D2nJNbtC.js.map +1 -0
  23. package/dist/chunks/badge-Dkyhs0_j.js +26 -0
  24. package/dist/chunks/badge-Dkyhs0_j.js.map +1 -0
  25. package/dist/chunks/banner-BiziJuBZ.js +85 -0
  26. package/dist/chunks/banner-BiziJuBZ.js.map +1 -0
  27. package/dist/chunks/button-BHKAE6ui.js +164 -0
  28. package/dist/chunks/button-BHKAE6ui.js.map +1 -0
  29. package/dist/chunks/calendar-B5SSTE56.js +104 -0
  30. package/dist/chunks/calendar-B5SSTE56.js.map +1 -0
  31. package/dist/chunks/checkbox-BgRdbfCE.js +124 -0
  32. package/dist/chunks/checkbox-BgRdbfCE.js.map +1 -0
  33. package/dist/chunks/cn-CidVUKMm.js +669 -0
  34. package/dist/chunks/cn-CidVUKMm.js.map +1 -0
  35. package/dist/chunks/code-DDyOlIFO.js +23 -0
  36. package/dist/chunks/code-DDyOlIFO.js.map +1 -0
  37. package/dist/chunks/code-block-BbK6E4Eo.js +273 -0
  38. package/dist/chunks/code-block-BbK6E4Eo.js.map +1 -0
  39. package/dist/chunks/collapsible-Cw_1aem5.js +87 -0
  40. package/dist/chunks/collapsible-Cw_1aem5.js.map +1 -0
  41. package/dist/chunks/combobox-D8pQk22r.js +291 -0
  42. package/dist/chunks/combobox-D8pQk22r.js.map +1 -0
  43. package/dist/chunks/context-BELWW79w.js +20 -0
  44. package/dist/chunks/context-BELWW79w.js.map +1 -0
  45. package/dist/chunks/copy-button-mAzHjYXq.js +109 -0
  46. package/dist/chunks/copy-button-mAzHjYXq.js.map +1 -0
  47. package/dist/chunks/core-Bgefcs3z.js +467 -0
  48. package/dist/chunks/core-Bgefcs3z.js.map +1 -0
  49. package/dist/chunks/date-popup-Er1oQwtU.js +35 -0
  50. package/dist/chunks/date-popup-Er1oQwtU.js.map +1 -0
  51. package/dist/chunks/de-BCg1eRVd.js +384 -0
  52. package/dist/chunks/de-BCg1eRVd.js.map +1 -0
  53. package/dist/chunks/dev-CR1p7gCm.js +30 -0
  54. package/dist/chunks/dev-CR1p7gCm.js.map +1 -0
  55. package/dist/chunks/dialog-CVqSVk3T.js +283 -0
  56. package/dist/chunks/dialog-CVqSVk3T.js.map +1 -0
  57. package/dist/chunks/empty-DIbBpytW.js +38 -0
  58. package/dist/chunks/empty-DIbBpytW.js.map +1 -0
  59. package/dist/chunks/field-d8V94bvZ.js +119 -0
  60. package/dist/chunks/field-d8V94bvZ.js.map +1 -0
  61. package/dist/chunks/field-press-DwzBFafd.js +10 -0
  62. package/dist/chunks/field-press-DwzBFafd.js.map +1 -0
  63. package/dist/chunks/i18n-0RW0IAf3.js +10 -0
  64. package/dist/chunks/i18n-0RW0IAf3.js.map +1 -0
  65. package/dist/chunks/icon-Bha63LaN.js +90 -0
  66. package/dist/chunks/icon-Bha63LaN.js.map +1 -0
  67. package/dist/chunks/icon-CeNQtobn.js +47 -0
  68. package/dist/chunks/icon-CeNQtobn.js.map +1 -0
  69. package/dist/chunks/icon-button-Bw67oKtx.js +50 -0
  70. package/dist/chunks/icon-button-Bw67oKtx.js.map +1 -0
  71. package/dist/chunks/identity-DQinp-Ep.js +342 -0
  72. package/dist/chunks/identity-DQinp-Ep.js.map +1 -0
  73. package/dist/chunks/input-Biakz6GB.js +114 -0
  74. package/dist/chunks/input-Biakz6GB.js.map +1 -0
  75. package/dist/chunks/input-group-DQqEPFj_.js +87 -0
  76. package/dist/chunks/input-group-DQqEPFj_.js.map +1 -0
  77. package/dist/chunks/inset-BLMdxX4I.js +18 -0
  78. package/dist/chunks/inset-BLMdxX4I.js.map +1 -0
  79. package/dist/chunks/iso-field-CznqNVrH.js +31 -0
  80. package/dist/chunks/iso-field-CznqNVrH.js.map +1 -0
  81. package/dist/chunks/json-view-B6KHIWzh.js +174 -0
  82. package/dist/chunks/json-view-B6KHIWzh.js.map +1 -0
  83. package/dist/chunks/kbd-CBcBDvqU.js +132 -0
  84. package/dist/chunks/kbd-CBcBDvqU.js.map +1 -0
  85. package/dist/chunks/labelled-D5udSPUI.js +16 -0
  86. package/dist/chunks/labelled-D5udSPUI.js.map +1 -0
  87. package/dist/chunks/link-provider---9JdxTg.js +27 -0
  88. package/dist/chunks/link-provider---9JdxTg.js.map +1 -0
  89. package/dist/chunks/link-tTapNTpM.js +47 -0
  90. package/dist/chunks/link-tTapNTpM.js.map +1 -0
  91. package/dist/chunks/list-CN8pO8lv.js +475 -0
  92. package/dist/chunks/list-CN8pO8lv.js.map +1 -0
  93. package/dist/chunks/loader-CUehxvSZ.js +57 -0
  94. package/dist/chunks/loader-CUehxvSZ.js.map +1 -0
  95. package/dist/chunks/logo-VmXYhIJL.js +149 -0
  96. package/dist/chunks/logo-VmXYhIJL.js.map +1 -0
  97. package/dist/chunks/markdown-C-iJsYnd.js +313 -0
  98. package/dist/chunks/markdown-C-iJsYnd.js.map +1 -0
  99. package/dist/chunks/menu-OURWt_hD.js +447 -0
  100. package/dist/chunks/menu-OURWt_hD.js.map +1 -0
  101. package/dist/chunks/message-BxTkh1oA.js +49 -0
  102. package/dist/chunks/message-BxTkh1oA.js.map +1 -0
  103. package/dist/chunks/meter-DWhyzFGQ.js +84 -0
  104. package/dist/chunks/meter-DWhyzFGQ.js.map +1 -0
  105. package/dist/chunks/page-header-BIRswR73.js +41 -0
  106. package/dist/chunks/page-header-BIRswR73.js.map +1 -0
  107. package/dist/chunks/pagination-DYdLm18-.js +85 -0
  108. package/dist/chunks/pagination-DYdLm18-.js.map +1 -0
  109. package/dist/chunks/popover-BE7VO-a4.js +50 -0
  110. package/dist/chunks/popover-BE7VO-a4.js.map +1 -0
  111. package/dist/chunks/popover-root-D3q89WNF.js +26 -0
  112. package/dist/chunks/popover-root-D3q89WNF.js.map +1 -0
  113. package/dist/chunks/portal-context-BBbzDKmY.js +33 -0
  114. package/dist/chunks/portal-context-BBbzDKmY.js.map +1 -0
  115. package/dist/chunks/radio-CUxbLCvD.js +110 -0
  116. package/dist/chunks/radio-CUxbLCvD.js.map +1 -0
  117. package/dist/chunks/range-popup-AbRzgHtY.js +111 -0
  118. package/dist/chunks/range-popup-AbRzgHtY.js.map +1 -0
  119. package/dist/chunks/restore-focus-Cap1Q-R3.js +19 -0
  120. package/dist/chunks/restore-focus-Cap1Q-R3.js.map +1 -0
  121. package/dist/chunks/rights-CXo7zEf6.js +279 -0
  122. package/dist/chunks/rights-CXo7zEf6.js.map +1 -0
  123. package/dist/chunks/safe-href-G5DBNVwm.js +13 -0
  124. package/dist/chunks/safe-href-G5DBNVwm.js.map +1 -0
  125. package/dist/chunks/scroll-parent-WXvzQcUo.js +14 -0
  126. package/dist/chunks/scroll-parent-WXvzQcUo.js.map +1 -0
  127. package/dist/chunks/section-XStLtXKa.js +87 -0
  128. package/dist/chunks/section-XStLtXKa.js.map +1 -0
  129. package/dist/chunks/segmented-CDTx2n29.js +113 -0
  130. package/dist/chunks/segmented-CDTx2n29.js.map +1 -0
  131. package/dist/chunks/select-Ca3HGsN1.js +223 -0
  132. package/dist/chunks/select-Ca3HGsN1.js.map +1 -0
  133. package/dist/chunks/separator-D5AzVFTS.js +45 -0
  134. package/dist/chunks/separator-D5AzVFTS.js.map +1 -0
  135. package/dist/chunks/sidebar-C4fL_KMm.js +599 -0
  136. package/dist/chunks/sidebar-C4fL_KMm.js.map +1 -0
  137. package/dist/chunks/sidebar-menu-sd9vCpDy.js +33 -0
  138. package/dist/chunks/sidebar-menu-sd9vCpDy.js.map +1 -0
  139. package/dist/chunks/skeleton-kfuqdl1a.js +36 -0
  140. package/dist/chunks/skeleton-kfuqdl1a.js.map +1 -0
  141. package/dist/chunks/slider-DbhjJ3ML.js +57 -0
  142. package/dist/chunks/slider-DbhjJ3ML.js.map +1 -0
  143. package/dist/chunks/status-dot-CBoQpyL4.js +25 -0
  144. package/dist/chunks/status-dot-CBoQpyL4.js.map +1 -0
  145. package/dist/chunks/styles-Btvg2DCf.js +21 -0
  146. package/dist/chunks/styles-Btvg2DCf.js.map +1 -0
  147. package/dist/chunks/swap-text-BhPI8DOf.js +28 -0
  148. package/dist/chunks/swap-text-BhPI8DOf.js.map +1 -0
  149. package/dist/chunks/switch-CztLhA8F.js +59 -0
  150. package/dist/chunks/switch-CztLhA8F.js.map +1 -0
  151. package/dist/chunks/table-DYKa86af.js +67 -0
  152. package/dist/chunks/table-DYKa86af.js.map +1 -0
  153. package/dist/chunks/tag-BsmQ1xPj.js +87 -0
  154. package/dist/chunks/tag-BsmQ1xPj.js.map +1 -0
  155. package/dist/chunks/text-BPglS3vq.js +63 -0
  156. package/dist/chunks/text-BPglS3vq.js.map +1 -0
  157. package/dist/chunks/textarea-Bvk7N2bh.js +156 -0
  158. package/dist/chunks/textarea-Bvk7N2bh.js.map +1 -0
  159. package/dist/chunks/theme-provider-mgUaQK7L.js +69 -0
  160. package/dist/chunks/theme-provider-mgUaQK7L.js.map +1 -0
  161. package/dist/chunks/tone-CWpsHPb6.js +11 -0
  162. package/dist/chunks/tone-CWpsHPb6.js.map +1 -0
  163. package/dist/chunks/toolbar-Dw3uxpsE.js +36 -0
  164. package/dist/chunks/toolbar-Dw3uxpsE.js.map +1 -0
  165. package/dist/chunks/tooltip-CDu00nzg.js +124 -0
  166. package/dist/chunks/tooltip-CDu00nzg.js.map +1 -0
  167. package/dist/chunks/tooltip-root-DWhtAtFb.js +60 -0
  168. package/dist/chunks/tooltip-root-DWhtAtFb.js.map +1 -0
  169. package/dist/chunks/use-controllable-B5Fd12Bx.js +13 -0
  170. package/dist/chunks/use-controllable-B5Fd12Bx.js.map +1 -0
  171. package/dist/chunks/use-copy-Dm2ncvMX.js +24 -0
  172. package/dist/chunks/use-copy-Dm2ncvMX.js.map +1 -0
  173. package/dist/chunks/use-layout-width-DZaLOQMT.js +27 -0
  174. package/dist/chunks/use-layout-width-DZaLOQMT.js.map +1 -0
  175. package/dist/chunks/use-scroll-margin-DWcfIXac.js +25 -0
  176. package/dist/chunks/use-scroll-margin-DWcfIXac.js.map +1 -0
  177. package/dist/chunks/use-truncated-DmQoePvG.js +25 -0
  178. package/dist/chunks/use-truncated-DmQoePvG.js.map +1 -0
  179. package/dist/chunks/utils-CdH72WEp.js +8 -0
  180. package/dist/chunks/utils-CdH72WEp.js.map +1 -0
  181. package/dist/chunks/virtual-rows-BgMdVelU.js +37 -0
  182. package/dist/chunks/virtual-rows-BgMdVelU.js.map +1 -0
  183. package/dist/chunks/when-idle-Cy3pinqO.js +12 -0
  184. package/dist/chunks/when-idle-Cy3pinqO.js.map +1 -0
  185. package/dist/chunks/zh-CN-cPjO1OOo.js +384 -0
  186. package/dist/chunks/zh-CN-cPjO1OOo.js.map +1 -0
  187. package/dist/components/app-frame.js +2 -0
  188. package/dist/components/avatar.js +2 -0
  189. package/dist/components/badge.js +2 -0
  190. package/dist/components/banner.js +2 -0
  191. package/dist/components/button-group.js +69 -0
  192. package/dist/components/button-group.js.map +1 -0
  193. package/dist/components/button.js +2 -0
  194. package/dist/components/calendar.js +2 -0
  195. package/dist/components/charts/bar.js +231 -0
  196. package/dist/components/charts/bar.js.map +1 -0
  197. package/dist/components/charts/donut.js +179 -0
  198. package/dist/components/charts/donut.js.map +1 -0
  199. package/dist/components/charts/gauge.js +70 -0
  200. package/dist/components/charts/gauge.js.map +1 -0
  201. package/dist/components/charts/heatmap.js +83 -0
  202. package/dist/components/charts/heatmap.js.map +1 -0
  203. package/dist/components/charts/sankey.js +110 -0
  204. package/dist/components/charts/sankey.js.map +1 -0
  205. package/dist/components/charts/sparkline.js +72 -0
  206. package/dist/components/charts/sparkline.js.map +1 -0
  207. package/dist/components/charts/timeseries.js +253 -0
  208. package/dist/components/charts/timeseries.js.map +1 -0
  209. package/dist/components/charts.js +10 -0
  210. package/dist/components/checkbox.js +2 -0
  211. package/dist/components/code-block.js +4 -0
  212. package/dist/components/code.js +2 -0
  213. package/dist/components/collapsible.js +2 -0
  214. package/dist/components/combobox.js +2 -0
  215. package/dist/components/command-palette.js +216 -0
  216. package/dist/components/command-palette.js.map +1 -0
  217. package/dist/components/copy-button.js +2 -0
  218. package/dist/components/data-table.js +399 -0
  219. package/dist/components/data-table.js.map +1 -0
  220. package/dist/components/date-picker.js +327 -0
  221. package/dist/components/date-picker.js.map +1 -0
  222. package/dist/components/dialog.js +178 -0
  223. package/dist/components/dialog.js.map +1 -0
  224. package/dist/components/display-options.js +112 -0
  225. package/dist/components/display-options.js.map +1 -0
  226. package/dist/components/empty.js +2 -0
  227. package/dist/components/field.js +2 -0
  228. package/dist/components/filter-chip.js +120 -0
  229. package/dist/components/filter-chip.js.map +1 -0
  230. package/dist/components/filter-row.js +35 -0
  231. package/dist/components/filter-row.js.map +1 -0
  232. package/dist/components/flow.js +111 -0
  233. package/dist/components/flow.js.map +1 -0
  234. package/dist/components/heading.js +28 -0
  235. package/dist/components/heading.js.map +1 -0
  236. package/dist/components/icon-button.js +2 -0
  237. package/dist/components/icon.js +4 -0
  238. package/dist/components/input.js +181 -0
  239. package/dist/components/input.js.map +1 -0
  240. package/dist/components/kaeso/conversation.js +204 -0
  241. package/dist/components/kaeso/conversation.js.map +1 -0
  242. package/dist/components/kaeso/identity.js +2 -0
  243. package/dist/components/kaeso/moments.js +122 -0
  244. package/dist/components/kaeso/moments.js.map +1 -0
  245. package/dist/components/kaeso/rights.js +2 -0
  246. package/dist/components/kaeso/usage.js +101 -0
  247. package/dist/components/kaeso/usage.js.map +1 -0
  248. package/dist/components/kaeso.js +186 -0
  249. package/dist/components/kaeso.js.map +1 -0
  250. package/dist/components/kbd.js +2 -0
  251. package/dist/components/key-value.js +73 -0
  252. package/dist/components/key-value.js.map +1 -0
  253. package/dist/components/label.js +26 -0
  254. package/dist/components/label.js.map +1 -0
  255. package/dist/components/layout.js +72 -0
  256. package/dist/components/layout.js.map +1 -0
  257. package/dist/components/link.js +2 -0
  258. package/dist/components/list.js +2 -0
  259. package/dist/components/loader.js +38 -0
  260. package/dist/components/loader.js.map +1 -0
  261. package/dist/components/logo.js +2 -0
  262. package/dist/components/markdown.js +4 -0
  263. package/dist/components/menu.js +4 -0
  264. package/dist/components/meter.js +2 -0
  265. package/dist/components/page-header.js +2 -0
  266. package/dist/components/pagination.js +2 -0
  267. package/dist/components/playground.js +813 -0
  268. package/dist/components/playground.js.map +1 -0
  269. package/dist/components/popover.js +53 -0
  270. package/dist/components/popover.js.map +1 -0
  271. package/dist/components/portal.js +15 -0
  272. package/dist/components/portal.js.map +1 -0
  273. package/dist/components/qr-code.js +38 -0
  274. package/dist/components/qr-code.js.map +1 -0
  275. package/dist/components/radio.js +2 -0
  276. package/dist/components/scroll-area.js +35 -0
  277. package/dist/components/scroll-area.js.map +1 -0
  278. package/dist/components/section.js +2 -0
  279. package/dist/components/segmented.js +2 -0
  280. package/dist/components/select.js +2 -0
  281. package/dist/components/separator.js +2 -0
  282. package/dist/components/settings.js +99 -0
  283. package/dist/components/settings.js.map +1 -0
  284. package/dist/components/sheet.js +94 -0
  285. package/dist/components/sheet.js.map +1 -0
  286. package/dist/components/sidebar.js +2 -0
  287. package/dist/components/skeleton.js +2 -0
  288. package/dist/components/slider.js +2 -0
  289. package/dist/components/stat.js +195 -0
  290. package/dist/components/stat.js.map +1 -0
  291. package/dist/components/status-dot.js +2 -0
  292. package/dist/components/surface.js +26 -0
  293. package/dist/components/surface.js.map +1 -0
  294. package/dist/components/swap-text.js +2 -0
  295. package/dist/components/switch.js +2 -0
  296. package/dist/components/table.js +2 -0
  297. package/dist/components/tabs.js +96 -0
  298. package/dist/components/tabs.js.map +1 -0
  299. package/dist/components/tag.js +2 -0
  300. package/dist/components/text.js +2 -0
  301. package/dist/components/theme-menu.js +50 -0
  302. package/dist/components/theme-menu.js.map +1 -0
  303. package/dist/components/timeline.js +58 -0
  304. package/dist/components/timeline.js.map +1 -0
  305. package/dist/components/toast.js +214 -0
  306. package/dist/components/toast.js.map +1 -0
  307. package/dist/components/toc.js +48 -0
  308. package/dist/components/toc.js.map +1 -0
  309. package/dist/components/toolbar.js +2 -0
  310. package/dist/components/tooltip.js +18 -0
  311. package/dist/components/tooltip.js.map +1 -0
  312. package/dist/components/visually-hidden.js +17 -0
  313. package/dist/components/visually-hidden.js.map +1 -0
  314. package/dist/fonts/LICENSE-GeistMono.txt +93 -0
  315. package/dist/fonts/LICENSE-Inter.txt +93 -0
  316. package/dist/fonts/geist-mono-latin-ext-wght-normal.woff2 +0 -0
  317. package/dist/fonts/geist-mono-latin-wght-normal.woff2 +0 -0
  318. package/dist/fonts/inter-latin-ext-opsz-normal.woff2 +0 -0
  319. package/dist/fonts/inter-latin-opsz-normal.woff2 +0 -0
  320. package/dist/fonts.css +40 -0
  321. package/dist/format.js +178 -0
  322. package/dist/format.js.map +1 -0
  323. package/dist/i18n-locales.js +23 -0
  324. package/dist/i18n-locales.js.map +1 -0
  325. package/dist/i18n-provider.js +30 -0
  326. package/dist/i18n-provider.js.map +1 -0
  327. package/dist/i18n.js +7 -0
  328. package/dist/index.js +153 -0
  329. package/dist/kaeso.css +1099 -0
  330. package/dist/styles.css +2 -0
  331. package/dist/tailwind.css +10 -0
  332. package/dist/theme.js +2 -0
  333. package/dist/types/blocks/delete-resource/delete-resource.d.ts +32 -0
  334. package/dist/types/blocks/delete-resource/docs.d.ts +17 -0
  335. package/dist/types/blocks/delete-resource/index.d.ts +1 -0
  336. package/dist/types/blocks/pages/docs.d.ts +42 -0
  337. package/dist/types/blocks/pages/index.d.ts +1 -0
  338. package/dist/types/blocks/pages/pages.d.ts +65 -0
  339. package/dist/types/blocks/resource-list/docs.d.ts +15 -0
  340. package/dist/types/blocks/resource-list/index.d.ts +1 -0
  341. package/dist/types/blocks/resource-list/resource-list.d.ts +36 -0
  342. package/dist/types/component-docs.d.ts +7 -0
  343. package/dist/types/components/app-frame/app-frame.d.ts +79 -0
  344. package/dist/types/components/app-frame/docs.d.ts +23 -0
  345. package/dist/types/components/app-frame/index.d.ts +1 -0
  346. package/dist/types/components/avatar/avatar.d.ts +60 -0
  347. package/dist/types/components/avatar/docs.d.ts +21 -0
  348. package/dist/types/components/avatar/index.d.ts +1 -0
  349. package/dist/types/components/badge/badge.d.ts +41 -0
  350. package/dist/types/components/badge/docs.d.ts +9 -0
  351. package/dist/types/components/badge/index.d.ts +1 -0
  352. package/dist/types/components/banner/banner.d.ts +51 -0
  353. package/dist/types/components/banner/docs.d.ts +14 -0
  354. package/dist/types/components/banner/index.d.ts +1 -0
  355. package/dist/types/components/button/button.d.ts +116 -0
  356. package/dist/types/components/button/docs.d.ts +23 -0
  357. package/dist/types/components/button/index.d.ts +1 -0
  358. package/dist/types/components/button-group/button-group.d.ts +55 -0
  359. package/dist/types/components/button-group/docs.d.ts +11 -0
  360. package/dist/types/components/button-group/index.d.ts +1 -0
  361. package/dist/types/components/calendar/calendar.d.ts +32 -0
  362. package/dist/types/components/calendar/docs.d.ts +16 -0
  363. package/dist/types/components/calendar/index.d.ts +1 -0
  364. package/dist/types/components/charts/bar.d.ts +39 -0
  365. package/dist/types/components/charts/core.d.ts +167 -0
  366. package/dist/types/components/charts/docs.d.ts +174 -0
  367. package/dist/types/components/charts/donut.d.ts +67 -0
  368. package/dist/types/components/charts/gauge.d.ts +20 -0
  369. package/dist/types/components/charts/heatmap.d.ts +24 -0
  370. package/dist/types/components/charts/index.d.ts +8 -0
  371. package/dist/types/components/charts/sankey.d.ts +29 -0
  372. package/dist/types/components/charts/sparkline.d.ts +18 -0
  373. package/dist/types/components/charts/timeseries.d.ts +47 -0
  374. package/dist/types/components/checkbox/checkbox.d.ts +53 -0
  375. package/dist/types/components/checkbox/docs.d.ts +58 -0
  376. package/dist/types/components/checkbox/index.d.ts +1 -0
  377. package/dist/types/components/code/code.d.ts +24 -0
  378. package/dist/types/components/code/docs.d.ts +8 -0
  379. package/dist/types/components/code/index.d.ts +1 -0
  380. package/dist/types/components/code-block/code-block.d.ts +37 -0
  381. package/dist/types/components/code-block/docs.d.ts +41 -0
  382. package/dist/types/components/code-block/highlighter.d.ts +23 -0
  383. package/dist/types/components/code-block/index.d.ts +4 -0
  384. package/dist/types/components/code-block/json-view.d.ts +23 -0
  385. package/dist/types/components/code-block/kaeso-theme.d.ts +66 -0
  386. package/dist/types/components/collapsible/collapsible.d.ts +39 -0
  387. package/dist/types/components/collapsible/docs.d.ts +21 -0
  388. package/dist/types/components/collapsible/index.d.ts +1 -0
  389. package/dist/types/components/combobox/combobox.d.ts +86 -0
  390. package/dist/types/components/combobox/docs.d.ts +62 -0
  391. package/dist/types/components/combobox/index.d.ts +1 -0
  392. package/dist/types/components/command-palette/command-palette.d.ts +44 -0
  393. package/dist/types/components/command-palette/docs.d.ts +17 -0
  394. package/dist/types/components/command-palette/index.d.ts +1 -0
  395. package/dist/types/components/copy-button/copy-button.d.ts +85 -0
  396. package/dist/types/components/copy-button/docs.d.ts +30 -0
  397. package/dist/types/components/copy-button/index.d.ts +1 -0
  398. package/dist/types/components/data-table/columns.d.ts +47 -0
  399. package/dist/types/components/data-table/data-table.d.ts +80 -0
  400. package/dist/types/components/data-table/docs.d.ts +32 -0
  401. package/dist/types/components/data-table/index.d.ts +3 -0
  402. package/dist/types/components/date-picker/date-picker.d.ts +55 -0
  403. package/dist/types/components/date-picker/date-popup.d.ts +9 -0
  404. package/dist/types/components/date-picker/docs.d.ts +73 -0
  405. package/dist/types/components/date-picker/index.d.ts +2 -0
  406. package/dist/types/components/date-picker/iso-field.d.ts +5 -0
  407. package/dist/types/components/date-picker/range-popup.d.ts +13 -0
  408. package/dist/types/components/date-picker/time-input.d.ts +39 -0
  409. package/dist/types/components/dialog/dialog.d.ts +118 -0
  410. package/dist/types/components/dialog/docs.d.ts +70 -0
  411. package/dist/types/components/dialog/focus.d.ts +2 -0
  412. package/dist/types/components/dialog/index.d.ts +2 -0
  413. package/dist/types/components/dialog/step-dialog.d.ts +26 -0
  414. package/dist/types/components/display-options/display-options.d.ts +55 -0
  415. package/dist/types/components/display-options/docs.d.ts +14 -0
  416. package/dist/types/components/display-options/index.d.ts +1 -0
  417. package/dist/types/components/empty/docs.d.ts +12 -0
  418. package/dist/types/components/empty/empty.d.ts +29 -0
  419. package/dist/types/components/empty/index.d.ts +1 -0
  420. package/dist/types/components/field/docs.d.ts +20 -0
  421. package/dist/types/components/field/field.d.ts +78 -0
  422. package/dist/types/components/field/index.d.ts +1 -0
  423. package/dist/types/components/filter-chip/docs.d.ts +19 -0
  424. package/dist/types/components/filter-chip/filter-chip.d.ts +37 -0
  425. package/dist/types/components/filter-chip/index.d.ts +1 -0
  426. package/dist/types/components/filter-row/docs.d.ts +11 -0
  427. package/dist/types/components/filter-row/filter-row.d.ts +23 -0
  428. package/dist/types/components/filter-row/index.d.ts +1 -0
  429. package/dist/types/components/flow/docs.d.ts +12 -0
  430. package/dist/types/components/flow/flow.d.ts +34 -0
  431. package/dist/types/components/flow/index.d.ts +1 -0
  432. package/dist/types/components/heading/docs.d.ts +10 -0
  433. package/dist/types/components/heading/heading.d.ts +30 -0
  434. package/dist/types/components/heading/index.d.ts +1 -0
  435. package/dist/types/components/icon/docs.d.ts +10 -0
  436. package/dist/types/components/icon/icon.d.ts +37 -0
  437. package/dist/types/components/icon/index.d.ts +2 -0
  438. package/dist/types/components/icon-button/docs.d.ts +17 -0
  439. package/dist/types/components/icon-button/icon-button.d.ts +75 -0
  440. package/dist/types/components/icon-button/index.d.ts +1 -0
  441. package/dist/types/components/input/decimal.d.ts +11 -0
  442. package/dist/types/components/input/docs.d.ts +149 -0
  443. package/dist/types/components/input/index.d.ts +8 -0
  444. package/dist/types/components/input/input-group.d.ts +55 -0
  445. package/dist/types/components/input/input.d.ts +45 -0
  446. package/dist/types/components/input/number-input.d.ts +28 -0
  447. package/dist/types/components/input/otp-input.d.ts +27 -0
  448. package/dist/types/components/input/sensitive-input.d.ts +21 -0
  449. package/dist/types/components/input/tag-input.d.ts +27 -0
  450. package/dist/types/components/input/textarea.d.ts +25 -0
  451. package/dist/types/components/kaeso/conversation.d.ts +58 -0
  452. package/dist/types/components/kaeso/docs.d.ts +139 -0
  453. package/dist/types/components/kaeso/effective-access.d.ts +21 -0
  454. package/dist/types/components/kaeso/identity.d.ts +70 -0
  455. package/dist/types/components/kaeso/index.d.ts +8 -0
  456. package/dist/types/components/kaeso/moments.d.ts +30 -0
  457. package/dist/types/components/kaeso/provider-marks.d.ts +1 -0
  458. package/dist/types/components/kaeso/rights-logic.d.ts +13 -0
  459. package/dist/types/components/kaeso/rights.d.ts +69 -0
  460. package/dist/types/components/kaeso/role-picker.d.ts +38 -0
  461. package/dist/types/components/kaeso/usage.d.ts +35 -0
  462. package/dist/types/components/kbd/docs.d.ts +16 -0
  463. package/dist/types/components/kbd/index.d.ts +1 -0
  464. package/dist/types/components/kbd/kbd.d.ts +31 -0
  465. package/dist/types/components/key-value/docs.d.ts +10 -0
  466. package/dist/types/components/key-value/index.d.ts +1 -0
  467. package/dist/types/components/key-value/key-value.d.ts +50 -0
  468. package/dist/types/components/label/docs.d.ts +10 -0
  469. package/dist/types/components/label/index.d.ts +1 -0
  470. package/dist/types/components/label/label.d.ts +22 -0
  471. package/dist/types/components/layout/docs.d.ts +30 -0
  472. package/dist/types/components/layout/index.d.ts +1 -0
  473. package/dist/types/components/layout/layout.d.ts +100 -0
  474. package/dist/types/components/link/docs.d.ts +11 -0
  475. package/dist/types/components/link/index.d.ts +1 -0
  476. package/dist/types/components/link/link.d.ts +27 -0
  477. package/dist/types/components/list/docs.d.ts +75 -0
  478. package/dist/types/components/list/index.d.ts +1 -0
  479. package/dist/types/components/list/list.d.ts +119 -0
  480. package/dist/types/components/list/row-checkbox.d.ts +5 -0
  481. package/dist/types/components/list/virtual-rows.d.ts +10 -0
  482. package/dist/types/components/loader/docs.d.ts +21 -0
  483. package/dist/types/components/loader/index.d.ts +2 -0
  484. package/dist/types/components/loader/loader.d.ts +35 -0
  485. package/dist/types/components/loader/status.d.ts +55 -0
  486. package/dist/types/components/logo/docs.d.ts +10 -0
  487. package/dist/types/components/logo/index.d.ts +1 -0
  488. package/dist/types/components/logo/logo.d.ts +59 -0
  489. package/dist/types/components/logo/paths.d.ts +16 -0
  490. package/dist/types/components/markdown/docs.d.ts +15 -0
  491. package/dist/types/components/markdown/index.d.ts +1 -0
  492. package/dist/types/components/markdown/markdown.d.ts +54 -0
  493. package/dist/types/components/menu/docs.d.ts +19 -0
  494. package/dist/types/components/menu/index.d.ts +2 -0
  495. package/dist/types/components/menu/menu.d.ts +213 -0
  496. package/dist/types/components/menu/styles.d.ts +7 -0
  497. package/dist/types/components/meter/docs.d.ts +23 -0
  498. package/dist/types/components/meter/index.d.ts +1 -0
  499. package/dist/types/components/meter/meter.d.ts +51 -0
  500. package/dist/types/components/page-header/docs.d.ts +12 -0
  501. package/dist/types/components/page-header/index.d.ts +1 -0
  502. package/dist/types/components/page-header/page-header.d.ts +22 -0
  503. package/dist/types/components/pagination/docs.d.ts +17 -0
  504. package/dist/types/components/pagination/index.d.ts +1 -0
  505. package/dist/types/components/pagination/pagination.d.ts +33 -0
  506. package/dist/types/components/playground/compare-grid.d.ts +41 -0
  507. package/dist/types/components/playground/composer.d.ts +40 -0
  508. package/dist/types/components/playground/docs.d.ts +141 -0
  509. package/dist/types/components/playground/index.d.ts +7 -0
  510. package/dist/types/components/playground/model-picker.d.ts +37 -0
  511. package/dist/types/components/playground/parameter-panel.d.ts +52 -0
  512. package/dist/types/components/playground/prompt-suggestions.d.ts +23 -0
  513. package/dist/types/components/playground/response-metrics.d.ts +30 -0
  514. package/dist/types/components/playground/response-view.d.ts +55 -0
  515. package/dist/types/components/popover/docs.d.ts +21 -0
  516. package/dist/types/components/popover/hover-card.d.ts +24 -0
  517. package/dist/types/components/popover/index.d.ts +2 -0
  518. package/dist/types/components/popover/popover-root.d.ts +24 -0
  519. package/dist/types/components/popover/popover.d.ts +40 -0
  520. package/dist/types/components/portal/docs.d.ts +9 -0
  521. package/dist/types/components/portal/index.d.ts +1 -0
  522. package/dist/types/components/portal/portal.d.ts +11 -0
  523. package/dist/types/components/qr-code/docs.d.ts +10 -0
  524. package/dist/types/components/qr-code/index.d.ts +1 -0
  525. package/dist/types/components/qr-code/qr-code.d.ts +22 -0
  526. package/dist/types/components/radio/docs.d.ts +42 -0
  527. package/dist/types/components/radio/index.d.ts +1 -0
  528. package/dist/types/components/radio/labelled.d.ts +13 -0
  529. package/dist/types/components/radio/radio.d.ts +51 -0
  530. package/dist/types/components/scroll-area/docs.d.ts +11 -0
  531. package/dist/types/components/scroll-area/index.d.ts +1 -0
  532. package/dist/types/components/scroll-area/scroll-area.d.ts +28 -0
  533. package/dist/types/components/section/docs.d.ts +28 -0
  534. package/dist/types/components/section/index.d.ts +1 -0
  535. package/dist/types/components/section/section.d.ts +37 -0
  536. package/dist/types/components/segmented/docs.d.ts +15 -0
  537. package/dist/types/components/segmented/index.d.ts +1 -0
  538. package/dist/types/components/segmented/segmented.d.ts +37 -0
  539. package/dist/types/components/select/docs.d.ts +32 -0
  540. package/dist/types/components/select/index.d.ts +1 -0
  541. package/dist/types/components/select/select.d.ts +82 -0
  542. package/dist/types/components/separator/docs.d.ts +10 -0
  543. package/dist/types/components/separator/index.d.ts +1 -0
  544. package/dist/types/components/separator/separator.d.ts +33 -0
  545. package/dist/types/components/settings/docs.d.ts +32 -0
  546. package/dist/types/components/settings/index.d.ts +1 -0
  547. package/dist/types/components/settings/settings.d.ts +45 -0
  548. package/dist/types/components/sheet/docs.d.ts +20 -0
  549. package/dist/types/components/sheet/index.d.ts +1 -0
  550. package/dist/types/components/sheet/sheet.d.ts +51 -0
  551. package/dist/types/components/sidebar/docs.d.ts +20 -0
  552. package/dist/types/components/sidebar/index.d.ts +1 -0
  553. package/dist/types/components/sidebar/sidebar-menu.d.ts +16 -0
  554. package/dist/types/components/sidebar/sidebar.d.ts +178 -0
  555. package/dist/types/components/skeleton/docs.d.ts +14 -0
  556. package/dist/types/components/skeleton/index.d.ts +1 -0
  557. package/dist/types/components/skeleton/skeleton.d.ts +31 -0
  558. package/dist/types/components/slider/docs.d.ts +20 -0
  559. package/dist/types/components/slider/index.d.ts +1 -0
  560. package/dist/types/components/slider/slider.d.ts +29 -0
  561. package/dist/types/components/stat/docs.d.ts +35 -0
  562. package/dist/types/components/stat/index.d.ts +1 -0
  563. package/dist/types/components/stat/stat.d.ts +68 -0
  564. package/dist/types/components/status-dot/docs.d.ts +18 -0
  565. package/dist/types/components/status-dot/index.d.ts +1 -0
  566. package/dist/types/components/status-dot/status-dot.d.ts +36 -0
  567. package/dist/types/components/surface/docs.d.ts +8 -0
  568. package/dist/types/components/surface/index.d.ts +1 -0
  569. package/dist/types/components/surface/surface.d.ts +44 -0
  570. package/dist/types/components/swap-text/docs.d.ts +10 -0
  571. package/dist/types/components/swap-text/index.d.ts +1 -0
  572. package/dist/types/components/swap-text/swap-text.d.ts +22 -0
  573. package/dist/types/components/switch/docs.d.ts +21 -0
  574. package/dist/types/components/switch/index.d.ts +1 -0
  575. package/dist/types/components/switch/switch.d.ts +39 -0
  576. package/dist/types/components/table/docs.d.ts +6 -0
  577. package/dist/types/components/table/index.d.ts +1 -0
  578. package/dist/types/components/table/table.d.ts +30 -0
  579. package/dist/types/components/tabs/docs.d.ts +22 -0
  580. package/dist/types/components/tabs/index.d.ts +1 -0
  581. package/dist/types/components/tabs/tabs.d.ts +61 -0
  582. package/dist/types/components/tag/docs.d.ts +30 -0
  583. package/dist/types/components/tag/index.d.ts +1 -0
  584. package/dist/types/components/tag/tag.d.ts +63 -0
  585. package/dist/types/components/text/docs.d.ts +15 -0
  586. package/dist/types/components/text/index.d.ts +1 -0
  587. package/dist/types/components/text/text.d.ts +111 -0
  588. package/dist/types/components/theme-menu/docs.d.ts +9 -0
  589. package/dist/types/components/theme-menu/index.d.ts +1 -0
  590. package/dist/types/components/theme-menu/theme-menu.d.ts +22 -0
  591. package/dist/types/components/timeline/docs.d.ts +8 -0
  592. package/dist/types/components/timeline/index.d.ts +1 -0
  593. package/dist/types/components/timeline/timeline.d.ts +41 -0
  594. package/dist/types/components/toast/docs.d.ts +26 -0
  595. package/dist/types/components/toast/index.d.ts +1 -0
  596. package/dist/types/components/toast/toast.d.ts +91 -0
  597. package/dist/types/components/toc/docs.d.ts +10 -0
  598. package/dist/types/components/toc/index.d.ts +1 -0
  599. package/dist/types/components/toc/toc.d.ts +27 -0
  600. package/dist/types/components/toolbar/docs.d.ts +9 -0
  601. package/dist/types/components/toolbar/index.d.ts +1 -0
  602. package/dist/types/components/toolbar/toolbar.d.ts +28 -0
  603. package/dist/types/components/tooltip/docs.d.ts +33 -0
  604. package/dist/types/components/tooltip/index.d.ts +2 -0
  605. package/dist/types/components/tooltip/tooltip-provider.d.ts +8 -0
  606. package/dist/types/components/tooltip/tooltip-root.d.ts +9 -0
  607. package/dist/types/components/tooltip/tooltip.d.ts +60 -0
  608. package/dist/types/components/tooltip/trigger-props.d.ts +23 -0
  609. package/dist/types/components/visually-hidden/docs.d.ts +6 -0
  610. package/dist/types/components/visually-hidden/index.d.ts +1 -0
  611. package/dist/types/components/visually-hidden/visually-hidden.d.ts +4 -0
  612. package/dist/types/format/index.d.ts +26 -0
  613. package/dist/types/hooks/scroll-parent.d.ts +1 -0
  614. package/dist/types/hooks/use-copy.d.ts +4 -0
  615. package/dist/types/hooks/use-indicator.d.ts +9 -0
  616. package/dist/types/hooks/use-layout-width.d.ts +3 -0
  617. package/dist/types/hooks/use-scroll-margin.d.ts +2 -0
  618. package/dist/types/hooks/use-stored-state.d.ts +1 -0
  619. package/dist/types/hooks/use-truncated.d.ts +2 -0
  620. package/dist/types/i18n/context.d.ts +11 -0
  621. package/dist/types/i18n/index.d.ts +5 -0
  622. package/dist/types/i18n/locale-names.d.ts +2 -0
  623. package/dist/types/i18n/locale-tags.d.ts +4 -0
  624. package/dist/types/i18n/locales/de.d.ts +2 -0
  625. package/dist/types/i18n/locales/en.d.ts +2 -0
  626. package/dist/types/i18n/locales/zh-CN.d.ts +2 -0
  627. package/dist/types/i18n/message.d.ts +2 -0
  628. package/dist/types/i18n/provider.d.ts +10 -0
  629. package/dist/types/icons/groups.d.ts +8 -0
  630. package/dist/types/icons/vocabulary.d.ts +413 -0
  631. package/dist/types/index.d.ts +79 -0
  632. package/dist/types/theme/index.d.ts +1 -0
  633. package/dist/types/theme/theme-provider.d.ts +22 -0
  634. package/dist/types/utils/arrow-focus.d.ts +2 -0
  635. package/dist/types/utils/cn.d.ts +370 -0
  636. package/dist/types/utils/dev.d.ts +4 -0
  637. package/dist/types/utils/field-press.d.ts +2 -0
  638. package/dist/types/utils/index.d.ts +8 -0
  639. package/dist/types/utils/inset.d.ts +6 -0
  640. package/dist/types/utils/lazy-module.d.ts +8 -0
  641. package/dist/types/utils/link-provider.d.ts +15 -0
  642. package/dist/types/utils/portal-context.d.ts +10 -0
  643. package/dist/types/utils/restore-focus.d.ts +4 -0
  644. package/dist/types/utils/safe-href.d.ts +1 -0
  645. package/dist/types/utils/tone.d.ts +2 -0
  646. package/dist/types/utils/use-controllable.d.ts +1 -0
  647. package/dist/types/utils/variants.d.ts +5 -0
  648. package/dist/types/utils/when-idle.d.ts +1 -0
  649. package/dist/utils.js +9 -0
  650. package/foundations/accessibility.md +41 -0
  651. package/foundations/color.md +40 -0
  652. package/foundations/elevation.md +23 -0
  653. package/foundations/icons.md +14 -0
  654. package/foundations/motion.md +39 -0
  655. package/foundations/psychology.md +36 -0
  656. package/foundations/shape.md +41 -0
  657. package/foundations/tokens.md +24 -0
  658. package/foundations/typography.md +35 -0
  659. package/foundations/writing.md +39 -0
  660. package/package.json +144 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kbd-CBcBDvqU.js","names":["cn","useUiText","KAESO_KBD_VARIANTS","KAESO_KBD_DEFAULT_VARIANTS","isMac","subscribePlatform","useMac","useSyncExternalStore","modifiers","ctrl","t","option","keyLabel","englishText","m","key","mac","Kbd","props","label","children","tone","className","KbdSequence","steps","keys","Fragment","i","chord","k"],"sources":["../../src/components/kbd/kbd.tsx"],"sourcesContent":["import { forwardRef, Fragment, useSyncExternalStore, type HTMLAttributes, type ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { englishText, useUiText, type UiText } from \"../../i18n/context.js\";\n\nexport const KAESO_KBD_VARIANTS = {\n tone: {\n default: { classes: \"bg-fill-1 text-fg-secondary shadow-ring\" },\n onInk: { classes: \"bg-on-ink/15 text-on-ink/80 shadow-none\" },\n },\n} as const;\nexport const KAESO_KBD_DEFAULT_VARIANTS = { tone: \"default\" } as const;\n\nconst isMac = () => typeof navigator !== \"undefined\" && /Mac|iPhone|iPad/.test(navigator.platform || navigator.userAgent);\nconst subscribePlatform = () => () => undefined;\nconst useMac = () => useSyncExternalStore(subscribePlatform, isMac, () => false);\n\nfunction modifiers(t: UiText): Record<string, [mac: string, other: string, name: string]> {\n const ctrl = t(\"kbd.ctrl\", \"Ctrl\");\n const option = t(\"kbd.optionName\", \"Option\");\n return {\n mod: [\"⌘\", ctrl, t(\"kbd.commandName\", \"Command\")],\n cmd: [\"⌘\", ctrl, t(\"kbd.commandName\", \"Command\")],\n ctrl: [\"⌃\", ctrl, t(\"kbd.controlName\", \"Control\")],\n alt: [\"⌥\", \"Alt\", option],\n option: [\"⌥\", \"Alt\", option],\n shift: [\"⇧\", t(\"kbd.shift\", \"Shift\"), t(\"kbd.shiftName\", \"Shift\")],\n enter: [\"↵\", \"Enter\", t(\"kbd.enterName\", \"Enter\")],\n esc: [\"esc\", \"Esc\", t(\"kbd.escapeName\", \"Escape\")],\n backspace: [\"⌫\", t(\"kbd.backspace\", \"Backspace\"), t(\"kbd.backspaceName\", \"Backspace\")],\n up: [\"↑\", \"↑\", t(\"kbd.upName\", \"Up\")],\n down: [\"↓\", \"↓\", t(\"kbd.downName\", \"Down\")],\n left: [\"←\", \"←\", t(\"kbd.leftName\", \"Left\")],\n right: [\"→\", \"→\", t(\"kbd.rightName\", \"Right\")],\n tab: [\"⇥\", \"Tab\", t(\"kbd.tabName\", \"Tab\")],\n };\n}\n\nexport function keyLabel(key: string, t: UiText = englishText, mac: boolean = isMac()): { visual: string; spoken: string } {\n const m = modifiers(t)[key.toLowerCase()];\n if (!m) return { visual: key.length === 1 ? key.toUpperCase() : key, spoken: key };\n return { visual: mac ? m[0] : m[1], spoken: m[2] };\n}\n\nexport interface KbdProps extends HTMLAttributes<HTMLElement> {\n children: ReactNode;\n tone?: keyof typeof KAESO_KBD_VARIANTS.tone | undefined;\n}\n\nexport const Kbd = /* @__PURE__ */ forwardRef<HTMLElement, KbdProps>(function Kbd({ children, tone = \"default\", className, ...props }, ref) {\n const t = useUiText();\n const mac = useMac();\n const label = typeof children === \"string\" ? keyLabel(children, t, mac) : null;\n return (\n <kbd\n ref={ref}\n className={cn(\n \"inline-flex h-20 min-w-20 shrink-0 items-center justify-center rounded-kbd px-5 font-sans text-micro font-medium tabular\",\n KAESO_KBD_VARIANTS.tone[tone].classes,\n className,\n )}\n {...(label && label.spoken !== label.visual ? { \"aria-label\": label.spoken, title: label.spoken } : {})}\n {...props}\n >\n {label ? label.visual : children}\n </kbd>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Kbd.displayName = \"Kbd\";\n\nexport interface KbdSequenceProps extends HTMLAttributes<HTMLSpanElement> {\n keys: string[][] | string[];\n tone?: keyof typeof KAESO_KBD_VARIANTS.tone | undefined;\n}\n\nexport const KbdSequence = /* @__PURE__ */ forwardRef<HTMLSpanElement, KbdSequenceProps>(function KbdSequence({ keys, tone = \"default\", className, ...props }, ref) {\n const t = useUiText();\n const steps: string[][] = keys.length > 0 && Array.isArray(keys[0]) ? (keys as string[][]) : [keys as string[]];\n return (\n <span ref={ref} className={cn(\"inline-flex items-center gap-4 align-middle\", className)} {...props}>\n {steps.map((chord, i) => (\n <Fragment key={i}>\n {i > 0 && <span className={cn(\"text-caption font-medium\", tone === \"onInk\" ? \"text-on-ink/70\" : \"text-fg-secondary\")}>{t(\"kbd.then\", \"then\")}</span>}\n <span className=\"inline-flex items-center gap-2\">\n {chord.map((k) => (\n <Kbd key={k} tone={tone}>\n {k}\n </Kbd>\n ))}\n </span>\n </Fragment>\n ))}\n </span>\n );\n});\nif (process.env.NODE_ENV !== \"production\") KbdSequence.displayName = \"KbdSequence\";\n"],"mappings":";;;;;;AAIA,IAAaE,IAAqB,EAChC,MAAM;CACJ,SAAS,EAAE,SAAS,0CAA0C;CAC9D,OAAO,EAAE,SAAS,0CAA0C;AAC9D,EACF,GACaC,IAA6B,EAAE,MAAM,UAAU,GAEtDC,UAAc,OAAO,YAAc,OAAe,kBAAkB,KAAK,UAAU,YAAY,UAAU,SAAS,GAClHC,gBAAgC,KAAA,GAChCC,UAAeC,EAAqBF,GAAmBD,SAAa,EAAK;AAE/E,SAASI,EAAU,GAAuE;CACxF,IAAMC,IAAOC,EAAE,YAAY,MAAM,GAC3BC,IAASD,EAAE,kBAAkB,QAAQ;CAC3C,OAAO;EACL,KAAK;GAAC;GAAKD;GAAMC,EAAE,mBAAmB,SAAS;EAAC;EAChD,KAAK;GAAC;GAAKD;GAAMC,EAAE,mBAAmB,SAAS;EAAC;EAChD,MAAM;GAAC;GAAKD;GAAMC,EAAE,mBAAmB,SAAS;EAAC;EACjD,KAAK;GAAC;GAAK;GAAOC;EAAM;EACxB,QAAQ;GAAC;GAAK;GAAOA;EAAM;EAC3B,OAAO;GAAC;GAAKD,EAAE,aAAa,OAAO;GAAGA,EAAE,iBAAiB,OAAO;EAAC;EACjE,OAAO;GAAC;GAAK;GAASA,EAAE,iBAAiB,OAAO;EAAC;EACjD,KAAK;GAAC;GAAO;GAAOA,EAAE,kBAAkB,QAAQ;EAAC;EACjD,WAAW;GAAC;GAAKA,EAAE,iBAAiB,WAAW;GAAGA,EAAE,qBAAqB,WAAW;EAAC;EACrF,IAAI;GAAC;GAAK;GAAKA,EAAE,cAAc,IAAI;EAAC;EACpC,MAAM;GAAC;GAAK;GAAKA,EAAE,gBAAgB,MAAM;EAAC;EAC1C,MAAM;GAAC;GAAK;GAAKA,EAAE,gBAAgB,MAAM;EAAC;EAC1C,OAAO;GAAC;GAAK;GAAKA,EAAE,iBAAiB,OAAO;EAAC;EAC7C,KAAK;GAAC;GAAK;GAAOA,EAAE,eAAe,KAAK;EAAC;CAC3C;AACF;AAEA,SAAgBE,EAAS,GAAa,IAAYC,GAAa,IAAeT,EAAM,GAAuC;CACzH,IAAMU,IAAIN,EAAU,CAAC,CAAC,CAACO,EAAI,YAAY;CAEvC,OADKD,IACE;EAAE,QAAQE,IAAMF,EAAE,KAAKA,EAAE;EAAI,QAAQA,EAAE;CAAG,IADlC;EAAE,QAAQC,EAAI,WAAW,IAAIA,EAAI,YAAY,IAAIA;EAAK,QAAQA;CAAI;AAEnF;AAOA,IAAaE,IAAsB,kBAAkC,SAAa,EAAE,aAAU,UAAO,WAAW,cAAW,GAAGC,KAAS,GAAK;CAC1I,IAAMR,IAAIT,EAAU,GACde,IAAMV,EAAO,GACba,IAAQ,OAAOC,KAAa,WAAWR,EAASQ,GAAUV,GAAGM,CAAG,IAAI;CAC1E,OACE,kBAAC,OAAD;EACO;EACL,WAAWhB,EACT,4HACAE,EAAmB,KAAKmB,EAAK,CAAC,SAC9BC,CACF;EACA,GAAKH,KAASA,EAAM,WAAWA,EAAM,SAAS;GAAE,cAAcA,EAAM;GAAQ,OAAOA,EAAM;EAAO,IAAI,CAAC;EACrG,GAAID;EAEH,UAAAC,IAAQA,EAAM,SAASC;CACrB,CAAA;AAET,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAI,cAAc;AAO7D,IAAaG,IAA8B,kBAA8C,SAAqB,EAAE,SAAM,UAAO,WAAW,cAAW,GAAGL,KAAS,GAAK;CAClK,IAAMR,IAAIT,EAAU,GACduB,IAAoBC,EAAK,SAAS,KAAK,MAAM,QAAQA,EAAK,EAAE,IAAKA,IAAsB,CAACA,CAAgB;CAC9G,OACE,kBAAC,QAAD;EAAW;EAAK,WAAWzB,EAAG,+CAA+CsB,CAAS;EAAG,GAAIJ;EAC1F,UAAAM,EAAM,KAAK,GAAO,MACjB,kBAACE,GAAD,EAAA,UAAA,CACGC,IAAI,KAAK,kBAAC,QAAD;GAAM,WAAW3B,EAAG,4BAA4BqB,MAAS,UAAU,mBAAmB,mBAAmB;GAAI,UAAAX,EAAE,YAAY,MAAM;EAAQ,CAAA,GACnJ,kBAAC,QAAD;GAAM,WAAU;GACb,UAAAkB,EAAM,KAAK,MACV,kBAACX,GAAD;IAAmB;IAChB,UAAAY;GACE,GAFKA,CAEL,CACN;EACG,CAAA,CACE,EAAA,GATKF,CASL,CACX;CACG,CAAA;AAEV,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAY,cAAc"}
@@ -0,0 +1,16 @@
1
+ //#region src/components/radio/labelled.ts
2
+ function e(e, t, n, r) {
3
+ let i = `${e}-name`, a = `${e}-description`, o = [r["aria-describedby"], n ? a : void 0].filter(Boolean).join(" ");
4
+ return {
5
+ labelId: i,
6
+ descriptionId: a,
7
+ aria: {
8
+ ...r["aria-label"] || r["aria-labelledby"] || !t ? {} : { "aria-labelledby": i },
9
+ ...o ? { "aria-describedby": o } : {}
10
+ }
11
+ };
12
+ }
13
+ //#endregion
14
+ export { e as t };
15
+
16
+ //# sourceMappingURL=labelled-D5udSPUI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"labelled-D5udSPUI.js","names":["labelled","labelId","id","descriptionId","describedBy","own","description","label"],"sources":["../../src/components/radio/labelled.ts"],"sourcesContent":["import type { ReactNode } from \"react\";\n\nexport function labelled(\n id: string,\n label: ReactNode,\n description: ReactNode,\n own: { \"aria-label\"?: string | undefined; \"aria-labelledby\"?: string | undefined; \"aria-describedby\"?: string | undefined },\n) {\n const labelId = `${id}-name`;\n const descriptionId = `${id}-description`;\n const describedBy = [own[\"aria-describedby\"], description ? descriptionId : undefined].filter(Boolean).join(\" \");\n return {\n labelId,\n descriptionId,\n aria: {\n ...(own[\"aria-label\"] || own[\"aria-labelledby\"] || !label ? {} : { \"aria-labelledby\": labelId }),\n ...(describedBy ? { \"aria-describedby\": describedBy } : {}),\n },\n };\n}\n"],"mappings":";AAEA,SAAgBA,EACd,GACA,GACA,GACA,GACA;CACA,IAAMC,IAAU,GAAGC,EAAG,QAChBC,IAAgB,GAAGD,EAAG,eACtBE,IAAc,CAACC,EAAI,qBAAqBC,IAAcH,IAAgB,KAAA,CAAS,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG;CAC/G,OAAO;EACL;EACA;EACA,MAAM;GACJ,GAAIE,EAAI,iBAAiBA,EAAI,sBAAsB,CAACE,IAAQ,CAAC,IAAI,EAAE,mBAAmBN,EAAQ;GAC9F,GAAIG,IAAc,EAAE,oBAAoBA,EAAY,IAAI,CAAC;EAC3D;CACF;AACF"}
@@ -0,0 +1,27 @@
1
+ "use client";
2
+ import { createContext as e, forwardRef as t, useContext as n } from "react";
3
+ import { jsx as r } from "react/jsx-runtime";
4
+ //#region src/utils/link-provider.tsx
5
+ var i = /* @__PURE__ */ e(/* @__PURE__ */ t(function(e, t) {
6
+ return /* @__PURE__ */ r("a", {
7
+ ref: t,
8
+ ...e
9
+ });
10
+ }));
11
+ function a({ component: e, children: t }) {
12
+ return /* @__PURE__ */ r(i.Provider, {
13
+ value: e,
14
+ children: t
15
+ });
16
+ }
17
+ process.env.NODE_ENV !== "production" && (a.displayName = "LinkProvider");
18
+ function o() {
19
+ return n(i);
20
+ }
21
+ function s(e) {
22
+ return /^(?:[a-z][a-z0-9+.-]*:)?\/\//i.test(e) || e.startsWith("mailto:");
23
+ }
24
+ //#endregion
25
+ export { s as n, o as r, a as t };
26
+
27
+ //# sourceMappingURL=link-provider---9JdxTg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link-provider---9JdxTg.js","names":["LinkContext","props","LinkProvider","component","useLinkComponent","useContext","isExternalHref","href"],"sources":["../../src/utils/link-provider.tsx"],"sourcesContent":["import { createContext, forwardRef, useContext, type AnchorHTMLAttributes, type ComponentType, type ReactNode, type Ref } from \"react\";\n\nexport type LinkComponentProps = AnchorHTMLAttributes<HTMLAnchorElement> & { href: string; ref?: Ref<HTMLAnchorElement> };\nexport type LinkComponent = ComponentType<LinkComponentProps>;\n\nconst DefaultLink = /* @__PURE__ */ forwardRef<HTMLAnchorElement, LinkComponentProps>(function DefaultLink(props, ref) {\n return <a ref={ref} {...props} />;\n});\n\nconst LinkContext = /* @__PURE__ */ createContext<LinkComponent>(DefaultLink);\n\nexport function LinkProvider({ component, children }: { component: LinkComponent; children: ReactNode }) {\n return <LinkContext.Provider value={component}>{children}</LinkContext.Provider>;\n}\nif (process.env.NODE_ENV !== \"production\") LinkProvider.displayName = \"LinkProvider\";\n\nexport function useLinkComponent(): LinkComponent {\n return useContext(LinkContext);\n}\n\nexport function isExternalHref(href: string): boolean {\n return /^(?:[a-z][a-z0-9+.-]*:)?\\/\\//i.test(href) || href.startsWith(\"mailto:\");\n}\n"],"mappings":";;;;AASA,IAAMA,IAA8B,kBAJA,kBAAkD,SAAqB,GAAO,GAAK;CACrH,OAAO,kBAAC,KAAD;EAAQ;EAAK,GAAIC;CAAQ,CAAA;AAClC,CAEiE,CAAW;AAE5E,SAAgBC,EAAa,EAAE,cAAW,eAA+D;CACvG,OAAO,kBAACF,EAAY,UAAb;EAAsB,OAAOG;EAAY;CAA+B,CAAA;AACjF;AACA,QAAA,IAAA,aAA6B,iBAAc,EAAa,cAAc;AAEtE,SAAgBC,IAAkC;CAChD,OAAOC,EAAWL,CAAW;AAC/B;AAEA,SAAgBM,EAAe,GAAuB;CACpD,OAAO,gCAAgC,KAAKC,CAAI,KAAKA,EAAK,WAAW,SAAS;AAChF"}
@@ -0,0 +1,47 @@
1
+ "use client";
2
+ import { t as e } from "./cn-CidVUKMm.js";
3
+ import { n as t, r as n } from "./link-provider---9JdxTg.js";
4
+ import { i as r } from "./context-BELWW79w.js";
5
+ import { t as i } from "./icon-CeNQtobn.js";
6
+ import { forwardRef as a } from "react";
7
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
8
+ import { ArrowUpRight01Icon as c } from "@hugeicons/core-free-icons";
9
+ //#region src/components/link/link.tsx
10
+ var l = { variant: {
11
+ inline: { classes: "text-inherit underline decoration-line-strong decoration-1 underline-offset-3 hover:decoration-current" },
12
+ quiet: { classes: "text-fg-secondary no-underline hover:text-fg" },
13
+ standalone: { classes: "font-medium text-fg no-underline hover:underline hover:decoration-line-strong hover:underline-offset-3" }
14
+ } }, u = { variant: "inline" }, d = /* @__PURE__ */ a(function({ href: a, variant: u = "inline", external: d, className: f, children: p, ...m }, h) {
15
+ let g = n(), _ = r(), v = d ?? t(a);
16
+ return /* @__PURE__ */ s(g, {
17
+ ref: h,
18
+ href: a,
19
+ className: e("relative -mx-2 box-decoration-clone rounded-code px-2 transition-control focus-ring tap-target", l.variant[u].classes, f),
20
+ ...v ? {
21
+ target: "_blank",
22
+ rel: "noopener noreferrer"
23
+ } : {},
24
+ ...m,
25
+ children: [
26
+ p,
27
+ v && /* @__PURE__ */ s("span", {
28
+ "aria-hidden": "true",
29
+ className: "whitespace-nowrap",
30
+ children: ["⁠", /* @__PURE__ */ o(i, {
31
+ icon: c,
32
+ size: "xs",
33
+ className: "ml-2 inline-block align-middle"
34
+ })]
35
+ }),
36
+ v && /* @__PURE__ */ o("span", {
37
+ className: "sr-only",
38
+ children: _("link.opensInNewTab", " (opens in a new tab)")
39
+ })
40
+ ]
41
+ });
42
+ });
43
+ process.env.NODE_ENV !== "production" && (d.displayName = "Link");
44
+ //#endregion
45
+ export { l as n, d as r, u as t };
46
+
47
+ //# sourceMappingURL=link-tTapNTpM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link-tTapNTpM.js","names":["__icon_ArrowUpRight01Icon","cn","isExternalHref","useLinkComponent","useUiText","Icon","KAESO_LINK_VARIANTS","KAESO_LINK_DEFAULT_VARIANTS","Link","props","LinkComp","t","isExternal","external","href","variant","className","children","ArrowUpRight01Icon"],"sources":["../../src/components/link/link.tsx"],"sourcesContent":["import { forwardRef, type AnchorHTMLAttributes, type ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { isExternalHref, useLinkComponent } from \"../../utils/link-provider.js\";\nimport { Icon } from \"../icon/icon.js\";\nimport { ArrowUpRight01Icon as __icon_ArrowUpRight01Icon } from \"@hugeicons/core-free-icons\";\nimport { useUiText } from \"../../i18n/context.js\";\n\nexport const KAESO_LINK_VARIANTS = {\n variant: {\n inline: {\n classes: \"text-inherit underline decoration-line-strong decoration-1 underline-offset-3 hover:decoration-current\",\n },\n quiet: {\n classes: \"text-fg-secondary no-underline hover:text-fg\",\n },\n standalone: {\n classes: \"font-medium text-fg no-underline hover:underline hover:decoration-line-strong hover:underline-offset-3\",\n },\n },\n} as const;\nexport const KAESO_LINK_DEFAULT_VARIANTS = { variant: \"inline\" } as const;\n\nexport interface LinkProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, \"href\"> {\n href: string;\n variant?: keyof typeof KAESO_LINK_VARIANTS.variant | undefined;\n external?: boolean | undefined;\n children: ReactNode;\n}\n\nexport const Link = /* @__PURE__ */ forwardRef<HTMLAnchorElement, LinkProps>(function Link({ href, variant = \"inline\", external, className, children, ...props }, ref) {\n const LinkComp = useLinkComponent();\n const t = useUiText();\n const isExternal = external ?? isExternalHref(href);\n return (\n <LinkComp\n ref={ref}\n href={href}\n className={cn(\n \"relative -mx-2 box-decoration-clone rounded-code px-2 transition-control focus-ring tap-target\",\n KAESO_LINK_VARIANTS.variant[variant].classes,\n className,\n )}\n {...(isExternal ? { target: \"_blank\", rel: \"noopener noreferrer\" } : {})}\n {...props}\n >\n {children}\n {isExternal && (\n <span aria-hidden=\"true\" className=\"whitespace-nowrap\">\n {\"\\u2060\"}\n <Icon icon={__icon_ArrowUpRight01Icon} size=\"xs\" className=\"ml-2 inline-block align-middle\" />\n </span>\n )}\n {isExternal && <span className=\"sr-only\">{t(\"link.opensInNewTab\", \" (opens in a new tab)\")}</span>}\n </LinkComp>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Link.displayName = \"Link\";\n"],"mappings":";;;;;;;;;AAOA,IAAaM,IAAsB,EACjC,SAAS;CACP,QAAQ,EACN,SAAS,yGACX;CACA,OAAO,EACL,SAAS,+CACX;CACA,YAAY,EACV,SAAS,yGACX;AACF,EACF,GACaC,IAA8B,EAAE,SAAS,SAAS,GASlDC,IAAuB,kBAAyC,SAAc,EAAE,SAAM,aAAU,UAAU,aAAU,cAAW,aAAU,GAAGC,KAAS,GAAK;CACrK,IAAMC,IAAWP,EAAiB,GAC5BQ,IAAIP,EAAU,GACdQ,IAAaC,KAAYX,EAAeY,CAAI;CAClD,OACE,kBAACJ,GAAD;EACO;EACC;EACN,WAAWT,EACT,kGACAK,EAAoB,QAAQS,EAAQ,CAAC,SACrCC,CACF;EACA,GAAKJ,IAAa;GAAE,QAAQ;GAAU,KAAK;EAAsB,IAAI,CAAC;EACtE,GAAIH;EATN,UAAA;GAWGQ;GACAL,KACC,kBAAC,QAAD;IAAM,eAAY;IAAO,WAAU;IAAnC,UAAA,CACG,KACD,kBAACP,GAAD;KAAM,MAAML;KAA2B,MAAK;KAAK,WAAU;IAAkC,CAAA,CACzF;;GAEPY,KAAc,kBAAC,QAAD;IAAM,WAAU;IAAW,UAAAD,EAAE,sBAAsB,uBAAuB;GAAQ,CAAA;EACzF;;AAEd,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAK,cAAc"}
@@ -0,0 +1,475 @@
1
+ "use client";
2
+ import { t as e } from "./cn-CidVUKMm.js";
3
+ import { r as t } from "./portal-context-BBbzDKmY.js";
4
+ import { n } from "./inset-BLMdxX4I.js";
5
+ import { i as r } from "./context-BELWW79w.js";
6
+ import { t as i } from "./icon-CeNQtobn.js";
7
+ import { l as a, s as o } from "./tooltip-CDu00nzg.js";
8
+ import { r as s } from "./text-BPglS3vq.js";
9
+ import { t as c } from "./icon-button-Bw67oKtx.js";
10
+ import { n as l } from "./use-layout-width-DZaLOQMT.js";
11
+ import { r as u } from "./skeleton-kfuqdl1a.js";
12
+ import { t as d } from "./scroll-parent-WXvzQcUo.js";
13
+ import { forwardRef as f, useCallback as p, useEffect as m, useLayoutEffect as h, useMemo as g, useRef as _, useState as v } from "react";
14
+ import { jsx as y, jsxs as b } from "react/jsx-runtime";
15
+ import { Add01Icon as x, Cancel01Icon as S } from "@hugeicons/core-free-icons";
16
+ import { createPortal as C } from "react-dom";
17
+ //#region src/components/list/row-checkbox.tsx
18
+ var w = /* @__PURE__ */ o(() => import("./checkbox-BgRdbfCE.js").then((e) => e.o));
19
+ function T({ checked: t, onToggle: n, "aria-label": r }) {
20
+ let i = a(w, !0), [o, s] = v(!1), [c, l] = v(!1);
21
+ return m(() => {
22
+ if (!c) return;
23
+ let e, t = () => {
24
+ e = setTimeout(() => l(!1));
25
+ };
26
+ return window.addEventListener("pointerup", t, !0), window.addEventListener("pointercancel", t, !0), () => {
27
+ clearTimeout(e), window.removeEventListener("pointerup", t, !0), window.removeEventListener("pointercancel", t, !0);
28
+ };
29
+ }, [c]), i && !o && !c ? /* @__PURE__ */ y(i.CheckboxBox, {
30
+ checked: t,
31
+ onCheckedChange: n,
32
+ "aria-label": r
33
+ }) : /* @__PURE__ */ y("span", {
34
+ role: "checkbox",
35
+ "aria-checked": t,
36
+ "aria-label": r,
37
+ onPointerEnter: () => s(!0),
38
+ onPointerLeave: () => s(!1),
39
+ onPointerDown: () => l(!0),
40
+ onClick: () => {
41
+ n(), s(!1), l(!1);
42
+ },
43
+ className: "relative -m-3 inline-flex size-24 shrink-0 cursor-pointer items-center justify-center rounded-checkbox",
44
+ children: /* @__PURE__ */ y("span", {
45
+ "aria-hidden": !0,
46
+ className: e("flex size-18 items-center justify-center rounded-checkbox", t ? "bg-ink" : "bg-raised shadow-selector")
47
+ })
48
+ });
49
+ }
50
+ //#endregion
51
+ //#region src/components/list/list.tsx
52
+ var E = /* @__PURE__ */ o(() => import("./virtual-rows-BgMdVelU.js")), D = { density: {
53
+ default: { classes: "h-44" },
54
+ compact: { classes: "h-36" }
55
+ } }, O = { density: "default" }, k = {
56
+ 48: "w-48",
57
+ 64: "w-64",
58
+ 80: "w-80",
59
+ 96: "w-96",
60
+ 120: "w-120"
61
+ }, ee = 520, A = "a[href], button, input, select, textarea, [tabindex], [contenteditable=true]", te = "input:not([type=checkbox]):not([type=radio]), textarea, select, [contenteditable=true]";
62
+ function j(e) {
63
+ for (let t of e.querySelectorAll("[role=row]")) {
64
+ let e = t.querySelector("[data-index]");
65
+ if (e) for (let n of t.querySelectorAll(A)) n !== e && n.getAttribute("tabindex") !== "-1" && n.setAttribute("tabindex", "-1");
66
+ }
67
+ }
68
+ var M = /* @__PURE__ */ f(function({ items: t, groups: r, onOpen: i, selectable: o, selected: s, onSelectedChange: c, idWidth: u, density: f = "default", virtualizeAbove: m = 100, selectionActions: x, selectionBar: S = !0, loading: C, empty: w, className: T, "aria-label": D, "data-force-row": O }, k) {
69
+ let M = n(), [I, ie] = v(/* @__PURE__ */ new Set()), L = s ?? I, R = p((e) => {
70
+ s || ie(e), c?.(e);
71
+ }, [s, c]), [z, ae] = v(() => new Set((r ?? []).filter((e) => e.defaultCollapsed).map((e) => e.id))), [B, V] = v(-1), [oe, H] = v(null), U = _(null), W = l(U), G = !!W && W < ee, K = g(() => {
72
+ let e = (e) => e.flatMap((e) => [{
73
+ kind: "row",
74
+ item: e,
75
+ depth: 0,
76
+ lastChild: !1,
77
+ key: e.id
78
+ }, ...(e.children ?? []).map((e, t, n) => ({
79
+ kind: "row",
80
+ item: e,
81
+ depth: 1,
82
+ lastChild: t === n.length - 1,
83
+ key: e.id
84
+ }))]);
85
+ return r ? r.flatMap((t) => [{
86
+ kind: "header",
87
+ group: t,
88
+ key: `h-${t.id}`
89
+ }, ...z.has(t.id) ? [] : e(t.items)]) : e(t ?? []);
90
+ }, [
91
+ t,
92
+ r,
93
+ z
94
+ ]), se = K.findIndex((e) => e.kind === "row"), q = r ? r.every((e) => e.items.length === 0) : (t ?? []).length === 0, J = K.length > m, Y = (e) => K[e]?.kind === "header" ? e === 0 ? 36 : 52 : G ? 64 : f === "compact" ? 36 : 44, X = a(E, J)?.VirtualRows, Z = _(null);
95
+ B >= K.length && V(-1);
96
+ let ce = B >= 0 ? B : K.length ? 0 : -1, le = (e) => {
97
+ V(e), J && Z.current?.(e);
98
+ let t = () => U.current?.querySelector(`[data-index="${e}"]`), n = t();
99
+ n ? n.focus() : requestAnimationFrame(() => t()?.focus());
100
+ }, ue = _(!!X);
101
+ h(() => {
102
+ X && !ue.current && B >= 0 && document.activeElement === document.body && U.current?.querySelector(`[data-index="${B}"]`)?.focus(), ue.current = !!X;
103
+ }), h(() => {
104
+ let e = U.current;
105
+ if (!e) return;
106
+ j(e);
107
+ let t = new MutationObserver(() => j(e));
108
+ return t.observe(e, {
109
+ subtree: !0,
110
+ childList: !0,
111
+ attributes: !0,
112
+ attributeFilter: ["tabindex"]
113
+ }), () => t.disconnect();
114
+ }, []);
115
+ let Q = (e) => {
116
+ let t = new Set(L);
117
+ t.has(e) ? t.delete(e) : t.add(e), R(t);
118
+ }, de = (e) => e.flatMap((e) => e.kind === "row" && !e.item.disabled ? [e.item.id] : []), fe = (e) => {
119
+ let t = e.target;
120
+ if (e.defaultPrevented || !e.currentTarget.contains(t) || t.closest(te)) return;
121
+ let n = t.closest("[role=row]"), r = n?.querySelector("[data-index]");
122
+ if (!n || !r) return;
123
+ let a = Number(r.dataset.index), s = t === r, c = K[a], l = c?.kind === "row" ? c.item : void 0;
124
+ if (e.altKey) return;
125
+ if (e.metaKey || e.ctrlKey) {
126
+ e.key.toLowerCase() === "a" && o && !e.shiftKey && (e.preventDefault(), R(new Set(de(K))));
127
+ return;
128
+ }
129
+ let u = (t) => {
130
+ if (e.preventDefault(), e.shiftKey && o) {
131
+ let e = oe ?? a;
132
+ H(e);
133
+ let n = new Set(L);
134
+ de(K.slice(Math.min(e, t), Math.max(e, t) + 1)).forEach((e) => n.add(e)), R(n);
135
+ } else H(null);
136
+ le(t);
137
+ }, d = () => [...n.querySelectorAll(A)].filter((e) => e !== r && !e.closest("[role=checkbox], [aria-hidden=true], [hidden]") && !e.matches(":disabled, input[type=checkbox]"));
138
+ if (e.key === "ArrowDown" || e.key === "j" && !e.shiftKey) u(Math.min(K.length - 1, a + 1));
139
+ else if (e.key === "ArrowUp" || e.key === "k" && !e.shiftKey) u(Math.max(0, a - 1));
140
+ else if (e.key === "Home") u(0);
141
+ else if (e.key === "End") u(K.length - 1);
142
+ else if (e.key === "ArrowRight" || e.key === "ArrowLeft") {
143
+ let n = d(), i = s ? -1 : n.indexOf(t), a = e.key === "ArrowRight" ? n[i + 1] : i > 0 ? n[i - 1] : i === 0 ? r : void 0;
144
+ if (!a) return;
145
+ e.preventDefault(), a.focus();
146
+ } else if (e.key === "Escape" && !s) e.preventDefault(), r.focus();
147
+ else if (!s || !l || e.shiftKey) return;
148
+ else (e.key === " " || e.key === "x") && o ? (e.preventDefault(), l.disabled || Q(l.id)) : e.key === "Enter" ? (e.preventDefault(), l.disabled || i?.(l)) : e.key === "Escape" && o && L.size && R(/* @__PURE__ */ new Set());
149
+ }, pe = L.size > 0, $ = (e, t) => e.kind === "header" ? /* @__PURE__ */ y(P, {
150
+ title: e.group.title,
151
+ glyph: e.group.glyph,
152
+ count: e.group.count ?? e.group.items.length,
153
+ collapsed: z.has(e.group.id),
154
+ onToggle: () => {
155
+ let t = new Set(z);
156
+ t.has(e.group.id) ? t.delete(e.group.id) : t.add(e.group.id), ae(t);
157
+ },
158
+ onAdd: e.group.onAdd,
159
+ addLabel: e.group.addLabel,
160
+ indent: !!o,
161
+ first: t === 0,
162
+ index: t,
163
+ active: t === ce,
164
+ onFocus: () => V(t)
165
+ }, e.key) : /* @__PURE__ */ y(N, {
166
+ index: t,
167
+ item: e.item,
168
+ depth: e.depth,
169
+ lastChild: e.lastChild,
170
+ idWidth: u,
171
+ density: f,
172
+ narrow: G,
173
+ active: t === ce,
174
+ selected: L.has(e.item.id),
175
+ selectable: !!o,
176
+ selecting: pe,
177
+ onSelect: () => Q(e.item.id),
178
+ onOpen: () => i?.(e.item),
179
+ onFocus: () => V(t),
180
+ ...O && t === se ? { "data-force": O } : {}
181
+ }, e.key);
182
+ return /* @__PURE__ */ b("div", {
183
+ ref: (e) => {
184
+ U.current = e, typeof k == "function" ? k(e) : k && (k.current = e);
185
+ },
186
+ role: "grid",
187
+ "aria-label": D,
188
+ "aria-multiselectable": o || void 0,
189
+ "aria-busy": C || void 0,
190
+ onKeyDown: fe,
191
+ className: e("relative flex flex-col outline-none", M && "overflow-hidden rounded-group bg-raised shadow-xs", T),
192
+ children: [C && (q || K.length === 0) ? /* @__PURE__ */ y(re, { density: f }) : q && w ? /* @__PURE__ */ y("div", {
193
+ role: "row",
194
+ children: /* @__PURE__ */ y("div", {
195
+ role: "gridcell",
196
+ children: w
197
+ })
198
+ }) : J && X ? /* @__PURE__ */ y(X, {
199
+ count: K.length,
200
+ estimateSize: Y,
201
+ getScrollElement: () => d(U.current),
202
+ scrollTo: Z,
203
+ row: (e) => $(K[e], e),
204
+ measure: G
205
+ }) : J ? /* @__PURE__ */ y(ne, {
206
+ count: K.length,
207
+ estimateSize: Y,
208
+ row: (e) => $(K[e], e)
209
+ }) : K.map($), o && pe && S && /* @__PURE__ */ y(F, {
210
+ count: L.size,
211
+ onClear: () => R(/* @__PURE__ */ new Set()),
212
+ children: x
213
+ })]
214
+ });
215
+ });
216
+ process.env.NODE_ENV !== "production" && (M.displayName = "List");
217
+ function ne({ count: e, estimateSize: t, row: n }) {
218
+ let r = typeof window > "u" ? 1024 : window.innerHeight, i = [], a = 0, o = 12;
219
+ for (let s = 0; s < e; s++) {
220
+ if (a >= r && o-- <= 0) {
221
+ for (let n = s; n < e; n++) a += t(n);
222
+ break;
223
+ }
224
+ i.push(/* @__PURE__ */ y("div", {
225
+ role: "presentation",
226
+ className: "absolute top-0 left-0 w-full",
227
+ style: { transform: `translateY(${Math.round(a)}px)` },
228
+ children: n(s)
229
+ }, s)), a += t(s);
230
+ }
231
+ return /* @__PURE__ */ y("div", {
232
+ role: "presentation",
233
+ className: "relative w-full",
234
+ style: { height: a },
235
+ children: i
236
+ });
237
+ }
238
+ function re({ density: t }) {
239
+ return /* @__PURE__ */ y("div", {
240
+ role: "presentation",
241
+ children: [
242
+ 62,
243
+ 48,
244
+ 70,
245
+ 54,
246
+ 40,
247
+ 58
248
+ ].map((n, r) => /* @__PURE__ */ y("div", {
249
+ role: "presentation",
250
+ className: "px-8",
251
+ children: /* @__PURE__ */ b("div", {
252
+ className: e("flex items-center gap-12 px-16", D.density[t].classes),
253
+ children: [
254
+ /* @__PURE__ */ y(u, {
255
+ shape: "line",
256
+ className: "min-w-0",
257
+ style: { width: `${n}%` }
258
+ }),
259
+ /* @__PURE__ */ y("span", { className: "flex-1" }),
260
+ /* @__PURE__ */ y(u, {
261
+ shape: "line",
262
+ className: "w-64 shrink-0"
263
+ })
264
+ ]
265
+ })
266
+ }, r))
267
+ });
268
+ }
269
+ var N = /* @__PURE__ */ f(function({ item: t, index: i, depth: a = 0, lastChild: o, idWidth: c, density: l = "default", narrow: u = !1, active: d, selected: f, selectable: p, selecting: m, onSelect: h, onOpen: g, onFocus: _, "data-force": v }, x) {
270
+ let S = n(), C = r(), w = u && !!(t.meta || t.date), E = (S || w) && !!t.subtitle;
271
+ return /* @__PURE__ */ y("div", {
272
+ role: "row",
273
+ className: S ? e("px-0", i !== void 0 && i > 0 && "hairline-t") : "px-8",
274
+ children: /* @__PURE__ */ b("div", {
275
+ ref: x,
276
+ role: "gridcell",
277
+ "aria-selected": p ? !!f : void 0,
278
+ "aria-disabled": t.disabled || void 0,
279
+ "data-index": i,
280
+ "data-row": "",
281
+ tabIndex: d === !1 ? -1 : 0,
282
+ onFocus: _,
283
+ onClick: (e) => {
284
+ e.currentTarget.contains(e.target) && !e.target.closest("button, a, [role=checkbox]") && (m && p ? h?.() : g?.());
285
+ },
286
+ ...v ? { "data-force": v } : {},
287
+ className: e("group/row relative flex cursor-pointer items-center gap-12 px-16 text-body transition-control focus-ring-inset select-none", S ? "rounded-none" : "rounded-item", w ? "min-h-56 py-8" : E ? "h-56" : S && l === "default" ? "h-48" : D.density[l].classes, "hover:bg-fill-1 hover:controls-on-fill", f && "bg-fill-2 controls-on-fill hover:bg-fill-2", t.disabled && "pointer-events-none text-fg-disabled"),
288
+ children: [
289
+ p && /* @__PURE__ */ y("span", {
290
+ className: e("flex shrink-0 transition-control", m || f ? "opacity-100" : "opacity-0 group-hover/row:opacity-100 group-focus-visible/row:opacity-100 coarse:opacity-100"),
291
+ onClick: (e) => e.stopPropagation(),
292
+ children: /* @__PURE__ */ y(T, {
293
+ checked: !!f,
294
+ onToggle: () => h?.(),
295
+ "aria-label": C("list.selectItem", "Select {name}", { name: t.textValue ?? (typeof t.title == "string" ? t.title : t.id) })
296
+ })
297
+ }),
298
+ a === 1 && /* @__PURE__ */ b("span", {
299
+ "aria-hidden": !0,
300
+ className: "relative -ml-4 h-full w-16 shrink-0",
301
+ children: [/* @__PURE__ */ y("span", { className: e("absolute left-6 w-1 bg-line-strong", o ? "top-0 h-1/2" : "inset-y-0") }), /* @__PURE__ */ y("span", { className: "absolute top-1/2 left-6 h-1 w-10 bg-line-strong" })]
302
+ }),
303
+ t.glyph && /* @__PURE__ */ y("span", {
304
+ className: "flex size-16 shrink-0 items-center justify-center",
305
+ children: t.glyph
306
+ }),
307
+ t.leading && /* @__PURE__ */ y("span", {
308
+ className: "-mr-4 flex shrink-0",
309
+ children: t.leading
310
+ }),
311
+ t.displayId && /* @__PURE__ */ y("span", {
312
+ className: e("shrink-0 truncate mono text-small text-fg-tertiary tabular", c && k[c]),
313
+ children: t.displayId
314
+ }),
315
+ /* @__PURE__ */ b("span", {
316
+ className: e("flex min-w-0 flex-1", w ? "flex-col items-start gap-4" : "contents"),
317
+ children: [/* @__PURE__ */ b("span", {
318
+ className: e("flex min-w-0", w ? "w-full" : "flex-1", E ? "flex-col items-start gap-2" : "items-baseline gap-8"),
319
+ children: [typeof t.title == "string" ? /* @__PURE__ */ y(s, {
320
+ truncate: !0,
321
+ weight: "medium",
322
+ className: e("min-w-0 shrink", E && "max-w-full"),
323
+ children: t.title
324
+ }) : /* @__PURE__ */ y("span", {
325
+ className: e("min-w-0 truncate font-medium text-fg", E && "max-w-full"),
326
+ children: t.title
327
+ }), t.subtitle && /* @__PURE__ */ y("span", {
328
+ className: e("min-w-0 truncate text-fg-secondary", E ? "max-w-full text-small" : "flex-1 basis-0"),
329
+ children: t.subtitle
330
+ })]
331
+ }), w && /* @__PURE__ */ b("span", {
332
+ className: "flex min-w-0 flex-wrap items-center gap-x-8 gap-y-4",
333
+ children: [t.meta && /* @__PURE__ */ y("span", {
334
+ className: "flex min-w-0 flex-wrap items-center gap-6",
335
+ children: t.meta
336
+ }), t.date && /* @__PURE__ */ y("span", {
337
+ className: "text-small whitespace-nowrap text-fg-secondary tabular",
338
+ children: t.date
339
+ })]
340
+ })]
341
+ }),
342
+ w && t.actions && /* @__PURE__ */ y("span", {
343
+ className: "flex shrink-0 items-center gap-2",
344
+ children: t.actions
345
+ }),
346
+ !w && (t.meta || t.actions) && /* @__PURE__ */ b("span", {
347
+ className: "relative flex shrink-0 items-center gap-6",
348
+ children: [/* @__PURE__ */ y("span", {
349
+ className: e("flex items-center gap-6", t.actions && "transition-control group-hover/row:opacity-0 group-focus-within/row:opacity-0"),
350
+ children: t.meta
351
+ }), t.actions && /* @__PURE__ */ y("span", {
352
+ className: e("flex items-center gap-2 opacity-0 transition-control group-hover/row:opacity-100 group-focus-within/row:opacity-100 coarse:opacity-100", t.meta && "absolute inset-y-0 right-0 coarse:static"),
353
+ children: t.actions
354
+ })]
355
+ }),
356
+ !w && t.date && /* @__PURE__ */ y("span", {
357
+ className: "min-w-80 shrink-0 text-right text-small whitespace-nowrap text-fg-secondary tabular",
358
+ children: t.date
359
+ }),
360
+ t.avatar && /* @__PURE__ */ y("span", {
361
+ className: "flex shrink-0",
362
+ children: t.avatar
363
+ })
364
+ ]
365
+ })
366
+ });
367
+ });
368
+ process.env.NODE_ENV !== "production" && (N.displayName = "ListRow");
369
+ var P = /* @__PURE__ */ f(function({ title: t, glyph: i, count: a, collapsed: o, onToggle: s, onAdd: l, addLabel: u, indent: d, first: f, index: p, active: m, onFocus: h }, g) {
370
+ let _ = n(), v = r();
371
+ return /* @__PURE__ */ y("div", {
372
+ ref: g,
373
+ role: "row",
374
+ onFocus: h,
375
+ className: _ ? e("group/gh bg-fill-1", !f && "hairline-t") : "group/gh px-8 pt-16 first:pt-0",
376
+ children: /* @__PURE__ */ b("div", {
377
+ role: "gridcell",
378
+ className: e("flex items-center gap-4 pr-8", _ ? "h-36 pl-6" : "h-36", !_ && (d ? "pl-36" : "pl-6")),
379
+ children: [
380
+ /* @__PURE__ */ b("button", {
381
+ type: "button",
382
+ "aria-expanded": !o,
383
+ "data-index": p,
384
+ tabIndex: m === !1 ? -1 : 0,
385
+ onClick: s,
386
+ className: "relative flex h-28 min-w-0 cursor-pointer items-center gap-8 rounded-pill px-10 text-small transition-control hover:bg-fill-1 focus-ring tap-target",
387
+ children: [
388
+ i && /* @__PURE__ */ y("span", {
389
+ className: "flex size-16 items-center justify-center",
390
+ children: i
391
+ }),
392
+ /* @__PURE__ */ y("span", {
393
+ className: "truncate font-medium text-fg-secondary",
394
+ children: t
395
+ }),
396
+ a !== void 0 && /* @__PURE__ */ y("span", {
397
+ className: "text-fg-tertiary tabular",
398
+ children: a
399
+ }),
400
+ /* @__PURE__ */ y("svg", {
401
+ viewBox: "0 0 8 8",
402
+ "aria-hidden": !0,
403
+ className: e("size-8 text-fg-tertiary transition-transform duration-180", !o && "rotate-90"),
404
+ children: /* @__PURE__ */ y("path", {
405
+ d: "M2.5 1.5 5.5 4l-3 2.5z",
406
+ fill: "currentColor"
407
+ })
408
+ })
409
+ ]
410
+ }),
411
+ /* @__PURE__ */ y("span", { className: "flex-1" }),
412
+ l && /* @__PURE__ */ y("span", {
413
+ className: "flex opacity-0 transition-control group-hover/gh:opacity-100 group-focus-within/gh:opacity-100 coarse:opacity-100",
414
+ children: /* @__PURE__ */ y(c, {
415
+ icon: x,
416
+ "aria-label": u ?? v("list.add", "Add"),
417
+ size: "xs",
418
+ onClick: l
419
+ })
420
+ })
421
+ ]
422
+ })
423
+ });
424
+ });
425
+ process.env.NODE_ENV !== "production" && (P.displayName = "GroupHeader");
426
+ function F({ count: e, onClear: n, children: a }) {
427
+ let o = t(), s = r();
428
+ return typeof document > "u" ? null : C(/* @__PURE__ */ y("div", {
429
+ role: "region",
430
+ "aria-label": s("list.selection", "Selection"),
431
+ className: "pointer-events-none fixed right-0 bottom-24 left-0 z-50 flex justify-center px-16",
432
+ children: /* @__PURE__ */ b("div", {
433
+ className: "pointer-events-auto flex min-h-44 items-center gap-4 rounded-pill bg-toast py-6 pr-6 pl-16 text-body font-medium text-toast-fg shadow-toast popup-motion",
434
+ children: [
435
+ /* @__PURE__ */ y("span", {
436
+ className: "pr-8 tabular",
437
+ children: s("list.selected", "{count} selected", { count: String(e) })
438
+ }),
439
+ /* @__PURE__ */ y("span", {
440
+ className: "mr-4 h-20 w-1 bg-toast-action",
441
+ "aria-hidden": !0
442
+ }),
443
+ a,
444
+ /* @__PURE__ */ y("button", {
445
+ type: "button",
446
+ onClick: n,
447
+ "aria-label": s("list.clearSelection", "Clear selection"),
448
+ className: "inline-flex size-32 cursor-pointer items-center justify-center rounded-pill text-toast-fg-secondary transition-control hover:bg-toast-action hover:text-toast-fg focus-ring",
449
+ children: /* @__PURE__ */ y(i, {
450
+ icon: S,
451
+ size: "sm"
452
+ })
453
+ })
454
+ ]
455
+ })
456
+ }), o ?? document.body);
457
+ }
458
+ process.env.NODE_ENV !== "production" && (F.displayName = "SelectionBar");
459
+ function I({ children: t, onClick: n, icon: r, danger: a }) {
460
+ return /* @__PURE__ */ b("button", {
461
+ type: "button",
462
+ onClick: n,
463
+ className: e("inline-flex h-32 cursor-pointer items-center gap-6 rounded-pill px-12 text-body font-medium transition-control hover:bg-toast-action focus-ring", a ? "text-toast-danger" : "text-toast-fg", r && "pl-10"),
464
+ children: [r && /* @__PURE__ */ y(i, {
465
+ icon: r,
466
+ size: "sm",
467
+ className: a ? void 0 : "text-toast-fg-secondary"
468
+ }), t]
469
+ });
470
+ }
471
+ process.env.NODE_ENV !== "production" && (I.displayName = "SelectionAction");
472
+ //#endregion
473
+ export { N as a, M as i, O as n, I as o, D as r, F as s, P as t };
474
+
475
+ //# sourceMappingURL=list-CN8pO8lv.js.map