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

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