@1d1s/design-system 2.12.2 → 2.13.0

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 (169) hide show
  1. package/dist/components/Accordion/Accordion.js +6 -0
  2. package/dist/components/Accordion/index.js +2 -0
  3. package/dist/components/AchievementBadge/AchievementBadge.d.ts +1 -1
  4. package/dist/components/AchievementBadge/AchievementBadge.js +5 -0
  5. package/dist/components/AchievementBadge/index.js +2 -0
  6. package/dist/components/AvatarImagePicker/AvatarImagePicker.js +5 -0
  7. package/dist/components/AvatarImagePicker/index.js +2 -0
  8. package/dist/components/Banner/Banner.js +5 -0
  9. package/dist/components/Banner/index.js +2 -0
  10. package/dist/components/BannerCarousel/BannerCarousel.js +16 -0
  11. package/dist/components/BannerCarousel/index.js +2 -0
  12. package/dist/components/BottomNav/BottomNav.js +6 -0
  13. package/dist/components/BottomNav/index.js +2 -0
  14. package/dist/components/BottomSheet/BottomSheet.js +10 -0
  15. package/dist/components/BottomSheet/index.js +2 -0
  16. package/dist/components/Button/Button.js +3 -0
  17. package/dist/components/Button/index.js +2 -0
  18. package/dist/components/Calendar/Calendar.js +3 -0
  19. package/dist/components/Calendar/index.js +2 -0
  20. package/dist/components/Card/Card.js +8 -0
  21. package/dist/components/Card/index.js +2 -0
  22. package/dist/components/CheckContainer/CheckContainer.js +3 -0
  23. package/dist/components/CheckContainer/index.js +2 -0
  24. package/dist/components/CheckList/CheckList.js +5 -0
  25. package/dist/components/CheckList/index.js +2 -0
  26. package/dist/components/Checkbox/Checkbox.js +4 -0
  27. package/dist/components/Checkbox/index.js +2 -0
  28. package/dist/components/CircleAvatar/CircleAvatar.js +4 -0
  29. package/dist/components/CircleAvatar/index.js +2 -0
  30. package/dist/components/CircularProgress/CircularProgress.js +6 -0
  31. package/dist/components/CircularProgress/index.js +2 -0
  32. package/dist/components/CommentRow/CommentRow.js +8 -0
  33. package/dist/components/CommentRow/index.js +2 -0
  34. package/dist/components/CommentThread/CommentThread.js +24 -0
  35. package/dist/components/CommentThread/index.js +2 -0
  36. package/dist/components/DatePicker/DatePicker.js +17 -0
  37. package/dist/components/DatePicker/index.js +2 -0
  38. package/dist/components/Dialog/Dialog.js +22 -0
  39. package/dist/components/Dialog/index.js +2 -0
  40. package/dist/components/Dropdown/Dropdown.js +6 -0
  41. package/dist/components/Dropdown/DropdownMenu.js +4 -0
  42. package/dist/components/Dropdown/MultiSelect.js +4 -0
  43. package/dist/components/Dropdown/index.js +2 -0
  44. package/dist/components/GoalAddList/GoalAddList.js +6 -0
  45. package/dist/components/GoalAddList/index.js +2 -0
  46. package/dist/components/Heatmap/Heatmap.js +8 -0
  47. package/dist/components/Heatmap/index.js +2 -0
  48. package/dist/components/Icons/AddCircle.js +6 -0
  49. package/dist/components/Icons/ArrowLeft.js +2 -0
  50. package/dist/components/Icons/Bell.js +2 -0
  51. package/dist/components/Icons/BookOpen.js +2 -0
  52. package/dist/components/Icons/Calendar.js +2 -0
  53. package/dist/components/Icons/Challenge.js +2 -0
  54. package/dist/components/Icons/Check.js +2 -0
  55. package/dist/components/Icons/Chevron.js +2 -0
  56. package/dist/components/Icons/ChevronDown.js +2 -0
  57. package/dist/components/Icons/ChevronLeft.js +2 -0
  58. package/dist/components/Icons/ChevronRight.js +2 -0
  59. package/dist/components/Icons/ChevronUp.js +2 -0
  60. package/dist/components/Icons/Close.js +2 -0
  61. package/dist/components/Icons/Code2.js +2 -0
  62. package/dist/components/Icons/Dumbbell.js +2 -0
  63. package/dist/components/Icons/Endless.js +2 -0
  64. package/dist/components/Icons/Eye.js +4 -0
  65. package/dist/components/Icons/EyeOff.js +7 -0
  66. package/dist/components/Icons/Flag.js +2 -0
  67. package/dist/components/Icons/Flame.js +2 -0
  68. package/dist/components/Icons/Gamepad2.js +2 -0
  69. package/dist/components/Icons/GraduationCap.js +2 -0
  70. package/dist/components/Icons/HamburgerMenu.js +2 -0
  71. package/dist/components/Icons/Heart.js +2 -0
  72. package/dist/components/Icons/HeartFilled.js +2 -0
  73. package/dist/components/Icons/Home.js +2 -0
  74. package/dist/components/Icons/Icon.js +3 -0
  75. package/dist/components/Icons/Languages.js +2 -0
  76. package/dist/components/Icons/Laptop.js +2 -0
  77. package/dist/components/Icons/LayoutGrid.js +2 -0
  78. package/dist/components/Icons/LogIn.js +2 -0
  79. package/dist/components/Icons/Logo.js +5 -0
  80. package/dist/components/Icons/Minus.js +2 -0
  81. package/dist/components/Icons/Music.js +2 -0
  82. package/dist/components/Icons/Palette.js +2 -0
  83. package/dist/components/Icons/PencilLine.js +2 -0
  84. package/dist/components/Icons/People.js +2 -0
  85. package/dist/components/Icons/Person.js +2 -0
  86. package/dist/components/Icons/Pin.js +6 -0
  87. package/dist/components/Icons/Plane.js +2 -0
  88. package/dist/components/Icons/Plus.js +2 -0
  89. package/dist/components/Icons/ProgressRing.js +3 -0
  90. package/dist/components/Icons/Salad.js +2 -0
  91. package/dist/components/Icons/Search.js +4 -0
  92. package/dist/components/Icons/Settings.js +2 -0
  93. package/dist/components/Icons/Shapes.js +2 -0
  94. package/dist/components/Icons/Target.js +2 -0
  95. package/dist/components/Icons/Trophy.js +2 -0
  96. package/dist/components/Icons/Wallet.js +2 -0
  97. package/dist/components/Icons/index.js +2 -0
  98. package/dist/components/ImagePicker/ImagePicker.js +9 -0
  99. package/dist/components/ImagePicker/index.js +2 -0
  100. package/dist/components/ImagePlaceholder/ImagePlaceholder.js +3 -0
  101. package/dist/components/ImagePlaceholder/index.js +2 -0
  102. package/dist/components/MobileHeader/MobileHeader.js +7 -0
  103. package/dist/components/MobileHeader/index.js +2 -0
  104. package/dist/components/MonthCalendar/MonthCalendar.js +15 -0
  105. package/dist/components/MonthCalendar/index.js +2 -0
  106. package/dist/components/PageWatermark/PageWatermark.js +5 -0
  107. package/dist/components/PageWatermark/index.js +2 -0
  108. package/dist/components/Pagination/Pagination.js +5 -0
  109. package/dist/components/Pagination/index.js +2 -0
  110. package/dist/components/ProgressBar/ProgressBar.js +4 -0
  111. package/dist/components/ProgressBar/index.js +2 -0
  112. package/dist/components/Radio/Radio.js +7 -0
  113. package/dist/components/Radio/index.js +2 -0
  114. package/dist/components/ScheduleCalendar/ScheduleCalendar.js +8 -0
  115. package/dist/components/ScheduleCalendar/index.js +2 -0
  116. package/dist/components/SectionHeader/SectionHeader.js +5 -0
  117. package/dist/components/SectionHeader/index.js +2 -0
  118. package/dist/components/SegmentedControl/SegmentedControl.js +5 -0
  119. package/dist/components/SegmentedControl/index.js +2 -0
  120. package/dist/components/Select/Select.js +16 -0
  121. package/dist/components/Select/index.js +2 -0
  122. package/dist/components/Snackbar/Snackbar.js +4 -0
  123. package/dist/components/Snackbar/SnackbarProvider.js +3 -0
  124. package/dist/components/Snackbar/index.js +2 -0
  125. package/dist/components/StatCard/StatCard.d.ts +1 -1
  126. package/dist/components/StatCard/StatCard.js +4 -0
  127. package/dist/components/StatCard/index.js +2 -0
  128. package/dist/components/StatusBadge/StatusBadge.js +3 -0
  129. package/dist/components/StatusBadge/index.js +2 -0
  130. package/dist/components/StepIndicator/StepIndicator.js +10 -0
  131. package/dist/components/StepIndicator/index.js +2 -0
  132. package/dist/components/Streak/Streak.js +7 -0
  133. package/dist/components/Streak/StreakChip.js +5 -0
  134. package/dist/components/Streak/StreakHero.js +9 -0
  135. package/dist/components/Streak/index.js +2 -0
  136. package/dist/components/Stripe/Stripe.js +3 -0
  137. package/dist/components/Stripe/index.js +2 -0
  138. package/dist/components/Tabs/Tabs.js +5 -0
  139. package/dist/components/Tabs/index.js +2 -0
  140. package/dist/components/Tag/ChallengeTag.js +5 -0
  141. package/dist/components/Tag/FilterChip.js +3 -0
  142. package/dist/components/Tag/Tag.d.ts +1 -1
  143. package/dist/components/Tag/Tag.js +3 -0
  144. package/dist/components/Tag/index.js +2 -0
  145. package/dist/components/Text/Text.js +3 -0
  146. package/dist/components/Text/index.js +2 -0
  147. package/dist/components/TextField/TextArea.js +3 -0
  148. package/dist/components/TextField/TextField.js +6 -0
  149. package/dist/components/TextField/index.js +2 -0
  150. package/dist/components/ThumbnailPicker/ThumbnailPicker.js +11 -0
  151. package/dist/components/ThumbnailPicker/index.js +2 -0
  152. package/dist/components/Toast/Toast.js +4 -0
  153. package/dist/components/Toast/ToastProvider.js +4 -0
  154. package/dist/components/Toast/index.js +2 -0
  155. package/dist/components/Toggle/Toggle.js +5 -0
  156. package/dist/components/Toggle/index.js +2 -0
  157. package/dist/components/ToggleGroup/ToggleGroup.js +5 -0
  158. package/dist/components/ToggleGroup/index.js +2 -0
  159. package/dist/components/Tooltip/Tooltip.js +4 -0
  160. package/dist/components/Tooltip/index.js +2 -0
  161. package/dist/components/TopNav/TopNav.js +6 -0
  162. package/dist/components/TopNav/index.js +2 -0
  163. package/dist/hooks/index.js +2 -0
  164. package/dist/hooks/useMediaQuery.js +2 -0
  165. package/dist/index.js +2 -0
  166. package/dist/lib/utils.js +2 -0
  167. package/dist/utils.d.ts +2 -0
  168. package/package.json +19 -6
  169. package/dist/index.es.js +0 -374
@@ -0,0 +1,7 @@
1
+ 'use client';
2
+ import{jsxs as C,jsx as r}from"react/jsx-runtime";const l=l=>/* @__PURE__ */C("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...l,children:[
3
+ /* @__PURE__ */r("path",{d:"M20.2501 21.0001C20.1516 21.0003 20.054 20.9809 19.963 20.9432C19.872 20.9054 19.7894 20.8501 19.7199 20.7803L3.21994 4.28025C3.08522 4.13845 3.01123 3.94964 3.01373 3.75407C3.01624 3.5585 3.09504 3.37164 3.23334 3.23334C3.37164 3.09504 3.5585 3.01624 3.75407 3.01373C3.94964 3.01123 4.13845 3.08522 4.28025 3.21994L20.7803 19.7199C20.8851 19.8248 20.9564 19.9584 20.9854 20.1039C21.0143 20.2493 20.9994 20.4001 20.9427 20.5371C20.8859 20.6741 20.7899 20.7912 20.6666 20.8736C20.5433 20.956 20.3984 21 20.2501 21.0001Z",fill:"currentColor"}),
4
+ /* @__PURE__ */r("path",{d:"M11.984 18.0002C10.0392 18.0002 8.16371 17.4245 6.40965 16.2892C4.81261 15.258 3.37496 13.7809 2.25183 12.0236V12.0198C3.18652 10.6806 4.21027 9.54812 5.30996 8.635C5.31991 8.62668 5.32802 8.61639 5.33379 8.60478C5.33956 8.59317 5.34285 8.58048 5.34347 8.56753C5.34409 8.55458 5.34201 8.54164 5.33737 8.52953C5.33273 8.51742 5.32563 8.50641 5.31652 8.49719L4.38277 7.56484C4.36618 7.54811 4.34389 7.53824 4.32035 7.5372C4.29682 7.53616 4.27375 7.54402 4.25574 7.55922C3.08761 8.54359 2.0034 9.75109 1.01761 11.1648C0.848014 11.4083 0.754608 11.6966 0.749266 11.9932C0.743924 12.2899 0.826888 12.5814 0.987615 12.8308C2.22558 14.7681 3.81886 16.3998 5.59449 17.5487C7.59371 18.8439 9.74527 19.5002 11.984 19.5002C13.1924 19.4964 14.3923 19.2973 15.5371 18.9105C15.5522 18.9053 15.5658 18.8965 15.5765 18.8846C15.5872 18.8728 15.5947 18.8585 15.5983 18.8429C15.602 18.8274 15.6015 18.8112 15.5972 18.7959C15.5928 18.7805 15.5845 18.7666 15.5732 18.7553L14.5617 17.7437C14.5384 17.721 14.5096 17.7048 14.4781 17.6965C14.4466 17.6883 14.4136 17.6884 14.3821 17.6969C13.5987 17.8986 12.793 18.0005 11.984 18.0002Z",fill:"currentColor"}),
5
+ /* @__PURE__ */r("path",{d:"M23.0081 11.1844C21.7678 9.26625 20.1586 7.63688 18.3548 6.47203C16.3594 5.18203 14.1562 4.5 11.9841 4.5C10.7884 4.50212 9.60172 4.70543 8.47358 5.10141C8.45855 5.10664 8.4451 5.11561 8.4345 5.12747C8.42389 5.13934 8.41648 5.15371 8.41296 5.16923C8.40945 5.18475 8.40994 5.20091 8.41439 5.21619C8.41885 5.23147 8.42712 5.24536 8.43843 5.25656L9.44858 6.26672C9.4721 6.28984 9.5013 6.30634 9.53323 6.31457C9.56516 6.3228 9.5987 6.32246 9.63046 6.31359C10.3978 6.10602 11.1891 6.00058 11.9841 6C13.8914 6 15.7612 6.58266 17.5411 7.73438C19.1681 8.78438 20.6226 10.26 21.7486 12C21.7494 12.0011 21.7499 12.0024 21.7499 12.0037C21.7499 12.0051 21.7494 12.0064 21.7486 12.0075C20.9313 13.2942 19.9171 14.4446 18.743 15.4167C18.7329 15.425 18.7247 15.4353 18.7188 15.4469C18.713 15.4586 18.7096 15.4713 18.7089 15.4843C18.7083 15.4973 18.7103 15.5103 18.715 15.5225C18.7196 15.5347 18.7268 15.5457 18.7359 15.555L19.6687 16.4873C19.6852 16.504 19.7074 16.5139 19.7308 16.515C19.7543 16.5161 19.7773 16.5084 19.7953 16.4934C21.0487 15.4381 22.1337 14.1975 23.0128 12.8147C23.1682 12.571 23.2503 12.2878 23.2495 11.9988C23.2487 11.7098 23.1649 11.4272 23.0081 11.1844Z",fill:"currentColor"}),
6
+ /* @__PURE__ */r("path",{d:"M12.0002 7.5C11.6632 7.49982 11.3271 7.53756 10.9985 7.6125C10.9819 7.61595 10.9666 7.62383 10.9541 7.63531C10.9416 7.64679 10.9325 7.66144 10.9277 7.6777C10.9229 7.69395 10.9226 7.71121 10.9268 7.72763C10.931 7.74405 10.9396 7.75901 10.9516 7.77094L16.2293 13.0472C16.2412 13.0592 16.2562 13.0678 16.2726 13.0721C16.289 13.0763 16.3063 13.076 16.3225 13.0712C16.3388 13.0663 16.3534 13.0572 16.3649 13.0447C16.3764 13.0323 16.3843 13.0169 16.3877 13.0003C16.538 12.3413 16.5379 11.6568 16.3873 10.9979C16.2368 10.3389 15.9397 9.72228 15.5182 9.19385C15.0967 8.66542 14.5615 8.23874 13.9525 7.9455C13.3435 7.65226 12.6762 7.49999 12.0002 7.5Z",fill:"currentColor"}),
7
+ /* @__PURE__ */r("path",{d:"M7.77091 10.9526C7.75899 10.9406 7.74402 10.932 7.7276 10.9278C7.71118 10.9235 7.69392 10.9238 7.67767 10.9287C7.66141 10.9335 7.64676 10.9426 7.63528 10.9551C7.6238 10.9675 7.61592 10.9829 7.61247 10.9995C7.44248 11.7422 7.46382 12.5158 7.67451 13.248C7.88519 13.9801 8.27832 14.6468 8.81704 15.1855C9.35577 15.7243 10.0224 16.1174 10.7546 16.3281C11.4868 16.5388 12.2604 16.5601 13.0031 16.3901C13.0197 16.3867 13.035 16.3788 13.0475 16.3673C13.06 16.3558 13.0691 16.3412 13.0739 16.3249C13.0787 16.3087 13.0791 16.2914 13.0748 16.275C13.0706 16.2586 13.062 16.2436 13.05 16.2317L7.77091 10.9526Z",fill:"currentColor"})]});export{l as EyeOff};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{jsx as r}from"react/jsx-runtime";import{Flag as t}from"lucide-react";const o=o=>/* @__PURE__ */r(t,{...o});export{o as Flag};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{jsx as r}from"react/jsx-runtime";import{Flame as t}from"lucide-react";const e=e=>/* @__PURE__ */r(t,{...e});export{e as Flame};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{jsx as r}from"react/jsx-runtime";import{Gamepad2 as t}from"lucide-react";const e=e=>/* @__PURE__ */r(t,{...e});export{e as Gamepad2};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{jsx as r}from"react/jsx-runtime";import{GraduationCap as t}from"lucide-react";const o=o=>/* @__PURE__ */r(t,{...o});export{o as GraduationCap};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{jsx as o}from"react/jsx-runtime";const r=r=>/* @__PURE__ */o("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...r,children:/* @__PURE__ */o("path",{d:"M6 12H18M6 6H18M6 18H18",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})});export{r as HamburgerMenu};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{jsx as t}from"react/jsx-runtime";const o=o=>/* @__PURE__ */t("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...o,children:/* @__PURE__ */t("path",{d:"M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z",stroke:"currentColor",strokeWidth:"2",fill:"none"})});export{o as Heart};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{jsx as t}from"react/jsx-runtime";const r=r=>/* @__PURE__ */t("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...r,children:/* @__PURE__ */t("path",{d:"M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z",fill:"currentColor"})});export{r as HeartFilled};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{jsx as r}from"react/jsx-runtime";import{Home as o}from"lucide-react";const t=t=>/* @__PURE__ */r(o,{...t});export{t as Home};
@@ -0,0 +1,3 @@
1
+ 'use client';
2
+ import{jsx as o}from"react/jsx-runtime";import{AddCircle as r}from"./AddCircle.js";import{Bell as m}from"./Bell.js";import{BookOpen as e}from"./BookOpen.js";import{Calendar as t}from"./Calendar.js";import{Check as i}from"./Check.js";import{Code2 as s}from"./Code2.js";import{Chevron as p}from"./Chevron.js";import{ChevronDown as f}from"./ChevronDown.js";import{ChevronLeft as n}from"./ChevronLeft.js";import{ChevronRight as j}from"./ChevronRight.js";import{ChevronUp as a}from"./ChevronUp.js";import{Close as l}from"./Close.js";import{Dumbbell as h}from"./Dumbbell.js";import{Endless as g}from"./Endless.js";import{Eye as C}from"./Eye.js";import{EyeOff as d}from"./EyeOff.js";import{Flag as u}from"./Flag.js";import{Flame as P}from"./Flame.js";import{HamburgerMenu as c}from"./HamburgerMenu.js";import{Heart as L}from"./Heart.js";import{HeartFilled as v}from"./HeartFilled.js";import{Languages as S}from"./Languages.js";import{Laptop as b}from"./Laptop.js";import{LogIn as y}from"./LogIn.js";import{Logo as E}from"./Logo.js";import{Minus as F}from"./Minus.js";import{Palette as H}from"./Palette.js";import{People as k}from"./People.js";import{PencilLine as O}from"./PencilLine.js";import{Person as w}from"./Person.js";import{Pin as B}from"./Pin.js";import{Plane as D}from"./Plane.js";import{Plus as M}from"./Plus.js";import{Salad as T}from"./Salad.js";import{Search as x}from"./Search.js";import{Settings as A}from"./Settings.js";import{Shapes as I}from"./Shapes.js";import{Target as R}from"./Target.js";import{Trophy as U}from"./Trophy.js";const z={AddCircle:r,Bell:m,BookOpen:e,Calendar:t,Check:i,Code2:s,Chevron:p,ChevronDown:f,ChevronLeft:n,ChevronRight:j,ChevronUp:a,Close:l,Dumbbell:h,Endless:g,Eye:C,EyeOff:d,Flag:u,Flame:P,HamburgerMenu:c,Heart:L,HeartFilled:v,Languages:S,Laptop:b,LogIn:y,Logo:E,Minus:F,Palette:H,People:k,PencilLine:O,Person:w,Pin:B,Plane:D,Plus:M,Salad:T,Search:x,Settings:A,Shapes:I,Target:R,Trophy:U},q=Object.keys(z);function G({name:r,size:m,width:e,height:t,...i}){/* @__PURE__ */
3
+ return o(z[r],{width:e??m,height:t??m,...i})}export{q as ICON_NAMES,G as Icon};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{jsx as r}from"react/jsx-runtime";import{Languages as t}from"lucide-react";const e=e=>/* @__PURE__ */r(t,{...e});export{e as Languages};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{jsx as r}from"react/jsx-runtime";import{Laptop as t}from"lucide-react";const o=o=>/* @__PURE__ */r(t,{...o});export{o as Laptop};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{jsx as r}from"react/jsx-runtime";import{LayoutGrid as t}from"lucide-react";const o=o=>/* @__PURE__ */r(t,{...o});export{o as LayoutGrid};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{jsx as r}from"react/jsx-runtime";import{LogIn as o}from"lucide-react";const t=t=>/* @__PURE__ */r(o,{...t});export{t as LogIn};
@@ -0,0 +1,5 @@
1
+ 'use client';
2
+ import{jsxs as C,jsx as r}from"react/jsx-runtime";const t=t=>/* @__PURE__ */C("svg",{width:"48",height:"80",viewBox:"0 0 48 80",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t,children:[
3
+ /* @__PURE__ */r("path",{d:"M0 78.622V15.4757C0 14.1285 1.72603 13.5819 2.49497 14.6855L46.4899 77.8318C47.1262 78.7453 46.4759 79.9999 45.3664 79.9999H1.37144C0.614016 79.9999 0 79.3833 0 78.622Z",fill:"currentColor"}),
4
+ /* @__PURE__ */r("path",{d:"M48 78.622V15.4757C48 14.1285 46.274 13.5819 45.505 14.6855L1.51006 77.8318C0.873795 78.7453 1.52406 79.9999 2.63359 79.9999H46.6285C47.386 79.9999 48 79.3833 48 78.622Z",fill:"currentColor"}),
5
+ /* @__PURE__ */r("path",{d:"M23.3378 0.511435L21.3598 7.96401C21.2965 8.20239 21.1111 8.38861 20.8739 8.4522L13.4563 10.4396C12.7776 10.6214 12.7776 11.5891 13.4563 11.7709L20.8739 13.7583C21.1111 13.8218 21.2965 14.0081 21.3598 14.2464L23.3378 21.699C23.5188 22.3809 24.4819 22.3809 24.6629 21.699L26.6409 14.2464C26.7042 14.0081 26.8896 13.8218 27.1268 13.7583L34.5444 11.7709C35.2231 11.5891 35.2231 10.6214 34.5444 10.4396L27.1268 8.4522C26.8896 8.38861 26.7042 8.20239 26.6409 7.96401L24.6629 0.511435C24.4819 -0.170478 23.5188 -0.170478 23.3378 0.511435Z",fill:"currentColor"})]});export{t as Logo};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{jsx as t}from"react/jsx-runtime";const r=r=>/* @__PURE__ */t("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...r,children:/* @__PURE__ */t("path",{d:"M19 12H5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})});export{r as Minus};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{jsx as r}from"react/jsx-runtime";import{Music as t}from"lucide-react";const o=o=>/* @__PURE__ */r(t,{...o});export{o as Music};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{jsx as t}from"react/jsx-runtime";import{Palette as r}from"lucide-react";const e=e=>/* @__PURE__ */t(r,{...e});export{e as Palette};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{jsx as r}from"react/jsx-runtime";import{PencilLine as e}from"lucide-react";const t=t=>/* @__PURE__ */r(e,{...t});export{t as PencilLine};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{jsx as r}from"react/jsx-runtime";import{Users as t}from"lucide-react";const o=o=>/* @__PURE__ */r(t,{...o});export{o as People};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{jsx as r}from"react/jsx-runtime";import{UserRound as t}from"lucide-react";const o=o=>/* @__PURE__ */r(t,{...o});export{o as Person};
@@ -0,0 +1,6 @@
1
+ 'use client';
2
+ import{jsxs as A,jsx as e}from"react/jsx-runtime";const g=g=>/* @__PURE__ */A("svg",{width:"36",height:"60",viewBox:"0 0 36 60",fill:"none",xmlns:"http://www.w3.org/2000/svg",...g,children:[
3
+ /* @__PURE__ */e("rect",{width:"36",height:"60",fill:"url(#pattern0_3714_3923)"}),
4
+ /* @__PURE__ */A("defs",{children:[
5
+ /* @__PURE__ */e("pattern",{id:"pattern0_3714_3923",patternContentUnits:"objectBoundingBox",width:"1",height:"1",children:/* @__PURE__ */e("use",{xlinkHref:"#image0_3714_3923",transform:"matrix(0.0208333 0 0 0.0125 -0.5 -0.15)"})}),
6
+ /* @__PURE__ */e("image",{id:"image0_3714_3923",width:"96",height:"96",preserveAspectRatio:"none",xlinkHref:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAYKADAAQAAAABAAAAYAAAAACpM19OAAACZUlEQVR4Ae2bUU7CUBBFqa6AFcBS2Jm4M5cCO2AH1X6QkEFqrrm9Q/WYGJ12mNt3Dk3aj7fZ8AMBCEAAAhCAAAQgAAEIQAACEIAABCDwXwgM6YXudrsxnanknc/nKJMX5eLo9RNAgJ+pNBEBEi5/MwL8TKWJCJBw+ZsR4GcqTUSAhMvfHH3m/e7yu98L0s/9lQF3QCUSrhEQBl7jEFCJhGsEhIHXOARUIuEaAWHgNQ4BlUi4RkAYeI1DQCUSrhEQBl7jEFCJhGsEhIHXOARUIuEaAWHgNQ4BlUi4RkAYeI1DQCUSrhEQBl7jEFCJhGsEhIHXOARUIuEaAWHgNQ4BlUi4RkAYeI1DQCUSrhEQBl7jEFCJhOtWAfv9/hhe711c9zW83l1R6MC08HEc30JxczGH7XY7XC6Xj7mmpc61CHgi+FeubRLiAp4QfquEqIAnht8mISZgBfBbJEQErAh+XMLiAlYIPyph8T1i3XvArjR/+3fpPWStL2K/hfKXPoeAZpsIQEAzgeZ47gAENBNojucOaBaw+HuAe30/vVcs/dzuXg93gJuoOA8BIjB3OwLcRMV5CBCBudsR4CYqzkOACMzdjgA3UXEeAkRg7nYEuImK8xAgAnO3I8BNVJyHABGYux0BbqLiPASIwNztCHATFechQATmbkeAm6g4DwEiMHc7AtxExXkIEIG52xHgJirOQ4AIzN2OADdRcd7qBAzD8P5ojXPnHn2m+/jiO2TcC5z28077er/mHm5nT/BPp9Px9tga/l+dgAlqlbBW+Gv4gsxe47T/bPqdbeIkBCAAAQhA4EkJfAJCj18c5aGGIQAAAABJRU5ErkJggg=="})]})]});export{g as Pin};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{jsx as r}from"react/jsx-runtime";import{Plane as t}from"lucide-react";const e=e=>/* @__PURE__ */r(t,{...e});export{e as Plane};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{jsx as t}from"react/jsx-runtime";const r=r=>/* @__PURE__ */t("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...r,children:/* @__PURE__ */t("path",{d:"M12 5V19M19 12H5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})});export{r as Plus};
@@ -0,0 +1,3 @@
1
+ 'use client';
2
+ import{jsx as e}from"react/jsx-runtime";import{cn as r}from"../../lib/utils.js";function s({baseSize:s,radius:t,strokeWidth:o,circumference:a,dashOffset:i,className:c}){/* @__PURE__ */
3
+ return e("svg",{viewBox:`0 0 ${s} ${s}`,className:r("rounded-full",c),children:/* @__PURE__ */e("circle",{cx:s/2,cy:s/2,r:t,fill:"none",className:"stroke-brand",strokeWidth:o,strokeDasharray:a,strokeDashoffset:i,transform:`rotate(-100 ${s/2} ${s/2})`,style:{transition:"stroke-dashoffset 800ms cubic-bezier(0.2, 0.7, 0.1, 1)"},strokeLinecap:"round"})})}export{s as ProgressRing};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{jsx as r}from"react/jsx-runtime";import{Salad as t}from"lucide-react";const o=o=>/* @__PURE__ */r(t,{...o});export{o as Salad};
@@ -0,0 +1,4 @@
1
+ 'use client';
2
+ import{jsxs as r,jsx as t}from"react/jsx-runtime";const o=o=>/* @__PURE__ */r("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...o,children:[
3
+ /* @__PURE__ */t("circle",{cx:"11",cy:"11",r:"7",stroke:"currentColor",strokeWidth:"2"}),
4
+ /* @__PURE__ */t("path",{d:"M20 20L16.5 16.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]});export{o as Search};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{jsx as t}from"react/jsx-runtime";import{Settings as r}from"lucide-react";const e=e=>/* @__PURE__ */t(r,{...e});export{e as Settings};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{jsx as r}from"react/jsx-runtime";import{Shapes as t}from"lucide-react";const e=e=>/* @__PURE__ */r(t,{...e});export{e as Shapes};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{jsx as r}from"react/jsx-runtime";import{Target as t}from"lucide-react";const e=e=>/* @__PURE__ */r(t,{...e});export{e as Target};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{jsx as r}from"react/jsx-runtime";import{Trophy as o}from"lucide-react";const t=t=>/* @__PURE__ */r(o,{...t});export{t as Trophy};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{jsx as r}from"react/jsx-runtime";import{Wallet as t}from"lucide-react";const e=e=>/* @__PURE__ */r(t,{...e});export{e as Wallet};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{AddCircle as o}from"./AddCircle.js";import{ArrowLeft as r}from"./ArrowLeft.js";import{Bell as m}from"./Bell.js";import{BookOpen as t}from"./BookOpen.js";import{Calendar as i}from"./Calendar.js";import{Challenge as s}from"./Challenge.js";import{Dumbbell as p}from"./Dumbbell.js";import{Flag as f}from"./Flag.js";import{Flame as j}from"./Flame.js";import{Code2 as e}from"./Code2.js";import{Gamepad2 as a}from"./Gamepad2.js";import{GraduationCap as n}from"./GraduationCap.js";import{ICON_NAMES as l,Icon as g}from"./Icon.js";import{Laptop as C}from"./Laptop.js";import{LogIn as h}from"./LogIn.js";import{Music as d}from"./Music.js";import{Palette as u}from"./Palette.js";import{PencilLine as L}from"./PencilLine.js";import{Plane as P}from"./Plane.js";import{ProgressRing as c}from"./ProgressRing.js";import{Salad as v}from"./Salad.js";import{Settings as y}from"./Settings.js";import{Target as H}from"./Target.js";import{Trophy as S}from"./Trophy.js";import{Wallet as b}from"./Wallet.js";import{Check as E}from"./Check.js";import{Chevron as F}from"./Chevron.js";import{ChevronDown as G}from"./ChevronDown.js";import{ChevronLeft as M}from"./ChevronLeft.js";import{ChevronRight as k}from"./ChevronRight.js";import{ChevronUp as w}from"./ChevronUp.js";import{Close as A}from"./Close.js";import{Endless as B}from"./Endless.js";import{Eye as D}from"./Eye.js";import{EyeOff as I}from"./EyeOff.js";import{HamburgerMenu as O}from"./HamburgerMenu.js";import{Heart as R}from"./Heart.js";import{HeartFilled as T}from"./HeartFilled.js";import{Home as x}from"./Home.js";import{Languages as U}from"./Languages.js";import{LayoutGrid as W}from"./LayoutGrid.js";import{Logo as q}from"./Logo.js";import{Minus as z}from"./Minus.js";import{People as J}from"./People.js";import{Person as K}from"./Person.js";import{Pin as N}from"./Pin.js";import{Plus as Q}from"./Plus.js";import{Search as V}from"./Search.js";import{Shapes as X}from"./Shapes.js";export{o as AddCircle,r as ArrowLeft,m as Bell,t as BookOpen,i as Calendar,s as Challenge,E as Check,F as Chevron,G as ChevronDown,M as ChevronLeft,k as ChevronRight,w as ChevronUp,A as Close,e as Code2,p as Dumbbell,B as Endless,D as Eye,I as EyeOff,f as Flag,j as Flame,a as Gamepad2,n as GraduationCap,O as HamburgerMenu,R as Heart,T as HeartFilled,x as Home,l as ICON_NAMES,g as Icon,U as Languages,C as Laptop,W as LayoutGrid,h as LogIn,q as Logo,z as Minus,d as Music,u as Palette,L as PencilLine,J as People,K as Person,N as Pin,P as Plane,Q as Plus,c as ProgressRing,v as Salad,V as Search,y as Settings,X as Shapes,H as Target,S as Trophy,b as Wallet};
@@ -0,0 +1,9 @@
1
+ 'use client';
2
+ import{jsxs as e,jsx as r}from"react/jsx-runtime";import{useRef as l,useState as t}from"react";import{cn as n}from"../../lib/utils.js";import{Button as i}from"../Button/Button.js";import{Text as a}from"../Text/Text.js";function o({previewUrl:o,onSelectFile:s,onClear:c,placeholderTitle:u="썸네일 영역을 클릭해 이미지를 선택하세요.",placeholderSubtitle:d="또는 이미지를 드래그해서 놓아주세요.",helperText:m="JPG, PNG, GIF 파일을 업로드할 수 있습니다.",acceptedTypes:f=["image/jpeg","image/png","image/gif"],onInvalidFile:g,clearLabel:p="선택 해제",dropZoneClassName:h="min-h-[220px] flex-1 lg:min-h-[440px]",className:b}){const v=l(null),[x,y]=t(!1),[N,w]=t(null),D=Boolean(o)&&N!==o,j=Boolean(o),k=()=>{v.current?.click()},T=e=>{e&&(f.includes(e.type)?(w(null),s(e)):g?.(e))};/* @__PURE__ */
3
+ return e("div",{className:n("flex h-full flex-col rounded-4 border border-gray-200 bg-white p-4",b),children:[
4
+ /* @__PURE__ */e("div",{role:"button",tabIndex:0,"aria-label":"썸네일 이미지 선택",className:n("relative flex w-full cursor-pointer items-center justify-center overflow-hidden rounded-3 border bg-gray-100 transition outline-none","focus-visible:ring-2 focus-visible:ring-brand/30 focus-visible:ring-offset-2",h,x?"border-main-700 ring-3 ring-main-300":"border-gray-200 hover:border-gray-300"),onClick:k,onKeyDown(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),k())},onDragEnter(e){e.preventDefault(),y(!0)},onDragOver(e){e.preventDefault(),x||y(!0)},onDragLeave(e){e.preventDefault(),y(!1)},onDrop(e){e.preventDefault(),y(!1),T(e.dataTransfer.files?.[0]??null)},children:[D?/* @__PURE__ */r("img",{src:o,alt:"썸네일 미리보기",className:"absolute inset-0 h-full w-full object-cover",onError(){return w(o??null)}}):/* @__PURE__ */e("div",{className:"flex flex-col items-center gap-2 px-4 text-center",children:[
5
+ /* @__PURE__ */r(a,{size:"body2",weight:"medium",className:"text-gray-700",children:u}),
6
+ /* @__PURE__ */r(a,{size:"caption1",weight:"regular",className:"text-gray-500",children:d})]}),
7
+ /* @__PURE__ */r("input",{ref:v,type:"file",accept:f.join(","),onChange(e){T(e.target.files?.[0]??null),e.target.value=""},className:"hidden"})]}),
8
+ /* @__PURE__ */e("div",{className:"mt-4 flex items-center justify-between gap-3",children:[
9
+ /* @__PURE__ */r(a,{size:"caption1",weight:"regular",className:"text-gray-500",children:m}),j&&c?/* @__PURE__ */r(i,{type:"button",variant:"secondary",size:"sm",className:"shrink-0",onClick:c,children:p}):null]})]})}export{o as ImagePicker};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{ImagePicker as r}from"./ImagePicker.js";export{r as ImagePicker};
@@ -0,0 +1,3 @@
1
+ 'use client';
2
+ import{jsx as t}from"react/jsx-runtime";import{cn as e}from"../../lib/utils.js";import{Logo as m}from"../Icons/Logo.js";function o({className:o,logoSize:r="md"}){/* @__PURE__ */
3
+ return t("div",{className:e("flex items-center justify-center bg-brand-soft",o),children:/* @__PURE__ */t(m,{className:e("text-main-500 animate-float",{sm:"w-4 h-6",md:"w-6 h-10",lg:"w-8 h-14"}[r])})})}export{o as ImagePlaceholder};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{ImagePlaceholder as e}from"./ImagePlaceholder.js";export{e as ImagePlaceholder};
@@ -0,0 +1,7 @@
1
+ 'use client';
2
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import{cn as i}from"../../lib/utils.js";import{Text as r}from"../Text/Text.js";import{ArrowLeft as a}from"../Icons/ArrowLeft.js";function l({title:l,onBack:s,subtitle:n,right:c,backLabel:o="뒤로가기",className:m,...d}){/* @__PURE__ */
3
+ return e("header",{"data-slot":"mobile-header",className:i("sticky top-0 z-30 border-b border-gray-100 bg-white px-4 lg:hidden","pt-[env(safe-area-inset-top)]",m),...d,children:/* @__PURE__ */t("div",{className:"flex h-14 items-center gap-2",children:[
4
+ /* @__PURE__ */e("div",{className:"flex w-8 shrink-0 justify-start",children:s?/* @__PURE__ */e("button",{type:"button","aria-label":o,onClick:s,className:i("grid h-8 w-8 place-items-center rounded-2 text-gray-800 transition-colors","hover:bg-gray-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/30"),children:/* @__PURE__ */e(a,{width:20,height:20})}):null}),
5
+ /* @__PURE__ */t("div",{className:"flex min-w-0 flex-1 flex-col items-center text-center",children:[
6
+ /* @__PURE__ */e(r,{as:"h1",size:"body1",weight:"extrabold",className:"max-w-full truncate text-gray-900",children:l}),n?/* @__PURE__ */e(r,{size:"caption3",weight:"medium",className:"max-w-full truncate text-gray-500",children:n}):null]}),
7
+ /* @__PURE__ */e("div",{className:"flex min-w-8 shrink-0 items-center justify-end gap-1",children:c})]})})}export{l as MobileHeader};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{MobileHeader as e}from"./MobileHeader.js";export{e as MobileHeader};
@@ -0,0 +1,15 @@
1
+ 'use client';
2
+ import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useState as r,useMemo as n}from"react";import{startOfWeek as a,startOfMonth as i,endOfWeek as s,endOfMonth as o,addDays as d,format as l,subMonths as c,addMonths as m,isSameMonth as b}from"date-fns";import{cn as u}from"../../lib/utils.js";import{ChevronLeft as g}from"../Icons/ChevronLeft.js";import{ChevronRight as h}from"../Icons/ChevronRight.js";import{Text as f}from"../Text/Text.js";const y=["일","월","화","수","목","금","토"],p="yyyy-MM-dd";function x({days:g=[],indicator:h="count",month:x,defaultMonth:w,onMonthChange:C,minDate:k,maxDate:z,selectedDate:j,onSelectDate:M,today:$=/* @__PURE__ */new Date,weekLabels:D=[...y],className:L}){const[S,T]=r(()=>w??x??$),R=x??S,I=n(()=>{const e=/* @__PURE__ */new Map;for(const t of g)e.set(t.date,t);return e},[g]),O=n(()=>g.reduce((e,t)=>Math.max(e,t.count??0),0),[g]),F=n(()=>{const e=a(i(R),{weekStartsOn:0}),t=s(o(R),{weekStartsOn:0}),r=[];for(let n=e;n<=t;){const e=[];for(let t=0;t<7;t+=1)e.push(n),n=d(n,1);r.push(e)}return r},[R]),Y=e=>{void 0===x&&T(e),C?.(e)},q=l($,p),A=`${R.getFullYear()}년 ${R.getMonth()+1}월`,B=l(o(c(R,1)),p),E=l(i(m(R,1)),p),G=!k||B>=k,H=!z||E<=z,J=F.length-1;/* @__PURE__ */
3
+ return e("div",{className:u("w-full",L),children:[
4
+ /* @__PURE__ */e("div",{className:"mb-2.5 flex items-center justify-between",children:[
5
+ /* @__PURE__ */t(f,{size:"body1",weight:"extrabold",className:"text-gray-900",children:A}),
6
+ /* @__PURE__ */e("div",{className:"flex items-center gap-1",children:[
7
+ /* @__PURE__ */t(v,{direction:"prev",disabled:!G,onClick(){return Y(c(R,1))}}),
8
+ /* @__PURE__ */t(v,{direction:"next",disabled:!H,onClick(){return Y(m(R,1))}})]})]}),
9
+ /* @__PURE__ */e("div",{className:"overflow-hidden rounded-3 border border-gray-200 bg-white",children:[
10
+ /* @__PURE__ */t("div",{className:"grid grid-cols-7",children:D.map((e,r)=>/* @__PURE__ */t("div",{className:u("flex h-8 items-center justify-center border-b border-r border-gray-200 bg-gray-50 sm:h-10",r===D.length-1&&"border-r-0"),children:/* @__PURE__ */t(f,{size:"caption3",weight:"medium",className:"text-gray-500 sm:text-sm",children:e})},`${e}-${r}`))}),
11
+ /* @__PURE__ */t("div",{className:"grid grid-cols-7",children:F.map((e,r)=>e.map((e,n)=>{const a=l(e,p),i=I.get(a),s=!b(e,R),o=!0===i?.disabled||s||!((e,t,r)=>!(t&&e<t||r&&e>r))(a,k,z),d=a===q,c=j===a,m=i?.count??0,u=i?.intensity??(O>0?m/O:0);/* @__PURE__ */
12
+ return t(N,{dayNumber:e.getDate(),indicator:h,count:m,intensity:u,disabled:o,dimmed:s,isToday:d,isSelected:c,isLastColumn:6===n,isLastRow:r===J,onClick:o||!M?void 0:()=>M(a)},a)}))})]})]})}function v({direction:e,disabled:r,onClick:n}){const a="prev"===e?g:h;/* @__PURE__ */
13
+ return t("button",{type:"button","aria-label":"prev"===e?"이전 달":"다음 달",disabled:r,onClick:n,className:u("flex size-8 items-center justify-center rounded-full text-gray-600 transition-colors","hover:bg-gray-100 active:bg-gray-200","disabled:cursor-not-allowed disabled:text-gray-300 disabled:hover:bg-transparent"),children:/* @__PURE__ */t(a,{className:"size-4"})})}function N({dayNumber:r,indicator:n,count:a,intensity:i,disabled:s,dimmed:o,isToday:d,isSelected:l,isLastColumn:c,isLastRow:m,onClick:b}){const g=a>0,h="intensity"===n&&g&&!l;/* @__PURE__ */
14
+ return e("button",{type:"button",disabled:s||!b,onClick:b,"aria-label":`${r}일${g?` 일지 ${a}개`:""}`,"aria-current":d?"date":void 0,"aria-pressed":b?l:void 0,className:u("relative flex h-[52px] flex-col items-start gap-1 overflow-hidden border-b border-r border-gray-200 p-1.5 text-left align-top transition-colors sm:h-[64px] sm:p-2",c&&"border-r-0",m&&"border-b-0",b&&"hover:bg-gray-50 active:bg-gray-100",(s||!b)&&"cursor-default",o&&"bg-gray-50",l&&"bg-brand-soft ring-1 ring-inset ring-brand",d&&!l&&"ring-1 ring-inset ring-main-400"),children:[h?/* @__PURE__ */t("span",{"aria-hidden":!0,className:"absolute inset-0 bg-brand",style:{opacity:.12+.5*Math.min(1,i)}}):null,
15
+ /* @__PURE__ */t("span",{className:u("relative z-[1] text-xs leading-none tabular-nums sm:text-sm",l?"font-extrabold text-brand":o||s?"font-medium text-gray-300":g?"font-bold text-gray-900":"font-medium text-gray-700"),children:r}),"count"===n&&g?/* @__PURE__ */t("span",{className:u("relative z-[1] rounded-full px-1.5 py-0.5 text-[10px] font-semibold leading-none tabular-nums sm:text-[11px]",l?"bg-brand text-white":"bg-brand-soft text-brand"),children:a}):null,"dot"===n&&g?/* @__PURE__ */t("span",{"aria-hidden":!0,className:"relative z-[1] block size-1 rounded-full bg-brand sm:size-1.5"}):null]})}export{x as MonthCalendar};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{MonthCalendar as o}from"./MonthCalendar.js";export{o as MonthCalendar};
@@ -0,0 +1,5 @@
1
+ 'use client';
2
+ import{jsxs as e,jsx as t}from"react/jsx-runtime";import{Text as r}from"../Text/Text.js";import{Logo as i}from"../Icons/Logo.js";function o(){/* @__PURE__ */
3
+ return e("div",{className:"flex items-end gap-2",children:[
4
+ /* @__PURE__ */t(i,{width:24,height:40,className:"text-gray-300"}),
5
+ /* @__PURE__ */t(r,{size:"body1",weight:"bold",className:"my-2.5 text-gray-300",children:"1D1S"})]})}export{o as PageWatermark};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{PageWatermark as r}from"./PageWatermark.js";export{r as PageWatermark};
@@ -0,0 +1,5 @@
1
+ 'use client';
2
+ import{jsxs as e,jsx as t}from"react/jsx-runtime";import*as a from"react";import{cva as i}from"class-variance-authority";import{cn as s}from"../../lib/utils.js";import{Icon as n}from"../Icons/Icon.js";const r=i(["inline-flex shrink-0 items-center justify-center rounded-lg","select-none transition-colors duration-150 ease-out outline-none","focus-visible:ring-2 focus-visible:ring-brand/30 focus-visible:ring-offset-2","disabled:cursor-not-allowed disabled:opacity-40"],{variants:{size:{sm:"size-8 text-xs",md:"size-10 text-sm",lg:"size-12 text-base"},active:{true:"bg-brand text-white font-semibold",false:"text-gray-600 hover:bg-gray-100"}},defaultVariants:{size:"md",active:!1}}),o="dots";function l({count:i,page:l,defaultPage:c=1,onPageChange:m,siblingCount:u=1,size:d="md",className:b,...h}){const f=void 0!==l,[p,g]=a.useState(c),v=Math.min(Math.max(f?l:p,1),i),x=e=>{const t=Math.min(Math.max(e,1),i);t!==v&&(f||g(t),m?.(t))},z=((e,t,a)=>{if(e<=2*a+5)return Array.from({length:e},(e,t)=>t+1);const i=Math.max(t-a,1),s=Math.min(t+a,e),n=i>2,r=s<e-1,l=[1];n&&l.push(o);for(let o=n?i:2;o<=(r?s:e-1);o+=1)l.push(o);return r&&l.push(o),l.push(e),l})(i,v,u);/* @__PURE__ */
3
+ return e("nav",{"aria-label":"페이지네이션",className:s("flex items-center gap-1",b),...h,children:[
4
+ /* @__PURE__ */t("button",{type:"button","aria-label":"이전 페이지",disabled:v<=1,onClick(){return x(v-1)},className:s(r({size:d})),children:/* @__PURE__ */t(n,{name:"ChevronLeft",className:"size-5"})}),z.map((e,a)=>e===o?/* @__PURE__ */t("span",{"aria-hidden":!0,className:s(r({size:d}),"pointer-events-none"),children:"…"},`dots-${a}`):/* @__PURE__ */t("button",{type:"button","aria-label":`${e} 페이지`,"aria-current":e===v?"page":void 0,onClick(){return x(e)},className:s(r({size:d,active:e===v})),children:e},e)),
5
+ /* @__PURE__ */t("button",{type:"button","aria-label":"다음 페이지",disabled:v>=i,onClick(){return x(v+1)},className:s(r({size:d})),children:/* @__PURE__ */t(n,{name:"ChevronRight",className:"size-5"})})]})}export{l as Pagination};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{Pagination as o}from"./Pagination.js";export{o as Pagination};
@@ -0,0 +1,4 @@
1
+ 'use client';
2
+ import{jsxs as e,jsx as a}from"react/jsx-runtime";import{cn as l}from"../../lib/utils.js";import{Text as i}from"../Text/Text.js";const s={xs:4,sm:6,md:8,lg:12};function r({value:r,label:t,showLabel:n,showValueText:m=!0,valueText:o,infinite:d=!1,size:c="md",thickness:u,fillColor:h,trackColor:g,className:b,labelClassName:f,valueClassName:v,trackClassName:x,fillClassName:N,...p}){const k=Math.min(Math.max(r,0),100),w=d?"100%":`${k}%`,C=o??(d?"∞":`${k}%`),y=n??void 0!==t,j=u??s[c];/* @__PURE__ */
3
+ return e("div",{className:l("w-full",b),...p,children:[(y||m)&&/* @__PURE__ */e("div",{className:"flex items-center justify-between gap-3",children:[y?/* @__PURE__ */a(i,{size:"caption1",weight:"medium",className:l("line-clamp-1 text-gray-800",f),children:t}):/* @__PURE__ */a("span",{}),m?/* @__PURE__ */a(i,{size:"caption2",weight:"medium",className:l("shrink-0 text-gray-600",v),children:C}):null]}),
4
+ /* @__PURE__ */a("div",{className:l("mt-2 overflow-hidden rounded-full bg-gray-100",x),style:{height:`${j}px`,...g?{backgroundColor:g}:{}},children:/* @__PURE__ */a("div",{className:l("h-full rounded-full bg-brand",d&&"animate-shimmer",N),style:{width:w,...h?{backgroundColor:h}:{},...d?{backgroundImage:"linear-gradient(90deg, var(--brand) 25%, var(--main-400) 50%, var(--brand) 75%)",backgroundSize:"200% 100%"}:{}}})})]})}export{r as ProgressBar};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{ProgressBar as r}from"./ProgressBar.js";export{r as ProgressBar};
@@ -0,0 +1,7 @@
1
+ 'use client';
2
+ import{jsxs as e,jsx as a}from"react/jsx-runtime";import*as r from"react";import{cn as l}from"../../lib/utils.js";import{Text as i}from"../Text/Text.js";const n=r.forwardRef(({className:n,label:o,id:s,disabled:t,...c},d)=>{const u=r.useId(),p=s||u;/* @__PURE__ */
3
+ return e("label",{htmlFor:p,className:l("inline-flex cursor-pointer items-center gap-2 select-none",t&&"cursor-not-allowed opacity-[0.45]",n),children:[
4
+ /* @__PURE__ */e("span",{className:"relative inline-flex h-[18px] w-[18px] shrink-0 items-center justify-center",children:[
5
+ /* @__PURE__ */a("input",{ref:d,id:p,type:"radio",disabled:t,className:"peer absolute inset-0 m-0 h-full w-full cursor-pointer appearance-none rounded-full border-[1.5px] border-gray-300 bg-white outline-none transition-colors focus-visible:ring-2 focus-visible:ring-brand/30 focus-visible:ring-offset-2 checked:border-brand",...c}),
6
+ /* @__PURE__ */a("span",{className:"pointer-events-none h-[9px] w-[9px] scale-0 rounded-full bg-brand transition-transform duration-150 ease-out peer-checked:scale-100 peer-checked:animate-pop"})]}),o?/* @__PURE__ */a(i,{size:"caption2",weight:"medium",className:"text-gray-800",children:o}):null]})});function o({name:e,options:i,value:o,defaultValue:s,onChange:t,direction:c="vertical",className:d,...u}){const p=void 0!==o,[m,f]=r.useState(s),b=p?o:m;/* @__PURE__ */
7
+ return a("div",{role:"radiogroup",className:l("flex","vertical"===c?"flex-col gap-2":"flex-row gap-4",d),...u,children:i.map(r=>/* @__PURE__ */a(n,{name:e,value:r.value,checked:b===r.value,disabled:r.disabled,onChange(e){p||f(r.value),t?.(r.value)},label:r.label},r.value))})}n.displayName="Radio";export{n as Radio,o as RadioGroup};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{Radio as o,RadioGroup as r}from"./Radio.js";export{o as Radio,r as RadioGroup};
@@ -0,0 +1,8 @@
1
+ 'use client';
2
+ import{jsx as e,jsxs as t,Fragment as r}from"react/jsx-runtime";import{cn as a}from"../../lib/utils.js";import{Person as i}from"../Icons/Person.js";import{Text as n}from"../Text/Text.js";const l=["일","월","화","수","목","금","토"];function o(e="default"){return"strong"===e?"text-gray-900 font-extrabold":"accent"===e?"text-brand font-extrabold":"muted"===e?"text-gray-400 font-medium":"text-gray-700 font-medium"}function s(e="main"){return"soft"===e?"bg-main-600/50":"bg-brand"}function d({rows:d,weekLabels:c=[...l],cellMinHeight:m=140,className:b}){/* @__PURE__ */
3
+ return e("div",{className:a("w-full overflow-hidden rounded-3 border border-gray-200 bg-white",b),children:/* @__PURE__ */t("table",{className:"w-full table-fixed border-collapse",children:[
4
+ /* @__PURE__ */e("thead",{children:/* @__PURE__ */e("tr",{children:c.map((t,r)=>/* @__PURE__ */e("th",{className:a("h-8 border-b border-r border-gray-200 bg-gray-50 px-1 text-center align-middle sm:h-11 sm:px-2.5",r===c.length-1&&"border-r-0"),scope:"col",children:/* @__PURE__ */e(n,{size:"caption3",weight:"medium",className:"text-gray-500 sm:text-sm",children:t})},`${t}-${r}`))})}),
5
+ /* @__PURE__ */e("tbody",{children:d.map((l,d)=>/* @__PURE__ */e("tr",{children:l.map((c,b)=>{const p=c.colSpan??1,u=c.id??`r${d}-c${b}`,g=l.slice(0,b+1).reduce((e,t)=>e+(t.colSpan??1),0)>=7;/* @__PURE__ */
6
+ return e("td",{colSpan:p,className:a("border-r border-b border-gray-200 align-top",g&&"border-r-0"),children:/* @__PURE__ */e("div",{className:a("flex h-full flex-col gap-1 p-1 transition-colors duration-200 sm:gap-2 sm:p-2",c.muted&&"bg-gray-50",c.highlighted&&"bg-brand-soft/70 ring-1 ring-inset ring-main-400"),style:{minHeight:`${m}px`},children:c.content?c.content:/* @__PURE__ */t(r,{children:[void 0!==c.day?/* @__PURE__ */e(n,{size:"caption3",weight:"medium",className:a("leading-tight sm:text-base",o(c.dayTone)),children:c.day}):null,void 0!==c.title?/* @__PURE__ */e(n,{size:"caption3",weight:"bold",className:"line-clamp-1 text-gray-900 sm:text-sm",children:c.title}):null,c.bars&&c.bars.length>0?/* @__PURE__ */e("div",{className:"mt-0.5 flex flex-col gap-1",children:c.bars.map((t,r)=>{/* @__PURE__ */return e("span",{className:a("block h-1 rounded-full transition-all duration-200 sm:h-1.5",s(t.tone)),style:{width:(i=t.width,void 0===i?"100%":"number"==typeof i?`${i}%`:i)}},`${u}-bar-${r}`);var i})}):null,void 0!==c.subtitle?/* @__PURE__ */e(n,{size:"caption3",weight:"medium",className:"hidden text-gray-600 sm:block",children:c.subtitle}):null,"number"==typeof c.participantCount&&c.participantCount>=2?/* @__PURE__ */t("div",{className:"mt-auto inline-flex w-fit items-center gap-0.5 rounded-full bg-brand-soft px-1.5 py-0.5 text-brand sm:gap-1 sm:px-2","aria-label":`${c.participantCount}명 작성`,children:[
7
+ /* @__PURE__ */e(i,{className:"size-2.5 sm:size-3",strokeWidth:2.4}),
8
+ /* @__PURE__ */e(n,{size:"caption3",weight:"bold",className:"leading-none tabular-nums",children:c.participantCount})]}):null]})})},u)})},`row-${d}`))})]})})}export{d as ScheduleCalendar};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{ScheduleCalendar as e}from"./ScheduleCalendar.js";export{e as ScheduleCalendar};
@@ -0,0 +1,5 @@
1
+ 'use client';
2
+ import{jsxs as t,jsx as e}from"react/jsx-runtime";import{cn as i}from"../../lib/utils.js";function a({title:a,subtitle:l,action:n,onActionClick:s,actionLabel:o="전체보기 →",size:r="md",className:c,...x}){const m={sm:"text-sm font-extrabold tracking-[-0.2px]",md:"text-base font-extrabold tracking-[-0.3px]",lg:"text-lg font-extrabold tracking-[-0.4px]"}[r],d={sm:"text-3xs",md:"text-2xs",lg:"text-xs"}[r],b=n??(s?/* @__PURE__ */e("button",{type:"button",onClick:s,className:"text-xs font-bold text-brand transition-opacity hover:opacity-80",children:o}):null);/* @__PURE__ */
3
+ return t("div",{"data-slot":"section-header",className:i("flex items-baseline justify-between gap-3",c),...x,children:[
4
+ /* @__PURE__ */t("div",{className:"min-w-0",children:[
5
+ /* @__PURE__ */e("h2",{className:i("text-gray-900",m),children:a}),l?/* @__PURE__ */e("div",{className:i("mt-0.5 text-gray-500",d),children:l}):null]}),b?/* @__PURE__ */e("div",{className:"shrink-0",children:b}):null]})}export{a as SectionHeader};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{SectionHeader as e}from"./SectionHeader.js";export{e as SectionHeader};
@@ -0,0 +1,5 @@
1
+ 'use client';
2
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import*as i from"react";import{cva as l}from"class-variance-authority";import{cn as a}from"../../lib/utils.js";import{Text as r}from"../Text/Text.js";const n=l(["relative inline-flex items-center gap-1.5 select-none"],{variants:{size:{sm:"h-8",md:"h-9",lg:"h-11"},fullWidth:{true:"flex w-full",false:"inline-flex w-auto"}},defaultVariants:{size:"md",fullWidth:!0}}),s=l(["relative inline-flex h-full items-center justify-center gap-1.5 rounded-full","whitespace-nowrap outline-none","transition-[background-color,color] duration-150 ease-out","focus-visible:ring-2 focus-visible:ring-brand/30 focus-visible:ring-offset-2","disabled:cursor-not-allowed disabled:opacity-50"],{variants:{size:{sm:"px-3.5 text-xs",md:"px-5 text-sm",lg:"px-6 text-base"},fullWidth:{true:"flex-1",false:""},selected:{true:"bg-main-800 text-white shadow-[0_4px_12px_-4px_rgba(255,87,34,0.5)]",false:"bg-gray-100 text-gray-500 hover:bg-gray-200 hover:text-gray-700"}},defaultVariants:{size:"md",fullWidth:!0,selected:!1}}),o={sm:"caption3",md:"caption2",lg:"caption1"};function u({options:l,value:u,defaultValue:d,onValueChange:c,size:f="md",fullWidth:m=!0,className:h,...p}){const x=void 0!==u,[g,v]=i.useState(d??l[0]?.value),b=x?u:g,w=Math.max(0,l.findIndex(e=>e.value===b)),y=e=>{x||v(e),c?.(e)},z=e=>{const t=l.length;for(let i=1;i<=t;i+=1){const a=l[(w+e*i+t*i)%t];if(a&&!a.disabled)return void y(a.value)}};/* @__PURE__ */
3
+ return e("div",{role:"radiogroup",onKeyDown(e){"ArrowRight"===e.key||"ArrowDown"===e.key?(e.preventDefault(),z(1)):"ArrowLeft"!==e.key&&"ArrowUp"!==e.key||(e.preventDefault(),z(-1))},className:a(n({size:f,fullWidth:m}),h),...p,children:l.map(i=>{const l=i.value===b;/* @__PURE__ */
4
+ return t("button",{type:"button",role:"radio","aria-checked":l,disabled:i.disabled,tabIndex:l?0:-1,onClick(){return y(i.value)},className:a(s({size:f,fullWidth:m,selected:l})),children:[i.icon?/* @__PURE__ */e("span",{className:"inline-flex shrink-0 items-center justify-center text-inherit [&>svg]:size-5",children:i.icon}):null,
5
+ /* @__PURE__ */e(r,{size:o[f??"md"],weight:"medium",className:"text-inherit",children:i.label})]},i.value)})})}export{u as SegmentedControl};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{SegmentedControl as o}from"./SegmentedControl.js";export{o as SegmentedControl};
@@ -0,0 +1,16 @@
1
+ 'use client';
2
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import*as a from"@radix-ui/react-select";import{cn as r}from"../../lib/utils.js";import{Check as o}from"../Icons/Check.js";import{ChevronDown as s}from"../Icons/ChevronDown.js";import{ChevronUp as i}from"../Icons/ChevronUp.js";import{Text as n}from"../Text/Text.js";const l=a.Root,d=a.Group,c=a.Value;function m({className:o,size:i="default",children:l,...d}){/* @__PURE__ */
3
+ return t(a.Trigger,{"data-slot":"select-trigger","data-size":i,className:r("group flex w-full items-center justify-between whitespace-nowrap border bg-white outline-none transition-all duration-200","disabled:cursor-not-allowed disabled:opacity-50","hover:border-gray-400","data-[placeholder]:text-gray-500 focus-visible:border-brand focus-visible:ring-2 focus-visible:ring-brand/30 focus-visible:ring-offset-2","sm"===i?"h-10 min-w-0 rounded-2.5 border-gray-200 px-3.5":"h-10 min-w-0 rounded-2.5 border-gray-200 px-4",o),...d,children:[
4
+ /* @__PURE__ */e(n,{size:"body2",weight:"medium",className:"line-clamp-1 text-gray-900",children:l}),
5
+ /* @__PURE__ */e(a.Icon,{asChild:!0,children:/* @__PURE__ */e(s,{"data-slot":"select-chevron",className:r("pointer-events-none shrink-0 text-gray-600 transition-transform duration-200 group-data-[state=open]:rotate-180","h-4 w-4"),strokeWidth:2.8})})]})}function u({className:s,children:i,...l}){/* @__PURE__ */
6
+ return t(a.Item,{"data-slot":"select-item",className:r("relative flex w-full cursor-pointer items-center gap-3 rounded-2 px-3.5 py-2.5 outline-hidden select-none","text-gray-900 transition-colors focus:bg-gray-100 focus:text-gray-900","data-disabled:pointer-events-none data-disabled:opacity-50",s),...l,children:[
7
+ /* @__PURE__ */e("span",{className:"absolute right-3 flex size-4 items-center justify-center",children:/* @__PURE__ */e(a.ItemIndicator,{children:/* @__PURE__ */e(o,{className:"size-4 text-brand"})})}),
8
+ /* @__PURE__ */e(a.ItemText,{children:/* @__PURE__ */e(n,{size:"body2",weight:"medium",children:i})})]})}function p({className:t,...o}){/* @__PURE__ */
9
+ return e(a.Separator,{"data-slot":"select-separator",className:r("pointer-events-none my-1 h-px bg-gray-200",t),...o})}function f({className:t,...o}){/* @__PURE__ */
10
+ return e(a.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:r("flex cursor-default items-center justify-center py-1 text-gray-600",t),...o,children:/* @__PURE__ */e(i,{className:"size-4"})})}function h({className:t,...o}){/* @__PURE__ */
11
+ return e(a.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:r("flex cursor-default items-center justify-center py-1 text-gray-600",t),...o,children:/* @__PURE__ */e(s,{className:"size-4"})})}function g({className:o,children:s,position:i="popper",...n}){/* @__PURE__ */
12
+ return e(a.Portal,{children:/* @__PURE__ */t(a.Content,{"data-slot":"select-content",className:r("relative z-50 max-h-(--radix-select-content-available-height) min-w-32 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2","data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2","popper"===i&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1","rounded-4 border border-gray-200 bg-white",o),position:i,...n,children:[
13
+ /* @__PURE__ */e(f,{}),
14
+ /* @__PURE__ */e(a.Viewport,{className:r("p-2","popper"===i&&"h-(--radix-select-trigger-height) w-full min-w-(--radix-select-trigger-width) scroll-my-1"),children:s}),
15
+ /* @__PURE__ */e(h,{})]})})}function b({className:t,...o}){/* @__PURE__ */
16
+ return e(a.Label,{"data-slot":"select-label",className:r("px-4 py-2 text-xs font-bold text-gray-500",t),...o})}export{l as Select,g as SelectContent,d as SelectGroup,u as SelectItem,b as SelectLabel,h as SelectScrollDownButton,f as SelectScrollUpButton,p as SelectSeparator,m as SelectTrigger,c as SelectValue};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{Select as e,SelectContent as o,SelectGroup as r,SelectItem as t,SelectLabel as m,SelectScrollDownButton as p,SelectScrollUpButton as c,SelectSeparator as f,SelectTrigger as i,SelectValue as j}from"./Select.js";export{e as Select,o as SelectContent,r as SelectGroup,t as SelectItem,m as SelectLabel,p as SelectScrollDownButton,c as SelectScrollUpButton,f as SelectSeparator,i as SelectTrigger,j as SelectValue};
@@ -0,0 +1,4 @@
1
+ 'use client';
2
+ import{jsxs as e,jsx as t}from"react/jsx-runtime";import{cn as n}from"../../lib/utils.js";function i({text:i,action:o,onAction:r,className:s,...l}){/* @__PURE__ */
3
+ return e("div",{role:"status","aria-live":"polite",className:n("inline-flex items-center gap-4 px-4 py-3","rounded-2.5 bg-gray-900 text-white shadow-lg","text-sm font-semibold",s),...l,children:[
4
+ /* @__PURE__ */t("span",{children:i}),o&&/* @__PURE__ */t("button",{type:"button",onClick:r,className:"bg-transparent text-main-500 font-extrabold hover:underline focus:outline-none focus-visible:ring-2 focus-visible:ring-main-500/40 rounded-1",children:o})]})}export{i as Snackbar};
@@ -0,0 +1,3 @@
1
+ 'use client';
2
+ import{jsxs as t,jsx as e}from"react/jsx-runtime";import*as r from"react";import{createPortal as n}from"react-dom";import{cn as o}from"../../lib/utils.js";import{Snackbar as u}from"./Snackbar.js";const i=r.createContext(null),c={top:"top-4",bottom:"bottom-4"};function a({children:a,position:s="bottom"}){const[l,m]=r.useState(null),[d,f]=r.useState(!1),b=r.useRef(0),p=r.useRef(0),x=r.useRef(null),h=r.useRef(null),v=r.useCallback(t=>{p.current===t&&(x.current&&(clearTimeout(x.current),x.current=null),h.current||(f(!0),h.current=setTimeout(()=>{m(null),f(!1),h.current=null},220)))},[]),T=r.useCallback(t=>v(t),[v]),k=r.useCallback(t=>{b.current+=1;const e=b.current;p.current=e;const r=t.duration??3e3;return x.current&&clearTimeout(x.current),h.current&&(clearTimeout(h.current),h.current=null),f(!1),m({...t,id:e}),r>0&&(x.current=setTimeout(()=>v(e),r)),e},[v]);r.useEffect(()=>()=>{x.current&&clearTimeout(x.current),h.current&&clearTimeout(h.current)},[]);const S="bottom"===s,C=S?"animate-in fade-in-0 slide-in-from-bottom-2 duration-300":"animate-in fade-in-0 slide-in-from-top-2 duration-300",w=S?"animate-out fade-out-0 slide-out-to-bottom-2 duration-200":"animate-out fade-out-0 slide-out-to-top-2 duration-200",R=r.useMemo(()=>({show:k,dismiss:T}),[k,T]),[j,E]=r.useState(!1);return r.useEffect(()=>E(!0),[]),/* @__PURE__ */t(i.Provider,{value:R,children:[a,j&&n(
3
+ /* @__PURE__ */e("div",{className:o("pointer-events-none fixed left-1/2 z-[1000] flex -translate-x-1/2",c[s]),children:l&&/* @__PURE__ */e("div",{className:o("pointer-events-auto",d?w:C),children:/* @__PURE__ */e(u,{text:l.text,action:l.action,onAction(){l.onAction?.(),T(l.id)}})},l.id)}),document.body)]})}function s(){const t=r.useContext(i);if(!t)throw new Error("useSnackbar must be used within <SnackbarProvider />");return t}export{a as SnackbarProvider,s as useSnackbar};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{Snackbar as r}from"./Snackbar.js";import{SnackbarProvider as o,useSnackbar as a}from"./SnackbarProvider.js";export{r as Snackbar,o as SnackbarProvider,a as useSnackbar};
@@ -1,7 +1,7 @@
1
1
  import { default as React } from 'react';
2
2
  import { VariantProps } from 'class-variance-authority';
3
3
  declare const statCardVariants: (props?: ({
4
- tone?: "mint" | "blue" | "gray" | "brand" | "white" | null | undefined;
4
+ tone?: "brand" | "mint" | "blue" | "gray" | "white" | null | undefined;
5
5
  size?: "sm" | "md" | "lg" | null | undefined;
6
6
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
7
7
  export interface StatCardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "children">, VariantProps<typeof statCardVariants> {
@@ -0,0 +1,4 @@
1
+ 'use client';
2
+ import{jsxs as e,jsx as t}from"react/jsx-runtime";import r from"react";import{cva as a}from"class-variance-authority";import{cn as n}from"../../lib/utils.js";const i=a("rounded-3 border border-gray-200 shadow-sm",{variants:{tone:{white:"bg-white",brand:"bg-brand-softer border-brand-soft",mint:"bg-mint-200/40 border-mint-200",blue:"bg-blue-200/40 border-blue-200",gray:"bg-gray-50"},size:{sm:"min-w-[120px] p-3",md:"min-w-[140px] p-4",lg:"min-w-[160px] p-5"}},defaultVariants:{tone:"white",size:"md"}}),s={sm:"text-lg",md:"text-2xl",lg:"text-3xl"};function m({label:a,value:m,helper:o,tone:l,size:d,animateOnChange:b,className:c,...u}){const x=d??"md",[g,p]=r.useState(0),f=r.useRef(m);return r.useEffect(()=>{b&&f.current!==m&&p(e=>e+1),f.current=m},[m,b]),/* @__PURE__ */e("div",{"data-slot":"stat-card",className:n(i({tone:l,size:d}),c),...u,children:[
3
+ /* @__PURE__ */t("div",{className:"text-3xs font-semibold text-gray-500",children:a}),
4
+ /* @__PURE__ */t("div",{className:n("mt-1.5 font-extrabold tracking-[-0.4px] leading-none text-gray-900 tabular-nums",s[x],b&&g>0&&"animate-pop"),children:m},g),o?/* @__PURE__ */t("div",{className:"mt-1.5 text-3xs text-gray-500",children:o}):null]})}export{m as StatCard};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{StatCard as r}from"./StatCard.js";export{r as StatCard};
@@ -0,0 +1,3 @@
1
+ 'use client';
2
+ import{jsx as e}from"react/jsx-runtime";import{cn as t}from"../../lib/utils.js";const n={brand:"bg-brand",blue:"bg-blue-600",mint:"bg-mint-800",red:"bg-red-600",green:"bg-green-700",gray:"bg-gray-700"},a={NEW:"brand",HOT:"blue",TIP:"mint"};function r({kind:r,tone:i,children:s,variant:l="standalone",className:d,...b}){const c=i??(r?a[r]:"brand"),o=s??r??"";/* @__PURE__ */
3
+ return e("span","inline"===l?{"data-slot":"status-badge","data-variant":"inline",className:t("inline-flex items-center justify-center rounded-full bg-white/25 px-2.5 py-0.5","text-3xs font-extrabold uppercase tracking-[0.4px] text-white",d),...b,children:o}:{"data-slot":"status-badge","data-variant":"standalone",className:t("inline-flex items-center justify-center rounded-2 px-3 py-1.5",n[c],d),...b,children:/* @__PURE__ */e("span",{className:"rounded-full bg-white/25 px-2.5 py-0.5 text-3xs font-extrabold uppercase tracking-[0.4px] text-white",children:o})})}export{r as StatusBadge};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{StatusBadge as t}from"./StatusBadge.js";export{t as StatusBadge};
@@ -0,0 +1,10 @@
1
+ 'use client';
2
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import{cn as r}from"../../lib/utils.js";import{Check as l}from"../Icons/Check.js";import{Text as a}from"../Text/Text.js";const i={sm:{circle:"h-7 w-7",trackTop:"top-3.5",checkIcon:"h-3 w-3",numberSize:"caption1",labelSize:"body2",labelMargin:"mt-3"},md:{circle:"h-10 w-10",trackTop:"top-5",checkIcon:"h-4 w-4",numberSize:"body1",labelSize:"heading2",labelMargin:"mt-5"},lg:{circle:"h-14 w-14",trackTop:"top-7",checkIcon:"h-5 w-5",numberSize:"body1",labelSize:"heading1",labelMargin:"mt-7"}};function n({steps:n,currentStep:c,size:s="md",className:o}){const d=i[s];if(0===n.length)/* @__PURE__ */
3
+ return e("div",{className:r("w-full",o)});const m=Math.max(n.length-1,0),h=Math.min(Math.max(c-1,0),m),b=100/(2*n.length)+"%",g=0===m?100:h/m*100;/* @__PURE__ */
4
+ return e("div",{className:r("w-full",o),children:/* @__PURE__ */t("div",{className:"relative",children:[n.length>1?/* @__PURE__ */t("div",{className:r("absolute",d.trackTop),style:{left:b,right:b},children:[
5
+ /* @__PURE__ */e("div",{className:"h-0.5 w-full bg-gray-200"}),
6
+ /* @__PURE__ */e("div",{className:"absolute top-0 left-0 h-0.5 bg-brand transition-all duration-300 ease-in-out",style:{width:`${g}%`}})]}):null,
7
+ /* @__PURE__ */e("ol",{className:"relative z-10 flex items-start",children:n.map((i,n)=>{const c=n<h,s=n===h,o=i.id??`step-${n}`;/* @__PURE__ */
8
+ return t("li",{className:"flex flex-1 flex-col items-center",children:[
9
+ /* @__PURE__ */e("span",{className:r("flex items-center justify-center rounded-full border-2 bg-white transition-colors duration-200",d.circle,c&&"border-brand bg-brand text-white",s&&"border-brand bg-brand text-white ring-4 ring-main-300",!c&&!s&&"border-gray-300 text-gray-600"),"aria-current":s?"step":void 0,children:c?/* @__PURE__ */e(l,{className:d.checkIcon,strokeWidth:2.5}):/* @__PURE__ */e(a,{size:d.numberSize,weight:"bold",className:r(s?"text-white":"text-gray-600"),children:n+1})}),
10
+ /* @__PURE__ */e(a,{size:d.labelSize,weight:s?"bold":"medium",className:r("text-center leading-tight",d.labelMargin,c&&"text-gray-900",s&&"text-brand",!c&&!s&&"text-gray-600"),children:i.label})]},o)})})]})})}export{n as StepIndicator};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{StepIndicator as o}from"./StepIndicator.js";export{o as StepIndicator};
@@ -0,0 +1,7 @@
1
+ 'use client';
2
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import n from"react";import*as r from"@radix-ui/react-popover";import{cn as o}from"../../lib/utils.js";function i({data:t=[],size:r=26,gap:i=8,className:s,renderCellActions:l,highlightLast:u=!1}){const[c,d]=n.useState(null);/* @__PURE__ */
3
+ return e("div",{className:o("w-full overflow-x-auto pb-2",s),children:/* @__PURE__ */e("div",{className:"grid w-max grid-flow-col grid-rows-7",style:{gridTemplateRows:`repeat(7, ${r}px)`,gridAutoColumns:`${r}px`,gap:`${i}px`},children:t.map((n,o)=>/* @__PURE__ */e(a,{item:n,index:o,size:r,selected:c===o,anySelected:null!==c,onSelect:d,renderCellActions:l,highlight:u&&o===t.length-1},o))})})}const a=n.memo(({item:i,index:a,size:s,selected:l,anySelected:u,onSelect:c,renderCellActions:d,highlight:m})=>{const[g,p]=n.useState(!1),f=n.useRef(null),h=n.useRef(!1),b=n.useRef(!1);n.useEffect(()=>{l||p(!1)},[l]);const x=()=>{null!==f.current&&(clearTimeout(f.current),f.current=null)};/* @__PURE__ */
4
+ return t(r.Root,{open:g,onOpenChange(e){if(!e){if(h.current)return void(h.current=!1);p(!1),l&&c(null),b.current=!0,setTimeout(()=>{b.current=!1},200)}},children:[
5
+ /* @__PURE__ */e(r.Trigger,{asChild:!0,children:/* @__PURE__ */e("button",{type:"button","aria-label":`${i.date} · ${i.count}회 활동`,className:o("cursor-pointer transition-colors duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-800 focus-visible:ring-offset-1",(v=i.count,v<=0?"bg-gray-100":1===v?"bg-main-300":2===v?"bg-main-500":3===v?"bg-main-700":"bg-brand"),l&&"ring-2 ring-gray-800 ring-offset-1",m&&"animate-pulse-ring"),style:{width:s,height:s,borderRadius:`${Math.max(4,Math.round(.23*s))}px`},onMouseEnter(){x(),u||b.current||p(!0)},onMouseLeave(){u||(f.current=setTimeout(()=>p(!1),80))},onClick(){x(),l?(c(null),p(!1),b.current=!0,setTimeout(()=>{b.current=!1},200)):(h.current=!0,c(a),p(!0))}})}),
6
+ /* @__PURE__ */e(r.Portal,{children:/* @__PURE__ */t(r.Content,{side:"top",sideOffset:4,onOpenAutoFocus(e){return e.preventDefault()},onMouseEnter:x,onMouseLeave(){u||p(!1)},className:o("z-50 min-w-[120px] rounded-2 bg-gray-900 px-3 py-2 text-xs text-white shadow-default","animate-in fade-in-0 zoom-in-95","data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95","data-[side=top]:slide-in-from-bottom-2 data-[side=bottom]:slide-in-from-top-2"),children:[
7
+ /* @__PURE__ */t("p",{className:"whitespace-nowrap text-xs",children:[i.date," · ",i.count,"회 활동"]}),l&&d?/* @__PURE__ */e("div",{className:"mt-2",children:d(i)}):null]})})]});var v});export{i as Streak};
@@ -0,0 +1,5 @@
1
+ 'use client';
2
+ import{jsxs as e,jsx as n}from"react/jsx-runtime";import{cn as a}from"../../lib/utils.js";function r({days:r,icon:s="🔥",unit:t,className:l,...i}){/* @__PURE__ */
3
+ return e("span",{"data-slot":"streak-chip",className:a("inline-flex items-center gap-1 rounded-full border border-brand-soft bg-brand-softer","px-3 py-1.5 text-sm font-extrabold text-brand tabular-nums",l),...i,children:[
4
+ /* @__PURE__ */n("span",{"aria-hidden":!0,className:"leading-none",children:s}),
5
+ /* @__PURE__ */e("span",{children:[r,t?/* @__PURE__ */n("span",{className:"ml-0.5",children:t}):null]})]})}export{r as StreakChip};
@@ -0,0 +1,9 @@
1
+ 'use client';
2
+ import{jsxs as e,jsx as a}from"react/jsx-runtime";import{cn as t}from"../../lib/utils.js";function n({days:n,label:r="현재 스트릭",unit:l="일째",icon:s="🔥",meta:i,className:d,...m}){/* @__PURE__ */
3
+ return e("div",{"data-slot":"streak-hero",className:t("min-w-[200px] rounded-4 border border-brand-soft p-4 shadow-warm","bg-[linear-gradient(135deg,var(--main-100),var(--main-300))]",d),...m,children:[
4
+ /* @__PURE__ */e("div",{className:"mb-2 flex items-center justify-between",children:[
5
+ /* @__PURE__ */a("span",{className:"text-2xs font-bold text-gray-600",children:r}),
6
+ /* @__PURE__ */a("span",{"aria-hidden":!0,className:"text-lg animate-flame-flicker leading-none",children:s})]}),
7
+ /* @__PURE__ */e("div",{className:"flex items-baseline gap-1",children:[
8
+ /* @__PURE__ */a("span",{className:"text-5xl font-extrabold leading-none tracking-[-0.6px] text-brand tabular-nums",children:n}),
9
+ /* @__PURE__ */a("span",{className:"text-sm font-bold text-gray-700",children:l})]}),i?/* @__PURE__ */a("div",{className:"mt-1.5 text-3xs text-gray-600",children:i}):null]})}export{n as StreakHero};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{Streak as r}from"./Streak.js";import{StreakChip as o}from"./StreakChip.js";import{StreakHero as t}from"./StreakHero.js";export{r as Streak,o as StreakChip,t as StreakHero};
@@ -0,0 +1,3 @@
1
+ 'use client';
2
+ import{jsx as e}from"react/jsx-runtime";import{cn as r}from"../../lib/utils.js";const t={peach:"var(--main-300)",cream:"var(--brand-soft)",mint:"var(--mint-200)",blue:"var(--blue-200)",sky:"var(--blue-300)",rose:"var(--red-300)",gray:"var(--gray-200)"};function a(e){return e?e in t?t[e]:e:t.cream}function i(e){return`repeating-linear-gradient(135deg, ${e}, ${e} 8px, color-mix(in srgb, ${e} 98%, black) 8px, color-mix(in srgb, ${e} 98%, black) 16px)`}function n({tone:t,label:n,radius:l=0,height:o="100%",animated:s=!1,className:c,style:m,...d}){const u=a(t);/* @__PURE__ */
3
+ return e("div",{"data-slot":"stripe",className:r("relative flex w-full items-center justify-center overflow-hidden","font-mono text-3xs tracking-[0.3px] text-black/45",s&&"animate-shimmer",c),style:{height:o,borderRadius:l,background:i(u),...m},...d,children:void 0!==n&&""!==n?/* @__PURE__ */e("span",{className:"rounded-0.5 bg-white/70 px-1.5 py-0.5",children:n}):null})}export{n as Stripe,a as resolveStripeTone,i as stripeBackground};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{Stripe as r,resolveStripeTone as o,stripeBackground as p}from"./Stripe.js";export{r as Stripe,o as resolveStripeTone,p as stripeBackground};
@@ -0,0 +1,5 @@
1
+ 'use client';
2
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import{cn as r}from"../../lib/utils.js";function a({items:a,activeId:i,onChange:n,fullWidth:s=!1,size:l="md",className:o,...d}){const b={sm:"px-4 py-2 text-xs",md:"px-5 py-2.5 text-sm",lg:"px-6 py-3 text-base"}[l];/* @__PURE__ */
3
+ return e("div",{"data-slot":"tabs",role:"tablist",className:r("flex border-b border-gray-200",s?"":"gap-1",o),...d,children:a.map(a=>{const l=i===a.id;/* @__PURE__ */
4
+ return t("button",{type:"button",role:"tab","aria-selected":l,"aria-current":l?"page":void 0,onClick(){n?.(a.id),a.onClick?.()},className:r("relative -mb-px inline-flex items-center justify-center gap-1.5 whitespace-nowrap border-b-2 font-bold transition-colors","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/30",s&&"flex-1",b,l?"border-brand text-brand":"border-transparent text-gray-500 hover:text-gray-700"),children:[
5
+ /* @__PURE__ */e("span",{children:a.label}),void 0!==a.badge?/* @__PURE__ */e("span",{className:r("text-2xs font-semibold tabular-nums",l?"text-brand/70":"text-gray-400"),children:a.badge}):null]},a.id)})})}export{a as Tabs};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{Tabs as o}from"./Tabs.js";export{o as Tabs};
@@ -0,0 +1,5 @@
1
+ 'use client';
2
+ import{jsxs as e,jsx as t}from"react/jsx-runtime";import{cn as r}from"../../lib/utils.js";import{Flag as n}from"../Icons/Flag.js";function s({children:s,icon:a,size:i="md",className:l,...o}){const d="sm"===i?10:11;/* @__PURE__ */
3
+ return e("span",{"data-slot":"challenge-tag",className:r("inline-flex items-center rounded-full border border-brand-soft bg-brand-softer font-bold text-brand",{sm:"text-3xs px-2 py-1 gap-1",md:"text-2xs px-2.5 py-1.5 gap-1.5"}[i],l),...o,children:[
4
+ /* @__PURE__ */t("span",{"aria-hidden":!0,className:"flex items-center",children:a??/* @__PURE__ */t(n,{width:d,height:d})}),
5
+ /* @__PURE__ */t("span",{children:s})]})}export{s as ChallengeTag};
@@ -0,0 +1,3 @@
1
+ 'use client';
2
+ import{jsxs as e}from"react/jsx-runtime";import{cn as t}from"../../lib/utils.js";import{cva as a}from"class-variance-authority";const r=a("inline-flex items-center justify-center rounded-full border font-bold whitespace-nowrap transition-[background-color,border-color,color] duration-150 ease-out active:scale-[0.97] disabled:cursor-not-allowed disabled:opacity-[0.45] disabled:active:scale-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/30 focus-visible:ring-offset-2",{variants:{size:{sm:"text-2xs py-1.5 px-3 gap-1",md:"text-xs py-2 px-3.5 gap-1",lg:"text-sm py-2 px-4 gap-1.5"},active:{true:"bg-brand text-white border-brand animate-pop",false:"bg-white text-gray-700 border-gray-200 hover:bg-gray-50 hover:border-gray-300"}},defaultVariants:{size:"md",active:!1}});function i({className:a,size:i,active:o,icon:s,children:n,type:c="button",...l}){/* @__PURE__ */
3
+ return e("button",{"data-slot":"filter-chip",type:c,"data-active":o?"true":"false","aria-pressed":o??!1,className:t(r({size:i,active:o,className:a})),...l,children:[s,n]})}export{i as FilterChip};