@tipp/ui 2.10.3 → 2.10.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 (337) hide show
  1. package/dist/app/index.cjs +385 -359
  2. package/dist/app/index.cjs.map +1 -1
  3. package/dist/app/index.js +82 -80
  4. package/dist/app/platform/coach-question-list.cjs +58 -35
  5. package/dist/app/platform/coach-question-list.cjs.map +1 -1
  6. package/dist/app/platform/coach-question-list.js +30 -29
  7. package/dist/app/platform/contents-card.cjs +120 -97
  8. package/dist/app/platform/contents-card.cjs.map +1 -1
  9. package/dist/app/platform/contents-card.js +30 -29
  10. package/dist/app/platform/curriculum-card.cjs +39 -16
  11. package/dist/app/platform/curriculum-card.cjs.map +1 -1
  12. package/dist/app/platform/curriculum-card.js +5 -4
  13. package/dist/app/platform/edit-coaching-time.cjs +160 -134
  14. package/dist/app/platform/edit-coaching-time.cjs.map +1 -1
  15. package/dist/app/platform/edit-coaching-time.js +66 -64
  16. package/dist/app/platform/edit-service-type.cjs +152 -126
  17. package/dist/app/platform/edit-service-type.cjs.map +1 -1
  18. package/dist/app/platform/edit-service-type.js +66 -64
  19. package/dist/app/platform/goal-manage-card-edit.cjs +162 -136
  20. package/dist/app/platform/goal-manage-card-edit.cjs.map +1 -1
  21. package/dist/app/platform/goal-manage-card-edit.js +67 -65
  22. package/dist/app/platform/goal-manage-card-read.cjs +88 -65
  23. package/dist/app/platform/goal-manage-card-read.cjs.map +1 -1
  24. package/dist/app/platform/goal-manage-card-read.js +30 -29
  25. package/dist/app/platform/on-offline-radio-card.cjs +303 -277
  26. package/dist/app/platform/on-offline-radio-card.cjs.map +1 -1
  27. package/dist/app/platform/on-offline-radio-card.js +66 -64
  28. package/dist/app/platform/report-card.cjs +61 -38
  29. package/dist/app/platform/report-card.cjs.map +1 -1
  30. package/dist/app/platform/report-card.js +30 -29
  31. package/dist/app/platform/reservation-card.cjs +176 -150
  32. package/dist/app/platform/reservation-card.cjs.map +1 -1
  33. package/dist/app/platform/reservation-card.js +67 -65
  34. package/dist/app/platform/session-card.cjs +205 -179
  35. package/dist/app/platform/session-card.cjs.map +1 -1
  36. package/dist/app/platform/session-card.js +67 -65
  37. package/dist/app/platform/session-review-simple-read.cjs +59 -36
  38. package/dist/app/platform/session-review-simple-read.cjs.map +1 -1
  39. package/dist/app/platform/session-review-simple-read.js +30 -29
  40. package/dist/app/platform/userInfos/coaching-customer-info/index.cjs +92 -69
  41. package/dist/app/platform/userInfos/coaching-customer-info/index.cjs.map +1 -1
  42. package/dist/app/platform/userInfos/coaching-customer-info/index.js +34 -33
  43. package/dist/app/platform/userInfos/coaching-customer-info/large.cjs +69 -46
  44. package/dist/app/platform/userInfos/coaching-customer-info/large.cjs.map +1 -1
  45. package/dist/app/platform/userInfos/coaching-customer-info/large.js +30 -29
  46. package/dist/app/platform/userInfos/coaching-customer-info/medium.cjs +72 -49
  47. package/dist/app/platform/userInfos/coaching-customer-info/medium.cjs.map +1 -1
  48. package/dist/app/platform/userInfos/coaching-customer-info/medium.js +30 -29
  49. package/dist/app/platform/userInfos/coaching-customer-info/small.cjs +58 -35
  50. package/dist/app/platform/userInfos/coaching-customer-info/small.cjs.map +1 -1
  51. package/dist/app/platform/userInfos/coaching-customer-info/small.js +29 -28
  52. package/dist/app/platform/userInfos/session-user-info-detail.cjs +68 -45
  53. package/dist/app/platform/userInfos/session-user-info-detail.cjs.map +1 -1
  54. package/dist/app/platform/userInfos/session-user-info-detail.js +29 -28
  55. package/dist/app/platform/userInfos/utils.cjs +60 -37
  56. package/dist/app/platform/userInfos/utils.cjs.map +1 -1
  57. package/dist/app/platform/userInfos/utils.js +29 -28
  58. package/dist/app/roleplay/index.cjs +463 -389
  59. package/dist/app/roleplay/index.cjs.map +1 -1
  60. package/dist/app/roleplay/index.js +78 -76
  61. package/dist/app/roleplay/parts/analysis-section.cjs +64 -41
  62. package/dist/app/roleplay/parts/analysis-section.cjs.map +1 -1
  63. package/dist/app/roleplay/parts/analysis-section.js +29 -28
  64. package/dist/app/roleplay/parts/coaching-panel.cjs +65 -42
  65. package/dist/app/roleplay/parts/coaching-panel.cjs.map +1 -1
  66. package/dist/app/roleplay/parts/coaching-panel.js +30 -29
  67. package/dist/app/roleplay/parts/content.cjs +389 -315
  68. package/dist/app/roleplay/parts/content.cjs.map +1 -1
  69. package/dist/app/roleplay/parts/content.js +74 -72
  70. package/dist/app/roleplay/parts/header.cjs +82 -59
  71. package/dist/app/roleplay/parts/header.cjs.map +1 -1
  72. package/dist/app/roleplay/parts/header.js +30 -29
  73. package/dist/app/roleplay/parts/score-summary.cjs +77 -54
  74. package/dist/app/roleplay/parts/score-summary.cjs.map +1 -1
  75. package/dist/app/roleplay/parts/score-summary.js +30 -29
  76. package/dist/app/roleplay/parts/score-trend-section.cjs +232 -158
  77. package/dist/app/roleplay/parts/score-trend-section.cjs.map +1 -1
  78. package/dist/app/roleplay/parts/score-trend-section.js +70 -68
  79. package/dist/app/roleplay/parts/script-transcript.cjs +73 -50
  80. package/dist/app/roleplay/parts/script-transcript.cjs.map +1 -1
  81. package/dist/app/roleplay/parts/script-transcript.js +29 -28
  82. package/dist/app/roleplay/parts/section-nav.cjs +94 -71
  83. package/dist/app/roleplay/parts/section-nav.cjs.map +1 -1
  84. package/dist/app/roleplay/parts/section-nav.js +29 -28
  85. package/dist/app/roleplay/parts/session-replay-dialog.cjs +83 -60
  86. package/dist/app/roleplay/parts/session-replay-dialog.cjs.map +1 -1
  87. package/dist/app/roleplay/parts/session-replay-dialog.js +29 -28
  88. package/dist/app/roleplay/parts/speech-share-bar.cjs +60 -37
  89. package/dist/app/roleplay/parts/speech-share-bar.cjs.map +1 -1
  90. package/dist/app/roleplay/parts/speech-share-bar.js +29 -28
  91. package/dist/app/roleplay/parts/step-detail.cjs +78 -55
  92. package/dist/app/roleplay/parts/step-detail.cjs.map +1 -1
  93. package/dist/app/roleplay/parts/step-detail.js +29 -28
  94. package/dist/app/roleplay/parts/step-summary.cjs +78 -55
  95. package/dist/app/roleplay/parts/step-summary.cjs.map +1 -1
  96. package/dist/app/roleplay/parts/step-summary.js +32 -31
  97. package/dist/app/roleplay/rp-session-detail.cjs +463 -389
  98. package/dist/app/roleplay/rp-session-detail.cjs.map +1 -1
  99. package/dist/app/roleplay/rp-session-detail.js +78 -76
  100. package/dist/atoms/index.cjs +82 -59
  101. package/dist/atoms/index.cjs.map +1 -1
  102. package/dist/atoms/index.js +64 -63
  103. package/dist/atoms/pagination.cjs +38 -15
  104. package/dist/atoms/pagination.cjs.map +1 -1
  105. package/dist/atoms/pagination.js +3 -2
  106. package/dist/chunk-2EPKY2VT.js +70 -0
  107. package/dist/chunk-2EPKY2VT.js.map +1 -0
  108. package/dist/{chunk-RZW6FVML.js → chunk-2IRG44IV.js} +2 -2
  109. package/dist/chunk-2PPLSZ4P.js +1 -0
  110. package/dist/{chunk-ZQLHRK36.js → chunk-2XDAK4B7.js} +4 -4
  111. package/dist/{chunk-AHAGCAQR.js → chunk-3DZIX4CE.js} +7 -7
  112. package/dist/{chunk-QOVPEQS3.js → chunk-4GH4R4VJ.js} +4 -4
  113. package/dist/chunk-5DRITHNR.js +1 -0
  114. package/dist/{chunk-QVGQBTSJ.js → chunk-5IGBFB67.js} +10 -10
  115. package/dist/{chunk-OBJA26HX.js → chunk-6GODZ2YW.js} +8 -8
  116. package/dist/{chunk-UAUA3PMP.js → chunk-74PR3ZWJ.js} +4 -4
  117. package/dist/{chunk-RPQWRKBW.js → chunk-AYWCLLQ2.js} +7 -7
  118. package/dist/{chunk-KQIUOEBS.js → chunk-C4INJWFV.js} +4 -4
  119. package/dist/{chunk-RBWD6IKY.js → chunk-CBYIPRND.js} +4 -4
  120. package/dist/{chunk-JTVBWQJW.js → chunk-CGLDFUOY.js} +4 -4
  121. package/dist/{chunk-PBKV2YMF.js → chunk-CPSXONQO.js} +9 -9
  122. package/dist/{chunk-K4QH4R3O.js → chunk-CUS3ORMD.js} +4 -4
  123. package/dist/{chunk-H533TE6M.js → chunk-D4U2ZV2A.js} +4 -4
  124. package/dist/{chunk-RRC4WFG3.js → chunk-DIFGHMGI.js} +2 -2
  125. package/dist/{chunk-EXMCCYI2.js → chunk-DPMDQA3O.js} +4 -4
  126. package/dist/{chunk-L4KGHM2H.js → chunk-EJXZXUD2.js} +10 -10
  127. package/dist/{chunk-ZIHVLMT5.js → chunk-GA6W62DO.js} +4 -4
  128. package/dist/{chunk-P2H3VCIB.js → chunk-HL3MGRAC.js} +4 -4
  129. package/dist/chunk-IAKMJR72.js +33 -0
  130. package/dist/chunk-IAKMJR72.js.map +1 -0
  131. package/dist/{chunk-6UWQKH6U.js → chunk-IHLFOJD5.js} +2 -2
  132. package/dist/{chunk-SX46O67F.js → chunk-ISSUGCCY.js} +4 -4
  133. package/dist/{chunk-3ZJVSSAA.js → chunk-KQ3ME6XY.js} +8 -8
  134. package/dist/{chunk-YYVSUTXO.js → chunk-LK2H4QTJ.js} +4 -4
  135. package/dist/{chunk-XMZYZJTH.js → chunk-N3FMP27I.js} +4 -4
  136. package/dist/{chunk-UMLYWHB2.js → chunk-NK6S7ZMB.js} +4 -4
  137. package/dist/{chunk-RJ7XSZ2V.js → chunk-OPIVSYLN.js} +4 -4
  138. package/dist/{chunk-NVBAOOAT.js → chunk-OUDDTPEN.js} +4 -4
  139. package/dist/{chunk-V4QYGHOJ.js → chunk-Q2FDF2AB.js} +7 -7
  140. package/dist/{chunk-3FVDFMKP.js → chunk-RBU2TRYY.js} +9 -9
  141. package/dist/{chunk-PS525SZS.js → chunk-RJ62VZ6O.js} +3 -3
  142. package/dist/{chunk-WJ35Y2IU.js → chunk-SQ3FYBJT.js} +2 -2
  143. package/dist/{chunk-2H635UNE.js → chunk-TYM6T7JT.js} +2 -2
  144. package/dist/{chunk-5RIAIE2J.js → chunk-U4XM7VNI.js} +9 -3
  145. package/dist/chunk-U4XM7VNI.js.map +1 -0
  146. package/dist/{chunk-HNAZV4MI.js → chunk-V7KAHLW2.js} +5 -5
  147. package/dist/{chunk-PVDHXFLT.js → chunk-VBXZIIUA.js} +4 -4
  148. package/dist/{chunk-TDWMI7ZT.js → chunk-VBYXXISC.js} +5 -5
  149. package/dist/{chunk-77J4AZEO.js → chunk-VJREZH2Z.js} +4 -4
  150. package/dist/{chunk-66SUBB2N.js → chunk-W7LO5KYT.js} +9 -9
  151. package/dist/{chunk-RJN4QT5J.js → chunk-WLKK5L3P.js} +7 -7
  152. package/dist/{chunk-A5AZWTXV.js → chunk-WYHDQK2S.js} +7 -7
  153. package/dist/{chunk-54GRMFDC.js → chunk-X3TBEGPA.js} +4 -4
  154. package/dist/context/index.js +1 -1
  155. package/dist/icon.cjs +25 -0
  156. package/dist/icon.cjs.map +1 -1
  157. package/dist/icon.d.cts +1 -0
  158. package/dist/icon.d.ts +1 -0
  159. package/dist/icon.js +7 -3
  160. package/dist/icons/empty-box.cjs +90 -0
  161. package/dist/icons/empty-box.cjs.map +1 -0
  162. package/dist/icons/empty-box.d.cts +13 -0
  163. package/dist/icons/empty-box.d.ts +13 -0
  164. package/dist/icons/empty-box.js +8 -0
  165. package/dist/icons/empty-box.js.map +1 -0
  166. package/dist/icons/index.cjs +25 -0
  167. package/dist/icons/index.cjs.map +1 -1
  168. package/dist/icons/index.d.cts +1 -0
  169. package/dist/icons/index.d.ts +1 -0
  170. package/dist/icons/index.js +7 -3
  171. package/dist/index.cjs +963 -885
  172. package/dist/index.cjs.map +1 -1
  173. package/dist/index.d.cts +2 -0
  174. package/dist/index.d.ts +2 -0
  175. package/dist/index.js +156 -148
  176. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.cjs +95 -72
  177. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.cjs.map +1 -1
  178. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.js +11 -10
  179. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.cjs +29 -6
  180. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.cjs.map +1 -1
  181. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.js +3 -2
  182. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.cjs +71 -48
  183. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.cjs.map +1 -1
  184. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.js +9 -8
  185. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-footer.cjs +32 -9
  186. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-footer.cjs.map +1 -1
  187. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-footer.js +3 -2
  188. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.cjs +41 -18
  189. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.cjs.map +1 -1
  190. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.js +5 -4
  191. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.cjs +33 -10
  192. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.cjs.map +1 -1
  193. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.js +5 -4
  194. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.cjs +33 -10
  195. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.cjs.map +1 -1
  196. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.js +4 -3
  197. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.cjs +42 -19
  198. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.cjs.map +1 -1
  199. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.js +6 -5
  200. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.cjs +37 -14
  201. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.cjs.map +1 -1
  202. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.js +3 -2
  203. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.cjs +153 -130
  204. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.cjs.map +1 -1
  205. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.js +14 -13
  206. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.cjs +45 -22
  207. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.cjs.map +1 -1
  208. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.js +5 -4
  209. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.cjs +30 -7
  210. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.cjs.map +1 -1
  211. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.js +3 -2
  212. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.cjs +171 -148
  213. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.cjs.map +1 -1
  214. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.js +15 -14
  215. package/dist/molecules/curriculumV2/CurriculumContents/index.cjs +220 -197
  216. package/dist/molecules/curriculumV2/CurriculumContents/index.cjs.map +1 -1
  217. package/dist/molecules/curriculumV2/CurriculumContents/index.js +18 -17
  218. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-item.cjs +33 -10
  219. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-item.cjs.map +1 -1
  220. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-item.js +3 -2
  221. package/dist/molecules/curriculumV2/CurriculumSidebar/index.cjs +52 -29
  222. package/dist/molecules/curriculumV2/CurriculumSidebar/index.cjs.map +1 -1
  223. package/dist/molecules/curriculumV2/CurriculumSidebar/index.js +8 -7
  224. package/dist/molecules/curriculumV2/CurriculumSidebar/sidebar-item.cjs +44 -21
  225. package/dist/molecules/curriculumV2/CurriculumSidebar/sidebar-item.cjs.map +1 -1
  226. package/dist/molecules/curriculumV2/CurriculumSidebar/sidebar-item.js +6 -5
  227. package/dist/molecules/curriculumV2/curriculum-sub-nav.cjs +36 -13
  228. package/dist/molecules/curriculumV2/curriculum-sub-nav.cjs.map +1 -1
  229. package/dist/molecules/curriculumV2/curriculum-sub-nav.js +3 -2
  230. package/dist/molecules/curriculumV2/index.cjs +264 -241
  231. package/dist/molecules/curriculumV2/index.cjs.map +1 -1
  232. package/dist/molecules/curriculumV2/index.js +28 -27
  233. package/dist/molecules/date-picker/date-picker-button.cjs +52 -29
  234. package/dist/molecules/date-picker/date-picker-button.cjs.map +1 -1
  235. package/dist/molecules/date-picker/date-picker-button.js +3 -2
  236. package/dist/molecules/date-picker/index.cjs +40 -17
  237. package/dist/molecules/date-picker/index.cjs.map +1 -1
  238. package/dist/molecules/date-picker/index.js +3 -2
  239. package/dist/molecules/description-json-render.cjs +31 -8
  240. package/dist/molecules/description-json-render.cjs.map +1 -1
  241. package/dist/molecules/description-json-render.js +5 -4
  242. package/dist/molecules/dynamic-field.js +3 -3
  243. package/dist/molecules/dynamic-form-editor-field-editor-panel.cjs +138 -115
  244. package/dist/molecules/dynamic-form-editor-field-editor-panel.cjs.map +1 -1
  245. package/dist/molecules/dynamic-form-editor-field-editor-panel.js +6 -5
  246. package/dist/molecules/dynamic-form-editor-field-list-panel.js +2 -2
  247. package/dist/molecules/dynamic-form-editor-issues-panel.js +2 -2
  248. package/dist/molecules/dynamic-form-editor-preview-panel.js +6 -6
  249. package/dist/molecules/dynamic-form-editor.cjs +223 -200
  250. package/dist/molecules/dynamic-form-editor.cjs.map +1 -1
  251. package/dist/molecules/dynamic-form-editor.js +14 -13
  252. package/dist/molecules/dynamic-form.js +4 -4
  253. package/dist/molecules/empty-state.cjs +328 -0
  254. package/dist/molecules/empty-state.cjs.map +1 -0
  255. package/dist/molecules/empty-state.d.cts +21 -0
  256. package/dist/molecules/empty-state.d.ts +21 -0
  257. package/dist/molecules/empty-state.js +16 -0
  258. package/dist/molecules/empty-state.js.map +1 -0
  259. package/dist/molecules/expand-table/index.cjs +197 -59
  260. package/dist/molecules/expand-table/index.cjs.map +1 -1
  261. package/dist/molecules/expand-table/index.js +7 -4
  262. package/dist/molecules/index.cjs +866 -790
  263. package/dist/molecules/index.cjs.map +1 -1
  264. package/dist/molecules/index.d.cts +2 -1
  265. package/dist/molecules/index.d.ts +2 -1
  266. package/dist/molecules/index.js +76 -71
  267. package/dist/molecules/learning-post.js +3 -3
  268. package/dist/molecules/stepper.cjs +43 -20
  269. package/dist/molecules/stepper.cjs.map +1 -1
  270. package/dist/molecules/stepper.js +5 -4
  271. package/dist/molecules/tag-selector.cjs +43 -20
  272. package/dist/molecules/tag-selector.cjs.map +1 -1
  273. package/dist/molecules/tag-selector.js +6 -5
  274. package/dist/molecules/time-select.cjs +28 -5
  275. package/dist/molecules/time-select.cjs.map +1 -1
  276. package/dist/molecules/time-select.js +3 -2
  277. package/dist/molecules/training-info-guideline.js +1 -1
  278. package/dist/utils/curriculum.utils.cjs +23 -0
  279. package/dist/utils/curriculum.utils.cjs.map +1 -1
  280. package/dist/utils/curriculum.utils.js +3 -2
  281. package/dist/utils/get-callout-icon-component.cjs +23 -0
  282. package/dist/utils/get-callout-icon-component.cjs.map +1 -1
  283. package/dist/utils/get-callout-icon-component.js +3 -2
  284. package/dist/utils/index.cjs +23 -0
  285. package/dist/utils/index.cjs.map +1 -1
  286. package/dist/utils/index.js +3 -2
  287. package/package.json +1 -1
  288. package/src/icons/empty-box.tsx +29 -0
  289. package/src/icons/index.ts +2 -1
  290. package/src/molecules/empty-state.tsx +79 -0
  291. package/src/molecules/expand-table/index.tsx +5 -3
  292. package/src/molecules/index.ts +1 -0
  293. package/dist/chunk-5RIAIE2J.js.map +0 -1
  294. package/dist/chunk-JVXATVAC.js +0 -1
  295. package/dist/chunk-SYMOHU2B.js +0 -1
  296. /package/dist/{chunk-RZW6FVML.js.map → chunk-2IRG44IV.js.map} +0 -0
  297. /package/dist/{chunk-JVXATVAC.js.map → chunk-2PPLSZ4P.js.map} +0 -0
  298. /package/dist/{chunk-ZQLHRK36.js.map → chunk-2XDAK4B7.js.map} +0 -0
  299. /package/dist/{chunk-AHAGCAQR.js.map → chunk-3DZIX4CE.js.map} +0 -0
  300. /package/dist/{chunk-QOVPEQS3.js.map → chunk-4GH4R4VJ.js.map} +0 -0
  301. /package/dist/{chunk-SYMOHU2B.js.map → chunk-5DRITHNR.js.map} +0 -0
  302. /package/dist/{chunk-QVGQBTSJ.js.map → chunk-5IGBFB67.js.map} +0 -0
  303. /package/dist/{chunk-OBJA26HX.js.map → chunk-6GODZ2YW.js.map} +0 -0
  304. /package/dist/{chunk-UAUA3PMP.js.map → chunk-74PR3ZWJ.js.map} +0 -0
  305. /package/dist/{chunk-RPQWRKBW.js.map → chunk-AYWCLLQ2.js.map} +0 -0
  306. /package/dist/{chunk-KQIUOEBS.js.map → chunk-C4INJWFV.js.map} +0 -0
  307. /package/dist/{chunk-RBWD6IKY.js.map → chunk-CBYIPRND.js.map} +0 -0
  308. /package/dist/{chunk-JTVBWQJW.js.map → chunk-CGLDFUOY.js.map} +0 -0
  309. /package/dist/{chunk-PBKV2YMF.js.map → chunk-CPSXONQO.js.map} +0 -0
  310. /package/dist/{chunk-K4QH4R3O.js.map → chunk-CUS3ORMD.js.map} +0 -0
  311. /package/dist/{chunk-H533TE6M.js.map → chunk-D4U2ZV2A.js.map} +0 -0
  312. /package/dist/{chunk-RRC4WFG3.js.map → chunk-DIFGHMGI.js.map} +0 -0
  313. /package/dist/{chunk-EXMCCYI2.js.map → chunk-DPMDQA3O.js.map} +0 -0
  314. /package/dist/{chunk-L4KGHM2H.js.map → chunk-EJXZXUD2.js.map} +0 -0
  315. /package/dist/{chunk-ZIHVLMT5.js.map → chunk-GA6W62DO.js.map} +0 -0
  316. /package/dist/{chunk-P2H3VCIB.js.map → chunk-HL3MGRAC.js.map} +0 -0
  317. /package/dist/{chunk-6UWQKH6U.js.map → chunk-IHLFOJD5.js.map} +0 -0
  318. /package/dist/{chunk-SX46O67F.js.map → chunk-ISSUGCCY.js.map} +0 -0
  319. /package/dist/{chunk-3ZJVSSAA.js.map → chunk-KQ3ME6XY.js.map} +0 -0
  320. /package/dist/{chunk-YYVSUTXO.js.map → chunk-LK2H4QTJ.js.map} +0 -0
  321. /package/dist/{chunk-XMZYZJTH.js.map → chunk-N3FMP27I.js.map} +0 -0
  322. /package/dist/{chunk-UMLYWHB2.js.map → chunk-NK6S7ZMB.js.map} +0 -0
  323. /package/dist/{chunk-RJ7XSZ2V.js.map → chunk-OPIVSYLN.js.map} +0 -0
  324. /package/dist/{chunk-NVBAOOAT.js.map → chunk-OUDDTPEN.js.map} +0 -0
  325. /package/dist/{chunk-V4QYGHOJ.js.map → chunk-Q2FDF2AB.js.map} +0 -0
  326. /package/dist/{chunk-3FVDFMKP.js.map → chunk-RBU2TRYY.js.map} +0 -0
  327. /package/dist/{chunk-PS525SZS.js.map → chunk-RJ62VZ6O.js.map} +0 -0
  328. /package/dist/{chunk-WJ35Y2IU.js.map → chunk-SQ3FYBJT.js.map} +0 -0
  329. /package/dist/{chunk-2H635UNE.js.map → chunk-TYM6T7JT.js.map} +0 -0
  330. /package/dist/{chunk-HNAZV4MI.js.map → chunk-V7KAHLW2.js.map} +0 -0
  331. /package/dist/{chunk-PVDHXFLT.js.map → chunk-VBXZIIUA.js.map} +0 -0
  332. /package/dist/{chunk-TDWMI7ZT.js.map → chunk-VBYXXISC.js.map} +0 -0
  333. /package/dist/{chunk-77J4AZEO.js.map → chunk-VJREZH2Z.js.map} +0 -0
  334. /package/dist/{chunk-66SUBB2N.js.map → chunk-W7LO5KYT.js.map} +0 -0
  335. /package/dist/{chunk-RJN4QT5J.js.map → chunk-WLKK5L3P.js.map} +0 -0
  336. /package/dist/{chunk-A5AZWTXV.js.map → chunk-WYHDQK2S.js.map} +0 -0
  337. /package/dist/{chunk-54GRMFDC.js.map → chunk-X3TBEGPA.js.map} +0 -0
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  DynamicFormEditor
3
- } from "../chunk-66SUBB2N.js";
4
- import "../chunk-AHAGCAQR.js";
5
- import "../chunk-RBWD6IKY.js";
6
- import "../chunk-H533TE6M.js";
7
- import "../chunk-HNAZV4MI.js";
8
- import "../chunk-WJ35Y2IU.js";
9
- import "../chunk-UMLYWHB2.js";
3
+ } from "../chunk-W7LO5KYT.js";
4
+ import "../chunk-V7KAHLW2.js";
5
+ import "../chunk-SQ3FYBJT.js";
6
+ import "../chunk-NK6S7ZMB.js";
7
+ import "../chunk-3DZIX4CE.js";
8
+ import "../chunk-CBYIPRND.js";
10
9
  import "../chunk-Z7WNKARH.js";
10
+ import "../chunk-D4U2ZV2A.js";
11
11
  import "../chunk-FAL6S2XK.js";
12
12
  import "../chunk-AELKCD6B.js";
13
13
  import "../chunk-5XYPLDI5.js";
@@ -15,14 +15,13 @@ import "../chunk-6NPTJBFE.js";
15
15
  import "../chunk-YXMB4MCM.js";
16
16
  import "../chunk-DX3DLP5Z.js";
17
17
  import "../chunk-SA7AYYQS.js";
18
- import "../chunk-EGEQY3KT.js";
19
18
  import "../chunk-XQOL7UBI.js";
19
+ import "../chunk-EGEQY3KT.js";
20
+ import "../chunk-WG5OK3YN.js";
21
+ import "../chunk-ZCGH6TJ3.js";
20
22
  import "../chunk-USGOLLYO.js";
21
23
  import "../chunk-7RJYF5L3.js";
22
24
  import "../chunk-HF6GNDPV.js";
23
- import "../chunk-RP2RGCAW.js";
24
- import "../chunk-WG5OK3YN.js";
25
- import "../chunk-ZCGH6TJ3.js";
26
25
  import "../chunk-L4QQGIYQ.js";
27
26
  import "../chunk-LDBWASUA.js";
28
27
  import "../chunk-PO2PBAHW.js";
@@ -30,8 +29,10 @@ import "../chunk-36W7VD2Z.js";
30
29
  import "../chunk-25HMMI7R.js";
31
30
  import "../chunk-2LCH3PDF.js";
32
31
  import "../chunk-LQY4RKWI.js";
32
+ import "../chunk-RP2RGCAW.js";
33
33
  import "../chunk-VOME2TE7.js";
34
- import "../chunk-JVXATVAC.js";
34
+ import "../chunk-2PPLSZ4P.js";
35
+ import "../chunk-2FJ4LW7E.js";
35
36
  import "../chunk-B3VSXNTH.js";
36
37
  import "../chunk-ZQE7SP6P.js";
37
38
  import "../chunk-R6ARPREO.js";
@@ -42,7 +43,7 @@ import "../chunk-QO6KO6MN.js";
42
43
  import "../chunk-5KNRHIIF.js";
43
44
  import "../chunk-6JRAI4G5.js";
44
45
  import "../chunk-776WBOKL.js";
45
- import "../chunk-2FJ4LW7E.js";
46
+ import "../chunk-IAKMJR72.js";
46
47
  import "../chunk-YSYJCYHY.js";
47
48
  import "../chunk-5OM2H6RI.js";
48
49
  import "../chunk-ZUYCXCPW.js";
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  DynamicForm,
3
3
  createYupValidation
4
- } from "../chunk-WJ35Y2IU.js";
5
- import "../chunk-UMLYWHB2.js";
4
+ } from "../chunk-SQ3FYBJT.js";
5
+ import "../chunk-NK6S7ZMB.js";
6
6
  import "../chunk-FAL6S2XK.js";
7
7
  import "../chunk-AELKCD6B.js";
8
8
  import "../chunk-5XYPLDI5.js";
@@ -10,11 +10,11 @@ import "../chunk-6NPTJBFE.js";
10
10
  import "../chunk-YXMB4MCM.js";
11
11
  import "../chunk-DX3DLP5Z.js";
12
12
  import "../chunk-SA7AYYQS.js";
13
- import "../chunk-EGEQY3KT.js";
14
13
  import "../chunk-XQOL7UBI.js";
15
- import "../chunk-USGOLLYO.js";
14
+ import "../chunk-EGEQY3KT.js";
16
15
  import "../chunk-WG5OK3YN.js";
17
16
  import "../chunk-ZCGH6TJ3.js";
17
+ import "../chunk-USGOLLYO.js";
18
18
  import "../chunk-L4QQGIYQ.js";
19
19
  import "../chunk-LDBWASUA.js";
20
20
  import "../chunk-PO2PBAHW.js";
@@ -0,0 +1,328 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __defProps = Object.defineProperties;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
7
+ var __getOwnPropNames = Object.getOwnPropertyNames;
8
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
9
+ var __getProtoOf = Object.getPrototypeOf;
10
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
11
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
12
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
13
+ var __spreadValues = (a, b) => {
14
+ for (var prop in b || (b = {}))
15
+ if (__hasOwnProp.call(b, prop))
16
+ __defNormalProp(a, prop, b[prop]);
17
+ if (__getOwnPropSymbols)
18
+ for (var prop of __getOwnPropSymbols(b)) {
19
+ if (__propIsEnum.call(b, prop))
20
+ __defNormalProp(a, prop, b[prop]);
21
+ }
22
+ return a;
23
+ };
24
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
25
+ var __objRest = (source, exclude) => {
26
+ var target = {};
27
+ for (var prop in source)
28
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
29
+ target[prop] = source[prop];
30
+ if (source != null && __getOwnPropSymbols)
31
+ for (var prop of __getOwnPropSymbols(source)) {
32
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
33
+ target[prop] = source[prop];
34
+ }
35
+ return target;
36
+ };
37
+ var __export = (target, all) => {
38
+ for (var name in all)
39
+ __defProp(target, name, { get: all[name], enumerable: true });
40
+ };
41
+ var __copyProps = (to, from, except, desc) => {
42
+ if (from && typeof from === "object" || typeof from === "function") {
43
+ for (let key of __getOwnPropNames(from))
44
+ if (!__hasOwnProp.call(to, key) && key !== except)
45
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
46
+ }
47
+ return to;
48
+ };
49
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
50
+ // If the importer is in node compatibility mode or this is not an ESM
51
+ // file that has been converted to a CommonJS file using a Babel-
52
+ // compatible transform (i.e. "__esModule" has not been set), then set
53
+ // "default" to the CommonJS "module.exports" for node compatibility.
54
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
55
+ mod
56
+ ));
57
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
58
+
59
+ // src/molecules/empty-state.tsx
60
+ var empty_state_exports = {};
61
+ __export(empty_state_exports, {
62
+ EmptyState: () => EmptyState
63
+ });
64
+ module.exports = __toCommonJS(empty_state_exports);
65
+
66
+ // src/atoms/flex.tsx
67
+ var import_themes = require("@radix-ui/themes");
68
+
69
+ // src/atoms/heading.tsx
70
+ var import_themes2 = require("@radix-ui/themes");
71
+ var import_clsx = require("clsx");
72
+ var import_react = require("react");
73
+
74
+ // src/utils/map-with-responsive.ts
75
+ var mapWithResponsive = (args) => {
76
+ const { value, mapFn } = args;
77
+ if (typeof value === "string") {
78
+ return mapFn(value);
79
+ }
80
+ ;
81
+ if (typeof value === "object") {
82
+ const newObj = {};
83
+ let key;
84
+ for (key in value) {
85
+ newObj[key] = mapFn(value[key]);
86
+ }
87
+ return newObj;
88
+ }
89
+ return value;
90
+ };
91
+
92
+ // src/utils/clamp-style.ts
93
+ var clampStyle = (lines) => ({
94
+ display: "-webkit-box",
95
+ WebkitBoxOrient: "vertical",
96
+ WebkitLineClamp: lines,
97
+ lineClamp: lines,
98
+ overflow: "hidden"
99
+ });
100
+
101
+ // src/utils/mono-style.ts
102
+ var MONO_STYLE = {
103
+ fontFamily: 'var(--code-font-family, ui-monospace, "SF Mono", monospace)',
104
+ fontVariantNumeric: "tabular-nums"
105
+ };
106
+
107
+ // src/utils/resolve-color.ts
108
+ var SEMANTIC_COLOR_MAP = {
109
+ error: "red",
110
+ neutral: "gray",
111
+ success: "green",
112
+ accent: void 0
113
+ };
114
+ var CUSTOM_COLOR_MAP = {
115
+ black: { className: "tipp-accent-black", fallbackColor: "gray" }
116
+ };
117
+ var isSemanticColor = (color) => color !== void 0 && color in SEMANTIC_COLOR_MAP;
118
+ var isCustomColor = (color) => color !== void 0 && color in CUSTOM_COLOR_MAP;
119
+ var resolveColor = (color) => {
120
+ if (isCustomColor(color)) {
121
+ const { className, fallbackColor } = CUSTOM_COLOR_MAP[color];
122
+ return { color: fallbackColor, className };
123
+ }
124
+ if (isSemanticColor(color)) {
125
+ return { color: SEMANTIC_COLOR_MAP[color] };
126
+ }
127
+ return { color };
128
+ };
129
+
130
+ // src/atoms/heading.tsx
131
+ var import_themes3 = require("@radix-ui/themes");
132
+ var import_jsx_runtime = require("react/jsx-runtime");
133
+ var mapVariant = (variant) => {
134
+ switch (variant) {
135
+ case "heading1":
136
+ return "7";
137
+ case "heading2":
138
+ return "6";
139
+ case "heading3":
140
+ return "5";
141
+ case "heading4":
142
+ return "4";
143
+ case "heading5":
144
+ return "3";
145
+ default:
146
+ return void 0;
147
+ }
148
+ };
149
+ function Heading2(props) {
150
+ const _a = props, {
151
+ size,
152
+ children,
153
+ variant,
154
+ color,
155
+ className,
156
+ mono,
157
+ clamp,
158
+ style
159
+ } = _a, rest = __objRest(_a, [
160
+ "size",
161
+ "children",
162
+ "variant",
163
+ "color",
164
+ "className",
165
+ "mono",
166
+ "clamp",
167
+ "style"
168
+ ]);
169
+ const { color: radixColor, className: colorClassName } = (0, import_react.useMemo)(
170
+ () => resolveColor(color),
171
+ [color]
172
+ );
173
+ const radixSize = (0, import_react.useMemo)(() => {
174
+ return variant ? mapWithResponsive({
175
+ value: variant,
176
+ mapFn: mapVariant
177
+ }) : size;
178
+ }, [size, variant]);
179
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
180
+ import_themes2.Heading,
181
+ __spreadProps(__spreadValues({}, rest), {
182
+ className: (0, import_clsx.clsx)(colorClassName, className),
183
+ color: radixColor,
184
+ size: radixSize,
185
+ style: __spreadValues(__spreadValues(__spreadValues({}, mono ? MONO_STYLE : null), clamp ? clampStyle(clamp) : null), style),
186
+ children
187
+ })
188
+ );
189
+ }
190
+
191
+ // src/atoms/typo.tsx
192
+ var import_themes4 = require("@radix-ui/themes");
193
+ var import_clsx2 = require("clsx");
194
+ var import_react2 = require("react");
195
+ var import_jsx_runtime2 = require("react/jsx-runtime");
196
+ var Typo = (0, import_react2.forwardRef)(
197
+ (props, ref) => {
198
+ const _a = props, {
199
+ size,
200
+ variant,
201
+ children,
202
+ color,
203
+ className,
204
+ mono,
205
+ clamp,
206
+ style
207
+ } = _a, rest = __objRest(_a, [
208
+ "size",
209
+ "variant",
210
+ "children",
211
+ "color",
212
+ "className",
213
+ "mono",
214
+ "clamp",
215
+ "style"
216
+ ]);
217
+ const { color: radixColor, className: colorClassName } = (0, import_react2.useMemo)(
218
+ () => resolveColor(color),
219
+ [color]
220
+ );
221
+ const radixSize = (0, import_react2.useMemo)(() => {
222
+ if (size !== void 0) return size;
223
+ if (variant === void 0) return "2";
224
+ return mapWithResponsive({
225
+ value: variant,
226
+ mapFn: (variantValue) => {
227
+ switch (variantValue) {
228
+ case "caption":
229
+ return "1";
230
+ case "subtitle":
231
+ return "3";
232
+ case "body":
233
+ default:
234
+ return "2";
235
+ }
236
+ }
237
+ });
238
+ }, [size, variant]);
239
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
240
+ import_themes4.Text,
241
+ __spreadProps(__spreadValues({}, rest), {
242
+ className: (0, import_clsx2.clsx)(colorClassName, className),
243
+ color: radixColor,
244
+ ref,
245
+ size: radixSize,
246
+ style: __spreadValues(__spreadValues(__spreadValues({}, mono ? MONO_STYLE : null), clamp ? clampStyle(clamp) : null), style),
247
+ children
248
+ })
249
+ );
250
+ }
251
+ );
252
+ Typo.displayName = "Typo";
253
+
254
+ // src/icons/empty-box.tsx
255
+ var React2 = __toESM(require("react"), 1);
256
+ var import_jsx_runtime3 = require("react/jsx-runtime");
257
+ var EmptyBoxIcon = React2.forwardRef(
258
+ (_a, forwardedRef) => {
259
+ var _b = _a, { color = "currentColor", width = 120, height = 120 } = _b, props = __objRest(_b, ["color", "width", "height"]);
260
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
261
+ "svg",
262
+ __spreadProps(__spreadValues({
263
+ fill: color,
264
+ height,
265
+ viewBox: "0 0 462.035 462.035",
266
+ width,
267
+ xmlns: "http://www.w3.org/2000/svg"
268
+ }, props), {
269
+ ref: forwardedRef,
270
+ children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M457.83,158.441c-0.021-0.028-0.033-0.058-0.057-0.087l-50.184-62.48c-0.564-0.701-1.201-1.305-1.879-1.845c-2.16-2.562-5.355-4.225-8.967-4.225H65.292c-3.615,0-6.804,1.661-8.965,4.225c-0.678,0.54-1.316,1.138-1.885,1.845l-50.178,62.48c-0.023,0.029-0.034,0.059-0.057,0.087C1.655,160.602,0,163.787,0,167.39v193.07c0,6.5,5.27,11.771,11.77,11.771h438.496c6.5,0,11.77-5.271,11.77-11.771V167.39C462.037,163.787,460.381,160.602,457.83,158.441z M408.516,134.615l16.873,21.005h-16.873V134.615z M384.975,113.345v42.274H296.84c-2.514,0-4.955,0.805-6.979,2.293l-58.837,43.299l-58.849-43.305c-2.023-1.482-4.466-2.287-6.978-2.287H77.061v-42.274H384.975z M53.523,155.62H36.65l16.873-21.005V155.62z M438.498,348.69H23.54V179.16h137.796l62.711,46.148c4.15,3.046,9.805,3.052,13.954-0.005l62.698-46.144h137.799V348.69L438.498,348.69z" })
271
+ })
272
+ );
273
+ }
274
+ );
275
+ EmptyBoxIcon.displayName = "EmptyBoxIcon";
276
+
277
+ // src/molecules/empty-state.tsx
278
+ var import_jsx_runtime4 = require("react/jsx-runtime");
279
+ var ICON_SIZE = {
280
+ illustration: 120,
281
+ compact: 56
282
+ };
283
+ function EmptyState(_a) {
284
+ var _b = _a, {
285
+ size = "illustration",
286
+ heading,
287
+ body,
288
+ icon
289
+ } = _b, flexProps = __objRest(_b, [
290
+ "size",
291
+ "heading",
292
+ "body",
293
+ "icon"
294
+ ]);
295
+ const isCompact = size === "compact";
296
+ const iconSize = ICON_SIZE[size];
297
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
298
+ import_themes.Flex,
299
+ __spreadProps(__spreadValues({
300
+ align: "center",
301
+ direction: "column",
302
+ gap: isCompact ? "2" : "3",
303
+ justify: "center",
304
+ py: isCompact ? "5" : "9",
305
+ width: "100%"
306
+ }, flexProps), {
307
+ children: [
308
+ icon != null ? icon : /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
309
+ EmptyBoxIcon,
310
+ {
311
+ color: "var(--gray-8)",
312
+ height: iconSize,
313
+ width: iconSize
314
+ }
315
+ ),
316
+ heading || body ? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_themes.Flex, { align: "center", direction: "column", gap: "1", children: [
317
+ heading ? isCompact ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Typo, { color: "gray", variant: "subtitle", children: heading }) : /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Heading2, { color: "gray", variant: "heading5", children: heading }) : null,
318
+ body ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Typo, { color: "gray", variant: isCompact ? "caption" : "body", children: body }) : null
319
+ ] }) : null
320
+ ]
321
+ })
322
+ );
323
+ }
324
+ // Annotate the CommonJS export names for ESM import in node:
325
+ 0 && (module.exports = {
326
+ EmptyState
327
+ });
328
+ //# sourceMappingURL=empty-state.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/molecules/empty-state.tsx","../../src/atoms/flex.tsx","../../src/atoms/heading.tsx","../../src/utils/map-with-responsive.ts","../../src/utils/clamp-style.ts","../../src/utils/mono-style.ts","../../src/utils/resolve-color.ts","../../src/atoms/typo.tsx","../../src/icons/empty-box.tsx"],"sourcesContent":["import type { FlexProps } from '@/atoms/flex';\nimport { Flex } from '@/atoms/flex';\nimport { Heading } from '@/atoms/heading';\nimport { Typo } from '@/atoms/typo';\nimport * as React from 'react';\nimport { EmptyBoxIcon } from '../icons/empty-box';\n\nexport type EmptyStateSize = 'illustration' | 'compact';\n\nexport type EmptyStateProps = FlexProps & {\n /** 일러스트 크기 — illustration: 페이지 전체용(큰 일러스트), compact: 테이블 셀 등 좁은 곳(작은 일러스트) */\n size?: EmptyStateSize;\n /** 제목 텍스트 */\n heading?: string;\n /** 보조 설명 텍스트 */\n body?: string;\n /** 기본 empty-box 일러스트 대신 사용할 아이콘/이미지 */\n icon?: React.ReactNode;\n};\n\nconst ICON_SIZE: Record<EmptyStateSize, number> = {\n illustration: 120,\n compact: 56,\n};\n\n/**\n * 데이터 없음(빈 상태)을 표시하는 공용 컴포넌트.\n * ExpandTable 등 데이터가 비는 모든 화면에서 공용으로 사용한다.\n */\nexport function EmptyState({\n size = 'illustration',\n heading,\n body,\n icon,\n ...flexProps\n}: EmptyStateProps): React.ReactElement {\n const isCompact = size === 'compact';\n const iconSize = ICON_SIZE[size];\n\n return (\n <Flex\n align=\"center\"\n direction=\"column\"\n gap={isCompact ? '2' : '3'}\n justify=\"center\"\n py={isCompact ? '5' : '9'}\n width=\"100%\"\n {...flexProps}\n >\n {icon ?? (\n <EmptyBoxIcon\n color=\"var(--gray-8)\"\n height={iconSize}\n width={iconSize}\n />\n )}\n {heading || body ? (\n <Flex align=\"center\" direction=\"column\" gap=\"1\">\n {heading ? (\n isCompact ? (\n <Typo color=\"gray\" variant=\"subtitle\">\n {heading}\n </Typo>\n ) : (\n <Heading color=\"gray\" variant=\"heading5\">\n {heading}\n </Heading>\n )\n ) : null}\n {body ? (\n <Typo color=\"gray\" variant={isCompact ? 'caption' : 'body'}>\n {body}\n </Typo>\n ) : null}\n </Flex>\n ) : null}\n </Flex>\n );\n}\n","export { Flex, type FlexProps } from '@radix-ui/themes';\n","import {\n Heading as RadixHeading,\n type HeadingProps as RadixHeadingProps,\n} from '@radix-ui/themes';\nimport type { Responsive } from '@radix-ui/themes/props';\nimport { clsx } from 'clsx';\nimport { useMemo } from 'react';\nimport { mapWithResponsive } from '@/utils/map-with-responsive';\nimport { clampStyle } from '../utils/clamp-style';\nimport { MONO_STYLE } from '../utils/mono-style';\nimport {\n resolveColor,\n type DistributiveOmit,\n type UiColor,\n} from '../utils/resolve-color';\n\nexport { Heading as RadixHeading } from '@radix-ui/themes';\ntype HeadingVariant =\n | 'heading1'\n | 'heading2'\n | 'heading3'\n | 'heading4'\n | 'heading5';\nexport type HeadingProps = DistributiveOmit<RadixHeadingProps, 'color'> & {\n variant?: Responsive<HeadingVariant>;\n color?: UiColor;\n /** 등폭(monospace) 폰트 + 숫자 고정폭 정렬(tabular-nums). 점수·퍼센트 등 수치 표시에 사용한다. */\n mono?: boolean;\n /** 여러 줄 말줄임(line-clamp). 지정한 줄 수까지만 표시하고 넘치면 …로 자른다. */\n clamp?: number;\n};\n\ntype HeadingSize = '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9';\n\nconst mapVariant = (variant?: HeadingVariant): HeadingSize | undefined => {\n switch (variant) {\n case 'heading1':\n return '7';\n case 'heading2':\n return '6';\n case 'heading3':\n return '5';\n case 'heading4':\n return '4';\n case 'heading5':\n return '3';\n default:\n return undefined;\n }\n};\n\nexport function Heading(props: HeadingProps): React.ReactNode {\n const {\n size,\n children,\n variant,\n color,\n className,\n mono,\n clamp,\n style,\n ...rest\n } = props;\n\n const { color: radixColor, className: colorClassName } = useMemo(\n () => resolveColor(color),\n [color]\n );\n\n const radixSize = useMemo<RadixHeadingProps['size']>(() => {\n return variant\n ? mapWithResponsive({\n value: variant,\n mapFn: mapVariant,\n })\n : size;\n\n }, [size, variant]);\n\n return (\n <RadixHeading\n {...rest}\n className={clsx(colorClassName, className)}\n color={radixColor}\n size={radixSize}\n style={{\n ...(mono ? MONO_STYLE : null),\n ...(clamp ? clampStyle(clamp) : null),\n ...style,\n }}\n >\n {children}\n </RadixHeading>\n );\n}\n","import type { Breakpoint, Responsive } from \"@radix-ui/themes/props\";\n\nexport const mapWithResponsive = <T extends string,K extends string>(\n args: {value: Responsive<T>, mapFn: (value?:T)=>K |undefined}\n): Responsive<K> | undefined => {\n const {value, mapFn} = args;\n if(typeof value === 'string'){\n return mapFn(value);\n };\n \n if(typeof value === 'object'){\n const newObj: Partial<Record<Breakpoint, K>> = {};\n let key: Breakpoint;\n for(key in value){\n newObj[key] = mapFn(value[key]);\n }\n return newObj;\n }\n return value;\n};\n","import type { CSSProperties } from 'react';\n\n/**\n * 여러 줄 말줄임(line-clamp) 스타일. 지정한 줄 수까지만 표시하고 넘치면 `…`로 자른다.\n *\n * Radix의 `truncate`(white-space:nowrap 강제 1줄)와 달리, 줄바꿈을 허용한 뒤\n * `lines` 줄에서 자른다. `Typo`/`Heading`의 `clamp` prop 구현에 사용된다.\n *\n * @param lines - 표시할 최대 줄 수 (1, 2, 3 …)\n */\nexport const clampStyle = (lines: number): CSSProperties => ({\n display: '-webkit-box',\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: lines,\n lineClamp: lines,\n overflow: 'hidden',\n});\n","import type { CSSProperties } from 'react';\n\n/**\n * 등폭(monospace) 텍스트 스타일.\n * - `font-family`: 등폭 폰트(`--code-font-family`는 Radix Themes가 제공, 없으면 시스템 등폭으로 폴백)\n * - `font-variant-numeric: tabular-nums`: 숫자를 고정폭으로 정렬해 점수·퍼센트·통계가 자릿수마다 흔들리지 않게 함\n *\n * `Typo`/`Heading`의 `mono` prop 구현에 사용된다.\n */\nexport const MONO_STYLE: CSSProperties = {\n fontFamily: 'var(--code-font-family, ui-monospace, \"SF Mono\", monospace)',\n fontVariantNumeric: 'tabular-nums',\n};\n","import type { BadgeProps as RadixBadgeProps } from '@radix-ui/themes';\n\n/**\n * Radix Themes가 제공하는 accent color union (gray, red, blue, ...).\n * 모든 color 지원 컴포넌트가 동일한 union을 공유하므로 Badge에서 파생한다.\n */\nexport type RadixColor = NonNullable<RadixBadgeProps['color']>;\n\n/** TIPP 시맨틱 color 별칭. */\nexport type SemanticColor = 'error' | 'accent' | 'neutral' | 'success';\n\n/**\n * Radix accent에 대응이 없어 CSS accent override로 처리하는 커스텀 color.\n * (예: black — `style/black.scss`의 `.tipp-accent-black` 참고)\n */\nexport type CustomColor = 'black';\n\n/** color 지원 컴포넌트가 노출하는 통합 color 타입. */\nexport type UiColor = RadixColor | SemanticColor | CustomColor;\n\n/**\n * union 각 멤버에 분배되는 Omit.\n * Radix의 polymorphic 컴포넌트 props(Text/Heading/Link 등 `as`로 분기되는 union)에서\n * 키를 제거할 때 일반 Omit은 union을 단일 객체로 합쳐 `as` 분기를 무너뜨리므로 이 타입을 쓴다.\n */\nexport type DistributiveOmit<T, K extends PropertyKey> = T extends unknown\n ? Omit<T, K>\n : never;\n\nconst SEMANTIC_COLOR_MAP: Record<SemanticColor, RadixColor | undefined> = {\n error: 'red',\n neutral: 'gray',\n success: 'green',\n accent: undefined,\n};\n\ninterface CustomColorConfig {\n /**\n * accent override를 적용할 className.\n */\n className: string;\n /**\n * Radix에 넘길 fallback color.\n * Text/Heading/Link 등은 `color` prop이 있어야 `data-accent-color`가 붙어\n * `--accent-*`를 참조하므로, 유효한 Radix color를 함께 넘긴 뒤 className으로\n * `--accent-*`를 덮어쓴다. (Badge/Button은 prop 없이도 accent 기반이라 무해)\n */\n fallbackColor: RadixColor;\n}\n\nconst CUSTOM_COLOR_MAP: Record<CustomColor, CustomColorConfig> = {\n black: { className: 'tipp-accent-black', fallbackColor: 'gray' },\n};\n\nconst isSemanticColor = (color?: UiColor): color is SemanticColor =>\n color !== undefined && color in SEMANTIC_COLOR_MAP;\n\nconst isCustomColor = (color?: UiColor): color is CustomColor =>\n color !== undefined && color in CUSTOM_COLOR_MAP;\n\nexport interface ResolvedColor {\n /** Radix 컴포넌트의 `color` prop에 그대로 전달할 값. custom color면 undefined. */\n color?: RadixColor;\n /** accent override를 적용하기 위해 요소에 붙일 className. */\n className?: string;\n}\n\n/**\n * 통합 color 입력을 Radix color prop과 className으로 정규화한다.\n *\n * - custom color(black 등): Radix color는 비우고 accent override className을 반환\n * - semantic color(error/neutral/success/accent): 대응 Radix color로 변환\n * - Radix color: 그대로 pass-through\n */\nexport const resolveColor = (color?: UiColor): ResolvedColor => {\n if (isCustomColor(color)) {\n const { className, fallbackColor } = CUSTOM_COLOR_MAP[color];\n return { color: fallbackColor, className };\n }\n\n if (isSemanticColor(color)) {\n return { color: SEMANTIC_COLOR_MAP[color] };\n }\n\n return { color };\n};\n","import type { TextProps as RadixTextProps } from '@radix-ui/themes';\nimport type { Responsive } from '@radix-ui/themes/props';\nimport { Text as RadixText } from '@radix-ui/themes';\nimport { clsx } from 'clsx';\nimport React, { useMemo, forwardRef } from 'react';\nimport { mapWithResponsive } from '@/utils/map-with-responsive';\nimport { clampStyle } from '../utils/clamp-style';\nimport { MONO_STYLE } from '../utils/mono-style';\nimport {\n resolveColor,\n type DistributiveOmit,\n type UiColor,\n} from '../utils/resolve-color';\n\nexport type TypoProps = DistributiveOmit<RadixTextProps, 'color'> & {\n variant?: Responsive<'body' | 'caption' | 'subtitle'>;\n color?: UiColor;\n /** 등폭(monospace) 폰트 + 숫자 고정폭 정렬(tabular-nums). 점수·퍼센트 등 수치 표시에 사용한다. */\n mono?: boolean;\n /** 여러 줄 말줄임(line-clamp). 지정한 줄 수까지만 표시하고 넘치면 …로 자른다. */\n clamp?: number;\n};\n\nexport const Typo = forwardRef<HTMLSpanElement, TypoProps>(\n (props: TypoProps, ref): React.ReactNode => {\n const {\n size,\n variant,\n children,\n color,\n className,\n mono,\n clamp,\n style,\n ...rest\n } = props;\n\n const { color: radixColor, className: colorClassName } = useMemo(\n () => resolveColor(color),\n [color]\n );\n\n const radixSize = useMemo<RadixTextProps['size']>(() => {\n if (size !== undefined) return size;\n\n if (variant === undefined) return '2';\n\n return mapWithResponsive({\n value: variant,\n mapFn: (variantValue?: 'body' | 'caption' | 'subtitle') => {\n switch (variantValue) {\n case 'caption':\n return '1';\n case 'subtitle':\n return '3';\n case 'body':\n default:\n return '2';\n }\n },\n });\n }, [size, variant]);\n\n return (\n <RadixText\n {...rest}\n className={clsx(colorClassName, className)}\n color={radixColor}\n ref={ref}\n size={radixSize}\n style={{\n ...(mono ? MONO_STYLE : null),\n ...(clamp ? clampStyle(clamp) : null),\n ...style,\n }}\n >\n {children}\n </RadixText>\n );\n }\n);\n\nTypo.displayName = 'Typo';\n","import * as React from 'react';\nimport type { IconProps } from './types';\n\n/**\n * 빈 상태(데이터 없음)를 나타내는 빈 상자 일러스트.\n * 단색 아이콘이므로 `color`(기본 currentColor)로 색을 지정한다.\n * 크기는 width/height prop으로 조절한다(기본 120).\n *\n * Source: https://www.svgrepo.com/svg/97068/empty-box (License: CC0)\n */\nexport const EmptyBoxIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = 'currentColor', width = 120, height = 120, ...props }, forwardedRef) => {\n return (\n <svg\n fill={color}\n height={height}\n viewBox=\"0 0 462.035 462.035\"\n width={width}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n ref={forwardedRef}\n >\n <path d=\"M457.83,158.441c-0.021-0.028-0.033-0.058-0.057-0.087l-50.184-62.48c-0.564-0.701-1.201-1.305-1.879-1.845c-2.16-2.562-5.355-4.225-8.967-4.225H65.292c-3.615,0-6.804,1.661-8.965,4.225c-0.678,0.54-1.316,1.138-1.885,1.845l-50.178,62.48c-0.023,0.029-0.034,0.059-0.057,0.087C1.655,160.602,0,163.787,0,167.39v193.07c0,6.5,5.27,11.771,11.77,11.771h438.496c6.5,0,11.77-5.271,11.77-11.771V167.39C462.037,163.787,460.381,160.602,457.83,158.441z M408.516,134.615l16.873,21.005h-16.873V134.615z M384.975,113.345v42.274H296.84c-2.514,0-4.955,0.805-6.979,2.293l-58.837,43.299l-58.849-43.305c-2.023-1.482-4.466-2.287-6.978-2.287H77.061v-42.274H384.975z M53.523,155.62H36.65l16.873-21.005V155.62z M438.498,348.69H23.54V179.16h137.796l62.711,46.148c4.15,3.046,9.805,3.052,13.954-0.005l62.698-46.144h137.799V348.69L438.498,348.69z\" />\n </svg>\n );\n }\n);\n\nEmptyBoxIcon.displayName = 'EmptyBoxIcon';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,oBAAqC;;;ACArC,IAAAA,iBAGO;AAEP,kBAAqB;AACrB,mBAAwB;;;ACJjB,IAAM,oBAAoB,CAChC,SAC+B;AAC9B,QAAM,EAAC,OAAO,MAAK,IAAI;AACvB,MAAG,OAAO,UAAU,UAAS;AAC3B,WAAO,MAAM,KAAK;AAAA,EACpB;AAAC;AAED,MAAG,OAAO,UAAU,UAAS;AAC3B,UAAM,SAAyC,CAAC;AAChD,QAAI;AACJ,SAAI,OAAO,OAAM;AACf,aAAO,GAAG,IAAI,MAAM,MAAM,GAAG,CAAC;AAAA,IAChC;AACA,WAAO;AAAA,EACT;AACA,SAAO;AACT;;;ACTO,IAAM,aAAa,CAAC,WAAkC;AAAA,EAC3D,SAAS;AAAA,EACT,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,UAAU;AACZ;;;ACPO,IAAM,aAA4B;AAAA,EACvC,YAAY;AAAA,EACZ,oBAAoB;AACtB;;;ACiBA,IAAM,qBAAoE;AAAA,EACxE,OAAO;AAAA,EACP,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AACV;AAgBA,IAAM,mBAA2D;AAAA,EAC/D,OAAO,EAAE,WAAW,qBAAqB,eAAe,OAAO;AACjE;AAEA,IAAM,kBAAkB,CAAC,UACvB,UAAU,UAAa,SAAS;AAElC,IAAM,gBAAgB,CAAC,UACrB,UAAU,UAAa,SAAS;AAgB3B,IAAM,eAAe,CAAC,UAAmC;AAC9D,MAAI,cAAc,KAAK,GAAG;AACxB,UAAM,EAAE,WAAW,cAAc,IAAI,iBAAiB,KAAK;AAC3D,WAAO,EAAE,OAAO,eAAe,UAAU;AAAA,EAC3C;AAEA,MAAI,gBAAgB,KAAK,GAAG;AAC1B,WAAO,EAAE,OAAO,mBAAmB,KAAK,EAAE;AAAA,EAC5C;AAEA,SAAO,EAAE,MAAM;AACjB;;;AJrEA,IAAAC,iBAAwC;AAgEpC;AA9CJ,IAAM,aAAa,CAAC,YAAsD;AACxE,UAAQ,SAAS;AAAA,IACf,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;AAEO,SAASC,SAAQ,OAAsC;AAC5D,QAUI,YATF;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EA5DJ,IA8DM,IADC,iBACD,IADC;AAAA,IARH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAIF,QAAM,EAAE,OAAO,YAAY,WAAW,eAAe,QAAI;AAAA,IACvD,MAAM,aAAa,KAAK;AAAA,IACxB,CAAC,KAAK;AAAA,EACR;AAEA,QAAM,gBAAY,sBAAmC,MAAM;AACzD,WAAO,UACH,kBAAkB;AAAA,MAChB,OAAO;AAAA,MACP,OAAO;AAAA,IACT,CAAC,IACD;AAAA,EAEN,GAAG,CAAC,MAAM,OAAO,CAAC;AAElB,SACE;AAAA,IAAC,eAAAC;AAAA,IAAA,iCACK,OADL;AAAA,MAEC,eAAW,kBAAK,gBAAgB,SAAS;AAAA,MACzC,OAAO;AAAA,MACP,MAAM;AAAA,MACN,OAAO,iDACD,OAAO,aAAa,OACpB,QAAQ,WAAW,KAAK,IAAI,OAC7B;AAAA,MAGJ;AAAA;AAAA,EACH;AAEJ;;;AK5FA,IAAAC,iBAAkC;AAClC,IAAAC,eAAqB;AACrB,IAAAC,gBAA2C;AA4DrC,IAAAC,sBAAA;AAzCC,IAAM,WAAO;AAAA,EAClB,CAAC,OAAkB,QAAyB;AAC1C,UAUI,YATF;AAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAjCN,IAmCQ,IADC,iBACD,IADC;AAAA,MARH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAIF,UAAM,EAAE,OAAO,YAAY,WAAW,eAAe,QAAI;AAAA,MACvD,MAAM,aAAa,KAAK;AAAA,MACxB,CAAC,KAAK;AAAA,IACR;AAEA,UAAM,gBAAY,uBAAgC,MAAM;AACtD,UAAI,SAAS,OAAW,QAAO;AAE/B,UAAI,YAAY,OAAW,QAAO;AAElC,aAAO,kBAAkB;AAAA,QACvB,OAAO;AAAA,QACP,OAAO,CAAC,iBAAmD;AACzD,kBAAQ,cAAc;AAAA,YACpB,KAAK;AACH,qBAAO;AAAA,YACT,KAAK;AACH,qBAAO;AAAA,YACT,KAAK;AAAA,YACL;AACE,qBAAO;AAAA,UACX;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH,GAAG,CAAC,MAAM,OAAO,CAAC;AAElB,WACE;AAAA,MAAC,eAAAC;AAAA,MAAA,iCACK,OADL;AAAA,QAEC,eAAW,mBAAK,gBAAgB,SAAS;AAAA,QACzC,OAAO;AAAA,QACP;AAAA,QACA,MAAM;AAAA,QACN,OAAO,iDACD,OAAO,aAAa,OACpB,QAAQ,WAAW,KAAK,IAAI,OAC7B;AAAA,QAGJ;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AAEA,KAAK,cAAc;;;AClFnB,IAAAC,SAAuB;AAsBf,IAAAC,sBAAA;AAZD,IAAM,eAAqB;AAAA,EAChC,CAAC,IAAiE,iBAAiB;AAAlF,iBAAE,UAAQ,gBAAgB,QAAQ,KAAK,SAAS,IAXnD,IAWG,IAAwD,kBAAxD,IAAwD,CAAtD,SAAwB,SAAa;AACtC,WACE;AAAA,MAAC;AAAA;AAAA,QACC,MAAM;AAAA,QACN;AAAA,QACA,SAAQ;AAAA,QACR;AAAA,QACA,OAAM;AAAA,SACF,QANL;AAAA,QAOC,KAAK;AAAA,QAEL,uDAAC,UAAK,GAAE,6yBAA4yB;AAAA;AAAA,IACtzB;AAAA,EAEJ;AACF;AAEA,aAAa,cAAc;;;ARsBnB,IAAAC,sBAAA;AA9BR,IAAM,YAA4C;AAAA,EAChD,cAAc;AAAA,EACd,SAAS;AACX;AAMO,SAAS,WAAW,IAMa;AANb,eACzB;AAAA,WAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,EAjCF,IA6B2B,IAKtB,sBALsB,IAKtB;AAAA,IAJH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,YAAY,SAAS;AAC3B,QAAM,WAAW,UAAU,IAAI;AAE/B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,WAAU;AAAA,MACV,KAAK,YAAY,MAAM;AAAA,MACvB,SAAQ;AAAA,MACR,IAAI,YAAY,MAAM;AAAA,MACtB,OAAM;AAAA,OACF,YAPL;AAAA,MASE;AAAA,8BACC;AAAA,UAAC;AAAA;AAAA,YACC,OAAM;AAAA,YACN,QAAQ;AAAA,YACR,OAAO;AAAA;AAAA,QACT;AAAA,QAED,WAAW,OACV,8CAAC,sBAAK,OAAM,UAAS,WAAU,UAAS,KAAI,KACzC;AAAA,oBACC,YACE,6CAAC,QAAK,OAAM,QAAO,SAAQ,YACxB,mBACH,IAEA,6CAACC,UAAA,EAAQ,OAAM,QAAO,SAAQ,YAC3B,mBACH,IAEA;AAAA,UACH,OACC,6CAAC,QAAK,OAAM,QAAO,SAAS,YAAY,YAAY,QACjD,gBACH,IACE;AAAA,WACN,IACE;AAAA;AAAA;AAAA,EACN;AAEJ;","names":["import_themes","import_themes","Heading","RadixHeading","import_themes","import_clsx","import_react","import_jsx_runtime","RadixText","React","import_jsx_runtime","import_jsx_runtime","Heading"]}
@@ -0,0 +1,21 @@
1
+ import { FlexProps } from '@radix-ui/themes';
2
+ import * as React from 'react';
3
+
4
+ type EmptyStateSize = 'illustration' | 'compact';
5
+ type EmptyStateProps = FlexProps & {
6
+ /** 일러스트 크기 — illustration: 페이지 전체용(큰 일러스트), compact: 테이블 셀 등 좁은 곳(작은 일러스트) */
7
+ size?: EmptyStateSize;
8
+ /** 제목 텍스트 */
9
+ heading?: string;
10
+ /** 보조 설명 텍스트 */
11
+ body?: string;
12
+ /** 기본 empty-box 일러스트 대신 사용할 아이콘/이미지 */
13
+ icon?: React.ReactNode;
14
+ };
15
+ /**
16
+ * 데이터 없음(빈 상태)을 표시하는 공용 컴포넌트.
17
+ * ExpandTable 등 데이터가 비는 모든 화면에서 공용으로 사용한다.
18
+ */
19
+ declare function EmptyState({ size, heading, body, icon, ...flexProps }: EmptyStateProps): React.ReactElement;
20
+
21
+ export { EmptyState, type EmptyStateProps, type EmptyStateSize };
@@ -0,0 +1,21 @@
1
+ import { FlexProps } from '@radix-ui/themes';
2
+ import * as React from 'react';
3
+
4
+ type EmptyStateSize = 'illustration' | 'compact';
5
+ type EmptyStateProps = FlexProps & {
6
+ /** 일러스트 크기 — illustration: 페이지 전체용(큰 일러스트), compact: 테이블 셀 등 좁은 곳(작은 일러스트) */
7
+ size?: EmptyStateSize;
8
+ /** 제목 텍스트 */
9
+ heading?: string;
10
+ /** 보조 설명 텍스트 */
11
+ body?: string;
12
+ /** 기본 empty-box 일러스트 대신 사용할 아이콘/이미지 */
13
+ icon?: React.ReactNode;
14
+ };
15
+ /**
16
+ * 데이터 없음(빈 상태)을 표시하는 공용 컴포넌트.
17
+ * ExpandTable 등 데이터가 비는 모든 화면에서 공용으로 사용한다.
18
+ */
19
+ declare function EmptyState({ size, heading, body, icon, ...flexProps }: EmptyStateProps): React.ReactElement;
20
+
21
+ export { EmptyState, type EmptyStateProps, type EmptyStateSize };
@@ -0,0 +1,16 @@
1
+ import {
2
+ EmptyState
3
+ } from "../chunk-2EPKY2VT.js";
4
+ import "../chunk-USGOLLYO.js";
5
+ import "../chunk-L4QQGIYQ.js";
6
+ import "../chunk-LDBWASUA.js";
7
+ import "../chunk-PO2PBAHW.js";
8
+ import "../chunk-36W7VD2Z.js";
9
+ import "../chunk-25HMMI7R.js";
10
+ import "../chunk-IAKMJR72.js";
11
+ import "../chunk-VFQD57ZY.js";
12
+ import "../chunk-CRTRMMJ7.js";
13
+ export {
14
+ EmptyState
15
+ };
16
+ //# sourceMappingURL=empty-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}