@navikt/ds-react 8.4.1 → 8.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/accordion/Accordion.d.ts +10 -0
- package/cjs/accordion/Accordion.js +2 -2
- package/cjs/accordion/Accordion.js.map +1 -1
- package/cjs/data/table/helpers/table-cell.d.ts +2 -2
- package/cjs/data/table/helpers/table-cell.js +2 -5
- package/cjs/data/table/helpers/table-cell.js.map +1 -1
- package/cjs/data/table/helpers/table-focus.d.ts +26 -2
- package/cjs/data/table/helpers/table-focus.js +60 -9
- package/cjs/data/table/helpers/table-focus.js.map +1 -1
- package/cjs/data/table/helpers/table-grid-nav.d.ts +45 -9
- package/cjs/data/table/helpers/table-grid-nav.js +108 -24
- package/cjs/data/table/helpers/table-grid-nav.js.map +1 -1
- package/cjs/data/table/helpers/table-keyboard.d.ts +24 -3
- package/cjs/data/table/helpers/table-keyboard.js +30 -5
- package/cjs/data/table/helpers/table-keyboard.js.map +1 -1
- package/cjs/data/table/hooks/useGridCache.d.ts +17 -0
- package/cjs/data/table/hooks/useGridCache.js +65 -0
- package/cjs/data/table/hooks/useGridCache.js.map +1 -0
- package/cjs/data/table/root/DataTableRoot.js +2 -2
- package/cjs/data/table/root/DataTableRoot.js.map +1 -1
- package/cjs/data/table/root/useTableKeyboardNav.d.ts +9 -3
- package/cjs/data/table/root/useTableKeyboardNav.js +53 -95
- package/cjs/data/table/root/useTableKeyboardNav.js.map +1 -1
- package/cjs/link-card/LinkCard.d.ts +13 -0
- package/cjs/link-card/LinkCard.js +2 -2
- package/cjs/link-card/LinkCard.js.map +1 -1
- package/cjs/process/Process.d.ts +1 -1
- package/cjs/utils/i18n/locales/nb.d.ts +154 -75
- package/cjs/utils/i18n/locales/nb.js +154 -75
- package/cjs/utils/i18n/locales/nb.js.map +1 -1
- package/esm/accordion/Accordion.d.ts +10 -0
- package/esm/accordion/Accordion.js +2 -2
- package/esm/accordion/Accordion.js.map +1 -1
- package/esm/data/table/helpers/table-cell.d.ts +2 -2
- package/esm/data/table/helpers/table-cell.js +2 -5
- package/esm/data/table/helpers/table-cell.js.map +1 -1
- package/esm/data/table/helpers/table-focus.d.ts +26 -2
- package/esm/data/table/helpers/table-focus.js +55 -9
- package/esm/data/table/helpers/table-focus.js.map +1 -1
- package/esm/data/table/helpers/table-grid-nav.d.ts +45 -9
- package/esm/data/table/helpers/table-grid-nav.js +102 -23
- package/esm/data/table/helpers/table-grid-nav.js.map +1 -1
- package/esm/data/table/helpers/table-keyboard.d.ts +24 -3
- package/esm/data/table/helpers/table-keyboard.js +29 -4
- package/esm/data/table/helpers/table-keyboard.js.map +1 -1
- package/esm/data/table/hooks/useGridCache.d.ts +17 -0
- package/esm/data/table/hooks/useGridCache.js +63 -0
- package/esm/data/table/hooks/useGridCache.js.map +1 -0
- package/esm/data/table/root/DataTableRoot.js +2 -2
- package/esm/data/table/root/DataTableRoot.js.map +1 -1
- package/esm/data/table/root/useTableKeyboardNav.d.ts +9 -3
- package/esm/data/table/root/useTableKeyboardNav.js +58 -100
- package/esm/data/table/root/useTableKeyboardNav.js.map +1 -1
- package/esm/link-card/LinkCard.d.ts +13 -0
- package/esm/link-card/LinkCard.js +2 -2
- package/esm/link-card/LinkCard.js.map +1 -1
- package/esm/process/Process.d.ts +1 -1
- package/esm/utils/i18n/locales/nb.d.ts +154 -75
- package/esm/utils/i18n/locales/nb.js +154 -75
- package/esm/utils/i18n/locales/nb.js.map +1 -1
- package/package.json +3 -3
- package/src/accordion/Accordion.tsx +19 -2
- package/src/data/table/helpers/table-cell.ts +2 -7
- package/src/data/table/helpers/table-focus.ts +70 -9
- package/src/data/table/helpers/table-grid-nav.ts +146 -31
- package/src/data/table/helpers/table-keyboard.test.ts +27 -27
- package/src/data/table/helpers/table-keyboard.ts +43 -4
- package/src/data/table/hooks/useGridCache.ts +73 -0
- package/src/data/table/root/DataTableRoot.tsx +1 -2
- package/src/data/table/root/useTableKeyboardNav.ts +95 -125
- package/src/link-card/LinkCard.tsx +15 -1
- package/src/process/Process.tsx +1 -1
- package/src/utils/i18n/locales/nb.ts +83 -4
|
@@ -4,217 +4,296 @@ const locale_1 = require("date-fns/locale");
|
|
|
4
4
|
exports.default = {
|
|
5
5
|
global: {
|
|
6
6
|
dateLocale: locale_1.nb,
|
|
7
|
-
/** @default "Vis mer"
|
|
7
|
+
/** @default "Vis mer"
|
|
8
|
+
* @default "Vis mer" */
|
|
8
9
|
showMore: "Vis mer",
|
|
9
|
-
/** @default "Vis mindre"
|
|
10
|
+
/** @default "Vis mindre"
|
|
11
|
+
* @default "Vis mindre" */
|
|
10
12
|
showLess: "Vis mindre",
|
|
11
|
-
/** @default "Skrivebeskyttet"
|
|
13
|
+
/** @default "Skrivebeskyttet"
|
|
14
|
+
* @default "Skrivebeskyttet" */
|
|
12
15
|
readOnly: "Skrivebeskyttet",
|
|
13
|
-
/** @default "Lukk"
|
|
16
|
+
/** @default "Lukk"
|
|
17
|
+
* @default "Lukk" */
|
|
14
18
|
close: "Lukk",
|
|
15
|
-
/** @default "Feil"
|
|
19
|
+
/** @default "Feil"
|
|
20
|
+
* @default "Feil" */
|
|
16
21
|
error: "Feil",
|
|
17
|
-
/** @default "Informasjon"
|
|
22
|
+
/** @default "Informasjon"
|
|
23
|
+
* @default "Informasjon" */
|
|
18
24
|
info: "Informasjon",
|
|
19
|
-
/** @default "Suksess"
|
|
25
|
+
/** @default "Suksess"
|
|
26
|
+
* @default "Suksess" */
|
|
20
27
|
success: "Suksess",
|
|
21
|
-
/** @default "Advarsel"
|
|
28
|
+
/** @default "Advarsel"
|
|
29
|
+
* @default "Advarsel" */
|
|
22
30
|
warning: "Advarsel",
|
|
23
|
-
/** @default "Kunngjøring"
|
|
31
|
+
/** @default "Kunngjøring"
|
|
32
|
+
* @default "Kunngjøring" */
|
|
24
33
|
announcement: "Kunngjøring",
|
|
25
34
|
},
|
|
26
35
|
Chips: {
|
|
27
36
|
Removable: {
|
|
28
37
|
/** Will be appended to the accessible name for the button.
|
|
38
|
+
* @default "slett"
|
|
29
39
|
* @default "slett" */
|
|
30
40
|
labelSuffix: "slett",
|
|
31
41
|
},
|
|
32
42
|
},
|
|
33
43
|
Combobox: {
|
|
34
44
|
/** The input value will be appended to the end of this text, e.g. `Legg til "input value"`.
|
|
45
|
+
* @default "Legg til"
|
|
35
46
|
* @default "Legg til" */
|
|
36
47
|
addOption: "Legg til",
|
|
37
|
-
/** @default "Ingen søketreff"
|
|
48
|
+
/** @default "Ingen søketreff"
|
|
49
|
+
* @default "Ingen søketreff" */
|
|
38
50
|
noMatches: "Ingen søketreff",
|
|
39
51
|
/** Loader title
|
|
52
|
+
* @default "Søker…"
|
|
40
53
|
* @default "Søker…" */
|
|
41
54
|
loading: "Søker…",
|
|
42
|
-
/** @default "{selected} av maks {limit} er valgt."
|
|
55
|
+
/** @default "{selected} av maks {limit} er valgt."
|
|
56
|
+
* @default "{selected} av maks {limit} er valgt." */
|
|
43
57
|
maxSelected: "{selected} av maks {limit} er valgt.",
|
|
44
58
|
},
|
|
45
59
|
CopyButton: {
|
|
46
|
-
/** @default "Kopier"
|
|
60
|
+
/** @default "Kopier"
|
|
61
|
+
* @default "Kopier" */
|
|
47
62
|
title: "Kopier",
|
|
48
|
-
/** @default "Kopiert!"
|
|
63
|
+
/** @default "Kopiert!"
|
|
64
|
+
* @default "Kopiert!" */
|
|
49
65
|
activeText: "Kopiert!",
|
|
50
66
|
},
|
|
51
67
|
DatePicker: {
|
|
52
|
-
/** @default "Velg dato"
|
|
68
|
+
/** @default "Velg dato"
|
|
69
|
+
* @default "Velg dato" */
|
|
53
70
|
chooseDate: "Velg dato",
|
|
54
|
-
/** @default "Velg datoer"
|
|
71
|
+
/** @default "Velg datoer"
|
|
72
|
+
* @default "Velg datoer" */
|
|
55
73
|
chooseDates: "Velg datoer",
|
|
56
|
-
/** @default "Velg start- og sluttdato"
|
|
74
|
+
/** @default "Velg start- og sluttdato"
|
|
75
|
+
* @default "Velg start- og sluttdato" */
|
|
57
76
|
chooseDateRange: "Velg start- og sluttdato",
|
|
58
|
-
/** @default "Velg måned"
|
|
77
|
+
/** @default "Velg måned"
|
|
78
|
+
* @default "Velg måned" */
|
|
59
79
|
chooseMonth: "Velg måned",
|
|
60
|
-
/** @default "Uke"
|
|
80
|
+
/** @default "Uke"
|
|
81
|
+
* @default "Uke" */
|
|
61
82
|
week: "Uke",
|
|
62
|
-
/** @default "Uke {week}"
|
|
83
|
+
/** @default "Uke {week}"
|
|
84
|
+
* @default "Uke {week}" */
|
|
63
85
|
weekNumber: "Uke {week}",
|
|
64
|
-
/** @default "Velg uke {week}"
|
|
86
|
+
/** @default "Velg uke {week}"
|
|
87
|
+
* @default "Velg uke {week}" */
|
|
65
88
|
selectWeekNumber: "Velg uke {week}",
|
|
66
|
-
/** @default "Måned"
|
|
89
|
+
/** @default "Måned"
|
|
90
|
+
* @default "Måned" */
|
|
67
91
|
month: "Måned",
|
|
68
|
-
/** @default "Gå til neste måned"
|
|
92
|
+
/** @default "Gå til neste måned"
|
|
93
|
+
* @default "Gå til neste måned" */
|
|
69
94
|
goToNextMonth: "Gå til neste måned",
|
|
70
|
-
/** @default "Gå til forrige måned"
|
|
95
|
+
/** @default "Gå til forrige måned"
|
|
96
|
+
* @default "Gå til forrige måned" */
|
|
71
97
|
goToPreviousMonth: "Gå til forrige måned",
|
|
72
|
-
/** @default "År"
|
|
98
|
+
/** @default "År"
|
|
99
|
+
* @default "År" */
|
|
73
100
|
year: "År",
|
|
74
|
-
/** @default "Gå til neste år"
|
|
101
|
+
/** @default "Gå til neste år"
|
|
102
|
+
* @default "Gå til neste år" */
|
|
75
103
|
goToNextYear: "Gå til neste år",
|
|
76
|
-
/** @default "Gå til forrige år"
|
|
104
|
+
/** @default "Gå til forrige år"
|
|
105
|
+
* @default "Gå til forrige år" */
|
|
77
106
|
goToPreviousYear: "Gå til forrige år",
|
|
78
|
-
/** @default "Åpne datovelger"
|
|
107
|
+
/** @default "Åpne datovelger"
|
|
108
|
+
* @default "Åpne datovelger" */
|
|
79
109
|
openDatePicker: "Åpne datovelger",
|
|
80
|
-
/** @default "Åpne månedsvelger"
|
|
110
|
+
/** @default "Åpne månedsvelger"
|
|
111
|
+
* @default "Åpne månedsvelger" */
|
|
81
112
|
openMonthPicker: "Åpne månedsvelger",
|
|
82
|
-
/** @default "Lukk datovelger"
|
|
113
|
+
/** @default "Lukk datovelger"
|
|
114
|
+
* @default "Lukk datovelger" */
|
|
83
115
|
closeDatePicker: "Lukk datovelger",
|
|
84
|
-
/** @default "Lukk månedsvelger"
|
|
116
|
+
/** @default "Lukk månedsvelger"
|
|
117
|
+
* @default "Lukk månedsvelger" */
|
|
85
118
|
closeMonthPicker: "Lukk månedsvelger",
|
|
86
119
|
},
|
|
87
120
|
ErrorSummary: {
|
|
88
|
-
/** @default "Du må rette disse feilene før du kan fortsette:"
|
|
121
|
+
/** @default "Du må rette disse feilene før du kan fortsette:"
|
|
122
|
+
* @default "Du må rette disse feilene før du kan fortsette:" */
|
|
89
123
|
heading: "Du må rette disse feilene før du kan fortsette:",
|
|
90
124
|
},
|
|
91
125
|
FileUpload: {
|
|
92
126
|
dropzone: {
|
|
93
|
-
/** @default "Velg fil"
|
|
127
|
+
/** @default "Velg fil"
|
|
128
|
+
* @default "Velg fil" */
|
|
94
129
|
button: "Velg fil",
|
|
95
|
-
/** @default "Velg filer"
|
|
130
|
+
/** @default "Velg filer"
|
|
131
|
+
* @default "Velg filer" */
|
|
96
132
|
buttonMultiple: "Velg filer",
|
|
97
|
-
/** @default "Dra og slipp filen her"
|
|
133
|
+
/** @default "Dra og slipp filen her"
|
|
134
|
+
* @default "Dra og slipp filen her" */
|
|
98
135
|
dragAndDrop: "Dra og slipp filen her",
|
|
99
|
-
/** @default "Dra og slipp filer her"
|
|
136
|
+
/** @default "Dra og slipp filer her"
|
|
137
|
+
* @default "Dra og slipp filer her" */
|
|
100
138
|
dragAndDropMultiple: "Dra og slipp filer her",
|
|
101
|
-
/** @default "Slipp"
|
|
139
|
+
/** @default "Slipp"
|
|
140
|
+
* @default "Slipp" */
|
|
102
141
|
drop: "Slipp",
|
|
103
|
-
/** @default "eller"
|
|
142
|
+
/** @default "eller"
|
|
143
|
+
* @default "eller" */
|
|
104
144
|
or: "eller",
|
|
105
|
-
/** @default "Filopplasting er deaktivert"
|
|
145
|
+
/** @default "Filopplasting er deaktivert"
|
|
146
|
+
* @default "Filopplasting er deaktivert" */
|
|
106
147
|
disabled: "Filopplasting er deaktivert",
|
|
107
|
-
/** @default "Du kan ikke laste opp flere filer"
|
|
148
|
+
/** @default "Du kan ikke laste opp flere filer"
|
|
149
|
+
* @default "Du kan ikke laste opp flere filer" */
|
|
108
150
|
disabledFilelimit: "Du kan ikke laste opp flere filer",
|
|
109
151
|
},
|
|
110
152
|
item: {
|
|
111
|
-
/** @default "Prøv å laste opp filen på nytt"
|
|
153
|
+
/** @default "Prøv å laste opp filen på nytt"
|
|
154
|
+
* @default "Prøv å laste opp filen på nytt" */
|
|
112
155
|
retryButtonTitle: "Prøv å laste opp filen på nytt",
|
|
113
|
-
/** @default "Slett filen"
|
|
156
|
+
/** @default "Slett filen"
|
|
157
|
+
* @default "Slett filen" */
|
|
114
158
|
deleteButtonTitle: "Slett filen",
|
|
115
|
-
/** @default "Laster opp…"
|
|
159
|
+
/** @default "Laster opp…"
|
|
160
|
+
* @default "Laster opp…" */
|
|
116
161
|
uploading: "Laster opp…",
|
|
117
|
-
/** @default "Laster ned…"
|
|
162
|
+
/** @default "Laster ned…"
|
|
163
|
+
* @default "Laster ned…" */
|
|
118
164
|
downloading: "Laster ned…",
|
|
119
165
|
},
|
|
120
166
|
},
|
|
121
167
|
FormProgress: {
|
|
122
|
-
/** @default "Steg {activeStep} av {totalSteps}"
|
|
168
|
+
/** @default "Steg {activeStep} av {totalSteps}"
|
|
169
|
+
* @default "Steg {activeStep} av {totalSteps}" */
|
|
123
170
|
step: "Steg {activeStep} av {totalSteps}",
|
|
124
|
-
/** @default "Vis alle steg"
|
|
171
|
+
/** @default "Vis alle steg"
|
|
172
|
+
* @default "Vis alle steg" */
|
|
125
173
|
showAllSteps: "Vis alle steg",
|
|
126
|
-
/** @default "Skjul alle steg"
|
|
174
|
+
/** @default "Skjul alle steg"
|
|
175
|
+
* @default "Skjul alle steg" */
|
|
127
176
|
hideAllSteps: "Skjul alle steg",
|
|
128
177
|
},
|
|
129
178
|
FormSummary: {
|
|
130
|
-
/** @default "Endre svar"
|
|
179
|
+
/** @default "Endre svar"
|
|
180
|
+
* @default "Endre svar" */
|
|
131
181
|
editAnswer: "Endre svar",
|
|
132
182
|
},
|
|
133
183
|
GuidePanel: {
|
|
134
|
-
/** @default "Illustrasjon av veileder"
|
|
184
|
+
/** @default "Illustrasjon av veileder"
|
|
185
|
+
* @default "Illustrasjon av veileder" */
|
|
135
186
|
illustrationLabel: "Illustrasjon av veileder",
|
|
136
187
|
},
|
|
137
188
|
HelpText: {
|
|
138
|
-
/** @default "Mer informasjon"
|
|
189
|
+
/** @default "Mer informasjon"
|
|
190
|
+
* @default "Mer informasjon" */
|
|
139
191
|
title: "Mer informasjon",
|
|
140
192
|
},
|
|
141
193
|
Loader: {
|
|
142
|
-
/** @default "Venter…"
|
|
194
|
+
/** @default "Venter…"
|
|
195
|
+
* @default "Venter…" */
|
|
143
196
|
title: "Venter…",
|
|
144
197
|
},
|
|
145
198
|
Pagination: {
|
|
146
|
-
/** @default "Forrige"
|
|
199
|
+
/** @default "Forrige"
|
|
200
|
+
* @default "Forrige" */
|
|
147
201
|
previous: "Forrige",
|
|
148
|
-
/** @default "Neste"
|
|
202
|
+
/** @default "Neste"
|
|
203
|
+
* @default "Neste" */
|
|
149
204
|
next: "Neste",
|
|
150
205
|
},
|
|
151
206
|
Process: {
|
|
152
|
-
/** @default "Aktiv"
|
|
207
|
+
/** @default "Aktiv"
|
|
208
|
+
* @default "Aktiv" */
|
|
153
209
|
active: "Aktiv",
|
|
154
210
|
},
|
|
155
211
|
ProgressBar: {
|
|
156
|
-
/** @default "{current} av {max}"
|
|
212
|
+
/** @default "{current} av {max}"
|
|
213
|
+
* @default "{current} av {max}" */
|
|
157
214
|
progress: "{current} av {max}",
|
|
158
|
-
/** @default "Fremdrift kan ikke beregnes, antatt tid er {seconds} sekunder."
|
|
215
|
+
/** @default "Fremdrift kan ikke beregnes, antatt tid er {seconds} sekunder."
|
|
216
|
+
* @default "Fremdrift kan ikke beregnes, antatt tid er {seconds} sekunder." */
|
|
159
217
|
progressUnknown: "Fremdrift kan ikke beregnes, antatt tid er {seconds} sekunder.",
|
|
160
218
|
},
|
|
161
219
|
Search: {
|
|
162
|
-
/** @default "Tøm feltet"
|
|
220
|
+
/** @default "Tøm feltet"
|
|
221
|
+
* @default "Tøm feltet" */
|
|
163
222
|
clear: "Tøm feltet",
|
|
164
|
-
/** @default "Søk"
|
|
223
|
+
/** @default "Søk"
|
|
224
|
+
* @default "Søk" */
|
|
165
225
|
search: "Søk",
|
|
166
226
|
},
|
|
167
227
|
Textarea: {
|
|
168
228
|
/** Screen readers only
|
|
229
|
+
* @default "Tekstområde med plass til {maxLength} tegn."
|
|
169
230
|
* @default "Tekstområde med plass til {maxLength} tegn." */
|
|
170
231
|
maxLength: "Tekstområde med plass til {maxLength} tegn.",
|
|
171
|
-
/** @default "{chars} tegn for mye"
|
|
232
|
+
/** @default "{chars} tegn for mye"
|
|
233
|
+
* @default "{chars} tegn for mye" */
|
|
172
234
|
charsTooMany: "{chars} tegn for mye",
|
|
173
|
-
/** @default "{chars} tegn igjen"
|
|
235
|
+
/** @default "{chars} tegn igjen"
|
|
236
|
+
* @default "{chars} tegn igjen" */
|
|
174
237
|
charsLeft: "{chars} tegn igjen",
|
|
175
238
|
},
|
|
176
239
|
Timeline: {
|
|
177
|
-
/** @default "dd.MM.yyyy"
|
|
240
|
+
/** @default "dd.MM.yyyy"
|
|
241
|
+
* @default "dd.MM.yyyy" */
|
|
178
242
|
dateFormat: "dd.MM.yyyy",
|
|
179
|
-
/** @default "dd.MM"
|
|
243
|
+
/** @default "dd.MM"
|
|
244
|
+
* @default "dd.MM" */
|
|
180
245
|
dayFormat: "dd.MM",
|
|
181
|
-
/** @default "MMM yy"
|
|
246
|
+
/** @default "MMM yy"
|
|
247
|
+
* @default "MMM yy" */
|
|
182
248
|
monthFormat: "MMM yy",
|
|
183
|
-
/** @default "yyyy"
|
|
249
|
+
/** @default "yyyy"
|
|
250
|
+
* @default "yyyy" */
|
|
184
251
|
yearFormat: "yyyy",
|
|
185
252
|
Row: {
|
|
186
|
-
/** @default "Ingen perioder"
|
|
253
|
+
/** @default "Ingen perioder"
|
|
254
|
+
* @default "Ingen perioder" */
|
|
187
255
|
noPeriods: "Ingen perioder",
|
|
188
|
-
/** @default "{start} til {end}"
|
|
256
|
+
/** @default "{start} til {end}"
|
|
257
|
+
* @default "{start} til {end}" */
|
|
189
258
|
period: "{start} til {end}",
|
|
190
259
|
},
|
|
191
260
|
Period: {
|
|
192
|
-
/** @default "Suksess"
|
|
261
|
+
/** @default "Suksess"
|
|
262
|
+
* @default "Suksess" */
|
|
193
263
|
success: "Suksess",
|
|
194
|
-
/** @default "Advarsel"
|
|
264
|
+
/** @default "Advarsel"
|
|
265
|
+
* @default "Advarsel" */
|
|
195
266
|
warning: "Advarsel",
|
|
196
|
-
/** @default "Fare"
|
|
267
|
+
/** @default "Fare"
|
|
268
|
+
* @default "Fare" */
|
|
197
269
|
danger: "Fare",
|
|
198
|
-
/** @default "Info"
|
|
270
|
+
/** @default "Info"
|
|
271
|
+
* @default "Info" */
|
|
199
272
|
info: "Info",
|
|
200
|
-
/** @default "Nøytral"
|
|
273
|
+
/** @default "Nøytral"
|
|
274
|
+
* @default "Nøytral" */
|
|
201
275
|
neutral: "Nøytral",
|
|
202
|
-
/** @default "{status} fra {start} til {end}"
|
|
276
|
+
/** @default "{status} fra {start} til {end}"
|
|
277
|
+
* @default "{status} fra {start} til {end}" */
|
|
203
278
|
period: "{status} fra {start} til {end}",
|
|
204
279
|
},
|
|
205
280
|
Pin: {
|
|
206
|
-
/** @default "Pin: {date}"
|
|
281
|
+
/** @default "Pin: {date}"
|
|
282
|
+
* @default "Pin: {date}" */
|
|
207
283
|
pin: "Pin: {date}",
|
|
208
284
|
},
|
|
209
285
|
Zoom: {
|
|
210
|
-
/** @default "Zoom tidslinjen {start} til {end}"
|
|
286
|
+
/** @default "Zoom tidslinjen {start} til {end}"
|
|
287
|
+
* @default "Zoom tidslinjen {start} til {end}" */
|
|
211
288
|
zoom: "Zoom tidslinjen {start} til {end}",
|
|
212
|
-
/** @default "Tilbakestill tidsperspektiv"
|
|
289
|
+
/** @default "Tilbakestill tidsperspektiv"
|
|
290
|
+
* @default "Tilbakestill tidsperspektiv" */
|
|
213
291
|
reset: "Tilbakestill tidsperspektiv",
|
|
214
292
|
},
|
|
215
293
|
},
|
|
216
294
|
Tooltip: {
|
|
217
|
-
/** @default "eller"
|
|
295
|
+
/** @default "eller"
|
|
296
|
+
* @default "eller" */
|
|
218
297
|
shortcutSeparator: "eller",
|
|
219
298
|
},
|
|
220
299
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nb.js","sourceRoot":"","sources":["../../../../src/utils/i18n/locales/nb.ts"],"names":[],"mappings":";;AAAA,4CAA6C;AAM7C,kBAAe;IACb,MAAM,EAAE;QACN,UAAU,EAAE,WAAE;QACd
|
|
1
|
+
{"version":3,"file":"nb.js","sourceRoot":"","sources":["../../../../src/utils/i18n/locales/nb.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,6 +48,16 @@ interface AccordionProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
48
48
|
* @see [📝 Documentation](https://aksel.nav.no/grunnleggende/styling/farger-tokens)
|
|
49
49
|
*/
|
|
50
50
|
"data-color"?: Exclude<AkselColor, AkselStatusColorRole>;
|
|
51
|
+
/**
|
|
52
|
+
* Changes the HTML element used for the root element.
|
|
53
|
+
*
|
|
54
|
+
* **When using `section`, provide either `aria-label` or `aria-labelledby` for better accessibility.**
|
|
55
|
+
* `axe-core` might warn about unique landmarks if you have multiple Accordions on page with the same label.
|
|
56
|
+
* In those cases consider updating to unique `aria-label` or `aria-labelledby` props.
|
|
57
|
+
* @see [📝 Landmarks unique](https://dequeuniversity.com/rules/axe/4.6/landmark-unique)
|
|
58
|
+
* @default "div"
|
|
59
|
+
*/
|
|
60
|
+
as?: "div" | "section";
|
|
51
61
|
}
|
|
52
62
|
/**
|
|
53
63
|
* A component that displays collapsible content sections.
|
|
@@ -39,7 +39,7 @@ import AccordionItem from "./AccordionItem.js";
|
|
|
39
39
|
* ```
|
|
40
40
|
*/
|
|
41
41
|
export const Accordion = forwardRef((_a, ref) => {
|
|
42
|
-
var { className, variant = "default", size = "medium", indent = true } = _a, rest = __rest(_a, ["className", "variant", "size", "indent"]);
|
|
42
|
+
var { className, variant = "default", size = "medium", indent = true, as: Component = "div" } = _a, rest = __rest(_a, ["className", "variant", "size", "indent", "as"]);
|
|
43
43
|
const localRef = useRef(null);
|
|
44
44
|
const mergedRef = useMergeRefs(localRef, ref);
|
|
45
45
|
useEffect(() => {
|
|
@@ -59,7 +59,7 @@ export const Accordion = forwardRef((_a, ref) => {
|
|
|
59
59
|
mounted: true,
|
|
60
60
|
variant,
|
|
61
61
|
} },
|
|
62
|
-
React.createElement(
|
|
62
|
+
React.createElement(Component, Object.assign({}, omit(rest, ["headingSize"]), { className: cl("aksel-accordion", className, `aksel-accordion--${size}`, { "aksel-accordion--indent": indent }), ref: mergedRef }))));
|
|
63
63
|
});
|
|
64
64
|
Accordion.Header = AccordionHeader;
|
|
65
65
|
Accordion.Content = AccordionContent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Accordion.js","sourceRoot":"","sources":["../../src/accordion/Accordion.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG7D,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,gBAA2C,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,eAAyC,MAAM,mBAAmB,CAAC;AAC1E,OAAO,aAAqC,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"Accordion.js","sourceRoot":"","sources":["../../src/accordion/Accordion.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG7D,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,gBAA2C,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,eAAyC,MAAM,mBAAmB,CAAC;AAC1E,OAAO,aAAqC,MAAM,iBAAiB,CAAC;AA6DpE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CACjC,CACE,EAOC,EACD,GAAG,EACH,EAAE;QATF,EACE,SAAS,EACT,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,QAAQ,EACf,MAAM,GAAG,IAAI,EACb,EAAE,EAAE,SAAS,GAAG,KAAK,OAEtB,EADI,IAAI,cANT,gDAOC,CADQ;IAIT,MAAM,QAAQ,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAE9C,SAAS,CAAC,GAAG,EAAE;;QACb,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC/D,OAAO;QACT,CAAC;QACD,IACE,MAAA,QAAQ,CAAC,OAAO,CAAC,kBAAkB,0CAAE,SAAS,CAAC,QAAQ,CACrD,iBAAiB,CAClB,EACD,CAAC;YACD,cAAc,CACZ,uHAAuH,EACvH,QAAQ,CAAC,OAAO,CACjB,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3C,cAAc,CACZ,mFAAmF,EACnF,QAAQ,CAAC,OAAO,CACjB,CAAC;QACJ,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,oBAAC,gBAAgB,CAAC,QAAQ,IACxB,KAAK,EAAE;YACL,IAAI;YACJ,OAAO,EAAE,IAAI;YACb,OAAO;SACR;QAED,oBAAC,SAAS,oBACJ,IAAI,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,CAAC,IAC/B,SAAS,EAAE,EAAE,CACX,iBAAiB,EACjB,SAAS,EACT,oBAAoB,IAAI,EAAE,EAC1B,EAAE,yBAAyB,EAAE,MAAM,EAAE,CACtC,EACD,GAAG,EAAE,SAAS,IACd,CACwB,CAC7B,CAAC;AACJ,CAAC,CACoB,CAAC;AAExB,SAAS,CAAC,MAAM,GAAG,eAAe,CAAC;AACnC,SAAS,CAAC,OAAO,GAAG,gBAAgB,CAAC;AACrC,SAAS,CAAC,IAAI,GAAG,aAAa,CAAC;AAE/B,eAAe,SAAS,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
declare function getFirstCell(tableRef: HTMLTableElement): Element | null;
|
|
2
|
-
declare function
|
|
3
|
-
export {
|
|
2
|
+
declare function focusInitialTableTarget(tableRef: HTMLTableElement | null): Element | null;
|
|
3
|
+
export { getFirstCell, focusInitialTableTarget };
|
|
@@ -2,15 +2,12 @@ import { focusCell } from "./table-focus.js";
|
|
|
2
2
|
function getFirstCell(tableRef) {
|
|
3
3
|
return tableRef.querySelector("td, th");
|
|
4
4
|
}
|
|
5
|
-
function
|
|
5
|
+
function focusInitialTableTarget(tableRef) {
|
|
6
6
|
if (!tableRef) {
|
|
7
7
|
return null;
|
|
8
8
|
}
|
|
9
|
-
if (activeCell) {
|
|
10
|
-
return activeCell;
|
|
11
|
-
}
|
|
12
9
|
const firstCell = getFirstCell(tableRef);
|
|
13
10
|
return firstCell ? focusCell(firstCell) : null;
|
|
14
11
|
}
|
|
15
|
-
export {
|
|
12
|
+
export { getFirstCell, focusInitialTableTarget };
|
|
16
13
|
//# sourceMappingURL=table-cell.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-cell.js","sourceRoot":"","sources":["../../../../src/data/table/helpers/table-cell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,SAAS,YAAY,CAAC,QAA0B;IAC9C,OAAO,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,
|
|
1
|
+
{"version":3,"file":"table-cell.js","sourceRoot":"","sources":["../../../../src/data/table/helpers/table-cell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,SAAS,YAAY,CAAC,QAA0B;IAC9C,OAAO,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,uBAAuB,CAC9B,QAAiC;IAEjC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACzC,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC;AAED,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,CAAC"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Restores the original tabIndex for a cell.
|
|
3
|
+
*/
|
|
4
|
+
declare function restoreTabIndex(cell: Element): void;
|
|
1
5
|
/**
|
|
2
6
|
* Makes sure only focusable and non-disabled elements are targeted when navigating through the table using keyboard interactions.
|
|
3
7
|
* Tries to find the most logical focus target inside a cell, by looking for commonly used interactive elements,
|
|
@@ -6,9 +10,29 @@
|
|
|
6
10
|
* If the assumed focus target is not the cell itself, we check if that element is hidden or disabled, and fall back to the cell if so,
|
|
7
11
|
* since we want to avoid/can't focus hidden/disabled elements.
|
|
8
12
|
*/
|
|
9
|
-
declare function
|
|
13
|
+
declare function findFocusableElementInCell(cell: Element): HTMLElement | null;
|
|
14
|
+
/**
|
|
15
|
+
* Checks if an element is visually hidden (but not SR-only).
|
|
16
|
+
*/
|
|
17
|
+
declare function isHiddenElement(el: HTMLElement): boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Checks if an element is disabled (via aria-disabled, fieldset, or native disabled property).
|
|
20
|
+
*/
|
|
21
|
+
declare function isDisabledElement(el: HTMLElement): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Determines the focus target and updates tabIndex if the cell itself should be focused.
|
|
24
|
+
* Returns null if no focusable target found.
|
|
25
|
+
*/
|
|
26
|
+
declare function prepareCellFocus(cell: Element): HTMLElement | null;
|
|
27
|
+
/**
|
|
28
|
+
* Applies focus and scroll to an element.
|
|
29
|
+
*/
|
|
30
|
+
declare function applyFocusAndScroll(element: HTMLElement): void;
|
|
31
|
+
/**
|
|
32
|
+
* Focuses a cell by finding its focusable target and applying focus with scroll.
|
|
33
|
+
*/
|
|
10
34
|
declare function focusCell(cell: Element): Element | null;
|
|
11
35
|
declare function focusCellAndUpdateTabIndex(nextCell: Element, previousCell?: Element | null, { shouldFocus }?: {
|
|
12
36
|
shouldFocus?: boolean;
|
|
13
37
|
}): Element | null;
|
|
14
|
-
export { focusCell, focusCellAndUpdateTabIndex,
|
|
38
|
+
export { applyFocusAndScroll, focusCell, focusCellAndUpdateTabIndex, findFocusableElementInCell, isDisabledElement, isHiddenElement, prepareCellFocus, restoreTabIndex, };
|
|
@@ -1,3 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WeakMap to store original tabIndex values for cells.
|
|
3
|
+
* Used to restore tabIndex when navigation moves away from a cell.
|
|
4
|
+
*/
|
|
5
|
+
const originalTabIndexMap = new WeakMap();
|
|
6
|
+
/**
|
|
7
|
+
* Stores the original tabIndex of a cell if not already stored, and returns it.
|
|
8
|
+
*/
|
|
9
|
+
function syncOriginalTabIndex(cell) {
|
|
10
|
+
if (!originalTabIndexMap.has(cell)) {
|
|
11
|
+
const current = cell.tabIndex;
|
|
12
|
+
originalTabIndexMap.set(cell, current);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Restores the original tabIndex for a cell.
|
|
17
|
+
*/
|
|
18
|
+
function restoreTabIndex(cell) {
|
|
19
|
+
const original = originalTabIndexMap.get(cell);
|
|
20
|
+
if (original !== undefined) {
|
|
21
|
+
cell.tabIndex = original;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
1
24
|
/**
|
|
2
25
|
* Makes sure only focusable and non-disabled elements are targeted when navigating through the table using keyboard interactions.
|
|
3
26
|
* Tries to find the most logical focus target inside a cell, by looking for commonly used interactive elements,
|
|
@@ -6,7 +29,7 @@
|
|
|
6
29
|
* If the assumed focus target is not the cell itself, we check if that element is hidden or disabled, and fall back to the cell if so,
|
|
7
30
|
* since we want to avoid/can't focus hidden/disabled elements.
|
|
8
31
|
*/
|
|
9
|
-
function
|
|
32
|
+
function findFocusableElementInCell(cell) {
|
|
10
33
|
const el = cell;
|
|
11
34
|
if (!el || isHiddenElement(el)) {
|
|
12
35
|
return null;
|
|
@@ -24,8 +47,7 @@ function getFocusableTarget(cell) {
|
|
|
24
47
|
return el;
|
|
25
48
|
}
|
|
26
49
|
/**
|
|
27
|
-
*
|
|
28
|
-
* - validate this implementation against SR-only elements
|
|
50
|
+
* Checks if an element is visually hidden (but not SR-only).
|
|
29
51
|
*/
|
|
30
52
|
function isHiddenElement(el) {
|
|
31
53
|
if (el.hidden) {
|
|
@@ -34,6 +56,9 @@ function isHiddenElement(el) {
|
|
|
34
56
|
const style = window.getComputedStyle(el);
|
|
35
57
|
return style.display === "none" || style.visibility === "hidden";
|
|
36
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* Checks if an element is disabled (via aria-disabled, fieldset, or native disabled property).
|
|
61
|
+
*/
|
|
37
62
|
function isDisabledElement(el) {
|
|
38
63
|
if (el.getAttribute("aria-disabled") === "true") {
|
|
39
64
|
return true;
|
|
@@ -49,32 +74,53 @@ function isDisabledElement(el) {
|
|
|
49
74
|
}
|
|
50
75
|
return false;
|
|
51
76
|
}
|
|
52
|
-
|
|
53
|
-
|
|
77
|
+
/**
|
|
78
|
+
* Determines the focus target and updates tabIndex if the cell itself should be focused.
|
|
79
|
+
* Returns null if no focusable target found.
|
|
80
|
+
*/
|
|
81
|
+
function prepareCellFocus(cell) {
|
|
82
|
+
const focusTarget = findFocusableElementInCell(cell);
|
|
54
83
|
if (!focusTarget) {
|
|
55
84
|
return null;
|
|
56
85
|
}
|
|
57
86
|
if (focusTarget === cell) {
|
|
58
87
|
cell.tabIndex = 0;
|
|
59
88
|
}
|
|
60
|
-
focusTarget
|
|
89
|
+
return focusTarget;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Applies focus and scroll to an element.
|
|
93
|
+
*/
|
|
94
|
+
function applyFocusAndScroll(element) {
|
|
95
|
+
element.focus({
|
|
61
96
|
preventScroll: true,
|
|
62
97
|
});
|
|
63
|
-
|
|
98
|
+
element.scrollIntoView({
|
|
64
99
|
behavior: "smooth",
|
|
65
100
|
block: "nearest",
|
|
66
101
|
inline: "nearest",
|
|
67
102
|
});
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Focuses a cell by finding its focusable target and applying focus with scroll.
|
|
106
|
+
*/
|
|
107
|
+
function focusCell(cell) {
|
|
108
|
+
const focusTarget = prepareCellFocus(cell);
|
|
109
|
+
if (!focusTarget) {
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
applyFocusAndScroll(focusTarget);
|
|
68
113
|
return cell;
|
|
69
114
|
}
|
|
70
115
|
function focusCellAndUpdateTabIndex(nextCell, previousCell, { shouldFocus = true } = {}) {
|
|
71
116
|
if (previousCell && previousCell !== nextCell) {
|
|
72
|
-
previousCell
|
|
117
|
+
syncOriginalTabIndex(previousCell);
|
|
118
|
+
restoreTabIndex(previousCell);
|
|
73
119
|
}
|
|
74
120
|
if (!shouldFocus) {
|
|
75
121
|
return nextCell;
|
|
76
122
|
}
|
|
77
123
|
return focusCell(nextCell);
|
|
78
124
|
}
|
|
79
|
-
export { focusCell, focusCellAndUpdateTabIndex,
|
|
125
|
+
export { applyFocusAndScroll, focusCell, focusCellAndUpdateTabIndex, findFocusableElementInCell, isDisabledElement, isHiddenElement, prepareCellFocus, restoreTabIndex, };
|
|
80
126
|
//# sourceMappingURL=table-focus.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-focus.js","sourceRoot":"","sources":["../../../../src/data/table/helpers/table-focus.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,SAAS,
|
|
1
|
+
{"version":3,"file":"table-focus.js","sourceRoot":"","sources":["../../../../src/data/table/helpers/table-focus.ts"],"names":[],"mappings":"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"}
|