@loadsmart/loadsmart-ui 7.6.0 → 8.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (531) hide show
  1. package/README.md +13 -1
  2. package/dist/DragDropFile.context-oKnUu6d3.js +33 -0
  3. package/dist/{DragDropFile.context-D-EBrXnw.js.map → DragDropFile.context-oKnUu6d3.js.map} +1 -1
  4. package/dist/components/Banner/Banner.d.ts +2 -2
  5. package/dist/components/Button/Button.d.ts +1 -1
  6. package/dist/components/Calendar/Pickers/PickerButton.d.ts +4 -2
  7. package/dist/components/Card/Card.d.ts +4 -4
  8. package/dist/components/Card/CardTitle.d.ts +2 -2
  9. package/dist/components/DatePicker/DatePicker.d.ts +1 -1
  10. package/dist/components/DatePicker/useDatePicker.d.ts +8 -9
  11. package/dist/components/DatePicker/useDateRangePicker.d.ts +13 -14
  12. package/dist/components/Dialog/Dialog.d.ts +3 -5
  13. package/dist/components/DragDropFile/styles.d.ts +7 -7
  14. package/dist/components/Dropdown/Dropdown.d.ts +3 -3
  15. package/dist/components/Dropdown/DropdownMenu.d.ts +3 -3
  16. package/dist/components/Layout/Stack.d.ts +2 -2
  17. package/dist/components/Loaders/LoadingBar.d.ts +2 -2
  18. package/dist/components/Loaders/index.d.ts +3 -3
  19. package/dist/components/Modal/Modal.d.ts +1 -3
  20. package/dist/components/SideNavigation/Logo/Logo.d.ts +7 -2
  21. package/dist/components/SideNavigation/Menu/Menu.d.ts +7 -2
  22. package/dist/components/SideNavigation/Menu/MenuLink.d.ts +6 -1
  23. package/dist/components/SideNavigation/SideNavigation.d.ts +14 -4
  24. package/dist/components/Steps/StepsStep.d.ts +2 -2
  25. package/dist/components/Table/Table.d.ts +2 -1
  26. package/dist/components/TablePagination/TablePagination.styles.d.ts +5 -4
  27. package/dist/components/TablePagination/TablePaginationActions.d.ts +2 -5
  28. package/dist/components/Text/Text.d.ts +1 -1
  29. package/dist/components/TextField/TextField.d.ts +6 -2
  30. package/dist/components/ToggleGroup/Toggle.d.ts +2 -1
  31. package/dist/components/ToggleGroup/ToggleGroup.d.ts +2 -1
  32. package/dist/components/TopNavigation/Logo/Logo.d.ts +7 -2
  33. package/dist/components/TopNavigation/Menu/Menu.d.ts +2 -2
  34. package/dist/components/TopNavigation/Menu/MenuItemDropdown.d.ts +4 -4
  35. package/dist/components/TopNavigation/OpenSideNavButton/OpenSideNavButton.d.ts +2 -1
  36. package/dist/components/TopNavigation/TopNavigation.d.ts +8 -3
  37. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +1 -1
  38. package/dist/components/VisuallyHidden/VisuallyHidden.stories.d.ts +2 -1
  39. package/dist/index.js +9100 -253
  40. package/dist/index.js.map +1 -1
  41. package/dist/miranda-compatibility.theme-kYNEZ7mW.js +2528 -0
  42. package/dist/{miranda-compatibility.theme-ChPV-BBw.js.map → miranda-compatibility.theme-kYNEZ7mW.js.map} +1 -1
  43. package/dist/prop-K2Z3EsyG.js +81 -0
  44. package/dist/{prop-BwhJNJHO.js.map → prop-K2Z3EsyG.js.map} +1 -1
  45. package/dist/testing/index.js +282 -1
  46. package/dist/testing/index.js.map +1 -1
  47. package/dist/tests/renderer.d.ts +1 -1
  48. package/dist/theming/index.js +22 -1
  49. package/dist/theming/index.js.map +1 -1
  50. package/dist/toArray-Dxb1kUxx.js +14 -0
  51. package/dist/{toArray-BW3gx_gH.js.map → toArray-Dxb1kUxx.js.map} +1 -1
  52. package/dist/tools/index.js +6 -1
  53. package/dist/tools/index.js.map +1 -1
  54. package/dist/utils/toolset/flatten.d.ts +1 -1
  55. package/dist/utils/toolset/get.d.ts +1 -1
  56. package/dist/utils/toolset/isEmpty.d.ts +1 -1
  57. package/dist/utils/toolset/omit.d.ts +1 -1
  58. package/dist/utils/toolset/range.d.ts +1 -1
  59. package/package.json +46 -79
  60. package/dist/DragDropFile.context-D-EBrXnw.js +0 -2
  61. package/dist/DragDropFile.context-jVTIKfj5.mjs +0 -29
  62. package/dist/DragDropFile.context-jVTIKfj5.mjs.map +0 -1
  63. package/dist/index.mjs +0 -8046
  64. package/dist/index.mjs.map +0 -1
  65. package/dist/miranda-compatibility.theme-ChPV-BBw.js +0 -2
  66. package/dist/miranda-compatibility.theme-DQDHkWzC.mjs +0 -2469
  67. package/dist/miranda-compatibility.theme-DQDHkWzC.mjs.map +0 -1
  68. package/dist/prop-5m3D4883.mjs +0 -54
  69. package/dist/prop-5m3D4883.mjs.map +0 -1
  70. package/dist/prop-BwhJNJHO.js +0 -2
  71. package/dist/testing/index.mjs +0 -228
  72. package/dist/testing/index.mjs.map +0 -1
  73. package/dist/theming/index.mjs +0 -20
  74. package/dist/theming/index.mjs.map +0 -1
  75. package/dist/toArray-BW3gx_gH.js +0 -2
  76. package/dist/toArray-DqgeO2ua.mjs +0 -8
  77. package/dist/toArray-DqgeO2ua.mjs.map +0 -1
  78. package/dist/tools/index.mjs +0 -7
  79. package/dist/tools/index.mjs.map +0 -1
  80. package/src/@types/@loadsmart/utilsFunction.d.ts +0 -5
  81. package/src/@types/@loadsmart/utilsObject.d.ts +0 -5
  82. package/src/@types/svg.d.ts +0 -4
  83. package/src/addons/Theme/register.js +0 -590
  84. package/src/common/BackButton/BackButton.tsx +0 -18
  85. package/src/common/BackButton/index.ts +0 -2
  86. package/src/common/CloseButton/CloseButton.tsx +0 -55
  87. package/src/common/CloseButton/index.ts +0 -2
  88. package/src/common/SelectionWrapper.tsx +0 -130
  89. package/src/components/Accordion/Accordion.context.tsx +0 -36
  90. package/src/components/Accordion/Accordion.stories.tsx +0 -186
  91. package/src/components/Accordion/Accordion.test.tsx +0 -209
  92. package/src/components/Accordion/Accordion.tsx +0 -233
  93. package/src/components/Accordion/index.ts +0 -2
  94. package/src/components/Banner/Banner.stories.tsx +0 -213
  95. package/src/components/Banner/Banner.test.tsx +0 -118
  96. package/src/components/Banner/Banner.tsx +0 -418
  97. package/src/components/Banner/index.tsx +0 -2
  98. package/src/components/Breadcrumbs/Breadbrumbs.test.tsx +0 -125
  99. package/src/components/Breadcrumbs/Breadcrumb.tsx +0 -92
  100. package/src/components/Breadcrumbs/Breadcrumbs.stories.tsx +0 -21
  101. package/src/components/Breadcrumbs/Breadcrumbs.tsx +0 -54
  102. package/src/components/Breadcrumbs/index.ts +0 -4
  103. package/src/components/Button/Button.stories.tsx +0 -174
  104. package/src/components/Button/Button.test.tsx +0 -57
  105. package/src/components/Button/Button.tsx +0 -576
  106. package/src/components/Button/index.tsx +0 -2
  107. package/src/components/Calendar/Calendar.helpers.ts +0 -15
  108. package/src/components/Calendar/Calendar.stories.tsx +0 -168
  109. package/src/components/Calendar/Calendar.test.tsx +0 -316
  110. package/src/components/Calendar/Calendar.tsx +0 -130
  111. package/src/components/Calendar/Calendar.types.ts +0 -68
  112. package/src/components/Calendar/Date.helper.test.ts +0 -847
  113. package/src/components/Calendar/Date.helper.ts +0 -461
  114. package/src/components/Calendar/DateFormat.helper.test.ts +0 -171
  115. package/src/components/Calendar/DateFormat.helper.ts +0 -195
  116. package/src/components/Calendar/Month.helper.test.ts +0 -187
  117. package/src/components/Calendar/Month.helper.ts +0 -172
  118. package/src/components/Calendar/PickerModeToggle.tsx +0 -61
  119. package/src/components/Calendar/Pickers/DayPicker.test.tsx +0 -85
  120. package/src/components/Calendar/Pickers/DayPicker.tsx +0 -127
  121. package/src/components/Calendar/Pickers/MonthPicker.test.tsx +0 -77
  122. package/src/components/Calendar/Pickers/MonthPicker.tsx +0 -51
  123. package/src/components/Calendar/Pickers/PickerButton.tsx +0 -119
  124. package/src/components/Calendar/Pickers/YearPicker.test.tsx +0 -75
  125. package/src/components/Calendar/Pickers/YearPicker.tsx +0 -52
  126. package/src/components/Calendar/index.ts +0 -10
  127. package/src/components/Calendar/useCalendar.ts +0 -190
  128. package/src/components/Calendar/usePickerMode.ts +0 -48
  129. package/src/components/Card/Card.stories.tsx +0 -117
  130. package/src/components/Card/Card.test.tsx +0 -139
  131. package/src/components/Card/Card.tsx +0 -106
  132. package/src/components/Card/CardTitle.tsx +0 -43
  133. package/src/components/Card/index.ts +0 -2
  134. package/src/components/Checkbox/Checkbox.stories.tsx +0 -79
  135. package/src/components/Checkbox/Checkbox.test.tsx +0 -66
  136. package/src/components/Checkbox/Checkbox.tsx +0 -170
  137. package/src/components/Checkbox/index.ts +0 -2
  138. package/src/components/DatePicker/DatePicker.stories.tsx +0 -113
  139. package/src/components/DatePicker/DatePicker.test.tsx +0 -174
  140. package/src/components/DatePicker/DatePicker.tsx +0 -140
  141. package/src/components/DatePicker/DatePicker.types.ts +0 -30
  142. package/src/components/DatePicker/DateRangePicker.stories.tsx +0 -128
  143. package/src/components/DatePicker/DateRangePicker.test.tsx +0 -267
  144. package/src/components/DatePicker/DateRangePicker.tsx +0 -110
  145. package/src/components/DatePicker/index.ts +0 -3
  146. package/src/components/DatePicker/useDatePicker.ts +0 -201
  147. package/src/components/DatePicker/useDateRangePicker.ts +0 -224
  148. package/src/components/Dialog/Dialog.stories.tsx +0 -227
  149. package/src/components/Dialog/Dialog.test.tsx +0 -74
  150. package/src/components/Dialog/Dialog.tsx +0 -139
  151. package/src/components/Dialog/index.tsx +0 -4
  152. package/src/components/Dialog/useDialog.tsx +0 -59
  153. package/src/components/DragDropFile/DragDropFile.context.tsx +0 -39
  154. package/src/components/DragDropFile/DragDropFile.stories.tsx +0 -183
  155. package/src/components/DragDropFile/DragDropFile.tsx +0 -11
  156. package/src/components/DragDropFile/components/DropZone.test.tsx +0 -108
  157. package/src/components/DragDropFile/components/DropZone.tsx +0 -145
  158. package/src/components/DragDropFile/components/FileItem.tsx +0 -117
  159. package/src/components/DragDropFile/components/FileList.test.tsx +0 -119
  160. package/src/components/DragDropFile/components/FileList.tsx +0 -47
  161. package/src/components/DragDropFile/components/Wrapper.tsx +0 -22
  162. package/src/components/DragDropFile/index.ts +0 -9
  163. package/src/components/DragDropFile/mocks.ts +0 -23
  164. package/src/components/DragDropFile/styles.tsx +0 -81
  165. package/src/components/DragDropFile/types.ts +0 -85
  166. package/src/components/Drawer/Drawer.stories.tsx +0 -83
  167. package/src/components/Drawer/Drawer.test.tsx +0 -90
  168. package/src/components/Drawer/Drawer.tsx +0 -225
  169. package/src/components/Drawer/index.ts +0 -4
  170. package/src/components/Dropdown/Dropdown.context.ts +0 -13
  171. package/src/components/Dropdown/Dropdown.fixtures.ts +0 -15
  172. package/src/components/Dropdown/Dropdown.stories.tsx +0 -259
  173. package/src/components/Dropdown/Dropdown.test.tsx +0 -173
  174. package/src/components/Dropdown/Dropdown.tsx +0 -141
  175. package/src/components/Dropdown/Dropdown.types.ts +0 -59
  176. package/src/components/Dropdown/DropdownMenu.tsx +0 -263
  177. package/src/components/Dropdown/DropdownTrigger.tsx +0 -368
  178. package/src/components/Dropdown/index.ts +0 -15
  179. package/src/components/Dropdown/useDropdown.test.ts +0 -96
  180. package/src/components/Dropdown/useDropdown.ts +0 -65
  181. package/src/components/EmptyState/EmptyState.mocks.tsx +0 -60
  182. package/src/components/EmptyState/EmptyState.stories.tsx +0 -239
  183. package/src/components/EmptyState/EmptyState.test.tsx +0 -101
  184. package/src/components/EmptyState/EmptyState.tsx +0 -22
  185. package/src/components/EmptyState/EmptyState.types.ts +0 -59
  186. package/src/components/EmptyState/EmptyStateWithIcon.tsx +0 -42
  187. package/src/components/EmptyState/EmptyStateWithIllustration.tsx +0 -72
  188. package/src/components/EmptyState/Illustration.tsx +0 -29
  189. package/src/components/EmptyState/index.ts +0 -4
  190. package/src/components/ErrorMessage/ErrorMessage.stories.tsx +0 -26
  191. package/src/components/ErrorMessage/ErrorMessage.test.tsx +0 -24
  192. package/src/components/ErrorMessage/ErrorMessage.tsx +0 -19
  193. package/src/components/ErrorMessage/index.ts +0 -2
  194. package/src/components/HighlightMatch/HighlightMatch.stories.tsx +0 -24
  195. package/src/components/HighlightMatch/HighlightMatch.test.tsx +0 -37
  196. package/src/components/HighlightMatch/HighlightMatch.tsx +0 -29
  197. package/src/components/HighlightMatch/index.ts +0 -2
  198. package/src/components/Icon/Icon.tsx +0 -55
  199. package/src/components/Icon/assets/back.svg +0 -4
  200. package/src/components/Icon/assets/burger-menu.svg +0 -3
  201. package/src/components/Icon/assets/calendar.svg +0 -5
  202. package/src/components/Icon/assets/caret-down.svg +0 -4
  203. package/src/components/Icon/assets/caret-left.svg +0 -4
  204. package/src/components/Icon/assets/caret-right-last.svg +0 -4
  205. package/src/components/Icon/assets/caret-right.svg +0 -4
  206. package/src/components/Icon/assets/check.svg +0 -4
  207. package/src/components/Icon/assets/chevron-down.svg +0 -3
  208. package/src/components/Icon/assets/circle.svg +0 -3
  209. package/src/components/Icon/assets/close.svg +0 -4
  210. package/src/components/Icon/assets/dots-horizontal.svg +0 -1
  211. package/src/components/Icon/assets/information.svg +0 -4
  212. package/src/components/Icon/assets/minus.svg +0 -4
  213. package/src/components/Icon/assets/plus.svg +0 -4
  214. package/src/components/Icon/assets/refresh.svg +0 -3
  215. package/src/components/Icon/assets/sort-asc.svg +0 -7
  216. package/src/components/Icon/assets/sort-desc.svg +0 -7
  217. package/src/components/Icon/assets/sort.svg +0 -7
  218. package/src/components/Icon/assets/upload.svg +0 -3
  219. package/src/components/Icon/assets/warning.svg +0 -4
  220. package/src/components/Icon/index.ts +0 -2
  221. package/src/components/IconFactory/IconFactory.fixtures.tsx +0 -31
  222. package/src/components/IconFactory/IconFactory.stories.tsx +0 -120
  223. package/src/components/IconFactory/IconFactory.test.tsx +0 -36
  224. package/src/components/IconFactory/IconFactory.tsx +0 -75
  225. package/src/components/IconFactory/index.ts +0 -2
  226. package/src/components/Label/Label.stories.tsx +0 -47
  227. package/src/components/Label/Label.test.tsx +0 -80
  228. package/src/components/Label/Label.tsx +0 -120
  229. package/src/components/Label/index.ts +0 -2
  230. package/src/components/Layout/Box.tsx +0 -98
  231. package/src/components/Layout/Grid.tsx +0 -42
  232. package/src/components/Layout/Group.tsx +0 -55
  233. package/src/components/Layout/Layout.stories.tsx +0 -412
  234. package/src/components/Layout/Layout.tsx +0 -19
  235. package/src/components/Layout/Layout.types.ts +0 -9
  236. package/src/components/Layout/Layout.utils.ts +0 -20
  237. package/src/components/Layout/Sidebar.tsx +0 -75
  238. package/src/components/Layout/Stack.tsx +0 -63
  239. package/src/components/Layout/Switcher.tsx +0 -48
  240. package/src/components/Layout/index.tsx +0 -8
  241. package/src/components/Link/Link.stories.tsx +0 -22
  242. package/src/components/Link/Link.test.tsx +0 -79
  243. package/src/components/Link/Link.tsx +0 -114
  244. package/src/components/Link/index.ts +0 -3
  245. package/src/components/Link/useSafeLink.ts +0 -49
  246. package/src/components/Loaders/LoadingBar.stories.tsx +0 -36
  247. package/src/components/Loaders/LoadingBar.test.tsx +0 -35
  248. package/src/components/Loaders/LoadingBar.tsx +0 -65
  249. package/src/components/Loaders/LoadingDots.stories.tsx +0 -69
  250. package/src/components/Loaders/LoadingDots.test.tsx +0 -22
  251. package/src/components/Loaders/LoadingDots.tsx +0 -68
  252. package/src/components/Loaders/Spinner.stories.tsx +0 -24
  253. package/src/components/Loaders/Spinner.test.tsx +0 -35
  254. package/src/components/Loaders/Spinner.tsx +0 -68
  255. package/src/components/Loaders/index.tsx +0 -3
  256. package/src/components/Modal/Modal.stories.tsx +0 -121
  257. package/src/components/Modal/Modal.test.tsx +0 -46
  258. package/src/components/Modal/Modal.tsx +0 -163
  259. package/src/components/Modal/index.tsx +0 -2
  260. package/src/components/Pagination/Pagination.constants.ts +0 -7
  261. package/src/components/Pagination/Pagination.helper.ts +0 -88
  262. package/src/components/Pagination/Pagination.stories.tsx +0 -29
  263. package/src/components/Pagination/Pagination.test.tsx +0 -102
  264. package/src/components/Pagination/Pagination.tsx +0 -34
  265. package/src/components/Pagination/Pagination.types.ts +0 -55
  266. package/src/components/Pagination/PaginationItem.tsx +0 -74
  267. package/src/components/Pagination/index.ts +0 -2
  268. package/src/components/Pagination/usePagination.test.ts +0 -188
  269. package/src/components/Pagination/usePagination.ts +0 -87
  270. package/src/components/Popover/Popover.stories.tsx +0 -50
  271. package/src/components/Popover/Popover.test.tsx +0 -22
  272. package/src/components/Popover/Popover.tsx +0 -110
  273. package/src/components/Popover/Popover.types.ts +0 -39
  274. package/src/components/Popover/index.ts +0 -11
  275. package/src/components/ProgressBar/ProgressBar.stories.tsx +0 -47
  276. package/src/components/ProgressBar/ProgressBar.test.tsx +0 -40
  277. package/src/components/ProgressBar/ProgressBar.tsx +0 -89
  278. package/src/components/ProgressBar/index.tsx +0 -2
  279. package/src/components/Radio/Radio.stories.tsx +0 -75
  280. package/src/components/Radio/Radio.test.tsx +0 -66
  281. package/src/components/Radio/Radio.tsx +0 -153
  282. package/src/components/Radio/index.ts +0 -2
  283. package/src/components/Section/Section.test.tsx +0 -35
  284. package/src/components/Section/Section.tsx +0 -66
  285. package/src/components/Section/Sections.stories.tsx +0 -56
  286. package/src/components/Section/index.ts +0 -2
  287. package/src/components/Select/Select.constants.ts +0 -12
  288. package/src/components/Select/Select.context.ts +0 -11
  289. package/src/components/Select/Select.fixtures.ts +0 -167
  290. package/src/components/Select/Select.stories.tsx +0 -780
  291. package/src/components/Select/Select.test.tsx +0 -1109
  292. package/src/components/Select/Select.tsx +0 -271
  293. package/src/components/Select/Select.types.ts +0 -148
  294. package/src/components/Select/SelectCreatableOption.tsx +0 -20
  295. package/src/components/Select/SelectEmpty.test.tsx +0 -15
  296. package/src/components/Select/SelectEmpty.tsx +0 -29
  297. package/src/components/Select/SelectOption.test.tsx +0 -78
  298. package/src/components/Select/SelectOption.tsx +0 -79
  299. package/src/components/Select/SelectTrigger.tsx +0 -83
  300. package/src/components/Select/components.tsx +0 -14
  301. package/src/components/Select/index.ts +0 -12
  302. package/src/components/Select/useSelect.helpers.test.ts +0 -184
  303. package/src/components/Select/useSelect.helpers.ts +0 -63
  304. package/src/components/Select/useSelect.test.ts +0 -207
  305. package/src/components/Select/useSelect.ts +0 -540
  306. package/src/components/Select/useSelectExternal.ts +0 -26
  307. package/src/components/SideNavigation/Logo/Logo.test.tsx +0 -19
  308. package/src/components/SideNavigation/Logo/Logo.tsx +0 -26
  309. package/src/components/SideNavigation/Logo/index.ts +0 -1
  310. package/src/components/SideNavigation/Menu/Menu.test.tsx +0 -65
  311. package/src/components/SideNavigation/Menu/Menu.tsx +0 -53
  312. package/src/components/SideNavigation/Menu/MenuBaseItem.tsx +0 -64
  313. package/src/components/SideNavigation/Menu/MenuExpandable.tsx +0 -107
  314. package/src/components/SideNavigation/Menu/MenuLink.tsx +0 -37
  315. package/src/components/SideNavigation/Menu/index.ts +0 -1
  316. package/src/components/SideNavigation/Separator/Separator.test.tsx +0 -14
  317. package/src/components/SideNavigation/Separator/Separator.tsx +0 -20
  318. package/src/components/SideNavigation/Separator/index.ts +0 -1
  319. package/src/components/SideNavigation/SideNavigation.stories.tsx +0 -69
  320. package/src/components/SideNavigation/SideNavigation.test.tsx +0 -21
  321. package/src/components/SideNavigation/SideNavigation.tsx +0 -47
  322. package/src/components/SideNavigation/index.ts +0 -5
  323. package/src/components/SideNavigation/useSideNavigation.ts +0 -36
  324. package/src/components/Steps/ProgressSteps/ProgressStep.tsx +0 -163
  325. package/src/components/Steps/ProgressSteps/ProgressSteps.tsx +0 -37
  326. package/src/components/Steps/ProgressSteps/index.ts +0 -1
  327. package/src/components/Steps/Steps.fixtures.ts +0 -11
  328. package/src/components/Steps/Steps.helpers.ts +0 -11
  329. package/src/components/Steps/Steps.stories.tsx +0 -65
  330. package/src/components/Steps/Steps.test.tsx +0 -78
  331. package/src/components/Steps/Steps.tsx +0 -53
  332. package/src/components/Steps/Steps.types.ts +0 -5
  333. package/src/components/Steps/StepsContext.ts +0 -5
  334. package/src/components/Steps/StepsStep.tsx +0 -58
  335. package/src/components/Steps/index.ts +0 -6
  336. package/src/components/Steps/useStep.test.tsx +0 -217
  337. package/src/components/Steps/useSteps.ts +0 -131
  338. package/src/components/Switch/Switch.stories.tsx +0 -65
  339. package/src/components/Switch/Switch.test.tsx +0 -60
  340. package/src/components/Switch/Switch.tsx +0 -209
  341. package/src/components/Switch/index.ts +0 -2
  342. package/src/components/Table/Selection.tsx +0 -202
  343. package/src/components/Table/Table.fixtures.ts +0 -101
  344. package/src/components/Table/Table.stories.tsx +0 -568
  345. package/src/components/Table/Table.test.tsx +0 -310
  346. package/src/components/Table/Table.tsx +0 -523
  347. package/src/components/Table/Table.types.ts +0 -93
  348. package/src/components/Table/TableSortHandle.tsx +0 -31
  349. package/src/components/Table/index.tsx +0 -2
  350. package/src/components/Table/useSortBy.test.ts +0 -96
  351. package/src/components/Table/useSortBy.ts +0 -92
  352. package/src/components/Table/useSortBy.types.ts +0 -21
  353. package/src/components/TablePagination/RowsPerPage.tsx +0 -81
  354. package/src/components/TablePagination/TablePagination.stories.tsx +0 -42
  355. package/src/components/TablePagination/TablePagination.styles.ts +0 -13
  356. package/src/components/TablePagination/TablePagination.test.tsx +0 -111
  357. package/src/components/TablePagination/TablePagination.tsx +0 -49
  358. package/src/components/TablePagination/TablePagination.types.ts +0 -69
  359. package/src/components/TablePagination/TablePaginationActions.tsx +0 -144
  360. package/src/components/TablePagination/index.ts +0 -2
  361. package/src/components/Tabs/Tabs.stories.tsx +0 -78
  362. package/src/components/Tabs/Tabs.test.tsx +0 -103
  363. package/src/components/Tabs/Tabs.tsx +0 -287
  364. package/src/components/Tabs/Tabs.types.ts +0 -7
  365. package/src/components/Tabs/TabsContext.ts +0 -10
  366. package/src/components/Tabs/index.ts +0 -2
  367. package/src/components/Tag/Tag.stories.tsx +0 -112
  368. package/src/components/Tag/Tag.test.tsx +0 -19
  369. package/src/components/Tag/Tag.tsx +0 -393
  370. package/src/components/Tag/index.ts +0 -2
  371. package/src/components/Text/Text.stories.tsx +0 -59
  372. package/src/components/Text/Text.test.tsx +0 -48
  373. package/src/components/Text/Text.tsx +0 -14
  374. package/src/components/Text/index.ts +0 -2
  375. package/src/components/TextField/TextField.stories.tsx +0 -90
  376. package/src/components/TextField/TextField.test.tsx +0 -36
  377. package/src/components/TextField/TextField.tsx +0 -244
  378. package/src/components/TextField/index.ts +0 -6
  379. package/src/components/TextField/useTextField.tsx +0 -26
  380. package/src/components/Textarea/Textarea.stories.tsx +0 -101
  381. package/src/components/Textarea/Textarea.test.tsx +0 -14
  382. package/src/components/Textarea/Textarea.tsx +0 -230
  383. package/src/components/Textarea/index.ts +0 -2
  384. package/src/components/Toast/Toast.stories.tsx +0 -50
  385. package/src/components/Toast/Toast.test.tsx +0 -24
  386. package/src/components/Toast/Toast.tsx +0 -141
  387. package/src/components/Toast/icons/close.svg +0 -3
  388. package/src/components/Toast/icons/danger.svg +0 -4
  389. package/src/components/Toast/icons/neutral.svg +0 -4
  390. package/src/components/Toast/icons/success.svg +0 -3
  391. package/src/components/Toast/icons/warning.svg +0 -4
  392. package/src/components/Toast/index.tsx +0 -2
  393. package/src/components/ToggleGroup/Toggle.test.tsx +0 -76
  394. package/src/components/ToggleGroup/Toggle.tsx +0 -158
  395. package/src/components/ToggleGroup/ToggleGroup.constants.ts +0 -16
  396. package/src/components/ToggleGroup/ToggleGroup.stories.tsx +0 -145
  397. package/src/components/ToggleGroup/ToggleGroup.test.tsx +0 -237
  398. package/src/components/ToggleGroup/ToggleGroup.tsx +0 -165
  399. package/src/components/ToggleGroup/ToggleGroup.types.ts +0 -35
  400. package/src/components/ToggleGroup/ToggleGroupContext.ts +0 -13
  401. package/src/components/ToggleGroup/index.ts +0 -3
  402. package/src/components/Tooltip/Tooltip.stories.tsx +0 -82
  403. package/src/components/Tooltip/Tooltip.test.tsx +0 -49
  404. package/src/components/Tooltip/Tooltip.tsx +0 -185
  405. package/src/components/Tooltip/index.ts +0 -2
  406. package/src/components/TopNavigation/Logo/Logo.test.tsx +0 -21
  407. package/src/components/TopNavigation/Logo/Logo.tsx +0 -20
  408. package/src/components/TopNavigation/Logo/index.ts +0 -1
  409. package/src/components/TopNavigation/Menu/Menu.test.tsx +0 -125
  410. package/src/components/TopNavigation/Menu/Menu.tsx +0 -62
  411. package/src/components/TopNavigation/Menu/MenuItemDropdown.tsx +0 -118
  412. package/src/components/TopNavigation/Menu/MenuItemIcon.tsx +0 -50
  413. package/src/components/TopNavigation/Menu/index.ts +0 -1
  414. package/src/components/TopNavigation/OpenSideNavButton/OpenSideNavButton.tsx +0 -28
  415. package/src/components/TopNavigation/OpenSideNavButton/index.ts +0 -1
  416. package/src/components/TopNavigation/TopNavigation.stories.tsx +0 -42
  417. package/src/components/TopNavigation/TopNavigation.tsx +0 -47
  418. package/src/components/TopNavigation/index.ts +0 -2
  419. package/src/components/VisuallyHidden/VisuallyHidden.mdx +0 -26
  420. package/src/components/VisuallyHidden/VisuallyHidden.stories.tsx +0 -32
  421. package/src/components/VisuallyHidden/VisuallyHidden.test.tsx +0 -18
  422. package/src/components/VisuallyHidden/VisuallyHidden.tsx +0 -6
  423. package/src/components/VisuallyHidden/index.ts +0 -1
  424. package/src/docs/tools/DatePickerEvent.stories.mdx +0 -108
  425. package/src/docs/tools/DragDropFileEvent.stories.mdx +0 -75
  426. package/src/docs/tools/conditional.stories.mdx +0 -251
  427. package/src/docs/tools/selectEvent.stories.mdx +0 -121
  428. package/src/hooks/useClickOutside/index.ts +0 -1
  429. package/src/hooks/useClickOutside/useClickOutside.test.tsx +0 -116
  430. package/src/hooks/useClickOutside/useClickOutside.ts +0 -65
  431. package/src/hooks/useDidMount/index.ts +0 -1
  432. package/src/hooks/useDidMount/useDidMount.test.tsx +0 -38
  433. package/src/hooks/useDidMount/useDidMount.ts +0 -20
  434. package/src/hooks/useFingerprint/index.ts +0 -1
  435. package/src/hooks/useFingerprint/useFingerprint.test.ts +0 -76
  436. package/src/hooks/useFingerprint/useFingerprint.ts +0 -94
  437. package/src/hooks/useFocusTrap/index.ts +0 -2
  438. package/src/hooks/useFocusTrap/useFocusTrap.stories.tsx +0 -87
  439. package/src/hooks/useFocusTrap/useFocusTrap.test.tsx +0 -129
  440. package/src/hooks/useFocusTrap/useFocusTrap.ts +0 -187
  441. package/src/hooks/useFocusWithin/index.ts +0 -2
  442. package/src/hooks/useFocusWithin/useFocusWithin.test.tsx +0 -71
  443. package/src/hooks/useFocusWithin/useFocusWithin.ts +0 -62
  444. package/src/hooks/useHeightExpansionToggler/index.ts +0 -2
  445. package/src/hooks/useHeightExpansionToggler/useHeightExpansionToggler.test.tsx +0 -85
  446. package/src/hooks/useHeightExpansionToggler/useHeightExpansionToggler.ts +0 -54
  447. package/src/hooks/useID/index.ts +0 -1
  448. package/src/hooks/useID/useID.ts +0 -18
  449. package/src/hooks/useSelectable/SelectableStrategy.test.ts +0 -424
  450. package/src/hooks/useSelectable/SelectableStrategy.ts +0 -143
  451. package/src/hooks/useSelectable/index.ts +0 -8
  452. package/src/hooks/useSelectable/useSelectable.test.ts +0 -221
  453. package/src/hooks/useSelectable/useSelectable.ts +0 -156
  454. package/src/hooks/useSelectable/useSelectable.types.ts +0 -45
  455. package/src/hooks/useWindowResize/index.ts +0 -1
  456. package/src/hooks/useWindowResize/useWindowResize.ts +0 -27
  457. package/src/index.ts +0 -188
  458. package/src/stories/assets/code-brackets.svg +0 -1
  459. package/src/stories/assets/colors.svg +0 -1
  460. package/src/stories/assets/comments.svg +0 -1
  461. package/src/stories/assets/direction.svg +0 -1
  462. package/src/stories/assets/flow.svg +0 -1
  463. package/src/stories/assets/plugin.svg +0 -1
  464. package/src/stories/assets/repo.svg +0 -1
  465. package/src/stories/assets/stackalt.svg +0 -1
  466. package/src/stories/introduction.stories.mdx +0 -57
  467. package/src/stories/startPage.stories.mdx +0 -95
  468. package/src/styles/activatable.tsx +0 -30
  469. package/src/styles/disableable.tsx +0 -45
  470. package/src/styles/ellipsizable.tsx +0 -14
  471. package/src/styles/focusable.tsx +0 -32
  472. package/src/styles/font.test.ts +0 -31
  473. package/src/styles/font.tsx +0 -40
  474. package/src/styles/hidden.tsx +0 -29
  475. package/src/styles/hoverable.tsx +0 -30
  476. package/src/styles/transition.tsx +0 -25
  477. package/src/styles/typography.test.ts +0 -93
  478. package/src/styles/typography.ts +0 -190
  479. package/src/testing/DatePickerEvent/DatePickerEvent.ts +0 -117
  480. package/src/testing/DatePickerEvent/DateRangePickerEvent.ts +0 -83
  481. package/src/testing/DatePickerEvent/index.ts +0 -2
  482. package/src/testing/DragDropFileEvent/DragDropFileEvent.ts +0 -56
  483. package/src/testing/DragDropFileEvent/index.ts +0 -1
  484. package/src/testing/SelectEvent/SelectEvent.test.tsx +0 -192
  485. package/src/testing/SelectEvent/SelectEvent.ts +0 -264
  486. package/src/testing/SelectEvent/index.ts +0 -1
  487. package/src/testing/getInterpolatedStyles/getInterpolatedStyles.ts +0 -25
  488. package/src/testing/getInterpolatedStyles/index.ts +0 -1
  489. package/src/testing/index.ts +0 -6
  490. package/src/testing/renderWithDragDropFileProvider/index.ts +0 -1
  491. package/src/testing/renderWithDragDropFileProvider/renderWithDragDropFileProvider.tsx +0 -28
  492. package/src/tests/generator.ts +0 -127
  493. package/src/tests/renderer.tsx +0 -39
  494. package/src/theming/index.ts +0 -42
  495. package/src/theming/themes/alice.theme.ts +0 -1022
  496. package/src/theming/themes/index.ts +0 -3
  497. package/src/theming/themes/loadsmart.theme.ts +0 -1019
  498. package/src/theming/themes/miranda-compatibility.theme.ts +0 -972
  499. package/src/theming/theming.helpers.ts +0 -95
  500. package/src/tools/conditional.test.ts +0 -166
  501. package/src/tools/conditional.ts +0 -127
  502. package/src/tools/index.ts +0 -2
  503. package/src/tools/prop.test.ts +0 -52
  504. package/src/tools/prop.ts +0 -36
  505. package/src/utils/toolset/awaitTo.ts +0 -24
  506. package/src/utils/toolset/flatten.ts +0 -3
  507. package/src/utils/toolset/formatBytes.test.ts +0 -45
  508. package/src/utils/toolset/formatBytes.ts +0 -18
  509. package/src/utils/toolset/get.ts +0 -2
  510. package/src/utils/toolset/getID.test.ts +0 -57
  511. package/src/utils/toolset/getID.ts +0 -93
  512. package/src/utils/toolset/getOrdinalSuffix.test.ts +0 -27
  513. package/src/utils/toolset/getOrdinalSuffix.ts +0 -15
  514. package/src/utils/toolset/highlightMatch.test.tsx +0 -32
  515. package/src/utils/toolset/highlightMatch.tsx +0 -32
  516. package/src/utils/toolset/interleave.test.ts +0 -40
  517. package/src/utils/toolset/interleave.ts +0 -23
  518. package/src/utils/toolset/isEmpty.ts +0 -2
  519. package/src/utils/toolset/isThenable.test.ts +0 -40
  520. package/src/utils/toolset/isThenable.ts +0 -14
  521. package/src/utils/toolset/keyboard.ts +0 -50
  522. package/src/utils/toolset/omit.ts +0 -2
  523. package/src/utils/toolset/pluralize.ts +0 -16
  524. package/src/utils/toolset/range.ts +0 -2
  525. package/src/utils/toolset/rem.ts +0 -7
  526. package/src/utils/toolset/styledCompounds.ts +0 -22
  527. package/src/utils/toolset/toArray.ts +0 -16
  528. package/src/utils/types/ColorScheme.ts +0 -3
  529. package/src/utils/types/EventLike.ts +0 -11
  530. package/src/utils/types/InterpolatedStyle.ts +0 -3
  531. package/src/utils/types/Status.ts +0 -8
@@ -1,195 +0,0 @@
1
- import { identity } from '@loadsmart/utils-function'
2
- import { padded } from './Date.helper'
3
-
4
- import type { CalendarDate } from './Date.helper'
5
- import { getOrdinalSuffix } from 'utils/toolset/getOrdinalSuffix'
6
-
7
- export interface DateFormat {
8
- format(date: CalendarDate): string
9
- }
10
-
11
- const getTokenValue = (date: CalendarDate, token: string) => {
12
- const value = DEFAULT_FORMATTERS[token].format(date.get())
13
-
14
- return (ADDITIONAL_FORMATTERS[token] || identity)(value)
15
- }
16
-
17
- /**
18
- * This helpers provides a convenient layer on top of `Intl.DateTimeFormat`,
19
- * using common tokens (based on `momentjs`) to format dates.
20
- */
21
- export default function DateFormatHelper(format: string): DateFormat {
22
- const tokens = tokenizer(format)
23
-
24
- return {
25
- format(date: CalendarDate) {
26
- return tokens
27
- .map((token, index) => {
28
- const previousIndex = index - 1
29
- const previousToken = tokens[previousIndex]
30
-
31
- if (token in DEFAULT_FORMATTERS) {
32
- return getTokenValue(date, token)
33
- }
34
-
35
- if (token in COMPOUND_FORMATTERS && COMPOUND_FORMATTERS[token].valid(previousToken)) {
36
- return COMPOUND_FORMATTERS[token].format(getTokenValue(date, previousToken))
37
- }
38
-
39
- return token
40
- })
41
- .join('')
42
- },
43
- }
44
- }
45
-
46
- /**
47
- * Supported tokens:
48
- *
49
- *| | Token | Output |
50
- *| :----------------------------- | :---- | :---------------------------------------- |
51
- *| Month | MM | 01, 02, ..., 11, 12 |
52
- *| | MMM | Jan, Feb, ..., Nov, Dec |
53
- *| | MMMM | January, February, ..., November,December |
54
- *| Day of Month | D | 1, 2, ..., 30, 31 |
55
- *| Day of Month with leading 0 | DD | 01, 02, ..., 30, 31 |
56
- *| Day of week | ddd | Sun, Mon, ... Fri, Sat |
57
- *| | dddd | Sunday, Monday, ..., Friday, Saturday |
58
- *| Year | YYYY | 1970, 1971, ..., 2029, 2030 |
59
- *| Hour | HH | 00, 01, ..., 22, 23 |
60
- *| | hh | 00, 01, ..., 11, 12 |
61
- *| Minute | mm | 01, 02, ..., 58, 59 |
62
- *| Seconds | ss | 01, 02, ..., 58, 59 |
63
- *| Post or ante meridiem | a | am, pm |
64
- *| | A | AM, PM |
65
- *| Ordinal numbers | o | 1st, 2nd, 3rd, ..., 10th |
66
- *| Scaped sequence | [] | |
67
- *
68
- * @param format
69
- * @returns
70
- */
71
- export function tokenizer(format: string): string[] {
72
- function getType(char?: string): string {
73
- if (
74
- char != undefined &&
75
- ['M', 'd', 'D', 'Y', 'H', 'h', 'm', 's', 'A', 'a', 'o'].includes(char)
76
- ) {
77
- return 'token'
78
- }
79
-
80
- return 'string'
81
- }
82
-
83
- const tokens: string[] = []
84
-
85
- let i = 0
86
- let prev
87
- let isEscaping = false
88
-
89
- while (i < format.length) {
90
- const at = Math.max(0, tokens.length - 1)
91
-
92
- const char = format.charAt(i)
93
- i++
94
-
95
- if (['[', ']'].includes(char)) {
96
- isEscaping = char === '['
97
- } else if (isEscaping) {
98
- tokens[at] = `${tokens[at] || ''}${char}`
99
- } else if (prev !== char && [getType(prev), getType(char)].includes('token')) {
100
- // we just need to start a new piece of string if we found a possible valid token
101
- tokens.push(char)
102
- } else {
103
- tokens[at] = `${tokens[at] || ''}${char}`
104
- }
105
-
106
- prev = char
107
- }
108
-
109
- return tokens
110
- }
111
-
112
- /**
113
- * TODO: Evaluate the need to add the following pollyfills:
114
- * - https://formatjs.io/docs/polyfills/intl-datetimeformat/
115
- * - https://formatjs.io/docs/polyfills/intl-getcanonicallocales/
116
- * - https://formatjs.io/docs/polyfills/intl-locale/
117
- * - https://formatjs.io/docs/polyfills/intl-numberformat/
118
- * - https://formatjs.io/docs/polyfills/intl-pluralrules/
119
- */
120
- const DEFAULT_FORMATTERS: Record<string, Intl.DateTimeFormat> = {
121
- MM: new Intl.DateTimeFormat('en-US', {
122
- month: '2-digit',
123
- }),
124
- MMM: new Intl.DateTimeFormat('en-US', {
125
- month: 'short',
126
- }),
127
- MMMM: new Intl.DateTimeFormat('en-US', {
128
- month: 'long',
129
- }),
130
- D: new Intl.DateTimeFormat('en-US', {
131
- day: 'numeric',
132
- }),
133
- DD: new Intl.DateTimeFormat('en-US', {
134
- day: '2-digit',
135
- }),
136
- ddd: new Intl.DateTimeFormat('en-US', {
137
- weekday: 'short',
138
- }),
139
- dddd: new Intl.DateTimeFormat('en-US', {
140
- weekday: 'long',
141
- }),
142
- YYYY: new Intl.DateTimeFormat('en-US', {
143
- year: 'numeric',
144
- }),
145
- HH: new Intl.DateTimeFormat('en-US', {
146
- hour: '2-digit',
147
- hourCycle: 'h23',
148
- }),
149
- hh: new Intl.DateTimeFormat('en-US', {
150
- hour: '2-digit',
151
- hour12: true,
152
- }),
153
- mm: new Intl.DateTimeFormat('en-US', {
154
- minute: '2-digit',
155
- hour12: false,
156
- }),
157
- ss: new Intl.DateTimeFormat('en-US', {
158
- second: '2-digit',
159
- hour12: false,
160
- }),
161
- a: new Intl.DateTimeFormat('en-US', {
162
- hour: '2-digit',
163
- hour12: true,
164
- }),
165
- A: new Intl.DateTimeFormat('en-US', {
166
- hour: '2-digit',
167
- hour12: true,
168
- }),
169
- }
170
-
171
- /**
172
- * Apply additional formatting.
173
- *
174
- * Padding, for example, is applied in some cases due to [this](https://bugs.chromium.org/p/chromium/issues/detail?id=527926) bug.
175
- */
176
- const ADDITIONAL_FORMATTERS: Record<string, (value: string) => string> = {
177
- hh: (value: string) => (value ? padded(value.split(/\s/)[0], 2) : value),
178
- HH: (value: string) => (value ? padded(value, 2) : value),
179
- mm: (value: string) => (value ? padded(value, 2) : value),
180
- ss: (value: string) => (value ? padded(value, 2) : value),
181
- a: (value: string) => (value ? (value.split(/\s/)[1] || '').toLowerCase() : value),
182
- A: (value: string) => (value ? (value.split(/\s/)[1] || '').toUpperCase() : value),
183
- }
184
-
185
- type CompoundFormatter = {
186
- valid: (token: string) => boolean
187
- format: (value: string) => string
188
- }
189
-
190
- const COMPOUND_FORMATTERS: Record<string, CompoundFormatter> = {
191
- o: {
192
- valid: (token) => new Set(['D', 'DD']).has(token),
193
- format: (value: string) => getOrdinalSuffix(parseInt(value, 10)),
194
- },
195
- }
@@ -1,187 +0,0 @@
1
- import MonthHelper, { MONTH_BY_NAME, MONTH_BY_ALIAS } from './Month.helper'
2
-
3
- import type { CalendarMonth, CalendarMonthAlias } from './Month.helper'
4
-
5
- const ALL_MONTHS = Object.keys(MONTH_BY_NAME).map((name) => MONTH_BY_NAME[name])
6
- const ALL_MONTHS_ALIASES = Object.keys(MONTH_BY_ALIAS) as CalendarMonthAlias[]
7
-
8
- describe('MonthHelper', () => {
9
- describe('getAll', () => {
10
- it('returns all months', () => {
11
- expect(MonthHelper.getAll()).toEqual(ALL_MONTHS)
12
- })
13
- })
14
-
15
- // Checks if all aliases return the expected month
16
- ;(
17
- [
18
- {
19
- expectedAliases: ['0', 'jan', 'january'],
20
- month: MONTH_BY_NAME.january,
21
- },
22
- {
23
- expectedAliases: ['1', 'feb', 'february'],
24
- month: MONTH_BY_NAME.february,
25
- },
26
- {
27
- expectedAliases: ['2', 'mar', 'march'],
28
- month: MONTH_BY_NAME.march,
29
- },
30
- {
31
- expectedAliases: ['3', 'apr', 'april'],
32
- month: MONTH_BY_NAME.april,
33
- },
34
- {
35
- expectedAliases: ['4', 'may', 'may'],
36
- month: MONTH_BY_NAME.may,
37
- },
38
- {
39
- expectedAliases: ['5', 'jun', 'june'],
40
- month: MONTH_BY_NAME.june,
41
- },
42
- {
43
- expectedAliases: ['6', 'jul', 'july'],
44
- month: MONTH_BY_NAME.july,
45
- },
46
- {
47
- expectedAliases: ['7', 'aug', 'august'],
48
- month: MONTH_BY_NAME.august,
49
- },
50
- {
51
- expectedAliases: ['8', 'sep', 'september'],
52
- month: MONTH_BY_NAME.september,
53
- },
54
- {
55
- expectedAliases: ['9', 'oct', 'october'],
56
- month: MONTH_BY_NAME.october,
57
- },
58
- {
59
- expectedAliases: ['10', 'nov', 'november'],
60
- month: MONTH_BY_NAME.november,
61
- },
62
- {
63
- expectedAliases: ['11', 'dec', 'december'],
64
- month: MONTH_BY_NAME.december,
65
- },
66
- ] as { expectedAliases: CalendarMonthAlias[]; month: CalendarMonth }[]
67
- ).forEach(({ expectedAliases, month }) => {
68
- describe(month.name, () => {
69
- it(`returns ${month.name} month`, () => {
70
- expectedAliases.forEach((alias) => {
71
- expect(MonthHelper(alias)).not.toBeNull()
72
- expect(MonthHelper(alias).get()).toEqual(month)
73
- })
74
- })
75
-
76
- it(`compares ${month.name} months correctly`, () => {
77
- ALL_MONTHS_ALIASES.forEach((someAlias) => {
78
- expectedAliases.forEach((expectedAlias) => {
79
- expect(MonthHelper(someAlias).is(expectedAlias)).toBe(
80
- expectedAliases.includes(someAlias)
81
- )
82
- })
83
- })
84
- })
85
- })
86
- })
87
-
88
- it('formats correctly', () => {
89
- const EXPECTED = {
90
- january: {
91
- numeric: '1',
92
- '2-digit': '01',
93
- short: 'Jan',
94
- narrow: 'J',
95
- long: 'January',
96
- },
97
- february: {
98
- numeric: '2',
99
- '2-digit': '02',
100
- short: 'Feb',
101
- narrow: 'F',
102
- long: 'February',
103
- },
104
- march: {
105
- numeric: '3',
106
- '2-digit': '03',
107
- short: 'Mar',
108
- narrow: 'M',
109
- long: 'March',
110
- },
111
- april: {
112
- numeric: '4',
113
- '2-digit': '04',
114
- short: 'Apr',
115
- narrow: 'A',
116
- long: 'April',
117
- },
118
- may: {
119
- numeric: '5',
120
- '2-digit': '05',
121
- short: 'May',
122
- narrow: 'M',
123
- long: 'May',
124
- },
125
- june: {
126
- numeric: '6',
127
- '2-digit': '06',
128
- short: 'Jun',
129
- narrow: 'J',
130
- long: 'June',
131
- },
132
- july: {
133
- numeric: '7',
134
- '2-digit': '07',
135
- short: 'Jul',
136
- narrow: 'J',
137
- long: 'July',
138
- },
139
- august: {
140
- numeric: '8',
141
- '2-digit': '08',
142
- short: 'Aug',
143
- narrow: 'A',
144
- long: 'August',
145
- },
146
- september: {
147
- numeric: '9',
148
- '2-digit': '09',
149
- short: 'Sep',
150
- narrow: 'S',
151
- long: 'September',
152
- },
153
- october: {
154
- numeric: '10',
155
- '2-digit': '10',
156
- short: 'Oct',
157
- narrow: 'O',
158
- long: 'October',
159
- },
160
- november: {
161
- numeric: '11',
162
- '2-digit': '11',
163
- short: 'Nov',
164
- narrow: 'N',
165
- long: 'November',
166
- },
167
- december: {
168
- numeric: '12',
169
- '2-digit': '12',
170
- short: 'Dec',
171
- narrow: 'D',
172
- long: 'December',
173
- },
174
- }
175
-
176
- const entries = Object.entries(EXPECTED)
177
- for (let i = 0; i < entries.length; i++) {
178
- const [key, expected] = entries[i]
179
-
180
- expect(MonthHelper(key as CalendarMonthAlias).format('numeric')).toBe(expected.numeric)
181
- expect(MonthHelper(key as CalendarMonthAlias).format('2-digit')).toBe(expected['2-digit'])
182
- expect(MonthHelper(key as CalendarMonthAlias).format('short')).toBe(expected.short)
183
- expect(MonthHelper(key as CalendarMonthAlias).format('narrow')).toBe(expected.narrow)
184
- expect(MonthHelper(key as CalendarMonthAlias).format('long')).toBe(expected.long)
185
- }
186
- })
187
- })
@@ -1,172 +0,0 @@
1
- export function aliased<T>(aliasMap: Record<number | string, T>, alias: number | string): T {
2
- return aliasMap[String(alias).toLowerCase()]
3
- }
4
-
5
- export const MONTH_BY_ALIAS = {
6
- 0: 'january',
7
- jan: 'january',
8
- january: 'january',
9
-
10
- 1: 'february',
11
- feb: 'february',
12
- february: 'february',
13
-
14
- 2: 'march',
15
- mar: 'march',
16
- march: 'march',
17
-
18
- 3: 'april',
19
- apr: 'april',
20
- april: 'april',
21
-
22
- 4: 'may',
23
- may: 'may',
24
-
25
- 5: 'june',
26
- jun: 'june',
27
- june: 'june',
28
-
29
- 6: 'july',
30
- jul: 'july',
31
- july: 'july',
32
-
33
- 7: 'august',
34
- aug: 'august',
35
- august: 'august',
36
-
37
- 8: 'september',
38
- sep: 'september',
39
- september: 'september',
40
-
41
- 9: 'october',
42
- oct: 'october',
43
- october: 'october',
44
-
45
- 10: 'november',
46
- nov: 'november',
47
- november: 'november',
48
-
49
- 11: 'december',
50
- dec: 'december',
51
- december: 'december',
52
- }
53
-
54
- export type CalendarMonthAlias = keyof typeof MONTH_BY_ALIAS
55
-
56
- export type CalendarMonth = {
57
- name: string
58
- /**
59
- * Integer value representing the month, beginning with 0 for January to 11 for December.
60
- * Based on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/Date
61
- */
62
- index: number
63
- }
64
-
65
- export const MONTH_BY_NAME: Record<string, CalendarMonth> = {
66
- january: {
67
- name: 'January',
68
- index: 0,
69
- },
70
- february: {
71
- name: 'February',
72
- index: 1,
73
- },
74
- march: {
75
- name: 'March',
76
- index: 2,
77
- },
78
- april: {
79
- name: 'April',
80
- index: 3,
81
- },
82
- may: {
83
- name: 'May',
84
- index: 4,
85
- },
86
- june: {
87
- name: 'June',
88
- index: 5,
89
- },
90
- july: {
91
- name: 'July',
92
- index: 6,
93
- },
94
- august: {
95
- name: 'August',
96
- index: 7,
97
- },
98
- september: {
99
- name: 'September',
100
- index: 8,
101
- },
102
- october: {
103
- name: 'October',
104
- index: 9,
105
- },
106
- november: {
107
- name: 'November',
108
- index: 10,
109
- },
110
- december: {
111
- name: 'December',
112
- index: 11,
113
- },
114
- }
115
-
116
- function getMonthByAlias(alias: CalendarMonthAlias): CalendarMonth {
117
- alias = aliased(MONTH_BY_ALIAS, alias) as CalendarMonthAlias
118
-
119
- return MONTH_BY_NAME[alias]
120
- }
121
-
122
- function getAllMonths() {
123
- return (Object.keys(MONTH_BY_NAME) as CalendarMonthAlias[]).map((alias) => {
124
- return getMonthByAlias(alias)
125
- })
126
- }
127
-
128
- function MonthHelper(alias: CalendarMonthAlias): {
129
- get(): CalendarMonth
130
- format(representation?: 'numeric' | '2-digit' | 'long' | 'short' | 'narrow'): string
131
- is(other: CalendarMonthAlias): boolean
132
- } {
133
- const month = getMonthByAlias(alias)
134
-
135
- return {
136
- get() {
137
- return month
138
- },
139
- /**
140
- * Follows same values available in https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat.
141
- * * "numeric" (e.g., 3)
142
- * * "2-digit" (e.g., 03)
143
- * * "long" (e.g., March)
144
- * * "short" (e.g., Mar)
145
- * * "narrow" (e.g., M)
146
- */
147
- format(representation: 'numeric' | '2-digit' | 'long' | 'short' | 'narrow' = 'long') {
148
- switch (representation) {
149
- case 'numeric':
150
- return String(month.index + 1)
151
- case '2-digit':
152
- return String(month.index + 1).padStart(2, '0')
153
- case 'short':
154
- return month.name.slice(0, 3)
155
- case 'narrow':
156
- return month.name.slice(0, 1)
157
- default:
158
- return month.name
159
- }
160
- },
161
- is(other: CalendarMonthAlias) {
162
- return (
163
- getMonthByAlias(other) != null &&
164
- aliased(MONTH_BY_ALIAS, alias) === aliased(MONTH_BY_ALIAS, other)
165
- )
166
- },
167
- }
168
- }
169
-
170
- MonthHelper.getAll = getAllMonths
171
-
172
- export default MonthHelper
@@ -1,61 +0,0 @@
1
- import React from 'react'
2
- import styled from 'styled-components'
3
-
4
- import { BaseButton } from 'components/Button'
5
- import { getToken as token } from 'theming'
6
- import { Icon } from 'components/Icon'
7
- import conditional, { whenProps } from 'tools/conditional'
8
- import focusable from 'styles/focusable'
9
- import disableable from 'styles/disableable'
10
- import typography from 'styles/typography'
11
-
12
- import type { ButtonProps } from 'components/Button'
13
-
14
- const Button = styled(BaseButton)`
15
- user-select: none;
16
-
17
- ${typography(
18
- conditional({
19
- 'body-bold': whenProps({ 'aria-expanded': true }),
20
- body: whenProps({ 'aria-expanded': false }),
21
- })
22
- )};
23
- border-color: transparent;
24
- background-color: transparent;
25
-
26
- color: ${token('color-neutral-dark')};
27
-
28
- ${focusable`
29
- box-shadow: ${token('button-primary-outline')};
30
- `}
31
-
32
- ${disableable`
33
- pointer-events: none;
34
- opacity: 1;
35
- `}
36
- `
37
-
38
- const Caret = styled(Icon)<{ $rotate: boolean }>`
39
- ${conditional({
40
- 'transform: rotate(180deg);': whenProps({ $rotate: true }),
41
- })}
42
- `
43
-
44
- function PickerModeToggle(
45
- props: Omit<ButtonProps & { expanded: boolean }, 'trailing'>
46
- ): JSX.Element {
47
- const { expanded, disabled, ...others } = props
48
-
49
- return (
50
- <Button
51
- type="button"
52
- {...others}
53
- aria-haspopup="true"
54
- aria-expanded={expanded}
55
- disabled={disabled}
56
- trailing={!disabled && <Caret name="chevron-down" size={16} $rotate={expanded} />}
57
- />
58
- )
59
- }
60
-
61
- export default PickerModeToggle
@@ -1,85 +0,0 @@
1
- import React from 'react'
2
-
3
- import DateHelper from '../Date.helper'
4
- import DayPicker, { WEEKDAYS } from './DayPicker'
5
- import generator from '../../../tests/generator'
6
- import renderer, { screen, fire } from '../../../tests/renderer'
7
-
8
- import type { useCalendarReturn, CalendarPickerProps, usePickerModeReturn } from '../Calendar.types'
9
-
10
- const setup = (overrides: CalendarPickerProps) => renderer(<DayPicker {...overrides} />).render()
11
-
12
- describe('DayPicker', () => {
13
- const month = {
14
- month: 10,
15
- year: 2021,
16
- days: [
17
- DateHelper('2021-11-01T12:00:00.000Z'),
18
- DateHelper('2021-11-02T12:00:00.000Z'),
19
- DateHelper('2021-11-03T12:00:00.000Z'),
20
- DateHelper('2021-11-04T12:00:00.000Z'),
21
- DateHelper('2021-11-05T12:00:00.000Z'),
22
- ],
23
- }
24
-
25
- const mockedCalendar: useCalendarReturn = {
26
- mode: 'single',
27
- months: [month],
28
- selected: [month.days[1].getTime(), month.days[3].getTime()],
29
- constraints: [],
30
- clear: jest.fn(),
31
- set: jest.fn(),
32
- select: jest.fn(),
33
- }
34
-
35
- const mockedMode: usePickerModeReturn = {
36
- get: jest.fn(),
37
- is: jest.fn(),
38
- dispatch: jest.fn(),
39
- Picker: jest.fn(),
40
- }
41
-
42
- it('renders all weekdays correctly', () => {
43
- const props: CalendarPickerProps = { calendar: mockedCalendar, mode: mockedMode }
44
- setup(props)
45
-
46
- WEEKDAYS.forEach((weekday) => {
47
- expect(screen.getByText(weekday)).toBeInTheDocument()
48
- })
49
- })
50
-
51
- it('renders all days of the month correctly', () => {
52
- const props: CalendarPickerProps = { calendar: mockedCalendar, mode: mockedMode }
53
- setup(props)
54
-
55
- mockedCalendar.months[0].days.forEach((day) => {
56
- expect(screen.getByText(day.getDate())).toBeInTheDocument()
57
- })
58
- })
59
-
60
- it('renders selected days correctly', () => {
61
- const props: CalendarPickerProps = { calendar: mockedCalendar, mode: mockedMode }
62
- setup(props)
63
-
64
- const selectedDays = screen.getAllByRole('checkbox', { checked: true })
65
-
66
- expect(selectedDays[0]).toHaveTextContent('2')
67
- expect(selectedDays[1]).toHaveTextContent('3')
68
- expect(selectedDays[2]).toHaveTextContent('4')
69
- })
70
-
71
- it('trigger selection correctly', () => {
72
- const props: CalendarPickerProps = {
73
- calendar: mockedCalendar,
74
- mode: mockedMode,
75
- onDayClick: jest.fn(),
76
- }
77
- setup(props)
78
-
79
- const selectedDay = generator.pickone(month.days)
80
-
81
- fire.click(screen.getByText(String(selectedDay.getDate())))
82
-
83
- expect(props.onDayClick).toHaveBeenCalledWith(selectedDay.getTime())
84
- })
85
- })