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

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