@ndla/ui 22.0.1 → 22.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 (109) hide show
  1. package/es/Article/ArticleByline.js +7 -4
  2. package/es/Article/ArticleNotions.js +10 -6
  3. package/es/CompetenceGoalTab/CompetenceGoalItem.js +12 -10
  4. package/es/CompetenceGoalTab/CompetenceGoalTab.js +11 -9
  5. package/es/CompetenceGoalTab/CompetenceItem.js +14 -12
  6. package/es/CompetenceGoalTab/SearchButton.js +7 -4
  7. package/es/CompetenceGoals/CompetenceGoalsDialog.js +8 -4
  8. package/es/ContentLoader/index.js +8 -3
  9. package/es/Filter/FilterButtons.js +10 -9
  10. package/es/Footer/FooterPrivacy.js +3 -2
  11. package/es/Masthead/MastheadSearchModal.js +4 -3
  12. package/es/Resource/BlockResource.js +109 -18
  13. package/es/Resource/ListResource.js +126 -26
  14. package/es/Resource/resourceComponents.js +36 -25
  15. package/es/ResourcesWrapper/ResourcesTopicTitle.js +7 -4
  16. package/es/SearchTypeResult/PopupFilter.js +12 -8
  17. package/es/SearchTypeResult/components/ItemContexts.js +8 -7
  18. package/es/SnackBar/DefaultSnackbar.js +56 -0
  19. package/es/SnackBar/SnackbarProvider.js +179 -0
  20. package/es/SnackBar/index.js +2 -2
  21. package/es/Topic/Topic.js +21 -20
  22. package/es/User/AuthModal.js +9 -8
  23. package/es/index.js +1 -1
  24. package/es/locale/messages-en.js +21 -6
  25. package/es/locale/messages-nb.js +21 -6
  26. package/es/locale/messages-nn.js +21 -6
  27. package/es/locale/messages-se.js +21 -6
  28. package/es/locale/messages-sma.js +21 -6
  29. package/lib/Article/ArticleByline.js +7 -4
  30. package/lib/Article/ArticleNotions.js +10 -6
  31. package/lib/CompetenceGoalTab/CompetenceGoalItem.d.ts +1 -1
  32. package/lib/CompetenceGoalTab/CompetenceGoalItem.js +12 -10
  33. package/lib/CompetenceGoalTab/CompetenceGoalTab.d.ts +2 -1
  34. package/lib/CompetenceGoalTab/CompetenceGoalTab.js +11 -9
  35. package/lib/CompetenceGoalTab/CompetenceItem.d.ts +2 -1
  36. package/lib/CompetenceGoalTab/CompetenceItem.js +14 -12
  37. package/lib/CompetenceGoalTab/SearchButton.d.ts +2 -1
  38. package/lib/CompetenceGoalTab/SearchButton.js +7 -4
  39. package/lib/CompetenceGoals/CompetenceGoalsDialog.js +8 -4
  40. package/lib/ContentLoader/index.d.ts +4 -8
  41. package/lib/ContentLoader/index.js +8 -3
  42. package/lib/Filter/FilterButtons.js +10 -9
  43. package/lib/Footer/FooterPrivacy.js +3 -2
  44. package/lib/Masthead/MastheadSearchModal.js +4 -3
  45. package/lib/Resource/BlockResource.d.ts +3 -1
  46. package/lib/Resource/BlockResource.js +110 -18
  47. package/lib/Resource/ListResource.d.ts +3 -1
  48. package/lib/Resource/ListResource.js +127 -26
  49. package/lib/Resource/resourceComponents.d.ts +4 -2
  50. package/lib/Resource/resourceComponents.js +38 -19
  51. package/lib/ResourcesWrapper/ResourcesTopicTitle.js +7 -4
  52. package/lib/SearchTypeResult/PopupFilter.js +12 -8
  53. package/lib/SearchTypeResult/components/ItemContexts.js +8 -7
  54. package/lib/SnackBar/DefaultSnackbar.d.ts +11 -0
  55. package/lib/SnackBar/DefaultSnackbar.js +70 -0
  56. package/lib/SnackBar/SnackbarProvider.d.ts +32 -0
  57. package/lib/SnackBar/SnackbarProvider.js +197 -0
  58. package/lib/SnackBar/index.d.ts +3 -3
  59. package/lib/SnackBar/index.js +23 -3
  60. package/lib/Topic/Topic.js +21 -20
  61. package/lib/User/AuthModal.js +9 -8
  62. package/lib/index.d.ts +2 -2
  63. package/lib/index.js +24 -3
  64. package/lib/locale/messages-en.d.ts +15 -0
  65. package/lib/locale/messages-en.js +21 -6
  66. package/lib/locale/messages-nb.d.ts +15 -0
  67. package/lib/locale/messages-nb.js +21 -6
  68. package/lib/locale/messages-nn.d.ts +15 -0
  69. package/lib/locale/messages-nn.js +21 -6
  70. package/lib/locale/messages-se.d.ts +15 -0
  71. package/lib/locale/messages-se.js +21 -6
  72. package/lib/locale/messages-sma.d.ts +15 -0
  73. package/lib/locale/messages-sma.js +21 -6
  74. package/lib/types.d.ts +1 -0
  75. package/package.json +8 -7
  76. package/src/Article/ArticleByline.tsx +4 -1
  77. package/src/Article/ArticleNotions.tsx +4 -1
  78. package/src/CompetenceGoalTab/CompetenceGoalItem.tsx +6 -2
  79. package/src/CompetenceGoalTab/CompetenceGoalTab.tsx +5 -4
  80. package/src/CompetenceGoalTab/CompetenceItem.tsx +9 -2
  81. package/src/CompetenceGoalTab/SearchButton.tsx +3 -2
  82. package/src/CompetenceGoals/CompetenceGoalsDialog.jsx +5 -2
  83. package/src/ContentLoader/index.tsx +9 -9
  84. package/src/Filter/FilterButtons.tsx +1 -0
  85. package/src/Footer/FooterPrivacy.tsx +4 -1
  86. package/src/Masthead/MastheadSearchModal.tsx +1 -0
  87. package/src/Resource/BlockResource.tsx +69 -6
  88. package/src/Resource/ListResource.tsx +88 -11
  89. package/src/Resource/resourceComponents.tsx +25 -9
  90. package/src/ResourcesWrapper/ResourcesTopicTitle.tsx +5 -1
  91. package/src/SearchTypeResult/PopupFilter.tsx +3 -1
  92. package/src/SearchTypeResult/components/ItemContexts.tsx +1 -0
  93. package/src/SnackBar/DefaultSnackbar.tsx +70 -0
  94. package/src/SnackBar/SnackbarProvider.tsx +147 -0
  95. package/src/SnackBar/index.ts +3 -5
  96. package/src/Topic/Topic.tsx +1 -0
  97. package/src/User/AuthModal.tsx +2 -1
  98. package/src/index.ts +2 -2
  99. package/src/locale/messages-en.ts +15 -0
  100. package/src/locale/messages-nb.ts +15 -0
  101. package/src/locale/messages-nn.ts +15 -0
  102. package/src/locale/messages-se.ts +15 -0
  103. package/src/locale/messages-sma.ts +15 -0
  104. package/src/types.ts +1 -0
  105. package/es/SnackBar/SnackBar.js +0 -117
  106. package/lib/SnackBar/SnackBar.d.ts +0 -23
  107. package/lib/SnackBar/SnackBar.js +0 -127
  108. package/src/.DS_Store +0 -0
  109. package/src/SnackBar/SnackBar.tsx +0 -183
@@ -0,0 +1,56 @@
1
+ import _styled from "@emotion/styled-base";
2
+
3
+ /**
4
+ * Copyright (c) 2022-present, NDLA.
5
+ *
6
+ * This source code is licensed under the GPLv3 license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ *
9
+ */
10
+ import React from 'react';
11
+ import { useTranslation } from 'react-i18next';
12
+ import { IconButton } from '@ndla/button';
13
+ import { breakpoints, colors, fonts, misc, mq, shadows, spacing } from '@ndla/core';
14
+ import { Cross } from '@ndla/icons/action';
15
+ import { useSnack } from './SnackbarProvider';
16
+ import { jsx as ___EmotionJSX } from "@emotion/core";
17
+
18
+ var DefaultSnackContainer = _styled("div", {
19
+ target: "e1s2vq9x0",
20
+ label: "DefaultSnackContainer"
21
+ })("display:flex;gap:", spacing.small, ";padding:", spacing.small, ";background-color:", colors.text.primary, ";color:", colors.white, ";border-radius:", misc.borderRadius, ";margin:0 ", spacing.large, ";pointer-events:all;box-shadow:", shadows.levitate1, ";font-family:", fonts.sans, ";font-size:18px;align-items:center;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRlZmF1bHRTbmFja2Jhci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0J3QyIsImZpbGUiOiJEZWZhdWx0U25hY2tiYXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjItcHJlc2VudCwgTkRMQS5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHUEx2MyBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IEljb25CdXR0b24gfSBmcm9tICdAbmRsYS9idXR0b24nO1xuaW1wb3J0IHsgYnJlYWtwb2ludHMsIGNvbG9ycywgZm9udHMsIG1pc2MsIG1xLCBzaGFkb3dzLCBzcGFjaW5nIH0gZnJvbSAnQG5kbGEvY29yZSc7XG5pbXBvcnQgeyBDcm9zcyB9IGZyb20gJ0BuZGxhL2ljb25zL2FjdGlvbic7XG5pbXBvcnQgeyBTbmFjaywgdXNlU25hY2sgfSBmcm9tICcuL1NuYWNrYmFyUHJvdmlkZXInO1xuXG5jb25zdCBEZWZhdWx0U25hY2tDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6ICR7c3BhY2luZy5zbWFsbH07XG4gIHBhZGRpbmc6ICR7c3BhY2luZy5zbWFsbH07XG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLnRleHQucHJpbWFyeX07XG4gIGNvbG9yOiAke2NvbG9ycy53aGl0ZX07XG4gIGJvcmRlci1yYWRpdXM6ICR7bWlzYy5ib3JkZXJSYWRpdXN9O1xuICBtYXJnaW46IDAgJHtzcGFjaW5nLmxhcmdlfTtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgYm94LXNoYWRvdzogJHtzaGFkb3dzLmxldml0YXRlMX07XG4gIGZvbnQtZmFtaWx5OiAke2ZvbnRzLnNhbnN9O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBTdHlsZWRDbG9zZUJ1dHRvbiA9IHN0eWxlZChJY29uQnV0dG9uKWBcbiAgc3ZnIHtcbiAgICBjb2xvcjogJHtjb2xvcnMuYnJhbmQuZ3JleU1lZGl1bX07XG4gIH1cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogJHtjb2xvcnMuYnJhbmQuZ3JleURhcmt9O1xuICAgIHN2ZyB7XG4gICAgICBjb2xvcjogJHtjb2xvcnMuYnJhbmQuZ3JleUxpZ2h0ZXN0fTtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IEJ1dHRvbldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICAke21xLnJhbmdlKHsgZnJvbTogYnJlYWtwb2ludHMudGFibGV0IH0pfSB7XG4gICAgZ2FwOiAke3NwYWNpbmcueHhzbWFsbH07XG4gIH1cbmA7XG5cbmNvbnN0IERlZmF1bHRTbmFjayA9IChzbmFjazogU25hY2spID0+IHtcbiAgY29uc3QgeyBjbG9zYWJsZSA9IHRydWUsIGljb24gfSA9IHNuYWNrO1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG4gIGNvbnN0IHsgY2xvc2VTbmFjayB9ID0gdXNlU25hY2soKTtcbiAgcmV0dXJuIChcbiAgICA8RGVmYXVsdFNuYWNrQ29udGFpbmVyPlxuICAgICAge2ljb259XG4gICAgICB7c25hY2suY29udGVudH1cbiAgICAgIDxCdXR0b25XcmFwcGVyPlxuICAgICAgICB7Y2xvc2FibGUgJiYgKFxuICAgICAgICAgIDxTdHlsZWRDbG9zZUJ1dHRvbiBzaXplPVwieHNtYWxsXCIgb3V0bGluZSBvbkNsaWNrPXsoKSA9PiBjbG9zZVNuYWNrKHNuYWNrKX0gYXJpYS1sYWJlbD17dCgnc25hY2tiYXIuY2xvc2UnKX0+XG4gICAgICAgICAgICA8Q3Jvc3MgLz5cbiAgICAgICAgICA8L1N0eWxlZENsb3NlQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9CdXR0b25XcmFwcGVyPlxuICAgIDwvRGVmYXVsdFNuYWNrQ29udGFpbmVyPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGVmYXVsdFNuYWNrO1xuIl19 */"));
22
+
23
+ var StyledCloseButton = /*#__PURE__*/_styled(IconButton, {
24
+ target: "e1s2vq9x1",
25
+ label: "StyledCloseButton"
26
+ })("svg{color:", colors.brand.greyMedium, ";}&:hover,&:focus{background:", colors.brand.greyDark, ";svg{color:", colors.brand.greyLightest, ";}}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRlZmF1bHRTbmFja2Jhci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBK0I0QyIsImZpbGUiOiJEZWZhdWx0U25hY2tiYXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjItcHJlc2VudCwgTkRMQS5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHUEx2MyBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IEljb25CdXR0b24gfSBmcm9tICdAbmRsYS9idXR0b24nO1xuaW1wb3J0IHsgYnJlYWtwb2ludHMsIGNvbG9ycywgZm9udHMsIG1pc2MsIG1xLCBzaGFkb3dzLCBzcGFjaW5nIH0gZnJvbSAnQG5kbGEvY29yZSc7XG5pbXBvcnQgeyBDcm9zcyB9IGZyb20gJ0BuZGxhL2ljb25zL2FjdGlvbic7XG5pbXBvcnQgeyBTbmFjaywgdXNlU25hY2sgfSBmcm9tICcuL1NuYWNrYmFyUHJvdmlkZXInO1xuXG5jb25zdCBEZWZhdWx0U25hY2tDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6ICR7c3BhY2luZy5zbWFsbH07XG4gIHBhZGRpbmc6ICR7c3BhY2luZy5zbWFsbH07XG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLnRleHQucHJpbWFyeX07XG4gIGNvbG9yOiAke2NvbG9ycy53aGl0ZX07XG4gIGJvcmRlci1yYWRpdXM6ICR7bWlzYy5ib3JkZXJSYWRpdXN9O1xuICBtYXJnaW46IDAgJHtzcGFjaW5nLmxhcmdlfTtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgYm94LXNoYWRvdzogJHtzaGFkb3dzLmxldml0YXRlMX07XG4gIGZvbnQtZmFtaWx5OiAke2ZvbnRzLnNhbnN9O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBTdHlsZWRDbG9zZUJ1dHRvbiA9IHN0eWxlZChJY29uQnV0dG9uKWBcbiAgc3ZnIHtcbiAgICBjb2xvcjogJHtjb2xvcnMuYnJhbmQuZ3JleU1lZGl1bX07XG4gIH1cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogJHtjb2xvcnMuYnJhbmQuZ3JleURhcmt9O1xuICAgIHN2ZyB7XG4gICAgICBjb2xvcjogJHtjb2xvcnMuYnJhbmQuZ3JleUxpZ2h0ZXN0fTtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IEJ1dHRvbldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICAke21xLnJhbmdlKHsgZnJvbTogYnJlYWtwb2ludHMudGFibGV0IH0pfSB7XG4gICAgZ2FwOiAke3NwYWNpbmcueHhzbWFsbH07XG4gIH1cbmA7XG5cbmNvbnN0IERlZmF1bHRTbmFjayA9IChzbmFjazogU25hY2spID0+IHtcbiAgY29uc3QgeyBjbG9zYWJsZSA9IHRydWUsIGljb24gfSA9IHNuYWNrO1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG4gIGNvbnN0IHsgY2xvc2VTbmFjayB9ID0gdXNlU25hY2soKTtcbiAgcmV0dXJuIChcbiAgICA8RGVmYXVsdFNuYWNrQ29udGFpbmVyPlxuICAgICAge2ljb259XG4gICAgICB7c25hY2suY29udGVudH1cbiAgICAgIDxCdXR0b25XcmFwcGVyPlxuICAgICAgICB7Y2xvc2FibGUgJiYgKFxuICAgICAgICAgIDxTdHlsZWRDbG9zZUJ1dHRvbiBzaXplPVwieHNtYWxsXCIgb3V0bGluZSBvbkNsaWNrPXsoKSA9PiBjbG9zZVNuYWNrKHNuYWNrKX0gYXJpYS1sYWJlbD17dCgnc25hY2tiYXIuY2xvc2UnKX0+XG4gICAgICAgICAgICA8Q3Jvc3MgLz5cbiAgICAgICAgICA8L1N0eWxlZENsb3NlQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9CdXR0b25XcmFwcGVyPlxuICAgIDwvRGVmYXVsdFNuYWNrQ29udGFpbmVyPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGVmYXVsdFNuYWNrO1xuIl19 */"));
27
+
28
+ var ButtonWrapper = _styled("div", {
29
+ target: "e1s2vq9x2",
30
+ label: "ButtonWrapper"
31
+ })(mq.range({
32
+ from: breakpoints.tablet
33
+ }), "{gap:", spacing.xxsmall, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRlZmF1bHRTbmFja2Jhci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNENnQyIsImZpbGUiOiJEZWZhdWx0U25hY2tiYXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjItcHJlc2VudCwgTkRMQS5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHUEx2MyBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IEljb25CdXR0b24gfSBmcm9tICdAbmRsYS9idXR0b24nO1xuaW1wb3J0IHsgYnJlYWtwb2ludHMsIGNvbG9ycywgZm9udHMsIG1pc2MsIG1xLCBzaGFkb3dzLCBzcGFjaW5nIH0gZnJvbSAnQG5kbGEvY29yZSc7XG5pbXBvcnQgeyBDcm9zcyB9IGZyb20gJ0BuZGxhL2ljb25zL2FjdGlvbic7XG5pbXBvcnQgeyBTbmFjaywgdXNlU25hY2sgfSBmcm9tICcuL1NuYWNrYmFyUHJvdmlkZXInO1xuXG5jb25zdCBEZWZhdWx0U25hY2tDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6ICR7c3BhY2luZy5zbWFsbH07XG4gIHBhZGRpbmc6ICR7c3BhY2luZy5zbWFsbH07XG4gIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLnRleHQucHJpbWFyeX07XG4gIGNvbG9yOiAke2NvbG9ycy53aGl0ZX07XG4gIGJvcmRlci1yYWRpdXM6ICR7bWlzYy5ib3JkZXJSYWRpdXN9O1xuICBtYXJnaW46IDAgJHtzcGFjaW5nLmxhcmdlfTtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgYm94LXNoYWRvdzogJHtzaGFkb3dzLmxldml0YXRlMX07XG4gIGZvbnQtZmFtaWx5OiAke2ZvbnRzLnNhbnN9O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBTdHlsZWRDbG9zZUJ1dHRvbiA9IHN0eWxlZChJY29uQnV0dG9uKWBcbiAgc3ZnIHtcbiAgICBjb2xvcjogJHtjb2xvcnMuYnJhbmQuZ3JleU1lZGl1bX07XG4gIH1cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogJHtjb2xvcnMuYnJhbmQuZ3JleURhcmt9O1xuICAgIHN2ZyB7XG4gICAgICBjb2xvcjogJHtjb2xvcnMuYnJhbmQuZ3JleUxpZ2h0ZXN0fTtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IEJ1dHRvbldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICAke21xLnJhbmdlKHsgZnJvbTogYnJlYWtwb2ludHMudGFibGV0IH0pfSB7XG4gICAgZ2FwOiAke3NwYWNpbmcueHhzbWFsbH07XG4gIH1cbmA7XG5cbmNvbnN0IERlZmF1bHRTbmFjayA9IChzbmFjazogU25hY2spID0+IHtcbiAgY29uc3QgeyBjbG9zYWJsZSA9IHRydWUsIGljb24gfSA9IHNuYWNrO1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG4gIGNvbnN0IHsgY2xvc2VTbmFjayB9ID0gdXNlU25hY2soKTtcbiAgcmV0dXJuIChcbiAgICA8RGVmYXVsdFNuYWNrQ29udGFpbmVyPlxuICAgICAge2ljb259XG4gICAgICB7c25hY2suY29udGVudH1cbiAgICAgIDxCdXR0b25XcmFwcGVyPlxuICAgICAgICB7Y2xvc2FibGUgJiYgKFxuICAgICAgICAgIDxTdHlsZWRDbG9zZUJ1dHRvbiBzaXplPVwieHNtYWxsXCIgb3V0bGluZSBvbkNsaWNrPXsoKSA9PiBjbG9zZVNuYWNrKHNuYWNrKX0gYXJpYS1sYWJlbD17dCgnc25hY2tiYXIuY2xvc2UnKX0+XG4gICAgICAgICAgICA8Q3Jvc3MgLz5cbiAgICAgICAgICA8L1N0eWxlZENsb3NlQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9CdXR0b25XcmFwcGVyPlxuICAgIDwvRGVmYXVsdFNuYWNrQ29udGFpbmVyPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGVmYXVsdFNuYWNrO1xuIl19 */"));
34
+
35
+ var DefaultSnack = function DefaultSnack(snack) {
36
+ var _snack$closable = snack.closable,
37
+ closable = _snack$closable === void 0 ? true : _snack$closable,
38
+ icon = snack.icon;
39
+
40
+ var _useTranslation = useTranslation(),
41
+ t = _useTranslation.t;
42
+
43
+ var _useSnack = useSnack(),
44
+ closeSnack = _useSnack.closeSnack;
45
+
46
+ return ___EmotionJSX(DefaultSnackContainer, null, icon, snack.content, ___EmotionJSX(ButtonWrapper, null, closable && ___EmotionJSX(StyledCloseButton, {
47
+ size: "xsmall",
48
+ outline: true,
49
+ onClick: function onClick() {
50
+ return closeSnack(snack);
51
+ },
52
+ "aria-label": t('snackbar.close')
53
+ }, ___EmotionJSX(Cross, null))));
54
+ };
55
+
56
+ export default DefaultSnack;
@@ -0,0 +1,179 @@
1
+ import _styled from "@emotion/styled-base";
2
+
3
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
4
+
5
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
6
+
7
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
8
+
9
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
10
+
11
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
12
+
13
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
14
+
15
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
16
+
17
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
18
+
19
+ function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
20
+
21
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
22
+
23
+ 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)."; }
24
+
25
+ /**
26
+ * Copyright (c) 2022-present, NDLA.
27
+ *
28
+ * This source code is licensed under the GPLv3 license found in the
29
+ * LICENSE file in the root directory of this source tree.
30
+ *
31
+ */
32
+ import React, { useCallback, useMemo, createContext, useState, useContext, useEffect } from 'react';
33
+ import { keyframes } from '@emotion/core';
34
+ import { spacing } from '@ndla/core';
35
+ import DefaultSnack from './DefaultSnackbar';
36
+ import { jsx as ___EmotionJSX } from "@emotion/core";
37
+ var SnackbarContext = /*#__PURE__*/createContext(undefined);
38
+ export var useSnack = function useSnack() {
39
+ var context = useContext(SnackbarContext);
40
+
41
+ if (!context) {
42
+ throw new Error('useSnack can only be used within a SnackbarProvider!');
43
+ }
44
+
45
+ return context;
46
+ };
47
+ export var SnackbarProvider = function SnackbarProvider(_ref) {
48
+ var children = _ref.children;
49
+
50
+ var _useState = useState([]),
51
+ _useState2 = _slicedToArray(_useState, 2),
52
+ snacks = _useState2[0],
53
+ setSnacks = _useState2[1];
54
+
55
+ var addSnack = useCallback(function (snack) {
56
+ setSnacks(function (prev) {
57
+ return prev.filter(function (s) {
58
+ return s.id !== snack.id;
59
+ }).concat(snack);
60
+ });
61
+ }, []);
62
+ var removeSnack = useCallback(function (snackId) {
63
+ setSnacks(function (prev) {
64
+ return prev.filter(function (_ref2) {
65
+ var id = _ref2.id;
66
+ return snackId !== id;
67
+ });
68
+ });
69
+ }, []);
70
+ var closeSnack = useCallback(function (snack) {
71
+ setSnacks(function (prev) {
72
+ return prev.map(function (p) {
73
+ return p.id === snack.id ? _objectSpread(_objectSpread({}, p), {}, {
74
+ duration: 0
75
+ }) : p;
76
+ });
77
+ });
78
+ }, []);
79
+ var clearSnacks = useCallback(function () {
80
+ return setSnacks([]);
81
+ }, []);
82
+ var value = useMemo(function () {
83
+ return {
84
+ addSnack: addSnack,
85
+ removeSnack: removeSnack,
86
+ clearSnacks: clearSnacks,
87
+ closeSnack: closeSnack
88
+ };
89
+ }, [addSnack, removeSnack, clearSnacks, closeSnack]);
90
+ return ___EmotionJSX(SnackbarContext.Provider, {
91
+ value: value
92
+ }, children, ___EmotionJSX(SnackbarContainer, {
93
+ snacks: snacks
94
+ }));
95
+ };
96
+ var snackbarInAnimation = keyframes({
97
+ '0%': {
98
+ transform: "translateY(".concat(spacing.medium, ")"),
99
+ opacity: 0
100
+ },
101
+ '100%': {
102
+ opacity: 1
103
+ }
104
+ });
105
+ var snackbarOutAnimation = keyframes({
106
+ '0%': {
107
+ opacity: 1
108
+ },
109
+ '100%': {
110
+ transform: "translateY(".concat(spacing.medium, ")"),
111
+ opacity: 0
112
+ }
113
+ });
114
+
115
+ var BaseSnackContainer = _styled("li", {
116
+ target: "e12tl09b0",
117
+ label: "BaseSnackContainer"
118
+ })("display:flex;flex-direction:column;align-items:center;animation:", function (p) {
119
+ return p.expired ? snackbarOutAnimation : snackbarInAnimation;
120
+ }, " 200ms ease-in-out;animation-fill-mode:forwards;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNuYWNrYmFyUHJvdmlkZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZGNkQiLCJmaWxlIjoiU25hY2tiYXJQcm92aWRlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMi1wcmVzZW50LCBORExBLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdQTHYzIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbmltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjaywgdXNlTWVtbywgY3JlYXRlQ29udGV4dCwgUmVhY3ROb2RlLCB1c2VTdGF0ZSwgdXNlQ29udGV4dCwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsga2V5ZnJhbWVzIH0gZnJvbSAnQGVtb3Rpb24vY29yZSc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBzcGFjaW5nIH0gZnJvbSAnQG5kbGEvY29yZSc7XG5pbXBvcnQgRGVmYXVsdFNuYWNrIGZyb20gJy4vRGVmYXVsdFNuYWNrYmFyJztcblxuZXhwb3J0IGludGVyZmFjZSBTbmFjayB7XG4gIGNvbnRlbnQ/OiBSZWFjdE5vZGU7XG4gIGR1cmF0aW9uPzogbnVtYmVyO1xuICByZW5kZXI/OiAoaWQ6IHN0cmluZywgb25DbG9zZT86ICgpID0+IHZvaWQpID0+IFJlYWN0Tm9kZTtcbiAgaWQ6IHN0cmluZztcbiAgaWNvbj86IFJlYWN0Tm9kZTtcbiAgY2xvc2FibGU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNuYWNrQ29udGV4dCB7XG4gIGFkZFNuYWNrOiAoc25hY2s6IFNuYWNrKSA9PiB2b2lkO1xuICByZW1vdmVTbmFjazogKGlkOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGNsZWFyU25hY2tzOiAoKSA9PiB2b2lkO1xuICBjbG9zZVNuYWNrOiAoc25hY2s6IFNuYWNrKSA9PiB2b2lkO1xufVxuXG5jb25zdCBTbmFja2JhckNvbnRleHQgPSBjcmVhdGVDb250ZXh0PFNuYWNrQ29udGV4dCB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuZXhwb3J0IGNvbnN0IHVzZVNuYWNrID0gKCkgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dChTbmFja2JhckNvbnRleHQpO1xuICBpZiAoIWNvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VzZVNuYWNrIGNhbiBvbmx5IGJlIHVzZWQgd2l0aGluIGEgU25hY2tiYXJQcm92aWRlciEnKTtcbiAgfVxuXG4gIHJldHVybiBjb250ZXh0O1xufTtcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn1cblxuZXhwb3J0IGNvbnN0IFNuYWNrYmFyUHJvdmlkZXIgPSAoeyBjaGlsZHJlbiB9OiBQcm9wcykgPT4ge1xuICBjb25zdCBbc25hY2tzLCBzZXRTbmFja3NdID0gdXNlU3RhdGU8U25hY2tbXT4oW10pO1xuXG4gIGNvbnN0IGFkZFNuYWNrID0gdXNlQ2FsbGJhY2soKHNuYWNrOiBTbmFjaykgPT4ge1xuICAgIHNldFNuYWNrcygocHJldikgPT4gcHJldi5maWx0ZXIoKHMpID0+IHMuaWQgIT09IHNuYWNrLmlkKS5jb25jYXQoc25hY2spKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IHJlbW92ZVNuYWNrID0gdXNlQ2FsbGJhY2soKHNuYWNrSWQ6IHN0cmluZykgPT4ge1xuICAgIHNldFNuYWNrcygocHJldikgPT4gcHJldi5maWx0ZXIoKHsgaWQgfSkgPT4gc25hY2tJZCAhPT0gaWQpKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IGNsb3NlU25hY2sgPSB1c2VDYWxsYmFjaygoc25hY2s6IFNuYWNrKSA9PiB7XG4gICAgc2V0U25hY2tzKChwcmV2KSA9PiBwcmV2Lm1hcCgocCkgPT4gKHAuaWQgPT09IHNuYWNrLmlkID8geyAuLi5wLCBkdXJhdGlvbjogMCB9IDogcCkpKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IGNsZWFyU25hY2tzID0gdXNlQ2FsbGJhY2soKCkgPT4gc2V0U25hY2tzKFtdKSwgW10pO1xuXG4gIGNvbnN0IHZhbHVlID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoeyBhZGRTbmFjaywgcmVtb3ZlU25hY2ssIGNsZWFyU25hY2tzLCBjbG9zZVNuYWNrIH0pLFxuICAgIFthZGRTbmFjaywgcmVtb3ZlU25hY2ssIGNsZWFyU25hY2tzLCBjbG9zZVNuYWNrXSxcbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxTbmFja2JhckNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3ZhbHVlfT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDxTbmFja2JhckNvbnRhaW5lciBzbmFja3M9e3NuYWNrc30gLz5cbiAgICA8L1NuYWNrYmFyQ29udGV4dC5Qcm92aWRlcj5cbiAgKTtcbn07XG5cbmludGVyZmFjZSBCYXNlU25hY2tQcm9wcyBleHRlbmRzIFNuYWNrIHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn1cblxuaW50ZXJmYWNlIEJhc2VTbmFja0NvbnRhaW5lclByb3BzIHtcbiAgZXhwaXJlZDogYm9vbGVhbjtcbn1cblxuY29uc3Qgc25hY2tiYXJJbkFuaW1hdGlvbiA9IGtleWZyYW1lcyh7XG4gICcwJSc6IHsgdHJhbnNmb3JtOiBgdHJhbnNsYXRlWSgke3NwYWNpbmcubWVkaXVtfSlgLCBvcGFjaXR5OiAwIH0sXG4gICcxMDAlJzogeyBvcGFjaXR5OiAxIH0sXG59KTtcblxuY29uc3Qgc25hY2tiYXJPdXRBbmltYXRpb24gPSBrZXlmcmFtZXMoe1xuICAnMCUnOiB7IG9wYWNpdHk6IDEgfSxcbiAgJzEwMCUnOiB7IHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoJHtzcGFjaW5nLm1lZGl1bX0pYCwgb3BhY2l0eTogMCB9LFxufSk7XG5cbmNvbnN0IEJhc2VTbmFja0NvbnRhaW5lciA9IHN0eWxlZC5saTxCYXNlU25hY2tDb250YWluZXJQcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFuaW1hdGlvbjogJHsocCkgPT4gKHAuZXhwaXJlZCA/IHNuYWNrYmFyT3V0QW5pbWF0aW9uIDogc25hY2tiYXJJbkFuaW1hdGlvbil9IDIwMG1zIGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbmA7XG5cbmV4cG9ydCBjb25zdCBCYXNlU25hY2sgPSAoeyBkdXJhdGlvbiA9IDUwMDAsIGlkLCBjaGlsZHJlbiB9OiBCYXNlU25hY2tQcm9wcykgPT4ge1xuICBjb25zdCB7IHJlbW92ZVNuYWNrIH0gPSB1c2VTbmFjaygpO1xuICBjb25zdCBbZXhwaXJlZCwgc2V0RXhwaXJlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCB0aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiBzZXRFeHBpcmVkKHRydWUpLCBkdXJhdGlvbik7XG4gICAgcmV0dXJuICgpID0+IGNsZWFyVGltZW91dCh0aW1lb3V0KTtcbiAgfSwgW2R1cmF0aW9uXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8QmFzZVNuYWNrQ29udGFpbmVyIGV4cGlyZWQ9e2V4cGlyZWR9IG9uQW5pbWF0aW9uRW5kPXsoKSA9PiBleHBpcmVkICYmIHJlbW92ZVNuYWNrKGlkKX0+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9CYXNlU25hY2tDb250YWluZXI+XG4gICk7XG59O1xuXG5pbnRlcmZhY2UgU25hY2tiYXJDb250YWluZXJQcm9wcyB7XG4gIHNuYWNrczogU25hY2tbXTtcbn1cblxuY29uc3QgU3R5bGVkU25hY2tMaXN0ID0gc3R5bGVkLnVsYFxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDk5OTk5O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDA7XG4gIGJvdHRvbTogZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20sIDQwcHgpO1xuICByaWdodDogZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCwgMHB4KTtcbiAgbGVmdDogZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0LCAwcHgpO1xuYDtcblxuY29uc3QgU25hY2tiYXJDb250YWluZXIgPSAoeyBzbmFja3MgfTogU25hY2tiYXJDb250YWluZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxTdHlsZWRTbmFja0xpc3QgYXJpYS1saXZlPVwicG9saXRlXCIgcm9sZT1cInJlZ2lvblwiPlxuICAgICAge3NuYWNrcy5tYXAoKHNuYWNrKSA9PiAoXG4gICAgICAgIDxCYXNlU25hY2sga2V5PXtzbmFjay5pZH0gey4uLnNuYWNrfT5cbiAgICAgICAgICB7c25hY2sucmVuZGVyPy4oc25hY2suaWQpID8/IDxEZWZhdWx0U25hY2sgey4uLnNuYWNrfSAvPn1cbiAgICAgICAgPC9CYXNlU25hY2s+XG4gICAgICApKX1cbiAgICA8L1N0eWxlZFNuYWNrTGlzdD5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFNuYWNrYmFyUHJvdmlkZXI7XG4iXX0= */"));
121
+
122
+ export var BaseSnack = function BaseSnack(_ref3) {
123
+ var _ref3$duration = _ref3.duration,
124
+ duration = _ref3$duration === void 0 ? 5000 : _ref3$duration,
125
+ id = _ref3.id,
126
+ children = _ref3.children;
127
+
128
+ var _useSnack = useSnack(),
129
+ removeSnack = _useSnack.removeSnack;
130
+
131
+ var _useState3 = useState(false),
132
+ _useState4 = _slicedToArray(_useState3, 2),
133
+ expired = _useState4[0],
134
+ setExpired = _useState4[1];
135
+
136
+ useEffect(function () {
137
+ var timeout = setTimeout(function () {
138
+ return setExpired(true);
139
+ }, duration);
140
+ return function () {
141
+ return clearTimeout(timeout);
142
+ };
143
+ }, [duration]);
144
+ return ___EmotionJSX(BaseSnackContainer, {
145
+ expired: expired,
146
+ onAnimationEnd: function onAnimationEnd() {
147
+ return expired && removeSnack(id);
148
+ }
149
+ }, children);
150
+ };
151
+
152
+ var StyledSnackList = _styled("ul", {
153
+ target: "e12tl09b1",
154
+ label: "StyledSnackList"
155
+ })(process.env.NODE_ENV === "production" ? {
156
+ name: "m4hu4a",
157
+ styles: "position:fixed;z-index:99999;display:flex;flex-direction:column;pointer-events:none;margin:0 auto;padding:0;bottom:env(safe-area-inset-bottom,40px);right:env(safe-area-inset-right,0px);left:env(safe-area-inset-left,0px);"
158
+ } : {
159
+ name: "m4hu4a",
160
+ styles: "position:fixed;z-index:99999;display:flex;flex-direction:column;pointer-events:none;margin:0 auto;padding:0;bottom:env(safe-area-inset-bottom,40px);right:env(safe-area-inset-right,0px);left:env(safe-area-inset-left,0px);",
161
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNuYWNrYmFyUHJvdmlkZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlIaUMiLCJmaWxlIjoiU25hY2tiYXJQcm92aWRlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMi1wcmVzZW50LCBORExBLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdQTHYzIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbmltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjaywgdXNlTWVtbywgY3JlYXRlQ29udGV4dCwgUmVhY3ROb2RlLCB1c2VTdGF0ZSwgdXNlQ29udGV4dCwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsga2V5ZnJhbWVzIH0gZnJvbSAnQGVtb3Rpb24vY29yZSc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBzcGFjaW5nIH0gZnJvbSAnQG5kbGEvY29yZSc7XG5pbXBvcnQgRGVmYXVsdFNuYWNrIGZyb20gJy4vRGVmYXVsdFNuYWNrYmFyJztcblxuZXhwb3J0IGludGVyZmFjZSBTbmFjayB7XG4gIGNvbnRlbnQ/OiBSZWFjdE5vZGU7XG4gIGR1cmF0aW9uPzogbnVtYmVyO1xuICByZW5kZXI/OiAoaWQ6IHN0cmluZywgb25DbG9zZT86ICgpID0+IHZvaWQpID0+IFJlYWN0Tm9kZTtcbiAgaWQ6IHN0cmluZztcbiAgaWNvbj86IFJlYWN0Tm9kZTtcbiAgY2xvc2FibGU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNuYWNrQ29udGV4dCB7XG4gIGFkZFNuYWNrOiAoc25hY2s6IFNuYWNrKSA9PiB2b2lkO1xuICByZW1vdmVTbmFjazogKGlkOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGNsZWFyU25hY2tzOiAoKSA9PiB2b2lkO1xuICBjbG9zZVNuYWNrOiAoc25hY2s6IFNuYWNrKSA9PiB2b2lkO1xufVxuXG5jb25zdCBTbmFja2JhckNvbnRleHQgPSBjcmVhdGVDb250ZXh0PFNuYWNrQ29udGV4dCB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuZXhwb3J0IGNvbnN0IHVzZVNuYWNrID0gKCkgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dChTbmFja2JhckNvbnRleHQpO1xuICBpZiAoIWNvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VzZVNuYWNrIGNhbiBvbmx5IGJlIHVzZWQgd2l0aGluIGEgU25hY2tiYXJQcm92aWRlciEnKTtcbiAgfVxuXG4gIHJldHVybiBjb250ZXh0O1xufTtcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn1cblxuZXhwb3J0IGNvbnN0IFNuYWNrYmFyUHJvdmlkZXIgPSAoeyBjaGlsZHJlbiB9OiBQcm9wcykgPT4ge1xuICBjb25zdCBbc25hY2tzLCBzZXRTbmFja3NdID0gdXNlU3RhdGU8U25hY2tbXT4oW10pO1xuXG4gIGNvbnN0IGFkZFNuYWNrID0gdXNlQ2FsbGJhY2soKHNuYWNrOiBTbmFjaykgPT4ge1xuICAgIHNldFNuYWNrcygocHJldikgPT4gcHJldi5maWx0ZXIoKHMpID0+IHMuaWQgIT09IHNuYWNrLmlkKS5jb25jYXQoc25hY2spKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IHJlbW92ZVNuYWNrID0gdXNlQ2FsbGJhY2soKHNuYWNrSWQ6IHN0cmluZykgPT4ge1xuICAgIHNldFNuYWNrcygocHJldikgPT4gcHJldi5maWx0ZXIoKHsgaWQgfSkgPT4gc25hY2tJZCAhPT0gaWQpKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IGNsb3NlU25hY2sgPSB1c2VDYWxsYmFjaygoc25hY2s6IFNuYWNrKSA9PiB7XG4gICAgc2V0U25hY2tzKChwcmV2KSA9PiBwcmV2Lm1hcCgocCkgPT4gKHAuaWQgPT09IHNuYWNrLmlkID8geyAuLi5wLCBkdXJhdGlvbjogMCB9IDogcCkpKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IGNsZWFyU25hY2tzID0gdXNlQ2FsbGJhY2soKCkgPT4gc2V0U25hY2tzKFtdKSwgW10pO1xuXG4gIGNvbnN0IHZhbHVlID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoeyBhZGRTbmFjaywgcmVtb3ZlU25hY2ssIGNsZWFyU25hY2tzLCBjbG9zZVNuYWNrIH0pLFxuICAgIFthZGRTbmFjaywgcmVtb3ZlU25hY2ssIGNsZWFyU25hY2tzLCBjbG9zZVNuYWNrXSxcbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxTbmFja2JhckNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3ZhbHVlfT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDxTbmFja2JhckNvbnRhaW5lciBzbmFja3M9e3NuYWNrc30gLz5cbiAgICA8L1NuYWNrYmFyQ29udGV4dC5Qcm92aWRlcj5cbiAgKTtcbn07XG5cbmludGVyZmFjZSBCYXNlU25hY2tQcm9wcyBleHRlbmRzIFNuYWNrIHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn1cblxuaW50ZXJmYWNlIEJhc2VTbmFja0NvbnRhaW5lclByb3BzIHtcbiAgZXhwaXJlZDogYm9vbGVhbjtcbn1cblxuY29uc3Qgc25hY2tiYXJJbkFuaW1hdGlvbiA9IGtleWZyYW1lcyh7XG4gICcwJSc6IHsgdHJhbnNmb3JtOiBgdHJhbnNsYXRlWSgke3NwYWNpbmcubWVkaXVtfSlgLCBvcGFjaXR5OiAwIH0sXG4gICcxMDAlJzogeyBvcGFjaXR5OiAxIH0sXG59KTtcblxuY29uc3Qgc25hY2tiYXJPdXRBbmltYXRpb24gPSBrZXlmcmFtZXMoe1xuICAnMCUnOiB7IG9wYWNpdHk6IDEgfSxcbiAgJzEwMCUnOiB7IHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoJHtzcGFjaW5nLm1lZGl1bX0pYCwgb3BhY2l0eTogMCB9LFxufSk7XG5cbmNvbnN0IEJhc2VTbmFja0NvbnRhaW5lciA9IHN0eWxlZC5saTxCYXNlU25hY2tDb250YWluZXJQcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFuaW1hdGlvbjogJHsocCkgPT4gKHAuZXhwaXJlZCA/IHNuYWNrYmFyT3V0QW5pbWF0aW9uIDogc25hY2tiYXJJbkFuaW1hdGlvbil9IDIwMG1zIGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbmA7XG5cbmV4cG9ydCBjb25zdCBCYXNlU25hY2sgPSAoeyBkdXJhdGlvbiA9IDUwMDAsIGlkLCBjaGlsZHJlbiB9OiBCYXNlU25hY2tQcm9wcykgPT4ge1xuICBjb25zdCB7IHJlbW92ZVNuYWNrIH0gPSB1c2VTbmFjaygpO1xuICBjb25zdCBbZXhwaXJlZCwgc2V0RXhwaXJlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCB0aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiBzZXRFeHBpcmVkKHRydWUpLCBkdXJhdGlvbik7XG4gICAgcmV0dXJuICgpID0+IGNsZWFyVGltZW91dCh0aW1lb3V0KTtcbiAgfSwgW2R1cmF0aW9uXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8QmFzZVNuYWNrQ29udGFpbmVyIGV4cGlyZWQ9e2V4cGlyZWR9IG9uQW5pbWF0aW9uRW5kPXsoKSA9PiBleHBpcmVkICYmIHJlbW92ZVNuYWNrKGlkKX0+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9CYXNlU25hY2tDb250YWluZXI+XG4gICk7XG59O1xuXG5pbnRlcmZhY2UgU25hY2tiYXJDb250YWluZXJQcm9wcyB7XG4gIHNuYWNrczogU25hY2tbXTtcbn1cblxuY29uc3QgU3R5bGVkU25hY2tMaXN0ID0gc3R5bGVkLnVsYFxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDk5OTk5O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDA7XG4gIGJvdHRvbTogZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20sIDQwcHgpO1xuICByaWdodDogZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCwgMHB4KTtcbiAgbGVmdDogZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0LCAwcHgpO1xuYDtcblxuY29uc3QgU25hY2tiYXJDb250YWluZXIgPSAoeyBzbmFja3MgfTogU25hY2tiYXJDb250YWluZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxTdHlsZWRTbmFja0xpc3QgYXJpYS1saXZlPVwicG9saXRlXCIgcm9sZT1cInJlZ2lvblwiPlxuICAgICAge3NuYWNrcy5tYXAoKHNuYWNrKSA9PiAoXG4gICAgICAgIDxCYXNlU25hY2sga2V5PXtzbmFjay5pZH0gey4uLnNuYWNrfT5cbiAgICAgICAgICB7c25hY2sucmVuZGVyPy4oc25hY2suaWQpID8/IDxEZWZhdWx0U25hY2sgey4uLnNuYWNrfSAvPn1cbiAgICAgICAgPC9CYXNlU25hY2s+XG4gICAgICApKX1cbiAgICA8L1N0eWxlZFNuYWNrTGlzdD5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFNuYWNrYmFyUHJvdmlkZXI7XG4iXX0= */",
162
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
163
+ });
164
+
165
+ var SnackbarContainer = function SnackbarContainer(_ref4) {
166
+ var snacks = _ref4.snacks;
167
+ return ___EmotionJSX(StyledSnackList, {
168
+ "aria-live": "polite",
169
+ role: "region"
170
+ }, snacks.map(function (snack) {
171
+ var _snack$render, _snack$render2;
172
+
173
+ return ___EmotionJSX(BaseSnack, _extends({
174
+ key: snack.id
175
+ }, snack), (_snack$render = (_snack$render2 = snack.render) === null || _snack$render2 === void 0 ? void 0 : _snack$render2.call(snack, snack.id)) !== null && _snack$render !== void 0 ? _snack$render : ___EmotionJSX(DefaultSnack, snack));
176
+ }));
177
+ };
178
+
179
+ export default SnackbarProvider;
@@ -5,5 +5,5 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  */
8
- import SnackBar from './SnackBar';
9
- export { SnackBar };
8
+ export { SnackbarProvider, useSnack, BaseSnack } from './SnackbarProvider';
9
+ export { default as DefaultSnackbar } from './DefaultSnackbar';