@tosui/react 0.1.0 → 0.1.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 (276) hide show
  1. package/dist/components/Accordion/Accordion.d.ts.map +1 -1
  2. package/dist/components/Accordion/Accordion.js +109 -0
  3. package/dist/components/Accordion/Accordion.js.map +1 -0
  4. package/dist/components/Accordion/accordion.module.css +36 -0
  5. package/dist/components/Accordion/accordion.module.css.js +27 -0
  6. package/dist/components/Accordion/accordion.module.css.js.map +1 -0
  7. package/dist/components/Alert/Alert.js +109 -0
  8. package/dist/components/Alert/Alert.js.map +1 -0
  9. package/dist/components/Alert/alert.module.css +27 -0
  10. package/dist/components/Alert/alert.module.css.js +24 -0
  11. package/dist/components/Alert/alert.module.css.js.map +1 -0
  12. package/dist/components/Avatar/Avatar.d.ts.map +1 -1
  13. package/dist/components/Avatar/Avatar.js +72 -0
  14. package/dist/components/Avatar/Avatar.js.map +1 -0
  15. package/dist/components/Avatar/avatar.module.css +14 -0
  16. package/dist/components/Avatar/avatar.module.css.js +15 -0
  17. package/dist/components/Avatar/avatar.module.css.js.map +1 -0
  18. package/dist/components/Badge/Badge.js +66 -0
  19. package/dist/components/Badge/Badge.js.map +1 -0
  20. package/dist/components/Badge/badge.module.css +3 -0
  21. package/dist/components/Badge/badge.module.css.js +9 -0
  22. package/dist/components/Badge/badge.module.css.js.map +1 -0
  23. package/dist/components/Box/Box.js +217 -0
  24. package/dist/components/Box/Box.js.map +1 -0
  25. package/dist/components/Box/borders/borders.js +91 -0
  26. package/dist/components/Box/borders/borders.js.map +1 -0
  27. package/dist/components/Box/borders/borders.module.css +49 -0
  28. package/dist/components/Box/borders/borders.module.css.js +46 -0
  29. package/dist/components/Box/borders/borders.module.css.js.map +1 -0
  30. package/dist/components/Box/colors/colors.js +45 -0
  31. package/dist/components/Box/colors/colors.js.map +1 -0
  32. package/dist/components/Box/colors/colors.module.css +113 -0
  33. package/dist/components/Box/colors/colors.module.css.js +114 -0
  34. package/dist/components/Box/colors/colors.module.css.js.map +1 -0
  35. package/dist/components/Box/display/display.js +52 -0
  36. package/dist/components/Box/display/display.js.map +1 -0
  37. package/dist/components/Box/display/display.module.css +375 -0
  38. package/dist/components/Box/display/display.module.css.js +318 -0
  39. package/dist/components/Box/display/display.module.css.js.map +1 -0
  40. package/dist/components/Box/flexbox/flexbox.js +139 -0
  41. package/dist/components/Box/flexbox/flexbox.js.map +1 -0
  42. package/dist/components/Box/flexbox/flexbox.module.css +65 -0
  43. package/dist/components/Box/flexbox/flexbox.module.css.js +62 -0
  44. package/dist/components/Box/flexbox/flexbox.module.css.js.map +1 -0
  45. package/dist/components/Box/grid/grid.js +49 -0
  46. package/dist/components/Box/grid/grid.js.map +1 -0
  47. package/dist/components/Box/grid/grid.module.css +19 -0
  48. package/dist/components/Box/grid/grid.module.css.js +20 -0
  49. package/dist/components/Box/grid/grid.module.css.js.map +1 -0
  50. package/dist/components/Box/inset/inset.js +96 -0
  51. package/dist/components/Box/inset/inset.js.map +1 -0
  52. package/dist/components/Box/inset/inset.module.css +187 -0
  53. package/dist/components/Box/inset/inset.module.css.js +174 -0
  54. package/dist/components/Box/inset/inset.module.css.js.map +1 -0
  55. package/dist/components/Box/interactions/interactions.js +45 -0
  56. package/dist/components/Box/interactions/interactions.js.map +1 -0
  57. package/dist/components/Box/interactions/interactions.module.css +43 -0
  58. package/dist/components/Box/interactions/interactions.module.css.js +44 -0
  59. package/dist/components/Box/interactions/interactions.module.css.js.map +1 -0
  60. package/dist/components/Box/margin/margin.js +96 -0
  61. package/dist/components/Box/margin/margin.js.map +1 -0
  62. package/dist/components/Box/margin/margin.module.css +187 -0
  63. package/dist/components/Box/margin/margin.module.css.js +174 -0
  64. package/dist/components/Box/margin/margin.module.css.js.map +1 -0
  65. package/dist/components/Box/opacity/opacity.js +52 -0
  66. package/dist/components/Box/opacity/opacity.js.map +1 -0
  67. package/dist/components/Box/opacity/opacity.module.css +51 -0
  68. package/dist/components/Box/opacity/opacity.module.css.js +174 -0
  69. package/dist/components/Box/opacity/opacity.module.css.js.map +1 -0
  70. package/dist/components/Box/overflow/overflow.js +69 -0
  71. package/dist/components/Box/overflow/overflow.js.map +1 -0
  72. package/dist/components/Box/overflow/overflow.module.css +155 -0
  73. package/dist/components/Box/overflow/overflow.module.css.js +510 -0
  74. package/dist/components/Box/overflow/overflow.module.css.js.map +1 -0
  75. package/dist/components/Box/padding/padding.js +96 -0
  76. package/dist/components/Box/padding/padding.js.map +1 -0
  77. package/dist/components/Box/padding/padding.module.css +187 -0
  78. package/dist/components/Box/padding/padding.module.css.js +174 -0
  79. package/dist/components/Box/padding/padding.module.css.js.map +1 -0
  80. package/dist/components/Box/position/position.js +52 -0
  81. package/dist/components/Box/position/position.js.map +1 -0
  82. package/dist/components/Box/position/position.module.css +234 -0
  83. package/dist/components/Box/position/position.module.css.js +214 -0
  84. package/dist/components/Box/position/position.module.css.js.map +1 -0
  85. package/dist/components/Box/reset/reset.js +6 -0
  86. package/dist/components/Box/reset/reset.js.map +1 -0
  87. package/dist/components/Box/reset/reset.module.css +23 -0
  88. package/dist/components/Box/reset/reset.module.css.js +9 -0
  89. package/dist/components/Box/reset/reset.module.css.js.map +1 -0
  90. package/dist/components/Box/roundness/roundness.js +92 -0
  91. package/dist/components/Box/roundness/roundness.js.map +1 -0
  92. package/dist/components/Box/roundness/roundness.module.css +47 -0
  93. package/dist/components/Box/roundness/roundness.module.css.js +46 -0
  94. package/dist/components/Box/roundness/roundness.module.css.js.map +1 -0
  95. package/dist/components/Box/shadows/shadows.js +52 -0
  96. package/dist/components/Box/shadows/shadows.js.map +1 -0
  97. package/dist/components/Box/shadows/shadows.module.css +51 -0
  98. package/dist/components/Box/shadows/shadows.module.css.js +174 -0
  99. package/dist/components/Box/shadows/shadows.module.css.js.map +1 -0
  100. package/dist/components/Box/shared/constants.js +21 -0
  101. package/dist/components/Box/shared/constants.js.map +1 -0
  102. package/dist/components/Box/shared/spacing.js +10 -0
  103. package/dist/components/Box/shared/spacing.js.map +1 -0
  104. package/dist/components/Box/sizing/sizing.js +75 -0
  105. package/dist/components/Box/sizing/sizing.js.map +1 -0
  106. package/dist/components/Box/sizing/sizing.module.css +281 -0
  107. package/dist/components/Box/sizing/sizing.module.css.js +258 -0
  108. package/dist/components/Box/sizing/sizing.module.css.js.map +1 -0
  109. package/dist/components/Box/text/text.js +45 -0
  110. package/dist/components/Box/text/text.js.map +1 -0
  111. package/dist/components/Box/text/text.module.css +29 -0
  112. package/dist/components/Box/text/text.module.css.js +30 -0
  113. package/dist/components/Box/text/text.module.css.js.map +1 -0
  114. package/dist/components/Box/typography/typography.js +27 -0
  115. package/dist/components/Box/typography/typography.js.map +1 -0
  116. package/dist/components/Box/typography/typography.module.css +26 -0
  117. package/dist/components/Box/typography/typography.module.css.js +25 -0
  118. package/dist/components/Box/typography/typography.module.css.js.map +1 -0
  119. package/dist/components/Box/zIndex/zIndex.js +52 -0
  120. package/dist/components/Box/zIndex/zIndex.js.map +1 -0
  121. package/dist/components/Box/zIndex/zIndex.module.css +90 -0
  122. package/dist/components/Box/zIndex/zIndex.module.css.js +300 -0
  123. package/dist/components/Box/zIndex/zIndex.module.css.js.map +1 -0
  124. package/dist/components/Breadcrumb/Breadcrumb.js +78 -0
  125. package/dist/components/Breadcrumb/Breadcrumb.js.map +1 -0
  126. package/dist/components/Breadcrumb/breadcrumb.module.css +25 -0
  127. package/dist/components/Breadcrumb/breadcrumb.module.css.js +21 -0
  128. package/dist/components/Breadcrumb/breadcrumb.module.css.js.map +1 -0
  129. package/dist/components/Button/Button.js +129 -0
  130. package/dist/components/Button/Button.js.map +1 -0
  131. package/dist/components/Button/button.module.css +17 -0
  132. package/dist/components/Button/button.module.css.js +18 -0
  133. package/dist/components/Button/button.module.css.js.map +1 -0
  134. package/dist/components/Card/Card.js +60 -0
  135. package/dist/components/Card/Card.js.map +1 -0
  136. package/dist/components/Card/card.module.css +16 -0
  137. package/dist/components/Card/card.module.css.js +18 -0
  138. package/dist/components/Card/card.module.css.js.map +1 -0
  139. package/dist/components/Checkbox/Checkbox.js +74 -0
  140. package/dist/components/Checkbox/Checkbox.js.map +1 -0
  141. package/dist/components/Checkbox/checkbox.module.css +65 -0
  142. package/dist/components/Checkbox/checkbox.module.css.js +15 -0
  143. package/dist/components/Checkbox/checkbox.module.css.js.map +1 -0
  144. package/dist/components/Code/Code.js +32 -0
  145. package/dist/components/Code/Code.js.map +1 -0
  146. package/dist/components/Container/Container.js +44 -0
  147. package/dist/components/Container/Container.js.map +1 -0
  148. package/dist/components/Divider/Divider.js +48 -0
  149. package/dist/components/Divider/Divider.js.map +1 -0
  150. package/dist/components/Flex/Flex.js +48 -0
  151. package/dist/components/Flex/Flex.js.map +1 -0
  152. package/dist/components/FormField/FormField.js +52 -0
  153. package/dist/components/FormField/FormField.js.map +1 -0
  154. package/dist/components/Grid/Grid.js +41 -0
  155. package/dist/components/Grid/Grid.js.map +1 -0
  156. package/dist/components/HStack/HStack.js +17 -0
  157. package/dist/components/HStack/HStack.js.map +1 -0
  158. package/dist/components/Heading/Heading.js +42 -0
  159. package/dist/components/Heading/Heading.js.map +1 -0
  160. package/dist/components/IconButton/IconButton.js +93 -0
  161. package/dist/components/IconButton/IconButton.js.map +1 -0
  162. package/dist/components/IconButton/iconbutton.module.css +18 -0
  163. package/dist/components/IconButton/iconbutton.module.css.js +18 -0
  164. package/dist/components/IconButton/iconbutton.module.css.js.map +1 -0
  165. package/dist/components/Image/Image.d.ts.map +1 -1
  166. package/dist/components/Image/Image.js +101 -0
  167. package/dist/components/Image/Image.js.map +1 -0
  168. package/dist/components/Image/image.module.css +44 -0
  169. package/dist/components/Image/image.module.css.js +36 -0
  170. package/dist/components/Image/image.module.css.js.map +1 -0
  171. package/dist/components/Input/Input.js +57 -0
  172. package/dist/components/Input/Input.js.map +1 -0
  173. package/dist/components/Input/input.module.css +29 -0
  174. package/dist/components/Input/input.module.css.js +12 -0
  175. package/dist/components/Input/input.module.css.js.map +1 -0
  176. package/dist/components/Label/Label.js +36 -0
  177. package/dist/components/Label/Label.js.map +1 -0
  178. package/dist/components/Link/Link.js +38 -0
  179. package/dist/components/Link/Link.js.map +1 -0
  180. package/dist/components/Link/link.module.css +28 -0
  181. package/dist/components/Link/link.module.css.js +16 -0
  182. package/dist/components/Link/link.module.css.js.map +1 -0
  183. package/dist/components/List/List.js +51 -0
  184. package/dist/components/List/List.js.map +1 -0
  185. package/dist/components/List/list.module.css +45 -0
  186. package/dist/components/List/list.module.css.js +24 -0
  187. package/dist/components/List/list.module.css.js.map +1 -0
  188. package/dist/components/Menu/Menu.d.ts.map +1 -1
  189. package/dist/components/Menu/Menu.js +143 -0
  190. package/dist/components/Menu/Menu.js.map +1 -0
  191. package/dist/components/Menu/menu.module.css +24 -0
  192. package/dist/components/Menu/menu.module.css.js +18 -0
  193. package/dist/components/Menu/menu.module.css.js.map +1 -0
  194. package/dist/components/Modal/Modal.d.ts.map +1 -1
  195. package/dist/components/Modal/Modal.js +130 -0
  196. package/dist/components/Modal/Modal.js.map +1 -0
  197. package/dist/components/Modal/modal.module.css +26 -0
  198. package/dist/components/Modal/modal.module.css.js +21 -0
  199. package/dist/components/Modal/modal.module.css.js.map +1 -0
  200. package/dist/components/Pagination/Pagination.js +125 -0
  201. package/dist/components/Pagination/Pagination.js.map +1 -0
  202. package/dist/components/Pagination/pagination.module.css +3 -0
  203. package/dist/components/Pagination/pagination.module.css.js +9 -0
  204. package/dist/components/Pagination/pagination.module.css.js.map +1 -0
  205. package/dist/components/Popover/Popover.d.ts.map +1 -1
  206. package/dist/components/Popover/Popover.js +144 -0
  207. package/dist/components/Popover/Popover.js.map +1 -0
  208. package/dist/components/Popover/popover.module.css +11 -0
  209. package/dist/components/Popover/popover.module.css.js +15 -0
  210. package/dist/components/Popover/popover.module.css.js.map +1 -0
  211. package/dist/components/Progress/Progress.js +54 -0
  212. package/dist/components/Progress/Progress.js.map +1 -0
  213. package/dist/components/Progress/progress.module.css +24 -0
  214. package/dist/components/Progress/progress.module.css.js +15 -0
  215. package/dist/components/Progress/progress.module.css.js.map +1 -0
  216. package/dist/components/Radio/Radio.js +70 -0
  217. package/dist/components/Radio/Radio.js.map +1 -0
  218. package/dist/components/Radio/radio.module.css +48 -0
  219. package/dist/components/Radio/radio.module.css.js +12 -0
  220. package/dist/components/Radio/radio.module.css.js.map +1 -0
  221. package/dist/components/Select/Select.js +57 -0
  222. package/dist/components/Select/Select.js.map +1 -0
  223. package/dist/components/Select/select.module.css +43 -0
  224. package/dist/components/Select/select.module.css.js +12 -0
  225. package/dist/components/Select/select.module.css.js.map +1 -0
  226. package/dist/components/Skeleton/Skeleton.js +37 -0
  227. package/dist/components/Skeleton/Skeleton.js.map +1 -0
  228. package/dist/components/Skeleton/skeleton.module.css +26 -0
  229. package/dist/components/Skeleton/skeleton.module.css.js +9 -0
  230. package/dist/components/Skeleton/skeleton.module.css.js.map +1 -0
  231. package/dist/components/Spacer/Spacer.js +16 -0
  232. package/dist/components/Spacer/Spacer.js.map +1 -0
  233. package/dist/components/Spinner/Spinner.js +41 -0
  234. package/dist/components/Spinner/Spinner.js.map +1 -0
  235. package/dist/components/Spinner/spinner.module.css +21 -0
  236. package/dist/components/Spinner/spinner.module.css.js +9 -0
  237. package/dist/components/Spinner/spinner.module.css.js.map +1 -0
  238. package/dist/components/Stack/Stack.js +35 -0
  239. package/dist/components/Stack/Stack.js.map +1 -0
  240. package/dist/components/Switch/Switch.js +83 -0
  241. package/dist/components/Switch/Switch.js.map +1 -0
  242. package/dist/components/Switch/switch.module.css +48 -0
  243. package/dist/components/Switch/switch.module.css.js +15 -0
  244. package/dist/components/Switch/switch.module.css.js.map +1 -0
  245. package/dist/components/Tabs/Tabs.d.ts.map +1 -1
  246. package/dist/components/Tabs/Tabs.js +87 -0
  247. package/dist/components/Tabs/Tabs.js.map +1 -0
  248. package/dist/components/Tabs/tabs.module.css +55 -0
  249. package/dist/components/Tabs/tabs.module.css.js +27 -0
  250. package/dist/components/Tabs/tabs.module.css.js.map +1 -0
  251. package/dist/components/Text/Text.d.ts.map +1 -1
  252. package/dist/components/Text/Text.js +40 -0
  253. package/dist/components/Text/Text.js.map +1 -0
  254. package/dist/components/Text/text.module.css +9 -0
  255. package/dist/components/Text/text.module.css.js +12 -0
  256. package/dist/components/Text/text.module.css.js.map +1 -0
  257. package/dist/components/Textarea/Textarea.js +70 -0
  258. package/dist/components/Textarea/Textarea.js.map +1 -0
  259. package/dist/components/Textarea/textarea.module.css +46 -0
  260. package/dist/components/Textarea/textarea.module.css.js +24 -0
  261. package/dist/components/Textarea/textarea.module.css.js.map +1 -0
  262. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  263. package/dist/components/Tooltip/Tooltip.js +135 -0
  264. package/dist/components/Tooltip/Tooltip.js.map +1 -0
  265. package/dist/components/Tooltip/tooltip.module.css +4 -0
  266. package/dist/components/Tooltip/tooltip.module.css.js +9 -0
  267. package/dist/components/Tooltip/tooltip.module.css.js.map +1 -0
  268. package/dist/components/VStack/VStack.js +17 -0
  269. package/dist/components/VStack/VStack.js.map +1 -0
  270. package/dist/fonts.css +23 -1
  271. package/dist/index.css +3320 -1
  272. package/dist/index.d.ts.map +1 -1
  273. package/dist/index.js +99 -5521
  274. package/dist/index.js.map +1 -1
  275. package/dist/styles/styles.css +353 -0
  276. package/package.json +8 -4
@@ -0,0 +1,300 @@
1
+ const base = "_base_1gyoz_2";
2
+ const base_sm = "_base_sm_1gyoz_8";
3
+ const base_md = "_base_md_1gyoz_9";
4
+ const base_lg = "_base_lg_1gyoz_10";
5
+ const base_xl = "_base_xl_1gyoz_11";
6
+ const base_2xl = "_base_2xl_1gyoz_12";
7
+ const behind = "_behind_1gyoz_15";
8
+ const behind_sm = "_behind_sm_1gyoz_21";
9
+ const behind_md = "_behind_md_1gyoz_22";
10
+ const behind_lg = "_behind_lg_1gyoz_23";
11
+ const behind_xl = "_behind_xl_1gyoz_24";
12
+ const behind_2xl = "_behind_2xl_1gyoz_25";
13
+ const dropdown = "_dropdown_1gyoz_28";
14
+ const dropdown_sm = "_dropdown_sm_1gyoz_34";
15
+ const dropdown_md = "_dropdown_md_1gyoz_35";
16
+ const dropdown_lg = "_dropdown_lg_1gyoz_36";
17
+ const dropdown_xl = "_dropdown_xl_1gyoz_37";
18
+ const dropdown_2xl = "_dropdown_2xl_1gyoz_38";
19
+ const sticky = "_sticky_1gyoz_41";
20
+ const sticky_sm = "_sticky_sm_1gyoz_47";
21
+ const sticky_md = "_sticky_md_1gyoz_48";
22
+ const sticky_lg = "_sticky_lg_1gyoz_49";
23
+ const sticky_xl = "_sticky_xl_1gyoz_50";
24
+ const sticky_2xl = "_sticky_2xl_1gyoz_51";
25
+ const modal = "_modal_1gyoz_54";
26
+ const modal_sm = "_modal_sm_1gyoz_60";
27
+ const modal_md = "_modal_md_1gyoz_61";
28
+ const modal_lg = "_modal_lg_1gyoz_62";
29
+ const modal_xl = "_modal_xl_1gyoz_63";
30
+ const modal_2xl = "_modal_2xl_1gyoz_64";
31
+ const toast = "_toast_1gyoz_67";
32
+ const toast_sm = "_toast_sm_1gyoz_73";
33
+ const toast_md = "_toast_md_1gyoz_74";
34
+ const toast_lg = "_toast_lg_1gyoz_75";
35
+ const toast_xl = "_toast_xl_1gyoz_76";
36
+ const toast_2xl = "_toast_2xl_1gyoz_77";
37
+ const tooltip = "_tooltip_1gyoz_80";
38
+ const tooltip_sm = "_tooltip_sm_1gyoz_86";
39
+ const tooltip_md = "_tooltip_md_1gyoz_87";
40
+ const tooltip_lg = "_tooltip_lg_1gyoz_88";
41
+ const tooltip_xl = "_tooltip_xl_1gyoz_89";
42
+ const tooltip_2xl = "_tooltip_2xl_1gyoz_90";
43
+ const styles = {
44
+ base,
45
+ "base:h": "_base:h_1gyoz_3",
46
+ "base:f": "_base:f_1gyoz_4",
47
+ "base:a": "_base:a_1gyoz_5",
48
+ "base:d": "_base:d_1gyoz_6",
49
+ base_sm,
50
+ "base_sm:h": "_base_sm:h_1gyoz_8",
51
+ "base_sm:f": "_base_sm:f_1gyoz_8",
52
+ "base_sm:a": "_base_sm:a_1gyoz_8",
53
+ "base_sm:d": "_base_sm:d_1gyoz_8",
54
+ base_md,
55
+ "base_md:h": "_base_md:h_1gyoz_9",
56
+ "base_md:f": "_base_md:f_1gyoz_9",
57
+ "base_md:a": "_base_md:a_1gyoz_9",
58
+ "base_md:d": "_base_md:d_1gyoz_9",
59
+ base_lg,
60
+ "base_lg:h": "_base_lg:h_1gyoz_10",
61
+ "base_lg:f": "_base_lg:f_1gyoz_10",
62
+ "base_lg:a": "_base_lg:a_1gyoz_10",
63
+ "base_lg:d": "_base_lg:d_1gyoz_10",
64
+ base_xl,
65
+ "base_xl:h": "_base_xl:h_1gyoz_11",
66
+ "base_xl:f": "_base_xl:f_1gyoz_11",
67
+ "base_xl:a": "_base_xl:a_1gyoz_11",
68
+ "base_xl:d": "_base_xl:d_1gyoz_11",
69
+ base_2xl,
70
+ "base_2xl:h": "_base_2xl:h_1gyoz_12",
71
+ "base_2xl:f": "_base_2xl:f_1gyoz_12",
72
+ "base_2xl:a": "_base_2xl:a_1gyoz_12",
73
+ "base_2xl:d": "_base_2xl:d_1gyoz_12",
74
+ behind,
75
+ "behind:h": "_behind:h_1gyoz_16",
76
+ "behind:f": "_behind:f_1gyoz_17",
77
+ "behind:a": "_behind:a_1gyoz_18",
78
+ "behind:d": "_behind:d_1gyoz_19",
79
+ behind_sm,
80
+ "behind_sm:h": "_behind_sm:h_1gyoz_21",
81
+ "behind_sm:f": "_behind_sm:f_1gyoz_21",
82
+ "behind_sm:a": "_behind_sm:a_1gyoz_21",
83
+ "behind_sm:d": "_behind_sm:d_1gyoz_21",
84
+ behind_md,
85
+ "behind_md:h": "_behind_md:h_1gyoz_22",
86
+ "behind_md:f": "_behind_md:f_1gyoz_22",
87
+ "behind_md:a": "_behind_md:a_1gyoz_22",
88
+ "behind_md:d": "_behind_md:d_1gyoz_22",
89
+ behind_lg,
90
+ "behind_lg:h": "_behind_lg:h_1gyoz_23",
91
+ "behind_lg:f": "_behind_lg:f_1gyoz_23",
92
+ "behind_lg:a": "_behind_lg:a_1gyoz_23",
93
+ "behind_lg:d": "_behind_lg:d_1gyoz_23",
94
+ behind_xl,
95
+ "behind_xl:h": "_behind_xl:h_1gyoz_24",
96
+ "behind_xl:f": "_behind_xl:f_1gyoz_24",
97
+ "behind_xl:a": "_behind_xl:a_1gyoz_24",
98
+ "behind_xl:d": "_behind_xl:d_1gyoz_24",
99
+ behind_2xl,
100
+ "behind_2xl:h": "_behind_2xl:h_1gyoz_25",
101
+ "behind_2xl:f": "_behind_2xl:f_1gyoz_25",
102
+ "behind_2xl:a": "_behind_2xl:a_1gyoz_25",
103
+ "behind_2xl:d": "_behind_2xl:d_1gyoz_25",
104
+ dropdown,
105
+ "dropdown:h": "_dropdown:h_1gyoz_29",
106
+ "dropdown:f": "_dropdown:f_1gyoz_30",
107
+ "dropdown:a": "_dropdown:a_1gyoz_31",
108
+ "dropdown:d": "_dropdown:d_1gyoz_32",
109
+ dropdown_sm,
110
+ "dropdown_sm:h": "_dropdown_sm:h_1gyoz_34",
111
+ "dropdown_sm:f": "_dropdown_sm:f_1gyoz_34",
112
+ "dropdown_sm:a": "_dropdown_sm:a_1gyoz_34",
113
+ "dropdown_sm:d": "_dropdown_sm:d_1gyoz_34",
114
+ dropdown_md,
115
+ "dropdown_md:h": "_dropdown_md:h_1gyoz_35",
116
+ "dropdown_md:f": "_dropdown_md:f_1gyoz_35",
117
+ "dropdown_md:a": "_dropdown_md:a_1gyoz_35",
118
+ "dropdown_md:d": "_dropdown_md:d_1gyoz_35",
119
+ dropdown_lg,
120
+ "dropdown_lg:h": "_dropdown_lg:h_1gyoz_36",
121
+ "dropdown_lg:f": "_dropdown_lg:f_1gyoz_36",
122
+ "dropdown_lg:a": "_dropdown_lg:a_1gyoz_36",
123
+ "dropdown_lg:d": "_dropdown_lg:d_1gyoz_36",
124
+ dropdown_xl,
125
+ "dropdown_xl:h": "_dropdown_xl:h_1gyoz_37",
126
+ "dropdown_xl:f": "_dropdown_xl:f_1gyoz_37",
127
+ "dropdown_xl:a": "_dropdown_xl:a_1gyoz_37",
128
+ "dropdown_xl:d": "_dropdown_xl:d_1gyoz_37",
129
+ dropdown_2xl,
130
+ "dropdown_2xl:h": "_dropdown_2xl:h_1gyoz_38",
131
+ "dropdown_2xl:f": "_dropdown_2xl:f_1gyoz_38",
132
+ "dropdown_2xl:a": "_dropdown_2xl:a_1gyoz_38",
133
+ "dropdown_2xl:d": "_dropdown_2xl:d_1gyoz_38",
134
+ sticky,
135
+ "sticky:h": "_sticky:h_1gyoz_42",
136
+ "sticky:f": "_sticky:f_1gyoz_43",
137
+ "sticky:a": "_sticky:a_1gyoz_44",
138
+ "sticky:d": "_sticky:d_1gyoz_45",
139
+ sticky_sm,
140
+ "sticky_sm:h": "_sticky_sm:h_1gyoz_47",
141
+ "sticky_sm:f": "_sticky_sm:f_1gyoz_47",
142
+ "sticky_sm:a": "_sticky_sm:a_1gyoz_47",
143
+ "sticky_sm:d": "_sticky_sm:d_1gyoz_47",
144
+ sticky_md,
145
+ "sticky_md:h": "_sticky_md:h_1gyoz_48",
146
+ "sticky_md:f": "_sticky_md:f_1gyoz_48",
147
+ "sticky_md:a": "_sticky_md:a_1gyoz_48",
148
+ "sticky_md:d": "_sticky_md:d_1gyoz_48",
149
+ sticky_lg,
150
+ "sticky_lg:h": "_sticky_lg:h_1gyoz_49",
151
+ "sticky_lg:f": "_sticky_lg:f_1gyoz_49",
152
+ "sticky_lg:a": "_sticky_lg:a_1gyoz_49",
153
+ "sticky_lg:d": "_sticky_lg:d_1gyoz_49",
154
+ sticky_xl,
155
+ "sticky_xl:h": "_sticky_xl:h_1gyoz_50",
156
+ "sticky_xl:f": "_sticky_xl:f_1gyoz_50",
157
+ "sticky_xl:a": "_sticky_xl:a_1gyoz_50",
158
+ "sticky_xl:d": "_sticky_xl:d_1gyoz_50",
159
+ sticky_2xl,
160
+ "sticky_2xl:h": "_sticky_2xl:h_1gyoz_51",
161
+ "sticky_2xl:f": "_sticky_2xl:f_1gyoz_51",
162
+ "sticky_2xl:a": "_sticky_2xl:a_1gyoz_51",
163
+ "sticky_2xl:d": "_sticky_2xl:d_1gyoz_51",
164
+ modal,
165
+ "modal:h": "_modal:h_1gyoz_55",
166
+ "modal:f": "_modal:f_1gyoz_56",
167
+ "modal:a": "_modal:a_1gyoz_57",
168
+ "modal:d": "_modal:d_1gyoz_58",
169
+ modal_sm,
170
+ "modal_sm:h": "_modal_sm:h_1gyoz_60",
171
+ "modal_sm:f": "_modal_sm:f_1gyoz_60",
172
+ "modal_sm:a": "_modal_sm:a_1gyoz_60",
173
+ "modal_sm:d": "_modal_sm:d_1gyoz_60",
174
+ modal_md,
175
+ "modal_md:h": "_modal_md:h_1gyoz_61",
176
+ "modal_md:f": "_modal_md:f_1gyoz_61",
177
+ "modal_md:a": "_modal_md:a_1gyoz_61",
178
+ "modal_md:d": "_modal_md:d_1gyoz_61",
179
+ modal_lg,
180
+ "modal_lg:h": "_modal_lg:h_1gyoz_62",
181
+ "modal_lg:f": "_modal_lg:f_1gyoz_62",
182
+ "modal_lg:a": "_modal_lg:a_1gyoz_62",
183
+ "modal_lg:d": "_modal_lg:d_1gyoz_62",
184
+ modal_xl,
185
+ "modal_xl:h": "_modal_xl:h_1gyoz_63",
186
+ "modal_xl:f": "_modal_xl:f_1gyoz_63",
187
+ "modal_xl:a": "_modal_xl:a_1gyoz_63",
188
+ "modal_xl:d": "_modal_xl:d_1gyoz_63",
189
+ modal_2xl,
190
+ "modal_2xl:h": "_modal_2xl:h_1gyoz_64",
191
+ "modal_2xl:f": "_modal_2xl:f_1gyoz_64",
192
+ "modal_2xl:a": "_modal_2xl:a_1gyoz_64",
193
+ "modal_2xl:d": "_modal_2xl:d_1gyoz_64",
194
+ toast,
195
+ "toast:h": "_toast:h_1gyoz_68",
196
+ "toast:f": "_toast:f_1gyoz_69",
197
+ "toast:a": "_toast:a_1gyoz_70",
198
+ "toast:d": "_toast:d_1gyoz_71",
199
+ toast_sm,
200
+ "toast_sm:h": "_toast_sm:h_1gyoz_73",
201
+ "toast_sm:f": "_toast_sm:f_1gyoz_73",
202
+ "toast_sm:a": "_toast_sm:a_1gyoz_73",
203
+ "toast_sm:d": "_toast_sm:d_1gyoz_73",
204
+ toast_md,
205
+ "toast_md:h": "_toast_md:h_1gyoz_74",
206
+ "toast_md:f": "_toast_md:f_1gyoz_74",
207
+ "toast_md:a": "_toast_md:a_1gyoz_74",
208
+ "toast_md:d": "_toast_md:d_1gyoz_74",
209
+ toast_lg,
210
+ "toast_lg:h": "_toast_lg:h_1gyoz_75",
211
+ "toast_lg:f": "_toast_lg:f_1gyoz_75",
212
+ "toast_lg:a": "_toast_lg:a_1gyoz_75",
213
+ "toast_lg:d": "_toast_lg:d_1gyoz_75",
214
+ toast_xl,
215
+ "toast_xl:h": "_toast_xl:h_1gyoz_76",
216
+ "toast_xl:f": "_toast_xl:f_1gyoz_76",
217
+ "toast_xl:a": "_toast_xl:a_1gyoz_76",
218
+ "toast_xl:d": "_toast_xl:d_1gyoz_76",
219
+ toast_2xl,
220
+ "toast_2xl:h": "_toast_2xl:h_1gyoz_77",
221
+ "toast_2xl:f": "_toast_2xl:f_1gyoz_77",
222
+ "toast_2xl:a": "_toast_2xl:a_1gyoz_77",
223
+ "toast_2xl:d": "_toast_2xl:d_1gyoz_77",
224
+ tooltip,
225
+ "tooltip:h": "_tooltip:h_1gyoz_81",
226
+ "tooltip:f": "_tooltip:f_1gyoz_82",
227
+ "tooltip:a": "_tooltip:a_1gyoz_83",
228
+ "tooltip:d": "_tooltip:d_1gyoz_84",
229
+ tooltip_sm,
230
+ "tooltip_sm:h": "_tooltip_sm:h_1gyoz_86",
231
+ "tooltip_sm:f": "_tooltip_sm:f_1gyoz_86",
232
+ "tooltip_sm:a": "_tooltip_sm:a_1gyoz_86",
233
+ "tooltip_sm:d": "_tooltip_sm:d_1gyoz_86",
234
+ tooltip_md,
235
+ "tooltip_md:h": "_tooltip_md:h_1gyoz_87",
236
+ "tooltip_md:f": "_tooltip_md:f_1gyoz_87",
237
+ "tooltip_md:a": "_tooltip_md:a_1gyoz_87",
238
+ "tooltip_md:d": "_tooltip_md:d_1gyoz_87",
239
+ tooltip_lg,
240
+ "tooltip_lg:h": "_tooltip_lg:h_1gyoz_88",
241
+ "tooltip_lg:f": "_tooltip_lg:f_1gyoz_88",
242
+ "tooltip_lg:a": "_tooltip_lg:a_1gyoz_88",
243
+ "tooltip_lg:d": "_tooltip_lg:d_1gyoz_88",
244
+ tooltip_xl,
245
+ "tooltip_xl:h": "_tooltip_xl:h_1gyoz_89",
246
+ "tooltip_xl:f": "_tooltip_xl:f_1gyoz_89",
247
+ "tooltip_xl:a": "_tooltip_xl:a_1gyoz_89",
248
+ "tooltip_xl:d": "_tooltip_xl:d_1gyoz_89",
249
+ tooltip_2xl,
250
+ "tooltip_2xl:h": "_tooltip_2xl:h_1gyoz_90",
251
+ "tooltip_2xl:f": "_tooltip_2xl:f_1gyoz_90",
252
+ "tooltip_2xl:a": "_tooltip_2xl:a_1gyoz_90",
253
+ "tooltip_2xl:d": "_tooltip_2xl:d_1gyoz_90"
254
+ };
255
+ export {
256
+ base,
257
+ base_2xl,
258
+ base_lg,
259
+ base_md,
260
+ base_sm,
261
+ base_xl,
262
+ behind,
263
+ behind_2xl,
264
+ behind_lg,
265
+ behind_md,
266
+ behind_sm,
267
+ behind_xl,
268
+ styles as default,
269
+ dropdown,
270
+ dropdown_2xl,
271
+ dropdown_lg,
272
+ dropdown_md,
273
+ dropdown_sm,
274
+ dropdown_xl,
275
+ modal,
276
+ modal_2xl,
277
+ modal_lg,
278
+ modal_md,
279
+ modal_sm,
280
+ modal_xl,
281
+ sticky,
282
+ sticky_2xl,
283
+ sticky_lg,
284
+ sticky_md,
285
+ sticky_sm,
286
+ sticky_xl,
287
+ toast,
288
+ toast_2xl,
289
+ toast_lg,
290
+ toast_md,
291
+ toast_sm,
292
+ toast_xl,
293
+ tooltip,
294
+ tooltip_2xl,
295
+ tooltip_lg,
296
+ tooltip_md,
297
+ tooltip_sm,
298
+ tooltip_xl
299
+ };
300
+ //# sourceMappingURL=zIndex.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zIndex.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,78 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { Children, cloneElement, isValidElement } from "react";
3
+ import clsx from "clsx";
4
+ import { Box } from "../Box/Box.js";
5
+ import styles from "./breadcrumb.module.css.js";
6
+ function Breadcrumb({
7
+ separator = "/",
8
+ className,
9
+ children
10
+ }) {
11
+ const items = Children.toArray(children);
12
+ const lastIndex = items.length - 1;
13
+ return /* @__PURE__ */ jsx(
14
+ Box,
15
+ {
16
+ as: "nav",
17
+ "aria-label": "Breadcrumb",
18
+ className: clsx(styles.breadcrumb, className),
19
+ children: /* @__PURE__ */ jsx(Box, { as: "ol", display: "flex", alignItems: "center", gap: 2, m: 0, p: 0, children: items.map((child, index) => {
20
+ const isLast = index === lastIndex;
21
+ return /* @__PURE__ */ jsxs(Box, { as: "li", display: "flex", alignItems: "center", gap: 2, children: [
22
+ isValidElement(child) ? cloneElement(
23
+ child,
24
+ {
25
+ isCurrentPage: isLast
26
+ }
27
+ ) : child,
28
+ !isLast && /* @__PURE__ */ jsx(
29
+ Box,
30
+ {
31
+ as: "span",
32
+ color: "foreground-muted",
33
+ "aria-hidden": "true",
34
+ className: styles.separator,
35
+ children: separator
36
+ }
37
+ )
38
+ ] }, index);
39
+ }) })
40
+ }
41
+ );
42
+ }
43
+ function BreadcrumbItem({
44
+ href,
45
+ isCurrentPage = false,
46
+ className,
47
+ children
48
+ }) {
49
+ if (isCurrentPage || !href) {
50
+ return /* @__PURE__ */ jsx(
51
+ Box,
52
+ {
53
+ as: "span",
54
+ color: isCurrentPage ? "foreground" : "foreground-muted",
55
+ fontSize: "sm",
56
+ "aria-current": isCurrentPage ? "page" : void 0,
57
+ className: clsx(styles.item, styles.current, className),
58
+ children
59
+ }
60
+ );
61
+ }
62
+ return /* @__PURE__ */ jsx(
63
+ Box,
64
+ {
65
+ as: "a",
66
+ href,
67
+ color: "foreground-muted",
68
+ fontSize: "sm",
69
+ className: clsx(styles.item, styles.link, className),
70
+ children
71
+ }
72
+ );
73
+ }
74
+ export {
75
+ Breadcrumb,
76
+ BreadcrumbItem
77
+ };
78
+ //# sourceMappingURL=Breadcrumb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Breadcrumb.js","sources":["../../../src/components/Breadcrumb/Breadcrumb.tsx"],"sourcesContent":["import {\n type ReactNode,\n Children,\n isValidElement,\n cloneElement,\n} from \"react\";\nimport clsx from \"clsx\";\nimport { Box } from \"@/components/Box/Box\";\nimport styles from \"./breadcrumb.module.css\";\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport type BreadcrumbProps = {\n /** Separator between items */\n separator?: ReactNode;\n /** Additional class name */\n className?: string;\n /** Breadcrumb items */\n children?: ReactNode;\n};\n\nexport type BreadcrumbItemProps = {\n /** Link href (if not current page) */\n href?: string;\n /** Is current page (last item) - set automatically */\n isCurrentPage?: boolean;\n /** Additional class name */\n className?: string;\n /** Item content */\n children?: ReactNode;\n};\n\n// ============================================================================\n// Components\n// ============================================================================\n\n/**\n * Breadcrumb - Navigation trail container\n *\n * Renders BreadcrumbItem children with separators between them.\n * Automatically marks the last item as current page.\n */\nexport function Breadcrumb({\n separator = \"/\",\n className,\n children,\n}: BreadcrumbProps) {\n const items = Children.toArray(children);\n const lastIndex = items.length - 1;\n\n return (\n <Box\n as=\"nav\"\n aria-label=\"Breadcrumb\"\n className={clsx(styles.breadcrumb, className)}\n >\n <Box as=\"ol\" display=\"flex\" alignItems=\"center\" gap={2} m={0} p={0}>\n {items.map((child, index) => {\n const isLast = index === lastIndex;\n\n return (\n <Box as=\"li\" key={index} display=\"flex\" alignItems=\"center\" gap={2}>\n {isValidElement(child)\n ? cloneElement(\n child as React.ReactElement<BreadcrumbItemProps>,\n {\n isCurrentPage: isLast,\n }\n )\n : child}\n {!isLast && (\n <Box\n as=\"span\"\n color=\"foreground-muted\"\n aria-hidden=\"true\"\n className={styles.separator}\n >\n {separator}\n </Box>\n )}\n </Box>\n );\n })}\n </Box>\n </Box>\n );\n}\n\n/**\n * BreadcrumbItem - Individual breadcrumb link or text\n *\n * Renders as a link if href is provided, otherwise as text.\n * The last item is automatically marked as current page.\n */\nexport function BreadcrumbItem({\n href,\n isCurrentPage = false,\n className,\n children,\n}: BreadcrumbItemProps) {\n if (isCurrentPage || !href) {\n return (\n <Box\n as=\"span\"\n color={isCurrentPage ? \"foreground\" : \"foreground-muted\"}\n fontSize=\"sm\"\n aria-current={isCurrentPage ? \"page\" : undefined}\n className={clsx(styles.item, styles.current, className)}\n >\n {children}\n </Box>\n );\n }\n\n return (\n <Box\n as=\"a\"\n href={href}\n color=\"foreground-muted\"\n fontSize=\"sm\"\n className={clsx(styles.item, styles.link, className)}\n >\n {children}\n </Box>\n );\n}\n"],"names":[],"mappings":";;;;;AA4CO,SAAS,WAAW;AAAA,EACzB,YAAY;AAAA,EACZ;AAAA,EACA;AACF,GAAoB;AAClB,QAAM,QAAQ,SAAS,QAAQ,QAAQ;AACvC,QAAM,YAAY,MAAM,SAAS;AAEjC,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,IAAG;AAAA,MACH,cAAW;AAAA,MACX,WAAW,KAAK,OAAO,YAAY,SAAS;AAAA,MAE5C,8BAAC,KAAA,EAAI,IAAG,MAAK,SAAQ,QAAO,YAAW,UAAS,KAAK,GAAG,GAAG,GAAG,GAAG,GAC9D,gBAAM,IAAI,CAAC,OAAO,UAAU;AAC3B,cAAM,SAAS,UAAU;AAEzB,eACE,qBAAC,OAAI,IAAG,MAAiB,SAAQ,QAAO,YAAW,UAAS,KAAK,GAC9D,UAAA;AAAA,UAAA,eAAe,KAAK,IACjB;AAAA,YACE;AAAA,YACA;AAAA,cACE,eAAe;AAAA,YAAA;AAAA,UACjB,IAEF;AAAA,UACH,CAAC,UACA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,IAAG;AAAA,cACH,OAAM;AAAA,cACN,eAAY;AAAA,cACZ,WAAW,OAAO;AAAA,cAEjB,UAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QACH,EAAA,GAjBc,KAmBlB;AAAA,MAEJ,CAAC,EAAA,CACH;AAAA,IAAA;AAAA,EAAA;AAGN;AAQO,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA,gBAAgB;AAAA,EAChB;AAAA,EACA;AACF,GAAwB;AACtB,MAAI,iBAAiB,CAAC,MAAM;AAC1B,WACE;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,OAAO,gBAAgB,eAAe;AAAA,QACtC,UAAS;AAAA,QACT,gBAAc,gBAAgB,SAAS;AAAA,QACvC,WAAW,KAAK,OAAO,MAAM,OAAO,SAAS,SAAS;AAAA,QAErD;AAAA,MAAA;AAAA,IAAA;AAAA,EAGP;AAEA,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,IAAG;AAAA,MACH;AAAA,MACA,OAAM;AAAA,MACN,UAAS;AAAA,MACT,WAAW,KAAK,OAAO,MAAM,OAAO,MAAM,SAAS;AAAA,MAElD;AAAA,IAAA;AAAA,EAAA;AAGP;"}
@@ -0,0 +1,25 @@
1
+ ._breadcrumb_loj22_1 ol {
2
+ list-style: none;
3
+ }
4
+
5
+ ._item_loj22_5 {
6
+ white-space: nowrap;
7
+ }
8
+
9
+ ._link_loj22_9 {
10
+ text-decoration: none;
11
+ transition: color 0.15s ease;
12
+ }
13
+
14
+ ._link_loj22_9:hover {
15
+ color: var(--t-color-primary-default);
16
+ text-decoration: underline;
17
+ }
18
+
19
+ ._current_loj22_19 {
20
+ font-weight: 500;
21
+ }
22
+
23
+ ._separator_loj22_23 {
24
+ user-select: none;
25
+ }
@@ -0,0 +1,21 @@
1
+ const breadcrumb = "_breadcrumb_loj22_1";
2
+ const item = "_item_loj22_5";
3
+ const link = "_link_loj22_9";
4
+ const current = "_current_loj22_19";
5
+ const separator = "_separator_loj22_23";
6
+ const styles = {
7
+ breadcrumb,
8
+ item,
9
+ link,
10
+ current,
11
+ separator
12
+ };
13
+ export {
14
+ breadcrumb,
15
+ current,
16
+ styles as default,
17
+ item,
18
+ link,
19
+ separator
20
+ };
21
+ //# sourceMappingURL=breadcrumb.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breadcrumb.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -0,0 +1,129 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import "react";
3
+ import clsx from "clsx";
4
+ import { Box } from "../Box/Box.js";
5
+ import { Spinner } from "../Spinner/Spinner.js";
6
+ import styles from "./button.module.css.js";
7
+ const sizeConfig = {
8
+ sm: { py: 1, px: 3, fontSize: "sm", rounded: "sm" },
9
+ md: { py: 2, px: 4, fontSize: "md", rounded: "md" },
10
+ lg: { py: 3, px: 6, fontSize: "lg", rounded: "md" }
11
+ };
12
+ function getColorConfig(variant, colorScheme) {
13
+ switch (variant) {
14
+ case "solid":
15
+ return {
16
+ bg: `${colorScheme}-default`,
17
+ color: "foreground-inverted",
18
+ borderColor: void 0,
19
+ hoverBg: `var(--t-color-${colorScheme}-emphasis)`
20
+ };
21
+ case "outline":
22
+ return {
23
+ bg: "transparent",
24
+ color: colorScheme,
25
+ borderColor: colorScheme,
26
+ hoverBg: `var(--t-color-${colorScheme}-subtle)`
27
+ };
28
+ case "ghost":
29
+ return {
30
+ bg: "transparent",
31
+ color: colorScheme,
32
+ borderColor: void 0,
33
+ hoverBg: `var(--t-color-${colorScheme}-subtle)`
34
+ };
35
+ }
36
+ }
37
+ const variantBorderConfig = {
38
+ solid: "none",
39
+ outline: "thin",
40
+ ghost: "none"
41
+ };
42
+ function Button({
43
+ as,
44
+ variant = "solid",
45
+ size = "md",
46
+ colorScheme = "primary",
47
+ disabled = false,
48
+ loading = false,
49
+ fullWidth = false,
50
+ leftIcon,
51
+ rightIcon,
52
+ children,
53
+ className,
54
+ style,
55
+ // Allow overriding default colors
56
+ bg,
57
+ color,
58
+ borderColor,
59
+ ...rest
60
+ }) {
61
+ const Component = as || "button";
62
+ const isDisabled = disabled || loading;
63
+ const colorConfig = getColorConfig(variant, colorScheme);
64
+ const sizeProps = sizeConfig[size];
65
+ const leftContent = loading ? /* @__PURE__ */ jsx(Spinner, { size: "sm", "aria-hidden": "true" }) : leftIcon ? /* @__PURE__ */ jsx(
66
+ Box,
67
+ {
68
+ as: "span",
69
+ display: "inline-flex",
70
+ alignItems: "center",
71
+ flexShrink: 0,
72
+ "aria-hidden": "true",
73
+ children: leftIcon
74
+ }
75
+ ) : null;
76
+ const rightContent = rightIcon ? /* @__PURE__ */ jsx(
77
+ Box,
78
+ {
79
+ as: "span",
80
+ display: "inline-flex",
81
+ alignItems: "center",
82
+ flexShrink: 0,
83
+ "aria-hidden": "true",
84
+ children: rightIcon
85
+ }
86
+ ) : null;
87
+ return (
88
+ // @ts-expect-error - Polymorphic component type forwarding
89
+ /* @__PURE__ */ jsxs(
90
+ Box,
91
+ {
92
+ as: Component,
93
+ display: "inline-flex",
94
+ alignItems: "center",
95
+ justifyContent: "center",
96
+ gap: 2,
97
+ py: sizeProps.py,
98
+ px: sizeProps.px,
99
+ fontSize: sizeProps.fontSize,
100
+ rounded: sizeProps.rounded,
101
+ fontWeight: "medium",
102
+ bg: bg ?? colorConfig.bg,
103
+ color: color ?? colorConfig.color,
104
+ border: variantBorderConfig[variant],
105
+ borderColor: borderColor ?? colorConfig.borderColor,
106
+ w: fullWidth ? "100%" : void 0,
107
+ cursor: isDisabled ? "not-allowed" : "pointer",
108
+ pointerEvents: isDisabled ? "none" : void 0,
109
+ opacity: isDisabled ? "faint" : void 0,
110
+ textDecoration: "none",
111
+ className: clsx(styles.button, styles[variant], className),
112
+ style: { "--button-hover-bg": colorConfig.hoverBg, ...style },
113
+ disabled: isDisabled,
114
+ "aria-disabled": isDisabled,
115
+ "aria-busy": loading,
116
+ ...rest,
117
+ children: [
118
+ leftContent,
119
+ children,
120
+ rightContent
121
+ ]
122
+ }
123
+ )
124
+ );
125
+ }
126
+ export {
127
+ Button
128
+ };
129
+ //# sourceMappingURL=Button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.js","sources":["../../../src/components/Button/Button.tsx"],"sourcesContent":["import { type ElementType, type ReactNode } from \"react\";\nimport clsx from \"clsx\";\nimport { type Polymorphic } from \"@/types/Polymorphic\";\nimport { Box, type BoxOwnProps } from \"@/components/Box/Box\";\nimport { Spinner } from \"@/components/Spinner/Spinner\";\nimport styles from \"./button.module.css\";\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport type ButtonVariant = \"solid\" | \"outline\" | \"ghost\";\nexport type ButtonSize = \"sm\" | \"md\" | \"lg\";\nexport type ButtonColorScheme =\n | \"primary\"\n | \"accent\"\n | \"success\"\n | \"warning\"\n | \"error\"\n | \"info\";\n\nexport type ButtonOwnProps = Omit<BoxOwnProps, \"as\"> & {\n variant?: ButtonVariant;\n size?: ButtonSize;\n colorScheme?: ButtonColorScheme;\n disabled?: boolean;\n loading?: boolean;\n fullWidth?: boolean;\n leftIcon?: ReactNode;\n rightIcon?: ReactNode;\n};\n\nexport type ButtonProps<T extends ElementType = \"button\"> = Polymorphic<\n T,\n ButtonOwnProps\n>;\n\n// ============================================================================\n// Size configurations using Box props\n// ============================================================================\n\nconst sizeConfig = {\n sm: { py: 1, px: 3, fontSize: \"sm\", rounded: \"sm\" },\n md: { py: 2, px: 4, fontSize: \"md\", rounded: \"md\" },\n lg: { py: 3, px: 6, fontSize: \"lg\", rounded: \"md\" },\n} as const;\n\n// ============================================================================\n// Color configurations\n// ============================================================================\n\ntype ColorConfig = {\n bg: string;\n color: string;\n borderColor: string | undefined;\n hoverBg: string;\n};\n\nfunction getColorConfig(\n variant: ButtonVariant,\n colorScheme: ButtonColorScheme\n): ColorConfig {\n switch (variant) {\n case \"solid\":\n return {\n bg: `${colorScheme}-default`,\n color: \"foreground-inverted\",\n borderColor: undefined,\n hoverBg: `var(--t-color-${colorScheme}-emphasis)`,\n };\n case \"outline\":\n return {\n bg: \"transparent\",\n color: colorScheme,\n borderColor: colorScheme,\n hoverBg: `var(--t-color-${colorScheme}-subtle)`,\n };\n case \"ghost\":\n return {\n bg: \"transparent\",\n color: colorScheme,\n borderColor: undefined,\n hoverBg: `var(--t-color-${colorScheme}-subtle)`,\n };\n }\n}\n\n// ============================================================================\n// Variant border configurations\n// ============================================================================\n\nconst variantBorderConfig = {\n solid: \"none\",\n outline: \"thin\",\n ghost: \"none\",\n} as const;\n\n// ============================================================================\n// Component\n// ============================================================================\n\n/**\n * Button - Interactive button component\n *\n * A polymorphic button component that provides:\n * - Default element: <button>\n * - Variants: solid (default), outline, ghost\n * - Sizes: sm, md (default), lg\n * - Loading state with spinner\n * - Icon support (left and right)\n * - Full width option\n */\nexport function Button<T extends ElementType = \"button\">({\n as,\n variant = \"solid\",\n size = \"md\",\n colorScheme = \"primary\",\n disabled = false,\n loading = false,\n fullWidth = false,\n leftIcon,\n rightIcon,\n children,\n className,\n style,\n // Allow overriding default colors\n bg,\n color,\n borderColor,\n ...rest\n}: ButtonProps<T>) {\n const Component = as || \"button\";\n const isDisabled = disabled || loading;\n\n // Get config for variant, size, and color\n const colorConfig = getColorConfig(variant, colorScheme);\n const sizeProps = sizeConfig[size];\n\n // Determine what to show for left icon slot\n const leftContent = loading ? (\n <Spinner size=\"sm\" aria-hidden=\"true\" />\n ) : leftIcon ? (\n <Box\n as=\"span\"\n display=\"inline-flex\"\n alignItems=\"center\"\n flexShrink={0}\n aria-hidden=\"true\"\n >\n {leftIcon}\n </Box>\n ) : null;\n\n // Right icon (never replaced by spinner)\n const rightContent = rightIcon ? (\n <Box\n as=\"span\"\n display=\"inline-flex\"\n alignItems=\"center\"\n flexShrink={0}\n aria-hidden=\"true\"\n >\n {rightIcon}\n </Box>\n ) : null;\n\n return (\n // @ts-expect-error - Polymorphic component type forwarding\n <Box\n as={Component}\n // Layout\n display=\"inline-flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n gap={2}\n // Size props\n py={sizeProps.py}\n px={sizeProps.px}\n fontSize={sizeProps.fontSize}\n rounded={sizeProps.rounded}\n fontWeight=\"medium\"\n // Color props (allow user overrides)\n bg={bg ?? colorConfig.bg}\n color={color ?? colorConfig.color}\n border={variantBorderConfig[variant]}\n borderColor={borderColor ?? colorConfig.borderColor}\n // Width\n w={fullWidth ? \"100%\" : undefined}\n // Interaction states\n cursor={isDisabled ? \"not-allowed\" : \"pointer\"}\n pointerEvents={isDisabled ? \"none\" : undefined}\n opacity={isDisabled ? \"faint\" : undefined}\n // Text decoration for links\n textDecoration=\"none\"\n // CSS module styles (transitions + hover)\n className={clsx(styles.button, styles[variant], className)}\n // Set hover color via CSS variable\n style={{ \"--button-hover-bg\": colorConfig.hoverBg, ...style }}\n // Accessibility\n disabled={isDisabled}\n aria-disabled={isDisabled}\n aria-busy={loading}\n {...rest}\n >\n {leftContent}\n {children}\n {rightContent}\n </Box>\n );\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ ._button_n7ts8_1 {
2
+ transition-duration: 150ms;
3
+ transition-property: background-color, border-color, opacity;
4
+ transition-timing-function: ease-in-out;
5
+ }
6
+
7
+ ._solid_n7ts8_7:hover:not(:disabled) {
8
+ background-color: var(--button-hover-bg);
9
+ }
10
+
11
+ ._outline_n7ts8_11:hover:not(:disabled) {
12
+ background-color: var(--button-hover-bg);
13
+ }
14
+
15
+ ._ghost_n7ts8_15:hover:not(:disabled) {
16
+ background-color: var(--button-hover-bg);
17
+ }
@@ -0,0 +1,18 @@
1
+ const button = "_button_n7ts8_1";
2
+ const solid = "_solid_n7ts8_7";
3
+ const outline = "_outline_n7ts8_11";
4
+ const ghost = "_ghost_n7ts8_15";
5
+ const styles = {
6
+ button,
7
+ solid,
8
+ outline,
9
+ ghost
10
+ };
11
+ export {
12
+ button,
13
+ styles as default,
14
+ ghost,
15
+ outline,
16
+ solid
17
+ };
18
+ //# sourceMappingURL=button.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}