@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
@@ -62,7 +62,7 @@ __export(session_card_exports, {
62
62
  SessionCard: () => SessionCard
63
63
  });
64
64
  module.exports = __toCommonJS(session_card_exports);
65
- var import_react52 = require("react");
65
+ var import_react53 = require("react");
66
66
  var import_date_fns3 = require("date-fns");
67
67
 
68
68
  // src/atoms/alert-dialog.tsx
@@ -597,8 +597,16 @@ var Content3 = (0, import_react11.forwardRef)((props, ref) => {
597
597
  );
598
598
  });
599
599
  Content3.displayName = "DropdownMenu.Content";
600
+ var Trigger3 = (0, import_react11.forwardRef)(
601
+ (_a, ref) => {
602
+ var _b = _a, { asChild: _asChild } = _b, props = __objRest(_b, ["asChild"]);
603
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_themes20.DropdownMenu.Trigger, __spreadValues({ ref }, props));
604
+ }
605
+ );
606
+ Trigger3.displayName = "DropdownMenu.Trigger";
600
607
  var DropdownMenu = __spreadProps(__spreadValues({}, import_themes20.DropdownMenu), {
601
- Content: Content3
608
+ Content: Content3,
609
+ Trigger: Trigger3
602
610
  });
603
611
 
604
612
  // src/atoms/em.tsx
@@ -678,7 +686,7 @@ var Content4 = (0, import_react13.forwardRef)((props, ref) => {
678
686
  );
679
687
  });
680
688
  Content4.displayName = "Select.Content";
681
- var Trigger3 = (0, import_react13.forwardRef)(
689
+ var Trigger4 = (0, import_react13.forwardRef)(
682
690
  (props, ref) => {
683
691
  const _a = props, { className } = _a, rest = __objRest(_a, ["className"]);
684
692
  const { error } = (0, import_react13.useContext)(SelectContext);
@@ -689,7 +697,7 @@ var Trigger3 = (0, import_react13.forwardRef)(
689
697
  return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_themes38.Select.Trigger, __spreadProps(__spreadValues({}, rest), { className: cls, ref }));
690
698
  }
691
699
  );
692
- Trigger3.displayName = "Select.Trigger";
700
+ Trigger4.displayName = "Select.Trigger";
693
701
  function Root4(props) {
694
702
  const _a = props, { error } = _a, rest = __objRest(_a, ["error"]);
695
703
  return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(SelectContext.Provider, { value: { error }, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_themes38.Select.Root, __spreadValues({}, rest)) });
@@ -697,7 +705,7 @@ function Root4(props) {
697
705
  Root4.displayName = "Select.Root";
698
706
  var Select = __spreadProps(__spreadValues({}, import_themes38.Select), {
699
707
  Root: Root4,
700
- Trigger: Trigger3,
708
+ Trigger: Trigger4,
701
709
  Content: Content4
702
710
  });
703
711
 
@@ -1693,7 +1701,7 @@ var ListContext = (0, import_react24.createContext)({
1693
1701
  });
1694
1702
 
1695
1703
  // src/app/platform/edit-coaching-time.tsx
1696
- var import_react50 = require("react");
1704
+ var import_react51 = require("react");
1697
1705
 
1698
1706
  // src/molecules/expand-table/index.tsx
1699
1707
  var import_react_table2 = require("@tanstack/react-table");
@@ -2287,8 +2295,258 @@ var import_jsx_runtime96 = require("react/jsx-runtime");
2287
2295
  // src/molecules/dynamic-form-editor.tsx
2288
2296
  var import_jsx_runtime97 = require("react/jsx-runtime");
2289
2297
 
2290
- // src/app/platform/edit-coaching-time.tsx
2298
+ // src/molecules/autocomplete-textfield.tsx
2299
+ var import_react50 = require("react");
2300
+ var import_themes58 = require("@radix-ui/themes");
2291
2301
  var import_jsx_runtime98 = require("react/jsx-runtime");
2302
+ var AutocompleteTextfield = (0, import_react50.forwardRef)(
2303
+ (_a, ref) => {
2304
+ var _b = _a, {
2305
+ options,
2306
+ value: externalValue,
2307
+ onChange,
2308
+ onSelect,
2309
+ placeholder,
2310
+ emptyMessage = "\uAC80\uC0C9 \uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",
2311
+ maxItems = 10,
2312
+ slotLeft,
2313
+ slotRight,
2314
+ error
2315
+ } = _b, rest = __objRest(_b, [
2316
+ "options",
2317
+ "value",
2318
+ "onChange",
2319
+ "onSelect",
2320
+ "placeholder",
2321
+ "emptyMessage",
2322
+ "maxItems",
2323
+ "slotLeft",
2324
+ "slotRight",
2325
+ "error"
2326
+ ]);
2327
+ const isControlled = externalValue !== void 0;
2328
+ const [internalValue, setInternalValue] = (0, import_react50.useState)("");
2329
+ const inputValue = isControlled ? externalValue : internalValue;
2330
+ const [open, setOpen] = (0, import_react50.useState)(false);
2331
+ const [highlightedIndex, setHighlightedIndex] = (0, import_react50.useState)(-1);
2332
+ const inputRef = (0, import_react50.useRef)(null);
2333
+ const listRef = (0, import_react50.useRef)(null);
2334
+ const listboxId = (0, import_react50.useId)();
2335
+ const justSelectedRef = (0, import_react50.useRef)(false);
2336
+ const filtered = options.filter(
2337
+ (opt) => opt.label.toLowerCase().includes(inputValue.toLowerCase())
2338
+ ).slice(0, maxItems);
2339
+ const handleInputChange = (0, import_react50.useCallback)(
2340
+ (e) => {
2341
+ const next = e.target.value;
2342
+ if (!isControlled) setInternalValue(next);
2343
+ onChange == null ? void 0 : onChange(next);
2344
+ const nextFiltered = options.filter((opt) => opt.label.toLowerCase().includes(next.toLowerCase())).slice(0, maxItems);
2345
+ setOpen(nextFiltered.length > 0 || emptyMessage !== null);
2346
+ setHighlightedIndex(-1);
2347
+ },
2348
+ [isControlled, onChange, options, maxItems, emptyMessage]
2349
+ );
2350
+ const handleSelect = (0, import_react50.useCallback)(
2351
+ (option) => {
2352
+ var _a2;
2353
+ if (!isControlled) setInternalValue(option.label);
2354
+ onChange == null ? void 0 : onChange(option.label);
2355
+ onSelect == null ? void 0 : onSelect(option);
2356
+ setOpen(false);
2357
+ setHighlightedIndex(-1);
2358
+ justSelectedRef.current = true;
2359
+ (_a2 = inputRef.current) == null ? void 0 : _a2.focus();
2360
+ },
2361
+ [isControlled, onChange, onSelect]
2362
+ );
2363
+ const handleFocus = (0, import_react50.useCallback)(() => {
2364
+ if (justSelectedRef.current) {
2365
+ justSelectedRef.current = false;
2366
+ return;
2367
+ }
2368
+ const currentFiltered = options.filter((opt) => opt.label.toLowerCase().includes(inputValue.toLowerCase())).slice(0, maxItems);
2369
+ setOpen(currentFiltered.length > 0 || emptyMessage !== null);
2370
+ }, [options, inputValue, maxItems, emptyMessage]);
2371
+ const handleBlur = (0, import_react50.useCallback)((e) => {
2372
+ var _a2, _b2;
2373
+ if (e.relatedTarget && ((_b2 = (_a2 = inputRef.current) == null ? void 0 : _a2.parentElement) == null ? void 0 : _b2.contains(e.relatedTarget))) {
2374
+ return;
2375
+ }
2376
+ setOpen(false);
2377
+ setHighlightedIndex(-1);
2378
+ }, []);
2379
+ const handleKeyDown = (0, import_react50.useCallback)(
2380
+ (e) => {
2381
+ if (!open) {
2382
+ if (e.key === "ArrowDown" || e.key === "ArrowUp") {
2383
+ setOpen(true);
2384
+ setHighlightedIndex(0);
2385
+ e.preventDefault();
2386
+ }
2387
+ return;
2388
+ }
2389
+ switch (e.key) {
2390
+ case "ArrowDown":
2391
+ e.preventDefault();
2392
+ setHighlightedIndex(
2393
+ (prev) => prev < filtered.length - 1 ? prev + 1 : 0
2394
+ );
2395
+ break;
2396
+ case "ArrowUp":
2397
+ e.preventDefault();
2398
+ setHighlightedIndex(
2399
+ (prev) => prev > 0 ? prev - 1 : filtered.length - 1
2400
+ );
2401
+ break;
2402
+ case "Enter":
2403
+ e.preventDefault();
2404
+ if (highlightedIndex >= 0 && filtered[highlightedIndex]) {
2405
+ handleSelect(filtered[highlightedIndex]);
2406
+ }
2407
+ break;
2408
+ case "Escape":
2409
+ setOpen(false);
2410
+ setHighlightedIndex(-1);
2411
+ break;
2412
+ case "Tab":
2413
+ setOpen(false);
2414
+ setHighlightedIndex(-1);
2415
+ break;
2416
+ default:
2417
+ break;
2418
+ }
2419
+ },
2420
+ [open, filtered, highlightedIndex, handleSelect]
2421
+ );
2422
+ (0, import_react50.useEffect)(() => {
2423
+ if (!listRef.current || highlightedIndex < 0) return;
2424
+ const item = listRef.current.children[highlightedIndex];
2425
+ item.scrollIntoView({ block: "nearest" });
2426
+ }, [highlightedIndex]);
2427
+ return /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(import_themes58.Box, { position: "relative", style: { width: "100%" }, children: [
2428
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(
2429
+ TextField.Root,
2430
+ __spreadProps(__spreadValues({
2431
+ "aria-activedescendant": open && highlightedIndex >= 0 ? `${listboxId}-option-${highlightedIndex}` : void 0,
2432
+ "aria-autocomplete": "list",
2433
+ "aria-controls": open ? listboxId : void 0,
2434
+ "aria-expanded": open,
2435
+ error,
2436
+ onBlur: handleBlur,
2437
+ onChange: handleInputChange,
2438
+ onFocus: handleFocus,
2439
+ onKeyDown: handleKeyDown,
2440
+ placeholder,
2441
+ ref: (node) => {
2442
+ inputRef.current = node;
2443
+ if (typeof ref === "function") {
2444
+ ref(node);
2445
+ } else if (ref) {
2446
+ ref.current = node;
2447
+ }
2448
+ },
2449
+ role: "combobox",
2450
+ style: { width: "100%" },
2451
+ value: inputValue
2452
+ }, rest), {
2453
+ children: [
2454
+ slotLeft && /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(TextField.Slot, { side: "left", children: slotLeft }),
2455
+ slotRight && /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(TextField.Slot, { side: "right", children: slotRight })
2456
+ ]
2457
+ })
2458
+ ),
2459
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(
2460
+ DropdownMenu.Root,
2461
+ {
2462
+ modal: false,
2463
+ onOpenChange: (nextOpen) => {
2464
+ if (!nextOpen && document.activeElement !== inputRef.current) {
2465
+ setOpen(false);
2466
+ setHighlightedIndex(-1);
2467
+ }
2468
+ },
2469
+ open,
2470
+ children: [
2471
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(DropdownMenu.Trigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
2472
+ "span",
2473
+ {
2474
+ "aria-hidden": "true",
2475
+ style: {
2476
+ bottom: 0,
2477
+ height: 0,
2478
+ left: 0,
2479
+ opacity: 0,
2480
+ pointerEvents: "none",
2481
+ position: "absolute",
2482
+ width: "100%"
2483
+ }
2484
+ }
2485
+ ) }),
2486
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
2487
+ DropdownMenu.Content,
2488
+ {
2489
+ align: "start",
2490
+ onCloseAutoFocus: (e) => {
2491
+ e.preventDefault();
2492
+ },
2493
+ onOpenAutoFocus: (e) => {
2494
+ e.preventDefault();
2495
+ },
2496
+ sideOffset: 4,
2497
+ style: {
2498
+ maxHeight: 240,
2499
+ overflowY: "auto",
2500
+ padding: 0,
2501
+ width: "var(--radix-dropdown-menu-trigger-width)"
2502
+ },
2503
+ children: filtered.length === 0 && emptyMessage !== null ? /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_themes58.Box, { px: "2", py: "2", children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(Typo, { color: "gray", children: emptyMessage }) }) : /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
2504
+ "ul",
2505
+ {
2506
+ id: listboxId,
2507
+ ref: listRef,
2508
+ role: "listbox",
2509
+ style: { listStyle: "none", margin: 0, padding: 0 },
2510
+ children: filtered.map((option, index) => {
2511
+ const isHighlighted = index === highlightedIndex;
2512
+ return /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
2513
+ "li",
2514
+ {
2515
+ "aria-selected": isHighlighted,
2516
+ id: `${listboxId}-option-${index}`,
2517
+ onMouseEnter: () => {
2518
+ setHighlightedIndex(index);
2519
+ },
2520
+ onPointerDown: (e) => {
2521
+ e.preventDefault();
2522
+ handleSelect(option);
2523
+ },
2524
+ role: "option",
2525
+ style: {
2526
+ padding: "var(--spacing-4) var(--spacing-6)",
2527
+ cursor: "pointer",
2528
+ backgroundColor: isHighlighted ? "var(--accent-3)" : "transparent",
2529
+ transition: "background-color 80ms"
2530
+ },
2531
+ children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(Typo, { variant: "body", children: option.label })
2532
+ },
2533
+ option.value
2534
+ );
2535
+ })
2536
+ }
2537
+ )
2538
+ }
2539
+ )
2540
+ ]
2541
+ }
2542
+ )
2543
+ ] });
2544
+ }
2545
+ );
2546
+ AutocompleteTextfield.displayName = "AutocompleteTextfield";
2547
+
2548
+ // src/app/platform/edit-coaching-time.tsx
2549
+ var import_jsx_runtime99 = require("react/jsx-runtime");
2292
2550
  var getValueFromDefaultValue = (args) => {
2293
2551
  return {
2294
2552
  startTime: args.startAt ? getTimeOption(args.startAt) : "00:00",
@@ -2308,14 +2566,14 @@ var getDateFromValue = (date, time) => {
2308
2566
  };
2309
2567
  function EditCoachingTime(props) {
2310
2568
  const { defaultEndAt, defaultStartAt, onClickCancel } = props;
2311
- const [values, setValues] = (0, import_react50.useState)(() => {
2569
+ const [values, setValues] = (0, import_react51.useState)(() => {
2312
2570
  return getValueFromDefaultValue({
2313
2571
  startAt: defaultStartAt,
2314
2572
  endAt: defaultEndAt
2315
2573
  });
2316
2574
  });
2317
- const [timeError, setTimeError] = (0, import_react50.useState)("");
2318
- const checkTimeError = (0, import_react50.useCallback)(
2575
+ const [timeError, setTimeError] = (0, import_react51.useState)("");
2576
+ const checkTimeError = (0, import_react51.useCallback)(
2319
2577
  (startTime, endTime) => {
2320
2578
  const error = startTime >= endTime ? "\uC2DC\uC791\uC2DC\uAC04\uC744 \uC885\uB8CC\uC2DC\uAC04\uBCF4\uB2E4 \uBE60\uB974\uAC8C \uC120\uD0DD\uD574\uC8FC\uC138\uC694." : "";
2321
2579
  if (error) {
@@ -2326,7 +2584,7 @@ function EditCoachingTime(props) {
2326
2584
  },
2327
2585
  []
2328
2586
  );
2329
- const onChangeStartTime = (0, import_react50.useCallback)(
2587
+ const onChangeStartTime = (0, import_react51.useCallback)(
2330
2588
  (v) => {
2331
2589
  checkTimeError(v, values.endTime);
2332
2590
  setValues((prev) => __spreadProps(__spreadValues({}, prev), {
@@ -2335,7 +2593,7 @@ function EditCoachingTime(props) {
2335
2593
  },
2336
2594
  [checkTimeError, values.endTime]
2337
2595
  );
2338
- const onChangeEndTime = (0, import_react50.useCallback)(
2596
+ const onChangeEndTime = (0, import_react51.useCallback)(
2339
2597
  (v) => {
2340
2598
  checkTimeError(values.startTime, v);
2341
2599
  setValues((prev) => __spreadProps(__spreadValues({}, prev), {
@@ -2344,12 +2602,12 @@ function EditCoachingTime(props) {
2344
2602
  },
2345
2603
  [checkTimeError, values.startTime]
2346
2604
  );
2347
- const onChangeDate = (0, import_react50.useCallback)((date) => {
2605
+ const onChangeDate = (0, import_react51.useCallback)((date) => {
2348
2606
  date && setValues((prev) => __spreadProps(__spreadValues({}, prev), {
2349
2607
  date
2350
2608
  }));
2351
2609
  }, []);
2352
- const onClickSave = (0, import_react50.useCallback)(() => {
2610
+ const onClickSave = (0, import_react51.useCallback)(() => {
2353
2611
  if (checkTimeError(values.startTime, values.endTime)) {
2354
2612
  const startAt = getDateFromValue(values.date, values.startTime);
2355
2613
  const endAt = getDateFromValue(values.date, values.endTime);
@@ -2358,10 +2616,10 @@ function EditCoachingTime(props) {
2358
2616
  toast.error("\uC785\uB825 \uAC12\uC774 \uC720\uD6A8\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.");
2359
2617
  }
2360
2618
  }, [checkTimeError, props, values.date, values.endTime, values.startTime]);
2361
- return /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_themes6.Box, { width: { initial: "100%" }, children: /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(Form.Root, { children: [
2362
- /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(Form.Field, { name: "date", children: [
2363
- /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(Form.Label, { variant: "caption", children: "\uB0A0\uC9DC" }),
2364
- /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
2619
+ return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_themes6.Box, { width: { initial: "100%" }, children: /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(Form.Root, { children: [
2620
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(Form.Field, { name: "date", children: [
2621
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Form.Label, { variant: "caption", children: "\uB0A0\uC9DC" }),
2622
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
2365
2623
  DatePickerButton,
2366
2624
  {
2367
2625
  maxDate: /* @__PURE__ */ new Date(),
@@ -2371,7 +2629,7 @@ function EditCoachingTime(props) {
2371
2629
  }
2372
2630
  )
2373
2631
  ] }),
2374
- /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(
2632
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(
2375
2633
  import_themes23.Grid,
2376
2634
  {
2377
2635
  align: "center",
@@ -2386,10 +2644,10 @@ function EditCoachingTime(props) {
2386
2644
  mt: "5",
2387
2645
  width: "100%",
2388
2646
  children: [
2389
- /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(Form.Field, { name: "startTime", children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(Form.Label, { variant: "caption", children: "\uC2DC\uC791 \uC2DC\uAC04" }) }),
2390
- /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("div", {}),
2391
- /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(Form.Field, { name: "endTime", children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(Form.Label, { variant: "caption", children: "\uC885\uB8CC \uC2DC\uAC04" }) }),
2392
- /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
2647
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Form.Field, { name: "startTime", children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Form.Label, { variant: "caption", children: "\uC2DC\uC791 \uC2DC\uAC04" }) }),
2648
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", {}),
2649
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Form.Field, { name: "endTime", children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Form.Label, { variant: "caption", children: "\uC885\uB8CC \uC2DC\uAC04" }) }),
2650
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
2393
2651
  TimeSelect,
2394
2652
  {
2395
2653
  onValueChange: onChangeStartTime,
@@ -2397,8 +2655,8 @@ function EditCoachingTime(props) {
2397
2655
  value: values.startTime
2398
2656
  }
2399
2657
  ),
2400
- /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_themes6.Box, { overflow: "hidden", children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_themes39.Separator, {}) }),
2401
- /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
2658
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_themes6.Box, { overflow: "hidden", children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_themes39.Separator, {}) }),
2659
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
2402
2660
  TimeSelect,
2403
2661
  {
2404
2662
  onValueChange: onChangeEndTime,
@@ -2406,36 +2664,36 @@ function EditCoachingTime(props) {
2406
2664
  value: values.endTime
2407
2665
  }
2408
2666
  ),
2409
- /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(Form.Field, { name: "startEndTime", style: { gridColumn: "1/span 3" }, children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(Form.Message, { forceMatch: Boolean(timeError), children: timeError }) })
2667
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Form.Field, { name: "startEndTime", style: { gridColumn: "1/span 3" }, children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Form.Message, { forceMatch: Boolean(timeError), children: timeError }) })
2410
2668
  ]
2411
2669
  }
2412
2670
  ),
2413
- /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(import_themes22.Flex, { gap: "3", justify: "end", children: [
2414
- /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(Dialog.Close, { children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(Button, { onClick: onClickCancel, type: "button", variant: "outline", children: "\uCDE8\uC18C\uD558\uAE30" }) }),
2415
- /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(Dialog.Close, { children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(Button, { onClick: onClickSave, type: "button", children: "\uC800\uC7A5\uD558\uAE30" }) })
2671
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(import_themes22.Flex, { gap: "3", justify: "end", children: [
2672
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Dialog.Close, { children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Button, { onClick: onClickCancel, type: "button", variant: "outline", children: "\uCDE8\uC18C\uD558\uAE30" }) }),
2673
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Dialog.Close, { children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Button, { onClick: onClickSave, type: "button", children: "\uC800\uC7A5\uD558\uAE30" }) })
2416
2674
  ] })
2417
2675
  ] }) });
2418
2676
  }
2419
2677
 
2420
2678
  // src/app/platform/edit-service-type.tsx
2421
- var import_react51 = require("react");
2679
+ var import_react52 = require("react");
2422
2680
 
2423
2681
  // src/app/platform/on-offline-radio-card.tsx
2424
2682
  var import_react_icons9 = require("@radix-ui/react-icons");
2425
- var import_jsx_runtime99 = require("react/jsx-runtime");
2683
+ var import_jsx_runtime100 = require("react/jsx-runtime");
2426
2684
  var SERVICE_TYPE = {
2427
2685
  onlineCoaching: "onlineCoaching",
2428
2686
  offlineCoaching: "offlineCoaching"
2429
2687
  };
2430
2688
  var breakpoint = "sm";
2431
2689
  function HideSmallBox(props) {
2432
- return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_themes6.Box, { display: { initial: "none", [breakpoint]: "block" }, children: props.children });
2690
+ return /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_themes6.Box, { display: { initial: "none", [breakpoint]: "block" }, children: props.children });
2433
2691
  }
2434
2692
  function OnOfflineRadioCard(props) {
2435
2693
  const Wrapper = props.response ? HideSmallBox : (p) => p.children;
2436
2694
  const columns = props.response ? { initial: "2", [breakpoint]: "1" } : "1";
2437
2695
  const justify = props.response ? { initial: "center", [breakpoint]: "between" } : "between";
2438
- return /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(
2696
+ return /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(
2439
2697
  RadioButtonCard.Root,
2440
2698
  __spreadProps(__spreadValues({
2441
2699
  RadioWrapper: Wrapper,
@@ -2444,13 +2702,13 @@ function OnOfflineRadioCard(props) {
2444
2702
  justify
2445
2703
  }, props), {
2446
2704
  children: [
2447
- /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(RadioButtonCard.Item, { value: SERVICE_TYPE.onlineCoaching, children: /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(import_themes22.Flex, { align: "center", gap: "2", children: [
2448
- /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Wrapper, { children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_react_icons9.GlobeIcon, {}) }),
2449
- /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Typo, { children: "\uC628\uB77C\uC778" })
2705
+ /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(RadioButtonCard.Item, { value: SERVICE_TYPE.onlineCoaching, children: /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(import_themes22.Flex, { align: "center", gap: "2", children: [
2706
+ /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(Wrapper, { children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_react_icons9.GlobeIcon, {}) }),
2707
+ /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(Typo, { children: "\uC628\uB77C\uC778" })
2450
2708
  ] }) }),
2451
- /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(RadioButtonCard.Item, { value: SERVICE_TYPE.offlineCoaching, children: /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(import_themes22.Flex, { align: "center", gap: "2", children: [
2452
- /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Wrapper, { children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_react_icons9.BackpackIcon, {}) }),
2453
- /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Typo, { children: "\uC624\uD504\uB77C\uC778" })
2709
+ /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(RadioButtonCard.Item, { value: SERVICE_TYPE.offlineCoaching, children: /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(import_themes22.Flex, { align: "center", gap: "2", children: [
2710
+ /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(Wrapper, { children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_react_icons9.BackpackIcon, {}) }),
2711
+ /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(Typo, { children: "\uC624\uD504\uB77C\uC778" })
2454
2712
  ] }) })
2455
2713
  ]
2456
2714
  })
@@ -2458,18 +2716,18 @@ function OnOfflineRadioCard(props) {
2458
2716
  }
2459
2717
 
2460
2718
  // src/app/platform/edit-service-type.tsx
2461
- var import_jsx_runtime100 = require("react/jsx-runtime");
2719
+ var import_jsx_runtime101 = require("react/jsx-runtime");
2462
2720
  function EditServiceType(props) {
2463
2721
  const { defaultServiceType, onClickCancel } = props;
2464
- const [sessionType, setSessionType] = (0, import_react51.useState)(
2722
+ const [sessionType, setSessionType] = (0, import_react52.useState)(
2465
2723
  defaultServiceType
2466
2724
  );
2467
- const onClickSave = (0, import_react51.useCallback)(() => {
2725
+ const onClickSave = (0, import_react52.useCallback)(() => {
2468
2726
  var _a;
2469
2727
  (_a = props.onClickSave) == null ? void 0 : _a.call(props, sessionType);
2470
2728
  }, [props, sessionType]);
2471
- return /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(import_themes6.Box, { children: [
2472
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
2729
+ return /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(import_themes6.Box, { children: [
2730
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
2473
2731
  Typo,
2474
2732
  {
2475
2733
  as: "p",
@@ -2479,16 +2737,16 @@ function EditServiceType(props) {
2479
2737
  children: "\uC138\uC158 \uC720\uD615\uC5D0 \uB530\uB77C \uCC45\uC815\uB418\uB294 \uCF54\uCE6D \uAE08\uC561\uC774 \uB2EC\uB77C\uC9C0\uBBC0\uB85C, \uC815\uD655\uD558\uAC8C \uC120\uD0DD\uD574\uC8FC\uC138\uC694"
2480
2738
  }
2481
2739
  ),
2482
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(OnOfflineRadioCard, { onValueChange: setSessionType, value: sessionType }),
2483
- /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(import_themes22.Flex, { gap: "3", justify: "end", mt: { initial: "6", xs: "3" }, children: [
2484
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(Dialog.Close, { children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(Button, { color: "gray", onClick: onClickCancel, variant: "outline", children: "\uCDE8\uC18C\uD558\uAE30" }) }),
2485
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(Dialog.Close, { children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(Button, { onClick: onClickSave, children: "\uC800\uC7A5\uD558\uAE30" }) })
2740
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(OnOfflineRadioCard, { onValueChange: setSessionType, value: sessionType }),
2741
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(import_themes22.Flex, { gap: "3", justify: "end", mt: { initial: "6", xs: "3" }, children: [
2742
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(Dialog.Close, { children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(Button, { color: "gray", onClick: onClickCancel, variant: "outline", children: "\uCDE8\uC18C\uD558\uAE30" }) }),
2743
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(Dialog.Close, { children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(Button, { onClick: onClickSave, children: "\uC800\uC7A5\uD558\uAE30" }) })
2486
2744
  ] })
2487
2745
  ] });
2488
2746
  }
2489
2747
 
2490
2748
  // src/app/platform/session-card.tsx
2491
- var import_jsx_runtime101 = require("react/jsx-runtime");
2749
+ var import_jsx_runtime102 = require("react/jsx-runtime");
2492
2750
  var preventDefault2 = (e) => {
2493
2751
  e.preventDefault();
2494
2752
  };
@@ -2518,33 +2776,33 @@ function SessionCard(props) {
2518
2776
  "endAt",
2519
2777
  "sessionType"
2520
2778
  ]);
2521
- const renderEditButton = (0, import_react52.useCallback)(() => {
2522
- return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(Button, { color: "gray", ml: "2", variant: "transparent", children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(import_react_icons2.Pencil1Icon, {}) });
2779
+ const renderEditButton = (0, import_react53.useCallback)(() => {
2780
+ return /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(Button, { color: "gray", ml: "2", variant: "transparent", children: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(import_react_icons2.Pencil1Icon, {}) });
2523
2781
  }, []);
2524
- const sessionTimeStr = (0, import_react52.useMemo)(() => {
2782
+ const sessionTimeStr = (0, import_react53.useMemo)(() => {
2525
2783
  if (!startAt || !endAt) return "\uC54C \uC218 \uC5C6\uC74C";
2526
2784
  return `${(0, import_date_fns3.format)(startAt, "yyyy\uB144 MM\uC6D4 dd\uC77C HH\uC2DC mm\uBD84")} ~ ${(0, import_date_fns3.format)(endAt, "HH\uC2DC mm\uBD84")}`;
2527
2785
  }, [startAt, endAt]);
2528
- return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(Card, __spreadProps(__spreadValues({ error: Boolean(error) }, rest), { children: /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(import_themes22.Flex, { direction: "column", gap: "3", children: [
2529
- /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(import_themes22.Flex, { align: "center", width: "100%", children: [
2530
- /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(Heading2, { variant: "heading4", children: `${userName || "\uC54C \uC218 \uC5C6\uC74C"}\uB2D8 ${sessionNumber || "-"}\uD68C\uCC28` }),
2786
+ return /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(Card, __spreadProps(__spreadValues({ error: Boolean(error) }, rest), { children: /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)(import_themes22.Flex, { direction: "column", gap: "3", children: [
2787
+ /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)(import_themes22.Flex, { align: "center", width: "100%", children: [
2788
+ /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(Heading2, { variant: "heading4", children: `${userName || "\uC54C \uC218 \uC5C6\uC74C"}\uB2D8 ${sessionNumber || "-"}\uD68C\uCC28` }),
2531
2789
  TitleExtra,
2532
- error ? /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(BulletText, { as: "p", color: "red", variant: "caption", children: error }) : null
2790
+ error ? /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(BulletText, { as: "p", color: "red", variant: "caption", children: error }) : null
2533
2791
  ] }),
2534
- /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(import_themes15.DataList.Root, { children: [
2535
- /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(import_themes15.DataList.Item, { children: [
2536
- /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(import_themes15.DataList.Label, { children: "\uCF54\uCE6D \uC77C\uC2DC" }),
2537
- /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(import_themes15.DataList.Value, { children: [
2792
+ /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)(import_themes15.DataList.Root, { children: [
2793
+ /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)(import_themes15.DataList.Item, { children: [
2794
+ /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(import_themes15.DataList.Label, { children: "\uCF54\uCE6D \uC77C\uC2DC" }),
2795
+ /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)(import_themes15.DataList.Value, { children: [
2538
2796
  sessionTimeStr,
2539
- editable ? /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(Dialog.Root, { children: [
2540
- /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(Dialog.Trigger, { children: renderEditButton() }),
2541
- /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
2797
+ editable ? /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)(Dialog.Root, { children: [
2798
+ /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(Dialog.Trigger, { children: renderEditButton() }),
2799
+ /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
2542
2800
  Dialog.Content,
2543
2801
  {
2544
2802
  onOpenAutoFocus: preventDefault2,
2545
2803
  style: { overflow: "visible" },
2546
2804
  title: `${sessionNumber}\uD68C\uCC28 \uC138\uC158 \uC77C\uC2DC \uBCC0\uACBD\uD558\uAE30`,
2547
- children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
2805
+ children: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
2548
2806
  EditCoachingTime,
2549
2807
  {
2550
2808
  defaultEndAt: endAt,
@@ -2557,18 +2815,18 @@ function SessionCard(props) {
2557
2815
  ] }) : null
2558
2816
  ] })
2559
2817
  ] }),
2560
- /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(import_themes23.Grid, { columns: { initial: "1", xs: "2" }, style: { gap: "inherit" }, children: [
2561
- /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(import_themes15.DataList.Item, { children: [
2562
- /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(import_themes15.DataList.Label, { children: "\uC138\uC158 \uCC38\uC5EC \uBC29\uC2DD" }),
2563
- /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(import_themes15.DataList.Value, { children: [
2818
+ /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)(import_themes23.Grid, { columns: { initial: "1", xs: "2" }, style: { gap: "inherit" }, children: [
2819
+ /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)(import_themes15.DataList.Item, { children: [
2820
+ /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(import_themes15.DataList.Label, { children: "\uC138\uC158 \uCC38\uC5EC \uBC29\uC2DD" }),
2821
+ /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)(import_themes15.DataList.Value, { children: [
2564
2822
  sessionType === "offlineCoaching" ? "\uC624\uD504\uB77C\uC778" : "\uC628\uB77C\uC778",
2565
- editable ? /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(Dialog.Root, { children: [
2566
- /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(Dialog.Trigger, { children: renderEditButton() }),
2567
- /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
2823
+ editable ? /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)(Dialog.Root, { children: [
2824
+ /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(Dialog.Trigger, { children: renderEditButton() }),
2825
+ /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
2568
2826
  Dialog.Content,
2569
2827
  {
2570
2828
  title: `${sessionNumber}\uD68C\uCC28 \uC138\uC158 \uC9C4\uD589 \uBC29\uC2DD \uBCC0\uACBD\uD558\uAE30`,
2571
- children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
2829
+ children: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
2572
2830
  EditServiceType,
2573
2831
  {
2574
2832
  defaultServiceType: sessionType,
@@ -2580,7 +2838,7 @@ function SessionCard(props) {
2580
2838
  ] }) : null
2581
2839
  ] })
2582
2840
  ] }),
2583
- /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(import_themes22.Flex, { gap: "2", justify: "end", children: ExtraButtons })
2841
+ /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(import_themes22.Flex, { gap: "2", justify: "end", children: ExtraButtons })
2584
2842
  ] })
2585
2843
  ] })
2586
2844
  ] }) }));