@tipp/ui 2.5.0 → 2.7.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 (728) 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/charts/chart-default-props.cjs +1 -1
  231. package/dist/charts/chart-default-props.cjs.map +1 -1
  232. package/dist/charts/chart-default-props.d.cts +1 -1
  233. package/dist/charts/chart-default-props.d.ts +1 -1
  234. package/dist/charts/chart-default-props.js +1 -1
  235. package/dist/charts/index.cjs +1 -1
  236. package/dist/charts/index.cjs.map +1 -1
  237. package/dist/charts/index.js +1 -1
  238. package/dist/chunk-24PX34TH.js +42 -0
  239. package/dist/chunk-24PX34TH.js.map +1 -0
  240. package/dist/{chunk-GGLDVUYU.js → chunk-2FB75HU2.js} +5 -5
  241. package/dist/{chunk-7ITDAUWI.js → chunk-2I37QLRA.js} +15 -15
  242. package/dist/{chunk-ZVDAEY5Q.js → chunk-2LCH3PDF.js} +14 -4
  243. package/dist/chunk-2LCH3PDF.js.map +1 -0
  244. package/dist/{chunk-3NUQAVE6.js → chunk-2M3UFZUD.js} +15 -2
  245. package/dist/chunk-2M3UFZUD.js.map +1 -0
  246. package/dist/{chunk-PXPGCDNA.js → chunk-2O7NVLVP.js} +5 -5
  247. package/dist/{chunk-NZ6ONU5Z.js → chunk-2SM37SB4.js} +13 -13
  248. package/dist/{chunk-NLW32DPB.js → chunk-2WNLUQX5.js} +11 -11
  249. package/dist/chunk-3TOUVBIB.js +34 -0
  250. package/dist/chunk-3TOUVBIB.js.map +1 -0
  251. package/dist/{chunk-XBOSNFUM.js → chunk-447H6BVE.js} +6 -6
  252. package/dist/{chunk-5V6MQUTB.js → chunk-5OW76AER.js} +2 -2
  253. package/dist/chunk-6TU647KJ.js +37 -0
  254. package/dist/chunk-6TU647KJ.js.map +1 -0
  255. package/dist/{chunk-44VLRAHW.js → chunk-6YJGQWD6.js} +12 -12
  256. package/dist/{chunk-KCCYHT23.js → chunk-7JW5Z2TL.js} +4 -4
  257. package/dist/{chunk-JZVK4NDF.js → chunk-7PBLFV5L.js} +5 -5
  258. package/dist/{chunk-XK6VEVOK.js → chunk-7RJYF5L3.js} +14 -4
  259. package/dist/chunk-7RJYF5L3.js.map +1 -0
  260. package/dist/{chunk-UXVM3Y7P.js → chunk-A26UWBVB.js} +5 -5
  261. package/dist/{chunk-HJP4STJZ.js → chunk-A4YOY75P.js} +5 -5
  262. package/dist/{chunk-LSDD4TAP.js → chunk-AJTGTGOC.js} +3 -3
  263. package/dist/chunk-BI6TW3ZO.js +51 -0
  264. package/dist/chunk-BI6TW3ZO.js.map +1 -0
  265. package/dist/chunk-BK74U562.js +52 -0
  266. package/dist/chunk-BK74U562.js.map +1 -0
  267. package/dist/{chunk-JWAQUXGB.js → chunk-BZ3EXV6A.js} +3 -3
  268. package/dist/{chunk-QRI6ARS6.js → chunk-C2G3IB7G.js} +4 -4
  269. package/dist/chunk-CGDBUDY3.js +37 -0
  270. package/dist/chunk-CGDBUDY3.js.map +1 -0
  271. package/dist/chunk-DX3DLP5Z.js +39 -0
  272. package/dist/chunk-DX3DLP5Z.js.map +1 -0
  273. package/dist/{chunk-4U6DFH7Z.js → chunk-E6GCU5IQ.js} +2 -2
  274. package/dist/chunk-EIKFXUNC.js +39 -0
  275. package/dist/chunk-EIKFXUNC.js.map +1 -0
  276. package/dist/{chunk-CSKNBWPB.js → chunk-EZN5PMTC.js} +3 -3
  277. package/dist/chunk-EZN5PMTC.js.map +1 -0
  278. package/dist/{chunk-VRJR534I.js → chunk-GAA3RTRW.js} +4 -4
  279. package/dist/{chunk-VY557FHE.js → chunk-GE4M5GOQ.js} +4 -4
  280. package/dist/chunk-GI4AN2IZ.js +42 -0
  281. package/dist/chunk-GI4AN2IZ.js.map +1 -0
  282. package/dist/{chunk-OUJAPQS2.js → chunk-GPULIICW.js} +11 -11
  283. package/dist/{chunk-K36TPMKL.js → chunk-GPZXD762.js} +18 -3
  284. package/dist/chunk-GPZXD762.js.map +1 -0
  285. package/dist/{chunk-PMJIFLDT.js → chunk-GR4PG6HY.js} +20 -3
  286. package/dist/chunk-GR4PG6HY.js.map +1 -0
  287. package/dist/{chunk-7PF6I4RN.js → chunk-GRDRXD53.js} +2 -2
  288. package/dist/{chunk-TJKS6CLU.js → chunk-GREYLAMY.js} +6 -6
  289. package/dist/{chunk-VREM33BW.js → chunk-GYSRHZRS.js} +8 -8
  290. package/dist/{chunk-2TYR2RDO.js → chunk-H3GQHGFA.js} +8 -8
  291. package/dist/{chunk-KMVSJT6Y.js → chunk-HH6LML5K.js} +10 -10
  292. package/dist/{chunk-HQATHJBN.js → chunk-IA74OBFY.js} +58 -41
  293. package/dist/chunk-IA74OBFY.js.map +1 -0
  294. package/dist/{chunk-J62KAMQL.js → chunk-IM6E52L2.js} +10 -10
  295. package/dist/{chunk-TVDKGMBI.js → chunk-IT7ZTP7F.js} +1 -1
  296. package/dist/chunk-IT7ZTP7F.js.map +1 -0
  297. package/dist/{chunk-5LRFDSG2.js → chunk-J7N2IZQW.js} +6 -6
  298. package/dist/{chunk-EEAHZCIK.js → chunk-JCUG2XKB.js} +2 -2
  299. package/dist/chunk-JETG3WEI.js +39 -0
  300. package/dist/chunk-JETG3WEI.js.map +1 -0
  301. package/dist/{chunk-4LUFF5LX.js → chunk-JNEGSY5N.js} +3 -3
  302. package/dist/{chunk-CQSM6JCO.js → chunk-K3Q4XLCN.js} +4 -4
  303. package/dist/chunk-KNIIDDYM.js +34 -0
  304. package/dist/chunk-KNIIDDYM.js.map +1 -0
  305. package/dist/{chunk-4TST4UK5.js → chunk-KO3V7KB6.js} +2 -2
  306. package/dist/{chunk-3U6FXC6R.js → chunk-LIWQ47VQ.js} +11 -11
  307. package/dist/{chunk-2ZSK45QM.js → chunk-LQ3WGFS7.js} +9 -9
  308. package/dist/{chunk-A7LYIUE7.js → chunk-M77YPVQN.js} +7 -7
  309. package/dist/{chunk-P4KO43AP.js → chunk-MCKWO7K4.js} +5 -5
  310. package/dist/{chunk-G7NEBNHU.js → chunk-MGR37YQB.js} +6 -6
  311. package/dist/{chunk-QDC3LFHS.js → chunk-MMLVZWMD.js} +3 -3
  312. package/dist/{chunk-D4JZHM4J.js → chunk-MP5KZULQ.js} +10 -10
  313. package/dist/{chunk-WMWXF44S.js → chunk-MSLSD7F6.js} +5 -5
  314. package/dist/{chunk-JUDD3XGY.js → chunk-MSM2QG23.js} +9 -9
  315. package/dist/{chunk-NVQSH733.js → chunk-NFMEBYNY.js} +5 -5
  316. package/dist/{chunk-7ZMY4CAZ.js → chunk-NIHOKIYW.js} +6 -6
  317. package/dist/{chunk-BESTU2AY.js → chunk-NLHVQJQ2.js} +19 -3
  318. package/dist/chunk-NLHVQJQ2.js.map +1 -0
  319. package/dist/{chunk-3GQQQBJN.js → chunk-NYG34MV6.js} +6 -6
  320. package/dist/{chunk-XF7FPCS7.js → chunk-OA3DGWVL.js} +15 -15
  321. package/dist/{chunk-F5IXHUBI.js → chunk-OBWQ3N5D.js} +12 -12
  322. package/dist/{chunk-HVXBZGLT.js → chunk-OEHVGPWL.js} +16 -16
  323. package/dist/chunk-OLJN3WXR.js +1 -0
  324. package/dist/{chunk-WE3TWSC4.js → chunk-OPYRV6XJ.js} +5 -5
  325. package/dist/{chunk-WFOIY6OR.js → chunk-OQN4E2QP.js} +4 -4
  326. package/dist/{chunk-HZ7HETUI.js → chunk-OWQUXTQ2.js} +4 -4
  327. package/dist/{chunk-7I7PZF5L.js → chunk-OYXUWBKS.js} +3 -3
  328. package/dist/{chunk-D3KCPM4O.js → chunk-PE4EBBU4.js} +5 -5
  329. package/dist/{chunk-3GGJWSFK.js → chunk-PXMJK5D5.js} +10 -10
  330. package/dist/{chunk-Y4U24VXI.js → chunk-Q3M6GFHY.js} +3 -3
  331. package/dist/{chunk-GFURX6GB.js → chunk-QPL7SJQM.js} +5 -5
  332. package/dist/{chunk-YAUOAWYS.js → chunk-RMVVV5NH.js} +6 -6
  333. package/dist/chunk-RMW3MQF5.js +42 -0
  334. package/dist/chunk-RMW3MQF5.js.map +1 -0
  335. package/dist/{chunk-RPV3QPQL.js → chunk-RUJZ5PE7.js} +5 -5
  336. package/dist/chunk-SA7AYYQS.js +39 -0
  337. package/dist/chunk-SA7AYYQS.js.map +1 -0
  338. package/dist/{chunk-6J5YZTZE.js → chunk-T2CGNUCP.js} +7 -7
  339. package/dist/chunk-T73HHR3I.js +67 -0
  340. package/dist/chunk-T73HHR3I.js.map +1 -0
  341. package/dist/chunk-TNNF5Q62.js +34 -0
  342. package/dist/chunk-TNNF5Q62.js.map +1 -0
  343. package/dist/{chunk-ZUZ5FT4B.js → chunk-TU6SGJ5Z.js} +11 -11
  344. package/dist/{chunk-5ZEQ33PC.js → chunk-TYEGB5FQ.js} +7 -7
  345. package/dist/{chunk-5AWPST2R.js → chunk-UFM3EL52.js} +12 -12
  346. package/dist/chunk-UFRB2BVD.js +34 -0
  347. package/dist/chunk-UFRB2BVD.js.map +1 -0
  348. package/dist/chunk-UFWDQGOK.js +36 -0
  349. package/dist/chunk-UFWDQGOK.js.map +1 -0
  350. package/dist/{chunk-R3WM6HV6.js → chunk-VD5ZDFCM.js} +5 -5
  351. package/dist/chunk-VFQD57ZY.js +27 -0
  352. package/dist/chunk-VFQD57ZY.js.map +1 -0
  353. package/dist/{chunk-AQVIQODP.js → chunk-VK6INFSB.js} +4 -4
  354. package/dist/{chunk-W7X7KSJP.js → chunk-WG5OK3YN.js} +19 -3
  355. package/dist/chunk-WG5OK3YN.js.map +1 -0
  356. package/dist/{chunk-2QFSCWES.js → chunk-WSWSAPSS.js} +2 -2
  357. package/dist/{chunk-2QFSCWES.js.map → chunk-WSWSAPSS.js.map} +1 -1
  358. package/dist/{chunk-QFEZIPWJ.js → chunk-WY37V3W4.js} +9 -9
  359. package/dist/chunk-WYWM2HSZ.js +33 -0
  360. package/dist/chunk-WYWM2HSZ.js.map +1 -0
  361. package/dist/{chunk-SDEDXT7A.js → chunk-XOQXIPLL.js} +4 -4
  362. package/dist/{chunk-DVYTRZOL.js → chunk-YCLYKBWZ.js} +15 -15
  363. package/dist/{chunk-YW4IN7LP.js → chunk-YGNHAFBW.js} +8 -8
  364. package/dist/{chunk-APG3GKDT.js → chunk-YWWYA2JZ.js} +11 -11
  365. package/dist/chunk-YXMB4MCM.js +87 -0
  366. package/dist/chunk-YXMB4MCM.js.map +1 -0
  367. package/dist/{chunk-7AMHCTRM.js → chunk-Z5LPHG2D.js} +5 -5
  368. package/dist/{chunk-GZNELGHF.js → chunk-ZAFLWQOV.js} +10 -10
  369. package/dist/{chunk-WD5P2N6F.js → chunk-ZC2JPF7B.js} +13 -13
  370. package/dist/{chunk-VYCYVN3L.js → chunk-ZCGH6TJ3.js} +16 -3
  371. package/dist/chunk-ZCGH6TJ3.js.map +1 -0
  372. package/dist/{chunk-UH6Q3TEK.js → chunk-ZCQMCIT5.js} +9 -9
  373. package/dist/chunk-ZPUNTAVI.js +38 -0
  374. package/dist/chunk-ZPUNTAVI.js.map +1 -0
  375. package/dist/{chunk-LT5C6QT7.js → chunk-ZUL3NYQ4.js} +2 -2
  376. package/dist/{chunk-23QMZC6L.js → chunk-ZWYQ44CB.js} +10 -10
  377. package/dist/context/dynamic-form-context.cjs +54 -4
  378. package/dist/context/dynamic-form-context.cjs.map +1 -1
  379. package/dist/context/dynamic-form-context.js +5 -4
  380. package/dist/context/index.cjs +54 -4
  381. package/dist/context/index.cjs.map +1 -1
  382. package/dist/context/index.js +8 -7
  383. package/dist/index.cjs +2132 -1632
  384. package/dist/index.cjs.map +1 -1
  385. package/dist/index.css +76 -3
  386. package/dist/index.d.cts +19 -3
  387. package/dist/index.d.ts +19 -3
  388. package/dist/index.js +174 -168
  389. package/dist/molecules/autocomplete-textfield.cjs +111 -46
  390. package/dist/molecules/autocomplete-textfield.cjs.map +1 -1
  391. package/dist/molecules/autocomplete-textfield.js +5 -3
  392. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.cjs +367 -209
  393. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.cjs.map +1 -1
  394. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.js +22 -21
  395. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.cjs +39 -2
  396. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.cjs.map +1 -1
  397. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.js +5 -4
  398. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.cjs +293 -164
  399. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.cjs.map +1 -1
  400. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.js +16 -15
  401. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-footer.cjs +33 -3
  402. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-footer.cjs.map +1 -1
  403. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-footer.js +4 -3
  404. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-header.cjs +85 -19
  405. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-header.cjs.map +1 -1
  406. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-header.js +6 -5
  407. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-layout.js +2 -2
  408. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.cjs +217 -134
  409. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.cjs.map +1 -1
  410. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.js +10 -9
  411. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.cjs +172 -110
  412. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.cjs.map +1 -1
  413. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.js +7 -6
  414. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.cjs +39 -2
  415. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.cjs.map +1 -1
  416. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.js +6 -5
  417. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.cjs +80 -20
  418. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.cjs.map +1 -1
  419. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.js +7 -6
  420. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.cjs +64 -7
  421. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.cjs.map +1 -1
  422. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.js +6 -5
  423. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.cjs +275 -115
  424. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.cjs.map +1 -1
  425. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.js +26 -25
  426. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.cjs +76 -17
  427. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.cjs.map +1 -1
  428. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.js +8 -7
  429. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.cjs +49 -5
  430. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.cjs.map +1 -1
  431. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.js +5 -4
  432. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-file-download.cjs +49 -5
  433. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-file-download.cjs.map +1 -1
  434. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-file-download.js +5 -4
  435. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.cjs +318 -153
  436. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.cjs.map +1 -1
  437. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.js +29 -28
  438. package/dist/molecules/curriculumV2/CurriculumContents/index.cjs +346 -181
  439. package/dist/molecules/curriculumV2/CurriculumContents/index.cjs.map +1 -1
  440. package/dist/molecules/curriculumV2/CurriculumContents/index.js +33 -32
  441. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-item-title.cjs +39 -2
  442. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-item-title.cjs.map +1 -1
  443. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-item-title.js +4 -3
  444. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-item.cjs +39 -2
  445. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-item.cjs.map +1 -1
  446. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-item.js +5 -4
  447. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-title.cjs +39 -2
  448. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-title.cjs.map +1 -1
  449. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-title.js +3 -2
  450. package/dist/molecules/curriculumV2/CurriculumSidebar/index.cjs +195 -135
  451. package/dist/molecules/curriculumV2/CurriculumSidebar/index.cjs.map +1 -1
  452. package/dist/molecules/curriculumV2/CurriculumSidebar/index.js +10 -9
  453. package/dist/molecules/curriculumV2/CurriculumSidebar/sidebar-item.cjs +39 -2
  454. package/dist/molecules/curriculumV2/CurriculumSidebar/sidebar-item.cjs.map +1 -1
  455. package/dist/molecules/curriculumV2/CurriculumSidebar/sidebar-item.js +7 -6
  456. package/dist/molecules/curriculumV2/curriculum-sub-nav.cjs +65 -8
  457. package/dist/molecules/curriculumV2/curriculum-sub-nav.cjs.map +1 -1
  458. package/dist/molecules/curriculumV2/curriculum-sub-nav.js +6 -5
  459. package/dist/molecules/curriculumV2/curriculum-v2-layout.js +2 -2
  460. package/dist/molecules/curriculumV2/index.cjs +406 -220
  461. package/dist/molecules/curriculumV2/index.cjs.map +1 -1
  462. package/dist/molecules/curriculumV2/index.js +42 -41
  463. package/dist/molecules/date-picker/date-picker-button.cjs +160 -64
  464. package/dist/molecules/date-picker/date-picker-button.cjs.map +1 -1
  465. package/dist/molecules/date-picker/date-picker-button.d.cts +1 -0
  466. package/dist/molecules/date-picker/date-picker-button.d.ts +1 -0
  467. package/dist/molecules/date-picker/date-picker-button.js +11 -9
  468. package/dist/molecules/date-picker/index.cjs +242 -146
  469. package/dist/molecules/date-picker/index.cjs.map +1 -1
  470. package/dist/molecules/date-picker/index.js +10 -8
  471. package/dist/molecules/description-json-render.cjs +182 -120
  472. package/dist/molecules/description-json-render.cjs.map +1 -1
  473. package/dist/molecules/description-json-render.js +7 -6
  474. package/dist/molecules/download-card.cjs +67 -8
  475. package/dist/molecules/download-card.cjs.map +1 -1
  476. package/dist/molecules/download-card.js +6 -5
  477. package/dist/molecules/dynamic-field.cjs +222 -72
  478. package/dist/molecules/dynamic-field.cjs.map +1 -1
  479. package/dist/molecules/dynamic-field.js +13 -11
  480. package/dist/molecules/dynamic-form-editor-field-editor-panel.cjs +359 -267
  481. package/dist/molecules/dynamic-form-editor-field-editor-panel.cjs.map +1 -1
  482. package/dist/molecules/dynamic-form-editor-field-editor-panel.js +9 -7
  483. package/dist/molecules/dynamic-form-editor-field-list-panel.cjs +115 -47
  484. package/dist/molecules/dynamic-form-editor-field-list-panel.cjs.map +1 -1
  485. package/dist/molecules/dynamic-form-editor-field-list-panel.js +6 -4
  486. package/dist/molecules/dynamic-form-editor-issues-panel.cjs +39 -2
  487. package/dist/molecules/dynamic-form-editor-issues-panel.cjs.map +1 -1
  488. package/dist/molecules/dynamic-form-editor-issues-panel.js +4 -3
  489. package/dist/molecules/dynamic-form-editor-preview-panel.cjs +239 -89
  490. package/dist/molecules/dynamic-form-editor-preview-panel.cjs.map +1 -1
  491. package/dist/molecules/dynamic-form-editor-preview-panel.js +15 -13
  492. package/dist/molecules/dynamic-form-editor.cjs +571 -407
  493. package/dist/molecules/dynamic-form-editor.cjs.map +1 -1
  494. package/dist/molecules/dynamic-form-editor.js +21 -19
  495. package/dist/molecules/dynamic-form.cjs +235 -85
  496. package/dist/molecules/dynamic-form.cjs.map +1 -1
  497. package/dist/molecules/dynamic-form.js +14 -12
  498. package/dist/molecules/expand-table/index.cjs +100 -42
  499. package/dist/molecules/expand-table/index.cjs.map +1 -1
  500. package/dist/molecules/expand-table/index.js +6 -5
  501. package/dist/molecules/force-refresh.cjs +79 -24
  502. package/dist/molecules/force-refresh.cjs.map +1 -1
  503. package/dist/molecules/force-refresh.js +5 -4
  504. package/dist/molecules/form/form.cjs +54 -4
  505. package/dist/molecules/form/form.cjs.map +1 -1
  506. package/dist/molecules/form/form.js +4 -3
  507. package/dist/molecules/form/index.cjs +54 -4
  508. package/dist/molecules/form/index.cjs.map +1 -1
  509. package/dist/molecules/form/index.js +4 -3
  510. package/dist/molecules/ghost-post.cjs +72 -14
  511. package/dist/molecules/ghost-post.cjs.map +1 -1
  512. package/dist/molecules/ghost-post.d.cts +1 -0
  513. package/dist/molecules/ghost-post.d.ts +1 -0
  514. package/dist/molecules/ghost-post.js +7 -6
  515. package/dist/molecules/index.cjs +1334 -989
  516. package/dist/molecules/index.cjs.map +1 -1
  517. package/dist/molecules/index.d.cts +1 -0
  518. package/dist/molecules/index.d.ts +1 -0
  519. package/dist/molecules/index.js +80 -79
  520. package/dist/molecules/learning-post.cjs +109 -37
  521. package/dist/molecules/learning-post.cjs.map +1 -1
  522. package/dist/molecules/learning-post.d.cts +1 -0
  523. package/dist/molecules/learning-post.d.ts +1 -0
  524. package/dist/molecules/learning-post.js +9 -8
  525. package/dist/molecules/navigation.cjs +49 -5
  526. package/dist/molecules/navigation.cjs.map +1 -1
  527. package/dist/molecules/navigation.js +5 -4
  528. package/dist/molecules/one-on-one-guide-list.cjs +56 -6
  529. package/dist/molecules/one-on-one-guide-list.cjs.map +1 -1
  530. package/dist/molecules/one-on-one-guide-list.js +6 -5
  531. package/dist/molecules/radio-button-card.cjs +77 -13
  532. package/dist/molecules/radio-button-card.cjs.map +1 -1
  533. package/dist/molecules/radio-button-card.js +4 -3
  534. package/dist/molecules/stepper.cjs +55 -4
  535. package/dist/molecules/stepper.cjs.map +1 -1
  536. package/dist/molecules/stepper.js +5 -4
  537. package/dist/molecules/tag-selector.cjs +256 -180
  538. package/dist/molecules/tag-selector.cjs.map +1 -1
  539. package/dist/molecules/tag-selector.js +9 -7
  540. package/dist/molecules/time-select.cjs +180 -126
  541. package/dist/molecules/time-select.cjs.map +1 -1
  542. package/dist/molecules/time-select.d.cts +1 -0
  543. package/dist/molecules/time-select.d.ts +1 -0
  544. package/dist/molecules/time-select.js +5 -3
  545. package/dist/molecules/training-info-guideline.cjs +75 -11
  546. package/dist/molecules/training-info-guideline.cjs.map +1 -1
  547. package/dist/molecules/training-info-guideline.js +10 -9
  548. package/dist/theme/theme-provider.cjs +53 -1
  549. package/dist/theme/theme-provider.cjs.map +1 -1
  550. package/dist/theme/theme-provider.d.cts +18 -2
  551. package/dist/theme/theme-provider.d.ts +18 -2
  552. package/dist/theme/theme-provider.js +4 -1
  553. package/dist/utils/convert-button-size.d.cts +1 -0
  554. package/dist/utils/convert-button-size.d.ts +1 -0
  555. package/dist/utils/convert-icon-button-size.d.cts +1 -0
  556. package/dist/utils/convert-icon-button-size.d.ts +1 -0
  557. package/dist/utils/index.cjs +25 -0
  558. package/dist/utils/index.cjs.map +1 -1
  559. package/dist/utils/index.d.cts +2 -0
  560. package/dist/utils/index.d.ts +2 -0
  561. package/dist/utils/index.js +5 -1
  562. package/dist/utils/resolve-color.cjs +51 -0
  563. package/dist/utils/resolve-color.cjs.map +1 -0
  564. package/dist/utils/resolve-color.d.cts +38 -0
  565. package/dist/utils/resolve-color.d.ts +38 -0
  566. package/dist/utils/resolve-color.js +8 -0
  567. package/dist/utils/resolve-color.js.map +1 -0
  568. package/package.json +1 -1
  569. package/src/atoms/alert-dialog.tsx +38 -1
  570. package/src/atoms/avatar.tsx +18 -3
  571. package/src/atoms/badge.tsx +15 -22
  572. package/src/atoms/blockquote.tsx +31 -1
  573. package/src/atoms/button.tsx +12 -3
  574. package/src/atoms/button.type.ts +6 -1
  575. package/src/atoms/call-out.tsx +48 -1
  576. package/src/atoms/check-box-card.tsx +51 -1
  577. package/src/atoms/check-box-group.tsx +19 -2
  578. package/src/atoms/check-box.tsx +17 -3
  579. package/src/atoms/code.tsx +31 -1
  580. package/src/atoms/data-list.tsx +47 -1
  581. package/src/atoms/dropdown-menu.tsx +53 -6
  582. package/src/atoms/heading.tsx +22 -4
  583. package/src/atoms/hover-card.tsx +37 -1
  584. package/src/atoms/icon-button.tsx +12 -3
  585. package/src/atoms/link.tsx +21 -3
  586. package/src/atoms/pagination.tsx +21 -2
  587. package/src/atoms/popover.tsx +37 -1
  588. package/src/atoms/progress.tsx +31 -1
  589. package/src/atoms/radio-cards.tsx +49 -1
  590. package/src/atoms/radio-group.tsx +49 -1
  591. package/src/atoms/radio.tsx +31 -1
  592. package/src/atoms/segmented-control.tsx +3 -0
  593. package/src/atoms/select.tsx +67 -19
  594. package/src/atoms/switch.tsx +31 -1
  595. package/src/atoms/tab-nav.tsx +42 -1
  596. package/src/atoms/tabs.tsx +40 -1
  597. package/src/atoms/tooltip.tsx +14 -1
  598. package/src/atoms/typo.tsx +21 -3
  599. package/src/charts/chart-default-props.tsx +1 -1
  600. package/src/molecules/radio-button-card.tsx +6 -4
  601. package/src/theme/theme-provider.tsx +38 -3
  602. package/src/utils/index.ts +2 -1
  603. package/src/utils/resolve-color.ts +86 -0
  604. package/dist/chunk-365QMK4D.js +0 -7
  605. package/dist/chunk-365QMK4D.js.map +0 -1
  606. package/dist/chunk-3NUQAVE6.js.map +0 -1
  607. package/dist/chunk-5AVBYDPB.js +0 -7
  608. package/dist/chunk-5AVBYDPB.js.map +0 -1
  609. package/dist/chunk-5ZITU5L7.js +0 -7
  610. package/dist/chunk-5ZITU5L7.js.map +0 -1
  611. package/dist/chunk-6DJOIRMF.js +0 -7
  612. package/dist/chunk-6DJOIRMF.js.map +0 -1
  613. package/dist/chunk-6IVCARWS.js +0 -7
  614. package/dist/chunk-6IVCARWS.js.map +0 -1
  615. package/dist/chunk-7FKRQQYK.js +0 -15
  616. package/dist/chunk-7FKRQQYK.js.map +0 -1
  617. package/dist/chunk-B6XJN6EC.js +0 -7
  618. package/dist/chunk-B6XJN6EC.js.map +0 -1
  619. package/dist/chunk-BESTU2AY.js.map +0 -1
  620. package/dist/chunk-CSKNBWPB.js.map +0 -1
  621. package/dist/chunk-DHZVOXFM.js +0 -35
  622. package/dist/chunk-DHZVOXFM.js.map +0 -1
  623. package/dist/chunk-FPD73OHW.js +0 -7
  624. package/dist/chunk-FPD73OHW.js.map +0 -1
  625. package/dist/chunk-HFVVQEOZ.js +0 -1
  626. package/dist/chunk-HQATHJBN.js.map +0 -1
  627. package/dist/chunk-J242TTFH.js +0 -7
  628. package/dist/chunk-J242TTFH.js.map +0 -1
  629. package/dist/chunk-K36TPMKL.js.map +0 -1
  630. package/dist/chunk-KTSEZC6A.js +0 -49
  631. package/dist/chunk-KTSEZC6A.js.map +0 -1
  632. package/dist/chunk-MIMJ7LON.js +0 -7
  633. package/dist/chunk-MIMJ7LON.js.map +0 -1
  634. package/dist/chunk-O3T3TM3V.js +0 -7
  635. package/dist/chunk-O3T3TM3V.js.map +0 -1
  636. package/dist/chunk-OHMOP5PV.js +0 -7
  637. package/dist/chunk-OHMOP5PV.js.map +0 -1
  638. package/dist/chunk-OYM4XCHQ.js +0 -7
  639. package/dist/chunk-OYM4XCHQ.js.map +0 -1
  640. package/dist/chunk-PMJIFLDT.js.map +0 -1
  641. package/dist/chunk-SMLC2O3V.js +0 -42
  642. package/dist/chunk-SMLC2O3V.js.map +0 -1
  643. package/dist/chunk-TVDKGMBI.js.map +0 -1
  644. package/dist/chunk-VTJZMOSP.js +0 -7
  645. package/dist/chunk-VTJZMOSP.js.map +0 -1
  646. package/dist/chunk-VYCYVN3L.js.map +0 -1
  647. package/dist/chunk-W7X7KSJP.js.map +0 -1
  648. package/dist/chunk-X2GMDZ7M.js +0 -59
  649. package/dist/chunk-X2GMDZ7M.js.map +0 -1
  650. package/dist/chunk-XK6VEVOK.js.map +0 -1
  651. package/dist/chunk-YGL6SWKN.js +0 -7
  652. package/dist/chunk-YGL6SWKN.js.map +0 -1
  653. package/dist/chunk-YJ7ZFOYL.js +0 -7
  654. package/dist/chunk-YJ7ZFOYL.js.map +0 -1
  655. package/dist/chunk-ZVDAEY5Q.js.map +0 -1
  656. /package/dist/{chunk-GGLDVUYU.js.map → chunk-2FB75HU2.js.map} +0 -0
  657. /package/dist/{chunk-7ITDAUWI.js.map → chunk-2I37QLRA.js.map} +0 -0
  658. /package/dist/{chunk-PXPGCDNA.js.map → chunk-2O7NVLVP.js.map} +0 -0
  659. /package/dist/{chunk-NZ6ONU5Z.js.map → chunk-2SM37SB4.js.map} +0 -0
  660. /package/dist/{chunk-NLW32DPB.js.map → chunk-2WNLUQX5.js.map} +0 -0
  661. /package/dist/{chunk-XBOSNFUM.js.map → chunk-447H6BVE.js.map} +0 -0
  662. /package/dist/{chunk-5V6MQUTB.js.map → chunk-5OW76AER.js.map} +0 -0
  663. /package/dist/{chunk-44VLRAHW.js.map → chunk-6YJGQWD6.js.map} +0 -0
  664. /package/dist/{chunk-KCCYHT23.js.map → chunk-7JW5Z2TL.js.map} +0 -0
  665. /package/dist/{chunk-JZVK4NDF.js.map → chunk-7PBLFV5L.js.map} +0 -0
  666. /package/dist/{chunk-UXVM3Y7P.js.map → chunk-A26UWBVB.js.map} +0 -0
  667. /package/dist/{chunk-HJP4STJZ.js.map → chunk-A4YOY75P.js.map} +0 -0
  668. /package/dist/{chunk-LSDD4TAP.js.map → chunk-AJTGTGOC.js.map} +0 -0
  669. /package/dist/{chunk-JWAQUXGB.js.map → chunk-BZ3EXV6A.js.map} +0 -0
  670. /package/dist/{chunk-QRI6ARS6.js.map → chunk-C2G3IB7G.js.map} +0 -0
  671. /package/dist/{chunk-4U6DFH7Z.js.map → chunk-E6GCU5IQ.js.map} +0 -0
  672. /package/dist/{chunk-VRJR534I.js.map → chunk-GAA3RTRW.js.map} +0 -0
  673. /package/dist/{chunk-VY557FHE.js.map → chunk-GE4M5GOQ.js.map} +0 -0
  674. /package/dist/{chunk-OUJAPQS2.js.map → chunk-GPULIICW.js.map} +0 -0
  675. /package/dist/{chunk-7PF6I4RN.js.map → chunk-GRDRXD53.js.map} +0 -0
  676. /package/dist/{chunk-TJKS6CLU.js.map → chunk-GREYLAMY.js.map} +0 -0
  677. /package/dist/{chunk-VREM33BW.js.map → chunk-GYSRHZRS.js.map} +0 -0
  678. /package/dist/{chunk-2TYR2RDO.js.map → chunk-H3GQHGFA.js.map} +0 -0
  679. /package/dist/{chunk-KMVSJT6Y.js.map → chunk-HH6LML5K.js.map} +0 -0
  680. /package/dist/{chunk-J62KAMQL.js.map → chunk-IM6E52L2.js.map} +0 -0
  681. /package/dist/{chunk-5LRFDSG2.js.map → chunk-J7N2IZQW.js.map} +0 -0
  682. /package/dist/{chunk-EEAHZCIK.js.map → chunk-JCUG2XKB.js.map} +0 -0
  683. /package/dist/{chunk-4LUFF5LX.js.map → chunk-JNEGSY5N.js.map} +0 -0
  684. /package/dist/{chunk-CQSM6JCO.js.map → chunk-K3Q4XLCN.js.map} +0 -0
  685. /package/dist/{chunk-4TST4UK5.js.map → chunk-KO3V7KB6.js.map} +0 -0
  686. /package/dist/{chunk-3U6FXC6R.js.map → chunk-LIWQ47VQ.js.map} +0 -0
  687. /package/dist/{chunk-2ZSK45QM.js.map → chunk-LQ3WGFS7.js.map} +0 -0
  688. /package/dist/{chunk-A7LYIUE7.js.map → chunk-M77YPVQN.js.map} +0 -0
  689. /package/dist/{chunk-P4KO43AP.js.map → chunk-MCKWO7K4.js.map} +0 -0
  690. /package/dist/{chunk-G7NEBNHU.js.map → chunk-MGR37YQB.js.map} +0 -0
  691. /package/dist/{chunk-QDC3LFHS.js.map → chunk-MMLVZWMD.js.map} +0 -0
  692. /package/dist/{chunk-D4JZHM4J.js.map → chunk-MP5KZULQ.js.map} +0 -0
  693. /package/dist/{chunk-WMWXF44S.js.map → chunk-MSLSD7F6.js.map} +0 -0
  694. /package/dist/{chunk-JUDD3XGY.js.map → chunk-MSM2QG23.js.map} +0 -0
  695. /package/dist/{chunk-NVQSH733.js.map → chunk-NFMEBYNY.js.map} +0 -0
  696. /package/dist/{chunk-7ZMY4CAZ.js.map → chunk-NIHOKIYW.js.map} +0 -0
  697. /package/dist/{chunk-3GQQQBJN.js.map → chunk-NYG34MV6.js.map} +0 -0
  698. /package/dist/{chunk-XF7FPCS7.js.map → chunk-OA3DGWVL.js.map} +0 -0
  699. /package/dist/{chunk-F5IXHUBI.js.map → chunk-OBWQ3N5D.js.map} +0 -0
  700. /package/dist/{chunk-HVXBZGLT.js.map → chunk-OEHVGPWL.js.map} +0 -0
  701. /package/dist/{chunk-HFVVQEOZ.js.map → chunk-OLJN3WXR.js.map} +0 -0
  702. /package/dist/{chunk-WE3TWSC4.js.map → chunk-OPYRV6XJ.js.map} +0 -0
  703. /package/dist/{chunk-WFOIY6OR.js.map → chunk-OQN4E2QP.js.map} +0 -0
  704. /package/dist/{chunk-HZ7HETUI.js.map → chunk-OWQUXTQ2.js.map} +0 -0
  705. /package/dist/{chunk-7I7PZF5L.js.map → chunk-OYXUWBKS.js.map} +0 -0
  706. /package/dist/{chunk-D3KCPM4O.js.map → chunk-PE4EBBU4.js.map} +0 -0
  707. /package/dist/{chunk-3GGJWSFK.js.map → chunk-PXMJK5D5.js.map} +0 -0
  708. /package/dist/{chunk-Y4U24VXI.js.map → chunk-Q3M6GFHY.js.map} +0 -0
  709. /package/dist/{chunk-GFURX6GB.js.map → chunk-QPL7SJQM.js.map} +0 -0
  710. /package/dist/{chunk-YAUOAWYS.js.map → chunk-RMVVV5NH.js.map} +0 -0
  711. /package/dist/{chunk-RPV3QPQL.js.map → chunk-RUJZ5PE7.js.map} +0 -0
  712. /package/dist/{chunk-6J5YZTZE.js.map → chunk-T2CGNUCP.js.map} +0 -0
  713. /package/dist/{chunk-ZUZ5FT4B.js.map → chunk-TU6SGJ5Z.js.map} +0 -0
  714. /package/dist/{chunk-5ZEQ33PC.js.map → chunk-TYEGB5FQ.js.map} +0 -0
  715. /package/dist/{chunk-5AWPST2R.js.map → chunk-UFM3EL52.js.map} +0 -0
  716. /package/dist/{chunk-R3WM6HV6.js.map → chunk-VD5ZDFCM.js.map} +0 -0
  717. /package/dist/{chunk-AQVIQODP.js.map → chunk-VK6INFSB.js.map} +0 -0
  718. /package/dist/{chunk-QFEZIPWJ.js.map → chunk-WY37V3W4.js.map} +0 -0
  719. /package/dist/{chunk-SDEDXT7A.js.map → chunk-XOQXIPLL.js.map} +0 -0
  720. /package/dist/{chunk-DVYTRZOL.js.map → chunk-YCLYKBWZ.js.map} +0 -0
  721. /package/dist/{chunk-YW4IN7LP.js.map → chunk-YGNHAFBW.js.map} +0 -0
  722. /package/dist/{chunk-APG3GKDT.js.map → chunk-YWWYA2JZ.js.map} +0 -0
  723. /package/dist/{chunk-7AMHCTRM.js.map → chunk-Z5LPHG2D.js.map} +0 -0
  724. /package/dist/{chunk-GZNELGHF.js.map → chunk-ZAFLWQOV.js.map} +0 -0
  725. /package/dist/{chunk-WD5P2N6F.js.map → chunk-ZC2JPF7B.js.map} +0 -0
  726. /package/dist/{chunk-UH6Q3TEK.js.map → chunk-ZCQMCIT5.js.map} +0 -0
  727. /package/dist/{chunk-LT5C6QT7.js.map → chunk-ZUL3NYQ4.js.map} +0 -0
  728. /package/dist/{chunk-23QMZC6L.js.map → chunk-ZWYQ44CB.js.map} +0 -0
@@ -52,8 +52,8 @@ __export(autocomplete_textfield_exports, {
52
52
  AutocompleteTextfield: () => AutocompleteTextfield
53
53
  });
54
54
  module.exports = __toCommonJS(autocomplete_textfield_exports);
55
- var import_react4 = require("react");
56
- var import_themes4 = require("@radix-ui/themes");
55
+ var import_react5 = require("react");
56
+ var import_themes5 = require("@radix-ui/themes");
57
57
 
58
58
  // src/atoms/text-field.tsx
59
59
  var import_themes = require("@radix-ui/themes");
@@ -82,40 +82,92 @@ Root.displayName = "TextField.Root";
82
82
  var TextField = { Root, Slot: import_themes.TextField.Slot };
83
83
 
84
84
  // src/atoms/dropdown-menu.tsx
85
- var import_themes2 = require("@radix-ui/themes");
85
+ var import_themes3 = require("@radix-ui/themes");
86
+ var import_react3 = require("react");
87
+
88
+ // src/utils/resolve-color.ts
89
+ var SEMANTIC_COLOR_MAP = {
90
+ error: "red",
91
+ neutral: "gray",
92
+ success: "green",
93
+ accent: void 0
94
+ };
95
+ var CUSTOM_COLOR_MAP = {
96
+ black: { className: "tipp-accent-black", fallbackColor: "gray" }
97
+ };
98
+ var isSemanticColor = (color) => color !== void 0 && color in SEMANTIC_COLOR_MAP;
99
+ var isCustomColor = (color) => color !== void 0 && color in CUSTOM_COLOR_MAP;
100
+ var resolveColor = (color) => {
101
+ if (isCustomColor(color)) {
102
+ const { className, fallbackColor } = CUSTOM_COLOR_MAP[color];
103
+ return { color: fallbackColor, className };
104
+ }
105
+ if (isSemanticColor(color)) {
106
+ return { color: SEMANTIC_COLOR_MAP[color] };
107
+ }
108
+ return { color };
109
+ };
110
+
111
+ // src/theme/theme-provider.tsx
86
112
  var import_react2 = require("react");
113
+ var import_themes2 = require("@radix-ui/themes");
114
+ var import_clsx = require("clsx");
87
115
  var import_jsx_runtime2 = require("react/jsx-runtime");
88
- var Content = (0, import_react2.forwardRef)((props, ref) => {
89
- const _a = props, { isNavigation, className } = _a, rest = __objRest(_a, ["isNavigation", "className"]);
90
- const contentClassName = (0, import_react2.useMemo)(() => {
116
+ var ThemeAccentContext = (0, import_react2.createContext)(void 0);
117
+
118
+ // src/atoms/dropdown-menu.tsx
119
+ var import_jsx_runtime3 = require("react/jsx-runtime");
120
+ var DropdownMenuContext = (0, import_react3.createContext)({});
121
+ var Content = (0, import_react3.forwardRef)((props, ref) => {
122
+ const _a = props, { isNavigation, className, color } = _a, rest = __objRest(_a, ["isNavigation", "className", "color"]);
123
+ const { color: contextColor } = (0, import_react3.useContext)(DropdownMenuContext);
124
+ const themeAccent = (0, import_react3.useContext)(ThemeAccentContext);
125
+ const { color: radixColor, className: colorClassName } = (0, import_react3.useMemo)(
126
+ () => {
127
+ var _a2;
128
+ return resolveColor((_a2 = color != null ? color : contextColor) != null ? _a2 : themeAccent);
129
+ },
130
+ [color, contextColor, themeAccent]
131
+ );
132
+ const appliedColor = colorClassName ? void 0 : radixColor;
133
+ const contentClassName = (0, import_react3.useMemo)(() => {
91
134
  const cls = isNavigation ? "dropdown-navigation" : "";
92
- return [cls, className].join(" ");
93
- }, [isNavigation, className]);
94
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
95
- import_themes2.DropdownMenu.Content,
135
+ return [cls, colorClassName, className].filter(Boolean).join(" ");
136
+ }, [isNavigation, colorClassName, className]);
137
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
138
+ import_themes3.DropdownMenu.Content,
96
139
  __spreadProps(__spreadValues({
97
140
  ref
98
141
  }, rest), {
99
- className: contentClassName
142
+ className: contentClassName,
143
+ color: appliedColor
100
144
  })
101
145
  );
102
146
  });
103
147
  Content.displayName = "DropdownMenu.Content";
104
- var Trigger = (0, import_react2.forwardRef)(
148
+ var Trigger = (0, import_react3.forwardRef)(
105
149
  (_a, ref) => {
106
150
  var _b = _a, { asChild: _asChild } = _b, props = __objRest(_b, ["asChild"]);
107
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_themes2.DropdownMenu.Trigger, __spreadValues({ ref }, props));
151
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_themes3.DropdownMenu.Trigger, __spreadValues({ ref }, props));
108
152
  }
109
153
  );
110
154
  Trigger.displayName = "DropdownMenu.Trigger";
111
- var DropdownMenu = __spreadProps(__spreadValues({}, import_themes2.DropdownMenu), {
155
+ function Root2(props) {
156
+ const _a = props, { color } = _a, rest = __objRest(_a, ["color"]);
157
+ const value = (0, import_react3.useMemo)(() => ({ color }), [color]);
158
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(DropdownMenuContext.Provider, { value, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_themes3.DropdownMenu.Root, __spreadValues({}, rest)) });
159
+ }
160
+ Root2.displayName = "DropdownMenu.Root";
161
+ var DropdownMenu = __spreadProps(__spreadValues({}, import_themes3.DropdownMenu), {
162
+ Root: Root2,
112
163
  Content,
113
164
  Trigger
114
165
  });
115
166
 
116
167
  // src/atoms/typo.tsx
117
- var import_themes3 = require("@radix-ui/themes");
118
- var import_react3 = require("react");
168
+ var import_themes4 = require("@radix-ui/themes");
169
+ var import_clsx2 = require("clsx");
170
+ var import_react4 = require("react");
119
171
 
120
172
  // src/utils/map-with-responsive.ts
121
173
  var mapWithResponsive = (args) => {
@@ -136,11 +188,15 @@ var mapWithResponsive = (args) => {
136
188
  };
137
189
 
138
190
  // src/atoms/typo.tsx
139
- var import_jsx_runtime3 = require("react/jsx-runtime");
140
- var Typo = (0, import_react3.forwardRef)(
191
+ var import_jsx_runtime4 = require("react/jsx-runtime");
192
+ var Typo = (0, import_react4.forwardRef)(
141
193
  (props, ref) => {
142
- const _a = props, { size, variant, children } = _a, rest = __objRest(_a, ["size", "variant", "children"]);
143
- const radixSize = (0, import_react3.useMemo)(() => {
194
+ const _a = props, { size, variant, children, color, className } = _a, rest = __objRest(_a, ["size", "variant", "children", "color", "className"]);
195
+ const { color: radixColor, className: colorClassName } = (0, import_react4.useMemo)(
196
+ () => resolveColor(color),
197
+ [color]
198
+ );
199
+ const radixSize = (0, import_react4.useMemo)(() => {
144
200
  if (size !== void 0) return size;
145
201
  if (variant === void 0) return "2";
146
202
  return mapWithResponsive({
@@ -158,14 +214,23 @@ var Typo = (0, import_react3.forwardRef)(
158
214
  }
159
215
  });
160
216
  }, [size, variant]);
161
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_themes3.Text, __spreadProps(__spreadValues({}, rest), { ref, size: radixSize, children }));
217
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
218
+ import_themes4.Text,
219
+ __spreadProps(__spreadValues({}, rest), {
220
+ className: (0, import_clsx2.clsx)(colorClassName, className),
221
+ color: radixColor,
222
+ ref,
223
+ size: radixSize,
224
+ children
225
+ })
226
+ );
162
227
  }
163
228
  );
164
229
  Typo.displayName = "Typo";
165
230
 
166
231
  // src/molecules/autocomplete-textfield.tsx
167
- var import_jsx_runtime4 = require("react/jsx-runtime");
168
- var AutocompleteTextfield = (0, import_react4.forwardRef)(
232
+ var import_jsx_runtime5 = require("react/jsx-runtime");
233
+ var AutocompleteTextfield = (0, import_react5.forwardRef)(
169
234
  (_a, ref) => {
170
235
  var _b = _a, {
171
236
  options,
@@ -191,18 +256,18 @@ var AutocompleteTextfield = (0, import_react4.forwardRef)(
191
256
  "error"
192
257
  ]);
193
258
  const isControlled = externalValue !== void 0;
194
- const [internalValue, setInternalValue] = (0, import_react4.useState)("");
259
+ const [internalValue, setInternalValue] = (0, import_react5.useState)("");
195
260
  const inputValue = isControlled ? externalValue : internalValue;
196
- const [open, setOpen] = (0, import_react4.useState)(false);
197
- const [highlightedIndex, setHighlightedIndex] = (0, import_react4.useState)(-1);
198
- const inputRef = (0, import_react4.useRef)(null);
199
- const listRef = (0, import_react4.useRef)(null);
200
- const listboxId = (0, import_react4.useId)();
201
- const justSelectedRef = (0, import_react4.useRef)(false);
261
+ const [open, setOpen] = (0, import_react5.useState)(false);
262
+ const [highlightedIndex, setHighlightedIndex] = (0, import_react5.useState)(-1);
263
+ const inputRef = (0, import_react5.useRef)(null);
264
+ const listRef = (0, import_react5.useRef)(null);
265
+ const listboxId = (0, import_react5.useId)();
266
+ const justSelectedRef = (0, import_react5.useRef)(false);
202
267
  const filtered = options.filter(
203
268
  (opt) => opt.label.toLowerCase().includes(inputValue.toLowerCase())
204
269
  ).slice(0, maxItems);
205
- const handleInputChange = (0, import_react4.useCallback)(
270
+ const handleInputChange = (0, import_react5.useCallback)(
206
271
  (e) => {
207
272
  const next = e.target.value;
208
273
  if (!isControlled) setInternalValue(next);
@@ -213,7 +278,7 @@ var AutocompleteTextfield = (0, import_react4.forwardRef)(
213
278
  },
214
279
  [isControlled, onChange, options, maxItems, emptyMessage]
215
280
  );
216
- const handleSelect = (0, import_react4.useCallback)(
281
+ const handleSelect = (0, import_react5.useCallback)(
217
282
  (option) => {
218
283
  var _a2;
219
284
  if (!isControlled) setInternalValue(option.label);
@@ -226,7 +291,7 @@ var AutocompleteTextfield = (0, import_react4.forwardRef)(
226
291
  },
227
292
  [isControlled, onChange, onSelect]
228
293
  );
229
- const handleFocus = (0, import_react4.useCallback)(() => {
294
+ const handleFocus = (0, import_react5.useCallback)(() => {
230
295
  if (justSelectedRef.current) {
231
296
  justSelectedRef.current = false;
232
297
  return;
@@ -234,7 +299,7 @@ var AutocompleteTextfield = (0, import_react4.forwardRef)(
234
299
  const currentFiltered = options.filter((opt) => opt.label.toLowerCase().includes(inputValue.toLowerCase())).slice(0, maxItems);
235
300
  setOpen(currentFiltered.length > 0 || emptyMessage !== null);
236
301
  }, [options, inputValue, maxItems, emptyMessage]);
237
- const handleBlur = (0, import_react4.useCallback)((e) => {
302
+ const handleBlur = (0, import_react5.useCallback)((e) => {
238
303
  var _a2, _b2;
239
304
  if (e.relatedTarget && ((_b2 = (_a2 = inputRef.current) == null ? void 0 : _a2.parentElement) == null ? void 0 : _b2.contains(e.relatedTarget))) {
240
305
  return;
@@ -242,7 +307,7 @@ var AutocompleteTextfield = (0, import_react4.forwardRef)(
242
307
  setOpen(false);
243
308
  setHighlightedIndex(-1);
244
309
  }, []);
245
- const handleKeyDown = (0, import_react4.useCallback)(
310
+ const handleKeyDown = (0, import_react5.useCallback)(
246
311
  (e) => {
247
312
  if (!open) {
248
313
  if (e.key === "ArrowDown" || e.key === "ArrowUp") {
@@ -285,13 +350,13 @@ var AutocompleteTextfield = (0, import_react4.forwardRef)(
285
350
  },
286
351
  [open, filtered, highlightedIndex, handleSelect]
287
352
  );
288
- (0, import_react4.useEffect)(() => {
353
+ (0, import_react5.useEffect)(() => {
289
354
  if (!listRef.current || highlightedIndex < 0) return;
290
355
  const item = listRef.current.children[highlightedIndex];
291
356
  item.scrollIntoView({ block: "nearest" });
292
357
  }, [highlightedIndex]);
293
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_themes4.Box, { position: "relative", style: { width: "100%" }, children: [
294
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
358
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_themes5.Box, { position: "relative", style: { width: "100%" }, children: [
359
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
295
360
  TextField.Root,
296
361
  __spreadProps(__spreadValues({
297
362
  "aria-activedescendant": open && highlightedIndex >= 0 ? `${listboxId}-option-${highlightedIndex}` : void 0,
@@ -317,12 +382,12 @@ var AutocompleteTextfield = (0, import_react4.forwardRef)(
317
382
  value: inputValue
318
383
  }, rest), {
319
384
  children: [
320
- slotLeft && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(TextField.Slot, { side: "left", children: slotLeft }),
321
- slotRight && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(TextField.Slot, { side: "right", children: slotRight })
385
+ slotLeft && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(TextField.Slot, { side: "left", children: slotLeft }),
386
+ slotRight && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(TextField.Slot, { side: "right", children: slotRight })
322
387
  ]
323
388
  })
324
389
  ),
325
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
390
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
326
391
  DropdownMenu.Root,
327
392
  {
328
393
  modal: false,
@@ -334,7 +399,7 @@ var AutocompleteTextfield = (0, import_react4.forwardRef)(
334
399
  },
335
400
  open,
336
401
  children: [
337
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(DropdownMenu.Trigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
402
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(DropdownMenu.Trigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
338
403
  "span",
339
404
  {
340
405
  "aria-hidden": "true",
@@ -349,7 +414,7 @@ var AutocompleteTextfield = (0, import_react4.forwardRef)(
349
414
  }
350
415
  }
351
416
  ) }),
352
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
417
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
353
418
  DropdownMenu.Content,
354
419
  {
355
420
  align: "start",
@@ -366,7 +431,7 @@ var AutocompleteTextfield = (0, import_react4.forwardRef)(
366
431
  padding: 0,
367
432
  width: "var(--radix-dropdown-menu-trigger-width)"
368
433
  },
369
- children: filtered.length === 0 && emptyMessage !== null ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_themes4.Box, { px: "2", py: "2", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Typo, { color: "gray", children: emptyMessage }) }) : /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
434
+ children: filtered.length === 0 && emptyMessage !== null ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_themes5.Box, { px: "2", py: "2", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Typo, { color: "gray", children: emptyMessage }) }) : /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
370
435
  "ul",
371
436
  {
372
437
  id: listboxId,
@@ -375,7 +440,7 @@ var AutocompleteTextfield = (0, import_react4.forwardRef)(
375
440
  style: { listStyle: "none", margin: 0, padding: 0 },
376
441
  children: filtered.map((option, index) => {
377
442
  const isHighlighted = index === highlightedIndex;
378
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
443
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
379
444
  "li",
380
445
  {
381
446
  "aria-selected": isHighlighted,
@@ -394,7 +459,7 @@ var AutocompleteTextfield = (0, import_react4.forwardRef)(
394
459
  backgroundColor: isHighlighted ? "var(--accent-3)" : "transparent",
395
460
  transition: "background-color 80ms"
396
461
  },
397
- children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Typo, { variant: "body", children: option.label })
462
+ children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Typo, { variant: "body", children: option.label })
398
463
  },
399
464
  option.value
400
465
  );
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/molecules/autocomplete-textfield.tsx","../../src/atoms/text-field.tsx","../../src/atoms/dropdown-menu.tsx","../../src/atoms/typo.tsx","../../src/utils/map-with-responsive.ts"],"sourcesContent":["import React, {\n forwardRef,\n useCallback,\n useEffect,\n useId,\n useRef,\n useState,\n} from 'react';\nimport { Box } from '@radix-ui/themes';\nimport { TextField, type RootProps as TextFieldRootProps } from '../atoms/text-field';\nimport { DropdownMenu } from '../atoms/dropdown-menu';\nimport { Typo } from '../atoms/typo';\n\nexport interface AutocompleteOption {\n label: string;\n value: string;\n}\n\nexport interface AutocompleteTextfieldProps\n extends Omit<TextFieldRootProps, 'value' | 'onChange' | 'onSelect'> {\n options: AutocompleteOption[];\n value?: string;\n onChange?: (value: string) => void;\n onSelect?: (option: AutocompleteOption) => void;\n placeholder?: string;\n /** 빈 결과일 때 표시할 메시지. null이면 빈 결과 시 드롭다운을 표시하지 않음 */\n emptyMessage?: string | null;\n /** 최대 표시 항목 수 (기본값: 10) */\n maxItems?: number;\n /** TextField 왼쪽 슬롯 (아이콘 등) */\n slotLeft?: React.ReactNode;\n /** TextField 오른쪽 슬롯 (아이콘 등) */\n slotRight?: React.ReactNode;\n}\n\nexport const AutocompleteTextfield = forwardRef<\n HTMLInputElement,\n AutocompleteTextfieldProps\n>(\n (\n {\n options,\n value: externalValue,\n onChange,\n onSelect,\n placeholder,\n emptyMessage = '검색 결과가 없습니다.',\n maxItems = 10,\n slotLeft,\n slotRight,\n error,\n ...rest\n },\n ref\n ): React.ReactElement => {\n const isControlled = externalValue !== undefined;\n const [internalValue, setInternalValue] = useState('');\n const inputValue = isControlled ? externalValue : internalValue;\n\n const [open, setOpen] = useState(false);\n const [highlightedIndex, setHighlightedIndex] = useState(-1);\n\n const inputRef = useRef<HTMLInputElement>(null);\n const listRef = useRef<HTMLUListElement>(null);\n const listboxId = useId();\n const justSelectedRef = useRef(false);\n\n const filtered = options\n .filter((opt: AutocompleteOption) =>\n opt.label.toLowerCase().includes(inputValue.toLowerCase())\n )\n .slice(0, maxItems);\n\n const handleInputChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const next = e.target.value;\n if (!isControlled) setInternalValue(next);\n onChange?.(next);\n const nextFiltered = options\n .filter((opt) => opt.label.toLowerCase().includes(next.toLowerCase()))\n .slice(0, maxItems);\n setOpen(nextFiltered.length > 0 || emptyMessage !== null);\n setHighlightedIndex(-1);\n },\n [isControlled, onChange, options, maxItems, emptyMessage]\n );\n\n const handleSelect = useCallback(\n (option: AutocompleteOption) => {\n if (!isControlled) setInternalValue(option.label);\n onChange?.(option.label);\n onSelect?.(option);\n setOpen(false);\n setHighlightedIndex(-1);\n justSelectedRef.current = true;\n inputRef.current?.focus();\n },\n [isControlled, onChange, onSelect]\n );\n\n const handleFocus = useCallback(() => {\n if (justSelectedRef.current) {\n justSelectedRef.current = false;\n return;\n }\n const currentFiltered = options\n .filter((opt) => opt.label.toLowerCase().includes(inputValue.toLowerCase()))\n .slice(0, maxItems);\n setOpen(currentFiltered.length > 0 || emptyMessage !== null);\n }, [options, inputValue, maxItems, emptyMessage]);\n\n const handleBlur = useCallback((e: React.FocusEvent<HTMLInputElement>) => {\n // 포커스가 dropdown content 내부로 이동한 경우 닫지 않음\n if (e.relatedTarget && inputRef.current?.parentElement?.contains(e.relatedTarget as Node)) {\n return;\n }\n setOpen(false);\n setHighlightedIndex(-1);\n }, []);\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (!open) {\n if (e.key === 'ArrowDown' || e.key === 'ArrowUp') {\n setOpen(true);\n setHighlightedIndex(0);\n e.preventDefault();\n }\n return;\n }\n\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault();\n setHighlightedIndex((prev) =>\n prev < filtered.length - 1 ? prev + 1 : 0\n );\n break;\n case 'ArrowUp':\n e.preventDefault();\n setHighlightedIndex((prev) =>\n prev > 0 ? prev - 1 : filtered.length - 1\n );\n break;\n case 'Enter':\n e.preventDefault();\n if (highlightedIndex >= 0 && filtered[highlightedIndex]) {\n handleSelect(filtered[highlightedIndex]);\n }\n break;\n case 'Escape':\n setOpen(false);\n setHighlightedIndex(-1);\n break;\n case 'Tab':\n setOpen(false);\n setHighlightedIndex(-1);\n break;\n default:\n break;\n }\n },\n [open, filtered, highlightedIndex, handleSelect]\n );\n\n // 하이라이트 항목을 리스트 뷰에 스크롤\n useEffect(() => {\n if (!listRef.current || highlightedIndex < 0) return;\n const item = listRef.current.children[highlightedIndex];\n (item as HTMLElement).scrollIntoView({ block: 'nearest' });\n }, [highlightedIndex]);\n\n return (\n <Box position=\"relative\" style={{ width: '100%' }}>\n <TextField.Root\n aria-activedescendant={\n open && highlightedIndex >= 0\n ? `${listboxId}-option-${highlightedIndex}`\n : undefined\n }\n aria-autocomplete=\"list\"\n aria-controls={open ? listboxId : undefined}\n aria-expanded={open}\n error={error}\n onBlur={handleBlur}\n onChange={handleInputChange}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n ref={(node) => {\n (inputRef as React.MutableRefObject<HTMLInputElement | null>).current =\n node;\n if (typeof ref === 'function') {\n ref(node);\n } else if (ref) {\n (ref as React.MutableRefObject<HTMLInputElement | null>).current =\n node;\n }\n }}\n role=\"combobox\"\n style={{ width: '100%' }}\n value={inputValue}\n {...rest}\n >\n {slotLeft && <TextField.Slot side=\"left\">{slotLeft}</TextField.Slot>}\n {slotRight && <TextField.Slot side=\"right\">{slotRight}</TextField.Slot>}\n </TextField.Root>\n\n {/* DropdownMenu.Trigger는 포지셔닝 앵커 전용으로 사용 (비대화형) */}\n <DropdownMenu.Root\n modal={false}\n onOpenChange={(nextOpen) => {\n if (!nextOpen && document.activeElement !== inputRef.current) {\n setOpen(false);\n setHighlightedIndex(-1);\n }\n }}\n open={open}\n >\n <DropdownMenu.Trigger asChild>\n <span\n aria-hidden=\"true\"\n style={{\n bottom: 0,\n height: 0,\n left: 0,\n opacity: 0,\n pointerEvents: 'none',\n position: 'absolute',\n width: '100%',\n }}\n />\n </DropdownMenu.Trigger>\n\n <DropdownMenu.Content\n align=\"start\"\n onCloseAutoFocus={(e: Event) => {\n e.preventDefault();\n }}\n onOpenAutoFocus={(e: Event) => {\n e.preventDefault();\n }}\n sideOffset={4}\n style={{\n maxHeight: 240,\n overflowY: 'auto',\n padding: 0,\n width: 'var(--radix-dropdown-menu-trigger-width)',\n }}\n >\n {filtered.length === 0 && emptyMessage !== null ? (\n <Box px=\"2\" py=\"2\">\n <Typo color=\"gray\">\n {emptyMessage}\n </Typo>\n </Box>\n ) : (\n <ul\n id={listboxId}\n ref={listRef}\n role=\"listbox\"\n style={{ listStyle: 'none', margin: 0, padding: 0 }}\n >\n {filtered.map((option, index) => {\n const isHighlighted = index === highlightedIndex;\n return (\n <li\n aria-selected={isHighlighted}\n id={`${listboxId}-option-${index}`}\n key={option.value}\n onMouseEnter={() => {\n setHighlightedIndex(index);\n }}\n onPointerDown={(e) => {\n // blur 전에 선택되도록 pointerdown 사용\n e.preventDefault();\n handleSelect(option);\n }}\n role=\"option\"\n style={{\n padding: 'var(--spacing-4) var(--spacing-6)',\n cursor: 'pointer',\n backgroundColor: isHighlighted\n ? 'var(--accent-3)'\n : 'transparent',\n transition: 'background-color 80ms',\n }}\n >\n <Typo variant=\"body\">{option.label}</Typo>\n </li>\n );\n })}\n </ul>\n )}\n </DropdownMenu.Content>\n </DropdownMenu.Root>\n </Box>\n );\n }\n);\n\nAutocompleteTextfield.displayName = 'AutocompleteTextfield';\n","import { TextField as RTextField } from '@radix-ui/themes';\nimport { forwardRef, useMemo } from 'react';\n\ntype RSlotProps = RTextField.SlotProps;\n\ntype RootProps = RTextField.RootProps & { error?: boolean };\n\nconst Root = forwardRef<\n HTMLInputElement,\n RTextField.RootProps & { error?: boolean }\n>((props, ref) => {\n const { error, style, className, ...rest } = props;\n\n const fieldStyle = useMemo(() => {\n if (!error) return style;\n const errorStyle = {\n boxShadow: 'inset 0 0 0 var(--text-field-border-width) var(--error-11)',\n };\n\n return { ...(style || {}), ...errorStyle };\n }, [error, style]);\n\n const classNameStr = error ? `error ${className}` : className;\n return (\n <RTextField.Root\n className={classNameStr}\n ref={ref}\n style={fieldStyle}\n {...rest}\n />\n );\n});\n\nRoot.displayName = 'TextField.Root';\n\nconst TextField = { Root, Slot: RTextField.Slot };\n\nexport { TextField };\nexport type { RootProps, RSlotProps as SlotProps };\n","import { DropdownMenu as RadixDropdownMenu } from '@radix-ui/themes';\nimport { forwardRef, useMemo } from 'react';\n\ntype ContentProps = RadixDropdownMenu.ContentProps & {\n isNavigation?: boolean;\n onOpenAutoFocus?: (event: Event) => void;\n};\n\nconst Content = forwardRef<HTMLDivElement, ContentProps>((props, ref) => {\n const { isNavigation, className, ...rest } = props;\n const contentClassName = useMemo(() => {\n const cls = isNavigation ? 'dropdown-navigation' : '';\n return [cls, className].join(' ');\n }, [isNavigation, className]);\n\n return (\n <RadixDropdownMenu.Content\n ref={ref}\n {...rest}\n className={contentClassName}\n />\n );\n});\n\nContent.displayName = 'DropdownMenu.Content';\n\n/** @radix-ui/themes의 DropdownMenu.Trigger는 asChild 타입이 누락되어 있어 별도로 확장 */\ntype TriggerProps = RadixDropdownMenu.TriggerProps & { asChild?: boolean };\n\nconst Trigger = forwardRef<HTMLButtonElement, TriggerProps>(\n ({ asChild: _asChild, ...props }, ref) => (\n <RadixDropdownMenu.Trigger ref={ref} {...props} />\n ),\n);\n\nTrigger.displayName = 'DropdownMenu.Trigger';\n\nexport const DropdownMenu = {\n ...RadixDropdownMenu,\n Content,\n Trigger,\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"],"mappings":"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","names":["import_react","import_themes","RTextField","import_themes","import_react","import_jsx_runtime","RadixDropdownMenu","import_themes","import_react","import_jsx_runtime","RadixText","import_jsx_runtime","_a","_b"]}
1
+ {"version":3,"sources":["../../src/molecules/autocomplete-textfield.tsx","../../src/atoms/text-field.tsx","../../src/atoms/dropdown-menu.tsx","../../src/utils/resolve-color.ts","../../src/theme/theme-provider.tsx","../../src/atoms/typo.tsx","../../src/utils/map-with-responsive.ts"],"sourcesContent":["import React, {\n forwardRef,\n useCallback,\n useEffect,\n useId,\n useRef,\n useState,\n} from 'react';\nimport { Box } from '@radix-ui/themes';\nimport { TextField, type RootProps as TextFieldRootProps } from '../atoms/text-field';\nimport { DropdownMenu } from '../atoms/dropdown-menu';\nimport { Typo } from '../atoms/typo';\n\nexport interface AutocompleteOption {\n label: string;\n value: string;\n}\n\nexport interface AutocompleteTextfieldProps\n extends Omit<TextFieldRootProps, 'value' | 'onChange' | 'onSelect'> {\n options: AutocompleteOption[];\n value?: string;\n onChange?: (value: string) => void;\n onSelect?: (option: AutocompleteOption) => void;\n placeholder?: string;\n /** 빈 결과일 때 표시할 메시지. null이면 빈 결과 시 드롭다운을 표시하지 않음 */\n emptyMessage?: string | null;\n /** 최대 표시 항목 수 (기본값: 10) */\n maxItems?: number;\n /** TextField 왼쪽 슬롯 (아이콘 등) */\n slotLeft?: React.ReactNode;\n /** TextField 오른쪽 슬롯 (아이콘 등) */\n slotRight?: React.ReactNode;\n}\n\nexport const AutocompleteTextfield = forwardRef<\n HTMLInputElement,\n AutocompleteTextfieldProps\n>(\n (\n {\n options,\n value: externalValue,\n onChange,\n onSelect,\n placeholder,\n emptyMessage = '검색 결과가 없습니다.',\n maxItems = 10,\n slotLeft,\n slotRight,\n error,\n ...rest\n },\n ref\n ): React.ReactElement => {\n const isControlled = externalValue !== undefined;\n const [internalValue, setInternalValue] = useState('');\n const inputValue = isControlled ? externalValue : internalValue;\n\n const [open, setOpen] = useState(false);\n const [highlightedIndex, setHighlightedIndex] = useState(-1);\n\n const inputRef = useRef<HTMLInputElement>(null);\n const listRef = useRef<HTMLUListElement>(null);\n const listboxId = useId();\n const justSelectedRef = useRef(false);\n\n const filtered = options\n .filter((opt: AutocompleteOption) =>\n opt.label.toLowerCase().includes(inputValue.toLowerCase())\n )\n .slice(0, maxItems);\n\n const handleInputChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const next = e.target.value;\n if (!isControlled) setInternalValue(next);\n onChange?.(next);\n const nextFiltered = options\n .filter((opt) => opt.label.toLowerCase().includes(next.toLowerCase()))\n .slice(0, maxItems);\n setOpen(nextFiltered.length > 0 || emptyMessage !== null);\n setHighlightedIndex(-1);\n },\n [isControlled, onChange, options, maxItems, emptyMessage]\n );\n\n const handleSelect = useCallback(\n (option: AutocompleteOption) => {\n if (!isControlled) setInternalValue(option.label);\n onChange?.(option.label);\n onSelect?.(option);\n setOpen(false);\n setHighlightedIndex(-1);\n justSelectedRef.current = true;\n inputRef.current?.focus();\n },\n [isControlled, onChange, onSelect]\n );\n\n const handleFocus = useCallback(() => {\n if (justSelectedRef.current) {\n justSelectedRef.current = false;\n return;\n }\n const currentFiltered = options\n .filter((opt) => opt.label.toLowerCase().includes(inputValue.toLowerCase()))\n .slice(0, maxItems);\n setOpen(currentFiltered.length > 0 || emptyMessage !== null);\n }, [options, inputValue, maxItems, emptyMessage]);\n\n const handleBlur = useCallback((e: React.FocusEvent<HTMLInputElement>) => {\n // 포커스가 dropdown content 내부로 이동한 경우 닫지 않음\n if (e.relatedTarget && inputRef.current?.parentElement?.contains(e.relatedTarget as Node)) {\n return;\n }\n setOpen(false);\n setHighlightedIndex(-1);\n }, []);\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (!open) {\n if (e.key === 'ArrowDown' || e.key === 'ArrowUp') {\n setOpen(true);\n setHighlightedIndex(0);\n e.preventDefault();\n }\n return;\n }\n\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault();\n setHighlightedIndex((prev) =>\n prev < filtered.length - 1 ? prev + 1 : 0\n );\n break;\n case 'ArrowUp':\n e.preventDefault();\n setHighlightedIndex((prev) =>\n prev > 0 ? prev - 1 : filtered.length - 1\n );\n break;\n case 'Enter':\n e.preventDefault();\n if (highlightedIndex >= 0 && filtered[highlightedIndex]) {\n handleSelect(filtered[highlightedIndex]);\n }\n break;\n case 'Escape':\n setOpen(false);\n setHighlightedIndex(-1);\n break;\n case 'Tab':\n setOpen(false);\n setHighlightedIndex(-1);\n break;\n default:\n break;\n }\n },\n [open, filtered, highlightedIndex, handleSelect]\n );\n\n // 하이라이트 항목을 리스트 뷰에 스크롤\n useEffect(() => {\n if (!listRef.current || highlightedIndex < 0) return;\n const item = listRef.current.children[highlightedIndex];\n (item as HTMLElement).scrollIntoView({ block: 'nearest' });\n }, [highlightedIndex]);\n\n return (\n <Box position=\"relative\" style={{ width: '100%' }}>\n <TextField.Root\n aria-activedescendant={\n open && highlightedIndex >= 0\n ? `${listboxId}-option-${highlightedIndex}`\n : undefined\n }\n aria-autocomplete=\"list\"\n aria-controls={open ? listboxId : undefined}\n aria-expanded={open}\n error={error}\n onBlur={handleBlur}\n onChange={handleInputChange}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n ref={(node) => {\n (inputRef as React.MutableRefObject<HTMLInputElement | null>).current =\n node;\n if (typeof ref === 'function') {\n ref(node);\n } else if (ref) {\n (ref as React.MutableRefObject<HTMLInputElement | null>).current =\n node;\n }\n }}\n role=\"combobox\"\n style={{ width: '100%' }}\n value={inputValue}\n {...rest}\n >\n {slotLeft && <TextField.Slot side=\"left\">{slotLeft}</TextField.Slot>}\n {slotRight && <TextField.Slot side=\"right\">{slotRight}</TextField.Slot>}\n </TextField.Root>\n\n {/* DropdownMenu.Trigger는 포지셔닝 앵커 전용으로 사용 (비대화형) */}\n <DropdownMenu.Root\n modal={false}\n onOpenChange={(nextOpen) => {\n if (!nextOpen && document.activeElement !== inputRef.current) {\n setOpen(false);\n setHighlightedIndex(-1);\n }\n }}\n open={open}\n >\n <DropdownMenu.Trigger asChild>\n <span\n aria-hidden=\"true\"\n style={{\n bottom: 0,\n height: 0,\n left: 0,\n opacity: 0,\n pointerEvents: 'none',\n position: 'absolute',\n width: '100%',\n }}\n />\n </DropdownMenu.Trigger>\n\n <DropdownMenu.Content\n align=\"start\"\n onCloseAutoFocus={(e: Event) => {\n e.preventDefault();\n }}\n onOpenAutoFocus={(e: Event) => {\n e.preventDefault();\n }}\n sideOffset={4}\n style={{\n maxHeight: 240,\n overflowY: 'auto',\n padding: 0,\n width: 'var(--radix-dropdown-menu-trigger-width)',\n }}\n >\n {filtered.length === 0 && emptyMessage !== null ? (\n <Box px=\"2\" py=\"2\">\n <Typo color=\"gray\">\n {emptyMessage}\n </Typo>\n </Box>\n ) : (\n <ul\n id={listboxId}\n ref={listRef}\n role=\"listbox\"\n style={{ listStyle: 'none', margin: 0, padding: 0 }}\n >\n {filtered.map((option, index) => {\n const isHighlighted = index === highlightedIndex;\n return (\n <li\n aria-selected={isHighlighted}\n id={`${listboxId}-option-${index}`}\n key={option.value}\n onMouseEnter={() => {\n setHighlightedIndex(index);\n }}\n onPointerDown={(e) => {\n // blur 전에 선택되도록 pointerdown 사용\n e.preventDefault();\n handleSelect(option);\n }}\n role=\"option\"\n style={{\n padding: 'var(--spacing-4) var(--spacing-6)',\n cursor: 'pointer',\n backgroundColor: isHighlighted\n ? 'var(--accent-3)'\n : 'transparent',\n transition: 'background-color 80ms',\n }}\n >\n <Typo variant=\"body\">{option.label}</Typo>\n </li>\n );\n })}\n </ul>\n )}\n </DropdownMenu.Content>\n </DropdownMenu.Root>\n </Box>\n );\n }\n);\n\nAutocompleteTextfield.displayName = 'AutocompleteTextfield';\n","import { TextField as RTextField } from '@radix-ui/themes';\nimport { forwardRef, useMemo } from 'react';\n\ntype RSlotProps = RTextField.SlotProps;\n\ntype RootProps = RTextField.RootProps & { error?: boolean };\n\nconst Root = forwardRef<\n HTMLInputElement,\n RTextField.RootProps & { error?: boolean }\n>((props, ref) => {\n const { error, style, className, ...rest } = props;\n\n const fieldStyle = useMemo(() => {\n if (!error) return style;\n const errorStyle = {\n boxShadow: 'inset 0 0 0 var(--text-field-border-width) var(--error-11)',\n };\n\n return { ...(style || {}), ...errorStyle };\n }, [error, style]);\n\n const classNameStr = error ? `error ${className}` : className;\n return (\n <RTextField.Root\n className={classNameStr}\n ref={ref}\n style={fieldStyle}\n {...rest}\n />\n );\n});\n\nRoot.displayName = 'TextField.Root';\n\nconst TextField = { Root, Slot: RTextField.Slot };\n\nexport { TextField };\nexport type { RootProps, RSlotProps as SlotProps };\n","import { DropdownMenu as RadixDropdownMenu } from '@radix-ui/themes';\nimport { createContext, forwardRef, useContext, useMemo } from 'react';\nimport {\n resolveColor,\n type DistributiveOmit,\n type UiColor,\n} from '../utils/resolve-color';\nimport { ThemeAccentContext } from '../theme/theme-provider';\n\nconst DropdownMenuContext = createContext<{ color?: UiColor }>({});\n\ntype ContentProps = DistributiveOmit<\n RadixDropdownMenu.ContentProps,\n 'color'\n> & {\n isNavigation?: boolean;\n onOpenAutoFocus?: (event: Event) => void;\n color?: UiColor;\n};\n\nconst Content = forwardRef<HTMLDivElement, ContentProps>((props, ref) => {\n const { isNavigation, className, color, ...rest } = props;\n const { color: contextColor } = useContext(DropdownMenuContext);\n const themeAccent = useContext(ThemeAccentContext);\n\n // Content는 Portal로 렌더돼 theme의 className override를 못 받으므로, per-instance/Root color가\n // 없으면 theme custom accent(black)를 fallback으로 적용해 Portal 안에서도 black을 유지한다.\n const { color: radixColor, className: colorClassName } = useMemo(\n () => resolveColor(color ?? contextColor ?? themeAccent),\n [color, contextColor, themeAccent],\n );\n\n // custom color(black)는 className override만 사용 — fallback color를 함께 넘기면 자식 Item이\n // 자기 data-accent-color로 gray를 다시 적용해 override를 덮는다.\n const appliedColor = colorClassName ? undefined : radixColor;\n\n const contentClassName = useMemo(() => {\n const cls = isNavigation ? 'dropdown-navigation' : '';\n return [cls, colorClassName, className].filter(Boolean).join(' ');\n }, [isNavigation, colorClassName, className]);\n\n return (\n <RadixDropdownMenu.Content\n ref={ref}\n {...rest}\n className={contentClassName}\n color={appliedColor}\n />\n );\n});\n\nContent.displayName = 'DropdownMenu.Content';\n\n// @radix-ui/themes의 DropdownMenu.Trigger는 asChild 타입이 누락되어 있어 별도로 확장\ntype TriggerProps = RadixDropdownMenu.TriggerProps & { asChild?: boolean };\n\nconst Trigger = forwardRef<HTMLButtonElement, TriggerProps>(\n ({ asChild: _asChild, ...props }, ref) => (\n <RadixDropdownMenu.Trigger ref={ref} {...props} />\n ),\n);\n\nTrigger.displayName = 'DropdownMenu.Trigger';\n\ntype RootProps = RadixDropdownMenu.RootProps & {\n /** Content에 일괄 적용할 color. Content에서 color prop으로 개별 override 가능. */\n color?: UiColor;\n};\n\nfunction Root(props: RootProps): React.ReactNode {\n const { color, ...rest } = props;\n\n const value = useMemo(() => ({ color }), [color]);\n\n return (\n <DropdownMenuContext.Provider value={value}>\n <RadixDropdownMenu.Root {...rest} />\n </DropdownMenuContext.Provider>\n );\n}\n\nRoot.displayName = 'DropdownMenu.Root';\n\nexport const DropdownMenu = {\n ...RadixDropdownMenu,\n Root,\n Content,\n Trigger,\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 React, { createContext } from 'react';\nimport { Theme } from '@radix-ui/themes';\nimport { clsx } from 'clsx';\nimport { resolveColor, type UiColor } from '../utils/resolve-color';\n\ntype ThemeProps = React.ComponentProps<typeof Theme>;\n\n/**\n * 테마 전역 primary가 custom color(black 등)일 때 그 값을 하위로 전달하는 context.\n * Radix는 Portal 컨텐츠(Select 드롭다운 등)에 theme의 accentColor \"값\"(여기선 fallback gray)만\n * 복제하고 `.tipp-accent-black` className은 복제하지 않으므로, Portal 안에서는 accent override가\n * 사라진다. 래핑된 overlay 컴포넌트(Select 등)가 이 context를 최하위 fallback color로 읽어\n * 자기 요소에 className을 직접 부여하면 Portal 내부에서도 black이 유지된다.\n * (custom accent가 아닐 때는 undefined — Radix 네이티브 portal 상속에 맡긴다.)\n */\nexport const ThemeAccentContext = createContext<UiColor | undefined>(undefined);\n\nexport interface ThemeProviderProps extends Omit<ThemeProps, 'accentColor'> {\n children: React.ReactNode;\n /**\n * 전역 primary(accent) color. Radix accent color에 더해 커스텀 `black`을 지원한다.\n * black이면 Radix에는 fallback `gray`를 넘기고 Theme 루트에 accent override\n * className을 부여하여 하위 컴포넌트가 color prop 없이도 black을 상속한다.\n */\n accentColor?: ThemeProps['accentColor'] | 'black';\n}\n\nexport function ThemeProvider(props: ThemeProviderProps): React.ReactNode {\n const { accentColor = 'iris', className, ...rest } = props;\n\n const { color: radixAccent, className: accentClassName } =\n resolveColor(accentColor);\n\n // custom accent(className이 생기는 경우 = black)일 때만 Portal 보정용으로 context에 흘린다.\n const themeAccent = accentClassName ? accentColor : undefined;\n\n return (\n <ThemeAccentContext.Provider value={themeAccent}>\n <Theme\n accentColor={radixAccent ?? 'iris'}\n className={clsx(accentClassName, className)}\n radius=\"medium\"\n {...rest}\n />\n </ThemeAccentContext.Provider>\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"],"mappings":"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","names":["import_react","import_themes","RTextField","import_themes","import_react","import_react","import_themes","import_jsx_runtime","import_jsx_runtime","_a","RadixDropdownMenu","Root","import_themes","import_clsx","import_react","import_jsx_runtime","RadixText","import_jsx_runtime","_a","_b"]}
@@ -1,10 +1,12 @@
1
1
  import {
2
2
  AutocompleteTextfield
3
- } from "../chunk-LSDD4TAP.js";
3
+ } from "../chunk-AJTGTGOC.js";
4
4
  import "../chunk-6NPTJBFE.js";
5
- import "../chunk-SMLC2O3V.js";
6
- import "../chunk-PMJIFLDT.js";
5
+ import "../chunk-T73HHR3I.js";
6
+ import "../chunk-GR4PG6HY.js";
7
7
  import "../chunk-LDBWASUA.js";
8
+ import "../chunk-WYWM2HSZ.js";
9
+ import "../chunk-VFQD57ZY.js";
8
10
  import "../chunk-CRTRMMJ7.js";
9
11
  export {
10
12
  AutocompleteTextfield