@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,95 +0,0 @@
1
- import get from '../utils/toolset/get'
2
-
3
- type VariableValue = string | number
4
-
5
- type VariableMap = {
6
- [key: string]: VariableValue
7
- }
8
-
9
- export function generateColorGetter(
10
- colors: VariableMap
11
- ): (name: string, opacity?: number) => VariableValue {
12
- /**
13
- * Gets color from color token, applying an optional opacity.
14
- * @param {string} name - Color token.
15
- * @param {number} [opacity] - Opacity value.
16
- */
17
- return function color(name: string, opacity?: number): VariableValue {
18
- const rawColor = get(colors, `color-${name}`)
19
-
20
- if (opacity == null) {
21
- return rawColor
22
- }
23
-
24
- const opacityAsHex = (opacity * 255).toString(16)
25
- return `${rawColor}${opacityAsHex}`
26
- }
27
- }
28
-
29
- export function generateSpacingGetter(spacings: VariableMap): (name: string) => VariableValue {
30
- return function spacing(name: string): VariableValue {
31
- return get(spacings, `space-${name}`)
32
- }
33
- }
34
-
35
- export function generateShadowGetter(shadows: VariableMap): (name: string) => VariableValue {
36
- return function shadow(name: string): VariableValue {
37
- return get(shadows, `shadow-${name}`)
38
- }
39
- }
40
-
41
- export function generateFontGetters({
42
- families,
43
- sizes,
44
- weights,
45
- heights,
46
- }: {
47
- families: VariableMap
48
- sizes: VariableMap
49
- weights: VariableMap
50
- heights: VariableMap
51
- }): { [key: string]: (name: string) => VariableValue } {
52
- return {
53
- family(name) {
54
- return get(families, `font-family-${name}`)
55
- },
56
- size(name) {
57
- return get(sizes, `font-size-${name}`)
58
- },
59
- weight(name) {
60
- return get(weights, `font-weight-${name}`)
61
- },
62
- height(name) {
63
- return get(heights, `font-height-${name}`)
64
- },
65
- }
66
- }
67
-
68
- export function generateOpacityGetter(opacities: VariableMap): (name: string) => VariableValue {
69
- return function opacity(name: string): VariableValue {
70
- return get(opacities, `opacity-${name}`)
71
- }
72
- }
73
-
74
- export function generateBorderGetters({
75
- radiuses,
76
- widths,
77
- }: {
78
- radiuses: VariableMap
79
- widths: VariableMap
80
- }): Record<string, (name: string) => VariableValue> {
81
- return {
82
- radius(name) {
83
- return get(radiuses, `border-radius-${name}`)
84
- },
85
- width(name) {
86
- return get(widths, `border-width-${name}`)
87
- },
88
- }
89
- }
90
-
91
- export function generateHeightGetter(heights: VariableMap): (name: string) => VariableValue {
92
- return function height(name: string): VariableValue {
93
- return get(heights, `height-${name}`)
94
- }
95
- }
@@ -1,166 +0,0 @@
1
- import conditional, { whenProps } from './conditional'
2
- import generator from '../tests/generator'
3
-
4
- describe('conditional', () => {
5
- describe('whenProps', () => {
6
- it('returns functions correctly', () => {
7
- expect(typeof whenProps({ a: 1, b: 2 })).toBe('function')
8
- })
9
-
10
- it('calculates single `whenProps` condition correctly', () => {
11
- const props = {
12
- a: 1,
13
- b: 2,
14
- c: 3,
15
- }
16
-
17
- expect(whenProps({ a: 1, b: 2 })(props)).toBe(true)
18
- expect(whenProps({ a: 2, b: 2 })(props)).toBe(false)
19
-
20
- expect(whenProps({ b: [1, 2] })(props)).toBe(true)
21
- expect(whenProps({ b: [1, 3] })(props)).toBe(false)
22
-
23
- expect(whenProps({ c: 3 })(props)).toBe(true)
24
-
25
- expect(whenProps({ a: (value: number) => value === 1 })(props)).toBe(true)
26
- expect(whenProps({ b: (value: number) => value !== 1 })(props)).toBe(true)
27
- })
28
-
29
- it('calculates composite `whenProps` condition correctly', () => {
30
- const props = {
31
- a: 1,
32
- b: 2,
33
- c: 3,
34
- }
35
-
36
- expect(whenProps([{ a: 1 }, { b: 1 }])(props)).toBe(true)
37
- })
38
-
39
- it('calculates complex `whenProps` condition correctly', () => {
40
- const props = {
41
- a: 1,
42
- b: 2,
43
- c: 3,
44
- }
45
-
46
- expect(whenProps([{ a: 1 }, { b: 1 }, { c: [1, 2, 3] }])(props)).toBe(true)
47
- })
48
-
49
- it('calculates complex `whenProps` condition correctly', () => {
50
- const props = {
51
- a: 1,
52
- b: 2,
53
- c: 3,
54
- }
55
-
56
- expect(whenProps([{ a: 1 }, { b: 1 }, { c: [1, 2, 3] }])(props)).toBe(true)
57
- expect(whenProps([{ a: 2 }, { b: 3 }, { c: [4, 5, 6] }])(props)).toBe(false)
58
- })
59
- })
60
-
61
- describe('conditional', () => {
62
- const PROPS_WITH_THEME = {
63
- theme: {
64
- 'token-1': `${generator.natural({ min: 1, max: 15 })}px`,
65
- 'token-2': `${generator.natural({ min: 1, max: 15 })}px`,
66
- },
67
- }
68
-
69
- it('returns correct value(s) based on primitive booleans', () => {
70
- expect(
71
- conditional({
72
- 'value-a': true,
73
- 'value-b': true,
74
- 'value-c': true,
75
- })(PROPS_WITH_THEME)
76
- ).toBe('value-a value-b value-c')
77
-
78
- expect(
79
- conditional({
80
- 'value-a': true,
81
- 'value-b': false,
82
- 'value-c': true,
83
- })(PROPS_WITH_THEME)
84
- ).toBe('value-a value-c')
85
-
86
- expect(
87
- conditional({
88
- 'value-a': true,
89
- 'value-b': true,
90
- 'value-c': false,
91
- })(PROPS_WITH_THEME)
92
- ).toBe('value-a value-b')
93
-
94
- expect(
95
- conditional({
96
- 'value-a': false,
97
- 'value-b': false,
98
- 'value-c': false,
99
- })(PROPS_WITH_THEME)
100
- ).toBe('')
101
- })
102
-
103
- it('returns correct value(s) based on `prop` helper return', () => {
104
- const props = {
105
- ...PROPS_WITH_THEME,
106
- a: 1,
107
- b: 2,
108
- c: 3,
109
- }
110
-
111
- expect(
112
- conditional({
113
- 'value-a': whenProps({ a: 1 }),
114
- 'value-b': whenProps({ b: 2 }),
115
- 'value-c': whenProps({ c: 3 }),
116
- })(props)
117
- ).toBe('value-a value-b value-c')
118
-
119
- expect(
120
- conditional({
121
- 'value-a': whenProps({ a: 1 }),
122
- 'value-b': whenProps({ b: [1, 2, 3] }),
123
- 'value-c': whenProps({ c: 'any value' }),
124
- })(props)
125
- ).toBe('value-a value-b')
126
-
127
- expect(
128
- conditional({
129
- 'value-a': whenProps({ a: false }),
130
- 'value-b': whenProps({ b: [1, 2, 3] }),
131
- 'value-c': whenProps([{ a: 1 }, { c: 'any value' }]),
132
- 'value-d': whenProps({ a: 1, b: (value: number) => value === 2 }),
133
- })(props)
134
- ).toBe('value-b value-c value-d')
135
-
136
- expect(
137
- conditional(
138
- 'value-0',
139
- {
140
- 'value-a': whenProps({ a: false }),
141
- 'value-b': whenProps({ b: [1, 2, 3] }),
142
- 'value-c': whenProps([{ a: 1 }, { c: 'any value' }]),
143
- 'value-d': whenProps({ a: 1 }) && props.b === 2,
144
- },
145
- 'value-n'
146
- )(props)
147
- ).toBe('value-0 value-b value-c value-d value-n')
148
- })
149
-
150
- it('returns a theme token value, if the condition key is a theme token', () => {
151
- expect(
152
- `margin: ${conditional({
153
- 'token-1': true,
154
- 'token-2': false,
155
- })(PROPS_WITH_THEME)};`
156
- ).toBe(`margin: ${PROPS_WITH_THEME.theme['token-1']};`)
157
-
158
- expect(
159
- `margin: ${conditional({
160
- 'token-2': true,
161
- '5px': true,
162
- })(PROPS_WITH_THEME)};`
163
- ).toBe(`margin: ${PROPS_WITH_THEME.theme['token-2']} 5px;`)
164
- })
165
- })
166
- })
@@ -1,127 +0,0 @@
1
- import { isObject } from '@loadsmart/utils-object'
2
- import { isFunction } from '@loadsmart/utils-function'
3
- import type { F } from 'ts-toolbelt'
4
-
5
- import { getToken } from 'theming'
6
- import type { ThemeToken, ThemedProps } from 'theming'
7
- import get from 'utils/toolset/get'
8
- import toArray from 'utils/toolset/toArray'
9
-
10
- type WhenProps<K> = K | undefined | ((value: K) => boolean | undefined)
11
-
12
- export type When<P> = {
13
- [Key in keyof P]?: WhenProps<P[Key]> | WhenProps<P[Key]>[] | undefined
14
- }
15
-
16
- /**
17
- * Utility to generate style/class name conditions based on a components props.
18
- * Expected prop values can be a single value, an array of values or a function/callback.
19
- * @example
20
- * ```jsx
21
- * whenProps({
22
- * 'prop-a': true, // checks `props['prop-a']` === true`
23
- * 'prop-b': [1, 2], // checks `toArray([1, 2]).includes(props['prop-b'])`
24
- * 'prop-c': (value) => value + 1 // checks `Boolean(callback(props['prop-c']))`
25
- * 'prop-d': Boolean // checks `Boolean(Boolean(props['prop-d']))`
26
- * })
27
- * ```
28
- * @param {...Object} conditions
29
- * @returns {(props: Object}) => boolean} Returns function that consumes component props.
30
- */
31
- export function whenProps<P>(conditions: When<F.Narrow<P>> | When<F.Narrow<P>>[]) {
32
- return function (props: P): boolean {
33
- const safeConditions = toArray(conditions)
34
-
35
- let res = false
36
-
37
- for (let i = 0; i < safeConditions.length; i++) {
38
- const condition = safeConditions[i]
39
- const keys = Object.keys(condition)
40
-
41
- let temp = true
42
-
43
- for (let j = 0; j < keys.length && temp; j++) {
44
- const key = keys[j]
45
- const propValue = get(props, key) as P[keyof P]
46
- const conditionValue = condition[key as keyof typeof condition]
47
-
48
- if (Array.isArray(conditionValue)) {
49
- temp = temp && toArray(conditionValue).includes(propValue)
50
- } else if (isFunction(conditionValue)) {
51
- temp = temp && Boolean(conditionValue(propValue))
52
- } else {
53
- temp = temp && (conditionValue as unknown) === propValue
54
- }
55
- }
56
-
57
- res = res || temp
58
- }
59
-
60
- return res
61
- }
62
- }
63
-
64
- type ConditionObject<P> = Record<
65
- string,
66
- string | number | boolean | ((props: P) => boolean) | undefined
67
- >
68
-
69
- function handleConditionObject<P>(condition: ConditionObject<P>, props: P): string {
70
- const keys = Object.keys(condition || {})
71
-
72
- const res = keys.reduce((acc, key) => {
73
- let value = condition[key]
74
-
75
- if (isFunction(value)) {
76
- value = value(props)
77
- }
78
-
79
- if (value) {
80
- const tokenKey = key as ThemeToken
81
- const result = (getToken(tokenKey, props as unknown as ThemedProps) ?? key) as string
82
- return [...acc, result]
83
- }
84
-
85
- return acc
86
- }, [] as string[])
87
-
88
- return res.join(' ')
89
- }
90
-
91
- type Condition<P> = number | string | ConditionObject<P> | ((props: P) => string)
92
-
93
- /**
94
- * Concatenate style properties or class names conditionally.
95
- * Conditions can be functions that consume components props,
96
- * objects, strings, or numbers (that will be coerced to strings).
97
- * @example
98
- * ```jsx
99
- * conditional(1, 'some-class', {
100
- * 'class-a': true,
101
- * 'class-b': (props) => props.showClassB,
102
- * }, (props) => props.className)
103
- * ```
104
- * @param conditions
105
- * @returns {(props: ThemedProps) => string} Returns function that consumes component props.
106
- */
107
- function conditional<P>(...conditions: Condition<P>[]) {
108
- return function (props: P): string {
109
- let classes: string[] = []
110
-
111
- for (let i = 0; i < conditions.length; i++) {
112
- const condition = conditions[i]
113
-
114
- if (isFunction(condition)) {
115
- classes.push(condition(props))
116
- } else if (isObject(condition)) {
117
- classes = classes.concat(handleConditionObject<P>(condition, props))
118
- } else if (condition) {
119
- classes.push(String(condition))
120
- }
121
- }
122
-
123
- return classes.join(' ')
124
- }
125
- }
126
-
127
- export default conditional
@@ -1,2 +0,0 @@
1
- export { default as conditional, whenProps } from './conditional'
2
- export { default as prop } from './prop'
@@ -1,52 +0,0 @@
1
- import prop from './prop'
2
-
3
- type WithKey<T = unknown> = {
4
- key?: T
5
- }
6
-
7
- describe('prop', () => {
8
- describe('when theres no default value and only a property name is provided', () => {
9
- const get = prop<WithKey>('key')
10
-
11
- it('should always return the value', () => {
12
- const allValues = [undefined, null, false, true, NaN, 0, 1, '', 'value', {}]
13
-
14
- allValues.forEach((value) => {
15
- expect(get({ key: value })).toEqual(value)
16
- })
17
- })
18
- })
19
-
20
- describe('when a default value is provided', () => {
21
- const get = prop<WithKey>('key', 'default')
22
-
23
- it('should return the default value if key has an invalid value', () => {
24
- const invalidValues = [undefined, null, false, NaN, '']
25
-
26
- invalidValues.forEach((invalid) => {
27
- expect(get({ key: invalid })).toBe('default')
28
- })
29
- })
30
-
31
- it('should return the value of a valid property value', () => {
32
- const validValues = ['value', true, 0, 1, {}]
33
-
34
- validValues.forEach((valid) => {
35
- expect(get({ key: valid })).toBe(valid)
36
- })
37
- })
38
- })
39
-
40
- describe('given a comparator function', () => {
41
- it('should call it with value and default and return whatever its returns', () => {
42
- const comparator = jest.fn(() => 'comparator')
43
-
44
- expect(prop<WithKey>('key', 'default', comparator)({ key: 'value' })).toEqual('comparator')
45
-
46
- expect(comparator).toHaveBeenCalledWith('value', 'default')
47
-
48
- expect(prop<WithKey<number>>('key', 999, Math.min)({ key: 0 })).toEqual(0)
49
- expect(prop<WithKey<number>>('key', 999, Math.max)({ key: 0 })).toEqual(999)
50
- })
51
- })
52
- })
package/src/tools/prop.ts DELETED
@@ -1,36 +0,0 @@
1
- function compare(...args: any[]): unknown {
2
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
3
- const [value, defaultValue] = args
4
-
5
- if (value == null || value === false || Number.isNaN(value)) {
6
- return defaultValue || value
7
- }
8
-
9
- if (typeof value === 'string' && value.length === 0) {
10
- return defaultValue || value
11
- }
12
-
13
- return value
14
- }
15
-
16
- /**
17
- * Retrieve the key value from the props object
18
- * @example
19
- * ```jsx
20
- * -transform: scaleY(${(props) => props.$height || 1});
21
- * +transform: scaleY(${prop('$height', 1)});
22
- * ```
23
- * @param name a valid property name from the object
24
- * @param defaultValue a fallback value in case the property value is invalid
25
- * @param comparatorFn a function to be used to decide between value or defaultValue
26
- * @returns {(props: ThemedProps) => string} Returns function that consumes component props.
27
- */
28
- function prop<P, K extends keyof P = keyof P>(
29
- name: K,
30
- defaultValue?: NonNullable<P[K]>,
31
- comparatorFn = compare
32
- ) {
33
- return (props: P): P[K] => comparatorFn(props[name], defaultValue) as P[K]
34
- }
35
-
36
- export default prop
@@ -1,24 +0,0 @@
1
- /**
2
- * This is an async wrapper for waiting a promise to be settled without the hussle of handling error.
3
- * It returns `[error, data]`.
4
- * @example
5
- * const [error, data] = await genericTo(myPromise())
6
- * @param promise - promise to be awaited for.
7
- * @param errorExt - error to be appended, in case the promise is rejected.
8
- */
9
- function genericTo<T>(
10
- promise: Promise<T>,
11
- errorExt?: Record<string, unknown>
12
- ): Promise<[any, T | undefined]> {
13
- return promise
14
- .then<[null, T]>((data: T) => [null, data])
15
- .catch<[any, undefined]>((err: any) => {
16
- if (errorExt) {
17
- Object.assign(err, errorExt)
18
- }
19
-
20
- return [err, undefined]
21
- })
22
- }
23
-
24
- export default genericTo
@@ -1,3 +0,0 @@
1
- import { flatten } from 'lodash'
2
-
3
- export default flatten
@@ -1,45 +0,0 @@
1
- import formatBytes from './formatBytes'
2
-
3
- describe('formatBytes', () => {
4
- it('returns 0B if bytes is falsy', () => {
5
- const size = formatBytes(0)
6
- const expected = '0B'
7
-
8
- expect(size).toBe(expected)
9
- })
10
-
11
- it('returns 0B if bytes is a negative number', () => {
12
- const size = formatBytes(-100)
13
- const expected = '0B'
14
-
15
- expect(size).toBe(expected)
16
- })
17
-
18
- it('returns the size in YB if bytes is greater than 1024^8', () => {
19
- const size = formatBytes(Math.pow(1024, 10))
20
- const expected = '1YiB'
21
-
22
- expect(size).toBe(expected)
23
- })
24
-
25
- it('returns 1KB if bytes is 1042', () => {
26
- const size = formatBytes(1024)
27
- const expected = '1KiB'
28
-
29
- expect(size).toBe(expected)
30
- })
31
-
32
- it('returns the size with the defined amount of decimals', () => {
33
- const size = formatBytes(10047, 5)
34
- const expected = '9.81152KiB'
35
-
36
- expect(size).toBe(expected)
37
- })
38
-
39
- it('returns the size with 2 decimals if not defined', () => {
40
- const size = formatBytes(10047)
41
- const expected = '9.81KiB'
42
-
43
- expect(size).toBe(expected)
44
- })
45
- })
@@ -1,18 +0,0 @@
1
- export const BYTES_PER_KILOBYTE = 1024
2
- export const FILE_SIZE_ABBREVIATIONS = ['B', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB']
3
-
4
- const formatBytes = (bytes: number, decimals = 2) => {
5
- const bytesValue = Number(bytes)
6
-
7
- if (!bytesValue || bytesValue < 0) {
8
- return '0B'
9
- }
10
-
11
- const dm = Math.max(0, decimals)
12
- const unit = Math.floor(Math.log(bytesValue) / Math.log(BYTES_PER_KILOBYTE))
13
- const unitAbbr = FILE_SIZE_ABBREVIATIONS[Math.min(unit, FILE_SIZE_ABBREVIATIONS.length - 1)]
14
-
15
- return `${parseFloat((bytesValue / Math.pow(BYTES_PER_KILOBYTE, unit)).toFixed(dm))}${unitAbbr}`
16
- }
17
-
18
- export default formatBytes
@@ -1,2 +0,0 @@
1
- import { get } from 'lodash'
2
- export default get
@@ -1,57 +0,0 @@
1
- import { IDGenerator } from './getID'
2
-
3
- describe('IDGenerator', () => {
4
- const getID = IDGenerator({ maxIDLength: 3, initialIDLength: 1, alphabet: 'abc' })
5
-
6
- it('should generate a valid ID', () => {
7
- const expected = [
8
- 'genid-a',
9
- 'genid-b',
10
- 'genid-c',
11
- 'genid-aa',
12
- 'genid-ab',
13
- 'genid-ac',
14
- 'genid-ba',
15
- 'genid-bb',
16
- 'genid-bc',
17
- 'genid-ca',
18
- 'genid-cb',
19
- 'genid-cc',
20
- 'genid-aaa',
21
- 'genid-aab',
22
- 'genid-aac',
23
- 'genid-aba',
24
- 'genid-abb',
25
- 'genid-abc',
26
- 'genid-aca',
27
- 'genid-acb',
28
- 'genid-acc',
29
- 'genid-baa',
30
- 'genid-bab',
31
- 'genid-bac',
32
- 'genid-bba',
33
- 'genid-bbb',
34
- 'genid-bbc',
35
- 'genid-bca',
36
- 'genid-bcb',
37
- 'genid-bcc',
38
- 'genid-caa',
39
- 'genid-cab',
40
- 'genid-cac',
41
- 'genid-cba',
42
- 'genid-cbb',
43
- 'genid-cbc',
44
- 'genid-cca',
45
- 'genid-ccb',
46
- 'genid-ccc',
47
- ]
48
-
49
- for (let i = 0; i < expected.length; i++) {
50
- expect(getID()).toBe(expected[i])
51
- }
52
-
53
- expect(() => {
54
- getID()
55
- }).toThrow('No more IDs available with the provided alphabet and max length')
56
- })
57
- })