@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,140 +0,0 @@
1
- import React, { useContext, forwardRef } from 'react'
2
- import styled from 'styled-components'
3
-
4
- import { DateFormatHelper, DateHelper, GenericCalendar } from 'components/Calendar'
5
- import { Dropdown, DropdownContext, GenericDropdown } from 'components/Dropdown'
6
- import { getToken as token } from 'theming'
7
- import { Group } from 'components/Layout'
8
- import { Icon } from 'components/Icon'
9
- import { TextField as DefaultTextField } from 'components/TextField'
10
- import CloseButton from 'common/CloseButton'
11
- import useDatePicker from './useDatePicker'
12
- import { Popover } from 'components/Popover'
13
-
14
- import type { CalendarDate } from 'components/Calendar'
15
- import type { ChangeEvent } from 'react'
16
- import type { DatePickerProps } from './DatePicker.types'
17
- import type { TextFieldProps } from 'components/TextField'
18
-
19
- /**
20
- * https://www.regular-expressions.info/dates.html
21
- * https://learning.oreilly.com/library/view/regular-expressions-cookbook/9781449327453/ch04s04.html#validation-dates-problem
22
- */
23
- const DATE_REGEX = /^(1[0-2]|0?[1-9])\/(3[01]|[12][0-9]|0?[1-9])\/(19|20)\d{2}$/
24
-
25
- export const formatter = DateFormatHelper('MM/DD/YYYY')
26
-
27
- const TextField = styled(DefaultTextField)`
28
- & > input {
29
- width: 10ch;
30
- }
31
- `
32
-
33
- const DropdownMenu = styled(Dropdown.Menu)`
34
- width: max-content;
35
- min-width: initial;
36
- max-height: initial;
37
- padding: ${token('space-m')};
38
- overflow-y: initial;
39
- `
40
-
41
- export const ClearButton = styled(CloseButton)`
42
- width: 1em;
43
- height: 1em;
44
-
45
- margin-left: calc(-1 * ${token('space-s')}); // compensate for input's padding-left
46
- `
47
-
48
- interface DateInputProps extends Omit<TextFieldProps, 'onChange'> {
49
- onChange: (date: CalendarDate) => void
50
- }
51
-
52
- export const DateInput = forwardRef<HTMLInputElement, DateInputProps>(function DateInput(
53
- props: DateInputProps,
54
- ref
55
- ): JSX.Element {
56
- const { onChange, ...rest } = props
57
- const dropdown = useContext(DropdownContext)
58
-
59
- function handleInputChange(event: ChangeEvent<HTMLInputElement>) {
60
- const {
61
- target: { value },
62
- } = event
63
-
64
- if (!DATE_REGEX.test(value)) {
65
- return
66
- }
67
-
68
- onChange(DateHelper(value))
69
- }
70
-
71
- // TODO: use type="date" when IE is no longer in the way
72
- return (
73
- <TextField
74
- placeholder="00/00/0000"
75
- {...rest}
76
- ref={ref}
77
- type="text"
78
- disabled={dropdown.disabled}
79
- leading={<Icon name="calendar" />}
80
- onChange={handleInputChange}
81
- />
82
- )
83
- })
84
-
85
- function DatePicker(props: DatePickerProps): JSX.Element {
86
- const {
87
- id,
88
- name,
89
- value,
90
- onChange,
91
- disabled,
92
- constraints,
93
- getInputProps,
94
- getCalendarProps,
95
- placement,
96
- } = props
97
-
98
- const datePicker = useDatePicker({
99
- constraints,
100
- disabled,
101
- id,
102
- name,
103
- value,
104
- onChange,
105
- getInputProps,
106
- getCalendarProps,
107
- })
108
-
109
- function renderTrailing() {
110
- const [currSelectedDate] = datePicker.value
111
-
112
- if (!disabled && currSelectedDate) {
113
- return (
114
- <ClearButton
115
- size={12}
116
- type="button"
117
- aria-label="Clear selection"
118
- {...datePicker.getClearProps()}
119
- />
120
- )
121
- }
122
-
123
- return null
124
- }
125
-
126
- return (
127
- <GenericDropdown {...placement} {...datePicker.getDropdownProps()}>
128
- <Popover.Reference>
129
- <Group space="s">
130
- <DateInput trailing={renderTrailing()} {...datePicker.getInputProps()} />
131
- </Group>
132
- </Popover.Reference>
133
- <DropdownMenu>
134
- <GenericCalendar {...datePicker.getCalendarProps()} />
135
- </DropdownMenu>
136
- </GenericDropdown>
137
- )
138
- }
139
-
140
- export default DatePicker
@@ -1,30 +0,0 @@
1
- import type { CalendarProps, GenericCalendarProps, useCalendarProps } from 'components/Calendar'
2
-
3
- import type { TextFieldProps } from 'components/TextField'
4
- import type EventLike from 'utils/types/EventLike'
5
- import type { PopoverPlacement } from 'components/Popover'
6
-
7
- export interface DatePickerProps {
8
- id?: string
9
- name: string
10
- value?: null | string | number
11
- disabled?: boolean
12
- constraints?: CalendarProps['constraints']
13
- onChange?: (event: EventLike<string | null>) => void
14
- getInputProps?: () => Partial<TextFieldProps>
15
- getCalendarProps?: () => Partial<GenericCalendarProps>
16
- placement?: PopoverPlacement
17
- }
18
-
19
- export interface DateRangePickerProps {
20
- id?: string
21
- name: string
22
- value?: useCalendarProps['selected']
23
- disabled?: boolean
24
- constraints?: CalendarProps['constraints']
25
- onChange?: (event: EventLike<null | [string | null, string | null]>) => void
26
- getRangeStartInputProps?: () => Partial<TextFieldProps>
27
- getRangeEndInputProps?: () => Partial<TextFieldProps>
28
- getCalendarProps?: () => Partial<GenericCalendarProps>
29
- placement?: PopoverPlacement
30
- }
@@ -1,128 +0,0 @@
1
- import React, { useEffect, useState } from 'react'
2
-
3
- import { Label } from 'components/Label'
4
- import DateHelper, { TODAY } from '../Calendar/Date.helper'
5
- import DateRangePicker from './DateRangePicker'
6
-
7
- import type { Story, Meta } from '@storybook/react'
8
- import type { DateRangePickerProps } from './DatePicker.types'
9
- import type { useCalendarProps } from 'components/Calendar'
10
-
11
- export default {
12
- title: 'Components/Date/DateRangePicker',
13
- component: DateRangePicker,
14
- argTypes: {
15
- id: {
16
- table: {
17
- disable: true,
18
- },
19
- },
20
- name: {
21
- table: {
22
- disable: true,
23
- },
24
- },
25
- onChange: {
26
- table: {
27
- disable: true,
28
- },
29
- },
30
- getRangeStartInputProps: {
31
- table: {
32
- disable: true,
33
- },
34
- },
35
- getRangeEndInputProps: {
36
- table: {
37
- disable: true,
38
- },
39
- },
40
- getCalendarProps: {
41
- table: {
42
- disable: true,
43
- },
44
- },
45
- },
46
- } as Meta
47
-
48
- export const Playground: Story<DateRangePickerProps> = (args: DateRangePickerProps) => {
49
- return (
50
- <div className="flex flex-col">
51
- <Label htmlFor="playground-date-range-picker-start">Select the date range</Label>
52
- <DateRangePicker {...args} />
53
- </div>
54
- )
55
- }
56
-
57
- Playground.bind({})
58
-
59
- Playground.args = {
60
- id: 'playground-date-range-picker',
61
- name: 'playground-date-range-picker',
62
- }
63
-
64
- export const WithValue: Story<DateRangePickerProps> = (args: DateRangePickerProps) => {
65
- const [value, setValue] = useState<useCalendarProps['selected']>([
66
- DateHelper('December 17, 1995').toString(),
67
- DateHelper('December 22, 1995').toString(),
68
- ])
69
-
70
- useEffect(() => {
71
- setTimeout(() => {
72
- setValue([
73
- DateHelper('January 01, 2000').toString(),
74
- DateHelper('February 01, 2000').toString(),
75
- ])
76
- }, 3000)
77
- }, [])
78
-
79
- return (
80
- <div className="flex flex-col">
81
- <Label htmlFor="with-value-date-range-picker">Select the date range</Label>
82
- <DateRangePicker {...args} value={value} />
83
- <small className="mt-4">I&apos;ll change my value automatically. Wait and see.</small>
84
- </div>
85
- )
86
- }
87
-
88
- WithValue.bind({})
89
-
90
- WithValue.args = {
91
- id: 'with-value-date-range-picker',
92
- name: 'with-value-date-range-picker',
93
- }
94
-
95
- export function DateRangePickerConstraints(args: DateRangePickerProps): JSX.Element {
96
- return (
97
- <div className="flex flex-col">
98
- <Label htmlFor="constraints-date-range-picker">Select the available date range</Label>
99
- <DateRangePicker {...args} />
100
- </div>
101
- )
102
- }
103
-
104
- DateRangePickerConstraints.args = {
105
- id: 'constraints-date-range-picker',
106
- name: 'constraints-date-range-picker',
107
- constraints: [[null, TODAY.subtract('day', 1).toString()]],
108
- }
109
-
110
- DateRangePickerConstraints.parameters = {
111
- docs: {
112
- description: {
113
- story: `
114
- Constraints are used to block dates from being selected and can be represented in different ways, according to your needs. If a given day matches at least one of the constraints,
115
- it will be disabled.
116
-
117
-
118
- \`\`\`jsx
119
- const TODAY = DateHelper()
120
-
121
- <DateRangePicker {...props} constraints={[[null, TODAY.subtract('day', 1).toString()]]} />
122
- \`\`\`
123
-
124
- Check the constraints details in the [Calendar component](/story/components-calendar--calendar-constraints&viewMode=docs).
125
- `,
126
- },
127
- },
128
- }
@@ -1,267 +0,0 @@
1
- import React from 'react'
2
-
3
- import { composeStories } from '@storybook/react'
4
-
5
- import { MonthHelper } from '../Calendar'
6
- import { DateRangePickerEvent } from '../../testing/DatePickerEvent'
7
- import { formatter } from './DateRangePicker'
8
- import * as stories from './DateRangePicker.stories'
9
- import DateHelper, { TODAY } from '../Calendar/Date.helper'
10
- import generator from '../../tests/generator'
11
- import renderer, { screen, fire } from '../../tests/renderer'
12
-
13
- import type { DateRangePickerProps } from './DatePicker.types'
14
- import type { CalendarDate, CalendarMonthAlias } from '../Calendar'
15
-
16
- const { Playground } = composeStories(stories)
17
-
18
- const setup = (overrides: Partial<DateRangePickerProps>) =>
19
- renderer(<Playground {...overrides} />).render()
20
-
21
- describe('DateRangePicker', () => {
22
- it('starts collapsed', () => {
23
- const name = generator.word()
24
- const props = {
25
- id: name,
26
- name,
27
- }
28
-
29
- setup(props)
30
-
31
- expect(screen.queryByRole('menu')).not.toBeInTheDocument()
32
- })
33
-
34
- describe('when disabled', () => {
35
- it('does not expand when input for range start is clicked', () => {
36
- setup({ disabled: true })
37
-
38
- const datePickerInput = screen.getByTestId('input-date-range-start')
39
-
40
- expect(screen.queryByRole('menu')).not.toBeInTheDocument()
41
- expect(datePickerInput).toBeDisabled()
42
-
43
- fire.click(datePickerInput)
44
-
45
- expect(screen.queryByRole('menu')).not.toBeInTheDocument()
46
- })
47
-
48
- it('does not expand when input for range end is clicked', () => {
49
- setup({ disabled: true })
50
-
51
- const datePickerInput = screen.getByTestId('input-date-range-end')
52
-
53
- expect(screen.queryByRole('menu')).not.toBeInTheDocument()
54
- expect(datePickerInput).toBeDisabled()
55
-
56
- fire.click(datePickerInput)
57
-
58
- expect(screen.queryByRole('menu')).not.toBeInTheDocument()
59
- })
60
- })
61
-
62
- describe('when enabled', () => {
63
- const NEXT_MONTH = DateHelper(Date.UTC(TODAY.getYear(), TODAY.getMonth() + 1))
64
-
65
- it('expands with the current month/year calendar when range input is clicked', async () => {
66
- setup({ disabled: false })
67
-
68
- const datePickerInput = screen.getByLabelText('Select the date range')
69
-
70
- await DateRangePickerEvent.expand(datePickerInput)
71
-
72
- const months = screen.getAllByLabelText('Open month selection')
73
- const years = screen.getAllByLabelText('Open year selection')
74
-
75
- expect(months[0]).toHaveTextContent(
76
- MonthHelper(TODAY.getMonth() as CalendarMonthAlias).format('long')
77
- )
78
-
79
- expect(months[1]).toHaveTextContent(
80
- MonthHelper(NEXT_MONTH.getMonth() as CalendarMonthAlias).format('long')
81
- )
82
-
83
- expect(years[0]).toHaveTextContent(String(TODAY.getYear()))
84
- expect(years[1]).toHaveTextContent(String(NEXT_MONTH.getYear()))
85
- })
86
-
87
- it('expands with the start month/year calendar for the selected range when range input is clicked', async () => {
88
- const rangeStart = DateHelper('December 17, 1995')
89
- const rangeEnd = DateHelper('January 17, 1996')
90
-
91
- const value = [rangeStart.toString(), rangeEnd.toString()] as [string, string]
92
-
93
- setup({ disabled: false, value })
94
-
95
- const datePickerInput = screen.getByLabelText('Select the date range')
96
-
97
- await DateRangePickerEvent.expand(datePickerInput)
98
-
99
- const months = screen.getAllByLabelText('Open month selection')
100
- const years = screen.getAllByLabelText('Open year selection')
101
-
102
- expect(months[0]).toHaveTextContent(
103
- MonthHelper(rangeStart.getMonth() as CalendarMonthAlias).format('long')
104
- )
105
-
106
- expect(months[1]).toHaveTextContent(
107
- MonthHelper(rangeEnd.getMonth() as CalendarMonthAlias).format('long')
108
- )
109
-
110
- expect(years[0]).toHaveTextContent(String(rangeStart.getYear()))
111
- expect(years[1]).toHaveTextContent(String(rangeEnd.getYear()))
112
- })
113
-
114
- it('selects the clicked range of dates', async () => {
115
- setup({})
116
-
117
- const startDay = generator.natural({ min: 1, max: 14 })
118
-
119
- const startDate = DateHelper(Date.UTC(TODAY.getYear(), TODAY.getMonth(), startDay))
120
- const endDate = startDate.add('day', generator.natural({ min: 1, max: 14 }))
121
-
122
- const datePickerInput = screen.getByLabelText('Select the date range')
123
-
124
- await DateRangePickerEvent.pick(
125
- [formatter.format(startDate), formatter.format(endDate)],
126
- datePickerInput
127
- )
128
-
129
- expect(screen.getByTestId('input-date-range-start')).toHaveDisplayValue(
130
- formatter.format(startDate)
131
- )
132
-
133
- expect(screen.getByTestId('input-date-range-end')).toHaveDisplayValue(
134
- formatter.format(endDate)
135
- )
136
- })
137
-
138
- it('reverses the selected range of dates when start is before end', async () => {
139
- setup({})
140
-
141
- const startDay = generator.natural({ min: 1, max: 14 })
142
-
143
- const startDate = DateHelper(Date.UTC(TODAY.getYear(), TODAY.getMonth(), startDay))
144
- const endDate = startDate.add('day', generator.natural({ min: 1, max: 14 }))
145
-
146
- const datePickerInput = screen.getByLabelText('Select the date range')
147
-
148
- await DateRangePickerEvent.pick(
149
- [formatter.format(endDate), formatter.format(startDate)],
150
- datePickerInput
151
- )
152
-
153
- expect(screen.getByTestId('input-date-range-start')).toHaveDisplayValue(
154
- formatter.format(startDate)
155
- )
156
-
157
- expect(screen.getByTestId('input-date-range-end')).toHaveDisplayValue(
158
- formatter.format(endDate)
159
- )
160
- })
161
-
162
- function evaluateRangeSelection(
163
- from: CalendarDate,
164
- to: CalendarDate,
165
- range: [CalendarDate, CalendarDate]
166
- ) {
167
- let date = DateHelper(from.getTime())
168
- const [rangeStart, rangeEnd] = range
169
-
170
- // before the range starts, it's not selected
171
- while (date.getTime() < rangeStart.getTime()) {
172
- expect(screen.getByLabelText(formatter.format(date))).not.toBeChecked()
173
- date = date.add('day', 1)
174
- }
175
-
176
- while (date.getTime() <= rangeEnd.getTime()) {
177
- expect(screen.getByLabelText(formatter.format(date))).toBeChecked()
178
- date = date.add('day', 1)
179
- }
180
-
181
- // // after the range ends, it's not selected
182
- while (date.getTime() <= to.getTime()) {
183
- expect(screen.getByLabelText(formatter.format(date))).not.toBeChecked()
184
- date = date.add('day', 1)
185
- }
186
- }
187
-
188
- it('initializes with a selected range', async () => {
189
- const rangeStart = DateHelper('2022-02-15T12:00:00.000Z')
190
- const rangeEnd = DateHelper('2022-03-15T12:00:00.000Z')
191
-
192
- setup({ value: [rangeStart.toString(), rangeEnd.toString()] })
193
-
194
- const datePickerInput = screen.getByLabelText('Select the date range')
195
-
196
- expect(screen.getByTestId('input-date-range-start')).toHaveDisplayValue('02/15/2022')
197
- expect(screen.getByTestId('input-date-range-end')).toHaveDisplayValue('03/15/2022')
198
-
199
- const selectedDays = await DateRangePickerEvent.getSelectedDates(datePickerInput)
200
- expect(selectedDays.length).toBe(29)
201
-
202
- await DateRangePickerEvent.expand(datePickerInput)
203
-
204
- evaluateRangeSelection(
205
- DateHelper('2022-02-01T12:00:00.000Z'),
206
- DateHelper('2022-03-31T12:00:00.000Z'),
207
- [rangeStart, rangeEnd]
208
- )
209
- })
210
-
211
- it('updates selected date after the initially selected one changes', async () => {
212
- const rangeStart = DateHelper('2022-02-15T12:00:00.000Z')
213
- const rangeEnd = DateHelper('2022-03-15T12:00:00.000Z')
214
-
215
- const { rerender } = setup({ value: [rangeStart.toString(), rangeEnd.toString()] })
216
-
217
- const datePickerInput = screen.getByLabelText('Select the date range')
218
-
219
- expect(screen.getByTestId('input-date-range-start')).toHaveDisplayValue('02/15/2022')
220
- expect(screen.getByTestId('input-date-range-end')).toHaveDisplayValue('03/15/2022')
221
-
222
- await DateRangePickerEvent.expand(datePickerInput)
223
-
224
- evaluateRangeSelection(
225
- DateHelper('2022-02-01T12:00:00.000Z'),
226
- DateHelper('2022-03-31T12:00:00.000Z'),
227
- [rangeStart, rangeEnd]
228
- )
229
-
230
- const newRangeStart = DateHelper('2022-03-01T12:00:00.000Z')
231
- const newRangeEnd = DateHelper('2022-03-05T12:00:00.000Z')
232
-
233
- rerender(<Playground value={[newRangeStart.toString(), newRangeEnd.toString()]} />)
234
-
235
- expect(screen.getByTestId('input-date-range-start')).toHaveDisplayValue('03/01/2022')
236
- expect(screen.getByTestId('input-date-range-end')).toHaveDisplayValue('03/05/2022')
237
-
238
- await DateRangePickerEvent.expand(datePickerInput)
239
-
240
- evaluateRangeSelection(
241
- DateHelper('2022-03-01T12:00:00.000Z'),
242
- DateHelper('2022-04-30T12:00:00.000Z'),
243
- [newRangeStart, newRangeEnd]
244
- )
245
- })
246
-
247
- it('clears selection', async () => {
248
- const rangeStart = DateHelper('2022-02-15T12:00:00.000Z')
249
- const rangeEnd = DateHelper('2022-03-15T12:00:00.000Z')
250
-
251
- setup({ value: [rangeStart.toString(), rangeEnd.toString()] })
252
-
253
- const datePickerInput = screen.getByLabelText('Select the date range')
254
-
255
- expect(screen.getByTestId('input-date-range-start')).toHaveDisplayValue('02/15/2022')
256
- expect(screen.getByTestId('input-date-range-end')).toHaveDisplayValue('03/15/2022')
257
-
258
- await DateRangePickerEvent.clear(datePickerInput)
259
-
260
- expect(screen.getByTestId('input-date-range-start')).toHaveDisplayValue('')
261
- expect(screen.getByTestId('input-date-range-end')).toHaveDisplayValue('')
262
-
263
- const selectedDays = await DateRangePickerEvent.getSelectedDates(datePickerInput)
264
- expect(selectedDays.length).toBe(0)
265
- })
266
- })
267
- })
@@ -1,110 +0,0 @@
1
- import React from 'react'
2
- import styled from 'styled-components'
3
-
4
- import { Button } from 'components/Button'
5
- import { ClearButton, DateInput } from './DatePicker'
6
- import { DateFormatHelper, GenericCalendar } from 'components/Calendar'
7
- import { Dropdown, GenericDropdown } from 'components/Dropdown'
8
- import { getToken as token } from 'theming'
9
- import { Group } from 'components/Layout'
10
- import { Popover } from 'components/Popover'
11
- import useDateRangePicker from './useDateRangePicker'
12
-
13
- import type { DateRangePickerProps } from './DatePicker.types'
14
-
15
- export const formatter = DateFormatHelper('MM/DD/YYYY')
16
-
17
- const DropdownMenu = styled(Dropdown.Menu)`
18
- width: max-content;
19
- min-width: initial;
20
- max-height: initial;
21
- padding: ${token('space-m')};
22
- overflow-y: initial;
23
- `
24
-
25
- const DropdownFooter = styled.div`
26
- padding-right: ${token('space-m')};
27
- padding-left: ${token('space-m')};
28
- `
29
-
30
- function DateRangePicker(props: DateRangePickerProps): JSX.Element {
31
- const {
32
- id,
33
- name,
34
- value,
35
- onChange,
36
- disabled,
37
- constraints,
38
- getRangeStartInputProps,
39
- getRangeEndInputProps,
40
- getCalendarProps,
41
- placement,
42
- } = props
43
-
44
- const dateRangePicker = useDateRangePicker({
45
- constraints,
46
- disabled,
47
- id,
48
- name,
49
- value,
50
- onChange,
51
- getRangeStartInputProps,
52
- getRangeEndInputProps,
53
- getCalendarProps,
54
- })
55
-
56
- function renderRangeEndTrailing() {
57
- const [currRangeStart, currRangeEnd] = dateRangePicker.value
58
-
59
- if (!disabled && (currRangeStart || currRangeEnd)) {
60
- return (
61
- <ClearButton
62
- size={12}
63
- type="button"
64
- aria-label="Clear selection"
65
- {...dateRangePicker.getClearProps()}
66
- />
67
- )
68
- }
69
-
70
- return null
71
- }
72
-
73
- function renderDropdownFooter() {
74
- return (
75
- <DropdownFooter>
76
- <Group space="s" justify="flex-end">
77
- <Button type="button" scale="small" {...dateRangePicker.getClearProps()}>
78
- Clear
79
- </Button>
80
- <Button type="button" scale="small" variant="primary" {...dateRangePicker.getDoneProps()}>
81
- Done
82
- </Button>
83
- </Group>
84
- </DropdownFooter>
85
- )
86
- }
87
-
88
- return (
89
- <GenericDropdown {...placement} {...dateRangePicker.getDropdownProps()}>
90
- <Popover.Reference>
91
- <Group space="s">
92
- <DateInput
93
- {...dateRangePicker.getRangeStartInputProps()}
94
- data-testid="input-date-range-start"
95
- />
96
- <DateInput
97
- trailing={renderRangeEndTrailing()}
98
- {...dateRangePicker.getRangeEndInputProps()}
99
- data-testid="input-date-range-end"
100
- />
101
- </Group>
102
- </Popover.Reference>
103
- <DropdownMenu footer={renderDropdownFooter()}>
104
- <GenericCalendar {...dateRangePicker.getCalendarProps()} />
105
- </DropdownMenu>
106
- </GenericDropdown>
107
- )
108
- }
109
-
110
- export default DateRangePicker
@@ -1,3 +0,0 @@
1
- export { default as DatePicker } from './DatePicker'
2
- export { default as DateRangePicker } from './DateRangePicker'
3
- export type { DatePickerProps, DateRangePickerProps } from './DatePicker.types'