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

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