sag_components 1.0.448 → 1.0.449

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.
Files changed (105) hide show
  1. package/dist/stories/CampaignTool/Popup.stories.js +85 -0
  2. package/dist/stories/CampaignTool/Table.stories.js +96 -0
  3. package/dist/stories/components/AutocompleteField.js +40 -0
  4. package/dist/stories/components/AutocompleteField.style.js +15 -0
  5. package/dist/stories/components/CampaignTool/Popup.js +96 -0
  6. package/dist/stories/components/CampaignTool/Popup.style.js +22 -0
  7. package/dist/stories/components/CampaignTool/Table.js +189 -0
  8. package/dist/stories/components/CampaignTool/Table.style.js +18 -0
  9. package/dist/stories/components/CommonFunctions.js +16 -16
  10. package/dist/stories/components/DropdownMulti.style.js +2 -2
  11. package/dist/stories/components/NewInput.js +32 -0
  12. package/dist/stories/components/NewInput.style.js +13 -0
  13. package/dist/stories/components/TotalBenchmarkBarchart.js +2 -2
  14. package/package.json +1 -1
  15. package/.history/.env_20231001120549 +0 -0
  16. package/.history/.env_20231001120613 +0 -1
  17. package/.history/.env_20231003143620 +0 -1
  18. package/.history/.eslintrc_20230928112617.js +0 -26
  19. package/.history/.eslintrc_20230928130534.js +0 -27
  20. package/.history/.eslintrc_20230928133400.js +0 -28
  21. package/.history/.eslintrc_20230928133404.js +0 -28
  22. package/.history/.eslintrc_20230928133416.js +0 -28
  23. package/.history/.eslintrc_20230928133419.js +0 -28
  24. package/.history/.eslintrc_20230928133432.js +0 -28
  25. package/.history/.eslintrc_20230928133439.js +0 -28
  26. package/.history/.eslintrc_20230928133458.js +0 -29
  27. package/.history/.eslintrc_20230928133500.js +0 -28
  28. package/.history/.eslintrc_20230928134009.js +0 -28
  29. package/.history/.eslintrc_20230928135318.js +0 -34
  30. package/.history/.eslintrc_20230928135321.js +0 -34
  31. package/.history/.eslintrc_20230928135323.js +0 -34
  32. package/.history/.eslintrc_20230928135332.js +0 -34
  33. package/.history/.eslintrc_20230928135333.js +0 -34
  34. package/.history/.eslintrc_20230928135352.js +0 -29
  35. package/.history/.eslintrc_20230928135353.js +0 -29
  36. package/.history/.eslintrc_20230928135355.js +0 -29
  37. package/.history/.eslintrc_20230928135408.js +0 -29
  38. package/.history/.eslintrc_20230928135538.js +0 -30
  39. package/.history/.eslintrc_20230928135539.js +0 -30
  40. package/.history/.eslintrc_20230928135543.js +0 -30
  41. package/.history/.gitignore_20230921093332 +0 -119
  42. package/.history/.gitignore_20230921111638 +0 -120
  43. package/.history/.gitignore_20230921111650 +0 -120
  44. package/.history/.gitignore_20230921111810 +0 -121
  45. package/.history/package-lock_20231114111138.json +0 -47810
  46. package/.history/package-lock_20231114111158.json +0 -47802
  47. package/.history/package_20231029152422.json +0 -82
  48. package/.history/package_20231029153420.json +0 -82
  49. package/.history/package_20231029154416.json +0 -82
  50. package/.history/package_20231030094127.json +0 -82
  51. package/.history/package_20231030114707.json +0 -82
  52. package/.history/package_20231030130704.json +0 -82
  53. package/.history/package_20231030132422.json +0 -82
  54. package/.history/package_20231030134051.json +0 -82
  55. package/.history/package_20231030142913.json +0 -82
  56. package/.history/package_20231030143556.json +0 -82
  57. package/.history/package_20231030144210.json +0 -82
  58. package/.history/package_20231101113942.json +0 -82
  59. package/.history/package_20231101114544.json +0 -82
  60. package/.history/package_20231101151518.json +0 -82
  61. package/.history/package_20231101154501.json +0 -82
  62. package/.history/package_20231101155811.json +0 -82
  63. package/.history/package_20231101160235.json +0 -82
  64. package/.history/package_20231101160406.json +0 -82
  65. package/.history/package_20231101161325.json +0 -82
  66. package/.history/package_20231101161333.json +0 -82
  67. package/.history/package_20231102123623.json +0 -82
  68. package/.history/package_20231102125741.json +0 -82
  69. package/.history/package_20231102130857.json +0 -82
  70. package/.history/package_20231102132227.json +0 -82
  71. package/.history/package_20231102142340.json +0 -82
  72. package/.history/package_20231102143256.json +0 -82
  73. package/.history/package_20231105153539.json +0 -82
  74. package/.history/package_20231105154332.json +0 -82
  75. package/.history/package_20231105171201.json +0 -82
  76. package/.history/package_20231106123849.json +0 -82
  77. package/.history/package_20231107170638.json +0 -82
  78. package/.history/package_20231109103647.json +0 -82
  79. package/.history/package_20231109103911.json +0 -82
  80. package/.history/package_20231109105426.json +0 -82
  81. package/.history/package_20231109132014.json +0 -82
  82. package/.history/package_20231109132115.json +0 -82
  83. package/.history/package_20231114100517.json +0 -82
  84. package/.history/package_20231114100859.json +0 -82
  85. package/.history/package_20231114101553.json +0 -82
  86. package/.history/package_20231114102545.json +0 -82
  87. package/.history/package_20231114111208.json +0 -83
  88. package/.history/package_20231114111515.json +0 -83
  89. package/.history/package_20231114112931.json +0 -83
  90. package/.history/package_20231114113014.json +0 -83
  91. package/.history/package_20231114113155.json +0 -83
  92. package/.history/package_20231114124318.json +0 -83
  93. package/.history/package_20231114125107.json +0 -83
  94. package/.history/package_20231114125510.json +0 -83
  95. package/.history/package_20231114132634.json +0 -83
  96. package/.history/package_20231116165815.json +0 -83
  97. package/.history/package_20231116165916.json +0 -83
  98. package/.history/package_20231119113637.json +0 -83
  99. package/.history/package_20231120100907.json +0 -83
  100. package/.history/package_20231121151523.json +0 -77
  101. package/.history/package_20231121155513.json +0 -77
  102. package/.history/package_20231121162434.json +0 -77
  103. package/.history/package_20231122100718.json +0 -77
  104. package/.history/package_20231128125149.json +0 -82
  105. package/.history/package_20231128125208.json +0 -82
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.ExamplePopup = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _Popup = _interopRequireDefault(require("../components/CampaignTool/Popup"));
10
+ const accordionItemsData1 = [{
11
+ title: "Details",
12
+ content: "Content for Details"
13
+ }, {
14
+ title: "Permissions",
15
+ content: "Content for Permissions"
16
+ }, {
17
+ title: "Other",
18
+ content: "Content for Other"
19
+ }];
20
+ var _default = exports.default = {
21
+ title: "Campaign Tool/Popup",
22
+ component: _Popup.default,
23
+ tags: ["autodocs"],
24
+ argTypes: {
25
+ title: {
26
+ name: "title",
27
+ control: {
28
+ type: "text"
29
+ },
30
+ description: "title"
31
+ },
32
+ isPopupOpen: {
33
+ name: 'isPopupOpen',
34
+ control: {
35
+ type: 'boolean'
36
+ },
37
+ description: 'true/false - open or close popup'
38
+ },
39
+ width: {
40
+ name: "width",
41
+ control: {
42
+ type: "text"
43
+ },
44
+ description: "width of the form"
45
+ },
46
+ height: {
47
+ name: "height",
48
+ control: {
49
+ type: "text"
50
+ },
51
+ description: "height of the form"
52
+ },
53
+ accordionItemBackgroundColor: {
54
+ name: 'accordionItemBackgroundColor',
55
+ description: 'Sets the background color for accordion item',
56
+ control: {
57
+ type: 'color',
58
+ presetColors: ['#ffffff', '#ff0000', '#00ff00', '#0000ff']
59
+ }
60
+ },
61
+ onSaveClick: {
62
+ name: "Click on save event",
63
+ action: "onClick",
64
+ description: "Click on save event"
65
+ },
66
+ onCancelClick: {
67
+ name: "Click on cancel event",
68
+ action: "onClick",
69
+ description: "Click on cancel event"
70
+ },
71
+ accordionItemsData: {
72
+ description: 'array [] of objects: {title: string, content } to fill the accordion items. '
73
+ }
74
+ }
75
+ };
76
+ const Template = args => /*#__PURE__*/_react.default.createElement(_Popup.default, args);
77
+ const ExamplePopup = exports.ExamplePopup = Template.bind({});
78
+ ExamplePopup.args = {
79
+ title: "Offer Details",
80
+ isPopupOpen: true,
81
+ accordionItemsData: accordionItemsData1,
82
+ width: "800px",
83
+ height: "600px",
84
+ accordionItemBackgroundColor: "#f4f6f7"
85
+ };
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.ExampleTable = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _Table = require("../components/CampaignTool/Table");
10
+ const theData = [{
11
+ key: '1',
12
+ name: 'oren',
13
+ age: 35
14
+ }, {
15
+ key: '2',
16
+ name: 'dror',
17
+ age: 16
18
+ }, {
19
+ key: '3',
20
+ name: 'andrey',
21
+ age: 22
22
+ }, {
23
+ key: '4',
24
+ name: 'hai',
25
+ age: 46
26
+ }];
27
+ var _default = exports.default = {
28
+ title: 'Campaign Tool/Table',
29
+ component: _Table.Table,
30
+ tags: ['autodocs'],
31
+ argTypes: {
32
+ width: {
33
+ name: 'Width',
34
+ control: {
35
+ type: 'text'
36
+ },
37
+ description: 'Table width'
38
+ },
39
+ height: {
40
+ name: 'Height',
41
+ control: {
42
+ type: 'text'
43
+ },
44
+ description: 'Table height'
45
+ },
46
+ onCheckAllInput: {
47
+ name: 'Check all input event',
48
+ action: 'onClick',
49
+ description: 'Click on check all'
50
+ },
51
+ onSortClick: {
52
+ name: 'Table head sorting event',
53
+ action: 'onClick',
54
+ description: 'Click on table head sorting'
55
+ },
56
+ onRowClick: {
57
+ name: 'Click on row event',
58
+ action: 'onClick',
59
+ description: 'Click on a certain row in table'
60
+ },
61
+ onRowInputClick: {
62
+ name: 'Checkbox row event',
63
+ action: 'onClick',
64
+ description: 'Click on a certain row checkbox '
65
+ },
66
+ actionsColumn: {
67
+ name: 'Show action column',
68
+ control: {
69
+ type: 'boolean'
70
+ },
71
+ description: 'show/hide action column',
72
+ defaultValue: true
73
+ },
74
+ sizingTable: {
75
+ name: 'Sizing table columns',
76
+ control: {
77
+ type: 'boolean'
78
+ },
79
+ description: 'Sizing table columns ability',
80
+ defaultValue: true
81
+ },
82
+ showPagination: {
83
+ name: 'Show Pagination',
84
+ control: {
85
+ type: 'boolean'
86
+ },
87
+ description: 'hide/show pagination',
88
+ defaultValue: true
89
+ }
90
+ }
91
+ };
92
+ const Template = args => /*#__PURE__*/_react.default.createElement(_Table.Table, args);
93
+ const ExampleTable = exports.ExampleTable = Template.bind({});
94
+ ExampleTable.args = {
95
+ data: theData
96
+ };
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _AutocompleteField = require("./AutocompleteField.style");
10
+ const AutocompleteField = props => {
11
+ const {
12
+ choices,
13
+ onSelect
14
+ } = props;
15
+ const [inputValue, setInputValue] = (0, _react.useState)('');
16
+ const [isFocused, setFocused] = (0, _react.useState)(false);
17
+ const handleInputChange = e => {
18
+ setInputValue(e.target.value);
19
+ };
20
+ const handleOptionClick = option => {
21
+ onSelect(option);
22
+ setInputValue('');
23
+ };
24
+ return /*#__PURE__*/_react.default.createElement(_AutocompleteField.AutocompleteContainer, null, /*#__PURE__*/_react.default.createElement(_AutocompleteField.AutocompleteInput, {
25
+ type: "text",
26
+ value: inputValue,
27
+ onChange: handleInputChange,
28
+ onFocus: () => setFocused(true),
29
+ onBlur: () => setFocused(false),
30
+ placeholder: " "
31
+ }), /*#__PURE__*/_react.default.createElement(_AutocompleteField.AutocompleteLabel, null, "Choose an option"), (isFocused || inputValue) && /*#__PURE__*/_react.default.createElement(_AutocompleteField.AutocompleteOptions, null, choices.filter(option => option.toLowerCase().includes(inputValue.toLowerCase())).map((option, index) => /*#__PURE__*/_react.default.createElement(_AutocompleteField.AutocompleteOption, {
32
+ key: index,
33
+ onClick: () => handleOptionClick(option)
34
+ }, option))));
35
+ };
36
+ var _default = exports.default = AutocompleteField;
37
+ AutocompleteField.defaultProps = {
38
+ choices: ['Apple', 'Banana', 'Orange'],
39
+ onSelect: () => {}
40
+ };
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.AutocompleteOptions = exports.AutocompleteOption = exports.AutocompleteLabel = exports.AutocompleteInput = exports.AutocompleteContainer = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/taggedTemplateLiteral"));
9
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
10
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
11
+ const AutocompleteContainer = exports.AutocompleteContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n font-family: \"Poppins\", sans-serif;\n position: relative;\n margin: 20px;\n"])));
12
+ const AutocompleteInput = exports.AutocompleteInput = _styledComponents.default.input(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n width: 100%;\n padding: 10px;\n font-size: 16px;\n border: 1px solid #ccc;\n border-radius: 4px;\n\n &:focus + label {\n top: -10px;\n font-size: 12px;\n color: #007bff;\n }\n"])));
13
+ const AutocompleteLabel = exports.AutocompleteLabel = _styledComponents.default.label(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n position: absolute;\n top: 12px;\n left: 10px;\n transition: .2s ease;\n pointer-events: none;\n font-size: 16px;\n color: #555;\n background-color: white;\n"])));
14
+ const AutocompleteOptions = exports.AutocompleteOptions = _styledComponents.default.div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n position: absolute;\n width: 100%;\n max-height: 150px;\n overflow-y: auto;\n border: 1px solid #ccc;\n border-top: none;\n border-bottom-left-radius: 4px;\n border-bottom-right-radius: 4px;\n background-color: #fff;\n z-index: 1;\n"])));
15
+ const AutocompleteOption = exports.AutocompleteOption = _styledComponents.default.div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n padding: 10px;\n cursor: pointer;\n &:hover {\n background-color: #f0f0f0;\n }\n"])));
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _ComboBoxArrowDownIcon = require("../icons/ComboBoxArrowDownIcon");
10
+ var _ComboBoxArrowUpIcon = require("../icons/ComboBoxArrowUpIcon");
11
+ var _Popup = require("./Popup.style");
12
+ const Popup = props => {
13
+ const {
14
+ title,
15
+ accordionItemsData,
16
+ isPopupOpen,
17
+ width,
18
+ height,
19
+ accordionItemBackgroundColor,
20
+ onSaveClick,
21
+ onCancelClick
22
+ } = props;
23
+ const [IsPopupOpen, setIsPopupOpen] = (0, _react.useState)(isPopupOpen);
24
+ (0, _react.useEffect)(() => {
25
+ setIsPopupOpen(isPopupOpen);
26
+ }, [isPopupOpen]);
27
+ const openPopup = () => {
28
+ setIsPopupOpen(true);
29
+ };
30
+ const closePopup = () => {
31
+ setIsPopupOpen(false);
32
+ };
33
+ const AccordionItem = _ref => {
34
+ let {
35
+ title,
36
+ content
37
+ } = _ref;
38
+ const [IsItemOpen, setIsItemOpen] = (0, _react.useState)(false);
39
+ const handleToggle = () => {
40
+ setIsItemOpen(!IsItemOpen);
41
+ };
42
+ return /*#__PURE__*/_react.default.createElement(_Popup.AccordionItemMainContainer, null, /*#__PURE__*/_react.default.createElement(_Popup.AccordionItemContainer, {
43
+ id: "AccordionItemContainer",
44
+ accordionItemBackgroundColor: accordionItemBackgroundColor,
45
+ onClick: handleToggle,
46
+ style: {
47
+ cursor: "pointer"
48
+ }
49
+ }, /*#__PURE__*/_react.default.createElement(_Popup.AccordionItemTitle, {
50
+ id: "AccordionItemTitle"
51
+ }, title), /*#__PURE__*/_react.default.createElement(_Popup.AccordionItemIconContainer, {
52
+ id: "AccordionItemIconContainer"
53
+ }, IsItemOpen ? /*#__PURE__*/_react.default.createElement(_ComboBoxArrowUpIcon.ComboBoxArrowUpIcon, null) : /*#__PURE__*/_react.default.createElement(_ComboBoxArrowDownIcon.ComboBoxArrowDownIcon, null))), IsItemOpen && /*#__PURE__*/_react.default.createElement(_Popup.AccordionContentContainer, {
54
+ id: "AccordionContentContainer"
55
+ }, content));
56
+ };
57
+ const Accordion = _ref2 => {
58
+ let {
59
+ items
60
+ } = _ref2;
61
+ return /*#__PURE__*/_react.default.createElement(_Popup.AccordionContainer, {
62
+ id: "AccordionContainer"
63
+ }, items.map((item, index) => /*#__PURE__*/_react.default.createElement(AccordionItem, {
64
+ key: index,
65
+ title: item.title,
66
+ content: item.content
67
+ })));
68
+ };
69
+ return /*#__PURE__*/_react.default.createElement(_Popup.MainContainer, {
70
+ id: "MainContainer"
71
+ }, IsPopupOpen && /*#__PURE__*/_react.default.createElement(_Popup.ModalOverlay, {
72
+ id: "ModalOverlay",
73
+ className: "modal-overlay",
74
+ onClick: closePopup
75
+ }, /*#__PURE__*/_react.default.createElement(_Popup.ModalContent, {
76
+ id: "ModalContent",
77
+ className: "modal-content",
78
+ height: height,
79
+ width: width,
80
+ onClick: e => e.stopPropagation()
81
+ }, /*#__PURE__*/_react.default.createElement(_Popup.TitleContainer, null, /*#__PURE__*/_react.default.createElement(_Popup.Title, null, title), /*#__PURE__*/_react.default.createElement(_Popup.Close, {
82
+ id: "Close",
83
+ className: "close",
84
+ onClick: closePopup
85
+ }, "\xD7")), /*#__PURE__*/_react.default.createElement(Accordion, {
86
+ items: accordionItemsData
87
+ }))));
88
+ };
89
+ var _default = exports.default = Popup;
90
+ Popup.defaultProps = {
91
+ isPopupOpen: true,
92
+ width: "800px",
93
+ height: "600px",
94
+ onSaveClick: () => {},
95
+ onCancelClick: () => {}
96
+ };
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.TitleContainer = exports.Title = exports.ModalOverlay = exports.ModalContent = exports.MainContainer = exports.Close = exports.AccordionItemTitle = exports.AccordionItemMainContainer = exports.AccordionItemIconContainer = exports.AccordionItemContainer = exports.AccordionContentContainer = exports.AccordionContainer = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/taggedTemplateLiteral"));
9
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
10
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;
11
+ const MainContainer = exports.MainContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)([""])));
12
+ const ModalOverlay = exports.ModalOverlay = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.5);\n display: flex;\n justify-content: center;\n align-items: center;\n"])));
13
+ const ModalContent = exports.ModalContent = _styledComponents.default.div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n font-family: \"Poppins\", sans-serif;\n font-weight: 500;\n font-size: 18px;\n background-color: #fefefe;\n padding: 20px;\n border: 1px solid #888;\n height: ", ";\n width: ", ";\n border-radius: 10px;\n box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1);\n"])), props => props.height, props => props.width);
14
+ const Close = exports.Close = _styledComponents.default.span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n color: #aaa;\n float: right;\n font-size: 28px;\n font-weight: bold;\n cursor: pointer;\n\n .close:hover,\n .close:focus {\n color: black;\n text-decoration: none;\n }\n"])));
15
+ const TitleContainer = exports.TitleContainer = _styledComponents.default.div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n display:flex; \n justify-content: space-between;\n align-items: center;\n margin: 0;\n"])));
16
+ const Title = exports.Title = _styledComponents.default.p(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n font-weight: 600;\n font-size: 18px;\n margin: 0;\n \n"])));
17
+ const AccordionContainer = exports.AccordionContainer = _styledComponents.default.div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["\n margin: 0;\n"])));
18
+ const AccordionItemMainContainer = exports.AccordionItemMainContainer = _styledComponents.default.div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)([" \n margin: 0;\n \n"])));
19
+ const AccordionItemContainer = exports.AccordionItemContainer = _styledComponents.default.div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2.default)([" \n display:flex; \n justify-content: space-between;\n align-items: center;\n margin: 10px;\n background-color: ", ";\n"])), props => props.accordionItemBackgroundColor);
20
+ const AccordionItemTitle = exports.AccordionItemTitle = _styledComponents.default.h3(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2.default)(["\n font-weight: 600;\n font-size: 16px;\n line-height: 25px;\n margin: 10px; \n"])));
21
+ const AccordionItemIconContainer = exports.AccordionItemIconContainer = _styledComponents.default.h3(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2.default)(["\n margin: 0 10px; \n"])));
22
+ const AccordionContentContainer = exports.AccordionContentContainer = _styledComponents.default.div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2.default)(["\n font-weight: 500;\n font-size: 14px;\n margin: 10px 10px 10px 30px; \n \n"])));
@@ -0,0 +1,189 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.Table = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _Table = require("./Table.style");
10
+ const Table = props => {
11
+ const {
12
+ data,
13
+ width,
14
+ height,
15
+ onCheckAllInput,
16
+ onSortClick,
17
+ onRowClick,
18
+ onRowInputClick,
19
+ onPaginationClick,
20
+ actionsColumn,
21
+ sizingTable,
22
+ showPagination
23
+ } = props;
24
+ const [sortBy, setSortBy] = (0, _react.useState)(null);
25
+ const [sortOrder, setSortOrder] = (0, _react.useState)('asc');
26
+ const [resizing, setResizing] = (0, _react.useState)(false);
27
+ const [resizeColumn, setResizeColumn] = (0, _react.useState)(null);
28
+ const checkedRef = (0, _react.useRef)([]);
29
+ const [checkEvent, setCheckEvent] = (0, _react.useState)({
30
+ isSelectAll: false,
31
+ selected: [],
32
+ unselected: []
33
+ });
34
+ const [arrow, setArrow] = (0, _react.useState)(null);
35
+ const handleSort = (event, columnName) => {
36
+ if (!event.target.classList.contains('dragger')) {
37
+ setSortBy(columnName);
38
+ setSortOrder(prevSortOrder => prevSortOrder === 'asc' ? 'desc' : 'asc');
39
+ setArrow(prevArrow => prevArrow === '⭣' ? '⭡' : '⭣');
40
+ onSortClick({
41
+ sortType: sortOrder,
42
+ column: columnName,
43
+ data: sortedData
44
+ });
45
+ }
46
+ };
47
+
48
+ // the Server do the sorting so this function used for displaying Action data
49
+ const sortedData = [...data].sort((a, b) => {
50
+ if (sortOrder === 'asc') {
51
+ return a[sortBy] > b[sortBy] ? 1 : -1;
52
+ }
53
+ return a[sortBy] < b[sortBy] ? 1 : -1;
54
+ });
55
+ const handleSelectAllChange = event => {
56
+ setCheckEvent({
57
+ isSelectAll: event.target.checked,
58
+ selected: [],
59
+ unselected: []
60
+ });
61
+ checkedRef.current.map(item => {
62
+ item.checked = event.target.checked;
63
+ });
64
+ };
65
+ const handleMouseDown = (e, columnName) => {
66
+ m_pos = e.clientX;
67
+ setResizing(true);
68
+ setResizeColumn(columnName);
69
+ };
70
+ const handleMouseMove = e => {
71
+ if (resizing) {
72
+ const th = document.querySelector("th[data-column=\"".concat(resizeColumn, "\"]"));
73
+ const dx = e.clientX - m_pos;
74
+ m_pos = e.clientX;
75
+ th.style.width = "".concat(parseInt(getComputedStyle(th, '').width) + dx, "px");
76
+ }
77
+ };
78
+ const handleMouseUp = () => {
79
+ setResizing(false);
80
+ setResizeColumn(null);
81
+ };
82
+ const onRowClickHandler = (event, row) => {
83
+ if (event.target.type !== 'checkbox') {
84
+ onRowClick(row);
85
+ }
86
+ };
87
+ const handleCheckboxChange = (event, row) => {
88
+ if (event.target.checked) {
89
+ const updatedUnSelected = checkEvent.unselected.filter(item => item.key !== row.key);
90
+ setCheckEvent({
91
+ ...checkEvent,
92
+ unselected: updatedUnSelected,
93
+ selected: [...checkEvent.selected, row]
94
+ });
95
+ } else {
96
+ const updatedSelected = checkEvent.selected.filter(item => item.key !== row.key);
97
+ setCheckEvent({
98
+ ...checkEvent,
99
+ unselected: [...checkEvent.unselected, row],
100
+ selected: updatedSelected
101
+ });
102
+ }
103
+ };
104
+ const onPaginationClickHandler = (event, page) => {
105
+ onPaginationClick(event, page);
106
+ };
107
+ (0, _react.useEffect)(() => {
108
+ onCheckAllInput(checkEvent);
109
+ }, [checkEvent]);
110
+ (0, _react.useEffect)(() => {
111
+ document.addEventListener('mousemove', handleMouseMove, false);
112
+ document.addEventListener('mouseup', handleMouseUp, false);
113
+ return () => {
114
+ document.removeEventListener('mousemove', handleMouseMove, false);
115
+ document.removeEventListener('mouseup', handleMouseUp, false);
116
+ };
117
+ }, [resizing]);
118
+ let m_pos; // Declare m_pos here so it's accessible in handleMouseMove
119
+
120
+ const pageCount = 3; // Set the desired number of pages
121
+ const pages = Array.from({
122
+ length: pageCount
123
+ }, (_, index) => index + 1);
124
+ return /*#__PURE__*/_react.default.createElement(_Table.TableWrapper, null, /*#__PURE__*/_react.default.createElement(_Table.TableTag, {
125
+ width: width,
126
+ height: height
127
+ }, /*#__PURE__*/_react.default.createElement(_Table.Thead, null, /*#__PURE__*/_react.default.createElement("tr", null, actionsColumn && /*#__PURE__*/_react.default.createElement("th", {
128
+ className: "actions-th"
129
+ }, /*#__PURE__*/_react.default.createElement("input", {
130
+ type: "checkbox",
131
+ onChange: handleSelectAllChange
132
+ })), Object.keys(data[0]).map(column => /*#__PURE__*/_react.default.createElement("th", {
133
+ key: column,
134
+ "data-column": column,
135
+ onClick: event => handleSort(event, column)
136
+ }, /*#__PURE__*/_react.default.createElement("span", null, column), sortBy === column && /*#__PURE__*/_react.default.createElement("span", {
137
+ dangerouslySetInnerHTML: {
138
+ __html: arrow
139
+ }
140
+ }), sizingTable && /*#__PURE__*/_react.default.createElement(_Table.Dragger, {
141
+ className: "dragger",
142
+ onMouseDown: e => handleMouseDown(e, column)
143
+ }))))), /*#__PURE__*/_react.default.createElement(_Table.Tbody, null, data.map(row => /*#__PURE__*/_react.default.createElement("tr", {
144
+ key: row.key,
145
+ onClick: event => onRowClickHandler(event, row)
146
+ }, actionsColumn && /*#__PURE__*/_react.default.createElement("td", null, /*#__PURE__*/_react.default.createElement("input", {
147
+ ref: el => checkedRef.current[row.key] = el,
148
+ type: "checkbox",
149
+ onChange: event => handleCheckboxChange(event, row)
150
+ })), Object.keys(row).map(column => /*#__PURE__*/_react.default.createElement("td", {
151
+ key: column
152
+ }, row[column])))))), showPagination && /*#__PURE__*/_react.default.createElement(_Table.Pagination, null, /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement(_Table.PaginationButton, {
153
+ className: "double-arrow",
154
+ onClick: event => onPaginationClickHandler(event, 'firstPage')
155
+ }, "\xAB")), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement(_Table.PaginationButton, {
156
+ className: "single-arrow",
157
+ onClick: event => onPaginationClickHandler(event, 'previousPage')
158
+ }, "\u2039")), pages.map(page => /*#__PURE__*/_react.default.createElement("li", {
159
+ key: page
160
+ }, /*#__PURE__*/_react.default.createElement(_Table.PaginationButton, {
161
+ className: page === 1 ? 'active' : '',
162
+ onClick: event => onPaginationClickHandler(event, page)
163
+ }, page))), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement(_Table.PaginationButton, {
164
+ className: "single-arrow",
165
+ onClick: event => onPaginationClickHandler(event, 'nextPage')
166
+ }, "\u203A")), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement(_Table.PaginationButton, {
167
+ className: "double-arrow",
168
+ onClick: event => onPaginationClickHandler(event, 'lastPage')
169
+ }, "\xBB"))));
170
+ };
171
+ exports.Table = Table;
172
+ var _default = exports.default = Table;
173
+ Table.defaultProps = {
174
+ data: [{
175
+ key: '',
176
+ name: '',
177
+ age: 2
178
+ }],
179
+ width: '100%',
180
+ height: 'auto',
181
+ onCheckAllInput: () => {},
182
+ onSortClick: () => {},
183
+ onRowClick: () => {},
184
+ onRowInputClick: () => {},
185
+ onPaginationClick: () => {},
186
+ showPagination: true,
187
+ sizingTable: true,
188
+ actionsColumn: true
189
+ };
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.Thead = exports.Tbody = exports.TableWrapper = exports.TableTag = exports.PaginationButton = exports.Pagination = exports.Dragger = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/taggedTemplateLiteral"));
9
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
10
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
11
+ /* eslint-disable import/prefer-default-export */
12
+ const TableWrapper = exports.TableWrapper = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n font-family: \"Poppins\", sans-serif;\n background-color: white;\n"])));
13
+ const TableTag = exports.TableTag = _styledComponents.default.table(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n border-collapse: collapse;\n table-layout: fixed;\n width: ", ";\n height: ", ";\n margin-bottom: 15px;\n th,\n td {\n position: relative;\n font-weight: 400;\n border: 1px solid #ddd;\n padding: 8px;\n }\n"])), props => props.width, props => props.height);
14
+ const Thead = exports.Thead = _styledComponents.default.thead(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n color: white;\n background-color: #000000;\n tr {\n > th {\n position: relative;\n &.actions-th,\n &:last-of-type {\n > div {\n display: none;\n }\n }\n \n &.actions-th {\n width: 22px;\n }\n }\n }\n"])));
15
+ const Tbody = exports.Tbody = _styledComponents.default.tbody(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n tr {\n &:nth-child(even) {\n background-color: #f2f2f2;\n }\n &:hover {\n background-color: #ddd;\n }\n }\n"])));
16
+ const Dragger = exports.Dragger = _styledComponents.default.div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n width: 5px;\n height: 100%;\n position: absolute;\n top: 0;\n right: 0;\n cursor: col-resize;\n"])));
17
+ const Pagination = exports.Pagination = _styledComponents.default.ul(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n list-style: none;\n padding: 0;\n margin: 0;\n gap: 5px;\n"])));
18
+ const PaginationButton = exports.PaginationButton = _styledComponents.default.button(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["\n display: inline-block;\n padding: 8px 12px;\n background-color: #ffffff;\n border: 1px solid #ccc;\n text-decoration: none;\n color: #333;\n border-radius: 4px;\n cursor: pointer;\n &:hover, &:focus {\n background-color: #e0e0e0;\n }\n &.active {\n background-color: #aaa;\n }\n"])));
@@ -6,15 +6,15 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.isNumericValue = exports.getNumberWithCommas = exports.getFormattedValue = exports.getFormattedUnits = exports.getCurrencySign = void 0;
7
7
  const getCurrencySign = (currencyTypeToConvert, value) => {
8
8
  if (value === undefined || value === null) {
9
- return '';
9
+ return "";
10
10
  }
11
11
  if (isNaN(parseFloat(value))) {
12
- return '';
12
+ return "";
13
13
  }
14
- if (!currencyTypeToConvert) return '';
15
- let currencySign = '';
16
- const currencyFormatter = new Intl.NumberFormat('en-US', {
17
- style: 'currency',
14
+ if (!currencyTypeToConvert) return "";
15
+ let currencySign = "";
16
+ const currencyFormatter = new Intl.NumberFormat("en-US", {
17
+ style: "currency",
18
18
  currency: currencyTypeToConvert
19
19
  });
20
20
  currencySign = currencyFormatter.format(Math.abs(value)).substring(0, 1);
@@ -23,21 +23,21 @@ const getCurrencySign = (currencyTypeToConvert, value) => {
23
23
  exports.getCurrencySign = getCurrencySign;
24
24
  const getFormattedUnits = num => {
25
25
  if (num === undefined || num === null) {
26
- return '';
26
+ return "";
27
27
  }
28
28
  if (isNaN(parseFloat(num))) {
29
- return '';
29
+ return "";
30
30
  }
31
31
  if (Math.abs(num) >= 1000000000) {
32
- return 'B';
32
+ return "B";
33
33
  }
34
34
  if (Math.abs(num) >= 1000000) {
35
- return 'M';
35
+ return "M";
36
36
  }
37
37
  if (Math.abs(num) >= 1000) {
38
- return 'K';
38
+ return "K";
39
39
  }
40
- return '';
40
+ return "";
41
41
  };
42
42
  exports.getFormattedUnits = getFormattedUnits;
43
43
  const getFormattedValue = num => {
@@ -50,13 +50,13 @@ const getFormattedValue = num => {
50
50
 
51
51
  // if (typeof num === 'number') {
52
52
  if (Math.abs(num) >= 1000000000) {
53
- return (num / 1000000000).toFixed(1).replace(/\.0$/, '');
53
+ return (num / 1000000000).toFixed(1).replace(/\.0$/, "");
54
54
  }
55
55
  if (Math.abs(num) >= 1000000) {
56
- return (num / 1000000).toFixed(1).replace(/\.0$/, '');
56
+ return (num / 1000000).toFixed(1).replace(/\.0$/, "");
57
57
  }
58
58
  if (Math.abs(num) >= 1000) {
59
- return (num / 1000).toFixed(1).replace(/\.0$/, '');
59
+ return (num / 1000).toFixed(1).replace(/\.0$/, "");
60
60
  }
61
61
  return num;
62
62
  // }
@@ -65,7 +65,7 @@ exports.getFormattedValue = getFormattedValue;
65
65
  const getNumberWithCommas = x => {
66
66
  let param = x.toString();
67
67
  const pattern = /(-?\d+)(\d{3})/;
68
- while (pattern.test(param)) param = param.replace(pattern, '$1,$2');
68
+ while (pattern.test(param)) param = param.replace(pattern, "$1,$2");
69
69
  return param;
70
70
  };
71
71
  exports.getNumberWithCommas = getNumberWithCommas;
@@ -8,6 +8,6 @@ exports.DropdownContainer = void 0;
8
8
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/taggedTemplateLiteral"));
9
9
  var _styledComponents = _interopRequireDefault(require("styled-components"));
10
10
  var _templateObject;
11
- //import './font.css';
11
+ // import './font.css';
12
12
 
13
- const DropdownContainer = exports.DropdownContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n width: ", "; \n text-align: left; \n position: relative; \n align-items: center;\n justify-content: center;\n font-family: Poppins; \n font-size: \"14px\";\n"])), props => props.width);
13
+ const DropdownContainer = exports.DropdownContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n width: ", ";\n text-align: left; \n position: relative; \n align-items: center;\n justify-content: center;\n font-family: Poppins; \n font-size: \"14px\";\n"])), props => props.width);