@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
@@ -1,53 +1,54 @@
1
- import { useState as e } from "react";
2
- import { jsx as t, jsxs as n } from "react/jsx-runtime";
1
+ import { cn as e } from "../../../lib/utils.esm.js";
2
+ import { useState as t } from "react";
3
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
3
4
  //#region src/components/table/components/PageJumpInput.tsx
4
- function r({ currentPage: r, totalPages: i, onPageChange: a, className: o = "", "data-testid": s }) {
5
- let [c, l] = e(""), u = (e) => {
5
+ function i({ currentPage: i, totalPages: a, onPageChange: o, className: s = "", "data-testid": c }) {
6
+ let [l, u] = t(""), d = (e) => {
6
7
  let t = e.replace(/[^0-9]/g, "");
7
8
  if (t === "") {
8
- l("");
9
+ u("");
9
10
  return;
10
11
  }
11
12
  let n = Number(t);
12
13
  if (n <= 0) {
13
- l("");
14
+ u("");
14
15
  return;
15
16
  }
16
- l(String(Math.min(i, n)));
17
- }, d = () => {
18
- if (c === "") return;
19
- let e = Number(c), t = Math.max(1, Math.min(i, Math.floor(e)));
20
- t !== r && a(t), l("");
21
- }, f = (e) => {
22
- e.key === "Enter" ? (e.preventDefault(), d()) : e.key === "Escape" && (l(""), e.target.blur());
23
- }, p = String(i).length, m = p <= 2 ? "w-12" : p === 3 ? "w-14" : "w-16";
24
- return /* @__PURE__ */ n("label", {
25
- className: `flex items-center gap-1 text-sm text-neutral-600 dark:text-neutral-300 ${o}`,
17
+ u(String(Math.min(a, n)));
18
+ }, f = () => {
19
+ if (l === "") return;
20
+ let e = Number(l), t = Math.max(1, Math.min(a, Math.floor(e)));
21
+ t !== i && o(t), u("");
22
+ }, p = (e) => {
23
+ e.key === "Enter" ? (e.preventDefault(), f()) : e.key === "Escape" && (u(""), e.target.blur());
24
+ }, m = String(a).length, h = m <= 2 ? "w-12" : m === 3 ? "w-14" : "w-16";
25
+ return /* @__PURE__ */ r("label", {
26
+ className: e("flex items-center gap-1 text-sm text-fg-muted", s),
26
27
  children: [
27
- /* @__PURE__ */ t("span", {
28
- className: "text-neutral-500",
28
+ /* @__PURE__ */ n("span", {
29
+ className: "text-fg-muted",
29
30
  children: "이동"
30
31
  }),
31
- /* @__PURE__ */ t("input", {
32
+ /* @__PURE__ */ n("input", {
32
33
  type: "text",
33
34
  inputMode: "numeric",
34
35
  pattern: "[0-9]*",
35
- maxLength: p,
36
- value: c,
37
- placeholder: String(r),
38
- onChange: (e) => u(e.target.value),
39
- onKeyDown: f,
40
- onBlur: d,
41
- "aria-label": `페이지 번호 입력 (1-${i})`,
42
- "data-testid": s,
43
- className: `${m} 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`
36
+ maxLength: m,
37
+ value: l,
38
+ placeholder: String(i),
39
+ onChange: (e) => d(e.target.value),
40
+ onKeyDown: p,
41
+ onBlur: f,
42
+ "aria-label": `페이지 번호 입력 (1-${a})`,
43
+ "data-testid": c,
44
+ className: e(h, "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")
44
45
  }),
45
- /* @__PURE__ */ n("span", {
46
- className: "text-neutral-500 tabular-nums",
47
- children: ["/ ", i.toLocaleString()]
46
+ /* @__PURE__ */ r("span", {
47
+ className: "text-fg-muted tabular-nums",
48
+ children: ["/ ", a.toLocaleString()]
48
49
  })
49
50
  ]
50
51
  });
51
52
  }
52
53
  //#endregion
53
- export { r as PageJumpInput };
54
+ export { i as PageJumpInput };
@@ -0,0 +1 @@
1
+ const e=require("../../../lib/utils.cjs"),t=require("../../../node_modules/lucide-react/dist/esm/icons/chevron-left.cjs"),n=require("../../../node_modules/lucide-react/dist/esm/icons/chevron-right.cjs"),r=require("../../../node_modules/lucide-react/dist/esm/icons/chevrons-left.cjs"),i=require("../../../node_modules/lucide-react/dist/esm/icons/chevrons-right.cjs");let a=require("react"),o=require("react/jsx-runtime");var s=[9,7,5,3,1],c=16,l=`px-0.5 text-xs text-fg-subtle font-mono @min-[640px]/pagebar:px-1 @min-[640px]/pagebar:text-sm`,u=`inline-flex h-7 min-w-6 items-center justify-center rounded-control-mini 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`,d=`text-fg-disabled hover:bg-bg-subtle hover:text-fg-default`,f=`font-bold text-fg-default`,p=`outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary`,m=`disabled:cursor-not-allowed disabled:opacity-30 disabled:hover:bg-transparent disabled:hover:text-fg-subtle`;function h({active:t=!1,className:n=``,children:r,...i}){return(0,o.jsx)(`button`,{type:`button`,"aria-current":t?`page`:void 0,className:e.cn(u,t?f:d,p,m,n),...i,children:r})}function g(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 _(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)+c*2+24}function v(e,t,n,r,i,a){let o=e-r,c=s.filter(e=>e<=a);for(let e of c)if(_(g(t,n,e),i)<=o)return e;return 1}function y({currentPage:e,totalPages:t,pages:n,onPageChange:r,testId:i}){if(n.length===0)return null;let a=n[0]>1,s=n[n.length-1]<t;return(0,o.jsxs)(o.Fragment,{children:[a&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(h,{active:e===1,onClick:()=>r(1),"data-testid":i?`${i}-page-1`:void 0,children:`1`}),n[0]>2&&(0,o.jsx)(`span`,{className:l,children:`…`})]}),n.map(t=>(0,o.jsx)(h,{active:e===t,onClick:()=>r(t),"data-testid":i?`${i}-page-${t}`:void 0,children:t},t)),s&&(0,o.jsxs)(o.Fragment,{children:[n[n.length-1]<t-1&&(0,o.jsx)(`span`,{className:l,children:`…`}),(0,o.jsx)(h,{active:e===t,onClick:()=>r(t),"data-testid":i?`${i}-page-${t}`:void 0,children:t})]})]})}function b({currentPage:s,totalPages:c,onPageChange:l,hasPreviousPage:u,hasNextPage:d,maxPageButtons:f=9,className:p=``,"data-testid":m,..._}){let b=(0,a.useRef)(null),[x,S]=(0,a.useState)(f);if((0,a.useLayoutEffect)(()=>{let e=b.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=v(e,s,c,r*4+i*5,r,f);S(e=>e===a?e:a)};n();let r=new ResizeObserver(n);return r.observe(t),()=>r.disconnect()},[s,c,f]),c<1)return null;if(c===1)return(0,o.jsx)(`div`,{ref:b,className:e.cn(`flex items-center justify-center gap-1 sm:gap-2`,p),"data-testid":m,..._,children:(0,o.jsx)(h,{active:!0,disabled:!0,"data-testid":m?`${m}-page-1`:void 0,children:`1`})});let C=g(s,c,x);return(0,o.jsxs)(`div`,{ref:b,className:e.cn(`flex items-center justify-center gap-1 sm:gap-2`,p),"data-testid":m,..._,children:[(0,o.jsx)(h,{disabled:s===1,onClick:()=>l(1),"data-testid":m?`${m}-first`:void 0,"aria-label":`첫 페이지`,children:(0,o.jsx)(r.ChevronsLeft,{className:`h-3.5 w-3.5`,"aria-hidden":`true`})}),(0,o.jsx)(h,{disabled:u===!1||s===1,onClick:()=>l(s-1),"data-testid":m?`${m}-prev`:void 0,"aria-label":`이전 페이지`,children:(0,o.jsx)(t.ChevronLeft,{className:`h-3.5 w-3.5`,"aria-hidden":`true`})}),(0,o.jsx)(y,{currentPage:s,totalPages:c,pages:C,onPageChange:l,testId:m}),(0,o.jsx)(h,{disabled:d===!1||s===c,onClick:()=>l(s+1),"data-testid":m?`${m}-next`:void 0,"aria-label":`다음 페이지`,children:(0,o.jsx)(n.ChevronRight,{className:`h-3.5 w-3.5`,"aria-hidden":`true`})}),(0,o.jsx)(h,{disabled:s===c,onClick:()=>l(c),"data-testid":m?`${m}-last`:void 0,"aria-label":`마지막 페이지`,children:(0,o.jsx)(i.ChevronsRight,{className:`h-3.5 w-3.5`,"aria-hidden":`true`})})]})}exports.Pagination=b;
@@ -1,68 +1,69 @@
1
- import { ChevronLeft as e } from "../../../node_modules/lucide-react/dist/esm/icons/chevron-left.esm.js";
2
- import { ChevronRight as t } from "../../../node_modules/lucide-react/dist/esm/icons/chevron-right.esm.js";
3
- import { ChevronsLeft as n } from "../../../node_modules/lucide-react/dist/esm/icons/chevrons-left.esm.js";
4
- import { ChevronsRight as r } from "../../../node_modules/lucide-react/dist/esm/icons/chevrons-right.esm.js";
5
- import { useLayoutEffect as i, useRef as a, useState as o } from "react";
6
- import { Fragment as s, jsx as c, jsxs as l } from "react/jsx-runtime";
1
+ import { cn as e } from "../../../lib/utils.esm.js";
2
+ import { ChevronLeft as t } from "../../../node_modules/lucide-react/dist/esm/icons/chevron-left.esm.js";
3
+ import { ChevronRight as n } from "../../../node_modules/lucide-react/dist/esm/icons/chevron-right.esm.js";
4
+ import { ChevronsLeft as r } from "../../../node_modules/lucide-react/dist/esm/icons/chevrons-left.esm.js";
5
+ import { ChevronsRight as i } from "../../../node_modules/lucide-react/dist/esm/icons/chevrons-right.esm.js";
6
+ import { useLayoutEffect as a, useRef as o, useState as s } from "react";
7
+ import { Fragment as c, jsx as l, jsxs as u } from "react/jsx-runtime";
7
8
  //#region src/components/table/components/Pagination.tsx
8
- var u = [
9
+ var d = [
9
10
  9,
10
11
  7,
11
12
  5,
12
13
  3,
13
14
  1
14
- ], d = 16, f = "px-0.5 text-xs text-text-tertiary font-mono @min-[640px]/pagebar:px-1 @min-[640px]/pagebar:text-sm", p = "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", m = "text-text-disabled hover:bg-bg-base-secondary hover:text-text-secondary", h = "font-bold text-text-secondary", g = "outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary-500", _ = "disabled:cursor-not-allowed disabled:opacity-30 disabled:hover:bg-transparent disabled:hover:text-text-tertiary";
15
- function v({ active: e = !1, className: t = "", children: n, ...r }) {
16
- return /* @__PURE__ */ c("button", {
15
+ ], f = 16, p = "px-0.5 text-xs text-fg-subtle font-mono @min-[640px]/pagebar:px-1 @min-[640px]/pagebar:text-sm", m = "inline-flex h-7 min-w-6 items-center justify-center rounded-control-mini 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", h = "text-fg-disabled hover:bg-bg-subtle hover:text-fg-default", g = "font-bold text-fg-default", _ = "outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary", v = "disabled:cursor-not-allowed disabled:opacity-30 disabled:hover:bg-transparent disabled:hover:text-fg-subtle";
16
+ function y({ active: t = !1, className: n = "", children: r, ...i }) {
17
+ return /* @__PURE__ */ l("button", {
17
18
  type: "button",
18
- "aria-current": e ? "page" : void 0,
19
- className: `${p} ${e ? h : m} ${g} ${_} ${t}`,
20
- ...r,
21
- children: n
19
+ "aria-current": t ? "page" : void 0,
20
+ className: e(m, t ? g : h, _, v, n),
21
+ ...i,
22
+ children: r
22
23
  });
23
24
  }
24
- function y(e, t, n) {
25
+ function b(e, t, n) {
25
26
  let r = Math.floor(n / 2), i = Math.max(1, e - r), a = Math.min(t, i + n - 1);
26
27
  a - i < n - 1 && (i = Math.max(1, a - n + 1));
27
28
  let o = [];
28
29
  for (let e = i; e <= a; e++) o.push(e);
29
30
  return o;
30
31
  }
31
- function b(e, t) {
32
+ function x(e, t) {
32
33
  let n = t <= 28 ? 4 : 8, r = t <= 28, i = r ? 24 : 28, a = r ? 7 : 8;
33
34
  return e.reduce((e, t) => {
34
35
  let n = String(t).length;
35
36
  return e + Math.max(i, i + (n - 1) * a);
36
- }, 0) + n * Math.max(0, e.length - 1) + d * 2 + 24;
37
+ }, 0) + n * Math.max(0, e.length - 1) + f * 2 + 24;
37
38
  }
38
- function x(e, t, n, r, i, a) {
39
- let o = e - r, s = u.filter((e) => e <= a);
40
- for (let e of s) if (b(y(t, n, e), i) <= o) return e;
39
+ function S(e, t, n, r, i, a) {
40
+ let o = e - r, s = d.filter((e) => e <= a);
41
+ for (let e of s) if (x(b(t, n, e), i) <= o) return e;
41
42
  return 1;
42
43
  }
43
- function S({ currentPage: e, totalPages: t, pages: n, onPageChange: r, testId: i }) {
44
+ function C({ currentPage: e, totalPages: t, pages: n, onPageChange: r, testId: i }) {
44
45
  if (n.length === 0) return null;
45
46
  let a = n[0] > 1, o = n[n.length - 1] < t;
46
- return /* @__PURE__ */ l(s, { children: [
47
- a && /* @__PURE__ */ l(s, { children: [/* @__PURE__ */ c(v, {
47
+ return /* @__PURE__ */ u(c, { children: [
48
+ a && /* @__PURE__ */ u(c, { children: [/* @__PURE__ */ l(y, {
48
49
  active: e === 1,
49
50
  onClick: () => r(1),
50
51
  "data-testid": i ? `${i}-page-1` : void 0,
51
52
  children: "1"
52
- }), n[0] > 2 && /* @__PURE__ */ c("span", {
53
- className: f,
53
+ }), n[0] > 2 && /* @__PURE__ */ l("span", {
54
+ className: p,
54
55
  children: "…"
55
56
  })] }),
56
- n.map((t) => /* @__PURE__ */ c(v, {
57
+ n.map((t) => /* @__PURE__ */ l(y, {
57
58
  active: e === t,
58
59
  onClick: () => r(t),
59
60
  "data-testid": i ? `${i}-page-${t}` : void 0,
60
61
  children: t
61
62
  }, t)),
62
- o && /* @__PURE__ */ l(s, { children: [n[n.length - 1] < t - 1 && /* @__PURE__ */ c("span", {
63
- className: f,
63
+ o && /* @__PURE__ */ u(c, { children: [n[n.length - 1] < t - 1 && /* @__PURE__ */ l("span", {
64
+ className: p,
64
65
  children: "…"
65
- }), /* @__PURE__ */ c(v, {
66
+ }), /* @__PURE__ */ l(y, {
66
67
  active: e === t,
67
68
  onClick: () => r(t),
68
69
  "data-testid": i ? `${i}-page-${t}` : void 0,
@@ -70,87 +71,87 @@ function S({ currentPage: e, totalPages: t, pages: n, onPageChange: r, testId: i
70
71
  })] })
71
72
  ] });
72
73
  }
73
- function C({ currentPage: s, totalPages: u, onPageChange: d, hasPreviousPage: f, hasNextPage: p, maxPageButtons: m = 9, className: h = "", "data-testid": g, ..._ }) {
74
- let b = a(null), [C, w] = o(m);
75
- if (i(() => {
76
- let e = b.current;
74
+ function w({ currentPage: c, totalPages: d, onPageChange: f, hasPreviousPage: p, hasNextPage: m, maxPageButtons: h = 9, className: g = "", "data-testid": _, ...v }) {
75
+ let x = o(null), [w, T] = s(h);
76
+ if (a(() => {
77
+ let e = x.current;
77
78
  if (!e) return;
78
79
  let t = e.parentElement;
79
80
  if (!t) return;
80
81
  let n = () => {
81
- let e = t.offsetWidth, n = e < 640, r = n ? 28 : 32, i = n ? 4 : 8, a = x(e, s, u, r * 4 + i * 5, r, m);
82
- w((e) => e === a ? e : a);
82
+ let e = t.offsetWidth, n = e < 640, r = n ? 28 : 32, i = n ? 4 : 8, a = S(e, c, d, r * 4 + i * 5, r, h);
83
+ T((e) => e === a ? e : a);
83
84
  };
84
85
  n();
85
86
  let r = new ResizeObserver(n);
86
87
  return r.observe(t), () => r.disconnect();
87
88
  }, [
88
- s,
89
- u,
90
- m
91
- ]), u < 1) return null;
92
- if (u === 1) return /* @__PURE__ */ c("div", {
93
- ref: b,
94
- className: `flex items-center justify-center gap-1 sm:gap-2 ${h}`,
95
- "data-testid": g,
96
- ..._,
97
- children: /* @__PURE__ */ c(v, {
89
+ c,
90
+ d,
91
+ h
92
+ ]), d < 1) return null;
93
+ if (d === 1) return /* @__PURE__ */ l("div", {
94
+ ref: x,
95
+ className: e("flex items-center justify-center gap-1 sm:gap-2", g),
96
+ "data-testid": _,
97
+ ...v,
98
+ children: /* @__PURE__ */ l(y, {
98
99
  active: !0,
99
100
  disabled: !0,
100
- "data-testid": g ? `${g}-page-1` : void 0,
101
+ "data-testid": _ ? `${_}-page-1` : void 0,
101
102
  children: "1"
102
103
  })
103
104
  });
104
- let T = y(s, u, C);
105
- return /* @__PURE__ */ l("div", {
106
- ref: b,
107
- className: `flex items-center justify-center gap-1 sm:gap-2 ${h}`,
108
- "data-testid": g,
109
- ..._,
105
+ let E = b(c, d, w);
106
+ return /* @__PURE__ */ u("div", {
107
+ ref: x,
108
+ className: e("flex items-center justify-center gap-1 sm:gap-2", g),
109
+ "data-testid": _,
110
+ ...v,
110
111
  children: [
111
- /* @__PURE__ */ c(v, {
112
- disabled: s === 1,
113
- onClick: () => d(1),
114
- "data-testid": g ? `${g}-first` : void 0,
112
+ /* @__PURE__ */ l(y, {
113
+ disabled: c === 1,
114
+ onClick: () => f(1),
115
+ "data-testid": _ ? `${_}-first` : void 0,
115
116
  "aria-label": "첫 페이지",
116
- children: /* @__PURE__ */ c(n, {
117
+ children: /* @__PURE__ */ l(r, {
117
118
  className: "h-3.5 w-3.5",
118
119
  "aria-hidden": "true"
119
120
  })
120
121
  }),
121
- /* @__PURE__ */ c(v, {
122
- disabled: f === !1 || s === 1,
123
- onClick: () => d(s - 1),
124
- "data-testid": g ? `${g}-prev` : void 0,
122
+ /* @__PURE__ */ l(y, {
123
+ disabled: p === !1 || c === 1,
124
+ onClick: () => f(c - 1),
125
+ "data-testid": _ ? `${_}-prev` : void 0,
125
126
  "aria-label": "이전 페이지",
126
- children: /* @__PURE__ */ c(e, {
127
+ children: /* @__PURE__ */ l(t, {
127
128
  className: "h-3.5 w-3.5",
128
129
  "aria-hidden": "true"
129
130
  })
130
131
  }),
131
- /* @__PURE__ */ c(S, {
132
- currentPage: s,
133
- totalPages: u,
134
- pages: T,
135
- onPageChange: d,
136
- testId: g
132
+ /* @__PURE__ */ l(C, {
133
+ currentPage: c,
134
+ totalPages: d,
135
+ pages: E,
136
+ onPageChange: f,
137
+ testId: _
137
138
  }),
138
- /* @__PURE__ */ c(v, {
139
- disabled: p === !1 || s === u,
140
- onClick: () => d(s + 1),
141
- "data-testid": g ? `${g}-next` : void 0,
139
+ /* @__PURE__ */ l(y, {
140
+ disabled: m === !1 || c === d,
141
+ onClick: () => f(c + 1),
142
+ "data-testid": _ ? `${_}-next` : void 0,
142
143
  "aria-label": "다음 페이지",
143
- children: /* @__PURE__ */ c(t, {
144
+ children: /* @__PURE__ */ l(n, {
144
145
  className: "h-3.5 w-3.5",
145
146
  "aria-hidden": "true"
146
147
  })
147
148
  }),
148
- /* @__PURE__ */ c(v, {
149
- disabled: s === u,
150
- onClick: () => d(u),
151
- "data-testid": g ? `${g}-last` : void 0,
149
+ /* @__PURE__ */ l(y, {
150
+ disabled: c === d,
151
+ onClick: () => f(d),
152
+ "data-testid": _ ? `${_}-last` : void 0,
152
153
  "aria-label": "마지막 페이지",
153
- children: /* @__PURE__ */ c(r, {
154
+ children: /* @__PURE__ */ l(i, {
154
155
  className: "h-3.5 w-3.5",
155
156
  "aria-hidden": "true"
156
157
  })
@@ -159,4 +160,4 @@ function C({ currentPage: s, totalPages: u, onPageChange: d, hasPreviousPage: f,
159
160
  });
160
161
  }
161
162
  //#endregion
162
- export { C as Pagination };
163
+ export { w as Pagination };
@@ -0,0 +1 @@
1
+ const e=require("../../select/Select.cjs"),t=require("./KeyboardNavButton.cjs"),n=require("./PageJumpInput.cjs"),r=require("./Pagination.cjs");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-fg-muted`,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-fg-muted`,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;
@@ -17,7 +17,7 @@ function c({ currentPage: c, totalPages: l, onPageChange: u, pageSize: d, pageSi
17
17
  "aria-label": "페이지 네비게이션",
18
18
  className: "@container/pagebar group/footer flex flex-wrap items-center justify-between gap-x-3 gap-y-2 shrink-0",
19
19
  children: [/* @__PURE__ */ o("div", {
20
- className: "flex flex-wrap items-center gap-x-3 gap-y-2 text-sm text-neutral-600 dark:text-neutral-300",
20
+ className: "flex flex-wrap items-center gap-x-3 gap-y-2 text-sm text-fg-muted",
21
21
  children: [
22
22
  _ && g !== void 0 && /* @__PURE__ */ o("span", { children: [
23
23
  "총 ",
@@ -27,7 +27,7 @@ function c({ currentPage: c, totalPages: l, onPageChange: u, pageSize: d, pageSi
27
27
  p && d !== void 0 && /* @__PURE__ */ o("div", {
28
28
  className: "flex items-center gap-1",
29
29
  children: [/* @__PURE__ */ a("span", {
30
- className: "text-neutral-500",
30
+ className: "text-fg-muted",
31
31
  children: "페이지당"
32
32
  }), /* @__PURE__ */ a("div", {
33
33
  className: "w-20",
@@ -0,0 +1 @@
1
+ const e=require("../column-group-utils.cjs"),t=require("../../../lib/column-preset-storage.cjs");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,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
  export interface UseColumnPresetsOptions<T> {
4
4
  /** localStorage 페이지 키. 미지정 시 메모리만 사용. */
5
5
  pageKey?: string;
@@ -0,0 +1 @@
1
+ let e=require("react");function t(e,t,n,r){if(e)return e;let i=t?.style.width.trim();if(i&&/^(?:\d+\.?\d*|\.\d+)px$/i.test(i)){let e=parseFloat(i);if(Number.isFinite(e))return e}let a=t?.getBoundingClientRect().width;if(a&&Number.isFinite(a)&&a>0)return a;let o=n?.getBoundingClientRect().width;return o&&Number.isFinite(o)&&o>0?o:r}function n({columns:n,defaultWidth:r=150,minWidth:i=50,maxWidth:a,tableRef:o,storageKey:s,controlledWidths:c,onColumnWidthsChange:l}){let u=c!==void 0,d=(0,e.useCallback)(()=>{if(u||!s)return{};try{let e=localStorage.getItem(s);if(e){let t=JSON.parse(e),n={};return Object.entries(t).forEach(([e,t])=>{typeof t==`number`&&t>=i&&(n[e]=t)}),n}}catch(e){console.warn(`[ColumnResize] Failed to load saved widths:`,e)}return{}},[u,s,i]),[f,p]=(0,e.useState)(()=>d()),m=u?c:f,h=(0,e.useCallback)(e=>{if(u){let t=typeof e==`function`?e(m):e;l?.(t);return}p(e)},[m,u,l]);(0,e.useEffect)(()=>{if(!u&&!(!s||Object.keys(f).length===0))try{localStorage.setItem(s,JSON.stringify(f))}catch(e){console.warn(`[ColumnResize] Failed to save widths:`,e)}},[f,u,s]);let g=(0,e.useRef)(null),_=(0,e.useRef)(null),v=(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=>v(e)).join(``);if(typeof e==`object`&&`props`in e){let t=e.props;if(t?.children)return v(t.children)}return``},[]),y=(0,e.useCallback)(e=>{if(!_.current)return r;let t=n.find(t=>t.key===e)?.header,a=typeof t==`string`?t:v(t);_.current.textContent=a||e,_.current.style.fontSize=`14px`,_.current.style.fontWeight=`600`,_.current.style.padding=`0 24px`;let o=_.current.offsetWidth;return Math.max(i,o+20)},[n,v,r,i]);return{columnWidths:m,handleMouseDown:(0,e.useCallback)((e,n)=>{n.preventDefault(),n.stopPropagation();let s=o?.current?.querySelector(`colgroup col[data-col-key="${CSS.escape(e)}"]`)??null,c=t(m[e],s,n.currentTarget.closest(`th`),r);g.current={key:e,startX:n.clientX,startWidth:c};let l=o?.current??null,u=(l?parseFloat(l.style.width)||l.offsetWidth:0)-c,d=l?.parentElement?.clientWidth||1/0,f=Math.min(a??1/0,d),p=c,_=null,v=e=>{if(!g.current)return;let t=e.clientX-g.current.startX,n=Math.max(i,g.current.startWidth+t);p=Math.max(i,Math.min(n,f)),_===null&&(_=requestAnimationFrame(()=>{_=null,s&&(s.style.width=`${p}px`),l&&(l.style.width=`${u+p}px`)}))},y=()=>{_!==null&&cancelAnimationFrame(_);let e=g.current?.key;g.current=null,document.removeEventListener(`mousemove`,v),document.removeEventListener(`mouseup`,y),e&&h(t=>({...t,[e]:p}))};document.addEventListener(`mousemove`,v),document.addEventListener(`mouseup`,y)},[m,r,i,a,o,h]),handleDoubleClick:(0,e.useCallback)(()=>{},[]),getColumnWidth:(0,e.useCallback)((e,t)=>m[e]?`${m[e]}px`:t?typeof t==`number`?`${t}px`:t:`${y(e)}px`,[m,y]),measureRef:_}}exports.useColumnResize=n;
@@ -81,6 +81,18 @@ export interface UseColumnResizeReturn {
81
81
  */
82
82
  measureRef: React.RefObject<HTMLDivElement | null>;
83
83
  }
84
+ export declare function getResizeStartWidth(savedWidth: number | undefined, colEl: {
85
+ style: {
86
+ width: string;
87
+ };
88
+ getBoundingClientRect: () => {
89
+ width: number;
90
+ };
91
+ } | null, headerEl: {
92
+ getBoundingClientRect: () => {
93
+ width: number;
94
+ };
95
+ } | null, defaultWidth: number): number;
84
96
  /**
85
97
  * 컬럼 리사이즈 훅
86
98
  *
@@ -1,14 +1,26 @@
1
1
  import { useCallback as e, useEffect as t, useRef as n, useState as r } from "react";
2
2
  //#region src/components/table/hooks/useColumnResize.ts
3
- function i({ columns: i, defaultWidth: a = 150, minWidth: o = 50, maxWidth: s, tableRef: c, storageKey: l, controlledWidths: u, onColumnWidthsChange: d }) {
4
- let f = u !== void 0, p = e(() => {
5
- if (f || !l) return {};
3
+ function i(e, t, n, r) {
4
+ if (e) return e;
5
+ let i = t?.style.width.trim();
6
+ if (i && /^(?:\d+\.?\d*|\.\d+)px$/i.test(i)) {
7
+ let e = parseFloat(i);
8
+ if (Number.isFinite(e)) return e;
9
+ }
10
+ let a = t?.getBoundingClientRect().width;
11
+ if (a && Number.isFinite(a) && a > 0) return a;
12
+ let o = n?.getBoundingClientRect().width;
13
+ return o && Number.isFinite(o) && o > 0 ? o : r;
14
+ }
15
+ function a({ columns: a, defaultWidth: o = 150, minWidth: s = 50, maxWidth: c, tableRef: l, storageKey: u, controlledWidths: d, onColumnWidthsChange: f }) {
16
+ let p = d !== void 0, m = e(() => {
17
+ if (p || !u) return {};
6
18
  try {
7
- let e = localStorage.getItem(l);
19
+ let e = localStorage.getItem(u);
8
20
  if (e) {
9
21
  let t = JSON.parse(e), n = {};
10
22
  return Object.entries(t).forEach(([e, t]) => {
11
- typeof t == "number" && t >= o && (n[e] = t);
23
+ typeof t == "number" && t >= s && (n[e] = t);
12
24
  }), n;
13
25
  }
14
26
  } catch (e) {
@@ -16,91 +28,91 @@ function i({ columns: i, defaultWidth: a = 150, minWidth: o = 50, maxWidth: s, t
16
28
  }
17
29
  return {};
18
30
  }, [
19
- f,
20
- l,
21
- o
22
- ]), [m, h] = r(() => p()), g = f ? u : m, _ = e((e) => {
23
- if (f) {
24
- let t = typeof e == "function" ? e(g) : e;
25
- d?.(t);
31
+ p,
32
+ u,
33
+ s
34
+ ]), [h, g] = r(() => m()), _ = p ? d : h, v = e((e) => {
35
+ if (p) {
36
+ let t = typeof e == "function" ? e(_) : e;
37
+ f?.(t);
26
38
  return;
27
39
  }
28
- h(e);
40
+ g(e);
29
41
  }, [
30
- g,
31
- f,
32
- d
42
+ _,
43
+ p,
44
+ f
33
45
  ]);
34
46
  t(() => {
35
- if (!f && !(!l || Object.keys(m).length === 0)) try {
36
- localStorage.setItem(l, JSON.stringify(m));
47
+ if (!p && !(!u || Object.keys(h).length === 0)) try {
48
+ localStorage.setItem(u, JSON.stringify(h));
37
49
  } catch (e) {
38
50
  console.warn("[ColumnResize] Failed to save widths:", e);
39
51
  }
40
52
  }, [
41
- m,
42
- f,
43
- l
53
+ h,
54
+ p,
55
+ u
44
56
  ]);
45
- let v = n(null), y = n(null), b = e((e) => {
57
+ let y = n(null), b = n(null), x = e((e) => {
46
58
  if (typeof e == "string") return e;
47
59
  if (typeof e == "number") return String(e);
48
60
  if (e == null) return "";
49
- if (Array.isArray(e)) return e.map((e) => b(e)).join("");
61
+ if (Array.isArray(e)) return e.map((e) => x(e)).join("");
50
62
  if (typeof e == "object" && "props" in e) {
51
63
  let t = e.props;
52
- if (t?.children) return b(t.children);
64
+ if (t?.children) return x(t.children);
53
65
  }
54
66
  return "";
55
- }, []), x = e((e) => {
56
- if (!y.current) return a;
57
- let t = i.find((t) => t.key === e)?.header, n = typeof t == "string" ? t : b(t);
58
- y.current.textContent = n || e, y.current.style.fontSize = "14px", y.current.style.fontWeight = "600", y.current.style.padding = "0 24px";
59
- let r = y.current.offsetWidth;
60
- return Math.max(o, r + 20);
67
+ }, []), S = e((e) => {
68
+ if (!b.current) return o;
69
+ let t = a.find((t) => t.key === e)?.header, n = typeof t == "string" ? t : x(t);
70
+ b.current.textContent = n || e, b.current.style.fontSize = "14px", b.current.style.fontWeight = "600", b.current.style.padding = "0 24px";
71
+ let r = b.current.offsetWidth;
72
+ return Math.max(s, r + 20);
61
73
  }, [
62
- i,
63
- b,
64
74
  a,
65
- o
75
+ x,
76
+ o,
77
+ s
66
78
  ]);
67
79
  return {
68
- columnWidths: g,
80
+ columnWidths: _,
69
81
  handleMouseDown: e((e, t) => {
70
82
  t.preventDefault(), t.stopPropagation();
71
- let n = g[e] || a;
72
- v.current = {
83
+ let n = l?.current?.querySelector(`colgroup col[data-col-key="${CSS.escape(e)}"]`) ?? null, r = i(_[e], n, t.currentTarget.closest("th"), o);
84
+ y.current = {
73
85
  key: e,
74
86
  startX: t.clientX,
75
- startWidth: n
87
+ startWidth: r
76
88
  };
77
- let r = c?.current?.querySelector(`colgroup col[data-col-key="${CSS.escape(e)}"]`) ?? null, i = c?.current ?? null, l = (i ? parseFloat(i.style.width) || i.offsetWidth : 0) - n, u = i?.parentElement?.clientWidth || Infinity, d = Math.min(s ?? Infinity, u), f = n, p = null, m = (e) => {
78
- if (!v.current) return;
79
- let t = e.clientX - v.current.startX, n = Math.max(o, v.current.startWidth + t);
80
- f = Math.max(o, Math.min(n, d)), p === null && (p = requestAnimationFrame(() => {
81
- p = null, r && (r.style.width = `${f}px`), i && (i.style.width = `${l + f}px`);
89
+ let a = l?.current ?? null, u = (a ? parseFloat(a.style.width) || a.offsetWidth : 0) - r, d = a?.parentElement?.clientWidth || Infinity, f = Math.min(c ?? Infinity, d), p = r, m = null, h = (e) => {
90
+ if (!y.current) return;
91
+ let t = e.clientX - y.current.startX, r = Math.max(s, y.current.startWidth + t);
92
+ p = Math.max(s, Math.min(r, f)), m === null && (m = requestAnimationFrame(() => {
93
+ m = null, n && (n.style.width = `${p}px`), a && (a.style.width = `${u + p}px`);
82
94
  }));
83
- }, h = () => {
84
- p !== null && cancelAnimationFrame(p);
85
- let e = v.current?.key;
86
- v.current = null, document.removeEventListener("mousemove", m), document.removeEventListener("mouseup", h), e && _((t) => ({
95
+ }, g = () => {
96
+ m !== null && cancelAnimationFrame(m);
97
+ let e = y.current?.key;
98
+ y.current = null, document.removeEventListener("mousemove", h), document.removeEventListener("mouseup", g), e && v((t) => ({
87
99
  ...t,
88
- [e]: f
100
+ [e]: p
89
101
  }));
90
102
  };
91
- document.addEventListener("mousemove", m), document.addEventListener("mouseup", h);
103
+ document.addEventListener("mousemove", h), document.addEventListener("mouseup", g);
92
104
  }, [
93
- g,
94
- a,
105
+ _,
95
106
  o,
96
107
  s,
97
108
  c,
98
- _
109
+ l,
110
+ v
99
111
  ]),
100
112
  handleDoubleClick: e(() => {}, []),
101
- getColumnWidth: e((e, t) => g[e] ? `${g[e]}px` : t ? typeof t == "number" ? `${t}px` : t : `${x(e)}px`, [g, x]),
102
- measureRef: y
113
+ getColumnWidth: e((e, t) => _[e] ? `${_[e]}px` : t ? typeof t == "number" ? `${t}px` : t : `${S(e)}px`, [_, S]),
114
+ measureRef: b
103
115
  };
104
116
  }
105
117
  //#endregion
106
- export { i as useColumnResize };
118
+ export { a as useColumnResize };
@@ -0,0 +1,2 @@
1
+ export { useFillEmptyRows } from '../../../hooks/useFillEmptyRows.js';
2
+ export type { FillEmptyRowsRemainingMode, UseFillEmptyRowsOptions, UseFillEmptyRowsReturn, } from '../../../hooks/useFillEmptyRows.js';
@@ -0,0 +1,2 @@
1
+ export { useInfiniteScroll } from '../../../hooks/useInfiniteScroll.js';
2
+ export type { UseInfiniteScrollOptions, UseInfiniteScrollReturn, } from '../../../hooks/useInfiniteScroll.js';
@@ -0,0 +1 @@
1
+ const e=require("../components/ColumnPresetSelector.cjs"),t=require("./useColumnPresets.cjs");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,5 +1,5 @@
1
1
  import { ReactElement } from 'react';
2
- import { TableColumn, TableColumnGroupMeta, TableColumnState } from '../types';
2
+ import { TableColumn, TableColumnGroupMeta, TableColumnState } from '../types.js';
3
3
  interface Options<T> {
4
4
  /** localStorage 페이지 키. 없으면 프리셋 비활성(컬럼 상태는 메모리만). */
5
5
  pageKey?: string;
@@ -0,0 +1,2 @@
1
+ export { useTableDragSelection } from '../../../hooks/useTableDragSelection.js';
2
+ export type { UseTableDragSelectionOptions } from '../../../hooks/useTableDragSelection.js';
@@ -1,4 +1,4 @@
1
- import { ColumnSort } from '../types';
1
+ import { ColumnSort } from '../types.js';
2
2
  /**
3
3
  * 테이블 정렬 훅 옵션
4
4
  */
@@ -0,0 +1 @@
1
+ const e=require("../../../hooks/useVirtualRows.cjs");let t=require("react");function n({count:n,estimateSize:r=50,overscan:i=5,scrollElement:a}){let o=(0,t.useRef)(null),{virtualizer:s}=e.useVirtualRows({count:n,scrollElementRef:o,scrollElement:a,estimateSize:r,overscan:i});return(0,t.useMemo)(()=>({virtualizer:s,parentRef:o}),[s])}exports.useVirtualTable=n;