dibk-design 7.7.1 → 8.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/README.md +66 -0
  2. package/dist/dibk-design.css +1 -0
  3. package/dist/favicon.ico +0 -0
  4. package/dist/index.cjs.js +21 -0
  5. package/dist/index.cjs.js.map +1 -0
  6. package/dist/index.es.js +2421 -0
  7. package/dist/index.es.js.map +1 -0
  8. package/dist/index.html +38 -0
  9. package/dist/manifest.json +15 -0
  10. package/dist/robots.txt +3 -0
  11. package/package.json +23 -27
  12. package/dist/assets/fonts/PPMori-Bold.otf +0 -0
  13. package/dist/assets/fonts/PPMori-Book.otf +0 -0
  14. package/dist/assets/fonts/PPMori-ExtraBold.otf +0 -0
  15. package/dist/assets/fonts/PPMori-Light.otf +0 -0
  16. package/dist/assets/fonts/PPMori-Medium.otf +0 -0
  17. package/dist/assets/fonts/PPMori-Regular.otf +0 -0
  18. package/dist/assets/fonts/PPMori-RegularItalic.otf +0 -0
  19. package/dist/assets/fonts/PPMori-SemiBold.otf +0 -0
  20. package/dist/assets/png/dibk-logo.png +0 -0
  21. package/dist/assets/svg/arbeidstilsynet-logo.svg +0 -1
  22. package/dist/assets/svg/asterisk.svg +0 -1
  23. package/dist/assets/svg/checkmark-symbol.svg +0 -8
  24. package/dist/assets/svg/dibk-logo-base64.js +0 -7
  25. package/dist/assets/svg/dibk-logo-mobile.svg +0 -91
  26. package/dist/assets/svg/dibk-logo.svg +0 -52
  27. package/dist/assets/svg/error-sign.svg +0 -15
  28. package/dist/assets/svg/info-sign.svg +0 -1
  29. package/dist/assets/svg/spinner.svg +0 -57
  30. package/dist/assets/svg/x-symbol.svg +0 -1
  31. package/dist/components/Accordion.js +0 -64
  32. package/dist/components/Accordion.module.scss +0 -190
  33. package/dist/components/Button.js +0 -118
  34. package/dist/components/Button.module.scss +0 -290
  35. package/dist/components/CheckBoxIcon.js +0 -42
  36. package/dist/components/CheckBoxIcon.module.scss +0 -69
  37. package/dist/components/CheckBoxInput.js +0 -70
  38. package/dist/components/CheckBoxInput.module.scss +0 -53
  39. package/dist/components/CheckBoxList.js +0 -55
  40. package/dist/components/CheckBoxList.module.scss +0 -25
  41. package/dist/components/CheckBoxListItem.js +0 -61
  42. package/dist/components/CheckBoxListItem.module.scss +0 -84
  43. package/dist/components/Container.js +0 -24
  44. package/dist/components/Container.module.scss +0 -15
  45. package/dist/components/ContentBox.js +0 -56
  46. package/dist/components/ContentBox.module.scss +0 -60
  47. package/dist/components/DescriptionDetails.js +0 -32
  48. package/dist/components/DescriptionDetails.module.scss +0 -22
  49. package/dist/components/DescriptionList.js +0 -47
  50. package/dist/components/DescriptionList.module.scss +0 -15
  51. package/dist/components/DescriptionTerm.js +0 -32
  52. package/dist/components/DescriptionTerm.module.scss +0 -30
  53. package/dist/components/Dialog.js +0 -86
  54. package/dist/components/Dialog.module.scss +0 -178
  55. package/dist/components/DragAndDropFileInput.js +0 -142
  56. package/dist/components/DragAndDropFileInput.module.scss +0 -38
  57. package/dist/components/ErrorBox.js +0 -33
  58. package/dist/components/ErrorBox.module.scss +0 -68
  59. package/dist/components/ErrorMessage.js +0 -37
  60. package/dist/components/ErrorMessage.module.scss +0 -30
  61. package/dist/components/Footer.js +0 -16
  62. package/dist/components/Footer.module.scss +0 -21
  63. package/dist/components/Header.js +0 -42
  64. package/dist/components/Header.module.scss +0 -79
  65. package/dist/components/InfoBox.js +0 -23
  66. package/dist/components/InfoBox.module.scss +0 -44
  67. package/dist/components/InputField.js +0 -137
  68. package/dist/components/InputField.module.scss +0 -88
  69. package/dist/components/Label.js +0 -40
  70. package/dist/components/Label.module.scss +0 -19
  71. package/dist/components/Lead.js +0 -31
  72. package/dist/components/Lead.module.scss +0 -13
  73. package/dist/components/List.js +0 -46
  74. package/dist/components/List.module.scss +0 -12
  75. package/dist/components/ListItem.js +0 -27
  76. package/dist/components/ListItem.module.scss +0 -10
  77. package/dist/components/LoadingAnimation.js +0 -26
  78. package/dist/components/LoadingAnimation.module.scss +0 -28
  79. package/dist/components/NavigationBar.js +0 -146
  80. package/dist/components/NavigationBar.module.scss +0 -474
  81. package/dist/components/NavigationBarListItem.js +0 -24
  82. package/dist/components/PDF.js +0 -14
  83. package/dist/components/PDF.scss +0 -765
  84. package/dist/components/Paper.js +0 -24
  85. package/dist/components/Paper.module.scss +0 -17
  86. package/dist/components/ProgressBar.js +0 -32
  87. package/dist/components/ProgressBar.module.scss +0 -30
  88. package/dist/components/RadioButtonIcon.js +0 -34
  89. package/dist/components/RadioButtonIcon.module.scss +0 -49
  90. package/dist/components/RadioButtonInput.js +0 -68
  91. package/dist/components/RadioButtonInput.module.scss +0 -53
  92. package/dist/components/RadioButtonList.js +0 -55
  93. package/dist/components/RadioButtonList.module.scss +0 -25
  94. package/dist/components/RadioButtonListItem.js +0 -59
  95. package/dist/components/RadioButtonListItem.module.scss +0 -84
  96. package/dist/components/Select.js +0 -224
  97. package/dist/components/Select.module.scss +0 -118
  98. package/dist/components/Table.js +0 -31
  99. package/dist/components/Table.module.scss +0 -65
  100. package/dist/components/Textarea.js +0 -105
  101. package/dist/components/Textarea.module.scss +0 -73
  102. package/dist/components/Theme.js +0 -138
  103. package/dist/components/Theme.module.scss +0 -103
  104. package/dist/components/ThemeProvider.js +0 -24
  105. package/dist/components/ThemeProvider.module.scss +0 -24
  106. package/dist/components/ToggleNavigationButton.js +0 -44
  107. package/dist/components/ToggleNavigationButton.module.scss +0 -34
  108. package/dist/components/WizardNavigation/Step.js +0 -66
  109. package/dist/components/WizardNavigation/Step.module.scss +0 -175
  110. package/dist/components/WizardNavigation.js +0 -56
  111. package/dist/components/WizardNavigation.module.scss +0 -25
  112. package/dist/functions/generators.js +0 -16
  113. package/dist/functions/helpers.js +0 -112
  114. package/dist/functions/theme.js +0 -18
  115. package/dist/index.js +0 -279
  116. package/dist/style/abstracts/mixins/_animation.scss +0 -6
  117. package/dist/style/abstracts/mixins/_appearance.scss +0 -5
  118. package/dist/style/abstracts/mixins/_border-radius.scss +0 -31
  119. package/dist/style/abstracts/mixins/_box-shadow.scss +0 -5
  120. package/dist/style/abstracts/mixins/_box-sizing.scss +0 -5
  121. package/dist/style/abstracts/mixins/_calc.scss +0 -5
  122. package/dist/style/abstracts/mixins/_keyframes.scss +0 -14
  123. package/dist/style/abstracts/mixins/_opacity.scss +0 -5
  124. package/dist/style/abstracts/mixins/_placeholder.scss +0 -17
  125. package/dist/style/abstracts/mixins/_scrollbar.scss +0 -26
  126. package/dist/style/abstracts/mixins/_transform.scss +0 -6
  127. package/dist/style/abstracts/mixins/_transition.scss +0 -34
  128. package/dist/style/abstracts/variables/_colors.scss +0 -33
  129. package/dist/style/abstracts/variables/_sizes.scss +0 -1
  130. package/dist/style/abstracts/variables/_transitions.scss +0 -2
  131. package/dist/style/abstracts/variables/_typography.scss +0 -1
  132. package/dist/style/abstracts/variables/_viewports.scss +0 -14
  133. package/dist/style/base/_fonts.scss +0 -57
  134. package/dist/style/base/_reset.scss +0 -15
  135. package/dist/style/base/_typography.scss +0 -10
  136. package/dist/style/layout/_containers.scss +0 -11
  137. package/dist/style/pdf.css +0 -637
  138. package/dist/style/pdf.css.map +0 -1
@@ -1,15 +0,0 @@
1
- .descriptionList {
2
- margin: 0;
3
- padding: 0;
4
- margin-bottom: 20px;
5
- font-size: 16px;
6
- list-style: var(--listStyle);
7
- &[style*="--title-width"] {
8
- display: flex;
9
- flex-flow: row wrap;
10
- align-items: end;
11
- }
12
- &.compact {
13
- margin-left: 0px;
14
- }
15
- }
@@ -1,32 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
- var _propTypes = _interopRequireDefault(require("prop-types"));
9
- var _helpers = require("../functions/helpers");
10
- var _DescriptionTermModule = _interopRequireDefault(require("./DescriptionTerm.module.scss"));
11
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
- const DescriptionTerm = _ref => {
13
- let {
14
- compact,
15
- titleWidth,
16
- children
17
- } = _ref;
18
- return _react.default.createElement("dt", {
19
- className: (0, _helpers.classNameArrayToClassNameString)([_DescriptionTermModule.default.descriptionTerm, compact && _DescriptionTermModule.default.compact]),
20
- style: {
21
- "--title-width": titleWidth || null
22
- }
23
- }, children);
24
- };
25
- DescriptionTerm.propTypes = {
26
- compact: _propTypes.default.bool,
27
- titleWidth: _propTypes.default.string
28
- };
29
- DescriptionTerm.defaultProps = {
30
- compact: false
31
- };
32
- var _default = exports.default = DescriptionTerm;
@@ -1,30 +0,0 @@
1
- // Variables
2
- @use "../style/abstracts/variables/colors";
3
-
4
- .descriptionTerm {
5
- font-size: 16px;
6
- list-style: var(--listStyle);
7
- color: var(--color-primary, colors.$color-primary);
8
- margin: 0;
9
- font-weight: bold;
10
- &:not(.compact) {
11
- line-height: 1.6;
12
- }
13
- &.compact {
14
- line-height: 1.4;
15
- }
16
- &:not([style*="--title-width"]) {
17
- display: inline;
18
- &::before {
19
- display: block;
20
- content: "";
21
- }
22
- &::after {
23
- display: inline;
24
- content: " ";
25
- }
26
- }
27
- &[style*="--title-width"] {
28
- width: var(--title-width);
29
- }
30
- }
@@ -1,86 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
8
- var _propTypes = _interopRequireDefault(require("prop-types"));
9
- var _xSymbol = _interopRequireDefault(require("../assets/svg/x-symbol.svg?url"));
10
- var _DialogModule = _interopRequireDefault(require("./Dialog.module.scss"));
11
- var _helpers = require("../functions/helpers");
12
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
14
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
- const Dialog = props => {
16
- var _props$attachTo, _props$maxWidth;
17
- const dialogRef = (0, _react.useRef)();
18
- const dialogContainerRef = (0, _react.useRef)();
19
- const dialogContentRef = (0, _react.useCallback)(element => {
20
- if (!!element) {
21
- (0, _helpers.addFocusTrapInsideElement)(element);
22
- }
23
- return element;
24
- }, []);
25
- (0, _react.useEffect)(() => {
26
- const keyDownFunction = event => {
27
- switch (event.keyCode) {
28
- case 27:
29
- if (props.onClickOutside) props.onClickOutside();
30
- break;
31
- default:
32
- return null;
33
- }
34
- };
35
- const handleClickOutside = event => {
36
- if (dialogContainerRef !== null && dialogContainerRef !== void 0 && dialogContainerRef.current && !dialogContainerRef.current.contains(event.target)) {
37
- props.onClickOutside();
38
- }
39
- };
40
- document.addEventListener("mousedown", handleClickOutside);
41
- document.addEventListener("keydown", keyDownFunction, false);
42
- }, [props, dialogContainerRef]);
43
- (0, _react.useEffect)(() => {
44
- dialogRef.current.close();
45
- if (!props.hidden) {
46
- props.modal ? dialogRef.current.showModal() : dialogRef.current.show();
47
- }
48
- }, [dialogRef, props.hidden, props.modal]);
49
- const sideBarClassNames = ((_props$attachTo = props.attachTo) === null || _props$attachTo === void 0 ? void 0 : _props$attachTo.length) && (0, _helpers.classNameArrayToClassNameString)([_DialogModule.default.isSidebar, _DialogModule.default[props.attachTo]]);
50
- const dialogContentStyleProps = {
51
- "--max-width": (props === null || props === void 0 || (_props$maxWidth = props.maxWidth) === null || _props$maxWidth === void 0 ? void 0 : _props$maxWidth.length) && props.maxWidth
52
- };
53
- return _react.default.createElement("dialog", {
54
- className: (0, _helpers.classNameArrayToClassNameString)([_DialogModule.default.dialog, sideBarClassNames]),
55
- ref: dialogRef
56
- }, _react.default.createElement("div", {
57
- ref: dialogContainerRef,
58
- className: _DialogModule.default.dialogContainer,
59
- style: dialogContentStyleProps
60
- }, _react.default.createElement("div", {
61
- ref: dialogContentRef,
62
- className: (0, _helpers.classNameArrayToClassNameString)([_DialogModule.default.dialogContent, props.noPadding && _DialogModule.default.noPadding])
63
- }, props.closeButton ? _react.default.createElement("button", {
64
- "aria-label": "Lukk dialog",
65
- onClick: props.onClickOutside,
66
- className: (0, _helpers.classNameArrayToClassNameString)([_DialogModule.default.closeButton, props.noPadding && _DialogModule.default.noPadding])
67
- }, _react.default.createElement("img", {
68
- src: _xSymbol.default,
69
- alt: ""
70
- })) : null, _react.default.createElement("div", {
71
- "aria-live": "assertive",
72
- role: "dialog"
73
- }, props.children))));
74
- };
75
- Dialog.propTypes = {
76
- maxWidth: _propTypes.default.string,
77
- noPadding: _propTypes.default.bool,
78
- closeButton: _propTypes.default.bool,
79
- onClickOutside: _propTypes.default.func.isRequired,
80
- modal: _propTypes.default.bool
81
- };
82
- Dialog.defaultProps = {
83
- maxWidth: "none",
84
- modal: false
85
- };
86
- var _default = exports.default = Dialog;
@@ -1,178 +0,0 @@
1
- // Mixins
2
- @use "../style/abstracts/mixins/calc";
3
-
4
- // Variables
5
- @use "../style/abstracts/variables/colors";
6
- @use "../style/abstracts/variables/viewports";
7
-
8
- @keyframes modalInVertical {
9
- 0% {
10
- opacity: 0;
11
- transform: translateY(2em);
12
- }
13
- }
14
-
15
- @keyframes modalInHorizontalRight {
16
- 0% {
17
- opacity: 0;
18
- transform: translateX(2em);
19
- }
20
- }
21
-
22
- @keyframes modalInHorizontalLeft {
23
- 0% {
24
- opacity: 0;
25
- transform: translateX(-2em);
26
- }
27
- }
28
-
29
- .dialog {
30
- &::backdrop {
31
- background: color-mix(in srgb, var(--color-primary, colors.$color-primary), transparent 60%);
32
- }
33
- &[open] {
34
- border: none;
35
- background: none;
36
- display: flex;
37
- max-height: none;
38
- max-width: none;
39
- top: 0;
40
- bottom: 0;
41
- left: 0;
42
- position: fixed;
43
- .dialogContainer {
44
- display: flex;
45
- flex-wrap: wrap;
46
- overflow: auto;
47
- .dialogContent {
48
- background-color: #fff;
49
- width: 100%;
50
- }
51
- .dialogContent {
52
- position: relative;
53
- }
54
- .closeButton {
55
- background: none;
56
- border: none;
57
- color: var(--color-primary, colors.$color-primary);
58
- display: inline-block;
59
- position: absolute;
60
- cursor: pointer;
61
- &:hover {
62
- text-decoration: none;
63
- }
64
- img {
65
- width: 17px;
66
- height: 17px;
67
- }
68
- }
69
- }
70
- &:not(.isSidebar) {
71
- align-items: center;
72
- justify-content: center;
73
- padding: 8px 28px;
74
- @media (min-width: viewports.$screen-md) {
75
- padding: 36px;
76
- }
77
- .dialogContainer {
78
- animation: 1000ms cubic-bezier(0.22, 1, 0.36, 1) 0s 1 normal none running modalInVertical;
79
- max-height: 90vh;
80
- .dialogContent {
81
- &:not(.noPadding) {
82
- padding: 30px 15px;
83
- @media only screen and (min-width: viewports.$screen-sm) {
84
- padding: 60px 40px;
85
- }
86
- }
87
- }
88
- }
89
- .closeButton {
90
- &:not(.noPadding) {
91
- right: 5px;
92
- top: 8px;
93
- @media only screen and (min-width: viewports.$screen-sm) {
94
- right: 10px;
95
- top: 13px;
96
- }
97
- }
98
- &.noPadding {
99
- right: 0;
100
- top: 0;
101
- }
102
- }
103
- }
104
- &.isSidebar {
105
- padding: 0;
106
- height: 100vh;
107
- .dialogContainer {
108
- height: 100%;
109
- width: var(--max-width, auto);
110
- max-width: 100vw;
111
- .dialogContent {
112
- &:not(.noPadding) {
113
- padding: 24px;
114
- }
115
- }
116
- }
117
- .closeButton {
118
- z-index: 2;
119
- right: 10px;
120
- top: 13px;
121
- }
122
- &.left {
123
- margin: 0 auto 0 0;
124
- .dialogContainer {
125
- justify-content: left;
126
- animation: 1000ms cubic-bezier(0.22, 1, 0.36, 1) 0s 1 normal none running modalInHorizontalLeft;
127
- }
128
- }
129
- &.right {
130
- margin: 0 0 0 auto;
131
- .dialogContainer {
132
- justify-content: right;
133
- animation: 1000ms cubic-bezier(0.22, 1, 0.36, 1) 0s 1 normal none running modalInHorizontalRight;
134
- }
135
- }
136
- }
137
- }
138
- }
139
-
140
- .dialogOverlay {
141
- width: 0;
142
- height: 0;
143
- border: none;
144
- position: absolute;
145
- padding: 0;
146
- overflow: hidden;
147
-
148
- &[open] {
149
- position: fixed;
150
- width: 100%;
151
- height: 100%;
152
- top: 0;
153
- left: 0;
154
- z-index: 2;
155
- }
156
-
157
- &:not(.isSidebar) {
158
- align-content: center;
159
- justify-content: center;
160
-
161
- .dialogContent {
162
- @include calc.calc("max-height", "100% - 128px");
163
- width: 100%;
164
- max-width: var(--max-width, 540px);
165
- }
166
- }
167
-
168
- .dialogContent {
169
- background-color: #fff;
170
- overflow: auto;
171
- position: relative;
172
-
173
- @media (min-width: viewports.$screen-md) {
174
- @include calc.calc("width", "100% - 128px");
175
- max-height: 100%;
176
- }
177
- }
178
- }
@@ -1,142 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
8
- var _propTypes = _interopRequireDefault(require("prop-types"));
9
- var _Button = _interopRequireDefault(require("./Button"));
10
- var _ErrorMessage = _interopRequireDefault(require("./ErrorMessage"));
11
- var _Label = _interopRequireDefault(require("./Label"));
12
- var _asterisk = _interopRequireDefault(require("../assets/svg/asterisk.svg?url"));
13
- var _DragAndDropFileInputModule = _interopRequireDefault(require("./DragAndDropFileInput.module.scss"));
14
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
18
- const DragAndDropFileInput = props => {
19
- var _props$errorMessage, _props$ariaDescribed;
20
- const [highlight, setHighlight] = (0, _react.useState)(false);
21
- const containerElementRef = (0, _react.useRef)();
22
- const fileInputElementRef = (0, _react.useRef)();
23
- const preventDefaults = e => {
24
- e.preventDefault();
25
- e.stopPropagation();
26
- };
27
- const renderValueAsText = (value, defaultContent) => {
28
- return value ? value : defaultContent;
29
- };
30
- const handleAddButtonOnClick = () => {
31
- fileInputElementRef.current.click();
32
- };
33
- const getErrorElementId = () => {
34
- return "".concat(props.id, "-errorMessage");
35
- };
36
- const inputElementProps = {
37
- id: props.id,
38
- "aria-describedby": props.hasErrors && !!((_props$errorMessage = props.errorMessage) !== null && _props$errorMessage !== void 0 && _props$errorMessage.length) ? getErrorElementId() : !!((_props$ariaDescribed = props["aria-describedby"]) !== null && _props$ariaDescribed !== void 0 && _props$ariaDescribed.length) ? props["aria-describedby"] : null,
39
- "aria-invalid": props.hasErrors ? "true" : null,
40
- name: props.name,
41
- required: props.required
42
- };
43
- let buttonContent;
44
- if (props.selectedFileName) {
45
- buttonContent = props.buttonContentWhenSelectedFile ? props.buttonContentWhenSelectedFile : props.buttonContent;
46
- } else {
47
- buttonContent = props.buttonContent;
48
- }
49
- (0, _react.useEffect)(() => {
50
- const handleFiles = files => {
51
- props.onDragAndDropChange(files);
52
- };
53
- const handleDrop = e => {
54
- const files = e.dataTransfer.files;
55
- handleFiles(files);
56
- };
57
- if (containerElementRef !== null && containerElementRef !== void 0 && containerElementRef.current) {
58
- containerElementRef.current.addEventListener("dragenter", preventDefaults, false);
59
- containerElementRef.current.addEventListener("dragover", preventDefaults, false);
60
- containerElementRef.current.addEventListener("dragleave", preventDefaults, false);
61
- containerElementRef.current.addEventListener("drop", preventDefaults, false);
62
- containerElementRef.current.addEventListener("dragenter", () => {
63
- setHighlight(true);
64
- }, false);
65
- containerElementRef.current.addEventListener("dragover", () => {
66
- setHighlight(true);
67
- }, false);
68
- containerElementRef.current.addEventListener("dragleave", () => {
69
- setHighlight(false);
70
- }, false);
71
- containerElementRef.current.addEventListener("drop", () => {
72
- setHighlight(false);
73
- }, false);
74
- containerElementRef.current.addEventListener("drop", handleDrop, false);
75
- return () => {
76
- containerElementRef.current.removeEventListener("dragenter", preventDefaults, false);
77
- containerElementRef.current.removeEventListener("dragover", preventDefaults, false);
78
- containerElementRef.current.removeEventListener("dragleave", preventDefaults, false);
79
- containerElementRef.current.removeEventListener("drop", preventDefaults, false);
80
- containerElementRef.current.removeEventListener("dragenter", () => setHighlight(true), false);
81
- containerElementRef.current.removeEventListener("dragover", () => setHighlight(true), false);
82
- containerElementRef.current.removeEventListener("dragleave", () => setHighlight(false), false);
83
- containerElementRef.current.removeEventListener("drop", () => setHighlight(false), false);
84
- containerElementRef.current.removeEventListener("drop", handleDrop, false);
85
- };
86
- }
87
- }, [props]);
88
- return _react.default.createElement("div", {
89
- className: _DragAndDropFileInputModule.default.dragAndDropFileInput
90
- }, _react.default.createElement(_Label.default, {
91
- htmlFor: props.id
92
- }, props.label, props.required && _react.default.createElement("img", {
93
- src: _asterisk.default,
94
- alt: "",
95
- className: _DragAndDropFileInputModule.default.requiredSymbol
96
- })), _react.default.createElement("div", null, props.children), !props.contentOnly ? _react.default.createElement("div", {
97
- ref: containerElementRef,
98
- className: "".concat(_DragAndDropFileInputModule.default.dragAndDropContainer, " ").concat(highlight ? _DragAndDropFileInputModule.default.highlighted : "")
99
- }, props.selectedFileName ? _react.default.createElement("div", null, _react.default.createElement("span", null, _react.default.createElement("b", null, "Valgt fil:"), " ", props.selectedFileName)) : _react.default.createElement("div", null, "Slipp fil her"), _react.default.createElement("input", _extends({}, inputElementProps, {
100
- ref: fileInputElementRef,
101
- type: "file",
102
- onChange: props.onSelectChange
103
- })), props.buttonContent ? _react.default.createElement(_react.default.Fragment, null, _react.default.createElement("div", null, props.selectedFileName ? "" : "eller klikk på knappen for å velge fil"), _react.default.createElement(_Button.default, {
104
- size: "small",
105
- type: "button",
106
- color: props.buttonColor,
107
- onClick: () => handleAddButtonOnClick(),
108
- content: buttonContent,
109
- hasErrors: props.hasErrors,
110
- "data-transaction-name": props["data-transaction-name"]
111
- })) : null) : null, props.contentOnly ? _react.default.createElement("span", null, renderValueAsText(props.selectedFileName, props.defaultContent)) : "", _react.default.createElement(_ErrorMessage.default, {
112
- id: getErrorElementId(),
113
- content: props.errorMessage
114
- }));
115
- };
116
- DragAndDropFileInput.propTypes = {
117
- id: _propTypes.default.string.isRequired,
118
- name: _propTypes.default.string,
119
- onSelectChange: _propTypes.default.func.isRequired,
120
- onDragAndDropChange: _propTypes.default.func.isRequired,
121
- label: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object]))]),
122
- contentOnly: _propTypes.default.bool,
123
- buttonColor: _propTypes.default.string,
124
- buttonContent: _propTypes.default.string,
125
- buttonContentWhenSelectedFile: _propTypes.default.string,
126
- selectedFileName: _propTypes.default.string,
127
- defaultContent: _propTypes.default.string,
128
- hasErrors: _propTypes.default.bool,
129
- errorMessage: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object]))]),
130
- required: _propTypes.default.bool,
131
- "data-transaction-name": _propTypes.default.string
132
- };
133
- DragAndDropFileInput.defaultProps = {
134
- label: "",
135
- contentOnly: false,
136
- buttonColor: "primary",
137
- defaultContent: "",
138
- hasErrors: false,
139
- errorMessage: "",
140
- required: false
141
- };
142
- var _default = exports.default = DragAndDropFileInput;
@@ -1,38 +0,0 @@
1
- // Mixins
2
- @use "../style/abstracts/mixins/transition";
3
-
4
- // Variables
5
- @use "../style/abstracts/variables/colors";
6
-
7
- .dragAndDropFileInput {
8
- .requiredSymbol {
9
- width: 1em;
10
- height: 1em;
11
- font-size: 0.4em;
12
- vertical-align: top;
13
- margin-top: 2px;
14
- }
15
-
16
- .dragAndDropContainer {
17
- @include transition.transition(all 0.1s ease-in-out);
18
- border: 2px dashed var(--color-secondary-light, colors.$color-secondary-light);
19
- border-radius: 20px;
20
- width: 100%;
21
- padding: 20px;
22
- text-align: center;
23
- background-color: #fff;
24
-
25
- input {
26
- display: none;
27
- }
28
-
29
- button {
30
- margin: 14px 0 0;
31
- }
32
-
33
- &.highlighted {
34
- background: var(--color-secondary-x-light, colors.$color-secondary-x-light);
35
- border-color: var(--color-primary, colors.$color-primary);
36
- }
37
- }
38
- }
@@ -1,33 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
- var _propTypes = _interopRequireDefault(require("prop-types"));
9
- var _helpers = require("../functions/helpers");
10
- var _ErrorBoxModule = _interopRequireDefault(require("./ErrorBox.module.scss"));
11
- var _infoSign = _interopRequireDefault(require("../assets/svg/info-sign.svg?url"));
12
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
- const ErrorBox = props => {
14
- return _react.default.createElement("div", {
15
- className: (0, _helpers.classNameArrayToClassNameString)([_ErrorBoxModule.default.errorBoxContainer, _ErrorBoxModule.default[props.type], props.fullScreen && _ErrorBoxModule.default.fullScreen])
16
- }, _react.default.createElement("div", {
17
- className: (0, _helpers.classNameArrayToClassNameString)([_ErrorBoxModule.default.errorBox, props.fullScreen && _ErrorBoxModule.default.fullScreen])
18
- }, _react.default.createElement("img", {
19
- src: _infoSign.default,
20
- alt: "",
21
- className: _ErrorBoxModule.default.infoSign
22
- }), props.children));
23
- };
24
- ErrorBox.propTypes = {
25
- type: _propTypes.default.oneOf(["warning", "error"]),
26
- fullScreen: _propTypes.default.bool
27
- };
28
- ErrorBox.defaultProps = {
29
- children: "",
30
- type: "warning",
31
- fullScreen: false
32
- };
33
- var _default = exports.default = ErrorBox;
@@ -1,68 +0,0 @@
1
- // Variables
2
- @use "../style/abstracts/variables/colors";
3
- @use "../style/abstracts/variables/sizes";
4
- @use "../style/abstracts/variables/typography";
5
- @use "../style/abstracts/variables/viewports";
6
-
7
- @keyframes messageIn {
8
- 0% {
9
- opacity: 0;
10
- transform: translateY(2em);
11
- }
12
- }
13
-
14
- .errorBoxContainer {
15
- font-family: typography.$default-font;
16
- margin: 0;
17
- animation: 1000ms cubic-bezier(0.22, 1, 0.36, 1) 0s 1 normal none running messageIn;
18
- position: relative;
19
- line-height: 24px;
20
- &.warning {
21
- background-color: var(--color-warning-x-light, colors.$color-warning-x-light);
22
- border-color: var(--color-warning, colors.$color-warning);
23
- }
24
- &.error {
25
- background-color: var(--color-error-x-light, colors.$color-error-x-light);
26
- border-color: var(--color-error, colors.$color-error);
27
- }
28
- &.fullScreen {
29
- border-bottom-width: 4px;
30
- border-bottom-style: solid;
31
- }
32
- &:not(.fullScreen) {
33
- border-left-width: 4px;
34
- border-left-style: solid;
35
- }
36
- .errorBox {
37
- padding: 24px 24px 24px calc(1.2em + 48px);
38
- &.fullScreen {
39
- max-width: sizes.$content-width;
40
- margin: auto;
41
- position: relative;
42
- }
43
- .infoSign {
44
- position: absolute;
45
- top: 24px;
46
- left: 24px;
47
- width: 24px;
48
- height: 24px;
49
- display: inline-block;
50
- vertical-align: middle;
51
- }
52
- h1,
53
- h2,
54
- h3,
55
- h4 {
56
- font-size: 20px;
57
- font-weight: 500;
58
- line-height: 1.3;
59
- margin: 0;
60
- @media only screen and (min-width: viewports.$screen-sm) {
61
- font-size: 24px;
62
- }
63
- }
64
- ul {
65
- padding-left: 20px;
66
- }
67
- }
68
- }
@@ -1,37 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
- var _propTypes = _interopRequireDefault(require("prop-types"));
9
- var _ErrorMessageModule = _interopRequireDefault(require("./ErrorMessage.module.scss"));
10
- var _errorSign = _interopRequireDefault(require("../assets/svg/error-sign.svg?url"));
11
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
13
- const ErrorMessage = props => {
14
- var _props$content;
15
- const getErrorElementProps = () => {
16
- var _props$id;
17
- return {
18
- id: !!((_props$id = props.id) !== null && _props$id !== void 0 && _props$id.length) ? props.id : null,
19
- className: _ErrorMessageModule.default.errorMessage
20
- };
21
- };
22
- return props !== null && props !== void 0 && (_props$content = props.content) !== null && _props$content !== void 0 && _props$content.length ? _react.default.createElement("span", _extends({
23
- "aria-live": "polite"
24
- }, getErrorElementProps()), _react.default.createElement("img", {
25
- src: _errorSign.default,
26
- alt: "",
27
- className: _ErrorMessageModule.default.errorSign
28
- }), props.content) : null;
29
- };
30
- ErrorMessage.propTypes = {
31
- id: _propTypes.default.string,
32
- content: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object]))])
33
- };
34
- ErrorMessage.defaultProps = {
35
- content: ""
36
- };
37
- var _default = exports.default = ErrorMessage;