@navikt/ds-react 0.14.15 → 0.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/form/checkbox/Checkbox.js +12 -1
- package/cjs/form/checkbox/useCheckbox.js +1 -1
- package/cjs/index.js +1 -1
- package/cjs/{accordion-menu/AccordionMenu.js → menu/Menu.js} +7 -7
- package/cjs/{accordion-menu/AccordionMenuCollapsable.js → menu/MenuCollapse.js} +18 -8
- package/cjs/{accordion-menu/AccordionMenuItem.js → menu/MenuItem.js} +2 -2
- package/cjs/menu/MenuItems.js +23 -0
- package/cjs/menu/index.js +8 -0
- package/cjs/menu/package.json +6 -0
- package/esm/form/checkbox/Checkbox.d.ts +5 -0
- package/esm/form/checkbox/Checkbox.js +12 -1
- package/esm/form/checkbox/Checkbox.js.map +1 -1
- package/esm/form/checkbox/useCheckbox.d.ts +0 -1
- package/esm/form/checkbox/useCheckbox.js +1 -1
- package/esm/form/checkbox/useCheckbox.js.map +1 -1
- package/esm/index.d.ts +1 -1
- package/esm/index.js +1 -1
- package/esm/index.js.map +1 -1
- package/esm/menu/Menu.d.ts +12 -0
- package/esm/{accordion-menu/AccordionMenu.js → menu/Menu.js} +8 -8
- package/esm/menu/Menu.js.map +1 -0
- package/esm/menu/MenuCollapse.d.ts +12 -0
- package/esm/menu/MenuCollapse.js +37 -0
- package/esm/menu/MenuCollapse.js.map +1 -0
- package/esm/menu/MenuItem.d.ts +13 -0
- package/esm/{accordion-menu/AccordionMenuItem.js → menu/MenuItem.js} +3 -3
- package/esm/menu/MenuItem.js.map +1 -0
- package/esm/{accordion-menu → menu}/MenuItems.d.ts +2 -1
- package/esm/menu/MenuItems.js +19 -0
- package/esm/menu/MenuItems.js.map +1 -0
- package/esm/menu/index.d.ts +3 -0
- package/esm/menu/index.js +2 -0
- package/esm/menu/index.js.map +1 -0
- package/package.json +3 -3
- package/src/accordion/accordion.stories.tsx +90 -0
- package/src/alert/{stories/alert.stories.tsx → alert.stories.tsx} +2 -2
- package/src/button/{stories/button.stories.tsx → button.stories.tsx} +1 -1
- package/src/form/checkbox/Checkbox.tsx +18 -1
- package/src/form/checkbox/stories/checkbox.stories.tsx +38 -1
- package/src/form/checkbox/useCheckbox.ts +0 -1
- package/src/index.ts +1 -1
- package/src/menu/Menu.tsx +36 -0
- package/src/menu/MenuCollapse.tsx +80 -0
- package/src/{accordion-menu/AccordionMenuItem.tsx → menu/MenuItem.tsx} +6 -6
- package/src/menu/MenuItems.tsx +21 -0
- package/src/menu/index.ts +3 -0
- package/src/menu/stories/menu.stories.mdx +93 -0
- package/src/menu/stories/menu.stories.tsx +139 -0
- package/cjs/accordion-menu/MenuItems.js +0 -8
- package/cjs/accordion-menu/index.js +0 -8
- package/cjs/accordion-menu/package.json +0 -6
- package/esm/accordion-menu/AccordionMenu.d.ts +0 -12
- package/esm/accordion-menu/AccordionMenu.js.map +0 -1
- package/esm/accordion-menu/AccordionMenuCollapsable.d.ts +0 -9
- package/esm/accordion-menu/AccordionMenuCollapsable.js +0 -28
- package/esm/accordion-menu/AccordionMenuCollapsable.js.map +0 -1
- package/esm/accordion-menu/AccordionMenuItem.d.ts +0 -13
- package/esm/accordion-menu/AccordionMenuItem.js.map +0 -1
- package/esm/accordion-menu/MenuItems.js +0 -4
- package/esm/accordion-menu/MenuItems.js.map +0 -1
- package/esm/accordion-menu/index.d.ts +0 -3
- package/esm/accordion-menu/index.js +0 -2
- package/esm/accordion-menu/index.js.map +0 -1
- package/src/accordion/stories/accordion.stories.mdx +0 -72
- package/src/accordion/stories/accordion.stories.tsx +0 -92
- package/src/accordion-menu/AccordionMenu.tsx +0 -39
- package/src/accordion-menu/AccordionMenuCollapsable.tsx +0 -45
- package/src/accordion-menu/MenuItems.tsx +0 -13
- package/src/accordion-menu/index.ts +0 -3
- package/src/accordion-menu/stories/accordion-menu.stories.mdx +0 -66
- package/src/accordion-menu/stories/accordion-menu.stories.tsx +0 -141
- package/src/alert/stories/alert.stories.mdx +0 -96
- package/src/button/stories/button.stories.mdx +0 -76
|
@@ -39,7 +39,18 @@ const Checkbox = (0, react_1.forwardRef)((props, ref) => {
|
|
|
39
39
|
"error",
|
|
40
40
|
"description",
|
|
41
41
|
"hideLabel",
|
|
42
|
-
]), inputProps, { className: "navds-checkbox__input",
|
|
42
|
+
]), inputProps, { type: "checkbox", className: "navds-checkbox__input", "aria-checked": props.indeterminate ? "mixed" : inputProps.checked, ref: (el) => {
|
|
43
|
+
var _a;
|
|
44
|
+
if (el) {
|
|
45
|
+
el.indeterminate = (_a = props.indeterminate) !== null && _a !== void 0 ? _a : false;
|
|
46
|
+
}
|
|
47
|
+
if (typeof ref === "function") {
|
|
48
|
+
ref(el);
|
|
49
|
+
}
|
|
50
|
+
else if (ref != null) {
|
|
51
|
+
ref.current = el;
|
|
52
|
+
}
|
|
53
|
+
} })),
|
|
43
54
|
react_1.default.createElement("label", { htmlFor: inputProps.id, className: "navds-checkbox__label" },
|
|
44
55
|
react_1.default.createElement("div", { className: (0, classnames_1.default)("navds-checkbox__content", {
|
|
45
56
|
"navds-sr-only": props.hideLabel,
|
|
@@ -30,7 +30,7 @@ const useCheckbox = (_a) => {
|
|
|
30
30
|
console.warn("A <Checkbox> element within a <CheckboxGroup> requires a `value` property.");
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
-
return Object.assign(Object.assign({}, rest), { inputProps: Object.assign(Object.assign({}, inputProps), {
|
|
33
|
+
return Object.assign(Object.assign({}, rest), { inputProps: Object.assign(Object.assign({}, inputProps), { checked: (checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.value)
|
|
34
34
|
? checkboxGroup.value.includes(props.value)
|
|
35
35
|
: props.checked, defaultChecked: (checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.defaultValue)
|
|
36
36
|
? checkboxGroup.defaultValue.includes(props.value)
|
package/cjs/index.js
CHANGED
|
@@ -11,7 +11,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
11
11
|
};
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
__exportStar(require("./accordion"), exports);
|
|
14
|
-
__exportStar(require("./accordion-menu"), exports);
|
|
15
14
|
__exportStar(require("./alert"), exports);
|
|
16
15
|
__exportStar(require("./button"), exports);
|
|
17
16
|
__exportStar(require("./form"), exports);
|
|
@@ -21,6 +20,7 @@ __exportStar(require("./guide-panel"), exports);
|
|
|
21
20
|
__exportStar(require("./link"), exports);
|
|
22
21
|
__exportStar(require("./link-panel"), exports);
|
|
23
22
|
__exportStar(require("./loader"), exports);
|
|
23
|
+
__exportStar(require("./menu"), exports);
|
|
24
24
|
__exportStar(require("./modal"), exports);
|
|
25
25
|
__exportStar(require("./panel"), exports);
|
|
26
26
|
__exportStar(require("./popover"), exports);
|
|
@@ -36,13 +36,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
const react_1 = __importStar(require("react"));
|
|
37
37
|
const classnames_1 = __importDefault(require("classnames"));
|
|
38
38
|
const MenuItems_1 = __importDefault(require("./MenuItems"));
|
|
39
|
-
const
|
|
40
|
-
const
|
|
41
|
-
const
|
|
39
|
+
const MenuItem_1 = __importDefault(require("./MenuItem"));
|
|
40
|
+
const MenuCollapse_1 = __importDefault(require("./MenuCollapse"));
|
|
41
|
+
const Menu = (0, react_1.forwardRef)((_a, ref) => {
|
|
42
42
|
var { children, className } = _a, rest = __rest(_a, ["children", "className"]);
|
|
43
|
-
return (react_1.default.createElement("nav", Object.assign({ role: "navigation", ref: ref, className: (0, classnames_1.default)("navds-
|
|
43
|
+
return (react_1.default.createElement("nav", Object.assign({}, rest, { role: "navigation", ref: ref, className: (0, classnames_1.default)("navds-menu", className) }),
|
|
44
44
|
react_1.default.createElement(MenuItems_1.default, null, children)));
|
|
45
45
|
});
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
exports.default =
|
|
46
|
+
Menu.Collapse = MenuCollapse_1.default;
|
|
47
|
+
Menu.Item = MenuItem_1.default;
|
|
48
|
+
exports.default = Menu;
|
|
@@ -33,19 +33,29 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
33
33
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
34
34
|
};
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.NestingContext = void 0;
|
|
36
37
|
const react_1 = __importStar(require("react"));
|
|
37
38
|
const classnames_1 = __importDefault(require("classnames"));
|
|
38
39
|
const ds_icons_1 = require("@navikt/ds-icons");
|
|
39
40
|
const MenuItems_1 = __importDefault(require("./MenuItems"));
|
|
40
|
-
|
|
41
|
+
exports.NestingContext = (0, react_1.createContext)({ depth: 1 });
|
|
42
|
+
const NestingProvider = ({ children }) => {
|
|
43
|
+
const context = (0, react_1.useContext)(exports.NestingContext);
|
|
44
|
+
return (react_1.default.createElement(exports.NestingContext.Provider, { value: {
|
|
45
|
+
depth: context.depth + 1,
|
|
46
|
+
} }, children));
|
|
47
|
+
};
|
|
48
|
+
const Collapse = (0, react_1.forwardRef)((_a, ref) => {
|
|
41
49
|
var { children, defaultOpen = false, title, className } = _a, rest = __rest(_a, ["children", "defaultOpen", "title", "className"]);
|
|
42
50
|
const [isOpen, setIsOpen] = (0, react_1.useState)(defaultOpen);
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
51
|
+
const context = (0, react_1.useContext)(exports.NestingContext);
|
|
52
|
+
return (react_1.default.createElement("div", Object.assign({}, rest, { ref: ref, className: (0, classnames_1.default)("navds-menu-collapse", className, {
|
|
53
|
+
"navds-menu-collapse--open": isOpen,
|
|
54
|
+
}) }),
|
|
55
|
+
react_1.default.createElement("button", { onClick: () => setIsOpen(!isOpen), className: "navds-menu-collapse__button" },
|
|
47
56
|
title,
|
|
48
|
-
react_1.default.createElement(ds_icons_1.Expand, { title: isOpen ? "
|
|
49
|
-
|
|
57
|
+
react_1.default.createElement(ds_icons_1.Expand, { title: isOpen ? "lukk navigasjons-skuff" : "åpne navigason-skuff", className: "navds-menu-collapse__expand-icon" }),
|
|
58
|
+
react_1.default.createElement(ds_icons_1.ExpandFilled, { title: isOpen ? "lukk navigasjons-skuff" : "åpne navigason-skuff", className: "navds-menu-collapse__expand-icon navds-menu-collapse__expand-icon--filled" })),
|
|
59
|
+
react_1.default.createElement(NestingProvider, null, isOpen && (react_1.default.createElement(MenuItems_1.default, { "data-depth": context.depth, className: "navds-menu__list--inner" }, children)))));
|
|
50
60
|
});
|
|
51
|
-
exports.default =
|
|
61
|
+
exports.default = Collapse;
|
|
@@ -37,8 +37,8 @@ const react_1 = __importStar(require("react"));
|
|
|
37
37
|
const classnames_1 = __importDefault(require("classnames"));
|
|
38
38
|
const Item = (0, react_1.forwardRef)((_a, ref) => {
|
|
39
39
|
var { children, as: Component = "a", active = false, className } = _a, rest = __rest(_a, ["children", "as", "active", "className"]);
|
|
40
|
-
return (react_1.default.createElement(Component, Object.assign({ ref: ref, className: (0, classnames_1.default)("navds-
|
|
41
|
-
"navds-
|
|
40
|
+
return (react_1.default.createElement(Component, Object.assign({ ref: ref, className: (0, classnames_1.default)("navds-menu-item", className, {
|
|
41
|
+
"navds-menu-item--active": active,
|
|
42
42
|
}) }, rest), children));
|
|
43
43
|
});
|
|
44
44
|
exports.default = Item;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
+
var t = {};
|
|
4
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
+
t[p] = s[p];
|
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
+
t[p[i]] = s[p[i]];
|
|
10
|
+
}
|
|
11
|
+
return t;
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
const classnames_1 = __importDefault(require("classnames"));
|
|
18
|
+
const react_1 = __importDefault(require("react"));
|
|
19
|
+
const MenuItems = (_a) => {
|
|
20
|
+
var { children, className } = _a, rest = __rest(_a, ["children", "className"]);
|
|
21
|
+
return (react_1.default.createElement("ul", Object.assign({}, rest, { className: (0, classnames_1.default)("navds-menu__list", className) }), react_1.default.Children.toArray(children).map((child, i) => (react_1.default.createElement("li", { key: i, className: "navds-menu__list-item" }, child)))));
|
|
22
|
+
};
|
|
23
|
+
exports.default = MenuItems;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Menu = void 0;
|
|
7
|
+
var Menu_1 = require("./Menu");
|
|
8
|
+
Object.defineProperty(exports, "Menu", { enumerable: true, get: function () { return __importDefault(Menu_1).default; } });
|
|
@@ -18,6 +18,11 @@ export interface CheckboxProps extends Omit<FormFieldProps, "errorId">, Omit<Inp
|
|
|
18
18
|
* The value of the HTML element.
|
|
19
19
|
*/
|
|
20
20
|
value?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Specify whether the Checkbox is in an indeterminate state
|
|
23
|
+
* @default false
|
|
24
|
+
*/
|
|
25
|
+
indeterminate?: boolean;
|
|
21
26
|
}
|
|
22
27
|
declare const Checkbox: React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<HTMLInputElement>>;
|
|
23
28
|
export default Checkbox;
|
|
@@ -15,7 +15,18 @@ const Checkbox = forwardRef((props, ref) => {
|
|
|
15
15
|
"error",
|
|
16
16
|
"description",
|
|
17
17
|
"hideLabel",
|
|
18
|
-
]), inputProps, { className: "navds-checkbox__input",
|
|
18
|
+
]), inputProps, { type: "checkbox", className: "navds-checkbox__input", "aria-checked": props.indeterminate ? "mixed" : inputProps.checked, ref: (el) => {
|
|
19
|
+
var _a;
|
|
20
|
+
if (el) {
|
|
21
|
+
el.indeterminate = (_a = props.indeterminate) !== null && _a !== void 0 ? _a : false;
|
|
22
|
+
}
|
|
23
|
+
if (typeof ref === "function") {
|
|
24
|
+
ref(el);
|
|
25
|
+
}
|
|
26
|
+
else if (ref != null) {
|
|
27
|
+
ref.current = el;
|
|
28
|
+
}
|
|
29
|
+
} })),
|
|
19
30
|
React.createElement("label", { htmlFor: inputProps.id, className: "navds-checkbox__label" },
|
|
20
31
|
React.createElement("div", { className: cl("navds-checkbox__content", {
|
|
21
32
|
"navds-sr-only": props.hideLabel,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../src/form/checkbox/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAuB,MAAM,OAAO,CAAC;AAC/D,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,WAAW,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../src/form/checkbox/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAuB,MAAM,OAAO,CAAC;AAC/D,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,WAAW,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AA6BhD,MAAM,QAAQ,GAAG,UAAU,CAAkC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAC1E,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAE1D,MAAM,WAAW,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;IAE3D,OAAO,CACL,6BACE,SAAS,EAAE,EAAE,CACX,KAAK,CAAC,SAAS,EACf,gBAAgB,EAChB,mBAAmB,IAAI,EAAE,EACzB;YACE,uBAAuB,EAAE,QAAQ;YACjC,0BAA0B,EAAE,UAAU,CAAC,QAAQ;SAChD,CACF;QAED,+CACM,IAAI,CAAC,KAAK,EAAE;YACd,UAAU;YACV,MAAM;YACN,OAAO;YACP,aAAa;YACb,WAAW;SACZ,CAAC,EACE,UAAU,IACd,IAAI,EAAC,UAAU,EACf,SAAS,EAAC,uBAAuB,kBACnB,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,EAChE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE;;gBACV,IAAI,EAAE,EAAE;oBACN,EAAE,CAAC,aAAa,GAAG,MAAA,KAAK,CAAC,aAAa,mCAAI,KAAK,CAAC;iBACjD;gBAED,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE;oBAC7B,GAAG,CAAC,EAAE,CAAC,CAAC;iBACT;qBAAM,IAAI,GAAG,IAAI,IAAI,EAAE;oBACtB,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC;iBAClB;YACH,CAAC,IACD;QACF,+BAAO,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,SAAS,EAAC,uBAAuB;YAC9D,6BACE,SAAS,EAAE,EAAE,CAAC,yBAAyB,EAAE;oBACvC,eAAe,EAAE,KAAK,CAAC,SAAS;iBACjC,CAAC;gBAEF,oBAAC,SAAS,IAAC,EAAE,EAAC,KAAK,EAAC,IAAI,EAAE,IAAI,IAC3B,KAAK,CAAC,QAAQ,CACL;gBACX,KAAK,CAAC,WAAW,IAAI,CACpB,oBAAC,WAAW,IACV,EAAE,EAAC,KAAK,EACR,IAAI,EAAC,OAAO,EACZ,SAAS,EAAC,6BAA6B,IAEtC,KAAK,CAAC,WAAW,CACN,CACf,CACG,CACA,CACJ,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,QAAQ,CAAC"}
|
|
@@ -28,7 +28,7 @@ const useCheckbox = (_a) => {
|
|
|
28
28
|
console.warn("A <Checkbox> element within a <CheckboxGroup> requires a `value` property.");
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
return Object.assign(Object.assign({}, rest), { inputProps: Object.assign(Object.assign({}, inputProps), {
|
|
31
|
+
return Object.assign(Object.assign({}, rest), { inputProps: Object.assign(Object.assign({}, inputProps), { checked: (checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.value)
|
|
32
32
|
? checkboxGroup.value.includes(props.value)
|
|
33
33
|
: props.checked, defaultChecked: (checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.defaultValue)
|
|
34
34
|
? checkboxGroup.defaultValue.includes(props.value)
|
|
@@ -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;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAE7B;;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,CAC1C,IAAI,CAAC,KAAK,EAAE,CAAC,aAAa,CAAC,CAAC,EAC5B,UAAU,CACX,EAHK,EAAE,UAAU,OAGjB,EAHsB,IAAI,cAArB,cAAuB,CAG5B,CAAC;IAEF,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,
|
|
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;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAE7B;;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,CAC1C,IAAI,CAAC,KAAK,EAAE,CAAC,aAAa,CAAC,CAAC,EAC5B,UAAU,CACX,EAHK,EAAE,UAAU,OAGjB,EAHsB,IAAI,cAArB,cAAuB,CAG5B,CAAC;IAEF,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,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"}
|
package/esm/index.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export * from "./accordion";
|
|
2
|
-
export * from "./accordion-menu";
|
|
3
2
|
export * from "./alert";
|
|
4
3
|
export * from "./button";
|
|
5
4
|
export * from "./form";
|
|
@@ -9,6 +8,7 @@ export * from "./guide-panel";
|
|
|
9
8
|
export * from "./link";
|
|
10
9
|
export * from "./link-panel";
|
|
11
10
|
export * from "./loader";
|
|
11
|
+
export * from "./menu";
|
|
12
12
|
export * from "./modal";
|
|
13
13
|
export * from "./panel";
|
|
14
14
|
export * from "./popover";
|
package/esm/index.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export * from "./accordion";
|
|
2
|
-
export * from "./accordion-menu";
|
|
3
2
|
export * from "./alert";
|
|
4
3
|
export * from "./button";
|
|
5
4
|
export * from "./form";
|
|
@@ -9,6 +8,7 @@ export * from "./guide-panel";
|
|
|
9
8
|
export * from "./link";
|
|
10
9
|
export * from "./link-panel";
|
|
11
10
|
export * from "./loader";
|
|
11
|
+
export * from "./menu";
|
|
12
12
|
export * from "./modal";
|
|
13
13
|
export * from "./panel";
|
|
14
14
|
export * from "./popover";
|
package/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AAEvB,6BAA6B;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { MenuItemType } from "./MenuItem";
|
|
3
|
+
import { MenuCollapseType } from "./MenuCollapse";
|
|
4
|
+
export interface MenuProps extends React.HTMLAttributes<HTMLElement> {
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
}
|
|
7
|
+
interface MenuComponent extends React.ForwardRefExoticComponent<MenuProps & React.RefAttributes<HTMLElement>> {
|
|
8
|
+
Collapse: MenuCollapseType;
|
|
9
|
+
Item: MenuItemType;
|
|
10
|
+
}
|
|
11
|
+
declare const Menu: MenuComponent;
|
|
12
|
+
export default Menu;
|
|
@@ -12,14 +12,14 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
12
12
|
import React, { forwardRef } from "react";
|
|
13
13
|
import cl from "classnames";
|
|
14
14
|
import MenuItems from "./MenuItems";
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
const
|
|
15
|
+
import Item from "./MenuItem";
|
|
16
|
+
import Collapse from "./MenuCollapse";
|
|
17
|
+
const Menu = forwardRef((_a, ref) => {
|
|
18
18
|
var { children, className } = _a, rest = __rest(_a, ["children", "className"]);
|
|
19
|
-
return (React.createElement("nav", Object.assign({ role: "navigation", ref: ref, className: cl("navds-
|
|
19
|
+
return (React.createElement("nav", Object.assign({}, rest, { role: "navigation", ref: ref, className: cl("navds-menu", className) }),
|
|
20
20
|
React.createElement(MenuItems, null, children)));
|
|
21
21
|
});
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
export default
|
|
25
|
-
//# sourceMappingURL=
|
|
22
|
+
Menu.Collapse = Collapse;
|
|
23
|
+
Menu.Item = Item;
|
|
24
|
+
export default Menu;
|
|
25
|
+
//# sourceMappingURL=Menu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Menu.js","sourceRoot":"","sources":["../../src/menu/Menu.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,OAAO,IAAsB,MAAM,YAAY,CAAC;AAChD,OAAO,QAA8B,MAAM,gBAAgB,CAAC;AAc5D,MAAM,IAAI,GAAG,UAAU,CACrB,CAAC,EAAgC,EAAE,GAAG,EAAE,EAAE;QAAzC,EAAE,QAAQ,EAAE,SAAS,OAAW,EAAN,IAAI,cAA9B,yBAAgC,CAAF;IAAY,OAAA,CACvC,6CACM,IAAI,IACR,IAAI,EAAC,YAAY,EACjB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC;QAEtC,oBAAC,SAAS,QAAE,QAAQ,CAAa,CAC7B,CACP,CAAA;CAAA,CACa,CAAC;AAEnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AAEjB,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React, { HTMLAttributes } from "react";
|
|
2
|
+
export declare const NestingContext: React.Context<{
|
|
3
|
+
depth: number;
|
|
4
|
+
}>;
|
|
5
|
+
export interface MenuCollapseProps extends HTMLAttributes<HTMLDivElement> {
|
|
6
|
+
title: string;
|
|
7
|
+
defaultOpen?: boolean;
|
|
8
|
+
children: React.ReactNode;
|
|
9
|
+
}
|
|
10
|
+
export declare type MenuCollapseType = React.ForwardRefExoticComponent<MenuCollapseProps & React.RefAttributes<HTMLDivElement>>;
|
|
11
|
+
declare const Collapse: MenuCollapseType;
|
|
12
|
+
export default Collapse;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
import React, { createContext, forwardRef, useContext, useState, } from "react";
|
|
13
|
+
import cl from "classnames";
|
|
14
|
+
import { Expand, ExpandFilled } from "@navikt/ds-icons";
|
|
15
|
+
import MenuItems from "./MenuItems";
|
|
16
|
+
export const NestingContext = createContext({ depth: 1 });
|
|
17
|
+
const NestingProvider = ({ children }) => {
|
|
18
|
+
const context = useContext(NestingContext);
|
|
19
|
+
return (React.createElement(NestingContext.Provider, { value: {
|
|
20
|
+
depth: context.depth + 1,
|
|
21
|
+
} }, children));
|
|
22
|
+
};
|
|
23
|
+
const Collapse = forwardRef((_a, ref) => {
|
|
24
|
+
var { children, defaultOpen = false, title, className } = _a, rest = __rest(_a, ["children", "defaultOpen", "title", "className"]);
|
|
25
|
+
const [isOpen, setIsOpen] = useState(defaultOpen);
|
|
26
|
+
const context = useContext(NestingContext);
|
|
27
|
+
return (React.createElement("div", Object.assign({}, rest, { ref: ref, className: cl("navds-menu-collapse", className, {
|
|
28
|
+
"navds-menu-collapse--open": isOpen,
|
|
29
|
+
}) }),
|
|
30
|
+
React.createElement("button", { onClick: () => setIsOpen(!isOpen), className: "navds-menu-collapse__button" },
|
|
31
|
+
title,
|
|
32
|
+
React.createElement(Expand, { title: isOpen ? "lukk navigasjons-skuff" : "åpne navigason-skuff", className: "navds-menu-collapse__expand-icon" }),
|
|
33
|
+
React.createElement(ExpandFilled, { title: isOpen ? "lukk navigasjons-skuff" : "åpne navigason-skuff", className: "navds-menu-collapse__expand-icon navds-menu-collapse__expand-icon--filled" })),
|
|
34
|
+
React.createElement(NestingProvider, null, isOpen && (React.createElement(MenuItems, { "data-depth": context.depth, className: "navds-menu__list--inner" }, children)))));
|
|
35
|
+
});
|
|
36
|
+
export default Collapse;
|
|
37
|
+
//# sourceMappingURL=MenuCollapse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuCollapse.js","sourceRoot":"","sources":["../../src/menu/MenuCollapse.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EACZ,aAAa,EACb,UAAU,EAEV,UAAU,EACV,QAAQ,GACT,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;AAE7E,MAAM,eAAe,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACvC,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAE3C,OAAO,CACL,oBAAC,cAAc,CAAC,QAAQ,IACtB,KAAK,EAAE;YACL,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,CAAC;SACzB,IAEA,QAAQ,CACe,CAC3B,CAAC;AACJ,CAAC,CAAC;AAYF,MAAM,QAAQ,GAAqB,UAAU,CAC3C,CAAC,EAA4D,EAAE,GAAG,EAAE,EAAE;QAArE,EAAE,QAAQ,EAAE,WAAW,GAAG,KAAK,EAAE,KAAK,EAAE,SAAS,OAAW,EAAN,IAAI,cAA1D,iDAA4D,CAAF;IACzD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAE3C,OAAO,CACL,6CACM,IAAI,IACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,SAAS,EAAE;YAC9C,2BAA2B,EAAE,MAAM;SACpC,CAAC;QAEF,gCACE,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EACjC,SAAS,EAAC,6BAA6B;YAEtC,KAAK;YACN,oBAAC,MAAM,IACL,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,sBAAsB,EACjE,SAAS,EAAC,kCAAkC,GAC5C;YACF,oBAAC,YAAY,IACX,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,sBAAsB,EACjE,SAAS,EAAC,2EAA2E,GACrF,CACK;QACT,oBAAC,eAAe,QACb,MAAM,IAAI,CACT,oBAAC,SAAS,kBACI,OAAO,CAAC,KAAK,EACzB,SAAS,EAAC,yBAAyB,IAElC,QAAQ,CACC,CACb,CACe,CACd,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { OverridableComponent } from "..";
|
|
3
|
+
export interface MenuItemProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
/**
|
|
6
|
+
* Sets active styling if true
|
|
7
|
+
* @default false
|
|
8
|
+
*/
|
|
9
|
+
active?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare type MenuItemType = OverridableComponent<MenuItemProps, HTMLAnchorElement>;
|
|
12
|
+
declare const Item: MenuItemType;
|
|
13
|
+
export default Item;
|
|
@@ -13,9 +13,9 @@ import React, { forwardRef } from "react";
|
|
|
13
13
|
import cl from "classnames";
|
|
14
14
|
const Item = forwardRef((_a, ref) => {
|
|
15
15
|
var { children, as: Component = "a", active = false, className } = _a, rest = __rest(_a, ["children", "as", "active", "className"]);
|
|
16
|
-
return (React.createElement(Component, Object.assign({ ref: ref, className: cl("navds-
|
|
17
|
-
"navds-
|
|
16
|
+
return (React.createElement(Component, Object.assign({ ref: ref, className: cl("navds-menu-item", className, {
|
|
17
|
+
"navds-menu-item--active": active,
|
|
18
18
|
}) }, rest), children));
|
|
19
19
|
});
|
|
20
20
|
export default Item;
|
|
21
|
-
//# sourceMappingURL=
|
|
21
|
+
//# sourceMappingURL=MenuItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuItem.js","sourceRoot":"","sources":["../../src/menu/MenuItem.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,MAAM,YAAY,CAAC;AAiB5B,MAAM,IAAI,GAAiB,UAAU,CACnC,CACE,EAAqE,EACrE,GAAG,EACH,EAAE;QAFF,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,GAAG,GAAG,EAAE,MAAM,GAAG,KAAK,EAAE,SAAS,OAAW,EAAN,IAAI,cAAnE,yCAAqE,CAAF;IAGnE,OAAO,CACL,oBAAC,SAAS,kBACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,iBAAiB,EAAE,SAAS,EAAE;YAC1C,yBAAyB,EAAE,MAAM;SAClC,CAAC,IACE,IAAI,GAEP,QAAQ,CACC,CACb,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
import cl from "classnames";
|
|
13
|
+
import React from "react";
|
|
14
|
+
const MenuItems = (_a) => {
|
|
15
|
+
var { children, className } = _a, rest = __rest(_a, ["children", "className"]);
|
|
16
|
+
return (React.createElement("ul", Object.assign({}, rest, { className: cl("navds-menu__list", className) }), React.Children.toArray(children).map((child, i) => (React.createElement("li", { key: i, className: "navds-menu__list-item" }, child)))));
|
|
17
|
+
};
|
|
18
|
+
export default MenuItems;
|
|
19
|
+
//# sourceMappingURL=MenuItems.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuItems.js","sourceRoot":"","sources":["../../src/menu/MenuItems.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,SAAS,GAAG,CAAC,EAOlB,EAAE,EAAE;QAPc,EACjB,QAAQ,EACR,SAAS,OAKV,EAJI,IAAI,cAHU,yBAIlB,CADQ;IAIH,OAAA,CACJ,4CAAQ,IAAI,IAAE,SAAS,EAAE,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC,KACvD,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAClD,4BAAI,GAAG,EAAE,CAAC,EAAE,SAAS,EAAC,uBAAuB,IAC1C,KAAK,CACH,CACN,CAAC,CACC,CACN,CAAA;CAAA,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/menu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,IAAI,EAAa,MAAM,QAAQ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@navikt/ds-react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "NAV designsystem react components",
|
|
6
6
|
"author": "NAV Designsystem team",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"@material-ui/core": "^4.12.3",
|
|
38
|
-
"@navikt/ds-icons": "^0.
|
|
38
|
+
"@navikt/ds-icons": "^0.8.0",
|
|
39
39
|
"@popperjs/core": "^2.10.1",
|
|
40
40
|
"classnames": "^2.2.6",
|
|
41
41
|
"react-collapse": "^5.1.0",
|
|
@@ -64,5 +64,5 @@
|
|
|
64
64
|
"@types/react": "^17.0.30",
|
|
65
65
|
"react": "^17.0.0"
|
|
66
66
|
},
|
|
67
|
-
"gitHead": "
|
|
67
|
+
"gitHead": "4ea5face0ca3eaf990d528e9c737595add9c7378"
|
|
68
68
|
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import React, { useState } from "react";
|
|
2
|
+
import AccordionContent from "./AccordionContent";
|
|
3
|
+
import AccordionHeader from "./AccordionHeader";
|
|
4
|
+
import AccordionItem from "./AccordionItem";
|
|
5
|
+
import { Accordion } from ".";
|
|
6
|
+
|
|
7
|
+
export default {
|
|
8
|
+
title: "ds-react/accordion",
|
|
9
|
+
component: Accordion,
|
|
10
|
+
subcomponents: {
|
|
11
|
+
AccordionItem,
|
|
12
|
+
AccordionContent,
|
|
13
|
+
AccordionHeader,
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export const All = () => {
|
|
18
|
+
const [open, setOpen] = useState(false);
|
|
19
|
+
|
|
20
|
+
return (
|
|
21
|
+
<>
|
|
22
|
+
<h1>Accordion</h1>
|
|
23
|
+
<h2>Controlled</h2>
|
|
24
|
+
<Accordion>
|
|
25
|
+
<Accordion.Item open={open}>
|
|
26
|
+
<Accordion.Header onClick={() => setOpen(!open)}>
|
|
27
|
+
Accordion header text
|
|
28
|
+
</Accordion.Header>
|
|
29
|
+
<Accordion.Content>
|
|
30
|
+
Magna aliquip aliquip fugiat nostrud nostrud velit pariatur veniam
|
|
31
|
+
officia laboris voluptate officia pariatur.Lorem est ex anim velit
|
|
32
|
+
occaecat nisi qui nostrud sit consectetur consectetur officia
|
|
33
|
+
nostrud ullamco. Est ex duis proident nostrud elit qui laborum anim
|
|
34
|
+
minim eu eiusmod. Veniam in nostrud sunt tempor velit incididunt
|
|
35
|
+
sint ex dolor qui velit id eu. Deserunt magna sunt velit in. Est
|
|
36
|
+
exercitation id cillum qui do. Minim adipisicing nostrud commodo
|
|
37
|
+
proident occaecat aliquip nulla anim proident reprehenderit. Magna
|
|
38
|
+
ipsum officia veniam cupidatat duis veniam dolore reprehenderit
|
|
39
|
+
mollit velit.Ut consequat commodo minim occaecat id pariatur. Nisi
|
|
40
|
+
enim tempor laborum commodo. Tempor sit quis nostrud eu cupidatat
|
|
41
|
+
sunt commodo reprehenderit irure deserunt eiusmod ipsum.
|
|
42
|
+
Exercitation quis commodo cillum eiusmod eiusmod. Do laborum qui
|
|
43
|
+
proident commodo adipisicing eiusmod id.
|
|
44
|
+
</Accordion.Content>
|
|
45
|
+
</Accordion.Item>
|
|
46
|
+
</Accordion>
|
|
47
|
+
<h2>Un-controlled</h2>
|
|
48
|
+
<Accordion>
|
|
49
|
+
<Accordion.Item>
|
|
50
|
+
<Accordion.Header>Accordion header text</Accordion.Header>
|
|
51
|
+
<Accordion.Content>
|
|
52
|
+
Magna aliquip aliquip fugiat nostrud nostrud velit pariatur veniam
|
|
53
|
+
officia laboris voluptate officia pariatur.Lorem est ex anim velit
|
|
54
|
+
occaecat nisi qui nostrud sit consectetur consectetur officia
|
|
55
|
+
nostrud ullamco. Est ex duis proident nostrud elit qui laborum anim
|
|
56
|
+
minim eu eiusmod. Veniam in nostrud sunt tempor velit incididunt
|
|
57
|
+
sint ex dolor qui velit id eu. Deserunt magna sunt velit in. Est
|
|
58
|
+
exercitation id cillum qui do. Minim adipisicing nostrud commodo
|
|
59
|
+
proident occaecat aliquip nulla anim proident reprehenderit. Magna
|
|
60
|
+
ipsum officia veniam cupidatat duis veniam dolore reprehenderit
|
|
61
|
+
mollit velit.Ut consequat commodo minim occaecat id pariatur. Nisi
|
|
62
|
+
enim tempor laborum commodo. Tempor sit quis nostrud eu cupidatat
|
|
63
|
+
sunt commodo reprehenderit irure deserunt eiusmod ipsum.
|
|
64
|
+
Exercitation quis commodo cillum eiusmod eiusmod. Do laborum qui
|
|
65
|
+
proident commodo adipisicing eiusmod id.
|
|
66
|
+
</Accordion.Content>
|
|
67
|
+
</Accordion.Item>
|
|
68
|
+
<Accordion.Item>
|
|
69
|
+
<Accordion.Header>Accordion header text</Accordion.Header>
|
|
70
|
+
<Accordion.Content>
|
|
71
|
+
Magna aliquip aliquip fugiat nostrud nostrud velit pariatur veniam
|
|
72
|
+
officia laboris voluptate officia pariatur.Lorem est ex anim velit
|
|
73
|
+
occaecat nisi qui nostrud sit consectetur consectetur officia
|
|
74
|
+
nostrud ullamco. Est ex duis proident nostrud elit qui laborum anim
|
|
75
|
+
minim eu eiusmod. Veniam in nostrud sunt tempor velit incididunt
|
|
76
|
+
sint ex dolor qui velit id eu. Deserunt magna sunt velit in. Est
|
|
77
|
+
exercitation id cillum qui do. Minim adipisicing nostrud commodo
|
|
78
|
+
proident occaecat aliquip nulla anim proident reprehenderit. Magna
|
|
79
|
+
ipsum officia veniam cupidatat duis veniam dolore reprehenderit
|
|
80
|
+
mollit velit.Ut consequat commodo minim occaecat id pariatur. Nisi
|
|
81
|
+
enim tempor laborum commodo. Tempor sit quis nostrud eu cupidatat
|
|
82
|
+
sunt commodo reprehenderit irure deserunt eiusmod ipsum.
|
|
83
|
+
Exercitation quis commodo cillum eiusmod eiusmod. Do laborum qui
|
|
84
|
+
proident commodo adipisicing eiusmod id.
|
|
85
|
+
</Accordion.Content>
|
|
86
|
+
</Accordion.Item>
|
|
87
|
+
</Accordion>
|
|
88
|
+
</>
|
|
89
|
+
);
|
|
90
|
+
};
|
|
@@ -24,6 +24,11 @@ export interface CheckboxProps
|
|
|
24
24
|
* The value of the HTML element.
|
|
25
25
|
*/
|
|
26
26
|
value?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Specify whether the Checkbox is in an indeterminate state
|
|
29
|
+
* @default false
|
|
30
|
+
*/
|
|
31
|
+
indeterminate?: boolean;
|
|
27
32
|
}
|
|
28
33
|
|
|
29
34
|
const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>((props, ref) => {
|
|
@@ -52,8 +57,20 @@ const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>((props, ref) => {
|
|
|
52
57
|
"hideLabel",
|
|
53
58
|
])}
|
|
54
59
|
{...inputProps}
|
|
60
|
+
type="checkbox"
|
|
55
61
|
className="navds-checkbox__input"
|
|
56
|
-
|
|
62
|
+
aria-checked={props.indeterminate ? "mixed" : inputProps.checked}
|
|
63
|
+
ref={(el) => {
|
|
64
|
+
if (el) {
|
|
65
|
+
el.indeterminate = props.indeterminate ?? false;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
if (typeof ref === "function") {
|
|
69
|
+
ref(el);
|
|
70
|
+
} else if (ref != null) {
|
|
71
|
+
ref.current = el;
|
|
72
|
+
}
|
|
73
|
+
}}
|
|
57
74
|
/>
|
|
58
75
|
<label htmlFor={inputProps.id} className="navds-checkbox__label">
|
|
59
76
|
<div
|