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

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