@loadsmart/loadsmart-ui 7.6.0 → 7.7.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 (490) hide show
  1. package/README.md +15 -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/index.js +9104 -253
  5. package/dist/index.js.map +1 -1
  6. package/dist/miranda-compatibility.theme-C_FEacSw.js +2528 -0
  7. package/dist/{miranda-compatibility.theme-ChPV-BBw.js.map → miranda-compatibility.theme-C_FEacSw.js.map} +1 -1
  8. package/dist/prop-B8LY6G2g.js +81 -0
  9. package/dist/{prop-BwhJNJHO.js.map → prop-B8LY6G2g.js.map} +1 -1
  10. package/dist/testing/index.js +282 -1
  11. package/dist/testing/index.js.map +1 -1
  12. package/dist/theming/index.js +22 -1
  13. package/dist/theming/index.js.map +1 -1
  14. package/dist/toArray-Dxb1kUxx.js +14 -0
  15. package/dist/{toArray-BW3gx_gH.js.map → toArray-Dxb1kUxx.js.map} +1 -1
  16. package/dist/tools/index.js +6 -1
  17. package/dist/tools/index.js.map +1 -1
  18. package/package.json +24 -54
  19. package/dist/DragDropFile.context-D-EBrXnw.js +0 -2
  20. package/dist/DragDropFile.context-jVTIKfj5.mjs +0 -29
  21. package/dist/DragDropFile.context-jVTIKfj5.mjs.map +0 -1
  22. package/dist/index.mjs +0 -8046
  23. package/dist/index.mjs.map +0 -1
  24. package/dist/miranda-compatibility.theme-ChPV-BBw.js +0 -2
  25. package/dist/miranda-compatibility.theme-DQDHkWzC.mjs +0 -2469
  26. package/dist/miranda-compatibility.theme-DQDHkWzC.mjs.map +0 -1
  27. package/dist/prop-5m3D4883.mjs +0 -54
  28. package/dist/prop-5m3D4883.mjs.map +0 -1
  29. package/dist/prop-BwhJNJHO.js +0 -2
  30. package/dist/testing/index.mjs +0 -228
  31. package/dist/testing/index.mjs.map +0 -1
  32. package/dist/theming/index.mjs +0 -20
  33. package/dist/theming/index.mjs.map +0 -1
  34. package/dist/toArray-BW3gx_gH.js +0 -2
  35. package/dist/toArray-DqgeO2ua.mjs +0 -8
  36. package/dist/toArray-DqgeO2ua.mjs.map +0 -1
  37. package/dist/tools/index.mjs +0 -7
  38. package/dist/tools/index.mjs.map +0 -1
  39. package/src/@types/@loadsmart/utilsFunction.d.ts +0 -5
  40. package/src/@types/@loadsmart/utilsObject.d.ts +0 -5
  41. package/src/@types/svg.d.ts +0 -4
  42. package/src/addons/Theme/register.js +0 -590
  43. package/src/common/BackButton/BackButton.tsx +0 -18
  44. package/src/common/BackButton/index.ts +0 -2
  45. package/src/common/CloseButton/CloseButton.tsx +0 -55
  46. package/src/common/CloseButton/index.ts +0 -2
  47. package/src/common/SelectionWrapper.tsx +0 -130
  48. package/src/components/Accordion/Accordion.context.tsx +0 -36
  49. package/src/components/Accordion/Accordion.stories.tsx +0 -186
  50. package/src/components/Accordion/Accordion.test.tsx +0 -209
  51. package/src/components/Accordion/Accordion.tsx +0 -233
  52. package/src/components/Accordion/index.ts +0 -2
  53. package/src/components/Banner/Banner.stories.tsx +0 -213
  54. package/src/components/Banner/Banner.test.tsx +0 -118
  55. package/src/components/Banner/Banner.tsx +0 -418
  56. package/src/components/Banner/index.tsx +0 -2
  57. package/src/components/Breadcrumbs/Breadbrumbs.test.tsx +0 -125
  58. package/src/components/Breadcrumbs/Breadcrumb.tsx +0 -92
  59. package/src/components/Breadcrumbs/Breadcrumbs.stories.tsx +0 -21
  60. package/src/components/Breadcrumbs/Breadcrumbs.tsx +0 -54
  61. package/src/components/Breadcrumbs/index.ts +0 -4
  62. package/src/components/Button/Button.stories.tsx +0 -174
  63. package/src/components/Button/Button.test.tsx +0 -57
  64. package/src/components/Button/Button.tsx +0 -576
  65. package/src/components/Button/index.tsx +0 -2
  66. package/src/components/Calendar/Calendar.helpers.ts +0 -15
  67. package/src/components/Calendar/Calendar.stories.tsx +0 -168
  68. package/src/components/Calendar/Calendar.test.tsx +0 -316
  69. package/src/components/Calendar/Calendar.tsx +0 -130
  70. package/src/components/Calendar/Calendar.types.ts +0 -68
  71. package/src/components/Calendar/Date.helper.test.ts +0 -847
  72. package/src/components/Calendar/Date.helper.ts +0 -461
  73. package/src/components/Calendar/DateFormat.helper.test.ts +0 -171
  74. package/src/components/Calendar/DateFormat.helper.ts +0 -195
  75. package/src/components/Calendar/Month.helper.test.ts +0 -187
  76. package/src/components/Calendar/Month.helper.ts +0 -172
  77. package/src/components/Calendar/PickerModeToggle.tsx +0 -61
  78. package/src/components/Calendar/Pickers/DayPicker.test.tsx +0 -85
  79. package/src/components/Calendar/Pickers/DayPicker.tsx +0 -127
  80. package/src/components/Calendar/Pickers/MonthPicker.test.tsx +0 -77
  81. package/src/components/Calendar/Pickers/MonthPicker.tsx +0 -51
  82. package/src/components/Calendar/Pickers/PickerButton.tsx +0 -119
  83. package/src/components/Calendar/Pickers/YearPicker.test.tsx +0 -75
  84. package/src/components/Calendar/Pickers/YearPicker.tsx +0 -52
  85. package/src/components/Calendar/index.ts +0 -10
  86. package/src/components/Calendar/useCalendar.ts +0 -190
  87. package/src/components/Calendar/usePickerMode.ts +0 -48
  88. package/src/components/Card/Card.stories.tsx +0 -117
  89. package/src/components/Card/Card.test.tsx +0 -139
  90. package/src/components/Card/Card.tsx +0 -106
  91. package/src/components/Card/CardTitle.tsx +0 -43
  92. package/src/components/Card/index.ts +0 -2
  93. package/src/components/Checkbox/Checkbox.stories.tsx +0 -79
  94. package/src/components/Checkbox/Checkbox.test.tsx +0 -66
  95. package/src/components/Checkbox/Checkbox.tsx +0 -170
  96. package/src/components/Checkbox/index.ts +0 -2
  97. package/src/components/DatePicker/DatePicker.stories.tsx +0 -113
  98. package/src/components/DatePicker/DatePicker.test.tsx +0 -174
  99. package/src/components/DatePicker/DatePicker.tsx +0 -140
  100. package/src/components/DatePicker/DatePicker.types.ts +0 -30
  101. package/src/components/DatePicker/DateRangePicker.stories.tsx +0 -128
  102. package/src/components/DatePicker/DateRangePicker.test.tsx +0 -267
  103. package/src/components/DatePicker/DateRangePicker.tsx +0 -110
  104. package/src/components/DatePicker/index.ts +0 -3
  105. package/src/components/DatePicker/useDatePicker.ts +0 -201
  106. package/src/components/DatePicker/useDateRangePicker.ts +0 -224
  107. package/src/components/Dialog/Dialog.stories.tsx +0 -227
  108. package/src/components/Dialog/Dialog.test.tsx +0 -74
  109. package/src/components/Dialog/Dialog.tsx +0 -139
  110. package/src/components/Dialog/index.tsx +0 -4
  111. package/src/components/Dialog/useDialog.tsx +0 -59
  112. package/src/components/DragDropFile/DragDropFile.context.tsx +0 -39
  113. package/src/components/DragDropFile/DragDropFile.stories.tsx +0 -183
  114. package/src/components/DragDropFile/DragDropFile.tsx +0 -11
  115. package/src/components/DragDropFile/components/DropZone.test.tsx +0 -108
  116. package/src/components/DragDropFile/components/DropZone.tsx +0 -145
  117. package/src/components/DragDropFile/components/FileItem.tsx +0 -117
  118. package/src/components/DragDropFile/components/FileList.test.tsx +0 -119
  119. package/src/components/DragDropFile/components/FileList.tsx +0 -47
  120. package/src/components/DragDropFile/components/Wrapper.tsx +0 -22
  121. package/src/components/DragDropFile/index.ts +0 -9
  122. package/src/components/DragDropFile/mocks.ts +0 -23
  123. package/src/components/DragDropFile/styles.tsx +0 -81
  124. package/src/components/DragDropFile/types.ts +0 -85
  125. package/src/components/Drawer/Drawer.stories.tsx +0 -83
  126. package/src/components/Drawer/Drawer.test.tsx +0 -90
  127. package/src/components/Drawer/Drawer.tsx +0 -225
  128. package/src/components/Drawer/index.ts +0 -4
  129. package/src/components/Dropdown/Dropdown.context.ts +0 -13
  130. package/src/components/Dropdown/Dropdown.fixtures.ts +0 -15
  131. package/src/components/Dropdown/Dropdown.stories.tsx +0 -259
  132. package/src/components/Dropdown/Dropdown.test.tsx +0 -173
  133. package/src/components/Dropdown/Dropdown.tsx +0 -141
  134. package/src/components/Dropdown/Dropdown.types.ts +0 -59
  135. package/src/components/Dropdown/DropdownMenu.tsx +0 -263
  136. package/src/components/Dropdown/DropdownTrigger.tsx +0 -368
  137. package/src/components/Dropdown/index.ts +0 -15
  138. package/src/components/Dropdown/useDropdown.test.ts +0 -96
  139. package/src/components/Dropdown/useDropdown.ts +0 -65
  140. package/src/components/EmptyState/EmptyState.mocks.tsx +0 -60
  141. package/src/components/EmptyState/EmptyState.stories.tsx +0 -239
  142. package/src/components/EmptyState/EmptyState.test.tsx +0 -101
  143. package/src/components/EmptyState/EmptyState.tsx +0 -22
  144. package/src/components/EmptyState/EmptyState.types.ts +0 -59
  145. package/src/components/EmptyState/EmptyStateWithIcon.tsx +0 -42
  146. package/src/components/EmptyState/EmptyStateWithIllustration.tsx +0 -72
  147. package/src/components/EmptyState/Illustration.tsx +0 -29
  148. package/src/components/EmptyState/index.ts +0 -4
  149. package/src/components/ErrorMessage/ErrorMessage.stories.tsx +0 -26
  150. package/src/components/ErrorMessage/ErrorMessage.test.tsx +0 -24
  151. package/src/components/ErrorMessage/ErrorMessage.tsx +0 -19
  152. package/src/components/ErrorMessage/index.ts +0 -2
  153. package/src/components/HighlightMatch/HighlightMatch.stories.tsx +0 -24
  154. package/src/components/HighlightMatch/HighlightMatch.test.tsx +0 -37
  155. package/src/components/HighlightMatch/HighlightMatch.tsx +0 -29
  156. package/src/components/HighlightMatch/index.ts +0 -2
  157. package/src/components/Icon/Icon.tsx +0 -55
  158. package/src/components/Icon/assets/back.svg +0 -4
  159. package/src/components/Icon/assets/burger-menu.svg +0 -3
  160. package/src/components/Icon/assets/calendar.svg +0 -5
  161. package/src/components/Icon/assets/caret-down.svg +0 -4
  162. package/src/components/Icon/assets/caret-left.svg +0 -4
  163. package/src/components/Icon/assets/caret-right-last.svg +0 -4
  164. package/src/components/Icon/assets/caret-right.svg +0 -4
  165. package/src/components/Icon/assets/check.svg +0 -4
  166. package/src/components/Icon/assets/chevron-down.svg +0 -3
  167. package/src/components/Icon/assets/circle.svg +0 -3
  168. package/src/components/Icon/assets/close.svg +0 -4
  169. package/src/components/Icon/assets/dots-horizontal.svg +0 -1
  170. package/src/components/Icon/assets/information.svg +0 -4
  171. package/src/components/Icon/assets/minus.svg +0 -4
  172. package/src/components/Icon/assets/plus.svg +0 -4
  173. package/src/components/Icon/assets/refresh.svg +0 -3
  174. package/src/components/Icon/assets/sort-asc.svg +0 -7
  175. package/src/components/Icon/assets/sort-desc.svg +0 -7
  176. package/src/components/Icon/assets/sort.svg +0 -7
  177. package/src/components/Icon/assets/upload.svg +0 -3
  178. package/src/components/Icon/assets/warning.svg +0 -4
  179. package/src/components/Icon/index.ts +0 -2
  180. package/src/components/IconFactory/IconFactory.fixtures.tsx +0 -31
  181. package/src/components/IconFactory/IconFactory.stories.tsx +0 -120
  182. package/src/components/IconFactory/IconFactory.test.tsx +0 -36
  183. package/src/components/IconFactory/IconFactory.tsx +0 -75
  184. package/src/components/IconFactory/index.ts +0 -2
  185. package/src/components/Label/Label.stories.tsx +0 -47
  186. package/src/components/Label/Label.test.tsx +0 -80
  187. package/src/components/Label/Label.tsx +0 -120
  188. package/src/components/Label/index.ts +0 -2
  189. package/src/components/Layout/Box.tsx +0 -98
  190. package/src/components/Layout/Grid.tsx +0 -42
  191. package/src/components/Layout/Group.tsx +0 -55
  192. package/src/components/Layout/Layout.stories.tsx +0 -412
  193. package/src/components/Layout/Layout.tsx +0 -19
  194. package/src/components/Layout/Layout.types.ts +0 -9
  195. package/src/components/Layout/Layout.utils.ts +0 -20
  196. package/src/components/Layout/Sidebar.tsx +0 -75
  197. package/src/components/Layout/Stack.tsx +0 -63
  198. package/src/components/Layout/Switcher.tsx +0 -48
  199. package/src/components/Layout/index.tsx +0 -8
  200. package/src/components/Link/Link.stories.tsx +0 -22
  201. package/src/components/Link/Link.test.tsx +0 -79
  202. package/src/components/Link/Link.tsx +0 -114
  203. package/src/components/Link/index.ts +0 -3
  204. package/src/components/Link/useSafeLink.ts +0 -49
  205. package/src/components/Loaders/LoadingBar.stories.tsx +0 -36
  206. package/src/components/Loaders/LoadingBar.test.tsx +0 -35
  207. package/src/components/Loaders/LoadingBar.tsx +0 -65
  208. package/src/components/Loaders/LoadingDots.stories.tsx +0 -69
  209. package/src/components/Loaders/LoadingDots.test.tsx +0 -22
  210. package/src/components/Loaders/LoadingDots.tsx +0 -68
  211. package/src/components/Loaders/Spinner.stories.tsx +0 -24
  212. package/src/components/Loaders/Spinner.test.tsx +0 -35
  213. package/src/components/Loaders/Spinner.tsx +0 -68
  214. package/src/components/Loaders/index.tsx +0 -3
  215. package/src/components/Modal/Modal.stories.tsx +0 -121
  216. package/src/components/Modal/Modal.test.tsx +0 -46
  217. package/src/components/Modal/Modal.tsx +0 -163
  218. package/src/components/Modal/index.tsx +0 -2
  219. package/src/components/Pagination/Pagination.constants.ts +0 -7
  220. package/src/components/Pagination/Pagination.helper.ts +0 -88
  221. package/src/components/Pagination/Pagination.stories.tsx +0 -29
  222. package/src/components/Pagination/Pagination.test.tsx +0 -102
  223. package/src/components/Pagination/Pagination.tsx +0 -34
  224. package/src/components/Pagination/Pagination.types.ts +0 -55
  225. package/src/components/Pagination/PaginationItem.tsx +0 -74
  226. package/src/components/Pagination/index.ts +0 -2
  227. package/src/components/Pagination/usePagination.test.ts +0 -188
  228. package/src/components/Pagination/usePagination.ts +0 -87
  229. package/src/components/Popover/Popover.stories.tsx +0 -50
  230. package/src/components/Popover/Popover.test.tsx +0 -22
  231. package/src/components/Popover/Popover.tsx +0 -110
  232. package/src/components/Popover/Popover.types.ts +0 -39
  233. package/src/components/Popover/index.ts +0 -11
  234. package/src/components/ProgressBar/ProgressBar.stories.tsx +0 -47
  235. package/src/components/ProgressBar/ProgressBar.test.tsx +0 -40
  236. package/src/components/ProgressBar/ProgressBar.tsx +0 -89
  237. package/src/components/ProgressBar/index.tsx +0 -2
  238. package/src/components/Radio/Radio.stories.tsx +0 -75
  239. package/src/components/Radio/Radio.test.tsx +0 -66
  240. package/src/components/Radio/Radio.tsx +0 -153
  241. package/src/components/Radio/index.ts +0 -2
  242. package/src/components/Section/Section.test.tsx +0 -35
  243. package/src/components/Section/Section.tsx +0 -66
  244. package/src/components/Section/Sections.stories.tsx +0 -56
  245. package/src/components/Section/index.ts +0 -2
  246. package/src/components/Select/Select.constants.ts +0 -12
  247. package/src/components/Select/Select.context.ts +0 -11
  248. package/src/components/Select/Select.fixtures.ts +0 -167
  249. package/src/components/Select/Select.stories.tsx +0 -780
  250. package/src/components/Select/Select.test.tsx +0 -1109
  251. package/src/components/Select/Select.tsx +0 -271
  252. package/src/components/Select/Select.types.ts +0 -148
  253. package/src/components/Select/SelectCreatableOption.tsx +0 -20
  254. package/src/components/Select/SelectEmpty.test.tsx +0 -15
  255. package/src/components/Select/SelectEmpty.tsx +0 -29
  256. package/src/components/Select/SelectOption.test.tsx +0 -78
  257. package/src/components/Select/SelectOption.tsx +0 -79
  258. package/src/components/Select/SelectTrigger.tsx +0 -83
  259. package/src/components/Select/components.tsx +0 -14
  260. package/src/components/Select/index.ts +0 -12
  261. package/src/components/Select/useSelect.helpers.test.ts +0 -184
  262. package/src/components/Select/useSelect.helpers.ts +0 -63
  263. package/src/components/Select/useSelect.test.ts +0 -207
  264. package/src/components/Select/useSelect.ts +0 -540
  265. package/src/components/Select/useSelectExternal.ts +0 -26
  266. package/src/components/SideNavigation/Logo/Logo.test.tsx +0 -19
  267. package/src/components/SideNavigation/Logo/Logo.tsx +0 -26
  268. package/src/components/SideNavigation/Logo/index.ts +0 -1
  269. package/src/components/SideNavigation/Menu/Menu.test.tsx +0 -65
  270. package/src/components/SideNavigation/Menu/Menu.tsx +0 -53
  271. package/src/components/SideNavigation/Menu/MenuBaseItem.tsx +0 -64
  272. package/src/components/SideNavigation/Menu/MenuExpandable.tsx +0 -107
  273. package/src/components/SideNavigation/Menu/MenuLink.tsx +0 -37
  274. package/src/components/SideNavigation/Menu/index.ts +0 -1
  275. package/src/components/SideNavigation/Separator/Separator.test.tsx +0 -14
  276. package/src/components/SideNavigation/Separator/Separator.tsx +0 -20
  277. package/src/components/SideNavigation/Separator/index.ts +0 -1
  278. package/src/components/SideNavigation/SideNavigation.stories.tsx +0 -69
  279. package/src/components/SideNavigation/SideNavigation.test.tsx +0 -21
  280. package/src/components/SideNavigation/SideNavigation.tsx +0 -47
  281. package/src/components/SideNavigation/index.ts +0 -5
  282. package/src/components/SideNavigation/useSideNavigation.ts +0 -36
  283. package/src/components/Steps/ProgressSteps/ProgressStep.tsx +0 -163
  284. package/src/components/Steps/ProgressSteps/ProgressSteps.tsx +0 -37
  285. package/src/components/Steps/ProgressSteps/index.ts +0 -1
  286. package/src/components/Steps/Steps.fixtures.ts +0 -11
  287. package/src/components/Steps/Steps.helpers.ts +0 -11
  288. package/src/components/Steps/Steps.stories.tsx +0 -65
  289. package/src/components/Steps/Steps.test.tsx +0 -78
  290. package/src/components/Steps/Steps.tsx +0 -53
  291. package/src/components/Steps/Steps.types.ts +0 -5
  292. package/src/components/Steps/StepsContext.ts +0 -5
  293. package/src/components/Steps/StepsStep.tsx +0 -58
  294. package/src/components/Steps/index.ts +0 -6
  295. package/src/components/Steps/useStep.test.tsx +0 -217
  296. package/src/components/Steps/useSteps.ts +0 -131
  297. package/src/components/Switch/Switch.stories.tsx +0 -65
  298. package/src/components/Switch/Switch.test.tsx +0 -60
  299. package/src/components/Switch/Switch.tsx +0 -209
  300. package/src/components/Switch/index.ts +0 -2
  301. package/src/components/Table/Selection.tsx +0 -202
  302. package/src/components/Table/Table.fixtures.ts +0 -101
  303. package/src/components/Table/Table.stories.tsx +0 -568
  304. package/src/components/Table/Table.test.tsx +0 -310
  305. package/src/components/Table/Table.tsx +0 -523
  306. package/src/components/Table/Table.types.ts +0 -93
  307. package/src/components/Table/TableSortHandle.tsx +0 -31
  308. package/src/components/Table/index.tsx +0 -2
  309. package/src/components/Table/useSortBy.test.ts +0 -96
  310. package/src/components/Table/useSortBy.ts +0 -92
  311. package/src/components/Table/useSortBy.types.ts +0 -21
  312. package/src/components/TablePagination/RowsPerPage.tsx +0 -81
  313. package/src/components/TablePagination/TablePagination.stories.tsx +0 -42
  314. package/src/components/TablePagination/TablePagination.styles.ts +0 -13
  315. package/src/components/TablePagination/TablePagination.test.tsx +0 -111
  316. package/src/components/TablePagination/TablePagination.tsx +0 -49
  317. package/src/components/TablePagination/TablePagination.types.ts +0 -69
  318. package/src/components/TablePagination/TablePaginationActions.tsx +0 -144
  319. package/src/components/TablePagination/index.ts +0 -2
  320. package/src/components/Tabs/Tabs.stories.tsx +0 -78
  321. package/src/components/Tabs/Tabs.test.tsx +0 -103
  322. package/src/components/Tabs/Tabs.tsx +0 -287
  323. package/src/components/Tabs/Tabs.types.ts +0 -7
  324. package/src/components/Tabs/TabsContext.ts +0 -10
  325. package/src/components/Tabs/index.ts +0 -2
  326. package/src/components/Tag/Tag.stories.tsx +0 -112
  327. package/src/components/Tag/Tag.test.tsx +0 -19
  328. package/src/components/Tag/Tag.tsx +0 -393
  329. package/src/components/Tag/index.ts +0 -2
  330. package/src/components/Text/Text.stories.tsx +0 -59
  331. package/src/components/Text/Text.test.tsx +0 -48
  332. package/src/components/Text/Text.tsx +0 -14
  333. package/src/components/Text/index.ts +0 -2
  334. package/src/components/TextField/TextField.stories.tsx +0 -90
  335. package/src/components/TextField/TextField.test.tsx +0 -36
  336. package/src/components/TextField/TextField.tsx +0 -244
  337. package/src/components/TextField/index.ts +0 -6
  338. package/src/components/TextField/useTextField.tsx +0 -26
  339. package/src/components/Textarea/Textarea.stories.tsx +0 -101
  340. package/src/components/Textarea/Textarea.test.tsx +0 -14
  341. package/src/components/Textarea/Textarea.tsx +0 -230
  342. package/src/components/Textarea/index.ts +0 -2
  343. package/src/components/Toast/Toast.stories.tsx +0 -50
  344. package/src/components/Toast/Toast.test.tsx +0 -24
  345. package/src/components/Toast/Toast.tsx +0 -141
  346. package/src/components/Toast/icons/close.svg +0 -3
  347. package/src/components/Toast/icons/danger.svg +0 -4
  348. package/src/components/Toast/icons/neutral.svg +0 -4
  349. package/src/components/Toast/icons/success.svg +0 -3
  350. package/src/components/Toast/icons/warning.svg +0 -4
  351. package/src/components/Toast/index.tsx +0 -2
  352. package/src/components/ToggleGroup/Toggle.test.tsx +0 -76
  353. package/src/components/ToggleGroup/Toggle.tsx +0 -158
  354. package/src/components/ToggleGroup/ToggleGroup.constants.ts +0 -16
  355. package/src/components/ToggleGroup/ToggleGroup.stories.tsx +0 -145
  356. package/src/components/ToggleGroup/ToggleGroup.test.tsx +0 -237
  357. package/src/components/ToggleGroup/ToggleGroup.tsx +0 -165
  358. package/src/components/ToggleGroup/ToggleGroup.types.ts +0 -35
  359. package/src/components/ToggleGroup/ToggleGroupContext.ts +0 -13
  360. package/src/components/ToggleGroup/index.ts +0 -3
  361. package/src/components/Tooltip/Tooltip.stories.tsx +0 -82
  362. package/src/components/Tooltip/Tooltip.test.tsx +0 -49
  363. package/src/components/Tooltip/Tooltip.tsx +0 -185
  364. package/src/components/Tooltip/index.ts +0 -2
  365. package/src/components/TopNavigation/Logo/Logo.test.tsx +0 -21
  366. package/src/components/TopNavigation/Logo/Logo.tsx +0 -20
  367. package/src/components/TopNavigation/Logo/index.ts +0 -1
  368. package/src/components/TopNavigation/Menu/Menu.test.tsx +0 -125
  369. package/src/components/TopNavigation/Menu/Menu.tsx +0 -62
  370. package/src/components/TopNavigation/Menu/MenuItemDropdown.tsx +0 -118
  371. package/src/components/TopNavigation/Menu/MenuItemIcon.tsx +0 -50
  372. package/src/components/TopNavigation/Menu/index.ts +0 -1
  373. package/src/components/TopNavigation/OpenSideNavButton/OpenSideNavButton.tsx +0 -28
  374. package/src/components/TopNavigation/OpenSideNavButton/index.ts +0 -1
  375. package/src/components/TopNavigation/TopNavigation.stories.tsx +0 -42
  376. package/src/components/TopNavigation/TopNavigation.tsx +0 -47
  377. package/src/components/TopNavigation/index.ts +0 -2
  378. package/src/components/VisuallyHidden/VisuallyHidden.mdx +0 -26
  379. package/src/components/VisuallyHidden/VisuallyHidden.stories.tsx +0 -32
  380. package/src/components/VisuallyHidden/VisuallyHidden.test.tsx +0 -18
  381. package/src/components/VisuallyHidden/VisuallyHidden.tsx +0 -6
  382. package/src/components/VisuallyHidden/index.ts +0 -1
  383. package/src/docs/tools/DatePickerEvent.stories.mdx +0 -108
  384. package/src/docs/tools/DragDropFileEvent.stories.mdx +0 -75
  385. package/src/docs/tools/conditional.stories.mdx +0 -251
  386. package/src/docs/tools/selectEvent.stories.mdx +0 -121
  387. package/src/hooks/useClickOutside/index.ts +0 -1
  388. package/src/hooks/useClickOutside/useClickOutside.test.tsx +0 -116
  389. package/src/hooks/useClickOutside/useClickOutside.ts +0 -65
  390. package/src/hooks/useDidMount/index.ts +0 -1
  391. package/src/hooks/useDidMount/useDidMount.test.tsx +0 -38
  392. package/src/hooks/useDidMount/useDidMount.ts +0 -20
  393. package/src/hooks/useFingerprint/index.ts +0 -1
  394. package/src/hooks/useFingerprint/useFingerprint.test.ts +0 -76
  395. package/src/hooks/useFingerprint/useFingerprint.ts +0 -94
  396. package/src/hooks/useFocusTrap/index.ts +0 -2
  397. package/src/hooks/useFocusTrap/useFocusTrap.stories.tsx +0 -87
  398. package/src/hooks/useFocusTrap/useFocusTrap.test.tsx +0 -129
  399. package/src/hooks/useFocusTrap/useFocusTrap.ts +0 -187
  400. package/src/hooks/useFocusWithin/index.ts +0 -2
  401. package/src/hooks/useFocusWithin/useFocusWithin.test.tsx +0 -71
  402. package/src/hooks/useFocusWithin/useFocusWithin.ts +0 -62
  403. package/src/hooks/useHeightExpansionToggler/index.ts +0 -2
  404. package/src/hooks/useHeightExpansionToggler/useHeightExpansionToggler.test.tsx +0 -85
  405. package/src/hooks/useHeightExpansionToggler/useHeightExpansionToggler.ts +0 -54
  406. package/src/hooks/useID/index.ts +0 -1
  407. package/src/hooks/useID/useID.ts +0 -18
  408. package/src/hooks/useSelectable/SelectableStrategy.test.ts +0 -424
  409. package/src/hooks/useSelectable/SelectableStrategy.ts +0 -143
  410. package/src/hooks/useSelectable/index.ts +0 -8
  411. package/src/hooks/useSelectable/useSelectable.test.ts +0 -221
  412. package/src/hooks/useSelectable/useSelectable.ts +0 -156
  413. package/src/hooks/useSelectable/useSelectable.types.ts +0 -45
  414. package/src/hooks/useWindowResize/index.ts +0 -1
  415. package/src/hooks/useWindowResize/useWindowResize.ts +0 -27
  416. package/src/index.ts +0 -188
  417. package/src/stories/assets/code-brackets.svg +0 -1
  418. package/src/stories/assets/colors.svg +0 -1
  419. package/src/stories/assets/comments.svg +0 -1
  420. package/src/stories/assets/direction.svg +0 -1
  421. package/src/stories/assets/flow.svg +0 -1
  422. package/src/stories/assets/plugin.svg +0 -1
  423. package/src/stories/assets/repo.svg +0 -1
  424. package/src/stories/assets/stackalt.svg +0 -1
  425. package/src/stories/introduction.stories.mdx +0 -57
  426. package/src/stories/startPage.stories.mdx +0 -95
  427. package/src/styles/activatable.tsx +0 -30
  428. package/src/styles/disableable.tsx +0 -45
  429. package/src/styles/ellipsizable.tsx +0 -14
  430. package/src/styles/focusable.tsx +0 -32
  431. package/src/styles/font.test.ts +0 -31
  432. package/src/styles/font.tsx +0 -40
  433. package/src/styles/hidden.tsx +0 -29
  434. package/src/styles/hoverable.tsx +0 -30
  435. package/src/styles/transition.tsx +0 -25
  436. package/src/styles/typography.test.ts +0 -93
  437. package/src/styles/typography.ts +0 -190
  438. package/src/testing/DatePickerEvent/DatePickerEvent.ts +0 -117
  439. package/src/testing/DatePickerEvent/DateRangePickerEvent.ts +0 -83
  440. package/src/testing/DatePickerEvent/index.ts +0 -2
  441. package/src/testing/DragDropFileEvent/DragDropFileEvent.ts +0 -56
  442. package/src/testing/DragDropFileEvent/index.ts +0 -1
  443. package/src/testing/SelectEvent/SelectEvent.test.tsx +0 -192
  444. package/src/testing/SelectEvent/SelectEvent.ts +0 -264
  445. package/src/testing/SelectEvent/index.ts +0 -1
  446. package/src/testing/getInterpolatedStyles/getInterpolatedStyles.ts +0 -25
  447. package/src/testing/getInterpolatedStyles/index.ts +0 -1
  448. package/src/testing/index.ts +0 -6
  449. package/src/testing/renderWithDragDropFileProvider/index.ts +0 -1
  450. package/src/testing/renderWithDragDropFileProvider/renderWithDragDropFileProvider.tsx +0 -28
  451. package/src/tests/generator.ts +0 -127
  452. package/src/tests/renderer.tsx +0 -39
  453. package/src/theming/index.ts +0 -42
  454. package/src/theming/themes/alice.theme.ts +0 -1022
  455. package/src/theming/themes/index.ts +0 -3
  456. package/src/theming/themes/loadsmart.theme.ts +0 -1019
  457. package/src/theming/themes/miranda-compatibility.theme.ts +0 -972
  458. package/src/theming/theming.helpers.ts +0 -95
  459. package/src/tools/conditional.test.ts +0 -166
  460. package/src/tools/conditional.ts +0 -127
  461. package/src/tools/index.ts +0 -2
  462. package/src/tools/prop.test.ts +0 -52
  463. package/src/tools/prop.ts +0 -36
  464. package/src/utils/toolset/awaitTo.ts +0 -24
  465. package/src/utils/toolset/flatten.ts +0 -3
  466. package/src/utils/toolset/formatBytes.test.ts +0 -45
  467. package/src/utils/toolset/formatBytes.ts +0 -18
  468. package/src/utils/toolset/get.ts +0 -2
  469. package/src/utils/toolset/getID.test.ts +0 -57
  470. package/src/utils/toolset/getID.ts +0 -93
  471. package/src/utils/toolset/getOrdinalSuffix.test.ts +0 -27
  472. package/src/utils/toolset/getOrdinalSuffix.ts +0 -15
  473. package/src/utils/toolset/highlightMatch.test.tsx +0 -32
  474. package/src/utils/toolset/highlightMatch.tsx +0 -32
  475. package/src/utils/toolset/interleave.test.ts +0 -40
  476. package/src/utils/toolset/interleave.ts +0 -23
  477. package/src/utils/toolset/isEmpty.ts +0 -2
  478. package/src/utils/toolset/isThenable.test.ts +0 -40
  479. package/src/utils/toolset/isThenable.ts +0 -14
  480. package/src/utils/toolset/keyboard.ts +0 -50
  481. package/src/utils/toolset/omit.ts +0 -2
  482. package/src/utils/toolset/pluralize.ts +0 -16
  483. package/src/utils/toolset/range.ts +0 -2
  484. package/src/utils/toolset/rem.ts +0 -7
  485. package/src/utils/toolset/styledCompounds.ts +0 -22
  486. package/src/utils/toolset/toArray.ts +0 -16
  487. package/src/utils/types/ColorScheme.ts +0 -3
  488. package/src/utils/types/EventLike.ts +0 -11
  489. package/src/utils/types/InterpolatedStyle.ts +0 -3
  490. package/src/utils/types/Status.ts +0 -8
@@ -1,847 +0,0 @@
1
- import DateHelper, {
2
- InvalidDateConstraintError,
3
- getConstraintRange,
4
- MIN_SUPPORTED_DATE,
5
- MAX_SUPPORTED_DATE,
6
- getComparableDate,
7
- } from './Date.helper'
8
-
9
- import type { CalendarDate } from './Date.helper'
10
-
11
- describe('DateHelper', () => {
12
- it('normalizes date based on the provided options', () => {
13
- expect(DateHelper('2021-11-12T12:34:56.789Z').toString()).toBe(
14
- new Date('2021-11-12T12:00:00.000Z').toISOString()
15
- )
16
-
17
- expect(DateHelper('2021-11-12T12:34:56.789Z', { normalize: false }).toString()).toBe(
18
- new Date('2021-11-12T12:34:56.789Z').toISOString()
19
- )
20
- })
21
-
22
- it.each([
23
- ['2021-11-12', '2021-11-12T12:00:00.000Z'],
24
- ['2021/11/12', '2021-11-12T12:00:00.000Z'],
25
- ['2021-11-12T12:00:00.000Z', '2021-11-12T12:00:00.000Z'],
26
- [1636718400000, '2021-11-12T12:00:00.000Z'],
27
- ])('should create date-only correctly', (input: string | number, isoDate: string) => {
28
- expect(DateHelper(input).getTime()).toBe(new Date(isoDate).getTime())
29
- expect(DateHelper(input).toString()).toBe(isoDate)
30
- })
31
-
32
- it.each([
33
- ['2021-11-12T01:00:00.000Z', '2021-11-12T12:00:00.000Z'],
34
- ['2021-11-12T23:00:00.000Z', '2021-11-12T12:00:00.000Z'],
35
- ['2021-11-01T00:00:00.000Z', '2021-11-01T12:00:00.000Z'],
36
- ])('should create UTC date correctly', (input: string, isoDate: string) => {
37
- expect(DateHelper(input).getTime()).toBe(new Date(isoDate).getTime())
38
- expect(DateHelper(input).toString()).toBe(isoDate)
39
- })
40
-
41
- it.each([
42
- ['2021-11-30T20:00:00.000-03:00', '2021-11-30T12:00:00.000Z'],
43
- ['2021-11-30T21:00:00.000-03:00', '2021-12-01T12:00:00.000Z'],
44
- ['2021-11-30T01:00:00.000+03:00', '2021-11-29T12:00:00.000Z'],
45
- ])(
46
- 'should convert timezone date to UTC correctly (normalized dates)',
47
- (input: string, isoDate: string) => {
48
- expect(DateHelper(input).getTime()).toBe(new Date(isoDate).getTime())
49
- expect(DateHelper(input).toString()).toBe(isoDate)
50
- }
51
- )
52
-
53
- it.each([
54
- ['2021-11-30T20:00:00.000-03:00', '2021-11-30T23:00:00.000Z'],
55
- ['2021-11-30T21:00:00.000-03:00', '2021-12-01T00:00:00.000Z'],
56
- ['2021-11-30T01:00:00.000+03:00', '2021-11-29T22:00:00.000Z'],
57
- ])('should convert timezone date to UTC correctly', (input: string, isoDate: string) => {
58
- expect(DateHelper(input, { normalize: false }).getTime()).toBe(new Date(isoDate).getTime())
59
- expect(DateHelper(input, { normalize: false }).toString()).toBe(isoDate)
60
- })
61
-
62
- describe('getConstraintRange', () => {
63
- it('converts single number `value` (timestamp) to array [`value`, `value`]', () => {
64
- expect(getConstraintRange(1643371200000)).toEqual([1643371200000, 1643371200000])
65
- })
66
-
67
- it('converts single string `value` (ISO date) to array [`value`, `value`]', () => {
68
- expect(getConstraintRange('2022-01-28T12:00:00.000Z')).toEqual([1643371200000, 1643371200000])
69
- })
70
-
71
- it('converts single `Date` to array [`value`, `value`]', () => {
72
- expect(getConstraintRange(new Date('2022-01-28T12:00:00.000Z'))).toEqual([
73
- 1643371200000, 1643371200000,
74
- ])
75
- })
76
-
77
- it('converts a pair [`start`, null] to array [`start`, `MAX_SUPPORTED_DATE`]', () => {
78
- expect(getConstraintRange([1643371200000, null])).toEqual([
79
- 1643371200000,
80
- MAX_SUPPORTED_DATE.getTime(),
81
- ])
82
-
83
- expect(getConstraintRange(['2022-01-28T12:00:00.000Z', null])).toEqual([
84
- 1643371200000,
85
- MAX_SUPPORTED_DATE.getTime(),
86
- ])
87
-
88
- expect(getConstraintRange([new Date('2022-01-28T12:00:00.000Z'), null])).toEqual([
89
- 1643371200000,
90
- MAX_SUPPORTED_DATE.getTime(),
91
- ])
92
- })
93
-
94
- it('converts a pair [null, `end`] to array [0, `end`]', () => {
95
- expect(getConstraintRange([null, 1643371200000])).toEqual([
96
- MIN_SUPPORTED_DATE.getTime(),
97
- 1643371200000,
98
- ])
99
- expect(getConstraintRange([null, '2022-01-28T12:00:00.000Z'])).toEqual([
100
- MIN_SUPPORTED_DATE.getTime(),
101
- 1643371200000,
102
- ])
103
- expect(getConstraintRange([null, new Date('2022-01-28T12:00:00.000Z')])).toEqual([
104
- MIN_SUPPORTED_DATE.getTime(),
105
- 1643371200000,
106
- ])
107
- })
108
-
109
- it('converts a pair [`start`, `end`] to array [`start`, `end`]', () => {
110
- expect(getConstraintRange([1641038400000, 1643371200000])).toEqual([
111
- 1641038400000, 1643371200000,
112
- ])
113
-
114
- expect(getConstraintRange(['2022-01-01T12:00:00.000Z', '2022-01-28T12:00:00.000Z'])).toEqual([
115
- 1641038400000, 1643371200000,
116
- ])
117
-
118
- expect(
119
- getConstraintRange([
120
- new Date('2022-01-01T12:00:00.000Z'),
121
- new Date('2022-01-28T12:00:00.000Z'),
122
- ])
123
- ).toEqual([1641038400000, 1643371200000])
124
- })
125
- })
126
-
127
- describe('Constraint matching', () => {
128
- const date1 = new Date('2021-01-01T12:00:00.000Z')
129
- const date2 = new Date('2022-01-01T12:00:00.000Z')
130
- const date3 = new Date('2023-01-01T12:00:00.000Z')
131
-
132
- it('returns false for when no constraints is provided', () => {
133
- expect(DateHelper(date1).matches()).toBe(false)
134
- })
135
-
136
- it('checks for date equals to', () => {
137
- expect(DateHelper(date1).matches(date1.getTime())).toBe(true)
138
- expect(DateHelper(date1.toISOString()).matches(date1.getTime())).toBe(true)
139
- expect(DateHelper(date1.getTime()).matches(date1.getTime())).toBe(true)
140
- expect(
141
- DateHelper(date1.getTime()).matches(function isFriday(date: CalendarDate) {
142
- return date.getWeekday() == 5
143
- })
144
- ).toBe(true)
145
-
146
- expect(DateHelper(date1).matches(date2.getTime())).toBe(false)
147
- expect(DateHelper(date1).matches(date3.getTime())).toBe(false)
148
- expect(
149
- DateHelper(date1).matches(function isWeekend(date: CalendarDate) {
150
- return [0, 6].includes(date.getWeekday())
151
- })
152
- ).toBe(false)
153
-
154
- expect(DateHelper(date2).matches(date2.getTime())).toBe(true)
155
- expect(DateHelper(date2.toISOString()).matches(date2.getTime())).toBe(true)
156
- expect(DateHelper(date2.getTime()).matches(date2.getTime())).toBe(true)
157
-
158
- expect(DateHelper(date2).matches(date1.getTime())).toBe(false)
159
- expect(DateHelper(date2).matches(date3.getTime())).toBe(false)
160
-
161
- expect(DateHelper(date3).matches(date3.getTime())).toBe(true)
162
- expect(DateHelper(date3.toISOString()).matches(date3.getTime())).toBe(true)
163
- expect(DateHelper(date3.getTime()).matches(date3.getTime())).toBe(true)
164
-
165
- expect(DateHelper(date3).matches(date1.getTime())).toBe(false)
166
- expect(DateHelper(date3).matches(date2.getTime())).toBe(false)
167
- })
168
-
169
- it('throws an exception when an invalid interval constraint is provided', () => {
170
- expect(() => DateHelper(date1).matches([date2, date1])).toThrowError(
171
- new InvalidDateConstraintError([date2.getTime(), date1.getTime()])
172
- )
173
- expect(() => DateHelper(date1).matches([date3, date1])).toThrowError(
174
- new InvalidDateConstraintError([date3.getTime(), date1.getTime()])
175
- )
176
- expect(() => DateHelper(date1).matches([date3, date2])).toThrowError(
177
- new InvalidDateConstraintError([date3.getTime(), date2.getTime()])
178
- )
179
- expect(() => DateHelper(date2).matches([date2, date1])).toThrowError(
180
- new InvalidDateConstraintError([date2.getTime(), date1.getTime()])
181
- )
182
- expect(() => DateHelper(date2).matches([date3, date1])).toThrowError(
183
- new InvalidDateConstraintError([date3.getTime(), date1.getTime()])
184
- )
185
- expect(() => DateHelper(date2).matches([date3, date2])).toThrowError(
186
- new InvalidDateConstraintError([date3.getTime(), date2.getTime()])
187
- )
188
- expect(() => DateHelper(date3).matches([date2, date1])).toThrowError(
189
- new InvalidDateConstraintError([date2.getTime(), date1.getTime()])
190
- )
191
- expect(() => DateHelper(date3).matches([date3, date1])).toThrowError(
192
- new InvalidDateConstraintError([date3.getTime(), date1.getTime()])
193
- )
194
- expect(() => DateHelper(date3).matches([date3, date2])).toThrowError(
195
- new InvalidDateConstraintError([date3.getTime(), date2.getTime()])
196
- )
197
- })
198
-
199
- it('checks for date within a single [start, end] interval constraint', () => {
200
- expect(DateHelper(date1).matches([date1, date1])).toBe(true)
201
- expect(DateHelper(date1).matches([date1, date2])).toBe(true)
202
- expect(DateHelper(date1).matches([date1, date3])).toBe(true)
203
- expect(DateHelper(date1).matches([date2, date2])).toBe(false)
204
- expect(DateHelper(date1).matches([date2, date3])).toBe(false)
205
- expect(DateHelper(date1).matches([date3, date3])).toBe(false)
206
- expect(DateHelper(date2).matches([date1, date1])).toBe(false)
207
- expect(DateHelper(date2).matches([date1, date2])).toBe(true)
208
- expect(DateHelper(date2).matches([date1, date3])).toBe(true)
209
- expect(DateHelper(date2).matches([date2, date2])).toBe(true)
210
- expect(DateHelper(date2).matches([date2, date3])).toBe(true)
211
- expect(DateHelper(date2).matches([date3, date3])).toBe(false)
212
- expect(DateHelper(date3).matches([date1, date1])).toBe(false)
213
- expect(DateHelper(date3).matches([date1, date2])).toBe(false)
214
- expect(DateHelper(date3).matches([date1, date3])).toBe(true)
215
- expect(DateHelper(date3).matches([date2, date2])).toBe(false)
216
- expect(DateHelper(date3).matches([date2, date3])).toBe(true)
217
- expect(DateHelper(date3).matches([date3, date3])).toBe(true)
218
- })
219
-
220
- it('checks for date within a single [start, ∞] interval constraint', () => {
221
- expect(DateHelper(date1).matches([date1, null])).toBe(true)
222
- expect(DateHelper(date1).matches([date2, null])).toBe(false)
223
- expect(DateHelper(date1).matches([date3, null])).toBe(false)
224
- expect(DateHelper(date2).matches([date1, null])).toBe(true)
225
- expect(DateHelper(date2).matches([date2, null])).toBe(true)
226
- expect(DateHelper(date2).matches([date3, null])).toBe(false)
227
- expect(DateHelper(date3).matches([date1, null])).toBe(true)
228
- expect(DateHelper(date3).matches([date2, null])).toBe(true)
229
- expect(DateHelper(date3).matches([date3, null])).toBe(true)
230
- })
231
-
232
- it('checks for date within a single [∞, end] interval constraint', () => {
233
- expect(DateHelper(date1).matches([null, date1])).toBe(true)
234
- expect(DateHelper(date1).matches([null, date2])).toBe(true)
235
- expect(DateHelper(date1).matches([null, date3])).toBe(true)
236
- expect(DateHelper(date2).matches([null, date1])).toBe(false)
237
- expect(DateHelper(date2).matches([null, date2])).toBe(true)
238
- expect(DateHelper(date2).matches([null, date3])).toBe(true)
239
- expect(DateHelper(date3).matches([null, date1])).toBe(false)
240
- expect(DateHelper(date3).matches([null, date2])).toBe(false)
241
- expect(DateHelper(date3).matches([null, date3])).toBe(true)
242
- })
243
-
244
- it('checks for date within multiple interval constraints', () => {
245
- expect(DateHelper(date1).matches([date1, date2], [date2, date3])).toBe(true)
246
- expect(DateHelper(date1).matches([date1, date3], [date2, date3])).toBe(true)
247
- expect(DateHelper(date1).matches([date2, date2], [date2, date3])).toBe(false)
248
- })
249
- })
250
-
251
- describe('add', () => {
252
- it('add to year successfully', () => {
253
- const date = DateHelper('2001-12-25T12:00:00.000Z').add('year', 1)
254
-
255
- expect(date.getYear()).toBe(2002)
256
- expect(date.getMonth()).toBe(11)
257
- expect(date.getDate()).toBe(25)
258
- expect(date.toString()).toBe('2002-12-25T12:00:00.000Z')
259
- })
260
-
261
- it('add to month successfully', () => {
262
- const date = DateHelper('2001-12-25T12:00:00.000Z').add('month', 1)
263
-
264
- expect(date.getYear()).toBe(2002)
265
- expect(date.getMonth()).toBe(0)
266
- expect(date.getDate()).toBe(25)
267
- expect(date.toString()).toBe('2002-01-25T12:00:00.000Z')
268
- })
269
-
270
- it('add to day successfully', () => {
271
- const date = DateHelper('2001-12-25T12:00:00.000Z').add('day', 1)
272
-
273
- expect(date.getYear()).toBe(2001)
274
- expect(date.getMonth()).toBe(11)
275
- expect(date.getDate()).toBe(26)
276
- expect(date.toString()).toBe('2001-12-26T12:00:00.000Z')
277
- })
278
-
279
- it('add to hour successfully', () => {
280
- const date = DateHelper('2001-12-25T18:50:10.000Z', { normalize: false }).add('hour', 1)
281
-
282
- expect(date.getYear()).toBe(2001)
283
- expect(date.getMonth()).toBe(11)
284
- expect(date.getDate()).toBe(25)
285
- expect(date.getHours()).toBe(19)
286
- expect(date.toString()).toBe('2001-12-25T19:50:10.000Z')
287
- })
288
-
289
- it('add to minute successfully', () => {
290
- const date = DateHelper('2001-12-25T23:59:00.000Z', { normalize: false }).add('minute', 1)
291
-
292
- expect(date.getYear()).toBe(2001)
293
- expect(date.getMonth()).toBe(11)
294
- expect(date.getDate()).toBe(26)
295
- expect(date.getHours()).toBe(0)
296
- expect(date.getMinutes()).toBe(0)
297
- expect(date.toString()).toBe('2001-12-26T00:00:00.000Z')
298
- })
299
-
300
- it('add to second successfully', () => {
301
- const date = DateHelper('2001-12-25T23:59:00.000Z', { normalize: false }).add('second', 66)
302
-
303
- expect(date.getYear()).toBe(2001)
304
- expect(date.getMonth()).toBe(11)
305
- expect(date.getDate()).toBe(26)
306
- expect(date.getHours()).toBe(0)
307
- expect(date.getMinutes()).toBe(0)
308
- expect(date.getSeconds()).toBe(6)
309
- expect(date.toString()).toBe('2001-12-26T00:00:06.000Z')
310
- })
311
-
312
- it('add to millisecond successfully', () => {
313
- const date = DateHelper('2001-12-25T12:00:00.000Z').add('millisecond', 6500)
314
-
315
- expect(date.getYear()).toBe(2001)
316
- expect(date.getMonth()).toBe(11)
317
- expect(date.getDate()).toBe(25)
318
- expect(date.getHours()).toBe(12)
319
- expect(date.getMinutes()).toBe(0)
320
- expect(date.getSeconds()).toBe(6)
321
- expect(date.getMilliseconds()).toBe(500)
322
- expect(date.toString()).toBe('2001-12-25T12:00:06.500Z')
323
- })
324
- })
325
-
326
- describe('subtract', () => {
327
- it('subtract from year successfully', () => {
328
- const date = DateHelper('2001-12-25T12:00:00.000Z').subtract('year', 1)
329
-
330
- expect(date.getYear()).toBe(2000)
331
- expect(date.getMonth()).toBe(11)
332
- expect(date.getDate()).toBe(25)
333
- })
334
-
335
- it('subtract from month successfully', () => {
336
- const date = DateHelper('2001-12-25T12:00:00.000Z').subtract('month', 1)
337
-
338
- expect(date.getYear()).toBe(2001)
339
- expect(date.getMonth()).toBe(10)
340
- expect(date.getDate()).toBe(25)
341
- })
342
-
343
- it('subtract from day successfully', () => {
344
- const date = DateHelper('2001-12-25T12:00:00.000Z').subtract('day', 1)
345
-
346
- expect(date.getYear()).toBe(2001)
347
- expect(date.getMonth()).toBe(11)
348
- expect(date.getDate()).toBe(24)
349
- })
350
-
351
- it('subtract from hour successfully', () => {
352
- const date = DateHelper('2001-12-25T12:00:00.000Z').subtract('hour', 1)
353
-
354
- expect(date.getYear()).toBe(2001)
355
- expect(date.getMonth()).toBe(11)
356
- expect(date.getDate()).toBe(25)
357
- expect(date.getHours()).toBe(11)
358
- expect(date.getMinutes()).toBe(0)
359
- expect(date.getSeconds()).toBe(0)
360
- })
361
-
362
- it('subtract from minute successfully', () => {
363
- const date = DateHelper('2001-12-25T12:00:00.000Z').subtract('minute', 1)
364
-
365
- expect(date.getYear()).toBe(2001)
366
- expect(date.getMonth()).toBe(11)
367
- expect(date.getDate()).toBe(25)
368
- expect(date.getHours()).toBe(11)
369
- expect(date.getMinutes()).toBe(59)
370
- expect(date.getSeconds()).toBe(0)
371
- })
372
-
373
- it('subtract from second successfully', () => {
374
- const date = DateHelper('2001-12-25T12:00:00.000Z').subtract('second', 1)
375
-
376
- expect(date.getYear()).toBe(2001)
377
- expect(date.getMonth()).toBe(11)
378
- expect(date.getDate()).toBe(25)
379
- expect(date.getHours()).toBe(11)
380
- expect(date.getMinutes()).toBe(59)
381
- expect(date.getSeconds()).toBe(59)
382
- expect(date.getMilliseconds()).toBe(0)
383
- })
384
-
385
- it('subtract from millisecond successfully', () => {
386
- const date = DateHelper('2001-12-25T12:00:00.000Z').subtract('millisecond', 1)
387
-
388
- expect(date.getYear()).toBe(2001)
389
- expect(date.getMonth()).toBe(11)
390
- expect(date.getDate()).toBe(25)
391
- expect(date.getHours()).toBe(11)
392
- expect(date.getMinutes()).toBe(59)
393
- expect(date.getSeconds()).toBe(59)
394
- expect(date.getMilliseconds()).toBe(999)
395
- })
396
- })
397
-
398
- describe('set', () => {
399
- it('set year successfully', () => {
400
- const date = DateHelper('2001-12-25T12:00:00.000Z').set('year', 1999)
401
-
402
- expect(date.getYear()).toBe(1999)
403
- expect(date.getMonth()).toBe(11)
404
- expect(date.getDate()).toBe(25)
405
- })
406
-
407
- it('set month successfully', () => {
408
- const date = DateHelper('2001-12-25T12:00:00.000Z').set('month', 10)
409
-
410
- expect(date.getYear()).toBe(2001)
411
- expect(date.getMonth()).toBe(10)
412
- expect(date.getDate()).toBe(25)
413
- })
414
-
415
- it('set day successfully', () => {
416
- const date = DateHelper('2001-12-25T12:00:00.000Z').set('day', 5)
417
-
418
- expect(date.getYear()).toBe(2001)
419
- expect(date.getMonth()).toBe(11)
420
- expect(date.getDate()).toBe(5)
421
- })
422
-
423
- it('set hour successfully', () => {
424
- const date = DateHelper('2001-12-25T12:00:00.000Z').set('hour', 1)
425
-
426
- expect(date.getYear()).toBe(2001)
427
- expect(date.getMonth()).toBe(11)
428
- expect(date.getDate()).toBe(25)
429
- expect(date.getHours()).toBe(1)
430
- expect(date.getMinutes()).toBe(0)
431
- expect(date.getSeconds()).toBe(0)
432
- expect(date.toString()).toBe('2001-12-25T01:00:00.000Z')
433
- })
434
-
435
- it('set from minute successfully', () => {
436
- const date = DateHelper('2001-12-25T12:00:00.000Z').set('minute', 1)
437
-
438
- expect(date.getYear()).toBe(2001)
439
- expect(date.getMonth()).toBe(11)
440
- expect(date.getDate()).toBe(25)
441
- expect(date.getHours()).toBe(12)
442
- expect(date.getMinutes()).toBe(1)
443
- expect(date.getSeconds()).toBe(0)
444
- expect(date.toString()).toBe('2001-12-25T12:01:00.000Z')
445
- })
446
-
447
- it('set from second successfully', () => {
448
- const date = DateHelper('2001-12-25T12:00:00.000Z').set('second', 1)
449
-
450
- expect(date.getYear()).toBe(2001)
451
- expect(date.getMonth()).toBe(11)
452
- expect(date.getDate()).toBe(25)
453
- expect(date.getHours()).toBe(12)
454
- expect(date.getMinutes()).toBe(0)
455
- expect(date.getSeconds()).toBe(1)
456
- expect(date.toString()).toBe('2001-12-25T12:00:01.000Z')
457
- })
458
-
459
- it('set millisecond successfully', () => {
460
- const date = DateHelper('2001-12-25T12:00:00.000Z').set('millisecond', 1)
461
-
462
- expect(date.getYear()).toBe(2001)
463
- expect(date.getMonth()).toBe(11)
464
- expect(date.getDate()).toBe(25)
465
- expect(date.getHours()).toBe(12)
466
- expect(date.getMinutes()).toBe(0)
467
- expect(date.getSeconds()).toBe(0)
468
- expect(date.getMilliseconds()).toBe(1)
469
- expect(date.toString()).toBe('2001-12-25T12:00:00.001Z')
470
- })
471
- })
472
-
473
- describe('comparison', () => {
474
- it.each([
475
- ['2000-12-24T12:00:00.000Z', '2000-12-24T12:00:00.001Z', 'millisecond', true],
476
- ['2000-12-24T12:00:00.000Z', '2000-12-24T12:00:00.000Z', 'millisecond', true],
477
- ['2000-12-24T12:00:00.001Z', '2000-12-24T12:00:00.000Z', 'millisecond', true],
478
-
479
- ['2000-12-24T12:00:00', '2000-12-24T12:00:01', 'second', true],
480
- ['2000-12-24T12:00:00', '2000-12-24T12:00:00', 'second', true],
481
- ['2000-12-24T12:00:01', '2000-12-24T12:00:00', 'second', true],
482
-
483
- ['2000-12-24T12:00:00', '2000-12-24T12:01:00', 'minute', true],
484
- ['2000-12-24T12:00:00', '2000-12-24T12:00:00', 'minute', true],
485
- ['2000-12-24T12:01:00', '2000-12-24T12:00:00', 'minute', true],
486
-
487
- ['2000-12-24T12:00:00', '2000-12-24T13:00:00', 'hour', true],
488
- ['2000-12-24T12:00:00', '2000-12-24T12:00:00', 'hour', true],
489
- ['2000-12-24T12:00:00', '2000-12-24T11:00:00', 'hour', true],
490
-
491
- ['2000-12-24T12:00:00', '2000-12-26T12:00:00', 'day', true],
492
- ['2000-12-25T12:00:00', '2000-12-25T12:00:00', 'day', true],
493
- ['2000-12-26T12:00:00', '2000-12-24T12:00:00', 'day', false],
494
-
495
- ['2000-11-25T12:00:00', '2001-01-25T12:00:00', 'month', true],
496
- ['2000-12-25T12:00:00', '2000-12-25T12:00:00', 'month', true],
497
- ['2001-01-25T12:00:00', '2000-11-25T12:00:00', 'month', false],
498
-
499
- ['1999-12-25T12:00:00', '2001-12-25T12:00:00', 'year', true],
500
- ['2000-12-25T12:00:00', '2000-12-25T12:00:00', 'year', true],
501
- ['2001-12-25T12:00:00', '1999-12-25T12:00:00', 'year', false],
502
- ])('compares for less than or equal (normalized dates)', (a, b, precision, expected) => {
503
- expect(DateHelper(a).is('<=', DateHelper(b), precision)).toBe(expected)
504
- })
505
-
506
- it.each([
507
- ['2000-12-24T12:00:00.000Z', '2000-12-24T12:00:00.001Z', 'millisecond', true],
508
- ['2000-12-24T12:00:00.000Z', '2000-12-24T12:00:00.000Z', 'millisecond', true],
509
- ['2000-12-24T12:00:00.001Z', '2000-12-24T12:00:00.000Z', 'millisecond', false],
510
-
511
- ['2000-12-24T12:00:00', '2000-12-24T12:00:01', 'second', true],
512
- ['2000-12-24T12:00:00', '2000-12-24T12:00:00', 'second', true],
513
- ['2000-12-24T12:00:01', '2000-12-24T12:00:00', 'second', false],
514
-
515
- ['2000-12-24T12:00:00', '2000-12-24T12:01:00', 'minute', true],
516
- ['2000-12-24T12:00:00', '2000-12-24T12:00:00', 'minute', true],
517
- ['2000-12-24T12:01:00', '2000-12-24T12:00:00', 'minute', false],
518
-
519
- ['2000-12-24T12:00:00', '2000-12-24T13:00:00', 'hour', true],
520
- ['2000-12-24T12:00:00', '2000-12-24T12:00:00', 'hour', true],
521
- ['2000-12-24T12:00:00', '2000-12-24T11:00:00', 'hour', false],
522
-
523
- ['2000-12-24T12:00:00', '2000-12-26T12:00:00', 'day', true],
524
- ['2000-12-25T12:00:00', '2000-12-25T12:00:00', 'day', true],
525
- ['2000-12-26T12:00:00', '2000-12-24T12:00:00', 'day', false],
526
-
527
- ['2000-11-25T12:00:00', '2001-01-25T12:00:00', 'month', true],
528
- ['2000-12-25T12:00:00', '2000-12-25T12:00:00', 'month', true],
529
- ['2001-01-25T12:00:00', '2000-11-25T12:00:00', 'month', false],
530
-
531
- ['1999-12-25T12:00:00', '2001-12-25T12:00:00', 'year', true],
532
- ['2000-12-25T12:00:00', '2000-12-25T12:00:00', 'year', true],
533
- ['2001-12-25T12:00:00', '1999-12-25T12:00:00', 'year', false],
534
- ])('compares for less than or equal', (a, b, precision, expected) => {
535
- expect(
536
- DateHelper(a, { normalize: false }).is('<=', DateHelper(b, { normalize: false }), precision)
537
- ).toBe(expected)
538
- })
539
-
540
- it.each([
541
- ['2000-12-24T12:00:00.000Z', '2000-12-24T12:00:00.001Z', 'millisecond', false],
542
- ['2000-12-24T12:00:00.000Z', '2000-12-24T12:00:00.000Z', 'millisecond', false],
543
- ['2000-12-24T12:00:00.001Z', '2000-12-24T12:00:00.000Z', 'millisecond', false],
544
-
545
- ['2000-12-24T12:00:00', '2000-12-24T12:00:01', 'second', false],
546
- ['2000-12-24T12:00:00', '2000-12-24T12:00:00', 'second', false],
547
- ['2000-12-24T12:00:01', '2000-12-24T12:00:00', 'second', false],
548
-
549
- ['2000-12-24T12:00:00', '2000-12-24T12:01:00', 'minute', false],
550
- ['2000-12-24T12:00:00', '2000-12-24T12:00:00', 'minute', false],
551
- ['2000-12-24T12:01:00', '2000-12-24T12:00:00', 'minute', false],
552
-
553
- ['2000-12-24T12:00:00', '2000-12-24T13:00:00', 'hour', false],
554
- ['2000-12-24T12:00:00', '2000-12-24T12:00:00', 'hour', false],
555
- ['2000-12-24T12:00:00', '2000-12-24T11:00:00', 'hour', false],
556
-
557
- ['2000-12-24T12:00:00', '2000-12-26T12:00:00', 'day', true],
558
- ['2000-12-25T12:00:00', '2000-12-25T12:00:00', 'day', false],
559
- ['2000-12-26T12:00:00', '2000-12-24T12:00:00', 'day', false],
560
-
561
- ['2000-11-25T12:00:00', '2001-01-25T12:00:00', 'month', true],
562
- ['2000-12-25T12:00:00', '2000-12-25T12:00:00', 'month', false],
563
- ['2001-01-25T12:00:00', '2000-11-25T12:00:00', 'month', false],
564
-
565
- ['1999-12-25T12:00:00', '2001-12-25T12:00:00', 'year', true],
566
- ['2000-12-25T12:00:00', '2000-12-25T12:00:00', 'year', false],
567
- ['2001-12-25T12:00:00', '1999-12-25T12:00:00', 'year', false],
568
- ])('compares for less than (normalized dates)', (a, b, precision, expected) => {
569
- expect(DateHelper(a).is('<', DateHelper(b), precision)).toBe(expected)
570
- })
571
-
572
- it.each([
573
- ['2000-12-24T12:00:00.000Z', '2000-12-24T12:00:00.001Z', 'millisecond', true],
574
- ['2000-12-24T12:00:00.000Z', '2000-12-24T12:00:00.000Z', 'millisecond', false],
575
- ['2000-12-24T12:00:00.001Z', '2000-12-24T12:00:00.000Z', 'millisecond', false],
576
-
577
- ['2000-12-24T12:00:00', '2000-12-24T12:00:01', 'second', true],
578
- ['2000-12-24T12:00:00', '2000-12-24T12:00:00', 'second', false],
579
- ['2000-12-24T12:00:01', '2000-12-24T12:00:00', 'second', false],
580
-
581
- ['2000-12-24T12:00:00', '2000-12-24T12:01:00', 'minute', true],
582
- ['2000-12-24T12:00:00', '2000-12-24T12:00:00', 'minute', false],
583
- ['2000-12-24T12:01:00', '2000-12-24T12:00:00', 'minute', false],
584
-
585
- ['2000-12-24T12:00:00', '2000-12-24T13:00:00', 'hour', true],
586
- ['2000-12-24T12:00:00', '2000-12-24T12:00:00', 'hour', false],
587
- ['2000-12-24T12:00:00', '2000-12-24T11:00:00', 'hour', false],
588
-
589
- ['2000-12-24T12:00:00', '2000-12-26T12:00:00', 'day', true],
590
- ['2000-12-25T12:00:00', '2000-12-25T12:00:00', 'day', false],
591
- ['2000-12-26T12:00:00', '2000-12-24T12:00:00', 'day', false],
592
-
593
- ['2000-11-25T12:00:00', '2001-01-25T12:00:00', 'month', true],
594
- ['2000-12-25T12:00:00', '2000-12-25T12:00:00', 'month', false],
595
- ['2001-01-25T12:00:00', '2000-11-25T12:00:00', 'month', false],
596
-
597
- ['1999-12-25T12:00:00', '2001-12-25T12:00:00', 'year', true],
598
- ['2000-12-25T12:00:00', '2000-12-25T12:00:00', 'year', false],
599
- ['2001-12-25T12:00:00', '1999-12-25T12:00:00', 'year', false],
600
- ])('compares for less than', (a, b, precision, expected) => {
601
- expect(
602
- DateHelper(a, { normalize: false }).is('<', DateHelper(b, { normalize: false }), precision)
603
- ).toBe(expected)
604
- })
605
-
606
- it.each([
607
- ['2000-12-24T12:00:00.000Z', '2000-12-24T12:00:00.001Z', 'millisecond', true],
608
- ['2000-12-24T12:00:00.000Z', '2000-12-24T12:00:00.000Z', 'millisecond', true],
609
- ['2000-12-24T12:00:00.001Z', '2000-12-24T12:00:00.000Z', 'millisecond', true],
610
-
611
- ['2000-12-24T12:00:00', '2000-12-24T12:00:01', 'second', true],
612
- ['2000-12-24T12:00:00', '2000-12-24T12:00:00', 'second', true],
613
- ['2000-12-24T12:00:01', '2000-12-24T12:00:00', 'second', true],
614
-
615
- ['2000-12-24T12:00:00', '2000-12-24T12:01:00', 'minute', true],
616
- ['2000-12-24T12:00:00', '2000-12-24T12:00:00', 'minute', true],
617
- ['2000-12-24T12:01:00', '2000-12-24T12:00:00', 'minute', true],
618
-
619
- ['2000-12-24T12:00:00', '2000-12-24T13:00:00', 'hour', true],
620
- ['2000-12-24T12:00:00', '2000-12-24T12:00:00', 'hour', true],
621
- ['2000-12-24T12:00:00', '2000-12-24T11:00:00', 'hour', true],
622
-
623
- ['2000-12-25T22:17:12.000Z', '2000-12-25T15:16:00.000Z', 'day', true],
624
- ['2000-12-24T12:00:00', '2000-12-26T12:00:00', 'day', false],
625
- ['2000-12-25T12:00:00', '2000-12-25T15:00:00', 'day', true],
626
- ['2000-12-26T12:00:00', '2000-12-24T12:00:00', 'day', false],
627
-
628
- ['2000-11-25T12:00:00', '2001-01-25T12:00:00', 'month', false],
629
- ['2000-12-25T12:00:00', '2000-12-24T12:00:00', 'month', true],
630
- ['2001-01-25T12:00:00', '2001-02-25T12:00:00', 'month', false],
631
-
632
- ['1999-12-25T12:00:00', '2001-12-25T12:00:00', 'year', false],
633
- ['2000-12-25T12:00:00', '2000-11-25T12:00:00', 'year', true],
634
- ['2001-12-25T12:00:00', '1999-12-25T12:00:00', 'year', false],
635
- ])('compares for equal (normalized dates)', (a, b, precision, expected) => {
636
- expect(DateHelper(a).is('=', DateHelper(b), precision)).toBe(expected)
637
- })
638
-
639
- it.each([
640
- ['2000-12-24T12:00:00.000Z', '2000-12-24T12:00:00.001Z', 'millisecond', false],
641
- ['2000-12-24T12:00:00.000Z', '2000-12-24T12:00:00.000Z', 'millisecond', true],
642
- ['2000-12-24T12:00:00.001Z', '2000-12-24T12:00:00.000Z', 'millisecond', false],
643
-
644
- ['2000-12-24T12:00:00', '2000-12-24T12:00:01', 'second', false],
645
- ['2000-12-24T12:00:00', '2000-12-24T12:00:00', 'second', true],
646
- ['2000-12-24T12:00:01', '2000-12-24T12:00:00', 'second', false],
647
-
648
- ['2000-12-24T12:00:00', '2000-12-24T12:01:00', 'minute', false],
649
- ['2000-12-24T12:00:00', '2000-12-24T12:00:00', 'minute', true],
650
- ['2000-12-24T12:01:00', '2000-12-24T12:00:00', 'minute', false],
651
-
652
- ['2000-12-24T12:00:00', '2000-12-24T13:00:00', 'hour', false],
653
- ['2000-12-24T12:00:00', '2000-12-24T12:00:00', 'hour', true],
654
- ['2000-12-24T12:00:00', '2000-12-24T11:00:00', 'hour', false],
655
-
656
- ['2000-12-25T22:17:12.000Z', '2000-12-25T15:16:00.000Z', 'day', true],
657
- ['2000-12-24T12:00:00', '2000-12-26T12:00:00', 'day', false],
658
- ['2000-12-25T12:00:00', '2000-12-25T15:00:00', 'day', true],
659
- ['2000-12-26T12:00:00', '2000-12-24T12:00:00', 'day', false],
660
-
661
- ['2000-11-25T12:00:00', '2001-01-25T12:00:00', 'month', false],
662
- ['2000-12-25T12:00:00', '2000-12-24T12:00:00', 'month', true],
663
- ['2001-01-25T12:00:00', '2001-02-25T12:00:00', 'month', false],
664
-
665
- ['1999-12-25T12:00:00', '2001-12-25T12:00:00', 'year', false],
666
- ['2000-12-25T12:00:00', '2000-11-25T12:00:00', 'year', true],
667
- ['2001-12-25T12:00:00', '1999-12-25T12:00:00', 'year', false],
668
- ])('compares for equal', (a, b, precision, expected) => {
669
- expect(
670
- DateHelper(a, { normalize: false }).is('=', DateHelper(b, { normalize: false }), precision)
671
- ).toBe(expected)
672
- })
673
-
674
- it.each([
675
- ['2000-12-24T12:00:00.000Z', '2000-12-24T12:00:00.001Z', 'millisecond', false],
676
- ['2000-12-24T12:00:00.000Z', '2000-12-24T12:00:00.000Z', 'millisecond', false],
677
- ['2000-12-24T12:00:00.001Z', '2000-12-24T12:00:00.000Z', 'millisecond', false],
678
-
679
- ['2000-12-24T12:00:00', '2000-12-24T12:00:01', 'second', false],
680
- ['2000-12-24T12:00:00', '2000-12-24T12:00:00', 'second', false],
681
- ['2000-12-24T12:00:01', '2000-12-24T12:00:00', 'second', false],
682
-
683
- ['2000-12-24T12:00:00', '2000-12-24T12:01:00', 'minute', false],
684
- ['2000-12-24T12:00:00', '2000-12-24T12:00:00', 'minute', false],
685
- ['2000-12-24T12:01:00', '2000-12-24T12:00:00', 'minute', false],
686
-
687
- ['2000-12-24T12:00:00', '2000-12-24T13:00:00', 'hour', false],
688
- ['2000-12-24T12:00:00', '2000-12-24T12:00:00', 'hour', false],
689
- ['2000-12-24T12:00:00', '2000-12-24T11:00:00', 'hour', false],
690
-
691
- ['2000-12-24T12:00:00', '2000-12-26T12:00:00', 'day', false],
692
- ['2000-12-25T12:00:00', '2000-12-25T12:00:00', 'day', false],
693
- ['2000-12-26T12:00:00', '2000-12-24T12:00:00', 'day', true],
694
-
695
- ['2000-11-25T12:00:00', '2001-01-25T12:00:00', 'month', false],
696
- ['2000-12-25T12:00:00', '2000-12-25T12:00:00', 'month', false],
697
- ['2001-01-25T12:00:00', '2000-11-25T12:00:00', 'month', true],
698
-
699
- ['1999-12-25T12:00:00', '2001-12-25T12:00:00', 'year', false],
700
- ['2000-12-25T12:00:00', '2000-12-24T12:00:00', 'year', false],
701
- ['2001-12-25T12:00:00', '1999-12-25T12:00:00', 'year', true],
702
- ])('compares for greater than (normalized dates)', (a, b, precision, expected) => {
703
- expect(DateHelper(a).is('>', DateHelper(b), precision)).toBe(expected)
704
- })
705
-
706
- it.each([
707
- ['2000-12-24T12:00:00.000Z', '2000-12-24T12:00:00.001Z', 'millisecond', false],
708
- ['2000-12-24T12:00:00.000Z', '2000-12-24T12:00:00.000Z', 'millisecond', false],
709
- ['2000-12-24T12:00:00.001Z', '2000-12-24T12:00:00.000Z', 'millisecond', true],
710
-
711
- ['2000-12-24T12:00:00', '2000-12-24T12:00:01', 'second', false],
712
- ['2000-12-24T12:00:00', '2000-12-24T12:00:00', 'second', false],
713
- ['2000-12-24T12:00:01', '2000-12-24T12:00:00', 'second', true],
714
-
715
- ['2000-12-24T12:00:00', '2000-12-24T12:01:00', 'minute', false],
716
- ['2000-12-24T12:00:00', '2000-12-24T12:00:00', 'minute', false],
717
- ['2000-12-24T12:01:00', '2000-12-24T12:00:00', 'minute', true],
718
-
719
- ['2000-12-24T12:00:00', '2000-12-24T13:00:00', 'hour', false],
720
- ['2000-12-24T12:00:00', '2000-12-24T12:00:00', 'hour', false],
721
- ['2000-12-24T12:00:00', '2000-12-24T11:00:00', 'hour', true],
722
-
723
- ['2000-12-24T12:00:00', '2000-12-26T12:00:00', 'day', false],
724
- ['2000-12-25T12:00:00', '2000-12-25T12:00:00', 'day', false],
725
- ['2000-12-26T12:00:00', '2000-12-24T12:00:00', 'day', true],
726
-
727
- ['2000-11-25T12:00:00', '2001-01-25T12:00:00', 'month', false],
728
- ['2000-12-25T12:00:00', '2000-12-25T12:00:00', 'month', false],
729
- ['2001-01-25T12:00:00', '2000-11-25T12:00:00', 'month', true],
730
-
731
- ['1999-12-25T12:00:00', '2001-12-25T12:00:00', 'year', false],
732
- ['2000-12-25T12:00:00', '2000-12-25T12:00:00', 'year', false],
733
- ['2001-12-25T12:00:00', '1999-12-25T12:00:00', 'year', true],
734
- ])('compares for greater than', (a, b, precision, expected) => {
735
- expect(
736
- DateHelper(a, { normalize: false }).is('>', DateHelper(b, { normalize: false }), precision)
737
- ).toBe(expected)
738
- })
739
-
740
- it.each([
741
- ['2000-12-24T12:00:00.000Z', '2000-12-24T12:00:00.001Z', 'millisecond', true],
742
- ['2000-12-24T12:00:00.000Z', '2000-12-24T12:00:00.000Z', 'millisecond', true],
743
- ['2000-12-24T12:00:00.001Z', '2000-12-24T12:00:00.000Z', 'millisecond', true],
744
-
745
- ['2000-12-24T12:00:00', '2000-12-24T12:00:01', 'second', true],
746
- ['2000-12-24T12:00:00', '2000-12-24T12:00:00', 'second', true],
747
- ['2000-12-24T12:00:01', '2000-12-24T12:00:00', 'second', true],
748
-
749
- ['2000-12-24T12:00:00', '2000-12-24T12:01:00', 'minute', true],
750
- ['2000-12-24T12:00:00', '2000-12-24T12:00:00', 'minute', true],
751
- ['2000-12-24T12:01:00', '2000-12-24T12:00:00', 'minute', true],
752
-
753
- ['2000-12-24T12:00:00', '2000-12-24T13:00:00', 'hour', true],
754
- ['2000-12-24T12:00:00', '2000-12-24T12:00:00', 'hour', true],
755
- ['2000-12-24T12:00:00', '2000-12-24T11:00:00', 'hour', true],
756
-
757
- ['2000-12-24T12:00:00', '2000-12-26T12:00:00', 'day', false],
758
- ['2000-12-25T12:00:00', '2000-12-25T12:00:00', 'day', true],
759
- ['2000-12-26T12:00:00', '2000-12-24T12:00:00', 'day', true],
760
-
761
- ['2000-11-25T12:00:00', '2001-01-25T12:00:00', 'month', false],
762
- ['2000-12-25T12:00:00', '2000-12-25T12:00:00', 'month', true],
763
- ['2001-01-25T12:00:00', '2000-11-25T12:00:00', 'month', true],
764
-
765
- ['1999-12-25T12:00:00', '2001-12-25T12:00:00', 'year', false],
766
- ['2000-12-25T12:00:00', '2000-12-25T12:00:00', 'year', true],
767
- ['2001-12-25T12:00:00', '1999-12-25T12:00:00', 'year', true],
768
- ])('compares for greater than or equal (normalized dates)', (a, b, precision, expected) => {
769
- expect(DateHelper(a).is('>=', DateHelper(b), precision)).toBe(expected)
770
- })
771
-
772
- it.each([
773
- ['2000-12-24T12:00:00.000Z', '2000-12-24T12:00:00.001Z', 'millisecond', false],
774
- ['2000-12-24T12:00:00.000Z', '2000-12-24T12:00:00.000Z', 'millisecond', true],
775
- ['2000-12-24T12:00:00.001Z', '2000-12-24T12:00:00.000Z', 'millisecond', true],
776
-
777
- ['2000-12-24T12:00:00', '2000-12-24T12:00:01', 'second', false],
778
- ['2000-12-24T12:00:00', '2000-12-24T12:00:00', 'second', true],
779
- ['2000-12-24T12:00:01', '2000-12-24T12:00:00', 'second', true],
780
-
781
- ['2000-12-24T12:00:00', '2000-12-24T12:01:00', 'minute', false],
782
- ['2000-12-24T12:00:00', '2000-12-24T12:00:00', 'minute', true],
783
- ['2000-12-24T12:01:00', '2000-12-24T12:00:00', 'minute', true],
784
-
785
- ['2000-12-24T12:00:00', '2000-12-24T13:00:00', 'hour', false],
786
- ['2000-12-24T12:00:00', '2000-12-24T12:00:00', 'hour', true],
787
- ['2000-12-24T12:00:00', '2000-12-24T11:00:00', 'hour', true],
788
-
789
- ['2000-12-24T12:00:00', '2000-12-26T12:00:00', 'day', false],
790
- ['2000-12-25T12:00:00', '2000-12-25T12:00:00', 'day', true],
791
- ['2000-12-26T12:00:00', '2000-12-24T12:00:00', 'day', true],
792
-
793
- ['2000-11-25T12:00:00', '2001-01-25T12:00:00', 'month', false],
794
- ['2000-12-25T12:00:00', '2000-12-25T12:00:00', 'month', true],
795
- ['2001-01-25T12:00:00', '2000-11-25T12:00:00', 'month', true],
796
-
797
- ['1999-12-25T12:00:00', '2001-12-25T12:00:00', 'year', false],
798
- ['2000-12-25T12:00:00', '2000-12-25T12:00:00', 'year', true],
799
- ['2001-12-25T12:00:00', '1999-12-25T12:00:00', 'year', true],
800
- ])('compares for greater than or equal', (a, b, precision, expected) => {
801
- expect(
802
- DateHelper(a, { normalize: false }).is('>=', DateHelper(b, { normalize: false }), precision)
803
- ).toBe(expected)
804
- })
805
- })
806
-
807
- describe('getComparableDate', () => {
808
- it('return the comparable date based on the given precision', () => {
809
- expect(getComparableDate(new Date('1969-12-31T23:59:59.990Z'), 'millisecond')).toBe(-10)
810
- expect(getComparableDate(new Date('1970-01-01T00:00:00.000Z'), 'millisecond')).toBe(0)
811
- expect(getComparableDate(new Date('1970-01-01T00:00:00.001Z'), 'millisecond')).toBe(1)
812
- expect(getComparableDate(new Date('1969-12-31T23:59:59.990Z'), 'year')).toBe(
813
- new Date('1969-01-01T00:00:00.000Z').getTime()
814
- )
815
- expect(getComparableDate(new Date('2022-10-13T17:42:19.948Z'), 'year')).toBe(
816
- new Date('2022-01-01T00:00:00.000Z').getTime()
817
- )
818
- expect(getComparableDate(new Date('2022-10-13T17:42:19.948Z'), 'month')).toBe(
819
- new Date('2022-10-01T00:00:00.000Z').getTime()
820
- )
821
- expect(getComparableDate(new Date('2022-10-13T17:42:19.948Z'), 'day')).toBe(
822
- new Date('2022-10-13T00:00:00.000Z').getTime()
823
- )
824
- expect(getComparableDate(new Date('2022-10-13T17:42:19.948Z'), 'hour')).toBe(
825
- new Date('2022-10-13T17:00:00.000Z').getTime()
826
- )
827
- expect(getComparableDate(new Date('2022-10-13T17:42:19.948Z'), 'minute')).toBe(
828
- new Date('2022-10-13T17:42:00.000Z').getTime()
829
- )
830
- expect(getComparableDate(new Date('2022-10-13T17:42:19.948Z'), 'second')).toBe(
831
- new Date('2022-10-13T17:42:19.000Z').getTime()
832
- )
833
- expect(getComparableDate(new Date('2022-10-13T17:42:19.948Z'), 'millisecond')).toBe(
834
- new Date('2022-10-13T17:42:19.948Z').getTime()
835
- )
836
- expect(() =>
837
- getComparableDate(new Date('2022-10-13T17:42:19.948Z'), 'foo' as 'day')
838
- ).toThrowError(new Error('precision foo is not supported'))
839
- })
840
-
841
- it('uses "day" as the default precision', () => {
842
- expect(getComparableDate(new Date('2022-10-13T17:42:19.948Z'))).toBe(
843
- new Date('2022-10-13T00:00:00.000Z').getTime()
844
- )
845
- })
846
- })
847
- })