@helsenorge/designsystem-react 12.7.0 → 13.0.0-beta.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 (129) hide show
  1. package/AnchorLink.js +4 -4
  2. package/AnchorLink.js.map +1 -1
  3. package/Button.js +4 -4
  4. package/Button.js.map +1 -1
  5. package/CHANGELOG.md +19 -29
  6. package/Checkbox.js +4 -5
  7. package/Checkbox.js.map +1 -1
  8. package/Close.js +3 -3
  9. package/Close.js.map +1 -1
  10. package/Expander.js +2 -2
  11. package/Expander.js.map +1 -1
  12. package/FormFieldTag.js +1 -2
  13. package/FormFieldTag.js.map +1 -1
  14. package/FormGroup.js +16 -16
  15. package/FormGroup.js.map +1 -1
  16. package/HelpTriggerIcon.js +5 -3
  17. package/HelpTriggerIcon.js.map +1 -1
  18. package/HelpTriggerStandalone.js +3 -3
  19. package/HelpTriggerStandalone.js.map +1 -1
  20. package/Icon.js +2 -3
  21. package/Icon.js.map +1 -1
  22. package/Illustration.js +2 -3
  23. package/Illustration.js.map +1 -1
  24. package/InfoTeaser.js +2 -3
  25. package/InfoTeaser.js.map +1 -1
  26. package/Input.js +9 -10
  27. package/Input.js.map +1 -1
  28. package/Label.js +3 -3
  29. package/Label.js.map +1 -1
  30. package/LinkList.js +4 -4
  31. package/LinkList.js.map +1 -1
  32. package/ListEditMode.js +3 -3
  33. package/ListEditMode.js.map +1 -1
  34. package/RadioButton.js +4 -5
  35. package/RadioButton.js.map +1 -1
  36. package/Select.js +8 -10
  37. package/Select.js.map +1 -1
  38. package/Slider.js +8 -8
  39. package/Slider.js.map +1 -1
  40. package/TabList.js +2 -2
  41. package/TabList.js.map +1 -1
  42. package/Textarea.js +2 -3
  43. package/Textarea.js.map +1 -1
  44. package/__mocks__/usePseudoClasses.js +1 -1
  45. package/__mocks__/usePseudoClasses.js.map +1 -1
  46. package/components/Chip/index.js +3 -3
  47. package/components/Chip/index.js.map +1 -1
  48. package/components/Dropdown/index.js +2 -2
  49. package/components/Dropdown/index.js.map +1 -1
  50. package/components/ExpanderHierarchy/index.js +3 -3
  51. package/components/ExpanderHierarchy/index.js.map +1 -1
  52. package/components/ExpanderList/index.js +4 -5
  53. package/components/ExpanderList/index.js.map +1 -1
  54. package/components/FormFieldTag/FormFieldTag.d.ts +0 -2
  55. package/components/FormGroup/FormGroup.d.ts +2 -1
  56. package/components/HelpExpanderStandalone/index.js +3 -3
  57. package/components/HelpExpanderStandalone/index.js.map +1 -1
  58. package/components/HelpTooltip/index.js +2 -3
  59. package/components/HelpTooltip/index.js.map +1 -1
  60. package/components/HelpTriggerInline/index.js +3 -3
  61. package/components/HelpTriggerInline/index.js.map +1 -1
  62. package/components/Icons/PatientAndPerson.js +2 -2
  63. package/components/Icons/PatientAndPerson.js.map +1 -1
  64. package/components/Icons/PersonAndPatient.js +2 -2
  65. package/components/Icons/PersonAndPatient.js.map +1 -1
  66. package/components/Input/styles.module.scss +21 -22
  67. package/components/Input/styles.module.scss.d.ts +1 -1
  68. package/components/Label/Label.d.ts +2 -1
  69. package/components/Logo/index.js +6 -6
  70. package/components/Logo/index.js.map +1 -1
  71. package/components/NotificationPanel/index.js +5 -6
  72. package/components/NotificationPanel/index.js.map +1 -1
  73. package/components/PopMenu/index.js +2 -2
  74. package/components/PopMenu/index.js.map +1 -1
  75. package/components/PromoPanel/index.js +3 -3
  76. package/components/PromoPanel/index.js.map +1 -1
  77. package/components/Select/styles.module.scss +2 -2
  78. package/components/ServiceMessage/index.js +7 -8
  79. package/components/ServiceMessage/index.js.map +1 -1
  80. package/components/StickyNote/index.js +6 -8
  81. package/components/StickyNote/index.js.map +1 -1
  82. package/components/Textarea/styles.module.scss.d.ts +0 -1
  83. package/components/Tile/index.js +3 -3
  84. package/components/Tile/index.js.map +1 -1
  85. package/components/Toggle/index.js +13 -11
  86. package/components/Toggle/index.js.map +1 -1
  87. package/components/Validation/index.js +2 -3
  88. package/components/Validation/index.js.map +1 -1
  89. package/constants.d.ts +0 -1
  90. package/constants.js +0 -1
  91. package/constants.js.map +1 -1
  92. package/designsystem-react.css +1 -1
  93. package/floating-ui.react.js +38 -18
  94. package/floating-ui.react.js.map +1 -1
  95. package/hooks/useIdWithFallback.d.ts +6 -0
  96. package/hooks/useIdWithFallback.js +9 -0
  97. package/hooks/useIdWithFallback.js.map +1 -0
  98. package/index.d.ts +0 -2
  99. package/index.js +0 -4
  100. package/index.js.map +1 -1
  101. package/package.json +3 -3
  102. package/scss/_input.scss +0 -29
  103. package/scss/supernova/styles/colors.css +1 -1
  104. package/scss/supernova/styles/typography.css +51 -52
  105. package/PanelOld.js +0 -325
  106. package/PanelOld.js.map +0 -1
  107. package/__mocks__/useHover.d.ts +0 -1
  108. package/__mocks__/useHover.js +0 -6
  109. package/__mocks__/useHover.js.map +0 -1
  110. package/components/PanelListOld/PanelListOld.d.ts +0 -12
  111. package/components/PanelListOld/PanelListOld.test.d.ts +0 -1
  112. package/components/PanelListOld/index.d.ts +0 -3
  113. package/components/PanelListOld/index.js +0 -20
  114. package/components/PanelListOld/index.js.map +0 -1
  115. package/components/PanelListOld/styles.module.scss +0 -14
  116. package/components/PanelListOld/styles.module.scss.d.ts +0 -9
  117. package/components/PanelOld/PanelOld.d.ts +0 -89
  118. package/components/PanelOld/PanelOld.test.d.ts +0 -1
  119. package/components/PanelOld/index.d.ts +0 -3
  120. package/components/PanelOld/index.js +0 -9
  121. package/components/PanelOld/index.js.map +0 -1
  122. package/components/PanelOld/styles.module.scss +0 -433
  123. package/components/PanelOld/styles.module.scss.d.ts +0 -61
  124. package/hooks/useHover.d.ts +0 -10
  125. package/hooks/useHover.js +0 -9
  126. package/hooks/useHover.js.map +0 -1
  127. package/hooks/useUuid.d.ts +0 -6
  128. package/hooks/useUuid.js +0 -10
  129. package/hooks/useUuid.js.map +0 -1
@@ -1,433 +0,0 @@
1
- @use 'sass:map';
2
- @use '../../scss/spacers' as spacers;
3
- @use '../../scss/palette' as palette;
4
- @use '../../scss/font-settings' as font-settings;
5
- @use '../../scss/breakpoints' as breakpoints;
6
-
7
- @mixin panel-padding {
8
- padding: spacers.getSpacer(s);
9
-
10
- @media (min-width: map.get(breakpoints.$grid-breakpoints, md)) {
11
- padding: spacers.getSpacer(l) spacers.getSpacer(m) spacers.getSpacer(l) spacers.getSpacer(l);
12
- }
13
- }
14
-
15
- @mixin panel-padding-icon {
16
- padding: spacers.getSpacer(m) spacers.getSpacer(s) spacers.getSpacer(l);
17
-
18
- @media (min-width: map.get(breakpoints.$grid-breakpoints, md)) {
19
- padding: spacers.getSpacer(m) spacers.getSpacer(m) spacers.getSpacer(l);
20
- }
21
- }
22
-
23
- @mixin hover-and-focus-effects($background-color, $box-shadow-color) {
24
- &:hover {
25
- background-color: $background-color;
26
- }
27
-
28
- &:focus {
29
- box-shadow: inset 0 0 0 3px $box-shadow-color;
30
- }
31
- }
32
-
33
- $layout-sm-gap: spacers.getSpacer(s);
34
- $layout-md-col-gap: spacers.getSpacer(m);
35
-
36
- .panel-wrapper {
37
- width: 100%;
38
- outline: none;
39
- }
40
-
41
- .panel {
42
- display: flex;
43
- flex-direction: column;
44
- justify-content: flex-start;
45
- outline: none;
46
- position: relative;
47
- width: 100%;
48
- box-sizing: border-box;
49
-
50
- @include panel-padding;
51
-
52
- &__layout-1,
53
- &__layout-2,
54
- &__layout-3 {
55
- display: grid;
56
- grid-auto-rows: auto;
57
- grid-template-columns: 1fr;
58
- gap: $layout-sm-gap $layout-sm-gap;
59
- width: 100%;
60
-
61
- @media (min-width: map.get(breakpoints.$grid-breakpoints, md)) {
62
- column-gap: $layout-md-col-gap;
63
- }
64
- }
65
-
66
- &__layout-1 {
67
- &--with-icon {
68
- grid-template-columns: auto 1fr;
69
- }
70
-
71
- @media (min-width: map.get(breakpoints.$grid-breakpoints, md)) {
72
- grid-template-rows: auto auto;
73
- grid-template-columns: 1fr auto;
74
-
75
- &--with-icon {
76
- grid-template-columns: auto 1fr auto;
77
- }
78
-
79
- &__content-a {
80
- grid-column: span 2;
81
- }
82
- }
83
- }
84
-
85
- &__layout-2 {
86
- &--with-icon {
87
- grid-template-columns: auto 1fr;
88
- }
89
-
90
- @media (min-width: map.get(breakpoints.$grid-breakpoints, md)) {
91
- grid-template-rows: auto auto;
92
- grid-template-columns: 1fr auto;
93
-
94
- &--with-icon {
95
- grid-template-columns: auto 1fr auto;
96
- }
97
-
98
- &__content-a {
99
- grid-row: span 2;
100
- }
101
-
102
- &__last-column {
103
- max-width: 200px;
104
- }
105
- }
106
-
107
- @media (min-width: map.get(breakpoints.$grid-breakpoints, lg)) {
108
- grid-template-columns: minmax(auto, 760px) auto;
109
-
110
- &--with-icon {
111
- grid-template-columns: auto minmax(auto, 760px) auto;
112
- }
113
- }
114
- }
115
-
116
- &__layout-3 {
117
- &--with-icon {
118
- grid-template-columns: auto 1fr;
119
- }
120
-
121
- &__last-column {
122
- display: grid;
123
- row-gap: $layout-sm-gap;
124
- }
125
-
126
- @media (min-width: map.get(breakpoints.$grid-breakpoints, lg)) {
127
- grid-template-rows: auto;
128
-
129
- &--a {
130
- grid-template-columns: 3fr 2fr;
131
- }
132
- &--a#{&}--with-icon {
133
- grid-template-columns: auto 3fr 2fr;
134
- }
135
-
136
- &--b {
137
- grid-template-columns: 4.5fr 5.5fr;
138
- }
139
- &--b#{&}--with-icon {
140
- grid-template-columns: auto 4.5fr 5.5fr;
141
- }
142
-
143
- &--c {
144
- grid-template-columns: 3.5fr 6.5fr;
145
- }
146
- &--c#{&}--with-icon {
147
- grid-template-columns: auto 3.5fr 6.5fr;
148
- }
149
-
150
- &__last-column {
151
- grid-template-columns: 1fr auto;
152
- column-gap: $layout-md-col-gap;
153
-
154
- &__content-b {
155
- flex: 1;
156
- }
157
- }
158
- }
159
- }
160
-
161
- &--with-icon {
162
- @include panel-padding-icon;
163
- }
164
-
165
- &__icon {
166
- grid-row: span 3;
167
-
168
- &--no-content {
169
- grid-row: span 2;
170
- }
171
-
172
- &--layout-1,
173
- &--layout-2 {
174
- @media (min-width: map.get(breakpoints.$grid-breakpoints, md)) {
175
- grid-row: span 2;
176
- padding-right: spacers.getSpacer(2xs);
177
- }
178
- }
179
-
180
- @media (min-width: map.get(breakpoints.$grid-breakpoints, lg)) {
181
- grid-row: span 2;
182
- padding-right: spacers.getSpacer(2xs);
183
- }
184
-
185
- &--layout-3 {
186
- grid-row: span 2;
187
-
188
- @media (min-width: map.get(breakpoints.$grid-breakpoints, lg)) {
189
- grid-row: span 1;
190
- }
191
- }
192
- }
193
-
194
- &__badge {
195
- display: inline-block;
196
- vertical-align: text-bottom;
197
- flex-shrink: 0;
198
- }
199
-
200
- &__btn-container {
201
- display: flex;
202
- flex-direction: column;
203
- justify-content: flex-end;
204
-
205
- &--no-content-b {
206
- @media (min-width: map.get(breakpoints.$grid-breakpoints, lg)) {
207
- flex-direction: row;
208
- grid-column: span 2;
209
- }
210
- }
211
-
212
- &--no-button {
213
- flex-direction: column;
214
- }
215
- }
216
-
217
- &__details-btn {
218
- align-self: flex-start;
219
-
220
- @media (min-width: map.get(breakpoints.$grid-breakpoints, lg)) {
221
- align-self: flex-end;
222
- margin-left: auto;
223
- }
224
- }
225
-
226
- &__expand {
227
- position: unset;
228
-
229
- &::after {
230
- inset: 0;
231
- content: '';
232
- position: absolute;
233
- }
234
- }
235
-
236
- &--fill {
237
- background-color: palette.$neutral50;
238
- }
239
-
240
- &--fill#{&}--selected {
241
- background-color: palette.$neutral100;
242
- }
243
-
244
- &--fill#{&}--selected#{&}--clickable {
245
- &:hover {
246
- background-color: palette.$neutral200;
247
- }
248
- }
249
-
250
- &--white {
251
- background-color: palette.$white;
252
- }
253
-
254
- &--fill#{&}--clickable,
255
- &--white#{&}--clickable {
256
- @include hover-and-focus-effects(palette.$neutral100, palette.$neutral600);
257
- }
258
-
259
- &--white#{&}--selected {
260
- box-shadow: inset 0 0 0 6px palette.$neutral100;
261
- }
262
-
263
- &--stroke {
264
- border: 6px solid palette.$neutral100;
265
- }
266
-
267
- &--stroke#{&}--clickable {
268
- @include hover-and-focus-effects(palette.$neutral50, palette.$neutral100);
269
-
270
- &:focus {
271
- border-color: palette.$neutral600;
272
- }
273
- }
274
-
275
- &--line {
276
- background-color: palette.$white;
277
- border-color: palette.$neutral500;
278
- border-top: 1px solid;
279
- border-bottom: 1px solid;
280
- }
281
-
282
- &--line#{&}--clickable {
283
- @include hover-and-focus-effects(palette.$neutral50, palette.$neutral600);
284
- }
285
-
286
- &--line#{&}--selected {
287
- background-color: palette.$neutral50;
288
- border-bottom: 0;
289
- }
290
-
291
- &--line#{&}--selected#{&}--clickable {
292
- &:hover {
293
- background-color: palette.$neutral100;
294
- }
295
- }
296
-
297
- &--no-top-border#{&}--line {
298
- border-top: none;
299
- }
300
-
301
- &--button {
302
- cursor: pointer;
303
- }
304
-
305
- &--status {
306
- &::before {
307
- content: '';
308
- position: absolute;
309
- border-left: 0.375rem;
310
- top: 0;
311
- left: 0;
312
- height: 100%;
313
- border-left-style: solid;
314
- }
315
- }
316
-
317
- &--new {
318
- &::before {
319
- border-left-color: palette.$blueberry600;
320
- }
321
- }
322
-
323
- &--draft {
324
- &::before {
325
- border-left-style: dashed;
326
- border-left-color: palette.$neutral500;
327
- }
328
- }
329
-
330
- &--error {
331
- &::before {
332
- border-left-color: palette.$cherry500;
333
- }
334
- }
335
- }
336
-
337
- .title-container {
338
- padding-bottom: spacers.getSpacer(s);
339
-
340
- &--no-content-a {
341
- padding-bottom: 0;
342
- }
343
-
344
- &__title {
345
- vertical-align: top;
346
- display: inline;
347
-
348
- &--badge {
349
- padding-right: spacers.getSpacer(2xs);
350
- }
351
- }
352
-
353
- @media (max-width: map.get(breakpoints.$grid-max-breakpoints, xs)) {
354
- display: flex;
355
- justify-content: space-between;
356
- align-items: center;
357
- }
358
- }
359
-
360
- .panel-details {
361
- background-color: palette.$neutral50;
362
- display: none;
363
-
364
- @include panel-padding;
365
-
366
- @media print {
367
- display: flex;
368
- flex-direction: column;
369
- }
370
-
371
- &--open {
372
- display: flex;
373
- flex-direction: column;
374
- }
375
-
376
- &--line {
377
- background: palette.$white;
378
- border-bottom: 1px solid palette.$neutral500;
379
- }
380
-
381
- &--white {
382
- background: palette.$white;
383
- }
384
- }
385
-
386
- .status-message {
387
- font-size: font-settings.$font-size-sm;
388
- color: palette.$cherry500;
389
- display: flex;
390
- margin-bottom: spacers.getSpacer(2xs) * -1;
391
- grid-column: 1 / -1;
392
-
393
- span {
394
- padding-left: 5px;
395
- align-self: center;
396
- font-size: font-settings.$font-size-sm;
397
- }
398
-
399
- &--new {
400
- color: palette.$blueberry800;
401
- }
402
- }
403
-
404
- .header-container {
405
- grid-column: 1 / -1;
406
- }
407
-
408
- .datetime-container {
409
- display: flex;
410
- flex-direction: column;
411
-
412
- @media (min-width: map.get(breakpoints.$grid-breakpoints, lg)) {
413
- padding-top: spacers.getSpacer(xs);
414
- flex-direction: row;
415
- }
416
-
417
- &__icon {
418
- display: flex;
419
- align-items: center;
420
- padding-bottom: spacers.getSpacer(2xs);
421
-
422
- @media (min-width: map.get(breakpoints.$grid-breakpoints, lg)) {
423
- padding-top: 0;
424
- padding-right: spacers.getSpacer(m);
425
- padding-bottom: 0;
426
- }
427
-
428
- span {
429
- padding-left: spacers.getSpacer(2xs);
430
- font-size: font-settings.$font-size-sm;
431
- }
432
- }
433
- }
@@ -1,61 +0,0 @@
1
- export type Styles = {
2
- 'datetime-container': string;
3
- 'datetime-container__icon': string;
4
- 'header-container': string;
5
- panel: string;
6
- panel__badge: string;
7
- 'panel__btn-container': string;
8
- 'panel__btn-container--no-button': string;
9
- 'panel__btn-container--no-content-b': string;
10
- 'panel__details-btn': string;
11
- panel__expand: string;
12
- panel__icon: string;
13
- 'panel__icon--layout-1': string;
14
- 'panel__icon--layout-2': string;
15
- 'panel__icon--layout-3': string;
16
- 'panel__icon--no-content': string;
17
- 'panel__layout-1': string;
18
- 'panel__layout-1__content-a': string;
19
- 'panel__layout-1--with-icon': string;
20
- 'panel__layout-2': string;
21
- 'panel__layout-2__content-a': string;
22
- 'panel__layout-2__last-column': string;
23
- 'panel__layout-2--with-icon': string;
24
- 'panel__layout-3': string;
25
- 'panel__layout-3__last-column': string;
26
- 'panel__layout-3__last-column__content-b': string;
27
- 'panel__layout-3--a': string;
28
- 'panel__layout-3--b': string;
29
- 'panel__layout-3--c': string;
30
- 'panel__layout-3--with-icon': string;
31
- 'panel--button': string;
32
- 'panel--clickable': string;
33
- 'panel--draft': string;
34
- 'panel--error': string;
35
- 'panel--fill': string;
36
- 'panel--line': string;
37
- 'panel--new': string;
38
- 'panel--no-top-border': string;
39
- 'panel--selected': string;
40
- 'panel--status': string;
41
- 'panel--stroke': string;
42
- 'panel--white': string;
43
- 'panel--with-icon': string;
44
- 'panel-details': string;
45
- 'panel-details--line': string;
46
- 'panel-details--open': string;
47
- 'panel-details--white': string;
48
- 'panel-wrapper': string;
49
- 'status-message': string;
50
- 'status-message--new': string;
51
- 'title-container': string;
52
- 'title-container__title': string;
53
- 'title-container__title--badge': string;
54
- 'title-container--no-content-a': string;
55
- };
56
-
57
- export type ClassNames = keyof Styles;
58
-
59
- declare const styles: Styles;
60
-
61
- export default styles;
@@ -1,10 +0,0 @@
1
- import { RefObject } from 'react';
2
- /**
3
- * Få vite når et element hovres over eller mottar fokus.
4
- * @param ref Element som skal observeres
5
- * @returns Objekt med ref og om objekt er hovered/focused
6
- */
7
- export declare const useHover: <T extends HTMLElement | SVGElement>(ref?: RefObject<T>, includeFocus?: boolean) => {
8
- hoverRef: RefObject<T>;
9
- isHovered: boolean;
10
- };
package/hooks/useHover.js DELETED
@@ -1,9 +0,0 @@
1
- import { usePseudoClasses } from "./usePseudoClasses.js";
2
- const useHover = (ref, includeFocus = true) => {
3
- const { refObject, isHovered, isFocused } = usePseudoClasses(ref);
4
- return { hoverRef: refObject, isHovered: isHovered || includeFocus && isFocused };
5
- };
6
- export {
7
- useHover
8
- };
9
- //# sourceMappingURL=useHover.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useHover.js","sources":["../../src/hooks/useHover.ts"],"sourcesContent":["import { RefObject } from 'react';\n\nimport { usePseudoClasses } from './usePseudoClasses';\n\n/**\n * Få vite når et element hovres over eller mottar fokus.\n * @param ref Element som skal observeres\n * @returns Objekt med ref og om objekt er hovered/focused\n */\nexport const useHover = <T extends HTMLElement | SVGElement>(\n ref?: RefObject<T>,\n includeFocus: boolean = true\n): { hoverRef: RefObject<T>; isHovered: boolean } => {\n const { refObject, isHovered, isFocused } = usePseudoClasses(ref);\n\n return { hoverRef: refObject, isHovered: isHovered || (includeFocus && isFocused) };\n};\n"],"names":[],"mappings":";AASO,MAAM,WAAW,CACtB,KACA,eAAwB,SAC2B;AACnD,QAAM,EAAE,WAAW,WAAW,UAAA,IAAc,iBAAiB,GAAG;AAEhE,SAAO,EAAE,UAAU,WAAW,WAAW,aAAc,gBAAgB,UAAA;AACzE;"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Returner unik uuid som ikke endrer seg for hver render
3
- * @param initial id som vil overstyre id fra uuid-utility
4
- * @returns uuid-string
5
- */
6
- export declare const useUuid: (initial?: string) => string;
package/hooks/useUuid.js DELETED
@@ -1,10 +0,0 @@
1
- import { useState } from "react";
2
- import { u as uuid } from "../uuid.js";
3
- const useUuid = (initial) => {
4
- const [id] = useState(initial || uuid());
5
- return id;
6
- };
7
- export {
8
- useUuid
9
- };
10
- //# sourceMappingURL=useUuid.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useUuid.js","sources":["../../src/hooks/useUuid.ts"],"sourcesContent":["import { useState } from 'react';\n\nimport { uuid } from '../utils/uuid';\n\n/**\n * Returner unik uuid som ikke endrer seg for hver render\n * @param initial id som vil overstyre id fra uuid-utility\n * @returns uuid-string\n */\nexport const useUuid = (initial?: string): string => {\n const [id] = useState(initial || uuid());\n\n return id;\n};\n"],"names":[],"mappings":";;AASO,MAAM,UAAU,CAAC,YAA6B;AACnD,QAAM,CAAC,EAAE,IAAI,SAAS,WAAW,MAAM;AAEvC,SAAO;AACT;"}