@heliux-org/design-system-core 0.0.121 → 0.0.122
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/Table.js +1 -1
- package/dist/Table.js.map +1 -1
- package/dist/components/Comments/Comments.js +13 -10
- package/dist/components/Comments/Comments.js.map +1 -1
- package/dist/components/NewTable/components/newComponents/pagination/Pagination.js +1 -1
- package/dist/components/NewTable/components/newComponents/pagination/Pagination.js.map +1 -1
- package/dist/components/NewTable/components/useLeafyGreenTable/useLeafyGreenTable.js +2 -2
- package/dist/components/NewTable/components/useLeafyGreenTable/useLeafyGreenTable.js.map +1 -1
- package/dist/esm/components/Comments/Comments.d.ts +10 -3
- package/dist/esm/components/Comments/Comments.d.ts.map +1 -1
- package/dist/esm/components/NewTable/components/newComponents/pagination/Pagination.d.ts +1 -1
- package/dist/esm/components/NewTable/components/newComponents/pagination/Pagination.d.ts.map +1 -1
- package/dist/esm/components/NewTable/components/useLeafyGreenTable/useLeafyGreenTable.d.ts +1 -1
- package/dist/esm/components/NewTable/components/useLeafyGreenTable/useLeafyGreenTable.d.ts.map +1 -1
- package/dist/esm/src/components/Comments/Comments.js +1 -1
- package/dist/esm/src/components/Comments/Comments.js.map +1 -1
- package/dist/esm/src/components/Comments/comments.scss.js +1 -1
- package/dist/esm/src/components/NewTable/components/newComponents/pagination/Pagination.js +1 -1
- package/dist/esm/src/components/NewTable/components/newComponents/pagination/Pagination.js.map +1 -1
- package/dist/esm/src/components/NewTable/components/useLeafyGreenTable/useLeafyGreenTable.js +1 -1
- package/dist/esm/src/components/NewTable/components/useLeafyGreenTable/useLeafyGreenTable.js.map +1 -1
- package/dist/main.css +1 -1
- package/dist/main.css.map +1 -1
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/mocked_classnames_esm/components/Comments/Comments.d.ts +10 -3
- package/dist/mocked_classnames_esm/components/Comments/Comments.d.ts.map +1 -1
- package/dist/mocked_classnames_esm/components/NewTable/components/newComponents/pagination/Pagination.d.ts +1 -1
- package/dist/mocked_classnames_esm/components/NewTable/components/newComponents/pagination/Pagination.d.ts.map +1 -1
- package/dist/mocked_classnames_esm/components/NewTable/components/useLeafyGreenTable/useLeafyGreenTable.d.ts +1 -1
- package/dist/mocked_classnames_esm/components/NewTable/components/useLeafyGreenTable/useLeafyGreenTable.d.ts.map +1 -1
- package/dist/mocked_classnames_esm/src/components/Comments/Comments.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Comments/Comments.js.map +1 -1
- package/dist/mocked_classnames_esm/src/components/Comments/comments.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/NewTable/components/newComponents/pagination/Pagination.js +1 -1
- package/dist/mocked_classnames_esm/src/components/NewTable/components/newComponents/pagination/Pagination.js.map +1 -1
- package/dist/mocked_classnames_esm/src/components/NewTable/components/useLeafyGreenTable/useLeafyGreenTable.js +1 -1
- package/dist/mocked_classnames_esm/src/components/NewTable/components/useLeafyGreenTable/useLeafyGreenTable.js.map +1 -1
- package/dist/types/components/Comments/Comments.d.ts +10 -3
- package/dist/types/components/Comments/Comments.d.ts.map +1 -1
- package/dist/types/components/NewTable/components/newComponents/pagination/Pagination.d.ts +1 -1
- package/dist/types/components/NewTable/components/newComponents/pagination/Pagination.d.ts.map +1 -1
- package/dist/types/components/NewTable/components/useLeafyGreenTable/useLeafyGreenTable.d.ts +1 -1
- package/dist/types/components/NewTable/components/useLeafyGreenTable/useLeafyGreenTable.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/components/Comments/Comments.tsx +60 -23
- package/src/components/Comments/comments.scss +9 -0
- package/src/components/NewTable/__stories__/NewTable.stories.tsx +0 -8
- package/src/components/NewTable/components/newComponents/pagination/Pagination.tsx +1 -1
- package/src/components/NewTable/components/useLeafyGreenTable/useLeafyGreenTable.tsx +0 -2
@@ -13,22 +13,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
13
13
|
};
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
15
15
|
exports.UserCard = exports.Comment = exports.CommentForm = exports.Comments = void 0;
|
16
|
-
const react_1 = require("react");
|
17
16
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
17
|
+
const react_1 = require("react");
|
18
18
|
const react_2 = require("react");
|
19
19
|
require("./comments.scss");
|
20
20
|
const Avatar_1 = __importDefault(require("../Avatar/Avatar"));
|
21
21
|
const TextAreaField_1 = __importDefault(require("../TextAreaField/TextAreaField"));
|
22
|
-
const Button_1 = require("../Button");
|
23
22
|
const Flex_1 = __importDefault(require("../Flex/Flex"));
|
24
23
|
const Avatar_2 = require("../Avatar");
|
25
|
-
const
|
24
|
+
const Button_1 = __importDefault(require("../Button/Button"));
|
26
25
|
const Flex_2 = require("../Flex");
|
27
|
-
|
28
|
-
|
26
|
+
const Info_1 = __importDefault(require("../Icon/Icons/components/Info"));
|
27
|
+
const Text_1 = __importDefault(require("../Text/Text"));
|
28
|
+
const Icon_1 = __importDefault(require("../Icon/Icon"));
|
29
|
+
const Attach_1 = __importDefault(require("../Icon/Icons/components/Attach"));
|
30
|
+
function Comments({ comments, currentUser, onCommentSubmitted, isLabel = false, label, onClickAttachment }) {
|
31
|
+
return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ className: 'comments' }, { children: [comments.length > 0 && ((0, jsx_runtime_1.jsx)(Flex_1.default, Object.assign({ direction: Flex_2.FlexDirection.COLUMN, style: { marginBottom: "var(--spacing-large)" }, gap: Flex_2.FlexGap.MEDIUM, align: Flex_2.FlexAlign.STRETCH }, { children: comments.map((comment, i) => (0, react_1.createElement)(Comment, Object.assign({}, comment, { currentUser: currentUser, key: i }))) }))), (0, jsx_runtime_1.jsx)(CommentForm, { onCommentSubmitted: onCommentSubmitted, currentUser: currentUser, isLabel: isLabel, label: label, onClickAttachment: onClickAttachment })] })));
|
29
32
|
}
|
30
33
|
exports.Comments = Comments;
|
31
|
-
function CommentForm({ onCommentSubmitted, currentUser }) {
|
34
|
+
function CommentForm({ onCommentSubmitted, currentUser, isLabel = false, label, onClickAttachment }) {
|
32
35
|
const [isWaiting, setIsWaiting] = (0, react_2.useState)(false);
|
33
36
|
const [text, setText] = (0, react_2.useState)('');
|
34
37
|
const onSubmit = (0, react_2.useCallback)((text) => __awaiter(this, void 0, void 0, function* () {
|
@@ -39,15 +42,15 @@ function CommentForm({ onCommentSubmitted, currentUser }) {
|
|
39
42
|
setText('');
|
40
43
|
}
|
41
44
|
}), [onCommentSubmitted]);
|
42
|
-
return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ className: 'comments-top' }, { children: [(0, jsx_runtime_1.jsx)("
|
45
|
+
return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ className: 'comments-top' }, { children: [(0, jsx_runtime_1.jsxs)(Flex_1.default, Object.assign({ gap: Flex_1.default.gaps.SMALL }, { children: [isLabel && label.status === "internal" && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Icon_1.default, { iconType: Icon_1.default.type.SVG, style: { color: "#757575" }, icon: Info_1.default, iconSize: 20, clickable: false }), (0, jsx_runtime_1.jsx)(Text_1.default, Object.assign({ type: Text_1.default.types.TEXT1, color: Text_1.default.colors.SECONDARY }, { children: "This is an internal conversation" }))] })), isLabel && label.status === "external" && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Icon_1.default, { iconType: Icon_1.default.type.SVG, style: { color: "#FF0020" }, icon: Info_1.default, iconSize: 20, clickable: false }), (0, jsx_runtime_1.jsx)(Text_1.default, Object.assign({ type: Text_1.default.types.TEXT1, style: { color: "#BB0018" } }, { children: "This is an external conversation" }))] }))] })), (0, jsx_runtime_1.jsx)(TextAreaField_1.default, { disabled: isWaiting, onChange: setText, placeholder: 'What’s on your mind...', rows: 2, value: text }), (0, jsx_runtime_1.jsx)("div", Object.assign({ className: 'comments-buttons' }, { children: (0, jsx_runtime_1.jsx)(Button_1.default, Object.assign({ disabled: !text || isWaiting, onClick: () => onSubmit(text), size: Button_1.default.sizes.SMALL, style: { width: "100%" } }, { children: "Send" })) })), (0, jsx_runtime_1.jsxs)(Button_1.default, Object.assign({ onClick: onClickAttachment, size: Button_1.default.sizes.SMALL, kind: Button_1.default.kinds.TERTIARY, style: { marginTop: "var(--spacing-small)" } }, { children: [(0, jsx_runtime_1.jsx)(Icon_1.default, { iconType: Icon_1.default.type.SVG, style: { color: "#375D81", transform: "rotate(30deg)" }, icon: Attach_1.default, iconSize: 17, clickable: false }), (0, jsx_runtime_1.jsx)(Text_1.default, Object.assign({ type: Text_1.default.types.TEXT2, style: { color: "#375D81", marginTop: "2px" } }, { children: "Attachment" }))] }))] })));
|
43
46
|
}
|
44
47
|
exports.CommentForm = CommentForm;
|
45
|
-
function Comment({ author, commentedAt, label, text }) {
|
46
|
-
return ((0, jsx_runtime_1.jsxs)(Flex_1.default, Object.assign({ direction: Flex_2.FlexDirection.COLUMN, align: Flex_2.FlexAlign.STRETCH, className: 'comment' }, { children: [(0, jsx_runtime_1.jsxs)(Flex_1.default, Object.assign({ direction: Flex_2.FlexDirection.ROW, gap: Flex_2.FlexGap.SMALL, className: 'comment-data' }, { children: [!!label && ((0, jsx_runtime_1.jsx)(
|
48
|
+
function Comment({ author, commentedAt, label, text, currentUser }) {
|
49
|
+
return ((0, jsx_runtime_1.jsxs)(Flex_1.default, Object.assign({ direction: Flex_2.FlexDirection.COLUMN, align: Flex_2.FlexAlign.STRETCH, className: 'comment' }, { children: [(0, jsx_runtime_1.jsxs)(Flex_1.default, Object.assign({ direction: Flex_2.FlexDirection.ROW, gap: Flex_2.FlexGap.SMALL, className: 'comment-data' }, { children: [!!label && ((0, jsx_runtime_1.jsx)(Text_1.default, Object.assign({ className: 'comment-label', type: Text_1.default.types.TEXT2 }, { children: label }))), (0, jsx_runtime_1.jsx)("div", Object.assign({ className: 'comment-user' }, { children: author && (0, jsx_runtime_1.jsx)(UserCard, { user: author }) })), (0, jsx_runtime_1.jsx)(Text_1.default, Object.assign({ className: 'comment-date', color: Text_1.default.colors.SECONDARY, type: Text_1.default.types.TEXT2 }, { children: commentedAt.toLocaleString() }))] })), (0, jsx_runtime_1.jsx)(Text_1.default, Object.assign({ className: `comment-text ${currentUser.id === author.id && "comment-currentUser"}`, type: Text_1.default.types.TEXT1 }, { children: text }))] })));
|
47
50
|
}
|
48
51
|
exports.Comment = Comment;
|
49
52
|
function UserCard({ user }) {
|
50
|
-
return ((0, jsx_runtime_1.jsxs)(Flex_1.default, Object.assign({ gap: Flex_2.FlexGap.XS }, { children: [(0, jsx_runtime_1.jsx)(Avatar_1.default, { size: Avatar_1.default.sizes.MEDIUM, type: Avatar_2.AvatarType.TEXT, backgroundColor: Avatar_1.default.colors.STEEL_DARK, text: toInitials(user.name) }), (0, jsx_runtime_1.jsx)("div", Object.assign({ className: 'comment-user-name' }, { children: user.name }))] })));
|
53
|
+
return ((0, jsx_runtime_1.jsxs)(Flex_1.default, Object.assign({ gap: Flex_2.FlexGap.XS }, { children: [(0, jsx_runtime_1.jsx)(Avatar_1.default, { size: Avatar_1.default.sizes.MEDIUM, type: Avatar_2.AvatarType.TEXT, backgroundColor: Avatar_1.default.colors.STEEL_DARK, text: toInitials(user.name) }), (0, jsx_runtime_1.jsx)("div", Object.assign({ className: 'comment-user-name' }, { children: (0, jsx_runtime_1.jsx)(Text_1.default, Object.assign({ type: Text_1.default.types.TEXT2, weight: Text_1.default.weights.BOLD }, { children: user.name })) }))] })));
|
51
54
|
}
|
52
55
|
exports.UserCard = UserCard;
|
53
56
|
function toInitials(fullName) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Comments.js","sourceRoot":"","sources":["../../../src/components/Comments/Comments.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iCAAqD;AAErD,2BAAyB;AACzB,8DAAsC;AACtC,mFAA2D;AAC3D,
|
1
|
+
{"version":3,"file":"Comments.js","sourceRoot":"","sources":["../../../src/components/Comments/Comments.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iCAAqD;AAErD,2BAAyB;AACzB,8DAAsC;AACtC,mFAA2D;AAC3D,wDAAgC;AAChC,sCAAuC;AACvC,8DAAsC;AACtC,kCAA4D;AAC5D,yEAAiD;AACjD,wDAAgC;AAChC,wDAAgC;AAChC,6EAAqD;AA4BrD,SAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE,OAAO,GAAG,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAiB;IAC5H,OAAO,CACH,+CAAK,SAAS,EAAE,UAAU,iBACrB,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CACpB,uBAAC,cAAI,kBAAC,SAAS,EAAE,oBAAa,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,sBAAsB,EAAE,EAAE,GAAG,EAAE,cAAO,CAAC,MAAM,EAAE,KAAK,EAAE,gBAAS,CAAC,OAAO,gBAChI,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,2BAAC,OAAO,oBAAK,OAAO,IAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IACtF,CACV,EACD,uBAAC,WAAW,IAAC,kBAAkB,EAAE,kBAAkB,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAG,iBAAiB,EAAE,iBAAiB,GAAI,KACtJ,CACT,CAAC;AACN,CAAC;AAXD,4BAWC;AAED,SAAgB,WAAW,CAAC,EAAE,kBAAkB,EAAE,WAAW,EAAE,OAAO,GAAG,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAoB;IACxH,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAU,KAAK,CAAC,CAAC;IAC3D,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAA,gBAAQ,EAAS,EAAE,CAAC,CAAC;IAE7C,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAAC,CAAO,IAAY,EAAE,EAAE;QAChD,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACjD,YAAY,CAAC,KAAK,CAAC,CAAC;QAEpB,IAAI,SAAS,EAAE;YACX,OAAO,CAAC,EAAE,CAAC,CAAC;SACf;IACL,CAAC,CAAA,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACzB,OAAO,CACH,+CAAK,SAAS,EAAE,cAAc,iBAC1B,wBAAC,cAAI,kBAAC,GAAG,EAAE,cAAI,CAAC,IAAI,CAAC,KAAK,iBACrB,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,IAAI,CACvC,6DACI,uBAAC,cAAI,IACD,QAAQ,EAAE,cAAI,CAAC,IAAI,CAAC,GAAG,EACvB,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAC3B,IAAI,EAAE,cAAI,EACV,QAAQ,EAAE,EAAE,EACZ,SAAS,EAAE,KAAK,GAClB,EACF,uBAAC,cAAI,kBAAC,IAAI,EAAE,cAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,cAAI,CAAC,MAAM,CAAC,SAAS,sDAEnD,IACR,CACN,EACA,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,IAAI,CACvC,6DACI,uBAAC,cAAI,IACD,QAAQ,EAAE,cAAI,CAAC,IAAI,CAAC,GAAG,EACvB,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAC3B,IAAI,EAAE,cAAI,EACV,QAAQ,EAAE,EAAE,EACZ,SAAS,EAAE,KAAK,GAClB,EACF,uBAAC,cAAI,kBAAC,IAAI,EAAE,cAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,sDAElD,IACR,CACN,KACE,EACP,uBAAC,uBAAa,IACV,QAAQ,EAAE,SAAS,EACnB,QAAQ,EAAE,OAAO,EACjB,WAAW,EAAE,wBAAwB,EACrC,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,IAAI,GACb,EACF,8CAAK,SAAS,EAAE,kBAAkB,gBAC9B,uBAAC,gBAAM,kBACH,QAAQ,EAAE,CAAC,IAAI,IAAI,SAAS,EAC5B,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAC7B,IAAI,EAAE,gBAAM,CAAC,KAAK,CAAC,KAAK,EACxB,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,0BAGnB,IACP,EACN,wBAAC,gBAAM,kBACH,OAAO,EAAE,iBAAiB,EAC1B,IAAI,EAAE,gBAAM,CAAC,KAAK,CAAC,KAAK,EACxB,IAAI,EAAE,gBAAM,CAAC,KAAK,CAAC,QAAQ,EAC3B,KAAK,EAAE,EAAE,SAAS,EAAE,sBAAsB,EAAE,iBAE5C,uBAAC,cAAI,IAAC,QAAQ,EAAE,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,gBAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,GAAI,EACxI,uBAAC,cAAI,kBAAC,IAAI,EAAE,cAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,gCAAmB,KACzF,KACP,CACT,CAAC;AACN,CAAC;AAzED,kCAyEC;AAED,SAAgB,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAwC;IAC3G,OAAO,CACH,wBAAC,cAAI,kBAAC,SAAS,EAAE,oBAAa,CAAC,MAAM,EAAE,KAAK,EAAE,gBAAS,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,iBACjF,wBAAC,cAAI,kBAAC,SAAS,EAAE,oBAAa,CAAC,GAAG,EAAE,GAAG,EAAE,cAAO,CAAC,KAAK,EAAE,SAAS,EAAE,cAAc,iBAC5E,CAAC,CAAC,KAAK,IAAI,CACR,uBAAC,cAAI,kBAAC,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,cAAI,CAAC,KAAK,CAAC,KAAK,gBAAG,KAAK,IAAQ,CAC3E,EACD,8CAAK,SAAS,EAAE,cAAc,gBACzB,MAAM,IAAI,uBAAC,QAAQ,IAAC,IAAI,EAAE,MAAM,GAAI,IACnC,EACN,uBAAC,cAAI,kBAAC,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,cAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,cAAI,CAAC,KAAK,CAAC,KAAK,gBAAG,WAAW,CAAC,cAAc,EAAE,IAAQ,KACzH,EACP,uBAAC,cAAI,kBAAC,SAAS,EAAE,gBAAgB,WAAW,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,IAAI,qBAAqB,EAAE,EAAE,IAAI,EAAE,cAAI,CAAC,KAAK,CAAC,KAAK,gBAAG,IAAI,IAAQ,KAC5H,CACV,CAAC;AACN,CAAC;AAfD,0BAeC;AAED,SAAgB,QAAQ,CAAC,EAAE,IAAI,EAAkB;IAC7C,OAAO,CACH,wBAAC,cAAI,kBAAC,GAAG,EAAE,cAAO,CAAC,EAAE,iBACjB,uBAAC,gBAAM,IACH,IAAI,EAAE,gBAAM,CAAC,KAAK,CAAC,MAAM,EACzB,IAAI,EAAE,mBAAU,CAAC,IAAI,EACrB,eAAe,EAAE,gBAAM,CAAC,MAAM,CAAC,UAAU,EACzC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAC7B,EACF,8CAAK,SAAS,EAAE,mBAAmB,gBAC/B,uBAAC,cAAI,kBAAC,IAAI,EAAE,cAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,cAAI,CAAC,OAAO,CAAC,IAAI,gBAAG,IAAI,CAAC,IAAI,IAAQ,IACzE,KACH,CACV,CAAC;AACN,CAAC;AAdD,4BAcC;AAED,SAAS,UAAU,CAAC,QAAgB;IAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAElC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QACpB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;KAC3C;IAED,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;AACrF,CAAC"}
|
@@ -28,7 +28,7 @@ const Text_1 = __importDefault(require("../../../../Text/Text"));
|
|
28
28
|
const Flex_1 = __importDefault(require("../../../../Flex/Flex"));
|
29
29
|
const DEFAULT_ITEMS_PER_PAGE_OPTIONS = [10, 25, 50];
|
30
30
|
function Pagination(_a) {
|
31
|
-
var { id: idProp, className,
|
31
|
+
var { id: idProp, className, itemsPerPage = DEFAULT_ITEMS_PER_PAGE_OPTIONS[0], itemsPerPageOptions = DEFAULT_ITEMS_PER_PAGE_OPTIONS, onItemsPerPageOptionChange, currentPage = 1, onCurrentPageOptionChange, numTotalItems, onBackArrowClick, shouldDisableBackArrow, onForwardArrowClick, shouldDisableForwardArrow, numSelectedItems } = _a, rest = __rest(_a, ["id", "className", "itemsPerPage", "itemsPerPageOptions", "onItemsPerPageOptionChange", "currentPage", "onCurrentPageOptionChange", "numTotalItems", "onBackArrowClick", "shouldDisableBackArrow", "onForwardArrowClick", "shouldDisableForwardArrow", "numSelectedItems"]);
|
32
32
|
const itemsPerPageLabelId = (0, useIdAllocator_1.default)({
|
33
33
|
prefix: "lg-pagination-items-per-page-label",
|
34
34
|
id: idProp,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Pagination.js","sourceRoot":"","sources":["../../../../../../src/components/NewTable/components/newComponents/pagination/Pagination.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,yDAAiC;AACjC,4DAAmC;AACnC,4DAA4B;AAC5B,sEAA8C;AAC9C,gHAAwF;AACxF,kHAA0F;AAC1F,mFAA2D;AAC3D,sFAA8C;AAE9C,mCAIiB;AACjB,iEAAyC;AACzC,iEAAyC;AAEzC,MAAM,8BAA8B,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAEpD,SAAS,UAAU,CAAmB,EAejB;QAfiB,EACpC,EAAE,EAAE,MAAM,EACV,SAAS,EACT,
|
1
|
+
{"version":3,"file":"Pagination.js","sourceRoot":"","sources":["../../../../../../src/components/NewTable/components/newComponents/pagination/Pagination.tsx"],"names":[],"mappings":"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"}
|
@@ -28,7 +28,7 @@ const IconButton_1 = __importDefault(require("../../../IconButton/IconButton"));
|
|
28
28
|
const ToggleExpandedIcon_1 = __importDefault(require("../ToggleExpandedIcon"));
|
29
29
|
const CHECKBOX_WIDTH = 14;
|
30
30
|
const useLeafyGreenTable = (_a) => {
|
31
|
-
var { containerRef, data, columns: columnsProp, hasSelectableRows, withPagination = false, useVirtualScrolling = false, allowSelectAll = true, allowSelectSingle = false, onSelect, virtualizerOptions, initiallySelectedRowIds = [], onRowSelectionChange, columnManager = false, isExpandable = false, hoverIcon, selectCurrentPageOnly = false, onUnselectAll
|
31
|
+
var { containerRef, data, columns: columnsProp, hasSelectableRows, withPagination = false, useVirtualScrolling = false, allowSelectAll = true, allowSelectSingle = false, onSelect, virtualizerOptions, initiallySelectedRowIds = [], onRowSelectionChange, columnManager = false, isExpandable = false, hoverIcon, selectCurrentPageOnly = false, onUnselectAll } = _a, rest = __rest(_a, ["containerRef", "data", "columns", "hasSelectableRows", "withPagination", "useVirtualScrolling", "allowSelectAll", "allowSelectSingle", "onSelect", "virtualizerOptions", "initiallySelectedRowIds", "onRowSelectionChange", "columnManager", "isExpandable", "hoverIcon", "selectCurrentPageOnly", "onUnselectAll"]);
|
32
32
|
const [rowSelection, setRowSelection] = (0, react_1.useState)({});
|
33
33
|
const [hoveredRow, setHoveredRow] = (0, react_1.useState)(null);
|
34
34
|
const [showColumnManager, setShowColumnManager] = (0, react_1.useState)(false);
|
@@ -123,7 +123,7 @@ const useLeafyGreenTable = (_a) => {
|
|
123
123
|
const [columnResizeMode, setColumnResizeMode] = (0, react_1.useState)("onChange");
|
124
124
|
const [columnResizeDirection, setColumnResizeDirection] = (0, react_1.useState)("ltr");
|
125
125
|
const table = (0, react_table_1.useReactTable)(Object.assign({ data,
|
126
|
-
columns, getCoreRowModel: (0, react_table_2.getCoreRowModel)(), getRowCanExpand: (row) => { var _a; return !!row.original.renderExpandedContent || !!((_a = row.subRows) === null || _a === void 0 ? void 0 : _a.length); }, enableExpanding: true, enableSortingRemoval: hasSortableColumns ? true : undefined, getSubRows: (row) => row.subRows, getSortedRowModel: (0, react_table_2.getSortedRowModel)(), getPaginationRowModel: withPagination ? (0, react_table_2.getPaginationRowModel)() : undefined,
|
126
|
+
columns, getCoreRowModel: (0, react_table_2.getCoreRowModel)(), getRowCanExpand: (row) => { var _a; return !!row.original.renderExpandedContent || !!((_a = row.subRows) === null || _a === void 0 ? void 0 : _a.length); }, enableExpanding: true, enableSortingRemoval: hasSortableColumns ? true : undefined, getSubRows: (row) => row.subRows, getSortedRowModel: (0, react_table_2.getSortedRowModel)(), getPaginationRowModel: withPagination ? (0, react_table_2.getPaginationRowModel)() : undefined, state: { rowSelection }, onRowSelectionChange: setRowSelection, columnResizeMode,
|
127
127
|
columnResizeDirection }, rest));
|
128
128
|
const { rows } = table.getCoreRowModel();
|
129
129
|
const { rows: paginationRows } = table.getPaginationRowModel();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useLeafyGreenTable.js","sourceRoot":"","sources":["../../../../../src/components/NewTable/components/useLeafyGreenTable/useLeafyGreenTable.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,aAAa;AACb,iCAA6D;AAC7D,iDAA2C;AAC3C,uDAA+F;AAC/F,uDAAkG;AAClG,uDAA+B;AAC/B,+DAA4D;AAC5D,yDAAsD;AAGtD,uFAA+D;AAC/D,gFAAwD;AACxD,+EAAuD;AAEvD,MAAM,cAAc,GAAG,EAAE,CAAC;AAE1B,MAAM,kBAAkB,GAAG,CAAmD,
|
1
|
+
{"version":3,"file":"useLeafyGreenTable.js","sourceRoot":"","sources":["../../../../../src/components/NewTable/components/useLeafyGreenTable/useLeafyGreenTable.tsx"],"names":[],"mappings":"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"}
|
@@ -13,13 +13,20 @@ export interface User {
|
|
13
13
|
export interface CommentFormProps {
|
14
14
|
currentUser: User;
|
15
15
|
onCommentSubmitted: (text: string) => Promise<boolean>;
|
16
|
+
isLabel?: boolean;
|
17
|
+
label?: {
|
18
|
+
status: "external" | "internal";
|
19
|
+
};
|
20
|
+
onClickAttachment?: () => void;
|
16
21
|
}
|
17
22
|
export interface CommentsProps extends CommentFormProps {
|
18
23
|
comments: CommentProps[];
|
19
24
|
}
|
20
|
-
export declare function Comments({ comments, currentUser, onCommentSubmitted }: CommentsProps): import("react/jsx-runtime").JSX.Element;
|
21
|
-
export declare function CommentForm({ onCommentSubmitted, currentUser }: CommentFormProps): import("react/jsx-runtime").JSX.Element;
|
22
|
-
export declare function Comment({ author, commentedAt, label, text }:
|
25
|
+
export declare function Comments({ comments, currentUser, onCommentSubmitted, isLabel, label, onClickAttachment }: CommentsProps): import("react/jsx-runtime").JSX.Element;
|
26
|
+
export declare function CommentForm({ onCommentSubmitted, currentUser, isLabel, label, onClickAttachment }: CommentFormProps): import("react/jsx-runtime").JSX.Element;
|
27
|
+
export declare function Comment({ author, commentedAt, label, text, currentUser }: {
|
28
|
+
currentUser: User;
|
29
|
+
} & CommentProps): import("react/jsx-runtime").JSX.Element;
|
23
30
|
export declare function UserCard({ user }: {
|
24
31
|
user: User;
|
25
32
|
}): import("react/jsx-runtime").JSX.Element;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Comments.d.ts","sourceRoot":"","sources":["../../../../src/components/Comments/Comments.tsx"],"names":[],"mappings":"AAEA,OAAO,iBAAiB,CAAC;
|
1
|
+
{"version":3,"file":"Comments.d.ts","sourceRoot":"","sources":["../../../../src/components/Comments/Comments.tsx"],"names":[],"mappings":"AAEA,OAAO,iBAAiB,CAAC;AAYzB,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,IAAI,CAAC;IACb,WAAW,EAAE,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,IAAI;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC7B,WAAW,EAAE,IAAI,CAAC;IAClB,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE;QAAE,MAAM,EAAE,UAAU,GAAG,UAAU,CAAA;KAAE,CAAC;IAC5C,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACnD,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC5B;AAGD,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE,OAAe,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,aAAa,2CAW/H;AAED,wBAAgB,WAAW,CAAC,EAAE,kBAAkB,EAAE,WAAW,EAAE,OAAe,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,gBAAgB,2CAyE3H;AAED,wBAAgB,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE;IAAE,WAAW,EAAE,IAAI,CAAA;CAAE,GAAG,YAAY,2CAe9G;AAED,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,2CAchD"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import PropTypes from "prop-types";
|
2
2
|
import { PaginationProps } from "./Pagination.types";
|
3
|
-
declare function Pagination<T extends number>({ id: idProp, className,
|
3
|
+
declare function Pagination<T extends number>({ id: idProp, className, itemsPerPage, itemsPerPageOptions, onItemsPerPageOptionChange, currentPage, onCurrentPageOptionChange, numTotalItems, onBackArrowClick, shouldDisableBackArrow, onForwardArrowClick, shouldDisableForwardArrow, numSelectedItems, ...rest }: PaginationProps<T>): import("react/jsx-runtime").JSX.Element;
|
4
4
|
declare namespace Pagination {
|
5
5
|
var propTypes: {
|
6
6
|
onBackArrowClick: PropTypes.Validator<(...args: any[]) => any>;
|
package/dist/esm/components/NewTable/components/newComponents/pagination/Pagination.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/NewTable/components/newComponents/pagination/Pagination.tsx"],"names":[],"mappings":"AAEA,OAAO,SAAS,MAAM,YAAY,CAAC;AAOnC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAWrD,iBAAS,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,EACpC,EAAE,EAAE,MAAM,EACV,SAAS,EACT,mBAAgE,EAChE,
|
1
|
+
{"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/NewTable/components/newComponents/pagination/Pagination.tsx"],"names":[],"mappings":"AAEA,OAAO,SAAS,MAAM,YAAY,CAAC;AAOnC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAWrD,iBAAS,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,EACpC,EAAE,EAAE,MAAM,EACV,SAAS,EACT,YAAqD,EACrD,mBAAgE,EAChE,0BAA0B,EAC1B,WAAe,EACf,yBAAyB,EACzB,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,EACzB,gBAAgB,EAChB,GAAG,IAAI,EACR,EAAE,eAAe,CAAC,CAAC,CAAC,2CAqIpB;kBApJQ,UAAU;;;;;;;;;;;;;AAmKnB,eAAe,UAAU,CAAC"}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { LeafyGreenTableOptions } from "./useLeafyGreenTable.types";
|
2
2
|
import { LeafyGreenTable } from ".";
|
3
|
-
declare const useLeafyGreenTable: <T extends unknown, V extends unknown = unknown>({ containerRef, data, columns: columnsProp, hasSelectableRows, withPagination, useVirtualScrolling, allowSelectAll, allowSelectSingle, onSelect, virtualizerOptions, initiallySelectedRowIds, onRowSelectionChange, columnManager, isExpandable, hoverIcon, selectCurrentPageOnly, onUnselectAll,
|
3
|
+
declare const useLeafyGreenTable: <T extends unknown, V extends unknown = unknown>({ containerRef, data, columns: columnsProp, hasSelectableRows, withPagination, useVirtualScrolling, allowSelectAll, allowSelectSingle, onSelect, virtualizerOptions, initiallySelectedRowIds, onRowSelectionChange, columnManager, isExpandable, hoverIcon, selectCurrentPageOnly, onUnselectAll, ...rest }: LeafyGreenTableOptions<T, V>) => LeafyGreenTable<T>;
|
4
4
|
export default useLeafyGreenTable;
|
5
5
|
//# sourceMappingURL=useLeafyGreenTable.d.ts.map
|
package/dist/esm/components/NewTable/components/useLeafyGreenTable/useLeafyGreenTable.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useLeafyGreenTable.d.ts","sourceRoot":"","sources":["../../../../../../src/components/NewTable/components/useLeafyGreenTable/useLeafyGreenTable.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,sBAAsB,EAAa,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAgC,MAAM,GAAG,CAAC;AAOlE,QAAA,MAAM,kBAAkB,
|
1
|
+
{"version":3,"file":"useLeafyGreenTable.d.ts","sourceRoot":"","sources":["../../../../../../src/components/NewTable/components/useLeafyGreenTable/useLeafyGreenTable.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,sBAAsB,EAAa,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAgC,MAAM,GAAG,CAAC;AAOlE,QAAA,MAAM,kBAAkB,mZAiOvB,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{slicedToArray as
|
1
|
+
import{slicedToArray as e,regeneratorRuntime as t}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{__awaiter as n}from"../../../_virtual/_tslib.js";import{jsxs as s,jsx as r,Fragment as i}from"react/jsx-runtime";import{createElement as o,useState as c,useCallback as a}from"react";import"./comments.scss.js";import l from"../Avatar/Avatar.js";import m from"../TextAreaField/TextAreaField.js";import p from"../Flex/Flex.js";import"../Avatar/AvatarContent.js";import{AvatarType as d}from"../Avatar/AvatarConstants.js";import"../Avatar/AvatarBadge.js";import u from"../Button/Button.js";import{FlexDirection as g,FlexGap as h,FlexAlign as b}from"../Flex/FlexConstants.js";import j from"../Icon/Icons/components/Info.js";import T from"../Text/Text.js";import y from"../Icon/Icon.js";import v from"../Icon/Icons/components/Attach.js";function A(e){var t=e.comments,n=e.currentUser,i=e.onCommentSubmitted,c=e.isLabel,a=void 0!==c&&c,l=e.label,m=e.onClickAttachment;return s("div",Object.assign({className:"comments"},{children:[t.length>0&&r(p,Object.assign({direction:g.COLUMN,style:{marginBottom:"var(--spacing-large)"},gap:h.MEDIUM,align:b.STRETCH},{children:t.map((function(e,t){return o(O,Object.assign({},e,{currentUser:n,key:t}))}))})),r(f,{onCommentSubmitted:i,currentUser:n,isLabel:a,label:l,onClickAttachment:m})]}))}function f(o){var l=this,d=o.onCommentSubmitted,g=o.isLabel,h=void 0!==g&&g,b=o.label,A=o.onClickAttachment,f=c(!1),O=e(f,2),C=O[0],S=O[1],x=c(""),E=e(x,2),L=E[0],N=E[1],k=a((function(e){return n(l,void 0,void 0,t().mark((function n(){var s;return t().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return S(!0),t.next=3,d(e);case 3:s=t.sent,S(!1),s&&N("");case 6:case"end":return t.stop()}}),n)})))}),[d]);return s("div",Object.assign({className:"comments-top"},{children:[s(p,Object.assign({gap:p.gaps.SMALL},{children:[h&&"internal"===b.status&&s(i,{children:[r(y,{iconType:y.type.SVG,style:{color:"#757575"},icon:j,iconSize:20,clickable:!1}),r(T,Object.assign({type:T.types.TEXT1,color:T.colors.SECONDARY},{children:"This is an internal conversation"}))]}),h&&"external"===b.status&&s(i,{children:[r(y,{iconType:y.type.SVG,style:{color:"#FF0020"},icon:j,iconSize:20,clickable:!1}),r(T,Object.assign({type:T.types.TEXT1,style:{color:"#BB0018"}},{children:"This is an external conversation"}))]})]})),r(m,{disabled:C,onChange:N,placeholder:"What’s on your mind...",rows:2,value:L}),r("div",Object.assign({className:"comments-buttons"},{children:r(u,Object.assign({disabled:!L||C,onClick:function(){return k(L)},size:u.sizes.SMALL,style:{width:"100%"}},{children:"Send"}))})),s(u,Object.assign({onClick:A,size:u.sizes.SMALL,kind:u.kinds.TERTIARY,style:{marginTop:"var(--spacing-small)"}},{children:[r(y,{iconType:y.type.SVG,style:{color:"#375D81",transform:"rotate(30deg)"},icon:v,iconSize:17,clickable:!1}),r(T,Object.assign({type:T.types.TEXT2,style:{color:"#375D81",marginTop:"2px"}},{children:"Attachment"}))]}))]}))}function O(e){var t=e.author,n=e.commentedAt,i=e.label,o=e.text,c=e.currentUser;return s(p,Object.assign({direction:g.COLUMN,align:b.STRETCH,className:"comment"},{children:[s(p,Object.assign({direction:g.ROW,gap:h.SMALL,className:"comment-data"},{children:[!!i&&r(T,Object.assign({className:"comment-label",type:T.types.TEXT2},{children:i})),r("div",Object.assign({className:"comment-user"},{children:t&&r(C,{user:t})})),r(T,Object.assign({className:"comment-date",color:T.colors.SECONDARY,type:T.types.TEXT2},{children:n.toLocaleString()}))]})),r(T,Object.assign({className:"comment-text ".concat(c.id===t.id&&"comment-currentUser"),type:T.types.TEXT1},{children:o}))]}))}function C(e){var t=e.user;return s(p,Object.assign({gap:h.XS},{children:[r(l,{size:l.sizes.MEDIUM,type:d.TEXT,backgroundColor:l.colors.STEEL_DARK,text:S(t.name)}),r("div",Object.assign({className:"comment-user-name"},{children:r(T,Object.assign({type:T.types.TEXT2,weight:T.weights.BOLD},{children:t.name}))}))]}))}function S(e){var t=e.split(" ");return 1===t.length?t[0].charAt(0).toUpperCase():"".concat(t[0].charAt(0)).concat(t[t.length-1].charAt(0)).toUpperCase()}export{O as Comment,f as CommentForm,A as Comments,C as UserCard};
|
2
2
|
//# sourceMappingURL=Comments.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Comments.js","sources":["../../../../../src/components/Comments/Comments.tsx"],"sourcesContent":["import React, { useCallback, useState } from 'react';\n\nimport './comments.scss';\nimport Avatar from '../Avatar/Avatar';\nimport TextAreaField from '../TextAreaField/TextAreaField';\nimport { ButtonType } from '../Button';\nimport Flex from '../Flex/Flex';\nimport { AvatarType } from '../Avatar';\nimport Button from '../Button/Button';\nimport { FlexAlign, FlexDirection, FlexGap } from '../Flex';\n\nexport interface CommentProps {\n text: string;\n label?: string;\n author: User;\n commentedAt: Date;\n}\n\nexport interface User {\n id: string;\n email: string;\n name: string;\n}\n\nexport interface CommentFormProps {\n currentUser: User;\n onCommentSubmitted: (text: string) => Promise<boolean>;\n}\n\nexport interface CommentsProps extends CommentFormProps {\n comments: CommentProps[];\n}\n\n\nexport function Comments({ comments, currentUser, onCommentSubmitted }: CommentsProps) {\n return (\n <div className={'comments'}>\n <CommentForm onCommentSubmitted={onCommentSubmitted} currentUser={currentUser} />\n {comments.length > 0 && (\n <Flex direction={FlexDirection.COLUMN} gap={FlexGap.MEDIUM} align={FlexAlign.STRETCH}>\n {comments.map((comment, i) => <Comment {...comment} key={i} />)}\n </Flex>\n )}\n </div>\n );\n}\n\nexport function CommentForm({ onCommentSubmitted, currentUser }: CommentFormProps) {\n const [isWaiting, setIsWaiting] = useState<boolean>(false);\n const [text, setText] = useState<string>('');\n\n const onSubmit = useCallback(async (text: string) => {\n setIsWaiting(true);\n const succeeded = await onCommentSubmitted(text);\n setIsWaiting(false);\n\n if (succeeded) {\n setText('');\n }\n }, [onCommentSubmitted]);\n return (\n <div className={'comments-top'}>\n <h3 className={'comments-header'}>Comments</h3>\n <TextAreaField\n disabled={isWaiting}\n title={`${currentUser.name} | Add a comment`}\n onChange={setText}\n placeholder={'Add a comment'}\n rows={2}\n value={text}\n />\n <div className={'comments-buttons'}>\n <Button\n disabled={!text || isWaiting}\n onClick={() => onSubmit(text)}\n size={'small'}\n kind={ButtonType.SECONDARY}\n >\n Submit Comment\n </Button>\n </div>\n </div>\n );\n}\n\nexport function Comment({ author, commentedAt, label, text }: CommentProps) {\n return (\n <Flex direction={FlexDirection.COLUMN} align={FlexAlign.STRETCH} className={'comment'}>\n <Flex direction={FlexDirection.ROW} gap={FlexGap.SMALL} className={'comment-data'}>\n {!!label && (\n <div className={'comment-label'}>\n {label}\n </div>\n )}\n <div className={'comment-user'}>\n {author && <UserCard user={author} />}\n </div>\n <div className={'comment-date'}>\n {commentedAt.toLocaleDateString()}\n </div>\n </Flex>\n <div className={'comment-text'}>\n {text}\n </div>\n </Flex>\n );\n}\n\nexport function UserCard({ user }: { user: User }) {\n return (\n <Flex gap={FlexGap.XS}>\n <Avatar\n size={Avatar.sizes.MEDIUM}\n type={AvatarType.TEXT}\n backgroundColor={Avatar.colors.STEEL_DARK}\n text={toInitials(user.name)}\n />\n <div className={'comment-user-name'}>\n {user.name}\n </div>\n </Flex>\n );\n}\n\nfunction toInitials(fullName: string) {\n const names = fullName.split(' ');\n\n if (names.length === 1) {\n return names[0].charAt(0).toUpperCase();\n }\n\n return `${names[0].charAt(0)}${names[names.length - 1].charAt(0)}`.toUpperCase();\n}\n\n"],"names":["Comments","_ref","comments","_jsxs","Object","assign","className","children","_jsx","CommentForm","onCommentSubmitted","currentUser","length","Flex","direction","FlexDirection","COLUMN","gap","FlexGap","MEDIUM","align","FlexAlign","STRETCH","map","comment","i","_createElement","Comment","key","_ref2","_this","this","_useState","useState","_useState2","_slicedToArray","isWaiting","setIsWaiting","_useState3","_useState4","text","setText","onSubmit","useCallback","__awaiter","_regeneratorRuntime","mark","_callee","succeeded","wrap","_context","prev","next","sent","stop","TextAreaField","disabled","title","concat","name","onChange","placeholder","rows","value","Button","onClick","size","kind","ButtonType","SECONDARY","_ref3","author","commentedAt","label","ROW","SMALL","UserCard","user","toLocaleDateString","_ref4","XS","Avatar","sizes","type","AvatarType","TEXT","backgroundColor","colors","STEEL_DARK","toInitials","fullName","names","split","charAt","toUpperCase"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Comments.js","sources":["../../../../../src/components/Comments/Comments.tsx"],"sourcesContent":["import React, { useCallback, useState } from 'react';\n\nimport './comments.scss';\nimport Avatar from '../Avatar/Avatar';\nimport TextAreaField from '../TextAreaField/TextAreaField';\nimport Flex from '../Flex/Flex';\nimport { AvatarType } from '../Avatar';\nimport Button from '../Button/Button';\nimport { FlexAlign, FlexDirection, FlexGap } from '../Flex';\nimport Info from '../Icon/Icons/components/Info';\nimport Text from '../Text/Text';\nimport Icon from '../Icon/Icon';\nimport Attach from '../Icon/Icons/components/Attach';\n\nexport interface CommentProps {\n text: string;\n label?: string;\n author: User;\n commentedAt: Date;\n}\n\nexport interface User {\n id: string;\n email: string;\n name: string;\n}\n\nexport interface CommentFormProps {\n currentUser: User;\n onCommentSubmitted: (text: string) => Promise<boolean>;\n isLabel?: boolean;\n label?: { status: \"external\" | \"internal\" };\n onClickAttachment?: () => void;\n}\n\nexport interface CommentsProps extends CommentFormProps {\n comments: CommentProps[];\n}\n\n\nexport function Comments({ comments, currentUser, onCommentSubmitted, isLabel = false, label, onClickAttachment }: CommentsProps) {\n return (\n <div className={'comments'}>\n {comments.length > 0 && (\n <Flex direction={FlexDirection.COLUMN} style={{ marginBottom: \"var(--spacing-large)\" }} gap={FlexGap.MEDIUM} align={FlexAlign.STRETCH}>\n {comments.map((comment, i) => <Comment {...comment} currentUser={currentUser} key={i} />)}\n </Flex>\n )}\n <CommentForm onCommentSubmitted={onCommentSubmitted} currentUser={currentUser} isLabel={isLabel} label={label} onClickAttachment={onClickAttachment} />\n </div>\n );\n}\n\nexport function CommentForm({ onCommentSubmitted, currentUser, isLabel = false, label, onClickAttachment }: CommentFormProps) {\n const [isWaiting, setIsWaiting] = useState<boolean>(false);\n const [text, setText] = useState<string>('');\n\n const onSubmit = useCallback(async (text: string) => {\n setIsWaiting(true);\n const succeeded = await onCommentSubmitted(text);\n setIsWaiting(false);\n\n if (succeeded) {\n setText('');\n }\n }, [onCommentSubmitted]);\n return (\n <div className={'comments-top'}>\n <Flex gap={Flex.gaps.SMALL}>\n {isLabel && label.status === \"internal\" && (\n <>\n <Icon\n iconType={Icon.type.SVG}\n style={{ color: \"#757575\" }}\n icon={Info}\n iconSize={20}\n clickable={false}\n />\n <Text type={Text.types.TEXT1} color={Text.colors.SECONDARY}>\n This is an internal conversation\n </Text>\n </>\n )}\n {isLabel && label.status === \"external\" && (\n <>\n <Icon\n iconType={Icon.type.SVG}\n style={{ color: \"#FF0020\" }}\n icon={Info}\n iconSize={20}\n clickable={false}\n />\n <Text type={Text.types.TEXT1} style={{ color: \"#BB0018\" }}>\n This is an external conversation\n </Text>\n </>\n )}\n </Flex>\n <TextAreaField\n disabled={isWaiting}\n onChange={setText}\n placeholder={'What’s on your mind...'}\n rows={2}\n value={text}\n />\n <div className={'comments-buttons'}>\n <Button\n disabled={!text || isWaiting}\n onClick={() => onSubmit(text)}\n size={Button.sizes.SMALL}\n style={{ width: \"100%\" }}\n >\n Send\n </Button>\n </div>\n <Button\n onClick={onClickAttachment}\n size={Button.sizes.SMALL}\n kind={Button.kinds.TERTIARY}\n style={{ marginTop: \"var(--spacing-small)\" }}\n >\n <Icon iconType={Icon.type.SVG} style={{ color: \"#375D81\", transform: \"rotate(30deg)\" }} icon={Attach} iconSize={17} clickable={false} />\n <Text type={Text.types.TEXT2} style={{ color: \"#375D81\", marginTop: \"2px\" }}>Attachment</Text>\n </Button>\n </div>\n );\n}\n\nexport function Comment({ author, commentedAt, label, text, currentUser }: { currentUser: User } & CommentProps) {\n return (\n <Flex direction={FlexDirection.COLUMN} align={FlexAlign.STRETCH} className={'comment'}>\n <Flex direction={FlexDirection.ROW} gap={FlexGap.SMALL} className={'comment-data'}>\n {!!label && (\n <Text className={'comment-label'} type={Text.types.TEXT2}>{label}</Text>\n )}\n <div className={'comment-user'}>\n {author && <UserCard user={author} />}\n </div>\n <Text className={'comment-date'} color={Text.colors.SECONDARY} type={Text.types.TEXT2}>{commentedAt.toLocaleString()}</Text>\n </Flex>\n <Text className={`comment-text ${currentUser.id === author.id && \"comment-currentUser\"}`} type={Text.types.TEXT1}>{text}</Text>\n </Flex>\n );\n}\n\nexport function UserCard({ user }: { user: User }) {\n return (\n <Flex gap={FlexGap.XS}>\n <Avatar\n size={Avatar.sizes.MEDIUM}\n type={AvatarType.TEXT}\n backgroundColor={Avatar.colors.STEEL_DARK}\n text={toInitials(user.name)}\n />\n <div className={'comment-user-name'}>\n <Text type={Text.types.TEXT2} weight={Text.weights.BOLD}>{user.name}</Text>\n </div>\n </Flex>\n );\n}\n\nfunction toInitials(fullName: string) {\n const names = fullName.split(' ');\n\n if (names.length === 1) {\n return names[0].charAt(0).toUpperCase();\n }\n\n return `${names[0].charAt(0)}${names[names.length - 1].charAt(0)}`.toUpperCase();\n}\n\n"],"names":["Comments","_ref","comments","currentUser","onCommentSubmitted","_ref$isLabel","isLabel","label","onClickAttachment","_jsxs","className","children","length","_jsx","Flex","Object","assign","direction","FlexDirection","COLUMN","style","marginBottom","gap","FlexGap","MEDIUM","align","FlexAlign","STRETCH","map","comment","i","_createElement","Comment","key","CommentForm","_ref2","_this","this","_ref2$isLabel","_useState","useState","_useState2","_slicedToArray","isWaiting","setIsWaiting","_useState3","_useState4","text","setText","onSubmit","useCallback","__awaiter","_regeneratorRuntime","mark","_callee","succeeded","wrap","_context","prev","next","sent","stop","gaps","SMALL","status","_Fragment","Icon","iconType","type","SVG","color","icon","Info","iconSize","clickable","Text","types","TEXT1","colors","SECONDARY","TextAreaField","disabled","onChange","placeholder","rows","value","Button","onClick","size","sizes","width","kind","kinds","TERTIARY","marginTop","transform","Attach","TEXT2","_ref3","author","commentedAt","ROW","UserCard","user","toLocaleString","concat","id","_ref4","XS","Avatar","AvatarType","TEXT","backgroundColor","STEEL_DARK","toInitials","name","weight","weights","BOLD","fullName","names","split","charAt","toUpperCase"],"mappings":"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"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
var n=".comments .comments-top {\n margin-bottom: var(--spacing-medium);\n}\n.comments .comment-data {\n margin-bottom: var(--spacing-small);\n}\n.comments .comment-user {\n font: var(--font-text1-normal);\n}\n.comments .comment-label {\n font: var(--font-text1-normal);\n}\n.comments .comment-date {\n font: var(--font-text1-normal);\n}";!function(n){if("undefined"==typeof document)return;const e=document.head||document.getElementsByTagName("head")[0],t="s_id-
|
1
|
+
var n=".comments .comments-top {\n margin-bottom: var(--spacing-medium);\n}\n.comments .comment-data {\n margin-bottom: var(--spacing-small);\n}\n.comments .comment-user {\n font: var(--font-text1-normal);\n}\n.comments .comment-currentUser {\n background-color: var(--surface-level-200);\n}\n.comments .comment-label {\n font: var(--font-text1-normal);\n}\n.comments .comment-date {\n font: var(--font-text1-normal);\n}\n.comments .comment-text {\n padding: 10px;\n border-radius: 6px 0px 6px 6px;\n margin-left: var(--spacing-xl);\n}";!function(n){if("undefined"==typeof document)return;const e=document.head||document.getElementsByTagName("head")[0],t="s_id-1b540e73a589_0_0_120";if(e.querySelector("#"+t))return;const m=document.createElement("style");m.id=t,e.firstChild?e.insertBefore(m,e.firstChild):e.appendChild(m),m.appendChild(document.createTextNode(n))}(n);export{n as default};
|
2
2
|
//# sourceMappingURL=comments.scss.js.map
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{__rest as e}from"../../../../../../_virtual/_tslib.js";import{jsxs as o,jsx as i,Fragment as r}from"react/jsx-runtime";import n from"lodash/range";import a from"prop-types";import t from"classnames";import s from"./useIdAllocator.js";import l from"../../../../Icon/Icons/components/DropdownChevronLeft.js";import c from"../../../../Icon/Icons/components/DropdownChevronRight.js";import d from"../../../../IconButton/IconButton.js";import m from"./Pagination.module.scss.js";import{getTotalNumPages as g,getCurrentRangeString as p,getRangeMaxString as u}from"./utils.js";import b from"../../../../Text/Text.js";import f from"../../../../Flex/Flex.js";var h=[10,25,50];function O(a){var O=a.id,P=a.className,v=a.
|
1
|
+
import{__rest as e}from"../../../../../../_virtual/_tslib.js";import{jsxs as o,jsx as i,Fragment as r}from"react/jsx-runtime";import n from"lodash/range";import a from"prop-types";import t from"classnames";import s from"./useIdAllocator.js";import l from"../../../../Icon/Icons/components/DropdownChevronLeft.js";import c from"../../../../Icon/Icons/components/DropdownChevronRight.js";import d from"../../../../IconButton/IconButton.js";import m from"./Pagination.module.scss.js";import{getTotalNumPages as g,getCurrentRangeString as p,getRangeMaxString as u}from"./utils.js";import b from"../../../../Text/Text.js";import f from"../../../../Flex/Flex.js";var h=[10,25,50];function O(a){var O=a.id,P=a.className,v=a.itemsPerPage,C=void 0===v?h[0]:v,j=a.itemsPerPageOptions,w=void 0===j?h:j,I=a.onItemsPerPageOptionChange,A=a.currentPage,S=void 0===A?1:A,N=a.onCurrentPageOptionChange,k=a.numTotalItems,x=a.onBackArrowClick,D=a.shouldDisableBackArrow,y=a.onForwardArrowClick,R=a.shouldDisableForwardArrow,T=a.numSelectedItems,B=e(a,["id","className","itemsPerPage","itemsPerPageOptions","onItemsPerPageOptionChange","currentPage","onCurrentPageOptionChange","numTotalItems","onBackArrowClick","shouldDisableBackArrow","onForwardArrowClick","shouldDisableForwardArrow","numSelectedItems"]),F=s({prefix:"lg-pagination-items-per-page-label",id:O}),E=s({prefix:"lg-pagination-items-per-page-select",id:O}),Y=void 0!==D?D:void 0!==k&&1>=S,L=void 0!==R?R:void 0!==k&&S>=g(k,C);(1>S||k&&g(k,C)<S)&&console.error("Value of the 'currentPage' prop is invalid."),w.includes(C)||console.error("Value of the 'itemsPerPage' prop is not a valid option specified in 'itemsPerPageOptions'.");return o("div",Object.assign({className:t(m.baseStyles,P)},B,{children:[o(f,Object.assign({direction:f.directions.COLUMN,align:f.align.START},{children:[0!==T&&i("div",Object.assign({className:m.selectedItemsSection},{children:o(b,Object.assign({color:b.colors.SECONDARY},{children:[T," items selected"]}))})),i("div",Object.assign({className:m.flexSectionStyles},{children:o(b,Object.assign({color:b.colors.SECONDARY},{children:[p(C,S,k)," of"," ",u(k)]}))}))]})),i("div",Object.assign({className:m.flexSectionStyles},{children:void 0!==I&&o(r,{children:[i(b,Object.assign({color:b.colors.SECONDARY},{children:"Rows per page:"})),i("select",Object.assign({onChange:function(e){null==I||I(parseInt(e.target.value,10))},"aria-labelledby":F,value:C+"",id:E},{children:w.map((function(e){return i("option",Object.assign({value:e+""},{children:e}),e)}))}))]})})),o("div",Object.assign({className:m.flexSectionStyles},{children:[i(d,{ariaLabel:"Previous page",disabled:Y,onClick:x,size:"small","data-testid":"lg-pagination-back-button",icon:l}),void 0!==N&&k?o(r,{children:[i("select",Object.assign({"aria-label":"Set current page",onChange:function(e){null==N||N(parseInt(e.target.value,10))},value:S+"","data-testid":"lg-pagination-page-select"},{children:n(1,g(k,C)+1).map((function(e){return i("option",Object.assign({value:e+""},{children:e}),e)}))})),o(b,Object.assign({color:b.colors.SECONDARY},{children:["of ",g(k,C)]}))]}):o(b,Object.assign({color:b.colors.SECONDARY},{children:[S," of"," ",k?g(k,C):"many"]})),i(d,{ariaLabel:"Next page",disabled:L,onClick:y,"data-testid":"lg-pagination-next-button",size:"small",icon:c})]}))]}))}O.propTypes={onBackArrowClick:a.func.isRequired,onForwardArrowClick:a.func.isRequired,numTotalItems:a.number,onCurrentPageOptionChange:a.func,currentPage:a.number,onItemsPerPageOptionChange:a.func,itemsPerPageOptions:a.arrayOf(a.number),itemsPerPage:a.number},O.displayName="Pagination";export{O as default};
|
2
2
|
//# sourceMappingURL=Pagination.js.map
|
package/dist/esm/src/components/NewTable/components/newComponents/pagination/Pagination.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Pagination.js","sources":["../../../../../../../../src/components/NewTable/components/newComponents/pagination/Pagination.tsx"],"sourcesContent":["import React from \"react\";\nimport range from \"lodash/range\";\nimport PropTypes from \"prop-types\";\nimport cx from \"classnames\";\nimport useIdAllocator from \"./useIdAllocator\";\nimport DropdownChevronLeft from \"../../../../Icon/Icons/components/DropdownChevronLeft\";\nimport DropdownChevronRight from \"../../../../Icon/Icons/components/DropdownChevronRight\";\nimport IconButton from \"../../../../IconButton/IconButton\";\nimport styles from \"./Pagination.module.scss\";\nimport { PaginationProps } from \"./Pagination.types\";\nimport {\n getCurrentRangeString,\n getRangeMaxString,\n getTotalNumPages,\n} from \"./utils\";\nimport Text from \"../../../../Text/Text\";\nimport Flex from \"../../../../Flex/Flex\";\n\nconst DEFAULT_ITEMS_PER_PAGE_OPTIONS = [10, 25, 50];\n\nfunction Pagination<T extends number>({\n id: idProp,\n className,\n itemsPerPageOptions = DEFAULT_ITEMS_PER_PAGE_OPTIONS as Array<T>,\n itemsPerPage = DEFAULT_ITEMS_PER_PAGE_OPTIONS[0] as T,\n onItemsPerPageOptionChange,\n currentPage = 1,\n onCurrentPageOptionChange,\n numTotalItems,\n onBackArrowClick,\n shouldDisableBackArrow,\n onForwardArrowClick,\n shouldDisableForwardArrow,\n numSelectedItems,\n ...rest\n}: PaginationProps<T>) {\n const itemsPerPageLabelId = useIdAllocator({\n prefix: \"lg-pagination-items-per-page-label\",\n id: idProp,\n });\n const itemsPerPageSelectId = useIdAllocator({\n prefix: \"lg-pagination-items-per-page-select\",\n id: idProp,\n });\n const shouldDisableBackButton =\n shouldDisableBackArrow !== undefined\n ? shouldDisableBackArrow\n : numTotalItems !== undefined && currentPage <= 1;\n const shouldDisableForwardButton =\n shouldDisableForwardArrow !== undefined\n ? shouldDisableForwardArrow\n : numTotalItems !== undefined &&\n currentPage >= getTotalNumPages(numTotalItems, itemsPerPage);\n\n if (\n currentPage < 1 ||\n (numTotalItems &&\n getTotalNumPages(numTotalItems, itemsPerPage) < currentPage)\n ) {\n console.error(`Value of the 'currentPage' prop is invalid.`);\n }\n\n if (!itemsPerPageOptions.includes(itemsPerPage)) {\n console.error(\n `Value of the 'itemsPerPage' prop is not a valid option specified in 'itemsPerPageOptions'.`\n );\n }\n\n const handleItemsPerPageChange = (\n event: React.ChangeEvent<HTMLSelectElement>\n ) => {\n const value = parseInt(event.target.value, 10) as T;\n onItemsPerPageOptionChange?.(value);\n };\n\n const handleCurrentPageChange = (\n event: React.ChangeEvent<HTMLSelectElement>\n ) => {\n const value = parseInt(event.target.value, 10);\n onCurrentPageOptionChange?.(value);\n };\n\n return (\n <div className={cx(styles.baseStyles, className)} {...rest}>\n <Flex direction={Flex.directions.COLUMN} align={Flex.align.START}>\n {numSelectedItems !== (undefined || 0) && (\n <div className={styles.selectedItemsSection}>\n <Text color={Text.colors.SECONDARY}>\n {numSelectedItems} items selected\n </Text>\n </div>\n )}\n <div className={styles.flexSectionStyles}>\n <Text color={Text.colors.SECONDARY}>\n {getCurrentRangeString(itemsPerPage, currentPage, numTotalItems)} of{\" \"}\n {getRangeMaxString(numTotalItems)}\n </Text>\n </div>\n </Flex>\n <div className={styles.flexSectionStyles}>\n {onItemsPerPageOptionChange !== undefined && (\n <>\n <Text color={Text.colors.SECONDARY}>Rows per page:</Text>\n <select\n onChange={handleItemsPerPageChange}\n aria-labelledby={itemsPerPageLabelId}\n value={String(itemsPerPage)}\n id={itemsPerPageSelectId}\n >\n {itemsPerPageOptions.map((option: number) => (\n <option key={option} value={String(option)}>\n {option}\n </option>\n ))}\n </select>\n </>\n )}\n </div>\n <div className={styles.flexSectionStyles}>\n <IconButton\n ariaLabel=\"Previous page\"\n disabled={shouldDisableBackButton}\n onClick={onBackArrowClick}\n size=\"small\"\n data-testid=\"lg-pagination-back-button\"\n icon={DropdownChevronLeft}\n />\n {onCurrentPageOptionChange !== undefined && numTotalItems ? (\n <>\n <select\n aria-label=\"Set current page\"\n onChange={handleCurrentPageChange}\n value={String(currentPage)}\n data-testid=\"lg-pagination-page-select\"\n >\n {range(1, getTotalNumPages(numTotalItems, itemsPerPage) + 1).map(\n (pageNumber: number) => {\n return (\n <option key={pageNumber} value={String(pageNumber)}>\n {pageNumber}\n </option>\n );\n }\n )}\n </select>\n <Text color={Text.colors.SECONDARY}>\n of {getTotalNumPages(numTotalItems, itemsPerPage)}\n </Text>\n </>\n ) : (\n <Text color={Text.colors.SECONDARY}>\n {currentPage} of{\" \"}\n {numTotalItems\n ? getTotalNumPages(numTotalItems, itemsPerPage)\n : \"many\"}\n </Text>\n )}\n <IconButton\n ariaLabel=\"Next page\"\n disabled={shouldDisableForwardButton}\n onClick={onForwardArrowClick}\n data-testid=\"lg-pagination-next-button\"\n size=\"small\"\n icon={DropdownChevronRight}\n />\n </div>\n </div>\n );\n}\n\nPagination.propTypes = {\n onBackArrowClick: PropTypes.func.isRequired,\n onForwardArrowClick: PropTypes.func.isRequired,\n numTotalItems: PropTypes.number,\n onCurrentPageOptionChange: PropTypes.func,\n currentPage: PropTypes.number,\n onItemsPerPageOptionChange: PropTypes.func,\n itemsPerPageOptions: PropTypes.arrayOf(PropTypes.number),\n itemsPerPage: PropTypes.number,\n};\n\nPagination.displayName = \"Pagination\";\n\nexport default Pagination;\n"],"names":["DEFAULT_ITEMS_PER_PAGE_OPTIONS","Pagination","_a","idProp","id","className","_a$itemsPerPageOption","itemsPerPageOptions","_a$itemsPerPage","itemsPerPage","onItemsPerPageOptionChange","_a$currentPage","currentPage","onCurrentPageOptionChange","numTotalItems","onBackArrowClick","shouldDisableBackArrow","onForwardArrowClick","shouldDisableForwardArrow","numSelectedItems","rest","__rest","itemsPerPageLabelId","useIdAllocator","prefix","itemsPerPageSelectId","shouldDisableBackButton","undefined","shouldDisableForwardButton","getTotalNumPages","console","error","includes","_jsxs","Object","assign","cx","styles","baseStyles","children","Flex","direction","directions","COLUMN","align","START","_jsx","selectedItemsSection","Text","color","colors","SECONDARY","flexSectionStyles","getCurrentRangeString","getRangeMaxString","_Fragment","onChange","event","parseInt","target","value","String","map","option","IconButton","ariaLabel","disabled","onClick","size","icon","DropdownChevronLeft","range","pageNumber","DropdownChevronRight","propTypes","PropTypes","func","isRequired","number","arrayOf","displayName"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Pagination.js","sources":["../../../../../../../../src/components/NewTable/components/newComponents/pagination/Pagination.tsx"],"sourcesContent":["import React from \"react\";\nimport range from \"lodash/range\";\nimport PropTypes from \"prop-types\";\nimport cx from \"classnames\";\nimport useIdAllocator from \"./useIdAllocator\";\nimport DropdownChevronLeft from \"../../../../Icon/Icons/components/DropdownChevronLeft\";\nimport DropdownChevronRight from \"../../../../Icon/Icons/components/DropdownChevronRight\";\nimport IconButton from \"../../../../IconButton/IconButton\";\nimport styles from \"./Pagination.module.scss\";\nimport { PaginationProps } from \"./Pagination.types\";\nimport {\n getCurrentRangeString,\n getRangeMaxString,\n getTotalNumPages,\n} from \"./utils\";\nimport Text from \"../../../../Text/Text\";\nimport Flex from \"../../../../Flex/Flex\";\n\nconst DEFAULT_ITEMS_PER_PAGE_OPTIONS = [10, 25, 50];\n\nfunction Pagination<T extends number>({\n id: idProp,\n className,\n itemsPerPage = DEFAULT_ITEMS_PER_PAGE_OPTIONS[0] as T,\n itemsPerPageOptions = DEFAULT_ITEMS_PER_PAGE_OPTIONS as Array<T>,\n onItemsPerPageOptionChange,\n currentPage = 1,\n onCurrentPageOptionChange,\n numTotalItems,\n onBackArrowClick,\n shouldDisableBackArrow,\n onForwardArrowClick,\n shouldDisableForwardArrow,\n numSelectedItems,\n ...rest\n}: PaginationProps<T>) {\n const itemsPerPageLabelId = useIdAllocator({\n prefix: \"lg-pagination-items-per-page-label\",\n id: idProp,\n });\n const itemsPerPageSelectId = useIdAllocator({\n prefix: \"lg-pagination-items-per-page-select\",\n id: idProp,\n });\n const shouldDisableBackButton =\n shouldDisableBackArrow !== undefined\n ? shouldDisableBackArrow\n : numTotalItems !== undefined && currentPage <= 1;\n const shouldDisableForwardButton =\n shouldDisableForwardArrow !== undefined\n ? shouldDisableForwardArrow\n : numTotalItems !== undefined &&\n currentPage >= getTotalNumPages(numTotalItems, itemsPerPage);\n\n if (\n currentPage < 1 ||\n (numTotalItems &&\n getTotalNumPages(numTotalItems, itemsPerPage) < currentPage)\n ) {\n console.error(`Value of the 'currentPage' prop is invalid.`);\n }\n\n if (!itemsPerPageOptions.includes(itemsPerPage)) {\n console.error(\n `Value of the 'itemsPerPage' prop is not a valid option specified in 'itemsPerPageOptions'.`\n );\n }\n\n const handleItemsPerPageChange = (\n event: React.ChangeEvent<HTMLSelectElement>\n ) => {\n const value = parseInt(event.target.value, 10) as T;\n onItemsPerPageOptionChange?.(value);\n };\n\n const handleCurrentPageChange = (\n event: React.ChangeEvent<HTMLSelectElement>\n ) => {\n const value = parseInt(event.target.value, 10);\n onCurrentPageOptionChange?.(value);\n };\n\n return (\n <div className={cx(styles.baseStyles, className)} {...rest}>\n <Flex direction={Flex.directions.COLUMN} align={Flex.align.START}>\n {numSelectedItems !== (undefined || 0) && (\n <div className={styles.selectedItemsSection}>\n <Text color={Text.colors.SECONDARY}>\n {numSelectedItems} items selected\n </Text>\n </div>\n )}\n <div className={styles.flexSectionStyles}>\n <Text color={Text.colors.SECONDARY}>\n {getCurrentRangeString(itemsPerPage, currentPage, numTotalItems)} of{\" \"}\n {getRangeMaxString(numTotalItems)}\n </Text>\n </div>\n </Flex>\n <div className={styles.flexSectionStyles}>\n {onItemsPerPageOptionChange !== undefined && (\n <>\n <Text color={Text.colors.SECONDARY}>Rows per page:</Text>\n <select\n onChange={handleItemsPerPageChange}\n aria-labelledby={itemsPerPageLabelId}\n value={String(itemsPerPage)}\n id={itemsPerPageSelectId}\n >\n {itemsPerPageOptions.map((option: number) => (\n <option key={option} value={String(option)}>\n {option}\n </option>\n ))}\n </select>\n </>\n )}\n </div>\n <div className={styles.flexSectionStyles}>\n <IconButton\n ariaLabel=\"Previous page\"\n disabled={shouldDisableBackButton}\n onClick={onBackArrowClick}\n size=\"small\"\n data-testid=\"lg-pagination-back-button\"\n icon={DropdownChevronLeft}\n />\n {onCurrentPageOptionChange !== undefined && numTotalItems ? (\n <>\n <select\n aria-label=\"Set current page\"\n onChange={handleCurrentPageChange}\n value={String(currentPage)}\n data-testid=\"lg-pagination-page-select\"\n >\n {range(1, getTotalNumPages(numTotalItems, itemsPerPage) + 1).map(\n (pageNumber: number) => {\n return (\n <option key={pageNumber} value={String(pageNumber)}>\n {pageNumber}\n </option>\n );\n }\n )}\n </select>\n <Text color={Text.colors.SECONDARY}>\n of {getTotalNumPages(numTotalItems, itemsPerPage)}\n </Text>\n </>\n ) : (\n <Text color={Text.colors.SECONDARY}>\n {currentPage} of{\" \"}\n {numTotalItems\n ? getTotalNumPages(numTotalItems, itemsPerPage)\n : \"many\"}\n </Text>\n )}\n <IconButton\n ariaLabel=\"Next page\"\n disabled={shouldDisableForwardButton}\n onClick={onForwardArrowClick}\n data-testid=\"lg-pagination-next-button\"\n size=\"small\"\n icon={DropdownChevronRight}\n />\n </div>\n </div>\n );\n}\n\nPagination.propTypes = {\n onBackArrowClick: PropTypes.func.isRequired,\n onForwardArrowClick: PropTypes.func.isRequired,\n numTotalItems: PropTypes.number,\n onCurrentPageOptionChange: PropTypes.func,\n currentPage: PropTypes.number,\n onItemsPerPageOptionChange: PropTypes.func,\n itemsPerPageOptions: PropTypes.arrayOf(PropTypes.number),\n itemsPerPage: PropTypes.number,\n};\n\nPagination.displayName = \"Pagination\";\n\nexport default Pagination;\n"],"names":["DEFAULT_ITEMS_PER_PAGE_OPTIONS","Pagination","_a","idProp","id","className","_a$itemsPerPage","itemsPerPage","_a$itemsPerPageOption","itemsPerPageOptions","onItemsPerPageOptionChange","_a$currentPage","currentPage","onCurrentPageOptionChange","numTotalItems","onBackArrowClick","shouldDisableBackArrow","onForwardArrowClick","shouldDisableForwardArrow","numSelectedItems","rest","__rest","itemsPerPageLabelId","useIdAllocator","prefix","itemsPerPageSelectId","shouldDisableBackButton","undefined","shouldDisableForwardButton","getTotalNumPages","console","error","includes","_jsxs","Object","assign","cx","styles","baseStyles","children","Flex","direction","directions","COLUMN","align","START","_jsx","selectedItemsSection","Text","color","colors","SECONDARY","flexSectionStyles","getCurrentRangeString","getRangeMaxString","_Fragment","onChange","event","parseInt","target","value","String","map","option","IconButton","ariaLabel","disabled","onClick","size","icon","DropdownChevronLeft","range","pageNumber","DropdownChevronRight","propTypes","PropTypes","func","isRequired","number","arrayOf","displayName"],"mappings":"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"}
|
package/dist/esm/src/components/NewTable/components/useLeafyGreenTable/useLeafyGreenTable.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
import{slicedToArray as e,toConsumableArray as n}from"../../../../../_virtual/_rollupPluginBabelHelpers.js";import{__rest as t}from"../../../../../_virtual/_tslib.js";import{jsx as o}from"react/jsx-runtime";import{useState as
|
1
|
+
import{slicedToArray as e,toConsumableArray as n}from"../../../../../_virtual/_rollupPluginBabelHelpers.js";import{__rest as t}from"../../../../../_virtual/_tslib.js";import{jsx as o}from"react/jsx-runtime";import{useState as l,useRef as i,useEffect as r,useMemo as a}from"react";import{useVirtual as c}from"react-virtual";import{useReactTable as s,getCoreRowModel as u,getSortedRowModel as d,getPaginationRowModel as g}from"@tanstack/react-table";import f from"lodash/omit";import{TableHeaderCheckbox as m}from"./TableHeaderCheckbox.js";import{TableRowCheckbox as v}from"./TableRowCheckbox.js";import h from"../../../Icon/Icons/components/Settings.js";import p from"../../../IconButton/IconButton.js";import w from"../ToggleExpandedIcon/ToggleExpandedIcon.js";var b=function(b){var R=b.containerRef,S=b.data,x=b.columns,y=b.hasSelectableRows,z=b.withPagination,C=void 0!==z&&z,j=b.useVirtualScrolling,I=void 0!==j&&j,O=b.allowSelectAll,k=void 0===O||O,E=b.allowSelectSingle,M=void 0!==E&&E,A=b.onSelect,T=b.virtualizerOptions,P=b.initiallySelectedRowIds,B=void 0===P?[]:P,_=b.onRowSelectionChange,H=b.columnManager,L=void 0!==H&&H,V=b.isExpandable,F=void 0!==V&&V,U=b.hoverIcon,X=b.selectCurrentPageOnly,D=void 0!==X&&X,N=b.onUnselectAll,q=t(b,["containerRef","data","columns","hasSelectableRows","withPagination","useVirtualScrolling","allowSelectAll","allowSelectSingle","onSelect","virtualizerOptions","initiallySelectedRowIds","onRowSelectionChange","columnManager","isExpandable","hoverIcon","selectCurrentPageOnly","onUnselectAll"]),G=l({}),J=e(G,2),K=J[0],Q=J[1],W=l(null),Y=e(W,2),Z=Y[0],$=Y[1],ee=l(!1),ne=e(ee,2),te=ne[0],oe=ne[1],le=i(null),ie=i(!1);r((function(){if(!ie.current){var e=B.reduce((function(e,n){return e[n]=!0,e}),{});Q(e),ie.current=!0}}),[B]);var re={id:"select",size:14,header:m,cell:v},ae=a((function(){return x.some((function(e){return!!e.enableSorting}))}),[x]),ce=k?re:f(re,"header"),se={id:"expander",size:30,header:function(){return null},cell:function(e){var n=e.row;return n.getCanExpand()?o(w,{isExpanded:n.getIsExpanded(),toggleExpanded:function(){return n.toggleExpanded()},disabled:!1}):null}},ue={id:"hoverIcon",size:30,sticky:"right",header:function(){return null},cell:function(e){return o("span",Object.assign({style:{display:"block",height:"100%"}},{children:Z===e.row.index&&U}))}},de=a((function(){var e=x.filter((function(e){return"left"===e.sticky})),t=x.filter((function(e){return"right"===e.sticky})),l=0,i=0;return[].concat(n(F?[se]:[]),n(y?[ce]:[]),n(x.map((function(n,o){var r,a,c,s=Object.assign(Object.assign({},n),{align:null!==(r=n.align)&&void 0!==r?r:"left",enableSorting:null!==(a=n.enableSorting)&&void 0!==a&&a,isResizable:null!==(c=n.isResizable)&&void 0!==c&&c,cell:n.cell||function(e){return(0,e.getValue)()}});return"left"===n.sticky?(s.left=l,l+=n.size,s.isLastStickyLeft=o===e.length-1):"right"===n.sticky&&(s.right=(i+=n.size)-n.size,s.isFirstStickyRight=o===x.length-t.length),s})).map((function(e,n,o){return"right"===e.sticky&&(e.isFirstStickyRight=n===o.length-t.length),e}))),[U?ue:null],n(L?[{id:"columnManager",size:20,header:function(){var e;return o(p,{ariaLabel:"Customize",size:null===(e=null==p?void 0:p.sizes)||void 0===e?void 0:e.XXS,icon:h,ref:le,onClick:function(){return oe((function(e){return!e}))}})},cell:function(){return null}}]:[])).filter(Boolean)}),[x,y,ce,L,F,U]),ge=l("onChange"),fe=e(ge,2),me=fe[0],ve=l("ltr"),he=e(ve,2),pe=he[0],we=s(Object.assign({data:S,columns:de,getCoreRowModel:u(),getRowCanExpand:function(e){var n;return!!e.original.renderExpandedContent||!!(null===(n=e.subRows)||void 0===n?void 0:n.length)},enableExpanding:!0,enableSortingRemoval:!!ae||void 0,getSubRows:function(e){return e.subRows},getSortedRowModel:d(),getPaginationRowModel:C?g():void 0,state:{rowSelection:K},onRowSelectionChange:Q,columnResizeMode:me,columnResizeDirection:pe},q)),be=we.getCoreRowModel().rows,Re=we.getPaginationRowModel().rows,Se=c(Object.assign({parentRef:R,size:be.length,overscan:30},T)),xe=function(){var e=D?Re.every((function(e){return K[e.id]})):be.every((function(e){return K[e.id]})),n={};(D?Re:be).forEach((function(t){n[t.id]=!e})),Q(n)},ye=function(){Q({}),null==N||N()};return we.toggleAllRowsSelected=xe,we.unselectAllRows=ye,r((function(){if(_){var n=Object.entries(K).reduce((function(n,t){var o=e(t,2);return o[1]&&n.push(S[parseInt(o[0])]),n}),[]);_(n)}}),[K,S,_]),Object.assign(Object.assign(Object.assign(Object.assign({},we),{handleRowClick:function(e){if(M){var n=S.find((function(n){return n.id===Number(e)+1}));null==A||A(n)}},toggleAllRowsSelected:xe,unselectAllRows:ye}),I&&{virtualRows:Se.virtualItems,totalSize:Se.totalSize,scrollToIndex:Se.scrollToIndex,scrollToOffset:Se.scrollToOffset,measure:Se.measure}),{hasSelectableRows:y,showColumnManager:te,setShowColumnManager:oe,columnManagerRef:le,setHoveredRow:$})};export{b as default};
|
2
2
|
//# sourceMappingURL=useLeafyGreenTable.js.map
|
package/dist/esm/src/components/NewTable/components/useLeafyGreenTable/useLeafyGreenTable.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useLeafyGreenTable.js","sources":["../../../../../../../src/components/NewTable/components/useLeafyGreenTable/useLeafyGreenTable.tsx"],"sourcesContent":["//@ts-nocheck\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport { useVirtual } from \"react-virtual\";\nimport { useReactTable, ColumnResizeMode, ColumnResizeDirection } from \"@tanstack/react-table\";\nimport { getCoreRowModel, getPaginationRowModel, getSortedRowModel } from \"@tanstack/react-table\";\nimport omit from \"lodash/omit\";\nimport { TableHeaderCheckbox } from \"./TableHeaderCheckbox\";\nimport { TableRowCheckbox } from \"./TableRowCheckbox\";\nimport { LeafyGreenTableOptions, LGRowData } from \"./useLeafyGreenTable.types\";\nimport { LeafyGreenTable, LGColumnDef, LGTableDataType } from \".\";\nimport Settings from \"../../../Icon/Icons/components/Settings\";\nimport IconButton from \"../../../IconButton/IconButton\";\nimport ToggleExpandedIcon from \"../ToggleExpandedIcon\";\n\nconst CHECKBOX_WIDTH = 14;\n\nconst useLeafyGreenTable = <T extends LGRowData, V extends unknown = unknown>({\n containerRef,\n data,\n columns: columnsProp,\n hasSelectableRows,\n withPagination = false,\n useVirtualScrolling = false,\n allowSelectAll = true,\n allowSelectSingle = false,\n onSelect,\n virtualizerOptions,\n initiallySelectedRowIds = [],\n onRowSelectionChange,\n columnManager = false,\n isExpandable = false,\n hoverIcon,\n selectCurrentPageOnly = false,\n onUnselectAll, \n initialState,\n ...rest\n}: LeafyGreenTableOptions<T, V>): LeafyGreenTable<T> => {\n const [rowSelection, setRowSelection] = useState<{ [key: string]: boolean }>({});\n const [hoveredRow, setHoveredRow] = useState<number | null>(null);\n const [showColumnManager, setShowColumnManager] = useState(false);\n const columnManagerRef = useRef<HTMLButtonElement>(null);\n const isInitialSetupDone = useRef(false);\n\n useEffect(() => {\n if (!isInitialSetupDone.current) {\n const initialRowSelection = initiallySelectedRowIds.reduce((acc, id) => {\n acc[id] = true;\n return acc;\n }, {});\n setRowSelection(initialRowSelection);\n isInitialSetupDone.current = true;\n }\n }, [initiallySelectedRowIds]);\n\n const baseSelectColumnConfig: LGColumnDef<T, V> = {\n id: \"select\",\n size: CHECKBOX_WIDTH,\n header: TableHeaderCheckbox,\n cell: TableRowCheckbox,\n };\n\n const handleRowClick = (rowId: number) => {\n if (allowSelectSingle) {\n const selectedRowData = data.find((d) => d.id === Number(rowId) + 1);\n onSelect?.(selectedRowData);\n }\n };\n\n const hasSortableColumns = useMemo(() => columnsProp.some((propCol) => !!propCol.enableSorting), [columnsProp]);\n\n const selectColumnConfig = allowSelectAll ? baseSelectColumnConfig : omit(baseSelectColumnConfig, \"header\");\n\n const expandColumnConfig: LGColumnDef<T, V> = {\n id: \"expander\",\n size: 30,\n header: () => null,\n cell: ({ row }) => {\n const isExpandable = row.getCanExpand();\n return isExpandable ? (\n <ToggleExpandedIcon\n isExpanded={row.getIsExpanded()}\n toggleExpanded={() => row.toggleExpanded()}\n disabled={false}\n />\n ) : null;\n },\n };\n\n const hoverIconConfig: LGColumnDef<T, V> = {\n id: \"hoverIcon\",\n size: 30,\n sticky: \"right\",\n header: () => null,\n cell: ({ row }) => (\n <span style={{ display: \"block\", height: \"100%\" }}>\n {hoveredRow === row.index && hoverIcon}\n </span>\n ),\n };\n\n const columns = useMemo<Array<LGColumnDef<T, V>>>(() => {\n const stickyLeftColumns = columnsProp.filter((col) => col.sticky === \"left\");\n const stickyRightColumns = columnsProp.filter((col) => col.sticky === \"right\");\n\n let leftOffset = 0;\n let rightOffset = 0;\n\n return [\n ...(isExpandable ? [expandColumnConfig] : []),\n ...(hasSelectableRows ? [selectColumnConfig as LGColumnDef<T, V>] : []),\n ...columnsProp\n .map((propColumn, index) => {\n const newColumn = {\n ...propColumn,\n align: propColumn.align ?? \"left\",\n enableSorting: propColumn.enableSorting ?? false,\n isResizable: propColumn.isResizable ?? false,\n cell: propColumn.cell || (({ getValue }) => getValue()),\n };\n\n if (propColumn.sticky === \"left\") {\n newColumn.left = leftOffset;\n leftOffset += propColumn.size;\n newColumn.isLastStickyLeft = index === stickyLeftColumns.length - 1;\n } else if (propColumn.sticky === \"right\") {\n rightOffset += propColumn.size;\n newColumn.right = rightOffset - propColumn.size;\n newColumn.isFirstStickyRight = index === columnsProp.length - stickyRightColumns.length;\n }\n\n return newColumn;\n })\n .map((column, index, columns) => {\n if (column.sticky === \"right\") {\n column.isFirstStickyRight = index === columns.length - stickyRightColumns.length;\n }\n return column;\n }),\n hoverIcon ? hoverIconConfig : null,\n ...(columnManager\n ? [\n {\n id: \"columnManager\",\n size: 20,\n header: () => (\n <IconButton\n ariaLabel=\"Customize\"\n size={IconButton?.sizes?.XXS}\n icon={Settings}\n ref={columnManagerRef}\n onClick={() => setShowColumnManager((prev) => !prev)}\n />\n ),\n cell: () => null,\n },\n ]\n : []),\n ].filter(Boolean);\n }, [columnsProp, hasSelectableRows, selectColumnConfig, columnManager, isExpandable, hoverIcon]);\n\n const [columnResizeMode, setColumnResizeMode] = useState<ColumnResizeMode>(\"onChange\");\n const [columnResizeDirection, setColumnResizeDirection] = useState<ColumnResizeDirection>(\"ltr\");\n\n const table = useReactTable<LGTableDataType<T>>({\n data,\n columns,\n getCoreRowModel: getCoreRowModel(),\n getRowCanExpand: (row) => !!row.original.renderExpandedContent || !!row.subRows?.length,\n enableExpanding: true,\n enableSortingRemoval: hasSortableColumns ? true : undefined,\n getSubRows: (row) => row.subRows,\n getSortedRowModel: getSortedRowModel(),\n getPaginationRowModel: withPagination ? getPaginationRowModel() : undefined,\n initialState: initialState ? initialState : undefined,\n state: { rowSelection },\n onRowSelectionChange: setRowSelection,\n columnResizeMode,\n columnResizeDirection,\n ...rest,\n });\n\n const { rows } = table.getCoreRowModel(); \n const { rows: paginationRows } = table.getPaginationRowModel();\n const _rowVirtualizer = useVirtual({\n parentRef: containerRef,\n size: rows.length,\n overscan: 30,\n ...virtualizerOptions,\n });\n\n const toggleAllRowsSelected = () => {\n const isAllRowsSelected = selectCurrentPageOnly\n ? paginationRows.every(row => rowSelection[row.id])\n : rows.every(row => rowSelection[row.id]);\n\n const newSelection = {};\n const rowsToSelect = selectCurrentPageOnly ? paginationRows : rows;\n\n rowsToSelect.forEach((row) => {\n newSelection[row.id] = !isAllRowsSelected;\n });\n\n setRowSelection(newSelection);\n };\n\n const unselectAllRows = () => {\n setRowSelection({});\n onUnselectAll?.();\n };\n\n table.toggleAllRowsSelected = toggleAllRowsSelected;\n table.unselectAllRows = unselectAllRows;\n\n useEffect(() => {\n if (onRowSelectionChange) {\n const selectedRows = Object.entries(rowSelection).reduce((selected, [key, value]) => {\n if (value) {\n selected.push(data[parseInt(key)]);\n }\n return selected;\n }, [] as T[]);\n onRowSelectionChange(selectedRows);\n }\n }, [rowSelection, data, onRowSelectionChange]);\n\n return {\n ...table,\n handleRowClick,\n toggleAllRowsSelected, \n unselectAllRows, \n ...(useVirtualScrolling && {\n virtualRows: _rowVirtualizer.virtualItems,\n totalSize: _rowVirtualizer.totalSize,\n scrollToIndex: _rowVirtualizer.scrollToIndex,\n scrollToOffset: _rowVirtualizer.scrollToOffset,\n measure: _rowVirtualizer.measure,\n }),\n hasSelectableRows,\n showColumnManager,\n setShowColumnManager,\n columnManagerRef,\n setHoveredRow,\n } as LeafyGreenTable<T>;\n};\n\nexport default useLeafyGreenTable;\n"],"names":["useLeafyGreenTable","_a","containerRef","data","columnsProp","columns","hasSelectableRows","_a$withPagination","withPagination","_a$useVirtualScrollin","useVirtualScrolling","_a$allowSelectAll","allowSelectAll","_a$allowSelectSingle","allowSelectSingle","onSelect","virtualizerOptions","_a$initiallySelectedR","initiallySelectedRowIds","onRowSelectionChange","_a$columnManager","columnManager","_a$isExpandable","isExpandable","hoverIcon","_a$selectCurrentPageO","selectCurrentPageOnly","onUnselectAll","initialState","rest","__rest","_useState","useState","_useState2","_slicedToArray","rowSelection","setRowSelection","_useState3","_useState4","hoveredRow","setHoveredRow","_useState5","_useState6","showColumnManager","setShowColumnManager","columnManagerRef","useRef","isInitialSetupDone","useEffect","current","initialRowSelection","reduce","acc","id","baseSelectColumnConfig","size","header","TableHeaderCheckbox","cell","TableRowCheckbox","hasSortableColumns","useMemo","some","propCol","enableSorting","selectColumnConfig","omit","expandColumnConfig","_ref","row","getCanExpand","_jsx","ToggleExpandedIcon","isExpanded","getIsExpanded","toggleExpanded","disabled","hoverIconConfig","sticky","_ref2","Object","assign","style","display","height","children","index","stickyLeftColumns","filter","col","stickyRightColumns","leftOffset","rightOffset","concat","_toConsumableArray","map","propColumn","newColumn","align","_b","isResizable","_c","_ref3","getValue","left","isLastStickyLeft","length","right","isFirstStickyRight","column","IconButton","ariaLabel","sizes","XXS","icon","Settings","ref","onClick","prev","Boolean","_useState7","_useState8","columnResizeMode","_useState9","_useState10","columnResizeDirection","table","useReactTable","getCoreRowModel","getRowCanExpand","original","renderExpandedContent","subRows","enableExpanding","enableSortingRemoval","undefined","getSubRows","getSortedRowModel","getPaginationRowModel","state","rows","paginationRows","_rowVirtualizer","useVirtual","parentRef","overscan","toggleAllRowsSelected","isAllRowsSelected","every","newSelection","forEach","unselectAllRows","selectedRows","entries","selected","_ref4","_ref5","push","parseInt","handleRowClick","rowId","selectedRowData","find","d","Number","virtualRows","virtualItems","totalSize","scrollToIndex","scrollToOffset","measure"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"useLeafyGreenTable.js","sources":["../../../../../../../src/components/NewTable/components/useLeafyGreenTable/useLeafyGreenTable.tsx"],"sourcesContent":["//@ts-nocheck\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport { useVirtual } from \"react-virtual\";\nimport { useReactTable, ColumnResizeMode, ColumnResizeDirection } from \"@tanstack/react-table\";\nimport { getCoreRowModel, getPaginationRowModel, getSortedRowModel } from \"@tanstack/react-table\";\nimport omit from \"lodash/omit\";\nimport { TableHeaderCheckbox } from \"./TableHeaderCheckbox\";\nimport { TableRowCheckbox } from \"./TableRowCheckbox\";\nimport { LeafyGreenTableOptions, LGRowData } from \"./useLeafyGreenTable.types\";\nimport { LeafyGreenTable, LGColumnDef, LGTableDataType } from \".\";\nimport Settings from \"../../../Icon/Icons/components/Settings\";\nimport IconButton from \"../../../IconButton/IconButton\";\nimport ToggleExpandedIcon from \"../ToggleExpandedIcon\";\n\nconst CHECKBOX_WIDTH = 14;\n\nconst useLeafyGreenTable = <T extends LGRowData, V extends unknown = unknown>({\n containerRef,\n data,\n columns: columnsProp,\n hasSelectableRows,\n withPagination = false,\n useVirtualScrolling = false,\n allowSelectAll = true,\n allowSelectSingle = false,\n onSelect,\n virtualizerOptions,\n initiallySelectedRowIds = [],\n onRowSelectionChange,\n columnManager = false,\n isExpandable = false,\n hoverIcon,\n selectCurrentPageOnly = false,\n onUnselectAll, \n ...rest\n}: LeafyGreenTableOptions<T, V>): LeafyGreenTable<T> => {\n const [rowSelection, setRowSelection] = useState<{ [key: string]: boolean }>({});\n const [hoveredRow, setHoveredRow] = useState<number | null>(null);\n const [showColumnManager, setShowColumnManager] = useState(false);\n const columnManagerRef = useRef<HTMLButtonElement>(null);\n const isInitialSetupDone = useRef(false);\n\n useEffect(() => {\n if (!isInitialSetupDone.current) {\n const initialRowSelection = initiallySelectedRowIds.reduce((acc, id) => {\n acc[id] = true;\n return acc;\n }, {});\n setRowSelection(initialRowSelection);\n isInitialSetupDone.current = true;\n }\n }, [initiallySelectedRowIds]);\n\n const baseSelectColumnConfig: LGColumnDef<T, V> = {\n id: \"select\",\n size: CHECKBOX_WIDTH,\n header: TableHeaderCheckbox,\n cell: TableRowCheckbox,\n };\n\n const handleRowClick = (rowId: number) => {\n if (allowSelectSingle) {\n const selectedRowData = data.find((d) => d.id === Number(rowId) + 1);\n onSelect?.(selectedRowData);\n }\n };\n\n const hasSortableColumns = useMemo(() => columnsProp.some((propCol) => !!propCol.enableSorting), [columnsProp]);\n\n const selectColumnConfig = allowSelectAll ? baseSelectColumnConfig : omit(baseSelectColumnConfig, \"header\");\n\n const expandColumnConfig: LGColumnDef<T, V> = {\n id: \"expander\",\n size: 30,\n header: () => null,\n cell: ({ row }) => {\n const isExpandable = row.getCanExpand();\n return isExpandable ? (\n <ToggleExpandedIcon\n isExpanded={row.getIsExpanded()}\n toggleExpanded={() => row.toggleExpanded()}\n disabled={false}\n />\n ) : null;\n },\n };\n\n const hoverIconConfig: LGColumnDef<T, V> = {\n id: \"hoverIcon\",\n size: 30,\n sticky: \"right\",\n header: () => null,\n cell: ({ row }) => (\n <span style={{ display: \"block\", height: \"100%\" }}>\n {hoveredRow === row.index && hoverIcon}\n </span>\n ),\n };\n\n const columns = useMemo<Array<LGColumnDef<T, V>>>(() => {\n const stickyLeftColumns = columnsProp.filter((col) => col.sticky === \"left\");\n const stickyRightColumns = columnsProp.filter((col) => col.sticky === \"right\");\n\n let leftOffset = 0;\n let rightOffset = 0;\n\n return [\n ...(isExpandable ? [expandColumnConfig] : []),\n ...(hasSelectableRows ? [selectColumnConfig as LGColumnDef<T, V>] : []),\n ...columnsProp\n .map((propColumn, index) => {\n const newColumn = {\n ...propColumn,\n align: propColumn.align ?? \"left\",\n enableSorting: propColumn.enableSorting ?? false,\n isResizable: propColumn.isResizable ?? false,\n cell: propColumn.cell || (({ getValue }) => getValue()),\n };\n\n if (propColumn.sticky === \"left\") {\n newColumn.left = leftOffset;\n leftOffset += propColumn.size;\n newColumn.isLastStickyLeft = index === stickyLeftColumns.length - 1;\n } else if (propColumn.sticky === \"right\") {\n rightOffset += propColumn.size;\n newColumn.right = rightOffset - propColumn.size;\n newColumn.isFirstStickyRight = index === columnsProp.length - stickyRightColumns.length;\n }\n\n return newColumn;\n })\n .map((column, index, columns) => {\n if (column.sticky === \"right\") {\n column.isFirstStickyRight = index === columns.length - stickyRightColumns.length;\n }\n return column;\n }),\n hoverIcon ? hoverIconConfig : null,\n ...(columnManager\n ? [\n {\n id: \"columnManager\",\n size: 20,\n header: () => (\n <IconButton\n ariaLabel=\"Customize\"\n size={IconButton?.sizes?.XXS}\n icon={Settings}\n ref={columnManagerRef}\n onClick={() => setShowColumnManager((prev) => !prev)}\n />\n ),\n cell: () => null,\n },\n ]\n : []),\n ].filter(Boolean);\n }, [columnsProp, hasSelectableRows, selectColumnConfig, columnManager, isExpandable, hoverIcon]);\n\n const [columnResizeMode, setColumnResizeMode] = useState<ColumnResizeMode>(\"onChange\");\n const [columnResizeDirection, setColumnResizeDirection] = useState<ColumnResizeDirection>(\"ltr\");\n\n const table = useReactTable<LGTableDataType<T>>({\n data,\n columns,\n getCoreRowModel: getCoreRowModel(),\n getRowCanExpand: (row) => !!row.original.renderExpandedContent || !!row.subRows?.length,\n enableExpanding: true,\n enableSortingRemoval: hasSortableColumns ? true : undefined,\n getSubRows: (row) => row.subRows,\n getSortedRowModel: getSortedRowModel(),\n getPaginationRowModel: withPagination ? getPaginationRowModel() : undefined,\n state: { rowSelection },\n onRowSelectionChange: setRowSelection,\n columnResizeMode,\n columnResizeDirection,\n ...rest,\n });\n\n const { rows } = table.getCoreRowModel(); \n const { rows: paginationRows } = table.getPaginationRowModel();\n const _rowVirtualizer = useVirtual({\n parentRef: containerRef,\n size: rows.length,\n overscan: 30,\n ...virtualizerOptions,\n });\n\n const toggleAllRowsSelected = () => {\n const isAllRowsSelected = selectCurrentPageOnly\n ? paginationRows.every(row => rowSelection[row.id])\n : rows.every(row => rowSelection[row.id]);\n\n const newSelection = {};\n const rowsToSelect = selectCurrentPageOnly ? paginationRows : rows;\n\n rowsToSelect.forEach((row) => {\n newSelection[row.id] = !isAllRowsSelected;\n });\n\n setRowSelection(newSelection);\n };\n\n const unselectAllRows = () => {\n setRowSelection({});\n onUnselectAll?.();\n };\n\n table.toggleAllRowsSelected = toggleAllRowsSelected;\n table.unselectAllRows = unselectAllRows;\n\n useEffect(() => {\n if (onRowSelectionChange) {\n const selectedRows = Object.entries(rowSelection).reduce((selected, [key, value]) => {\n if (value) {\n selected.push(data[parseInt(key)]);\n }\n return selected;\n }, [] as T[]);\n onRowSelectionChange(selectedRows);\n }\n }, [rowSelection, data, onRowSelectionChange]);\n\n return {\n ...table,\n handleRowClick,\n toggleAllRowsSelected, \n unselectAllRows, \n ...(useVirtualScrolling && {\n virtualRows: _rowVirtualizer.virtualItems,\n totalSize: _rowVirtualizer.totalSize,\n scrollToIndex: _rowVirtualizer.scrollToIndex,\n scrollToOffset: _rowVirtualizer.scrollToOffset,\n measure: _rowVirtualizer.measure,\n }),\n hasSelectableRows,\n showColumnManager,\n setShowColumnManager,\n columnManagerRef,\n setHoveredRow,\n } as LeafyGreenTable<T>;\n};\n\nexport default useLeafyGreenTable;\n"],"names":["useLeafyGreenTable","_a","containerRef","data","columnsProp","columns","hasSelectableRows","_a$withPagination","withPagination","_a$useVirtualScrollin","useVirtualScrolling","_a$allowSelectAll","allowSelectAll","_a$allowSelectSingle","allowSelectSingle","onSelect","virtualizerOptions","_a$initiallySelectedR","initiallySelectedRowIds","onRowSelectionChange","_a$columnManager","columnManager","_a$isExpandable","isExpandable","hoverIcon","_a$selectCurrentPageO","selectCurrentPageOnly","onUnselectAll","rest","__rest","_useState","useState","_useState2","_slicedToArray","rowSelection","setRowSelection","_useState3","_useState4","hoveredRow","setHoveredRow","_useState5","_useState6","showColumnManager","setShowColumnManager","columnManagerRef","useRef","isInitialSetupDone","useEffect","current","initialRowSelection","reduce","acc","id","baseSelectColumnConfig","size","header","TableHeaderCheckbox","cell","TableRowCheckbox","hasSortableColumns","useMemo","some","propCol","enableSorting","selectColumnConfig","omit","expandColumnConfig","_ref","row","getCanExpand","_jsx","ToggleExpandedIcon","isExpanded","getIsExpanded","toggleExpanded","disabled","hoverIconConfig","sticky","_ref2","Object","assign","style","display","height","children","index","stickyLeftColumns","filter","col","stickyRightColumns","leftOffset","rightOffset","concat","_toConsumableArray","map","propColumn","newColumn","align","_b","isResizable","_c","_ref3","getValue","left","isLastStickyLeft","length","right","isFirstStickyRight","column","IconButton","ariaLabel","sizes","XXS","icon","Settings","ref","onClick","prev","Boolean","_useState7","_useState8","columnResizeMode","_useState9","_useState10","columnResizeDirection","table","useReactTable","getCoreRowModel","getRowCanExpand","original","renderExpandedContent","subRows","enableExpanding","enableSortingRemoval","undefined","getSubRows","getSortedRowModel","getPaginationRowModel","state","rows","paginationRows","_rowVirtualizer","useVirtual","parentRef","overscan","toggleAllRowsSelected","isAllRowsSelected","every","newSelection","forEach","unselectAllRows","selectedRows","entries","selected","_ref4","_ref5","push","parseInt","handleRowClick","rowId","selectedRowData","find","d","Number","virtualRows","virtualItems","totalSize","scrollToIndex","scrollToOffset","measure"],"mappings":"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"}
|