@thewrong/ui 0.2.0 → 0.3.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 (556) hide show
  1. package/README.md +25 -4
  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 +2 -1
  21. package/dist/components/button/Button.esm.js +38 -45
  22. package/dist/{src/components → components}/button/index.d.ts +2 -2
  23. package/dist/components/button/utils.cjs +1 -0
  24. package/dist/{src/components → components}/button/utils.d.ts +1 -1
  25. package/dist/components/button/utils.esm.js +21 -21
  26. package/dist/components/checkbox/Checkbox.cjs +1 -0
  27. package/dist/{src/components → components}/checkbox/Checkbox.d.ts +1 -1
  28. package/dist/components/checkbox/Checkbox.esm.js +36 -35
  29. package/dist/components/checkbox/index.d.ts +2 -0
  30. package/dist/components/checkbox/utils.cjs +1 -0
  31. package/dist/{src/components → components}/checkbox/utils.d.ts +1 -1
  32. package/dist/components/checkbox/utils.esm.js +11 -11
  33. package/dist/components/collapsible/Collapsible.cjs +1 -0
  34. package/dist/components/collapsible/Collapsible.esm.js +12 -11
  35. package/dist/components/collapsible/index.d.ts +2 -0
  36. package/dist/components/copyable-text/CopyableText.cjs +1 -0
  37. package/dist/components/copyable-text/CopyableText.d.ts +22 -0
  38. package/dist/components/copyable-text/CopyableText.esm.js +50 -0
  39. package/dist/components/copyable-text/index.d.ts +2 -0
  40. package/dist/components/date-input/DateInput.cjs +1 -0
  41. package/dist/{src/components → components}/date-input/DateInput.d.ts +1 -0
  42. package/dist/components/date-input/DateInput.esm.js +24 -23
  43. package/dist/components/date-input/index.d.ts +1 -0
  44. package/dist/components/date-picker/PickerSheet.cjs +1 -0
  45. package/dist/components/date-picker/PickerSheet.d.ts +22 -0
  46. package/dist/components/date-picker/PickerSheet.esm.js +77 -0
  47. package/dist/components/date-picker/date-picker.cjs +1 -0
  48. package/dist/{src/components → components}/date-picker/date-picker.d.ts +1 -0
  49. package/dist/components/date-picker/date-picker.esm.js +99 -147
  50. package/dist/components/date-picker/date-range-picker.cjs +1 -0
  51. package/dist/{src/components → components}/date-picker/date-range-picker.d.ts +3 -1
  52. package/dist/components/date-picker/date-range-picker.esm.js +117 -166
  53. package/dist/components/date-picker/index.d.ts +5 -0
  54. package/dist/components/date-picker/month-picker.cjs +1 -0
  55. package/dist/{src/components → components}/date-picker/month-picker.d.ts +1 -0
  56. package/dist/components/date-picker/month-picker.esm.js +68 -112
  57. package/dist/components/drawer/Drawer.cjs +1 -0
  58. package/dist/components/drawer/Drawer.d.ts +45 -0
  59. package/dist/components/drawer/Drawer.esm.js +127 -97
  60. package/dist/components/drawer/index.d.ts +2 -0
  61. package/dist/components/error-boundary/ErrorBoundary.cjs +1 -0
  62. package/dist/components/error-boundary/ErrorBoundary.d.ts +23 -0
  63. package/dist/components/error-boundary/ErrorBoundary.esm.js +46 -0
  64. package/dist/components/error-boundary/chunk-reload.cjs +1 -0
  65. package/dist/components/error-boundary/chunk-reload.d.ts +77 -0
  66. package/dist/components/error-boundary/chunk-reload.esm.js +73 -0
  67. package/dist/components/error-boundary/index.d.ts +4 -0
  68. package/dist/components/error-boundary/types.d.ts +23 -0
  69. package/dist/components/field/Field.cjs +1 -0
  70. package/dist/components/field/Field.d.ts +16 -0
  71. package/dist/components/field/Field.esm.js +34 -0
  72. package/dist/components/field/FieldMessage.cjs +1 -0
  73. package/dist/components/field/FieldMessage.d.ts +19 -0
  74. package/dist/components/field/FieldMessage.esm.js +12 -0
  75. package/dist/components/field/index.d.ts +3 -0
  76. package/dist/components/field/types.d.ts +24 -0
  77. package/dist/components/info-tooltip/InfoTooltip.cjs +1 -0
  78. package/dist/components/info-tooltip/InfoTooltip.esm.js +13 -12
  79. package/dist/components/info-tooltip/index.d.ts +2 -0
  80. package/dist/components/input/DecimalInput.cjs +1 -0
  81. package/dist/components/input/DecimalInput.d.ts +18 -0
  82. package/dist/components/input/DecimalInput.esm.js +40 -0
  83. package/dist/components/input/Input.cjs +1 -0
  84. package/dist/{src/components → components}/input/Input.d.ts +1 -1
  85. package/dist/components/input/Input.esm.js +47 -53
  86. package/dist/components/input/PasswordInput.cjs +1 -0
  87. package/dist/{src/components → components}/input/PasswordInput.d.ts +1 -1
  88. package/dist/components/input/PasswordInput.esm.js +1 -1
  89. package/dist/components/input/decimal-validation.cjs +1 -0
  90. package/dist/components/input/decimal-validation.d.ts +7 -0
  91. package/dist/components/input/decimal-validation.esm.js +66 -0
  92. package/dist/components/input/format.cjs +1 -0
  93. package/dist/{src/components → components}/input/format.d.ts +17 -1
  94. package/dist/components/input/format.esm.js +16 -5
  95. package/dist/components/input/index.d.ts +7 -0
  96. package/dist/{src/components → components}/input/types.d.ts +2 -2
  97. package/dist/components/input/use-input-format.cjs +1 -0
  98. package/dist/components/input/use-input-format.d.ts +43 -0
  99. package/dist/components/input/use-input-format.esm.js +75 -0
  100. package/dist/components/input/utils.cjs +1 -0
  101. package/dist/{src/components → components}/input/utils.d.ts +1 -1
  102. package/dist/components/input/utils.esm.js +19 -18
  103. package/dist/components/loading-spinner/LoadingSpinner.cjs +1 -0
  104. package/dist/components/loading-spinner/LoadingSpinner.esm.js +19 -18
  105. package/dist/components/loading-spinner/index.d.ts +2 -0
  106. package/dist/components/modal/Modal.cjs +1 -0
  107. package/dist/{src/components → components}/modal/Modal.d.ts +28 -2
  108. package/dist/components/modal/Modal.esm.js +148 -118
  109. package/dist/components/modal/ModalFocusTrapContext.cjs +1 -0
  110. package/dist/components/modal/ModalFocusTrapContext.d.ts +18 -0
  111. package/dist/components/modal/ModalFocusTrapContext.esm.js +36 -0
  112. package/dist/components/modal/ModalSubView.cjs +1 -0
  113. package/dist/{src/components → components}/modal/ModalSubView.d.ts +6 -1
  114. package/dist/components/modal/ModalSubView.esm.js +65 -45
  115. package/dist/components/modal/StandardModal.cjs +1 -0
  116. package/dist/{src/components → components}/modal/StandardModal.d.ts +8 -2
  117. package/dist/components/modal/StandardModal.esm.js +18 -15
  118. package/dist/components/modal/index.d.ts +6 -0
  119. package/dist/components/month-range-picker/index.d.ts +2 -0
  120. package/dist/components/month-range-picker/month-range-picker.cjs +1 -0
  121. package/dist/components/month-range-picker/month-range-picker.d.ts +16 -0
  122. package/dist/components/month-range-picker/month-range-picker.esm.js +227 -0
  123. package/dist/components/month-range-picker/month-range-utils.cjs +1 -0
  124. package/dist/components/month-range-picker/month-range-utils.d.ts +9 -0
  125. package/dist/components/month-range-picker/month-range-utils.esm.js +28 -0
  126. package/dist/components/page-title/PageTitle.cjs +1 -0
  127. package/dist/components/page-title/PageTitle.esm.js +11 -10
  128. package/dist/components/page-title/index.d.ts +1 -0
  129. package/dist/components/popover/Popover.cjs +1 -0
  130. package/dist/components/popover/Popover.esm.js +2 -2
  131. package/dist/components/popover/index.d.ts +2 -0
  132. package/dist/components/progress/Progress.cjs +1 -0
  133. package/dist/components/progress/Progress.d.ts +13 -0
  134. package/dist/components/progress/Progress.esm.js +24 -0
  135. package/dist/components/progress/index.d.ts +2 -0
  136. package/dist/components/progress/types.d.ts +13 -0
  137. package/dist/components/radio/Radio.cjs +1 -0
  138. package/dist/components/radio/Radio.d.ts +31 -0
  139. package/dist/components/radio/Radio.esm.js +118 -0
  140. package/dist/components/radio/index.d.ts +2 -0
  141. package/dist/components/radio/types.d.ts +24 -0
  142. package/dist/components/search-box/ExactMatchToggle.cjs +1 -0
  143. package/dist/components/search-box/ExactMatchToggle.esm.js +14 -13
  144. package/dist/components/search-box/SearchBox.cjs +1 -0
  145. package/dist/{src/components → components}/search-box/SearchBox.d.ts +1 -1
  146. package/dist/components/search-box/SearchBox.esm.js +94 -93
  147. package/dist/components/search-box/SearchBoxChips.cjs +1 -0
  148. package/dist/components/search-box/SearchBoxChips.esm.js +3 -3
  149. package/dist/components/search-box/SearchBoxDateRange.cjs +1 -0
  150. package/dist/{src/components → components}/search-box/SearchBoxDateRange.d.ts +1 -1
  151. package/dist/components/search-box/SearchBoxDateRange.esm.js +39 -36
  152. package/dist/components/search-box/SearchBoxDateSingle.cjs +1 -0
  153. package/dist/{src/components → components}/search-box/SearchBoxDateSingle.d.ts +1 -1
  154. package/dist/components/search-box/SearchBoxDateSingle.esm.js +29 -27
  155. package/dist/components/search-box/SearchBoxField.cjs +1 -0
  156. package/dist/{src/components → components}/search-box/SearchBoxField.d.ts +1 -1
  157. package/dist/components/search-box/SearchBoxFloatingInput.cjs +1 -0
  158. package/dist/components/search-box/SearchBoxFloatingInput.esm.js +29 -24
  159. package/dist/components/search-box/SearchBoxFloatingSelect.cjs +1 -0
  160. package/dist/{src/components → components}/search-box/SearchBoxFloatingSelect.d.ts +1 -1
  161. package/dist/components/search-box/SearchBoxFloatingSelect.esm.js +56 -51
  162. package/dist/components/search-box/SearchBoxMonth.cjs +1 -0
  163. package/dist/components/search-box/SearchBoxMonth.esm.js +21 -20
  164. package/dist/components/search-box/SearchBoxMultiSelect.cjs +1 -0
  165. package/dist/{src/components → components}/search-box/SearchBoxMultiSelect.d.ts +2 -2
  166. package/dist/components/search-box/SearchBoxMultiSelect.esm.js +60 -55
  167. package/dist/components/search-box/dateRangePresets.cjs +1 -0
  168. package/dist/{src/components → components}/search-box/dateRangePresets.d.ts +1 -1
  169. package/dist/{src/components → components}/search-box/index.d.ts +5 -5
  170. package/dist/components/search-box/parseSearchValues.cjs +1 -0
  171. package/dist/{src/components → components}/search-box/parseSearchValues.d.ts +2 -2
  172. package/dist/{src/components → components}/search-box/types.d.ts +1 -1
  173. package/dist/components/search-box/useSearchBoxState.cjs +1 -0
  174. package/dist/{src/components → components}/search-box/useSearchBoxState.d.ts +1 -1
  175. package/dist/components/segmented-code-input/SegmentedCodeInput.cjs +1 -0
  176. package/dist/components/segmented-code-input/SegmentedCodeInput.d.ts +49 -0
  177. package/dist/components/segmented-code-input/SegmentedCodeInput.esm.js +87 -0
  178. package/dist/components/segmented-code-input/code-utils.cjs +1 -0
  179. package/dist/components/segmented-code-input/code-utils.d.ts +4 -0
  180. package/dist/components/segmented-code-input/code-utils.esm.js +9 -0
  181. package/dist/components/segmented-code-input/index.d.ts +2 -0
  182. package/dist/components/segmented-control/SegmentedControl.cjs +1 -0
  183. package/dist/components/segmented-control/SegmentedControl.d.ts +27 -0
  184. package/dist/components/segmented-control/SegmentedControl.esm.js +84 -0
  185. package/dist/components/segmented-control/index.d.ts +2 -0
  186. package/dist/components/segmented-control/types.d.ts +30 -0
  187. package/dist/components/select/MultiSelect.cjs +1 -0
  188. package/dist/{src/components → components}/select/MultiSelect.d.ts +11 -3
  189. package/dist/components/select/MultiSelect.esm.js +179 -177
  190. package/dist/components/select/Select.cjs +1 -0
  191. package/dist/{src/components → components}/select/Select.d.ts +16 -2
  192. package/dist/components/select/Select.esm.js +176 -164
  193. package/dist/components/select/index.d.ts +4 -0
  194. package/dist/components/select/loading-dots.cjs +1 -0
  195. package/dist/components/select/loading-dots.d.ts +3 -0
  196. package/dist/components/select/loading-dots.esm.js +8 -7
  197. package/dist/components/select/panel-width.cjs +1 -0
  198. package/dist/components/select/panel-width.d.ts +2 -0
  199. package/dist/components/select/panel-width.esm.js +7 -0
  200. package/dist/{src/components → components}/select/utils.d.ts +1 -1
  201. package/dist/components/skeleton/Skeleton.cjs +1 -0
  202. package/dist/components/skeleton/Skeleton.d.ts +6 -0
  203. package/dist/components/skeleton/Skeleton.esm.js +12 -0
  204. package/dist/components/skeleton/index.d.ts +2 -0
  205. package/dist/components/skeleton/types.d.ts +2 -0
  206. package/dist/components/stepper/Stepper.cjs +1 -0
  207. package/dist/components/stepper/Stepper.d.ts +51 -0
  208. package/dist/components/stepper/Stepper.esm.js +142 -0
  209. package/dist/components/stepper/index.d.ts +4 -0
  210. package/dist/components/stepper/use-stepper.cjs +1 -0
  211. package/dist/components/stepper/use-stepper.d.ts +43 -0
  212. package/dist/components/stepper/use-stepper.esm.js +57 -0
  213. package/dist/components/switch/Switch.cjs +1 -0
  214. package/dist/{src/components → components}/switch/Switch.d.ts +1 -1
  215. package/dist/components/switch/Switch.esm.js +21 -20
  216. package/dist/components/switch/index.d.ts +2 -0
  217. package/dist/components/switch/utils.cjs +1 -0
  218. package/dist/{src/components → components}/switch/utils.d.ts +2 -2
  219. package/dist/components/switch/utils.esm.js +9 -8
  220. package/dist/components/table/accordion-table.cjs +1 -0
  221. package/dist/{src/components → components}/table/accordion-table.d.ts +1 -1
  222. package/dist/components/table/accordion-table.esm.js +204 -204
  223. package/dist/{src/components → components}/table/column-group-utils.d.ts +1 -1
  224. package/dist/components/table/components/ColumnPresetSelector.cjs +1 -0
  225. package/dist/{src/components → components}/table/components/ColumnPresetSelector.d.ts +2 -2
  226. package/dist/components/table/components/ColumnPresetSelector.esm.js +60 -59
  227. package/dist/components/table/components/ColumnSettingsTable.cjs +1 -0
  228. package/dist/{src/components → components}/table/components/ColumnSettingsTable.d.ts +1 -1
  229. package/dist/components/table/components/ColumnSettingsTable.esm.js +94 -96
  230. package/dist/components/table/components/KeyboardNavButton.cjs +1 -0
  231. package/dist/components/table/components/KeyboardNavButton.esm.js +1 -1
  232. package/dist/components/table/components/PageJumpInput.cjs +1 -0
  233. package/dist/components/table/components/PageJumpInput.esm.js +33 -32
  234. package/dist/components/table/components/Pagination.cjs +1 -0
  235. package/dist/components/table/components/Pagination.esm.js +80 -79
  236. package/dist/components/table/components/PaginationFooter.cjs +1 -0
  237. package/dist/components/table/components/PaginationFooter.esm.js +2 -2
  238. package/dist/components/table/hooks/useColumnPresets.cjs +1 -0
  239. package/dist/{src/components → components}/table/hooks/useColumnPresets.d.ts +2 -2
  240. package/dist/components/table/hooks/useColumnResize.cjs +1 -0
  241. package/dist/{src/components → components}/table/hooks/useColumnResize.d.ts +12 -0
  242. package/dist/components/table/hooks/useColumnResize.esm.js +66 -54
  243. package/dist/components/table/hooks/useFillEmptyRows.d.ts +2 -0
  244. package/dist/components/table/hooks/useInfiniteScroll.d.ts +2 -0
  245. package/dist/components/table/hooks/useTableColumnState.cjs +1 -0
  246. package/dist/{src/components → components}/table/hooks/useTableColumnState.d.ts +1 -1
  247. package/dist/components/table/hooks/useTableDragSelection.d.ts +2 -0
  248. package/dist/{src/components → components}/table/hooks/useTableSort.d.ts +1 -1
  249. package/dist/components/table/hooks/useVirtualTable.cjs +1 -0
  250. package/dist/components/table/hooks/useVirtualTable.esm.js +8 -8
  251. package/dist/components/table/index.d.ts +27 -0
  252. package/dist/components/table/mini-table.cjs +1 -0
  253. package/dist/{src/components → components}/table/mini-table.d.ts +1 -1
  254. package/dist/components/table/mini-table.esm.js +87 -86
  255. package/dist/components/table/paginated-mini-table.cjs +1 -0
  256. package/dist/{src/components → components}/table/paginated-mini-table.d.ts +1 -1
  257. package/dist/components/table/paginated-table.cjs +1 -0
  258. package/dist/{src/components → components}/table/paginated-table.d.ts +1 -1
  259. package/dist/components/table/table.cjs +1 -0
  260. package/dist/{src/components → components}/table/table.d.ts +2 -1
  261. package/dist/components/table/table.esm.js +190 -189
  262. package/dist/components/table/utils.cjs +35 -0
  263. package/dist/{src/components → components}/table/utils.d.ts +2 -2
  264. package/dist/components/table/utils.esm.js +2 -2
  265. package/dist/components/table-checkbox/TableCheckbox.cjs +1 -0
  266. package/dist/components/table-checkbox/TableCheckbox.esm.js +27 -26
  267. package/dist/components/table-checkbox/index.d.ts +1 -0
  268. package/dist/components/table-page-layout/TablePageLayout.cjs +1 -0
  269. package/dist/components/table-page-layout/TablePageLayout.esm.js +3 -3
  270. package/dist/{src/components → components}/table-page-layout/index.d.ts +1 -1
  271. package/dist/components/textarea/Textarea.cjs +1 -0
  272. package/dist/{src/components → components}/textarea/Textarea.d.ts +1 -1
  273. package/dist/components/textarea/Textarea.esm.js +49 -47
  274. package/dist/components/textarea/index.d.ts +2 -0
  275. package/dist/components/time-picker/index.d.ts +2 -0
  276. package/dist/components/time-picker/time-picker.cjs +1 -0
  277. package/dist/components/time-picker/time-picker.d.ts +35 -0
  278. package/dist/components/time-picker/time-picker.esm.js +193 -0
  279. package/dist/components/time-picker/time-utils.cjs +1 -0
  280. package/dist/components/time-picker/time-utils.d.ts +12 -0
  281. package/dist/components/time-picker/time-utils.esm.js +56 -0
  282. package/dist/components/toast/ToastProvider.cjs +1 -0
  283. package/dist/{src/components → components}/toast/ToastProvider.d.ts +3 -0
  284. package/dist/components/toast/ToastProvider.esm.js +47 -43
  285. package/dist/components/toast/index.d.ts +3 -0
  286. package/dist/components/toolbar/Toolbar.cjs +1 -0
  287. package/dist/{src/components → components}/toolbar/Toolbar.d.ts +1 -1
  288. package/dist/components/toolbar/Toolbar.esm.js +99 -98
  289. package/dist/components/toolbar/index.d.ts +2 -0
  290. package/dist/components/tooltip/{Tooltip.cjs.js → Tooltip.cjs} +1 -1
  291. package/dist/components/tooltip/Tooltip.esm.js +1 -1
  292. package/dist/components/tooltip/index.d.ts +2 -0
  293. package/dist/components/typewriter-text/TypewriterText.cjs +1 -0
  294. package/dist/components/typewriter-text/TypewriterText.d.ts +7 -0
  295. package/dist/components/typewriter-text/TypewriterText.esm.js +58 -0
  296. package/dist/components/typewriter-text/index.d.ts +2 -0
  297. package/dist/components/typewriter-text/types.d.ts +12 -0
  298. package/dist/components/typing-dots/TypingDots.cjs +1 -0
  299. package/dist/components/typing-dots/TypingDots.d.ts +10 -0
  300. package/dist/components/typing-dots/TypingDots.esm.js +37 -0
  301. package/dist/components/typing-dots/index.d.ts +2 -0
  302. package/dist/components/typing-dots/types.d.ts +4 -0
  303. package/dist/hooks/awaitableOverlayController.cjs +1 -0
  304. package/dist/hooks/awaitableOverlayController.d.ts +6 -0
  305. package/dist/hooks/awaitableOverlayController.esm.js +18 -0
  306. package/dist/hooks/index.d.ts +17 -0
  307. package/dist/hooks/useAwaitableOverlay.cjs +1 -0
  308. package/dist/hooks/useAwaitableOverlay.d.ts +16 -0
  309. package/dist/hooks/useAwaitableOverlay.esm.js +22 -0
  310. package/dist/hooks/useFillEmptyRows.cjs +1 -0
  311. package/dist/{src/components/table/hooks → hooks}/useFillEmptyRows.d.ts +10 -1
  312. package/dist/hooks/useFillEmptyRows.esm.js +60 -0
  313. package/dist/hooks/useFocusTrap.cjs +1 -0
  314. package/dist/hooks/useFocusTrap.d.ts +47 -0
  315. package/dist/hooks/useFocusTrap.esm.js +210 -0
  316. package/dist/hooks/useInfiniteScroll.cjs +1 -0
  317. package/dist/hooks/useInfiniteScroll.d.ts +36 -0
  318. package/dist/hooks/useInfiniteScroll.esm.js +31 -0
  319. package/dist/hooks/useTableDragSelection.cjs +1 -0
  320. package/dist/{src/components/table/hooks → hooks}/useTableDragSelection.d.ts +3 -4
  321. package/dist/{components/table/hooks → hooks}/useTableDragSelection.esm.js +9 -6
  322. package/dist/hooks/useVirtualRows.cjs +1 -0
  323. package/dist/hooks/useVirtualRows.d.ts +56 -0
  324. package/dist/hooks/useVirtualRows.esm.js +20 -0
  325. package/dist/hooks.cjs +1 -0
  326. package/dist/hooks.esm.js +12 -5
  327. package/dist/index.cjs +1 -0
  328. package/dist/index.d.ts +40 -0
  329. package/dist/index.esm.js +81 -58
  330. package/dist/lib/index.d.ts +6 -0
  331. package/dist/lib/utils.cjs +1 -0
  332. package/dist/{src/lib → lib}/utils.d.ts +2 -1
  333. package/dist/lib/utils.esm.js +108 -5
  334. package/dist/node_modules/lucide-react/dist/esm/Icon.cjs +1 -0
  335. package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.cjs +1 -0
  336. package/dist/node_modules/lucide-react/dist/esm/icons/arrow-left.cjs +1 -0
  337. package/dist/node_modules/lucide-react/dist/esm/icons/calendar.cjs +1 -0
  338. package/dist/node_modules/lucide-react/dist/esm/icons/check.cjs +1 -0
  339. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-down.cjs +1 -0
  340. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-left.cjs +1 -0
  341. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.cjs +1 -0
  342. package/dist/node_modules/lucide-react/dist/esm/icons/chevrons-left.cjs +1 -0
  343. package/dist/node_modules/lucide-react/dist/esm/icons/chevrons-right.cjs +1 -0
  344. package/dist/node_modules/lucide-react/dist/esm/icons/circle-check.cjs +1 -0
  345. package/dist/node_modules/lucide-react/dist/esm/icons/circle-x.cjs +1 -0
  346. package/dist/node_modules/lucide-react/dist/esm/icons/clock.cjs +1 -0
  347. package/dist/node_modules/lucide-react/dist/esm/icons/clock.esm.js +12 -0
  348. package/dist/node_modules/lucide-react/dist/esm/icons/copy.cjs +1 -0
  349. package/dist/node_modules/lucide-react/dist/esm/icons/copy.esm.js +15 -0
  350. package/dist/node_modules/lucide-react/dist/esm/icons/eye-off.cjs +1 -0
  351. package/dist/node_modules/lucide-react/dist/esm/icons/eye.cjs +1 -0
  352. package/dist/node_modules/lucide-react/dist/esm/icons/grip-vertical.cjs +1 -0
  353. package/dist/node_modules/lucide-react/dist/esm/icons/info.cjs +1 -0
  354. package/dist/node_modules/lucide-react/dist/esm/icons/keyboard.cjs +1 -0
  355. package/dist/node_modules/lucide-react/dist/esm/icons/list-filter.cjs +1 -0
  356. package/dist/node_modules/lucide-react/dist/esm/icons/loader-circle.cjs +1 -0
  357. package/dist/node_modules/lucide-react/dist/esm/icons/minus.cjs +1 -0
  358. package/dist/node_modules/lucide-react/dist/esm/icons/rotate-ccw.cjs +1 -0
  359. package/dist/node_modules/lucide-react/dist/esm/icons/save.cjs +1 -0
  360. package/dist/node_modules/lucide-react/dist/esm/icons/search.cjs +1 -0
  361. package/dist/node_modules/lucide-react/dist/esm/icons/settings.cjs +1 -0
  362. package/dist/node_modules/lucide-react/dist/esm/icons/triangle-alert.cjs +1 -0
  363. package/dist/node_modules/lucide-react/dist/esm/icons/wrench.cjs +1 -0
  364. package/dist/node_modules/lucide-react/dist/esm/icons/x.cjs +1 -0
  365. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/toPascalCase.cjs +1 -0
  366. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.cjs +1 -0
  367. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.esm.js +559 -550
  368. package/dist/tokens.css +1085 -0
  369. package/dist/ui.css +1 -1
  370. package/llms.txt +39 -13
  371. package/package.json +11 -8
  372. package/dist/components/_shared/form-size-tokens.cjs.js +0 -1
  373. package/dist/components/action-toast/ActionToast.cjs.js +0 -1
  374. package/dist/components/animated-height/AnimatedHeight.cjs.js +0 -1
  375. package/dist/components/badge/Badge.cjs.js +0 -1
  376. package/dist/components/badge/utils.cjs.js +0 -1
  377. package/dist/components/button/Button.cjs.js +0 -1
  378. package/dist/components/button/utils.cjs.js +0 -1
  379. package/dist/components/checkbox/Checkbox.cjs.js +0 -1
  380. package/dist/components/checkbox/utils.cjs.js +0 -1
  381. package/dist/components/collapsible/Collapsible.cjs.js +0 -1
  382. package/dist/components/date-input/DateInput.cjs.js +0 -1
  383. package/dist/components/date-picker/date-picker.cjs.js +0 -1
  384. package/dist/components/date-picker/date-range-picker.cjs.js +0 -1
  385. package/dist/components/date-picker/month-picker.cjs.js +0 -1
  386. package/dist/components/drawer/Drawer.cjs.js +0 -1
  387. package/dist/components/info-tooltip/InfoTooltip.cjs.js +0 -1
  388. package/dist/components/input/Input.cjs.js +0 -1
  389. package/dist/components/input/PasswordInput.cjs.js +0 -1
  390. package/dist/components/input/format.cjs.js +0 -1
  391. package/dist/components/input/utils.cjs.js +0 -1
  392. package/dist/components/loading-spinner/LoadingSpinner.cjs.js +0 -1
  393. package/dist/components/modal/Modal.cjs.js +0 -1
  394. package/dist/components/modal/ModalSubView.cjs.js +0 -1
  395. package/dist/components/modal/StandardModal.cjs.js +0 -1
  396. package/dist/components/page-title/PageTitle.cjs.js +0 -1
  397. package/dist/components/popover/Popover.cjs.js +0 -1
  398. package/dist/components/search-box/ExactMatchToggle.cjs.js +0 -1
  399. package/dist/components/search-box/SearchBox.cjs.js +0 -1
  400. package/dist/components/search-box/SearchBoxChips.cjs.js +0 -1
  401. package/dist/components/search-box/SearchBoxDateRange.cjs.js +0 -1
  402. package/dist/components/search-box/SearchBoxDateSingle.cjs.js +0 -1
  403. package/dist/components/search-box/SearchBoxField.cjs.js +0 -1
  404. package/dist/components/search-box/SearchBoxFloatingInput.cjs.js +0 -1
  405. package/dist/components/search-box/SearchBoxFloatingSelect.cjs.js +0 -1
  406. package/dist/components/search-box/SearchBoxMonth.cjs.js +0 -1
  407. package/dist/components/search-box/SearchBoxMultiSelect.cjs.js +0 -1
  408. package/dist/components/search-box/dateRangePresets.cjs.js +0 -1
  409. package/dist/components/search-box/parseSearchValues.cjs.js +0 -1
  410. package/dist/components/search-box/useSearchBoxState.cjs.js +0 -1
  411. package/dist/components/select/MultiSelect.cjs.js +0 -1
  412. package/dist/components/select/Select.cjs.js +0 -1
  413. package/dist/components/select/loading-dots.cjs.js +0 -1
  414. package/dist/components/switch/Switch.cjs.js +0 -1
  415. package/dist/components/switch/utils.cjs.js +0 -1
  416. package/dist/components/table/accordion-table.cjs.js +0 -1
  417. package/dist/components/table/components/ColumnPresetSelector.cjs.js +0 -1
  418. package/dist/components/table/components/ColumnSettingsTable.cjs.js +0 -4
  419. package/dist/components/table/components/KeyboardNavButton.cjs.js +0 -1
  420. package/dist/components/table/components/PageJumpInput.cjs.js +0 -1
  421. package/dist/components/table/components/Pagination.cjs.js +0 -1
  422. package/dist/components/table/components/PaginationFooter.cjs.js +0 -1
  423. package/dist/components/table/hooks/useColumnPresets.cjs.js +0 -1
  424. package/dist/components/table/hooks/useColumnResize.cjs.js +0 -1
  425. package/dist/components/table/hooks/useFillEmptyRows.cjs.js +0 -1
  426. package/dist/components/table/hooks/useFillEmptyRows.esm.js +0 -49
  427. package/dist/components/table/hooks/useInfiniteScroll.cjs.js +0 -1
  428. package/dist/components/table/hooks/useInfiniteScroll.esm.js +0 -32
  429. package/dist/components/table/hooks/useTableColumnState.cjs.js +0 -1
  430. package/dist/components/table/hooks/useTableDragSelection.cjs.js +0 -1
  431. package/dist/components/table/hooks/useVirtualTable.cjs.js +0 -1
  432. package/dist/components/table/mini-table.cjs.js +0 -1
  433. package/dist/components/table/paginated-mini-table.cjs.js +0 -1
  434. package/dist/components/table/paginated-table.cjs.js +0 -1
  435. package/dist/components/table/table.cjs.js +0 -1
  436. package/dist/components/table/utils.cjs.js +0 -37
  437. package/dist/components/table-checkbox/TableCheckbox.cjs.js +0 -1
  438. package/dist/components/table-page-layout/TablePageLayout.cjs.js +0 -1
  439. package/dist/components/textarea/Textarea.cjs.js +0 -1
  440. package/dist/components/toast/ToastProvider.cjs.js +0 -1
  441. package/dist/components/toolbar/Toolbar.cjs.js +0 -1
  442. package/dist/hooks.cjs.js +0 -1
  443. package/dist/index.cjs.js +0 -1
  444. package/dist/lib/utils.cjs.js +0 -1
  445. package/dist/node_modules/lucide-react/dist/esm/Icon.cjs.js +0 -1
  446. package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.cjs.js +0 -1
  447. package/dist/node_modules/lucide-react/dist/esm/icons/arrow-left.cjs.js +0 -1
  448. package/dist/node_modules/lucide-react/dist/esm/icons/calendar.cjs.js +0 -1
  449. package/dist/node_modules/lucide-react/dist/esm/icons/check.cjs.js +0 -1
  450. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-down.cjs.js +0 -1
  451. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-left.cjs.js +0 -1
  452. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.cjs.js +0 -1
  453. package/dist/node_modules/lucide-react/dist/esm/icons/chevrons-left.cjs.js +0 -1
  454. package/dist/node_modules/lucide-react/dist/esm/icons/chevrons-right.cjs.js +0 -1
  455. package/dist/node_modules/lucide-react/dist/esm/icons/circle-check.cjs.js +0 -1
  456. package/dist/node_modules/lucide-react/dist/esm/icons/circle-x.cjs.js +0 -1
  457. package/dist/node_modules/lucide-react/dist/esm/icons/eye-off.cjs.js +0 -1
  458. package/dist/node_modules/lucide-react/dist/esm/icons/eye.cjs.js +0 -1
  459. package/dist/node_modules/lucide-react/dist/esm/icons/grip-vertical.cjs.js +0 -1
  460. package/dist/node_modules/lucide-react/dist/esm/icons/info.cjs.js +0 -1
  461. package/dist/node_modules/lucide-react/dist/esm/icons/keyboard.cjs.js +0 -1
  462. package/dist/node_modules/lucide-react/dist/esm/icons/list-filter.cjs.js +0 -1
  463. package/dist/node_modules/lucide-react/dist/esm/icons/loader-circle.cjs.js +0 -1
  464. package/dist/node_modules/lucide-react/dist/esm/icons/minus.cjs.js +0 -1
  465. package/dist/node_modules/lucide-react/dist/esm/icons/rotate-ccw.cjs.js +0 -1
  466. package/dist/node_modules/lucide-react/dist/esm/icons/save.cjs.js +0 -1
  467. package/dist/node_modules/lucide-react/dist/esm/icons/search.cjs.js +0 -1
  468. package/dist/node_modules/lucide-react/dist/esm/icons/settings.cjs.js +0 -1
  469. package/dist/node_modules/lucide-react/dist/esm/icons/triangle-alert.cjs.js +0 -1
  470. package/dist/node_modules/lucide-react/dist/esm/icons/wrench.cjs.js +0 -1
  471. package/dist/node_modules/lucide-react/dist/esm/icons/x.cjs.js +0 -1
  472. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/toPascalCase.cjs.js +0 -1
  473. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.cjs.js +0 -1
  474. package/dist/src/components/animated-height/index.d.ts +0 -2
  475. package/dist/src/components/badge/index.d.ts +0 -2
  476. package/dist/src/components/checkbox/index.d.ts +0 -2
  477. package/dist/src/components/collapsible/index.d.ts +0 -2
  478. package/dist/src/components/date-input/index.d.ts +0 -1
  479. package/dist/src/components/date-picker/index.d.ts +0 -5
  480. package/dist/src/components/drawer/Drawer.d.ts +0 -23
  481. package/dist/src/components/drawer/index.d.ts +0 -2
  482. package/dist/src/components/info-tooltip/index.d.ts +0 -2
  483. package/dist/src/components/input/index.d.ts +0 -4
  484. package/dist/src/components/loading-spinner/index.d.ts +0 -2
  485. package/dist/src/components/modal/index.d.ts +0 -6
  486. package/dist/src/components/page-title/index.d.ts +0 -1
  487. package/dist/src/components/popover/index.d.ts +0 -2
  488. package/dist/src/components/select/index.d.ts +0 -4
  489. package/dist/src/components/select/loading-dots.d.ts +0 -9
  490. package/dist/src/components/switch/index.d.ts +0 -2
  491. package/dist/src/components/table/hooks/useInfiniteScroll.d.ts +0 -58
  492. package/dist/src/components/table/index.d.ts +0 -27
  493. package/dist/src/components/table-checkbox/index.d.ts +0 -1
  494. package/dist/src/components/textarea/index.d.ts +0 -2
  495. package/dist/src/components/toast/index.d.ts +0 -3
  496. package/dist/src/components/toolbar/index.d.ts +0 -2
  497. package/dist/src/components/tooltip/index.d.ts +0 -2
  498. package/dist/src/hooks/index.d.ts +0 -4
  499. package/dist/src/index.d.ts +0 -27
  500. package/dist/src/lib/index.d.ts +0 -6
  501. /package/dist/_virtual/_rolldown/{runtime.cjs.js → runtime.cjs} +0 -0
  502. /package/dist/{src/components → components}/animated-height/AnimatedHeight.d.ts +0 -0
  503. /package/dist/{src/components → components}/badge/types.d.ts +0 -0
  504. /package/dist/{src/components → components}/button/types.d.ts +0 -0
  505. /package/dist/{src/components → components}/checkbox/types.d.ts +0 -0
  506. /package/dist/{src/components → components}/collapsible/Collapsible.d.ts +0 -0
  507. /package/dist/{src/components → components}/info-tooltip/InfoTooltip.d.ts +0 -0
  508. /package/dist/{src/components → components}/loading-spinner/LoadingSpinner.d.ts +0 -0
  509. /package/dist/{src/components → components}/page-title/PageTitle.d.ts +0 -0
  510. /package/dist/{src/components → components}/popover/Popover.d.ts +0 -0
  511. /package/dist/{src/components → components}/search-box/ExactMatchToggle.d.ts +0 -0
  512. /package/dist/{src/components → components}/search-box/SearchBoxChips.d.ts +0 -0
  513. /package/dist/{src/components → components}/search-box/SearchBoxFloatingInput.d.ts +0 -0
  514. /package/dist/{src/components → components}/search-box/SearchBoxMonth.d.ts +0 -0
  515. /package/dist/components/search-box/{SearchBoxSheetContext.cjs.js → SearchBoxSheetContext.cjs} +0 -0
  516. /package/dist/{src/components → components}/search-box/SearchBoxSheetContext.d.ts +0 -0
  517. /package/dist/components/search-box/{parseDateRange.cjs.js → parseDateRange.cjs} +0 -0
  518. /package/dist/{src/components → components}/search-box/parseDateRange.d.ts +0 -0
  519. /package/dist/{src/components → components}/select/types.d.ts +0 -0
  520. /package/dist/{src/components → components}/switch/types.d.ts +0 -0
  521. /package/dist/components/table/{column-group-utils.cjs.js → column-group-utils.cjs} +0 -0
  522. /package/dist/{src/components → components}/table/components/KeyboardNavButton.d.ts +0 -0
  523. /package/dist/{src/components → components}/table/components/PageJumpInput.d.ts +0 -0
  524. /package/dist/{src/components → components}/table/components/Pagination.d.ts +0 -0
  525. /package/dist/{src/components → components}/table/components/PaginationFooter.d.ts +0 -0
  526. /package/dist/components/table/components/{SortableHeaderCell.cjs.js → SortableHeaderCell.cjs} +0 -0
  527. /package/dist/{src/components → components}/table/components/SortableHeaderCell.d.ts +0 -0
  528. /package/dist/components/table/hooks/{useTableSort.cjs.js → useTableSort.cjs} +0 -0
  529. /package/dist/{src/components → components}/table/hooks/useVirtualTable.d.ts +0 -0
  530. /package/dist/{src/components → components}/table/types.d.ts +0 -0
  531. /package/dist/{src/components → components}/table-checkbox/TableCheckbox.d.ts +0 -0
  532. /package/dist/{src/components → components}/table-page-layout/TablePageLayout.d.ts +0 -0
  533. /package/dist/{src/components → components}/textarea/types.d.ts +0 -0
  534. /package/dist/{src/components → components}/tooltip/Tooltip.d.ts +0 -0
  535. /package/dist/hooks/{useBottomSheetDrag.cjs.js → useBottomSheetDrag.cjs} +0 -0
  536. /package/dist/{src/hooks → hooks}/useBottomSheetDrag.d.ts +0 -0
  537. /package/dist/hooks/{useClickOutside.cjs.js → useClickOutside.cjs} +0 -0
  538. /package/dist/{src/hooks → hooks}/useClickOutside.d.ts +0 -0
  539. /package/dist/hooks/{useMediaQuery.cjs.js → useMediaQuery.cjs} +0 -0
  540. /package/dist/{src/hooks → hooks}/useMediaQuery.d.ts +0 -0
  541. /package/dist/hooks/{useScrollLock.cjs.js → useScrollLock.cjs} +0 -0
  542. /package/dist/{src/hooks → hooks}/useScrollLock.d.ts +0 -0
  543. /package/dist/lib/{Portal.cjs.js → Portal.cjs} +0 -0
  544. /package/dist/{src/lib → lib}/Portal.d.ts +0 -0
  545. /package/dist/lib/{column-preset-storage.cjs.js → column-preset-storage.cjs} +0 -0
  546. /package/dist/{src/lib → lib}/column-preset-storage.d.ts +0 -0
  547. /package/dist/lib/{overlay-stack.cjs.js → overlay-stack.cjs} +0 -0
  548. /package/dist/{src/lib → lib}/overlay-stack.d.ts +0 -0
  549. /package/dist/node_modules/clsx/dist/{clsx.cjs.js → clsx.cjs} +0 -0
  550. /package/dist/node_modules/lucide-react/dist/esm/{context.cjs.js → context.cjs} +0 -0
  551. /package/dist/node_modules/lucide-react/dist/esm/{defaultAttributes.cjs.js → defaultAttributes.cjs} +0 -0
  552. /package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/{hasA11yProp.cjs.js → hasA11yProp.cjs} +0 -0
  553. /package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/{mergeClasses.cjs.js → mergeClasses.cjs} +0 -0
  554. /package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/{toCamelCase.cjs.js → toCamelCase.cjs} +0 -0
  555. /package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/{toKebabCase.cjs.js → toKebabCase.cjs} +0 -0
  556. /package/dist/node_modules/use-debounce/dist/{index.module.cjs.js → index.module.cjs} +0 -0
@@ -0,0 +1 @@
1
+ const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../lib/utils.cjs"),n=require("../../../node_modules/lucide-react/dist/esm/icons/settings.cjs"),r=require("../../../hooks/useMediaQuery.cjs"),i=require("../../modal/Modal.cjs"),a=require("./ColumnSettingsTable.cjs");let o=require("react"),s=require("react/jsx-runtime"),c=require("motion/react"),l=require("@floating-ui/react"),u=require("react-hot-toast");u=e.__toESM(u,1);var d=500,f=12,p=5,m=[1,2,3];function h({columns:e,columnGroups:h,activePreset:g,columnOrder:_,hiddenColumns:v,columnWidths:y,isDirty:b,hasPreset:x,onApplyPreset:S,onSaveActivePreset:C,onResetActivePreset:w,onColumnOrderChange:T,onHiddenColumnsChange:E,onSetColumnWidth:D,className:O=``}){let k=e.filter(e=>!e.excludeFromPreset),A=new Set(e.filter(e=>e.excludeFromPreset).map(e=>e.key)),[j,M]=(0,o.useState)(!1),N=r.useIsMobile(),P=(0,o.useId)(),{refs:F,floatingStyles:I,context:L}=(0,l.useFloating)({open:!N&&j,onOpenChange:M,placement:`bottom-start`,whileElementsMounted:l.autoUpdate,middleware:[(0,l.offset)(p),(0,l.flip)(),(0,l.shift)({padding:f}),(0,l.size)({apply({availableWidth:e,elements:t}){let n=Math.min(d,e);Object.assign(t.floating.style,{width:`${n}px`,maxWidth:`${d}px`})}})]}),{getReferenceProps:R,getFloatingProps:z}=(0,l.useInteractions)([(0,l.useClick)(L),(0,l.useDismiss)(L),(0,l.useRole)(L,{role:`dialog`})]),B=e=>{g!==e&&(S(e),M(!1),u.default.success(`프리셋 ${e}을(를) 적용했어요.`))},V=e=>{let t=_.map((e,t)=>({key:e,index:t})).filter(({key:e})=>A.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)}),T(n)},H=(e,t)=>{if(t)E(v.filter(t=>t!==e));else{if(_.length-A.size-v.filter(e=>!A.has(e)).length<=1){u.default.error(`최소 1개 이상의 컬럼은 표시되어야 해요.`);return}E([...v,e])}},U=()=>{if(!C()){u.default.error(`저장할 수 없는 상태예요.`);return}M(!1),u.default.success(`프리셋 ${g}에 저장했어요.`)},W=()=>{w(),M(!1),u.default.success(`프리셋 ${g}을(를) 초기화했어요.`)},G=_.filter(e=>!A.has(e)),K=v.filter(e=>!A.has(e));return(0,s.jsxs)(`div`,{className:t.cn(`inline-flex`,O),children:[(0,s.jsxs)(`div`,{className:`inline-flex h-7.5 items-center gap-0 rounded-full bg-bg-subtle p-0.75 sm:h-8.5`,role:`group`,"aria-label":`컬럼 프리셋 선택`,children:[(0,s.jsxs)(`button`,{ref:F.setReference,...N?{type:`button`,onClick:()=>M(e=>!e),"aria-label":`테이블 프리셋 설정`,title:b?`저장하지 않은 변경이 있어요`:`테이블 프리셋 설정`,className:`relative ml-1 flex h-6 w-6 items-center justify-center rounded-full text-icon-secondary transition-colors hover:text-icon-primary sm:h-7 sm:w-7`}:R({type:`button`,"aria-label":`테이블 프리셋 설정`,title:b?`저장하지 않은 변경이 있어요`:`테이블 프리셋 설정`,className:`relative ml-1 flex h-6 w-6 items-center justify-center rounded-full text-icon-secondary transition-colors hover:text-icon-primary sm:h-7 sm:w-7`}),children:[(0,s.jsx)(n.Settings,{className:`h-3 w-3 sm:h-3.5 sm:w-3.5`}),b&&(0,s.jsx)(`span`,{"aria-hidden":`true`,className:`absolute top-0.5 right-0.5 h-1.5 w-1.5 rounded-full bg-error`})]}),(0,s.jsx)(`span`,{"aria-hidden":`true`,className:`ml-0.5 mr-1.5 h-4 w-px bg-border-subtle sm:h-4.5`}),m.map(e=>{let n=g===e;return(0,s.jsxs)(`button`,{type:`button`,onClick:()=>B(e),"aria-pressed":n,title:n?`현재 활성화된 프리셋이에요`:x(e)?`프리셋 ${e} 적용`:`프리셋 ${e} 기본값으로 초기화`,className:t.cn(`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`,n?`text-fg-default`:`text-fg-muted`),children:[n&&(0,s.jsx)(c.motion.span,{layoutId:`preset-active-${P}`,className:`absolute inset-0 rounded-full bg-bg-surface shadow-control`,transition:{type:`spring`,stiffness:500,damping:38}}),(0,s.jsxs)(`span`,{className:`relative`,children:[(0,s.jsx)(`span`,{className:`hidden sm:inline`,children:`프리셋`}),e]})]},e)})]}),!N&&j&&(0,s.jsx)(l.FloatingPortal,{children:(0,s.jsx)(`div`,{ref:F.setFloating,style:I,...z(),className:`z-floating overflow-hidden rounded-surface border-2 border-border-subtle shadow-overlay`,children:(0,s.jsx)(a.ColumnSettingsTable,{num:String(g),columns:k,columnGroups:h,columnOrder:G,hiddenColumns:K,columnWidths:y,onOrderChange:V,onHiddenChange:H,onSetColumnWidth:D,onSave:U,onReset:W})})}),N&&(0,s.jsx)(i.Modal,{isOpen:j,onClose:()=>M(!1),title:`프리셋 ${g} 설정`,children:(0,s.jsx)(a.ColumnSettingsTable,{num:String(g),columns:k,columnOrder:G,hiddenColumns:K,columnWidths:y,onOrderChange:V,onHiddenChange:H,onSetColumnWidth:D,onSave:U,onReset:W})})]})}exports.ColumnPresetSelector=h;
@@ -1,5 +1,5 @@
1
- import { PresetNumber } from '../../../../lib/column-preset-storage';
2
- import { TableColumn, TableColumnGroupMeta } from '../types';
1
+ import { PresetNumber } from '../../../lib/column-preset-storage.js';
2
+ import { TableColumn, TableColumnGroupMeta } from '../types.js';
3
3
  interface ColumnPresetSelectorProps<T> {
4
4
  columns: TableColumn<T>[];
5
5
  columnGroups?: TableColumnGroupMeta[];
@@ -1,42 +1,43 @@
1
- import { Settings as e } from "../../../node_modules/lucide-react/dist/esm/icons/settings.esm.js";
2
- import { useIsMobile as t } from "../../../hooks/useMediaQuery.esm.js";
3
- import { Modal as n } from "../../modal/Modal.esm.js";
4
- import { ColumnSettingsTable as r } from "./ColumnSettingsTable.esm.js";
5
- import { useId as ee, useState as i } from "react";
6
- import { jsx as a, jsxs as o } from "react/jsx-runtime";
7
- import { motion as te } from "motion/react";
8
- import { FloatingPortal as s, autoUpdate as c, flip as l, offset as u, shift as d, size as f, useClick as p, useDismiss as ne, useFloating as re, useInteractions as m, useRole as h } from "@floating-ui/react";
9
- import g from "react-hot-toast";
1
+ import { cn as e } from "../../../lib/utils.esm.js";
2
+ import { Settings as t } from "../../../node_modules/lucide-react/dist/esm/icons/settings.esm.js";
3
+ import { useIsMobile as n } from "../../../hooks/useMediaQuery.esm.js";
4
+ import { Modal as r } from "../../modal/Modal.esm.js";
5
+ import { ColumnSettingsTable as i } from "./ColumnSettingsTable.esm.js";
6
+ import { useId as a, useState as o } from "react";
7
+ import { jsx as s, jsxs as c } from "react/jsx-runtime";
8
+ import { motion as l } from "motion/react";
9
+ import { FloatingPortal as ee, autoUpdate as te, flip as u, offset as d, shift as f, size as p, useClick as m, useDismiss as h, useFloating as g, useInteractions as ne, useRole as re } from "@floating-ui/react";
10
+ import _ from "react-hot-toast";
10
11
  //#region src/components/table/components/ColumnPresetSelector.tsx
11
- var _ = 500, v = 12, y = 5, b = [
12
+ var v = 500, y = 12, b = 5, x = [
12
13
  1,
13
14
  2,
14
15
  3
15
16
  ];
16
- function x({ columns: x, columnGroups: S, activePreset: C, columnOrder: w, hiddenColumns: T, columnWidths: E, isDirty: D, hasPreset: O, onApplyPreset: k, onSaveActivePreset: A, onResetActivePreset: j, onColumnOrderChange: M, onHiddenColumnsChange: N, onSetColumnWidth: P, className: F = "" }) {
17
- let I = x.filter((e) => !e.excludeFromPreset), L = new Set(x.filter((e) => e.excludeFromPreset).map((e) => e.key)), [R, z] = i(!1), B = t(), V = ee(), { refs: H, floatingStyles: U, context: W } = re({
17
+ function S({ columns: S, columnGroups: ie, activePreset: C, columnOrder: w, hiddenColumns: T, columnWidths: E, isDirty: D, hasPreset: O, onApplyPreset: k, onSaveActivePreset: A, onResetActivePreset: j, onColumnOrderChange: M, onHiddenColumnsChange: N, onSetColumnWidth: P, className: F = "" }) {
18
+ let I = S.filter((e) => !e.excludeFromPreset), L = new Set(S.filter((e) => e.excludeFromPreset).map((e) => e.key)), [R, z] = o(!1), B = n(), V = a(), { refs: H, floatingStyles: U, context: W } = g({
18
19
  open: !B && R,
19
20
  onOpenChange: z,
20
21
  placement: "bottom-start",
21
- whileElementsMounted: c,
22
+ whileElementsMounted: te,
22
23
  middleware: [
23
- u(y),
24
- l(),
25
- d({ padding: v }),
26
- f({ apply({ availableWidth: e, elements: t }) {
27
- let n = Math.min(_, e);
24
+ d(b),
25
+ u(),
26
+ f({ padding: y }),
27
+ p({ apply({ availableWidth: e, elements: t }) {
28
+ let n = Math.min(v, e);
28
29
  Object.assign(t.floating.style, {
29
30
  width: `${n}px`,
30
- maxWidth: `${_}px`
31
+ maxWidth: `${v}px`
31
32
  });
32
33
  } })
33
34
  ]
34
- }), { getReferenceProps: G, getFloatingProps: K } = m([
35
- p(W),
36
- ne(W),
37
- h(W, { role: "dialog" })
35
+ }), { getReferenceProps: G, getFloatingProps: K } = ne([
36
+ m(W),
37
+ h(W),
38
+ re(W, { role: "dialog" })
38
39
  ]), q = (e) => {
39
- C !== e && (k(e), z(!1), g.success(`프리셋 ${e}을(를) 적용했어요.`));
40
+ C !== e && (k(e), z(!1), _.success(`프리셋 ${e}을(를) 적용했어요.`));
40
41
  }, J = (e) => {
41
42
  let t = w.map((e, t) => ({
42
43
  key: e,
@@ -50,87 +51,87 @@ function x({ columns: x, columnGroups: S, activePreset: C, columnOrder: w, hidde
50
51
  if (t) N(T.filter((t) => t !== e));
51
52
  else {
52
53
  if (w.length - L.size - T.filter((e) => !L.has(e)).length <= 1) {
53
- g.error("최소 1개 이상의 컬럼은 표시되어야 해요.");
54
+ _.error("최소 1개 이상의 컬럼은 표시되어야 해요.");
54
55
  return;
55
56
  }
56
57
  N([...T, e]);
57
58
  }
58
59
  }, X = () => {
59
60
  if (!A()) {
60
- g.error("저장할 수 없는 상태예요.");
61
+ _.error("저장할 수 없는 상태예요.");
61
62
  return;
62
63
  }
63
- z(!1), g.success(`프리셋 ${C}에 저장했어요.`);
64
+ z(!1), _.success(`프리셋 ${C}에 저장했어요.`);
64
65
  }, Z = () => {
65
- j(), z(!1), g.success(`프리셋 ${C}을(를) 초기화했어요.`);
66
+ j(), z(!1), _.success(`프리셋 ${C}을(를) 초기화했어요.`);
66
67
  }, Q = w.filter((e) => !L.has(e)), $ = T.filter((e) => !L.has(e));
67
- return /* @__PURE__ */ o("div", {
68
- className: `inline-flex ${F}`,
68
+ return /* @__PURE__ */ c("div", {
69
+ className: e("inline-flex", F),
69
70
  children: [
70
- /* @__PURE__ */ o("div", {
71
- className: "inline-flex h-7.5 items-center gap-0 rounded-full bg-bg-base-secondary p-0.75 sm:h-8.5",
71
+ /* @__PURE__ */ c("div", {
72
+ className: "inline-flex h-7.5 items-center gap-0 rounded-full bg-bg-subtle p-0.75 sm:h-8.5",
72
73
  role: "group",
73
74
  "aria-label": "컬럼 프리셋 선택",
74
75
  children: [
75
- /* @__PURE__ */ o("button", {
76
+ /* @__PURE__ */ c("button", {
76
77
  ref: H.setReference,
77
78
  ...B ? {
78
79
  type: "button",
79
80
  onClick: () => z((e) => !e),
80
81
  "aria-label": "테이블 프리셋 설정",
81
82
  title: D ? "저장하지 않은 변경이 있어요" : "테이블 프리셋 설정",
82
- 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"
83
+ className: "relative ml-1 flex h-6 w-6 items-center justify-center rounded-full text-icon-secondary transition-colors hover:text-icon-primary sm:h-7 sm:w-7"
83
84
  } : G({
84
85
  type: "button",
85
86
  "aria-label": "테이블 프리셋 설정",
86
87
  title: D ? "저장하지 않은 변경이 있어요" : "테이블 프리셋 설정",
87
- 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"
88
+ className: "relative ml-1 flex h-6 w-6 items-center justify-center rounded-full text-icon-secondary transition-colors hover:text-icon-primary sm:h-7 sm:w-7"
88
89
  }),
89
- children: [/* @__PURE__ */ a(e, { className: "h-3 w-3 sm:h-3.5 sm:w-3.5" }), D && /* @__PURE__ */ a("span", {
90
+ children: [/* @__PURE__ */ s(t, { className: "h-3 w-3 sm:h-3.5 sm:w-3.5" }), D && /* @__PURE__ */ s("span", {
90
91
  "aria-hidden": "true",
91
- className: "absolute top-0.5 right-0.5 h-1.5 w-1.5 rounded-full bg-brand-blue-secondary"
92
+ className: "absolute top-0.5 right-0.5 h-1.5 w-1.5 rounded-full bg-error"
92
93
  })]
93
94
  }),
94
- /* @__PURE__ */ a("span", {
95
+ /* @__PURE__ */ s("span", {
95
96
  "aria-hidden": "true",
96
- className: "ml-0.5 mr-1.5 h-4 w-px bg-bg-base-tertiary sm:h-4.5"
97
+ className: "ml-0.5 mr-1.5 h-4 w-px bg-border-subtle sm:h-4.5"
97
98
  }),
98
- b.map((e) => {
99
- let t = C === e;
100
- return /* @__PURE__ */ o("button", {
99
+ x.map((t) => {
100
+ let n = C === t;
101
+ return /* @__PURE__ */ c("button", {
101
102
  type: "button",
102
- onClick: () => q(e),
103
- "aria-pressed": t,
104
- title: t ? "현재 활성화된 프리셋이에요" : O(e) ? `프리셋 ${e} 적용` : `프리셋 ${e} 기본값으로 초기화`,
105
- 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"}`,
106
- children: [t && /* @__PURE__ */ a(te.span, {
103
+ onClick: () => q(t),
104
+ "aria-pressed": n,
105
+ title: n ? "현재 활성화된 프리셋이에요" : O(t) ? `프리셋 ${t} 적용` : `프리셋 ${t} 기본값으로 초기화`,
106
+ className: e("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", n ? "text-fg-default" : "text-fg-muted"),
107
+ children: [n && /* @__PURE__ */ s(l.span, {
107
108
  layoutId: `preset-active-${V}`,
108
- className: "absolute inset-0 rounded-full bg-white shadow-sm dark:bg-bg-base-tertiary",
109
+ className: "absolute inset-0 rounded-full bg-bg-surface shadow-control",
109
110
  transition: {
110
111
  type: "spring",
111
112
  stiffness: 500,
112
113
  damping: 38
113
114
  }
114
- }), /* @__PURE__ */ o("span", {
115
+ }), /* @__PURE__ */ c("span", {
115
116
  className: "relative",
116
- children: [/* @__PURE__ */ a("span", {
117
+ children: [/* @__PURE__ */ s("span", {
117
118
  className: "hidden sm:inline",
118
119
  children: "프리셋"
119
- }), e]
120
+ }), t]
120
121
  })]
121
- }, e);
122
+ }, t);
122
123
  })
123
124
  ]
124
125
  }),
125
- !B && R && /* @__PURE__ */ a(s, { children: /* @__PURE__ */ a("div", {
126
+ !B && R && /* @__PURE__ */ s(ee, { children: /* @__PURE__ */ s("div", {
126
127
  ref: H.setFloating,
127
128
  style: U,
128
129
  ...K(),
129
- className: "z-50 overflow-hidden rounded-lg border-2 border-neutral-200 shadow-lg dark:border-neutral-700",
130
- children: /* @__PURE__ */ a(r, {
130
+ className: "z-floating overflow-hidden rounded-surface border-2 border-border-subtle shadow-overlay",
131
+ children: /* @__PURE__ */ s(i, {
131
132
  num: String(C),
132
133
  columns: I,
133
- columnGroups: S,
134
+ columnGroups: ie,
134
135
  columnOrder: Q,
135
136
  hiddenColumns: $,
136
137
  columnWidths: E,
@@ -141,11 +142,11 @@ function x({ columns: x, columnGroups: S, activePreset: C, columnOrder: w, hidde
141
142
  onReset: Z
142
143
  })
143
144
  }) }),
144
- B && /* @__PURE__ */ a(n, {
145
+ B && /* @__PURE__ */ s(r, {
145
146
  isOpen: R,
146
147
  onClose: () => z(!1),
147
148
  title: `프리셋 ${C} 설정`,
148
- children: /* @__PURE__ */ a(r, {
149
+ children: /* @__PURE__ */ s(i, {
149
150
  num: String(C),
150
151
  columns: I,
151
152
  columnOrder: Q,
@@ -162,4 +163,4 @@ function x({ columns: x, columnGroups: S, activePreset: C, columnOrder: w, hidde
162
163
  });
163
164
  }
164
165
  //#endregion
165
- export { x as ColumnPresetSelector };
166
+ export { S as ColumnPresetSelector };
@@ -0,0 +1 @@
1
+ const e=require("../../../lib/utils.cjs"),t=require("../../../node_modules/lucide-react/dist/esm/icons/grip-vertical.cjs"),n=require("../../../node_modules/lucide-react/dist/esm/icons/rotate-ccw.cjs"),r=require("../../../node_modules/lucide-react/dist/esm/icons/save.cjs"),i=require("../../table-checkbox/TableCheckbox.cjs"),a=require("../column-group-utils.cjs");let o=require("react"),s=require("react/jsx-runtime"),c=require("@dnd-kit/core"),l=require("@dnd-kit/sortable"),u=require("@dnd-kit/utilities");function d({slot:n,index:r,isHidden:a,width:o,onHiddenChange:c,onSetColumnWidth:d}){let{attributes:p,listeners:m,setNodeRef:h,transform:g,transition:_,isDragging:v}=(0,l.useSortable)({id:n.key}),y={transform:u.CSS.Transform.toString(g),transition:_,opacity:v?.5:1},b=typeof n.header==`string`?n.header:n.key,x=n.kind===`group`;return(0,s.jsxs)(`tr`,{ref:h,style:y,className:e.cn(`border-b border-border-subtle transition-colors`,a?`bg-bg-subtle text-fg-subtle`:`bg-bg-surface text-fg-default hover:bg-bg-subtle`),children:[(0,s.jsx)(`td`,{className:`w-10 px-2 py-2 text-center cursor-grab active:cursor-grabbing`,...p,...m,children:(0,s.jsx)(t.GripVertical,{size:16,className:`text-icon-tertiary mx-auto`})}),(0,s.jsxs)(`td`,{className:`px-2 py-2 text-sm whitespace-nowrap`,children:[b,x&&(0,s.jsxs)(`span`,{className:`ml-1.5 text-xs text-fg-subtle`,children:[`(그룹 · `,n.leafColumns.length,`개)`]})]}),(0,s.jsx)(`td`,{className:`w-14 px-2 py-2 text-center text-sm`,children:r+1}),(0,s.jsx)(`td`,{className:`w-20 px-2 py-2 text-center text-sm tabular-nums`,children:x?(0,s.jsx)(`span`,{className:`text-fg-subtle`,children:`—`}):d?(0,s.jsx)(f,{columnKey:n.key,width:o,onSetColumnWidth:d}):(0,s.jsx)(`span`,{className:`text-fg-subtle`,children:o?`${o}px`:`—`})}),(0,s.jsx)(`td`,{className:`w-14 px-2 py-2 text-center`,children:(0,s.jsx)(`div`,{className:`flex justify-center`,children:(0,s.jsx)(i.TableCheckbox,{checked:a,onChange:e=>c(n.key,!e),ariaLabel:`${b} 숨김`})})})]})}function f({columnKey:e,width:t,onSetColumnWidth:n}){let[r,i]=(0,o.useState)(t?String(t):``);return(0,o.useEffect)(()=>{i(t?String(t):``)},[t]),(0,s.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-control-mini border border-border-subtle bg-bg-surface px-1.5 py-0.5 text-center text-xs tabular-nums text-fg-default transition-colors hover:border-primary-border focus:border-primary focus:outline-hidden focus-visible:ring-control focus-visible:ring-focus-primary`})}function p({columns:e,columnGroups:t,columnOrder:i,hiddenColumns:o,columnWidths:u,num:f,onOrderChange:p,onHiddenChange:m,onSetColumnWidth:h,onSave:g,onReset:_}){let v=(0,c.useSensors)((0,c.useSensor)(c.PointerSensor,{activationConstraint:{distance:5}}),(0,c.useSensor)(c.KeyboardSensor,{coordinateGetter:l.sortableKeyboardCoordinates})),y=a.buildColumnSlots(e,t),b=new Map(y.map(e=>[e.key,e])),x=i.map(e=>b.get(e)).filter(e=>!!e);return(0,s.jsxs)(`div`,{className:`w-full overflow-y-auto bg-bg-surface text-fg-default`,style:{maxHeight:500},children:[(0,s.jsxs)(`div`,{className:`sticky top-0 bg-bg-subtle px-4 py-3 font-semibold z-10 border-b border-border-subtle`,children:[(0,s.jsx)(`span`,{className:`text-base`,children:`컬럼 설정`}),(0,s.jsxs)(`span`,{className:`ml-2 text-sm text-fg-subtle`,children:[`프리셋 `,f]})]}),(0,s.jsx)(c.DndContext,{sensors:v,collisionDetection:c.closestCenter,onDragEnd:e=>{let{active:t,over:n}=e;if(!n||t.id===n.id)return;let r=i.indexOf(String(t.id)),a=i.indexOf(String(n.id));r===-1||a===-1||p((0,l.arrayMove)(i,r,a))},children:(0,s.jsxs)(`table`,{className:`w-full`,children:[(0,s.jsx)(`thead`,{className:`bg-bg-subtle sticky top-12 z-10`,children:(0,s.jsxs)(`tr`,{className:`border-y border-border-subtle font-bold`,children:[(0,s.jsx)(`th`,{className:`w-10 px-2 py-2`}),(0,s.jsx)(`th`,{className:`px-2 py-2 text-center text-sm font-medium text-fg-muted whitespace-nowrap`,children:`컬럼명`}),(0,s.jsx)(`th`,{className:`w-14 px-2 py-2 text-center text-sm font-medium text-fg-muted`,children:`순서`}),(0,s.jsx)(`th`,{className:`w-20 px-2 py-2 text-center text-sm font-medium text-fg-muted`,children:`너비`}),(0,s.jsx)(`th`,{className:`w-14 px-2 py-2 text-center text-sm font-medium text-fg-muted`,children:`숨김`})]})}),(0,s.jsx)(`tbody`,{children:(0,s.jsx)(l.SortableContext,{items:i,strategy:l.verticalListSortingStrategy,children:x.map((e,t)=>(0,s.jsx)(d,{slot:e,index:t,isHidden:o.includes(e.key),width:u[e.key],onHiddenChange:m,onSetColumnWidth:h},e.key))})})]})}),(0,s.jsxs)(`div`,{className:`sticky bottom-0 bg-bg-surface border-t border-border-subtle px-4 py-3 flex justify-end gap-2 z-10`,children:[(0,s.jsxs)(`button`,{type:`button`,onClick:_,className:`px-3 py-1 border border-border-default text-fg-default rounded-control-small text-sm hover:bg-bg-subtle transition-colors flex items-center gap-1`,children:[(0,s.jsx)(n.RotateCcw,{size:12}),(0,s.jsx)(`span`,{className:`text-xs`,children:`초기화`})]}),(0,s.jsxs)(`button`,{type:`button`,onClick:g,className:`px-3 py-1 bg-primary text-fg-inverse rounded-control-small transition-colors flex items-center gap-1 hover:bg-primary-hover`,children:[(0,s.jsx)(r.Save,{size:12}),(0,s.jsx)(`span`,{className:`text-xs`,children:`저장`})]})]})]})}exports.ColumnSettingsTable=p;
@@ -1,4 +1,4 @@
1
- import { TableColumn, TableColumnGroupMeta } from '../types';
1
+ import { TableColumn, TableColumnGroupMeta } from '../types.js';
2
2
  /** ColumnSettingsTable의 max-height. ColumnPresetSelector의 dropdown 위치 계산에 공유돼요. */
3
3
  export declare const COLUMN_SETTINGS_DROPDOWN_MAX_HEIGHT = 500;
4
4
  interface ColumnSettingsTableProps<T> {
@@ -1,84 +1,82 @@
1
- import { GripVertical as e } from "../../../node_modules/lucide-react/dist/esm/icons/grip-vertical.esm.js";
2
- import { RotateCcw as t } from "../../../node_modules/lucide-react/dist/esm/icons/rotate-ccw.esm.js";
3
- import { Save as n } from "../../../node_modules/lucide-react/dist/esm/icons/save.esm.js";
4
- import { TableCheckbox as r } from "../../table-checkbox/TableCheckbox.esm.js";
5
- import { buildColumnSlots as i } from "../column-group-utils.esm.js";
6
- import { useEffect as a, useState as o } from "react";
7
- import { jsx as s, jsxs as c } from "react/jsx-runtime";
8
- import { DndContext as l, KeyboardSensor as u, PointerSensor as d, closestCenter as f, useSensor as p, useSensors as m } from "@dnd-kit/core";
9
- import { SortableContext as h, arrayMove as g, sortableKeyboardCoordinates as _, useSortable as v, verticalListSortingStrategy as y } from "@dnd-kit/sortable";
10
- import { CSS as b } from "@dnd-kit/utilities";
11
- function x({ slot: t, index: n, isHidden: i, width: a, onHiddenChange: o, onSetColumnWidth: l }) {
12
- let { attributes: u, listeners: d, setNodeRef: f, transform: p, transition: m, isDragging: h } = v({ id: t.key }), g = {
13
- transform: b.Transform.toString(p),
14
- transition: m,
15
- opacity: h ? .5 : 1
16
- }, _ = typeof t.header == "string" ? t.header : t.key, y = t.kind === "group";
17
- return /* @__PURE__ */ c("tr", {
18
- ref: f,
19
- style: g,
20
- className: `
21
- border-b border-neutral-200 dark:border-neutral-700 transition-colors
22
- ${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"}
23
- `,
1
+ import { cn as e } from "../../../lib/utils.esm.js";
2
+ import { GripVertical as t } from "../../../node_modules/lucide-react/dist/esm/icons/grip-vertical.esm.js";
3
+ import { RotateCcw as n } from "../../../node_modules/lucide-react/dist/esm/icons/rotate-ccw.esm.js";
4
+ import { Save as r } from "../../../node_modules/lucide-react/dist/esm/icons/save.esm.js";
5
+ import { TableCheckbox as i } from "../../table-checkbox/TableCheckbox.esm.js";
6
+ import { buildColumnSlots as a } from "../column-group-utils.esm.js";
7
+ import { useEffect as o, useState as s } from "react";
8
+ import { jsx as c, jsxs as l } from "react/jsx-runtime";
9
+ import { DndContext as u, KeyboardSensor as d, PointerSensor as f, closestCenter as p, useSensor as m, useSensors as h } from "@dnd-kit/core";
10
+ import { SortableContext as g, arrayMove as _, sortableKeyboardCoordinates as v, useSortable as y, verticalListSortingStrategy as b } from "@dnd-kit/sortable";
11
+ import { CSS as x } from "@dnd-kit/utilities";
12
+ function S({ slot: n, index: r, isHidden: a, width: o, onHiddenChange: s, onSetColumnWidth: u }) {
13
+ let { attributes: d, listeners: f, setNodeRef: p, transform: m, transition: h, isDragging: g } = y({ id: n.key }), _ = {
14
+ transform: x.Transform.toString(m),
15
+ transition: h,
16
+ opacity: g ? .5 : 1
17
+ }, v = typeof n.header == "string" ? n.header : n.key, b = n.kind === "group";
18
+ return /* @__PURE__ */ l("tr", {
19
+ ref: p,
20
+ style: _,
21
+ className: e("border-b border-border-subtle transition-colors", a ? "bg-bg-subtle text-fg-subtle" : "bg-bg-surface text-fg-default hover:bg-bg-subtle"),
24
22
  children: [
25
- /* @__PURE__ */ s("td", {
23
+ /* @__PURE__ */ c("td", {
26
24
  className: "w-10 px-2 py-2 text-center cursor-grab active:cursor-grabbing",
27
- ...u,
28
25
  ...d,
29
- children: /* @__PURE__ */ s(e, {
26
+ ...f,
27
+ children: /* @__PURE__ */ c(t, {
30
28
  size: 16,
31
- className: "text-neutral-400 dark:text-neutral-500 mx-auto"
29
+ className: "text-icon-tertiary mx-auto"
32
30
  })
33
31
  }),
34
- /* @__PURE__ */ c("td", {
32
+ /* @__PURE__ */ l("td", {
35
33
  className: "px-2 py-2 text-sm whitespace-nowrap",
36
- children: [_, y && /* @__PURE__ */ c("span", {
37
- className: "ml-1.5 text-xs text-neutral-500 dark:text-neutral-400",
34
+ children: [v, b && /* @__PURE__ */ l("span", {
35
+ className: "ml-1.5 text-xs text-fg-subtle",
38
36
  children: [
39
37
  "(그룹 · ",
40
- t.leafColumns.length,
38
+ n.leafColumns.length,
41
39
  "개)"
42
40
  ]
43
41
  })]
44
42
  }),
45
- /* @__PURE__ */ s("td", {
43
+ /* @__PURE__ */ c("td", {
46
44
  className: "w-14 px-2 py-2 text-center text-sm",
47
- children: n + 1
45
+ children: r + 1
48
46
  }),
49
- /* @__PURE__ */ s("td", {
47
+ /* @__PURE__ */ c("td", {
50
48
  className: "w-20 px-2 py-2 text-center text-sm tabular-nums",
51
- children: y ? /* @__PURE__ */ s("span", {
52
- className: "text-neutral-400 dark:text-neutral-500",
49
+ children: b ? /* @__PURE__ */ c("span", {
50
+ className: "text-fg-subtle",
53
51
  children: "—"
54
- }) : l ? /* @__PURE__ */ s(S, {
55
- columnKey: t.key,
56
- width: a,
57
- onSetColumnWidth: l
58
- }) : /* @__PURE__ */ s("span", {
59
- className: "text-neutral-500 dark:text-neutral-400",
60
- children: a ? `${a}px` : "—"
52
+ }) : u ? /* @__PURE__ */ c(C, {
53
+ columnKey: n.key,
54
+ width: o,
55
+ onSetColumnWidth: u
56
+ }) : /* @__PURE__ */ c("span", {
57
+ className: "text-fg-subtle",
58
+ children: o ? `${o}px` : "—"
61
59
  })
62
60
  }),
63
- /* @__PURE__ */ s("td", {
61
+ /* @__PURE__ */ c("td", {
64
62
  className: "w-14 px-2 py-2 text-center",
65
- children: /* @__PURE__ */ s("div", {
63
+ children: /* @__PURE__ */ c("div", {
66
64
  className: "flex justify-center",
67
- children: /* @__PURE__ */ s(r, {
68
- checked: i,
69
- onChange: (e) => o(t.key, !e),
70
- ariaLabel: `${_} 숨김`
65
+ children: /* @__PURE__ */ c(i, {
66
+ checked: a,
67
+ onChange: (e) => s(n.key, !e),
68
+ ariaLabel: `${v} 숨김`
71
69
  })
72
70
  })
73
71
  })
74
72
  ]
75
73
  });
76
74
  }
77
- function S({ columnKey: e, width: t, onSetColumnWidth: n }) {
78
- let [r, i] = o(t ? String(t) : "");
79
- return a(() => {
75
+ function C({ columnKey: e, width: t, onSetColumnWidth: n }) {
76
+ let [r, i] = s(t ? String(t) : "");
77
+ return o(() => {
80
78
  i(t ? String(t) : "");
81
- }, [t]), /* @__PURE__ */ s("input", {
79
+ }, [t]), /* @__PURE__ */ c("input", {
82
80
  type: "text",
83
81
  inputMode: "numeric",
84
82
  pattern: "[0-9]*",
@@ -101,89 +99,89 @@ function S({ columnKey: e, width: t, onSetColumnWidth: n }) {
101
99
  e.key === "Enter" ? (e.preventDefault(), e.target.blur()) : e.key === "Escape" && (i(t ? String(t) : ""), e.target.blur());
102
100
  },
103
101
  "aria-label": `${e} 컬럼 너비 (px)`,
104
- 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"
102
+ className: "w-16 rounded-control-mini border border-border-subtle bg-bg-surface px-1.5 py-0.5 text-center text-xs tabular-nums text-fg-default transition-colors hover:border-primary-border focus:border-primary focus:outline-hidden focus-visible:ring-control focus-visible:ring-focus-primary"
105
103
  });
106
104
  }
107
- function C({ columns: e, columnGroups: r, columnOrder: a, hiddenColumns: o, columnWidths: v, num: b, onOrderChange: S, onHiddenChange: C, onSetColumnWidth: w, onSave: T, onReset: E }) {
108
- let D = m(p(d, { activationConstraint: { distance: 5 } }), p(u, { coordinateGetter: _ })), O = i(e, r), k = new Map(O.map((e) => [e.key, e])), A = a.map((e) => k.get(e)).filter((e) => !!e);
109
- return /* @__PURE__ */ c("div", {
110
- className: "w-full overflow-y-auto bg-white dark:bg-neutral-800 text-neutral-900 dark:text-neutral-100",
105
+ function w({ columns: e, columnGroups: t, columnOrder: i, hiddenColumns: o, columnWidths: s, num: y, onOrderChange: x, onHiddenChange: C, onSetColumnWidth: w, onSave: T, onReset: E }) {
106
+ let D = h(m(f, { activationConstraint: { distance: 5 } }), m(d, { coordinateGetter: v })), O = a(e, t), k = new Map(O.map((e) => [e.key, e])), A = i.map((e) => k.get(e)).filter((e) => !!e);
107
+ return /* @__PURE__ */ l("div", {
108
+ className: "w-full overflow-y-auto bg-bg-surface text-fg-default",
111
109
  style: { maxHeight: 500 },
112
110
  children: [
113
- /* @__PURE__ */ c("div", {
114
- 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",
115
- children: [/* @__PURE__ */ s("span", {
111
+ /* @__PURE__ */ l("div", {
112
+ className: "sticky top-0 bg-bg-subtle px-4 py-3 font-semibold z-10 border-b border-border-subtle",
113
+ children: [/* @__PURE__ */ c("span", {
116
114
  className: "text-base",
117
115
  children: "컬럼 설정"
118
- }), /* @__PURE__ */ c("span", {
119
- className: "ml-2 text-sm text-neutral-500 dark:text-neutral-400",
120
- children: ["프리셋 ", b]
116
+ }), /* @__PURE__ */ l("span", {
117
+ className: "ml-2 text-sm text-fg-subtle",
118
+ children: ["프리셋 ", y]
121
119
  })]
122
120
  }),
123
- /* @__PURE__ */ s(l, {
121
+ /* @__PURE__ */ c(u, {
124
122
  sensors: D,
125
- collisionDetection: f,
123
+ collisionDetection: p,
126
124
  onDragEnd: (e) => {
127
125
  let { active: t, over: n } = e;
128
126
  if (!n || t.id === n.id) return;
129
- let r = a.indexOf(String(t.id)), i = a.indexOf(String(n.id));
130
- r === -1 || i === -1 || S(g(a, r, i));
127
+ let r = i.indexOf(String(t.id)), a = i.indexOf(String(n.id));
128
+ r === -1 || a === -1 || x(_(i, r, a));
131
129
  },
132
- children: /* @__PURE__ */ c("table", {
130
+ children: /* @__PURE__ */ l("table", {
133
131
  className: "w-full",
134
- children: [/* @__PURE__ */ s("thead", {
135
- className: "bg-neutral-50 dark:bg-neutral-900 sticky top-12 z-10",
136
- children: /* @__PURE__ */ c("tr", {
137
- className: "border-y border-neutral-200 dark:border-neutral-700 font-bold",
132
+ children: [/* @__PURE__ */ c("thead", {
133
+ className: "bg-bg-subtle sticky top-12 z-10",
134
+ children: /* @__PURE__ */ l("tr", {
135
+ className: "border-y border-border-subtle font-bold",
138
136
  children: [
139
- /* @__PURE__ */ s("th", { className: "w-10 px-2 py-2" }),
140
- /* @__PURE__ */ s("th", {
141
- className: "px-2 py-2 text-center text-sm font-medium text-neutral-700 dark:text-neutral-200 whitespace-nowrap",
137
+ /* @__PURE__ */ c("th", { className: "w-10 px-2 py-2" }),
138
+ /* @__PURE__ */ c("th", {
139
+ className: "px-2 py-2 text-center text-sm font-medium text-fg-muted whitespace-nowrap",
142
140
  children: "컬럼명"
143
141
  }),
144
- /* @__PURE__ */ s("th", {
145
- className: "w-14 px-2 py-2 text-center text-sm font-medium text-neutral-700 dark:text-neutral-200",
142
+ /* @__PURE__ */ c("th", {
143
+ className: "w-14 px-2 py-2 text-center text-sm font-medium text-fg-muted",
146
144
  children: "순서"
147
145
  }),
148
- /* @__PURE__ */ s("th", {
149
- className: "w-20 px-2 py-2 text-center text-sm font-medium text-neutral-700 dark:text-neutral-200",
146
+ /* @__PURE__ */ c("th", {
147
+ className: "w-20 px-2 py-2 text-center text-sm font-medium text-fg-muted",
150
148
  children: "너비"
151
149
  }),
152
- /* @__PURE__ */ s("th", {
153
- className: "w-14 px-2 py-2 text-center text-sm font-medium text-neutral-700 dark:text-neutral-200",
150
+ /* @__PURE__ */ c("th", {
151
+ className: "w-14 px-2 py-2 text-center text-sm font-medium text-fg-muted",
154
152
  children: "숨김"
155
153
  })
156
154
  ]
157
155
  })
158
- }), /* @__PURE__ */ s("tbody", { children: /* @__PURE__ */ s(h, {
159
- items: a,
160
- strategy: y,
161
- children: A.map((e, t) => /* @__PURE__ */ s(x, {
156
+ }), /* @__PURE__ */ c("tbody", { children: /* @__PURE__ */ c(g, {
157
+ items: i,
158
+ strategy: b,
159
+ children: A.map((e, t) => /* @__PURE__ */ c(S, {
162
160
  slot: e,
163
161
  index: t,
164
162
  isHidden: o.includes(e.key),
165
- width: v[e.key],
163
+ width: s[e.key],
166
164
  onHiddenChange: C,
167
165
  onSetColumnWidth: w
168
166
  }, e.key))
169
167
  }) })]
170
168
  })
171
169
  }),
172
- /* @__PURE__ */ c("div", {
173
- 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",
174
- children: [/* @__PURE__ */ c("button", {
170
+ /* @__PURE__ */ l("div", {
171
+ className: "sticky bottom-0 bg-bg-surface border-t border-border-subtle px-4 py-3 flex justify-end gap-2 z-10",
172
+ children: [/* @__PURE__ */ l("button", {
175
173
  type: "button",
176
174
  onClick: E,
177
- 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",
178
- children: [/* @__PURE__ */ s(t, { size: 12 }), /* @__PURE__ */ s("span", {
175
+ className: "px-3 py-1 border border-border-default text-fg-default rounded-control-small text-sm hover:bg-bg-subtle transition-colors flex items-center gap-1",
176
+ children: [/* @__PURE__ */ c(n, { size: 12 }), /* @__PURE__ */ c("span", {
179
177
  className: "text-xs",
180
178
  children: "초기화"
181
179
  })]
182
- }), /* @__PURE__ */ c("button", {
180
+ }), /* @__PURE__ */ l("button", {
183
181
  type: "button",
184
182
  onClick: T,
185
- className: "px-3 py-1 bg-primary-500 text-white rounded transition-colors flex items-center gap-1 hover:bg-primary-600",
186
- children: [/* @__PURE__ */ s(n, { size: 12 }), /* @__PURE__ */ s("span", {
183
+ className: "px-3 py-1 bg-primary text-fg-inverse rounded-control-small transition-colors flex items-center gap-1 hover:bg-primary-hover",
184
+ children: [/* @__PURE__ */ c(r, { size: 12 }), /* @__PURE__ */ c("span", {
187
185
  className: "text-xs",
188
186
  children: "저장"
189
187
  })]
@@ -193,4 +191,4 @@ function C({ columns: e, columnGroups: r, columnOrder: a, hiddenColumns: o, colu
193
191
  });
194
192
  }
195
193
  //#endregion
196
- export { C as ColumnSettingsTable };
194
+ export { w as ColumnSettingsTable };
@@ -0,0 +1 @@
1
+ const e=require("../../../node_modules/lucide-react/dist/esm/icons/keyboard.cjs");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-control-mini border border-border-subtle bg-bg-surface px-1.5 py-1 text-fg-muted transition-[color,background-color,border-color,gap] duration-200 hover:border-primary-border hover:text-primary-fg focus:gap-1.5 focus:border-primary focus:bg-primary-subtle focus:text-primary-fg focus:outline-hidden focus-visible:ring-control focus-visible:ring-focus-primary 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;
@@ -7,7 +7,7 @@ function r({ onKeyDown: r }) {
7
7
  onKeyDown: r,
8
8
  title: "키보드로 페이지 이동 (포커스 후 ← / → 키)",
9
9
  "aria-label": "키보드로 페이지 이동 활성화",
10
- 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",
10
+ className: "group/kbd inline-flex items-center gap-0 rounded-control-mini border border-border-subtle bg-bg-surface px-1.5 py-1 text-fg-muted transition-[color,background-color,border-color,gap] duration-200 hover:border-primary-border hover:text-primary-fg focus:gap-1.5 focus:border-primary focus:bg-primary-subtle focus:text-primary-fg focus:outline-hidden focus-visible:ring-control focus-visible:ring-focus-primary pointer-coarse:hidden",
11
11
  children: [/* @__PURE__ */ t(e, {
12
12
  className: "h-3.5 w-3.5 shrink-0",
13
13
  "aria-hidden": "true"
@@ -0,0 +1 @@
1
+ const e=require("../../../lib/utils.cjs");let t=require("react"),n=require("react/jsx-runtime");function r({currentPage:r,totalPages:i,onPageChange:a,className:o=``,"data-testid":s}){let[c,l]=(0,t.useState)(``),u=e=>{let t=e.replace(/[^0-9]/g,``);if(t===``){l(``);return}let n=Number(t);if(n<=0){l(``);return}l(String(Math.min(i,n)))},d=()=>{if(c===``)return;let e=Number(c),t=Math.max(1,Math.min(i,Math.floor(e)));t!==r&&a(t),l(``)},f=e=>{e.key===`Enter`?(e.preventDefault(),d()):e.key===`Escape`&&(l(``),e.target.blur())},p=String(i).length,m=p<=2?`w-12`:p===3?`w-14`:`w-16`;return(0,n.jsxs)(`label`,{className:e.cn(`flex items-center gap-1 text-sm text-fg-muted`,o),children:[(0,n.jsx)(`span`,{className:`text-fg-muted`,children:`이동`}),(0,n.jsx)(`input`,{type:`text`,inputMode:`numeric`,pattern:`[0-9]*`,maxLength:p,value:c,placeholder:String(r),onChange:e=>u(e.target.value),onKeyDown:f,onBlur:d,"aria-label":`페이지 번호 입력 (1-${i})`,"data-testid":s,className:e.cn(m,`rounded-control-mini border border-border-subtle bg-bg-surface px-2 py-0.5 text-center tabular-nums text-fg-default transition-colors hover:border-primary-border focus:border-primary focus:outline-hidden focus-visible:ring-control focus-visible:ring-focus-primary`)}),(0,n.jsxs)(`span`,{className:`text-fg-muted tabular-nums`,children:[`/ `,i.toLocaleString()]})]})}exports.PageJumpInput=r;