@twreporter/react-typescript-components 0.1.0-beta.6 → 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 (367) 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 -161
  9. package/lib/button/index.mjs +7 -8
  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 +989 -3
  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 +132 -358
  205. package/lib/title-bar/index.js.map +1 -1
  206. package/lib/title-bar/index.mjs +140 -24
  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 -156
  218. package/lib/button/components/text-button/index.js.map +0 -1
  219. package/lib/button/components/text-button/index.mjs +0 -7
  220. package/lib/button/components/text-button/index.mjs.map +0 -1
  221. package/lib/button/constant.d.mts +0 -11
  222. package/lib/button/constant.d.ts +0 -11
  223. package/lib/button/constant.js +0 -13
  224. package/lib/button/constant.js.map +0 -1
  225. package/lib/button/constant.mjs +0 -3
  226. package/lib/button/constant.mjs.map +0 -1
  227. package/lib/button/enum.d.mts +0 -11
  228. package/lib/button/enum.d.ts +0 -11
  229. package/lib/button/enum.js +0 -19
  230. package/lib/button/enum.js.map +0 -1
  231. package/lib/button/enum.mjs +0 -3
  232. package/lib/button/enum.mjs.map +0 -1
  233. package/lib/button/index.js.map +0 -1
  234. package/lib/button/index.mjs.map +0 -1
  235. package/lib/button/stories/text-button.stories.d.mts +0 -55
  236. package/lib/button/stories/text-button.stories.d.ts +0 -55
  237. package/lib/button/stories/text-button.stories.js +0 -206
  238. package/lib/button/stories/text-button.stories.js.map +0 -1
  239. package/lib/button/stories/text-button.stories.mjs +0 -34
  240. package/lib/button/stories/text-button.stories.mjs.map +0 -1
  241. package/lib/chunk-6DXA3EX7.mjs +0 -35
  242. package/lib/chunk-6DXA3EX7.mjs.map +0 -1
  243. package/lib/chunk-7DK5MO62.mjs +0 -8
  244. package/lib/chunk-7DK5MO62.mjs.map +0 -1
  245. package/lib/chunk-CZVB2Y6O.mjs +0 -27
  246. package/lib/chunk-CZVB2Y6O.mjs.map +0 -1
  247. package/lib/chunk-GQWO45DN.mjs +0 -32
  248. package/lib/chunk-GQWO45DN.mjs.map +0 -1
  249. package/lib/chunk-GRCEZABQ.mjs +0 -38
  250. package/lib/chunk-GRCEZABQ.mjs.map +0 -1
  251. package/lib/chunk-HQG6Q2EY.mjs +0 -42
  252. package/lib/chunk-HQG6Q2EY.mjs.map +0 -1
  253. package/lib/chunk-JB4TYHDE.mjs +0 -11
  254. package/lib/chunk-JB4TYHDE.mjs.map +0 -1
  255. package/lib/chunk-JFT6JILC.mjs +0 -12
  256. package/lib/chunk-JFT6JILC.mjs.map +0 -1
  257. package/lib/chunk-JHLT5GDV.mjs +0 -50
  258. package/lib/chunk-JHLT5GDV.mjs.map +0 -1
  259. package/lib/chunk-QE5LVT7A.mjs +0 -90
  260. package/lib/chunk-QE5LVT7A.mjs.map +0 -1
  261. package/lib/chunk-QOLETTSG.mjs +0 -28
  262. package/lib/chunk-QOLETTSG.mjs.map +0 -1
  263. package/lib/chunk-R4F4LGAY.mjs +0 -56
  264. package/lib/chunk-R4F4LGAY.mjs.map +0 -1
  265. package/lib/chunk-UM7RNC2Y.mjs +0 -14
  266. package/lib/chunk-UM7RNC2Y.mjs.map +0 -1
  267. package/lib/chunk-URJXIWFX.mjs +0 -16
  268. package/lib/chunk-URJXIWFX.mjs.map +0 -1
  269. package/lib/chunk-X2UWIBNH.mjs +0 -16
  270. package/lib/chunk-X2UWIBNH.mjs.map +0 -1
  271. package/lib/chunk-XO7SDD7W.mjs +0 -17
  272. package/lib/chunk-XO7SDD7W.mjs.map +0 -1
  273. package/lib/customized-link/external-link.js.map +0 -1
  274. package/lib/customized-link/external-link.mjs.map +0 -1
  275. package/lib/customized-link/index.js.map +0 -1
  276. package/lib/customized-link/index.mjs.map +0 -1
  277. package/lib/customized-link/internal-link.js.map +0 -1
  278. package/lib/customized-link/internal-link.mjs.map +0 -1
  279. package/lib/customized-link/type.js.map +0 -1
  280. package/lib/customized-link/type.mjs.map +0 -1
  281. package/lib/storybook/utils/get-enum-arg.d.mts +0 -19
  282. package/lib/storybook/utils/get-enum-arg.d.ts +0 -19
  283. package/lib/storybook/utils/get-enum-arg.js +0 -31
  284. package/lib/storybook/utils/get-enum-arg.js.map +0 -1
  285. package/lib/storybook/utils/get-enum-arg.mjs +0 -3
  286. package/lib/storybook/utils/get-enum-arg.mjs.map +0 -1
  287. package/lib/styles.css.map +0 -1
  288. package/lib/styles.d.mts +0 -2
  289. package/lib/styles.d.ts +0 -2
  290. package/lib/text/enum/index.d.mts +0 -15
  291. package/lib/text/enum/index.d.ts +0 -15
  292. package/lib/text/enum/index.js +0 -17
  293. package/lib/text/enum/index.js.map +0 -1
  294. package/lib/text/enum/index.mjs +0 -3
  295. package/lib/text/enum/index.mjs.map +0 -1
  296. package/lib/text/heading.js.map +0 -1
  297. package/lib/text/heading.mjs.map +0 -1
  298. package/lib/text/paragraph.js.map +0 -1
  299. package/lib/text/paragraph.mjs.map +0 -1
  300. package/lib/text/stories/heading.stories.d.mts +0 -35
  301. package/lib/text/stories/heading.stories.d.ts +0 -35
  302. package/lib/text/stories/heading.stories.js +0 -131
  303. package/lib/text/stories/heading.stories.js.map +0 -1
  304. package/lib/text/stories/heading.stories.mjs +0 -50
  305. package/lib/text/stories/heading.stories.mjs.map +0 -1
  306. package/lib/text/stories/paragraph.stories.d.mts +0 -33
  307. package/lib/text/stories/paragraph.stories.d.ts +0 -33
  308. package/lib/text/stories/paragraph.stories.js +0 -108
  309. package/lib/text/stories/paragraph.stories.js.map +0 -1
  310. package/lib/text/stories/paragraph.stories.mjs +0 -40
  311. package/lib/text/stories/paragraph.stories.mjs.map +0 -1
  312. package/lib/title-bar/components/title-tab/hook.d.mts +0 -5
  313. package/lib/title-bar/components/title-tab/hook.d.ts +0 -5
  314. package/lib/title-bar/components/title-tab/hook.js +0 -34
  315. package/lib/title-bar/components/title-tab/hook.js.map +0 -1
  316. package/lib/title-bar/components/title-tab/hook.mjs +0 -3
  317. package/lib/title-bar/components/title-tab/hook.mjs.map +0 -1
  318. package/lib/title-bar/components/title-tab/index.d.mts +0 -11
  319. package/lib/title-bar/components/title-tab/index.d.ts +0 -11
  320. package/lib/title-bar/components/title-tab/index.js +0 -321
  321. package/lib/title-bar/components/title-tab/index.js.map +0 -1
  322. package/lib/title-bar/components/title-tab/index.mjs +0 -15
  323. package/lib/title-bar/components/title-tab/index.mjs.map +0 -1
  324. package/lib/title-bar/components/title-tab/tab-item.d.mts +0 -10
  325. package/lib/title-bar/components/title-tab/tab-item.d.ts +0 -10
  326. package/lib/title-bar/components/title-tab/tab-item.js +0 -204
  327. package/lib/title-bar/components/title-tab/tab-item.js.map +0 -1
  328. package/lib/title-bar/components/title-tab/tab-item.mjs +0 -12
  329. package/lib/title-bar/components/title-tab/tab-item.mjs.map +0 -1
  330. package/lib/title-bar/components/title-tab/type.d.mts +0 -8
  331. package/lib/title-bar/components/title-tab/type.d.ts +0 -8
  332. package/lib/title-bar/components/title-tab/type.js +0 -4
  333. package/lib/title-bar/components/title-tab/type.js.map +0 -1
  334. package/lib/title-bar/components/title-tab/type.mjs +0 -3
  335. package/lib/title-bar/components/title-tab/type.mjs.map +0 -1
  336. package/lib/title-bar/components/title1.d.mts +0 -10
  337. package/lib/title-bar/components/title1.d.ts +0 -10
  338. package/lib/title-bar/components/title1.js +0 -123
  339. package/lib/title-bar/components/title1.js.map +0 -1
  340. package/lib/title-bar/components/title1.mjs +0 -6
  341. package/lib/title-bar/components/title1.mjs.map +0 -1
  342. package/lib/title-bar/components/title2.d.mts +0 -11
  343. package/lib/title-bar/components/title2.d.ts +0 -11
  344. package/lib/title-bar/components/title2.js +0 -131
  345. package/lib/title-bar/components/title2.js.map +0 -1
  346. package/lib/title-bar/components/title2.mjs +0 -6
  347. package/lib/title-bar/components/title2.mjs.map +0 -1
  348. package/lib/title-bar/stories/title-tab.stories.d.mts +0 -17
  349. package/lib/title-bar/stories/title-tab.stories.d.ts +0 -17
  350. package/lib/title-bar/stories/title-tab.stories.js +0 -345
  351. package/lib/title-bar/stories/title-tab.stories.js.map +0 -1
  352. package/lib/title-bar/stories/title-tab.stories.mjs +0 -38
  353. package/lib/title-bar/stories/title-tab.stories.mjs.map +0 -1
  354. package/lib/title-bar/stories/title1.stories.d.mts +0 -18
  355. package/lib/title-bar/stories/title1.stories.d.ts +0 -18
  356. package/lib/title-bar/stories/title1.stories.js +0 -155
  357. package/lib/title-bar/stories/title1.stories.js.map +0 -1
  358. package/lib/title-bar/stories/title1.stories.mjs +0 -35
  359. package/lib/title-bar/stories/title1.stories.mjs.map +0 -1
  360. package/lib/title-bar/stories/title2.stories.d.mts +0 -18
  361. package/lib/title-bar/stories/title2.stories.d.ts +0 -18
  362. package/lib/title-bar/stories/title2.stories.js +0 -258
  363. package/lib/title-bar/stories/title2.stories.js.map +0 -1
  364. package/lib/title-bar/stories/title2.stories.mjs +0 -37
  365. package/lib/title-bar/stories/title2.stories.mjs.map +0 -1
  366. package/lib/types/index.js.map +0 -1
  367. package/lib/types/index.mjs.map +0 -1
@@ -1,379 +1,153 @@
1
- 'use strict';
2
-
3
1
  Object.defineProperty(exports, '__esModule', { value: true });
2
+ const require_chunk = require('../chunk-BxBTb9qk.js');
3
+ require('../constants-BmxSMOOn.js');
4
+ require('../constants-K2ObjToq.js');
5
+ const require_paragraph = require('../paragraph-CJvb0_cM.js');
6
+ require('../theme-DDBlIbeS.js');
7
+ const require_button = require('../button-CO0UXA6C.js');
8
+ const require_external_link = require('../external-link-BMrkjNyi.js');
9
+ const require_internal_link = require('../internal-link-BLXTBMRq.js');
10
+ require('../customized-link-XNoMkeYw.js');
11
+ const require_heading = require('../heading-B_pZSTvs.js');
12
+ let react = require("react");
13
+ react = require_chunk.__toESM(react);
14
+ let clsx = require("clsx");
15
+ clsx = require_chunk.__toESM(clsx);
16
+ let react_jsx_runtime = require("react/jsx-runtime");
17
+ react_jsx_runtime = require_chunk.__toESM(react_jsx_runtime);
4
18
 
5
- var clsx3 = require('clsx');
6
- var React = require('react');
7
- var jsxRuntime = require('react/jsx-runtime');
8
- var Link = require('next/link');
9
-
10
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
11
-
12
- var clsx3__default = /*#__PURE__*/_interopDefault(clsx3);
13
- var React__default = /*#__PURE__*/_interopDefault(React);
14
- var Link__default = /*#__PURE__*/_interopDefault(Link);
15
-
16
- // src/title-bar/components/title2.tsx
17
-
18
- // src/text/enum/index.ts
19
- var TYPE = {
20
- default: "default",
21
- article: "article"
22
- };
23
- var WEIGHT = {
24
- extraLight: "extra-light",
25
- normal: "normal",
26
- bold: "bold"
27
- };
28
-
29
- // src/text/heading.tsx
30
- var baseClass = "font-bold";
31
- var variantClass = {
32
- H1: "text-[28px] leading-[125%] tablet:text-[36px]",
33
- H2: "text-[24px] leading-[125%] tablet:text-[32px]",
34
- H3: "text-[22px] leading-[150%] tablet:text-[28px]",
35
- H4: "text-[18px] leading-[150%] tablet:text-[22px]",
36
- H5: "text-[17px] leading-[150%] tablet:text-[18px]",
37
- H6: "text-[16px] leading-[150%] tablet:text-[16px]"
38
- };
39
- var HeadingVariant = (variant) => {
40
- const Component = ({
41
- text = "",
42
- type = TYPE.default,
43
- className = "",
44
- ...props
45
- }) => {
46
- const htmlTag = variant.toLowerCase();
47
- const fontFamily = type === TYPE.article ? "font-title" : "font-default";
48
- return React__default.default.createElement(
49
- htmlTag,
50
- {
51
- className: clsx3__default.default(
52
- fontFamily,
53
- baseClass,
54
- variantClass[variant],
55
- className
56
- ),
57
- ...props
58
- },
59
- text
60
- );
61
- };
62
- Component.displayName = variant;
63
- Component.Type = TYPE;
64
- return Component;
65
- };
66
- var H1 = HeadingVariant("H1");
67
- var H2 = HeadingVariant("H2");
68
- HeadingVariant("H3");
69
- HeadingVariant("H4");
70
- var H5 = HeadingVariant("H5");
71
- HeadingVariant("H6");
72
- var baseClass2 = "font-default leading-[150%] flex items-center m-0";
73
- var variantClass2 = {
74
- P1: "text-[16px]",
75
- P2: "text-[14px]",
76
- P3: "text-[12px]",
77
- P4: "text-[10px]"
78
- };
79
- var ParagraphVariant = (variant) => {
80
- const Component = ({
81
- text = "",
82
- weight = WEIGHT.normal,
83
- className = "",
84
- ...props
85
- }) => /* @__PURE__ */ jsxRuntime.jsx(
86
- "p",
87
- {
88
- className: clsx3__default.default(
89
- baseClass2,
90
- variantClass2[variant],
91
- `font-${weight}`,
92
- className
93
- ),
94
- ...props,
95
- children: text
96
- }
97
- );
98
- Component.displayName = variant;
99
- Component.Weight = WEIGHT;
100
- return Component;
101
- };
102
- var P1 = ParagraphVariant("P1");
103
- var P2 = ParagraphVariant("P2");
104
- ParagraphVariant("P3");
105
- ParagraphVariant("P4");
106
- var Title2 = ({
107
- title,
108
- subtitle = "",
109
- renderButton = null,
110
- className = ""
111
- }) => {
112
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx3__default.default("flex justify-between flex-col", className), children: [
113
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-row justify-between", children: [
114
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx3__default.default("flex items-baseline gap-[16px]"), children: [
115
- /* @__PURE__ */ jsxRuntime.jsx(H5, { className: "text-gray-800", text: title }),
116
- subtitle ? /* @__PURE__ */ jsxRuntime.jsx(P2, { className: "text-gray-600", text: subtitle }) : null
117
- ] }),
118
- renderButton || null
119
- ] }),
120
- /* @__PURE__ */ jsxRuntime.jsx(
121
- "div",
122
- {
123
- className: clsx3__default.default(
124
- "w-full h-[1px] bg-gray-800 mt-[8px]",
125
- "desktop:mt-[16px]"
126
- )
127
- }
128
- )
129
- ] });
19
+ //#region src/title-bar/components/title2.tsx
20
+ const Title2 = ({ title, subtitle = "", renderButton = null, className = "" }) => {
21
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
22
+ className: (0, clsx.default)("flex justify-between flex-col", className),
23
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
24
+ className: "flex flex-row justify-between",
25
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
26
+ className: (0, clsx.default)("flex items-baseline gap-[16px]"),
27
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_heading.H5, {
28
+ className: "text-gray-800",
29
+ text: title
30
+ }), subtitle ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_paragraph.P2, {
31
+ className: "text-gray-600",
32
+ text: subtitle
33
+ }) : null]
34
+ }), renderButton || null]
35
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: (0, clsx.default)("w-full h-[1px] bg-gray-800 mt-[8px]", "desktop:mt-[16px]") })]
36
+ });
130
37
  };
131
38
  var title2_default = Title2;
132
- var Title1 = ({ title, subtitle = "", className = "" }) => {
133
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx3__default.default("flex justify-between flex-col", className), children: [
134
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx3__default.default("flex items-baseline gap-[16px]"), children: [
135
- /* @__PURE__ */ jsxRuntime.jsx(H2, { className: "text-gray-800", text: title }),
136
- subtitle ? /* @__PURE__ */ jsxRuntime.jsx(P1, { className: "text-gray-600", text: subtitle }) : null
137
- ] }),
138
- /* @__PURE__ */ jsxRuntime.jsx(
139
- "div",
140
- {
141
- className: clsx3__default.default(
142
- "w-full h-[1px] bg-gray-800 mt-[8px]",
143
- "desktop:mt-[16px]"
144
- )
145
- }
146
- )
147
- ] });
39
+
40
+ //#endregion
41
+ //#region src/title-bar/components/title1.tsx
42
+ const Title1 = ({ title, subtitle = "", className = "" }) => {
43
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
44
+ className: (0, clsx.default)("flex justify-between flex-col", className),
45
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
46
+ className: (0, clsx.default)("flex items-baseline gap-[16px]"),
47
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_heading.H2, {
48
+ className: "text-gray-800",
49
+ text: title
50
+ }), subtitle ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_paragraph.P1, {
51
+ className: "text-gray-600",
52
+ text: subtitle
53
+ }) : null]
54
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: (0, clsx.default)("w-full h-[1px] bg-gray-300 mt-[8px]", "desktop:mt-[16px]") })]
55
+ });
148
56
  };
149
57
  var title1_default = Title1;
150
- var useScrollStatus = (setShowNext) => {
151
- const ref = React.useRef(null);
152
- React.useEffect(() => {
153
- if (!ref.current) return;
154
- if (ref.current.scrollWidth > ref.current.clientWidth) {
155
- setShowNext(true);
156
- }
157
- }, [setShowNext]);
158
- React.useEffect(() => {
159
- if (!ref.current) return;
160
- const refEle = ref.current;
161
- const handleScroll = () => {
162
- if (refEle.offsetWidth + refEle.scrollLeft >= refEle.scrollWidth) {
163
- setShowNext(false);
164
- } else {
165
- setShowNext(true);
166
- }
167
- };
168
- refEle.addEventListener("scroll", handleScroll);
169
- return () => {
170
- refEle.removeEventListener("scroll", handleScroll);
171
- };
172
- }, [setShowNext]);
173
- return ref;
174
- };
175
- var ExternalLink = ({
176
- to,
177
- target = "_self",
178
- className = "",
179
- children
180
- }) => {
181
- return /* @__PURE__ */ jsxRuntime.jsx("a", { href: to, target, className, children });
182
- };
183
- var external_link_default = ExternalLink;
184
- var InternalLink = ({
185
- to,
186
- target = "_self",
187
- className = "",
188
- children
189
- }) => {
190
- return /* @__PURE__ */ jsxRuntime.jsx(Link__default.default, { href: to, target, className, children });
191
- };
192
- var internal_link_default = InternalLink;
193
-
194
- // src/button/enum.ts
195
- var Size = /* @__PURE__ */ ((Size2) => {
196
- Size2[Size2["S"] = 0] = "S";
197
- Size2[Size2["L"] = 1] = "L";
198
- return Size2;
199
- })(Size || {});
200
- var Style = /* @__PURE__ */ ((Style2) => {
201
- Style2[Style2["BRAND"] = 0] = "BRAND";
202
- Style2[Style2["DARK"] = 1] = "DARK";
203
- Style2[Style2["LIGHT"] = 2] = "LIGHT";
204
- return Style2;
205
- })(Style || {});
206
58
 
207
- // src/button/constant.ts
208
- var THEME = {
209
- normal: "normal",
210
- photography: "photography",
211
- transparent: "transparent",
212
- index: "index"
213
- };
214
- var TextButton = ({
215
- text,
216
- leftIconComponent,
217
- rightIconComponent,
218
- size = 0 /* S */,
219
- theme = THEME.normal,
220
- style = 1 /* DARK */,
221
- active = false,
222
- disabled = false,
223
- loading = false,
224
- className = ""
225
- }) => {
226
- const TextJSX = React.useMemo(
227
- () => size === 0 /* S */ ? /* @__PURE__ */ jsxRuntime.jsx(P2, { text }) : /* @__PURE__ */ jsxRuntime.jsx(P1, { text }),
228
- [size, text]
229
- );
230
- return /* @__PURE__ */ jsxRuntime.jsx(
231
- "div",
232
- {
233
- className: clsx3__default.default(
234
- "flex items-center",
235
- {
236
- "cursor-default": disabled,
237
- "cursor-pointer": !disabled
238
- },
239
- {
240
- "text-gray-500 hover:text-gray-500": disabled && (theme === THEME.photography || theme === THEME.transparent),
241
- "text-gray-400 hover:text-gray-400": disabled || theme === THEME.photography && style === 2 /* LIGHT */ && !active && !disabled,
242
- "text-gray-200 hover:text-supportive-pastel": theme === THEME.photography && !active && !disabled,
243
- "text-gray-300 hover:text-gray-400": theme === THEME.photography && style === 2 /* LIGHT */ && active && !disabled,
244
- "text-gray-white hover:text-supportive-pastel": theme === THEME.photography && style === 1 /* DARK */ && active && !disabled,
245
- "text-supportive-faded hover:text-supportive-pastel": theme === THEME.photography && style === 0 /* BRAND */ && active && !disabled,
246
- "text-gray-100 hover:text-gray-200": theme === THEME.transparent && !active && !disabled,
247
- "text-gray-white hover:text-gray-white": theme === THEME.transparent && active && !disabled,
248
- "text-gray-600 hover:text-brand-heavy": theme === THEME.normal && !active && !disabled,
249
- "text-brand-heavy hover:text-brand-heavy": theme === THEME.normal && active && !disabled
250
- },
251
- className
252
- ),
253
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative flex justify-center items-center", children: [
254
- /* @__PURE__ */ jsxRuntime.jsxs(
255
- "div",
256
- {
257
- className: clsx3__default.default("flex justify-center items-center", {
258
- "opacity-0": loading,
259
- "opacity-100": !loading
260
- }),
261
- children: [
262
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center mr-[4px]", children: leftIconComponent }),
263
- TextJSX,
264
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center ml-[4px]", children: rightIconComponent })
265
- ]
266
- }
267
- ),
268
- /* @__PURE__ */ jsxRuntime.jsx(
269
- "span",
270
- {
271
- className: clsx3__default.default(
272
- "inline-block absolute box-border animation-spin",
273
- "border-2 border-solid border-gray-400 border-t-gray-600 rounded-[50%]",
274
- {
275
- "size-[18px]": size === 0 /* S */,
276
- "size-[24px]": size === 1 /* L */
277
- },
278
- {
279
- "opacity-0": !loading,
280
- "opacity-100": loading
281
- }
282
- )
283
- }
284
- )
285
- ] })
286
- }
287
- );
59
+ //#endregion
60
+ //#region src/title-bar/components/title-tab/hook.ts
61
+ const useScrollStatus = (setShowNext) => {
62
+ const ref = (0, react.useRef)(null);
63
+ (0, react.useEffect)(() => {
64
+ if (!ref.current) return;
65
+ if (ref.current.scrollWidth > ref.current.clientWidth) setShowNext(true);
66
+ }, [setShowNext]);
67
+ (0, react.useEffect)(() => {
68
+ if (!ref.current) return;
69
+ const refEle = ref.current;
70
+ const handleScroll = () => {
71
+ if (refEle.offsetWidth + refEle.scrollLeft >= refEle.scrollWidth) setShowNext(false);
72
+ else setShowNext(true);
73
+ };
74
+ refEle.addEventListener("scroll", handleScroll);
75
+ return () => {
76
+ refEle.removeEventListener("scroll", handleScroll);
77
+ };
78
+ }, [setShowNext]);
79
+ return ref;
288
80
  };
289
- TextButton.Size = Size;
290
- TextButton.Style = Style;
291
- TextButton.THEME = THEME;
292
- var text_button_default = TextButton;
293
- var TabItem = ({
294
- text,
295
- link,
296
- isExternal = false,
297
- isActive = false,
298
- onClick,
299
- className = ""
300
- }) => {
301
- const CustomizedLink = isExternal ? external_link_default : internal_link_default;
302
- return /* @__PURE__ */ jsxRuntime.jsx(
303
- "button",
304
- {
305
- className: clsx3__default.default("flex shrink-0 mr-[24px] last:mr-0", className),
306
- onClick,
307
- type: "button",
308
- children: /* @__PURE__ */ jsxRuntime.jsx(CustomizedLink, { to: link, children: /* @__PURE__ */ jsxRuntime.jsx(
309
- text_button_default,
310
- {
311
- text,
312
- active: isActive,
313
- size: text_button_default.Size.L,
314
- className: "py-[16px]"
315
- }
316
- ) })
317
- }
318
- );
81
+
82
+ //#endregion
83
+ //#region src/title-bar/components/title-tab/tab-item.tsx
84
+ const TabItem = ({ text, link, isExternal = false, isActive = false, onClick, className = "" }) => {
85
+ const CustomizedLink = isExternal ? require_external_link.external_link_default : require_internal_link.internal_link_default;
86
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
87
+ className: (0, clsx.default)("flex shrink-0 mr-[24px] last:mr-0", className),
88
+ onClick,
89
+ type: "button",
90
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CustomizedLink, {
91
+ to: link,
92
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.text_button_default, {
93
+ text,
94
+ active: isActive,
95
+ size: require_button.text_button_default.Size.l,
96
+ className: "py-[16px]"
97
+ })
98
+ })
99
+ });
319
100
  };
320
101
  var tab_item_default = TabItem;
321
- var TitleTab = ({
322
- title,
323
- tabs = [],
324
- activeTabIndex = 0
325
- }) => {
326
- const [activeIndex, setActiveIndex] = React.useState(activeTabIndex);
327
- const [showGradientMask, setShowGradientMask] = React.useState(false);
328
- const ref = useScrollStatus(setShowGradientMask);
329
- React.useEffect(() => {
330
- setActiveIndex(activeTabIndex);
331
- }, [activeTabIndex]);
332
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col w-full text-gray-800", children: [
333
- /* @__PURE__ */ jsxRuntime.jsx(H1, { text: title }),
334
- tabs.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
335
- "div",
336
- {
337
- ref,
338
- className: clsx3__default.default(
339
- "flex items-center",
340
- "overflow-x-scroll scrollbar:!w-0",
341
- {
342
- "[mask-image:linear-gradient(to_left,rgba(241,241,241,0),#f1f1f1_48px)] [-webkit-mask-image:linear-gradient(to_left,rgba(241,241,241,0),#f1f1f1_48px)]": showGradientMask
343
- }
344
- ),
345
- children: tabs.map((tab, index) => {
346
- const tabProps = { ...tab, isActive: index === activeIndex };
347
- const handleClick = () => {
348
- setActiveIndex(index);
349
- };
350
- return /* @__PURE__ */ React.createElement(tab_item_default, { ...tabProps, key: `tab-${tab.text}-${index}`, onClick: handleClick });
351
- })
352
- }
353
- ) : null,
354
- /* @__PURE__ */ jsxRuntime.jsx(
355
- "div",
356
- {
357
- className: clsx3__default.default(
358
- "w-full h-[1px] bg-gray-300 mt-[0px]",
359
- "desktop:mt-[0px]"
360
- )
361
- }
362
- )
363
- ] });
102
+
103
+ //#endregion
104
+ //#region src/title-bar/components/title-tab/index.tsx
105
+ const TitleTab = ({ title, tabs = [], activeTabIndex = 0 }) => {
106
+ const [activeIndex, setActiveIndex] = (0, react.useState)(activeTabIndex);
107
+ const [showGradientMask, setShowGradientMask] = (0, react.useState)(false);
108
+ const ref = useScrollStatus(setShowGradientMask);
109
+ (0, react.useEffect)(() => {
110
+ setActiveIndex(activeTabIndex);
111
+ }, [activeTabIndex]);
112
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
113
+ className: "flex flex-col w-full text-gray-800",
114
+ children: [
115
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_heading.H1, { text: title }),
116
+ tabs.length > 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
117
+ ref,
118
+ className: (0, clsx.default)("flex items-center", "overflow-x-scroll scrollbar:!w-0", { "[mask-image:linear-gradient(to_left,rgba(241,241,241,0),#f1f1f1_48px)] [-webkit-mask-image:linear-gradient(to_left,rgba(241,241,241,0),#f1f1f1_48px)]": showGradientMask }),
119
+ children: tabs.map((tab, index) => {
120
+ const tabProps = {
121
+ ...tab,
122
+ isActive: index === activeIndex
123
+ };
124
+ const handleClick = () => {
125
+ setActiveIndex(index);
126
+ };
127
+ return /* @__PURE__ */ (0, react.createElement)(tab_item_default, {
128
+ ...tabProps,
129
+ key: `tab-${tab.text}-${index}`,
130
+ onClick: handleClick
131
+ });
132
+ })
133
+ }) : null,
134
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: (0, clsx.default)("w-full h-[1px] bg-gray-300 mt-[0px]", "desktop:mt-[0px]") })
135
+ ]
136
+ });
364
137
  };
365
138
  var title_tab_default = TitleTab;
366
139
 
367
- // src/title-bar/index.ts
140
+ //#endregion
141
+ //#region src/title-bar/index.ts
368
142
  var title_bar_default = {
369
- Title2: title2_default,
370
- Title1: title1_default,
371
- TitleTab: title_tab_default
143
+ Title2: title2_default,
144
+ Title1: title1_default,
145
+ TitleTab: title_tab_default
372
146
  };
373
147
 
148
+ //#endregion
374
149
  exports.Title1 = title1_default;
375
150
  exports.Title2 = title2_default;
376
151
  exports.TitleTab = title_tab_default;
377
152
  exports.default = title_bar_default;
378
- //# sourceMappingURL=index.js.map
379
153
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/text/enum/index.ts","../../src/text/heading.tsx","../../src/text/paragraph.tsx","../../src/title-bar/components/title2.tsx","../../src/title-bar/components/title1.tsx","../../src/title-bar/components/title-tab/hook.ts","../../src/customized-link/external-link.tsx","../../src/customized-link/internal-link.tsx","../../src/button/enum.ts","../../src/button/constant.ts","../../src/button/components/text-button/index.tsx","../../src/title-bar/components/title-tab/tab-item.tsx","../../src/title-bar/components/title-tab/index.tsx","../../src/title-bar/index.ts"],"names":["React","clsx","baseClass","variantClass","jsx","jsxs","useRef","useEffect","Link","Size","Style","useMemo","useState","createElement"],"mappings":"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","file":"index.js","sourcesContent":["import type { ValuesOf } from '../../types'\n\nexport const TYPE = {\n default: 'default',\n article: 'article',\n} as const\n\nexport type Type = ValuesOf<typeof TYPE>\n\nexport const WEIGHT = {\n extraLight: 'extra-light',\n normal: 'normal',\n bold: 'bold',\n} as const\n\nexport type Weight = ValuesOf<typeof WEIGHT>\n","import clsx from 'clsx'\nimport React from 'react'\nimport { TYPE, type Type } from './enum'\n\ntype HeadingProps = React.HTMLAttributes<HTMLHeadingElement> & {\n text?: string\n type?: Type\n className?: string\n}\n\nconst baseClass = 'font-bold'\n\nconst variantClass = {\n H1: 'text-[28px] leading-[125%] tablet:text-[36px]',\n H2: 'text-[24px] leading-[125%] tablet:text-[32px]',\n H3: 'text-[22px] leading-[150%] tablet:text-[28px]',\n H4: 'text-[18px] leading-[150%] tablet:text-[22px]',\n H5: 'text-[17px] leading-[150%] tablet:text-[18px]',\n H6: 'text-[16px] leading-[150%] tablet:text-[16px]',\n}\n\nconst HeadingVariant = (variant: keyof typeof variantClass) => {\n const Component: React.FC<HeadingProps> & { Type: typeof TYPE } = ({\n text = '',\n type = TYPE.default,\n className = '',\n ...props\n }) => {\n const htmlTag = variant.toLowerCase() // 產生 'h1', 'h2', ...\n const fontFamily = type === TYPE.article ? 'font-title' : 'font-default'\n return React.createElement(\n htmlTag,\n {\n className: clsx(\n fontFamily,\n baseClass,\n variantClass[variant],\n className\n ),\n ...props,\n },\n text\n )\n }\n Component.displayName = variant\n Component.Type = TYPE\n return Component\n}\n\nconst H1 = HeadingVariant('H1')\nconst H2 = HeadingVariant('H2')\nconst H3 = HeadingVariant('H3')\nconst H4 = HeadingVariant('H4')\nconst H5 = HeadingVariant('H5')\nconst H6 = HeadingVariant('H6')\n\nexport { H1, H2, H3, H4, H5, H6 }\n","import clsx from 'clsx'\nimport type React from 'react'\nimport { WEIGHT, type Weight } from './enum'\n\ntype ParagraphProps = React.HTMLAttributes<HTMLParagraphElement> & {\n text?: string\n weight?: Weight\n className?: string\n}\n\nconst baseClass = 'font-default leading-[150%] flex items-center m-0'\n\nconst variantClass = {\n P1: 'text-[16px]',\n P2: 'text-[14px]',\n P3: 'text-[12px]',\n P4: 'text-[10px]',\n}\n\nconst ParagraphVariant = (variant: keyof typeof variantClass) => {\n const Component: React.FC<ParagraphProps> & { Weight: typeof WEIGHT } = ({\n text = '',\n weight = WEIGHT.normal,\n className = '',\n ...props\n }) => (\n <p\n className={clsx(\n baseClass,\n variantClass[variant],\n `font-${weight}`,\n className\n )}\n {...props}\n >\n {text}\n </p>\n )\n Component.displayName = variant\n Component.Weight = WEIGHT\n return Component\n}\n\nconst P1 = ParagraphVariant('P1')\nconst P2 = ParagraphVariant('P2')\nconst P3 = ParagraphVariant('P3')\nconst P4 = ParagraphVariant('P4')\n\nexport { P1, P2, P3, P4 }\n","import clsx from 'clsx'\nimport type React from 'react'\n// components\nimport { H5 } from '../../text/heading'\nimport { P2 } from '../../text/paragraph'\n\ntype Title2Props = {\n title: string\n subtitle?: string\n renderButton?: React.ReactNode\n className?: string\n}\n\nconst Title2: React.FC<Title2Props> = ({\n title,\n subtitle = '',\n renderButton = null,\n className = '',\n}) => {\n return (\n <div className={clsx('flex justify-between flex-col', className)}>\n <div className=\"flex flex-row justify-between\">\n <div className={clsx('flex items-baseline gap-[16px]')}>\n <H5 className=\"text-gray-800\" text={title} />\n {subtitle ? <P2 className=\"text-gray-600\" text={subtitle} /> : null}\n </div>\n {renderButton || null}\n </div>\n <div\n className={clsx(\n 'w-full h-[1px] bg-gray-800 mt-[8px]',\n 'desktop:mt-[16px]'\n )}\n />\n </div>\n )\n}\n\nexport default Title2\n","import clsx from 'clsx'\nimport type { FC } from 'react'\n// components\nimport { H2 } from '../../text/heading'\nimport { P1 } from '../../text/paragraph'\n\ntype Title1Props = {\n title: string\n subtitle?: string\n className?: string\n}\n\nconst Title1: FC<Title1Props> = ({ title, subtitle = '', className = '' }) => {\n return (\n <div className={clsx('flex justify-between flex-col', className)}>\n <div className={clsx('flex items-baseline gap-[16px]')}>\n <H2 className=\"text-gray-800\" text={title} />\n {subtitle ? <P1 className=\"text-gray-600\" text={subtitle} /> : null}\n </div>\n <div\n className={clsx(\n 'w-full h-[1px] bg-gray-800 mt-[8px]',\n 'desktop:mt-[16px]'\n )}\n />\n </div>\n )\n}\n\nexport default Title1\n","import { useRef, useEffect } from 'react'\n\nexport const useScrollStatus = (setShowNext: (show: boolean) => void) => {\n const ref = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n if (!ref.current) return\n\n if (ref.current.scrollWidth > ref.current.clientWidth) {\n // scrollbar occur\n setShowNext(true)\n }\n }, [setShowNext])\n\n useEffect(() => {\n if (!ref.current) return\n\n const refEle = ref.current\n const handleScroll: EventListener = () => {\n if (refEle.offsetWidth + refEle.scrollLeft >= refEle.scrollWidth) {\n // scroll to end\n setShowNext(false)\n } else {\n setShowNext(true)\n }\n }\n\n refEle.addEventListener('scroll', handleScroll)\n\n return () => {\n refEle.removeEventListener('scroll', handleScroll)\n }\n }, [setShowNext])\n\n return ref\n}\n","import type { FC } from 'react'\nimport type { CustomizedLinkProps } from './type'\n\ntype ExternalLinkProps = CustomizedLinkProps\nconst ExternalLink: FC<ExternalLinkProps> = ({\n to,\n target = '_self',\n className = '',\n children,\n}) => {\n return (\n <a href={to} target={target} className={className}>\n {children}\n </a>\n )\n}\n\nexport default ExternalLink\n","'use client'\n\nimport Link from 'next/link'\nimport type { FC } from 'react'\nimport type { CustomizedLinkProps } from './type'\n\ntype InternalLinkProps = CustomizedLinkProps\nconst InternalLink: FC<InternalLinkProps> = ({\n to,\n target = '_self',\n className = '',\n children,\n}) => {\n return (\n <Link href={to} target={target} className={className}>\n {children}\n </Link>\n )\n}\n\nexport default InternalLink\n","export enum Size {\n S,\n L,\n}\n\nexport enum Style {\n BRAND,\n DARK,\n LIGHT,\n}\n","import type { ValuesOf } from '../types'\n\nexport const THEME = {\n normal: 'normal',\n photography: 'photography',\n transparent: 'transparent',\n index: 'index',\n} as const\n\nexport type Theme = ValuesOf<typeof THEME>\n","import { type FC, type ReactElement, useMemo } from 'react'\nimport clsx from 'clsx'\n// components\nimport { P1, P2 } from '../../../text/paragraph'\n// enums\nimport { Size, Style } from '../../enum'\n// type\nimport type { Theme } from '../../constant'\n// constants\nimport { THEME } from '../../constant'\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 () => (size === Size.S ? <P2 text={text} /> : <P1 text={text} />),\n [size, text]\n )\n\n return (\n <div\n className={clsx(\n 'flex items-center',\n {\n 'cursor-default': disabled,\n 'cursor-pointer': !disabled,\n },\n {\n 'text-gray-500 hover:text-gray-500':\n disabled &&\n (theme === THEME.photography || theme === THEME.transparent),\n 'text-gray-400 hover:text-gray-400':\n disabled ||\n (theme === THEME.photography &&\n style === Style.LIGHT &&\n !active &&\n !disabled),\n 'text-gray-200 hover:text-supportive-pastel':\n theme === THEME.photography && !active && !disabled,\n 'text-gray-300 hover:text-gray-400':\n theme === THEME.photography &&\n style === Style.LIGHT &&\n active &&\n !disabled,\n 'text-gray-white hover:text-supportive-pastel':\n theme === THEME.photography &&\n style === Style.DARK &&\n active &&\n !disabled,\n 'text-supportive-faded hover:text-supportive-pastel':\n theme === THEME.photography &&\n style === Style.BRAND &&\n active &&\n !disabled,\n 'text-gray-100 hover:text-gray-200':\n theme === THEME.transparent && !active && !disabled,\n 'text-gray-white hover:text-gray-white':\n theme === THEME.transparent && active && !disabled,\n 'text-gray-600 hover:text-brand-heavy':\n theme === THEME.normal && !active && !disabled,\n 'text-brand-heavy hover:text-brand-heavy':\n theme === THEME.normal && active && !disabled,\n },\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 animation-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","import clsx from 'clsx'\nimport type { FC } from 'react'\n// type\nimport type { Tab } from './type'\n// component\nimport { ExternalLink, InternalLink } from '../../../customized-link'\nimport { TextButton } from '../../../button'\n\ntype TabItemProps = Tab & {\n onClick: () => void\n className?: string\n}\nconst TabItem: FC<TabItemProps> = ({\n text,\n link,\n isExternal = false,\n isActive = false,\n onClick,\n className = '',\n}) => {\n const CustomizedLink = isExternal ? ExternalLink : InternalLink\n return (\n <button\n className={clsx('flex shrink-0 mr-[24px] last:mr-0', className)}\n onClick={onClick}\n type=\"button\"\n >\n <CustomizedLink to={link}>\n <TextButton\n text={text}\n active={isActive}\n size={TextButton.Size.L}\n className=\"py-[16px]\"\n />\n </CustomizedLink>\n </button>\n )\n}\n\nexport default TabItem\n","import clsx from 'clsx'\nimport { type FC, useState, useEffect } from 'react'\n// hook\nimport { useScrollStatus } from './hook'\n// components\nimport TabItem from './tab-item'\nimport { H1 } from '../../../text/heading'\n// type\nimport type { Tab } from './type'\n\ntype TitleTabProps = {\n title: string\n tabs: Tab[]\n activeTabIndex?: number\n}\nconst TitleTab: FC<TitleTabProps> = ({\n title,\n tabs = [],\n activeTabIndex = 0,\n}) => {\n const [activeIndex, setActiveIndex] = useState(activeTabIndex)\n const [showGradientMask, setShowGradientMask] = useState(false)\n\n const ref = useScrollStatus(setShowGradientMask)\n\n useEffect(() => {\n setActiveIndex(activeTabIndex)\n }, [activeTabIndex])\n\n return (\n <div className=\"flex flex-col w-full text-gray-800\">\n <H1 text={title} />\n {tabs.length > 0 ? (\n <div\n ref={ref}\n className={clsx(\n 'flex items-center',\n 'overflow-x-scroll scrollbar:!w-0',\n {\n '[mask-image:linear-gradient(to_left,rgba(241,241,241,0),#f1f1f1_48px)] [-webkit-mask-image:linear-gradient(to_left,rgba(241,241,241,0),#f1f1f1_48px)]':\n showGradientMask,\n }\n )}\n >\n {tabs.map((tab, index) => {\n const tabProps = { ...tab, isActive: index === activeIndex }\n const handleClick = () => {\n setActiveIndex(index)\n }\n return (\n <TabItem {...tabProps} key={`tab-${tab.text}-${index}`} onClick={handleClick} />\n )\n })}\n </div>\n ) : null}\n <div\n className={clsx(\n 'w-full h-[1px] bg-gray-300 mt-[0px]',\n 'desktop:mt-[0px]'\n )}\n />\n </div>\n )\n}\n\nexport default TitleTab\n","import Title2 from './components/title2'\nimport Title1 from './components/title1'\nimport TitleTab from './components/title-tab'\n\nexport { Title2, Title1, TitleTab }\n\nexport default {\n Title2,\n Title1,\n TitleTab,\n}\n"]}
1
+ {"version":3,"file":"index.js","names":["Title2: React.FC<Title2Props>","H5","P2","Title1: FC<Title1Props>","H2","P1","handleScroll: EventListener","TabItem: FC<TabItemProps>","ExternalLink","InternalLink","TextButton","TitleTab: FC<TitleTabProps>","H1","TabItem"],"sources":["../../src/title-bar/components/title2.tsx","../../src/title-bar/components/title1.tsx","../../src/title-bar/components/title-tab/hook.ts","../../src/title-bar/components/title-tab/tab-item.tsx","../../src/title-bar/components/title-tab/index.tsx","../../src/title-bar/index.ts"],"sourcesContent":["import clsx from 'clsx'\nimport type React from 'react'\n// components\nimport { H5 } from '../../text/heading'\nimport { P2 } from '../../text/paragraph'\n\ntype Title2Props = {\n title: string\n subtitle?: string\n renderButton?: React.ReactNode\n className?: string\n}\n\nconst Title2: React.FC<Title2Props> = ({\n title,\n subtitle = '',\n renderButton = null,\n className = '',\n}) => {\n return (\n <div className={clsx('flex justify-between flex-col', className)}>\n <div className=\"flex flex-row justify-between\">\n <div className={clsx('flex items-baseline gap-[16px]')}>\n <H5 className=\"text-gray-800\" text={title} />\n {subtitle ? <P2 className=\"text-gray-600\" text={subtitle} /> : null}\n </div>\n {renderButton || null}\n </div>\n <div\n className={clsx(\n 'w-full h-[1px] bg-gray-800 mt-[8px]',\n 'desktop:mt-[16px]'\n )}\n />\n </div>\n )\n}\n\nexport default Title2\n","import clsx from 'clsx'\nimport type { FC } from 'react'\n// components\nimport { H2 } from '../../text/heading'\nimport { P1 } from '../../text/paragraph'\n\ntype Title1Props = {\n title: string\n subtitle?: string\n className?: string\n}\n\nconst Title1: FC<Title1Props> = ({ title, subtitle = '', className = '' }) => {\n return (\n <div className={clsx('flex justify-between flex-col', className)}>\n <div className={clsx('flex items-baseline gap-[16px]')}>\n <H2 className=\"text-gray-800\" text={title} />\n {subtitle ? <P1 className=\"text-gray-600\" text={subtitle} /> : null}\n </div>\n <div\n className={clsx(\n 'w-full h-[1px] bg-gray-300 mt-[8px]',\n 'desktop:mt-[16px]'\n )}\n />\n </div>\n )\n}\n\nexport default Title1\n","import { useRef, useEffect } from 'react'\n\nexport const useScrollStatus = (setShowNext: (show: boolean) => void) => {\n const ref = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n if (!ref.current) return\n\n if (ref.current.scrollWidth > ref.current.clientWidth) {\n // scrollbar occur\n setShowNext(true)\n }\n }, [setShowNext])\n\n useEffect(() => {\n if (!ref.current) return\n\n const refEle = ref.current\n const handleScroll: EventListener = () => {\n if (refEle.offsetWidth + refEle.scrollLeft >= refEle.scrollWidth) {\n // scroll to end\n setShowNext(false)\n } else {\n setShowNext(true)\n }\n }\n\n refEle.addEventListener('scroll', handleScroll)\n\n return () => {\n refEle.removeEventListener('scroll', handleScroll)\n }\n }, [setShowNext])\n\n return ref\n}\n","import clsx from 'clsx'\nimport type { FC } from 'react'\n// type\nimport type { Tab } from './type'\n// component\nimport { ExternalLink, InternalLink } from '../../../customized-link'\nimport { TextButton } from '../../../button'\n\ntype TabItemProps = Tab & {\n onClick: () => void\n className?: string\n}\nconst TabItem: FC<TabItemProps> = ({\n text,\n link,\n isExternal = false,\n isActive = false,\n onClick,\n className = '',\n}) => {\n const CustomizedLink = isExternal ? ExternalLink : InternalLink\n return (\n <button\n className={clsx('flex shrink-0 mr-[24px] last:mr-0', className)}\n onClick={onClick}\n type=\"button\"\n >\n <CustomizedLink to={link}>\n <TextButton\n text={text}\n active={isActive}\n size={TextButton.Size.l}\n className=\"py-[16px]\"\n />\n </CustomizedLink>\n </button>\n )\n}\n\nexport default TabItem\n","import clsx from 'clsx'\nimport { type FC, useState, useEffect } from 'react'\n// hook\nimport { useScrollStatus } from './hook'\n// components\nimport TabItem from './tab-item'\nimport { H1 } from '../../../text/heading'\n// type\nimport type { Tab } from './type'\n\ntype TitleTabProps = {\n title: string\n tabs: Tab[]\n activeTabIndex?: number\n}\nconst TitleTab: FC<TitleTabProps> = ({\n title,\n tabs = [],\n activeTabIndex = 0,\n}) => {\n const [activeIndex, setActiveIndex] = useState(activeTabIndex)\n const [showGradientMask, setShowGradientMask] = useState(false)\n\n const ref = useScrollStatus(setShowGradientMask)\n\n useEffect(() => {\n setActiveIndex(activeTabIndex)\n }, [activeTabIndex])\n\n return (\n <div className=\"flex flex-col w-full text-gray-800\">\n <H1 text={title} />\n {tabs.length > 0 ? (\n <div\n ref={ref}\n className={clsx(\n 'flex items-center',\n 'overflow-x-scroll scrollbar:!w-0',\n {\n '[mask-image:linear-gradient(to_left,rgba(241,241,241,0),#f1f1f1_48px)] [-webkit-mask-image:linear-gradient(to_left,rgba(241,241,241,0),#f1f1f1_48px)]':\n showGradientMask,\n }\n )}\n >\n {tabs.map((tab, index) => {\n const tabProps = { ...tab, isActive: index === activeIndex }\n const handleClick = () => {\n setActiveIndex(index)\n }\n return (\n <TabItem {...tabProps} key={`tab-${tab.text}-${index}`} onClick={handleClick} />\n )\n })}\n </div>\n ) : null}\n <div\n className={clsx(\n 'w-full h-[1px] bg-gray-300 mt-[0px]',\n 'desktop:mt-[0px]'\n )}\n />\n </div>\n )\n}\n\nexport default TitleTab\n","import Title2 from './components/title2'\nimport Title1 from './components/title1'\nimport TitleTab from './components/title-tab'\n\nexport { Title2, Title1, TitleTab }\n\nexport default {\n Title2,\n Title1,\n TitleTab,\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAaA,MAAMA,UAAiC,EACrC,OACA,WAAW,IACX,eAAe,MACf,YAAY,SACR;AACJ,QACE,4CAAC;EAAI,6BAAgB,iCAAiC,UAAU;aAC9D,4CAAC;GAAI,WAAU;cACb,4CAAC;IAAI,6BAAgB,iCAAiC;eACpD,2CAACC;KAAG,WAAU;KAAgB,MAAM;MAAS,EAC5C,WAAW,2CAACC;KAAG,WAAU;KAAgB,MAAM;MAAY,GAAG;KAC3D,EACL,gBAAgB;IACb,EACN,2CAAC,SACC,6BACE,uCACA,oBACD,GACD;GACE;;AAIV,qBAAe;;;;AC1Bf,MAAMC,UAA2B,EAAE,OAAO,WAAW,IAAI,YAAY,SAAS;AAC5E,QACE,4CAAC;EAAI,6BAAgB,iCAAiC,UAAU;aAC9D,4CAAC;GAAI,6BAAgB,iCAAiC;cACpD,2CAACC;IAAG,WAAU;IAAgB,MAAM;KAAS,EAC5C,WAAW,2CAACC;IAAG,WAAU;IAAgB,MAAM;KAAY,GAAG;IAC3D,EACN,2CAAC,SACC,6BACE,uCACA,oBACD,GACD;GACE;;AAIV,qBAAe;;;;AC3Bf,MAAa,mBAAmB,gBAAyC;CACvE,MAAM,wBAA6B,KAAK;AAExC,4BAAgB;AACd,MAAI,CAAC,IAAI,QAAS;AAElB,MAAI,IAAI,QAAQ,cAAc,IAAI,QAAQ,YAExC,aAAY,KAAK;IAElB,CAAC,YAAY,CAAC;AAEjB,4BAAgB;AACd,MAAI,CAAC,IAAI,QAAS;EAElB,MAAM,SAAS,IAAI;EACnB,MAAMC,qBAAoC;AACxC,OAAI,OAAO,cAAc,OAAO,cAAc,OAAO,YAEnD,aAAY,MAAM;OAElB,aAAY,KAAK;;AAIrB,SAAO,iBAAiB,UAAU,aAAa;AAE/C,eAAa;AACX,UAAO,oBAAoB,UAAU,aAAa;;IAEnD,CAAC,YAAY,CAAC;AAEjB,QAAO;;;;;ACtBT,MAAMC,WAA6B,EACjC,MACA,MACA,aAAa,OACb,WAAW,OACX,SACA,YAAY,SACR;CACJ,MAAM,iBAAiB,aAAaC,8CAAeC;AACnD,QACE,2CAAC;EACC,6BAAgB,qCAAqC,UAAU;EACtD;EACT,MAAK;YAEL,2CAAC;GAAe,IAAI;aAClB,2CAACC;IACO;IACN,QAAQ;IACR,MAAMA,mCAAW,KAAK;IACtB,WAAU;KACV;IACa;GACV;;AAIb,uBAAe;;;;ACxBf,MAAMC,YAA+B,EACnC,OACA,OAAO,EAAE,EACT,iBAAiB,QACb;CACJ,MAAM,CAAC,aAAa,sCAA2B,eAAe;CAC9D,MAAM,CAAC,kBAAkB,2CAAgC,MAAM;CAE/D,MAAM,MAAM,gBAAgB,oBAAoB;AAEhD,4BAAgB;AACd,iBAAe,eAAe;IAC7B,CAAC,eAAe,CAAC;AAEpB,QACE,4CAAC;EAAI,WAAU;;GACb,2CAACC,sBAAG,MAAM,QAAS;GAClB,KAAK,SAAS,IACb,2CAAC;IACM;IACL,6BACE,qBACA,oCACA,EACE,yJACE,kBACH,CACF;cAEA,KAAK,KAAK,KAAK,UAAU;KACxB,MAAM,WAAW;MAAE,GAAG;MAAK,UAAU,UAAU;MAAa;KAC5D,MAAM,oBAAoB;AACxB,qBAAe,MAAM;;AAEvB,YACE,yCAACC;MAAQ,GAAI;MAAU,KAAK,OAAO,IAAI,KAAK,GAAG;MAAS,SAAS;OAAe;MAElF;KACE,GACJ;GACJ,2CAAC,SACC,6BACE,uCACA,mBACD,GACD;;GACE;;AAIV,wBAAe;;;;AC3Df,wBAAe;CACb;CACA;CACA;CACD"}