@tipp/ui 1.5.4 → 1.5.5
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 +119 -122
- package/dist/app/index.cjs.map +1 -1
- package/dist/app/index.js +28 -28
- package/dist/app/platform/coach-question-list.cjs +44 -45
- package/dist/app/platform/coach-question-list.cjs.map +1 -1
- package/dist/app/platform/coach-question-list.js +10 -10
- package/dist/app/platform/edit-coaching-time.cjs +66 -67
- package/dist/app/platform/edit-coaching-time.cjs.map +1 -1
- package/dist/app/platform/edit-coaching-time.js +18 -18
- package/dist/app/platform/edit-service-type.cjs +63 -64
- package/dist/app/platform/edit-service-type.cjs.map +1 -1
- package/dist/app/platform/edit-service-type.js +17 -17
- package/dist/app/platform/goal-manage-card-edit.cjs +62 -63
- package/dist/app/platform/goal-manage-card-edit.cjs.map +1 -1
- package/dist/app/platform/goal-manage-card-edit.js +18 -18
- package/dist/app/platform/goal-manage-card-read.cjs +56 -57
- package/dist/app/platform/goal-manage-card-read.cjs.map +1 -1
- package/dist/app/platform/goal-manage-card-read.js +11 -11
- package/dist/app/platform/on-offline-radio-card.cjs +60 -61
- package/dist/app/platform/on-offline-radio-card.cjs.map +1 -1
- package/dist/app/platform/on-offline-radio-card.js +17 -17
- package/dist/app/platform/report-card.cjs +57 -58
- package/dist/app/platform/report-card.cjs.map +1 -1
- package/dist/app/platform/report-card.js +17 -17
- package/dist/app/platform/reservation-card.cjs +70 -71
- package/dist/app/platform/reservation-card.cjs.map +1 -1
- package/dist/app/platform/reservation-card.js +18 -18
- package/dist/app/platform/session-card.cjs +77 -83
- package/dist/app/platform/session-card.cjs.map +1 -1
- package/dist/app/platform/session-card.js +19 -19
- package/dist/app/platform/session-review-simple-read.cjs +46 -47
- package/dist/app/platform/session-review-simple-read.cjs.map +1 -1
- package/dist/app/platform/session-review-simple-read.js +10 -10
- package/dist/app/platform/userInfos/coaching-customer-info/index.cjs +58 -56
- package/dist/app/platform/userInfos/coaching-customer-info/index.cjs.map +1 -1
- package/dist/app/platform/userInfos/coaching-customer-info/index.js +15 -15
- package/dist/app/platform/userInfos/coaching-customer-info/large.cjs +52 -50
- package/dist/app/platform/userInfos/coaching-customer-info/large.cjs.map +1 -1
- package/dist/app/platform/userInfos/coaching-customer-info/large.js +12 -12
- package/dist/app/platform/userInfos/coaching-customer-info/medium.cjs +52 -50
- package/dist/app/platform/userInfos/coaching-customer-info/medium.cjs.map +1 -1
- package/dist/app/platform/userInfos/coaching-customer-info/medium.js +12 -12
- package/dist/app/platform/userInfos/coaching-customer-info/small.cjs +47 -48
- package/dist/app/platform/userInfos/coaching-customer-info/small.cjs.map +1 -1
- package/dist/app/platform/userInfos/coaching-customer-info/small.js +11 -11
- package/dist/app/platform/userInfos/session-user-info-detail.cjs +49 -47
- package/dist/app/platform/userInfos/session-user-info-detail.cjs.map +1 -1
- package/dist/app/platform/userInfos/session-user-info-detail.js +12 -12
- package/dist/app/platform/userInfos/utils.cjs +49 -47
- package/dist/app/platform/userInfos/utils.cjs.map +1 -1
- package/dist/app/platform/userInfos/utils.d.cts +13 -12
- package/dist/app/platform/userInfos/utils.d.ts +13 -12
- package/dist/app/platform/userInfos/utils.js +11 -11
- package/dist/atoms/dialog.cjs +1 -7
- package/dist/atoms/dialog.cjs.map +1 -1
- package/dist/atoms/dialog.js +1 -1
- package/dist/atoms/drawer.cjs.map +1 -1
- package/dist/atoms/drawer.d.cts +1 -1
- package/dist/atoms/drawer.d.ts +1 -1
- package/dist/atoms/drawer.js +1 -1
- package/dist/atoms/index.cjs +67 -73
- package/dist/atoms/index.cjs.map +1 -1
- package/dist/atoms/index.js +19 -19
- package/dist/atoms/pagination.cjs.map +1 -1
- package/dist/atoms/pagination.js +2 -2
- package/dist/chunk-22UB6WSY.js +145 -0
- package/dist/chunk-22UB6WSY.js.map +1 -0
- package/dist/chunk-2NTOPVA7.js +145 -0
- package/dist/chunk-2NTOPVA7.js.map +1 -0
- package/dist/chunk-2SAW4LXD.js +64 -0
- package/dist/chunk-2SAW4LXD.js.map +1 -0
- package/dist/chunk-2T46PYR4.js +52 -0
- package/dist/chunk-2T46PYR4.js.map +1 -0
- package/dist/chunk-36BELSBE.js +52 -0
- package/dist/chunk-36BELSBE.js.map +1 -0
- package/dist/chunk-3WEXXGSP.js +53 -0
- package/dist/chunk-3WEXXGSP.js.map +1 -0
- package/dist/chunk-3Z3JFOQI.js +169 -0
- package/dist/chunk-3Z3JFOQI.js.map +1 -0
- package/dist/chunk-46SJO7ZG.js +350 -0
- package/dist/chunk-46SJO7ZG.js.map +1 -0
- package/dist/chunk-4FQOLDMO.js +76 -0
- package/dist/chunk-4FQOLDMO.js.map +1 -0
- package/dist/chunk-4LFEZYPK.js +89 -0
- package/dist/chunk-4LFEZYPK.js.map +1 -0
- package/dist/chunk-4N3I4YS3.js +128 -0
- package/dist/chunk-4N3I4YS3.js.map +1 -0
- package/dist/chunk-4QTG7CEM.js +73 -0
- package/dist/chunk-4QTG7CEM.js.map +1 -0
- package/dist/chunk-4WZPTKWR.js +203 -0
- package/dist/chunk-4WZPTKWR.js.map +1 -0
- package/dist/chunk-54GKPG7B.js +101 -0
- package/dist/chunk-54GKPG7B.js.map +1 -0
- package/dist/chunk-5PS7RDU7.js +350 -0
- package/dist/chunk-5PS7RDU7.js.map +1 -0
- package/dist/chunk-72273TH3.js +79 -0
- package/dist/chunk-72273TH3.js.map +1 -0
- package/dist/chunk-7CTK6XVZ.js +169 -0
- package/dist/chunk-7CTK6XVZ.js.map +1 -0
- package/dist/chunk-AKTXS3XF.js +64 -0
- package/dist/chunk-AKTXS3XF.js.map +1 -0
- package/dist/chunk-AMFJ2GLM.js +169 -0
- package/dist/chunk-AMFJ2GLM.js.map +1 -0
- package/dist/chunk-AOCWQG3N.js +243 -0
- package/dist/chunk-AOCWQG3N.js.map +1 -0
- package/dist/chunk-AUNNPRJI.js +89 -0
- package/dist/chunk-AUNNPRJI.js.map +1 -0
- package/dist/chunk-AXQKYYJS.js +164 -0
- package/dist/chunk-AXQKYYJS.js.map +1 -0
- package/dist/chunk-B5SYGGHJ.js +192 -0
- package/dist/chunk-B5SYGGHJ.js.map +1 -0
- package/dist/chunk-BBF6FKOB.js +35 -0
- package/dist/chunk-BBF6FKOB.js.map +1 -0
- package/dist/chunk-BHB4RIYE.js +145 -0
- package/dist/chunk-BHB4RIYE.js.map +1 -0
- package/dist/chunk-BJIFRHFU.js +145 -0
- package/dist/chunk-BJIFRHFU.js.map +1 -0
- package/dist/chunk-BRNXYWBD.js +73 -0
- package/dist/chunk-BRNXYWBD.js.map +1 -0
- package/dist/chunk-CEMVFONQ.js +104 -0
- package/dist/chunk-CEMVFONQ.js.map +1 -0
- package/dist/chunk-CEPOV7P3.js +192 -0
- package/dist/chunk-CEPOV7P3.js.map +1 -0
- package/dist/chunk-CGWRXOYB.js +89 -0
- package/dist/chunk-CGWRXOYB.js.map +1 -0
- package/dist/chunk-CI7CUJTM.js +138 -0
- package/dist/chunk-CI7CUJTM.js.map +1 -0
- package/dist/chunk-CUHT2CEN.js +30 -0
- package/dist/chunk-CUHT2CEN.js.map +1 -0
- package/dist/chunk-D2RVLTMZ.js +52 -0
- package/dist/chunk-D2RVLTMZ.js.map +1 -0
- package/dist/chunk-DJN2IEY6.js +23 -0
- package/dist/chunk-DJN2IEY6.js.map +1 -0
- package/dist/chunk-DLLOQ3U6.js +30 -0
- package/dist/chunk-DLLOQ3U6.js.map +1 -0
- package/dist/chunk-EYCVRS2M.js +52 -0
- package/dist/chunk-EYCVRS2M.js.map +1 -0
- package/dist/chunk-EZ7GTTX4.js +138 -0
- package/dist/chunk-EZ7GTTX4.js.map +1 -0
- package/dist/chunk-F2H4ZJS3.js +243 -0
- package/dist/chunk-F2H4ZJS3.js.map +1 -0
- package/dist/chunk-FFASDLES.js +64 -0
- package/dist/chunk-FFASDLES.js.map +1 -0
- package/dist/chunk-FH4DNJWU.js +350 -0
- package/dist/chunk-FH4DNJWU.js.map +1 -0
- package/dist/chunk-FKQ5TEB2.js +169 -0
- package/dist/chunk-FKQ5TEB2.js.map +1 -0
- package/dist/chunk-FZKXTTBS.js +169 -0
- package/dist/chunk-FZKXTTBS.js.map +1 -0
- package/dist/chunk-GL6WSFZ5.js +89 -0
- package/dist/chunk-GL6WSFZ5.js.map +1 -0
- package/dist/chunk-HHMAK2SD.js +243 -0
- package/dist/chunk-HHMAK2SD.js.map +1 -0
- package/dist/chunk-HJWYFCQT.js +138 -0
- package/dist/chunk-HJWYFCQT.js.map +1 -0
- package/dist/chunk-HQSSAZHP.js +84 -0
- package/dist/chunk-HQSSAZHP.js.map +1 -0
- package/dist/chunk-HUDFEF2L.js +138 -0
- package/dist/chunk-HUDFEF2L.js.map +1 -0
- package/dist/chunk-HUXMVGOU.js +57 -0
- package/dist/chunk-HUXMVGOU.js.map +1 -0
- package/dist/chunk-I5CKCI5F.js +243 -0
- package/dist/chunk-I5CKCI5F.js.map +1 -0
- package/dist/chunk-IBNRCMIB.js +76 -0
- package/dist/chunk-IBNRCMIB.js.map +1 -0
- package/dist/chunk-IWW6ST7Q.js +30 -0
- package/dist/chunk-IWW6ST7Q.js.map +1 -0
- package/dist/chunk-IYBUKTHI.js +76 -0
- package/dist/chunk-IYBUKTHI.js.map +1 -0
- package/dist/chunk-IZBOGH4W.js +52 -0
- package/dist/chunk-IZBOGH4W.js.map +1 -0
- package/dist/chunk-IZXQPBJR.js +138 -0
- package/dist/chunk-IZXQPBJR.js.map +1 -0
- package/dist/chunk-JYLNC7NT.js +101 -0
- package/dist/chunk-JYLNC7NT.js.map +1 -0
- package/dist/chunk-K4SP3COU.js +203 -0
- package/dist/chunk-K4SP3COU.js.map +1 -0
- package/dist/chunk-KAMO3OQK.js +64 -0
- package/dist/chunk-KAMO3OQK.js.map +1 -0
- package/dist/chunk-KGSCGSDB.js +58 -0
- package/dist/chunk-KGSCGSDB.js.map +1 -0
- package/dist/chunk-KQZQEHAO.js +243 -0
- package/dist/chunk-KQZQEHAO.js.map +1 -0
- package/dist/chunk-LJNUHAEZ.js +76 -0
- package/dist/chunk-LJNUHAEZ.js.map +1 -0
- package/dist/chunk-LTSPMGMD.js +30 -0
- package/dist/chunk-LTSPMGMD.js.map +1 -0
- package/dist/chunk-LWRIWDWX.js +30 -0
- package/dist/chunk-LWRIWDWX.js.map +1 -0
- package/dist/chunk-MOZLM3CP.js +171 -0
- package/dist/chunk-MOZLM3CP.js.map +1 -0
- package/dist/chunk-N5OXNYUZ.js +57 -0
- package/dist/chunk-N5OXNYUZ.js.map +1 -0
- package/dist/chunk-NCPXYZEA.js +350 -0
- package/dist/chunk-NCPXYZEA.js.map +1 -0
- package/dist/chunk-NIBV5VZ5.js +350 -0
- package/dist/chunk-NIBV5VZ5.js.map +1 -0
- package/dist/chunk-NWEEOT3Z.js +79 -0
- package/dist/chunk-NWEEOT3Z.js.map +1 -0
- package/dist/chunk-O7Z2UIAR.js +203 -0
- package/dist/chunk-O7Z2UIAR.js.map +1 -0
- package/dist/chunk-ODNY3R6A.js +79 -0
- package/dist/chunk-ODNY3R6A.js.map +1 -0
- package/dist/chunk-OMHZDDO4.js +64 -0
- package/dist/chunk-OMHZDDO4.js.map +1 -0
- package/dist/chunk-P27CVRGR.js +74 -0
- package/dist/chunk-P27CVRGR.js.map +1 -0
- package/dist/chunk-P64RPVFZ.js +89 -0
- package/dist/chunk-P64RPVFZ.js.map +1 -0
- package/dist/chunk-PCNSA33Y.js +138 -0
- package/dist/chunk-PCNSA33Y.js.map +1 -0
- package/dist/chunk-PGIAKER2.js +89 -0
- package/dist/chunk-PGIAKER2.js.map +1 -0
- package/dist/chunk-PKILHKHX.js +52 -0
- package/dist/chunk-PKILHKHX.js.map +1 -0
- package/dist/chunk-QB7PZXMM.js +64 -0
- package/dist/chunk-QB7PZXMM.js.map +1 -0
- package/dist/chunk-QJ4FYN6G.js +76 -0
- package/dist/chunk-QJ4FYN6G.js.map +1 -0
- package/dist/chunk-QOABBRAS.js +171 -0
- package/dist/chunk-QOABBRAS.js.map +1 -0
- package/dist/chunk-QR66GBTG.js +169 -0
- package/dist/chunk-QR66GBTG.js.map +1 -0
- package/dist/chunk-QWSGRTKA.js +145 -0
- package/dist/chunk-QWSGRTKA.js.map +1 -0
- package/dist/chunk-RMW3CGV2.js +171 -0
- package/dist/chunk-RMW3CGV2.js.map +1 -0
- package/dist/chunk-RZCG3TLF.js +64 -0
- package/dist/chunk-RZCG3TLF.js.map +1 -0
- package/dist/chunk-S6NXMG2L.js +164 -0
- package/dist/chunk-S6NXMG2L.js.map +1 -0
- package/dist/chunk-SFCRNIUP.js +138 -0
- package/dist/chunk-SFCRNIUP.js.map +1 -0
- package/dist/chunk-SUETHF2K.js +30 -0
- package/dist/chunk-SUETHF2K.js.map +1 -0
- package/dist/chunk-TDUPNAYQ.js +30 -0
- package/dist/chunk-TDUPNAYQ.js.map +1 -0
- package/dist/chunk-TOBTSM5I.js +63 -0
- package/dist/chunk-TOBTSM5I.js.map +1 -0
- package/dist/chunk-TPXVOWXW.js +76 -0
- package/dist/chunk-TPXVOWXW.js.map +1 -0
- package/dist/chunk-TXQPIRH3.js +59 -0
- package/dist/chunk-TXQPIRH3.js.map +1 -0
- package/dist/chunk-U3IS6TVL.js +104 -0
- package/dist/chunk-U3IS6TVL.js.map +1 -0
- package/dist/chunk-U7WXGJ52.js +192 -0
- package/dist/chunk-U7WXGJ52.js.map +1 -0
- package/dist/chunk-UGQ3ECGA.js +30 -0
- package/dist/chunk-UGQ3ECGA.js.map +1 -0
- package/dist/chunk-UVJASJN4.js +64 -0
- package/dist/chunk-UVJASJN4.js.map +1 -0
- package/dist/chunk-V7NLUI44.js +192 -0
- package/dist/chunk-V7NLUI44.js.map +1 -0
- package/dist/chunk-VFX42N5Z.js +171 -0
- package/dist/chunk-VFX42N5Z.js.map +1 -0
- package/dist/chunk-WQKBKWTC.js +138 -0
- package/dist/chunk-WQKBKWTC.js.map +1 -0
- package/dist/chunk-WTY5FQH6.js +171 -0
- package/dist/chunk-WTY5FQH6.js.map +1 -0
- package/dist/chunk-X6PNCRPH.js +39 -0
- package/dist/chunk-X6PNCRPH.js.map +1 -0
- package/dist/chunk-XBLWJGNM.js +76 -0
- package/dist/chunk-XBLWJGNM.js.map +1 -0
- package/dist/chunk-XE6Q3UUE.js +104 -0
- package/dist/chunk-XE6Q3UUE.js.map +1 -0
- package/dist/chunk-XJOUZEPM.js +59 -0
- package/dist/chunk-XJOUZEPM.js.map +1 -0
- package/dist/chunk-Y5PBBGEF.js +52 -0
- package/dist/chunk-Y5PBBGEF.js.map +1 -0
- package/dist/chunk-Y7QUPKOR.js +39 -0
- package/dist/chunk-Y7QUPKOR.js.map +1 -0
- package/dist/chunk-YCBWW3Z7.js +138 -0
- package/dist/chunk-YCBWW3Z7.js.map +1 -0
- package/dist/chunk-YGIXMEJ5.js +89 -0
- package/dist/chunk-YGIXMEJ5.js.map +1 -0
- package/dist/chunk-YJYY6AGY.js +171 -0
- package/dist/chunk-YJYY6AGY.js.map +1 -0
- package/dist/chunk-YKUSL7DP.js +350 -0
- package/dist/chunk-YKUSL7DP.js.map +1 -0
- package/dist/chunk-YRZRBSOW.js +128 -0
- package/dist/chunk-YRZRBSOW.js.map +1 -0
- package/dist/chunk-Z77FAWTL.js +76 -0
- package/dist/chunk-Z77FAWTL.js.map +1 -0
- package/dist/chunk-ZAQQ6H6W.js +30 -0
- package/dist/chunk-ZAQQ6H6W.js.map +1 -0
- package/dist/chunk-ZC6UF5SE.js +89 -0
- package/dist/chunk-ZC6UF5SE.js.map +1 -0
- package/dist/chunk-ZD54B67F.js +243 -0
- package/dist/chunk-ZD54B67F.js.map +1 -0
- package/dist/chunk-ZPIMFRCZ.js +35 -0
- package/dist/chunk-ZPIMFRCZ.js.map +1 -0
- package/dist/icon.cjs +2 -0
- package/dist/icon.cjs.map +1 -1
- package/dist/icon.d.cts +1 -1
- package/dist/icon.d.ts +1 -1
- package/dist/icon.js +3 -1
- package/dist/index.cjs +180 -181
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +2 -0
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +39 -37
- package/dist/layouts/index.cjs +44 -45
- package/dist/layouts/index.cjs.map +1 -1
- package/dist/layouts/index.js +10 -10
- package/dist/layouts/response-display.cjs +44 -45
- package/dist/layouts/response-display.cjs.map +1 -1
- package/dist/layouts/response-display.js +10 -10
- package/dist/molecules/date-picker/date-picker-button.cjs +48 -49
- package/dist/molecules/date-picker/date-picker-button.cjs.map +1 -1
- package/dist/molecules/date-picker/date-picker-button.js +12 -12
- package/dist/molecules/date-picker/index.cjs.map +1 -1
- package/dist/molecules/date-picker/index.js +2 -2
- package/dist/molecules/expand-table/index.cjs +71 -72
- package/dist/molecules/expand-table/index.cjs.map +1 -1
- package/dist/molecules/expand-table/index.js +12 -12
- package/dist/molecules/expand-table/row.cjs +52 -53
- package/dist/molecules/expand-table/row.cjs.map +1 -1
- package/dist/molecules/expand-table/row.js +10 -10
- package/dist/molecules/form.d.cts +1 -1
- package/dist/molecules/form.d.ts +1 -1
- package/dist/molecules/index.cjs +121 -122
- package/dist/molecules/index.cjs.map +1 -1
- package/dist/molecules/index.js +17 -17
- package/dist/molecules/learning-post.js +2 -2
- package/dist/molecules/navigation.cjs +44 -45
- package/dist/molecules/navigation.cjs.map +1 -1
- package/dist/molecules/navigation.js +10 -10
- package/dist/molecules/radio-button-card.cjs +50 -51
- package/dist/molecules/radio-button-card.cjs.map +1 -1
- package/dist/molecules/radio-button-card.js +10 -10
- package/dist/molecules/stepper.cjs.map +1 -1
- package/dist/molecules/stepper.js +2 -2
- package/dist/molecules/tag-selector.cjs +68 -69
- package/dist/molecules/tag-selector.cjs.map +1 -1
- package/dist/molecules/tag-selector.js +11 -11
- package/dist/molecules/time-select.cjs +46 -47
- package/dist/molecules/time-select.cjs.map +1 -1
- package/dist/molecules/time-select.js +10 -10
- package/package.json +5 -5
- package/src/app/platform/userInfos/utils.tsx +24 -14
- package/src/atoms/dialog.tsx +1 -9
- package/src/atoms/drawer.tsx +1 -1
- package/src/icon.ts +1 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import {
|
|
2
|
+
infoList,
|
|
3
|
+
renderDataListItem,
|
|
4
|
+
sessionList
|
|
5
|
+
} from "./chunk-CGWRXOYB.js";
|
|
6
|
+
import {
|
|
7
|
+
Grid
|
|
8
|
+
} from "./chunk-EGEQY3KT.js";
|
|
9
|
+
import {
|
|
10
|
+
DataList
|
|
11
|
+
} from "./chunk-VTJZMOSP.js";
|
|
12
|
+
import {
|
|
13
|
+
Heading
|
|
14
|
+
} from "./chunk-HK224ADT.js";
|
|
15
|
+
import {
|
|
16
|
+
Separator
|
|
17
|
+
} from "./chunk-HYITAA4J.js";
|
|
18
|
+
import {
|
|
19
|
+
Box
|
|
20
|
+
} from "./chunk-4Y5BEXVN.js";
|
|
21
|
+
import {
|
|
22
|
+
Flex
|
|
23
|
+
} from "./chunk-25HMMI7R.js";
|
|
24
|
+
|
|
25
|
+
// src/app/platform/userInfos/session-user-info-detail.tsx
|
|
26
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
27
|
+
function SectionWrapper({
|
|
28
|
+
title,
|
|
29
|
+
children
|
|
30
|
+
}) {
|
|
31
|
+
return /* @__PURE__ */ jsxs(Box, { children: [
|
|
32
|
+
/* @__PURE__ */ jsxs(Grid, { align: "center", columns: "auto 1fr", gap: "3", mb: "5", children: [
|
|
33
|
+
/* @__PURE__ */ jsx(Heading, { variant: "heading5", children: title }),
|
|
34
|
+
/* @__PURE__ */ jsx(Separator, { size: "4" })
|
|
35
|
+
] }),
|
|
36
|
+
children
|
|
37
|
+
] });
|
|
38
|
+
}
|
|
39
|
+
function SessionUserInfoDetail({
|
|
40
|
+
customer,
|
|
41
|
+
session
|
|
42
|
+
}) {
|
|
43
|
+
return /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: "6", children: [
|
|
44
|
+
/* @__PURE__ */ jsx(SectionWrapper, { title: "\uC138\uC158 \uC815\uBCF4", children: /* @__PURE__ */ jsx(DataList.Root, { children: sessionList.map((info) => renderDataListItem(info, session)) }) }),
|
|
45
|
+
/* @__PURE__ */ jsx(SectionWrapper, { title: "\uD68C\uC6D0 \uC815\uBCF4", children: /* @__PURE__ */ jsx(DataList.Root, { children: infoList.map((info) => renderDataListItem(info, customer)) }) })
|
|
46
|
+
] });
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export {
|
|
50
|
+
SessionUserInfoDetail
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=chunk-PKILHKHX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/app/platform/userInfos/session-user-info-detail.tsx"],"sourcesContent":["import React from 'react';\nimport { Box, DataList, Flex, Grid, Heading, Separator } from '../../../atoms';\nimport type { Customer, Session } from './utils';\nimport { infoList, renderDataListItem, sessionList } from './utils';\n\nexport interface SessionUserInfoDetailProps {\n customer: Customer;\n session: Session;\n}\n\nfunction SectionWrapper({\n title,\n children,\n}: {\n title: string;\n children: React.ReactElement;\n}): JSX.Element {\n return (\n <Box>\n <Grid align=\"center\" columns=\"auto 1fr\" gap=\"3\" mb=\"5\">\n <Heading variant=\"heading5\">{title}</Heading>\n\n <Separator size=\"4\" />\n </Grid>\n {children}\n </Box>\n );\n}\n\nexport function SessionUserInfoDetail({\n customer,\n session,\n}: SessionUserInfoDetailProps): React.ReactElement {\n return (\n <Flex direction=\"column\" gap=\"6\">\n <SectionWrapper title=\"세션 정보\">\n <DataList.Root>\n {sessionList.map((info) => renderDataListItem(info, session))}\n </DataList.Root>\n </SectionWrapper>\n\n <SectionWrapper title=\"회원 정보\">\n <DataList.Root>\n {infoList.map((info) => renderDataListItem(info, customer))}\n </DataList.Root>\n </SectionWrapper>\n </Flex>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAmBM,SACE,KADF;AATN,SAAS,eAAe;AAAA,EACtB;AAAA,EACA;AACF,GAGgB;AACd,SACE,qBAAC,OACC;AAAA,yBAAC,QAAK,OAAM,UAAS,SAAQ,YAAW,KAAI,KAAI,IAAG,KACjD;AAAA,0BAAC,WAAQ,SAAQ,YAAY,iBAAM;AAAA,MAEnC,oBAAC,aAAU,MAAK,KAAI;AAAA,OACtB;AAAA,IACC;AAAA,KACH;AAEJ;AAEO,SAAS,sBAAsB;AAAA,EACpC;AAAA,EACA;AACF,GAAmD;AACjD,SACE,qBAAC,QAAK,WAAU,UAAS,KAAI,KAC3B;AAAA,wBAAC,kBAAe,OAAM,6BACpB,8BAAC,SAAS,MAAT,EACE,sBAAY,IAAI,CAAC,SAAS,mBAAmB,MAAM,OAAO,CAAC,GAC9D,GACF;AAAA,IAEA,oBAAC,kBAAe,OAAM,6BACpB,8BAAC,SAAS,MAAT,EACE,mBAAS,IAAI,CAAC,SAAS,mBAAmB,MAAM,QAAQ,CAAC,GAC5D,GACF;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import {
|
|
2
|
+
infoList,
|
|
3
|
+
renderDataListItem,
|
|
4
|
+
sessionList
|
|
5
|
+
} from "./chunk-CGWRXOYB.js";
|
|
6
|
+
import {
|
|
7
|
+
DataList
|
|
8
|
+
} from "./chunk-VTJZMOSP.js";
|
|
9
|
+
import {
|
|
10
|
+
Heading
|
|
11
|
+
} from "./chunk-HK224ADT.js";
|
|
12
|
+
import {
|
|
13
|
+
Separator
|
|
14
|
+
} from "./chunk-HYITAA4J.js";
|
|
15
|
+
import {
|
|
16
|
+
Box
|
|
17
|
+
} from "./chunk-4Y5BEXVN.js";
|
|
18
|
+
import {
|
|
19
|
+
Flex
|
|
20
|
+
} from "./chunk-25HMMI7R.js";
|
|
21
|
+
import {
|
|
22
|
+
Card
|
|
23
|
+
} from "./chunk-2ZQK7NTN.js";
|
|
24
|
+
import {
|
|
25
|
+
Badge
|
|
26
|
+
} from "./chunk-EWD4AO5N.js";
|
|
27
|
+
|
|
28
|
+
// src/app/platform/userInfos/coaching-customer-info/large.tsx
|
|
29
|
+
import { useMemo } from "react";
|
|
30
|
+
import {
|
|
31
|
+
getColorFromProjectState,
|
|
32
|
+
getTextFromProjectState
|
|
33
|
+
} from "@tipp/biz-utils";
|
|
34
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
35
|
+
function CoachingCustomerInfoLarge({
|
|
36
|
+
customer,
|
|
37
|
+
session,
|
|
38
|
+
children
|
|
39
|
+
}) {
|
|
40
|
+
const badgeColor = useMemo(() => {
|
|
41
|
+
return getColorFromProjectState(session == null ? void 0 : session.state);
|
|
42
|
+
}, [session == null ? void 0 : session.state]);
|
|
43
|
+
const sessionText = useMemo(() => {
|
|
44
|
+
return getTextFromProjectState(session == null ? void 0 : session.state);
|
|
45
|
+
}, [session == null ? void 0 : session.state]);
|
|
46
|
+
return /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: "5", children: [
|
|
47
|
+
/* @__PURE__ */ jsxs(Box, { children: [
|
|
48
|
+
/* @__PURE__ */ jsxs(Flex, { align: "center", justify: "between", mb: "1", width: "100%", children: [
|
|
49
|
+
/* @__PURE__ */ jsx(Heading, { variant: "heading2", children: (customer == null ? void 0 : customer.username) || "\uC774\uB984 \uC5C6\uC74C" }),
|
|
50
|
+
/* @__PURE__ */ jsx(Badge, { color: badgeColor, children: sessionText })
|
|
51
|
+
] }),
|
|
52
|
+
/* @__PURE__ */ jsx(Heading, { truncate: true, variant: "heading4", weight: "regular", children: customer == null ? void 0 : customer.company })
|
|
53
|
+
] }),
|
|
54
|
+
children,
|
|
55
|
+
/* @__PURE__ */ jsx(Card, { size: "2", children: /* @__PURE__ */ jsx(DataList.Root, { children: sessionList.map((el) => renderDataListItem(el, session)) }) }),
|
|
56
|
+
/* @__PURE__ */ jsx(Separator, { size: "4" }),
|
|
57
|
+
/* @__PURE__ */ jsx(DataList.Root, { children: infoList.map((info) => renderDataListItem(info, customer)) })
|
|
58
|
+
] });
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export {
|
|
62
|
+
CoachingCustomerInfoLarge
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=chunk-QB7PZXMM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/app/platform/userInfos/coaching-customer-info/large.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport {\n getColorFromProjectState,\n getTextFromProjectState,\n} from '@tipp/biz-utils';\nimport {\n Badge,\n Box,\n Card,\n DataList,\n Flex,\n Heading,\n Separator,\n} from '../../../../atoms';\nimport type { CoachingCustomerInfoProps } from '../utils';\nimport { infoList, renderDataListItem, sessionList } from '../utils';\n\nexport function CoachingCustomerInfoLarge({\n customer,\n session,\n children,\n}: CoachingCustomerInfoProps): React.ReactElement {\n const badgeColor = useMemo(() => {\n return getColorFromProjectState(session?.state);\n }, [session?.state]);\n\n const sessionText = useMemo(() => {\n return getTextFromProjectState(session?.state);\n }, [session?.state]);\n\n return (\n <Flex direction=\"column\" gap=\"5\">\n {/* 이름, 사명 */}\n <Box>\n <Flex align=\"center\" justify=\"between\" mb=\"1\" width=\"100%\">\n <Heading variant=\"heading2\">\n {customer?.username || '이름 없음'}\n </Heading>\n <Badge color={badgeColor}>{sessionText}</Badge>\n </Flex>\n <Heading truncate variant=\"heading4\" weight=\"regular\">\n {customer?.company}\n </Heading>\n </Box>\n\n {children}\n\n {/* 세션 정보 */}\n <Card size=\"2\">\n <DataList.Root>\n {sessionList.map((el) => renderDataListItem(el, session))}\n </DataList.Root>\n </Card>\n\n {/* 회원 정보 */}\n <Separator size=\"4\" />\n <DataList.Root>\n {infoList.map((info) => renderDataListItem(info, customer))}\n </DataList.Root>\n </Flex>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAgB,eAAe;AAC/B;AAAA,EACE;AAAA,EACA;AAAA,OACK;AA8BC,SACE,KADF;AAjBD,SAAS,0BAA0B;AAAA,EACxC;AAAA,EACA;AAAA,EACA;AACF,GAAkD;AAChD,QAAM,aAAa,QAAQ,MAAM;AAC/B,WAAO,yBAAyB,mCAAS,KAAK;AAAA,EAChD,GAAG,CAAC,mCAAS,KAAK,CAAC;AAEnB,QAAM,cAAc,QAAQ,MAAM;AAChC,WAAO,wBAAwB,mCAAS,KAAK;AAAA,EAC/C,GAAG,CAAC,mCAAS,KAAK,CAAC;AAEnB,SACE,qBAAC,QAAK,WAAU,UAAS,KAAI,KAE3B;AAAA,yBAAC,OACC;AAAA,2BAAC,QAAK,OAAM,UAAS,SAAQ,WAAU,IAAG,KAAI,OAAM,QAClD;AAAA,4BAAC,WAAQ,SAAQ,YACd,gDAAU,aAAY,6BACzB;AAAA,QACA,oBAAC,SAAM,OAAO,YAAa,uBAAY;AAAA,SACzC;AAAA,MACA,oBAAC,WAAQ,UAAQ,MAAC,SAAQ,YAAW,QAAO,WACzC,+CAAU,SACb;AAAA,OACF;AAAA,IAEC;AAAA,IAGD,oBAAC,QAAK,MAAK,KACT,8BAAC,SAAS,MAAT,EACE,sBAAY,IAAI,CAAC,OAAO,mBAAmB,IAAI,OAAO,CAAC,GAC1D,GACF;AAAA,IAGA,oBAAC,aAAU,MAAK,KAAI;AAAA,IACpB,oBAAC,SAAS,MAAT,EACE,mBAAS,IAAI,CAAC,SAAS,mBAAmB,MAAM,QAAQ,CAAC,GAC5D;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import {
|
|
2
|
+
infoList,
|
|
3
|
+
renderDataListItem,
|
|
4
|
+
renderItem,
|
|
5
|
+
sessionList
|
|
6
|
+
} from "./chunk-JDY5555T.js";
|
|
7
|
+
import {
|
|
8
|
+
Grid
|
|
9
|
+
} from "./chunk-EGEQY3KT.js";
|
|
10
|
+
import {
|
|
11
|
+
DataList
|
|
12
|
+
} from "./chunk-VTJZMOSP.js";
|
|
13
|
+
import {
|
|
14
|
+
Heading
|
|
15
|
+
} from "./chunk-HK224ADT.js";
|
|
16
|
+
import {
|
|
17
|
+
Separator
|
|
18
|
+
} from "./chunk-HYITAA4J.js";
|
|
19
|
+
import {
|
|
20
|
+
Box
|
|
21
|
+
} from "./chunk-4Y5BEXVN.js";
|
|
22
|
+
import {
|
|
23
|
+
Typo
|
|
24
|
+
} from "./chunk-52MVZ6AN.js";
|
|
25
|
+
import {
|
|
26
|
+
Flex
|
|
27
|
+
} from "./chunk-25HMMI7R.js";
|
|
28
|
+
import {
|
|
29
|
+
Card
|
|
30
|
+
} from "./chunk-2ZQK7NTN.js";
|
|
31
|
+
import {
|
|
32
|
+
Badge
|
|
33
|
+
} from "./chunk-EWD4AO5N.js";
|
|
34
|
+
|
|
35
|
+
// src/app/platform/userInfos/coaching-customer-info/medium.tsx
|
|
36
|
+
import { useMemo } from "react";
|
|
37
|
+
import {
|
|
38
|
+
getColorFromProjectState,
|
|
39
|
+
getTextFromProjectState
|
|
40
|
+
} from "@tipp/biz-utils";
|
|
41
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
42
|
+
function CoachingCustomerInfoMedium({
|
|
43
|
+
customer,
|
|
44
|
+
session,
|
|
45
|
+
children
|
|
46
|
+
}) {
|
|
47
|
+
const badgeColor = useMemo(() => {
|
|
48
|
+
return getColorFromProjectState(session == null ? void 0 : session.state);
|
|
49
|
+
}, [session == null ? void 0 : session.state]);
|
|
50
|
+
const sessionText = useMemo(() => {
|
|
51
|
+
return getTextFromProjectState(session == null ? void 0 : session.state);
|
|
52
|
+
}, [session == null ? void 0 : session.state]);
|
|
53
|
+
return /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: "5", children: [
|
|
54
|
+
/* @__PURE__ */ jsxs(Box, { children: [
|
|
55
|
+
/* @__PURE__ */ jsxs(Flex, { align: "center", justify: "between", mb: "1", width: "100%", children: [
|
|
56
|
+
/* @__PURE__ */ jsx(Heading, { variant: "heading2", children: (customer == null ? void 0 : customer.username) || "\uC774\uB984 \uC5C6\uC74C" }),
|
|
57
|
+
/* @__PURE__ */ jsx(Badge, { color: badgeColor, children: sessionText })
|
|
58
|
+
] }),
|
|
59
|
+
/* @__PURE__ */ jsx(Heading, { truncate: true, variant: "heading4", weight: "regular", children: customer == null ? void 0 : customer.company })
|
|
60
|
+
] }),
|
|
61
|
+
children,
|
|
62
|
+
/* @__PURE__ */ jsx(Card, { size: "2", children: /* @__PURE__ */ jsx(DataList.Root, { orientation: "vertical", children: sessionList.map((el) => renderDataListItem(el, session)) }) }),
|
|
63
|
+
/* @__PURE__ */ jsxs(Grid, { align: "center", columns: "auto 1fr", gap: "3", children: [
|
|
64
|
+
/* @__PURE__ */ jsx(Heading, { variant: "heading5", children: "\uACE0\uAC1D \uC815\uBCF4" }),
|
|
65
|
+
/* @__PURE__ */ jsx(Separator, { size: "4" })
|
|
66
|
+
] }),
|
|
67
|
+
/* @__PURE__ */ jsx(Flex, { direction: "column", gap: "4", children: infoList.map((el) => {
|
|
68
|
+
return /* @__PURE__ */ jsx(Typo, { children: renderItem(el, customer) }, el.label);
|
|
69
|
+
}) })
|
|
70
|
+
] });
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export {
|
|
74
|
+
CoachingCustomerInfoMedium
|
|
75
|
+
};
|
|
76
|
+
//# sourceMappingURL=chunk-QJ4FYN6G.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/app/platform/userInfos/coaching-customer-info/medium.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport {\n getColorFromProjectState,\n getTextFromProjectState,\n} from '@tipp/biz-utils';\nimport {\n Badge,\n Box,\n Card,\n DataList,\n Flex,\n Grid,\n Heading,\n Separator,\n Typo,\n} from '../../../../atoms';\nimport type { CoachingCustomerInfoProps } from '../utils';\nimport {\n infoList,\n renderDataListItem,\n renderItem,\n sessionList,\n} from '../utils';\n\nexport function CoachingCustomerInfoMedium({\n customer,\n session,\n children,\n}: CoachingCustomerInfoProps): React.ReactElement {\n const badgeColor = useMemo(() => {\n return getColorFromProjectState(session?.state);\n }, [session?.state]);\n\n const sessionText = useMemo(() => {\n return getTextFromProjectState(session?.state);\n }, [session?.state]);\n\n return (\n <Flex direction=\"column\" gap=\"5\">\n {/* 이름, 사명 */}\n <Box>\n <Flex align=\"center\" justify=\"between\" mb=\"1\" width=\"100%\">\n <Heading variant=\"heading2\">\n {customer?.username || '이름 없음'}\n </Heading>\n <Badge color={badgeColor}>{sessionText}</Badge>\n </Flex>\n <Heading truncate variant=\"heading4\" weight=\"regular\">\n {customer?.company}\n </Heading>\n </Box>\n\n {children}\n\n {/* 세션 정보 */}\n <Card size=\"2\">\n <DataList.Root orientation=\"vertical\">\n {sessionList.map((el) => renderDataListItem(el, session))}\n </DataList.Root>\n </Card>\n\n {/* 회원 정보 */}\n <Grid align=\"center\" columns=\"auto 1fr\" gap=\"3\">\n <Heading variant=\"heading5\">고객 정보</Heading>\n <Separator size=\"4\" />\n </Grid>\n <Flex direction=\"column\" gap=\"4\">\n {infoList.map((el) => {\n return <Typo key={el.label}>{renderItem(el, customer)}</Typo>;\n })}\n </Flex>\n </Flex>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAgB,eAAe;AAC/B;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAqCC,SACE,KADF;AAjBD,SAAS,2BAA2B;AAAA,EACzC;AAAA,EACA;AAAA,EACA;AACF,GAAkD;AAChD,QAAM,aAAa,QAAQ,MAAM;AAC/B,WAAO,yBAAyB,mCAAS,KAAK;AAAA,EAChD,GAAG,CAAC,mCAAS,KAAK,CAAC;AAEnB,QAAM,cAAc,QAAQ,MAAM;AAChC,WAAO,wBAAwB,mCAAS,KAAK;AAAA,EAC/C,GAAG,CAAC,mCAAS,KAAK,CAAC;AAEnB,SACE,qBAAC,QAAK,WAAU,UAAS,KAAI,KAE3B;AAAA,yBAAC,OACC;AAAA,2BAAC,QAAK,OAAM,UAAS,SAAQ,WAAU,IAAG,KAAI,OAAM,QAClD;AAAA,4BAAC,WAAQ,SAAQ,YACd,gDAAU,aAAY,6BACzB;AAAA,QACA,oBAAC,SAAM,OAAO,YAAa,uBAAY;AAAA,SACzC;AAAA,MACA,oBAAC,WAAQ,UAAQ,MAAC,SAAQ,YAAW,QAAO,WACzC,+CAAU,SACb;AAAA,OACF;AAAA,IAEC;AAAA,IAGD,oBAAC,QAAK,MAAK,KACT,8BAAC,SAAS,MAAT,EAAc,aAAY,YACxB,sBAAY,IAAI,CAAC,OAAO,mBAAmB,IAAI,OAAO,CAAC,GAC1D,GACF;AAAA,IAGA,qBAAC,QAAK,OAAM,UAAS,SAAQ,YAAW,KAAI,KAC1C;AAAA,0BAAC,WAAQ,SAAQ,YAAW,uCAAK;AAAA,MACjC,oBAAC,aAAU,MAAK,KAAI;AAAA,OACtB;AAAA,IACA,oBAAC,QAAK,WAAU,UAAS,KAAI,KAC1B,mBAAS,IAAI,CAAC,OAAO;AACpB,aAAO,oBAAC,QAAqB,qBAAW,IAAI,QAAQ,KAAlC,GAAG,KAAiC;AAAA,IACxD,CAAC,GACH;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Popover
|
|
3
|
+
} from "./chunk-5AVBYDPB.js";
|
|
4
|
+
import {
|
|
5
|
+
Grid
|
|
6
|
+
} from "./chunk-EGEQY3KT.js";
|
|
7
|
+
import {
|
|
8
|
+
Collapse
|
|
9
|
+
} from "./chunk-LZJR77Q2.js";
|
|
10
|
+
import {
|
|
11
|
+
Heading
|
|
12
|
+
} from "./chunk-HK224ADT.js";
|
|
13
|
+
import {
|
|
14
|
+
Separator
|
|
15
|
+
} from "./chunk-HYITAA4J.js";
|
|
16
|
+
import {
|
|
17
|
+
IconButton
|
|
18
|
+
} from "./chunk-O3DNDMV3.js";
|
|
19
|
+
import {
|
|
20
|
+
Box
|
|
21
|
+
} from "./chunk-4Y5BEXVN.js";
|
|
22
|
+
import {
|
|
23
|
+
Typo
|
|
24
|
+
} from "./chunk-52MVZ6AN.js";
|
|
25
|
+
import {
|
|
26
|
+
Flex
|
|
27
|
+
} from "./chunk-25HMMI7R.js";
|
|
28
|
+
import {
|
|
29
|
+
Button
|
|
30
|
+
} from "./chunk-U7JPP7WJ.js";
|
|
31
|
+
import {
|
|
32
|
+
Card
|
|
33
|
+
} from "./chunk-2ZQK7NTN.js";
|
|
34
|
+
import {
|
|
35
|
+
ChevronDownIcon,
|
|
36
|
+
ChevronUpIcon,
|
|
37
|
+
Pencil1Icon,
|
|
38
|
+
RocketIcon,
|
|
39
|
+
TrashIcon
|
|
40
|
+
} from "./chunk-PGIAKER2.js";
|
|
41
|
+
import {
|
|
42
|
+
Badge
|
|
43
|
+
} from "./chunk-EWD4AO5N.js";
|
|
44
|
+
|
|
45
|
+
// src/app/platform/goal-manage-card-read.tsx
|
|
46
|
+
import { useCallback, useMemo, useState } from "react";
|
|
47
|
+
import { format } from "date-fns";
|
|
48
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
49
|
+
function GoalManageCardRead(props) {
|
|
50
|
+
const {
|
|
51
|
+
title,
|
|
52
|
+
dueDate,
|
|
53
|
+
completed,
|
|
54
|
+
expectedEffect,
|
|
55
|
+
huddle,
|
|
56
|
+
onClickDelete,
|
|
57
|
+
onClickEdit,
|
|
58
|
+
defaultOpen,
|
|
59
|
+
onCompleteChange
|
|
60
|
+
} = props;
|
|
61
|
+
const [open, setOpen] = useState(Boolean(defaultOpen));
|
|
62
|
+
const onClickOpen = useCallback(() => {
|
|
63
|
+
setOpen((p) => !p);
|
|
64
|
+
}, []);
|
|
65
|
+
const icon = open ? /* @__PURE__ */ jsx(ChevronUpIcon, {}) : /* @__PURE__ */ jsx(ChevronDownIcon, {});
|
|
66
|
+
const status = useMemo(() => {
|
|
67
|
+
if (completed)
|
|
68
|
+
return;
|
|
69
|
+
if (!dueDate)
|
|
70
|
+
return "\uBBF8\uC815";
|
|
71
|
+
if (dueDate < /* @__PURE__ */ new Date())
|
|
72
|
+
return "\uBBF8\uB2EC\uC131";
|
|
73
|
+
return "\uC9C4\uD589 \uC911";
|
|
74
|
+
}, [completed, dueDate]);
|
|
75
|
+
const statusColor = useMemo(() => {
|
|
76
|
+
if (status === "\uC9C4\uD589 \uC911")
|
|
77
|
+
return "success";
|
|
78
|
+
if (status === "\uBBF8\uB2EC\uC131")
|
|
79
|
+
return "error";
|
|
80
|
+
}, [status]);
|
|
81
|
+
const renderSubTitle = useCallback((subTitle) => {
|
|
82
|
+
return /* @__PURE__ */ jsx(Heading, { mb: "2", variant: "heading5", children: subTitle });
|
|
83
|
+
}, []);
|
|
84
|
+
const renderSubContent = useCallback((content) => {
|
|
85
|
+
return /* @__PURE__ */ jsx(Typo, { as: "p", color: "gray", children: content });
|
|
86
|
+
}, []);
|
|
87
|
+
const renderCompleteButton = useCallback(() => {
|
|
88
|
+
if (completed) {
|
|
89
|
+
return /* @__PURE__ */ jsxs(Popover.Root, { children: [
|
|
90
|
+
/* @__PURE__ */ jsx(Popover.Trigger, { children: /* @__PURE__ */ jsxs(Button, { size: "small", children: [
|
|
91
|
+
/* @__PURE__ */ jsx(RocketIcon, {}),
|
|
92
|
+
"\uB2EC\uC131\uD558\uAE30"
|
|
93
|
+
] }) }),
|
|
94
|
+
/* @__PURE__ */ jsxs(Popover.Content, { children: [
|
|
95
|
+
/* @__PURE__ */ jsx(Typo, { color: "gray", children: "\uBAA9\uD45C\uB97C \uB2EC\uC131\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?" }),
|
|
96
|
+
/* @__PURE__ */ jsxs(Flex, { gap: "3", justify: "end", mt: "3", children: [
|
|
97
|
+
/* @__PURE__ */ jsx(Popover.Close, { children: /* @__PURE__ */ jsx(Button, { color: "gray", size: "small", variant: "outline", children: "\uC544\uB2C8\uC694" }) }),
|
|
98
|
+
/* @__PURE__ */ jsx(Popover.Close, { children: /* @__PURE__ */ jsx(Button, { onClick: props.onClickComplete, size: "small", children: "\uC608" }) })
|
|
99
|
+
] })
|
|
100
|
+
] })
|
|
101
|
+
] });
|
|
102
|
+
}
|
|
103
|
+
return /* @__PURE__ */ jsx(
|
|
104
|
+
Button,
|
|
105
|
+
{
|
|
106
|
+
onClick: () => onCompleteChange == null ? void 0 : onCompleteChange(false),
|
|
107
|
+
size: "small",
|
|
108
|
+
variant: "surface",
|
|
109
|
+
children: "\uC9C4\uD589\uC911\uC778 \uACFC\uC81C\uB85C \uB3CC\uB824\uB193\uAE30"
|
|
110
|
+
}
|
|
111
|
+
);
|
|
112
|
+
}, [completed, onCompleteChange, props.onClickComplete]);
|
|
113
|
+
return /* @__PURE__ */ jsx(Card, { children: /* @__PURE__ */ jsxs(Grid, { align: "center", columns: "auto 1fr", gapX: "3", children: [
|
|
114
|
+
/* @__PURE__ */ jsx(IconButton, { onClick: onClickOpen, variant: "ghost", children: icon }),
|
|
115
|
+
/* @__PURE__ */ jsx(Heading, { variant: "heading4", children: title }),
|
|
116
|
+
/* @__PURE__ */ jsxs(Flex, { align: "center", gridColumnStart: "2", justify: "between", mt: "2", children: [
|
|
117
|
+
/* @__PURE__ */ jsxs(Flex, { align: "center", gap: "3", children: [
|
|
118
|
+
/* @__PURE__ */ jsx(Badge, { color: statusColor, children: status }),
|
|
119
|
+
/* @__PURE__ */ jsx(Typo, { color: "gray", children: dueDate ? format(dueDate, "yyyy\uB144 MM\uC6D4 dd\uC77C") : null })
|
|
120
|
+
] }),
|
|
121
|
+
renderCompleteButton()
|
|
122
|
+
] }),
|
|
123
|
+
open ? /* @__PURE__ */ jsx(
|
|
124
|
+
Separator,
|
|
125
|
+
{
|
|
126
|
+
mb: "4",
|
|
127
|
+
mt: "4",
|
|
128
|
+
size: "4",
|
|
129
|
+
style: { gridColumnStart: "span 2" }
|
|
130
|
+
}
|
|
131
|
+
) : null,
|
|
132
|
+
/* @__PURE__ */ jsx(Box, { gridColumnStart: "2", p: "0", children: /* @__PURE__ */ jsxs(Collapse, { open, children: [
|
|
133
|
+
/* @__PURE__ */ jsxs(Flex, { direction: "column", gap: "5", children: [
|
|
134
|
+
/* @__PURE__ */ jsxs(Box, { children: [
|
|
135
|
+
renderSubTitle(
|
|
136
|
+
"\uD574\uB2F9 \uBAA9\uD45C\uB97C \uB2EC\uC131\uD558\uBA74, \uC544\uB798\uC640 \uAC19\uC740 \uACB0\uACFC\uB97C \uC5BB\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4"
|
|
137
|
+
),
|
|
138
|
+
renderSubContent(expectedEffect)
|
|
139
|
+
] }),
|
|
140
|
+
/* @__PURE__ */ jsxs(Box, { children: [
|
|
141
|
+
renderSubTitle("\uD574\uB2F9 \uBAA9\uD45C\uB97C \uB2EC\uC131\uD558\uAE30 \uC704\uD574 \uD544\uC694\uD55C \uD5C8\uB4E4"),
|
|
142
|
+
renderSubContent(huddle)
|
|
143
|
+
] })
|
|
144
|
+
] }),
|
|
145
|
+
/* @__PURE__ */ jsxs(Flex, { align: "center", gap: "3", justify: "end", mt: "3", children: [
|
|
146
|
+
/* @__PURE__ */ jsxs(
|
|
147
|
+
Button,
|
|
148
|
+
{
|
|
149
|
+
color: "gray",
|
|
150
|
+
onClick: onClickEdit,
|
|
151
|
+
size: "small",
|
|
152
|
+
variant: "ghost",
|
|
153
|
+
children: [
|
|
154
|
+
/* @__PURE__ */ jsx(TrashIcon, {}),
|
|
155
|
+
"\uC0AD\uC81C\uD558\uAE30"
|
|
156
|
+
]
|
|
157
|
+
}
|
|
158
|
+
),
|
|
159
|
+
/* @__PURE__ */ jsxs(Button, { onClick: onClickDelete, size: "small", variant: "surface", children: [
|
|
160
|
+
/* @__PURE__ */ jsx(Pencil1Icon, {}),
|
|
161
|
+
"\uC218\uC815\uD558\uAE30"
|
|
162
|
+
] })
|
|
163
|
+
] })
|
|
164
|
+
] }) })
|
|
165
|
+
] }) });
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
export {
|
|
169
|
+
GoalManageCardRead
|
|
170
|
+
};
|
|
171
|
+
//# sourceMappingURL=chunk-QOABBRAS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/app/platform/goal-manage-card-read.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from 'react';\nimport { format } from 'date-fns';\nimport {\n Box,\n Button,\n Card,\n Collapse,\n Flex,\n Heading,\n Badge,\n Typo,\n Popover,\n Grid,\n Separator,\n IconButton,\n} from '../../atoms';\nimport {\n ChevronDownIcon,\n ChevronUpIcon,\n Pencil1Icon,\n RocketIcon,\n TrashIcon,\n} from '../../icon';\n\nexport interface GoalManageCardProps {\n defaultOpen?: boolean;\n title?: string;\n dueDate?: Date;\n completed?: boolean;\n expectedEffect?: string;\n huddle?: string;\n onClickDelete?: () => void;\n onClickEdit?: () => void;\n onClickComplete?: () => void;\n onCompleteChange?: (completed: boolean) => void;\n}\n\nexport function GoalManageCardRead(\n props: GoalManageCardProps\n): React.ReactElement {\n const {\n title,\n dueDate,\n completed,\n expectedEffect,\n huddle,\n onClickDelete,\n onClickEdit,\n defaultOpen,\n onCompleteChange,\n } = props;\n const [open, setOpen] = useState<boolean>(Boolean(defaultOpen));\n const onClickOpen = useCallback(() => {\n setOpen((p) => !p);\n }, []);\n\n const icon = open ? <ChevronUpIcon /> : <ChevronDownIcon />;\n\n const status = useMemo<string | undefined>(() => {\n if (completed) return;\n if (!dueDate) return '미정';\n if (dueDate < new Date()) return '미달성';\n return '진행 중';\n }, [completed, dueDate]);\n\n const statusColor = useMemo(() => {\n if (status === '진행 중') return 'success';\n if (status === '미달성') return 'error';\n }, [status]);\n\n const renderSubTitle = useCallback((subTitle: string) => {\n return (\n <Heading mb=\"2\" variant=\"heading5\">\n {subTitle}\n </Heading>\n );\n }, []);\n\n const renderSubContent = useCallback((content?: string) => {\n return (\n <Typo as=\"p\" color=\"gray\">\n {content}\n </Typo>\n );\n }, []);\n\n const renderCompleteButton = useCallback(() => {\n if (completed) {\n return (\n <Popover.Root>\n <Popover.Trigger>\n <Button size=\"small\">\n <RocketIcon />\n 달성하기\n </Button>\n </Popover.Trigger>\n <Popover.Content>\n <Typo color=\"gray\">목표를 달성하시겠습니까?</Typo>\n <Flex gap=\"3\" justify=\"end\" mt=\"3\">\n <Popover.Close>\n <Button color=\"gray\" size=\"small\" variant=\"outline\">\n 아니요\n </Button>\n </Popover.Close>\n <Popover.Close>\n <Button onClick={props.onClickComplete} size=\"small\">\n 예\n </Button>\n </Popover.Close>\n </Flex>\n </Popover.Content>\n </Popover.Root>\n );\n }\n\n return (\n <Button\n onClick={() => onCompleteChange?.(false)}\n size=\"small\"\n variant=\"surface\"\n >\n 진행중인 과제로 돌려놓기\n </Button>\n );\n }, [completed, onCompleteChange, props.onClickComplete]);\n\n return (\n <Card>\n <Grid align=\"center\" columns=\"auto 1fr\" gapX=\"3\">\n <IconButton onClick={onClickOpen} variant=\"ghost\">\n {icon}\n </IconButton>\n <Heading variant=\"heading4\">{title}</Heading>\n\n <Flex align=\"center\" gridColumnStart=\"2\" justify=\"between\" mt=\"2\">\n <Flex align=\"center\" gap=\"3\">\n <Badge color={statusColor}>{status}</Badge>\n <Typo color=\"gray\">\n {dueDate ? format(dueDate, 'yyyy년 MM월 dd일') : null}\n </Typo>\n </Flex>\n {renderCompleteButton()}\n </Flex>\n {open ? (\n <Separator\n mb=\"4\"\n mt=\"4\"\n size=\"4\"\n style={{ gridColumnStart: 'span 2' }}\n />\n ) : null}\n <Box gridColumnStart=\"2\" p=\"0\">\n <Collapse open={open}>\n <Flex direction=\"column\" gap=\"5\">\n <Box>\n {renderSubTitle(\n '해당 목표를 달성하면, 아래와 같은 결과를 얻을 수 있습니다'\n )}\n {renderSubContent(expectedEffect)}\n </Box>\n <Box>\n {renderSubTitle('해당 목표를 달성하기 위해 필요한 허들')}\n {renderSubContent(huddle)}\n </Box>\n </Flex>\n <Flex align=\"center\" gap=\"3\" justify=\"end\" mt=\"3\">\n <Button\n color=\"gray\"\n onClick={onClickEdit}\n size=\"small\"\n variant=\"ghost\"\n >\n <TrashIcon />\n 삭제하기\n </Button>\n <Button onClick={onClickDelete} size=\"small\" variant=\"surface\">\n <Pencil1Icon />\n 수정하기\n </Button>\n </Flex>\n </Collapse>\n </Box>\n </Grid>\n </Card>\n );\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Typo
|
|
3
|
+
} from "./chunk-52MVZ6AN.js";
|
|
4
|
+
import {
|
|
5
|
+
Flex
|
|
6
|
+
} from "./chunk-25HMMI7R.js";
|
|
7
|
+
import {
|
|
8
|
+
CheckIcon
|
|
9
|
+
} from "./chunk-UAN5JXP3.js";
|
|
10
|
+
import {
|
|
11
|
+
Avatar
|
|
12
|
+
} from "./chunk-3SSSCLJ5.js";
|
|
13
|
+
|
|
14
|
+
// src/molecules/stepper.tsx
|
|
15
|
+
import { createContext, Children, useContext, useMemo } from "react";
|
|
16
|
+
import { Separator } from "@radix-ui/themes";
|
|
17
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
18
|
+
var StepContext = createContext({
|
|
19
|
+
active: false,
|
|
20
|
+
completed: false,
|
|
21
|
+
index: 0
|
|
22
|
+
});
|
|
23
|
+
function Root(props) {
|
|
24
|
+
const {
|
|
25
|
+
activeStep = 0,
|
|
26
|
+
children,
|
|
27
|
+
width,
|
|
28
|
+
minWidth,
|
|
29
|
+
maxWidth,
|
|
30
|
+
direction = "vertical"
|
|
31
|
+
} = props;
|
|
32
|
+
return /* @__PURE__ */ jsx(
|
|
33
|
+
Flex,
|
|
34
|
+
{
|
|
35
|
+
gap: "3",
|
|
36
|
+
style: {
|
|
37
|
+
width,
|
|
38
|
+
minWidth,
|
|
39
|
+
maxWidth
|
|
40
|
+
},
|
|
41
|
+
children: Children.map(children, (child, index) => {
|
|
42
|
+
return /* @__PURE__ */ jsx(
|
|
43
|
+
StepContext.Provider,
|
|
44
|
+
{
|
|
45
|
+
value: {
|
|
46
|
+
active: index === activeStep,
|
|
47
|
+
completed: index < activeStep,
|
|
48
|
+
index,
|
|
49
|
+
direction
|
|
50
|
+
},
|
|
51
|
+
children: child
|
|
52
|
+
}
|
|
53
|
+
);
|
|
54
|
+
})
|
|
55
|
+
}
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
function Step(props) {
|
|
59
|
+
const { Icon, children } = props;
|
|
60
|
+
const {
|
|
61
|
+
active,
|
|
62
|
+
completed,
|
|
63
|
+
index,
|
|
64
|
+
direction = "vertical"
|
|
65
|
+
} = useContext(StepContext);
|
|
66
|
+
const connector = index > 0 ? /* @__PURE__ */ jsx(
|
|
67
|
+
Separator,
|
|
68
|
+
{
|
|
69
|
+
style: {
|
|
70
|
+
width: `calc(100% - 40px)`,
|
|
71
|
+
position: "absolute",
|
|
72
|
+
top: 16,
|
|
73
|
+
right: `calc(50% + 26px)`
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
) : null;
|
|
77
|
+
const InnerStep = useMemo(() => {
|
|
78
|
+
if (active) {
|
|
79
|
+
return ActiveStep;
|
|
80
|
+
}
|
|
81
|
+
if (completed) {
|
|
82
|
+
return CompleteStep;
|
|
83
|
+
}
|
|
84
|
+
return IncompleteStep;
|
|
85
|
+
}, [completed, active]);
|
|
86
|
+
return /* @__PURE__ */ jsxs(
|
|
87
|
+
Flex,
|
|
88
|
+
{
|
|
89
|
+
align: "center",
|
|
90
|
+
direction: direction === "horizontal" ? "row" : "column",
|
|
91
|
+
gap: "4",
|
|
92
|
+
position: "relative",
|
|
93
|
+
style: { flex: 1 },
|
|
94
|
+
children: [
|
|
95
|
+
connector,
|
|
96
|
+
/* @__PURE__ */ jsx(InnerStep, { Icon, children })
|
|
97
|
+
]
|
|
98
|
+
}
|
|
99
|
+
);
|
|
100
|
+
}
|
|
101
|
+
function CompleteStep(props) {
|
|
102
|
+
const { Icon, children } = props;
|
|
103
|
+
const { completed, active } = useContext(StepContext);
|
|
104
|
+
const background = "var(--accent-a4)";
|
|
105
|
+
const border = "1px solid var(--accent-7)";
|
|
106
|
+
const color = "var(--accent-contrast)";
|
|
107
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
108
|
+
Icon ? /* @__PURE__ */ jsx(Icon, { active, completed }) : /* @__PURE__ */ jsx(
|
|
109
|
+
Avatar,
|
|
110
|
+
{
|
|
111
|
+
fallback: /* @__PURE__ */ jsx(CheckIcon, { fill: color, height: 16, width: 16 }),
|
|
112
|
+
radius: "full",
|
|
113
|
+
size: "medium",
|
|
114
|
+
style: {
|
|
115
|
+
border,
|
|
116
|
+
background
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
),
|
|
120
|
+
/* @__PURE__ */ jsx(Typo, { align: "center", variant: "caption", children })
|
|
121
|
+
] });
|
|
122
|
+
}
|
|
123
|
+
function IncompleteStep(props) {
|
|
124
|
+
const { Icon, children } = props;
|
|
125
|
+
const { completed, active, index } = useContext(StepContext);
|
|
126
|
+
const background = "var(--gray-5)";
|
|
127
|
+
const color = "var(--gray-a11)";
|
|
128
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
129
|
+
Icon ? /* @__PURE__ */ jsx(Icon, { active, completed }) : /* @__PURE__ */ jsx(
|
|
130
|
+
Avatar,
|
|
131
|
+
{
|
|
132
|
+
fallback: /* @__PURE__ */ jsx(Typo, { style: { color }, children: index + 1 }),
|
|
133
|
+
radius: "full",
|
|
134
|
+
size: "medium",
|
|
135
|
+
style: {
|
|
136
|
+
background
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
),
|
|
140
|
+
/* @__PURE__ */ jsx(Typo, { align: "center", style: { color }, variant: "caption", children })
|
|
141
|
+
] });
|
|
142
|
+
}
|
|
143
|
+
function ActiveStep(props) {
|
|
144
|
+
const { Icon, children } = props;
|
|
145
|
+
const { completed, active, index } = useContext(StepContext);
|
|
146
|
+
const background = "var(--accent-10)";
|
|
147
|
+
const color = "var(--accent-contrast)";
|
|
148
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
149
|
+
Icon ? /* @__PURE__ */ jsx(Icon, { active, completed }) : /* @__PURE__ */ jsx(
|
|
150
|
+
Avatar,
|
|
151
|
+
{
|
|
152
|
+
fallback: /* @__PURE__ */ jsx(Typo, { style: { color }, weight: "bold", children: index + 1 }),
|
|
153
|
+
radius: "full",
|
|
154
|
+
size: "medium",
|
|
155
|
+
style: { background }
|
|
156
|
+
}
|
|
157
|
+
),
|
|
158
|
+
/* @__PURE__ */ jsx(Typo, { align: "center", variant: "caption", weight: "bold", children })
|
|
159
|
+
] });
|
|
160
|
+
}
|
|
161
|
+
var Stepper = {
|
|
162
|
+
Root,
|
|
163
|
+
Step
|
|
164
|
+
};
|
|
165
|
+
|
|
166
|
+
export {
|
|
167
|
+
Stepper
|
|
168
|
+
};
|
|
169
|
+
//# sourceMappingURL=chunk-QR66GBTG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/molecules/stepper.tsx"],"sourcesContent":["import React, { createContext, Children, useContext, useMemo } from 'react';\nimport { Separator } from '@radix-ui/themes';\nimport { Flex } from '../atoms/flex';\nimport { Avatar } from '../atoms/avatar';\nimport { CheckIcon } from '../icon';\nimport { Typo } from '../atoms/typo';\n\ninterface StepState extends Pick<StepperProps, 'direction'> {\n active: boolean;\n completed: boolean;\n index: number;\n}\n\nconst StepContext = createContext<StepState>({\n active: false,\n completed: false,\n index: 0,\n});\n\ninterface StepperProps {\n // 활성화된 스텝 인덱스. 0부터 시작\n activeStep?: number;\n children?: React.ReactElement | React.ReactElement[];\n width?: string;\n maxWidth?: string;\n minWidth?: string;\n /** icon과 children의 배치 방향. 기본 값 vertical */\n direction?: 'horizontal' | 'vertical';\n}\n\nfunction Root(props: StepperProps): React.ReactElement {\n const {\n activeStep = 0,\n children,\n width,\n minWidth,\n maxWidth,\n direction = 'vertical',\n } = props;\n\n return (\n <Flex\n gap=\"3\"\n style={{\n width,\n minWidth,\n maxWidth,\n }}\n >\n {Children.map(children, (child, index) => {\n return (\n <StepContext.Provider\n value={{\n active: index === activeStep,\n completed: index < activeStep,\n index,\n direction,\n }}\n >\n {child}\n </StepContext.Provider>\n );\n })}\n </Flex>\n );\n}\n\ninterface StepProps {\n children?: React.ReactNode;\n /** 아이콘 커스텀 필요시 사용 */\n Icon?: (args: { completed: boolean; active: boolean }) => React.ReactElement;\n}\n\nfunction Step(props: StepProps): React.ReactElement {\n const { Icon, children } = props;\n const {\n active,\n completed,\n index,\n direction = 'vertical',\n } = useContext(StepContext);\n\n const connector =\n index > 0 ? (\n <Separator\n style={{\n width: `calc(100% - 40px)`,\n position: 'absolute',\n top: 16,\n right: `calc(50% + 26px)`,\n }}\n />\n ) : null;\n\n const InnerStep = useMemo<(props: StepProps) => React.ReactElement>(() => {\n if (active) {\n return ActiveStep;\n }\n if (completed) {\n return CompleteStep;\n }\n return IncompleteStep;\n }, [completed, active]);\n\n return (\n <Flex\n align=\"center\"\n direction={direction === 'horizontal' ? 'row' : 'column'}\n gap=\"4\"\n position=\"relative\"\n style={{ flex: 1 }}\n >\n {connector}\n <InnerStep Icon={Icon}>{children}</InnerStep>\n </Flex>\n );\n}\n\nfunction CompleteStep(props: StepProps): React.ReactElement {\n const { Icon, children } = props;\n const { completed, active } = useContext(StepContext);\n const background = 'var(--accent-a4)';\n const border = '1px solid var(--accent-7)';\n const color = 'var(--accent-contrast)';\n\n return (\n <>\n {Icon ? (\n <Icon active={active} completed={completed} />\n ) : (\n <Avatar\n fallback={<CheckIcon fill={color} height={16} width={16} />}\n radius=\"full\"\n size=\"medium\"\n style={{\n border,\n background,\n }}\n />\n )}\n <Typo align=\"center\" variant=\"caption\">\n {children}\n </Typo>\n </>\n );\n}\n\nfunction IncompleteStep(props: StepProps): React.ReactElement {\n const { Icon, children } = props;\n const { completed, active, index } = useContext(StepContext);\n const background = 'var(--gray-5)';\n const color = 'var(--gray-a11)';\n return (\n <>\n {Icon ? (\n <Icon active={active} completed={completed} />\n ) : (\n <Avatar\n fallback={<Typo style={{ color }}>{index + 1}</Typo>}\n radius=\"full\"\n size=\"medium\"\n style={{\n background,\n }}\n />\n )}\n <Typo align=\"center\" style={{ color }} variant=\"caption\">\n {children}\n </Typo>\n </>\n );\n}\n\nfunction ActiveStep(props: StepProps): React.ReactElement {\n const { Icon, children } = props;\n const { completed, active, index } = useContext(StepContext);\n const background = 'var(--accent-10)';\n const color = 'var(--accent-contrast)';\n\n return (\n <>\n {Icon ? (\n <Icon active={active} completed={completed} />\n ) : (\n <Avatar\n fallback={\n <Typo style={{ color }} weight=\"bold\">\n {index + 1}\n </Typo>\n }\n radius=\"full\"\n size=\"medium\"\n style={{ background }}\n />\n )}\n <Typo align=\"center\" variant=\"caption\" weight=\"bold\">\n {children}\n </Typo>\n </>\n );\n}\n\nexport const Stepper = {\n Root,\n Step,\n};\n"],"mappings":"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","names":[]}
|