@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.
- package/dist/app/index.cjs +1291 -837
- package/dist/app/index.cjs.map +1 -1
- package/dist/app/index.js +122 -121
- package/dist/app/platform/coach-question-list.cjs +822 -364
- package/dist/app/platform/coach-question-list.cjs.map +1 -1
- package/dist/app/platform/coach-question-list.js +48 -46
- package/dist/app/platform/contents-card.cjs +815 -357
- package/dist/app/platform/contents-card.cjs.map +1 -1
- package/dist/app/platform/contents-card.js +48 -46
- package/dist/app/platform/curriculum-card.cjs +65 -13
- package/dist/app/platform/curriculum-card.cjs.map +1 -1
- package/dist/app/platform/curriculum-card.js +7 -6
- package/dist/app/platform/edit-coaching-time.cjs +1012 -558
- package/dist/app/platform/edit-coaching-time.cjs.map +1 -1
- package/dist/app/platform/edit-coaching-time.js +97 -96
- package/dist/app/platform/edit-service-type.cjs +995 -541
- package/dist/app/platform/edit-service-type.cjs.map +1 -1
- package/dist/app/platform/edit-service-type.js +98 -97
- package/dist/app/platform/goal-manage-card-edit.cjs +991 -537
- package/dist/app/platform/goal-manage-card-edit.cjs.map +1 -1
- package/dist/app/platform/goal-manage-card-edit.js +97 -96
- package/dist/app/platform/goal-manage-card-read.cjs +865 -407
- package/dist/app/platform/goal-manage-card-read.cjs.map +1 -1
- package/dist/app/platform/goal-manage-card-read.js +48 -46
- package/dist/app/platform/on-offline-radio-card.cjs +785 -331
- package/dist/app/platform/on-offline-radio-card.cjs.map +1 -1
- package/dist/app/platform/on-offline-radio-card.js +97 -96
- package/dist/app/platform/report-card.cjs +828 -370
- package/dist/app/platform/report-card.cjs.map +1 -1
- package/dist/app/platform/report-card.js +48 -46
- package/dist/app/platform/reservation-card.cjs +1016 -562
- package/dist/app/platform/reservation-card.cjs.map +1 -1
- package/dist/app/platform/reservation-card.js +98 -97
- package/dist/app/platform/session-card.cjs +1069 -615
- package/dist/app/platform/session-card.cjs.map +1 -1
- package/dist/app/platform/session-card.js +100 -99
- package/dist/app/platform/session-review-simple-read.cjs +825 -367
- package/dist/app/platform/session-review-simple-read.cjs.map +1 -1
- package/dist/app/platform/session-review-simple-read.js +48 -46
- package/dist/app/platform/userInfos/coaching-customer-info/index.cjs +857 -399
- package/dist/app/platform/userInfos/coaching-customer-info/index.cjs.map +1 -1
- package/dist/app/platform/userInfos/coaching-customer-info/index.js +54 -52
- package/dist/app/platform/userInfos/coaching-customer-info/large.cjs +833 -375
- package/dist/app/platform/userInfos/coaching-customer-info/large.cjs.map +1 -1
- package/dist/app/platform/userInfos/coaching-customer-info/large.js +49 -47
- package/dist/app/platform/userInfos/coaching-customer-info/medium.cjs +836 -378
- package/dist/app/platform/userInfos/coaching-customer-info/medium.cjs.map +1 -1
- package/dist/app/platform/userInfos/coaching-customer-info/medium.js +49 -47
- package/dist/app/platform/userInfos/coaching-customer-info/small.cjs +823 -365
- package/dist/app/platform/userInfos/coaching-customer-info/small.cjs.map +1 -1
- package/dist/app/platform/userInfos/coaching-customer-info/small.js +48 -46
- package/dist/app/platform/userInfos/session-user-info-detail.cjs +832 -374
- package/dist/app/platform/userInfos/session-user-info-detail.cjs.map +1 -1
- package/dist/app/platform/userInfos/session-user-info-detail.js +49 -47
- package/dist/app/platform/userInfos/utils.cjs +824 -366
- package/dist/app/platform/userInfos/utils.cjs.map +1 -1
- package/dist/app/platform/userInfos/utils.js +48 -46
- package/dist/atoms/alert-dialog.cjs +85 -1
- package/dist/atoms/alert-dialog.cjs.map +1 -1
- package/dist/atoms/alert-dialog.d.cts +18 -2
- package/dist/atoms/alert-dialog.d.ts +18 -2
- package/dist/atoms/alert-dialog.js +3 -1
- package/dist/atoms/aspect-ratio.d.cts +1 -0
- package/dist/atoms/aspect-ratio.d.ts +1 -0
- package/dist/atoms/avatar.cjs +39 -2
- package/dist/atoms/avatar.cjs.map +1 -1
- package/dist/atoms/avatar.d.cts +5 -2
- package/dist/atoms/avatar.d.ts +5 -2
- package/dist/atoms/avatar.js +2 -1
- package/dist/atoms/badge.cjs +34 -9
- package/dist/atoms/badge.cjs.map +1 -1
- package/dist/atoms/badge.d.cts +4 -5
- package/dist/atoms/badge.d.ts +4 -5
- package/dist/atoms/badge.js +2 -1
- package/dist/atoms/blockquote.cjs +71 -1
- package/dist/atoms/blockquote.cjs.map +1 -1
- package/dist/atoms/blockquote.d.cts +12 -1
- package/dist/atoms/blockquote.d.ts +12 -1
- package/dist/atoms/blockquote.js +2 -1
- package/dist/atoms/bullet-text.cjs +39 -2
- package/dist/atoms/bullet-text.cjs.map +1 -1
- package/dist/atoms/bullet-text.d.cts +1 -0
- package/dist/atoms/bullet-text.d.ts +1 -0
- package/dist/atoms/bullet-text.js +4 -3
- package/dist/atoms/button.cjs +33 -3
- package/dist/atoms/button.cjs.map +1 -1
- package/dist/atoms/button.d.cts +5 -3
- package/dist/atoms/button.d.ts +5 -3
- package/dist/atoms/button.js +2 -1
- package/dist/atoms/button.type.cjs.map +1 -1
- package/dist/atoms/button.type.d.cts +3 -1
- package/dist/atoms/button.type.d.ts +3 -1
- package/dist/atoms/call-out.cjs +78 -1
- package/dist/atoms/call-out.cjs.map +1 -1
- package/dist/atoms/call-out.d.cts +13 -1
- package/dist/atoms/call-out.d.ts +13 -1
- package/dist/atoms/call-out.js +2 -1
- package/dist/atoms/check-box-card.cjs +78 -1
- package/dist/atoms/check-box-card.cjs.map +1 -1
- package/dist/atoms/check-box-card.d.cts +12 -1
- package/dist/atoms/check-box-card.d.ts +12 -1
- package/dist/atoms/check-box-card.js +2 -1
- package/dist/atoms/check-box-group.cjs +40 -2
- package/dist/atoms/check-box-group.cjs.map +1 -1
- package/dist/atoms/check-box-group.d.cts +6 -0
- package/dist/atoms/check-box-group.d.ts +6 -0
- package/dist/atoms/check-box-group.js +2 -1
- package/dist/atoms/check-box.cjs +37 -2
- package/dist/atoms/check-box.cjs.map +1 -1
- package/dist/atoms/check-box.d.cts +5 -2
- package/dist/atoms/check-box.d.ts +5 -2
- package/dist/atoms/check-box.js +2 -1
- package/dist/atoms/code.cjs +73 -1
- package/dist/atoms/code.cjs.map +1 -1
- package/dist/atoms/code.d.cts +12 -1
- package/dist/atoms/code.d.ts +12 -1
- package/dist/atoms/code.js +2 -1
- package/dist/atoms/data-list.cjs +77 -1
- package/dist/atoms/data-list.cjs.map +1 -1
- package/dist/atoms/data-list.d.cts +14 -1
- package/dist/atoms/data-list.d.ts +14 -1
- package/dist/atoms/data-list.js +2 -1
- package/dist/atoms/dialog.cjs +49 -6
- package/dist/atoms/dialog.cjs.map +1 -1
- package/dist/atoms/dialog.js +4 -3
- package/dist/atoms/drawer.cjs +33 -3
- package/dist/atoms/drawer.cjs.map +1 -1
- package/dist/atoms/drawer.js +3 -2
- package/dist/atoms/dropdown-menu.cjs +63 -12
- package/dist/atoms/dropdown-menu.cjs.map +1 -1
- package/dist/atoms/dropdown-menu.d.cts +27 -17
- package/dist/atoms/dropdown-menu.d.ts +27 -17
- package/dist/atoms/dropdown-menu.js +3 -1
- package/dist/atoms/ellipsis-tooltip.cjs +73 -22
- package/dist/atoms/ellipsis-tooltip.cjs.map +1 -1
- package/dist/atoms/ellipsis-tooltip.d.cts +1 -0
- package/dist/atoms/ellipsis-tooltip.d.ts +1 -0
- package/dist/atoms/ellipsis-tooltip.js +5 -3
- package/dist/atoms/field-error-wrapper.cjs +39 -2
- package/dist/atoms/field-error-wrapper.cjs.map +1 -1
- package/dist/atoms/field-error-wrapper.js +4 -3
- package/dist/atoms/heading.cjs +38 -2
- package/dist/atoms/heading.cjs.map +1 -1
- package/dist/atoms/heading.d.cts +3 -1
- package/dist/atoms/heading.d.ts +3 -1
- package/dist/atoms/heading.js +2 -1
- package/dist/atoms/hover-card.cjs +85 -1
- package/dist/atoms/hover-card.cjs.map +1 -1
- package/dist/atoms/hover-card.d.cts +14 -1
- package/dist/atoms/hover-card.d.ts +14 -1
- package/dist/atoms/hover-card.js +3 -1
- package/dist/atoms/icon-button.cjs +33 -3
- package/dist/atoms/icon-button.cjs.map +1 -1
- package/dist/atoms/icon-button.d.cts +5 -3
- package/dist/atoms/icon-button.d.ts +5 -3
- package/dist/atoms/icon-button.js +2 -1
- package/dist/atoms/index.cjs +996 -506
- package/dist/atoms/index.cjs.map +1 -1
- package/dist/atoms/index.d.cts +18 -2
- package/dist/atoms/index.d.ts +18 -2
- package/dist/atoms/index.js +81 -79
- package/dist/atoms/link.cjs +40 -2
- package/dist/atoms/link.cjs.map +1 -1
- package/dist/atoms/link.d.cts +3 -1
- package/dist/atoms/link.d.ts +3 -1
- package/dist/atoms/link.js +2 -1
- package/dist/atoms/list.cjs +43 -4
- package/dist/atoms/list.cjs.map +1 -1
- package/dist/atoms/list.js +4 -3
- package/dist/atoms/pagination.cjs +100 -42
- package/dist/atoms/pagination.cjs.map +1 -1
- package/dist/atoms/pagination.d.cts +4 -0
- package/dist/atoms/pagination.d.ts +4 -0
- package/dist/atoms/pagination.js +5 -4
- package/dist/atoms/popover.cjs +85 -1
- package/dist/atoms/popover.cjs.map +1 -1
- package/dist/atoms/popover.d.cts +16 -1
- package/dist/atoms/popover.d.ts +16 -1
- package/dist/atoms/popover.js +3 -1
- package/dist/atoms/progress.cjs +71 -1
- package/dist/atoms/progress.cjs.map +1 -1
- package/dist/atoms/progress.d.cts +12 -1
- package/dist/atoms/progress.d.ts +12 -1
- package/dist/atoms/progress.js +2 -1
- package/dist/atoms/radio-cards.cjs +78 -1
- package/dist/atoms/radio-cards.cjs.map +1 -1
- package/dist/atoms/radio-cards.d.cts +12 -1
- package/dist/atoms/radio-cards.d.ts +12 -1
- package/dist/atoms/radio-cards.js +2 -1
- package/dist/atoms/radio-group.cjs +78 -1
- package/dist/atoms/radio-group.cjs.map +1 -1
- package/dist/atoms/radio-group.d.cts +12 -1
- package/dist/atoms/radio-group.d.ts +12 -1
- package/dist/atoms/radio-group.js +2 -1
- package/dist/atoms/radio.cjs +71 -1
- package/dist/atoms/radio.cjs.map +1 -1
- package/dist/atoms/radio.d.cts +12 -1
- package/dist/atoms/radio.d.ts +12 -1
- package/dist/atoms/radio.js +2 -1
- package/dist/atoms/segmented-control.cjs.map +1 -1
- package/dist/atoms/segmented-control.js +1 -1
- package/dist/atoms/select.cjs +78 -24
- package/dist/atoms/select.cjs.map +1 -1
- package/dist/atoms/select.d.cts +14 -4
- package/dist/atoms/select.d.ts +14 -4
- package/dist/atoms/select.js +3 -1
- package/dist/atoms/switch.cjs +71 -1
- package/dist/atoms/switch.cjs.map +1 -1
- package/dist/atoms/switch.d.cts +12 -1
- package/dist/atoms/switch.d.ts +12 -1
- package/dist/atoms/switch.js +2 -1
- package/dist/atoms/tab-nav.cjs +76 -1
- package/dist/atoms/tab-nav.cjs.map +1 -1
- package/dist/atoms/tab-nav.d.cts +16 -1
- package/dist/atoms/tab-nav.d.ts +16 -1
- package/dist/atoms/tab-nav.js +2 -1
- package/dist/atoms/tabs.cjs +76 -1
- package/dist/atoms/tabs.cjs.map +1 -1
- package/dist/atoms/tabs.d.cts +19 -1
- package/dist/atoms/tabs.d.ts +19 -1
- package/dist/atoms/tabs.js +2 -1
- package/dist/atoms/tooltip.cjs +46 -9
- package/dist/atoms/tooltip.cjs.map +1 -1
- package/dist/atoms/tooltip.js +3 -1
- package/dist/atoms/typo.cjs +39 -2
- package/dist/atoms/typo.cjs.map +1 -1
- package/dist/atoms/typo.d.cts +3 -1
- package/dist/atoms/typo.d.ts +3 -1
- package/dist/atoms/typo.js +2 -1
- package/dist/charts/chart-default-props.cjs +1 -1
- package/dist/charts/chart-default-props.cjs.map +1 -1
- package/dist/charts/chart-default-props.d.cts +1 -1
- package/dist/charts/chart-default-props.d.ts +1 -1
- package/dist/charts/chart-default-props.js +1 -1
- package/dist/charts/index.cjs +1 -1
- package/dist/charts/index.cjs.map +1 -1
- package/dist/charts/index.js +1 -1
- package/dist/chunk-24PX34TH.js +42 -0
- package/dist/chunk-24PX34TH.js.map +1 -0
- package/dist/{chunk-GGLDVUYU.js → chunk-2FB75HU2.js} +5 -5
- package/dist/{chunk-7ITDAUWI.js → chunk-2I37QLRA.js} +15 -15
- package/dist/{chunk-ZVDAEY5Q.js → chunk-2LCH3PDF.js} +14 -4
- package/dist/chunk-2LCH3PDF.js.map +1 -0
- package/dist/{chunk-3NUQAVE6.js → chunk-2M3UFZUD.js} +15 -2
- package/dist/chunk-2M3UFZUD.js.map +1 -0
- package/dist/{chunk-PXPGCDNA.js → chunk-2O7NVLVP.js} +5 -5
- package/dist/{chunk-NZ6ONU5Z.js → chunk-2SM37SB4.js} +13 -13
- package/dist/{chunk-NLW32DPB.js → chunk-2WNLUQX5.js} +11 -11
- package/dist/chunk-3TOUVBIB.js +34 -0
- package/dist/chunk-3TOUVBIB.js.map +1 -0
- package/dist/{chunk-XBOSNFUM.js → chunk-447H6BVE.js} +6 -6
- package/dist/{chunk-5V6MQUTB.js → chunk-5OW76AER.js} +2 -2
- package/dist/chunk-6TU647KJ.js +37 -0
- package/dist/chunk-6TU647KJ.js.map +1 -0
- package/dist/{chunk-44VLRAHW.js → chunk-6YJGQWD6.js} +12 -12
- package/dist/{chunk-KCCYHT23.js → chunk-7JW5Z2TL.js} +4 -4
- package/dist/{chunk-JZVK4NDF.js → chunk-7PBLFV5L.js} +5 -5
- package/dist/{chunk-XK6VEVOK.js → chunk-7RJYF5L3.js} +14 -4
- package/dist/chunk-7RJYF5L3.js.map +1 -0
- package/dist/{chunk-UXVM3Y7P.js → chunk-A26UWBVB.js} +5 -5
- package/dist/{chunk-HJP4STJZ.js → chunk-A4YOY75P.js} +5 -5
- package/dist/{chunk-LSDD4TAP.js → chunk-AJTGTGOC.js} +3 -3
- package/dist/chunk-BI6TW3ZO.js +51 -0
- package/dist/chunk-BI6TW3ZO.js.map +1 -0
- package/dist/chunk-BK74U562.js +52 -0
- package/dist/chunk-BK74U562.js.map +1 -0
- package/dist/{chunk-JWAQUXGB.js → chunk-BZ3EXV6A.js} +3 -3
- package/dist/{chunk-QRI6ARS6.js → chunk-C2G3IB7G.js} +4 -4
- package/dist/chunk-CGDBUDY3.js +37 -0
- package/dist/chunk-CGDBUDY3.js.map +1 -0
- package/dist/chunk-DX3DLP5Z.js +39 -0
- package/dist/chunk-DX3DLP5Z.js.map +1 -0
- package/dist/{chunk-4U6DFH7Z.js → chunk-E6GCU5IQ.js} +2 -2
- package/dist/chunk-EIKFXUNC.js +39 -0
- package/dist/chunk-EIKFXUNC.js.map +1 -0
- package/dist/{chunk-CSKNBWPB.js → chunk-EZN5PMTC.js} +3 -3
- package/dist/chunk-EZN5PMTC.js.map +1 -0
- package/dist/{chunk-VRJR534I.js → chunk-GAA3RTRW.js} +4 -4
- package/dist/{chunk-VY557FHE.js → chunk-GE4M5GOQ.js} +4 -4
- package/dist/chunk-GI4AN2IZ.js +42 -0
- package/dist/chunk-GI4AN2IZ.js.map +1 -0
- package/dist/{chunk-OUJAPQS2.js → chunk-GPULIICW.js} +11 -11
- package/dist/{chunk-K36TPMKL.js → chunk-GPZXD762.js} +18 -3
- package/dist/chunk-GPZXD762.js.map +1 -0
- package/dist/{chunk-PMJIFLDT.js → chunk-GR4PG6HY.js} +20 -3
- package/dist/chunk-GR4PG6HY.js.map +1 -0
- package/dist/{chunk-7PF6I4RN.js → chunk-GRDRXD53.js} +2 -2
- package/dist/{chunk-TJKS6CLU.js → chunk-GREYLAMY.js} +6 -6
- package/dist/{chunk-VREM33BW.js → chunk-GYSRHZRS.js} +8 -8
- package/dist/{chunk-2TYR2RDO.js → chunk-H3GQHGFA.js} +8 -8
- package/dist/{chunk-KMVSJT6Y.js → chunk-HH6LML5K.js} +10 -10
- package/dist/{chunk-HQATHJBN.js → chunk-IA74OBFY.js} +58 -41
- package/dist/chunk-IA74OBFY.js.map +1 -0
- package/dist/{chunk-J62KAMQL.js → chunk-IM6E52L2.js} +10 -10
- package/dist/{chunk-TVDKGMBI.js → chunk-IT7ZTP7F.js} +1 -1
- package/dist/chunk-IT7ZTP7F.js.map +1 -0
- package/dist/{chunk-5LRFDSG2.js → chunk-J7N2IZQW.js} +6 -6
- package/dist/{chunk-EEAHZCIK.js → chunk-JCUG2XKB.js} +2 -2
- package/dist/chunk-JETG3WEI.js +39 -0
- package/dist/chunk-JETG3WEI.js.map +1 -0
- package/dist/{chunk-4LUFF5LX.js → chunk-JNEGSY5N.js} +3 -3
- package/dist/{chunk-CQSM6JCO.js → chunk-K3Q4XLCN.js} +4 -4
- package/dist/chunk-KNIIDDYM.js +34 -0
- package/dist/chunk-KNIIDDYM.js.map +1 -0
- package/dist/{chunk-4TST4UK5.js → chunk-KO3V7KB6.js} +2 -2
- package/dist/{chunk-3U6FXC6R.js → chunk-LIWQ47VQ.js} +11 -11
- package/dist/{chunk-2ZSK45QM.js → chunk-LQ3WGFS7.js} +9 -9
- package/dist/{chunk-A7LYIUE7.js → chunk-M77YPVQN.js} +7 -7
- package/dist/{chunk-P4KO43AP.js → chunk-MCKWO7K4.js} +5 -5
- package/dist/{chunk-G7NEBNHU.js → chunk-MGR37YQB.js} +6 -6
- package/dist/{chunk-QDC3LFHS.js → chunk-MMLVZWMD.js} +3 -3
- package/dist/{chunk-D4JZHM4J.js → chunk-MP5KZULQ.js} +10 -10
- package/dist/{chunk-WMWXF44S.js → chunk-MSLSD7F6.js} +5 -5
- package/dist/{chunk-JUDD3XGY.js → chunk-MSM2QG23.js} +9 -9
- package/dist/{chunk-NVQSH733.js → chunk-NFMEBYNY.js} +5 -5
- package/dist/{chunk-7ZMY4CAZ.js → chunk-NIHOKIYW.js} +6 -6
- package/dist/{chunk-BESTU2AY.js → chunk-NLHVQJQ2.js} +19 -3
- package/dist/chunk-NLHVQJQ2.js.map +1 -0
- package/dist/{chunk-3GQQQBJN.js → chunk-NYG34MV6.js} +6 -6
- package/dist/{chunk-XF7FPCS7.js → chunk-OA3DGWVL.js} +15 -15
- package/dist/{chunk-F5IXHUBI.js → chunk-OBWQ3N5D.js} +12 -12
- package/dist/{chunk-HVXBZGLT.js → chunk-OEHVGPWL.js} +16 -16
- package/dist/chunk-OLJN3WXR.js +1 -0
- package/dist/{chunk-WE3TWSC4.js → chunk-OPYRV6XJ.js} +5 -5
- package/dist/{chunk-WFOIY6OR.js → chunk-OQN4E2QP.js} +4 -4
- package/dist/{chunk-HZ7HETUI.js → chunk-OWQUXTQ2.js} +4 -4
- package/dist/{chunk-7I7PZF5L.js → chunk-OYXUWBKS.js} +3 -3
- package/dist/{chunk-D3KCPM4O.js → chunk-PE4EBBU4.js} +5 -5
- package/dist/{chunk-3GGJWSFK.js → chunk-PXMJK5D5.js} +10 -10
- package/dist/{chunk-Y4U24VXI.js → chunk-Q3M6GFHY.js} +3 -3
- package/dist/{chunk-GFURX6GB.js → chunk-QPL7SJQM.js} +5 -5
- package/dist/{chunk-YAUOAWYS.js → chunk-RMVVV5NH.js} +6 -6
- package/dist/chunk-RMW3MQF5.js +42 -0
- package/dist/chunk-RMW3MQF5.js.map +1 -0
- package/dist/{chunk-RPV3QPQL.js → chunk-RUJZ5PE7.js} +5 -5
- package/dist/chunk-SA7AYYQS.js +39 -0
- package/dist/chunk-SA7AYYQS.js.map +1 -0
- package/dist/{chunk-6J5YZTZE.js → chunk-T2CGNUCP.js} +7 -7
- package/dist/chunk-T73HHR3I.js +67 -0
- package/dist/chunk-T73HHR3I.js.map +1 -0
- package/dist/chunk-TNNF5Q62.js +34 -0
- package/dist/chunk-TNNF5Q62.js.map +1 -0
- package/dist/{chunk-ZUZ5FT4B.js → chunk-TU6SGJ5Z.js} +11 -11
- package/dist/{chunk-5ZEQ33PC.js → chunk-TYEGB5FQ.js} +7 -7
- package/dist/{chunk-5AWPST2R.js → chunk-UFM3EL52.js} +12 -12
- package/dist/chunk-UFRB2BVD.js +34 -0
- package/dist/chunk-UFRB2BVD.js.map +1 -0
- package/dist/chunk-UFWDQGOK.js +36 -0
- package/dist/chunk-UFWDQGOK.js.map +1 -0
- package/dist/{chunk-R3WM6HV6.js → chunk-VD5ZDFCM.js} +5 -5
- package/dist/chunk-VFQD57ZY.js +27 -0
- package/dist/chunk-VFQD57ZY.js.map +1 -0
- package/dist/{chunk-AQVIQODP.js → chunk-VK6INFSB.js} +4 -4
- package/dist/{chunk-W7X7KSJP.js → chunk-WG5OK3YN.js} +19 -3
- package/dist/chunk-WG5OK3YN.js.map +1 -0
- package/dist/{chunk-2QFSCWES.js → chunk-WSWSAPSS.js} +2 -2
- package/dist/{chunk-2QFSCWES.js.map → chunk-WSWSAPSS.js.map} +1 -1
- package/dist/{chunk-QFEZIPWJ.js → chunk-WY37V3W4.js} +9 -9
- package/dist/chunk-WYWM2HSZ.js +33 -0
- package/dist/chunk-WYWM2HSZ.js.map +1 -0
- package/dist/{chunk-SDEDXT7A.js → chunk-XOQXIPLL.js} +4 -4
- package/dist/{chunk-DVYTRZOL.js → chunk-YCLYKBWZ.js} +15 -15
- package/dist/{chunk-YW4IN7LP.js → chunk-YGNHAFBW.js} +8 -8
- package/dist/{chunk-APG3GKDT.js → chunk-YWWYA2JZ.js} +11 -11
- package/dist/chunk-YXMB4MCM.js +87 -0
- package/dist/chunk-YXMB4MCM.js.map +1 -0
- package/dist/{chunk-7AMHCTRM.js → chunk-Z5LPHG2D.js} +5 -5
- package/dist/{chunk-GZNELGHF.js → chunk-ZAFLWQOV.js} +10 -10
- package/dist/{chunk-WD5P2N6F.js → chunk-ZC2JPF7B.js} +13 -13
- package/dist/{chunk-VYCYVN3L.js → chunk-ZCGH6TJ3.js} +16 -3
- package/dist/chunk-ZCGH6TJ3.js.map +1 -0
- package/dist/{chunk-UH6Q3TEK.js → chunk-ZCQMCIT5.js} +9 -9
- package/dist/chunk-ZPUNTAVI.js +38 -0
- package/dist/chunk-ZPUNTAVI.js.map +1 -0
- package/dist/{chunk-LT5C6QT7.js → chunk-ZUL3NYQ4.js} +2 -2
- package/dist/{chunk-23QMZC6L.js → chunk-ZWYQ44CB.js} +10 -10
- package/dist/context/dynamic-form-context.cjs +54 -4
- package/dist/context/dynamic-form-context.cjs.map +1 -1
- package/dist/context/dynamic-form-context.js +5 -4
- package/dist/context/index.cjs +54 -4
- package/dist/context/index.cjs.map +1 -1
- package/dist/context/index.js +8 -7
- package/dist/index.cjs +2132 -1632
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +76 -3
- package/dist/index.d.cts +19 -3
- package/dist/index.d.ts +19 -3
- package/dist/index.js +174 -168
- package/dist/molecules/autocomplete-textfield.cjs +111 -46
- package/dist/molecules/autocomplete-textfield.cjs.map +1 -1
- package/dist/molecules/autocomplete-textfield.js +5 -3
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.cjs +367 -209
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.cjs.map +1 -1
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.js +22 -21
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.cjs +39 -2
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.cjs.map +1 -1
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.js +5 -4
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.cjs +293 -164
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.cjs.map +1 -1
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.js +16 -15
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-footer.cjs +33 -3
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-footer.cjs.map +1 -1
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-footer.js +4 -3
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-header.cjs +85 -19
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-header.cjs.map +1 -1
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-header.js +6 -5
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-layout.js +2 -2
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.cjs +217 -134
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.cjs.map +1 -1
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.js +10 -9
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.cjs +172 -110
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.cjs.map +1 -1
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.js +7 -6
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.cjs +39 -2
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.cjs.map +1 -1
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.js +6 -5
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.cjs +80 -20
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.cjs.map +1 -1
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.js +7 -6
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.cjs +64 -7
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.cjs.map +1 -1
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.js +6 -5
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.cjs +275 -115
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.cjs.map +1 -1
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.js +26 -25
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.cjs +76 -17
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.cjs.map +1 -1
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.js +8 -7
- package/dist/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.cjs +49 -5
- package/dist/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.cjs.map +1 -1
- package/dist/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.js +5 -4
- package/dist/molecules/curriculumV2/CurriculumContents/curriculum-file-download.cjs +49 -5
- package/dist/molecules/curriculumV2/CurriculumContents/curriculum-file-download.cjs.map +1 -1
- package/dist/molecules/curriculumV2/CurriculumContents/curriculum-file-download.js +5 -4
- package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.cjs +318 -153
- package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.cjs.map +1 -1
- package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.js +29 -28
- package/dist/molecules/curriculumV2/CurriculumContents/index.cjs +346 -181
- package/dist/molecules/curriculumV2/CurriculumContents/index.cjs.map +1 -1
- package/dist/molecules/curriculumV2/CurriculumContents/index.js +33 -32
- package/dist/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-item-title.cjs +39 -2
- package/dist/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-item-title.cjs.map +1 -1
- package/dist/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-item-title.js +4 -3
- package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-item.cjs +39 -2
- package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-item.cjs.map +1 -1
- package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-item.js +5 -4
- package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-title.cjs +39 -2
- package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-title.cjs.map +1 -1
- package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-title.js +3 -2
- package/dist/molecules/curriculumV2/CurriculumSidebar/index.cjs +195 -135
- package/dist/molecules/curriculumV2/CurriculumSidebar/index.cjs.map +1 -1
- package/dist/molecules/curriculumV2/CurriculumSidebar/index.js +10 -9
- package/dist/molecules/curriculumV2/CurriculumSidebar/sidebar-item.cjs +39 -2
- package/dist/molecules/curriculumV2/CurriculumSidebar/sidebar-item.cjs.map +1 -1
- package/dist/molecules/curriculumV2/CurriculumSidebar/sidebar-item.js +7 -6
- package/dist/molecules/curriculumV2/curriculum-sub-nav.cjs +65 -8
- package/dist/molecules/curriculumV2/curriculum-sub-nav.cjs.map +1 -1
- package/dist/molecules/curriculumV2/curriculum-sub-nav.js +6 -5
- package/dist/molecules/curriculumV2/curriculum-v2-layout.js +2 -2
- package/dist/molecules/curriculumV2/index.cjs +406 -220
- package/dist/molecules/curriculumV2/index.cjs.map +1 -1
- package/dist/molecules/curriculumV2/index.js +42 -41
- package/dist/molecules/date-picker/date-picker-button.cjs +160 -64
- package/dist/molecules/date-picker/date-picker-button.cjs.map +1 -1
- package/dist/molecules/date-picker/date-picker-button.d.cts +1 -0
- package/dist/molecules/date-picker/date-picker-button.d.ts +1 -0
- package/dist/molecules/date-picker/date-picker-button.js +11 -9
- package/dist/molecules/date-picker/index.cjs +242 -146
- package/dist/molecules/date-picker/index.cjs.map +1 -1
- package/dist/molecules/date-picker/index.js +10 -8
- package/dist/molecules/description-json-render.cjs +182 -120
- package/dist/molecules/description-json-render.cjs.map +1 -1
- package/dist/molecules/description-json-render.js +7 -6
- package/dist/molecules/download-card.cjs +67 -8
- package/dist/molecules/download-card.cjs.map +1 -1
- package/dist/molecules/download-card.js +6 -5
- package/dist/molecules/dynamic-field.cjs +222 -72
- package/dist/molecules/dynamic-field.cjs.map +1 -1
- package/dist/molecules/dynamic-field.js +13 -11
- package/dist/molecules/dynamic-form-editor-field-editor-panel.cjs +359 -267
- package/dist/molecules/dynamic-form-editor-field-editor-panel.cjs.map +1 -1
- package/dist/molecules/dynamic-form-editor-field-editor-panel.js +9 -7
- package/dist/molecules/dynamic-form-editor-field-list-panel.cjs +115 -47
- package/dist/molecules/dynamic-form-editor-field-list-panel.cjs.map +1 -1
- package/dist/molecules/dynamic-form-editor-field-list-panel.js +6 -4
- package/dist/molecules/dynamic-form-editor-issues-panel.cjs +39 -2
- package/dist/molecules/dynamic-form-editor-issues-panel.cjs.map +1 -1
- package/dist/molecules/dynamic-form-editor-issues-panel.js +4 -3
- package/dist/molecules/dynamic-form-editor-preview-panel.cjs +239 -89
- package/dist/molecules/dynamic-form-editor-preview-panel.cjs.map +1 -1
- package/dist/molecules/dynamic-form-editor-preview-panel.js +15 -13
- package/dist/molecules/dynamic-form-editor.cjs +571 -407
- package/dist/molecules/dynamic-form-editor.cjs.map +1 -1
- package/dist/molecules/dynamic-form-editor.js +21 -19
- package/dist/molecules/dynamic-form.cjs +235 -85
- package/dist/molecules/dynamic-form.cjs.map +1 -1
- package/dist/molecules/dynamic-form.js +14 -12
- package/dist/molecules/expand-table/index.cjs +100 -42
- package/dist/molecules/expand-table/index.cjs.map +1 -1
- package/dist/molecules/expand-table/index.js +6 -5
- package/dist/molecules/force-refresh.cjs +79 -24
- package/dist/molecules/force-refresh.cjs.map +1 -1
- package/dist/molecules/force-refresh.js +5 -4
- package/dist/molecules/form/form.cjs +54 -4
- package/dist/molecules/form/form.cjs.map +1 -1
- package/dist/molecules/form/form.js +4 -3
- package/dist/molecules/form/index.cjs +54 -4
- package/dist/molecules/form/index.cjs.map +1 -1
- package/dist/molecules/form/index.js +4 -3
- package/dist/molecules/ghost-post.cjs +72 -14
- package/dist/molecules/ghost-post.cjs.map +1 -1
- package/dist/molecules/ghost-post.d.cts +1 -0
- package/dist/molecules/ghost-post.d.ts +1 -0
- package/dist/molecules/ghost-post.js +7 -6
- package/dist/molecules/index.cjs +1334 -989
- package/dist/molecules/index.cjs.map +1 -1
- package/dist/molecules/index.d.cts +1 -0
- package/dist/molecules/index.d.ts +1 -0
- package/dist/molecules/index.js +80 -79
- package/dist/molecules/learning-post.cjs +109 -37
- package/dist/molecules/learning-post.cjs.map +1 -1
- package/dist/molecules/learning-post.d.cts +1 -0
- package/dist/molecules/learning-post.d.ts +1 -0
- package/dist/molecules/learning-post.js +9 -8
- package/dist/molecules/navigation.cjs +49 -5
- package/dist/molecules/navigation.cjs.map +1 -1
- package/dist/molecules/navigation.js +5 -4
- package/dist/molecules/one-on-one-guide-list.cjs +56 -6
- package/dist/molecules/one-on-one-guide-list.cjs.map +1 -1
- package/dist/molecules/one-on-one-guide-list.js +6 -5
- package/dist/molecules/radio-button-card.cjs +77 -13
- package/dist/molecules/radio-button-card.cjs.map +1 -1
- package/dist/molecules/radio-button-card.js +4 -3
- package/dist/molecules/stepper.cjs +55 -4
- package/dist/molecules/stepper.cjs.map +1 -1
- package/dist/molecules/stepper.js +5 -4
- package/dist/molecules/tag-selector.cjs +256 -180
- package/dist/molecules/tag-selector.cjs.map +1 -1
- package/dist/molecules/tag-selector.js +9 -7
- package/dist/molecules/time-select.cjs +180 -126
- package/dist/molecules/time-select.cjs.map +1 -1
- package/dist/molecules/time-select.d.cts +1 -0
- package/dist/molecules/time-select.d.ts +1 -0
- package/dist/molecules/time-select.js +5 -3
- package/dist/molecules/training-info-guideline.cjs +75 -11
- package/dist/molecules/training-info-guideline.cjs.map +1 -1
- package/dist/molecules/training-info-guideline.js +10 -9
- package/dist/theme/theme-provider.cjs +53 -1
- package/dist/theme/theme-provider.cjs.map +1 -1
- package/dist/theme/theme-provider.d.cts +18 -2
- package/dist/theme/theme-provider.d.ts +18 -2
- package/dist/theme/theme-provider.js +4 -1
- package/dist/utils/convert-button-size.d.cts +1 -0
- package/dist/utils/convert-button-size.d.ts +1 -0
- package/dist/utils/convert-icon-button-size.d.cts +1 -0
- package/dist/utils/convert-icon-button-size.d.ts +1 -0
- package/dist/utils/index.cjs +25 -0
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.d.cts +2 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.js +5 -1
- package/dist/utils/resolve-color.cjs +51 -0
- package/dist/utils/resolve-color.cjs.map +1 -0
- package/dist/utils/resolve-color.d.cts +38 -0
- package/dist/utils/resolve-color.d.ts +38 -0
- package/dist/utils/resolve-color.js +8 -0
- package/dist/utils/resolve-color.js.map +1 -0
- package/package.json +1 -1
- package/src/atoms/alert-dialog.tsx +38 -1
- package/src/atoms/avatar.tsx +18 -3
- package/src/atoms/badge.tsx +15 -22
- package/src/atoms/blockquote.tsx +31 -1
- package/src/atoms/button.tsx +12 -3
- package/src/atoms/button.type.ts +6 -1
- package/src/atoms/call-out.tsx +48 -1
- package/src/atoms/check-box-card.tsx +51 -1
- package/src/atoms/check-box-group.tsx +19 -2
- package/src/atoms/check-box.tsx +17 -3
- package/src/atoms/code.tsx +31 -1
- package/src/atoms/data-list.tsx +47 -1
- package/src/atoms/dropdown-menu.tsx +53 -6
- package/src/atoms/heading.tsx +22 -4
- package/src/atoms/hover-card.tsx +37 -1
- package/src/atoms/icon-button.tsx +12 -3
- package/src/atoms/link.tsx +21 -3
- package/src/atoms/pagination.tsx +21 -2
- package/src/atoms/popover.tsx +37 -1
- package/src/atoms/progress.tsx +31 -1
- package/src/atoms/radio-cards.tsx +49 -1
- package/src/atoms/radio-group.tsx +49 -1
- package/src/atoms/radio.tsx +31 -1
- package/src/atoms/segmented-control.tsx +3 -0
- package/src/atoms/select.tsx +67 -19
- package/src/atoms/switch.tsx +31 -1
- package/src/atoms/tab-nav.tsx +42 -1
- package/src/atoms/tabs.tsx +40 -1
- package/src/atoms/tooltip.tsx +14 -1
- package/src/atoms/typo.tsx +21 -3
- package/src/charts/chart-default-props.tsx +1 -1
- package/src/molecules/radio-button-card.tsx +6 -4
- package/src/theme/theme-provider.tsx +38 -3
- package/src/utils/index.ts +2 -1
- package/src/utils/resolve-color.ts +86 -0
- package/dist/chunk-365QMK4D.js +0 -7
- package/dist/chunk-365QMK4D.js.map +0 -1
- package/dist/chunk-3NUQAVE6.js.map +0 -1
- package/dist/chunk-5AVBYDPB.js +0 -7
- package/dist/chunk-5AVBYDPB.js.map +0 -1
- package/dist/chunk-5ZITU5L7.js +0 -7
- package/dist/chunk-5ZITU5L7.js.map +0 -1
- package/dist/chunk-6DJOIRMF.js +0 -7
- package/dist/chunk-6DJOIRMF.js.map +0 -1
- package/dist/chunk-6IVCARWS.js +0 -7
- package/dist/chunk-6IVCARWS.js.map +0 -1
- package/dist/chunk-7FKRQQYK.js +0 -15
- package/dist/chunk-7FKRQQYK.js.map +0 -1
- package/dist/chunk-B6XJN6EC.js +0 -7
- package/dist/chunk-B6XJN6EC.js.map +0 -1
- package/dist/chunk-BESTU2AY.js.map +0 -1
- package/dist/chunk-CSKNBWPB.js.map +0 -1
- package/dist/chunk-DHZVOXFM.js +0 -35
- package/dist/chunk-DHZVOXFM.js.map +0 -1
- package/dist/chunk-FPD73OHW.js +0 -7
- package/dist/chunk-FPD73OHW.js.map +0 -1
- package/dist/chunk-HFVVQEOZ.js +0 -1
- package/dist/chunk-HQATHJBN.js.map +0 -1
- package/dist/chunk-J242TTFH.js +0 -7
- package/dist/chunk-J242TTFH.js.map +0 -1
- package/dist/chunk-K36TPMKL.js.map +0 -1
- package/dist/chunk-KTSEZC6A.js +0 -49
- package/dist/chunk-KTSEZC6A.js.map +0 -1
- package/dist/chunk-MIMJ7LON.js +0 -7
- package/dist/chunk-MIMJ7LON.js.map +0 -1
- package/dist/chunk-O3T3TM3V.js +0 -7
- package/dist/chunk-O3T3TM3V.js.map +0 -1
- package/dist/chunk-OHMOP5PV.js +0 -7
- package/dist/chunk-OHMOP5PV.js.map +0 -1
- package/dist/chunk-OYM4XCHQ.js +0 -7
- package/dist/chunk-OYM4XCHQ.js.map +0 -1
- package/dist/chunk-PMJIFLDT.js.map +0 -1
- package/dist/chunk-SMLC2O3V.js +0 -42
- package/dist/chunk-SMLC2O3V.js.map +0 -1
- package/dist/chunk-TVDKGMBI.js.map +0 -1
- package/dist/chunk-VTJZMOSP.js +0 -7
- package/dist/chunk-VTJZMOSP.js.map +0 -1
- package/dist/chunk-VYCYVN3L.js.map +0 -1
- package/dist/chunk-W7X7KSJP.js.map +0 -1
- package/dist/chunk-X2GMDZ7M.js +0 -59
- package/dist/chunk-X2GMDZ7M.js.map +0 -1
- package/dist/chunk-XK6VEVOK.js.map +0 -1
- package/dist/chunk-YGL6SWKN.js +0 -7
- package/dist/chunk-YGL6SWKN.js.map +0 -1
- package/dist/chunk-YJ7ZFOYL.js +0 -7
- package/dist/chunk-YJ7ZFOYL.js.map +0 -1
- package/dist/chunk-ZVDAEY5Q.js.map +0 -1
- /package/dist/{chunk-GGLDVUYU.js.map → chunk-2FB75HU2.js.map} +0 -0
- /package/dist/{chunk-7ITDAUWI.js.map → chunk-2I37QLRA.js.map} +0 -0
- /package/dist/{chunk-PXPGCDNA.js.map → chunk-2O7NVLVP.js.map} +0 -0
- /package/dist/{chunk-NZ6ONU5Z.js.map → chunk-2SM37SB4.js.map} +0 -0
- /package/dist/{chunk-NLW32DPB.js.map → chunk-2WNLUQX5.js.map} +0 -0
- /package/dist/{chunk-XBOSNFUM.js.map → chunk-447H6BVE.js.map} +0 -0
- /package/dist/{chunk-5V6MQUTB.js.map → chunk-5OW76AER.js.map} +0 -0
- /package/dist/{chunk-44VLRAHW.js.map → chunk-6YJGQWD6.js.map} +0 -0
- /package/dist/{chunk-KCCYHT23.js.map → chunk-7JW5Z2TL.js.map} +0 -0
- /package/dist/{chunk-JZVK4NDF.js.map → chunk-7PBLFV5L.js.map} +0 -0
- /package/dist/{chunk-UXVM3Y7P.js.map → chunk-A26UWBVB.js.map} +0 -0
- /package/dist/{chunk-HJP4STJZ.js.map → chunk-A4YOY75P.js.map} +0 -0
- /package/dist/{chunk-LSDD4TAP.js.map → chunk-AJTGTGOC.js.map} +0 -0
- /package/dist/{chunk-JWAQUXGB.js.map → chunk-BZ3EXV6A.js.map} +0 -0
- /package/dist/{chunk-QRI6ARS6.js.map → chunk-C2G3IB7G.js.map} +0 -0
- /package/dist/{chunk-4U6DFH7Z.js.map → chunk-E6GCU5IQ.js.map} +0 -0
- /package/dist/{chunk-VRJR534I.js.map → chunk-GAA3RTRW.js.map} +0 -0
- /package/dist/{chunk-VY557FHE.js.map → chunk-GE4M5GOQ.js.map} +0 -0
- /package/dist/{chunk-OUJAPQS2.js.map → chunk-GPULIICW.js.map} +0 -0
- /package/dist/{chunk-7PF6I4RN.js.map → chunk-GRDRXD53.js.map} +0 -0
- /package/dist/{chunk-TJKS6CLU.js.map → chunk-GREYLAMY.js.map} +0 -0
- /package/dist/{chunk-VREM33BW.js.map → chunk-GYSRHZRS.js.map} +0 -0
- /package/dist/{chunk-2TYR2RDO.js.map → chunk-H3GQHGFA.js.map} +0 -0
- /package/dist/{chunk-KMVSJT6Y.js.map → chunk-HH6LML5K.js.map} +0 -0
- /package/dist/{chunk-J62KAMQL.js.map → chunk-IM6E52L2.js.map} +0 -0
- /package/dist/{chunk-5LRFDSG2.js.map → chunk-J7N2IZQW.js.map} +0 -0
- /package/dist/{chunk-EEAHZCIK.js.map → chunk-JCUG2XKB.js.map} +0 -0
- /package/dist/{chunk-4LUFF5LX.js.map → chunk-JNEGSY5N.js.map} +0 -0
- /package/dist/{chunk-CQSM6JCO.js.map → chunk-K3Q4XLCN.js.map} +0 -0
- /package/dist/{chunk-4TST4UK5.js.map → chunk-KO3V7KB6.js.map} +0 -0
- /package/dist/{chunk-3U6FXC6R.js.map → chunk-LIWQ47VQ.js.map} +0 -0
- /package/dist/{chunk-2ZSK45QM.js.map → chunk-LQ3WGFS7.js.map} +0 -0
- /package/dist/{chunk-A7LYIUE7.js.map → chunk-M77YPVQN.js.map} +0 -0
- /package/dist/{chunk-P4KO43AP.js.map → chunk-MCKWO7K4.js.map} +0 -0
- /package/dist/{chunk-G7NEBNHU.js.map → chunk-MGR37YQB.js.map} +0 -0
- /package/dist/{chunk-QDC3LFHS.js.map → chunk-MMLVZWMD.js.map} +0 -0
- /package/dist/{chunk-D4JZHM4J.js.map → chunk-MP5KZULQ.js.map} +0 -0
- /package/dist/{chunk-WMWXF44S.js.map → chunk-MSLSD7F6.js.map} +0 -0
- /package/dist/{chunk-JUDD3XGY.js.map → chunk-MSM2QG23.js.map} +0 -0
- /package/dist/{chunk-NVQSH733.js.map → chunk-NFMEBYNY.js.map} +0 -0
- /package/dist/{chunk-7ZMY4CAZ.js.map → chunk-NIHOKIYW.js.map} +0 -0
- /package/dist/{chunk-3GQQQBJN.js.map → chunk-NYG34MV6.js.map} +0 -0
- /package/dist/{chunk-XF7FPCS7.js.map → chunk-OA3DGWVL.js.map} +0 -0
- /package/dist/{chunk-F5IXHUBI.js.map → chunk-OBWQ3N5D.js.map} +0 -0
- /package/dist/{chunk-HVXBZGLT.js.map → chunk-OEHVGPWL.js.map} +0 -0
- /package/dist/{chunk-HFVVQEOZ.js.map → chunk-OLJN3WXR.js.map} +0 -0
- /package/dist/{chunk-WE3TWSC4.js.map → chunk-OPYRV6XJ.js.map} +0 -0
- /package/dist/{chunk-WFOIY6OR.js.map → chunk-OQN4E2QP.js.map} +0 -0
- /package/dist/{chunk-HZ7HETUI.js.map → chunk-OWQUXTQ2.js.map} +0 -0
- /package/dist/{chunk-7I7PZF5L.js.map → chunk-OYXUWBKS.js.map} +0 -0
- /package/dist/{chunk-D3KCPM4O.js.map → chunk-PE4EBBU4.js.map} +0 -0
- /package/dist/{chunk-3GGJWSFK.js.map → chunk-PXMJK5D5.js.map} +0 -0
- /package/dist/{chunk-Y4U24VXI.js.map → chunk-Q3M6GFHY.js.map} +0 -0
- /package/dist/{chunk-GFURX6GB.js.map → chunk-QPL7SJQM.js.map} +0 -0
- /package/dist/{chunk-YAUOAWYS.js.map → chunk-RMVVV5NH.js.map} +0 -0
- /package/dist/{chunk-RPV3QPQL.js.map → chunk-RUJZ5PE7.js.map} +0 -0
- /package/dist/{chunk-6J5YZTZE.js.map → chunk-T2CGNUCP.js.map} +0 -0
- /package/dist/{chunk-ZUZ5FT4B.js.map → chunk-TU6SGJ5Z.js.map} +0 -0
- /package/dist/{chunk-5ZEQ33PC.js.map → chunk-TYEGB5FQ.js.map} +0 -0
- /package/dist/{chunk-5AWPST2R.js.map → chunk-UFM3EL52.js.map} +0 -0
- /package/dist/{chunk-R3WM6HV6.js.map → chunk-VD5ZDFCM.js.map} +0 -0
- /package/dist/{chunk-AQVIQODP.js.map → chunk-VK6INFSB.js.map} +0 -0
- /package/dist/{chunk-QFEZIPWJ.js.map → chunk-WY37V3W4.js.map} +0 -0
- /package/dist/{chunk-SDEDXT7A.js.map → chunk-XOQXIPLL.js.map} +0 -0
- /package/dist/{chunk-DVYTRZOL.js.map → chunk-YCLYKBWZ.js.map} +0 -0
- /package/dist/{chunk-YW4IN7LP.js.map → chunk-YGNHAFBW.js.map} +0 -0
- /package/dist/{chunk-APG3GKDT.js.map → chunk-YWWYA2JZ.js.map} +0 -0
- /package/dist/{chunk-7AMHCTRM.js.map → chunk-Z5LPHG2D.js.map} +0 -0
- /package/dist/{chunk-GZNELGHF.js.map → chunk-ZAFLWQOV.js.map} +0 -0
- /package/dist/{chunk-WD5P2N6F.js.map → chunk-ZC2JPF7B.js.map} +0 -0
- /package/dist/{chunk-UH6Q3TEK.js.map → chunk-ZCQMCIT5.js.map} +0 -0
- /package/dist/{chunk-LT5C6QT7.js.map → chunk-ZUL3NYQ4.js.map} +0 -0
- /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-
|
|
3
|
+
} from "../chunk-2FB75HU2.js";
|
|
4
4
|
import "../chunk-TULWX7D6.js";
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
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)(
|
|
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)(
|
|
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-
|
|
5
|
-
import "../../chunk-
|
|
6
|
-
import "../../chunk-
|
|
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)(
|
|
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)(
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,gBAA2B;AAC3B,IAAAA,gBAAsE;;;ACDtE,oBAGO;AAEP,kBAAqB;AACrB,mBAAwB;;;ACJjB,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;;;ACUA,IAAM,qBAAoE;AAAA,EACxE,OAAO;AAAA,EACP,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AACV;AAgBA,IAAM,mBAA2D;AAAA,EAC/D,OAAO,EAAE,WAAW,qBAAqB,eAAe,OAAO;AACjE;AAEA,IAAM,kBAAkB,CAAC,UACvB,UAAU,UAAa,SAAS;AAElC,IAAM,gBAAgB,CAAC,UACrB,UAAU,UAAa,SAAS;AAgB3B,IAAM,eAAe,CAAC,UAAmC;AAC9D,MAAI,cAAc,KAAK,GAAG;AACxB,UAAM,EAAE,WAAW,cAAc,IAAI,iBAAiB,KAAK;AAC3D,WAAO,EAAE,OAAO,eAAe,UAAU;AAAA,EAC3C;AAEA,MAAI,gBAAgB,KAAK,GAAG;AAC1B,WAAO,EAAE,OAAO,mBAAmB,KAAK,EAAE;AAAA,EAC5C;AAEA,SAAO,EAAE,MAAM;AACjB;;;AFvEA,IAAAC,iBAAwC;AAkDpC;AApCJ,IAAM,aAAa,CAAC,YAAsD;AACxE,UAAQ,SAAS;AAAA,IACf,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;AAEO,SAASC,SAAQ,OAAsC;AAC5D,QAA+D,YAAvD,QAAM,UAAU,SAAS,OAAO,UA9C1C,IA8CiE,IAAT,iBAAS,IAAT,CAA9C,QAAM,YAAU,WAAS,SAAO;AAExC,QAAM,EAAE,OAAO,YAAY,WAAW,eAAe,QAAI;AAAA,IACvD,MAAM,aAAa,KAAK;AAAA,IACxB,CAAC,KAAK;AAAA,EACR;AAEA,QAAM,gBAAY,sBAAmC,MAAM;AACzD,WAAO,UACH,kBAAkB;AAAA,MAChB,OAAO;AAAA,MACP,OAAO;AAAA,IACT,CAAC,IACD;AAAA,EAEN,GAAG,CAAC,MAAM,OAAO,CAAC;AAElB,SACE;AAAA,IAAC,cAAAC;AAAA,IAAA,iCACK,OADL;AAAA,MAEC,eAAW,kBAAK,gBAAgB,SAAS;AAAA,MACzC,OAAO;AAAA,MACP,MAAM;AAAA,MAEL;AAAA;AAAA,EACH;AAEJ;;;AGvEA,IAAAC,iBAAkC;AAClC,IAAAC,eAAqB;AACrB,IAAAC,gBAA2C;AA4CrC,IAAAC,sBAAA;AA/BC,IAAM,WAAO;AAAA,EAClB,CAAC,OAAkB,QAAyB;AAC1C,UAA+D,YAAvD,QAAM,SAAS,UAAU,OAAO,UAnB5C,IAmBmE,IAAT,iBAAS,IAAT,CAA9C,QAAM,WAAS,YAAU,SAAO;AAExC,UAAM,EAAE,OAAO,YAAY,WAAW,eAAe,QAAI;AAAA,MACvD,MAAM,aAAa,KAAK;AAAA,MACxB,CAAC,KAAK;AAAA,IACR;AAEA,UAAM,gBAAY,uBAAgC,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;AAAA,MAAC,eAAAC;AAAA,MAAA,iCACK,OADL;AAAA,QAEC,eAAW,mBAAK,gBAAgB,SAAS;AAAA,QACzC,OAAO;AAAA,QACP;AAAA,QACA,MAAM;AAAA,QAEL;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AAEA,KAAK,cAAc;;;AJnDb,IAAAC,sBAAA;AAHN,IAAMC,YAAO;AAAA,EACX,CAAC,IAAkC,QAAQ;AAA1C,iBAAE,YAAU,UARf,IAQG,IAA0B,iBAA1B,IAA0B,CAAxB,YAAU;AACX,WACE;AAAA,MAAW;AAAA,MAAV,iCACK,OADL;AAAA,QAEC,WAAW,YAAY,aAAa,EAAE;AAAA,QACtC;AAAA,QAEC;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AAEAA,MAAK,cAAc;AAInB,IAAM,mBAAe,6BAA8B;AAAA,EACjD,MAAM;AACR,CAAC;AAED,IAAMC,aAAQ;AAAA,EACZ,CAAC,IAAkC,QAAQ;AAA1C,iBAAE,YAAU,UA9Bf,IA8BG,IAA0B,iBAA1B,IAA0B,CAAxB,YAAU;AACX,WACE;AAAA,MAAW;AAAA,MAAV,iCACK,OADL;AAAA,QAEC,WAAW,aAAa,aAAa,EAAE;AAAA,QACvC;AAAA,QAEA,uDAAC,aAAa,UAAb,EAAsB,OAAO,MAAO,UAAS;AAAA;AAAA,IAChD;AAAA,EAEJ;AACF;AACAA,OAAM,cAAc;AAOpB,SAAS,aAAa,OAAsC;AAC1D,SACE,6CAACC,UAAA,+BAAQ,SAAQ,cAAe,QAA/B,EACE,gBAAM,WACT;AAEJ;AAEA,SAAS,aAAa,OAAmC;AACvD,SACE,6CAAC,qCAAK,OAAM,QAAO,SAAQ,WAAU,QAAO,UAAW,QAAtD,EACE,gBAAM,WACT;AAEJ;AAEA,SAAS,UAAU,OAAmC;AACpD,SACE,6CAAC,qCAAK,SAAQ,QAAO,QAAO,UAAW,QAAtC,EACE,gBAAM,WACT;AAEJ;AAEA,IAAMC,aAAQ;AAAA,EACZ,CAAC,IAA2C,QAAQ;AAAnD,iBAAE,YAAU,WAAW,QA1E1B,IA0EG,IAAmC,iBAAnC,IAAmC,CAAjC,YAAU,aAAW;AACtB,UAAM,WAAO,uBAAQ,MAAM;AACzB,cAAQ,SAAS;AAAA,QACf,KAAK;AACH,iBAAO;AAAA,QACT,KAAK;AACH,iBAAO;AAAA,QACT,KAAK;AAAA,QACL;AACE,iBAAO;AAAA,MACX;AAAA,IACF,GAAG,CAAC,OAAO,CAAC;AAEZ,UAAM,iBAAa,0BAAW,YAAY;AAC1C,WACE;AAAA,MAAW;AAAA,MAAV,iCACK,OADL;AAAA,QAEC,SAAO;AAAA,QACP,WAAW,aAAa,aAAa,EAAE;AAAA,QACvC;AAAA,QAEA,wDAAC,QACE;AAAA;AAAA,UACA,WAAW,WACV,6CAAC,QAAK,IAAG,QAAO,OAAM,UACnB,gBACH,IACE;AAAA,WACN;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AACAA,OAAM,cAAc;AAEpB,IAAMC,eAAU;AAAA,EACd,CAAC,IAAkC,QAAQ;AAA1C,iBAAE,YAAU,UA9Gf,IA8GG,IAA0B,iBAA1B,IAA0B,CAAxB,YAAU;AACX,WACE;AAAA,MAAW;AAAA,MAAV,iCACK,OADL;AAAA,QAEC,SAAO;AAAA,QACP,WAAW,eAAe,aAAa,EAAE;AAAA,QACzC;AAAA,QAEA,uDAAC,QAAK,OAAM,OAAO,UAAS;AAAA;AAAA,IAC9B;AAAA,EAEJ;AACF;AACAA,SAAQ,cAAc;AAGtB,IAAMC,eAAU;AAAA,EACd,CAAC,IAAwB,QAAQ;AAAhC,iBAAE,YA/HL,IA+HG,IAAgB,iBAAhB,IAAgB,CAAd;AACD,UAAM,iBAAa,0BAAW,YAAY;AAC1C,WACE;AAAA,MAAW;AAAA,MAAV,iCACK,OADL;AAAA,QAEC,WAAW,eAAe,aAAa,EAAE;AAAA,QACzC;AAAA,QACA,UAAU,WAAW;AAAA;AAAA,IACvB;AAAA,EAEJ;AACF;AACAA,SAAQ,cAAc;AASf,SAAS,SAAS,IAMU;AANV,eACvB;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAxJF,IAoJyB,IAKpB,uBALoB,IAKpB;AAAA,IAJH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,SACE,8CAAC,KAAK,OAAL,iCAAe,aAAf,EACC;AAAA,iDAAC,KAAK,OAAL,EAAW,SAAS,cAAe,iBAAM;AAAA,IACzC;AAAA,IACD,6CAAC,KAAK,SAAL,EAAa,YAAY,QAAQ,YAAY,GAC3C,wBACH;AAAA,MACF;AAEJ;AAEO,IAAM,OAAO;AAAA,EAClB,MAAAL;AAAA,EACA,OAAAC;AAAA,EACA,OAAAE;AAAA,EACA,SAAAC;AAAA,EACA,SAAmB;AAAA,EACnB,QAAkB;AAAA,EAClB;AACF;","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-
|
|
5
|
-
import "../../chunk-
|
|
6
|
-
import "../../chunk-
|
|
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
|
-
|
|
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
|
|
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
|
|
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)(
|
|
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
|
|
173
|
+
var import_react3 = require("react");
|
|
123
174
|
var import_themes6 = require("@radix-ui/themes");
|
|
124
|
-
var
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
170
|
-
|
|
171
|
-
|
|
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
|
})
|