@loadsmart/loadsmart-ui 7.6.0 → 8.0.0-beta.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 (531) hide show
  1. package/README.md +13 -1
  2. package/dist/DragDropFile.context-oKnUu6d3.js +33 -0
  3. package/dist/{DragDropFile.context-D-EBrXnw.js.map → DragDropFile.context-oKnUu6d3.js.map} +1 -1
  4. package/dist/components/Banner/Banner.d.ts +2 -2
  5. package/dist/components/Button/Button.d.ts +1 -1
  6. package/dist/components/Calendar/Pickers/PickerButton.d.ts +4 -2
  7. package/dist/components/Card/Card.d.ts +4 -4
  8. package/dist/components/Card/CardTitle.d.ts +2 -2
  9. package/dist/components/DatePicker/DatePicker.d.ts +1 -1
  10. package/dist/components/DatePicker/useDatePicker.d.ts +8 -9
  11. package/dist/components/DatePicker/useDateRangePicker.d.ts +13 -14
  12. package/dist/components/Dialog/Dialog.d.ts +3 -5
  13. package/dist/components/DragDropFile/styles.d.ts +7 -7
  14. package/dist/components/Dropdown/Dropdown.d.ts +3 -3
  15. package/dist/components/Dropdown/DropdownMenu.d.ts +3 -3
  16. package/dist/components/Layout/Stack.d.ts +2 -2
  17. package/dist/components/Loaders/LoadingBar.d.ts +2 -2
  18. package/dist/components/Loaders/index.d.ts +3 -3
  19. package/dist/components/Modal/Modal.d.ts +1 -3
  20. package/dist/components/SideNavigation/Logo/Logo.d.ts +7 -2
  21. package/dist/components/SideNavigation/Menu/Menu.d.ts +7 -2
  22. package/dist/components/SideNavigation/Menu/MenuLink.d.ts +6 -1
  23. package/dist/components/SideNavigation/SideNavigation.d.ts +14 -4
  24. package/dist/components/Steps/StepsStep.d.ts +2 -2
  25. package/dist/components/Table/Table.d.ts +2 -1
  26. package/dist/components/TablePagination/TablePagination.styles.d.ts +5 -4
  27. package/dist/components/TablePagination/TablePaginationActions.d.ts +2 -5
  28. package/dist/components/Text/Text.d.ts +1 -1
  29. package/dist/components/TextField/TextField.d.ts +6 -2
  30. package/dist/components/ToggleGroup/Toggle.d.ts +2 -1
  31. package/dist/components/ToggleGroup/ToggleGroup.d.ts +2 -1
  32. package/dist/components/TopNavigation/Logo/Logo.d.ts +7 -2
  33. package/dist/components/TopNavigation/Menu/Menu.d.ts +2 -2
  34. package/dist/components/TopNavigation/Menu/MenuItemDropdown.d.ts +4 -4
  35. package/dist/components/TopNavigation/OpenSideNavButton/OpenSideNavButton.d.ts +2 -1
  36. package/dist/components/TopNavigation/TopNavigation.d.ts +8 -3
  37. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +1 -1
  38. package/dist/components/VisuallyHidden/VisuallyHidden.stories.d.ts +2 -1
  39. package/dist/index.js +9100 -253
  40. package/dist/index.js.map +1 -1
  41. package/dist/miranda-compatibility.theme-kYNEZ7mW.js +2528 -0
  42. package/dist/{miranda-compatibility.theme-ChPV-BBw.js.map → miranda-compatibility.theme-kYNEZ7mW.js.map} +1 -1
  43. package/dist/prop-K2Z3EsyG.js +81 -0
  44. package/dist/{prop-BwhJNJHO.js.map → prop-K2Z3EsyG.js.map} +1 -1
  45. package/dist/testing/index.js +282 -1
  46. package/dist/testing/index.js.map +1 -1
  47. package/dist/tests/renderer.d.ts +1 -1
  48. package/dist/theming/index.js +22 -1
  49. package/dist/theming/index.js.map +1 -1
  50. package/dist/toArray-Dxb1kUxx.js +14 -0
  51. package/dist/{toArray-BW3gx_gH.js.map → toArray-Dxb1kUxx.js.map} +1 -1
  52. package/dist/tools/index.js +6 -1
  53. package/dist/tools/index.js.map +1 -1
  54. package/dist/utils/toolset/flatten.d.ts +1 -1
  55. package/dist/utils/toolset/get.d.ts +1 -1
  56. package/dist/utils/toolset/isEmpty.d.ts +1 -1
  57. package/dist/utils/toolset/omit.d.ts +1 -1
  58. package/dist/utils/toolset/range.d.ts +1 -1
  59. package/package.json +46 -79
  60. package/dist/DragDropFile.context-D-EBrXnw.js +0 -2
  61. package/dist/DragDropFile.context-jVTIKfj5.mjs +0 -29
  62. package/dist/DragDropFile.context-jVTIKfj5.mjs.map +0 -1
  63. package/dist/index.mjs +0 -8046
  64. package/dist/index.mjs.map +0 -1
  65. package/dist/miranda-compatibility.theme-ChPV-BBw.js +0 -2
  66. package/dist/miranda-compatibility.theme-DQDHkWzC.mjs +0 -2469
  67. package/dist/miranda-compatibility.theme-DQDHkWzC.mjs.map +0 -1
  68. package/dist/prop-5m3D4883.mjs +0 -54
  69. package/dist/prop-5m3D4883.mjs.map +0 -1
  70. package/dist/prop-BwhJNJHO.js +0 -2
  71. package/dist/testing/index.mjs +0 -228
  72. package/dist/testing/index.mjs.map +0 -1
  73. package/dist/theming/index.mjs +0 -20
  74. package/dist/theming/index.mjs.map +0 -1
  75. package/dist/toArray-BW3gx_gH.js +0 -2
  76. package/dist/toArray-DqgeO2ua.mjs +0 -8
  77. package/dist/toArray-DqgeO2ua.mjs.map +0 -1
  78. package/dist/tools/index.mjs +0 -7
  79. package/dist/tools/index.mjs.map +0 -1
  80. package/src/@types/@loadsmart/utilsFunction.d.ts +0 -5
  81. package/src/@types/@loadsmart/utilsObject.d.ts +0 -5
  82. package/src/@types/svg.d.ts +0 -4
  83. package/src/addons/Theme/register.js +0 -590
  84. package/src/common/BackButton/BackButton.tsx +0 -18
  85. package/src/common/BackButton/index.ts +0 -2
  86. package/src/common/CloseButton/CloseButton.tsx +0 -55
  87. package/src/common/CloseButton/index.ts +0 -2
  88. package/src/common/SelectionWrapper.tsx +0 -130
  89. package/src/components/Accordion/Accordion.context.tsx +0 -36
  90. package/src/components/Accordion/Accordion.stories.tsx +0 -186
  91. package/src/components/Accordion/Accordion.test.tsx +0 -209
  92. package/src/components/Accordion/Accordion.tsx +0 -233
  93. package/src/components/Accordion/index.ts +0 -2
  94. package/src/components/Banner/Banner.stories.tsx +0 -213
  95. package/src/components/Banner/Banner.test.tsx +0 -118
  96. package/src/components/Banner/Banner.tsx +0 -418
  97. package/src/components/Banner/index.tsx +0 -2
  98. package/src/components/Breadcrumbs/Breadbrumbs.test.tsx +0 -125
  99. package/src/components/Breadcrumbs/Breadcrumb.tsx +0 -92
  100. package/src/components/Breadcrumbs/Breadcrumbs.stories.tsx +0 -21
  101. package/src/components/Breadcrumbs/Breadcrumbs.tsx +0 -54
  102. package/src/components/Breadcrumbs/index.ts +0 -4
  103. package/src/components/Button/Button.stories.tsx +0 -174
  104. package/src/components/Button/Button.test.tsx +0 -57
  105. package/src/components/Button/Button.tsx +0 -576
  106. package/src/components/Button/index.tsx +0 -2
  107. package/src/components/Calendar/Calendar.helpers.ts +0 -15
  108. package/src/components/Calendar/Calendar.stories.tsx +0 -168
  109. package/src/components/Calendar/Calendar.test.tsx +0 -316
  110. package/src/components/Calendar/Calendar.tsx +0 -130
  111. package/src/components/Calendar/Calendar.types.ts +0 -68
  112. package/src/components/Calendar/Date.helper.test.ts +0 -847
  113. package/src/components/Calendar/Date.helper.ts +0 -461
  114. package/src/components/Calendar/DateFormat.helper.test.ts +0 -171
  115. package/src/components/Calendar/DateFormat.helper.ts +0 -195
  116. package/src/components/Calendar/Month.helper.test.ts +0 -187
  117. package/src/components/Calendar/Month.helper.ts +0 -172
  118. package/src/components/Calendar/PickerModeToggle.tsx +0 -61
  119. package/src/components/Calendar/Pickers/DayPicker.test.tsx +0 -85
  120. package/src/components/Calendar/Pickers/DayPicker.tsx +0 -127
  121. package/src/components/Calendar/Pickers/MonthPicker.test.tsx +0 -77
  122. package/src/components/Calendar/Pickers/MonthPicker.tsx +0 -51
  123. package/src/components/Calendar/Pickers/PickerButton.tsx +0 -119
  124. package/src/components/Calendar/Pickers/YearPicker.test.tsx +0 -75
  125. package/src/components/Calendar/Pickers/YearPicker.tsx +0 -52
  126. package/src/components/Calendar/index.ts +0 -10
  127. package/src/components/Calendar/useCalendar.ts +0 -190
  128. package/src/components/Calendar/usePickerMode.ts +0 -48
  129. package/src/components/Card/Card.stories.tsx +0 -117
  130. package/src/components/Card/Card.test.tsx +0 -139
  131. package/src/components/Card/Card.tsx +0 -106
  132. package/src/components/Card/CardTitle.tsx +0 -43
  133. package/src/components/Card/index.ts +0 -2
  134. package/src/components/Checkbox/Checkbox.stories.tsx +0 -79
  135. package/src/components/Checkbox/Checkbox.test.tsx +0 -66
  136. package/src/components/Checkbox/Checkbox.tsx +0 -170
  137. package/src/components/Checkbox/index.ts +0 -2
  138. package/src/components/DatePicker/DatePicker.stories.tsx +0 -113
  139. package/src/components/DatePicker/DatePicker.test.tsx +0 -174
  140. package/src/components/DatePicker/DatePicker.tsx +0 -140
  141. package/src/components/DatePicker/DatePicker.types.ts +0 -30
  142. package/src/components/DatePicker/DateRangePicker.stories.tsx +0 -128
  143. package/src/components/DatePicker/DateRangePicker.test.tsx +0 -267
  144. package/src/components/DatePicker/DateRangePicker.tsx +0 -110
  145. package/src/components/DatePicker/index.ts +0 -3
  146. package/src/components/DatePicker/useDatePicker.ts +0 -201
  147. package/src/components/DatePicker/useDateRangePicker.ts +0 -224
  148. package/src/components/Dialog/Dialog.stories.tsx +0 -227
  149. package/src/components/Dialog/Dialog.test.tsx +0 -74
  150. package/src/components/Dialog/Dialog.tsx +0 -139
  151. package/src/components/Dialog/index.tsx +0 -4
  152. package/src/components/Dialog/useDialog.tsx +0 -59
  153. package/src/components/DragDropFile/DragDropFile.context.tsx +0 -39
  154. package/src/components/DragDropFile/DragDropFile.stories.tsx +0 -183
  155. package/src/components/DragDropFile/DragDropFile.tsx +0 -11
  156. package/src/components/DragDropFile/components/DropZone.test.tsx +0 -108
  157. package/src/components/DragDropFile/components/DropZone.tsx +0 -145
  158. package/src/components/DragDropFile/components/FileItem.tsx +0 -117
  159. package/src/components/DragDropFile/components/FileList.test.tsx +0 -119
  160. package/src/components/DragDropFile/components/FileList.tsx +0 -47
  161. package/src/components/DragDropFile/components/Wrapper.tsx +0 -22
  162. package/src/components/DragDropFile/index.ts +0 -9
  163. package/src/components/DragDropFile/mocks.ts +0 -23
  164. package/src/components/DragDropFile/styles.tsx +0 -81
  165. package/src/components/DragDropFile/types.ts +0 -85
  166. package/src/components/Drawer/Drawer.stories.tsx +0 -83
  167. package/src/components/Drawer/Drawer.test.tsx +0 -90
  168. package/src/components/Drawer/Drawer.tsx +0 -225
  169. package/src/components/Drawer/index.ts +0 -4
  170. package/src/components/Dropdown/Dropdown.context.ts +0 -13
  171. package/src/components/Dropdown/Dropdown.fixtures.ts +0 -15
  172. package/src/components/Dropdown/Dropdown.stories.tsx +0 -259
  173. package/src/components/Dropdown/Dropdown.test.tsx +0 -173
  174. package/src/components/Dropdown/Dropdown.tsx +0 -141
  175. package/src/components/Dropdown/Dropdown.types.ts +0 -59
  176. package/src/components/Dropdown/DropdownMenu.tsx +0 -263
  177. package/src/components/Dropdown/DropdownTrigger.tsx +0 -368
  178. package/src/components/Dropdown/index.ts +0 -15
  179. package/src/components/Dropdown/useDropdown.test.ts +0 -96
  180. package/src/components/Dropdown/useDropdown.ts +0 -65
  181. package/src/components/EmptyState/EmptyState.mocks.tsx +0 -60
  182. package/src/components/EmptyState/EmptyState.stories.tsx +0 -239
  183. package/src/components/EmptyState/EmptyState.test.tsx +0 -101
  184. package/src/components/EmptyState/EmptyState.tsx +0 -22
  185. package/src/components/EmptyState/EmptyState.types.ts +0 -59
  186. package/src/components/EmptyState/EmptyStateWithIcon.tsx +0 -42
  187. package/src/components/EmptyState/EmptyStateWithIllustration.tsx +0 -72
  188. package/src/components/EmptyState/Illustration.tsx +0 -29
  189. package/src/components/EmptyState/index.ts +0 -4
  190. package/src/components/ErrorMessage/ErrorMessage.stories.tsx +0 -26
  191. package/src/components/ErrorMessage/ErrorMessage.test.tsx +0 -24
  192. package/src/components/ErrorMessage/ErrorMessage.tsx +0 -19
  193. package/src/components/ErrorMessage/index.ts +0 -2
  194. package/src/components/HighlightMatch/HighlightMatch.stories.tsx +0 -24
  195. package/src/components/HighlightMatch/HighlightMatch.test.tsx +0 -37
  196. package/src/components/HighlightMatch/HighlightMatch.tsx +0 -29
  197. package/src/components/HighlightMatch/index.ts +0 -2
  198. package/src/components/Icon/Icon.tsx +0 -55
  199. package/src/components/Icon/assets/back.svg +0 -4
  200. package/src/components/Icon/assets/burger-menu.svg +0 -3
  201. package/src/components/Icon/assets/calendar.svg +0 -5
  202. package/src/components/Icon/assets/caret-down.svg +0 -4
  203. package/src/components/Icon/assets/caret-left.svg +0 -4
  204. package/src/components/Icon/assets/caret-right-last.svg +0 -4
  205. package/src/components/Icon/assets/caret-right.svg +0 -4
  206. package/src/components/Icon/assets/check.svg +0 -4
  207. package/src/components/Icon/assets/chevron-down.svg +0 -3
  208. package/src/components/Icon/assets/circle.svg +0 -3
  209. package/src/components/Icon/assets/close.svg +0 -4
  210. package/src/components/Icon/assets/dots-horizontal.svg +0 -1
  211. package/src/components/Icon/assets/information.svg +0 -4
  212. package/src/components/Icon/assets/minus.svg +0 -4
  213. package/src/components/Icon/assets/plus.svg +0 -4
  214. package/src/components/Icon/assets/refresh.svg +0 -3
  215. package/src/components/Icon/assets/sort-asc.svg +0 -7
  216. package/src/components/Icon/assets/sort-desc.svg +0 -7
  217. package/src/components/Icon/assets/sort.svg +0 -7
  218. package/src/components/Icon/assets/upload.svg +0 -3
  219. package/src/components/Icon/assets/warning.svg +0 -4
  220. package/src/components/Icon/index.ts +0 -2
  221. package/src/components/IconFactory/IconFactory.fixtures.tsx +0 -31
  222. package/src/components/IconFactory/IconFactory.stories.tsx +0 -120
  223. package/src/components/IconFactory/IconFactory.test.tsx +0 -36
  224. package/src/components/IconFactory/IconFactory.tsx +0 -75
  225. package/src/components/IconFactory/index.ts +0 -2
  226. package/src/components/Label/Label.stories.tsx +0 -47
  227. package/src/components/Label/Label.test.tsx +0 -80
  228. package/src/components/Label/Label.tsx +0 -120
  229. package/src/components/Label/index.ts +0 -2
  230. package/src/components/Layout/Box.tsx +0 -98
  231. package/src/components/Layout/Grid.tsx +0 -42
  232. package/src/components/Layout/Group.tsx +0 -55
  233. package/src/components/Layout/Layout.stories.tsx +0 -412
  234. package/src/components/Layout/Layout.tsx +0 -19
  235. package/src/components/Layout/Layout.types.ts +0 -9
  236. package/src/components/Layout/Layout.utils.ts +0 -20
  237. package/src/components/Layout/Sidebar.tsx +0 -75
  238. package/src/components/Layout/Stack.tsx +0 -63
  239. package/src/components/Layout/Switcher.tsx +0 -48
  240. package/src/components/Layout/index.tsx +0 -8
  241. package/src/components/Link/Link.stories.tsx +0 -22
  242. package/src/components/Link/Link.test.tsx +0 -79
  243. package/src/components/Link/Link.tsx +0 -114
  244. package/src/components/Link/index.ts +0 -3
  245. package/src/components/Link/useSafeLink.ts +0 -49
  246. package/src/components/Loaders/LoadingBar.stories.tsx +0 -36
  247. package/src/components/Loaders/LoadingBar.test.tsx +0 -35
  248. package/src/components/Loaders/LoadingBar.tsx +0 -65
  249. package/src/components/Loaders/LoadingDots.stories.tsx +0 -69
  250. package/src/components/Loaders/LoadingDots.test.tsx +0 -22
  251. package/src/components/Loaders/LoadingDots.tsx +0 -68
  252. package/src/components/Loaders/Spinner.stories.tsx +0 -24
  253. package/src/components/Loaders/Spinner.test.tsx +0 -35
  254. package/src/components/Loaders/Spinner.tsx +0 -68
  255. package/src/components/Loaders/index.tsx +0 -3
  256. package/src/components/Modal/Modal.stories.tsx +0 -121
  257. package/src/components/Modal/Modal.test.tsx +0 -46
  258. package/src/components/Modal/Modal.tsx +0 -163
  259. package/src/components/Modal/index.tsx +0 -2
  260. package/src/components/Pagination/Pagination.constants.ts +0 -7
  261. package/src/components/Pagination/Pagination.helper.ts +0 -88
  262. package/src/components/Pagination/Pagination.stories.tsx +0 -29
  263. package/src/components/Pagination/Pagination.test.tsx +0 -102
  264. package/src/components/Pagination/Pagination.tsx +0 -34
  265. package/src/components/Pagination/Pagination.types.ts +0 -55
  266. package/src/components/Pagination/PaginationItem.tsx +0 -74
  267. package/src/components/Pagination/index.ts +0 -2
  268. package/src/components/Pagination/usePagination.test.ts +0 -188
  269. package/src/components/Pagination/usePagination.ts +0 -87
  270. package/src/components/Popover/Popover.stories.tsx +0 -50
  271. package/src/components/Popover/Popover.test.tsx +0 -22
  272. package/src/components/Popover/Popover.tsx +0 -110
  273. package/src/components/Popover/Popover.types.ts +0 -39
  274. package/src/components/Popover/index.ts +0 -11
  275. package/src/components/ProgressBar/ProgressBar.stories.tsx +0 -47
  276. package/src/components/ProgressBar/ProgressBar.test.tsx +0 -40
  277. package/src/components/ProgressBar/ProgressBar.tsx +0 -89
  278. package/src/components/ProgressBar/index.tsx +0 -2
  279. package/src/components/Radio/Radio.stories.tsx +0 -75
  280. package/src/components/Radio/Radio.test.tsx +0 -66
  281. package/src/components/Radio/Radio.tsx +0 -153
  282. package/src/components/Radio/index.ts +0 -2
  283. package/src/components/Section/Section.test.tsx +0 -35
  284. package/src/components/Section/Section.tsx +0 -66
  285. package/src/components/Section/Sections.stories.tsx +0 -56
  286. package/src/components/Section/index.ts +0 -2
  287. package/src/components/Select/Select.constants.ts +0 -12
  288. package/src/components/Select/Select.context.ts +0 -11
  289. package/src/components/Select/Select.fixtures.ts +0 -167
  290. package/src/components/Select/Select.stories.tsx +0 -780
  291. package/src/components/Select/Select.test.tsx +0 -1109
  292. package/src/components/Select/Select.tsx +0 -271
  293. package/src/components/Select/Select.types.ts +0 -148
  294. package/src/components/Select/SelectCreatableOption.tsx +0 -20
  295. package/src/components/Select/SelectEmpty.test.tsx +0 -15
  296. package/src/components/Select/SelectEmpty.tsx +0 -29
  297. package/src/components/Select/SelectOption.test.tsx +0 -78
  298. package/src/components/Select/SelectOption.tsx +0 -79
  299. package/src/components/Select/SelectTrigger.tsx +0 -83
  300. package/src/components/Select/components.tsx +0 -14
  301. package/src/components/Select/index.ts +0 -12
  302. package/src/components/Select/useSelect.helpers.test.ts +0 -184
  303. package/src/components/Select/useSelect.helpers.ts +0 -63
  304. package/src/components/Select/useSelect.test.ts +0 -207
  305. package/src/components/Select/useSelect.ts +0 -540
  306. package/src/components/Select/useSelectExternal.ts +0 -26
  307. package/src/components/SideNavigation/Logo/Logo.test.tsx +0 -19
  308. package/src/components/SideNavigation/Logo/Logo.tsx +0 -26
  309. package/src/components/SideNavigation/Logo/index.ts +0 -1
  310. package/src/components/SideNavigation/Menu/Menu.test.tsx +0 -65
  311. package/src/components/SideNavigation/Menu/Menu.tsx +0 -53
  312. package/src/components/SideNavigation/Menu/MenuBaseItem.tsx +0 -64
  313. package/src/components/SideNavigation/Menu/MenuExpandable.tsx +0 -107
  314. package/src/components/SideNavigation/Menu/MenuLink.tsx +0 -37
  315. package/src/components/SideNavigation/Menu/index.ts +0 -1
  316. package/src/components/SideNavigation/Separator/Separator.test.tsx +0 -14
  317. package/src/components/SideNavigation/Separator/Separator.tsx +0 -20
  318. package/src/components/SideNavigation/Separator/index.ts +0 -1
  319. package/src/components/SideNavigation/SideNavigation.stories.tsx +0 -69
  320. package/src/components/SideNavigation/SideNavigation.test.tsx +0 -21
  321. package/src/components/SideNavigation/SideNavigation.tsx +0 -47
  322. package/src/components/SideNavigation/index.ts +0 -5
  323. package/src/components/SideNavigation/useSideNavigation.ts +0 -36
  324. package/src/components/Steps/ProgressSteps/ProgressStep.tsx +0 -163
  325. package/src/components/Steps/ProgressSteps/ProgressSteps.tsx +0 -37
  326. package/src/components/Steps/ProgressSteps/index.ts +0 -1
  327. package/src/components/Steps/Steps.fixtures.ts +0 -11
  328. package/src/components/Steps/Steps.helpers.ts +0 -11
  329. package/src/components/Steps/Steps.stories.tsx +0 -65
  330. package/src/components/Steps/Steps.test.tsx +0 -78
  331. package/src/components/Steps/Steps.tsx +0 -53
  332. package/src/components/Steps/Steps.types.ts +0 -5
  333. package/src/components/Steps/StepsContext.ts +0 -5
  334. package/src/components/Steps/StepsStep.tsx +0 -58
  335. package/src/components/Steps/index.ts +0 -6
  336. package/src/components/Steps/useStep.test.tsx +0 -217
  337. package/src/components/Steps/useSteps.ts +0 -131
  338. package/src/components/Switch/Switch.stories.tsx +0 -65
  339. package/src/components/Switch/Switch.test.tsx +0 -60
  340. package/src/components/Switch/Switch.tsx +0 -209
  341. package/src/components/Switch/index.ts +0 -2
  342. package/src/components/Table/Selection.tsx +0 -202
  343. package/src/components/Table/Table.fixtures.ts +0 -101
  344. package/src/components/Table/Table.stories.tsx +0 -568
  345. package/src/components/Table/Table.test.tsx +0 -310
  346. package/src/components/Table/Table.tsx +0 -523
  347. package/src/components/Table/Table.types.ts +0 -93
  348. package/src/components/Table/TableSortHandle.tsx +0 -31
  349. package/src/components/Table/index.tsx +0 -2
  350. package/src/components/Table/useSortBy.test.ts +0 -96
  351. package/src/components/Table/useSortBy.ts +0 -92
  352. package/src/components/Table/useSortBy.types.ts +0 -21
  353. package/src/components/TablePagination/RowsPerPage.tsx +0 -81
  354. package/src/components/TablePagination/TablePagination.stories.tsx +0 -42
  355. package/src/components/TablePagination/TablePagination.styles.ts +0 -13
  356. package/src/components/TablePagination/TablePagination.test.tsx +0 -111
  357. package/src/components/TablePagination/TablePagination.tsx +0 -49
  358. package/src/components/TablePagination/TablePagination.types.ts +0 -69
  359. package/src/components/TablePagination/TablePaginationActions.tsx +0 -144
  360. package/src/components/TablePagination/index.ts +0 -2
  361. package/src/components/Tabs/Tabs.stories.tsx +0 -78
  362. package/src/components/Tabs/Tabs.test.tsx +0 -103
  363. package/src/components/Tabs/Tabs.tsx +0 -287
  364. package/src/components/Tabs/Tabs.types.ts +0 -7
  365. package/src/components/Tabs/TabsContext.ts +0 -10
  366. package/src/components/Tabs/index.ts +0 -2
  367. package/src/components/Tag/Tag.stories.tsx +0 -112
  368. package/src/components/Tag/Tag.test.tsx +0 -19
  369. package/src/components/Tag/Tag.tsx +0 -393
  370. package/src/components/Tag/index.ts +0 -2
  371. package/src/components/Text/Text.stories.tsx +0 -59
  372. package/src/components/Text/Text.test.tsx +0 -48
  373. package/src/components/Text/Text.tsx +0 -14
  374. package/src/components/Text/index.ts +0 -2
  375. package/src/components/TextField/TextField.stories.tsx +0 -90
  376. package/src/components/TextField/TextField.test.tsx +0 -36
  377. package/src/components/TextField/TextField.tsx +0 -244
  378. package/src/components/TextField/index.ts +0 -6
  379. package/src/components/TextField/useTextField.tsx +0 -26
  380. package/src/components/Textarea/Textarea.stories.tsx +0 -101
  381. package/src/components/Textarea/Textarea.test.tsx +0 -14
  382. package/src/components/Textarea/Textarea.tsx +0 -230
  383. package/src/components/Textarea/index.ts +0 -2
  384. package/src/components/Toast/Toast.stories.tsx +0 -50
  385. package/src/components/Toast/Toast.test.tsx +0 -24
  386. package/src/components/Toast/Toast.tsx +0 -141
  387. package/src/components/Toast/icons/close.svg +0 -3
  388. package/src/components/Toast/icons/danger.svg +0 -4
  389. package/src/components/Toast/icons/neutral.svg +0 -4
  390. package/src/components/Toast/icons/success.svg +0 -3
  391. package/src/components/Toast/icons/warning.svg +0 -4
  392. package/src/components/Toast/index.tsx +0 -2
  393. package/src/components/ToggleGroup/Toggle.test.tsx +0 -76
  394. package/src/components/ToggleGroup/Toggle.tsx +0 -158
  395. package/src/components/ToggleGroup/ToggleGroup.constants.ts +0 -16
  396. package/src/components/ToggleGroup/ToggleGroup.stories.tsx +0 -145
  397. package/src/components/ToggleGroup/ToggleGroup.test.tsx +0 -237
  398. package/src/components/ToggleGroup/ToggleGroup.tsx +0 -165
  399. package/src/components/ToggleGroup/ToggleGroup.types.ts +0 -35
  400. package/src/components/ToggleGroup/ToggleGroupContext.ts +0 -13
  401. package/src/components/ToggleGroup/index.ts +0 -3
  402. package/src/components/Tooltip/Tooltip.stories.tsx +0 -82
  403. package/src/components/Tooltip/Tooltip.test.tsx +0 -49
  404. package/src/components/Tooltip/Tooltip.tsx +0 -185
  405. package/src/components/Tooltip/index.ts +0 -2
  406. package/src/components/TopNavigation/Logo/Logo.test.tsx +0 -21
  407. package/src/components/TopNavigation/Logo/Logo.tsx +0 -20
  408. package/src/components/TopNavigation/Logo/index.ts +0 -1
  409. package/src/components/TopNavigation/Menu/Menu.test.tsx +0 -125
  410. package/src/components/TopNavigation/Menu/Menu.tsx +0 -62
  411. package/src/components/TopNavigation/Menu/MenuItemDropdown.tsx +0 -118
  412. package/src/components/TopNavigation/Menu/MenuItemIcon.tsx +0 -50
  413. package/src/components/TopNavigation/Menu/index.ts +0 -1
  414. package/src/components/TopNavigation/OpenSideNavButton/OpenSideNavButton.tsx +0 -28
  415. package/src/components/TopNavigation/OpenSideNavButton/index.ts +0 -1
  416. package/src/components/TopNavigation/TopNavigation.stories.tsx +0 -42
  417. package/src/components/TopNavigation/TopNavigation.tsx +0 -47
  418. package/src/components/TopNavigation/index.ts +0 -2
  419. package/src/components/VisuallyHidden/VisuallyHidden.mdx +0 -26
  420. package/src/components/VisuallyHidden/VisuallyHidden.stories.tsx +0 -32
  421. package/src/components/VisuallyHidden/VisuallyHidden.test.tsx +0 -18
  422. package/src/components/VisuallyHidden/VisuallyHidden.tsx +0 -6
  423. package/src/components/VisuallyHidden/index.ts +0 -1
  424. package/src/docs/tools/DatePickerEvent.stories.mdx +0 -108
  425. package/src/docs/tools/DragDropFileEvent.stories.mdx +0 -75
  426. package/src/docs/tools/conditional.stories.mdx +0 -251
  427. package/src/docs/tools/selectEvent.stories.mdx +0 -121
  428. package/src/hooks/useClickOutside/index.ts +0 -1
  429. package/src/hooks/useClickOutside/useClickOutside.test.tsx +0 -116
  430. package/src/hooks/useClickOutside/useClickOutside.ts +0 -65
  431. package/src/hooks/useDidMount/index.ts +0 -1
  432. package/src/hooks/useDidMount/useDidMount.test.tsx +0 -38
  433. package/src/hooks/useDidMount/useDidMount.ts +0 -20
  434. package/src/hooks/useFingerprint/index.ts +0 -1
  435. package/src/hooks/useFingerprint/useFingerprint.test.ts +0 -76
  436. package/src/hooks/useFingerprint/useFingerprint.ts +0 -94
  437. package/src/hooks/useFocusTrap/index.ts +0 -2
  438. package/src/hooks/useFocusTrap/useFocusTrap.stories.tsx +0 -87
  439. package/src/hooks/useFocusTrap/useFocusTrap.test.tsx +0 -129
  440. package/src/hooks/useFocusTrap/useFocusTrap.ts +0 -187
  441. package/src/hooks/useFocusWithin/index.ts +0 -2
  442. package/src/hooks/useFocusWithin/useFocusWithin.test.tsx +0 -71
  443. package/src/hooks/useFocusWithin/useFocusWithin.ts +0 -62
  444. package/src/hooks/useHeightExpansionToggler/index.ts +0 -2
  445. package/src/hooks/useHeightExpansionToggler/useHeightExpansionToggler.test.tsx +0 -85
  446. package/src/hooks/useHeightExpansionToggler/useHeightExpansionToggler.ts +0 -54
  447. package/src/hooks/useID/index.ts +0 -1
  448. package/src/hooks/useID/useID.ts +0 -18
  449. package/src/hooks/useSelectable/SelectableStrategy.test.ts +0 -424
  450. package/src/hooks/useSelectable/SelectableStrategy.ts +0 -143
  451. package/src/hooks/useSelectable/index.ts +0 -8
  452. package/src/hooks/useSelectable/useSelectable.test.ts +0 -221
  453. package/src/hooks/useSelectable/useSelectable.ts +0 -156
  454. package/src/hooks/useSelectable/useSelectable.types.ts +0 -45
  455. package/src/hooks/useWindowResize/index.ts +0 -1
  456. package/src/hooks/useWindowResize/useWindowResize.ts +0 -27
  457. package/src/index.ts +0 -188
  458. package/src/stories/assets/code-brackets.svg +0 -1
  459. package/src/stories/assets/colors.svg +0 -1
  460. package/src/stories/assets/comments.svg +0 -1
  461. package/src/stories/assets/direction.svg +0 -1
  462. package/src/stories/assets/flow.svg +0 -1
  463. package/src/stories/assets/plugin.svg +0 -1
  464. package/src/stories/assets/repo.svg +0 -1
  465. package/src/stories/assets/stackalt.svg +0 -1
  466. package/src/stories/introduction.stories.mdx +0 -57
  467. package/src/stories/startPage.stories.mdx +0 -95
  468. package/src/styles/activatable.tsx +0 -30
  469. package/src/styles/disableable.tsx +0 -45
  470. package/src/styles/ellipsizable.tsx +0 -14
  471. package/src/styles/focusable.tsx +0 -32
  472. package/src/styles/font.test.ts +0 -31
  473. package/src/styles/font.tsx +0 -40
  474. package/src/styles/hidden.tsx +0 -29
  475. package/src/styles/hoverable.tsx +0 -30
  476. package/src/styles/transition.tsx +0 -25
  477. package/src/styles/typography.test.ts +0 -93
  478. package/src/styles/typography.ts +0 -190
  479. package/src/testing/DatePickerEvent/DatePickerEvent.ts +0 -117
  480. package/src/testing/DatePickerEvent/DateRangePickerEvent.ts +0 -83
  481. package/src/testing/DatePickerEvent/index.ts +0 -2
  482. package/src/testing/DragDropFileEvent/DragDropFileEvent.ts +0 -56
  483. package/src/testing/DragDropFileEvent/index.ts +0 -1
  484. package/src/testing/SelectEvent/SelectEvent.test.tsx +0 -192
  485. package/src/testing/SelectEvent/SelectEvent.ts +0 -264
  486. package/src/testing/SelectEvent/index.ts +0 -1
  487. package/src/testing/getInterpolatedStyles/getInterpolatedStyles.ts +0 -25
  488. package/src/testing/getInterpolatedStyles/index.ts +0 -1
  489. package/src/testing/index.ts +0 -6
  490. package/src/testing/renderWithDragDropFileProvider/index.ts +0 -1
  491. package/src/testing/renderWithDragDropFileProvider/renderWithDragDropFileProvider.tsx +0 -28
  492. package/src/tests/generator.ts +0 -127
  493. package/src/tests/renderer.tsx +0 -39
  494. package/src/theming/index.ts +0 -42
  495. package/src/theming/themes/alice.theme.ts +0 -1022
  496. package/src/theming/themes/index.ts +0 -3
  497. package/src/theming/themes/loadsmart.theme.ts +0 -1019
  498. package/src/theming/themes/miranda-compatibility.theme.ts +0 -972
  499. package/src/theming/theming.helpers.ts +0 -95
  500. package/src/tools/conditional.test.ts +0 -166
  501. package/src/tools/conditional.ts +0 -127
  502. package/src/tools/index.ts +0 -2
  503. package/src/tools/prop.test.ts +0 -52
  504. package/src/tools/prop.ts +0 -36
  505. package/src/utils/toolset/awaitTo.ts +0 -24
  506. package/src/utils/toolset/flatten.ts +0 -3
  507. package/src/utils/toolset/formatBytes.test.ts +0 -45
  508. package/src/utils/toolset/formatBytes.ts +0 -18
  509. package/src/utils/toolset/get.ts +0 -2
  510. package/src/utils/toolset/getID.test.ts +0 -57
  511. package/src/utils/toolset/getID.ts +0 -93
  512. package/src/utils/toolset/getOrdinalSuffix.test.ts +0 -27
  513. package/src/utils/toolset/getOrdinalSuffix.ts +0 -15
  514. package/src/utils/toolset/highlightMatch.test.tsx +0 -32
  515. package/src/utils/toolset/highlightMatch.tsx +0 -32
  516. package/src/utils/toolset/interleave.test.ts +0 -40
  517. package/src/utils/toolset/interleave.ts +0 -23
  518. package/src/utils/toolset/isEmpty.ts +0 -2
  519. package/src/utils/toolset/isThenable.test.ts +0 -40
  520. package/src/utils/toolset/isThenable.ts +0 -14
  521. package/src/utils/toolset/keyboard.ts +0 -50
  522. package/src/utils/toolset/omit.ts +0 -2
  523. package/src/utils/toolset/pluralize.ts +0 -16
  524. package/src/utils/toolset/range.ts +0 -2
  525. package/src/utils/toolset/rem.ts +0 -7
  526. package/src/utils/toolset/styledCompounds.ts +0 -22
  527. package/src/utils/toolset/toArray.ts +0 -16
  528. package/src/utils/types/ColorScheme.ts +0 -3
  529. package/src/utils/types/EventLike.ts +0 -11
  530. package/src/utils/types/InterpolatedStyle.ts +0 -3
  531. package/src/utils/types/Status.ts +0 -8
@@ -1,461 +0,0 @@
1
- import { isFunction } from '@loadsmart/utils-function'
2
- import isEmpty from 'utils/toolset/isEmpty'
3
-
4
- export type DateHelperOptions = {
5
- normalize?: boolean
6
- }
7
-
8
- export const DEFAULT_OPTIONS: DateHelperOptions = {
9
- normalize: true,
10
- }
11
-
12
- export type InputDate = string | number | Date
13
-
14
- type Unit = 'year' | 'month' | 'day' | 'hour' | 'minute' | 'second' | 'millisecond'
15
- type Operator = '>=' | '>' | '=' | '<' | '<='
16
-
17
- export type DateConstraint =
18
- | InputDate
19
- | [InputDate, InputDate]
20
- | [null, InputDate]
21
- | [InputDate, null]
22
-
23
- export type FunctionConstraint = (day: CalendarDate) => boolean
24
-
25
- export type CalendarConstraint = DateConstraint | FunctionConstraint
26
-
27
- export interface CalendarDate {
28
- /**
29
- * Get `Date` object representing this date.
30
- * @returns {Date}
31
- */
32
- get(): Date
33
- /**
34
- * Get the year using Universal Coordinated Time (UTC).
35
- * @returns {number}
36
- */
37
- getYear(): number
38
- /**
39
- * Gets the month using Universal Coordinated Time (UTC).
40
- * @returns {number}
41
- */
42
- getMonth(): number
43
- /**
44
- * Get the day-of-the-month, using Universal Coordinated Time (UTC).
45
- * @returns {number}
46
- */
47
- getDate(): number
48
- /**
49
- * Get the time value in milliseconds.
50
- *
51
- * [!] Be aware that it might be normalized to 12:00:00 (UTC), if you did not call the helper with
52
- * `options.normalize: false`.
53
- *
54
- * @returns {number}
55
- */
56
- getTime(): number
57
- /**
58
- * Get the day of the week.
59
- *
60
- * [!] Be aware that it might be normalized to 12:00:00 (UTC), if you did not call the helper with
61
- * `options.normalize: false`.
62
- *
63
- * @returns {number}
64
- */
65
- getWeekday(): number
66
- /**
67
- * Get the hours value.
68
- *
69
- * [!] Be aware that it might be normalized to 12:00:00 (UTC), if you did not call the helper with
70
- * `options.normalize: false`.
71
- *
72
- * @returns {number}
73
- */
74
- getHours(): number
75
- /**
76
- * Get the minutes value.
77
- *
78
- * [!] Be aware that it might be normalized to 12:00:00 (UTC), if you did not call the helper with
79
- * `options.normalize: false`.
80
- *
81
- * @returns {number}
82
- */
83
- getMinutes(): number
84
- /**
85
- * Get the seconds value.
86
- *
87
- * [!] Be aware that it might be normalized to 12:00:00 (UTC), if you did not call the helper with
88
- * `options.normalize: false`.
89
- *
90
- * @returns {number}
91
- */
92
- getSeconds(): number
93
- /**
94
- * Get the milliseconds value.
95
- *
96
- * [!] Be aware that it might be normalized to 12:00:00 (UTC), if you did not call the helper with
97
- * `options.normalize: false`.
98
- *
99
- * @returns {number}
100
- */
101
- getMilliseconds(): number
102
- /**
103
- * Check if the current date matches **at least one** of the provided constraints.
104
- *
105
- * [!] Be aware that all dates in this comparison will be normalized to 12:00:00 (UTC).
106
- *
107
- * @param {...CalendarConstraint[]} constraintsArg
108
- * @returns {boolean}
109
- */
110
- matches(...constraints: CalendarConstraint[]): boolean
111
- /**
112
- * Set the given `value` to the `unit` property of this instance.
113
- * This function mutates the internal date instance.
114
- * @param {Unit} unit
115
- * @param {number} value
116
- * @returns {CalendarDate}
117
- */
118
- set(unit: Unit, value: number): CalendarDate
119
- /**
120
- * Return a copy of this instance, adding the given `value` to the `unit` property.
121
- * @param {Unit} unit
122
- * @param {number} value
123
- * @returns {CalendarDate}
124
- */
125
- add(unit: Unit, value: number): CalendarDate
126
- /**
127
- * Return a copy of this instance, subtracting the given `value` from the `unit` property.
128
- * @param {Unit} unit
129
- * @param {number} value
130
- * @returns {CalendarDate}
131
- */
132
- subtract(unit: Unit, value: number): CalendarDate
133
- /**
134
- * Compare this date with the given `other`.
135
- *
136
- * [!] Be aware that it might be normalized to 12:00:00 (UTC), if you did not call the helper with
137
- * `options.normalize: false`.
138
- *
139
- * @param {Operator} operator - type of comparison to be performed.
140
- * @param {CalendarDate} other - Other `CalendarDate` to compare with.
141
- * @param {Unit} [precision] - notice that the precision increases with the evaluated period, so year < month < day < hour < minute < second < millisecond. Default is 'day'.
142
- * @return {boolean} comparison result
143
- */
144
- is(operator: Operator, other: CalendarDate, precision?: string): boolean
145
- /**
146
- * Return this date as a string value in ISO format.
147
- * @returns {string}
148
- */
149
- toString(): string
150
- }
151
-
152
- export type CalendarDateRange = [CalendarDate | null, CalendarDate | null]
153
-
154
- /**
155
- * Ideally, follow the date/time string formats:
156
- * * `YYYY-MM-DD`
157
- * * `YYYY-MM-DDTHH:mm:ss.sssZ`
158
- * * `YYYY-MM-DDTHH:mm:ss.sss+00:00`
159
- *
160
- * `dateArg` is expected to have timezone information or to be UTC.
161
- *
162
- * By default, we normalize the input date to 12:00:00 (UTC); this simplifies comparison of dates; be mindful
163
- * of this when using this helper for time relate logic.
164
- * You can disable this behavior by passing `options.normalize: false`.
165
- *
166
- * @param {InputDate} [dateArg]
167
- * @return {CalendarDate}
168
- */
169
- function DateHelper(dateArg?: InputDate, optionsArg = DEFAULT_OPTIONS): CalendarDate {
170
- const options = { ...DEFAULT_OPTIONS, ...optionsArg }
171
- const utcDate = (function normalizeToUTC() {
172
- let date = new Date()
173
-
174
- if (dateArg != null) {
175
- date = new Date(dateArg)
176
- }
177
-
178
- // create a date with local timezone based on the UTC input date
179
- const utcDate = new Date(
180
- Date.UTC(
181
- date.getUTCFullYear(),
182
- date.getUTCMonth(),
183
- date.getUTCDate(),
184
- options.normalize ? 12 : date.getUTCHours(),
185
- options.normalize ? 0 : date.getUTCMinutes(),
186
- options.normalize ? 0 : date.getUTCSeconds(),
187
- options.normalize ? 0 : date.getUTCMilliseconds()
188
- )
189
- )
190
-
191
- return utcDate
192
- })()
193
-
194
- return {
195
- get() {
196
- return utcDate
197
- },
198
- getYear() {
199
- return utcDate.getUTCFullYear()
200
- },
201
- getMonth() {
202
- return utcDate.getUTCMonth()
203
- },
204
- getDate() {
205
- return utcDate.getUTCDate()
206
- },
207
- getTime() {
208
- return utcDate.getTime()
209
- },
210
- getWeekday() {
211
- return utcDate.getUTCDay()
212
- },
213
- getHours() {
214
- return utcDate.getUTCHours()
215
- },
216
- getMinutes() {
217
- return utcDate.getUTCMinutes()
218
- },
219
- getSeconds() {
220
- return utcDate.getUTCSeconds()
221
- },
222
- getMilliseconds() {
223
- return utcDate.getUTCMilliseconds()
224
- },
225
- matches(...constraints: CalendarConstraint[]): boolean {
226
- if (isEmpty(constraints)) {
227
- return false
228
- }
229
-
230
- const constraintEvaluators = constraints.map(getConstraintEvaluator)
231
- const date = DateHelper(utcDate)
232
-
233
- return constraintEvaluators.some((evaluator) => {
234
- return evaluator(date)
235
- })
236
- },
237
- add(unit: Unit, value: number) {
238
- return add(utcDate, unit, value)
239
- },
240
- subtract(unit: Unit, value: number) {
241
- return add(utcDate, unit, -1 * value)
242
- },
243
- set(unit: Unit, value: number) {
244
- const newValue = {
245
- year: utcDate.getUTCFullYear(),
246
- month: utcDate.getUTCMonth(),
247
- day: utcDate.getUTCDate(),
248
- hour: utcDate.getUTCHours(),
249
- minute: utcDate.getUTCMinutes(),
250
- second: utcDate.getUTCSeconds(),
251
- millisecond: utcDate.getUTCMilliseconds(),
252
- [unit]: value,
253
- }
254
-
255
- utcDate.setUTCFullYear(newValue.year)
256
- utcDate.setUTCMonth(newValue.month)
257
- utcDate.setUTCDate(newValue.day)
258
- utcDate.setUTCHours(newValue.hour)
259
- utcDate.setUTCMinutes(newValue.minute)
260
- utcDate.setUTCSeconds(newValue.second)
261
- utcDate.setUTCMilliseconds(newValue.millisecond)
262
-
263
- return this
264
- },
265
- is(operator: Operator, other: CalendarDate, precision?: Unit): boolean {
266
- function compare(a: number, b: number) {
267
- let result
268
-
269
- switch (operator) {
270
- case '>=':
271
- result = a >= b
272
- break
273
- case '>':
274
- result = a > b
275
- break
276
- case '<':
277
- result = a < b
278
- break
279
- case '<=':
280
- result = a <= b
281
- break
282
- default:
283
- result = a === b
284
- break
285
- }
286
-
287
- return result
288
- }
289
-
290
- return compare(
291
- getComparableDate(utcDate, precision),
292
- getComparableDate(other.get(), precision)
293
- )
294
- },
295
- toString(): string {
296
- return utcDate.toISOString()
297
- },
298
- }
299
- }
300
-
301
- /**
302
- * This method takes a date and a unit of precision and then normalizes the given date based on that precision.
303
- * The return will be the timestamp of the normalized date
304
- *
305
- * @example
306
- * ```js
307
- * getComparableDate(new Date('2022-10-13T17:42:19.948Z'), 'hour')) // returns 1665680400000
308
- *
309
- * // '2022-10-13T17:42:19.948Z' will be normalized to '2022-10-13T17:00:00.000Z'
310
- * // 1665680400000 is equal to: new Date('2022-10-13T17:00:00.000Z').getTime()
311
- * ```
312
- *
313
- * @param {Date} date
314
- * @param {Unit} precision
315
- * @returns {number}
316
- */
317
- export function getComparableDate(date: Date, precision: Unit = 'day'): number {
318
- const DATE_ZERO = MIN_SUPPORTED_DATE.toString()
319
- const COMPARE_TO = {
320
- year: 4,
321
- month: 7,
322
- day: 10,
323
- hour: 13,
324
- minute: 16,
325
- second: 19,
326
- millisecond: 24,
327
- }
328
- const sliceIndex = COMPARE_TO[precision]
329
-
330
- if (sliceIndex == null) {
331
- throw new Error(`precision ${precision} is not supported`)
332
- }
333
-
334
- const normalizedPart = DATE_ZERO.slice(sliceIndex)
335
- const datePart = date.toISOString().slice(0, sliceIndex)
336
- const normalizedDate = `${datePart}${normalizedPart}`
337
-
338
- return new Date(normalizedDate).getTime()
339
- }
340
-
341
- /**
342
- * Constraints represent ranges of dates, inclusive in both ends.
343
- * Returns an array representing the initial and final timestamps (after the transformations applied by `DateHelper`).
344
- *
345
- * @example
346
- * ```js
347
- * // to represent a range that starts and ends in the same date
348
- * getConstraintRange(1643371200000) // returns [1643371200000, 1643371200000]
349
- * getConstraintRange([1643371200000, 1643371200000]) // returns [1643371200000, 1643371200000]
350
- * getConstraintRange('2022-01-28T12:00:00.000Z') // returns [1643371200000, 1643371200000]
351
- * getConstraintRange(['2022-01-28T12:00:00.000Z', '2022-01-28T12:00:00.000Z']) // returns [1643371200000, 1643371200000]
352
- *
353
- * // to represent a range that starts at one date and ends at another
354
- * getConstraintRange([1641038400000, 1643371200000]) // returns [1641038400000, 1643371200000]
355
- * getConstraintRange(['2022-01-01T12:00:00.000Z', '2022-01-28T12:00:00.000Z']) // returns [1641038400000, 1643371200000]
356
- *
357
- * // to represent a range that starts at one date and has no end
358
- * getConstraintRange([1641038400000, null]) // returns [1641038400000, `MAX_SUPPORTED_DATE`]
359
- * getConstraintRange(['2022-01-01T12:00:00.000Z', null]) // returns [1641038400000, `MAX_SUPPORTED_DATE`]
360
- *
361
- * // to represent a range that ends at one date and has no start
362
- * getConstraintRange([null, 1643371200000]) // returns [0, 1643371200000]
363
- * getConstraintRange([null, '2022-01-28T12:00:00.000Z']) // returns [0, 1643371200000]
364
- * ```
365
- * @param rangeArg
366
- * @returns
367
- */
368
- export function getConstraintRange(rangeArg: DateConstraint): [number, number] {
369
- let range: [number, number]
370
-
371
- if (!Array.isArray(rangeArg)) {
372
- const timestamp = DateHelper(rangeArg).getTime()
373
- range = [timestamp, timestamp]
374
- } else {
375
- const rangeStart = rangeArg[0] != null ? DateHelper(rangeArg[0]) : MIN_SUPPORTED_DATE
376
- const rangeEnd = rangeArg[1] != null ? DateHelper(rangeArg[1]) : MAX_SUPPORTED_DATE
377
-
378
- range = [rangeStart.getTime(), rangeEnd.getTime()]
379
- }
380
-
381
- return range
382
- }
383
-
384
- /**
385
- * Add the given `value` to the provided `unit` of the provided `date`.
386
- * @param {Date} date - Date where the operation should be performed.
387
- * @param {Unit} unit - period
388
- * @param {number} value - value to be added
389
- * @returns {Date} new date after the operation.
390
- */
391
- function add(date: Date, unit: Unit, value: number): CalendarDate {
392
- const increment = {
393
- year: 0,
394
- month: 0,
395
- day: 0,
396
- hour: 0,
397
- minute: 0,
398
- second: 0,
399
- millisecond: 0,
400
- [unit]: value,
401
- }
402
-
403
- const newDate = new Date(
404
- Date.UTC(
405
- date.getUTCFullYear() + increment.year,
406
- date.getUTCMonth() + increment.month,
407
- date.getUTCDate() + increment.day,
408
- date.getUTCHours() + increment.hour,
409
- date.getUTCMinutes() + increment.minute,
410
- date.getUTCSeconds() + increment.second,
411
- date.getUTCMilliseconds() + increment.millisecond
412
- )
413
- )
414
-
415
- // Do not normalize the clone since all units must be preserved.
416
- return DateHelper(newDate, { normalize: false })
417
- }
418
-
419
- /**
420
- * Wrap range constraint into a function and return a function constraint untouched.
421
- * @param {CalendarConstraint} constraint
422
- * @returns {(day: CalendarDate) => boolean}
423
- */
424
- export function getConstraintEvaluator(
425
- constraint: CalendarConstraint
426
- ): (day: CalendarDate) => boolean {
427
- if (isFunction(constraint)) {
428
- return constraint
429
- }
430
-
431
- const [start, end] = getConstraintRange(constraint)
432
-
433
- return function matches(day: CalendarDate): boolean {
434
- if (start > end) {
435
- throw new InvalidDateConstraintError([start, end])
436
- }
437
-
438
- return start <= day.getTime() && day.getTime() <= end
439
- }
440
- }
441
-
442
- export function padded(value: number | string, maxLength = 2): string {
443
- return String(value).padStart(maxLength, '0')
444
- }
445
-
446
- export class InvalidDateConstraintError extends Error {
447
- constructor([start, end]: [number, number]) {
448
- super(`Invalid constraint: [${start}, ${end}]`)
449
- }
450
- }
451
-
452
- export const TODAY = DateHelper()
453
-
454
- /**
455
- * Maximum and minimum supported `Date`.
456
- * Source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#the_ecmascript_epoch_and_timestamps
457
- */
458
- export const MIN_SUPPORTED_DATE = DateHelper(0, { normalize: false })
459
- export const MAX_SUPPORTED_DATE = DateHelper(8.64e15 - 1)
460
-
461
- export default DateHelper
@@ -1,171 +0,0 @@
1
- import DateFormatHelper, { tokenizer } from './DateFormat.helper'
2
- import DateHelper from './Date.helper'
3
-
4
- describe('DateFormatHelper', () => {
5
- describe('tokenizer', () => {
6
- it('gets fundamental tokens', () => {
7
- expect(tokenizer('MM')).toEqual(['MM'])
8
- expect(tokenizer('MMM')).toEqual(['MMM'])
9
- expect(tokenizer('MMMM')).toEqual(['MMMM'])
10
-
11
- expect(tokenizer('DD')).toEqual(['DD'])
12
-
13
- expect(tokenizer('ddd')).toEqual(['ddd'])
14
- expect(tokenizer('dddd')).toEqual(['dddd'])
15
-
16
- expect(tokenizer('YYYY')).toEqual(['YYYY'])
17
-
18
- expect(tokenizer('HH')).toEqual(['HH'])
19
-
20
- expect(tokenizer('mm')).toEqual(['mm'])
21
-
22
- expect(tokenizer('ss')).toEqual(['ss'])
23
- })
24
-
25
- it('gets fundamental tokens compositions', () => {
26
- expect(tokenizer('YYYY-MM')).toEqual(['YYYY', '-', 'MM'])
27
- expect(tokenizer('YYYY-MM-DD')).toEqual(['YYYY', '-', 'MM', '-', 'DD'])
28
- expect(tokenizer('MM/DD/YYYY')).toEqual(['MM', '/', 'DD', '/', 'YYYY'])
29
- expect(tokenizer('YYYYMMDD')).toEqual(['YYYY', 'MM', 'DD'])
30
- expect(tokenizer('YYYY MM DD')).toEqual(['YYYY', ' ', 'MM', ' ', 'DD'])
31
- expect(tokenizer('HH:mm:ss')).toEqual(['HH', ':', 'mm', ':', 'ss'])
32
- })
33
-
34
- it('gets fundamental tokens and escaping compositions', () => {
35
- expect(tokenizer('[T]')).toEqual(['T'])
36
- expect(tokenizer('[Today is] MM/DD/YYYY')).toEqual([
37
- 'Today is ',
38
- 'MM',
39
- '/',
40
- 'DD',
41
- '/',
42
- 'YYYY',
43
- ])
44
-
45
- expect(tokenizer('dddd, DD [de] MMMM, YYYY')).toEqual([
46
- 'dddd',
47
- ', ',
48
- 'DD',
49
- ' de ',
50
- 'MMMM',
51
- ', ',
52
- 'YYYY',
53
- ])
54
-
55
- expect(tokenizer('MM/DD/YYYY HH:mm:ss')).toEqual([
56
- 'MM',
57
- '/',
58
- 'DD',
59
- '/',
60
- 'YYYY',
61
- ' ',
62
- 'HH',
63
- ':',
64
- 'mm',
65
- ':',
66
- 'ss',
67
- ])
68
- })
69
- })
70
-
71
- describe('formatting', () => {
72
- it('formats pure-token format correctly', () => {
73
- expect(DateFormatHelper('YYYY-MM').format(DateHelper('2022-02-01T12:00:00.000Z'))).toBe(
74
- '2022-02'
75
- )
76
-
77
- expect(DateFormatHelper('YYYY-MMM').format(DateHelper('2022-02-01T12:00:00.000Z'))).toBe(
78
- '2022-Feb'
79
- )
80
-
81
- expect(DateFormatHelper('YYYY-MM-DD').format(DateHelper('2022-02-01T12:00:00.000Z'))).toBe(
82
- '2022-02-01'
83
- )
84
-
85
- expect(DateFormatHelper('MM/DD/YYYY').format(DateHelper('2022-02-01T12:00:00.000Z'))).toBe(
86
- '02/01/2022'
87
- )
88
-
89
- expect(DateFormatHelper('YYYYMMDD').format(DateHelper('2022-02-01T12:00:00.000Z'))).toBe(
90
- '20220201'
91
- )
92
-
93
- expect(DateFormatHelper('YYYY MM DD').format(DateHelper('2022-02-01T12:00:00.000Z'))).toBe(
94
- '2022 02 01'
95
- )
96
- })
97
-
98
- it('formats token and escaping compositions correctly', () => {
99
- expect(DateFormatHelper('[T]').format(DateHelper('2022-02-01T12:00:00.000Z'))).toBe('T')
100
-
101
- expect(
102
- DateFormatHelper('[Today is] MM/DD/YYYY').format(DateHelper('2022-02-01T12:00:00.000Z'))
103
- ).toBe('Today is 02/01/2022')
104
-
105
- expect(
106
- DateFormatHelper('dddd, DD [de] MMMM, YYYY').format(DateHelper('2022-02-01T12:00:00.000Z'))
107
- ).toBe('Tuesday, 01 de February, 2022')
108
-
109
- expect(
110
- DateFormatHelper('ddd, MM/DD/YYYY').format(DateHelper('2022-02-01T12:00:00.000Z'))
111
- ).toBe('Tue, 02/01/2022')
112
-
113
- expect(
114
- DateFormatHelper('MM/DD/YYYY HH:mm:ss').format(DateHelper('2022-02-01T12:00:00.000Z'))
115
- ).toBe('02/01/2022 12:00:00')
116
-
117
- expect(
118
- DateFormatHelper('MM/DD/YYYY HH:mm:ss').format(
119
- DateHelper('2022-02-01T00:00:00.000Z', { normalize: false })
120
- )
121
- ).toBe('02/01/2022 00:00:00')
122
-
123
- expect(
124
- DateFormatHelper('MM/DD/YYYY, hh:mm A').format(
125
- DateHelper('2022-02-01T10:30:00.000Z', { normalize: false })
126
- )
127
- ).toBe('02/01/2022, 10:30 AM')
128
-
129
- expect(
130
- DateFormatHelper('MM/DD/YYYY, hh:mm a').format(
131
- DateHelper('2022-02-01T14:30:00.000Z', { normalize: false })
132
- )
133
- ).toBe('02/01/2022, 02:30 pm')
134
-
135
- expect(
136
- DateFormatHelper('MM/DD/YYYY HH:mm:ss').format(
137
- DateHelper('2022-02-01T11:22:33.000Z', {
138
- normalize: false,
139
- })
140
- )
141
- ).toBe('02/01/2022 11:22:33')
142
- })
143
-
144
- it('formats compound tokens', () => {
145
- expect(
146
- DateFormatHelper('ddd, Do, MMM').format(
147
- DateHelper('2021-05-04T04:00:00Z', {
148
- normalize: false,
149
- })
150
- )
151
- ).toBe('Tue, 4th, May')
152
- expect(
153
- DateFormatHelper('ddd, DDo, MMM').format(
154
- DateHelper('2021-05-05T04:00:00Z', {
155
- normalize: false,
156
- })
157
- )
158
- ).toBe('Wed, 05th, May')
159
- })
160
-
161
- it('does not formats a compound token when the previous token is invalid', () => {
162
- expect(
163
- DateFormatHelper('ddd, YYYYo, MMM').format(
164
- DateHelper('2021-05-10T04:00:00Z', {
165
- normalize: false,
166
- })
167
- )
168
- ).toBe('Mon, 2021o, May')
169
- })
170
- })
171
- })