@logicplanes/kaeso-ui 0.4.0 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (309) hide show
  1. package/ai/component-guides.md +51 -1
  2. package/ai/component-registry.json +113 -17
  3. package/ai/component-registry.md +38 -12
  4. package/ai/icons.md +1 -1
  5. package/ai/tokens.md +2 -1
  6. package/dist/blocks/delete-resource.js +1 -1
  7. package/dist/blocks/pages.js +5 -5
  8. package/dist/blocks/resource-list.js +4 -4
  9. package/dist/chunks/{app-frame-Cj_gCbmu.js → app-frame-C8csevkL.js} +9 -9
  10. package/dist/chunks/{app-frame-Cj_gCbmu.js.map → app-frame-C8csevkL.js.map} +1 -1
  11. package/dist/chunks/{avatar-DOzOhYJr.js → avatar-CWbdwbJv.js} +2 -2
  12. package/dist/chunks/{avatar-DOzOhYJr.js.map → avatar-CWbdwbJv.js.map} +1 -1
  13. package/dist/chunks/{badge-wUHlj7m3.js → badge-C2KtxCLB.js} +2 -2
  14. package/dist/chunks/{badge-wUHlj7m3.js.map → badge-C2KtxCLB.js.map} +1 -1
  15. package/dist/chunks/{banner-DY1jSc9Y.js → banner-Cb8OWnqJ.js} +4 -4
  16. package/dist/chunks/{banner-DY1jSc9Y.js.map → banner-Cb8OWnqJ.js.map} +1 -1
  17. package/dist/chunks/{button-h2IFCER2.js → button-Dzu7_csE.js} +13 -13
  18. package/dist/chunks/button-Dzu7_csE.js.map +1 -0
  19. package/dist/chunks/{calendar-cVuezHQ6.js → calendar--YemJsv4.js} +2 -2
  20. package/dist/chunks/{calendar-cVuezHQ6.js.map → calendar--YemJsv4.js.map} +1 -1
  21. package/dist/chunks/{checkbox-C5yvSS7O.js → checkbox-CDfC6E-M.js} +2 -2
  22. package/dist/chunks/{checkbox-C5yvSS7O.js.map → checkbox-CDfC6E-M.js.map} +1 -1
  23. package/dist/chunks/{cn-DUDmdLpZ.js → cn-Dj6sRgkF.js} +17 -3
  24. package/dist/chunks/cn-Dj6sRgkF.js.map +1 -0
  25. package/dist/chunks/code-block-U5fCqwgC.js +330 -0
  26. package/dist/chunks/code-block-U5fCqwgC.js.map +1 -0
  27. package/dist/chunks/{code-C49NzHUQ.js → code-tqj0uhBL.js} +2 -2
  28. package/dist/chunks/{code-C49NzHUQ.js.map → code-tqj0uhBL.js.map} +1 -1
  29. package/dist/chunks/{collapsible-CDQq1Y9x.js → collapsible-CKrCX_T9.js} +13 -13
  30. package/dist/chunks/collapsible-CKrCX_T9.js.map +1 -0
  31. package/dist/chunks/{combobox-B9ttar4C.js → combobox-BARyrpXH.js} +6 -6
  32. package/dist/chunks/{combobox-B9ttar4C.js.map → combobox-BARyrpXH.js.map} +1 -1
  33. package/dist/chunks/{command-list-DZMVrXWD.js → command-list-0RR4DpUe.js} +138 -137
  34. package/dist/chunks/command-list-0RR4DpUe.js.map +1 -0
  35. package/dist/chunks/copy-button-7-irieJw.js +142 -0
  36. package/dist/chunks/copy-button-7-irieJw.js.map +1 -0
  37. package/dist/chunks/{core-Bu6iq5uh.js → core-Bl9NrBLS.js} +10 -10
  38. package/dist/chunks/core-Bl9NrBLS.js.map +1 -0
  39. package/dist/chunks/{date-popup-BJPA_fBm.js → date-popup-RQkqhko4.js} +4 -4
  40. package/dist/chunks/{date-popup-BJPA_fBm.js.map → date-popup-RQkqhko4.js.map} +1 -1
  41. package/dist/chunks/{dialog-BLcP7v24.js → dialog-DQ9vZ7vr.js} +5 -5
  42. package/dist/chunks/{dialog-BLcP7v24.js.map → dialog-DQ9vZ7vr.js.map} +1 -1
  43. package/dist/chunks/{empty-YXmSkKzR.js → empty-DvhyMXQq.js} +2 -2
  44. package/dist/chunks/{empty-YXmSkKzR.js.map → empty-DvhyMXQq.js.map} +1 -1
  45. package/dist/chunks/{field-BZriODU7.js → field-TviMvYa2.js} +2 -2
  46. package/dist/chunks/{field-BZriODU7.js.map → field-TviMvYa2.js.map} +1 -1
  47. package/dist/chunks/{icon-BqujXDUc.js → icon-D7ja-_Yk.js} +2 -2
  48. package/dist/chunks/{icon-BqujXDUc.js.map → icon-D7ja-_Yk.js.map} +1 -1
  49. package/dist/chunks/{icon-button-DmKFxQbP.js → icon-button-CPYR21Sz.js} +3 -3
  50. package/dist/chunks/{icon-button-DmKFxQbP.js.map → icon-button-CPYR21Sz.js.map} +1 -1
  51. package/dist/chunks/{identity-Chj7fW89.js → identity-DPuTkMsa.js} +6 -6
  52. package/dist/chunks/{identity-Chj7fW89.js.map → identity-DPuTkMsa.js.map} +1 -1
  53. package/dist/chunks/{input-9y3afoiq.js → input-TyLIaQ5k.js} +5 -5
  54. package/dist/chunks/{input-9y3afoiq.js.map → input-TyLIaQ5k.js.map} +1 -1
  55. package/dist/chunks/{input-group-BoxjnN8I.js → input-group-CUSNsQjQ.js} +4 -4
  56. package/dist/chunks/{input-group-BoxjnN8I.js.map → input-group-CUSNsQjQ.js.map} +1 -1
  57. package/dist/chunks/{iso-field-DAa6iPWn.js → iso-field-CWbxlll-.js} +2 -2
  58. package/dist/chunks/{iso-field-DAa6iPWn.js.map → iso-field-CWbxlll-.js.map} +1 -1
  59. package/dist/chunks/{json-view-BkG2hTXV.js → json-view-Dqd2TDkc.js} +3 -3
  60. package/dist/chunks/{json-view-BkG2hTXV.js.map → json-view-Dqd2TDkc.js.map} +1 -1
  61. package/dist/chunks/{kbd-DqWmbr_e.js → kbd-BF1vKXJf.js} +2 -2
  62. package/dist/chunks/{kbd-DqWmbr_e.js.map → kbd-BF1vKXJf.js.map} +1 -1
  63. package/dist/chunks/{link-YMcxM-BZ.js → link-B2I55xg9.js} +3 -3
  64. package/dist/chunks/{link-YMcxM-BZ.js.map → link-B2I55xg9.js.map} +1 -1
  65. package/dist/chunks/{list-7VARol_x.js → list-CkOozrVY.js} +8 -8
  66. package/dist/chunks/{list-7VARol_x.js.map → list-CkOozrVY.js.map} +1 -1
  67. package/dist/chunks/{loader-ENBh2Fbt.js → loader-DCfPndXa.js} +2 -2
  68. package/dist/chunks/{loader-ENBh2Fbt.js.map → loader-DCfPndXa.js.map} +1 -1
  69. package/dist/chunks/{markdown-DBVNULWg.js → markdown-BEgwZFlu.js} +9 -9
  70. package/dist/chunks/{markdown-DBVNULWg.js.map → markdown-BEgwZFlu.js.map} +1 -1
  71. package/dist/chunks/{menu-Bnfi9P3t.js → menu-fl_QQb38.js} +4 -4
  72. package/dist/chunks/{menu-Bnfi9P3t.js.map → menu-fl_QQb38.js.map} +1 -1
  73. package/dist/chunks/{meter-DhTnem4k.js → meter-Bj4N3Xuh.js} +2 -2
  74. package/dist/chunks/{meter-DhTnem4k.js.map → meter-Bj4N3Xuh.js.map} +1 -1
  75. package/dist/chunks/{nav-sheet-D7wIF_OU.js → nav-sheet-B2rNb8GB.js} +2 -2
  76. package/dist/chunks/{nav-sheet-D7wIF_OU.js.map → nav-sheet-B2rNb8GB.js.map} +1 -1
  77. package/dist/chunks/{nav-wordmark-DmbT1Aiw.js → nav-wordmark-_pjheAsZ.js} +2 -2
  78. package/dist/chunks/{nav-wordmark-DmbT1Aiw.js.map → nav-wordmark-_pjheAsZ.js.map} +1 -1
  79. package/dist/chunks/{page-header-B3tV8Wog.js → page-header-DjUMDG69.js} +4 -4
  80. package/dist/chunks/{page-header-B3tV8Wog.js.map → page-header-DjUMDG69.js.map} +1 -1
  81. package/dist/chunks/{pagination-CLfsofo3.js → pagination-BaY8jdli.js} +4 -4
  82. package/dist/chunks/{pagination-CLfsofo3.js.map → pagination-BaY8jdli.js.map} +1 -1
  83. package/dist/chunks/{picker-popover-B5YdOxNm.js → picker-popover-DShea4b8.js} +7 -7
  84. package/dist/chunks/{picker-popover-B5YdOxNm.js.map → picker-popover-DShea4b8.js.map} +1 -1
  85. package/dist/chunks/{popover-bjxg020P.js → popover-CFMwaeIP.js} +2 -2
  86. package/dist/chunks/{popover-bjxg020P.js.map → popover-CFMwaeIP.js.map} +1 -1
  87. package/dist/chunks/{radio-DwYcXAzv.js → radio-Yl0nO-Sj.js} +2 -2
  88. package/dist/chunks/{radio-DwYcXAzv.js.map → radio-Yl0nO-Sj.js.map} +1 -1
  89. package/dist/chunks/{range-popup-ZunS8QSH.js → range-popup-CkhsK3wI.js} +6 -6
  90. package/dist/chunks/{range-popup-ZunS8QSH.js.map → range-popup-CkhsK3wI.js.map} +1 -1
  91. package/dist/chunks/{release-art-Ogl-L1Vh.js → release-art-ZwfFQImt.js} +2 -2
  92. package/dist/chunks/{release-art-Ogl-L1Vh.js.map → release-art-ZwfFQImt.js.map} +1 -1
  93. package/dist/chunks/{rights-CiIBzT9o.js → rights-BlQx9C_j.js} +9 -9
  94. package/dist/chunks/{rights-CiIBzT9o.js.map → rights-BlQx9C_j.js.map} +1 -1
  95. package/dist/chunks/scroll-area-D8MD7Vpo.js +42 -0
  96. package/dist/chunks/scroll-area-D8MD7Vpo.js.map +1 -0
  97. package/dist/chunks/{section-BsET7Fo-.js → section-Ce1efbsP.js} +3 -3
  98. package/dist/chunks/{section-BsET7Fo-.js.map → section-Ce1efbsP.js.map} +1 -1
  99. package/dist/chunks/{segmented-DxjnIuww.js → segmented-C97zvDR1.js} +4 -4
  100. package/dist/chunks/{segmented-DxjnIuww.js.map → segmented-C97zvDR1.js.map} +1 -1
  101. package/dist/chunks/{select-Bbv2f5F8.js → select-x4XVsdCI.js} +14 -14
  102. package/dist/chunks/select-x4XVsdCI.js.map +1 -0
  103. package/dist/chunks/{separator-CpAUELNs.js → separator-D7TzNHmX.js} +2 -2
  104. package/dist/chunks/{separator-CpAUELNs.js.map → separator-D7TzNHmX.js.map} +1 -1
  105. package/dist/chunks/{sidebar-ZSTPK9Jn.js → sidebar-DtFlejU7.js} +7 -7
  106. package/dist/chunks/{sidebar-ZSTPK9Jn.js.map → sidebar-DtFlejU7.js.map} +1 -1
  107. package/dist/chunks/{sidebar-menu-ct8IiL4z.js → sidebar-menu-CxQbGwyj.js} +2 -2
  108. package/dist/chunks/{sidebar-menu-ct8IiL4z.js.map → sidebar-menu-CxQbGwyj.js.map} +1 -1
  109. package/dist/chunks/{skeleton-BM797MAg.js → skeleton-Dcz57Zyp.js} +2 -2
  110. package/dist/chunks/{skeleton-BM797MAg.js.map → skeleton-Dcz57Zyp.js.map} +1 -1
  111. package/dist/chunks/{slider-Ds-tqY-1.js → slider-Ci83PGtj.js} +2 -2
  112. package/dist/chunks/{slider-Ds-tqY-1.js.map → slider-Ci83PGtj.js.map} +1 -1
  113. package/dist/chunks/{status-dot-BqVOlShY.js → status-dot-QJTF0Yv4.js} +3 -3
  114. package/dist/chunks/{status-dot-BqVOlShY.js.map → status-dot-QJTF0Yv4.js.map} +1 -1
  115. package/dist/chunks/{swap-text-Cica0pUr.js → swap-text-Dr0Irxz6.js} +2 -2
  116. package/dist/chunks/{swap-text-Cica0pUr.js.map → swap-text-Dr0Irxz6.js.map} +1 -1
  117. package/dist/chunks/{switch-Cq1OfeBr.js → switch-b-VkStWj.js} +5 -5
  118. package/dist/chunks/switch-b-VkStWj.js.map +1 -0
  119. package/dist/chunks/table-BeOSKl_3.js +84 -0
  120. package/dist/chunks/table-BeOSKl_3.js.map +1 -0
  121. package/dist/chunks/{tag-XgPXKoxi.js → tag-DNdX1XRR.js} +4 -4
  122. package/dist/chunks/{tag-XgPXKoxi.js.map → tag-DNdX1XRR.js.map} +1 -1
  123. package/dist/chunks/{text-IoDy3Vxi.js → text-DCGGNqTM.js} +3 -3
  124. package/dist/chunks/{text-IoDy3Vxi.js.map → text-DCGGNqTM.js.map} +1 -1
  125. package/dist/chunks/{textarea-jOiTkfMf.js → textarea-CT2S2JVM.js} +5 -5
  126. package/dist/chunks/{textarea-jOiTkfMf.js.map → textarea-CT2S2JVM.js.map} +1 -1
  127. package/dist/chunks/{timeseries-BBWsSM4Q.js → timeseries-B-8OfeZm.js} +3 -3
  128. package/dist/chunks/{timeseries-BBWsSM4Q.js.map → timeseries-B-8OfeZm.js.map} +1 -1
  129. package/dist/chunks/{toolbar-nVLFWH2i.js → toolbar-DL6zVrzU.js} +2 -2
  130. package/dist/chunks/{toolbar-nVLFWH2i.js.map → toolbar-DL6zVrzU.js.map} +1 -1
  131. package/dist/chunks/{tooltip-CTBnfiDH.js → tooltip-BMQ9BtPp.js} +4 -4
  132. package/dist/chunks/{tooltip-CTBnfiDH.js.map → tooltip-BMQ9BtPp.js.map} +1 -1
  133. package/dist/chunks/{tooltip-root-B0zWodAJ.js → tooltip-root-BeAMXzxU.js} +4 -4
  134. package/dist/chunks/{tooltip-root-B0zWodAJ.js.map → tooltip-root-BeAMXzxU.js.map} +1 -1
  135. package/dist/components/app-frame.js +2 -2
  136. package/dist/components/avatar.js +1 -1
  137. package/dist/components/badge.js +1 -1
  138. package/dist/components/banner.js +1 -1
  139. package/dist/components/button-group.js +4 -4
  140. package/dist/components/button.js +1 -1
  141. package/dist/components/calendar.js +1 -1
  142. package/dist/components/charts/bar.js +2 -2
  143. package/dist/components/charts/donut.js +2 -2
  144. package/dist/components/charts/gauge.js +2 -2
  145. package/dist/components/charts/heatmap.js +1 -1
  146. package/dist/components/charts/sankey.js +2 -2
  147. package/dist/components/charts/sparkline.js +1 -1
  148. package/dist/components/charts/timeseries.js +1 -1
  149. package/dist/components/charts.js +2 -2
  150. package/dist/components/checkbox.js +1 -1
  151. package/dist/components/code-block.js +2 -2
  152. package/dist/components/code.js +1 -1
  153. package/dist/components/collapsible.js +1 -1
  154. package/dist/components/combobox.js +1 -1
  155. package/dist/components/command-list.js +2 -2
  156. package/dist/components/command-palette.js +32 -31
  157. package/dist/components/command-palette.js.map +1 -1
  158. package/dist/components/copy-button.js +1 -1
  159. package/dist/components/data-table.js +14 -14
  160. package/dist/components/data-table.js.map +1 -1
  161. package/dist/components/date-picker.js +7 -7
  162. package/dist/components/date-picker.js.map +1 -1
  163. package/dist/components/dialog.js +2 -2
  164. package/dist/components/display-options.js +8 -8
  165. package/dist/components/empty.js +1 -1
  166. package/dist/components/field.js +1 -1
  167. package/dist/components/figure.js +60 -0
  168. package/dist/components/figure.js.map +1 -0
  169. package/dist/components/filter-chip.js +5 -5
  170. package/dist/components/filter-row.js +1 -1
  171. package/dist/components/flow.js +2 -2
  172. package/dist/components/heading.js +1 -1
  173. package/dist/components/icon-button.js +1 -1
  174. package/dist/components/icon.js +1 -1
  175. package/dist/components/input.js +7 -7
  176. package/dist/components/kaeso/conversation.js +8 -8
  177. package/dist/components/kaeso/identity.js +1 -1
  178. package/dist/components/kaeso/moments.js +5 -5
  179. package/dist/components/kaeso/rights.js +1 -1
  180. package/dist/components/kaeso/usage.js +5 -5
  181. package/dist/components/kaeso.js +10 -10
  182. package/dist/components/kbd.js +1 -1
  183. package/dist/components/key-value.js +3 -3
  184. package/dist/components/label.js +1 -1
  185. package/dist/components/layout.js +1 -1
  186. package/dist/components/link.js +1 -1
  187. package/dist/components/list.js +1 -1
  188. package/dist/components/loader.js +2 -2
  189. package/dist/components/logo.js +2 -2
  190. package/dist/components/markdown.js +1 -1
  191. package/dist/components/menu.js +1 -1
  192. package/dist/components/meter.js +1 -1
  193. package/dist/components/page-header.js +1 -1
  194. package/dist/components/pagination.js +1 -1
  195. package/dist/components/playground.js +16 -16
  196. package/dist/components/popover.js +2 -2
  197. package/dist/components/qr-code.js +2 -2
  198. package/dist/components/qr-code.js.map +1 -1
  199. package/dist/components/radio.js +1 -1
  200. package/dist/components/release-art.js +1 -1
  201. package/dist/components/scroll-area.js +1 -41
  202. package/dist/components/section.js +1 -1
  203. package/dist/components/segmented.js +1 -1
  204. package/dist/components/select.js +1 -1
  205. package/dist/components/separator.js +1 -1
  206. package/dist/components/settings.js +5 -4
  207. package/dist/components/settings.js.map +1 -1
  208. package/dist/components/sheet.js +4 -4
  209. package/dist/components/sheet.js.map +1 -1
  210. package/dist/components/sidebar.js +1 -1
  211. package/dist/components/skeleton.js +1 -1
  212. package/dist/components/slider.js +1 -1
  213. package/dist/components/stat.js +3 -3
  214. package/dist/components/status-dot.js +1 -1
  215. package/dist/components/surface.js +1 -1
  216. package/dist/components/swap-text.js +1 -1
  217. package/dist/components/switch.js +1 -1
  218. package/dist/components/table.js +1 -1
  219. package/dist/components/tabs.js +2 -2
  220. package/dist/components/tag.js +1 -1
  221. package/dist/components/text.js +1 -1
  222. package/dist/components/theme-image.js +1 -1
  223. package/dist/components/theme-menu.js +2 -2
  224. package/dist/components/theme-select.js +1 -1
  225. package/dist/components/timeline.js +1 -1
  226. package/dist/components/toast.js +4 -4
  227. package/dist/components/toc.js +37 -22
  228. package/dist/components/toc.js.map +1 -1
  229. package/dist/components/toolbar.js +1 -1
  230. package/dist/components/tooltip.js +1 -1
  231. package/dist/components/visually-hidden.js +1 -1
  232. package/dist/index.js +88 -86
  233. package/dist/kaeso.css +45 -0
  234. package/dist/styles.css +1 -1
  235. package/dist/types/blocks/delete-resource/delete-resource.d.ts +1 -1
  236. package/dist/types/blocks/pages/pages.d.ts +3 -3
  237. package/dist/types/blocks/resource-list/resource-list.d.ts +1 -1
  238. package/dist/types/components/app-frame/app-frame.d.ts +1 -1
  239. package/dist/types/components/app-frame/nav-sheet.d.ts +1 -1
  240. package/dist/types/components/button/button.d.ts +6 -6
  241. package/dist/types/components/calendar/calendar.d.ts +1 -1
  242. package/dist/types/components/charts/core.d.ts +5 -5
  243. package/dist/types/components/code-block/code-block.d.ts +1 -1
  244. package/dist/types/components/code-block/indent.d.ts +3 -0
  245. package/dist/types/components/combobox/combobox.d.ts +1 -1
  246. package/dist/types/components/command-list/command-list.d.ts +1 -0
  247. package/dist/types/components/command-list/docs.d.ts +1 -0
  248. package/dist/types/components/command-list/picker-popover.d.ts +1 -1
  249. package/dist/types/components/command-palette/command-palette.d.ts +2 -1
  250. package/dist/types/components/command-palette/docs.d.ts +1 -0
  251. package/dist/types/components/data-table/data-table.d.ts +1 -1
  252. package/dist/types/components/date-picker/date-popup.d.ts +1 -1
  253. package/dist/types/components/date-picker/iso-field.d.ts +1 -1
  254. package/dist/types/components/date-picker/range-popup.d.ts +1 -1
  255. package/dist/types/components/dialog/dialog.d.ts +3 -3
  256. package/dist/types/components/dialog/scope.d.ts +1 -1
  257. package/dist/types/components/dialog/step-dialog.d.ts +1 -1
  258. package/dist/types/components/display-options/display-options.d.ts +1 -1
  259. package/dist/types/components/field/field.d.ts +1 -1
  260. package/dist/types/components/figure/docs.d.ts +12 -0
  261. package/dist/types/components/figure/figure.d.ts +25 -0
  262. package/dist/types/components/figure/index.d.ts +1 -0
  263. package/dist/types/components/list/list.d.ts +1 -1
  264. package/dist/types/components/list/row-checkbox.d.ts +1 -1
  265. package/dist/types/components/list/virtual-rows.d.ts +1 -1
  266. package/dist/types/components/menu/menu.d.ts +8 -8
  267. package/dist/types/components/playground/model-picker.d.ts +3 -3
  268. package/dist/types/components/playground/parameter-panel.d.ts +1 -1
  269. package/dist/types/components/popover/hover-card.d.ts +2 -2
  270. package/dist/types/components/popover/popover-root.d.ts +3 -3
  271. package/dist/types/components/radio/radio.d.ts +1 -1
  272. package/dist/types/components/select/option-checkbox.d.ts +1 -1
  273. package/dist/types/components/select/select.d.ts +4 -4
  274. package/dist/types/components/sheet/sheet.d.ts +4 -4
  275. package/dist/types/components/sidebar/sidebar-menu.d.ts +1 -1
  276. package/dist/types/components/sidebar/sidebar.d.ts +7 -7
  277. package/dist/types/components/table/docs.d.ts +3 -1
  278. package/dist/types/components/table/table.d.ts +18 -1
  279. package/dist/types/components/theme-menu/theme-menu.d.ts +1 -1
  280. package/dist/types/components/toast/toast.d.ts +3 -3
  281. package/dist/types/components/toolbar/toolbar.d.ts +1 -1
  282. package/dist/types/components/tooltip/tooltip-provider.d.ts +1 -1
  283. package/dist/types/components/tooltip/tooltip-root.d.ts +1 -1
  284. package/dist/types/components/tooltip/tooltip.d.ts +2 -2
  285. package/dist/types/hooks/use-scroll-fade.d.ts +2 -0
  286. package/dist/types/i18n/provider.d.ts +1 -1
  287. package/dist/types/index.d.ts +1 -0
  288. package/dist/types/theme/theme-provider.d.ts +1 -1
  289. package/dist/types/utils/cn.d.ts +7 -0
  290. package/dist/types/utils/inset.d.ts +2 -2
  291. package/dist/types/utils/link-provider.d.ts +1 -1
  292. package/dist/types/utils/portal-context.d.ts +1 -1
  293. package/dist/utils.js +1 -1
  294. package/foundations/color.md +1 -0
  295. package/package.json +8 -8
  296. package/dist/chunks/button-h2IFCER2.js.map +0 -1
  297. package/dist/chunks/cn-DUDmdLpZ.js.map +0 -1
  298. package/dist/chunks/code-block-BU8gYeZQ.js +0 -280
  299. package/dist/chunks/code-block-BU8gYeZQ.js.map +0 -1
  300. package/dist/chunks/collapsible-CDQq1Y9x.js.map +0 -1
  301. package/dist/chunks/command-list-DZMVrXWD.js.map +0 -1
  302. package/dist/chunks/copy-button-CXJ7fA9z.js +0 -109
  303. package/dist/chunks/copy-button-CXJ7fA9z.js.map +0 -1
  304. package/dist/chunks/core-Bu6iq5uh.js.map +0 -1
  305. package/dist/chunks/select-Bbv2f5F8.js.map +0 -1
  306. package/dist/chunks/switch-Cq1OfeBr.js.map +0 -1
  307. package/dist/chunks/table-D-36EM7f.js +0 -67
  308. package/dist/chunks/table-D-36EM7f.js.map +0 -1
  309. package/dist/components/scroll-area.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"app-frame-Cj_gCbmu.js","names":["__icon_SidebarLeftIcon","cn","InsetContent","GutterContent","useUiText","useLazyModule","lazyModule","buttonClasses","IconButton","useSidebar","BrandWordmark","whenIdle","KAESO_APP_FRAME_VARIANTS","KAESO_APP_FRAME_DEFAULT_VARIANTS","Ctx","useAppFrame","useContext","Root","navOpen","setNavOpen","useState","toggle","useRef","sheetReady","mainId","useId","Main","fill","frame","useMemo","className","SkipLink","sidebar","PhoneBar","brandHref","brandLabel","phoneActions","o","corner","FrameSheet","t","target","main","Bar","banner","actions","toggleRef","SidebarLeftIcon","open","onToggle","PEEK_DELAY","navSheet","n","idle","setIdle","dismiss","useCallback","setPeeking","NavSheet","peeking","pending","useLayoutEffect","usePendingDismiss","doc","onKeyDown","onPointerDown","MenuButton","intent","wide","collapsed","setCollapsed","openNav","KAESO_APP_FRAME_BODY_VARIANTS","KAESO_APP_FRAME_BODY_DEFAULT_VARIANTS","Body","props","padding","Settings","title","description","AppFrame"],"sources":["../../src/components/app-frame/app-frame.tsx"],"sourcesContent":["import {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useId,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n type HTMLAttributes,\n type ReactNode,\n type RefObject,\n} from \"react\";\nimport { GutterContent, InsetContent } from \"../../utils/inset.js\";\nimport { cn } from \"../../utils/cn.js\";\nimport { SidebarLeftIcon as __icon_SidebarLeftIcon } from \"@hugeicons/core-free-icons\";\nimport { IconButton } from \"../icon-button/icon-button.js\";\nimport { buttonClasses } from \"../button/button.js\";\nimport { useSidebar, BrandWordmark } from \"../sidebar/sidebar.js\";\nimport { lazyModule, useLazyModule } from \"../../utils/lazy-module.js\";\nimport { whenIdle } from \"../../utils/when-idle.js\";\nimport { useUiText } from \"../../i18n/context.js\";\n\nexport const KAESO_APP_FRAME_VARIANTS = {\n fill: {\n screen: { classes: \"h-dvh\" },\n parent: { classes: \"h-full\" },\n },\n} as const;\nexport const KAESO_APP_FRAME_DEFAULT_VARIANTS = { fill: \"screen\" } as const;\n\nconst Ctx = /* @__PURE__ */ createContext<{ openNav: () => void; embedded: boolean; sheetReady: RefObject<boolean> }>({\n openNav: () => undefined,\n embedded: false,\n sheetReady: { current: false },\n});\nexport const useAppFrame = () => useContext(Ctx);\n\nexport interface AppFrameProps {\n sidebar: ReactNode;\n children: ReactNode;\n corner?: ReactNode | undefined;\n fill?: keyof typeof KAESO_APP_FRAME_VARIANTS.fill | undefined;\n brandHref?: string | undefined;\n brandLabel?: string | undefined;\n phoneActions?: ReactNode | undefined;\n className?: string | undefined;\n}\n\nconst Root = /* @__PURE__ */ forwardRef<HTMLDivElement, AppFrameProps>(function AppFrame(\n { sidebar, children, corner, fill = \"screen\", brandHref, brandLabel, phoneActions, className },\n ref,\n) {\n const [navOpen, setNavOpen] = useState(false);\n const toggle = useRef<HTMLButtonElement | null>(null);\n const sheetReady = useRef(false);\n const mainId = `k-main-${useId().replace(/[^\\w-]/g, \"\")}`;\n const Main = fill === \"screen\" ? \"main\" : \"div\";\n const frame = useMemo(() => ({ openNav: () => setNavOpen(true), embedded: fill === \"parent\", sheetReady }), [fill]);\n return (\n <Ctx.Provider value={frame}>\n <div\n ref={ref}\n className={cn(\n \"relative isolate flex w-full flex-col overflow-hidden bg-chrome text-fg lg:flex-row\",\n KAESO_APP_FRAME_VARIANTS.fill[fill].classes,\n className,\n )}\n >\n <SkipLink target={mainId} />\n <div className=\"hidden h-full lg:flex\">{sidebar}</div>\n <PhoneBar\n banner={fill === \"screen\"}\n href={brandHref}\n label={brandLabel}\n actions={phoneActions}\n open={navOpen}\n onToggle={() => setNavOpen((o) => !o)}\n toggleRef={toggle}\n />\n <Main\n id={mainId}\n className=\"relative flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden bg-panel outline-none safe-area-panel lg:my-8 lg:mr-8 lg:rounded-panel lg:shadow-panel\"\n >\n {children}\n </Main>\n {corner && <div className=\"fixed right-16 bottom-16 z-10 flex items-center gap-8\">{corner}</div>}\n </div>\n <FrameSheet navOpen={navOpen} setNavOpen={setNavOpen} toggle={toggle} ready={sheetReady}>\n {sidebar}\n </FrameSheet>\n </Ctx.Provider>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Root.displayName = \"AppFrame\";\n\nfunction SkipLink({ target }: { target: string }) {\n const t = useUiText();\n return (\n <a\n href={`#${target}`}\n onClick={(e) => {\n const main = document.getElementById(target);\n if (!main) return;\n e.preventDefault();\n main.setAttribute(\"tabindex\", \"-1\");\n main.addEventListener(\"blur\", () => main.removeAttribute(\"tabindex\"), { once: true });\n main.focus();\n }}\n className={cn(buttonClasses({ size: \"sm\" }), \"absolute top-8 left-8 z-50 not-focus:sr-only\")}\n >\n {t(\"appFrame.skipToContent\", \"Skip to content\")}\n </a>\n );\n}\nif (process.env.NODE_ENV !== \"production\") SkipLink.displayName = \"AppFrame.SkipLink\";\n\nfunction PhoneBar({\n banner,\n href,\n label,\n actions,\n open,\n onToggle,\n toggleRef,\n}: {\n banner: boolean;\n href: string | undefined;\n label: string | undefined;\n actions: ReactNode;\n open: boolean;\n onToggle: () => void;\n toggleRef: RefObject<HTMLButtonElement | null>;\n}) {\n const Bar = banner ? \"header\" : \"div\";\n const t = useUiText();\n return (\n <Bar data-phone-bar=\"\" className=\"shrink-0 bg-panel safe-area-bar lg:hidden\">\n <div className=\"mt-8 flex h-52 items-center justify-between px-24\">\n <BrandWordmark href={href} label={label} />\n <span className=\"flex items-center\">\n {actions}\n <IconButton\n ref={toggleRef}\n icon={__icon_SidebarLeftIcon}\n aria-label={t(\"appFrame.openNavigation\", \"Open navigation\")}\n aria-haspopup=\"dialog\"\n aria-expanded={open}\n tooltip={false}\n onClick={onToggle}\n />\n </span>\n </div>\n </Bar>\n );\n}\nif (process.env.NODE_ENV !== \"production\") PhoneBar.displayName = \"AppFrame.PhoneBar\";\n\nexport const PEEK_DELAY = 750;\n\nconst navSheet = /* @__PURE__ */ lazyModule(() => import(\"./nav-sheet.js\"), { base: () => import.meta.url });\n\nfunction FrameSheet({\n navOpen,\n setNavOpen,\n toggle,\n ready,\n children,\n}: {\n navOpen: boolean;\n setNavOpen: (o: boolean) => void;\n toggle: RefObject<HTMLElement | null>;\n ready: RefObject<boolean>;\n children: ReactNode;\n}) {\n const { peeking, setPeeking } = useSidebar();\n const [idle, setIdle] = useState(false);\n useEffect(() => whenIdle(() => setIdle(true)), []);\n const dismiss = useCallback(() => {\n setNavOpen(false);\n setPeeking(false);\n }, [setNavOpen, setPeeking]);\n const NavSheet = useLazyModule(navSheet, idle || navOpen || peeking, () => {\n setIdle(false);\n dismiss();\n })?.NavSheet;\n const pending = (navOpen || peeking) && !NavSheet;\n useLayoutEffect(() => {\n ready.current = !!NavSheet;\n });\n usePendingDismiss(pending, toggle, dismiss);\n if (!NavSheet) return null;\n return (\n <NavSheet\n open={navOpen || peeking}\n peek={peeking && !navOpen}\n {...(navOpen ? { returnFocus: toggle } : {})}\n onOpenChange={(o) => {\n if (!o) dismiss();\n }}\n >\n {children}\n </NavSheet>\n );\n}\n\nfunction usePendingDismiss(pending: boolean, toggle: RefObject<HTMLElement | null>, dismiss: () => void) {\n useEffect(() => {\n if (!pending) return;\n const doc = toggle.current?.ownerDocument ?? document;\n const onKeyDown = (e: KeyboardEvent) => {\n if (e.key !== \"Escape\") return;\n e.stopPropagation();\n dismiss();\n };\n const onPointerDown = (e: PointerEvent) => {\n if (!toggle.current?.contains(e.target as Node)) dismiss();\n };\n doc.addEventListener(\"keydown\", onKeyDown, true);\n doc.addEventListener(\"pointerdown\", onPointerDown, true);\n return () => {\n doc.removeEventListener(\"keydown\", onKeyDown, true);\n doc.removeEventListener(\"pointerdown\", onPointerDown, true);\n };\n }, [pending, toggle, dismiss]);\n}\n\nfunction MenuButton({ className }: { className?: string | undefined }) {\n const { openNav, sheetReady } = useAppFrame();\n const { collapsed, setCollapsed, setPeeking } = useSidebar();\n const intent = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n useEffect(() => () => clearTimeout(intent.current), []);\n const t = useUiText();\n const wide = () => typeof window !== \"undefined\" && window.matchMedia(\"(min-width: 1024px)\").matches;\n return (\n <IconButton\n onPointerEnter={() => {\n if (collapsed && wide()) intent.current = setTimeout(() => setPeeking(true), PEEK_DELAY);\n }}\n onPointerLeave={() => {\n clearTimeout(intent.current);\n if (!sheetReady.current) setPeeking(false);\n }}\n icon={__icon_SidebarLeftIcon}\n data-sidebar-expand=\"\"\n aria-label={collapsed ? t(\"appFrame.expandSidebar\", \"Expand sidebar\") : t(\"appFrame.openNavigation\", \"Open navigation\")}\n shortcut={collapsed ? [\"[\"] : undefined}\n onClick={() => {\n clearTimeout(intent.current);\n if (collapsed && wide()) setCollapsed(false);\n else openNav();\n }}\n className={cn(\"hidden\", collapsed && \"lg:inline-flex\", className)}\n />\n );\n}\nif (process.env.NODE_ENV !== \"production\") MenuButton.displayName = \"AppFrame.MenuButton\";\n\nexport const KAESO_APP_FRAME_BODY_VARIANTS = {\n padding: {\n none: { classes: \"\" },\n list: { classes: \"pt-8 pb-24\" },\n page: { classes: \"px-24 pt-16 pb-48\" },\n },\n} as const;\nexport const KAESO_APP_FRAME_BODY_DEFAULT_VARIANTS = { padding: \"none\" } as const;\n\nexport interface AppFrameBodyProps extends HTMLAttributes<HTMLDivElement> {\n padding?: keyof typeof KAESO_APP_FRAME_BODY_VARIANTS.padding | undefined;\n}\n\nconst Body = /* @__PURE__ */ forwardRef<HTMLDivElement, AppFrameBodyProps>(function AppFrameBody({ className, padding = \"none\", children, ...props }, ref) {\n return (\n <div\n ref={ref}\n className={cn(\"min-h-0 flex-1 overflow-y-auto overscroll-contain scrollbar-quiet\", KAESO_APP_FRAME_BODY_VARIANTS.padding[padding].classes, className)}\n {...props}\n >\n <GutterContent padded={padding === \"page\"}>{children}</GutterContent>\n </div>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Body.displayName = \"AppFrame.Body\";\n\nexport interface SettingsPageProps extends Omit<HTMLAttributes<HTMLDivElement>, \"title\"> {\n title: ReactNode;\n description?: ReactNode | undefined;\n actions?: ReactNode | undefined;\n}\n\nconst Settings = /* @__PURE__ */ forwardRef<HTMLDivElement, SettingsPageProps>(function AppFrameSettings({ title, description, actions, className, children, ...props }, ref) {\n return (\n <Body ref={ref} className=\"relative\">\n <MenuButton className=\"absolute top-10 left-24 z-10\" />\n <div className={cn(\"mx-auto w-full max-w-settings px-24 pt-64 pb-96\", className)} {...props}>\n <header className=\"flex flex-col gap-8\">\n <div className=\"flex items-start justify-between gap-16\">\n <h1 className=\"min-w-0 text-title-lg font-semibold text-fg text-balance\">{title}</h1>\n {actions && <div className=\"flex h-34 shrink-0 items-center gap-8\">{actions}</div>}\n </div>\n {description && <p className=\"text-body-lg font-regular text-fg-secondary\">{description}</p>}\n </header>\n <div className=\"mt-8\">\n <InsetContent>\n <GutterContent>{children}</GutterContent>\n </InsetContent>\n </div>\n </div>\n </Body>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Settings.displayName = \"AppFrame.Settings\";\n\nexport const AppFrame = /* @__PURE__ */ Object.assign(Root, { MenuButton, Body, Settings });\n"],"mappings":";;;;;;;;;;;;;AAyBA,IAAaY,IAA2B,EACtC,MAAM;CACJ,QAAQ,EAAE,SAAS,QAAQ;CAC3B,QAAQ,EAAE,SAAS,SAAS;AAC9B,EACF,GACaC,IAAmC,EAAE,MAAM,SAAS,GAE3DC,IAAsB,kBAA0F;CACpH,eAAe,KAAA;CACf,UAAU;CACV,YAAY,EAAE,SAAS,GAAM;AAC/B,CAAC,GACYC,UAAoBC,EAAWF,CAAG,GAazCG,IAAuB,kBAA0C,SACrE,EAAE,YAAS,aAAU,WAAQ,UAAO,UAAU,cAAW,eAAY,iBAAc,gBACnF,GACA;CACA,IAAM,CAACC,GAASC,KAAcC,EAAS,EAAK,GACtCC,IAASC,EAAiC,IAAI,GAC9CC,IAAaD,EAAO,EAAK,GACzBE,IAAS,UAAUC,EAAM,CAAC,CAAC,QAAQ,WAAW,EAAE,KAChDC,IAAOC,MAAS,WAAW,SAAS,OACpCC,IAAQC,SAAe;EAAE,eAAeV,EAAW,EAAI;EAAG,UAAUQ,MAAS;EAAU;CAAW,IAAI,CAACA,CAAI,CAAC;CAClH,OACE,kBAACb,EAAI,UAAL;EAAc,OAAOc;EAArB,UAAA,CACE,kBAAC,OAAD;GACO;GACL,WAAW3B,EACT,uFACAW,EAAyB,KAAKe,EAAK,CAAC,SACpCG,CACF;GANF,UAAA;IAQE,kBAACC,GAAD,EAAU,QAAQP,EAAS,CAAA;IAC3B,kBAAC,OAAD;KAAK,WAAU;KAAyB,UAAAQ;IAAa,CAAA;IACrD,kBAACC,GAAD;KACE,QAAQN,MAAS;KACjB,MAAMO;KACN,OAAOC;KACP,SAASC;KACT,MAAMlB;KACN,gBAAgBC,GAAY,MAAM,CAACkB,CAAC;KACpC,WAAWhB;IACZ,CAAA;IACD,kBAACK,GAAD;KACE,IAAIF;KACJ,WAAU;KAET;IACG,CAAA;IACLc,KAAU,kBAAC,OAAD;KAAK,WAAU;KAAyD,UAAAA;IAAY,CAAA;GAC5F;EACL,CAAA,GAAA,kBAACC,GAAD;GAAqB;GAAqB;GAAoB;GAAQ,OAAOhB;GAC1E,UAAAS;EACS,CAAA,CACA;;AAElB,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAK,cAAc;AAE9D,SAASD,EAAS,EAAE,aAA8B;CAChD,IAAMS,IAAIpC,EAAU;CACpB,OACE,kBAAC,KAAD;EACE,MAAM,IAAIqC;EACV,UAAU,MAAM;GACd,IAAMC,IAAO,SAAS,eAAeD,CAAM;GAC3C,AAAKC,MACL,EAAE,eAAe,GACjBA,EAAK,aAAa,YAAY,IAAI,GAClCA,EAAK,iBAAiB,cAAcA,EAAK,gBAAgB,UAAU,GAAG,EAAE,MAAM,GAAK,CAAC,GACpFA,EAAK,MAAM;EACb;EACA,WAAWzC,EAAGM,EAAc,EAAE,MAAM,KAAK,CAAC,GAAG,8CAA8C;EAE1F,UAAAiC,EAAE,0BAA0B,iBAAiB;CAC7C,CAAA;AAEP;AACA,QAAA,IAAA,aAA6B,iBAAc,EAAS,cAAc;AAElE,SAASP,EAAS,EAChB,WACA,SACA,UACA,YACA,SACA,aACA,gBASC;CACD,IAAMU,IAAMC,IAAS,WAAW,OAC1BJ,IAAIpC,EAAU;CACpB,OACE,kBAACuC,GAAD;EAAK,kBAAe;EAAG,WAAU;EAC/B,UAAA,kBAAC,OAAD;GAAK,WAAU;GAAf,UAAA,CACE,kBAACjC,GAAD;IAAqB;IAAa;GAAQ,CAAA,GAC1C,kBAAC,QAAD;IAAM,WAAU;IAAhB,UAAA,CACGmC,GACD,kBAACrC,GAAD;KACE,KAAKsC;KACL,MAAM9C;KACN,cAAYwC,EAAE,2BAA2B,iBAAiB;KAC1D,iBAAc;KACd,iBAAeQ;KACf,SAAS;KACT,SAASC;IACV,CAAA,CACG;GACH,CAAA,CAAA;;CACF,CAAA;AAET;AACA,QAAA,IAAA,aAA6B,iBAAc,EAAS,cAAc;AAElE,IAAaC,IAAa,KAEpBC,IAA2B,wBAAiB,OAAO,0BAAA,CAAA,MAAA,MAAAC,EAAA,CAAA,GAAmB,EAAE,YAAY,YAAY,IAAI,CAAC;AAE3G,SAASb,EAAW,EAClB,YACA,eACA,WACA,UACA,eAOC;CACD,IAAM,EAAE,YAAS,kBAAe9B,EAAW,GACrC,CAAC4C,GAAMC,KAAWlC,EAAS,EAAK;CACtC,QAAgBT,QAAe2C,EAAQ,EAAI,CAAC,GAAG,CAAC,CAAC;CACjD,IAAMC,IAAUC,QAAkB;EAEhC,AADArC,EAAW,EAAK,GAChBsC,EAAW,EAAK;CAClB,GAAG,CAACtC,GAAYsC,CAAU,CAAC,GACrBC,IAAWrD,EAAc8C,GAAUE,KAAQnC,KAAWyC,SAAe;EAEzE,AADAL,EAAQ,EAAK,GACbC,EAAQ;CACV,CAAC,CAAC,EAAE,UACEK,KAAW1C,KAAWyC,MAAY,CAACD;CAMzC,OALAG,QAAsB;EACpB,EAAM,UAAU,CAAC,CAACH;CACpB,CAAC,GACDI,EAAkBF,GAASvC,GAAQkC,CAAO,GACrCG,IAEH,kBAACA,GAAD;EACE,MAAMxC,KAAWyC;EACjB,MAAMA,KAAW,CAACzC;EAClB,GAAKA,IAAU,EAAE,aAAaG,EAAO,IAAI,CAAC;EAC1C,eAAe,MAAM;GACnB,AAAKgB,KAAGkB,EAAQ;EAClB;EAEC;CACO,CAAA,IAXU;AAaxB;AAEA,SAASO,EAAkB,GAAkB,GAAuC,GAAqB;CACvG,QAAgB;EACd,IAAI,CAACF,GAAS;EACd,IAAMG,IAAM1C,EAAO,SAAS,iBAAiB,UACvC2C,KAAa,MAAqB;GACtC,AAAI,EAAE,QAAQ,aACd,EAAE,gBAAgB,GAClBT,EAAQ;EACV,GACMU,KAAiB,MAAoB;GACzC,AAAK5C,EAAO,SAAS,SAAS,EAAE,MAAc,KAAGkC,EAAQ;EAC3D;EAGA,OAFAQ,EAAI,iBAAiB,WAAWC,GAAW,EAAI,GAC/CD,EAAI,iBAAiB,eAAeE,GAAe,EAAI,SAC1C;GAEX,AADAF,EAAI,oBAAoB,WAAWC,GAAW,EAAI,GAClDD,EAAI,oBAAoB,eAAeE,GAAe,EAAI;EAC5D;CACF,GAAG;EAACL;EAASvC;EAAQkC;CAAO,CAAC;AAC/B;AAEA,SAASW,EAAW,EAAE,gBAAiD;CACrE,IAAM,EAAE,YAAS,kBAAenD,EAAY,GACtC,EAAE,cAAW,iBAAc,kBAAeN,EAAW,GACrD0D,IAAS7C,EAAkD,KAAA,CAAS;CAC1E,cAAsB,aAAa6C,EAAO,OAAO,GAAG,CAAC,CAAC;CACtD,IAAM3B,IAAIpC,EAAU,GACdgE,UAAa,OAAO,SAAW,OAAe,OAAO,WAAW,qBAAqB,CAAC,CAAC;CAC7F,OACE,kBAAC5D,GAAD;EACE,sBAAsB;GACpB,AAAI6D,KAAaD,EAAK,MAAG,EAAO,UAAU,iBAAiBX,EAAW,EAAI,GAAA,GAAa;EACzF;EACA,sBAAsB;GAEpB,AADA,aAAaU,EAAO,OAAO,GACtB5C,EAAW,WAASkC,EAAW,EAAK;EAC3C;EACA,MAAMzD;EACN,uBAAoB;EACpB,cAAYqE,IAAY7B,EAAE,0BAA0B,gBAAgB,IAAIA,EAAE,2BAA2B,iBAAiB;EACtH,UAAU6B,IAAY,CAAC,GAAG,IAAI,KAAA;EAC9B,eAAe;GAEb,AADA,aAAaF,EAAO,OAAO,GACvBE,KAAaD,EAAK,IAAGE,EAAa,EAAK,IACtCC,EAAQ;EACf;EACA,WAAWtE,EAAG,UAAUoE,KAAa,kBAAkBvC,CAAS;CACjE,CAAA;AAEL;AACA,QAAA,IAAA,aAA6B,iBAAc,EAAW,cAAc;AAEpE,IAAa0C,IAAgC,EAC3C,SAAS;CACP,MAAM,EAAE,SAAS,GAAG;CACpB,MAAM,EAAE,SAAS,aAAa;CAC9B,MAAM,EAAE,SAAS,oBAAoB;AACvC,EACF,GACaC,IAAwC,EAAE,SAAS,OAAO,GAMjEC,IAAuB,kBAA8C,SAAsB,EAAE,cAAW,aAAU,QAAQ,aAAU,GAAGC,KAAS,GAAK;CACzJ,OACE,kBAAC,OAAD;EACO;EACL,WAAW1E,EAAG,qEAAqEuE,EAA8B,QAAQI,EAAQ,CAAC,SAAS9C,CAAS;EACpJ,GAAI6C;EAEJ,UAAA,kBAACxE,GAAD;GAAe,QAAQyE,MAAY;GAAS;EAAwB,CAAA;CACjE,CAAA;AAET,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAK,cAAc;AAQ9D,IAAMC,IAA2B,kBAA8C,SAA0B,EAAE,UAAO,gBAAa,YAAS,cAAW,aAAU,GAAGF,KAAS,GAAK;CAC5K,OACE,kBAACD,GAAD;EAAW;EAAK,WAAU;EAA1B,UAAA,CACE,kBAACR,GAAD,EAAY,WAAU,+BAAgC,CAAA,GACtD,kBAAC,OAAD;GAAK,WAAWjE,EAAG,mDAAmD6B,CAAS;GAAG,GAAI6C;GAAtF,UAAA,CACE,kBAAC,UAAD;IAAQ,WAAU;IAAlB,UAAA,CACE,kBAAC,OAAD;KAAK,WAAU;KAAf,UAAA,CACE,kBAAC,MAAD;MAAI,WAAU;MAA4D,UAAAG;KAAU,CAAA,GACnFjC,KAAW,kBAAC,OAAD;MAAK,WAAU;MAAyC,UAAAA;KAAa,CAAA,CAC9E;IACJ,CAAA,GAAAkC,KAAe,kBAAC,KAAD;KAAG,WAAU;KAA+C,UAAAA;IAAe,CAAA,CACrF;GACR,CAAA,GAAA,kBAAC,OAAD;IAAK,WAAU;IACb,UAAA,kBAAC7E,GAAD,EAAA,UACE,kBAACC,GAAD,EAAgB,YAAwB,CAAA,EAC5B,CAAA;GACX,CAAA,CACF;EACD,CAAA,CAAA;;AAEV,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAS,cAAc;AAElE,IAAa6E,IAA2B,uBAAO,OAAO/D,GAAM;CAAE;CAAY;CAAM;AAAS,CAAC"}
1
+ {"version":3,"file":"app-frame-C8csevkL.js","names":["__icon_SidebarLeftIcon","cn","InsetContent","GutterContent","useUiText","useLazyModule","lazyModule","buttonClasses","IconButton","useSidebar","BrandWordmark","whenIdle","KAESO_APP_FRAME_VARIANTS","KAESO_APP_FRAME_DEFAULT_VARIANTS","Ctx","useAppFrame","useContext","Root","navOpen","setNavOpen","useState","toggle","useRef","sheetReady","mainId","useId","Main","fill","frame","useMemo","className","SkipLink","sidebar","PhoneBar","brandHref","brandLabel","phoneActions","o","corner","FrameSheet","t","target","main","Bar","banner","actions","toggleRef","SidebarLeftIcon","open","onToggle","PEEK_DELAY","navSheet","n","idle","setIdle","dismiss","useCallback","setPeeking","NavSheet","peeking","pending","useLayoutEffect","usePendingDismiss","doc","onKeyDown","onPointerDown","MenuButton","intent","wide","collapsed","setCollapsed","openNav","KAESO_APP_FRAME_BODY_VARIANTS","KAESO_APP_FRAME_BODY_DEFAULT_VARIANTS","Body","props","padding","Settings","title","description","AppFrame"],"sources":["../../src/components/app-frame/app-frame.tsx"],"sourcesContent":["import {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useId,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n type HTMLAttributes,\n type ReactNode,\n type RefObject,\n} from \"react\";\nimport { GutterContent, InsetContent } from \"../../utils/inset.js\";\nimport { cn } from \"../../utils/cn.js\";\nimport { SidebarLeftIcon as __icon_SidebarLeftIcon } from \"@hugeicons/core-free-icons\";\nimport { IconButton } from \"../icon-button/icon-button.js\";\nimport { buttonClasses } from \"../button/button.js\";\nimport { useSidebar, BrandWordmark } from \"../sidebar/sidebar.js\";\nimport { lazyModule, useLazyModule } from \"../../utils/lazy-module.js\";\nimport { whenIdle } from \"../../utils/when-idle.js\";\nimport { useUiText } from \"../../i18n/context.js\";\n\nexport const KAESO_APP_FRAME_VARIANTS = {\n fill: {\n screen: { classes: \"h-dvh\" },\n parent: { classes: \"h-full\" },\n },\n} as const;\nexport const KAESO_APP_FRAME_DEFAULT_VARIANTS = { fill: \"screen\" } as const;\n\nconst Ctx = /* @__PURE__ */ createContext<{ openNav: () => void; embedded: boolean; sheetReady: RefObject<boolean> }>({\n openNav: () => undefined,\n embedded: false,\n sheetReady: { current: false },\n});\nexport const useAppFrame = () => useContext(Ctx);\n\nexport interface AppFrameProps {\n sidebar: ReactNode;\n children: ReactNode;\n corner?: ReactNode | undefined;\n fill?: keyof typeof KAESO_APP_FRAME_VARIANTS.fill | undefined;\n brandHref?: string | undefined;\n brandLabel?: string | undefined;\n phoneActions?: ReactNode | undefined;\n className?: string | undefined;\n}\n\nconst Root = /* @__PURE__ */ forwardRef<HTMLDivElement, AppFrameProps>(function AppFrame(\n { sidebar, children, corner, fill = \"screen\", brandHref, brandLabel, phoneActions, className },\n ref,\n) {\n const [navOpen, setNavOpen] = useState(false);\n const toggle = useRef<HTMLButtonElement | null>(null);\n const sheetReady = useRef(false);\n const mainId = `k-main-${useId().replace(/[^\\w-]/g, \"\")}`;\n const Main = fill === \"screen\" ? \"main\" : \"div\";\n const frame = useMemo(() => ({ openNav: () => setNavOpen(true), embedded: fill === \"parent\", sheetReady }), [fill]);\n return (\n <Ctx.Provider value={frame}>\n <div\n ref={ref}\n className={cn(\n \"relative isolate flex w-full flex-col overflow-hidden bg-chrome text-fg lg:flex-row\",\n KAESO_APP_FRAME_VARIANTS.fill[fill].classes,\n className,\n )}\n >\n <SkipLink target={mainId} />\n <div className=\"hidden h-full lg:flex\">{sidebar}</div>\n <PhoneBar\n banner={fill === \"screen\"}\n href={brandHref}\n label={brandLabel}\n actions={phoneActions}\n open={navOpen}\n onToggle={() => setNavOpen((o) => !o)}\n toggleRef={toggle}\n />\n <Main\n id={mainId}\n className=\"relative flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden bg-panel outline-none safe-area-panel lg:my-8 lg:mr-8 lg:rounded-panel lg:shadow-panel\"\n >\n {children}\n </Main>\n {corner && <div className=\"fixed right-16 bottom-16 z-10 flex items-center gap-8\">{corner}</div>}\n </div>\n <FrameSheet navOpen={navOpen} setNavOpen={setNavOpen} toggle={toggle} ready={sheetReady}>\n {sidebar}\n </FrameSheet>\n </Ctx.Provider>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Root.displayName = \"AppFrame\";\n\nfunction SkipLink({ target }: { target: string }) {\n const t = useUiText();\n return (\n <a\n href={`#${target}`}\n onClick={(e) => {\n const main = document.getElementById(target);\n if (!main) return;\n e.preventDefault();\n main.setAttribute(\"tabindex\", \"-1\");\n main.addEventListener(\"blur\", () => main.removeAttribute(\"tabindex\"), { once: true });\n main.focus();\n }}\n className={cn(buttonClasses({ size: \"sm\" }), \"absolute top-8 left-8 z-50 not-focus:sr-only\")}\n >\n {t(\"appFrame.skipToContent\", \"Skip to content\")}\n </a>\n );\n}\nif (process.env.NODE_ENV !== \"production\") SkipLink.displayName = \"AppFrame.SkipLink\";\n\nfunction PhoneBar({\n banner,\n href,\n label,\n actions,\n open,\n onToggle,\n toggleRef,\n}: {\n banner: boolean;\n href: string | undefined;\n label: string | undefined;\n actions: ReactNode;\n open: boolean;\n onToggle: () => void;\n toggleRef: RefObject<HTMLButtonElement | null>;\n}) {\n const Bar = banner ? \"header\" : \"div\";\n const t = useUiText();\n return (\n <Bar data-phone-bar=\"\" className=\"shrink-0 bg-panel safe-area-bar lg:hidden\">\n <div className=\"mt-8 flex h-52 items-center justify-between px-24\">\n <BrandWordmark href={href} label={label} />\n <span className=\"flex items-center\">\n {actions}\n <IconButton\n ref={toggleRef}\n icon={__icon_SidebarLeftIcon}\n aria-label={t(\"appFrame.openNavigation\", \"Open navigation\")}\n aria-haspopup=\"dialog\"\n aria-expanded={open}\n tooltip={false}\n onClick={onToggle}\n />\n </span>\n </div>\n </Bar>\n );\n}\nif (process.env.NODE_ENV !== \"production\") PhoneBar.displayName = \"AppFrame.PhoneBar\";\n\nexport const PEEK_DELAY = 750;\n\nconst navSheet = /* @__PURE__ */ lazyModule(() => import(\"./nav-sheet.js\"), { base: () => import.meta.url });\n\nfunction FrameSheet({\n navOpen,\n setNavOpen,\n toggle,\n ready,\n children,\n}: {\n navOpen: boolean;\n setNavOpen: (o: boolean) => void;\n toggle: RefObject<HTMLElement | null>;\n ready: RefObject<boolean>;\n children: ReactNode;\n}) {\n const { peeking, setPeeking } = useSidebar();\n const [idle, setIdle] = useState(false);\n useEffect(() => whenIdle(() => setIdle(true)), []);\n const dismiss = useCallback(() => {\n setNavOpen(false);\n setPeeking(false);\n }, [setNavOpen, setPeeking]);\n const NavSheet = useLazyModule(navSheet, idle || navOpen || peeking, () => {\n setIdle(false);\n dismiss();\n })?.NavSheet;\n const pending = (navOpen || peeking) && !NavSheet;\n useLayoutEffect(() => {\n ready.current = !!NavSheet;\n });\n usePendingDismiss(pending, toggle, dismiss);\n if (!NavSheet) return null;\n return (\n <NavSheet\n open={navOpen || peeking}\n peek={peeking && !navOpen}\n {...(navOpen ? { returnFocus: toggle } : {})}\n onOpenChange={(o) => {\n if (!o) dismiss();\n }}\n >\n {children}\n </NavSheet>\n );\n}\n\nfunction usePendingDismiss(pending: boolean, toggle: RefObject<HTMLElement | null>, dismiss: () => void) {\n useEffect(() => {\n if (!pending) return;\n const doc = toggle.current?.ownerDocument ?? document;\n const onKeyDown = (e: KeyboardEvent) => {\n if (e.key !== \"Escape\") return;\n e.stopPropagation();\n dismiss();\n };\n const onPointerDown = (e: PointerEvent) => {\n if (!toggle.current?.contains(e.target as Node)) dismiss();\n };\n doc.addEventListener(\"keydown\", onKeyDown, true);\n doc.addEventListener(\"pointerdown\", onPointerDown, true);\n return () => {\n doc.removeEventListener(\"keydown\", onKeyDown, true);\n doc.removeEventListener(\"pointerdown\", onPointerDown, true);\n };\n }, [pending, toggle, dismiss]);\n}\n\nfunction MenuButton({ className }: { className?: string | undefined }) {\n const { openNav, sheetReady } = useAppFrame();\n const { collapsed, setCollapsed, setPeeking } = useSidebar();\n const intent = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n useEffect(() => () => clearTimeout(intent.current), []);\n const t = useUiText();\n const wide = () => typeof window !== \"undefined\" && window.matchMedia(\"(min-width: 1024px)\").matches;\n return (\n <IconButton\n onPointerEnter={() => {\n if (collapsed && wide()) intent.current = setTimeout(() => setPeeking(true), PEEK_DELAY);\n }}\n onPointerLeave={() => {\n clearTimeout(intent.current);\n if (!sheetReady.current) setPeeking(false);\n }}\n icon={__icon_SidebarLeftIcon}\n data-sidebar-expand=\"\"\n aria-label={collapsed ? t(\"appFrame.expandSidebar\", \"Expand sidebar\") : t(\"appFrame.openNavigation\", \"Open navigation\")}\n shortcut={collapsed ? [\"[\"] : undefined}\n onClick={() => {\n clearTimeout(intent.current);\n if (collapsed && wide()) setCollapsed(false);\n else openNav();\n }}\n className={cn(\"hidden\", collapsed && \"lg:inline-flex\", className)}\n />\n );\n}\nif (process.env.NODE_ENV !== \"production\") MenuButton.displayName = \"AppFrame.MenuButton\";\n\nexport const KAESO_APP_FRAME_BODY_VARIANTS = {\n padding: {\n none: { classes: \"\" },\n list: { classes: \"pt-8 pb-24\" },\n page: { classes: \"px-24 pt-16 pb-48\" },\n },\n} as const;\nexport const KAESO_APP_FRAME_BODY_DEFAULT_VARIANTS = { padding: \"none\" } as const;\n\nexport interface AppFrameBodyProps extends HTMLAttributes<HTMLDivElement> {\n padding?: keyof typeof KAESO_APP_FRAME_BODY_VARIANTS.padding | undefined;\n}\n\nconst Body = /* @__PURE__ */ forwardRef<HTMLDivElement, AppFrameBodyProps>(function AppFrameBody({ className, padding = \"none\", children, ...props }, ref) {\n return (\n <div\n ref={ref}\n className={cn(\"min-h-0 flex-1 overflow-y-auto overscroll-contain scrollbar-quiet\", KAESO_APP_FRAME_BODY_VARIANTS.padding[padding].classes, className)}\n {...props}\n >\n <GutterContent padded={padding === \"page\"}>{children}</GutterContent>\n </div>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Body.displayName = \"AppFrame.Body\";\n\nexport interface SettingsPageProps extends Omit<HTMLAttributes<HTMLDivElement>, \"title\"> {\n title: ReactNode;\n description?: ReactNode | undefined;\n actions?: ReactNode | undefined;\n}\n\nconst Settings = /* @__PURE__ */ forwardRef<HTMLDivElement, SettingsPageProps>(function AppFrameSettings({ title, description, actions, className, children, ...props }, ref) {\n return (\n <Body ref={ref} className=\"relative\">\n <MenuButton className=\"absolute top-10 left-24 z-10\" />\n <div className={cn(\"mx-auto w-full max-w-settings px-24 pt-64 pb-96\", className)} {...props}>\n <header className=\"flex flex-col gap-8\">\n <div className=\"flex flex-wrap items-start justify-between gap-x-16 gap-y-8\">\n <h1 className=\"min-w-0 text-title-lg font-semibold text-fg text-balance\">{title}</h1>\n {actions && <div className=\"ml-auto flex h-34 shrink-0 items-center gap-8\">{actions}</div>}\n </div>\n {description && <p className=\"text-body-lg font-regular text-fg-secondary\">{description}</p>}\n </header>\n <div className=\"mt-8\">\n <InsetContent>\n <GutterContent>{children}</GutterContent>\n </InsetContent>\n </div>\n </div>\n </Body>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Settings.displayName = \"AppFrame.Settings\";\n\nexport const AppFrame = /* @__PURE__ */ Object.assign(Root, { MenuButton, Body, Settings });\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { t as e } from "./cn-DUDmdLpZ.js";
2
+ import { t as e } from "./cn-Dj6sRgkF.js";
3
3
  import { i as t } from "./context-BELWW79w.js";
4
4
  import { forwardRef as n, useState as r } from "react";
5
5
  import { jsx as i, jsxs as a } from "react/jsx-runtime";
@@ -80,4 +80,4 @@ process.env.NODE_ENV !== "production" && (d.displayName = "AvatarGroup");
80
80
  //#endregion
81
81
  export { c as a, o as i, d as n, s as r, l as t };
82
82
 
83
- //# sourceMappingURL=avatar-DOzOhYJr.js.map
83
+ //# sourceMappingURL=avatar-CWbdwbJv.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"avatar-DOzOhYJr.js","names":["cn","useUiText","KAESO_AVATAR_VARIANTS","KAESO_AVATAR_DEFAULT_VARIANTS","initials","parts","name","first","max","Avatar","failedSrc","setFailedSrc","useState","decorative","size","kind","className","src","GROUP_OVERLAP","AvatarGroup","t","shown","people","rest","overlap","p","i","children"],"sources":["../../src/components/avatar/avatar.tsx"],"sourcesContent":["import { forwardRef, useState, type ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { useUiText } from \"../../i18n/context.js\";\n\nexport const KAESO_AVATAR_VARIANTS = {\n size: {\n 20: { classes: \"size-20 text-micro\" },\n 24: { classes: \"size-24 text-micro\" },\n 28: { classes: \"size-28 text-caption\" },\n 32: { classes: \"size-32 text-caption\" },\n 40: { classes: \"size-40 text-body\" },\n },\n kind: {\n person: { classes: \"rounded-pill\" },\n org: { classes: \"rounded-org\" },\n },\n} as const;\nexport const KAESO_AVATAR_DEFAULT_VARIANTS = { size: 24, kind: \"person\" } as const;\n\nexport function initials(name: string, max: 1 | 2 = 2): string {\n const parts = name.trim().split(/\\s+/).filter(Boolean);\n if (parts.length === 0) return \"?\";\n const first = parts[0]?.[0] ?? \"\";\n return (max === 1 || parts.length < 2 ? first : first + (parts[parts.length - 1]?.[0] ?? \"\")).toUpperCase();\n}\n\nexport interface AvatarProps {\n name: string;\n src?: string | undefined;\n size?: keyof typeof KAESO_AVATAR_VARIANTS.size | undefined;\n kind?: keyof typeof KAESO_AVATAR_VARIANTS.kind | undefined;\n decorative?: boolean | undefined;\n className?: string | undefined;\n}\n\nexport const Avatar = /* @__PURE__ */ forwardRef<HTMLSpanElement, AvatarProps>(function Avatar({ name, src, size = 24, kind = \"person\", decorative, className }, ref) {\n const [failedSrc, setFailedSrc] = useState<string | undefined>(undefined);\n return (\n <span\n ref={ref}\n {...(decorative ? { \"aria-hidden\": true } : { role: \"img\", \"aria-label\": name })}\n className={cn(\n \"relative inline-flex shrink-0 items-center justify-center overflow-hidden bg-fill-2 font-semibold text-fg select-none\",\n KAESO_AVATAR_VARIANTS.size[size].classes,\n KAESO_AVATAR_VARIANTS.kind[kind].classes,\n size <= 24 && kind === \"org\" && \"rounded-avatar\",\n className,\n )}\n >\n {src && src !== failedSrc ? (\n <img src={src} alt=\"\" className=\"size-full object-cover\" onError={() => setFailedSrc(src)} />\n ) : (\n initials(name, size === 20 ? 1 : 2)\n )}\n </span>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Avatar.displayName = \"Avatar\";\n\nexport interface AvatarGroupProps {\n people: { name: string; src?: string | undefined }[];\n size?: keyof typeof KAESO_AVATAR_VARIANTS.size | undefined;\n max?: number | undefined;\n className?: string | undefined;\n children?: ReactNode | undefined;\n}\n\nconst GROUP_OVERLAP = { 20: \"-ms-4\", 24: \"-ms-2\", 28: \"-ms-2\", 32: \"-ms-4\", 40: \"-ms-6\" } as const;\n\nexport const AvatarGroup = /* @__PURE__ */ forwardRef<HTMLDivElement, AvatarGroupProps>(function AvatarGroup({ people, size = 24, max = 4, className, children }, ref) {\n const t = useUiText();\n const shown = people.slice(0, max);\n const rest = people.length - shown.length;\n const overlap = GROUP_OVERLAP[size];\n return (\n <div\n ref={ref}\n role=\"group\"\n aria-label={people.map((p) => p.name).join(t(\"avatarGroup.listSeparator\", \", \"))}\n className={cn(\"flex items-center\", className)}\n >\n {shown.map((p, i) => (\n <Avatar\n key={p.name + i}\n name={p.name}\n {...(p.src ? { src: p.src } : {})}\n size={size}\n decorative\n className={cn(\"ring-2 ring-panel\", i > 0 && overlap)}\n />\n ))}\n {rest > 0 && (\n <span\n className={cn(\n \"inline-flex shrink-0 items-center justify-center rounded-pill bg-fill-1 font-medium text-fg-secondary ring-2 ring-panel tabular\",\n KAESO_AVATAR_VARIANTS.size[size].classes,\n overlap,\n )}\n >\n +{rest}\n </span>\n )}\n {children && <span className=\"ms-8 inline-flex items-center\">{children}</span>}\n </div>\n );\n});\nif (process.env.NODE_ENV !== \"production\") AvatarGroup.displayName = \"AvatarGroup\";\n"],"mappings":";;;;;;AAIA,IAAaE,IAAwB;CACnC,MAAM;EACJ,IAAI,EAAE,SAAS,qBAAqB;EACpC,IAAI,EAAE,SAAS,qBAAqB;EACpC,IAAI,EAAE,SAAS,uBAAuB;EACtC,IAAI,EAAE,SAAS,uBAAuB;EACtC,IAAI,EAAE,SAAS,oBAAoB;CACrC;CACA,MAAM;EACJ,QAAQ,EAAE,SAAS,eAAe;EAClC,KAAK,EAAE,SAAS,cAAc;CAChC;AACF,GACaC,IAAgC;CAAE,MAAM;CAAI,MAAM;AAAS;AAExE,SAAgBC,EAAS,GAAc,IAAa,GAAW;CAC7D,IAAMC,IAAQC,EAAK,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,OAAO,OAAO;CACrD,IAAID,EAAM,WAAW,GAAG,OAAO;CAC/B,IAAME,IAAQF,EAAM,EAAE,GAAG,MAAM;CAC/B,QAAQG,MAAQ,KAAKH,EAAM,SAAS,IAAIE,IAAQA,KAASF,EAAMA,EAAM,SAAS,EAAE,GAAG,MAAM,IAAA,CAAK,YAAY;AAC5G;AAWA,IAAaI,IAAyB,kBAAyC,SAAgB,EAAE,SAAM,QAAK,UAAO,IAAI,UAAO,UAAU,eAAY,gBAAa,GAAK;CACpK,IAAM,CAACC,GAAWC,KAAgBC,EAA6B,KAAA,CAAS;CACxE,OACE,kBAAC,QAAD;EACO;EACL,GAAKC,IAAa,EAAE,eAAe,GAAK,IAAI;GAAE,MAAM;GAAO,cAAcP;EAAK;EAC9E,WAAWN,EACT,yHACAE,EAAsB,KAAKY,EAAK,CAAC,SACjCZ,EAAsB,KAAKa,EAAK,CAAC,SACjCD,KAAQ,MAAMC,MAAS,SAAS,kBAChCC,CACF;EAEC,UAAAC,KAAOA,MAAQP,IACd,kBAAC,OAAD;GAAU;GAAK,KAAI;GAAG,WAAU;GAAyB,eAAeC,EAAaM,CAAG;EAAI,CAAA,IAE5Fb,EAASE,GAAMQ,MAAS,KAAK,IAAI,CAAC;CAEhC,CAAA;AAEV,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAO,cAAc;AAUhE,IAAMI,IAAgB;CAAE,IAAI;CAAS,IAAI;CAAS,IAAI;CAAS,IAAI;CAAS,IAAI;AAAQ,GAE3EC,IAA8B,kBAA6C,SAAqB,EAAE,WAAQ,UAAO,IAAI,SAAM,GAAG,cAAW,eAAY,GAAK;CACrK,IAAMC,IAAInB,EAAU,GACdoB,IAAQC,EAAO,MAAM,GAAGd,CAAG,GAC3Be,IAAOD,EAAO,SAASD,EAAM,QAC7BG,IAAUN,EAAcJ;CAC9B,OACE,kBAAC,OAAD;EACO;EACL,MAAK;EACL,cAAYQ,EAAO,KAAK,MAAMG,EAAE,IAAI,CAAC,CAAC,KAAKL,EAAE,6BAA6B,IAAI,CAAC;EAC/E,WAAWpB,EAAG,qBAAqBgB,CAAS;EAJ9C,UAAA;GAMGK,EAAM,KAAK,GAAG,MACb,kBAACZ,GAAD;IAEE,MAAMgB,EAAE;IACR,GAAKA,EAAE,MAAM,EAAE,KAAKA,EAAE,IAAI,IAAI,CAAC;IACzB;IACN,YAAA;IACA,WAAWzB,EAAG,qBAAqB0B,IAAI,KAAKF,CAAO;GACpD,GANMC,EAAE,OAAOC,CAMf,CACF;GACAH,IAAO,KACN,kBAAC,QAAD;IACE,WAAWvB,EACT,mIACAE,EAAsB,KAAKY,EAAK,CAAC,SACjCU,CACF;IALF,UAAA,CAMC,KACGD,CACE;;GAEPI,KAAY,kBAAC,QAAD;IAAM,WAAU;IAAiC;GAAe,CAAA;EAC1E;;AAET,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAY,cAAc"}
1
+ {"version":3,"file":"avatar-CWbdwbJv.js","names":["cn","useUiText","KAESO_AVATAR_VARIANTS","KAESO_AVATAR_DEFAULT_VARIANTS","initials","parts","name","first","max","Avatar","failedSrc","setFailedSrc","useState","decorative","size","kind","className","src","GROUP_OVERLAP","AvatarGroup","t","shown","people","rest","overlap","p","i","children"],"sources":["../../src/components/avatar/avatar.tsx"],"sourcesContent":["import { forwardRef, useState, type ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { useUiText } from \"../../i18n/context.js\";\n\nexport const KAESO_AVATAR_VARIANTS = {\n size: {\n 20: { classes: \"size-20 text-micro\" },\n 24: { classes: \"size-24 text-micro\" },\n 28: { classes: \"size-28 text-caption\" },\n 32: { classes: \"size-32 text-caption\" },\n 40: { classes: \"size-40 text-body\" },\n },\n kind: {\n person: { classes: \"rounded-pill\" },\n org: { classes: \"rounded-org\" },\n },\n} as const;\nexport const KAESO_AVATAR_DEFAULT_VARIANTS = { size: 24, kind: \"person\" } as const;\n\nexport function initials(name: string, max: 1 | 2 = 2): string {\n const parts = name.trim().split(/\\s+/).filter(Boolean);\n if (parts.length === 0) return \"?\";\n const first = parts[0]?.[0] ?? \"\";\n return (max === 1 || parts.length < 2 ? first : first + (parts[parts.length - 1]?.[0] ?? \"\")).toUpperCase();\n}\n\nexport interface AvatarProps {\n name: string;\n src?: string | undefined;\n size?: keyof typeof KAESO_AVATAR_VARIANTS.size | undefined;\n kind?: keyof typeof KAESO_AVATAR_VARIANTS.kind | undefined;\n decorative?: boolean | undefined;\n className?: string | undefined;\n}\n\nexport const Avatar = /* @__PURE__ */ forwardRef<HTMLSpanElement, AvatarProps>(function Avatar({ name, src, size = 24, kind = \"person\", decorative, className }, ref) {\n const [failedSrc, setFailedSrc] = useState<string | undefined>(undefined);\n return (\n <span\n ref={ref}\n {...(decorative ? { \"aria-hidden\": true } : { role: \"img\", \"aria-label\": name })}\n className={cn(\n \"relative inline-flex shrink-0 items-center justify-center overflow-hidden bg-fill-2 font-semibold text-fg select-none\",\n KAESO_AVATAR_VARIANTS.size[size].classes,\n KAESO_AVATAR_VARIANTS.kind[kind].classes,\n size <= 24 && kind === \"org\" && \"rounded-avatar\",\n className,\n )}\n >\n {src && src !== failedSrc ? (\n <img src={src} alt=\"\" className=\"size-full object-cover\" onError={() => setFailedSrc(src)} />\n ) : (\n initials(name, size === 20 ? 1 : 2)\n )}\n </span>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Avatar.displayName = \"Avatar\";\n\nexport interface AvatarGroupProps {\n people: { name: string; src?: string | undefined }[];\n size?: keyof typeof KAESO_AVATAR_VARIANTS.size | undefined;\n max?: number | undefined;\n className?: string | undefined;\n children?: ReactNode | undefined;\n}\n\nconst GROUP_OVERLAP = { 20: \"-ms-4\", 24: \"-ms-2\", 28: \"-ms-2\", 32: \"-ms-4\", 40: \"-ms-6\" } as const;\n\nexport const AvatarGroup = /* @__PURE__ */ forwardRef<HTMLDivElement, AvatarGroupProps>(function AvatarGroup({ people, size = 24, max = 4, className, children }, ref) {\n const t = useUiText();\n const shown = people.slice(0, max);\n const rest = people.length - shown.length;\n const overlap = GROUP_OVERLAP[size];\n return (\n <div\n ref={ref}\n role=\"group\"\n aria-label={people.map((p) => p.name).join(t(\"avatarGroup.listSeparator\", \", \"))}\n className={cn(\"flex items-center\", className)}\n >\n {shown.map((p, i) => (\n <Avatar\n key={p.name + i}\n name={p.name}\n {...(p.src ? { src: p.src } : {})}\n size={size}\n decorative\n className={cn(\"ring-2 ring-panel\", i > 0 && overlap)}\n />\n ))}\n {rest > 0 && (\n <span\n className={cn(\n \"inline-flex shrink-0 items-center justify-center rounded-pill bg-fill-1 font-medium text-fg-secondary ring-2 ring-panel tabular\",\n KAESO_AVATAR_VARIANTS.size[size].classes,\n overlap,\n )}\n >\n +{rest}\n </span>\n )}\n {children && <span className=\"ms-8 inline-flex items-center\">{children}</span>}\n </div>\n );\n});\nif (process.env.NODE_ENV !== \"production\") AvatarGroup.displayName = \"AvatarGroup\";\n"],"mappings":";;;;;;AAIA,IAAaE,IAAwB;CACnC,MAAM;EACJ,IAAI,EAAE,SAAS,qBAAqB;EACpC,IAAI,EAAE,SAAS,qBAAqB;EACpC,IAAI,EAAE,SAAS,uBAAuB;EACtC,IAAI,EAAE,SAAS,uBAAuB;EACtC,IAAI,EAAE,SAAS,oBAAoB;CACrC;CACA,MAAM;EACJ,QAAQ,EAAE,SAAS,eAAe;EAClC,KAAK,EAAE,SAAS,cAAc;CAChC;AACF,GACaC,IAAgC;CAAE,MAAM;CAAI,MAAM;AAAS;AAExE,SAAgBC,EAAS,GAAc,IAAa,GAAW;CAC7D,IAAMC,IAAQC,EAAK,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,OAAO,OAAO;CACrD,IAAID,EAAM,WAAW,GAAG,OAAO;CAC/B,IAAME,IAAQF,EAAM,EAAE,GAAG,MAAM;CAC/B,QAAQG,MAAQ,KAAKH,EAAM,SAAS,IAAIE,IAAQA,KAASF,EAAMA,EAAM,SAAS,EAAE,GAAG,MAAM,IAAA,CAAK,YAAY;AAC5G;AAWA,IAAaI,IAAyB,kBAAyC,SAAgB,EAAE,SAAM,QAAK,UAAO,IAAI,UAAO,UAAU,eAAY,gBAAa,GAAK;CACpK,IAAM,CAACC,GAAWC,KAAgBC,EAA6B,KAAA,CAAS;CACxE,OACE,kBAAC,QAAD;EACO;EACL,GAAKC,IAAa,EAAE,eAAe,GAAK,IAAI;GAAE,MAAM;GAAO,cAAcP;EAAK;EAC9E,WAAWN,EACT,yHACAE,EAAsB,KAAKY,EAAK,CAAC,SACjCZ,EAAsB,KAAKa,EAAK,CAAC,SACjCD,KAAQ,MAAMC,MAAS,SAAS,kBAChCC,CACF;EAEC,UAAAC,KAAOA,MAAQP,IACd,kBAAC,OAAD;GAAU;GAAK,KAAI;GAAG,WAAU;GAAyB,eAAeC,EAAaM,CAAG;EAAI,CAAA,IAE5Fb,EAASE,GAAMQ,MAAS,KAAK,IAAI,CAAC;CAEhC,CAAA;AAEV,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAO,cAAc;AAUhE,IAAMI,IAAgB;CAAE,IAAI;CAAS,IAAI;CAAS,IAAI;CAAS,IAAI;CAAS,IAAI;AAAQ,GAE3EC,IAA8B,kBAA6C,SAAqB,EAAE,WAAQ,UAAO,IAAI,SAAM,GAAG,cAAW,eAAY,GAAK;CACrK,IAAMC,IAAInB,EAAU,GACdoB,IAAQC,EAAO,MAAM,GAAGd,CAAG,GAC3Be,IAAOD,EAAO,SAASD,EAAM,QAC7BG,IAAUN,EAAcJ;CAC9B,OACE,kBAAC,OAAD;EACO;EACL,MAAK;EACL,cAAYQ,EAAO,KAAK,MAAMG,EAAE,IAAI,CAAC,CAAC,KAAKL,EAAE,6BAA6B,IAAI,CAAC;EAC/E,WAAWpB,EAAG,qBAAqBgB,CAAS;EAJ9C,UAAA;GAMGK,EAAM,KAAK,GAAG,MACb,kBAACZ,GAAD;IAEE,MAAMgB,EAAE;IACR,GAAKA,EAAE,MAAM,EAAE,KAAKA,EAAE,IAAI,IAAI,CAAC;IACzB;IACN,YAAA;IACA,WAAWzB,EAAG,qBAAqB0B,IAAI,KAAKF,CAAO;GACpD,GANMC,EAAE,OAAOC,CAMf,CACF;GACAH,IAAO,KACN,kBAAC,QAAD;IACE,WAAWvB,EACT,mIACAE,EAAsB,KAAKY,EAAK,CAAC,SACjCU,CACF;IALF,UAAA,CAMC,KACGD,CACE;;GAEPI,KAAY,kBAAC,QAAD;IAAM,WAAU;IAAiC;GAAe,CAAA;EAC1E;;AAET,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAY,cAAc"}
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { t as e } from "./cn-DUDmdLpZ.js";
2
+ import { t as e } from "./cn-Dj6sRgkF.js";
3
3
  import { forwardRef as t } from "react";
4
4
  import { jsx as n } from "react/jsx-runtime";
5
5
  //#region src/components/badge/badge.tsx
@@ -23,4 +23,4 @@ process.env.NODE_ENV !== "production" && (a.displayName = "Badge");
23
23
  //#endregion
24
24
  export { i as n, r, a as t };
25
25
 
26
- //# sourceMappingURL=badge-wUHlj7m3.js.map
26
+ //# sourceMappingURL=badge-C2KtxCLB.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"badge-wUHlj7m3.js","names":["cn","KAESO_BADGE_VARIANTS","KAESO_BADGE_DEFAULT_VARIANTS","Badge","props","tone","className"],"sources":["../../src/components/badge/badge.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes, type ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\n\nexport const KAESO_BADGE_VARIANTS = {\n tone: {\n neutral: { classes: \"bg-fill-2 text-fg-secondary\" },\n success: { classes: \"bg-success-tint text-success-text\" },\n warning: { classes: \"bg-warning-tint text-warning-text\" },\n danger: { classes: \"bg-danger-tint text-danger-text\" },\n info: { classes: \"bg-info-tint text-info-text\" },\n outline: { classes: \"bg-transparent text-fg-secondary shadow-ring\" },\n ink: { classes: \"bg-ink text-on-ink\" },\n },\n} as const;\nexport const KAESO_BADGE_DEFAULT_VARIANTS = { tone: \"neutral\" } as const;\n\nexport interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {\n tone?: keyof typeof KAESO_BADGE_VARIANTS.tone | undefined;\n children: ReactNode;\n}\n\nexport const Badge = /* @__PURE__ */ forwardRef<HTMLSpanElement, BadgeProps>(function Badge({ tone = \"neutral\", className, children, ...props }, ref) {\n return (\n <span\n ref={ref}\n className={cn(\n \"inline-flex h-22 shrink-0 items-center rounded-pill px-8 text-caption font-medium whitespace-nowrap tabular\",\n KAESO_BADGE_VARIANTS.tone[tone].classes,\n className,\n )}\n {...props}\n >\n {children}\n </span>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Badge.displayName = \"Badge\";\n"],"mappings":";;;;;AAGA,IAAaC,IAAuB,EAClC,MAAM;CACJ,SAAS,EAAE,SAAS,8BAA8B;CAClD,SAAS,EAAE,SAAS,oCAAoC;CACxD,SAAS,EAAE,SAAS,oCAAoC;CACxD,QAAQ,EAAE,SAAS,kCAAkC;CACrD,MAAM,EAAE,SAAS,8BAA8B;CAC/C,SAAS,EAAE,SAAS,+CAA+C;CACnE,KAAK,EAAE,SAAS,qBAAqB;AACvC,EACF,GACaC,IAA+B,EAAE,MAAM,UAAU,GAOjDC,IAAwB,kBAAwC,SAAe,EAAE,UAAO,WAAW,cAAW,aAAU,GAAGC,KAAS,GAAK;CACpJ,OACE,kBAAC,QAAD;EACO;EACL,WAAWJ,EACT,+GACAC,EAAqB,KAAKI,EAAK,CAAC,SAChCC,CACF;EACA,GAAIF;EAEH;CACG,CAAA;AAEV,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAM,cAAc"}
1
+ {"version":3,"file":"badge-C2KtxCLB.js","names":["cn","KAESO_BADGE_VARIANTS","KAESO_BADGE_DEFAULT_VARIANTS","Badge","props","tone","className"],"sources":["../../src/components/badge/badge.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes, type ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\n\nexport const KAESO_BADGE_VARIANTS = {\n tone: {\n neutral: { classes: \"bg-fill-2 text-fg-secondary\" },\n success: { classes: \"bg-success-tint text-success-text\" },\n warning: { classes: \"bg-warning-tint text-warning-text\" },\n danger: { classes: \"bg-danger-tint text-danger-text\" },\n info: { classes: \"bg-info-tint text-info-text\" },\n outline: { classes: \"bg-transparent text-fg-secondary shadow-ring\" },\n ink: { classes: \"bg-ink text-on-ink\" },\n },\n} as const;\nexport const KAESO_BADGE_DEFAULT_VARIANTS = { tone: \"neutral\" } as const;\n\nexport interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {\n tone?: keyof typeof KAESO_BADGE_VARIANTS.tone | undefined;\n children: ReactNode;\n}\n\nexport const Badge = /* @__PURE__ */ forwardRef<HTMLSpanElement, BadgeProps>(function Badge({ tone = \"neutral\", className, children, ...props }, ref) {\n return (\n <span\n ref={ref}\n className={cn(\n \"inline-flex h-22 shrink-0 items-center rounded-pill px-8 text-caption font-medium whitespace-nowrap tabular\",\n KAESO_BADGE_VARIANTS.tone[tone].classes,\n className,\n )}\n {...props}\n >\n {children}\n </span>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Badge.displayName = \"Badge\";\n"],"mappings":";;;;;AAGA,IAAaC,IAAuB,EAClC,MAAM;CACJ,SAAS,EAAE,SAAS,8BAA8B;CAClD,SAAS,EAAE,SAAS,oCAAoC;CACxD,SAAS,EAAE,SAAS,oCAAoC;CACxD,QAAQ,EAAE,SAAS,kCAAkC;CACrD,MAAM,EAAE,SAAS,8BAA8B;CAC/C,SAAS,EAAE,SAAS,+CAA+C;CACnE,KAAK,EAAE,SAAS,qBAAqB;AACvC,EACF,GACaC,IAA+B,EAAE,MAAM,UAAU,GAOjDC,IAAwB,kBAAwC,SAAe,EAAE,UAAO,WAAW,cAAW,aAAU,GAAGC,KAAS,GAAK;CACpJ,OACE,kBAAC,QAAD;EACO;EACL,WAAWJ,EACT,+GACAC,EAAqB,KAAKI,EAAK,CAAC,SAChCC,CACF;EACA,GAAIF;EAEH;CACG,CAAA;AAEV,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAM,cAAc"}
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- import { t as e } from "./cn-DUDmdLpZ.js";
2
+ import { t as e } from "./cn-Dj6sRgkF.js";
3
3
  import { i as t } from "./context-BELWW79w.js";
4
- import { t as n } from "./icon-BqujXDUc.js";
5
- import { t as r } from "./icon-button-DmKFxQbP.js";
4
+ import { t as n } from "./icon-D7ja-_Yk.js";
5
+ import { t as r } from "./icon-button-CPYR21Sz.js";
6
6
  import { forwardRef as i, useState as a } from "react";
7
7
  import { jsx as o, jsxs as s } from "react/jsx-runtime";
8
8
  import { Alert02Icon as c, AlertCircleIcon as l, Cancel01Icon as u, CheckmarkCircle02Icon as d, InformationCircleIcon as f } from "@hugeicons/core-free-icons";
@@ -82,4 +82,4 @@ process.env.NODE_ENV !== "production" && (_.displayName = "Banner");
82
82
  //#endregion
83
83
  export { m as n, p as r, _ as t };
84
84
 
85
- //# sourceMappingURL=banner-DY1jSc9Y.js.map
85
+ //# sourceMappingURL=banner-Cb8OWnqJ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"banner-DY1jSc9Y.js","names":["__icon_InformationCircleIcon","__icon_CheckmarkCircle02Icon","__icon_Alert02Icon","__icon_AlertCircleIcon","__icon_Cancel01Icon","cn","useUiText","Icon","IconButton","KAESO_BANNER_VARIANTS","KAESO_BANNER_DEFAULT_VARIANTS","ICON","InformationCircleIcon","CheckmarkCircle02Icon","Alert02Icon","AlertCircleIcon","ICON_TONE","Banner","hidden","setHidden","useState","t","dismissible","onDismiss","tone","layout","className","actions","icon","title","children","Cancel01Icon"],"sources":["../../src/components/banner/banner.tsx"],"sourcesContent":["import { forwardRef, useState, type ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { InformationCircleIcon as __icon_InformationCircleIcon, CheckmarkCircle02Icon as __icon_CheckmarkCircle02Icon, Alert02Icon as __icon_Alert02Icon, AlertCircleIcon as __icon_AlertCircleIcon, Cancel01Icon as __icon_Cancel01Icon } from \"@hugeicons/core-free-icons\";\nimport { Icon, type IconData } from \"../icon/icon.js\";\nimport { IconButton } from \"../icon-button/icon-button.js\";\nimport { useUiText } from \"../../i18n/context.js\";\n\nexport const KAESO_BANNER_VARIANTS = {\n tone: {\n neutral: { classes: \"bg-fill-1 text-fg\" },\n info: { classes: \"bg-info-tint text-fg\" },\n success: { classes: \"bg-success-tint text-fg\" },\n warning: { classes: \"bg-warning-tint text-fg\" },\n danger: { classes: \"bg-danger-tint text-fg\" },\n },\n layout: {\n inline: { classes: \"rounded-well px-16 py-12\" },\n full: { classes: \"rounded-none px-24 py-10\" },\n },\n} as const;\nexport const KAESO_BANNER_DEFAULT_VARIANTS = { tone: \"neutral\", layout: \"inline\" } as const;\n\nconst ICON: Record<keyof typeof KAESO_BANNER_VARIANTS.tone, IconData> = {\n neutral: __icon_InformationCircleIcon,\n info: __icon_InformationCircleIcon,\n success: __icon_CheckmarkCircle02Icon,\n warning: __icon_Alert02Icon,\n danger: __icon_AlertCircleIcon,\n};\nconst ICON_TONE = {\n neutral: \"text-fg-secondary\",\n info: \"text-info-text\",\n success: \"text-success-text\",\n warning: \"text-warning-text\",\n danger: \"text-danger-text\",\n} as const;\n\nexport interface BannerProps {\n tone?: keyof typeof KAESO_BANNER_VARIANTS.tone | undefined;\n layout?: keyof typeof KAESO_BANNER_VARIANTS.layout | undefined;\n title?: ReactNode | undefined;\n children?: ReactNode | undefined;\n icon?: IconData | undefined;\n actions?: ReactNode | undefined;\n onDismiss?: (() => void) | undefined;\n className?: string | undefined;\n}\n\nexport const Banner = /* @__PURE__ */ forwardRef<HTMLDivElement, BannerProps>(function Banner(\n { tone = \"neutral\", layout = \"inline\", title, children, icon, actions, onDismiss, className },\n ref,\n) {\n const [hidden, setHidden] = useState(false);\n const t = useUiText();\n if (hidden) return null;\n const dismissible = onDismiss && (tone === \"neutral\" || tone === \"info\");\n return (\n <div\n ref={ref}\n role={tone === \"danger\" ? \"alert\" : \"status\"}\n className={cn(\"@container w-full\", KAESO_BANNER_VARIANTS.tone[tone].classes, KAESO_BANNER_VARIANTS.layout[layout].classes, className)}\n >\n <div className={cn(\"flex items-start gap-8\", actions && \"@banner:items-center\")}>\n <div className=\"flex min-w-0 flex-1 flex-col gap-12 @banner:flex-row @banner:items-center @banner:gap-24\">\n <div className=\"flex min-w-0 flex-1 items-start gap-8\">\n <Icon icon={icon ?? ICON[tone]} size=\"sm\" className={cn(\"mt-2\", ICON_TONE[tone])} />\n <div className=\"flex min-w-0 flex-1 flex-col gap-2 text-body\">\n {title && <span className=\"font-semibold text-fg\">{title}</span>}\n {children && <div className=\"text-fg text-pretty\">{children}</div>}\n </div>\n </div>\n {actions && <div className=\"ml-24 flex shrink-0 flex-wrap items-center gap-8 @banner:ml-0\">{actions}</div>}\n </div>\n {dismissible && (\n <IconButton\n icon={__icon_Cancel01Icon}\n aria-label={t(\"banner.dismiss\", \"Dismiss\")}\n size=\"xs\"\n className=\"-my-2 -mr-6\"\n onClick={() => {\n setHidden(true);\n onDismiss?.();\n }}\n />\n )}\n </div>\n </div>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Banner.displayName = \"Banner\";\n"],"mappings":";;;;;;;;;AAOA,IAAaS,IAAwB;CACnC,MAAM;EACJ,SAAS,EAAE,SAAS,oBAAoB;EACxC,MAAM,EAAE,SAAS,uBAAuB;EACxC,SAAS,EAAE,SAAS,0BAA0B;EAC9C,SAAS,EAAE,SAAS,0BAA0B;EAC9C,QAAQ,EAAE,SAAS,yBAAyB;CAC9C;CACA,QAAQ;EACN,QAAQ,EAAE,SAAS,2BAA2B;EAC9C,MAAM,EAAE,SAAS,2BAA2B;CAC9C;AACF,GACaC,IAAgC;CAAE,MAAM;CAAW,QAAQ;AAAS,GAE3EC,IAAkE;CACtE,SAASX;CACT,MAAMA;CACN,SAASC;CACT,SAASC;CACT,QAAQC;AACV,GACMa,IAAY;CAChB,SAAS;CACT,MAAM;CACN,SAAS;CACT,SAAS;CACT,QAAQ;AACV,GAaaC,IAAyB,kBAAwC,SAC5E,EAAE,UAAO,WAAW,YAAS,UAAU,UAAO,aAAU,SAAM,YAAS,cAAW,gBAClF,GACA;CACA,IAAM,CAACC,GAAQC,KAAaC,EAAS,EAAK,GACpCC,IAAIf,EAAU;CACpB,IAAIY,GAAQ,OAAO;CACnB,IAAMI,IAAcC,MAAcC,MAAS,aAAaA,MAAS;CACjE,OACE,kBAAC,OAAD;EACO;EACL,MAAMA,MAAS,WAAW,UAAU;EACpC,WAAWnB,EAAG,qBAAqBI,EAAsB,KAAKe,EAAK,CAAC,SAASf,EAAsB,OAAOgB,EAAO,CAAC,SAASC,CAAS;EAEpI,UAAA,kBAAC,OAAD;GAAK,WAAWrB,EAAG,0BAA0BsB,KAAW,sBAAsB;GAA9E,UAAA,CACE,kBAAC,OAAD;IAAK,WAAU;IAAf,UAAA,CACE,kBAAC,OAAD;KAAK,WAAU;KAAf,UAAA,CACE,kBAACpB,GAAD;MAAM,MAAMqB,KAAQjB,EAAKa;MAAO,MAAK;MAAK,WAAWnB,EAAG,QAAQW,EAAUQ,EAAK;KAAI,CAAA,GACnF,kBAAC,OAAD;MAAK,WAAU;MAAf,UAAA,CACGK,KAAS,kBAAC,QAAD;OAAM,WAAU;OAAyB,UAAAA;MAAY,CAAA,GAC9DC,KAAY,kBAAC,OAAD;OAAK,WAAU;OAAuB;MAAc,CAAA,CAC9D;KACF,CAAA,CAAA;IACJ,CAAA,GAAAH,KAAW,kBAAC,OAAD;KAAK,WAAU;KAAiE,UAAAA;IAAa,CAAA,CACtG;GACJ,CAAA,GAAAL,KACC,kBAACd,GAAD;IACE,MAAMJ;IACN,cAAYiB,EAAE,kBAAkB,SAAS;IACzC,MAAK;IACL,WAAU;IACV,eAAe;KAEb,AADAF,EAAU,EAAI,GACdI,IAAY;IACd;GACD,CAAA,CAEA;;CACF,CAAA;AAET,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAO,cAAc"}
1
+ {"version":3,"file":"banner-Cb8OWnqJ.js","names":["__icon_InformationCircleIcon","__icon_CheckmarkCircle02Icon","__icon_Alert02Icon","__icon_AlertCircleIcon","__icon_Cancel01Icon","cn","useUiText","Icon","IconButton","KAESO_BANNER_VARIANTS","KAESO_BANNER_DEFAULT_VARIANTS","ICON","InformationCircleIcon","CheckmarkCircle02Icon","Alert02Icon","AlertCircleIcon","ICON_TONE","Banner","hidden","setHidden","useState","t","dismissible","onDismiss","tone","layout","className","actions","icon","title","children","Cancel01Icon"],"sources":["../../src/components/banner/banner.tsx"],"sourcesContent":["import { forwardRef, useState, type ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { InformationCircleIcon as __icon_InformationCircleIcon, CheckmarkCircle02Icon as __icon_CheckmarkCircle02Icon, Alert02Icon as __icon_Alert02Icon, AlertCircleIcon as __icon_AlertCircleIcon, Cancel01Icon as __icon_Cancel01Icon } from \"@hugeicons/core-free-icons\";\nimport { Icon, type IconData } from \"../icon/icon.js\";\nimport { IconButton } from \"../icon-button/icon-button.js\";\nimport { useUiText } from \"../../i18n/context.js\";\n\nexport const KAESO_BANNER_VARIANTS = {\n tone: {\n neutral: { classes: \"bg-fill-1 text-fg\" },\n info: { classes: \"bg-info-tint text-fg\" },\n success: { classes: \"bg-success-tint text-fg\" },\n warning: { classes: \"bg-warning-tint text-fg\" },\n danger: { classes: \"bg-danger-tint text-fg\" },\n },\n layout: {\n inline: { classes: \"rounded-well px-16 py-12\" },\n full: { classes: \"rounded-none px-24 py-10\" },\n },\n} as const;\nexport const KAESO_BANNER_DEFAULT_VARIANTS = { tone: \"neutral\", layout: \"inline\" } as const;\n\nconst ICON: Record<keyof typeof KAESO_BANNER_VARIANTS.tone, IconData> = {\n neutral: __icon_InformationCircleIcon,\n info: __icon_InformationCircleIcon,\n success: __icon_CheckmarkCircle02Icon,\n warning: __icon_Alert02Icon,\n danger: __icon_AlertCircleIcon,\n};\nconst ICON_TONE = {\n neutral: \"text-fg-secondary\",\n info: \"text-info-text\",\n success: \"text-success-text\",\n warning: \"text-warning-text\",\n danger: \"text-danger-text\",\n} as const;\n\nexport interface BannerProps {\n tone?: keyof typeof KAESO_BANNER_VARIANTS.tone | undefined;\n layout?: keyof typeof KAESO_BANNER_VARIANTS.layout | undefined;\n title?: ReactNode | undefined;\n children?: ReactNode | undefined;\n icon?: IconData | undefined;\n actions?: ReactNode | undefined;\n onDismiss?: (() => void) | undefined;\n className?: string | undefined;\n}\n\nexport const Banner = /* @__PURE__ */ forwardRef<HTMLDivElement, BannerProps>(function Banner(\n { tone = \"neutral\", layout = \"inline\", title, children, icon, actions, onDismiss, className },\n ref,\n) {\n const [hidden, setHidden] = useState(false);\n const t = useUiText();\n if (hidden) return null;\n const dismissible = onDismiss && (tone === \"neutral\" || tone === \"info\");\n return (\n <div\n ref={ref}\n role={tone === \"danger\" ? \"alert\" : \"status\"}\n className={cn(\"@container w-full\", KAESO_BANNER_VARIANTS.tone[tone].classes, KAESO_BANNER_VARIANTS.layout[layout].classes, className)}\n >\n <div className={cn(\"flex items-start gap-8\", actions && \"@banner:items-center\")}>\n <div className=\"flex min-w-0 flex-1 flex-col gap-12 @banner:flex-row @banner:items-center @banner:gap-24\">\n <div className=\"flex min-w-0 flex-1 items-start gap-8\">\n <Icon icon={icon ?? ICON[tone]} size=\"sm\" className={cn(\"mt-2\", ICON_TONE[tone])} />\n <div className=\"flex min-w-0 flex-1 flex-col gap-2 text-body\">\n {title && <span className=\"font-semibold text-fg\">{title}</span>}\n {children && <div className=\"text-fg text-pretty\">{children}</div>}\n </div>\n </div>\n {actions && <div className=\"ml-24 flex shrink-0 flex-wrap items-center gap-8 @banner:ml-0\">{actions}</div>}\n </div>\n {dismissible && (\n <IconButton\n icon={__icon_Cancel01Icon}\n aria-label={t(\"banner.dismiss\", \"Dismiss\")}\n size=\"xs\"\n className=\"-my-2 -mr-6\"\n onClick={() => {\n setHidden(true);\n onDismiss?.();\n }}\n />\n )}\n </div>\n </div>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Banner.displayName = \"Banner\";\n"],"mappings":";;;;;;;;;AAOA,IAAaS,IAAwB;CACnC,MAAM;EACJ,SAAS,EAAE,SAAS,oBAAoB;EACxC,MAAM,EAAE,SAAS,uBAAuB;EACxC,SAAS,EAAE,SAAS,0BAA0B;EAC9C,SAAS,EAAE,SAAS,0BAA0B;EAC9C,QAAQ,EAAE,SAAS,yBAAyB;CAC9C;CACA,QAAQ;EACN,QAAQ,EAAE,SAAS,2BAA2B;EAC9C,MAAM,EAAE,SAAS,2BAA2B;CAC9C;AACF,GACaC,IAAgC;CAAE,MAAM;CAAW,QAAQ;AAAS,GAE3EC,IAAkE;CACtE,SAASX;CACT,MAAMA;CACN,SAASC;CACT,SAASC;CACT,QAAQC;AACV,GACMa,IAAY;CAChB,SAAS;CACT,MAAM;CACN,SAAS;CACT,SAAS;CACT,QAAQ;AACV,GAaaC,IAAyB,kBAAwC,SAC5E,EAAE,UAAO,WAAW,YAAS,UAAU,UAAO,aAAU,SAAM,YAAS,cAAW,gBAClF,GACA;CACA,IAAM,CAACC,GAAQC,KAAaC,EAAS,EAAK,GACpCC,IAAIf,EAAU;CACpB,IAAIY,GAAQ,OAAO;CACnB,IAAMI,IAAcC,MAAcC,MAAS,aAAaA,MAAS;CACjE,OACE,kBAAC,OAAD;EACO;EACL,MAAMA,MAAS,WAAW,UAAU;EACpC,WAAWnB,EAAG,qBAAqBI,EAAsB,KAAKe,EAAK,CAAC,SAASf,EAAsB,OAAOgB,EAAO,CAAC,SAASC,CAAS;EAEpI,UAAA,kBAAC,OAAD;GAAK,WAAWrB,EAAG,0BAA0BsB,KAAW,sBAAsB;GAA9E,UAAA,CACE,kBAAC,OAAD;IAAK,WAAU;IAAf,UAAA,CACE,kBAAC,OAAD;KAAK,WAAU;KAAf,UAAA,CACE,kBAACpB,GAAD;MAAM,MAAMqB,KAAQjB,EAAKa;MAAO,MAAK;MAAK,WAAWnB,EAAG,QAAQW,EAAUQ,EAAK;KAAI,CAAA,GACnF,kBAAC,OAAD;MAAK,WAAU;MAAf,UAAA,CACGK,KAAS,kBAAC,QAAD;OAAM,WAAU;OAAyB,UAAAA;MAAY,CAAA,GAC9DC,KAAY,kBAAC,OAAD;OAAK,WAAU;OAAuB;MAAc,CAAA,CAC9D;KACF,CAAA,CAAA;IACJ,CAAA,GAAAH,KAAW,kBAAC,OAAD;KAAK,WAAU;KAAiE,UAAAA;IAAa,CAAA,CACtG;GACJ,CAAA,GAAAL,KACC,kBAACd,GAAD;IACE,MAAMJ;IACN,cAAYiB,EAAE,kBAAkB,SAAS;IACzC,MAAK;IACL,WAAU;IACV,eAAe;KAEb,AADAF,EAAU,EAAI,GACdI,IAAY;IACd;GACD,CAAA,CAEA;;CACF,CAAA;AAET,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAO,cAAc"}
@@ -1,12 +1,12 @@
1
1
  "use client";
2
- import { t as e } from "./cn-DUDmdLpZ.js";
2
+ import { t as e } from "./cn-Dj6sRgkF.js";
3
3
  import { i as t, r as n } from "./dev-CR1p7gCm.js";
4
4
  import { n as r, r as i } from "./link-provider-BsUxhZKG.js";
5
- import { t as a } from "./icon-BqujXDUc.js";
6
- import { i as o } from "./kbd-DqWmbr_e.js";
7
- import { r as s } from "./tooltip-CTBnfiDH.js";
8
- import { i as c, r as l } from "./loader-ENBh2Fbt.js";
9
- import { r as u } from "./swap-text-Cica0pUr.js";
5
+ import { t as a } from "./icon-D7ja-_Yk.js";
6
+ import { i as o } from "./kbd-BF1vKXJf.js";
7
+ import { r as s } from "./tooltip-BMQ9BtPp.js";
8
+ import { i as c, r as l } from "./loader-DCfPndXa.js";
9
+ import { r as u } from "./swap-text-Dr0Irxz6.js";
10
10
  import { forwardRef as d } from "react";
11
11
  import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
12
12
  //#region src/components/button/button.tsx
@@ -22,15 +22,15 @@ var h = {
22
22
  link: { classes: "bg-transparent text-fg underline decoration-line-strong decoration-1 underline-offset-3 hover:decoration-current disabled:text-fg-disabled" }
23
23
  },
24
24
  size: {
25
- xs: { classes: "h-24 px-10 gap-4 text-caption font-medium" },
26
- sm: { classes: "h-32 px-12 gap-6 text-body font-medium" },
27
- md: { classes: "h-36 px-16 gap-6 text-body font-medium" },
28
- lg: { classes: "h-40 px-18 gap-8 text-body font-medium" },
29
- xl: { classes: "h-48 px-22 gap-8 text-body-lg font-medium" }
25
+ xs: { classes: "h-24 px-10 gap-4 text-caption font-medium ghost-end:-mr-10 ghost-start:-ml-10" },
26
+ sm: { classes: "h-32 px-12 gap-6 text-body font-medium ghost-end:-mr-12 ghost-start:-ml-12" },
27
+ md: { classes: "h-36 px-16 gap-6 text-body font-medium ghost-end:-mr-16 ghost-start:-ml-16" },
28
+ lg: { classes: "h-40 px-18 gap-8 text-body font-medium ghost-end:-mr-18 ghost-start:-ml-18" },
29
+ xl: { classes: "h-48 px-22 gap-8 text-body-lg font-medium ghost-end:-mr-22 ghost-start:-ml-22" }
30
30
  },
31
31
  shape: {
32
32
  pill: { classes: "rounded-pill" },
33
- circle: { classes: "rounded-pill p-0 justify-center" }
33
+ circle: { classes: "rounded-pill p-0 justify-center ghost-end:mr-0 ghost-start:ml-0" }
34
34
  }
35
35
  }, g = {
36
36
  variant: "secondary",
@@ -161,4 +161,4 @@ process.env.NODE_ENV !== "production" && (S.displayName = "Button");
161
161
  //#endregion
162
162
  export { x as a, h as i, S as n, g as r, b as t };
163
163
 
164
- //# sourceMappingURL=button-h2IFCER2.js.map
164
+ //# sourceMappingURL=button-Dzu7_csE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-Dzu7_csE.js","names":["_Fragment","cn","warnStylingClassName","warnMissingName","isExternalHref","useLinkComponent","Icon","KbdSequence","Tooltip","useDelayedLoading","Spinner","SwapText","Fragment$1","KAESO_BUTTON_VARIANTS","KAESO_BUTTON_DEFAULT_VARIANTS","LEADING_ICON_PADDING","TRAILING_ICON_PADDING","CIRCLE","BUTTON_ICON_SIZE","buttonClasses","size","shape","leading","variant","trailing","fullWidth","Button","rest","props","LinkComp","className","spinning","loading","busy","isCircle","iconSize","spinnerSize","leadingIcon","trailingIcon","shortcut","count","reserveLabels","domProps","k","softDisabled","disabledReason","disabled","inert","classes","content","handleClick","onClick","el","href","external","target","rel","type"],"sources":["../../src/components/button/button.tsx"],"sourcesContent":["import { forwardRef, type ButtonHTMLAttributes, type MouseEvent, type ReactElement, type ReactNode, type Ref } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { useLinkComponent, isExternalHref } from \"../../utils/link-provider.js\";\nimport { warnMissingName, warnStylingClassName } from \"../../utils/dev.js\";\nimport { Icon, type IconData, type IconSize } from \"../icon/icon.js\";\nimport { Spinner, useDelayedLoading } from \"../loader/loader.js\";\nimport { KbdSequence } from \"../kbd/kbd.js\";\nimport { Tooltip } from \"../tooltip/tooltip.js\";\nimport { SwapText } from \"../swap-text/swap-text.js\";\n\nexport const KAESO_BUTTON_VARIANTS = {\n variant: {\n primary: { classes: \"material-primary\" },\n secondary: { classes: \"material-secondary\" },\n ghost: { classes: \"material-ghost\" },\n quiet: {\n classes: \"material-ghost text-fg-secondary hover:text-fg\",\n },\n soft: { classes: \"material-soft\" },\n danger: { classes: \"material-danger\" },\n \"danger-secondary\": { classes: \"material-danger-secondary\" },\n link: {\n classes: \"bg-transparent text-fg underline decoration-line-strong decoration-1 underline-offset-3 hover:decoration-current disabled:text-fg-disabled\",\n },\n },\n size: {\n xs: { classes: \"h-24 px-10 gap-4 text-caption font-medium ghost-end:-mr-10 ghost-start:-ml-10\" },\n sm: { classes: \"h-32 px-12 gap-6 text-body font-medium ghost-end:-mr-12 ghost-start:-ml-12\" },\n md: { classes: \"h-36 px-16 gap-6 text-body font-medium ghost-end:-mr-16 ghost-start:-ml-16\" },\n lg: { classes: \"h-40 px-18 gap-8 text-body font-medium ghost-end:-mr-18 ghost-start:-ml-18\" },\n xl: {\n classes: \"h-48 px-22 gap-8 text-body-lg font-medium ghost-end:-mr-22 ghost-start:-ml-22\",\n },\n },\n shape: {\n pill: { classes: \"rounded-pill\" },\n circle: { classes: \"rounded-pill p-0 justify-center ghost-end:mr-0 ghost-start:ml-0\" },\n },\n} as const;\nexport const KAESO_BUTTON_DEFAULT_VARIANTS = { variant: \"secondary\", size: \"md\", shape: \"pill\" } as const;\n\nexport type ButtonVariant = keyof typeof KAESO_BUTTON_VARIANTS.variant;\nexport type ButtonSize = keyof typeof KAESO_BUTTON_VARIANTS.size;\nexport type ButtonShape = keyof typeof KAESO_BUTTON_VARIANTS.shape;\n\nconst LEADING_ICON_PADDING: Record<ButtonSize, string> = { xs: \"pl-8\", sm: \"pl-10\", md: \"pl-14\", lg: \"pl-16\", xl: \"pl-20\" };\nconst TRAILING_ICON_PADDING: Record<ButtonSize, string> = { xs: \"pr-8\", sm: \"pr-10\", md: \"pr-14\", lg: \"pr-16\", xl: \"pr-20\" };\nconst CIRCLE: Record<ButtonSize, string> = { xs: \"size-24\", sm: \"size-32\", md: \"size-36\", lg: \"size-40\", xl: \"size-48\" };\nexport const BUTTON_ICON_SIZE: Record<ButtonSize, IconSize> = { xs: \"xs\", sm: \"sm\", md: \"sm\", lg: \"md\", xl: \"lg\" };\n\nexport function buttonClasses({\n variant = KAESO_BUTTON_DEFAULT_VARIANTS.variant,\n size = KAESO_BUTTON_DEFAULT_VARIANTS.size,\n shape = KAESO_BUTTON_DEFAULT_VARIANTS.shape,\n leading = false,\n trailing = false,\n fullWidth = false,\n}: {\n variant?: ButtonVariant | undefined;\n size?: ButtonSize | undefined;\n shape?: ButtonShape | undefined;\n leading?: boolean | undefined;\n trailing?: boolean | undefined;\n fullWidth?: boolean | undefined;\n} = {}) {\n return cn(\n \"relative inline-flex shrink-0 select-none items-center justify-center whitespace-nowrap no-underline\",\n \"cursor-pointer transition-control focus-ring tap-target disabled:cursor-not-allowed\",\n KAESO_BUTTON_VARIANTS.size[size].classes,\n KAESO_BUTTON_VARIANTS.shape[shape].classes,\n shape === \"circle\" && CIRCLE[size],\n shape === \"pill\" && leading && variant !== \"link\" && LEADING_ICON_PADDING[size],\n shape === \"pill\" && trailing && variant !== \"link\" && TRAILING_ICON_PADDING[size],\n variant === \"link\" && \"-mx-4 px-4\",\n KAESO_BUTTON_VARIANTS.variant[variant].classes,\n fullWidth && \"w-full\",\n );\n}\n\ninterface CommonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, \"children\"> {\n variant?: ButtonVariant | undefined;\n size?: ButtonSize | undefined;\n loading?: boolean | undefined;\n disabledReason?: string | undefined;\n href?: string | undefined;\n target?: string | undefined;\n rel?: string | undefined;\n fullWidth?: boolean | undefined;\n \"data-force\"?: string | undefined;\n}\n\nexport interface PillButtonProps extends CommonProps {\n shape?: \"pill\" | undefined;\n children: ReactNode;\n leadingIcon?: IconData | undefined;\n trailingIcon?: IconData | undefined;\n shortcut?: string[] | string[][] | undefined;\n count?: number | undefined;\n reserveLabels?: ReactNode[] | undefined;\n}\n\nexport interface CircleButtonProps extends CommonProps {\n shape: \"circle\";\n icon: IconData;\n \"aria-label\": string;\n children?: never | undefined;\n}\n\nexport type ButtonProps = PillButtonProps | CircleButtonProps;\n\nexport const Button = /* @__PURE__ */ forwardRef<HTMLButtonElement | HTMLAnchorElement, ButtonProps>(function Button(props, ref) {\n const {\n variant = KAESO_BUTTON_DEFAULT_VARIANTS.variant,\n size = KAESO_BUTTON_DEFAULT_VARIANTS.size,\n loading = false,\n disabled = false,\n disabledReason,\n href,\n target,\n rel,\n fullWidth,\n className,\n type,\n onClick,\n ...rest\n } = props;\n const LinkComp = useLinkComponent();\n warnStylingClassName(\"Button\", className);\n\n const spinning = useDelayedLoading(loading);\n const busy = loading || spinning;\n const isCircle = props.shape === \"circle\";\n const iconSize = BUTTON_ICON_SIZE[size];\n const spinnerSize = iconSize === \"xs\" ? \"xs\" : iconSize === \"sm\" ? \"sm\" : \"md\";\n const leadingIcon = !isCircle ? (props as PillButtonProps).leadingIcon : undefined;\n const trailingIcon = !isCircle ? (props as PillButtonProps).trailingIcon : undefined;\n const shortcut = !isCircle ? (props as PillButtonProps).shortcut : undefined;\n const count = !isCircle ? (props as PillButtonProps).count : undefined;\n const reserveLabels = !isCircle ? (props as PillButtonProps).reserveLabels : undefined;\n if (isCircle) warnMissingName(\"Button\", !!(props as CircleButtonProps)[\"aria-label\"]);\n\n const domProps = { ...rest } as Record<string, unknown>;\n for (const k of [\"shape\", \"icon\", \"leadingIcon\", \"trailingIcon\", \"shortcut\", \"count\", \"children\", \"reserveLabels\"]) delete domProps[k];\n\n const softDisabled = !!disabledReason && disabled;\n const inert = busy || softDisabled;\n const classes = cn(\n buttonClasses({\n variant,\n size,\n shape: isCircle ? \"circle\" : \"pill\",\n leading: !!leadingIcon,\n trailing: !!trailingIcon || !!shortcut || count !== undefined,\n fullWidth: !!fullWidth,\n }),\n busy && \"cursor-progress\",\n className,\n );\n\n const content = isCircle ? (\n spinning ? (\n <Spinner size={spinnerSize} />\n ) : (\n <Icon icon={(props as CircleButtonProps).icon} size={iconSize} />\n )\n ) : (\n <>\n {spinning && leadingIcon ? <Spinner size={spinnerSize} /> : leadingIcon ? <Icon icon={leadingIcon} size={iconSize} /> : null}\n <span className={cn(\"inline-flex min-w-0 items-center\", spinning && !leadingIcon && \"opacity-0\")}>\n {reserveLabels ? <SwapText reserve={reserveLabels}>{(props as PillButtonProps).children}</SwapText> : (props as PillButtonProps).children}\n </span>\n {count !== undefined && (\n <span\n className={cn(\n \"inline-flex h-20 min-w-20 items-center justify-center rounded-pill px-6 text-caption font-medium tabular\",\n variant === \"primary\" ? \"bg-on-ink/15 text-on-ink\" : variant === \"danger\" ? \"bg-on-danger/20 text-on-danger\" : \"bg-fill-2 text-fg-secondary\",\n )}\n >\n {count}\n </span>\n )}\n {shortcut && <KbdSequence keys={shortcut} tone={variant === \"primary\" || variant === \"danger\" ? \"onInk\" : \"default\"} />}\n {trailingIcon && <Icon icon={trailingIcon} size={iconSize} />}\n {spinning && !leadingIcon && <Spinner size={spinnerSize} className=\"absolute inset-0 m-auto\" />}\n </>\n );\n\n const handleClick = (e: MouseEvent<HTMLButtonElement & HTMLAnchorElement>) => {\n if (inert) {\n e.preventDefault();\n return;\n }\n onClick?.(e as MouseEvent<HTMLButtonElement>);\n };\n\n let el: ReactNode;\n if (href && !disabled) {\n const external = isExternalHref(href);\n el = (\n <LinkComp\n ref={ref as Ref<HTMLAnchorElement>}\n href={href}\n className={classes}\n {...(target ? { target } : external ? { target: \"_blank\" } : {})}\n {...(rel ? { rel } : external ? { rel: \"noopener noreferrer\" } : {})}\n {...(domProps as object)}\n {...(busy ? { \"aria-busy\": true, \"data-loading\": \"\" } : {})}\n onClick={handleClick}\n >\n {content}\n </LinkComp>\n );\n } else {\n el = (\n <button\n ref={ref as Ref<HTMLButtonElement>}\n type={type ?? \"button\"}\n className={classes}\n disabled={disabled && !softDisabled}\n {...(domProps as object)}\n {...(softDisabled ? { \"aria-disabled\": true } : {})}\n {...(busy ? { \"aria-busy\": true, \"data-loading\": \"\" } : {})}\n {...(softDisabled ? { \"data-disabled\": \"\" } : {})}\n onClick={handleClick}\n >\n {content}\n </button>\n );\n }\n\n if (disabledReason && disabled) {\n return <Tooltip content={disabledReason}>{el as ReactElement}</Tooltip>;\n }\n return el;\n});\nif (process.env.NODE_ENV !== \"production\") Button.displayName = \"Button\";\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { i as e, r as t } from "./context-BELWW79w.js";
3
- import { t as n } from "./icon-BqujXDUc.js";
3
+ import { t as n } from "./icon-D7ja-_Yk.js";
4
4
  import { useMemo as r } from "react";
5
5
  import { jsx as i } from "react/jsx-runtime";
6
6
  import { ArrowDown01Icon as a, ArrowLeft01Icon as o, ArrowRight01Icon as s } from "@hugeicons/core-free-icons";
@@ -104,4 +104,4 @@ process.env.NODE_ENV !== "production" && (m.displayName = "Calendar");
104
104
  //#endregion
105
105
  export { u as n, l as r, m as t };
106
106
 
107
- //# sourceMappingURL=calendar-cVuezHQ6.js.map
107
+ //# sourceMappingURL=calendar--YemJsv4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"calendar-cVuezHQ6.js","names":["__icon_ArrowLeft01Icon","__icon_ArrowRight01Icon","__icon_ArrowDown01Icon","useUiText","useLocale","Icon","KAESO_CALENDAR_VARIANTS","KAESO_CALENDAR_DEFAULT_VARIANTS","CAL_CLASSES","Chevron","orientation","ArrowLeft01Icon","ArrowRight01Icon","ArrowDown01Icon","localized","monthYear","locale","weekdayShort","weekdayLong","full","month","weekday","label","date","modifiers","Calendar","t","common","useMemo","own","numberOfMonths","defaultMonth","onMonthChange","disabled","className","mode","DayPicker","onSelect","r","d"],"sources":["../../src/components/calendar/calendar.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport { DayPicker, type DateRange, type Formatters, type Labels } from \"react-day-picker\";\nimport { Icon } from \"../icon/icon.js\";\nimport { ArrowLeft01Icon as __icon_ArrowLeft01Icon, ArrowRight01Icon as __icon_ArrowRight01Icon, ArrowDown01Icon as __icon_ArrowDown01Icon } from \"@hugeicons/core-free-icons\";\nimport { useLocale, useUiText, type UiText } from \"../../i18n/context.js\";\n\nexport const KAESO_CALENDAR_VARIANTS = {\n mode: {\n single: { classes: \"\" },\n range: { classes: \"\" },\n },\n} as const;\nexport const KAESO_CALENDAR_DEFAULT_VARIANTS = { mode: \"single\" } as const;\n\nconst CAL_CLASSES = {\n root: \"k-cal relative select-none\",\n months: \"flex gap-24\",\n month: \"flex flex-col gap-8\",\n month_caption: \"flex h-32 items-center px-8 text-body font-semibold text-fg\",\n caption_label: \"\",\n nav: \"absolute top-0 right-0 flex items-center gap-2\",\n button_previous:\n \"inline-flex size-32 items-center justify-center rounded-pill text-fg-secondary transition-control hover:bg-fill-1 hover:text-fg focus-ring disabled:opacity-40\",\n button_next:\n \"inline-flex size-32 items-center justify-center rounded-pill text-fg-secondary transition-control hover:bg-fill-1 hover:text-fg focus-ring disabled:opacity-40\",\n month_grid: \"border-collapse\",\n weekdays: \"\",\n weekday: \"h-32 w-36 text-caption font-medium text-fg-tertiary\",\n weeks: \"\",\n week: \"\",\n day: \"k-day\",\n day_button: \"\",\n selected: \"k-selected\",\n today: \"k-today\",\n outside: \"k-outside\",\n disabled: \"k-disabled\",\n range_start: \"k-range-start\",\n range_middle: \"k-range-middle\",\n range_end: \"k-range-end\",\n hidden: \"invisible\",\n focused: \"\",\n chevron: \"\",\n footer: \"\",\n};\n\nfunction Chevron({ orientation }: { orientation?: \"left\" | \"right\" | \"up\" | \"down\" | undefined }) {\n return <Icon icon={orientation === \"left\" ? __icon_ArrowLeft01Icon : orientation === \"right\" ? __icon_ArrowRight01Icon : __icon_ArrowDown01Icon} size=\"sm\" />;\n}\n\nfunction localized(locale: string, t: UiText): { formatters: Partial<Formatters>; labels: Partial<Labels>; lang: string } {\n const monthYear = new Intl.DateTimeFormat(locale, { month: \"long\", year: \"numeric\" });\n const weekdayShort = new Intl.DateTimeFormat(locale, { weekday: \"short\" });\n const weekdayLong = new Intl.DateTimeFormat(locale, { weekday: \"long\" });\n const full = new Intl.DateTimeFormat(locale, { dateStyle: \"full\" });\n return {\n lang: locale,\n formatters: {\n formatCaption: (month) => monthYear.format(month),\n formatWeekdayName: (weekday) => weekdayShort.format(weekday).replace(/\\.$/, \"\"),\n },\n labels: {\n labelPrevious: () => t(\"calendar.previousMonth\", \"Go to the previous month\"),\n labelNext: () => t(\"calendar.nextMonth\", \"Go to the next month\"),\n labelNav: () => t(\"calendar.navigation\", \"Navigation bar\"),\n labelGrid: (month) => monthYear.format(month),\n labelWeekday: (weekday) => weekdayLong.format(weekday),\n labelDayButton: (date, modifiers) => {\n let label = full.format(date);\n if (modifiers.today) label = t(\"calendar.today\", \"Today, {date}\", { date: label });\n if (modifiers.selected) label = t(\"calendar.selected\", \"{date}, selected\", { date: label });\n return label;\n },\n },\n };\n}\n\nexport interface CalendarProps {\n mode?: keyof typeof KAESO_CALENDAR_VARIANTS.mode | undefined;\n selected?: Date | DateRange | undefined;\n onSelect?: ((value: Date | DateRange | undefined) => void) | undefined;\n month?: Date | undefined;\n defaultMonth?: Date | undefined;\n onMonthChange?: ((month: Date) => void) | undefined;\n numberOfMonths?: number | undefined;\n weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined;\n disabled?: ((date: Date) => boolean) | undefined;\n className?: string | undefined;\n}\n\nexport function Calendar({\n mode = \"single\",\n selected,\n onSelect,\n month,\n defaultMonth,\n onMonthChange,\n numberOfMonths = 1,\n weekStartsOn = 1,\n disabled,\n className,\n}: CalendarProps) {\n const locale = useLocale();\n const t = useUiText();\n const language = useMemo(() => {\n const own = localized(locale, t);\n return locale === \"en\" ? { labels: own.labels } : own;\n }, [locale, t]);\n const common = {\n ...language,\n classNames: numberOfMonths > 1 ? { ...CAL_CLASSES, outside: \"k-outside invisible\" } : CAL_CLASSES,\n components: { Chevron },\n weekStartsOn,\n numberOfMonths,\n showOutsideDays: true,\n fixedWeeks: true,\n ...(month ? { month } : {}),\n ...(defaultMonth ? { defaultMonth } : {}),\n ...(onMonthChange ? { onMonthChange } : {}),\n ...(disabled ? { disabled } : {}),\n ...(className ? { className } : {}),\n };\n if (mode === \"range\") {\n return <DayPicker mode=\"range\" selected={selected as DateRange | undefined} onSelect={(r) => onSelect?.(r)} {...common} />;\n }\n return <DayPicker mode=\"single\" selected={selected as Date | undefined} onSelect={(d) => onSelect?.(d)} {...common} />;\n}\nif (process.env.NODE_ENV !== \"production\") Calendar.displayName = \"Calendar\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"calendar--YemJsv4.js","names":["__icon_ArrowLeft01Icon","__icon_ArrowRight01Icon","__icon_ArrowDown01Icon","useUiText","useLocale","Icon","KAESO_CALENDAR_VARIANTS","KAESO_CALENDAR_DEFAULT_VARIANTS","CAL_CLASSES","Chevron","orientation","ArrowLeft01Icon","ArrowRight01Icon","ArrowDown01Icon","localized","monthYear","locale","weekdayShort","weekdayLong","full","month","weekday","label","date","modifiers","Calendar","t","common","useMemo","own","numberOfMonths","defaultMonth","onMonthChange","disabled","className","mode","DayPicker","onSelect","r","d"],"sources":["../../src/components/calendar/calendar.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport { DayPicker, type DateRange, type Formatters, type Labels } from \"react-day-picker\";\nimport { Icon } from \"../icon/icon.js\";\nimport { ArrowLeft01Icon as __icon_ArrowLeft01Icon, ArrowRight01Icon as __icon_ArrowRight01Icon, ArrowDown01Icon as __icon_ArrowDown01Icon } from \"@hugeicons/core-free-icons\";\nimport { useLocale, useUiText, type UiText } from \"../../i18n/context.js\";\n\nexport const KAESO_CALENDAR_VARIANTS = {\n mode: {\n single: { classes: \"\" },\n range: { classes: \"\" },\n },\n} as const;\nexport const KAESO_CALENDAR_DEFAULT_VARIANTS = { mode: \"single\" } as const;\n\nconst CAL_CLASSES = {\n root: \"k-cal relative select-none\",\n months: \"flex gap-24\",\n month: \"flex flex-col gap-8\",\n month_caption: \"flex h-32 items-center px-8 text-body font-semibold text-fg\",\n caption_label: \"\",\n nav: \"absolute top-0 right-0 flex items-center gap-2\",\n button_previous:\n \"inline-flex size-32 items-center justify-center rounded-pill text-fg-secondary transition-control hover:bg-fill-1 hover:text-fg focus-ring disabled:opacity-40\",\n button_next:\n \"inline-flex size-32 items-center justify-center rounded-pill text-fg-secondary transition-control hover:bg-fill-1 hover:text-fg focus-ring disabled:opacity-40\",\n month_grid: \"border-collapse\",\n weekdays: \"\",\n weekday: \"h-32 w-36 text-caption font-medium text-fg-tertiary\",\n weeks: \"\",\n week: \"\",\n day: \"k-day\",\n day_button: \"\",\n selected: \"k-selected\",\n today: \"k-today\",\n outside: \"k-outside\",\n disabled: \"k-disabled\",\n range_start: \"k-range-start\",\n range_middle: \"k-range-middle\",\n range_end: \"k-range-end\",\n hidden: \"invisible\",\n focused: \"\",\n chevron: \"\",\n footer: \"\",\n};\n\nfunction Chevron({ orientation }: { orientation?: \"left\" | \"right\" | \"up\" | \"down\" | undefined }) {\n return <Icon icon={orientation === \"left\" ? __icon_ArrowLeft01Icon : orientation === \"right\" ? __icon_ArrowRight01Icon : __icon_ArrowDown01Icon} size=\"sm\" />;\n}\n\nfunction localized(locale: string, t: UiText): { formatters: Partial<Formatters>; labels: Partial<Labels>; lang: string } {\n const monthYear = new Intl.DateTimeFormat(locale, { month: \"long\", year: \"numeric\" });\n const weekdayShort = new Intl.DateTimeFormat(locale, { weekday: \"short\" });\n const weekdayLong = new Intl.DateTimeFormat(locale, { weekday: \"long\" });\n const full = new Intl.DateTimeFormat(locale, { dateStyle: \"full\" });\n return {\n lang: locale,\n formatters: {\n formatCaption: (month) => monthYear.format(month),\n formatWeekdayName: (weekday) => weekdayShort.format(weekday).replace(/\\.$/, \"\"),\n },\n labels: {\n labelPrevious: () => t(\"calendar.previousMonth\", \"Go to the previous month\"),\n labelNext: () => t(\"calendar.nextMonth\", \"Go to the next month\"),\n labelNav: () => t(\"calendar.navigation\", \"Navigation bar\"),\n labelGrid: (month) => monthYear.format(month),\n labelWeekday: (weekday) => weekdayLong.format(weekday),\n labelDayButton: (date, modifiers) => {\n let label = full.format(date);\n if (modifiers.today) label = t(\"calendar.today\", \"Today, {date}\", { date: label });\n if (modifiers.selected) label = t(\"calendar.selected\", \"{date}, selected\", { date: label });\n return label;\n },\n },\n };\n}\n\nexport interface CalendarProps {\n mode?: keyof typeof KAESO_CALENDAR_VARIANTS.mode | undefined;\n selected?: Date | DateRange | undefined;\n onSelect?: ((value: Date | DateRange | undefined) => void) | undefined;\n month?: Date | undefined;\n defaultMonth?: Date | undefined;\n onMonthChange?: ((month: Date) => void) | undefined;\n numberOfMonths?: number | undefined;\n weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined;\n disabled?: ((date: Date) => boolean) | undefined;\n className?: string | undefined;\n}\n\nexport function Calendar({\n mode = \"single\",\n selected,\n onSelect,\n month,\n defaultMonth,\n onMonthChange,\n numberOfMonths = 1,\n weekStartsOn = 1,\n disabled,\n className,\n}: CalendarProps) {\n const locale = useLocale();\n const t = useUiText();\n const language = useMemo(() => {\n const own = localized(locale, t);\n return locale === \"en\" ? { labels: own.labels } : own;\n }, [locale, t]);\n const common = {\n ...language,\n classNames: numberOfMonths > 1 ? { ...CAL_CLASSES, outside: \"k-outside invisible\" } : CAL_CLASSES,\n components: { Chevron },\n weekStartsOn,\n numberOfMonths,\n showOutsideDays: true,\n fixedWeeks: true,\n ...(month ? { month } : {}),\n ...(defaultMonth ? { defaultMonth } : {}),\n ...(onMonthChange ? { onMonthChange } : {}),\n ...(disabled ? { disabled } : {}),\n ...(className ? { className } : {}),\n };\n if (mode === \"range\") {\n return <DayPicker mode=\"range\" selected={selected as DateRange | undefined} onSelect={(r) => onSelect?.(r)} {...common} />;\n }\n return <DayPicker mode=\"single\" selected={selected as Date | undefined} onSelect={(d) => onSelect?.(d)} {...common} />;\n}\nif (process.env.NODE_ENV !== \"production\") Calendar.displayName = \"Calendar\";\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { l as e } from "./styles-CVJU9t9v.js";
3
- import { t } from "./cn-DUDmdLpZ.js";
3
+ import { t } from "./cn-Dj6sRgkF.js";
4
4
  import { t as n } from "./labelled-D5udSPUI.js";
5
5
  import { forwardRef as r, useId as i } from "react";
6
6
  import { jsx as a, jsxs as o } from "react/jsx-runtime";
@@ -121,4 +121,4 @@ var h = /* @__PURE__ */ Object.assign(p, {
121
121
  //#endregion
122
122
  export { u as a, d as i, f as n, l as o, g as r, h as t };
123
123
 
124
- //# sourceMappingURL=checkbox-C5yvSS7O.js.map
124
+ //# sourceMappingURL=checkbox-CDfC6E-M.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox-C5yvSS7O.js","names":["BaseCheckbox","CheckboxGroup","BaseCheckboxGroup","Checkbox","__exportAll","labelled","checkbox_exports","Checkbox$1","CheckboxBox","CheckboxGroup$1","KAESO_CHECKBOX_DEFAULT_VARIANTS","KAESO_CHECKBOX_VARIANTS","ariaLabel","describedBy","labelledBy","force","Checkbox","checked","defaultChecked","onCheckedChange","c","indeterminate","disabled","readOnly","required","name","value","id","parent","invalid","cn","className","Root","props","auto","useId","boxId","label","named","description","Group","CheckboxGroup","defaultValue","onValueChange","v","allValues"],"sources":["../../src/components/checkbox/checkbox.tsx"],"sourcesContent":["import { forwardRef, useId, type ReactNode } from \"react\";\nimport { Checkbox as BaseCheckbox } from \"@base-ui/react/checkbox\";\nimport { CheckboxGroup as BaseCheckboxGroup } from \"@base-ui/react/checkbox-group\";\nimport { cn } from \"../../utils/cn.js\";\nimport { labelled } from \"../radio/labelled.js\";\n\nexport const KAESO_CHECKBOX_VARIANTS = {\n size: {\n md: { classes: \"size-18 rounded-checkbox\" },\n },\n} as const;\nexport const KAESO_CHECKBOX_DEFAULT_VARIANTS = { size: \"md\" } as const;\n\nexport interface CheckboxProps {\n checked?: boolean | undefined;\n defaultChecked?: boolean | undefined;\n onCheckedChange?: ((checked: boolean) => void) | undefined;\n indeterminate?: boolean | undefined;\n disabled?: boolean | undefined;\n readOnly?: boolean | undefined;\n required?: boolean | undefined;\n invalid?: boolean | undefined;\n name?: string | undefined;\n value?: string | undefined;\n label?: ReactNode | undefined;\n description?: ReactNode | undefined;\n id?: string | undefined;\n \"aria-label\"?: string | undefined;\n \"aria-describedby\"?: string | undefined;\n \"aria-labelledby\"?: string | undefined;\n className?: string | undefined;\n \"data-force\"?: string | undefined;\n}\n\nexport const CheckboxBox = /* @__PURE__ */ forwardRef<HTMLButtonElement, CheckboxProps & { parent?: boolean | undefined }>(function CheckboxBox(\n {\n checked,\n defaultChecked,\n onCheckedChange,\n indeterminate,\n disabled,\n readOnly,\n required,\n invalid,\n name,\n value,\n id,\n className,\n parent,\n \"aria-label\": ariaLabel,\n \"aria-describedby\": describedBy,\n \"aria-labelledby\": labelledBy,\n \"data-force\": force,\n },\n ref,\n) {\n return (\n <BaseCheckbox.Root\n ref={ref}\n {...(checked !== undefined ? { checked } : {})}\n {...(defaultChecked !== undefined ? { defaultChecked } : {})}\n {...(onCheckedChange ? { onCheckedChange: (c: boolean) => onCheckedChange(c) } : {})}\n {...(indeterminate !== undefined ? { indeterminate } : {})}\n {...(disabled !== undefined ? { disabled } : {})}\n {...(readOnly !== undefined ? { readOnly } : {})}\n {...(required !== undefined ? { required } : {})}\n {...(name ? { name } : {})}\n {...(value ? { value } : {})}\n {...(id ? { id } : {})}\n {...(parent ? { parent } : {})}\n {...(ariaLabel ? { \"aria-label\": ariaLabel } : {})}\n {...(describedBy ? { \"aria-describedby\": describedBy } : {})}\n {...(labelledBy ? { \"aria-labelledby\": labelledBy } : {})}\n {...(invalid ? { \"aria-invalid\": true } : {})}\n {...(force ? { \"data-force\": force } : {})}\n className={cn(\n \"group/cb relative -m-3 inline-flex size-24 shrink-0 cursor-pointer items-center justify-center rounded-checkbox outline-none tap-target disabled:cursor-not-allowed\",\n className,\n )}\n >\n <span\n aria-hidden\n className={cn(\n \"flex items-center justify-center bg-raised shadow-selector outline-2 outline-offset-2 outline-transparent transition-control\",\n KAESO_CHECKBOX_VARIANTS.size.md.classes,\n invalid ? \"group-focus-visible/cb:outline-focus\" : \"group-hover/cb:shadow-selector-hover group-focus-visible/cb:outline-focus\",\n \"group-checked/cb:bg-ink group-checked/cb:shadow-none group-indeterminate/cb:bg-ink group-indeterminate/cb:shadow-none\",\n \"group-invalid/cb:ring-invalid\",\n \"group-disabled/cb:bg-fill-1 group-disabled/cb:shadow-none group-disabled/cb:group-checked/cb:bg-fill-3\",\n )}\n >\n <BaseCheckbox.Indicator keepMounted className=\"flex items-center justify-center text-on-ink group-data-disabled/cb:text-fg-disabled\">\n <svg viewBox=\"0 0 12 12\" className=\"size-12\" fill=\"none\" aria-hidden>\n <path\n d=\"M2.5 6.25 4.9 8.5 9.5 3.75\"\n stroke=\"currentColor\"\n strokeWidth=\"1.75\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n pathLength={1}\n className=\"check-draw hidden group-data-checked/cb:block\"\n />\n <path d=\"M3 6h6\" stroke=\"currentColor\" strokeWidth=\"1.75\" strokeLinecap=\"round\" className=\"hidden group-data-indeterminate/cb:block\" />\n </svg>\n </BaseCheckbox.Indicator>\n </span>\n </BaseCheckbox.Root>\n );\n});\nif (process.env.NODE_ENV !== \"production\") CheckboxBox.displayName = \"Checkbox.Box\";\n\nconst Root = /* @__PURE__ */ forwardRef<HTMLButtonElement, CheckboxProps>(function Checkbox({ label, description, id, className, ...props }, ref) {\n const auto = useId();\n const boxId = id ?? `k-cb-${auto}`;\n if (!label) return <CheckboxBox ref={ref} id={boxId} className={className} {...props} />;\n const named = labelled(boxId, label, description, props);\n return (\n <label\n htmlFor={boxId}\n className={cn(\"group/row inline-flex min-h-32 cursor-pointer items-start gap-10 py-6 select-none\", props.disabled && \"cursor-not-allowed\", className)}\n >\n <span className=\"flex h-20 items-center\">\n <CheckboxBox ref={ref} id={boxId} {...props} {...named.aria} />\n </span>\n <span className=\"flex flex-col\">\n <span id={named.labelId} className={cn(\"text-body text-fg\", props.disabled && \"text-fg-disabled\")}>\n {label}\n </span>\n {description && (\n <span id={named.descriptionId} className=\"text-small text-fg-secondary\">\n {description}\n </span>\n )}\n </span>\n </label>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Root.displayName = \"Checkbox\";\n\nexport interface CheckboxGroupProps {\n value?: string[] | undefined;\n defaultValue?: string[] | undefined;\n onValueChange?: ((value: string[]) => void) | undefined;\n allValues?: string[] | undefined;\n disabled?: boolean | 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, CheckboxGroupProps>(function CheckboxGroup(\n { value, defaultValue, onValueChange, allValues, disabled, className, children, ...props },\n ref,\n) {\n return (\n <BaseCheckboxGroup\n ref={ref}\n {...(value !== undefined ? { value } : {})}\n {...(defaultValue !== undefined ? { defaultValue } : {})}\n {...(onValueChange ? { onValueChange: (v: string[]) => onValueChange(v) } : {})}\n {...(allValues ? { allValues } : {})}\n {...(disabled !== undefined ? { disabled } : {})}\n className={cn(\"flex flex-col\", className)}\n {...props}\n >\n {children}\n </BaseCheckboxGroup>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Group.displayName = \"CheckboxGroup\";\n\nexport const Checkbox = /* @__PURE__ */ Object.assign(Root, { Box: CheckboxBox, Group });\nexport const CheckboxGroup = Group;\n"],"mappings":"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"}
1
+ {"version":3,"file":"checkbox-CDfC6E-M.js","names":["BaseCheckbox","CheckboxGroup","BaseCheckboxGroup","Checkbox","__exportAll","labelled","checkbox_exports","Checkbox$1","CheckboxBox","CheckboxGroup$1","KAESO_CHECKBOX_DEFAULT_VARIANTS","KAESO_CHECKBOX_VARIANTS","ariaLabel","describedBy","labelledBy","force","Checkbox","checked","defaultChecked","onCheckedChange","c","indeterminate","disabled","readOnly","required","name","value","id","parent","invalid","cn","className","Root","props","auto","useId","boxId","label","named","description","Group","CheckboxGroup","defaultValue","onValueChange","v","allValues"],"sources":["../../src/components/checkbox/checkbox.tsx"],"sourcesContent":["import { forwardRef, useId, type ReactNode } from \"react\";\nimport { Checkbox as BaseCheckbox } from \"@base-ui/react/checkbox\";\nimport { CheckboxGroup as BaseCheckboxGroup } from \"@base-ui/react/checkbox-group\";\nimport { cn } from \"../../utils/cn.js\";\nimport { labelled } from \"../radio/labelled.js\";\n\nexport const KAESO_CHECKBOX_VARIANTS = {\n size: {\n md: { classes: \"size-18 rounded-checkbox\" },\n },\n} as const;\nexport const KAESO_CHECKBOX_DEFAULT_VARIANTS = { size: \"md\" } as const;\n\nexport interface CheckboxProps {\n checked?: boolean | undefined;\n defaultChecked?: boolean | undefined;\n onCheckedChange?: ((checked: boolean) => void) | undefined;\n indeterminate?: boolean | undefined;\n disabled?: boolean | undefined;\n readOnly?: boolean | undefined;\n required?: boolean | undefined;\n invalid?: boolean | undefined;\n name?: string | undefined;\n value?: string | undefined;\n label?: ReactNode | undefined;\n description?: ReactNode | undefined;\n id?: string | undefined;\n \"aria-label\"?: string | undefined;\n \"aria-describedby\"?: string | undefined;\n \"aria-labelledby\"?: string | undefined;\n className?: string | undefined;\n \"data-force\"?: string | undefined;\n}\n\nexport const CheckboxBox = /* @__PURE__ */ forwardRef<HTMLButtonElement, CheckboxProps & { parent?: boolean | undefined }>(function CheckboxBox(\n {\n checked,\n defaultChecked,\n onCheckedChange,\n indeterminate,\n disabled,\n readOnly,\n required,\n invalid,\n name,\n value,\n id,\n className,\n parent,\n \"aria-label\": ariaLabel,\n \"aria-describedby\": describedBy,\n \"aria-labelledby\": labelledBy,\n \"data-force\": force,\n },\n ref,\n) {\n return (\n <BaseCheckbox.Root\n ref={ref}\n {...(checked !== undefined ? { checked } : {})}\n {...(defaultChecked !== undefined ? { defaultChecked } : {})}\n {...(onCheckedChange ? { onCheckedChange: (c: boolean) => onCheckedChange(c) } : {})}\n {...(indeterminate !== undefined ? { indeterminate } : {})}\n {...(disabled !== undefined ? { disabled } : {})}\n {...(readOnly !== undefined ? { readOnly } : {})}\n {...(required !== undefined ? { required } : {})}\n {...(name ? { name } : {})}\n {...(value ? { value } : {})}\n {...(id ? { id } : {})}\n {...(parent ? { parent } : {})}\n {...(ariaLabel ? { \"aria-label\": ariaLabel } : {})}\n {...(describedBy ? { \"aria-describedby\": describedBy } : {})}\n {...(labelledBy ? { \"aria-labelledby\": labelledBy } : {})}\n {...(invalid ? { \"aria-invalid\": true } : {})}\n {...(force ? { \"data-force\": force } : {})}\n className={cn(\n \"group/cb relative -m-3 inline-flex size-24 shrink-0 cursor-pointer items-center justify-center rounded-checkbox outline-none tap-target disabled:cursor-not-allowed\",\n className,\n )}\n >\n <span\n aria-hidden\n className={cn(\n \"flex items-center justify-center bg-raised shadow-selector outline-2 outline-offset-2 outline-transparent transition-control\",\n KAESO_CHECKBOX_VARIANTS.size.md.classes,\n invalid ? \"group-focus-visible/cb:outline-focus\" : \"group-hover/cb:shadow-selector-hover group-focus-visible/cb:outline-focus\",\n \"group-checked/cb:bg-ink group-checked/cb:shadow-none group-indeterminate/cb:bg-ink group-indeterminate/cb:shadow-none\",\n \"group-invalid/cb:ring-invalid\",\n \"group-disabled/cb:bg-fill-1 group-disabled/cb:shadow-none group-disabled/cb:group-checked/cb:bg-fill-3\",\n )}\n >\n <BaseCheckbox.Indicator keepMounted className=\"flex items-center justify-center text-on-ink group-data-disabled/cb:text-fg-disabled\">\n <svg viewBox=\"0 0 12 12\" className=\"size-12\" fill=\"none\" aria-hidden>\n <path\n d=\"M2.5 6.25 4.9 8.5 9.5 3.75\"\n stroke=\"currentColor\"\n strokeWidth=\"1.75\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n pathLength={1}\n className=\"check-draw hidden group-data-checked/cb:block\"\n />\n <path d=\"M3 6h6\" stroke=\"currentColor\" strokeWidth=\"1.75\" strokeLinecap=\"round\" className=\"hidden group-data-indeterminate/cb:block\" />\n </svg>\n </BaseCheckbox.Indicator>\n </span>\n </BaseCheckbox.Root>\n );\n});\nif (process.env.NODE_ENV !== \"production\") CheckboxBox.displayName = \"Checkbox.Box\";\n\nconst Root = /* @__PURE__ */ forwardRef<HTMLButtonElement, CheckboxProps>(function Checkbox({ label, description, id, className, ...props }, ref) {\n const auto = useId();\n const boxId = id ?? `k-cb-${auto}`;\n if (!label) return <CheckboxBox ref={ref} id={boxId} className={className} {...props} />;\n const named = labelled(boxId, label, description, props);\n return (\n <label\n htmlFor={boxId}\n className={cn(\"group/row inline-flex min-h-32 cursor-pointer items-start gap-10 py-6 select-none\", props.disabled && \"cursor-not-allowed\", className)}\n >\n <span className=\"flex h-20 items-center\">\n <CheckboxBox ref={ref} id={boxId} {...props} {...named.aria} />\n </span>\n <span className=\"flex flex-col\">\n <span id={named.labelId} className={cn(\"text-body text-fg\", props.disabled && \"text-fg-disabled\")}>\n {label}\n </span>\n {description && (\n <span id={named.descriptionId} className=\"text-small text-fg-secondary\">\n {description}\n </span>\n )}\n </span>\n </label>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Root.displayName = \"Checkbox\";\n\nexport interface CheckboxGroupProps {\n value?: string[] | undefined;\n defaultValue?: string[] | undefined;\n onValueChange?: ((value: string[]) => void) | undefined;\n allValues?: string[] | undefined;\n disabled?: boolean | 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, CheckboxGroupProps>(function CheckboxGroup(\n { value, defaultValue, onValueChange, allValues, disabled, className, children, ...props },\n ref,\n) {\n return (\n <BaseCheckboxGroup\n ref={ref}\n {...(value !== undefined ? { value } : {})}\n {...(defaultValue !== undefined ? { defaultValue } : {})}\n {...(onValueChange ? { onValueChange: (v: string[]) => onValueChange(v) } : {})}\n {...(allValues ? { allValues } : {})}\n {...(disabled !== undefined ? { disabled } : {})}\n className={cn(\"flex flex-col\", className)}\n {...props}\n >\n {children}\n </BaseCheckboxGroup>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Group.displayName = \"CheckboxGroup\";\n\nexport const Checkbox = /* @__PURE__ */ Object.assign(Root, { Box: CheckboxBox, Group });\nexport const CheckboxGroup = Group;\n"],"mappings":";;;;;;;;;;;;;;;A,IAMaW,IAA0B,EACrC,MAAM,EACJ,IAAI,EAAE,SAAS,2BAA2B,EAC5C,EACF,GACaD,IAAkC,EAAE,MAAM,KAAK,GAuB/CF,IAA8B,kBAAgF,SACzH,EACE,YACA,mBACA,oBACA,kBACA,aACA,aACA,aACA,YACA,SACA,UACA,OACA,cACA,WACA,cAAcI,GACd,oBAAoBC,GACpB,mBAAmBC,GACnB,cAAcC,KAEhB,GACA;CACA,OACE,kBAACf,EAAa,MAAd;EACO;EACL,GAAKiB,MAAY,KAAA,IAA0B,CAAC,IAAf,EAAE,WAAQ;EACvC,GAAKC,MAAmB,KAAA,IAAiC,CAAC,IAAtB,EAAE,kBAAe;EACrD,GAAKC,IAAkB,EAAE,kBAAkB,MAAeA,EAAgBC,CAAC,EAAE,IAAI,CAAC;EAClF,GAAKC,MAAkB,KAAA,IAAgC,CAAC,IAArB,EAAE,iBAAc;EACnD,GAAKC,MAAa,KAAA,IAA2B,CAAC,IAAhB,EAAE,YAAS;EACzC,GAAKC,MAAa,KAAA,IAA2B,CAAC,IAAhB,EAAE,YAAS;EACzC,GAAKC,MAAa,KAAA,IAA2B,CAAC,IAAhB,EAAE,YAAS;EACzC,GAAKC,IAAO,EAAE,QAAK,IAAI,CAAC;EACxB,GAAKC,IAAQ,EAAE,SAAM,IAAI,CAAC;EAC1B,GAAKC,IAAK,EAAE,MAAG,IAAI,CAAC;EACpB,GAAKC,IAAS,EAAE,UAAO,IAAI,CAAC;EAC5B,GAAKhB,IAAY,EAAE,cAAcA,EAAU,IAAI,CAAC;EAChD,GAAKC,IAAc,EAAE,oBAAoBA,EAAY,IAAI,CAAC;EAC1D,GAAKC,IAAa,EAAE,mBAAmBA,EAAW,IAAI,CAAC;EACvD,GAAKe,IAAU,EAAE,gBAAgB,GAAK,IAAI,CAAC;EAC3C,GAAKd,IAAQ,EAAE,cAAcA,EAAM,IAAI,CAAC;EACxC,WAAWe,EACT,uKACAC,CACF;EAEA,UAAA,kBAAC,QAAD;GACE,eAAA;GACA,WAAWD,EACT,gIACAnB,EAAwB,KAAK,GAAG,SAChCkB,IAAU,yCAAyC,6EACnD,yHACA,iCACA,wGACF;GAEA,UAAA,kBAAC7B,EAAa,WAAd;IAAwB,aAAA;IAAY,WAAU;IAC5C,UAAA,kBAAC,OAAD;KAAK,SAAQ;KAAY,WAAU;KAAU,MAAK;KAAO,eAAA;KAAzD,UAAA,CACE,kBAAC,QAAD;MACE,GAAE;MACF,QAAO;MACP,aAAY;MACZ,eAAc;MACd,gBAAe;MACf,YAAY;MACZ,WAAU;KACX,CAAA,GACD,kBAAC,QAAD;MAAM,GAAE;MAAS,QAAO;MAAe,aAAY;MAAO,eAAc;MAAQ,WAAU;KAA4C,CAAA,CACnI;;GACiB,CAAA;EACpB,CAAA;CACW,CAAA;AAEvB,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAY,cAAc;AAErE,IAAMgC,IAAuB,kBAA6C,SAAkB,EAAE,UAAO,gBAAa,OAAI,cAAW,GAAGC,KAAS,GAAK;CAChJ,IAAMC,IAAOC,EAAM,GACbC,IAAQT,KAAM,QAAQO;CAC5B,IAAI,CAACG,GAAO,OAAO,kBAAC7B,GAAD;EAAkB;EAAK,IAAI4B;EAAkB;EAAW,GAAIH;CAAQ,CAAA;CACvF,IAAMK,IAAQjC,EAAS+B,GAAOC,GAAOE,GAAaN,CAAK;CACvD,OACE,kBAAC,SAAD;EACE,SAASG;EACT,WAAWN,EAAG,qFAAqFG,EAAM,YAAY,sBAAsBF,CAAS;EAFtJ,UAAA,CAIE,kBAAC,QAAD;GAAM,WAAU;GACd,UAAA,kBAACvB,GAAD;IAAkB;IAAK,IAAI4B;IAAO,GAAIH;IAAO,GAAIK,EAAM;GAAO,CAAA;EAC1D,CAAA,GACN,kBAAC,QAAD;GAAM,WAAU;GAAhB,UAAA,CACE,kBAAC,QAAD;IAAM,IAAIA,EAAM;IAAS,WAAWR,EAAG,qBAAqBG,EAAM,YAAY,kBAAkB;IAC7F,UAAAI;GACG,CAAA,GACLE,KACC,kBAAC,QAAD;IAAM,IAAID,EAAM;IAAe,WAAU;IACtC,UAAAC;GACG,CAAA,CAEJ;EACD,CAAA,CAAA;;AAEX,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAK,cAAc;AAc9D,IAAMC,IAAwB,kBAA+C,SAC3E,EAAE,UAAO,iBAAc,kBAAe,cAAW,aAAU,cAAW,aAAU,GAAGP,KACnF,GACA;CACA,OACE,kBAAC/B,GAAD;EACO;EACL,GAAKwB,MAAU,KAAA,IAAwB,CAAC,IAAb,EAAE,SAAM;EACnC,GAAKgB,MAAiB,KAAA,IAA+B,CAAC,IAApB,EAAE,gBAAa;EACjD,GAAKC,IAAgB,EAAE,gBAAgB,MAAgBA,EAAcC,CAAC,EAAE,IAAI,CAAC;EAC7E,GAAKC,IAAY,EAAE,aAAU,IAAI,CAAC;EAClC,GAAKvB,MAAa,KAAA,IAA2B,CAAC,IAAhB,EAAE,YAAS;EACzC,WAAWQ,EAAG,iBAAiBC,CAAS;EACxC,GAAIE;EAEH;CACgB,CAAA;AAEvB,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAM,cAAc;AAE/D,IAAa9B,IAA2B,uBAAO,OAAO6B,GAAM;CAAE,KAAKxB;CAAa;AAAM,CAAC,GAC1EP,IAAgBuC"}
@@ -154,6 +154,7 @@ function r() {
154
154
  right: [{ right: y }],
155
155
  bottom: [{ bottom: y }],
156
156
  left: [{ left: y }],
157
+ start: [{ start: y }],
157
158
  visibility: [
158
159
  "visible",
159
160
  "invisible",
@@ -354,6 +355,7 @@ function r() {
354
355
  a
355
356
  ] }],
356
357
  leading: [{ leading: ["none", ...v] }],
358
+ indent: [{ indent: v }],
357
359
  "text-alignment": [{ text: [
358
360
  "left",
359
361
  "center",
@@ -369,6 +371,12 @@ function r() {
369
371
  "line-through",
370
372
  "no-underline"
371
373
  ],
374
+ "text-transform": [
375
+ "uppercase",
376
+ "lowercase",
377
+ "capitalize",
378
+ "normal-case"
379
+ ],
372
380
  "text-decoration-thickness": [{ decoration: [
373
381
  g,
374
382
  "from-font",
@@ -584,7 +592,8 @@ function r() {
584
592
  "material-soft",
585
593
  "material-danger",
586
594
  "material-danger-secondary",
587
- "material-field"
595
+ "material-field",
596
+ "material-selector"
588
597
  ],
589
598
  focus: ["focus-ring", "focus-ring-inset"],
590
599
  motion: [
@@ -600,12 +609,17 @@ function r() {
600
609
  inset: [
601
610
  "inset-x",
602
611
  "inset-y",
612
+ "start",
603
613
  "top",
604
614
  "right",
605
615
  "bottom",
606
616
  "left"
607
617
  ],
608
- "inset-x": ["right", "left"],
618
+ "inset-x": [
619
+ "start",
620
+ "right",
621
+ "left"
622
+ ],
609
623
  "inset-y": ["top", "bottom"],
610
624
  flex: [
611
625
  "basis",
@@ -668,4 +682,4 @@ function a(...n) {
668
682
  //#endregion
669
683
  export { a as t };
670
684
 
671
- //# sourceMappingURL=cn-DUDmdLpZ.js.map
685
+ //# sourceMappingURL=cn-Dj6sRgkF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cn-Dj6sRgkF.js","names":["kaesoMergeConfig","validators","arbitrary","isArbitraryVariable","isArbitraryValue","spacing","isNumber","inset","isFraction","margin","sizing","overflow","span","isInteger","lineOrPosition","tracks","rounded","width","isArbitraryVariableLength","isArbitraryLength","color","isAny","isArbitraryVariableWeight","isArbitraryWeight","isArbitraryVariableFamilyName","isArbitraryFamilyName","isAnyNonArbitrary","isArbitraryNumber","isArbitraryVariableShadow","isArbitraryShadow","merge","cn","inputs","createTailwindMerge","clsx"],"sources":["../../src/utils/cn.ts"],"sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { createTailwindMerge, validators } from \"tailwind-merge\";\n\nexport function kaesoMergeConfig() {\n const {\n isAny,\n isAnyNonArbitrary,\n isArbitraryFamilyName,\n isArbitraryLength,\n isArbitraryNumber,\n isArbitraryShadow,\n isArbitraryValue,\n isArbitraryVariable,\n isArbitraryVariableFamilyName,\n isArbitraryVariableLength,\n isArbitraryVariableShadow,\n isArbitraryVariableWeight,\n isArbitraryWeight,\n isFraction,\n isInteger,\n isNumber,\n } = validators;\n const arbitrary = [isArbitraryVariable, isArbitraryValue];\n const spacing = [...arbitrary, isNumber];\n const inset = [isFraction, \"full\", \"auto\", ...spacing];\n const margin = [\"auto\", ...spacing];\n const sizing = [isFraction, \"auto\", \"full\", \"dvw\", \"dvh\", \"lvw\", \"lvh\", \"svw\", \"svh\", \"min\", \"max\", \"fit\", ...spacing];\n const overflow = [\"auto\", \"hidden\", \"clip\", \"visible\", \"scroll\"];\n const span = [\"auto\", { span: [\"full\", isInteger, ...arbitrary] }, isInteger, ...arbitrary];\n const lineOrPosition = [isInteger, \"auto\", ...arbitrary];\n const tracks = [isInteger, \"none\", \"subgrid\", ...arbitrary];\n const rounded = [\"\", \"none\", \"full\", ...[\"pill\",\"panel\",\"menu\",\"item\",\"popover\",\"dialog\",\"sheet\",\"group\",\"well\",\"tooltip\",\"palette\",\"palette-item\",\"checkbox\",\"org\",\"kbd\",\"code\",\"bar\",\"cell\",\"avatar\",\"field\",\"textarea\",\"cell-lg\",\"tooltip-lg\",\"frame\",\"toast\"], ...arbitrary];\n const width = [\"\", isNumber, isArbitraryVariableLength, isArbitraryLength];\n const color = [isAny];\n return {\n cacheSize: 500,\n theme: {},\n classGroups: {\n aspect: [{ aspect: [\"auto\", \"square\", isFraction, ...arbitrary] }],\n container: [\"container\"],\n \"container-type\": [{ \"@container\": [\"\", \"normal\", \"size\", ...arbitrary] }],\n \"box-decoration\": [{ \"box-decoration\": [\"slice\", \"clone\"] }],\n box: [{ box: [\"border\", \"content\"] }],\n display: [\n \"block\",\n \"inline-block\",\n \"inline\",\n \"flex\",\n \"inline-flex\",\n \"table\",\n \"inline-table\",\n \"table-caption\",\n \"table-cell\",\n \"table-column\",\n \"table-column-group\",\n \"table-footer-group\",\n \"table-header-group\",\n \"table-row-group\",\n \"table-row\",\n \"flow-root\",\n \"grid\",\n \"inline-grid\",\n \"contents\",\n \"list-item\",\n \"hidden\",\n ],\n sr: [\"sr-only\", \"not-sr-only\"],\n isolation: [\"isolate\", \"isolation-auto\"],\n \"object-fit\": [{ object: [\"contain\", \"cover\", \"fill\", \"none\", \"scale-down\"] }],\n overflow: [{ overflow }],\n \"overflow-x\": [{ \"overflow-x\": overflow }],\n \"overflow-y\": [{ \"overflow-y\": overflow }],\n overscroll: [{ overscroll: [\"auto\", \"contain\", \"none\"] }],\n position: [\"static\", \"fixed\", \"absolute\", \"relative\", \"sticky\"],\n inset: [{ inset }],\n \"inset-x\": [{ \"inset-x\": inset }],\n \"inset-y\": [{ \"inset-y\": inset }],\n top: [{ top: inset }],\n right: [{ right: inset }],\n bottom: [{ bottom: inset }],\n left: [{ left: inset }],\n start: [{ start: inset }],\n visibility: [\"visible\", \"invisible\", \"collapse\"],\n z: [{ z: [isInteger, \"auto\", ...arbitrary] }],\n basis: [{ basis: [isFraction, \"full\", \"auto\", ...spacing] }],\n \"flex-direction\": [{ flex: [\"row\", \"row-reverse\", \"col\", \"col-reverse\"] }],\n \"flex-wrap\": [{ flex: [\"nowrap\", \"wrap\", \"wrap-reverse\"] }],\n flex: [{ flex: [isNumber, isFraction, \"auto\", \"initial\", \"none\", isArbitraryValue] }],\n grow: [{ grow: [\"\", isNumber, ...arbitrary] }],\n shrink: [{ shrink: [\"\", isNumber, ...arbitrary] }],\n order: [{ order: [isInteger, \"first\", \"last\", \"none\", ...arbitrary] }],\n \"grid-cols\": [{ \"grid-cols\": tracks }],\n \"col-start-end\": [{ col: span }],\n \"col-start\": [{ \"col-start\": lineOrPosition }],\n \"grid-rows\": [{ \"grid-rows\": tracks }],\n \"row-start-end\": [{ row: span }],\n \"row-start\": [{ \"row-start\": lineOrPosition }],\n gap: [{ gap: spacing }],\n \"gap-x\": [{ \"gap-x\": spacing }],\n \"gap-y\": [{ \"gap-y\": spacing }],\n \"justify-content\": [{ justify: [\"start\", \"end\", \"center\", \"between\", \"around\", \"evenly\", \"stretch\", \"baseline\", \"center-safe\", \"end-safe\", \"normal\"] }],\n \"justify-items\": [{ \"justify-items\": [\"start\", \"end\", \"center\", \"stretch\", \"center-safe\", \"end-safe\", \"normal\"] }],\n \"align-content\": [{ content: [\"normal\", \"start\", \"end\", \"center\", \"between\", \"around\", \"evenly\", \"stretch\", \"baseline\", \"center-safe\", \"end-safe\"] }],\n \"align-items\": [{ items: [\"start\", \"end\", \"center\", \"stretch\", \"center-safe\", \"end-safe\", { baseline: [\"\", \"last\"] }] }],\n \"align-self\": [{ self: [\"auto\", \"start\", \"end\", \"center\", \"stretch\", \"center-safe\", \"end-safe\", { baseline: [\"\", \"last\"] }] }],\n p: [{ p: spacing }],\n px: [{ px: spacing }],\n py: [{ py: spacing }],\n pt: [{ pt: spacing }],\n pr: [{ pr: spacing }],\n pb: [{ pb: spacing }],\n pl: [{ pl: spacing }],\n m: [{ m: margin }],\n mx: [{ mx: margin }],\n my: [{ my: margin }],\n ms: [{ ms: margin }],\n mt: [{ mt: margin }],\n mr: [{ mr: margin }],\n mb: [{ mb: margin }],\n ml: [{ ml: margin }],\n size: [{ size: sizing }],\n w: [{ w: [\"screen\", \"anchor\", ...sizing] }],\n \"min-w\": [{ \"min-w\": [\"screen\", \"none\", \"anchor\", ...sizing] }],\n \"max-w\": [{ \"max-w\": [\"screen\", \"none\", \"prose\", ...sizing] }],\n h: [{ h: [\"screen\", \"lh\", ...sizing] }],\n \"min-h\": [{ \"min-h\": [\"screen\", \"lh\", \"none\", ...sizing] }],\n \"max-h\": [{ \"max-h\": [\"screen\", \"lh\", \"none\", ...sizing] }],\n \"font-size\": [{ text: [...[\"micro\",\"caption\",\"small\",\"body\",\"body-lg\",\"title-sm\",\"title\",\"title-lg\",\"display\",\"metric\"], isArbitraryVariableLength, isArbitraryLength] }],\n \"font-style\": [\"italic\", \"not-italic\"],\n \"font-weight\": [{ font: [\"regular\", \"medium\", \"semibold\", isArbitraryVariableWeight, isArbitraryWeight] }],\n \"font-family\": [{ font: [isArbitraryVariableFamilyName, isArbitraryFamilyName, isAnyNonArbitrary] }],\n \"fvn-spacing\": [\"proportional-nums\", \"tabular-nums\"],\n \"line-clamp\": [{ \"line-clamp\": [isNumber, \"none\", isArbitraryVariable, isArbitraryNumber] }],\n leading: [{ leading: [\"none\", ...spacing] }],\n indent: [{ indent: spacing }],\n \"text-alignment\": [{ text: [\"left\", \"center\", \"right\", \"justify\", \"start\", \"end\"] }],\n \"text-color\": [{ text: color }],\n \"text-decoration\": [\"underline\", \"overline\", \"line-through\", \"no-underline\"],\n \"text-transform\": [\"uppercase\", \"lowercase\", \"capitalize\", \"normal-case\"],\n \"text-decoration-thickness\": [{ decoration: [isNumber, \"from-font\", \"auto\", isArbitraryVariable, isArbitraryLength] }],\n \"text-decoration-color\": [{ decoration: color }],\n \"underline-offset\": [{ \"underline-offset\": [isNumber, \"auto\", ...arbitrary] }],\n \"text-overflow\": [\"truncate\", \"text-ellipsis\", \"text-clip\"],\n \"text-wrap\": [{ text: [\"wrap\", \"nowrap\", \"balance\", \"pretty\"] }],\n \"vertical-align\": [{ align: [\"baseline\", \"top\", \"middle\", \"bottom\", \"text-top\", \"text-bottom\", \"sub\", \"super\", ...arbitrary] }],\n whitespace: [{ whitespace: [\"normal\", \"nowrap\", \"pre\", \"pre-line\", \"pre-wrap\", \"break-spaces\"] }],\n break: [{ break: [\"normal\", \"words\", \"all\", \"keep\"] }],\n wrap: [{ wrap: [\"break-word\", \"anywhere\", \"normal\"] }],\n \"bg-color\": [{ bg: color }],\n rounded: [{ rounded }],\n \"rounded-r\": [{ \"rounded-r\": rounded }],\n \"rounded-l\": [{ \"rounded-l\": rounded }],\n \"outline-style\": [{ outline: [\"solid\", \"dashed\", \"dotted\", \"double\", \"none\", \"hidden\"] }],\n \"outline-offset\": [{ \"outline-offset\": [isNumber, ...arbitrary] }],\n \"outline-w\": [{ outline: width }],\n \"outline-color\": [{ outline: color }],\n shadow: [{ shadow: [\"\", \"inner\", \"none\", ...[\"ring\",\"control\",\"control-hover\",\"control-on-fill\",\"field\",\"field-hover\",\"selector\",\"selector-hover\",\"frame\",\"xs\",\"raised\",\"dialog\",\"panel\",\"segment\",\"toast\",\"thumb\"], isArbitraryVariableShadow, isArbitraryShadow] }],\n \"ring-w\": [{ ring: width }],\n \"ring-color\": [{ ring: color }],\n opacity: [{ opacity: [isNumber, ...arbitrary] }],\n filter: [{ filter: [\"\", \"none\", ...arbitrary] }],\n \"border-collapse\": [{ border: [\"collapse\", \"separate\"] }],\n \"table-layout\": [{ table: [\"auto\", \"fixed\"] }],\n transition: [{ transition: [\"\", \"all\", \"colors\", \"opacity\", \"shadow\", \"transform\", \"none\", ...arbitrary] }],\n duration: [{ duration: [isNumber, \"initial\", ...arbitrary] }],\n ease: [{ ease: [\"linear\", \"initial\", ...[\"standard\",\"overlay\",\"exit\",\"pulse\"], ...arbitrary] }],\n animate: [{ animate: [\"none\", ...arbitrary] }],\n rotate: [{ rotate: [\"none\", isNumber, ...arbitrary] }],\n \"translate-x\": [{ \"translate-x\": [isFraction, \"full\", ...spacing] }],\n \"caret-color\": [{ caret: color }],\n cursor: [\n {\n cursor: [\n \"auto\",\n \"default\",\n \"pointer\",\n \"wait\",\n \"text\",\n \"move\",\n \"help\",\n \"not-allowed\",\n \"none\",\n \"context-menu\",\n \"progress\",\n \"cell\",\n \"crosshair\",\n \"vertical-text\",\n \"alias\",\n \"copy\",\n \"no-drop\",\n \"grab\",\n \"grabbing\",\n \"all-scroll\",\n \"col-resize\",\n \"row-resize\",\n \"n-resize\",\n \"e-resize\",\n \"s-resize\",\n \"w-resize\",\n \"ne-resize\",\n \"nw-resize\",\n \"se-resize\",\n \"sw-resize\",\n \"ew-resize\",\n \"ns-resize\",\n \"nesw-resize\",\n \"nwse-resize\",\n \"zoom-in\",\n \"zoom-out\",\n ...arbitrary,\n ],\n },\n ],\n \"pointer-events\": [{ \"pointer-events\": [\"auto\", \"none\"] }],\n resize: [{ resize: [\"none\", \"\", \"y\", \"x\"] }],\n \"scrollbar-w\": [{ scrollbar: [\"auto\", \"thin\", \"none\"] }],\n \"scroll-mt\": [{ \"scroll-mt\": spacing }],\n \"snap-align\": [{ snap: [\"start\", \"end\", \"center\", \"align-none\"] }],\n \"snap-stop\": [{ snap: [\"normal\", \"always\"] }],\n touch: [{ touch: [\"auto\", \"none\", \"manipulation\"] }],\n select: [{ select: [\"none\", \"text\", \"all\", \"auto\"] }],\n material: [\n \"material-primary\",\n \"material-secondary\",\n \"material-ghost\",\n \"material-soft\",\n \"material-danger\",\n \"material-danger-secondary\",\n \"material-field\",\n \"material-selector\",\n ],\n focus: [\"focus-ring\", \"focus-ring-inset\"],\n motion: [\"popup-motion\", \"dialog-motion\", \"sheet-motion\", \"backdrop-motion\", \"indicator-motion\"],\n },\n conflictingClassGroups: {\n overflow: [\"overflow-x\", \"overflow-y\"],\n inset: [\"inset-x\", \"inset-y\", \"start\", \"top\", \"right\", \"bottom\", \"left\"],\n \"inset-x\": [\"start\", \"right\", \"left\"],\n \"inset-y\": [\"top\", \"bottom\"],\n flex: [\"basis\", \"grow\", \"shrink\"],\n gap: [\"gap-x\", \"gap-y\"],\n p: [\"px\", \"py\", \"pt\", \"pr\", \"pb\", \"pl\"],\n px: [\"pr\", \"pl\"],\n py: [\"pt\", \"pb\"],\n m: [\"mx\", \"my\", \"ms\", \"mt\", \"mr\", \"mb\", \"ml\"],\n mx: [\"ms\", \"mr\", \"ml\"],\n my: [\"mt\", \"mb\"],\n size: [\"w\", \"h\"],\n \"font-size\": [\"leading\"],\n \"line-clamp\": [\"display\", \"overflow\"],\n rounded: [\"rounded-r\", \"rounded-l\"],\n },\n conflictingClassGroupModifiers: { \"font-size\": [\"leading\"] },\n postfixLookupClassGroups: [\"container-type\"],\n orderSensitiveModifiers: [\n \"*\",\n \"**\",\n \"after\",\n \"backdrop\",\n \"before\",\n \"details-content\",\n \"file\",\n \"first-letter\",\n \"first-line\",\n \"marker\",\n \"placeholder\",\n \"selection\",\n ],\n };\n}\n\nlet merge: ReturnType<typeof createTailwindMerge> | undefined;\n\nexport function cn(...inputs: ClassValue[]): string {\n merge ??= createTailwindMerge(kaesoMergeConfig);\n return merge(clsx(inputs));\n}\n"],"mappings":"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"}