norma-library 0.6.83 → 0.6.85
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/dist/esm/components/NormaChatMessageBalloon/components/Content.d.ts +3 -0
- package/dist/esm/components/NormaChatMessageBalloon/components/Content.js +18 -0
- package/dist/esm/components/NormaChatMessageBalloon/components/Content.js.map +1 -0
- package/dist/esm/components/NormaChatMessageBalloon/components/Date.d.ts +3 -0
- package/dist/esm/components/NormaChatMessageBalloon/components/Date.js +8 -0
- package/dist/esm/components/NormaChatMessageBalloon/components/Date.js.map +1 -0
- package/dist/esm/components/NormaChatMessageBalloon/components/MessageItem.d.ts +3 -0
- package/dist/esm/components/NormaChatMessageBalloon/components/MessageItem.js +30 -0
- package/dist/esm/components/NormaChatMessageBalloon/components/MessageItem.js.map +1 -0
- package/dist/esm/components/NormaChatMessageBalloon/components/Root.d.ts +3 -0
- package/dist/esm/components/NormaChatMessageBalloon/components/Root.js +8 -0
- package/dist/esm/components/NormaChatMessageBalloon/components/Root.js.map +1 -0
- package/dist/esm/components/NormaChatMessageBalloon/components/Row.d.ts +3 -0
- package/dist/esm/components/NormaChatMessageBalloon/components/Row.js +7 -0
- package/dist/esm/components/NormaChatMessageBalloon/components/Row.js.map +1 -0
- package/dist/esm/components/NormaChatMessageBalloon/hook.d.ts +4 -0
- package/dist/esm/components/NormaChatMessageBalloon/hook.js +13 -0
- package/dist/esm/components/NormaChatMessageBalloon/hook.js.map +1 -0
- package/dist/esm/components/NormaChatMessageBalloon/index.d.ts +12 -0
- package/dist/esm/components/NormaChatMessageBalloon/index.js +13 -0
- package/dist/esm/components/NormaChatMessageBalloon/index.js.map +1 -0
- package/dist/esm/components/NormaChatMessageBalloon/styles.d.ts +5 -0
- package/dist/esm/components/NormaChatMessageBalloon/styles.js +13 -0
- package/dist/esm/components/NormaChatMessageBalloon/styles.js.map +1 -0
- package/dist/esm/components/ProductCard/ProductCard.js +3 -3
- package/dist/esm/components/ProductCard/ProductCard.js.map +1 -1
- package/dist/esm/components/RadioGroup.js +1 -1
- package/dist/esm/components/RadioGroup.js.map +1 -1
- package/dist/esm/components/ServiceCard/ServiceCard.js +2 -2
- package/dist/esm/components/ServiceCard/ServiceCard.js.map +1 -1
- package/dist/esm/components/index.d.ts +1 -0
- package/dist/esm/components/index.js +1 -0
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/interfaces/NormaChatMessageBalloon.d.ts +20 -0
- package/dist/esm/interfaces/NormaChatMessageBalloon.js +2 -0
- package/dist/esm/interfaces/NormaChatMessageBalloon.js.map +1 -0
- package/dist/esm/interfaces/ProductCard.d.ts +2 -0
- package/dist/esm/interfaces/ServiceCard.d.ts +1 -0
- package/dist/esm/interfaces/index.d.ts +1 -0
- package/dist/esm/interfaces/index.js +1 -0
- package/dist/esm/interfaces/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/IconifyIcon.tsx +2 -0
- package/src/components/NormaChatMessageBalloon/components/Content.tsx +31 -0
- package/src/components/NormaChatMessageBalloon/components/Date.tsx +11 -0
- package/src/components/NormaChatMessageBalloon/components/MessageItem.tsx +55 -0
- package/src/components/NormaChatMessageBalloon/components/Root.tsx +11 -0
- package/src/components/NormaChatMessageBalloon/components/Row.tsx +11 -0
- package/src/components/NormaChatMessageBalloon/hook.tsx +12 -0
- package/src/components/NormaChatMessageBalloon/index.tsx +13 -0
- package/src/components/NormaChatMessageBalloon/styles.ts +59 -0
- package/src/components/ProductCard/ProductCard.tsx +5 -2
- package/src/components/RadioGroup.tsx +1 -1
- package/src/components/ServiceCard/ServiceCard.tsx +2 -2
- package/src/components/index.ts +1 -0
- package/src/index.ts +4 -1
- package/src/interfaces/NormaChatMessageBalloon.ts +21 -0
- package/src/interfaces/ProductCard.ts +2 -0
- package/src/interfaces/ServiceCard.ts +1 -0
- package/src/interfaces/index.ts +1 -0
- package/src/stories/NormaChatMessageBalloon.stories.tsx +229 -0
- package/src/stories/Icons.stories.mdx +0 -27
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Typography } from "@mui/material";
|
|
3
|
+
import { ChatMessageBalloonStyle } from "../styles";
|
|
4
|
+
export default function Content(_a) {
|
|
5
|
+
var label = _a.label, description = _a.description, direction = _a.direction, className = _a.className;
|
|
6
|
+
return (React.createElement(ChatMessageBalloonStyle, { direction: direction, className: className },
|
|
7
|
+
React.createElement(Typography, { variant: "subtitle2", sx: {
|
|
8
|
+
fontSize: "1rem",
|
|
9
|
+
fontWeight: "600",
|
|
10
|
+
marginBottom: '5px'
|
|
11
|
+
} }, label),
|
|
12
|
+
React.createElement(Typography, { variant: "body1", sx: {
|
|
13
|
+
fontSize: "0.9rem",
|
|
14
|
+
fontWeight: "400",
|
|
15
|
+
marginBottom: '5px'
|
|
16
|
+
} }, description)));
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=Content.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Content.js","sourceRoot":"","sources":["../../../../../src/components/NormaChatMessageBalloon/components/Content.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAEpD,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAA0E;QAAxE,KAAK,WAAA,EAAE,WAAW,iBAAA,EAAE,SAAS,eAAA,EAAE,SAAS,eAAA;IACtE,OAAO,CACH,oBAAC,uBAAuB,IAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;QAC/D,oBAAC,UAAU,IACP,OAAO,EAAC,WAAW,EACnB,EAAE,EAAE;gBACA,QAAQ,EAAE,MAAM;gBAChB,UAAU,EAAE,KAAK;gBACjB,YAAY,EAAE,KAAK;aACtB,IAEA,KAAK,CACG;QACb,oBAAC,UAAU,IACP,OAAO,EAAC,OAAO,EACf,EAAE,EAAE;gBACA,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE,KAAK;gBACjB,YAAY,EAAE,KAAK;aACtB,IAEA,WAAW,CACH,CACS,CAC7B,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ChatMessageBalloonRowStyle, ChatMessageDateStyle } from "../styles";
|
|
3
|
+
export default function Date(_a) {
|
|
4
|
+
var date = _a.date;
|
|
5
|
+
return (React.createElement(ChatMessageBalloonRowStyle, null,
|
|
6
|
+
React.createElement(ChatMessageDateStyle, { fontSize: "0.7rem" }, date)));
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=Date.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Date.js","sourceRoot":"","sources":["../../../../../src/components/NormaChatMessageBalloon/components/Date.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAE7E,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,EAAsC;QAApC,IAAI,UAAA;IAC/B,OAAO,CACH,oBAAC,0BAA0B;QACvB,oBAAC,oBAAoB,IAAC,QAAQ,EAAE,QAAQ,IAAG,IAAI,CAAwB,CAC9C,CAChC,CAAA;AACL,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import Content from "./Content";
|
|
3
|
+
import Row from "./Row";
|
|
4
|
+
import Date from "./Date";
|
|
5
|
+
import { useChatMessageBalloon } from "../hook";
|
|
6
|
+
import { Avatar, Typography } from "@mui/material";
|
|
7
|
+
import Root from "./Root";
|
|
8
|
+
export default function MessageItem(_a) {
|
|
9
|
+
var avatar = _a.avatar, label = _a.label, description = _a.description, date = _a.date, direction = _a.direction, onMouseEnter = _a.onMouseEnter, highlight = _a.highlight, children = _a.children;
|
|
10
|
+
var balloonClassNames = useChatMessageBalloon(onMouseEnter, highlight).balloonClassNames;
|
|
11
|
+
return (React.createElement(Root, { onMouseEnter: function () { return console.log('hover'); }, onMouseLeave: function () { return console.log('leave'); } },
|
|
12
|
+
React.createElement(Row, { direction: direction, onMouseEnter: function () { return console.log('row hover'); }, onMouseLeave: function () { return console.log('row leave'); } },
|
|
13
|
+
React.createElement(Content, { label: label, description: description, direction: direction, className: balloonClassNames })),
|
|
14
|
+
React.createElement(Row, { direction: direction },
|
|
15
|
+
avatar && (React.createElement(Avatar, { sx: {
|
|
16
|
+
width: '30px',
|
|
17
|
+
height: '30px',
|
|
18
|
+
marginX: '10px',
|
|
19
|
+
position: 'relative',
|
|
20
|
+
}, src: avatar === null || avatar === void 0 ? void 0 : avatar.src, alt: avatar === null || avatar === void 0 ? void 0 : avatar.alt },
|
|
21
|
+
React.createElement(Typography, { sx: {
|
|
22
|
+
position: 'absolute',
|
|
23
|
+
top: '50%',
|
|
24
|
+
left: '50%',
|
|
25
|
+
transform: 'translate(-50%, -50%)',
|
|
26
|
+
} }, avatar === null || avatar === void 0 ? void 0 : avatar.alt))),
|
|
27
|
+
React.createElement(Date, { date: date })),
|
|
28
|
+
React.createElement(Row, { direction: direction }, children)));
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=MessageItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageItem.js","sourceRoot":"","sources":["../../../../../src/components/NormaChatMessageBalloon/components/MessageItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,GAAG,MAAM,OAAO,CAAC;AACxB,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,IAAI,MAAM,QAAQ,CAAC;AAE1B,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAgH;QAA9G,MAAM,YAAA,EAAE,KAAK,WAAA,EAAE,WAAW,iBAAA,EAAE,IAAI,UAAA,EAAE,SAAS,eAAA,EAAE,YAAY,kBAAA,EAAE,SAAS,eAAA,EAAE,QAAQ,cAAA;IACxG,IAAA,iBAAiB,GAAK,qBAAqB,CAAC,YAAY,EAAE,SAAS,CAAC,kBAAnD,CAAoD;IAC7E,OAAO,CACH,oBAAC,IAAI,IAAC,YAAY,EAAE,cAAM,OAAA,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAApB,CAAoB,EAAE,YAAY,EAAE,cAAM,OAAA,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAApB,CAAoB;QACpF,oBAAC,GAAG,IAAC,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,cAAM,OAAA,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAxB,CAAwB,EAAE,YAAY,EAAE,cAAM,OAAA,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAxB,CAAwB;YACjH,oBAAC,OAAO,IACJ,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,iBAAiB,GAC9B,CACA;QACN,oBAAC,GAAG,IAAC,SAAS,EAAE,SAAS;YACxB,MAAM,IAAI,CACX,oBAAC,MAAM,IACD,EAAE,EAAE;oBACF,KAAK,EAAE,MAAM;oBACb,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,MAAM;oBACf,QAAQ,EAAE,UAAU;iBACrB,EACD,GAAG,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,EAChB,GAAG,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG;gBAEhB,oBAAC,UAAU,IACT,EAAE,EAAE;wBACF,QAAQ,EAAE,UAAU;wBACpB,GAAG,EAAE,KAAK;wBACV,IAAI,EAAE,KAAK;wBACX,SAAS,EAAE,uBAAuB;qBACnC,IAEA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CACD,CACN,CACZ;YACG,oBAAC,IAAI,IAAC,IAAI,EAAE,IAAI,GAAI,CAClB;QAEN,oBAAC,GAAG,IAAC,SAAS,EAAE,SAAS,IACpB,QAAQ,CACP,CAEH,CACV,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { __assign, __rest } from "tslib";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { ChatMessageBalloonContainerStyle } from "../styles";
|
|
4
|
+
export default function Root(_a) {
|
|
5
|
+
var children = _a.children, className = _a.className, rest = __rest(_a, ["children", "className"]);
|
|
6
|
+
return (React.createElement(ChatMessageBalloonContainerStyle, __assign({ className: className }, rest), children));
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=Root.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Root.js","sourceRoot":"","sources":["../../../../../src/components/NormaChatMessageBalloon/components/Root.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gCAAgC,EAAE,MAAM,WAAW,CAAC;AAG7D,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,EAA4D;IAA3D,IAAA,QAAQ,cAAA,EAAE,SAAS,eAAA,EAAK,IAAI,cAA7B,yBAA8B,CAAD;IACtD,OAAO,CACH,oBAAC,gCAAgC,aAAC,SAAS,EAAE,SAAS,IAAM,IAAI,GACvD,QAAQ,CACkB,CACtC,CAAA;AACL,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ChatMessageBalloonRowStyle } from "../styles";
|
|
3
|
+
export default function Row(_a) {
|
|
4
|
+
var children = _a.children, direction = _a.direction, onRowMouseEnter = _a.onRowMouseEnter, onRowMouseLeave = _a.onRowMouseLeave;
|
|
5
|
+
return (React.createElement(ChatMessageBalloonRowStyle, { direction: direction, onMouseLeave: onRowMouseLeave, onMouseEnter: onRowMouseEnter }, children));
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=Row.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Row.js","sourceRoot":"","sources":["../../../../../src/components/NormaChatMessageBalloon/components/Row.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAGvD,MAAM,CAAC,OAAO,UAAU,GAAG,CAAC,EAAsF;QAArF,QAAQ,cAAA,EAAE,SAAS,eAAA,EAAE,eAAe,qBAAA,EAAE,eAAe,qBAAA;IAChF,OAAO,CACL,oBAAC,0BAA0B,IAAC,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,IACzG,QAAQ,CACgB,CAC9B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { useMemo } from "react";
|
|
2
|
+
export var useChatMessageBalloon = function (onMouseEnter, highlight) {
|
|
3
|
+
var balloonClassNames = useMemo(function () {
|
|
4
|
+
var classNames = [];
|
|
5
|
+
if (!!onMouseEnter)
|
|
6
|
+
classNames.push('is-interactive');
|
|
7
|
+
if (!!highlight)
|
|
8
|
+
classNames.push('is-highlight');
|
|
9
|
+
return classNames.join(" ");
|
|
10
|
+
}, [highlight, onMouseEnter]);
|
|
11
|
+
return { balloonClassNames: balloonClassNames };
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=hook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../../../../src/components/NormaChatMessageBalloon/hook.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAEtC,MAAM,CAAC,IAAM,qBAAqB,GAAG,UAAC,YAAiE,EAAE,SAA8B;IACnI,IAAM,iBAAiB,GAAG,OAAO,CAAC;QAC9B,IAAM,UAAU,GAAG,EAAE,CAAA;QACrB,IAAG,CAAC,CAAC,YAAY;YAAE,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QACpD,IAAG,CAAC,CAAC,SAAS;YAAE,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAC/C,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC7B,CAAC,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAA;IAE7B,OAAO,EAAC,iBAAiB,mBAAA,EAAC,CAAA;AAChC,CAAC,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import Content from "./components/Content";
|
|
2
|
+
import Date from "./components/Date";
|
|
3
|
+
import MessageItem from "./components/MessageItem";
|
|
4
|
+
import Root from "./components/Root";
|
|
5
|
+
import Row from "./components/Row";
|
|
6
|
+
export declare const NormaChatMessageBalloon: {
|
|
7
|
+
Root: typeof Root;
|
|
8
|
+
Row: typeof Row;
|
|
9
|
+
Content: typeof Content;
|
|
10
|
+
MessageItem: typeof MessageItem;
|
|
11
|
+
Date: typeof Date;
|
|
12
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import Content from "./components/Content";
|
|
2
|
+
import Date from "./components/Date";
|
|
3
|
+
import MessageItem from "./components/MessageItem";
|
|
4
|
+
import Root from "./components/Root";
|
|
5
|
+
import Row from "./components/Row";
|
|
6
|
+
export var NormaChatMessageBalloon = {
|
|
7
|
+
Root: Root,
|
|
8
|
+
Row: Row,
|
|
9
|
+
Content: Content,
|
|
10
|
+
MessageItem: MessageItem,
|
|
11
|
+
Date: Date,
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/NormaChatMessageBalloon/index.tsx"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,sBAAsB,CAAC;AAC3C,OAAO,IAAI,MAAM,mBAAmB,CAAC;AACrC,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,IAAI,MAAM,mBAAmB,CAAC;AACrC,OAAO,GAAG,MAAM,kBAAkB,CAAC;AAEnC,MAAM,CAAC,IAAM,uBAAuB,GAAG;IACnC,IAAI,EAAE,IAAI;IACV,GAAG,EAAE,GAAG;IACR,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,WAAW;IACxB,IAAI,EAAE,IAAI;CACb,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const ChatMessageBalloonContainerStyle: any;
|
|
2
|
+
export declare const ChatMessageBalloonRowStyle: any;
|
|
3
|
+
export declare const ChatMessageBalloonStyle: any;
|
|
4
|
+
export declare const ChatMessageDateStyle: any;
|
|
5
|
+
export declare const ChatMessageChildrenStyle: any;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { __makeTemplateObject } from "tslib";
|
|
2
|
+
import { Box, Typography } from '@mui/material';
|
|
3
|
+
import { styled } from '@mui/material/styles';
|
|
4
|
+
export var ChatMessageBalloonContainerStyle = styled(Box)({
|
|
5
|
+
display: 'flex',
|
|
6
|
+
flexDirection: 'column',
|
|
7
|
+
});
|
|
8
|
+
export var ChatMessageBalloonRowStyle = styled('div')(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n margin-bottom: 8px;\n flex-direction: ", ";\n justify-content: flex-start;\n align-items: flex-start;\n vertical-align: middle;\n &:last-child {\n margin-bottom: 0px;\n }\n"], ["\n display: flex;\n margin-bottom: 8px;\n flex-direction: ", ";\n justify-content: flex-start;\n align-items: flex-start;\n vertical-align: middle;\n &:last-child {\n margin-bottom: 0px;\n }\n"])), function (props) { return (props.direction === 'I' ? 'row-reverse' : 'row'); });
|
|
9
|
+
export var ChatMessageBalloonStyle = styled('div')(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n background-color: ", ";\n border: 2px solid transparent;\n border-radius: ", ";\n box-sizing: border-box;\n color: ", ";\n display: flex;\n flex-direction: column;\n padding: 12px 24px;\n width: 60%;\n transition: border 0.6s cubic-bezier(0.16, 1, 0.3, 1);\n\n &.is-highlight {\n border: 2px solid #8a8888;\n }\n\n &.is-interactive {\n cursor: pointer;\n\n &:hover {\n border: 2px solid #8a8888;\n }\n }\n"], ["\n background-color: ", ";\n border: 2px solid transparent;\n border-radius: ", ";\n box-sizing: border-box;\n color: ", ";\n display: flex;\n flex-direction: column;\n padding: 12px 24px;\n width: 60%;\n transition: border 0.6s cubic-bezier(0.16, 1, 0.3, 1);\n\n &.is-highlight {\n border: 2px solid #8a8888;\n }\n\n &.is-interactive {\n cursor: pointer;\n\n &:hover {\n border: 2px solid #8a8888;\n }\n }\n"])), function (props) { return (props.direction === 'I' ? '#FFF' : '#E18B50'); }, function (props) { return (props.direction === 'I' ? '20px 20px 0px 20px' : '20px 20px 20px 0px'); }, function (props) { return (props.direction === 'I' ? '#4D4F5B' : '#FFF'); });
|
|
10
|
+
export var ChatMessageDateStyle = styled(Typography)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n color: #43425d;\n opacity: 0.5;\n margin-top: 7px;\n"], ["\n color: #43425d;\n opacity: 0.5;\n margin-top: 7px;\n"])));
|
|
11
|
+
export var ChatMessageChildrenStyle = styled('div')(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n align-items: center;\n box-sizing: border-box;\n display: flex;\n flex: 1;\n justify-content: ", ";\n padding: 8px;\n"], ["\n align-items: center;\n box-sizing: border-box;\n display: flex;\n flex: 1;\n justify-content: ", ";\n padding: 8px;\n"])), function (props) { return (props.direction === 'I' ? 'end' : 'start'); });
|
|
12
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
|
|
13
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../src/components/NormaChatMessageBalloon/styles.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,MAAM,CAAC,IAAM,gCAAgC,GAAQ,MAAM,CAAC,GAAG,CAAC,CAAC;IAC/D,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,QAAQ;CACxB,CAAC,CAAC;AAEH,MAAM,CAAC,IAAM,0BAA0B,GAAQ,MAAM,CAAC,KAAK,CAAC,gRAAuB,+DAG/D,EAA0D,4IAO7E,KAPmB,UAAA,KAAK,IAAI,OAAA,CAAC,KAAK,CAAC,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,EAAjD,CAAiD,CAO7E,CAAC;AAEF,MAAM,CAAC,IAAM,uBAAuB,GAAQ,MAAM,CAAC,KAAK,CAAC,4fAAuB,wBAC1D,EAAuD,wDAE1D,EAAgF,yCAExF,EAAuD,0TAkBjE,KAtBqB,UAAA,KAAK,IAAI,OAAA,CAAC,KAAK,CAAC,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,EAA9C,CAA8C,EAE1D,UAAA,KAAK,IAAI,OAAA,CAAC,KAAK,CAAC,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,oBAAoB,CAAC,EAAvE,CAAuE,EAExF,UAAA,KAAK,IAAI,OAAA,CAAC,KAAK,CAAC,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,EAA9C,CAA8C,CAkBjE,CAAC;AAEF,MAAM,CAAC,IAAM,oBAAoB,GAAQ,MAAM,CAAC,UAAU,CAAC,+HAAA,4DAI1D,IAAA,CAAC;AAEF,MAAM,CAAC,IAAM,wBAAwB,GAAQ,MAAM,CAAC,KAAK,CAAC,mMAAuB,wGAK5D,EAAoD,sBAExE,KAFoB,UAAA,KAAK,IAAI,OAAA,CAAC,KAAK,CAAC,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,EAA3C,CAA2C,CAExE,CAAC"}
|
|
@@ -8,7 +8,7 @@ import { IconifyIcon } from "../IconifyIcon";
|
|
|
8
8
|
export var ProductCard = function (_a) {
|
|
9
9
|
var
|
|
10
10
|
// product = 'analytics'
|
|
11
|
-
color = _a.color, iconColor = _a.iconColor, onClick = _a.onClick, _b = _a.hasBorder, hasBorder = _b === void 0 ? true : _b, _c = _a.disabled, disabled = _c === void 0 ? false : _c, title = _a.title, description = _a.description, iconName = _a.iconName, _d = _a.flaggable, flaggable = _d === void 0 ? false : _d;
|
|
11
|
+
color = _a.color, iconColor = _a.iconColor, iconSize = _a.iconSize, onClick = _a.onClick, _b = _a.hasBorder, hasBorder = _b === void 0 ? true : _b, _c = _a.disabled, disabled = _c === void 0 ? false : _c, title = _a.title, description = _a.description, iconName = _a.iconName, _d = _a.flaggable, flaggable = _d === void 0 ? false : _d, _e = _a.flagged, flagged = _e === void 0 ? false : _e;
|
|
12
12
|
/* const colors: { [key: string]: string } = {
|
|
13
13
|
primaryDark: '#B74608',
|
|
14
14
|
primaryLight: '#FCF1E3',
|
|
@@ -23,11 +23,11 @@ export var ProductCard = function (_a) {
|
|
|
23
23
|
React.createElement(IconButton, { sx: { padding: 0 }, "aria-label": "favorite", onClick: function (event) {
|
|
24
24
|
event.preventDefault();
|
|
25
25
|
event.stopPropagation();
|
|
26
|
-
}, cursor: "pointer" },
|
|
26
|
+
}, color: flagged ? 'primary' : 'inherit', cursor: "pointer" },
|
|
27
27
|
React.createElement(GradeIcon, null))))),
|
|
28
28
|
React.createElement(TitleContainer, null,
|
|
29
29
|
React.createElement(IconCardStyle, { "$iColor": iconColor, "$bColor": color },
|
|
30
|
-
React.createElement(IconifyIcon, { iconName: iconName, color: iconColor, size:
|
|
30
|
+
React.createElement(IconifyIcon, { iconName: iconName, color: iconColor, size: iconSize || '2em' })),
|
|
31
31
|
React.createElement("p", null, title)),
|
|
32
32
|
React.createElement("p", { className: "description" }, description))));
|
|
33
33
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductCard.js","sourceRoot":"","sources":["../../../../src/components/ProductCard/ProductCard.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,SAAS,MAAM,2BAA2B,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,MAAM,CAAC,IAAM,WAAW,GAA+B,UAAC,
|
|
1
|
+
{"version":3,"file":"ProductCard.js","sourceRoot":"","sources":["../../../../src/components/ProductCard/ProductCard.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,SAAS,MAAM,2BAA2B,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,MAAM,CAAC,IAAM,WAAW,GAA+B,UAAC,EAavD;;IAZC,wBAAwB;IACxB,KAAK,WAAA,EACL,SAAS,eAAA,EACT,QAAQ,cAAA,EACR,OAAO,aAAA,EACP,iBAAgB,EAAhB,SAAS,mBAAG,IAAI,KAAA,EAChB,gBAAgB,EAAhB,QAAQ,mBAAG,KAAK,KAAA,EAChB,KAAK,WAAA,EACL,WAAW,iBAAA,EACX,QAAQ,cAAA,EACR,iBAAiB,EAAjB,SAAS,mBAAG,KAAK,KAAA,EACjB,eAAe,EAAf,OAAO,mBAAG,KAAK,KAAA;IAGf;;;;;;IAMA;IACA,OAAO,CACL,oBAAC,gBAAgB,IAAC,QAAQ,EAAE,QAAQ,aAAW,SAAS,EAAE,SAAS,EAAE,SAAS;QAC5E,oBAAC,IAAI,IACH,OAAO,EAAC,UAAU,EAClB,OAAO,EAAE,cAAM,OAAA,OAAO,IAAI,OAAO,EAAE,EAApB,CAAoB;YAElC,SAAS,IAAI,CACX,oBAAC,IAAI,IAAC,SAAS,QAAC,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY;gBACpE,oBAAC,IAAI,IAAC,IAAI;oBACR,oBAAC,UAAU,IACT,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,gBACP,UAAU,EACrB,OAAO,EAAE,UAAC,KAAK;4BACb,KAAK,CAAC,cAAc,EAAE,CAAA;4BACtB,KAAK,CAAC,eAAe,EAAE,CAAA;wBACzB,CAAC,EACD,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EACtC,MAAM,EAAC,SAAS;wBAEhB,oBAAC,SAAS,OAAG,CACF,CACR,CACF,CACP;YAED,oBAAC,cAAc;gBACb,oBAAC,aAAa,eACH,SAAS,aACT,KAAK;oBAEd,oBAAC,WAAW,IAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,IAAI,KAAK,GAAI,CAChE;gBAChB,+BAAI,KAAK,CAAK,CACC;YAEjB,2BAAG,SAAS,EAAC,aAAa,IACvB,WAAW,CACV,CACC,CACU,CACpB,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -10,6 +10,6 @@ export var RadioGroup = function (_a) {
|
|
|
10
10
|
return (React.createElement(FormControl, { disabled: props.disabled },
|
|
11
11
|
React.createElement(FormLabel, { id: props.id }, props.label),
|
|
12
12
|
React.createElement(MuiRadioGroup, { "aria-labelledby": props.id, defaultValue: props.checked, name: "radio-buttons-group", row: props.direction === 'horizontal' ? true : false, onChange: !!onChange ? function (event, value) { return onChange(event, value); } : undefined }, props.options &&
|
|
13
|
-
props.options.map(function (item, key) { return (React.createElement(FormControlLabel, { value: item.value, control: React.createElement(RadioStyled, { color: props.color, size: item.size ? item.size : sizes[1] }), label: item.label, key: key, sx: { alignItems: "
|
|
13
|
+
props.options.map(function (item, key) { return (React.createElement(FormControlLabel, { value: item.value, control: React.createElement(RadioStyled, { color: props.color, size: item.size ? item.size : sizes[1] }), label: item.label, key: key, sx: { alignItems: "center" } })); }))));
|
|
14
14
|
};
|
|
15
15
|
//# sourceMappingURL=RadioGroup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadioGroup.js","sourceRoot":"","sources":["../../../src/components/RadioGroup.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,KAAK,IAAI,QAAQ,EACjB,UAAU,IAAI,aAAa,GAC5B,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAI9C,IAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;AACzC,IAAM,KAAK,GAA2B,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAE1D,MAAM,CAAC,IAAM,UAAU,GAAG,UAAC,EAA4B;QAAvB,KAAK,cAAV,EAAY,CAAF;IAC3B,IAAA,QAAQ,GAAK,KAAK,SAAV,CAAW;IAE3B,OAAO,CACL,oBAAC,WAAW,IAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACnC,oBAAC,SAAS,IAAC,EAAE,EAAE,KAAK,CAAC,EAAE,IAAG,KAAK,CAAC,KAAK,CAAa;QAClD,oBAAC,aAAa,uBACK,KAAK,CAAC,EAAE,EACzB,YAAY,EAAE,KAAK,CAAC,OAAO,EAC3B,IAAI,EAAC,qBAAqB,EAC1B,GAAG,EAAE,KAAK,CAAC,SAAS,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EACpD,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAC,KAAK,EAAE,KAAK,IAAK,OAAA,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,EAAtB,CAAsB,CAAC,CAAC,CAAC,SAAS,IAE1E,KAAK,CAAC,OAAO;YACZ,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,GAAG,IAAK,OAAA,CAC/B,oBAAC,gBAAgB,IACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,oBAAC,WAAW,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAI,EACpF,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,EAAC,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"RadioGroup.js","sourceRoot":"","sources":["../../../src/components/RadioGroup.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,KAAK,IAAI,QAAQ,EACjB,UAAU,IAAI,aAAa,GAC5B,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAI9C,IAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;AACzC,IAAM,KAAK,GAA2B,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAE1D,MAAM,CAAC,IAAM,UAAU,GAAG,UAAC,EAA4B;QAAvB,KAAK,cAAV,EAAY,CAAF;IAC3B,IAAA,QAAQ,GAAK,KAAK,SAAV,CAAW;IAE3B,OAAO,CACL,oBAAC,WAAW,IAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACnC,oBAAC,SAAS,IAAC,EAAE,EAAE,KAAK,CAAC,EAAE,IAAG,KAAK,CAAC,KAAK,CAAa;QAClD,oBAAC,aAAa,uBACK,KAAK,CAAC,EAAE,EACzB,YAAY,EAAE,KAAK,CAAC,OAAO,EAC3B,IAAI,EAAC,qBAAqB,EAC1B,GAAG,EAAE,KAAK,CAAC,SAAS,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EACpD,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAC,KAAK,EAAE,KAAK,IAAK,OAAA,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,EAAtB,CAAsB,CAAC,CAAC,CAAC,SAAS,IAE1E,KAAK,CAAC,OAAO;YACZ,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,GAAG,IAAK,OAAA,CAC/B,oBAAC,gBAAgB,IACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,oBAAC,WAAW,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAI,EACpF,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,EAAC,UAAU,EAAE,QAAQ,EAAC,GAC1B,CACH,EARgC,CAQhC,CAAC,CACU,CACJ,CACf,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { IconCardStyle, ServiceCardStyle, TitleContainer } from "./ServiceCard.s
|
|
|
3
3
|
import { Card } from "../Card";
|
|
4
4
|
import { IconifyIcon } from "../IconifyIcon";
|
|
5
5
|
export var ServiceCard = function (_a) {
|
|
6
|
-
var iconName = _a.iconName, onClick = _a.onClick, _b = _a.disabled, disabled = _b === void 0 ? false : _b, color = _a.color, iconColor = _a.iconColor, description = _a.description, title = _a.title;
|
|
6
|
+
var iconName = _a.iconName, onClick = _a.onClick, _b = _a.disabled, disabled = _b === void 0 ? false : _b, color = _a.color, iconColor = _a.iconColor, iconSize = _a.iconSize, description = _a.description, title = _a.title;
|
|
7
7
|
return (React.createElement(ServiceCardStyle, { disabled: disabled, "$bColor": iconColor },
|
|
8
8
|
React.createElement(Card, { border: true, variant: "outlined", onClick: function () {
|
|
9
9
|
if (disabled)
|
|
@@ -12,7 +12,7 @@ export var ServiceCard = function (_a) {
|
|
|
12
12
|
} },
|
|
13
13
|
React.createElement(TitleContainer, null,
|
|
14
14
|
React.createElement(IconCardStyle, { "$iColor": iconColor || "", "$bColor": color || "" },
|
|
15
|
-
React.createElement(IconifyIcon, { iconName: iconName || "", color: iconColor, size: "100%" })),
|
|
15
|
+
React.createElement(IconifyIcon, { iconName: iconName || "", color: iconColor, size: iconSize || "100%" })),
|
|
16
16
|
React.createElement("div", { className: "text" },
|
|
17
17
|
React.createElement("p", { className: "title" }, title),
|
|
18
18
|
React.createElement("p", { className: "description" }, description))))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceCard.js","sourceRoot":"","sources":["../../../../src/components/ServiceCard/ServiceCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,CAAC,IAAM,WAAW,GAA+B,UAAC,
|
|
1
|
+
{"version":3,"file":"ServiceCard.js","sourceRoot":"","sources":["../../../../src/components/ServiceCard/ServiceCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,CAAC,IAAM,WAAW,GAA+B,UAAC,EAAsF;QAArF,QAAQ,cAAA,EAAE,OAAO,aAAA,EAAE,gBAAgB,EAAhB,QAAQ,mBAAG,KAAK,KAAA,EAAE,KAAK,WAAA,EAAE,SAAS,eAAA,EAAE,QAAQ,cAAA,EAAE,WAAW,iBAAA,EAAE,KAAK,WAAA;IACxI,OAAO,CACH,oBAAC,gBAAgB,IAAC,QAAQ,EAAE,QAAQ,aAAW,SAAS;QACpD,oBAAC,IAAI,IACD,MAAM,EAAE,IAAI,EACZ,OAAO,EAAC,UAAU,EAClB,OAAO,EAAE;gBACL,IAAI,QAAQ;oBAAE,OAAO;gBACrB,OAAO,IAAI,OAAO,EAAE,CAAC;YACzB,CAAC;YAED,oBAAC,cAAc;gBACX,oBAAC,aAAa,eAAU,SAAS,IAAI,EAAE,aAAW,KAAK,IAAI,EAAE;oBACzD,oBAAC,WAAW,IAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,IAAI,MAAM,GAAG,CACxE;gBAChB,6BAAK,SAAS,EAAC,MAAM;oBACjB,2BAAG,SAAS,EAAC,OAAO,IAAE,KAAK,CAAK;oBAChC,2BAAG,SAAS,EAAC,aAAa,IAAE,WAAW,CAAK,CAC1C,CACO,CACd,CACQ,CACtB,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -11,6 +11,7 @@ export * from './DropDown';
|
|
|
11
11
|
export * from './IconButton';
|
|
12
12
|
export * from './Icons';
|
|
13
13
|
export * from './Modal';
|
|
14
|
+
export * from './NormaChatMessageBalloon';
|
|
14
15
|
export * from './Paper';
|
|
15
16
|
export * from './ProductCard/ProductCard';
|
|
16
17
|
export * from './ProgressBar';
|
|
@@ -11,6 +11,7 @@ export * from './DropDown';
|
|
|
11
11
|
export * from './IconButton';
|
|
12
12
|
export * from './Icons';
|
|
13
13
|
export * from './Modal';
|
|
14
|
+
export * from './NormaChatMessageBalloon';
|
|
14
15
|
export * from './Paper';
|
|
15
16
|
export * from './ProductCard/ProductCard';
|
|
16
17
|
export * from './ProgressBar';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,yCAAyC,CAAC;AACxD,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,yCAAyC,CAAC;AACxD,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,SAAS,CAAC;AACxB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ import { Tabs } from './components/Tabs';
|
|
|
14
14
|
import { Tag } from './components/Tag';
|
|
15
15
|
import { TextField } from './components/TextField';
|
|
16
16
|
import { DatePicker } from './components/DatePicker';
|
|
17
|
-
import { ChatMessage, ChatMessageBalloon, ProductCard, ServiceCard } from './components';
|
|
17
|
+
import { ChatMessage, ChatMessageBalloon, NormaChatMessageBalloon, ProductCard, ServiceCard } from './components';
|
|
18
18
|
import { NormaProvider } from './providers/NormaProvider';
|
|
19
19
|
import { themes, getPalette } from './helpers';
|
|
20
20
|
import DateInput from './components/DateInput';
|
|
@@ -31,4 +31,4 @@ import { TimeLine, TimeLineData } from './components/TimeLine/TimeLine';
|
|
|
31
31
|
import { ModalStatus } from './components/StatusModal/StatusModal';
|
|
32
32
|
import { breakpoints } from './utils/styledBreakpoints';
|
|
33
33
|
import { useTheme } from '@mui/material';
|
|
34
|
-
export { Accordion, Button, Card, ChatMessage, ChatMessageBalloon, CheckBox, DatePicker, getPalette, IconButton, Icons, Modal, Paper, ProgressBar, ProductCard, RadioGroup, RangerSlider, Select, Tabs, Tag, TextField, NormaProvider, themes, DateInput, Box, Breadcrumb, SelectInput, ServiceCard, MultiSelectInput, Text, Title, TextInput, Table, UncontrolledTable, UncontrolledTabs, ModalStatus, breakpoints, useTheme, TimeLine, TimeLineData, };
|
|
34
|
+
export { Accordion, Button, Card, ChatMessage, ChatMessageBalloon, CheckBox, DatePicker, getPalette, IconButton, Icons, Modal, Paper, ProgressBar, ProductCard, RadioGroup, RangerSlider, Select, Tabs, Tag, TextField, NormaProvider, themes, DateInput, Box, Breadcrumb, SelectInput, ServiceCard, MultiSelectInput, NormaChatMessageBalloon, Text, Title, TextInput, Table, UncontrolledTable, UncontrolledTabs, ModalStatus, breakpoints, useTheme, TimeLine, TimeLineData, };
|
package/dist/esm/index.js
CHANGED
|
@@ -14,7 +14,7 @@ import { Tabs } from './components/Tabs';
|
|
|
14
14
|
import { Tag } from './components/Tag';
|
|
15
15
|
import { TextField } from './components/TextField';
|
|
16
16
|
import { DatePicker } from './components/DatePicker';
|
|
17
|
-
import { ChatMessage, ChatMessageBalloon, ProductCard, ServiceCard } from './components';
|
|
17
|
+
import { ChatMessage, ChatMessageBalloon, NormaChatMessageBalloon, ProductCard, ServiceCard } from './components';
|
|
18
18
|
import { NormaProvider } from './providers/NormaProvider';
|
|
19
19
|
import { themes, getPalette } from './helpers';
|
|
20
20
|
import DateInput from './components/DateInput';
|
|
@@ -31,5 +31,5 @@ import { TimeLine } from './components/TimeLine/TimeLine';
|
|
|
31
31
|
import { ModalStatus } from './components/StatusModal/StatusModal';
|
|
32
32
|
import { breakpoints } from './utils/styledBreakpoints';
|
|
33
33
|
import { useTheme } from '@mui/material';
|
|
34
|
-
export { Accordion, Button, Card, ChatMessage, ChatMessageBalloon, CheckBox, DatePicker, getPalette, IconButton, Icons, Modal, Paper, ProgressBar, ProductCard, RadioGroup, RangerSlider, Select, Tabs, Tag, TextField, NormaProvider, themes, DateInput, Box, Breadcrumb, SelectInput, ServiceCard, MultiSelectInput, Text, Title, TextInput, Table, UncontrolledTable, UncontrolledTabs, ModalStatus, breakpoints, useTheme, TimeLine, };
|
|
34
|
+
export { Accordion, Button, Card, ChatMessage, ChatMessageBalloon, CheckBox, DatePicker, getPalette, IconButton, Icons, Modal, Paper, ProgressBar, ProductCard, RadioGroup, RangerSlider, Select, Tabs, Tag, TextField, NormaProvider, themes, DateInput, Box, Breadcrumb, SelectInput, ServiceCard, MultiSelectInput, NormaChatMessageBalloon, Text, Title, TextInput, Table, UncontrolledTable, UncontrolledTabs, ModalStatus, breakpoints, useTheme, TimeLine, };
|
|
35
35
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAClH,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,OAAO,GAAG,MAAM,kBAAkB,CAAC;AACnC,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,OAAO,KAAK,MAAM,oBAAoB,CAAC;AACvC,OAAO,iBAAiB,MAAM,gCAAgC,CAAC;AAC/D,OAAO,gBAAgB,MAAM,gDAAgD,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAgB,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EACL,SAAS,EACT,MAAM,EACN,IAAI,EACJ,WAAW,EACX,kBAAkB,EAClB,QAAQ,EACR,UAAU,EACV,UAAU,EACV,UAAU,EACV,KAAK,EACL,KAAK,EACL,KAAK,EACL,WAAW,EACX,WAAW,EACX,UAAU,EACV,YAAY,EACZ,MAAM,EACN,IAAI,EACJ,GAAG,EACH,SAAS,EACT,aAAa,EACb,MAAM,EACN,SAAS,EACT,GAAG,EACH,UAAU,EACV,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,uBAAuB,EACvB,IAAI,EACJ,KAAK,EACL,SAAS,EACT,KAAK,EACL,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,QAAQ,EACR,QAAQ,GAET,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ReactNode, MouseEventHandler } from "react";
|
|
2
|
+
export interface NormaChatMessageBalloonProps {
|
|
3
|
+
avatar?: {
|
|
4
|
+
src: string;
|
|
5
|
+
alt: string;
|
|
6
|
+
};
|
|
7
|
+
label?: string;
|
|
8
|
+
description?: ReactNode;
|
|
9
|
+
date?: string;
|
|
10
|
+
direction?: "I" | "O";
|
|
11
|
+
onMouseEnter?: MouseEventHandler<HTMLDivElement>;
|
|
12
|
+
onMouseLeave?: MouseEventHandler<HTMLDivElement>;
|
|
13
|
+
onRowMouseEnter?: MouseEventHandler<HTMLDivElement>;
|
|
14
|
+
onRowMouseLeave?: MouseEventHandler<HTMLDivElement>;
|
|
15
|
+
highlight?: boolean;
|
|
16
|
+
attachments?: string[];
|
|
17
|
+
children?: ReactNode;
|
|
18
|
+
bottomChildren?: ReactNode;
|
|
19
|
+
className?: string;
|
|
20
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NormaChatMessageBalloon.js","sourceRoot":"","sources":["../../../src/interfaces/NormaChatMessageBalloon.ts"],"names":[],"mappings":""}
|
|
@@ -4,11 +4,13 @@ export interface ProductCardProps {
|
|
|
4
4
|
disabled?: boolean;
|
|
5
5
|
color: string;
|
|
6
6
|
iconColor: string;
|
|
7
|
+
iconSize: string;
|
|
7
8
|
iconName: string;
|
|
8
9
|
title: string;
|
|
9
10
|
description: string;
|
|
10
11
|
hasBorder?: boolean;
|
|
11
12
|
flaggable?: boolean;
|
|
13
|
+
flagged?: boolean;
|
|
12
14
|
}
|
|
13
15
|
export interface BgIconProps {
|
|
14
16
|
$bColor: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "norma-library",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.85",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Olos/Norma-DS. Design System based on Material UI, developed with TypeScript and Styled Components to create reusable and consistent components in web applications.",
|
|
6
6
|
"scripts": {
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Typography } from "@mui/material";
|
|
3
|
+
import { NormaChatMessageBalloonProps } from "../../../interfaces";
|
|
4
|
+
import { ChatMessageBalloonStyle } from "../styles";
|
|
5
|
+
|
|
6
|
+
export default function Content({ label, description, direction, className }: NormaChatMessageBalloonProps) {
|
|
7
|
+
return (
|
|
8
|
+
<ChatMessageBalloonStyle direction={direction} className={className}>
|
|
9
|
+
<Typography
|
|
10
|
+
variant="subtitle2"
|
|
11
|
+
sx={{
|
|
12
|
+
fontSize: "1rem",
|
|
13
|
+
fontWeight: "600",
|
|
14
|
+
marginBottom: '5px'
|
|
15
|
+
}}
|
|
16
|
+
>
|
|
17
|
+
{label}
|
|
18
|
+
</Typography>
|
|
19
|
+
<Typography
|
|
20
|
+
variant="body1"
|
|
21
|
+
sx={{
|
|
22
|
+
fontSize: "0.9rem",
|
|
23
|
+
fontWeight: "400",
|
|
24
|
+
marginBottom: '5px'
|
|
25
|
+
}}
|
|
26
|
+
>
|
|
27
|
+
{description}
|
|
28
|
+
</Typography>
|
|
29
|
+
</ChatMessageBalloonStyle>
|
|
30
|
+
);
|
|
31
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { NormaChatMessageBalloonProps } from "../../../interfaces";
|
|
3
|
+
import { ChatMessageBalloonRowStyle, ChatMessageDateStyle } from "../styles";
|
|
4
|
+
|
|
5
|
+
export default function Date({ date }: NormaChatMessageBalloonProps) {
|
|
6
|
+
return (
|
|
7
|
+
<ChatMessageBalloonRowStyle>
|
|
8
|
+
<ChatMessageDateStyle fontSize={"0.7rem"}>{date}</ChatMessageDateStyle>
|
|
9
|
+
</ChatMessageBalloonRowStyle>
|
|
10
|
+
)
|
|
11
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { NormaChatMessageBalloonProps } from "../../../interfaces";
|
|
3
|
+
import Content from "./Content";
|
|
4
|
+
import Row from "./Row";
|
|
5
|
+
import Date from "./Date";
|
|
6
|
+
import { useChatMessageBalloon } from "../hook";
|
|
7
|
+
import { Avatar, Typography } from "@mui/material";
|
|
8
|
+
import Root from "./Root";
|
|
9
|
+
|
|
10
|
+
export default function MessageItem({ avatar, label, description, date, direction, onMouseEnter, highlight, children }: NormaChatMessageBalloonProps) {
|
|
11
|
+
const { balloonClassNames } = useChatMessageBalloon(onMouseEnter, highlight);
|
|
12
|
+
return (
|
|
13
|
+
<Root onMouseEnter={() => console.log('hover')} onMouseLeave={() => console.log('leave')}>
|
|
14
|
+
<Row direction={direction} onMouseEnter={() => console.log('row hover')} onMouseLeave={() => console.log('row leave')}>
|
|
15
|
+
<Content
|
|
16
|
+
label={label}
|
|
17
|
+
description={description}
|
|
18
|
+
direction={direction}
|
|
19
|
+
className={balloonClassNames}
|
|
20
|
+
/>
|
|
21
|
+
</Row>
|
|
22
|
+
<Row direction={direction}>
|
|
23
|
+
{avatar && (
|
|
24
|
+
<Avatar
|
|
25
|
+
sx={{
|
|
26
|
+
width: '30px',
|
|
27
|
+
height: '30px',
|
|
28
|
+
marginX: '10px',
|
|
29
|
+
position: 'relative',
|
|
30
|
+
}}
|
|
31
|
+
src={avatar?.src}
|
|
32
|
+
alt={avatar?.alt}
|
|
33
|
+
>
|
|
34
|
+
<Typography
|
|
35
|
+
sx={{
|
|
36
|
+
position: 'absolute',
|
|
37
|
+
top: '50%',
|
|
38
|
+
left: '50%',
|
|
39
|
+
transform: 'translate(-50%, -50%)',
|
|
40
|
+
}}
|
|
41
|
+
>
|
|
42
|
+
{avatar?.alt}
|
|
43
|
+
</Typography>
|
|
44
|
+
</Avatar>
|
|
45
|
+
)}
|
|
46
|
+
<Date date={date} />
|
|
47
|
+
</Row>
|
|
48
|
+
{/* Children located here */}
|
|
49
|
+
<Row direction={direction}>
|
|
50
|
+
{children}
|
|
51
|
+
</Row>
|
|
52
|
+
|
|
53
|
+
</Root>
|
|
54
|
+
);
|
|
55
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ChatMessageBalloonContainerStyle } from "../styles";
|
|
3
|
+
import { NormaChatMessageBalloonProps } from "../../../interfaces";
|
|
4
|
+
|
|
5
|
+
export default function Root({children, className, ...rest}: NormaChatMessageBalloonProps) {
|
|
6
|
+
return (
|
|
7
|
+
<ChatMessageBalloonContainerStyle className={className} {...rest}>
|
|
8
|
+
{children}
|
|
9
|
+
</ChatMessageBalloonContainerStyle>
|
|
10
|
+
)
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ChatMessageBalloonRowStyle } from "../styles";
|
|
3
|
+
import { NormaChatMessageBalloonProps } from "../../../interfaces";
|
|
4
|
+
|
|
5
|
+
export default function Row({children, direction, onRowMouseEnter, onRowMouseLeave }: NormaChatMessageBalloonProps) {
|
|
6
|
+
return (
|
|
7
|
+
<ChatMessageBalloonRowStyle direction={direction} onMouseLeave={onRowMouseLeave} onMouseEnter={onRowMouseEnter}>
|
|
8
|
+
{children}
|
|
9
|
+
</ChatMessageBalloonRowStyle>
|
|
10
|
+
);
|
|
11
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React, { useMemo } from "react"
|
|
2
|
+
|
|
3
|
+
export const useChatMessageBalloon = (onMouseEnter: React.MouseEventHandler<HTMLDivElement> | undefined, highlight: boolean | undefined) => {
|
|
4
|
+
const balloonClassNames = useMemo(() => {
|
|
5
|
+
const classNames = []
|
|
6
|
+
if(!!onMouseEnter) classNames.push('is-interactive')
|
|
7
|
+
if(!!highlight) classNames.push('is-highlight')
|
|
8
|
+
return classNames.join(" ")
|
|
9
|
+
}, [highlight, onMouseEnter])
|
|
10
|
+
|
|
11
|
+
return {balloonClassNames}
|
|
12
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import Content from "./components/Content";
|
|
2
|
+
import Date from "./components/Date";
|
|
3
|
+
import MessageItem from "./components/MessageItem";
|
|
4
|
+
import Root from "./components/Root";
|
|
5
|
+
import Row from "./components/Row";
|
|
6
|
+
|
|
7
|
+
export const NormaChatMessageBalloon = {
|
|
8
|
+
Root: Root,
|
|
9
|
+
Row: Row,
|
|
10
|
+
Content: Content,
|
|
11
|
+
MessageItem: MessageItem,
|
|
12
|
+
Date: Date,
|
|
13
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Box, Typography } from '@mui/material';
|
|
2
|
+
import { styled } from '@mui/material/styles';
|
|
3
|
+
|
|
4
|
+
export const ChatMessageBalloonContainerStyle: any = styled(Box)({
|
|
5
|
+
display: 'flex',
|
|
6
|
+
flexDirection: 'column',
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
export const ChatMessageBalloonRowStyle: any = styled('div')<{ direction: string }>`
|
|
10
|
+
display: flex;
|
|
11
|
+
margin-bottom: 8px;
|
|
12
|
+
flex-direction: ${props => (props.direction === 'I' ? 'row-reverse' : 'row')};
|
|
13
|
+
justify-content: flex-start;
|
|
14
|
+
align-items: flex-start;
|
|
15
|
+
vertical-align: middle;
|
|
16
|
+
&:last-child {
|
|
17
|
+
margin-bottom: 0px;
|
|
18
|
+
}
|
|
19
|
+
`;
|
|
20
|
+
|
|
21
|
+
export const ChatMessageBalloonStyle: any = styled('div')<{ direction: string }>`
|
|
22
|
+
background-color: ${props => (props.direction === 'I' ? '#FFF' : '#E18B50')};
|
|
23
|
+
border: 2px solid transparent;
|
|
24
|
+
border-radius: ${props => (props.direction === 'I' ? '20px 20px 0px 20px' : '20px 20px 20px 0px')};
|
|
25
|
+
box-sizing: border-box;
|
|
26
|
+
color: ${props => (props.direction === 'I' ? '#4D4F5B' : '#FFF')};
|
|
27
|
+
display: flex;
|
|
28
|
+
flex-direction: column;
|
|
29
|
+
padding: 12px 24px;
|
|
30
|
+
width: 60%;
|
|
31
|
+
transition: border 0.6s cubic-bezier(0.16, 1, 0.3, 1);
|
|
32
|
+
|
|
33
|
+
&.is-highlight {
|
|
34
|
+
border: 2px solid #8a8888;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
&.is-interactive {
|
|
38
|
+
cursor: pointer;
|
|
39
|
+
|
|
40
|
+
&:hover {
|
|
41
|
+
border: 2px solid #8a8888;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
`;
|
|
45
|
+
|
|
46
|
+
export const ChatMessageDateStyle: any = styled(Typography)`
|
|
47
|
+
color: #43425d;
|
|
48
|
+
opacity: 0.5;
|
|
49
|
+
margin-top: 7px;
|
|
50
|
+
`;
|
|
51
|
+
|
|
52
|
+
export const ChatMessageChildrenStyle: any = styled('div')<{ direction: string }>`
|
|
53
|
+
align-items: center;
|
|
54
|
+
box-sizing: border-box;
|
|
55
|
+
display: flex;
|
|
56
|
+
flex: 1;
|
|
57
|
+
justify-content: ${props => (props.direction === 'I' ? 'end' : 'start')};
|
|
58
|
+
padding: 8px;
|
|
59
|
+
`;
|
|
@@ -12,13 +12,15 @@ export const ProductCard: React.FC<ProductCardProps> = ({
|
|
|
12
12
|
// product = 'analytics'
|
|
13
13
|
color,
|
|
14
14
|
iconColor,
|
|
15
|
+
iconSize,
|
|
15
16
|
onClick,
|
|
16
17
|
hasBorder = true,
|
|
17
18
|
disabled = false,
|
|
18
19
|
title,
|
|
19
20
|
description,
|
|
20
21
|
iconName,
|
|
21
|
-
flaggable = false
|
|
22
|
+
flaggable = false,
|
|
23
|
+
flagged = false
|
|
22
24
|
}) => {
|
|
23
25
|
|
|
24
26
|
/* const colors: { [key: string]: string } = {
|
|
@@ -44,6 +46,7 @@ export const ProductCard: React.FC<ProductCardProps> = ({
|
|
|
44
46
|
event.preventDefault()
|
|
45
47
|
event.stopPropagation()
|
|
46
48
|
}}
|
|
49
|
+
color={flagged ? 'primary' : 'inherit'}
|
|
47
50
|
cursor="pointer"
|
|
48
51
|
>
|
|
49
52
|
<GradeIcon />
|
|
@@ -57,7 +60,7 @@ export const ProductCard: React.FC<ProductCardProps> = ({
|
|
|
57
60
|
$iColor={iconColor}
|
|
58
61
|
$bColor={color}
|
|
59
62
|
>
|
|
60
|
-
<IconifyIcon iconName={iconName} color={iconColor} size=
|
|
63
|
+
<IconifyIcon iconName={iconName} color={iconColor} size={iconSize || '2em'} />
|
|
61
64
|
</IconCardStyle>
|
|
62
65
|
<p>{title}</p>
|
|
63
66
|
</TitleContainer>
|
|
@@ -34,7 +34,7 @@ export const RadioGroup = ({ ...props }: RadioBaseProps) => {
|
|
|
34
34
|
control={<RadioStyled color={props.color} size={item.size ? item.size : sizes[1]} />}
|
|
35
35
|
label={item.label}
|
|
36
36
|
key={key}
|
|
37
|
-
sx={{alignItems: "
|
|
37
|
+
sx={{alignItems: "center"}}
|
|
38
38
|
/>
|
|
39
39
|
))}
|
|
40
40
|
</MuiRadioGroup>
|
|
@@ -4,7 +4,7 @@ import { IconCardStyle, ServiceCardStyle, TitleContainer } from "./ServiceCard.s
|
|
|
4
4
|
import { Card } from "../Card";
|
|
5
5
|
import { IconifyIcon } from "../IconifyIcon";
|
|
6
6
|
|
|
7
|
-
export const ServiceCard: React.FC<ServiceCardProps> = ({iconName, onClick, disabled = false, color, iconColor, description, title }) => {
|
|
7
|
+
export const ServiceCard: React.FC<ServiceCardProps> = ({iconName, onClick, disabled = false, color, iconColor, iconSize, description, title }) => {
|
|
8
8
|
return (
|
|
9
9
|
<ServiceCardStyle disabled={disabled} $bColor={iconColor}>
|
|
10
10
|
<Card
|
|
@@ -17,7 +17,7 @@ export const ServiceCard: React.FC<ServiceCardProps> = ({iconName, onClick, disa
|
|
|
17
17
|
>
|
|
18
18
|
<TitleContainer>
|
|
19
19
|
<IconCardStyle $iColor={iconColor || ""} $bColor={color || ""}>
|
|
20
|
-
<IconifyIcon iconName={iconName || ""} color={iconColor} size="100%"/>
|
|
20
|
+
<IconifyIcon iconName={iconName || ""} color={iconColor} size={iconSize || "100%"}/>
|
|
21
21
|
</IconCardStyle>
|
|
22
22
|
<div className="text">
|
|
23
23
|
<p className="title">{title}</p>
|
package/src/components/index.ts
CHANGED
|
@@ -11,6 +11,7 @@ export * from './DropDown';
|
|
|
11
11
|
export * from './IconButton';
|
|
12
12
|
export * from './Icons';
|
|
13
13
|
export * from './Modal';
|
|
14
|
+
export * from './NormaChatMessageBalloon';
|
|
14
15
|
export * from './Paper';
|
|
15
16
|
export * from './ProductCard/ProductCard';
|
|
16
17
|
export * from './ProgressBar';
|
package/src/index.ts
CHANGED
|
@@ -14,7 +14,7 @@ import { Tabs } from './components/Tabs';
|
|
|
14
14
|
import { Tag } from './components/Tag';
|
|
15
15
|
import { TextField } from './components/TextField';
|
|
16
16
|
import { DatePicker } from './components/DatePicker';
|
|
17
|
-
import { ChatMessage, ChatMessageBalloon, ProductCard, ServiceCard } from './components';
|
|
17
|
+
import { ChatMessage, ChatMessageBalloon, NormaChatMessageBalloon, ProductCard, ServiceCard } from './components';
|
|
18
18
|
import { NormaProvider } from './providers/NormaProvider';
|
|
19
19
|
import { themes, getPalette } from './helpers';
|
|
20
20
|
import DateInput from './components/DateInput';
|
|
@@ -32,6 +32,7 @@ import { ModalStatus } from './components/StatusModal/StatusModal';
|
|
|
32
32
|
import { breakpoints } from './utils/styledBreakpoints';
|
|
33
33
|
|
|
34
34
|
import { useTheme } from '@mui/material';
|
|
35
|
+
import { IconifyIcon } from './components/IconifyIcon';
|
|
35
36
|
|
|
36
37
|
export {
|
|
37
38
|
Accordion,
|
|
@@ -43,6 +44,7 @@ export {
|
|
|
43
44
|
DatePicker,
|
|
44
45
|
getPalette,
|
|
45
46
|
IconButton,
|
|
47
|
+
IconifyIcon,
|
|
46
48
|
Icons,
|
|
47
49
|
Modal,
|
|
48
50
|
Paper,
|
|
@@ -62,6 +64,7 @@ export {
|
|
|
62
64
|
SelectInput,
|
|
63
65
|
ServiceCard,
|
|
64
66
|
MultiSelectInput,
|
|
67
|
+
NormaChatMessageBalloon,
|
|
65
68
|
Text,
|
|
66
69
|
Title,
|
|
67
70
|
TextInput,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ReactNode, MouseEventHandler } from "react";
|
|
2
|
+
|
|
3
|
+
export interface NormaChatMessageBalloonProps {
|
|
4
|
+
avatar?: {
|
|
5
|
+
src: string;
|
|
6
|
+
alt: string;
|
|
7
|
+
}
|
|
8
|
+
label?: string;
|
|
9
|
+
description?: ReactNode;
|
|
10
|
+
date?: string;
|
|
11
|
+
direction?: "I" | "O";
|
|
12
|
+
onMouseEnter?: MouseEventHandler<HTMLDivElement>;
|
|
13
|
+
onMouseLeave?: MouseEventHandler<HTMLDivElement>;
|
|
14
|
+
onRowMouseEnter?: MouseEventHandler<HTMLDivElement>;
|
|
15
|
+
onRowMouseLeave?: MouseEventHandler<HTMLDivElement>;
|
|
16
|
+
highlight?: boolean;
|
|
17
|
+
attachments?: string[];
|
|
18
|
+
children?: ReactNode;
|
|
19
|
+
bottomChildren?: ReactNode;
|
|
20
|
+
className?: string;
|
|
21
|
+
}
|
|
@@ -6,11 +6,13 @@ export interface ProductCardProps {
|
|
|
6
6
|
disabled?: boolean
|
|
7
7
|
color: string
|
|
8
8
|
iconColor: string
|
|
9
|
+
iconSize: string
|
|
9
10
|
iconName: string
|
|
10
11
|
title: string
|
|
11
12
|
description: string
|
|
12
13
|
hasBorder?: boolean
|
|
13
14
|
flaggable?: boolean
|
|
15
|
+
flagged?: boolean
|
|
14
16
|
}
|
|
15
17
|
|
|
16
18
|
|
package/src/interfaces/index.ts
CHANGED
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { Meta } from '@storybook/react';
|
|
3
|
+
import { IconButton, NormaChatMessageBalloon } from '../components';
|
|
4
|
+
import { useChatMessageBalloon } from '../components/NormaChatMessageBalloon/hook';
|
|
5
|
+
import { Avatar, Box, Typography } from '@mui/material';
|
|
6
|
+
import { IconifyIcon } from '../components/IconifyIcon';
|
|
7
|
+
|
|
8
|
+
const messageArr = [
|
|
9
|
+
{
|
|
10
|
+
direction: 'O' as 'O',
|
|
11
|
+
label: "Teste de Título",
|
|
12
|
+
description: "lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla nec purus feugiat, molestie ipsum et, varius velit. Nulla nec purus feugiat, molestie ipsum et, varius velit.",
|
|
13
|
+
date: "06/02/2025",
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
direction: 'I' as 'I',
|
|
17
|
+
label: "Teste de Título",
|
|
18
|
+
description: "lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla nec purus feugiat, molestie ipsum et, varius velit. Nulla nec purus feugiat, molestie ipsum et, varius velit.",
|
|
19
|
+
date: "06/02/2025",
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
direction: 'O' as 'O',
|
|
23
|
+
label: "Teste de Título",
|
|
24
|
+
description: "lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla nec purus feugiat, molestie ipsum et, varius velit. Nulla nec purus feugiat, molestie ipsum et, varius velit.",
|
|
25
|
+
date: "07/02/2025",
|
|
26
|
+
}
|
|
27
|
+
];
|
|
28
|
+
|
|
29
|
+
const avatars = {
|
|
30
|
+
O: {
|
|
31
|
+
src: '',
|
|
32
|
+
alt: 'HC'
|
|
33
|
+
},
|
|
34
|
+
I: {
|
|
35
|
+
src: 'https://letsenhance.io/static/73136da51c245e80edc6ccfe44888a99/1015f/MainBefore.jpg',
|
|
36
|
+
alt: 'MB'
|
|
37
|
+
},
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
const Template = () => {
|
|
41
|
+
return (
|
|
42
|
+
<>
|
|
43
|
+
{messageArr.map((message, index) => {
|
|
44
|
+
const { balloonClassNames } = useChatMessageBalloon(() => console.log('hover'), false);
|
|
45
|
+
return (
|
|
46
|
+
<Box key={index} sx={{
|
|
47
|
+
display: 'flex',
|
|
48
|
+
justifyContent: 'center',
|
|
49
|
+
alignItems: 'center',
|
|
50
|
+
backgroundColor: '#F5F5F5',
|
|
51
|
+
padding: '20px',
|
|
52
|
+
}}>
|
|
53
|
+
<NormaChatMessageBalloon.Root onMouseEnter={() => console.log('hover')} onMouseLeave={() => console.log('leave')}>
|
|
54
|
+
<NormaChatMessageBalloon.Row direction={message.direction} onMouseEnter={() => console.log('row hover')} onMouseLeave={() => console.log('row leave')}>
|
|
55
|
+
<NormaChatMessageBalloon.Content
|
|
56
|
+
label={message.label}
|
|
57
|
+
description={message.description}
|
|
58
|
+
direction={message.direction}
|
|
59
|
+
className={balloonClassNames}
|
|
60
|
+
/>
|
|
61
|
+
</NormaChatMessageBalloon.Row>
|
|
62
|
+
<NormaChatMessageBalloon.Row direction={message.direction}>
|
|
63
|
+
<NormaChatMessageBalloon.Date date={message.date} />
|
|
64
|
+
</NormaChatMessageBalloon.Row>
|
|
65
|
+
</NormaChatMessageBalloon.Root>
|
|
66
|
+
</Box>
|
|
67
|
+
);
|
|
68
|
+
})}
|
|
69
|
+
</>
|
|
70
|
+
);
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
const TemplateWithAvatar = () => {
|
|
74
|
+
return (
|
|
75
|
+
<>
|
|
76
|
+
{messageArr.map((message, index) => {
|
|
77
|
+
const { balloonClassNames } = useChatMessageBalloon(() => console.log('hover'), false);
|
|
78
|
+
return (
|
|
79
|
+
<Box key={index} sx={{
|
|
80
|
+
display: 'flex',
|
|
81
|
+
justifyContent: 'center',
|
|
82
|
+
alignItems: 'center',
|
|
83
|
+
backgroundColor: '#F5F5F5',
|
|
84
|
+
padding: '20px',
|
|
85
|
+
}}>
|
|
86
|
+
<NormaChatMessageBalloon.Root onMouseEnter={() => console.log('hover')} onMouseLeave={() => console.log('leave')}>
|
|
87
|
+
<NormaChatMessageBalloon.Row direction={message.direction} onMouseEnter={() => console.log('row hover')} onMouseLeave={() => console.log('row leave')}>
|
|
88
|
+
<NormaChatMessageBalloon.Content
|
|
89
|
+
label={message.label}
|
|
90
|
+
description={message.description}
|
|
91
|
+
direction={message.direction}
|
|
92
|
+
className={balloonClassNames}
|
|
93
|
+
|
|
94
|
+
/>
|
|
95
|
+
</NormaChatMessageBalloon.Row>
|
|
96
|
+
<NormaChatMessageBalloon.Row direction={message.direction}>
|
|
97
|
+
<Avatar
|
|
98
|
+
sx={{
|
|
99
|
+
width: '30px',
|
|
100
|
+
height: '30px',
|
|
101
|
+
marginX: '10px',
|
|
102
|
+
position: 'relative',
|
|
103
|
+
}}
|
|
104
|
+
src={avatars[message.direction].src}
|
|
105
|
+
alt={avatars[message.direction].alt}
|
|
106
|
+
>
|
|
107
|
+
<Typography
|
|
108
|
+
sx={{
|
|
109
|
+
position: 'absolute',
|
|
110
|
+
top: '50%',
|
|
111
|
+
left: '50%',
|
|
112
|
+
transform: 'translate(-50%, -50%)',
|
|
113
|
+
}}
|
|
114
|
+
>
|
|
115
|
+
{avatars[message.direction].alt}
|
|
116
|
+
</Typography>
|
|
117
|
+
</Avatar>
|
|
118
|
+
<NormaChatMessageBalloon.Date date={message.date} />
|
|
119
|
+
</NormaChatMessageBalloon.Row>
|
|
120
|
+
</NormaChatMessageBalloon.Root>
|
|
121
|
+
</Box>
|
|
122
|
+
);
|
|
123
|
+
})}
|
|
124
|
+
</>
|
|
125
|
+
);
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
const TemplateWithChildren = () => {
|
|
129
|
+
return (
|
|
130
|
+
<>
|
|
131
|
+
{messageArr.map((message, index) => {
|
|
132
|
+
const { balloonClassNames } = useChatMessageBalloon(() => console.log('hover'), false);
|
|
133
|
+
return (
|
|
134
|
+
<Box key={index} sx={{
|
|
135
|
+
display: 'flex',
|
|
136
|
+
justifyContent: 'center',
|
|
137
|
+
alignItems: 'center',
|
|
138
|
+
backgroundColor: '#F5F5F5',
|
|
139
|
+
padding: '20px',
|
|
140
|
+
}}>
|
|
141
|
+
<NormaChatMessageBalloon.Root onMouseEnter={() => console.log('hover')} onMouseLeave={() => console.log('leave')}>
|
|
142
|
+
<NormaChatMessageBalloon.Row direction={message.direction} onMouseEnter={() => console.log('row hover')} onMouseLeave={() => console.log('row leave')}>
|
|
143
|
+
<NormaChatMessageBalloon.Content
|
|
144
|
+
label={message.label}
|
|
145
|
+
description={message.description}
|
|
146
|
+
direction={message.direction}
|
|
147
|
+
className={balloonClassNames}
|
|
148
|
+
/>
|
|
149
|
+
</NormaChatMessageBalloon.Row>
|
|
150
|
+
<NormaChatMessageBalloon.Row direction={message.direction}>
|
|
151
|
+
<NormaChatMessageBalloon.Date date={message.date} />
|
|
152
|
+
</NormaChatMessageBalloon.Row>
|
|
153
|
+
{/* Children located here */}
|
|
154
|
+
<NormaChatMessageBalloon.Row direction={message.direction}>
|
|
155
|
+
<IconButton>
|
|
156
|
+
<IconifyIcon iconName="bx:bx-smile" size='2rem' color='#E18B50' />
|
|
157
|
+
</IconButton>
|
|
158
|
+
<IconButton>
|
|
159
|
+
<IconifyIcon iconName="uil:atom" size='2rem' color='#E18B50' />
|
|
160
|
+
</IconButton>
|
|
161
|
+
<p>...children</p>
|
|
162
|
+
</NormaChatMessageBalloon.Row>
|
|
163
|
+
|
|
164
|
+
</NormaChatMessageBalloon.Root>
|
|
165
|
+
</Box>
|
|
166
|
+
);
|
|
167
|
+
})}
|
|
168
|
+
</>
|
|
169
|
+
);
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
const SimplifiedTemplate = () => {
|
|
173
|
+
return (
|
|
174
|
+
<>
|
|
175
|
+
{messageArr.map((message, index) => {
|
|
176
|
+
const { balloonClassNames } = useChatMessageBalloon(() => console.log('hover'), false);
|
|
177
|
+
return (
|
|
178
|
+
<Box key={index} sx={{
|
|
179
|
+
display: 'flex',
|
|
180
|
+
justifyContent: 'center',
|
|
181
|
+
alignItems: 'center',
|
|
182
|
+
backgroundColor: '#F5F5F5',
|
|
183
|
+
padding: '20px',
|
|
184
|
+
}}>
|
|
185
|
+
<NormaChatMessageBalloon.Root onMouseEnter={() => console.log('hover')} onMouseLeave={() => console.log('leave')}>
|
|
186
|
+
<NormaChatMessageBalloon.MessageItem
|
|
187
|
+
direction={message.direction}
|
|
188
|
+
label={message.label}
|
|
189
|
+
description={message.description}
|
|
190
|
+
onMouseEnter={() => console.log('row hover')}
|
|
191
|
+
onMouseLeave={() => console.log('row leave')}
|
|
192
|
+
className={balloonClassNames}
|
|
193
|
+
avatar={avatars[message.direction]}
|
|
194
|
+
children={
|
|
195
|
+
<>
|
|
196
|
+
<IconButton>
|
|
197
|
+
<IconifyIcon iconName="bx:bx-smile" size='2rem' color='#E18B50' />
|
|
198
|
+
</IconButton>
|
|
199
|
+
<IconButton>
|
|
200
|
+
<IconifyIcon iconName="uil:atom" size='2rem' color='#E18B50' />
|
|
201
|
+
</IconButton>
|
|
202
|
+
<p>...children</p>
|
|
203
|
+
</>
|
|
204
|
+
}
|
|
205
|
+
/>
|
|
206
|
+
</NormaChatMessageBalloon.Root>
|
|
207
|
+
</Box>
|
|
208
|
+
);
|
|
209
|
+
})}
|
|
210
|
+
</>
|
|
211
|
+
);
|
|
212
|
+
};
|
|
213
|
+
|
|
214
|
+
const meta = {
|
|
215
|
+
title: 'Norma/ChatMessageBalloon',
|
|
216
|
+
component: Template,
|
|
217
|
+
parameters: {
|
|
218
|
+
layout: 'centered',
|
|
219
|
+
},
|
|
220
|
+
tags: ['autodocs'],
|
|
221
|
+
argTypes: {},
|
|
222
|
+
} satisfies Meta<typeof Template>;
|
|
223
|
+
|
|
224
|
+
export default meta;
|
|
225
|
+
|
|
226
|
+
export const Default = Template.bind({});
|
|
227
|
+
export const WithAvatar = TemplateWithAvatar.bind({});
|
|
228
|
+
export const WithChildren = TemplateWithChildren.bind({});
|
|
229
|
+
export const Simplified = SimplifiedTemplate.bind({});
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Meta, ColorPalette, ColorItem } from "@storybook/blocks";
|
|
2
|
-
import { Box, Card, Grid, Typography, Paper } from "@mui/material";
|
|
3
|
-
import { palette } from "../helpers";
|
|
4
|
-
import { iconsSVG } from "../components/Svgs";
|
|
5
|
-
import { Icons } from "../components/Icons";
|
|
6
|
-
|
|
7
|
-
<Meta title="Display/Icons" />
|
|
8
|
-
|
|
9
|
-
<Grid container spacing={2}>
|
|
10
|
-
<Grid item xs={12}>
|
|
11
|
-
<Typography variant="h5">Norma DS Icons</Typography>
|
|
12
|
-
</Grid>
|
|
13
|
-
{Object.keys(iconsSVG).map((key) => (
|
|
14
|
-
<Grid item xs={3} key={key}>
|
|
15
|
-
<Paper sx={{ padding: 2 }}>
|
|
16
|
-
<Typography variant={"body1"}> {key} </Typography>
|
|
17
|
-
<Icons icon={key} scale="xsmall" />
|
|
18
|
-
<Icons icon={key} scale="small" color="secondary" />
|
|
19
|
-
<Icons icon={key} scale="medium" color="error" />
|
|
20
|
-
<Icons icon={key} scale="large" color="warning" />
|
|
21
|
-
<Icons icon={key} scale="xlarge" color="success" />
|
|
22
|
-
<Icons icon={key} scale="2xlarge" color="black" />
|
|
23
|
-
<Icons icon={key} scale="3xlarge" color="primary" />
|
|
24
|
-
</Paper>
|
|
25
|
-
</Grid>
|
|
26
|
-
))}
|
|
27
|
-
</Grid>
|