@bbl-digital/snorre 4.0.22 → 4.0.23

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. package/dist/bundle.js +113 -27
  2. package/esm/core/Button/Button.stories.js +50 -48
  3. package/esm/core/Card/index.js +4 -3
  4. package/esm/core/Checkbox/index.js +32 -9
  5. package/esm/core/CollapseList/Item.js +4 -3
  6. package/esm/core/CollapseList/index.js +4 -3
  7. package/esm/core/Datepicker/Datepicker.stories.js +7 -6
  8. package/esm/core/DatepickerRange/DatepickerRange.stories.js +4 -3
  9. package/esm/core/DropdownMenu/DropdownMenu.stories.js +34 -26
  10. package/esm/core/DropdownMenu/DropdownMenuOption.js +2 -0
  11. package/esm/core/DropdownMenu/index.js +16 -0
  12. package/esm/core/Editor/Editor.stories.js +31 -30
  13. package/esm/core/FileInput/index.js +7 -1
  14. package/esm/core/GoogleButton/GoogleButton.stories.js +4 -4
  15. package/esm/core/Header/Header.stories.js +42 -45
  16. package/esm/core/HighlightText/HighlightText.stories.js +11 -11
  17. package/esm/core/Image/index.js +19 -4
  18. package/esm/core/ImagePicker/ImagePicker.stories.js +2 -1
  19. package/esm/core/ImagePicker/index.js +4 -0
  20. package/esm/core/ImageViewer/index.js +15 -5
  21. package/esm/core/InfoButton/InfoButton.stories.js +23 -22
  22. package/esm/core/InfoButton/index.js +4 -0
  23. package/esm/core/Input/index.js +4 -0
  24. package/lib/core/Button/Button.stories.d.ts +20 -63
  25. package/lib/core/Button/Button.stories.d.ts.map +1 -1
  26. package/lib/core/Button/Button.stories.js +50 -48
  27. package/lib/core/Card/index.d.ts +14 -15
  28. package/lib/core/Card/index.d.ts.map +1 -1
  29. package/lib/core/Card/index.js +4 -3
  30. package/lib/core/Checkbox/index.d.ts +3 -3
  31. package/lib/core/Checkbox/index.d.ts.map +1 -1
  32. package/lib/core/Checkbox/index.js +32 -9
  33. package/lib/core/CollapseList/Item.d.ts +1 -1
  34. package/lib/core/CollapseList/Item.d.ts.map +1 -1
  35. package/lib/core/CollapseList/Item.js +4 -3
  36. package/lib/core/CollapseList/index.d.ts +1 -1
  37. package/lib/core/CollapseList/index.d.ts.map +1 -1
  38. package/lib/core/CollapseList/index.js +4 -3
  39. package/lib/core/Datepicker/Datepicker.stories.d.ts +6 -6
  40. package/lib/core/Datepicker/Datepicker.stories.d.ts.map +1 -1
  41. package/lib/core/Datepicker/Datepicker.stories.js +7 -6
  42. package/lib/core/DatepickerRange/DatepickerRange.stories.d.ts +6 -7
  43. package/lib/core/DatepickerRange/DatepickerRange.stories.d.ts.map +1 -1
  44. package/lib/core/DatepickerRange/DatepickerRange.stories.js +4 -3
  45. package/lib/core/DropdownMenu/DropdownMenu.stories.d.ts +8 -15
  46. package/lib/core/DropdownMenu/DropdownMenu.stories.d.ts.map +1 -1
  47. package/lib/core/DropdownMenu/DropdownMenu.stories.js +34 -26
  48. package/lib/core/DropdownMenu/DropdownMenuOption.d.ts.map +1 -1
  49. package/lib/core/DropdownMenu/DropdownMenuOption.js +2 -0
  50. package/lib/core/DropdownMenu/index.d.ts.map +1 -1
  51. package/lib/core/DropdownMenu/index.js +16 -0
  52. package/lib/core/Editor/Editor.stories.d.ts +10 -23
  53. package/lib/core/Editor/Editor.stories.d.ts.map +1 -1
  54. package/lib/core/Editor/Editor.stories.js +31 -30
  55. package/lib/core/FileInput/index.d.ts +3 -1
  56. package/lib/core/FileInput/index.d.ts.map +1 -1
  57. package/lib/core/FileInput/index.js +7 -1
  58. package/lib/core/GoogleButton/GoogleButton.stories.d.ts +6 -7
  59. package/lib/core/GoogleButton/GoogleButton.stories.d.ts.map +1 -1
  60. package/lib/core/GoogleButton/GoogleButton.stories.js +4 -4
  61. package/lib/core/Header/Header.stories.d.ts +13 -35
  62. package/lib/core/Header/Header.stories.d.ts.map +1 -1
  63. package/lib/core/Header/Header.stories.js +42 -45
  64. package/lib/core/HighlightText/HighlightText.stories.d.ts +7 -11
  65. package/lib/core/HighlightText/HighlightText.stories.d.ts.map +1 -1
  66. package/lib/core/HighlightText/HighlightText.stories.js +11 -11
  67. package/lib/core/Image/index.d.ts +1 -0
  68. package/lib/core/Image/index.d.ts.map +1 -1
  69. package/lib/core/Image/index.js +19 -4
  70. package/lib/core/ImagePicker/ImagePicker.stories.d.ts +6 -17
  71. package/lib/core/ImagePicker/ImagePicker.stories.d.ts.map +1 -1
  72. package/lib/core/ImagePicker/ImagePicker.stories.js +2 -1
  73. package/lib/core/ImagePicker/index.d.ts.map +1 -1
  74. package/lib/core/ImagePicker/index.js +4 -0
  75. package/lib/core/ImageViewer/index.d.ts.map +1 -1
  76. package/lib/core/ImageViewer/index.js +15 -5
  77. package/lib/core/InfoButton/InfoButton.stories.d.ts +10 -23
  78. package/lib/core/InfoButton/InfoButton.stories.d.ts.map +1 -1
  79. package/lib/core/InfoButton/InfoButton.stories.js +23 -22
  80. package/lib/core/InfoButton/index.d.ts.map +1 -1
  81. package/lib/core/InfoButton/index.js +4 -0
  82. package/lib/core/Input/index.d.ts +1 -1
  83. package/lib/core/Input/index.d.ts.map +1 -1
  84. package/lib/core/Input/index.js +4 -0
  85. package/package.json +1 -1
@@ -78,6 +78,7 @@ const ImagePicker = ({
78
78
  focusable: true,
79
79
  css: styles.deleteButton,
80
80
  onClick: () => onImageRemove(0),
81
+ "aria-label": "Fjern bilde",
81
82
  children: _jsx(IconWithBackground, {
82
83
  variant: "delete",
83
84
  icon: _jsx(IconDelete, {})
@@ -95,6 +96,7 @@ const ImagePicker = ({
95
96
  nostyle: true,
96
97
  focusable: true,
97
98
  css: styles.pinButton,
99
+ "aria-label": "Sett som hovedbilde",
98
100
  onClick: () => setMainImage(index + 1),
99
101
  children: _jsx(IconWithBackground, {
100
102
  icon: _jsx(IconImage, {}),
@@ -104,6 +106,7 @@ const ImagePicker = ({
104
106
  nostyle: true,
105
107
  focusable: true,
106
108
  css: styles.deleteButton,
109
+ "aria-label": "Fjern bilde",
107
110
  onClick: () => onImageRemove(index + 1),
108
111
  children: _jsx(IconWithBackground, {
109
112
  variant: "delete",
@@ -117,6 +120,7 @@ const ImagePicker = ({
117
120
  ...dragProps
118
121
  })]
119
122
  }), errors?.acceptType && _jsx(Text, {
123
+ role: "alert",
120
124
  children: "Bilde formatet st\xF8ttes ikke"
121
125
  })]
122
126
  });
@@ -8,6 +8,7 @@ import IconChevronLeft from '../../icons/General/IconChevronLeft';
8
8
  import IconClose from '../../icons/General/IconClose';
9
9
  import { useEffect, useState } from 'react';
10
10
  import { Key } from '../../enums/Keyboard';
11
+ import { VisuallyHidden } from 'react-aria';
11
12
  import { jsx as _jsx } from "@emotion/react/jsx-runtime";
12
13
  import { jsxs as _jsxs } from "@emotion/react/jsx-runtime";
13
14
  const ImageViewer = ({
@@ -30,10 +31,15 @@ const ImageViewer = ({
30
31
  const hasMultipleImages = Boolean(images.length > 1);
31
32
  return _jsx("div", {
32
33
  css: styles.overlay,
33
- children: _jsx("div", {
34
+ children: _jsxs("div", {
34
35
  css: styles.carousel,
35
36
  role: "dialog",
36
- children: _jsx(Carousel, {
37
+ "aria-modal": true,
38
+ "aria-labelledby": "carousel-heading",
39
+ children: [_jsx(VisuallyHidden, {
40
+ id: "carousel-heading",
41
+ children: "Bildevisning"
42
+ }), _jsx(Carousel, {
37
43
  enableKeyboardControls: true,
38
44
  swiping: hasMultipleImages,
39
45
  dragging: hasMultipleImages,
@@ -44,6 +50,7 @@ const ImageViewer = ({
44
50
  renderTopRightControls: () => _jsx("button", {
45
51
  css: styles.closeBtn,
46
52
  onClick: onClose,
53
+ "aria-label": "Lukk bildevisning",
47
54
  children: _jsx(IconClose, {
48
55
  color: "white"
49
56
  })
@@ -53,6 +60,7 @@ const ImageViewer = ({
53
60
  }) => hasMultipleImages && _jsx("button", {
54
61
  css: styles.controlBtn('right'),
55
62
  onClick: nextSlide,
63
+ "aria-label": "Naviger til neste bilde",
56
64
  children: _jsx(IconChevronLeft, {
57
65
  size: 18,
58
66
  color: theme.btnDefaultFontColor,
@@ -64,6 +72,7 @@ const ImageViewer = ({
64
72
  }) => hasMultipleImages && _jsx("button", {
65
73
  css: styles.controlBtn('left'),
66
74
  onClick: previousSlide,
75
+ "aria-label": "Naviger til forrige bilde",
67
76
  children: _jsx(IconChevronLeft, {
68
77
  size: 18,
69
78
  color: theme.btnDefaultFontColor
@@ -76,19 +85,20 @@ const ImageViewer = ({
76
85
  children: _jsxs(Text, {
77
86
  color: theme.btnDefaultFontColor,
78
87
  size: "14px",
88
+ "aria-label": `Bilde ${currentSlide + 1} av ${images.length}`,
79
89
  children: [currentSlide + 1, " / ", images.length]
80
90
  })
81
91
  }),
82
92
  children: images.map((imageSrc, i) => _jsx("div", {
83
- css: [styles.imageContainer(isZoomed), process.env.NODE_ENV === "production" ? "" : ";label:ImageViewer;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWNrYWdlcy9jb3JlL0ltYWdlVmlld2VyL2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrRnlCIiwiZmlsZSI6Ii4uLy4uLy4uL3NyYy9wYWNrYWdlcy9jb3JlL0ltYWdlVmlld2VyL2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBAanN4SW1wb3J0U291cmNlIEBlbW90aW9uL3JlYWN0ICovXG5pbXBvcnQgeyB1c2VUaGVtZSB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHsgc3R5bGVzIH0gZnJvbSAnLi9zdHlsZXMnXG5pbXBvcnQgSW1hZ2UgZnJvbSAnLi4vSW1hZ2UnXG5pbXBvcnQgQ2Fyb3VzZWwgZnJvbSAnbnVrYS1jYXJvdXNlbCdcbmltcG9ydCBUZXh0IGZyb20gJy4uL1RleHQnXG5pbXBvcnQgSWNvbkNoZXZyb25MZWZ0IGZyb20gJy4uLy4uL2ljb25zL0dlbmVyYWwvSWNvbkNoZXZyb25MZWZ0J1xuaW1wb3J0IEljb25DbG9zZSBmcm9tICcuLi8uLi9pY29ucy9HZW5lcmFsL0ljb25DbG9zZSdcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IEtleSB9IGZyb20gJy4uLy4uL2VudW1zL0tleWJvYXJkJ1xuXG50eXBlIFByb3BzID0ge1xuICAvKiogSW1hZ2Ugc3JjJ3MgKi9cbiAgaW1hZ2VzOiBzdHJpbmdbXVxuICAvKiogSW1hZ2UgbGlzdCBpbmRleCB0byBkaXNwbGF5IGluaXRpYWxseSwgZGVmYXVsdHMgdG8gMCAqL1xuICBpbml0aWFsSW1hZ2U6IG51bWJlclxuICAvKiogT24gY2xvc2UgY2FsbGJhY2sgKi9cbiAgb25DbG9zZTogKCkgPT4gdm9pZFxufVxuXG5jb25zdCBJbWFnZVZpZXdlciA9ICh7IGltYWdlcywgaW5pdGlhbEltYWdlID0gMCwgb25DbG9zZSB9OiBQcm9wcykgPT4ge1xuICBjb25zdCB0aGVtZSA9IHVzZVRoZW1lKClcbiAgY29uc3QgW2lzWm9vbWVkLCBzZXRJc1pvb21lZF0gPSB1c2VTdGF0ZShmYWxzZSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIFRyaWdnZXIgY2xvc2UgZXZlbnQgb24gXCJlc2NhcGVcIiBrZXlkb3duXG4gICAgY29uc3QgaGFuZGxlS2V5RG93biA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gS2V5LmVzY2FwZSkgb25DbG9zZSgpXG4gICAgfVxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBoYW5kbGVLZXlEb3duKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBoYW5kbGVLZXlEb3duKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgY29uc3QgaGFzTXVsdGlwbGVJbWFnZXMgPSBCb29sZWFuKGltYWdlcy5sZW5ndGggPiAxKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjc3M9e3N0eWxlcy5vdmVybGF5fT5cbiAgICAgIDxkaXYgY3NzPXtzdHlsZXMuY2Fyb3VzZWx9IHJvbGU9XCJkaWFsb2dcIj5cbiAgICAgICAgPENhcm91c2VsXG4gICAgICAgICAgZW5hYmxlS2V5Ym9hcmRDb250cm9sc1xuICAgICAgICAgIHN3aXBpbmc9e2hhc011bHRpcGxlSW1hZ2VzfVxuICAgICAgICAgIGRyYWdnaW5nPXtoYXNNdWx0aXBsZUltYWdlc31cbiAgICAgICAgICB3cmFwQXJvdW5kXG4gICAgICAgICAgc2xpZGVJbmRleD17aW5pdGlhbEltYWdlfVxuICAgICAgICAgIGNlbGxTcGFjaW5nPXsxNX1cbiAgICAgICAgICBvblVzZXJOYXZpZ2F0aW9uPXsoKSA9PiBzZXRJc1pvb21lZChmYWxzZSl9XG4gICAgICAgICAgcmVuZGVyVG9wUmlnaHRDb250cm9scz17KCkgPT4gKFxuICAgICAgICAgICAgPGJ1dHRvbiBjc3M9e3N0eWxlcy5jbG9zZUJ0bn0gb25DbGljaz17b25DbG9zZX0+XG4gICAgICAgICAgICAgIDxJY29uQ2xvc2UgY29sb3I9XCJ3aGl0ZVwiIC8+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICAgIHJlbmRlckNlbnRlclJpZ2h0Q29udHJvbHM9eyh7IG5leHRTbGlkZSB9KSA9PlxuICAgICAgICAgICAgaGFzTXVsdGlwbGVJbWFnZXMgJiYgKFxuICAgICAgICAgICAgICA8YnV0dG9uIGNzcz17c3R5bGVzLmNvbnRyb2xCdG4oJ3JpZ2h0Jyl9IG9uQ2xpY2s9e25leHRTbGlkZX0+XG4gICAgICAgICAgICAgICAgey8qIFVzZXMgSWNvbkNoZXZyb25MZWZ0LCBiZWNhdXNlIEljb25DaGV2cm9uUmlnaHQgaXMgbm90IGNlbnRlcmVkIHByb3Blcmx5ICAqL31cbiAgICAgICAgICAgICAgICA8SWNvbkNoZXZyb25MZWZ0XG4gICAgICAgICAgICAgICAgICBzaXplPXsxOH1cbiAgICAgICAgICAgICAgICAgIGNvbG9yPXt0aGVtZS5idG5EZWZhdWx0Rm9udENvbG9yfVxuICAgICAgICAgICAgICAgICAgZmxpcFxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgKVxuICAgICAgICAgIH1cbiAgICAgICAgICByZW5kZXJDZW50ZXJMZWZ0Q29udHJvbHM9eyh7IHByZXZpb3VzU2xpZGUgfSkgPT5cbiAgICAgICAgICAgIGhhc011bHRpcGxlSW1hZ2VzICYmIChcbiAgICAgICAgICAgICAgPGJ1dHRvbiBjc3M9e3N0eWxlcy5jb250cm9sQnRuKCdsZWZ0Jyl9IG9uQ2xpY2s9e3ByZXZpb3VzU2xpZGV9PlxuICAgICAgICAgICAgICAgIDxJY29uQ2hldnJvbkxlZnQgc2l6ZT17MTh9IGNvbG9yPXt0aGVtZS5idG5EZWZhdWx0Rm9udENvbG9yfSAvPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIClcbiAgICAgICAgICB9XG4gICAgICAgICAgcmVuZGVyQm90dG9tQ2VudGVyQ29udHJvbHM9eyh7IGN1cnJlbnRTbGlkZSB9KSA9PiAoXG4gICAgICAgICAgICA8ZGl2IGNzcz17c3R5bGVzLnBhZ2VJbmZvfT5cbiAgICAgICAgICAgICAgPFRleHQgY29sb3I9e3RoZW1lLmJ0bkRlZmF1bHRGb250Q29sb3J9IHNpemU9XCIxNHB4XCI+XG4gICAgICAgICAgICAgICAge2N1cnJlbnRTbGlkZSArIDF9IC8ge2ltYWdlcy5sZW5ndGh9XG4gICAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICB7aW1hZ2VzLm1hcCgoaW1hZ2VTcmMsIGkpID0+IChcbiAgICAgICAgICAgIDxkaXYga2V5PXtpfSBjc3M9e1tzdHlsZXMuaW1hZ2VDb250YWluZXIoaXNab29tZWQpXX0+XG4gICAgICAgICAgICAgIDxJbWFnZVxuICAgICAgICAgICAgICAgIHNyYz17aW1hZ2VTcmN9XG4gICAgICAgICAgICAgICAgYWx0PVwiYmlsZGVcIlxuICAgICAgICAgICAgICAgIG9iamVjdEZpdD1cImNvbnRhaW5cIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldElzWm9vbWVkKCFpc1pvb21lZCl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9DYXJvdXNlbD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApXG59XG5leHBvcnQgZGVmYXVsdCBJbWFnZVZpZXdlclxuIl19 */"],
93
+ css: [styles.imageContainer(isZoomed), process.env.NODE_ENV === "production" ? "" : ";label:ImageViewer;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWNrYWdlcy9jb3JlL0ltYWdlVmlld2VyL2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5R3lCIiwiZmlsZSI6Ii4uLy4uLy4uL3NyYy9wYWNrYWdlcy9jb3JlL0ltYWdlVmlld2VyL2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBAanN4SW1wb3J0U291cmNlIEBlbW90aW9uL3JlYWN0ICovXG5pbXBvcnQgeyB1c2VUaGVtZSB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHsgc3R5bGVzIH0gZnJvbSAnLi9zdHlsZXMnXG5pbXBvcnQgSW1hZ2UgZnJvbSAnLi4vSW1hZ2UnXG5pbXBvcnQgQ2Fyb3VzZWwgZnJvbSAnbnVrYS1jYXJvdXNlbCdcbmltcG9ydCBUZXh0IGZyb20gJy4uL1RleHQnXG5pbXBvcnQgSWNvbkNoZXZyb25MZWZ0IGZyb20gJy4uLy4uL2ljb25zL0dlbmVyYWwvSWNvbkNoZXZyb25MZWZ0J1xuaW1wb3J0IEljb25DbG9zZSBmcm9tICcuLi8uLi9pY29ucy9HZW5lcmFsL0ljb25DbG9zZSdcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IEtleSB9IGZyb20gJy4uLy4uL2VudW1zL0tleWJvYXJkJ1xuaW1wb3J0IHsgVmlzdWFsbHlIaWRkZW4gfSBmcm9tICdyZWFjdC1hcmlhJ1xuXG50eXBlIFByb3BzID0ge1xuICAvKiogSW1hZ2Ugc3JjJ3MgKi9cbiAgaW1hZ2VzOiBzdHJpbmdbXVxuICAvKiogSW1hZ2UgbGlzdCBpbmRleCB0byBkaXNwbGF5IGluaXRpYWxseSwgZGVmYXVsdHMgdG8gMCAqL1xuICBpbml0aWFsSW1hZ2U6IG51bWJlclxuICAvKiogT24gY2xvc2UgY2FsbGJhY2sgKi9cbiAgb25DbG9zZTogKCkgPT4gdm9pZFxufVxuXG5jb25zdCBJbWFnZVZpZXdlciA9ICh7IGltYWdlcywgaW5pdGlhbEltYWdlID0gMCwgb25DbG9zZSB9OiBQcm9wcykgPT4ge1xuICBjb25zdCB0aGVtZSA9IHVzZVRoZW1lKClcbiAgY29uc3QgW2lzWm9vbWVkLCBzZXRJc1pvb21lZF0gPSB1c2VTdGF0ZShmYWxzZSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIFRyaWdnZXIgY2xvc2UgZXZlbnQgb24gXCJlc2NhcGVcIiBrZXlkb3duXG4gICAgY29uc3QgaGFuZGxlS2V5RG93biA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gS2V5LmVzY2FwZSkgb25DbG9zZSgpXG4gICAgfVxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBoYW5kbGVLZXlEb3duKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBoYW5kbGVLZXlEb3duKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgY29uc3QgaGFzTXVsdGlwbGVJbWFnZXMgPSBCb29sZWFuKGltYWdlcy5sZW5ndGggPiAxKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjc3M9e3N0eWxlcy5vdmVybGF5fT5cbiAgICAgIDxkaXZcbiAgICAgICAgY3NzPXtzdHlsZXMuY2Fyb3VzZWx9XG4gICAgICAgIHJvbGU9XCJkaWFsb2dcIlxuICAgICAgICBhcmlhLW1vZGFsPXt0cnVlfVxuICAgICAgICBhcmlhLWxhYmVsbGVkYnk9XCJjYXJvdXNlbC1oZWFkaW5nXCJcbiAgICAgID5cbiAgICAgICAgPFZpc3VhbGx5SGlkZGVuIGlkPVwiY2Fyb3VzZWwtaGVhZGluZ1wiPkJpbGRldmlzbmluZzwvVmlzdWFsbHlIaWRkZW4+XG4gICAgICAgIDxDYXJvdXNlbFxuICAgICAgICAgIGVuYWJsZUtleWJvYXJkQ29udHJvbHNcbiAgICAgICAgICBzd2lwaW5nPXtoYXNNdWx0aXBsZUltYWdlc31cbiAgICAgICAgICBkcmFnZ2luZz17aGFzTXVsdGlwbGVJbWFnZXN9XG4gICAgICAgICAgd3JhcEFyb3VuZFxuICAgICAgICAgIHNsaWRlSW5kZXg9e2luaXRpYWxJbWFnZX1cbiAgICAgICAgICBjZWxsU3BhY2luZz17MTV9XG4gICAgICAgICAgb25Vc2VyTmF2aWdhdGlvbj17KCkgPT4gc2V0SXNab29tZWQoZmFsc2UpfVxuICAgICAgICAgIHJlbmRlclRvcFJpZ2h0Q29udHJvbHM9eygpID0+IChcbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgY3NzPXtzdHlsZXMuY2xvc2VCdG59XG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uQ2xvc2V9XG4gICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJMdWtrIGJpbGRldmlzbmluZ1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxJY29uQ2xvc2UgY29sb3I9XCJ3aGl0ZVwiIC8+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICAgIHJlbmRlckNlbnRlclJpZ2h0Q29udHJvbHM9eyh7IG5leHRTbGlkZSB9KSA9PlxuICAgICAgICAgICAgaGFzTXVsdGlwbGVJbWFnZXMgJiYgKFxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgY3NzPXtzdHlsZXMuY29udHJvbEJ0bigncmlnaHQnKX1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtuZXh0U2xpZGV9XG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIk5hdmlnZXIgdGlsIG5lc3RlIGJpbGRlXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHsvKiBVc2VzIEljb25DaGV2cm9uTGVmdCwgYmVjYXVzZSBJY29uQ2hldnJvblJpZ2h0IGlzIG5vdCBjZW50ZXJlZCBwcm9wZXJseSAgKi99XG4gICAgICAgICAgICAgICAgPEljb25DaGV2cm9uTGVmdFxuICAgICAgICAgICAgICAgICAgc2l6ZT17MTh9XG4gICAgICAgICAgICAgICAgICBjb2xvcj17dGhlbWUuYnRuRGVmYXVsdEZvbnRDb2xvcn1cbiAgICAgICAgICAgICAgICAgIGZsaXBcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIClcbiAgICAgICAgICB9XG4gICAgICAgICAgcmVuZGVyQ2VudGVyTGVmdENvbnRyb2xzPXsoeyBwcmV2aW91c1NsaWRlIH0pID0+XG4gICAgICAgICAgICBoYXNNdWx0aXBsZUltYWdlcyAmJiAoXG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBjc3M9e3N0eWxlcy5jb250cm9sQnRuKCdsZWZ0Jyl9XG4gICAgICAgICAgICAgICAgb25DbGljaz17cHJldmlvdXNTbGlkZX1cbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiTmF2aWdlciB0aWwgZm9ycmlnZSBiaWxkZVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8SWNvbkNoZXZyb25MZWZ0IHNpemU9ezE4fSBjb2xvcj17dGhlbWUuYnRuRGVmYXVsdEZvbnRDb2xvcn0gLz5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICApXG4gICAgICAgICAgfVxuICAgICAgICAgIHJlbmRlckJvdHRvbUNlbnRlckNvbnRyb2xzPXsoeyBjdXJyZW50U2xpZGUgfSkgPT4gKFxuICAgICAgICAgICAgPGRpdiBjc3M9e3N0eWxlcy5wYWdlSW5mb30+XG4gICAgICAgICAgICAgIDxUZXh0XG4gICAgICAgICAgICAgICAgY29sb3I9e3RoZW1lLmJ0bkRlZmF1bHRGb250Q29sb3J9XG4gICAgICAgICAgICAgICAgc2l6ZT1cIjE0cHhcIlxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9e2BCaWxkZSAke2N1cnJlbnRTbGlkZSArIDF9IGF2ICR7aW1hZ2VzLmxlbmd0aH1gfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2N1cnJlbnRTbGlkZSArIDF9IC8ge2ltYWdlcy5sZW5ndGh9XG4gICAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICB7aW1hZ2VzLm1hcCgoaW1hZ2VTcmMsIGkpID0+IChcbiAgICAgICAgICAgIDxkaXYga2V5PXtpfSBjc3M9e1tzdHlsZXMuaW1hZ2VDb250YWluZXIoaXNab29tZWQpXX0+XG4gICAgICAgICAgICAgIDxJbWFnZVxuICAgICAgICAgICAgICAgIHNyYz17aW1hZ2VTcmN9XG4gICAgICAgICAgICAgICAgYWx0PXtgQmlsZGUgJHtpICsgMX0gYXYgJHtpbWFnZXMubGVuZ3RofWB9XG4gICAgICAgICAgICAgICAgb2JqZWN0Rml0PVwiY29udGFpblwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0SXNab29tZWQoIWlzWm9vbWVkKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICkpfVxuICAgICAgICA8L0Nhcm91c2VsPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIClcbn1cbmV4cG9ydCBkZWZhdWx0IEltYWdlVmlld2VyXG4iXX0= */"],
84
94
  children: _jsx(Image, {
85
95
  src: imageSrc,
86
- alt: "bilde",
96
+ alt: `Bilde ${i + 1} av ${images.length}`,
87
97
  objectFit: "contain",
88
98
  onClick: () => setIsZoomed(!isZoomed)
89
99
  })
90
100
  }, i))
91
- })
101
+ })]
92
102
  })
93
103
  });
94
104
  };
@@ -1,57 +1,58 @@
1
1
  import InfoButton from '.';
2
2
  import IconHelp from '../../icons/General/IconHelp';
3
3
  import { jsx as _jsx } from "react/jsx-runtime";
4
- export default {
4
+ const meta = {
5
5
  title: 'Core/InfoButton',
6
6
  component: InfoButton
7
7
  };
8
+ export default meta;
8
9
  export const Default = {
9
- render: () => /*#__PURE__*/_jsx(InfoButton, {
10
+ args: {
11
+ children: 'This will be the content',
10
12
  icon: /*#__PURE__*/_jsx(IconHelp, {
11
13
  primary: true
12
- }),
13
- children: "This will be the content"
14
- }),
14
+ })
15
+ },
15
16
  name: 'Default'
16
17
  };
17
18
  export const Right = {
18
- render: () => /*#__PURE__*/_jsx(InfoButton, {
19
+ args: {
20
+ children: 'This will be the content. This very long and unnecessary text shows how the tooltip will handle responsiveness',
19
21
  icon: /*#__PURE__*/_jsx(IconHelp, {
20
22
  primary: true
21
23
  }),
22
- place: "right",
23
- children: "This will be the content. This very long and unnecessary text shows how the tooltip will handle responsiveness"
24
- }),
24
+ place: 'right'
25
+ },
25
26
  name: 'Right'
26
27
  };
27
28
  export const Bottom = {
28
- render: () => /*#__PURE__*/_jsx(InfoButton, {
29
+ args: {
30
+ children: 'This will be the content',
29
31
  icon: /*#__PURE__*/_jsx(IconHelp, {
30
32
  primary: true
31
33
  }),
32
- place: "bottom",
33
- children: "This will be the content"
34
- }),
34
+ place: 'bottom'
35
+ },
35
36
  name: 'Bottom'
36
37
  };
37
38
  export const Left = {
38
- render: () => /*#__PURE__*/_jsx(InfoButton, {
39
+ args: {
40
+ children: 'This will be the content',
39
41
  icon: /*#__PURE__*/_jsx(IconHelp, {
40
42
  primary: true
41
43
  }),
42
- place: "left",
43
- children: "This will be the content"
44
- }),
44
+ place: 'left'
45
+ },
45
46
  name: 'Left'
46
47
  };
47
48
  export const Width = {
48
- render: () => /*#__PURE__*/_jsx(InfoButton, {
49
+ args: {
50
+ children: 'Custom width',
49
51
  icon: /*#__PURE__*/_jsx(IconHelp, {
50
52
  primary: true
51
53
  }),
52
- place: "right",
53
- width: "100px",
54
- children: "Custom width"
55
- }),
54
+ place: 'right',
55
+ width: '100px'
56
+ },
56
57
  name: 'Width'
57
58
  };
@@ -40,6 +40,7 @@ const InfoButton = ({
40
40
  }, [showTooltip, ref]);
41
41
  return _jsxs(Wrapper, {
42
42
  ref: ref,
43
+ className: className,
43
44
  children: [_jsx(StyledButton, {
44
45
  "aria-label": ariaLabel,
45
46
  trackingName: trackingName,
@@ -52,6 +53,9 @@ const InfoButton = ({
52
53
  timeout: 80,
53
54
  classNames: "tooltip",
54
55
  children: _jsx(Tooltip, {
56
+ role: "tooltip",
57
+ id: "info-tooltip",
58
+ "aria-hidden": !showTooltip,
55
59
  css: () => [styles.default, place === 'top' && styles.top, place === 'right' && styles.right, place === 'bottom' && styles.bottom, place === 'left' && styles.left, width && styles.width(width, place)],
56
60
  children: _jsx(Text, {
57
61
  children: children ? children : ''
@@ -62,12 +62,14 @@ const Input = /*#__PURE__*/React.forwardRef(({
62
62
  return _jsxs("div", {
63
63
  css: styles.relative,
64
64
  children: [_jsxs("label", {
65
+ htmlFor: props.id,
65
66
  css: theme => [styles.default(theme), props.highlight && styles.highligted(height), type === 'search' && styles.searchLabel(theme), (props.invalid || props.invalidMessage) && styles.invalid(theme), height && styles.height(height)],
66
67
  className: className,
67
68
  children: [props.label && _jsx("span", {
68
69
  css: info && styles.pr4,
69
70
  children: props.label
70
71
  }), _jsx("input", {
72
+ id: props.id,
71
73
  type: type,
72
74
  ...(type !== 'password' && {
73
75
  value
@@ -81,6 +83,7 @@ const Input = /*#__PURE__*/React.forwardRef(({
81
83
  maxLength: maxlength,
82
84
  ref: ref,
83
85
  name: props.name,
86
+ "aria-describedby": props.invalidMessage ? 'input-error-message' : undefined,
84
87
  css: theme => [type === 'text' && styles.text(theme), type === 'search' && styles.search(theme), type === 'password' && styles.password(theme), type === 'number' && styles.number(theme), props.disabled && styles.disabled(theme), cardInput && styles.cardInput(theme)],
85
88
  children: React.Children.map(props.children, child => {
86
89
  if (!child) {
@@ -91,6 +94,7 @@ const Input = /*#__PURE__*/React.forwardRef(({
91
94
  }), type === 'search' && _jsx(IconSearch, {}), props.invalidMessage && _jsx(IconErrorOutline, {
92
95
  size: "16px"
93
96
  }), props.invalidMessage && _jsx("span", {
97
+ id: "input-error-message",
94
98
  css: theme => [styles.errorMessage(theme), !props?.label && styles.errorMessageNoLabel],
95
99
  children: props.invalidMessage
96
100
  })]
@@ -1,64 +1,21 @@
1
- /// <reference types="react" />
2
- declare const _default;
3
- export default _default;
4
- export declare const Default: {
5
- render: () => import("react").JSX.Element;
6
- name: string;
7
- };
8
- export declare const IconBefore: {
9
- render: () => import("react").JSX.Element;
10
- name: string;
11
- };
12
- export declare const IconAfter: {
13
- render: () => import("react").JSX.Element;
14
- name: string;
15
- };
16
- export declare const Success: {
17
- render: () => import("react").JSX.Element;
18
- name: string;
19
- };
20
- export declare const Danger: {
21
- render: () => import("react").JSX.Element;
22
- name: string;
23
- };
24
- export declare const Loading: {
25
- render: () => import("react").JSX.Element;
26
- name: string;
27
- };
28
- export declare const Disabled: {
29
- render: () => import("react").JSX.Element;
30
- name: string;
31
- };
32
- export declare const Highlighted: {
33
- render: () => import("react").JSX.Element;
34
- name: string;
35
- };
36
- export declare const OutlineHighlighted: {
37
- render: () => import("react").JSX.Element;
38
- name: string;
39
- };
40
- export declare const Back: {
41
- render: () => import("react").JSX.Element;
42
- name: string;
43
- };
44
- export declare const Small: {
45
- render: () => import("react").JSX.Element;
46
- name: string;
47
- };
48
- export declare const DangerOutline: {
49
- render: () => import("react").JSX.Element;
50
- name: string;
51
- };
52
- export declare const TransparentBackground: {
53
- render: () => import("react").JSX.Element;
54
- name: string;
55
- };
56
- export declare const NoStyle: {
57
- render: () => import("react").JSX.Element;
58
- name: string;
59
- };
60
- export declare const EventKeyPresses: {
61
- render: () => import("react").JSX.Element;
62
- name: string;
63
- };
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import Button from '.';
3
+ declare const meta: Meta<typeof Button>;
4
+ export default meta;
5
+ declare type Story = StoryObj<typeof Button>;
6
+ export declare const Default: Story;
7
+ export declare const IconBefore: Story;
8
+ export declare const IconAfter: Story;
9
+ export declare const Success: Story;
10
+ export declare const Danger: Story;
11
+ export declare const Loading: Story;
12
+ export declare const Disabled: Story;
13
+ export declare const Highlighted: Story;
14
+ export declare const OutlineHighlighted: Story;
15
+ export declare const Back: Story;
16
+ export declare const Small: Story;
17
+ export declare const DangerOutline: Story;
18
+ export declare const TransparentBackground: Story;
19
+ export declare const NoStyle: Story;
20
+ export declare const EventKeyPresses: Story;
64
21
  //# sourceMappingURL=Button.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.stories.d.ts","sourceRoot":"","sources":["../../../src/packages/core/Button/Button.stories.tsx"],"names":[],"mappings":";;AAKA,wBAGS;AAET,eAAO,MAAM,OAAO;;;CAGnB,CAAA;AAED,eAAO,MAAM,UAAU;;;CAGtB,CAAA;AAED,eAAO,MAAM,SAAS;;;CAGrB,CAAA;AAED,eAAO,MAAM,OAAO;;;CAGnB,CAAA;AAED,eAAO,MAAM,MAAM;;;CAGlB,CAAA;AAED,eAAO,MAAM,OAAO;;;CAGnB,CAAA;AAED,eAAO,MAAM,QAAQ;;;CAGpB,CAAA;AAED,eAAO,MAAM,WAAW;;;CAGvB,CAAA;AAED,eAAO,MAAM,kBAAkB;;;CAO9B,CAAA;AAED,eAAO,MAAM,IAAI;;;CAGhB,CAAA;AAED,eAAO,MAAM,KAAK;;;CAGjB,CAAA;AAED,eAAO,MAAM,aAAa;;;CAOzB,CAAA;AAED,eAAO,MAAM,qBAAqB;;;CAOjC,CAAA;AAED,eAAO,MAAM,OAAO;;;CAQnB,CAAA;AAED,eAAO,MAAM,eAAe;;;CAe3B,CAAA"}
1
+ {"version":3,"file":"Button.stories.d.ts","sourceRoot":"","sources":["../../../src/packages/core/Button/Button.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,MAAM,MAAM,GAAG,CAAA;AAGtB,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,MAAM,CAG7B,CAAA;AAED,eAAe,IAAI,CAAA;AAEnB,aAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,MAAM,CAAC,CAAA;AAEpC,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAMxB,CAAA;AAID,eAAO,MAAM,SAAS,EAAE,KAMvB,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAMpB,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAMzB,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,KAOhC,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,KAMlB,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,KAMnB,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAO3B,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,KAOnC,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,KAW7B,CAAA"}
@@ -1,121 +1,123 @@
1
1
  import Button from '.';
2
2
  import IconCaretDown from '../../icons/General/IconCaretDown';
3
- import IconEdit from '../../icons/General/IconEdit';
4
3
  import { jsx as _jsx } from "react/jsx-runtime";
5
- export default {
4
+ const meta = {
6
5
  title: 'Core/Button',
7
6
  component: Button
8
7
  };
8
+ export default meta;
9
9
  export const Default = {
10
- render: () => /*#__PURE__*/_jsx(Button, {
11
- children: "Standard button"
12
- }),
10
+ args: {
11
+ children: 'Standard button'
12
+ },
13
13
  name: 'Default'
14
14
  };
15
15
  export const IconBefore = {
16
- render: () => /*#__PURE__*/_jsx(Button, {
16
+ args: {
17
17
  beforeIcon: /*#__PURE__*/_jsx(IconCaretDown, {}),
18
- children: "Standard button"
19
- }),
18
+ children: 'Standard button'
19
+ },
20
20
  name: 'Icon before'
21
21
  };
22
+
23
+ // Rewrite all stories to use args instead of render
24
+
22
25
  export const IconAfter = {
23
- render: () => /*#__PURE__*/_jsx(Button, {
26
+ args: {
24
27
  afterIcon: /*#__PURE__*/_jsx(IconCaretDown, {}),
25
- children: "Standard button"
26
- }),
28
+ children: 'Standard button'
29
+ },
27
30
  name: 'Icon after'
28
31
  };
29
32
  export const Success = {
30
- render: () => /*#__PURE__*/_jsx(Button, {
33
+ args: {
31
34
  success: true,
32
- children: "Success button"
33
- }),
35
+ children: 'Success button'
36
+ },
34
37
  name: 'Success'
35
38
  };
36
39
  export const Danger = {
37
- render: () => /*#__PURE__*/_jsx(Button, {
40
+ args: {
38
41
  danger: true,
39
- children: "Danger button"
40
- }),
42
+ children: 'Danger button'
43
+ },
41
44
  name: 'Danger'
42
45
  };
43
46
  export const Loading = {
44
- render: () => /*#__PURE__*/_jsx(Button, {
47
+ args: {
45
48
  loading: true,
46
- children: "Loading button"
47
- }),
49
+ children: 'Loading button'
50
+ },
48
51
  name: 'Loading'
49
52
  };
50
53
  export const Disabled = {
51
- render: () => /*#__PURE__*/_jsx(Button, {
54
+ args: {
52
55
  disabled: true,
53
- children: "Disabled button"
54
- }),
56
+ children: 'Disabled button'
57
+ },
55
58
  name: 'Disabled'
56
59
  };
57
60
  export const Highlighted = {
58
- render: () => /*#__PURE__*/_jsx(Button, {
61
+ args: {
59
62
  highlight: true,
60
- children: "Hightlighted button"
61
- }),
63
+ children: 'Hightlighted button'
64
+ },
62
65
  name: 'Highlighted'
63
66
  };
64
67
  export const OutlineHighlighted = {
65
- render: () => /*#__PURE__*/_jsx(Button, {
68
+ args: {
66
69
  highlight: true,
67
70
  outline: true,
68
- children: "Hightlighted outline button"
69
- }),
71
+ children: 'Hightlighted outline button'
72
+ },
70
73
  name: 'Outline highlighted'
71
74
  };
72
75
  export const Back = {
73
- render: () => /*#__PURE__*/_jsx(Button, {
76
+ args: {
74
77
  back: true,
75
- children: "Go back"
76
- }),
78
+ children: 'Go back'
79
+ },
77
80
  name: 'Back'
78
81
  };
79
82
  export const Small = {
80
- render: () => /*#__PURE__*/_jsx(Button, {
83
+ args: {
81
84
  small: true,
82
- children: "Small"
83
- }),
85
+ children: 'Small button'
86
+ },
84
87
  name: 'Small'
85
88
  };
86
89
  export const DangerOutline = {
87
- render: () => /*#__PURE__*/_jsx(Button, {
90
+ args: {
88
91
  danger: true,
89
92
  outline: true,
90
- children: "Danger outline"
91
- }),
93
+ children: 'Danger outline'
94
+ },
92
95
  name: 'Danger outline'
93
96
  };
94
97
  export const TransparentBackground = {
95
- render: () => /*#__PURE__*/_jsx(Button, {
98
+ args: {
96
99
  outline: true,
97
100
  transparentBg: true,
98
- children: "Danger outline"
99
- }),
101
+ children: 'Danger outline'
102
+ },
100
103
  name: 'Transparent background'
101
104
  };
102
105
  export const NoStyle = {
103
- render: () => /*#__PURE__*/_jsx(Button, {
106
+ args: {
104
107
  nostyle: true,
105
- focusable: true,
106
- children: /*#__PURE__*/_jsx(IconEdit, {})
107
- }),
108
+ children: 'No style'
109
+ },
108
110
  name: 'No style'
109
111
  };
110
112
  export const EventKeyPresses = {
111
- render: () => /*#__PURE__*/_jsx(Button, {
113
+ args: {
112
114
  onEnterKeyPress: () => console.log('Enter pressed'),
113
115
  onEscapeKeyPress: () => console.log('Escape pressed'),
114
116
  onCustomKeyPress: {
115
117
  key: 'E',
116
118
  action: e => console.log('Key pressed', e.key)
117
119
  },
118
- children: "Actionlistener button"
119
- }),
120
+ children: 'Actionlistener button'
121
+ },
120
122
  name: 'Event key presses'
121
123
  };
@@ -1,34 +1,33 @@
1
1
  /** @jsxImportSource @emotion/react */
2
2
  import React from 'react';
3
3
  import { SerializedStyles } from '@emotion/react';
4
- declare type IProps = React.HTMLAttributes<HTMLDivElement> & {
4
+ declare const Card: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
5
5
  /** Set to true for hover effect */
6
- withhover?: boolean;
6
+ withhover?: boolean | undefined;
7
7
  /** To set primary background color*/
8
- primary?: boolean;
8
+ primary?: boolean | undefined;
9
9
  /** Gray background color */
10
- gray?: boolean;
10
+ gray?: boolean | undefined;
11
11
  /** OnClick callback function */
12
- onClick?: () => void;
12
+ onClick?: (() => void) | undefined;
13
13
  /** No padding */
14
- noPadding?: boolean;
14
+ noPadding?: boolean | undefined;
15
15
  /** Large padding around edges */
16
- largePadding?: boolean;
16
+ largePadding?: boolean | undefined;
17
17
  /** Height of card box */
18
- height?: number;
18
+ height?: number | undefined;
19
19
  /** Set to true for no background color */
20
- nobackground?: boolean;
20
+ nobackground?: boolean | undefined;
21
21
  /** Set to true to add shadow to Card border */
22
- shadow?: boolean;
22
+ shadow?: boolean | undefined;
23
23
  /** Sets overflow visible */
24
- overflowvisible?: boolean;
24
+ overflowvisible?: boolean | undefined;
25
25
  /** Override with custom CSS */
26
- css?: SerializedStyles;
26
+ css?: SerializedStyles | undefined;
27
27
  /** Classname prop */
28
- className?: string;
28
+ className?: string | undefined;
29
29
  /** Children */
30
30
  children?: React.ReactNode | React.ReactNode[];
31
- };
32
- declare const Card: React.FC<IProps>;
31
+ } & React.RefAttributes<HTMLDivElement>>;
33
32
  export default Card;
34
33
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/packages/core/Card/index.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAIjD,aAAK,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG;IACnD,mCAAmC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,qCAAqC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,gCAAgC;IAChC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,iBAAiB;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,iCAAiC;IACjC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,0CAA0C;IAC1C,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,6BAA6B;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,+BAA+B;IAC/B,GAAG,CAAC,EAAE,gBAAgB,CAAA;IACtB,qBAAqB;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe;IACf,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,CAAA;CAC/C,CAAA;AAED,QAAA,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAiC1B,CAAA;AAED,eAAe,IAAI,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/packages/core/Card/index.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAiCjD,QAAA,MAAM,IAAI;IA5BR,mCAAmC;;IAEnC,qCAAqC;;IAErC,4BAA4B;;IAE5B,gCAAgC;qBAChB,IAAI;IACpB,iBAAiB;;IAEjB,iCAAiC;;IAEjC,yBAAyB;;IAEzB,0CAA0C;;IAE1C,+CAA+C;;IAE/C,6BAA6B;;IAE7B,+BAA+B;;IAE/B,qBAAqB;;IAErB,eAAe;eACJ,MAAM,SAAS,GAAG,MAAM,SAAS,EAAE;wCAuC/C,CAAA;AAED,eAAe,IAAI,CAAA"}
@@ -3,10 +3,10 @@ import React from 'react';
3
3
  import { styles } from './styles';
4
4
  import { Key } from '../../enums/Keyboard';
5
5
  import { jsx as _jsx } from "@emotion/react/jsx-runtime";
6
- const Card = ({
6
+ const Card = /*#__PURE__*/React.forwardRef(({
7
7
  className,
8
8
  ...props
9
- }) => {
9
+ }, ref) => {
10
10
  const handleOnKeyPress = e => {
11
11
  if (e.key === Key.enter || e.key === Key.space) {
12
12
  if (props.onClick) {
@@ -15,6 +15,7 @@ const Card = ({
15
15
  }
16
16
  };
17
17
  return _jsx("div", {
18
+ ref: ref,
18
19
  css: theme => [styles.default(theme), props.shadow && styles.shadow(theme), props.withhover && styles.withHover(theme), props.primary && styles.primary(theme), props.gray && styles.gray, props.noPadding && styles.noPadding, props.height && styles.height(props.height), props.nobackground && styles.nobackground, props.largePadding && styles.largePadding, props.overflowvisible && styles.overflowvisible, props.css && props.css],
19
20
  tabIndex: props.onClick ? 0 : undefined,
20
21
  onClick: props.onClick,
@@ -23,5 +24,5 @@ const Card = ({
23
24
  ...props,
24
25
  children: props.children
25
26
  });
26
- };
27
+ });
27
28
  export default Card;
@@ -1,10 +1,8 @@
1
1
  /** @jsxImportSource @emotion/react */
2
2
  import React from 'react';
3
- interface IProps {
3
+ interface IProps extends React.HTMLAttributes<HTMLInputElement> {
4
4
  /** Type of checkbox */
5
5
  type?: 'sharp' | 'subtle';
6
- /** Aria-label for checkbox if children is not set */
7
- 'aria-label'?: string;
8
6
  /** Content within the checkbox. */
9
7
  children?: NonNullable<React.ReactNode>;
10
8
  /** Name of checkbox */
@@ -23,6 +21,8 @@ interface IProps {
23
21
  child?: boolean;
24
22
  /** Add classname */
25
23
  className?: string;
24
+ /** ID for label association */
25
+ id?: string;
26
26
  /** CB when checkbox changes */
27
27
  onChange?: (e: React.ChangeEvent<HTMLInputElement>) => any;
28
28
  /** cb for onclick, if one for instance wants to stop propogation */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/packages/core/Checkbox/index.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,KAA8B,MAAM,OAAO,CAAA;AAGlD,UAAU,MAAM;IACd,uBAAuB;IACvB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;IACzB,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IACvC,uBAAuB;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,sBAAsB;IACtB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,2DAA2D;IAC3D,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,aAAa;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,6BAA6B;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,oBAAoB;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,GAAG,CAAA;IAC1D,oEAAoE;IACpE,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,gBAAgB,EAAE,UAAU,CAAC,KAAK,GAAG,CAAA;CACrE;AAED,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAwC9B,CAAA;AAED,eAAe,QAAQ,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/packages/core/Checkbox/index.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,KAA8B,MAAM,OAAO,CAAA;AAGlD,UAAU,MAAO,SAAQ,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC;IAC7D,uBAAuB;IACvB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;IACzB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IACvC,uBAAuB;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,sBAAsB;IACtB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,2DAA2D;IAC3D,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,aAAa;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,6BAA6B;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,oBAAoB;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,+BAA+B;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,GAAG,CAAA;IAC1D,oEAAoE;IACpE,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,gBAAgB,EAAE,UAAU,CAAC,KAAK,GAAG,CAAA;CACrE;AAED,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAiE9B,CAAA;AAED,eAAe,QAAQ,CAAA"}