@navikt/ds-react 8.2.1 → 8.2.2
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/accordion/AccordionItem.d.ts +8 -6
- package/cjs/accordion/AccordionItem.js +1 -7
- package/cjs/accordion/AccordionItem.js.map +1 -1
- package/cjs/expansion-card/ExpansionCard.d.ts +6 -5
- package/cjs/expansion-card/ExpansionCard.js +3 -9
- package/cjs/expansion-card/ExpansionCard.js.map +1 -1
- package/esm/accordion/AccordionItem.d.ts +8 -6
- package/esm/accordion/AccordionItem.js +2 -8
- package/esm/accordion/AccordionItem.js.map +1 -1
- package/esm/expansion-card/ExpansionCard.d.ts +6 -5
- package/esm/expansion-card/ExpansionCard.js +4 -10
- package/esm/expansion-card/ExpansionCard.js.map +1 -1
- package/package.json +3 -3
- package/src/accordion/AccordionItem.tsx +11 -18
- package/src/expansion-card/ExpansionCard.tsx +15 -21
|
@@ -1,22 +1,24 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
export interface AccordionItemProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
3
|
/**
|
|
4
|
-
* Content in Accordion.Item
|
|
5
|
-
*
|
|
4
|
+
* Content in Accordion.Item.
|
|
5
|
+
*
|
|
6
|
+
* Should include one Accordion.Header and one Accordion.Content.
|
|
6
7
|
*/
|
|
7
8
|
children: React.ReactNode;
|
|
8
9
|
/**
|
|
9
|
-
* Controlled open-state
|
|
10
|
-
*
|
|
10
|
+
* Controlled open-state.
|
|
11
|
+
*
|
|
12
|
+
* Using this removes automatic control of open-state.
|
|
11
13
|
*/
|
|
12
14
|
open?: boolean;
|
|
13
15
|
/**
|
|
14
|
-
*
|
|
16
|
+
* The open state when initially rendered. Use when you do not need to control the open state.
|
|
15
17
|
* @default false
|
|
16
18
|
*/
|
|
17
19
|
defaultOpen?: boolean;
|
|
18
20
|
/**
|
|
19
|
-
* Callback for current open-state
|
|
21
|
+
* Callback for current open-state.
|
|
20
22
|
*/
|
|
21
23
|
onOpenChange?: (open: boolean) => void;
|
|
22
24
|
}
|
|
@@ -59,21 +59,15 @@ const AccordionItem = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
59
59
|
onChange: onOpenChange,
|
|
60
60
|
});
|
|
61
61
|
const context = (0, react_1.useContext)(AccordionContext_1.AccordionContext);
|
|
62
|
-
const shouldAnimate = (0, react_1.useRef)(!(Boolean(open) || defaultOpen));
|
|
63
|
-
const handleOpen = () => {
|
|
64
|
-
_setOpen((x) => !x);
|
|
65
|
-
shouldAnimate.current = true;
|
|
66
|
-
};
|
|
67
62
|
if (!(context === null || context === void 0 ? void 0 : context.mounted)) {
|
|
68
63
|
console.error("<Accordion.Item> has to be used within an <Accordion>");
|
|
69
64
|
}
|
|
70
65
|
return (react_1.default.createElement("div", Object.assign({ className: (0, helpers_1.cl)("aksel-accordion__item", className, {
|
|
71
66
|
"aksel-accordion__item--open": _open,
|
|
72
|
-
"aksel-accordion__item--no-animation": !shouldAnimate.current,
|
|
73
67
|
}), "data-expanded": _open, ref: ref }, (0, utils_external_1.omit)(rest, ["onClick"])),
|
|
74
68
|
react_1.default.createElement(exports.AccordionItemContext.Provider, { value: {
|
|
75
69
|
open: _open,
|
|
76
|
-
toggleOpen:
|
|
70
|
+
toggleOpen: () => _setOpen((x) => !x),
|
|
77
71
|
} }, children)));
|
|
78
72
|
});
|
|
79
73
|
exports.default = AccordionItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccordionItem.js","sourceRoot":"","sources":["../../src/accordion/AccordionItem.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+
|
|
1
|
+
{"version":3,"file":"AccordionItem.js","sourceRoot":"","sources":["../../src/accordion/AccordionItem.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAqE;AACrE,sDAAyC;AACzC,8CAAsC;AACtC,0CAAsD;AACtD,yDAAsD;AA+BzC,QAAA,oBAAoB,GAC/B,IAAA,qBAAa,EAAmC,IAAI,CAAC,CAAC;AAExD,MAAM,aAAa,GAAG,IAAA,kBAAU,EAC9B,CACE,EAAyE,EACzE,GAAG,EACH,EAAE;QAFF,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,GAAG,KAAK,EAAE,YAAY,OAAW,EAAN,IAAI,cAAvE,gEAAyE,CAAF;IAGvE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,4BAAoB,EAAC;QAC7C,YAAY,EAAE,WAAW;QACzB,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,mCAAgB,CAAC,CAAC;IAE7C,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAA,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,CACL,qDACE,SAAS,EAAE,IAAA,YAAE,EAAC,uBAAuB,EAAE,SAAS,EAAE;YAChD,6BAA6B,EAAE,KAAK;SACrC,CAAC,mBACa,KAAK,EACpB,GAAG,EAAE,GAAG,IACJ,IAAA,qBAAI,EAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC;QAE3B,8BAAC,4BAAoB,CAAC,QAAQ,IAC5B,KAAK,EAAE;gBACL,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;aACtC,IAEA,QAAQ,CACqB,CAC5B,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,kBAAe,aAAa,CAAC"}
|
|
@@ -27,16 +27,17 @@ interface ExpansionCardComponent extends React.ForwardRefExoticComponent<Expansi
|
|
|
27
27
|
interface ExpansionCardCommonProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onToggle"> {
|
|
28
28
|
children: React.ReactNode;
|
|
29
29
|
/**
|
|
30
|
-
* Callback for when Card is
|
|
30
|
+
* Callback for when Card is opened/closed.
|
|
31
31
|
*/
|
|
32
32
|
onToggle?: (open: boolean) => void;
|
|
33
33
|
/**
|
|
34
|
-
* Controlled open-state
|
|
35
|
-
*
|
|
34
|
+
* Controlled open-state.
|
|
35
|
+
*
|
|
36
|
+
* Using this removes automatic control of open-state.
|
|
36
37
|
*/
|
|
37
38
|
open?: boolean;
|
|
38
39
|
/**
|
|
39
|
-
*
|
|
40
|
+
* The open state when initially rendered. Use when you do not need to control the open state.
|
|
40
41
|
* @default false
|
|
41
42
|
*/
|
|
42
43
|
defaultOpen?: boolean;
|
|
@@ -71,7 +72,7 @@ export type ExpansionCardProps = ExpansionCardCommonProps & ExpansionCardConditi
|
|
|
71
72
|
*
|
|
72
73
|
* @example
|
|
73
74
|
* ```jsx
|
|
74
|
-
* <ExpansionCard aria-label="
|
|
75
|
+
* <ExpansionCard aria-label="Utbetaling av sykepenger">
|
|
75
76
|
* <ExpansionCard.Header>
|
|
76
77
|
* <ExpansionCard.Title>Utbetaling av sykepenger</ExpansionCard.Title>
|
|
77
78
|
* </ExpansionCard.Header>
|
|
@@ -64,7 +64,7 @@ const context_1 = require("./context");
|
|
|
64
64
|
*
|
|
65
65
|
* @example
|
|
66
66
|
* ```jsx
|
|
67
|
-
* <ExpansionCard aria-label="
|
|
67
|
+
* <ExpansionCard aria-label="Utbetaling av sykepenger">
|
|
68
68
|
* <ExpansionCard.Header>
|
|
69
69
|
* <ExpansionCard.Title>Utbetaling av sykepenger</ExpansionCard.Title>
|
|
70
70
|
* </ExpansionCard.Header>
|
|
@@ -76,13 +76,9 @@ const context_1 = require("./context");
|
|
|
76
76
|
*/
|
|
77
77
|
exports.ExpansionCard = (0, react_1.forwardRef)((_a, ref) => {
|
|
78
78
|
var { className, onToggle, open, defaultOpen = false, size = "medium", "data-color": color = "neutral" } = _a, rest = __rest(_a, ["className", "onToggle", "open", "defaultOpen", "size", "data-color"]);
|
|
79
|
-
const shouldFade = (0, react_1.useRef)(!(Boolean(open) || defaultOpen));
|
|
80
79
|
const [_open, _setOpen] = (0, hooks_1.useControllableState)({
|
|
81
80
|
value: open,
|
|
82
|
-
onChange:
|
|
83
|
-
onToggle === null || onToggle === void 0 ? void 0 : onToggle(newValue);
|
|
84
|
-
shouldFade.current = true;
|
|
85
|
-
},
|
|
81
|
+
onChange: onToggle,
|
|
86
82
|
defaultValue: defaultOpen,
|
|
87
83
|
});
|
|
88
84
|
return (react_1.default.createElement(context_1.ExpansionCardContext.Provider, { value: {
|
|
@@ -90,9 +86,7 @@ exports.ExpansionCard = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
90
86
|
toggleOpen: () => _setOpen((x) => !x),
|
|
91
87
|
size,
|
|
92
88
|
} },
|
|
93
|
-
react_1.default.createElement("section", Object.assign({ "data-color": color }, rest, { className: (0, helpers_1.cl)("aksel-expansioncard", className, `aksel-expansioncard--${size}
|
|
94
|
-
"aksel-expansioncard--no-animation": !shouldFade.current,
|
|
95
|
-
}), ref: ref }))));
|
|
89
|
+
react_1.default.createElement("section", Object.assign({ "data-color": color }, rest, { className: (0, helpers_1.cl)("aksel-expansioncard", className, `aksel-expansioncard--${size}`), ref: ref }))));
|
|
96
90
|
});
|
|
97
91
|
exports.ExpansionCard.Header = ExpansionCardHeader_1.default;
|
|
98
92
|
exports.ExpansionCard.Content = ExpansionCardContent_1.default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpansionCard.js","sourceRoot":"","sources":["../../src/expansion-card/ExpansionCard.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+
|
|
1
|
+
{"version":3,"file":"ExpansionCard.js","sourceRoot":"","sources":["../../src/expansion-card/ExpansionCard.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA0C;AAG1C,8CAAsC;AACtC,0CAAsD;AACtD,kFAEgC;AAChC,yEAGoC;AACpC,gFAE+B;AAC/B,6DAG8B;AAC9B,uCAAiD;AA+EjD;;;;;;;;;;;;;;;;;GAiBG;AACU,QAAA,aAAa,GAAG,IAAA,kBAAU,EACrC,CACE,EAQC,EACD,GAAG,EACH,EAAE;QAVF,EACE,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,WAAW,GAAG,KAAK,EACnB,IAAI,GAAG,QAAQ,EACf,YAAY,EAAE,KAAK,GAAG,SAAS,OAEhC,EADI,IAAI,cAPT,sEAQC,CADQ;IAIT,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,4BAAoB,EAAC;QAC7C,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,QAAQ;QAClB,YAAY,EAAE,WAAW;KAC1B,CAAC,CAAC;IAEH,OAAO,CACL,8BAAC,8BAAoB,CAAC,QAAQ,IAC5B,KAAK,EAAE;YACL,IAAI,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,KAAK;YACnB,UAAU,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI;SACL;QAED,uEACc,KAAK,IACb,IAAI,IACR,SAAS,EAAE,IAAA,YAAE,EACX,qBAAqB,EACrB,SAAS,EACT,wBAAwB,IAAI,EAAE,CAC/B,EACD,GAAG,EAAE,GAAG,IACR,CAC4B,CACjC,CAAC;AACJ,CAAC,CACwB,CAAC;AAE5B,qBAAa,CAAC,MAAM,GAAG,6BAAmB,CAAC;AAC3C,qBAAa,CAAC,OAAO,GAAG,8BAAoB,CAAC;AAC7C,qBAAa,CAAC,KAAK,GAAG,uCAAkB,CAAC;AACzC,qBAAa,CAAC,WAAW,GAAG,mDAAwB,CAAC;AAErD,kBAAe,qBAAa,CAAC"}
|
|
@@ -1,22 +1,24 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
export interface AccordionItemProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
3
|
/**
|
|
4
|
-
* Content in Accordion.Item
|
|
5
|
-
*
|
|
4
|
+
* Content in Accordion.Item.
|
|
5
|
+
*
|
|
6
|
+
* Should include one Accordion.Header and one Accordion.Content.
|
|
6
7
|
*/
|
|
7
8
|
children: React.ReactNode;
|
|
8
9
|
/**
|
|
9
|
-
* Controlled open-state
|
|
10
|
-
*
|
|
10
|
+
* Controlled open-state.
|
|
11
|
+
*
|
|
12
|
+
* Using this removes automatic control of open-state.
|
|
11
13
|
*/
|
|
12
14
|
open?: boolean;
|
|
13
15
|
/**
|
|
14
|
-
*
|
|
16
|
+
* The open state when initially rendered. Use when you do not need to control the open state.
|
|
15
17
|
* @default false
|
|
16
18
|
*/
|
|
17
19
|
defaultOpen?: boolean;
|
|
18
20
|
/**
|
|
19
|
-
* Callback for current open-state
|
|
21
|
+
* Callback for current open-state.
|
|
20
22
|
*/
|
|
21
23
|
onOpenChange?: (open: boolean) => void;
|
|
22
24
|
}
|
|
@@ -9,7 +9,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
9
9
|
}
|
|
10
10
|
return t;
|
|
11
11
|
};
|
|
12
|
-
import React, { createContext, forwardRef, useContext
|
|
12
|
+
import React, { createContext, forwardRef, useContext } from "react";
|
|
13
13
|
import { omit } from "../utils-external/index.js";
|
|
14
14
|
import { cl } from "../utils/helpers/index.js";
|
|
15
15
|
import { useControllableState } from "../utils/hooks/index.js";
|
|
@@ -23,21 +23,15 @@ const AccordionItem = forwardRef((_a, ref) => {
|
|
|
23
23
|
onChange: onOpenChange,
|
|
24
24
|
});
|
|
25
25
|
const context = useContext(AccordionContext);
|
|
26
|
-
const shouldAnimate = useRef(!(Boolean(open) || defaultOpen));
|
|
27
|
-
const handleOpen = () => {
|
|
28
|
-
_setOpen((x) => !x);
|
|
29
|
-
shouldAnimate.current = true;
|
|
30
|
-
};
|
|
31
26
|
if (!(context === null || context === void 0 ? void 0 : context.mounted)) {
|
|
32
27
|
console.error("<Accordion.Item> has to be used within an <Accordion>");
|
|
33
28
|
}
|
|
34
29
|
return (React.createElement("div", Object.assign({ className: cl("aksel-accordion__item", className, {
|
|
35
30
|
"aksel-accordion__item--open": _open,
|
|
36
|
-
"aksel-accordion__item--no-animation": !shouldAnimate.current,
|
|
37
31
|
}), "data-expanded": _open, ref: ref }, omit(rest, ["onClick"])),
|
|
38
32
|
React.createElement(AccordionItemContext.Provider, { value: {
|
|
39
33
|
open: _open,
|
|
40
|
-
toggleOpen:
|
|
34
|
+
toggleOpen: () => _setOpen((x) => !x),
|
|
41
35
|
} }, children)));
|
|
42
36
|
});
|
|
43
37
|
export default AccordionItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccordionItem.js","sourceRoot":"","sources":["../../src/accordion/AccordionItem.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"AccordionItem.js","sourceRoot":"","sources":["../../src/accordion/AccordionItem.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AA+BtD,MAAM,CAAC,MAAM,oBAAoB,GAC/B,aAAa,CAAmC,IAAI,CAAC,CAAC;AAExD,MAAM,aAAa,GAAG,UAAU,CAC9B,CACE,EAAyE,EACzE,GAAG,EACH,EAAE;QAFF,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,GAAG,KAAK,EAAE,YAAY,OAAW,EAAN,IAAI,cAAvE,gEAAyE,CAAF;IAGvE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,oBAAoB,CAAC;QAC7C,YAAY,EAAE,WAAW;QACzB,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAE7C,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAA,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,CACL,2CACE,SAAS,EAAE,EAAE,CAAC,uBAAuB,EAAE,SAAS,EAAE;YAChD,6BAA6B,EAAE,KAAK;SACrC,CAAC,mBACa,KAAK,EACpB,GAAG,EAAE,GAAG,IACJ,IAAI,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC;QAE3B,oBAAC,oBAAoB,CAAC,QAAQ,IAC5B,KAAK,EAAE;gBACL,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;aACtC,IAEA,QAAQ,CACqB,CAC5B,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -27,16 +27,17 @@ interface ExpansionCardComponent extends React.ForwardRefExoticComponent<Expansi
|
|
|
27
27
|
interface ExpansionCardCommonProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onToggle"> {
|
|
28
28
|
children: React.ReactNode;
|
|
29
29
|
/**
|
|
30
|
-
* Callback for when Card is
|
|
30
|
+
* Callback for when Card is opened/closed.
|
|
31
31
|
*/
|
|
32
32
|
onToggle?: (open: boolean) => void;
|
|
33
33
|
/**
|
|
34
|
-
* Controlled open-state
|
|
35
|
-
*
|
|
34
|
+
* Controlled open-state.
|
|
35
|
+
*
|
|
36
|
+
* Using this removes automatic control of open-state.
|
|
36
37
|
*/
|
|
37
38
|
open?: boolean;
|
|
38
39
|
/**
|
|
39
|
-
*
|
|
40
|
+
* The open state when initially rendered. Use when you do not need to control the open state.
|
|
40
41
|
* @default false
|
|
41
42
|
*/
|
|
42
43
|
defaultOpen?: boolean;
|
|
@@ -71,7 +72,7 @@ export type ExpansionCardProps = ExpansionCardCommonProps & ExpansionCardConditi
|
|
|
71
72
|
*
|
|
72
73
|
* @example
|
|
73
74
|
* ```jsx
|
|
74
|
-
* <ExpansionCard aria-label="
|
|
75
|
+
* <ExpansionCard aria-label="Utbetaling av sykepenger">
|
|
75
76
|
* <ExpansionCard.Header>
|
|
76
77
|
* <ExpansionCard.Title>Utbetaling av sykepenger</ExpansionCard.Title>
|
|
77
78
|
* </ExpansionCard.Header>
|
|
@@ -9,7 +9,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
9
9
|
}
|
|
10
10
|
return t;
|
|
11
11
|
};
|
|
12
|
-
import React, { forwardRef
|
|
12
|
+
import React, { forwardRef } from "react";
|
|
13
13
|
import { cl } from "../utils/helpers/index.js";
|
|
14
14
|
import { useControllableState } from "../utils/hooks/index.js";
|
|
15
15
|
import ExpansionCardContent from "./ExpansionCardContent.js";
|
|
@@ -25,7 +25,7 @@ import { ExpansionCardContext } from "./context.js";
|
|
|
25
25
|
*
|
|
26
26
|
* @example
|
|
27
27
|
* ```jsx
|
|
28
|
-
* <ExpansionCard aria-label="
|
|
28
|
+
* <ExpansionCard aria-label="Utbetaling av sykepenger">
|
|
29
29
|
* <ExpansionCard.Header>
|
|
30
30
|
* <ExpansionCard.Title>Utbetaling av sykepenger</ExpansionCard.Title>
|
|
31
31
|
* </ExpansionCard.Header>
|
|
@@ -37,13 +37,9 @@ import { ExpansionCardContext } from "./context.js";
|
|
|
37
37
|
*/
|
|
38
38
|
export const ExpansionCard = forwardRef((_a, ref) => {
|
|
39
39
|
var { className, onToggle, open, defaultOpen = false, size = "medium", "data-color": color = "neutral" } = _a, rest = __rest(_a, ["className", "onToggle", "open", "defaultOpen", "size", "data-color"]);
|
|
40
|
-
const shouldFade = useRef(!(Boolean(open) || defaultOpen));
|
|
41
40
|
const [_open, _setOpen] = useControllableState({
|
|
42
41
|
value: open,
|
|
43
|
-
onChange:
|
|
44
|
-
onToggle === null || onToggle === void 0 ? void 0 : onToggle(newValue);
|
|
45
|
-
shouldFade.current = true;
|
|
46
|
-
},
|
|
42
|
+
onChange: onToggle,
|
|
47
43
|
defaultValue: defaultOpen,
|
|
48
44
|
});
|
|
49
45
|
return (React.createElement(ExpansionCardContext.Provider, { value: {
|
|
@@ -51,9 +47,7 @@ export const ExpansionCard = forwardRef((_a, ref) => {
|
|
|
51
47
|
toggleOpen: () => _setOpen((x) => !x),
|
|
52
48
|
size,
|
|
53
49
|
} },
|
|
54
|
-
React.createElement("section", Object.assign({ "data-color": color }, rest, { className: cl("aksel-expansioncard", className, `aksel-expansioncard--${size}
|
|
55
|
-
"aksel-expansioncard--no-animation": !shouldFade.current,
|
|
56
|
-
}), ref: ref }))));
|
|
50
|
+
React.createElement("section", Object.assign({ "data-color": color }, rest, { className: cl("aksel-expansioncard", className, `aksel-expansioncard--${size}`), ref: ref }))));
|
|
57
51
|
});
|
|
58
52
|
ExpansionCard.Header = ExpansionCardHeader;
|
|
59
53
|
ExpansionCard.Content = ExpansionCardContent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpansionCard.js","sourceRoot":"","sources":["../../src/expansion-card/ExpansionCard.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ExpansionCard.js","sourceRoot":"","sources":["../../src/expansion-card/ExpansionCard.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,oBAEN,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,wBAAwB,GAEzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,mBAEN,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,kBAAkB,GAEnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AA+EjD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CACrC,CACE,EAQC,EACD,GAAG,EACH,EAAE;QAVF,EACE,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,WAAW,GAAG,KAAK,EACnB,IAAI,GAAG,QAAQ,EACf,YAAY,EAAE,KAAK,GAAG,SAAS,OAEhC,EADI,IAAI,cAPT,sEAQC,CADQ;IAIT,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,oBAAoB,CAAC;QAC7C,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,QAAQ;QAClB,YAAY,EAAE,WAAW;KAC1B,CAAC,CAAC;IAEH,OAAO,CACL,oBAAC,oBAAoB,CAAC,QAAQ,IAC5B,KAAK,EAAE;YACL,IAAI,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,KAAK;YACnB,UAAU,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI;SACL;QAED,6DACc,KAAK,IACb,IAAI,IACR,SAAS,EAAE,EAAE,CACX,qBAAqB,EACrB,SAAS,EACT,wBAAwB,IAAI,EAAE,CAC/B,EACD,GAAG,EAAE,GAAG,IACR,CAC4B,CACjC,CAAC;AACJ,CAAC,CACwB,CAAC;AAE5B,aAAa,CAAC,MAAM,GAAG,mBAAmB,CAAC;AAC3C,aAAa,CAAC,OAAO,GAAG,oBAAoB,CAAC;AAC7C,aAAa,CAAC,KAAK,GAAG,kBAAkB,CAAC;AACzC,aAAa,CAAC,WAAW,GAAG,wBAAwB,CAAC;AAErD,eAAe,aAAa,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@navikt/ds-react",
|
|
3
|
-
"version": "8.2.
|
|
3
|
+
"version": "8.2.2",
|
|
4
4
|
"description": "React components from the Norwegian Labour and Welfare Administration.",
|
|
5
5
|
"author": "Aksel, a team part of the Norwegian Labour and Welfare Administration.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -705,8 +705,8 @@
|
|
|
705
705
|
"dependencies": {
|
|
706
706
|
"@floating-ui/react": "0.27.8",
|
|
707
707
|
"@floating-ui/react-dom": "^2.1.6",
|
|
708
|
-
"@navikt/aksel-icons": "^8.2.
|
|
709
|
-
"@navikt/ds-tokens": "^8.2.
|
|
708
|
+
"@navikt/aksel-icons": "^8.2.2",
|
|
709
|
+
"@navikt/ds-tokens": "^8.2.2",
|
|
710
710
|
"date-fns": "^4.0.0",
|
|
711
711
|
"react-day-picker": "9.7.0"
|
|
712
712
|
},
|
|
@@ -1,28 +1,29 @@
|
|
|
1
|
-
import React, { createContext, forwardRef, useContext
|
|
1
|
+
import React, { createContext, forwardRef, useContext } from "react";
|
|
2
2
|
import { omit } from "../utils-external";
|
|
3
3
|
import { cl } from "../utils/helpers";
|
|
4
4
|
import { useControllableState } from "../utils/hooks";
|
|
5
5
|
import { AccordionContext } from "./AccordionContext";
|
|
6
6
|
|
|
7
|
-
export interface AccordionItemProps
|
|
8
|
-
extends React.HTMLAttributes<HTMLDivElement> {
|
|
7
|
+
export interface AccordionItemProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
9
8
|
/**
|
|
10
|
-
* Content in Accordion.Item
|
|
11
|
-
*
|
|
9
|
+
* Content in Accordion.Item.
|
|
10
|
+
*
|
|
11
|
+
* Should include one Accordion.Header and one Accordion.Content.
|
|
12
12
|
*/
|
|
13
13
|
children: React.ReactNode;
|
|
14
14
|
/**
|
|
15
|
-
* Controlled open-state
|
|
16
|
-
*
|
|
15
|
+
* Controlled open-state.
|
|
16
|
+
*
|
|
17
|
+
* Using this removes automatic control of open-state.
|
|
17
18
|
*/
|
|
18
19
|
open?: boolean;
|
|
19
20
|
/**
|
|
20
|
-
*
|
|
21
|
+
* The open state when initially rendered. Use when you do not need to control the open state.
|
|
21
22
|
* @default false
|
|
22
23
|
*/
|
|
23
24
|
defaultOpen?: boolean;
|
|
24
25
|
/**
|
|
25
|
-
* Callback for current open-state
|
|
26
|
+
* Callback for current open-state.
|
|
26
27
|
*/
|
|
27
28
|
onOpenChange?: (open: boolean) => void;
|
|
28
29
|
}
|
|
@@ -48,13 +49,6 @@ const AccordionItem = forwardRef<HTMLDivElement, AccordionItemProps>(
|
|
|
48
49
|
|
|
49
50
|
const context = useContext(AccordionContext);
|
|
50
51
|
|
|
51
|
-
const shouldAnimate = useRef<boolean>(!(Boolean(open) || defaultOpen));
|
|
52
|
-
|
|
53
|
-
const handleOpen = () => {
|
|
54
|
-
_setOpen((x) => !x);
|
|
55
|
-
shouldAnimate.current = true;
|
|
56
|
-
};
|
|
57
|
-
|
|
58
52
|
if (!context?.mounted) {
|
|
59
53
|
console.error("<Accordion.Item> has to be used within an <Accordion>");
|
|
60
54
|
}
|
|
@@ -63,7 +57,6 @@ const AccordionItem = forwardRef<HTMLDivElement, AccordionItemProps>(
|
|
|
63
57
|
<div
|
|
64
58
|
className={cl("aksel-accordion__item", className, {
|
|
65
59
|
"aksel-accordion__item--open": _open,
|
|
66
|
-
"aksel-accordion__item--no-animation": !shouldAnimate.current,
|
|
67
60
|
})}
|
|
68
61
|
data-expanded={_open}
|
|
69
62
|
ref={ref}
|
|
@@ -72,7 +65,7 @@ const AccordionItem = forwardRef<HTMLDivElement, AccordionItemProps>(
|
|
|
72
65
|
<AccordionItemContext.Provider
|
|
73
66
|
value={{
|
|
74
67
|
open: _open,
|
|
75
|
-
toggleOpen:
|
|
68
|
+
toggleOpen: () => _setOpen((x) => !x),
|
|
76
69
|
}}
|
|
77
70
|
>
|
|
78
71
|
{children}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { forwardRef
|
|
1
|
+
import React, { forwardRef } from "react";
|
|
2
2
|
import type { AkselColor } from "../types";
|
|
3
3
|
import type { OverridableComponent } from "../utils-external";
|
|
4
4
|
import { cl } from "../utils/helpers";
|
|
@@ -19,10 +19,9 @@ import {
|
|
|
19
19
|
} from "./ExpansionCardTitle";
|
|
20
20
|
import { ExpansionCardContext } from "./context";
|
|
21
21
|
|
|
22
|
-
interface ExpansionCardComponent
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
> {
|
|
22
|
+
interface ExpansionCardComponent extends React.ForwardRefExoticComponent<
|
|
23
|
+
ExpansionCardProps & React.RefAttributes<HTMLDivElement>
|
|
24
|
+
> {
|
|
26
25
|
/**
|
|
27
26
|
* @see 🏷️ {@link ExpansionCardHeaderProps}
|
|
28
27
|
*/
|
|
@@ -48,20 +47,23 @@ interface ExpansionCardComponent
|
|
|
48
47
|
>;
|
|
49
48
|
}
|
|
50
49
|
|
|
51
|
-
interface ExpansionCardCommonProps
|
|
52
|
-
|
|
50
|
+
interface ExpansionCardCommonProps extends Omit<
|
|
51
|
+
React.HTMLAttributes<HTMLDivElement>,
|
|
52
|
+
"onToggle"
|
|
53
|
+
> {
|
|
53
54
|
children: React.ReactNode;
|
|
54
55
|
/**
|
|
55
|
-
* Callback for when Card is
|
|
56
|
+
* Callback for when Card is opened/closed.
|
|
56
57
|
*/
|
|
57
58
|
onToggle?: (open: boolean) => void;
|
|
58
59
|
/**
|
|
59
|
-
* Controlled open-state
|
|
60
|
-
*
|
|
60
|
+
* Controlled open-state.
|
|
61
|
+
*
|
|
62
|
+
* Using this removes automatic control of open-state.
|
|
61
63
|
*/
|
|
62
64
|
open?: boolean;
|
|
63
65
|
/**
|
|
64
|
-
*
|
|
66
|
+
* The open state when initially rendered. Use when you do not need to control the open state.
|
|
65
67
|
* @default false
|
|
66
68
|
*/
|
|
67
69
|
defaultOpen?: boolean;
|
|
@@ -102,7 +104,7 @@ export type ExpansionCardProps = ExpansionCardCommonProps &
|
|
|
102
104
|
*
|
|
103
105
|
* @example
|
|
104
106
|
* ```jsx
|
|
105
|
-
* <ExpansionCard aria-label="
|
|
107
|
+
* <ExpansionCard aria-label="Utbetaling av sykepenger">
|
|
106
108
|
* <ExpansionCard.Header>
|
|
107
109
|
* <ExpansionCard.Title>Utbetaling av sykepenger</ExpansionCard.Title>
|
|
108
110
|
* </ExpansionCard.Header>
|
|
@@ -125,14 +127,9 @@ export const ExpansionCard = forwardRef<HTMLDivElement, ExpansionCardProps>(
|
|
|
125
127
|
},
|
|
126
128
|
ref,
|
|
127
129
|
) => {
|
|
128
|
-
const shouldFade = useRef<boolean>(!(Boolean(open) || defaultOpen));
|
|
129
|
-
|
|
130
130
|
const [_open, _setOpen] = useControllableState({
|
|
131
131
|
value: open,
|
|
132
|
-
onChange:
|
|
133
|
-
onToggle?.(newValue);
|
|
134
|
-
shouldFade.current = true;
|
|
135
|
-
},
|
|
132
|
+
onChange: onToggle,
|
|
136
133
|
defaultValue: defaultOpen,
|
|
137
134
|
});
|
|
138
135
|
|
|
@@ -151,9 +148,6 @@ export const ExpansionCard = forwardRef<HTMLDivElement, ExpansionCardProps>(
|
|
|
151
148
|
"aksel-expansioncard",
|
|
152
149
|
className,
|
|
153
150
|
`aksel-expansioncard--${size}`,
|
|
154
|
-
{
|
|
155
|
-
"aksel-expansioncard--no-animation": !shouldFade.current,
|
|
156
|
-
},
|
|
157
151
|
)}
|
|
158
152
|
ref={ref}
|
|
159
153
|
/>
|