@thewrong/ui 0.2.0 → 0.4.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 (589) hide show
  1. package/README.md +27 -6
  2. package/dist/components/_shared/form-size-tokens.cjs +1 -0
  3. package/dist/{src/components → components}/_shared/form-size-tokens.d.ts +3 -1
  4. package/dist/components/_shared/form-size-tokens.esm.js +26 -21
  5. package/dist/components/action-toast/ActionToast.cjs +1 -0
  6. package/dist/{src/components → components}/action-toast/ActionToast.d.ts +12 -3
  7. package/dist/components/action-toast/ActionToast.esm.js +133 -123
  8. package/dist/{src/components → components}/action-toast/index.d.ts +2 -2
  9. package/dist/components/animated-height/AnimatedHeight.cjs +1 -0
  10. package/dist/components/animated-height/AnimatedHeight.esm.js +14 -14
  11. package/dist/components/animated-height/index.d.ts +2 -0
  12. package/dist/components/badge/Badge.cjs +1 -0
  13. package/dist/{src/components → components}/badge/Badge.d.ts +1 -1
  14. package/dist/components/badge/Badge.esm.js +19 -23
  15. package/dist/components/badge/index.d.ts +2 -0
  16. package/dist/components/badge/utils.cjs +1 -0
  17. package/dist/{src/components → components}/badge/utils.d.ts +1 -1
  18. package/dist/components/badge/utils.esm.js +15 -15
  19. package/dist/components/button/Button.cjs +1 -0
  20. package/dist/{src/components → components}/button/Button.d.ts +5 -1
  21. package/dist/components/button/Button.esm.js +50 -45
  22. package/dist/{src/components → components}/button/index.d.ts +2 -2
  23. package/dist/{src/components → components}/button/types.d.ts +3 -1
  24. package/dist/components/button/utils.cjs +1 -0
  25. package/dist/{src/components → components}/button/utils.d.ts +3 -3
  26. package/dist/components/button/utils.esm.js +26 -22
  27. package/dist/components/checkbox/Checkbox.cjs +1 -0
  28. package/dist/{src/components → components}/checkbox/Checkbox.d.ts +1 -1
  29. package/dist/components/checkbox/Checkbox.esm.js +36 -35
  30. package/dist/components/checkbox/index.d.ts +2 -0
  31. package/dist/components/checkbox/utils.cjs +1 -0
  32. package/dist/{src/components → components}/checkbox/utils.d.ts +1 -1
  33. package/dist/components/checkbox/utils.esm.js +11 -11
  34. package/dist/components/collapsible/Collapsible.cjs +1 -0
  35. package/dist/components/collapsible/Collapsible.esm.js +12 -11
  36. package/dist/components/collapsible/index.d.ts +2 -0
  37. package/dist/components/copyable-text/CopyableText.cjs +1 -0
  38. package/dist/components/copyable-text/CopyableText.d.ts +22 -0
  39. package/dist/components/copyable-text/CopyableText.esm.js +50 -0
  40. package/dist/components/copyable-text/index.d.ts +2 -0
  41. package/dist/components/date-input/DateInput.cjs +1 -0
  42. package/dist/{src/components → components}/date-input/DateInput.d.ts +1 -0
  43. package/dist/components/date-input/DateInput.esm.js +24 -23
  44. package/dist/components/date-input/index.d.ts +1 -0
  45. package/dist/components/date-picker/PickerSheet.cjs +1 -0
  46. package/dist/components/date-picker/PickerSheet.d.ts +22 -0
  47. package/dist/components/date-picker/PickerSheet.esm.js +77 -0
  48. package/dist/components/date-picker/date-picker.cjs +1 -0
  49. package/dist/{src/components → components}/date-picker/date-picker.d.ts +1 -0
  50. package/dist/components/date-picker/date-picker.esm.js +99 -147
  51. package/dist/components/date-picker/date-range-picker.cjs +1 -0
  52. package/dist/{src/components → components}/date-picker/date-range-picker.d.ts +3 -1
  53. package/dist/components/date-picker/date-range-picker.esm.js +117 -166
  54. package/dist/components/date-picker/index.d.ts +5 -0
  55. package/dist/components/date-picker/month-picker.cjs +1 -0
  56. package/dist/{src/components → components}/date-picker/month-picker.d.ts +1 -0
  57. package/dist/components/date-picker/month-picker.esm.js +68 -112
  58. package/dist/components/drawer/Drawer.cjs +1 -0
  59. package/dist/components/drawer/Drawer.d.ts +45 -0
  60. package/dist/components/drawer/Drawer.esm.js +127 -97
  61. package/dist/components/drawer/index.d.ts +2 -0
  62. package/dist/components/error-boundary/ErrorBoundary.cjs +1 -0
  63. package/dist/components/error-boundary/ErrorBoundary.d.ts +23 -0
  64. package/dist/components/error-boundary/ErrorBoundary.esm.js +46 -0
  65. package/dist/components/error-boundary/chunk-reload.cjs +1 -0
  66. package/dist/components/error-boundary/chunk-reload.d.ts +77 -0
  67. package/dist/components/error-boundary/chunk-reload.esm.js +73 -0
  68. package/dist/components/error-boundary/index.d.ts +4 -0
  69. package/dist/components/error-boundary/types.d.ts +23 -0
  70. package/dist/components/field/Field.cjs +1 -0
  71. package/dist/components/field/Field.d.ts +16 -0
  72. package/dist/components/field/Field.esm.js +34 -0
  73. package/dist/components/field/FieldMessage.cjs +1 -0
  74. package/dist/components/field/FieldMessage.d.ts +19 -0
  75. package/dist/components/field/FieldMessage.esm.js +12 -0
  76. package/dist/components/field/index.d.ts +3 -0
  77. package/dist/components/field/types.d.ts +24 -0
  78. package/dist/components/info-tooltip/InfoTooltip.cjs +1 -0
  79. package/dist/components/info-tooltip/InfoTooltip.esm.js +13 -12
  80. package/dist/components/info-tooltip/index.d.ts +2 -0
  81. package/dist/components/input/DecimalInput.cjs +1 -0
  82. package/dist/components/input/DecimalInput.d.ts +18 -0
  83. package/dist/components/input/DecimalInput.esm.js +40 -0
  84. package/dist/components/input/Input.cjs +1 -0
  85. package/dist/{src/components → components}/input/Input.d.ts +1 -1
  86. package/dist/components/input/Input.esm.js +47 -53
  87. package/dist/components/input/PasswordInput.cjs +1 -0
  88. package/dist/{src/components → components}/input/PasswordInput.d.ts +1 -1
  89. package/dist/components/input/PasswordInput.esm.js +1 -1
  90. package/dist/components/input/decimal-validation.cjs +1 -0
  91. package/dist/components/input/decimal-validation.d.ts +7 -0
  92. package/dist/components/input/decimal-validation.esm.js +66 -0
  93. package/dist/components/input/format.cjs +1 -0
  94. package/dist/{src/components → components}/input/format.d.ts +17 -1
  95. package/dist/components/input/format.esm.js +16 -5
  96. package/dist/components/input/index.d.ts +7 -0
  97. package/dist/{src/components → components}/input/types.d.ts +2 -2
  98. package/dist/components/input/use-input-format.cjs +1 -0
  99. package/dist/components/input/use-input-format.d.ts +43 -0
  100. package/dist/components/input/use-input-format.esm.js +75 -0
  101. package/dist/components/input/utils.cjs +1 -0
  102. package/dist/{src/components → components}/input/utils.d.ts +1 -1
  103. package/dist/components/input/utils.esm.js +19 -18
  104. package/dist/components/loading-spinner/LoadingSpinner.cjs +1 -0
  105. package/dist/components/loading-spinner/LoadingSpinner.esm.js +19 -18
  106. package/dist/components/loading-spinner/index.d.ts +2 -0
  107. package/dist/components/modal/Modal.cjs +1 -0
  108. package/dist/{src/components → components}/modal/Modal.d.ts +28 -2
  109. package/dist/components/modal/Modal.esm.js +148 -118
  110. package/dist/components/modal/ModalFocusTrapContext.cjs +1 -0
  111. package/dist/components/modal/ModalFocusTrapContext.d.ts +18 -0
  112. package/dist/components/modal/ModalFocusTrapContext.esm.js +36 -0
  113. package/dist/components/modal/ModalSubView.cjs +1 -0
  114. package/dist/{src/components → components}/modal/ModalSubView.d.ts +6 -1
  115. package/dist/components/modal/ModalSubView.esm.js +65 -45
  116. package/dist/components/modal/StandardModal.cjs +1 -0
  117. package/dist/{src/components → components}/modal/StandardModal.d.ts +8 -2
  118. package/dist/components/modal/StandardModal.esm.js +18 -15
  119. package/dist/components/modal/index.d.ts +6 -0
  120. package/dist/components/month-range-picker/index.d.ts +2 -0
  121. package/dist/components/month-range-picker/month-range-picker.cjs +1 -0
  122. package/dist/components/month-range-picker/month-range-picker.d.ts +16 -0
  123. package/dist/components/month-range-picker/month-range-picker.esm.js +227 -0
  124. package/dist/components/month-range-picker/month-range-utils.cjs +1 -0
  125. package/dist/components/month-range-picker/month-range-utils.d.ts +9 -0
  126. package/dist/components/month-range-picker/month-range-utils.esm.js +28 -0
  127. package/dist/components/page-title/PageTitle.cjs +1 -0
  128. package/dist/components/page-title/PageTitle.esm.js +11 -10
  129. package/dist/components/page-title/index.d.ts +1 -0
  130. package/dist/components/popover/Popover.cjs +1 -0
  131. package/dist/components/popover/Popover.esm.js +2 -2
  132. package/dist/components/popover/index.d.ts +2 -0
  133. package/dist/components/progress/Progress.cjs +1 -0
  134. package/dist/components/progress/Progress.d.ts +12 -0
  135. package/dist/components/progress/Progress.esm.js +24 -0
  136. package/dist/components/progress/index.d.ts +2 -0
  137. package/dist/components/progress/types.d.ts +13 -0
  138. package/dist/components/radio/Radio.cjs +1 -0
  139. package/dist/components/radio/Radio.d.ts +31 -0
  140. package/dist/components/radio/Radio.esm.js +118 -0
  141. package/dist/components/radio/index.d.ts +2 -0
  142. package/dist/components/radio/types.d.ts +24 -0
  143. package/dist/components/search-box/ExactMatchToggle.cjs +1 -0
  144. package/dist/components/search-box/ExactMatchToggle.esm.js +14 -13
  145. package/dist/components/search-box/SearchBox.cjs +1 -0
  146. package/dist/{src/components → components}/search-box/SearchBox.d.ts +1 -1
  147. package/dist/components/search-box/SearchBox.esm.js +94 -93
  148. package/dist/components/search-box/SearchBoxChips.cjs +1 -0
  149. package/dist/components/search-box/SearchBoxChips.esm.js +3 -3
  150. package/dist/components/search-box/SearchBoxDateRange.cjs +1 -0
  151. package/dist/{src/components → components}/search-box/SearchBoxDateRange.d.ts +1 -1
  152. package/dist/components/search-box/SearchBoxDateRange.esm.js +39 -36
  153. package/dist/components/search-box/SearchBoxDateSingle.cjs +1 -0
  154. package/dist/{src/components → components}/search-box/SearchBoxDateSingle.d.ts +1 -1
  155. package/dist/components/search-box/SearchBoxDateSingle.esm.js +29 -27
  156. package/dist/components/search-box/SearchBoxField.cjs +1 -0
  157. package/dist/{src/components → components}/search-box/SearchBoxField.d.ts +1 -1
  158. package/dist/components/search-box/SearchBoxFloatingInput.cjs +1 -0
  159. package/dist/components/search-box/SearchBoxFloatingInput.esm.js +29 -24
  160. package/dist/components/search-box/SearchBoxFloatingSelect.cjs +1 -0
  161. package/dist/{src/components → components}/search-box/SearchBoxFloatingSelect.d.ts +1 -1
  162. package/dist/components/search-box/SearchBoxFloatingSelect.esm.js +56 -51
  163. package/dist/components/search-box/SearchBoxMonth.cjs +1 -0
  164. package/dist/components/search-box/SearchBoxMonth.esm.js +21 -20
  165. package/dist/components/search-box/SearchBoxMultiSelect.cjs +1 -0
  166. package/dist/{src/components → components}/search-box/SearchBoxMultiSelect.d.ts +2 -2
  167. package/dist/components/search-box/SearchBoxMultiSelect.esm.js +60 -55
  168. package/dist/components/search-box/dateRangePresets.cjs +1 -0
  169. package/dist/{src/components → components}/search-box/dateRangePresets.d.ts +1 -1
  170. package/dist/{src/components → components}/search-box/index.d.ts +5 -5
  171. package/dist/components/search-box/parseSearchValues.cjs +1 -0
  172. package/dist/{src/components → components}/search-box/parseSearchValues.d.ts +2 -2
  173. package/dist/{src/components → components}/search-box/types.d.ts +1 -1
  174. package/dist/components/search-box/useSearchBoxState.cjs +1 -0
  175. package/dist/{src/components → components}/search-box/useSearchBoxState.d.ts +1 -1
  176. package/dist/components/segmented-code-input/SegmentedCodeInput.cjs +1 -0
  177. package/dist/components/segmented-code-input/SegmentedCodeInput.d.ts +49 -0
  178. package/dist/components/segmented-code-input/SegmentedCodeInput.esm.js +87 -0
  179. package/dist/components/segmented-code-input/code-utils.cjs +1 -0
  180. package/dist/components/segmented-code-input/code-utils.d.ts +4 -0
  181. package/dist/components/segmented-code-input/code-utils.esm.js +9 -0
  182. package/dist/components/segmented-code-input/index.d.ts +2 -0
  183. package/dist/components/segmented-control/SegmentedControl.cjs +1 -0
  184. package/dist/components/segmented-control/SegmentedControl.d.ts +27 -0
  185. package/dist/components/segmented-control/SegmentedControl.esm.js +84 -0
  186. package/dist/components/segmented-control/index.d.ts +2 -0
  187. package/dist/components/segmented-control/types.d.ts +30 -0
  188. package/dist/components/select/MultiSelect.cjs +1 -0
  189. package/dist/{src/components → components}/select/MultiSelect.d.ts +11 -3
  190. package/dist/components/select/MultiSelect.esm.js +180 -176
  191. package/dist/components/select/Select.cjs +1 -0
  192. package/dist/{src/components → components}/select/Select.d.ts +16 -2
  193. package/dist/components/select/Select.esm.js +215 -195
  194. package/dist/components/select/index.d.ts +4 -0
  195. package/dist/components/select/loading-dots.cjs +1 -0
  196. package/dist/components/select/loading-dots.d.ts +3 -0
  197. package/dist/components/select/loading-dots.esm.js +8 -7
  198. package/dist/components/select/panel-width.cjs +1 -0
  199. package/dist/components/select/panel-width.d.ts +2 -0
  200. package/dist/components/select/panel-width.esm.js +7 -0
  201. package/dist/{src/components → components}/select/types.d.ts +7 -0
  202. package/dist/{src/components → components}/select/utils.d.ts +1 -1
  203. package/dist/components/skeleton/Skeleton.cjs +1 -0
  204. package/dist/components/skeleton/Skeleton.d.ts +6 -0
  205. package/dist/components/skeleton/Skeleton.esm.js +12 -0
  206. package/dist/components/skeleton/index.d.ts +2 -0
  207. package/dist/components/skeleton/types.d.ts +2 -0
  208. package/dist/components/slider/Slider.cjs +1 -0
  209. package/dist/components/slider/Slider.d.ts +6 -0
  210. package/dist/components/slider/Slider.esm.js +36 -0
  211. package/dist/components/slider/index.d.ts +2 -0
  212. package/dist/components/slider/types.d.ts +15 -0
  213. package/dist/components/slider/utils.cjs +1 -0
  214. package/dist/components/slider/utils.d.ts +3 -0
  215. package/dist/components/slider/utils.esm.js +15 -0
  216. package/dist/components/stepper/Stepper.cjs +1 -0
  217. package/dist/components/stepper/Stepper.d.ts +51 -0
  218. package/dist/components/stepper/Stepper.esm.js +142 -0
  219. package/dist/components/stepper/index.d.ts +4 -0
  220. package/dist/components/stepper/use-stepper.cjs +1 -0
  221. package/dist/components/stepper/use-stepper.d.ts +43 -0
  222. package/dist/components/stepper/use-stepper.esm.js +57 -0
  223. package/dist/components/switch/Switch.cjs +1 -0
  224. package/dist/{src/components → components}/switch/Switch.d.ts +1 -1
  225. package/dist/components/switch/Switch.esm.js +21 -20
  226. package/dist/components/switch/index.d.ts +2 -0
  227. package/dist/components/switch/utils.cjs +1 -0
  228. package/dist/{src/components → components}/switch/utils.d.ts +2 -2
  229. package/dist/components/switch/utils.esm.js +9 -8
  230. package/dist/components/table/accordion-table.cjs +1 -0
  231. package/dist/{src/components → components}/table/accordion-table.d.ts +1 -1
  232. package/dist/components/table/accordion-table.esm.js +261 -247
  233. package/dist/{src/components → components}/table/column-group-utils.d.ts +1 -1
  234. package/dist/components/table/components/ColumnPresetSelector.cjs +1 -0
  235. package/dist/{src/components → components}/table/components/ColumnPresetSelector.d.ts +2 -2
  236. package/dist/components/table/components/ColumnPresetSelector.esm.js +60 -59
  237. package/dist/components/table/components/ColumnSettingsTable.cjs +1 -0
  238. package/dist/{src/components → components}/table/components/ColumnSettingsTable.d.ts +1 -1
  239. package/dist/components/table/components/ColumnSettingsTable.esm.js +94 -96
  240. package/dist/components/table/components/KeyboardNavButton.cjs +1 -0
  241. package/dist/components/table/components/KeyboardNavButton.esm.js +1 -1
  242. package/dist/components/table/components/PageJumpInput.cjs +1 -0
  243. package/dist/components/table/components/PageJumpInput.esm.js +33 -32
  244. package/dist/components/table/components/Pagination.cjs +1 -0
  245. package/dist/components/table/components/Pagination.esm.js +80 -79
  246. package/dist/components/table/components/PaginationFooter.cjs +1 -0
  247. package/dist/components/table/components/PaginationFooter.esm.js +2 -2
  248. package/dist/components/table/components/SortHeader.cjs +1 -0
  249. package/dist/components/table/components/SortHeader.d.ts +10 -0
  250. package/dist/components/table/components/SortHeader.esm.js +27 -0
  251. package/dist/components/table/components/SortableHeaderCell.cjs +1 -0
  252. package/dist/{src/components → components}/table/components/SortableHeaderCell.d.ts +10 -2
  253. package/dist/components/table/components/SortableHeaderCell.esm.js +54 -26
  254. package/dist/components/table/hooks/sort-state.cjs +1 -0
  255. package/dist/components/table/hooks/sort-state.d.ts +5 -0
  256. package/dist/components/table/hooks/sort-state.esm.js +21 -0
  257. package/dist/components/table/hooks/useColumnPresets.cjs +1 -0
  258. package/dist/{src/components → components}/table/hooks/useColumnPresets.d.ts +2 -2
  259. package/dist/components/table/hooks/useColumnResize.cjs +1 -0
  260. package/dist/{src/components → components}/table/hooks/useColumnResize.d.ts +12 -0
  261. package/dist/components/table/hooks/useColumnResize.esm.js +66 -54
  262. package/dist/components/table/hooks/useFillEmptyRows.d.ts +2 -0
  263. package/dist/components/table/hooks/useInfiniteScroll.d.ts +2 -0
  264. package/dist/components/table/hooks/useTableColumnState.cjs +1 -0
  265. package/dist/{src/components → components}/table/hooks/useTableColumnState.d.ts +1 -1
  266. package/dist/components/table/hooks/useTableDragSelection.d.ts +2 -0
  267. package/dist/components/table/hooks/useTableSort.cjs +1 -0
  268. package/dist/{src/components → components}/table/hooks/useTableSort.d.ts +7 -4
  269. package/dist/components/table/hooks/useTableSort.esm.js +18 -19
  270. package/dist/components/table/hooks/useVirtualTable.cjs +1 -0
  271. package/dist/components/table/hooks/useVirtualTable.esm.js +8 -8
  272. package/dist/components/table/index.d.ts +27 -0
  273. package/dist/components/table/mini-table.cjs +1 -0
  274. package/dist/{src/components → components}/table/mini-table.d.ts +1 -1
  275. package/dist/components/table/mini-table.esm.js +87 -86
  276. package/dist/components/table/paginated-mini-table.cjs +1 -0
  277. package/dist/{src/components → components}/table/paginated-mini-table.d.ts +1 -1
  278. package/dist/components/table/paginated-table.cjs +1 -0
  279. package/dist/{src/components → components}/table/paginated-table.d.ts +3 -1
  280. package/dist/components/table/table.cjs +1 -0
  281. package/dist/components/table/table.d.ts +13 -0
  282. package/dist/components/table/table.esm.js +189 -173
  283. package/dist/{src/components → components}/table/types.d.ts +11 -4
  284. package/dist/components/table/utils.cjs +35 -0
  285. package/dist/{src/components → components}/table/utils.d.ts +2 -2
  286. package/dist/components/table/utils.esm.js +2 -2
  287. package/dist/components/table-checkbox/TableCheckbox.cjs +1 -0
  288. package/dist/components/table-checkbox/TableCheckbox.esm.js +27 -26
  289. package/dist/components/table-checkbox/index.d.ts +1 -0
  290. package/dist/components/table-page-layout/TablePageLayout.cjs +1 -0
  291. package/dist/components/table-page-layout/TablePageLayout.esm.js +3 -3
  292. package/dist/{src/components → components}/table-page-layout/index.d.ts +1 -1
  293. package/dist/components/tabs/Tabs.cjs +1 -0
  294. package/dist/components/tabs/Tabs.d.ts +8 -0
  295. package/dist/components/tabs/Tabs.esm.js +53 -0
  296. package/dist/components/tabs/index.d.ts +2 -0
  297. package/dist/components/tabs/navigation.cjs +1 -0
  298. package/dist/components/tabs/navigation.d.ts +2 -0
  299. package/dist/components/tabs/navigation.esm.js +18 -0
  300. package/dist/components/tabs/types.d.ts +20 -0
  301. package/dist/components/textarea/Textarea.cjs +1 -0
  302. package/dist/{src/components → components}/textarea/Textarea.d.ts +1 -1
  303. package/dist/components/textarea/Textarea.esm.js +49 -47
  304. package/dist/components/textarea/index.d.ts +2 -0
  305. package/dist/components/time-picker/index.d.ts +2 -0
  306. package/dist/components/time-picker/time-picker.cjs +1 -0
  307. package/dist/components/time-picker/time-picker.d.ts +35 -0
  308. package/dist/components/time-picker/time-picker.esm.js +193 -0
  309. package/dist/components/time-picker/time-utils.cjs +1 -0
  310. package/dist/components/time-picker/time-utils.d.ts +12 -0
  311. package/dist/components/time-picker/time-utils.esm.js +56 -0
  312. package/dist/components/toast/ToastProvider.cjs +1 -0
  313. package/dist/{src/components → components}/toast/ToastProvider.d.ts +3 -0
  314. package/dist/components/toast/ToastProvider.esm.js +47 -43
  315. package/dist/components/toast/index.d.ts +3 -0
  316. package/dist/components/toolbar/Toolbar.cjs +1 -0
  317. package/dist/{src/components → components}/toolbar/Toolbar.d.ts +1 -1
  318. package/dist/components/toolbar/Toolbar.esm.js +99 -98
  319. package/dist/components/toolbar/index.d.ts +2 -0
  320. package/dist/components/tooltip/{Tooltip.cjs.js → Tooltip.cjs} +1 -1
  321. package/dist/components/tooltip/Tooltip.esm.js +1 -1
  322. package/dist/components/tooltip/index.d.ts +2 -0
  323. package/dist/components/typewriter-text/TypewriterText.cjs +1 -0
  324. package/dist/components/typewriter-text/TypewriterText.d.ts +7 -0
  325. package/dist/components/typewriter-text/TypewriterText.esm.js +58 -0
  326. package/dist/components/typewriter-text/index.d.ts +2 -0
  327. package/dist/components/typewriter-text/types.d.ts +12 -0
  328. package/dist/components/typing-dots/TypingDots.cjs +1 -0
  329. package/dist/components/typing-dots/TypingDots.d.ts +10 -0
  330. package/dist/components/typing-dots/TypingDots.esm.js +37 -0
  331. package/dist/components/typing-dots/index.d.ts +2 -0
  332. package/dist/components/typing-dots/types.d.ts +4 -0
  333. package/dist/hooks/awaitableOverlayController.cjs +1 -0
  334. package/dist/hooks/awaitableOverlayController.d.ts +6 -0
  335. package/dist/hooks/awaitableOverlayController.esm.js +18 -0
  336. package/dist/hooks/index.d.ts +17 -0
  337. package/dist/hooks/useAwaitableOverlay.cjs +1 -0
  338. package/dist/hooks/useAwaitableOverlay.d.ts +16 -0
  339. package/dist/hooks/useAwaitableOverlay.esm.js +22 -0
  340. package/dist/hooks/useFillEmptyRows.cjs +1 -0
  341. package/dist/{src/components/table/hooks → hooks}/useFillEmptyRows.d.ts +10 -1
  342. package/dist/hooks/useFillEmptyRows.esm.js +60 -0
  343. package/dist/hooks/useFocusTrap.cjs +1 -0
  344. package/dist/hooks/useFocusTrap.d.ts +47 -0
  345. package/dist/hooks/useFocusTrap.esm.js +210 -0
  346. package/dist/hooks/useInfiniteScroll.cjs +1 -0
  347. package/dist/hooks/useInfiniteScroll.d.ts +36 -0
  348. package/dist/hooks/useInfiniteScroll.esm.js +31 -0
  349. package/dist/hooks/useTableDragSelection.cjs +1 -0
  350. package/dist/{src/components/table/hooks → hooks}/useTableDragSelection.d.ts +3 -4
  351. package/dist/{components/table/hooks → hooks}/useTableDragSelection.esm.js +9 -6
  352. package/dist/hooks/useVirtualRows.cjs +1 -0
  353. package/dist/hooks/useVirtualRows.d.ts +56 -0
  354. package/dist/hooks/useVirtualRows.esm.js +20 -0
  355. package/dist/hooks.cjs +1 -0
  356. package/dist/hooks.esm.js +12 -5
  357. package/dist/index.cjs +1 -0
  358. package/dist/index.d.ts +42 -0
  359. package/dist/index.esm.js +83 -58
  360. package/dist/lib/index.d.ts +6 -0
  361. package/dist/lib/utils.cjs +1 -0
  362. package/dist/{src/lib → lib}/utils.d.ts +2 -1
  363. package/dist/lib/utils.esm.js +108 -5
  364. package/dist/node_modules/lucide-react/dist/esm/Icon.cjs +1 -0
  365. package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.cjs +1 -0
  366. package/dist/node_modules/lucide-react/dist/esm/icons/arrow-down.cjs +1 -0
  367. package/dist/node_modules/lucide-react/dist/esm/icons/arrow-down.esm.js +10 -0
  368. package/dist/node_modules/lucide-react/dist/esm/icons/arrow-left.cjs +1 -0
  369. package/dist/node_modules/lucide-react/dist/esm/icons/arrow-up-down.cjs +1 -0
  370. package/dist/node_modules/lucide-react/dist/esm/icons/arrow-up-down.esm.js +21 -0
  371. package/dist/node_modules/lucide-react/dist/esm/icons/arrow-up.cjs +1 -0
  372. package/dist/node_modules/lucide-react/dist/esm/icons/arrow-up.esm.js +10 -0
  373. package/dist/node_modules/lucide-react/dist/esm/icons/calendar.cjs +1 -0
  374. package/dist/node_modules/lucide-react/dist/esm/icons/check.cjs +1 -0
  375. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-down.cjs +1 -0
  376. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-left.cjs +1 -0
  377. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.cjs +1 -0
  378. package/dist/node_modules/lucide-react/dist/esm/icons/chevrons-left.cjs +1 -0
  379. package/dist/node_modules/lucide-react/dist/esm/icons/chevrons-right.cjs +1 -0
  380. package/dist/node_modules/lucide-react/dist/esm/icons/circle-check.cjs +1 -0
  381. package/dist/node_modules/lucide-react/dist/esm/icons/circle-x.cjs +1 -0
  382. package/dist/node_modules/lucide-react/dist/esm/icons/clock.cjs +1 -0
  383. package/dist/node_modules/lucide-react/dist/esm/icons/clock.esm.js +12 -0
  384. package/dist/node_modules/lucide-react/dist/esm/icons/copy.cjs +1 -0
  385. package/dist/node_modules/lucide-react/dist/esm/icons/copy.esm.js +15 -0
  386. package/dist/node_modules/lucide-react/dist/esm/icons/eye-off.cjs +1 -0
  387. package/dist/node_modules/lucide-react/dist/esm/icons/eye.cjs +1 -0
  388. package/dist/node_modules/lucide-react/dist/esm/icons/grip-vertical.cjs +1 -0
  389. package/dist/node_modules/lucide-react/dist/esm/icons/info.cjs +1 -0
  390. package/dist/node_modules/lucide-react/dist/esm/icons/keyboard.cjs +1 -0
  391. package/dist/node_modules/lucide-react/dist/esm/icons/list-filter.cjs +1 -0
  392. package/dist/node_modules/lucide-react/dist/esm/icons/loader-circle.cjs +1 -0
  393. package/dist/node_modules/lucide-react/dist/esm/icons/minus.cjs +1 -0
  394. package/dist/node_modules/lucide-react/dist/esm/icons/rotate-ccw.cjs +1 -0
  395. package/dist/node_modules/lucide-react/dist/esm/icons/save.cjs +1 -0
  396. package/dist/node_modules/lucide-react/dist/esm/icons/search.cjs +1 -0
  397. package/dist/node_modules/lucide-react/dist/esm/icons/settings.cjs +1 -0
  398. package/dist/node_modules/lucide-react/dist/esm/icons/triangle-alert.cjs +1 -0
  399. package/dist/node_modules/lucide-react/dist/esm/icons/wrench.cjs +1 -0
  400. package/dist/node_modules/lucide-react/dist/esm/icons/x.cjs +1 -0
  401. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/toPascalCase.cjs +1 -0
  402. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.cjs +1 -0
  403. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.esm.js +559 -550
  404. package/dist/tokens.css +1158 -0
  405. package/dist/ui.css +1 -1
  406. package/llms.txt +46 -17
  407. package/package.json +11 -8
  408. package/dist/components/_shared/form-size-tokens.cjs.js +0 -1
  409. package/dist/components/action-toast/ActionToast.cjs.js +0 -1
  410. package/dist/components/animated-height/AnimatedHeight.cjs.js +0 -1
  411. package/dist/components/badge/Badge.cjs.js +0 -1
  412. package/dist/components/badge/utils.cjs.js +0 -1
  413. package/dist/components/button/Button.cjs.js +0 -1
  414. package/dist/components/button/utils.cjs.js +0 -1
  415. package/dist/components/checkbox/Checkbox.cjs.js +0 -1
  416. package/dist/components/checkbox/utils.cjs.js +0 -1
  417. package/dist/components/collapsible/Collapsible.cjs.js +0 -1
  418. package/dist/components/date-input/DateInput.cjs.js +0 -1
  419. package/dist/components/date-picker/date-picker.cjs.js +0 -1
  420. package/dist/components/date-picker/date-range-picker.cjs.js +0 -1
  421. package/dist/components/date-picker/month-picker.cjs.js +0 -1
  422. package/dist/components/drawer/Drawer.cjs.js +0 -1
  423. package/dist/components/info-tooltip/InfoTooltip.cjs.js +0 -1
  424. package/dist/components/input/Input.cjs.js +0 -1
  425. package/dist/components/input/PasswordInput.cjs.js +0 -1
  426. package/dist/components/input/format.cjs.js +0 -1
  427. package/dist/components/input/utils.cjs.js +0 -1
  428. package/dist/components/loading-spinner/LoadingSpinner.cjs.js +0 -1
  429. package/dist/components/modal/Modal.cjs.js +0 -1
  430. package/dist/components/modal/ModalSubView.cjs.js +0 -1
  431. package/dist/components/modal/StandardModal.cjs.js +0 -1
  432. package/dist/components/page-title/PageTitle.cjs.js +0 -1
  433. package/dist/components/popover/Popover.cjs.js +0 -1
  434. package/dist/components/search-box/ExactMatchToggle.cjs.js +0 -1
  435. package/dist/components/search-box/SearchBox.cjs.js +0 -1
  436. package/dist/components/search-box/SearchBoxChips.cjs.js +0 -1
  437. package/dist/components/search-box/SearchBoxDateRange.cjs.js +0 -1
  438. package/dist/components/search-box/SearchBoxDateSingle.cjs.js +0 -1
  439. package/dist/components/search-box/SearchBoxField.cjs.js +0 -1
  440. package/dist/components/search-box/SearchBoxFloatingInput.cjs.js +0 -1
  441. package/dist/components/search-box/SearchBoxFloatingSelect.cjs.js +0 -1
  442. package/dist/components/search-box/SearchBoxMonth.cjs.js +0 -1
  443. package/dist/components/search-box/SearchBoxMultiSelect.cjs.js +0 -1
  444. package/dist/components/search-box/dateRangePresets.cjs.js +0 -1
  445. package/dist/components/search-box/parseSearchValues.cjs.js +0 -1
  446. package/dist/components/search-box/useSearchBoxState.cjs.js +0 -1
  447. package/dist/components/select/MultiSelect.cjs.js +0 -1
  448. package/dist/components/select/Select.cjs.js +0 -1
  449. package/dist/components/select/loading-dots.cjs.js +0 -1
  450. package/dist/components/switch/Switch.cjs.js +0 -1
  451. package/dist/components/switch/utils.cjs.js +0 -1
  452. package/dist/components/table/accordion-table.cjs.js +0 -1
  453. package/dist/components/table/components/ColumnPresetSelector.cjs.js +0 -1
  454. package/dist/components/table/components/ColumnSettingsTable.cjs.js +0 -4
  455. package/dist/components/table/components/KeyboardNavButton.cjs.js +0 -1
  456. package/dist/components/table/components/PageJumpInput.cjs.js +0 -1
  457. package/dist/components/table/components/Pagination.cjs.js +0 -1
  458. package/dist/components/table/components/PaginationFooter.cjs.js +0 -1
  459. package/dist/components/table/components/SortableHeaderCell.cjs.js +0 -1
  460. package/dist/components/table/hooks/useColumnPresets.cjs.js +0 -1
  461. package/dist/components/table/hooks/useColumnResize.cjs.js +0 -1
  462. package/dist/components/table/hooks/useFillEmptyRows.cjs.js +0 -1
  463. package/dist/components/table/hooks/useFillEmptyRows.esm.js +0 -49
  464. package/dist/components/table/hooks/useInfiniteScroll.cjs.js +0 -1
  465. package/dist/components/table/hooks/useInfiniteScroll.esm.js +0 -32
  466. package/dist/components/table/hooks/useTableColumnState.cjs.js +0 -1
  467. package/dist/components/table/hooks/useTableDragSelection.cjs.js +0 -1
  468. package/dist/components/table/hooks/useTableSort.cjs.js +0 -1
  469. package/dist/components/table/hooks/useVirtualTable.cjs.js +0 -1
  470. package/dist/components/table/mini-table.cjs.js +0 -1
  471. package/dist/components/table/paginated-mini-table.cjs.js +0 -1
  472. package/dist/components/table/paginated-table.cjs.js +0 -1
  473. package/dist/components/table/table.cjs.js +0 -1
  474. package/dist/components/table/utils.cjs.js +0 -37
  475. package/dist/components/table-checkbox/TableCheckbox.cjs.js +0 -1
  476. package/dist/components/table-page-layout/TablePageLayout.cjs.js +0 -1
  477. package/dist/components/textarea/Textarea.cjs.js +0 -1
  478. package/dist/components/toast/ToastProvider.cjs.js +0 -1
  479. package/dist/components/toolbar/Toolbar.cjs.js +0 -1
  480. package/dist/hooks.cjs.js +0 -1
  481. package/dist/index.cjs.js +0 -1
  482. package/dist/lib/utils.cjs.js +0 -1
  483. package/dist/node_modules/lucide-react/dist/esm/Icon.cjs.js +0 -1
  484. package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.cjs.js +0 -1
  485. package/dist/node_modules/lucide-react/dist/esm/icons/arrow-left.cjs.js +0 -1
  486. package/dist/node_modules/lucide-react/dist/esm/icons/calendar.cjs.js +0 -1
  487. package/dist/node_modules/lucide-react/dist/esm/icons/check.cjs.js +0 -1
  488. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-down.cjs.js +0 -1
  489. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-left.cjs.js +0 -1
  490. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.cjs.js +0 -1
  491. package/dist/node_modules/lucide-react/dist/esm/icons/chevrons-left.cjs.js +0 -1
  492. package/dist/node_modules/lucide-react/dist/esm/icons/chevrons-right.cjs.js +0 -1
  493. package/dist/node_modules/lucide-react/dist/esm/icons/circle-check.cjs.js +0 -1
  494. package/dist/node_modules/lucide-react/dist/esm/icons/circle-x.cjs.js +0 -1
  495. package/dist/node_modules/lucide-react/dist/esm/icons/eye-off.cjs.js +0 -1
  496. package/dist/node_modules/lucide-react/dist/esm/icons/eye.cjs.js +0 -1
  497. package/dist/node_modules/lucide-react/dist/esm/icons/grip-vertical.cjs.js +0 -1
  498. package/dist/node_modules/lucide-react/dist/esm/icons/info.cjs.js +0 -1
  499. package/dist/node_modules/lucide-react/dist/esm/icons/keyboard.cjs.js +0 -1
  500. package/dist/node_modules/lucide-react/dist/esm/icons/list-filter.cjs.js +0 -1
  501. package/dist/node_modules/lucide-react/dist/esm/icons/loader-circle.cjs.js +0 -1
  502. package/dist/node_modules/lucide-react/dist/esm/icons/minus.cjs.js +0 -1
  503. package/dist/node_modules/lucide-react/dist/esm/icons/rotate-ccw.cjs.js +0 -1
  504. package/dist/node_modules/lucide-react/dist/esm/icons/save.cjs.js +0 -1
  505. package/dist/node_modules/lucide-react/dist/esm/icons/search.cjs.js +0 -1
  506. package/dist/node_modules/lucide-react/dist/esm/icons/settings.cjs.js +0 -1
  507. package/dist/node_modules/lucide-react/dist/esm/icons/triangle-alert.cjs.js +0 -1
  508. package/dist/node_modules/lucide-react/dist/esm/icons/wrench.cjs.js +0 -1
  509. package/dist/node_modules/lucide-react/dist/esm/icons/x.cjs.js +0 -1
  510. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/toPascalCase.cjs.js +0 -1
  511. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.cjs.js +0 -1
  512. package/dist/src/components/animated-height/index.d.ts +0 -2
  513. package/dist/src/components/badge/index.d.ts +0 -2
  514. package/dist/src/components/checkbox/index.d.ts +0 -2
  515. package/dist/src/components/collapsible/index.d.ts +0 -2
  516. package/dist/src/components/date-input/index.d.ts +0 -1
  517. package/dist/src/components/date-picker/index.d.ts +0 -5
  518. package/dist/src/components/drawer/Drawer.d.ts +0 -23
  519. package/dist/src/components/drawer/index.d.ts +0 -2
  520. package/dist/src/components/info-tooltip/index.d.ts +0 -2
  521. package/dist/src/components/input/index.d.ts +0 -4
  522. package/dist/src/components/loading-spinner/index.d.ts +0 -2
  523. package/dist/src/components/modal/index.d.ts +0 -6
  524. package/dist/src/components/page-title/index.d.ts +0 -1
  525. package/dist/src/components/popover/index.d.ts +0 -2
  526. package/dist/src/components/select/index.d.ts +0 -4
  527. package/dist/src/components/select/loading-dots.d.ts +0 -9
  528. package/dist/src/components/switch/index.d.ts +0 -2
  529. package/dist/src/components/table/hooks/useInfiniteScroll.d.ts +0 -58
  530. package/dist/src/components/table/index.d.ts +0 -27
  531. package/dist/src/components/table/table.d.ts +0 -10
  532. package/dist/src/components/table-checkbox/index.d.ts +0 -1
  533. package/dist/src/components/textarea/index.d.ts +0 -2
  534. package/dist/src/components/toast/index.d.ts +0 -3
  535. package/dist/src/components/toolbar/index.d.ts +0 -2
  536. package/dist/src/components/tooltip/index.d.ts +0 -2
  537. package/dist/src/hooks/index.d.ts +0 -4
  538. package/dist/src/index.d.ts +0 -27
  539. package/dist/src/lib/index.d.ts +0 -6
  540. /package/dist/_virtual/_rolldown/{runtime.cjs.js → runtime.cjs} +0 -0
  541. /package/dist/{src/components → components}/animated-height/AnimatedHeight.d.ts +0 -0
  542. /package/dist/{src/components → components}/badge/types.d.ts +0 -0
  543. /package/dist/{src/components → components}/checkbox/types.d.ts +0 -0
  544. /package/dist/{src/components → components}/collapsible/Collapsible.d.ts +0 -0
  545. /package/dist/{src/components → components}/info-tooltip/InfoTooltip.d.ts +0 -0
  546. /package/dist/{src/components → components}/loading-spinner/LoadingSpinner.d.ts +0 -0
  547. /package/dist/{src/components → components}/page-title/PageTitle.d.ts +0 -0
  548. /package/dist/{src/components → components}/popover/Popover.d.ts +0 -0
  549. /package/dist/{src/components → components}/search-box/ExactMatchToggle.d.ts +0 -0
  550. /package/dist/{src/components → components}/search-box/SearchBoxChips.d.ts +0 -0
  551. /package/dist/{src/components → components}/search-box/SearchBoxFloatingInput.d.ts +0 -0
  552. /package/dist/{src/components → components}/search-box/SearchBoxMonth.d.ts +0 -0
  553. /package/dist/components/search-box/{SearchBoxSheetContext.cjs.js → SearchBoxSheetContext.cjs} +0 -0
  554. /package/dist/{src/components → components}/search-box/SearchBoxSheetContext.d.ts +0 -0
  555. /package/dist/components/search-box/{parseDateRange.cjs.js → parseDateRange.cjs} +0 -0
  556. /package/dist/{src/components → components}/search-box/parseDateRange.d.ts +0 -0
  557. /package/dist/{src/components → components}/switch/types.d.ts +0 -0
  558. /package/dist/components/table/{column-group-utils.cjs.js → column-group-utils.cjs} +0 -0
  559. /package/dist/{src/components → components}/table/components/KeyboardNavButton.d.ts +0 -0
  560. /package/dist/{src/components → components}/table/components/PageJumpInput.d.ts +0 -0
  561. /package/dist/{src/components → components}/table/components/Pagination.d.ts +0 -0
  562. /package/dist/{src/components → components}/table/components/PaginationFooter.d.ts +0 -0
  563. /package/dist/{src/components → components}/table/hooks/useVirtualTable.d.ts +0 -0
  564. /package/dist/{src/components → components}/table-checkbox/TableCheckbox.d.ts +0 -0
  565. /package/dist/{src/components → components}/table-page-layout/TablePageLayout.d.ts +0 -0
  566. /package/dist/{src/components → components}/textarea/types.d.ts +0 -0
  567. /package/dist/{src/components → components}/tooltip/Tooltip.d.ts +0 -0
  568. /package/dist/hooks/{useBottomSheetDrag.cjs.js → useBottomSheetDrag.cjs} +0 -0
  569. /package/dist/{src/hooks → hooks}/useBottomSheetDrag.d.ts +0 -0
  570. /package/dist/hooks/{useClickOutside.cjs.js → useClickOutside.cjs} +0 -0
  571. /package/dist/{src/hooks → hooks}/useClickOutside.d.ts +0 -0
  572. /package/dist/hooks/{useMediaQuery.cjs.js → useMediaQuery.cjs} +0 -0
  573. /package/dist/{src/hooks → hooks}/useMediaQuery.d.ts +0 -0
  574. /package/dist/hooks/{useScrollLock.cjs.js → useScrollLock.cjs} +0 -0
  575. /package/dist/{src/hooks → hooks}/useScrollLock.d.ts +0 -0
  576. /package/dist/lib/{Portal.cjs.js → Portal.cjs} +0 -0
  577. /package/dist/{src/lib → lib}/Portal.d.ts +0 -0
  578. /package/dist/lib/{column-preset-storage.cjs.js → column-preset-storage.cjs} +0 -0
  579. /package/dist/{src/lib → lib}/column-preset-storage.d.ts +0 -0
  580. /package/dist/lib/{overlay-stack.cjs.js → overlay-stack.cjs} +0 -0
  581. /package/dist/{src/lib → lib}/overlay-stack.d.ts +0 -0
  582. /package/dist/node_modules/clsx/dist/{clsx.cjs.js → clsx.cjs} +0 -0
  583. /package/dist/node_modules/lucide-react/dist/esm/{context.cjs.js → context.cjs} +0 -0
  584. /package/dist/node_modules/lucide-react/dist/esm/{defaultAttributes.cjs.js → defaultAttributes.cjs} +0 -0
  585. /package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/{hasA11yProp.cjs.js → hasA11yProp.cjs} +0 -0
  586. /package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/{mergeClasses.cjs.js → mergeClasses.cjs} +0 -0
  587. /package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/{toCamelCase.cjs.js → toCamelCase.cjs} +0 -0
  588. /package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/{toKebabCase.cjs.js → toKebabCase.cjs} +0 -0
  589. /package/dist/node_modules/use-debounce/dist/{index.module.cjs.js → index.module.cjs} +0 -0
@@ -1 +0,0 @@
1
- const e=require("../../node_modules/lucide-react/dist/esm/icons/chevron-down.cjs.js"),t=require("../../node_modules/lucide-react/dist/esm/icons/chevron-left.cjs.js"),n=require("../../node_modules/lucide-react/dist/esm/icons/chevron-right.cjs.js"),r=require("../animated-height/AnimatedHeight.cjs.js"),i=require("../../lib/utils.cjs.js"),a=require("../../hooks/useMediaQuery.cjs.js"),o=require("../../hooks/useBottomSheetDrag.cjs.js"),s=require("../../hooks/useScrollLock.cjs.js");let c=require("react"),l=require("react/jsx-runtime"),u=require("motion/react"),d=require("@floating-ui/react"),f=require("date-fns"),p=require("date-fns/locale");var m=24;function h({children:e,value:t,onApply:n,disabled:r,disableMobileSheet:i=!1}){let[f,p]=(0,c.useState)(!1),m=a.useIsMobile()&&!i,{refs:h,floatingStyles:_,context:v}=(0,d.useFloating)({open:f,onOpenChange:e=>{r||p(e)},placement:`bottom-start`,whileElementsMounted:d.autoUpdate,middleware:[(0,d.offset)(8),(0,d.flip)({fallbackAxisSideDirection:`start`}),(0,d.shift)({padding:8})]}),{getReferenceProps:y,getFloatingProps:b}=(0,d.useInteractions)([(0,d.useClick)(v,{enabled:!r}),(0,d.useDismiss)(v),(0,d.useRole)(v,{role:`dialog`})]);s.useScrollLock(f&&m);let x=e=>{n(e),p(!1)},{dragControls:S,handleDragEnd:C,startDrag:w}=o.useBottomSheetDrag({onDismiss:()=>p(!1)});return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(`span`,{ref:h.setReference,...y(),className:`inline-flex`,children:e}),(0,l.jsx)(d.FloatingPortal,{children:m?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(u.AnimatePresence,{children:f&&(0,l.jsx)(u.motion.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2},className:`fixed inset-0 z-50 bg-black/40`,onClick:()=>p(!1)},`date-picker-dimmer`)}),(0,l.jsx)(u.AnimatePresence,{children:f&&(0,l.jsxs)(u.motion.div,{ref:h.setFloating,...b(),initial:{y:`100%`},animate:{y:0},exit:{y:`100%`,transition:{duration:.2,ease:[.4,0,1,1]}},transition:{type:`spring`,damping:30,stiffness:320},drag:`y`,dragListener:!1,dragControls:S,dragConstraints:{top:0},dragElastic:{top:0,bottom:.4},onDragEnd:C,className:`fixed inset-x-0 bottom-0 z-50 flex flex-col gap-5 rounded-t-2xl bg-bg-card p-5 pb-[max(20px,env(safe-area-inset-bottom))] shadow-2xl`,children:[(0,l.jsx)(`div`,{className:`self-center h-1 w-10 rounded-full bg-bg-base-tertiary cursor-grab touch-none active:cursor-grabbing`,onPointerDown:w}),(0,l.jsx)(g,{initialValue:t,onApply:x,onClose:()=>p(!1)})]},`date-picker-sheet`)})]}):f&&(0,l.jsx)(`div`,{ref:h.setFloating,style:_,...b(),className:`z-9999 w-80 rounded-2xl border border-border-tertiary bg-bg-card p-6 shadow-md`,children:(0,l.jsx)(g,{initialValue:t,onApply:x,onClose:()=>p(!1)})})})]})}function g({initialValue:e,onApply:t,onClose:n}){let r=y(e),[i,a]=(0,c.useState)(r),[o,s]=(0,c.useState)(r??new Date);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(_,{month:o,onMonthChange:s,onPrev:()=>s((0,f.subMonths)(o,1)),onNext:()=>s((0,f.addMonths)(o,1)),selected:i,onDayClick:e=>a(e)}),(0,l.jsxs)(`div`,{className:`mt-6 flex items-center justify-end gap-2`,children:[(0,l.jsx)(`button`,{type:`button`,onClick:n,className:`cursor-pointer rounded-full bg-bg-base-primary px-5 py-2 text-sm font-semibold text-text-secondary transition-colors hover:bg-bg-base-secondary`,children:`닫기`}),(0,l.jsx)(`button`,{type:`button`,onClick:()=>{if(!i){n();return}t((0,f.format)(i,`yyyy-MM-dd`))},className:`cursor-pointer rounded-full bg-primary-500 px-5 py-2 text-sm font-semibold text-white transition-opacity hover:opacity-90`,children:`적용`})]})]})}function _({month:t,onMonthChange:n,onPrev:a,onNext:o,selected:s,onDayClick:u}){let[d,h]=(0,c.useState)(!1),g=(0,c.useMemo)(()=>(0,f.eachDayOfInterval)({start:(0,f.startOfWeek)((0,f.startOfMonth)(t),{weekStartsOn:0}),end:(0,f.endOfWeek)((0,f.endOfMonth)(t),{weekStartsOn:0})}),[t]),_=(0,c.useMemo)(()=>{let e=[];for(let t=-24;t<=m;t++)e.push((0,f.addMonths)((0,f.startOfMonth)(new Date),t));return e},[]);return(0,l.jsxs)(`div`,{className:`mx-auto flex w-full max-w-75 flex-col sm:w-65`,children:[(0,l.jsxs)(`div`,{className:`mb-4 flex items-center justify-between`,children:[(0,l.jsx)(v,{direction:`left`,onClick:a}),(0,l.jsxs)(`div`,{className:`relative flex flex-1 justify-center`,children:[(0,l.jsxs)(`button`,{type:`button`,onClick:()=>h(e=>!e),className:`flex cursor-pointer items-center gap-1 rounded px-3 py-1.5 text-sm font-semibold text-text-primary transition-colors hover:bg-bg-base-primary`,children:[(0,f.format)(t,`yyyy. MM.`),(0,l.jsx)(e.ChevronDown,{className:`h-3.5 w-3.5 text-text-tertiary`})]}),d&&(0,l.jsx)(`div`,{className:`scrollbar-brand absolute top-full z-20 mt-1 max-h-60 w-35 overflow-y-auto rounded-lg border border-border-tertiary bg-bg-card py-1 shadow-lg`,children:_.map(e=>(0,l.jsx)(`button`,{type:`button`,onClick:()=>{n(e),h(!1)},className:i.cn(`w-full cursor-pointer bg-bg-card px-4 py-2 text-left text-sm transition-colors`,(0,f.isSameMonth)(e,t)?`bg-bg-base-secondary font-semibold text-text-primary`:`text-text-secondary hover:bg-bg-base-primary`),children:(0,f.format)(e,`yyyy. MM.`)},e.toISOString()))})]}),(0,l.jsx)(v,{direction:`right`,onClick:o})]}),(0,l.jsx)(`div`,{className:`mb-2 grid grid-cols-7`,children:[`일`,`월`,`화`,`수`,`목`,`금`,`토`].map(e=>(0,l.jsx)(`div`,{className:`py-1 text-center text-xs font-medium text-text-tertiary`,children:e},e))}),(0,l.jsx)(r.AnimatedHeight,{children:(0,l.jsx)(`div`,{className:`grid grid-cols-7 gap-y-1`,children:g.map(e=>{let r=(0,f.isSameMonth)(e,t),a=!!(s&&(0,f.isSameDay)(e,s));return(0,l.jsxs)(`button`,{type:`button`,onClick:()=>{r||n(e),u(e)},className:`group relative flex h-9 cursor-pointer items-center justify-center text-sm`,"aria-label":(0,f.format)(e,`yyyy년 M월 d일`,{locale:p.ko}),children:[a&&(0,l.jsx)(`span`,{className:`absolute left-1/2 top-1/2 h-9 w-9 -translate-x-1/2 -translate-y-1/2 rounded-full bg-primary-500`,"aria-hidden":!0}),(0,l.jsx)(`span`,{className:i.cn(`relative z-10`,!r&&`text-text-disabled`,r&&!a&&`text-text-primary`,a&&`font-bold text-white`),children:(0,f.format)(e,`d`)})]},e.toISOString())})})})]})}function v({direction:e,onClick:r}){return(0,l.jsx)(`button`,{type:`button`,onClick:r,className:`flex h-8 w-8 cursor-pointer items-center justify-center rounded-md border border-border-tertiary text-text-secondary transition-colors hover:bg-bg-base-primary`,"aria-label":e===`left`?`이전 달`:`다음 달`,children:(0,l.jsx)(e===`left`?t.ChevronLeft:n.ChevronRight,{className:`h-4 w-4`})})}function y(e){if(!e)return null;let t=(0,f.parseISO)(e);return(0,f.isValid)(t)?t:null}exports.DatePicker=h,exports.DatePickerBody=g;
@@ -1 +0,0 @@
1
- const e=require("../../node_modules/lucide-react/dist/esm/icons/chevron-down.cjs.js"),t=require("../../node_modules/lucide-react/dist/esm/icons/chevron-left.cjs.js"),n=require("../../node_modules/lucide-react/dist/esm/icons/chevron-right.cjs.js"),r=require("../../lib/utils.cjs.js"),i=require("../../hooks/useMediaQuery.cjs.js"),a=require("../../hooks/useBottomSheetDrag.cjs.js"),o=require("../../hooks/useScrollLock.cjs.js");let s=require("react"),c=require("react/jsx-runtime"),l=require("motion/react"),u=require("@floating-ui/react"),d=require("date-fns"),f=require("date-fns/locale");var p=24;function m({children:e,value:t,onApply:n,disabled:r}){let[d,f]=(0,s.useState)(!1),p=i.useIsMobile(),{refs:m,floatingStyles:g,context:_}=(0,u.useFloating)({open:d,onOpenChange:e=>{r||f(e)},placement:`bottom-start`,whileElementsMounted:u.autoUpdate,middleware:[(0,u.offset)(8),(0,u.flip)({fallbackAxisSideDirection:`start`}),(0,u.shift)({padding:8})]}),{getReferenceProps:v,getFloatingProps:y}=(0,u.useInteractions)([(0,u.useClick)(_,{enabled:!r}),(0,u.useDismiss)(_),(0,u.useRole)(_,{role:`dialog`})]);o.useScrollLock(d&&p);let{dragControls:b,handleDragEnd:x,startDrag:S}=a.useBottomSheetDrag({onDismiss:()=>f(!1)}),C=e=>{n(e),f(!1)};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(`span`,{ref:m.setReference,...v(),className:`inline-flex`,children:e}),(0,c.jsx)(u.FloatingPortal,{children:p?(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(l.AnimatePresence,{children:d&&(0,c.jsx)(l.motion.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2},className:`fixed inset-0 z-50 bg-black/40`,onClick:()=>f(!1)},`date-range-picker-dimmer`)}),(0,c.jsx)(l.AnimatePresence,{children:d&&(0,c.jsxs)(l.motion.div,{ref:m.setFloating,...y(),initial:{y:`100%`},animate:{y:0},exit:{y:`100%`,transition:{duration:.2,ease:[.4,0,1,1]}},transition:{type:`spring`,damping:30,stiffness:320},drag:`y`,dragListener:!1,dragControls:b,dragConstraints:{top:0},dragElastic:{top:0,bottom:.4},onDragEnd:x,className:`fixed inset-x-0 bottom-0 z-50 flex flex-col gap-5 rounded-t-2xl bg-bg-card p-5 pb-[max(20px,env(safe-area-inset-bottom))] shadow-2xl`,children:[(0,c.jsx)(`div`,{className:`self-center h-1 w-10 rounded-full bg-bg-base-tertiary cursor-grab touch-none active:cursor-grabbing`,onPointerDown:S}),(0,c.jsx)(h,{value:t,isMobile:!0,onApply:C,onClose:()=>f(!1)})]},`date-range-picker-sheet`)})]}):d&&(0,c.jsx)(`div`,{ref:m.setFloating,style:g,...y(),className:`z-9999 rounded-2xl border border-border-tertiary bg-bg-card p-6 shadow-md`,children:(0,c.jsx)(h,{value:t,isMobile:!1,onApply:C,onClose:()=>f(!1)})})})]})}function h({value:e,isMobile:t,onApply:n,onClose:r}){let i=v(e?.from),a=v(e?.to),[o,l]=(0,s.useState)(i),[u,f]=(0,s.useState)(a),[p,m]=(0,s.useState)(i??new Date),h=(0,d.addMonths)(p,1),_=e=>{if(!o||o&&u){l(e),f(null);return}if((0,d.isBefore)(e,o)){l(e),f(null);return}f(e)},y=(0,c.jsxs)(`div`,{className:`mt-6 flex items-center justify-end gap-2`,children:[(0,c.jsx)(`button`,{type:`button`,onClick:r,className:`cursor-pointer rounded-full bg-bg-base-primary px-5 py-2 text-sm font-semibold text-text-secondary transition-colors hover:bg-bg-base-secondary`,children:`닫기`}),(0,c.jsx)(`button`,{type:`button`,onClick:()=>{if(!o){r();return}n({from:(0,d.format)(o,`yyyy-MM-dd`),to:(0,d.format)(u??o,`yyyy-MM-dd`)})},className:`cursor-pointer rounded-full bg-primary-500 px-5 py-2 text-sm font-semibold text-white transition-opacity hover:opacity-90`,children:`적용`})]});return t?(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(`div`,{className:`flex justify-center`,children:(0,c.jsx)(g,{month:p,onMonthChange:m,onPrev:()=>m((0,d.subMonths)(p,1)),onNext:()=>m((0,d.addMonths)(p,1)),showPrev:!0,showNext:!0,rangeFrom:o,rangeTo:u,onDayClick:_})}),y]}):(0,c.jsxs)(c.Fragment,{children:[(0,c.jsxs)(`div`,{className:`flex items-stretch gap-8`,children:[(0,c.jsx)(g,{month:p,onMonthChange:m,onPrev:()=>m((0,d.subMonths)(p,1)),showPrev:!0,rangeFrom:o,rangeTo:u,onDayClick:_}),(0,c.jsx)(`div`,{className:`w-px bg-border-tertiary`}),(0,c.jsx)(g,{month:h,onMonthChange:e=>m((0,d.subMonths)(e,1)),onNext:()=>m((0,d.addMonths)(p,1)),showNext:!0,rangeFrom:o,rangeTo:u,onDayClick:_})]}),y]})}function g({month:t,onMonthChange:n,onPrev:i,onNext:a,showPrev:o,showNext:l,rangeFrom:u,rangeTo:m,onDayClick:h}){let[g,v]=(0,s.useState)(!1),y=(0,s.useMemo)(()=>(0,d.eachDayOfInterval)({start:(0,d.startOfWeek)((0,d.startOfMonth)(t),{weekStartsOn:0}),end:(0,d.endOfWeek)((0,d.endOfMonth)(t),{weekStartsOn:0})}),[t]),b=(0,s.useMemo)(()=>{let e=[];for(let t=-24;t<=p;t++)e.push((0,d.addMonths)((0,d.startOfMonth)(new Date),t));return e},[]);return(0,c.jsxs)(`div`,{className:`flex w-full max-w-[300px] flex-col sm:w-[260px]`,children:[(0,c.jsxs)(`div`,{className:`mb-4 flex items-center justify-between`,children:[(0,c.jsx)(_,{direction:`left`,onClick:i,visible:!!o}),(0,c.jsxs)(`div`,{className:`relative flex flex-1 justify-center`,children:[(0,c.jsxs)(`button`,{type:`button`,onClick:()=>v(e=>!e),className:`flex cursor-pointer items-center gap-1 rounded px-3 py-1.5 text-sm font-semibold text-text-primary transition-colors hover:bg-bg-base-primary`,children:[(0,d.format)(t,`yyyy. MM.`),(0,c.jsx)(e.ChevronDown,{className:`h-3.5 w-3.5 text-text-tertiary`})]}),g&&(0,c.jsx)(`div`,{className:`scrollbar-brand absolute top-full z-20 mt-1 max-h-[240px] w-[140px] overflow-y-auto rounded-lg border border-border-tertiary bg-bg-card py-1 shadow-lg`,children:b.map(e=>(0,c.jsx)(`button`,{type:`button`,onClick:()=>{n(e),v(!1)},className:r.cn(`w-full cursor-pointer bg-bg-card px-4 py-2 text-left text-sm transition-colors`,(0,d.isSameMonth)(e,t)?`bg-bg-base-secondary font-semibold text-text-primary`:`text-text-secondary hover:bg-bg-base-primary`),children:(0,d.format)(e,`yyyy. MM.`)},e.toISOString()))})]}),(0,c.jsx)(_,{direction:`right`,onClick:a,visible:!!l})]}),(0,c.jsx)(`div`,{className:`mb-2 grid grid-cols-7`,children:[`일`,`월`,`화`,`수`,`목`,`금`,`토`].map(e=>(0,c.jsx)(`div`,{className:`py-1 text-center text-xs font-medium text-text-tertiary`,children:e},e))}),(0,c.jsx)(`div`,{className:`grid grid-cols-7 gap-y-1`,children:y.map(e=>{let i=(0,d.isSameMonth)(e,t),a=!!(u&&(0,d.isSameDay)(e,u)),o=!!(m&&(0,d.isSameDay)(e,m)),s=!!u&&!!m&&(0,d.isAfter)(e,u)&&(0,d.isBefore)(e,m),l=a||o,p=s||o&&!!u,g=s||a&&!!m;return(0,c.jsxs)(`button`,{type:`button`,onClick:()=>{i||n(e),h(e)},className:`group relative flex h-9 cursor-pointer items-center justify-center text-sm`,"aria-label":(0,d.format)(e,`yyyy년 M월 d일`,{locale:f.ko}),children:[p&&(0,c.jsx)(`span`,{className:`absolute inset-y-0 left-0 right-1/2 bg-bg-base-secondary`,"aria-hidden":!0}),g&&(0,c.jsx)(`span`,{className:`absolute inset-y-0 left-1/2 right-0 bg-bg-base-secondary`,"aria-hidden":!0}),l&&(0,c.jsx)(`span`,{className:`absolute left-1/2 top-1/2 h-9 w-9 -translate-x-1/2 -translate-y-1/2 rounded-full bg-primary-500`,"aria-hidden":!0}),(0,c.jsx)(`span`,{className:r.cn(`relative z-10`,!i&&`text-text-disabled`,i&&!l&&`text-text-primary`,l&&`font-bold text-white`),children:(0,d.format)(e,`d`)})]},e.toISOString())})})]})}function _({direction:e,onClick:r,visible:i}){let a=e===`left`?t.ChevronLeft:n.ChevronRight;return i?(0,c.jsx)(`button`,{type:`button`,onClick:r,className:`flex h-8 w-8 cursor-pointer items-center justify-center rounded-md border border-border-tertiary text-text-secondary transition-colors hover:bg-bg-base-primary`,"aria-label":e===`left`?`이전 달`:`다음 달`,children:(0,c.jsx)(a,{className:`h-4 w-4`})}):(0,c.jsx)(`div`,{className:`w-8`})}function v(e){if(!e)return null;let t=(0,d.parseISO)(e);return(0,d.isValid)(t)?t:null}exports.DateRangePicker=m;
@@ -1 +0,0 @@
1
- const e=require("../../node_modules/lucide-react/dist/esm/icons/chevron-left.cjs.js"),t=require("../../node_modules/lucide-react/dist/esm/icons/chevron-right.cjs.js"),n=require("../../lib/utils.cjs.js"),r=require("../../hooks/useMediaQuery.cjs.js"),i=require("../../hooks/useBottomSheetDrag.cjs.js"),a=require("../../hooks/useScrollLock.cjs.js");let o=require("react"),s=require("react/jsx-runtime"),c=require("motion/react"),l=require("@floating-ui/react");function u({children:e,value:t,onChange:n,disabled:u,disableMobileSheet:f=!1}){let[p,m]=(0,o.useState)(!1),h=r.useIsMobile()&&!f,{refs:g,floatingStyles:_,context:v}=(0,l.useFloating)({open:p,onOpenChange:e=>{u||m(e)},placement:`bottom-start`,whileElementsMounted:l.autoUpdate,middleware:[(0,l.offset)(8),(0,l.flip)({fallbackAxisSideDirection:`start`}),(0,l.shift)({padding:8})]}),{getReferenceProps:y,getFloatingProps:b}=(0,l.useInteractions)([(0,l.useClick)(v,{enabled:!u}),(0,l.useDismiss)(v),(0,l.useRole)(v,{role:`dialog`})]);a.useScrollLock(p&&h);let{dragControls:x,handleDragEnd:S,startDrag:C}=i.useBottomSheetDrag({onDismiss:()=>m(!1)}),w=e=>{n(e),m(!1)},T=new Date,[E,D]=(0,o.useState)(t?.year??T.getFullYear()),O=(0,s.jsx)(d,{year:E,onYearChange:D,selectedYear:t?.year,selectedMonth:t?.month,currentYear:T.getFullYear(),currentMonth:T.getMonth()+1,onSelect:e=>w({year:E,month:e})});return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(`span`,{ref:g.setReference,...y(),className:`inline-flex`,children:e}),(0,s.jsx)(l.FloatingPortal,{children:h?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(c.AnimatePresence,{children:p&&(0,s.jsx)(c.motion.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2},className:`fixed inset-0 z-50 bg-black/40`,onClick:()=>m(!1)},`month-picker-dimmer`)}),(0,s.jsx)(c.AnimatePresence,{children:p&&(0,s.jsxs)(c.motion.div,{ref:g.setFloating,...b(),initial:{y:`100%`},animate:{y:0},exit:{y:`100%`,transition:{duration:.2,ease:[.4,0,1,1]}},transition:{type:`spring`,damping:30,stiffness:320},drag:`y`,dragListener:!1,dragControls:x,dragConstraints:{top:0},dragElastic:{top:0,bottom:.4},onDragEnd:S,className:`fixed inset-x-0 bottom-0 z-50 flex flex-col gap-5 rounded-t-2xl bg-bg-card p-5 pb-[max(20px,env(safe-area-inset-bottom))] shadow-2xl`,children:[(0,s.jsx)(`div`,{className:`self-center h-1 w-10 rounded-full bg-bg-base-tertiary cursor-grab touch-none active:cursor-grabbing`,onPointerDown:C}),O]},`month-picker-sheet`)})]}):p&&(0,s.jsx)(`div`,{ref:g.setFloating,style:_,...b(),className:`z-9999 w-70 rounded-2xl border border-border-tertiary bg-bg-card p-5 shadow-md`,children:O})})]})}function d({year:e,onYearChange:t,selectedYear:r,selectedMonth:i,currentYear:a,currentMonth:o,onSelect:c}){let l=Array.from({length:12},(e,t)=>t+1);return(0,s.jsxs)(`div`,{className:`flex flex-col`,children:[(0,s.jsxs)(`div`,{className:`mb-4 flex items-center justify-between`,children:[(0,s.jsx)(f,{direction:`left`,onClick:()=>t(e-1)}),(0,s.jsxs)(`div`,{className:`flex-1 text-center text-sm font-semibold text-text-primary`,children:[e,`년`]}),(0,s.jsx)(f,{direction:`right`,onClick:()=>t(e+1)})]}),(0,s.jsx)(`div`,{className:`grid grid-cols-4 gap-2`,children:l.map(t=>{let l=r===e&&i===t;return(0,s.jsxs)(`button`,{type:`button`,onClick:()=>c(t),className:n.cn(`h-10 cursor-pointer rounded-lg text-sm transition-colors`,l?`bg-primary-500 font-bold text-white`:e===a&&t===o?`bg-bg-base-secondary font-semibold text-text-primary`:`text-text-primary hover:bg-bg-base-primary`),"aria-label":`${e}년 ${t}월`,"aria-pressed":l,children:[t,`월`]},t)})})]})}function f({direction:n,onClick:r}){return(0,s.jsx)(`button`,{type:`button`,onClick:r,className:`flex h-8 w-8 cursor-pointer items-center justify-center rounded-md border border-border-tertiary text-text-secondary transition-colors hover:bg-bg-base-primary`,"aria-label":n===`left`?`이전 해`:`다음 해`,children:(0,s.jsx)(n===`left`?e.ChevronLeft:t.ChevronRight,{className:`h-4 w-4`})})}exports.MonthPicker=u;
@@ -1 +0,0 @@
1
- const e=require("../../lib/utils.cjs.js"),t=require("../../hooks/useMediaQuery.cjs.js"),n=require("../../lib/overlay-stack.cjs.js"),r=require("../../lib/Portal.cjs.js");let i=require("react"),a=require("react/jsx-runtime"),o=require("motion/react");function s({open:s,onClose:c,title:l,widthPx:u=480,className:d,children:f}){let p=t.useIsMobile(),m={width:u,maxWidth:`100vw`},h=(0,i.useId)(),g=(0,o.useDragControls)();return(0,i.useEffect)(()=>{if(s)return n.overlayStack.push(h),document.body.style.overflow=`hidden`,()=>{n.overlayStack.pop(h),n.overlayStack.isEmpty()&&(document.body.style.overflow=``)}},[s,h]),(0,i.useEffect)(()=>{let e=e=>{e.key===`Escape`&&n.overlayStack.isTop(h)&&c()};return s&&window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[s,c,h]),(0,a.jsxs)(r.Portal,{children:[(0,a.jsx)(o.AnimatePresence,{children:s&&(0,a.jsx)(o.motion.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2},onClick:()=>{n.overlayStack.isTop(h)&&c()},className:`fixed inset-0 z-50 bg-black/50`},`drawer-backdrop`)}),(0,a.jsx)(o.AnimatePresence,{children:s&&(0,a.jsxs)(o.motion.div,{initial:p?{y:`100%`}:{x:`100%`},animate:p?{y:0}:{x:0},exit:p?{y:`100%`,transition:{duration:.2,ease:[.4,0,1,1]}}:{x:`100%`},transition:p?{type:`spring`,damping:38,stiffness:320}:{type:`spring`,damping:30,stiffness:280},drag:p?`y`:!1,dragListener:!1,dragControls:g,dragConstraints:{top:0,bottom:0},dragElastic:{top:0,bottom:.4},onDragEnd:(e,t)=>{(t.offset.y>100||t.velocity.y>500)&&c()},className:e.cn(`fixed z-50 flex flex-col overflow-x-hidden bg-bg-white dark:bg-neutral-800 -bottom-8 left-0 right-0 max-h-[88vh] w-full rounded-t-2xl pb-8 sm:bottom-0 sm:left-auto sm:right-0 sm:top-0 sm:max-h-none sm:h-full sm:w-auto sm:rounded-none sm:pb-0`,d),style:p?void 0:m,children:[(0,a.jsx)(`div`,{className:`flex justify-center pt-2 pb-1 cursor-grab touch-none active:cursor-grabbing sm:hidden`,onPointerDown:e=>g.start(e),children:(0,a.jsx)(`div`,{className:`h-1 w-10 rounded-full bg-neutral-300 dark:bg-neutral-600`})}),l&&(0,a.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border-tertiary px-4 py-3 dark:border-neutral-700`,children:[(0,a.jsx)(`h3`,{className:`text-base font-semibold text-text-primary sm:text-lg dark:text-white`,children:l}),(0,a.jsx)(`button`,{onClick:c,className:`rounded p-1 text-text-tertiary hover:text-text-secondary dark:hover:text-neutral-300`,"aria-label":`닫기`,children:(0,a.jsx)(`svg`,{className:`h-5 w-5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,a.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M6 18L18 6M6 6l12 12`})})})]}),(0,a.jsx)(`div`,{className:`flex-1 overflow-auto`,children:f})]},`drawer-sheet`)})]})}exports.Drawer=s;
@@ -1 +0,0 @@
1
- let e=require("react/jsx-runtime");function t({content:t,position:n=`top`}){return(0,e.jsxs)(`div`,{className:`relative inline-flex items-center group`,children:[(0,e.jsx)(`div`,{className:`w-3.5 h-3.5 rounded-full bg-primary-500 dark:bg-primary-600 flex items-center justify-center cursor-help hover:bg-primary-600 dark:hover:bg-primary-500 transition-colors`,children:(0,e.jsx)(`span`,{className:`text-[9px] font-bold text-white`,children:`?`})}),(0,e.jsxs)(`div`,{className:`absolute ${{top:`bottom-full left-1/2 -translate-x-1/2 mb-2`,bottom:`top-full left-1/2 -translate-x-1/2 mt-2`,left:`right-full top-1/2 -translate-y-1/2 mr-2`,right:`left-full top-1/2 -translate-y-1/2 ml-2`}[n]} z-50 px-3 py-2 bg-neutral-900 dark:bg-neutral-700 text-white text-xs rounded shadow-lg opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all duration-200 pointer-events-none w-64 whitespace-normal`,children:[t,(0,e.jsx)(`div`,{className:`absolute w-2 h-2 bg-neutral-900 dark:bg-neutral-700 transform rotate-45 ${n===`top`?`bottom-[-4px] left-1/2 -translate-x-1/2`:n===`bottom`?`top-[-4px] left-1/2 -translate-x-1/2`:n===`left`?`right-[-4px] top-1/2 -translate-y-1/2`:`left-[-4px] top-1/2 -translate-y-1/2`}`})]})]})}exports.InfoTooltip=t;
@@ -1 +0,0 @@
1
- const e=require("../../node_modules/lucide-react/dist/esm/icons/circle-x.cjs.js"),t=require("../_shared/form-size-tokens.cjs.js"),n=require("./utils.cjs.js");let r=require("react"),i=require("react/jsx-runtime");var a=(0,r.forwardRef)(({variant:a,inputSize:o=`medium`,label:s,labelOption:c=`appear`,help:l,hasError:u=!1,disabled:d=!1,prefix:f,suffix:p,trailingIcon:m,clearable:h=!1,badge:g,placeholder:_,format:v,containerProps:y,containerRef:b,value:x,defaultValue:S,onChange:C,onFocus:w,onBlur:T,className:E=``,...D},O)=>{let[k,A]=(0,r.useState)(!1),[j,M]=(0,r.useState)(()=>{let e=x??S??``;return v?v.transform(e).toString():e.toString()}),N=(0,r.useRef)(null),P=x!==void 0,F=P?x.toString():j,I=v?v.transform(F).toString():F,L=e=>{let t=e.target.value;if(v){let n=v.transform(t).toString(),r=v.reset?v.reset(n).toString():n;P||M(n),C?.({...e,target:{...e.target,value:r}})}else P||M(t),C?.(e)},R=e=>{A(!0),w?.(e)},z=e=>{A(!1),T?.(e)},B=D.ref,V=e=>{N.current=e,typeof O==`function`?O(e):O&&(O.current=e),typeof B==`function`?B(e):B&&`current`in B&&(B.current=e)},H=()=>{let e=N.current;e&&((Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,`value`)?.set)?.call(e,``),e.dispatchEvent(new Event(`input`,{bubbles:!0})),e.focus())},U=I.length>0,W=n.getInputContainerClasses(),G=n.getInputVariantClasses(a,u,d,o),K=n.getInputClasses(a,u,d,U,o),q=n.getInputTrailingIconColor(u,d,U||k),J=c===`sustain`||c===`appear`&&!!I,Y=a===`box`,X=t.SLOT_GAP_CLASS[o],Z=t.SLOT_CHILD_ICON_CLASS[o],Q=t.SLOT_BADGE_TEXT_CLASS[o],$=t.SLOT_ICON_SIZE_CLASS[o],ee=(0,i.jsxs)(`div`,{className:Y?`${G} flex items-center ${X} ${E}`.trim().replace(/\s+/g,` `):`relative flex items-center text-sm`,children:[f&&(0,i.jsx)(`span`,{className:`whitespace-nowrap text-sm ${q}`,children:f}),(0,i.jsx)(`input`,{...D,ref:V,className:Y?K:`${K} ${G} ${u?`border-error-500 focus:border-error-500 focus:ring-error-500`:``} ${d?`opacity-50`:``} ${E}`.trim().replace(/\s+/g,` `),value:I,onChange:L,onFocus:R,onBlur:z,disabled:d,placeholder:_}),p&&(0,i.jsx)(`span`,{className:`whitespace-nowrap text-sm ${q}`,children:p}),m&&(0,i.jsx)(`span`,{className:`flex shrink-0 items-center ${q} ${Z}`,children:m}),h&&!d&&U&&(0,i.jsx)(`button`,{type:`button`,onClick:H,"aria-label":`입력 지우기`,className:`flex shrink-0 cursor-pointer items-center rounded ${q} hover:text-text-primary focus:outline-hidden focus-visible:ring-2 focus-visible:ring-primary-500/40`,children:(0,i.jsx)(e.CircleX,{className:$,strokeWidth:1.5,"aria-hidden":`true`})}),g&&(0,i.jsx)(`span`,{className:`flex shrink-0 items-center ${Z} ${Q}`,children:g})]});return(0,i.jsxs)(`div`,{ref:b,className:W,...y,children:[J&&s&&(0,i.jsx)(`label`,{className:n.getInputLabelClasses(a,u),htmlFor:D.id,children:s}),ee,l&&(0,i.jsx)(`div`,{className:n.getInputHelpClasses(u),children:l})]})});a.displayName=`Input`,exports.Input=a;
@@ -1 +0,0 @@
1
- const e=require("../../node_modules/lucide-react/dist/esm/icons/eye-off.cjs.js"),t=require("../../node_modules/lucide-react/dist/esm/icons/eye.cjs.js"),n=require("./Input.cjs.js");let r=require("react"),i=require("react/jsx-runtime");var a=(0,r.forwardRef)(({disabled:a,...o},s)=>{let[c,l]=(0,r.useState)(!1);return(0,i.jsx)(n.Input,{...o,ref:s,disabled:a,type:c?`text`:`password`,trailingIcon:(0,i.jsx)(`button`,{type:`button`,onClick:()=>l(e=>!e),disabled:a,"aria-label":c?`비밀번호 숨기기`:`비밀번호 표시`,className:`flex items-center justify-center text-text-tertiary transition-colors hover:text-text-primary disabled:cursor-not-allowed disabled:opacity-50`,children:c?(0,i.jsx)(e.EyeOff,{className:`h-4 w-4`,strokeWidth:1.5}):(0,i.jsx)(t.Eye,{className:`h-4 w-4`,strokeWidth:1.5})})})});a.displayName=`PasswordInput`,exports.PasswordInput=a;
@@ -1 +0,0 @@
1
- function e(e){return e.replace(/\B(?=(\d{3})+(?!\d))/g,`,`)}function t(e){return e.replace(/,/g,``)}function n(e){let t=e.toString().replace(/[^\d]/g,``);return t.length<=3?t:t.length<=7?`${t.slice(0,3)}-${t.slice(3)}`:t.length<=10?`${t.slice(0,3)}-${t.slice(3,7)}-${t.slice(7)}`:`${t.slice(0,3)}-${t.slice(3,7)}-${t.slice(7,11)}`}function r(e){return e.toString().replace(/-/g,``)}function i(t){let n=t.toString().replace(/[^\d]/g,``);return n?e(n):``}function a(e){return t(e.toString())}var o={phoneNumber:{transform:n,reset:r},price:{transform:i,reset:a}};exports.inputFormats=o;
@@ -1 +0,0 @@
1
- var e={large:`h-12 rounded-xl border px-5 transition-colors focus-within:outline-hidden`,medium:`h-11 rounded-xl border px-3.5 transition-colors focus-within:outline-hidden`,small:`h-9 rounded-lg border px-3 transition-colors focus-within:outline-hidden`,mini:`h-7 rounded-md border px-2 transition-colors focus-within:outline-hidden`},t=(t,n,r,i=`medium`)=>{if(t===`box`){let t=e[i];return r?[t,`bg-bg-disabled border-border-tertiary dark:border-border-secondary`].join(` `):n?[t,`bg-bg-white border-border-danger`].join(` `):[t,`bg-bg-white border-border-tertiary dark:border-border-secondary focus-within:border-border-primary`].join(` `)}return{box:``,line:`border-b-2 border-neutral-300 dark:border-neutral-600 px-0 py-2 focus:border-primary-500 dark:focus:border-primary-400 focus:ring-0`,big:`border-2 border-neutral-300 dark:border-neutral-600 rounded px-5 py-4 text-lg focus:border-primary-500 dark:focus:border-primary-400 focus:ring-2 focus:ring-primary-500 dark:focus:ring-primary-400 focus:ring-offset-0 h-[52px]`,hero:`border-2 border-neutral-300 dark:border-neutral-600 rounded px-6 py-5 text-xl font-semibold focus:border-primary-500 dark:focus:border-primary-400 focus:ring-2 focus:ring-primary-500 dark:focus:ring-primary-400 focus:ring-offset-0 h-[64px]`}[t]},n=(e,t,n,r,i=`medium`)=>{let a=`w-full bg-transparent ${i===`mini`?`text-xs`:i===`large`?`text-base`:`text-sm`} focus:outline-hidden disabled:cursor-not-allowed`;return e===`box`?n?[a,`text-text-disabled placeholder:text-text-disabled`].join(` `):t?[a,`text-text-danger placeholder:text-text-danger`].join(` `):r?[a,`text-text-primary placeholder:text-text-tertiary`].join(` `):[a,`text-text-tertiary placeholder:text-text-tertiary`].join(` `):[`w-full bg-white dark:bg-neutral-800 text-sm text-neutral-900 dark:text-white placeholder:text-neutral-400 transition-all duration-200 ease-out focus:outline-hidden disabled:bg-neutral-50 disabled:text-neutral-400 disabled:cursor-not-allowed disabled:border-neutral-200`].join(` `)},r=(e,t,n)=>t?`text-icon-disabled`:e?`text-icon-danger`:n?`text-icon-secondary`:`text-icon-tertiary`,i=()=>`w-full`,a=(e,t)=>[`block text-xs font-medium mb-2`,t?`text-text-danger`:`text-text-secondary`].join(` `),o=e=>[`mt-2 text-sm`,e?`text-text-danger`:`text-text-secondary`].join(` `);exports.getInputClasses=n,exports.getInputContainerClasses=i,exports.getInputHelpClasses=o,exports.getInputLabelClasses=a,exports.getInputTrailingIconColor=r,exports.getInputVariantClasses=t;
@@ -1 +0,0 @@
1
- let e=require("react/jsx-runtime");var t={sm:`h-4 w-4`,md:`h-6 w-6`,lg:`h-8 w-8`};function n({size:n=`md`}){return(0,e.jsxs)(`svg`,{className:`animate-spin ${t[n]} text-primary-500 dark:text-primary-400`,xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,children:[(0,e.jsx)(`circle`,{className:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,strokeWidth:`4`}),(0,e.jsx)(`path`,{className:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z`})]})}function r({message:t=`데이터를 불러오는 중이에요...`,size:r=`md`,className:i=``}){return(0,e.jsx)(`div`,{className:`flex items-center justify-center h-full min-h-[200px] ${i}`,children:(0,e.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[(0,e.jsx)(n,{size:r}),t&&(0,e.jsx)(`span`,{className:`text-sm text-neutral-500 dark:text-neutral-400`,children:t})]})})}function i({size:t=`sm`}){return(0,e.jsx)(`div`,{className:`flex items-center justify-center py-3`,children:(0,e.jsx)(n,{size:t})})}exports.InlineSpinner=i,exports.LoadingSpinner=r,exports.Spinner=n;
@@ -1 +0,0 @@
1
- const e=require("../../lib/utils.cjs.js"),t=require("../../hooks/useMediaQuery.cjs.js"),n=require("../../lib/overlay-stack.cjs.js"),r=require("../../lib/Portal.cjs.js");let i=require("react"),a=require("react/jsx-runtime"),o=require("motion/react");function s({isOpen:s,onClose:c,title:l,widthPx:u,footer:d,bodyPadded:f=!1,subView:p,className:m,children:h}){let g=t.useIsMobile(),_=(0,i.useId)(),v=(0,o.useDragControls)();return(0,i.useEffect)(()=>{if(s)return n.overlayStack.push(_),document.body.style.overflow=`hidden`,()=>{n.overlayStack.pop(_),n.overlayStack.isEmpty()&&(document.body.style.overflow=``)}},[s,_]),(0,i.useEffect)(()=>{let e=e=>{e.key===`Escape`&&n.overlayStack.isTop(_)&&c()};return s&&window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[s,c,_]),(0,a.jsxs)(r.Portal,{children:[(0,a.jsx)(o.AnimatePresence,{children:s&&(0,a.jsx)(o.motion.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2},onClick:()=>{n.overlayStack.isTop(_)&&c()},className:`fixed inset-0 z-50 bg-black/50`},`modal-backdrop`)}),(0,a.jsx)(o.AnimatePresence,{children:s&&(0,a.jsxs)(o.motion.div,{initial:g?{y:`100%`}:{opacity:0,y:24,scale:.96},animate:g?{y:0}:{opacity:1,y:0,scale:1},exit:g?{y:`100%`,transition:{duration:.2,ease:[.4,0,1,1]}}:{opacity:0,y:24,scale:.96},transition:g?{type:`spring`,damping:38,stiffness:320}:{duration:.25,ease:[.32,.72,0,1]},drag:g?`y`:!1,dragListener:!1,dragControls:v,dragConstraints:{top:0,bottom:0},dragElastic:{top:0,bottom:.4},onDragEnd:(e,t)=>{(t.offset.y>100||t.velocity.y>500)&&c()},className:e.cn(`fixed -bottom-8 left-0 right-0 z-50 mx-auto flex max-h-[88vh] w-full flex-col overflow-hidden rounded-t-2xl bg-white pb-8 shadow-xl sm:bottom-auto sm:left-1/2 sm:right-auto sm:top-1/2 sm:max-h-[90vh] sm:w-auto sm:min-w-[320px] sm:max-w-[90vw] sm:rounded-lg sm:pb-0 dark:bg-neutral-800`,m),style:g?void 0:{translateX:`-50%`,translateY:`-50%`,...u?{width:u}:{}},children:[(0,a.jsx)(`div`,{className:`flex justify-center pt-2 pb-1 cursor-grab touch-none active:cursor-grabbing sm:hidden`,onPointerDown:e=>v.start(e),children:(0,a.jsx)(`div`,{className:`h-1 w-10 rounded-full bg-neutral-300 dark:bg-neutral-600`})}),l&&(0,a.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-3`,children:[(0,a.jsx)(`h3`,{className:`text-base font-semibold text-neutral-900 sm:text-lg dark:text-white`,children:l}),(0,a.jsx)(`button`,{onClick:c,className:`rounded p-1 text-neutral-500 hover:text-neutral-700 dark:hover:text-neutral-300`,"aria-label":`닫기`,children:(0,a.jsx)(`svg`,{className:`h-5 w-5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,a.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M6 18L18 6M6 6l12 12`})})})]}),(0,a.jsxs)(`div`,{className:`relative flex min-h-0 flex-1 flex-col overflow-hidden`,children:[(0,a.jsx)(`div`,{className:`transform-[translateZ(0)] flex-1 overflow-y-auto overflow-x-hidden${f?` mx-1 sm:mx-4`:``}`,children:h}),p]}),d&&(0,a.jsx)(`div`,{className:`shrink-0`,children:d})]},`modal-sheet`)})]})}exports.Modal=s;
@@ -1 +0,0 @@
1
- const e=require("../../node_modules/lucide-react/dist/esm/icons/arrow-left.cjs.js"),t=require("../../lib/overlay-stack.cjs.js");let n=require("react"),r=require("react/jsx-runtime"),i=require("motion/react");function a({open:a,onBack:o,title:s,headerRight:c,bodyPadded:l=!0,contentPadded:u=!0,variant:d=`full`,children:f}){let p=(0,n.useId)();(0,n.useEffect)(()=>{if(a)return t.overlayStack.push(p),()=>{t.overlayStack.pop(p)}},[a,p]),(0,n.useEffect)(()=>{let e=e=>{e.key===`Escape`&&t.overlayStack.isTop(p)&&o()};return a&&window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[a,o,p]);let m=(0,r.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border-tertiary px-4 py-3 dark:border-neutral-700`,children:[(0,r.jsx)(`button`,{type:`button`,onClick:o,className:`rounded p-1 text-text-tertiary transition-colors hover:bg-bg-base-secondary hover:text-text-secondary dark:text-neutral-400 dark:hover:bg-neutral-700 dark:hover:text-neutral-200`,"aria-label":`뒤로 가기`,children:(0,r.jsx)(e.ArrowLeft,{className:`h-4 w-4`})}),s&&(0,r.jsx)(`div`,{className:`flex-1 text-sm font-semibold text-text-primary dark:text-white`,children:s}),c]}),h=(0,r.jsx)(`div`,{className:`transform-[translateZ(0)] flex-1 overflow-y-auto overflow-x-hidden${l?` mx-1 sm:mx-4`:``}`,children:u?(0,r.jsx)(`div`,{className:`px-2 py-3 sm:px-4 sm:py-5`,children:f}):f});return d===`drawer`?(0,r.jsx)(i.AnimatePresence,{children:a&&(0,r.jsxs)(`div`,{className:`absolute inset-0 z-10`,children:[(0,r.jsx)(i.motion.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2},onClick:o,className:`absolute inset-0 bg-black/40`},`subview-drawer-backdrop`),(0,r.jsxs)(i.motion.div,{initial:{x:`100%`},animate:{x:0},exit:{x:`100%`,transition:{duration:.2,ease:[.4,0,1,1]}},transition:{type:`spring`,damping:30,stiffness:320},className:`absolute right-0 top-0 bottom-0 flex w-[85%] max-w-md flex-col bg-bg-white shadow-xl dark:bg-neutral-800`,children:[m,h]},`subview-drawer-sheet`)]})}):(0,r.jsx)(i.AnimatePresence,{children:a&&(0,r.jsxs)(i.motion.div,{initial:{x:`100%`},animate:{x:0},exit:{x:`100%`},transition:{duration:.25,ease:`easeOut`},className:`absolute inset-0 z-10 flex flex-col bg-bg-white dark:bg-neutral-800`,children:[m,h]})})}exports.ModalSubView=a;
@@ -1 +0,0 @@
1
- const e=require("../button/Button.cjs.js"),t=require("../../hooks/useMediaQuery.cjs.js"),n=require("./Modal.cjs.js");let r=require("react/jsx-runtime");function i({isOpen:i,onClose:a,title:o,widthPx:s,subView:c,primaryAction:l,secondaryAction:u,leftAction:d,bodyNoPadding:f,children:p}){let m=t.useIsMobile(),h=l||u||d,g=m?`mini`:`small`,_=(t,n)=>(0,r.jsx)(e.Button,{variant:t.variant??n.variant,appearance:t.appearance??n.appearance,size:g,display:`block`,leadingIcon:t.leadingIcon,onClick:t.onClick,loading:t.loading,disabled:t.disabled,children:t.label});return(0,r.jsx)(n.Modal,{isOpen:i,onClose:a,title:o,widthPx:s,bodyPadded:!0,subView:c,footer:h?(0,r.jsxs)(`div`,{className:`flex items-center justify-between gap-2 border-t border-neutral-200 px-4 py-3 sm:px-5 sm:py-4 dark:border-neutral-700`,children:[(0,r.jsx)(`div`,{children:d&&(0,r.jsx)(`div`,{className:`w-[88px] sm:w-28`,children:_(d,{variant:`tertiary`,appearance:`outlined`})})}),(0,r.jsxs)(`div`,{className:`flex gap-2`,children:[u&&(0,r.jsx)(`div`,{className:`w-16 sm:w-24`,children:_(u,{variant:`secondary`,appearance:`outlined`})}),l&&(0,r.jsx)(`div`,{className:`w-16 sm:w-24`,children:_(l,{variant:`primary`})})]})]}):void 0,children:f?p:(0,r.jsx)(`div`,{className:`px-2 py-3 sm:px-4 sm:py-5`,children:p})})}exports.StandardModal=i;
@@ -1 +0,0 @@
1
- let e=require("react/jsx-runtime");function t({title:t,subtitle:n,className:r=``}){return(0,e.jsxs)(`div`,{className:`flex min-w-0 items-baseline gap-x-3 ${r}`,children:[(0,e.jsx)(`h1`,{className:`min-w-0 shrink truncate text-base font-semibold text-text-secondary sm:text-lg`,children:t}),n&&(0,e.jsx)(`p`,{className:`min-w-0 shrink-3 truncate text-xs text-text-tertiary sm:text-sm`,children:n})]})}exports.PageTitle=t;
@@ -1 +0,0 @@
1
- const e=require("../../lib/utils.cjs.js");let t=require("react"),n=require("react/jsx-runtime"),r=require("motion/react"),i=require("@floating-ui/react");function a({trigger:a,content:o,placement:s=`bottom`,onOpenChange:c,className:l}){let[u,d]=(0,t.useState)(!1),f=e=>{d(e),c?.(e)},{refs:p,floatingStyles:m,context:h}=(0,i.useFloating)({open:u,onOpenChange:f,placement:s,whileElementsMounted:i.autoUpdate,middleware:[(0,i.offset)(8),(0,i.flip)({fallbackAxisSideDirection:`start`}),(0,i.shift)({padding:8})]}),{getReferenceProps:g,getFloatingProps:_}=(0,i.useInteractions)([(0,i.useClick)(h),(0,i.useDismiss)(h),(0,i.useRole)(h,{role:`dialog`})]),v=()=>f(!1);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`span`,{ref:p.setReference,tabIndex:0,role:`button`,...g(),className:`inline-flex cursor-pointer select-none`,children:a}),(0,n.jsx)(i.FloatingPortal,{children:(0,n.jsx)(r.AnimatePresence,{children:u&&(0,n.jsx)(`div`,{ref:p.setFloating,style:m,..._(),className:`z-9999`,children:(0,n.jsx)(r.motion.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.95},transition:{duration:.15},className:e.cn(`bg-white dark:bg-neutral-800 rounded-lg shadow-md border border-border-tertiary dark:border-border-secondary p-4 min-w-60 max-w-[320px]`,l),children:typeof o==`function`?o(v):o})})})})]})}exports.Popover=a;
@@ -1 +0,0 @@
1
- const e=require("../../node_modules/lucide-react/dist/esm/icons/check.cjs.js");let t=require("react/jsx-runtime");function n({value:n,onChange:r,size:i}){let a=i===`mini`;return(0,t.jsxs)(`label`,{className:`inline-flex cursor-pointer items-center gap-1 select-none`,children:[(0,t.jsx)(`input`,{type:`checkbox`,checked:n,onChange:e=>r(e.target.checked),className:`peer sr-only`}),(0,t.jsx)(e.Check,{className:`${a?`h-3.5 w-3.5`:`h-4 w-4`} stroke-3 transition-colors peer-focus-visible:outline-2 peer-focus-visible:outline-primary-500 peer-focus-visible:outline-offset-1 ${n?`text-primary-500`:`text-icon-tertiary`}`,"aria-hidden":`true`}),(0,t.jsx)(`span`,{className:`${a?`text-xs`:`text-sm`} font-medium transition-colors ${n?`text-primary-500`:`text-text-tertiary`}`,children:`완전일치`})]})}exports.ExactMatchToggle=n;
@@ -1 +0,0 @@
1
- const e=require("../button/Button.cjs.js"),t=require("../../node_modules/lucide-react/dist/esm/icons/list-filter.cjs.js"),n=require("../../node_modules/lucide-react/dist/esm/icons/rotate-ccw.cjs.js"),r=require("../../node_modules/lucide-react/dist/esm/icons/search.cjs.js"),i=require("../../hooks/useMediaQuery.cjs.js"),a=require("../modal/StandardModal.cjs.js"),o=require("./ExactMatchToggle.cjs.js"),s=require("./SearchBoxChips.cjs.js"),c=require("./SearchBoxSheetContext.cjs.js"),l=require("./SearchBoxField.cjs.js"),u=require("./useSearchBoxState.cjs.js");let d=require("react"),f=require("react/jsx-runtime");function p({fields:p,values:h,onSearch:g,onClear:_,isSubmitting:v=!1,exactMatch:y,className:b=``}){let x=i.useIsMobile(),S=x?`mini`:`small`,[C,w]=(0,d.useState)(!1),{draft:T,setFieldValue:E,submit:D,clear:O,chips:k,removeChip:A}=u.useSearchBoxState({fields:p,values:h,onSearch:g,onClear:_}),j=()=>v?!1:D(),M=()=>{j()&&w(!1)};return x?(0,f.jsxs)(`div`,{className:`w-full ${b}`,children:[(0,f.jsxs)(`div`,{className:`flex w-full items-center justify-end gap-1`,children:[(0,f.jsx)(m,{label:`초기화`,onClick:O,variant:`ghost`,icon:(0,f.jsx)(n.RotateCcw,{className:`h-4 w-4`})}),(0,f.jsx)(m,{label:`검색`,onClick:j,disabled:v,variant:`primary`,icon:(0,f.jsx)(r.Search,{className:`h-4 w-4`})}),(0,f.jsx)(m,{label:`필터`,onClick:()=>w(!0),variant:`ghost`,icon:(0,f.jsx)(t.ListFilter,{className:`h-4 w-4`}),activeDot:k.length>0})]}),k.length>0&&(0,f.jsx)(`div`,{className:`mt-2`,children:(0,f.jsx)(s.SearchBoxChips,{chips:k,onRemove:A})}),(0,f.jsx)(a.StandardModal,{isOpen:C,onClose:()=>w(!1),title:`필터`,primaryAction:{label:`적용`,onClick:M,loading:v},secondaryAction:{label:`닫기`,onClick:()=>w(!1)},children:(0,f.jsx)(c.SearchBoxSheetContext.Provider,{value:!0,children:(0,f.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[p.filter(e=>!e.hidden).map(e=>(0,f.jsx)(l.SearchBoxField,{field:e,value:T[e.key]??``,onChange:t=>E(e.key,t),onEnter:M,size:`small`},e.key)),y&&(0,f.jsx)(`div`,{className:`flex justify-end`,children:(0,f.jsx)(o.ExactMatchToggle,{value:y.value,onChange:y.onChange,size:`small`})})]})})})]}):(0,f.jsxs)(`div`,{className:`w-full ${b}`,children:[(0,f.jsxs)(`div`,{className:`flex w-full flex-wrap items-center gap-x-3 gap-y-2`,children:[p.filter(e=>!e.hidden).map(e=>(0,f.jsx)(`div`,{className:e.className??`w-44`,children:(0,f.jsx)(l.SearchBoxField,{field:e,value:T[e.key]??``,onChange:t=>E(e.key,t),onEnter:j,size:S})},e.key)),(0,f.jsxs)(`div`,{className:`ml-auto flex items-center gap-3`,children:[y&&(0,f.jsx)(o.ExactMatchToggle,{value:y.value,onChange:y.onChange,size:S}),(0,f.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,f.jsx)(e.Button,{variant:`tertiary`,appearance:`outlined`,size:S,onClick:O,leadingIcon:(0,f.jsx)(n.RotateCcw,{className:`h-3.5 w-3.5`}),className:`h-10 border-border-tertiary! dark:border-border-secondary!`,children:`초기화`}),(0,f.jsx)(e.Button,{variant:`primary`,size:S,onClick:j,loading:v,leadingIcon:(0,f.jsx)(r.Search,{className:`h-3.5 w-3.5`}),className:`h-10`,children:`검색`})]})]})]}),k.length>0&&(0,f.jsx)(`div`,{className:`mt-2`,children:(0,f.jsx)(s.SearchBoxChips,{chips:k,onRemove:A})})]})}function m({label:e,onClick:t,icon:n,variant:r,disabled:i,activeDot:a}){return(0,f.jsxs)(`button`,{type:`button`,"aria-label":e,onClick:t,disabled:i,className:`relative inline-flex h-9 w-9 items-center justify-center rounded-lg transition-colors disabled:opacity-50 ${r===`primary`?`bg-primary-500 text-white hover:bg-primary-600`:`text-icon-secondary hover:bg-bg-base-secondary`}`,children:[n,a&&(0,f.jsx)(`span`,{className:`absolute top-1.5 right-1.5 h-1.5 w-1.5 rounded-full bg-primary-500`})]})}exports.SearchBox=p;
@@ -1 +0,0 @@
1
- const e=require("../../node_modules/lucide-react/dist/esm/icons/x.cjs.js"),t=require("../tooltip/Tooltip.cjs.js");let n=require("react/jsx-runtime");function r({chips:r,onRemove:i}){return r.length===0?null:(0,n.jsx)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:r.map(r=>(0,n.jsx)(t.Tooltip,{content:`${r.label} | ${r.valueLabel}`,position:`top`,children:(0,n.jsxs)(`button`,{type:`button`,onClick:()=>i(r.key),className:`inline-flex max-w-65 items-center gap-1.5 rounded-full border border-primary-200 bg-primary-50 px-2 py-0.5 text-xs text-primary-700 transition-colors hover:bg-primary-100 dark:border-primary-800 dark:bg-primary-900/30 dark:text-primary-300 dark:hover:bg-primary-900/50`,"aria-label":`${r.label} 필터 제거`,children:[(0,n.jsx)(`span`,{className:`shrink-0 text-text-tertiary`,children:r.label}),(0,n.jsx)(`span`,{className:`text-primary-300 dark:text-primary-700`,children:`|`}),(0,n.jsx)(`span`,{className:`truncate font-medium`,children:r.valueLabel}),(0,n.jsx)(e.X,{className:`h-3 w-3 shrink-0`})]})},r.key))})}exports.SearchBoxChips=r;
@@ -1 +0,0 @@
1
- const e=require("../button/Button.cjs.js"),t=require("../date-input/DateInput.cjs.js"),n=require("./parseDateRange.cjs.js"),r=require("./SearchBoxSheetContext.cjs.js");let i=require("react"),a=require("react/jsx-runtime");function o({value:o,onChange:s,presets:c,size:l}){let{from:u,to:d}=n.parseDateRangeValue(o),f=(0,i.useContext)(r.SearchBoxSheetContext),p=(0,i.useMemo)(()=>c?.map(e=>({preset:e,range:e.range()}))??[],[c]),m=e=>{let t=e.range();s(n.serializeDateRangeValue(t.from,t.to))};return(0,a.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1.5`,children:[(0,a.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,a.jsx)(t.DateInput,{value:u,onChange:e=>s(n.serializeDateRangeValue(e,d)),size:l,ariaLabel:`시작일`,disableMobileSheet:f}),(0,a.jsx)(`span`,{className:`text-neutral-400`,children:`~`}),(0,a.jsx)(t.DateInput,{value:d,onChange:e=>s(n.serializeDateRangeValue(u,e)),size:l,ariaLabel:`종료일`,disableMobileSheet:f})]}),p.length>0&&(0,a.jsx)(`div`,{className:`flex items-center gap-1`,children:p.map(({preset:t,range:n})=>{let r=u===n.from&&d===n.to;return(0,a.jsx)(e.Button,{variant:r?`primary`:`tertiary`,appearance:r?`filled`:`outlined`,size:l,onClick:()=>m(t),className:`whitespace-nowrap ${l===`small`?`h-10`:``} ${r?``:`border-border-tertiary! dark:border-border-secondary!`}`,children:t.label},t.label)})})]})}exports.SearchBoxDateRange=o;
@@ -1 +0,0 @@
1
- const e=require("../button/Button.cjs.js"),t=require("../date-input/DateInput.cjs.js"),n=require("./SearchBoxSheetContext.cjs.js");let r=require("react"),i=require("react/jsx-runtime");function a({value:a,onChange:o,ariaLabel:s,presets:c,size:l}){let u=(0,r.useContext)(n.SearchBoxSheetContext),d=(0,r.useMemo)(()=>c?.map(e=>({preset:e,date:e.date()}))??[],[c]);return(0,i.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1.5`,children:[(0,i.jsx)(t.DateInput,{value:a,onChange:o,size:l,ariaLabel:s,disableMobileSheet:u}),d.length>0&&(0,i.jsx)(`div`,{className:`flex items-center gap-1`,children:d.map(({preset:t,date:n})=>{let r=a===n;return(0,i.jsx)(e.Button,{variant:r?`primary`:`tertiary`,appearance:r?`filled`:`outlined`,size:l,onClick:()=>o(n),className:`whitespace-nowrap ${l===`small`?`h-10`:``} ${r?``:`border-border-tertiary! dark:border-border-secondary!`}`,children:t.label},t.label)})})]})}exports.SearchBoxDateSingle=a;
@@ -1 +0,0 @@
1
- const e=require("./SearchBoxDateRange.cjs.js"),t=require("./SearchBoxDateSingle.cjs.js"),n=require("./SearchBoxFloatingInput.cjs.js"),r=require("./SearchBoxFloatingSelect.cjs.js"),i=require("./SearchBoxMonth.cjs.js"),a=require("./SearchBoxMultiSelect.cjs.js");let o=require("react/jsx-runtime");function s({field:s,value:c,onChange:l,onEnter:u,size:d}){return s.type===`text`?(0,o.jsx)(n.SearchBoxFloatingInput,{label:s.label,value:c,onChange:l,onEnter:u,size:d,inputMode:s.inputMode}):s.type===`multiSelect`?(0,o.jsx)(a.SearchBoxMultiSelect,{label:s.label,options:s.options,value:c,onChange:l,size:d}):s.type===`dateRange`?(0,o.jsx)(e.SearchBoxDateRange,{value:c,onChange:l,presets:s.presets,size:d}):s.type===`dateSingle`?(0,o.jsx)(t.SearchBoxDateSingle,{value:c,onChange:l,ariaLabel:s.label,presets:s.presets,size:d}):s.type===`month`?(0,o.jsx)(i.SearchBoxMonth,{value:c,onChange:l,ariaLabel:s.label,size:d}):(0,o.jsx)(r.SearchBoxFloatingSelect,{label:s.label,options:s.options,value:c,onChange:l,size:d})}exports.SearchBoxField=s;
@@ -1 +0,0 @@
1
- let e=require("react"),t=require("react/jsx-runtime");function n({label:n,value:r,onChange:i,onEnter:a,size:o,inputMode:s,trailing:c}){let[l,u]=(0,e.useState)(!1),d=(0,e.useRef)(null),f=r.length>0,p=l||f,m=o===`mini`?`h-8`:`h-10`,h=o===`mini`?`text-xs`:`text-sm`,g=o===`mini`?`px-2.5`:`px-3`;return(0,t.jsxs)(`div`,{className:`relative ${m} w-full cursor-text rounded-lg border bg-bg-white transition-colors ${l?`border-primary-500`:`border-border-tertiary dark:border-border-secondary`}`,onClick:()=>d.current?.focus(),children:[(0,t.jsx)(`input`,{ref:d,type:`text`,value:r,onChange:e=>i(e.target.value),onFocus:()=>u(!0),onBlur:()=>u(!1),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),a?.())},inputMode:s,"aria-label":n,className:`peer h-full w-full bg-transparent ${g} ${h} text-text-primary placeholder-transparent focus:outline-hidden`,placeholder:n}),(0,t.jsx)(`span`,{"aria-hidden":`true`,className:`pointer-events-none absolute left-2 px-1 transition-all bg-bg-white ${p?`-top-2 ${o===`mini`?`text-[10px]`:`text-xs`} ${l?`text-primary-500`:`text-text-secondary`}`:`top-1/2 -translate-y-1/2 ${h} text-text-tertiary`}`,children:n}),c&&(0,t.jsx)(`div`,{className:`absolute inset-y-0 right-2 flex items-center`,children:c})]})}exports.SearchBoxFloatingInput=n;
@@ -1 +0,0 @@
1
- const e=require("../../node_modules/lucide-react/dist/esm/icons/check.cjs.js"),t=require("../../node_modules/lucide-react/dist/esm/icons/chevron-down.cjs.js");let n=require("react"),r=require("react/jsx-runtime"),i=require("@floating-ui/react");function a({label:a,options:o,value:s,onChange:c,size:l}){let[u,d]=(0,n.useState)(!1),{refs:f,floatingStyles:p,context:m}=(0,i.useFloating)({open:u,onOpenChange:d,placement:`bottom-start`,whileElementsMounted:i.autoUpdate,middleware:[(0,i.offset)(4),(0,i.flip)({fallbackAxisSideDirection:`start`}),(0,i.shift)({padding:8}),(0,i.size)({apply({rects:e,elements:t}){Object.assign(t.floating.style,{minWidth:`${e.reference.width}px`})}})]}),{getReferenceProps:h,getFloatingProps:g}=(0,i.useInteractions)([(0,i.useClick)(m),(0,i.useDismiss)(m),(0,i.useRole)(m,{role:`listbox`})]),_=o.find(e=>String(e.value)===s),v=!!_,y=u||v,b=l===`mini`?`h-8`:`h-10`,x=l===`mini`?`text-xs`:`text-sm`,S=l===`mini`?`px-2.5`:`px-3`;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(`button`,{ref:f.setReference,type:`button`,...h(),"aria-expanded":u,"aria-haspopup":`listbox`,className:`relative ${b} w-full rounded-lg border bg-bg-white ${S} text-left transition-colors focus-visible:border-primary-500 focus-visible:outline-hidden ${u?`border-primary-500`:`border-border-tertiary dark:border-border-secondary`}`,children:[(0,r.jsxs)(`div`,{className:`flex h-full w-full items-center justify-between gap-2`,children:[(0,r.jsx)(`span`,{className:`truncate ${x} ${v?`text-text-primary`:`text-text-tertiary`}`,children:v?_.label:``}),(0,r.jsx)(t.ChevronDown,{className:`h-3.5 w-3.5 shrink-0 text-icon-tertiary transition-transform ${u?`rotate-180`:``}`})]}),(0,r.jsx)(`span`,{"aria-hidden":`true`,className:`pointer-events-none absolute left-2 px-1 transition-all bg-bg-white ${y?`-top-2 ${l===`mini`?`text-[10px]`:`text-xs`} ${u?`text-primary-500`:`text-text-secondary`}`:`top-1/2 -translate-y-1/2 ${x} text-text-tertiary`}`,children:a})]}),u&&(0,r.jsx)(i.FloatingPortal,{children:(0,r.jsxs)(`div`,{ref:f.setFloating,style:p,...g(),className:`z-9999 max-h-60 overflow-y-auto rounded-lg border border-neutral-200 bg-white py-1 shadow-lg dark:border-neutral-700 dark:bg-neutral-800`,children:[o.map(t=>{let n=String(t.value),i=n===s;return(0,r.jsxs)(`button`,{type:`button`,onClick:()=>{c(n),d(!1)},className:`flex w-full items-center gap-2 px-3 py-1.5 text-left transition-colors hover:bg-neutral-50 dark:hover:bg-neutral-700 ${x} ${i?`text-text-primary`:`text-text-secondary`}`,role:`option`,"aria-selected":i,children:[(0,r.jsx)(`span`,{className:`flex-1 truncate`,children:t.label}),i&&(0,r.jsx)(e.Check,{className:`h-3 w-3 text-primary-500`,strokeWidth:3})]},n)}),o.length===0&&(0,r.jsx)(`div`,{className:`px-3 py-2 text-xs text-text-tertiary`,children:`옵션이 없어요`})]})})]})}exports.SearchBoxFloatingSelect=a;
@@ -1 +0,0 @@
1
- const e=require("../../node_modules/lucide-react/dist/esm/icons/calendar.cjs.js"),t=require("../date-picker/month-picker.cjs.js"),n=require("./SearchBoxSheetContext.cjs.js");let r=require("react"),i=require("react/jsx-runtime");function a(e){let[t,n]=e.split(`-`),r=Number(t),i=Number(n);if(!(!r||!i))return{year:r,month:i}}function o({year:e,month:t}){return`${e}-${String(t).padStart(2,`0`)}`}function s({value:s,onChange:c,ariaLabel:l,size:u}){let d=(0,r.useContext)(n.SearchBoxSheetContext),f=a(s),p=f?`${f.year}년 ${f.month}월`:`년월 선택`;return(0,i.jsx)(t.MonthPicker,{value:f,onChange:e=>c(o(e)),disableMobileSheet:d,children:(0,i.jsxs)(`button`,{type:`button`,"aria-label":l,className:`inline-flex w-full items-center gap-2 rounded-lg border border-border-tertiary bg-bg-card px-3 text-sm text-text-primary transition-colors hover:bg-bg-base-primary dark:border-border-secondary ${u===`small`?`h-10 py-2`:`h-9 py-1.5`}`,children:[(0,i.jsx)(e.Calendar,{className:`h-4 w-4 shrink-0 text-text-secondary`}),(0,i.jsx)(`span`,{className:f?``:`text-text-tertiary`,children:p})]})})}exports.SearchBoxMonth=s;
@@ -1 +0,0 @@
1
- const e=require("../../node_modules/lucide-react/dist/esm/icons/check.cjs.js"),t=require("../../node_modules/lucide-react/dist/esm/icons/chevron-down.cjs.js");let n=require("react"),r=require("react/jsx-runtime"),i=require("@floating-ui/react");function a({label:a,options:o,value:s,onChange:c,size:l}){let[u,d]=(0,n.useState)(!1),{refs:f,floatingStyles:p,context:m}=(0,i.useFloating)({open:u,onOpenChange:d,placement:`bottom-start`,whileElementsMounted:i.autoUpdate,middleware:[(0,i.offset)(4),(0,i.flip)({fallbackAxisSideDirection:`start`}),(0,i.shift)({padding:8}),(0,i.size)({apply({rects:e,elements:t}){Object.assign(t.floating.style,{minWidth:`${e.reference.width}px`})}})]}),{getReferenceProps:h,getFloatingProps:g}=(0,i.useInteractions)([(0,i.useClick)(m),(0,i.useDismiss)(m),(0,i.useRole)(m,{role:`listbox`})]),_=s?s.split(`,`).filter(Boolean):[],v=new Set(_),y=_.length>0,b=u||y,x=e=>{let t=new Set(v);t.has(e)?t.delete(e):t.add(e),c(o.filter(e=>t.has(String(e.value))).map(e=>String(e.value)).join(`,`))},S=l===`mini`?`h-8`:`h-10`,C=l===`mini`?`text-xs`:`text-sm`,w=l===`mini`?`px-2.5`:`px-3`,T=y?o.filter(e=>v.has(String(e.value))).map(e=>e.label).join(`, `):``;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(`button`,{ref:f.setReference,type:`button`,...h(),"aria-expanded":u,"aria-haspopup":`listbox`,className:`relative ${S} w-full rounded-lg border bg-bg-white ${w} text-left transition-colors focus-visible:border-primary-500 focus-visible:outline-hidden ${u?`border-primary-500`:`border-border-tertiary dark:border-border-secondary`}`,children:[(0,r.jsxs)(`div`,{className:`flex h-full w-full items-center justify-between gap-2`,children:[(0,r.jsx)(`span`,{className:`truncate ${C} ${y?`text-text-primary`:`text-text-tertiary`}`,children:T}),(0,r.jsx)(t.ChevronDown,{className:`h-3.5 w-3.5 shrink-0 text-icon-tertiary transition-transform ${u?`rotate-180`:``}`})]}),(0,r.jsx)(`span`,{"aria-hidden":`true`,className:`pointer-events-none absolute left-2 px-1 transition-all bg-bg-white ${b?`-top-2 ${l===`mini`?`text-[10px]`:`text-xs`} ${u?`text-primary-500`:`text-text-secondary`}`:`top-1/2 -translate-y-1/2 ${C} text-text-tertiary`}`,children:a})]}),u&&(0,r.jsx)(i.FloatingPortal,{children:(0,r.jsxs)(`div`,{ref:f.setFloating,style:p,...g(),className:`z-9999 max-h-60 overflow-y-auto rounded-lg border border-neutral-200 bg-white py-1 shadow-lg dark:border-neutral-700 dark:bg-neutral-800`,children:[o.map(t=>{let n=String(t.value),i=v.has(n);return(0,r.jsxs)(`button`,{type:`button`,onClick:()=>x(n),className:`flex w-full items-center gap-2 px-3 py-1.5 text-left transition-colors hover:bg-neutral-50 dark:hover:bg-neutral-700 ${C} ${i?`text-text-primary`:`text-text-secondary`}`,role:`option`,"aria-selected":i,children:[(0,r.jsx)(`span`,{className:`flex h-4 w-4 shrink-0 items-center justify-center rounded border ${i?`border-primary-500 bg-primary-500 text-white`:`border-neutral-300 dark:border-neutral-600`}`,children:i&&(0,r.jsx)(e.Check,{className:`h-3 w-3`,strokeWidth:3})}),(0,r.jsx)(`span`,{className:`flex-1 truncate`,children:t.label})]},n)}),o.length===0&&(0,r.jsx)(`div`,{className:`px-3 py-2 text-xs text-text-tertiary`,children:`옵션이 없어요`})]})})]})}exports.SearchBoxMultiSelect=a;
@@ -1 +0,0 @@
1
- const e=require("./parseDateRange.cjs.js");let t=require("date-fns");var n=`yyyy-MM-dd`;function r(){let e=(0,t.format)(new Date,n);return{from:e,to:e}}function i(){let{from:t,to:n}=r();return e.serializeDateRangeValue(t,n)}var a=[{label:`전일`,range:()=>{let e=(0,t.format)((0,t.subDays)(new Date,1),n);return{from:e,to:e}}},{label:`당일`,range:()=>{let e=(0,t.format)(new Date,n);return{from:e,to:e}}},{label:`당월`,range:()=>{let e=new Date;return{from:(0,t.format)((0,t.startOfMonth)(e),n),to:(0,t.format)((0,t.endOfMonth)(e),n)}}},{label:`전월`,range:()=>{let e=(0,t.subMonths)(new Date,1);return{from:(0,t.format)((0,t.startOfMonth)(e),n),to:(0,t.format)((0,t.endOfMonth)(e),n)}}}];exports.DEFAULT_DATE_RANGE_PRESETS=a,exports.getTodayDateRange=r,exports.getTodayDateRangeValue=i;
@@ -1 +0,0 @@
1
- const e=require("./parseDateRange.cjs.js");function t(e){return e?e.split(`,`).filter(Boolean):[]}function n(n,r){let i={};for(let a of n){let n=a.hidden?``:r[a.key]??``;a.type===`multiSelect`?i[a.key]=t(n):a.type===`dateRange`?i[a.key]=e.parseDateRangeValue(n):i[a.key]=n}return i}exports.parseMultiSelectValue=t,exports.parseSearchValues=n;
@@ -1 +0,0 @@
1
- const e=require("../../_virtual/_rolldown/runtime.cjs.js"),t=require("./parseDateRange.cjs.js");let n=require("react"),r=require("react-hot-toast");r=e.__toESM(r,1);function i({fields:e,values:i,onSearch:l,onClear:u}){let[d,f]=(0,n.useState)(()=>a(e,i)),p=(0,n.useRef)(i);return(0,n.useEffect)(()=>{let t=p.current;c(i,t,e)||(f(n=>{let r={...n};for(let a of e)(n[a.key]??``)===(t[a.key]??``)&&(r[a.key]=i[a.key]??``);return r}),p.current=i)},[i]),{draft:d,setFieldValue:(e,t)=>{f(n=>({...n,[e]:t}))},submit:()=>{for(let n of e){if(n.hidden||n.type!==`dateRange`)continue;let{from:e,to:i}=t.parseDateRangeValue(d[n.key]??``);if(e&&i&&e>i)return r.default.error(`${n.label} 종료일이 시작일보다 빠를 수 없어요`),!1}return l(s(e,d)),!0},clear:()=>{let t=o(e);f(t),u?u():l(t)},chips:e.map(e=>{if(e.hidden)return null;let t=i[e.key]??``;if(t===``)return null;if(e.type===`select`){let n=e.options.find(e=>String(e.value)===t);return{key:e.key,label:e.label,valueLabel:n?.label??t}}if(e.type===`multiSelect`){let n=t.split(`,`).filter(Boolean);if(n.length===0)return null;let r=new Map(e.options.map(e=>[String(e.value),e.label])),i=n.map(e=>r.get(e)??e);return{key:e.key,label:e.label,valueLabel:i.join(`, `)}}return null}).filter(e=>e!==null),removeChip:e=>{let t={...i,[e]:``};f(t),l(t)}}}function a(e,t){let n={};for(let r of e)n[r.key]=t[r.key]??``;return n}function o(e){let t={};for(let n of e)t[n.key]=``;return t}function s(e,t){let n={...t};for(let t of e)t.hidden&&(n[t.key]=``);return n}function c(e,t,n){for(let r of n)if((e[r.key]??``)!==(t[r.key]??``))return!1;return!0}exports.useSearchBoxState=i;
@@ -1 +0,0 @@
1
- const e=require("../../node_modules/lucide-react/dist/esm/icons/check.cjs.js"),t=require("../../node_modules/lucide-react/dist/esm/icons/chevron-down.cjs.js"),n=require("../../node_modules/lucide-react/dist/esm/icons/circle-x.cjs.js"),r=require("../../node_modules/lucide-react/dist/esm/icons/search.cjs.js"),i=require("../_shared/form-size-tokens.cjs.js"),a=require("../input/utils.cjs.js"),ee=require("./loading-dots.cjs.js");let o=require("react"),s=require("react/jsx-runtime"),c=require("@floating-ui/react");var te=e=>e.length===0?``:e.map(e=>e.label).join(`, `),ne=e=>e.length===0?``:`${e.length}개 선택`,l=(0,o.forwardRef)(function({options:l,value:u,onChange:d,variant:f,selectSize:p=`medium`,label:m,labelOption:h=`appear`,help:g,placeholder:re=`선택해주세요`,hasError:_=!1,disabled:v=!1,suffix:y,trailingIcon:b,clearable:x=!1,badge:S,searchable:C=!1,searchPlaceholder:ie=`검색...`,onSearchChange:w,isSearchLoading:T=!1,containerProps:ae,containerRef:oe,className:se=``,panelClassName:ce=``,formatTrigger:le=te,formatCollapsed:ue=ne,disableAutoCollapse:E=!1,showSelectAll:de=!1,id:D,name:O,"data-testid":fe},k){let[A,pe]=(0,o.useState)(!1),[j,M]=(0,o.useState)(null),[N,P]=(0,o.useState)(``),[me,F]=(0,o.useState)(!1),I=(0,o.useRef)([]),L=(0,o.useRef)(null),R=(0,o.useRef)(null),z=(0,o.useRef)(null),B=(0,o.useId)(),V=e=>`${B}-opt-${e}`,he=j===null?void 0:V(j),H=typeof w==`function`,U=(0,o.useMemo)(()=>{if(!C||H||N.length===0)return l;let e=N.toLowerCase();return l.filter(t=>t.label.toLowerCase().includes(e))},[l,C,H,N]),W=(0,o.useMemo)(()=>new Set(u),[u]),G=(0,o.useMemo)(()=>l.filter(e=>W.has(String(e.value))),[l,W]),{refs:K,floatingStyles:ge,context:q}=(0,c.useFloating)({open:A,onOpenChange:pe,placement:`bottom-start`,whileElementsMounted:c.autoUpdate,middleware:[(0,c.offset)(4),(0,c.flip)({padding:8}),(0,c.shift)({padding:8}),(0,c.size)({apply({rects:e,elements:t,availableHeight:n}){Object.assign(t.floating.style,{minWidth:`${e.reference.width}px`,maxHeight:`${Math.min(n,320)}px`})},padding:8})]}),{getReferenceProps:_e,getFloatingProps:ve,getItemProps:ye}=(0,c.useInteractions)([(0,c.useClick)(q,{enabled:!v}),(0,c.useDismiss)(q),(0,c.useRole)(q,{role:`listbox`}),(0,c.useListNavigation)(q,{listRef:I,activeIndex:j,onNavigate:M,virtual:C,loop:!0})]);(0,o.useEffect)(()=>{A||(P(``),M(null),H&&w(``))},[A,H,w]),(0,o.useEffect)(()=>{A&&C&&L.current&&L.current.focus()},[A,C]),(0,o.useLayoutEffect)(()=>{if(E){F(!1);return}let e=R.current,t=z.current;if(!e||!t)return;let n=()=>{let n=t.scrollWidth,r=e.clientWidth;F(n>r-1)};n();let r=new ResizeObserver(()=>{requestAnimationFrame(n)});return r.observe(e),()=>r.disconnect()},[E,u.join(`,`)]);let J=e=>{let t=new Set(W);t.has(e)?t.delete(e):t.add(e),d(l.filter(e=>t.has(String(e.value))).map(e=>String(e.value)))},be=e=>{e.stopPropagation(),d([])},Y=U.filter(e=>!e.disabled).map(e=>String(e.value)),xe=Y.length>0&&Y.every(e=>W.has(e)),Se=()=>{if(xe){let e=new Set(Y);d(u.filter(t=>!e.has(t)))}else{let e=new Set([...u,...Y]);d(l.filter(t=>e.has(String(t.value))).map(e=>String(e.value)))}},Ce=e=>{!x||v||u.length===0||A||(e.key===`Backspace`||e.key===`Delete`)&&(e.preventDefault(),d([]))},we=e=>{let t=e.target.value;P(t),H&&w(t)},Te=e=>{if(!e.nativeEvent.isComposing&&e.key===`Enter`&&j!==null){e.preventDefault();let t=U[j];t&&!t.disabled&&J(String(t.value))}},X=G.length>0,Ee=h===`sustain`||h===`appear`&&X,De=X?le(G):``,Oe=X?ue(G):``,ke=X?me?Oe:De:re,Ae=i.SLOT_GAP_CLASS[p],Z=i.SLOT_CHILD_ICON_CLASS[p],je=i.SLOT_BADGE_TEXT_CLASS[p],Me=i.SLOT_ICON_SIZE_CLASS[p],Ne=i.CHEVRON_SIZE_CLASS[p],Pe=a.getInputVariantClasses(f,_,v,p),Q=a.getInputTrailingIconColor(_,v,X||A),$=p===`mini`?`text-xs`:p===`large`?`text-base`:`text-sm`,Fe=v?`text-text-disabled`:_?`text-text-danger`:X?`text-text-primary`:`text-text-tertiary`;return(0,s.jsxs)(`div`,{ref:oe,className:a.getInputContainerClasses(),...ae,children:[!E&&X&&(0,s.jsx)(`span`,{ref:z,"aria-hidden":!0,className:`pointer-events-none fixed left-0 -top-[9999px] whitespace-nowrap ${$}`,children:De}),Ee&&m&&(0,s.jsx)(`label`,{className:a.getInputLabelClasses(f,_),htmlFor:D,children:m}),(0,s.jsxs)(`button`,{ref:e=>{K.setReference(e),typeof k==`function`?k(e):k&&(k.current=e)},id:D,type:`button`,disabled:v,"aria-haspopup":`listbox`,"aria-expanded":A,"aria-controls":A?B:void 0,"aria-activedescendant":he,"data-testid":fe,..._e({onKeyDown:Ce}),className:`${Pe} flex w-full items-center ${Ae} ${v?`cursor-not-allowed`:`cursor-pointer`} ${se}`.trim().replace(/\s+/g,` `),children:[(0,s.jsx)(`span`,{ref:R,className:`flex-1 truncate text-left ${$} ${Fe}`,children:ke}),y&&(0,s.jsx)(`span`,{className:`shrink-0 whitespace-nowrap ${$} ${Q}`,children:y}),b&&(0,s.jsx)(`span`,{className:`flex shrink-0 items-center ${Q} ${Z}`,children:b}),x&&!v&&X&&(0,s.jsx)(`span`,{role:`button`,tabIndex:-1,onClick:be,"aria-label":`선택 모두 지우기`,className:`flex shrink-0 cursor-pointer items-center ${Q} hover:text-text-primary`,children:(0,s.jsx)(n.CircleX,{className:Me,strokeWidth:1.5,"aria-hidden":!0})}),S&&(0,s.jsx)(`span`,{className:`flex shrink-0 items-center ${Z} ${je}`,children:S}),(0,s.jsx)(t.ChevronDown,{className:`shrink-0 transition-transform ${Ne} ${Q} ${A?`rotate-180`:``}`,strokeWidth:1.5,"aria-hidden":!0})]}),O&&(0,s.jsx)(`input`,{type:`hidden`,name:O,value:u.join(`,`)}),A&&(0,s.jsx)(c.FloatingPortal,{children:(0,s.jsx)(c.FloatingFocusManager,{context:q,modal:!1,initialFocus:C?-1:0,children:(0,s.jsxs)(`div`,{ref:K.setFloating,id:B,style:ge,...ve(),className:`z-9999 overflow-hidden rounded-lg border border-border-tertiary bg-bg-white shadow-lg dark:border-border-secondary dark:bg-neutral-800 ${ce}`,children:[C&&(0,s.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border-tertiary px-3 py-2 dark:border-border-secondary`,children:[(0,s.jsx)(r.Search,{className:`h-4 w-4 shrink-0 text-icon-tertiary`,"aria-hidden":!0}),(0,s.jsx)(`input`,{ref:L,type:`text`,value:N,onChange:we,onKeyDown:Te,placeholder:ie,className:`flex-1 bg-transparent text-sm outline-hidden placeholder:text-text-tertiary`}),T&&(0,s.jsx)(ee.LoadingDots,{className:`h-4 w-4 shrink-0 text-icon-tertiary`})]}),de&&U.length>0&&(0,s.jsxs)(`button`,{type:`button`,onClick:Se,className:`flex w-full items-center justify-between border-b border-border-tertiary px-3 py-2 text-xs text-text-secondary transition-colors hover:bg-neutral-50 dark:border-border-secondary dark:hover:bg-neutral-700`,children:[(0,s.jsx)(`span`,{children:xe?`전체 해제`:`전체 선택`}),(0,s.jsxs)(`span`,{className:`text-text-tertiary`,children:[Y.length,`개`]})]}),(0,s.jsx)(`div`,{className:`max-h-72 overflow-y-auto py-1`,children:U.length===0?(0,s.jsx)(`div`,{className:`px-3 py-4 text-center text-sm text-text-tertiary`,children:T?`검색 중...`:`옵션이 없어요`}):U.map((t,n)=>{let r=String(t.value),i=W.has(r),a=j===n;return(0,s.jsxs)(`div`,{id:V(n),ref:e=>{I.current[n]=e},role:`option`,"aria-selected":i,"aria-disabled":t.disabled||void 0,tabIndex:a?0:-1,...ye({onClick:()=>{t.disabled||J(r)},onKeyDown:e=>{t.disabled||(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),J(r))}}),className:`flex cursor-pointer items-start gap-3 px-3 py-2 text-sm transition-colors ${t.disabled?`cursor-not-allowed text-text-disabled`:a?`bg-neutral-100 text-text-primary dark:bg-neutral-700`:`text-text-primary hover:bg-neutral-50 dark:hover:bg-neutral-700`}`,children:[(0,s.jsx)(`span`,{className:`mt-0.5 flex h-4 w-4 shrink-0 items-center justify-center rounded border ${i?`border-primary-500 bg-primary-500 text-white`:`border-border-tertiary dark:border-border-secondary`}`,"aria-hidden":!0,children:i&&(0,s.jsx)(e.Check,{className:`h-3 w-3`,strokeWidth:3})}),(0,s.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,s.jsx)(`div`,{className:`truncate ${i?`font-medium`:``}`,children:t.label}),t.description&&(0,s.jsx)(`div`,{className:`mt-0.5 truncate text-xs text-text-tertiary`,children:t.description})]}),t.trailing&&(0,s.jsx)(`span`,{className:`shrink-0 text-xs text-text-tertiary`,children:t.trailing})]},r)})})]})})}),g&&(0,s.jsx)(`div`,{className:a.getInputHelpClasses(_),children:g})]})});exports.MultiSelect=l;
@@ -1 +0,0 @@
1
- const e=require("../../node_modules/lucide-react/dist/esm/icons/chevron-down.cjs.js"),t=require("../../node_modules/lucide-react/dist/esm/icons/circle-x.cjs.js"),n=require("../_shared/form-size-tokens.cjs.js"),r=require("../input/utils.cjs.js"),ee=require("../../node_modules/use-debounce/dist/index.module.cjs.js"),i=require("./loading-dots.cjs.js");let a=require("react"),o=require("react/jsx-runtime"),s=require("@floating-ui/react");var c=(0,a.forwardRef)(function({options:c,value:l,onChange:u,variant:te,selectSize:d=`medium`,label:f,labelOption:p=`appear`,help:ne,placeholder:re=`선택해주세요`,hasError:m=!1,disabled:h=!1,suffix:g,trailingIcon:_,clearable:v=!1,badge:y,searchable:b=!1,searchPlaceholder:ie=`검색...`,onSearchChange:x,isSearchLoading:S=!1,containerProps:ae,containerRef:oe,className:se=``,panelClassName:ce=``,id:C,name:w,onLoadMore:T,hasMore:E=!1,searchDebounceMs:D=300,"data-testid":le},O){let[k,A]=(0,a.useState)(!1),[j,M]=(0,a.useState)(null),[N,P]=(0,a.useState)(``),ue=(0,a.useRef)([]),de=(0,a.useRef)(null),[F,fe]=(0,a.useState)(null),[I,pe]=(0,a.useState)(null),L=(0,a.useId)(),R=e=>`${L}-opt-${e}`,z=j===null?void 0:R(j),B=typeof x==`function`,V=D===!1||D<=0?0:D,H=ee.c(e=>{x?.(e)},V),U=(e,t)=>{B&&(t||V===0?(H.cancel(),x(e)):H(e))},W=c.find(e=>String(e.value)===l),me=b&&(W!==void 0&&N===W.label||W===void 0&&l!==``&&N!==``),G=(0,a.useMemo)(()=>{if(!b||B||N.length===0||me)return c;let e=N.toLowerCase();return c.filter(t=>t.label.toLowerCase().includes(e))},[c,b,B,N,me]),{refs:K,floatingStyles:he,context:q}=(0,s.useFloating)({open:k,onOpenChange:A,placement:`bottom-start`,whileElementsMounted:s.autoUpdate,middleware:[(0,s.offset)(4),(0,s.flip)({padding:8}),(0,s.shift)({padding:8}),(0,s.size)({apply({rects:e,elements:t,availableHeight:n}){Object.assign(t.floating.style,{minWidth:`${e.reference.width}px`,maxHeight:`${Math.min(n,320)}px`})},padding:8})]}),{getReferenceProps:ge,getFloatingProps:_e,getItemProps:ve}=(0,s.useInteractions)([(0,s.useClick)(q,{enabled:!h&&!b}),(0,s.useDismiss)(q),(0,s.useRole)(q,{role:`listbox`}),(0,s.useListNavigation)(q,{listRef:ue,activeIndex:j,onNavigate:M,virtual:b,loop:!0}),(0,s.useTypeahead)(q,{listRef:{current:G.map(e=>e.label)},activeIndex:j,onMatch:M,enabled:!b})]),ye=(0,a.useRef)(!1);(0,a.useEffect)(()=>{if(k){if(ye.current=!0,b){let e=W?.label??``;P(e),e!==``&&requestAnimationFrame(()=>{de.current?.select()})}}else P(``),M(null),ye.current&&U(``,!0)},[k,b,B,x]),(0,a.useEffect)(()=>{if(!k||!T||!E||!F||!I)return;let e=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&!S&&T()},{root:I,rootMargin:`0px 0px 80px 0px`});return e.observe(F),()=>e.disconnect()},[k,T,E,S,F,I]);let J=e=>{u(e),A(!1)},be=e=>{e.stopPropagation(),u(``),P(``)},xe=e=>{b||!v||h||!Y||k||(e.key===`Backspace`||e.key===`Delete`)&&(e.preventDefault(),u(``))},Se=e=>{let t=e.target.value;P(t),U(t,!1),k||A(!0)},Ce=e=>{if(!e.nativeEvent.isComposing){if(e.key===`Enter`&&j!==null){e.preventDefault();let t=G[j];t&&!t.disabled&&J(String(t.value));return}(e.key===`Backspace`||e.key===`Delete`)&&W&&(!k||N===``)&&(e.preventDefault(),u(``))}},we=p===`sustain`||p===`appear`&&!!W,Y=!!W,Te=W?W.label:re,Ee=k?N:W?.label??``,De=n.SLOT_GAP_CLASS[d],X=n.SLOT_CHILD_ICON_CLASS[d],Oe=n.SLOT_BADGE_TEXT_CLASS[d],Z=n.SLOT_ICON_SIZE_CLASS[d],ke=n.CHEVRON_SIZE_CLASS[d],Ae=r.getInputVariantClasses(te,m,h,d),Q=r.getInputTrailingIconColor(m,h,Y||k),$=d===`mini`?`text-xs`:d===`large`?`text-base`:`text-sm`,je=h?`text-text-disabled`:m?`text-text-danger`:Y?`text-text-primary`:`text-text-tertiary`;return(0,o.jsxs)(`div`,{ref:oe,className:r.getInputContainerClasses(),...ae,children:[we&&f&&(0,o.jsx)(`label`,{className:r.getInputLabelClasses(te,m),htmlFor:C,children:f}),b?(0,o.jsxs)(`div`,{ref:e=>{K.setReference(e)},...ge(),className:`${Ae} flex w-full items-center ${De} ${h?`cursor-not-allowed`:`cursor-text`} ${se}`.trim().replace(/\s+/g,` `),children:[(0,o.jsx)(`input`,{ref:e=>{de.current=e,typeof O==`function`?O(e):O&&(O.current=e)},id:C,type:`text`,role:`combobox`,readOnly:!k,disabled:h,"aria-haspopup":`listbox`,"aria-expanded":k,"aria-controls":k?L:void 0,"aria-activedescendant":z,"aria-autocomplete":`list`,"data-testid":le,value:Ee,placeholder:W?ie:re,onChange:Se,onKeyDown:Ce,onClick:()=>{h||k||A(!0)},className:`flex-1 bg-transparent text-left outline-hidden ${$} ${je} ${h?`cursor-not-allowed`:``} placeholder:text-text-tertiary`}),g&&(0,o.jsx)(`span`,{className:`shrink-0 whitespace-nowrap ${$} ${Q}`,children:g}),_&&(0,o.jsx)(`span`,{className:`flex shrink-0 items-center ${Q} ${X}`,children:_}),S&&(0,o.jsx)(i.LoadingDots,{className:`shrink-0 text-icon-tertiary ${Z}`}),v&&!h&&Y&&(0,o.jsx)(`button`,{type:`button`,tabIndex:-1,onClick:be,"aria-label":`선택 지우기`,className:`flex shrink-0 cursor-pointer items-center rounded ${Q} hover:text-text-primary focus:outline-hidden focus-visible:ring-2 focus-visible:ring-primary-500/40`,children:(0,o.jsx)(t.CircleX,{className:Z,strokeWidth:1.5,"aria-hidden":!0})}),y&&(0,o.jsx)(`span`,{className:`flex shrink-0 items-center ${X} ${Oe}`,children:y}),(0,o.jsx)(e.ChevronDown,{className:`shrink-0 transition-transform ${ke} ${Q} ${k?`rotate-180`:``}`,strokeWidth:1.5,"aria-hidden":!0})]}):(0,o.jsxs)(`button`,{ref:e=>{K.setReference(e),typeof O==`function`?O(e):O&&(O.current=e)},id:C,type:`button`,disabled:h,"aria-haspopup":`listbox`,"aria-expanded":k,"aria-controls":k?L:void 0,"aria-activedescendant":z,"data-testid":le,...ge({onKeyDown:xe}),className:`${Ae} flex w-full items-center ${De} ${h?`cursor-not-allowed`:`cursor-pointer`} ${se}`.trim().replace(/\s+/g,` `),children:[(0,o.jsx)(`span`,{className:`flex-1 truncate text-left ${$} ${je}`,children:Te}),g&&(0,o.jsx)(`span`,{className:`shrink-0 whitespace-nowrap ${$} ${Q}`,children:g}),_&&(0,o.jsx)(`span`,{className:`flex shrink-0 items-center ${Q} ${X}`,children:_}),v&&!h&&Y&&(0,o.jsx)(`span`,{role:`button`,tabIndex:-1,onClick:be,"aria-label":`선택 지우기`,className:`flex shrink-0 cursor-pointer items-center ${Q} hover:text-text-primary`,children:(0,o.jsx)(t.CircleX,{className:Z,strokeWidth:1.5,"aria-hidden":!0})}),y&&(0,o.jsx)(`span`,{className:`flex shrink-0 items-center ${X} ${Oe}`,children:y}),(0,o.jsx)(e.ChevronDown,{className:`shrink-0 transition-transform ${ke} ${Q} ${k?`rotate-180`:``}`,strokeWidth:1.5,"aria-hidden":!0})]}),w&&(0,o.jsx)(`input`,{type:`hidden`,name:w,value:l}),k&&(0,o.jsx)(s.FloatingPortal,{children:(0,o.jsx)(s.FloatingFocusManager,{context:q,modal:!1,initialFocus:b?-1:0,children:(0,o.jsx)(`div`,{ref:K.setFloating,id:L,style:he,..._e(),className:`z-9999 overflow-hidden rounded-lg border border-border-tertiary bg-bg-white shadow-lg dark:border-border-secondary dark:bg-neutral-800 ${ce}`,children:(0,o.jsxs)(`div`,{ref:pe,className:`max-h-72 overflow-y-auto py-1`,children:[G.length===0?(0,o.jsx)(`div`,{className:`px-3 py-4 text-center text-sm text-text-tertiary`,children:S?`검색 중...`:`옵션이 없어요`}):G.map((e,t)=>{let n=String(e.value)===l,r=j===t;return(0,o.jsxs)(`div`,{id:R(t),ref:e=>{ue.current[t]=e},role:`option`,"aria-selected":n,"aria-disabled":e.disabled||void 0,tabIndex:r?0:-1,...ve({onClick:()=>{e.disabled||J(String(e.value))},onKeyDown:t=>{e.disabled||(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),J(String(e.value)))}}),className:`flex cursor-pointer items-start gap-3 px-3 py-2 text-sm transition-colors ${e.disabled?`cursor-not-allowed text-text-disabled`:n?`font-medium text-primary-600 dark:text-primary-400 ${r?`bg-primary-50 dark:bg-primary-900/30`:`hover:bg-primary-50/60 dark:hover:bg-primary-900/20`}`:r?`bg-neutral-100 text-text-primary dark:bg-neutral-700`:`text-text-primary hover:bg-neutral-50 dark:hover:bg-neutral-700`}`,children:[(0,o.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,o.jsx)(`div`,{className:`truncate`,children:e.label}),e.description&&(0,o.jsx)(`div`,{className:`mt-0.5 truncate text-xs text-text-tertiary`,children:e.description})]}),e.trailing&&(0,o.jsx)(`span`,{className:`shrink-0 text-xs text-text-tertiary`,children:e.trailing})]},String(e.value))}),T&&E&&(0,o.jsx)(`div`,{ref:fe,"aria-hidden":!0,className:`flex items-center justify-center px-3 py-3 text-text-tertiary`,children:S&&(0,o.jsx)(i.LoadingDots,{})})]})})})}),ne&&(0,o.jsx)(`div`,{className:r.getInputHelpClasses(m),children:ne})]})});exports.Select=c;
@@ -1 +0,0 @@
1
- let e=require("react/jsx-runtime");var t=({className:t=``})=>(0,e.jsxs)(`span`,{className:`inline-flex items-end gap-0.5 ${t}`,"aria-label":`로딩 중`,role:`status`,children:[(0,e.jsx)(`span`,{className:`block h-1 w-1 animate-pulse rounded-full bg-current`,style:{animationDelay:`0ms`}}),(0,e.jsx)(`span`,{className:`block h-1 w-1 animate-pulse rounded-full bg-current`,style:{animationDelay:`200ms`}}),(0,e.jsx)(`span`,{className:`block h-1 w-1 animate-pulse rounded-full bg-current`,style:{animationDelay:`400ms`}})]});exports.LoadingDots=t;
@@ -1 +0,0 @@
1
- const e=require("./utils.cjs.js");let t=require("react"),n=require("react/jsx-runtime");var r=(0,t.forwardRef)(({size:t=`medium`,label:r,className:i=``,disabled:a=!1,onCheckedChange:o,onChange:s,...c},l)=>(0,n.jsxs)(`label`,{className:`inline-flex items-center gap-2 ${a?`cursor-not-allowed`:`cursor-pointer`} ${i}`,children:[(0,n.jsxs)(`span`,{className:`relative inline-flex items-center`,children:[(0,n.jsx)(`input`,{ref:l,type:`checkbox`,className:`peer sr-only`,disabled:a,onChange:e=>{s?.(e),o?.(e.target.checked)},...c}),(0,n.jsx)(`span`,{"aria-hidden":!0,className:e.getSwitchTrackClasses(t,a)}),(0,n.jsx)(`span`,{"aria-hidden":!0,className:e.getSwitchThumbClasses(t)})]}),r&&(0,n.jsx)(`span`,{className:a?`text-sm text-text-disabled`:`text-sm text-text-primary`,children:r})]}));r.displayName=`Switch`,exports.Switch=r;
@@ -1 +0,0 @@
1
- var e={small:{track:`h-5 w-9`,thumb:`h-3.5 w-3.5`,translate:`peer-checked:translate-x-4`},medium:{track:`h-6 w-11`,thumb:`h-4.5 w-4.5`,translate:`peer-checked:translate-x-5`}};function t(t,n){let{track:r}=e[t];return n?[`relative inline-flex shrink-0 items-center rounded-full`,r,`bg-bg-disabled cursor-not-allowed`].join(` `):[`relative inline-flex shrink-0 items-center rounded-full cursor-pointer`,r,`bg-neutral-200 dark:bg-neutral-700`,`peer-checked:bg-primary-500`,`peer-focus-visible:ring-2 peer-focus-visible:ring-primary-300 peer-focus-visible:ring-offset-2 peer-focus-visible:ring-offset-bg-card`,`transition-colors duration-200 ease-out`].join(` `)}function n(t){let{thumb:n,translate:r}=e[t];return[`pointer-events-none absolute left-[3px] top-[3px] inline-block rounded-full bg-white shadow-sm`,n,r,`transition-transform duration-200 ease-out`].join(` `)}exports.getSwitchThumbClasses=n,exports.getSwitchTrackClasses=t;
@@ -1 +0,0 @@
1
- const e=require("../checkbox/Checkbox.cjs.js"),t=require("../../node_modules/lucide-react/dist/esm/icons/chevron-right.cjs.js"),n=require("../loading-spinner/LoadingSpinner.cjs.js"),r=require("../select/Select.cjs.js"),i=require("./components/SortableHeaderCell.cjs.js"),a=require("./hooks/useColumnResize.cjs.js"),o=require("./hooks/useFillEmptyRows.cjs.js"),ee=require("./hooks/useTableSort.cjs.js"),s=require("./utils.cjs.js"),c=require("./components/KeyboardNavButton.cjs.js"),l=require("./components/PageJumpInput.cjs.js"),te=require("./components/Pagination.cjs.js");let u=require("react"),d=require("react/jsx-runtime"),f=require("@dnd-kit/core"),p=require("@dnd-kit/sortable");var ne=[30,50,100],m=36,h=(0,u.forwardRef)((h,g)=>{let{data:_,columns:v,rowHeight:y,loading:re=!1,emptyMessage:ie=`데이터가 없어요`,onRowClick:ae,selectedRows:b=[],onRowSelect:x,enableRowSelection:S=!1,enableSelectAll:C=!1,rowCompare:w,enableSorting:T=!1,serverSideSorting:E=!1,onSortChange:oe,initialSort:se,variant:ce=`default`,size:le=`medium`,stickyHeader:D=!0,height:O,maxHeight:k,currentPage:A,totalPages:j,onPageChange:M,pageSize:N,pageSizeOptions:ue=ne,onPageSizeChange:P,totalElements:F,storageKey:de,columnState:I,fillEmptyRows:L=!0,enableKeyboardPagination:R=!0,expandable:z,className:B=``,"data-testid":V,...H}=h,U=!!z,W=z?.stickyDetail??!0,{sort:fe,sortedData:G}=ee.useTableSort({initialSort:se,serverSide:E,onSort:oe||void 0}),K=(0,u.useMemo)(()=>!T||E?_:G(_,(e,t)=>{let n=v.find(e=>e.key===t);if(n?.accessor){let r=n.accessor(e);return typeof r==`string`||typeof r==`number`?r:e[t]}return e[t]}),[_,T,E,fe,G,v]),q=(0,u.useRef)(null),J=(0,u.useRef)(null),Y=(0,u.useRef)(null),X=(0,u.useRef)(null),[pe,me]=(0,u.useState)(0),he=!!I,ge=(0,f.useSensors)((0,f.useSensor)(f.PointerSensor,{activationConstraint:{distance:5}}),(0,f.useSensor)(f.KeyboardSensor,{coordinateGetter:p.sortableKeyboardCoordinates})),_e=e=>{let{active:t,over:n}=e;if(!I||!n||t.id===n.id||v.find(e=>e.key===n.id)?.excludeFromPreset)return;let r=I.columnOrder,i=r.indexOf(String(t.id)),a=r.indexOf(String(n.id));i===-1||a===-1||I.onColumnOrderChange((0,p.arrayMove)(r,i,a))},Z=(0,u.useMemo)(()=>{if(!I)return v.filter(e=>!e.hidden);let e=new Map(v.map(e=>[e.key,e])),t=new Set(I.hiddenColumns);return I.columnOrder.map(t=>e.get(t)).filter(e=>!!e).filter(e=>!e.hidden&&!t.has(e.key))},[v,I]),{handleMouseDown:ve,handleDoubleClick:ye,getColumnWidth:Q,measureRef:be}=a.useColumnResize({columns:Z,data:K,getCellContent:(e,t)=>{let n=Z.find(e=>e.key===t);return n?.accessor?n.accessor(e):e[t]},tableRef:q,...I?{controlledWidths:I.columnWidths,onColumnWidthsChange:I.onColumnWidthsChange}:{storageKey:de}}),xe=s.getTableBaseClasses(),Se=s.getTableVariantClasses(ce),Ce=s.getTableSizeClasses(le),we=(0,u.useMemo)(()=>{let e={};return O&&(e.height=typeof O==`number`?`${O}px`:O),k&&(e.maxHeight=typeof k==`number`?`${k}px`:k),e},[O,k]),{emptyRowCount:Te,measuredRowHeight:Ee}=o.useFillEmptyRows({enabled:L,containerRef:J,theadRef:Y,tbodyRef:X,excludeRowsSelector:`tr:not([data-empty-row]):not([data-expanded-row])`,remainingMode:`tbody-height`,observeTbody:!0,deps:[K,Z]});(0,u.useLayoutEffect)(()=>{if(!W||!U)return;let e=J.current;if(!e)return;let t=()=>{me(t=>t===e.clientWidth?t:e.clientWidth)};t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[W,U]);let De=e=>{e.altKey||e.metaKey||e.ctrlKey||e.shiftKey||(e.key===`ArrowLeft`&&A>1?(e.preventDefault(),M(A-1)):e.key===`ArrowRight`&&A<j&&(e.preventDefault(),M(A+1)))},$=e=>!S||b.length===0?!1:w?b.some(t=>w(t,e)):b.some(t=>t===e),Oe=(0,u.useMemo)(()=>!S||!C||K.length===0?!1:K.every(e=>$(e)),[S,C,K,$]),ke=()=>{!S||!x||(Oe?K.forEach(e=>{$(e)&&x(e,!1)}):K.forEach(e=>{$(e)||x(e,!0)}))},Ae=(e,t)=>{let n=[s.getStripedRowClasses(t)];return $(e)&&n.push(s.getSelectedRowClasses()),(ae||U)&&n.push(s.getHoverableRowClasses()),n.join(` `)},je=!!P||F!==void 0||typeof j==`number`&&j>0,Me=e=>{z&&z.onToggle(z.getRowId(e))},Ne=(e,t)=>{U&&(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),Me(t))},Pe=(S&&C?1:0)+ +!!U+Z.length+1;return re?(0,d.jsx)(`div`,{ref:g,className:`flex items-center justify-center p-8 flex-1 ${B}`,style:we,"data-testid":V,...H,children:(0,d.jsx)(n.LoadingSpinner,{message:`데이터를 불러오는 중이에요...`,className:`min-h-0`})}):(0,d.jsxs)(`div`,{ref:g,className:`relative flex flex-col min-h-0 ${B}`,style:we,"data-testid":V,...H,children:[(0,d.jsx)(`div`,{ref:be,className:`absolute invisible whitespace-nowrap`,style:{top:`-9999px`,left:`-9999px`}}),(0,d.jsxs)(`div`,{className:`flex flex-1 flex-col min-h-0`,children:[(0,d.jsx)(`div`,{ref:J,className:`overflow-auto flex-1 bg-[#f9fafb] dark:bg-slate-900/50`,children:K.length===0?(0,d.jsx)(`div`,{className:`flex items-center justify-center p-8 h-full`,children:(0,d.jsx)(`p`,{className:`text-neutral-600 dark:text-neutral-400`,children:ie})}):(0,d.jsx)(f.DndContext,{sensors:ge,collisionDetection:f.closestCenter,onDragEnd:_e,children:(0,d.jsxs)(`table`,{ref:q,className:`${xe} ${Se} ${Ce}`,style:{tableLayout:`fixed`,minWidth:`100%`,width:`100%`},children:[(0,d.jsxs)(`colgroup`,{children:[S&&C&&(0,d.jsx)(`col`,{style:{width:`48px`}}),U&&(0,d.jsx)(`col`,{style:{width:`${m}px`}}),Z.map(e=>(0,d.jsx)(`col`,{"data-col-key":e.key,style:{width:Q(e.key,e.width)}},e.key)),(0,d.jsx)(`col`,{style:{width:`100%`}})]}),(0,d.jsx)(`thead`,{ref:Y,className:s.getTableHeaderClasses(),style:{position:D?`sticky`:`relative`,top:D?0:void 0,zIndex:D?10:void 0,backgroundColor:D?`white`:void 0},children:(0,d.jsxs)(`tr`,{children:[S&&C&&(0,d.jsx)(`th`,{className:`${s.getTableHeaderCellClasses()} ${s.getColumnAlignClasses(`center`)} border-r-0 w-12`,children:(0,d.jsx)(e.Checkbox.Circle,{id:`accordion-table-select-all`,size:20,checked:Oe,onCheckedChange:ke})}),U&&(0,d.jsx)(`th`,{"aria-hidden":`true`,className:`${s.getTableHeaderCellClasses()} border-r-0`,style:{width:`${m}px`}}),(0,d.jsx)(p.SortableContext,{items:Z.map(e=>e.key),strategy:p.horizontalListSortingStrategy,children:Z.map(e=>{let t=!he||e.excludeFromPreset===!0;return(0,d.jsxs)(i.SortableHeaderCell,{id:e.key,disabled:t,as:`th`,className:`${s.getTableHeaderCellClasses()} ${s.getColumnAlignClasses(`center`)} bg-white ${e.sticky?`sticky left-0 z-20 bg-white dark:bg-neutral-800`:``} ${e.hideOnMobile?`hidden md:table-cell`:``} relative`,style:{width:Q(e.key,e.width),minWidth:e.minWidth||50},children:[(0,d.jsx)(`div`,{className:`flex items-center justify-center w-full pr-1 select-none`,children:(0,d.jsx)(`span`,{children:e.header})}),e.excludeFromPreset!==!0&&(0,d.jsx)(`div`,{className:`absolute right-0 top-0 h-full w-4 cursor-col-resize hover:bg-primary-500/30 active:bg-primary-500/50 z-50`,onPointerDown:e=>e.stopPropagation(),onMouseDown:t=>{t.preventDefault(),t.stopPropagation(),ve(e.key,t)},onDoubleClick:t=>{t.preventDefault(),t.stopPropagation(),ye(e.key,t)},onClick:e=>{e.preventDefault(),e.stopPropagation()},style:{touchAction:`none`},title:`드래그하여 너비 조절, 더블 클릭하여 자동 조절`})]},e.key)})}),(0,d.jsx)(`th`,{"aria-hidden":`true`,className:`bg-white border-b border-l border-[#f2f3f5] dark:border-neutral-700 dark:bg-neutral-800`})]})}),(0,d.jsxs)(`tbody`,{ref:X,children:[K.map((n,r)=>{let i=$(n),a=z?z.getRowId(n):void 0,o=z?z.expandedIds.has(a):!1;return(0,d.jsxs)(u.Fragment,{children:[(0,d.jsxs)(`tr`,{className:Ae(n,r),onClick:e=>{let t=e.target;if(t!==e.currentTarget){let n=t.closest(`button, a, input, select, textarea, label`);if(n&&e.currentTarget.contains(n))return}ae?.(n,r),U&&Me(n)},onKeyDown:e=>Ne(e,n),tabIndex:U?0:void 0,role:U?`button`:void 0,"aria-expanded":U?o:void 0,style:y?{height:`${y}px`}:void 0,children:[S&&C&&(0,d.jsx)(`td`,{className:`${s.getTableCellClasses()} ${s.getColumnAlignClasses(`center`)} border-r-0 w-12`,onClick:e=>e.stopPropagation(),children:(0,d.jsx)(e.Checkbox.Circle,{size:20,checked:i,onCheckedChange:e=>x?.(n,e)})}),U&&(0,d.jsx)(`td`,{className:`${s.getTableCellClasses()} ${s.getColumnAlignClasses(`center`)} border-r-0`,style:{width:`${m}px`},children:(0,d.jsx)(t.ChevronRight,{"aria-hidden":`true`,className:`mx-auto h-4 w-4 text-neutral-500 transition-transform duration-200 ${o?`rotate-90`:``}`})}),Z.map((e,t)=>{let r=e.accessor?e.accessor(n):n[e.key],i=t===Z.length-1&&!S;return(0,d.jsx)(`td`,{className:`${s.getTableCellClasses()} ${s.getColumnAlignClasses(e.align)} ${i?`border-r-0`:``} ${e.sticky?`sticky left-0 z-10 bg-inherit`:``} ${e.hideOnMobile?`hidden md:table-cell`:``}`,style:{width:Q(e.key,e.width),minWidth:e.minWidth||50,...y?{height:`${y}px`,maxHeight:`${y}px`,overflow:`hidden`}:{}},children:r},e.key)}),(0,d.jsx)(`td`,{"aria-hidden":`true`,className:`border-b border-l border-[#f2f3f5] dark:border-neutral-700 bg-transparent`})]}),U&&(0,d.jsx)(`tr`,{"data-expanded-row":!0,className:`bg-[#f9fafb] dark:bg-slate-900/50`,children:(0,d.jsx)(`td`,{colSpan:Pe,className:`p-0 border-b border-[#f2f3f5] dark:border-neutral-700`,children:(0,d.jsx)(`div`,{className:W?`sticky left-0`:void 0,style:W&&pe>0?{width:`${pe}px`}:void 0,children:(0,d.jsx)(`div`,{className:`grid transition-[grid-template-rows,opacity] duration-200 ease-out`,style:{gridTemplateRows:o?`1fr`:`0fr`,opacity:+!!o},"aria-hidden":!o,children:(0,d.jsx)(`div`,{className:`overflow-hidden`,children:z.renderRow(n)})})})})})]},r)}),L&&Array.from({length:Te}).map((e,t)=>{let n=K.length+t,r=y??Ee??void 0;return(0,d.jsxs)(`tr`,{"data-empty-row":!0,"aria-hidden":`true`,className:s.getStripedRowClasses(n),style:r?{height:`${r}px`}:void 0,children:[S&&C&&(0,d.jsx)(`td`,{className:`${s.getTableCellClasses()} border-r-0 w-12`,style:r?{height:`${r}px`}:void 0}),U&&(0,d.jsx)(`td`,{className:`${s.getTableCellClasses()} border-r-0`,style:{width:`${m}px`,...r?{height:`${r}px`}:{}}}),Z.map((e,t)=>{let n=t===Z.length-1&&!S;return(0,d.jsx)(`td`,{className:`${s.getTableCellClasses()} ${n?`border-r-0`:``} ${e.hideOnMobile?`hidden md:table-cell`:``}`,style:{width:Q(e.key,e.width),minWidth:e.minWidth||50,...r?{height:`${r}px`}:{}}},e.key)}),(0,d.jsx)(`td`,{"aria-hidden":`true`,className:`border-b border-l border-[#f2f3f5] dark:border-neutral-700 bg-transparent`,style:r?{height:`${r}px`}:void 0})]},`empty-${t}`)})]})]})})}),je&&(0,d.jsxs)(`nav`,{"aria-label":`페이지 네비게이션`,className:`@container/pagebar group/footer flex flex-wrap items-center justify-between gap-x-3 gap-y-2 border-t border-neutral-200 px-4 py-2 shrink-0 dark:border-neutral-700`,children:[(0,d.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-2 text-sm text-neutral-600 dark:text-neutral-300`,children:[F!==void 0&&(0,d.jsxs)(`span`,{children:[`총 `,F.toLocaleString(),`건`]}),P&&N!==void 0&&(0,d.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,d.jsx)(`span`,{className:`text-neutral-500`,children:`페이지당`}),(0,d.jsx)(`div`,{className:`w-20`,children:(0,d.jsx)(r.Select,{variant:`box`,selectSize:`mini`,value:String(N),onChange:e=>P(Number(e)),options:ue.map(e=>({value:String(e),label:String(e)})),"data-testid":V?`${V}-page-size`:void 0})})]}),(0,d.jsx)(`div`,{className:`contents @min-[640px]/pagebar:hidden`,children:j!==void 0&&A!==void 0&&M&&j>1&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(l.PageJumpInput,{currentPage:A,totalPages:j,onPageChange:M,"data-testid":V?`${V}-page-jump`:void 0}),R&&(0,d.jsx)(c.KeyboardNavButton,{onKeyDown:De})]})})]}),(0,d.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,d.jsx)(`div`,{className:`hidden @min-[640px]/pagebar:contents`,children:j!==void 0&&A!==void 0&&M&&j>1&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(l.PageJumpInput,{currentPage:A,totalPages:j,onPageChange:M,"data-testid":V?`${V}-page-jump`:void 0}),R&&(0,d.jsx)(c.KeyboardNavButton,{onKeyDown:De})]})}),j!==void 0&&A!==void 0&&M&&(0,d.jsx)(te.Pagination,{currentPage:A,totalPages:j,onPageChange:M,hasPreviousPage:A>1,hasNextPage:A<j,"data-testid":V?`${V}-pagination`:void 0})]})]})]})]})});h.displayName=`AccordionTable`,exports.AccordionTable=h;
@@ -1 +0,0 @@
1
- const e=require("../../../_virtual/_rolldown/runtime.cjs.js"),t=require("../../../node_modules/lucide-react/dist/esm/icons/settings.cjs.js"),n=require("../../../hooks/useMediaQuery.cjs.js"),r=require("../../modal/Modal.cjs.js"),i=require("./ColumnSettingsTable.cjs.js");let a=require("react"),o=require("react/jsx-runtime"),s=require("motion/react"),c=require("@floating-ui/react"),l=require("react-hot-toast");l=e.__toESM(l,1);var u=500,d=12,f=5,p=[1,2,3];function m({columns:e,columnGroups:m,activePreset:h,columnOrder:g,hiddenColumns:_,columnWidths:v,isDirty:y,hasPreset:b,onApplyPreset:x,onSaveActivePreset:S,onResetActivePreset:C,onColumnOrderChange:w,onHiddenColumnsChange:T,onSetColumnWidth:E,className:D=``}){let O=e.filter(e=>!e.excludeFromPreset),k=new Set(e.filter(e=>e.excludeFromPreset).map(e=>e.key)),[A,j]=(0,a.useState)(!1),M=n.useIsMobile(),N=(0,a.useId)(),{refs:P,floatingStyles:F,context:I}=(0,c.useFloating)({open:!M&&A,onOpenChange:j,placement:`bottom-start`,whileElementsMounted:c.autoUpdate,middleware:[(0,c.offset)(f),(0,c.flip)(),(0,c.shift)({padding:d}),(0,c.size)({apply({availableWidth:e,elements:t}){let n=Math.min(u,e);Object.assign(t.floating.style,{width:`${n}px`,maxWidth:`${u}px`})}})]}),{getReferenceProps:L,getFloatingProps:R}=(0,c.useInteractions)([(0,c.useClick)(I),(0,c.useDismiss)(I),(0,c.useRole)(I,{role:`dialog`})]),z=e=>{h!==e&&(x(e),j(!1),l.default.success(`프리셋 ${e}을(를) 적용했어요.`))},B=e=>{let t=g.map((e,t)=>({key:e,index:t})).filter(({key:e})=>k.has(e)),n=[...e];t.sort((e,t)=>e.index-t.index).forEach(({key:e,index:t})=>{let r=Math.min(t,n.length);n.splice(r,0,e)}),w(n)},V=(e,t)=>{if(t)T(_.filter(t=>t!==e));else{if(g.length-k.size-_.filter(e=>!k.has(e)).length<=1){l.default.error(`최소 1개 이상의 컬럼은 표시되어야 해요.`);return}T([..._,e])}},H=()=>{if(!S()){l.default.error(`저장할 수 없는 상태예요.`);return}j(!1),l.default.success(`프리셋 ${h}에 저장했어요.`)},U=()=>{C(),j(!1),l.default.success(`프리셋 ${h}을(를) 초기화했어요.`)},W=g.filter(e=>!k.has(e)),G=_.filter(e=>!k.has(e));return(0,o.jsxs)(`div`,{className:`inline-flex ${D}`,children:[(0,o.jsxs)(`div`,{className:`inline-flex h-7.5 items-center gap-0 rounded-full bg-bg-base-secondary p-0.75 sm:h-8.5`,role:`group`,"aria-label":`컬럼 프리셋 선택`,children:[(0,o.jsxs)(`button`,{ref:P.setReference,...M?{type:`button`,onClick:()=>j(e=>!e),"aria-label":`테이블 프리셋 설정`,title:y?`저장하지 않은 변경이 있어요`:`테이블 프리셋 설정`,className:`relative ml-1 flex h-6 w-6 items-center justify-center rounded-full text-text-secondary transition-colors hover:text-text-primary sm:h-7 sm:w-7`}:L({type:`button`,"aria-label":`테이블 프리셋 설정`,title:y?`저장하지 않은 변경이 있어요`:`테이블 프리셋 설정`,className:`relative ml-1 flex h-6 w-6 items-center justify-center rounded-full text-text-secondary transition-colors hover:text-text-primary sm:h-7 sm:w-7`}),children:[(0,o.jsx)(t.Settings,{className:`h-3 w-3 sm:h-3.5 sm:w-3.5`}),y&&(0,o.jsx)(`span`,{"aria-hidden":`true`,className:`absolute top-0.5 right-0.5 h-1.5 w-1.5 rounded-full bg-brand-blue-secondary`})]}),(0,o.jsx)(`span`,{"aria-hidden":`true`,className:`ml-0.5 mr-1.5 h-4 w-px bg-bg-base-tertiary sm:h-4.5`}),p.map(e=>{let t=h===e;return(0,o.jsxs)(`button`,{type:`button`,onClick:()=>z(e),"aria-pressed":t,title:t?`현재 활성화된 프리셋이에요`:b(e)?`프리셋 ${e} 적용`:`프리셋 ${e} 기본값으로 초기화`,className:`relative inline-flex h-6 w-8 items-center justify-center rounded-full px-2.5 py-1 text-sm font-medium transition-colors sm:h-7 sm:w-20 ${t?`text-text-primary`:`text-text-secondary`}`,children:[t&&(0,o.jsx)(s.motion.span,{layoutId:`preset-active-${N}`,className:`absolute inset-0 rounded-full bg-white shadow-sm dark:bg-bg-base-tertiary`,transition:{type:`spring`,stiffness:500,damping:38}}),(0,o.jsxs)(`span`,{className:`relative`,children:[(0,o.jsx)(`span`,{className:`hidden sm:inline`,children:`프리셋`}),e]})]},e)})]}),!M&&A&&(0,o.jsx)(c.FloatingPortal,{children:(0,o.jsx)(`div`,{ref:P.setFloating,style:F,...R(),className:`z-50 overflow-hidden rounded-lg border-2 border-neutral-200 shadow-lg dark:border-neutral-700`,children:(0,o.jsx)(i.ColumnSettingsTable,{num:String(h),columns:O,columnGroups:m,columnOrder:W,hiddenColumns:G,columnWidths:v,onOrderChange:B,onHiddenChange:V,onSetColumnWidth:E,onSave:H,onReset:U})})}),M&&(0,o.jsx)(r.Modal,{isOpen:A,onClose:()=>j(!1),title:`프리셋 ${h} 설정`,children:(0,o.jsx)(i.ColumnSettingsTable,{num:String(h),columns:O,columnOrder:W,hiddenColumns:G,columnWidths:v,onOrderChange:B,onHiddenChange:V,onSetColumnWidth:E,onSave:H,onReset:U})})]})}exports.ColumnPresetSelector=m;
@@ -1,4 +0,0 @@
1
- const e=require("../../../node_modules/lucide-react/dist/esm/icons/grip-vertical.cjs.js"),t=require("../../../node_modules/lucide-react/dist/esm/icons/rotate-ccw.cjs.js"),n=require("../../../node_modules/lucide-react/dist/esm/icons/save.cjs.js"),r=require("../../table-checkbox/TableCheckbox.cjs.js"),i=require("../column-group-utils.cjs.js");let a=require("react"),o=require("react/jsx-runtime"),s=require("@dnd-kit/core"),c=require("@dnd-kit/sortable"),l=require("@dnd-kit/utilities");function u({slot:t,index:n,isHidden:i,width:a,onHiddenChange:s,onSetColumnWidth:u}){let{attributes:f,listeners:p,setNodeRef:m,transform:h,transition:g,isDragging:_}=(0,c.useSortable)({id:t.key}),v={transform:l.CSS.Transform.toString(h),transition:g,opacity:_?.5:1},y=typeof t.header==`string`?t.header:t.key,b=t.kind===`group`;return(0,o.jsxs)(`tr`,{ref:m,style:v,className:`
2
- border-b border-neutral-200 dark:border-neutral-700 transition-colors
3
- ${i?`bg-neutral-100 text-neutral-400 dark:bg-neutral-800 dark:text-neutral-500`:`bg-white text-neutral-900 hover:bg-neutral-50 dark:bg-neutral-800 dark:text-neutral-100 dark:hover:bg-neutral-700`}
4
- `,children:[(0,o.jsx)(`td`,{className:`w-10 px-2 py-2 text-center cursor-grab active:cursor-grabbing`,...f,...p,children:(0,o.jsx)(e.GripVertical,{size:16,className:`text-neutral-400 dark:text-neutral-500 mx-auto`})}),(0,o.jsxs)(`td`,{className:`px-2 py-2 text-sm whitespace-nowrap`,children:[y,b&&(0,o.jsxs)(`span`,{className:`ml-1.5 text-xs text-neutral-500 dark:text-neutral-400`,children:[`(그룹 · `,t.leafColumns.length,`개)`]})]}),(0,o.jsx)(`td`,{className:`w-14 px-2 py-2 text-center text-sm`,children:n+1}),(0,o.jsx)(`td`,{className:`w-20 px-2 py-2 text-center text-sm tabular-nums`,children:b?(0,o.jsx)(`span`,{className:`text-neutral-400 dark:text-neutral-500`,children:`—`}):u?(0,o.jsx)(d,{columnKey:t.key,width:a,onSetColumnWidth:u}):(0,o.jsx)(`span`,{className:`text-neutral-500 dark:text-neutral-400`,children:a?`${a}px`:`—`})}),(0,o.jsx)(`td`,{className:`w-14 px-2 py-2 text-center`,children:(0,o.jsx)(`div`,{className:`flex justify-center`,children:(0,o.jsx)(r.TableCheckbox,{checked:i,onChange:e=>s(t.key,!e),ariaLabel:`${y} 숨김`})})})]})}function d({columnKey:e,width:t,onSetColumnWidth:n}){let[r,i]=(0,a.useState)(t?String(t):``);return(0,a.useEffect)(()=>{i(t?String(t):``)},[t]),(0,o.jsx)(`input`,{type:`text`,inputMode:`numeric`,pattern:`[0-9]*`,value:r,placeholder:`auto`,onChange:e=>i(e.target.value.replace(/[^0-9]/g,``)),onBlur:()=>{if(r===``){n(e,0);return}let t=Number(r);if(!Number.isFinite(t)||t<=0){n(e,0),i(``);return}n(e,Math.max(20,Math.floor(t)))},onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),e.target.blur()):e.key===`Escape`&&(i(t?String(t):``),e.target.blur())},"aria-label":`${e} 컬럼 너비 (px)`,className:`w-16 rounded border border-neutral-300 bg-white px-1.5 py-0.5 text-center text-xs tabular-nums text-neutral-700 transition-colors hover:border-primary-300 focus:border-primary-500 focus:outline-hidden focus-visible:ring-2 focus-visible:ring-primary-200 dark:border-neutral-600 dark:bg-neutral-700 dark:text-neutral-100`})}function f({columns:e,columnGroups:r,columnOrder:a,hiddenColumns:l,columnWidths:d,num:f,onOrderChange:p,onHiddenChange:m,onSetColumnWidth:h,onSave:g,onReset:_}){let v=(0,s.useSensors)((0,s.useSensor)(s.PointerSensor,{activationConstraint:{distance:5}}),(0,s.useSensor)(s.KeyboardSensor,{coordinateGetter:c.sortableKeyboardCoordinates})),y=i.buildColumnSlots(e,r),b=new Map(y.map(e=>[e.key,e])),x=a.map(e=>b.get(e)).filter(e=>!!e);return(0,o.jsxs)(`div`,{className:`w-full overflow-y-auto bg-white dark:bg-neutral-800 text-neutral-900 dark:text-neutral-100`,style:{maxHeight:500},children:[(0,o.jsxs)(`div`,{className:`sticky top-0 bg-neutral-50 dark:bg-neutral-900 px-4 py-3 font-semibold z-10 border-b border-neutral-200 dark:border-neutral-700`,children:[(0,o.jsx)(`span`,{className:`text-base`,children:`컬럼 설정`}),(0,o.jsxs)(`span`,{className:`ml-2 text-sm text-neutral-500 dark:text-neutral-400`,children:[`프리셋 `,f]})]}),(0,o.jsx)(s.DndContext,{sensors:v,collisionDetection:s.closestCenter,onDragEnd:e=>{let{active:t,over:n}=e;if(!n||t.id===n.id)return;let r=a.indexOf(String(t.id)),i=a.indexOf(String(n.id));r===-1||i===-1||p((0,c.arrayMove)(a,r,i))},children:(0,o.jsxs)(`table`,{className:`w-full`,children:[(0,o.jsx)(`thead`,{className:`bg-neutral-50 dark:bg-neutral-900 sticky top-12 z-10`,children:(0,o.jsxs)(`tr`,{className:`border-y border-neutral-200 dark:border-neutral-700 font-bold`,children:[(0,o.jsx)(`th`,{className:`w-10 px-2 py-2`}),(0,o.jsx)(`th`,{className:`px-2 py-2 text-center text-sm font-medium text-neutral-700 dark:text-neutral-200 whitespace-nowrap`,children:`컬럼명`}),(0,o.jsx)(`th`,{className:`w-14 px-2 py-2 text-center text-sm font-medium text-neutral-700 dark:text-neutral-200`,children:`순서`}),(0,o.jsx)(`th`,{className:`w-20 px-2 py-2 text-center text-sm font-medium text-neutral-700 dark:text-neutral-200`,children:`너비`}),(0,o.jsx)(`th`,{className:`w-14 px-2 py-2 text-center text-sm font-medium text-neutral-700 dark:text-neutral-200`,children:`숨김`})]})}),(0,o.jsx)(`tbody`,{children:(0,o.jsx)(c.SortableContext,{items:a,strategy:c.verticalListSortingStrategy,children:x.map((e,t)=>(0,o.jsx)(u,{slot:e,index:t,isHidden:l.includes(e.key),width:d[e.key],onHiddenChange:m,onSetColumnWidth:h},e.key))})})]})}),(0,o.jsxs)(`div`,{className:`sticky bottom-0 bg-white dark:bg-neutral-800 border-t border-neutral-200 dark:border-neutral-700 px-4 py-3 flex justify-end gap-2 z-10`,children:[(0,o.jsxs)(`button`,{type:`button`,onClick:_,className:`px-3 py-1 border border-neutral-300 dark:border-neutral-600 text-neutral-700 dark:text-neutral-200 rounded text-sm hover:bg-neutral-50 dark:hover:bg-neutral-700 transition-colors flex items-center gap-1`,children:[(0,o.jsx)(t.RotateCcw,{size:12}),(0,o.jsx)(`span`,{className:`text-xs`,children:`초기화`})]}),(0,o.jsxs)(`button`,{type:`button`,onClick:g,className:`px-3 py-1 bg-primary-500 text-white rounded transition-colors flex items-center gap-1 hover:bg-primary-600`,children:[(0,o.jsx)(n.Save,{size:12}),(0,o.jsx)(`span`,{className:`text-xs`,children:`저장`})]})]})]})}exports.ColumnSettingsTable=f;
@@ -1 +0,0 @@
1
- const e=require("../../../node_modules/lucide-react/dist/esm/icons/keyboard.cjs.js");let t=require("react/jsx-runtime");function n({onKeyDown:n}){return(0,t.jsxs)(`button`,{type:`button`,onKeyDown:n,title:`키보드로 페이지 이동 (포커스 후 ← / → 키)`,"aria-label":`키보드로 페이지 이동 활성화`,className:`group/kbd inline-flex items-center gap-0 rounded border border-neutral-300 bg-white px-1.5 py-1 text-neutral-500 transition-[color,background-color,border-color,gap] duration-200 hover:border-primary-300 hover:text-primary-600 focus:gap-1.5 focus:border-primary-500 focus:bg-primary-50 focus:text-primary-700 focus:outline-hidden focus-visible:ring-2 focus-visible:ring-primary-200 dark:border-neutral-600 dark:bg-neutral-800 dark:text-neutral-400 dark:hover:border-primary-400 dark:focus:bg-primary-950/40 dark:focus:text-primary-300 pointer-coarse:hidden`,children:[(0,t.jsx)(e.Keyboard,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":`true`}),(0,t.jsx)(`span`,{className:`grid grid-cols-[0fr] overflow-hidden text-xs tabular-nums opacity-0 transition-[grid-template-columns,opacity] duration-200 group-focus/kbd:grid-cols-[1fr] group-focus/kbd:opacity-100`,children:(0,t.jsx)(`span`,{className:`min-w-0 whitespace-nowrap`,children:`← / → 키로 이동 중`})})]})}exports.KeyboardNavButton=n;
@@ -1 +0,0 @@
1
- let e=require("react"),t=require("react/jsx-runtime");function n({currentPage:n,totalPages:r,onPageChange:i,className:a=``,"data-testid":o}){let[s,c]=(0,e.useState)(``),l=e=>{let t=e.replace(/[^0-9]/g,``);if(t===``){c(``);return}let n=Number(t);if(n<=0){c(``);return}c(String(Math.min(r,n)))},u=()=>{if(s===``)return;let e=Number(s),t=Math.max(1,Math.min(r,Math.floor(e)));t!==n&&i(t),c(``)},d=e=>{e.key===`Enter`?(e.preventDefault(),u()):e.key===`Escape`&&(c(``),e.target.blur())},f=String(r).length,p=f<=2?`w-12`:f===3?`w-14`:`w-16`;return(0,t.jsxs)(`label`,{className:`flex items-center gap-1 text-sm text-neutral-600 dark:text-neutral-300 ${a}`,children:[(0,t.jsx)(`span`,{className:`text-neutral-500`,children:`이동`}),(0,t.jsx)(`input`,{type:`text`,inputMode:`numeric`,pattern:`[0-9]*`,maxLength:f,value:s,placeholder:String(n),onChange:e=>l(e.target.value),onKeyDown:d,onBlur:u,"aria-label":`페이지 번호 입력 (1-${r})`,"data-testid":o,className:`${p} rounded border border-neutral-300 bg-white px-2 py-0.5 text-center tabular-nums text-neutral-700 transition-colors hover:border-primary-300 focus:border-primary-500 focus:outline-hidden focus-visible:ring-2 focus-visible:ring-primary-200 dark:border-neutral-600 dark:bg-neutral-800 dark:text-neutral-200 dark:hover:border-primary-400`}),(0,t.jsxs)(`span`,{className:`text-neutral-500 tabular-nums`,children:[`/ `,r.toLocaleString()]})]})}exports.PageJumpInput=n;
@@ -1 +0,0 @@
1
- const e=require("../../../node_modules/lucide-react/dist/esm/icons/chevron-left.cjs.js"),t=require("../../../node_modules/lucide-react/dist/esm/icons/chevron-right.cjs.js"),n=require("../../../node_modules/lucide-react/dist/esm/icons/chevrons-left.cjs.js"),r=require("../../../node_modules/lucide-react/dist/esm/icons/chevrons-right.cjs.js");let i=require("react"),a=require("react/jsx-runtime");var o=[9,7,5,3,1],s=16,c=`px-0.5 text-xs text-text-tertiary font-mono @min-[640px]/pagebar:px-1 @min-[640px]/pagebar:text-sm`,l=`inline-flex h-7 min-w-6 items-center justify-center rounded-md px-1.5 font-mono text-xs tabular-nums transition-colors @min-[640px]/pagebar:h-8 @min-[640px]/pagebar:min-w-7 @min-[640px]/pagebar:px-2 @min-[640px]/pagebar:text-sm`,u=`text-text-disabled hover:bg-bg-base-secondary hover:text-text-secondary`,d=`font-bold text-text-secondary`,f=`outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary-500`,p=`disabled:cursor-not-allowed disabled:opacity-30 disabled:hover:bg-transparent disabled:hover:text-text-tertiary`;function m({active:e=!1,className:t=``,children:n,...r}){return(0,a.jsx)(`button`,{type:`button`,"aria-current":e?`page`:void 0,className:`${l} ${e?d:u} ${f} ${p} ${t}`,...r,children:n})}function h(e,t,n){let r=Math.floor(n/2),i=Math.max(1,e-r),a=Math.min(t,i+n-1);a-i<n-1&&(i=Math.max(1,a-n+1));let o=[];for(let e=i;e<=a;e++)o.push(e);return o}function g(e,t){let n=t<=28?4:8,r=t<=28,i=r?24:28,a=r?7:8;return e.reduce((e,t)=>{let n=String(t).length;return e+Math.max(i,i+(n-1)*a)},0)+n*Math.max(0,e.length-1)+s*2+24}function _(e,t,n,r,i,a){let s=e-r,c=o.filter(e=>e<=a);for(let e of c)if(g(h(t,n,e),i)<=s)return e;return 1}function v({currentPage:e,totalPages:t,pages:n,onPageChange:r,testId:i}){if(n.length===0)return null;let o=n[0]>1,s=n[n.length-1]<t;return(0,a.jsxs)(a.Fragment,{children:[o&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(m,{active:e===1,onClick:()=>r(1),"data-testid":i?`${i}-page-1`:void 0,children:`1`}),n[0]>2&&(0,a.jsx)(`span`,{className:c,children:`…`})]}),n.map(t=>(0,a.jsx)(m,{active:e===t,onClick:()=>r(t),"data-testid":i?`${i}-page-${t}`:void 0,children:t},t)),s&&(0,a.jsxs)(a.Fragment,{children:[n[n.length-1]<t-1&&(0,a.jsx)(`span`,{className:c,children:`…`}),(0,a.jsx)(m,{active:e===t,onClick:()=>r(t),"data-testid":i?`${i}-page-${t}`:void 0,children:t})]})]})}function y({currentPage:o,totalPages:s,onPageChange:c,hasPreviousPage:l,hasNextPage:u,maxPageButtons:d=9,className:f=``,"data-testid":p,...g}){let y=(0,i.useRef)(null),[b,x]=(0,i.useState)(d);if((0,i.useLayoutEffect)(()=>{let e=y.current;if(!e)return;let t=e.parentElement;if(!t)return;let n=()=>{let e=t.offsetWidth,n=e<640,r=n?28:32,i=n?4:8,a=_(e,o,s,r*4+i*5,r,d);x(e=>e===a?e:a)};n();let r=new ResizeObserver(n);return r.observe(t),()=>r.disconnect()},[o,s,d]),s<1)return null;if(s===1)return(0,a.jsx)(`div`,{ref:y,className:`flex items-center justify-center gap-1 sm:gap-2 ${f}`,"data-testid":p,...g,children:(0,a.jsx)(m,{active:!0,disabled:!0,"data-testid":p?`${p}-page-1`:void 0,children:`1`})});let S=h(o,s,b);return(0,a.jsxs)(`div`,{ref:y,className:`flex items-center justify-center gap-1 sm:gap-2 ${f}`,"data-testid":p,...g,children:[(0,a.jsx)(m,{disabled:o===1,onClick:()=>c(1),"data-testid":p?`${p}-first`:void 0,"aria-label":`첫 페이지`,children:(0,a.jsx)(n.ChevronsLeft,{className:`h-3.5 w-3.5`,"aria-hidden":`true`})}),(0,a.jsx)(m,{disabled:l===!1||o===1,onClick:()=>c(o-1),"data-testid":p?`${p}-prev`:void 0,"aria-label":`이전 페이지`,children:(0,a.jsx)(e.ChevronLeft,{className:`h-3.5 w-3.5`,"aria-hidden":`true`})}),(0,a.jsx)(v,{currentPage:o,totalPages:s,pages:S,onPageChange:c,testId:p}),(0,a.jsx)(m,{disabled:u===!1||o===s,onClick:()=>c(o+1),"data-testid":p?`${p}-next`:void 0,"aria-label":`다음 페이지`,children:(0,a.jsx)(t.ChevronRight,{className:`h-3.5 w-3.5`,"aria-hidden":`true`})}),(0,a.jsx)(m,{disabled:o===s,onClick:()=>c(s),"data-testid":p?`${p}-last`:void 0,"aria-label":`마지막 페이지`,children:(0,a.jsx)(r.ChevronsRight,{className:`h-3.5 w-3.5`,"aria-hidden":`true`})})]})}exports.Pagination=y;
@@ -1 +0,0 @@
1
- const e=require("../../select/Select.cjs.js"),t=require("./KeyboardNavButton.cjs.js"),n=require("./PageJumpInput.cjs.js"),r=require("./Pagination.cjs.js");let i=require("react/jsx-runtime");var a=[30,50,100];function o({currentPage:o,totalPages:s,onPageChange:c,pageSize:l,pageSizeOptions:u=a,onPageSizeChange:d,hasPreviousPage:f,hasNextPage:p,totalElements:m,showTotalCount:h=!0,enablePageJump:g=!0,enableKeyboardPagination:_=!0,"data-testid":v}){let y=f??o>1,b=p??o<s,x=e=>{_&&(e.altKey||e.metaKey||e.ctrlKey||e.shiftKey||(e.key===`ArrowLeft`&&y?(e.preventDefault(),c(o-1)):e.key===`ArrowRight`&&b&&(e.preventDefault(),c(o+1))))};return(0,i.jsxs)(`nav`,{"aria-label":`페이지 네비게이션`,className:`@container/pagebar group/footer flex flex-wrap items-center justify-between gap-x-3 gap-y-2 shrink-0`,children:[(0,i.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-2 text-sm text-neutral-600 dark:text-neutral-300`,children:[h&&m!==void 0&&(0,i.jsxs)(`span`,{children:[`총 `,m.toLocaleString(),`건`]}),d&&l!==void 0&&(0,i.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,i.jsx)(`span`,{className:`text-neutral-500`,children:`페이지당`}),(0,i.jsx)(`div`,{className:`w-20`,children:(0,i.jsx)(e.Select,{variant:`box`,selectSize:`mini`,value:String(l),onChange:e=>d(Number(e)),options:u.map(e=>({value:String(e),label:String(e)})),placeholder:`선택`,"data-testid":v?`${v}-page-size`:void 0})})]}),(0,i.jsx)(`div`,{className:`contents @min-[640px]/pagebar:hidden`,children:g&&s>1&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.PageJumpInput,{currentPage:o,totalPages:s,onPageChange:c,"data-testid":v?`${v}-page-jump`:void 0}),_&&(0,i.jsx)(t.KeyboardNavButton,{onKeyDown:x})]})})]}),(0,i.jsxs)(`div`,{className:`flex items-center gap-3 @min-[640px]/pagebar:flex-1 @min-[640px]/pagebar:justify-end @max-[639px]/pagebar:w-full @max-[639px]/pagebar:justify-center`,children:[(0,i.jsx)(`div`,{className:`hidden @min-[640px]/pagebar:contents`,children:g&&s>1&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.PageJumpInput,{currentPage:o,totalPages:s,onPageChange:c,"data-testid":v?`${v}-page-jump`:void 0}),_&&(0,i.jsx)(t.KeyboardNavButton,{onKeyDown:x})]})}),(0,i.jsx)(r.Pagination,{currentPage:o,totalPages:s,onPageChange:c,hasPreviousPage:y,hasNextPage:b,"data-testid":v?`${v}-pagination`:void 0})]})]})}exports.PaginationFooter=o;
@@ -1 +0,0 @@
1
- let e=require("react/jsx-runtime"),t=require("@dnd-kit/sortable"),n=require("@dnd-kit/utilities");function r({id:r,disabled:i=!1,as:a=`div`,colSpan:o,rowSpan:s,className:c,style:l,children:u}){let{setNodeRef:d,attributes:f,listeners:p,transform:m,transition:h,isDragging:g}=(0,t.useSortable)({id:r,disabled:i});return(0,e.jsx)(a,{ref:d,className:c,style:{...l,transform:n.CSS.Translate.toString(m),transition:h,opacity:g?.5:1,cursor:i?void 0:`grab`},...a===`th`?{...o===void 0?{}:{colSpan:o},...s===void 0?{}:{rowSpan:s}}:{},...i?{}:f,...i?{}:p,children:u})}exports.SortableHeaderCell=r;
@@ -1 +0,0 @@
1
- const e=require("../column-group-utils.cjs.js"),t=require("../../../lib/column-preset-storage.cjs.js");let n=require("react");function r(e,t){let n=new Set(t),r=new Set(e),i=e.filter(e=>n.has(e)),a=t.filter(e=>!r.has(e)),o=[...i,...a];if(o.length===e.length){let t=!0;for(let n=0;n<o.length;n++)if(o[n]!==e[n]){t=!1;break}if(t)return e}return o}function i(e,t){return!e||e.columnOrder.length===0?{columnOrder:t,hiddenColumns:[],columnWidths:e?.columnWidths??{}}:{columnOrder:r(e.columnOrder,t),hiddenColumns:e.hiddenColumns??[],columnWidths:e.columnWidths??{}}}function a(e,t){if(e.columnOrder.length!==t.columnOrder.length)return!1;for(let n=0;n<e.columnOrder.length;n++)if(e.columnOrder[n]!==t.columnOrder[n])return!1;if(e.hiddenColumns.length!==t.hiddenColumns.length)return!1;let n=new Set(t.hiddenColumns);for(let t of e.hiddenColumns)if(!n.has(t))return!1;let r=Object.keys(e.columnWidths),i=Object.keys(t.columnWidths);if(r.length!==i.length)return!1;for(let n of r)if(e.columnWidths[n]!==t.columnWidths[n])return!1;return!0}function o({pageKey:o,columns:s,columnGroups:c,legacyStorageKey:l}){let u=(0,n.useMemo)(()=>e.getDefaultSlotOrder(e.buildColumnSlots(s,c)),[s,c]),[d,f]=(0,n.useState)(1),[p,m]=(0,n.useState)(u),[h,g]=(0,n.useState)([]),[_,v]=(0,n.useState)({}),[y,b]=(0,n.useState)({columnOrder:u,hiddenColumns:[],columnWidths:{}}),x=(0,n.useCallback)(e=>{b(e),m(e.columnOrder),g(e.hiddenColumns),v(e.columnWidths)},[]),S=(0,n.useRef)(void 0),C=(0,n.useRef)(l);return C.current=l,(0,n.useEffect)(()=>{if(!o){S.current=o,f(1),x({columnOrder:u,hiddenColumns:[],columnWidths:{}});return}let e=S.current!==o;if(S.current=o,e){let e=C.current;e&&t.ColumnPresetStorage.migrateFromLegacyStorage(o,e);let n=t.ColumnPresetStorage.getActivePreset(o),r=i(t.ColumnPresetStorage.getPresetColumns(o,n),u);f(n),x(r);return}m(e=>r(e,u)),b(e=>{let t=r(e.columnOrder,u);return t===e.columnOrder?e:{...e,columnOrder:t}})},[x,u,o]),{activePreset:d,columnOrder:p,hiddenColumns:h,columnWidths:_,isDirty:(0,n.useMemo)(()=>!a({columnOrder:p,hiddenColumns:h,columnWidths:_},y),[p,h,_,y]),hasPreset:(0,n.useCallback)(e=>o?t.ColumnPresetStorage.hasPreset(o,e):!1,[o]),applyPreset:(0,n.useCallback)(e=>{if(f(e),!o){x({columnOrder:u,hiddenColumns:[],columnWidths:{}});return}t.ColumnPresetStorage.setActivePreset(o,e),x(i(t.ColumnPresetStorage.getPresetColumns(o,e),u))},[x,u,o]),saveActivePreset:(0,n.useCallback)(()=>!o||p.length===0?!1:(t.ColumnPresetStorage.savePreset(o,d,{columnOrder:p,hiddenColumns:h,columnWidths:_}),b({columnOrder:p,hiddenColumns:h,columnWidths:_}),!0),[d,p,_,h,o]),saveAsPreset:(0,n.useCallback)(e=>o?p.length===0?!1:(t.ColumnPresetStorage.savePreset(o,e,{columnOrder:p,hiddenColumns:h,columnWidths:_}),t.ColumnPresetStorage.setActivePreset(o,e),f(e),b({columnOrder:p,hiddenColumns:h,columnWidths:_}),!0):(f(e),!1),[p,_,h,o]),resetActivePreset:(0,n.useCallback)(()=>{o&&t.ColumnPresetStorage.clearPreset(o,d),x({columnOrder:u,hiddenColumns:[],columnWidths:{}})},[d,x,u,o]),setColumnOrder:(0,n.useCallback)(e=>{m(e)},[]),setHiddenColumns:(0,n.useCallback)(e=>{g(e)},[]),setColumnWidths:(0,n.useCallback)(e=>{v(e)},[]),setColumnWidth:(0,n.useCallback)((e,t)=>{v(n=>{let r={...n};return t>0?r[e]=t:delete r[e],r})},[])}}exports.useColumnPresets=o;
@@ -1 +0,0 @@
1
- let e=require("react");function t({columns:t,defaultWidth:n=150,minWidth:r=50,maxWidth:i,tableRef:a,storageKey:o,controlledWidths:s,onColumnWidthsChange:c}){let l=s!==void 0,u=(0,e.useCallback)(()=>{if(l||!o)return{};try{let e=localStorage.getItem(o);if(e){let t=JSON.parse(e),n={};return Object.entries(t).forEach(([e,t])=>{typeof t==`number`&&t>=r&&(n[e]=t)}),n}}catch(e){console.warn(`[ColumnResize] Failed to load saved widths:`,e)}return{}},[l,o,r]),[d,f]=(0,e.useState)(()=>u()),p=l?s:d,m=(0,e.useCallback)(e=>{if(l){let t=typeof e==`function`?e(p):e;c?.(t);return}f(e)},[p,l,c]);(0,e.useEffect)(()=>{if(!l&&!(!o||Object.keys(d).length===0))try{localStorage.setItem(o,JSON.stringify(d))}catch(e){console.warn(`[ColumnResize] Failed to save widths:`,e)}},[d,l,o]);let h=(0,e.useRef)(null),g=(0,e.useRef)(null),_=(0,e.useCallback)(e=>{if(typeof e==`string`)return e;if(typeof e==`number`)return String(e);if(e==null)return``;if(Array.isArray(e))return e.map(e=>_(e)).join(``);if(typeof e==`object`&&`props`in e){let t=e.props;if(t?.children)return _(t.children)}return``},[]),v=(0,e.useCallback)(e=>{if(!g.current)return n;let i=t.find(t=>t.key===e)?.header,a=typeof i==`string`?i:_(i);g.current.textContent=a||e,g.current.style.fontSize=`14px`,g.current.style.fontWeight=`600`,g.current.style.padding=`0 24px`;let o=g.current.offsetWidth;return Math.max(r,o+20)},[t,_,n,r]);return{columnWidths:p,handleMouseDown:(0,e.useCallback)((e,t)=>{t.preventDefault(),t.stopPropagation();let o=p[e]||n;h.current={key:e,startX:t.clientX,startWidth:o};let s=a?.current?.querySelector(`colgroup col[data-col-key="${CSS.escape(e)}"]`)??null,c=a?.current??null,l=(c?parseFloat(c.style.width)||c.offsetWidth:0)-o,u=c?.parentElement?.clientWidth||1/0,d=Math.min(i??1/0,u),f=o,g=null,_=e=>{if(!h.current)return;let t=e.clientX-h.current.startX,n=Math.max(r,h.current.startWidth+t);f=Math.max(r,Math.min(n,d)),g===null&&(g=requestAnimationFrame(()=>{g=null,s&&(s.style.width=`${f}px`),c&&(c.style.width=`${l+f}px`)}))},v=()=>{g!==null&&cancelAnimationFrame(g);let e=h.current?.key;h.current=null,document.removeEventListener(`mousemove`,_),document.removeEventListener(`mouseup`,v),e&&m(t=>({...t,[e]:f}))};document.addEventListener(`mousemove`,_),document.addEventListener(`mouseup`,v)},[p,n,r,i,a,m]),handleDoubleClick:(0,e.useCallback)(()=>{},[]),getColumnWidth:(0,e.useCallback)((e,t)=>p[e]?`${p[e]}px`:t?typeof t==`number`?`${t}px`:t:`${v(e)}px`,[p,v]),measureRef:g}}exports.useColumnResize=t;
@@ -1 +0,0 @@
1
- let e=require("react");function t({enabled:t,containerRef:n,theadRef:r,tbodyRef:i,excludeRowsSelector:a,remainingMode:o,observeTbody:s=!1,deps:c=[]}){let[l,u]=(0,e.useState)(0),[d,f]=(0,e.useState)(null);return(0,e.useLayoutEffect)(()=>{if(!t){u(e=>e===0?e:0);return}let e=n.current,c=r.current,l=i.current;if(!e||!c||!l)return;let d=()=>{let t=e.clientHeight,n=c.offsetHeight,r=l.querySelectorAll(a);if(r.length===0){u(0),f(null);return}let i=0;r.forEach(e=>{i+=e.offsetHeight});let s=i/r.length;if(s<=0)return;f(e=>e===s?e:s);let d=o===`tbody-height`?l.offsetHeight:i,p=t-n-d,m=p>0?Math.floor(p/s):0;u(e=>e===m?e:m)};d();let p=null,m=new ResizeObserver(()=>{p===null&&(p=requestAnimationFrame(()=>{p=null,d()}))});return m.observe(e),s&&m.observe(l),()=>{m.disconnect(),p!==null&&cancelAnimationFrame(p)}},[t,a,o,s,...c]),{emptyRowCount:l,measuredRowHeight:d}}exports.useFillEmptyRows=t;
@@ -1,49 +0,0 @@
1
- import { useLayoutEffect as e, useState as t } from "react";
2
- //#region src/components/table/hooks/useFillEmptyRows.ts
3
- function n({ enabled: n, containerRef: r, theadRef: i, tbodyRef: a, excludeRowsSelector: o, remainingMode: s, observeTbody: c = !1, deps: l = [] }) {
4
- let [u, d] = t(0), [f, p] = t(null);
5
- return e(() => {
6
- if (!n) {
7
- d((e) => e === 0 ? e : 0);
8
- return;
9
- }
10
- let e = r.current, t = i.current, l = a.current;
11
- if (!e || !t || !l) return;
12
- let u = () => {
13
- let n = e.clientHeight, r = t.offsetHeight, i = l.querySelectorAll(o);
14
- if (i.length === 0) {
15
- d(0), p(null);
16
- return;
17
- }
18
- let a = 0;
19
- i.forEach((e) => {
20
- a += e.offsetHeight;
21
- });
22
- let c = a / i.length;
23
- if (c <= 0) return;
24
- p((e) => e === c ? e : c);
25
- let u = s === "tbody-height" ? l.offsetHeight : a, f = n - r - u, m = f > 0 ? Math.floor(f / c) : 0;
26
- d((e) => e === m ? e : m);
27
- };
28
- u();
29
- let f = null, m = new ResizeObserver(() => {
30
- f === null && (f = requestAnimationFrame(() => {
31
- f = null, u();
32
- }));
33
- });
34
- return m.observe(e), c && m.observe(l), () => {
35
- m.disconnect(), f !== null && cancelAnimationFrame(f);
36
- };
37
- }, [
38
- n,
39
- o,
40
- s,
41
- c,
42
- ...l
43
- ]), {
44
- emptyRowCount: u,
45
- measuredRowHeight: f
46
- };
47
- }
48
- //#endregion
49
- export { n as useFillEmptyRows };
@@ -1 +0,0 @@
1
- let e=require("react");function t({fetchNextPage:t,hasNextPage:n,isFetchingNextPage:r,scrollElement:i,threshold:a=80,enabled:o=!0}){let s=(0,e.useRef)(null),c=(0,e.useRef)(null),l=(0,e.useCallback)(e=>{let[i]=e;i.isIntersecting&&n&&!r&&o&&t()},[n,r,t,o]);return(0,e.useEffect)(()=>{if(!o)return;s.current=new IntersectionObserver(l,{root:i||null,rootMargin:`100px`,threshold:0});let e=c.current;return e&&s.current&&s.current.observe(e),()=>{s.current&&e&&s.current.unobserve(e)}},[l,i,a,o]),{sentinelRef:c}}exports.useInfiniteScroll=t;
@@ -1,32 +0,0 @@
1
- import { useCallback as e, useEffect as t, useRef as n } from "react";
2
- //#region src/components/table/hooks/useInfiniteScroll.ts
3
- function r({ fetchNextPage: r, hasNextPage: i, isFetchingNextPage: a, scrollElement: o, threshold: s = 80, enabled: c = !0 }) {
4
- let l = n(null), u = n(null), d = e((e) => {
5
- let [t] = e;
6
- t.isIntersecting && i && !a && c && r();
7
- }, [
8
- i,
9
- a,
10
- r,
11
- c
12
- ]);
13
- return t(() => {
14
- if (!c) return;
15
- l.current = new IntersectionObserver(d, {
16
- root: o || null,
17
- rootMargin: "100px",
18
- threshold: 0
19
- });
20
- let e = u.current;
21
- return e && l.current && l.current.observe(e), () => {
22
- l.current && e && l.current.unobserve(e);
23
- };
24
- }, [
25
- d,
26
- o,
27
- s,
28
- c
29
- ]), { sentinelRef: u };
30
- }
31
- //#endregion
32
- export { r as useInfiniteScroll };
@@ -1 +0,0 @@
1
- const e=require("../components/ColumnPresetSelector.cjs.js"),t=require("./useColumnPresets.cjs.js");let n=require("react"),r=require("react/jsx-runtime");function i({pageKey:i,columns:a,columnGroups:o,showSelector:s=!0,selectorClassName:c}){let l=t.useColumnPresets({pageKey:i,columns:a,columnGroups:o});return{columnState:(0,n.useMemo)(()=>({columnOrder:l.columnOrder,hiddenColumns:l.hiddenColumns,columnWidths:l.columnWidths,onColumnOrderChange:l.setColumnOrder,onColumnWidthsChange:l.setColumnWidths}),[l.columnOrder,l.hiddenColumns,l.columnWidths,l.setColumnOrder,l.setColumnWidths]),selector:s&&i?(0,r.jsx)(e.ColumnPresetSelector,{columns:a,columnGroups:o,activePreset:l.activePreset,columnOrder:l.columnOrder,hiddenColumns:l.hiddenColumns,columnWidths:l.columnWidths,isDirty:l.isDirty,hasPreset:l.hasPreset,onApplyPreset:l.applyPreset,onSaveActivePreset:l.saveActivePreset,onResetActivePreset:l.resetActivePreset,onColumnOrderChange:l.setColumnOrder,onHiddenColumnsChange:l.setHiddenColumns,onSetColumnWidth:l.setColumnWidth,className:c}):null}}exports.useTableColumnState=i;
@@ -1 +0,0 @@
1
- let e=require("react");function t({rows:t,getRowId:n,isSelected:r,setSelected:i,enabled:a=!0,scrollContainerRef:o,edgeSize:s=60,maxSpeed:c=14}){let l=(0,e.useRef)(!1),u=(0,e.useRef)(!0),d=(0,e.useRef)(null),f=(0,e.useRef)(null),p=(0,e.useRef)(null),m=(0,e.useRef)(t);m.current=t;let h=(0,e.useRef)(n);h.current=n;let g=(0,e.useRef)(r);g.current=r;let _=(0,e.useRef)(i);_.current=i;let v=(0,e.useMemo)(()=>{let e=new Map;for(let r=0;r<t.length;r++)e.set(n(t[r]),r);return e},[t]),y=(0,e.useRef)(v);y.current=v;let b=(0,e.useCallback)(()=>{p.current!=null&&(cancelAnimationFrame(p.current),p.current=null),f.current=null},[]),x=(0,e.useCallback)(()=>{if(p.current=null,!l.current)return;let e=o?.current,t=f.current;if(!e||t==null)return;let n=e.getBoundingClientRect(),r=0;if(t<n.top+s){let e=(n.top+s-t)/s;r=-Math.ceil(c*Math.min(1,Math.max(0,e)))}else if(t>n.bottom-s){let e=(t-(n.bottom-s))/s;r=Math.ceil(c*Math.min(1,Math.max(0,e)))}r!==0&&(e.scrollTop+=r),p.current=requestAnimationFrame(x)},[s,c,o]);(0,e.useEffect)(()=>{if(!a)return;let e=()=>{l.current=!1,d.current=null,b()},t=e=>{l.current&&(f.current=e.clientY,p.current??=requestAnimationFrame(x))};return window.addEventListener(`mouseup`,e),window.addEventListener(`mousemove`,t),()=>{window.removeEventListener(`mouseup`,e),window.removeEventListener(`mousemove`,t),b()}},[a,b,x]);let S=e=>e==null?-1:y.current.get(e)??-1;return{onRowMouseDown:(0,e.useCallback)(e=>{if(!a)return;let t=m.current[e];t&&(l.current=!0,d.current=h.current(t),u.current=!g.current(t),_.current(t,u.current))},[a]),onRowMouseEnter:(0,e.useCallback)(e=>{if(!a||!l.current)return;let t=m.current,n=t[e];if(!n)return;let r=h.current(n);if(r===d.current)return;let i=S(d.current),o=i===-1?e:i,s=Math.min(o,e),c=Math.max(o,e);for(let e=s;e<=c;e++){let n=t[e];n&&g.current(n)!==u.current&&_.current(n,u.current)}d.current=r},[a])}}exports.useTableDragSelection=t;
@@ -1 +0,0 @@
1
- let e=require("react");function t({initialSort:t,serverSide:n=!1,onSort:r}={}){let[i,a]=(0,e.useState)(t||null);return{sort:i,handleSort:(0,e.useCallback)(e=>{let t={key:e,direction:i?.key===e?i.direction===`asc`?`desc`:i.direction===`desc`?null:`asc`:`asc`},o=t.direction===null?null:t;a(o),n&&r&&o&&r(o)},[i,n,r]),sortedData:(0,e.useCallback)((e,t)=>!i||!i.direction||n?e:[...e].sort((e,n)=>{let r=t(e,i.key),a=t(n,i.key);if(r==null&&a==null)return 0;if(r==null)return 1;if(a==null)return-1;if(typeof r==`number`&&typeof a==`number`)return i.direction===`asc`?r-a:a-r;let o=String(r),s=String(a),c=o.localeCompare(s,`ko`,{numeric:!0});return i.direction===`asc`?c:-c}),[i,n])}}exports.useTableSort=t;
@@ -1 +0,0 @@
1
- let e=require("react"),t=require("@tanstack/react-virtual");function n({count:n,estimateSize:r=50,overscan:i=5,scrollElement:a}){let o=(0,e.useRef)(null),s=(0,t.useVirtualizer)({count:n,getScrollElement:()=>a||o.current,estimateSize:()=>r,overscan:i,enabled:n>0});return(0,e.useMemo)(()=>({virtualizer:s,parentRef:o}),[s])}exports.useVirtualTable=n;
@@ -1 +0,0 @@
1
- const e=require("../loading-spinner/LoadingSpinner.cjs.js"),t=require("./hooks/useFillEmptyRows.cjs.js"),n=require("./utils.cjs.js");let r=require("react"),i=require("react/jsx-runtime");var a=(0,r.forwardRef)((a,o)=>{let{data:s,columns:c,loading:l=!1,isFetching:u=!1,emptyMessage:d=`데이터가 없어요`,rowHeight:f,height:p,variant:m=`default`,size:h=`medium`,fillEmptyRows:g=!0,onRowClick:_,footerSlot:v,getRowKey:y,className:b=``,"data-testid":x,...S}=a,C=(0,r.useRef)(null),w=(0,r.useRef)(null),T=(0,r.useRef)(null),E=(0,r.useRef)(null),D=(0,r.useMemo)(()=>c.filter(e=>!e.hidden),[c]),O=n.getTableBaseClasses(),k=n.getTableVariantClasses(m),A=n.getTableSizeClasses(h),j=(0,r.useMemo)(()=>{let e={};return p&&(e.height=typeof p==`number`?`${p}px`:p),e},[p]),{emptyRowCount:M,measuredRowHeight:N}=t.useFillEmptyRows({enabled:g,containerRef:w,theadRef:T,tbodyRef:E,excludeRowsSelector:`tr:not([data-empty-row])`,remainingMode:`sum-real-rows`,deps:[s,D]}),P=(e,t)=>{let r=[n.getStripedRowClasses(t)];return _&&r.push(n.getHoverableRowClasses()),r.join(` `)};return l?(0,i.jsx)(`div`,{ref:o,className:`flex items-center justify-center p-8 flex-1 ${b}`,style:j,"data-testid":x,...S,children:(0,i.jsx)(e.LoadingSpinner,{message:`데이터를 불러오는 중이에요...`,className:`min-h-0`})}):(0,i.jsx)(`div`,{ref:o,className:`relative flex flex-col min-h-0 gap-4 md:gap-5 xl:gap-6 ${b}`,style:j,"data-testid":x,...S,children:(0,i.jsxs)(`div`,{className:`flex flex-1 flex-col min-h-0 gap-4 md:gap-5 xl:gap-6`,children:[(0,i.jsxs)(`div`,{className:`relative flex flex-1 flex-col min-h-0`,children:[(0,i.jsx)(`div`,{className:`pointer-events-none absolute inset-0 z-30 flex items-center justify-center bg-white/50 backdrop-blur-[2px] transition-opacity duration-150 dark:bg-neutral-900/50 ${u?`opacity-100`:`opacity-0`}`,...u?{role:`status`,"aria-live":`polite`}:{"aria-hidden":!0},children:(0,i.jsx)(e.LoadingSpinner,{message:``,className:`min-h-0`})}),(0,i.jsx)(`div`,{ref:w,className:`scrollbar-table overflow-x-auto overflow-y-hidden flex-1 bg-bg-base-secondary`,children:s.length===0?(0,i.jsx)(`div`,{className:`flex items-center justify-center p-8 h-full`,children:(0,i.jsx)(`p`,{className:`text-neutral-600 dark:text-neutral-400`,children:d})}):(0,i.jsxs)(`table`,{ref:C,className:`${O} ${k} ${A} !table-auto`,style:{minWidth:`100%`},children:[(0,i.jsx)(`colgroup`,{children:D.map((e,t)=>{let n=t===D.length-1;return(0,i.jsx)(`col`,{"data-col-key":e.key,style:n?void 0:e.width?{width:typeof e.width==`number`?`${e.width}px`:e.width}:void 0},e.key)})}),(0,i.jsx)(`thead`,{ref:T,className:n.getTableHeaderClasses(),children:(0,i.jsx)(`tr`,{children:D.map(e=>(0,i.jsx)(`th`,{className:`${n.getTableHeaderCellClasses()} ${n.getColumnAlignClasses(e.align??`center`)} ${e.hideOnMobile?`hidden md:table-cell`:``}`,style:{...e.minWidth?{minWidth:`${e.minWidth}px`}:{minWidth:50}},children:(0,i.jsx)(`div`,{className:`flex items-center justify-center w-full px-1 select-none`,children:(0,i.jsx)(`span`,{children:e.header})})},e.key))})}),(0,i.jsxs)(`tbody`,{ref:E,children:[s.map((e,t)=>(0,i.jsx)(`tr`,{className:P(e,t),onClick:()=>_?.(e,t),style:f?{height:`${f}px`}:void 0,children:D.map(t=>{let r=t.accessor?t.accessor(e):e[t.key];return(0,i.jsx)(`td`,{className:`${n.getTableCellClassesNoTruncate()} ${n.getColumnAlignClasses(t.align??`left`)} ${t.hideOnMobile?`hidden md:table-cell`:``}`,style:f?{height:`${f}px`,maxHeight:`${f}px`}:void 0,children:r},t.key)})},y?y(e,t):t)),g&&Array.from({length:M}).map((e,t)=>{let r=s.length+t,a=f??N??void 0;return(0,i.jsx)(`tr`,{"data-empty-row":!0,"aria-hidden":`true`,className:n.getStripedRowClasses(r),style:a?{height:`${a}px`}:void 0,children:D.map(e=>(0,i.jsx)(`td`,{className:`${n.getTableCellClassesNoTruncate()} ${e.hideOnMobile?`hidden md:table-cell`:``}`,style:a?{height:`${a}px`}:void 0},e.key))},`empty-${t}`)})]})]})})]}),v]})})});a.displayName=`MiniTable`,exports.MiniTable=a;
@@ -1 +0,0 @@
1
- const e=require("./components/PaginationFooter.cjs.js"),t=require("./mini-table.cjs.js");let n=require("react"),r=require("react/jsx-runtime");var i=(0,n.forwardRef)((n,i)=>{let{currentPage:a,totalPages:o,onPageChange:s,pageSize:c,pageSizeOptions:l,onPageSizeChange:u,totalElements:d,hasPreviousPage:f,hasNextPage:p,showTotalCount:m=!1,enablePageJump:h=!1,enableKeyboardPagination:g=!1,"data-testid":_,...v}=n;return(0,r.jsx)(t.MiniTable,{ref:i,"data-testid":_,footerSlot:(0,r.jsx)(e.PaginationFooter,{currentPage:a,totalPages:o,onPageChange:s,pageSize:c,pageSizeOptions:l,onPageSizeChange:u,hasPreviousPage:f,hasNextPage:p,totalElements:d,showTotalCount:m,enablePageJump:h,enableKeyboardPagination:g,"data-testid":_}),...v})});i.displayName=`PaginatedMiniTable`,exports.PaginatedMiniTable=i;
@@ -1 +0,0 @@
1
- const e=require("./table.cjs.js"),t=require("./components/PaginationFooter.cjs.js");let n=require("react"),r=require("react/jsx-runtime");var i=(0,n.forwardRef)((n,i)=>{let{currentPage:a,totalPages:o,onPageChange:s,pageSize:c,pageSizeOptions:l,onPageSizeChange:u,totalElements:d,hasPreviousPage:f,hasNextPage:p,enableKeyboardPagination:m=!0,showTotalCount:h=!0,enablePageJump:g=!0,"data-testid":_,...v}=n;return(0,r.jsx)(e.Table,{ref:i,"data-testid":_,footerSlot:(0,r.jsx)(t.PaginationFooter,{currentPage:a,totalPages:o,onPageChange:s,pageSize:c,pageSizeOptions:l,onPageSizeChange:u,hasPreviousPage:f,hasNextPage:p,totalElements:d,showTotalCount:h,enablePageJump:g,enableKeyboardPagination:m,"data-testid":_}),...v})});i.displayName=`PaginatedTable`,exports.PaginatedTable=i;
@@ -1 +0,0 @@
1
- const e=require("../../node_modules/lucide-react/dist/esm/icons/grip-vertical.cjs.js"),t=require("../loading-spinner/LoadingSpinner.cjs.js"),n=require("../table-checkbox/TableCheckbox.cjs.js"),r=require("./column-group-utils.cjs.js"),i=require("./components/SortableHeaderCell.cjs.js"),a=require("./hooks/useColumnResize.cjs.js"),o=require("./hooks/useFillEmptyRows.cjs.js"),ee=require("./hooks/useTableDragSelection.cjs.js"),te=require("./hooks/useTableSort.cjs.js"),s=require("./utils.cjs.js");let c=require("react"),l=require("react/jsx-runtime"),u=require("@dnd-kit/core"),d=require("@dnd-kit/sortable");var ne=({transform:e,draggingNodeRect:t,containerNodeRect:n})=>{let r={...e,y:0};if(!t||!n)return r;let i=n.left-t.left,a=n.right-t.right;return r.x=Math.min(Math.max(r.x,i),a),r},f=(0,c.forwardRef)((f,p)=>{let{data:m,columns:h,columnGroups:g,rowHeight:_,loading:re=!1,isFetching:v=!1,emptyMessage:ie=`데이터가 없어요`,onRowClick:y,selectedRows:b=[],onRowSelect:x,enableRowSelection:S=!1,enableSelectAll:C=!1,rowCompare:w,getRowId:T,enableSorting:E=!1,serverSideSorting:D=!1,onSortChange:ae,initialSort:oe,variant:se=`default`,size:ce=`medium`,stickyHeader:O=!0,height:k,maxHeight:A,storageKey:le,columnState:j,fillEmptyRows:M=!0,totalElements:N,footerSlot:ue,className:P=``,"data-testid":F,...I}=f,{sort:de,sortedData:L}=te.useTableSort({initialSort:oe,serverSide:D,onSort:ae||void 0}),R=(0,c.useMemo)(()=>!E||D?m:L(m,(e,t)=>{let n=h.find(e=>e.key===t);if(n?.accessor){let r=n.accessor(e);return typeof r==`string`||typeof r==`number`?r:e[t]}return e[t]}),[m,E,D,de,L,h]),z=(0,c.useRef)(null),B=(0,c.useRef)(null),V=(0,c.useRef)(null),H=(0,c.useRef)(null),U=!!j,fe=(0,u.useSensors)((0,u.useSensor)(u.PointerSensor,{activationConstraint:{distance:5}}),(0,u.useSensor)(u.KeyboardSensor,{coordinateGetter:d.sortableKeyboardCoordinates})),W=(0,c.useMemo)(()=>r.buildColumnSlots(h,g),[h,g]),G=(0,c.useMemo)(()=>{if(!j)return W.filter(e=>!(e.kind===`column`&&e.leafColumns[0].hidden));let e=new Set(j.hiddenColumns);return r.applyColumnState(W,j.columnOrder,e)},[W,j]),K=(0,c.useMemo)(()=>r.flattenLeafColumns(G),[G]),q=(0,c.useMemo)(()=>r.hasGroupSlot(G),[G]),pe=(0,c.useMemo)(()=>new Map(W.map(e=>[e.key,e])),[W]),me=e=>{let{active:t,over:n}=e;if(!j||!n||t.id===n.id)return;let r=pe.get(String(n.id));if(r?.kind===`column`&&r.leafColumns[0].excludeFromPreset)return;let i=j.columnOrder,a=i.indexOf(String(t.id)),o=i.indexOf(String(n.id));a===-1||o===-1||j.onColumnOrderChange((0,d.arrayMove)(i,a,o))},{handleMouseDown:he,handleDoubleClick:ge,getColumnWidth:J,measureRef:_e}=a.useColumnResize({columns:K,data:R,getCellContent:(e,t)=>{let n=K.find(e=>e.key===t);return n?.accessor?n.accessor(e):e[t]},tableRef:z,...j?{controlledWidths:j.columnWidths,onColumnWidthsChange:j.onColumnWidthsChange}:{storageKey:le}}),ve=s.getTableBaseClasses(),ye=s.getTableVariantClasses(se),be=s.getTableSizeClasses(ce),Y=S&&C?48:0,xe=(0,c.useMemo)(()=>K.reduce((e,t)=>{let n=J(t.key,t.width),r=parseFloat(n);return e+(Number.isFinite(r)?r:0)},0)+Y,[K,J,Y]),X=(0,c.useMemo)(()=>{let e={};return k&&(e.height=typeof k==`number`?`${k}px`:k),A&&(e.maxHeight=typeof A==`number`?`${A}px`:A),e},[k,A]),{emptyRowCount:Se,measuredRowHeight:Ce}=o.useFillEmptyRows({enabled:M,containerRef:B,theadRef:V,tbodyRef:H,excludeRowsSelector:`tr:not([data-empty-row])`,remainingMode:`sum-real-rows`,deps:[R,K]}),Z=e=>!S||b.length===0?!1:w?b.some(t=>w(t,e)):b.some(t=>t===e),Q=(0,c.useMemo)(()=>!S||!C||R.length===0?!1:R.every(e=>Z(e)),[S,C,R,Z]),we=()=>{!S||!x||(Q?R.forEach(e=>{Z(e)&&x(e,!1)}):R.forEach(e=>{Z(e)||x(e,!0)}))},$=S&&!!x&&!!T,Te=ee.useTableDragSelection({rows:R,getRowId:T??(()=>-1),isSelected:e=>Z(e),setSelected:(e,t)=>x?.(e,t),enabled:$,scrollContainerRef:B}),Ee=(e,t)=>{let n=[s.getStripedRowClasses(t)];return Z(e)&&n.push(s.getSelectedRowClasses()),y&&n.push(s.getHoverableRowClasses()),n.join(` `)};return re?(0,l.jsx)(`div`,{ref:p,className:`flex items-center justify-center p-8 flex-1 ${P}`,style:X,"data-testid":F,...I,children:(0,l.jsx)(t.LoadingSpinner,{message:`데이터를 불러오는 중이에요...`,className:`min-h-0`})}):(0,l.jsxs)(`div`,{ref:p,className:`relative flex flex-col min-h-0 gap-4 md:gap-5 xl:gap-6 ${P}`,style:X,"data-testid":F,...I,children:[(0,l.jsx)(`div`,{ref:_e,className:`absolute invisible whitespace-nowrap`,style:{top:`-9999px`,left:`-9999px`}}),(0,l.jsxs)(`div`,{className:`flex flex-1 flex-col min-h-0 gap-4 md:gap-5 xl:gap-6`,children:[(0,l.jsxs)(`div`,{className:`relative flex flex-1 flex-col min-h-0`,children:[(0,l.jsx)(`div`,{className:`pointer-events-none absolute inset-0 z-30 flex items-center justify-center bg-white/50 backdrop-blur-[2px] transition-opacity duration-150 dark:bg-neutral-900/50 ${v?`opacity-100`:`opacity-0`}`,...v?{role:`status`,"aria-live":`polite`}:{"aria-hidden":!0},children:(0,l.jsx)(t.LoadingSpinner,{message:``,className:`min-h-0`})}),(0,l.jsx)(`div`,{ref:B,className:`scrollbar-table overflow-auto flex-1 bg-[#f9fafb] dark:bg-slate-900/50`,children:R.length===0?(0,l.jsx)(`div`,{className:`flex items-center justify-center p-8 h-full`,children:(0,l.jsx)(`p`,{className:`text-neutral-600 dark:text-neutral-400`,children:ie})}):(0,l.jsx)(u.DndContext,{sensors:fe,collisionDetection:u.closestCenter,onDragEnd:me,modifiers:[ne],children:(0,l.jsxs)(`table`,{ref:z,className:`${ve} ${ye} ${be}`,style:{tableLayout:`fixed`,minWidth:`100%`,width:`${xe}px`},children:[(0,l.jsxs)(`colgroup`,{children:[S&&C&&(0,l.jsx)(`col`,{style:{width:`48px`}}),K.map(e=>(0,l.jsx)(`col`,{"data-col-key":e.key,style:{width:J(e.key,e.width)}},e.key))]}),(0,l.jsxs)(`thead`,{ref:V,className:s.getTableHeaderClasses(),style:{position:O?`sticky`:`relative`,top:O?0:void 0,zIndex:O?10:void 0},children:[(0,l.jsxs)(`tr`,{children:[S&&C&&(0,l.jsx)(`th`,{rowSpan:q?2:1,className:`${s.getTableHeaderCellClasses()} ${s.getColumnAlignClasses(`center`)} w-12 px-0`,children:(0,l.jsx)(`div`,{className:`flex items-center justify-center`,children:(0,l.jsx)(n.TableCheckbox,{checked:Q,onChange:()=>we(),ariaLabel:`전체 선택`})})}),(0,l.jsx)(d.SortableContext,{items:G.map(e=>e.key),strategy:d.horizontalListSortingStrategy,children:G.map(t=>{if(t.kind===`group`)return(0,l.jsxs)(i.SortableHeaderCell,{id:t.key,disabled:!U,as:`th`,colSpan:t.leafColumns.length,className:`${s.getTableHeaderCellClasses()} ${s.getColumnAlignClasses(`center`)} group/header-cell ${t.hideOnMobile?`hidden md:table-cell`:``} relative`,children:[U&&(0,l.jsx)(`span`,{className:`absolute left-0.5 top-1/2 -translate-y-1/2 text-text-tertiary opacity-0 transition-opacity group-hover/header-cell:opacity-100`,"aria-hidden":`true`,children:(0,l.jsx)(e.GripVertical,{className:`h-3.5 w-3.5`})}),(0,l.jsx)(`div`,{className:`flex items-center justify-center w-full pr-1 pl-3 select-none`,children:(0,l.jsx)(`span`,{children:t.header})})]},t.key);let n=t.leafColumns[0],r=!U||n.excludeFromPreset===!0;return(0,l.jsxs)(i.SortableHeaderCell,{id:n.key,disabled:r,as:`th`,rowSpan:q?2:1,className:`${s.getTableHeaderCellClasses()} ${s.getColumnAlignClasses(`center`)} group/header-cell ${n.sticky?`sticky left-0 z-20 bg-bg-base-secondary`:``} ${n.hideOnMobile?`hidden md:table-cell`:``} relative`,style:{width:J(n.key,n.width),minWidth:n.minWidth||50},children:[!r&&(0,l.jsx)(`span`,{className:`absolute left-0.5 top-1/2 -translate-y-1/2 text-text-tertiary opacity-0 transition-opacity group-hover/header-cell:opacity-100`,"aria-hidden":`true`,children:(0,l.jsx)(e.GripVertical,{className:`h-3.5 w-3.5`})}),(0,l.jsx)(`div`,{className:`flex items-center justify-center w-full pr-1 pl-3 select-none`,children:(0,l.jsx)(`span`,{children:n.header})}),n.excludeFromPreset!==!0&&(0,l.jsx)(`div`,{className:`group/resize absolute right-0 top-0 h-full w-3 cursor-col-resize z-50 flex items-center justify-center`,onPointerDown:e=>e.stopPropagation(),onMouseDown:e=>{e.preventDefault(),e.stopPropagation(),he(n.key,e)},onDoubleClick:e=>{e.preventDefault(),e.stopPropagation(),ge(n.key,e)},onClick:e=>{e.preventDefault(),e.stopPropagation()},style:{touchAction:`none`},title:`드래그하여 너비 조절, 더블 클릭하여 자동 조절`,children:(0,l.jsx)(`span`,{"aria-hidden":`true`,className:`h-1/2 w-0.5 rounded-full bg-transparent transition-colors group-hover/header-cell:bg-text-tertiary group-hover/resize:!bg-primary-500 group-active/resize:!bg-primary-600`})})]},n.key)})})]}),q&&(0,l.jsx)(`tr`,{children:G.filter(e=>e.kind===`group`).flatMap(e=>e.leafColumns).map(e=>(0,l.jsx)(`th`,{className:`${s.getTableHeaderCellClasses()} ${s.getColumnAlignClasses(e.align??`center`)} ${e.hideOnMobile?`hidden md:table-cell`:``}`,style:{width:J(e.key,e.width),minWidth:e.minWidth||50},children:(0,l.jsx)(`div`,{className:`flex items-center justify-center w-full pr-1 pl-3 select-none`,children:(0,l.jsx)(`span`,{children:e.header})})},e.key))})]}),(0,l.jsxs)(`tbody`,{ref:H,children:[R.map((e,t)=>{let r=Z(e);return(0,l.jsxs)(`tr`,{className:Ee(e,t),onClick:()=>y?.(e,t),style:_?{height:`${_}px`}:void 0,children:[S&&C&&(0,l.jsx)(`td`,{className:`${s.getTableCellClasses()} ${s.getColumnAlignClasses(`center`)} w-12 select-none`,onClick:e=>e.stopPropagation(),onMouseDown:$?e=>{e.preventDefault(),Te.onRowMouseDown(t)}:void 0,onMouseEnter:$?()=>Te.onRowMouseEnter(t):void 0,children:(0,l.jsx)(`div`,{className:`flex items-center justify-center`,children:(0,l.jsx)(n.TableCheckbox,{checked:r,onChange:t=>x?.(e,t),pointerEventsNone:$,ariaLabel:`행 선택`})})}),K.map(t=>{let n=t.accessor?t.accessor(e):e[t.key];return(0,l.jsx)(`td`,{className:`${s.getTableCellClasses()} ${s.getColumnAlignClasses(t.align)} ${t.sticky?`sticky left-0 z-10 bg-inherit`:``} ${t.hideOnMobile?`hidden md:table-cell`:``}`,style:{width:J(t.key,t.width),minWidth:t.minWidth||50,..._?{height:`${_}px`,maxHeight:`${_}px`,overflow:`hidden`}:{}},children:n},t.key)})]},t)}),M&&Array.from({length:Se}).map((e,t)=>{let n=R.length+t,r=_??Ce??void 0;return(0,l.jsxs)(`tr`,{"data-empty-row":!0,"aria-hidden":`true`,className:s.getStripedRowClasses(n),style:r?{height:`${r}px`}:void 0,children:[S&&C&&(0,l.jsx)(`td`,{className:`${s.getTableCellClasses()} w-12`,style:r?{height:`${r}px`}:void 0}),K.map(e=>(0,l.jsx)(`td`,{className:`${s.getTableCellClasses()} ${e.hideOnMobile?`hidden md:table-cell`:``}`,style:{width:J(e.key,e.width),minWidth:e.minWidth||50,...r?{height:`${r}px`}:{}}},e.key))]},`empty-${t}`)})]})]})})})]}),ue??(N===void 0?null:(0,l.jsx)(`div`,{className:`flex justify-end shrink-0 text-sm text-neutral-600 dark:text-neutral-300`,children:(0,l.jsxs)(`span`,{children:[`총 `,N.toLocaleString(),`건`]})}))]})]})});f.displayName=`Table`,exports.Table=f;