@loadsmart/loadsmart-ui 7.5.0 → 7.7.0-beta.1

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