@logicplanes/kaeso-ui 0.4.4 → 0.4.6

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,450 +0,0 @@
1
- "use client";
2
- import { i as e, o as t, s as n, t as r } from "./styles-CVJU9t9v.js";
3
- import { t as i } from "./cn-Dj6sRgkF.js";
4
- import { r as a } from "./link-provider-cvl8lSTT.js";
5
- import { n as o, r as s } from "./portal-context-BBbzDKmY.js";
6
- import { t as c } from "./icon-D7ja-_Yk.js";
7
- import { i as l } from "./kbd-BF1vKXJf.js";
8
- import { n as u, t as d } from "./use-layout-width-CbSDbRb0.js";
9
- import { createContext as f, forwardRef as p, useCallback as m, useContext as h, useRef as g } from "react";
10
- import { Fragment as _, jsx as v, jsxs as y } from "react/jsx-runtime";
11
- import { ArrowRight01Icon as b, ArrowUpRight01Icon as x, Tick02Icon as S } from "@hugeicons/core-free-icons";
12
- import { Menu as C } from "@base-ui/react/menu";
13
- import { ContextMenu as w } from "@base-ui/react/context-menu";
14
- import { Menubar as T } from "@base-ui/react/menubar";
15
- //#region src/components/menu/menu.tsx
16
- var E = {
17
- item: {
18
- default: { classes: "" },
19
- danger: { classes: r }
20
- },
21
- width: {
22
- auto: { classes: "" },
23
- trigger: { classes: "w-anchor" }
24
- },
25
- description: {
26
- secondary: { classes: "text-fg-secondary" },
27
- danger: { classes: "text-danger-text" }
28
- }
29
- }, D = {
30
- item: "default",
31
- width: "auto",
32
- description: "secondary"
33
- }, O = { current: null }, k = /* @__PURE__ */ f(null);
34
- function A({ open: e, defaultOpen: t, onOpenChange: n, modal: r = !1, children: i }) {
35
- let a = g(null);
36
- return /* @__PURE__ */ v(C.Root, {
37
- ...e === void 0 ? {} : { open: e },
38
- ...t === void 0 ? {} : { defaultOpen: t },
39
- ...n ? { onOpenChange: (e) => n(e) } : {},
40
- modal: r,
41
- children: /* @__PURE__ */ v(k.Provider, {
42
- value: a,
43
- children: i
44
- })
45
- });
46
- }
47
- process.env.NODE_ENV !== "production" && (A.displayName = "Menu");
48
- function j({ children: e, openOnHover: t }) {
49
- let n = h(k), r = m((e) => {
50
- n && (n.current = e);
51
- }, [n]);
52
- return /* @__PURE__ */ v(C.Trigger, {
53
- ref: r,
54
- render: e,
55
- ...t ? { openOnHover: t } : {}
56
- });
57
- }
58
- process.env.NODE_ENV !== "production" && (j.displayName = "Menu.Trigger");
59
- function M(e, t) {
60
- return function(n) {
61
- let { role: r, id: a, "aria-labelledby": o, "aria-orientation": s, children: c, className: l, ...u } = n;
62
- return /* @__PURE__ */ v("div", {
63
- ...u,
64
- className: i(l, "overflow-hidden p-0"),
65
- children: /* @__PURE__ */ y("div", {
66
- tabIndex: 0,
67
- className: "flex min-h-0 flex-1 flex-col overflow-y-auto overscroll-contain rounded-menu p-6 focus-ring-inset scrollbar-quiet",
68
- children: [
69
- /* @__PURE__ */ v("div", {
70
- className: "mb-6 px-10 pt-6 pb-10 hairline-b",
71
- children: e
72
- }),
73
- /* @__PURE__ */ v("div", {
74
- role: r,
75
- id: a,
76
- "aria-labelledby": o,
77
- "aria-orientation": s,
78
- className: "flex flex-col",
79
- children: c
80
- }),
81
- t && /* @__PURE__ */ v("div", {
82
- className: "px-10 pt-6 pb-4 text-caption text-fg-tertiary",
83
- children: t
84
- })
85
- ]
86
- })
87
- });
88
- };
89
- }
90
- var N = /* @__PURE__ */ p(function({ children: e, side: n = "bottom", align: r = "start", sideOffset: a = 6, width: c = "auto", className: l, header: f, footer: p }, m) {
91
- let _ = h(k), b = u(_ ?? O, c === "trigger" && !!_), x = g(null);
92
- return /* @__PURE__ */ v(C.Portal, {
93
- container: s(),
94
- children: /* @__PURE__ */ v(C.Positioner, {
95
- positionMethod: "fixed",
96
- collisionBoundary: o(),
97
- side: n,
98
- align: r,
99
- sideOffset: a,
100
- collisionPadding: 8,
101
- className: "z-50 outline-none",
102
- children: /* @__PURE__ */ y(C.Popup, {
103
- ref: (e) => {
104
- x.current = e, typeof m == "function" ? m(e) : m && (m.current = e);
105
- },
106
- finalFocus: () => {
107
- let e = document.activeElement;
108
- return e && e !== document.body && !x.current?.contains(e) ? !1 : !_?.current?.isConnected || _.current;
109
- },
110
- tabIndex: 0,
111
- className: i(t, E.width[c].classes, l),
112
- style: c === "trigger" ? d(b) : void 0,
113
- ...f ? { render: M(f, p) } : {},
114
- children: [e, !f && p && /* @__PURE__ */ v("div", {
115
- className: "px-10 pt-6 pb-4 text-caption text-fg-tertiary",
116
- children: p
117
- })]
118
- })
119
- })
120
- });
121
- });
122
- process.env.NODE_ENV !== "production" && (N.displayName = "Menu.Content");
123
- function P({ icon: e, leading: t, description: n, descriptionTone: r = "secondary", shortcut: a, hint: o, children: s, danger: u }) {
124
- return /* @__PURE__ */ y(_, { children: [
125
- t ? /* @__PURE__ */ v("span", {
126
- className: i("flex size-16 shrink-0 items-center justify-center", n && "self-start mt-10"),
127
- children: t
128
- }) : e && /* @__PURE__ */ v(c, {
129
- icon: e,
130
- size: "sm",
131
- className: i(u ? "text-danger-text" : "text-fg-secondary group-data-highlighted/item:text-fg group-data-disabled/item:text-fg-disabled", n && "self-start mt-10")
132
- }),
133
- n ? /* @__PURE__ */ y("span", {
134
- className: "flex min-w-0 flex-1 flex-col gap-2 py-8",
135
- children: [/* @__PURE__ */ v("span", {
136
- className: "truncate",
137
- children: s
138
- }), /* @__PURE__ */ v("span", {
139
- className: i("text-small font-regular whitespace-normal", E.description[r].classes),
140
- children: n
141
- })]
142
- }) : /* @__PURE__ */ v("span", {
143
- className: "min-w-0 flex-1 truncate",
144
- children: s
145
- }),
146
- (a || o) && /* @__PURE__ */ y("span", {
147
- className: "ml-auto flex shrink-0 items-center gap-4 pl-16 text-caption font-medium text-fg-tertiary tabular group-data-highlighted/item:text-fg-secondary",
148
- children: [o, a && /* @__PURE__ */ v(l, { keys: a })]
149
- })
150
- ] });
151
- }
152
- var F = /* @__PURE__ */ p(function({ children: t, icon: n, leading: r, description: a, descriptionTone: o, shortcut: s, hint: c, variant: l = "default", disabled: u, onClick: d, closeOnClick: f, className: p, "data-force": m }, h) {
153
- return /* @__PURE__ */ v(C.Item, {
154
- ref: h,
155
- ...u ? { disabled: u } : {},
156
- ...d ? { onClick: d } : {},
157
- ...f === void 0 ? {} : { closeOnClick: f },
158
- ...m ? { "data-force": m } : {},
159
- className: i(e, E.item[l].classes, p),
160
- children: /* @__PURE__ */ v(P, {
161
- icon: n,
162
- leading: r,
163
- description: a,
164
- descriptionTone: o,
165
- shortcut: s,
166
- hint: c,
167
- danger: l === "danger",
168
- children: t
169
- })
170
- });
171
- });
172
- process.env.NODE_ENV !== "production" && (F.displayName = "Menu.Item");
173
- var I = /* @__PURE__ */ p(function({ children: t, href: n, external: r, icon: o, leading: s, description: l, descriptionTone: u, shortcut: d, hint: f, className: p }, m) {
174
- let h = a();
175
- return /* @__PURE__ */ v(C.LinkItem, {
176
- ref: m,
177
- href: n,
178
- ...r ? {
179
- target: "_blank",
180
- rel: "noopener noreferrer"
181
- } : { render: /* @__PURE__ */ v(h, { href: n }) },
182
- className: i(e, "no-underline", p),
183
- children: /* @__PURE__ */ v(P, {
184
- icon: o,
185
- leading: s,
186
- description: l,
187
- descriptionTone: u,
188
- shortcut: d,
189
- hint: f ?? (r ? /* @__PURE__ */ v(c, {
190
- icon: x,
191
- size: "xs"
192
- }) : void 0),
193
- children: t
194
- })
195
- });
196
- });
197
- process.env.NODE_ENV !== "production" && (I.displayName = "Menu.LinkItem");
198
- var L = /* @__PURE__ */ p(function({ children: t, icon: n, leading: r, description: a, descriptionTone: o, shortcut: s, hint: l, checked: u, defaultChecked: d, onCheckedChange: f, disabled: p, closeOnClick: m = !1, className: h }, g) {
199
- return /* @__PURE__ */ y(C.CheckboxItem, {
200
- ref: g,
201
- ...u === void 0 ? {} : { checked: u },
202
- ...d === void 0 ? {} : { defaultChecked: d },
203
- ...f ? { onCheckedChange: (e) => f(e) } : {},
204
- ...p ? { disabled: p } : {},
205
- closeOnClick: m,
206
- className: i(e, h),
207
- children: [/* @__PURE__ */ v(P, {
208
- icon: n,
209
- leading: r,
210
- description: a,
211
- descriptionTone: o,
212
- shortcut: s,
213
- hint: l,
214
- children: t
215
- }), /* @__PURE__ */ v(C.CheckboxItemIndicator, {
216
- keepMounted: !0,
217
- className: "flex size-16 shrink-0 items-center justify-center text-fg opacity-0 data-checked:opacity-100",
218
- children: /* @__PURE__ */ v(c, {
219
- icon: S,
220
- size: "sm"
221
- })
222
- })]
223
- });
224
- });
225
- process.env.NODE_ENV !== "production" && (L.displayName = "Menu.CheckboxItem");
226
- var R = /* @__PURE__ */ p(function({ value: e, defaultValue: t, onValueChange: n, children: r }, i) {
227
- return /* @__PURE__ */ v(C.RadioGroup, {
228
- ref: i,
229
- ...e === void 0 ? {} : { value: e },
230
- ...t === void 0 ? {} : { defaultValue: t },
231
- ...n ? { onValueChange: (e) => n(String(e)) } : {},
232
- children: r
233
- });
234
- });
235
- process.env.NODE_ENV !== "production" && (R.displayName = "Menu.RadioGroup");
236
- var z = /* @__PURE__ */ p(function({ children: t, value: n, icon: r, leading: a, description: o, descriptionTone: s, shortcut: l, hint: u, disabled: d, closeOnClick: f, className: p }, m) {
237
- return /* @__PURE__ */ y(C.RadioItem, {
238
- ref: m,
239
- value: n,
240
- ...d ? { disabled: d } : {},
241
- ...f === void 0 ? {} : { closeOnClick: f },
242
- className: i(e, p),
243
- children: [/* @__PURE__ */ v(P, {
244
- icon: r,
245
- leading: a,
246
- description: o,
247
- descriptionTone: s,
248
- shortcut: l,
249
- hint: u,
250
- children: t
251
- }), /* @__PURE__ */ v(C.RadioItemIndicator, {
252
- keepMounted: !0,
253
- className: "flex size-16 shrink-0 items-center justify-center text-fg opacity-0 data-checked:opacity-100",
254
- children: /* @__PURE__ */ v(c, {
255
- icon: S,
256
- size: "sm"
257
- })
258
- })]
259
- });
260
- });
261
- process.env.NODE_ENV !== "production" && (z.displayName = "Menu.RadioItem");
262
- var B = /* @__PURE__ */ p(function({ label: e, children: t }, n) {
263
- return /* @__PURE__ */ y(C.Group, {
264
- ref: n,
265
- className: "flex flex-col",
266
- children: [e && /* @__PURE__ */ v(C.GroupLabel, {
267
- className: "flex h-28 items-center px-10 text-caption font-medium text-fg-secondary",
268
- children: e
269
- }), t]
270
- });
271
- });
272
- process.env.NODE_ENV !== "production" && (B.displayName = "Menu.Group");
273
- var V = /* @__PURE__ */ p(function(e, t) {
274
- return /* @__PURE__ */ v("div", {
275
- ref: t,
276
- role: "separator",
277
- "aria-orientation": "horizontal",
278
- className: n
279
- });
280
- });
281
- process.env.NODE_ENV !== "production" && (V.displayName = "Menu.Separator");
282
- var H = /* @__PURE__ */ p(function({ avatar: e, name: t, email: n }, r) {
283
- return /* @__PURE__ */ y("div", {
284
- ref: r,
285
- className: "flex min-w-0 items-center gap-10 px-10 pt-8 pb-10",
286
- children: [e, /* @__PURE__ */ y("div", {
287
- className: "flex min-w-0 flex-col",
288
- children: [/* @__PURE__ */ v("span", {
289
- className: "truncate text-body font-semibold text-fg",
290
- children: t
291
- }), n && /* @__PURE__ */ v("span", {
292
- className: "truncate text-caption font-regular text-fg-secondary",
293
- children: n
294
- })]
295
- })]
296
- });
297
- });
298
- process.env.NODE_ENV !== "production" && (H.displayName = "Menu.Header");
299
- function U({ children: e, open: t, onOpenChange: n }) {
300
- let r = g(null);
301
- return /* @__PURE__ */ v(C.SubmenuRoot, {
302
- ...t === void 0 ? {} : { open: t },
303
- ...n ? { onOpenChange: (e) => n(e) } : {},
304
- children: /* @__PURE__ */ v(k.Provider, {
305
- value: r,
306
- children: e
307
- })
308
- });
309
- }
310
- process.env.NODE_ENV !== "production" && (U.displayName = "Menu.Sub");
311
- var W = /* @__PURE__ */ p(function({ children: t, icon: n, leading: r, description: a, descriptionTone: o, hint: s, disabled: l, className: u }, d) {
312
- let f = h(k), p = m((e) => {
313
- f && (f.current = e), typeof d == "function" ? d(e) : d && (d.current = e);
314
- }, [f, d]);
315
- return /* @__PURE__ */ y(C.SubmenuTrigger, {
316
- ref: p,
317
- ...l ? { disabled: l } : {},
318
- className: i(e, "open:bg-fill-1", u),
319
- children: [/* @__PURE__ */ v(P, {
320
- icon: n,
321
- leading: r,
322
- description: a,
323
- descriptionTone: o,
324
- hint: s,
325
- children: t
326
- }), /* @__PURE__ */ v(c, {
327
- icon: b,
328
- size: "sm",
329
- className: "-mr-2 text-fg-tertiary"
330
- })]
331
- });
332
- });
333
- process.env.NODE_ENV !== "production" && (W.displayName = "Menu.SubTrigger");
334
- var G = /* @__PURE__ */ p(function(e, t) {
335
- return /* @__PURE__ */ v(N, {
336
- ref: t,
337
- side: "right",
338
- align: "start",
339
- sideOffset: 2,
340
- ...e
341
- });
342
- });
343
- process.env.NODE_ENV !== "production" && (G.displayName = "Menu.SubContent");
344
- var K = /* @__PURE__ */ Object.assign(A, {
345
- Trigger: j,
346
- Content: N,
347
- Item: F,
348
- LinkItem: I,
349
- CheckboxItem: L,
350
- RadioGroup: R,
351
- RadioItem: z,
352
- Group: B,
353
- Separator: V,
354
- Header: H,
355
- Sub: U,
356
- SubTrigger: W,
357
- SubContent: G
358
- }), q = {}, J = {};
359
- function Y({ children: e, onOpenChange: t }) {
360
- return /* @__PURE__ */ v(w.Root, {
361
- ...t ? { onOpenChange: (e) => t(e) } : {},
362
- children: e
363
- });
364
- }
365
- process.env.NODE_ENV !== "production" && (Y.displayName = "ContextMenu");
366
- var X = /* @__PURE__ */ p(function({ children: e, className: t }, n) {
367
- return /* @__PURE__ */ v(w.Trigger, {
368
- ref: n,
369
- className: t,
370
- children: e
371
- });
372
- });
373
- process.env.NODE_ENV !== "production" && (X.displayName = "ContextMenu.Trigger");
374
- var Z = /* @__PURE__ */ p(function({ children: e, className: n, header: r, footer: a, width: c = "auto" }, l) {
375
- return /* @__PURE__ */ v(w.Portal, {
376
- container: s(),
377
- children: /* @__PURE__ */ v(w.Positioner, {
378
- positionMethod: "fixed",
379
- collisionBoundary: o(),
380
- collisionPadding: 8,
381
- className: "z-50 outline-none",
382
- children: /* @__PURE__ */ y(w.Popup, {
383
- ref: l,
384
- tabIndex: 0,
385
- className: i(t, E.width[c].classes, n),
386
- children: [
387
- r && /* @__PURE__ */ v("div", {
388
- className: "mb-6 px-10 pt-6 pb-10 hairline-b",
389
- children: r
390
- }),
391
- e,
392
- a && /* @__PURE__ */ v("div", {
393
- className: "px-10 pt-6 pb-4 text-caption text-fg-tertiary",
394
- children: a
395
- })
396
- ]
397
- })
398
- })
399
- });
400
- });
401
- process.env.NODE_ENV !== "production" && (Z.displayName = "ContextMenu.Content");
402
- var ee = /* @__PURE__ */ Object.assign(Y, {
403
- Trigger: X,
404
- Content: Z,
405
- Item: F,
406
- LinkItem: I,
407
- CheckboxItem: L,
408
- RadioGroup: R,
409
- RadioItem: z,
410
- Group: B,
411
- Separator: V,
412
- Sub: U,
413
- SubTrigger: W,
414
- SubContent: G
415
- }), te = {}, ne = {}, Q = /* @__PURE__ */ p(function({ children: e, className: t, "aria-label": n }, r) {
416
- return /* @__PURE__ */ v(T, {
417
- ref: r,
418
- className: i("inline-flex items-center gap-2", t),
419
- ...n ? { "aria-label": n } : {},
420
- children: e
421
- });
422
- });
423
- process.env.NODE_ENV !== "production" && (Q.displayName = "Menubar");
424
- var $ = /* @__PURE__ */ p(function({ children: e, className: t, "data-force": n }, r) {
425
- return /* @__PURE__ */ v(C.Trigger, {
426
- ref: r,
427
- ...n ? { "data-force": n } : {},
428
- className: i("inline-flex h-32 cursor-pointer items-center rounded-pill px-12 text-body font-medium text-fg material-ghost transition-control focus-ring", t),
429
- children: e
430
- });
431
- });
432
- process.env.NODE_ENV !== "production" && ($.displayName = "Menubar.Trigger");
433
- var re = /* @__PURE__ */ Object.assign(Q, {
434
- Menu: A,
435
- Trigger: $,
436
- Content: N,
437
- Item: F,
438
- CheckboxItem: L,
439
- RadioGroup: R,
440
- RadioItem: z,
441
- Group: B,
442
- Separator: V,
443
- Sub: U,
444
- SubTrigger: W,
445
- SubContent: G
446
- });
447
- //#endregion
448
- export { te as a, K as c, ne as i, re as l, J as n, D as o, q as r, E as s, ee as t };
449
-
450
- //# sourceMappingURL=menu-DEmBfdPm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"menu-DEmBfdPm.js","names":["BaseMenu","_Fragment","__icon_ArrowUpRight01Icon","__icon_Tick02Icon","__icon_ArrowRight01Icon","Menu","BaseContextMenu","ContextMenu","Menubar","BaseMenubar","MENU_ITEM","MENU_POPUP","MENU_SEPARATOR","MENU_DANGER","cn","useLinkComponent","pageBoundary","usePortalContainer","Icon","KbdSequence","useLayoutWidth","anchorWidthStyle","Fragment$1","KAESO_MENU_VARIANTS","KAESO_MENU_DEFAULT_VARIANTS","NO_TRIGGER","TriggerContext","Root","trigger","useRef","Menu","open","defaultOpen","onOpenChange","o","Trigger","useContext","setTrigger","useCallback","el","children","openOnHover","framed","labelledBy","orientation","rest","props","className","header","footer","Content","triggerWidth","width","popup","ref","at","ItemContent","leading","description","icon","danger","descriptionTone","shortcut","hint","Item","force","disabled","onClick","closeOnClick","variant","LinkItem","LinkComp","external","ArrowUpRight01Icon","CheckboxItem","checked","defaultChecked","onCheckedChange","c","Tick02Icon","RadioGroup","value","defaultValue","onValueChange","v","RadioItem","Group","label","Separator","Header","avatar","name","email","Sub","SubTrigger","setRef","ArrowRight01Icon","SubContent","Menu$1","KAESO_CONTEXT_MENU_VARIANTS","KAESO_CONTEXT_MENU_DEFAULT_VARIANTS","ContextRoot","ContextMenu","ContextTrigger","ContextContent","ContextMenu$1","KAESO_MENUBAR_VARIANTS","KAESO_MENUBAR_DEFAULT_VARIANTS","MenubarRoot","ariaLabel","Menubar","MenubarTrigger","Menubar$1"],"sources":["../../src/components/menu/menu.tsx"],"sourcesContent":["import { pageBoundary, usePortalContainer } from \"../../utils/portal-context.js\";\nimport {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useRef,\n type HTMLAttributes,\n type ReactElement,\n type ReactNode,\n type Ref,\n type RefObject,\n} from \"react\";\nimport { Menu as BaseMenu } from \"@base-ui/react/menu\";\nimport { ContextMenu as BaseContextMenu } from \"@base-ui/react/context-menu\";\nimport { Menubar as BaseMenubar } from \"@base-ui/react/menubar\";\nimport { cn } from \"../../utils/cn.js\";\nimport { useLinkComponent } from \"../../utils/link-provider.js\";\nimport { Icon, type IconData } from \"../icon/icon.js\";\nimport { KbdSequence } from \"../kbd/kbd.js\";\nimport { ArrowUpRight01Icon as __icon_ArrowUpRight01Icon, Tick02Icon as __icon_Tick02Icon, ArrowRight01Icon as __icon_ArrowRight01Icon } from \"@hugeicons/core-free-icons\";\nimport { anchorWidthStyle, useLayoutWidth } from \"../../hooks/use-layout-width.js\";\nimport { MENU_DANGER, MENU_HINT, MENU_ICON, MENU_ITEM, MENU_LABEL, MENU_POPUP, MENU_SEPARATOR } from \"./styles.js\";\n\nexport const KAESO_MENU_VARIANTS = {\n item: {\n default: { classes: \"\" },\n danger: { classes: MENU_DANGER },\n },\n width: {\n auto: { classes: \"\" },\n trigger: { classes: \"w-anchor\" },\n },\n description: {\n secondary: { classes: \"text-fg-secondary\" },\n danger: { classes: \"text-danger-text\" },\n },\n} as const;\nexport const KAESO_MENU_DEFAULT_VARIANTS = { item: \"default\", width: \"auto\", description: \"secondary\" } as const;\n\ntype Side = \"top\" | \"bottom\" | \"left\" | \"right\";\ntype Align = \"start\" | \"center\" | \"end\";\n\nexport interface MenuProps {\n children: ReactNode;\n open?: boolean | undefined;\n defaultOpen?: boolean | undefined;\n onOpenChange?: ((open: boolean) => void) | undefined;\n modal?: boolean | undefined;\n}\n\nconst NO_TRIGGER: RefObject<HTMLElement | null> = { current: null };\nconst TriggerContext = /* @__PURE__ */ createContext<RefObject<HTMLElement | null> | null>(null);\n\nfunction Root({ open, defaultOpen, onOpenChange, modal = false, children }: MenuProps) {\n const trigger = useRef<HTMLElement | null>(null);\n return (\n <BaseMenu.Root\n {...(open !== undefined ? { open } : {})}\n {...(defaultOpen !== undefined ? { defaultOpen } : {})}\n {...(onOpenChange ? { onOpenChange: (o: boolean) => onOpenChange(o) } : {})}\n modal={modal}\n >\n <TriggerContext.Provider value={trigger}>{children}</TriggerContext.Provider>\n </BaseMenu.Root>\n );\n}\nif (process.env.NODE_ENV !== \"production\") Root.displayName = \"Menu\";\n\nfunction Trigger({ children, openOnHover }: { children: ReactElement; openOnHover?: boolean | undefined }) {\n const trigger = useContext(TriggerContext);\n const setTrigger = useCallback(\n (el: HTMLElement | null) => {\n if (trigger) trigger.current = el;\n },\n [trigger],\n );\n return <BaseMenu.Trigger ref={setTrigger} render={children} {...(openOnHover ? { openOnHover } : {})} />;\n}\nif (process.env.NODE_ENV !== \"production\") Trigger.displayName = \"Menu.Trigger\";\n\nexport interface MenuContentProps {\n children: ReactNode;\n side?: Side | undefined;\n align?: Align | undefined;\n sideOffset?: number | undefined;\n width?: keyof typeof KAESO_MENU_VARIANTS.width | undefined;\n className?: string | undefined;\n header?: ReactNode | undefined;\n footer?: ReactNode | undefined;\n}\n\nfunction framed(header: ReactNode, footer: ReactNode) {\n return function framedMenuPopup(props: HTMLAttributes<HTMLDivElement> & { ref?: Ref<HTMLDivElement> | undefined }) {\n const { role, id, \"aria-labelledby\": labelledBy, \"aria-orientation\": orientation, children, className, ...rest } = props;\n return (\n <div {...rest} className={cn(className, \"overflow-hidden p-0\")}>\n <div tabIndex={0} className=\"flex min-h-0 flex-1 flex-col overflow-y-auto overscroll-contain rounded-menu p-6 focus-ring-inset scrollbar-quiet\">\n <div className=\"mb-6 px-10 pt-6 pb-10 hairline-b\">{header}</div>\n <div role={role} id={id} aria-labelledby={labelledBy} aria-orientation={orientation} className=\"flex flex-col\">\n {children}\n </div>\n {footer && <div className=\"px-10 pt-6 pb-4 text-caption text-fg-tertiary\">{footer}</div>}\n </div>\n </div>\n );\n };\n}\n\nconst Content = /* @__PURE__ */ forwardRef<HTMLDivElement, MenuContentProps>(function MenuContent(\n { children, side = \"bottom\", align = \"start\", sideOffset = 6, width = \"auto\", className, header, footer },\n ref,\n) {\n const trigger = useContext(TriggerContext);\n const triggerWidth = useLayoutWidth(trigger ?? NO_TRIGGER, width === \"trigger\" && !!trigger);\n const popup = useRef<HTMLDivElement | null>(null);\n return (\n <BaseMenu.Portal container={usePortalContainer()}>\n <BaseMenu.Positioner\n positionMethod=\"fixed\"\n collisionBoundary={pageBoundary()}\n side={side}\n align={align}\n sideOffset={sideOffset}\n collisionPadding={8}\n className=\"z-50 outline-none\"\n >\n <BaseMenu.Popup\n ref={(el) => {\n popup.current = el;\n if (typeof ref === \"function\") ref(el);\n else if (ref) ref.current = el;\n }}\n finalFocus={() => {\n const at = document.activeElement;\n if (at && at !== document.body && !popup.current?.contains(at)) return false;\n return trigger?.current?.isConnected ? trigger.current : true;\n }}\n tabIndex={0}\n className={cn(MENU_POPUP, KAESO_MENU_VARIANTS.width[width].classes, className)}\n style={width === \"trigger\" ? anchorWidthStyle(triggerWidth) : undefined}\n {...(header ? { render: framed(header, footer) } : {})}\n >\n {children}\n {!header && footer && <div className=\"px-10 pt-6 pb-4 text-caption text-fg-tertiary\">{footer}</div>}\n </BaseMenu.Popup>\n </BaseMenu.Positioner>\n </BaseMenu.Portal>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Content.displayName = \"Menu.Content\";\n\nexport interface MenuItemProps {\n children: ReactNode;\n icon?: IconData | undefined;\n leading?: ReactNode | undefined;\n description?: ReactNode | undefined;\n descriptionTone?: keyof typeof KAESO_MENU_VARIANTS.description | undefined;\n shortcut?: string[] | string[][] | undefined;\n hint?: ReactNode | undefined;\n variant?: keyof typeof KAESO_MENU_VARIANTS.item | undefined;\n disabled?: boolean | undefined;\n onClick?: (() => void) | undefined;\n closeOnClick?: boolean | undefined;\n className?: string | undefined;\n \"data-force\"?: string | undefined;\n}\n\nfunction ItemContent({\n icon,\n leading,\n description,\n descriptionTone = \"secondary\",\n shortcut,\n hint,\n children,\n danger,\n}: Pick<MenuItemProps, \"icon\" | \"leading\" | \"description\" | \"descriptionTone\" | \"shortcut\" | \"hint\" | \"children\"> & { danger?: boolean | undefined }) {\n return (\n <>\n {leading ? (\n <span className={cn(\"flex size-16 shrink-0 items-center justify-center\", description && \"self-start mt-10\")}>{leading}</span>\n ) : (\n icon && <Icon icon={icon} size=\"sm\" className={cn(danger ? \"text-danger-text\" : MENU_ICON, description && \"self-start mt-10\")} />\n )}\n {description ? (\n <span className=\"flex min-w-0 flex-1 flex-col gap-2 py-8\">\n <span className=\"truncate\">{children}</span>\n <span className={cn(\"text-small font-regular whitespace-normal\", KAESO_MENU_VARIANTS.description[descriptionTone].classes)}>{description}</span>\n </span>\n ) : (\n <span className=\"min-w-0 flex-1 truncate\">{children}</span>\n )}\n {(shortcut || hint) && (\n <span className={MENU_HINT}>\n {hint}\n {shortcut && <KbdSequence keys={shortcut} />}\n </span>\n )}\n </>\n );\n}\n\nconst Item = /* @__PURE__ */ forwardRef<HTMLDivElement, MenuItemProps>(function MenuItem(\n {\n children,\n icon,\n leading,\n description,\n descriptionTone,\n shortcut,\n hint,\n variant = \"default\",\n disabled,\n onClick,\n closeOnClick,\n className,\n \"data-force\": force,\n },\n ref,\n) {\n return (\n <BaseMenu.Item\n ref={ref}\n {...(disabled ? { disabled } : {})}\n {...(onClick ? { onClick } : {})}\n {...(closeOnClick !== undefined ? { closeOnClick } : {})}\n {...(force ? { \"data-force\": force } : {})}\n className={cn(MENU_ITEM, KAESO_MENU_VARIANTS.item[variant].classes, className)}\n >\n <ItemContent\n icon={icon}\n leading={leading}\n description={description}\n descriptionTone={descriptionTone}\n shortcut={shortcut}\n hint={hint}\n danger={variant === \"danger\"}\n >\n {children}\n </ItemContent>\n </BaseMenu.Item>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Item.displayName = \"Menu.Item\";\n\nexport interface MenuLinkItemProps extends Pick<\n MenuItemProps,\n \"icon\" | \"leading\" | \"description\" | \"descriptionTone\" | \"shortcut\" | \"hint\" | \"children\" | \"className\"\n> {\n href: string;\n external?: boolean | undefined;\n}\n\nconst LinkItem = /* @__PURE__ */ forwardRef<HTMLAnchorElement, MenuLinkItemProps>(function MenuLinkItem(\n { children, href, external, icon, leading, description, descriptionTone, shortcut, hint, className },\n ref,\n) {\n const LinkComp = useLinkComponent();\n return (\n <BaseMenu.LinkItem\n ref={ref}\n href={href}\n {...(external ? { target: \"_blank\", rel: \"noopener noreferrer\" } : { render: <LinkComp href={href} /> })}\n className={cn(MENU_ITEM, \"no-underline\", className)}\n >\n <ItemContent\n icon={icon}\n leading={leading}\n description={description}\n descriptionTone={descriptionTone}\n shortcut={shortcut}\n hint={hint ?? (external ? <Icon icon={__icon_ArrowUpRight01Icon} size=\"xs\" /> : undefined)}\n >\n {children}\n </ItemContent>\n </BaseMenu.LinkItem>\n );\n});\nif (process.env.NODE_ENV !== \"production\") LinkItem.displayName = \"Menu.LinkItem\";\n\nexport interface MenuCheckboxItemProps extends Omit<MenuItemProps, \"variant\" | \"onClick\"> {\n checked?: boolean | undefined;\n defaultChecked?: boolean | undefined;\n onCheckedChange?: ((checked: boolean) => void) | undefined;\n}\n\nconst CheckboxItem = /* @__PURE__ */ forwardRef<HTMLDivElement, MenuCheckboxItemProps>(function MenuCheckboxItem(\n {\n children,\n icon,\n leading,\n description,\n descriptionTone,\n shortcut,\n hint,\n checked,\n defaultChecked,\n onCheckedChange,\n disabled,\n closeOnClick = false,\n className,\n },\n ref,\n) {\n return (\n <BaseMenu.CheckboxItem\n ref={ref}\n {...(checked !== undefined ? { checked } : {})}\n {...(defaultChecked !== undefined ? { defaultChecked } : {})}\n {...(onCheckedChange ? { onCheckedChange: (c: boolean) => onCheckedChange(c) } : {})}\n {...(disabled ? { disabled } : {})}\n closeOnClick={closeOnClick}\n className={cn(MENU_ITEM, className)}\n >\n <ItemContent icon={icon} leading={leading} description={description} descriptionTone={descriptionTone} shortcut={shortcut} hint={hint}>\n {children}\n </ItemContent>\n <BaseMenu.CheckboxItemIndicator keepMounted className=\"flex size-16 shrink-0 items-center justify-center text-fg opacity-0 data-checked:opacity-100\">\n <Icon icon={__icon_Tick02Icon} size=\"sm\" />\n </BaseMenu.CheckboxItemIndicator>\n </BaseMenu.CheckboxItem>\n );\n});\nif (process.env.NODE_ENV !== \"production\") CheckboxItem.displayName = \"Menu.CheckboxItem\";\n\nconst RadioGroup = /* @__PURE__ */ forwardRef<\n HTMLDivElement,\n { value?: string | undefined; defaultValue?: string | undefined; onValueChange?: ((v: string) => void) | undefined; children: ReactNode }\n>(function MenuRadioGroup({ value, defaultValue, onValueChange, children }, ref) {\n return (\n <BaseMenu.RadioGroup\n ref={ref}\n {...(value !== undefined ? { value } : {})}\n {...(defaultValue !== undefined ? { defaultValue } : {})}\n {...(onValueChange ? { onValueChange: (v: unknown) => onValueChange(String(v)) } : {})}\n >\n {children}\n </BaseMenu.RadioGroup>\n );\n});\nif (process.env.NODE_ENV !== \"production\") RadioGroup.displayName = \"Menu.RadioGroup\";\n\nconst RadioItem = /* @__PURE__ */ forwardRef<HTMLDivElement, Omit<MenuItemProps, \"variant\"> & { value: string }>(function MenuRadioItem(\n { children, value, icon, leading, description, descriptionTone, shortcut, hint, disabled, closeOnClick, className },\n ref,\n) {\n return (\n <BaseMenu.RadioItem\n ref={ref}\n value={value}\n {...(disabled ? { disabled } : {})}\n {...(closeOnClick !== undefined ? { closeOnClick } : {})}\n className={cn(MENU_ITEM, className)}\n >\n <ItemContent icon={icon} leading={leading} description={description} descriptionTone={descriptionTone} shortcut={shortcut} hint={hint}>\n {children}\n </ItemContent>\n <BaseMenu.RadioItemIndicator keepMounted className=\"flex size-16 shrink-0 items-center justify-center text-fg opacity-0 data-checked:opacity-100\">\n <Icon icon={__icon_Tick02Icon} size=\"sm\" />\n </BaseMenu.RadioItemIndicator>\n </BaseMenu.RadioItem>\n );\n});\nif (process.env.NODE_ENV !== \"production\") RadioItem.displayName = \"Menu.RadioItem\";\n\nconst Group = /* @__PURE__ */ forwardRef<HTMLDivElement, { label?: ReactNode | undefined; children: ReactNode }>(function MenuGroup({ label, children }, ref) {\n return (\n <BaseMenu.Group ref={ref} className=\"flex flex-col\">\n {label && <BaseMenu.GroupLabel className={MENU_LABEL}>{label}</BaseMenu.GroupLabel>}\n {children}\n </BaseMenu.Group>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Group.displayName = \"Menu.Group\";\n\nconst Separator = /* @__PURE__ */ forwardRef<HTMLDivElement>(function MenuSeparator(_props, ref) {\n return <div ref={ref} role=\"separator\" aria-orientation=\"horizontal\" className={MENU_SEPARATOR} />;\n});\nif (process.env.NODE_ENV !== \"production\") Separator.displayName = \"Menu.Separator\";\n\nconst Header = /* @__PURE__ */ forwardRef<HTMLDivElement, { avatar?: ReactNode | undefined; name: ReactNode; email?: ReactNode | undefined }>(function MenuHeader(\n { avatar, name, email },\n ref,\n) {\n return (\n <div ref={ref} className=\"flex min-w-0 items-center gap-10 px-10 pt-8 pb-10\">\n {avatar}\n <div className=\"flex min-w-0 flex-col\">\n <span className=\"truncate text-body font-semibold text-fg\">{name}</span>\n {email && <span className=\"truncate text-caption font-regular text-fg-secondary\">{email}</span>}\n </div>\n </div>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Header.displayName = \"Menu.Header\";\n\nfunction Sub({ children, open, onOpenChange }: { children: ReactNode; open?: boolean | undefined; onOpenChange?: ((o: boolean) => void) | undefined }) {\n const trigger = useRef<HTMLElement | null>(null);\n return (\n <BaseMenu.SubmenuRoot {...(open !== undefined ? { open } : {})} {...(onOpenChange ? { onOpenChange: (o: boolean) => onOpenChange(o) } : {})}>\n <TriggerContext.Provider value={trigger}>{children}</TriggerContext.Provider>\n </BaseMenu.SubmenuRoot>\n );\n}\nif (process.env.NODE_ENV !== \"production\") Sub.displayName = \"Menu.Sub\";\n\nconst SubTrigger = /* @__PURE__ */ forwardRef<HTMLDivElement, Omit<MenuItemProps, \"shortcut\" | \"variant\" | \"onClick\">>(function MenuSubTrigger(\n { children, icon, leading, description, descriptionTone, hint, disabled, className },\n ref,\n) {\n const trigger = useContext(TriggerContext);\n const setRef = useCallback(\n (el: HTMLDivElement | null) => {\n if (trigger) trigger.current = el;\n if (typeof ref === \"function\") ref(el);\n else if (ref) ref.current = el;\n },\n [trigger, ref],\n );\n return (\n <BaseMenu.SubmenuTrigger ref={setRef} {...(disabled ? { disabled } : {})} className={cn(MENU_ITEM, \"open:bg-fill-1\", className)}>\n <ItemContent icon={icon} leading={leading} description={description} descriptionTone={descriptionTone} hint={hint}>\n {children}\n </ItemContent>\n <Icon icon={__icon_ArrowRight01Icon} size=\"sm\" className=\"-mr-2 text-fg-tertiary\" />\n </BaseMenu.SubmenuTrigger>\n );\n});\nif (process.env.NODE_ENV !== \"production\") SubTrigger.displayName = \"Menu.SubTrigger\";\n\nconst SubContent = /* @__PURE__ */ forwardRef<HTMLDivElement, Omit<MenuContentProps, \"side\" | \"align\">>(function MenuSubContent(props, ref) {\n return <Content ref={ref} side=\"right\" align=\"start\" sideOffset={2} {...props} />;\n});\nif (process.env.NODE_ENV !== \"production\") SubContent.displayName = \"Menu.SubContent\";\n\nexport const Menu = /* @__PURE__ */ Object.assign(Root, {\n Trigger,\n Content,\n Item,\n LinkItem,\n CheckboxItem,\n RadioGroup,\n RadioItem,\n Group,\n Separator,\n Header,\n Sub,\n SubTrigger,\n SubContent,\n});\n\nexport const KAESO_CONTEXT_MENU_VARIANTS = {} as const;\nexport const KAESO_CONTEXT_MENU_DEFAULT_VARIANTS = {} as const;\n\nfunction ContextRoot({ children, onOpenChange }: { children: ReactNode; onOpenChange?: ((open: boolean) => void) | undefined }) {\n return <BaseContextMenu.Root {...(onOpenChange ? { onOpenChange: (o: boolean) => onOpenChange(o) } : {})}>{children}</BaseContextMenu.Root>;\n}\nif (process.env.NODE_ENV !== \"production\") ContextRoot.displayName = \"ContextMenu\";\nconst ContextTrigger = /* @__PURE__ */ forwardRef<HTMLDivElement, { children: ReactNode; className?: string | undefined }>(function ContextMenuTrigger(\n { children, className },\n ref,\n) {\n return (\n <BaseContextMenu.Trigger ref={ref} className={className}>\n {children}\n </BaseContextMenu.Trigger>\n );\n});\nif (process.env.NODE_ENV !== \"production\") ContextTrigger.displayName = \"ContextMenu.Trigger\";\nconst ContextContent = /* @__PURE__ */ forwardRef<HTMLDivElement, Omit<MenuContentProps, \"side\" | \"align\" | \"sideOffset\">>(function ContextMenuContent(\n { children, className, header, footer, width = \"auto\" },\n ref,\n) {\n return (\n <BaseContextMenu.Portal container={usePortalContainer()}>\n <BaseContextMenu.Positioner positionMethod=\"fixed\" collisionBoundary={pageBoundary()} collisionPadding={8} className=\"z-50 outline-none\">\n <BaseContextMenu.Popup ref={ref} tabIndex={0} className={cn(MENU_POPUP, KAESO_MENU_VARIANTS.width[width].classes, className)}>\n {header && <div className=\"mb-6 px-10 pt-6 pb-10 hairline-b\">{header}</div>}\n {children}\n {footer && <div className=\"px-10 pt-6 pb-4 text-caption text-fg-tertiary\">{footer}</div>}\n </BaseContextMenu.Popup>\n </BaseContextMenu.Positioner>\n </BaseContextMenu.Portal>\n );\n});\nif (process.env.NODE_ENV !== \"production\") ContextContent.displayName = \"ContextMenu.Content\";\nexport const ContextMenu = /* @__PURE__ */ Object.assign(ContextRoot, {\n Trigger: ContextTrigger,\n Content: ContextContent,\n Item,\n LinkItem,\n CheckboxItem,\n RadioGroup,\n RadioItem,\n Group,\n Separator,\n Sub,\n SubTrigger,\n SubContent,\n});\n\nexport const KAESO_MENUBAR_VARIANTS = {} as const;\nexport const KAESO_MENUBAR_DEFAULT_VARIANTS = {} as const;\n\nconst MenubarRoot = /* @__PURE__ */ forwardRef<HTMLDivElement, { children: ReactNode; className?: string | undefined; \"aria-label\"?: string | undefined }>(function Menubar(\n { children, className, \"aria-label\": ariaLabel },\n ref,\n) {\n return (\n <BaseMenubar ref={ref} className={cn(\"inline-flex items-center gap-2\", className)} {...(ariaLabel ? { \"aria-label\": ariaLabel } : {})}>\n {children}\n </BaseMenubar>\n );\n});\nif (process.env.NODE_ENV !== \"production\") MenubarRoot.displayName = \"Menubar\";\nconst MenubarTrigger = /* @__PURE__ */ forwardRef<HTMLButtonElement, { children: ReactNode; className?: string | undefined; \"data-force\"?: string | undefined }>(\n function MenubarTrigger({ children, className, \"data-force\": force }, ref) {\n return (\n <BaseMenu.Trigger\n ref={ref}\n {...(force ? { \"data-force\": force } : {})}\n className={cn(\n \"inline-flex h-32 cursor-pointer items-center rounded-pill px-12 text-body font-medium text-fg material-ghost transition-control focus-ring\",\n className,\n )}\n >\n {children}\n </BaseMenu.Trigger>\n );\n },\n);\nif (process.env.NODE_ENV !== \"production\") MenubarTrigger.displayName = \"Menubar.Trigger\";\nexport const Menubar = /* @__PURE__ */ Object.assign(MenubarRoot, {\n Menu: Root,\n Trigger: MenubarTrigger,\n Content,\n Item,\n CheckboxItem,\n RadioGroup,\n RadioItem,\n Group,\n Separator,\n Sub,\n SubTrigger,\n SubContent,\n});\n"],"mappings":"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"}
@@ -1,84 +0,0 @@
1
- "use client";
2
- import { t as e } from "./cn-Dj6sRgkF.js";
3
- import { forwardRef as t } from "react";
4
- import { jsx as n, jsxs as r } from "react/jsx-runtime";
5
- //#region src/components/meter/meter.tsx
6
- var i = { tone: {
7
- auto: { classes: "" },
8
- neutral: { classes: "bg-fg-secondary" }
9
- } }, a = { tone: "auto" };
10
- function o(e, t = []) {
11
- return e >= 1 ? "bg-danger" : e >= (t.length ? Math.min(...t) : .8) ? "bg-warning" : "bg-viz-1";
12
- }
13
- var s = /* @__PURE__ */ t(function({ value: t, label: a, valueLabel: s, caption: c, thresholds: l = [], tone: u = "auto", leading: d, trailing: f, className: p, "aria-label": m }, h) {
14
- let g = Math.max(0, Math.min(1, t)), _ = Math.round(t * 100);
15
- return /* @__PURE__ */ r("div", {
16
- ref: h,
17
- className: e("flex flex-col gap-8", p),
18
- children: [
19
- (a || s) && /* @__PURE__ */ r("div", {
20
- className: "flex items-baseline justify-between gap-12",
21
- children: [/* @__PURE__ */ r("span", {
22
- className: "flex min-w-0 items-center gap-8 text-body font-medium text-fg",
23
- children: [
24
- d,
25
- /* @__PURE__ */ n("span", {
26
- className: "truncate",
27
- children: a
28
- }),
29
- f
30
- ]
31
- }), s && /* @__PURE__ */ n("span", {
32
- className: "shrink-0 text-body text-fg-secondary tabular",
33
- children: s
34
- })]
35
- }),
36
- /* @__PURE__ */ r("div", {
37
- role: "meter",
38
- "aria-valuemin": 0,
39
- "aria-valuemax": Math.max(100, _),
40
- "aria-valuenow": _,
41
- "aria-label": m ?? (typeof a == "string" ? a : void 0),
42
- ...typeof s == "string" ? { "aria-valuetext": s } : {},
43
- className: "relative h-6 overflow-hidden rounded-pill bg-fill-3",
44
- children: [/* @__PURE__ */ n("div", {
45
- className: e("h-full rounded-pill width-motion", u === "auto" ? o(t, l) : i.tone.neutral.classes),
46
- style: { width: `${g * 100}%` }
47
- }), l.map((e) => /* @__PURE__ */ n("span", {
48
- "aria-hidden": !0,
49
- className: "absolute top-0 h-full w-2 bg-panel",
50
- style: { left: `${e * 100}%` }
51
- }, e))]
52
- }),
53
- c && /* @__PURE__ */ n("span", {
54
- className: "text-caption font-medium text-fg-tertiary",
55
- children: c
56
- })
57
- ]
58
- });
59
- });
60
- process.env.NODE_ENV !== "production" && (s.displayName = "Meter");
61
- var c = { kind: {
62
- determinate: { classes: "h-6 rounded-pill bg-fill-3" },
63
- indeterminate: { classes: "h-2 bg-transparent" }
64
- } }, l = { kind: "determinate" }, u = /* @__PURE__ */ t(function({ value: t, className: r, "aria-label": i }, a) {
65
- let o = t === void 0;
66
- return /* @__PURE__ */ n("div", {
67
- ref: a,
68
- role: "progressbar",
69
- "aria-label": i,
70
- "aria-valuemin": 0,
71
- "aria-valuemax": 100,
72
- ...o ? {} : { "aria-valuenow": Math.round(t * 100) },
73
- className: e("relative w-full overflow-hidden", c.kind[o ? "indeterminate" : "determinate"].classes, r),
74
- children: o ? /* @__PURE__ */ n("span", { className: "absolute inset-y-0 left-0 w-1/3 animate-indeterminate rounded-pill bg-fg-tertiary" }) : /* @__PURE__ */ n("span", {
75
- className: "block h-full rounded-pill bg-ink width-motion",
76
- style: { width: `${Math.max(0, Math.min(1, t)) * 100}%` }
77
- })
78
- });
79
- });
80
- process.env.NODE_ENV !== "production" && (u.displayName = "Progress");
81
- //#endregion
82
- export { s as a, c as i, i as n, u as o, l as r, o as s, a as t };
83
-
84
- //# sourceMappingURL=meter-Bj4N3Xuh.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"meter-Bj4N3Xuh.js","names":["cn","KAESO_METER_VARIANTS","KAESO_METER_DEFAULT_VARIANTS","meterColor","value","thresholds","Meter","ariaLabel","pct","now","className","label","valueLabel","leading","trailing","tone","t","caption","KAESO_PROGRESS_VARIANTS","KAESO_PROGRESS_DEFAULT_VARIANTS","Progress","indeterminate"],"sources":["../../src/components/meter/meter.tsx"],"sourcesContent":["import { forwardRef, type ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\n\nexport const KAESO_METER_VARIANTS = {\n tone: {\n auto: { classes: \"\" },\n neutral: { classes: \"bg-fg-secondary\" },\n },\n} as const;\nexport const KAESO_METER_DEFAULT_VARIANTS = { tone: \"auto\" } as const;\n\nexport interface MeterProps {\n value: number;\n label?: ReactNode | undefined;\n valueLabel?: ReactNode | undefined;\n caption?: ReactNode | undefined;\n thresholds?: number[] | undefined;\n tone?: keyof typeof KAESO_METER_VARIANTS.tone | undefined;\n leading?: ReactNode | undefined;\n trailing?: ReactNode | undefined;\n \"aria-label\"?: string | undefined;\n className?: string | undefined;\n}\n\nexport function meterColor(value: number, thresholds: number[] = []) {\n if (value >= 1) return \"bg-danger\";\n const first = thresholds.length ? Math.min(...thresholds) : 0.8;\n return value >= first ? \"bg-warning\" : \"bg-viz-1\";\n}\n\nexport const Meter = /* @__PURE__ */ forwardRef<HTMLDivElement, MeterProps>(function Meter(\n { value, label, valueLabel, caption, thresholds = [], tone = \"auto\", leading, trailing, className, \"aria-label\": ariaLabel },\n ref,\n) {\n const pct = Math.max(0, Math.min(1, value));\n const now = Math.round(value * 100);\n return (\n <div ref={ref} className={cn(\"flex flex-col gap-8\", className)}>\n {(label || valueLabel) && (\n <div className=\"flex items-baseline justify-between gap-12\">\n <span className=\"flex min-w-0 items-center gap-8 text-body font-medium text-fg\">\n {leading}\n <span className=\"truncate\">{label}</span>\n {trailing}\n </span>\n {valueLabel && <span className=\"shrink-0 text-body text-fg-secondary tabular\">{valueLabel}</span>}\n </div>\n )}\n <div\n role=\"meter\"\n aria-valuemin={0}\n aria-valuemax={Math.max(100, now)}\n aria-valuenow={now}\n aria-label={ariaLabel ?? (typeof label === \"string\" ? label : undefined)}\n {...(typeof valueLabel === \"string\" ? { \"aria-valuetext\": valueLabel } : {})}\n className=\"relative h-6 overflow-hidden rounded-pill bg-fill-3\"\n >\n <div\n className={cn(\"h-full rounded-pill width-motion\", tone === \"auto\" ? meterColor(value, thresholds) : KAESO_METER_VARIANTS.tone.neutral.classes)}\n style={{ width: `${pct * 100}%` }}\n />\n {thresholds.map((t) => (\n <span key={t} aria-hidden className=\"absolute top-0 h-full w-2 bg-panel\" style={{ left: `${t * 100}%` }} />\n ))}\n </div>\n {caption && <span className=\"text-caption font-medium text-fg-tertiary\">{caption}</span>}\n </div>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Meter.displayName = \"Meter\";\n\nexport const KAESO_PROGRESS_VARIANTS = {\n kind: {\n determinate: { classes: \"h-6 rounded-pill bg-fill-3\" },\n indeterminate: { classes: \"h-2 bg-transparent\" },\n },\n} as const;\nexport const KAESO_PROGRESS_DEFAULT_VARIANTS = { kind: \"determinate\" } as const;\n\nexport interface ProgressProps {\n value?: number | undefined;\n \"aria-label\": string;\n className?: string | undefined;\n}\n\nexport const Progress = /* @__PURE__ */ forwardRef<HTMLDivElement, ProgressProps>(function Progress({ value, className, \"aria-label\": ariaLabel }, ref) {\n const indeterminate = value === undefined;\n return (\n <div\n ref={ref}\n role=\"progressbar\"\n aria-label={ariaLabel}\n aria-valuemin={0}\n aria-valuemax={100}\n {...(!indeterminate ? { \"aria-valuenow\": Math.round(value * 100) } : {})}\n className={cn(\"relative w-full overflow-hidden\", KAESO_PROGRESS_VARIANTS.kind[indeterminate ? \"indeterminate\" : \"determinate\"].classes, className)}\n >\n {indeterminate ? (\n <span className=\"absolute inset-y-0 left-0 w-1/3 animate-indeterminate rounded-pill bg-fg-tertiary\" />\n ) : (\n <span className=\"block h-full rounded-pill bg-ink width-motion\" style={{ width: `${Math.max(0, Math.min(1, value)) * 100}%` }} />\n )}\n </div>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Progress.displayName = \"Progress\";\n"],"mappings":";;;;;AAGA,IAAaC,IAAuB,EAClC,MAAM;CACJ,MAAM,EAAE,SAAS,GAAG;CACpB,SAAS,EAAE,SAAS,kBAAkB;AACxC,EACF,GACaC,IAA+B,EAAE,MAAM,OAAO;AAe3D,SAAgBC,EAAW,GAAe,IAAuB,CAAC,GAAG;CAGnE,OAFIC,KAAS,IAAU,cAEhBA,MADOC,EAAW,SAAS,KAAK,IAAI,GAAGA,CAAU,IAAI,MACpC,eAAe;AACzC;AAEA,IAAaC,IAAwB,kBAAuC,SAC1E,EAAE,UAAO,UAAO,eAAY,YAAS,gBAAa,CAAC,GAAG,UAAO,QAAQ,YAAS,aAAU,cAAW,cAAcC,KACjH,GACA;CACA,IAAMC,IAAM,KAAK,IAAI,GAAG,KAAK,IAAI,GAAGJ,CAAK,CAAC,GACpCK,IAAM,KAAK,MAAML,IAAQ,GAAG;CAClC,OACE,kBAAC,OAAD;EAAU;EAAK,WAAWJ,EAAG,uBAAuBU,CAAS;EAA7D,UAAA;IACIC,KAASC,MACT,kBAAC,OAAD;IAAK,WAAU;IAAf,UAAA,CACE,kBAAC,QAAD;KAAM,WAAU;KAAhB,UAAA;MACGC;MACD,kBAAC,QAAD;OAAM,WAAU;OAAY,UAAAF;MAAY,CAAA;MACvCG;KACG;IACL,CAAA,GAAAF,KAAc,kBAAC,QAAD;KAAM,WAAU;KAAgD,UAAAA;IAAiB,CAAA,CAC7F;;GAEP,kBAAC,OAAD;IACE,MAAK;IACL,iBAAe;IACf,iBAAe,KAAK,IAAI,KAAKH,CAAG;IAChC,iBAAeA;IACf,cAAYF,MAAc,OAAOI,KAAU,WAAWA,IAAQ,KAAA;IAC9D,GAAK,OAAOC,KAAe,WAAW,EAAE,kBAAkBA,EAAW,IAAI,CAAC;IAC1E,WAAU;IAPZ,UAAA,CASE,kBAAC,OAAD;KACE,WAAWZ,EAAG,oCAAoCe,MAAS,SAASZ,EAAWC,GAAOC,CAAU,IAAIJ,EAAqB,KAAK,QAAQ,OAAO;KAC7I,OAAO,EAAE,OAAO,GAAGO,IAAM,IAAI,GAAG;IACjC,CAAA,GACAH,EAAW,KAAK,MACf,kBAAC,QAAD;KAAc,eAAA;KAAY,WAAU;KAAqC,OAAO,EAAE,MAAM,GAAGW,IAAI,IAAI,GAAG;IAAI,GAA/FA,CAA+F,CAC3G,CACE;;GACJC,KAAW,kBAAC,QAAD;IAAM,WAAU;IAA6C,UAAAA;GAAc,CAAA;EACpF;;AAET,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAM,cAAc;AAE/D,IAAaC,IAA0B,EACrC,MAAM;CACJ,aAAa,EAAE,SAAS,6BAA6B;CACrD,eAAe,EAAE,SAAS,qBAAqB;AACjD,EACF,GACaC,IAAkC,EAAE,MAAM,cAAc,GAQxDC,IAA2B,kBAA0C,SAAkB,EAAE,UAAO,cAAW,cAAcb,KAAa,GAAK;CACtJ,IAAMc,IAAgBjB,MAAU,KAAA;CAChC,OACE,kBAAC,OAAD;EACO;EACL,MAAK;EACL,cAAYG;EACZ,iBAAe;EACf,iBAAe;EACf,GAAMc,IAA+D,CAAC,IAAhD,EAAE,iBAAiB,KAAK,MAAMjB,IAAQ,GAAG,EAAE;EACjE,WAAWJ,EAAG,mCAAmCkB,EAAwB,KAAKG,IAAgB,kBAAkB,cAAc,CAAC,SAASX,CAAS;EAEhJ,UAAAW,IACC,kBAAC,QAAD,EAAM,WAAU,oFAAqF,CAAA,IAErG,kBAAC,QAAD;GAAM,WAAU;GAAgD,OAAO,EAAE,OAAO,GAAG,KAAK,IAAI,GAAG,KAAK,IAAI,GAAGjB,CAAK,CAAC,IAAI,IAAI,GAAG;EAAI,CAAA;CAE/H,CAAA;AAET,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAS,cAAc"}