@onewelcome/react-lib-components 5.2.0 → 6.1.0

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 (255) hide show
  1. package/dist/cjs/Button/BaseButton.cjs.js.map +1 -1
  2. package/dist/cjs/Button/BaseButton.module.cjs.js +1 -1
  3. package/dist/cjs/Button/Button.module.cjs.js +1 -1
  4. package/dist/cjs/Button/IconButton.module.cjs.js +1 -1
  5. package/dist/cjs/ContextMenu/ContextMenu.cjs.js +1 -1
  6. package/dist/cjs/ContextMenu/ContextMenu.cjs.js.map +1 -1
  7. package/dist/cjs/ContextMenu/ContextMenuItem.module.cjs.js +1 -1
  8. package/dist/cjs/ContextMenu/ContextMenuService.cjs.js +1 -1
  9. package/dist/cjs/ContextMenu/ContextMenuService.cjs.js.map +1 -1
  10. package/dist/cjs/DataGrid/DataGridActions/DataGridColumnsToggle.module.cjs.js +1 -1
  11. package/dist/cjs/Form/Input/Input.module.cjs.js +1 -1
  12. package/dist/cjs/Form/Select/Option.cjs.js +1 -1
  13. package/dist/cjs/Form/Select/Option.cjs.js.map +1 -1
  14. package/dist/cjs/Form/Select/Select.cjs.js +1 -1
  15. package/dist/cjs/Form/Select/Select.cjs.js.map +1 -1
  16. package/dist/cjs/Form/Select/Select.module.cjs.js +1 -1
  17. package/dist/cjs/Form/Select/SelectService.cjs.js +1 -1
  18. package/dist/cjs/Form/Select/SelectService.cjs.js.map +1 -1
  19. package/dist/cjs/Form/Textarea/Textarea.module.cjs.js +1 -1
  20. package/dist/cjs/Icon/Icon.cjs.js +1 -1
  21. package/dist/cjs/Icon/Icon.cjs.js.map +1 -1
  22. package/dist/cjs/Icon/Icon.module.cjs.js +1 -1
  23. package/dist/cjs/Link/Link.cjs.js.map +1 -1
  24. package/dist/cjs/Link/Link.module.cjs.js +1 -1
  25. package/dist/cjs/Notifications/BaseModal/BaseModal.module.cjs.js +1 -1
  26. package/dist/cjs/Notifications/SlideInModal/SlideInModal.module.cjs.js +1 -1
  27. package/dist/cjs/Notifications/Snackbar/SnackbarItem/SnackbarItem.cjs.js +1 -1
  28. package/dist/cjs/Notifications/Snackbar/SnackbarItem/SnackbarItem.cjs.js.map +1 -1
  29. package/dist/cjs/Notifications/Snackbar/SnackbarItem/SnackbarItem.module.cjs.js +1 -1
  30. package/dist/cjs/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.cjs.js +1 -1
  31. package/dist/cjs/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.cjs.js.map +1 -1
  32. package/dist/cjs/Notifications/Snackbar/SnackbarProvider/SnackbarStateProvider.cjs.js.map +1 -1
  33. package/dist/cjs/Notifications/Snackbar/interfaces.cjs.js +2 -0
  34. package/dist/cjs/Notifications/Snackbar/interfaces.cjs.js.map +1 -0
  35. package/dist/cjs/Popover/Popover.cjs.js +1 -1
  36. package/dist/cjs/Popover/Popover.cjs.js.map +1 -1
  37. package/dist/cjs/Popover/Popover.module.cjs.js +1 -1
  38. package/dist/cjs/Stepper/Step.cjs.js +1 -1
  39. package/dist/cjs/Stepper/Step.cjs.js.map +1 -1
  40. package/dist/cjs/Stepper/Step.module.cjs.js +1 -1
  41. package/dist/cjs/Stepper/Stepper.cjs.js +1 -1
  42. package/dist/cjs/Stepper/Stepper.cjs.js.map +1 -1
  43. package/dist/cjs/Tabs/TabButton.module.cjs.js +1 -1
  44. package/dist/cjs/TextEllipsis/TextEllipsis.module.cjs.js +1 -1
  45. package/dist/cjs/Tiles/Tile.module.cjs.js +1 -1
  46. package/dist/cjs/Tooltip/Tooltip.module.cjs.js +1 -1
  47. package/dist/cjs/Wizard/BaseWizardSteps/BaseWizardSteps.module.cjs.js +1 -1
  48. package/dist/cjs/_BaseStyling_/BaseStyling.cjs.js +1 -1
  49. package/dist/cjs/_BaseStyling_/BaseStyling.cjs.js.map +1 -1
  50. package/dist/cjs/src/.scope.d.ts +2 -0
  51. package/dist/cjs/src/components/Button/BaseButton.d.ts +1 -1
  52. package/dist/cjs/src/components/ContextMenu/ContextMenu.d.ts +1 -1
  53. package/dist/cjs/src/components/ContextMenu/ContextMenuService.d.ts +4 -1
  54. package/dist/cjs/src/components/Form/Select/Option.d.ts +1 -0
  55. package/dist/cjs/src/components/Form/Select/Select.d.ts +20 -0
  56. package/dist/cjs/src/components/Form/Select/Select.interfaces.d.ts +3 -1
  57. package/dist/cjs/src/components/Form/Select/Select.test.d.ts +63 -1
  58. package/dist/cjs/src/components/Form/Select/SelectKeyboardNavigation.test.d.ts +1 -0
  59. package/dist/cjs/src/components/Form/Select/SelectService.d.ts +3 -2
  60. package/dist/cjs/src/components/Icon/Icon.d.ts +4 -1
  61. package/dist/cjs/src/components/Link/Link.d.ts +1 -1
  62. package/dist/cjs/src/components/Notifications/Snackbar/SnackbarProvider/SnackbarStateProvider.d.ts +5 -5
  63. package/dist/cjs/src/components/Notifications/Snackbar/interfaces.d.ts +6 -0
  64. package/dist/cjs/src/components/Notifications/Snackbar/useSnackbar.d.ts +4 -4
  65. package/dist/cjs/src/components/Notifications/Snackbar/useSnackbar.test.d.ts +1 -0
  66. package/dist/cjs/src/components/Stepper/Stepper.d.ts +0 -1
  67. package/dist/cjs/src/components/_BaseStyling_/BaseStyling.d.ts +11 -10
  68. package/dist/cjs/src/hooks/usePosition.cjs.js.map +1 -1
  69. package/dist/cjs/src/hooks/usePosition.d.ts +1 -1
  70. package/dist/esm/Button/BaseButton.esm.js.map +1 -1
  71. package/dist/esm/Button/BaseButton.module.esm.js +1 -1
  72. package/dist/esm/Button/Button.module.esm.js +1 -1
  73. package/dist/esm/Button/IconButton.module.esm.js +1 -1
  74. package/dist/esm/ContextMenu/ContextMenu.esm.js +1 -1
  75. package/dist/esm/ContextMenu/ContextMenu.esm.js.map +1 -1
  76. package/dist/esm/ContextMenu/ContextMenuItem.module.esm.js +1 -1
  77. package/dist/esm/ContextMenu/ContextMenuService.esm.js +1 -1
  78. package/dist/esm/ContextMenu/ContextMenuService.esm.js.map +1 -1
  79. package/dist/esm/DataGrid/DataGridActions/DataGridColumnsToggle.module.esm.js +1 -1
  80. package/dist/esm/Form/Input/Input.module.esm.js +1 -1
  81. package/dist/esm/Form/Select/Option.esm.js +1 -1
  82. package/dist/esm/Form/Select/Option.esm.js.map +1 -1
  83. package/dist/esm/Form/Select/Select.esm.js +1 -1
  84. package/dist/esm/Form/Select/Select.esm.js.map +1 -1
  85. package/dist/esm/Form/Select/Select.module.esm.js +1 -1
  86. package/dist/esm/Form/Select/SelectService.esm.js +1 -1
  87. package/dist/esm/Form/Select/SelectService.esm.js.map +1 -1
  88. package/dist/esm/Form/Textarea/Textarea.module.esm.js +1 -1
  89. package/dist/esm/Icon/Icon.esm.js +1 -1
  90. package/dist/esm/Icon/Icon.esm.js.map +1 -1
  91. package/dist/esm/Icon/Icon.module.esm.js +1 -1
  92. package/dist/esm/Link/Link.esm.js.map +1 -1
  93. package/dist/esm/Link/Link.module.esm.js +1 -1
  94. package/dist/esm/Notifications/BaseModal/BaseModal.module.esm.js +1 -1
  95. package/dist/esm/Notifications/SlideInModal/SlideInModal.module.esm.js +1 -1
  96. package/dist/esm/Notifications/Snackbar/SnackbarItem/SnackbarItem.esm.js +1 -1
  97. package/dist/esm/Notifications/Snackbar/SnackbarItem/SnackbarItem.esm.js.map +1 -1
  98. package/dist/esm/Notifications/Snackbar/SnackbarItem/SnackbarItem.module.esm.js +1 -1
  99. package/dist/esm/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.esm.js +1 -1
  100. package/dist/esm/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.esm.js.map +1 -1
  101. package/dist/esm/Notifications/Snackbar/SnackbarProvider/SnackbarStateProvider.esm.js.map +1 -1
  102. package/dist/esm/Notifications/Snackbar/interfaces.esm.js +2 -0
  103. package/dist/esm/Notifications/Snackbar/interfaces.esm.js.map +1 -0
  104. package/dist/esm/Popover/Popover.esm.js +1 -1
  105. package/dist/esm/Popover/Popover.esm.js.map +1 -1
  106. package/dist/esm/Popover/Popover.module.esm.js +1 -1
  107. package/dist/esm/Stepper/Step.esm.js +1 -1
  108. package/dist/esm/Stepper/Step.esm.js.map +1 -1
  109. package/dist/esm/Stepper/Step.module.esm.js +1 -1
  110. package/dist/esm/Stepper/Stepper.esm.js +1 -1
  111. package/dist/esm/Stepper/Stepper.esm.js.map +1 -1
  112. package/dist/esm/Tabs/TabButton.module.esm.js +1 -1
  113. package/dist/esm/TextEllipsis/TextEllipsis.module.esm.js +1 -1
  114. package/dist/esm/Tiles/Tile.module.esm.js +1 -1
  115. package/dist/esm/Tooltip/Tooltip.module.esm.js +1 -1
  116. package/dist/esm/Wizard/BaseWizardSteps/BaseWizardSteps.module.esm.js +1 -1
  117. package/dist/esm/_BaseStyling_/BaseStyling.esm.js +1 -1
  118. package/dist/esm/_BaseStyling_/BaseStyling.esm.js.map +1 -1
  119. package/dist/esm/src/.scope.d.ts +2 -0
  120. package/dist/esm/src/components/Button/BaseButton.d.ts +1 -1
  121. package/dist/esm/src/components/ContextMenu/ContextMenu.d.ts +1 -1
  122. package/dist/esm/src/components/ContextMenu/ContextMenuService.d.ts +4 -1
  123. package/dist/esm/src/components/Form/Select/Option.d.ts +1 -0
  124. package/dist/esm/src/components/Form/Select/Select.d.ts +20 -0
  125. package/dist/esm/src/components/Form/Select/Select.interfaces.d.ts +3 -1
  126. package/dist/esm/src/components/Form/Select/Select.test.d.ts +63 -1
  127. package/dist/esm/src/components/Form/Select/SelectKeyboardNavigation.test.d.ts +1 -0
  128. package/dist/esm/src/components/Form/Select/SelectService.d.ts +3 -2
  129. package/dist/esm/src/components/Icon/Icon.d.ts +4 -1
  130. package/dist/esm/src/components/Link/Link.d.ts +1 -1
  131. package/dist/esm/src/components/Notifications/Snackbar/SnackbarProvider/SnackbarStateProvider.d.ts +5 -5
  132. package/dist/esm/src/components/Notifications/Snackbar/interfaces.d.ts +6 -0
  133. package/dist/esm/src/components/Notifications/Snackbar/useSnackbar.d.ts +4 -4
  134. package/dist/esm/src/components/Notifications/Snackbar/useSnackbar.test.d.ts +1 -0
  135. package/dist/esm/src/components/Stepper/Stepper.d.ts +0 -1
  136. package/dist/esm/src/components/_BaseStyling_/BaseStyling.d.ts +11 -10
  137. package/dist/esm/src/hooks/usePosition.d.ts +1 -1
  138. package/dist/esm/src/hooks/usePosition.esm.js.map +1 -1
  139. package/package.json +48 -45
  140. package/src/{hooks/useWrapper.test.ts → .scope.ts} +1 -12
  141. package/src/components/Button/BaseButton.tsx +1 -1
  142. package/src/components/Button/Button.module.scss +2 -10
  143. package/src/components/ContextMenu/ContextMenu.tsx +13 -23
  144. package/src/components/ContextMenu/ContextMenuService.ts +47 -1
  145. package/src/components/Form/Select/Option.tsx +3 -1
  146. package/src/components/Form/Select/Select.interfaces.ts +3 -1
  147. package/src/components/Form/Select/Select.module.scss +55 -34
  148. package/src/components/Form/Select/Select.tsx +74 -23
  149. package/src/components/Form/Select/SelectService.ts +26 -10
  150. package/src/components/Icon/Icon.module.scss +12 -0
  151. package/src/components/Icon/Icon.tsx +4 -1
  152. package/src/components/Link/Link.module.scss +28 -4
  153. package/src/components/Link/Link.tsx +1 -1
  154. package/src/components/Notifications/Snackbar/SnackbarItem/SnackbarItem.module.scss +14 -21
  155. package/src/components/Notifications/Snackbar/SnackbarItem/SnackbarItem.tsx +17 -13
  156. package/src/components/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.tsx +43 -17
  157. package/src/components/Notifications/Snackbar/SnackbarProvider/SnackbarStateProvider.tsx +5 -13
  158. package/src/components/Notifications/Snackbar/interfaces.ts +15 -0
  159. package/src/components/Popover/Popover.tsx +19 -2
  160. package/src/components/Stepper/Step.tsx +2 -1
  161. package/src/components/Stepper/Stepper.tsx +0 -2
  162. package/src/components/Tooltip/Tooltip.module.scss +1 -0
  163. package/src/components/_BaseStyling_/BaseStyling.tsx +24 -22
  164. package/src/font/icomoon.eot +0 -0
  165. package/src/font/icomoon.svg +5 -2
  166. package/src/font/icomoon.ttf +0 -0
  167. package/src/font/icomoon.woff +0 -0
  168. package/src/font/selection.json +1 -1
  169. package/src/hooks/usePosition.ts +1 -1
  170. package/src/interfaces.ts +2 -2
  171. package/src/mixins.module.scss +60 -61
  172. package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +0 -64
  173. package/src/components/Button/BaseButton.test.tsx +0 -133
  174. package/src/components/Button/Button.test.tsx +0 -138
  175. package/src/components/Button/IconButton.test.tsx +0 -122
  176. package/src/components/ContextMenu/ContextMenu.test.tsx +0 -358
  177. package/src/components/DataGrid/DataGrid.test.tsx +0 -437
  178. package/src/components/DataGrid/DataGridActions/DataGridActions.test.tsx +0 -204
  179. package/src/components/DataGrid/DataGridActions/DataGridColumnsToggle.test.tsx +0 -99
  180. package/src/components/DataGrid/DataGridBody/DataGridBody.test.tsx +0 -140
  181. package/src/components/DataGrid/DataGridBody/DataGridCell.test.tsx +0 -90
  182. package/src/components/DataGrid/DataGridBody/DataGridRow.test.tsx +0 -117
  183. package/src/components/DataGrid/DataGridHeader/DataGridHeader.test.tsx +0 -276
  184. package/src/components/DataGrid/DataGridHeader/DataGridHeaderCell.test.tsx +0 -144
  185. package/src/components/Form/Checkbox/Checkbox.test.tsx +0 -308
  186. package/src/components/Form/Fieldset/Fieldset.test.tsx +0 -127
  187. package/src/components/Form/FileUpload/FileItem/FileItem.test.tsx +0 -103
  188. package/src/components/Form/FileUpload/FileUpload.test.tsx +0 -374
  189. package/src/components/Form/Form.test.tsx +0 -63
  190. package/src/components/Form/FormControl/FormControl.test.tsx +0 -98
  191. package/src/components/Form/FormGroup/FormGroup.test.tsx +0 -127
  192. package/src/components/Form/FormHelperText/FormHelperText.test.tsx +0 -84
  193. package/src/components/Form/FormSelectorWrapper/FormSelectorWrapper.test.tsx +0 -94
  194. package/src/components/Form/Input/Input.test.tsx +0 -267
  195. package/src/components/Form/Label/Label.test.tsx +0 -68
  196. package/src/components/Form/Radio/Radio.test.tsx +0 -130
  197. package/src/components/Form/Select/Option.test.tsx +0 -57
  198. package/src/components/Form/Select/Select.test.tsx +0 -564
  199. package/src/components/Form/Textarea/Textarea.test.tsx +0 -124
  200. package/src/components/Form/Toggle/Toggle.test.tsx +0 -200
  201. package/src/components/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.test.tsx +0 -141
  202. package/src/components/Form/Wrapper/InputWrapper/InputWrapper.test.tsx +0 -211
  203. package/src/components/Form/Wrapper/RadioWrapper/RadioWrapper.test.tsx +0 -117
  204. package/src/components/Form/Wrapper/SelectWrapper/SelectWrapper.test.tsx +0 -186
  205. package/src/components/Form/Wrapper/TextareaWrapper/TextareaWrapper.test.tsx +0 -173
  206. package/src/components/Form/Wrapper/Wrapper/Wrapper.test.tsx +0 -59
  207. package/src/components/Icon/Icon.test.tsx +0 -83
  208. package/src/components/Link/Link.test.tsx +0 -197
  209. package/src/components/Notifications/Banner/Banner.test.tsx +0 -84
  210. package/src/components/Notifications/BaseModal/BaseModal.test.tsx +0 -194
  211. package/src/components/Notifications/BaseModal/BaseModalActions/BaseModalActions.test.tsx +0 -74
  212. package/src/components/Notifications/BaseModal/BaseModalContent/BaseModalContent.test.tsx +0 -71
  213. package/src/components/Notifications/BaseModal/BaseModalHeader/BaseModalHeader.test.tsx +0 -74
  214. package/src/components/Notifications/Dialog/Dialog.test.tsx +0 -118
  215. package/src/components/Notifications/Dialog/DialogActions/DialogActions.test.tsx +0 -61
  216. package/src/components/Notifications/Dialog/DialogTitle/DialogTitle.test.tsx +0 -87
  217. package/src/components/Notifications/DiscardChangesModal/DiscardChangesDialog/DiscardChangesDialog.test.tsx +0 -111
  218. package/src/components/Notifications/DiscardChangesModal/DiscardChangesModal.test.tsx +0 -175
  219. package/src/components/Notifications/Modal/Modal.test.tsx +0 -18
  220. package/src/components/Notifications/NotificationProvider/NotificationContext.test.tsx +0 -449
  221. package/src/components/Notifications/SlideInModal/SlideInModal.test.tsx +0 -90
  222. package/src/components/Notifications/Snackbar/SnackbarContainer/SnackbarContainer.test.tsx +0 -53
  223. package/src/components/Notifications/Snackbar/SnackbarItem/SnackbarItem.test.tsx +0 -63
  224. package/src/components/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.test.tsx +0 -215
  225. package/src/components/Pagination/Pagination.test.tsx +0 -183
  226. package/src/components/Popover/Popover.test.tsx +0 -103
  227. package/src/components/ProgressBar/ProgressBar.test.tsx +0 -91
  228. package/src/components/Skeleton/Skeleton.test.tsx +0 -112
  229. package/src/components/StatusIndicator/StatusIndicator.test.tsx +0 -143
  230. package/src/components/Stepper/Stepper.test.tsx +0 -83
  231. package/src/components/Tabs/Tab.test.tsx +0 -49
  232. package/src/components/Tabs/TabButton.test.tsx +0 -65
  233. package/src/components/Tabs/Tabs.test.tsx +0 -291
  234. package/src/components/Tag/Tag.test.tsx +0 -89
  235. package/src/components/TextEllipsis/TextEllipsis.test.tsx +0 -96
  236. package/src/components/Tiles/Tile.test.tsx +0 -183
  237. package/src/components/Tiles/Tiles.test.tsx +0 -162
  238. package/src/components/Tooltip/Tooltip.test.tsx +0 -390
  239. package/src/components/Typography/Typography.test.tsx +0 -177
  240. package/src/components/Wizard/BaseWizardSteps/BaseWizardSteps.test.tsx +0 -90
  241. package/src/components/Wizard/Wizard.test.tsx +0 -218
  242. package/src/components/Wizard/WizardActions/WizardActions.test.tsx +0 -187
  243. package/src/components/Wizard/WizardSteps/WizardSteps.test.tsx +0 -125
  244. package/src/components/_BaseStyling_/BaseStyling.test.tsx +0 -55
  245. package/src/hooks/useAnimation.test.tsx +0 -65
  246. package/src/hooks/useBodyClick.test.tsx +0 -55
  247. package/src/hooks/useDebouncedCallback.test.ts +0 -150
  248. package/src/hooks/useDetermineStatusIcon.test.ts +0 -28
  249. package/src/hooks/useFormSelector.test.ts +0 -56
  250. package/src/hooks/usePosition.test.tsx +0 -510
  251. package/src/hooks/useRepeater.test.tsx +0 -156
  252. package/src/hooks/useScroll.test.tsx +0 -36
  253. package/src/hooks/useSpacing.test.ts +0 -86
  254. package/src/hooks/useUploadFile.test.ts +0 -211
  255. package/src/util/helper.test.tsx +0 -403
@@ -17,7 +17,7 @@
17
17
  @use "../../../../mixins.module.scss";
18
18
 
19
19
  .snackbar {
20
- padding: 0.5rem 1rem;
20
+ padding: 1rem;
21
21
  border-radius: var(--snackbar-border-radius);
22
22
  display: flex;
23
23
  gap: 0.5rem;
@@ -27,11 +27,6 @@
27
27
  @include mixins.transition(height, 0.2s, ease-in-out);
28
28
  flex-grow: 0;
29
29
 
30
- &.has-title {
31
- align-items: flex-start;
32
- padding: 1rem;
33
- }
34
-
35
30
  &.info {
36
31
  background-color: var(--snackbar-info-background-color);
37
32
  }
@@ -57,6 +52,7 @@
57
52
  align-self: center;
58
53
  width: 2.5rem;
59
54
  height: 2.5rem;
55
+ margin: -0.5rem 0;
60
56
  flex-shrink: 0;
61
57
  border: 0;
62
58
 
@@ -77,39 +73,36 @@
77
73
  .icon {
78
74
  color: var(--snackbar-text-color);
79
75
  font-size: 1rem;
80
- line-height: var(--default-line-height);
81
- display: flex;
76
+ height: 1.25rem;
77
+ display: inline-flex;
78
+ align-items: center;
79
+ align-self: flex-start;
82
80
  }
83
81
 
84
82
  .title {
85
83
  color: var(--snackbar-text-color);
86
84
  flex: 1;
87
85
  font-size: 0.875rem;
88
- line-height: var(--default-line-height);
86
+ line-height: 1.25rem;
89
87
  margin-bottom: 0.25rem;
90
- margin-top: -2.5px;
91
88
  display: block;
92
89
  }
93
90
 
94
- .content-wrapper {
91
+ .outer-content-wrapper {
92
+ display: flex;
93
+ gap: 0.5rem;
95
94
  flex-grow: 1;
96
95
  }
97
96
 
98
- &.has-title .content-wrapper {
99
- width: 12.5rem;
100
- }
101
-
102
- @media screen and (min-width: 37.5em) {
103
- &:not(.has-title) .content {
104
- white-space: nowrap;
105
- }
97
+ .content-wrapper {
98
+ flex-grow: 1;
106
99
  }
107
100
 
108
101
  .content {
109
102
  color: var(--snackbar-text-color);
110
103
  font-size: 0.875rem;
104
+ line-height: 1.25rem;
111
105
  margin-bottom: 0;
112
- line-height: var(--default-line-height);
113
106
  }
114
107
 
115
108
  .actions {
@@ -125,7 +118,7 @@
125
118
  font-size: 0.875rem;
126
119
  line-height: var(--button-font-size);
127
120
  font-weight: 400;
128
- margin: 0;
121
+ margin: -0.5rem 0;
129
122
  padding: 0.625rem 1.25rem;
130
123
  cursor: pointer;
131
124
  transition:
@@ -65,6 +65,9 @@ export const SnackbarItem = ({
65
65
  const timerHandler = useRef<ReturnType<typeof setTimeout>>();
66
66
  const onAnimationEnd = () => onClose(id);
67
67
  const { ref, animationStarted, startAnimation } = useAnimation<HTMLDivElement>(onAnimationEnd);
68
+ const hasOnlyTitle = !content && !!title;
69
+ const renderTitle = title && !hasOnlyTitle;
70
+ const renderContentOrTitleOnly = content || hasOnlyTitle;
68
71
 
69
72
  useRegisterSnackbarHeight(ref, id);
70
73
 
@@ -113,7 +116,6 @@ export const SnackbarItem = ({
113
116
  classes["snackbar"],
114
117
  classes[variant],
115
118
  animationStarted ? readyclasses["slide-out"] : readyclasses["slide-in"],
116
- title ? classes["has-title"] : "",
117
119
  className ?? ""
118
120
  ].join(" ");
119
121
 
@@ -125,18 +127,20 @@ export const SnackbarItem = ({
125
127
  onMouseEnter={onMouseEnter}
126
128
  onMouseLeave={onMouseLeave}
127
129
  >
128
- <Icon icon={getVariantIcon()} className={classes["icon"]} />
129
- <div className={classes["content-wrapper"]}>
130
- {title && (
131
- <Typography className={classes["title"]} variant="body-bold" tag="span">
132
- {title}
133
- </Typography>
134
- )}
135
- {content && (
136
- <Typography className={classes["content"]} variant="body">
137
- {content}
138
- </Typography>
139
- )}
130
+ <div className={classes["outer-content-wrapper"]}>
131
+ <Icon icon={getVariantIcon()} className={classes["icon"]} />
132
+ <div className={classes["content-wrapper"]}>
133
+ {renderTitle && (
134
+ <Typography className={classes["title"]} variant="body-bold" tag="span">
135
+ {title}
136
+ </Typography>
137
+ )}
138
+ {renderContentOrTitleOnly && (
139
+ <Typography className={classes["content"]} variant="body">
140
+ {hasOnlyTitle ? title : content}
141
+ </Typography>
142
+ )}
143
+ </div>
140
144
  </div>
141
145
  {actionButtons.length > 0 && <div className={classes["actions"]}>{actionButtons}</div>}
142
146
  <IconButton
@@ -17,7 +17,13 @@
17
17
  import React, { ReactNode, useRef, useState } from "react";
18
18
  import { createPortal } from "react-dom";
19
19
  import { SnackbarContextProvider } from "./SnackbarStateProvider";
20
- import { Actions, SnackbarOptionsProps, Variant } from "../interfaces";
20
+ import {
21
+ Actions,
22
+ EnqueueSnackbarProps,
23
+ SnackbarOptionsProps,
24
+ Variant,
25
+ isNewEnqueueSnackbarInterface
26
+ } from "../interfaces";
21
27
  import { Placement, SnackbarContainer } from "../SnackbarContainer/SnackbarContainer";
22
28
  import { generateID } from "../../../../util/helper";
23
29
  import { SnackbarItem } from "../SnackbarItem/SnackbarItem";
@@ -92,52 +98,72 @@ export const SnackbarProvider = (
92
98
  };
93
99
 
94
100
  const enqueueSnackbar = (
95
- title?: string,
101
+ propsOrTitle: EnqueueSnackbarProps | string | undefined,
96
102
  content?: string,
97
103
  options: SnackbarOptionsProps = {}
98
104
  ): void => {
105
+ const newInterface = isNewEnqueueSnackbarInterface(propsOrTitle);
106
+ const props = newInterface ? propsOrTitle : mapToNewInterface(propsOrTitle, content, options);
99
107
  const {
100
108
  variant = "info",
101
109
  actions,
102
- duration = getDuration(variant, actions, content),
110
+ duration = getDuration(variant, actions, props.content),
103
111
  onClose
104
- } = options;
112
+ } = props;
105
113
  const item: Item = {
106
- title,
107
- content,
114
+ title: props.title,
115
+ content: props.content,
108
116
  variant,
109
- className: options.className,
117
+ className: props.className,
110
118
  actions,
111
119
  duration,
112
120
  height: 0,
113
- id: generateID(15, title),
121
+ id: generateID(15, props.title),
114
122
  onClose
115
123
  };
116
124
  addSnackbar(item);
117
125
  };
118
126
 
119
- const enqueueSuccessSnackbar = (
127
+ const mapToNewInterface = (
120
128
  title?: string,
121
129
  content?: string,
122
- options?: SnackbarOptionsProps
130
+ options: SnackbarOptionsProps = {}
131
+ ): EnqueueSnackbarProps => {
132
+ return {
133
+ title,
134
+ content,
135
+ ...options
136
+ };
137
+ };
138
+
139
+ const enqueueSuccessSnackbar = (
140
+ propsOrTitle: EnqueueSnackbarProps | string | undefined,
141
+ content?: string,
142
+ options: SnackbarOptionsProps = {}
123
143
  ): void => {
124
- enqueueSnackbar(title, content, { ...options, variant: "success" });
144
+ const newInterface = isNewEnqueueSnackbarInterface(propsOrTitle);
145
+ const props = newInterface ? propsOrTitle : mapToNewInterface(propsOrTitle, content, options);
146
+ enqueueSnackbar({ ...props, variant: "success" });
125
147
  };
126
148
 
127
149
  const enqueueErrorSnackbar = (
128
- title?: string,
150
+ propsOrTitle: EnqueueSnackbarProps | string | undefined,
129
151
  content?: string,
130
- options?: SnackbarOptionsProps
152
+ options: SnackbarOptionsProps = {}
131
153
  ): void => {
132
- enqueueSnackbar(title, content, { ...options, variant: "error" });
154
+ const newInterface = isNewEnqueueSnackbarInterface(propsOrTitle);
155
+ const props = newInterface ? propsOrTitle : mapToNewInterface(propsOrTitle, content, options);
156
+ enqueueSnackbar({ ...props, variant: "error" });
133
157
  };
134
158
 
135
159
  const enqueueWarningSnackbar = (
136
- title?: string,
160
+ propsOrTitle: EnqueueSnackbarProps | string | undefined,
137
161
  content?: string,
138
- options?: SnackbarOptionsProps
162
+ options: SnackbarOptionsProps = {}
139
163
  ): void => {
140
- enqueueSnackbar(title, content, { ...options, variant: "warning" });
164
+ const newInterface = isNewEnqueueSnackbarInterface(propsOrTitle);
165
+ const props = newInterface ? propsOrTitle : mapToNewInterface(propsOrTitle, content, options);
166
+ enqueueSnackbar({ ...props, variant: "warning" });
141
167
  };
142
168
 
143
169
  const onItemClosed = (id: string) => {
@@ -15,22 +15,14 @@
15
15
  */
16
16
 
17
17
  import React, { createContext } from "react";
18
- import { SnackbarOptionsProps } from "../interfaces";
18
+ import { DeprecatedEnqueueSnackbarType } from "../interfaces";
19
19
  import { Item } from "./SnackbarProvider";
20
20
 
21
21
  interface SnackbarContextProps {
22
- enqueueSnackbar: (title?: string, content?: string, options?: SnackbarOptionsProps) => void;
23
- enqueueSuccessSnackbar: (
24
- title?: string,
25
- content?: string,
26
- options?: SnackbarOptionsProps
27
- ) => void;
28
- enqueueWarningSnackbar: (
29
- title?: string,
30
- content?: string,
31
- options?: SnackbarOptionsProps
32
- ) => void;
33
- enqueueErrorSnackbar: (title?: string, content?: string, options?: SnackbarOptionsProps) => void;
22
+ enqueueSnackbar: DeprecatedEnqueueSnackbarType;
23
+ enqueueSuccessSnackbar: DeprecatedEnqueueSnackbarType;
24
+ enqueueWarningSnackbar: DeprecatedEnqueueSnackbarType;
25
+ enqueueErrorSnackbar: DeprecatedEnqueueSnackbarType;
34
26
  setSnackbarHeight: (id: string, height: number) => void;
35
27
  snackbars: Item[];
36
28
  }
@@ -27,3 +27,18 @@ export interface SnackbarOptionsProps {
27
27
  duration?: number;
28
28
  onClose?: () => void;
29
29
  }
30
+
31
+ export interface EnqueueSnackbarProps extends SnackbarOptionsProps {
32
+ title?: string;
33
+ content?: string;
34
+ }
35
+
36
+ export type DeprecatedEnqueueSnackbarType = (
37
+ propsOrTitle: EnqueueSnackbarProps | string | undefined,
38
+ content?: string,
39
+ options?: SnackbarOptionsProps
40
+ ) => void;
41
+
42
+ export function isNewEnqueueSnackbarInterface(args: unknown): args is EnqueueSnackbarProps {
43
+ return args !== null && typeof args === "object" && ("title" in args || "content" in args);
44
+ }
@@ -23,7 +23,7 @@ import React, {
23
23
  useRef,
24
24
  useState
25
25
  } from "react";
26
- import { Offset, Placement, usePosition } from "../../hooks/usePosition";
26
+ import { Offset, Placement, PositionType, usePosition } from "../../hooks/usePosition";
27
27
  import classes from "./Popover.module.scss";
28
28
 
29
29
  export interface Props extends ComponentPropsWithRef<"div"> {
@@ -63,6 +63,18 @@ const PopoverComponent: ForwardRefRenderFunction<HTMLDivElement, Props> = (
63
63
  debounceAmount: debounceAmount ?? undefined
64
64
  });
65
65
 
66
+ const normalizePosition = (value: PositionType) => {
67
+ if (value === "initial") {
68
+ return "initial";
69
+ }
70
+
71
+ if (isNaN(value)) {
72
+ return 0;
73
+ }
74
+
75
+ return Number(value);
76
+ };
77
+
66
78
  useEffect(() => {
67
79
  if (initialCalculationDone) {
68
80
  setShowPopover(!!show);
@@ -114,7 +126,12 @@ const PopoverComponent: ForwardRefRenderFunction<HTMLDivElement, Props> = (
114
126
  <div
115
127
  ref={elToBePositioned}
116
128
  className={`${classes.popover} ${className ?? ""} ${showPopover ? classes.show : ""}`}
117
- style={{ top: top, left: left, right: right, bottom: bottom }}
129
+ style={{
130
+ top: normalizePosition(top),
131
+ left: normalizePosition(left),
132
+ right: normalizePosition(right),
133
+ bottom: normalizePosition(bottom)
134
+ }}
118
135
  >
119
136
  {children}
120
137
  </div>
@@ -17,7 +17,6 @@
17
17
  import React, { CSSProperties, ComponentPropsWithRef, ForwardRefRenderFunction } from "react";
18
18
  import { Icon, Icons } from "../Icon/Icon";
19
19
  import classes from "./Step.module.scss";
20
- import { gapBetweenStepsInRem } from "./Stepper";
21
20
 
22
21
  export type StepStatus = "waiting" | "current" | "done" | "error";
23
22
 
@@ -33,6 +32,8 @@ export interface Props extends Omit<ComponentPropsWithRef<"div">, "onClick"> {
33
32
  onClick?: (event: React.MouseEvent<HTMLButtonElement | HTMLDivElement>) => void;
34
33
  }
35
34
 
35
+ const gapBetweenStepsInRem = 0.5;
36
+
36
37
  const getStepContent = (index: number, status: StepStatus) => {
37
38
  switch (status) {
38
39
  case "waiting":
@@ -24,8 +24,6 @@ export interface Props extends ComponentPropsWithRef<"div"> {
24
24
  textPosition?: "bottom" | "right";
25
25
  }
26
26
 
27
- export const gapBetweenStepsInRem = 0.5;
28
-
29
27
  export const Stepper = ({
30
28
  steps,
31
29
  direction = "horizontal",
@@ -174,6 +174,7 @@
174
174
  transform-origin: center center;
175
175
  pointer-events: none;
176
176
  box-shadow: 0 0.0625rem 0.3125rem 0 rgba(1, 5, 50, 0.3);
177
+ word-break: break-all;
177
178
 
178
179
  @include mixins.transition($transition-property, 0.2s, ease-in-out);
179
180
 
@@ -24,8 +24,9 @@ import React, { HTMLAttributes, ReactElement, useEffect, useRef, useState } from
24
24
  interface CSSProperties {
25
25
  colorFocus?: string;
26
26
  colorPrimary?: string;
27
- colorSecondary?: string;
28
- colorTertiary?: string;
27
+ colorSuccess?: string;
28
+ colorWarning?: string;
29
+ colorDanger?: string;
29
30
  colorPrimary100?: string;
30
31
  colorPrimary300?: string;
31
32
  colorPrimary500?: string;
@@ -76,18 +77,18 @@ interface CSSProperties {
76
77
  buttonPrimaryHoverColor?: string;
77
78
  buttonPrimaryFocusedColor?: string;
78
79
  buttonOutlineHoverTextColor?: string;
79
- buttonSecondaryDefaultColor?: string;
80
- buttonSecondaryHoverColor?: string;
81
- buttonSecondaryFocusedColor?: string;
82
- buttonSecondaryPressedColor?: string;
83
- buttonWarningDefaultColor?: string;
84
- buttonWarningHoverColor?: string;
85
- buttonWarningFocusedColor?: string;
86
- buttonWarningPressedColor?: string;
80
+ buttonSuccessDefaultColor?: string;
81
+ buttonSuccessHoverColor?: string;
82
+ buttonSuccessFocusedColor?: string;
83
+ buttonSuccessPressedColor?: string;
87
84
  buttonDangerDefaultColor?: string;
88
85
  buttonDangerHoverColor?: string;
89
86
  buttonDangerFocusedColor?: string;
90
87
  buttonDangerPressedColor?: string;
88
+ buttonWarningDefaultColor?: string;
89
+ buttonWarningHoverColor?: string;
90
+ buttonWarningFocusedColor?: string;
91
+ buttonWarningPressedColor?: string;
91
92
  buttonDefaultColor?: string;
92
93
  buttonDefaultHoverColor?: string;
93
94
  buttonDefaultFocusedColor?: string;
@@ -238,34 +239,35 @@ export const BaseStyling = ({ children, properties = {} }: Props) => {
238
239
  colorWhite: "#FFFFFF",
239
240
  colorFocus: "var(--color-primary300)",
240
241
  colorPrimary: "var(--color-primary500)",
241
- colorSecondary: "var(--color-green500)",
242
- colorTertiary: "var(--color-light-blue600)",
242
+ colorSuccess: "var(--color-green500)",
243
+ colorWarning: "var(--color-orange500)",
244
+ colorDanger: "var(--color-red500)",
243
245
  defaultPressedColor: "var(--color-blue-grey100)",
244
246
  defaultHoverColor: "var(--color-blue-grey25)",
245
247
  defaultLineHeight: "1.5", //FIXME: UCL-395
246
248
  defaultBorderRadius: "0.25rem",
247
249
  focusBorderRadius: "0.125rem",
248
- buttonBorderRadius: "var(--default-border-radius)",
250
+ buttonBorderRadius: "0.125rem",
249
251
  buttonBorderWidth: "2px",
250
- buttonFontSize: "1rem",
252
+ buttonFontSize: "0.875rem",
251
253
  buttonBorderStyle: "solid",
252
254
  buttonFillTextColor: "var(--light)",
253
255
  buttonPrimaryDefaultColor: "var(--color-primary500)",
254
256
  buttonPrimaryHoverColor: "var(--color-primary600)",
255
257
  buttonPrimaryFocusedColor: "var(--color-primary500)",
256
258
  buttonPrimaryPressedColor: "var(--color-primary700)",
257
- buttonSecondaryDefaultColor: "var(--color-green500)",
258
- buttonSecondaryHoverColor: "var(--color-green600)",
259
- buttonSecondaryFocusedColor: "var(--color-green500)",
260
- buttonSecondaryPressedColor: "var(--color-green700)",
261
- buttonWarningDefaultColor: "var(--color-orange500)",
262
- buttonWarningHoverColor: "var(--color-orange600)",
263
- buttonWarningFocusedColor: "var(--color-orange500)",
264
- buttonWarningPressedColor: "var(--color-orange700)",
259
+ buttonSuccessDefaultColor: "var(--color-green500)",
260
+ buttonSuccessHoverColor: "var(--color-green600)",
261
+ buttonSuccessFocusedColor: "var(--color-green500)",
262
+ buttonSuccessPressedColor: "var(--color-green700)",
265
263
  buttonDangerDefaultColor: "var(--color-red500)",
266
264
  buttonDangerHoverColor: "var(--color-red600)",
267
265
  buttonDangerFocusedColor: "var(--color-red500)",
268
266
  buttonDangerPressedColor: "var(--color-red700)",
267
+ buttonWarningDefaultColor: "var(--color-orange500)",
268
+ buttonWarningHoverColor: "var(--color-orange600)",
269
+ buttonWarningFocusedColor: "var(--color-orange500)",
270
+ buttonWarningPressedColor: "var(--color-orange700)",
269
271
  buttonDefaultColor: "var(--color-blue-grey700)",
270
272
  buttonDefaultHoverColor: "var(--color-blue-grey800)",
271
273
  buttonDefaultFocusedColor: "var(--color-blue-grey700)",
Binary file
@@ -72,9 +72,12 @@
72
72
  <glyph unicode="&#xe93e;" glyph-name="circle" d="M512-12.8c-254.493 0-460.8 206.305-460.8 460.8 0 254.493 206.307 460.8 460.8 460.8 254.495 0 460.8-206.307 460.8-460.8 0-254.495-206.305-460.8-460.8-460.8zM512-64c282.767 0 512 229.233 512 512 0 282.77-229.233 512-512 512-282.77 0-512-229.23-512-512 0-282.767 229.23-512 512-512z" />
73
73
  <glyph unicode="&#xe93f;" glyph-name="table-search" d="M860.814 200.053c69.71 110.903 36.968 258.245-74.463 327.955-35.895 22.749-79.602 36.253-126.464 36.253-84.338 0-158.461-43.738-200.922-109.769l-0.569-0.947c-69.71-111.431-35.911-259.3 74.463-327.955 77.632-48.585 175.86-48.585 253.492 0l164.241-163.185 73.407 73.407-163.185 164.241zM755.192 232.797c-51.754-51.754-135.196-51.227-186.95 0-51.227 51.754-51.227 135.196 0.529 186.95 51.227 51.227 134.667 51.227 186.422 0 50.698-52.283 50.17-135.723-1.584-186.95h1.584zM844.971 933.595h-739.351c-58.333 0-105.621-47.288-105.621-105.621v0-633.73c0-58.333 47.288-105.621 105.621-105.621v0h306.83c-28.777 29.605-52.137 64.653-68.367 103.427l-0.814 2.195h-237.648v211.243h220.749c8.45 37.495 22.709 73.407 43.305 105.621h-264.053v211.243h316.865v-148.398c29.605 28.777 64.653 52.137 103.427 68.367l2.195 0.814v79.216h316.865v-105.621c42.806-27.479 78.143-62.815 104.802-104.261l0.819-1.36v316.865c0 58.333-47.288 105.621-105.621 105.621v0z" />
74
74
  <glyph unicode="&#xe940;" glyph-name="StyleFilled" d="M407.718 4.801v312.847h208.565v-312.847h260.705v417.125h156.424l-521.412 469.271-521.412-469.271h156.424v-417.125h260.705z" />
75
- <glyph unicode="&#xe941;" glyph-name="file-outline" d="M597.333 874.667h-341.333c-46.933 0-85.333-38.4-85.333-85.333v-682.667c0-46.933 38.4-85.333 85.333-85.333h512c46.933 0 85.333 38.4 85.333 85.333v512l-256 256zM768 106.667h-512v682.667h298.667v-213.333h213.333v-469.333z" />
75
+ <glyph unicode="&#xe941;" glyph-name="file-outline" d="M614.4 960.001h-409.6c-56.32 0-102.4-46.080-102.4-102.4v-819.2c0-56.32 46.080-102.4 102.4-102.4h614.399c56.32 0 102.4 46.080 102.4 102.4v614.399l-307.2 307.2zM819.2 38.4h-614.399v819.2h358.401v-256h256v-563.199z" />
76
76
  <glyph unicode="&#xe942;" glyph-name="file-upload-outline" d="M597.333 874.667l256-256v-512c0-47.128-38.205-85.333-85.333-85.333v0h-512c-47.128 0-85.333 38.205-85.333 85.333v0 682.667c0 47.128 38.205 85.333 85.333 85.333v0h341.333zM768 106.667v469.333h-213.333v213.333h-298.667v-682.667h512zM512 448l170.667-170.667h-106.667v-128h-128v128h-106.667l170.667 170.667z" />
77
- <glyph unicode="&#xe943;" glyph-name="file-download-outline" d="M597.333 874.667l256-256v-512c0-47.128-38.205-85.333-85.333-85.333v0h-512c-47.128 0-85.333 38.205-85.333 85.333v0 682.667c0 47.128 38.205 85.333 85.333 85.333v0h341.333zM768 106.667v469.333h-213.333v213.333h-298.667v-682.667h512zM512 149.333l-170.667 170.667h106.667v128h128v-128h106.667l-170.667-170.667z" />
77
+ <glyph unicode="&#xe943;" glyph-name="file-download-outline" d="M614.4 960.001l307.2-307.2v-614.4c0-56.554-45.846-102.4-102.4-102.4v0h-614.4c-56.554 0-102.4 45.846-102.4 102.4v0 819.201c0 56.554 45.846 102.4 102.4 102.4v0h409.6zM819.2 38.4v563.2h-256v256h-358.401v-819.201h614.4zM512 89.599l-204.8 204.8h128v153.6h153.6v-153.6h128l-204.8-204.8z" />
78
78
  <glyph unicode="&#xe944;" glyph-name="error-circle" d="M512.001 959.999c-282.624 0-512.001-229.376-512.001-512.001s229.376-511.998 512.001-511.998c282.626 0 511.999 229.374 511.999 511.998s-229.374 512.001-511.999 512.001zM563.201 191.996h-102.4v102.402h102.4v-102.402zM563.201 396.799h-102.4v307.2h102.4v-307.2z" />
79
+ <glyph unicode="&#xe945;" glyph-name="upload" d="M933.648 598.588h-240.942v361.412h-361.412v-361.412h-240.942l421.648-421.648 421.648 421.648zM451.764 478.116v361.412h120.47v-361.412h70.475l-130.711-130.711-130.711 130.711h70.475zM90.352 56.47h843.294v-120.47h-843.294v120.47z" />
80
+ <glyph unicode="&#xe946;" glyph-name="reply" d="M98.011 739.109l366.202-157.014-366.689 48.762 0.488 108.251zM463.726 313.905l-366.202-157.014v108.251l366.202 48.762zM0.488 886.857l-0.488-341.334 731.429-97.523-731.429-97.523 0.488-341.334 1023.512 438.857-1023.512 438.857z" />
81
+ <glyph unicode="&#xe947;" glyph-name="save" d="M796.445 959.998h-682.667c-63.147 0-113.777-51.2-113.777-113.777v-796.444c0-62.577 50.631-113.777 113.777-113.777h796.444c62.577 0 113.777 51.2 113.777 113.777v682.667l-227.556 227.556zM910.224 49.775h-796.444v796.444h635.449l160.996-160.996v-635.449zM512.001 447.998c-94.436 0-170.667-76.231-170.667-170.667s76.231-170.667 170.667-170.667c94.436 0 170.667 76.231 170.667 170.667s-76.231 170.667-170.667 170.667zM170.668 789.331h512v-227.556h-512v227.556z" />
79
82
  <glyph unicode="&#xe9d1;" glyph-name="eye-blocked" d="M945.942 945.942c-18.746 18.744-49.136 18.744-67.882 0l-202.164-202.164c-51.938 15.754-106.948 24.222-163.896 24.222-223.318 0-416.882-130.042-512-320 41.122-82.124 100.648-153.040 173.022-207.096l-158.962-158.962c-18.746-18.746-18.746-49.136 0-67.882 9.372-9.374 21.656-14.060 33.94-14.060s24.568 4.686 33.942 14.058l864 864c18.744 18.746 18.744 49.138 0 67.884zM416 640c42.24 0 78.082-27.294 90.92-65.196l-121.724-121.724c-37.902 12.838-65.196 48.68-65.196 90.92 0 53.020 42.98 96 96 96zM110.116 448c38.292 60.524 89.274 111.924 149.434 150.296 3.918 2.5 7.876 4.922 11.862 7.3-9.962-27.328-15.412-56.822-15.412-87.596 0-54.89 17.286-105.738 46.7-147.418l-60.924-60.924c-52.446 36.842-97.202 83.882-131.66 138.342zM768 518c0 27.166-4.256 53.334-12.102 77.898l-321.808-321.808c24.568-7.842 50.742-12.090 77.91-12.090 141.382 0 256 114.618 256 256zM830.026 670.026l-69.362-69.362c1.264-0.786 2.53-1.568 3.786-2.368 60.162-38.374 111.142-89.774 149.434-150.296-38.292-60.522-89.274-111.922-149.436-150.296-75.594-48.218-162.89-73.704-252.448-73.704-38.664 0-76.902 4.76-113.962 14.040l-76.894-76.894c59.718-21.462 123.95-33.146 190.856-33.146 223.31 0 416.876 130.042 512 320-45.022 89.916-112.118 166.396-193.974 222.026z" />
80
83
  </font></defs></svg>
Binary file
Binary file