@tipp/ui 2.5.0 → 2.6.0

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 (717) hide show
  1. package/dist/app/index.cjs +1291 -837
  2. package/dist/app/index.cjs.map +1 -1
  3. package/dist/app/index.js +122 -121
  4. package/dist/app/platform/coach-question-list.cjs +822 -364
  5. package/dist/app/platform/coach-question-list.cjs.map +1 -1
  6. package/dist/app/platform/coach-question-list.js +48 -46
  7. package/dist/app/platform/contents-card.cjs +815 -357
  8. package/dist/app/platform/contents-card.cjs.map +1 -1
  9. package/dist/app/platform/contents-card.js +48 -46
  10. package/dist/app/platform/curriculum-card.cjs +65 -13
  11. package/dist/app/platform/curriculum-card.cjs.map +1 -1
  12. package/dist/app/platform/curriculum-card.js +7 -6
  13. package/dist/app/platform/edit-coaching-time.cjs +1012 -558
  14. package/dist/app/platform/edit-coaching-time.cjs.map +1 -1
  15. package/dist/app/platform/edit-coaching-time.js +97 -96
  16. package/dist/app/platform/edit-service-type.cjs +995 -541
  17. package/dist/app/platform/edit-service-type.cjs.map +1 -1
  18. package/dist/app/platform/edit-service-type.js +98 -97
  19. package/dist/app/platform/goal-manage-card-edit.cjs +991 -537
  20. package/dist/app/platform/goal-manage-card-edit.cjs.map +1 -1
  21. package/dist/app/platform/goal-manage-card-edit.js +97 -96
  22. package/dist/app/platform/goal-manage-card-read.cjs +865 -407
  23. package/dist/app/platform/goal-manage-card-read.cjs.map +1 -1
  24. package/dist/app/platform/goal-manage-card-read.js +48 -46
  25. package/dist/app/platform/on-offline-radio-card.cjs +785 -331
  26. package/dist/app/platform/on-offline-radio-card.cjs.map +1 -1
  27. package/dist/app/platform/on-offline-radio-card.js +97 -96
  28. package/dist/app/platform/report-card.cjs +828 -370
  29. package/dist/app/platform/report-card.cjs.map +1 -1
  30. package/dist/app/platform/report-card.js +48 -46
  31. package/dist/app/platform/reservation-card.cjs +1016 -562
  32. package/dist/app/platform/reservation-card.cjs.map +1 -1
  33. package/dist/app/platform/reservation-card.js +98 -97
  34. package/dist/app/platform/session-card.cjs +1069 -615
  35. package/dist/app/platform/session-card.cjs.map +1 -1
  36. package/dist/app/platform/session-card.js +100 -99
  37. package/dist/app/platform/session-review-simple-read.cjs +825 -367
  38. package/dist/app/platform/session-review-simple-read.cjs.map +1 -1
  39. package/dist/app/platform/session-review-simple-read.js +48 -46
  40. package/dist/app/platform/userInfos/coaching-customer-info/index.cjs +857 -399
  41. package/dist/app/platform/userInfos/coaching-customer-info/index.cjs.map +1 -1
  42. package/dist/app/platform/userInfos/coaching-customer-info/index.js +54 -52
  43. package/dist/app/platform/userInfos/coaching-customer-info/large.cjs +833 -375
  44. package/dist/app/platform/userInfos/coaching-customer-info/large.cjs.map +1 -1
  45. package/dist/app/platform/userInfos/coaching-customer-info/large.js +49 -47
  46. package/dist/app/platform/userInfos/coaching-customer-info/medium.cjs +836 -378
  47. package/dist/app/platform/userInfos/coaching-customer-info/medium.cjs.map +1 -1
  48. package/dist/app/platform/userInfos/coaching-customer-info/medium.js +49 -47
  49. package/dist/app/platform/userInfos/coaching-customer-info/small.cjs +823 -365
  50. package/dist/app/platform/userInfos/coaching-customer-info/small.cjs.map +1 -1
  51. package/dist/app/platform/userInfos/coaching-customer-info/small.js +48 -46
  52. package/dist/app/platform/userInfos/session-user-info-detail.cjs +832 -374
  53. package/dist/app/platform/userInfos/session-user-info-detail.cjs.map +1 -1
  54. package/dist/app/platform/userInfos/session-user-info-detail.js +49 -47
  55. package/dist/app/platform/userInfos/utils.cjs +824 -366
  56. package/dist/app/platform/userInfos/utils.cjs.map +1 -1
  57. package/dist/app/platform/userInfos/utils.js +48 -46
  58. package/dist/atoms/alert-dialog.cjs +85 -1
  59. package/dist/atoms/alert-dialog.cjs.map +1 -1
  60. package/dist/atoms/alert-dialog.d.cts +18 -2
  61. package/dist/atoms/alert-dialog.d.ts +18 -2
  62. package/dist/atoms/alert-dialog.js +3 -1
  63. package/dist/atoms/aspect-ratio.d.cts +1 -0
  64. package/dist/atoms/aspect-ratio.d.ts +1 -0
  65. package/dist/atoms/avatar.cjs +39 -2
  66. package/dist/atoms/avatar.cjs.map +1 -1
  67. package/dist/atoms/avatar.d.cts +5 -2
  68. package/dist/atoms/avatar.d.ts +5 -2
  69. package/dist/atoms/avatar.js +2 -1
  70. package/dist/atoms/badge.cjs +34 -9
  71. package/dist/atoms/badge.cjs.map +1 -1
  72. package/dist/atoms/badge.d.cts +4 -5
  73. package/dist/atoms/badge.d.ts +4 -5
  74. package/dist/atoms/badge.js +2 -1
  75. package/dist/atoms/blockquote.cjs +71 -1
  76. package/dist/atoms/blockquote.cjs.map +1 -1
  77. package/dist/atoms/blockquote.d.cts +12 -1
  78. package/dist/atoms/blockquote.d.ts +12 -1
  79. package/dist/atoms/blockquote.js +2 -1
  80. package/dist/atoms/bullet-text.cjs +39 -2
  81. package/dist/atoms/bullet-text.cjs.map +1 -1
  82. package/dist/atoms/bullet-text.d.cts +1 -0
  83. package/dist/atoms/bullet-text.d.ts +1 -0
  84. package/dist/atoms/bullet-text.js +4 -3
  85. package/dist/atoms/button.cjs +33 -3
  86. package/dist/atoms/button.cjs.map +1 -1
  87. package/dist/atoms/button.d.cts +5 -3
  88. package/dist/atoms/button.d.ts +5 -3
  89. package/dist/atoms/button.js +2 -1
  90. package/dist/atoms/button.type.cjs.map +1 -1
  91. package/dist/atoms/button.type.d.cts +3 -1
  92. package/dist/atoms/button.type.d.ts +3 -1
  93. package/dist/atoms/call-out.cjs +78 -1
  94. package/dist/atoms/call-out.cjs.map +1 -1
  95. package/dist/atoms/call-out.d.cts +13 -1
  96. package/dist/atoms/call-out.d.ts +13 -1
  97. package/dist/atoms/call-out.js +2 -1
  98. package/dist/atoms/check-box-card.cjs +78 -1
  99. package/dist/atoms/check-box-card.cjs.map +1 -1
  100. package/dist/atoms/check-box-card.d.cts +12 -1
  101. package/dist/atoms/check-box-card.d.ts +12 -1
  102. package/dist/atoms/check-box-card.js +2 -1
  103. package/dist/atoms/check-box-group.cjs +40 -2
  104. package/dist/atoms/check-box-group.cjs.map +1 -1
  105. package/dist/atoms/check-box-group.d.cts +6 -0
  106. package/dist/atoms/check-box-group.d.ts +6 -0
  107. package/dist/atoms/check-box-group.js +2 -1
  108. package/dist/atoms/check-box.cjs +37 -2
  109. package/dist/atoms/check-box.cjs.map +1 -1
  110. package/dist/atoms/check-box.d.cts +5 -2
  111. package/dist/atoms/check-box.d.ts +5 -2
  112. package/dist/atoms/check-box.js +2 -1
  113. package/dist/atoms/code.cjs +73 -1
  114. package/dist/atoms/code.cjs.map +1 -1
  115. package/dist/atoms/code.d.cts +12 -1
  116. package/dist/atoms/code.d.ts +12 -1
  117. package/dist/atoms/code.js +2 -1
  118. package/dist/atoms/data-list.cjs +77 -1
  119. package/dist/atoms/data-list.cjs.map +1 -1
  120. package/dist/atoms/data-list.d.cts +14 -1
  121. package/dist/atoms/data-list.d.ts +14 -1
  122. package/dist/atoms/data-list.js +2 -1
  123. package/dist/atoms/dialog.cjs +49 -6
  124. package/dist/atoms/dialog.cjs.map +1 -1
  125. package/dist/atoms/dialog.js +4 -3
  126. package/dist/atoms/drawer.cjs +33 -3
  127. package/dist/atoms/drawer.cjs.map +1 -1
  128. package/dist/atoms/drawer.js +3 -2
  129. package/dist/atoms/dropdown-menu.cjs +63 -12
  130. package/dist/atoms/dropdown-menu.cjs.map +1 -1
  131. package/dist/atoms/dropdown-menu.d.cts +27 -17
  132. package/dist/atoms/dropdown-menu.d.ts +27 -17
  133. package/dist/atoms/dropdown-menu.js +3 -1
  134. package/dist/atoms/ellipsis-tooltip.cjs +73 -22
  135. package/dist/atoms/ellipsis-tooltip.cjs.map +1 -1
  136. package/dist/atoms/ellipsis-tooltip.d.cts +1 -0
  137. package/dist/atoms/ellipsis-tooltip.d.ts +1 -0
  138. package/dist/atoms/ellipsis-tooltip.js +5 -3
  139. package/dist/atoms/field-error-wrapper.cjs +39 -2
  140. package/dist/atoms/field-error-wrapper.cjs.map +1 -1
  141. package/dist/atoms/field-error-wrapper.js +4 -3
  142. package/dist/atoms/heading.cjs +38 -2
  143. package/dist/atoms/heading.cjs.map +1 -1
  144. package/dist/atoms/heading.d.cts +3 -1
  145. package/dist/atoms/heading.d.ts +3 -1
  146. package/dist/atoms/heading.js +2 -1
  147. package/dist/atoms/hover-card.cjs +85 -1
  148. package/dist/atoms/hover-card.cjs.map +1 -1
  149. package/dist/atoms/hover-card.d.cts +14 -1
  150. package/dist/atoms/hover-card.d.ts +14 -1
  151. package/dist/atoms/hover-card.js +3 -1
  152. package/dist/atoms/icon-button.cjs +33 -3
  153. package/dist/atoms/icon-button.cjs.map +1 -1
  154. package/dist/atoms/icon-button.d.cts +5 -3
  155. package/dist/atoms/icon-button.d.ts +5 -3
  156. package/dist/atoms/icon-button.js +2 -1
  157. package/dist/atoms/index.cjs +996 -506
  158. package/dist/atoms/index.cjs.map +1 -1
  159. package/dist/atoms/index.d.cts +18 -2
  160. package/dist/atoms/index.d.ts +18 -2
  161. package/dist/atoms/index.js +81 -79
  162. package/dist/atoms/link.cjs +40 -2
  163. package/dist/atoms/link.cjs.map +1 -1
  164. package/dist/atoms/link.d.cts +3 -1
  165. package/dist/atoms/link.d.ts +3 -1
  166. package/dist/atoms/link.js +2 -1
  167. package/dist/atoms/list.cjs +43 -4
  168. package/dist/atoms/list.cjs.map +1 -1
  169. package/dist/atoms/list.js +4 -3
  170. package/dist/atoms/pagination.cjs +100 -42
  171. package/dist/atoms/pagination.cjs.map +1 -1
  172. package/dist/atoms/pagination.d.cts +4 -0
  173. package/dist/atoms/pagination.d.ts +4 -0
  174. package/dist/atoms/pagination.js +5 -4
  175. package/dist/atoms/popover.cjs +85 -1
  176. package/dist/atoms/popover.cjs.map +1 -1
  177. package/dist/atoms/popover.d.cts +16 -1
  178. package/dist/atoms/popover.d.ts +16 -1
  179. package/dist/atoms/popover.js +3 -1
  180. package/dist/atoms/progress.cjs +71 -1
  181. package/dist/atoms/progress.cjs.map +1 -1
  182. package/dist/atoms/progress.d.cts +12 -1
  183. package/dist/atoms/progress.d.ts +12 -1
  184. package/dist/atoms/progress.js +2 -1
  185. package/dist/atoms/radio-cards.cjs +78 -1
  186. package/dist/atoms/radio-cards.cjs.map +1 -1
  187. package/dist/atoms/radio-cards.d.cts +12 -1
  188. package/dist/atoms/radio-cards.d.ts +12 -1
  189. package/dist/atoms/radio-cards.js +2 -1
  190. package/dist/atoms/radio-group.cjs +78 -1
  191. package/dist/atoms/radio-group.cjs.map +1 -1
  192. package/dist/atoms/radio-group.d.cts +12 -1
  193. package/dist/atoms/radio-group.d.ts +12 -1
  194. package/dist/atoms/radio-group.js +2 -1
  195. package/dist/atoms/radio.cjs +71 -1
  196. package/dist/atoms/radio.cjs.map +1 -1
  197. package/dist/atoms/radio.d.cts +12 -1
  198. package/dist/atoms/radio.d.ts +12 -1
  199. package/dist/atoms/radio.js +2 -1
  200. package/dist/atoms/segmented-control.cjs.map +1 -1
  201. package/dist/atoms/segmented-control.js +1 -1
  202. package/dist/atoms/select.cjs +78 -24
  203. package/dist/atoms/select.cjs.map +1 -1
  204. package/dist/atoms/select.d.cts +14 -4
  205. package/dist/atoms/select.d.ts +14 -4
  206. package/dist/atoms/select.js +3 -1
  207. package/dist/atoms/switch.cjs +71 -1
  208. package/dist/atoms/switch.cjs.map +1 -1
  209. package/dist/atoms/switch.d.cts +12 -1
  210. package/dist/atoms/switch.d.ts +12 -1
  211. package/dist/atoms/switch.js +2 -1
  212. package/dist/atoms/tab-nav.cjs +76 -1
  213. package/dist/atoms/tab-nav.cjs.map +1 -1
  214. package/dist/atoms/tab-nav.d.cts +16 -1
  215. package/dist/atoms/tab-nav.d.ts +16 -1
  216. package/dist/atoms/tab-nav.js +2 -1
  217. package/dist/atoms/tabs.cjs +76 -1
  218. package/dist/atoms/tabs.cjs.map +1 -1
  219. package/dist/atoms/tabs.d.cts +19 -1
  220. package/dist/atoms/tabs.d.ts +19 -1
  221. package/dist/atoms/tabs.js +2 -1
  222. package/dist/atoms/tooltip.cjs +46 -9
  223. package/dist/atoms/tooltip.cjs.map +1 -1
  224. package/dist/atoms/tooltip.js +3 -1
  225. package/dist/atoms/typo.cjs +39 -2
  226. package/dist/atoms/typo.cjs.map +1 -1
  227. package/dist/atoms/typo.d.cts +3 -1
  228. package/dist/atoms/typo.d.ts +3 -1
  229. package/dist/atoms/typo.js +2 -1
  230. package/dist/chunk-24PX34TH.js +42 -0
  231. package/dist/chunk-24PX34TH.js.map +1 -0
  232. package/dist/{chunk-GGLDVUYU.js → chunk-2FB75HU2.js} +5 -5
  233. package/dist/{chunk-7ITDAUWI.js → chunk-2I37QLRA.js} +15 -15
  234. package/dist/{chunk-ZVDAEY5Q.js → chunk-2LCH3PDF.js} +14 -4
  235. package/dist/chunk-2LCH3PDF.js.map +1 -0
  236. package/dist/{chunk-3NUQAVE6.js → chunk-2M3UFZUD.js} +15 -2
  237. package/dist/chunk-2M3UFZUD.js.map +1 -0
  238. package/dist/{chunk-PXPGCDNA.js → chunk-2O7NVLVP.js} +5 -5
  239. package/dist/{chunk-NZ6ONU5Z.js → chunk-2SM37SB4.js} +13 -13
  240. package/dist/{chunk-NLW32DPB.js → chunk-2WNLUQX5.js} +11 -11
  241. package/dist/chunk-3TOUVBIB.js +34 -0
  242. package/dist/chunk-3TOUVBIB.js.map +1 -0
  243. package/dist/{chunk-XBOSNFUM.js → chunk-447H6BVE.js} +6 -6
  244. package/dist/{chunk-5V6MQUTB.js → chunk-5OW76AER.js} +2 -2
  245. package/dist/chunk-6TU647KJ.js +37 -0
  246. package/dist/chunk-6TU647KJ.js.map +1 -0
  247. package/dist/{chunk-44VLRAHW.js → chunk-6YJGQWD6.js} +12 -12
  248. package/dist/{chunk-KCCYHT23.js → chunk-7JW5Z2TL.js} +4 -4
  249. package/dist/{chunk-JZVK4NDF.js → chunk-7PBLFV5L.js} +5 -5
  250. package/dist/{chunk-XK6VEVOK.js → chunk-7RJYF5L3.js} +14 -4
  251. package/dist/chunk-7RJYF5L3.js.map +1 -0
  252. package/dist/{chunk-UXVM3Y7P.js → chunk-A26UWBVB.js} +5 -5
  253. package/dist/{chunk-HJP4STJZ.js → chunk-A4YOY75P.js} +5 -5
  254. package/dist/{chunk-LSDD4TAP.js → chunk-AJTGTGOC.js} +3 -3
  255. package/dist/chunk-BI6TW3ZO.js +51 -0
  256. package/dist/chunk-BI6TW3ZO.js.map +1 -0
  257. package/dist/chunk-BK74U562.js +52 -0
  258. package/dist/chunk-BK74U562.js.map +1 -0
  259. package/dist/{chunk-JWAQUXGB.js → chunk-BZ3EXV6A.js} +3 -3
  260. package/dist/{chunk-QRI6ARS6.js → chunk-C2G3IB7G.js} +4 -4
  261. package/dist/chunk-CGDBUDY3.js +37 -0
  262. package/dist/chunk-CGDBUDY3.js.map +1 -0
  263. package/dist/chunk-DX3DLP5Z.js +39 -0
  264. package/dist/chunk-DX3DLP5Z.js.map +1 -0
  265. package/dist/{chunk-4U6DFH7Z.js → chunk-E6GCU5IQ.js} +2 -2
  266. package/dist/chunk-EIKFXUNC.js +39 -0
  267. package/dist/chunk-EIKFXUNC.js.map +1 -0
  268. package/dist/{chunk-CSKNBWPB.js → chunk-EZN5PMTC.js} +3 -3
  269. package/dist/chunk-EZN5PMTC.js.map +1 -0
  270. package/dist/{chunk-VRJR534I.js → chunk-GAA3RTRW.js} +4 -4
  271. package/dist/{chunk-VY557FHE.js → chunk-GE4M5GOQ.js} +4 -4
  272. package/dist/chunk-GI4AN2IZ.js +42 -0
  273. package/dist/chunk-GI4AN2IZ.js.map +1 -0
  274. package/dist/{chunk-OUJAPQS2.js → chunk-GPULIICW.js} +11 -11
  275. package/dist/{chunk-K36TPMKL.js → chunk-GPZXD762.js} +18 -3
  276. package/dist/chunk-GPZXD762.js.map +1 -0
  277. package/dist/{chunk-PMJIFLDT.js → chunk-GR4PG6HY.js} +20 -3
  278. package/dist/chunk-GR4PG6HY.js.map +1 -0
  279. package/dist/{chunk-7PF6I4RN.js → chunk-GRDRXD53.js} +2 -2
  280. package/dist/{chunk-TJKS6CLU.js → chunk-GREYLAMY.js} +6 -6
  281. package/dist/{chunk-VREM33BW.js → chunk-GYSRHZRS.js} +8 -8
  282. package/dist/{chunk-2TYR2RDO.js → chunk-H3GQHGFA.js} +8 -8
  283. package/dist/{chunk-KMVSJT6Y.js → chunk-HH6LML5K.js} +10 -10
  284. package/dist/{chunk-HQATHJBN.js → chunk-IA74OBFY.js} +58 -41
  285. package/dist/chunk-IA74OBFY.js.map +1 -0
  286. package/dist/{chunk-J62KAMQL.js → chunk-IM6E52L2.js} +10 -10
  287. package/dist/{chunk-TVDKGMBI.js → chunk-IT7ZTP7F.js} +1 -1
  288. package/dist/chunk-IT7ZTP7F.js.map +1 -0
  289. package/dist/{chunk-5LRFDSG2.js → chunk-J7N2IZQW.js} +6 -6
  290. package/dist/{chunk-EEAHZCIK.js → chunk-JCUG2XKB.js} +2 -2
  291. package/dist/chunk-JETG3WEI.js +39 -0
  292. package/dist/chunk-JETG3WEI.js.map +1 -0
  293. package/dist/{chunk-4LUFF5LX.js → chunk-JNEGSY5N.js} +3 -3
  294. package/dist/{chunk-CQSM6JCO.js → chunk-K3Q4XLCN.js} +4 -4
  295. package/dist/chunk-KNIIDDYM.js +34 -0
  296. package/dist/chunk-KNIIDDYM.js.map +1 -0
  297. package/dist/{chunk-4TST4UK5.js → chunk-KO3V7KB6.js} +2 -2
  298. package/dist/{chunk-3U6FXC6R.js → chunk-LIWQ47VQ.js} +11 -11
  299. package/dist/{chunk-2ZSK45QM.js → chunk-LQ3WGFS7.js} +9 -9
  300. package/dist/{chunk-A7LYIUE7.js → chunk-M77YPVQN.js} +7 -7
  301. package/dist/{chunk-P4KO43AP.js → chunk-MCKWO7K4.js} +5 -5
  302. package/dist/{chunk-G7NEBNHU.js → chunk-MGR37YQB.js} +6 -6
  303. package/dist/{chunk-QDC3LFHS.js → chunk-MMLVZWMD.js} +3 -3
  304. package/dist/{chunk-D4JZHM4J.js → chunk-MP5KZULQ.js} +10 -10
  305. package/dist/{chunk-WMWXF44S.js → chunk-MSLSD7F6.js} +5 -5
  306. package/dist/{chunk-JUDD3XGY.js → chunk-MSM2QG23.js} +9 -9
  307. package/dist/{chunk-NVQSH733.js → chunk-NFMEBYNY.js} +5 -5
  308. package/dist/{chunk-7ZMY4CAZ.js → chunk-NIHOKIYW.js} +6 -6
  309. package/dist/{chunk-BESTU2AY.js → chunk-NLHVQJQ2.js} +19 -3
  310. package/dist/chunk-NLHVQJQ2.js.map +1 -0
  311. package/dist/{chunk-3GQQQBJN.js → chunk-NYG34MV6.js} +6 -6
  312. package/dist/{chunk-XF7FPCS7.js → chunk-OA3DGWVL.js} +15 -15
  313. package/dist/{chunk-F5IXHUBI.js → chunk-OBWQ3N5D.js} +12 -12
  314. package/dist/{chunk-HVXBZGLT.js → chunk-OEHVGPWL.js} +16 -16
  315. package/dist/chunk-OLJN3WXR.js +1 -0
  316. package/dist/{chunk-WE3TWSC4.js → chunk-OPYRV6XJ.js} +5 -5
  317. package/dist/{chunk-WFOIY6OR.js → chunk-OQN4E2QP.js} +4 -4
  318. package/dist/{chunk-HZ7HETUI.js → chunk-OWQUXTQ2.js} +4 -4
  319. package/dist/{chunk-7I7PZF5L.js → chunk-OYXUWBKS.js} +3 -3
  320. package/dist/{chunk-D3KCPM4O.js → chunk-PE4EBBU4.js} +5 -5
  321. package/dist/{chunk-3GGJWSFK.js → chunk-PXMJK5D5.js} +10 -10
  322. package/dist/{chunk-Y4U24VXI.js → chunk-Q3M6GFHY.js} +3 -3
  323. package/dist/{chunk-GFURX6GB.js → chunk-QPL7SJQM.js} +5 -5
  324. package/dist/{chunk-YAUOAWYS.js → chunk-RMVVV5NH.js} +6 -6
  325. package/dist/chunk-RMW3MQF5.js +42 -0
  326. package/dist/chunk-RMW3MQF5.js.map +1 -0
  327. package/dist/{chunk-RPV3QPQL.js → chunk-RUJZ5PE7.js} +5 -5
  328. package/dist/chunk-SA7AYYQS.js +39 -0
  329. package/dist/chunk-SA7AYYQS.js.map +1 -0
  330. package/dist/{chunk-6J5YZTZE.js → chunk-T2CGNUCP.js} +7 -7
  331. package/dist/chunk-T73HHR3I.js +67 -0
  332. package/dist/chunk-T73HHR3I.js.map +1 -0
  333. package/dist/chunk-TNNF5Q62.js +34 -0
  334. package/dist/chunk-TNNF5Q62.js.map +1 -0
  335. package/dist/{chunk-ZUZ5FT4B.js → chunk-TU6SGJ5Z.js} +11 -11
  336. package/dist/{chunk-5ZEQ33PC.js → chunk-TYEGB5FQ.js} +7 -7
  337. package/dist/{chunk-5AWPST2R.js → chunk-UFM3EL52.js} +12 -12
  338. package/dist/chunk-UFRB2BVD.js +34 -0
  339. package/dist/chunk-UFRB2BVD.js.map +1 -0
  340. package/dist/chunk-UFWDQGOK.js +36 -0
  341. package/dist/chunk-UFWDQGOK.js.map +1 -0
  342. package/dist/{chunk-R3WM6HV6.js → chunk-VD5ZDFCM.js} +5 -5
  343. package/dist/chunk-VFQD57ZY.js +27 -0
  344. package/dist/chunk-VFQD57ZY.js.map +1 -0
  345. package/dist/{chunk-AQVIQODP.js → chunk-VK6INFSB.js} +4 -4
  346. package/dist/{chunk-W7X7KSJP.js → chunk-WG5OK3YN.js} +19 -3
  347. package/dist/chunk-WG5OK3YN.js.map +1 -0
  348. package/dist/{chunk-QFEZIPWJ.js → chunk-WY37V3W4.js} +9 -9
  349. package/dist/chunk-WYWM2HSZ.js +33 -0
  350. package/dist/chunk-WYWM2HSZ.js.map +1 -0
  351. package/dist/{chunk-SDEDXT7A.js → chunk-XOQXIPLL.js} +4 -4
  352. package/dist/{chunk-DVYTRZOL.js → chunk-YCLYKBWZ.js} +15 -15
  353. package/dist/{chunk-YW4IN7LP.js → chunk-YGNHAFBW.js} +8 -8
  354. package/dist/{chunk-APG3GKDT.js → chunk-YWWYA2JZ.js} +11 -11
  355. package/dist/chunk-YXMB4MCM.js +87 -0
  356. package/dist/chunk-YXMB4MCM.js.map +1 -0
  357. package/dist/{chunk-7AMHCTRM.js → chunk-Z5LPHG2D.js} +5 -5
  358. package/dist/{chunk-GZNELGHF.js → chunk-ZAFLWQOV.js} +10 -10
  359. package/dist/{chunk-WD5P2N6F.js → chunk-ZC2JPF7B.js} +13 -13
  360. package/dist/{chunk-VYCYVN3L.js → chunk-ZCGH6TJ3.js} +16 -3
  361. package/dist/chunk-ZCGH6TJ3.js.map +1 -0
  362. package/dist/{chunk-UH6Q3TEK.js → chunk-ZCQMCIT5.js} +9 -9
  363. package/dist/chunk-ZPUNTAVI.js +38 -0
  364. package/dist/chunk-ZPUNTAVI.js.map +1 -0
  365. package/dist/{chunk-LT5C6QT7.js → chunk-ZUL3NYQ4.js} +2 -2
  366. package/dist/{chunk-23QMZC6L.js → chunk-ZWYQ44CB.js} +10 -10
  367. package/dist/context/dynamic-form-context.cjs +54 -4
  368. package/dist/context/dynamic-form-context.cjs.map +1 -1
  369. package/dist/context/dynamic-form-context.js +5 -4
  370. package/dist/context/index.cjs +54 -4
  371. package/dist/context/index.cjs.map +1 -1
  372. package/dist/context/index.js +8 -7
  373. package/dist/index.cjs +2131 -1631
  374. package/dist/index.cjs.map +1 -1
  375. package/dist/index.css +73 -0
  376. package/dist/index.d.cts +19 -3
  377. package/dist/index.d.ts +19 -3
  378. package/dist/index.js +174 -168
  379. package/dist/molecules/autocomplete-textfield.cjs +111 -46
  380. package/dist/molecules/autocomplete-textfield.cjs.map +1 -1
  381. package/dist/molecules/autocomplete-textfield.js +5 -3
  382. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.cjs +367 -209
  383. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.cjs.map +1 -1
  384. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.js +22 -21
  385. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.cjs +39 -2
  386. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.cjs.map +1 -1
  387. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.js +5 -4
  388. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.cjs +293 -164
  389. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.cjs.map +1 -1
  390. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.js +16 -15
  391. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-footer.cjs +33 -3
  392. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-footer.cjs.map +1 -1
  393. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-footer.js +4 -3
  394. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-header.cjs +85 -19
  395. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-header.cjs.map +1 -1
  396. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-header.js +6 -5
  397. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-layout.js +2 -2
  398. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.cjs +217 -134
  399. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.cjs.map +1 -1
  400. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.js +10 -9
  401. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.cjs +172 -110
  402. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.cjs.map +1 -1
  403. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.js +7 -6
  404. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.cjs +39 -2
  405. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.cjs.map +1 -1
  406. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.js +6 -5
  407. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.cjs +80 -20
  408. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.cjs.map +1 -1
  409. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.js +7 -6
  410. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.cjs +64 -7
  411. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.cjs.map +1 -1
  412. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.js +6 -5
  413. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.cjs +275 -115
  414. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.cjs.map +1 -1
  415. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.js +26 -25
  416. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.cjs +76 -17
  417. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.cjs.map +1 -1
  418. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.js +8 -7
  419. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.cjs +49 -5
  420. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.cjs.map +1 -1
  421. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.js +5 -4
  422. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-file-download.cjs +49 -5
  423. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-file-download.cjs.map +1 -1
  424. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-file-download.js +5 -4
  425. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.cjs +318 -153
  426. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.cjs.map +1 -1
  427. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.js +29 -28
  428. package/dist/molecules/curriculumV2/CurriculumContents/index.cjs +346 -181
  429. package/dist/molecules/curriculumV2/CurriculumContents/index.cjs.map +1 -1
  430. package/dist/molecules/curriculumV2/CurriculumContents/index.js +33 -32
  431. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-item-title.cjs +39 -2
  432. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-item-title.cjs.map +1 -1
  433. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-item-title.js +4 -3
  434. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-item.cjs +39 -2
  435. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-item.cjs.map +1 -1
  436. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-item.js +5 -4
  437. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-title.cjs +39 -2
  438. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-title.cjs.map +1 -1
  439. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-title.js +3 -2
  440. package/dist/molecules/curriculumV2/CurriculumSidebar/index.cjs +195 -135
  441. package/dist/molecules/curriculumV2/CurriculumSidebar/index.cjs.map +1 -1
  442. package/dist/molecules/curriculumV2/CurriculumSidebar/index.js +10 -9
  443. package/dist/molecules/curriculumV2/CurriculumSidebar/sidebar-item.cjs +39 -2
  444. package/dist/molecules/curriculumV2/CurriculumSidebar/sidebar-item.cjs.map +1 -1
  445. package/dist/molecules/curriculumV2/CurriculumSidebar/sidebar-item.js +7 -6
  446. package/dist/molecules/curriculumV2/curriculum-sub-nav.cjs +65 -8
  447. package/dist/molecules/curriculumV2/curriculum-sub-nav.cjs.map +1 -1
  448. package/dist/molecules/curriculumV2/curriculum-sub-nav.js +6 -5
  449. package/dist/molecules/curriculumV2/curriculum-v2-layout.js +2 -2
  450. package/dist/molecules/curriculumV2/index.cjs +406 -220
  451. package/dist/molecules/curriculumV2/index.cjs.map +1 -1
  452. package/dist/molecules/curriculumV2/index.js +42 -41
  453. package/dist/molecules/date-picker/date-picker-button.cjs +160 -64
  454. package/dist/molecules/date-picker/date-picker-button.cjs.map +1 -1
  455. package/dist/molecules/date-picker/date-picker-button.d.cts +1 -0
  456. package/dist/molecules/date-picker/date-picker-button.d.ts +1 -0
  457. package/dist/molecules/date-picker/date-picker-button.js +11 -9
  458. package/dist/molecules/date-picker/index.cjs +242 -146
  459. package/dist/molecules/date-picker/index.cjs.map +1 -1
  460. package/dist/molecules/date-picker/index.js +10 -8
  461. package/dist/molecules/description-json-render.cjs +182 -120
  462. package/dist/molecules/description-json-render.cjs.map +1 -1
  463. package/dist/molecules/description-json-render.js +7 -6
  464. package/dist/molecules/download-card.cjs +67 -8
  465. package/dist/molecules/download-card.cjs.map +1 -1
  466. package/dist/molecules/download-card.js +6 -5
  467. package/dist/molecules/dynamic-field.cjs +222 -72
  468. package/dist/molecules/dynamic-field.cjs.map +1 -1
  469. package/dist/molecules/dynamic-field.js +13 -11
  470. package/dist/molecules/dynamic-form-editor-field-editor-panel.cjs +359 -267
  471. package/dist/molecules/dynamic-form-editor-field-editor-panel.cjs.map +1 -1
  472. package/dist/molecules/dynamic-form-editor-field-editor-panel.js +9 -7
  473. package/dist/molecules/dynamic-form-editor-field-list-panel.cjs +115 -47
  474. package/dist/molecules/dynamic-form-editor-field-list-panel.cjs.map +1 -1
  475. package/dist/molecules/dynamic-form-editor-field-list-panel.js +6 -4
  476. package/dist/molecules/dynamic-form-editor-issues-panel.cjs +39 -2
  477. package/dist/molecules/dynamic-form-editor-issues-panel.cjs.map +1 -1
  478. package/dist/molecules/dynamic-form-editor-issues-panel.js +4 -3
  479. package/dist/molecules/dynamic-form-editor-preview-panel.cjs +239 -89
  480. package/dist/molecules/dynamic-form-editor-preview-panel.cjs.map +1 -1
  481. package/dist/molecules/dynamic-form-editor-preview-panel.js +15 -13
  482. package/dist/molecules/dynamic-form-editor.cjs +571 -407
  483. package/dist/molecules/dynamic-form-editor.cjs.map +1 -1
  484. package/dist/molecules/dynamic-form-editor.js +21 -19
  485. package/dist/molecules/dynamic-form.cjs +235 -85
  486. package/dist/molecules/dynamic-form.cjs.map +1 -1
  487. package/dist/molecules/dynamic-form.js +14 -12
  488. package/dist/molecules/expand-table/index.cjs +100 -42
  489. package/dist/molecules/expand-table/index.cjs.map +1 -1
  490. package/dist/molecules/expand-table/index.js +6 -5
  491. package/dist/molecules/force-refresh.cjs +79 -24
  492. package/dist/molecules/force-refresh.cjs.map +1 -1
  493. package/dist/molecules/force-refresh.js +5 -4
  494. package/dist/molecules/form/form.cjs +54 -4
  495. package/dist/molecules/form/form.cjs.map +1 -1
  496. package/dist/molecules/form/form.js +4 -3
  497. package/dist/molecules/form/index.cjs +54 -4
  498. package/dist/molecules/form/index.cjs.map +1 -1
  499. package/dist/molecules/form/index.js +4 -3
  500. package/dist/molecules/ghost-post.cjs +72 -14
  501. package/dist/molecules/ghost-post.cjs.map +1 -1
  502. package/dist/molecules/ghost-post.d.cts +1 -0
  503. package/dist/molecules/ghost-post.d.ts +1 -0
  504. package/dist/molecules/ghost-post.js +7 -6
  505. package/dist/molecules/index.cjs +1334 -989
  506. package/dist/molecules/index.cjs.map +1 -1
  507. package/dist/molecules/index.d.cts +1 -0
  508. package/dist/molecules/index.d.ts +1 -0
  509. package/dist/molecules/index.js +80 -79
  510. package/dist/molecules/learning-post.cjs +109 -37
  511. package/dist/molecules/learning-post.cjs.map +1 -1
  512. package/dist/molecules/learning-post.d.cts +1 -0
  513. package/dist/molecules/learning-post.d.ts +1 -0
  514. package/dist/molecules/learning-post.js +9 -8
  515. package/dist/molecules/navigation.cjs +49 -5
  516. package/dist/molecules/navigation.cjs.map +1 -1
  517. package/dist/molecules/navigation.js +5 -4
  518. package/dist/molecules/one-on-one-guide-list.cjs +56 -6
  519. package/dist/molecules/one-on-one-guide-list.cjs.map +1 -1
  520. package/dist/molecules/one-on-one-guide-list.js +6 -5
  521. package/dist/molecules/radio-button-card.cjs +77 -13
  522. package/dist/molecules/radio-button-card.cjs.map +1 -1
  523. package/dist/molecules/radio-button-card.js +4 -3
  524. package/dist/molecules/stepper.cjs +55 -4
  525. package/dist/molecules/stepper.cjs.map +1 -1
  526. package/dist/molecules/stepper.js +5 -4
  527. package/dist/molecules/tag-selector.cjs +256 -180
  528. package/dist/molecules/tag-selector.cjs.map +1 -1
  529. package/dist/molecules/tag-selector.js +9 -7
  530. package/dist/molecules/time-select.cjs +180 -126
  531. package/dist/molecules/time-select.cjs.map +1 -1
  532. package/dist/molecules/time-select.d.cts +1 -0
  533. package/dist/molecules/time-select.d.ts +1 -0
  534. package/dist/molecules/time-select.js +5 -3
  535. package/dist/molecules/training-info-guideline.cjs +75 -11
  536. package/dist/molecules/training-info-guideline.cjs.map +1 -1
  537. package/dist/molecules/training-info-guideline.js +10 -9
  538. package/dist/theme/theme-provider.cjs +53 -1
  539. package/dist/theme/theme-provider.cjs.map +1 -1
  540. package/dist/theme/theme-provider.d.cts +18 -2
  541. package/dist/theme/theme-provider.d.ts +18 -2
  542. package/dist/theme/theme-provider.js +4 -1
  543. package/dist/utils/convert-button-size.d.cts +1 -0
  544. package/dist/utils/convert-button-size.d.ts +1 -0
  545. package/dist/utils/convert-icon-button-size.d.cts +1 -0
  546. package/dist/utils/convert-icon-button-size.d.ts +1 -0
  547. package/dist/utils/index.cjs +25 -0
  548. package/dist/utils/index.cjs.map +1 -1
  549. package/dist/utils/index.d.cts +2 -0
  550. package/dist/utils/index.d.ts +2 -0
  551. package/dist/utils/index.js +5 -1
  552. package/dist/utils/resolve-color.cjs +51 -0
  553. package/dist/utils/resolve-color.cjs.map +1 -0
  554. package/dist/utils/resolve-color.d.cts +38 -0
  555. package/dist/utils/resolve-color.d.ts +38 -0
  556. package/dist/utils/resolve-color.js +8 -0
  557. package/dist/utils/resolve-color.js.map +1 -0
  558. package/package.json +1 -1
  559. package/src/atoms/alert-dialog.tsx +38 -1
  560. package/src/atoms/avatar.tsx +18 -3
  561. package/src/atoms/badge.tsx +15 -22
  562. package/src/atoms/blockquote.tsx +31 -1
  563. package/src/atoms/button.tsx +12 -3
  564. package/src/atoms/button.type.ts +6 -1
  565. package/src/atoms/call-out.tsx +48 -1
  566. package/src/atoms/check-box-card.tsx +51 -1
  567. package/src/atoms/check-box-group.tsx +19 -2
  568. package/src/atoms/check-box.tsx +17 -3
  569. package/src/atoms/code.tsx +31 -1
  570. package/src/atoms/data-list.tsx +47 -1
  571. package/src/atoms/dropdown-menu.tsx +53 -6
  572. package/src/atoms/heading.tsx +22 -4
  573. package/src/atoms/hover-card.tsx +37 -1
  574. package/src/atoms/icon-button.tsx +12 -3
  575. package/src/atoms/link.tsx +21 -3
  576. package/src/atoms/pagination.tsx +21 -2
  577. package/src/atoms/popover.tsx +37 -1
  578. package/src/atoms/progress.tsx +31 -1
  579. package/src/atoms/radio-cards.tsx +49 -1
  580. package/src/atoms/radio-group.tsx +49 -1
  581. package/src/atoms/radio.tsx +31 -1
  582. package/src/atoms/segmented-control.tsx +3 -0
  583. package/src/atoms/select.tsx +67 -19
  584. package/src/atoms/switch.tsx +31 -1
  585. package/src/atoms/tab-nav.tsx +42 -1
  586. package/src/atoms/tabs.tsx +40 -1
  587. package/src/atoms/tooltip.tsx +14 -1
  588. package/src/atoms/typo.tsx +21 -3
  589. package/src/molecules/radio-button-card.tsx +6 -4
  590. package/src/theme/theme-provider.tsx +38 -3
  591. package/src/utils/index.ts +2 -1
  592. package/src/utils/resolve-color.ts +86 -0
  593. package/dist/chunk-365QMK4D.js +0 -7
  594. package/dist/chunk-365QMK4D.js.map +0 -1
  595. package/dist/chunk-3NUQAVE6.js.map +0 -1
  596. package/dist/chunk-5AVBYDPB.js +0 -7
  597. package/dist/chunk-5AVBYDPB.js.map +0 -1
  598. package/dist/chunk-5ZITU5L7.js +0 -7
  599. package/dist/chunk-5ZITU5L7.js.map +0 -1
  600. package/dist/chunk-6DJOIRMF.js +0 -7
  601. package/dist/chunk-6DJOIRMF.js.map +0 -1
  602. package/dist/chunk-6IVCARWS.js +0 -7
  603. package/dist/chunk-6IVCARWS.js.map +0 -1
  604. package/dist/chunk-7FKRQQYK.js +0 -15
  605. package/dist/chunk-7FKRQQYK.js.map +0 -1
  606. package/dist/chunk-B6XJN6EC.js +0 -7
  607. package/dist/chunk-B6XJN6EC.js.map +0 -1
  608. package/dist/chunk-BESTU2AY.js.map +0 -1
  609. package/dist/chunk-CSKNBWPB.js.map +0 -1
  610. package/dist/chunk-DHZVOXFM.js +0 -35
  611. package/dist/chunk-DHZVOXFM.js.map +0 -1
  612. package/dist/chunk-FPD73OHW.js +0 -7
  613. package/dist/chunk-FPD73OHW.js.map +0 -1
  614. package/dist/chunk-HFVVQEOZ.js +0 -1
  615. package/dist/chunk-HQATHJBN.js.map +0 -1
  616. package/dist/chunk-J242TTFH.js +0 -7
  617. package/dist/chunk-J242TTFH.js.map +0 -1
  618. package/dist/chunk-K36TPMKL.js.map +0 -1
  619. package/dist/chunk-KTSEZC6A.js +0 -49
  620. package/dist/chunk-KTSEZC6A.js.map +0 -1
  621. package/dist/chunk-MIMJ7LON.js +0 -7
  622. package/dist/chunk-MIMJ7LON.js.map +0 -1
  623. package/dist/chunk-O3T3TM3V.js +0 -7
  624. package/dist/chunk-O3T3TM3V.js.map +0 -1
  625. package/dist/chunk-OHMOP5PV.js +0 -7
  626. package/dist/chunk-OHMOP5PV.js.map +0 -1
  627. package/dist/chunk-OYM4XCHQ.js +0 -7
  628. package/dist/chunk-OYM4XCHQ.js.map +0 -1
  629. package/dist/chunk-PMJIFLDT.js.map +0 -1
  630. package/dist/chunk-SMLC2O3V.js +0 -42
  631. package/dist/chunk-SMLC2O3V.js.map +0 -1
  632. package/dist/chunk-TVDKGMBI.js.map +0 -1
  633. package/dist/chunk-VTJZMOSP.js +0 -7
  634. package/dist/chunk-VTJZMOSP.js.map +0 -1
  635. package/dist/chunk-VYCYVN3L.js.map +0 -1
  636. package/dist/chunk-W7X7KSJP.js.map +0 -1
  637. package/dist/chunk-X2GMDZ7M.js +0 -59
  638. package/dist/chunk-X2GMDZ7M.js.map +0 -1
  639. package/dist/chunk-XK6VEVOK.js.map +0 -1
  640. package/dist/chunk-YGL6SWKN.js +0 -7
  641. package/dist/chunk-YGL6SWKN.js.map +0 -1
  642. package/dist/chunk-YJ7ZFOYL.js +0 -7
  643. package/dist/chunk-YJ7ZFOYL.js.map +0 -1
  644. package/dist/chunk-ZVDAEY5Q.js.map +0 -1
  645. /package/dist/{chunk-GGLDVUYU.js.map → chunk-2FB75HU2.js.map} +0 -0
  646. /package/dist/{chunk-7ITDAUWI.js.map → chunk-2I37QLRA.js.map} +0 -0
  647. /package/dist/{chunk-PXPGCDNA.js.map → chunk-2O7NVLVP.js.map} +0 -0
  648. /package/dist/{chunk-NZ6ONU5Z.js.map → chunk-2SM37SB4.js.map} +0 -0
  649. /package/dist/{chunk-NLW32DPB.js.map → chunk-2WNLUQX5.js.map} +0 -0
  650. /package/dist/{chunk-XBOSNFUM.js.map → chunk-447H6BVE.js.map} +0 -0
  651. /package/dist/{chunk-5V6MQUTB.js.map → chunk-5OW76AER.js.map} +0 -0
  652. /package/dist/{chunk-44VLRAHW.js.map → chunk-6YJGQWD6.js.map} +0 -0
  653. /package/dist/{chunk-KCCYHT23.js.map → chunk-7JW5Z2TL.js.map} +0 -0
  654. /package/dist/{chunk-JZVK4NDF.js.map → chunk-7PBLFV5L.js.map} +0 -0
  655. /package/dist/{chunk-UXVM3Y7P.js.map → chunk-A26UWBVB.js.map} +0 -0
  656. /package/dist/{chunk-HJP4STJZ.js.map → chunk-A4YOY75P.js.map} +0 -0
  657. /package/dist/{chunk-LSDD4TAP.js.map → chunk-AJTGTGOC.js.map} +0 -0
  658. /package/dist/{chunk-JWAQUXGB.js.map → chunk-BZ3EXV6A.js.map} +0 -0
  659. /package/dist/{chunk-QRI6ARS6.js.map → chunk-C2G3IB7G.js.map} +0 -0
  660. /package/dist/{chunk-4U6DFH7Z.js.map → chunk-E6GCU5IQ.js.map} +0 -0
  661. /package/dist/{chunk-VRJR534I.js.map → chunk-GAA3RTRW.js.map} +0 -0
  662. /package/dist/{chunk-VY557FHE.js.map → chunk-GE4M5GOQ.js.map} +0 -0
  663. /package/dist/{chunk-OUJAPQS2.js.map → chunk-GPULIICW.js.map} +0 -0
  664. /package/dist/{chunk-7PF6I4RN.js.map → chunk-GRDRXD53.js.map} +0 -0
  665. /package/dist/{chunk-TJKS6CLU.js.map → chunk-GREYLAMY.js.map} +0 -0
  666. /package/dist/{chunk-VREM33BW.js.map → chunk-GYSRHZRS.js.map} +0 -0
  667. /package/dist/{chunk-2TYR2RDO.js.map → chunk-H3GQHGFA.js.map} +0 -0
  668. /package/dist/{chunk-KMVSJT6Y.js.map → chunk-HH6LML5K.js.map} +0 -0
  669. /package/dist/{chunk-J62KAMQL.js.map → chunk-IM6E52L2.js.map} +0 -0
  670. /package/dist/{chunk-5LRFDSG2.js.map → chunk-J7N2IZQW.js.map} +0 -0
  671. /package/dist/{chunk-EEAHZCIK.js.map → chunk-JCUG2XKB.js.map} +0 -0
  672. /package/dist/{chunk-4LUFF5LX.js.map → chunk-JNEGSY5N.js.map} +0 -0
  673. /package/dist/{chunk-CQSM6JCO.js.map → chunk-K3Q4XLCN.js.map} +0 -0
  674. /package/dist/{chunk-4TST4UK5.js.map → chunk-KO3V7KB6.js.map} +0 -0
  675. /package/dist/{chunk-3U6FXC6R.js.map → chunk-LIWQ47VQ.js.map} +0 -0
  676. /package/dist/{chunk-2ZSK45QM.js.map → chunk-LQ3WGFS7.js.map} +0 -0
  677. /package/dist/{chunk-A7LYIUE7.js.map → chunk-M77YPVQN.js.map} +0 -0
  678. /package/dist/{chunk-P4KO43AP.js.map → chunk-MCKWO7K4.js.map} +0 -0
  679. /package/dist/{chunk-G7NEBNHU.js.map → chunk-MGR37YQB.js.map} +0 -0
  680. /package/dist/{chunk-QDC3LFHS.js.map → chunk-MMLVZWMD.js.map} +0 -0
  681. /package/dist/{chunk-D4JZHM4J.js.map → chunk-MP5KZULQ.js.map} +0 -0
  682. /package/dist/{chunk-WMWXF44S.js.map → chunk-MSLSD7F6.js.map} +0 -0
  683. /package/dist/{chunk-JUDD3XGY.js.map → chunk-MSM2QG23.js.map} +0 -0
  684. /package/dist/{chunk-NVQSH733.js.map → chunk-NFMEBYNY.js.map} +0 -0
  685. /package/dist/{chunk-7ZMY4CAZ.js.map → chunk-NIHOKIYW.js.map} +0 -0
  686. /package/dist/{chunk-3GQQQBJN.js.map → chunk-NYG34MV6.js.map} +0 -0
  687. /package/dist/{chunk-XF7FPCS7.js.map → chunk-OA3DGWVL.js.map} +0 -0
  688. /package/dist/{chunk-F5IXHUBI.js.map → chunk-OBWQ3N5D.js.map} +0 -0
  689. /package/dist/{chunk-HVXBZGLT.js.map → chunk-OEHVGPWL.js.map} +0 -0
  690. /package/dist/{chunk-HFVVQEOZ.js.map → chunk-OLJN3WXR.js.map} +0 -0
  691. /package/dist/{chunk-WE3TWSC4.js.map → chunk-OPYRV6XJ.js.map} +0 -0
  692. /package/dist/{chunk-WFOIY6OR.js.map → chunk-OQN4E2QP.js.map} +0 -0
  693. /package/dist/{chunk-HZ7HETUI.js.map → chunk-OWQUXTQ2.js.map} +0 -0
  694. /package/dist/{chunk-7I7PZF5L.js.map → chunk-OYXUWBKS.js.map} +0 -0
  695. /package/dist/{chunk-D3KCPM4O.js.map → chunk-PE4EBBU4.js.map} +0 -0
  696. /package/dist/{chunk-3GGJWSFK.js.map → chunk-PXMJK5D5.js.map} +0 -0
  697. /package/dist/{chunk-Y4U24VXI.js.map → chunk-Q3M6GFHY.js.map} +0 -0
  698. /package/dist/{chunk-GFURX6GB.js.map → chunk-QPL7SJQM.js.map} +0 -0
  699. /package/dist/{chunk-YAUOAWYS.js.map → chunk-RMVVV5NH.js.map} +0 -0
  700. /package/dist/{chunk-RPV3QPQL.js.map → chunk-RUJZ5PE7.js.map} +0 -0
  701. /package/dist/{chunk-6J5YZTZE.js.map → chunk-T2CGNUCP.js.map} +0 -0
  702. /package/dist/{chunk-ZUZ5FT4B.js.map → chunk-TU6SGJ5Z.js.map} +0 -0
  703. /package/dist/{chunk-5ZEQ33PC.js.map → chunk-TYEGB5FQ.js.map} +0 -0
  704. /package/dist/{chunk-5AWPST2R.js.map → chunk-UFM3EL52.js.map} +0 -0
  705. /package/dist/{chunk-R3WM6HV6.js.map → chunk-VD5ZDFCM.js.map} +0 -0
  706. /package/dist/{chunk-AQVIQODP.js.map → chunk-VK6INFSB.js.map} +0 -0
  707. /package/dist/{chunk-QFEZIPWJ.js.map → chunk-WY37V3W4.js.map} +0 -0
  708. /package/dist/{chunk-SDEDXT7A.js.map → chunk-XOQXIPLL.js.map} +0 -0
  709. /package/dist/{chunk-DVYTRZOL.js.map → chunk-YCLYKBWZ.js.map} +0 -0
  710. /package/dist/{chunk-YW4IN7LP.js.map → chunk-YGNHAFBW.js.map} +0 -0
  711. /package/dist/{chunk-APG3GKDT.js.map → chunk-YWWYA2JZ.js.map} +0 -0
  712. /package/dist/{chunk-7AMHCTRM.js.map → chunk-Z5LPHG2D.js.map} +0 -0
  713. /package/dist/{chunk-GZNELGHF.js.map → chunk-ZAFLWQOV.js.map} +0 -0
  714. /package/dist/{chunk-WD5P2N6F.js.map → chunk-ZC2JPF7B.js.map} +0 -0
  715. /package/dist/{chunk-UH6Q3TEK.js.map → chunk-ZCQMCIT5.js.map} +0 -0
  716. /package/dist/{chunk-LT5C6QT7.js.map → chunk-ZUL3NYQ4.js.map} +0 -0
  717. /package/dist/{chunk-23QMZC6L.js.map → chunk-ZWYQ44CB.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/molecules/force-refresh.tsx","../../src/atoms/typo.tsx","../../src/utils/map-with-responsive.ts","../../src/atoms/code.tsx","../../src/atoms/kbd.tsx","../../src/atoms/flex.tsx"],"sourcesContent":["import React from 'react';\nimport { DotsVerticalIcon, ReloadIcon } from '@radix-ui/react-icons';\nimport { Typo } from '../atoms/typo';\nimport { Code } from '../atoms/code';\nimport { Kbd } from '../atoms/kbd';\nimport { Flex } from '../atoms/flex';\n\nfunction CodeSize3(props: { children: React.ReactNode }): React.ReactNode {\n return (\n <Code\n style={{\n display: 'inline-flex',\n justifyItems: 'center',\n alignItems: 'center',\n }}\n >\n {props.children}\n </Code>\n );\n}\n\nexport function ForceRefresh(): React.ReactNode {\n return (\n <Flex direction=\"column\" gap=\"2\">\n <Typo>\n 1. 크롬 브라우저 오른쪽 상단의{' '}\n <CodeSize3>\n <DotsVerticalIcon height=\"13px\" />\n 더보기\n </CodeSize3>\n 아이콘을 클릭합니다.\n </Typo>\n <Typo>\n 2. <CodeSize3>도구 더보기</CodeSize3> {'>'}{' '}\n <CodeSize3>개발자 도구</CodeSize3> 메뉴를 선택합니다. (또는 아래의\n 단축키를 사용 할 수 있습니다.)\n </Typo>\n <Flex direction=\"column\" gap=\"3\" p=\"0\" pl=\"3\">\n <Typo>\n a. 윈도우 단축키: <Kbd>F12</Kbd>\n </Typo>\n <Typo>\n b. 맥 단축키: <Kbd>Option</Kbd> + <Kbd>Command</Kbd> + <Kbd>I</Kbd>\n </Typo>\n </Flex>\n\n <Typo>\n 3. 개발자 도구가 열리면, 브라우저 상단에 있는{' '}\n <CodeSize3>\n <ReloadIcon style={{ paddingRight: '5px' }} />\n 새로고침 버튼\n </CodeSize3>\n 을 우클릭합니다.\n </Typo>\n\n <Typo>\n 4. 새로고침 메뉴에서 <CodeSize3>캐시 비우기 및 강력 새로고침</CodeSize3>\n 을 클릭합니다.\n </Typo>\n </Flex>\n );\n}\n","import type { TextProps as RadixTextProps } from '@radix-ui/themes';\nimport type { Responsive } from '@radix-ui/themes/props';\nimport { Text as RadixText } from '@radix-ui/themes';\nimport React, { useMemo, forwardRef } from 'react';\nimport { mapWithResponsive } from '@/utils/map-with-responsive';\n\nexport type TypoProps = RadixTextProps & {\n variant?: Responsive<'body' | 'caption' | 'subtitle'>;\n};\n\nexport const Typo = forwardRef<HTMLSpanElement, TypoProps>(\n (props: TypoProps, ref): React.ReactNode => {\n const { size, variant, children, ...rest } = props;\n\n const radixSize = useMemo<RadixTextProps['size']>(() => {\n if (size !== undefined) return size;\n\n if (variant === undefined) return '2';\n\n return mapWithResponsive({\n value: variant,\n mapFn: (variantValue?: 'body' | 'caption' | 'subtitle') => {\n switch (variantValue) {\n case 'caption':\n return '1';\n case 'subtitle':\n return '3';\n case 'body':\n default:\n return '2';\n }\n },\n });\n }, [size, variant]);\n\n return (\n <RadixText {...rest} ref={ref} size={radixSize}>\n {children}\n </RadixText>\n );\n }\n);\n\nTypo.displayName = 'Typo';\n","import type { Breakpoint, Responsive } from \"@radix-ui/themes/props\";\n\nexport const mapWithResponsive = <T extends string,K extends string>(\n args: {value: Responsive<T>, mapFn: (value?:T)=>K |undefined}\n): Responsive<K> | undefined => {\n const {value, mapFn} = args;\n if(typeof value === 'string'){\n return mapFn(value);\n };\n \n if(typeof value === 'object'){\n const newObj: Partial<Record<Breakpoint, K>> = {};\n let key: Breakpoint;\n for(key in value){\n newObj[key] = mapFn(value[key]);\n }\n return newObj;\n }\n return value;\n};\n","export { Code, type CodeProps } from '@radix-ui/themes';\n","export { Kbd, type KbdProps } from '@radix-ui/themes';\n","export { Flex, type FlexProps } from '@radix-ui/themes';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,yBAA6C;;;ACC7C,oBAAkC;AAClC,mBAA2C;;;ACDpC,IAAM,oBAAoB,CAChC,SAC+B;AAC9B,QAAM,EAAC,OAAO,MAAK,IAAI;AACvB,MAAG,OAAO,UAAU,UAAS;AAC3B,WAAO,MAAM,KAAK;AAAA,EACpB;AAAC;AAED,MAAG,OAAO,UAAU,UAAS;AAC3B,UAAM,SAAyC,CAAC;AAChD,QAAI;AACJ,SAAI,OAAO,OAAM;AACf,aAAO,GAAG,IAAI,MAAM,MAAM,GAAG,CAAC;AAAA,IAChC;AACA,WAAO;AAAA,EACT;AACA,SAAO;AACT;;;ADiBM;AA1BC,IAAM,WAAO;AAAA,EAClB,CAAC,OAAkB,QAAyB;AAC1C,UAA6C,YAArC,QAAM,SAAS,SAZ3B,IAYiD,IAAT,iBAAS,IAAT,CAA5B,QAAM,WAAS;AAEvB,UAAM,gBAAY,sBAAgC,MAAM;AACtD,UAAI,SAAS,OAAW,QAAO;AAE/B,UAAI,YAAY,OAAW,QAAO;AAElC,aAAO,kBAAkB;AAAA,QACvB,OAAO;AAAA,QACP,OAAO,CAAC,iBAAmD;AACzD,kBAAQ,cAAc;AAAA,YACpB,KAAK;AACH,qBAAO;AAAA,YACT,KAAK;AACH,qBAAO;AAAA,YACT,KAAK;AAAA,YACL;AACE,qBAAO;AAAA,UACX;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH,GAAG,CAAC,MAAM,OAAO,CAAC;AAElB,WACE,4CAAC,cAAAA,MAAA,iCAAc,OAAd,EAAoB,KAAU,MAAM,WAClC,WACH;AAAA,EAEJ;AACF;AAEA,KAAK,cAAc;;;AE3CnB,IAAAC,iBAAqC;;;ACArC,IAAAC,iBAAmC;;;ACAnC,IAAAC,iBAAqC;;;ALSjC,IAAAC,sBAAA;AAFJ,SAAS,UAAU,OAAuD;AACxE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,QACL,SAAS;AAAA,QACT,cAAc;AAAA,QACd,YAAY;AAAA,MACd;AAAA,MAEC,gBAAM;AAAA;AAAA,EACT;AAEJ;AAEO,SAAS,eAAgC;AAC9C,SACE,8CAAC,uBAAK,WAAU,UAAS,KAAI,KAC3B;AAAA,kDAAC,QAAK;AAAA;AAAA,MACe;AAAA,MACnB,8CAAC,aACC;AAAA,qDAAC,uCAAiB,QAAO,QAAO;AAAA,QAAE;AAAA,SAEpC;AAAA,MAAY;AAAA,OAEd;AAAA,IACA,8CAAC,QAAK;AAAA;AAAA,MACD,6CAAC,aAAU,6CAAM;AAAA,MAAY;AAAA,MAAE;AAAA,MAAK;AAAA,MACvC,6CAAC,aAAU,6CAAM;AAAA,MAAY;AAAA,OAE/B;AAAA,IACA,8CAAC,uBAAK,WAAU,UAAS,KAAI,KAAI,GAAE,KAAI,IAAG,KACxC;AAAA,oDAAC,QAAK;AAAA;AAAA,QACQ,6CAAC,sBAAI,iBAAG;AAAA,SACtB;AAAA,MACA,8CAAC,QAAK;AAAA;AAAA,QACM,6CAAC,sBAAI,oBAAM;AAAA,QAAM;AAAA,QAAG,6CAAC,sBAAI,qBAAO;AAAA,QAAM;AAAA,QAAG,6CAAC,sBAAI,eAAC;AAAA,SAC3D;AAAA,OACF;AAAA,IAEA,8CAAC,QAAK;AAAA;AAAA,MACwB;AAAA,MAC5B,8CAAC,aACC;AAAA,qDAAC,iCAAW,OAAO,EAAE,cAAc,MAAM,GAAG;AAAA,QAAE;AAAA,SAEhD;AAAA,MAAY;AAAA,OAEd;AAAA,IAEA,8CAAC,QAAK;AAAA;AAAA,MACS,6CAAC,aAAU,0FAAgB;AAAA,MAAY;AAAA,OAEtD;AAAA,KACF;AAEJ;","names":["RadixText","import_themes","import_themes","import_themes","import_jsx_runtime"]}
1
+ {"version":3,"sources":["../../src/molecules/force-refresh.tsx","../../src/atoms/typo.tsx","../../src/utils/map-with-responsive.ts","../../src/utils/resolve-color.ts","../../src/atoms/code.tsx","../../src/atoms/kbd.tsx","../../src/atoms/flex.tsx"],"sourcesContent":["import React from 'react';\nimport { DotsVerticalIcon, ReloadIcon } from '@radix-ui/react-icons';\nimport { Typo } from '../atoms/typo';\nimport { Code } from '../atoms/code';\nimport { Kbd } from '../atoms/kbd';\nimport { Flex } from '../atoms/flex';\n\nfunction CodeSize3(props: { children: React.ReactNode }): React.ReactNode {\n return (\n <Code\n style={{\n display: 'inline-flex',\n justifyItems: 'center',\n alignItems: 'center',\n }}\n >\n {props.children}\n </Code>\n );\n}\n\nexport function ForceRefresh(): React.ReactNode {\n return (\n <Flex direction=\"column\" gap=\"2\">\n <Typo>\n 1. 크롬 브라우저 오른쪽 상단의{' '}\n <CodeSize3>\n <DotsVerticalIcon height=\"13px\" />\n 더보기\n </CodeSize3>\n 아이콘을 클릭합니다.\n </Typo>\n <Typo>\n 2. <CodeSize3>도구 더보기</CodeSize3> {'>'}{' '}\n <CodeSize3>개발자 도구</CodeSize3> 메뉴를 선택합니다. (또는 아래의\n 단축키를 사용 할 수 있습니다.)\n </Typo>\n <Flex direction=\"column\" gap=\"3\" p=\"0\" pl=\"3\">\n <Typo>\n a. 윈도우 단축키: <Kbd>F12</Kbd>\n </Typo>\n <Typo>\n b. 맥 단축키: <Kbd>Option</Kbd> + <Kbd>Command</Kbd> + <Kbd>I</Kbd>\n </Typo>\n </Flex>\n\n <Typo>\n 3. 개발자 도구가 열리면, 브라우저 상단에 있는{' '}\n <CodeSize3>\n <ReloadIcon style={{ paddingRight: '5px' }} />\n 새로고침 버튼\n </CodeSize3>\n 을 우클릭합니다.\n </Typo>\n\n <Typo>\n 4. 새로고침 메뉴에서 <CodeSize3>캐시 비우기 및 강력 새로고침</CodeSize3>\n 을 클릭합니다.\n </Typo>\n </Flex>\n );\n}\n","import type { TextProps as RadixTextProps } from '@radix-ui/themes';\nimport type { Responsive } from '@radix-ui/themes/props';\nimport { Text as RadixText } from '@radix-ui/themes';\nimport { clsx } from 'clsx';\nimport React, { useMemo, forwardRef } from 'react';\nimport { mapWithResponsive } from '@/utils/map-with-responsive';\nimport {\n resolveColor,\n type DistributiveOmit,\n type UiColor,\n} from '../utils/resolve-color';\n\nexport type TypoProps = DistributiveOmit<RadixTextProps, 'color'> & {\n variant?: Responsive<'body' | 'caption' | 'subtitle'>;\n color?: UiColor;\n};\n\nexport const Typo = forwardRef<HTMLSpanElement, TypoProps>(\n (props: TypoProps, ref): React.ReactNode => {\n const { size, variant, children, color, className, ...rest } = props;\n\n const { color: radixColor, className: colorClassName } = useMemo(\n () => resolveColor(color),\n [color]\n );\n\n const radixSize = useMemo<RadixTextProps['size']>(() => {\n if (size !== undefined) return size;\n\n if (variant === undefined) return '2';\n\n return mapWithResponsive({\n value: variant,\n mapFn: (variantValue?: 'body' | 'caption' | 'subtitle') => {\n switch (variantValue) {\n case 'caption':\n return '1';\n case 'subtitle':\n return '3';\n case 'body':\n default:\n return '2';\n }\n },\n });\n }, [size, variant]);\n\n return (\n <RadixText\n {...rest}\n className={clsx(colorClassName, className)}\n color={radixColor}\n ref={ref}\n size={radixSize}\n >\n {children}\n </RadixText>\n );\n }\n);\n\nTypo.displayName = 'Typo';\n","import type { Breakpoint, Responsive } from \"@radix-ui/themes/props\";\n\nexport const mapWithResponsive = <T extends string,K extends string>(\n args: {value: Responsive<T>, mapFn: (value?:T)=>K |undefined}\n): Responsive<K> | undefined => {\n const {value, mapFn} = args;\n if(typeof value === 'string'){\n return mapFn(value);\n };\n \n if(typeof value === 'object'){\n const newObj: Partial<Record<Breakpoint, K>> = {};\n let key: Breakpoint;\n for(key in value){\n newObj[key] = mapFn(value[key]);\n }\n return newObj;\n }\n return value;\n};\n","import type { BadgeProps as RadixBadgeProps } from '@radix-ui/themes';\n\n/**\n * Radix Themes가 제공하는 accent color union (gray, red, blue, ...).\n * 모든 color 지원 컴포넌트가 동일한 union을 공유하므로 Badge에서 파생한다.\n */\nexport type RadixColor = NonNullable<RadixBadgeProps['color']>;\n\n/** TIPP 시맨틱 color 별칭. */\nexport type SemanticColor = 'error' | 'accent' | 'neutral' | 'success';\n\n/**\n * Radix accent에 대응이 없어 CSS accent override로 처리하는 커스텀 color.\n * (예: black — `style/black.scss`의 `.tipp-accent-black` 참고)\n */\nexport type CustomColor = 'black';\n\n/** color 지원 컴포넌트가 노출하는 통합 color 타입. */\nexport type UiColor = RadixColor | SemanticColor | CustomColor;\n\n/**\n * union 각 멤버에 분배되는 Omit.\n * Radix의 polymorphic 컴포넌트 props(Text/Heading/Link 등 `as`로 분기되는 union)에서\n * 키를 제거할 때 일반 Omit은 union을 단일 객체로 합쳐 `as` 분기를 무너뜨리므로 이 타입을 쓴다.\n */\nexport type DistributiveOmit<T, K extends PropertyKey> = T extends unknown\n ? Omit<T, K>\n : never;\n\nconst SEMANTIC_COLOR_MAP: Record<SemanticColor, RadixColor | undefined> = {\n error: 'red',\n neutral: 'gray',\n success: 'green',\n accent: undefined,\n};\n\ninterface CustomColorConfig {\n /**\n * accent override를 적용할 className.\n */\n className: string;\n /**\n * Radix에 넘길 fallback color.\n * Text/Heading/Link 등은 `color` prop이 있어야 `data-accent-color`가 붙어\n * `--accent-*`를 참조하므로, 유효한 Radix color를 함께 넘긴 뒤 className으로\n * `--accent-*`를 덮어쓴다. (Badge/Button은 prop 없이도 accent 기반이라 무해)\n */\n fallbackColor: RadixColor;\n}\n\nconst CUSTOM_COLOR_MAP: Record<CustomColor, CustomColorConfig> = {\n black: { className: 'tipp-accent-black', fallbackColor: 'gray' },\n};\n\nconst isSemanticColor = (color?: UiColor): color is SemanticColor =>\n color !== undefined && color in SEMANTIC_COLOR_MAP;\n\nconst isCustomColor = (color?: UiColor): color is CustomColor =>\n color !== undefined && color in CUSTOM_COLOR_MAP;\n\nexport interface ResolvedColor {\n /** Radix 컴포넌트의 `color` prop에 그대로 전달할 값. custom color면 undefined. */\n color?: RadixColor;\n /** accent override를 적용하기 위해 요소에 붙일 className. */\n className?: string;\n}\n\n/**\n * 통합 color 입력을 Radix color prop과 className으로 정규화한다.\n *\n * - custom color(black 등): Radix color는 비우고 accent override className을 반환\n * - semantic color(error/neutral/success/accent): 대응 Radix color로 변환\n * - Radix color: 그대로 pass-through\n */\nexport const resolveColor = (color?: UiColor): ResolvedColor => {\n if (isCustomColor(color)) {\n const { className, fallbackColor } = CUSTOM_COLOR_MAP[color];\n return { color: fallbackColor, className };\n }\n\n if (isSemanticColor(color)) {\n return { color: SEMANTIC_COLOR_MAP[color] };\n }\n\n return { color };\n};\n","import {\n Code as RadixCode,\n type CodeProps as RadixCodeProps,\n} from '@radix-ui/themes';\nimport { clsx } from 'clsx';\nimport React, { forwardRef } from 'react';\nimport { resolveColor, type UiColor } from '../utils/resolve-color';\n\nexport type CodeProps = Omit<RadixCodeProps, 'color'> & {\n color?: UiColor;\n};\n\nexport const Code = forwardRef<React.ComponentRef<typeof RadixCode>, CodeProps>(\n (props, ref): React.ReactNode => {\n const { color, className, ...rest } = props;\n\n const { color: radixColor, className: colorClassName } =\n resolveColor(color);\n\n return (\n <RadixCode\n {...rest}\n className={clsx(colorClassName, className)}\n color={radixColor}\n ref={ref}\n />\n );\n }\n);\n\nCode.displayName = 'Code';\n","export { Kbd, type KbdProps } from '@radix-ui/themes';\n","export { Flex, type FlexProps } from '@radix-ui/themes';\n"],"mappings":"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","names":["RadixText","import_themes","import_clsx","import_react","import_jsx_runtime","RadixCode","import_themes","import_themes","import_jsx_runtime"]}
@@ -1,11 +1,12 @@
1
1
  import {
2
2
  ForceRefresh
3
- } from "../chunk-GGLDVUYU.js";
3
+ } from "../chunk-2FB75HU2.js";
4
4
  import "../chunk-TULWX7D6.js";
5
- import "../chunk-OHMOP5PV.js";
6
- import "../chunk-25HMMI7R.js";
7
- import "../chunk-PMJIFLDT.js";
5
+ import "../chunk-UFWDQGOK.js";
6
+ import "../chunk-GR4PG6HY.js";
8
7
  import "../chunk-LDBWASUA.js";
8
+ import "../chunk-25HMMI7R.js";
9
+ import "../chunk-VFQD57ZY.js";
9
10
  import "../chunk-CRTRMMJ7.js";
10
11
  export {
11
12
  ForceRefresh
@@ -68,6 +68,7 @@ var import_react3 = require("react");
68
68
 
69
69
  // src/atoms/heading.tsx
70
70
  var import_themes = require("@radix-ui/themes");
71
+ var import_clsx = require("clsx");
71
72
  var import_react = require("react");
72
73
 
73
74
  // src/utils/map-with-responsive.ts
@@ -88,6 +89,29 @@ var mapWithResponsive = (args) => {
88
89
  return value;
89
90
  };
90
91
 
92
+ // src/utils/resolve-color.ts
93
+ var SEMANTIC_COLOR_MAP = {
94
+ error: "red",
95
+ neutral: "gray",
96
+ success: "green",
97
+ accent: void 0
98
+ };
99
+ var CUSTOM_COLOR_MAP = {
100
+ black: { className: "tipp-accent-black", fallbackColor: "gray" }
101
+ };
102
+ var isSemanticColor = (color) => color !== void 0 && color in SEMANTIC_COLOR_MAP;
103
+ var isCustomColor = (color) => color !== void 0 && color in CUSTOM_COLOR_MAP;
104
+ var resolveColor = (color) => {
105
+ if (isCustomColor(color)) {
106
+ const { className, fallbackColor } = CUSTOM_COLOR_MAP[color];
107
+ return { color: fallbackColor, className };
108
+ }
109
+ if (isSemanticColor(color)) {
110
+ return { color: SEMANTIC_COLOR_MAP[color] };
111
+ }
112
+ return { color };
113
+ };
114
+
91
115
  // src/atoms/heading.tsx
92
116
  var import_themes2 = require("@radix-ui/themes");
93
117
  var import_jsx_runtime = require("react/jsx-runtime");
@@ -108,23 +132,40 @@ var mapVariant = (variant) => {
108
132
  }
109
133
  };
110
134
  function Heading2(props) {
111
- const _a = props, { size, children, variant } = _a, rest = __objRest(_a, ["size", "children", "variant"]);
135
+ const _a = props, { size, children, variant, color, className } = _a, rest = __objRest(_a, ["size", "children", "variant", "color", "className"]);
136
+ const { color: radixColor, className: colorClassName } = (0, import_react.useMemo)(
137
+ () => resolveColor(color),
138
+ [color]
139
+ );
112
140
  const radixSize = (0, import_react.useMemo)(() => {
113
141
  return variant ? mapWithResponsive({
114
142
  value: variant,
115
143
  mapFn: mapVariant
116
144
  }) : size;
117
145
  }, [size, variant]);
118
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Heading, __spreadProps(__spreadValues({}, rest), { size: radixSize, children }));
146
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
147
+ import_themes.Heading,
148
+ __spreadProps(__spreadValues({}, rest), {
149
+ className: (0, import_clsx.clsx)(colorClassName, className),
150
+ color: radixColor,
151
+ size: radixSize,
152
+ children
153
+ })
154
+ );
119
155
  }
120
156
 
121
157
  // src/atoms/typo.tsx
122
158
  var import_themes3 = require("@radix-ui/themes");
159
+ var import_clsx2 = require("clsx");
123
160
  var import_react2 = require("react");
124
161
  var import_jsx_runtime2 = require("react/jsx-runtime");
125
162
  var Typo = (0, import_react2.forwardRef)(
126
163
  (props, ref) => {
127
- const _a = props, { size, variant, children } = _a, rest = __objRest(_a, ["size", "variant", "children"]);
164
+ const _a = props, { size, variant, children, color, className } = _a, rest = __objRest(_a, ["size", "variant", "children", "color", "className"]);
165
+ const { color: radixColor, className: colorClassName } = (0, import_react2.useMemo)(
166
+ () => resolveColor(color),
167
+ [color]
168
+ );
128
169
  const radixSize = (0, import_react2.useMemo)(() => {
129
170
  if (size !== void 0) return size;
130
171
  if (variant === void 0) return "2";
@@ -143,7 +184,16 @@ var Typo = (0, import_react2.forwardRef)(
143
184
  }
144
185
  });
145
186
  }, [size, variant]);
146
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_themes3.Text, __spreadProps(__spreadValues({}, rest), { ref, size: radixSize, children }));
187
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
188
+ import_themes3.Text,
189
+ __spreadProps(__spreadValues({}, rest), {
190
+ className: (0, import_clsx2.clsx)(colorClassName, className),
191
+ color: radixColor,
192
+ ref,
193
+ size: radixSize,
194
+ children
195
+ })
196
+ );
147
197
  }
148
198
  );
149
199
  Typo.displayName = "Typo";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecules/form/form.tsx","../../../src/atoms/heading.tsx","../../../src/utils/map-with-responsive.ts","../../../src/atoms/typo.tsx"],"sourcesContent":["import * as RadixForm from '@radix-ui/react-form';\nimport React, { createContext, forwardRef, useContext, useMemo } from 'react';\nimport type { HeadingProps } from '@radix-ui/themes';\nimport { Heading } from '../../atoms/heading';\nimport type { TypoProps } from '../../atoms/typo';\nimport { Typo } from '../../atoms/typo';\n\nconst Root = forwardRef<HTMLFormElement, RadixForm.FormProps>(\n ({ children, className, ...rest }, ref) => {\n return (\n <RadixForm.Root\n {...rest}\n className={`FormRoot ${className || ''}`}\n ref={ref}\n >\n {children}\n </RadixForm.Root>\n );\n }\n);\n\nRoot.displayName = 'FORM_ROOT';\n\nexport type FormFieldProps = RadixForm.FormFieldProps & { required?: boolean };\n\nconst FieldContext = createContext<FormFieldProps>({\n name: '',\n});\n\nconst Field = forwardRef<HTMLDivElement, FormFieldProps>(\n ({ children, className, ...rest }, ref) => {\n return (\n <RadixForm.Field\n {...rest}\n className={`FormField ${className || ''}`}\n ref={ref}\n >\n <FieldContext.Provider value={rest}>{children}</FieldContext.Provider>\n </RadixForm.Field>\n );\n }\n);\nField.displayName = 'FORM_FIELD';\n\nexport type FormLabelProps = RadixForm.FormLabelProps & {\n /** label의 타입을 지정 */\n variant?: 'title' | 'body' | 'caption';\n};\n\nfunction HeadingLabel(props: HeadingProps): React.ReactNode {\n return (\n <Heading variant=\"heading5\" {...props}>\n {props.children}\n </Heading>\n );\n}\n\nfunction CaptionLabel(props: TypoProps): React.ReactNode {\n return (\n <Typo color=\"gray\" variant=\"caption\" weight=\"bold\" {...props}>\n {props.children}\n </Typo>\n );\n}\n\nfunction BodyLabel(props: TypoProps): React.ReactNode {\n return (\n <Typo variant=\"body\" weight=\"bold\" {...props}>\n {props.children}\n </Typo>\n );\n}\n\nconst Label = forwardRef<HTMLLabelElement, FormLabelProps>(\n ({ children, className, variant, ...rest }, ref) => {\n const Comp = useMemo(() => {\n switch (variant) {\n case 'title':\n return HeadingLabel;\n case 'caption':\n return CaptionLabel;\n case 'body':\n default:\n return BodyLabel;\n }\n }, [variant]);\n\n const fieldProps = useContext(FieldContext);\n return (\n <RadixForm.Label\n {...rest}\n asChild\n className={`FormLabel ${className || ''}`}\n ref={ref}\n >\n <Comp>\n {children}\n {fieldProps.required ? (\n <Typo as=\"span\" color=\"tomato\">\n {` *`}\n </Typo>\n ) : null}\n </Comp>\n </RadixForm.Label>\n );\n }\n);\nLabel.displayName = 'FORM_Label';\n\nconst Message = forwardRef<HTMLSpanElement, RadixForm.FormMessageProps>(\n ({ children, className, ...rest }, ref) => {\n return (\n <RadixForm.Message\n {...rest}\n asChild\n className={`FormMessage ${className || ''}`}\n ref={ref}\n >\n <Typo color=\"red\">{children}</Typo>\n </RadixForm.Message>\n );\n }\n);\nMessage.displayName = 'FORM_Message';\n\ntype ControlProps = Omit<RadixForm.FormControlProps, 'required'>;\nconst Control = forwardRef<HTMLInputElement, ControlProps>(\n ({ className, ...rest }, ref) => {\n const fieldProps = useContext(FieldContext);\n return (\n <RadixForm.Control\n {...rest}\n className={`FormControl ${className || ''}`}\n ref={ref}\n required={fieldProps.required}\n />\n );\n }\n);\nControl.displayName = 'FORM_Control';\n\ninterface FormItemProps extends FormFieldProps {\n children: React.ReactNode;\n label: string;\n labelVariant?: FormLabelProps['variant'];\n errorMessage?: string;\n}\n\nexport function FormItem({\n label,\n labelVariant,\n children,\n errorMessage,\n ...fieldProps\n}: FormItemProps): React.ReactNode {\n return (\n <Form.Field {...fieldProps}>\n <Form.Label variant={labelVariant}>{label}</Form.Label>\n {children}\n <Form.Message forceMatch={Boolean(errorMessage)}>\n {errorMessage}\n </Form.Message>\n </Form.Field>\n );\n}\n\nexport const Form = {\n Root,\n Field,\n Label,\n Message,\n Control: RadixForm.Control,\n Submit: RadixForm.Submit,\n FormItem,\n};\n","import {\n Heading as RadixHeading,\n type HeadingProps as RadixHeadingProps,\n} from '@radix-ui/themes';\nimport type { Responsive } from '@radix-ui/themes/props';\nimport { useMemo } from 'react';\nimport { mapWithResponsive } from '@/utils/map-with-responsive';\n\nexport { Heading as RadixHeading } from '@radix-ui/themes';\ntype HeadingVariant =\n | 'heading1'\n | 'heading2'\n | 'heading3'\n | 'heading4'\n | 'heading5';\nexport type HeadingProps = RadixHeadingProps & {\n variant?: Responsive<HeadingVariant>;\n};\n\ntype HeadingSize = '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9';\n\nconst mapVariant = (variant?: HeadingVariant): HeadingSize | undefined => {\n switch (variant) {\n case 'heading1':\n return '7';\n case 'heading2':\n return '6';\n case 'heading3':\n return '5';\n case 'heading4':\n return '4';\n case 'heading5':\n return '3';\n default:\n return undefined;\n }\n};\n\nexport function Heading(props: HeadingProps): React.ReactNode {\n const { size, children, variant, ...rest } = props;\n const radixSize = useMemo<RadixHeadingProps['size']>(() => {\n return variant\n ? mapWithResponsive({\n value: variant,\n mapFn: mapVariant,\n })\n : size;\n \n }, [size, variant]);\n\n return (\n <RadixHeading {...rest} size={radixSize}>\n {children}\n </RadixHeading>\n );\n}\n","import type { Breakpoint, Responsive } from \"@radix-ui/themes/props\";\n\nexport const mapWithResponsive = <T extends string,K extends string>(\n args: {value: Responsive<T>, mapFn: (value?:T)=>K |undefined}\n): Responsive<K> | undefined => {\n const {value, mapFn} = args;\n if(typeof value === 'string'){\n return mapFn(value);\n };\n \n if(typeof value === 'object'){\n const newObj: Partial<Record<Breakpoint, K>> = {};\n let key: Breakpoint;\n for(key in value){\n newObj[key] = mapFn(value[key]);\n }\n return newObj;\n }\n return value;\n};\n","import type { TextProps as RadixTextProps } from '@radix-ui/themes';\nimport type { Responsive } from '@radix-ui/themes/props';\nimport { Text as RadixText } from '@radix-ui/themes';\nimport React, { useMemo, forwardRef } from 'react';\nimport { mapWithResponsive } from '@/utils/map-with-responsive';\n\nexport type TypoProps = RadixTextProps & {\n variant?: Responsive<'body' | 'caption' | 'subtitle'>;\n};\n\nexport const Typo = forwardRef<HTMLSpanElement, TypoProps>(\n (props: TypoProps, ref): React.ReactNode => {\n const { size, variant, children, ...rest } = props;\n\n const radixSize = useMemo<RadixTextProps['size']>(() => {\n if (size !== undefined) return size;\n\n if (variant === undefined) return '2';\n\n return mapWithResponsive({\n value: variant,\n mapFn: (variantValue?: 'body' | 'caption' | 'subtitle') => {\n switch (variantValue) {\n case 'caption':\n return '1';\n case 'subtitle':\n return '3';\n case 'body':\n default:\n return '2';\n }\n },\n });\n }, [size, variant]);\n\n return (\n <RadixText {...rest} ref={ref} size={radixSize}>\n {children}\n </RadixText>\n );\n }\n);\n\nTypo.displayName = 'Typo';\n"],"mappings":"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","names":["import_react","import_themes","Heading","RadixHeading","import_themes","import_react","import_jsx_runtime","RadixText","import_jsx_runtime","Root","Field","Heading","Label","Message","Control"]}
1
+ {"version":3,"sources":["../../../src/molecules/form/form.tsx","../../../src/atoms/heading.tsx","../../../src/utils/map-with-responsive.ts","../../../src/utils/resolve-color.ts","../../../src/atoms/typo.tsx"],"sourcesContent":["import * as RadixForm from '@radix-ui/react-form';\nimport React, { createContext, forwardRef, useContext, useMemo } from 'react';\nimport type { HeadingProps } from '@radix-ui/themes';\nimport { Heading } from '../../atoms/heading';\nimport type { TypoProps } from '../../atoms/typo';\nimport { Typo } from '../../atoms/typo';\n\nconst Root = forwardRef<HTMLFormElement, RadixForm.FormProps>(\n ({ children, className, ...rest }, ref) => {\n return (\n <RadixForm.Root\n {...rest}\n className={`FormRoot ${className || ''}`}\n ref={ref}\n >\n {children}\n </RadixForm.Root>\n );\n }\n);\n\nRoot.displayName = 'FORM_ROOT';\n\nexport type FormFieldProps = RadixForm.FormFieldProps & { required?: boolean };\n\nconst FieldContext = createContext<FormFieldProps>({\n name: '',\n});\n\nconst Field = forwardRef<HTMLDivElement, FormFieldProps>(\n ({ children, className, ...rest }, ref) => {\n return (\n <RadixForm.Field\n {...rest}\n className={`FormField ${className || ''}`}\n ref={ref}\n >\n <FieldContext.Provider value={rest}>{children}</FieldContext.Provider>\n </RadixForm.Field>\n );\n }\n);\nField.displayName = 'FORM_FIELD';\n\nexport type FormLabelProps = RadixForm.FormLabelProps & {\n /** label의 타입을 지정 */\n variant?: 'title' | 'body' | 'caption';\n};\n\nfunction HeadingLabel(props: HeadingProps): React.ReactNode {\n return (\n <Heading variant=\"heading5\" {...props}>\n {props.children}\n </Heading>\n );\n}\n\nfunction CaptionLabel(props: TypoProps): React.ReactNode {\n return (\n <Typo color=\"gray\" variant=\"caption\" weight=\"bold\" {...props}>\n {props.children}\n </Typo>\n );\n}\n\nfunction BodyLabel(props: TypoProps): React.ReactNode {\n return (\n <Typo variant=\"body\" weight=\"bold\" {...props}>\n {props.children}\n </Typo>\n );\n}\n\nconst Label = forwardRef<HTMLLabelElement, FormLabelProps>(\n ({ children, className, variant, ...rest }, ref) => {\n const Comp = useMemo(() => {\n switch (variant) {\n case 'title':\n return HeadingLabel;\n case 'caption':\n return CaptionLabel;\n case 'body':\n default:\n return BodyLabel;\n }\n }, [variant]);\n\n const fieldProps = useContext(FieldContext);\n return (\n <RadixForm.Label\n {...rest}\n asChild\n className={`FormLabel ${className || ''}`}\n ref={ref}\n >\n <Comp>\n {children}\n {fieldProps.required ? (\n <Typo as=\"span\" color=\"tomato\">\n {` *`}\n </Typo>\n ) : null}\n </Comp>\n </RadixForm.Label>\n );\n }\n);\nLabel.displayName = 'FORM_Label';\n\nconst Message = forwardRef<HTMLSpanElement, RadixForm.FormMessageProps>(\n ({ children, className, ...rest }, ref) => {\n return (\n <RadixForm.Message\n {...rest}\n asChild\n className={`FormMessage ${className || ''}`}\n ref={ref}\n >\n <Typo color=\"red\">{children}</Typo>\n </RadixForm.Message>\n );\n }\n);\nMessage.displayName = 'FORM_Message';\n\ntype ControlProps = Omit<RadixForm.FormControlProps, 'required'>;\nconst Control = forwardRef<HTMLInputElement, ControlProps>(\n ({ className, ...rest }, ref) => {\n const fieldProps = useContext(FieldContext);\n return (\n <RadixForm.Control\n {...rest}\n className={`FormControl ${className || ''}`}\n ref={ref}\n required={fieldProps.required}\n />\n );\n }\n);\nControl.displayName = 'FORM_Control';\n\ninterface FormItemProps extends FormFieldProps {\n children: React.ReactNode;\n label: string;\n labelVariant?: FormLabelProps['variant'];\n errorMessage?: string;\n}\n\nexport function FormItem({\n label,\n labelVariant,\n children,\n errorMessage,\n ...fieldProps\n}: FormItemProps): React.ReactNode {\n return (\n <Form.Field {...fieldProps}>\n <Form.Label variant={labelVariant}>{label}</Form.Label>\n {children}\n <Form.Message forceMatch={Boolean(errorMessage)}>\n {errorMessage}\n </Form.Message>\n </Form.Field>\n );\n}\n\nexport const Form = {\n Root,\n Field,\n Label,\n Message,\n Control: RadixForm.Control,\n Submit: RadixForm.Submit,\n FormItem,\n};\n","import {\n Heading as RadixHeading,\n type HeadingProps as RadixHeadingProps,\n} from '@radix-ui/themes';\nimport type { Responsive } from '@radix-ui/themes/props';\nimport { clsx } from 'clsx';\nimport { useMemo } from 'react';\nimport { mapWithResponsive } from '@/utils/map-with-responsive';\nimport {\n resolveColor,\n type DistributiveOmit,\n type UiColor,\n} from '../utils/resolve-color';\n\nexport { Heading as RadixHeading } from '@radix-ui/themes';\ntype HeadingVariant =\n | 'heading1'\n | 'heading2'\n | 'heading3'\n | 'heading4'\n | 'heading5';\nexport type HeadingProps = DistributiveOmit<RadixHeadingProps, 'color'> & {\n variant?: Responsive<HeadingVariant>;\n color?: UiColor;\n};\n\ntype HeadingSize = '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9';\n\nconst mapVariant = (variant?: HeadingVariant): HeadingSize | undefined => {\n switch (variant) {\n case 'heading1':\n return '7';\n case 'heading2':\n return '6';\n case 'heading3':\n return '5';\n case 'heading4':\n return '4';\n case 'heading5':\n return '3';\n default:\n return undefined;\n }\n};\n\nexport function Heading(props: HeadingProps): React.ReactNode {\n const { size, children, variant, color, className, ...rest } = props;\n\n const { color: radixColor, className: colorClassName } = useMemo(\n () => resolveColor(color),\n [color]\n );\n\n const radixSize = useMemo<RadixHeadingProps['size']>(() => {\n return variant\n ? mapWithResponsive({\n value: variant,\n mapFn: mapVariant,\n })\n : size;\n\n }, [size, variant]);\n\n return (\n <RadixHeading\n {...rest}\n className={clsx(colorClassName, className)}\n color={radixColor}\n size={radixSize}\n >\n {children}\n </RadixHeading>\n );\n}\n","import type { Breakpoint, Responsive } from \"@radix-ui/themes/props\";\n\nexport const mapWithResponsive = <T extends string,K extends string>(\n args: {value: Responsive<T>, mapFn: (value?:T)=>K |undefined}\n): Responsive<K> | undefined => {\n const {value, mapFn} = args;\n if(typeof value === 'string'){\n return mapFn(value);\n };\n \n if(typeof value === 'object'){\n const newObj: Partial<Record<Breakpoint, K>> = {};\n let key: Breakpoint;\n for(key in value){\n newObj[key] = mapFn(value[key]);\n }\n return newObj;\n }\n return value;\n};\n","import type { BadgeProps as RadixBadgeProps } from '@radix-ui/themes';\n\n/**\n * Radix Themes가 제공하는 accent color union (gray, red, blue, ...).\n * 모든 color 지원 컴포넌트가 동일한 union을 공유하므로 Badge에서 파생한다.\n */\nexport type RadixColor = NonNullable<RadixBadgeProps['color']>;\n\n/** TIPP 시맨틱 color 별칭. */\nexport type SemanticColor = 'error' | 'accent' | 'neutral' | 'success';\n\n/**\n * Radix accent에 대응이 없어 CSS accent override로 처리하는 커스텀 color.\n * (예: black — `style/black.scss`의 `.tipp-accent-black` 참고)\n */\nexport type CustomColor = 'black';\n\n/** color 지원 컴포넌트가 노출하는 통합 color 타입. */\nexport type UiColor = RadixColor | SemanticColor | CustomColor;\n\n/**\n * union 각 멤버에 분배되는 Omit.\n * Radix의 polymorphic 컴포넌트 props(Text/Heading/Link 등 `as`로 분기되는 union)에서\n * 키를 제거할 때 일반 Omit은 union을 단일 객체로 합쳐 `as` 분기를 무너뜨리므로 이 타입을 쓴다.\n */\nexport type DistributiveOmit<T, K extends PropertyKey> = T extends unknown\n ? Omit<T, K>\n : never;\n\nconst SEMANTIC_COLOR_MAP: Record<SemanticColor, RadixColor | undefined> = {\n error: 'red',\n neutral: 'gray',\n success: 'green',\n accent: undefined,\n};\n\ninterface CustomColorConfig {\n /**\n * accent override를 적용할 className.\n */\n className: string;\n /**\n * Radix에 넘길 fallback color.\n * Text/Heading/Link 등은 `color` prop이 있어야 `data-accent-color`가 붙어\n * `--accent-*`를 참조하므로, 유효한 Radix color를 함께 넘긴 뒤 className으로\n * `--accent-*`를 덮어쓴다. (Badge/Button은 prop 없이도 accent 기반이라 무해)\n */\n fallbackColor: RadixColor;\n}\n\nconst CUSTOM_COLOR_MAP: Record<CustomColor, CustomColorConfig> = {\n black: { className: 'tipp-accent-black', fallbackColor: 'gray' },\n};\n\nconst isSemanticColor = (color?: UiColor): color is SemanticColor =>\n color !== undefined && color in SEMANTIC_COLOR_MAP;\n\nconst isCustomColor = (color?: UiColor): color is CustomColor =>\n color !== undefined && color in CUSTOM_COLOR_MAP;\n\nexport interface ResolvedColor {\n /** Radix 컴포넌트의 `color` prop에 그대로 전달할 값. custom color면 undefined. */\n color?: RadixColor;\n /** accent override를 적용하기 위해 요소에 붙일 className. */\n className?: string;\n}\n\n/**\n * 통합 color 입력을 Radix color prop과 className으로 정규화한다.\n *\n * - custom color(black 등): Radix color는 비우고 accent override className을 반환\n * - semantic color(error/neutral/success/accent): 대응 Radix color로 변환\n * - Radix color: 그대로 pass-through\n */\nexport const resolveColor = (color?: UiColor): ResolvedColor => {\n if (isCustomColor(color)) {\n const { className, fallbackColor } = CUSTOM_COLOR_MAP[color];\n return { color: fallbackColor, className };\n }\n\n if (isSemanticColor(color)) {\n return { color: SEMANTIC_COLOR_MAP[color] };\n }\n\n return { color };\n};\n","import type { TextProps as RadixTextProps } from '@radix-ui/themes';\nimport type { Responsive } from '@radix-ui/themes/props';\nimport { Text as RadixText } from '@radix-ui/themes';\nimport { clsx } from 'clsx';\nimport React, { useMemo, forwardRef } from 'react';\nimport { mapWithResponsive } from '@/utils/map-with-responsive';\nimport {\n resolveColor,\n type DistributiveOmit,\n type UiColor,\n} from '../utils/resolve-color';\n\nexport type TypoProps = DistributiveOmit<RadixTextProps, 'color'> & {\n variant?: Responsive<'body' | 'caption' | 'subtitle'>;\n color?: UiColor;\n};\n\nexport const Typo = forwardRef<HTMLSpanElement, TypoProps>(\n (props: TypoProps, ref): React.ReactNode => {\n const { size, variant, children, color, className, ...rest } = props;\n\n const { color: radixColor, className: colorClassName } = useMemo(\n () => resolveColor(color),\n [color]\n );\n\n const radixSize = useMemo<RadixTextProps['size']>(() => {\n if (size !== undefined) return size;\n\n if (variant === undefined) return '2';\n\n return mapWithResponsive({\n value: variant,\n mapFn: (variantValue?: 'body' | 'caption' | 'subtitle') => {\n switch (variantValue) {\n case 'caption':\n return '1';\n case 'subtitle':\n return '3';\n case 'body':\n default:\n return '2';\n }\n },\n });\n }, [size, variant]);\n\n return (\n <RadixText\n {...rest}\n className={clsx(colorClassName, className)}\n color={radixColor}\n ref={ref}\n size={radixSize}\n >\n {children}\n </RadixText>\n );\n }\n);\n\nTypo.displayName = 'Typo';\n"],"mappings":"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","names":["import_react","import_themes","Heading","RadixHeading","import_themes","import_clsx","import_react","import_jsx_runtime","RadixText","import_jsx_runtime","Root","Field","Heading","Label","Message","Control"]}
@@ -1,10 +1,11 @@
1
1
  import {
2
2
  Form,
3
3
  FormItem
4
- } from "../../chunk-QDC3LFHS.js";
5
- import "../../chunk-BESTU2AY.js";
6
- import "../../chunk-PMJIFLDT.js";
4
+ } from "../../chunk-MMLVZWMD.js";
5
+ import "../../chunk-NLHVQJQ2.js";
6
+ import "../../chunk-GR4PG6HY.js";
7
7
  import "../../chunk-LDBWASUA.js";
8
+ import "../../chunk-VFQD57ZY.js";
8
9
  import "../../chunk-CRTRMMJ7.js";
9
10
  export {
10
11
  Form,
@@ -70,6 +70,7 @@ var import_react3 = require("react");
70
70
 
71
71
  // src/atoms/heading.tsx
72
72
  var import_themes = require("@radix-ui/themes");
73
+ var import_clsx = require("clsx");
73
74
  var import_react = require("react");
74
75
 
75
76
  // src/utils/map-with-responsive.ts
@@ -90,6 +91,29 @@ var mapWithResponsive = (args) => {
90
91
  return value;
91
92
  };
92
93
 
94
+ // src/utils/resolve-color.ts
95
+ var SEMANTIC_COLOR_MAP = {
96
+ error: "red",
97
+ neutral: "gray",
98
+ success: "green",
99
+ accent: void 0
100
+ };
101
+ var CUSTOM_COLOR_MAP = {
102
+ black: { className: "tipp-accent-black", fallbackColor: "gray" }
103
+ };
104
+ var isSemanticColor = (color) => color !== void 0 && color in SEMANTIC_COLOR_MAP;
105
+ var isCustomColor = (color) => color !== void 0 && color in CUSTOM_COLOR_MAP;
106
+ var resolveColor = (color) => {
107
+ if (isCustomColor(color)) {
108
+ const { className, fallbackColor } = CUSTOM_COLOR_MAP[color];
109
+ return { color: fallbackColor, className };
110
+ }
111
+ if (isSemanticColor(color)) {
112
+ return { color: SEMANTIC_COLOR_MAP[color] };
113
+ }
114
+ return { color };
115
+ };
116
+
93
117
  // src/atoms/heading.tsx
94
118
  var import_themes2 = require("@radix-ui/themes");
95
119
  var import_jsx_runtime = require("react/jsx-runtime");
@@ -110,23 +134,40 @@ var mapVariant = (variant) => {
110
134
  }
111
135
  };
112
136
  function Heading2(props) {
113
- const _a = props, { size, children, variant } = _a, rest = __objRest(_a, ["size", "children", "variant"]);
137
+ const _a = props, { size, children, variant, color, className } = _a, rest = __objRest(_a, ["size", "children", "variant", "color", "className"]);
138
+ const { color: radixColor, className: colorClassName } = (0, import_react.useMemo)(
139
+ () => resolveColor(color),
140
+ [color]
141
+ );
114
142
  const radixSize = (0, import_react.useMemo)(() => {
115
143
  return variant ? mapWithResponsive({
116
144
  value: variant,
117
145
  mapFn: mapVariant
118
146
  }) : size;
119
147
  }, [size, variant]);
120
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Heading, __spreadProps(__spreadValues({}, rest), { size: radixSize, children }));
148
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
149
+ import_themes.Heading,
150
+ __spreadProps(__spreadValues({}, rest), {
151
+ className: (0, import_clsx.clsx)(colorClassName, className),
152
+ color: radixColor,
153
+ size: radixSize,
154
+ children
155
+ })
156
+ );
121
157
  }
122
158
 
123
159
  // src/atoms/typo.tsx
124
160
  var import_themes3 = require("@radix-ui/themes");
161
+ var import_clsx2 = require("clsx");
125
162
  var import_react2 = require("react");
126
163
  var import_jsx_runtime2 = require("react/jsx-runtime");
127
164
  var Typo = (0, import_react2.forwardRef)(
128
165
  (props, ref) => {
129
- const _a = props, { size, variant, children } = _a, rest = __objRest(_a, ["size", "variant", "children"]);
166
+ const _a = props, { size, variant, children, color, className } = _a, rest = __objRest(_a, ["size", "variant", "children", "color", "className"]);
167
+ const { color: radixColor, className: colorClassName } = (0, import_react2.useMemo)(
168
+ () => resolveColor(color),
169
+ [color]
170
+ );
130
171
  const radixSize = (0, import_react2.useMemo)(() => {
131
172
  if (size !== void 0) return size;
132
173
  if (variant === void 0) return "2";
@@ -145,7 +186,16 @@ var Typo = (0, import_react2.forwardRef)(
145
186
  }
146
187
  });
147
188
  }, [size, variant]);
148
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_themes3.Text, __spreadProps(__spreadValues({}, rest), { ref, size: radixSize, children }));
189
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
190
+ import_themes3.Text,
191
+ __spreadProps(__spreadValues({}, rest), {
192
+ className: (0, import_clsx2.clsx)(colorClassName, className),
193
+ color: radixColor,
194
+ ref,
195
+ size: radixSize,
196
+ children
197
+ })
198
+ );
149
199
  }
150
200
  );
151
201
  Typo.displayName = "Typo";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecules/form/index.ts","../../../src/molecules/form/form.tsx","../../../src/atoms/heading.tsx","../../../src/utils/map-with-responsive.ts","../../../src/atoms/typo.tsx"],"sourcesContent":["export * from './form';\n","import * as RadixForm from '@radix-ui/react-form';\nimport React, { createContext, forwardRef, useContext, useMemo } from 'react';\nimport type { HeadingProps } from '@radix-ui/themes';\nimport { Heading } from '../../atoms/heading';\nimport type { TypoProps } from '../../atoms/typo';\nimport { Typo } from '../../atoms/typo';\n\nconst Root = forwardRef<HTMLFormElement, RadixForm.FormProps>(\n ({ children, className, ...rest }, ref) => {\n return (\n <RadixForm.Root\n {...rest}\n className={`FormRoot ${className || ''}`}\n ref={ref}\n >\n {children}\n </RadixForm.Root>\n );\n }\n);\n\nRoot.displayName = 'FORM_ROOT';\n\nexport type FormFieldProps = RadixForm.FormFieldProps & { required?: boolean };\n\nconst FieldContext = createContext<FormFieldProps>({\n name: '',\n});\n\nconst Field = forwardRef<HTMLDivElement, FormFieldProps>(\n ({ children, className, ...rest }, ref) => {\n return (\n <RadixForm.Field\n {...rest}\n className={`FormField ${className || ''}`}\n ref={ref}\n >\n <FieldContext.Provider value={rest}>{children}</FieldContext.Provider>\n </RadixForm.Field>\n );\n }\n);\nField.displayName = 'FORM_FIELD';\n\nexport type FormLabelProps = RadixForm.FormLabelProps & {\n /** label의 타입을 지정 */\n variant?: 'title' | 'body' | 'caption';\n};\n\nfunction HeadingLabel(props: HeadingProps): React.ReactNode {\n return (\n <Heading variant=\"heading5\" {...props}>\n {props.children}\n </Heading>\n );\n}\n\nfunction CaptionLabel(props: TypoProps): React.ReactNode {\n return (\n <Typo color=\"gray\" variant=\"caption\" weight=\"bold\" {...props}>\n {props.children}\n </Typo>\n );\n}\n\nfunction BodyLabel(props: TypoProps): React.ReactNode {\n return (\n <Typo variant=\"body\" weight=\"bold\" {...props}>\n {props.children}\n </Typo>\n );\n}\n\nconst Label = forwardRef<HTMLLabelElement, FormLabelProps>(\n ({ children, className, variant, ...rest }, ref) => {\n const Comp = useMemo(() => {\n switch (variant) {\n case 'title':\n return HeadingLabel;\n case 'caption':\n return CaptionLabel;\n case 'body':\n default:\n return BodyLabel;\n }\n }, [variant]);\n\n const fieldProps = useContext(FieldContext);\n return (\n <RadixForm.Label\n {...rest}\n asChild\n className={`FormLabel ${className || ''}`}\n ref={ref}\n >\n <Comp>\n {children}\n {fieldProps.required ? (\n <Typo as=\"span\" color=\"tomato\">\n {` *`}\n </Typo>\n ) : null}\n </Comp>\n </RadixForm.Label>\n );\n }\n);\nLabel.displayName = 'FORM_Label';\n\nconst Message = forwardRef<HTMLSpanElement, RadixForm.FormMessageProps>(\n ({ children, className, ...rest }, ref) => {\n return (\n <RadixForm.Message\n {...rest}\n asChild\n className={`FormMessage ${className || ''}`}\n ref={ref}\n >\n <Typo color=\"red\">{children}</Typo>\n </RadixForm.Message>\n );\n }\n);\nMessage.displayName = 'FORM_Message';\n\ntype ControlProps = Omit<RadixForm.FormControlProps, 'required'>;\nconst Control = forwardRef<HTMLInputElement, ControlProps>(\n ({ className, ...rest }, ref) => {\n const fieldProps = useContext(FieldContext);\n return (\n <RadixForm.Control\n {...rest}\n className={`FormControl ${className || ''}`}\n ref={ref}\n required={fieldProps.required}\n />\n );\n }\n);\nControl.displayName = 'FORM_Control';\n\ninterface FormItemProps extends FormFieldProps {\n children: React.ReactNode;\n label: string;\n labelVariant?: FormLabelProps['variant'];\n errorMessage?: string;\n}\n\nexport function FormItem({\n label,\n labelVariant,\n children,\n errorMessage,\n ...fieldProps\n}: FormItemProps): React.ReactNode {\n return (\n <Form.Field {...fieldProps}>\n <Form.Label variant={labelVariant}>{label}</Form.Label>\n {children}\n <Form.Message forceMatch={Boolean(errorMessage)}>\n {errorMessage}\n </Form.Message>\n </Form.Field>\n );\n}\n\nexport const Form = {\n Root,\n Field,\n Label,\n Message,\n Control: RadixForm.Control,\n Submit: RadixForm.Submit,\n FormItem,\n};\n","import {\n Heading as RadixHeading,\n type HeadingProps as RadixHeadingProps,\n} from '@radix-ui/themes';\nimport type { Responsive } from '@radix-ui/themes/props';\nimport { useMemo } from 'react';\nimport { mapWithResponsive } from '@/utils/map-with-responsive';\n\nexport { Heading as RadixHeading } from '@radix-ui/themes';\ntype HeadingVariant =\n | 'heading1'\n | 'heading2'\n | 'heading3'\n | 'heading4'\n | 'heading5';\nexport type HeadingProps = RadixHeadingProps & {\n variant?: Responsive<HeadingVariant>;\n};\n\ntype HeadingSize = '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9';\n\nconst mapVariant = (variant?: HeadingVariant): HeadingSize | undefined => {\n switch (variant) {\n case 'heading1':\n return '7';\n case 'heading2':\n return '6';\n case 'heading3':\n return '5';\n case 'heading4':\n return '4';\n case 'heading5':\n return '3';\n default:\n return undefined;\n }\n};\n\nexport function Heading(props: HeadingProps): React.ReactNode {\n const { size, children, variant, ...rest } = props;\n const radixSize = useMemo<RadixHeadingProps['size']>(() => {\n return variant\n ? mapWithResponsive({\n value: variant,\n mapFn: mapVariant,\n })\n : size;\n \n }, [size, variant]);\n\n return (\n <RadixHeading {...rest} size={radixSize}>\n {children}\n </RadixHeading>\n );\n}\n","import type { Breakpoint, Responsive } from \"@radix-ui/themes/props\";\n\nexport const mapWithResponsive = <T extends string,K extends string>(\n args: {value: Responsive<T>, mapFn: (value?:T)=>K |undefined}\n): Responsive<K> | undefined => {\n const {value, mapFn} = args;\n if(typeof value === 'string'){\n return mapFn(value);\n };\n \n if(typeof value === 'object'){\n const newObj: Partial<Record<Breakpoint, K>> = {};\n let key: Breakpoint;\n for(key in value){\n newObj[key] = mapFn(value[key]);\n }\n return newObj;\n }\n return value;\n};\n","import type { TextProps as RadixTextProps } from '@radix-ui/themes';\nimport type { Responsive } from '@radix-ui/themes/props';\nimport { Text as RadixText } from '@radix-ui/themes';\nimport React, { useMemo, forwardRef } from 'react';\nimport { mapWithResponsive } from '@/utils/map-with-responsive';\n\nexport type TypoProps = RadixTextProps & {\n variant?: Responsive<'body' | 'caption' | 'subtitle'>;\n};\n\nexport const Typo = forwardRef<HTMLSpanElement, TypoProps>(\n (props: TypoProps, ref): React.ReactNode => {\n const { size, variant, children, ...rest } = props;\n\n const radixSize = useMemo<RadixTextProps['size']>(() => {\n if (size !== undefined) return size;\n\n if (variant === undefined) return '2';\n\n return mapWithResponsive({\n value: variant,\n mapFn: (variantValue?: 'body' | 'caption' | 'subtitle') => {\n switch (variantValue) {\n case 'caption':\n return '1';\n case 'subtitle':\n return '3';\n case 'body':\n default:\n return '2';\n }\n },\n });\n }, [size, variant]);\n\n return (\n <RadixText {...rest} ref={ref} size={radixSize}>\n {children}\n </RadixText>\n );\n }\n);\n\nTypo.displayName = 'Typo';\n"],"mappings":"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","names":["import_react","import_themes","Heading","RadixHeading","import_themes","import_react","import_jsx_runtime","RadixText","import_jsx_runtime","Root","Field","Heading","Label","Message","Control"]}
1
+ {"version":3,"sources":["../../../src/molecules/form/index.ts","../../../src/molecules/form/form.tsx","../../../src/atoms/heading.tsx","../../../src/utils/map-with-responsive.ts","../../../src/utils/resolve-color.ts","../../../src/atoms/typo.tsx"],"sourcesContent":["export * from './form';\n","import * as RadixForm from '@radix-ui/react-form';\nimport React, { createContext, forwardRef, useContext, useMemo } from 'react';\nimport type { HeadingProps } from '@radix-ui/themes';\nimport { Heading } from '../../atoms/heading';\nimport type { TypoProps } from '../../atoms/typo';\nimport { Typo } from '../../atoms/typo';\n\nconst Root = forwardRef<HTMLFormElement, RadixForm.FormProps>(\n ({ children, className, ...rest }, ref) => {\n return (\n <RadixForm.Root\n {...rest}\n className={`FormRoot ${className || ''}`}\n ref={ref}\n >\n {children}\n </RadixForm.Root>\n );\n }\n);\n\nRoot.displayName = 'FORM_ROOT';\n\nexport type FormFieldProps = RadixForm.FormFieldProps & { required?: boolean };\n\nconst FieldContext = createContext<FormFieldProps>({\n name: '',\n});\n\nconst Field = forwardRef<HTMLDivElement, FormFieldProps>(\n ({ children, className, ...rest }, ref) => {\n return (\n <RadixForm.Field\n {...rest}\n className={`FormField ${className || ''}`}\n ref={ref}\n >\n <FieldContext.Provider value={rest}>{children}</FieldContext.Provider>\n </RadixForm.Field>\n );\n }\n);\nField.displayName = 'FORM_FIELD';\n\nexport type FormLabelProps = RadixForm.FormLabelProps & {\n /** label의 타입을 지정 */\n variant?: 'title' | 'body' | 'caption';\n};\n\nfunction HeadingLabel(props: HeadingProps): React.ReactNode {\n return (\n <Heading variant=\"heading5\" {...props}>\n {props.children}\n </Heading>\n );\n}\n\nfunction CaptionLabel(props: TypoProps): React.ReactNode {\n return (\n <Typo color=\"gray\" variant=\"caption\" weight=\"bold\" {...props}>\n {props.children}\n </Typo>\n );\n}\n\nfunction BodyLabel(props: TypoProps): React.ReactNode {\n return (\n <Typo variant=\"body\" weight=\"bold\" {...props}>\n {props.children}\n </Typo>\n );\n}\n\nconst Label = forwardRef<HTMLLabelElement, FormLabelProps>(\n ({ children, className, variant, ...rest }, ref) => {\n const Comp = useMemo(() => {\n switch (variant) {\n case 'title':\n return HeadingLabel;\n case 'caption':\n return CaptionLabel;\n case 'body':\n default:\n return BodyLabel;\n }\n }, [variant]);\n\n const fieldProps = useContext(FieldContext);\n return (\n <RadixForm.Label\n {...rest}\n asChild\n className={`FormLabel ${className || ''}`}\n ref={ref}\n >\n <Comp>\n {children}\n {fieldProps.required ? (\n <Typo as=\"span\" color=\"tomato\">\n {` *`}\n </Typo>\n ) : null}\n </Comp>\n </RadixForm.Label>\n );\n }\n);\nLabel.displayName = 'FORM_Label';\n\nconst Message = forwardRef<HTMLSpanElement, RadixForm.FormMessageProps>(\n ({ children, className, ...rest }, ref) => {\n return (\n <RadixForm.Message\n {...rest}\n asChild\n className={`FormMessage ${className || ''}`}\n ref={ref}\n >\n <Typo color=\"red\">{children}</Typo>\n </RadixForm.Message>\n );\n }\n);\nMessage.displayName = 'FORM_Message';\n\ntype ControlProps = Omit<RadixForm.FormControlProps, 'required'>;\nconst Control = forwardRef<HTMLInputElement, ControlProps>(\n ({ className, ...rest }, ref) => {\n const fieldProps = useContext(FieldContext);\n return (\n <RadixForm.Control\n {...rest}\n className={`FormControl ${className || ''}`}\n ref={ref}\n required={fieldProps.required}\n />\n );\n }\n);\nControl.displayName = 'FORM_Control';\n\ninterface FormItemProps extends FormFieldProps {\n children: React.ReactNode;\n label: string;\n labelVariant?: FormLabelProps['variant'];\n errorMessage?: string;\n}\n\nexport function FormItem({\n label,\n labelVariant,\n children,\n errorMessage,\n ...fieldProps\n}: FormItemProps): React.ReactNode {\n return (\n <Form.Field {...fieldProps}>\n <Form.Label variant={labelVariant}>{label}</Form.Label>\n {children}\n <Form.Message forceMatch={Boolean(errorMessage)}>\n {errorMessage}\n </Form.Message>\n </Form.Field>\n );\n}\n\nexport const Form = {\n Root,\n Field,\n Label,\n Message,\n Control: RadixForm.Control,\n Submit: RadixForm.Submit,\n FormItem,\n};\n","import {\n Heading as RadixHeading,\n type HeadingProps as RadixHeadingProps,\n} from '@radix-ui/themes';\nimport type { Responsive } from '@radix-ui/themes/props';\nimport { clsx } from 'clsx';\nimport { useMemo } from 'react';\nimport { mapWithResponsive } from '@/utils/map-with-responsive';\nimport {\n resolveColor,\n type DistributiveOmit,\n type UiColor,\n} from '../utils/resolve-color';\n\nexport { Heading as RadixHeading } from '@radix-ui/themes';\ntype HeadingVariant =\n | 'heading1'\n | 'heading2'\n | 'heading3'\n | 'heading4'\n | 'heading5';\nexport type HeadingProps = DistributiveOmit<RadixHeadingProps, 'color'> & {\n variant?: Responsive<HeadingVariant>;\n color?: UiColor;\n};\n\ntype HeadingSize = '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9';\n\nconst mapVariant = (variant?: HeadingVariant): HeadingSize | undefined => {\n switch (variant) {\n case 'heading1':\n return '7';\n case 'heading2':\n return '6';\n case 'heading3':\n return '5';\n case 'heading4':\n return '4';\n case 'heading5':\n return '3';\n default:\n return undefined;\n }\n};\n\nexport function Heading(props: HeadingProps): React.ReactNode {\n const { size, children, variant, color, className, ...rest } = props;\n\n const { color: radixColor, className: colorClassName } = useMemo(\n () => resolveColor(color),\n [color]\n );\n\n const radixSize = useMemo<RadixHeadingProps['size']>(() => {\n return variant\n ? mapWithResponsive({\n value: variant,\n mapFn: mapVariant,\n })\n : size;\n\n }, [size, variant]);\n\n return (\n <RadixHeading\n {...rest}\n className={clsx(colorClassName, className)}\n color={radixColor}\n size={radixSize}\n >\n {children}\n </RadixHeading>\n );\n}\n","import type { Breakpoint, Responsive } from \"@radix-ui/themes/props\";\n\nexport const mapWithResponsive = <T extends string,K extends string>(\n args: {value: Responsive<T>, mapFn: (value?:T)=>K |undefined}\n): Responsive<K> | undefined => {\n const {value, mapFn} = args;\n if(typeof value === 'string'){\n return mapFn(value);\n };\n \n if(typeof value === 'object'){\n const newObj: Partial<Record<Breakpoint, K>> = {};\n let key: Breakpoint;\n for(key in value){\n newObj[key] = mapFn(value[key]);\n }\n return newObj;\n }\n return value;\n};\n","import type { BadgeProps as RadixBadgeProps } from '@radix-ui/themes';\n\n/**\n * Radix Themes가 제공하는 accent color union (gray, red, blue, ...).\n * 모든 color 지원 컴포넌트가 동일한 union을 공유하므로 Badge에서 파생한다.\n */\nexport type RadixColor = NonNullable<RadixBadgeProps['color']>;\n\n/** TIPP 시맨틱 color 별칭. */\nexport type SemanticColor = 'error' | 'accent' | 'neutral' | 'success';\n\n/**\n * Radix accent에 대응이 없어 CSS accent override로 처리하는 커스텀 color.\n * (예: black — `style/black.scss`의 `.tipp-accent-black` 참고)\n */\nexport type CustomColor = 'black';\n\n/** color 지원 컴포넌트가 노출하는 통합 color 타입. */\nexport type UiColor = RadixColor | SemanticColor | CustomColor;\n\n/**\n * union 각 멤버에 분배되는 Omit.\n * Radix의 polymorphic 컴포넌트 props(Text/Heading/Link 등 `as`로 분기되는 union)에서\n * 키를 제거할 때 일반 Omit은 union을 단일 객체로 합쳐 `as` 분기를 무너뜨리므로 이 타입을 쓴다.\n */\nexport type DistributiveOmit<T, K extends PropertyKey> = T extends unknown\n ? Omit<T, K>\n : never;\n\nconst SEMANTIC_COLOR_MAP: Record<SemanticColor, RadixColor | undefined> = {\n error: 'red',\n neutral: 'gray',\n success: 'green',\n accent: undefined,\n};\n\ninterface CustomColorConfig {\n /**\n * accent override를 적용할 className.\n */\n className: string;\n /**\n * Radix에 넘길 fallback color.\n * Text/Heading/Link 등은 `color` prop이 있어야 `data-accent-color`가 붙어\n * `--accent-*`를 참조하므로, 유효한 Radix color를 함께 넘긴 뒤 className으로\n * `--accent-*`를 덮어쓴다. (Badge/Button은 prop 없이도 accent 기반이라 무해)\n */\n fallbackColor: RadixColor;\n}\n\nconst CUSTOM_COLOR_MAP: Record<CustomColor, CustomColorConfig> = {\n black: { className: 'tipp-accent-black', fallbackColor: 'gray' },\n};\n\nconst isSemanticColor = (color?: UiColor): color is SemanticColor =>\n color !== undefined && color in SEMANTIC_COLOR_MAP;\n\nconst isCustomColor = (color?: UiColor): color is CustomColor =>\n color !== undefined && color in CUSTOM_COLOR_MAP;\n\nexport interface ResolvedColor {\n /** Radix 컴포넌트의 `color` prop에 그대로 전달할 값. custom color면 undefined. */\n color?: RadixColor;\n /** accent override를 적용하기 위해 요소에 붙일 className. */\n className?: string;\n}\n\n/**\n * 통합 color 입력을 Radix color prop과 className으로 정규화한다.\n *\n * - custom color(black 등): Radix color는 비우고 accent override className을 반환\n * - semantic color(error/neutral/success/accent): 대응 Radix color로 변환\n * - Radix color: 그대로 pass-through\n */\nexport const resolveColor = (color?: UiColor): ResolvedColor => {\n if (isCustomColor(color)) {\n const { className, fallbackColor } = CUSTOM_COLOR_MAP[color];\n return { color: fallbackColor, className };\n }\n\n if (isSemanticColor(color)) {\n return { color: SEMANTIC_COLOR_MAP[color] };\n }\n\n return { color };\n};\n","import type { TextProps as RadixTextProps } from '@radix-ui/themes';\nimport type { Responsive } from '@radix-ui/themes/props';\nimport { Text as RadixText } from '@radix-ui/themes';\nimport { clsx } from 'clsx';\nimport React, { useMemo, forwardRef } from 'react';\nimport { mapWithResponsive } from '@/utils/map-with-responsive';\nimport {\n resolveColor,\n type DistributiveOmit,\n type UiColor,\n} from '../utils/resolve-color';\n\nexport type TypoProps = DistributiveOmit<RadixTextProps, 'color'> & {\n variant?: Responsive<'body' | 'caption' | 'subtitle'>;\n color?: UiColor;\n};\n\nexport const Typo = forwardRef<HTMLSpanElement, TypoProps>(\n (props: TypoProps, ref): React.ReactNode => {\n const { size, variant, children, color, className, ...rest } = props;\n\n const { color: radixColor, className: colorClassName } = useMemo(\n () => resolveColor(color),\n [color]\n );\n\n const radixSize = useMemo<RadixTextProps['size']>(() => {\n if (size !== undefined) return size;\n\n if (variant === undefined) return '2';\n\n return mapWithResponsive({\n value: variant,\n mapFn: (variantValue?: 'body' | 'caption' | 'subtitle') => {\n switch (variantValue) {\n case 'caption':\n return '1';\n case 'subtitle':\n return '3';\n case 'body':\n default:\n return '2';\n }\n },\n });\n }, [size, variant]);\n\n return (\n <RadixText\n {...rest}\n className={clsx(colorClassName, className)}\n color={radixColor}\n ref={ref}\n size={radixSize}\n >\n {children}\n </RadixText>\n );\n }\n);\n\nTypo.displayName = 'Typo';\n"],"mappings":"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","names":["import_react","import_themes","Heading","RadixHeading","import_themes","import_clsx","import_react","import_jsx_runtime","RadixText","import_jsx_runtime","Root","Field","Heading","Label","Message","Control"]}
@@ -1,10 +1,11 @@
1
1
  import {
2
2
  Form,
3
3
  FormItem
4
- } from "../../chunk-QDC3LFHS.js";
5
- import "../../chunk-BESTU2AY.js";
6
- import "../../chunk-PMJIFLDT.js";
4
+ } from "../../chunk-MMLVZWMD.js";
5
+ import "../../chunk-NLHVQJQ2.js";
6
+ import "../../chunk-GR4PG6HY.js";
7
7
  import "../../chunk-LDBWASUA.js";
8
+ import "../../chunk-VFQD57ZY.js";
8
9
  import "../../chunk-CRTRMMJ7.js";
9
10
  export {
10
11
  Form,
@@ -54,10 +54,48 @@ __export(ghost_post_exports, {
54
54
  module.exports = __toCommonJS(ghost_post_exports);
55
55
 
56
56
  // src/theme/theme-provider.tsx
57
+ var import_react = require("react");
57
58
  var import_themes = require("@radix-ui/themes");
59
+ var import_clsx = require("clsx");
60
+
61
+ // src/utils/resolve-color.ts
62
+ var SEMANTIC_COLOR_MAP = {
63
+ error: "red",
64
+ neutral: "gray",
65
+ success: "green",
66
+ accent: void 0
67
+ };
68
+ var CUSTOM_COLOR_MAP = {
69
+ black: { className: "tipp-accent-black", fallbackColor: "gray" }
70
+ };
71
+ var isSemanticColor = (color) => color !== void 0 && color in SEMANTIC_COLOR_MAP;
72
+ var isCustomColor = (color) => color !== void 0 && color in CUSTOM_COLOR_MAP;
73
+ var resolveColor = (color) => {
74
+ if (isCustomColor(color)) {
75
+ const { className, fallbackColor } = CUSTOM_COLOR_MAP[color];
76
+ return { color: fallbackColor, className };
77
+ }
78
+ if (isSemanticColor(color)) {
79
+ return { color: SEMANTIC_COLOR_MAP[color] };
80
+ }
81
+ return { color };
82
+ };
83
+
84
+ // src/theme/theme-provider.tsx
58
85
  var import_jsx_runtime = require("react/jsx-runtime");
86
+ var ThemeAccentContext = (0, import_react.createContext)(void 0);
59
87
  function ThemeProvider(props) {
60
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Theme, __spreadValues({ accentColor: "iris", radius: "medium" }, props));
88
+ const _a = props, { accentColor = "iris", className } = _a, rest = __objRest(_a, ["accentColor", "className"]);
89
+ const { color: radixAccent, className: accentClassName } = resolveColor(accentColor);
90
+ const themeAccent = accentClassName ? accentColor : void 0;
91
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ThemeAccentContext.Provider, { value: themeAccent, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
92
+ import_themes.Theme,
93
+ __spreadValues({
94
+ accentColor: radixAccent != null ? radixAccent : "iris",
95
+ className: (0, import_clsx.clsx)(accentClassName, className),
96
+ radius: "medium"
97
+ }, rest)
98
+ ) });
61
99
  }
62
100
 
63
101
  // src/atoms/flex.tsx
@@ -65,7 +103,8 @@ var import_themes2 = require("@radix-ui/themes");
65
103
 
66
104
  // src/atoms/heading.tsx
67
105
  var import_themes3 = require("@radix-ui/themes");
68
- var import_react = require("react");
106
+ var import_clsx2 = require("clsx");
107
+ var import_react2 = require("react");
69
108
 
70
109
  // src/utils/map-with-responsive.ts
71
110
  var mapWithResponsive = (args) => {
@@ -105,23 +144,35 @@ var mapVariant = (variant) => {
105
144
  }
106
145
  };
107
146
  function Heading2(props) {
108
- const _a = props, { size, children, variant } = _a, rest = __objRest(_a, ["size", "children", "variant"]);
109
- const radixSize = (0, import_react.useMemo)(() => {
147
+ const _a = props, { size, children, variant, color, className } = _a, rest = __objRest(_a, ["size", "children", "variant", "color", "className"]);
148
+ const { color: radixColor, className: colorClassName } = (0, import_react2.useMemo)(
149
+ () => resolveColor(color),
150
+ [color]
151
+ );
152
+ const radixSize = (0, import_react2.useMemo)(() => {
110
153
  return variant ? mapWithResponsive({
111
154
  value: variant,
112
155
  mapFn: mapVariant
113
156
  }) : size;
114
157
  }, [size, variant]);
115
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_themes3.Heading, __spreadProps(__spreadValues({}, rest), { size: radixSize, children }));
158
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
159
+ import_themes3.Heading,
160
+ __spreadProps(__spreadValues({}, rest), {
161
+ className: (0, import_clsx2.clsx)(colorClassName, className),
162
+ color: radixColor,
163
+ size: radixSize,
164
+ children
165
+ })
166
+ );
116
167
  }
117
168
 
118
169
  // src/atoms/box.tsx
119
170
  var import_themes5 = require("@radix-ui/themes");
120
171
 
121
172
  // src/atoms/button.tsx
122
- var import_react2 = require("react");
173
+ var import_react3 = require("react");
123
174
  var import_themes6 = require("@radix-ui/themes");
124
- var import_clsx = require("clsx");
175
+ var import_clsx3 = require("clsx");
125
176
 
126
177
  // src/utils/convert-button-size.ts
127
178
  var convertSizeStr = (size) => {
@@ -156,19 +207,25 @@ var convertSize = (size) => {
156
207
 
157
208
  // src/atoms/button.tsx
158
209
  var import_jsx_runtime3 = require("react/jsx-runtime");
159
- var Button = (0, import_react2.forwardRef)(
210
+ var Button = (0, import_react3.forwardRef)(
160
211
  (props, ref) => {
161
- const _a = props, { size, style, variant } = _a, restProps = __objRest(_a, ["size", "style", "variant"]);
162
- const radixSize = (0, import_react2.useMemo)(() => {
212
+ const _a = props, { size, style, variant, color } = _a, restProps = __objRest(_a, ["size", "style", "variant", "color"]);
213
+ const radixSize = (0, import_react3.useMemo)(() => {
163
214
  return convertSize(size);
164
215
  }, [size]);
165
- const radixVariant = (0, import_react2.useMemo)(() => {
216
+ const radixVariant = (0, import_react3.useMemo)(() => {
166
217
  if (variant === "transparent") return "ghost";
167
218
  return variant;
168
219
  }, [variant]);
169
- const className = (0, import_react2.useMemo)(() => {
170
- return (0, import_clsx.clsx)(props.className, { transparent: variant === "transparent" });
171
- }, [props.className, variant]);
220
+ const { color: radixColor, className: colorClassName } = (0, import_react3.useMemo)(
221
+ () => resolveColor(color),
222
+ [color]
223
+ );
224
+ const className = (0, import_react3.useMemo)(() => {
225
+ return (0, import_clsx3.clsx)(props.className, colorClassName, {
226
+ transparent: variant === "transparent"
227
+ });
228
+ }, [props.className, colorClassName, variant]);
172
229
  return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
173
230
  import_themes6.Button,
174
231
  __spreadProps(__spreadValues({
@@ -177,6 +234,7 @@ var Button = (0, import_react2.forwardRef)(
177
234
  variant: radixVariant
178
235
  }, restProps), {
179
236
  className,
237
+ color: radixColor,
180
238
  ref,
181
239
  size: radixSize
182
240
  })