@logicplanes/kaeso-ui 0.4.1 → 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 (249) hide show
  1. package/ai/component-guides.md +51 -1
  2. package/ai/component-registry.json +104 -8
  3. package/ai/component-registry.md +30 -4
  4. package/ai/icons.md +1 -1
  5. package/ai/tokens.md +1 -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-DZPEf2NQ.js → app-frame-C8csevkL.js} +7 -7
  10. package/dist/chunks/{app-frame-DZPEf2NQ.js.map → app-frame-C8csevkL.js.map} +1 -1
  11. package/dist/chunks/{avatar-HnvBUoe5.js → avatar-CWbdwbJv.js} +2 -2
  12. package/dist/chunks/{avatar-HnvBUoe5.js.map → avatar-CWbdwbJv.js.map} +1 -1
  13. package/dist/chunks/{badge-CM8ahjDR.js → badge-C2KtxCLB.js} +2 -2
  14. package/dist/chunks/{badge-CM8ahjDR.js.map → badge-C2KtxCLB.js.map} +1 -1
  15. package/dist/chunks/{banner-CvYgPwCc.js → banner-Cb8OWnqJ.js} +4 -4
  16. package/dist/chunks/{banner-CvYgPwCc.js.map → banner-Cb8OWnqJ.js.map} +1 -1
  17. package/dist/chunks/{button-9q66Ta23.js → button-Dzu7_csE.js} +7 -7
  18. package/dist/chunks/{button-9q66Ta23.js.map → button-Dzu7_csE.js.map} +1 -1
  19. package/dist/chunks/{calendar-CeNcqLFd.js → calendar--YemJsv4.js} +2 -2
  20. package/dist/chunks/{calendar-CeNcqLFd.js.map → calendar--YemJsv4.js.map} +1 -1
  21. package/dist/chunks/{checkbox-C_DrNA2N.js → checkbox-CDfC6E-M.js} +2 -2
  22. package/dist/chunks/{checkbox-C_DrNA2N.js.map → checkbox-CDfC6E-M.js.map} +1 -1
  23. package/dist/chunks/{cn-Isw2DnQX.js → cn-Dj6sRgkF.js} +8 -1
  24. package/dist/chunks/cn-Dj6sRgkF.js.map +1 -0
  25. package/dist/chunks/{code-block-mEH6Sy3h.js → code-block-U5fCqwgC.js} +75 -54
  26. package/dist/chunks/code-block-U5fCqwgC.js.map +1 -0
  27. package/dist/chunks/{code-Bp2p9AuD.js → code-tqj0uhBL.js} +2 -2
  28. package/dist/chunks/{code-Bp2p9AuD.js.map → code-tqj0uhBL.js.map} +1 -1
  29. package/dist/chunks/{collapsible-CtQNJn9b.js → collapsible-CKrCX_T9.js} +3 -3
  30. package/dist/chunks/{collapsible-CtQNJn9b.js.map → collapsible-CKrCX_T9.js.map} +1 -1
  31. package/dist/chunks/{combobox-D8ZOm8uT.js → combobox-BARyrpXH.js} +6 -6
  32. package/dist/chunks/{combobox-D8ZOm8uT.js.map → combobox-BARyrpXH.js.map} +1 -1
  33. package/dist/chunks/{command-list-CzMbdtJs.js → command-list-0RR4DpUe.js} +54 -54
  34. package/dist/chunks/command-list-0RR4DpUe.js.map +1 -0
  35. package/dist/chunks/{copy-button-Cdea0wKl.js → copy-button-7-irieJw.js} +5 -5
  36. package/dist/chunks/{copy-button-Cdea0wKl.js.map → copy-button-7-irieJw.js.map} +1 -1
  37. package/dist/chunks/{core-FtMDNELx.js → core-Bl9NrBLS.js} +4 -4
  38. package/dist/chunks/{core-FtMDNELx.js.map → core-Bl9NrBLS.js.map} +1 -1
  39. package/dist/chunks/{date-popup-NytWvSNh.js → date-popup-RQkqhko4.js} +4 -4
  40. package/dist/chunks/{date-popup-NytWvSNh.js.map → date-popup-RQkqhko4.js.map} +1 -1
  41. package/dist/chunks/{dialog-BZCVFmGF.js → dialog-DQ9vZ7vr.js} +5 -5
  42. package/dist/chunks/{dialog-BZCVFmGF.js.map → dialog-DQ9vZ7vr.js.map} +1 -1
  43. package/dist/chunks/{empty-By1qTJr6.js → empty-DvhyMXQq.js} +2 -2
  44. package/dist/chunks/{empty-By1qTJr6.js.map → empty-DvhyMXQq.js.map} +1 -1
  45. package/dist/chunks/{field-DfITT6Jm.js → field-TviMvYa2.js} +2 -2
  46. package/dist/chunks/{field-DfITT6Jm.js.map → field-TviMvYa2.js.map} +1 -1
  47. package/dist/chunks/{icon-D5uD_mnL.js → icon-D7ja-_Yk.js} +2 -2
  48. package/dist/chunks/{icon-D5uD_mnL.js.map → icon-D7ja-_Yk.js.map} +1 -1
  49. package/dist/chunks/{icon-button-C7Du4pvb.js → icon-button-CPYR21Sz.js} +3 -3
  50. package/dist/chunks/{icon-button-C7Du4pvb.js.map → icon-button-CPYR21Sz.js.map} +1 -1
  51. package/dist/chunks/{identity-BcVQd-7H.js → identity-DPuTkMsa.js} +6 -6
  52. package/dist/chunks/{identity-BcVQd-7H.js.map → identity-DPuTkMsa.js.map} +1 -1
  53. package/dist/chunks/{input-B6Docqrk.js → input-TyLIaQ5k.js} +5 -5
  54. package/dist/chunks/{input-B6Docqrk.js.map → input-TyLIaQ5k.js.map} +1 -1
  55. package/dist/chunks/{input-group-Dgdb0JpZ.js → input-group-CUSNsQjQ.js} +4 -4
  56. package/dist/chunks/{input-group-Dgdb0JpZ.js.map → input-group-CUSNsQjQ.js.map} +1 -1
  57. package/dist/chunks/{iso-field-SOZ7Z-yE.js → iso-field-CWbxlll-.js} +2 -2
  58. package/dist/chunks/{iso-field-SOZ7Z-yE.js.map → iso-field-CWbxlll-.js.map} +1 -1
  59. package/dist/chunks/{json-view-DCTMY_j4.js → json-view-Dqd2TDkc.js} +3 -3
  60. package/dist/chunks/{json-view-DCTMY_j4.js.map → json-view-Dqd2TDkc.js.map} +1 -1
  61. package/dist/chunks/{kbd-9A9rX60U.js → kbd-BF1vKXJf.js} +2 -2
  62. package/dist/chunks/{kbd-9A9rX60U.js.map → kbd-BF1vKXJf.js.map} +1 -1
  63. package/dist/chunks/{link-CtII7u3h.js → link-B2I55xg9.js} +3 -3
  64. package/dist/chunks/{link-CtII7u3h.js.map → link-B2I55xg9.js.map} +1 -1
  65. package/dist/chunks/{list-CMXBTVkI.js → list-CkOozrVY.js} +8 -8
  66. package/dist/chunks/{list-CMXBTVkI.js.map → list-CkOozrVY.js.map} +1 -1
  67. package/dist/chunks/{loader-DqOUwS1j.js → loader-DCfPndXa.js} +2 -2
  68. package/dist/chunks/{loader-DqOUwS1j.js.map → loader-DCfPndXa.js.map} +1 -1
  69. package/dist/chunks/{markdown-CwVQ0niB.js → markdown-BEgwZFlu.js} +9 -9
  70. package/dist/chunks/{markdown-CwVQ0niB.js.map → markdown-BEgwZFlu.js.map} +1 -1
  71. package/dist/chunks/{menu-Cjg4RggA.js → menu-fl_QQb38.js} +4 -4
  72. package/dist/chunks/{menu-Cjg4RggA.js.map → menu-fl_QQb38.js.map} +1 -1
  73. package/dist/chunks/{meter-VrC2J2GF.js → meter-Bj4N3Xuh.js} +2 -2
  74. package/dist/chunks/{meter-VrC2J2GF.js.map → meter-Bj4N3Xuh.js.map} +1 -1
  75. package/dist/chunks/{nav-sheet-Y2Ite-iF.js → nav-sheet-B2rNb8GB.js} +2 -2
  76. package/dist/chunks/{nav-sheet-Y2Ite-iF.js.map → nav-sheet-B2rNb8GB.js.map} +1 -1
  77. package/dist/chunks/{nav-wordmark-CjWM3NYa.js → nav-wordmark-_pjheAsZ.js} +2 -2
  78. package/dist/chunks/{nav-wordmark-CjWM3NYa.js.map → nav-wordmark-_pjheAsZ.js.map} +1 -1
  79. package/dist/chunks/{page-header-CZCQVHYE.js → page-header-DjUMDG69.js} +4 -4
  80. package/dist/chunks/{page-header-CZCQVHYE.js.map → page-header-DjUMDG69.js.map} +1 -1
  81. package/dist/chunks/{pagination-BStrMDqM.js → pagination-BaY8jdli.js} +4 -4
  82. package/dist/chunks/{pagination-BStrMDqM.js.map → pagination-BaY8jdli.js.map} +1 -1
  83. package/dist/chunks/{picker-popover-BerQAEBT.js → picker-popover-DShea4b8.js} +6 -6
  84. package/dist/chunks/{picker-popover-BerQAEBT.js.map → picker-popover-DShea4b8.js.map} +1 -1
  85. package/dist/chunks/{popover-CgLt_4yG.js → popover-CFMwaeIP.js} +2 -2
  86. package/dist/chunks/{popover-CgLt_4yG.js.map → popover-CFMwaeIP.js.map} +1 -1
  87. package/dist/chunks/{radio-07Muf4cX.js → radio-Yl0nO-Sj.js} +2 -2
  88. package/dist/chunks/{radio-07Muf4cX.js.map → radio-Yl0nO-Sj.js.map} +1 -1
  89. package/dist/chunks/{range-popup-BCov1iPe.js → range-popup-CkhsK3wI.js} +6 -6
  90. package/dist/chunks/{range-popup-BCov1iPe.js.map → range-popup-CkhsK3wI.js.map} +1 -1
  91. package/dist/chunks/{release-art-69WpgVik.js → release-art-ZwfFQImt.js} +2 -2
  92. package/dist/chunks/{release-art-69WpgVik.js.map → release-art-ZwfFQImt.js.map} +1 -1
  93. package/dist/chunks/{rights-UVngOX_4.js → rights-BlQx9C_j.js} +9 -9
  94. package/dist/chunks/{rights-UVngOX_4.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-Bvg0EUnr.js → section-Ce1efbsP.js} +3 -3
  98. package/dist/chunks/{section-Bvg0EUnr.js.map → section-Ce1efbsP.js.map} +1 -1
  99. package/dist/chunks/{segmented-DRLDN8EW.js → segmented-C97zvDR1.js} +4 -4
  100. package/dist/chunks/{segmented-DRLDN8EW.js.map → segmented-C97zvDR1.js.map} +1 -1
  101. package/dist/chunks/{select-eFTHLeYG.js → select-x4XVsdCI.js} +4 -4
  102. package/dist/chunks/{select-eFTHLeYG.js.map → select-x4XVsdCI.js.map} +1 -1
  103. package/dist/chunks/{separator-D86IW7Ge.js → separator-D7TzNHmX.js} +2 -2
  104. package/dist/chunks/{separator-D86IW7Ge.js.map → separator-D7TzNHmX.js.map} +1 -1
  105. package/dist/chunks/{sidebar-DifJ5KgE.js → sidebar-DtFlejU7.js} +7 -7
  106. package/dist/chunks/{sidebar-DifJ5KgE.js.map → sidebar-DtFlejU7.js.map} +1 -1
  107. package/dist/chunks/{sidebar-menu-XKOiwrQp.js → sidebar-menu-CxQbGwyj.js} +2 -2
  108. package/dist/chunks/{sidebar-menu-XKOiwrQp.js.map → sidebar-menu-CxQbGwyj.js.map} +1 -1
  109. package/dist/chunks/{skeleton-Cu74kGJA.js → skeleton-Dcz57Zyp.js} +2 -2
  110. package/dist/chunks/{skeleton-Cu74kGJA.js.map → skeleton-Dcz57Zyp.js.map} +1 -1
  111. package/dist/chunks/{slider-Dh0qq1wa.js → slider-Ci83PGtj.js} +2 -2
  112. package/dist/chunks/{slider-Dh0qq1wa.js.map → slider-Ci83PGtj.js.map} +1 -1
  113. package/dist/chunks/{status-dot-u4Izk-uC.js → status-dot-QJTF0Yv4.js} +3 -3
  114. package/dist/chunks/{status-dot-u4Izk-uC.js.map → status-dot-QJTF0Yv4.js.map} +1 -1
  115. package/dist/chunks/{swap-text-CC77iKJF.js → swap-text-Dr0Irxz6.js} +2 -2
  116. package/dist/chunks/{swap-text-CC77iKJF.js.map → swap-text-Dr0Irxz6.js.map} +1 -1
  117. package/dist/chunks/{switch-CbU9m9gi.js → switch-b-VkStWj.js} +3 -3
  118. package/dist/chunks/{switch-CbU9m9gi.js.map → switch-b-VkStWj.js.map} +1 -1
  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-CqSk8F7M.js → tag-DNdX1XRR.js} +4 -4
  122. package/dist/chunks/{tag-CqSk8F7M.js.map → tag-DNdX1XRR.js.map} +1 -1
  123. package/dist/chunks/{text-hFc6TDp9.js → text-DCGGNqTM.js} +3 -3
  124. package/dist/chunks/{text-hFc6TDp9.js.map → text-DCGGNqTM.js.map} +1 -1
  125. package/dist/chunks/{textarea-17Ftvph_.js → textarea-CT2S2JVM.js} +5 -5
  126. package/dist/chunks/{textarea-17Ftvph_.js.map → textarea-CT2S2JVM.js.map} +1 -1
  127. package/dist/chunks/{timeseries-CbnSFD5q.js → timeseries-B-8OfeZm.js} +3 -3
  128. package/dist/chunks/{timeseries-CbnSFD5q.js.map → timeseries-B-8OfeZm.js.map} +1 -1
  129. package/dist/chunks/{toolbar-B_960Ttx.js → toolbar-DL6zVrzU.js} +2 -2
  130. package/dist/chunks/{toolbar-B_960Ttx.js.map → toolbar-DL6zVrzU.js.map} +1 -1
  131. package/dist/chunks/{tooltip-CRApbLF6.js → tooltip-BMQ9BtPp.js} +4 -4
  132. package/dist/chunks/{tooltip-CRApbLF6.js.map → tooltip-BMQ9BtPp.js.map} +1 -1
  133. package/dist/chunks/{tooltip-root-Dssjjp-E.js → tooltip-root-BeAMXzxU.js} +4 -4
  134. package/dist/chunks/{tooltip-root-Dssjjp-E.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 +12 -12
  160. package/dist/components/date-picker.js +6 -6
  161. package/dist/components/dialog.js +2 -2
  162. package/dist/components/display-options.js +8 -8
  163. package/dist/components/empty.js +1 -1
  164. package/dist/components/field.js +1 -1
  165. package/dist/components/figure.js +60 -0
  166. package/dist/components/figure.js.map +1 -0
  167. package/dist/components/filter-chip.js +5 -5
  168. package/dist/components/filter-row.js +1 -1
  169. package/dist/components/flow.js +2 -2
  170. package/dist/components/heading.js +1 -1
  171. package/dist/components/icon-button.js +1 -1
  172. package/dist/components/icon.js +1 -1
  173. package/dist/components/input.js +7 -7
  174. package/dist/components/kaeso/conversation.js +8 -8
  175. package/dist/components/kaeso/identity.js +1 -1
  176. package/dist/components/kaeso/moments.js +5 -5
  177. package/dist/components/kaeso/rights.js +1 -1
  178. package/dist/components/kaeso/usage.js +5 -5
  179. package/dist/components/kaeso.js +10 -10
  180. package/dist/components/kbd.js +1 -1
  181. package/dist/components/key-value.js +3 -3
  182. package/dist/components/label.js +1 -1
  183. package/dist/components/layout.js +1 -1
  184. package/dist/components/link.js +1 -1
  185. package/dist/components/list.js +1 -1
  186. package/dist/components/loader.js +2 -2
  187. package/dist/components/logo.js +2 -2
  188. package/dist/components/markdown.js +1 -1
  189. package/dist/components/menu.js +1 -1
  190. package/dist/components/meter.js +1 -1
  191. package/dist/components/page-header.js +1 -1
  192. package/dist/components/pagination.js +1 -1
  193. package/dist/components/playground.js +16 -16
  194. package/dist/components/popover.js +2 -2
  195. package/dist/components/qr-code.js +1 -1
  196. package/dist/components/radio.js +1 -1
  197. package/dist/components/release-art.js +1 -1
  198. package/dist/components/scroll-area.js +1 -41
  199. package/dist/components/section.js +1 -1
  200. package/dist/components/segmented.js +1 -1
  201. package/dist/components/select.js +1 -1
  202. package/dist/components/separator.js +1 -1
  203. package/dist/components/settings.js +2 -2
  204. package/dist/components/sheet.js +2 -2
  205. package/dist/components/sidebar.js +1 -1
  206. package/dist/components/skeleton.js +1 -1
  207. package/dist/components/slider.js +1 -1
  208. package/dist/components/stat.js +3 -3
  209. package/dist/components/status-dot.js +1 -1
  210. package/dist/components/surface.js +1 -1
  211. package/dist/components/swap-text.js +1 -1
  212. package/dist/components/switch.js +1 -1
  213. package/dist/components/table.js +1 -1
  214. package/dist/components/tabs.js +2 -2
  215. package/dist/components/tag.js +1 -1
  216. package/dist/components/text.js +1 -1
  217. package/dist/components/theme-image.js +1 -1
  218. package/dist/components/theme-menu.js +2 -2
  219. package/dist/components/theme-select.js +1 -1
  220. package/dist/components/timeline.js +1 -1
  221. package/dist/components/toast.js +4 -4
  222. package/dist/components/toc.js +37 -22
  223. package/dist/components/toc.js.map +1 -1
  224. package/dist/components/toolbar.js +1 -1
  225. package/dist/components/tooltip.js +1 -1
  226. package/dist/components/visually-hidden.js +1 -1
  227. package/dist/index.js +88 -86
  228. package/dist/styles.css +1 -1
  229. package/dist/types/components/code-block/code-block.d.ts +1 -1
  230. package/dist/types/components/code-block/indent.d.ts +3 -0
  231. package/dist/types/components/command-list/command-list.d.ts +1 -0
  232. package/dist/types/components/command-list/docs.d.ts +1 -0
  233. package/dist/types/components/command-palette/command-palette.d.ts +1 -0
  234. package/dist/types/components/command-palette/docs.d.ts +1 -0
  235. package/dist/types/components/figure/docs.d.ts +12 -0
  236. package/dist/types/components/figure/figure.d.ts +25 -0
  237. package/dist/types/components/figure/index.d.ts +1 -0
  238. package/dist/types/components/table/docs.d.ts +3 -1
  239. package/dist/types/components/table/table.d.ts +18 -1
  240. package/dist/types/index.d.ts +1 -0
  241. package/dist/types/utils/cn.d.ts +4 -0
  242. package/dist/utils.js +1 -1
  243. package/package.json +3 -3
  244. package/dist/chunks/cn-Isw2DnQX.js.map +0 -1
  245. package/dist/chunks/code-block-mEH6Sy3h.js.map +0 -1
  246. package/dist/chunks/command-list-CzMbdtJs.js.map +0 -1
  247. package/dist/chunks/table-CTxDp7zC.js +0 -67
  248. package/dist/chunks/table-CTxDp7zC.js.map +0 -1
  249. package/dist/components/scroll-area.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"banner-CvYgPwCc.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-Isw2DnQX.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-D5uD_mnL.js";
6
- import { i as o } from "./kbd-9A9rX60U.js";
7
- import { r as s } from "./tooltip-CRApbLF6.js";
8
- import { i as c, r as l } from "./loader-DqOUwS1j.js";
9
- import { r as u } from "./swap-text-CC77iKJF.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
@@ -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-9q66Ta23.js.map
164
+ //# sourceMappingURL=button-Dzu7_csE.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button-9q66Ta23.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":";;;;;;;;;;;;AAUA,IAAaa,IAAwB;CACnC,SAAS;EACP,SAAS,EAAE,SAAS,mBAAmB;EACvC,WAAW,EAAE,SAAS,qBAAqB;EAC3C,OAAO,EAAE,SAAS,iBAAiB;EACnC,OAAO,EACL,SAAS,iDACX;EACA,MAAM,EAAE,SAAS,gBAAgB;EACjC,QAAQ,EAAE,SAAS,kBAAkB;EACrC,oBAAoB,EAAE,SAAS,4BAA4B;EAC3D,MAAM,EACJ,SAAS,6IACX;CACF;CACA,MAAM;EACJ,IAAI,EAAE,SAAS,gFAAgF;EAC/F,IAAI,EAAE,SAAS,6EAA6E;EAC5F,IAAI,EAAE,SAAS,6EAA6E;EAC5F,IAAI,EAAE,SAAS,6EAA6E;EAC5F,IAAI,EACF,SAAS,gFACX;CACF;CACA,OAAO;EACL,MAAM,EAAE,SAAS,eAAe;EAChC,QAAQ,EAAE,SAAS,kEAAkE;CACvF;AACF,GACaC,IAAgC;CAAE,SAAS;CAAa,MAAM;CAAM,OAAO;AAAO,GAMzFC,IAAmD;CAAE,IAAI;CAAQ,IAAI;CAAS,IAAI;CAAS,IAAI;CAAS,IAAI;AAAQ,GACpHC,IAAoD;CAAE,IAAI;CAAQ,IAAI;CAAS,IAAI;CAAS,IAAI;CAAS,IAAI;AAAQ,GACrHC,IAAqC;CAAE,IAAI;CAAW,IAAI;CAAW,IAAI;CAAW,IAAI;CAAW,IAAI;AAAU,GAC1GC,IAAiD;CAAE,IAAI;CAAM,IAAI;CAAM,IAAI;CAAM,IAAI;CAAM,IAAI;AAAK;AAEjH,SAAgBC,EAAc,EAC5B,aAAUL,EAA8B,SACxC,UAAOA,EAA8B,MACrC,WAAQA,EAA8B,OACtC,aAAU,IACV,cAAW,IACX,eAAY,OAQV,CAAC,GAAG;CACN,OAAOb,EACL,wGACA,uFACAY,EAAsB,KAAKO,EAAK,CAAC,SACjCP,EAAsB,MAAMQ,EAAM,CAAC,SACnCA,MAAU,YAAYJ,EAAOG,IAC7BC,MAAU,UAAUC,KAAWC,MAAY,UAAUR,EAAqBK,IAC1EC,MAAU,UAAUG,KAAYD,MAAY,UAAUP,EAAsBI,IAC5EG,MAAY,UAAU,cACtBV,EAAsB,QAAQU,EAAQ,CAAC,SACvCE,KAAa,QACf;AACF;AAiCA,IAAaC,IAAyB,kBAA+D,SAAgB,GAAO,GAAK;CAC/H,IAAM,EACJ,aAAUZ,EAA8B,SACxC,UAAOA,EAA8B,MACrC,aAAU,IACV,cAAW,IACX,mBACA,SACA,WACA,QACA,cACA,cACA,SACA,YACA,GAAGa,MACDC,GACEC,IAAWxB,EAAiB;CAClC,EAAqB,UAAUyB,CAAS;CAExC,IAAMC,IAAWtB,EAAkBuB,CAAO,GACpCC,IAAOD,KAAWD,GAClBG,IAAWN,EAAM,UAAU,UAC3BO,IAAWjB,EAAiBE,IAC5BgB,IAAcD,MAAa,OAAO,OAAOA,MAAa,OAAO,OAAO,MACpEE,IAAeH,IAAoD,KAAA,IAAxCN,EAA0B,aACrDU,IAAgBJ,IAAqD,KAAA,IAAzCN,EAA0B,cACtDW,IAAYL,IAAiD,KAAA,IAArCN,EAA0B,UAClDY,IAASN,IAA8C,KAAA,IAAlCN,EAA0B,OAC/Ca,IAAiBP,IAAsD,KAAA,IAA1CN,EAA0B;CAC7D,AAAIM,KAAU/B,EAAgB,UAAU,CAAC,CAAEyB,EAA4B,aAAa;CAEpF,IAAMc,IAAW,EAAE,GAAGf,EAAK;CAC3B,KAAK,IAAMgB,KAAK;EAAC;EAAS;EAAQ;EAAe;EAAgB;EAAY;EAAS;EAAY;CAAe,GAAG,OAAOD,EAASC;CAEpI,IAAMC,IAAe,CAAC,CAACC,KAAkBC,GACnCC,IAAQd,KAAQW,GAChBI,IAAU/C,EACdkB,EAAc;EACZ;EACA;EACA,OAAOe,IAAW,WAAW;EAC7B,SAAS,CAAC,CAACG;EACX,UAAU,CAAC,CAACC,KAAgB,CAAC,CAACC,KAAYC,MAAU,KAAA;EACpD,WAAW,CAAC,CAACf;CACf,CAAC,GACDQ,KAAQ,mBACRH,CACF,GAEMmB,IAAUf,IACdH,IACE,kBAACrB,GAAD,EAAS,MAAM0B,EAAc,CAAA,IAE7B,kBAAC9B,GAAD;EAAM,MAAOsB,EAA4B;EAAM,MAAMO;CAAW,CAAA,IAGlE,kBAAAnC,GAAA,EAAA,UAAA;EACG+B,KAAYM,IAAc,kBAAC3B,GAAD,EAAS,MAAM0B,EAAc,CAAA,IAAIC,IAAc,kBAAC/B,GAAD;GAAM,MAAM+B;GAAa,MAAMF;EAAW,CAAA,IAAI;EACxH,kBAAC,QAAD;GAAM,WAAWlC,EAAG,oCAAoC8B,KAAY,CAACM,KAAe,WAAW;GAC5F,UAAAI,IAAgB,kBAAC9B,GAAD;IAAU,SAAS8B;IAAiB,UAAAb,EAA0B;GAAmB,CAAA,IAAKA,EAA0B;EAC7H,CAAA;EACLY,MAAU,KAAA,KACT,kBAAC,QAAD;GACE,WAAWvC,EACT,4GACAsB,MAAY,YAAY,6BAA6BA,MAAY,WAAW,mCAAmC,6BACjH;GAEC,UAAAiB;EACG,CAAA;EAEPD,KAAY,kBAAChC,GAAD;GAAa,MAAMgC;GAAU,MAAMhB,MAAY,aAAaA,MAAY,WAAW,UAAU;EAAY,CAAA;EACrHe,KAAgB,kBAAChC,GAAD;GAAM,MAAMgC;GAAc,MAAMH;EAAW,CAAA;EAC3DJ,KAAY,CAACM,KAAe,kBAAC3B,GAAD;GAAS,MAAM0B;GAAa,WAAU;EAA2B,CAAA;CAC9F,EAAA,CAAA,GAGEc,KAAe,MAAyD;EAC5E,AAAIH,IACF,EAAE,eAAe,IAGnBI,IAAU,CAAkC;CAC9C,GAEIC;CACJ,IAAIC,KAAQ,CAACP,GAAU;EACrB,IAAMQ,IAAWlD,EAAeiD,CAAI;EACpC,IACE,kBAACxB,GAAD;GACO;GACC;GACN,WAAWmB;GACX,GAAKO,IAAS,EAAE,UAAO,IAAID,IAAW,EAAE,QAAQ,SAAS,IAAI,CAAC;GAC9D,GAAKE,IAAM,EAAE,OAAI,IAAIF,IAAW,EAAE,KAAK,sBAAsB,IAAI,CAAC;GAClE,GAAKZ;GACL,GAAKT,IAAO;IAAE,aAAa;IAAM,gBAAgB;GAAG,IAAI,CAAC;GACzD,SAASiB;GAER,UAAAD;EACO,CAAA;CAEd,OACE,IACE,kBAAC,UAAD;EACO;EACL,MAAMQ,KAAQ;EACd,WAAWT;EACX,UAAUF,KAAY,CAACF;EACvB,GAAKF;EACL,GAAKE,IAAe,EAAE,iBAAiB,GAAK,IAAI,CAAC;EACjD,GAAKX,IAAO;GAAE,aAAa;GAAM,gBAAgB;EAAG,IAAI,CAAC;EACzD,GAAKW,IAAe,EAAE,iBAAiB,GAAG,IAAI,CAAC;EAC/C,SAASM;EAER,UAAAD;CACK,CAAA;CAOZ,OAHIJ,KAAkBC,IACb,kBAACtC,GAAD;EAAS,SAASqC;EAAiB,UAAAO;CAA4B,CAAA,IAEjEA;AACT,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAO,cAAc"}
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-D5uD_mnL.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-CeNcqLFd.js.map
107
+ //# sourceMappingURL=calendar--YemJsv4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"calendar-CeNcqLFd.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-Isw2DnQX.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-C_DrNA2N.js.map
124
+ //# sourceMappingURL=checkbox-CDfC6E-M.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox-C_DrNA2N.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"}
@@ -355,6 +355,7 @@ function r() {
355
355
  a
356
356
  ] }],
357
357
  leading: [{ leading: ["none", ...v] }],
358
+ indent: [{ indent: v }],
358
359
  "text-alignment": [{ text: [
359
360
  "left",
360
361
  "center",
@@ -370,6 +371,12 @@ function r() {
370
371
  "line-through",
371
372
  "no-underline"
372
373
  ],
374
+ "text-transform": [
375
+ "uppercase",
376
+ "lowercase",
377
+ "capitalize",
378
+ "normal-case"
379
+ ],
373
380
  "text-decoration-thickness": [{ decoration: [
374
381
  g,
375
382
  "from-font",
@@ -675,4 +682,4 @@ function a(...n) {
675
682
  //#endregion
676
683
  export { a as t };
677
684
 
678
- //# sourceMappingURL=cn-Isw2DnQX.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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"}
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- import { t as e } from "./cn-Isw2DnQX.js";
2
+ import { t as e } from "./cn-Dj6sRgkF.js";
3
3
  import { i as t } from "./context-BELWW79w.js";
4
4
  import { t as n } from "./observe-resize-DhxhmoyB.js";
5
- import { n as r } from "./copy-button-Cdea0wKl.js";
5
+ import { n as r } from "./copy-button-7-irieJw.js";
6
6
  import { forwardRef as i, useEffect as a, useMemo as o, useRef as s, useState as c } from "react";
7
7
  import { jsx as l, jsxs as u } from "react/jsx-runtime";
8
8
  import { Tabs as d } from "@base-ui/react/tabs";
@@ -178,17 +178,31 @@ async function S(e, t) {
178
178
  })));
179
179
  }
180
180
  //#endregion
181
+ //#region src/components/code-block/indent.ts
182
+ var C = /^[ \t]+/;
183
+ function w(e, t) {
184
+ let n = t;
185
+ return e.flatMap((e) => {
186
+ if (n === 0) return [e];
187
+ let t = Math.min(n, e.content.length);
188
+ return n -= t, t === e.content.length ? [] : [{
189
+ ...e,
190
+ content: e.content.slice(t)
191
+ }];
192
+ });
193
+ }
194
+ //#endregion
181
195
  //#region src/hooks/use-scroll-fade.ts
182
- function C(e, t, n) {
196
+ function T(e, t, n) {
183
197
  n > 0 ? e.style.setProperty(t, `${n}px`) : e.style.removeProperty(t);
184
198
  }
185
- function w(e, t, r) {
199
+ function E(e, t, r) {
186
200
  a(() => {
187
201
  let r = e.current;
188
202
  if (!r) return;
189
203
  let i = () => {
190
204
  let e = Math.abs(r.scrollLeft);
191
- C(r, "--scroll-area-overflow-x-start", e), C(r, "--scroll-area-overflow-x-end", r.scrollWidth - r.clientWidth - e);
205
+ T(r, "--scroll-area-overflow-x-start", e), T(r, "--scroll-area-overflow-x-end", r.scrollWidth - r.clientWidth - e);
192
206
  };
193
207
  i(), r.addEventListener("scroll", i, { passive: !0 });
194
208
  let a = r.querySelector(t), o = n(a ? [r, a] : [r], i);
@@ -203,107 +217,114 @@ function w(e, t, r) {
203
217
  }
204
218
  //#endregion
205
219
  //#region src/components/code-block/code-block.tsx
206
- var T = { surface: {
220
+ var D = { surface: {
207
221
  well: { classes: "rounded-well bg-fill-1" },
208
222
  plain: { classes: "bg-transparent" }
209
- } }, E = { surface: "well" }, D = /* @__PURE__ */ i(function({ code: n = "", lang: i = "ts", tabs: f, tab: p, onTabChange: m, title: h, lineNumbers: g, highlightLines: _ = [], collapseAfter: v = 24, surface: y = "well", copy: b = !0, wrap: x = !1, className: C }, E) {
210
- let [D, O] = c(0), k = p === void 0 ? -1 : f?.findIndex((e) => e.label === p) ?? -1, A = k >= 0 ? k : D, j = (e) => {
211
- O(e);
223
+ } }, O = { surface: "well" }, k = /* @__PURE__ */ i(function({ code: n = "", lang: i = "ts", tabs: f, tab: p, onTabChange: m, title: h, lineNumbers: g, highlightLines: _ = [], collapseAfter: v = 24, surface: y = "well", copy: b = !0, wrap: x = !1, className: T }, O) {
224
+ let [k, A] = c(0), j = p === void 0 ? -1 : f?.findIndex((e) => e.label === p) ?? -1, M = j >= 0 ? j : k, N = (e) => {
225
+ A(e);
212
226
  let t = f?.[e]?.label;
213
227
  t !== void 0 && m?.(t);
214
- }, M = t(), N = f?.[A] ?? {
228
+ }, P = t(), F = f?.[M] ?? {
215
229
  label: "",
216
230
  code: n,
217
231
  lang: i
218
- }, P = N.code.replace(/\n$/, ""), F = o(() => P.split("\n"), [P]), [I, L] = c(null), [R, z] = c(!1);
232
+ }, I = F.code.replace(/\n$/, ""), L = o(() => I.split("\n"), [I]), [R, z] = c(null), [B, V] = c(!1);
219
233
  a(() => {
220
- let e = !0, t = N.lang ?? "ts";
221
- return S(P, t).then((n) => e && L({
222
- text: P,
234
+ let e = !0, t = F.lang ?? "ts";
235
+ return S(I, t).then((n) => e && z({
236
+ text: I,
223
237
  lang: t,
224
238
  tokens: n
225
239
  })).catch(() => void 0), () => {
226
240
  e = !1;
227
241
  };
228
- }, [P, N.lang]);
229
- let B = I && I.lang === (N.lang ?? "ts") && I.text === P ? I.tokens : null, V = v > 0 && F.length > v && !R, H = V ? v : F.length, U = s(null);
230
- w(U, "code", !!f);
231
- let W = e("relative overflow-x-auto py-16 scrollbar-quiet scroll-fade-x focus-ring-inset", V && "overflow-y-hidden", b && "coarse:mr-40"), G = /* @__PURE__ */ l("pre", {
242
+ }, [I, F.lang]);
243
+ let H = R && R.lang === (F.lang ?? "ts") && R.text === I ? R.tokens : null, U = v > 0 && L.length > v && !B, W = U ? v : L.length, G = s(null);
244
+ E(G, "code", !!f);
245
+ let K = e("relative overflow-x-auto py-16 scrollbar-quiet scroll-fade-x focus-ring-inset", U && "overflow-y-hidden", b && "coarse:mr-40"), q = /* @__PURE__ */ l("pre", {
232
246
  className: "mono text-small text-fg",
233
247
  children: /* @__PURE__ */ l("code", {
234
- className: e("grid", !x && "min-w-max"),
235
- children: F.slice(0, H).map((t, n) => /* @__PURE__ */ u("span", {
236
- className: e("flex px-16 leading-code", x && "whitespace-pre-wrap wrap-anywhere", _.includes(n + 1) && "bg-fill-2"),
237
- children: [g && /* @__PURE__ */ l("span", {
238
- className: "mr-16 inline-block w-24 shrink-0 text-right text-fg-tertiary select-none tabular",
239
- children: n + 1
240
- }), /* @__PURE__ */ l("span", {
241
- className: "min-w-0",
242
- children: B?.[n]?.length ? B[n].map((e, t) => /* @__PURE__ */ l("span", {
243
- className: e.className || void 0,
244
- children: e.content
245
- }, t)) : t || " "
246
- })]
248
+ className: e("grid", !x && "min-w-max", x === "phone" && "sm:min-w-max"),
249
+ children: L.slice(0, W).map((t, n) => /* @__PURE__ */ u("span", {
250
+ className: e("flex px-16 leading-code", x === !0 && "whitespace-pre-wrap wrap-anywhere", x === "phone" && "max-sm:whitespace-pre-wrap max-sm:wrap-anywhere", _.includes(n + 1) && "bg-fill-2"),
251
+ children: [
252
+ g && /* @__PURE__ */ l("span", {
253
+ className: "mr-16 inline-block w-24 shrink-0 text-right text-fg-tertiary select-none tabular",
254
+ children: n + 1
255
+ }),
256
+ x && C.test(t) && /* @__PURE__ */ l("span", {
257
+ className: "shrink-0 whitespace-pre",
258
+ children: C.exec(t)?.[0]
259
+ }),
260
+ /* @__PURE__ */ l("span", {
261
+ className: e("min-w-0", x === !0 && "pl-16 -indent-16", x === "phone" && "max-sm:pl-16 max-sm:-indent-16"),
262
+ children: H?.[n]?.length ? w(H[n], x ? C.exec(t)?.[0].length ?? 0 : 0).map((e, t) => /* @__PURE__ */ l("span", {
263
+ className: e.className || void 0,
264
+ children: e.content
265
+ }, t)) : (x ? t.replace(C, "") : t) || " "
266
+ })
267
+ ]
247
268
  }, n))
248
269
  })
249
270
  });
250
271
  return /* @__PURE__ */ u("div", {
251
- ref: E,
252
- className: e("group/code relative min-w-0", T.surface[y].classes, C),
272
+ ref: O,
273
+ className: e("group/code relative min-w-0", D.surface[y].classes, T),
253
274
  children: [
254
275
  /* @__PURE__ */ u(d.Root, {
255
- value: A,
256
- onValueChange: (e) => j(Number(e)),
276
+ value: M,
277
+ onValueChange: (e) => N(Number(e)),
257
278
  children: [(h || f) && /* @__PURE__ */ u("div", {
258
279
  className: "flex h-44 items-center gap-4 px-8 hairline-b",
259
280
  children: [h && /* @__PURE__ */ l("span", {
260
281
  className: "px-8 mono text-small text-fg-secondary",
261
282
  children: h
262
283
  }), f && /* @__PURE__ */ l(d.List, {
263
- "aria-label": M("codeBlock.language", "Language"),
284
+ "aria-label": P("codeBlock.language", "Language"),
264
285
  className: "flex items-center gap-2",
265
286
  children: f.map((t, n) => /* @__PURE__ */ l(d.Tab, {
266
287
  value: n,
267
- className: e("inline-flex h-28 cursor-pointer items-center rounded-pill px-10 text-small font-medium transition-control focus-ring", n === A ? "bg-fill-2 text-fg" : "text-fg-secondary hover:bg-fill-2 hover:text-fg"),
288
+ className: e("inline-flex h-28 cursor-pointer items-center rounded-pill px-10 text-small font-medium transition-control focus-ring", n === M ? "bg-fill-2 text-fg" : "text-fg-secondary hover:bg-fill-2 hover:text-fg"),
268
289
  children: t.label
269
290
  }, t.label))
270
291
  })]
271
292
  }), f ? /* @__PURE__ */ l(d.Panel, {
272
- ref: U,
273
- value: A,
274
- className: W,
275
- children: G
293
+ ref: G,
294
+ value: M,
295
+ className: K,
296
+ children: q
276
297
  }) : /* @__PURE__ */ l("div", {
277
- ref: U,
298
+ ref: G,
278
299
  tabIndex: 0,
279
300
  role: "region",
280
- "aria-label": typeof h == "string" ? M("codeBlock.titledCode", "{title} code", { title: h }) : M("codeBlock.code", "Code"),
281
- className: W,
282
- children: G
301
+ "aria-label": typeof h == "string" ? P("codeBlock.titledCode", "{title} code", { title: h }) : P("codeBlock.code", "Code"),
302
+ className: K,
303
+ children: q
283
304
  })]
284
305
  }),
285
- v > 0 && F.length > v && /* @__PURE__ */ l("div", {
306
+ v > 0 && L.length > v && /* @__PURE__ */ l("div", {
286
307
  className: "flex justify-center pb-12",
287
308
  children: /* @__PURE__ */ l("button", {
288
309
  type: "button",
289
- onClick: () => z((e) => !e),
310
+ onClick: () => V((e) => !e),
290
311
  className: "inline-flex h-28 cursor-pointer items-center rounded-pill px-12 text-small font-medium text-fg-secondary transition-control hover:bg-fill-2 hover:text-fg focus-ring",
291
- children: R ? M("codeBlock.showLess", "Show less") : M("codeBlock.showAllLines", "Show all {count} lines", { count: String(F.length) })
312
+ children: B ? P("codeBlock.showLess", "Show less") : P("codeBlock.showAllLines", "Show all {count} lines", { count: String(L.length) })
292
313
  })
293
314
  }),
294
315
  b && /* @__PURE__ */ l("div", {
295
316
  className: e("absolute right-8 opacity-0 transition-control group-hover/code:opacity-100 coarse:opacity-100 focus-within:opacity-100", h || f ? "top-52" : "top-8"),
296
317
  children: /* @__PURE__ */ l(r, {
297
- value: P,
298
- label: M("codeBlock.copy", "Copy code")
318
+ value: I,
319
+ label: P("codeBlock.copy", "Copy code")
299
320
  })
300
321
  })
301
322
  ]
302
323
  });
303
324
  });
304
- process.env.NODE_ENV !== "production" && (D.displayName = "CodeBlock");
305
- var O = D;
325
+ process.env.NODE_ENV !== "production" && (k.displayName = "CodeBlock");
326
+ var A = k;
306
327
  //#endregion
307
- export { y as a, T as i, O as n, S as o, E as r, g as s, D as t };
328
+ export { y as a, D as i, A as n, S as o, O as r, g as s, k as t };
308
329
 
309
- //# sourceMappingURL=code-block-mEH6Sy3h.js.map
330
+ //# sourceMappingURL=code-block-U5fCqwgC.js.map