@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,165 +0,0 @@
1
- import React, { useCallback } from 'react'
2
- import styled from 'styled-components'
3
- import clsx from 'clsx'
4
-
5
- import { getToken as token } from 'theming'
6
- import { Group } from 'components/Layout'
7
- import conditional, { whenProps } from 'tools/conditional'
8
- import isEmpty from 'utils/toolset/isEmpty'
9
- import toArray from 'utils/toolset/toArray'
10
- import Toggle from './Toggle'
11
- import ToggleGroupContext, { SelectableContext, useSelectable } from './ToggleGroupContext'
12
-
13
- import type {
14
- ToggleGroupOptionProps,
15
- ToggleGroupProps,
16
- ToggleOption,
17
- ToggleGroupOptionValue,
18
- SelectedToggleGroupOptions,
19
- } from './ToggleGroup.types'
20
-
21
- const Container = styled(Group)<{ $multiple: boolean; $scale: ToggleGroupProps['scale'] }>`
22
- padding: ${conditional({
23
- 'toggle-group-multiple-padding': whenProps({ $multiple: true }),
24
- 'toggle-group-single-padding': whenProps({ $multiple: false }),
25
- })};
26
-
27
- border-color: ${conditional({
28
- 'toggle-group-multiple-border-color': whenProps({ $multiple: true }),
29
- 'toggle-group-single-border-color': whenProps({ $multiple: false }),
30
- })};
31
-
32
- border-style: ${conditional({
33
- 'toggle-group-multiple-border-style': whenProps({ $multiple: true }),
34
- 'toggle-group-single-border-style': whenProps({ $multiple: false }),
35
- })};
36
-
37
- border-width: ${conditional({
38
- 'toggle-group-multiple-border-width': whenProps({ $multiple: true }),
39
- 'toggle-group-single-border-width': whenProps({ $multiple: false }),
40
- })};
41
-
42
- border-radius: ${conditional({
43
- 'toggle-group-multiple-border-radius': whenProps({ $multiple: true }),
44
- 'toggle-group-single-border-radius': whenProps({ $multiple: false }),
45
- })};
46
-
47
- &.are-disabled {
48
- border-color: ${token('toggle-group-border-color--disabled')};
49
- }
50
-
51
- ${Toggle} {
52
- height: ${conditional({
53
- 'toggle-single-height': whenProps({ $multiple: false, $scale: 'default' }),
54
- 'toggle-single-small-height': whenProps({ $multiple: false, $scale: 'small' }),
55
- 'toggle-multiple-height': whenProps({ $multiple: true, $scale: 'default' }),
56
- 'toggle-multiple-small-height': whenProps({ $multiple: true, $scale: 'small' }),
57
- })};
58
-
59
- font-size: ${conditional({
60
- 'toggle-single-font-size': whenProps({ $multiple: false, $scale: 'default' }),
61
- 'toggle-single-small-font-size': whenProps({ $multiple: false, $scale: 'small' }),
62
- 'toggle-multiple-font-size': whenProps({ $multiple: true, $scale: 'default' }),
63
- 'toggle-multiple-small-font-size': whenProps({ $multiple: true, $scale: 'small' }),
64
- })};
65
- }
66
- `
67
-
68
- function fromValueToSelected(
69
- value: ToggleGroupOptionValue | ToggleGroupOptionValue[]
70
- ): ToggleOption[] {
71
- const valueAsArray = toArray(value)
72
-
73
- return valueAsArray.map((value) => ({ value }))
74
- }
75
-
76
- function fromSelectedToValue(
77
- selected: SelectedToggleGroupOptions,
78
- multiple: boolean
79
- ): ToggleGroupOptionValue | ToggleGroupOptionValue[] | null {
80
- const pairs = Array.from(selected)
81
-
82
- if (multiple) {
83
- const value: ToggleGroupOptionValue[] = []
84
- for (const [, option] of pairs) {
85
- value.push(option.value)
86
- }
87
-
88
- return value
89
- } else {
90
- if (isEmpty(pairs)) {
91
- return null
92
- }
93
- const [[, option]] = pairs
94
- return option.value
95
- }
96
- }
97
-
98
- const DEFAULT_SELECTED = [] as ToggleGroupOptionValue[]
99
-
100
- function ToggleGroup(props: ToggleGroupProps): JSX.Element {
101
- const {
102
- disabled = false,
103
- multiple = false,
104
- scale = 'default',
105
- id,
106
- name,
107
- onChange,
108
- options,
109
- children,
110
- className,
111
- ...others
112
- } = props
113
- const selectable = useSelectable({
114
- multiple,
115
- selected: fromValueToSelected(props.value ?? DEFAULT_SELECTED),
116
- onChange: useCallback(
117
- function handleSelectionChange(selected) {
118
- onChange?.({
119
- target: { id, name: name ?? '', value: fromSelectedToValue(selected, multiple) },
120
- })
121
- },
122
- [id, multiple, name, onChange]
123
- ),
124
- })
125
-
126
- return (
127
- <Container
128
- {...others}
129
- className={clsx(className, {
130
- 'are-disabled': disabled,
131
- })}
132
- id={id}
133
- role={multiple ? 'group' : 'radiogroup'}
134
- align="center"
135
- space="xs"
136
- $multiple={multiple}
137
- $scale={scale}
138
- >
139
- <ToggleGroupContext.Provider value={{ scale, disabled }}>
140
- <SelectableContext.Provider value={selectable}>
141
- {children ??
142
- (options || []).map(function renderOption(option: ToggleGroupOptionProps) {
143
- const { label, value, ...others } = option
144
- const key = String(value)
145
-
146
- return (
147
- <Toggle
148
- key={key}
149
- {...others}
150
- disabled={Boolean(disabled || option.disabled)}
151
- value={value}
152
- >
153
- {label}
154
- </Toggle>
155
- )
156
- })}
157
- </SelectableContext.Provider>
158
- </ToggleGroupContext.Provider>
159
- </Container>
160
- )
161
- }
162
-
163
- ToggleGroup.Option = Toggle
164
-
165
- export default ToggleGroup
@@ -1,35 +0,0 @@
1
- import type { ButtonProps } from 'components/Button'
2
- import type { HTMLAttributes } from 'react'
3
- import type { Selectable, SelectableState, SelectableType } from 'hooks/useSelectable'
4
- import type ColorScheme from 'utils/types/ColorScheme'
5
- import type EventLike from 'utils/types/EventLike'
6
-
7
- export type ToggleGroupType = SelectableType
8
-
9
- export type ToggleGroupOptionValue = string | number | boolean
10
-
11
- export interface ToggleOption extends Selectable {
12
- value: ToggleGroupOptionValue
13
- }
14
-
15
- export type SelectedToggleGroupOptions = SelectableState<ToggleOption>
16
-
17
- export interface ToggleGroupOptionProps
18
- extends Pick<ButtonProps, 'children' | 'leading' | 'disabled' | 'role'> {
19
- value: ToggleGroupOptionValue
20
- label?: string
21
- }
22
-
23
- export interface ToggleGroupProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
24
- name?: string
25
- options?: ToggleGroupOptionProps[]
26
- multiple?: boolean
27
- value?: ToggleGroupOptionValue | Array<ToggleGroupOptionValue>
28
- disabled?: boolean
29
- getToggleProps?: (option: ToggleOption, index: number) => Record<string, unknown>
30
- onChange?: (
31
- event: EventLike<ToggleGroupOptionValue | Array<ToggleGroupOptionValue> | null>
32
- ) => void
33
- scale?: 'small' | 'default'
34
- scheme?: ColorScheme
35
- }
@@ -1,13 +0,0 @@
1
- import React from 'react'
2
- import { createSelectable } from 'hooks/useSelectable'
3
-
4
- import type { ToggleGroupProps, ToggleOption } from './ToggleGroup.types'
5
-
6
- const ToggleGroupContext = React.createContext<Pick<ToggleGroupProps, 'scale' | 'disabled'>>({
7
- scale: 'default',
8
- disabled: false,
9
- })
10
-
11
- export const { SelectableContext, useSelectable } = createSelectable<ToggleOption>()
12
-
13
- export default ToggleGroupContext
@@ -1,3 +0,0 @@
1
- export { default as ToggleGroup } from './ToggleGroup'
2
-
3
- export type { ToggleGroupProps, ToggleGroupOptionProps } from './ToggleGroup.types'
@@ -1,82 +0,0 @@
1
- import React from 'react'
2
- import Tooltip, { TooltipAlign, TooltipPosition, TooltipProps } from './Tooltip'
3
- import type { Meta } from '@storybook/react'
4
-
5
- export default {
6
- title: 'Components/Tooltip',
7
- component: Tooltip,
8
- argTypes: {
9
- scheme: {
10
- description: 'Color scheme to be used',
11
- table: {
12
- type: {
13
- summary: 'ColorScheme',
14
- },
15
- defaultValue: {
16
- summary: 'light',
17
- },
18
- },
19
- control: {
20
- type: 'select',
21
- options: ['light', 'dark'],
22
- },
23
- },
24
- position: {
25
- control: {
26
- type: 'select',
27
- options: TooltipPosition,
28
- },
29
- },
30
- align: {
31
- control: {
32
- type: 'select',
33
- options: TooltipAlign,
34
- },
35
- },
36
- },
37
- } as Meta
38
-
39
- export function Playground(args: TooltipProps): JSX.Element {
40
- return (
41
- <div className="flex flex-col space-y-2">
42
- <div className="flex items-center p-4 space-x-2">
43
- <Tooltip {...args}>
44
- <span className="inline-flex items-center justify-center w-6 h-6 rounded-full bg-neutral text-neutral-white">
45
- ?
46
- </span>
47
- </Tooltip>
48
- </div>
49
- </div>
50
- )
51
- }
52
-
53
- Playground.args = {
54
- message: 'Lorem ipsum dolor sit, amet consectetur adipisicing elit.',
55
- position: TooltipPosition.Top,
56
- align: TooltipAlign.Start,
57
- }
58
-
59
- export function WithReactNodeAsMessage(): JSX.Element {
60
- return (
61
- <div className="flex flex-col space-y-2">
62
- <div className="flex items-center p-4 space-x-2">
63
- <Tooltip
64
- message={
65
- <>
66
- A tooltip
67
- <br /> with
68
- <br /> some
69
- <br />
70
- line breaks
71
- <br />
72
- </>
73
- }
74
- >
75
- <span className="inline-flex items-center justify-center w-6 h-6 rounded-full bg-neutral text-neutral-white">
76
- ?
77
- </span>
78
- </Tooltip>
79
- </div>
80
- </div>
81
- )
82
- }
@@ -1,49 +0,0 @@
1
- import React from 'react'
2
- import { screen } from '@testing-library/react'
3
- import userEvent from '@testing-library/user-event'
4
-
5
- import Tooltip from './Tooltip'
6
- import generator from '../../tests/generator'
7
- import renderer from '../../tests/renderer'
8
-
9
- const setup = ({ ...overrides }) => renderer(<Tooltip message="" {...overrides} />).render()
10
-
11
- describe('<Tooltip />', () => {
12
- it('should render the tooltip when hovered', () => {
13
- const props = {
14
- message: generator.sentence(),
15
- children: generator.word(),
16
- }
17
-
18
- setup(props)
19
-
20
- // eslint-disable-next-line testing-library/no-node-access
21
- const child = screen.getByText(props.children)
22
- expect(() => screen.getByText(/`${props.message}`/i)).toThrow()
23
-
24
- userEvent.hover(child)
25
- screen.getByText(props.message)
26
- })
27
-
28
- it('should render the tooltip with a ReactNode when hovered', () => {
29
- const props = {
30
- message: (
31
- <>
32
- A tooltip
33
- <br /> with
34
- <br /> line breaks
35
- </>
36
- ),
37
- children: generator.word(),
38
- }
39
-
40
- setup(props)
41
-
42
- // eslint-disable-next-line testing-library/no-node-access
43
- const child = screen.getByText(props.children)
44
- expect(() => screen.getByText(/A tooltip with line breaks/i)).toThrow()
45
-
46
- userEvent.hover(child)
47
- screen.getByText(/A tooltip with line breaks/)
48
- })
49
- })
@@ -1,185 +0,0 @@
1
- import React, { HTMLAttributes, ReactNode, useCallback, useState } from 'react'
2
- import type { PropsWithChildren } from 'react'
3
- import styled, { css } from 'styled-components'
4
-
5
- import type ColorScheme from 'utils/types/ColorScheme'
6
- import focusable from 'styles/focusable'
7
- import conditional, { whenProps } from 'tools/conditional'
8
- import { getToken as token } from 'theming'
9
- import { Popover, usePopover } from 'components/Popover'
10
- import typography from 'styles/typography'
11
-
12
- import type { PopoverAlign, PopoverPosition } from 'components/Popover'
13
-
14
- export enum TooltipPosition {
15
- Top = 'top',
16
- Bottom = 'bottom',
17
- Left = 'left',
18
- Right = 'right',
19
- }
20
-
21
- export enum TooltipAlign {
22
- Start = 'start',
23
- Center = 'center',
24
- End = 'end',
25
- }
26
-
27
- export interface TooltipProps extends HTMLAttributes<HTMLDivElement> {
28
- message: ReactNode
29
- scheme?: ColorScheme
30
- position?: TooltipPosition | PopoverPosition
31
- align?: TooltipAlign | PopoverAlign
32
- }
33
-
34
- type ContainerProps = Pick<TooltipProps, 'scheme'>
35
-
36
- const Container = styled.div<ContainerProps>`
37
- display: inline-block;
38
-
39
- position: relative;
40
-
41
- cursor: help;
42
-
43
- ${focusable`
44
- outline: ${conditional({
45
- '$tooltip-outline': whenProps({ scheme: 'light' }),
46
- '$tooltip-dark-outline': whenProps({ scheme: 'dark' }),
47
- })};
48
- `}
49
- `
50
-
51
- const Bubble = styled(Popover.Floating)`
52
- ${typography('body')}
53
-
54
- white-space: initial;
55
-
56
- min-width: ${token('tooltip-min-width')};
57
- max-width: ${token('tooltip-max-width')};
58
- width: max-content;
59
-
60
- z-index: ${token('z-index-tooltip')};
61
-
62
- background: ${token('tooltip-background')};
63
- box-shadow: ${token('tooltip-shadow')};
64
- border-radius: ${token('tooltip-border-radius')};
65
-
66
- padding: ${token('tooltip-padding-y')} ${token('tooltip-padding-x')};
67
-
68
- color: ${token('tooltip-color')};
69
- font-size: ${token('tooltip-font-size')};
70
- line-height: ${token('tooltip-font-height')};
71
- `
72
-
73
- type ArrowProps = Pick<TooltipProps, 'position'> & {
74
- top?: number
75
- left?: number
76
- }
77
-
78
- const StyledArrow = styled.span<ArrowProps>`
79
- position: absolute;
80
-
81
- width: 0;
82
- height: 0;
83
- display: block;
84
-
85
- background: transparent;
86
- border-style: solid;
87
-
88
- z-index: ${token('z-index-tooltip')};
89
-
90
- ${({ top }) => top && `top: ${top}px;`}
91
- ${({ left }) => left && `left: ${left}px;`}
92
-
93
- ${({ position }) =>
94
- position === 'top' &&
95
- css`
96
- bottom: -8px;
97
-
98
- border-color: ${token('tooltip-background')} transparent transparent transparent;
99
- border-width: 12px 10px 0 10px;
100
- `}
101
-
102
- ${({ position }) =>
103
- position === 'bottom' &&
104
- css`
105
- top: -8px;
106
-
107
- border-color: transparent transparent ${token('tooltip-background')} transparent;
108
- border-width: 0 10px 12px 10px;
109
- `}
110
-
111
- ${({ position }) =>
112
- position === 'left' &&
113
- css`
114
- right: -8px;
115
-
116
- border-color: transparent transparent transparent ${token('tooltip-background')};
117
- border-width: 10px 0 10px 12px;
118
- `}
119
-
120
- ${({ position }) =>
121
- position === 'right' &&
122
- css`
123
- left: -8px;
124
-
125
- border-color: transparent ${token('tooltip-background')} transparent transparent;
126
- border-width: 10px 12px 10px 0;
127
- `}
128
- `
129
-
130
- function Arrow() {
131
- const { register, result } = usePopover()
132
-
133
- return (
134
- <StyledArrow
135
- ref={(element) => (register.setArrow.current = element)}
136
- position={result.position}
137
- top={result.arrow.top}
138
- left={result.arrow.left}
139
- />
140
- )
141
- }
142
-
143
- function Tooltip({
144
- children,
145
- message,
146
- scheme,
147
- position = TooltipPosition.Top,
148
- align = TooltipAlign.Center,
149
- ...rest
150
- }: PropsWithChildren<TooltipProps>): JSX.Element {
151
- const [visible, setVisible] = useState(false)
152
-
153
- const showTooltip = useCallback(() => {
154
- setVisible(true)
155
- }, [])
156
-
157
- const hideTooltip = useCallback(() => {
158
- setVisible(false)
159
- }, [])
160
-
161
- return (
162
- <Container
163
- {...rest}
164
- onFocus={showTooltip}
165
- onBlur={hideTooltip}
166
- onMouseEnter={showTooltip}
167
- onMouseLeave={hideTooltip}
168
- tabIndex={0}
169
- scheme={scheme}
170
- >
171
- <Popover position={position} align={align}>
172
- {visible && (
173
- <Bubble role="tooltip">
174
- {message}
175
- <Arrow />
176
- </Bubble>
177
- )}
178
-
179
- <Popover.Reference>{children}</Popover.Reference>
180
- </Popover>
181
- </Container>
182
- )
183
- }
184
-
185
- export default Tooltip
@@ -1,2 +0,0 @@
1
- export { default as Tooltip, TooltipPosition, TooltipAlign } from './Tooltip'
2
- export type { TooltipProps } from './Tooltip'
@@ -1,21 +0,0 @@
1
- import React from 'react'
2
-
3
- import { Logo } from './'
4
- import type { LogoProps } from './Logo'
5
- import renderer, { screen } from '../../../tests/renderer'
6
- import generators from '../../../tests/generator'
7
-
8
- function setup(props: LogoProps) {
9
- return renderer(<Logo {...props} />).render()
10
- }
11
-
12
- describe('<Logo />', () => {
13
- it('renders correctly', () => {
14
- const linkUrl = generators.url()
15
- const imgAlt = generators.word()
16
-
17
- setup({ url: linkUrl, children: <img src="logo.svg" alt={imgAlt} /> })
18
-
19
- expect(screen.getByRole('link', { name: imgAlt })).toHaveAttribute('href', linkUrl)
20
- })
21
- })
@@ -1,20 +0,0 @@
1
- import React from 'react'
2
- import type { PropsWithChildren } from 'react'
3
-
4
- import { BaseLink } from 'components/Link'
5
- import styled from 'styled-components'
6
-
7
- export type LogoProps = PropsWithChildren<{
8
- url: string
9
- className?: string
10
- }>
11
-
12
- function Logo({ url, className, children }: LogoProps): JSX.Element {
13
- return (
14
- <BaseLink className={className} href={url}>
15
- {children}
16
- </BaseLink>
17
- )
18
- }
19
-
20
- export default styled(Logo)<LogoProps>({})
@@ -1 +0,0 @@
1
- export { default as Logo } from './Logo'