@tipp/ui 2.3.3 → 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 (201) hide show
  1. package/dist/app/index.cjs.map +1 -1
  2. package/dist/app/index.js +90 -90
  3. package/dist/app/platform/coach-question-list.cjs.map +1 -1
  4. package/dist/app/platform/coach-question-list.js +30 -30
  5. package/dist/app/platform/contents-card.cjs.map +1 -1
  6. package/dist/app/platform/contents-card.js +30 -30
  7. package/dist/app/platform/curriculum-card.js +7 -7
  8. package/dist/app/platform/edit-coaching-time.cjs.map +1 -1
  9. package/dist/app/platform/edit-coaching-time.js +72 -72
  10. package/dist/app/platform/edit-service-type.cjs.map +1 -1
  11. package/dist/app/platform/edit-service-type.js +73 -73
  12. package/dist/app/platform/goal-manage-card-edit.cjs.map +1 -1
  13. package/dist/app/platform/goal-manage-card-edit.js +72 -72
  14. package/dist/app/platform/goal-manage-card-read.cjs.map +1 -1
  15. package/dist/app/platform/goal-manage-card-read.js +30 -30
  16. package/dist/app/platform/on-offline-radio-card.cjs.map +1 -1
  17. package/dist/app/platform/on-offline-radio-card.js +72 -72
  18. package/dist/app/platform/report-card.cjs.map +1 -1
  19. package/dist/app/platform/report-card.js +30 -30
  20. package/dist/app/platform/reservation-card.cjs.map +1 -1
  21. package/dist/app/platform/reservation-card.js +73 -73
  22. package/dist/app/platform/session-card.cjs.map +1 -1
  23. package/dist/app/platform/session-card.js +75 -75
  24. package/dist/app/platform/session-review-simple-read.cjs.map +1 -1
  25. package/dist/app/platform/session-review-simple-read.js +30 -30
  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 +35 -35
  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 +30 -30
  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 +30 -30
  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 +30 -30
  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 +30 -30
  36. package/dist/app/platform/userInfos/utils.cjs.map +1 -1
  37. package/dist/app/platform/userInfos/utils.js +29 -29
  38. package/dist/atoms/bullet-text.js +2 -2
  39. package/dist/atoms/dialog.js +2 -2
  40. package/dist/atoms/drawer.cjs +8 -14
  41. package/dist/atoms/drawer.cjs.map +1 -1
  42. package/dist/atoms/drawer.js +1 -2
  43. package/dist/atoms/field-error-wrapper.js +2 -2
  44. package/dist/atoms/index.cjs +3 -6
  45. package/dist/atoms/index.cjs.map +1 -1
  46. package/dist/atoms/index.js +63 -63
  47. package/dist/atoms/list.js +2 -2
  48. package/dist/atoms/pagination.js +3 -3
  49. package/dist/chunk-2QHFHCXL.js +64 -0
  50. package/dist/chunk-2QHFHCXL.js.map +1 -0
  51. package/dist/chunk-2ZAUZRYP.js +51 -0
  52. package/dist/chunk-2ZAUZRYP.js.map +1 -0
  53. package/dist/chunk-3GLSHF4F.js +99 -0
  54. package/dist/chunk-3GLSHF4F.js.map +1 -0
  55. package/dist/chunk-3UB5MADH.js +63 -0
  56. package/dist/chunk-3UB5MADH.js.map +1 -0
  57. package/dist/chunk-3XVQJ43L.js +69 -0
  58. package/dist/chunk-3XVQJ43L.js.map +1 -0
  59. package/dist/chunk-44VLRAHW.js +74 -0
  60. package/dist/chunk-44VLRAHW.js.map +1 -0
  61. package/dist/chunk-4H6OYVRA.js +64 -0
  62. package/dist/chunk-4H6OYVRA.js.map +1 -0
  63. package/dist/chunk-5773MYBI.js +89 -0
  64. package/dist/chunk-5773MYBI.js.map +1 -0
  65. package/dist/chunk-5RDI5OIK.js +89 -0
  66. package/dist/chunk-5RDI5OIK.js.map +1 -0
  67. package/dist/chunk-5ZEQ33PC.js +57 -0
  68. package/dist/chunk-5ZEQ33PC.js.map +1 -0
  69. package/dist/chunk-7AHPQJD2.js +196 -0
  70. package/dist/chunk-7AHPQJD2.js.map +1 -0
  71. package/dist/chunk-7PTZCSIA.js +144 -0
  72. package/dist/chunk-7PTZCSIA.js.map +1 -0
  73. package/dist/chunk-7ZMY4CAZ.js +30 -0
  74. package/dist/chunk-7ZMY4CAZ.js.map +1 -0
  75. package/dist/chunk-AGDS5FTY.js +30 -0
  76. package/dist/chunk-AGDS5FTY.js.map +1 -0
  77. package/dist/chunk-AQVIQODP.js +69 -0
  78. package/dist/chunk-AQVIQODP.js.map +1 -0
  79. package/dist/chunk-CQSM6JCO.js +65 -0
  80. package/dist/chunk-CQSM6JCO.js.map +1 -0
  81. package/dist/chunk-DGXKSYZ2.js +144 -0
  82. package/dist/chunk-DGXKSYZ2.js.map +1 -0
  83. package/dist/chunk-ECMGWPU5.js +174 -0
  84. package/dist/chunk-ECMGWPU5.js.map +1 -0
  85. package/dist/chunk-EDDPJB52.js +61 -0
  86. package/dist/chunk-EDDPJB52.js.map +1 -0
  87. package/dist/chunk-FD6QZZQY.js +69 -0
  88. package/dist/chunk-FD6QZZQY.js.map +1 -0
  89. package/dist/chunk-FGNKLXJK.js +165 -0
  90. package/dist/chunk-FGNKLXJK.js.map +1 -0
  91. package/dist/chunk-FT27KFX7.js +145 -0
  92. package/dist/chunk-FT27KFX7.js.map +1 -0
  93. package/dist/chunk-G52YPZRU.js +95 -0
  94. package/dist/chunk-G52YPZRU.js.map +1 -0
  95. package/dist/chunk-JNYTH4BZ.js +151 -0
  96. package/dist/chunk-JNYTH4BZ.js.map +1 -0
  97. package/dist/chunk-JQ7VQ5SB.js +137 -0
  98. package/dist/chunk-JQ7VQ5SB.js.map +1 -0
  99. package/dist/chunk-K4JKFIA2.js +196 -0
  100. package/dist/chunk-K4JKFIA2.js.map +1 -0
  101. package/dist/chunk-KFICWJI6.js +61 -0
  102. package/dist/chunk-KFICWJI6.js.map +1 -0
  103. package/dist/chunk-KLCL7FKY.js +196 -0
  104. package/dist/chunk-KLCL7FKY.js.map +1 -0
  105. package/dist/chunk-KO6ZM4XB.js +37 -0
  106. package/dist/chunk-KO6ZM4XB.js.map +1 -0
  107. package/dist/chunk-LKEYLW4N.js +174 -0
  108. package/dist/chunk-LKEYLW4N.js.map +1 -0
  109. package/dist/chunk-LNRB4XMK.js +87 -0
  110. package/dist/chunk-LNRB4XMK.js.map +1 -0
  111. package/dist/chunk-LWLKHIDE.js +51 -0
  112. package/dist/chunk-LWLKHIDE.js.map +1 -0
  113. package/dist/chunk-MBMREYHZ.js +174 -0
  114. package/dist/chunk-MBMREYHZ.js.map +1 -0
  115. package/dist/chunk-NJ56ZKR4.js +63 -0
  116. package/dist/chunk-NJ56ZKR4.js.map +1 -0
  117. package/dist/chunk-OQPXX6GH.js +89 -0
  118. package/dist/chunk-OQPXX6GH.js.map +1 -0
  119. package/dist/chunk-ORQ4NCWG.js +63 -0
  120. package/dist/chunk-ORQ4NCWG.js.map +1 -0
  121. package/dist/chunk-OW53EUJW.js +95 -0
  122. package/dist/chunk-OW53EUJW.js.map +1 -0
  123. package/dist/chunk-QB73IVKI.js +43 -0
  124. package/dist/chunk-QB73IVKI.js.map +1 -0
  125. package/dist/chunk-QFEZIPWJ.js +64 -0
  126. package/dist/chunk-QFEZIPWJ.js.map +1 -0
  127. package/dist/chunk-RYK2ILB2.js +105 -0
  128. package/dist/chunk-RYK2ILB2.js.map +1 -0
  129. package/dist/chunk-S2M6OJER.js +95 -0
  130. package/dist/chunk-S2M6OJER.js.map +1 -0
  131. package/dist/chunk-SYGLFURC.js +49 -0
  132. package/dist/chunk-SYGLFURC.js.map +1 -0
  133. package/dist/chunk-SZA3RAKD.js +51 -0
  134. package/dist/chunk-SZA3RAKD.js.map +1 -0
  135. package/dist/chunk-T4O3ONUV.js +64 -0
  136. package/dist/chunk-T4O3ONUV.js.map +1 -0
  137. package/dist/chunk-T6BKRGZ7.js +54 -0
  138. package/dist/chunk-T6BKRGZ7.js.map +1 -0
  139. package/dist/chunk-UCBF57MG.js +196 -0
  140. package/dist/chunk-UCBF57MG.js.map +1 -0
  141. package/dist/chunk-UIY4HDKD.js +144 -0
  142. package/dist/chunk-UIY4HDKD.js.map +1 -0
  143. package/dist/chunk-UWM72J67.js +151 -0
  144. package/dist/chunk-UWM72J67.js.map +1 -0
  145. package/dist/chunk-VIKHKUHF.js +89 -0
  146. package/dist/chunk-VIKHKUHF.js.map +1 -0
  147. package/dist/chunk-W6LDMZNY.js +29 -0
  148. package/dist/chunk-W6LDMZNY.js.map +1 -0
  149. package/dist/chunk-WPRRJQOM.js +61 -0
  150. package/dist/chunk-WPRRJQOM.js.map +1 -0
  151. package/dist/chunk-WS7IOHVK.js +51 -0
  152. package/dist/chunk-WS7IOHVK.js.map +1 -0
  153. package/dist/chunk-YZ7LP3PU.js +101 -0
  154. package/dist/chunk-YZ7LP3PU.js.map +1 -0
  155. package/dist/chunk-ZADYUJIV.js +64 -0
  156. package/dist/chunk-ZADYUJIV.js.map +1 -0
  157. package/dist/context/index.js +5 -5
  158. package/dist/index.cjs +3 -6
  159. package/dist/index.cjs.map +1 -1
  160. package/dist/index.css +12 -0
  161. package/dist/index.js +150 -150
  162. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.js +16 -16
  163. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.js +4 -4
  164. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.js +9 -9
  165. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-footer.js +2 -2
  166. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-header.js +3 -3
  167. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-layout.js +3 -3
  168. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.js +5 -5
  169. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.js +5 -5
  170. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.js +5 -5
  171. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.js +5 -5
  172. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.js +4 -4
  173. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.js +20 -20
  174. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.js +7 -7
  175. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.js +3 -3
  176. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.js +22 -22
  177. package/dist/molecules/curriculumV2/CurriculumContents/index.js +26 -26
  178. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-item-title.js +2 -2
  179. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-sidebar-item-wrapper.js +2 -2
  180. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-item.js +4 -4
  181. package/dist/molecules/curriculumV2/CurriculumSidebar/index.js +9 -9
  182. package/dist/molecules/curriculumV2/CurriculumSidebar/sidebar-item.js +7 -7
  183. package/dist/molecules/curriculumV2/curriculum-sub-nav.js +4 -4
  184. package/dist/molecules/curriculumV2/curriculum-v2-layout.js +3 -3
  185. package/dist/molecules/curriculumV2/index.js +37 -37
  186. package/dist/molecules/date-picker/date-picker-button.js +6 -6
  187. package/dist/molecules/date-picker/index.js +5 -5
  188. package/dist/molecules/download-card.js +2 -2
  189. package/dist/molecules/dynamic-field.js +4 -4
  190. package/dist/molecules/dynamic-form.js +5 -5
  191. package/dist/molecules/expand-table/index.js +4 -4
  192. package/dist/molecules/force-refresh.js +2 -2
  193. package/dist/molecules/ghost-post.js +4 -4
  194. package/dist/molecules/index.js +72 -72
  195. package/dist/molecules/learning-post.js +5 -5
  196. package/dist/molecules/navigation.js +3 -3
  197. package/dist/molecules/one-on-one-guide-list.js +3 -3
  198. package/dist/molecules/stepper.js +4 -4
  199. package/dist/molecules/tag-selector.js +5 -5
  200. package/package.json +1 -1
  201. package/src/atoms/drawer.tsx +17 -18
@@ -0,0 +1,89 @@
1
+ import {
2
+ start_review_default
3
+ } from "./chunk-M46CNRFQ.js";
4
+ import {
5
+ ReviewQuestion_default
6
+ } from "./chunk-NYDG7SPN.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-OQPXX6GH.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,63 @@
1
+ import {
2
+ review_question_footer_default
3
+ } from "./chunk-5NA6TNVC.js";
4
+ import {
5
+ review_question_header_default
6
+ } from "./chunk-VREM33BW.js";
7
+ import {
8
+ review_question_layout_default
9
+ } from "./chunk-X2Y2UWY2.js";
10
+ import {
11
+ review_question_body_default
12
+ } from "./chunk-3XVQJ43L.js";
13
+
14
+ // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.tsx
15
+ import { jsx } from "react/jsx-runtime";
16
+ function ReviewQuestion({
17
+ question,
18
+ index,
19
+ total,
20
+ answer,
21
+ error,
22
+ onChange,
23
+ onNext,
24
+ onPrev,
25
+ isLast,
26
+ isNextDisabled,
27
+ onSubmit,
28
+ isLoading
29
+ }) {
30
+ return /* @__PURE__ */ jsx(
31
+ review_question_layout_default,
32
+ {
33
+ Body: /* @__PURE__ */ jsx(
34
+ review_question_body_default,
35
+ {
36
+ answer,
37
+ error,
38
+ onChange,
39
+ question
40
+ }
41
+ ),
42
+ Footer: /* @__PURE__ */ jsx(
43
+ review_question_footer_default,
44
+ {
45
+ index,
46
+ isLast,
47
+ isLoading,
48
+ isNextButtonDisabled: isNextDisabled,
49
+ onNext,
50
+ onPrev,
51
+ onSubmit
52
+ }
53
+ ),
54
+ Header: /* @__PURE__ */ jsx(review_question_header_default, { index, total })
55
+ }
56
+ );
57
+ }
58
+ var ReviewQuestion_default = ReviewQuestion;
59
+
60
+ export {
61
+ ReviewQuestion_default
62
+ };
63
+ //# sourceMappingURL=chunk-ORQ4NCWG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.tsx"],"sourcesContent":["import React from 'react';\nimport type { ReviewQuestionElement } from '@/types/curriculum.type';\nimport ReviewQuestionLayout from './review-question-layout';\nimport ReviewQuestionHeader from './review-question-header';\nimport ReviewQuestionFooter from './review-question-footer';\nimport ReviewQuestionBody from './review-question-body';\n\ninterface ReviewQuestionProps {\n question: ReviewQuestionElement;\n index: number;\n total: number;\n answer: string;\n error?: string;\n onChange: (value: string) => void;\n onNext: () => void;\n onPrev: () => void;\n isLast: boolean;\n isNextDisabled?: boolean;\n onSubmit: () => void;\n isLoading?: boolean;\n}\n\nfunction ReviewQuestion({\n question,\n index,\n total,\n answer,\n error,\n onChange,\n onNext,\n onPrev,\n isLast,\n isNextDisabled,\n onSubmit,\n isLoading,\n}: ReviewQuestionProps): React.ReactElement {\n \n return (\n <ReviewQuestionLayout\n Body={\n <ReviewQuestionBody\n answer={answer}\n error={error}\n onChange={onChange}\n question={question}\n />\n }\n Footer={\n <ReviewQuestionFooter\n index={index}\n isLast={isLast}\n isLoading={isLoading}\n isNextButtonDisabled={isNextDisabled}\n onNext={onNext}\n onPrev={onPrev}\n onSubmit={onSubmit}\n />\n }\n Header={<ReviewQuestionHeader index={index} total={total} />}\n />\n );\n}\n\nexport default ReviewQuestion;\n"],"mappings":";;;;;;;;;;;;;;AAwCQ;AAlBR,SAAS,eAAe;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA4C;AAE1C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MACE;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA;AAAA,MACF;AAAA,MAEF,QACE;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA,sBAAsB;AAAA,UACtB;AAAA,UACA;AAAA,UACA;AAAA;AAAA,MACF;AAAA,MAEF,QAAQ,oBAAC,kCAAqB,OAAc,OAAc;AAAA;AAAA,EAC5D;AAEJ;AAEA,IAAO,yBAAQ;","names":[]}
@@ -0,0 +1,95 @@
1
+ import {
2
+ ClosePanelArrowIcon
3
+ } from "./chunk-645GPOW2.js";
4
+ import {
5
+ usePortalContainer
6
+ } from "./chunk-U7N2PWMO.js";
7
+ import {
8
+ IconButton
9
+ } from "./chunk-XK6VEVOK.js";
10
+ import {
11
+ Flex
12
+ } from "./chunk-25HMMI7R.js";
13
+ import {
14
+ __objRest,
15
+ __spreadProps,
16
+ __spreadValues
17
+ } from "./chunk-CRTRMMJ7.js";
18
+
19
+ // src/atoms/drawer.tsx
20
+ import * as Dialog from "@radix-ui/react-dialog";
21
+ import { Grid, Theme } from "@radix-ui/themes";
22
+ import { jsx, jsxs } from "react/jsx-runtime";
23
+ function Root2(props) {
24
+ return /* @__PURE__ */ jsx(Dialog.Root, __spreadValues({}, props));
25
+ }
26
+ var preventDefault = (e) => {
27
+ e.preventDefault();
28
+ };
29
+ function Content2(props) {
30
+ const _a = props, {
31
+ position = "right",
32
+ className,
33
+ children,
34
+ HeaderContent,
35
+ hideHeader
36
+ } = _a, rest = __objRest(_a, [
37
+ "position",
38
+ "className",
39
+ "children",
40
+ "HeaderContent",
41
+ "hideHeader"
42
+ ]);
43
+ const mobileHeaderSize = 48;
44
+ const desktopHeaderSize = 64;
45
+ const separatorSize = 1;
46
+ const { drawerContainerRef } = usePortalContainer();
47
+ return /* @__PURE__ */ jsx(Dialog.Portal, { container: drawerContainerRef.current, children: /* @__PURE__ */ jsxs(Theme, { children: [
48
+ /* @__PURE__ */ jsx(Dialog.Overlay, { className: "DrawerOverlay" }),
49
+ /* @__PURE__ */ jsx(
50
+ Dialog.Content,
51
+ __spreadProps(__spreadValues({
52
+ className: `DrawerContent ${position} ${className || ""}`,
53
+ onPointerDownOutside: preventDefault
54
+ }, rest), {
55
+ children: /* @__PURE__ */ jsxs(
56
+ Grid,
57
+ {
58
+ height: "100%",
59
+ overflow: "hidden",
60
+ rows: hideHeader ? "1" : {
61
+ initial: `${mobileHeaderSize}px ${separatorSize}px calc(100% - ${mobileHeaderSize + separatorSize}px)`,
62
+ sm: `${desktopHeaderSize}px ${separatorSize}px calc(100% - ${desktopHeaderSize + separatorSize}px)`
63
+ },
64
+ children: [
65
+ !hideHeader && /* @__PURE__ */ jsxs(Flex, { align: "center", gap: "3", px: { initial: "4", md: "6" }, children: [
66
+ /* @__PURE__ */ jsx(Dialog.Close, { asChild: true, children: /* @__PURE__ */ jsx(IconButton, { color: "gray", variant: "outline", children: /* @__PURE__ */ jsx(ClosePanelArrowIcon, {}) }) }),
67
+ HeaderContent
68
+ ] }),
69
+ children
70
+ ]
71
+ }
72
+ )
73
+ })
74
+ )
75
+ ] }) });
76
+ }
77
+ function Trigger2(props) {
78
+ return /* @__PURE__ */ jsx(Dialog.Trigger, __spreadValues({ asChild: true }, props));
79
+ }
80
+ var Drawer = {
81
+ Root: Dialog.Root,
82
+ Trigger: Trigger2,
83
+ Content: Content2,
84
+ Close: Dialog.Close,
85
+ Title: Dialog.Title,
86
+ Description: Dialog.Description
87
+ };
88
+
89
+ export {
90
+ Root2 as Root,
91
+ Content2 as Content,
92
+ Trigger2 as Trigger,
93
+ Drawer
94
+ };
95
+ //# sourceMappingURL=chunk-OW53EUJW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/atoms/drawer.tsx"],"sourcesContent":["import React from 'react';\nimport * as Dialog from '@radix-ui/react-dialog';\nimport { Grid, Theme } from '@radix-ui/themes';\nimport { usePortalContainer } from '@/theme/portal-provider';\nimport { ClosePanelArrowIcon } from '../icons/close-panel-arrow';\nimport { Flex } from './flex';\nimport { Separator } from './separator';\nimport { IconButton } from './icon-button';\n\nexport function Root(props: Dialog.DialogProps): React.ReactNode {\n return <Dialog.Root {...props} />;\n}\n\ntype ContentProps = Dialog.DialogContentProps & {\n /** Drawer가 붙는 위치, 기본값 right */\n position?: 'left' | 'right' | 'bottom' | 'top';\n HeaderContent?: React.ReactNode;\n hideHeader?: boolean;\n};\n\nconst preventDefault: Dialog.DialogContentProps['onPointerDownOutside'] = (\n e\n) => {\n e.preventDefault();\n};\n\nexport function Content(props: ContentProps): React.ReactNode {\n const {\n position = 'right',\n className,\n children,\n HeaderContent,\n hideHeader,\n ...rest\n } = props;\n\n const mobileHeaderSize = 48;\n const desktopHeaderSize = 64;\n const separatorSize = 1;\n const { drawerContainerRef } = usePortalContainer();\n\n return (\n <Dialog.Portal container={drawerContainerRef.current}>\n <Theme>\n <Dialog.Overlay className=\"DrawerOverlay\" />\n <Dialog.Content\n className={`DrawerContent ${position} ${className || ''}`}\n onPointerDownOutside={preventDefault}\n {...rest}\n >\n <Grid\n height=\"100%\"\n overflow=\"hidden\"\n rows={\n hideHeader\n ? '1'\n : {\n initial: `${mobileHeaderSize}px ${separatorSize}px calc(100% - ${mobileHeaderSize + separatorSize}px)`,\n sm: `${desktopHeaderSize}px ${separatorSize}px calc(100% - ${desktopHeaderSize + separatorSize}px)`,\n }\n }\n >\n {!hideHeader && (\n <Flex align=\"center\" gap=\"3\" px={{ initial: '4', md: '6' }}>\n <Dialog.Close asChild>\n <IconButton color=\"gray\" variant=\"outline\">\n <ClosePanelArrowIcon />\n </IconButton>\n </Dialog.Close>\n {HeaderContent}\n </Flex>\n )}\n {children}\n </Grid>\n </Dialog.Content>\n </Theme>\n </Dialog.Portal>\n );\n}\n\nexport function Trigger(props: Dialog.DialogTriggerProps): React.ReactNode {\n return <Dialog.Trigger asChild {...props} />;\n}\n\nexport const Drawer = {\n Root: Dialog.Root,\n Trigger,\n Content,\n Close: Dialog.Close,\n Title: Dialog.Title,\n Description: Dialog.Description,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;AACA,YAAY,YAAY;AACxB,SAAS,MAAM,aAAa;AAQnB,cAqDK,YArDL;AADF,SAASA,MAAK,OAA4C;AAC/D,SAAO,oBAAQ,aAAP,mBAAgB,MAAO;AACjC;AASA,IAAM,iBAAoE,CACxE,MACG;AACH,IAAE,eAAe;AACnB;AAEO,SAASC,SAAQ,OAAsC;AAC5D,QAOI,YANF;AAAA,eAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAhCJ,IAkCM,IADC,iBACD,IADC;AAAA,IALH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAIF,QAAM,mBAAmB;AACzB,QAAM,oBAAoB;AAC1B,QAAM,gBAAgB;AACtB,QAAM,EAAE,mBAAmB,IAAI,mBAAmB;AAElD,SACE,oBAAQ,eAAP,EAAc,WAAW,mBAAmB,SAC3C,+BAAC,SACC;AAAA,wBAAQ,gBAAP,EAAe,WAAU,iBAAgB;AAAA,IAC1C;AAAA,MAAQ;AAAA,MAAP;AAAA,QACC,WAAW,iBAAiB,QAAQ,IAAI,aAAa,EAAE;AAAA,QACvD,sBAAsB;AAAA,SAClB,OAHL;AAAA,QAKC;AAAA,UAAC;AAAA;AAAA,YACC,QAAO;AAAA,YACP,UAAS;AAAA,YACT,MACE,aACI,MACA;AAAA,cACE,SAAS,GAAG,gBAAgB,MAAM,aAAa,kBAAkB,mBAAmB,aAAa;AAAA,cACjG,IAAI,GAAG,iBAAiB,MAAM,aAAa,kBAAkB,oBAAoB,aAAa;AAAA,YAChG;AAAA,YAGL;AAAA,eAAC,cACA,qBAAC,QAAK,OAAM,UAAS,KAAI,KAAI,IAAI,EAAE,SAAS,KAAK,IAAI,IAAI,GACrD;AAAA,oCAAQ,cAAP,EAAa,SAAO,MACnB,8BAAC,cAAW,OAAM,QAAO,SAAQ,WAC/B,8BAAC,uBAAoB,GACvB,GACF;AAAA,gBACC;AAAA,iBACH;AAAA,cAEH;AAAA;AAAA;AAAA,QACH;AAAA;AAAA,IACF;AAAA,KACF,GACF;AAEJ;AAEO,SAASC,SAAQ,OAAmD;AACzE,SAAO,oBAAQ,gBAAP,iBAAe,SAAO,QAAK,MAAO;AAC5C;AAEO,IAAM,SAAS;AAAA,EACpB,MAAa;AAAA,EACb,SAAAA;AAAA,EACA,SAAAD;AAAA,EACA,OAAc;AAAA,EACd,OAAc;AAAA,EACd,aAAoB;AACtB;","names":["Root","Content","Trigger"]}
@@ -0,0 +1,43 @@
1
+ import {
2
+ getCurriculumIcon,
3
+ getCurriculumQuestionIconColor
4
+ } from "./chunk-RYK2ILB2.js";
5
+ import {
6
+ Box
7
+ } from "./chunk-4Y5BEXVN.js";
8
+ import {
9
+ Typo
10
+ } from "./chunk-PMJIFLDT.js";
11
+ import {
12
+ Flex
13
+ } from "./chunk-25HMMI7R.js";
14
+
15
+ // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.tsx
16
+ import { jsx, jsxs } from "react/jsx-runtime";
17
+ function ReviewQuestionContentHeader({
18
+ type,
19
+ title,
20
+ question,
21
+ icon
22
+ }) {
23
+ const Icon = getCurriculumIcon({ type, icon });
24
+ return /* @__PURE__ */ jsxs(Box, { children: [
25
+ /* @__PURE__ */ jsxs(Flex, { gap: "2", mb: "3", children: [
26
+ /* @__PURE__ */ jsx(Box, { children: /* @__PURE__ */ jsx(
27
+ Icon,
28
+ {
29
+ color: getCurriculumQuestionIconColor(type),
30
+ height: "16",
31
+ width: "16"
32
+ }
33
+ ) }),
34
+ /* @__PURE__ */ jsx(Typo, { color: "gray", weight: "bold", children: title })
35
+ ] }),
36
+ /* @__PURE__ */ jsx(Typo, { as: "p", color: "gray", children: question })
37
+ ] });
38
+ }
39
+
40
+ export {
41
+ ReviewQuestionContentHeader
42
+ };
43
+ //# sourceMappingURL=chunk-QB73IVKI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.tsx"],"sourcesContent":["import React from 'react';\nimport { Box } from '@/atoms/box';\nimport { Flex } from '@/atoms/flex';\nimport { Typo } from '@/atoms/typo';\nimport { getCurriculumIcon , getCurriculumQuestionIconColor } from '@/utils/curriculum.utils';\n\ninterface ReviewQuestionContentHeaderProps {\n type: string;\n title: string;\n question: string;\n icon?: string;\n}\n\nexport function ReviewQuestionContentHeader({\n type,\n title,\n question,\n icon,\n}: ReviewQuestionContentHeaderProps): React.ReactNode {\n const Icon = getCurriculumIcon({ type, icon });\n\n return (\n <Box>\n <Flex gap=\"2\" mb=\"3\">\n <Box>\n <Icon\n color={getCurriculumQuestionIconColor(type)}\n height=\"16\"\n width=\"16\"\n />\n </Box>\n <Typo color=\"gray\" weight=\"bold\">\n {title}\n </Typo>\n </Flex>\n <Typo as=\"p\" color=\"gray\">\n {question}\n </Typo>\n </Box>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;AAuBM,SAEI,KAFJ;AAVC,SAAS,4BAA4B;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAsD;AACpD,QAAM,OAAO,kBAAkB,EAAE,MAAM,KAAK,CAAC;AAE7C,SACE,qBAAC,OACC;AAAA,yBAAC,QAAK,KAAI,KAAI,IAAG,KACf;AAAA,0BAAC,OACC;AAAA,QAAC;AAAA;AAAA,UACC,OAAO,+BAA+B,IAAI;AAAA,UAC1C,QAAO;AAAA,UACP,OAAM;AAAA;AAAA,MACR,GACF;AAAA,MACA,oBAAC,QAAK,OAAM,QAAO,QAAO,QACvB,iBACH;AAAA,OACF;AAAA,IACA,oBAAC,QAAK,IAAG,KAAI,OAAM,QAChB,oBACH;AAAA,KACF;AAEJ;","names":[]}
@@ -0,0 +1,64 @@
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
+ DataList
11
+ } from "./chunk-VTJZMOSP.js";
12
+ import {
13
+ Flex
14
+ } from "./chunk-25HMMI7R.js";
15
+ import {
16
+ Card
17
+ } from "./chunk-RP2RGCAW.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/coaching-customer-info/large.tsx
26
+ import { jsx, jsxs } from "react/jsx-runtime";
27
+ function CoachingCustomerInfoLarge({
28
+ customer,
29
+ session,
30
+ children,
31
+ badge,
32
+ onClickCopy
33
+ }) {
34
+ return /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: "5", children: [
35
+ /* @__PURE__ */ jsxs(Box, { children: [
36
+ /* @__PURE__ */ jsxs(Flex, { align: "center", justify: "between", mb: "1", width: "100%", children: [
37
+ /* @__PURE__ */ jsx(Heading, { variant: "heading2", children: (customer == null ? void 0 : customer.username) || "\uC774\uB984 \uC5C6\uC74C" }),
38
+ badge
39
+ ] }),
40
+ /* @__PURE__ */ jsx(Heading, { truncate: true, variant: "heading4", weight: "regular", children: customer == null ? void 0 : customer.company })
41
+ ] }),
42
+ children,
43
+ /* @__PURE__ */ jsx(Card, { size: "2", children: /* @__PURE__ */ jsx(DataList.Root, { children: sessionList.map(
44
+ (el) => renderDataListItem({
45
+ info: el,
46
+ data: session,
47
+ onClickCopy
48
+ })
49
+ ) }) }),
50
+ /* @__PURE__ */ jsx(Separator, { size: "4" }),
51
+ /* @__PURE__ */ jsx(DataList.Root, { children: infoList.map(
52
+ (info) => renderDataListItem({
53
+ info,
54
+ data: customer,
55
+ onClickCopy
56
+ })
57
+ ) })
58
+ ] });
59
+ }
60
+
61
+ export {
62
+ CoachingCustomerInfoLarge
63
+ };
64
+ //# sourceMappingURL=chunk-QFEZIPWJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/app/platform/userInfos/coaching-customer-info/large.tsx"],"sourcesContent":["import React from 'react';\nimport {\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 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>\n {sessionList.map((el) =>\n renderDataListItem({\n info: el,\n data: session,\n onClickCopy,\n })\n )}\n </DataList.Root>\n </Card>\n\n {/* 회원 정보 */}\n <Separator size=\"4\" />\n <DataList.Root>\n {infoList.map((info) =>\n renderDataListItem({\n info,\n data: customer,\n onClickCopy,\n })\n )}\n </DataList.Root>\n </Flex>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAuBQ,SACE,KADF;AAXD,SAAS,0BAA0B;AAAA,EACxC;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,EACE,sBAAY;AAAA,MAAI,CAAC,OAChB,mBAAmB;AAAA,QACjB,MAAM;AAAA,QACN,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,IACH,GACF,GACF;AAAA,IAGA,oBAAC,aAAU,MAAK,KAAI;AAAA,IACpB,oBAAC,SAAS,MAAT,EACE,mBAAS;AAAA,MAAI,CAAC,SACb,mBAAmB;AAAA,QACjB;AAAA,QACA,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,IACH,GACF;AAAA,KACF;AAEJ;","names":[]}
@@ -0,0 +1,105 @@
1
+ import {
2
+ CircleCheckIcon
3
+ } from "./chunk-YVFNJE4E.js";
4
+ import {
5
+ CirclePencilIcon
6
+ } from "./chunk-J2I3R3OV.js";
7
+ import {
8
+ CirclePlayIcon
9
+ } from "./chunk-QO6KO6MN.js";
10
+ import {
11
+ CircleQuoteIcon
12
+ } from "./chunk-5KNRHIIF.js";
13
+ import {
14
+ CircleSatisfactionIcon
15
+ } from "./chunk-6JRAI4G5.js";
16
+ import {
17
+ CircleChatIcon
18
+ } from "./chunk-ZUYCXCPW.js";
19
+
20
+ // src/utils/curriculum.utils.ts
21
+ var CurriculumListIcons = {
22
+ pencil: CirclePencilIcon,
23
+ video: CirclePlayIcon,
24
+ quote: CircleQuoteIcon,
25
+ check: CircleCheckIcon,
26
+ star: CircleSatisfactionIcon
27
+ };
28
+ var getCurriculumIcon = ({
29
+ type,
30
+ icon
31
+ }) => {
32
+ if (icon && Object.prototype.hasOwnProperty.call(CurriculumListIcons, icon)) {
33
+ return CurriculumListIcons[icon];
34
+ }
35
+ switch (type) {
36
+ case "video":
37
+ return CirclePlayIcon;
38
+ case "question_text":
39
+ return CircleQuoteIcon;
40
+ case "question_radio":
41
+ return CircleCheckIcon;
42
+ case "question_satisfaction_option":
43
+ case "question_satisfaction_text":
44
+ return CircleSatisfactionIcon;
45
+ case "aiTraining":
46
+ return CircleChatIcon;
47
+ case "review":
48
+ default:
49
+ return CirclePencilIcon;
50
+ }
51
+ };
52
+ var getCurriculumIconColor = ({
53
+ done = false,
54
+ selected = false
55
+ }) => {
56
+ if (selected) {
57
+ return "#D5AE39";
58
+ }
59
+ if (done) {
60
+ return "#30A46C";
61
+ }
62
+ return "#D9D9E0";
63
+ };
64
+ var getCurriculumQuestionIconColor = (type) => {
65
+ switch (type) {
66
+ case "question_text":
67
+ return "#D5AE39";
68
+ case "question_radio":
69
+ return "#30A46C";
70
+ default:
71
+ return "#D9D9E0";
72
+ }
73
+ };
74
+ var getCurriculumQuestionTypeDescription = (type) => {
75
+ switch (type) {
76
+ case "question_text":
77
+ return "\uC8FC\uAD00\uC2DD";
78
+ case "question_radio":
79
+ return "\uAC1D\uAD00\uC2DD";
80
+ default:
81
+ return "";
82
+ }
83
+ };
84
+ var getCurriculumContentSubTypeText = (type) => {
85
+ switch (type) {
86
+ case "video":
87
+ return "\uC601\uC0C1";
88
+ case "review":
89
+ return "\uB9AC\uBDF0";
90
+ case "aiTraining":
91
+ return "AI \uD2B8\uB808\uC774\uB2DD";
92
+ default:
93
+ return "";
94
+ }
95
+ };
96
+
97
+ export {
98
+ CurriculumListIcons,
99
+ getCurriculumIcon,
100
+ getCurriculumIconColor,
101
+ getCurriculumQuestionIconColor,
102
+ getCurriculumQuestionTypeDescription,
103
+ getCurriculumContentSubTypeText
104
+ };
105
+ //# sourceMappingURL=chunk-RYK2ILB2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/curriculum.utils.ts"],"sourcesContent":["import { \n CircleChatIcon,\n CircleCheckIcon,\n CirclePencilIcon,\n CirclePlayIcon,\n CircleQuoteIcon,\n CircleSatisfactionIcon\n} from '@/icon';\n\nexport const CurriculumListIcons = {\n pencil: CirclePencilIcon,\n video: CirclePlayIcon,\n quote: CircleQuoteIcon,\n check: CircleCheckIcon,\n star: CircleSatisfactionIcon,\n};\n\nexport const getCurriculumIcon = ({\n type,\n icon,\n}: {\n type: string;\n icon?: string;\n}): typeof CirclePlayIcon => {\n if (icon && Object.prototype.hasOwnProperty.call(CurriculumListIcons, icon)) {\n return CurriculumListIcons[icon as keyof typeof CurriculumListIcons];\n }\n\n switch (type) {\n case 'video':\n return CirclePlayIcon;\n case 'question_text':\n return CircleQuoteIcon;\n case 'question_radio':\n return CircleCheckIcon;\n case 'question_satisfaction_option':\n case 'question_satisfaction_text':\n return CircleSatisfactionIcon;\n case 'aiTraining':\n return CircleChatIcon;\n case 'review':\n default:\n return CirclePencilIcon;\n }\n};\n\nexport const getCurriculumIconColor = ({\n done = false,\n selected = false,\n}: {\n done?: boolean;\n selected?: boolean;\n}): string => {\n if (selected) {\n return '#D5AE39';\n }\n if (done) {\n return '#30A46C';\n }\n return '#D9D9E0';\n};\n\nexport const getCurriculumQuestionIconColor = (type: string): string => {\n switch (type) {\n case 'question_text':\n return '#D5AE39';\n case 'question_radio':\n return '#30A46C';\n default:\n return '#D9D9E0';\n }\n};\n\nexport const getCurriculumQuestionTypeDescription = (type: string): string => {\n switch (type) {\n case 'question_text':\n return '주관식';\n case 'question_radio':\n return '객관식';\n default:\n return '';\n }\n};\n\nexport const getCurriculumContentSubTypeText = (type: string): string => {\n switch (type) {\n case 'video':\n return '영상';\n case 'review':\n return '리뷰';\n case 'aiTraining':\n return 'AI 트레이닝';\n default:\n return '';\n }\n};\n \n"],"mappings":";;;;;;;;;;;;;;;;;;;;AASO,IAAM,sBAAsB;AAAA,EACjC,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,MAAM;AACR;AAEO,IAAM,oBAAoB,CAAC;AAAA,EAChC;AAAA,EACA;AACF,MAG6B;AAC3B,MAAI,QAAQ,OAAO,UAAU,eAAe,KAAK,qBAAqB,IAAI,GAAG;AAC3E,WAAO,oBAAoB,IAAwC;AAAA,EACrE;AAEA,UAAQ,MAAM;AAAA,IACZ,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL;AACE,aAAO;AAAA,EACX;AACF;AAEO,IAAM,yBAAyB,CAAC;AAAA,EACrC,OAAO;AAAA,EACP,WAAW;AACb,MAGc;AACZ,MAAI,UAAU;AACZ,WAAO;AAAA,EACT;AACA,MAAI,MAAM;AACR,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAEO,IAAM,iCAAiC,CAAC,SAAyB;AACtE,UAAQ,MAAM;AAAA,IACZ,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;AAEO,IAAM,uCAAuC,CAAC,SAAyB;AAC5E,UAAQ,MAAM;AAAA,IACZ,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;AAEO,IAAM,kCAAkC,CAAC,SAAyB;AACvE,UAAQ,MAAM;AAAA,IACZ,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;","names":[]}
@@ -0,0 +1,95 @@
1
+ import {
2
+ ClosePanelArrowIcon
3
+ } from "./chunk-645GPOW2.js";
4
+ import {
5
+ usePortalContainer
6
+ } from "./chunk-U7N2PWMO.js";
7
+ import {
8
+ IconButton
9
+ } from "./chunk-XK6VEVOK.js";
10
+ import {
11
+ Flex
12
+ } from "./chunk-25HMMI7R.js";
13
+ import {
14
+ __objRest,
15
+ __spreadProps,
16
+ __spreadValues
17
+ } from "./chunk-CRTRMMJ7.js";
18
+
19
+ // src/atoms/drawer.tsx
20
+ import * as Dialog from "@radix-ui/react-dialog";
21
+ import { Grid, Theme } from "@radix-ui/themes";
22
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
23
+ function Root2(props) {
24
+ return /* @__PURE__ */ jsx(Dialog.Root, __spreadValues({}, props));
25
+ }
26
+ var preventDefault = (e) => {
27
+ e.preventDefault();
28
+ };
29
+ function Content2(props) {
30
+ const _a = props, {
31
+ position = "right",
32
+ className,
33
+ children,
34
+ HeaderContent,
35
+ hideHeader
36
+ } = _a, rest = __objRest(_a, [
37
+ "position",
38
+ "className",
39
+ "children",
40
+ "HeaderContent",
41
+ "hideHeader"
42
+ ]);
43
+ const mobileHeaderSize = 48;
44
+ const desktopHeaderSize = 64;
45
+ const separatorSize = 1;
46
+ const { drawerContainerRef } = usePortalContainer();
47
+ return /* @__PURE__ */ jsx(Dialog.Portal, { container: drawerContainerRef.current, children: /* @__PURE__ */ jsxs(Theme, { children: [
48
+ /* @__PURE__ */ jsx(Dialog.Overlay, { className: "DrawerOverlay" }),
49
+ /* @__PURE__ */ jsx(
50
+ Dialog.Content,
51
+ __spreadProps(__spreadValues({
52
+ className: `DrawerContent ${position} ${className || ""}`,
53
+ onPointerDownOutside: preventDefault
54
+ }, rest), {
55
+ children: /* @__PURE__ */ jsxs(
56
+ Grid,
57
+ {
58
+ height: "100%",
59
+ overflow: "hidden",
60
+ rows: hideHeader ? "1" : {
61
+ initial: `${mobileHeaderSize}px ${separatorSize}px calc(100% - ${mobileHeaderSize + separatorSize}px)`,
62
+ sm: `${desktopHeaderSize}px ${separatorSize}px calc(100% - ${desktopHeaderSize + separatorSize}px)`
63
+ },
64
+ children: [
65
+ !hideHeader && /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(Flex, { align: "center", gap: "3", px: { initial: "4", md: "6" }, children: [
66
+ /* @__PURE__ */ jsx(Dialog.Close, { asChild: true, children: /* @__PURE__ */ jsx(IconButton, { color: "gray", variant: "outline", children: /* @__PURE__ */ jsx(ClosePanelArrowIcon, {}) }) }),
67
+ HeaderContent
68
+ ] }) }),
69
+ children
70
+ ]
71
+ }
72
+ )
73
+ })
74
+ )
75
+ ] }) });
76
+ }
77
+ function Trigger2(props) {
78
+ return /* @__PURE__ */ jsx(Dialog.Trigger, __spreadValues({ asChild: true }, props));
79
+ }
80
+ var Drawer = {
81
+ Root: Dialog.Root,
82
+ Trigger: Trigger2,
83
+ Content: Content2,
84
+ Close: Dialog.Close,
85
+ Title: Dialog.Title,
86
+ Description: Dialog.Description
87
+ };
88
+
89
+ export {
90
+ Root2 as Root,
91
+ Content2 as Content,
92
+ Trigger2 as Trigger,
93
+ Drawer
94
+ };
95
+ //# sourceMappingURL=chunk-S2M6OJER.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/atoms/drawer.tsx"],"sourcesContent":["import React from 'react';\nimport * as Dialog from '@radix-ui/react-dialog';\nimport { Grid, Theme } from '@radix-ui/themes';\nimport { usePortalContainer } from '@/theme/portal-provider';\nimport { ClosePanelArrowIcon } from '../icons/close-panel-arrow';\nimport { Flex } from './flex';\nimport { Separator } from './separator';\nimport { IconButton } from './icon-button';\n\nexport function Root(props: Dialog.DialogProps): React.ReactNode {\n return <Dialog.Root {...props} />;\n}\n\ntype ContentProps = Dialog.DialogContentProps & {\n /** Drawer가 붙는 위치, 기본값 right */\n position?: 'left' | 'right' | 'bottom' | 'top';\n HeaderContent?: React.ReactNode;\n hideHeader?: boolean;\n};\n\nconst preventDefault: Dialog.DialogContentProps['onPointerDownOutside'] = (\n e\n) => {\n e.preventDefault();\n};\n\nexport function Content(props: ContentProps): React.ReactNode {\n const {\n position = 'right',\n className,\n children,\n HeaderContent,\n hideHeader,\n ...rest\n } = props;\n\n const mobileHeaderSize = 48;\n const desktopHeaderSize = 64;\n const separatorSize = 1;\n const { drawerContainerRef } = usePortalContainer();\n\n return (\n <Dialog.Portal container={drawerContainerRef.current}>\n <Theme>\n <Dialog.Overlay className=\"DrawerOverlay\" />\n <Dialog.Content\n className={`DrawerContent ${position} ${className || ''}`}\n onPointerDownOutside={preventDefault}\n {...rest}\n >\n <Grid\n height=\"100%\"\n overflow=\"hidden\"\n rows={\n hideHeader\n ? '1'\n : {\n initial: `${mobileHeaderSize}px ${separatorSize}px calc(100% - ${mobileHeaderSize + separatorSize}px)`,\n sm: `${desktopHeaderSize}px ${separatorSize}px calc(100% - ${desktopHeaderSize + separatorSize}px)`,\n }\n }\n >\n {!hideHeader && (\n <>\n <Flex align=\"center\" gap=\"3\" px={{ initial: '4', md: '6' }}>\n <Dialog.Close asChild>\n <IconButton color=\"gray\" variant=\"outline\">\n <ClosePanelArrowIcon />\n </IconButton>\n </Dialog.Close>\n {HeaderContent}\n </Flex>\n </>\n )}\n {children}\n </Grid>\n </Dialog.Content>\n </Theme>\n </Dialog.Portal>\n );\n}\n\nexport function Trigger(props: Dialog.DialogTriggerProps): React.ReactNode {\n return <Dialog.Trigger asChild {...props} />;\n}\n\nexport const Drawer = {\n Root: Dialog.Root,\n Trigger,\n Content,\n Close: Dialog.Close,\n Title: Dialog.Title,\n Description: Dialog.Description,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;AACA,YAAY,YAAY;AACxB,SAAS,MAAM,aAAa;AAQnB,SAqDK,UArDL,KAsDO,YAtDP;AADF,SAASA,MAAK,OAA4C;AAC/D,SAAO,oBAAQ,aAAP,mBAAgB,MAAO;AACjC;AASA,IAAM,iBAAoE,CACxE,MACG;AACH,IAAE,eAAe;AACnB;AAEO,SAASC,SAAQ,OAAsC;AAC5D,QAOI,YANF;AAAA,eAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAhCJ,IAkCM,IADC,iBACD,IADC;AAAA,IALH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAIF,QAAM,mBAAmB;AACzB,QAAM,oBAAoB;AAC1B,QAAM,gBAAgB;AACtB,QAAM,EAAE,mBAAmB,IAAI,mBAAmB;AAElD,SACE,oBAAQ,eAAP,EAAc,WAAW,mBAAmB,SAC3C,+BAAC,SACC;AAAA,wBAAQ,gBAAP,EAAe,WAAU,iBAAgB;AAAA,IAC1C;AAAA,MAAQ;AAAA,MAAP;AAAA,QACC,WAAW,iBAAiB,QAAQ,IAAI,aAAa,EAAE;AAAA,QACvD,sBAAsB;AAAA,SAClB,OAHL;AAAA,QAKC;AAAA,UAAC;AAAA;AAAA,YACC,QAAO;AAAA,YACP,UAAS;AAAA,YACT,MACE,aACI,MACA;AAAA,cACE,SAAS,GAAG,gBAAgB,MAAM,aAAa,kBAAkB,mBAAmB,aAAa;AAAA,cACjG,IAAI,GAAG,iBAAiB,MAAM,aAAa,kBAAkB,oBAAoB,aAAa;AAAA,YAChG;AAAA,YAGL;AAAA,eAAC,cACA,gCACE,+BAAC,QAAK,OAAM,UAAS,KAAI,KAAI,IAAI,EAAE,SAAS,KAAK,IAAI,IAAI,GACvD;AAAA,oCAAQ,cAAP,EAAa,SAAO,MACnB,8BAAC,cAAW,OAAM,QAAO,SAAQ,WAC/B,8BAAC,uBAAoB,GACvB,GACF;AAAA,gBACC;AAAA,iBACH,GACF;AAAA,cAED;AAAA;AAAA;AAAA,QACH;AAAA;AAAA,IACF;AAAA,KACF,GACF;AAEJ;AAEO,SAASC,SAAQ,OAAmD;AACzE,SAAO,oBAAQ,gBAAP,iBAAe,SAAO,QAAK,MAAO;AAC5C;AAEO,IAAM,SAAS;AAAA,EACpB,MAAa;AAAA,EACb,SAAAA;AAAA,EACA,SAAAD;AAAA,EACA,OAAc;AAAA,EACd,OAAc;AAAA,EACd,aAAoB;AACtB;","names":["Root","Content","Trigger"]}
@@ -0,0 +1,49 @@
1
+ import {
2
+ ReviewQuestionContentHeader
3
+ } from "./chunk-QB73IVKI.js";
4
+ import {
5
+ TextArea
6
+ } from "./chunk-5XYPLDI5.js";
7
+ import {
8
+ Grid
9
+ } from "./chunk-EGEQY3KT.js";
10
+ import {
11
+ Card
12
+ } from "./chunk-RP2RGCAW.js";
13
+
14
+ // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.tsx
15
+ import { jsx, jsxs } from "react/jsx-runtime";
16
+ function ReviewQuestionSatisfisText(props) {
17
+ var _a, _b;
18
+ const { question, answer, onChange } = props;
19
+ return /* @__PURE__ */ jsx(Card, { size: "2", style: { height: "100%", width: "100%" }, children: /* @__PURE__ */ jsxs(Grid, { height: "100%", rows: "auto 1fr", children: [
20
+ /* @__PURE__ */ jsx(
21
+ ReviewQuestionContentHeader,
22
+ {
23
+ icon: question.icon,
24
+ question: (_a = question.question) != null ? _a : "\uC774\uBC88 \uD559\uC2B5\uC5D0 \uB300\uD574 \uCD94\uAC00\uB85C \uB0A8\uAE38 \uC758\uACAC\uC774 \uC788\uB2E4\uBA74 \uACF5\uC720\uD574\uC8FC\uC138\uC694.",
25
+ title: (_b = question.title) != null ? _b : "\uB9CC\uC871\uB3C4 \uC870\uC0AC",
26
+ type: question.type
27
+ }
28
+ ),
29
+ /* @__PURE__ */ jsx(
30
+ TextArea,
31
+ {
32
+ mt: "2",
33
+ onChange: (e) => {
34
+ onChange(e.target.value);
35
+ },
36
+ placeholder: question.placeholder,
37
+ style: {
38
+ height: "100%"
39
+ },
40
+ value: answer
41
+ }
42
+ )
43
+ ] }) });
44
+ }
45
+
46
+ export {
47
+ ReviewQuestionSatisfisText
48
+ };
49
+ //# sourceMappingURL=chunk-SYGLFURC.js.map