@navikt/ds-react 5.7.5 → 5.8.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 (68) hide show
  1. package/_docs.json +31 -10
  2. package/cjs/accordion/AccordionHeader.js +2 -2
  3. package/cjs/chips/Toggle.js +2 -3
  4. package/cjs/form/combobox/FilteredOptions/filteredOptionsContext.js +1 -2
  5. package/cjs/form/combobox/Input/Input.js +13 -5
  6. package/cjs/layout/sidemal-test/Sidebar.js +1 -1
  7. package/cjs/loader/Loader.js +1 -1
  8. package/cjs/modal/Modal.js +35 -14
  9. package/cjs/tooltip/Tooltip.js +14 -3
  10. package/esm/accordion/AccordionHeader.js +2 -2
  11. package/esm/accordion/AccordionHeader.js.map +1 -1
  12. package/esm/chips/Toggle.d.ts +1 -1
  13. package/esm/chips/Toggle.js +2 -3
  14. package/esm/chips/Toggle.js.map +1 -1
  15. package/esm/form/combobox/FilteredOptions/filteredOptionsContext.js +1 -2
  16. package/esm/form/combobox/FilteredOptions/filteredOptionsContext.js.map +1 -1
  17. package/esm/form/combobox/Input/Input.js +13 -5
  18. package/esm/form/combobox/Input/Input.js.map +1 -1
  19. package/esm/layout/bleed/Bleed.d.ts +1 -1
  20. package/esm/layout/bleed/Bleed.js +1 -1
  21. package/esm/layout/bleed/Bleed.js.map +1 -1
  22. package/esm/layout/box/Box.d.ts +1 -2
  23. package/esm/layout/box/Box.js +1 -1
  24. package/esm/layout/box/Box.js.map +1 -1
  25. package/esm/layout/grid/HGrid.d.ts +1 -1
  26. package/esm/layout/grid/HGrid.js +1 -1
  27. package/esm/layout/grid/HGrid.js.map +1 -1
  28. package/esm/layout/responsive/Responsive.d.ts +1 -1
  29. package/esm/layout/sidemal-test/Sidebar.js +1 -1
  30. package/esm/layout/sidemal-test/Sidebar.js.map +1 -1
  31. package/esm/layout/stack/Stack.d.ts +1 -1
  32. package/esm/layout/stack/Stack.js +1 -1
  33. package/esm/layout/stack/Stack.js.map +1 -1
  34. package/esm/layout/utilities/css.d.ts +1 -8
  35. package/esm/layout/utilities/css.js.map +1 -1
  36. package/esm/layout/utilities/types.d.ts +9 -0
  37. package/esm/loader/Loader.d.ts +1 -1
  38. package/esm/loader/Loader.js +1 -1
  39. package/esm/modal/Modal.js +35 -14
  40. package/esm/modal/Modal.js.map +1 -1
  41. package/esm/modal/ModalContext.d.ts +1 -0
  42. package/esm/modal/ModalContext.js.map +1 -1
  43. package/esm/modal/types.d.ts +7 -0
  44. package/esm/tooltip/Tooltip.js +16 -5
  45. package/esm/tooltip/Tooltip.js.map +1 -1
  46. package/package.json +3 -3
  47. package/src/accordion/AccordionHeader.tsx +3 -3
  48. package/src/chips/Toggle.tsx +22 -12
  49. package/src/chips/chips.stories.tsx +9 -3
  50. package/src/date/datepicker/datepicker.stories.tsx +0 -1
  51. package/src/date/monthpicker/monthpicker.stories.tsx +28 -1
  52. package/src/form/combobox/FilteredOptions/filteredOptionsContext.tsx +1 -2
  53. package/src/form/combobox/Input/Input.tsx +19 -4
  54. package/src/form/combobox/combobox.stories.tsx +44 -0
  55. package/src/layout/bleed/Bleed.tsx +2 -5
  56. package/src/layout/box/Box.tsx +1 -3
  57. package/src/layout/grid/HGrid.tsx +2 -6
  58. package/src/layout/responsive/Responsive.tsx +1 -1
  59. package/src/layout/sidemal-test/Sidebar.tsx +1 -1
  60. package/src/layout/stack/Stack.tsx +2 -6
  61. package/src/layout/utilities/css.ts +1 -36
  62. package/src/layout/utilities/types.ts +16 -0
  63. package/src/loader/Loader.tsx +1 -1
  64. package/src/modal/Modal.tsx +50 -20
  65. package/src/modal/ModalContext.ts +1 -0
  66. package/src/modal/modal.stories.tsx +30 -2
  67. package/src/modal/types.ts +7 -0
  68. package/src/tooltip/Tooltip.tsx +18 -6
@@ -1,5 +1,5 @@
1
1
  import React, { HTMLAttributes } from "react";
2
- import { ResponsiveProp, SpacingScale } from "../utilities/css";
2
+ import { ResponsiveProp, SpacingScale } from "../utilities/types";
3
3
  export interface HGridProps extends HTMLAttributes<HTMLDivElement> {
4
4
  children: React.ReactNode;
5
5
  /**
@@ -11,7 +11,7 @@ var __rest = (this && this.__rest) || function (s, e) {
11
11
  };
12
12
  import React, { forwardRef } from "react";
13
13
  import cl from "clsx";
14
- import { getResponsiveProps, getResponsiveValue, } from "../utilities/css";
14
+ import { getResponsiveProps, getResponsiveValue } from "../utilities/css";
15
15
  /**
16
16
  * Horizontal Grid Primitive with dynamic columns and gap based on breakpoints.
17
17
  *
@@ -1 +1 @@
1
- {"version":3,"file":"HGrid.js","sourceRoot":"","sources":["../../../src/layout/grid/HGrid.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,MAAM,MAAM,CAAC;AACtB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,GAGnB,MAAM,kBAAkB,CAAC;AA0B1B;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,UAAU,CAC7B,CAAC,EAAkD,EAAE,GAAG,EAAE,EAAE;QAA3D,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,OAAW,EAAN,IAAI,cAAhD,iDAAkD,CAAF;IAC/C,MAAM,MAAM,+DACP,KAAK,KACR,oBAAoB,EAAE,KAAK,KACxB,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,GAClD,kBAAkB,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAC/D,CAAC;IAEF,OAAO,CACL,6CACM,IAAI,IACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,EACvC,KAAK,EAAE,MAAM,IACb,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,SAAS,UAAU,CACjB,KAAuC;IAEvC,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,EAAE,CAAC;KACX;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC1D,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;KAC9B;IAED,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC;QAC5D,eAAe;QACf,cAAc,CAAC,WAAW,CAAC;KAC5B,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,cAAc,GAAG,CAAC,IAAqB,EAAE,EAAE;IAC/C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC5B,OAAO,UAAU,IAAI,mBAAmB,CAAC;KAC1C;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"HGrid.js","sourceRoot":"","sources":["../../../src/layout/grid/HGrid.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,MAAM,MAAM,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AA2B1E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,UAAU,CAC7B,CAAC,EAAkD,EAAE,GAAG,EAAE,EAAE;QAA3D,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,OAAW,EAAN,IAAI,cAAhD,iDAAkD,CAAF;IAC/C,MAAM,MAAM,+DACP,KAAK,KACR,oBAAoB,EAAE,KAAK,KACxB,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,GAClD,kBAAkB,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAC/D,CAAC;IAEF,OAAO,CACL,6CACM,IAAI,IACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,EACvC,KAAK,EAAE,MAAM,IACb,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,SAAS,UAAU,CACjB,KAAuC;IAEvC,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,EAAE,CAAC;KACX;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC1D,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;KAC9B;IAED,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC;QAC5D,eAAe;QACf,cAAc,CAAC,WAAW,CAAC;KAC5B,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,cAAc,GAAG,CAAC,IAAqB,EAAE,EAAE;IAC/C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC5B,OAAO,UAAU,IAAI,mBAAmB,CAAC;KAC1C;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import React, { HTMLAttributes } from "react";
2
- import { BreakpointsAlias } from "../utilities/css";
2
+ import { BreakpointsAlias } from "../utilities/types";
3
3
  export interface ResponsiveProps extends HTMLAttributes<HTMLDivElement> {
4
4
  children: React.ReactNode;
5
5
  /**
@@ -1,8 +1,8 @@
1
1
  import React from "react";
2
+ import { Link } from "../../link";
2
3
  import { Heading, Label } from "../../typography";
3
4
  import { Box } from "../box";
4
5
  import { VStack } from "../stack";
5
- import { Link } from "../../link";
6
6
  const LinkElement = ({ children }) => {
7
7
  return (React.createElement(Label, { as: "li", className: "sidebarlink" }, children));
8
8
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../../src/layout/sidemal-test/Sidebar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,MAAM,WAAW,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACnC,OAAO,CACL,oBAAC,KAAK,IAAC,EAAE,EAAC,IAAI,EAAC,SAAS,EAAC,aAAa,IACnC,QAAQ,CACH,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,OAAO;IACrB,OAAO,CACL,oBAAC,MAAM,IAAC,GAAG,EAAC,GAAG,EAAC,SAAS,EAAC,SAAS;QACjC,oBAAC,YAAY,OAAG;QAChB,oBAAC,SAAS,OAAG,CACN,CACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,CACL,oBAAC,GAAG,IACF,EAAE,EAAC,KAAK,gBACG,SAAS,EACpB,aAAa,EAAC,GAAG,EACjB,YAAY,EAAC,KAAK,EAClB,UAAU,EAAC,iBAAiB,EAC5B,YAAY,EAAC,QAAQ;QAErB,oBAAC,GAAG,IAAC,YAAY,EAAC,KAAK,EAAC,aAAa,EAAC,KAAK;YACzC,oBAAC,OAAO,IAAC,IAAI,EAAC,QAAQ,cAAkB,CACpC;QACN,4BAAI,SAAS,EAAC,YAAY;YACxB,oBAAC,WAAW,4BAAgC;YAC5C,oBAAC,WAAW,4BAA2B;YACvC,oBAAC,WAAW,mCAAkC;YAC9C,oBAAC,WAAW,sCAAqC;YACjD,oBAAC,WAAW,qCAAoC;YAChD,oBAAC,WAAW,6BAA4B;YACxC,oBAAC,WAAW,kEAAkD;YAC9D,oBAAC,WAAW,kCAAsC;YAClD,oBAAC,WAAW,2CAA+C;YAC3D,oBAAC,WAAW,sCAAqC;YACjD,oBAAC,WAAW,oCAAwC;YACpD,oBAAC,WAAW,yBAA6B,CACtC,CACD,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,CACL,oBAAC,GAAG,IACF,YAAY,EAAC,GAAG,EAChB,aAAa,EAAC,GAAG,EACjB,UAAU,EAAC,iBAAiB,gBACjB,oBAAe,EAC1B,EAAE,EAAC,SAAS,EACZ,YAAY,EAAC,QAAQ;QAErB,oBAAC,GAAG,IAAC,YAAY,EAAC,KAAK,EAAC,aAAa,EAAC,GAAG;YACvC,oBAAC,OAAO,IAAC,IAAI,EAAC,OAAO,yBAAwB,CACzC;QACN,2CAAgB,SAAS;YACvB,4BAAI,SAAS,EAAC,YAAY;gBACxB,oBAAC,GAAG,IAAC,YAAY,EAAC,GAAG,EAAC,aAAa,EAAC,GAAG;oBACrC,oBAAC,IAAI,0BAAuB,CACxB,CACH,CACD,CACF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../../src/layout/sidemal-test/Sidebar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,WAAW,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACnC,OAAO,CACL,oBAAC,KAAK,IAAC,EAAE,EAAC,IAAI,EAAC,SAAS,EAAC,aAAa,IACnC,QAAQ,CACH,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,OAAO;IACrB,OAAO,CACL,oBAAC,MAAM,IAAC,GAAG,EAAC,GAAG,EAAC,SAAS,EAAC,SAAS;QACjC,oBAAC,YAAY,OAAG;QAChB,oBAAC,SAAS,OAAG,CACN,CACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,CACL,oBAAC,GAAG,IACF,EAAE,EAAC,KAAK,gBACG,SAAS,EACpB,aAAa,EAAC,GAAG,EACjB,YAAY,EAAC,KAAK,EAClB,UAAU,EAAC,iBAAiB,EAC5B,YAAY,EAAC,QAAQ;QAErB,oBAAC,GAAG,IAAC,YAAY,EAAC,KAAK,EAAC,aAAa,EAAC,KAAK;YACzC,oBAAC,OAAO,IAAC,IAAI,EAAC,QAAQ,cAAkB,CACpC;QACN,4BAAI,SAAS,EAAC,YAAY;YACxB,oBAAC,WAAW,4BAAgC;YAC5C,oBAAC,WAAW,4BAA2B;YACvC,oBAAC,WAAW,mCAAkC;YAC9C,oBAAC,WAAW,sCAAqC;YACjD,oBAAC,WAAW,qCAAoC;YAChD,oBAAC,WAAW,6BAA4B;YACxC,oBAAC,WAAW,kEAAkD;YAC9D,oBAAC,WAAW,kCAAsC;YAClD,oBAAC,WAAW,2CAA+C;YAC3D,oBAAC,WAAW,sCAAqC;YACjD,oBAAC,WAAW,oCAAwC;YACpD,oBAAC,WAAW,yBAA6B,CACtC,CACD,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,CACL,oBAAC,GAAG,IACF,YAAY,EAAC,GAAG,EAChB,aAAa,EAAC,GAAG,EACjB,UAAU,EAAC,iBAAiB,gBACjB,oBAAe,EAC1B,EAAE,EAAC,SAAS,EACZ,YAAY,EAAC,QAAQ;QAErB,oBAAC,GAAG,IAAC,YAAY,EAAC,KAAK,EAAC,aAAa,EAAC,GAAG;YACvC,oBAAC,OAAO,IAAC,IAAI,EAAC,OAAO,yBAAwB,CACzC;QACN,2CAAgB,SAAS;YACvB,4BAAI,SAAS,EAAC,YAAY;gBACxB,oBAAC,GAAG,IAAC,YAAY,EAAC,GAAG,EAAC,aAAa,EAAC,GAAG;oBACrC,oBAAC,IAAI,0BAAuB,CACxB,CACH,CACD,CACF,CACP,CAAC;AACJ,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import React, { HTMLAttributes } from "react";
2
2
  import { OverridableComponent } from "../../util/OverridableComponent";
3
- import { ResponsiveProp, SpacingScale } from "../utilities/css";
3
+ import { ResponsiveProp, SpacingScale } from "../utilities/types";
4
4
  export interface StackProps extends HTMLAttributes<HTMLDivElement> {
5
5
  children: React.ReactNode;
6
6
  /**
@@ -11,7 +11,7 @@ var __rest = (this && this.__rest) || function (s, e) {
11
11
  };
12
12
  import cl from "clsx";
13
13
  import React, { forwardRef } from "react";
14
- import { getResponsiveProps, getResponsiveValue, } from "../utilities/css";
14
+ import { getResponsiveProps, getResponsiveValue } from "../utilities/css";
15
15
  export const Stack = forwardRef((_a, ref) => {
16
16
  var { as: Component = "div", className, align, justify, wrap = true, gap, style: _style, direction = "row" } = _a, rest = __rest(_a, ["as", "className", "align", "justify", "wrap", "gap", "style", "direction"]);
17
17
  const style = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, _style), { "--__ac-stack-wrap": wrap ? "wrap" : "nowrap" }), getResponsiveProps(`stack`, "gap", "spacing", gap)), getResponsiveValue(`stack`, "direction", direction)), getResponsiveValue(`stack`, "align", align)), getResponsiveValue(`stack`, "justify", justify));
@@ -1 +1 @@
1
- {"version":3,"file":"Stack.js","sourceRoot":"","sources":["../../../src/layout/stack/Stack.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,MAAM,CAAC;AACtB,OAAO,KAAK,EAAE,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAC;AAE1D,OAAO,EACL,kBAAkB,EAClB,kBAAkB,GAGnB,MAAM,kBAAkB,CAAC;AAoC1B,MAAM,CAAC,MAAM,KAAK,GAChB,UAAU,CACR,CACE,EAUC,EACD,GAAG,EACH,EAAE;QAZF,EACE,EAAE,EAAE,SAAS,GAAG,KAAK,EACrB,SAAS,EACT,KAAK,EACL,OAAO,EACP,IAAI,GAAG,IAAI,EACX,GAAG,EACH,KAAK,EAAE,MAAM,EACb,SAAS,GAAG,KAAK,OAElB,EADI,IAAI,cATT,4EAUC,CADQ;IAIT,MAAM,KAAK,2FACN,MAAM,KACT,mBAAmB,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,KAC1C,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,GAClD,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,GACnD,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,GAC3C,kBAAkB,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CACnD,CAAC;IAEF,OAAO,CACL,oBAAC,SAAS,oBACJ,IAAI,IACR,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE;YACtC,cAAc,EAAE,SAAS,KAAK,QAAQ;YACtC,cAAc,EAAE,SAAS,KAAK,KAAK;SACpC,CAAC,IACF,CACH,CAAC;AACJ,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"Stack.js","sourceRoot":"","sources":["../../../src/layout/stack/Stack.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,MAAM,CAAC;AACtB,OAAO,KAAK,EAAE,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAqC1E,MAAM,CAAC,MAAM,KAAK,GAChB,UAAU,CACR,CACE,EAUC,EACD,GAAG,EACH,EAAE;QAZF,EACE,EAAE,EAAE,SAAS,GAAG,KAAK,EACrB,SAAS,EACT,KAAK,EACL,OAAO,EACP,IAAI,GAAG,IAAI,EACX,GAAG,EACH,KAAK,EAAE,MAAM,EACb,SAAS,GAAG,KAAK,OAElB,EADI,IAAI,cATT,4EAUC,CADQ;IAIT,MAAM,KAAK,2FACN,MAAM,KACT,mBAAmB,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,KAC1C,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,GAClD,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,GACnD,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,GAC3C,kBAAkB,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CACnD,CAAC;IAEF,OAAO,CACL,oBAAC,SAAS,oBACJ,IAAI,IACR,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE;YACtC,cAAc,EAAE,SAAS,KAAK,QAAQ;YACtC,cAAc,EAAE,SAAS,KAAK,KAAK;SACpC,CAAC,IACF,CACH,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -1,14 +1,7 @@
1
- export type BreakpointsAlias = "xs" | "sm" | "md" | "lg" | "xl";
2
- export type SpacingScale = "0" | "05" | "1" | "1-alt" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "14" | "16" | "18" | "20" | "24" | "32";
3
- export type SpaceDelimitedAttribute<T extends string> = T | `${T} ${T}` | `${T} ${T} ${T}` | `${T} ${T} ${T} ${T}`;
4
- type FixedResponsiveT<T> = {
5
- [Breakpoint in BreakpointsAlias]?: T;
6
- };
7
- export type ResponsiveProp<T> = T | FixedResponsiveT<T>;
1
+ import { ResponsiveProp } from "./types";
8
2
  export declare function getResponsiveValue<T = string>(componentName: string, componentProp: string, responsiveProp?: ResponsiveProp<T>): {
9
3
  [k: string]: T;
10
4
  };
11
5
  export declare function getResponsiveProps<T extends string>(componentName: string, componentProp: string, tokenSubgroup: string, responsiveProp?: ResponsiveProp<T>, invert?: boolean, tokenExceptions?: string[]): {
12
6
  [x: string]: string;
13
7
  };
14
- export {};
@@ -1 +1 @@
1
- {"version":3,"file":"css.js","sourceRoot":"","sources":["../../../src/layout/utilities/css.ts"],"names":[],"mappings":"AAqCA,MAAM,UAAU,kBAAkB,CAChC,aAAqB,EACrB,aAAqB,EACrB,cAAkC;IAElC,IAAI,CAAC,cAAc,EAAE;QACnB,OAAO,EAAE,CAAC;KACX;IAED,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;QACtC,OAAO;YACL,CAAC,UAAU,aAAa,IAAI,aAAa,KAAK,CAAC,EAAE,cAAc;SAChE,CAAC;KACH;IAED,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,EAAE,eAAe,CAAC,EAAE,EAAE,CAAC;QACzE,UAAU,aAAa,IAAI,aAAa,IAAI,eAAe,EAAE;QAC7D,eAAe;KAChB,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,uBAAuB,GAAG,CAAC,SAAiB,EAAE,EAAE;IACpD,QAAQ,SAAS,EAAE;QACjB,KAAK,IAAI;YACP,OAAO,KAAK,CAAC;KAChB;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAChC,aAAqB,EACrB,WAAmB,EACnB,aAAqB,EACrB,eAAyB,EACzB,MAAe,EACf,EAAE;IACF,OAAO,WAAW;SACf,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;QACjB,IAAI,aAAa,KAAK,eAAe,IAAI,CAAC,KAAK,MAAM,EAAE;YACrD,MAAM,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;YAC/B,OAAO,iBAAiB,KAAK,QAAQ,CAAC;SACvC;QAED,IAAI,MAAM,GAAG,WAAW,aAAa,IAAI,CAAC,GAAG,CAAC;QAC9C,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;YAC/B,MAAM,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;SACrC;QACD,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,KAAK,GAAG,EAAE;gBACb,OAAO,GAAG,CAAC;aACZ;YACD,OAAO,aAAa,MAAM,GAAG,CAAC;SAC/B;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAChC,aAAqB,EACrB,aAAqB,EACrB,aAAqB,EACrB,cAAkC,EAClC,MAAM,GAAG,KAAK,EACd,kBAA4B,EAAE;IAE9B,IAAI,CAAC,cAAc,EAAE;QACnB,OAAO,EAAE,CAAC;KACX;IAED,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;QACtC,OAAO;YACL,CAAC,UAAU,aAAa,IAAI,aAAa,KAAK,CAAC,EAC7C,yBAAyB,CACvB,aAAa,EACb,cAAc,EACd,aAAa,EACb,eAAe,EACf,MAAM,CACP;SACJ,CAAC;KACH;IAED,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,YAAY,CAAC,EAAE,EAAE;QACzE,UAAU,CAAC,UAAU,aAAa,IAAI,aAAa,IAAI,eAAe,EAAE,CAAC;YACvE,yBAAyB,CACvB,aAAa,EACb,YAAY,EACZ,aAAa,EACb,eAAe,EACf,MAAM,CACP,CAAC;IACN,CAAC,CAAC,CAAC;IACH,OAAO,UAAU,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"css.js","sourceRoot":"","sources":["../../../src/layout/utilities/css.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,kBAAkB,CAChC,aAAqB,EACrB,aAAqB,EACrB,cAAkC;IAElC,IAAI,CAAC,cAAc,EAAE;QACnB,OAAO,EAAE,CAAC;KACX;IAED,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;QACtC,OAAO;YACL,CAAC,UAAU,aAAa,IAAI,aAAa,KAAK,CAAC,EAAE,cAAc;SAChE,CAAC;KACH;IAED,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,EAAE,eAAe,CAAC,EAAE,EAAE,CAAC;QACzE,UAAU,aAAa,IAAI,aAAa,IAAI,eAAe,EAAE;QAC7D,eAAe;KAChB,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,uBAAuB,GAAG,CAAC,SAAiB,EAAE,EAAE;IACpD,QAAQ,SAAS,EAAE;QACjB,KAAK,IAAI;YACP,OAAO,KAAK,CAAC;KAChB;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAChC,aAAqB,EACrB,WAAmB,EACnB,aAAqB,EACrB,eAAyB,EACzB,MAAe,EACf,EAAE;IACF,OAAO,WAAW;SACf,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;QACjB,IAAI,aAAa,KAAK,eAAe,IAAI,CAAC,KAAK,MAAM,EAAE;YACrD,MAAM,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;YAC/B,OAAO,iBAAiB,KAAK,QAAQ,CAAC;SACvC;QAED,IAAI,MAAM,GAAG,WAAW,aAAa,IAAI,CAAC,GAAG,CAAC;QAC9C,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;YAC/B,MAAM,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;SACrC;QACD,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,KAAK,GAAG,EAAE;gBACb,OAAO,GAAG,CAAC;aACZ;YACD,OAAO,aAAa,MAAM,GAAG,CAAC;SAC/B;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAChC,aAAqB,EACrB,aAAqB,EACrB,aAAqB,EACrB,cAAkC,EAClC,MAAM,GAAG,KAAK,EACd,kBAA4B,EAAE;IAE9B,IAAI,CAAC,cAAc,EAAE;QACnB,OAAO,EAAE,CAAC;KACX;IAED,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;QACtC,OAAO;YACL,CAAC,UAAU,aAAa,IAAI,aAAa,KAAK,CAAC,EAC7C,yBAAyB,CACvB,aAAa,EACb,cAAc,EACd,aAAa,EACb,eAAe,EACf,MAAM,CACP;SACJ,CAAC;KACH;IAED,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,YAAY,CAAC,EAAE,EAAE;QACzE,UAAU,CAAC,UAAU,aAAa,IAAI,aAAa,IAAI,eAAe,EAAE,CAAC;YACvE,yBAAyB,CACvB,aAAa,EACb,YAAY,EACZ,aAAa,EACb,eAAe,EACf,MAAM,CACP,CAAC;IACN,CAAC,CAAC,CAAC;IACH,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -3,7 +3,16 @@ import surfaceColors from "@navikt/ds-tokens/src/colors-surface.json";
3
3
  import borderColors from "@navikt/ds-tokens/src/colors-border.json";
4
4
  import borderRadii from "@navikt/ds-tokens/src/border.json";
5
5
  import shadows from "@navikt/ds-tokens/src/shadow.json";
6
+ import Spacing from "@navikt/ds-tokens/src/spacing.json";
6
7
  export type BackgroundToken = keyof typeof bgColors.a | keyof typeof surfaceColors.a;
7
8
  export type BorderColorToken = keyof typeof borderColors.a;
8
9
  export type BorderRadiiToken = keyof (typeof borderRadii.a)["border-radius"] | "0";
9
10
  export type ShadowToken = keyof typeof shadows.a.shadow;
11
+ export type BreakpointsAlias = "xs" | "sm" | "md" | "lg" | "xl";
12
+ export type SpacingScale = keyof (typeof Spacing)["a"]["spacing"];
13
+ export type SpaceDelimitedAttribute<T extends string> = T | `${T} ${T}` | `${T} ${T} ${T}` | `${T} ${T} ${T} ${T}`;
14
+ type FixedResponsiveT<T> = {
15
+ [Breakpoint in BreakpointsAlias]?: T;
16
+ };
17
+ export type ResponsiveProp<T> = T | FixedResponsiveT<T>;
18
+ export {};
@@ -37,7 +37,7 @@ export type LoaderType = React.ForwardRefExoticComponent<LoaderProps & React.Ref
37
37
  *
38
38
  * @example
39
39
  * ```jsx
40
- * <Loader size="3xlarge" title="venter..." />
40
+ * <Loader size="3xlarge" title="Venter..." />
41
41
  * ```
42
42
  */
43
43
  export declare const Loader: LoaderType;
@@ -20,7 +20,7 @@ import { omit, useId } from "../util";
20
20
  *
21
21
  * @example
22
22
  * ```jsx
23
- * <Loader size="3xlarge" title="venter..." />
23
+ * <Loader size="3xlarge" title="Venter..." />
24
24
  * ```
25
25
  */
26
26
  export const Loader = forwardRef((_a, ref) => {
@@ -70,7 +70,7 @@ import dialogPolyfill, { needPolyfill } from "./dialog-polyfill";
70
70
  */
71
71
  export const Modal = forwardRef((_a, ref) => {
72
72
  var _b, _c;
73
- var { header, children, open, onBeforeClose, onCancel, width, portal, className, "aria-labelledby": ariaLabelledby, style } = _a, rest = __rest(_a, ["header", "children", "open", "onBeforeClose", "onCancel", "width", "portal", "className", "aria-labelledby", "style"]);
73
+ var { header, children, open, onBeforeClose, onCancel, closeOnBackdropClick, width, portal, className, "aria-labelledby": ariaLabelledby, style, onClick } = _a, rest = __rest(_a, ["header", "children", "open", "onBeforeClose", "onCancel", "closeOnBackdropClick", "width", "portal", "className", "aria-labelledby", "style", "onClick"]);
74
74
  const modalRef = useRef(null);
75
75
  const mergedRef = useMemo(() => mergeRefs([modalRef, ref]), [ref]);
76
76
  const ariaLabelId = useId();
@@ -86,6 +86,12 @@ export const Modal = forwardRef((_a, ref) => {
86
86
  if (needPolyfill && modalRef.current && portalNode) {
87
87
  dialogPolyfill.registerDialog(modalRef.current);
88
88
  }
89
+ // We set autofocus on the dialog element to prevent the default behavior where first focusable element gets focus when modal is opened.
90
+ // This is mainly to fix an edge case where having a Tooltip as the first focusable element would make it activate when you open the modal.
91
+ // We have to use JS because it doesn't work to set it with a prop (React bug?)
92
+ // Currently doesn't seem to work in Chrome. See also Tooltip.tsx
93
+ if (modalRef.current && portalNode)
94
+ modalRef.current.autofocus = true;
89
95
  }, [modalRef, portalNode]);
90
96
  useEffect(() => {
91
97
  // We need to have this in a useEffect so that the content renders before the modal is displayed,
@@ -102,22 +108,37 @@ export const Modal = forwardRef((_a, ref) => {
102
108
  }, [modalRef, portalNode, open]);
103
109
  useBodyScrollLock(modalRef, portalNode);
104
110
  const isWidthPreset = typeof width === "string" && ["small", "medium"].includes(width);
105
- const component = (React.createElement("dialog", Object.assign({}, rest, { ref: mergedRef, className: cl("navds-modal", className, {
106
- "navds-modal--polyfilled": needPolyfill,
107
- "navds-modal--autowidth": !width,
108
- [`navds-modal--${width}`]: isWidthPreset,
109
- }), style: Object.assign(Object.assign({}, style), (!isWidthPreset ? { width } : {})), onCancel: (event) => {
110
- // FYI: onCancel fires when you press Esc
111
- if (onBeforeClose && onBeforeClose() === false) {
112
- event.preventDefault();
111
+ const mergedClassName = cl("navds-modal", className, {
112
+ "navds-modal--polyfilled": needPolyfill,
113
+ "navds-modal--autowidth": !width,
114
+ [`navds-modal--${width}`]: isWidthPreset,
115
+ });
116
+ const mergedStyle = Object.assign(Object.assign({}, style), (!isWidthPreset ? { width } : {}));
117
+ const mergedOnCancel = (event) => {
118
+ if (onBeforeClose && onBeforeClose() === false) {
119
+ event.preventDefault();
120
+ }
121
+ else if (onCancel)
122
+ onCancel(event);
123
+ };
124
+ const mergedOnClick = closeOnBackdropClick && !needPolyfill // closeOnBackdropClick has issues on polyfill when nesting modals (DatePicker)
125
+ ? (event) => {
126
+ onClick && onClick(event);
127
+ if (event.target === modalRef.current &&
128
+ (!onBeforeClose || onBeforeClose() !== false)) {
129
+ modalRef.current.close();
113
130
  }
114
- else if (onCancel)
115
- onCancel(event);
116
- }, "aria-labelledby": !ariaLabelledby && !rest["aria-label"] && header
117
- ? ariaLabelId
118
- : ariaLabelledby }),
131
+ }
132
+ : onClick;
133
+ const mergedAriaLabelledBy = !ariaLabelledby && !rest["aria-label"] && header
134
+ ? ariaLabelId
135
+ : ariaLabelledby;
136
+ const component = (
137
+ // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-noninteractive-element-interactions
138
+ React.createElement("dialog", Object.assign({}, rest, { ref: mergedRef, className: mergedClassName, style: mergedStyle, onCancel: mergedOnCancel, onClick: mergedOnClick, "aria-labelledby": mergedAriaLabelledBy }),
119
139
  React.createElement(ModalContext.Provider, { value: {
120
140
  closeHandler: getCloseHandler(modalRef, header, onBeforeClose),
141
+ ref: modalRef,
121
142
  } },
122
143
  header && (React.createElement(ModalHeader, null,
123
144
  header.label && (React.createElement(Detail, { className: "navds-modal__label" }, header.label)),
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../src/modal/Modal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../src/modal/Modal.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,MAAM,MAAM,CAAC;AACtB,OAAO,KAAK,EAAE,EACZ,UAAU,EACV,UAAU,EACV,SAAS,EACT,OAAO,EACP,MAAM,GACP,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,cAAc,EAAE,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAYjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,UAAU,CAC7B,CACE,EAca,EACb,GAAG,EACH,EAAE;;QAhBF,EACE,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,aAAa,EACb,QAAQ,EACR,oBAAoB,EACpB,KAAK,EACL,MAAM,EACN,SAAS,EACT,iBAAiB,EAAE,cAAc,EACjC,KAAK,EACL,OAAO,OAEI,EADR,IAAI,cAbT,0JAcC,CADQ;IAIT,MAAM,QAAQ,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,KAAK,EAAE,CAAC;IAC5B,MAAM,WAAW,GAAG,MAAA,WAAW,EAAE,0CAAE,WAAW,CAAC;IAC/C,MAAM,UAAU,GAAG,qBAAqB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAEhE,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE;QAC5B,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;KAC9C;IAED,SAAS,CAAC,GAAG,EAAE;QACb,8EAA8E;QAC9E,4DAA4D;QAC5D,0EAA0E;QAC1E,IAAI,YAAY,IAAI,QAAQ,CAAC,OAAO,IAAI,UAAU,EAAE;YAClD,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;SACjD;QACD,wIAAwI;QACxI,2IAA2I;QAC3I,+EAA+E;QAC/E,iEAAiE;QACjE,IAAI,QAAQ,CAAC,OAAO,IAAI,UAAU;YAAE,QAAQ,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IACxE,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IAE3B,SAAS,CAAC,GAAG,EAAE;QACb,iGAAiG;QACjG,wCAAwC;QACxC,sGAAsG;QACtG,IAAI,QAAQ,CAAC,OAAO,IAAI,UAAU,IAAI,IAAI,KAAK,SAAS,EAAE;YACxD,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE;gBAClC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;aAC9B;iBAAM,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE;gBACzC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;aAC1B;SACF;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;IAEjC,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAExC,MAAM,aAAa,GACjB,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEnE,MAAM,eAAe,GAAG,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE;QACnD,yBAAyB,EAAE,YAAY;QACvC,wBAAwB,EAAE,CAAC,KAAK;QAChC,CAAC,gBAAgB,KAAK,EAAE,CAAC,EAAE,aAAa;KACzC,CAAC,CAAC;IAEH,MAAM,WAAW,mCACZ,KAAK,GACL,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACrC,CAAC;IAEF,MAAM,cAAc,GAClB,CAAC,KAAK,EAAE,EAAE;QACR,IAAI,aAAa,IAAI,aAAa,EAAE,KAAK,KAAK,EAAE;YAC9C,KAAK,CAAC,cAAc,EAAE,CAAC;SACxB;aAAM,IAAI,QAAQ;YAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC,CAAC;IAEJ,MAAM,aAAa,GACjB,oBAAoB,IAAI,CAAC,YAAY,CAAC,+EAA+E;QACnH,CAAC,CAAC,CAAC,KAA0C,EAAE,EAAE;YAC7C,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;YAC1B,IACE,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,OAAO;gBACjC,CAAC,CAAC,aAAa,IAAI,aAAa,EAAE,KAAK,KAAK,CAAC,EAC7C;gBACA,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;aAC1B;QACH,CAAC;QACH,CAAC,CAAC,OAAO,CAAC;IAEd,MAAM,oBAAoB,GACxB,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,MAAM;QAC9C,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,cAAc,CAAC;IAErB,MAAM,SAAS,GAAG;IAChB,kHAAkH;IAClH,gDACM,IAAI,IACR,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,aAAa,qBACL,oBAAoB;QAErC,oBAAC,YAAY,CAAC,QAAQ,IACpB,KAAK,EAAE;gBACL,YAAY,EAAE,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC;gBAC9D,GAAG,EAAE,QAAQ;aACd;YAEA,MAAM,IAAI,CACT,oBAAC,WAAW;gBACT,MAAM,CAAC,KAAK,IAAI,CACf,oBAAC,MAAM,IAAC,SAAS,EAAC,oBAAoB,IAAE,MAAM,CAAC,KAAK,CAAU,CAC/D;gBACD,oBAAC,OAAO,IACN,IAAI,EAAE,MAAA,MAAM,CAAC,IAAI,mCAAI,QAAQ,EAC7B,KAAK,EAAC,GAAG,EACT,EAAE,EAAE,WAAW;oBAEf,8BAAM,SAAS,EAAC,0BAA0B,IAAE,MAAM,CAAC,IAAI,CAAQ;oBAC9D,MAAM,CAAC,OAAO,CACP,CACE,CACf;YAEA,QAAQ,CACa,CACjB,CACV,CAAC;IAEF,IAAI,MAAM,EAAE;QACV,IAAI,UAAU;YAAE,OAAO,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC;KACb;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CACgB,CAAC;AAEpB,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;AAC3B,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;AACvB,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;AAE3B,eAAe,KAAK,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import React from "react";
2
2
  interface ModalContextProps {
3
3
  closeHandler?: React.MouseEventHandler<HTMLButtonElement>;
4
+ ref: React.RefObject<HTMLDialogElement>;
4
5
  }
5
6
  export declare const ModalContext: React.Context<ModalContextProps | null>;
6
7
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"ModalContext.js","sourceRoot":"","sources":["../../src/modal/ModalContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,CAA2B,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"ModalContext.js","sourceRoot":"","sources":["../../src/modal/ModalContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,CAA2B,IAAI,CAAC,CAAC"}
@@ -42,6 +42,13 @@ export interface ModalProps extends React.DialogHTMLAttributes<HTMLDialogElement
42
42
  * Called when the user presses the Esc key, unless `onBeforeClose()` returns `false`.
43
43
  */
44
44
  onCancel?: React.ReactEventHandler<HTMLDialogElement>;
45
+ /**
46
+ * Whether to close when clicking on the backdrop.
47
+ *
48
+ * **WARNING:** Users may click outside by accident. Don't use if closing can cause data loss, or the modal contains important info.
49
+ * @default false
50
+ */
51
+ closeOnBackdropClick?: boolean;
45
52
  /**
46
53
  * @default fit-content (up to 700px)
47
54
  * */
@@ -9,12 +9,13 @@ var __rest = (this && this.__rest) || function (s, e) {
9
9
  }
10
10
  return t;
11
11
  };
12
- import { arrow as flArrow, autoUpdate, flip, FloatingPortal, offset, safePolygon, shift, useDismiss, useFloating, useFocus, useHover, useInteractions, } from "@floating-ui/react";
12
+ import { FloatingPortal, autoUpdate, arrow as flArrow, flip, offset, safePolygon, shift, useDismiss, useFloating, useFocus, useHover, useInteractions, } from "@floating-ui/react";
13
13
  import cl from "clsx";
14
- import React, { cloneElement, forwardRef, useMemo, useRef, useState, } from "react";
14
+ import React, { cloneElement, forwardRef, useContext, useMemo, useRef, useState, } from "react";
15
+ import { ModalContext } from "../modal/ModalContext";
16
+ import { useProvider } from "../provider";
15
17
  import { Detail } from "../typography";
16
18
  import { mergeRefs, useId } from "../util";
17
- import { useProvider } from "../provider";
18
19
  /**
19
20
  * A component that displays a tooltip when the user hovers over its child element.
20
21
  *
@@ -33,7 +34,11 @@ export const Tooltip = forwardRef((_a, ref) => {
33
34
  var { children, className, arrow: _arrow = true, placement: _placement = "top", open: userOpen, defaultOpen = false, offset: _offset, content, delay = 150, id, keys, maxChar = 80 } = _a, rest = __rest(_a, ["children", "className", "arrow", "placement", "open", "defaultOpen", "offset", "content", "delay", "id", "keys", "maxChar"]);
34
35
  const [open, setOpen] = useState(defaultOpen);
35
36
  const arrowRef = useRef(null);
36
- const rootElement = (_b = useProvider()) === null || _b === void 0 ? void 0 : _b.rootElement;
37
+ const modalContext = useContext(ModalContext);
38
+ const providerRootElement = (_b = useProvider()) === null || _b === void 0 ? void 0 : _b.rootElement;
39
+ const rootElement = modalContext
40
+ ? modalContext.ref.current
41
+ : providerRootElement;
37
42
  const { x, y, strategy, context, placement, middlewareData: { arrow: { x: arrowX, y: arrowY } = {}, hide: { referenceHidden } = {}, }, refs, } = useFloating({
38
43
  placement: _placement,
39
44
  open: userOpen !== null && userOpen !== void 0 ? userOpen : open,
@@ -44,7 +49,13 @@ export const Tooltip = forwardRef((_a, ref) => {
44
49
  flip({ padding: 5, fallbackPlacements: ["bottom", "top"] }),
45
50
  flArrow({ element: arrowRef, padding: 5 }),
46
51
  ],
47
- whileElementsMounted: autoUpdate,
52
+ whileElementsMounted: modalContext
53
+ ? (reference, floating, update) =>
54
+ // Reduces jumping in Chrome when used in a Modal and it's the first focusable element.
55
+ // Can be removed when autofocus starts working on <dialog> in Chrome. See also Modal.tsx
56
+ autoUpdate(reference, floating, update, { animationFrame: true })
57
+ : autoUpdate,
58
+ strategy: modalContext ? "fixed" : undefined,
48
59
  });
49
60
  const { getReferenceProps, getFloatingProps } = useInteractions([
50
61
  useHover(context, { handleClose: safePolygon(), restMs: delay }),
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../src/tooltip/Tooltip.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../src/tooltip/Tooltip.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@navikt/ds-react",
3
- "version": "5.7.5",
3
+ "version": "5.8.0",
4
4
  "description": "Aksel react-components for NAV designsystem",
5
5
  "author": "Aksel | NAV designsystem team",
6
6
  "license": "MIT",
@@ -38,8 +38,8 @@
38
38
  },
39
39
  "dependencies": {
40
40
  "@floating-ui/react": "0.25.4",
41
- "@navikt/aksel-icons": "^5.7.5",
42
- "@navikt/ds-tokens": "^5.7.5",
41
+ "@navikt/aksel-icons": "^5.8.0",
42
+ "@navikt/ds-tokens": "^5.8.0",
43
43
  "@radix-ui/react-tabs": "1.0.0",
44
44
  "@radix-ui/react-toggle-group": "1.0.0",
45
45
  "clsx": "^1.2.1",
@@ -1,9 +1,9 @@
1
+ import { ChevronDownIcon } from "@navikt/aksel-icons";
1
2
  import cl from "clsx";
2
3
  import React, { forwardRef, useContext } from "react";
3
4
  import { Heading } from "../typography";
4
5
  import { AccordionContext } from "./AccordionContext";
5
6
  import { AccordionItemContext } from "./AccordionItem";
6
- import { ChevronDownIcon } from "@navikt/aksel-icons";
7
7
 
8
8
  export interface AccordionHeaderProps
9
9
  extends React.ButtonHTMLAttributes<HTMLButtonElement> {
@@ -37,13 +37,13 @@ const AccordionHeader = forwardRef<HTMLButtonElement, AccordionHeaderProps>(
37
37
  aria-expanded={itemContext.open}
38
38
  type="button"
39
39
  >
40
- <div className="navds-accordion__icon-wrapper">
40
+ <span className="navds-accordion__icon-wrapper">
41
41
  <ChevronDownIcon
42
42
  className="navds-accordion__header-chevron"
43
43
  title="Vis mer"
44
44
  aria-hidden
45
45
  />
46
- </div>
46
+ </span>
47
47
  <Heading
48
48
  size={accordionContext?.headingSize ?? "small"}
49
49
  as="span"
@@ -6,7 +6,7 @@ export interface ToggleChipsProps
6
6
  extends React.ButtonHTMLAttributes<HTMLButtonElement> {
7
7
  children: string;
8
8
  /**
9
- * Toggles aria-pressed and visual-changes
9
+ * Toggles aria-pressed and visual changes
10
10
  */
11
11
  selected?: boolean;
12
12
  /**
@@ -44,28 +44,38 @@ export const ToggleChips: OverridableComponent<
44
44
  className={cl(
45
45
  "navds-chips__chip navds-chips__toggle",
46
46
  className,
47
- `navds-chips__toggle--${variant}`
47
+ `navds-chips__toggle--${variant}`,
48
+ { "navds-chips__toggle--with-checkmark": checkmark }
48
49
  )}
49
50
  aria-pressed={selected}
50
51
  >
51
- {selected && checkmark && (
52
+ {checkmark && (
52
53
  <svg
53
54
  aria-hidden
54
55
  className="navds-chips__toggle-icon"
55
- width="10"
56
- height="8"
57
- viewBox="0 0 10 8"
56
+ width="1.25em"
57
+ height="1.25em"
58
+ viewBox="0 0 20 20"
58
59
  fill="none"
59
60
  xmlns="http://www.w3.org/2000/svg"
60
61
  focusable={false}
61
62
  role="img"
62
63
  >
63
- <path
64
- fillRule="evenodd"
65
- clipRule="evenodd"
66
- d="M9.51894 0.45851C9.81799 0.745107 9.8281 1.21987 9.5415 1.51893L3.7915 7.51893C3.51247 7.81009 3.05315 7.82848 2.75174 7.56056L0.501735 5.56056C0.192148 5.28537 0.164263 4.81132 0.439451 4.50173C0.71464 4.19214 1.18869 4.16426 1.49828 4.43944L3.20835 5.95951L8.45852 0.481072C8.74511 0.182015 9.21988 0.171913 9.51894 0.45851Z"
67
- fill="currentColor"
68
- />
64
+ {selected ? (
65
+ <path
66
+ fillRule="evenodd"
67
+ clipRule="evenodd"
68
+ d="M10 18.125C14.4873 18.125 18.125 14.4873 18.125 10C18.125 5.51269 14.4873 1.875 10 1.875C5.51269 1.875 1.875 5.51269 1.875 10C1.875 14.4873 5.51269 18.125 10 18.125ZM14.128 7.72904C14.3695 7.44357 14.3339 7.01635 14.0485 6.7748C13.763 6.53326 13.3358 6.56886 13.0942 6.85432L8.60428 12.1606L6.41627 9.97263C6.15185 9.70822 5.72315 9.70822 5.45873 9.97263C5.19431 10.2371 5.19431 10.6658 5.45873 10.9302L8.16706 13.6385C8.30095 13.7724 8.48479 13.8441 8.67397 13.8362C8.86316 13.8284 9.0404 13.7416 9.16271 13.5971L14.128 7.72904Z"
69
+ fill="currentColor"
70
+ />
71
+ ) : (
72
+ <path
73
+ fillRule="evenodd"
74
+ clipRule="evenodd"
75
+ 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(--a-border-default)"
77
+ />
78
+ )}
69
79
  </svg>
70
80
  )}
71
81
  <span className="navds-chips__chip-text">{children}</span>
@@ -60,11 +60,11 @@ Default.argTypes = {
60
60
  },
61
61
  };
62
62
 
63
- export const Toggle = () => {
63
+ export const Toggle = ({ size }) => {
64
64
  const [selected, setSelected] = useState<number[]>([2, 4]);
65
65
  return (
66
66
  <div className="colgap">
67
- <Chips>
67
+ <Chips size={size}>
68
68
  {options.map((c, y) => (
69
69
  <Chips.Toggle
70
70
  selected={selected.includes(y)}
@@ -81,7 +81,7 @@ export const Toggle = () => {
81
81
  </Chips.Toggle>
82
82
  ))}
83
83
  </Chips>
84
- <Chips>
84
+ <Chips size={size}>
85
85
  {options.map((c, y) => (
86
86
  <Chips.Toggle
87
87
  variant="neutral"
@@ -102,6 +102,12 @@ export const Toggle = () => {
102
102
  </div>
103
103
  );
104
104
  };
105
+ Toggle.argTypes = {
106
+ size: {
107
+ control: { type: "radio" },
108
+ options: ["medium", "small"],
109
+ },
110
+ };
105
111
 
106
112
  export const ToggleNoCheckmark = () => {
107
113
  const [selected, setSelected] = useState<number>(2);
@@ -4,7 +4,6 @@ import isSameDay from "date-fns/isSameDay";
4
4
  import React, { useId, useState } from "react";
5
5
  import { useDatepicker, useRangeDatepicker } from "..";
6
6
  import { BodyLong, Button, HGrid, HStack, Modal, VStack } from "../..";
7
-
8
7
  import DatePicker, { DatePickerProps } from "./DatePicker";
9
8
 
10
9
  const disabledDays = [
@@ -1,8 +1,10 @@
1
1
  import { Meta, StoryFn } from "@storybook/react";
2
+ import setYear from "date-fns/setYear";
2
3
  import React, { useId, useState } from "react";
3
4
  import { Button, DateInputProps } from "../..";
4
5
  import { useMonthpicker } from "../hooks";
5
- import MonthPicker, { MonthPickerProps } from "./MonthPicker";
6
+ import MonthPicker from "./MonthPicker";
7
+ import { MonthPickerProps } from "./types";
6
8
 
7
9
  export default {
8
10
  title: "ds-react/Monthpicker",
@@ -147,3 +149,28 @@ export const UserControlled = () => {
147
149
  </div>
148
150
  );
149
151
  };
152
+
153
+ export const FollowYear = () => {
154
+ const { monthpickerProps, inputProps, selectedMonth, setSelected } =
155
+ useMonthpicker({
156
+ fromDate: new Date("Aug 23 2019"),
157
+ toDate: new Date("Aug 23 2025"),
158
+ onMonthChange: console.log,
159
+ });
160
+
161
+ const customYearChange = (yearDate?: Date) => {
162
+ monthpickerProps.onYearChange?.(yearDate);
163
+ if (selectedMonth && yearDate) {
164
+ setSelected(setYear(selectedMonth, yearDate.getFullYear()));
165
+ }
166
+ };
167
+
168
+ return (
169
+ <div className="min-h-96">
170
+ <MonthPicker {...monthpickerProps} onYearChange={customYearChange}>
171
+ <MonthPicker.Input {...inputProps} label="Velg månede" />
172
+ </MonthPicker>
173
+ {selectedMonth && <div className="pt-4">{selectedMonth.getMonth()}</div>}
174
+ </div>
175
+ );
176
+ };
@@ -95,8 +95,7 @@ export const FilteredOptionsProvider = ({ children, value: props }) => {
95
95
  shouldAutocomplete &&
96
96
  normalizeText(searchTerm) !== "" &&
97
97
  (previousSearchTerm?.length || 0) < searchTerm.length &&
98
- filteredOptions.length > 0 &&
99
- !isValueInList(searchTerm, filteredOptions)
98
+ filteredOptions.length > 0
100
99
  ) {
101
100
  setValue(
102
101
  `${searchTerm}${filteredOptions[0].substring(searchTerm.length)}`
@@ -31,6 +31,7 @@ const Input = forwardRef<HTMLInputElement, InputProps>(
31
31
  allowNewValues,
32
32
  currentOption,
33
33
  filteredOptions,
34
+ isValueNew,
34
35
  toggleIsListOpen,
35
36
  isListOpen,
36
37
  filteredOptionsIndex,
@@ -46,29 +47,43 @@ const Input = forwardRef<HTMLInputElement, InputProps>(
46
47
 
47
48
  const onEnter = useCallback(
48
49
  (event: React.KeyboardEvent) => {
50
+ const isTextInSelectedOptions = (text: string) => {
51
+ return selectedOptions.find(
52
+ (item) => item.toLocaleLowerCase() === text.toLocaleLowerCase()
53
+ );
54
+ };
55
+
49
56
  if (currentOption) {
50
57
  event.preventDefault();
51
58
  // Selecting a value from the dropdown / FilteredOptions
52
59
  toggleOption(currentOption, event);
53
- if (!isMultiSelect && !selectedOptions.includes(currentOption))
60
+ if (!isMultiSelect && !isTextInSelectedOptions(currentOption))
54
61
  toggleIsListOpen(false);
55
- } else if (shouldAutocomplete && selectedOptions.includes(value)) {
62
+ } else if (shouldAutocomplete && isTextInSelectedOptions(value)) {
56
63
  event.preventDefault();
57
64
  // Trying to set the same value that is already set, so just clearing the input
58
65
  clearInput(event);
59
66
  } else if ((allowNewValues || shouldAutocomplete) && value !== "") {
60
67
  event.preventDefault();
61
68
  // Autocompleting or adding a new value
62
- toggleOption(value, event);
63
- if (!isMultiSelect && !selectedOptions.includes(value))
69
+ const selectedValue =
70
+ allowNewValues && isValueNew ? value : filteredOptions[0];
71
+ toggleOption(selectedValue, event);
72
+ if (
73
+ !isMultiSelect &&
74
+ !isTextInSelectedOptions(filteredOptions[0] || selectedValue)
75
+ ) {
64
76
  toggleIsListOpen(false);
77
+ }
65
78
  }
66
79
  },
67
80
  [
68
81
  allowNewValues,
69
82
  clearInput,
70
83
  currentOption,
84
+ filteredOptions,
71
85
  isMultiSelect,
86
+ isValueNew,
72
87
  selectedOptions,
73
88
  shouldAutocomplete,
74
89
  toggleIsListOpen,