@navikt/ds-react 0.19.9 → 0.19.12
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/_docs.json +1 -1
- package/cjs/form/error-summary/ErrorSummary.js +4 -2
- package/cjs/loader/Loader.js +2 -2
- package/esm/form/error-summary/ErrorSummary.js +4 -2
- package/esm/form/error-summary/ErrorSummary.js.map +1 -1
- package/esm/loader/Loader.d.ts +1 -1
- package/esm/loader/Loader.js +2 -2
- package/esm/loader/Loader.js.map +1 -1
- package/package.json +2 -2
- package/src/alert/alert.stories.tsx +9 -1
- package/src/form/error-summary/ErrorSummary.tsx +9 -3
- package/src/guide-panel/guidepanel.stories.tsx +51 -0
- package/src/help-text/help-text.stories.tsx +53 -18
- package/src/link/link.stories.tsx +77 -0
- package/src/link-panel/link-panel.stories.tsx +57 -0
- package/src/loader/Loader.tsx +8 -5
- package/src/loader/loader.stories.tsx +79 -0
- package/src/modal/modal.stories.tsx +71 -38
- package/src/panel/{stories/panel.stories.tsx → panel.stories.tsx} +27 -5
- package/src/popover/popover.stories.tsx +126 -0
- package/src/table/stories/table-async.stories.tsx +1 -1
- package/src/table/stories/table-expandable.stories.tsx +89 -62
- package/src/table/stories/table.stories.tsx +73 -83
- package/src/tag/tag.stories.tsx +45 -0
- package/src/toggle-group/ToggleGroup.stories.tsx +63 -81
- package/src/typography/heading.stories.tsx +75 -0
- package/src/typography/typography.stories.tsx +184 -111
- package/src/guide-panel/stories/example.css +0 -13
- package/src/guide-panel/stories/guidepanel.stories.mdx +0 -81
- package/src/guide-panel/stories/guidepanel.stories.tsx +0 -68
- package/src/link/stories/link.stories.mdx +0 -26
- package/src/link/stories/link.stories.tsx +0 -53
- package/src/link-panel/stories/illustration.tsx +0 -125
- package/src/link-panel/stories/link-panel.stories.mdx +0 -110
- package/src/link-panel/stories/link-panel.stories.tsx +0 -51
- package/src/loader/stories/loader.stories.mdx +0 -65
- package/src/loader/stories/loader.stories.tsx +0 -69
- package/src/panel/stories/panel.stories.mdx +0 -42
- package/src/popover/stories/popover.stories.mdx +0 -23
- package/src/popover/stories/popover.stories.tsx +0 -56
- package/src/table/stories/table-hot.stories.tsx +0 -376
- package/src/table/stories/table.stories.mdx +0 -112
- package/src/tag/stories/tag.stories.mdx +0 -56
- package/src/tag/stories/tag.stories.tsx +0 -32
package/_docs.json
CHANGED
|
@@ -2783,7 +2783,7 @@
|
|
|
2783
2783
|
],
|
|
2784
2784
|
"required": false,
|
|
2785
2785
|
"type": {
|
|
2786
|
-
"name": "\"2xlarge\" | \"xlarge\" | \"large\" | \"medium\" | \"small\" | \"xsmall\""
|
|
2786
|
+
"name": "\"3xlarge\" | \"2xlarge\" | \"xlarge\" | \"large\" | \"medium\" | \"small\" | \"xsmall\""
|
|
2787
2787
|
}
|
|
2788
2788
|
},
|
|
2789
2789
|
"title": {
|
|
@@ -42,10 +42,12 @@ const react_1 = __importStar(require("react"));
|
|
|
42
42
|
const classnames_1 = __importDefault(require("classnames"));
|
|
43
43
|
const __1 = require("../..");
|
|
44
44
|
const ErrorSummaryItem_1 = __importDefault(require("./ErrorSummaryItem"));
|
|
45
|
+
const util_1 = require("../../util");
|
|
45
46
|
exports.ErrorSummary = (0, react_1.forwardRef)((_a, ref) => {
|
|
46
47
|
var { children, className, size = "medium", headingTag = "h2", heading } = _a, rest = __rest(_a, ["children", "className", "size", "headingTag", "heading"]);
|
|
47
|
-
|
|
48
|
-
|
|
48
|
+
const headingId = (0, util_1.useId)();
|
|
49
|
+
return (react_1.default.createElement("section", Object.assign({ ref: ref }, rest, { className: (0, classnames_1.default)(className, "navds-error-summary", `navds-error-summary--${size}`), tabIndex: -1, "aria-live": "polite", "aria-relevant": "all", "aria-labelledby": `error-summary-${headingId}` }),
|
|
50
|
+
react_1.default.createElement(__1.Heading, { className: "navds-error-summary__heading", as: headingTag, size: "small", id: `error-summary-${headingId}` }, heading),
|
|
49
51
|
react_1.default.createElement(__1.BodyShort, { as: "ul", size: size, className: "navds-error-summary__list" }, react_1.default.Children.map(children, (child) => {
|
|
50
52
|
return react_1.default.createElement("li", { key: child === null || child === void 0 ? void 0 : child.toString() }, child);
|
|
51
53
|
}))));
|
package/cjs/loader/Loader.js
CHANGED
|
@@ -48,7 +48,7 @@ exports.Loader = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
48
48
|
"navds-loader--transparent": transparent,
|
|
49
49
|
}), focusable: "false", viewBox: "0 0 50 50", preserveAspectRatio: "xMidYMid" }, rest),
|
|
50
50
|
react_1.default.createElement("title", { id: id !== null && id !== void 0 ? id : `loader-${internalId}` }, title),
|
|
51
|
-
react_1.default.createElement("circle", { className: "navds-loader__background", xmlns: "http://www.w3.org/2000/svg", cx: "25", cy: "25", r: "20", fill: "none"
|
|
52
|
-
react_1.default.createElement("circle", { className: "navds-loader__foreground", cx: "25", cy: "25", r: "20",
|
|
51
|
+
react_1.default.createElement("circle", { className: "navds-loader__background", xmlns: "http://www.w3.org/2000/svg", cx: "25", cy: "25", r: "20", fill: "none" }),
|
|
52
|
+
react_1.default.createElement("circle", { className: "navds-loader__foreground", cx: "25", cy: "25", r: "20", fill: "none", strokeDasharray: "50 155" })));
|
|
53
53
|
});
|
|
54
54
|
exports.default = exports.Loader;
|
|
@@ -13,10 +13,12 @@ import React, { forwardRef } from "react";
|
|
|
13
13
|
import cl from "classnames";
|
|
14
14
|
import { Heading, BodyShort } from "../..";
|
|
15
15
|
import ErrorSummaryItem from "./ErrorSummaryItem";
|
|
16
|
+
import { useId } from "../../util";
|
|
16
17
|
export const ErrorSummary = forwardRef((_a, ref) => {
|
|
17
18
|
var { children, className, size = "medium", headingTag = "h2", heading } = _a, rest = __rest(_a, ["children", "className", "size", "headingTag", "heading"]);
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
const headingId = useId();
|
|
20
|
+
return (React.createElement("section", Object.assign({ ref: ref }, rest, { className: cl(className, "navds-error-summary", `navds-error-summary--${size}`), tabIndex: -1, "aria-live": "polite", "aria-relevant": "all", "aria-labelledby": `error-summary-${headingId}` }),
|
|
21
|
+
React.createElement(Heading, { className: "navds-error-summary__heading", as: headingTag, size: "small", id: `error-summary-${headingId}` }, heading),
|
|
20
22
|
React.createElement(BodyShort, { as: "ul", size: size, className: "navds-error-summary__list" }, React.Children.map(children, (child) => {
|
|
21
23
|
return React.createElement("li", { key: child === null || child === void 0 ? void 0 : child.toString() }, child);
|
|
22
24
|
}))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorSummary.js","sourceRoot":"","sources":["../../../src/form/error-summary/ErrorSummary.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,gBAA0C,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"ErrorSummary.js","sourceRoot":"","sources":["../../../src/form/error-summary/ErrorSummary.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,gBAA0C,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AA8BnC,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CACpC,CACE,EAOC,EACD,GAAG,EACH,EAAE;QATF,EACE,QAAQ,EACR,SAAS,EACT,IAAI,GAAG,QAAQ,EACf,UAAU,GAAG,IAAI,EACjB,OAAO,OAER,EADI,IAAI,cANT,0DAOC,CADQ;IAIT,MAAM,SAAS,GAAG,KAAK,EAAE,CAAC;IAE1B,OAAO,CACL,+CACE,GAAG,EAAE,GAAG,IACJ,IAAI,IACR,SAAS,EAAE,EAAE,CACX,SAAS,EACT,qBAAqB,EACrB,wBAAwB,IAAI,EAAE,CAC/B,EACD,QAAQ,EAAE,CAAC,CAAC,eACF,QAAQ,mBACJ,KAAK,qBACF,iBAAiB,SAAS,EAAE;QAE7C,oBAAC,OAAO,IACN,SAAS,EAAC,8BAA8B,EACxC,EAAE,EAAE,UAAU,EACd,IAAI,EAAC,OAAO,EACZ,EAAE,EAAE,iBAAiB,SAAS,EAAE,IAE/B,OAAO,CACA;QACV,oBAAC,SAAS,IAAC,EAAE,EAAC,IAAI,EAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAC,2BAA2B,IACjE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YACtC,OAAO,4BAAI,GAAG,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,EAAE,IAAG,KAAK,CAAM,CAAC;QAClD,CAAC,CAAC,CACQ,CACJ,CACX,CAAC;AACJ,CAAC,CACuB,CAAC;AAE3B,YAAY,CAAC,IAAI,GAAG,gBAAgB,CAAC;AAErC,eAAe,YAAY,CAAC"}
|
package/esm/loader/Loader.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export interface LoaderProps extends SVGProps<SVGSVGElement> {
|
|
|
5
5
|
* 64px | 40px | 32px | 24px | 20px | 16px
|
|
6
6
|
* @default "medium"
|
|
7
7
|
*/
|
|
8
|
-
size?: "2xlarge" | "xlarge" | "large" | "medium" | "small" | "xsmall";
|
|
8
|
+
size?: "3xlarge" | "2xlarge" | "xlarge" | "large" | "medium" | "small" | "xsmall";
|
|
9
9
|
/**
|
|
10
10
|
* Title prop on svg
|
|
11
11
|
* @default "venter..."
|
package/esm/loader/Loader.js
CHANGED
|
@@ -19,8 +19,8 @@ export const Loader = forwardRef((_a, ref) => {
|
|
|
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),
|
|
22
|
-
React.createElement("circle", { className: "navds-loader__background", xmlns: "http://www.w3.org/2000/svg", cx: "25", cy: "25", r: "20", fill: "none"
|
|
23
|
-
React.createElement("circle", { className: "navds-loader__foreground", cx: "25", cy: "25", r: "20",
|
|
22
|
+
React.createElement("circle", { className: "navds-loader__background", xmlns: "http://www.w3.org/2000/svg", cx: "25", cy: "25", r: "20", fill: "none" }),
|
|
23
|
+
React.createElement("circle", { className: "navds-loader__foreground", cx: "25", cy: "25", r: "20", fill: "none", strokeDasharray: "50 155" })));
|
|
24
24
|
});
|
|
25
25
|
export default Loader;
|
|
26
26
|
//# sourceMappingURL=Loader.js.map
|
package/esm/loader/Loader.js.map
CHANGED
|
@@ -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;
|
|
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;AAiC3B,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAC9B,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,GACX;QACF,gCACE,SAAS,EAAC,0BAA0B,EACpC,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,IAAI,EACP,CAAC,EAAC,IAAI,EACN,IAAI,EAAC,MAAM,EACX,eAAe,EAAC,QAAQ,GACxB,CACE,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@navikt/ds-react",
|
|
3
|
-
"version": "0.19.
|
|
3
|
+
"version": "0.19.12",
|
|
4
4
|
"description": "NAV designsystem react components",
|
|
5
5
|
"author": "NAV Designsystem team",
|
|
6
6
|
"license": "MIT",
|
|
@@ -76,5 +76,5 @@
|
|
|
76
76
|
"@types/react": "^17.0.30 || ^18.0.0",
|
|
77
77
|
"react": "^17.0.0 || ^18.0.0"
|
|
78
78
|
},
|
|
79
|
-
"gitHead": "
|
|
79
|
+
"gitHead": "f47cfdcb9eccd1d9f559fb6c149fe9f535e4a3a9"
|
|
80
80
|
}
|
|
@@ -5,6 +5,15 @@ import { BodyLong, Heading as DsHeading } from "..";
|
|
|
5
5
|
export default {
|
|
6
6
|
title: "ds-react/Alert",
|
|
7
7
|
component: Alert,
|
|
8
|
+
argTypes: {
|
|
9
|
+
variant: {
|
|
10
|
+
defaultValue: "info",
|
|
11
|
+
control: {
|
|
12
|
+
type: "radio",
|
|
13
|
+
options: ["error", "warning", "info", "success"],
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
},
|
|
8
17
|
};
|
|
9
18
|
|
|
10
19
|
const variants: Array<"error" | "warning" | "info" | "success"> = [
|
|
@@ -26,7 +35,6 @@ export const Default = (props) => (
|
|
|
26
35
|
);
|
|
27
36
|
|
|
28
37
|
Default.args = {
|
|
29
|
-
variant: "info",
|
|
30
38
|
children: "Id elit esse enim reprehenderit enim nisi veniam nostrud.",
|
|
31
39
|
};
|
|
32
40
|
|
|
@@ -2,6 +2,7 @@ import React, { forwardRef, HTMLAttributes } from "react";
|
|
|
2
2
|
import cl from "classnames";
|
|
3
3
|
import { Heading, BodyShort } from "../..";
|
|
4
4
|
import ErrorSummaryItem, { ErrorSummaryItemType } from "./ErrorSummaryItem";
|
|
5
|
+
import { useId } from "../../util";
|
|
5
6
|
|
|
6
7
|
export interface ErrorSummaryProps extends HTMLAttributes<HTMLDivElement> {
|
|
7
8
|
/**
|
|
@@ -43,8 +44,10 @@ export const ErrorSummary = forwardRef<HTMLDivElement, ErrorSummaryProps>(
|
|
|
43
44
|
},
|
|
44
45
|
ref
|
|
45
46
|
) => {
|
|
47
|
+
const headingId = useId();
|
|
48
|
+
|
|
46
49
|
return (
|
|
47
|
-
<
|
|
50
|
+
<section
|
|
48
51
|
ref={ref}
|
|
49
52
|
{...rest}
|
|
50
53
|
className={cl(
|
|
@@ -53,12 +56,15 @@ export const ErrorSummary = forwardRef<HTMLDivElement, ErrorSummaryProps>(
|
|
|
53
56
|
`navds-error-summary--${size}`
|
|
54
57
|
)}
|
|
55
58
|
tabIndex={-1}
|
|
56
|
-
|
|
59
|
+
aria-live="polite"
|
|
60
|
+
aria-relevant="all"
|
|
61
|
+
aria-labelledby={`error-summary-${headingId}`}
|
|
57
62
|
>
|
|
58
63
|
<Heading
|
|
59
64
|
className="navds-error-summary__heading"
|
|
60
65
|
as={headingTag}
|
|
61
66
|
size="small"
|
|
67
|
+
id={`error-summary-${headingId}`}
|
|
62
68
|
>
|
|
63
69
|
{heading}
|
|
64
70
|
</Heading>
|
|
@@ -67,7 +73,7 @@ export const ErrorSummary = forwardRef<HTMLDivElement, ErrorSummaryProps>(
|
|
|
67
73
|
return <li key={child?.toString()}>{child}</li>;
|
|
68
74
|
})}
|
|
69
75
|
</BodyShort>
|
|
70
|
-
</
|
|
76
|
+
</section>
|
|
71
77
|
);
|
|
72
78
|
}
|
|
73
79
|
) as ErrorSummaryComponent;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { GuidePanel } from "../index";
|
|
3
|
+
import { Meta } from "@storybook/react/types-6-0";
|
|
4
|
+
export default {
|
|
5
|
+
title: "ds-react/GuidePanel",
|
|
6
|
+
component: GuidePanel,
|
|
7
|
+
} as Meta;
|
|
8
|
+
|
|
9
|
+
const panelText = `Sit sint eu dolore reprehenderit exercitation labore aute anim sit
|
|
10
|
+
adipisicing proident. Tempor ipsum ea cupidatat qui esse do veniam
|
|
11
|
+
cupidatat. Excepteur irure reprehenderit esse tempor nisi duis qui ea
|
|
12
|
+
enim id.`;
|
|
13
|
+
|
|
14
|
+
export const Default = (props) => {
|
|
15
|
+
const newProps = props?.colorOverride
|
|
16
|
+
? {
|
|
17
|
+
style: {
|
|
18
|
+
["--navds-guide-panel-color-illustration-background" as any]:
|
|
19
|
+
"var(--navds-global-color-purple-200)",
|
|
20
|
+
["--navds-guide-panel-color-border" as any]:
|
|
21
|
+
"var(--navds-global-color-purple-400)",
|
|
22
|
+
},
|
|
23
|
+
}
|
|
24
|
+
: {};
|
|
25
|
+
|
|
26
|
+
return (
|
|
27
|
+
<GuidePanel {...newProps} poster={props?.poster}>
|
|
28
|
+
{panelText}
|
|
29
|
+
</GuidePanel>
|
|
30
|
+
);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
Default.args = {
|
|
34
|
+
poster: false,
|
|
35
|
+
colorOverride: false,
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export const Poster = () => <GuidePanel poster>{panelText}</GuidePanel>;
|
|
39
|
+
|
|
40
|
+
export const ColorOverride = () => (
|
|
41
|
+
<GuidePanel
|
|
42
|
+
style={{
|
|
43
|
+
["--navds-guide-panel-color-illustration-background" as any]:
|
|
44
|
+
"var(--navds-global-color-purple-200)",
|
|
45
|
+
["--navds-guide-panel-color-border" as any]:
|
|
46
|
+
"var(--navds-global-color-purple-400)",
|
|
47
|
+
}}
|
|
48
|
+
>
|
|
49
|
+
{panelText}
|
|
50
|
+
</GuidePanel>
|
|
51
|
+
);
|
|
@@ -2,27 +2,62 @@ import React from "react";
|
|
|
2
2
|
import { TextField, HelpText } from "..";
|
|
3
3
|
|
|
4
4
|
export default {
|
|
5
|
-
title: "ds-react/
|
|
5
|
+
title: "ds-react/HelpText",
|
|
6
6
|
component: HelpText,
|
|
7
|
+
argTypes: {
|
|
8
|
+
placement: {
|
|
9
|
+
control: {
|
|
10
|
+
type: "radio",
|
|
11
|
+
options: [
|
|
12
|
+
"bottom",
|
|
13
|
+
"right",
|
|
14
|
+
"left",
|
|
15
|
+
"top-start",
|
|
16
|
+
"top-end",
|
|
17
|
+
"bottom-start",
|
|
18
|
+
"bottom-end",
|
|
19
|
+
"right-start",
|
|
20
|
+
"right-end",
|
|
21
|
+
"left-start",
|
|
22
|
+
"left-end",
|
|
23
|
+
"auto",
|
|
24
|
+
"auto-start",
|
|
25
|
+
"auto-end",
|
|
26
|
+
],
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
strategy: {
|
|
30
|
+
control: {
|
|
31
|
+
type: "radio",
|
|
32
|
+
options: ["fixed", "absolute"],
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
},
|
|
7
36
|
};
|
|
8
37
|
|
|
9
|
-
export const
|
|
38
|
+
export const Default = (props: any) => {
|
|
10
39
|
return (
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
40
|
+
<HelpText title="show tooltip" strategy="fixed" {...props}>
|
|
41
|
+
Id ullamco excepteur elit fugiat labore.
|
|
42
|
+
</HelpText>
|
|
43
|
+
);
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
Default.args = {
|
|
47
|
+
title: "show tooltip",
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
export const Inline = () => {
|
|
51
|
+
return (
|
|
52
|
+
<TextField
|
|
53
|
+
label={
|
|
54
|
+
<div style={{ display: "flex", gap: 8 }}>
|
|
55
|
+
Text field label
|
|
56
|
+
<HelpText title="show tooltip">
|
|
57
|
+
Id ullamco excepteur elit fugiat labore.
|
|
58
|
+
</HelpText>
|
|
59
|
+
</div>
|
|
60
|
+
}
|
|
61
|
+
/>
|
|
27
62
|
);
|
|
28
63
|
};
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { Add } from "@navikt/ds-icons";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { ConfirmationPanel as DsConfirmationPanel, Link } from "..";
|
|
4
|
+
import { Alert as DsAlert, BodyLong } from "../..";
|
|
5
|
+
export default {
|
|
6
|
+
title: "ds-react/Link",
|
|
7
|
+
component: Link,
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export const Default = (props) => {
|
|
11
|
+
const LinkD = () => (
|
|
12
|
+
<Link href="#">
|
|
13
|
+
{props.icon && <Add />}Ex aliqua incididunt {props.icon && <Add />}
|
|
14
|
+
</Link>
|
|
15
|
+
);
|
|
16
|
+
|
|
17
|
+
if (props.inline) {
|
|
18
|
+
return (
|
|
19
|
+
<BodyLong>
|
|
20
|
+
Incididunt laborum nisi nisi Lorem <LinkD /> in. Laborum aute fugiat
|
|
21
|
+
officia adipisicing non veniam dolor nulla non ex consectetur fugiat
|
|
22
|
+
eiusmod aute. Culpa sit aute est duis minim in in voluptate velit
|
|
23
|
+
fugiat. Laboris est id deserunt ut ea Lorem eu. Esse elit laboris aute
|
|
24
|
+
commodo sint laborum fugiat aliqua.
|
|
25
|
+
</BodyLong>
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
return <LinkD />;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
Default.args = {
|
|
32
|
+
icon: false,
|
|
33
|
+
inline: false,
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
const DemoLink = () => (
|
|
37
|
+
<Link href="#">
|
|
38
|
+
<Add aria-hidden /> Ex aliqua incididunt <Add aria-hidden />
|
|
39
|
+
</Link>
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
export const Icon = () => <DemoLink />;
|
|
43
|
+
|
|
44
|
+
export const Alert = () => {
|
|
45
|
+
return (
|
|
46
|
+
<div className="colgap">
|
|
47
|
+
<DsAlert variant="info">
|
|
48
|
+
<DemoLink />
|
|
49
|
+
</DsAlert>
|
|
50
|
+
<DsAlert variant="success">
|
|
51
|
+
<DemoLink />
|
|
52
|
+
</DsAlert>
|
|
53
|
+
<DsAlert variant="warning">
|
|
54
|
+
<DemoLink />
|
|
55
|
+
</DsAlert>
|
|
56
|
+
<DsAlert variant="error">
|
|
57
|
+
<DemoLink />
|
|
58
|
+
</DsAlert>
|
|
59
|
+
</div>
|
|
60
|
+
);
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
export const ConfirmationPanel = () => {
|
|
64
|
+
return (
|
|
65
|
+
<div className="colgap">
|
|
66
|
+
<DsConfirmationPanel label="demo">
|
|
67
|
+
<DemoLink />
|
|
68
|
+
</DsConfirmationPanel>
|
|
69
|
+
<DsConfirmationPanel checked label="demo">
|
|
70
|
+
<DemoLink />
|
|
71
|
+
</DsConfirmationPanel>
|
|
72
|
+
<DsConfirmationPanel error="demo" label="demo">
|
|
73
|
+
<DemoLink />
|
|
74
|
+
</DsConfirmationPanel>
|
|
75
|
+
</div>
|
|
76
|
+
);
|
|
77
|
+
};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Meta } from "@storybook/react/types-6-0";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { LinkPanel } from "..";
|
|
4
|
+
|
|
5
|
+
export default {
|
|
6
|
+
title: "ds-react/LinkPanel",
|
|
7
|
+
component: LinkPanel,
|
|
8
|
+
argTypes: {
|
|
9
|
+
border: {
|
|
10
|
+
control: {
|
|
11
|
+
type: "boolean",
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
} as Meta;
|
|
16
|
+
|
|
17
|
+
export const Default = (props: any) => {
|
|
18
|
+
return (
|
|
19
|
+
<LinkPanel href="#" border={props?.border}>
|
|
20
|
+
<LinkPanel.Title>
|
|
21
|
+
Consectetur eu duis aliqua eu irure fugiat fugiat eu.
|
|
22
|
+
</LinkPanel.Title>
|
|
23
|
+
{props.description && (
|
|
24
|
+
<LinkPanel.Description>
|
|
25
|
+
Aliqua id aliquip Lorem esse
|
|
26
|
+
</LinkPanel.Description>
|
|
27
|
+
)}
|
|
28
|
+
</LinkPanel>
|
|
29
|
+
);
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
Default.args = {
|
|
33
|
+
description: false,
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export const Description = () => {
|
|
37
|
+
return (
|
|
38
|
+
<LinkPanel href="#">
|
|
39
|
+
<LinkPanel.Title>
|
|
40
|
+
Consectetur eu duis aliqua eu irure fugiat fugiat eu.
|
|
41
|
+
</LinkPanel.Title>
|
|
42
|
+
<LinkPanel.Description>
|
|
43
|
+
Aliqua id aliquip Lorem esse
|
|
44
|
+
</LinkPanel.Description>
|
|
45
|
+
</LinkPanel>
|
|
46
|
+
);
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
export const NoBorder = () => {
|
|
50
|
+
return (
|
|
51
|
+
<LinkPanel href="#" border={false}>
|
|
52
|
+
<LinkPanel.Title>
|
|
53
|
+
Consectetur eu duis aliqua eu irure fugiat fugiat eu.
|
|
54
|
+
</LinkPanel.Title>
|
|
55
|
+
</LinkPanel>
|
|
56
|
+
);
|
|
57
|
+
};
|
package/src/loader/Loader.tsx
CHANGED
|
@@ -8,7 +8,14 @@ export interface LoaderProps extends SVGProps<SVGSVGElement> {
|
|
|
8
8
|
* 64px | 40px | 32px | 24px | 20px | 16px
|
|
9
9
|
* @default "medium"
|
|
10
10
|
*/
|
|
11
|
-
size?:
|
|
11
|
+
size?:
|
|
12
|
+
| "3xlarge"
|
|
13
|
+
| "2xlarge"
|
|
14
|
+
| "xlarge"
|
|
15
|
+
| "large"
|
|
16
|
+
| "medium"
|
|
17
|
+
| "small"
|
|
18
|
+
| "xsmall";
|
|
12
19
|
/**
|
|
13
20
|
* Title prop on svg
|
|
14
21
|
* @default "venter..."
|
|
@@ -68,18 +75,14 @@ export const Loader = forwardRef<SVGSVGElement, LoaderProps>(
|
|
|
68
75
|
cy="25"
|
|
69
76
|
r="20"
|
|
70
77
|
fill="none"
|
|
71
|
-
strokeWidth="5"
|
|
72
78
|
/>
|
|
73
79
|
<circle
|
|
74
80
|
className="navds-loader__foreground"
|
|
75
81
|
cx="25"
|
|
76
82
|
cy="25"
|
|
77
83
|
r="20"
|
|
78
|
-
stroke={"var(--navds-global-color-gray-400)"}
|
|
79
84
|
fill="none"
|
|
80
|
-
strokeWidth="5"
|
|
81
85
|
strokeDasharray="50 155"
|
|
82
|
-
strokeLinecap="round"
|
|
83
86
|
/>
|
|
84
87
|
</svg>
|
|
85
88
|
);
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Loader } from "..";
|
|
3
|
+
import { Meta } from "@storybook/react/types-6-0";
|
|
4
|
+
export default {
|
|
5
|
+
title: "ds-react/Loader",
|
|
6
|
+
component: Loader,
|
|
7
|
+
argTypes: {
|
|
8
|
+
size: {
|
|
9
|
+
control: {
|
|
10
|
+
type: "radio",
|
|
11
|
+
options: [
|
|
12
|
+
"3xlarge",
|
|
13
|
+
"2xlarge",
|
|
14
|
+
"xlarge",
|
|
15
|
+
"large",
|
|
16
|
+
"medium",
|
|
17
|
+
"small",
|
|
18
|
+
"xsmall",
|
|
19
|
+
],
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
variant: {
|
|
23
|
+
control: {
|
|
24
|
+
type: "radio",
|
|
25
|
+
options: ["neutral", "interaction", "inverted"],
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
} as Meta;
|
|
30
|
+
|
|
31
|
+
export const Default = (props: any) => {
|
|
32
|
+
return <Loader {...props} />;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
Default.args = {
|
|
36
|
+
transparent: false,
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
export const Size = () => (
|
|
40
|
+
<div>
|
|
41
|
+
<Loader size="3xlarge" />
|
|
42
|
+
<Loader size="2xlarge" />
|
|
43
|
+
<Loader size="xlarge" />
|
|
44
|
+
<Loader size="large" />
|
|
45
|
+
<Loader size="medium" />
|
|
46
|
+
<Loader size="small" />
|
|
47
|
+
<Loader size="xsmall" />
|
|
48
|
+
</div>
|
|
49
|
+
);
|
|
50
|
+
|
|
51
|
+
export const Variant = () => (
|
|
52
|
+
<div className="colgap">
|
|
53
|
+
<div>
|
|
54
|
+
<Loader size="3xlarge" variant="neutral" />
|
|
55
|
+
<Loader size="3xlarge" variant="inverted" />
|
|
56
|
+
<Loader size="3xlarge" variant="interaction" />
|
|
57
|
+
</div>
|
|
58
|
+
<div style={{ backgroundColor: "#292929" }}>
|
|
59
|
+
<Loader size="3xlarge" variant="neutral" />
|
|
60
|
+
<Loader size="3xlarge" variant="inverted" />
|
|
61
|
+
<Loader size="3xlarge" variant="interaction" />
|
|
62
|
+
</div>
|
|
63
|
+
</div>
|
|
64
|
+
);
|
|
65
|
+
|
|
66
|
+
export const Transparent = () => (
|
|
67
|
+
<div className="colgap">
|
|
68
|
+
<div>
|
|
69
|
+
<Loader size="3xlarge" transparent variant="neutral" />
|
|
70
|
+
<Loader size="3xlarge" transparent variant="inverted" />
|
|
71
|
+
<Loader size="3xlarge" transparent variant="interaction" />
|
|
72
|
+
</div>
|
|
73
|
+
<div style={{ backgroundColor: "#292929" }}>
|
|
74
|
+
<Loader size="3xlarge" transparent variant="neutral" />
|
|
75
|
+
<Loader size="3xlarge" transparent variant="inverted" />
|
|
76
|
+
<Loader size="3xlarge" transparent variant="interaction" />
|
|
77
|
+
</div>
|
|
78
|
+
</div>
|
|
79
|
+
);
|