@tipp/ui 2.3.4 → 2.3.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.
Files changed (109) hide show
  1. package/dist/app/index.cjs.map +1 -1
  2. package/dist/app/index.js +38 -38
  3. package/dist/app/platform/coach-question-list.cjs.map +1 -1
  4. package/dist/app/platform/coach-question-list.js +2 -2
  5. package/dist/app/platform/contents-card.cjs.map +1 -1
  6. package/dist/app/platform/contents-card.js +2 -2
  7. package/dist/app/platform/curriculum-card.js +2 -2
  8. package/dist/app/platform/edit-coaching-time.cjs.map +1 -1
  9. package/dist/app/platform/edit-coaching-time.js +28 -28
  10. package/dist/app/platform/edit-service-type.cjs.map +1 -1
  11. package/dist/app/platform/edit-service-type.js +27 -27
  12. package/dist/app/platform/goal-manage-card-edit.cjs.map +1 -1
  13. package/dist/app/platform/goal-manage-card-edit.js +27 -27
  14. package/dist/app/platform/goal-manage-card-read.cjs.map +1 -1
  15. package/dist/app/platform/goal-manage-card-read.js +3 -3
  16. package/dist/app/platform/on-offline-radio-card.cjs.map +1 -1
  17. package/dist/app/platform/on-offline-radio-card.js +27 -27
  18. package/dist/app/platform/report-card.cjs.map +1 -1
  19. package/dist/app/platform/report-card.js +2 -2
  20. package/dist/app/platform/reservation-card.cjs.map +1 -1
  21. package/dist/app/platform/reservation-card.js +27 -27
  22. package/dist/app/platform/session-card.cjs.map +1 -1
  23. package/dist/app/platform/session-card.js +29 -29
  24. package/dist/app/platform/session-review-simple-read.cjs.map +1 -1
  25. package/dist/app/platform/session-review-simple-read.js +2 -2
  26. package/dist/app/platform/userInfos/coaching-customer-info/index.cjs.map +1 -1
  27. package/dist/app/platform/userInfos/coaching-customer-info/index.js +8 -8
  28. package/dist/app/platform/userInfos/coaching-customer-info/large.cjs.map +1 -1
  29. package/dist/app/platform/userInfos/coaching-customer-info/large.js +3 -3
  30. package/dist/app/platform/userInfos/coaching-customer-info/medium.cjs.map +1 -1
  31. package/dist/app/platform/userInfos/coaching-customer-info/medium.js +3 -3
  32. package/dist/app/platform/userInfos/coaching-customer-info/small.cjs.map +1 -1
  33. package/dist/app/platform/userInfos/coaching-customer-info/small.js +2 -2
  34. package/dist/app/platform/userInfos/session-user-info-detail.cjs.map +1 -1
  35. package/dist/app/platform/userInfos/session-user-info-detail.js +3 -3
  36. package/dist/app/platform/userInfos/utils.cjs.map +1 -1
  37. package/dist/app/platform/userInfos/utils.js +2 -2
  38. package/dist/atoms/drawer.cjs +8 -14
  39. package/dist/atoms/drawer.cjs.map +1 -1
  40. package/dist/atoms/drawer.js +1 -2
  41. package/dist/atoms/index.cjs +3 -6
  42. package/dist/atoms/index.cjs.map +1 -1
  43. package/dist/atoms/index.js +4 -4
  44. package/dist/chunk-2QHFHCXL.js +64 -0
  45. package/dist/chunk-2QHFHCXL.js.map +1 -0
  46. package/dist/chunk-3GLSHF4F.js +99 -0
  47. package/dist/chunk-3GLSHF4F.js.map +1 -0
  48. package/dist/chunk-44VLRAHW.js +74 -0
  49. package/dist/chunk-44VLRAHW.js.map +1 -0
  50. package/dist/chunk-5RDI5OIK.js +89 -0
  51. package/dist/chunk-5RDI5OIK.js.map +1 -0
  52. package/dist/chunk-5ZEQ33PC.js +57 -0
  53. package/dist/chunk-5ZEQ33PC.js.map +1 -0
  54. package/dist/chunk-7AHPQJD2.js +196 -0
  55. package/dist/chunk-7AHPQJD2.js.map +1 -0
  56. package/dist/chunk-7PTZCSIA.js +144 -0
  57. package/dist/chunk-7PTZCSIA.js.map +1 -0
  58. package/dist/chunk-7ZMY4CAZ.js +30 -0
  59. package/dist/chunk-7ZMY4CAZ.js.map +1 -0
  60. package/dist/chunk-AQVIQODP.js +69 -0
  61. package/dist/chunk-AQVIQODP.js.map +1 -0
  62. package/dist/chunk-CQSM6JCO.js +65 -0
  63. package/dist/chunk-CQSM6JCO.js.map +1 -0
  64. package/dist/chunk-EDDPJB52.js +61 -0
  65. package/dist/chunk-EDDPJB52.js.map +1 -0
  66. package/dist/chunk-FGNKLXJK.js +165 -0
  67. package/dist/chunk-FGNKLXJK.js.map +1 -0
  68. package/dist/chunk-G52YPZRU.js +95 -0
  69. package/dist/chunk-G52YPZRU.js.map +1 -0
  70. package/dist/chunk-JNYTH4BZ.js +151 -0
  71. package/dist/chunk-JNYTH4BZ.js.map +1 -0
  72. package/dist/chunk-K4JKFIA2.js +196 -0
  73. package/dist/chunk-K4JKFIA2.js.map +1 -0
  74. package/dist/chunk-LKEYLW4N.js +174 -0
  75. package/dist/chunk-LKEYLW4N.js.map +1 -0
  76. package/dist/chunk-NJ56ZKR4.js +63 -0
  77. package/dist/chunk-NJ56ZKR4.js.map +1 -0
  78. package/dist/chunk-OQPXX6GH.js +89 -0
  79. package/dist/chunk-OQPXX6GH.js.map +1 -0
  80. package/dist/chunk-OW53EUJW.js +95 -0
  81. package/dist/chunk-OW53EUJW.js.map +1 -0
  82. package/dist/chunk-QFEZIPWJ.js +64 -0
  83. package/dist/chunk-QFEZIPWJ.js.map +1 -0
  84. package/dist/chunk-S2M6OJER.js +95 -0
  85. package/dist/chunk-S2M6OJER.js.map +1 -0
  86. package/dist/chunk-SZA3RAKD.js +51 -0
  87. package/dist/chunk-SZA3RAKD.js.map +1 -0
  88. package/dist/chunk-WS7IOHVK.js +51 -0
  89. package/dist/chunk-WS7IOHVK.js.map +1 -0
  90. package/dist/chunk-ZADYUJIV.js +64 -0
  91. package/dist/chunk-ZADYUJIV.js.map +1 -0
  92. package/dist/index.cjs +3 -6
  93. package/dist/index.cjs.map +1 -1
  94. package/dist/index.js +55 -55
  95. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.js +7 -7
  96. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.js +2 -2
  97. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-layout.js +2 -2
  98. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.js +9 -9
  99. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.js +2 -2
  100. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.js +10 -10
  101. package/dist/molecules/curriculumV2/CurriculumContents/index.js +13 -13
  102. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-sidebar-item-wrapper.js +2 -2
  103. package/dist/molecules/curriculumV2/CurriculumSidebar/index.js +5 -5
  104. package/dist/molecules/curriculumV2/CurriculumSidebar/sidebar-item.js +4 -4
  105. package/dist/molecules/curriculumV2/curriculum-v2-layout.js +2 -2
  106. package/dist/molecules/curriculumV2/index.js +22 -22
  107. package/dist/molecules/index.js +38 -38
  108. package/package.json +1 -1
  109. package/src/atoms/drawer.tsx +17 -18
@@ -48,6 +48,9 @@ import {
48
48
  import {
49
49
  Select
50
50
  } from "../chunk-X2GMDZ7M.js";
51
+ import {
52
+ Separator
53
+ } from "../chunk-HYITAA4J.js";
51
54
  import {
52
55
  Inset
53
56
  } from "../chunk-XQOL7UBI.js";
@@ -105,11 +108,8 @@ import {
105
108
  Drawer,
106
109
  Root,
107
110
  Trigger
108
- } from "../chunk-ZI34IKO5.js";
111
+ } from "../chunk-G52YPZRU.js";
109
112
  import "../chunk-645GPOW2.js";
110
- import {
111
- Separator
112
- } from "../chunk-HYITAA4J.js";
113
113
  import "../chunk-U7N2PWMO.js";
114
114
  import {
115
115
  IconButton
@@ -0,0 +1,64 @@
1
+ import {
2
+ curriculum_ai_traning_default
3
+ } from "./chunk-SVFDAVBS.js";
4
+ import {
5
+ curriculum_review_default
6
+ } from "./chunk-7AHPQJD2.js";
7
+ import {
8
+ curriculum_video_default
9
+ } from "./chunk-QGKQ3IX7.js";
10
+ import {
11
+ useCurriculumContext
12
+ } from "./chunk-IYQJIEVM.js";
13
+ import {
14
+ Flex
15
+ } from "./chunk-25HMMI7R.js";
16
+ import {
17
+ InfoCircledIcon
18
+ } from "./chunk-R7IT4TCD.js";
19
+ import {
20
+ Typo
21
+ } from "./chunk-PMJIFLDT.js";
22
+
23
+ // src/molecules/curriculumV2/CurriculumContents/index.tsx
24
+ import { jsx, jsxs } from "react/jsx-runtime";
25
+ function CurriculumBody() {
26
+ const { selectedItem, selectedSectionTitle } = useCurriculumContext();
27
+ switch (selectedItem.type) {
28
+ case "video":
29
+ return /* @__PURE__ */ jsx(curriculum_video_default, { item: selectedItem });
30
+ case "review":
31
+ return /* @__PURE__ */ jsx(
32
+ curriculum_review_default,
33
+ {
34
+ item: selectedItem,
35
+ sectionTitle: selectedSectionTitle == null ? void 0 : selectedSectionTitle.title
36
+ }
37
+ );
38
+ case "aiTraining":
39
+ return /* @__PURE__ */ jsx(curriculum_ai_traning_default, { item: selectedItem });
40
+ default:
41
+ return /* @__PURE__ */ jsxs(
42
+ Flex,
43
+ {
44
+ align: "center",
45
+ direction: "column",
46
+ gap: "2",
47
+ height: "100%",
48
+ justify: "center",
49
+ width: "100%",
50
+ children: [
51
+ /* @__PURE__ */ jsx(InfoCircledIcon, { height: 24, width: 24 }),
52
+ /* @__PURE__ */ jsx(Typo, { children: "\uCEE8\uD150\uCE20\uB97C \uB85C\uB529 \uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4" }),
53
+ /* @__PURE__ */ jsx(Typo, { align: "center", color: "gray", variant: "caption", children: `[debug info]
54
+ ${JSON.stringify(selectedItem)}` })
55
+ ]
56
+ }
57
+ );
58
+ }
59
+ }
60
+
61
+ export {
62
+ CurriculumBody
63
+ };
64
+ //# sourceMappingURL=chunk-2QHFHCXL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/molecules/curriculumV2/CurriculumContents/index.tsx"],"sourcesContent":["import React from 'react';\nimport { Flex } from '@/atoms/flex';\nimport { Typo } from '@/atoms/typo';\nimport { InfoCircledIcon } from '@/icon';\nimport { useCurriculumContext } from '../curriculum-context';\nimport CurriculumVideo from './curriculum-video';\nimport CurriculumReview from './curriculum-review';\nimport CurriculumAiTraning from './curriculum-ai-traning';\n\nexport function CurriculumBody(): React.ReactNode {\n const { selectedItem, selectedSectionTitle } = useCurriculumContext();\n\n switch (selectedItem.type) {\n case 'video':\n return <CurriculumVideo item={selectedItem} />;\n case 'review':\n return (\n <CurriculumReview\n item={selectedItem}\n sectionTitle={selectedSectionTitle?.title}\n />\n );\n case 'aiTraining':\n return <CurriculumAiTraning item={selectedItem}/>\n default:\n return (\n <Flex\n align=\"center\"\n direction=\"column\"\n gap=\"2\"\n height=\"100%\"\n justify=\"center\"\n width=\"100%\"\n >\n <InfoCircledIcon height={24} width={24} />\n <Typo>컨텐츠를 로딩 할 수 없습니다</Typo>\n <Typo align=\"center\" color=\"gray\" variant=\"caption\">\n {`[debug info]\n ${JSON.stringify(selectedItem)}`}\n </Typo>\n </Flex>\n );\n }\n} "],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAca,cAYL,YAZK;AALN,SAAS,iBAAkC;AAChD,QAAM,EAAE,cAAc,qBAAqB,IAAI,qBAAqB;AAEpE,UAAQ,aAAa,MAAM;AAAA,IACzB,KAAK;AACH,aAAO,oBAAC,4BAAgB,MAAM,cAAc;AAAA,IAC9C,KAAK;AACH,aACE;AAAA,QAAC;AAAA;AAAA,UACC,MAAM;AAAA,UACN,cAAc,6DAAsB;AAAA;AAAA,MACtC;AAAA,IAEF,KAAK;AACH,aAAO,oBAAC,iCAAoB,MAAM,cAAa;AAAA,IACnD;AACE,aACE;AAAA,QAAC;AAAA;AAAA,UACC,OAAM;AAAA,UACN,WAAU;AAAA,UACV,KAAI;AAAA,UACJ,QAAO;AAAA,UACP,SAAQ;AAAA,UACR,OAAM;AAAA,UAEN;AAAA,gCAAC,mBAAgB,QAAQ,IAAI,OAAO,IAAI;AAAA,YACxC,oBAAC,QAAK,0FAAgB;AAAA,YACtB,oBAAC,QAAK,OAAM,UAAS,OAAM,QAAO,SAAQ,WACvC;AAAA,cACC,KAAK,UAAU,YAAY,CAAC,IAChC;AAAA;AAAA;AAAA,MACF;AAAA,EAEN;AACF;","names":[]}
@@ -0,0 +1,99 @@
1
+ import {
2
+ Separator
3
+ } from "./chunk-HYITAA4J.js";
4
+ import {
5
+ Grid
6
+ } from "./chunk-EGEQY3KT.js";
7
+ import {
8
+ Flex
9
+ } from "./chunk-25HMMI7R.js";
10
+ import {
11
+ Badge
12
+ } from "./chunk-U3BQT7ZO.js";
13
+ import {
14
+ Box
15
+ } from "./chunk-4Y5BEXVN.js";
16
+ import {
17
+ ArrowRightIcon,
18
+ TimerIcon
19
+ } from "./chunk-R7IT4TCD.js";
20
+ import {
21
+ Heading
22
+ } from "./chunk-BESTU2AY.js";
23
+ import {
24
+ Typo
25
+ } from "./chunk-PMJIFLDT.js";
26
+
27
+ // src/app/platform/curriculum-card.tsx
28
+ import { jsx, jsxs } from "react/jsx-runtime";
29
+ function CurriculumCard(props) {
30
+ const {
31
+ title,
32
+ imgTitle,
33
+ imgSrc,
34
+ description,
35
+ runningTime,
36
+ bgColor,
37
+ onClick
38
+ } = props;
39
+ return /* @__PURE__ */ jsxs(
40
+ Grid,
41
+ {
42
+ columns: { initial: "1", sm: "275px 1fr" },
43
+ gapX: "5",
44
+ gapY: "2",
45
+ onClick,
46
+ style: { cursor: "pointer" },
47
+ children: [
48
+ /* @__PURE__ */ jsx(
49
+ Box,
50
+ {
51
+ height: "165px",
52
+ p: "3",
53
+ style: {
54
+ backgroundImage: `url(${imgSrc})`,
55
+ backgroundColor: bgColor,
56
+ backgroundPositionX: "right",
57
+ backgroundPositionY: "bottom",
58
+ backgroundRepeat: "no-repeat",
59
+ backgroundSize: "contain",
60
+ backgroundAttachment: "local"
61
+ },
62
+ width: "100%",
63
+ children: /* @__PURE__ */ jsx(Heading, { style: { whiteSpace: "break-spaces" }, variant: "heading3", children: imgTitle })
64
+ }
65
+ ),
66
+ /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: "3", children: [
67
+ /* @__PURE__ */ jsxs(Grid, { columns: { initial: "1", xs: "1fr auto" }, gapY: "3", children: [
68
+ /* @__PURE__ */ jsx(Heading, { variant: "heading4", children: title }),
69
+ /* @__PURE__ */ jsx(
70
+ Badge,
71
+ {
72
+ size: "medium",
73
+ style: { justifySelf: "flex-start" },
74
+ variant: "outline",
75
+ children: /* @__PURE__ */ jsxs(Flex, { align: "center", gap: "1", children: [
76
+ /* @__PURE__ */ jsx(TimerIcon, {}),
77
+ runningTime
78
+ ] })
79
+ }
80
+ )
81
+ ] }),
82
+ /* @__PURE__ */ jsx(Box, { style: { marginBottom: "auto" }, children: /* @__PURE__ */ jsx("ul", { style: { margin: 0, paddingLeft: 20 }, children: description == null ? void 0 : description.map((el) => {
83
+ return /* @__PURE__ */ jsx("li", { style: { marginBottom: 8 }, children: /* @__PURE__ */ jsx(Heading, { truncate: true, variant: "heading5", weight: "regular", children: el }) }, el);
84
+ }) }) }),
85
+ /* @__PURE__ */ jsx(Separator, { size: "4" }),
86
+ /* @__PURE__ */ jsxs(Flex, { align: "center", gap: "2", justify: "end", children: [
87
+ /* @__PURE__ */ jsx(Typo, { color: "gray", children: "\uAC15\uC758 \uB4E3\uACE0 \uCF54\uCE58\uB2D8\uACFC \uBB34\uC81C\uD55C Q&A" }),
88
+ /* @__PURE__ */ jsx(ArrowRightIcon, { color: "gray" })
89
+ ] })
90
+ ] })
91
+ ]
92
+ }
93
+ );
94
+ }
95
+
96
+ export {
97
+ CurriculumCard
98
+ };
99
+ //# sourceMappingURL=chunk-3GLSHF4F.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/app/platform/curriculum-card.tsx"],"sourcesContent":["import React from 'react';\nimport { Badge } from '@/atoms/badge';\nimport { Box } from '@/atoms/box';\nimport { Grid } from '@/atoms/grid';\nimport { Heading } from '@/atoms/heading';\nimport { Typo } from '@/atoms/typo';\nimport { Separator } from '@/atoms/separator';\nimport { Flex } from '@/atoms/flex';\nimport { ArrowRightIcon, TimerIcon } from '@/icon';\n\nexport interface CurriculumCardProps {\n title?: string;\n imgTitle?: string;\n imgSrc?: string;\n description?: string[];\n runningTime?: string;\n bgColor?: string;\n onClick?: () => void;\n}\n\nexport function CurriculumCard(props: CurriculumCardProps): React.ReactNode {\n const {\n title,\n imgTitle,\n imgSrc,\n description,\n runningTime,\n bgColor,\n onClick,\n } = props;\n return (\n <Grid\n columns={{ initial: '1', sm: '275px 1fr' }}\n gapX=\"5\"\n gapY=\"2\"\n onClick={onClick}\n style={{ cursor: 'pointer' }}\n >\n {/* 섬네일 */}\n <Box\n height=\"165px\"\n p=\"3\"\n style={{\n backgroundImage: `url(${imgSrc})`,\n backgroundColor: bgColor,\n backgroundPositionX: 'right',\n backgroundPositionY: 'bottom',\n backgroundRepeat: 'no-repeat',\n backgroundSize: 'contain',\n backgroundAttachment: 'local',\n }}\n width=\"100%\"\n >\n <Heading style={{ whiteSpace: 'break-spaces' }} variant=\"heading3\">\n {imgTitle}\n </Heading>\n </Box>\n {/* 텍스트 */}\n <Flex direction=\"column\" gap=\"3\">\n {/* 제목 */}\n <Grid columns={{ initial: '1', xs: '1fr auto' }} gapY=\"3\">\n <Heading variant=\"heading4\">{title}</Heading>\n <Badge\n size=\"medium\"\n style={{ justifySelf: 'flex-start' }}\n variant=\"outline\"\n >\n <Flex align=\"center\" gap=\"1\">\n <TimerIcon />\n {runningTime}\n </Flex>\n </Badge>\n </Grid>\n {/* 설명 */}\n <Box style={{ marginBottom: 'auto' }}>\n <ul style={{ margin: 0, paddingLeft: 20 }}>\n {description?.map((el) => {\n return (\n <li key={el} style={{ marginBottom: 8 }}>\n <Heading truncate variant=\"heading5\" weight=\"regular\">\n {el}\n </Heading>\n </li>\n );\n })}\n </ul>\n </Box>\n <Separator size=\"4\" />\n <Flex align=\"center\" gap=\"2\" justify=\"end\">\n <Typo color=\"gray\">강의 듣고 코치님과 무제한 Q&A</Typo>\n <ArrowRightIcon color=\"gray\" />\n </Flex>\n </Flex>\n </Grid>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAqDQ,cAcI,YAdJ;AAjCD,SAAS,eAAe,OAA6C;AAC1E,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AACJ,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAS,EAAE,SAAS,KAAK,IAAI,YAAY;AAAA,MACzC,MAAK;AAAA,MACL,MAAK;AAAA,MACL;AAAA,MACA,OAAO,EAAE,QAAQ,UAAU;AAAA,MAG3B;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,QAAO;AAAA,YACP,GAAE;AAAA,YACF,OAAO;AAAA,cACL,iBAAiB,OAAO,MAAM;AAAA,cAC9B,iBAAiB;AAAA,cACjB,qBAAqB;AAAA,cACrB,qBAAqB;AAAA,cACrB,kBAAkB;AAAA,cAClB,gBAAgB;AAAA,cAChB,sBAAsB;AAAA,YACxB;AAAA,YACA,OAAM;AAAA,YAEN,8BAAC,WAAQ,OAAO,EAAE,YAAY,eAAe,GAAG,SAAQ,YACrD,oBACH;AAAA;AAAA,QACF;AAAA,QAEA,qBAAC,QAAK,WAAU,UAAS,KAAI,KAE3B;AAAA,+BAAC,QAAK,SAAS,EAAE,SAAS,KAAK,IAAI,WAAW,GAAG,MAAK,KACpD;AAAA,gCAAC,WAAQ,SAAQ,YAAY,iBAAM;AAAA,YACnC;AAAA,cAAC;AAAA;AAAA,gBACC,MAAK;AAAA,gBACL,OAAO,EAAE,aAAa,aAAa;AAAA,gBACnC,SAAQ;AAAA,gBAER,+BAAC,QAAK,OAAM,UAAS,KAAI,KACvB;AAAA,sCAAC,aAAU;AAAA,kBACV;AAAA,mBACH;AAAA;AAAA,YACF;AAAA,aACF;AAAA,UAEA,oBAAC,OAAI,OAAO,EAAE,cAAc,OAAO,GACjC,8BAAC,QAAG,OAAO,EAAE,QAAQ,GAAG,aAAa,GAAG,GACrC,qDAAa,IAAI,CAAC,OAAO;AACxB,mBACE,oBAAC,QAAY,OAAO,EAAE,cAAc,EAAE,GACpC,8BAAC,WAAQ,UAAQ,MAAC,SAAQ,YAAW,QAAO,WACzC,cACH,KAHO,EAIT;AAAA,UAEJ,IACF,GACF;AAAA,UACA,oBAAC,aAAU,MAAK,KAAI;AAAA,UACpB,qBAAC,QAAK,OAAM,UAAS,KAAI,KAAI,SAAQ,OACnC;AAAA,gCAAC,QAAK,OAAM,QAAO,uFAAkB;AAAA,YACrC,oBAAC,kBAAe,OAAM,QAAO;AAAA,aAC/B;AAAA,WACF;AAAA;AAAA;AAAA,EACF;AAEJ;","names":[]}
@@ -0,0 +1,74 @@
1
+ import {
2
+ infoList,
3
+ renderDataListItem,
4
+ renderItem,
5
+ sessionList
6
+ } from "./chunk-JWAQUXGB.js";
7
+ import {
8
+ Separator
9
+ } from "./chunk-HYITAA4J.js";
10
+ import {
11
+ Grid
12
+ } from "./chunk-EGEQY3KT.js";
13
+ import {
14
+ DataList
15
+ } from "./chunk-VTJZMOSP.js";
16
+ import {
17
+ Flex
18
+ } from "./chunk-25HMMI7R.js";
19
+ import {
20
+ Card
21
+ } from "./chunk-RP2RGCAW.js";
22
+ import {
23
+ Box
24
+ } from "./chunk-4Y5BEXVN.js";
25
+ import {
26
+ Heading
27
+ } from "./chunk-BESTU2AY.js";
28
+ import {
29
+ Typo
30
+ } from "./chunk-PMJIFLDT.js";
31
+
32
+ // src/app/platform/userInfos/coaching-customer-info/medium.tsx
33
+ import { jsx, jsxs } from "react/jsx-runtime";
34
+ function CoachingCustomerInfoMedium({
35
+ customer,
36
+ session,
37
+ children,
38
+ badge,
39
+ onClickCopy
40
+ }) {
41
+ return /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: "5", children: [
42
+ /* @__PURE__ */ jsxs(Box, { children: [
43
+ /* @__PURE__ */ jsxs(Flex, { align: "center", justify: "between", mb: "1", width: "100%", children: [
44
+ /* @__PURE__ */ jsx(Heading, { variant: "heading2", children: (customer == null ? void 0 : customer.username) || "\uC774\uB984 \uC5C6\uC74C" }),
45
+ badge
46
+ ] }),
47
+ /* @__PURE__ */ jsx(Heading, { truncate: true, variant: "heading4", weight: "regular", children: customer == null ? void 0 : customer.company })
48
+ ] }),
49
+ children,
50
+ /* @__PURE__ */ jsx(Card, { size: "2", children: /* @__PURE__ */ jsx(DataList.Root, { orientation: "vertical", children: sessionList.map(
51
+ (el) => renderDataListItem({
52
+ info: el,
53
+ data: session,
54
+ onClickCopy
55
+ })
56
+ ) }) }),
57
+ /* @__PURE__ */ jsxs(Grid, { align: "center", columns: "auto 1fr", gap: "3", children: [
58
+ /* @__PURE__ */ jsx(Heading, { variant: "heading5", children: "\uACE0\uAC1D \uC815\uBCF4" }),
59
+ /* @__PURE__ */ jsx(Separator, { size: "4" })
60
+ ] }),
61
+ /* @__PURE__ */ jsx(Flex, { direction: "column", gap: "4", children: infoList.map((el) => {
62
+ return /* @__PURE__ */ jsx(Typo, { children: renderItem({
63
+ info: el,
64
+ data: customer,
65
+ onClickCopy
66
+ }) }, el.label);
67
+ }) })
68
+ ] });
69
+ }
70
+
71
+ export {
72
+ CoachingCustomerInfoMedium
73
+ };
74
+ //# sourceMappingURL=chunk-44VLRAHW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/app/platform/userInfos/coaching-customer-info/medium.tsx"],"sourcesContent":["import React from 'react';\nimport {\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 badge,\n onClickCopy,\n}: CoachingCustomerInfoProps): React.ReactNode {\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}\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) =>\n renderDataListItem({\n info: el,\n data: session,\n onClickCopy,\n })\n )}\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 (\n <Typo key={el.label}>\n {renderItem({\n info: el,\n data: customer,\n onClickCopy,\n })}\n </Typo>\n );\n })}\n </Flex>\n </Flex>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BQ,SACE,KADF;AAXD,SAAS,2BAA2B;AAAA,EACzC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA+C;AAC7C,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,QACC;AAAA,SACH;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;AAAA,MAAI,CAAC,OAChB,mBAAmB;AAAA,QACjB,MAAM;AAAA,QACN,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,IACH,GACF,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,aACE,oBAAC,QACE,qBAAW;AAAA,QACV,MAAM;AAAA,QACN,MAAM;AAAA,QACN;AAAA,MACF,CAAC,KALQ,GAAG,KAMd;AAAA,IAEJ,CAAC,GACH;AAAA,KACF;AAEJ;","names":[]}
@@ -0,0 +1,89 @@
1
+ import {
2
+ start_review_default
3
+ } from "./chunk-JNYTH4BZ.js";
4
+ import {
5
+ ReviewQuestion_default
6
+ } from "./chunk-NJ56ZKR4.js";
7
+ import {
8
+ complete_review_default
9
+ } from "./chunk-XEM7S4HK.js";
10
+ import {
11
+ CurriculumReviewProvider,
12
+ useCurriculumReviewContext
13
+ } from "./chunk-GMKRNFH5.js";
14
+
15
+ // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.tsx
16
+ import { jsx } from "react/jsx-runtime";
17
+ function CurriculumReviewStepsInner() {
18
+ const {
19
+ formik,
20
+ step,
21
+ handleStart,
22
+ handleNext,
23
+ handlePrev,
24
+ onClickReviewMyAnswer,
25
+ handleSubmit,
26
+ currentQuestion,
27
+ currentAnswer,
28
+ currentError,
29
+ reviewContents,
30
+ handleAnswerChange
31
+ } = useCurriculumReviewContext();
32
+ const { questions } = reviewContents;
33
+ if (step === 0) {
34
+ return /* @__PURE__ */ jsx(start_review_default, { onStart: handleStart });
35
+ }
36
+ if (step > 0 && step <= questions.length && currentQuestion) {
37
+ return /* @__PURE__ */ jsx(
38
+ ReviewQuestion_default,
39
+ {
40
+ answer: currentAnswer,
41
+ error: currentError,
42
+ index: step - 1,
43
+ isLast: step === questions.length,
44
+ isLoading: formik.isSubmitting,
45
+ isNextDisabled: currentError !== void 0,
46
+ onChange: handleAnswerChange,
47
+ onNext: handleNext,
48
+ onPrev: handlePrev,
49
+ onSubmit: handleSubmit,
50
+ question: currentQuestion,
51
+ total: questions.length
52
+ }
53
+ );
54
+ }
55
+ return /* @__PURE__ */ jsx(complete_review_default, { onClickReviewMyAnswer });
56
+ }
57
+ function CurriculumReviewSteps({
58
+ contents,
59
+ title,
60
+ onClickEndReview,
61
+ onSubmit,
62
+ defaultValues,
63
+ curriculum,
64
+ onReviewValueChange,
65
+ mode,
66
+ done
67
+ }) {
68
+ return /* @__PURE__ */ jsx(
69
+ CurriculumReviewProvider,
70
+ {
71
+ curriculum,
72
+ defaultValues,
73
+ done,
74
+ mode,
75
+ onClickEndReview,
76
+ onReviewValueChange,
77
+ onSubmit,
78
+ reviewContents: contents,
79
+ sectionTitle: title,
80
+ children: /* @__PURE__ */ jsx(CurriculumReviewStepsInner, {})
81
+ }
82
+ );
83
+ }
84
+ var CurriculumReviewSteps_default = CurriculumReviewSteps;
85
+
86
+ export {
87
+ CurriculumReviewSteps_default
88
+ };
89
+ //# sourceMappingURL=chunk-5RDI5OIK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.tsx"],"sourcesContent":["import React from 'react';\nimport { type CurriculumReviewContents } from '@/types/curriculumContents.type';\nimport type { Curriculum } from '@/types'; \nimport {\n CurriculumReviewProvider,\n useCurriculumReviewContext,\n} from './curriculum-review-context';\nimport StartReview from './start-review';\nimport CompleteReview from './complete-review';\nimport ReviewQuestion from './ReviewQuestion';\n \nfunction CurriculumReviewStepsInner(): React.ReactNode {\n const {\n formik,\n step,\n handleStart,\n handleNext,\n handlePrev,\n onClickReviewMyAnswer,\n handleSubmit,\n currentQuestion,\n currentAnswer,\n currentError,\n reviewContents,\n handleAnswerChange,\n } = useCurriculumReviewContext();\n const { questions } = reviewContents;\n\n if (step === 0) {\n return <StartReview onStart={handleStart} />;\n }\n if (step > 0 && step <= questions.length && currentQuestion) {\n return (\n <ReviewQuestion\n answer={currentAnswer}\n error={currentError}\n index={step - 1}\n isLast={step === questions.length}\n isLoading={formik.isSubmitting}\n isNextDisabled={currentError !== undefined}\n onChange={handleAnswerChange}\n onNext={handleNext}\n onPrev={handlePrev}\n onSubmit={handleSubmit}\n question={currentQuestion}\n total={questions.length}\n />\n );\n }\n return <CompleteReview onClickReviewMyAnswer={onClickReviewMyAnswer} />;\n}\n\ninterface CurriculumReviewStepsProps {\n contents: CurriculumReviewContents;\n title: string | undefined;\n onClickEndReview: () => void;\n onSubmit: (values: Record<string, string>) => Promise<boolean>;\n defaultValues?: Record<string, string>;\n curriculum: Curriculum;\n onReviewValueChange: ({\n reviewId,\n answer,\n }: {\n reviewId: string;\n answer: Record<string, string>;\n }) => void;\n mode: 'edit' | 'create';\n done: boolean; \n}\n\nfunction CurriculumReviewSteps({\n contents,\n title,\n onClickEndReview,\n onSubmit,\n defaultValues,\n curriculum,\n onReviewValueChange,\n mode,\n done,\n}: CurriculumReviewStepsProps): React.ReactNode { \n\n return (\n <CurriculumReviewProvider\n curriculum={curriculum}\n defaultValues={defaultValues}\n done={done}\n mode={mode}\n onClickEndReview={onClickEndReview}\n onReviewValueChange={onReviewValueChange}\n onSubmit={onSubmit}\n reviewContents={contents}\n sectionTitle={title}\n >\n <CurriculumReviewStepsInner />\n </CurriculumReviewProvider>\n );\n}\n\nexport default CurriculumReviewSteps;\n"],"mappings":";;;;;;;;;;;;;;;AA6BW;AAlBX,SAAS,6BAA8C;AACrD,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,2BAA2B;AAC/B,QAAM,EAAE,UAAU,IAAI;AAEtB,MAAI,SAAS,GAAG;AACd,WAAO,oBAAC,wBAAY,SAAS,aAAa;AAAA,EAC5C;AACA,MAAI,OAAO,KAAK,QAAQ,UAAU,UAAU,iBAAiB;AAC3D,WACE;AAAA,MAAC;AAAA;AAAA,QACC,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,OAAO,OAAO;AAAA,QACd,QAAQ,SAAS,UAAU;AAAA,QAC3B,WAAW,OAAO;AAAA,QAClB,gBAAgB,iBAAiB;AAAA,QACjC,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,UAAU;AAAA,QACV,OAAO,UAAU;AAAA;AAAA,IACnB;AAAA,EAEJ;AACA,SAAO,oBAAC,2BAAe,uBAA8C;AACvE;AAoBA,SAAS,sBAAsB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAgD;AAE9C,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,gBAAgB;AAAA,MAChB,cAAc;AAAA,MAEd,8BAAC,8BAA2B;AAAA;AAAA,EAC9B;AAEJ;AAEA,IAAO,gCAAQ;","names":[]}
@@ -0,0 +1,57 @@
1
+ import {
2
+ infoList,
3
+ renderDataListItem,
4
+ sessionList
5
+ } from "./chunk-JWAQUXGB.js";
6
+ import {
7
+ Separator
8
+ } from "./chunk-HYITAA4J.js";
9
+ import {
10
+ Grid
11
+ } from "./chunk-EGEQY3KT.js";
12
+ import {
13
+ DataList
14
+ } from "./chunk-VTJZMOSP.js";
15
+ import {
16
+ Flex
17
+ } from "./chunk-25HMMI7R.js";
18
+ import {
19
+ Box
20
+ } from "./chunk-4Y5BEXVN.js";
21
+ import {
22
+ Heading
23
+ } from "./chunk-BESTU2AY.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
+ onClickCopy
43
+ }) {
44
+ return /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: "6", children: [
45
+ /* @__PURE__ */ jsx(SectionWrapper, { title: "\uC138\uC158 \uC815\uBCF4", children: /* @__PURE__ */ jsx(DataList.Root, { children: sessionList.map(
46
+ (info) => renderDataListItem({ info, data: session, onClickCopy })
47
+ ) }) }),
48
+ /* @__PURE__ */ jsx(SectionWrapper, { title: "\uD68C\uC6D0 \uC815\uBCF4", children: /* @__PURE__ */ jsx(DataList.Root, { children: infoList.map(
49
+ (info) => renderDataListItem({ info, data: customer, onClickCopy })
50
+ ) }) })
51
+ ] });
52
+ }
53
+
54
+ export {
55
+ SessionUserInfoDetail
56
+ };
57
+ //# sourceMappingURL=chunk-5ZEQ33PC.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 onClickCopy: (value: string) => void;\n}\n\nfunction SectionWrapper({\n title,\n children,\n}: {\n title: string;\n children: React.ReactNode;\n}): React.ReactNode {\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 onClickCopy,\n}: SessionUserInfoDetailProps): React.ReactNode {\n return (\n <Flex direction=\"column\" gap=\"6\">\n <SectionWrapper title=\"세션 정보\">\n <DataList.Root>\n {sessionList.map((info) =>\n renderDataListItem({ info, data: session, onClickCopy })\n )}\n </DataList.Root>\n </SectionWrapper>\n\n <SectionWrapper title=\"회원 정보\">\n <DataList.Root>\n {infoList.map((info) =>\n renderDataListItem({ info, data: customer, onClickCopy })\n )}\n </DataList.Root>\n </SectionWrapper>\n </Flex>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAoBM,SACE,KADF;AATN,SAAS,eAAe;AAAA,EACtB;AAAA,EACA;AACF,GAGoB;AAClB,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;AAAA,EACA;AACF,GAAgD;AAC9C,SACE,qBAAC,QAAK,WAAU,UAAS,KAAI,KAC3B;AAAA,wBAAC,kBAAe,OAAM,6BACpB,8BAAC,SAAS,MAAT,EACE,sBAAY;AAAA,MAAI,CAAC,SAChB,mBAAmB,EAAE,MAAM,MAAM,SAAS,YAAY,CAAC;AAAA,IACzD,GACF,GACF;AAAA,IAEA,oBAAC,kBAAe,OAAM,6BACpB,8BAAC,SAAS,MAAT,EACE,mBAAS;AAAA,MAAI,CAAC,SACb,mBAAmB,EAAE,MAAM,MAAM,UAAU,YAAY,CAAC;AAAA,IAC1D,GACF,GACF;AAAA,KACF;AAEJ;","names":[]}
@@ -0,0 +1,196 @@
1
+ import {
2
+ CurriculumReviewSteps_default
3
+ } from "./chunk-OQPXX6GH.js";
4
+ import {
5
+ useCurriculumContext
6
+ } from "./chunk-IYQJIEVM.js";
7
+ import {
8
+ Dialog
9
+ } from "./chunk-JQ7VQ5SB.js";
10
+ import {
11
+ IconButton
12
+ } from "./chunk-XK6VEVOK.js";
13
+ import {
14
+ Flex
15
+ } from "./chunk-25HMMI7R.js";
16
+ import {
17
+ Button
18
+ } from "./chunk-ZVDAEY5Q.js";
19
+ import {
20
+ Box
21
+ } from "./chunk-4Y5BEXVN.js";
22
+ import {
23
+ Typo
24
+ } from "./chunk-PMJIFLDT.js";
25
+ import {
26
+ __spreadValues
27
+ } from "./chunk-CRTRMMJ7.js";
28
+
29
+ // src/molecules/curriculumV2/CurriculumContents/curriculum-review.tsx
30
+ import { useCallback, useMemo, useState } from "react";
31
+ import { Cross1Icon } from "@radix-ui/react-icons";
32
+ import { jsx, jsxs } from "react/jsx-runtime";
33
+ function CurriculumReview(props) {
34
+ const { item, sectionTitle } = props;
35
+ const { description, buttonTitle } = item;
36
+ const {
37
+ curriculum,
38
+ onReviewSubmit: _onReviewSubmit,
39
+ onReviewValueChange: _onReviewValueChange,
40
+ curriculumReviewAnswers,
41
+ tempCurriculumReviewAnswers,
42
+ curriculumCompleteMap
43
+ } = useCurriculumContext();
44
+ const [open, setOpen] = useState(false);
45
+ const [isChanged, setIsChanged] = useState(false);
46
+ const [closeDialogOpen, setCloseDialogOpen] = useState(false);
47
+ const onReviewValueChange = useCallback(
48
+ ({
49
+ reviewId,
50
+ answer
51
+ }) => {
52
+ if (curriculumReviewAnswers[reviewId] === answer[reviewId]) {
53
+ return;
54
+ }
55
+ setIsChanged(true);
56
+ _onReviewValueChange({ reviewId, answer });
57
+ },
58
+ [_onReviewValueChange, curriculumReviewAnswers]
59
+ );
60
+ const onReviewSubmit = useCallback(
61
+ (values) => {
62
+ return _onReviewSubmit({ reviewId: item.uuid, answer: values }).then(
63
+ (result) => {
64
+ setIsChanged(false);
65
+ return result;
66
+ }
67
+ );
68
+ },
69
+ [item.uuid, _onReviewSubmit]
70
+ );
71
+ const onClickEndReview = useCallback(() => {
72
+ setOpen(false);
73
+ }, []);
74
+ const onClickCloseDrawer = useCallback(() => {
75
+ if (isChanged) {
76
+ setCloseDialogOpen(true);
77
+ } else {
78
+ setOpen(false);
79
+ }
80
+ }, [isChanged]);
81
+ const mode = useMemo(() => {
82
+ return item.questions.every(
83
+ (question) => curriculumReviewAnswers[question.uuid] && curriculumReviewAnswers[question.uuid] !== ""
84
+ ) ? "edit" : "create";
85
+ }, [curriculumReviewAnswers, item.questions]);
86
+ const defaultValues = useMemo(() => {
87
+ const allAnswers = __spreadValues(__spreadValues({}, tempCurriculumReviewAnswers), curriculumReviewAnswers);
88
+ return item.questions.reduce((acc, question) => {
89
+ acc[question.uuid] = allAnswers[question.uuid] || "";
90
+ return acc;
91
+ }, {});
92
+ }, [curriculumReviewAnswers, item.questions, tempCurriculumReviewAnswers]);
93
+ const done = useMemo(() => {
94
+ return Boolean(curriculumCompleteMap[item.uuid]);
95
+ }, [curriculumCompleteMap, item.uuid]);
96
+ const bgColor = done ? "var(--color-panel-solid)" : void 0;
97
+ return /* @__PURE__ */ jsxs(Dialog.Root, { onOpenChange: setOpen, open, children: [
98
+ /* @__PURE__ */ jsxs(
99
+ Flex,
100
+ {
101
+ align: "center",
102
+ direction: "column",
103
+ height: "100%",
104
+ justify: "center",
105
+ px: "3",
106
+ py: "3",
107
+ style: {
108
+ backgroundImage: `url(https://tipp-coaching-live.s3.ap-northeast-2.amazonaws.com/images/curriculum_review_bg.png)`,
109
+ backgroundPosition: "center",
110
+ backgroundSize: "cover",
111
+ backgroundRepeat: "no-repeat"
112
+ },
113
+ width: "100%",
114
+ children: [
115
+ /* @__PURE__ */ jsx(Typo, { color: "gray", weight: "bold", children: curriculum.title }),
116
+ /* @__PURE__ */ jsx(Typo, { align: "center", as: "p", color: "gray", children: description }),
117
+ /* @__PURE__ */ jsx(Dialog.Trigger, { children: /* @__PURE__ */ jsx(
118
+ Button,
119
+ {
120
+ mt: "3",
121
+ style: { minWidth: 232, backgroundColor: bgColor },
122
+ variant: done ? "outline" : "solid",
123
+ children: /* @__PURE__ */ jsx(Typo, { truncate: true, children: done ? "\uB098\uC758 \uC751\uB2F5 \uB2E4\uC2DC\uBCF4\uAE30" : buttonTitle })
124
+ }
125
+ ) })
126
+ ]
127
+ }
128
+ ),
129
+ /* @__PURE__ */ jsx(
130
+ Dialog.Content,
131
+ {
132
+ height: "100%",
133
+ hideCloseButton: true,
134
+ style: { borderRadius: 0, padding: 0 },
135
+ title: "",
136
+ width: "100%",
137
+ children: /* @__PURE__ */ jsxs(
138
+ Flex,
139
+ {
140
+ align: "center",
141
+ height: "100%",
142
+ justify: "center",
143
+ pb: "3",
144
+ position: "relative",
145
+ width: "100%",
146
+ children: [
147
+ /* @__PURE__ */ jsx(
148
+ CurriculumReviewSteps_default,
149
+ {
150
+ contents: item,
151
+ curriculum,
152
+ defaultValues,
153
+ done,
154
+ mode,
155
+ onClickEndReview,
156
+ onReviewValueChange,
157
+ onSubmit: onReviewSubmit,
158
+ title: sectionTitle
159
+ }
160
+ ),
161
+ /* @__PURE__ */ jsx(Box, { position: "absolute", right: "16px", top: "16px", children: /* @__PURE__ */ jsxs(
162
+ IconButton,
163
+ {
164
+ color: "gray",
165
+ onClick: onClickCloseDrawer,
166
+ variant: "ghost",
167
+ children: [
168
+ /* @__PURE__ */ jsx(Box, { display: { initial: "none", md: "block" }, children: /* @__PURE__ */ jsx(Cross1Icon, { height: 20, width: 20 }) }),
169
+ /* @__PURE__ */ jsx(Box, { display: { initial: "block", md: "none" }, children: /* @__PURE__ */ jsx(Cross1Icon, { height: 16, width: 16 }) })
170
+ ]
171
+ }
172
+ ) }),
173
+ /* @__PURE__ */ jsx(Dialog.Root, { onOpenChange: setCloseDialogOpen, open: closeDialogOpen, children: /* @__PURE__ */ jsx(
174
+ Dialog.Content,
175
+ {
176
+ buttons: /* @__PURE__ */ jsxs(Flex, { gap: "3", justify: "end", children: [
177
+ /* @__PURE__ */ jsx(Dialog.Close, { asChild: true, children: /* @__PURE__ */ jsx(Button, { color: "gray", variant: "outline", children: "\uB3CC\uC544\uAC00\uAE30" }) }),
178
+ /* @__PURE__ */ jsx(Dialog.Close, { children: /* @__PURE__ */ jsx(Button, { color: "red", onClick: onClickEndReview, children: "\uB098\uAC00\uAE30" }) })
179
+ ] }),
180
+ title: "\uC791\uC131\uC744 \uC911\uB2E8\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",
181
+ children: /* @__PURE__ */ jsx(Typo, { children: "\uD398\uC774\uC9C0\uC5D0\uC11C \uBC97\uC5B4\uB098\uBA74 \uC791\uC131\uD55C \uB0B4\uC6A9\uC774 \uC800\uC7A5\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4." })
182
+ }
183
+ ) })
184
+ ]
185
+ }
186
+ )
187
+ }
188
+ )
189
+ ] });
190
+ }
191
+ var curriculum_review_default = CurriculumReview;
192
+
193
+ export {
194
+ curriculum_review_default
195
+ };
196
+ //# sourceMappingURL=chunk-7AHPQJD2.js.map