@amboss/design-system 1.15.2 → 1.15.3

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 (344) hide show
  1. package/build/cjs/build-tokens/_breakpoints.json.js +10 -0
  2. package/build/cjs/build-tokens/_icon_sizes_map.json.js +5 -0
  3. package/build/cjs/build-tokens/_zindex.json.js +10 -0
  4. package/build/cjs/build-tokens/assets/icons.json.js +82 -0
  5. package/build/cjs/build-tokens/assets/icons16.json.js +87 -0
  6. package/build/cjs/build-tokens/assets/logo.json.js +7 -0
  7. package/build/cjs/build-tokens/visualConfig.js +1329 -0
  8. package/build/cjs/scss/themes/dark.scss +111 -0
  9. package/build/cjs/scss/themes/light.scss +111 -0
  10. package/build/cjs/src/components/Badge/Badge.js +63 -0
  11. package/build/cjs/src/components/Box/Box.js +89 -0
  12. package/build/cjs/src/components/Button/Button.js +290 -0
  13. package/build/cjs/src/components/Callout/Callout.js +102 -0
  14. package/build/cjs/src/components/Card/Card.js +69 -0
  15. package/build/cjs/src/components/Card/CardBox.js +23 -0
  16. package/build/cjs/src/components/Card/CardHeader/CardHeader.js +59 -0
  17. package/build/cjs/src/components/Collapsible/Collapsible.js +117 -0
  18. package/build/cjs/src/components/Column/Columns.js +147 -0
  19. package/build/cjs/src/components/Container/Container.js +63 -0
  20. package/build/cjs/src/components/DataTable/DataTable.js +187 -0
  21. package/build/cjs/src/components/DataTable/TableBody.js +161 -0
  22. package/build/cjs/src/components/DataTable/TableCell.js +45 -0
  23. package/build/cjs/src/components/DataTable/TableHeader.js +194 -0
  24. package/build/cjs/src/components/DataTable/useDataTableSort.js +42 -0
  25. package/build/cjs/src/components/Divider/Divider.js +68 -0
  26. package/build/cjs/src/components/DropdownMenu/DropdownMenu.js +227 -0
  27. package/build/cjs/src/components/DropdownMenu/MenuItem.js +103 -0
  28. package/build/cjs/src/components/Form/Checkbox/Checkbox.js +147 -0
  29. package/build/cjs/src/components/Form/FormErrorMessages/FormErrorMessages.js +27 -0
  30. package/build/cjs/src/components/Form/FormField/FormField.js +58 -0
  31. package/build/cjs/src/components/Form/FormFieldGroup/FormFieldGroup.js +55 -0
  32. package/build/cjs/src/components/Form/FormLabelText/FormLabelText.js +42 -0
  33. package/build/cjs/src/components/Form/Input/Input.js +186 -0
  34. package/build/cjs/src/components/Form/PasswordInput/PasswordInput.js +226 -0
  35. package/build/cjs/src/components/Form/Radio/Radio.js +138 -0
  36. package/build/cjs/src/components/Form/RadioButton/RadioButton.js +124 -0
  37. package/build/cjs/src/components/Form/SegmentedControl/SegmentedControl.js +131 -0
  38. package/build/cjs/src/components/Form/SegmentedControl/SegmentedControlOption.js +216 -0
  39. package/build/cjs/src/components/Form/Select/Select.js +291 -0
  40. package/build/cjs/src/components/Form/Textarea/Textarea.js +93 -0
  41. package/build/cjs/src/components/Form/Toggle/Toggle.js +179 -0
  42. package/build/cjs/src/components/Form/ToggleButton/ToggleButton.js +143 -0
  43. package/build/cjs/src/components/Icon/Icon.js +110 -0
  44. package/build/cjs/src/components/Inline/Inline.js +113 -0
  45. package/build/cjs/src/components/Link/Link.js +77 -0
  46. package/build/cjs/src/components/LoadingSpinner/LoadingSpinner.js +84 -0
  47. package/build/cjs/src/components/Logo/Logo.js +44 -0
  48. package/build/cjs/src/components/MediaItem/MediaItem.js +120 -0
  49. package/build/cjs/src/components/MediaViewerBar/MediaViewerBar.js +73 -0
  50. package/build/cjs/src/components/Notification/Notification.js +108 -0
  51. package/build/cjs/src/components/Pagination/Pagination.js +91 -0
  52. package/build/cjs/src/components/Patterns/ButtonGroup/ButtonGroup.js +52 -0
  53. package/build/cjs/src/components/Patterns/Modal/Modal.js +221 -0
  54. package/build/cjs/src/components/PictogramButton/PictogramButton.js +150 -0
  55. package/build/cjs/src/components/Portal/Portal.js +22 -0
  56. package/build/cjs/src/components/ProgressBar/ProgressBar.js +38 -0
  57. package/build/cjs/src/components/RoundButton/RoundButton.js +140 -0
  58. package/build/cjs/src/components/SearchResult/SearchResult.js +184 -0
  59. package/build/cjs/src/components/SegmentedProgressBar/SegmentedProgressBar.js +110 -0
  60. package/build/cjs/src/components/SegmentedProgressBar/SegmentedProgressBarUtil.js +42 -0
  61. package/build/cjs/src/components/Stack/Stack.js +80 -0
  62. package/build/cjs/src/components/SubThemeProvider/SubThemeProvider.js +55 -0
  63. package/build/cjs/src/components/Tabs/Tabs.js +137 -0
  64. package/build/cjs/src/components/Tag/Tag.js +90 -0
  65. package/build/cjs/src/components/Tooltip/Tooltip.js +275 -0
  66. package/build/cjs/src/components/Tooltip/utils.js +81 -0
  67. package/build/cjs/src/components/Typography/Header/Header.js +132 -0
  68. package/build/cjs/src/components/Typography/StyledText/StyledText.js +168 -0
  69. package/build/cjs/src/components/Typography/Text/Text.js +71 -0
  70. package/build/cjs/src/components/Typography/TextClamped/TextClamped.js +54 -0
  71. package/build/cjs/src/components/VirtualScrollList/VirtualScrollList.js +116 -0
  72. package/build/cjs/src/components/VirtualScrollList/VirtualScrollListReducer.js +131 -0
  73. package/build/cjs/src/index.js +136 -0
  74. package/build/cjs/src/shared/ScreenReaderText.js +26 -0
  75. package/build/cjs/src/shared/flattenChildren.js +33 -0
  76. package/build/cjs/src/shared/informDeprecation.js +12 -0
  77. package/build/cjs/src/shared/mediaQueries.js +68 -0
  78. package/build/cjs/src/shared/useAutoPosition.js +42 -0
  79. package/build/cjs/src/shared/useDocument.js +7 -0
  80. package/build/cjs/src/shared/useHover.js +26 -0
  81. package/build/cjs/src/shared/useKeyboard.js +43 -0
  82. package/build/cjs/src/shared/useOnEscapePress.js +52 -0
  83. package/build/cjs/src/shared/useOutsideClick.js +33 -0
  84. package/build/cjs/src/shared/useWindow.js +7 -0
  85. package/build/esm/build-tokens/_breakpoints.json +17 -0
  86. package/build/esm/build-tokens/_breakpoints.json.js +4 -0
  87. package/build/esm/build-tokens/_breakpoints.json.js.map +1 -0
  88. package/build/esm/build-tokens/_colors.json +918 -0
  89. package/build/esm/build-tokens/_icon_sizes_map.json +7 -0
  90. package/build/esm/build-tokens/_icon_sizes_map.json.js +4 -0
  91. package/build/esm/build-tokens/_icon_sizes_map.json.js.map +1 -0
  92. package/build/esm/build-tokens/_sizes.json +782 -0
  93. package/build/esm/build-tokens/_subThemeType.d.ts +1 -0
  94. package/build/esm/build-tokens/_zindex.json +17 -0
  95. package/build/esm/build-tokens/_zindex.json.js +4 -0
  96. package/build/esm/build-tokens/_zindex.json.js.map +1 -0
  97. package/build/esm/build-tokens/assets/icons.json +141 -0
  98. package/build/esm/build-tokens/assets/icons.json.js +4 -0
  99. package/build/esm/build-tokens/assets/icons.json.js.map +1 -0
  100. package/build/esm/build-tokens/assets/icons16.json +153 -0
  101. package/build/esm/build-tokens/assets/icons16.json.js +4 -0
  102. package/build/esm/build-tokens/assets/icons16.json.js.map +1 -0
  103. package/build/esm/build-tokens/assets/logo.json +3 -0
  104. package/build/esm/build-tokens/assets/logo.json.js +4 -0
  105. package/build/esm/build-tokens/assets/logo.json.js.map +1 -0
  106. package/build/esm/build-tokens/visualConfig.d.ts +767 -0
  107. package/build/esm/build-tokens/visualConfig.js +1328 -0
  108. package/build/esm/build-tokens/visualConfig.js.map +1 -0
  109. package/build/esm/scss/themes/dark.scss +111 -0
  110. package/build/esm/scss/themes/light.scss +111 -0
  111. package/build/esm/src/components/Badge/Badge.d.ts +11 -0
  112. package/build/esm/src/components/Badge/Badge.js +57 -0
  113. package/build/esm/src/components/Badge/Badge.js.map +1 -0
  114. package/build/esm/src/components/Box/Box.d.ts +35 -0
  115. package/build/esm/src/components/Box/Box.js +82 -0
  116. package/build/esm/src/components/Box/Box.js.map +1 -0
  117. package/build/esm/src/components/Button/Button.d.ts +33 -0
  118. package/build/esm/src/components/Button/Button.js +282 -0
  119. package/build/esm/src/components/Button/Button.js.map +1 -0
  120. package/build/esm/src/components/Callout/Callout.d.ts +14 -0
  121. package/build/esm/src/components/Callout/Callout.js +96 -0
  122. package/build/esm/src/components/Callout/Callout.js.map +1 -0
  123. package/build/esm/src/components/Card/Card.d.ts +16 -0
  124. package/build/esm/src/components/Card/Card.js +63 -0
  125. package/build/esm/src/components/Card/Card.js.map +1 -0
  126. package/build/esm/src/components/Card/CardBox.d.ts +6 -0
  127. package/build/esm/src/components/Card/CardBox.js +18 -0
  128. package/build/esm/src/components/Card/CardBox.js.map +1 -0
  129. package/build/esm/src/components/Card/CardHeader/CardHeader.d.ts +12 -0
  130. package/build/esm/src/components/Card/CardHeader/CardHeader.js +52 -0
  131. package/build/esm/src/components/Card/CardHeader/CardHeader.js.map +1 -0
  132. package/build/esm/src/components/Collapsible/Collapsible.d.ts +15 -0
  133. package/build/esm/src/components/Collapsible/Collapsible.js +110 -0
  134. package/build/esm/src/components/Collapsible/Collapsible.js.map +1 -0
  135. package/build/esm/src/components/Column/Columns.d.ts +45 -0
  136. package/build/esm/src/components/Column/Columns.js +141 -0
  137. package/build/esm/src/components/Column/Columns.js.map +1 -0
  138. package/build/esm/src/components/Container/Container.d.ts +11 -0
  139. package/build/esm/src/components/Container/Container.js +57 -0
  140. package/build/esm/src/components/Container/Container.js.map +1 -0
  141. package/build/esm/src/components/DataTable/DataTable.d.ts +58 -0
  142. package/build/esm/src/components/DataTable/DataTable.js +180 -0
  143. package/build/esm/src/components/DataTable/DataTable.js.map +1 -0
  144. package/build/esm/src/components/DataTable/TableBody.d.ts +9 -0
  145. package/build/esm/src/components/DataTable/TableBody.js +153 -0
  146. package/build/esm/src/components/DataTable/TableBody.js.map +1 -0
  147. package/build/esm/src/components/DataTable/TableCell.d.ts +15 -0
  148. package/build/esm/src/components/DataTable/TableCell.js +38 -0
  149. package/build/esm/src/components/DataTable/TableCell.js.map +1 -0
  150. package/build/esm/src/components/DataTable/TableHeader.d.ts +9 -0
  151. package/build/esm/src/components/DataTable/TableHeader.js +185 -0
  152. package/build/esm/src/components/DataTable/TableHeader.js.map +1 -0
  153. package/build/esm/src/components/DataTable/index.d.ts +4 -0
  154. package/build/esm/src/components/DataTable/types.d.ts +15 -0
  155. package/build/esm/src/components/DataTable/useDataTableSort.d.ts +14 -0
  156. package/build/esm/src/components/DataTable/useDataTableSort.js +41 -0
  157. package/build/esm/src/components/DataTable/useDataTableSort.js.map +1 -0
  158. package/build/esm/src/components/Divider/Divider.d.ts +6 -0
  159. package/build/esm/src/components/Divider/Divider.js +62 -0
  160. package/build/esm/src/components/Divider/Divider.js.map +1 -0
  161. package/build/esm/src/components/DropdownMenu/DropdownMenu.d.ts +35 -0
  162. package/build/esm/src/components/DropdownMenu/DropdownMenu.js +221 -0
  163. package/build/esm/src/components/DropdownMenu/DropdownMenu.js.map +1 -0
  164. package/build/esm/src/components/DropdownMenu/MenuItem.d.ts +19 -0
  165. package/build/esm/src/components/DropdownMenu/MenuItem.js +97 -0
  166. package/build/esm/src/components/DropdownMenu/MenuItem.js.map +1 -0
  167. package/build/esm/src/components/Form/Checkbox/Checkbox.d.ts +15 -0
  168. package/build/esm/src/components/Form/Checkbox/Checkbox.js +140 -0
  169. package/build/esm/src/components/Form/Checkbox/Checkbox.js.map +1 -0
  170. package/build/esm/src/components/Form/FormErrorMessages/FormErrorMessages.d.ts +6 -0
  171. package/build/esm/src/components/Form/FormErrorMessages/FormErrorMessages.js +22 -0
  172. package/build/esm/src/components/Form/FormErrorMessages/FormErrorMessages.js.map +1 -0
  173. package/build/esm/src/components/Form/FormField/FormField.d.ts +15 -0
  174. package/build/esm/src/components/Form/FormField/FormField.js +52 -0
  175. package/build/esm/src/components/Form/FormField/FormField.js.map +1 -0
  176. package/build/esm/src/components/Form/FormFieldGroup/FormFieldGroup.d.ts +11 -0
  177. package/build/esm/src/components/Form/FormFieldGroup/FormFieldGroup.js +49 -0
  178. package/build/esm/src/components/Form/FormFieldGroup/FormFieldGroup.js.map +1 -0
  179. package/build/esm/src/components/Form/FormLabelText/FormLabelText.d.ts +7 -0
  180. package/build/esm/src/components/Form/FormLabelText/FormLabelText.js +36 -0
  181. package/build/esm/src/components/Form/FormLabelText/FormLabelText.js.map +1 -0
  182. package/build/esm/src/components/Form/Input/Input.d.ts +54 -0
  183. package/build/esm/src/components/Form/Input/Input.js +178 -0
  184. package/build/esm/src/components/Form/Input/Input.js.map +1 -0
  185. package/build/esm/src/components/Form/Input/index.d.ts +2 -0
  186. package/build/esm/src/components/Form/PasswordInput/PasswordInput.d.ts +53 -0
  187. package/build/esm/src/components/Form/PasswordInput/PasswordInput.js +218 -0
  188. package/build/esm/src/components/Form/PasswordInput/PasswordInput.js.map +1 -0
  189. package/build/esm/src/components/Form/PasswordInput/index.d.ts +2 -0
  190. package/build/esm/src/components/Form/Radio/Radio.d.ts +14 -0
  191. package/build/esm/src/components/Form/Radio/Radio.js +131 -0
  192. package/build/esm/src/components/Form/Radio/Radio.js.map +1 -0
  193. package/build/esm/src/components/Form/RadioButton/RadioButton.d.ts +17 -0
  194. package/build/esm/src/components/Form/RadioButton/RadioButton.js +117 -0
  195. package/build/esm/src/components/Form/RadioButton/RadioButton.js.map +1 -0
  196. package/build/esm/src/components/Form/SegmentedControl/SegmentedControl.d.ts +31 -0
  197. package/build/esm/src/components/Form/SegmentedControl/SegmentedControl.js +124 -0
  198. package/build/esm/src/components/Form/SegmentedControl/SegmentedControl.js.map +1 -0
  199. package/build/esm/src/components/Form/SegmentedControl/SegmentedControlOption.d.ts +8 -0
  200. package/build/esm/src/components/Form/SegmentedControl/SegmentedControlOption.js +210 -0
  201. package/build/esm/src/components/Form/SegmentedControl/SegmentedControlOption.js.map +1 -0
  202. package/build/esm/src/components/Form/Select/Select.d.ts +23 -0
  203. package/build/esm/src/components/Form/Select/Select.js +284 -0
  204. package/build/esm/src/components/Form/Select/Select.js.map +1 -0
  205. package/build/esm/src/components/Form/Textarea/Textarea.d.ts +26 -0
  206. package/build/esm/src/components/Form/Textarea/Textarea.js +86 -0
  207. package/build/esm/src/components/Form/Textarea/Textarea.js.map +1 -0
  208. package/build/esm/src/components/Form/Toggle/Toggle.d.ts +18 -0
  209. package/build/esm/src/components/Form/Toggle/Toggle.js +172 -0
  210. package/build/esm/src/components/Form/Toggle/Toggle.js.map +1 -0
  211. package/build/esm/src/components/Form/ToggleButton/ToggleButton.d.ts +15 -0
  212. package/build/esm/src/components/Form/ToggleButton/ToggleButton.js +136 -0
  213. package/build/esm/src/components/Form/ToggleButton/ToggleButton.js.map +1 -0
  214. package/build/esm/src/components/Icon/Icon.d.ts +22 -0
  215. package/build/esm/src/components/Icon/Icon.js +104 -0
  216. package/build/esm/src/components/Icon/Icon.js.map +1 -0
  217. package/build/esm/src/components/Inline/Inline.d.ts +30 -0
  218. package/build/esm/src/components/Inline/Inline.js +107 -0
  219. package/build/esm/src/components/Inline/Inline.js.map +1 -0
  220. package/build/esm/src/components/Link/Link.d.ts +14 -0
  221. package/build/esm/src/components/Link/Link.js +70 -0
  222. package/build/esm/src/components/Link/Link.js.map +1 -0
  223. package/build/esm/src/components/LoadingSpinner/LoadingSpinner.d.ts +11 -0
  224. package/build/esm/src/components/LoadingSpinner/LoadingSpinner.js +78 -0
  225. package/build/esm/src/components/LoadingSpinner/LoadingSpinner.js.map +1 -0
  226. package/build/esm/src/components/Logo/Logo.d.ts +8 -0
  227. package/build/esm/src/components/Logo/Logo.js +38 -0
  228. package/build/esm/src/components/Logo/Logo.js.map +1 -0
  229. package/build/esm/src/components/MediaItem/MediaItem.d.ts +14 -0
  230. package/build/esm/src/components/MediaItem/MediaItem.js +114 -0
  231. package/build/esm/src/components/MediaItem/MediaItem.js.map +1 -0
  232. package/build/esm/src/components/MediaViewerBar/MediaViewerBar.d.ts +7 -0
  233. package/build/esm/src/components/MediaViewerBar/MediaViewerBar.js +67 -0
  234. package/build/esm/src/components/MediaViewerBar/MediaViewerBar.js.map +1 -0
  235. package/build/esm/src/components/Notification/ExpandedContent.d.ts +2 -0
  236. package/build/esm/src/components/Notification/Notification.d.ts +16 -0
  237. package/build/esm/src/components/Notification/Notification.js +102 -0
  238. package/build/esm/src/components/Notification/Notification.js.map +1 -0
  239. package/build/esm/src/components/Pagination/Pagination.d.ts +17 -0
  240. package/build/esm/src/components/Pagination/Pagination.js +86 -0
  241. package/build/esm/src/components/Pagination/Pagination.js.map +1 -0
  242. package/build/esm/src/components/Patterns/ButtonGroup/ButtonGroup.d.ts +14 -0
  243. package/build/esm/src/components/Patterns/ButtonGroup/ButtonGroup.js +46 -0
  244. package/build/esm/src/components/Patterns/ButtonGroup/ButtonGroup.js.map +1 -0
  245. package/build/esm/src/components/Patterns/Modal/Modal.d.ts +28 -0
  246. package/build/esm/src/components/Patterns/Modal/Modal.js +214 -0
  247. package/build/esm/src/components/Patterns/Modal/Modal.js.map +1 -0
  248. package/build/esm/src/components/PictogramButton/PictogramButton.d.ts +15 -0
  249. package/build/esm/src/components/PictogramButton/PictogramButton.js +143 -0
  250. package/build/esm/src/components/PictogramButton/PictogramButton.js.map +1 -0
  251. package/build/esm/src/components/Portal/Portal.d.ts +7 -0
  252. package/build/esm/src/components/Portal/Portal.js +16 -0
  253. package/build/esm/src/components/Portal/Portal.js.map +1 -0
  254. package/build/esm/src/components/ProgressBar/ProgressBar.d.ts +15 -0
  255. package/build/esm/src/components/ProgressBar/ProgressBar.js +33 -0
  256. package/build/esm/src/components/ProgressBar/ProgressBar.js.map +1 -0
  257. package/build/esm/src/components/RoundButton/RoundButton.d.ts +12 -0
  258. package/build/esm/src/components/RoundButton/RoundButton.js +133 -0
  259. package/build/esm/src/components/RoundButton/RoundButton.js.map +1 -0
  260. package/build/esm/src/components/SearchResult/SearchResult.d.ts +43 -0
  261. package/build/esm/src/components/SearchResult/SearchResult.js +178 -0
  262. package/build/esm/src/components/SearchResult/SearchResult.js.map +1 -0
  263. package/build/esm/src/components/SegmentedProgressBar/SegmentedProgressBar.d.ts +28 -0
  264. package/build/esm/src/components/SegmentedProgressBar/SegmentedProgressBar.js +104 -0
  265. package/build/esm/src/components/SegmentedProgressBar/SegmentedProgressBar.js.map +1 -0
  266. package/build/esm/src/components/SegmentedProgressBar/SegmentedProgressBarUtil.d.ts +10 -0
  267. package/build/esm/src/components/SegmentedProgressBar/SegmentedProgressBarUtil.js +40 -0
  268. package/build/esm/src/components/SegmentedProgressBar/SegmentedProgressBarUtil.js.map +1 -0
  269. package/build/esm/src/components/ShadowWebComponent/ShadowWebComponent.d.ts +13 -0
  270. package/build/esm/src/components/Stack/Stack.d.ts +20 -0
  271. package/build/esm/src/components/Stack/Stack.js +74 -0
  272. package/build/esm/src/components/Stack/Stack.js.map +1 -0
  273. package/build/esm/src/components/SubThemeProvider/SubThemeProvider.d.ts +8 -0
  274. package/build/esm/src/components/SubThemeProvider/SubThemeProvider.js +50 -0
  275. package/build/esm/src/components/SubThemeProvider/SubThemeProvider.js.map +1 -0
  276. package/build/esm/src/components/Tabs/Tabs.d.ts +28 -0
  277. package/build/esm/src/components/Tabs/Tabs.js +130 -0
  278. package/build/esm/src/components/Tabs/Tabs.js.map +1 -0
  279. package/build/esm/src/components/Tag/Tag.d.ts +18 -0
  280. package/build/esm/src/components/Tag/Tag.js +84 -0
  281. package/build/esm/src/components/Tag/Tag.js.map +1 -0
  282. package/build/esm/src/components/Tooltip/Tooltip.d.ts +23 -0
  283. package/build/esm/src/components/Tooltip/Tooltip.js +269 -0
  284. package/build/esm/src/components/Tooltip/Tooltip.js.map +1 -0
  285. package/build/esm/src/components/Tooltip/utils.d.ts +11 -0
  286. package/build/esm/src/components/Tooltip/utils.js +75 -0
  287. package/build/esm/src/components/Tooltip/utils.js.map +1 -0
  288. package/build/esm/src/components/Typography/Header/Header.d.ts +34 -0
  289. package/build/esm/src/components/Typography/Header/Header.js +122 -0
  290. package/build/esm/src/components/Typography/Header/Header.js.map +1 -0
  291. package/build/esm/src/components/Typography/StyledText/StyledText.d.ts +11 -0
  292. package/build/esm/src/components/Typography/StyledText/StyledText.js +161 -0
  293. package/build/esm/src/components/Typography/StyledText/StyledText.js.map +1 -0
  294. package/build/esm/src/components/Typography/Text/Text.d.ts +21 -0
  295. package/build/esm/src/components/Typography/Text/Text.js +65 -0
  296. package/build/esm/src/components/Typography/Text/Text.js.map +1 -0
  297. package/build/esm/src/components/Typography/TextClamped/TextClamped.d.ts +10 -0
  298. package/build/esm/src/components/Typography/TextClamped/TextClamped.js +47 -0
  299. package/build/esm/src/components/Typography/TextClamped/TextClamped.js.map +1 -0
  300. package/build/esm/src/components/VirtualScrollList/VirtualScrollList.d.ts +11 -0
  301. package/build/esm/src/components/VirtualScrollList/VirtualScrollList.js +110 -0
  302. package/build/esm/src/components/VirtualScrollList/VirtualScrollList.js.map +1 -0
  303. package/build/esm/src/components/VirtualScrollList/VirtualScrollListReducer.d.ts +36 -0
  304. package/build/esm/src/components/VirtualScrollList/VirtualScrollListReducer.js +130 -0
  305. package/build/esm/src/components/VirtualScrollList/VirtualScrollListReducer.js.map +1 -0
  306. package/build/esm/src/index.d.ts +53 -0
  307. package/build/esm/src/index.js +60 -0
  308. package/build/esm/src/index.js.map +1 -0
  309. package/build/esm/src/shared/ScreenReaderText.d.ts +5 -0
  310. package/build/esm/src/shared/ScreenReaderText.js +21 -0
  311. package/build/esm/src/shared/ScreenReaderText.js.map +1 -0
  312. package/build/esm/src/shared/flattenChildren.d.ts +11 -0
  313. package/build/esm/src/shared/flattenChildren.js +32 -0
  314. package/build/esm/src/shared/flattenChildren.js.map +1 -0
  315. package/build/esm/src/shared/informDeprecation.d.ts +1 -0
  316. package/build/esm/src/shared/informDeprecation.js +11 -0
  317. package/build/esm/src/shared/informDeprecation.js.map +1 -0
  318. package/build/esm/src/shared/mediaQueries.d.ts +14 -0
  319. package/build/esm/src/shared/mediaQueries.js +66 -0
  320. package/build/esm/src/shared/mediaQueries.js.map +1 -0
  321. package/build/esm/src/shared/replaceDeprecated.d.ts +1 -0
  322. package/build/esm/src/shared/useAutoPosition.d.ts +5 -0
  323. package/build/esm/src/shared/useAutoPosition.js +41 -0
  324. package/build/esm/src/shared/useAutoPosition.js.map +1 -0
  325. package/build/esm/src/shared/useDocument.d.ts +1 -0
  326. package/build/esm/src/shared/useDocument.js +6 -0
  327. package/build/esm/src/shared/useDocument.js.map +1 -0
  328. package/build/esm/src/shared/useHover.d.ts +2 -0
  329. package/build/esm/src/shared/useHover.js +25 -0
  330. package/build/esm/src/shared/useHover.js.map +1 -0
  331. package/build/esm/src/shared/useKeyboard.d.ts +17 -0
  332. package/build/esm/src/shared/useKeyboard.js +42 -0
  333. package/build/esm/src/shared/useKeyboard.js.map +1 -0
  334. package/build/esm/src/shared/useOnEscapePress.d.ts +2 -0
  335. package/build/esm/src/shared/useOnEscapePress.js +51 -0
  336. package/build/esm/src/shared/useOnEscapePress.js.map +1 -0
  337. package/build/esm/src/shared/useOutsideClick.d.ts +11 -0
  338. package/build/esm/src/shared/useOutsideClick.js +32 -0
  339. package/build/esm/src/shared/useOutsideClick.js.map +1 -0
  340. package/build/esm/src/shared/useWindow.d.ts +1 -0
  341. package/build/esm/src/shared/useWindow.js +6 -0
  342. package/build/esm/src/shared/useWindow.js.map +1 -0
  343. package/build/esm/src/types/index.d.ts +57 -0
  344. package/package.json +2 -2
@@ -0,0 +1,136 @@
1
+ 'use strict';
2
+
3
+ var visualConfig = require('../build-tokens/visualConfig.js');
4
+ var react = require('@emotion/react');
5
+ var cache = require('@emotion/cache');
6
+ var Card = require('./components/Card/Card.js');
7
+ var CardBox = require('./components/Card/CardBox.js');
8
+ var Box = require('./components/Box/Box.js');
9
+ var Inline = require('./components/Inline/Inline.js');
10
+ var Stack = require('./components/Stack/Stack.js');
11
+ var Header = require('./components/Typography/Header/Header.js');
12
+ var Text = require('./components/Typography/Text/Text.js');
13
+ var TextClamped = require('./components/Typography/TextClamped/TextClamped.js');
14
+ var StyledText = require('./components/Typography/StyledText/StyledText.js');
15
+ var Link = require('./components/Link/Link.js');
16
+ var Icon = require('./components/Icon/Icon.js');
17
+ var Button = require('./components/Button/Button.js');
18
+ var Divider = require('./components/Divider/Divider.js');
19
+ var Columns = require('./components/Column/Columns.js');
20
+ var Tabs = require('./components/Tabs/Tabs.js');
21
+ var Badge = require('./components/Badge/Badge.js');
22
+ var SearchResult = require('./components/SearchResult/SearchResult.js');
23
+ var ToggleButton = require('./components/Form/ToggleButton/ToggleButton.js');
24
+ var DropdownMenu = require('./components/DropdownMenu/DropdownMenu.js');
25
+ var FormFieldGroup = require('./components/Form/FormFieldGroup/FormFieldGroup.js');
26
+ var Checkbox = require('./components/Form/Checkbox/Checkbox.js');
27
+ var Toggle = require('./components/Form/Toggle/Toggle.js');
28
+ var Radio = require('./components/Form/Radio/Radio.js');
29
+ var RadioButton = require('./components/Form/RadioButton/RadioButton.js');
30
+ var Textarea = require('./components/Form/Textarea/Textarea.js');
31
+ var Select = require('./components/Form/Select/Select.js');
32
+ var SubThemeProvider = require('./components/SubThemeProvider/SubThemeProvider.js');
33
+ var PictogramButton = require('./components/PictogramButton/PictogramButton.js');
34
+ var MediaViewerBar = require('./components/MediaViewerBar/MediaViewerBar.js');
35
+ var SegmentedProgressBar = require('./components/SegmentedProgressBar/SegmentedProgressBar.js');
36
+ var ProgressBar = require('./components/ProgressBar/ProgressBar.js');
37
+ var Container = require('./components/Container/Container.js');
38
+ var RoundButton = require('./components/RoundButton/RoundButton.js');
39
+ var Notification = require('./components/Notification/Notification.js');
40
+ var Logo = require('./components/Logo/Logo.js');
41
+ var MediaItem = require('./components/MediaItem/MediaItem.js');
42
+ var Callout = require('./components/Callout/Callout.js');
43
+ var Modal = require('./components/Patterns/Modal/Modal.js');
44
+ var ButtonGroup = require('./components/Patterns/ButtonGroup/ButtonGroup.js');
45
+ var Collapsible = require('./components/Collapsible/Collapsible.js');
46
+ var LoadingSpinner = require('./components/LoadingSpinner/LoadingSpinner.js');
47
+ var Pagination = require('./components/Pagination/Pagination.js');
48
+ var SegmentedControl = require('./components/Form/SegmentedControl/SegmentedControl.js');
49
+ var Tooltip = require('./components/Tooltip/Tooltip.js');
50
+ var Tag = require('./components/Tag/Tag.js');
51
+ var Input = require('./components/Form/Input/Input.js');
52
+ var PasswordInput = require('./components/Form/PasswordInput/PasswordInput.js');
53
+ var DataTable = require('./components/DataTable/DataTable.js');
54
+ var useDataTableSort = require('./components/DataTable/useDataTableSort.js');
55
+
56
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
57
+
58
+ var cache__default = /*#__PURE__*/_interopDefault(cache);
59
+
60
+ const {
61
+ dark,
62
+ light
63
+ } = visualConfig.ambossVisualConfiguration;
64
+
65
+ Object.defineProperty(exports, 'CacheProvider', {
66
+ enumerable: true,
67
+ get: function () { return react.CacheProvider; }
68
+ });
69
+ Object.defineProperty(exports, 'ThemeProvider', {
70
+ enumerable: true,
71
+ get: function () { return react.ThemeProvider; }
72
+ });
73
+ Object.defineProperty(exports, 'createCache', {
74
+ enumerable: true,
75
+ get: function () { return cache__default.default; }
76
+ });
77
+ exports.Card = Card.Card;
78
+ exports.CardBox = CardBox.CardBox;
79
+ exports.Box = Box.Box;
80
+ exports.Inline = Inline.Inline;
81
+ exports.Stack = Stack.Stack;
82
+ exports.H1 = Header.H1;
83
+ exports.H2 = Header.H2;
84
+ exports.H3 = Header.H3;
85
+ exports.H4 = Header.H4;
86
+ exports.H5 = Header.H5;
87
+ exports.H6 = Header.H6;
88
+ exports.Text = Text.Text;
89
+ exports.TextClamped = TextClamped.TextClamped;
90
+ exports.StyledText = StyledText.StyledText;
91
+ exports.makeStyledJSX = StyledText.makeStyledJSX;
92
+ exports.Link = Link.Link;
93
+ exports.Icon = Icon.Icon;
94
+ exports.Button = Button.Button;
95
+ exports.Divider = Divider.Divider;
96
+ exports.Column = Columns.Column;
97
+ exports.Columns = Columns.Columns;
98
+ exports.Tabs = Tabs.Tabs;
99
+ exports.Badge = Badge.Badge;
100
+ exports.SearchResult = SearchResult.SearchResult;
101
+ exports.ToggleButton = ToggleButton.ToggleButton;
102
+ exports.DropdownMenu = DropdownMenu.DropdownMenu;
103
+ exports.FormFieldGroup = FormFieldGroup.FormFieldGroup;
104
+ exports.Checkbox = Checkbox.Checkbox;
105
+ exports.Toggle = Toggle.Toggle;
106
+ exports.Radio = Radio.Radio;
107
+ exports.RadioButton = RadioButton.RadioButton;
108
+ exports.Textarea = Textarea.Textarea;
109
+ exports.Select = Select.Select;
110
+ exports.SubThemeProvider = SubThemeProvider.SubThemeProvider;
111
+ exports.PictogramButton = PictogramButton.PictogramButton;
112
+ exports.MediaViewerBar = MediaViewerBar.MediaViewerBar;
113
+ exports.SegmentedProgressBar = SegmentedProgressBar.SegmentedProgressBar;
114
+ exports.ProgressBar = ProgressBar.ProgressBar;
115
+ exports.Container = Container.Container;
116
+ exports.RoundButton = RoundButton.RoundButton;
117
+ exports.Notification = Notification.Notification;
118
+ exports.Logo = Logo.Logo;
119
+ exports.MediaItem = MediaItem.MediaItem;
120
+ exports.Callout = Callout.Callout;
121
+ exports.Modal = Modal.Modal;
122
+ exports.ButtonGroup = ButtonGroup.ButtonGroup;
123
+ exports.Collapsible = Collapsible.Collapsible;
124
+ exports.CollapsibleHeader = Collapsible.CollapsibleHeader;
125
+ exports.LoadingSpinner = LoadingSpinner.LoadingSpinner;
126
+ exports.Pagination = Pagination.Pagination;
127
+ exports.SegmentedControl = SegmentedControl.SegmentedControl;
128
+ exports.Tooltip = Tooltip.Tooltip;
129
+ exports.Tag = Tag.Tag;
130
+ exports.Input = Input.Input;
131
+ exports.PasswordInput = PasswordInput.PasswordInput;
132
+ exports.BaseDataTable = DataTable.BaseDataTable;
133
+ exports.DataTable = DataTable.DataTable;
134
+ exports.useDataTableSort = useDataTableSort.useDataTableSort;
135
+ exports.dark = dark;
136
+ exports.light = light;
@@ -0,0 +1,26 @@
1
+ 'use strict';
2
+
3
+ var _styled = require('@emotion/styled/base');
4
+
5
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
6
+
7
+ var _styled__default = /*#__PURE__*/_interopDefault(_styled);
8
+
9
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
10
+ // Content required to be read by screen readers but visually hidden
11
+ const ScreenReaderText = /*#__PURE__*/_styled__default.default("div", process.env.NODE_ENV === "production" ? {
12
+ target: "ezjk5ml0"
13
+ } : {
14
+ target: "ezjk5ml0",
15
+ label: "ScreenReaderText"
16
+ })(process.env.NODE_ENV === "production" ? {
17
+ name: "1a6jdgo",
18
+ styles: "width:1px;height:1px;position:absolute;left:-10000px;top:0;overflow:hidden"
19
+ } : {
20
+ name: "1a6jdgo",
21
+ styles: "width:1px;height:1px;position:absolute;left:-10000px;top:0;overflow:hidden",
22
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNjcmVlblJlYWRlclRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR2dDIiwiZmlsZSI6IlNjcmVlblJlYWRlclRleHQudHMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcblxuLy8gQ29udGVudCByZXF1aXJlZCB0byBiZSByZWFkIGJ5IHNjcmVlbiByZWFkZXJzIGJ1dCB2aXN1YWxseSBoaWRkZW5cbmV4cG9ydCBjb25zdCBTY3JlZW5SZWFkZXJUZXh0ID0gc3R5bGVkLmRpdih7XG4gIHdpZHRoOiAxLFxuICBoZWlnaHQ6IDEsXG4gIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gIGxlZnQ6IFwiLTEwMDAwcHhcIixcbiAgdG9wOiAwLFxuICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbn0pO1xuIl19 */",
23
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
24
+ });
25
+
26
+ exports.ScreenReaderText = ScreenReaderText;
@@ -0,0 +1,33 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var reactIs = require('react-is');
5
+
6
+ /**
7
+ * Copied from https://github.com/grrowl/react-keyed-flatten-children (since ESM import doesn't work with the module)
8
+ *
9
+ * Similar to [React's built-in `Children.toArray` method](https://reactjs.org/docs/react-api.html#reactchildrentoarray),
10
+ * this utility takes children and returns them as an array for introspection or filtering.
11
+ *
12
+ * Different from `Children.toArray`, it will flatten arrays and `React.Fragment`s into a regular, one-dimensional
13
+ * array while ensuring element and fragment keys are preserved, unique, and stable between renders.
14
+ */
15
+
16
+ const flattenChildren = function (children) {
17
+ let depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
18
+ let keys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
19
+ return React.Children.toArray(children).reduce((acc, node, nodeIndex) => {
20
+ if (reactIs.isFragment(node)) {
21
+ acc.push(...flattenChildren(node.props.children, depth + 1, keys.concat(String(node.key || nodeIndex))));
22
+ } else if ( /*#__PURE__*/React.isValidElement(node)) {
23
+ acc.push( /*#__PURE__*/React.cloneElement(node, {
24
+ key: keys.concat(String(node.key)).join(".")
25
+ }));
26
+ } else if (typeof node === "string" || typeof node === "number") {
27
+ acc.push(node);
28
+ }
29
+ return acc;
30
+ }, []);
31
+ };
32
+
33
+ exports.flattenChildren = flattenChildren;
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ const informDeprecation = function (property, value, location) {
4
+ let details = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "";
5
+ if (property === undefined) return;
6
+ if (property === value) {
7
+ // eslint-disable-next-line no-console
8
+ console.error(`value ${JSON.stringify(value)} is depricated in ${location} \n ${details}`);
9
+ }
10
+ };
11
+
12
+ exports.informDeprecation = informDeprecation;
@@ -0,0 +1,68 @@
1
+ 'use strict';
2
+
3
+ var _breakpoints = require('../../build-tokens/_breakpoints.json.js');
4
+
5
+ /* eslint-disable @typescript-eslint/no-explicit-any */
6
+
7
+ /*
8
+ Although, mq implementation supports any property type, the following types are specified to provide type safety. If you need support for a new type, add it here.
9
+ */
10
+
11
+ // this thing probably deserves to be a separate library, like facepaint for emotion
12
+ function getMq(breakpointRules) {
13
+ const keys = breakpointRules;
14
+ return rules => {
15
+ const res = {};
16
+ keys.forEach(key => {
17
+ res[key] = {};
18
+ });
19
+ res[`@media screen`] = {};
20
+
21
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
22
+ Object.entries(rules).forEach(_ref => {
23
+ let [cssProperty, [prop, map]] = _ref;
24
+ if (Array.isArray(prop)) {
25
+ const sm = prop[0];
26
+ const md = prop[1] || prop[0];
27
+ const lg = prop[2] || prop[1] || prop[0];
28
+ const [s, m, l] = keys;
29
+ res[s][cssProperty] = map[sm];
30
+ res[m][cssProperty] = map[md];
31
+ res[l][cssProperty] = map[lg];
32
+ } else {
33
+ res[`@media screen`][cssProperty] = map[prop];
34
+ }
35
+ });
36
+ return res;
37
+ };
38
+ }
39
+ const mq = getMq([`@media (max-width: ${_breakpoints.default.medium.value}px)`, `@media (min-width: ${_breakpoints.default.medium.value}px) and (max-width: ${_breakpoints.default.large.value}px)`, `@media (min-width: ${_breakpoints.default.large.value}px)`]);
40
+ function getMqValue(breakpointRules) {
41
+ const keys = breakpointRules;
42
+ return rules => {
43
+ const res = {};
44
+ keys.forEach(key => {
45
+ res[key] = {};
46
+ });
47
+ res[`@media screen`] = {};
48
+ Object.entries(rules).forEach(_ref2 => {
49
+ let [cssProperty, cssValues] = _ref2;
50
+ if (Array.isArray(cssValues)) {
51
+ breakpointRules.forEach((breakpoint, index) => {
52
+ let i = index;
53
+ while (!cssValues[i] && i !== 0) {
54
+ i -= 1;
55
+ }
56
+ res[breakpoint][cssProperty] = cssValues[i];
57
+ });
58
+ } else {
59
+ res[`@media screen`][cssProperty] = cssValues;
60
+ }
61
+ });
62
+ return res;
63
+ };
64
+ }
65
+ const mqValue = getMqValue([`@media (max-width: ${_breakpoints.default.medium.value}px)`, `@media (min-width: ${_breakpoints.default.medium.value}px) and (max-width: ${_breakpoints.default.large.value}px)`, `@media (min-width: ${_breakpoints.default.large.value}px)`]);
66
+
67
+ exports.mq = mq;
68
+ exports.mqValue = mqValue;
@@ -0,0 +1,42 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var useWindow = require('./useWindow.js');
5
+ var useDocument = require('./useDocument.js');
6
+
7
+ const useAutoPosition = (anchorRef, contentRef, isActive) => {
8
+ const [verticalPosition, setVerticalPosition] = React.useState("down");
9
+ const [horizontalPosition, setHorizontalPosition] = React.useState("left");
10
+ const document = useDocument.useDocument();
11
+ const window = useWindow.useWindow();
12
+ React.useLayoutEffect(() => {
13
+ if (!contentRef) return;
14
+ if (isActive) {
15
+ const maxHeight = Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0);
16
+ const rect = contentRef.current.getBoundingClientRect();
17
+ const anchorHeight = anchorRef.current.getBoundingClientRect().height;
18
+ const anchorX = anchorRef.current.getBoundingClientRect().x;
19
+ const screenWidth = window.innerWidth;
20
+ const isUp = rect.top + rect.height > maxHeight;
21
+ const isDown = rect.top - anchorHeight < rect.height;
22
+ const isLeft = anchorX > screenWidth / 2;
23
+ const isRight = anchorX < screenWidth / 2;
24
+ if (isUp) {
25
+ setVerticalPosition("up");
26
+ } else if (isDown) {
27
+ setVerticalPosition("down");
28
+ }
29
+ if (isLeft) {
30
+ setHorizontalPosition("left");
31
+ } else if (isRight) {
32
+ setHorizontalPosition("right");
33
+ }
34
+ } else {
35
+ setVerticalPosition("down");
36
+ setHorizontalPosition("left");
37
+ }
38
+ }, [anchorRef, contentRef, document.documentElement.clientHeight, isActive, window.innerHeight, window.innerWidth]);
39
+ return [verticalPosition, horizontalPosition];
40
+ };
41
+
42
+ exports.useAutoPosition = useAutoPosition;
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ function useDocument() {
4
+ return document;
5
+ }
6
+
7
+ exports.useDocument = useDocument;
@@ -0,0 +1,26 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+
5
+ function useHover(ref) {
6
+ const [hovered, setHovered] = React.useState(false);
7
+ const handleMouseOver = () => setHovered(true);
8
+ const handleMouseOut = () => setHovered(false);
9
+ React.useEffect(() => {
10
+ if (!ref) return undefined;
11
+ const node = ref.current;
12
+ if (node) {
13
+ node.addEventListener("mouseover", handleMouseOver);
14
+ node.addEventListener("mouseout", handleMouseOut);
15
+ return () => {
16
+ node.removeEventListener("mouseover", handleMouseOver);
17
+ node.removeEventListener("mouseout", handleMouseOut);
18
+ };
19
+ }
20
+ return undefined;
21
+ }, [ref]);
22
+ if (!ref) return null;
23
+ return hovered;
24
+ }
25
+
26
+ exports.useHover = useHover;
@@ -0,0 +1,43 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var useDocument = require('./useDocument.js');
5
+
6
+ /**
7
+ * useKeyboard handles activation of keyboard hotkeys on a given element.
8
+ * @param {Record<string, (e: KeyboardEvent) => {}} config - A map of keyboardEvent code to function.
9
+ * @param {RefObject} ref - The element which the keyboard config has to apply on.
10
+ * @param {boolean} isActive - A flag to determine when the keyboard config has to be applied.
11
+ *
12
+ * Example:
13
+ * useKeyboard({
14
+ * Escape: closeMenu,
15
+ * ArrowUp: () => { doSomething() },
16
+ * KeyB: () => { console.log("bagi") },
17
+ * }, menuRef, menuOpen)
18
+ *
19
+ * This mean that these keyboard shortcuts will be applied on menuRef when the menu is opened.
20
+ */
21
+
22
+ function useKeyboard(config, ref, isActive) {
23
+ const document = useDocument.useDocument();
24
+ const handleKeyboard = event => {
25
+ if (!isActive) return;
26
+ if (document.activeElement !== ref.current && !ref.current.contains(document.activeElement)) return;
27
+ const targetConfigKey = Object.keys(config).find(targetKeys => targetKeys.split(" ").includes(event.code));
28
+ if (!targetConfigKey) return;
29
+ event.preventDefault();
30
+ const res = config[targetConfigKey](event);
31
+ if (res === false) {
32
+ event.stopPropagation();
33
+ }
34
+ };
35
+ React.useEffect(() => {
36
+ document.addEventListener("keydown", handleKeyboard);
37
+ return () => {
38
+ document.removeEventListener("keydown", handleKeyboard);
39
+ };
40
+ });
41
+ }
42
+
43
+ exports.useKeyboard = useKeyboard;
@@ -0,0 +1,52 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var useDocument = require('./useDocument.js');
5
+
6
+ const registry = {};
7
+ const handleEscape = event => {
8
+ if (!event.defaultPrevented) {
9
+ const handlers = Object.values(registry).reverse();
10
+ for (let i = 0; i < handlers.length; i += 1) {
11
+ const handler = handlers[i];
12
+ handler(event);
13
+ if (event.defaultPrevented) break;
14
+ }
15
+ }
16
+ };
17
+ const register = (id, handler) => {
18
+ registry[id] = handler;
19
+ };
20
+ const deregister = id => {
21
+ delete registry[id];
22
+ };
23
+
24
+ // For auto-incrementing unique identifiers for registered different handlers.
25
+ let handlerId = 0;
26
+ const useOnEscapePress = function (onEscape) {
27
+ let callbackDependencies = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [onEscape];
28
+ // eslint-disable-next-line react-hooks/exhaustive-deps
29
+ const escapeCallback = React.useCallback(onEscape, callbackDependencies);
30
+ const document = useDocument.useDocument();
31
+ const handler = React.useCallback(event => {
32
+ if (event.key === "Escape") escapeCallback(event);
33
+ }, [escapeCallback]);
34
+ const id = React.useMemo(() => {
35
+ handlerId += 1;
36
+ return handlerId;
37
+ }, []);
38
+ React.useEffect(() => {
39
+ if (Object.keys(registry).length === 0) {
40
+ document.addEventListener("keydown", handleEscape);
41
+ }
42
+ register(id, handler);
43
+ return () => {
44
+ deregister(id);
45
+ if (Object.keys(registry).length === 0) {
46
+ document.removeEventListener("keydown", handleEscape);
47
+ }
48
+ };
49
+ }, [id, handler, document]);
50
+ };
51
+
52
+ exports.useOnEscapePress = useOnEscapePress;
@@ -0,0 +1,33 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var useWindow = require('./useWindow.js');
5
+
6
+ /**
7
+ * useOutsideClick handles outside click of a given element.
8
+ * @param {RefObject} ref - Reference to a DOM element.
9
+ * @param {e: Event) => void} handler - Function invoked when a click is triggered outside the referenced element.
10
+ * @param {boolean} isActive - A flag to determine when the outside click event needs to be applied.
11
+ *
12
+ * Example: useOutsideClick(menuRef, closeMenu, menuIsOpen)
13
+ * Means that when a menu is opened, clicking outside of the menu will close the mneu.
14
+ */
15
+
16
+ const useOutsideClick = (ref, handler, isActive) => {
17
+ const window = useWindow.useWindow();
18
+ const outsideClickEvent = React.useCallback(e => {
19
+ if (ref && ref.current && !ref.current.contains(e.target)) {
20
+ handler(e);
21
+ }
22
+ }, [handler, ref]);
23
+ React.useEffect(() => {
24
+ if (isActive) {
25
+ window.addEventListener("click", outsideClickEvent);
26
+ }
27
+ return () => {
28
+ window.removeEventListener("click", outsideClickEvent);
29
+ };
30
+ }, [isActive, window, outsideClickEvent]);
31
+ };
32
+
33
+ exports.useOutsideClick = useOutsideClick;
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ function useWindow() {
4
+ return window;
5
+ }
6
+
7
+ exports.useWindow = useWindow;
@@ -0,0 +1,17 @@
1
+ {
2
+ "small": {
3
+ "category": "breakpoint",
4
+ "value": 576,
5
+ "variableName": "$breakpoint-small"
6
+ },
7
+ "medium": {
8
+ "category": "breakpoint",
9
+ "value": 768,
10
+ "variableName": "$breakpoint-medium"
11
+ },
12
+ "large": {
13
+ "category": "breakpoint",
14
+ "value": 1280,
15
+ "variableName": "$breakpoint-large"
16
+ }
17
+ }
@@ -0,0 +1,4 @@
1
+ var small={category:"breakpoint",value:576,variableName:"$breakpoint-small"};var medium={category:"breakpoint",value:768,variableName:"$breakpoint-medium"};var large={category:"breakpoint",value:1280,variableName:"$breakpoint-large"};var breakpoints = {small:small,medium:medium,large:large};
2
+
3
+ export { breakpoints as default, large, medium, small };
4
+ //# sourceMappingURL=_breakpoints.json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_breakpoints.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}