@navikt/ds-react 0.8.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/accordion/Accordion.js +2 -2
- package/cjs/accordion/AccordionContent.js +5 -5
- package/cjs/accordion/AccordionHeader.js +7 -7
- package/cjs/accordion/AccordionItem.js +6 -6
- package/cjs/accordion-menu/AccordionMenu.js +2 -2
- package/cjs/accordion-menu/AccordionMenuCollapsable.js +3 -3
- package/cjs/accordion-menu/AccordionMenuItem.js +2 -2
- package/cjs/alert/Alert.js +3 -3
- package/cjs/alert/AlertContent.js +3 -3
- package/cjs/alert/AlertTitle.js +3 -3
- package/cjs/button/Button.js +2 -2
- package/cjs/card/MicroCard.js +2 -2
- package/cjs/copy-to-clipboard/CopyToClipboard.js +8 -8
- package/cjs/form/ConfirmationPanel.js +2 -2
- package/cjs/form/ErrorMessage.js +1 -1
- package/cjs/form/Fieldset/Fieldset.js +7 -7
- package/cjs/form/Fieldset/useFieldset.js +1 -1
- package/cjs/form/Select.js +6 -6
- package/cjs/form/TextField.js +6 -6
- package/cjs/form/Textarea.js +10 -10
- package/cjs/form/checkbox/Checkbox.js +4 -4
- package/cjs/form/checkbox/CheckboxGroup.js +4 -4
- package/cjs/form/checkbox/useCheckbox.js +2 -2
- package/cjs/form/error-summary/ErrorSummary.js +2 -2
- package/cjs/form/error-summary/ErrorSummaryItem.js +2 -2
- package/cjs/form/radio/Radio.js +4 -4
- package/cjs/form/radio/RadioGroup.js +4 -4
- package/cjs/form/radio/useRadio.js +2 -2
- package/cjs/form/search-field/SearchField.js +5 -5
- package/cjs/form/search-field/SearchFieldButton.js +3 -3
- package/cjs/form/search-field/SearchFieldClearButton.js +3 -3
- package/cjs/form/search-field/SearchFieldInput.js +3 -3
- package/cjs/form/useFormField.js +3 -3
- package/cjs/grid/Cell.js +2 -2
- package/cjs/grid/ContentContainer.js +2 -2
- package/cjs/grid/Grid.js +2 -2
- package/cjs/guide-panel/Guide.js +3 -3
- package/cjs/guide-panel/GuidePanel.js +2 -2
- package/cjs/help-text/HelpText.js +9 -9
- package/cjs/internal-header/InternalHeader.js +2 -2
- package/cjs/internal-header/InternalHeaderTitle.js +2 -2
- package/cjs/internal-header/InternalHeaderUser.js +2 -2
- package/cjs/link/Link.js +2 -2
- package/cjs/link-panel/LinkPanel.js +2 -2
- package/cjs/link-panel/LinkPanelDescription.js +2 -2
- package/cjs/link-panel/LinkPanelTitle.js +2 -2
- package/cjs/loader/Loader.js +3 -3
- package/cjs/modal/Modal.js +6 -6
- package/cjs/modal/ModalContent.js +2 -2
- package/cjs/page-header/PageHeader.js +2 -2
- package/cjs/panel/Panel.js +2 -2
- package/cjs/popover/Popover.js +11 -11
- package/cjs/popover/PopoverContent.js +2 -2
- package/cjs/speech-bubble/Bubble.js +2 -2
- package/cjs/speech-bubble/SpeechBubble.js +4 -2
- package/cjs/speech-bubble/index.js +1 -4
- package/cjs/tag/Tag.js +2 -2
- package/cjs/typography/BodyLong.js +2 -2
- package/cjs/typography/BodyShort.js +2 -2
- package/cjs/typography/Detail.js +2 -2
- package/cjs/typography/Heading.js +2 -2
- package/cjs/typography/Ingress.js +2 -2
- package/cjs/typography/Label.js +2 -2
- package/cjs/util/useId.js +4 -7
- package/esm/form/Textarea.js +1 -1
- package/esm/form/Textarea.js.map +1 -1
- package/esm/speech-bubble/Bubble.d.ts +2 -1
- package/esm/speech-bubble/Bubble.js.map +1 -1
- package/esm/speech-bubble/SpeechBubble.d.ts +5 -1
- package/esm/speech-bubble/SpeechBubble.js +2 -0
- package/esm/speech-bubble/SpeechBubble.js.map +1 -1
- package/esm/speech-bubble/index.d.ts +0 -2
- package/esm/speech-bubble/index.js +0 -2
- package/esm/speech-bubble/index.js.map +1 -1
- package/esm/util/useId.js +2 -2
- package/esm/util/useId.js.map +1 -1
- package/package.json +10 -10
- package/src/button/stories/button.stories.mdx +22 -16
- package/src/button/stories/button.stories.tsx +4 -4
- package/src/form/Textarea.tsx +1 -1
- package/src/speech-bubble/Bubble.tsx +5 -1
- package/src/speech-bubble/SpeechBubble.tsx +11 -1
- package/src/speech-bubble/index.ts +0 -2
- package/src/speech-bubble/stories/speechbubble.stories.mdx +45 -35
- package/src/speech-bubble/stories/speechbubble.stories.tsx +29 -21
- package/src/util/useId.ts +2 -2
package/esm/form/Textarea.js
CHANGED
|
@@ -49,7 +49,7 @@ export const Counter = ({ maxLength, currentLength, size }) => {
|
|
|
49
49
|
const difference = maxLength - currentLength;
|
|
50
50
|
return (React.createElement(BodyShort, { className: cl("navds-textarea__counter", {
|
|
51
51
|
"navds-textarea__counter--error": difference < 0,
|
|
52
|
-
}), "aria-live": "polite", size: size }, difference < 0
|
|
52
|
+
}), "aria-live": difference < 20 ? "polite" : "off", size: size }, difference < 0
|
|
53
53
|
? `Du har ${Math.abs(difference)} tegn for mye`
|
|
54
54
|
: `Du har ${difference} tegn igjen`));
|
|
55
55
|
};
|
package/esm/form/Textarea.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Textarea.js","sourceRoot":"","sources":["../../src/form/Textarea.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Textarea.js","sourceRoot":"","sources":["../../src/form/Textarea.tsx"],"names":[],"mappings":"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"}
|
|
@@ -13,5 +13,6 @@ export interface BubbleProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
13
13
|
*/
|
|
14
14
|
backgroundColor?: string;
|
|
15
15
|
}
|
|
16
|
-
declare
|
|
16
|
+
export declare type BubbleType = React.ForwardRefExoticComponent<BubbleProps & React.RefAttributes<HTMLDivElement>>;
|
|
17
|
+
declare const Bubble: BubbleType;
|
|
17
18
|
export default Bubble;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Bubble.js","sourceRoot":"","sources":["../../src/speech-bubble/Bubble.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"Bubble.js","sourceRoot":"","sources":["../../src/speech-bubble/Bubble.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,MAAM,YAAY,CAAC;AAqB5B,MAAM,MAAM,GAAe,UAAU,CACnC,CAAC,EAA0D,EAAE,GAAG,EAAE,EAAE;QAAnE,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,OAAW,EAAN,IAAI,cAAxD,uDAA0D,CAAF;IACvD,OAAO,CACL,2CACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,4BAA4B,EAC5B,SAAS,EACT,iBAAiB,CAClB,EACD,KAAK,EAAE,EAAE,eAAe,EAAE,eAAe,EAAE,EAC3C,QAAQ,EAAE,CAAC,IACP,IAAI;QAEP,OAAO,IAAI,CACV,8BAAM,SAAS,EAAC,2CAA2C,IACxD,OAAO,CACH,CACR;QACA,QAAQ,CACL,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React, { HTMLAttributes } from "react";
|
|
2
|
+
import { BubbleType } from "./Bubble";
|
|
2
3
|
export interface SpeechBubbleProps extends HTMLAttributes<HTMLDivElement> {
|
|
3
4
|
/**
|
|
4
5
|
* Children of type <Bubble />
|
|
@@ -26,5 +27,8 @@ export interface SpeechBubbleProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
26
27
|
*/
|
|
27
28
|
position?: "left" | "right";
|
|
28
29
|
}
|
|
29
|
-
|
|
30
|
+
interface SpeechBubbleComponent extends React.ForwardRefExoticComponent<SpeechBubbleProps & React.RefAttributes<HTMLDivElement>> {
|
|
31
|
+
Bubble: BubbleType;
|
|
32
|
+
}
|
|
33
|
+
declare const SpeechBubble: SpeechBubbleComponent;
|
|
30
34
|
export default SpeechBubble;
|
|
@@ -11,6 +11,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
11
11
|
};
|
|
12
12
|
import React, { forwardRef } from "react";
|
|
13
13
|
import cl from "classnames";
|
|
14
|
+
import Bubble from "./Bubble";
|
|
14
15
|
const SpeechBubble = forwardRef((_a, ref) => {
|
|
15
16
|
var { children, className, topText, illustration, position = "left", illustrationBgColor, backgroundColor } = _a, rest = __rest(_a, ["children", "className", "topText", "illustration", "position", "illustrationBgColor", "backgroundColor"]);
|
|
16
17
|
return (React.createElement("div", Object.assign({ ref: ref, className: cl("navds-speechbubble", className, `navds-speechbubble--${position}`, "navds-body-long") }, rest),
|
|
@@ -21,5 +22,6 @@ const SpeechBubble = forwardRef((_a, ref) => {
|
|
|
21
22
|
}
|
|
22
23
|
}))));
|
|
23
24
|
});
|
|
25
|
+
SpeechBubble.Bubble = Bubble;
|
|
24
26
|
export default SpeechBubble;
|
|
25
27
|
//# sourceMappingURL=SpeechBubble.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpeechBubble.js","sourceRoot":"","sources":["../../src/speech-bubble/SpeechBubble.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"SpeechBubble.js","sourceRoot":"","sources":["../../src/speech-bubble/SpeechBubble.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,MAAsB,MAAM,UAAU,CAAC;AAqC9C,MAAM,YAAY,GAAG,UAAU,CAC7B,CACE,EASC,EACD,GAAG,EACH,EAAE;QAXF,EACE,QAAQ,EACR,SAAS,EACT,OAAO,EACP,YAAY,EACZ,QAAQ,GAAG,MAAM,EACjB,mBAAmB,EACnB,eAAe,OAEhB,EADI,IAAI,cART,0GASC,CADQ;IAIT,OAAO,CACL,2CACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,oBAAoB,EACpB,SAAS,EACT,uBAAuB,QAAQ,EAAE,EACjC,iBAAiB,CAClB,IACG,IAAI;QAER,6BACE,SAAS,EAAC,kCAAkC,EAC5C,KAAK,EAAE,EAAE,eAAe,EAAE,mBAAmB,EAAE,IAE9C,YAAY,CACT;QACN,4BAAI,SAAS,EAAC,iCAAiC,IAC5C,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YACzC,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;gBAC/B,OAAO,CACL,gCACG,KAAK,CAAC,YAAY,CAAC,KAAK,kBACvB,OAAO,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EACjD,eAAe,IACZ,KAAK,CAAC,KAAK,EACd,CACC,CACN,CAAC;aACH;QACH,CAAC,CAAC,CACC,CACD,CACP,CAAC;AACJ,CAAC,CACuB,CAAC;AAE3B,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC;AAE7B,eAAe,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/speech-bubble/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,cAAc,gBAAgB,CAAC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/speech-bubble/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,cAAc,gBAAgB,CAAC"}
|
package/esm/util/useId.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useLayoutEffect, useState } from "react";
|
|
2
|
-
import
|
|
2
|
+
import { v4 as uuidv4 } from "uuid";
|
|
3
3
|
const canUseDOM = () => {
|
|
4
4
|
return (typeof window !== "undefined" &&
|
|
5
5
|
typeof window.document !== "undefined" &&
|
|
@@ -10,7 +10,7 @@ export const useId = (id) => {
|
|
|
10
10
|
var _a;
|
|
11
11
|
const [newId, setNewId] = useState(undefined);
|
|
12
12
|
useClientLayoutEffect(() => {
|
|
13
|
-
setNewId(
|
|
13
|
+
setNewId(uuidv4());
|
|
14
14
|
}, []);
|
|
15
15
|
return (_a = id !== null && id !== void 0 ? id : newId) !== null && _a !== void 0 ? _a : "";
|
|
16
16
|
};
|
package/esm/util/useId.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useId.js","sourceRoot":"","sources":["../../src/util/useId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,
|
|
1
|
+
{"version":3,"file":"useId.js","sourceRoot":"","sources":["../../src/util/useId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,MAAM,SAAS,GAAG,GAAY,EAAE;IAC9B,OAAO,CACL,OAAO,MAAM,KAAK,WAAW;QAC7B,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW;QACtC,OAAO,MAAM,CAAC,QAAQ,CAAC,aAAa,KAAK,WAAW,CACrD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;AAE9E,MAAM,CAAC,MAAM,KAAK,GAA4B,CAAC,EAAE,EAAE,EAAE;;IACnD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAqB,SAAS,CAAC,CAAC;IAElE,qBAAqB,CAAC,GAAG,EAAE;QACzB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACrB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,MAAA,EAAE,aAAF,EAAE,cAAF,EAAE,GAAI,KAAK,mCAAI,EAAE,CAAC;AAC3B,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@navikt/ds-react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "NAV designsystem react components",
|
|
6
6
|
"author": "NAV Designsystem team",
|
|
@@ -33,27 +33,27 @@
|
|
|
33
33
|
"watch": "tsc --watch -p tsconfig-esm.json"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@material-ui/core": "^4.12.
|
|
37
|
-
"@navikt/ds-icons": "^0.5.
|
|
38
|
-
"@popperjs/core": "^2.
|
|
36
|
+
"@material-ui/core": "^4.12.3",
|
|
37
|
+
"@navikt/ds-icons": "^0.5.3",
|
|
38
|
+
"@popperjs/core": "^2.10.1",
|
|
39
39
|
"classnames": "^2.2.6",
|
|
40
40
|
"copy-to-clipboard": "^3.3.1",
|
|
41
41
|
"react-collapse": "^5.1.0",
|
|
42
42
|
"react-merge-refs": "^1.1.0",
|
|
43
|
-
"react-modal": "3.
|
|
44
|
-
"react-popper": "^2.2.
|
|
45
|
-
"
|
|
43
|
+
"react-modal": "3.14.3",
|
|
44
|
+
"react-popper": "^2.2.5",
|
|
45
|
+
"uuid": "^8.3.2"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
|
-
"@types/react-router-dom": "^5.1.
|
|
48
|
+
"@types/react-router-dom": "^5.1.9",
|
|
49
49
|
"@types/styled-components": "^5.1.14",
|
|
50
50
|
"copyfiles": "^2.4.1",
|
|
51
|
-
"react-router-dom": "^5.
|
|
51
|
+
"react-router-dom": "^5.3.0",
|
|
52
52
|
"rimraf": "3.0.2",
|
|
53
53
|
"styled-components": "^5.3.1"
|
|
54
54
|
},
|
|
55
55
|
"peerDependencies": {
|
|
56
56
|
"react": "^16.8.0 || ^17.0.0"
|
|
57
57
|
},
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "e7660412bcd11dcc44a851b2b0a8414fed8513ff"
|
|
59
59
|
}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { Meta, Canvas } from "@storybook/addon-docs";
|
|
2
2
|
import { Button, Loader } from "../../index";
|
|
3
|
-
import { Success } from "@navikt/ds-
|
|
3
|
+
import { Success } from "@navikt/ds-icons";
|
|
4
4
|
|
|
5
5
|
<Meta title="ds-react/button/intro" />
|
|
6
6
|
|
|
7
7
|
# Hvordan ta i bruk Button
|
|
8
8
|
|
|
9
9
|
```jsx
|
|
10
|
-
<Button>
|
|
10
|
+
<Button>Button</Button>
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
<Canvas>
|
|
14
|
-
<Button>
|
|
14
|
+
<Button>Button</Button>
|
|
15
15
|
</Canvas>
|
|
16
16
|
|
|
17
17
|
## Varianter
|
|
@@ -20,10 +20,10 @@ import { Success } from "@navikt/ds-react";
|
|
|
20
20
|
`primary`, `secondary`, `tertiary` og `danger`
|
|
21
21
|
|
|
22
22
|
<Canvas>
|
|
23
|
-
<Button variant="primary">
|
|
24
|
-
<Button variant="secondary">
|
|
25
|
-
<Button variant="tertiary">
|
|
26
|
-
<Button variant="danger">
|
|
23
|
+
<Button variant="primary">Primary</Button>
|
|
24
|
+
<Button variant="secondary">Secondary</Button>
|
|
25
|
+
<Button variant="tertiary">Tertiary</Button>
|
|
26
|
+
<Button variant="danger">Danger</Button>
|
|
27
27
|
</Canvas>
|
|
28
28
|
|
|
29
29
|
## Sizing
|
|
@@ -32,33 +32,39 @@ Button har to størrelser: Default 48px min-height og small 32px min-height
|
|
|
32
32
|
|
|
33
33
|
<Canvas>
|
|
34
34
|
<Button size="small" variant="primary">
|
|
35
|
-
|
|
35
|
+
Primary
|
|
36
36
|
</Button>
|
|
37
37
|
<Button size="small" variant="secondary">
|
|
38
|
-
|
|
38
|
+
Secondary
|
|
39
39
|
</Button>
|
|
40
40
|
<Button size="small" variant="tertiary">
|
|
41
|
-
|
|
41
|
+
Tertiary
|
|
42
42
|
</Button>
|
|
43
43
|
<Button size="small" variant="danger">
|
|
44
|
-
|
|
44
|
+
Danger
|
|
45
45
|
</Button>
|
|
46
46
|
</Canvas>
|
|
47
47
|
|
|
48
48
|
## Med ikon eller `<Loader />`
|
|
49
49
|
|
|
50
50
|
Hvis man setter ikoner (svg) eller `<Loader />` rett på button vil størrelsen
|
|
51
|
-
bli justert automatisk.
|
|
51
|
+
bli justert automatisk og sentrert.
|
|
52
52
|
|
|
53
53
|
<Canvas>
|
|
54
54
|
<Button>
|
|
55
|
-
<Loader />
|
|
55
|
+
<Loader /> Laster... <Loader />
|
|
56
|
+
</Button>
|
|
57
|
+
<Button size="small">
|
|
58
|
+
<Loader />
|
|
59
|
+
Laster...
|
|
60
|
+
<Loader />
|
|
56
61
|
</Button>
|
|
57
62
|
<Button>
|
|
58
|
-
|
|
63
|
+
<Success /> Laster... <Success />
|
|
59
64
|
</Button>
|
|
60
65
|
<Button size="small">
|
|
61
|
-
|
|
62
|
-
|
|
66
|
+
<Success />
|
|
67
|
+
Laster...
|
|
68
|
+
<Success />
|
|
63
69
|
</Button>
|
|
64
70
|
</Canvas>
|
|
@@ -10,12 +10,12 @@ export default {
|
|
|
10
10
|
const Section = ({ children }) => (
|
|
11
11
|
<div
|
|
12
12
|
style={{
|
|
13
|
-
display: "
|
|
13
|
+
display: "flex",
|
|
14
14
|
gap: 16,
|
|
15
15
|
gridAutoFlow: "column",
|
|
16
16
|
justifyContent: "start",
|
|
17
17
|
padding: 24,
|
|
18
|
-
|
|
18
|
+
paddingLeft: 0,
|
|
19
19
|
}}
|
|
20
20
|
>
|
|
21
21
|
{children}
|
|
@@ -38,7 +38,7 @@ const varSwitch = {
|
|
|
38
38
|
|
|
39
39
|
export const All = () => {
|
|
40
40
|
return (
|
|
41
|
-
|
|
41
|
+
<div style={{ paddingLeft: "1rem" }}>
|
|
42
42
|
<h1>Button</h1>
|
|
43
43
|
<Section>
|
|
44
44
|
{variants.map((variant) => (
|
|
@@ -103,6 +103,6 @@ export const All = () => {
|
|
|
103
103
|
</Button>
|
|
104
104
|
))}
|
|
105
105
|
</Section>
|
|
106
|
-
|
|
106
|
+
</div>
|
|
107
107
|
);
|
|
108
108
|
};
|
package/src/form/Textarea.tsx
CHANGED
|
@@ -140,7 +140,7 @@ export const Counter = ({ maxLength, currentLength, size }) => {
|
|
|
140
140
|
className={cl("navds-textarea__counter", {
|
|
141
141
|
"navds-textarea__counter--error": difference < 0,
|
|
142
142
|
})}
|
|
143
|
-
aria-live="polite"
|
|
143
|
+
aria-live={difference < 20 ? "polite" : "off"}
|
|
144
144
|
size={size}
|
|
145
145
|
>
|
|
146
146
|
{difference < 0
|
|
@@ -16,7 +16,11 @@ export interface BubbleProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
16
16
|
backgroundColor?: string;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
export type BubbleType = React.ForwardRefExoticComponent<
|
|
20
|
+
BubbleProps & React.RefAttributes<HTMLDivElement>
|
|
21
|
+
>;
|
|
22
|
+
|
|
23
|
+
const Bubble: BubbleType = forwardRef(
|
|
20
24
|
({ children, className, topText, backgroundColor, ...rest }, ref) => {
|
|
21
25
|
return (
|
|
22
26
|
<div
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React, { forwardRef, HTMLAttributes } from "react";
|
|
2
2
|
import cl from "classnames";
|
|
3
|
+
import Bubble, { BubbleType } from "./Bubble";
|
|
3
4
|
|
|
4
5
|
export interface SpeechBubbleProps extends HTMLAttributes<HTMLDivElement> {
|
|
5
6
|
/**
|
|
@@ -29,6 +30,13 @@ export interface SpeechBubbleProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
29
30
|
position?: "left" | "right";
|
|
30
31
|
}
|
|
31
32
|
|
|
33
|
+
interface SpeechBubbleComponent
|
|
34
|
+
extends React.ForwardRefExoticComponent<
|
|
35
|
+
SpeechBubbleProps & React.RefAttributes<HTMLDivElement>
|
|
36
|
+
> {
|
|
37
|
+
Bubble: BubbleType;
|
|
38
|
+
}
|
|
39
|
+
|
|
32
40
|
const SpeechBubble = forwardRef<HTMLDivElement, SpeechBubbleProps>(
|
|
33
41
|
(
|
|
34
42
|
{
|
|
@@ -78,6 +86,8 @@ const SpeechBubble = forwardRef<HTMLDivElement, SpeechBubbleProps>(
|
|
|
78
86
|
</div>
|
|
79
87
|
);
|
|
80
88
|
}
|
|
81
|
-
);
|
|
89
|
+
) as SpeechBubbleComponent;
|
|
90
|
+
|
|
91
|
+
SpeechBubble.Bubble = Bubble;
|
|
82
92
|
|
|
83
93
|
export default SpeechBubble;
|
|
@@ -11,27 +11,31 @@ breaking-changes før v1 er klar. Anbefaler da å ikke override styling som er b
|
|
|
11
11
|
|
|
12
12
|
```jsx
|
|
13
13
|
<SpeechBubble illustration="OLA" topText="Ola Normann 01.01.21 14:00">
|
|
14
|
-
<Bubble>
|
|
14
|
+
<SpeechBubble.Bubble>
|
|
15
15
|
Aute minim nisi sunt mollit duis sunt nulla minim non proident.
|
|
16
|
-
</Bubble>
|
|
17
|
-
<Bubble>
|
|
18
|
-
|
|
16
|
+
</SpeechBubble.Bubble>
|
|
17
|
+
<SpeechBubble.Bubble>
|
|
18
|
+
Tempor fugiat amet eu sint in in ullamco.
|
|
19
|
+
</SpeechBubble.Bubble>
|
|
20
|
+
<SpeechBubble.Bubble>
|
|
19
21
|
Adipisicing laborum est eu laborum est sit in commodo enim sint laboris
|
|
20
22
|
labore nisi ut.
|
|
21
|
-
</Bubble>
|
|
23
|
+
</SpeechBubble.Bubble>
|
|
22
24
|
</SpeechBubble>
|
|
23
25
|
```
|
|
24
26
|
|
|
25
27
|
<Canvas>
|
|
26
28
|
<SpeechBubble illustration="OLA" topText="Ola Normann 01.01.21 14:00">
|
|
27
|
-
<Bubble>
|
|
29
|
+
<SpeechBubble.Bubble>
|
|
28
30
|
Aute minim nisi sunt mollit duis sunt nulla minim non proident.
|
|
29
|
-
</Bubble>
|
|
30
|
-
<Bubble>
|
|
31
|
-
|
|
31
|
+
</SpeechBubble.Bubble>
|
|
32
|
+
<SpeechBubble.Bubble>
|
|
33
|
+
Tempor fugiat amet eu sint in in ullamco.
|
|
34
|
+
</SpeechBubble.Bubble>
|
|
35
|
+
<SpeechBubble.Bubble>
|
|
32
36
|
Adipisicing laborum est eu laborum est sit in commodo enim sint laboris
|
|
33
37
|
labore nisi ut.
|
|
34
|
-
</Bubble>
|
|
38
|
+
</SpeechBubble.Bubble>
|
|
35
39
|
</SpeechBubble>
|
|
36
40
|
</Canvas>
|
|
37
41
|
|
|
@@ -41,27 +45,29 @@ Speechbubble kan bli posisjonert "left" og "right" med `position`-proppen
|
|
|
41
45
|
|
|
42
46
|
```jsx
|
|
43
47
|
<SpeechBubble illustration="OLA" position="left">
|
|
44
|
-
<Bubble>
|
|
48
|
+
<SpeechBubble.Bubble>
|
|
45
49
|
Aute minim nisi sunt mollit duis sunt nulla minim non proident.
|
|
46
|
-
</Bubble>
|
|
50
|
+
</SpeechBubble.Bubble>
|
|
47
51
|
</SpeechBubble>
|
|
48
52
|
<SpeechBubble illustration="OLA" position="right">
|
|
49
|
-
<Bubble>
|
|
53
|
+
<SpeechBubble.Bubble>
|
|
50
54
|
Aute minim nisi sunt mollit duis sunt nulla minim non proident.
|
|
51
|
-
</Bubble>
|
|
55
|
+
</SpeechBubble.Bubble>
|
|
52
56
|
</SpeechBubble>
|
|
53
57
|
```
|
|
54
58
|
|
|
55
59
|
<Canvas>
|
|
56
60
|
<div>
|
|
57
61
|
<SpeechBubble illustration="OLA" position="left">
|
|
58
|
-
<Bubble>
|
|
62
|
+
<SpeechBubble.Bubble>
|
|
59
63
|
Aute minim nisi sunt mollit duis sunt nulla minim non proident.
|
|
60
|
-
</Bubble>
|
|
64
|
+
</SpeechBubble.Bubble>
|
|
61
65
|
</SpeechBubble>
|
|
62
66
|
<br />
|
|
63
67
|
<SpeechBubble illustration="PER" position="right">
|
|
64
|
-
<Bubble>
|
|
68
|
+
<SpeechBubble.Bubble>
|
|
69
|
+
Ipsum laborum culpa ea ea commodo eiusmod in aute.
|
|
70
|
+
</SpeechBubble.Bubble>
|
|
65
71
|
</SpeechBubble>
|
|
66
72
|
</div>
|
|
67
73
|
</Canvas>
|
|
@@ -77,9 +83,9 @@ Man kan endre bakgrunnsfargen selv med `illustrationBgColor` og `backgroundColor
|
|
|
77
83
|
illustrationBgColor="var(--navds-color-lightblue-10)"
|
|
78
84
|
backgroundColor="var(--navds-color-lightblue-20)"
|
|
79
85
|
>
|
|
80
|
-
<Bubble>
|
|
86
|
+
<SpeechBubble.Bubble>
|
|
81
87
|
Aute minim nisi sunt mollit duis sunt nulla minim non proident.
|
|
82
|
-
</Bubble>
|
|
88
|
+
</SpeechBubble.Bubble>
|
|
83
89
|
</SpeechBubble>
|
|
84
90
|
```
|
|
85
91
|
|
|
@@ -90,9 +96,9 @@ Man kan endre bakgrunnsfargen selv med `illustrationBgColor` og `backgroundColor
|
|
|
90
96
|
illustrationBgColor="var(--navds-color-lightblue-10)"
|
|
91
97
|
backgroundColor="var(--navds-color-lightblue-20)"
|
|
92
98
|
>
|
|
93
|
-
<Bubble>
|
|
99
|
+
<SpeechBubble.Bubble>
|
|
94
100
|
Aute minim nisi sunt mollit duis sunt nulla minim non proident.
|
|
95
|
-
</Bubble>
|
|
101
|
+
</SpeechBubble.Bubble>
|
|
96
102
|
</SpeechBubble>
|
|
97
103
|
</Canvas>
|
|
98
104
|
|
|
@@ -103,17 +109,17 @@ Hvis man bruker en illustrasjon i SVG-fromat vil den fungere likt `nav-frontend-
|
|
|
103
109
|
|
|
104
110
|
```jsx
|
|
105
111
|
<SpeechBubble illustration={<Illustration />} position="left">
|
|
106
|
-
<Bubble>
|
|
112
|
+
<SpeechBubble.Bubble>
|
|
107
113
|
Aute minim nisi sunt mollit duis sunt nulla minim non proident.
|
|
108
|
-
</Bubble>
|
|
114
|
+
</SpeechBubble.Bubble>
|
|
109
115
|
</SpeechBubble>
|
|
110
116
|
```
|
|
111
117
|
|
|
112
118
|
<Canvas>
|
|
113
119
|
<SpeechBubble illustration={<Illustration />} position="left">
|
|
114
|
-
<Bubble>
|
|
120
|
+
<SpeechBubble.Bubble>
|
|
115
121
|
Aute minim nisi sunt mollit duis sunt nulla minim non proident.
|
|
116
|
-
</Bubble>
|
|
122
|
+
</SpeechBubble.Bubble>
|
|
117
123
|
</SpeechBubble>
|
|
118
124
|
</Canvas>
|
|
119
125
|
|
|
@@ -136,14 +142,16 @@ Hvis man bruker en illustrasjon i SVG-fromat vil den fungere likt `nav-frontend-
|
|
|
136
142
|
</div>
|
|
137
143
|
}
|
|
138
144
|
>
|
|
139
|
-
<Bubble>
|
|
145
|
+
<SpeechBubble.Bubble>
|
|
140
146
|
Aute minim nisi sunt mollit duis sunt nulla minim non proident.
|
|
141
|
-
</Bubble>
|
|
142
|
-
<Bubble>
|
|
143
|
-
|
|
147
|
+
</SpeechBubble.Bubble>
|
|
148
|
+
<SpeechBubble.Bubble>
|
|
149
|
+
Tempor fugiat amet eu sint in in ullamco.
|
|
150
|
+
</SpeechBubble.Bubble>
|
|
151
|
+
<SpeechBubble.Bubble>
|
|
144
152
|
Adipisicing laborum est eu laborum est sit in commodo enim sint laboris
|
|
145
153
|
labore nisi ut.
|
|
146
|
-
</Bubble>
|
|
154
|
+
</SpeechBubble.Bubble>
|
|
147
155
|
</SpeechBubble>
|
|
148
156
|
```
|
|
149
157
|
|
|
@@ -162,13 +170,15 @@ Hvis man bruker en illustrasjon i SVG-fromat vil den fungere likt `nav-frontend-
|
|
|
162
170
|
</div>
|
|
163
171
|
}
|
|
164
172
|
>
|
|
165
|
-
<Bubble>
|
|
173
|
+
<SpeechBubble.Bubble>
|
|
166
174
|
Aute minim nisi sunt mollit duis sunt nulla minim non proident.
|
|
167
|
-
</Bubble>
|
|
168
|
-
<Bubble>
|
|
169
|
-
|
|
175
|
+
</SpeechBubble.Bubble>
|
|
176
|
+
<SpeechBubble.Bubble>
|
|
177
|
+
Tempor fugiat amet eu sint in in ullamco.
|
|
178
|
+
</SpeechBubble.Bubble>
|
|
179
|
+
<SpeechBubble.Bubble>
|
|
170
180
|
Adipisicing laborum est eu laborum est sit in commodo enim sint laboris
|
|
171
181
|
labore nisi ut.
|
|
172
|
-
</Bubble>
|
|
182
|
+
</SpeechBubble.Bubble>
|
|
173
183
|
</SpeechBubble>
|
|
174
184
|
</Canvas>
|
|
@@ -17,14 +17,16 @@ export const All = () => {
|
|
|
17
17
|
topText="Ola Normann 01.01.21 14:00"
|
|
18
18
|
backgroundColor="var(--navds-color-lightblue-20)"
|
|
19
19
|
>
|
|
20
|
-
<Bubble>
|
|
20
|
+
<SpeechBubble.Bubble>
|
|
21
21
|
Aute minim nisi sunt mollit duis sunt nulla minim non proident.
|
|
22
|
-
</Bubble>
|
|
23
|
-
<Bubble>
|
|
24
|
-
|
|
22
|
+
</SpeechBubble.Bubble>
|
|
23
|
+
<SpeechBubble.Bubble>
|
|
24
|
+
Tempor fugiat amet eu sint in in ullamco.
|
|
25
|
+
</SpeechBubble.Bubble>
|
|
26
|
+
<SpeechBubble.Bubble>
|
|
25
27
|
Adipisicing laborum est eu laborum est sit in commodo enim sint
|
|
26
28
|
laboris labore nisi ut.
|
|
27
|
-
</Bubble>
|
|
29
|
+
</SpeechBubble.Bubble>
|
|
28
30
|
</SpeechBubble>
|
|
29
31
|
<SpeechBubble
|
|
30
32
|
illustration={<div>KAJ</div>}
|
|
@@ -43,54 +45,60 @@ export const All = () => {
|
|
|
43
45
|
position="right"
|
|
44
46
|
backgroundColor="var(--navds-color-gray-10)"
|
|
45
47
|
>
|
|
46
|
-
<Bubble>
|
|
48
|
+
<SpeechBubble.Bubble>
|
|
47
49
|
Aute minim nisi sunt mollit duis sunt nulla minim non proident.
|
|
48
|
-
</Bubble>
|
|
49
|
-
<Bubble>
|
|
50
|
-
|
|
50
|
+
</SpeechBubble.Bubble>
|
|
51
|
+
<SpeechBubble.Bubble>
|
|
52
|
+
Tempor fugiat amet eu sint in in ullamco.
|
|
53
|
+
</SpeechBubble.Bubble>
|
|
54
|
+
<SpeechBubble.Bubble>
|
|
51
55
|
Adipisicing laborum est eu laborum est sit in commodo enim sint
|
|
52
56
|
laboris labore nisi ut.
|
|
53
|
-
</Bubble>
|
|
57
|
+
</SpeechBubble.Bubble>
|
|
54
58
|
</SpeechBubble>
|
|
55
59
|
<SpeechBubble
|
|
56
60
|
illustration={<div>KAJ</div>}
|
|
57
61
|
topText="Ola Normann 01.01.21 14:00"
|
|
58
62
|
position="left"
|
|
59
63
|
>
|
|
60
|
-
<Bubble>
|
|
64
|
+
<SpeechBubble.Bubble>
|
|
61
65
|
Aute minim nisi sunt mollit duis sunt nulla minim non proident.
|
|
62
|
-
</Bubble>
|
|
63
|
-
<Bubble>
|
|
64
|
-
|
|
66
|
+
</SpeechBubble.Bubble>
|
|
67
|
+
<SpeechBubble.Bubble>
|
|
68
|
+
Tempor fugiat amet eu sint in in ullamco.
|
|
69
|
+
</SpeechBubble.Bubble>
|
|
70
|
+
<SpeechBubble.Bubble>
|
|
65
71
|
Adipisicing laborum est eu laborum est sit in commodo enim sint
|
|
66
72
|
laboris labore nisi ut.
|
|
67
|
-
</Bubble>
|
|
73
|
+
</SpeechBubble.Bubble>
|
|
68
74
|
</SpeechBubble>
|
|
69
75
|
<SpeechBubble
|
|
70
76
|
illustration={<div>KAJ</div>}
|
|
71
77
|
topText="Ola Normann 01.01.21 14:00"
|
|
72
78
|
position="right"
|
|
73
79
|
>
|
|
74
|
-
<Bubble>
|
|
80
|
+
<SpeechBubble.Bubble>
|
|
75
81
|
Aute minim nisi sunt mollit duis sunt nulla minim non proident.
|
|
76
|
-
</Bubble>
|
|
77
|
-
<Bubble>
|
|
82
|
+
</SpeechBubble.Bubble>
|
|
83
|
+
<SpeechBubble.Bubble>
|
|
84
|
+
Tempor fugiat amet eu sint in in ullamco.
|
|
85
|
+
</SpeechBubble.Bubble>
|
|
78
86
|
</SpeechBubble>
|
|
79
87
|
<SpeechBubble
|
|
80
88
|
illustration={<div>KAJ</div>}
|
|
81
89
|
topText="Ola Normann 01.01.21 14:00"
|
|
82
90
|
position="left"
|
|
83
91
|
>
|
|
84
|
-
<Bubble>
|
|
92
|
+
<SpeechBubble.Bubble>
|
|
85
93
|
Aute minim nisi sunt mollit duis sunt nulla minim non proident.
|
|
86
|
-
</Bubble>
|
|
94
|
+
</SpeechBubble.Bubble>
|
|
87
95
|
</SpeechBubble>
|
|
88
96
|
<SpeechBubble
|
|
89
97
|
illustration={<div>KAJ</div>}
|
|
90
98
|
topText="Ola Normann 01.01.21 14:00"
|
|
91
99
|
position="right"
|
|
92
100
|
>
|
|
93
|
-
<Bubble>Per skriver....</Bubble>
|
|
101
|
+
<SpeechBubble.Bubble>Per skriver....</SpeechBubble.Bubble>
|
|
94
102
|
</SpeechBubble>
|
|
95
103
|
</div>
|
|
96
104
|
);
|
package/src/util/useId.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useLayoutEffect, useState } from "react";
|
|
2
|
-
import
|
|
2
|
+
import { v4 as uuidv4 } from "uuid";
|
|
3
3
|
|
|
4
4
|
const canUseDOM = (): boolean => {
|
|
5
5
|
return (
|
|
@@ -15,7 +15,7 @@ export const useId: (id?: string) => string = (id) => {
|
|
|
15
15
|
const [newId, setNewId] = useState<string | undefined>(undefined);
|
|
16
16
|
|
|
17
17
|
useClientLayoutEffect(() => {
|
|
18
|
-
setNewId(
|
|
18
|
+
setNewId(uuidv4());
|
|
19
19
|
}, []);
|
|
20
20
|
|
|
21
21
|
return id ?? newId ?? "";
|