@navikt/ds-react 0.11.0 → 0.11.4

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 (36) hide show
  1. package/cjs/accordion/AccordionContent.js +1 -7
  2. package/cjs/accordion/AccordionHeader.js +1 -1
  3. package/cjs/accordion/AccordionItem.js +0 -3
  4. package/cjs/form/checkbox/CheckboxGroup.js +11 -5
  5. package/cjs/form/checkbox/useCheckbox.js +1 -1
  6. package/cjs/help-text/HelpText.js +2 -3
  7. package/cjs/loader/Loader.js +2 -2
  8. package/cjs/popover/Popover.js +1 -1
  9. package/esm/accordion/AccordionContent.js +1 -7
  10. package/esm/accordion/AccordionContent.js.map +1 -1
  11. package/esm/accordion/AccordionHeader.js +1 -1
  12. package/esm/accordion/AccordionHeader.js.map +1 -1
  13. package/esm/accordion/AccordionItem.d.ts +0 -2
  14. package/esm/accordion/AccordionItem.js +0 -3
  15. package/esm/accordion/AccordionItem.js.map +1 -1
  16. package/esm/form/checkbox/CheckboxGroup.d.ts +1 -1
  17. package/esm/form/checkbox/CheckboxGroup.js +12 -6
  18. package/esm/form/checkbox/CheckboxGroup.js.map +1 -1
  19. package/esm/form/checkbox/useCheckbox.js +1 -1
  20. package/esm/form/checkbox/useCheckbox.js.map +1 -1
  21. package/esm/help-text/HelpText.js +3 -4
  22. package/esm/help-text/HelpText.js.map +1 -1
  23. package/esm/loader/Loader.js +2 -2
  24. package/esm/loader/Loader.js.map +1 -1
  25. package/esm/popover/Popover.js +1 -1
  26. package/esm/popover/Popover.js.map +1 -1
  27. package/package.json +2 -2
  28. package/src/accordion/AccordionContent.tsx +1 -15
  29. package/src/accordion/AccordionHeader.tsx +0 -1
  30. package/src/accordion/AccordionItem.tsx +0 -5
  31. package/src/form/checkbox/Checkbox.test.tsx +60 -1
  32. package/src/form/checkbox/CheckboxGroup.tsx +16 -18
  33. package/src/form/checkbox/useCheckbox.ts +1 -1
  34. package/src/help-text/HelpText.tsx +1 -4
  35. package/src/loader/Loader.tsx +2 -2
  36. package/src/popover/Popover.tsx +0 -1
@@ -36,16 +36,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  const classnames_1 = __importDefault(require("classnames"));
37
37
  const react_1 = __importStar(require("react"));
38
38
  const react_collapse_1 = require("react-collapse");
39
- const util_1 = require("../util");
40
39
  const AccordionItem_1 = require("./AccordionItem");
41
40
  const AccordionContent = (0, react_1.forwardRef)((_a, ref) => {
42
41
  var { children, className, id } = _a, rest = __rest(_a, ["children", "className", "id"]);
43
42
  const context = (0, react_1.useContext)(AccordionItem_1.AccordionItemContext);
44
- const newId = (0, util_1.useId)(id);
45
- const setContentId = context && context.setContentId;
46
- (0, util_1.useClientLayoutEffect)(() => {
47
- setContentId && setContentId(id ? newId : `accordionContent-${newId}`);
48
- }, [setContentId, newId]);
49
43
  if (context === null) {
50
44
  console.error("<Accordion.Content> has to be used within an <Accordion.Item>");
51
45
  return null;
@@ -53,7 +47,7 @@ const AccordionContent = (0, react_1.forwardRef)((_a, ref) => {
53
47
  const CollapseComponent = context.renderContentWhenClosed
54
48
  ? react_collapse_1.Collapse
55
49
  : react_collapse_1.UnmountClosed;
56
- return (react_1.default.createElement("div", Object.assign({ ref: ref, id: context.contentId, role: "region", "aria-labelledby": context.buttonId }, rest),
50
+ return (react_1.default.createElement("div", Object.assign({ ref: ref, role: "region", "aria-labelledby": context.buttonId }, rest),
57
51
  react_1.default.createElement(CollapseComponent, { isOpened: context.open },
58
52
  react_1.default.createElement("div", { className: (0, classnames_1.default)("navds-accordion__content", className) }, children))));
59
53
  });
@@ -54,7 +54,7 @@ const AccordionHeader = (0, react_1.forwardRef)((_a, ref) => {
54
54
  context.toggleOpen();
55
55
  onClick && onClick(e);
56
56
  };
57
- return (react_1.default.createElement("button", Object.assign({ ref: ref, id: context.buttonId, className: (0, classnames_1.default)("navds-accordion__header", className, "navds-heading", "navds-heading--small"), onClick: handleClick, "aria-controls": context.contentId }, rest),
57
+ return (react_1.default.createElement("button", Object.assign({ ref: ref, id: context.buttonId, className: (0, classnames_1.default)("navds-accordion__header", className, "navds-heading", "navds-heading--small"), onClick: handleClick }, rest),
58
58
  children,
59
59
  react_1.default.createElement(ds_icons_1.Expand, { focusable: "false", role: "img", "aria-label": context.open ? "Lukk panel ikon" : "Åpne panel ikon", className: (0, classnames_1.default)("navds-accordion__expand-icon", {
60
60
  "navds-accordion__expand-icon--flip": context.open,
@@ -41,7 +41,6 @@ const AccordionItem = (0, react_1.forwardRef)((_a, ref) => {
41
41
  var { children, className, open, defaultOpen = false, renderContentWhenClosed = false, onClick, id } = _a, rest = __rest(_a, ["children", "className", "open", "defaultOpen", "renderContentWhenClosed", "onClick", "id"]);
42
42
  const [internalOpen, setInternalOpen] = (0, react_1.useState)(defaultOpen);
43
43
  const [buttonId, setButtonId] = (0, react_1.useState)("");
44
- const [contentId, setContentId] = (0, react_1.useState)("");
45
44
  return (react_1.default.createElement("div", Object.assign({ className: (0, classnames_1.default)("navds-accordion__item", className, {
46
45
  "navds-accordion__item--open": open !== null && open !== void 0 ? open : internalOpen,
47
46
  }), ref: ref }, rest),
@@ -55,8 +54,6 @@ const AccordionItem = (0, react_1.forwardRef)((_a, ref) => {
55
54
  renderContentWhenClosed,
56
55
  setButtonId,
57
56
  buttonId,
58
- setContentId,
59
- contentId,
60
57
  } }, children)));
61
58
  });
62
59
  exports.default = AccordionItem;
@@ -40,16 +40,22 @@ const __1 = require("..");
40
40
  exports.CheckboxGroupContext = (0, react_1.createContext)(null);
41
41
  const CheckboxGroup = (0, react_1.forwardRef)((_a, ref) => {
42
42
  var _b, _c;
43
- var { value, defaultValue = [], onChange = () => { }, children, className } = _a, rest = __rest(_a, ["value", "defaultValue", "onChange", "children", "className"]);
44
- const state = value !== null && value !== void 0 ? value : [];
43
+ var { value, defaultValue, onChange = () => { }, children, className } = _a, rest = __rest(_a, ["value", "defaultValue", "onChange", "children", "className"]);
45
44
  const fieldset = (0, react_1.useContext)(__1.FieldsetContext);
45
+ const [state, setState] = (0, react_1.useState)([]);
46
+ const handleChange = (v) => {
47
+ const newValue = value ? value : state;
48
+ const newState = newValue.includes(v)
49
+ ? newValue.filter((x) => x !== v)
50
+ : [...newValue, v];
51
+ value === undefined && setState(newState);
52
+ onChange(newState);
53
+ };
46
54
  return (react_1.default.createElement(__1.Fieldset, Object.assign({}, rest, { ref: ref, className: (0, classnames_1.default)(className, "navds-checkbox-group", `navds-checkbox-group--${(_c = (_b = rest.size) !== null && _b !== void 0 ? _b : fieldset === null || fieldset === void 0 ? void 0 : fieldset.size) !== null && _c !== void 0 ? _c : "medium"}`) }),
47
55
  react_1.default.createElement(exports.CheckboxGroupContext.Provider, { value: {
48
56
  value,
49
57
  defaultValue,
50
- toggleValue: (value) => onChange(state.includes(value)
51
- ? state.filter((v) => v !== value)
52
- : [...state, value]),
58
+ toggleValue: (value) => handleChange(value),
53
59
  } },
54
60
  react_1.default.createElement("div", { className: "navds-checkboxes" }, children))));
55
61
  });
@@ -31,7 +31,7 @@ const useCheckbox = (_a) => {
31
31
  }
32
32
  return Object.assign(Object.assign({}, rest), { inputProps: Object.assign(Object.assign({}, inputProps), { type: "checkbox", checked: (checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.value)
33
33
  ? checkboxGroup.value.includes(props.value)
34
- : props.checked, defaultChecked: checkboxGroup
34
+ : props.checked, defaultChecked: (checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.defaultValue)
35
35
  ? checkboxGroup.defaultValue.includes(props.value)
36
36
  : props.defaultChecked, onChange: (e) => {
37
37
  props.onChange && props.onChange(e);
@@ -45,7 +45,6 @@ const HelpText = (0, react_1.forwardRef)((_a, ref) => {
45
45
  const popoverRef = (0, react_1.useRef)(null);
46
46
  const wrapperRef = (0, react_1.useRef)(null);
47
47
  const [open, setOpen] = (0, react_1.useState)(false);
48
- const popoverId = `popover-${(0, __1.useId)()}`;
49
48
  (0, react_1.useEffect)(() => {
50
49
  var _a;
51
50
  open && ((_a = popoverRef.current) === null || _a === void 0 ? void 0 : _a.focus());
@@ -55,10 +54,10 @@ const HelpText = (0, react_1.forwardRef)((_a, ref) => {
55
54
  rest.onClick && rest.onClick(e);
56
55
  };
57
56
  return (react_1.default.createElement("div", { className: "navds-help-text", ref: wrapperRef },
58
- react_1.default.createElement("button", Object.assign({}, rest, { ref: mergedRef, onClick: (e) => handleClick(e), className: (0, classnames_1.default)(className, "navds-help-text__button"), type: "button", "aria-expanded": open, "aria-controls": popoverId, "aria-haspopup": "dialog", title: title }),
57
+ react_1.default.createElement("button", Object.assign({}, rest, { ref: mergedRef, onClick: (e) => handleClick(e), className: (0, classnames_1.default)(className, "navds-help-text__button"), type: "button", "aria-expanded": open, "aria-haspopup": "dialog", title: title }),
59
58
  react_1.default.createElement(ds_icons_1.Helptext, { className: "navds-help-text__icon" }),
60
59
  react_1.default.createElement("span", { className: "navds-sr-only" }, title)),
61
- react_1.default.createElement(__1.Popover, { ref: popoverRef, onClose: () => setOpen(false), className: "navds-help-text__popover", open: open, role: "tooltip", anchorEl: buttonRef.current, id: popoverId, placement: placement },
60
+ react_1.default.createElement(__1.Popover, { ref: popoverRef, onClose: () => setOpen(false), className: "navds-help-text__popover", open: open, role: "tooltip", anchorEl: buttonRef.current, placement: placement },
62
61
  react_1.default.createElement(__1.Popover.Content, null, children))));
63
62
  });
64
63
  exports.default = HelpText;
@@ -38,8 +38,8 @@ const classnames_1 = __importDefault(require("classnames"));
38
38
  const __1 = require("..");
39
39
  const Loader = (0, react_1.forwardRef)((_a, ref) => {
40
40
  var { children, className, size = "medium", title = "venter...", transparent = false, variant = "neutral", id } = _a, rest = __rest(_a, ["children", "className", "size", "title", "transparent", "variant", "id"]);
41
- const internalId = (0, __1.useId)(id);
42
- return (react_1.default.createElement("svg", Object.assign({ "aria-labelledby": internalId, ref: ref, className: (0, classnames_1.default)("navds-loader", className, `navds-loader--${size}`, `navds-loader--${variant}`, {
41
+ const internalId = (0, __1.useId)();
42
+ return (react_1.default.createElement("svg", Object.assign({ "aria-labelledby": id !== null && id !== void 0 ? id : `loader-${internalId}`, ref: ref, className: (0, classnames_1.default)("navds-loader", className, `navds-loader--${size}`, `navds-loader--${variant}`, {
43
43
  "navds-loader--transparent": transparent,
44
44
  }), focusable: "false", viewBox: "0 0 50 50", preserveAspectRatio: "xMidYMid" }, rest),
45
45
  react_1.default.createElement("title", { id: id !== null && id !== void 0 ? id : `loader-${internalId}` }, title),
@@ -83,7 +83,7 @@ const Popover = (0, react_1.forwardRef)((_a, ref) => {
83
83
  }, [open, update]);
84
84
  return (react_1.default.createElement("div", Object.assign({ ref: mergedRef, className: (0, classnames_1.default)("navds-popover", className, {
85
85
  "navds-popover--hidden": !open || !anchorEl,
86
- }), "aria-live": "polite", "aria-hidden": !open || !anchorEl, tabIndex: -1 }, attributes.popper, rest, { style: styles.popper }),
86
+ }), "aria-hidden": !open || !anchorEl, tabIndex: -1 }, attributes.popper, rest, { style: styles.popper }),
87
87
  children,
88
88
  arrow && (react_1.default.createElement("div", { "data-popper-arrow": true, style: styles.arrow, className: "navds-popover__arrow" }))));
89
89
  });
@@ -12,16 +12,10 @@ var __rest = (this && this.__rest) || function (s, e) {
12
12
  import cl from "classnames";
13
13
  import React, { forwardRef, useContext } from "react";
14
14
  import { Collapse, UnmountClosed } from "react-collapse";
15
- import { useClientLayoutEffect, useId } from "../util";
16
15
  import { AccordionItemContext } from "./AccordionItem";
17
16
  const AccordionContent = forwardRef((_a, ref) => {
18
17
  var { children, className, id } = _a, rest = __rest(_a, ["children", "className", "id"]);
19
18
  const context = useContext(AccordionItemContext);
20
- const newId = useId(id);
21
- const setContentId = context && context.setContentId;
22
- useClientLayoutEffect(() => {
23
- setContentId && setContentId(id ? newId : `accordionContent-${newId}`);
24
- }, [setContentId, newId]);
25
19
  if (context === null) {
26
20
  console.error("<Accordion.Content> has to be used within an <Accordion.Item>");
27
21
  return null;
@@ -29,7 +23,7 @@ const AccordionContent = forwardRef((_a, ref) => {
29
23
  const CollapseComponent = context.renderContentWhenClosed
30
24
  ? Collapse
31
25
  : UnmountClosed;
32
- return (React.createElement("div", Object.assign({ ref: ref, id: context.contentId, role: "region", "aria-labelledby": context.buttonId }, rest),
26
+ return (React.createElement("div", Object.assign({ ref: ref, role: "region", "aria-labelledby": context.buttonId }, rest),
33
27
  React.createElement(CollapseComponent, { isOpened: context.open },
34
28
  React.createElement("div", { className: cl("navds-accordion__content", className) }, children))));
35
29
  });
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionContent.js","sourceRoot":"","sources":["../../src/accordion/AccordionContent.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAcvD,MAAM,gBAAgB,GAAyB,UAAU,CACvD,CAAC,EAAoC,EAAE,GAAG,EAAE,EAAE;QAA7C,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,OAAW,EAAN,IAAI,cAAlC,+BAAoC,CAAF;IACjC,MAAM,OAAO,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;IAEjD,MAAM,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;IACxB,MAAM,YAAY,GAAG,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC;IAErD,qBAAqB,CAAC,GAAG,EAAE;QACzB,YAAY,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAoB,KAAK,EAAE,CAAC,CAAC;IACzE,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;IAE1B,IAAI,OAAO,KAAK,IAAI,EAAE;QACpB,OAAO,CAAC,KAAK,CACX,+DAA+D,CAChE,CAAC;QACF,OAAO,IAAI,CAAC;KACb;IAED,MAAM,iBAAiB,GAAG,OAAO,CAAC,uBAAuB;QACvD,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,aAAa,CAAC;IAElB,OAAO,CACL,2CACE,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,OAAO,CAAC,SAAS,EACrB,IAAI,EAAC,QAAQ,qBACI,OAAO,CAAC,QAAQ,IAC7B,IAAI;QAER,oBAAC,iBAAiB,IAAC,QAAQ,EAAE,OAAO,CAAC,IAAI;YACvC,6BAAK,SAAS,EAAE,EAAE,CAAC,0BAA0B,EAAE,SAAS,CAAC,IACtD,QAAQ,CACL,CACY,CAChB,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"AccordionContent.js","sourceRoot":"","sources":["../../src/accordion/AccordionContent.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAcvD,MAAM,gBAAgB,GAAyB,UAAU,CACvD,CAAC,EAAoC,EAAE,GAAG,EAAE,EAAE;QAA7C,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,OAAW,EAAN,IAAI,cAAlC,+BAAoC,CAAF;IACjC,MAAM,OAAO,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;IAEjD,IAAI,OAAO,KAAK,IAAI,EAAE;QACpB,OAAO,CAAC,KAAK,CACX,+DAA+D,CAChE,CAAC;QACF,OAAO,IAAI,CAAC;KACb;IAED,MAAM,iBAAiB,GAAG,OAAO,CAAC,uBAAuB;QACvD,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,aAAa,CAAC;IAElB,OAAO,CACL,2CAAK,GAAG,EAAE,GAAG,EAAE,IAAI,EAAC,QAAQ,qBAAkB,OAAO,CAAC,QAAQ,IAAM,IAAI;QACtE,oBAAC,iBAAiB,IAAC,QAAQ,EAAE,OAAO,CAAC,IAAI;YACvC,6BAAK,SAAS,EAAE,EAAE,CAAC,0BAA0B,EAAE,SAAS,CAAC,IACtD,QAAQ,CACL,CACY,CAChB,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -30,7 +30,7 @@ const AccordionHeader = forwardRef((_a, ref) => {
30
30
  context.toggleOpen();
31
31
  onClick && onClick(e);
32
32
  };
33
- return (React.createElement("button", Object.assign({ ref: ref, id: context.buttonId, className: cl("navds-accordion__header", className, "navds-heading", "navds-heading--small"), onClick: handleClick, "aria-controls": context.contentId }, rest),
33
+ return (React.createElement("button", Object.assign({ ref: ref, id: context.buttonId, className: cl("navds-accordion__header", className, "navds-heading", "navds-heading--small"), onClick: handleClick }, rest),
34
34
  children,
35
35
  React.createElement(Expand, { focusable: "false", role: "img", "aria-label": context.open ? "Lukk panel ikon" : "Åpne panel ikon", className: cl("navds-accordion__expand-icon", {
36
36
  "navds-accordion__expand-icon--flip": context.open,
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionHeader.js","sourceRoot":"","sources":["../../src/accordion/AccordionHeader.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;AAclD,MAAM,eAAe,GAAwB,UAAU,CACrD,CAAC,EAA6C,EAAE,GAAG,EAAE,EAAE;QAAtD,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,OAAW,EAAN,IAAI,cAA3C,0CAA6C,CAAF;IAC1C,MAAM,OAAO,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;IAExB,MAAM,WAAW,GAAG,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC;IAEnD,qBAAqB,CAAC,GAAG,EAAE;QACzB,WAAW,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAoB,KAAK,EAAE,CAAC,CAAC;IACvE,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;IAEzB,IAAI,OAAO,KAAK,IAAI,EAAE;QACpB,OAAO,CAAC,KAAK,CACX,8DAA8D,CAC/D,CAAC;QACF,OAAO,IAAI,CAAC;KACb;IAED,MAAM,WAAW,GAAG,CAClB,CAAkD,EAClD,EAAE;QACF,OAAO,CAAC,UAAU,EAAE,CAAC;QACrB,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC,CAAC;IAEF,OAAO,CACL,8CACE,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,OAAO,CAAC,QAAQ,EACpB,SAAS,EAAE,EAAE,CACX,yBAAyB,EACzB,SAAS,EACT,eAAe,EACf,sBAAsB,CACvB,EACD,OAAO,EAAE,WAAW,mBACL,OAAO,CAAC,SAAS,IAC5B,IAAI;QAEP,QAAQ;QACT,oBAAC,MAAM,IACL,SAAS,EAAC,OAAO,EACjB,IAAI,EAAC,KAAK,gBACE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,EAChE,SAAS,EAAE,EAAE,CAAC,8BAA8B,EAAE;gBAC5C,oCAAoC,EAAE,OAAO,CAAC,IAAI;aACnD,CAAC,GACF;QACF,oBAAC,YAAY,IACX,SAAS,EAAC,OAAO,EACjB,IAAI,EAAC,KAAK,gBACE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,EAChE,SAAS,EAAE,EAAE,CACX,8BAA8B,EAC9B,sCAAsC,EACtC;gBACE,oCAAoC,EAAE,OAAO,CAAC,IAAI;aACnD,CACF,GACD,CACK,CACV,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"AccordionHeader.js","sourceRoot":"","sources":["../../src/accordion/AccordionHeader.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;AAclD,MAAM,eAAe,GAAwB,UAAU,CACrD,CAAC,EAA6C,EAAE,GAAG,EAAE,EAAE;QAAtD,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,OAAW,EAAN,IAAI,cAA3C,0CAA6C,CAAF;IAC1C,MAAM,OAAO,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;IAExB,MAAM,WAAW,GAAG,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC;IAEnD,qBAAqB,CAAC,GAAG,EAAE;QACzB,WAAW,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAoB,KAAK,EAAE,CAAC,CAAC;IACvE,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;IAEzB,IAAI,OAAO,KAAK,IAAI,EAAE;QACpB,OAAO,CAAC,KAAK,CACX,8DAA8D,CAC/D,CAAC;QACF,OAAO,IAAI,CAAC;KACb;IAED,MAAM,WAAW,GAAG,CAClB,CAAkD,EAClD,EAAE;QACF,OAAO,CAAC,UAAU,EAAE,CAAC;QACrB,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC,CAAC;IAEF,OAAO,CACL,8CACE,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,OAAO,CAAC,QAAQ,EACpB,SAAS,EAAE,EAAE,CACX,yBAAyB,EACzB,SAAS,EACT,eAAe,EACf,sBAAsB,CACvB,EACD,OAAO,EAAE,WAAW,IAChB,IAAI;QAEP,QAAQ;QACT,oBAAC,MAAM,IACL,SAAS,EAAC,OAAO,EACjB,IAAI,EAAC,KAAK,gBACE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,EAChE,SAAS,EAAE,EAAE,CAAC,8BAA8B,EAAE;gBAC5C,oCAAoC,EAAE,OAAO,CAAC,IAAI;aACnD,CAAC,GACF;QACF,oBAAC,YAAY,IACX,SAAS,EAAC,OAAO,EACjB,IAAI,EAAC,KAAK,gBACE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,EAChE,SAAS,EAAE,EAAE,CACX,8BAA8B,EAC9B,sCAAsC,EACtC;gBACE,oCAAoC,EAAE,OAAO,CAAC,IAAI;aACnD,CACF,GACD,CACK,CACV,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -25,9 +25,7 @@ export interface AccordionItemContextProps {
25
25
  open: boolean;
26
26
  toggleOpen: () => void;
27
27
  setButtonId: (id: string) => void;
28
- setContentId: (id: string) => void;
29
28
  buttonId: string;
30
- contentId: string;
31
29
  renderContentWhenClosed: boolean;
32
30
  }
33
31
  export declare const AccordionItemContext: React.Context<AccordionItemContextProps | null>;
@@ -16,7 +16,6 @@ const AccordionItem = forwardRef((_a, ref) => {
16
16
  var { children, className, open, defaultOpen = false, renderContentWhenClosed = false, onClick, id } = _a, rest = __rest(_a, ["children", "className", "open", "defaultOpen", "renderContentWhenClosed", "onClick", "id"]);
17
17
  const [internalOpen, setInternalOpen] = useState(defaultOpen);
18
18
  const [buttonId, setButtonId] = useState("");
19
- const [contentId, setContentId] = useState("");
20
19
  return (React.createElement("div", Object.assign({ className: cl("navds-accordion__item", className, {
21
20
  "navds-accordion__item--open": open !== null && open !== void 0 ? open : internalOpen,
22
21
  }), ref: ref }, rest),
@@ -30,8 +29,6 @@ const AccordionItem = forwardRef((_a, ref) => {
30
29
  renderContentWhenClosed,
31
30
  setButtonId,
32
31
  buttonId,
33
- setContentId,
34
- contentId,
35
32
  } }, children)));
36
33
  });
37
34
  export default AccordionItem;
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionItem.js","sourceRoot":"","sources":["../../src/accordion/AccordionItem.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAuCnE,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAC/C,IAAI,CACL,CAAC;AAEF,MAAM,aAAa,GAAsB,UAAU,CACjD,CACE,EASC,EACD,GAAG,EACH,EAAE;QAXF,EACE,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,WAAW,GAAG,KAAK,EACnB,uBAAuB,GAAG,KAAK,EAC/B,OAAO,EACP,EAAE,OAEH,EADI,IAAI,cART,4FASC,CADQ;IAIT,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAU,WAAW,CAAC,CAAC;IACvE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAE/C,OAAO,CACL,2CACE,SAAS,EAAE,EAAE,CAAC,uBAAuB,EAAE,SAAS,EAAE;YAChD,6BAA6B,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,YAAY;SACpD,CAAC,EACF,GAAG,EAAE,GAAG,IACJ,IAAI;QAER,oBAAC,oBAAoB,CAAC,QAAQ,IAC5B,KAAK,EAAE;gBACL,IAAI,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,YAAY;gBAC1B,UAAU,EAAE,GAAG,EAAE;oBACf,IAAI,IAAI,KAAK,SAAS,EAAE;wBACtB,eAAe,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;qBACpC;gBACH,CAAC;gBACD,uBAAuB;gBACvB,WAAW;gBACX,QAAQ;gBACR,YAAY;gBACZ,SAAS;aACV,IAEA,QAAQ,CACqB,CAC5B,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"AccordionItem.js","sourceRoot":"","sources":["../../src/accordion/AccordionItem.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAqCnE,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAC/C,IAAI,CACL,CAAC;AAEF,MAAM,aAAa,GAAsB,UAAU,CACjD,CACE,EASC,EACD,GAAG,EACH,EAAE;QAXF,EACE,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,WAAW,GAAG,KAAK,EACnB,uBAAuB,GAAG,KAAK,EAC/B,OAAO,EACP,EAAE,OAEH,EADI,IAAI,cART,4FASC,CADQ;IAIT,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAU,WAAW,CAAC,CAAC;IACvE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAE7C,OAAO,CACL,2CACE,SAAS,EAAE,EAAE,CAAC,uBAAuB,EAAE,SAAS,EAAE;YAChD,6BAA6B,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,YAAY;SACpD,CAAC,EACF,GAAG,EAAE,GAAG,IACJ,IAAI;QAER,oBAAC,oBAAoB,CAAC,QAAQ,IAC5B,KAAK,EAAE;gBACL,IAAI,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,YAAY;gBAC1B,UAAU,EAAE,GAAG,EAAE;oBACf,IAAI,IAAI,KAAK,SAAS,EAAE;wBACtB,eAAe,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;qBACpC;gBACH,CAAC;gBACD,uBAAuB;gBACvB,WAAW;gBACX,QAAQ;aACT,IAEA,QAAQ,CACqB,CAC5B,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import { FieldsetProps } from "..";
3
3
  export interface CheckboxGroupState {
4
- readonly defaultValue: readonly string[];
4
+ readonly defaultValue?: readonly string[];
5
5
  readonly value?: readonly string[];
6
6
  toggleValue(value: string): void;
7
7
  }
@@ -9,22 +9,28 @@ var __rest = (this && this.__rest) || function (s, e) {
9
9
  }
10
10
  return t;
11
11
  };
12
- import React, { createContext, forwardRef, useContext } from "react";
12
+ import React, { createContext, forwardRef, useContext, useState } from "react";
13
13
  import cl from "classnames";
14
14
  import { Fieldset, FieldsetContext } from "..";
15
15
  export const CheckboxGroupContext = createContext(null);
16
16
  const CheckboxGroup = forwardRef((_a, ref) => {
17
17
  var _b, _c;
18
- var { value, defaultValue = [], onChange = () => { }, children, className } = _a, rest = __rest(_a, ["value", "defaultValue", "onChange", "children", "className"]);
19
- const state = value !== null && value !== void 0 ? value : [];
18
+ var { value, defaultValue, onChange = () => { }, children, className } = _a, rest = __rest(_a, ["value", "defaultValue", "onChange", "children", "className"]);
20
19
  const fieldset = useContext(FieldsetContext);
20
+ const [state, setState] = useState([]);
21
+ const handleChange = (v) => {
22
+ const newValue = value ? value : state;
23
+ const newState = newValue.includes(v)
24
+ ? newValue.filter((x) => x !== v)
25
+ : [...newValue, v];
26
+ value === undefined && setState(newState);
27
+ onChange(newState);
28
+ };
21
29
  return (React.createElement(Fieldset, Object.assign({}, rest, { ref: ref, className: cl(className, "navds-checkbox-group", `navds-checkbox-group--${(_c = (_b = rest.size) !== null && _b !== void 0 ? _b : fieldset === null || fieldset === void 0 ? void 0 : fieldset.size) !== null && _c !== void 0 ? _c : "medium"}`) }),
22
30
  React.createElement(CheckboxGroupContext.Provider, { value: {
23
31
  value,
24
32
  defaultValue,
25
- toggleValue: (value) => onChange(state.includes(value)
26
- ? state.filter((v) => v !== value)
27
- : [...state, value]),
33
+ toggleValue: (value) => handleChange(value),
28
34
  } },
29
35
  React.createElement("div", { className: "navds-checkboxes" }, children))));
30
36
  });
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxGroup.js","sourceRoot":"","sources":["../../../src/form/checkbox/CheckboxGroup.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACrE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAiB,eAAe,EAAE,MAAM,IAAI,CAAC;AAQ9D,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAC/C,IAAI,CACL,CAAC;AAqBF,MAAM,aAAa,GAAG,UAAU,CAC9B,CACE,EAOC,EACD,GAAG,EACH,EAAE;;QATF,EACE,KAAK,EACL,YAAY,GAAG,EAAE,EACjB,QAAQ,GAAG,GAAG,EAAE,GAAE,CAAC,EACnB,QAAQ,EACR,SAAS,OAEV,EADI,IAAI,cANT,8DAOC,CADQ;IAIT,MAAM,KAAK,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC;IAE1B,MAAM,QAAQ,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAE7C,OAAO,CACL,oBAAC,QAAQ,oBACH,IAAI,IACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,SAAS,EACT,sBAAsB,EACtB,yBAAyB,MAAA,MAAA,IAAI,CAAC,IAAI,mCAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,mCAAI,QAAQ,EAAE,CACnE;QAED,oBAAC,oBAAoB,CAAC,QAAQ,IAC5B,KAAK,EAAE;gBACL,KAAK;gBACL,YAAY;gBACZ,WAAW,EAAE,CAAC,KAAa,EAAE,EAAE,CAC7B,QAAQ,CACN,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;oBACnB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC;oBAClC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,CACtB;aACJ;YAED,6BAAK,SAAS,EAAC,kBAAkB,IAAE,QAAQ,CAAO,CACpB,CACvB,CACZ,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"CheckboxGroup.js","sourceRoot":"","sources":["../../../src/form/checkbox/CheckboxGroup.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC/E,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAiB,eAAe,EAAE,MAAM,IAAI,CAAC;AAQ9D,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAC/C,IAAI,CACL,CAAC;AAqBF,MAAM,aAAa,GAAG,UAAU,CAC9B,CACE,EAA0E,EAC1E,GAAG,EACH,EAAE;;QAFF,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,GAAG,GAAG,EAAE,GAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,OAAW,EAAN,IAAI,cAAxE,8DAA0E,CAAF;IAGxE,MAAM,QAAQ,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAE7C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAC;IAEjD,MAAM,YAAY,GAAG,CAAC,CAAS,EAAE,EAAE;QACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC;QAErB,KAAK,KAAK,SAAS,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC1C,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,QAAQ,oBACH,IAAI,IACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,SAAS,EACT,sBAAsB,EACtB,yBAAyB,MAAA,MAAA,IAAI,CAAC,IAAI,mCAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,mCAAI,QAAQ,EAAE,CACnE;QAED,oBAAC,oBAAoB,CAAC,QAAQ,IAC5B,KAAK,EAAE;gBACL,KAAK;gBACL,YAAY;gBACZ,WAAW,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC;aACpD;YAED,6BAAK,SAAS,EAAC,kBAAkB,IAAE,QAAQ,CAAO,CACpB,CACvB,CACZ,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -29,7 +29,7 @@ const useCheckbox = (_a) => {
29
29
  }
30
30
  return Object.assign(Object.assign({}, rest), { inputProps: Object.assign(Object.assign({}, inputProps), { type: "checkbox", checked: (checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.value)
31
31
  ? checkboxGroup.value.includes(props.value)
32
- : props.checked, defaultChecked: checkboxGroup
32
+ : props.checked, defaultChecked: (checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.defaultValue)
33
33
  ? checkboxGroup.defaultValue.includes(props.value)
34
34
  : props.defaultChecked, onChange: (e) => {
35
35
  props.onChange && props.onChange(e);
@@ -1 +1 @@
1
- {"version":3,"file":"useCheckbox.js","sourceRoot":"","sources":["../../../src/form/checkbox/useCheckbox.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,GAAG,CAAC,EAAqC,EAAE,EAAE;QAAzC,EAAE,QAAQ,OAA2B,EAAtB,KAAK,cAApB,YAAsB,CAAF;IACvC,MAAM,aAAa,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;IAEvD,MAAM,KAA0B,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,EAAzD,EAAE,UAAU,OAA6C,EAAxC,IAAI,cAArB,cAAuB,CAAkC,CAAC;IAEhE,IAAI,aAAa,EAAE;QACjB,IAAI,KAAK,CAAC,OAAO,EAAE;YACjB,OAAO,CAAC,IAAI,CACV,8IAA8I,CAC/I,CAAC;SACH;QACD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE;YAC7B,OAAO,CAAC,IAAI,CACV,4EAA4E,CAC7E,CAAC;SACH;KACF;IAED,uCACK,IAAI,KACP,UAAU,kCACL,UAAU,KACb,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,KAAK;gBAC3B,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAe,CAAC;gBACrD,CAAC,CAAC,KAAK,CAAC,OAAO,EACjB,cAAc,EAAE,aAAa;gBAC3B,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAe,CAAC;gBAC5D,CAAC,CAAC,KAAK,CAAC,cAAc,EACxB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;gBACd,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACpC,aAAa,IAAI,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,KAAe,CAAC,CAAC;YACpE,CAAC,OAEH;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"useCheckbox.js","sourceRoot":"","sources":["../../../src/form/checkbox/useCheckbox.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,GAAG,CAAC,EAAqC,EAAE,EAAE;QAAzC,EAAE,QAAQ,OAA2B,EAAtB,KAAK,cAApB,YAAsB,CAAF;IACvC,MAAM,aAAa,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;IAEvD,MAAM,KAA0B,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,EAAzD,EAAE,UAAU,OAA6C,EAAxC,IAAI,cAArB,cAAuB,CAAkC,CAAC;IAEhE,IAAI,aAAa,EAAE;QACjB,IAAI,KAAK,CAAC,OAAO,EAAE;YACjB,OAAO,CAAC,IAAI,CACV,8IAA8I,CAC/I,CAAC;SACH;QACD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE;YAC7B,OAAO,CAAC,IAAI,CACV,4EAA4E,CAC7E,CAAC;SACH;KACF;IAED,uCACK,IAAI,KACP,UAAU,kCACL,UAAU,KACb,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,KAAK;gBAC3B,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAe,CAAC;gBACrD,CAAC,CAAC,KAAK,CAAC,OAAO,EACjB,cAAc,EAAE,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,YAAY;gBACzC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAe,CAAC;gBAC5D,CAAC,CAAC,KAAK,CAAC,cAAc,EACxB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;gBACd,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACpC,aAAa,IAAI,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,KAAe,CAAC,CAAC;YACpE,CAAC,OAEH;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -13,7 +13,7 @@ import { Helptext as HelpTextIcon } from "@navikt/ds-icons";
13
13
  import cl from "classnames";
14
14
  import React, { forwardRef, useEffect, useRef, useState } from "react";
15
15
  import mergeRefs from "react-merge-refs";
16
- import { Popover, useId } from "..";
16
+ import { Popover } from "..";
17
17
  const HelpText = forwardRef((_a, ref) => {
18
18
  var { className, children, placement = "top", title = "hjelp" } = _a, rest = __rest(_a, ["className", "children", "placement", "title"]);
19
19
  const buttonRef = useRef(null);
@@ -21,7 +21,6 @@ const HelpText = forwardRef((_a, ref) => {
21
21
  const popoverRef = useRef(null);
22
22
  const wrapperRef = useRef(null);
23
23
  const [open, setOpen] = useState(false);
24
- const popoverId = `popover-${useId()}`;
25
24
  useEffect(() => {
26
25
  var _a;
27
26
  open && ((_a = popoverRef.current) === null || _a === void 0 ? void 0 : _a.focus());
@@ -31,10 +30,10 @@ const HelpText = forwardRef((_a, ref) => {
31
30
  rest.onClick && rest.onClick(e);
32
31
  };
33
32
  return (React.createElement("div", { className: "navds-help-text", ref: wrapperRef },
34
- React.createElement("button", Object.assign({}, rest, { ref: mergedRef, onClick: (e) => handleClick(e), className: cl(className, "navds-help-text__button"), type: "button", "aria-expanded": open, "aria-controls": popoverId, "aria-haspopup": "dialog", title: title }),
33
+ React.createElement("button", Object.assign({}, rest, { ref: mergedRef, onClick: (e) => handleClick(e), className: cl(className, "navds-help-text__button"), type: "button", "aria-expanded": open, "aria-haspopup": "dialog", title: title }),
35
34
  React.createElement(HelpTextIcon, { className: "navds-help-text__icon" }),
36
35
  React.createElement("span", { className: "navds-sr-only" }, title)),
37
- React.createElement(Popover, { ref: popoverRef, onClose: () => setOpen(false), className: "navds-help-text__popover", open: open, role: "tooltip", anchorEl: buttonRef.current, id: popoverId, placement: placement },
36
+ React.createElement(Popover, { ref: popoverRef, onClose: () => setOpen(false), className: "navds-help-text__popover", open: open, role: "tooltip", anchorEl: buttonRef.current, placement: placement },
38
37
  React.createElement(Popover.Content, null, children))));
39
38
  });
40
39
  export default HelpText;
@@ -1 +1 @@
1
- {"version":3,"file":"HelpText.js","sourceRoot":"","sources":["../../src/help-text/HelpText.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACvE,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;AAepC,MAAM,QAAQ,GAAG,UAAU,CACzB,CACE,EAAoE,EACpE,GAAG,EACH,EAAE;QAFF,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,GAAG,KAAK,EAAE,KAAK,GAAG,OAAO,OAAW,EAAN,IAAI,cAAlE,+CAAoE,CAAF;IAGlE,MAAM,SAAS,GAAG,MAAM,CAA2B,IAAI,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IAEvD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,WAAW,KAAK,EAAE,EAAE,CAAC;IAEvC,SAAS,CAAC,GAAG,EAAE;;QACb,IAAI,KAAI,MAAA,UAAU,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAA,CAAC;IACtC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,MAAM,WAAW,GAAG,CAClB,CAAkD,EAClD,EAAE;QACF,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,OAAO,CACL,6BAAK,SAAS,EAAC,iBAAiB,EAAC,GAAG,EAAE,UAAU;QAC9C,gDACM,IAAI,IACR,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAC9B,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,yBAAyB,CAAC,EACnD,IAAI,EAAC,QAAQ,mBACE,IAAI,mBACJ,SAAS,mBACV,QAAQ,EACtB,KAAK,EAAE,KAAK;YAEZ,oBAAC,YAAY,IAAC,SAAS,EAAC,uBAAuB,GAAG;YAClD,8BAAM,SAAS,EAAC,eAAe,IAAE,KAAK,CAAQ,CACvC;QACT,oBAAC,OAAO,IACN,GAAG,EAAE,UAAU,EACf,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAC7B,SAAS,EAAC,0BAA0B,EACpC,IAAI,EAAE,IAAI,EACV,IAAI,EAAC,SAAS,EACd,QAAQ,EAAE,SAAS,CAAC,OAAO,EAC3B,EAAE,EAAE,SAAS,EACb,SAAS,EAAE,SAAS;YAEpB,oBAAC,OAAO,CAAC,OAAO,QAAE,QAAQ,CAAmB,CACrC,CACN,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"HelpText.js","sourceRoot":"","sources":["../../src/help-text/HelpText.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACvE,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAe7B,MAAM,QAAQ,GAAG,UAAU,CACzB,CACE,EAAoE,EACpE,GAAG,EACH,EAAE;QAFF,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,GAAG,KAAK,EAAE,KAAK,GAAG,OAAO,OAAW,EAAN,IAAI,cAAlE,+CAAoE,CAAF;IAGlE,MAAM,SAAS,GAAG,MAAM,CAA2B,IAAI,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IAEvD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExC,SAAS,CAAC,GAAG,EAAE;;QACb,IAAI,KAAI,MAAA,UAAU,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAA,CAAC;IACtC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,MAAM,WAAW,GAAG,CAClB,CAAkD,EAClD,EAAE;QACF,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,OAAO,CACL,6BAAK,SAAS,EAAC,iBAAiB,EAAC,GAAG,EAAE,UAAU;QAC9C,gDACM,IAAI,IACR,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAC9B,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,yBAAyB,CAAC,EACnD,IAAI,EAAC,QAAQ,mBACE,IAAI,mBACL,QAAQ,EACtB,KAAK,EAAE,KAAK;YAEZ,oBAAC,YAAY,IAAC,SAAS,EAAC,uBAAuB,GAAG;YAClD,8BAAM,SAAS,EAAC,eAAe,IAAE,KAAK,CAAQ,CACvC;QACT,oBAAC,OAAO,IACN,GAAG,EAAE,UAAU,EACf,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAC7B,SAAS,EAAC,0BAA0B,EACpC,IAAI,EAAE,IAAI,EACV,IAAI,EAAC,SAAS,EACd,QAAQ,EAAE,SAAS,CAAC,OAAO,EAC3B,SAAS,EAAE,SAAS;YAEpB,oBAAC,OAAO,CAAC,OAAO,QAAE,QAAQ,CAAmB,CACrC,CACN,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -14,8 +14,8 @@ import cl from "classnames";
14
14
  import { useId } from "..";
15
15
  const Loader = forwardRef((_a, ref) => {
16
16
  var { children, className, size = "medium", title = "venter...", transparent = false, variant = "neutral", id } = _a, rest = __rest(_a, ["children", "className", "size", "title", "transparent", "variant", "id"]);
17
- const internalId = useId(id);
18
- return (React.createElement("svg", Object.assign({ "aria-labelledby": internalId, ref: ref, className: cl("navds-loader", className, `navds-loader--${size}`, `navds-loader--${variant}`, {
17
+ const internalId = useId();
18
+ return (React.createElement("svg", Object.assign({ "aria-labelledby": id !== null && id !== void 0 ? id : `loader-${internalId}`, ref: ref, className: cl("navds-loader", className, `navds-loader--${size}`, `navds-loader--${variant}`, {
19
19
  "navds-loader--transparent": transparent,
20
20
  }), focusable: "false", viewBox: "0 0 50 50", preserveAspectRatio: "xMidYMid" }, rest),
21
21
  React.createElement("title", { id: id !== null && id !== void 0 ? id : `loader-${internalId}` }, title),
@@ -1 +1 @@
1
- {"version":3,"file":"Loader.js","sourceRoot":"","sources":["../../src/loader/Loader.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAY,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;AAyB3B,MAAM,MAAM,GAAG,UAAU,CACvB,CACE,EASC,EACD,GAAG,EACH,EAAE;QAXF,EACE,QAAQ,EACR,SAAS,EACT,IAAI,GAAG,QAAQ,EACf,KAAK,GAAG,WAAW,EACnB,WAAW,GAAG,KAAK,EACnB,OAAO,GAAG,SAAS,EACnB,EAAE,OAEH,EADI,IAAI,cART,0EASC,CADQ;IAIT,MAAM,UAAU,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;IAE7B,OAAO,CACL,8DACmB,UAAU,EAC3B,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,cAAc,EACd,SAAS,EACT,iBAAiB,IAAI,EAAE,EACvB,iBAAiB,OAAO,EAAE,EAC1B;YACE,2BAA2B,EAAE,WAAW;SACzC,CACF,EACD,SAAS,EAAC,OAAO,EACjB,OAAO,EAAC,WAAW,EACnB,mBAAmB,EAAC,UAAU,IAC1B,IAAI;QAER,+BAAO,EAAE,EAAE,EAAE,aAAF,EAAE,cAAF,EAAE,GAAI,UAAU,UAAU,EAAE,IAAG,KAAK,CAAS;QACxD,gCACE,SAAS,EAAC,0BAA0B,EACpC,KAAK,EAAC,4BAA4B,EAClC,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,IAAI,EACP,CAAC,EAAC,IAAI,EACN,IAAI,EAAC,MAAM,EACX,WAAW,EAAC,GAAG,GACf;QACF,gCACE,SAAS,EAAC,0BAA0B,EACpC,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,IAAI,EACP,CAAC,EAAC,IAAI,EACN,MAAM,EAAE,4BAA4B,EACpC,IAAI,EAAC,MAAM,EACX,WAAW,EAAC,GAAG,EACf,eAAe,EAAC,QAAQ,EACxB,aAAa,EAAC,OAAO,GACrB,CACE,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Loader.js","sourceRoot":"","sources":["../../src/loader/Loader.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAY,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;AAyB3B,MAAM,MAAM,GAAG,UAAU,CACvB,CACE,EASC,EACD,GAAG,EACH,EAAE;QAXF,EACE,QAAQ,EACR,SAAS,EACT,IAAI,GAAG,QAAQ,EACf,KAAK,GAAG,WAAW,EACnB,WAAW,GAAG,KAAK,EACnB,OAAO,GAAG,SAAS,EACnB,EAAE,OAEH,EADI,IAAI,cART,0EASC,CADQ;IAIT,MAAM,UAAU,GAAG,KAAK,EAAE,CAAC;IAE3B,OAAO,CACL,8DACmB,EAAE,aAAF,EAAE,cAAF,EAAE,GAAI,UAAU,UAAU,EAAE,EAC7C,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,cAAc,EACd,SAAS,EACT,iBAAiB,IAAI,EAAE,EACvB,iBAAiB,OAAO,EAAE,EAC1B;YACE,2BAA2B,EAAE,WAAW;SACzC,CACF,EACD,SAAS,EAAC,OAAO,EACjB,OAAO,EAAC,WAAW,EACnB,mBAAmB,EAAC,UAAU,IAC1B,IAAI;QAER,+BAAO,EAAE,EAAE,EAAE,aAAF,EAAE,cAAF,EAAE,GAAI,UAAU,UAAU,EAAE,IAAG,KAAK,CAAS;QACxD,gCACE,SAAS,EAAC,0BAA0B,EACpC,KAAK,EAAC,4BAA4B,EAClC,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,IAAI,EACP,CAAC,EAAC,IAAI,EACN,IAAI,EAAC,MAAM,EACX,WAAW,EAAC,GAAG,GACf;QACF,gCACE,SAAS,EAAC,0BAA0B,EACpC,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,IAAI,EACP,CAAC,EAAC,IAAI,EACN,MAAM,EAAE,4BAA4B,EACpC,IAAI,EAAC,MAAM,EACX,WAAW,EAAC,GAAG,EACf,eAAe,EAAC,QAAQ,EACxB,aAAa,EAAC,OAAO,GACrB,CACE,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -59,7 +59,7 @@ const Popover = forwardRef((_a, ref) => {
59
59
  }, [open, update]);
60
60
  return (React.createElement("div", Object.assign({ ref: mergedRef, className: cl("navds-popover", className, {
61
61
  "navds-popover--hidden": !open || !anchorEl,
62
- }), "aria-live": "polite", "aria-hidden": !open || !anchorEl, tabIndex: -1 }, attributes.popper, rest, { style: styles.popper }),
62
+ }), "aria-hidden": !open || !anchorEl, tabIndex: -1 }, attributes.popper, rest, { style: styles.popper }),
63
63
  children,
64
64
  arrow && (React.createElement("div", { "data-popper-arrow": true, style: styles.arrow, className: "navds-popover__arrow" }))));
65
65
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.js","sourceRoot":"","sources":["../../src/popover/Popover.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Popover.js","sourceRoot":"","sources":["../../src/popover/Popover.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": "0.11.0",
3
+ "version": "0.11.4",
4
4
  "private": false,
5
5
  "description": "NAV designsystem react components",
6
6
  "author": "NAV Designsystem team",
@@ -63,5 +63,5 @@
63
63
  "peerDependencies": {
64
64
  "react": "^16.8.0 || ^17.0.0"
65
65
  },
66
- "gitHead": "83ba659219d03efb614af4dd1c053c5a0874deb6"
66
+ "gitHead": "ed937f68c5babb709de0e5e2657a95e3b9117138"
67
67
  }
@@ -1,7 +1,6 @@
1
1
  import cl from "classnames";
2
2
  import React, { forwardRef, useContext } from "react";
3
3
  import { Collapse, UnmountClosed } from "react-collapse";
4
- import { useClientLayoutEffect, useId } from "../util";
5
4
  import { AccordionItemContext } from "./AccordionItem";
6
5
 
7
6
  export interface AccordionContentProps
@@ -20,13 +19,6 @@ const AccordionContent: AccordionContentType = forwardRef(
20
19
  ({ children, className, id, ...rest }, ref) => {
21
20
  const context = useContext(AccordionItemContext);
22
21
 
23
- const newId = useId(id);
24
- const setContentId = context && context.setContentId;
25
-
26
- useClientLayoutEffect(() => {
27
- setContentId && setContentId(id ? newId : `accordionContent-${newId}`);
28
- }, [setContentId, newId]);
29
-
30
22
  if (context === null) {
31
23
  console.error(
32
24
  "<Accordion.Content> has to be used within an <Accordion.Item>"
@@ -39,13 +31,7 @@ const AccordionContent: AccordionContentType = forwardRef(
39
31
  : UnmountClosed;
40
32
 
41
33
  return (
42
- <div
43
- ref={ref}
44
- id={context.contentId}
45
- role="region"
46
- aria-labelledby={context.buttonId}
47
- {...rest}
48
- >
34
+ <div ref={ref} role="region" aria-labelledby={context.buttonId} {...rest}>
49
35
  <CollapseComponent isOpened={context.open}>
50
36
  <div className={cl("navds-accordion__content", className)}>
51
37
  {children}
@@ -52,7 +52,6 @@ const AccordionHeader: AccordionHeaderType = forwardRef(
52
52
  "navds-heading--small"
53
53
  )}
54
54
  onClick={handleClick}
55
- aria-controls={context.contentId}
56
55
  {...rest}
57
56
  >
58
57
  {children}
@@ -32,9 +32,7 @@ export interface AccordionItemContextProps {
32
32
  open: boolean;
33
33
  toggleOpen: () => void;
34
34
  setButtonId: (id: string) => void;
35
- setContentId: (id: string) => void;
36
35
  buttonId: string;
37
- contentId: string;
38
36
  renderContentWhenClosed: boolean;
39
37
  }
40
38
 
@@ -58,7 +56,6 @@ const AccordionItem: AccordionItemType = forwardRef(
58
56
  ) => {
59
57
  const [internalOpen, setInternalOpen] = useState<boolean>(defaultOpen);
60
58
  const [buttonId, setButtonId] = useState("");
61
- const [contentId, setContentId] = useState("");
62
59
 
63
60
  return (
64
61
  <div
@@ -79,8 +76,6 @@ const AccordionItem: AccordionItemType = forwardRef(
79
76
  renderContentWhenClosed,
80
77
  setButtonId,
81
78
  buttonId,
82
- setContentId,
83
- contentId,
84
79
  }}
85
80
  >
86
81
  {children}
@@ -4,6 +4,8 @@ import userEvent from "@testing-library/user-event";
4
4
  import faker from "faker";
5
5
  import { Checkbox, CheckboxGroup } from ".";
6
6
 
7
+ const firstArgumentOfFirstCall = (fn: jest.Mock) => fn.mock.calls[0][0];
8
+
7
9
  test("checkbox group chains onChange calls", () => {
8
10
  const onGroupChange = jest.fn();
9
11
  const onChange = jest.fn();
@@ -26,4 +28,61 @@ test("checkbox group chains onChange calls", () => {
26
28
  expect(firstArgumentOfFirstCall(onChange).target.checked).toBe(true);
27
29
  });
28
30
 
29
- const firstArgumentOfFirstCall = (fn: jest.Mock) => fn.mock.calls[0][0];
31
+ describe("Checkbox handles controlled-state correctly", () => {
32
+ const CheckboxComponent = ({
33
+ onChange = () => null,
34
+ value,
35
+ }) => (
36
+ <CheckboxGroup legend="legend" onChange={onChange} value={value}>
37
+ <Checkbox value={"value1"}>label1</Checkbox>
38
+ <Checkbox value={"value2"}>label2</Checkbox>
39
+ </CheckboxGroup>
40
+ );
41
+
42
+ test("Checkbox is still checked after click when controlled", () => {
43
+ render(<CheckboxComponent value={["value1", "value2"]} />);
44
+ userEvent.click(screen.getByLabelText("label1"));
45
+ userEvent.click(screen.getByLabelText("label2"));
46
+
47
+ expect((screen.getByLabelText("label1") as HTMLInputElement).checked).toBe(
48
+ true
49
+ );
50
+ expect((screen.getByLabelText("label2") as HTMLInputElement).checked).toBe(
51
+ true
52
+ );
53
+ });
54
+
55
+ test("onChange called with expected values", () => {
56
+ const onGroupChange = jest.fn();
57
+
58
+ render(<CheckboxComponent onChange={onGroupChange} value={["value1", "value2"]} />);
59
+
60
+ userEvent.click(screen.getByLabelText("label1"));
61
+
62
+ expect(onGroupChange).lastCalledWith(["value2"]);
63
+
64
+ userEvent.click(screen.getByLabelText("label2"));
65
+
66
+ expect(onGroupChange).lastCalledWith(["value1"]);
67
+ });
68
+
69
+ test("Checkboxes updates after value-prop change", () => {
70
+ const { rerender } = render(<CheckboxComponent value={[]} />);
71
+
72
+ expect((screen.getByLabelText("label1") as HTMLInputElement).checked).toBe(
73
+ false
74
+ );
75
+ expect((screen.getByLabelText("label2") as HTMLInputElement).checked).toBe(
76
+ false
77
+ );
78
+
79
+ rerender(<CheckboxComponent value={["value1", "value2"]} />);
80
+
81
+ expect((screen.getByLabelText("label1") as HTMLInputElement).checked).toBe(
82
+ true
83
+ );
84
+ expect((screen.getByLabelText("label2") as HTMLInputElement).checked).toBe(
85
+ true
86
+ );
87
+ });
88
+ });
@@ -1,9 +1,9 @@
1
- import React, { createContext, forwardRef, useContext } from "react";
1
+ import React, { createContext, forwardRef, useContext, useState } from "react";
2
2
  import cl from "classnames";
3
3
  import { Fieldset, FieldsetProps, FieldsetContext } from "..";
4
4
 
5
5
  export interface CheckboxGroupState {
6
- readonly defaultValue: readonly string[];
6
+ readonly defaultValue?: readonly string[];
7
7
  readonly value?: readonly string[];
8
8
  toggleValue(value: string): void;
9
9
  }
@@ -33,20 +33,23 @@ export interface CheckboxGroupProps extends Omit<FieldsetProps, "onChange"> {
33
33
 
34
34
  const CheckboxGroup = forwardRef<HTMLFieldSetElement, CheckboxGroupProps>(
35
35
  (
36
- {
37
- value,
38
- defaultValue = [],
39
- onChange = () => {},
40
- children,
41
- className,
42
- ...rest
43
- },
36
+ { value, defaultValue, onChange = () => {}, children, className, ...rest },
44
37
  ref
45
38
  ) => {
46
- const state = value ?? [];
47
-
48
39
  const fieldset = useContext(FieldsetContext);
49
40
 
41
+ const [state, setState] = useState<string[]>([]);
42
+
43
+ const handleChange = (v: string) => {
44
+ const newValue = value ? value : state;
45
+ const newState = newValue.includes(v)
46
+ ? newValue.filter((x) => x !== v)
47
+ : [...newValue, v];
48
+
49
+ value === undefined && setState(newState);
50
+ onChange(newState);
51
+ };
52
+
50
53
  return (
51
54
  <Fieldset
52
55
  {...rest}
@@ -61,12 +64,7 @@ const CheckboxGroup = forwardRef<HTMLFieldSetElement, CheckboxGroupProps>(
61
64
  value={{
62
65
  value,
63
66
  defaultValue,
64
- toggleValue: (value: string) =>
65
- onChange(
66
- state.includes(value)
67
- ? state.filter((v) => v !== value)
68
- : [...state, value]
69
- ),
67
+ toggleValue: (value: string) => handleChange(value),
70
68
  }}
71
69
  >
72
70
  <div className="navds-checkboxes">{children}</div>
@@ -32,7 +32,7 @@ const useCheckbox = ({ children, ...props }: CheckboxProps) => {
32
32
  checked: checkboxGroup?.value
33
33
  ? checkboxGroup.value.includes(props.value as string)
34
34
  : props.checked,
35
- defaultChecked: checkboxGroup
35
+ defaultChecked: checkboxGroup?.defaultValue
36
36
  ? checkboxGroup.defaultValue.includes(props.value as string)
37
37
  : props.defaultChecked,
38
38
  onChange: (e) => {
@@ -3,7 +3,7 @@ import { Placement } from "@popperjs/core";
3
3
  import cl from "classnames";
4
4
  import React, { forwardRef, useEffect, useRef, useState } from "react";
5
5
  import mergeRefs from "react-merge-refs";
6
- import { Popover, useId } from "..";
6
+ import { Popover } from "..";
7
7
 
8
8
  export interface HelpTextProps
9
9
  extends React.ButtonHTMLAttributes<HTMLButtonElement> {
@@ -29,7 +29,6 @@ const HelpText = forwardRef<HTMLButtonElement, HelpTextProps>(
29
29
  const wrapperRef = useRef<HTMLDivElement | null>(null);
30
30
 
31
31
  const [open, setOpen] = useState(false);
32
- const popoverId = `popover-${useId()}`;
33
32
 
34
33
  useEffect(() => {
35
34
  open && popoverRef.current?.focus();
@@ -51,7 +50,6 @@ const HelpText = forwardRef<HTMLButtonElement, HelpTextProps>(
51
50
  className={cl(className, "navds-help-text__button")}
52
51
  type="button"
53
52
  aria-expanded={open}
54
- aria-controls={popoverId}
55
53
  aria-haspopup="dialog"
56
54
  title={title}
57
55
  >
@@ -65,7 +63,6 @@ const HelpText = forwardRef<HTMLButtonElement, HelpTextProps>(
65
63
  open={open}
66
64
  role="tooltip"
67
65
  anchorEl={buttonRef.current}
68
- id={popoverId}
69
66
  placement={placement}
70
67
  >
71
68
  <Popover.Content>{children}</Popover.Content>
@@ -39,11 +39,11 @@ const Loader = forwardRef<SVGSVGElement, LoaderProps>(
39
39
  },
40
40
  ref
41
41
  ) => {
42
- const internalId = useId(id);
42
+ const internalId = useId();
43
43
 
44
44
  return (
45
45
  <svg
46
- aria-labelledby={internalId}
46
+ aria-labelledby={id ?? `loader-${internalId}`}
47
47
  ref={ref}
48
48
  className={cl(
49
49
  "navds-loader",
@@ -150,7 +150,6 @@ const Popover = forwardRef<HTMLDivElement, PopoverProps>(
150
150
  className={cl("navds-popover", className, {
151
151
  "navds-popover--hidden": !open || !anchorEl,
152
152
  })}
153
- aria-live="polite"
154
153
  aria-hidden={!open || !anchorEl}
155
154
  tabIndex={-1}
156
155
  {...attributes.popper}