@ceed/cds 0.0.186 → 0.0.187-treeshaking.1

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 (334) hide show
  1. package/dist/_virtual/_commonjsHelpers.js +30 -0
  2. package/dist/_virtual/bind-all.js +3 -0
  3. package/dist/_virtual/bind.js +3 -0
  4. package/dist/_virtual/colorManipulator.js +5 -0
  5. package/dist/_virtual/colorManipulator2.js +3 -0
  6. package/dist/_virtual/createStyled.js +7 -0
  7. package/dist/_virtual/createStyled2.js +3 -0
  8. package/dist/_virtual/extends.js +3 -0
  9. package/dist/_virtual/index.js +5 -0
  10. package/dist/_virtual/index10.js +6 -0
  11. package/dist/_virtual/index11.js +6 -0
  12. package/dist/_virtual/index12.js +6 -0
  13. package/dist/_virtual/index2.js +3 -0
  14. package/dist/_virtual/index3.js +7 -0
  15. package/dist/_virtual/index4.js +3 -0
  16. package/dist/_virtual/index5.js +6 -0
  17. package/dist/_virtual/index6.js +6 -0
  18. package/dist/_virtual/index7.js +6 -0
  19. package/dist/_virtual/index8.js +6 -0
  20. package/dist/_virtual/index9.js +6 -0
  21. package/dist/_virtual/interopRequireDefault.js +3 -0
  22. package/dist/_virtual/objectWithoutPropertiesLoose.js +3 -0
  23. package/dist/components/Accordions/Accordions.js +43 -0
  24. package/dist/components/Accordions/index.d.ts +2 -2
  25. package/dist/components/Autocomplete/Autocomplete.js +196 -0
  26. package/dist/components/Autocomplete/index.d.ts +2 -2
  27. package/dist/components/Autocomplete/index.js +5 -0
  28. package/dist/components/Avatar/Avatar.js +42 -0
  29. package/dist/components/Avatar/index.d.ts +2 -2
  30. package/dist/components/Box/Box.js +8 -0
  31. package/dist/components/Box/index.d.ts +2 -2
  32. package/dist/components/Box/index.js +5 -0
  33. package/dist/components/Breadcrumbs/Breadcrumbs.js +47 -0
  34. package/dist/components/Breadcrumbs/index.d.ts +2 -2
  35. package/dist/components/Button/Button.js +20 -0
  36. package/dist/components/Button/index.d.ts +2 -2
  37. package/dist/components/Button/index.js +5 -0
  38. package/dist/components/Calendar/Calendar.d.ts +1 -1
  39. package/dist/components/Calendar/Calendar.js +333 -0
  40. package/dist/components/Calendar/hooks/use-calendar-props.d.ts +3 -3
  41. package/dist/components/Calendar/hooks/use-calendar-props.js +74 -0
  42. package/dist/components/Calendar/hooks/use-calendar.d.ts +1 -1
  43. package/dist/components/Calendar/hooks/use-calendar.js +247 -0
  44. package/dist/components/Calendar/index.d.ts +2 -2
  45. package/dist/components/Calendar/index.js +5 -0
  46. package/dist/components/Calendar/utils/index.js +74 -0
  47. package/dist/components/Card/Card.js +20 -0
  48. package/dist/components/Card/index.d.ts +2 -2
  49. package/dist/components/Checkbox/Checkbox.js +19 -0
  50. package/dist/components/Checkbox/index.d.ts +2 -2
  51. package/dist/components/Checkbox/index.js +5 -0
  52. package/dist/components/Chip/Chip.js +8 -0
  53. package/dist/components/Chip/index.d.ts +2 -2
  54. package/dist/components/Chip/index.js +5 -0
  55. package/dist/components/Container/Container.js +49 -0
  56. package/dist/components/Container/index.d.ts +2 -2
  57. package/dist/components/CurrencyInput/CurrencyInput.js +91 -0
  58. package/dist/components/CurrencyInput/hooks/use-currency-setting.js +167 -0
  59. package/dist/components/CurrencyInput/index.d.ts +2 -2
  60. package/dist/components/CurrencyInput/index.js +5 -0
  61. package/dist/components/DataTable/DataTable.d.ts +1 -1
  62. package/dist/components/DataTable/DataTable.js +568 -0
  63. package/dist/components/DataTable/index.d.ts +2 -2
  64. package/dist/components/DataTable/types.d.ts +7 -7
  65. package/dist/components/DatePicker/DatePicker.d.ts +1 -1
  66. package/dist/components/DatePicker/DatePicker.js +210 -0
  67. package/dist/components/DatePicker/index.d.ts +2 -2
  68. package/dist/components/DatePicker/index.js +5 -0
  69. package/dist/components/DateRangePicker/DateRangePicker.d.ts +1 -1
  70. package/dist/components/DateRangePicker/DateRangePicker.js +213 -0
  71. package/dist/components/DateRangePicker/index.d.ts +2 -2
  72. package/dist/components/DialogActions/DialogActions.js +14 -0
  73. package/dist/components/DialogActions/index.d.ts +2 -2
  74. package/dist/components/DialogActions/index.js +5 -0
  75. package/dist/components/DialogContent/DialogContent.js +11 -0
  76. package/dist/components/DialogContent/index.d.ts +2 -2
  77. package/dist/components/DialogContent/index.js +5 -0
  78. package/dist/components/DialogFrame/DialogFrame.d.ts +1 -1
  79. package/dist/components/DialogFrame/DialogFrame.js +31 -0
  80. package/dist/components/DialogFrame/index.d.ts +2 -2
  81. package/dist/components/DialogTitle/DialogTitle.js +11 -0
  82. package/dist/components/DialogTitle/index.d.ts +2 -2
  83. package/dist/components/DialogTitle/index.js +5 -0
  84. package/dist/components/Divider/Divider.js +19 -0
  85. package/dist/components/Divider/index.d.ts +2 -2
  86. package/dist/components/Drawer/Drawer.js +40 -0
  87. package/dist/components/Drawer/index.d.ts +2 -2
  88. package/dist/components/Dropdown/Dropdown.js +8 -0
  89. package/dist/components/Dropdown/index.d.ts +2 -2
  90. package/dist/components/Dropdown/index.js +5 -0
  91. package/dist/components/FormControl/FormControl.js +15 -0
  92. package/dist/components/FormControl/index.d.ts +2 -2
  93. package/dist/components/FormControl/index.js +5 -0
  94. package/dist/components/FormHelperText/FormHelperText.js +8 -0
  95. package/dist/components/FormHelperText/index.d.ts +2 -2
  96. package/dist/components/FormHelperText/index.js +5 -0
  97. package/dist/components/FormLabel/FormLabel.js +8 -0
  98. package/dist/components/FormLabel/index.d.ts +2 -2
  99. package/dist/components/FormLabel/index.js +5 -0
  100. package/dist/components/Grid/index.d.ts +2 -2
  101. package/dist/components/IconButton/IconButton.js +20 -0
  102. package/dist/components/IconButton/index.d.ts +2 -2
  103. package/dist/components/IconButton/index.js +5 -0
  104. package/dist/components/Input/Input.d.ts +1 -1
  105. package/dist/components/Input/Input.js +60 -0
  106. package/dist/components/Input/index.d.ts +2 -2
  107. package/dist/components/Input/index.js +5 -0
  108. package/dist/components/InsetDrawer/InsetDrawer.js +30 -0
  109. package/dist/components/InsetDrawer/index.d.ts +2 -2
  110. package/dist/components/Markdown/Markdown.d.ts +6 -22
  111. package/dist/components/Markdown/Markdown.js +36 -0
  112. package/dist/components/Markdown/index.d.ts +2 -2
  113. package/dist/components/Menu/Menu.js +43 -0
  114. package/dist/components/Menu/index.d.ts +2 -2
  115. package/dist/components/Menu/index.js +6 -0
  116. package/dist/components/MenuButton/MenuButton.js +26 -0
  117. package/dist/components/Modal/Modal.d.ts +4 -4
  118. package/dist/components/Modal/Modal.js +43 -0
  119. package/dist/components/Modal/index.d.ts +2 -2
  120. package/dist/components/MonthPicker/MonthPicker.d.ts +1 -1
  121. package/dist/components/MonthPicker/MonthPicker.js +162 -0
  122. package/dist/components/MonthPicker/index.d.ts +2 -2
  123. package/dist/components/MonthRangePicker/MonthRangePicker.d.ts +1 -1
  124. package/dist/components/MonthRangePicker/MonthRangePicker.js +172 -0
  125. package/dist/components/MonthRangePicker/index.d.ts +2 -2
  126. package/dist/components/NavigationGroup/NavigationGroup.js +42 -0
  127. package/dist/components/NavigationGroup/index.d.ts +2 -2
  128. package/dist/components/NavigationItem/NavigationItem.js +45 -0
  129. package/dist/components/NavigationItem/index.d.ts +2 -2
  130. package/dist/components/Navigator/Navigator.js +30 -0
  131. package/dist/components/Navigator/index.d.ts +2 -2
  132. package/dist/components/Pagination/Pagination.d.ts +2 -2
  133. package/dist/components/Pagination/Pagination.js +117 -0
  134. package/dist/components/Pagination/index.d.ts +2 -2
  135. package/dist/components/Pagination/index.js +5 -0
  136. package/dist/components/PercentageInput/PercentageInput.js +85 -0
  137. package/dist/components/PercentageInput/index.d.ts +2 -2
  138. package/dist/components/Radio/Radio.js +11 -0
  139. package/dist/components/Radio/index.d.ts +2 -2
  140. package/dist/components/RadioList/RadioList.d.ts +1 -1
  141. package/dist/components/RadioList/RadioList.js +18 -0
  142. package/dist/components/RadioList/index.d.ts +2 -2
  143. package/dist/components/Select/Select.d.ts +1 -1
  144. package/dist/components/Select/Select.js +56 -0
  145. package/dist/components/Select/index.d.ts +2 -2
  146. package/dist/components/Select/index.js +6 -0
  147. package/dist/components/Sheet/Sheet.js +8 -0
  148. package/dist/components/Sheet/index.d.ts +2 -2
  149. package/dist/components/Sheet/index.js +5 -0
  150. package/dist/components/Stack/index.d.ts +2 -2
  151. package/dist/components/Stack/index.js +2 -0
  152. package/dist/components/Stepper/Stepper.js +66 -0
  153. package/dist/components/Stepper/index.d.ts +2 -2
  154. package/dist/components/Switch/Switch.js +46 -0
  155. package/dist/components/Switch/index.d.ts +2 -2
  156. package/dist/components/Table/Table.js +64 -0
  157. package/dist/components/Table/index.d.ts +2 -2
  158. package/dist/components/Tabs/Tabs.js +17 -0
  159. package/dist/components/Tabs/index.d.ts +2 -2
  160. package/dist/components/Textarea/Textarea.d.ts +3 -17
  161. package/dist/components/Textarea/Textarea.js +31 -0
  162. package/dist/components/Textarea/index.d.ts +2 -2
  163. package/dist/components/Textarea/index.js +5 -0
  164. package/dist/components/ThemeProvider/ThemeProvider.d.ts +7 -7
  165. package/dist/components/ThemeProvider/ThemeProvider.js +240 -0
  166. package/dist/components/ThemeProvider/index.d.ts +2 -2
  167. package/dist/components/Tooltip/Tooltip.js +19 -0
  168. package/dist/components/Tooltip/index.d.ts +2 -2
  169. package/dist/components/Tooltip/index.js +5 -0
  170. package/dist/components/Typography/Typography.js +19 -0
  171. package/dist/components/Typography/index.d.ts +2 -2
  172. package/dist/components/Typography/index.js +5 -0
  173. package/dist/components/Uploader/Uploader.d.ts +4 -3
  174. package/dist/components/Uploader/Uploader.js +402 -0
  175. package/dist/components/Uploader/index.d.ts +2 -2
  176. package/dist/components/index.d.ts +53 -53
  177. package/dist/external/@atlaskit/pragmatic-drag-and-drop/dist/esm/adapter/element-adapter-native-data-key.js +8 -0
  178. package/dist/external/@atlaskit/pragmatic-drag-and-drop/dist/esm/adapter/external-adapter.js +245 -0
  179. package/dist/external/@atlaskit/pragmatic-drag-and-drop/dist/esm/entry-point/combine.js +1 -0
  180. package/dist/external/@atlaskit/pragmatic-drag-and-drop/dist/esm/entry-point/external/adapter.js +1 -0
  181. package/dist/external/@atlaskit/pragmatic-drag-and-drop/dist/esm/entry-point/external/file.js +1 -0
  182. package/dist/external/@atlaskit/pragmatic-drag-and-drop/dist/esm/entry-point/prevent-unhandled.js +1 -0
  183. package/dist/external/@atlaskit/pragmatic-drag-and-drop/dist/esm/honey-pot-fix/get-element-from-point-without-honey-pot.js +19 -0
  184. package/dist/external/@atlaskit/pragmatic-drag-and-drop/dist/esm/honey-pot-fix/honey-pot-data-attribute.js +5 -0
  185. package/dist/external/@atlaskit/pragmatic-drag-and-drop/dist/esm/honey-pot-fix/is-honey-pot-element.js +7 -0
  186. package/dist/external/@atlaskit/pragmatic-drag-and-drop/dist/esm/ledger/dispatch-consumer-event.js +128 -0
  187. package/dist/external/@atlaskit/pragmatic-drag-and-drop/dist/esm/ledger/lifecycle-manager.js +340 -0
  188. package/dist/external/@atlaskit/pragmatic-drag-and-drop/dist/esm/ledger/usage-ledger.js +33 -0
  189. package/dist/external/@atlaskit/pragmatic-drag-and-drop/dist/esm/make-adapter/make-adapter.js +60 -0
  190. package/dist/external/@atlaskit/pragmatic-drag-and-drop/dist/esm/make-adapter/make-drop-target.js +312 -0
  191. package/dist/external/@atlaskit/pragmatic-drag-and-drop/dist/esm/make-adapter/make-monitor.js +96 -0
  192. package/dist/external/@atlaskit/pragmatic-drag-and-drop/dist/esm/public-utils/combine.js +13 -0
  193. package/dist/external/@atlaskit/pragmatic-drag-and-drop/dist/esm/public-utils/external/file.js +23 -0
  194. package/dist/external/@atlaskit/pragmatic-drag-and-drop/dist/esm/public-utils/once.js +18 -0
  195. package/dist/external/@atlaskit/pragmatic-drag-and-drop/dist/esm/public-utils/prevent-unhandled.js +102 -0
  196. package/dist/external/@atlaskit/pragmatic-drag-and-drop/dist/esm/util/add-attribute.js +10 -0
  197. package/dist/external/@atlaskit/pragmatic-drag-and-drop/dist/esm/util/android.js +3 -0
  198. package/dist/external/@atlaskit/pragmatic-drag-and-drop/dist/esm/util/changing-window/count-events-for-safari.js +123 -0
  199. package/dist/external/@atlaskit/pragmatic-drag-and-drop/dist/esm/util/changing-window/is-entering-window.js +55 -0
  200. package/dist/external/@atlaskit/pragmatic-drag-and-drop/dist/esm/util/changing-window/is-from-another-window.js +18 -0
  201. package/dist/external/@atlaskit/pragmatic-drag-and-drop/dist/esm/util/changing-window/is-leaving-window.js +55 -0
  202. package/dist/external/@atlaskit/pragmatic-drag-and-drop/dist/esm/util/detect-broken-drag.js +49 -0
  203. package/dist/external/@atlaskit/pragmatic-drag-and-drop/dist/esm/util/get-input.js +16 -0
  204. package/dist/external/@atlaskit/pragmatic-drag-and-drop/dist/esm/util/is-firefox.js +15 -0
  205. package/dist/external/@atlaskit/pragmatic-drag-and-drop/dist/esm/util/is-safari.js +18 -0
  206. package/dist/external/@atlaskit/pragmatic-drag-and-drop/dist/esm/util/media-types/text-media-type.js +8 -0
  207. package/dist/external/@atlaskit/pragmatic-drag-and-drop/external/@babel/runtime/helpers/esm/arrayLikeToArray.js +7 -0
  208. package/dist/external/@atlaskit/pragmatic-drag-and-drop/external/@babel/runtime/helpers/esm/arrayWithHoles.js +5 -0
  209. package/dist/external/@atlaskit/pragmatic-drag-and-drop/external/@babel/runtime/helpers/esm/arrayWithoutHoles.js +7 -0
  210. package/dist/external/@atlaskit/pragmatic-drag-and-drop/external/@babel/runtime/helpers/esm/defineProperty.js +18 -0
  211. package/dist/external/@atlaskit/pragmatic-drag-and-drop/external/@babel/runtime/helpers/esm/iterableToArray.js +5 -0
  212. package/dist/external/@atlaskit/pragmatic-drag-and-drop/external/@babel/runtime/helpers/esm/iterableToArrayLimit.js +26 -0
  213. package/dist/external/@atlaskit/pragmatic-drag-and-drop/external/@babel/runtime/helpers/esm/nonIterableRest.js +5 -0
  214. package/dist/external/@atlaskit/pragmatic-drag-and-drop/external/@babel/runtime/helpers/esm/nonIterableSpread.js +5 -0
  215. package/dist/external/@atlaskit/pragmatic-drag-and-drop/external/@babel/runtime/helpers/esm/slicedToArray.js +10 -0
  216. package/dist/external/@atlaskit/pragmatic-drag-and-drop/external/@babel/runtime/helpers/esm/toConsumableArray.js +10 -0
  217. package/dist/external/@atlaskit/pragmatic-drag-and-drop/external/@babel/runtime/helpers/esm/toPrimitive.js +14 -0
  218. package/dist/external/@atlaskit/pragmatic-drag-and-drop/external/@babel/runtime/helpers/esm/toPropertyKey.js +9 -0
  219. package/dist/external/@atlaskit/pragmatic-drag-and-drop/external/@babel/runtime/helpers/esm/typeof.js +11 -0
  220. package/dist/external/@atlaskit/pragmatic-drag-and-drop/external/@babel/runtime/helpers/esm/unsupportedIterableToArray.js +12 -0
  221. package/dist/external/@babel/runtime/helpers/esm/extends.js +16 -0
  222. package/dist/external/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +14 -0
  223. package/dist/external/@babel/runtime/helpers/extends.js +28 -0
  224. package/dist/external/@babel/runtime/helpers/interopRequireDefault.js +19 -0
  225. package/dist/external/@babel/runtime/helpers/objectWithoutPropertiesLoose.js +26 -0
  226. package/dist/external/@emotion/cache/dist/emotion-cache.esm.js +653 -0
  227. package/dist/external/@emotion/memoize/dist/emotion-memoize.esm.js +9 -0
  228. package/dist/external/@emotion/sheet/dist/emotion-sheet.esm.js +154 -0
  229. package/dist/external/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js +16 -0
  230. package/dist/external/@mui/icons-material/esm/ArrowUpwardRounded.js +8 -0
  231. package/dist/external/@mui/icons-material/esm/CalendarToday.js +8 -0
  232. package/dist/external/@mui/icons-material/esm/Check.js +8 -0
  233. package/dist/external/@mui/icons-material/esm/ChevronLeft.js +8 -0
  234. package/dist/external/@mui/icons-material/esm/ChevronRight.js +8 -0
  235. package/dist/external/@mui/icons-material/esm/ClearRounded.js +8 -0
  236. package/dist/external/@mui/icons-material/esm/Close.js +8 -0
  237. package/dist/external/@mui/icons-material/esm/CloudUploadRounded.js +8 -0
  238. package/dist/external/@mui/icons-material/esm/ExpandMore.js +8 -0
  239. package/dist/external/@mui/icons-material/esm/Info.js +8 -0
  240. package/dist/external/@mui/icons-material/esm/UploadFileRounded.js +8 -0
  241. package/dist/external/@mui/material/SvgIcon/SvgIcon.js +186 -0
  242. package/dist/external/@mui/material/SvgIcon/svgIconClasses.js +9 -0
  243. package/dist/external/@mui/material/colors/blue.js +18 -0
  244. package/dist/external/@mui/material/colors/common.js +6 -0
  245. package/dist/external/@mui/material/colors/green.js +18 -0
  246. package/dist/external/@mui/material/colors/grey.js +18 -0
  247. package/dist/external/@mui/material/colors/lightBlue.js +18 -0
  248. package/dist/external/@mui/material/colors/orange.js +18 -0
  249. package/dist/external/@mui/material/colors/purple.js +18 -0
  250. package/dist/external/@mui/material/colors/red.js +18 -0
  251. package/dist/external/@mui/material/styles/createMixins.js +19 -0
  252. package/dist/external/@mui/material/styles/createPalette.js +308 -0
  253. package/dist/external/@mui/material/styles/createTheme.js +82 -0
  254. package/dist/external/@mui/material/styles/createTransitions.js +91 -0
  255. package/dist/external/@mui/material/styles/createTypography.js +93 -0
  256. package/dist/external/@mui/material/styles/defaultTheme.js +5 -0
  257. package/dist/external/@mui/material/styles/identifier.js +3 -0
  258. package/dist/external/@mui/material/styles/rootShouldForwardProp.js +5 -0
  259. package/dist/external/@mui/material/styles/shadows.js +11 -0
  260. package/dist/external/@mui/material/styles/slotShouldForwardProp.js +6 -0
  261. package/dist/external/@mui/material/styles/styled.js +12 -0
  262. package/dist/external/@mui/material/styles/useThemeProps.js +17 -0
  263. package/dist/external/@mui/material/styles/zIndex.js +14 -0
  264. package/dist/external/@mui/material/utils/capitalize.js +5 -0
  265. package/dist/external/@mui/material/utils/createSvgIcon.js +24 -0
  266. package/dist/external/@mui/styled-engine/GlobalStyles/GlobalStyles.js +24 -0
  267. package/dist/external/@mui/styled-engine/StyledEngineProvider/StyledEngineProvider.js +37 -0
  268. package/dist/external/@mui/styled-engine/index.js +38 -0
  269. package/dist/external/@mui/system/colorManipulator.js +385 -0
  270. package/dist/external/@mui/system/createStyled.js +270 -0
  271. package/dist/external/@mui/system/esm/borders.js +51 -0
  272. package/dist/external/@mui/system/esm/breakpoints.js +66 -0
  273. package/dist/external/@mui/system/esm/compose.js +26 -0
  274. package/dist/external/@mui/system/esm/createTheme/applyStyles.js +76 -0
  275. package/dist/external/@mui/system/esm/createTheme/createBreakpoints.js +82 -0
  276. package/dist/external/@mui/system/esm/createTheme/createSpacing.js +34 -0
  277. package/dist/external/@mui/system/esm/createTheme/createTheme.js +45 -0
  278. package/dist/external/@mui/system/esm/createTheme/index.js +3 -0
  279. package/dist/external/@mui/system/esm/createTheme/shape.js +5 -0
  280. package/dist/external/@mui/system/esm/cssGrid.js +86 -0
  281. package/dist/external/@mui/system/esm/memoize.js +11 -0
  282. package/dist/external/@mui/system/esm/merge.js +12 -0
  283. package/dist/external/@mui/system/esm/palette.js +28 -0
  284. package/dist/external/@mui/system/esm/responsivePropType.js +5 -0
  285. package/dist/external/@mui/system/esm/sizing.js +67 -0
  286. package/dist/external/@mui/system/esm/spacing.js +144 -0
  287. package/dist/external/@mui/system/esm/style.js +77 -0
  288. package/dist/external/@mui/system/esm/styleFunctionSx/defaultSxConfig.js +293 -0
  289. package/dist/external/@mui/system/esm/styleFunctionSx/extendSxProp.js +51 -0
  290. package/dist/external/@mui/system/esm/styleFunctionSx/index.js +3 -0
  291. package/dist/external/@mui/system/esm/styleFunctionSx/styleFunctionSx.js +129 -0
  292. package/dist/external/@mui/system/esm/useTheme.js +9 -0
  293. package/dist/external/@mui/system/esm/useThemeProps/getThemeProps.js +15 -0
  294. package/dist/external/@mui/system/esm/useThemeProps/useThemeProps.js +22 -0
  295. package/dist/external/@mui/system/esm/useThemeWithoutDefault.js +12 -0
  296. package/dist/external/@mui/utils/ClassNameGenerator/ClassNameGenerator.js +18 -0
  297. package/dist/external/@mui/utils/capitalize/capitalize.js +14 -0
  298. package/dist/external/@mui/utils/capitalize/index.js +1 -0
  299. package/dist/external/@mui/utils/clamp/clamp.js +5 -0
  300. package/dist/external/@mui/utils/clamp/index.js +1 -0
  301. package/dist/external/@mui/utils/composeClasses/composeClasses.js +23 -0
  302. package/dist/external/@mui/utils/deepmerge/deepmerge.js +44 -0
  303. package/dist/external/@mui/utils/deepmerge/index.js +1 -0
  304. package/dist/external/@mui/utils/formatMuiErrorMessage/formatMuiErrorMessage.js +21 -0
  305. package/dist/external/@mui/utils/formatMuiErrorMessage/index.js +1 -0
  306. package/dist/external/@mui/utils/generateUtilityClass/generateUtilityClass.js +22 -0
  307. package/dist/external/@mui/utils/generateUtilityClasses/generateUtilityClasses.js +11 -0
  308. package/dist/external/@mui/utils/getDisplayName/getDisplayName.js +49 -0
  309. package/dist/external/@mui/utils/getDisplayName/index.js +1 -0
  310. package/dist/external/@mui/utils/resolveProps/resolveProps.js +37 -0
  311. package/dist/external/bind-event-listener/dist/bind-all.js +54 -0
  312. package/dist/external/bind-event-listener/dist/bind.js +21 -0
  313. package/dist/external/bind-event-listener/dist/index.js +21 -0
  314. package/dist/external/clsx/dist/clsx.js +3 -0
  315. package/dist/external/object-assign/index.js +99 -0
  316. package/dist/external/prop-types/checkPropTypes.js +115 -0
  317. package/dist/external/prop-types/factoryWithThrowingShims.js +74 -0
  318. package/dist/external/prop-types/factoryWithTypeCheckers.js +625 -0
  319. package/dist/external/prop-types/index.js +33 -0
  320. package/dist/external/prop-types/lib/ReactPropTypesSecret.js +21 -0
  321. package/dist/external/prop-types/lib/has.js +11 -0
  322. package/dist/external/raf-schd/dist/raf-schd.esm.js +34 -0
  323. package/dist/external/stylis/src/Enum.js +12 -0
  324. package/dist/external/stylis/src/Middleware.js +32 -0
  325. package/dist/external/stylis/src/Parser.js +193 -0
  326. package/dist/external/stylis/src/Serializer.js +38 -0
  327. package/dist/external/stylis/src/Tokenizer.js +223 -0
  328. package/dist/external/stylis/src/Utility.js +117 -0
  329. package/dist/hooks/use-controlled-state/index.js +23 -0
  330. package/dist/index.d.ts +1 -1
  331. package/dist/index.js +52 -2
  332. package/dist/libs/rehype-accent/index.js +39 -0
  333. package/framer/index.js +30 -30
  334. package/package.json +8 -4
@@ -0,0 +1,568 @@
1
+ import React__default, { useId, useRef, useMemo, useCallback, useState, useEffect } from 'react';
2
+ import { useVirtualizer } from '@tanstack/react-virtual';
3
+ import { styled, Stack, LinearProgress, Link } from '@mui/joy';
4
+ import SortIcon from '../../external/@mui/icons-material/esm/ArrowUpwardRounded.js';
5
+ import InfoIcon from '../../external/@mui/icons-material/esm/Info.js';
6
+ import { Sheet } from '../Sheet/Sheet.js';
7
+ import { Table } from '../Table/Table.js';
8
+ import { Checkbox } from '../Checkbox/Checkbox.js';
9
+ import { Box } from '../Box/Box.js';
10
+ import { Typography } from '../Typography/Typography.js';
11
+ import { Button } from '../Button/Button.js';
12
+ import { CurrencyInput } from '../CurrencyInput/CurrencyInput.js';
13
+ import { DatePicker } from '../DatePicker/DatePicker.js';
14
+ import { Input } from '../Input/Input.js';
15
+ import { Textarea } from '../Textarea/Textarea.js';
16
+ import { Autocomplete } from '../Autocomplete/Autocomplete.js';
17
+ import { Select } from '../Select/Select.js';
18
+ import { Tooltip } from '../Tooltip/Tooltip.js';
19
+ import { motion } from 'framer-motion';
20
+ import { useControlledState } from '../../hooks/use-controlled-state/index.js';
21
+ import { Pagination } from '../Pagination/Pagination.js';
22
+
23
+ function getTextAlign(props) {
24
+ return !props.editMode &&
25
+ ["number", "date", "currency"].includes(props.type || "")
26
+ ? "end"
27
+ : "start";
28
+ }
29
+ const OverlayWrapper = styled("tr", {
30
+ name: "DataTable",
31
+ slot: "overlayWrapper",
32
+ })({
33
+ position: "sticky",
34
+ top: `calc(var(--unstable_TableCell-height, 32px))`,
35
+ left: 0,
36
+ right: 0,
37
+ zIndex: 1,
38
+ "& > td": {
39
+ height: 0,
40
+ padding: 0,
41
+ border: "none !important",
42
+ },
43
+ });
44
+ const numberFormatter = (value) => "Intl" in window ? new Intl.NumberFormat().format(value) : value;
45
+ const Resizer = (ref) => (React__default.createElement(Box, { sx: {
46
+ position: "absolute",
47
+ top: 0,
48
+ right: 0,
49
+ bottom: 0,
50
+ width: "4px",
51
+ cursor: "col-resize",
52
+ },
53
+ // NOTE: Resize가 정렬을 변경하면 안된다.
54
+ onClick: (e) => e.stopPropagation(), onMouseDown: (e) => {
55
+ const initialX = e.clientX;
56
+ const initialWidth = ref.current?.getBoundingClientRect().width;
57
+ const onMouseMove = (e) => {
58
+ if (initialWidth && initialX) {
59
+ ref.current.style.width = `${initialWidth + (e.clientX - initialX)}px`;
60
+ }
61
+ };
62
+ const onMouseUp = () => {
63
+ document.removeEventListener("mousemove", onMouseMove);
64
+ document.removeEventListener("mouseup", onMouseUp);
65
+ };
66
+ document.addEventListener("mousemove", onMouseMove);
67
+ document.addEventListener("mouseup", onMouseUp);
68
+ } }));
69
+ const VirtualizedTableBody = styled("tbody", {
70
+ name: "DataTable",
71
+ slot: "tableBody",
72
+ })({
73
+ // HACK: for virtualization: tbody의 height를 렌더링 된 tr의 총 높이 보다 높은 값으로 지정하고도 tr의 size를 유지하기 위한 꼼수
74
+ "&::after": {
75
+ content: "''",
76
+ display: "block",
77
+ height: "0.01em",
78
+ },
79
+ });
80
+ const VirtualizedTableRow = styled("tr", {
81
+ name: "DataTable",
82
+ slot: "tableRow",
83
+ shouldForwardProp: (prop) => prop !== "striped",
84
+ })(({ striped }) => ({
85
+ ...(striped && {
86
+ background: "var(--TableRow-stripeBackground, var(--ceed-palette-background-level2))",
87
+ color: "var(--ceed-palette-text-primary)",
88
+ }),
89
+ "&:hover": {
90
+ background: "var(--TableRow-hoverBackground, var(--ceed-palette-background-level3))",
91
+ },
92
+ }));
93
+ const Asterisk = styled("span", {
94
+ name: "DataTable",
95
+ slot: "headCellAsterisk",
96
+ })(({ theme }) => ({
97
+ color: "var(--ceed-palette-danger-500)",
98
+ marginLeft: theme.spacing(0.5),
99
+ }));
100
+ const MotionSortIcon = motion(SortIcon);
101
+ const HeadCell = (props) => {
102
+ // prop destruction
103
+ const { width, maxWidth, minWidth, stickyHeader, resizable, field, tableId, headerName, required, editMode, sort, onSortChange, sortable = true, sortOrder, description, } = props;
104
+ // lib hooks
105
+ // state, ref, querystring hooks
106
+ const ref = useRef(null);
107
+ // form hooks
108
+ // query hooks
109
+ // calculated values
110
+ const headId = useMemo(() => `${tableId}_header_${headerName ?? field}`.trim(), [tableId, headerName, field]);
111
+ const resizer = resizable ?? true ? Resizer(ref) : null;
112
+ const style = {
113
+ width: width,
114
+ minWidth: minWidth ?? "50px",
115
+ maxWidth: maxWidth,
116
+ position: stickyHeader ? undefined : "relative",
117
+ cursor: sortable ? "pointer" : "default",
118
+ // TODO: multi-sort때문에 일단 추가한 property, joy-ui에서는 multi-sort시 th에 user-select: none을 적용하고 툴팁을 띄워준다.
119
+ userSelect: "none",
120
+ };
121
+ const textAlign = getTextAlign(props);
122
+ const initialSort = sortOrder[0];
123
+ const sortIcon = sortable && (React__default.createElement(MotionSortIcon, { style: {
124
+ width: "16px",
125
+ height: "16px",
126
+ },
127
+ // @ts-ignore: material-icon을 js로 import해서 role property에 대한 타입을 못찾는다.
128
+ role: "img", "aria-labelledby": headId, "aria-description": (sort ?? initialSort) === "desc" ? "descending" : "ascending", "data-testid": undefined,
129
+ // #region framer-motion
130
+ variants: {
131
+ hover: { opacity: 1 },
132
+ initial: { opacity: 0 },
133
+ }, animate: {
134
+ color: !!sort
135
+ ? "var(--ceed-palette-text-secondary)"
136
+ : "var(--ceed-palette-primary-solidDisabledColor)",
137
+ rotate: (sort ?? initialSort) === "desc" ? 180 : 0,
138
+ opacity: !!sort ? 1 : 0,
139
+ }, transition: {
140
+ duration: 0,
141
+ rotate: { duration: 0.2, ease: "easeOut" },
142
+ color: { duration: 0.2, ease: "easeInOut" },
143
+ opacity: { duration: 0.2, ease: "easeInOut" },
144
+ } }));
145
+ const descriptionTooltip = description ? (React__default.createElement(Tooltip, { onClick: (e) => e.stopPropagation(), title: React__default.createElement(React__default.Fragment, null, description?.split("\n").map((line, i) => (React__default.createElement("div", { key: i }, line)))), placement: "top" },
146
+ React__default.createElement(InfoIcon, { fontSize: "small" }))) : null;
147
+ // effects
148
+ // handlers
149
+ return (React__default.createElement(motion.th, { id: headId, "aria-label": headerName ?? field, "aria-sort": sort
150
+ ? { asc: "ascending", desc: "descending" }[sort]
151
+ : "none", ref: ref, key: field, style: style, onClick: (e) => sortable &&
152
+ onSortChange?.({ field, currentSort: sort, multiple: e.shiftKey }), whileHover: "hover", initial: "initial" },
153
+ React__default.createElement(Stack, { gap: 1, direction: "row", justifyContent: textAlign, alignItems: "center" },
154
+ textAlign === "end" && sortIcon,
155
+ textAlign === "end" && descriptionTooltip,
156
+ React__default.createElement("div", null,
157
+ headerName ?? field,
158
+ editMode && required && React__default.createElement(Asterisk, null, "*")),
159
+ textAlign === "start" && descriptionTooltip,
160
+ textAlign === "start" && sortIcon),
161
+ resizer));
162
+ };
163
+ const BodyCell = (props) => {
164
+ // prop destruction
165
+ const { tableId, field, type, renderCell, renderEditCell, isCellEditable, noWrap, row, rowId, } = props;
166
+ // lib hooks
167
+ // state, ref, querystring hooks
168
+ const [value, setValue] = useState(row[field]);
169
+ const cellRef = useRef(null);
170
+ // form hooks
171
+ // query hooks
172
+ // calculated values
173
+ const params = useMemo(() => ({
174
+ row,
175
+ value,
176
+ id: rowId,
177
+ }), [row, rowId, value]);
178
+ const editMode = useMemo(() => !!(props.editMode &&
179
+ (typeof isCellEditable === "function"
180
+ ? isCellEditable(params)
181
+ : isCellEditable ?? true)), [props.editMode, isCellEditable, params]);
182
+ const componentProps = useMemo(() => ({
183
+ ...(typeof props.componentProps === "function"
184
+ ? props.componentProps(params)
185
+ : props.componentProps || {}),
186
+ size: "sm",
187
+ }), [props, params]);
188
+ const editModeComponentProps = useMemo(() => ({
189
+ ...componentProps,
190
+ onChange: (e) => {
191
+ componentProps.onChange?.(e);
192
+ setValue(e.target.value);
193
+ if (type === "select") {
194
+ props.onCellEditStop?.({
195
+ ...params,
196
+ originalRow: row,
197
+ row: {
198
+ ...params.row,
199
+ [field]: e.target.value,
200
+ },
201
+ value: e.target.value,
202
+ });
203
+ }
204
+ },
205
+ onFocus: (e) => {
206
+ componentProps.onFocus?.(e);
207
+ props.onCellEditStart?.({
208
+ ...params,
209
+ originalRow: row,
210
+ row: {
211
+ ...params.row,
212
+ value,
213
+ },
214
+ value,
215
+ });
216
+ },
217
+ onBlur: (e) => {
218
+ componentProps.onBlur?.(e);
219
+ if (type &&
220
+ ["number", "text", "longText", "currency", "date"].includes(type)) {
221
+ props.onCellEditStop?.({
222
+ ...params,
223
+ originalRow: row,
224
+ row: {
225
+ ...params.row,
226
+ [field]: value,
227
+ },
228
+ value,
229
+ });
230
+ }
231
+ },
232
+ ...(type === "autocomplete" && {
233
+ onChangeComplete: (e) => {
234
+ componentProps.onChangeComplete?.(e);
235
+ setValue(e.target.value);
236
+ props.onCellEditStop?.({
237
+ ...params,
238
+ originalRow: row,
239
+ row: {
240
+ ...params.row,
241
+ [field]: e.target.value,
242
+ },
243
+ value: e.target.value,
244
+ });
245
+ },
246
+ }),
247
+ }), [params, row, field, value, componentProps, type, props]);
248
+ const EditModeComponent = useMemo(() => {
249
+ if (renderEditCell) {
250
+ return renderEditCell(params);
251
+ }
252
+ return {
253
+ date: (React__default.createElement(DatePicker, { value: value, ...editModeComponentProps })),
254
+ currency: (React__default.createElement(CurrencyInput, { value: value, ...editModeComponentProps })),
255
+ number: (React__default.createElement(Input, { value: value, type: "number", ...editModeComponentProps })),
256
+ text: (React__default.createElement(Input, { value: value, type: "text", ...editModeComponentProps })),
257
+ longText: (React__default.createElement(Textarea, { value: value, ...editModeComponentProps })),
258
+ autocomplete: (React__default.createElement(Autocomplete, { value: value, options: editModeComponentProps.options || [value], ...editModeComponentProps })),
259
+ select: (React__default.createElement(Select, { value: value,
260
+ // @ts-expect-error NOTE: editComponentProps로 option이 넘어오면 Override되어야 한다
261
+ options: editModeComponentProps.options || [value], ...editModeComponentProps })),
262
+ }[type || "text"];
263
+ }, [value, editModeComponentProps, type]);
264
+ const ReadModeComponent = useMemo(() => {
265
+ if (renderCell) {
266
+ return renderCell(params);
267
+ }
268
+ const innerText = value;
269
+ const typedComponent = {
270
+ link: React__default.createElement(props.component || Link, {
271
+ children: innerText,
272
+ ...componentProps,
273
+ }),
274
+ }[type || "text"];
275
+ return typedComponent || innerText;
276
+ }, [value, renderCell, params, type, componentProps, props]);
277
+ const CellComponent = useMemo(() => editMode && EditModeComponent ? EditModeComponent : ReadModeComponent, [editMode, EditModeComponent, ReadModeComponent]);
278
+ const showTooltip = useMemo(() => noWrap && props.type === "longText", [noWrap, props.type]);
279
+ // effects
280
+ useEffect(() => {
281
+ setValue(row[field]);
282
+ }, [row, field]);
283
+ // handlers
284
+ return (React__default.createElement("td", { ref: cellRef, key: field, headers: `${tableId}_header_${props.headerName ?? field}`, style: {
285
+ textAlign: getTextAlign({ type }),
286
+ verticalAlign: editMode ? "top" : "middle",
287
+ } }, showTooltip ? (React__default.createElement(Tooltip, { title: value, placement: "bottom", style: { maxWidth: "100%" }, enterDelay: 1500, enterNextDelay: 1500 },
288
+ React__default.createElement("div", { style: {
289
+ overflow: "hidden",
290
+ textOverflow: "ellipsis",
291
+ } }, CellComponent))) : (CellComponent)));
292
+ };
293
+ const BodyRow = (props) => {
294
+ // prop destruction
295
+ const { tableId, columns, rowId, editMode, noWrap, row } = props;
296
+ // lib hooks
297
+ // state, ref, querystring hooks
298
+ // form hooks
299
+ // query hooks
300
+ // calculated values
301
+ // effects
302
+ // handlers
303
+ return (React__default.createElement(React__default.Fragment, null, columns.map((column, i) => (React__default.createElement(BodyCell, { ...column, tableId: tableId, key: `${rowId}_${column.field.toString()}_${i}`, row: row, rowId: rowId, editMode: editMode, noWrap: noWrap })))));
304
+ };
305
+ function useDataTableRenderer({ rows: _rows, columns: columnsProp, rowCount: totalRowsProp, initialState, pagination, paginationMode, paginationModel, onPaginationModelChange, sortModel: controlledSortModel, sortOrder: _sortOrder = ["asc", "desc", null], selectionModel = [], onSortModelChange, onSelectionModelChange, editMode, getId: _getId, isTotalSelected: _isTotalSelected, }) {
306
+ const [sortModel, setSortModel] = useControlledState(controlledSortModel, initialState?.sorting?.sortModel ?? [], useCallback((sortModel) => onSortModelChange?.(sortModel), [onSortModelChange]));
307
+ const columnsByField = useMemo(() => columnsProp.reduce((acc, curr) => ({ ...acc, [curr.field]: curr }), {}), [columnsProp]);
308
+ const sortComparator = useCallback((rowA, rowB) => {
309
+ for (const sort of sortModel) {
310
+ const { field, sort: direction } = sort;
311
+ const a = rowA[field];
312
+ const b = rowB[field];
313
+ const column = columnsByField[field];
314
+ let comparison = 0;
315
+ if (column.sortComparator) {
316
+ comparison = column.sortComparator({
317
+ rowA,
318
+ rowB,
319
+ });
320
+ }
321
+ else if (typeof a === "string" && typeof b === "string") {
322
+ comparison = a.localeCompare(b);
323
+ }
324
+ else if (typeof a === "number" && typeof b === "number") {
325
+ comparison = a - b;
326
+ }
327
+ else if (a instanceof Date && b instanceof Date) {
328
+ comparison = a.getTime() - b.getTime();
329
+ }
330
+ if (comparison !== 0) {
331
+ return direction === "asc" ? comparison : -comparison;
332
+ }
333
+ }
334
+ return 0;
335
+ }, [sortModel, columnsByField]);
336
+ const rows = useMemo(() => (sortModel.length ? [..._rows].sort(sortComparator) : _rows), [_rows, sortModel, sortComparator]);
337
+ const sortOrder = useMemo(() => Array.from(new Set(_sortOrder)), [_sortOrder]);
338
+ const [page, setPage] = useState(paginationModel?.page || 1);
339
+ const pageSize = paginationModel?.pageSize || 20;
340
+ const getId = useCallback((row, index) => _getId?.(row) ??
341
+ row.id ??
342
+ `${(index || 0) + (page - 1) * pageSize}`, [_getId, page, pageSize]);
343
+ const selectedModelSet = useMemo(() => new Set(selectionModel), [selectionModel]);
344
+ const dataInPage = useMemo(() => !pagination || paginationMode === "server"
345
+ ? rows
346
+ : rows.slice((page - 1) * pageSize, (page - 1) * pageSize + pageSize), [rows, page, pageSize, paginationMode, pagination]);
347
+ const isAllSelected = useMemo(() => dataInPage.length > 0 &&
348
+ dataInPage.every((row, i) => selectedModelSet.has(getId(row, i))), [dataInPage, selectedModelSet, getId]);
349
+ const rowCount = totalRowsProp || rows.length;
350
+ const isTotalSelected = useMemo(() => _isTotalSelected ?? (rowCount > 0 && selectionModel.length === rowCount), [_isTotalSelected, selectionModel, rowCount]);
351
+ const columns = useMemo(() => {
352
+ const baseColumns = columnsProp ||
353
+ // fallback
354
+ Object.keys(rows[0] || {}).map((key) => ({
355
+ field: key,
356
+ }));
357
+ return baseColumns.map((column) => ({
358
+ ...column,
359
+ isCellEditable: editMode &&
360
+ (typeof column.isCellEditable === "function"
361
+ ? column.isCellEditable
362
+ : column.isCellEditable ?? true),
363
+ sort: sortModel.find((sort) => sort.field === column.field)?.sort,
364
+ sortOrder: columnsByField[column.field]?.sortOrder || sortOrder,
365
+ }));
366
+ }, [rows, columnsProp, editMode, sortModel, columnsByField, sortOrder]);
367
+ const handlePageChange = useCallback((newPage) => {
368
+ setPage(newPage);
369
+ onPaginationModelChange?.({ page: newPage, pageSize });
370
+ }, [onPaginationModelChange, pageSize]);
371
+ const handleSortChange = useCallback((props) => {
372
+ const { field, currentSort, multiple } = props;
373
+ const column = columnsByField[field];
374
+ const columnSortOrder = column.sortOrder || sortOrder;
375
+ if (currentSort !== undefined) {
376
+ const currentOrderIndex = columnSortOrder.indexOf(currentSort);
377
+ const nextSortOrderIndex = (currentOrderIndex + 1) % columnSortOrder.length;
378
+ const nextSortOrder = columnSortOrder[nextSortOrderIndex];
379
+ if (!nextSortOrder) {
380
+ const newSortModel = multiple
381
+ ? sortModel.filter((model) => model.field !== field)
382
+ : [];
383
+ setSortModel(newSortModel);
384
+ return;
385
+ }
386
+ const newSortModel = multiple
387
+ ? sortModel.map((model) => model.field === field ? { field, sort: nextSortOrder } : model)
388
+ : [{ field, sort: nextSortOrder }];
389
+ setSortModel(newSortModel);
390
+ }
391
+ else {
392
+ const newSortModel = multiple
393
+ ? [...sortModel, { field, sort: columnSortOrder[0] }]
394
+ : [{ field, sort: columnSortOrder[0] }];
395
+ setSortModel(newSortModel);
396
+ }
397
+ }, [sortOrder, columnsByField, sortModel, setSortModel]);
398
+ useEffect(() => {
399
+ // if uncontrolled, reset page to 1
400
+ if (!paginationModel) {
401
+ handlePageChange(1);
402
+ }
403
+ }, [rowCount, handlePageChange, paginationModel]);
404
+ useEffect(() => {
405
+ const lastPage = Math.max(1, Math.ceil(rowCount / pageSize));
406
+ if (page > lastPage) {
407
+ handlePageChange(lastPage);
408
+ }
409
+ }, [page, rowCount, pageSize, handlePageChange]);
410
+ useEffect(() => {
411
+ onSelectionModelChange?.([]);
412
+ }, [page]);
413
+ return {
414
+ rowCount,
415
+ page,
416
+ pageSize,
417
+ onPaginationModelChange: handlePageChange,
418
+ getId,
419
+ HeadCell,
420
+ BodyRow,
421
+ dataInPage,
422
+ handleSortChange,
423
+ isAllSelected, // all rows are selected on this page
424
+ isTotalSelected,
425
+ isSelectedRow: useCallback((model) => selectedModelSet.has(model), [selectedModelSet]),
426
+ onAllCheckboxChange: useCallback(() => {
427
+ onSelectionModelChange?.(isAllSelected ? [] : dataInPage.map(getId));
428
+ }, [isAllSelected, dataInPage, onSelectionModelChange, getId]),
429
+ onCheckboxChange: useCallback((event, selectedModel) => {
430
+ if (selectedModelSet.has(selectedModel)) {
431
+ const newSelectionModel = selectionModel.filter((model) => model !== selectedModel);
432
+ onSelectionModelChange?.(newSelectionModel);
433
+ }
434
+ else {
435
+ const newSelectionModel = [...selectionModel, selectedModel];
436
+ onSelectionModelChange?.(newSelectionModel);
437
+ }
438
+ }, [selectionModel, onSelectionModelChange, selectedModelSet]),
439
+ columns,
440
+ onTotalSelect: useCallback(() => {
441
+ onSelectionModelChange?.(isTotalSelected ? [] : rows.map(getId), !isTotalSelected);
442
+ }, [isTotalSelected, rows, onSelectionModelChange, getId]),
443
+ };
444
+ }
445
+ function DataTable(props) {
446
+ // prop destruction
447
+ const { rows, checkboxSelection, editMode, selectionModel, onSelectionModelChange, disableSelectionOnClick, onRowClick, rowCount: _, // rowCount is used in useDataTableRenderer
448
+ columns: __, // columns is used in useDataTableRenderer
449
+ onPaginationModelChange: ___, // onPaginationModelChange is used in useDataTableRenderer
450
+ pagination, paginationMode: ____, // paginationMode is used in useDataTableRenderer
451
+ paginationModel: _____, // paginationModel is used in useDataTableRenderer
452
+ sortModel: ______, // sortModel is used in useDataTableRenderer
453
+ sortOrder: _______, // sortOrder is used in useDataTableRenderer
454
+ onSortModelChange: ________, // onSortModelChange is used in useDataTableRenderer
455
+ initialState: _________, // initialState is used in useDataTableRenderer
456
+ loading, slots: { checkbox: RenderCheckbox = Checkbox, toolbar: Toolbar, footer: Footer, loadingOverlay: LoadingOverlay = () => (React__default.createElement(LinearProgress, { value: 8, variant: "plain" })), } = {}, slotProps: { checkbox: checkboxProps = {}, toolbar: toolbarProps, background: backgroundProps = {}, } = {}, stripe, ...innerProps } = props;
457
+ // state, ref, querystring hooks
458
+ const tableId = useId();
459
+ const parentRef = useRef(null);
460
+ // lib hooks
461
+ const { columns, isAllSelected, isSelectedRow, onAllCheckboxChange, onCheckboxChange, getId, rowCount, page, pageSize, onPaginationModelChange, handleSortChange, dataInPage, isTotalSelected, onTotalSelect, HeadCell, BodyRow, } = useDataTableRenderer(props);
462
+ const virtualizer = useVirtualizer({
463
+ count: dataInPage.length,
464
+ getScrollElement: () => parentRef.current,
465
+ estimateSize: () => 32,
466
+ measureElement: (element) => element.clientHeight,
467
+ overscan: 20,
468
+ });
469
+ // form hooks
470
+ // query hooks
471
+ // calculated values
472
+ const paginationModel = useMemo(() => ({ page, pageSize }), [page, pageSize]);
473
+ const totalSize = virtualizer.getTotalSize();
474
+ const virtualizedItems = virtualizer.getVirtualItems();
475
+ // effects
476
+ // handlers
477
+ return (React__default.createElement(Box, { sx: {
478
+ maxHeight: "100%",
479
+ overflow: "auto",
480
+ display: "flex",
481
+ flexDirection: "column",
482
+ } },
483
+ (!!checkboxSelection || !!Toolbar) && (React__default.createElement(Stack, { direction: "row", sx: {
484
+ pt: 1,
485
+ pb: 1,
486
+ }, justifyContent: "space-between", alignItems: "center" },
487
+ !!checkboxSelection && (React__default.createElement(Stack, { direction: "row", spacing: 1 },
488
+ !isAllSelected && (React__default.createElement(Typography, { level: "body-xs" },
489
+ numberFormatter(selectionModel?.length || 0),
490
+ " items selected")),
491
+ isAllSelected && !isTotalSelected && (React__default.createElement(Stack, { direction: "row", spacing: 1, alignItems: "center" },
492
+ React__default.createElement(Typography, { level: "body-xs" },
493
+ "All ",
494
+ numberFormatter(selectionModel?.length || 0),
495
+ " items on this page are selected."),
496
+ React__default.createElement(Button, { size: "sm", variant: "plain", onClick: onTotalSelect },
497
+ "Select all ",
498
+ numberFormatter(rowCount ?? rows.length),
499
+ " items"))),
500
+ isTotalSelected && (React__default.createElement(Stack, { direction: "row", spacing: 1, alignItems: "center" },
501
+ React__default.createElement(Typography, { level: "body-xs" },
502
+ "All ",
503
+ numberFormatter(rowCount ?? rows.length),
504
+ " items are selected."),
505
+ React__default.createElement(Button, { size: "sm", variant: "plain", color: "danger", onClick: onTotalSelect }, "Cancel"))))),
506
+ Toolbar && React__default.createElement(Toolbar, { ...(toolbarProps || {}) }))),
507
+ React__default.createElement(Sheet, { variant: "outlined", sx: {
508
+ height: "100%",
509
+ overflow: "auto",
510
+ width: "100%",
511
+ boxShadow: "sm",
512
+ borderRadius: "sm",
513
+ }, ref: parentRef, ...backgroundProps },
514
+ React__default.createElement(Table, { ...innerProps },
515
+ React__default.createElement("thead", null,
516
+ React__default.createElement("tr", null,
517
+ checkboxSelection && (React__default.createElement("th", { style: {
518
+ width: "40px",
519
+ textAlign: "center",
520
+ } },
521
+ React__default.createElement(RenderCheckbox, { onChange: onAllCheckboxChange, checked: isAllSelected, indeterminate: (selectionModel || []).length > 0 && !isAllSelected, ...checkboxProps }))),
522
+ columns.map((c, i) => (React__default.createElement(HeadCell, { tableId: tableId, key: `${c.field.toString()}_${i}`, stickyHeader: props.stickyHeader, editMode: !!c.isCellEditable, onSortChange: handleSortChange, ...c }))))),
523
+ React__default.createElement(VirtualizedTableBody, { style: {
524
+ height: `${totalSize}px`,
525
+ } },
526
+ !!loading && (React__default.createElement(OverlayWrapper, null,
527
+ React__default.createElement("td", null,
528
+ React__default.createElement(Box, { sx: {
529
+ position: "absolute",
530
+ top: 0,
531
+ left: 0,
532
+ right: 0,
533
+ } },
534
+ React__default.createElement(LoadingOverlay, null))))),
535
+ virtualizedItems.map((virtualizedRow, index) => {
536
+ const rowIndex = virtualizedRow.index;
537
+ const row = dataInPage[rowIndex];
538
+ const rowId = getId(row, rowIndex);
539
+ const striped = stripe &&
540
+ ((stripe === "even" && (rowIndex + 1) % 2 === 0) ||
541
+ (stripe === "odd" && (rowIndex + 1) % 2 === 1));
542
+ return (React__default.createElement(VirtualizedTableRow, { key: rowId, role: checkboxSelection && !disableSelectionOnClick
543
+ ? "checkbox"
544
+ : undefined, tabIndex: checkboxSelection && !disableSelectionOnClick
545
+ ? -1
546
+ : undefined, onClick: (e) => {
547
+ onRowClick?.({ row, rowId }, e);
548
+ checkboxSelection &&
549
+ !disableSelectionOnClick &&
550
+ onCheckboxChange(e, rowId);
551
+ }, "aria-checked": checkboxSelection && !disableSelectionOnClick
552
+ ? isSelectedRow(rowId)
553
+ : undefined, striped: striped, style: {
554
+ height: `${virtualizedRow.size}px`,
555
+ transform: `translateY(${virtualizedRow.start - index * virtualizedRow.size}px)`,
556
+ } },
557
+ checkboxSelection && (React__default.createElement("th", { scope: "row", style: {
558
+ textAlign: "center",
559
+ } },
560
+ React__default.createElement(RenderCheckbox, { onClick: (e) => e.stopPropagation(), onChange: (e) => onCheckboxChange(e, rowId), checked: isSelectedRow(rowId), ...checkboxProps }))),
561
+ React__default.createElement(BodyRow, { tableId: tableId, columns: columns, row: row, rowId: rowId, editMode: editMode, noWrap: props.noWrap })));
562
+ })),
563
+ Footer && React__default.createElement(Footer, null))),
564
+ pagination && (React__default.createElement(Pagination, { py: 2, size: "sm", alignItems: "flex-end", paginationModel: paginationModel, rowCount: rowCount, onPageChange: onPaginationModelChange }))));
565
+ }
566
+ DataTable.displayName = "DataTable";
567
+
568
+ export { DataTable };
@@ -1,3 +1,3 @@
1
- import { DataTable } from "./DataTable";
2
- export * from "./DataTable";
1
+ import { DataTable } from "./DataTable.js";
2
+ export * from "./DataTable.js";
3
3
  export default DataTable;
@@ -1,12 +1,12 @@
1
1
  import { ReactNode, ComponentProps } from "react";
2
2
  import { Link } from "@mui/joy";
3
- import { Table } from "../Table";
4
- import CurrencyInput from "../CurrencyInput";
5
- import DatePicker from "../DatePicker";
6
- import Input from "../Input";
7
- import Textarea from "../Textarea";
8
- import Autocomplete from "../Autocomplete";
9
- import Select from "../Select";
3
+ import { Table } from "../Table/index.js";
4
+ import CurrencyInput from "../CurrencyInput/index.js";
5
+ import DatePicker from "../DatePicker/index.js";
6
+ import Input from "../Input/index.js";
7
+ import Textarea from "../Textarea/index.js";
8
+ import Autocomplete from "../Autocomplete/index.js";
9
+ import Select from "../Select/index.js";
10
10
  export type ObjectLike<V = any> = Record<PropertyKey, V> | {
11
11
  [key: PropertyKey]: V;
12
12
  };
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import Input from "../Input";
2
+ import Input from "../Input/index.js";
3
3
  interface BaseDatePickerProps {
4
4
  value?: string;
5
5
  defaultValue?: string;