@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,190 +0,0 @@
1
- import { useEffect, useState } from 'react'
2
-
3
- import { useDidMount } from 'hooks/useDidMount'
4
- import toArray from 'utils/toolset/toArray'
5
-
6
- import DateHelper, { TODAY } from './Date.helper'
7
- import type { useCalendarProps, useCalendarReturn, RenderableMonth } from './Calendar.types'
8
-
9
- function useCalendar(props: useCalendarProps): useCalendarReturn {
10
- const { constraints, onSelect, mode = 'single' } = props
11
- const amountOfMonthsToRender = mode == 'single' ? 1 : 2
12
-
13
- const didMount = useDidMount()
14
- const [selected, setSelected] = useState<ReturnType<typeof getSelectionPair>>(() =>
15
- getSelectionPair(props.selected)
16
- )
17
- const [renderableMonths, setRenderableMonths] = useState<ReturnType<typeof getRenderableMonths>>(
18
- () => {
19
- const month = props.month != null ? props.month : TODAY.getMonth()
20
- const year = props.year != null ? props.year : TODAY.getYear()
21
-
22
- return getRenderableMonths(year, month, amountOfMonthsToRender)
23
- }
24
- )
25
-
26
- /**
27
- * Set the month to be rendered (or initial month when calendar is in range mode).
28
- * @param {Object} args
29
- * @param {number} [args.month] - Initial month to be rendered, if not provided, the current initial month will be used.
30
- * @param {number} [args.year] - Initial year to be rendered, if not provided, the current initial month will be used.
31
- */
32
- function set(args: { month?: number; year?: number }) {
33
- const [initialMonth] = renderableMonths
34
- const date = new Date(args.year ?? initialMonth.year, args.month ?? initialMonth.month)
35
-
36
- setRenderableMonths(
37
- getRenderableMonths(date.getFullYear(), date.getMonth(), amountOfMonthsToRender)
38
- )
39
- }
40
-
41
- /**
42
- * Select day or day range.
43
- * @param range `null` to clear selection, selection range start, or an array with selection start and end.
44
- */
45
- function select(range: useCalendarProps['selected']) {
46
- const [start, end] = getSelectionPair(range)
47
-
48
- function getSelectionBoundary(boundary?: string | number | null): string | null {
49
- if (boundary != null) {
50
- return DateHelper(boundary).toString()
51
- }
52
-
53
- return null
54
- }
55
-
56
- setSelected([start, end])
57
-
58
- if (didMount) {
59
- // prevent calling onSelect when initialized with value
60
- onSelect?.([getSelectionBoundary(start), getSelectionBoundary(end)])
61
- }
62
- }
63
-
64
- /**
65
- * Clear calendar selection.
66
- */
67
- function clear() {
68
- select([null, null])
69
- }
70
-
71
- useEffect(
72
- function onMonthOrYearPropsChange() {
73
- set({
74
- month: props.month,
75
- year: props.year,
76
- })
77
- },
78
- // eslint-disable-next-line react-hooks/exhaustive-deps
79
- [props.month, props.year]
80
- )
81
-
82
- useEffect(
83
- function onSelectedPropChange() {
84
- const newSelected = getSelectionPair(props.selected)
85
-
86
- if (newSelected[0] != selected[0] || newSelected[1] != selected[1]) {
87
- setSelected(newSelected)
88
- }
89
- },
90
- // we just intend to update the internal state when the prop changes
91
- // eslint-disable-next-line react-hooks/exhaustive-deps
92
- [props.selected]
93
- )
94
-
95
- return {
96
- mode,
97
- months: renderableMonths,
98
- selected,
99
- constraints: toArray(constraints || []),
100
- clear,
101
- set,
102
- select,
103
- }
104
- }
105
-
106
- const DAY_IN_MILLISECONDS = 24 * 60 * 60 * 1000
107
-
108
- /**
109
- * Generate the whole grid of days,
110
- * @param {number} year
111
- * @param {number }month
112
- * @returns {RenderableMonth}
113
- */
114
- export function getRenderableMonth(year: number, month: number): RenderableMonth {
115
- const date = DateHelper(Date.UTC(year, month))
116
-
117
- const firstDayOfTheWeek = date.getWeekday()
118
- const totalDaysInMonth = 32 - new Date(Date.UTC(year, month, 32)).getUTCDate()
119
-
120
- const days = []
121
-
122
- /**
123
- * Filling days of previous month.
124
- * If the month does not start on Sunday, then we need to generate only the days of
125
- * the previous month to fill out the grid.
126
- */
127
- for (let index = firstDayOfTheWeek; index > 0; index--) {
128
- days.push(DateHelper(date.getTime() - index * DAY_IN_MILLISECONDS))
129
- }
130
-
131
- // Filling days of current month
132
- for (let index = 0; index < totalDaysInMonth; index++) {
133
- days.push(DateHelper(date.getTime() + index * DAY_IN_MILLISECONDS))
134
- }
135
-
136
- /**
137
- * Filling days of next month, just enough to complete the grid.
138
- */
139
- for (let index = 0; (firstDayOfTheWeek + totalDaysInMonth + index) % 7 != 0; index++) {
140
- days.push(DateHelper(date.getTime() + (totalDaysInMonth + index) * DAY_IN_MILLISECONDS))
141
- }
142
-
143
- return {
144
- month: date.getMonth(),
145
- year: date.getYear(),
146
- days,
147
- }
148
- }
149
-
150
- /**
151
- *
152
- * @param {number} year
153
- * @param {number} month
154
- * @param {number?} amount - number of months to be generated. Default value is 1.
155
- * @returns
156
- */
157
- export function getRenderableMonths(
158
- year: number,
159
- month: number,
160
- amount = 1
161
- ): ReturnType<typeof getRenderableMonth>[] {
162
- if (month < 0 || month > 11) {
163
- throw new Error(
164
- 'Invalid month! Please, provide a number between 0 (January) and 11 (December).'
165
- )
166
- }
167
-
168
- // TODO: validate accepted year range?
169
-
170
- const months = new Array<ReturnType<typeof getRenderableMonth>>()
171
-
172
- for (let i = 0; i < amount; i++) {
173
- months.push(getRenderableMonth(year, month + i))
174
- }
175
-
176
- return months
177
- }
178
-
179
- export function getSelectionPair(
180
- selected?: null | [string | number | null, string | number | null]
181
- ): [number | null, number | null] {
182
- const [start, end] = toArray(selected)
183
-
184
- return [
185
- start != null ? DateHelper(start).getTime() : null,
186
- end != null ? DateHelper(end ?? start).getTime() : null,
187
- ]
188
- }
189
-
190
- export default useCalendar
@@ -1,48 +0,0 @@
1
- import { useReducer } from 'react'
2
-
3
- import DayPicker from './Pickers/DayPicker'
4
- import MonthPicker from './Pickers/MonthPicker'
5
- import YearPicker from './Pickers/YearPicker'
6
-
7
- import type {
8
- PickerMode,
9
- PickerModeAction,
10
- usePickerModeProps,
11
- usePickerModeReturn,
12
- } from './Calendar.types'
13
-
14
- function usePickerMode(props?: usePickerModeProps): usePickerModeReturn {
15
- function reducer(state: PickerMode, action: PickerModeAction) {
16
- switch (action.type) {
17
- case 'set-mode':
18
- return action.payload
19
- case 'toggle-mode':
20
- if (state != action.payload) {
21
- return action.payload
22
- }
23
-
24
- return 'day-picker'
25
- default:
26
- return state
27
- }
28
- }
29
-
30
- const [mode, dispatch] = useReducer(reducer, props?.mode || 'day-picker')
31
-
32
- return {
33
- get() {
34
- return mode
35
- },
36
- is(other: PickerMode) {
37
- return other != null && other === mode
38
- },
39
- dispatch,
40
- Picker: {
41
- 'day-picker': DayPicker,
42
- 'month-picker': MonthPicker,
43
- 'year-picker': YearPicker,
44
- }[mode],
45
- }
46
- }
47
-
48
- export default usePickerMode
@@ -1,117 +0,0 @@
1
- import React from 'react'
2
- import type { Story, Meta } from '@storybook/react'
3
-
4
- import Card from './Card'
5
- import generator from '../../tests/generator'
6
- import Status from 'utils/types/Status'
7
-
8
- import type { CardProps } from './Card'
9
-
10
- export default {
11
- title: 'Components/Card',
12
- component: Card,
13
- argTypes: {
14
- scheme: {
15
- description: 'Color scheme to be used',
16
- table: {
17
- type: {
18
- summary: 'ColorScheme',
19
- },
20
- defaultValue: {
21
- summary: 'light',
22
- },
23
- },
24
- options: ['light', 'dark'],
25
- control: {
26
- type: 'select',
27
- },
28
- },
29
- flagged: {
30
- description: 'Should show the vertical line on the left side of the card',
31
- control: {
32
- type: 'boolean',
33
- },
34
- },
35
- theme: {
36
- table: {
37
- disable: true,
38
- },
39
- },
40
- children: {
41
- table: {
42
- disable: true,
43
- },
44
- },
45
- },
46
- } as Meta
47
-
48
- export const Playground: Story<CardProps> = (args) => {
49
- return (
50
- <div className="flex flex-col space-y-2">
51
- <Card {...args} style={{ width: 416 }} />
52
- </div>
53
- )
54
- }
55
-
56
- Playground.args = {
57
- status: Status.Neutral,
58
- children: (
59
- <>
60
- <Card.Title leading={<span>&clubs;</span>}>Card Title</Card.Title>
61
- <Card.Subtitle>Card Subtitle</Card.Subtitle>
62
- <Card.Separator />
63
- <Card.Body>{generator.sentence({ paragraphs: 5 })}</Card.Body>
64
- </>
65
- ),
66
- }
67
-
68
- export const Default: Story<CardProps> = (args) => {
69
- return (
70
- <div className="flex flex-col space-y-2">
71
- <Card {...args} style={{ width: 416 }}>
72
- <Card.Title leading={<span>&clubs;</span>}>Card Title</Card.Title>
73
- <Card.Subtitle>Card Subtitle</Card.Subtitle>
74
- <Card.Body>{generator.sentence({ paragraphs: 5 })}</Card.Body>
75
- </Card>
76
- </div>
77
- )
78
- }
79
-
80
- Default.args = {
81
- status: Status.Neutral,
82
- }
83
-
84
- export const TitleOnly: Story<CardProps> = (args) => {
85
- return (
86
- <div className="flex flex-col space-y-2">
87
- <Card {...args} style={{ width: 416 }}>
88
- <Card.Title leading={<span>&clubs;</span>}>Card Title</Card.Title>
89
- <Card.Separator />
90
- <Card.Body>{generator.sentence({ paragraphs: 5 })}</Card.Body>
91
- </Card>
92
- <Card {...args} style={{ width: 416 }}>
93
- <Card.Title leading={<span>&clubs;</span>}>Card Title</Card.Title>
94
-
95
- <Card.Body>{generator.sentence({ paragraphs: 5 })}</Card.Body>
96
- </Card>
97
- </div>
98
- )
99
- }
100
-
101
- TitleOnly.args = {
102
- status: Status.Neutral,
103
- }
104
-
105
- export const Flagged: Story<CardProps> = (args) => {
106
- return (
107
- <div className="flex flex-col space-y-2">
108
- <Card flagged style={{ width: 416 }} {...args}>
109
- <Card.Body>{generator.sentence({ paragraphs: 5 })}</Card.Body>
110
- </Card>
111
- </div>
112
- )
113
- }
114
-
115
- Flagged.args = {
116
- status: Status.Neutral,
117
- }
@@ -1,139 +0,0 @@
1
- import React from 'react'
2
- import { composeStories } from '@storybook/react'
3
-
4
- import * as stories from './Card.stories'
5
- import Card from './Card'
6
- import generator from '../../tests/generator'
7
- import renderer, { screen } from '../../tests/renderer'
8
- import Status from 'utils/types/Status'
9
-
10
- import type { CardProps } from './Card'
11
-
12
- const { Playground } = composeStories(stories)
13
-
14
- const setup = ({ ...overrides }: Partial<CardProps> = {}) => {
15
- return renderer(<Playground {...overrides} />).render()
16
- }
17
-
18
- describe('Card', () => {
19
- it('renders correctly', () => {
20
- const props = {
21
- leading: generator.word({ length: 1 }),
22
- title: generator.sentence(),
23
- subtitle: generator.sentence(),
24
- body: generator.sentence(),
25
- }
26
-
27
- setup({
28
- children: (
29
- <>
30
- <Card.Title leading={<span>{props.leading}</span>}>{props.title}</Card.Title>
31
- <Card.Subtitle>{props.subtitle}</Card.Subtitle>
32
- <Card.Separator />
33
- <Card.Body>{props.body}</Card.Body>
34
- </>
35
- ),
36
- })
37
-
38
- screen.getByText(props.leading)
39
- screen.getByText(props.title)
40
- screen.getByText(props.subtitle)
41
- screen.getByText(props.body)
42
-
43
- expect(screen.queryByTestId('card-flag')).not.toBeInTheDocument()
44
- })
45
-
46
- describe('with flag', () => {
47
- it('renders success correctly', () => {
48
- const props = {
49
- title: generator.sentence(),
50
- subtitle: generator.sentence(),
51
- body: generator.sentence(),
52
- }
53
-
54
- setup({
55
- flagged: true,
56
- status: Status.Success,
57
- children: (
58
- <>
59
- <Card.Title>{props.title}</Card.Title>
60
- <Card.Subtitle>{props.subtitle}</Card.Subtitle>
61
- <Card.Separator />
62
- <Card.Body>{props.body}</Card.Body>
63
- </>
64
- ),
65
- })
66
-
67
- screen.getByLabelText('success')
68
- })
69
-
70
- it('renders warn correctly', () => {
71
- const props = {
72
- title: generator.sentence(),
73
- subtitle: generator.sentence(),
74
- body: generator.sentence(),
75
- }
76
-
77
- setup({
78
- flagged: true,
79
- status: Status.Warn,
80
- children: (
81
- <>
82
- <Card.Title>{props.title}</Card.Title>
83
- <Card.Subtitle>{props.subtitle}</Card.Subtitle>
84
- <Card.Separator />
85
- <Card.Body>{props.body}</Card.Body>
86
- </>
87
- ),
88
- })
89
-
90
- screen.getByLabelText('warn')
91
- })
92
-
93
- it('renders danger correctly', () => {
94
- const props = {
95
- title: generator.sentence(),
96
- subtitle: generator.sentence(),
97
- body: generator.sentence(),
98
- }
99
-
100
- setup({
101
- flagged: true,
102
- status: Status.Danger,
103
- children: (
104
- <>
105
- <Card.Title>{props.title}</Card.Title>
106
- <Card.Subtitle>{props.subtitle}</Card.Subtitle>
107
- <Card.Separator />
108
- <Card.Body>{props.body}</Card.Body>
109
- </>
110
- ),
111
- })
112
-
113
- screen.getByLabelText('danger')
114
- })
115
-
116
- it('renders neutral correctly', () => {
117
- const props = {
118
- title: generator.sentence(),
119
- subtitle: generator.sentence(),
120
- body: generator.sentence(),
121
- }
122
-
123
- setup({
124
- flagged: true,
125
- status: Status.Neutral,
126
- children: (
127
- <>
128
- <Card.Title>{props.title}</Card.Title>
129
- <Card.Subtitle>{props.subtitle}</Card.Subtitle>
130
- <Card.Separator />
131
- <Card.Body>{props.body}</Card.Body>
132
- </>
133
- ),
134
- })
135
-
136
- screen.getByLabelText('neutral')
137
- })
138
- })
139
- })
@@ -1,106 +0,0 @@
1
- import React, { HTMLAttributes, ReactNode } from 'react'
2
-
3
- import { getToken as token } from 'theming'
4
- import CardTitle, { CardTitleWrapper } from './CardTitle'
5
- import conditional, { whenProps } from 'tools/conditional'
6
- import font from 'styles/font'
7
- import Status from 'utils/types/Status'
8
- import styled, { css } from 'styled-components'
9
-
10
- export interface CardProps extends HTMLAttributes<HTMLElement> {
11
- children: ReactNode
12
- status?: Status
13
- flagged?: boolean
14
- }
15
-
16
- const CardSubtitle = styled.div`
17
- padding: 0 ${token('card-padding-x')} ${token('card-padding-y')};
18
-
19
- color: ${token('card-color')};
20
- font-weight: ${token('card-subtitle-font-weight')};
21
- font-size: ${token('card-subtitle-font-size')};
22
- `
23
-
24
- const CardSeparator = styled.hr`
25
- display: block;
26
- height: 1px;
27
- margin: 0;
28
-
29
- border: 0;
30
- border-bottom: 1px solid ${token('card-separator-background')};
31
- `
32
-
33
- const CardBody = styled.div`
34
- padding: ${token('card-padding-y')} ${token('card-padding-x')};
35
- `
36
-
37
- const Wrapper = styled.div`
38
- ${font({})}
39
-
40
- display: flex;
41
- flex-direction: row;
42
-
43
- color: ${token('card-color')};
44
-
45
- ${CardTitleWrapper} + ${CardSubtitle} {
46
- margin-top: ${token('space-xs')};
47
- }
48
-
49
- ${CardTitleWrapper} + ${CardSeparator} {
50
- margin-top: ${token('card-padding-y')};
51
- }
52
-
53
- border: 1px solid ${token('card-border-color')};
54
- border-radius: ${token('card-border-radius')};
55
- background: ${token('card-background')};
56
- `
57
-
58
- const Container = styled.div<{ flagged: boolean }>`
59
- display: flex;
60
- flex: 1;
61
- flex-direction: column;
62
-
63
- line-height: ${token('card-font-height')};
64
-
65
- ${({ flagged }) =>
66
- flagged &&
67
- css`
68
- ${CardSeparator} {
69
- margin-left: calc(-1 * ${token('space-s')});
70
- }
71
- `}
72
- `
73
-
74
- const Flag = styled.span<{ status: Status }>`
75
- display: block;
76
- flex: 0 0 ${token('card-flag-width')};
77
-
78
- background: ${conditional({
79
- 'card-flag-background-neutral': whenProps({ status: Status.Neutral }),
80
- 'card-flag-background-danger': whenProps({ status: Status.Danger }),
81
- 'card-flag-background-warning': whenProps({ status: Status.Warn }),
82
- 'card-flag-background-success': whenProps({ status: Status.Success }),
83
- })};
84
- border-radius: ${token('card-border-radius')} 0 0 ${token('card-border-radius')};
85
- `
86
-
87
- function Card({
88
- flagged = false,
89
- status = Status.Neutral,
90
- children,
91
- ...others
92
- }: CardProps): JSX.Element {
93
- return (
94
- <Wrapper {...others}>
95
- {flagged && <Flag status={status} aria-label={status} />}
96
- <Container flagged={flagged}>{children}</Container>
97
- </Wrapper>
98
- )
99
- }
100
-
101
- Card.Title = CardTitle
102
- Card.Subtitle = CardSubtitle
103
- Card.Separator = CardSeparator
104
- Card.Body = CardBody
105
-
106
- export default Card
@@ -1,43 +0,0 @@
1
- import React, { ReactNode, HTMLAttributes } from 'react'
2
-
3
- import styled from 'styled-components'
4
- import { getToken as token } from 'theming'
5
-
6
- export interface CardTitleProps extends HTMLAttributes<HTMLElement> {
7
- leading?: ReactNode
8
- }
9
-
10
- const StyledSpan = styled.span`
11
- display: inline-flex;
12
- flex-flow: row nowrap;
13
- align-items: center;
14
- justify-content: center;
15
-
16
- pointer-events: none;
17
- `
18
-
19
- const Leading = styled(StyledSpan)`
20
- margin-right: ${token('space-xs')};
21
- `
22
-
23
- const Wrapper = styled.div`
24
- padding: ${token('card-padding-y')} ${token('card-padding-x')} 0;
25
-
26
- color: ${token('card-color')};
27
- font-weight: ${token('card-title-font-weight')};
28
- font-size: ${token('card-title-font-size')};
29
- line-height: ${token('card-title-font-height')};
30
- `
31
-
32
- function CardTitle({ children, leading, ...others }: CardTitleProps): JSX.Element {
33
- return (
34
- <Wrapper {...others}>
35
- {leading && <Leading>{leading}</Leading>}
36
- {children}
37
- </Wrapper>
38
- )
39
- }
40
-
41
- export { Wrapper as CardTitleWrapper }
42
-
43
- export default CardTitle
@@ -1,2 +0,0 @@
1
- export { default as Card } from './Card'
2
- export type { CardProps } from './Card'