@navikt/ds-react 7.4.2 → 7.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 (141) hide show
  1. package/cjs/accordion/Accordion.d.ts +1 -0
  2. package/cjs/accordion/Accordion.js.map +1 -1
  3. package/cjs/accordion/AccordionContent.js +3 -1
  4. package/cjs/accordion/AccordionContent.js.map +1 -1
  5. package/cjs/accordion/AccordionHeader.js +8 -1
  6. package/cjs/accordion/AccordionHeader.js.map +1 -1
  7. package/cjs/accordion/AccordionItem.js +1 -1
  8. package/cjs/accordion/AccordionItem.js.map +1 -1
  9. package/cjs/chips/Toggle.js +2 -2
  10. package/cjs/chips/Toggle.js.map +1 -1
  11. package/cjs/date/datepicker/DatePicker.js +4 -3
  12. package/cjs/date/datepicker/DatePicker.js.map +1 -1
  13. package/cjs/date/monthpicker/MonthPicker.js +4 -3
  14. package/cjs/date/monthpicker/MonthPicker.js.map +1 -1
  15. package/cjs/date/parts/DateInput.js +1 -1
  16. package/cjs/date/parts/DateInput.js.map +1 -1
  17. package/cjs/form/ReadOnlyIcon.d.ts +2 -4
  18. package/cjs/form/ReadOnlyIcon.js +5 -7
  19. package/cjs/form/ReadOnlyIcon.js.map +1 -1
  20. package/cjs/form/checkbox/Checkbox.js +1 -1
  21. package/cjs/form/checkbox/Checkbox.js.map +1 -1
  22. package/cjs/form/combobox/Combobox.d.ts +1 -1
  23. package/cjs/form/combobox/Combobox.js +1 -1
  24. package/cjs/form/combobox/Combobox.js.map +1 -1
  25. package/cjs/form/combobox/Input/InputController.d.ts +1 -1
  26. package/cjs/form/error-summary/ErrorSummary.d.ts +1 -1
  27. package/cjs/form/error-summary/ErrorSummary.js +1 -1
  28. package/cjs/form/fieldset/Fieldset.js +2 -1
  29. package/cjs/form/fieldset/Fieldset.js.map +1 -1
  30. package/cjs/form/select/Select.js +1 -1
  31. package/cjs/form/select/Select.js.map +1 -1
  32. package/cjs/form/switch/Switch.js +9 -9
  33. package/cjs/form/switch/Switch.js.map +1 -1
  34. package/cjs/form/textarea/Textarea.d.ts +0 -3
  35. package/cjs/form/textarea/Textarea.js +1 -1
  36. package/cjs/form/textarea/Textarea.js.map +1 -1
  37. package/cjs/form/textfield/TextField.js +1 -1
  38. package/cjs/form/textfield/TextField.js.map +1 -1
  39. package/cjs/overlays/action-menu/ActionMenu.js +11 -11
  40. package/cjs/overlays/action-menu/ActionMenu.js.map +1 -1
  41. package/cjs/pagination/Pagination.d.ts +9 -3
  42. package/cjs/pagination/Pagination.js +7 -3
  43. package/cjs/pagination/Pagination.js.map +1 -1
  44. package/cjs/provider/index.d.ts +1 -0
  45. package/cjs/provider/index.js +4 -1
  46. package/cjs/provider/index.js.map +1 -1
  47. package/cjs/provider/theme/AkselTheme.d.ts +11 -0
  48. package/cjs/provider/theme/AkselTheme.js +50 -0
  49. package/cjs/provider/theme/AkselTheme.js.map +1 -0
  50. package/cjs/util/i18n/locales/en.d.ts +1 -0
  51. package/cjs/util/i18n/locales/en.js +1 -0
  52. package/cjs/util/i18n/locales/en.js.map +1 -1
  53. package/cjs/util/i18n/locales/nb.d.ts +1 -0
  54. package/cjs/util/i18n/locales/nb.js +1 -0
  55. package/cjs/util/i18n/locales/nb.js.map +1 -1
  56. package/cjs/util/i18n/locales/nn.d.ts +1 -0
  57. package/cjs/util/i18n/locales/nn.js +1 -0
  58. package/cjs/util/i18n/locales/nn.js.map +1 -1
  59. package/esm/accordion/Accordion.d.ts +1 -0
  60. package/esm/accordion/Accordion.js.map +1 -1
  61. package/esm/accordion/AccordionContent.js +3 -1
  62. package/esm/accordion/AccordionContent.js.map +1 -1
  63. package/esm/accordion/AccordionHeader.js +8 -1
  64. package/esm/accordion/AccordionHeader.js.map +1 -1
  65. package/esm/accordion/AccordionItem.js +1 -1
  66. package/esm/accordion/AccordionItem.js.map +1 -1
  67. package/esm/chips/Toggle.js +2 -2
  68. package/esm/chips/Toggle.js.map +1 -1
  69. package/esm/date/datepicker/DatePicker.js +5 -4
  70. package/esm/date/datepicker/DatePicker.js.map +1 -1
  71. package/esm/date/monthpicker/MonthPicker.js +5 -4
  72. package/esm/date/monthpicker/MonthPicker.js.map +1 -1
  73. package/esm/date/parts/DateInput.js +1 -1
  74. package/esm/date/parts/DateInput.js.map +1 -1
  75. package/esm/form/ReadOnlyIcon.d.ts +2 -4
  76. package/esm/form/ReadOnlyIcon.js +3 -6
  77. package/esm/form/ReadOnlyIcon.js.map +1 -1
  78. package/esm/form/checkbox/Checkbox.js +2 -2
  79. package/esm/form/checkbox/Checkbox.js.map +1 -1
  80. package/esm/form/combobox/Combobox.d.ts +1 -1
  81. package/esm/form/combobox/Combobox.js +2 -2
  82. package/esm/form/combobox/Combobox.js.map +1 -1
  83. package/esm/form/combobox/Input/InputController.d.ts +1 -1
  84. package/esm/form/error-summary/ErrorSummary.d.ts +1 -1
  85. package/esm/form/error-summary/ErrorSummary.js +1 -1
  86. package/esm/form/fieldset/Fieldset.js +3 -2
  87. package/esm/form/fieldset/Fieldset.js.map +1 -1
  88. package/esm/form/select/Select.js +2 -2
  89. package/esm/form/select/Select.js.map +1 -1
  90. package/esm/form/switch/Switch.js +10 -10
  91. package/esm/form/switch/Switch.js.map +1 -1
  92. package/esm/form/textarea/Textarea.d.ts +0 -3
  93. package/esm/form/textarea/Textarea.js +1 -1
  94. package/esm/form/textarea/Textarea.js.map +1 -1
  95. package/esm/form/textfield/TextField.js +1 -1
  96. package/esm/form/textfield/TextField.js.map +1 -1
  97. package/esm/overlays/action-menu/ActionMenu.js +11 -11
  98. package/esm/overlays/action-menu/ActionMenu.js.map +1 -1
  99. package/esm/pagination/Pagination.d.ts +9 -3
  100. package/esm/pagination/Pagination.js +7 -3
  101. package/esm/pagination/Pagination.js.map +1 -1
  102. package/esm/provider/index.d.ts +1 -0
  103. package/esm/provider/index.js +1 -0
  104. package/esm/provider/index.js.map +1 -1
  105. package/esm/provider/theme/AkselTheme.d.ts +11 -0
  106. package/esm/provider/theme/AkselTheme.js +20 -0
  107. package/esm/provider/theme/AkselTheme.js.map +1 -0
  108. package/esm/util/i18n/locales/en.d.ts +1 -0
  109. package/esm/util/i18n/locales/en.js +1 -0
  110. package/esm/util/i18n/locales/en.js.map +1 -1
  111. package/esm/util/i18n/locales/nb.d.ts +1 -0
  112. package/esm/util/i18n/locales/nb.js +1 -0
  113. package/esm/util/i18n/locales/nb.js.map +1 -1
  114. package/esm/util/i18n/locales/nn.d.ts +1 -0
  115. package/esm/util/i18n/locales/nn.js +1 -0
  116. package/esm/util/i18n/locales/nn.js.map +1 -1
  117. package/package.json +5 -5
  118. package/src/accordion/Accordion.tsx +1 -0
  119. package/src/accordion/AccordionContent.tsx +8 -1
  120. package/src/accordion/AccordionHeader.tsx +11 -1
  121. package/src/accordion/AccordionItem.tsx +1 -0
  122. package/src/chips/Toggle.tsx +2 -1
  123. package/src/date/datepicker/DatePicker.tsx +5 -4
  124. package/src/date/monthpicker/MonthPicker.tsx +5 -4
  125. package/src/date/parts/DateInput.tsx +1 -1
  126. package/src/form/ReadOnlyIcon.tsx +14 -17
  127. package/src/form/checkbox/Checkbox.tsx +2 -4
  128. package/src/form/combobox/Combobox.tsx +2 -2
  129. package/src/form/error-summary/ErrorSummary.tsx +1 -1
  130. package/src/form/fieldset/Fieldset.tsx +3 -2
  131. package/src/form/select/Select.tsx +2 -2
  132. package/src/form/switch/Switch.tsx +9 -10
  133. package/src/form/textarea/Textarea.tsx +1 -4
  134. package/src/form/textfield/TextField.tsx +1 -1
  135. package/src/overlays/action-menu/ActionMenu.tsx +11 -11
  136. package/src/pagination/Pagination.tsx +16 -6
  137. package/src/provider/index.ts +4 -0
  138. package/src/provider/theme/AkselTheme.tsx +52 -0
  139. package/src/util/i18n/locales/en.ts +1 -0
  140. package/src/util/i18n/locales/nb.ts +1 -0
  141. package/src/util/i18n/locales/nn.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/provider/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAsB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/provider/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAsB,MAAM,YAAY,CAAC;AACrE,OAAO,EACL,UAAU,IAAI,iBAAiB,EAC/B,aAAa,IAAI,oBAAoB,GACtC,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ type AkselThemeContext = {
3
+ theme: "light" | "dark";
4
+ };
5
+ declare const useAkselTheme: <S extends boolean = true>(strict?: S) => S extends true ? AkselThemeContext : AkselThemeContext | undefined;
6
+ declare const AkselTheme: React.ForwardRefExoticComponent<{
7
+ children: React.ReactNode;
8
+ className?: string;
9
+ hasBackground?: boolean;
10
+ } & AkselThemeContext & React.RefAttributes<HTMLDivElement>>;
11
+ export { AkselTheme, useAkselTheme };
@@ -0,0 +1,20 @@
1
+ import cl from "clsx";
2
+ import React, { forwardRef } from "react";
3
+ import { createContext } from "../../util/create-context.js";
4
+ const [ThemeProvider, useAkselTheme] = createContext({
5
+ errorMessage: "useAkselTheme must be used within AkselThemeProvider",
6
+ hookName: "useAkselTheme",
7
+ name: "AkselThemeProvider",
8
+ providerName: "AkselThemeProvider",
9
+ });
10
+ const AkselTheme = forwardRef((props, ref) => {
11
+ var _a;
12
+ const context = useAkselTheme(false);
13
+ const { children, className, theme = (_a = context === null || context === void 0 ? void 0 : context.theme) !== null && _a !== void 0 ? _a : "light", hasBackground: hasBackgroundProp = true, } = props;
14
+ const isRoot = context === undefined;
15
+ const hasBackground = hasBackgroundProp !== null && hasBackgroundProp !== void 0 ? hasBackgroundProp : (isRoot || props.theme !== undefined);
16
+ return (React.createElement(ThemeProvider, { theme: theme },
17
+ React.createElement("div", { ref: ref, className: cl("navds-theme", className, theme), "data-background": hasBackground }, children)));
18
+ });
19
+ export { AkselTheme, useAkselTheme };
20
+ //# sourceMappingURL=AkselTheme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AkselTheme.js","sourceRoot":"","sources":["../../../src/provider/theme/AkselTheme.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,MAAM,CAAC;AACtB,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAM1D,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,GAAG,aAAa,CAAoB;IACtE,YAAY,EAAE,sDAAsD;IACpE,QAAQ,EAAE,eAAe;IACzB,IAAI,EAAE,oBAAoB;IAC1B,YAAY,EAAE,oBAAoB;CACnC,CAAC,CAAC;AAQH,MAAM,UAAU,GAAG,UAAU,CAC3B,CAAC,KAAsB,EAAE,GAAG,EAAE,EAAE;;IAC9B,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAErC,MAAM,EACJ,QAAQ,EACR,SAAS,EACT,KAAK,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,mCAAI,OAAO,EACjC,aAAa,EAAE,iBAAiB,GAAG,IAAI,GACxC,GAAG,KAAK,CAAC;IAEV,MAAM,MAAM,GAAG,OAAO,KAAK,SAAS,CAAC;IAErC,MAAM,aAAa,GACjB,iBAAiB,aAAjB,iBAAiB,cAAjB,iBAAiB,GAAI,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;IAE7D,OAAO,CACL,oBAAC,aAAa,IAAC,KAAK,EAAE,KAAK;QACzB,6BACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK,CAAC,qBAC7B,aAAa,IAE7B,QAAQ,CACL,CACQ,CACjB,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC"}
@@ -2,6 +2,7 @@ declare const _default: {
2
2
  global: {
3
3
  showMore: string;
4
4
  showLess: string;
5
+ readOnly: string;
5
6
  };
6
7
  FileUpload: {
7
8
  dropzone: {
@@ -2,6 +2,7 @@ export default {
2
2
  global: {
3
3
  showMore: "Show more",
4
4
  showLess: "Show less",
5
+ readOnly: "Read-only",
5
6
  },
6
7
  FileUpload: {
7
8
  dropzone: {
@@ -1 +1 @@
1
- {"version":3,"file":"en.js","sourceRoot":"","sources":["../../../../src/util/i18n/locales/en.ts"],"names":[],"mappings":"AAEA,eAAe;IACb,MAAM,EAAE;QACN,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,WAAW;KACtB;IAED,UAAU,EAAE;QACV,QAAQ,EAAE;YACR,MAAM,EAAE,aAAa;YACrB,cAAc,EAAE,cAAc;YAC9B,WAAW,EAAE,yBAAyB;YACtC,mBAAmB,EAAE,0BAA0B;YAC/C,IAAI,EAAE,MAAM;YACZ,EAAE,EAAE,IAAI;YACR,QAAQ,EAAE,sBAAsB;YAChC,iBAAiB,EAAE,8BAA8B;SAClD;QACD,IAAI,EAAE;YACJ,gBAAgB,EAAE,8BAA8B;YAChD,iBAAiB,EAAE,aAAa;YAChC,SAAS,EAAE,YAAY;YACvB,WAAW,EAAE,cAAc;SAC5B;KACF;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,mCAAmC;QACzC,YAAY,EAAE,gBAAgB;QAC9B,YAAY,EAAE,gBAAgB;KAC/B;IACD,KAAK,EAAE;QACL,UAAU,EAAE,aAAa;QACzB,YAAY,EAAE,eAAe;QAC7B,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,SAAS;KACnB;IACD,KAAK,EAAE;QACL,SAAS,EAAE;YACT,WAAW,EAAE,QAAQ;SACtB;KACF;IACD,YAAY,EAAE;QACZ,OAAO,EAAE,gEAAgE;KAC1E;IACD,MAAM,EAAE;QACN,KAAK,EAAE,UAAU;KAClB;IACD,KAAK,EAAE;QACL,KAAK,EAAE,OAAO;KACf;IACD,UAAU,EAAE;QACV,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;KACb;IACD,WAAW,EAAE;QACX,QAAQ,EAAE,oBAAoB;QAC9B,eAAe,EACb,2DAA2D;KAC9D;IACD,MAAM,EAAE;QACN,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,QAAQ;KACjB;IACD,QAAQ,EAAE;QACR,SAAS,EAAE,+CAA+C;QAC1D,YAAY,EAAE,6BAA6B;QAC3C,SAAS,EAAE,yBAAyB;KACrC;CACqB,CAAC"}
1
+ {"version":3,"file":"en.js","sourceRoot":"","sources":["../../../../src/util/i18n/locales/en.ts"],"names":[],"mappings":"AAEA,eAAe;IACb,MAAM,EAAE;QACN,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,WAAW;KACtB;IAED,UAAU,EAAE;QACV,QAAQ,EAAE;YACR,MAAM,EAAE,aAAa;YACrB,cAAc,EAAE,cAAc;YAC9B,WAAW,EAAE,yBAAyB;YACtC,mBAAmB,EAAE,0BAA0B;YAC/C,IAAI,EAAE,MAAM;YACZ,EAAE,EAAE,IAAI;YACR,QAAQ,EAAE,sBAAsB;YAChC,iBAAiB,EAAE,8BAA8B;SAClD;QACD,IAAI,EAAE;YACJ,gBAAgB,EAAE,8BAA8B;YAChD,iBAAiB,EAAE,aAAa;YAChC,SAAS,EAAE,YAAY;YACvB,WAAW,EAAE,cAAc;SAC5B;KACF;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,mCAAmC;QACzC,YAAY,EAAE,gBAAgB;QAC9B,YAAY,EAAE,gBAAgB;KAC/B;IACD,KAAK,EAAE;QACL,UAAU,EAAE,aAAa;QACzB,YAAY,EAAE,eAAe;QAC7B,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,SAAS;KACnB;IACD,KAAK,EAAE;QACL,SAAS,EAAE;YACT,WAAW,EAAE,QAAQ;SACtB;KACF;IACD,YAAY,EAAE;QACZ,OAAO,EAAE,gEAAgE;KAC1E;IACD,MAAM,EAAE;QACN,KAAK,EAAE,UAAU;KAClB;IACD,KAAK,EAAE;QACL,KAAK,EAAE,OAAO;KACf;IACD,UAAU,EAAE;QACV,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;KACb;IACD,WAAW,EAAE;QACX,QAAQ,EAAE,oBAAoB;QAC9B,eAAe,EACb,2DAA2D;KAC9D;IACD,MAAM,EAAE;QACN,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,QAAQ;KACjB;IACD,QAAQ,EAAE;QACR,SAAS,EAAE,+CAA+C;QAC1D,YAAY,EAAE,6BAA6B;QAC3C,SAAS,EAAE,yBAAyB;KACrC;CACqB,CAAC"}
@@ -2,6 +2,7 @@ declare const _default: {
2
2
  global: {
3
3
  showMore: string;
4
4
  showLess: string;
5
+ readOnly: string;
5
6
  };
6
7
  FileUpload: {
7
8
  dropzone: {
@@ -2,6 +2,7 @@ export default {
2
2
  global: {
3
3
  showMore: "Vis mer",
4
4
  showLess: "Vis mindre",
5
+ readOnly: "Skrivebeskyttet",
5
6
  },
6
7
  FileUpload: {
7
8
  dropzone: {
@@ -1 +1 @@
1
- {"version":3,"file":"nb.js","sourceRoot":"","sources":["../../../../src/util/i18n/locales/nb.ts"],"names":[],"mappings":"AAQA,eAAe;IACb,MAAM,EAAE;QACN,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,YAAY;KACvB;IAED,UAAU,EAAE;QACV,QAAQ,EAAE;YACR,MAAM,EAAE,UAAU;YAClB,cAAc,EAAE,YAAY;YAC5B,WAAW,EAAE,wBAAwB;YACrC,mBAAmB,EAAE,wBAAwB;YAC7C,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,OAAO;YACX,QAAQ,EAAE,6BAA6B;YACvC,iBAAiB,EAAE,mCAAmC;SACvD;QACD,IAAI,EAAE;YACJ,gBAAgB,EAAE,gCAAgC;YAClD,iBAAiB,EAAE,aAAa;YAChC,SAAS,EAAE,aAAa;YACxB,WAAW,EAAE,aAAa;SAC3B;KACF;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,mCAAmC;QACzC,YAAY,EAAE,eAAe;QAC7B,YAAY,EAAE,iBAAiB;KAChC;IACD,KAAK,EAAE;QACL,UAAU,EAAE,aAAa;QACzB,YAAY,EAAE,cAAc;QAC5B,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,UAAU;KACpB;IACD,KAAK,EAAE;QACL,SAAS,EAAE;YACT,8DAA8D;YAC9D,WAAW,EAAE,OAAO;SACrB;KACF;IACD,YAAY,EAAE;QACZ,OAAO,EAAE,iDAAiD;KAC3D;IACD,MAAM,EAAE;QACN,KAAK,EAAE,SAAS;KACjB;IACD,KAAK,EAAE;QACL,KAAK,EAAE,MAAM;KACd;IACD,UAAU,EAAE;QACV,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,OAAO;KACd;IACD,WAAW,EAAE;QACX,QAAQ,EAAE,oBAAoB;QAC9B,eAAe,EACb,gEAAgE;KACnE;IACD,MAAM,EAAE;QACN,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,KAAK;KACd;IACD,QAAQ,EAAE;QACR,0BAA0B;QAC1B,SAAS,EAAE,6CAA6C;QACxD,YAAY,EAAE,sBAAsB;QACpC,SAAS,EAAE,oBAAoB;KAChC;CACuB,CAAC"}
1
+ {"version":3,"file":"nb.js","sourceRoot":"","sources":["../../../../src/util/i18n/locales/nb.ts"],"names":[],"mappings":"AAQA,eAAe;IACb,MAAM,EAAE;QACN,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,YAAY;QACtB,QAAQ,EAAE,iBAAiB;KAC5B;IAED,UAAU,EAAE;QACV,QAAQ,EAAE;YACR,MAAM,EAAE,UAAU;YAClB,cAAc,EAAE,YAAY;YAC5B,WAAW,EAAE,wBAAwB;YACrC,mBAAmB,EAAE,wBAAwB;YAC7C,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,OAAO;YACX,QAAQ,EAAE,6BAA6B;YACvC,iBAAiB,EAAE,mCAAmC;SACvD;QACD,IAAI,EAAE;YACJ,gBAAgB,EAAE,gCAAgC;YAClD,iBAAiB,EAAE,aAAa;YAChC,SAAS,EAAE,aAAa;YACxB,WAAW,EAAE,aAAa;SAC3B;KACF;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,mCAAmC;QACzC,YAAY,EAAE,eAAe;QAC7B,YAAY,EAAE,iBAAiB;KAChC;IACD,KAAK,EAAE;QACL,UAAU,EAAE,aAAa;QACzB,YAAY,EAAE,cAAc;QAC5B,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,UAAU;KACpB;IACD,KAAK,EAAE;QACL,SAAS,EAAE;YACT,8DAA8D;YAC9D,WAAW,EAAE,OAAO;SACrB;KACF;IACD,YAAY,EAAE;QACZ,OAAO,EAAE,iDAAiD;KAC3D;IACD,MAAM,EAAE;QACN,KAAK,EAAE,SAAS;KACjB;IACD,KAAK,EAAE;QACL,KAAK,EAAE,MAAM;KACd;IACD,UAAU,EAAE;QACV,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,OAAO;KACd;IACD,WAAW,EAAE;QACX,QAAQ,EAAE,oBAAoB;QAC9B,eAAe,EACb,gEAAgE;KACnE;IACD,MAAM,EAAE;QACN,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,KAAK;KACd;IACD,QAAQ,EAAE;QACR,0BAA0B;QAC1B,SAAS,EAAE,6CAA6C;QACxD,YAAY,EAAE,sBAAsB;QACpC,SAAS,EAAE,oBAAoB;KAChC;CACuB,CAAC"}
@@ -2,6 +2,7 @@ declare const _default: {
2
2
  global: {
3
3
  showMore: string;
4
4
  showLess: string;
5
+ readOnly: string;
5
6
  };
6
7
  FileUpload: {
7
8
  dropzone: {
@@ -2,6 +2,7 @@ export default {
2
2
  global: {
3
3
  showMore: "Vis meir",
4
4
  showLess: "Vis mindre",
5
+ readOnly: "Skrivebeskytta",
5
6
  },
6
7
  FileUpload: {
7
8
  dropzone: {
@@ -1 +1 @@
1
- {"version":3,"file":"nn.js","sourceRoot":"","sources":["../../../../src/util/i18n/locales/nn.ts"],"names":[],"mappings":"AAEA,eAAe;IACb,MAAM,EAAE;QACN,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,YAAY;KACvB;IAED,UAAU,EAAE;QACV,QAAQ,EAAE;YACR,MAAM,EAAE,SAAS;YACjB,cAAc,EAAE,WAAW;YAC3B,WAAW,EAAE,uBAAuB;YACpC,mBAAmB,EAAE,wBAAwB;YAC7C,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,OAAO;YACX,QAAQ,EAAE,6BAA6B;YACvC,iBAAiB,EAAE,qCAAqC;SACzD;QACD,IAAI,EAAE;YACJ,gBAAgB,EAAE,+BAA+B;YACjD,iBAAiB,EAAE,YAAY;YAC/B,SAAS,EAAE,aAAa;YACxB,WAAW,EAAE,aAAa;SAC3B;KACF;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,mCAAmC;QACzC,YAAY,EAAE,eAAe;QAC7B,YAAY,EAAE,iBAAiB;KAChC;IACD,KAAK,EAAE;QACL,UAAU,EAAE,aAAa;QACzB,YAAY,EAAE,cAAc;QAC5B,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,UAAU;KACpB;IACD,KAAK,EAAE;QACL,SAAS,EAAE;YACT,WAAW,EAAE,OAAO;SACrB;KACF;IACD,YAAY,EAAE;QACZ,OAAO,EAAE,gDAAgD;KAC1D;IACD,MAAM,EAAE;QACN,KAAK,EAAE,SAAS;KACjB;IACD,KAAK,EAAE;QACL,KAAK,EAAE,MAAM;KACd;IACD,UAAU,EAAE;QACV,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,OAAO;KACd;IACD,WAAW,EAAE;QACX,QAAQ,EAAE,oBAAoB;QAC9B,eAAe,EACb,gEAAgE;KACnE;IACD,MAAM,EAAE;QACN,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,KAAK;KACd;IACD,QAAQ,EAAE;QACR,SAAS,EAAE,8CAA8C;QACzD,YAAY,EAAE,yBAAyB;QACvC,SAAS,EAAE,qBAAqB;KACjC;CACqB,CAAC"}
1
+ {"version":3,"file":"nn.js","sourceRoot":"","sources":["../../../../src/util/i18n/locales/nn.ts"],"names":[],"mappings":"AAEA,eAAe;IACb,MAAM,EAAE;QACN,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,YAAY;QACtB,QAAQ,EAAE,gBAAgB;KAC3B;IAED,UAAU,EAAE;QACV,QAAQ,EAAE;YACR,MAAM,EAAE,SAAS;YACjB,cAAc,EAAE,WAAW;YAC3B,WAAW,EAAE,uBAAuB;YACpC,mBAAmB,EAAE,wBAAwB;YAC7C,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,OAAO;YACX,QAAQ,EAAE,6BAA6B;YACvC,iBAAiB,EAAE,qCAAqC;SACzD;QACD,IAAI,EAAE;YACJ,gBAAgB,EAAE,+BAA+B;YACjD,iBAAiB,EAAE,YAAY;YAC/B,SAAS,EAAE,aAAa;YACxB,WAAW,EAAE,aAAa;SAC3B;KACF;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,mCAAmC;QACzC,YAAY,EAAE,eAAe;QAC7B,YAAY,EAAE,iBAAiB;KAChC;IACD,KAAK,EAAE;QACL,UAAU,EAAE,aAAa;QACzB,YAAY,EAAE,cAAc;QAC5B,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,UAAU;KACpB;IACD,KAAK,EAAE;QACL,SAAS,EAAE;YACT,WAAW,EAAE,OAAO;SACrB;KACF;IACD,YAAY,EAAE;QACZ,OAAO,EAAE,gDAAgD;KAC1D;IACD,MAAM,EAAE;QACN,KAAK,EAAE,SAAS;KACjB;IACD,KAAK,EAAE;QACL,KAAK,EAAE,MAAM;KACd;IACD,UAAU,EAAE;QACV,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,OAAO;KACd;IACD,WAAW,EAAE;QACX,QAAQ,EAAE,oBAAoB;QAC9B,eAAe,EACb,gEAAgE;KACnE;IACD,MAAM,EAAE;QACN,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,KAAK;KACd;IACD,QAAQ,EAAE;QACR,SAAS,EAAE,8CAA8C;QACzD,YAAY,EAAE,yBAAyB;QACvC,SAAS,EAAE,qBAAqB;KACjC;CACqB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@navikt/ds-react",
3
- "version": "7.4.2",
3
+ "version": "7.5.0",
4
4
  "description": "React components from the Norwegian Labour and Welfare Administration.",
5
5
  "author": "Aksel, a team part of the Norwegian Labour and Welfare Administration.",
6
6
  "license": "MIT",
@@ -604,8 +604,8 @@
604
604
  "dependencies": {
605
605
  "@floating-ui/react": "0.25.4",
606
606
  "@floating-ui/react-dom": "^2.0.9",
607
- "@navikt/aksel-icons": "^7.4.2",
608
- "@navikt/ds-tokens": "^7.4.2",
607
+ "@navikt/aksel-icons": "^7.5.0",
608
+ "@navikt/ds-tokens": "^7.5.0",
609
609
  "clsx": "^2.1.0",
610
610
  "date-fns": "^3.0.0",
611
611
  "react-day-picker": "8.10.1"
@@ -628,8 +628,8 @@
628
628
  "vitest": "^1.2.2"
629
629
  },
630
630
  "peerDependencies": {
631
- "@types/react": "^17.0.30 || ^18.0.0",
632
- "react": "^17.0.0 || ^18.0.0"
631
+ "@types/react": ">=17.0.30",
632
+ "react": ">=17.0.0"
633
633
  },
634
634
  "peerDependenciesMeta": {
635
635
  "@types/react": {
@@ -31,6 +31,7 @@ interface AccordionComponent
31
31
 
32
32
  export interface AccordionProps extends React.HTMLAttributes<HTMLDivElement> {
33
33
  /**
34
+ * @deprecated Prop will be removed in future versions. "default" will be the only variant.
34
35
  * @default "default"
35
36
  */
36
37
  variant?: "default" | "neutral";
@@ -1,5 +1,6 @@
1
1
  import cl from "clsx";
2
2
  import React, { forwardRef, useContext } from "react";
3
+ import { UNSAFE_useAkselTheme } from "../provider";
3
4
  import { BodyLong } from "../typography";
4
5
  import { AccordionItemContext } from "./AccordionItem";
5
6
 
@@ -15,6 +16,8 @@ const AccordionContent = forwardRef<HTMLDivElement, AccordionContentProps>(
15
16
  ({ children, className, ...rest }, ref) => {
16
17
  const context = useContext(AccordionItemContext);
17
18
 
19
+ const themeContext = UNSAFE_useAkselTheme(false);
20
+
18
21
  if (context === null) {
19
22
  console.error(
20
23
  "<Accordion.Content> has to be used within an <Accordion.Item>",
@@ -38,7 +41,11 @@ const AccordionContent = forwardRef<HTMLDivElement, AccordionContentProps>(
38
41
  !context.open || undefined
39
42
  } /* Added to fix bug with Radio component, where label text inside a span sometimes is ignored by screen readers after hiding/displaying the RadioGroup inside an Accordion */
40
43
  >
41
- {children}
44
+ {themeContext ? (
45
+ <div className="navds-accordion__content-inner">{children}</div>
46
+ ) : (
47
+ children
48
+ )}
42
49
  </BodyLong>
43
50
  );
44
51
  },
@@ -1,6 +1,7 @@
1
1
  import cl from "clsx";
2
2
  import React, { forwardRef, useContext } from "react";
3
3
  import { ChevronDownIcon } from "@navikt/aksel-icons";
4
+ import { UNSAFE_useAkselTheme } from "../provider";
4
5
  import { Heading } from "../typography";
5
6
  import { composeEventHandlers } from "../util/composeEventHandlers";
6
7
  import { AccordionContext } from "./AccordionContext";
@@ -19,6 +20,8 @@ const AccordionHeader = forwardRef<HTMLButtonElement, AccordionHeaderProps>(
19
20
  const itemContext = useContext(AccordionItemContext);
20
21
  const accordionContext = useContext(AccordionContext);
21
22
 
23
+ const themeContext = UNSAFE_useAkselTheme(false);
24
+
22
25
  if (itemContext === null) {
23
26
  console.error(
24
27
  "<Accordion.Header> has to be used within an <Accordion.Item>, which in turn must be within an <Accordion>",
@@ -26,6 +29,13 @@ const AccordionHeader = forwardRef<HTMLButtonElement, AccordionHeaderProps>(
26
29
  return null;
27
30
  }
28
31
 
32
+ let headingSize = accordionContext?.headingSize ?? "small";
33
+
34
+ if (themeContext) {
35
+ /* Fallback to "medium" Accordion-size if any other sizes are used */
36
+ headingSize = accordionContext?.size === "small" ? "xsmall" : "small";
37
+ }
38
+
29
39
  return (
30
40
  <button
31
41
  ref={ref}
@@ -42,7 +52,7 @@ const AccordionHeader = forwardRef<HTMLButtonElement, AccordionHeaderProps>(
42
52
  />
43
53
  </span>
44
54
  <Heading
45
- size={accordionContext?.headingSize ?? "small"}
55
+ size={headingSize}
46
56
  as="span"
47
57
  className="navds-accordion__header-content"
48
58
  >
@@ -65,6 +65,7 @@ const AccordionItem = forwardRef<HTMLDivElement, AccordionItemProps>(
65
65
  "navds-accordion__item--neutral": context?.variant === "neutral",
66
66
  "navds-accordion__item--no-animation": !shouldAnimate.current,
67
67
  })}
68
+ data-expanded={_open}
68
69
  ref={ref}
69
70
  {...omit(rest, ["onClick"])}
70
71
  >
@@ -48,6 +48,7 @@ export const ToggleChips: OverridableComponent<
48
48
  { "navds-chips__toggle--with-checkmark": checkmark },
49
49
  )}
50
50
  aria-pressed={selected}
51
+ data-pressed={selected}
51
52
  >
52
53
  {checkmark && (
53
54
  <svg
@@ -73,7 +74,7 @@ export const ToggleChips: OverridableComponent<
73
74
  fillRule="evenodd"
74
75
  clipRule="evenodd"
75
76
  d="M10 3.125C6.20304 3.125 3.125 6.20304 3.125 10C3.125 13.797 6.20304 16.875 10 16.875C13.797 16.875 16.875 13.797 16.875 10C16.875 6.20304 13.797 3.125 10 3.125ZM1.875 10C1.875 5.51269 5.51269 1.875 10 1.875C14.4873 1.875 18.125 5.51269 18.125 10C18.125 14.4873 14.4873 18.125 10 18.125C5.51269 18.125 1.875 14.4873 1.875 10Z"
76
- fill="var(--ac-chip-toggle-circle-border, var(--a-border-default))"
77
+ fill="var(--ax-text-neutral-icon, var(--ac-chip-toggle-circle-border, var(--a-border-default)))"
77
78
  />
78
79
  )}
79
80
  </svg>
@@ -1,6 +1,6 @@
1
1
  import cl from "clsx";
2
2
  import { isWeekend } from "date-fns";
3
- import React, { forwardRef, useRef, useState } from "react";
3
+ import React, { forwardRef, useState } from "react";
4
4
  import { DateRange, DayPicker, isMatch } from "react-day-picker";
5
5
  import { omit } from "../../util";
6
6
  import { useId } from "../../util/hooks";
@@ -88,8 +88,9 @@ export const DatePicker = forwardRef<HTMLDivElement, DatePickerProps>(
88
88
  const ariaId = useId(id);
89
89
  const [open, setOpen] = useState(_open ?? false);
90
90
 
91
- const wrapperRef = useRef<HTMLDivElement | null>(null);
92
- const mergedRef = useMergeRefs(wrapperRef, ref);
91
+ /* We use state here to insure that anchor is defined if open is true on initial render */
92
+ const [wrapperRef, setWrapperRef] = useState<HTMLDivElement | null>(null);
93
+ const mergedRef = useMergeRefs(setWrapperRef, ref);
93
94
 
94
95
  const [selectedDates, setSelectedDates] = React.useState<
95
96
  Date | Date[] | DateRange | undefined
@@ -167,7 +168,7 @@ export const DatePicker = forwardRef<HTMLDivElement, DatePickerProps>(
167
168
  {children}
168
169
  <DateWrapper
169
170
  open={_open ?? open}
170
- anchor={wrapperRef.current}
171
+ anchor={wrapperRef}
171
172
  onClose={() => onClose?.() ?? setOpen(false)}
172
173
  locale={locale}
173
174
  variant={mode}
@@ -1,5 +1,5 @@
1
1
  import cl from "clsx";
2
- import React, { forwardRef, useRef, useState } from "react";
2
+ import React, { forwardRef, useState } from "react";
3
3
  import { DayPickerProvider } from "react-day-picker";
4
4
  import { useId } from "../../util/hooks";
5
5
  import { useMergeRefs } from "../../util/hooks/useMergeRefs";
@@ -81,8 +81,9 @@ export const MonthPicker = forwardRef<HTMLDivElement, MonthPickerProps>(
81
81
  const ariaId = useId(id);
82
82
  const [open, setOpen] = useState(_open ?? false);
83
83
 
84
- const wrapperRef = useRef<HTMLDivElement | null>(null);
85
- const mergedRef = useMergeRefs(wrapperRef, ref);
84
+ /* We use state here to insure that anchor is defined if open is true on initial render */
85
+ const [wrapperRef, setWrapperRef] = useState<HTMLDivElement | null>(null);
86
+ const mergedRef = useMergeRefs(setWrapperRef, ref);
86
87
 
87
88
  const [selectedMonth, setSelectedMonth] = useState<Date | undefined>(
88
89
  defaultSelected,
@@ -118,7 +119,7 @@ export const MonthPicker = forwardRef<HTMLDivElement, MonthPickerProps>(
118
119
  {children}
119
120
  <DateWrapper
120
121
  open={_open ?? open}
121
- anchor={wrapperRef.current}
122
+ anchor={wrapperRef}
122
123
  onClose={() => onClose?.() ?? setOpen(false)}
123
124
  locale={locale}
124
125
  variant="month"
@@ -94,7 +94,7 @@ const DateInput = forwardRef<HTMLInputElement, DateInputProps>((props, ref) => {
94
94
  "navds-sr-only": hideLabel,
95
95
  })}
96
96
  >
97
- <ReadOnlyIcon readOnly={readOnly} />
97
+ {readOnly && <ReadOnlyIcon />}
98
98
  {label}
99
99
  </Label>
100
100
  {!!description && (
@@ -1,20 +1,17 @@
1
1
  import React from "react";
2
2
  import { PadlockLockedFillIcon } from "@navikt/aksel-icons";
3
+ import { useI18n } from "../util/i18n/i18n.context";
3
4
 
4
- export const ReadOnlyIcon = ({
5
- readOnly,
6
- nativeReadOnly = true,
7
- }: {
8
- readOnly?: boolean;
9
- nativeReadOnly?: boolean;
10
- }) => {
11
- if (readOnly) {
12
- return (
13
- <PadlockLockedFillIcon
14
- {...(nativeReadOnly ? { "aria-hidden": true } : { title: "readonly" })}
15
- className="navds-form-field__readonly-icon"
16
- />
17
- );
18
- }
19
- return null;
20
- };
5
+ export const ReadOnlyIcon = () => (
6
+ <PadlockLockedFillIcon
7
+ aria-hidden
8
+ className="navds-form-field__readonly-icon"
9
+ />
10
+ );
11
+
12
+ export const ReadOnlyIconWithTitle = () => (
13
+ <PadlockLockedFillIcon
14
+ title={useI18n("global")("readOnly")}
15
+ className="navds-form-field__readonly-icon"
16
+ />
17
+ );
@@ -3,7 +3,7 @@ import React, { forwardRef } from "react";
3
3
  import { BodyShort } from "../../typography";
4
4
  import { omit } from "../../util";
5
5
  import { useId } from "../../util/hooks";
6
- import { ReadOnlyIcon } from "../ReadOnlyIcon";
6
+ import { ReadOnlyIconWithTitle } from "../ReadOnlyIcon";
7
7
  import { CheckboxProps } from "./types";
8
8
  import useCheckbox from "./useCheckbox";
9
9
 
@@ -90,9 +90,7 @@ export const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(
90
90
  className="navds-checkbox__label-text"
91
91
  aria-hidden
92
92
  >
93
- {!nested && (
94
- <ReadOnlyIcon readOnly={readOnly} nativeReadOnly={false} />
95
- )}
93
+ {!nested && readOnly && <ReadOnlyIconWithTitle />}
96
94
  {props.children}
97
95
  </BodyShort>
98
96
  {props.description && (
@@ -1,7 +1,7 @@
1
1
  import cl from "clsx";
2
2
  import React, { forwardRef } from "react";
3
3
  import { BodyShort, ErrorMessage, Label } from "../../typography";
4
- import { ReadOnlyIcon } from "../ReadOnlyIcon";
4
+ import { ReadOnlyIconWithTitle } from "../ReadOnlyIcon";
5
5
  import ComboboxWrapper from "./ComboboxWrapper";
6
6
  import FilteredOptions from "./FilteredOptions/FilteredOptions";
7
7
  import { useFilteredOptionsContext } from "./FilteredOptions/filteredOptionsContext";
@@ -46,7 +46,7 @@ export const Combobox = forwardRef<
46
46
  "navds-sr-only": hideLabel,
47
47
  })}
48
48
  >
49
- <ReadOnlyIcon nativeReadOnly={false} readOnly={readOnly} />
49
+ {readOnly && <ReadOnlyIconWithTitle />}
50
50
  {label}
51
51
  </Label>
52
52
  {!!description && (
@@ -61,7 +61,7 @@ interface ErrorSummaryComponent
61
61
  * Felt må fylles ut med alder
62
62
  * </ErrorSummary.Item>
63
63
  * <ErrorSummary.Item href="#2">
64
- * Tekstfeltet må ha en godkjent e-mail
64
+ * Tekstfeltet må ha en godkjent e-post
65
65
  * </ErrorSummary.Item>
66
66
  * </ErrorSummary>
67
67
  * ```
@@ -2,7 +2,7 @@ import cl from "clsx";
2
2
  import React, { FieldsetHTMLAttributes, forwardRef, useContext } from "react";
3
3
  import { BodyShort, ErrorMessage, Label } from "../../typography";
4
4
  import { omit } from "../../util";
5
- import { ReadOnlyIcon } from "../ReadOnlyIcon";
5
+ import { ReadOnlyIcon, ReadOnlyIconWithTitle } from "../ReadOnlyIcon";
6
6
  import { FormFieldProps } from "../useFormField";
7
7
  import { FieldsetContext } from "./context";
8
8
  import { useFieldset } from "./useFieldset";
@@ -89,7 +89,8 @@ export const Fieldset = forwardRef<HTMLFieldSetElement, FieldsetProps>(
89
89
  "navds-sr-only": !!hideLegend,
90
90
  })}
91
91
  >
92
- <ReadOnlyIcon readOnly={readOnly} nativeReadOnly={nativeReadOnly} />
92
+ {readOnly &&
93
+ (nativeReadOnly ? <ReadOnlyIcon /> : <ReadOnlyIconWithTitle />)}
93
94
  {legend}
94
95
  </Label>
95
96
  {!!description && (
@@ -3,7 +3,7 @@ import React, { SelectHTMLAttributes, forwardRef } from "react";
3
3
  import { ChevronDownIcon } from "@navikt/aksel-icons";
4
4
  import { BodyShort, ErrorMessage, Label } from "../../typography";
5
5
  import { omit } from "../../util";
6
- import { ReadOnlyIcon } from "../ReadOnlyIcon";
6
+ import { ReadOnlyIconWithTitle } from "../ReadOnlyIcon";
7
7
  import { FormFieldProps, useFormField } from "../useFormField";
8
8
 
9
9
  export interface SelectProps
@@ -112,7 +112,7 @@ export const Select = forwardRef<HTMLSelectElement, SelectProps>(
112
112
  "navds-sr-only": hideLabel,
113
113
  })}
114
114
  >
115
- <ReadOnlyIcon readOnly={readOnly} nativeReadOnly={false} />
115
+ {readOnly && <ReadOnlyIconWithTitle />}
116
116
  {label}
117
117
  </Label>
118
118
  {!!description && (
@@ -8,7 +8,7 @@ import React, {
8
8
  import { Loader } from "../../loader";
9
9
  import { BodyShort } from "../../typography";
10
10
  import { omit } from "../../util";
11
- import { ReadOnlyIcon } from "../ReadOnlyIcon";
11
+ import { ReadOnlyIconWithTitle } from "../ReadOnlyIcon";
12
12
  import { FormFieldProps, useFormField } from "../useFormField";
13
13
 
14
14
  const SelectedIcon = () => (
@@ -21,7 +21,6 @@ const SelectedIcon = () => (
21
21
  focusable={false}
22
22
  role="img"
23
23
  aria-hidden
24
- aria-label="Deaktiver valg"
25
24
  >
26
25
  <path
27
26
  fillRule="evenodd"
@@ -117,19 +116,19 @@ export const Switch = forwardRef<HTMLInputElement, SwitchProps>(
117
116
  defaultChecked={defaultChecked}
118
117
  ref={ref}
119
118
  type="checkbox"
120
- onChange={(e) => {
119
+ onChange={(event) => {
121
120
  if (readOnly) {
122
121
  return;
123
122
  }
124
- setChecked(e.target.checked);
125
- props.onChange?.(e);
123
+ setChecked(event.target.checked);
124
+ props.onChange?.(event);
126
125
  }}
127
- onClick={(e) => {
126
+ onClick={(event) => {
128
127
  if (readOnly) {
129
- e.preventDefault();
128
+ event.preventDefault();
130
129
  return;
131
130
  }
132
- props?.onClick?.(e);
131
+ props.onClick?.(event);
133
132
  }}
134
133
  className={cl(className, "navds-switch__input")}
135
134
  />
@@ -150,11 +149,11 @@ export const Switch = forwardRef<HTMLInputElement, SwitchProps>(
150
149
  <div
151
150
  className={cl("navds-switch__content", {
152
151
  "navds-sr-only": hideLabel,
153
- "navds-switch--with-description": !!description && !hideLabel,
152
+ "navds-switch--with-description": description && !hideLabel,
154
153
  })}
155
154
  >
156
155
  <BodyShort as="div" size={size} className="navds-switch__label">
157
- <ReadOnlyIcon readOnly={readOnly} nativeReadOnly={false} />
156
+ {readOnly && <ReadOnlyIconWithTitle />}
158
157
  {children}
159
158
  </BodyShort>
160
159
  {description && (
@@ -9,9 +9,6 @@ import { ReadOnlyIcon } from "../ReadOnlyIcon";
9
9
  import { FormFieldProps, useFormField } from "./../useFormField";
10
10
  import Counter from "./TextareaCounter";
11
11
 
12
- /**
13
- * TODO: Mulighet for lokalisering av sr-only/counter text
14
- */
15
12
  export interface TextareaProps
16
13
  extends FormFieldProps,
17
14
  React.TextareaHTMLAttributes<HTMLTextAreaElement> {
@@ -144,7 +141,7 @@ export const Textarea = forwardRef<HTMLTextAreaElement, TextareaProps>(
144
141
  "navds-sr-only": hideLabel,
145
142
  })}
146
143
  >
147
- <ReadOnlyIcon readOnly={readOnly} />
144
+ {readOnly && <ReadOnlyIcon />}
148
145
  {label}
149
146
  </Label>
150
147
  {!!description && (
@@ -91,7 +91,7 @@ export const TextField = forwardRef<HTMLInputElement, TextFieldProps>(
91
91
  "navds-sr-only": hideLabel,
92
92
  })}
93
93
  >
94
- <ReadOnlyIcon readOnly={readOnly} />
94
+ {readOnly && <ReadOnlyIcon />}
95
95
  {label}
96
96
  </Label>
97
97
 
@@ -621,7 +621,7 @@ export const ActionMenuCheckboxItem = forwardRef<
621
621
  width="24"
622
622
  height="24"
623
623
  rx="4"
624
- fill="var(--a-border-default)"
624
+ fill="var(--ax-border-default, var(--a-border-default))"
625
625
  />
626
626
  <rect
627
627
  x="1"
@@ -629,7 +629,7 @@ export const ActionMenuCheckboxItem = forwardRef<
629
629
  width="22"
630
630
  height="22"
631
631
  rx="3"
632
- fill="var(--a-surface-default)"
632
+ fill="var(--ax-bg-default, var(--a-surface-default))"
633
633
  strokeWidth="2"
634
634
  />
635
635
  </g>
@@ -638,7 +638,7 @@ export const ActionMenuCheckboxItem = forwardRef<
638
638
  width="24"
639
639
  height="24"
640
640
  rx="4"
641
- fill="var(--a-surface-action-selected)"
641
+ fill="var(--ax-bg-accent-strong-pressed, var(--a-surface-action-selected))"
642
642
  />
643
643
  <rect
644
644
  x="6"
@@ -646,7 +646,7 @@ export const ActionMenuCheckboxItem = forwardRef<
646
646
  width="12"
647
647
  height="4"
648
648
  rx="1"
649
- fill="var(--a-surface-default)"
649
+ fill="var(--ax-bg-default, var(--a-surface-default))"
650
650
  />
651
651
  </g>
652
652
  <g className="navds-action-menu__indicator-icon--checked">
@@ -654,11 +654,11 @@ export const ActionMenuCheckboxItem = forwardRef<
654
654
  width="24"
655
655
  height="24"
656
656
  rx="4"
657
- fill="var(--a-surface-action-selected)"
657
+ fill="var(--ax-bg-accent-strong-pressed, var(--a-surface-action-selected))"
658
658
  />
659
659
  <path
660
660
  d="M10.0352 13.4148L16.4752 7.40467C17.0792 6.83965 18.029 6.86933 18.5955 7.47478C19.162 8.08027 19.1296 9.03007 18.5245 9.59621L11.0211 16.5993C10.741 16.859 10.3756 17 10.0002 17C9.60651 17 9.22717 16.8462 8.93914 16.5611L6.43914 14.0611C5.85362 13.4756 5.85362 12.5254 6.43914 11.9399C7.02467 11.3544 7.97483 11.3544 8.56036 11.9399L10.0352 13.4148Z"
661
- fill="var(--a-surface-default)"
661
+ fill="var(--ax-bg-default, var(--a-surface-default))"
662
662
  />
663
663
  </g>
664
664
  </svg>
@@ -756,7 +756,7 @@ export const ActionMenuRadioItem = forwardRef<
756
756
  width="24"
757
757
  height="24"
758
758
  rx="12"
759
- fill="var(--a-border-default)"
759
+ fill="var(--ax-border-default, var(--a-border-default))"
760
760
  />
761
761
  <rect
762
762
  x="1"
@@ -765,7 +765,7 @@ export const ActionMenuRadioItem = forwardRef<
765
765
  height="22"
766
766
  rx="11"
767
767
  strokeWidth="2"
768
- fill="var(--a-surface-default)"
768
+ fill="var(--ax-bg-default, var(--a-surface-default))"
769
769
  />
770
770
  </g>
771
771
  <g className="navds-action-menu__indicator-icon--checked">
@@ -775,7 +775,7 @@ export const ActionMenuRadioItem = forwardRef<
775
775
  width="22"
776
776
  height="22"
777
777
  rx="11"
778
- fill="var(--a-surface-default)"
778
+ fill="var(--ax-bg-default, var(--a-surface-default))"
779
779
  />
780
780
  <rect
781
781
  x="1"
@@ -783,12 +783,12 @@ export const ActionMenuRadioItem = forwardRef<
783
783
  width="22"
784
784
  height="22"
785
785
  rx="11"
786
- stroke="var(--a-surface-action-selected)"
786
+ stroke="var(--ax-bg-accent-strong-pressed, var(--a-surface-action-selected))"
787
787
  strokeWidth="2"
788
788
  />
789
789
  <path
790
790
  d="M20 12C20 16.4178 16.4178 20 12 20C7.58222 20 4 16.4178 4 12C4 7.58222 7.58222 4 12 4C16.4178 4 20 7.58222 20 12Z"
791
- fill="var(--a-surface-action-selected)"
791
+ fill="var(--ax-bg-accent-strong-pressed, var(--a-surface-action-selected))"
792
792
  />
793
793
  </g>
794
794
  </svg>