@navikt/ds-react 4.1.6 → 4.2.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/_docs.json +87 -7
- package/cjs/chat/Bubble.js +4 -3
- package/cjs/chat/Chat.js +13 -10
- package/cjs/help-text/HelpText.js +2 -2
- package/cjs/timeline/Pin.js +4 -10
- package/cjs/timeline/TimelineRow.js +1 -1
- package/cjs/timeline/period/ClickablePeriod.js +4 -10
- package/esm/chat/Bubble.d.ts +1 -0
- package/esm/chat/Bubble.js +4 -3
- package/esm/chat/Bubble.js.map +1 -1
- package/esm/chat/Chat.d.ts +29 -13
- package/esm/chat/Chat.js +13 -10
- package/esm/chat/Chat.js.map +1 -1
- package/esm/form/error-summary/ErrorSummary.d.ts +12 -0
- package/esm/form/error-summary/ErrorSummary.js.map +1 -1
- package/esm/form/error-summary/ErrorSummaryItem.d.ts +4 -0
- package/esm/form/error-summary/ErrorSummaryItem.js.map +1 -1
- package/esm/help-text/HelpText.d.ts +4 -0
- package/esm/help-text/HelpText.js +2 -2
- package/esm/help-text/HelpText.js.map +1 -1
- package/esm/timeline/Pin.js +5 -11
- package/esm/timeline/Pin.js.map +1 -1
- package/esm/timeline/TimelineRow.js +1 -1
- package/esm/timeline/TimelineRow.js.map +1 -1
- package/esm/timeline/period/ClickablePeriod.js +5 -11
- package/esm/timeline/period/ClickablePeriod.js.map +1 -1
- package/package.json +2 -2
- package/src/chat/Bubble.tsx +9 -5
- package/src/chat/Chat.tsx +70 -52
- package/src/chat/chat.stories.tsx +148 -126
- package/src/form/error-summary/ErrorSummary.tsx +12 -0
- package/src/form/error-summary/ErrorSummaryItem.tsx +4 -0
- package/src/help-text/HelpText.tsx +6 -1
- package/src/help-text/help-text.stories.tsx +34 -1
- package/src/timeline/Pin.tsx +6 -25
- package/src/timeline/TimelineRow.tsx +1 -0
- package/src/timeline/period/ClickablePeriod.tsx +6 -19
package/esm/timeline/Pin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pin.js","sourceRoot":"","sources":["../../src/timeline/Pin.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EACL,UAAU,EACV,KAAK,IAAI,OAAO,EAChB,IAAI,EACJ,MAAM,EACN,WAAW,EACX,KAAK,EACL,UAAU,EACV,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Pin.js","sourceRoot":"","sources":["../../src/timeline/Pin.tsx"],"names":[],"mappings":"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"}
|
|
@@ -35,7 +35,7 @@ export const TimelineRow = forwardRef((_a, ref) => {
|
|
|
35
35
|
React.createElement("div", { className: cl("navds-timeline__row", {
|
|
36
36
|
"navds-timeline__row--active": active,
|
|
37
37
|
}) },
|
|
38
|
-
React.createElement("ol", Object.assign({}, rest, { ref: ref, "aria-label": periods.length === 0
|
|
38
|
+
React.createElement("ol", Object.assign({}, rest, { tabIndex: -1, ref: ref, "aria-label": periods.length === 0
|
|
39
39
|
? "Ingen perioder"
|
|
40
40
|
: `${format(earliest.start, "dd.MM.yyyy")} til ${format(latest.end, "dd.MM.yyyy")}`, className: cl("navds-timeline__row-periods", className), onKeyDown: (e) => {
|
|
41
41
|
if (e.key === "ArrowDown" || e.key === "ArrowUp") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimelineRow.js","sourceRoot":"","sources":["../../src/timeline/TimelineRow.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TimelineRow.js","sourceRoot":"","sources":["../../src/timeline/TimelineRow.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { autoUpdate, arrow as flArrow, flip, offset, safePolygon, shift, useDismiss, useFloating, useFocus, useHover, useInteractions, } from "@floating-ui/react";
|
|
2
|
-
import { useEventListener, mergeRefs } from "../../util";
|
|
3
2
|
import cl from "clsx";
|
|
4
|
-
import React, {
|
|
3
|
+
import React, { useMemo, useRef, useState } from "react";
|
|
4
|
+
import { mergeRefs } from "../../util";
|
|
5
5
|
import { usePeriodContext } from "../hooks/usePeriodContext";
|
|
6
6
|
import { useRowContext } from "../hooks/useRowContext";
|
|
7
7
|
import { useTimelineContext } from "../hooks/useTimelineContext";
|
|
@@ -34,15 +34,6 @@ const ClickablePeriod = React.memo(({ onSelectPeriod, start, end, status, croppe
|
|
|
34
34
|
useDismiss(context),
|
|
35
35
|
]);
|
|
36
36
|
const mergedRef = useMemo(() => mergeRefs([refs.setReference, periodRef]), [periodRef, refs.setReference]);
|
|
37
|
-
useEventListener("focusin", useCallback((e) => {
|
|
38
|
-
var _a;
|
|
39
|
-
if (![
|
|
40
|
-
refs.reference.current,
|
|
41
|
-
(_a = refs === null || refs === void 0 ? void 0 : refs.floating) === null || _a === void 0 ? void 0 : _a.current,
|
|
42
|
-
].some((element) => element === null || element === void 0 ? void 0 : element.contains(e.target))) {
|
|
43
|
-
open && setOpen(false);
|
|
44
|
-
}
|
|
45
|
-
}, [open, refs.reference, refs === null || refs === void 0 ? void 0 : refs.floating]));
|
|
46
37
|
const staticSide = {
|
|
47
38
|
top: "bottom",
|
|
48
39
|
right: "left",
|
|
@@ -86,6 +77,9 @@ const ClickablePeriod = React.memo(({ onSelectPeriod, start, end, status, croppe
|
|
|
86
77
|
React.createElement("span", { className: "navds-timeline__period--inner" }, icon)),
|
|
87
78
|
children && (React.createElement("div", Object.assign({ className: "navds-timeline__popover", "data-placement": placement, "aria-hidden": !open, ref: refs.setFloating }, getFloatingProps({
|
|
88
79
|
tabIndex: -1,
|
|
80
|
+
onBlur: (e) => e.target.previousSibling !== document.activeElement &&
|
|
81
|
+
open &&
|
|
82
|
+
setOpen(false),
|
|
89
83
|
}), { style: Object.assign(Object.assign({}, floatingStyles), { display: open ? undefined : "none" }) }),
|
|
90
84
|
React.createElement("div", { className: "navds-timeline__popover-content" }, children),
|
|
91
85
|
React.createElement("div", { ref: (node) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClickablePeriod.js","sourceRoot":"","sources":["../../../src/timeline/period/ClickablePeriod.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,KAAK,IAAI,OAAO,EAChB,IAAI,EACJ,MAAM,EACN,WAAW,EACX,KAAK,EACL,UAAU,EACV,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ClickablePeriod.js","sourceRoot":"","sources":["../../../src/timeline/period/ClickablePeriod.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@navikt/ds-react",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.2.0",
|
|
4
4
|
"description": "Aksel react-components for NAV designsystem",
|
|
5
5
|
"author": "Aksel | NAV designsystem team",
|
|
6
6
|
"license": "MIT",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
40
|
"@floating-ui/react": "0.24.1",
|
|
41
|
-
"@navikt/aksel-icons": "^4.
|
|
41
|
+
"@navikt/aksel-icons": "^4.2.0",
|
|
42
42
|
"@radix-ui/react-tabs": "1.0.0",
|
|
43
43
|
"@radix-ui/react-toggle-group": "1.0.0",
|
|
44
44
|
"clsx": "^1.2.1",
|
package/src/chat/Bubble.tsx
CHANGED
|
@@ -17,6 +17,7 @@ export interface BubbleProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
17
17
|
timestamp?: string;
|
|
18
18
|
/**
|
|
19
19
|
* Background color on bubble
|
|
20
|
+
* @deprecated Use `variant` on Chat instead
|
|
20
21
|
*/
|
|
21
22
|
backgroundColor?: string;
|
|
22
23
|
/**
|
|
@@ -46,17 +47,20 @@ const Bubble = forwardRef<HTMLDivElement, BubbleProps>(
|
|
|
46
47
|
{...rest}
|
|
47
48
|
>
|
|
48
49
|
{(timestamp || name) && (
|
|
49
|
-
<
|
|
50
|
+
<h3
|
|
50
51
|
className={cl(
|
|
51
52
|
`navds-chat__top-text`,
|
|
52
53
|
toptextPosition && `navds-chat__top-text--${toptextPosition}`
|
|
53
54
|
)}
|
|
54
55
|
>
|
|
55
|
-
{name && <Detail
|
|
56
|
-
{timestamp && (
|
|
57
|
-
<Detail
|
|
56
|
+
{name && <Detail as="span">{name}</Detail>}
|
|
57
|
+
{name && timestamp && (
|
|
58
|
+
<Detail as="span" aria-hidden>
|
|
59
|
+
•
|
|
60
|
+
</Detail>
|
|
58
61
|
)}
|
|
59
|
-
|
|
62
|
+
{timestamp && <Detail as="span">{timestamp}</Detail>}
|
|
63
|
+
</h3>
|
|
60
64
|
)}
|
|
61
65
|
{children}
|
|
62
66
|
</div>
|
package/src/chat/Chat.tsx
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import React, { forwardRef, HTMLAttributes } from "react";
|
|
2
2
|
import cl from "clsx";
|
|
3
|
-
import Bubble
|
|
4
|
-
import { BodyLong
|
|
3
|
+
import Bubble from "./Bubble";
|
|
4
|
+
import { BodyLong } from "../typography";
|
|
5
|
+
|
|
6
|
+
export const POSITIONS = ["left", "right"] as const;
|
|
7
|
+
export const SIZES = ["medium", "small"] as const;
|
|
5
8
|
|
|
6
9
|
export interface ChatProps extends HTMLAttributes<HTMLDivElement> {
|
|
7
10
|
/**
|
|
@@ -17,27 +20,40 @@ export interface ChatProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
17
20
|
*/
|
|
18
21
|
timestamp?: string;
|
|
19
22
|
/**
|
|
20
|
-
* Avatar for messenger. Regular text for initials works
|
|
23
|
+
* Avatar for messenger. Regular text for initials works too, but it will be hidden for screen readers.
|
|
24
|
+
*/
|
|
25
|
+
avatar?: React.ReactNode;
|
|
26
|
+
/**
|
|
27
|
+
* Changes background color on avatar and bubbles.
|
|
28
|
+
* Avoid using the same background as the surface behind Chat.
|
|
29
|
+
* @default "subtle"
|
|
21
30
|
*/
|
|
22
|
-
|
|
31
|
+
variant?: "subtle" | "info" | "neutral";
|
|
23
32
|
/**
|
|
24
33
|
* Background color on bubbles
|
|
34
|
+
* @deprecated Use `variant` instead
|
|
25
35
|
*/
|
|
26
36
|
backgroundColor?: string;
|
|
27
37
|
/**
|
|
28
38
|
* Background color for avatar
|
|
39
|
+
* @deprecated Use `variant` instead
|
|
29
40
|
*/
|
|
30
41
|
avatarBgColor?: string;
|
|
31
42
|
/**
|
|
32
|
-
* Positions avatar and
|
|
43
|
+
* Positions avatar and bubbles
|
|
33
44
|
* @default "left"
|
|
34
45
|
*/
|
|
35
|
-
position?:
|
|
46
|
+
position?: (typeof POSITIONS)[number];
|
|
36
47
|
/**
|
|
37
48
|
* Hoizontal position of toptext
|
|
38
|
-
* @default Same as
|
|
49
|
+
* @default Same as position
|
|
50
|
+
*/
|
|
51
|
+
toptextPosition?: (typeof POSITIONS)[number];
|
|
52
|
+
/**
|
|
53
|
+
* Affects padding and font size in bubbles
|
|
54
|
+
* @default "medium"
|
|
39
55
|
*/
|
|
40
|
-
|
|
56
|
+
size?: (typeof SIZES)[number];
|
|
41
57
|
}
|
|
42
58
|
|
|
43
59
|
interface ChatComponent
|
|
@@ -47,24 +63,23 @@ interface ChatComponent
|
|
|
47
63
|
/**
|
|
48
64
|
* @see 🏷️ {@link BubbleProps}
|
|
49
65
|
*/
|
|
50
|
-
Bubble:
|
|
51
|
-
BubbleProps & React.RefAttributes<HTMLDivElement>
|
|
52
|
-
>;
|
|
66
|
+
Bubble: typeof Bubble;
|
|
53
67
|
}
|
|
54
68
|
|
|
55
69
|
/**
|
|
56
|
-
* A component for
|
|
70
|
+
* A component for communicating dialogs between two parties.
|
|
57
71
|
*
|
|
58
72
|
* @see [📝 Documentation](https://aksel.nav.no/komponenter/core/chat)
|
|
59
73
|
* @see 🏷️ {@link ChatProps}
|
|
60
74
|
*
|
|
61
75
|
* @example
|
|
62
76
|
* ```jsx
|
|
63
|
-
* <Chat>
|
|
64
|
-
* <Chat.Bubble
|
|
77
|
+
* <Chat avatar="A" name="Alice" timestamp="01.01.21 14:00">
|
|
78
|
+
* <Chat.Bubble>Hello!</Chat.Bubble>
|
|
79
|
+
* <Chat.Bubble>How can I help you?</Chat.Bubble>
|
|
65
80
|
* </Chat>
|
|
66
|
-
* <Chat>
|
|
67
|
-
* <Chat.Bubble
|
|
81
|
+
* <Chat avatar="B" name="Bob" timestamp="01.01.21 14:01" position="right">
|
|
82
|
+
* <Chat.Bubble>Hi there!</Chat.Bubble>
|
|
68
83
|
* </Chat>
|
|
69
84
|
* ```
|
|
70
85
|
*/
|
|
@@ -77,51 +92,54 @@ export const Chat = forwardRef<HTMLDivElement, ChatProps>(
|
|
|
77
92
|
timestamp,
|
|
78
93
|
avatar,
|
|
79
94
|
position = "left",
|
|
95
|
+
variant = "subtle",
|
|
80
96
|
avatarBgColor,
|
|
81
97
|
backgroundColor,
|
|
82
98
|
toptextPosition,
|
|
99
|
+
size = "medium",
|
|
83
100
|
...rest
|
|
84
|
-
},
|
|
101
|
+
}: ChatProps,
|
|
85
102
|
ref
|
|
86
|
-
) =>
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
103
|
+
) => (
|
|
104
|
+
<div
|
|
105
|
+
ref={ref}
|
|
106
|
+
className={cl(
|
|
107
|
+
"navds-chat",
|
|
108
|
+
className,
|
|
109
|
+
`navds-chat--${position}`,
|
|
110
|
+
`navds-chat--top-text-${toptextPosition ?? position}`,
|
|
111
|
+
`navds-chat--${size}`,
|
|
112
|
+
`navds-chat--${variant}`
|
|
113
|
+
)}
|
|
114
|
+
{...rest}
|
|
115
|
+
>
|
|
116
|
+
{avatar && (
|
|
117
|
+
<div
|
|
101
118
|
className="navds-chat__avatar"
|
|
119
|
+
aria-hidden
|
|
102
120
|
style={{ backgroundColor: avatarBgColor }}
|
|
103
121
|
>
|
|
104
122
|
{avatar}
|
|
105
|
-
</
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
</
|
|
123
|
-
|
|
124
|
-
|
|
123
|
+
</div>
|
|
124
|
+
)}
|
|
125
|
+
<ol className="navds-chat__bubble-wrapper">
|
|
126
|
+
{React.Children.map(children, (child, i) => {
|
|
127
|
+
if (React.isValidElement(child)) {
|
|
128
|
+
return (
|
|
129
|
+
<BodyLong as="li" size={size}>
|
|
130
|
+
{React.cloneElement(child, {
|
|
131
|
+
name: name && i === 0 ? name : undefined,
|
|
132
|
+
timestamp: timestamp && i === 0 ? timestamp : undefined,
|
|
133
|
+
backgroundColor,
|
|
134
|
+
...child.props,
|
|
135
|
+
})}
|
|
136
|
+
</BodyLong>
|
|
137
|
+
);
|
|
138
|
+
}
|
|
139
|
+
})}
|
|
140
|
+
</ol>
|
|
141
|
+
</div>
|
|
142
|
+
)
|
|
125
143
|
) as ChatComponent;
|
|
126
144
|
|
|
127
145
|
Chat.Bubble = Bubble;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { Chat } from "../index";
|
|
3
3
|
import { Meta } from "@storybook/react";
|
|
4
|
+
import { POSITIONS, SIZES } from "./Chat";
|
|
4
5
|
|
|
5
6
|
export default {
|
|
6
7
|
title: "ds-react/Chat",
|
|
@@ -16,19 +17,25 @@ export default {
|
|
|
16
17
|
type: "text",
|
|
17
18
|
},
|
|
18
19
|
},
|
|
20
|
+
position: {
|
|
21
|
+
control: { type: "radio" },
|
|
22
|
+
options: POSITIONS,
|
|
23
|
+
},
|
|
24
|
+
toptextPosition: {
|
|
25
|
+
control: { type: "radio" },
|
|
26
|
+
options: POSITIONS,
|
|
27
|
+
},
|
|
28
|
+
size: {
|
|
29
|
+
control: { type: "radio" },
|
|
30
|
+
options: SIZES,
|
|
31
|
+
},
|
|
19
32
|
},
|
|
20
|
-
}
|
|
33
|
+
} satisfies Meta<typeof Chat>;
|
|
21
34
|
|
|
22
35
|
export const Default = {
|
|
23
36
|
render: (props) => {
|
|
24
37
|
return (
|
|
25
|
-
<Chat
|
|
26
|
-
avatar={props?.avatar ?? "ON"}
|
|
27
|
-
name={props?.name ?? "Ola Normann"}
|
|
28
|
-
timestamp={props?.timestamp ?? "01.01.21 14:00"}
|
|
29
|
-
avatarBgColor={props?.avatarBgColor}
|
|
30
|
-
backgroundColor={props?.backgroundColor}
|
|
31
|
-
>
|
|
38
|
+
<Chat {...props}>
|
|
32
39
|
<Chat.Bubble>
|
|
33
40
|
Aute minim nisi sunt mollit duis sunt nulla minim non proident.
|
|
34
41
|
</Chat.Bubble>
|
|
@@ -48,141 +55,156 @@ export const Default = {
|
|
|
48
55
|
},
|
|
49
56
|
};
|
|
50
57
|
|
|
51
|
-
export const
|
|
52
|
-
|
|
53
|
-
<Chat
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
export const Small = () => (
|
|
59
|
+
<Chat avatar="ON" name="Ola Normann" timestamp="01.01.21 14:00" size="small">
|
|
60
|
+
<Chat.Bubble>
|
|
61
|
+
Aute minim nisi sunt mollit duis sunt nulla minim non proident.
|
|
62
|
+
</Chat.Bubble>
|
|
63
|
+
<Chat.Bubble>Tempor fugiat amet eu sint in in ullamco.</Chat.Bubble>
|
|
64
|
+
<Chat.Bubble>
|
|
65
|
+
Adipisicing laborum est eu laborum est sit in commodo enim sint laboris
|
|
66
|
+
labore nisi ut.
|
|
67
|
+
</Chat.Bubble>
|
|
68
|
+
</Chat>
|
|
69
|
+
);
|
|
70
|
+
|
|
71
|
+
export const Colors = () => (
|
|
72
|
+
<Chat
|
|
73
|
+
avatar="NAV"
|
|
74
|
+
name="NAV"
|
|
75
|
+
timestamp="01.01.21 14:00"
|
|
76
|
+
avatarBgColor="var(--a-surface-alt-1-subtle)"
|
|
77
|
+
backgroundColor="var(--a-surface-warning-subtle)"
|
|
78
|
+
>
|
|
79
|
+
<Chat.Bubble>
|
|
80
|
+
Aute minim nisi sunt mollit duis sunt nulla minim non proident.
|
|
81
|
+
</Chat.Bubble>
|
|
82
|
+
<Chat.Bubble backgroundColor="lightYellow">
|
|
83
|
+
Tempor fugiat amet eu sint in in ullamco.
|
|
84
|
+
</Chat.Bubble>
|
|
85
|
+
<Chat.Bubble>
|
|
86
|
+
Adipisicing laborum est eu laborum est sit in commodo enim sint laboris
|
|
87
|
+
labore nisi ut.
|
|
88
|
+
</Chat.Bubble>
|
|
89
|
+
</Chat>
|
|
90
|
+
);
|
|
91
|
+
|
|
92
|
+
export const Variants = () => (
|
|
93
|
+
<div className="colgap">
|
|
94
|
+
<Chat avatar="NAV" name="NAV" timestamp="01.01.21 14:00" variant="info">
|
|
60
95
|
<Chat.Bubble>
|
|
61
96
|
Aute minim nisi sunt mollit duis sunt nulla minim non proident.
|
|
62
97
|
</Chat.Bubble>
|
|
98
|
+
</Chat>
|
|
99
|
+
<Chat
|
|
100
|
+
avatar="KN"
|
|
101
|
+
name="Kari Nordmann"
|
|
102
|
+
timestamp="01.01.21 14:03"
|
|
103
|
+
variant="neutral"
|
|
104
|
+
position="right"
|
|
105
|
+
>
|
|
63
106
|
<Chat.Bubble>Tempor fugiat amet eu sint in in ullamco.</Chat.Bubble>
|
|
107
|
+
</Chat>
|
|
108
|
+
<Chat
|
|
109
|
+
avatar="ON"
|
|
110
|
+
name="Ola Nordmann"
|
|
111
|
+
timestamp="01.01.21 14:07"
|
|
112
|
+
variant="subtle"
|
|
113
|
+
position="right"
|
|
114
|
+
>
|
|
64
115
|
<Chat.Bubble>
|
|
65
116
|
Adipisicing laborum est eu laborum est sit in commodo enim sint laboris
|
|
66
117
|
labore nisi ut.
|
|
67
118
|
</Chat.Bubble>
|
|
68
119
|
</Chat>
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
export const Position = () => {
|
|
73
|
-
return (
|
|
74
|
-
<div className="colgap">
|
|
75
|
-
<Chat
|
|
76
|
-
avatar="ON"
|
|
77
|
-
name="Ola Normann"
|
|
78
|
-
timestamp="01.01.21 14:00"
|
|
79
|
-
backgroundColor="rgba(255, 249, 240, 1)"
|
|
80
|
-
avatarBgColor="rgba(255, 236, 204, 1)"
|
|
81
|
-
>
|
|
82
|
-
<Chat.Bubble>
|
|
83
|
-
Adipisicing laborum est eu laborum est sit in commodo enim sint
|
|
84
|
-
laboris labore nisi ut.
|
|
85
|
-
</Chat.Bubble>
|
|
86
|
-
</Chat>
|
|
87
|
-
<Chat
|
|
88
|
-
avatar="KH"
|
|
89
|
-
name="Kari Høyli"
|
|
90
|
-
timestamp="01.01.21 14:32"
|
|
91
|
-
position="right"
|
|
92
|
-
backgroundColor="rgba(230, 240, 255, 1)"
|
|
93
|
-
avatarBgColor="rgba(204, 225, 255, 1)"
|
|
94
|
-
>
|
|
95
|
-
<Chat.Bubble>
|
|
96
|
-
Reprehenderit pariatur officia exercitation laboris.
|
|
97
|
-
</Chat.Bubble>
|
|
98
|
-
<Chat.Bubble>
|
|
99
|
-
Enim velit deserunt do quis. Eu fugiat magna esse dolore ad sunt sit
|
|
100
|
-
est dolore incididunt. Occaecat cupidatat magna.
|
|
101
|
-
</Chat.Bubble>
|
|
102
|
-
</Chat>
|
|
103
|
-
<Chat
|
|
104
|
-
avatar="ON"
|
|
105
|
-
name="Ola Normann"
|
|
106
|
-
timestamp="01.01.21 15:00"
|
|
107
|
-
backgroundColor="rgba(255, 249, 240, 1)"
|
|
108
|
-
avatarBgColor="rgba(255, 236, 204, 1)"
|
|
109
|
-
>
|
|
110
|
-
<Chat.Bubble>
|
|
111
|
-
Exercitation irure Lorem cupidatat culpa anim cillum esse ullamco qui
|
|
112
|
-
dolore laborum et Lorem. Labore sunt duis id Lorem voluptate commodo
|
|
113
|
-
ea esse. Dolore esse aliqua proident ea ad commodo ut dolore voluptate
|
|
114
|
-
labore sunt aute.
|
|
115
|
-
</Chat.Bubble>
|
|
116
|
-
</Chat>
|
|
117
|
-
</div>
|
|
118
|
-
);
|
|
119
|
-
};
|
|
120
|
-
|
|
121
|
-
export const ToptextPosition = () => {
|
|
122
|
-
return (
|
|
123
|
-
<div className="colgap">
|
|
124
|
-
<Chat
|
|
125
|
-
avatar="ON"
|
|
126
|
-
name="Ola Normann"
|
|
127
|
-
timestamp="01.01.21 14:00"
|
|
128
|
-
backgroundColor="rgba(255, 249, 240, 1)"
|
|
129
|
-
avatarBgColor="rgba(255, 236, 204, 1)"
|
|
130
|
-
toptextPosition="right"
|
|
131
|
-
>
|
|
132
|
-
<Chat.Bubble>
|
|
133
|
-
Adipisicing laborum est eu laborum est sit in commodo enim sint
|
|
134
|
-
laboris labore nisi ut.
|
|
135
|
-
</Chat.Bubble>
|
|
136
|
-
</Chat>
|
|
137
|
-
<Chat
|
|
138
|
-
avatar="KH"
|
|
139
|
-
name="Kari Høyli"
|
|
140
|
-
timestamp="01.01.21 14:32"
|
|
141
|
-
position="right"
|
|
142
|
-
backgroundColor="rgba(230, 240, 255, 1)"
|
|
143
|
-
avatarBgColor="rgba(204, 225, 255, 1)"
|
|
144
|
-
toptextPosition="left"
|
|
145
|
-
>
|
|
146
|
-
<Chat.Bubble>
|
|
147
|
-
Reprehenderit pariatur officia exercitation laboris.
|
|
148
|
-
</Chat.Bubble>
|
|
149
|
-
<Chat.Bubble>
|
|
150
|
-
Enim velit deserunt do quis. Eu fugiat magna esse dolore ad sunt sit
|
|
151
|
-
est dolore incididunt. Occaecat cupidatat magna.
|
|
152
|
-
</Chat.Bubble>
|
|
153
|
-
</Chat>
|
|
154
|
-
<Chat
|
|
155
|
-
avatar="ON"
|
|
156
|
-
name="Ola Normann"
|
|
157
|
-
timestamp="01.01.21 15:00"
|
|
158
|
-
backgroundColor="rgba(255, 249, 240, 1)"
|
|
159
|
-
avatarBgColor="rgba(255, 236, 204, 1)"
|
|
160
|
-
>
|
|
161
|
-
<Chat.Bubble toptextPosition="right">
|
|
162
|
-
Exercitation irure Lorem cupidatat culpa anim cillum esse ullamco qui
|
|
163
|
-
dolore laborum et Lorem. Labore sunt duis id Lorem voluptate commodo
|
|
164
|
-
ea esse. Dolore esse aliqua proident ea ad commodo ut dolore voluptate
|
|
165
|
-
labore sunt aute.
|
|
166
|
-
</Chat.Bubble>
|
|
167
|
-
</Chat>
|
|
168
|
-
</div>
|
|
169
|
-
);
|
|
170
|
-
};
|
|
120
|
+
</div>
|
|
121
|
+
);
|
|
171
122
|
|
|
172
|
-
export const
|
|
173
|
-
|
|
174
|
-
<Chat avatar=
|
|
123
|
+
export const Position = () => (
|
|
124
|
+
<div className="colgap">
|
|
125
|
+
<Chat avatar="ON" name="Ola Normann" timestamp="01.01.21 14:00">
|
|
175
126
|
<Chat.Bubble>
|
|
176
|
-
|
|
127
|
+
Adipisicing laborum est eu laborum est sit in commodo enim sint laboris
|
|
128
|
+
labore nisi ut.
|
|
177
129
|
</Chat.Bubble>
|
|
178
|
-
|
|
130
|
+
</Chat>
|
|
131
|
+
<Chat
|
|
132
|
+
avatar="KH"
|
|
133
|
+
name="Kari Høyli"
|
|
134
|
+
timestamp="01.01.21 14:32"
|
|
135
|
+
position="right"
|
|
136
|
+
variant="info"
|
|
137
|
+
>
|
|
138
|
+
<Chat.Bubble>
|
|
139
|
+
Reprehenderit pariatur officia exercitation laboris.
|
|
140
|
+
</Chat.Bubble>
|
|
141
|
+
<Chat.Bubble>
|
|
142
|
+
Enim velit deserunt do quis. Eu fugiat magna esse dolore ad sunt sit est
|
|
143
|
+
dolore incididunt. Occaecat cupidatat magna.
|
|
144
|
+
</Chat.Bubble>
|
|
145
|
+
</Chat>
|
|
146
|
+
<Chat avatar="ON" name="Ola Normann" timestamp="01.01.21 15:00">
|
|
147
|
+
<Chat.Bubble>
|
|
148
|
+
Exercitation irure Lorem cupidatat culpa anim cillum esse ullamco qui
|
|
149
|
+
dolore laborum et Lorem. Labore sunt duis id Lorem voluptate commodo ea
|
|
150
|
+
esse. Dolore esse aliqua proident ea ad commodo ut dolore voluptate
|
|
151
|
+
labore sunt aute.
|
|
152
|
+
</Chat.Bubble>
|
|
153
|
+
</Chat>
|
|
154
|
+
</div>
|
|
155
|
+
);
|
|
156
|
+
|
|
157
|
+
export const ToptextPosition = () => (
|
|
158
|
+
<div className="colgap">
|
|
159
|
+
<Chat
|
|
160
|
+
avatar="ON"
|
|
161
|
+
name="Ola Normann"
|
|
162
|
+
timestamp="01.01.21 14:00"
|
|
163
|
+
toptextPosition="right"
|
|
164
|
+
>
|
|
179
165
|
<Chat.Bubble>
|
|
180
166
|
Adipisicing laborum est eu laborum est sit in commodo enim sint laboris
|
|
181
167
|
labore nisi ut.
|
|
182
168
|
</Chat.Bubble>
|
|
183
169
|
</Chat>
|
|
184
|
-
|
|
185
|
-
|
|
170
|
+
<Chat
|
|
171
|
+
name="Kari Høyli"
|
|
172
|
+
timestamp="01.01.21 14:32"
|
|
173
|
+
position="right"
|
|
174
|
+
variant="info"
|
|
175
|
+
toptextPosition="left"
|
|
176
|
+
>
|
|
177
|
+
<Chat.Bubble>
|
|
178
|
+
Reprehenderit pariatur officia exercitation laboris.
|
|
179
|
+
</Chat.Bubble>
|
|
180
|
+
<Chat.Bubble>
|
|
181
|
+
Enim velit deserunt do quis. Eu fugiat magna esse dolore ad sunt sit est
|
|
182
|
+
dolore incididunt. Occaecat cupidatat magna.
|
|
183
|
+
</Chat.Bubble>
|
|
184
|
+
</Chat>
|
|
185
|
+
<Chat avatar="ON" name="Ola Normann" timestamp="01.01.21 15:00">
|
|
186
|
+
<Chat.Bubble toptextPosition="right">
|
|
187
|
+
Exercitation irure Lorem cupidatat culpa anim cillum esse ullamco qui
|
|
188
|
+
dolore laborum et Lorem. Labore sunt duis id Lorem voluptate commodo ea
|
|
189
|
+
esse. Dolore esse aliqua proident ea ad commodo ut dolore voluptate
|
|
190
|
+
labore sunt aute.
|
|
191
|
+
</Chat.Bubble>
|
|
192
|
+
</Chat>
|
|
193
|
+
</div>
|
|
194
|
+
);
|
|
195
|
+
|
|
196
|
+
export const Avatar = () => (
|
|
197
|
+
<Chat avatar={<Illustration />} timestamp="01.01.21 14:00">
|
|
198
|
+
<Chat.Bubble>
|
|
199
|
+
Aute minim nisi sunt mollit duis sunt nulla minim non proident.
|
|
200
|
+
</Chat.Bubble>
|
|
201
|
+
<Chat.Bubble>Tempor fugiat amet eu sint in in ullamco.</Chat.Bubble>
|
|
202
|
+
<Chat.Bubble>
|
|
203
|
+
Adipisicing laborum est eu laborum est sit in commodo enim sint laboris
|
|
204
|
+
labore nisi ut.
|
|
205
|
+
</Chat.Bubble>
|
|
206
|
+
</Chat>
|
|
207
|
+
);
|
|
186
208
|
|
|
187
209
|
const Illustration = () => (
|
|
188
210
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 54 93">
|