@loadsmart/loadsmart-ui 7.5.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 (492) 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-C_FEacSw.js.map +1 -0
  8. package/dist/prop-B8LY6G2g.js +81 -0
  9. package/dist/{prop-pWSEOvKc.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-Dxb1kUxx.js.map +1 -0
  16. package/dist/tools/index.js +6 -1
  17. package/dist/tools/index.js.map +1 -1
  18. package/package.json +28 -57
  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 -9310
  23. package/dist/index.mjs.map +0 -1
  24. package/dist/miranda-compatibility.theme-C3Dt-45K.js +0 -2
  25. package/dist/miranda-compatibility.theme-C3Dt-45K.js.map +0 -1
  26. package/dist/miranda-compatibility.theme-ClCWbTIT.mjs +0 -2525
  27. package/dist/miranda-compatibility.theme-ClCWbTIT.mjs.map +0 -1
  28. package/dist/prop-C4yDbi0C.mjs +0 -53
  29. package/dist/prop-C4yDbi0C.mjs.map +0 -1
  30. package/dist/prop-pWSEOvKc.js +0 -2
  31. package/dist/testing/index.mjs +0 -227
  32. package/dist/testing/index.mjs.map +0 -1
  33. package/dist/theming/index.mjs +0 -19
  34. package/dist/theming/index.mjs.map +0 -1
  35. package/dist/toArray-BJfx0Xhj.mjs +0 -38
  36. package/dist/toArray-BJfx0Xhj.mjs.map +0 -1
  37. package/dist/toArray-Dw6F-w3t.js +0 -2
  38. package/dist/toArray-Dw6F-w3t.js.map +0 -1
  39. package/dist/tools/index.mjs +0 -7
  40. package/dist/tools/index.mjs.map +0 -1
  41. package/src/@types/@loadsmart/utilsFunction.d.ts +0 -5
  42. package/src/@types/@loadsmart/utilsObject.d.ts +0 -5
  43. package/src/@types/svg.d.ts +0 -4
  44. package/src/addons/Theme/register.js +0 -590
  45. package/src/common/BackButton/BackButton.tsx +0 -18
  46. package/src/common/BackButton/index.ts +0 -2
  47. package/src/common/CloseButton/CloseButton.tsx +0 -55
  48. package/src/common/CloseButton/index.ts +0 -2
  49. package/src/common/SelectionWrapper.tsx +0 -130
  50. package/src/components/Accordion/Accordion.context.tsx +0 -36
  51. package/src/components/Accordion/Accordion.stories.tsx +0 -186
  52. package/src/components/Accordion/Accordion.test.tsx +0 -209
  53. package/src/components/Accordion/Accordion.tsx +0 -233
  54. package/src/components/Accordion/index.ts +0 -2
  55. package/src/components/Banner/Banner.stories.tsx +0 -213
  56. package/src/components/Banner/Banner.test.tsx +0 -118
  57. package/src/components/Banner/Banner.tsx +0 -418
  58. package/src/components/Banner/index.tsx +0 -2
  59. package/src/components/Breadcrumbs/Breadbrumbs.test.tsx +0 -125
  60. package/src/components/Breadcrumbs/Breadcrumb.tsx +0 -92
  61. package/src/components/Breadcrumbs/Breadcrumbs.stories.tsx +0 -21
  62. package/src/components/Breadcrumbs/Breadcrumbs.tsx +0 -54
  63. package/src/components/Breadcrumbs/index.ts +0 -4
  64. package/src/components/Button/Button.stories.tsx +0 -174
  65. package/src/components/Button/Button.test.tsx +0 -57
  66. package/src/components/Button/Button.tsx +0 -576
  67. package/src/components/Button/index.tsx +0 -2
  68. package/src/components/Calendar/Calendar.helpers.ts +0 -15
  69. package/src/components/Calendar/Calendar.stories.tsx +0 -168
  70. package/src/components/Calendar/Calendar.test.tsx +0 -316
  71. package/src/components/Calendar/Calendar.tsx +0 -130
  72. package/src/components/Calendar/Calendar.types.ts +0 -68
  73. package/src/components/Calendar/Date.helper.test.ts +0 -847
  74. package/src/components/Calendar/Date.helper.ts +0 -461
  75. package/src/components/Calendar/DateFormat.helper.test.ts +0 -171
  76. package/src/components/Calendar/DateFormat.helper.ts +0 -195
  77. package/src/components/Calendar/Month.helper.test.ts +0 -187
  78. package/src/components/Calendar/Month.helper.ts +0 -172
  79. package/src/components/Calendar/PickerModeToggle.tsx +0 -61
  80. package/src/components/Calendar/Pickers/DayPicker.test.tsx +0 -85
  81. package/src/components/Calendar/Pickers/DayPicker.tsx +0 -127
  82. package/src/components/Calendar/Pickers/MonthPicker.test.tsx +0 -77
  83. package/src/components/Calendar/Pickers/MonthPicker.tsx +0 -51
  84. package/src/components/Calendar/Pickers/PickerButton.tsx +0 -119
  85. package/src/components/Calendar/Pickers/YearPicker.test.tsx +0 -75
  86. package/src/components/Calendar/Pickers/YearPicker.tsx +0 -52
  87. package/src/components/Calendar/index.ts +0 -10
  88. package/src/components/Calendar/useCalendar.ts +0 -190
  89. package/src/components/Calendar/usePickerMode.ts +0 -48
  90. package/src/components/Card/Card.stories.tsx +0 -117
  91. package/src/components/Card/Card.test.tsx +0 -139
  92. package/src/components/Card/Card.tsx +0 -106
  93. package/src/components/Card/CardTitle.tsx +0 -43
  94. package/src/components/Card/index.ts +0 -2
  95. package/src/components/Checkbox/Checkbox.stories.tsx +0 -79
  96. package/src/components/Checkbox/Checkbox.test.tsx +0 -66
  97. package/src/components/Checkbox/Checkbox.tsx +0 -170
  98. package/src/components/Checkbox/index.ts +0 -2
  99. package/src/components/DatePicker/DatePicker.stories.tsx +0 -113
  100. package/src/components/DatePicker/DatePicker.test.tsx +0 -174
  101. package/src/components/DatePicker/DatePicker.tsx +0 -140
  102. package/src/components/DatePicker/DatePicker.types.ts +0 -30
  103. package/src/components/DatePicker/DateRangePicker.stories.tsx +0 -128
  104. package/src/components/DatePicker/DateRangePicker.test.tsx +0 -267
  105. package/src/components/DatePicker/DateRangePicker.tsx +0 -110
  106. package/src/components/DatePicker/index.ts +0 -3
  107. package/src/components/DatePicker/useDatePicker.ts +0 -201
  108. package/src/components/DatePicker/useDateRangePicker.ts +0 -224
  109. package/src/components/Dialog/Dialog.stories.tsx +0 -227
  110. package/src/components/Dialog/Dialog.test.tsx +0 -74
  111. package/src/components/Dialog/Dialog.tsx +0 -139
  112. package/src/components/Dialog/index.tsx +0 -4
  113. package/src/components/Dialog/useDialog.tsx +0 -59
  114. package/src/components/DragDropFile/DragDropFile.context.tsx +0 -39
  115. package/src/components/DragDropFile/DragDropFile.stories.tsx +0 -183
  116. package/src/components/DragDropFile/DragDropFile.tsx +0 -11
  117. package/src/components/DragDropFile/components/DropZone.test.tsx +0 -108
  118. package/src/components/DragDropFile/components/DropZone.tsx +0 -145
  119. package/src/components/DragDropFile/components/FileItem.tsx +0 -117
  120. package/src/components/DragDropFile/components/FileList.test.tsx +0 -119
  121. package/src/components/DragDropFile/components/FileList.tsx +0 -47
  122. package/src/components/DragDropFile/components/Wrapper.tsx +0 -22
  123. package/src/components/DragDropFile/index.ts +0 -9
  124. package/src/components/DragDropFile/mocks.ts +0 -23
  125. package/src/components/DragDropFile/styles.tsx +0 -81
  126. package/src/components/DragDropFile/types.ts +0 -85
  127. package/src/components/Drawer/Drawer.stories.tsx +0 -83
  128. package/src/components/Drawer/Drawer.test.tsx +0 -90
  129. package/src/components/Drawer/Drawer.tsx +0 -225
  130. package/src/components/Drawer/index.ts +0 -4
  131. package/src/components/Dropdown/Dropdown.context.ts +0 -13
  132. package/src/components/Dropdown/Dropdown.fixtures.ts +0 -15
  133. package/src/components/Dropdown/Dropdown.stories.tsx +0 -259
  134. package/src/components/Dropdown/Dropdown.test.tsx +0 -173
  135. package/src/components/Dropdown/Dropdown.tsx +0 -141
  136. package/src/components/Dropdown/Dropdown.types.ts +0 -59
  137. package/src/components/Dropdown/DropdownMenu.tsx +0 -263
  138. package/src/components/Dropdown/DropdownTrigger.tsx +0 -368
  139. package/src/components/Dropdown/index.ts +0 -15
  140. package/src/components/Dropdown/useDropdown.test.ts +0 -96
  141. package/src/components/Dropdown/useDropdown.ts +0 -65
  142. package/src/components/EmptyState/EmptyState.mocks.tsx +0 -60
  143. package/src/components/EmptyState/EmptyState.stories.tsx +0 -239
  144. package/src/components/EmptyState/EmptyState.test.tsx +0 -101
  145. package/src/components/EmptyState/EmptyState.tsx +0 -22
  146. package/src/components/EmptyState/EmptyState.types.ts +0 -59
  147. package/src/components/EmptyState/EmptyStateWithIcon.tsx +0 -42
  148. package/src/components/EmptyState/EmptyStateWithIllustration.tsx +0 -72
  149. package/src/components/EmptyState/Illustration.tsx +0 -29
  150. package/src/components/EmptyState/index.ts +0 -4
  151. package/src/components/ErrorMessage/ErrorMessage.stories.tsx +0 -26
  152. package/src/components/ErrorMessage/ErrorMessage.test.tsx +0 -24
  153. package/src/components/ErrorMessage/ErrorMessage.tsx +0 -19
  154. package/src/components/ErrorMessage/index.ts +0 -2
  155. package/src/components/HighlightMatch/HighlightMatch.stories.tsx +0 -24
  156. package/src/components/HighlightMatch/HighlightMatch.test.tsx +0 -37
  157. package/src/components/HighlightMatch/HighlightMatch.tsx +0 -29
  158. package/src/components/HighlightMatch/index.ts +0 -2
  159. package/src/components/Icon/Icon.tsx +0 -55
  160. package/src/components/Icon/assets/back.svg +0 -4
  161. package/src/components/Icon/assets/burger-menu.svg +0 -3
  162. package/src/components/Icon/assets/calendar.svg +0 -5
  163. package/src/components/Icon/assets/caret-down.svg +0 -4
  164. package/src/components/Icon/assets/caret-left.svg +0 -4
  165. package/src/components/Icon/assets/caret-right-last.svg +0 -4
  166. package/src/components/Icon/assets/caret-right.svg +0 -4
  167. package/src/components/Icon/assets/check.svg +0 -4
  168. package/src/components/Icon/assets/chevron-down.svg +0 -3
  169. package/src/components/Icon/assets/circle.svg +0 -3
  170. package/src/components/Icon/assets/close.svg +0 -4
  171. package/src/components/Icon/assets/dots-horizontal.svg +0 -1
  172. package/src/components/Icon/assets/information.svg +0 -4
  173. package/src/components/Icon/assets/minus.svg +0 -4
  174. package/src/components/Icon/assets/plus.svg +0 -4
  175. package/src/components/Icon/assets/refresh.svg +0 -3
  176. package/src/components/Icon/assets/sort-asc.svg +0 -7
  177. package/src/components/Icon/assets/sort-desc.svg +0 -7
  178. package/src/components/Icon/assets/sort.svg +0 -7
  179. package/src/components/Icon/assets/upload.svg +0 -3
  180. package/src/components/Icon/assets/warning.svg +0 -4
  181. package/src/components/Icon/index.ts +0 -2
  182. package/src/components/IconFactory/IconFactory.fixtures.tsx +0 -31
  183. package/src/components/IconFactory/IconFactory.stories.tsx +0 -120
  184. package/src/components/IconFactory/IconFactory.test.tsx +0 -36
  185. package/src/components/IconFactory/IconFactory.tsx +0 -75
  186. package/src/components/IconFactory/index.ts +0 -2
  187. package/src/components/Label/Label.stories.tsx +0 -47
  188. package/src/components/Label/Label.test.tsx +0 -80
  189. package/src/components/Label/Label.tsx +0 -120
  190. package/src/components/Label/index.ts +0 -2
  191. package/src/components/Layout/Box.tsx +0 -98
  192. package/src/components/Layout/Grid.tsx +0 -42
  193. package/src/components/Layout/Group.tsx +0 -55
  194. package/src/components/Layout/Layout.stories.tsx +0 -412
  195. package/src/components/Layout/Layout.tsx +0 -19
  196. package/src/components/Layout/Layout.types.ts +0 -9
  197. package/src/components/Layout/Layout.utils.ts +0 -20
  198. package/src/components/Layout/Sidebar.tsx +0 -75
  199. package/src/components/Layout/Stack.tsx +0 -63
  200. package/src/components/Layout/Switcher.tsx +0 -48
  201. package/src/components/Layout/index.tsx +0 -8
  202. package/src/components/Link/Link.stories.tsx +0 -22
  203. package/src/components/Link/Link.test.tsx +0 -79
  204. package/src/components/Link/Link.tsx +0 -114
  205. package/src/components/Link/index.ts +0 -3
  206. package/src/components/Link/useSafeLink.ts +0 -49
  207. package/src/components/Loaders/LoadingBar.stories.tsx +0 -36
  208. package/src/components/Loaders/LoadingBar.test.tsx +0 -35
  209. package/src/components/Loaders/LoadingBar.tsx +0 -65
  210. package/src/components/Loaders/LoadingDots.stories.tsx +0 -69
  211. package/src/components/Loaders/LoadingDots.test.tsx +0 -22
  212. package/src/components/Loaders/LoadingDots.tsx +0 -68
  213. package/src/components/Loaders/Spinner.stories.tsx +0 -24
  214. package/src/components/Loaders/Spinner.test.tsx +0 -35
  215. package/src/components/Loaders/Spinner.tsx +0 -68
  216. package/src/components/Loaders/index.tsx +0 -3
  217. package/src/components/Modal/Modal.stories.tsx +0 -121
  218. package/src/components/Modal/Modal.test.tsx +0 -46
  219. package/src/components/Modal/Modal.tsx +0 -163
  220. package/src/components/Modal/index.tsx +0 -2
  221. package/src/components/Pagination/Pagination.constants.ts +0 -7
  222. package/src/components/Pagination/Pagination.helper.ts +0 -88
  223. package/src/components/Pagination/Pagination.stories.tsx +0 -29
  224. package/src/components/Pagination/Pagination.test.tsx +0 -102
  225. package/src/components/Pagination/Pagination.tsx +0 -34
  226. package/src/components/Pagination/Pagination.types.ts +0 -55
  227. package/src/components/Pagination/PaginationItem.tsx +0 -74
  228. package/src/components/Pagination/index.ts +0 -2
  229. package/src/components/Pagination/usePagination.test.ts +0 -188
  230. package/src/components/Pagination/usePagination.ts +0 -87
  231. package/src/components/Popover/Popover.stories.tsx +0 -50
  232. package/src/components/Popover/Popover.test.tsx +0 -22
  233. package/src/components/Popover/Popover.tsx +0 -110
  234. package/src/components/Popover/Popover.types.ts +0 -39
  235. package/src/components/Popover/index.ts +0 -11
  236. package/src/components/ProgressBar/ProgressBar.stories.tsx +0 -47
  237. package/src/components/ProgressBar/ProgressBar.test.tsx +0 -40
  238. package/src/components/ProgressBar/ProgressBar.tsx +0 -89
  239. package/src/components/ProgressBar/index.tsx +0 -2
  240. package/src/components/Radio/Radio.stories.tsx +0 -75
  241. package/src/components/Radio/Radio.test.tsx +0 -66
  242. package/src/components/Radio/Radio.tsx +0 -153
  243. package/src/components/Radio/index.ts +0 -2
  244. package/src/components/Section/Section.test.tsx +0 -35
  245. package/src/components/Section/Section.tsx +0 -66
  246. package/src/components/Section/Sections.stories.tsx +0 -56
  247. package/src/components/Section/index.ts +0 -2
  248. package/src/components/Select/Select.constants.ts +0 -12
  249. package/src/components/Select/Select.context.ts +0 -11
  250. package/src/components/Select/Select.fixtures.ts +0 -167
  251. package/src/components/Select/Select.stories.tsx +0 -780
  252. package/src/components/Select/Select.test.tsx +0 -1109
  253. package/src/components/Select/Select.tsx +0 -271
  254. package/src/components/Select/Select.types.ts +0 -148
  255. package/src/components/Select/SelectCreatableOption.tsx +0 -20
  256. package/src/components/Select/SelectEmpty.test.tsx +0 -15
  257. package/src/components/Select/SelectEmpty.tsx +0 -29
  258. package/src/components/Select/SelectOption.test.tsx +0 -78
  259. package/src/components/Select/SelectOption.tsx +0 -79
  260. package/src/components/Select/SelectTrigger.tsx +0 -83
  261. package/src/components/Select/components.tsx +0 -14
  262. package/src/components/Select/index.ts +0 -12
  263. package/src/components/Select/useSelect.helpers.test.ts +0 -184
  264. package/src/components/Select/useSelect.helpers.ts +0 -63
  265. package/src/components/Select/useSelect.test.ts +0 -207
  266. package/src/components/Select/useSelect.ts +0 -540
  267. package/src/components/Select/useSelectExternal.ts +0 -26
  268. package/src/components/SideNavigation/Logo/Logo.test.tsx +0 -19
  269. package/src/components/SideNavigation/Logo/Logo.tsx +0 -26
  270. package/src/components/SideNavigation/Logo/index.ts +0 -1
  271. package/src/components/SideNavigation/Menu/Menu.test.tsx +0 -65
  272. package/src/components/SideNavigation/Menu/Menu.tsx +0 -53
  273. package/src/components/SideNavigation/Menu/MenuBaseItem.tsx +0 -64
  274. package/src/components/SideNavigation/Menu/MenuExpandable.tsx +0 -107
  275. package/src/components/SideNavigation/Menu/MenuLink.tsx +0 -37
  276. package/src/components/SideNavigation/Menu/index.ts +0 -1
  277. package/src/components/SideNavigation/Separator/Separator.test.tsx +0 -14
  278. package/src/components/SideNavigation/Separator/Separator.tsx +0 -20
  279. package/src/components/SideNavigation/Separator/index.ts +0 -1
  280. package/src/components/SideNavigation/SideNavigation.stories.tsx +0 -69
  281. package/src/components/SideNavigation/SideNavigation.test.tsx +0 -21
  282. package/src/components/SideNavigation/SideNavigation.tsx +0 -47
  283. package/src/components/SideNavigation/index.ts +0 -5
  284. package/src/components/SideNavigation/useSideNavigation.ts +0 -36
  285. package/src/components/Steps/ProgressSteps/ProgressStep.tsx +0 -163
  286. package/src/components/Steps/ProgressSteps/ProgressSteps.tsx +0 -37
  287. package/src/components/Steps/ProgressSteps/index.ts +0 -1
  288. package/src/components/Steps/Steps.fixtures.ts +0 -11
  289. package/src/components/Steps/Steps.helpers.ts +0 -11
  290. package/src/components/Steps/Steps.stories.tsx +0 -65
  291. package/src/components/Steps/Steps.test.tsx +0 -78
  292. package/src/components/Steps/Steps.tsx +0 -53
  293. package/src/components/Steps/Steps.types.ts +0 -5
  294. package/src/components/Steps/StepsContext.ts +0 -5
  295. package/src/components/Steps/StepsStep.tsx +0 -58
  296. package/src/components/Steps/index.ts +0 -6
  297. package/src/components/Steps/useStep.test.tsx +0 -217
  298. package/src/components/Steps/useSteps.ts +0 -131
  299. package/src/components/Switch/Switch.stories.tsx +0 -65
  300. package/src/components/Switch/Switch.test.tsx +0 -60
  301. package/src/components/Switch/Switch.tsx +0 -209
  302. package/src/components/Switch/index.ts +0 -2
  303. package/src/components/Table/Selection.tsx +0 -202
  304. package/src/components/Table/Table.fixtures.ts +0 -101
  305. package/src/components/Table/Table.stories.tsx +0 -568
  306. package/src/components/Table/Table.test.tsx +0 -310
  307. package/src/components/Table/Table.tsx +0 -523
  308. package/src/components/Table/Table.types.ts +0 -93
  309. package/src/components/Table/TableSortHandle.tsx +0 -31
  310. package/src/components/Table/index.tsx +0 -2
  311. package/src/components/Table/useSortBy.test.ts +0 -96
  312. package/src/components/Table/useSortBy.ts +0 -92
  313. package/src/components/Table/useSortBy.types.ts +0 -21
  314. package/src/components/TablePagination/RowsPerPage.tsx +0 -81
  315. package/src/components/TablePagination/TablePagination.stories.tsx +0 -42
  316. package/src/components/TablePagination/TablePagination.styles.ts +0 -13
  317. package/src/components/TablePagination/TablePagination.test.tsx +0 -111
  318. package/src/components/TablePagination/TablePagination.tsx +0 -49
  319. package/src/components/TablePagination/TablePagination.types.ts +0 -69
  320. package/src/components/TablePagination/TablePaginationActions.tsx +0 -144
  321. package/src/components/TablePagination/index.ts +0 -2
  322. package/src/components/Tabs/Tabs.stories.tsx +0 -78
  323. package/src/components/Tabs/Tabs.test.tsx +0 -103
  324. package/src/components/Tabs/Tabs.tsx +0 -287
  325. package/src/components/Tabs/Tabs.types.ts +0 -7
  326. package/src/components/Tabs/TabsContext.ts +0 -10
  327. package/src/components/Tabs/index.ts +0 -2
  328. package/src/components/Tag/Tag.stories.tsx +0 -112
  329. package/src/components/Tag/Tag.test.tsx +0 -19
  330. package/src/components/Tag/Tag.tsx +0 -393
  331. package/src/components/Tag/index.ts +0 -2
  332. package/src/components/Text/Text.stories.tsx +0 -59
  333. package/src/components/Text/Text.test.tsx +0 -48
  334. package/src/components/Text/Text.tsx +0 -14
  335. package/src/components/Text/index.ts +0 -2
  336. package/src/components/TextField/TextField.stories.tsx +0 -90
  337. package/src/components/TextField/TextField.test.tsx +0 -36
  338. package/src/components/TextField/TextField.tsx +0 -244
  339. package/src/components/TextField/index.ts +0 -6
  340. package/src/components/TextField/useTextField.tsx +0 -26
  341. package/src/components/Textarea/Textarea.stories.tsx +0 -101
  342. package/src/components/Textarea/Textarea.test.tsx +0 -14
  343. package/src/components/Textarea/Textarea.tsx +0 -230
  344. package/src/components/Textarea/index.ts +0 -2
  345. package/src/components/Toast/Toast.stories.tsx +0 -50
  346. package/src/components/Toast/Toast.test.tsx +0 -24
  347. package/src/components/Toast/Toast.tsx +0 -141
  348. package/src/components/Toast/icons/close.svg +0 -3
  349. package/src/components/Toast/icons/danger.svg +0 -4
  350. package/src/components/Toast/icons/neutral.svg +0 -4
  351. package/src/components/Toast/icons/success.svg +0 -3
  352. package/src/components/Toast/icons/warning.svg +0 -4
  353. package/src/components/Toast/index.tsx +0 -2
  354. package/src/components/ToggleGroup/Toggle.test.tsx +0 -76
  355. package/src/components/ToggleGroup/Toggle.tsx +0 -158
  356. package/src/components/ToggleGroup/ToggleGroup.constants.ts +0 -16
  357. package/src/components/ToggleGroup/ToggleGroup.stories.tsx +0 -145
  358. package/src/components/ToggleGroup/ToggleGroup.test.tsx +0 -237
  359. package/src/components/ToggleGroup/ToggleGroup.tsx +0 -165
  360. package/src/components/ToggleGroup/ToggleGroup.types.ts +0 -35
  361. package/src/components/ToggleGroup/ToggleGroupContext.ts +0 -13
  362. package/src/components/ToggleGroup/index.ts +0 -3
  363. package/src/components/Tooltip/Tooltip.stories.tsx +0 -82
  364. package/src/components/Tooltip/Tooltip.test.tsx +0 -49
  365. package/src/components/Tooltip/Tooltip.tsx +0 -185
  366. package/src/components/Tooltip/index.ts +0 -2
  367. package/src/components/TopNavigation/Logo/Logo.test.tsx +0 -21
  368. package/src/components/TopNavigation/Logo/Logo.tsx +0 -20
  369. package/src/components/TopNavigation/Logo/index.ts +0 -1
  370. package/src/components/TopNavigation/Menu/Menu.test.tsx +0 -125
  371. package/src/components/TopNavigation/Menu/Menu.tsx +0 -62
  372. package/src/components/TopNavigation/Menu/MenuItemDropdown.tsx +0 -118
  373. package/src/components/TopNavigation/Menu/MenuItemIcon.tsx +0 -50
  374. package/src/components/TopNavigation/Menu/index.ts +0 -1
  375. package/src/components/TopNavigation/OpenSideNavButton/OpenSideNavButton.tsx +0 -28
  376. package/src/components/TopNavigation/OpenSideNavButton/index.ts +0 -1
  377. package/src/components/TopNavigation/TopNavigation.stories.tsx +0 -42
  378. package/src/components/TopNavigation/TopNavigation.tsx +0 -47
  379. package/src/components/TopNavigation/index.ts +0 -2
  380. package/src/components/VisuallyHidden/VisuallyHidden.mdx +0 -26
  381. package/src/components/VisuallyHidden/VisuallyHidden.stories.tsx +0 -32
  382. package/src/components/VisuallyHidden/VisuallyHidden.test.tsx +0 -18
  383. package/src/components/VisuallyHidden/VisuallyHidden.tsx +0 -6
  384. package/src/components/VisuallyHidden/index.ts +0 -1
  385. package/src/docs/tools/DatePickerEvent.stories.mdx +0 -108
  386. package/src/docs/tools/DragDropFileEvent.stories.mdx +0 -75
  387. package/src/docs/tools/conditional.stories.mdx +0 -251
  388. package/src/docs/tools/selectEvent.stories.mdx +0 -121
  389. package/src/hooks/useClickOutside/index.ts +0 -1
  390. package/src/hooks/useClickOutside/useClickOutside.test.tsx +0 -116
  391. package/src/hooks/useClickOutside/useClickOutside.ts +0 -65
  392. package/src/hooks/useDidMount/index.ts +0 -1
  393. package/src/hooks/useDidMount/useDidMount.test.tsx +0 -38
  394. package/src/hooks/useDidMount/useDidMount.ts +0 -20
  395. package/src/hooks/useFingerprint/index.ts +0 -1
  396. package/src/hooks/useFingerprint/useFingerprint.test.ts +0 -76
  397. package/src/hooks/useFingerprint/useFingerprint.ts +0 -94
  398. package/src/hooks/useFocusTrap/index.ts +0 -2
  399. package/src/hooks/useFocusTrap/useFocusTrap.stories.tsx +0 -87
  400. package/src/hooks/useFocusTrap/useFocusTrap.test.tsx +0 -129
  401. package/src/hooks/useFocusTrap/useFocusTrap.ts +0 -187
  402. package/src/hooks/useFocusWithin/index.ts +0 -2
  403. package/src/hooks/useFocusWithin/useFocusWithin.test.tsx +0 -71
  404. package/src/hooks/useFocusWithin/useFocusWithin.ts +0 -62
  405. package/src/hooks/useHeightExpansionToggler/index.ts +0 -2
  406. package/src/hooks/useHeightExpansionToggler/useHeightExpansionToggler.test.tsx +0 -85
  407. package/src/hooks/useHeightExpansionToggler/useHeightExpansionToggler.ts +0 -54
  408. package/src/hooks/useID/index.ts +0 -1
  409. package/src/hooks/useID/useID.ts +0 -18
  410. package/src/hooks/useSelectable/SelectableStrategy.test.ts +0 -424
  411. package/src/hooks/useSelectable/SelectableStrategy.ts +0 -143
  412. package/src/hooks/useSelectable/index.ts +0 -8
  413. package/src/hooks/useSelectable/useSelectable.test.ts +0 -221
  414. package/src/hooks/useSelectable/useSelectable.ts +0 -156
  415. package/src/hooks/useSelectable/useSelectable.types.ts +0 -45
  416. package/src/hooks/useWindowResize/index.ts +0 -1
  417. package/src/hooks/useWindowResize/useWindowResize.ts +0 -27
  418. package/src/index.ts +0 -188
  419. package/src/stories/assets/code-brackets.svg +0 -1
  420. package/src/stories/assets/colors.svg +0 -1
  421. package/src/stories/assets/comments.svg +0 -1
  422. package/src/stories/assets/direction.svg +0 -1
  423. package/src/stories/assets/flow.svg +0 -1
  424. package/src/stories/assets/plugin.svg +0 -1
  425. package/src/stories/assets/repo.svg +0 -1
  426. package/src/stories/assets/stackalt.svg +0 -1
  427. package/src/stories/introduction.stories.mdx +0 -57
  428. package/src/stories/startPage.stories.mdx +0 -95
  429. package/src/styles/activatable.tsx +0 -30
  430. package/src/styles/disableable.tsx +0 -45
  431. package/src/styles/ellipsizable.tsx +0 -14
  432. package/src/styles/focusable.tsx +0 -32
  433. package/src/styles/font.test.ts +0 -31
  434. package/src/styles/font.tsx +0 -40
  435. package/src/styles/hidden.tsx +0 -29
  436. package/src/styles/hoverable.tsx +0 -30
  437. package/src/styles/transition.tsx +0 -25
  438. package/src/styles/typography.test.ts +0 -93
  439. package/src/styles/typography.ts +0 -190
  440. package/src/testing/DatePickerEvent/DatePickerEvent.ts +0 -117
  441. package/src/testing/DatePickerEvent/DateRangePickerEvent.ts +0 -83
  442. package/src/testing/DatePickerEvent/index.ts +0 -2
  443. package/src/testing/DragDropFileEvent/DragDropFileEvent.ts +0 -56
  444. package/src/testing/DragDropFileEvent/index.ts +0 -1
  445. package/src/testing/SelectEvent/SelectEvent.test.tsx +0 -192
  446. package/src/testing/SelectEvent/SelectEvent.ts +0 -264
  447. package/src/testing/SelectEvent/index.ts +0 -1
  448. package/src/testing/getInterpolatedStyles/getInterpolatedStyles.ts +0 -25
  449. package/src/testing/getInterpolatedStyles/index.ts +0 -1
  450. package/src/testing/index.ts +0 -6
  451. package/src/testing/renderWithDragDropFileProvider/index.ts +0 -1
  452. package/src/testing/renderWithDragDropFileProvider/renderWithDragDropFileProvider.tsx +0 -28
  453. package/src/tests/generator.ts +0 -127
  454. package/src/tests/renderer.tsx +0 -39
  455. package/src/theming/index.ts +0 -42
  456. package/src/theming/themes/alice.theme.ts +0 -1022
  457. package/src/theming/themes/index.ts +0 -3
  458. package/src/theming/themes/loadsmart.theme.ts +0 -1019
  459. package/src/theming/themes/miranda-compatibility.theme.ts +0 -972
  460. package/src/theming/theming.helpers.ts +0 -95
  461. package/src/tools/conditional.test.ts +0 -166
  462. package/src/tools/conditional.ts +0 -127
  463. package/src/tools/index.ts +0 -2
  464. package/src/tools/prop.test.ts +0 -52
  465. package/src/tools/prop.ts +0 -36
  466. package/src/utils/toolset/awaitTo.ts +0 -24
  467. package/src/utils/toolset/flatten.ts +0 -3
  468. package/src/utils/toolset/formatBytes.test.ts +0 -45
  469. package/src/utils/toolset/formatBytes.ts +0 -18
  470. package/src/utils/toolset/get.ts +0 -2
  471. package/src/utils/toolset/getID.test.ts +0 -57
  472. package/src/utils/toolset/getID.ts +0 -93
  473. package/src/utils/toolset/getOrdinalSuffix.test.ts +0 -27
  474. package/src/utils/toolset/getOrdinalSuffix.ts +0 -15
  475. package/src/utils/toolset/highlightMatch.test.tsx +0 -32
  476. package/src/utils/toolset/highlightMatch.tsx +0 -32
  477. package/src/utils/toolset/interleave.test.ts +0 -40
  478. package/src/utils/toolset/interleave.ts +0 -23
  479. package/src/utils/toolset/isEmpty.ts +0 -2
  480. package/src/utils/toolset/isThenable.test.ts +0 -40
  481. package/src/utils/toolset/isThenable.ts +0 -14
  482. package/src/utils/toolset/keyboard.ts +0 -50
  483. package/src/utils/toolset/omit.ts +0 -2
  484. package/src/utils/toolset/pluralize.ts +0 -16
  485. package/src/utils/toolset/range.ts +0 -2
  486. package/src/utils/toolset/rem.ts +0 -7
  487. package/src/utils/toolset/styledCompounds.ts +0 -22
  488. package/src/utils/toolset/toArray.ts +0 -16
  489. package/src/utils/types/ColorScheme.ts +0 -3
  490. package/src/utils/types/EventLike.ts +0 -11
  491. package/src/utils/types/InterpolatedStyle.ts +0 -3
  492. 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
- })