@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
@@ -0,0 +1,51 @@
1
+ "use client";
2
+ import { t as e } from "./cn-BjnOAUrA.js";
3
+ import { t } from "./dev-CR1p7gCm.js";
4
+ import { n, r } from "./portal-context-CTatR2Z8.js";
5
+ import { n as i } from "./inset-BUzyXLK4.js";
6
+ import { n as a, r as o, t as s } from "./popover-root-D3q89WNF.js";
7
+ import { forwardRef as c } from "react";
8
+ import { jsx as l, jsxs as u } from "react/jsx-runtime";
9
+ import { Popover as d } from "@base-ui/react/popover";
10
+ //#region src/components/popover/popover.tsx
11
+ var f = { padding: {
12
+ form: { classes: "p-12" },
13
+ list: { classes: "p-6" },
14
+ none: { classes: "p-0" }
15
+ } }, p = { padding: "form" }, m = "z-50 rounded-popover bg-raised text-body text-fg shadow-raised outline-none popup-motion max-h-(--available-height) max-w-(--available-width) overflow-auto overscroll-contain scrollbar-quiet", h = /* @__PURE__ */ c(function({ children: a, side: o = "bottom", align: s = "start", sideOffset: c = 6, padding: p = "form", title: h, className: g, "aria-label": _ }, v) {
16
+ return !h && !_ && t("Popover.Content: pass a title or an aria-label, so the popover's dialog has a name."), /* @__PURE__ */ l(d.Portal, {
17
+ container: r(),
18
+ children: /* @__PURE__ */ l(d.Positioner, {
19
+ positionMethod: "fixed",
20
+ collisionBoundary: n(),
21
+ side: o,
22
+ align: s,
23
+ sideOffset: c,
24
+ collisionPadding: 8,
25
+ className: "z-50 outline-none",
26
+ children: /* @__PURE__ */ u(d.Popup, {
27
+ ref: v,
28
+ ..._ ? { "aria-label": _ } : {},
29
+ className: e(m, f.padding[p].classes, g),
30
+ children: [h && /* @__PURE__ */ l(d.Title, {
31
+ className: "mb-8 text-body font-semibold text-fg wrap-anywhere",
32
+ children: h
33
+ }), /* @__PURE__ */ l(i, {
34
+ inset: !1,
35
+ children: a
36
+ })]
37
+ })
38
+ })
39
+ });
40
+ });
41
+ process.env.NODE_ENV !== "production" && (h.displayName = "Popover.Content");
42
+ var g = /* @__PURE__ */ Object.assign(a, {
43
+ Trigger: o,
44
+ Content: h,
45
+ Close: s
46
+ });
47
+ process.env.NODE_ENV !== "production" && (g.displayName = "Popover");
48
+ //#endregion
49
+ export { g as i, f as n, m as r, p as t };
50
+
51
+ //# sourceMappingURL=popover-Bl5QYqnh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover-Bl5QYqnh.js","names":["BasePopover","Popover","cn","InsetContent","PopoverRoot","PopoverTrigger","PopoverClose","KAESO_POPOVER_VARIANTS","KAESO_POPOVER_DEFAULT_VARIANTS","POPOVER_POPUP","Content","ariaLabel","title","devWarn","Popover","usePortalContainer","pageBoundary","padding","className","Popover$1"],"sources":["../../src/components/popover/popover.tsx"],"sourcesContent":["import { InsetContent } from \"../../utils/inset.js\";\nimport { pageBoundary, usePortalContainer } from \"../../utils/portal-context.js\";\nimport { forwardRef, type ReactNode } from \"react\";\nimport { Popover as BasePopover } from \"@base-ui/react/popover\";\nimport { cn } from \"../../utils/cn.js\";\nimport { devWarn } from \"../../utils/dev.js\";\nimport { PopoverClose, PopoverRoot, PopoverTrigger } from \"./popover-root.js\";\n\nexport type { PopoverProps } from \"./popover-root.js\";\n\nexport const KAESO_POPOVER_VARIANTS = {\n padding: {\n form: { classes: \"p-12\" },\n list: { classes: \"p-6\" },\n none: { classes: \"p-0\" },\n },\n} as const;\nexport const KAESO_POPOVER_DEFAULT_VARIANTS = { padding: \"form\" } as const;\n\ntype Side = \"top\" | \"bottom\" | \"left\" | \"right\";\ntype Align = \"start\" | \"center\" | \"end\";\n\nexport const POPOVER_POPUP =\n \"z-50 rounded-popover bg-raised text-body text-fg shadow-raised outline-none popup-motion max-h-(--available-height) max-w-(--available-width) overflow-auto overscroll-contain scrollbar-quiet\";\n\nexport interface PopoverContentProps {\n children: ReactNode;\n side?: Side | undefined;\n align?: Align | undefined;\n sideOffset?: number | undefined;\n padding?: keyof typeof KAESO_POPOVER_VARIANTS.padding | undefined;\n title?: ReactNode | undefined;\n \"aria-label\"?: string | undefined;\n className?: string | undefined;\n}\n\nconst Content = /* @__PURE__ */ forwardRef<HTMLDivElement, PopoverContentProps>(function PopoverContent(\n { children, side = \"bottom\", align = \"start\", sideOffset = 6, padding = \"form\", title, className, \"aria-label\": ariaLabel },\n ref,\n) {\n if (!title && !ariaLabel) devWarn(\"Popover.Content: pass a title or an aria-label, so the popover's dialog has a name.\");\n return (\n <BasePopover.Portal container={usePortalContainer()}>\n <BasePopover.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 <BasePopover.Popup\n ref={ref}\n {...(ariaLabel ? { \"aria-label\": ariaLabel } : {})}\n className={cn(POPOVER_POPUP, KAESO_POPOVER_VARIANTS.padding[padding].classes, className)}\n >\n {title && <BasePopover.Title className=\"mb-8 text-body font-semibold text-fg wrap-anywhere\">{title}</BasePopover.Title>}\n <InsetContent inset={false}>{children}</InsetContent>\n </BasePopover.Popup>\n </BasePopover.Positioner>\n </BasePopover.Portal>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Content.displayName = \"Popover.Content\";\n\nexport const Popover = /* @__PURE__ */ Object.assign(PopoverRoot, { Trigger: PopoverTrigger, Content, Close: PopoverClose });\nif (process.env.NODE_ENV !== \"production\") Popover.displayName = \"Popover\";\n"],"mappings":";;;;;;;;;;AAUA,IAAaO,IAAyB,EACpC,SAAS;CACP,MAAM,EAAE,SAAS,OAAO;CACxB,MAAM,EAAE,SAAS,MAAM;CACvB,MAAM,EAAE,SAAS,MAAM;AACzB,EACF,GACaC,IAAiC,EAAE,SAAS,OAAO,GAKnDC,IACX,kMAaIC,IAA0B,kBAAgD,SAC9E,EAAE,aAAU,UAAO,UAAU,WAAQ,SAAS,gBAAa,GAAG,aAAU,QAAQ,UAAO,cAAW,cAAcC,KAChH,GACA;CAEA,OADI,CAACC,KAAS,CAACD,KAAWE,EAAQ,qFAAqF,GAErH,kBAACb,EAAY,QAAb;EAAoB,WAAWe,EAAmB;EAChD,UAAA,kBAACf,EAAY,YAAb;GACE,gBAAe;GACf,mBAAmBgB,EAAa;GAC1B;GACC;GACK;GACZ,kBAAkB;GAClB,WAAU;GAEV,UAAA,kBAAChB,EAAY,OAAb;IACO;IACL,GAAKW,IAAY,EAAE,cAAcA,EAAU,IAAI,CAAC;IAChD,WAAWT,EAAGO,GAAeF,EAAuB,QAAQU,EAAQ,CAAC,SAASC,CAAS;IAHzF,UAAA,CAKGN,KAAS,kBAACZ,EAAY,OAAb;KAAmB,WAAU;KAAsD,UAAAY;IAAyB,CAAA,GACtH,kBAACT,GAAD;KAAc,OAAO;KAAQ;IAAuB,CAAA,CACnC;;EACG,CAAA;CACN,CAAA;AAExB,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAQ,cAAc;AAEjE,IAAaF,IAA0B,uBAAO,OAAOG,GAAa;CAAE,SAASC;CAAgB;CAAS,OAAOC;AAAa,CAAC;AAC3H,QAAA,IAAA,aAA6B,iBAAc,EAAQ,cAAc"}
@@ -24,10 +24,20 @@ process.env.NODE_ENV !== "production" && (s.displayName = "PortalContainer");
24
24
  function c() {
25
25
  return t(o) ?? void 0;
26
26
  }
27
- function l() {
28
- return typeof document > "u" ? "clipping-ancestors" : document.documentElement;
27
+ var l = {
28
+ x: 0,
29
+ y: 0,
30
+ get width() {
31
+ return document.documentElement.clientWidth;
32
+ },
33
+ get height() {
34
+ return document.documentElement.clientHeight;
35
+ }
36
+ };
37
+ function u() {
38
+ return typeof document > "u" ? "clipping-ancestors" : l;
29
39
  }
30
40
  //#endregion
31
- export { l as n, c as r, s as t };
41
+ export { u as n, c as r, s as t };
32
42
 
33
- //# sourceMappingURL=portal-context-BBbzDKmY.js.map
43
+ //# sourceMappingURL=portal-context-CTatR2Z8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portal-context-CTatR2Z8.js","names":["PortalCtx","PortalContainer","el","useState","node","attach","useCallback","host","children","className","usePortalContainer","use","viewportRect","pageBoundary"],"sources":["../../src/utils/portal-context.tsx"],"sourcesContent":["import { createContext, use, useCallback, useState, type ReactNode } from \"react\";\n\nconst PortalCtx = /* @__PURE__ */ createContext<HTMLElement | null>(null);\n\nexport function PortalContainer({ children, className }: { children: ReactNode; className?: string | undefined }) {\n const [el] = useState<HTMLDivElement | null>(() => {\n if (typeof document === \"undefined\") return null;\n const node = document.createElement(\"div\");\n node.setAttribute(\"data-portal-container\", \"\");\n return node;\n });\n const attach = useCallback(\n (host: HTMLDivElement | null) => {\n if (host && el && el.parentNode !== host) host.appendChild(el);\n },\n [el],\n );\n return (\n <PortalCtx.Provider value={el}>\n {children}\n <div ref={attach} className={className ?? \"absolute top-0 left-0 size-0\"} data-portal-host=\"\" />\n </PortalCtx.Provider>\n );\n}\nif (process.env.NODE_ENV !== \"production\") PortalContainer.displayName = \"PortalContainer\";\n\nexport function usePortalContainer(): HTMLElement | undefined {\n return use(PortalCtx) ?? undefined;\n}\n\nexport interface BoundaryRect {\n readonly x: number;\n readonly y: number;\n readonly width: number;\n readonly height: number;\n}\n\nconst viewportRect: BoundaryRect = {\n x: 0,\n y: 0,\n get width() {\n return document.documentElement.clientWidth;\n },\n get height() {\n return document.documentElement.clientHeight;\n },\n};\n\nexport function pageBoundary(): BoundaryRect | \"clipping-ancestors\" {\n return typeof document === \"undefined\" ? \"clipping-ancestors\" : viewportRect;\n}\n"],"mappings":";;;;AAEA,IAAMA,IAA4B,kBAAkC,IAAI;AAExE,SAAgBC,EAAgB,EAAE,aAAU,gBAAsE;CAChH,IAAM,CAACC,KAAMC,QAAsC;EACjD,IAAI,OAAO,WAAa,KAAa,OAAO;EAC5C,IAAMC,IAAO,SAAS,cAAc,KAAK;EAEzC,OADAA,EAAK,aAAa,yBAAyB,EAAE,GACtCA;CACT,CAAC,GACKC,IAASC,GACZ,MAAgC;EAC/B,AAAIC,KAAQL,KAAMA,EAAG,eAAeK,KAAMA,EAAK,YAAYL,CAAE;CAC/D,GACA,CAACA,CAAE,CACL;CACA,OACE,kBAACF,EAAU,UAAX;EAAoB,OAAOE;EAA3B,UAAA,CACGM,GACD,kBAAC,OAAD;GAAK,KAAKH;GAAQ,WAAWI,KAAa;GAAgC,oBAAiB;EAAI,CAAA,CAC7E;;AAExB;AACA,QAAA,IAAA,aAA6B,iBAAc,EAAgB,cAAc;AAEzE,SAAgBC,IAA8C;CAC5D,OAAOC,EAAIX,CAAS,KAAK,KAAA;AAC3B;AASA,IAAMY,IAA6B;CACjC,GAAG;CACH,GAAG;CACH,IAAI,QAAQ;EACV,OAAO,SAAS,gBAAgB;CAClC;CACA,IAAI,SAAS;EACX,OAAO,SAAS,gBAAgB;CAClC;AACF;AAEA,SAAgBC,IAAoD;CAClE,OAAO,OAAO,WAAa,MAAc,uBAAuBD;AAClE"}
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { t as e } from "./cn-Dj6sRgkF.js";
2
+ import { t as e } from "./cn-BjnOAUrA.js";
3
3
  import { t } from "./labelled-D5udSPUI.js";
4
4
  import { createContext as n, forwardRef as r, useContext as i, useId as a } from "react";
5
5
  import { jsx as o, jsxs as s } from "react/jsx-runtime";
@@ -9,9 +9,15 @@ import { RadioGroup as l } from "@base-ui/react/radio-group";
9
9
  var u = { variant: {
10
10
  default: { classes: "flex flex-col" },
11
11
  cards: { classes: "flex flex-col overflow-hidden rounded-group bg-raised shadow-xs" }
12
- } }, d = { variant: "default" }, f = /* @__PURE__ */ n({ variant: "default" }), p = /* @__PURE__ */ r(function({ value: t, defaultValue: n, onValueChange: r, disabled: i, name: a, variant: s = "default", orientation: c = "vertical", className: d, children: p, ...m }, h) {
12
+ } }, d = { variant: "default" }, f = /* @__PURE__ */ n({
13
+ variant: "default",
14
+ disabled: !1
15
+ }), p = /* @__PURE__ */ r(function({ value: t, defaultValue: n, onValueChange: r, disabled: i, name: a, variant: s = "default", orientation: c = "vertical", className: d, children: p, ...m }, h) {
13
16
  return /* @__PURE__ */ o(f.Provider, {
14
- value: { variant: s },
17
+ value: {
18
+ variant: s,
19
+ disabled: !!i
20
+ },
15
21
  children: /* @__PURE__ */ o(l, {
16
22
  ref: h,
17
23
  ...t === void 0 ? {} : { value: t },
@@ -36,58 +42,67 @@ var m = /* @__PURE__ */ r(function({ value: t, disabled: n, id: r, className: i,
36
42
  ...s ? { "aria-labelledby": s } : {},
37
43
  ...l ? { "aria-describedby": l } : {},
38
44
  ...u ? { "data-force": u } : {},
39
- className: e("relative inline-flex size-18 shrink-0 cursor-pointer items-center justify-center rounded-pill bg-raised shadow-selector radio-donut focus-ring tap-target", "not-checked:hover:shadow-selector-hover disabled:cursor-not-allowed disabled:bg-fill-1 disabled:shadow-none", i)
45
+ "data-choice": "",
46
+ className: e("relative -m-3 inline-flex size-24 shrink-0 cursor-pointer items-center justify-center rounded-pill outline-none tap-target disabled:cursor-not-allowed", i),
47
+ children: /* @__PURE__ */ o("span", {
48
+ "aria-hidden": !0,
49
+ "data-shape": "dot",
50
+ className: "size-18 rounded-pill choice-mark"
51
+ })
40
52
  });
41
53
  });
42
54
  process.env.NODE_ENV !== "production" && (m.displayName = "Radio.Circle");
43
55
  var h = /* @__PURE__ */ r(function({ label: n, description: r, id: c, className: l, ...u }, d) {
44
- let { variant: p } = i(f), h = a(), g = c ?? `k-radio-${h}`, _ = t(g, n, r, u);
56
+ let { variant: p, disabled: h } = i(f), g = !!u.disabled || h, _ = a(), v = c ?? `k-radio-${_}`, y = t(v, n, r, u);
45
57
  return p === "cards" ? /* @__PURE__ */ s("label", {
46
- htmlFor: g,
47
- className: e("flex min-h-56 cursor-pointer items-center gap-16 px-20 py-12 transition-control hover:bg-fill-1 not-first:hairline-t has-[:disabled]:cursor-not-allowed", l),
58
+ htmlFor: v,
59
+ "data-choice-row": "",
60
+ ...u["data-force"] ? { "data-force": u["data-force"] } : {},
61
+ className: e("flex min-h-56 cursor-pointer items-center gap-16 px-20 py-12 transition-control not-first:hairline-t", g ? "cursor-not-allowed" : "hover:bg-raised-hover active:bg-raised-pressed focus-ring-card-row-within", l),
48
62
  children: [/* @__PURE__ */ s("span", {
49
63
  className: "flex min-w-0 flex-1 flex-col gap-2",
50
64
  children: [/* @__PURE__ */ o("span", {
51
- id: _.labelId,
52
- className: e("text-body-lg font-medium text-fg", u.disabled && "text-fg-disabled"),
65
+ id: y.labelId,
66
+ className: e("text-body-lg font-medium text-fg", g && "text-fg-disabled"),
53
67
  children: n
54
68
  }), r && /* @__PURE__ */ o("span", {
55
- id: _.descriptionId,
56
- className: "text-small text-fg-secondary",
69
+ id: y.descriptionId,
70
+ className: e("text-small text-pretty", g ? "text-fg-disabled" : "text-fg-secondary"),
57
71
  children: r
58
72
  })]
59
73
  }), /* @__PURE__ */ o(m, {
60
74
  ref: d,
61
- id: g,
75
+ id: v,
62
76
  ...u,
63
- ..._.aria
77
+ ...y.aria
64
78
  })]
65
79
  }) : n ? /* @__PURE__ */ s("label", {
66
- htmlFor: g,
67
- className: e("inline-flex min-h-32 cursor-pointer items-start gap-10 py-6 select-none", u.disabled && "cursor-not-allowed", l),
80
+ htmlFor: v,
81
+ "data-choice-row": "",
82
+ className: e("inline-flex min-h-32 cursor-pointer items-start gap-10 py-6 select-none coarse:min-h-44 coarse:py-12", g && "cursor-not-allowed", l),
68
83
  children: [/* @__PURE__ */ o("span", {
69
84
  className: "flex h-20 items-center",
70
85
  children: /* @__PURE__ */ o(m, {
71
86
  ref: d,
72
- id: g,
87
+ id: v,
73
88
  ...u,
74
- ..._.aria
89
+ ...y.aria
75
90
  })
76
91
  }), /* @__PURE__ */ s("span", {
77
92
  className: "flex flex-col",
78
93
  children: [/* @__PURE__ */ o("span", {
79
- id: _.labelId,
80
- className: e("text-body text-fg", u.disabled && "text-fg-disabled"),
94
+ id: y.labelId,
95
+ className: e("text-body text-fg", g && "text-fg-disabled"),
81
96
  children: n
82
97
  }), r && /* @__PURE__ */ o("span", {
83
- id: _.descriptionId,
84
- className: "text-small text-fg-secondary",
98
+ id: y.descriptionId,
99
+ className: e("text-small text-pretty", g ? "text-fg-disabled" : "text-fg-secondary"),
85
100
  children: r
86
101
  })]
87
102
  })]
88
103
  }) : /* @__PURE__ */ o(m, {
89
104
  ref: d,
90
- id: g,
105
+ id: v,
91
106
  className: l,
92
107
  ...u
93
108
  });
@@ -107,4 +122,4 @@ process.env.NODE_ENV !== "production" && (v.displayName = "RadioCards");
107
122
  //#endregion
108
123
  export { m as a, v as i, u as n, _ as o, g as r, d as t };
109
124
 
110
- //# sourceMappingURL=radio-CDDFpdtL.js.map
125
+ //# sourceMappingURL=radio-C6GtzF_t.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio-C6GtzF_t.js","names":["RadioGroup","BaseRadioGroup","BaseRadio","Radio","cn","KAESO_RADIO_VARIANTS","KAESO_RADIO_DEFAULT_VARIANTS","Ctx","Group","props","disabled","RadioGroup","value","defaultValue","onValueChange","v","name","variant","orientation","className","RadioCircle","ariaLabel","labelledBy","describedBy","force","Radio","id","Root","groupDisabled","useContext","off","auto","useId","rid","named","labelled","label","description","Radio$1","RadioGroup$1","RadioCards"],"sources":["../../src/components/radio/radio.tsx"],"sourcesContent":["import { createContext, forwardRef, useContext, useId, type ReactNode } from \"react\";\nimport { Radio as BaseRadio } from \"@base-ui/react/radio\";\nimport { RadioGroup as BaseRadioGroup } from \"@base-ui/react/radio-group\";\nimport { cn } from \"../../utils/cn.js\";\nimport { labelled } from \"./labelled.js\";\n\nexport const KAESO_RADIO_VARIANTS = {\n variant: {\n default: { classes: \"flex flex-col\" },\n cards: {\n classes: \"flex flex-col overflow-hidden rounded-group bg-raised shadow-xs\",\n },\n },\n} as const;\nexport const KAESO_RADIO_DEFAULT_VARIANTS = { variant: \"default\" } as const;\n\nconst Ctx = /* @__PURE__ */ createContext<{ variant: keyof typeof KAESO_RADIO_VARIANTS.variant; disabled: boolean }>({ variant: \"default\", disabled: false });\n\nexport interface RadioGroupProps {\n value?: string | undefined;\n defaultValue?: string | undefined;\n onValueChange?: ((value: string) => void) | undefined;\n disabled?: boolean | undefined;\n name?: string | undefined;\n variant?: keyof typeof KAESO_RADIO_VARIANTS.variant | undefined;\n orientation?: \"vertical\" | \"horizontal\" | undefined;\n \"aria-label\"?: string | undefined;\n \"aria-labelledby\"?: string | undefined;\n className?: string | undefined;\n children: ReactNode;\n}\n\nconst Group = /* @__PURE__ */ forwardRef<HTMLDivElement, RadioGroupProps>(function RadioGroup(\n { value, defaultValue, onValueChange, disabled, name, variant = \"default\", orientation = \"vertical\", className, children, ...props },\n ref,\n) {\n return (\n <Ctx.Provider value={{ variant, disabled: !!disabled }}>\n <BaseRadioGroup\n ref={ref}\n {...(value !== undefined ? { value } : {})}\n {...(defaultValue !== undefined ? { defaultValue } : {})}\n {...(onValueChange ? { onValueChange: (v: unknown) => onValueChange(String(v)) } : {})}\n {...(disabled !== undefined ? { disabled } : {})}\n {...(name ? { name } : {})}\n className={cn(\n KAESO_RADIO_VARIANTS.variant[variant].classes,\n orientation === \"horizontal\" && variant === \"default\" && \"flex-row flex-wrap gap-x-24\",\n className,\n )}\n {...props}\n >\n {children}\n </BaseRadioGroup>\n </Ctx.Provider>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Group.displayName = \"RadioGroup\";\n\nexport interface RadioProps {\n value: string;\n label?: ReactNode | undefined;\n description?: ReactNode | undefined;\n disabled?: boolean | undefined;\n id?: string | undefined;\n \"aria-label\"?: string | undefined;\n \"aria-labelledby\"?: string | undefined;\n \"aria-describedby\"?: string | undefined;\n className?: string | undefined;\n \"data-force\"?: string | undefined;\n}\n\nexport const RadioCircle = /* @__PURE__ */ forwardRef<HTMLButtonElement, RadioProps>(function RadioCircle(\n { value, disabled, id, className, \"aria-label\": ariaLabel, \"aria-labelledby\": labelledBy, \"aria-describedby\": describedBy, \"data-force\": force },\n ref,\n) {\n return (\n <BaseRadio.Root\n ref={ref}\n value={value}\n {...(disabled !== undefined ? { disabled } : {})}\n {...(id ? { id } : {})}\n {...(ariaLabel ? { \"aria-label\": ariaLabel } : {})}\n {...(labelledBy ? { \"aria-labelledby\": labelledBy } : {})}\n {...(describedBy ? { \"aria-describedby\": describedBy } : {})}\n {...(force ? { \"data-force\": force } : {})}\n data-choice=\"\"\n className={cn(\n \"relative -m-3 inline-flex size-24 shrink-0 cursor-pointer items-center justify-center rounded-pill outline-none tap-target disabled:cursor-not-allowed\",\n className,\n )}\n >\n <span aria-hidden data-shape=\"dot\" className=\"size-18 rounded-pill choice-mark\" />\n </BaseRadio.Root>\n );\n});\nif (process.env.NODE_ENV !== \"production\") RadioCircle.displayName = \"Radio.Circle\";\n\nconst Root = /* @__PURE__ */ forwardRef<HTMLButtonElement, RadioProps>(function Radio({ label, description, id, className, ...props }, ref) {\n const { variant, disabled: groupDisabled } = useContext(Ctx);\n const off = !!props.disabled || groupDisabled;\n const auto = useId();\n const rid = id ?? `k-radio-${auto}`;\n const named = labelled(rid, label, description, props);\n if (variant === \"cards\") {\n return (\n <label\n htmlFor={rid}\n data-choice-row=\"\"\n {...(props[\"data-force\"] ? { \"data-force\": props[\"data-force\"] } : {})}\n className={cn(\n \"flex min-h-56 cursor-pointer items-center gap-16 px-20 py-12 transition-control not-first:hairline-t\",\n off ? \"cursor-not-allowed\" : \"hover:bg-raised-hover active:bg-raised-pressed focus-ring-card-row-within\",\n className,\n )}\n >\n <span className=\"flex min-w-0 flex-1 flex-col gap-2\">\n <span id={named.labelId} className={cn(\"text-body-lg font-medium text-fg\", off && \"text-fg-disabled\")}>\n {label}\n </span>\n {description && (\n <span id={named.descriptionId} className={cn(\"text-small text-pretty\", off ? \"text-fg-disabled\" : \"text-fg-secondary\")}>\n {description}\n </span>\n )}\n </span>\n <RadioCircle ref={ref} id={rid} {...props} {...named.aria} />\n </label>\n );\n }\n if (!label) return <RadioCircle ref={ref} id={rid} className={className} {...props} />;\n return (\n <label\n htmlFor={rid}\n data-choice-row=\"\"\n className={cn(\n \"inline-flex min-h-32 cursor-pointer items-start gap-10 py-6 select-none coarse:min-h-44 coarse:py-12\",\n off && \"cursor-not-allowed\",\n className,\n )}\n >\n <span className=\"flex h-20 items-center\">\n <RadioCircle ref={ref} id={rid} {...props} {...named.aria} />\n </span>\n <span className=\"flex flex-col\">\n <span id={named.labelId} className={cn(\"text-body text-fg\", off && \"text-fg-disabled\")}>\n {label}\n </span>\n {description && (\n <span id={named.descriptionId} className={cn(\"text-small text-pretty\", off ? \"text-fg-disabled\" : \"text-fg-secondary\")}>\n {description}\n </span>\n )}\n </span>\n </label>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Root.displayName = \"Radio\";\n\nexport const Radio = /* @__PURE__ */ Object.assign(Root, { Group, Circle: RadioCircle });\nexport const RadioGroup = Group;\nexport type RadioCardsProps = Omit<RadioGroupProps, \"variant\">;\n\nexport const RadioCards = /* @__PURE__ */ forwardRef<HTMLDivElement, RadioCardsProps>(function RadioCards(props, ref) {\n return <Group ref={ref} variant=\"cards\" {...props} />;\n});\nif (process.env.NODE_ENV !== \"production\") RadioCards.displayName = \"RadioCards\";\n"],"mappings":"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"}
@@ -0,0 +1,160 @@
1
+ "use client";
2
+ import { t as e } from "./cn-BjnOAUrA.js";
3
+ import { i as t } from "./context-BELWW79w.js";
4
+ import { t as n } from "./icon-CBzOwqrX.js";
5
+ import { n as r } from "./button-IblhXUyZ.js";
6
+ import { i } from "./popover-Bl5QYqnh.js";
7
+ import { t as a } from "./calendar-Dc6_dl0f.js";
8
+ import { n as o, r as s, t as c } from "./iso-field-DoqHBg8n.js";
9
+ import { useId as l, useRef as u, useState as d, useSyncExternalStore as f } from "react";
10
+ import { jsx as p, jsxs as m } from "react/jsx-runtime";
11
+ import { Tick02Icon as h } from "@hugeicons/core-free-icons";
12
+ //#region src/components/date-picker/range-popup.tsx
13
+ function g(e, t) {
14
+ let n = [...e.currentTarget.querySelectorAll("[role=option]")], r = n.indexOf(document.activeElement);
15
+ if (r < 0) return;
16
+ let i = {
17
+ ArrowDown: t,
18
+ ArrowUp: -t,
19
+ ...t > 1 ? {
20
+ ArrowRight: 1,
21
+ ArrowLeft: -1
22
+ } : {}
23
+ }, a = e.key === "Home" ? 0 : e.key === "End" ? n.length - 1 : i[e.key] === void 0 ? null : r + i[e.key];
24
+ a !== null && (e.preventDefault(), n[Math.max(0, Math.min(n.length - 1, a))]?.focus());
25
+ }
26
+ var _ = "(max-width: 767px)";
27
+ function v(e) {
28
+ if (typeof window > "u" || !window.matchMedia) return () => {};
29
+ let t = window.matchMedia(_);
30
+ return t.addEventListener("change", e), () => t.removeEventListener("change", e);
31
+ }
32
+ var y = () => typeof window < "u" && !!window.matchMedia?.(_).matches, b = () => !f(v, y, () => !1), x = (e) => new Date(e.getFullYear(), e.getMonth(), 1), S = (e, t) => new Date(e.getFullYear(), e.getMonth() + t, 1), C = (e, t) => e?.toDateString() === t?.toDateString();
33
+ function w({ range: f, preset: _, presets: v, onPick: y, onClose: w, weekStartsOn: T, disabledDays: E }) {
34
+ let D = b(), O = t(), k = D ? 2 : 1, [A, j] = d(f ?? void 0), [M, N] = d(_ === null), [P, F] = d(() => x(f?.to ?? f?.from ?? /* @__PURE__ */ new Date())), I = l(), [L, R] = d(null), z = u(null), B = S(P, 1 - k), V = (e) => e >= B && x(e) <= P, H = M ? null : _, U = (e) => {
35
+ j(e), e?.from && R((e) => e?.problem === "missing" ? null : e), N(!0);
36
+ }, W = (e, t) => {
37
+ if (E?.(t)) return !1;
38
+ let n = e === "from" ? A?.to : A?.from;
39
+ return U(e === "from" ? {
40
+ from: t,
41
+ to: n && n < t ? t : n
42
+ } : {
43
+ from: n && n > t ? t : n,
44
+ to: t
45
+ }), V(t) || F(e === "to" || k === 1 ? x(t) : S(x(t), k - 1)), !0;
46
+ }, G = C(A?.from, f?.from) && C(A?.to ?? A?.from, f?.to), K = e("flex min-h-34 w-full cursor-pointer items-center justify-between gap-10 rounded-item px-10 text-left text-body font-medium text-fg transition-control select-none coarse:min-h-44", "hover:bg-item-hover active:bg-item-pressed focus-ring-inset", D && "coarse:min-h-40"), q = (t) => /* @__PURE__ */ p(n, {
47
+ icon: h,
48
+ size: "sm",
49
+ className: e("shrink-0 text-fg", !t && "invisible")
50
+ }), J = (e) => L?.field === e ? L.problem : null, Y = (e) => (t) => R(t ? {
51
+ field: e,
52
+ problem: t
53
+ } : L?.field === e ? null : L);
54
+ return /* @__PURE__ */ p(i.Content, {
55
+ padding: "none",
56
+ "aria-label": O("datePicker.chooseRange", "Choose a date range"),
57
+ className: e(!D && "w-360 max-w-(--available-width)"),
58
+ children: /* @__PURE__ */ m("div", {
59
+ className: e("flex", !D && "flex-col"),
60
+ children: [/* @__PURE__ */ m("div", {
61
+ className: e("shrink-0 gap-2 p-6", D ? "flex min-w-160 flex-col hairline-r" : "grid grid-cols-2 hairline-b"),
62
+ role: "listbox",
63
+ "aria-label": O("datePicker.presets", "Presets"),
64
+ "aria-orientation": D ? "vertical" : void 0,
65
+ onKeyDown: (e) => g(e, D ? 1 : 2),
66
+ children: [v.map((e) => {
67
+ let t = e.id ?? e.label;
68
+ return /* @__PURE__ */ m("button", {
69
+ type: "button",
70
+ role: "option",
71
+ "aria-selected": H === t,
72
+ tabIndex: H === t ? 0 : -1,
73
+ className: K,
74
+ onClick: () => y(e.range(), t),
75
+ children: [/* @__PURE__ */ p("span", {
76
+ className: "min-w-0",
77
+ children: e.label
78
+ }), q(H === t)]
79
+ }, t);
80
+ }), /* @__PURE__ */ m("button", {
81
+ type: "button",
82
+ role: "option",
83
+ "aria-selected": H === null,
84
+ tabIndex: H === null || !v.some((e) => (e.id ?? e.label) === H) ? 0 : -1,
85
+ className: K,
86
+ onClick: () => N(!0),
87
+ children: [/* @__PURE__ */ p("span", {
88
+ className: "min-w-0",
89
+ children: O("datePicker.custom", "Custom")
90
+ }), q(H === null)]
91
+ })]
92
+ }), /* @__PURE__ */ m("div", {
93
+ className: e("flex flex-col p-12", !D && "items-center"),
94
+ children: [
95
+ /* @__PURE__ */ p(a, {
96
+ mode: "range",
97
+ numberOfMonths: k,
98
+ selected: A,
99
+ month: B,
100
+ onMonthChange: (e) => F(S(e, k - 1)),
101
+ onSelect: (e) => U(e),
102
+ weekStartsOn: T,
103
+ disabled: E
104
+ }),
105
+ /* @__PURE__ */ m("div", {
106
+ ref: z,
107
+ className: "mt-12 flex items-center gap-8 self-stretch",
108
+ children: [
109
+ /* @__PURE__ */ p(o, {
110
+ label: O("datePicker.startDate", "Start date"),
111
+ value: A?.from,
112
+ invalid: J("from") !== null,
113
+ errorId: I,
114
+ onProblem: Y("from"),
115
+ onCommit: (e) => W("from", e)
116
+ }),
117
+ /* @__PURE__ */ p("span", {
118
+ className: "text-fg-tertiary",
119
+ "aria-hidden": !0,
120
+ children: "–"
121
+ }),
122
+ /* @__PURE__ */ p(o, {
123
+ label: O("datePicker.endDate", "End date"),
124
+ value: A?.to,
125
+ invalid: J("to") !== null,
126
+ errorId: I,
127
+ onProblem: Y("to"),
128
+ onCommit: (e) => W("to", e)
129
+ }),
130
+ /* @__PURE__ */ p(r, {
131
+ size: "sm",
132
+ variant: "primary",
133
+ onClick: () => {
134
+ A?.from ? G && !M ? w() : y({
135
+ from: A.from,
136
+ to: A.to ?? A.from
137
+ }, null) : (R({
138
+ field: "from",
139
+ problem: "missing"
140
+ }), z.current?.querySelector("input")?.focus());
141
+ },
142
+ children: O("datePicker.apply", "Apply")
143
+ })
144
+ ]
145
+ }),
146
+ /* @__PURE__ */ p("p", {
147
+ id: I,
148
+ role: "alert",
149
+ className: e(c, "w-0 min-w-full"),
150
+ children: L ? s(O, L.problem) : ""
151
+ })
152
+ ]
153
+ })]
154
+ })
155
+ });
156
+ }
157
+ //#endregion
158
+ export { w as RangePopup };
159
+
160
+ //# sourceMappingURL=range-popup-lGiZsG3s.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"range-popup-lGiZsG3s.js","names":["__icon_Tick02Icon","cn","useUiText","Icon","Button","Calendar","IsoField","isoProblemText","ISO_PROBLEM","moveAmongOptions","options","at","step","columns","to","NARROW","subscribeNarrow","q","onChange","isNarrow","useWide","useSyncExternalStore","monthOf","d","addMonths","n","sameDay","a","b","RangePopup","wide","t","months","draft","setDraft","useState","range","custom","setCustom","preset","last","setLast","errorId","useId","problem","setProblem","fields","useRef","first","shows","selected","edit","next","was","typed","disabledDays","other","which","unchanged","item","check","Tick02Icon","on","problemOf","field","report","p","Popover","presets","id","onPick","m","r","onClose"],"sources":["../../src/components/date-picker/range-popup.tsx"],"sourcesContent":["import { useId, useRef, useState, useSyncExternalStore, type KeyboardEvent } from \"react\";\nimport type { DateRange } from \"react-day-picker\";\nimport { Calendar, type CalendarProps } from \"../calendar/calendar.js\";\nimport { cn } from \"../../utils/cn.js\";\nimport { Popover } from \"../popover/popover.js\";\nimport { Button } from \"../button/button.js\";\nimport { Icon } from \"../icon/icon.js\";\nimport { Tick02Icon as __icon_Tick02Icon } from \"@hugeicons/core-free-icons\";\nimport { ISO_PROBLEM, IsoField, isoProblemText, type IsoProblem } from \"./iso-field.js\";\nimport type { DateRangePreset } from \"./date-picker.js\";\nimport { useUiText } from \"../../i18n/context.js\";\n\nfunction moveAmongOptions(e: KeyboardEvent<HTMLDivElement>, columns: number) {\n const options = [...e.currentTarget.querySelectorAll<HTMLElement>(\"[role=option]\")];\n const at = options.indexOf(document.activeElement as HTMLElement);\n if (at < 0) return;\n const step: Record<string, number> = { ArrowDown: columns, ArrowUp: -columns, ...(columns > 1 ? { ArrowRight: 1, ArrowLeft: -1 } : {}) };\n const to = e.key === \"Home\" ? 0 : e.key === \"End\" ? options.length - 1 : step[e.key] !== undefined ? at + step[e.key]! : null;\n if (to === null) return;\n e.preventDefault();\n options[Math.max(0, Math.min(options.length - 1, to))]?.focus();\n}\n\nexport interface RangePopupProps {\n range: DateRange | null;\n preset: string | null;\n presets: DateRangePreset[];\n onPick: (range: DateRange, preset: string | null) => void;\n onClose: () => void;\n weekStartsOn: CalendarProps[\"weekStartsOn\"];\n disabledDays: ((date: Date) => boolean) | undefined;\n}\n\nconst NARROW = \"(max-width: 767px)\";\nfunction subscribeNarrow(onChange: () => void) {\n if (typeof window === \"undefined\" || !window.matchMedia) return () => {};\n const q = window.matchMedia(NARROW);\n q.addEventListener(\"change\", onChange);\n return () => q.removeEventListener(\"change\", onChange);\n}\nconst isNarrow = () => typeof window !== \"undefined\" && !!window.matchMedia?.(NARROW).matches;\nconst useWide = () => !useSyncExternalStore(subscribeNarrow, isNarrow, () => false);\n\nconst monthOf = (d: Date) => new Date(d.getFullYear(), d.getMonth(), 1);\nconst addMonths = (d: Date, n: number) => new Date(d.getFullYear(), d.getMonth() + n, 1);\nconst sameDay = (a: Date | undefined, b: Date | undefined) => a?.toDateString() === b?.toDateString();\n\nexport function RangePopup({ range, preset, presets, onPick, onClose, weekStartsOn, disabledDays }: RangePopupProps) {\n const wide = useWide();\n const t = useUiText();\n const months = wide ? 2 : 1;\n const [draft, setDraft] = useState<DateRange | undefined>(range ?? undefined);\n const [custom, setCustom] = useState(preset === null);\n const [last, setLast] = useState(() => monthOf(range?.to ?? range?.from ?? new Date()));\n const errorId = useId();\n const [problem, setProblem] = useState<{ field: \"from\" | \"to\"; problem: IsoProblem } | null>(null);\n const fields = useRef<HTMLDivElement | null>(null);\n const first = addMonths(last, 1 - months);\n const shows = (d: Date) => d >= first && monthOf(d) <= last;\n const selected = custom ? null : preset;\n const edit = (next: DateRange | undefined) => {\n setDraft(next);\n if (next?.from) setProblem((was) => (was?.problem === \"missing\" ? null : was));\n setCustom(true);\n };\n const typed = (which: \"from\" | \"to\", d: Date) => {\n if (disabledDays?.(d)) return false;\n const other = which === \"from\" ? draft?.to : draft?.from;\n const next = which === \"from\" ? { from: d, to: other && other < d ? d : other } : { from: other && other > d ? d : other, to: d };\n edit(next);\n if (!shows(d)) setLast(which === \"to\" || months === 1 ? monthOf(d) : addMonths(monthOf(d), months - 1));\n return true;\n };\n const unchanged = sameDay(draft?.from, range?.from) && sameDay(draft?.to ?? draft?.from, range?.to);\n const item = cn(\n \"flex min-h-34 w-full cursor-pointer items-center justify-between gap-10 rounded-item px-10 text-left text-body font-medium text-fg transition-control select-none coarse:min-h-44\",\n \"hover:bg-item-hover active:bg-item-pressed focus-ring-inset\",\n wide && \"coarse:min-h-40\",\n );\n const check = (on: boolean) => <Icon icon={__icon_Tick02Icon} size=\"sm\" className={cn(\"shrink-0 text-fg\", !on && \"invisible\")} />;\n const problemOf = (field: \"from\" | \"to\") => (problem?.field === field ? problem.problem : null);\n const report = (field: \"from\" | \"to\") => (p: IsoProblem) => setProblem(p ? { field, problem: p } : problem?.field === field ? null : problem);\n\n return (\n <Popover.Content padding=\"none\" aria-label={t(\"datePicker.chooseRange\", \"Choose a date range\")} className={cn(!wide && \"w-360 max-w-(--available-width)\")}>\n <div className={cn(\"flex\", !wide && \"flex-col\")}>\n <div\n className={cn(\"shrink-0 gap-2 p-6\", wide ? \"flex min-w-160 flex-col hairline-r\" : \"grid grid-cols-2 hairline-b\")}\n role=\"listbox\"\n aria-label={t(\"datePicker.presets\", \"Presets\")}\n aria-orientation={wide ? \"vertical\" : undefined}\n onKeyDown={(e) => moveAmongOptions(e, wide ? 1 : 2)}\n >\n {presets.map((p) => {\n const id = p.id ?? p.label;\n return (\n <button\n key={id}\n type=\"button\"\n role=\"option\"\n aria-selected={selected === id}\n tabIndex={selected === id ? 0 : -1}\n className={item}\n onClick={() => onPick(p.range(), id)}\n >\n <span className=\"min-w-0\">{p.label}</span>\n {check(selected === id)}\n </button>\n );\n })}\n <button\n type=\"button\"\n role=\"option\"\n aria-selected={selected === null}\n tabIndex={selected === null || !presets.some((p) => (p.id ?? p.label) === selected) ? 0 : -1}\n className={item}\n onClick={() => setCustom(true)}\n >\n <span className=\"min-w-0\">{t(\"datePicker.custom\", \"Custom\")}</span>\n {check(selected === null)}\n </button>\n </div>\n <div className={cn(\"flex flex-col p-12\", !wide && \"items-center\")}>\n <Calendar\n mode=\"range\"\n numberOfMonths={months}\n selected={draft}\n month={first}\n onMonthChange={(m) => setLast(addMonths(m, months - 1))}\n onSelect={(r) => edit(r as DateRange | undefined)}\n weekStartsOn={weekStartsOn}\n disabled={disabledDays}\n />\n <div ref={fields} className=\"mt-12 flex items-center gap-8 self-stretch\">\n <IsoField\n label={t(\"datePicker.startDate\", \"Start date\")}\n value={draft?.from}\n invalid={problemOf(\"from\") !== null}\n errorId={errorId}\n onProblem={report(\"from\")}\n onCommit={(d) => typed(\"from\", d)}\n />\n <span className=\"text-fg-tertiary\" aria-hidden>\n –\n </span>\n <IsoField\n label={t(\"datePicker.endDate\", \"End date\")}\n value={draft?.to}\n invalid={problemOf(\"to\") !== null}\n errorId={errorId}\n onProblem={report(\"to\")}\n onCommit={(d) => typed(\"to\", d)}\n />\n <Button\n size=\"sm\"\n variant=\"primary\"\n onClick={() => {\n if (!draft?.from) {\n setProblem({ field: \"from\", problem: \"missing\" });\n fields.current?.querySelector(\"input\")?.focus();\n return;\n }\n if (unchanged && !custom) onClose();\n else onPick({ from: draft.from, to: draft.to ?? draft.from }, null);\n }}\n >\n {t(\"datePicker.apply\", \"Apply\")}\n </Button>\n </div>\n <p id={errorId} role=\"alert\" className={cn(ISO_PROBLEM, \"w-0 min-w-full\")}>\n {problem ? isoProblemText(t, problem.problem) : \"\"}\n </p>\n </div>\n </div>\n </Popover.Content>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ "use client";
2
+ import { t as e } from "./cn-BjnOAUrA.js";
3
+ import { t } from "./icon-CBzOwqrX.js";
4
+ import { forwardRef as n } from "react";
5
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
6
+ import { ArrowRight01Icon as a } from "@hugeicons/core-free-icons";
7
+ import { Collapsible as o } from "@base-ui/react/collapsible";
8
+ //#region src/components/playground/reasoning-frame.tsx
9
+ var s = /* @__PURE__ */ n(function({ heading: n, preview: s, previewHidden: c = !1, live: l = !1, open: u, defaultOpen: d, onOpenChange: f, children: p, className: m, "data-force": h }, g) {
10
+ return /* @__PURE__ */ i(o.Root, {
11
+ ref: g,
12
+ ...u === void 0 ? {} : { open: u },
13
+ ...d === void 0 ? {} : { defaultOpen: d },
14
+ ...f ? { onOpenChange: (e) => f(e) } : {},
15
+ className: e("flex min-w-0 flex-col", m),
16
+ children: [/* @__PURE__ */ i(o.Trigger, {
17
+ ...h ? { "data-force": h } : {},
18
+ className: "group/think flex h-32 min-w-0 cursor-pointer items-center gap-6 rounded-pill px-12 text-left text-small text-fg-secondary transition-control hover:bg-fill-1 hover:text-fg active:bg-fill-2 focus-ring-inset coarse:h-44",
19
+ children: [
20
+ /* @__PURE__ */ r(t, {
21
+ icon: a,
22
+ size: "xs",
23
+ className: "shrink-0 text-fg-tertiary transition-transform duration-180 ease-overlay group-hover/think:text-fg-secondary group-data-panel-open/think:rotate-90"
24
+ }),
25
+ /* @__PURE__ */ r("span", {
26
+ className: e("shrink-0 font-medium", l && "animate-pulse-quiet reduced:animate-none"),
27
+ children: n
28
+ }),
29
+ /* @__PURE__ */ r("span", {
30
+ "aria-hidden": c || void 0,
31
+ className: "min-w-0 flex-1 truncate text-fg-tertiary group-data-panel-open/think:invisible",
32
+ children: s
33
+ })
34
+ ]
35
+ }), /* @__PURE__ */ r(o.Panel, {
36
+ className: "collapse-motion",
37
+ children: /* @__PURE__ */ i("div", {
38
+ className: "relative pt-4 pb-8 pl-32",
39
+ children: [/* @__PURE__ */ r("span", {
40
+ "aria-hidden": !0,
41
+ className: "absolute top-4 left-18 bottom-8 w-1 rounded-pill bg-line forced-line"
42
+ }), p]
43
+ })
44
+ })]
45
+ });
46
+ });
47
+ process.env.NODE_ENV !== "production" && (s.displayName = "ReasoningFrame");
48
+ //#endregion
49
+ export { s as t };
50
+
51
+ //# sourceMappingURL=reasoning-frame-C3HdQRRS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reasoning-frame-C3HdQRRS.js","names":["BaseCollapsible","__icon_ArrowRight01Icon","cn","ReasoningFrame","force","Collapsible","open","defaultOpen","onOpenChange","o","className","Icon","ArrowRight01Icon","live","heading","previewHidden","preview","children"],"sources":["../../src/components/playground/reasoning-frame.tsx"],"sourcesContent":["import { forwardRef, type ReactNode } from \"react\";\nimport { Collapsible as BaseCollapsible } from \"@base-ui/react/collapsible\";\nimport { cn } from \"../../utils/cn.js\";\nimport { ArrowRight01Icon as __icon_ArrowRight01Icon } from \"@hugeicons/core-free-icons\";\nimport { Icon } from \"../icon/icon.js\";\n\nexport interface ReasoningFrameProps {\n heading: ReactNode;\n preview?: ReactNode | undefined;\n previewHidden?: boolean | undefined;\n live?: boolean | undefined;\n open?: boolean | undefined;\n defaultOpen?: boolean | undefined;\n onOpenChange?: ((open: boolean) => void) | undefined;\n children: ReactNode;\n className?: string | undefined;\n \"data-force\"?: string | undefined;\n}\n\nexport const ReasoningFrame = /* @__PURE__ */ forwardRef<HTMLDivElement, ReasoningFrameProps>(function ReasoningFrame(\n { heading, preview, previewHidden = false, live = false, open, defaultOpen, onOpenChange, children, className, \"data-force\": force },\n ref,\n) {\n return (\n <BaseCollapsible.Root\n ref={ref}\n {...(open !== undefined ? { open } : {})}\n {...(defaultOpen !== undefined ? { defaultOpen } : {})}\n {...(onOpenChange ? { onOpenChange: (o: boolean) => onOpenChange(o) } : {})}\n className={cn(\"flex min-w-0 flex-col\", className)}\n >\n <BaseCollapsible.Trigger\n {...(force ? { \"data-force\": force } : {})}\n className=\"group/think flex h-32 min-w-0 cursor-pointer items-center gap-6 rounded-pill px-12 text-left text-small text-fg-secondary transition-control hover:bg-fill-1 hover:text-fg active:bg-fill-2 focus-ring-inset coarse:h-44\"\n >\n <Icon\n icon={__icon_ArrowRight01Icon}\n size=\"xs\"\n className=\"shrink-0 text-fg-tertiary transition-transform duration-180 ease-overlay group-hover/think:text-fg-secondary group-data-panel-open/think:rotate-90\"\n />\n <span className={cn(\"shrink-0 font-medium\", live && \"animate-pulse-quiet reduced:animate-none\")}>{heading}</span>\n <span aria-hidden={previewHidden || undefined} className=\"min-w-0 flex-1 truncate text-fg-tertiary group-data-panel-open/think:invisible\">\n {preview}\n </span>\n </BaseCollapsible.Trigger>\n <BaseCollapsible.Panel className=\"collapse-motion\">\n <div className=\"relative pt-4 pb-8 pl-32\">\n <span aria-hidden className=\"absolute top-4 left-18 bottom-8 w-1 rounded-pill bg-line forced-line\" />\n {children}\n </div>\n </BaseCollapsible.Panel>\n </BaseCollapsible.Root>\n );\n});\nif (process.env.NODE_ENV !== \"production\") ReasoningFrame.displayName = \"ReasoningFrame\";\n"],"mappings":";;;;;;;;AAmBA,IAAaG,IAAiC,kBAAgD,SAC5F,EAAE,YAAS,YAAS,mBAAgB,IAAO,UAAO,IAAO,SAAM,gBAAa,iBAAc,aAAU,cAAW,cAAcC,KAC7H,GACA;CACA,OACE,kBAACJ,EAAgB,MAAjB;EACO;EACL,GAAKM,MAAS,KAAA,IAAuB,CAAC,IAAZ,EAAE,QAAK;EACjC,GAAKC,MAAgB,KAAA,IAA8B,CAAC,IAAnB,EAAE,eAAY;EAC/C,GAAKC,IAAe,EAAE,eAAe,MAAeA,EAAaC,CAAC,EAAE,IAAI,CAAC;EACzE,WAAWP,EAAG,yBAAyBQ,CAAS;EALlD,UAAA,CAOE,kBAACV,EAAgB,SAAjB;GACE,GAAKI,IAAQ,EAAE,cAAcA,EAAM,IAAI,CAAC;GACxC,WAAU;GAFZ,UAAA;IAIE,kBAACO,GAAD;KACE,MAAMV;KACN,MAAK;KACL,WAAU;IACX,CAAA;IACD,kBAAC,QAAD;KAAM,WAAWC,EAAG,wBAAwBW,KAAQ,0CAA0C;KAAI,UAAAC;IAAc,CAAA;IAChH,kBAAC,QAAD;KAAM,eAAaC,KAAiB,KAAA;KAAW,WAAU;KACtD,UAAAC;IACG,CAAA;GACiB;EACzB,CAAA,GAAA,kBAAChB,EAAgB,OAAjB;GAAuB,WAAU;GAC/B,UAAA,kBAAC,OAAD;IAAK,WAAU;IAAf,UAAA,CACE,kBAAC,QAAD;KAAM,eAAA;KAAY,WAAU;IAAwE,CAAA,GACnGiB,CACE;;EACgB,CAAA,CACH;;AAE1B,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAe,cAAc"}