@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,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
- })