@twreporter/react-typescript-components 0.1.0-beta.7 → 0.1.0-beta.8

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 (375) hide show
  1. package/README.md +16 -0
  2. package/lib/button/constants.d.mts +3 -0
  3. package/lib/button/constants.d.ts +3 -0
  4. package/lib/button/constants.js +5 -0
  5. package/lib/button/constants.mjs +3 -0
  6. package/lib/button/index.d.mts +130 -23
  7. package/lib/button/index.d.ts +130 -23
  8. package/lib/button/index.js +11 -207
  9. package/lib/button/index.mjs +7 -9
  10. package/lib/button-CO0UXA6C.js +552 -0
  11. package/lib/button-CO0UXA6C.js.map +1 -0
  12. package/lib/button-DL6w1ghn.mjs +519 -0
  13. package/lib/button-DL6w1ghn.mjs.map +1 -0
  14. package/lib/chunk-BxBTb9qk.js +39 -0
  15. package/lib/constants/external-links.d.mts +16 -0
  16. package/lib/constants/external-links.d.ts +16 -0
  17. package/lib/constants/external-links.js +3 -0
  18. package/lib/constants/external-links.mjs +3 -0
  19. package/lib/constants/internal-links.d.mts +51 -0
  20. package/lib/constants/internal-links.d.ts +51 -0
  21. package/lib/constants/internal-links.js +3 -0
  22. package/lib/constants/internal-links.mjs +3 -0
  23. package/lib/constants/release-branch.d.mts +3 -0
  24. package/lib/constants/release-branch.d.ts +3 -0
  25. package/lib/constants/release-branch.js +3 -0
  26. package/lib/constants/release-branch.mjs +3 -0
  27. package/lib/constants/request-origins.d.mts +68 -0
  28. package/lib/constants/request-origins.d.ts +68 -0
  29. package/lib/constants/request-origins.js +5 -0
  30. package/lib/constants/request-origins.mjs +4 -0
  31. package/lib/constants/theme.d.mts +3 -0
  32. package/lib/constants/theme.d.ts +3 -0
  33. package/lib/constants/theme.js +3 -0
  34. package/lib/constants/theme.mjs +3 -0
  35. package/lib/constants-BDoTzOZE.d.mts +17 -0
  36. package/lib/constants-BS3rPbaX.d.ts +17 -0
  37. package/lib/constants-BWFuBApI.mjs +14 -0
  38. package/lib/constants-BWFuBApI.mjs.map +1 -0
  39. package/lib/constants-B_NgWFML.d.ts +24 -0
  40. package/lib/constants-BmxSMOOn.js +36 -0
  41. package/lib/constants-BmxSMOOn.js.map +1 -0
  42. package/lib/constants-BuIUKM2c.js +15 -0
  43. package/lib/constants-BuIUKM2c.js.map +1 -0
  44. package/lib/constants-C2moxnps.js +38 -0
  45. package/lib/constants-C2moxnps.js.map +1 -0
  46. package/lib/constants-CCfG07Q4.d.mts +24 -0
  47. package/lib/constants-CMMcn0f-.d.ts +11 -0
  48. package/lib/constants-CayQNGtk.d.mts +11 -0
  49. package/lib/constants-CmCfyfPG.mjs +25 -0
  50. package/lib/constants-CmCfyfPG.mjs.map +1 -0
  51. package/lib/constants-Cnq4ruq6.d.mts +29 -0
  52. package/lib/constants-CuT1aTK4.js +43 -0
  53. package/lib/constants-CuT1aTK4.js.map +1 -0
  54. package/lib/constants-Cz7n-nLz.mjs +9 -0
  55. package/lib/constants-Cz7n-nLz.mjs.map +1 -0
  56. package/lib/constants-DQxcqnYL.d.ts +29 -0
  57. package/lib/constants-DRxdMM_X.mjs +20 -0
  58. package/lib/constants-DRxdMM_X.mjs.map +1 -0
  59. package/lib/constants-K2ObjToq.js +26 -0
  60. package/lib/constants-K2ObjToq.js.map +1 -0
  61. package/lib/constants-gCmka4Fp.d.ts +22 -0
  62. package/lib/constants-oTHAnh6r.mjs +18 -0
  63. package/lib/constants-oTHAnh6r.mjs.map +1 -0
  64. package/lib/constants-wDPBqTIv.d.mts +22 -0
  65. package/lib/customized-link/external-link.d.mts +3 -7
  66. package/lib/customized-link/external-link.d.ts +3 -7
  67. package/lib/customized-link/external-link.js +2 -17
  68. package/lib/customized-link/external-link.mjs +3 -3
  69. package/lib/customized-link/index.d.mts +10 -8
  70. package/lib/customized-link/index.d.ts +10 -8
  71. package/lib/customized-link/index.js +6 -40
  72. package/lib/customized-link/index.mjs +5 -5
  73. package/lib/customized-link/internal-link.d.mts +3 -7
  74. package/lib/customized-link/internal-link.d.ts +3 -7
  75. package/lib/customized-link/internal-link.js +3 -19
  76. package/lib/customized-link/internal-link.mjs +6 -3
  77. package/lib/customized-link/type.d.mts +2 -9
  78. package/lib/customized-link/type.d.ts +2 -9
  79. package/lib/customized-link/type.js +0 -4
  80. package/lib/customized-link/type.mjs +1 -3
  81. package/lib/customized-link-DNKmWI0u.mjs +12 -0
  82. package/lib/customized-link-DNKmWI0u.mjs.map +1 -0
  83. package/lib/customized-link-XNoMkeYw.js +17 -0
  84. package/lib/customized-link-XNoMkeYw.js.map +1 -0
  85. package/lib/divider/constants.d.mts +3 -0
  86. package/lib/divider/constants.d.ts +3 -0
  87. package/lib/divider/constants.js +3 -0
  88. package/lib/divider/constants.mjs +3 -0
  89. package/lib/divider/index.d.mts +15 -0
  90. package/lib/divider/index.d.ts +15 -0
  91. package/lib/divider/index.js +6 -0
  92. package/lib/divider/index.mjs +4 -0
  93. package/lib/divider-CEIxmAsH.mjs +15 -0
  94. package/lib/divider-CEIxmAsH.mjs.map +1 -0
  95. package/lib/divider-Db3AhImD.js +29 -0
  96. package/lib/divider-Db3AhImD.js.map +1 -0
  97. package/lib/dropdown-menu/index.d.mts +17 -0
  98. package/lib/dropdown-menu/index.d.ts +17 -0
  99. package/lib/dropdown-menu/index.js +13 -0
  100. package/lib/dropdown-menu/index.mjs +13 -0
  101. package/lib/dropdown-menu-BWuoUGuB.mjs +135 -0
  102. package/lib/dropdown-menu-BWuoUGuB.mjs.map +1 -0
  103. package/lib/dropdown-menu-CC0Yh31s.js +180 -0
  104. package/lib/dropdown-menu-CC0Yh31s.js.map +1 -0
  105. package/lib/external-link-2XoC1_oL.d.ts +9 -0
  106. package/lib/external-link-BMrkjNyi.js +23 -0
  107. package/lib/external-link-BMrkjNyi.js.map +1 -0
  108. package/lib/external-link-BykRRwmY.mjs +16 -0
  109. package/lib/external-link-BykRRwmY.mjs.map +1 -0
  110. package/lib/external-link-DTOcLL22.d.mts +9 -0
  111. package/lib/external-links-2b4M_rcA.mjs +17 -0
  112. package/lib/external-links-2b4M_rcA.mjs.map +1 -0
  113. package/lib/external-links-SfJjb48j.js +23 -0
  114. package/lib/external-links-SfJjb48j.js.map +1 -0
  115. package/lib/hamburger-menu/index.d.mts +7 -0
  116. package/lib/hamburger-menu/index.d.ts +6 -0
  117. package/lib/hamburger-menu/index.js +21 -0
  118. package/lib/hamburger-menu/index.mjs +21 -0
  119. package/lib/hamburger-menu-BsIaOOoy.js +486 -0
  120. package/lib/hamburger-menu-BsIaOOoy.js.map +1 -0
  121. package/lib/hamburger-menu-CI3TOV9q.mjs +471 -0
  122. package/lib/hamburger-menu-CI3TOV9q.mjs.map +1 -0
  123. package/lib/header/index.d.mts +26 -0
  124. package/lib/header/index.d.ts +25 -0
  125. package/lib/header/index.js +469 -0
  126. package/lib/header/index.js.map +1 -0
  127. package/lib/header/index.mjs +463 -0
  128. package/lib/header/index.mjs.map +1 -0
  129. package/lib/heading-B_pZSTvs.js +75 -0
  130. package/lib/heading-B_pZSTvs.js.map +1 -0
  131. package/lib/heading-DL8WhtCD.mjs +37 -0
  132. package/lib/heading-DL8WhtCD.mjs.map +1 -0
  133. package/lib/icons/constants.d.mts +3 -0
  134. package/lib/icons/constants.d.ts +3 -0
  135. package/lib/icons/constants.js +5 -0
  136. package/lib/icons/constants.mjs +3 -0
  137. package/lib/icons/index.d.mts +40 -0
  138. package/lib/icons/index.d.ts +40 -0
  139. package/lib/icons/index.js +12 -0
  140. package/lib/icons/index.mjs +5 -0
  141. package/lib/icons-Bs84WbEt.mjs +57 -0
  142. package/lib/icons-Bs84WbEt.mjs.map +1 -0
  143. package/lib/icons-bC_xV5mJ.js +107 -0
  144. package/lib/icons-bC_xV5mJ.js.map +1 -0
  145. package/lib/index-CgixcmUN.d.mts +5 -0
  146. package/lib/index-H3peA2d_.d.ts +5 -0
  147. package/lib/internal-link-BLXTBMRq.js +2278 -0
  148. package/lib/internal-link-BLXTBMRq.js.map +1 -0
  149. package/lib/internal-link-DCSEl1jM.d.ts +9 -0
  150. package/lib/internal-link-NQb751uB.mjs +2299 -0
  151. package/lib/internal-link-NQb751uB.mjs.map +1 -0
  152. package/lib/internal-link-R2--P52c.d.mts +9 -0
  153. package/lib/internal-links-BF-974mA.mjs +52 -0
  154. package/lib/internal-links-BF-974mA.mjs.map +1 -0
  155. package/lib/internal-links-CBkMU8cY.js +58 -0
  156. package/lib/internal-links-CBkMU8cY.js.map +1 -0
  157. package/lib/logo/constants.d.mts +3 -0
  158. package/lib/logo/constants.d.ts +3 -0
  159. package/lib/logo/constants.js +5 -0
  160. package/lib/logo/constants.mjs +3 -0
  161. package/lib/logo/index.d.mts +42 -0
  162. package/lib/logo/index.d.ts +42 -0
  163. package/lib/logo/index.js +8 -0
  164. package/lib/logo/index.mjs +5 -0
  165. package/lib/logo-B35TnPzd.mjs +64 -0
  166. package/lib/logo-B35TnPzd.mjs.map +1 -0
  167. package/lib/logo-D5plc5jE.js +83 -0
  168. package/lib/logo-D5plc5jE.js.map +1 -0
  169. package/lib/paragraph-BWXQNQtX.mjs +30 -0
  170. package/lib/paragraph-BWXQNQtX.mjs.map +1 -0
  171. package/lib/paragraph-CJvb0_cM.js +56 -0
  172. package/lib/paragraph-CJvb0_cM.js.map +1 -0
  173. package/lib/release-branch-BLAOXJu1.d.mts +14 -0
  174. package/lib/release-branch-CRZV4Ivz.js +18 -0
  175. package/lib/release-branch-CRZV4Ivz.js.map +1 -0
  176. package/lib/release-branch-CsBbhuYE.d.ts +14 -0
  177. package/lib/release-branch-DNCD1uH_.mjs +12 -0
  178. package/lib/release-branch-DNCD1uH_.mjs.map +1 -0
  179. package/lib/request-origins-BDXulkK9.js +57 -0
  180. package/lib/request-origins-BDXulkK9.js.map +1 -0
  181. package/lib/request-origins-CGkNWg8R.mjs +46 -0
  182. package/lib/request-origins-CGkNWg8R.mjs.map +1 -0
  183. package/lib/styles.css +965 -0
  184. package/lib/text/constants.d.mts +3 -0
  185. package/lib/text/constants.d.ts +3 -0
  186. package/lib/text/constants.js +4 -0
  187. package/lib/text/constants.mjs +3 -0
  188. package/lib/text/heading.d.mts +22 -20
  189. package/lib/text/heading.d.ts +22 -20
  190. package/lib/text/heading.js +9 -70
  191. package/lib/text/heading.mjs +4 -4
  192. package/lib/text/paragraph.d.mts +18 -16
  193. package/lib/text/paragraph.d.ts +18 -16
  194. package/lib/text/paragraph.js +6 -57
  195. package/lib/text/paragraph.mjs +4 -4
  196. package/lib/theme-8Q9pR2P5.d.mts +13 -0
  197. package/lib/theme-BDGfJ8n-.d.ts +13 -0
  198. package/lib/theme-BG6yZVj-.mjs +11 -0
  199. package/lib/theme-BG6yZVj-.mjs.map +1 -0
  200. package/lib/theme-DDBlIbeS.js +17 -0
  201. package/lib/theme-DDBlIbeS.js.map +1 -0
  202. package/lib/title-bar/index.d.mts +55 -23
  203. package/lib/title-bar/index.d.ts +55 -23
  204. package/lib/title-bar/index.js +131 -403
  205. package/lib/title-bar/index.js.map +1 -1
  206. package/lib/title-bar/index.mjs +140 -25
  207. package/lib/title-bar/index.mjs.map +1 -1
  208. package/lib/type-C4hJK9H9.d.ts +11 -0
  209. package/lib/type-nAFiNBfk.d.mts +11 -0
  210. package/lib/types/index.d.mts +2 -3
  211. package/lib/types/index.d.ts +2 -3
  212. package/lib/types/index.js +0 -4
  213. package/lib/types/index.mjs +1 -3
  214. package/package.json +11 -6
  215. package/lib/button/components/text-button/index.d.mts +0 -24
  216. package/lib/button/components/text-button/index.d.ts +0 -24
  217. package/lib/button/components/text-button/index.js +0 -202
  218. package/lib/button/components/text-button/index.js.map +0 -1
  219. package/lib/button/components/text-button/index.mjs +0 -8
  220. package/lib/button/components/text-button/index.mjs.map +0 -1
  221. package/lib/button/components/text-button/theme.d.mts +0 -11
  222. package/lib/button/components/text-button/theme.d.ts +0 -11
  223. package/lib/button/components/text-button/theme.js +0 -65
  224. package/lib/button/components/text-button/theme.js.map +0 -1
  225. package/lib/button/components/text-button/theme.mjs +0 -5
  226. package/lib/button/components/text-button/theme.mjs.map +0 -1
  227. package/lib/button/constant.d.mts +0 -11
  228. package/lib/button/constant.d.ts +0 -11
  229. package/lib/button/constant.js +0 -13
  230. package/lib/button/constant.js.map +0 -1
  231. package/lib/button/constant.mjs +0 -3
  232. package/lib/button/constant.mjs.map +0 -1
  233. package/lib/button/enum.d.mts +0 -11
  234. package/lib/button/enum.d.ts +0 -11
  235. package/lib/button/enum.js +0 -19
  236. package/lib/button/enum.js.map +0 -1
  237. package/lib/button/enum.mjs +0 -3
  238. package/lib/button/enum.mjs.map +0 -1
  239. package/lib/button/index.js.map +0 -1
  240. package/lib/button/index.mjs.map +0 -1
  241. package/lib/button/stories/text-button.stories.d.mts +0 -55
  242. package/lib/button/stories/text-button.stories.d.ts +0 -55
  243. package/lib/button/stories/text-button.stories.js +0 -252
  244. package/lib/button/stories/text-button.stories.js.map +0 -1
  245. package/lib/button/stories/text-button.stories.mjs +0 -35
  246. package/lib/button/stories/text-button.stories.mjs.map +0 -1
  247. package/lib/chunk-6DXA3EX7.mjs +0 -35
  248. package/lib/chunk-6DXA3EX7.mjs.map +0 -1
  249. package/lib/chunk-7NJDHQ2X.mjs +0 -56
  250. package/lib/chunk-7NJDHQ2X.mjs.map +0 -1
  251. package/lib/chunk-ELECTE3D.mjs +0 -8
  252. package/lib/chunk-ELECTE3D.mjs.map +0 -1
  253. package/lib/chunk-FF422IYY.mjs +0 -38
  254. package/lib/chunk-FF422IYY.mjs.map +0 -1
  255. package/lib/chunk-FVKIUNIP.mjs +0 -58
  256. package/lib/chunk-FVKIUNIP.mjs.map +0 -1
  257. package/lib/chunk-GQWO45DN.mjs +0 -32
  258. package/lib/chunk-GQWO45DN.mjs.map +0 -1
  259. package/lib/chunk-HQG6Q2EY.mjs +0 -42
  260. package/lib/chunk-HQG6Q2EY.mjs.map +0 -1
  261. package/lib/chunk-JB4TYHDE.mjs +0 -11
  262. package/lib/chunk-JB4TYHDE.mjs.map +0 -1
  263. package/lib/chunk-JFT6JILC.mjs +0 -12
  264. package/lib/chunk-JFT6JILC.mjs.map +0 -1
  265. package/lib/chunk-JHLT5GDV.mjs +0 -50
  266. package/lib/chunk-JHLT5GDV.mjs.map +0 -1
  267. package/lib/chunk-QOLETTSG.mjs +0 -28
  268. package/lib/chunk-QOLETTSG.mjs.map +0 -1
  269. package/lib/chunk-U22UKMAJ.mjs +0 -84
  270. package/lib/chunk-U22UKMAJ.mjs.map +0 -1
  271. package/lib/chunk-UM7RNC2Y.mjs +0 -14
  272. package/lib/chunk-UM7RNC2Y.mjs.map +0 -1
  273. package/lib/chunk-URJXIWFX.mjs +0 -16
  274. package/lib/chunk-URJXIWFX.mjs.map +0 -1
  275. package/lib/chunk-X2UWIBNH.mjs +0 -16
  276. package/lib/chunk-X2UWIBNH.mjs.map +0 -1
  277. package/lib/chunk-XO7SDD7W.mjs +0 -17
  278. package/lib/chunk-XO7SDD7W.mjs.map +0 -1
  279. package/lib/chunk-ZALXWB2J.mjs +0 -27
  280. package/lib/chunk-ZALXWB2J.mjs.map +0 -1
  281. package/lib/customized-link/external-link.js.map +0 -1
  282. package/lib/customized-link/external-link.mjs.map +0 -1
  283. package/lib/customized-link/index.js.map +0 -1
  284. package/lib/customized-link/index.mjs.map +0 -1
  285. package/lib/customized-link/internal-link.js.map +0 -1
  286. package/lib/customized-link/internal-link.mjs.map +0 -1
  287. package/lib/customized-link/type.js.map +0 -1
  288. package/lib/customized-link/type.mjs.map +0 -1
  289. package/lib/storybook/utils/get-enum-arg.d.mts +0 -19
  290. package/lib/storybook/utils/get-enum-arg.d.ts +0 -19
  291. package/lib/storybook/utils/get-enum-arg.js +0 -31
  292. package/lib/storybook/utils/get-enum-arg.js.map +0 -1
  293. package/lib/storybook/utils/get-enum-arg.mjs +0 -3
  294. package/lib/storybook/utils/get-enum-arg.mjs.map +0 -1
  295. package/lib/styles.css.map +0 -1
  296. package/lib/styles.d.mts +0 -2
  297. package/lib/styles.d.ts +0 -2
  298. package/lib/text/enum/index.d.mts +0 -15
  299. package/lib/text/enum/index.d.ts +0 -15
  300. package/lib/text/enum/index.js +0 -17
  301. package/lib/text/enum/index.js.map +0 -1
  302. package/lib/text/enum/index.mjs +0 -3
  303. package/lib/text/enum/index.mjs.map +0 -1
  304. package/lib/text/heading.js.map +0 -1
  305. package/lib/text/heading.mjs.map +0 -1
  306. package/lib/text/paragraph.js.map +0 -1
  307. package/lib/text/paragraph.mjs.map +0 -1
  308. package/lib/text/stories/heading.stories.d.mts +0 -35
  309. package/lib/text/stories/heading.stories.d.ts +0 -35
  310. package/lib/text/stories/heading.stories.js +0 -131
  311. package/lib/text/stories/heading.stories.js.map +0 -1
  312. package/lib/text/stories/heading.stories.mjs +0 -50
  313. package/lib/text/stories/heading.stories.mjs.map +0 -1
  314. package/lib/text/stories/paragraph.stories.d.mts +0 -33
  315. package/lib/text/stories/paragraph.stories.d.ts +0 -33
  316. package/lib/text/stories/paragraph.stories.js +0 -108
  317. package/lib/text/stories/paragraph.stories.js.map +0 -1
  318. package/lib/text/stories/paragraph.stories.mjs +0 -40
  319. package/lib/text/stories/paragraph.stories.mjs.map +0 -1
  320. package/lib/title-bar/components/title-tab/hook.d.mts +0 -5
  321. package/lib/title-bar/components/title-tab/hook.d.ts +0 -5
  322. package/lib/title-bar/components/title-tab/hook.js +0 -34
  323. package/lib/title-bar/components/title-tab/hook.js.map +0 -1
  324. package/lib/title-bar/components/title-tab/hook.mjs +0 -3
  325. package/lib/title-bar/components/title-tab/hook.mjs.map +0 -1
  326. package/lib/title-bar/components/title-tab/index.d.mts +0 -11
  327. package/lib/title-bar/components/title-tab/index.d.ts +0 -11
  328. package/lib/title-bar/components/title-tab/index.js +0 -367
  329. package/lib/title-bar/components/title-tab/index.js.map +0 -1
  330. package/lib/title-bar/components/title-tab/index.mjs +0 -16
  331. package/lib/title-bar/components/title-tab/index.mjs.map +0 -1
  332. package/lib/title-bar/components/title-tab/tab-item.d.mts +0 -10
  333. package/lib/title-bar/components/title-tab/tab-item.d.ts +0 -10
  334. package/lib/title-bar/components/title-tab/tab-item.js +0 -250
  335. package/lib/title-bar/components/title-tab/tab-item.js.map +0 -1
  336. package/lib/title-bar/components/title-tab/tab-item.mjs +0 -13
  337. package/lib/title-bar/components/title-tab/tab-item.mjs.map +0 -1
  338. package/lib/title-bar/components/title-tab/type.d.mts +0 -8
  339. package/lib/title-bar/components/title-tab/type.d.ts +0 -8
  340. package/lib/title-bar/components/title-tab/type.js +0 -4
  341. package/lib/title-bar/components/title-tab/type.js.map +0 -1
  342. package/lib/title-bar/components/title-tab/type.mjs +0 -3
  343. package/lib/title-bar/components/title-tab/type.mjs.map +0 -1
  344. package/lib/title-bar/components/title1.d.mts +0 -10
  345. package/lib/title-bar/components/title1.d.ts +0 -10
  346. package/lib/title-bar/components/title1.js +0 -123
  347. package/lib/title-bar/components/title1.js.map +0 -1
  348. package/lib/title-bar/components/title1.mjs +0 -6
  349. package/lib/title-bar/components/title1.mjs.map +0 -1
  350. package/lib/title-bar/components/title2.d.mts +0 -11
  351. package/lib/title-bar/components/title2.d.ts +0 -11
  352. package/lib/title-bar/components/title2.js +0 -131
  353. package/lib/title-bar/components/title2.js.map +0 -1
  354. package/lib/title-bar/components/title2.mjs +0 -6
  355. package/lib/title-bar/components/title2.mjs.map +0 -1
  356. package/lib/title-bar/stories/title-tab.stories.d.mts +0 -17
  357. package/lib/title-bar/stories/title-tab.stories.d.ts +0 -17
  358. package/lib/title-bar/stories/title-tab.stories.js +0 -391
  359. package/lib/title-bar/stories/title-tab.stories.js.map +0 -1
  360. package/lib/title-bar/stories/title-tab.stories.mjs +0 -39
  361. package/lib/title-bar/stories/title-tab.stories.mjs.map +0 -1
  362. package/lib/title-bar/stories/title1.stories.d.mts +0 -18
  363. package/lib/title-bar/stories/title1.stories.d.ts +0 -18
  364. package/lib/title-bar/stories/title1.stories.js +0 -155
  365. package/lib/title-bar/stories/title1.stories.js.map +0 -1
  366. package/lib/title-bar/stories/title1.stories.mjs +0 -35
  367. package/lib/title-bar/stories/title1.stories.mjs.map +0 -1
  368. package/lib/title-bar/stories/title2.stories.d.mts +0 -18
  369. package/lib/title-bar/stories/title2.stories.d.ts +0 -18
  370. package/lib/title-bar/stories/title2.stories.js +0 -304
  371. package/lib/title-bar/stories/title2.stories.js.map +0 -1
  372. package/lib/title-bar/stories/title2.stories.mjs +0 -38
  373. package/lib/title-bar/stories/title2.stories.mjs.map +0 -1
  374. package/lib/types/index.js.map +0 -1
  375. package/lib/types/index.mjs.map +0 -1
@@ -0,0 +1,519 @@
1
+ import { SIZE, STYLE, TYPE } from "./constants-oTHAnh6r.mjs";
2
+ import { WEIGHT } from "./constants-BWFuBApI.mjs";
3
+ import { P1, P2 } from "./paragraph-BWXQNQtX.mjs";
4
+ import { THEME } from "./theme-BG6yZVj-.mjs";
5
+ import { useMemo } from "react";
6
+ import clsx from "clsx";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+
9
+ //#region src/button/components/text-button/theme.ts
10
+ const getDisabledContainerTheme = (theme) => {
11
+ return ["text-gray-400 hover:text-gray-400", { "text-gray-500 hover:text-gray-500": theme === THEME.photography || theme === THEME.transparent }];
12
+ };
13
+ const getActiveContainerTheme = (theme, style) => {
14
+ return [
15
+ {
16
+ "text-gray-800 hover:text-gray-800": style === STYLE.light,
17
+ "text-brand-heavy hover:text-brand-heavy": style === STYLE.dark,
18
+ "text-brand-dark hover:text-brand-dark": style === STYLE.brand
19
+ },
20
+ {
21
+ "text-gray-400 hover:text-gray-400": theme === THEME.photography && style === STYLE.light,
22
+ "text-supportive-pastel hover:text-supportive-pastel": theme === THEME.photography && style !== STYLE.light
23
+ },
24
+ {
25
+ "text-gray-black hover:text-gray-black": theme === THEME.transparent && style === STYLE.light,
26
+ "text-gray-200 hover:text-gray-200": theme === THEME.transparent && style !== STYLE.light
27
+ }
28
+ ];
29
+ };
30
+ const getContainerTheme = (theme, style) => {
31
+ return [
32
+ {
33
+ "text-gray-600 hover:text-gray-800": style === STYLE.light,
34
+ "text-gray-800 hover:text-brand-heavy": style === STYLE.dark,
35
+ "text-brand-heavy hover:text-brand-dark": style === STYLE.brand
36
+ },
37
+ {
38
+ "text-gray-300 hover:text-gray-400": theme === THEME.photography && style === STYLE.light,
39
+ "text-gray-white hover:text-supportive-pastel": theme === THEME.photography && style === STYLE.dark,
40
+ "text-supportive-faded hover:text-supportive-pastel": theme === THEME.photography && style === STYLE.brand
41
+ },
42
+ {
43
+ "text-gray-800 hover:text-gray-black": theme === THEME.transparent && style === STYLE.light,
44
+ "text-gray-white hover:text-gray-200": theme === THEME.transparent && style !== STYLE.light
45
+ }
46
+ ];
47
+ };
48
+
49
+ //#endregion
50
+ //#region src/button/components/text-button/index.tsx
51
+ const TextButton = ({ text, leftIconComponent, rightIconComponent, size = SIZE.s, theme = THEME.normal, style = STYLE.dark, active = false, disabled = false, loading = false, className = "" }) => {
52
+ const TextJSX = useMemo(() => size === SIZE.s ? /* @__PURE__ */ jsx(P2, {
53
+ text,
54
+ weight: P2.Weight.bold
55
+ }) : /* @__PURE__ */ jsx(P1, {
56
+ text,
57
+ weight: P1.Weight.bold
58
+ }), [size, text]);
59
+ const themeClass = useMemo(() => {
60
+ return (disabled ? getDisabledContainerTheme : active ? getActiveContainerTheme : getContainerTheme)(theme, style);
61
+ }, [
62
+ disabled,
63
+ active,
64
+ theme,
65
+ style
66
+ ]);
67
+ return /* @__PURE__ */ jsx("div", {
68
+ className: clsx("flex items-center", {
69
+ "cursor-default": disabled,
70
+ "cursor-pointer": !disabled
71
+ }, themeClass, className),
72
+ children: /* @__PURE__ */ jsxs("div", {
73
+ className: "relative flex justify-center items-center",
74
+ children: [/* @__PURE__ */ jsxs("div", {
75
+ className: clsx("flex justify-center items-center", {
76
+ "opacity-0": loading,
77
+ "opacity-100": !loading
78
+ }),
79
+ children: [
80
+ /* @__PURE__ */ jsx("div", {
81
+ className: "flex items-center mr-[4px]",
82
+ children: leftIconComponent
83
+ }),
84
+ TextJSX,
85
+ /* @__PURE__ */ jsx("div", {
86
+ className: "flex items-center ml-[4px]",
87
+ children: rightIconComponent
88
+ })
89
+ ]
90
+ }), /* @__PURE__ */ jsx("span", { className: clsx("inline-block absolute box-border animate-spin", "border-2 border-solid border-gray-400 border-t-gray-600 rounded-[50%]", {
91
+ "size-[18px]": size === SIZE.s,
92
+ "size-[24px]": size === SIZE.l
93
+ }, {
94
+ "opacity-0": !loading,
95
+ "opacity-100": loading
96
+ }) })]
97
+ })
98
+ });
99
+ };
100
+ TextButton.Size = SIZE;
101
+ TextButton.Style = STYLE;
102
+ TextButton.Theme = THEME;
103
+ var text_button_default = TextButton;
104
+
105
+ //#endregion
106
+ //#region src/button/components/icon-button/theme.ts
107
+ const getPrimaryIconButtonTheme = (theme, active, disabled) => {
108
+ if (disabled) return ["text-gray-400 hover:text-gray-400"];
109
+ return [
110
+ "text-gray-600 hover:text-gray-800 [&>svg]:bg-gray-600 desktop:[&>svg]:hover:bg-gray-800",
111
+ { "text-brand-heavy hover:text-brand-heavy [&>svg]:bg-brand-heavy desktop:[&>svg]:hover:bg-brand-heavy": theme === THEME.normal && active },
112
+ {
113
+ "text-gray-white hover:text-supportive-pastel [&>svg]:bg-gray-white [&>svg]:hover:bg-supportive-pastel": theme === THEME.photography && !active,
114
+ "text-supportive-pastel hover:text-supportive-pastel [&>svg]:bg-supportive-pastel [&>svg]:hover:bg-supportive-pastel": theme === THEME.photography && active
115
+ },
116
+ {
117
+ "text-gray-white hover:text-gray-200 [&>svg]:bg-gray-white [&>svg]:hover:bg-gray-200": theme === THEME.transparent && !active,
118
+ "text-gray-white hover:text-gray-white [&>svg]:bg-gray-white [&>svg]:hover:bg-gray-white": theme === THEME.transparent && active
119
+ }
120
+ ];
121
+ };
122
+ const getSecondaryIconButtonTheme = (theme, active, disabled) => {
123
+ if (disabled) return ["text-gray-400 hover:text-gray-400"];
124
+ return [
125
+ "text-gray-400 hover:text-gray-600 [&>svg]:bg-gray-400 [&>svg]:hover:bg-gray-600",
126
+ { "text-brand-heavy hover:text-brand-heavy [&>svg]:bg-brand-heavy [&>svg]:hover:bg-brand-heavy": theme === THEME.normal && active },
127
+ {
128
+ "text-gray-400 hover:text-supportive-pastel [&>svg]:bg-gray-400 [&>svg]:hover:bg-supportive-pastel": theme === THEME.photography && !active,
129
+ "text-supportive-pastel hover:text-supportive-pastel [&>svg]:bg-supportive-pastel [&>svg]:hover:bg-supportive-pastel": theme === THEME.photography && active
130
+ },
131
+ {
132
+ "text-gray-600 hover:text-gray-white [&>svg]:bg-gray-600 [&>svg]:hover:bg-gray-white": theme === THEME.transparent && !active,
133
+ "text-gray-600 hover:text-gray-600 [&>svg]:bg-gray-600 [&>svg]:hover:bg-gray-600": theme === THEME.transparent && active
134
+ }
135
+ ];
136
+ };
137
+
138
+ //#endregion
139
+ //#region src/button/components/icon-button/index.tsx
140
+ const IconButton = ({ iconComponent, theme = THEME.normal, type = TYPE.primary, disabled = false, active = false, className = "", onClick = () => {} }) => {
141
+ const themeClass = type === TYPE.primary ? getPrimaryIconButtonTheme(theme, active, disabled) : getSecondaryIconButtonTheme(theme, active, disabled);
142
+ return /* @__PURE__ */ jsx("button", {
143
+ className: clsx("flex", "[&>svg]:w-[24px] [&>svg]:h-[24px]", disabled ? "cursor-default" : "cursor-pointer", themeClass, className),
144
+ onClick: disabled ? () => {} : onClick,
145
+ type: "button",
146
+ children: iconComponent
147
+ });
148
+ };
149
+ IconButton.Theme = THEME;
150
+ IconButton.Type = TYPE;
151
+ var icon_button_default = IconButton;
152
+
153
+ //#endregion
154
+ //#region src/button/components/menu-button/index.tsx
155
+ const MenuButton = ({ text, color, fontWeight, className = "", p1ClassName = "" }) => {
156
+ return /* @__PURE__ */ jsx("div", {
157
+ className: clsx("cursor-pointer", color, className),
158
+ children: /* @__PURE__ */ jsx(P1, {
159
+ text,
160
+ weight: fontWeight,
161
+ className: clsx("py-[8px]", p1ClassName)
162
+ })
163
+ });
164
+ };
165
+ MenuButton.FontWeight = WEIGHT;
166
+ var menu_button_default = MenuButton;
167
+
168
+ //#endregion
169
+ //#region src/button/components/pill-button/theme.ts
170
+ const getFilledPillButtonTheme = (theme, disabled, style) => {
171
+ if (disabled) switch (theme) {
172
+ case THEME.transparent: switch (style) {
173
+ case STYLE.light: return {
174
+ color: "text-gray-white",
175
+ bgColor: "bg-gray-400",
176
+ hoverColor: "hover:text-gray-white",
177
+ hoverBgColor: "hover:bg-gray-400",
178
+ borderColor: "border-gray-400",
179
+ svgBgColor: "[&>svg]:bg-gray-white",
180
+ borderHoverColor: "hover:border-gray-400",
181
+ svgHoverBgColor: "hover:[&>svg]:bg-gray-white"
182
+ };
183
+ default: return {
184
+ color: "text-gray-700",
185
+ bgColor: "bg-gray-500",
186
+ hoverColor: "hover:text-gray-700",
187
+ hoverBgColor: "hover:bg-gray-500",
188
+ borderColor: "border-gray-500",
189
+ svgBgColor: "[&>svg]:bg-gray-700",
190
+ borderHoverColor: "hover:border-gray-500",
191
+ svgHoverBgColor: "hover:[&>svg]:bg-gray-500"
192
+ };
193
+ }
194
+ case THEME.photography: return {
195
+ color: "text-gray-700",
196
+ bgColor: "bg-gray-500",
197
+ hoverColor: "hover:text-gray-700",
198
+ hoverBgColor: "hover:bg-gray-500",
199
+ borderColor: "border-gray-500",
200
+ svgBgColor: "[&>svg]:bg-gray-700",
201
+ borderHoverColor: "hover:border-gray-500",
202
+ svgHoverBgColor: "hover:[&>svg]:bg-gray-700"
203
+ };
204
+ default: return {
205
+ color: "text-gray-white",
206
+ bgColor: "bg-gray-400",
207
+ hoverColor: "hover:text-gray-white",
208
+ hoverBgColor: "hover:bg-gray-400",
209
+ borderColor: "border-gray-400",
210
+ svgBgColor: "[&>svg]:bg-gray-white",
211
+ borderHoverColor: "hover:border-gray-400",
212
+ svgHoverBgColor: "hover:[&>svg]:bg-gray-white"
213
+ };
214
+ }
215
+ switch (theme) {
216
+ case THEME.photography: switch (style) {
217
+ case STYLE.dark: return {
218
+ color: "text-photo-dark",
219
+ bgColor: "bg-gray-white",
220
+ hoverColor: "hover:text-photo-dark",
221
+ hoverBgColor: "hover:bg-gray-200",
222
+ borderColor: "border-gray-white",
223
+ svgBgColor: "[&>svg]:bg-photo-dark",
224
+ borderHoverColor: "hover:border-gray-200",
225
+ svgHoverBgColor: "hover:[&>svg]:bg-photo-dark"
226
+ };
227
+ case STYLE.light: return {
228
+ color: "text-photo-dark",
229
+ bgColor: "bg-gray-300",
230
+ hoverColor: "hover:text-photo-dark",
231
+ hoverBgColor: "hover:bg-gray-400",
232
+ borderColor: "border-gray-300",
233
+ svgBgColor: "[&>svg]:bg-photo-dark",
234
+ borderHoverColor: "hover:border-gray-400",
235
+ svgHoverBgColor: "hover:[&>svg]:bg-photo-dark"
236
+ };
237
+ default: return {
238
+ color: "text-photo-dark",
239
+ bgColor: "bg-supportive-faded",
240
+ hoverColor: "hover:text-photo-dark",
241
+ hoverBgColor: "hover:bg-supportive-pastel",
242
+ borderColor: "border-supportive-faded",
243
+ svgBgColor: "[&>svg]:bg-photo-dark",
244
+ borderHoverColor: "hover:border-supportive-pastel",
245
+ svgHoverBgColor: "hover:[&>svg]:bg-photo-dark"
246
+ };
247
+ }
248
+ case THEME.transparent: switch (style) {
249
+ case STYLE.dark: return {
250
+ color: "text-gray-800",
251
+ bgColor: "bg-gray-300",
252
+ hoverColor: "hover:text-gray-800",
253
+ hoverBgColor: "hover:bg-gray-400",
254
+ borderColor: "border-gray-300",
255
+ svgBgColor: "[&>svg]:bg-gray-800",
256
+ borderHoverColor: "hover:border-gray-400",
257
+ svgHoverBgColor: "hover:[&>svg]:bg-gray-800"
258
+ };
259
+ case STYLE.light: return {
260
+ color: "text-gray-white",
261
+ bgColor: "bg-gray-800",
262
+ hoverColor: "hover:text-gray-white",
263
+ hoverBgColor: "hover:bg-gray-black",
264
+ borderColor: "border-gray-800",
265
+ svgBgColor: "[&>svg]:bg-gray-white",
266
+ borderHoverColor: "hover:border-gray-black",
267
+ svgHoverBgColor: "hover:[&>svg]:bg-gray-white"
268
+ };
269
+ default: return {
270
+ color: "text-gray-800",
271
+ bgColor: "bg-gray-white",
272
+ hoverColor: "hover:text-gray-800",
273
+ hoverBgColor: "hover:bg-gray-200",
274
+ borderColor: "border-gray-white",
275
+ svgBgColor: "[&>svg]:bg-gray-800",
276
+ borderHoverColor: "hover:border-gray-200",
277
+ svgHoverBgColor: "hover:[&>svg]:bg-gray-800"
278
+ };
279
+ }
280
+ default: switch (style) {
281
+ case STYLE.dark: return {
282
+ color: "text-gray-white",
283
+ bgColor: "bg-gray-800",
284
+ hoverColor: "hover:text-gray-white",
285
+ hoverBgColor: "hover:bg-gray-black",
286
+ borderColor: "border-gray-800",
287
+ svgBgColor: "[&>svg]:bg-gray-white",
288
+ borderHoverColor: "hover:border-gray-black",
289
+ svgHoverBgColor: "hover:[&>svg]:bg-gray-white"
290
+ };
291
+ case STYLE.light: return {
292
+ color: "text-gray-800",
293
+ bgColor: "bg-gray-white",
294
+ hoverColor: "hover:text-gray-800",
295
+ hoverBgColor: "hover:bg-gray-200",
296
+ borderColor: "border-gray-white",
297
+ svgBgColor: "[&>svg]:bg-gray-800",
298
+ borderHoverColor: "hover:border-gray-200",
299
+ svgHoverBgColor: "hover:[&>svg]:bg-gray-800"
300
+ };
301
+ default: return {
302
+ color: "text-gray-white",
303
+ bgColor: "bg-brand-heavy",
304
+ hoverColor: "hover:text-gray-white",
305
+ hoverBgColor: "hover:bg-brand-dark",
306
+ borderColor: "border-brand-heavy",
307
+ svgBgColor: "[&>svg]:bg-gray-white",
308
+ borderHoverColor: "hover:border-brand-dark",
309
+ svgHoverBgColor: "hover:[&>svg]:bg-gray-white"
310
+ };
311
+ }
312
+ }
313
+ };
314
+ const getOutlinePillButtonTheme = (theme, disabled, style) => {
315
+ if (disabled) switch (theme) {
316
+ case THEME.transparent: switch (style) {
317
+ case STYLE.light: return {
318
+ color: "text-gray-400",
319
+ bgColor: "bg-gray-400",
320
+ hoverColor: "hover:text-gray-400",
321
+ hoverBgColor: "hover:bg-gray-400",
322
+ borderColor: "border-gray-400",
323
+ svgBgColor: "[&>svg]:bg-gray-400",
324
+ borderHoverColor: "hover:border-gray-400",
325
+ svgHoverBgColor: "hover:[&>svg]:bg-gray-400"
326
+ };
327
+ default: return {
328
+ color: "text-gray-500",
329
+ bgColor: "bg-gray-500",
330
+ hoverColor: "hover:text-gray-500",
331
+ hoverBgColor: "hover:bg-gray-500",
332
+ borderColor: "border-gray-500",
333
+ svgBgColor: "[&>svg]:bg-gray-500",
334
+ borderHoverColor: "hover:border-gray-500",
335
+ svgHoverBgColor: "hover:[&>svg]:bg-gray-500"
336
+ };
337
+ }
338
+ case THEME.photography: return {
339
+ color: "text-gray-500",
340
+ bgColor: "bg-gray-500",
341
+ hoverColor: "hover:text-gray-500",
342
+ hoverBgColor: "hover:bg-gray-500",
343
+ borderColor: "border-gray-500",
344
+ svgBgColor: "[&>svg]:bg-gray-500",
345
+ borderHoverColor: "hover:border-gray-500",
346
+ svgHoverBgColor: "hover:[&>svg]:bg-gray-500"
347
+ };
348
+ default: return {
349
+ color: "text-gray-400",
350
+ bgColor: "bg-gray-400",
351
+ hoverColor: "hover:text-gray-400",
352
+ hoverBgColor: "hover:bg-gray-400",
353
+ borderColor: "border-gray-400",
354
+ svgBgColor: "[&>svg]:bg-gray-400",
355
+ borderHoverColor: "hover:border-gray-400",
356
+ svgHoverBgColor: "hover:[&>svg]:bg-gray-400"
357
+ };
358
+ }
359
+ switch (theme) {
360
+ case THEME.photography: switch (style) {
361
+ case STYLE.dark: return {
362
+ color: "text-gray-white",
363
+ bgColor: "bg-gray-white",
364
+ hoverColor: "hover:text-gray-200",
365
+ hoverBgColor: "hover:bg-gray-200",
366
+ borderColor: "border-gray-white",
367
+ svgBgColor: "[&>svg]:bg-gray-white",
368
+ borderHoverColor: "hover:border-gray-200",
369
+ svgHoverBgColor: "hover:[&>svg]:bg-gray-200"
370
+ };
371
+ case STYLE.light: return {
372
+ color: "text-gray-300",
373
+ bgColor: "bg-gray-300",
374
+ hoverColor: "hover:text-gray-400",
375
+ hoverBgColor: "hover:bg-gray-400",
376
+ borderColor: "border-gray-300",
377
+ svgBgColor: "[&>svg]:bg-gray-300",
378
+ borderHoverColor: "hover:border-gray-400",
379
+ svgHoverBgColor: "hover:[&>svg]:bg-gray-400"
380
+ };
381
+ default: return {
382
+ color: "text-supportive-faded",
383
+ bgColor: "bg-supportive-faded",
384
+ hoverColor: "hover:text-supportive-pastel",
385
+ hoverBgColor: "hover:bg-supportive-pastel",
386
+ borderColor: "border-supportive-faded",
387
+ svgBgColor: "[&>svg]:bg-supportive-faded",
388
+ borderHoverColor: "hover:border-supportive-pastel",
389
+ svgHoverBgColor: "hover:[&>svg]:bg-supportive-pastel"
390
+ };
391
+ }
392
+ case THEME.transparent: switch (style) {
393
+ case STYLE.dark: return {
394
+ color: "text-gray-300",
395
+ bgColor: "bg-gray-300",
396
+ hoverColor: "hover:text-gray-400",
397
+ hoverBgColor: "hover:bg-gray-400",
398
+ borderColor: "border-gray-300",
399
+ svgBgColor: "[&>svg]:bg-gray-300",
400
+ borderHoverColor: "hover:border-gray-400",
401
+ svgHoverBgColor: "hover:[&>svg]:bg-gray-400"
402
+ };
403
+ case STYLE.light: return {
404
+ color: "text-gray-800",
405
+ bgColor: "bg-gray-800",
406
+ hoverColor: "hover:text-gray-black",
407
+ hoverBgColor: "hover:bg-gray-black",
408
+ borderColor: "border-gray-800",
409
+ svgBgColor: "[&>svg]:bg-gray-800",
410
+ borderHoverColor: "hover:border-gray-black",
411
+ svgHoverBgColor: "hover:[&>svg]:bg-gray-black"
412
+ };
413
+ default: return {
414
+ color: "text-gray-white",
415
+ bgColor: "bg-gray-white",
416
+ hoverColor: "hover:text-gray-200",
417
+ hoverBgColor: "hover:bg-gray-200",
418
+ borderColor: "border-gray-white",
419
+ svgBgColor: "[&>svg]:bg-gray-white",
420
+ borderHoverColor: "hover:border-gray-200",
421
+ svgHoverBgColor: "hover:[&>svg]:bg-gray-200"
422
+ };
423
+ }
424
+ default: switch (style) {
425
+ case STYLE.dark: return {
426
+ color: "text-gray-800",
427
+ bgColor: "bg-gray-800",
428
+ hoverColor: "hover:text-gray-black",
429
+ hoverBgColor: "hover:bg-gray-black",
430
+ borderColor: "border-gray-800",
431
+ svgBgColor: "[&>svg]:bg-gray-800",
432
+ borderHoverColor: "hover:border-gray-black",
433
+ svgHoverBgColor: "hover:[&>svg]:bg-gray-black"
434
+ };
435
+ case STYLE.light: return {
436
+ color: "text-gray-800",
437
+ bgColor: "bg-gray-white",
438
+ hoverColor: "hover:text-gray-800",
439
+ hoverBgColor: "hover:bg-gray-200",
440
+ borderColor: "border-gray-white",
441
+ svgBgColor: "[&>svg]:bg-gray-800",
442
+ borderHoverColor: "hover:border-gray-200",
443
+ svgHoverBgColor: "hover:[&>svg]:bg-gray-800"
444
+ };
445
+ default: return {
446
+ color: "text-brand-heavy",
447
+ bgColor: "bg-brand-heavy",
448
+ hoverColor: "hover:text-brand-dark",
449
+ hoverBgColor: "hover:bg-brand-dark",
450
+ borderColor: "border-brand-heavy",
451
+ svgBgColor: "[&>svg]:bg-brand-heavy",
452
+ borderHoverColor: "hover:border-brand-dark",
453
+ svgHoverBgColor: "hover:[&>svg]:bg-brand-dark"
454
+ };
455
+ }
456
+ }
457
+ };
458
+
459
+ //#endregion
460
+ //#region src/button/components/pill-button/index.tsx
461
+ const PillButton = ({ text = "", leftIconComponent = null, rightIconComponent = null, size = SIZE.s, theme = THEME.normal, type = TYPE.primary, style = STYLE.brand, disabled = false, loading = false, className = "" }) => {
462
+ const { color, bgColor, hoverColor, hoverBgColor, borderColor, svgBgColor, borderHoverColor, svgHoverBgColor } = (type === TYPE.primary ? getFilledPillButtonTheme : getOutlinePillButtonTheme)(theme, disabled, style);
463
+ const padding = size === SIZE.s ? "py-[4px] px-[12px]" : "py-[8px] px-[16px]";
464
+ const iconSize = size === SIZE.s ? "[&>svg]:h-[18px] [&>svg]:w-[18px]" : "[&>svg]:h-[24px] [&>svg]:w-[24px]";
465
+ const TextJSX = useMemo(() => size === SIZE.s ? /* @__PURE__ */ jsx(P2, {
466
+ text,
467
+ weight: P2.Weight.bold
468
+ }) : /* @__PURE__ */ jsx(P1, {
469
+ text,
470
+ weight: P1.Weight.bold
471
+ }), [size, text]);
472
+ return /* @__PURE__ */ jsx("div", {
473
+ className: clsx("w-fit flex items-center rounded-[40px] border-solid border-[1.5px]", borderColor, color, padding, disabled || loading ? "cursor-not-allowed" : "cursor-pointer", type === TYPE.primary ? bgColor : "bg-transparent", iconSize, svgBgColor, hoverColor, type === TYPE.primary ? hoverBgColor : "bg-transparent", borderHoverColor, svgHoverBgColor, className),
474
+ children: /* @__PURE__ */ jsxs("div", {
475
+ className: "relative flex justify-center items-center",
476
+ children: [/* @__PURE__ */ jsxs("div", {
477
+ className: clsx("flex justify-center items-center", {
478
+ "opacity-0": loading,
479
+ "opacity-100": !loading
480
+ }),
481
+ children: [
482
+ /* @__PURE__ */ jsx("div", {
483
+ className: "flex items-center mr-[4px]",
484
+ children: leftIconComponent
485
+ }),
486
+ TextJSX,
487
+ /* @__PURE__ */ jsx("div", {
488
+ className: "flex items-center ml-[4px]",
489
+ children: rightIconComponent
490
+ })
491
+ ]
492
+ }), /* @__PURE__ */ jsx("span", { className: clsx("inline-block absolute box-border animate-spin", "border-2 border-solid border-gray-400 border-t-gray-600 rounded-[50%]", {
493
+ "size-[18px]": size === SIZE.s,
494
+ "size-[24px]": size === SIZE.l
495
+ }, {
496
+ "opacity-0": !loading,
497
+ "opacity-100": loading
498
+ }) })]
499
+ })
500
+ });
501
+ };
502
+ PillButton.Theme = THEME;
503
+ PillButton.Type = TYPE;
504
+ PillButton.Size = SIZE;
505
+ PillButton.Style = STYLE;
506
+ var pill_button_default = PillButton;
507
+
508
+ //#endregion
509
+ //#region src/button/index.ts
510
+ var button_default = {
511
+ TextButton: text_button_default,
512
+ IconButton: icon_button_default,
513
+ MenuButton: menu_button_default,
514
+ PillButton: pill_button_default
515
+ };
516
+
517
+ //#endregion
518
+ export { button_default, icon_button_default, menu_button_default, pill_button_default, text_button_default };
519
+ //# sourceMappingURL=button-DL6w1ghn.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-DL6w1ghn.mjs","names":["getDisabledContainerTheme: ThemeFunc","getActiveContainerTheme: ThemeFunc","getContainerTheme: ThemeFunc","TextButton: FC<TextButtonProps> & {\n Size: typeof SIZE\n Style: typeof STYLE\n Theme: typeof THEME\n}","getPrimaryIconButtonTheme: ThemeFunc","getSecondaryIconButtonTheme: ThemeFunc","IconButton: React.FC<IconButtonProps> & {\n Theme: typeof THEME\n Type: typeof TYPE\n}","MenuButton: React.FC<MenuButtonProps> & { FontWeight: typeof WEIGHT }","PillButton: FC<PillButtonProps> & {\n Theme: typeof THEME\n Type: typeof TYPE\n Size: typeof SIZE\n Style: typeof STYLE\n}"],"sources":["../src/button/components/text-button/theme.ts","../src/button/components/text-button/index.tsx","../src/button/components/icon-button/theme.ts","../src/button/components/icon-button/index.tsx","../src/button/components/menu-button/index.tsx","../src/button/components/pill-button/theme.ts","../src/button/components/pill-button/index.tsx","../src/button/index.ts"],"sourcesContent":["// theme\nimport { THEME, type Theme } from '../../../constants/theme'\n// type\nimport type { ClassArray } from 'clsx'\n// constants\nimport { STYLE, type Style } from '../../constants'\n\ntype ThemeFunc = (theme: Theme, style?: Style) => ClassArray\n\nexport const getDisabledContainerTheme: ThemeFunc = (theme) => {\n return [\n // default theme\n 'text-gray-400 hover:text-gray-400',\n // photography & transparent theme\n {\n 'text-gray-500 hover:text-gray-500':\n theme === THEME.photography || theme === THEME.transparent,\n },\n ]\n}\n\nexport const getActiveContainerTheme: ThemeFunc = (theme, style) => {\n return [\n // default theme\n {\n 'text-gray-800 hover:text-gray-800': style === STYLE.light,\n 'text-brand-heavy hover:text-brand-heavy': style === STYLE.dark,\n 'text-brand-dark hover:text-brand-dark': style === STYLE.brand,\n },\n // photography theme\n {\n 'text-gray-400 hover:text-gray-400':\n theme === THEME.photography && style === STYLE.light,\n 'text-supportive-pastel hover:text-supportive-pastel':\n theme === THEME.photography && style !== STYLE.light,\n },\n // transparent theme\n {\n 'text-gray-black hover:text-gray-black':\n theme === THEME.transparent && style === STYLE.light,\n 'text-gray-200 hover:text-gray-200':\n theme === THEME.transparent && style !== STYLE.light,\n },\n ]\n}\n\nexport const getContainerTheme: ThemeFunc = (theme, style) => {\n return [\n // default theme\n {\n 'text-gray-600 hover:text-gray-800': style === STYLE.light,\n 'text-gray-800 hover:text-brand-heavy': style === STYLE.dark,\n 'text-brand-heavy hover:text-brand-dark': style === STYLE.brand,\n },\n // photography\n {\n 'text-gray-300 hover:text-gray-400':\n theme === THEME.photography && style === STYLE.light,\n 'text-gray-white hover:text-supportive-pastel':\n theme === THEME.photography && style === STYLE.dark,\n 'text-supportive-faded hover:text-supportive-pastel':\n theme === THEME.photography && style === STYLE.brand,\n },\n // transparent theme\n {\n 'text-gray-800 hover:text-gray-black':\n theme === THEME.transparent && style === STYLE.light,\n 'text-gray-white hover:text-gray-200':\n theme === THEME.transparent && style !== STYLE.light,\n },\n ]\n}\n","import { type FC, type ReactElement, useMemo } from 'react'\nimport clsx from 'clsx'\n// components\nimport { P1, P2 } from '../../../text/paragraph'\n// constants\nimport { SIZE, type Size, STYLE, type Style } from '../../constants'\nimport { THEME, type Theme } from '../../../constants/theme'\n// utils\nimport {\n getContainerTheme,\n getActiveContainerTheme,\n getDisabledContainerTheme,\n} from './theme'\n\ntype TextButtonProps = {\n text: string\n leftIconComponent?: ReactElement\n rightIconComponent?: ReactElement\n size?: Size\n style?: Style\n theme?: Theme\n active?: boolean\n disabled?: boolean\n loading?: boolean\n className?: string\n}\nconst TextButton: FC<TextButtonProps> & {\n Size: typeof SIZE\n Style: typeof STYLE\n Theme: typeof THEME\n} = ({\n text,\n leftIconComponent,\n rightIconComponent,\n size = SIZE.s,\n theme = THEME.normal,\n style = STYLE.dark,\n active = false,\n disabled = false,\n loading = false,\n className = '',\n}) => {\n const TextJSX = useMemo(\n () =>\n size === SIZE.s ? (\n <P2 text={text} weight={P2.Weight.bold} />\n ) : (\n <P1 text={text} weight={P1.Weight.bold} />\n ),\n [size, text]\n )\n const themeClass = useMemo(() => {\n const themeFunc = disabled\n ? getDisabledContainerTheme\n : active\n ? getActiveContainerTheme\n : getContainerTheme\n return themeFunc(theme, style)\n }, [disabled, active, theme, style])\n\n return (\n <div\n className={clsx(\n 'flex items-center',\n {\n 'cursor-default': disabled,\n 'cursor-pointer': !disabled,\n },\n themeClass,\n className\n )}\n >\n <div className=\"relative flex justify-center items-center\">\n <div\n className={clsx('flex justify-center items-center', {\n 'opacity-0': loading,\n 'opacity-100': !loading,\n })}\n >\n <div className=\"flex items-center mr-[4px]\">{leftIconComponent}</div>\n {TextJSX}\n <div className=\"flex items-center ml-[4px]\">{rightIconComponent}</div>\n </div>\n <span\n className={clsx(\n 'inline-block absolute box-border animate-spin',\n 'border-2 border-solid border-gray-400 border-t-gray-600 rounded-[50%]',\n {\n 'size-[18px]': size === SIZE.s,\n 'size-[24px]': size === SIZE.l,\n },\n {\n 'opacity-0': !loading,\n 'opacity-100': loading,\n }\n )}\n />\n </div>\n </div>\n )\n}\nTextButton.Size = SIZE\nTextButton.Style = STYLE\nTextButton.Theme = THEME\n\nexport default TextButton\n","// constants\nimport { THEME, type Theme } from '../../../constants/theme'\n// type\nimport type { ClassArray } from 'clsx'\n\ntype ThemeFunc = (\n theme: Theme,\n active: boolean,\n disabled: boolean\n) => ClassArray\n\nexport const getPrimaryIconButtonTheme: ThemeFunc = (\n theme,\n active,\n disabled\n) => {\n if (disabled) {\n return ['text-gray-400 hover:text-gray-400']\n }\n return [\n // default theme\n 'text-gray-600 hover:text-gray-800 [&>svg]:bg-gray-600 desktop:[&>svg]:hover:bg-gray-800',\n {\n 'text-brand-heavy hover:text-brand-heavy [&>svg]:bg-brand-heavy desktop:[&>svg]:hover:bg-brand-heavy':\n theme === THEME.normal && active,\n },\n // photography theme\n {\n 'text-gray-white hover:text-supportive-pastel [&>svg]:bg-gray-white [&>svg]:hover:bg-supportive-pastel':\n theme === THEME.photography && !active,\n 'text-supportive-pastel hover:text-supportive-pastel [&>svg]:bg-supportive-pastel [&>svg]:hover:bg-supportive-pastel':\n theme === THEME.photography && active,\n },\n // transparent theme\n {\n 'text-gray-white hover:text-gray-200 [&>svg]:bg-gray-white [&>svg]:hover:bg-gray-200':\n theme === THEME.transparent && !active,\n 'text-gray-white hover:text-gray-white [&>svg]:bg-gray-white [&>svg]:hover:bg-gray-white':\n theme === THEME.transparent && active,\n },\n ]\n}\n\nexport const getSecondaryIconButtonTheme: ThemeFunc = (\n theme,\n active,\n disabled\n) => {\n if (disabled) {\n return ['text-gray-400 hover:text-gray-400']\n }\n return [\n // default theme\n 'text-gray-400 hover:text-gray-600 [&>svg]:bg-gray-400 [&>svg]:hover:bg-gray-600',\n {\n 'text-brand-heavy hover:text-brand-heavy [&>svg]:bg-brand-heavy [&>svg]:hover:bg-brand-heavy':\n theme === THEME.normal && active,\n },\n // photography theme\n {\n 'text-gray-400 hover:text-supportive-pastel [&>svg]:bg-gray-400 [&>svg]:hover:bg-supportive-pastel':\n theme === THEME.photography && !active,\n 'text-supportive-pastel hover:text-supportive-pastel [&>svg]:bg-supportive-pastel [&>svg]:hover:bg-supportive-pastel':\n theme === THEME.photography && active,\n },\n // transparent theme\n {\n 'text-gray-600 hover:text-gray-white [&>svg]:bg-gray-600 [&>svg]:hover:bg-gray-white':\n theme === THEME.transparent && !active,\n 'text-gray-600 hover:text-gray-600 [&>svg]:bg-gray-600 [&>svg]:hover:bg-gray-600':\n theme === THEME.transparent && active,\n },\n ]\n}\n","import type React from 'react'\nimport clsx from 'clsx'\n// constants\nimport { THEME, type Theme } from '../../../constants/theme'\nimport { TYPE, type Type } from '../../constants'\n// theme\nimport { getPrimaryIconButtonTheme, getSecondaryIconButtonTheme } from './theme'\n\ntype IconButtonProps = {\n iconComponent: React.ReactElement\n theme?: Theme\n type?: Type\n disabled?: boolean\n active?: boolean\n className?: string\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void\n}\nconst IconButton: React.FC<IconButtonProps> & {\n Theme: typeof THEME\n Type: typeof TYPE\n} = ({\n iconComponent,\n theme = THEME.normal,\n type = TYPE.primary,\n disabled = false,\n active = false,\n className = '',\n onClick = () => {},\n}) => {\n const themeClass =\n type === TYPE.primary\n ? getPrimaryIconButtonTheme(theme, active, disabled)\n : getSecondaryIconButtonTheme(theme, active, disabled)\n return (\n <button\n className={clsx(\n 'flex',\n '[&>svg]:w-[24px] [&>svg]:h-[24px]',\n disabled ? 'cursor-default' : 'cursor-pointer',\n themeClass,\n className\n )}\n onClick={disabled ? () => {} : onClick}\n type=\"button\"\n >\n {iconComponent}\n </button>\n )\n}\n\nIconButton.Theme = THEME\nIconButton.Type = TYPE\n\nexport default IconButton\n","import type React from 'react'\nimport clsx from 'clsx'\n// P1\nimport { P1 } from '../../../text/paragraph'\nimport { WEIGHT, type Weight } from '../../../text/constants'\n\ntype MenuButtonProps = {\n text: string\n color: string\n fontWeight: Weight\n className?: string\n p1ClassName?: string\n}\nconst MenuButton: React.FC<MenuButtonProps> & { FontWeight: typeof WEIGHT } = ({\n text,\n color,\n fontWeight,\n className = '',\n p1ClassName = '',\n}) => {\n return (\n <div className={clsx('cursor-pointer', color, className)}>\n <P1\n text={text}\n weight={fontWeight}\n className={clsx('py-[8px]', p1ClassName)}\n />\n </div>\n )\n}\nMenuButton.FontWeight = WEIGHT\n\nexport default MenuButton\n","import { THEME, type Theme } from '../../../constants/theme'\nimport { STYLE, type Style } from '../../constants'\n\nexport const getFilledPillButtonTheme = (\n theme: Theme,\n disabled: boolean,\n style: Style\n) => {\n if (disabled) {\n switch (theme) {\n case THEME.transparent:\n switch (style) {\n case STYLE.light:\n return {\n color: 'text-gray-white',\n bgColor: 'bg-gray-400',\n hoverColor: 'hover:text-gray-white',\n hoverBgColor: 'hover:bg-gray-400',\n borderColor: 'border-gray-400',\n svgBgColor: '[&>svg]:bg-gray-white',\n borderHoverColor: 'hover:border-gray-400',\n svgHoverBgColor: 'hover:[&>svg]:bg-gray-white',\n }\n default:\n return {\n color: 'text-gray-700',\n bgColor: 'bg-gray-500',\n hoverColor: 'hover:text-gray-700',\n hoverBgColor: 'hover:bg-gray-500',\n borderColor: 'border-gray-500',\n svgBgColor: '[&>svg]:bg-gray-700',\n borderHoverColor: 'hover:border-gray-500',\n svgHoverBgColor: 'hover:[&>svg]:bg-gray-500',\n }\n }\n case THEME.photography:\n return {\n color: 'text-gray-700',\n bgColor: 'bg-gray-500',\n hoverColor: 'hover:text-gray-700',\n hoverBgColor: 'hover:bg-gray-500',\n borderColor: 'border-gray-500',\n svgBgColor: '[&>svg]:bg-gray-700',\n borderHoverColor: 'hover:border-gray-500',\n svgHoverBgColor: 'hover:[&>svg]:bg-gray-700',\n }\n default:\n return {\n color: 'text-gray-white',\n bgColor: 'bg-gray-400',\n hoverColor: 'hover:text-gray-white',\n hoverBgColor: 'hover:bg-gray-400',\n borderColor: 'border-gray-400',\n svgBgColor: '[&>svg]:bg-gray-white',\n borderHoverColor: 'hover:border-gray-400',\n svgHoverBgColor: 'hover:[&>svg]:bg-gray-white',\n }\n }\n }\n switch (theme) {\n case THEME.photography:\n switch (style) {\n case STYLE.dark:\n return {\n color: 'text-photo-dark',\n bgColor: 'bg-gray-white',\n hoverColor: 'hover:text-photo-dark',\n hoverBgColor: 'hover:bg-gray-200',\n borderColor: 'border-gray-white',\n svgBgColor: '[&>svg]:bg-photo-dark',\n borderHoverColor: 'hover:border-gray-200',\n svgHoverBgColor: 'hover:[&>svg]:bg-photo-dark',\n }\n case STYLE.light:\n return {\n color: 'text-photo-dark',\n bgColor: 'bg-gray-300',\n hoverColor: 'hover:text-photo-dark',\n hoverBgColor: 'hover:bg-gray-400',\n borderColor: 'border-gray-300',\n svgBgColor: '[&>svg]:bg-photo-dark',\n borderHoverColor: 'hover:border-gray-400',\n svgHoverBgColor: 'hover:[&>svg]:bg-photo-dark',\n }\n default:\n return {\n color: 'text-photo-dark',\n bgColor: 'bg-supportive-faded',\n hoverColor: 'hover:text-photo-dark',\n hoverBgColor: 'hover:bg-supportive-pastel',\n borderColor: 'border-supportive-faded',\n svgBgColor: '[&>svg]:bg-photo-dark',\n borderHoverColor: 'hover:border-supportive-pastel',\n svgHoverBgColor: 'hover:[&>svg]:bg-photo-dark',\n }\n }\n case THEME.transparent:\n switch (style) {\n case STYLE.dark:\n return {\n color: 'text-gray-800',\n bgColor: 'bg-gray-300',\n hoverColor: 'hover:text-gray-800',\n hoverBgColor: 'hover:bg-gray-400',\n borderColor: 'border-gray-300',\n svgBgColor: '[&>svg]:bg-gray-800',\n borderHoverColor: 'hover:border-gray-400',\n svgHoverBgColor: 'hover:[&>svg]:bg-gray-800',\n }\n case STYLE.light:\n return {\n color: 'text-gray-white',\n bgColor: 'bg-gray-800',\n hoverColor: 'hover:text-gray-white',\n hoverBgColor: 'hover:bg-gray-black',\n borderColor: 'border-gray-800',\n svgBgColor: '[&>svg]:bg-gray-white',\n borderHoverColor: 'hover:border-gray-black',\n svgHoverBgColor: 'hover:[&>svg]:bg-gray-white',\n }\n default:\n return {\n color: 'text-gray-800',\n bgColor: 'bg-gray-white',\n hoverColor: 'hover:text-gray-800',\n hoverBgColor: 'hover:bg-gray-200',\n borderColor: 'border-gray-white',\n svgBgColor: '[&>svg]:bg-gray-800',\n borderHoverColor: 'hover:border-gray-200',\n svgHoverBgColor: 'hover:[&>svg]:bg-gray-800',\n }\n }\n default:\n switch (style) {\n case STYLE.dark:\n return {\n color: 'text-gray-white',\n bgColor: 'bg-gray-800',\n hoverColor: 'hover:text-gray-white',\n hoverBgColor: 'hover:bg-gray-black',\n borderColor: 'border-gray-800',\n svgBgColor: '[&>svg]:bg-gray-white',\n borderHoverColor: 'hover:border-gray-black',\n svgHoverBgColor: 'hover:[&>svg]:bg-gray-white',\n }\n case STYLE.light:\n return {\n color: 'text-gray-800',\n bgColor: 'bg-gray-white',\n hoverColor: 'hover:text-gray-800',\n hoverBgColor: 'hover:bg-gray-200',\n borderColor: 'border-gray-white',\n svgBgColor: '[&>svg]:bg-gray-800',\n borderHoverColor: 'hover:border-gray-200',\n svgHoverBgColor: 'hover:[&>svg]:bg-gray-800',\n }\n default:\n return {\n color: 'text-gray-white',\n bgColor: 'bg-brand-heavy',\n hoverColor: 'hover:text-gray-white',\n hoverBgColor: 'hover:bg-brand-dark',\n borderColor: 'border-brand-heavy',\n svgBgColor: '[&>svg]:bg-gray-white',\n borderHoverColor: 'hover:border-brand-dark',\n svgHoverBgColor: 'hover:[&>svg]:bg-gray-white',\n }\n }\n }\n}\n\nexport const getOutlinePillButtonTheme = (\n theme: Theme,\n disabled: boolean,\n style: Style\n) => {\n if (disabled) {\n switch (theme) {\n case THEME.transparent:\n switch (style) {\n case STYLE.light:\n return {\n color: 'text-gray-400',\n bgColor: 'bg-gray-400',\n hoverColor: 'hover:text-gray-400',\n hoverBgColor: 'hover:bg-gray-400',\n borderColor: 'border-gray-400',\n svgBgColor: '[&>svg]:bg-gray-400',\n borderHoverColor: 'hover:border-gray-400',\n svgHoverBgColor: 'hover:[&>svg]:bg-gray-400',\n }\n default:\n return {\n color: 'text-gray-500',\n bgColor: 'bg-gray-500',\n hoverColor: 'hover:text-gray-500',\n hoverBgColor: 'hover:bg-gray-500',\n borderColor: 'border-gray-500',\n svgBgColor: '[&>svg]:bg-gray-500',\n borderHoverColor: 'hover:border-gray-500',\n svgHoverBgColor: 'hover:[&>svg]:bg-gray-500',\n }\n }\n case THEME.photography:\n return {\n color: 'text-gray-500',\n bgColor: 'bg-gray-500',\n hoverColor: 'hover:text-gray-500',\n hoverBgColor: 'hover:bg-gray-500',\n borderColor: 'border-gray-500',\n svgBgColor: '[&>svg]:bg-gray-500',\n borderHoverColor: 'hover:border-gray-500',\n svgHoverBgColor: 'hover:[&>svg]:bg-gray-500',\n }\n default:\n return {\n color: 'text-gray-400',\n bgColor: 'bg-gray-400',\n hoverColor: 'hover:text-gray-400',\n hoverBgColor: 'hover:bg-gray-400',\n borderColor: 'border-gray-400',\n svgBgColor: '[&>svg]:bg-gray-400',\n borderHoverColor: 'hover:border-gray-400',\n svgHoverBgColor: 'hover:[&>svg]:bg-gray-400',\n }\n }\n }\n\n switch (theme) {\n case THEME.photography:\n switch (style) {\n case STYLE.dark:\n return {\n color: 'text-gray-white',\n bgColor: 'bg-gray-white',\n hoverColor: 'hover:text-gray-200',\n hoverBgColor: 'hover:bg-gray-200',\n borderColor: 'border-gray-white',\n svgBgColor: '[&>svg]:bg-gray-white',\n borderHoverColor: 'hover:border-gray-200',\n svgHoverBgColor: 'hover:[&>svg]:bg-gray-200',\n }\n case STYLE.light:\n return {\n color: 'text-gray-300',\n bgColor: 'bg-gray-300',\n hoverColor: 'hover:text-gray-400',\n hoverBgColor: 'hover:bg-gray-400',\n borderColor: 'border-gray-300',\n svgBgColor: '[&>svg]:bg-gray-300',\n borderHoverColor: 'hover:border-gray-400',\n svgHoverBgColor: 'hover:[&>svg]:bg-gray-400',\n }\n default:\n return {\n color: 'text-supportive-faded',\n bgColor: 'bg-supportive-faded',\n hoverColor: 'hover:text-supportive-pastel',\n hoverBgColor: 'hover:bg-supportive-pastel',\n borderColor: 'border-supportive-faded',\n svgBgColor: '[&>svg]:bg-supportive-faded',\n borderHoverColor: 'hover:border-supportive-pastel',\n svgHoverBgColor: 'hover:[&>svg]:bg-supportive-pastel',\n }\n }\n case THEME.transparent:\n switch (style) {\n case STYLE.dark:\n return {\n color: 'text-gray-300',\n bgColor: 'bg-gray-300',\n hoverColor: 'hover:text-gray-400',\n hoverBgColor: 'hover:bg-gray-400',\n borderColor: 'border-gray-300',\n svgBgColor: '[&>svg]:bg-gray-300',\n borderHoverColor: 'hover:border-gray-400',\n svgHoverBgColor: 'hover:[&>svg]:bg-gray-400',\n }\n case STYLE.light:\n return {\n color: 'text-gray-800',\n bgColor: 'bg-gray-800',\n hoverColor: 'hover:text-gray-black',\n hoverBgColor: 'hover:bg-gray-black',\n borderColor: 'border-gray-800',\n svgBgColor: '[&>svg]:bg-gray-800',\n borderHoverColor: 'hover:border-gray-black',\n svgHoverBgColor: 'hover:[&>svg]:bg-gray-black',\n }\n default:\n return {\n color: 'text-gray-white',\n bgColor: 'bg-gray-white',\n hoverColor: 'hover:text-gray-200',\n hoverBgColor: 'hover:bg-gray-200',\n borderColor: 'border-gray-white',\n svgBgColor: '[&>svg]:bg-gray-white',\n borderHoverColor: 'hover:border-gray-200',\n svgHoverBgColor: 'hover:[&>svg]:bg-gray-200',\n }\n }\n default:\n switch (style) {\n case STYLE.dark:\n return {\n color: 'text-gray-800',\n bgColor: 'bg-gray-800',\n hoverColor: 'hover:text-gray-black',\n hoverBgColor: 'hover:bg-gray-black',\n borderColor: 'border-gray-800',\n svgBgColor: '[&>svg]:bg-gray-800',\n borderHoverColor: 'hover:border-gray-black',\n svgHoverBgColor: 'hover:[&>svg]:bg-gray-black',\n }\n case STYLE.light:\n return {\n color: 'text-gray-800',\n bgColor: 'bg-gray-white',\n hoverColor: 'hover:text-gray-800',\n hoverBgColor: 'hover:bg-gray-200',\n borderColor: 'border-gray-white',\n svgBgColor: '[&>svg]:bg-gray-800',\n borderHoverColor: 'hover:border-gray-200',\n svgHoverBgColor: 'hover:[&>svg]:bg-gray-800',\n }\n default:\n return {\n color: 'text-brand-heavy',\n bgColor: 'bg-brand-heavy',\n hoverColor: 'hover:text-brand-dark',\n hoverBgColor: 'hover:bg-brand-dark',\n borderColor: 'border-brand-heavy',\n svgBgColor: '[&>svg]:bg-brand-heavy',\n borderHoverColor: 'hover:border-brand-dark',\n svgHoverBgColor: 'hover:[&>svg]:bg-brand-dark',\n }\n }\n }\n}\n","import { useMemo, type FC } from 'react'\nimport clsx from 'clsx'\n// text\nimport { P1, P2 } from '../../../text/paragraph'\n// constants\nimport {\n SIZE,\n type Size,\n STYLE,\n type Style,\n TYPE,\n type Type,\n} from '../../constants'\nimport { THEME, type Theme } from '../../../constants/theme'\n// theme\nimport { getFilledPillButtonTheme, getOutlinePillButtonTheme } from './theme'\n\ntype PillButtonProps = {\n text?: string\n leftIconComponent?: React.ReactElement\n rightIconComponent?: React.ReactElement\n size?: Size\n theme?: Theme\n type?: Type\n style?: Style\n disabled?: boolean\n loading?: boolean\n className?: string\n}\nconst PillButton: FC<PillButtonProps> & {\n Theme: typeof THEME\n Type: typeof TYPE\n Size: typeof SIZE\n Style: typeof STYLE\n} = ({\n text = '',\n leftIconComponent = null,\n rightIconComponent = null,\n size = SIZE.s,\n theme = THEME.normal,\n type = TYPE.primary,\n style = STYLE.brand,\n disabled = false,\n loading = false,\n className = '',\n}) => {\n const themeFunc =\n type === TYPE.primary ? getFilledPillButtonTheme : getOutlinePillButtonTheme\n const {\n color,\n bgColor,\n hoverColor,\n hoverBgColor,\n borderColor,\n svgBgColor,\n borderHoverColor,\n svgHoverBgColor,\n } = themeFunc(theme, disabled, style)\n\n const padding = size === SIZE.s ? 'py-[4px] px-[12px]' : 'py-[8px] px-[16px]'\n const iconSize =\n size === SIZE.s\n ? '[&>svg]:h-[18px] [&>svg]:w-[18px]'\n : '[&>svg]:h-[24px] [&>svg]:w-[24px]'\n\n const TextJSX = useMemo(\n () =>\n size === SIZE.s ? (\n <P2 text={text} weight={P2.Weight.bold} />\n ) : (\n <P1 text={text} weight={P1.Weight.bold} />\n ),\n [size, text]\n )\n\n return (\n <div\n className={clsx(\n 'w-fit flex items-center rounded-[40px] border-solid border-[1.5px]',\n borderColor,\n color,\n padding,\n disabled || loading ? 'cursor-not-allowed' : 'cursor-pointer',\n type === TYPE.primary ? bgColor : 'bg-transparent',\n iconSize,\n svgBgColor,\n hoverColor,\n type === TYPE.primary ? hoverBgColor : 'bg-transparent',\n borderHoverColor,\n svgHoverBgColor,\n className\n )}\n >\n <div className=\"relative flex justify-center items-center\">\n <div\n className={clsx('flex justify-center items-center', {\n 'opacity-0': loading,\n 'opacity-100': !loading,\n })}\n >\n <div className=\"flex items-center mr-[4px]\">{leftIconComponent}</div>\n {TextJSX}\n <div className=\"flex items-center ml-[4px]\">{rightIconComponent}</div>\n </div>\n <span\n className={clsx(\n 'inline-block absolute box-border animate-spin',\n 'border-2 border-solid border-gray-400 border-t-gray-600 rounded-[50%]',\n {\n 'size-[18px]': size === SIZE.s,\n 'size-[24px]': size === SIZE.l,\n },\n {\n 'opacity-0': !loading,\n 'opacity-100': loading,\n }\n )}\n />\n </div>\n </div>\n )\n}\nPillButton.Theme = THEME\nPillButton.Type = TYPE\nPillButton.Size = SIZE\nPillButton.Style = STYLE\n\nexport default PillButton\n","import TextButton from './components/text-button'\nimport IconButton from './components/icon-button'\nimport MenuButton from './components/menu-button'\nimport PillButton from './components/pill-button'\n\nexport { TextButton, IconButton, MenuButton, PillButton }\n\nexport default { TextButton, IconButton, MenuButton, PillButton }\n"],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ //#region rolldown:runtime
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __commonJS = (cb, mod) => function() {
9
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
13
+ key = keys[i];
14
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
15
+ get: ((k) => from[k]).bind(null, key),
16
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
+ });
18
+ }
19
+ return to;
20
+ };
21
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
22
+ value: mod,
23
+ enumerable: true
24
+ }) : target, mod));
25
+
26
+ //#endregion
27
+
28
+ Object.defineProperty(exports, '__commonJS', {
29
+ enumerable: true,
30
+ get: function () {
31
+ return __commonJS;
32
+ }
33
+ });
34
+ Object.defineProperty(exports, '__toESM', {
35
+ enumerable: true,
36
+ get: function () {
37
+ return __toESM;
38
+ }
39
+ });
@@ -0,0 +1,16 @@
1
+ //#region src/constants/external-links.d.ts
2
+ declare const EXTERNAL_LINKS: {
3
+ readonly monthlyDonation: "https://www.twreporter.org/donation/period";
4
+ readonly onceDonation: "https://www.twreporter.org/donation/one-time";
5
+ readonly openLab: "https://medium.com/twreporter";
6
+ readonly facebook: "https://www.facebook.com/twreporter/";
7
+ readonly instagram: "https://www.instagram.com/twreporter/";
8
+ readonly twitter: "https://twitter.com/tw_reporter_org";
9
+ readonly youtube: "https://www.youtube.com/c/TwreporterOrg";
10
+ readonly kidsReporter: "https://kids.twreporter.org/";
11
+ readonly publicationAndMerchandise: "https://twreporter.waca.ec/";
12
+ readonly lawmaker: "https://lawmaker.twreporter.org/";
13
+ };
14
+ //#endregion
15
+ export { EXTERNAL_LINKS };
16
+ //# sourceMappingURL=external-links.d.mts.map