@tipp/ui 2.3.33 → 2.3.35

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 (195) hide show
  1. package/dist/app/index.cjs +456 -198
  2. package/dist/app/index.cjs.map +1 -1
  3. package/dist/app/index.js +72 -71
  4. package/dist/app/platform/coach-question-list.cjs +12 -4
  5. package/dist/app/platform/coach-question-list.cjs.map +1 -1
  6. package/dist/app/platform/coach-question-list.js +27 -27
  7. package/dist/app/platform/contents-card.cjs +12 -4
  8. package/dist/app/platform/contents-card.cjs.map +1 -1
  9. package/dist/app/platform/contents-card.js +27 -27
  10. package/dist/app/platform/curriculum-card.js +2 -2
  11. package/dist/app/platform/edit-coaching-time.cjs +286 -28
  12. package/dist/app/platform/edit-coaching-time.cjs.map +1 -1
  13. package/dist/app/platform/edit-coaching-time.js +55 -54
  14. package/dist/app/platform/edit-service-type.cjs +281 -23
  15. package/dist/app/platform/edit-service-type.cjs.map +1 -1
  16. package/dist/app/platform/edit-service-type.js +55 -54
  17. package/dist/app/platform/goal-manage-card-edit.cjs +289 -31
  18. package/dist/app/platform/goal-manage-card-edit.cjs.map +1 -1
  19. package/dist/app/platform/goal-manage-card-edit.js +56 -55
  20. package/dist/app/platform/goal-manage-card-read.cjs +12 -4
  21. package/dist/app/platform/goal-manage-card-read.cjs.map +1 -1
  22. package/dist/app/platform/goal-manage-card-read.js +27 -27
  23. package/dist/app/platform/on-offline-radio-card.cjs +314 -54
  24. package/dist/app/platform/on-offline-radio-card.cjs.map +1 -1
  25. package/dist/app/platform/on-offline-radio-card.js +55 -54
  26. package/dist/app/platform/report-card.cjs +12 -4
  27. package/dist/app/platform/report-card.cjs.map +1 -1
  28. package/dist/app/platform/report-card.js +27 -27
  29. package/dist/app/platform/reservation-card.cjs +305 -47
  30. package/dist/app/platform/reservation-card.cjs.map +1 -1
  31. package/dist/app/platform/reservation-card.js +56 -55
  32. package/dist/app/platform/session-card.cjs +331 -73
  33. package/dist/app/platform/session-card.cjs.map +1 -1
  34. package/dist/app/platform/session-card.js +57 -56
  35. package/dist/app/platform/session-review-simple-read.cjs +12 -4
  36. package/dist/app/platform/session-review-simple-read.cjs.map +1 -1
  37. package/dist/app/platform/session-review-simple-read.js +27 -27
  38. package/dist/app/platform/userInfos/coaching-customer-info/index.cjs +12 -4
  39. package/dist/app/platform/userInfos/coaching-customer-info/index.cjs.map +1 -1
  40. package/dist/app/platform/userInfos/coaching-customer-info/index.js +29 -29
  41. package/dist/app/platform/userInfos/coaching-customer-info/large.cjs +12 -4
  42. package/dist/app/platform/userInfos/coaching-customer-info/large.cjs.map +1 -1
  43. package/dist/app/platform/userInfos/coaching-customer-info/large.js +27 -27
  44. package/dist/app/platform/userInfos/coaching-customer-info/medium.cjs +12 -4
  45. package/dist/app/platform/userInfos/coaching-customer-info/medium.cjs.map +1 -1
  46. package/dist/app/platform/userInfos/coaching-customer-info/medium.js +27 -27
  47. package/dist/app/platform/userInfos/coaching-customer-info/small.cjs +12 -4
  48. package/dist/app/platform/userInfos/coaching-customer-info/small.cjs.map +1 -1
  49. package/dist/app/platform/userInfos/coaching-customer-info/small.js +26 -26
  50. package/dist/app/platform/userInfos/session-user-info-detail.cjs +12 -4
  51. package/dist/app/platform/userInfos/session-user-info-detail.cjs.map +1 -1
  52. package/dist/app/platform/userInfos/session-user-info-detail.js +26 -26
  53. package/dist/app/platform/userInfos/utils.cjs +12 -4
  54. package/dist/app/platform/userInfos/utils.cjs.map +1 -1
  55. package/dist/app/platform/userInfos/utils.js +26 -26
  56. package/dist/atoms/dropdown-menu.cjs +9 -1
  57. package/dist/atoms/dropdown-menu.cjs.map +1 -1
  58. package/dist/atoms/dropdown-menu.d.cts +4 -1
  59. package/dist/atoms/dropdown-menu.d.ts +4 -1
  60. package/dist/atoms/dropdown-menu.js +1 -1
  61. package/dist/atoms/index.cjs +29 -11
  62. package/dist/atoms/index.cjs.map +1 -1
  63. package/dist/atoms/index.js +61 -61
  64. package/dist/atoms/pagination.cjs +14 -4
  65. package/dist/atoms/pagination.cjs.map +1 -1
  66. package/dist/atoms/pagination.js +1 -1
  67. package/dist/{chunk-HLL4QJJY.js → chunk-2TNZVHXZ.js} +5 -5
  68. package/dist/{chunk-GXWE3QNN.js → chunk-2U7C7J5P.js} +4 -4
  69. package/dist/{chunk-ZVSATS4O.js → chunk-5OLJJUMC.js} +7 -7
  70. package/dist/{chunk-SSSGPTRM.js → chunk-5TZNUXBT.js} +4 -4
  71. package/dist/{chunk-GXPEADVY.js → chunk-5WX7CODZ.js} +7 -7
  72. package/dist/{chunk-KD6EXWP7.js → chunk-62HSZXVT.js} +4 -4
  73. package/dist/{chunk-RFXVHZAN.js → chunk-64XYTE54.js} +4 -4
  74. package/dist/{chunk-TTVJOFG5.js → chunk-6MQMVYEP.js} +3 -3
  75. package/dist/{chunk-3WNHPKHP.js → chunk-7R5KG7SJ.js} +7 -7
  76. package/dist/{chunk-6UXCNYVO.js → chunk-7R65MUL6.js} +4 -4
  77. package/dist/{chunk-MIATMZDP.js → chunk-AA6OYHCE.js} +4 -4
  78. package/dist/{chunk-CI2XFT7Y.js → chunk-AYWPBD4T.js} +4 -4
  79. package/dist/{chunk-4QHXYLE4.js → chunk-CIQ7ELE6.js} +4 -4
  80. package/dist/{chunk-SNPAB3HJ.js → chunk-DWBYAHIR.js} +4 -4
  81. package/dist/{chunk-WOAZK56Z.js → chunk-ESM3HX57.js} +5 -5
  82. package/dist/{chunk-SACH3XVV.js → chunk-F7JSPN5P.js} +4 -4
  83. package/dist/{chunk-MFIOT62L.js → chunk-F7LTJOOC.js} +22 -6
  84. package/dist/chunk-F7LTJOOC.js.map +1 -0
  85. package/dist/{chunk-KCAOUZCT.js → chunk-GTO7GG2K.js} +2 -2
  86. package/dist/{chunk-MPZJH3PI.js → chunk-HTNDVNLQ.js} +4 -4
  87. package/dist/{chunk-PWTMDEL2.js → chunk-LATTGN7W.js} +7 -7
  88. package/dist/chunk-LSDD4TAP.js +276 -0
  89. package/dist/chunk-LSDD4TAP.js.map +1 -0
  90. package/dist/{chunk-JFJ3N4V5.js → chunk-NTJLECYY.js} +4 -4
  91. package/dist/{chunk-GXG26SHU.js → chunk-OILH5J7Q.js} +4 -4
  92. package/dist/{chunk-PD7RTFGB.js → chunk-P5GENHKO.js} +10 -10
  93. package/dist/{chunk-TB3ZF5TJ.js → chunk-PGUDVR3V.js} +2 -2
  94. package/dist/{chunk-BFRNEBJN.js → chunk-QEDJOAP6.js} +4 -4
  95. package/dist/{chunk-3Z2XZ4ZG.js → chunk-QKZTZUWP.js} +4 -4
  96. package/dist/{chunk-3JRHAKLV.js → chunk-RM5CQ77X.js} +7 -7
  97. package/dist/{chunk-D4U2MCJG.js → chunk-SMLC2O3V.js} +10 -2
  98. package/dist/chunk-SMLC2O3V.js.map +1 -0
  99. package/dist/{chunk-R3ZYNS4D.js → chunk-SRZK4OC5.js} +2 -2
  100. package/dist/chunk-SYMOHU2B.js +1 -0
  101. package/dist/{chunk-XXMZLXDE.js → chunk-TCFXG4AX.js} +7 -7
  102. package/dist/{chunk-I5RQ5T4B.js → chunk-U3FBMFRL.js} +10 -10
  103. package/dist/{chunk-5J4YHHVX.js → chunk-V3F7KAR6.js} +19 -5
  104. package/dist/chunk-V3F7KAR6.js.map +1 -0
  105. package/dist/{chunk-3DEAIJBF.js → chunk-WH6QD4SY.js} +10 -10
  106. package/dist/{chunk-BKYPABII.js → chunk-YPEB36YK.js} +5 -5
  107. package/dist/{chunk-JRSZNGFD.js → chunk-ZA4NYPSW.js} +5 -5
  108. package/dist/context/index.js +1 -1
  109. package/dist/index.cjs +576 -296
  110. package/dist/index.cjs.map +1 -1
  111. package/dist/index.d.cts +1 -0
  112. package/dist/index.d.ts +1 -0
  113. package/dist/index.js +131 -127
  114. package/dist/molecules/autocomplete-textfield.cjs +417 -0
  115. package/dist/molecules/autocomplete-textfield.cjs.map +1 -0
  116. package/dist/molecules/autocomplete-textfield.d.cts +26 -0
  117. package/dist/molecules/autocomplete-textfield.d.ts +26 -0
  118. package/dist/molecules/autocomplete-textfield.js +12 -0
  119. package/dist/molecules/autocomplete-textfield.js.map +1 -0
  120. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.js +8 -8
  121. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.js +6 -6
  122. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.js +2 -2
  123. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.js +2 -2
  124. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.js +1 -1
  125. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.js +3 -3
  126. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.js +11 -11
  127. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.js +2 -2
  128. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.js +12 -12
  129. package/dist/molecules/curriculumV2/CurriculumContents/index.js +14 -14
  130. package/dist/molecules/curriculumV2/CurriculumSidebar/index.js +1 -1
  131. package/dist/molecules/curriculumV2/index.js +15 -15
  132. package/dist/molecules/description-json-render.js +2 -2
  133. package/dist/molecules/dynamic-field.js +3 -3
  134. package/dist/molecules/dynamic-form-editor-field-editor-panel.js +3 -3
  135. package/dist/molecules/dynamic-form-editor-field-list-panel.js +2 -2
  136. package/dist/molecules/dynamic-form-editor-issues-panel.js +2 -2
  137. package/dist/molecules/dynamic-form-editor-preview-panel.js +6 -6
  138. package/dist/molecules/dynamic-form-editor.js +11 -11
  139. package/dist/molecules/dynamic-form.js +4 -4
  140. package/dist/molecules/expand-table/index.cjs +26 -6
  141. package/dist/molecules/expand-table/index.cjs.map +1 -1
  142. package/dist/molecules/expand-table/index.d.cts +2 -0
  143. package/dist/molecules/expand-table/index.d.ts +2 -0
  144. package/dist/molecules/expand-table/index.js +3 -3
  145. package/dist/molecules/index.cjs +312 -6
  146. package/dist/molecules/index.cjs.map +1 -1
  147. package/dist/molecules/index.d.cts +2 -0
  148. package/dist/molecules/index.d.ts +2 -0
  149. package/dist/molecules/index.js +52 -47
  150. package/dist/molecules/learning-post.js +2 -2
  151. package/dist/molecules/stepper.js +2 -2
  152. package/dist/molecules/tag-selector.js +3 -3
  153. package/package.json +1 -1
  154. package/src/atoms/dropdown-menu.tsx +13 -0
  155. package/src/atoms/pagination.tsx +23 -5
  156. package/src/molecules/autocomplete-textfield.tsx +302 -0
  157. package/src/molecules/expand-table/index.tsx +16 -3
  158. package/src/molecules/index.ts +2 -1
  159. package/dist/chunk-5J4YHHVX.js.map +0 -1
  160. package/dist/chunk-D4U2MCJG.js.map +0 -1
  161. package/dist/chunk-MFIOT62L.js.map +0 -1
  162. package/dist/chunk-YWYYPYBK.js +0 -1
  163. /package/dist/{chunk-HLL4QJJY.js.map → chunk-2TNZVHXZ.js.map} +0 -0
  164. /package/dist/{chunk-GXWE3QNN.js.map → chunk-2U7C7J5P.js.map} +0 -0
  165. /package/dist/{chunk-ZVSATS4O.js.map → chunk-5OLJJUMC.js.map} +0 -0
  166. /package/dist/{chunk-SSSGPTRM.js.map → chunk-5TZNUXBT.js.map} +0 -0
  167. /package/dist/{chunk-GXPEADVY.js.map → chunk-5WX7CODZ.js.map} +0 -0
  168. /package/dist/{chunk-KD6EXWP7.js.map → chunk-62HSZXVT.js.map} +0 -0
  169. /package/dist/{chunk-RFXVHZAN.js.map → chunk-64XYTE54.js.map} +0 -0
  170. /package/dist/{chunk-TTVJOFG5.js.map → chunk-6MQMVYEP.js.map} +0 -0
  171. /package/dist/{chunk-3WNHPKHP.js.map → chunk-7R5KG7SJ.js.map} +0 -0
  172. /package/dist/{chunk-6UXCNYVO.js.map → chunk-7R65MUL6.js.map} +0 -0
  173. /package/dist/{chunk-MIATMZDP.js.map → chunk-AA6OYHCE.js.map} +0 -0
  174. /package/dist/{chunk-CI2XFT7Y.js.map → chunk-AYWPBD4T.js.map} +0 -0
  175. /package/dist/{chunk-4QHXYLE4.js.map → chunk-CIQ7ELE6.js.map} +0 -0
  176. /package/dist/{chunk-SNPAB3HJ.js.map → chunk-DWBYAHIR.js.map} +0 -0
  177. /package/dist/{chunk-WOAZK56Z.js.map → chunk-ESM3HX57.js.map} +0 -0
  178. /package/dist/{chunk-SACH3XVV.js.map → chunk-F7JSPN5P.js.map} +0 -0
  179. /package/dist/{chunk-KCAOUZCT.js.map → chunk-GTO7GG2K.js.map} +0 -0
  180. /package/dist/{chunk-MPZJH3PI.js.map → chunk-HTNDVNLQ.js.map} +0 -0
  181. /package/dist/{chunk-PWTMDEL2.js.map → chunk-LATTGN7W.js.map} +0 -0
  182. /package/dist/{chunk-JFJ3N4V5.js.map → chunk-NTJLECYY.js.map} +0 -0
  183. /package/dist/{chunk-GXG26SHU.js.map → chunk-OILH5J7Q.js.map} +0 -0
  184. /package/dist/{chunk-PD7RTFGB.js.map → chunk-P5GENHKO.js.map} +0 -0
  185. /package/dist/{chunk-TB3ZF5TJ.js.map → chunk-PGUDVR3V.js.map} +0 -0
  186. /package/dist/{chunk-BFRNEBJN.js.map → chunk-QEDJOAP6.js.map} +0 -0
  187. /package/dist/{chunk-3Z2XZ4ZG.js.map → chunk-QKZTZUWP.js.map} +0 -0
  188. /package/dist/{chunk-3JRHAKLV.js.map → chunk-RM5CQ77X.js.map} +0 -0
  189. /package/dist/{chunk-R3ZYNS4D.js.map → chunk-SRZK4OC5.js.map} +0 -0
  190. /package/dist/{chunk-YWYYPYBK.js.map → chunk-SYMOHU2B.js.map} +0 -0
  191. /package/dist/{chunk-XXMZLXDE.js.map → chunk-TCFXG4AX.js.map} +0 -0
  192. /package/dist/{chunk-I5RQ5T4B.js.map → chunk-U3FBMFRL.js.map} +0 -0
  193. /package/dist/{chunk-3DEAIJBF.js.map → chunk-WH6QD4SY.js.map} +0 -0
  194. /package/dist/{chunk-BKYPABII.js.map → chunk-YPEB36YK.js.map} +0 -0
  195. /package/dist/{chunk-JRSZNGFD.js.map → chunk-ZA4NYPSW.js.map} +0 -0
@@ -12,15 +12,15 @@ import {
12
12
  import {
13
13
  Heading
14
14
  } from "./chunk-BESTU2AY.js";
15
+ import {
16
+ Card
17
+ } from "./chunk-RP2RGCAW.js";
15
18
  import {
16
19
  Box
17
20
  } from "./chunk-4Y5BEXVN.js";
18
21
  import {
19
22
  Flex
20
23
  } from "./chunk-25HMMI7R.js";
21
- import {
22
- Card
23
- } from "./chunk-RP2RGCAW.js";
24
24
 
25
25
  // src/app/platform/userInfos/coaching-customer-info/large.tsx
26
26
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -61,4 +61,4 @@ function CoachingCustomerInfoLarge({
61
61
  export {
62
62
  CoachingCustomerInfoLarge
63
63
  };
64
- //# sourceMappingURL=chunk-RFXVHZAN.js.map
64
+ //# sourceMappingURL=chunk-64XYTE54.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  CoachingCustomerInfoLarge
3
- } from "./chunk-RFXVHZAN.js";
3
+ } from "./chunk-64XYTE54.js";
4
4
  import {
5
5
  CoachingCustomerInfoMedium
6
- } from "./chunk-KD6EXWP7.js";
6
+ } from "./chunk-62HSZXVT.js";
7
7
  import {
8
8
  CoachingCustomerInfoSmall
9
9
  } from "./chunk-YADSNPMG.js";
@@ -27,4 +27,4 @@ function CoachingCustomerInfo(props) {
27
27
  export {
28
28
  CoachingCustomerInfo
29
29
  };
30
- //# sourceMappingURL=chunk-TTVJOFG5.js.map
30
+ //# sourceMappingURL=chunk-6MQMVYEP.js.map
@@ -1,15 +1,15 @@
1
+ import {
2
+ ReviewQuestionSatisfisText
3
+ } from "./chunk-W7TBPRHG.js";
1
4
  import {
2
5
  review_question_text_default
3
- } from "./chunk-XXMZLXDE.js";
6
+ } from "./chunk-TCFXG4AX.js";
4
7
  import {
5
8
  review_question_radio_default
6
- } from "./chunk-GXG26SHU.js";
9
+ } from "./chunk-OILH5J7Q.js";
7
10
  import {
8
11
  review_question_satisfaction_option_default
9
- } from "./chunk-JFJ3N4V5.js";
10
- import {
11
- ReviewQuestionSatisfisText
12
- } from "./chunk-W7TBPRHG.js";
12
+ } from "./chunk-NTJLECYY.js";
13
13
 
14
14
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.tsx
15
15
  import { jsx } from "react/jsx-runtime";
@@ -66,4 +66,4 @@ var review_question_body_default = ReviewQuestionBody;
66
66
  export {
67
67
  review_question_body_default
68
68
  };
69
- //# sourceMappingURL=chunk-3WNHPKHP.js.map
69
+ //# sourceMappingURL=chunk-7R5KG7SJ.js.map
@@ -4,15 +4,15 @@ import {
4
4
  import {
5
5
  Select
6
6
  } from "./chunk-X2GMDZ7M.js";
7
+ import {
8
+ Card
9
+ } from "./chunk-RP2RGCAW.js";
7
10
  import {
8
11
  Typo
9
12
  } from "./chunk-PMJIFLDT.js";
10
13
  import {
11
14
  Flex
12
15
  } from "./chunk-25HMMI7R.js";
13
- import {
14
- Card
15
- } from "./chunk-RP2RGCAW.js";
16
16
 
17
17
  // src/molecules/dynamic-form-editor-field-list-panel.tsx
18
18
  import { useMemo } from "react";
@@ -103,4 +103,4 @@ function DynamicFormEditorFieldListPanel(props) {
103
103
  export {
104
104
  DynamicFormEditorFieldListPanel
105
105
  };
106
- //# sourceMappingURL=chunk-6UXCNYVO.js.map
106
+ //# sourceMappingURL=chunk-7R65MUL6.js.map
@@ -1,12 +1,12 @@
1
+ import {
2
+ Card
3
+ } from "./chunk-RP2RGCAW.js";
1
4
  import {
2
5
  Typo
3
6
  } from "./chunk-PMJIFLDT.js";
4
7
  import {
5
8
  Flex
6
9
  } from "./chunk-25HMMI7R.js";
7
- import {
8
- Card
9
- } from "./chunk-RP2RGCAW.js";
10
10
 
11
11
  // src/molecules/dynamic-form-editor-issues-panel.tsx
12
12
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -36,4 +36,4 @@ function DynamicFormEditorIssuesPanel(props) {
36
36
  export {
37
37
  DynamicFormEditorIssuesPanel
38
38
  };
39
- //# sourceMappingURL=chunk-MIATMZDP.js.map
39
+ //# sourceMappingURL=chunk-AA6OYHCE.js.map
@@ -7,6 +7,9 @@ import {
7
7
  import {
8
8
  Heading
9
9
  } from "./chunk-BESTU2AY.js";
10
+ import {
11
+ Badge
12
+ } from "./chunk-U3BQT7ZO.js";
10
13
  import {
11
14
  Box
12
15
  } from "./chunk-4Y5BEXVN.js";
@@ -20,9 +23,6 @@ import {
20
23
  ArrowRightIcon,
21
24
  TimerIcon
22
25
  } from "./chunk-DLP4UUNG.js";
23
- import {
24
- Badge
25
- } from "./chunk-U3BQT7ZO.js";
26
26
 
27
27
  // src/app/platform/curriculum-card.tsx
28
28
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -96,4 +96,4 @@ function CurriculumCard(props) {
96
96
  export {
97
97
  CurriculumCard
98
98
  };
99
- //# sourceMappingURL=chunk-CI2XFT7Y.js.map
99
+ //# sourceMappingURL=chunk-AYWPBD4T.js.map
@@ -15,6 +15,9 @@ import {
15
15
  import {
16
16
  Heading
17
17
  } from "./chunk-BESTU2AY.js";
18
+ import {
19
+ Badge
20
+ } from "./chunk-U3BQT7ZO.js";
18
21
  import {
19
22
  Box
20
23
  } from "./chunk-4Y5BEXVN.js";
@@ -27,9 +30,6 @@ import {
27
30
  import {
28
31
  Button
29
32
  } from "./chunk-ZVDAEY5Q.js";
30
- import {
31
- Badge
32
- } from "./chunk-U3BQT7ZO.js";
33
33
 
34
34
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.tsx
35
35
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -148,4 +148,4 @@ var start_review_default = StartReview;
148
148
  export {
149
149
  start_review_default
150
150
  };
151
- //# sourceMappingURL=chunk-4QHXYLE4.js.map
151
+ //# sourceMappingURL=chunk-CIQ7ELE6.js.map
@@ -1,6 +1,9 @@
1
1
  import {
2
2
  Heading
3
3
  } from "./chunk-BESTU2AY.js";
4
+ import {
5
+ Card
6
+ } from "./chunk-RP2RGCAW.js";
4
7
  import {
5
8
  Box
6
9
  } from "./chunk-4Y5BEXVN.js";
@@ -13,9 +16,6 @@ import {
13
16
  import {
14
17
  Button
15
18
  } from "./chunk-ZVDAEY5Q.js";
16
- import {
17
- Card
18
- } from "./chunk-RP2RGCAW.js";
19
19
  import {
20
20
  DownloadIcon
21
21
  } from "./chunk-DLP4UUNG.js";
@@ -65,4 +65,4 @@ function ReportCard(props) {
65
65
  export {
66
66
  ReportCard
67
67
  };
68
- //# sourceMappingURL=chunk-SNPAB3HJ.js.map
68
+ //# sourceMappingURL=chunk-DWBYAHIR.js.map
@@ -1,12 +1,12 @@
1
- import {
2
- start_review_default
3
- } from "./chunk-4QHXYLE4.js";
4
1
  import {
5
2
  ReviewQuestion_default
6
- } from "./chunk-TB3ZF5TJ.js";
3
+ } from "./chunk-PGUDVR3V.js";
7
4
  import {
8
5
  complete_review_default
9
6
  } from "./chunk-NIMLBANB.js";
7
+ import {
8
+ start_review_default
9
+ } from "./chunk-CIQ7ELE6.js";
10
10
  import {
11
11
  CurriculumReviewProvider,
12
12
  useCurriculumReviewContext
@@ -86,4 +86,4 @@ var CurriculumReviewSteps_default = CurriculumReviewSteps;
86
86
  export {
87
87
  CurriculumReviewSteps_default
88
88
  };
89
- //# sourceMappingURL=chunk-WOAZK56Z.js.map
89
+ //# sourceMappingURL=chunk-ESM3HX57.js.map
@@ -7,6 +7,9 @@ import {
7
7
  import {
8
8
  Heading
9
9
  } from "./chunk-BESTU2AY.js";
10
+ import {
11
+ Badge
12
+ } from "./chunk-U3BQT7ZO.js";
10
13
  import {
11
14
  Box
12
15
  } from "./chunk-4Y5BEXVN.js";
@@ -22,9 +25,6 @@ import {
22
25
  import {
23
26
  AspectRatio
24
27
  } from "./chunk-EAXUQEO5.js";
25
- import {
26
- Badge
27
- } from "./chunk-U3BQT7ZO.js";
28
28
  import {
29
29
  __spreadProps,
30
30
  __spreadValues
@@ -160,4 +160,4 @@ function LearningPost(props) {
160
160
  export {
161
161
  LearningPost
162
162
  };
163
- //# sourceMappingURL=chunk-SACH3XVV.js.map
163
+ //# sourceMappingURL=chunk-F7JSPN5P.js.map
@@ -19,7 +19,13 @@ import {
19
19
  } from "./chunk-CRTRMMJ7.js";
20
20
 
21
21
  // src/atoms/pagination.tsx
22
- import { useCallback, useEffect, useMemo, useState } from "react";
22
+ import {
23
+ useCallback,
24
+ useEffect,
25
+ useMemo,
26
+ useRef,
27
+ useState
28
+ } from "react";
23
29
  import { jsx, jsxs } from "react/jsx-runtime";
24
30
  function Pagination(props) {
25
31
  const { onChange, count = 0, siblingCount = 2 } = props;
@@ -34,14 +40,24 @@ function Pagination(props) {
34
40
  }
35
41
  return Array.from({ length: end - start + 1 }, (_, i) => i + start);
36
42
  }, [count, page, siblingCount]);
43
+ const onChangeRef = useRef(onChange);
44
+ useEffect(() => {
45
+ onChangeRef.current = onChange;
46
+ });
47
+ const isFirstRender = useRef(true);
37
48
  useEffect(() => {
38
- onChange == null ? void 0 : onChange(page);
39
- }, [onChange, page]);
49
+ var _a;
50
+ if (isFirstRender.current) {
51
+ isFirstRender.current = false;
52
+ return;
53
+ }
54
+ (_a = onChangeRef.current) == null ? void 0 : _a.call(onChangeRef, page);
55
+ }, [page]);
40
56
  useEffect(() => {
41
- if (props.page) {
57
+ if (props.page && props.page !== page) {
42
58
  setPage(props.page);
43
59
  }
44
- }, [props.page]);
60
+ }, [props.page, page]);
45
61
  const prev = useMemo(() => {
46
62
  const p = page - 1;
47
63
  return p < 1 ? void 0 : p;
@@ -122,4 +138,4 @@ function Pagination(props) {
122
138
  export {
123
139
  Pagination
124
140
  };
125
- //# sourceMappingURL=chunk-MFIOT62L.js.map
141
+ //# sourceMappingURL=chunk-F7LTJOOC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/atoms/pagination.tsx"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport {\n ChevronLeftIcon,\n ChevronRightIcon,\n DoubleArrowLeftIcon,\n DoubleArrowRightIcon,\n} from '../icon';\nimport type { IconButtonProps } from './icon-button';\nimport { IconButton } from './icon-button';\nimport { Flex } from './flex';\nimport { Typo } from './typo';\n\nexport interface PaginationProps {\n /** 현재 선택된 페이지, 1부터 시작 */\n page?: number;\n /** 기본 선택 페이지, page보다 낮은 우선 순위를 갖는다 */\n defaultPage?: number;\n /** 선택한 페이지 변경 이벤트 cb */\n onChange?: (page: number) => void;\n /** 전체 페이지의 수 */\n count?: number;\n /** 표시할 페이지 버튼의 개수 */\n siblingCount?: number;\n}\n\nexport function Pagination(props: PaginationProps): React.ReactNode {\n const { onChange, count = 0, siblingCount = 2 } = props;\n\n const [page, setPage] = useState(() => props.page || props.defaultPage || 1);\n\n const visibleItems = useMemo(() => {\n let start = Math.max(1, page - siblingCount);\n let end = Math.min(count, page + siblingCount);\n if (page - siblingCount <= 0 && end < count) {\n end = Math.min(count, end + Math.abs(page - siblingCount) + 1);\n } else if (page + siblingCount > count && start > 1) {\n start = Math.max(1, start - (page + siblingCount - count));\n }\n\n return Array.from({ length: end - start + 1 }, (_, i) => i + start);\n }, [count, page, siblingCount]);\n\n // onChange 참조가 매 렌더 새로 생성되더라도 effect가 재발화하지 않도록 ref로 보관한다.\n const onChangeRef = useRef(onChange);\n useEffect(() => {\n onChangeRef.current = onChange;\n });\n\n // 내부 page 상태가 바뀔 때만 부모에 알림. 마운트 시 초기 page는 부모가 이미 알고 있으므로 제외.\n const isFirstRender = useRef(true);\n useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false;\n return;\n }\n onChangeRef.current?.(page);\n }, [page]);\n\n useEffect(() => {\n if (props.page && props.page !== page) {\n setPage(props.page);\n }\n }, [props.page, page]);\n\n const prev = useMemo<number | undefined>(() => {\n const p = page - 1;\n return p < 1 ? undefined : p;\n }, [page]);\n\n const next = useMemo<number | undefined>(() => {\n const n = page + 1;\n return n > count ? undefined : n;\n }, [count, page]);\n\n const onClickPrev = useCallback(() => {\n prev && setPage(prev);\n }, [prev]);\n\n const onClickNext = useCallback(() => {\n next && setPage(next);\n }, [next]);\n\n const doublePrev = useMemo<number | undefined>(() => {\n if (!visibleItems.length) return;\n return Math.max(0, visibleItems[0] - 1);\n }, [visibleItems]);\n\n const onClickDoublePrev = useCallback(() => {\n doublePrev && setPage(doublePrev);\n }, [doublePrev]);\n\n const doubleNext = useMemo<number | undefined>(() => {\n if (!visibleItems.length) return;\n const n = visibleItems[visibleItems.length - 1] + 1;\n if (n > count) return;\n return Math.min(count, n);\n }, [count, visibleItems]);\n\n const onClickDoubleNext = useCallback(() => {\n doubleNext && setPage(doubleNext);\n }, [doubleNext]);\n\n const iconSize = {\n height: 24,\n width: 24,\n };\n\n const moveButtonProps: IconButtonProps = {\n variant: 'ghost',\n size: 'large',\n style: { borderRadius: '50%' },\n };\n\n return (\n <Flex align=\"center\" className=\"tipp-pagination\">\n <IconButton\n disabled={!doublePrev}\n onClick={onClickDoublePrev}\n {...moveButtonProps}\n >\n <DoubleArrowLeftIcon {...iconSize} />\n </IconButton>\n <IconButton disabled={!prev} onClick={onClickPrev} {...moveButtonProps}>\n <ChevronLeftIcon {...iconSize} />\n </IconButton>\n <Flex gap=\"1\">\n {visibleItems.map((item) => {\n return (\n <button\n className={`page-button ${item === page ? 'active' : ''}`}\n key={item}\n onClick={() => {\n setPage(item);\n }}\n type=\"button\"\n >\n <Typo variant=\"body\">{item}</Typo>\n </button>\n );\n })}\n </Flex>\n <IconButton disabled={!next} onClick={onClickNext} {...moveButtonProps}>\n <ChevronRightIcon {...iconSize} />\n </IconButton>\n <IconButton\n disabled={!doubleNext}\n onClick={onClickDoubleNext}\n {...moveButtonProps}\n >\n <DoubleArrowRightIcon {...iconSize} />\n </IconButton>\n </Flex>\n );\n}\n"],"mappings":"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","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  DynamicFormField
3
- } from "./chunk-MPZJH3PI.js";
3
+ } from "./chunk-HTNDVNLQ.js";
4
4
  import {
5
5
  DynamicFormProvider,
6
6
  useDynamicForm
@@ -242,4 +242,4 @@ export {
242
242
  DynamicForm,
243
243
  createYupValidation
244
244
  };
245
- //# sourceMappingURL=chunk-KCAOUZCT.js.map
245
+ //# sourceMappingURL=chunk-GTO7GG2K.js.map
@@ -16,12 +16,12 @@ import {
16
16
  import {
17
17
  RadioGroup
18
18
  } from "./chunk-6DJOIRMF.js";
19
- import {
20
- Inset
21
- } from "./chunk-XQOL7UBI.js";
22
19
  import {
23
20
  Grid
24
21
  } from "./chunk-EGEQY3KT.js";
22
+ import {
23
+ Inset
24
+ } from "./chunk-XQOL7UBI.js";
25
25
  import {
26
26
  CheckboxGroup
27
27
  } from "./chunk-W7X7KSJP.js";
@@ -284,4 +284,4 @@ function DynamicFormField({
284
284
  export {
285
285
  DynamicFormField
286
286
  };
287
- //# sourceMappingURL=chunk-MPZJH3PI.js.map
287
+ //# sourceMappingURL=chunk-HTNDVNLQ.js.map
@@ -1,9 +1,9 @@
1
- import {
2
- EditServiceType
3
- } from "./chunk-6HMQEUHX.js";
4
1
  import {
5
2
  EditCoachingTime
6
3
  } from "./chunk-MTGKF6SO.js";
4
+ import {
5
+ EditServiceType
6
+ } from "./chunk-6HMQEUHX.js";
7
7
  import {
8
8
  Grid
9
9
  } from "./chunk-EGEQY3KT.js";
@@ -16,6 +16,9 @@ import {
16
16
  import {
17
17
  Heading
18
18
  } from "./chunk-BESTU2AY.js";
19
+ import {
20
+ Card
21
+ } from "./chunk-RP2RGCAW.js";
19
22
  import {
20
23
  BulletText
21
24
  } from "./chunk-Z34HR7RE.js";
@@ -25,9 +28,6 @@ import {
25
28
  import {
26
29
  Button
27
30
  } from "./chunk-ZVDAEY5Q.js";
28
- import {
29
- Card
30
- } from "./chunk-RP2RGCAW.js";
31
31
  import {
32
32
  Pencil1Icon
33
33
  } from "./chunk-DLP4UUNG.js";
@@ -141,4 +141,4 @@ function SessionCard(props) {
141
141
  export {
142
142
  SessionCard
143
143
  };
144
- //# sourceMappingURL=chunk-PWTMDEL2.js.map
144
+ //# sourceMappingURL=chunk-LATTGN7W.js.map
@@ -0,0 +1,276 @@
1
+ import {
2
+ TextField
3
+ } from "./chunk-6NPTJBFE.js";
4
+ import {
5
+ DropdownMenu
6
+ } from "./chunk-SMLC2O3V.js";
7
+ import {
8
+ Typo
9
+ } from "./chunk-PMJIFLDT.js";
10
+ import {
11
+ __objRest,
12
+ __spreadProps,
13
+ __spreadValues
14
+ } from "./chunk-CRTRMMJ7.js";
15
+
16
+ // src/molecules/autocomplete-textfield.tsx
17
+ import {
18
+ forwardRef,
19
+ useCallback,
20
+ useEffect,
21
+ useId,
22
+ useRef,
23
+ useState
24
+ } from "react";
25
+ import { Box } from "@radix-ui/themes";
26
+ import { jsx, jsxs } from "react/jsx-runtime";
27
+ var AutocompleteTextfield = forwardRef(
28
+ (_a, ref) => {
29
+ var _b = _a, {
30
+ options,
31
+ value: externalValue,
32
+ onChange,
33
+ onSelect,
34
+ placeholder,
35
+ emptyMessage = "\uAC80\uC0C9 \uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",
36
+ maxItems = 10,
37
+ slotLeft,
38
+ slotRight,
39
+ error
40
+ } = _b, rest = __objRest(_b, [
41
+ "options",
42
+ "value",
43
+ "onChange",
44
+ "onSelect",
45
+ "placeholder",
46
+ "emptyMessage",
47
+ "maxItems",
48
+ "slotLeft",
49
+ "slotRight",
50
+ "error"
51
+ ]);
52
+ const isControlled = externalValue !== void 0;
53
+ const [internalValue, setInternalValue] = useState("");
54
+ const inputValue = isControlled ? externalValue : internalValue;
55
+ const [open, setOpen] = useState(false);
56
+ const [highlightedIndex, setHighlightedIndex] = useState(-1);
57
+ const inputRef = useRef(null);
58
+ const listRef = useRef(null);
59
+ const listboxId = useId();
60
+ const justSelectedRef = useRef(false);
61
+ const filtered = options.filter(
62
+ (opt) => opt.label.toLowerCase().includes(inputValue.toLowerCase())
63
+ ).slice(0, maxItems);
64
+ const handleInputChange = useCallback(
65
+ (e) => {
66
+ const next = e.target.value;
67
+ if (!isControlled) setInternalValue(next);
68
+ onChange == null ? void 0 : onChange(next);
69
+ const nextFiltered = options.filter((opt) => opt.label.toLowerCase().includes(next.toLowerCase())).slice(0, maxItems);
70
+ setOpen(nextFiltered.length > 0 || emptyMessage !== null);
71
+ setHighlightedIndex(-1);
72
+ },
73
+ [isControlled, onChange, options, maxItems, emptyMessage]
74
+ );
75
+ const handleSelect = useCallback(
76
+ (option) => {
77
+ var _a2;
78
+ if (!isControlled) setInternalValue(option.label);
79
+ onChange == null ? void 0 : onChange(option.label);
80
+ onSelect == null ? void 0 : onSelect(option);
81
+ setOpen(false);
82
+ setHighlightedIndex(-1);
83
+ justSelectedRef.current = true;
84
+ (_a2 = inputRef.current) == null ? void 0 : _a2.focus();
85
+ },
86
+ [isControlled, onChange, onSelect]
87
+ );
88
+ const handleFocus = useCallback(() => {
89
+ if (justSelectedRef.current) {
90
+ justSelectedRef.current = false;
91
+ return;
92
+ }
93
+ const currentFiltered = options.filter((opt) => opt.label.toLowerCase().includes(inputValue.toLowerCase())).slice(0, maxItems);
94
+ setOpen(currentFiltered.length > 0 || emptyMessage !== null);
95
+ }, [options, inputValue, maxItems, emptyMessage]);
96
+ const handleBlur = useCallback((e) => {
97
+ var _a2, _b2;
98
+ if (e.relatedTarget && ((_b2 = (_a2 = inputRef.current) == null ? void 0 : _a2.parentElement) == null ? void 0 : _b2.contains(e.relatedTarget))) {
99
+ return;
100
+ }
101
+ setOpen(false);
102
+ setHighlightedIndex(-1);
103
+ }, []);
104
+ const handleKeyDown = useCallback(
105
+ (e) => {
106
+ if (!open) {
107
+ if (e.key === "ArrowDown" || e.key === "ArrowUp") {
108
+ setOpen(true);
109
+ setHighlightedIndex(0);
110
+ e.preventDefault();
111
+ }
112
+ return;
113
+ }
114
+ switch (e.key) {
115
+ case "ArrowDown":
116
+ e.preventDefault();
117
+ setHighlightedIndex(
118
+ (prev) => prev < filtered.length - 1 ? prev + 1 : 0
119
+ );
120
+ break;
121
+ case "ArrowUp":
122
+ e.preventDefault();
123
+ setHighlightedIndex(
124
+ (prev) => prev > 0 ? prev - 1 : filtered.length - 1
125
+ );
126
+ break;
127
+ case "Enter":
128
+ e.preventDefault();
129
+ if (highlightedIndex >= 0 && filtered[highlightedIndex]) {
130
+ handleSelect(filtered[highlightedIndex]);
131
+ }
132
+ break;
133
+ case "Escape":
134
+ setOpen(false);
135
+ setHighlightedIndex(-1);
136
+ break;
137
+ case "Tab":
138
+ setOpen(false);
139
+ setHighlightedIndex(-1);
140
+ break;
141
+ default:
142
+ break;
143
+ }
144
+ },
145
+ [open, filtered, highlightedIndex, handleSelect]
146
+ );
147
+ useEffect(() => {
148
+ if (!listRef.current || highlightedIndex < 0) return;
149
+ const item = listRef.current.children[highlightedIndex];
150
+ item.scrollIntoView({ block: "nearest" });
151
+ }, [highlightedIndex]);
152
+ return /* @__PURE__ */ jsxs(Box, { position: "relative", style: { width: "100%" }, children: [
153
+ /* @__PURE__ */ jsxs(
154
+ TextField.Root,
155
+ __spreadProps(__spreadValues({
156
+ "aria-activedescendant": open && highlightedIndex >= 0 ? `${listboxId}-option-${highlightedIndex}` : void 0,
157
+ "aria-autocomplete": "list",
158
+ "aria-controls": open ? listboxId : void 0,
159
+ "aria-expanded": open,
160
+ error,
161
+ onBlur: handleBlur,
162
+ onChange: handleInputChange,
163
+ onFocus: handleFocus,
164
+ onKeyDown: handleKeyDown,
165
+ placeholder,
166
+ ref: (node) => {
167
+ inputRef.current = node;
168
+ if (typeof ref === "function") {
169
+ ref(node);
170
+ } else if (ref) {
171
+ ref.current = node;
172
+ }
173
+ },
174
+ role: "combobox",
175
+ style: { width: "100%" },
176
+ value: inputValue
177
+ }, rest), {
178
+ children: [
179
+ slotLeft && /* @__PURE__ */ jsx(TextField.Slot, { side: "left", children: slotLeft }),
180
+ slotRight && /* @__PURE__ */ jsx(TextField.Slot, { side: "right", children: slotRight })
181
+ ]
182
+ })
183
+ ),
184
+ /* @__PURE__ */ jsxs(
185
+ DropdownMenu.Root,
186
+ {
187
+ modal: false,
188
+ onOpenChange: (nextOpen) => {
189
+ if (!nextOpen && document.activeElement !== inputRef.current) {
190
+ setOpen(false);
191
+ setHighlightedIndex(-1);
192
+ }
193
+ },
194
+ open,
195
+ children: [
196
+ /* @__PURE__ */ jsx(DropdownMenu.Trigger, { asChild: true, children: /* @__PURE__ */ jsx(
197
+ "span",
198
+ {
199
+ "aria-hidden": "true",
200
+ style: {
201
+ bottom: 0,
202
+ height: 0,
203
+ left: 0,
204
+ opacity: 0,
205
+ pointerEvents: "none",
206
+ position: "absolute",
207
+ width: "100%"
208
+ }
209
+ }
210
+ ) }),
211
+ /* @__PURE__ */ jsx(
212
+ DropdownMenu.Content,
213
+ {
214
+ align: "start",
215
+ onCloseAutoFocus: (e) => {
216
+ e.preventDefault();
217
+ },
218
+ onOpenAutoFocus: (e) => {
219
+ e.preventDefault();
220
+ },
221
+ sideOffset: 4,
222
+ style: {
223
+ maxHeight: 240,
224
+ overflowY: "auto",
225
+ padding: 0,
226
+ width: "var(--radix-dropdown-menu-trigger-width)"
227
+ },
228
+ children: filtered.length === 0 && emptyMessage !== null ? /* @__PURE__ */ jsx(Box, { px: "2", py: "2", children: /* @__PURE__ */ jsx(Typo, { color: "gray", children: emptyMessage }) }) : /* @__PURE__ */ jsx(
229
+ "ul",
230
+ {
231
+ id: listboxId,
232
+ ref: listRef,
233
+ role: "listbox",
234
+ style: { listStyle: "none", margin: 0, padding: 0 },
235
+ children: filtered.map((option, index) => {
236
+ const isHighlighted = index === highlightedIndex;
237
+ return /* @__PURE__ */ jsx(
238
+ "li",
239
+ {
240
+ "aria-selected": isHighlighted,
241
+ id: `${listboxId}-option-${index}`,
242
+ onMouseEnter: () => {
243
+ setHighlightedIndex(index);
244
+ },
245
+ onPointerDown: (e) => {
246
+ e.preventDefault();
247
+ handleSelect(option);
248
+ },
249
+ role: "option",
250
+ style: {
251
+ padding: "var(--spacing-4) var(--spacing-6)",
252
+ cursor: "pointer",
253
+ backgroundColor: isHighlighted ? "var(--accent-3)" : "transparent",
254
+ transition: "background-color 80ms"
255
+ },
256
+ children: /* @__PURE__ */ jsx(Typo, { variant: "body", children: option.label })
257
+ },
258
+ option.value
259
+ );
260
+ })
261
+ }
262
+ )
263
+ }
264
+ )
265
+ ]
266
+ }
267
+ )
268
+ ] });
269
+ }
270
+ );
271
+ AutocompleteTextfield.displayName = "AutocompleteTextfield";
272
+
273
+ export {
274
+ AutocompleteTextfield
275
+ };
276
+ //# sourceMappingURL=chunk-LSDD4TAP.js.map