@logicplanes/kaeso-ui 0.4.4 → 0.4.5

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 (482) hide show
  1. package/ai/component-guides.md +250 -98
  2. package/ai/component-registry.json +264 -236
  3. package/ai/component-registry.md +222 -218
  4. package/ai/icons.md +1 -1
  5. package/ai/tokens.md +18 -14
  6. package/dist/blocks/delete-resource.js +3 -3
  7. package/dist/blocks/delete-resource.js.map +1 -1
  8. package/dist/blocks/pages.js +47 -42
  9. package/dist/blocks/pages.js.map +1 -1
  10. package/dist/blocks/resource-list.js +68 -55
  11. package/dist/blocks/resource-list.js.map +1 -1
  12. package/dist/chunks/agent-avatar-DHieggHK.js +188 -0
  13. package/dist/chunks/agent-avatar-DHieggHK.js.map +1 -0
  14. package/dist/chunks/app-frame-DysOel2X.js +232 -0
  15. package/dist/chunks/app-frame-DysOel2X.js.map +1 -0
  16. package/dist/chunks/arrow-focus-B0KdRFX8.js +20 -0
  17. package/dist/chunks/arrow-focus-B0KdRFX8.js.map +1 -0
  18. package/dist/chunks/avatar-CYNMK7uY.js +110 -0
  19. package/dist/chunks/avatar-CYNMK7uY.js.map +1 -0
  20. package/dist/chunks/badge-C0GC3B9X.js +27 -0
  21. package/dist/chunks/badge-C0GC3B9X.js.map +1 -0
  22. package/dist/chunks/banner-B3DGLTBu.js +88 -0
  23. package/dist/chunks/banner-B3DGLTBu.js.map +1 -0
  24. package/dist/chunks/button-IblhXUyZ.js +202 -0
  25. package/dist/chunks/button-IblhXUyZ.js.map +1 -0
  26. package/dist/chunks/{calendar-BWaf2MXc.js → calendar-Dc6_dl0f.js} +4 -4
  27. package/dist/chunks/calendar-Dc6_dl0f.js.map +1 -0
  28. package/dist/chunks/checkbox-9tbimmF3.js +141 -0
  29. package/dist/chunks/checkbox-9tbimmF3.js.map +1 -0
  30. package/dist/chunks/{cn-Dj6sRgkF.js → cn-BjnOAUrA.js} +45 -4
  31. package/dist/chunks/cn-BjnOAUrA.js.map +1 -0
  32. package/dist/chunks/code-block-64e-Cy1S.js +346 -0
  33. package/dist/chunks/code-block-64e-Cy1S.js.map +1 -0
  34. package/dist/chunks/{code-block-DdNPHEzI.js → code-block-KIvuE8jg.js} +122 -114
  35. package/dist/chunks/code-block-KIvuE8jg.js.map +1 -0
  36. package/dist/chunks/{code-tqj0uhBL.js → code-xqjww4Pv.js} +5 -6
  37. package/dist/chunks/code-xqjww4Pv.js.map +1 -0
  38. package/dist/chunks/combobox-DkcjkWc6.js +352 -0
  39. package/dist/chunks/combobox-DkcjkWc6.js.map +1 -0
  40. package/dist/chunks/command-list-CypqsC4T.js +456 -0
  41. package/dist/chunks/command-list-CypqsC4T.js.map +1 -0
  42. package/dist/chunks/{copy-button-FJvPJn72.js → copy-button-CwU8t_9_.js} +22 -15
  43. package/dist/chunks/copy-button-CwU8t_9_.js.map +1 -0
  44. package/dist/chunks/core-CmK-8ObW.js +505 -0
  45. package/dist/chunks/core-CmK-8ObW.js.map +1 -0
  46. package/dist/chunks/data-table-CqY8_6IS.js +581 -0
  47. package/dist/chunks/data-table-CqY8_6IS.js.map +1 -0
  48. package/dist/chunks/date-popup-DAnjptFt.js +58 -0
  49. package/dist/chunks/date-popup-DAnjptFt.js.map +1 -0
  50. package/dist/chunks/{de-D_0mmG-k.js → de-CqC4aSIV.js} +74 -40
  51. package/dist/chunks/de-CqC4aSIV.js.map +1 -0
  52. package/dist/chunks/{dialog-Cg9A_6SF.js → dialog-2zb6ClNR.js} +156 -134
  53. package/dist/chunks/dialog-2zb6ClNR.js.map +1 -0
  54. package/dist/chunks/disclosure-BtYRTDO3.js +22 -0
  55. package/dist/chunks/disclosure-BtYRTDO3.js.map +1 -0
  56. package/dist/chunks/domain-obd_w9xk.js +28 -0
  57. package/dist/chunks/domain-obd_w9xk.js.map +1 -0
  58. package/dist/chunks/{empty-DvhyMXQq.js → empty-BpiUgGzm.js} +2 -2
  59. package/dist/chunks/{empty-DvhyMXQq.js.map → empty-BpiUgGzm.js.map} +1 -1
  60. package/dist/chunks/{field-TviMvYa2.js → field-D7m-yl-D.js} +37 -34
  61. package/dist/chunks/field-D7m-yl-D.js.map +1 -0
  62. package/dist/chunks/{icon-D7ja-_Yk.js → icon-CBzOwqrX.js} +7 -6
  63. package/dist/chunks/{icon-D7ja-_Yk.js.map → icon-CBzOwqrX.js.map} +1 -1
  64. package/dist/chunks/{icon-button-CrdF_eMG.js → icon-button-Dfwpvmav.js} +7 -6
  65. package/dist/chunks/icon-button-Dfwpvmav.js.map +1 -0
  66. package/dist/chunks/{identity-BmhQ6BQ-.js → identity-3Foi5F8w.js} +7 -7
  67. package/dist/chunks/{identity-BmhQ6BQ-.js.map → identity-3Foi5F8w.js.map} +1 -1
  68. package/dist/chunks/{input-2VJuj_M4.js → input-Bo5-UZg2.js} +15 -9
  69. package/dist/chunks/input-Bo5-UZg2.js.map +1 -0
  70. package/dist/chunks/{input-group-DQ_4DoXg.js → input-group-jPcK9T_a.js} +42 -29
  71. package/dist/chunks/input-group-jPcK9T_a.js.map +1 -0
  72. package/dist/chunks/iso-field-DoqHBg8n.js +52 -0
  73. package/dist/chunks/iso-field-DoqHBg8n.js.map +1 -0
  74. package/dist/chunks/json-view-DZ2nL2Ir.js +253 -0
  75. package/dist/chunks/json-view-DZ2nL2Ir.js.map +1 -0
  76. package/dist/chunks/{kbd-BF1vKXJf.js → kbd-8A0ML_up.js} +30 -28
  77. package/dist/chunks/kbd-8A0ML_up.js.map +1 -0
  78. package/dist/chunks/label-DW24Aj0Z.js +26 -0
  79. package/dist/chunks/label-DW24Aj0Z.js.map +1 -0
  80. package/dist/chunks/{link-KWI7PevW.js → link-CMjkcLQK.js} +14 -14
  81. package/dist/chunks/link-CMjkcLQK.js.map +1 -0
  82. package/dist/chunks/list-B4G-sWwV.js +540 -0
  83. package/dist/chunks/list-B4G-sWwV.js.map +1 -0
  84. package/dist/chunks/{loader-DCfPndXa.js → loader-zo8CCIGJ.js} +2 -2
  85. package/dist/chunks/{loader-DCfPndXa.js.map → loader-zo8CCIGJ.js.map} +1 -1
  86. package/dist/chunks/markdown-C565aBR7.js +338 -0
  87. package/dist/chunks/markdown-C565aBR7.js.map +1 -0
  88. package/dist/chunks/menu-Clvv6ftq.js +485 -0
  89. package/dist/chunks/menu-Clvv6ftq.js.map +1 -0
  90. package/dist/chunks/merge-refs-BN1FyQt9.js +20 -0
  91. package/dist/chunks/merge-refs-BN1FyQt9.js.map +1 -0
  92. package/dist/chunks/meter-CASMHlxl.js +100 -0
  93. package/dist/chunks/meter-CASMHlxl.js.map +1 -0
  94. package/dist/chunks/nav-sheet-Dt6JSvzX.js +67 -0
  95. package/dist/chunks/nav-sheet-Dt6JSvzX.js.map +1 -0
  96. package/dist/chunks/{nav-wordmark-_pjheAsZ.js → nav-wordmark-J4pB_vjr.js} +4 -8
  97. package/dist/chunks/nav-wordmark-J4pB_vjr.js.map +1 -0
  98. package/dist/chunks/page-header-kS5tdmvb.js +45 -0
  99. package/dist/chunks/page-header-kS5tdmvb.js.map +1 -0
  100. package/dist/chunks/pagination-D7fAm8qg.js +147 -0
  101. package/dist/chunks/pagination-D7fAm8qg.js.map +1 -0
  102. package/dist/chunks/picker-popover-1FHb1LQG.js +119 -0
  103. package/dist/chunks/picker-popover-1FHb1LQG.js.map +1 -0
  104. package/dist/chunks/popover-Bl5QYqnh.js +51 -0
  105. package/dist/chunks/popover-Bl5QYqnh.js.map +1 -0
  106. package/dist/chunks/{portal-context-BBbzDKmY.js → portal-context-CTatR2Z8.js} +14 -4
  107. package/dist/chunks/portal-context-CTatR2Z8.js.map +1 -0
  108. package/dist/chunks/{radio-CDDFpdtL.js → radio-C6GtzF_t.js} +38 -23
  109. package/dist/chunks/radio-C6GtzF_t.js.map +1 -0
  110. package/dist/chunks/range-popup-lGiZsG3s.js +160 -0
  111. package/dist/chunks/range-popup-lGiZsG3s.js.map +1 -0
  112. package/dist/chunks/reasoning-frame-C3HdQRRS.js +51 -0
  113. package/dist/chunks/reasoning-frame-C3HdQRRS.js.map +1 -0
  114. package/dist/chunks/release-art-ChiT4T2S.js +582 -0
  115. package/dist/chunks/release-art-ChiT4T2S.js.map +1 -0
  116. package/dist/chunks/rights-B68ocZuq.js +312 -0
  117. package/dist/chunks/rights-B68ocZuq.js.map +1 -0
  118. package/dist/chunks/{scroll-area-D8MD7Vpo.js → scroll-area-_Ljh4-bG.js} +11 -6
  119. package/dist/chunks/scroll-area-_Ljh4-bG.js.map +1 -0
  120. package/dist/chunks/section-CFBYhsUi.js +77 -0
  121. package/dist/chunks/section-CFBYhsUi.js.map +1 -0
  122. package/dist/chunks/section-header-DU1Q4Tdf.js +28 -0
  123. package/dist/chunks/section-header-DU1Q4Tdf.js.map +1 -0
  124. package/dist/chunks/segmented-D9i1avik.js +119 -0
  125. package/dist/chunks/segmented-D9i1avik.js.map +1 -0
  126. package/dist/chunks/select-BqjmQOqx.js +222 -0
  127. package/dist/chunks/select-BqjmQOqx.js.map +1 -0
  128. package/dist/chunks/{separator-D7TzNHmX.js → separator-BNWf6BBj.js} +13 -8
  129. package/dist/chunks/separator-BNWf6BBj.js.map +1 -0
  130. package/dist/chunks/sidebar-Dq7oGOje.js +664 -0
  131. package/dist/chunks/sidebar-Dq7oGOje.js.map +1 -0
  132. package/dist/chunks/{sidebar-menu-BN3jkTlK.js → sidebar-menu-QSSNu1jJ.js} +2 -2
  133. package/dist/chunks/{sidebar-menu-BN3jkTlK.js.map → sidebar-menu-QSSNu1jJ.js.map} +1 -1
  134. package/dist/chunks/{skeleton-Dcz57Zyp.js → skeleton-D-qk3mes.js} +3 -3
  135. package/dist/chunks/skeleton-D-qk3mes.js.map +1 -0
  136. package/dist/chunks/slider-CcE8GtuV.js +58 -0
  137. package/dist/chunks/slider-CcE8GtuV.js.map +1 -0
  138. package/dist/chunks/{status-dot-QJTF0Yv4.js → status-dot-CP6runiC.js} +4 -4
  139. package/dist/chunks/{status-dot-QJTF0Yv4.js.map → status-dot-CP6runiC.js.map} +1 -1
  140. package/dist/chunks/{styles-CVJU9t9v.js → styles-hkFkoBbi.js} +2 -2
  141. package/dist/chunks/{styles-CVJU9t9v.js.map → styles-hkFkoBbi.js.map} +1 -1
  142. package/dist/chunks/{swap-text-Dr0Irxz6.js → swap-text-SlUjrTlG.js} +3 -3
  143. package/dist/chunks/swap-text-SlUjrTlG.js.map +1 -0
  144. package/dist/chunks/switch-ngywMQdl.js +76 -0
  145. package/dist/chunks/switch-ngywMQdl.js.map +1 -0
  146. package/dist/chunks/table-CTK5E0J7.js +102 -0
  147. package/dist/chunks/table-CTK5E0J7.js.map +1 -0
  148. package/dist/chunks/tag-BGr6lTSV.js +100 -0
  149. package/dist/chunks/tag-BGr6lTSV.js.map +1 -0
  150. package/dist/chunks/{text-CIXH8rmT.js → text-DkKdTVUf.js} +9 -9
  151. package/dist/chunks/text-DkKdTVUf.js.map +1 -0
  152. package/dist/chunks/{textarea--4FRL3Pb.js → textarea-CO0HP6fK.js} +47 -36
  153. package/dist/chunks/textarea-CO0HP6fK.js.map +1 -0
  154. package/dist/chunks/timeseries-Ck-q0wWn.js +381 -0
  155. package/dist/chunks/timeseries-Ck-q0wWn.js.map +1 -0
  156. package/dist/chunks/toolbar-u0Gm7Q7-.js +61 -0
  157. package/dist/chunks/toolbar-u0Gm7Q7-.js.map +1 -0
  158. package/dist/chunks/tooltip-Tkm-urbi.js +202 -0
  159. package/dist/chunks/tooltip-Tkm-urbi.js.map +1 -0
  160. package/dist/chunks/tooltip-root-BC_RNNiP.js +70 -0
  161. package/dist/chunks/tooltip-root-BC_RNNiP.js.map +1 -0
  162. package/dist/chunks/truncated-d1afmUJT.js +33 -0
  163. package/dist/chunks/truncated-d1afmUJT.js.map +1 -0
  164. package/dist/chunks/use-coarse-pointer-Ml5oE6oX.js +28 -0
  165. package/dist/chunks/use-coarse-pointer-Ml5oE6oX.js.map +1 -0
  166. package/dist/chunks/use-hydrating-COtYVRo4.js +8 -0
  167. package/dist/chunks/use-hydrating-COtYVRo4.js.map +1 -0
  168. package/dist/chunks/use-scroll-fade-uc8mWSDX.js +30 -0
  169. package/dist/chunks/use-scroll-fade-uc8mWSDX.js.map +1 -0
  170. package/dist/chunks/{zh-CN-Bm6UPIbW.js → zh-CN-BlpsT6d_.js} +73 -39
  171. package/dist/chunks/zh-CN-BlpsT6d_.js.map +1 -0
  172. package/dist/components/agent-avatar.js +1 -1
  173. package/dist/components/app-frame.js +2 -2
  174. package/dist/components/avatar.js +1 -1
  175. package/dist/components/badge.js +1 -1
  176. package/dist/components/banner.js +1 -1
  177. package/dist/components/button-group.js +22 -22
  178. package/dist/components/button-group.js.map +1 -1
  179. package/dist/components/button.js +1 -1
  180. package/dist/components/calendar.js +1 -1
  181. package/dist/components/charts/bar.js +235 -160
  182. package/dist/components/charts/bar.js.map +1 -1
  183. package/dist/components/charts/donut.js +144 -99
  184. package/dist/components/charts/donut.js.map +1 -1
  185. package/dist/components/charts/gauge.js +61 -49
  186. package/dist/components/charts/gauge.js.map +1 -1
  187. package/dist/components/charts/heatmap.js +179 -70
  188. package/dist/components/charts/heatmap.js.map +1 -1
  189. package/dist/components/charts/sankey.js +144 -77
  190. package/dist/components/charts/sankey.js.map +1 -1
  191. package/dist/components/charts/sparkline.js +54 -38
  192. package/dist/components/charts/sparkline.js.map +1 -1
  193. package/dist/components/charts/timeseries.js +1 -1
  194. package/dist/components/charts.js +2 -2
  195. package/dist/components/checkbox.js +1 -1
  196. package/dist/components/code-block.js +3 -3
  197. package/dist/components/code.js +1 -1
  198. package/dist/components/collapsible.js +77 -1
  199. package/dist/components/collapsible.js.map +1 -0
  200. package/dist/components/combobox.js +1 -1
  201. package/dist/components/command-list.js +2 -2
  202. package/dist/components/command-palette.js +89 -66
  203. package/dist/components/command-palette.js.map +1 -1
  204. package/dist/components/copy-button.js +1 -1
  205. package/dist/components/data-table.js +1 -459
  206. package/dist/components/date-picker.js +162 -151
  207. package/dist/components/date-picker.js.map +1 -1
  208. package/dist/components/dialog.js +74 -63
  209. package/dist/components/dialog.js.map +1 -1
  210. package/dist/components/display-options.js +76 -64
  211. package/dist/components/display-options.js.map +1 -1
  212. package/dist/components/empty.js +1 -1
  213. package/dist/components/field.js +1 -1
  214. package/dist/components/figure.js +2 -2
  215. package/dist/components/filter-chip.js +36 -27
  216. package/dist/components/filter-chip.js.map +1 -1
  217. package/dist/components/filter-row.js +4 -4
  218. package/dist/components/filter-row.js.map +1 -1
  219. package/dist/components/flow.js +94 -63
  220. package/dist/components/flow.js.map +1 -1
  221. package/dist/components/heading.js +1 -1
  222. package/dist/components/icon-button.js +1 -1
  223. package/dist/components/icon.js +1 -1
  224. package/dist/components/input.js +176 -98
  225. package/dist/components/input.js.map +1 -1
  226. package/dist/components/kaeso/conversation.js +51 -46
  227. package/dist/components/kaeso/conversation.js.map +1 -1
  228. package/dist/components/kaeso/identity.js +1 -1
  229. package/dist/components/kaeso/moments.js +23 -20
  230. package/dist/components/kaeso/moments.js.map +1 -1
  231. package/dist/components/kaeso/rights.js +1 -1
  232. package/dist/components/kaeso/usage.js +90 -74
  233. package/dist/components/kaeso/usage.js.map +1 -1
  234. package/dist/components/kaeso.js +200 -187
  235. package/dist/components/kaeso.js.map +1 -1
  236. package/dist/components/kbd.js +1 -1
  237. package/dist/components/key-value.js +32 -47
  238. package/dist/components/key-value.js.map +1 -1
  239. package/dist/components/label.js +1 -25
  240. package/dist/components/layout.js +2 -2
  241. package/dist/components/layout.js.map +1 -1
  242. package/dist/components/link.js +1 -1
  243. package/dist/components/list.js +1 -1
  244. package/dist/components/loader.js +11 -10
  245. package/dist/components/loader.js.map +1 -1
  246. package/dist/components/logo.js +2 -2
  247. package/dist/components/markdown.js +1 -1
  248. package/dist/components/menu.js +2 -2
  249. package/dist/components/meter.js +1 -1
  250. package/dist/components/page-header.js +1 -1
  251. package/dist/components/pagination.js +1 -1
  252. package/dist/components/playground.js +644 -529
  253. package/dist/components/playground.js.map +1 -1
  254. package/dist/components/popover.js +4 -4
  255. package/dist/components/popover.js.map +1 -1
  256. package/dist/components/portal.js +1 -1
  257. package/dist/components/qr-code.js +2 -2
  258. package/dist/components/qr-code.js.map +1 -1
  259. package/dist/components/radio.js +1 -1
  260. package/dist/components/release-art.js +1 -1
  261. package/dist/components/scroll-area.js +1 -1
  262. package/dist/components/section.js +1 -1
  263. package/dist/components/segmented.js +1 -1
  264. package/dist/components/select.js +1 -1
  265. package/dist/components/separator.js +1 -1
  266. package/dist/components/settings.js +39 -46
  267. package/dist/components/settings.js.map +1 -1
  268. package/dist/components/sheet.js +10 -9
  269. package/dist/components/sheet.js.map +1 -1
  270. package/dist/components/sidebar.js +1 -1
  271. package/dist/components/skeleton.js +1 -1
  272. package/dist/components/slider.js +1 -1
  273. package/dist/components/stat.js +98 -84
  274. package/dist/components/stat.js.map +1 -1
  275. package/dist/components/status-dot.js +1 -1
  276. package/dist/components/surface.js +1 -1
  277. package/dist/components/swap-text.js +1 -1
  278. package/dist/components/switch.js +1 -1
  279. package/dist/components/table.js +1 -1
  280. package/dist/components/tabs.js +73 -55
  281. package/dist/components/tabs.js.map +1 -1
  282. package/dist/components/tag.js +1 -1
  283. package/dist/components/text.js +1 -1
  284. package/dist/components/theme-image.js +1 -1
  285. package/dist/components/theme-menu.js +5 -2
  286. package/dist/components/theme-menu.js.map +1 -1
  287. package/dist/components/theme-select.js +1 -1
  288. package/dist/components/thumbnail.js +35 -24
  289. package/dist/components/thumbnail.js.map +1 -1
  290. package/dist/components/timeline.js +51 -35
  291. package/dist/components/timeline.js.map +1 -1
  292. package/dist/components/toast.js +76 -66
  293. package/dist/components/toast.js.map +1 -1
  294. package/dist/components/toc.js +14 -8
  295. package/dist/components/toc.js.map +1 -1
  296. package/dist/components/toolbar.js +1 -1
  297. package/dist/components/tooltip.js +1 -1
  298. package/dist/components/visually-hidden.js +1 -1
  299. package/dist/i18n-provider.js +1 -1
  300. package/dist/index.js +100 -100
  301. package/dist/kaeso.css +605 -67
  302. package/dist/styles.css +1 -1
  303. package/dist/tailwind.css +1 -1
  304. package/dist/types/blocks/delete-resource/delete-resource.d.ts +2 -2
  305. package/dist/types/components/agent-avatar/agent-avatar.d.ts +24 -19
  306. package/dist/types/components/badge/badge.d.ts +3 -3
  307. package/dist/types/components/banner/banner.d.ts +3 -3
  308. package/dist/types/components/button/button.d.ts +2 -2
  309. package/dist/types/components/button-group/button-group.d.ts +1 -1
  310. package/dist/types/components/charts/domain.d.ts +11 -0
  311. package/dist/types/components/charts/marks.d.ts +1 -0
  312. package/dist/types/components/code/code.d.ts +3 -3
  313. package/dist/types/components/code-block/json-view.d.ts +2 -1
  314. package/dist/types/components/code-block/numbers.d.ts +1 -0
  315. package/dist/types/components/collapsible/collapsible.d.ts +2 -2
  316. package/dist/types/components/collapsible/disclosure.d.ts +2 -0
  317. package/dist/types/components/data-table/data-table.d.ts +6 -5
  318. package/dist/types/components/data-table/docs.d.ts +1 -0
  319. package/dist/types/components/data-table/time-columns.d.ts +1 -0
  320. package/dist/types/components/date-picker/focus-day.d.ts +1 -0
  321. package/dist/types/components/date-picker/iso-field.d.ts +8 -1
  322. package/dist/types/components/dialog/dialog.d.ts +7 -7
  323. package/dist/types/components/field/field.d.ts +1 -1
  324. package/dist/types/components/flow/flow.d.ts +1 -1
  325. package/dist/types/components/icon-button/icon-button.d.ts +1 -1
  326. package/dist/types/components/input/input-group.d.ts +2 -0
  327. package/dist/types/components/input/number-input.d.ts +4 -4
  328. package/dist/types/components/input/otp-input.d.ts +3 -3
  329. package/dist/types/components/kaeso/client-button.d.ts +2 -1
  330. package/dist/types/components/kaeso/provider-picker.d.ts +1 -0
  331. package/dist/types/components/kaeso/rights.d.ts +1 -1
  332. package/dist/types/components/kaeso/role-picker.d.ts +1 -0
  333. package/dist/types/components/key-value/key-value.d.ts +2 -2
  334. package/dist/types/components/layout/layout.d.ts +2 -2
  335. package/dist/types/components/link/link.d.ts +4 -4
  336. package/dist/types/components/list/list.d.ts +2 -2
  337. package/dist/types/components/menu/menu.d.ts +2 -1
  338. package/dist/types/components/menu/styles.d.ts +3 -3
  339. package/dist/types/components/meter/meter.d.ts +3 -3
  340. package/dist/types/components/page-header/page-header.d.ts +1 -1
  341. package/dist/types/components/pagination/pagination.d.ts +2 -2
  342. package/dist/types/components/playground/prompt-suggestions.d.ts +1 -0
  343. package/dist/types/components/playground/reasoning-frame.d.ts +14 -0
  344. package/dist/types/components/playground/reasoning.d.ts +1 -0
  345. package/dist/types/components/popover/popover.d.ts +1 -1
  346. package/dist/types/components/scroll-area/scroll-area.d.ts +2 -2
  347. package/dist/types/components/section/section-header.d.ts +6 -0
  348. package/dist/types/components/segmented/segmented.d.ts +1 -0
  349. package/dist/types/components/select/select.d.ts +1 -1
  350. package/dist/types/components/sheet/sheet.d.ts +3 -3
  351. package/dist/types/components/sidebar/sidebar.d.ts +1 -0
  352. package/dist/types/components/slider/slider.d.ts +2 -2
  353. package/dist/types/components/stat/stat.d.ts +1 -1
  354. package/dist/types/components/tabs/tabs.d.ts +6 -4
  355. package/dist/types/components/text/truncated.d.ts +7 -0
  356. package/dist/types/components/timeline/timeline.d.ts +5 -5
  357. package/dist/types/components/toc/toc.d.ts +1 -1
  358. package/dist/types/components/toolbar/toolbar.d.ts +1 -1
  359. package/dist/types/components/tooltip/tooltip.d.ts +2 -2
  360. package/dist/types/components/tooltip/trigger-props.d.ts +1 -0
  361. package/dist/types/hooks/use-coarse-pointer.d.ts +1 -0
  362. package/dist/types/hooks/use-hydrating.d.ts +1 -0
  363. package/dist/types/utils/arrow-focus.d.ts +4 -1
  364. package/dist/types/utils/cn.d.ts +33 -0
  365. package/dist/types/utils/portal-context.d.ts +7 -1
  366. package/dist/utils.js +2 -2
  367. package/foundations/accessibility.md +3 -2
  368. package/foundations/color.md +5 -1
  369. package/foundations/elevation.md +1 -0
  370. package/foundations/motion.md +1 -1
  371. package/foundations/shape.md +2 -2
  372. package/foundations/typography.md +12 -12
  373. package/package.json +2 -2
  374. package/dist/chunks/agent-avatar-0pdBTWkR.js +0 -171
  375. package/dist/chunks/agent-avatar-0pdBTWkR.js.map +0 -1
  376. package/dist/chunks/app-frame-DogGRmsu.js +0 -221
  377. package/dist/chunks/app-frame-DogGRmsu.js.map +0 -1
  378. package/dist/chunks/arrow-focus-BcySmwwU.js +0 -11
  379. package/dist/chunks/arrow-focus-BcySmwwU.js.map +0 -1
  380. package/dist/chunks/avatar-CWbdwbJv.js +0 -83
  381. package/dist/chunks/avatar-CWbdwbJv.js.map +0 -1
  382. package/dist/chunks/badge-C2KtxCLB.js +0 -26
  383. package/dist/chunks/badge-C2KtxCLB.js.map +0 -1
  384. package/dist/chunks/banner-BA2ALw9M.js +0 -85
  385. package/dist/chunks/banner-BA2ALw9M.js.map +0 -1
  386. package/dist/chunks/button-CzuxqawA.js +0 -164
  387. package/dist/chunks/button-CzuxqawA.js.map +0 -1
  388. package/dist/chunks/calendar-BWaf2MXc.js.map +0 -1
  389. package/dist/chunks/checkbox-CQjwCPkc.js +0 -126
  390. package/dist/chunks/checkbox-CQjwCPkc.js.map +0 -1
  391. package/dist/chunks/cn-Dj6sRgkF.js.map +0 -1
  392. package/dist/chunks/code-block-BZIe_B9l.js +0 -334
  393. package/dist/chunks/code-block-BZIe_B9l.js.map +0 -1
  394. package/dist/chunks/code-block-DdNPHEzI.js.map +0 -1
  395. package/dist/chunks/code-tqj0uhBL.js.map +0 -1
  396. package/dist/chunks/collapsible-CKrCX_T9.js +0 -87
  397. package/dist/chunks/collapsible-CKrCX_T9.js.map +0 -1
  398. package/dist/chunks/combobox-DjDI7SUC.js +0 -319
  399. package/dist/chunks/combobox-DjDI7SUC.js.map +0 -1
  400. package/dist/chunks/command-list-C2Y7V_lt.js +0 -418
  401. package/dist/chunks/command-list-C2Y7V_lt.js.map +0 -1
  402. package/dist/chunks/copy-button-FJvPJn72.js.map +0 -1
  403. package/dist/chunks/core-BYns5ytV.js +0 -472
  404. package/dist/chunks/core-BYns5ytV.js.map +0 -1
  405. package/dist/chunks/date-popup-CPA_zt6o.js +0 -35
  406. package/dist/chunks/date-popup-CPA_zt6o.js.map +0 -1
  407. package/dist/chunks/de-D_0mmG-k.js.map +0 -1
  408. package/dist/chunks/dialog-Cg9A_6SF.js.map +0 -1
  409. package/dist/chunks/field-TviMvYa2.js.map +0 -1
  410. package/dist/chunks/hidden-description-B2zSmLcn.js +0 -23
  411. package/dist/chunks/hidden-description-B2zSmLcn.js.map +0 -1
  412. package/dist/chunks/icon-button-CrdF_eMG.js.map +0 -1
  413. package/dist/chunks/input-2VJuj_M4.js.map +0 -1
  414. package/dist/chunks/input-group-DQ_4DoXg.js.map +0 -1
  415. package/dist/chunks/iso-field-B2rTwiBo.js +0 -33
  416. package/dist/chunks/iso-field-B2rTwiBo.js.map +0 -1
  417. package/dist/chunks/json-view-Dqd2TDkc.js +0 -175
  418. package/dist/chunks/json-view-Dqd2TDkc.js.map +0 -1
  419. package/dist/chunks/kbd-BF1vKXJf.js.map +0 -1
  420. package/dist/chunks/link-KWI7PevW.js.map +0 -1
  421. package/dist/chunks/list-M1csq-d4.js +0 -494
  422. package/dist/chunks/list-M1csq-d4.js.map +0 -1
  423. package/dist/chunks/markdown-BupwFOae.js +0 -313
  424. package/dist/chunks/markdown-BupwFOae.js.map +0 -1
  425. package/dist/chunks/menu-DEmBfdPm.js +0 -450
  426. package/dist/chunks/menu-DEmBfdPm.js.map +0 -1
  427. package/dist/chunks/meter-Bj4N3Xuh.js +0 -84
  428. package/dist/chunks/meter-Bj4N3Xuh.js.map +0 -1
  429. package/dist/chunks/nav-sheet-CzgIwgAm.js +0 -60
  430. package/dist/chunks/nav-sheet-CzgIwgAm.js.map +0 -1
  431. package/dist/chunks/nav-wordmark-_pjheAsZ.js.map +0 -1
  432. package/dist/chunks/page-header-DL2y2iZp.js +0 -41
  433. package/dist/chunks/page-header-DL2y2iZp.js.map +0 -1
  434. package/dist/chunks/pagination-Cn_qF4cg.js +0 -86
  435. package/dist/chunks/pagination-Cn_qF4cg.js.map +0 -1
  436. package/dist/chunks/picker-popover-BxyU1U9F.js +0 -106
  437. package/dist/chunks/picker-popover-BxyU1U9F.js.map +0 -1
  438. package/dist/chunks/popover-DNN4S47w.js +0 -50
  439. package/dist/chunks/popover-DNN4S47w.js.map +0 -1
  440. package/dist/chunks/portal-context-BBbzDKmY.js.map +0 -1
  441. package/dist/chunks/radio-CDDFpdtL.js.map +0 -1
  442. package/dist/chunks/range-popup-CRyWYUB1.js +0 -128
  443. package/dist/chunks/range-popup-CRyWYUB1.js.map +0 -1
  444. package/dist/chunks/release-art-ZwfFQImt.js +0 -561
  445. package/dist/chunks/release-art-ZwfFQImt.js.map +0 -1
  446. package/dist/chunks/rights-Cyp0Pzp-.js +0 -279
  447. package/dist/chunks/rights-Cyp0Pzp-.js.map +0 -1
  448. package/dist/chunks/scroll-area-D8MD7Vpo.js.map +0 -1
  449. package/dist/chunks/scroll-parent-WXvzQcUo.js +0 -14
  450. package/dist/chunks/scroll-parent-WXvzQcUo.js.map +0 -1
  451. package/dist/chunks/section-Ce1efbsP.js +0 -87
  452. package/dist/chunks/section-Ce1efbsP.js.map +0 -1
  453. package/dist/chunks/segmented-CErcoxwi.js +0 -114
  454. package/dist/chunks/segmented-CErcoxwi.js.map +0 -1
  455. package/dist/chunks/select-x4XVsdCI.js +0 -210
  456. package/dist/chunks/select-x4XVsdCI.js.map +0 -1
  457. package/dist/chunks/separator-D7TzNHmX.js.map +0 -1
  458. package/dist/chunks/sidebar-3r1ZRXlN.js +0 -621
  459. package/dist/chunks/sidebar-3r1ZRXlN.js.map +0 -1
  460. package/dist/chunks/skeleton-Dcz57Zyp.js.map +0 -1
  461. package/dist/chunks/slider-Ci83PGtj.js +0 -57
  462. package/dist/chunks/slider-Ci83PGtj.js.map +0 -1
  463. package/dist/chunks/swap-text-Dr0Irxz6.js.map +0 -1
  464. package/dist/chunks/switch-BNMq_kGt.js +0 -59
  465. package/dist/chunks/switch-BNMq_kGt.js.map +0 -1
  466. package/dist/chunks/table-BeOSKl_3.js +0 -84
  467. package/dist/chunks/table-BeOSKl_3.js.map +0 -1
  468. package/dist/chunks/tag-D_M1s2qS.js +0 -87
  469. package/dist/chunks/tag-D_M1s2qS.js.map +0 -1
  470. package/dist/chunks/text-CIXH8rmT.js.map +0 -1
  471. package/dist/chunks/textarea--4FRL3Pb.js.map +0 -1
  472. package/dist/chunks/timeseries-D1xjRXfk.js +0 -339
  473. package/dist/chunks/timeseries-D1xjRXfk.js.map +0 -1
  474. package/dist/chunks/toolbar-WA_oZgu-.js +0 -37
  475. package/dist/chunks/toolbar-WA_oZgu-.js.map +0 -1
  476. package/dist/chunks/tooltip-OcwO0VUT.js +0 -154
  477. package/dist/chunks/tooltip-OcwO0VUT.js.map +0 -1
  478. package/dist/chunks/tooltip-root-DzahJDVj.js +0 -60
  479. package/dist/chunks/tooltip-root-DzahJDVj.js.map +0 -1
  480. package/dist/chunks/zh-CN-Bm6UPIbW.js.map +0 -1
  481. package/dist/components/data-table.js.map +0 -1
  482. package/dist/components/label.js.map +0 -1
@@ -1,494 +0,0 @@
1
- "use client";
2
- import { t as e } from "./cn-Dj6sRgkF.js";
3
- import { r as t } from "./portal-context-BBbzDKmY.js";
4
- import { a as n, i as r } from "./inset-BUzyXLK4.js";
5
- import { i } from "./context-BELWW79w.js";
6
- import { t as a } from "./icon-D7ja-_Yk.js";
7
- import { c as o, d as s } from "./tooltip-OcwO0VUT.js";
8
- import { r as c } from "./text-CIXH8rmT.js";
9
- import { t as l } from "./icon-button-CrdF_eMG.js";
10
- import { n as u } from "./use-layout-width-CbSDbRb0.js";
11
- import { r as d } from "./skeleton-Dcz57Zyp.js";
12
- import { t as f } from "./scroll-parent-WXvzQcUo.js";
13
- import { forwardRef as p, useCallback as m, useEffect as h, useLayoutEffect as g, useMemo as _, useRef as v, useState as y } from "react";
14
- import { jsx as b, jsxs as x } from "react/jsx-runtime";
15
- import { Add01Icon as S, Cancel01Icon as C } from "@hugeicons/core-free-icons";
16
- import { createPortal as w } from "react-dom";
17
- //#region src/components/list/row-checkbox.tsx
18
- var T = /* @__PURE__ */ o(() => import("./checkbox-CQjwCPkc.js").then((e) => e.c), { base: () => import.meta.url });
19
- function E({ checked: t, onToggle: n, "aria-label": r }) {
20
- let [i, a] = s(T, !0), [o, c] = y(!1), [l, u] = y(!1);
21
- return h(() => {
22
- if (!l) return;
23
- let e, t = () => {
24
- e = setTimeout(() => u(!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
- }, [l]), i && !o && !l ? /* @__PURE__ */ b(i.CheckboxBox, {
30
- checked: t,
31
- onCheckedChange: n,
32
- "aria-label": r
33
- }) : /* @__PURE__ */ b("span", {
34
- role: "checkbox",
35
- "aria-checked": t,
36
- "aria-label": r,
37
- onPointerEnter: () => {
38
- c(!0), a();
39
- },
40
- onPointerLeave: () => c(!1),
41
- onPointerDown: () => u(!0),
42
- onClick: () => {
43
- n(), c(!1), u(!1);
44
- },
45
- className: "relative -m-3 inline-flex size-24 shrink-0 cursor-pointer items-center justify-center rounded-checkbox",
46
- children: /* @__PURE__ */ b("span", {
47
- "aria-hidden": !0,
48
- className: e("flex size-18 items-center justify-center rounded-checkbox", t ? "bg-ink" : "bg-raised shadow-selector")
49
- })
50
- });
51
- }
52
- //#endregion
53
- //#region src/components/list/list.tsx
54
- var ee = /* @__PURE__ */ o(() => import("./virtual-rows-CC_kc2PR.js"), { base: () => import.meta.url }), D = { density: {
55
- default: { classes: "h-44" },
56
- compact: { classes: "h-36" }
57
- } }, O = { density: "default" }, k = {
58
- 48: "w-48",
59
- 64: "w-64",
60
- 80: "w-80",
61
- 96: "w-96",
62
- 120: "w-120"
63
- }, A = 520, j = "a[href], button, input, select, textarea, [tabindex], [contenteditable=true]", te = "input:not([type=checkbox]):not([type=radio]), textarea, select, [contenteditable=true]";
64
- function M(e) {
65
- for (let t of e.querySelectorAll("[role=row]")) {
66
- let e = t.querySelector("[data-index]");
67
- if (e) for (let n of t.querySelectorAll(j)) n !== e && n.getAttribute("tabindex") !== "-1" && n.setAttribute("tabindex", "-1");
68
- }
69
- }
70
- var N = /* @__PURE__ */ p(function({ items: t, groups: r, onOpen: i, selectable: a, selected: o, onSelectedChange: c, idWidth: l, density: d = "default", wrapSubtitle: p = !1, virtualizeAbove: h = 100, selectionActions: S, selectionBar: C = !0, loading: w, empty: T, className: E, "aria-label": D, "data-force-row": O }, k) {
71
- let N = n(), [L, ie] = y(/* @__PURE__ */ new Set()), R = o ?? L, z = m((e) => {
72
- o || ie(e), c?.(e);
73
- }, [o, c]), [B, ae] = y(() => new Set((r ?? []).filter((e) => e.defaultCollapsed).map((e) => e.id))), [V, H] = y(-1), [oe, U] = y(null), W = v(null), G = u(W), K = !!G && G < A, q = _(() => {
74
- let e = (e) => e.flatMap((e) => [{
75
- kind: "row",
76
- item: e,
77
- depth: 0,
78
- lastChild: !1,
79
- key: e.id
80
- }, ...(e.children ?? []).map((e, t, n) => ({
81
- kind: "row",
82
- item: e,
83
- depth: 1,
84
- lastChild: t === n.length - 1,
85
- key: e.id
86
- }))]);
87
- return r ? r.flatMap((t) => [{
88
- kind: "header",
89
- group: t,
90
- key: `h-${t.id}`
91
- }, ...B.has(t.id) ? [] : e(t.items)]) : e(t ?? []);
92
- }, [
93
- t,
94
- r,
95
- B
96
- ]), se = q.findIndex((e) => e.kind === "row"), J = r ? r.every((e) => e.items.length === 0) : (t ?? []).length === 0, Y = q.length > h, X = (e) => q[e]?.kind === "header" ? e === 0 ? 36 : 52 : K ? 64 : d === "compact" ? 36 : 44, [ce, Z] = s(ee, Y), Q = ce?.VirtualRows, le = v(null);
97
- V >= q.length && H(-1);
98
- let ue = V >= 0 ? V : q.length ? 0 : -1, de = (e) => {
99
- H(e), Y && le.current?.(e);
100
- let t = () => W.current?.querySelector(`[data-index="${e}"]`), n = t();
101
- n ? n.focus() : requestAnimationFrame(() => t()?.focus());
102
- }, fe = v(!!Q);
103
- g(() => {
104
- Q && !fe.current && V >= 0 && document.activeElement === document.body && W.current?.querySelector(`[data-index="${V}"]`)?.focus(), fe.current = !!Q;
105
- }), g(() => {
106
- let e = W.current;
107
- if (!e) return;
108
- M(e);
109
- let t = new MutationObserver(() => M(e));
110
- return t.observe(e, {
111
- subtree: !0,
112
- childList: !0,
113
- attributes: !0,
114
- attributeFilter: ["tabindex"]
115
- }), () => t.disconnect();
116
- }, []);
117
- let pe = (e) => {
118
- let t = new Set(R);
119
- t.has(e) ? t.delete(e) : t.add(e), z(t);
120
- }, me = (e) => e.flatMap((e) => e.kind === "row" && !e.item.disabled ? [e.item.id] : []), he = (e) => {
121
- let t = e.target;
122
- if (e.defaultPrevented || !e.currentTarget.contains(t) || t.closest(te)) return;
123
- let n = t.closest("[role=row]"), r = n?.querySelector("[data-index]");
124
- if (!n || !r) return;
125
- let o = Number(r.dataset.index), s = t === r, c = q[o], l = c?.kind === "row" ? c.item : void 0;
126
- if (e.altKey) return;
127
- if (e.metaKey || e.ctrlKey) {
128
- e.key.toLowerCase() === "a" && a && !e.shiftKey && (e.preventDefault(), z(new Set(me(q))));
129
- return;
130
- }
131
- let u = (t) => {
132
- if (e.preventDefault(), e.shiftKey && a) {
133
- let e = oe ?? o;
134
- U(e);
135
- let n = new Set(R);
136
- me(q.slice(Math.min(e, t), Math.max(e, t) + 1)).forEach((e) => n.add(e)), z(n);
137
- } else U(null);
138
- de(t);
139
- }, d = () => [...n.querySelectorAll(j)].filter((e) => e !== r && !e.closest("[role=checkbox], [aria-hidden=true], [hidden]") && !e.matches(":disabled, input[type=checkbox]"));
140
- if (e.key === "ArrowDown" || e.key === "j" && !e.shiftKey) u(Math.min(q.length - 1, o + 1));
141
- else if (e.key === "ArrowUp" || e.key === "k" && !e.shiftKey) u(Math.max(0, o - 1));
142
- else if (e.key === "Home") u(0);
143
- else if (e.key === "End") u(q.length - 1);
144
- else if (e.key === "ArrowRight" || e.key === "ArrowLeft") {
145
- 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;
146
- if (!a) return;
147
- e.preventDefault(), a.focus();
148
- } else if (e.key === "Escape" && !s) e.preventDefault(), r.focus();
149
- else if (!s || !l || e.shiftKey) return;
150
- else (e.key === " " || e.key === "x") && a ? (e.preventDefault(), l.disabled || pe(l.id)) : e.key === "Enter" ? (e.preventDefault(), l.disabled || i?.(l)) : e.key === "Escape" && a && R.size && z(/* @__PURE__ */ new Set());
151
- }, ge = R.size > 0, $ = (e, t) => e.kind === "header" ? /* @__PURE__ */ b(F, {
152
- title: e.group.title,
153
- glyph: e.group.glyph,
154
- count: e.group.count ?? e.group.items.length,
155
- collapsed: B.has(e.group.id),
156
- onToggle: () => {
157
- let t = new Set(B);
158
- t.has(e.group.id) ? t.delete(e.group.id) : t.add(e.group.id), ae(t);
159
- },
160
- onAdd: e.group.onAdd,
161
- addLabel: e.group.addLabel,
162
- indent: !!a,
163
- first: t === 0,
164
- index: t,
165
- active: t === ue,
166
- onFocus: () => H(t)
167
- }, e.key) : /* @__PURE__ */ b(P, {
168
- index: t,
169
- item: e.item,
170
- depth: e.depth,
171
- lastChild: e.lastChild,
172
- idWidth: l,
173
- density: d,
174
- wrapSubtitle: p,
175
- narrow: K,
176
- active: t === ue,
177
- selected: R.has(e.item.id),
178
- selectable: !!a,
179
- selecting: ge,
180
- onSelect: () => pe(e.item.id),
181
- onOpen: () => i?.(e.item),
182
- onFocus: () => H(t),
183
- ...O && t === se ? { "data-force": O } : {}
184
- }, e.key);
185
- return /* @__PURE__ */ x("div", {
186
- ref: (e) => {
187
- W.current = e, typeof k == "function" ? k(e) : k && (k.current = e);
188
- },
189
- role: "grid",
190
- "aria-label": D,
191
- "aria-rowcount": q.length || void 0,
192
- "aria-multiselectable": a || void 0,
193
- "aria-busy": w || void 0,
194
- onKeyDown: (e) => {
195
- Z(), he(e);
196
- },
197
- onPointerEnter: Z,
198
- onPointerDown: Z,
199
- onFocus: Z,
200
- onWheel: Z,
201
- className: e("relative flex flex-col outline-none", N && "overflow-hidden rounded-group bg-raised shadow-xs", E),
202
- children: [w && (J || q.length === 0) ? /* @__PURE__ */ b(re, { density: d }) : J && T ? /* @__PURE__ */ b("div", {
203
- role: "row",
204
- children: /* @__PURE__ */ b("div", {
205
- role: "gridcell",
206
- children: T
207
- })
208
- }) : Y && Q ? /* @__PURE__ */ b(Q, {
209
- count: q.length,
210
- estimateSize: X,
211
- getScrollElement: () => f(W.current),
212
- scrollTo: le,
213
- row: (e) => $(q[e], e),
214
- measure: K
215
- }) : Y ? /* @__PURE__ */ b(ne, {
216
- count: q.length,
217
- estimateSize: X,
218
- row: (e) => $(q[e], e)
219
- }) : q.map($), a && ge && C && /* @__PURE__ */ b(I, {
220
- count: R.size,
221
- onClear: () => z(/* @__PURE__ */ new Set()),
222
- children: S
223
- })]
224
- });
225
- });
226
- process.env.NODE_ENV !== "production" && (N.displayName = "List");
227
- function ne({ count: e, estimateSize: t, row: n }) {
228
- let r = typeof window > "u" ? 1024 : window.innerHeight, i = [], a = 0, o = 12;
229
- for (let s = 0; s < e; s++) {
230
- if (a >= r && o-- <= 0) {
231
- for (let n = s; n < e; n++) a += t(n);
232
- break;
233
- }
234
- i.push(/* @__PURE__ */ b("div", {
235
- role: "presentation",
236
- className: "absolute top-0 left-0 w-full",
237
- style: { transform: `translateY(${Math.round(a)}px)` },
238
- children: n(s)
239
- }, s)), a += t(s);
240
- }
241
- return /* @__PURE__ */ b("div", {
242
- role: "presentation",
243
- className: "relative w-full",
244
- style: { height: a },
245
- children: i
246
- });
247
- }
248
- function re({ density: t }) {
249
- let n = r();
250
- return /* @__PURE__ */ b("div", {
251
- role: "presentation",
252
- children: [
253
- 62,
254
- 48,
255
- 70,
256
- 54,
257
- 40,
258
- 58
259
- ].map((r, i) => /* @__PURE__ */ b("div", {
260
- role: "presentation",
261
- className: n ? "px-0" : "px-24",
262
- children: /* @__PURE__ */ x("div", {
263
- className: e("flex items-center gap-12 px-12", D.density[t].classes),
264
- children: [
265
- /* @__PURE__ */ b(d, {
266
- shape: "line",
267
- className: "min-w-0",
268
- style: { width: `${r}%` }
269
- }),
270
- /* @__PURE__ */ b("span", { className: "flex-1" }),
271
- /* @__PURE__ */ b(d, {
272
- shape: "line",
273
- className: "w-64 shrink-0"
274
- })
275
- ]
276
- })
277
- }, i))
278
- });
279
- }
280
- var P = /* @__PURE__ */ p(function({ item: t, index: a, depth: o = 0, lastChild: s, idWidth: l, density: u = "default", wrapSubtitle: d = !1, narrow: f = !1, active: p, selected: m, selectable: h, selecting: g, onSelect: _, onOpen: v, onFocus: y, "data-force": S }, C) {
281
- let w = n(), T = r(), ee = i(), O = f && !!(t.meta || t.date), A = (w || O) && !!t.subtitle, j = A && d;
282
- return /* @__PURE__ */ b("div", {
283
- role: "row",
284
- "aria-rowindex": a === void 0 ? void 0 : a + 1,
285
- className: w ? e("px-0", a !== void 0 && a > 0 && "hairline-t") : T ? "px-0" : "px-24",
286
- children: /* @__PURE__ */ x("div", {
287
- ref: C,
288
- role: "gridcell",
289
- "aria-selected": h ? !!m : void 0,
290
- "aria-disabled": t.disabled || void 0,
291
- "data-index": a,
292
- "data-row": "",
293
- tabIndex: p === !1 ? -1 : 0,
294
- onFocus: y,
295
- onClick: (e) => {
296
- e.currentTarget.contains(e.target) && !e.target.closest("button, a, [role=checkbox]") && (g && h ? _?.() : v?.());
297
- },
298
- ...S ? { "data-force": S } : {},
299
- className: e("group/row relative flex cursor-pointer items-center gap-12 text-body transition-control focus-ring-inset select-none", w ? "rounded-none px-20" : "rounded-item px-12", O || j ? "min-h-56 py-8" : A ? "h-56" : w && u === "default" ? "h-48" : D.density[u].classes, "hover:bg-fill-1 hover:controls-on-fill", m && "bg-fill-2 controls-on-fill hover:bg-fill-2", t.disabled && "pointer-events-none text-fg-disabled"),
300
- children: [
301
- h && /* @__PURE__ */ b("span", {
302
- className: e("flex shrink-0 transition-control", g || m ? "opacity-100" : "opacity-0 group-hover/row:opacity-100 group-focus-visible/row:opacity-100 coarse:opacity-100"),
303
- onClick: (e) => e.stopPropagation(),
304
- children: /* @__PURE__ */ b(E, {
305
- checked: !!m,
306
- onToggle: () => _?.(),
307
- "aria-label": ee("list.selectItem", "Select {name}", { name: t.textValue ?? (typeof t.title == "string" ? t.title : t.id) })
308
- })
309
- }),
310
- o === 1 && /* @__PURE__ */ x("span", {
311
- "aria-hidden": !0,
312
- className: "relative -ml-4 h-full w-16 shrink-0",
313
- children: [/* @__PURE__ */ b("span", { className: e("absolute left-6 w-1 bg-line-strong", s ? "top-0 h-1/2" : "inset-y-0") }), /* @__PURE__ */ b("span", { className: "absolute top-1/2 left-6 h-1 w-10 bg-line-strong" })]
314
- }),
315
- t.glyph && /* @__PURE__ */ b("span", {
316
- className: "flex size-16 shrink-0 items-center justify-center",
317
- children: t.glyph
318
- }),
319
- t.leading && /* @__PURE__ */ b("span", {
320
- className: "-mr-4 flex shrink-0",
321
- children: t.leading
322
- }),
323
- t.displayId && /* @__PURE__ */ b("span", {
324
- className: e("shrink-0 truncate mono text-small text-fg-tertiary tabular", m && "text-fg-secondary", l && k[l]),
325
- children: t.displayId
326
- }),
327
- /* @__PURE__ */ x("span", {
328
- className: e("flex min-w-0 flex-1", O ? "flex-col items-start gap-4" : "contents"),
329
- children: [/* @__PURE__ */ x("span", {
330
- className: e("flex min-w-0", O ? "w-full" : "flex-1", A ? "flex-col items-start gap-2" : "items-baseline gap-8"),
331
- children: [typeof t.title == "string" ? /* @__PURE__ */ b(c, {
332
- truncate: !0,
333
- weight: "medium",
334
- className: e("min-w-0 shrink", A && "max-w-full"),
335
- children: t.title
336
- }) : /* @__PURE__ */ b("span", {
337
- className: e("min-w-0 truncate font-medium text-fg", A && "max-w-full"),
338
- children: t.title
339
- }), t.subtitle && /* @__PURE__ */ b("span", {
340
- className: e("min-w-0 text-fg-secondary", j ? "text-pretty" : "truncate", A ? "max-w-full text-small" : "flex-1 basis-0"),
341
- children: t.subtitle
342
- })]
343
- }), O && /* @__PURE__ */ x("span", {
344
- className: "flex min-w-0 flex-wrap items-center gap-x-8 gap-y-4",
345
- children: [t.meta && /* @__PURE__ */ b("span", {
346
- className: "contents",
347
- children: t.meta
348
- }), t.date && /* @__PURE__ */ b("span", {
349
- className: "text-small whitespace-nowrap text-fg-secondary tabular",
350
- children: t.date
351
- })]
352
- })]
353
- }),
354
- O && t.actions && /* @__PURE__ */ b("span", {
355
- className: "flex shrink-0 items-center gap-2",
356
- children: t.actions
357
- }),
358
- !O && (t.meta || t.actions) && /* @__PURE__ */ x("span", {
359
- className: "relative flex shrink-0 items-center gap-6",
360
- children: [/* @__PURE__ */ b("span", {
361
- className: e("flex items-center gap-6", t.actions && "transition-control group-hover/row:opacity-0 group-focus-within/row:opacity-0"),
362
- children: t.meta
363
- }), t.actions && /* @__PURE__ */ b("span", {
364
- 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"),
365
- children: t.actions
366
- })]
367
- }),
368
- !O && t.date && /* @__PURE__ */ b("span", {
369
- className: "min-w-80 shrink-0 text-right text-small whitespace-nowrap text-fg-secondary tabular",
370
- children: t.date
371
- }),
372
- t.avatar && /* @__PURE__ */ b("span", {
373
- className: "flex shrink-0",
374
- children: t.avatar
375
- })
376
- ]
377
- })
378
- });
379
- });
380
- process.env.NODE_ENV !== "production" && (P.displayName = "ListRow");
381
- var F = /* @__PURE__ */ p(function({ title: t, glyph: a, count: o, collapsed: s, onToggle: c, onAdd: u, addLabel: d, indent: f, first: p, index: m, active: h, onFocus: g }, _) {
382
- let v = n(), y = r(), C = i();
383
- return /* @__PURE__ */ b("div", {
384
- ref: _,
385
- role: "row",
386
- "aria-rowindex": m === void 0 ? void 0 : m + 1,
387
- onFocus: g,
388
- className: v ? e("group/gh bg-fill-1", !p && "hairline-t") : e("group/gh pt-16 first:pt-0", y ? "px-0" : "px-24"),
389
- children: /* @__PURE__ */ x("div", {
390
- role: "gridcell",
391
- className: e("flex h-36 items-center gap-4", v && "pr-12 pl-8"),
392
- children: [
393
- f && !v && /* @__PURE__ */ b("span", {
394
- "aria-hidden": !0,
395
- className: "mr-8 w-18 shrink-0"
396
- }),
397
- /* @__PURE__ */ x("button", {
398
- type: "button",
399
- "aria-expanded": !s,
400
- "data-index": m,
401
- tabIndex: h === !1 ? -1 : 0,
402
- onClick: c,
403
- className: "relative flex h-28 min-w-0 cursor-pointer items-center gap-8 rounded-pill px-12 text-small transition-control hover:bg-fill-1 focus-ring tap-target",
404
- children: [
405
- a && /* @__PURE__ */ b("span", {
406
- className: "flex size-16 items-center justify-center",
407
- children: a
408
- }),
409
- /* @__PURE__ */ b("span", {
410
- className: "truncate font-medium text-fg-secondary",
411
- children: t
412
- }),
413
- o !== void 0 && /* @__PURE__ */ b("span", {
414
- className: "text-fg-tertiary tabular",
415
- children: o
416
- }),
417
- /* @__PURE__ */ b("svg", {
418
- viewBox: "0 0 8 8",
419
- "aria-hidden": !0,
420
- className: e("size-8 text-fg-tertiary transition-transform duration-180", !s && "rotate-90"),
421
- children: /* @__PURE__ */ b("path", {
422
- d: "M2.5 1.5 5.5 4l-3 2.5z",
423
- fill: "currentColor"
424
- })
425
- })
426
- ]
427
- }),
428
- /* @__PURE__ */ b("span", { className: "flex-1" }),
429
- u && /* @__PURE__ */ b("span", {
430
- className: "flex opacity-0 transition-control group-hover/gh:opacity-100 group-focus-within/gh:opacity-100 coarse:opacity-100",
431
- children: /* @__PURE__ */ b(l, {
432
- icon: S,
433
- "aria-label": d ?? C("list.add", "Add"),
434
- size: "xs",
435
- onClick: u
436
- })
437
- })
438
- ]
439
- })
440
- });
441
- });
442
- process.env.NODE_ENV !== "production" && (F.displayName = "GroupHeader");
443
- var I = /* @__PURE__ */ p(function({ count: e, onClear: n, children: r }, o) {
444
- let s = t(), c = i();
445
- return typeof document > "u" ? null : w(/* @__PURE__ */ b("div", {
446
- ref: o,
447
- role: "region",
448
- "aria-label": c("list.selection", "Selection"),
449
- className: "pointer-events-none fixed right-0 bottom-24 left-0 z-50 flex justify-center px-16",
450
- children: /* @__PURE__ */ x("div", {
451
- 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",
452
- children: [
453
- /* @__PURE__ */ b("span", {
454
- className: "pr-8 tabular",
455
- children: c("list.selected", "{count} selected", { count: String(e) })
456
- }),
457
- /* @__PURE__ */ b("span", {
458
- className: "mr-4 h-20 w-1 bg-toast-action",
459
- "aria-hidden": !0
460
- }),
461
- r,
462
- /* @__PURE__ */ b("button", {
463
- type: "button",
464
- onClick: n,
465
- "aria-label": c("list.clearSelection", "Clear selection"),
466
- 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",
467
- children: /* @__PURE__ */ b(a, {
468
- icon: C,
469
- size: "sm"
470
- })
471
- })
472
- ]
473
- })
474
- }), s ?? document.body);
475
- });
476
- process.env.NODE_ENV !== "production" && (I.displayName = "SelectionBar");
477
- var L = /* @__PURE__ */ p(function({ children: t, onClick: n, icon: r, danger: i }, o) {
478
- return /* @__PURE__ */ x("button", {
479
- ref: o,
480
- type: "button",
481
- onClick: n,
482
- 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", i ? "text-toast-danger" : "text-toast-fg", r && "pl-10"),
483
- children: [r && /* @__PURE__ */ b(a, {
484
- icon: r,
485
- size: "sm",
486
- className: i ? void 0 : "text-toast-fg-secondary"
487
- }), t]
488
- });
489
- });
490
- process.env.NODE_ENV !== "production" && (L.displayName = "SelectionAction");
491
- //#endregion
492
- export { P as a, N as i, O as n, L as o, D as r, I as s, F as t };
493
-
494
- //# sourceMappingURL=list-M1csq-d4.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-M1csq-d4.js","names":["__icon_Add01Icon","__icon_Cancel01Icon","cn","usePortalContainer","useInset","useGutterPadded","Icon","lazyModule","useLazyModuleRetried","Text","IconButton","useLayoutWidth","Skeleton","scrollParent","checkbox","n","RowCheckbox","ariaLabel","mod","retry","over","setOver","useState","pressed","setPressed","useEffect","timer","release","onToggle","checked","virtualRows","KAESO_LIST_VARIANTS","KAESO_LIST_DEFAULT_VARIANTS","ID_W","NARROW","FOCUSABLE","TEXT_ENTRY","removeWidgetsFromTabOrder","line","root","primary","widget","List","selectedProp","forceRow","inset","selectedInner","setSelectedInner","selected","setSelected","useCallback","s","onSelectedChange","collapsed","setCollapsed","groups","g","active","setActive","anchor","setAnchor","useRef","width","narrow","flat","useMemo","rows","list","item","c","i","a","items","firstRow","f","none","virtual","virtualizeAbove","estimateSize","density","rowsModule","retryRows","VirtualRows","scrollTo","tabStop","focusLine","now","hadVirtualRows","useLayoutEffect","el","observer","toggle","id","enabledIds","lines","onKeyDown","target","index","onPrimary","row","selectable","moveTo","from","next","widgets","w","at","onOpen","selecting","render","GroupHeader","ListRow","ref","loading","className","LoadingRows","empty","FirstRows","selectionBar","SelectionBar","selectionActions","view","total","extra","count","j","padded","force","card","t","useUiText","stacked","wraps","wrapSubtitle","onSelect","depth","lastChild","idWidth","first","indent","glyph","title","onAdd","Add01Icon","addLabel","container","createPortal","children","onClear","Cancel01Icon","SelectionAction","danger","icon"],"sources":["../../src/components/list/row-checkbox.tsx","../../src/components/list/list.tsx"],"sourcesContent":["import { useEffect, useState } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { lazyModule, useLazyModuleRetried } from \"../../utils/lazy-module.js\";\n\nconst checkbox = /* @__PURE__ */ lazyModule(() => import(\"../checkbox/checkbox.js\"), { base: () => import.meta.url });\n\nexport function RowCheckbox({ checked, onToggle, \"aria-label\": ariaLabel }: { checked: boolean; onToggle: () => void; \"aria-label\": string }) {\n const [mod, retry] = useLazyModuleRetried(checkbox, true);\n const [over, setOver] = useState(false);\n const [pressed, setPressed] = useState(false);\n useEffect(() => {\n if (!pressed) return;\n let timer: ReturnType<typeof setTimeout> | undefined;\n const release = () => {\n timer = setTimeout(() => setPressed(false));\n };\n window.addEventListener(\"pointerup\", release, true);\n window.addEventListener(\"pointercancel\", release, true);\n return () => {\n clearTimeout(timer);\n window.removeEventListener(\"pointerup\", release, true);\n window.removeEventListener(\"pointercancel\", release, true);\n };\n }, [pressed]);\n if (mod && !over && !pressed) return <mod.CheckboxBox checked={checked} onCheckedChange={onToggle} aria-label={ariaLabel} />;\n return (\n <span\n role=\"checkbox\"\n aria-checked={checked}\n aria-label={ariaLabel}\n onPointerEnter={() => {\n setOver(true);\n retry();\n }}\n onPointerLeave={() => setOver(false)}\n onPointerDown={() => setPressed(true)}\n onClick={() => {\n onToggle();\n setOver(false);\n setPressed(false);\n }}\n className=\"relative -m-3 inline-flex size-24 shrink-0 cursor-pointer items-center justify-center rounded-checkbox\"\n >\n <span aria-hidden className={cn(\"flex size-18 items-center justify-center rounded-checkbox\", checked ? \"bg-ink\" : \"bg-raised shadow-selector\")} />\n </span>\n );\n}\n","import { forwardRef, useCallback, useLayoutEffect, useMemo, useRef, useState, type KeyboardEvent, type MouseEvent, type ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { useGutterPadded, useInset } from \"../../utils/inset.js\";\nimport { Add01Icon as __icon_Add01Icon, Cancel01Icon as __icon_Cancel01Icon } from \"@hugeicons/core-free-icons\";\nimport { Icon, type IconData } from \"../icon/icon.js\";\nimport { IconButton } from \"../icon-button/icon-button.js\";\nimport { Text } from \"../text/text.js\";\nimport { Skeleton } from \"../skeleton/skeleton.js\";\nimport { scrollParent } from \"../../hooks/scroll-parent.js\";\nimport { useLayoutWidth } from \"../../hooks/use-layout-width.js\";\nimport { createPortal } from \"react-dom\";\nimport { usePortalContainer } from \"../../utils/portal-context.js\";\nimport { lazyModule, useLazyModuleRetried } from \"../../utils/lazy-module.js\";\nimport { RowCheckbox } from \"./row-checkbox.js\";\nimport { useUiText } from \"../../i18n/context.js\";\n\nconst virtualRows = /* @__PURE__ */ lazyModule(() => import(\"./virtual-rows.js\"), { base: () => import.meta.url });\n\nexport const KAESO_LIST_VARIANTS = {\n density: {\n default: { classes: \"h-44\" },\n compact: { classes: \"h-36\" },\n },\n} as const;\nexport const KAESO_LIST_DEFAULT_VARIANTS = { density: \"default\" } as const;\n\nexport interface ListItemData {\n id: string;\n title: ReactNode;\n textValue?: string | undefined;\n subtitle?: ReactNode | undefined;\n glyph?: ReactNode | undefined;\n leading?: ReactNode | undefined;\n displayId?: string | undefined;\n meta?: ReactNode | undefined;\n date?: ReactNode | undefined;\n avatar?: ReactNode | undefined;\n actions?: ReactNode | undefined;\n children?: ListItemData[] | undefined;\n disabled?: boolean | undefined;\n}\n\nexport interface ListGroup {\n id: string;\n title: ReactNode;\n glyph?: ReactNode | undefined;\n count?: number | undefined;\n items: ListItemData[];\n onAdd?: (() => void) | undefined;\n addLabel?: string | undefined;\n defaultCollapsed?: boolean | undefined;\n}\n\ntype Flat = { kind: \"header\"; group: ListGroup; key: string } | { kind: \"row\"; item: ListItemData; depth: 0 | 1; lastChild: boolean; key: string };\n\nexport interface ListProps {\n items?: ListItemData[] | undefined;\n groups?: ListGroup[] | undefined;\n onOpen?: ((item: ListItemData) => void) | undefined;\n selectable?: boolean | undefined;\n selected?: Set<string> | undefined;\n onSelectedChange?: ((selected: Set<string>) => void) | undefined;\n idWidth?: 48 | 64 | 80 | 96 | 120 | undefined;\n density?: keyof typeof KAESO_LIST_VARIANTS.density | undefined;\n wrapSubtitle?: boolean | undefined;\n virtualizeAbove?: number | undefined;\n selectionActions?: ReactNode | undefined;\n selectionBar?: boolean | undefined;\n loading?: boolean | undefined;\n empty?: ReactNode | undefined;\n \"aria-label\": string;\n className?: string | undefined;\n \"data-force-row\"?: string | undefined;\n}\n\nconst ID_W = { 48: \"w-48\", 64: \"w-64\", 80: \"w-80\", 96: \"w-96\", 120: \"w-120\" } as const;\n\nconst NARROW = 520;\nconst FOCUSABLE = \"a[href], button, input, select, textarea, [tabindex], [contenteditable=true]\";\nconst TEXT_ENTRY = \"input:not([type=checkbox]):not([type=radio]), textarea, select, [contenteditable=true]\";\n\nfunction removeWidgetsFromTabOrder(root: HTMLElement) {\n for (const line of root.querySelectorAll<HTMLElement>(\"[role=row]\")) {\n const primary = line.querySelector(\"[data-index]\");\n if (!primary) continue;\n for (const widget of line.querySelectorAll<HTMLElement>(FOCUSABLE)) {\n if (widget !== primary && widget.getAttribute(\"tabindex\") !== \"-1\") widget.setAttribute(\"tabindex\", \"-1\");\n }\n }\n}\n\nexport const List = /* @__PURE__ */ forwardRef<HTMLDivElement, ListProps>(function List(\n {\n items,\n groups,\n onOpen,\n selectable,\n selected: selectedProp,\n onSelectedChange,\n idWidth,\n density = \"default\",\n wrapSubtitle = false,\n virtualizeAbove = 100,\n selectionActions,\n selectionBar = true,\n loading,\n empty,\n className,\n \"aria-label\": ariaLabel,\n \"data-force-row\": forceRow,\n },\n ref,\n) {\n const inset = useInset();\n const [selectedInner, setSelectedInner] = useState<Set<string>>(new Set());\n const selected = selectedProp ?? selectedInner;\n const setSelected = useCallback(\n (s: Set<string>) => {\n if (!selectedProp) setSelectedInner(s);\n onSelectedChange?.(s);\n },\n [selectedProp, onSelectedChange],\n );\n const [collapsed, setCollapsed] = useState<Set<string>>(() => new Set((groups ?? []).filter((g) => g.defaultCollapsed).map((g) => g.id)));\n const [active, setActive] = useState(-1);\n const [anchor, setAnchor] = useState<number | null>(null);\n const root = useRef<HTMLDivElement | null>(null);\n const width = useLayoutWidth(root);\n const narrow = !!width && width < NARROW;\n\n const flat = useMemo<Flat[]>(() => {\n const rows = (list: ListItemData[]): Flat[] =>\n list.flatMap((item) => [\n { kind: \"row\" as const, item, depth: 0 as const, lastChild: false, key: item.id },\n ...(item.children ?? []).map((c, i, a) => ({ kind: \"row\" as const, item: c, depth: 1 as const, lastChild: i === a.length - 1, key: c.id })),\n ]);\n if (groups) return groups.flatMap((g) => [{ kind: \"header\" as const, group: g, key: `h-${g.id}` }, ...(collapsed.has(g.id) ? [] : rows(g.items))]);\n return rows(items ?? []);\n }, [items, groups, collapsed]);\n const firstRow = flat.findIndex((f) => f.kind === \"row\");\n const none = groups ? groups.every((g) => g.items.length === 0) : (items ?? []).length === 0;\n\n const virtual = flat.length > virtualizeAbove;\n const estimateSize = (i: number) => (flat[i]?.kind === \"header\" ? (i === 0 ? 36 : 52) : narrow ? 64 : density === \"compact\" ? 36 : 44);\n const [rowsModule, retryRows] = useLazyModuleRetried(virtualRows, virtual);\n const VirtualRows = rowsModule?.VirtualRows;\n const scrollTo = useRef<((index: number) => void) | null>(null);\n\n if (active >= flat.length) setActive(-1);\n const tabStop = active >= 0 ? active : flat.length ? 0 : -1;\n const focusLine = (i: number) => {\n setActive(i);\n if (virtual) scrollTo.current?.(i);\n const line = () => root.current?.querySelector<HTMLElement>(`[data-index=\"${i}\"]`);\n const now = line();\n if (now) now.focus();\n else requestAnimationFrame(() => line()?.focus());\n };\n const hadVirtualRows = useRef(!!VirtualRows);\n useLayoutEffect(() => {\n if (VirtualRows && !hadVirtualRows.current && active >= 0 && document.activeElement === document.body) {\n root.current?.querySelector<HTMLElement>(`[data-index=\"${active}\"]`)?.focus();\n }\n hadVirtualRows.current = !!VirtualRows;\n });\n useLayoutEffect(() => {\n const el = root.current;\n if (!el) return;\n removeWidgetsFromTabOrder(el);\n const observer = new MutationObserver(() => removeWidgetsFromTabOrder(el));\n observer.observe(el, { subtree: true, childList: true, attributes: true, attributeFilter: [\"tabindex\"] });\n return () => observer.disconnect();\n }, []);\n const toggle = (id: string) => {\n const s = new Set(selected);\n if (s.has(id)) s.delete(id);\n else s.add(id);\n setSelected(s);\n };\n const enabledIds = (lines: Flat[]) => lines.flatMap((f) => (f.kind === \"row\" && !f.item.disabled ? [f.item.id] : []));\n const onKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\n const target = e.target as HTMLElement;\n if (e.defaultPrevented || !e.currentTarget.contains(target) || target.closest(TEXT_ENTRY)) return;\n const line = target.closest<HTMLElement>(\"[role=row]\");\n const primary = line?.querySelector<HTMLElement>(\"[data-index]\");\n if (!line || !primary) return;\n const index = Number(primary.dataset.index);\n const onPrimary = target === primary;\n const f = flat[index];\n const row = f?.kind === \"row\" ? f.item : undefined;\n if (e.altKey) return;\n if (e.metaKey || e.ctrlKey) {\n if (e.key.toLowerCase() === \"a\" && selectable && !e.shiftKey) {\n e.preventDefault();\n setSelected(new Set(enabledIds(flat)));\n }\n return;\n }\n const moveTo = (next: number) => {\n e.preventDefault();\n if (e.shiftKey && selectable) {\n const from = anchor ?? index;\n setAnchor(from);\n const s = new Set(selected);\n enabledIds(flat.slice(Math.min(from, next), Math.max(from, next) + 1)).forEach((id) => s.add(id));\n setSelected(s);\n } else setAnchor(null);\n focusLine(next);\n };\n const widgets = () =>\n [...line.querySelectorAll<HTMLElement>(FOCUSABLE)].filter(\n (w) => w !== primary && !w.closest(\"[role=checkbox], [aria-hidden=true], [hidden]\") && !w.matches(\":disabled, input[type=checkbox]\"),\n );\n if (e.key === \"ArrowDown\" || (e.key === \"j\" && !e.shiftKey)) moveTo(Math.min(flat.length - 1, index + 1));\n else if (e.key === \"ArrowUp\" || (e.key === \"k\" && !e.shiftKey)) moveTo(Math.max(0, index - 1));\n else if (e.key === \"Home\") moveTo(0);\n else if (e.key === \"End\") moveTo(flat.length - 1);\n else if (e.key === \"ArrowRight\" || e.key === \"ArrowLeft\") {\n const list = widgets();\n const at = onPrimary ? -1 : list.indexOf(target);\n const next = e.key === \"ArrowRight\" ? list[at + 1] : at > 0 ? list[at - 1] : at === 0 ? primary : undefined;\n if (!next) return;\n e.preventDefault();\n next.focus();\n } else if (e.key === \"Escape\" && !onPrimary) {\n e.preventDefault();\n primary.focus();\n } else if (!onPrimary || !row || e.shiftKey) {\n return;\n } else if ((e.key === \" \" || e.key === \"x\") && selectable) {\n e.preventDefault();\n if (!row.disabled) toggle(row.id);\n } else if (e.key === \"Enter\") {\n e.preventDefault();\n if (!row.disabled) onOpen?.(row);\n } else if (e.key === \"Escape\" && selectable && selected.size) {\n setSelected(new Set());\n }\n };\n const selecting = selected.size > 0;\n const render = (f: Flat, i: number) =>\n f.kind === \"header\" ? (\n <GroupHeader\n key={f.key}\n title={f.group.title}\n glyph={f.group.glyph}\n count={f.group.count ?? f.group.items.length}\n collapsed={collapsed.has(f.group.id)}\n onToggle={() => {\n const s = new Set(collapsed);\n if (s.has(f.group.id)) s.delete(f.group.id);\n else s.add(f.group.id);\n setCollapsed(s);\n }}\n onAdd={f.group.onAdd}\n addLabel={f.group.addLabel}\n indent={!!selectable}\n first={i === 0}\n index={i}\n active={i === tabStop}\n onFocus={() => setActive(i)}\n />\n ) : (\n <ListRow\n key={f.key}\n index={i}\n item={f.item}\n depth={f.depth}\n lastChild={f.lastChild}\n idWidth={idWidth}\n density={density}\n wrapSubtitle={wrapSubtitle}\n narrow={narrow}\n active={i === tabStop}\n selected={selected.has(f.item.id)}\n selectable={!!selectable}\n selecting={selecting}\n onSelect={() => toggle(f.item.id)}\n onOpen={() => onOpen?.(f.item)}\n onFocus={() => setActive(i)}\n {...(forceRow && i === firstRow ? { \"data-force\": forceRow } : {})}\n />\n );\n\n return (\n <div\n ref={(e) => {\n root.current = e;\n if (typeof ref === \"function\") ref(e);\n else if (ref) ref.current = e;\n }}\n role=\"grid\"\n aria-label={ariaLabel}\n aria-rowcount={flat.length || undefined}\n aria-multiselectable={selectable || undefined}\n aria-busy={loading || undefined}\n onKeyDown={(e) => {\n retryRows();\n onKeyDown(e);\n }}\n onPointerEnter={retryRows}\n onPointerDown={retryRows}\n onFocus={retryRows}\n onWheel={retryRows}\n className={cn(\"relative flex flex-col outline-none\", inset && \"overflow-hidden rounded-group bg-raised shadow-xs\", className)}\n >\n {loading && (none || flat.length === 0) ? (\n <LoadingRows density={density} />\n ) : none && empty ? (\n <div role=\"row\">\n <div role=\"gridcell\">{empty}</div>\n </div>\n ) : virtual && VirtualRows ? (\n <VirtualRows\n count={flat.length}\n estimateSize={estimateSize}\n getScrollElement={() => scrollParent(root.current)}\n scrollTo={scrollTo}\n row={(i) => render(flat[i]!, i)}\n measure={narrow}\n />\n ) : virtual ? (\n <FirstRows count={flat.length} estimateSize={estimateSize} row={(i) => render(flat[i]!, i)} />\n ) : (\n flat.map(render)\n )}\n {selectable && selecting && selectionBar && (\n <SelectionBar count={selected.size} onClear={() => setSelected(new Set())}>\n {selectionActions}\n </SelectionBar>\n )}\n </div>\n );\n});\nif (process.env.NODE_ENV !== \"production\") List.displayName = \"List\";\n\nfunction FirstRows({ count, estimateSize, row }: { count: number; estimateSize: (index: number) => number; row: (index: number) => ReactNode }) {\n const view = typeof window === \"undefined\" ? 1024 : window.innerHeight;\n const rows: ReactNode[] = [];\n let total = 0;\n let extra = 12;\n for (let i = 0; i < count; i++) {\n if (total >= view && extra-- <= 0) {\n for (let j = i; j < count; j++) total += estimateSize(j);\n break;\n }\n rows.push(\n <div key={i} role=\"presentation\" className=\"absolute top-0 left-0 w-full\" style={{ transform: `translateY(${Math.round(total)}px)` }}>\n {row(i)}\n </div>,\n );\n total += estimateSize(i);\n }\n return (\n <div role=\"presentation\" className=\"relative w-full\" style={{ height: total }}>\n {rows}\n </div>\n );\n}\n\nfunction LoadingRows({ density }: { density: keyof typeof KAESO_LIST_VARIANTS.density }) {\n const padded = useGutterPadded();\n return (\n <div role=\"presentation\">\n {[62, 48, 70, 54, 40, 58].map((w, i) => (\n <div key={i} role=\"presentation\" className={padded ? \"px-0\" : \"px-24\"}>\n <div className={cn(\"flex items-center gap-12 px-12\", KAESO_LIST_VARIANTS.density[density].classes)}>\n <Skeleton shape=\"line\" className=\"min-w-0\" style={{ width: `${w}%` }} />\n <span className=\"flex-1\" />\n <Skeleton shape=\"line\" className=\"w-64 shrink-0\" />\n </div>\n </div>\n ))}\n </div>\n );\n}\n\nexport interface ListRowProps {\n item: ListItemData;\n index?: number | undefined;\n depth?: 0 | 1 | undefined;\n lastChild?: boolean | undefined;\n idWidth?: keyof typeof ID_W | undefined;\n density?: keyof typeof KAESO_LIST_VARIANTS.density | undefined;\n wrapSubtitle?: boolean | undefined;\n narrow?: boolean | undefined;\n active?: boolean | undefined;\n selected?: boolean | undefined;\n selectable?: boolean | undefined;\n selecting?: boolean | undefined;\n onSelect?: (() => void) | undefined;\n onOpen?: (() => void) | undefined;\n onFocus?: (() => void) | undefined;\n \"data-force\"?: string | undefined;\n}\n\nexport const ListRow = /* @__PURE__ */ forwardRef<HTMLDivElement, ListRowProps>(function ListRow(\n {\n item,\n index,\n depth = 0,\n lastChild,\n idWidth,\n density = \"default\",\n wrapSubtitle = false,\n narrow = false,\n active,\n selected,\n selectable,\n selecting,\n onSelect,\n onOpen,\n onFocus,\n \"data-force\": force,\n },\n ref,\n) {\n const card = useInset();\n const padded = useGutterPadded();\n const t = useUiText();\n const lines = narrow && !!(item.meta || item.date);\n const stacked = (card || lines) && !!item.subtitle;\n const wraps = stacked && wrapSubtitle;\n return (\n <div\n role=\"row\"\n aria-rowindex={index !== undefined ? index + 1 : undefined}\n className={card ? cn(\"px-0\", index !== undefined && index > 0 && \"hairline-t\") : padded ? \"px-0\" : \"px-24\"}\n >\n <div\n ref={ref}\n role=\"gridcell\"\n aria-selected={selectable ? !!selected : undefined}\n aria-disabled={item.disabled || undefined}\n data-index={index}\n data-row=\"\"\n tabIndex={active === false ? -1 : 0}\n onFocus={onFocus}\n onClick={(e: MouseEvent<HTMLElement>) => {\n if (!e.currentTarget.contains(e.target as Node) || (e.target as HTMLElement).closest(\"button, a, [role=checkbox]\")) return;\n if (selecting && selectable) onSelect?.();\n else onOpen?.();\n }}\n {...(force ? { \"data-force\": force } : {})}\n className={cn(\n \"group/row relative flex cursor-pointer items-center gap-12 text-body transition-control focus-ring-inset select-none\",\n card ? \"rounded-none px-20\" : \"rounded-item px-12\",\n lines || wraps ? \"min-h-56 py-8\" : stacked ? \"h-56\" : card && density === \"default\" ? \"h-48\" : KAESO_LIST_VARIANTS.density[density].classes,\n \"hover:bg-fill-1 hover:controls-on-fill\",\n selected && \"bg-fill-2 controls-on-fill hover:bg-fill-2\",\n item.disabled && \"pointer-events-none text-fg-disabled\",\n )}\n >\n {selectable && (\n <span\n className={cn(\n \"flex shrink-0 transition-control\",\n selecting || selected ? \"opacity-100\" : \"opacity-0 group-hover/row:opacity-100 group-focus-visible/row:opacity-100 coarse:opacity-100\",\n )}\n onClick={(e) => e.stopPropagation()}\n >\n <RowCheckbox\n checked={!!selected}\n onToggle={() => onSelect?.()}\n aria-label={t(\"list.selectItem\", \"Select {name}\", { name: item.textValue ?? (typeof item.title === \"string\" ? item.title : item.id) })}\n />\n </span>\n )}\n {depth === 1 && (\n <span aria-hidden className=\"relative -ml-4 h-full w-16 shrink-0\">\n <span className={cn(\"absolute left-6 w-1 bg-line-strong\", lastChild ? \"top-0 h-1/2\" : \"inset-y-0\")} />\n <span className=\"absolute top-1/2 left-6 h-1 w-10 bg-line-strong\" />\n </span>\n )}\n {item.glyph && <span className=\"flex size-16 shrink-0 items-center justify-center\">{item.glyph}</span>}\n {item.leading && <span className=\"-mr-4 flex shrink-0\">{item.leading}</span>}\n {item.displayId && (\n <span className={cn(\"shrink-0 truncate mono text-small text-fg-tertiary tabular\", selected && \"text-fg-secondary\", idWidth && ID_W[idWidth])}>\n {item.displayId}\n </span>\n )}\n <span className={cn(\"flex min-w-0 flex-1\", lines ? \"flex-col items-start gap-4\" : \"contents\")}>\n <span className={cn(\"flex min-w-0\", lines ? \"w-full\" : \"flex-1\", stacked ? \"flex-col items-start gap-2\" : \"items-baseline gap-8\")}>\n {typeof item.title === \"string\" ? (\n <Text truncate weight=\"medium\" className={cn(\"min-w-0 shrink\", stacked && \"max-w-full\")}>\n {item.title}\n </Text>\n ) : (\n <span className={cn(\"min-w-0 truncate font-medium text-fg\", stacked && \"max-w-full\")}>{item.title}</span>\n )}\n {item.subtitle && (\n <span className={cn(\"min-w-0 text-fg-secondary\", wraps ? \"text-pretty\" : \"truncate\", stacked ? \"max-w-full text-small\" : \"flex-1 basis-0\")}>\n {item.subtitle}\n </span>\n )}\n </span>\n {lines && (\n <span className=\"flex min-w-0 flex-wrap items-center gap-x-8 gap-y-4\">\n {item.meta && <span className=\"contents\">{item.meta}</span>}\n {item.date && <span className=\"text-small whitespace-nowrap text-fg-secondary tabular\">{item.date}</span>}\n </span>\n )}\n </span>\n {lines && item.actions && <span className=\"flex shrink-0 items-center gap-2\">{item.actions}</span>}\n {!lines && (item.meta || item.actions) && (\n <span className=\"relative flex shrink-0 items-center gap-6\">\n <span className={cn(\"flex items-center gap-6\", item.actions && \"transition-control group-hover/row:opacity-0 group-focus-within/row:opacity-0\")}>\n {item.meta}\n </span>\n {item.actions && (\n <span\n className={cn(\n \"flex items-center gap-2 opacity-0 transition-control group-hover/row:opacity-100 group-focus-within/row:opacity-100 coarse:opacity-100\",\n item.meta && \"absolute inset-y-0 right-0 coarse:static\",\n )}\n >\n {item.actions}\n </span>\n )}\n </span>\n )}\n {!lines && item.date && <span className=\"min-w-80 shrink-0 text-right text-small whitespace-nowrap text-fg-secondary tabular\">{item.date}</span>}\n {item.avatar && <span className=\"flex shrink-0\">{item.avatar}</span>}\n </div>\n </div>\n );\n});\nif (process.env.NODE_ENV !== \"production\") ListRow.displayName = \"ListRow\";\n\nexport interface GroupHeaderProps {\n title: ReactNode;\n glyph?: ReactNode | undefined;\n count?: number | undefined;\n collapsed?: boolean | undefined;\n onToggle?: (() => void) | undefined;\n onAdd?: (() => void) | undefined;\n addLabel?: string | undefined;\n indent?: boolean | undefined;\n first?: boolean | undefined;\n index?: number | undefined;\n active?: boolean | undefined;\n onFocus?: (() => void) | undefined;\n}\n\nexport const GroupHeader = /* @__PURE__ */ forwardRef<HTMLDivElement, GroupHeaderProps>(function GroupHeader(\n { title, glyph, count, collapsed, onToggle, onAdd, addLabel, indent, first, index, active, onFocus },\n ref,\n) {\n const card = useInset();\n const padded = useGutterPadded();\n const t = useUiText();\n return (\n <div\n ref={ref}\n role=\"row\"\n aria-rowindex={index !== undefined ? index + 1 : undefined}\n onFocus={onFocus}\n className={card ? cn(\"group/gh bg-fill-1\", !first && \"hairline-t\") : cn(\"group/gh pt-16 first:pt-0\", padded ? \"px-0\" : \"px-24\")}\n >\n <div role=\"gridcell\" className={cn(\"flex h-36 items-center gap-4\", card && \"pr-12 pl-8\")}>\n {indent && !card && <span aria-hidden className=\"mr-8 w-18 shrink-0\" />}\n <button\n type=\"button\"\n aria-expanded={!collapsed}\n data-index={index}\n tabIndex={active === false ? -1 : 0}\n onClick={onToggle}\n className=\"relative flex h-28 min-w-0 cursor-pointer items-center gap-8 rounded-pill px-12 text-small transition-control hover:bg-fill-1 focus-ring tap-target\"\n >\n {glyph && <span className=\"flex size-16 items-center justify-center\">{glyph}</span>}\n <span className=\"truncate font-medium text-fg-secondary\">{title}</span>\n {count !== undefined && <span className=\"text-fg-tertiary tabular\">{count}</span>}\n <svg viewBox=\"0 0 8 8\" aria-hidden className={cn(\"size-8 text-fg-tertiary transition-transform duration-180\", !collapsed && \"rotate-90\")}>\n <path d=\"M2.5 1.5 5.5 4l-3 2.5z\" fill=\"currentColor\" />\n </svg>\n </button>\n <span className=\"flex-1\" />\n {onAdd && (\n <span className=\"flex opacity-0 transition-control group-hover/gh:opacity-100 group-focus-within/gh:opacity-100 coarse:opacity-100\">\n <IconButton icon={__icon_Add01Icon} aria-label={addLabel ?? t(\"list.add\", \"Add\")} size=\"xs\" onClick={onAdd} />\n </span>\n )}\n </div>\n </div>\n );\n});\nif (process.env.NODE_ENV !== \"production\") GroupHeader.displayName = \"GroupHeader\";\n\nexport interface SelectionBarProps {\n count: number;\n onClear: () => void;\n children?: ReactNode | undefined;\n}\n\nexport const SelectionBar = /* @__PURE__ */ forwardRef<HTMLDivElement, SelectionBarProps>(function SelectionBar({ count, onClear, children }, ref) {\n const container = usePortalContainer();\n const t = useUiText();\n if (typeof document === \"undefined\") return null;\n return createPortal(\n <div\n ref={ref}\n role=\"region\"\n aria-label={t(\"list.selection\", \"Selection\")}\n className=\"pointer-events-none fixed right-0 bottom-24 left-0 z-50 flex justify-center px-16\"\n >\n <div 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\">\n <span className=\"pr-8 tabular\">{t(\"list.selected\", \"{count} selected\", { count: String(count) })}</span>\n <span className=\"mr-4 h-20 w-1 bg-toast-action\" aria-hidden />\n {children}\n <button\n type=\"button\"\n onClick={onClear}\n aria-label={t(\"list.clearSelection\", \"Clear selection\")}\n 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\"\n >\n <Icon icon={__icon_Cancel01Icon} size=\"sm\" />\n </button>\n </div>\n </div>,\n container ?? document.body,\n );\n});\nif (process.env.NODE_ENV !== \"production\") SelectionBar.displayName = \"SelectionBar\";\n\nexport interface SelectionActionProps {\n children: ReactNode;\n onClick?: (() => void) | undefined;\n icon?: IconData | undefined;\n danger?: boolean | undefined;\n}\n\nexport const SelectionAction = /* @__PURE__ */ forwardRef<HTMLButtonElement, SelectionActionProps>(function SelectionAction({ children, onClick, icon, danger }, ref) {\n return (\n <button\n ref={ref}\n type=\"button\"\n onClick={onClick}\n className={cn(\n \"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\",\n danger ? \"text-toast-danger\" : \"text-toast-fg\",\n icon && \"pl-10\",\n )}\n >\n {icon && <Icon icon={icon} size=\"sm\" className={danger ? undefined : \"text-toast-fg-secondary\"} />}\n {children}\n </button>\n );\n});\nif (process.env.NODE_ENV !== \"production\") SelectionAction.displayName = \"SelectionAction\";\n"],"mappings":"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"}