@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.
Files changed (73) hide show
  1. package/cjs/accordion/Accordion.d.ts +10 -0
  2. package/cjs/accordion/Accordion.js +2 -2
  3. package/cjs/accordion/Accordion.js.map +1 -1
  4. package/cjs/data/table/helpers/table-cell.d.ts +2 -2
  5. package/cjs/data/table/helpers/table-cell.js +2 -5
  6. package/cjs/data/table/helpers/table-cell.js.map +1 -1
  7. package/cjs/data/table/helpers/table-focus.d.ts +26 -2
  8. package/cjs/data/table/helpers/table-focus.js +60 -9
  9. package/cjs/data/table/helpers/table-focus.js.map +1 -1
  10. package/cjs/data/table/helpers/table-grid-nav.d.ts +45 -9
  11. package/cjs/data/table/helpers/table-grid-nav.js +108 -24
  12. package/cjs/data/table/helpers/table-grid-nav.js.map +1 -1
  13. package/cjs/data/table/helpers/table-keyboard.d.ts +24 -3
  14. package/cjs/data/table/helpers/table-keyboard.js +30 -5
  15. package/cjs/data/table/helpers/table-keyboard.js.map +1 -1
  16. package/cjs/data/table/hooks/useGridCache.d.ts +17 -0
  17. package/cjs/data/table/hooks/useGridCache.js +65 -0
  18. package/cjs/data/table/hooks/useGridCache.js.map +1 -0
  19. package/cjs/data/table/root/DataTableRoot.js +2 -2
  20. package/cjs/data/table/root/DataTableRoot.js.map +1 -1
  21. package/cjs/data/table/root/useTableKeyboardNav.d.ts +9 -3
  22. package/cjs/data/table/root/useTableKeyboardNav.js +53 -95
  23. package/cjs/data/table/root/useTableKeyboardNav.js.map +1 -1
  24. package/cjs/link-card/LinkCard.d.ts +13 -0
  25. package/cjs/link-card/LinkCard.js +2 -2
  26. package/cjs/link-card/LinkCard.js.map +1 -1
  27. package/cjs/process/Process.d.ts +1 -1
  28. package/cjs/utils/i18n/locales/nb.d.ts +154 -75
  29. package/cjs/utils/i18n/locales/nb.js +154 -75
  30. package/cjs/utils/i18n/locales/nb.js.map +1 -1
  31. package/esm/accordion/Accordion.d.ts +10 -0
  32. package/esm/accordion/Accordion.js +2 -2
  33. package/esm/accordion/Accordion.js.map +1 -1
  34. package/esm/data/table/helpers/table-cell.d.ts +2 -2
  35. package/esm/data/table/helpers/table-cell.js +2 -5
  36. package/esm/data/table/helpers/table-cell.js.map +1 -1
  37. package/esm/data/table/helpers/table-focus.d.ts +26 -2
  38. package/esm/data/table/helpers/table-focus.js +55 -9
  39. package/esm/data/table/helpers/table-focus.js.map +1 -1
  40. package/esm/data/table/helpers/table-grid-nav.d.ts +45 -9
  41. package/esm/data/table/helpers/table-grid-nav.js +102 -23
  42. package/esm/data/table/helpers/table-grid-nav.js.map +1 -1
  43. package/esm/data/table/helpers/table-keyboard.d.ts +24 -3
  44. package/esm/data/table/helpers/table-keyboard.js +29 -4
  45. package/esm/data/table/helpers/table-keyboard.js.map +1 -1
  46. package/esm/data/table/hooks/useGridCache.d.ts +17 -0
  47. package/esm/data/table/hooks/useGridCache.js +63 -0
  48. package/esm/data/table/hooks/useGridCache.js.map +1 -0
  49. package/esm/data/table/root/DataTableRoot.js +2 -2
  50. package/esm/data/table/root/DataTableRoot.js.map +1 -1
  51. package/esm/data/table/root/useTableKeyboardNav.d.ts +9 -3
  52. package/esm/data/table/root/useTableKeyboardNav.js +58 -100
  53. package/esm/data/table/root/useTableKeyboardNav.js.map +1 -1
  54. package/esm/link-card/LinkCard.d.ts +13 -0
  55. package/esm/link-card/LinkCard.js +2 -2
  56. package/esm/link-card/LinkCard.js.map +1 -1
  57. package/esm/process/Process.d.ts +1 -1
  58. package/esm/utils/i18n/locales/nb.d.ts +154 -75
  59. package/esm/utils/i18n/locales/nb.js +154 -75
  60. package/esm/utils/i18n/locales/nb.js.map +1 -1
  61. package/package.json +3 -3
  62. package/src/accordion/Accordion.tsx +19 -2
  63. package/src/data/table/helpers/table-cell.ts +2 -7
  64. package/src/data/table/helpers/table-focus.ts +70 -9
  65. package/src/data/table/helpers/table-grid-nav.ts +146 -31
  66. package/src/data/table/helpers/table-keyboard.test.ts +27 -27
  67. package/src/data/table/helpers/table-keyboard.ts +43 -4
  68. package/src/data/table/hooks/useGridCache.ts +73 -0
  69. package/src/data/table/root/DataTableRoot.tsx +1 -2
  70. package/src/data/table/root/useTableKeyboardNav.ts +95 -125
  71. package/src/link-card/LinkCard.tsx +15 -1
  72. package/src/process/Process.tsx +1 -1
  73. 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":"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"}
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("div", Object.assign({}, omit(rest, ["headingSize"]), { className: cl("aksel-accordion", className, `aksel-accordion--${size}`, { "aksel-accordion--indent": indent }), ref: mergedRef }))));
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;AAmDpE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CACjC,CACE,EAA2E,EAC3E,GAAG,EACH,EAAE;QAFF,EAAE,SAAS,EAAE,OAAO,GAAG,SAAS,EAAE,IAAI,GAAG,QAAQ,EAAE,MAAM,GAAG,IAAI,OAAW,EAAN,IAAI,cAAzE,0CAA2E,CAAF;IAGzE,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,6CACM,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
+ {"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 getActiveCell(tableRef: HTMLTableElement | null, activeCell: Element | null): Element | null;
3
- export { getActiveCell, getFirstCell };
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 getActiveCell(tableRef, activeCell) {
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 { getActiveCell, getFirstCell };
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,aAAa,CACpB,QAAiC,EACjC,UAA0B;IAE1B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,UAAU,CAAC;IACpB,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,aAAa,EAAE,YAAY,EAAE,CAAC"}
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 getFocusableTarget(cell: Element): HTMLElement | null;
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, getFocusableTarget };
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 getFocusableTarget(cell) {
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
- * TODO:
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
- function focusCell(cell) {
53
- const focusTarget = getFocusableTarget(cell);
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.focus({
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
- focusTarget.scrollIntoView({
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.tabIndex = -1;
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, getFocusableTarget };
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,kBAAkB,CAAC,IAAa;IACvC,MAAM,EAAE,GAAG,IAA0B,CAAC;IACtC,IAAI,CAAC,EAAE,IAAI,eAAe,CAAC,EAAE,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CACpC,oGAAoG,CACrG,CAAC;IAEF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAgB,CAAC;QAC/C,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;YACjE,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CAAC,EAAe;IACtC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAC1C,OAAO,KAAK,CAAC,OAAO,KAAK,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC;AACnE,CAAC;AAED,SAAS,iBAAiB,CAAC,EAAe;IACxC,IAAI,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,MAAM,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IACE,EAAE,YAAY,iBAAiB;QAC/B,EAAE,YAAY,gBAAgB;QAC9B,EAAE,YAAY,iBAAiB;QAC/B,EAAE,YAAY,mBAAmB,EACjC,CAAC;QACD,OAAO,EAAE,CAAC,QAAQ,CAAC;IACrB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAC,IAAa;IAC9B,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACxB,IAAoB,CAAC,QAAQ,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,WAAW,CAAC,KAAK,CAAC;QAChB,aAAa,EAAE,IAAI;KACpB,CAAC,CAAC;IAEH,WAAW,CAAC,cAAc,CAAC;QACzB,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,SAAS;KAClB,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,0BAA0B,CACjC,QAAiB,EACjB,YAA6B,EAC7B,EAAE,WAAW,GAAG,IAAI,KAAgC,EAAE;IAEtD,IAAI,YAAY,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC7C,YAA4B,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"table-focus.js","sourceRoot":"","sources":["../../../../src/data/table/helpers/table-focus.ts"],"names":[],"mappings":"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"}