@mailstep/design-system 0.6.9 → 0.6.11

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 (33) hide show
  1. package/package.json +1 -1
  2. package/ui/Blocks/CommonGrid/CommonGridContainer.js +1 -1
  3. package/ui/Blocks/CommonGrid/components/ActionHead/ActionHead.js +1 -1
  4. package/ui/Blocks/CommonGrid/components/ButtonMore/ButtonMore.js +1 -1
  5. package/ui/Blocks/CommonGrid/components/ControlButtons/ControlButtons.js +1 -1
  6. package/ui/Blocks/CommonGrid/components/DataRow.js +1 -1
  7. package/ui/Blocks/CommonGrid/components/ExtraControlButtons/ExtraControlButtons.js +3 -3
  8. package/ui/Blocks/CommonGrid/components/NumberRange/NumberRange.js +6 -7
  9. package/ui/Blocks/CommonGrid/components/TextRange/TextRange.js +5 -4
  10. package/ui/Blocks/CommonGrid/components/gridCells/ButtonInCell.js +1 -1
  11. package/ui/Blocks/CommonGrid/hooks/useEvent.d.ts +3 -0
  12. package/ui/Blocks/CommonGrid/hooks/useEvent.js +17 -0
  13. package/ui/Blocks/CommonGrid/index.d.ts +2 -2
  14. package/ui/Blocks/CommonGrid/index.js +2 -2
  15. package/ui/Blocks/CommonGrid/styles.d.ts +1 -1
  16. package/ui/Blocks/CommonGrid/types.d.ts +3 -1
  17. package/ui/Blocks/LightBox/LightBox.js +1 -1
  18. package/ui/Blocks/Modal/Modal.js +1 -1
  19. package/ui/Elements/Button/Button.d.ts +1 -1
  20. package/ui/Elements/Button/Button.js +2 -2
  21. package/ui/Elements/Button/stories/Button.stories.d.ts +12 -10
  22. package/ui/Elements/Button/stories/Button.stories.js +61 -27
  23. package/ui/Elements/Button/styles.d.ts +5 -8
  24. package/ui/Elements/Button/styles.js +15 -31
  25. package/ui/Elements/Button/types.d.ts +8 -11
  26. package/ui/Elements/DropdownSelect/DropdownSelect.d.ts +3 -2
  27. package/ui/Elements/DropdownSelect/DropdownSelect.js +2 -2
  28. package/ui/Elements/Select/themes/selectStyles.js +1 -1
  29. package/ui/ThemeProvider/themes/default.js +1 -1
  30. package/ui/index.es.js +10297 -10351
  31. package/ui/index.umd.js +390 -421
  32. package/ui/Blocks/CommonGrid/StandardButtons.d.ts +0 -4
  33. package/ui/Blocks/CommonGrid/StandardButtons.js +0 -36
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mailstep/design-system",
3
- "version": "0.6.9",
3
+ "version": "0.6.11",
4
4
  "license": "ISC",
5
5
  "type": "module",
6
6
  "main": "./ui/index.js",
@@ -61,6 +61,6 @@ var StyledCommonGrid = function (props) {
61
61
  gridSelectors: gridSelectors,
62
62
  onClose: onClose,
63
63
  }), columnsConfigValues = _d.columnsConfigValues, setColumnsConfigOptions = _d.setColumnsConfigOptions, onConfirmForm = _d.onConfirmForm, resetColumnConfig = _d.resetColumnConfig, handleDragEnd = _d.handleDragEnd, onCloseForm = _d.onCloseForm, displayColumnsDefinitions = _d.displayColumnsDefinitions, manageColumnsFormDefinitions = _d.manageColumnsFormDefinitions;
64
- return (_jsxs(ContentContainer, { children: [_jsxs(CommonGridWrap, { children: [_jsx(HidePrint, { children: _jsxs(StyledButtonStrip, { className: "buttonsStrip", children: [!hideControlButtons && (_jsx(ControlButtons, { extraControlButtons: extraControlButtons, gridActions: gridActions, gridSelectors: gridSelectors, eshopSelect: eshopSelect })), _jsx(StyledColumnButton, { type: "button", sizing: "iconLg", appearance: "ghost", icon: _jsx(Settings2, {}), onClick: openManageColumnForm, children: _jsx(H6, { variant: "semiBold", children: _jsx(Trans, { id: "manageColumn.title", message: "Manage column" }) }) })] }) }), _jsx(CommonGridWithStyles, __assign({}, passDownProps, modifiedPassDownProps, { filters: filters, gridRef: gridRef, height: gridHeight, floatingButtonProps: floatingButtonProps, handleDragEnd: handleDragEnd(false), displayColumnsDefinitions: displayColumnsDefinitions, hasColouredRows: true }))] }), _jsx(HidePrint, { children: _jsxs(BottomWrapper, { ref: paginationRef, isFixed: !!gridHeight, children: [processCheckedValues && (_jsx(ActionHead, { rowsData: rowsData, onBatchAction: onBatchAction, gridActions: gridActions, gridSelectors: gridSelectors, actionColumn: actionColumnDefinition, processCheckedValues: processCheckedValues, processCheckedValuesTitle: processCheckedValuesTitle })), _jsxs(x.div, { display: "flex", justifyContent: "center", alignItems: "center", className: "paginatorWrapper", w: "100%", h: window.innerWidth > 1204 ? '60px' : '32px', children: [_jsx(Pagination, { page: gridSelectors === null || gridSelectors === void 0 ? void 0 : gridSelectors.page, itemCount: passDownProps === null || passDownProps === void 0 ? void 0 : passDownProps.totalRowsCount, itemPerPage: (gridSelectors === null || gridSelectors === void 0 ? void 0 : gridSelectors.rowsPerPage) || 10, onPageChange: gridActions === null || gridActions === void 0 ? void 0 : gridActions.setPage, customPaginationHandler: customPaginationHandler, radius: window.innerWidth < 768 ? 3 : 5, rate: window.innerWidth < 768 ? 1 : 4 }), _jsx(TablePagination, { gridActions: gridActions, gridSelectors: gridSelectors, customPaginationHandler: customPaginationHandler })] })] }) }), manageColumnFormVisible && (_jsx(Modal, { title: _jsx(Trans, { id: "manageColumn.title", message: "Manage columns" }), onClose: onCloseForm, onCancel: onCloseForm, onExtraAction: resetColumnConfig, onConfirm: onConfirmForm, width: "auto", minWidth: "350px", hasFooter: true, extraActionLabel: _jsx(Trans, { id: "dataGrid.buttonClearConfig", message: "Reset config" }), cancelLabel: _jsx(Trans, { id: "form.buttonCancel", message: "Cancel" }), confirmLabel: _jsx(Trans, { id: "form.buttonConfirm", message: "Confirm" }), children: _jsx(ManageColumnForm, { columns: manageColumnsFormDefinitions, columnsConfigValues: columnsConfigValues, setColumnsConfigOptions: setColumnsConfigOptions, handleDragEnd: handleDragEnd(true) }) }))] }));
64
+ return (_jsxs(ContentContainer, { children: [_jsxs(CommonGridWrap, { children: [_jsx(HidePrint, { children: _jsxs(StyledButtonStrip, { className: "buttonsStrip", children: [!hideControlButtons && (_jsx(ControlButtons, { extraControlButtons: extraControlButtons, gridActions: gridActions, gridSelectors: gridSelectors, eshopSelect: eshopSelect })), _jsx(StyledColumnButton, { type: "button", variant: "ghost", appearance: "primary", iconLeft: _jsx(Settings2, {}), onClick: openManageColumnForm, children: _jsx(H6, { variant: "semiBold", mt: 0, mb: 0, children: _jsx(Trans, { id: "manageColumn.title", message: "Manage column" }) }) })] }) }), _jsx(CommonGridWithStyles, __assign({}, passDownProps, modifiedPassDownProps, { filters: filters, gridRef: gridRef, height: gridHeight, floatingButtonProps: floatingButtonProps, handleDragEnd: handleDragEnd(false), displayColumnsDefinitions: displayColumnsDefinitions, hasColouredRows: true }))] }), _jsx(HidePrint, { children: _jsxs(BottomWrapper, { ref: paginationRef, isFixed: !!gridHeight, children: [processCheckedValues && (_jsx(ActionHead, { rowsData: rowsData, onBatchAction: onBatchAction, gridActions: gridActions, gridSelectors: gridSelectors, actionColumn: actionColumnDefinition, processCheckedValues: processCheckedValues, processCheckedValuesTitle: processCheckedValuesTitle })), _jsxs(x.div, { display: "flex", justifyContent: "center", alignItems: "center", className: "paginatorWrapper", w: "100%", h: window.innerWidth > 1204 ? '60px' : '32px', children: [_jsx(Pagination, { page: gridSelectors === null || gridSelectors === void 0 ? void 0 : gridSelectors.page, itemCount: passDownProps === null || passDownProps === void 0 ? void 0 : passDownProps.totalRowsCount, itemPerPage: (gridSelectors === null || gridSelectors === void 0 ? void 0 : gridSelectors.rowsPerPage) || 10, onPageChange: gridActions === null || gridActions === void 0 ? void 0 : gridActions.setPage, customPaginationHandler: customPaginationHandler, radius: window.innerWidth < 768 ? 3 : 5, rate: window.innerWidth < 768 ? 1 : 4 }), _jsx(TablePagination, { gridActions: gridActions, gridSelectors: gridSelectors, customPaginationHandler: customPaginationHandler })] })] }) }), manageColumnFormVisible && (_jsx(Modal, { title: _jsx(Trans, { id: "manageColumn.title", message: "Manage columns" }), onClose: onCloseForm, onCancel: onCloseForm, onExtraAction: resetColumnConfig, onConfirm: onConfirmForm, width: "auto", minWidth: "350px", hasFooter: true, extraActionLabel: _jsx(Trans, { id: "dataGrid.buttonClearConfig", message: "Reset config" }), cancelLabel: _jsx(Trans, { id: "form.buttonCancel", message: "Cancel" }), confirmLabel: _jsx(Trans, { id: "form.buttonConfirm", message: "Confirm" }), children: _jsx(ManageColumnForm, { columns: manageColumnsFormDefinitions, columnsConfigValues: columnsConfigValues, setColumnsConfigOptions: setColumnsConfigOptions, handleDragEnd: handleDragEnd(true) }) }))] }));
65
65
  };
66
66
  export default StyledCommonGrid;
@@ -44,7 +44,7 @@ var ActionHead = function (_a) {
44
44
  id: 'dataGrid.checkedRowsCount',
45
45
  message: "Selected {checkedRowsCount} items",
46
46
  values: { checkedRowsCount: checkedRowsCount },
47
- }) }), _jsxs(ButtonsWrap, { children: [_jsx(Button, { type: "button", onClick: checkAll, appearance: "secondaryLg", "data-cy": "checkAllBtn", disabled: checked, children: _jsx(Trans, { id: "dataGrid.checkAll", message: "Check all" }) }), processCheckedValues && (_jsx(Button, { type: "button", onClick: processCheckedValues, appearance: "primary", "data-cy": "exportBtn", disabled: !rowsData.length, children: processCheckedValuesTitle ? (processCheckedValuesTitle) : (_jsx(Trans, { id: "dataGrid.actionOptions.export", message: "Export" })) })), ((_b = actionColumn === null || actionColumn === void 0 ? void 0 : actionColumn.actionOptions) === null || _b === void 0 ? void 0 : _b.length) && (_jsx(ButtonMore, { items: actionsOptions, disabled: !enabledActions.length || !rowsData.length, dropdownPosition: "top" }))] })] }) })) }));
47
+ }) }), _jsxs(ButtonsWrap, { children: [_jsx(Button, { type: "button", onClick: checkAll, appearance: "secondary", variant: "default", "data-cy": "checkAllBtn", disabled: checked, children: _jsx(Trans, { id: "dataGrid.checkAll", message: "Check all" }) }), processCheckedValues && (_jsx(Button, { type: "button", onClick: processCheckedValues, appearance: "primary", variant: 'default', "data-cy": "exportBtn", disabled: !rowsData.length, children: processCheckedValuesTitle ? (processCheckedValuesTitle) : (_jsx(Trans, { id: "dataGrid.actionOptions.export", message: "Export" })) })), ((_b = actionColumn === null || actionColumn === void 0 ? void 0 : actionColumn.actionOptions) === null || _b === void 0 ? void 0 : _b.length) && (_jsx(ButtonMore, { items: actionsOptions, disabled: !enabledActions.length || !rowsData.length, dropdownPosition: "top" }))] })] }) })) }));
48
48
  };
49
49
  export default ActionHead;
50
50
  var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
@@ -26,7 +26,7 @@ var ButtonMore = function (_a) {
26
26
  var handleClick = useCallback(function () {
27
27
  setActionsVisible(!actionsVisible);
28
28
  }, [actionsVisible]);
29
- return (_jsxs(ButtonWrapper, { ref: ref, children: [_jsx(Button, { onClick: handleClick, icon: "ellipsisVertical", appearance: "secondaryLg", type: "button", sizing: "iconLg", "data-cy": "gridActionBtn", disabled: disabled }), _jsx(StyledDropdownMenu, { showMenu: actionsVisible, items: items, dropdownPosition: dropdownPosition })] }));
29
+ return (_jsxs(ButtonWrapper, { ref: ref, children: [_jsx(Button, { onClick: handleClick, icon: "ellipsisVertical", appearance: "secondary", variant: "icon", type: "button", "data-cy": "gridActionBtn", disabled: disabled }), _jsx(StyledDropdownMenu, { showMenu: actionsVisible, items: items, dropdownPosition: dropdownPosition })] }));
30
30
  };
31
31
  export default ButtonMore;
32
32
  var templateObject_1, templateObject_2;
@@ -14,7 +14,7 @@ var ControlButtons = function (_a) {
14
14
  var resetFilters = gridActions.resetFilters;
15
15
  var filter = gridSelectors.filter;
16
16
  var filtersOn = !!filter && Object.values(filter).some(function (item) { var _a; return ((_a = item.value) === null || _a === void 0 ? void 0 : _a.value) !== '' && item.value !== ''; });
17
- return (_jsxs(Row, { children: [eshopSelect && (_jsx(x.div, { children: _jsx(ExtraControlButtons, { extraControlButtons: eshopSelect, targetPosition: ExtraControlButtonPosition.TopRight }) })), _jsx(ExtraControlButtons, { extraControlButtons: extraControlButtons, targetPosition: ExtraControlButtonPosition.TopLeft }), _jsx(x.div, { children: filtersOn && (_jsx(Button, { type: "button", onClick: resetFilters, appearance: "secondaryLg", "data-cy": "resetFiltersBtn", children: _jsx(Trans, { id: "dataGrid.buttonClearSettings", message: "Reset filters" }) })) })] }));
17
+ return (_jsxs(Row, { children: [eshopSelect && (_jsx(x.div, { children: _jsx(ExtraControlButtons, { extraControlButtons: eshopSelect, targetPosition: ExtraControlButtonPosition.TopRight }) })), _jsx(ExtraControlButtons, { extraControlButtons: extraControlButtons, targetPosition: ExtraControlButtonPosition.TopLeft }), _jsx(x.div, { children: filtersOn && (_jsx(Button, { type: "button", onClick: resetFilters, variant: "default", appearance: "secondary", "data-cy": "resetFiltersBtn", children: _jsx(Trans, { id: "dataGrid.buttonClearSettings", message: "Reset filters" }) })) })] }));
18
18
  };
19
19
  export default ControlButtons;
20
20
  var templateObject_1;
@@ -105,6 +105,6 @@ var DataRow = function (_a) {
105
105
  return actionColumn ? __assign({}, getActionCellSizeProps(actionColumn)) : {};
106
106
  }, [actionColumn]);
107
107
  var displayReadEditCell = ((_c = actionColumn === null || actionColumn === void 0 ? void 0 : actionColumn.actionOptions) === null || _c === void 0 ? void 0 : _c.length) || (actionColumn === null || actionColumn === void 0 ? void 0 : actionColumn.canRowEdit) || (actionColumn === null || actionColumn === void 0 ? void 0 : actionColumn.canRowRead) || (actionColumn === null || actionColumn === void 0 ? void 0 : actionColumn.forceCheckboxes);
108
- return (_jsxs(StyledDataRow, { className: rowClassName, hasRowClick: !!onRowClick, onMouseDown: handleMouseDown, onMouseUp: handleMouseUp, isEven: isEven, children: [actionColumn && (_jsxs(_Fragment, { children: [displayReadEditCell && (_jsxs(Cell, { className: "cell", style: actionColumnStyle, children: [((_d = actionColumn === null || actionColumn === void 0 ? void 0 : actionColumn.actionOptions) === null || _d === void 0 ? void 0 : _d.length) || (actionColumn === null || actionColumn === void 0 ? void 0 : actionColumn.forceCheckboxes) ? (_jsx(Checkbox, { checked: isChecked, onChange: onCheckboxChange, label: "" })) : null, _jsxs(x.div, { children: [(isFunction(actionColumn.canRowRead) ? actionColumn.canRowRead(rowData) : actionColumn.canRowRead) && (_jsx(RowActionComponent, __assign({}, rowActionProps('read'), { children: _jsx(Button, { type: "button", appearance: "primary", mb: "5px", ml: "5px", mr: "5px", className: "actionColumnButton", children: _jsx(EyeOpenIcon, { width: "16px", height: "16px" }) }) }))), (isFunction(actionColumn.canRowEdit) ? actionColumn.canRowEdit(rowData) : actionColumn.canRowEdit) && (_jsx(RowActionComponent, __assign({}, rowActionProps('edit'), { children: _jsx(Button, { type: "button", appearance: "primary", mt: "5px", mb: "5px", ml: "5px", mr: "5px", className: "actionColumnButton", children: _jsx(EditIcon, { width: "16px", height: "16px" }) }) })))] })] })), (actionColumn === null || actionColumn === void 0 ? void 0 : actionColumn.addRowNumbers) && (_jsx(Cell, { className: "cell", style: actionColumnStyle, children: _jsx(x.div, { children: rowIndex }) }))] })), columns.map(function (column, key) { return (_jsx(MemoDataCell, { column: column, rowData: rowData, onRowAction: handleRowAction, displayColumnWidth: displayColumnsWidth[column.name], group: groups === null || groups === void 0 ? void 0 : groups[key] }, column.name)); })] }));
108
+ return (_jsxs(StyledDataRow, { className: rowClassName, hasRowClick: !!onRowClick, onMouseDown: handleMouseDown, onMouseUp: handleMouseUp, isEven: isEven, children: [actionColumn && (_jsxs(_Fragment, { children: [displayReadEditCell && (_jsxs(Cell, { className: "cell", style: actionColumnStyle, children: [((_d = actionColumn === null || actionColumn === void 0 ? void 0 : actionColumn.actionOptions) === null || _d === void 0 ? void 0 : _d.length) || (actionColumn === null || actionColumn === void 0 ? void 0 : actionColumn.forceCheckboxes) ? (_jsx(Checkbox, { checked: isChecked, onChange: onCheckboxChange, label: "" })) : null, _jsxs(x.div, { children: [(isFunction(actionColumn.canRowRead) ? actionColumn.canRowRead(rowData) : actionColumn.canRowRead) && (_jsx(RowActionComponent, __assign({}, rowActionProps('read'), { children: _jsx(Button, { type: "button", variant: "default", appearance: "primary", children: _jsx(EyeOpenIcon, { width: "16px", height: "16px" }) }) }))), (isFunction(actionColumn.canRowEdit) ? actionColumn.canRowEdit(rowData) : actionColumn.canRowEdit) && (_jsx(RowActionComponent, __assign({}, rowActionProps('edit'), { children: _jsx(Button, { type: "button", variant: "default", appearance: "primary", children: _jsx(EditIcon, { width: "16px", height: "16px" }) }) })))] })] })), (actionColumn === null || actionColumn === void 0 ? void 0 : actionColumn.addRowNumbers) && (_jsx(Cell, { className: "cell", style: actionColumnStyle, children: _jsx(x.div, { children: rowIndex }) }))] })), columns.map(function (column, key) { return (_jsx(MemoDataCell, { column: column, rowData: rowData, onRowAction: handleRowAction, displayColumnWidth: displayColumnsWidth[column.name], group: groups === null || groups === void 0 ? void 0 : groups[key] }, column.name)); })] }));
109
109
  };
110
110
  export default DataRow;
@@ -20,14 +20,14 @@ import DropdownSelect from '../../../../Elements/DropdownSelect';
20
20
  export var Row = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n & > * {\n margin-right: 12px;\n }\n z-index: 2;\n"], ["\n display: flex;\n & > * {\n margin-right: 12px;\n }\n z-index: 2;\n"])));
21
21
  var StyledButton = styled(Button)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: none;\n\n @media (min-width: 1024px) {\n display: block;\n }\n"], ["\n display: none;\n\n @media (min-width: 1024px) {\n display: block;\n }\n"])));
22
22
  var ControlButton = function (_a) {
23
- var node = _a.node, label = _a.label, style = _a.style, disabled = _a.disabled, onClick = _a.onClick, onSelect = _a.onSelect, options = _a.options, hideChevron = _a.hideChevron;
23
+ var node = _a.node, label = _a.label, appearance = _a.appearance, variant = _a.variant, disabled = _a.disabled, onClick = _a.onClick, onSelect = _a.onSelect, options = _a.options, hideChevron = _a.hideChevron;
24
24
  if (node)
25
25
  return _jsx(_Fragment, { children: node });
26
26
  if (options) {
27
- return (_jsx(DropdownSelect, { label: label || '', appearance: style || 'secondary', options: options, showChevron: !hideChevron, onSelect: onSelect, disabled: disabled }));
27
+ return (_jsx(DropdownSelect, { label: label || '', appearance: appearance || 'secondary', variant: variant || 'default', options: options, showChevron: !hideChevron, onSelect: onSelect, disabled: disabled }));
28
28
  }
29
29
  else {
30
- return (_jsx(StyledButton, { type: "button", onClick: onClick, disabled: disabled, appearance: style || 'secondary', children: label }));
30
+ return (_jsx(StyledButton, { type: "button", onClick: onClick, disabled: disabled, variant: variant || 'default', appearance: appearance || 'secondary', children: label }));
31
31
  }
32
32
  };
33
33
  var ExtraControlButtons = function (_a) {
@@ -26,6 +26,7 @@ import { useClickOutside } from '../../../Modal/hooks/useClickOutside';
26
26
  import { Input } from '../../../../Forms/Input/Input';
27
27
  import IconList from '../IconList';
28
28
  import { i18n } from '@lingui/core';
29
+ import { useEvent } from '../../hooks/useEvent';
29
30
  var OverlayComponentDefault = function (_a) {
30
31
  var children = _a.children;
31
32
  return _jsx("div", { children: children });
@@ -60,17 +61,15 @@ var NumberRange = function (props) {
60
61
  var onClose = useCallback(function () { return setOpen(false); }, []);
61
62
  var pickerRef = useClickOutside({ onClose: onClose });
62
63
  var togglePicker = useCallback(function () { return setOpen(!isOpen); }, [isOpen, setOpen]);
63
- var onChangeTextInput = useCallback(function (event) {
64
+ var onChangeTextInput = useEvent(function (event) {
64
65
  var fieldValue = event.target.value.replace(',', '.');
65
- var number = !decimals
66
- ? parseInt(fieldValue)
67
- : (parseFloat(fieldValue) || 0).toFixed(decimals).substr(0, fieldValue.length);
66
+ var number = !decimals ? parseInt(fieldValue) : (parseFloat(fieldValue) || 0).toFixed(decimals).substr(0, fieldValue.length);
68
67
  var isValid = number || number === 0;
69
68
  onChange({ comparator: comparator, value: isValid ? number : '' });
70
- }, [onChange, comparator, decimals, value]);
71
- var onChangeComparator = useCallback(function (option) {
69
+ });
70
+ var onChangeComparator = useEvent(function (option) {
72
71
  onChange({ comparator: option.value, value: fieldValue });
73
- }, []);
72
+ });
74
73
  return (_jsxs("div", { ref: pickerRef, children: [_jsx(Input, __assign({ name: name, value: fieldValue, label: label, "data-cy": "".concat(name, "Inp"), onChange: onChangeTextInput, iconOnClick: togglePicker, appearance: "grid", icon: "ellipsisVertical", iconPlacement: "right", type: "text", className: className, autoComplete: "off" }, rest)), isOpen && (_jsx(OverlayComponent, { children: _jsx(IconList, { list: renderedComparator, selected: comparator, onClick: onChangeComparator }) }))] }));
75
74
  };
76
75
  export default NumberRange;
@@ -27,6 +27,7 @@ import { useClickOutside } from '../../../Modal/hooks/useClickOutside';
27
27
  import { Input } from '../../../../Forms/Input/Input';
28
28
  import IconList from '../IconList/IconList';
29
29
  import { i18n } from '@lingui/core';
30
+ import { useEvent } from '../../hooks/useEvent';
30
31
  var OverlayComponentDefault = function (_a) {
31
32
  var children = _a.children;
32
33
  return _jsx("div", { children: children });
@@ -72,7 +73,7 @@ var TextRange = function (props) {
72
73
  var togglePicker = useCallback(function () { return setOpen(!isOpen); }, [isOpen, setOpen]);
73
74
  var validation = !!validationKey && validations[validationKey];
74
75
  var isInvalid = validation && Boolean(fieldValue && !validation.check(String(fieldValue)));
75
- var onChangeTextInput = useCallback(function (event) {
76
+ var onChangeTextInput = useEvent(function (event) {
76
77
  var txtValue = event.target.value;
77
78
  if (txtValue) {
78
79
  onChange({ comparator: comparator, value: txtValue, isInvalid: validation && !validation.check(txtValue) });
@@ -80,10 +81,10 @@ var TextRange = function (props) {
80
81
  else {
81
82
  onChange(null);
82
83
  }
83
- }, [onChange, comparator, validation]);
84
- var onChangeComparator = useCallback(function (option) {
84
+ });
85
+ var onChangeComparator = useEvent(function (option) {
85
86
  onChange({ comparator: option.value, value: fieldValue, isInvalid: isInvalid });
86
- }, []);
87
+ });
87
88
  return (_jsxs("div", { ref: pickerRef, children: [_jsx(Input, __assign({ name: name, "data-test": name, "data-cy": "".concat(name, "Inp"), value: fieldValue, label: label, onChange: onChangeTextInput, iconOnClick: !eqOnly ? togglePicker : undefined, appearance: "grid", icon: !eqOnly ? 'ellipsisVertical' : 'warning', iconPlacement: "right", iconTooltip: eqOnly ? eqOnlyTxt : undefined, type: "text", className: className, error: (!!validation && isInvalid && validation.errorMsg) || '', errorAppearance: 'tooltip', autoComplete: "off" }, rest)), isOpen && (_jsx(OverlayComponent, { children: _jsx(IconList, { list: renderedComparator, selected: comparator, onClick: onChangeComparator }) }))] }));
88
89
  };
89
90
  export default TextRange;
@@ -12,5 +12,5 @@ var __assign = (this && this.__assign) || function () {
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
13
  import Button from '../../../../Elements/Button/Button';
14
14
  export var ButtonInCell = function (props) {
15
- return _jsx(Button, __assign({}, props, { appearance: "secondaryLg", sizing: "grid" }));
15
+ return _jsx(Button, __assign({}, props, { appearance: "secondary", variant: "default" }));
16
16
  };
@@ -0,0 +1,3 @@
1
+ type AnyFunction = (...args: any[]) => any;
2
+ export declare const useEvent: <T extends AnyFunction>(callback?: T | undefined) => T;
3
+ export {};
@@ -0,0 +1,17 @@
1
+ import { useCallback, useLayoutEffect, useRef } from 'react';
2
+ export var useEvent = function (callback) {
3
+ var ref = useRef(function () {
4
+ throw new Error('Cannot call an event handler while rendering.');
5
+ });
6
+ useLayoutEffect(function () {
7
+ ref.current = callback;
8
+ });
9
+ return useCallback(function () {
10
+ var _a;
11
+ var args = [];
12
+ for (var _i = 0; _i < arguments.length; _i++) {
13
+ args[_i] = arguments[_i];
14
+ }
15
+ return (_a = ref.current) === null || _a === void 0 ? void 0 : _a.apply(null, args);
16
+ }, []);
17
+ };
@@ -3,8 +3,8 @@ import withReduxActions from './HoC/withReduxActions';
3
3
  import reducer, { actionPrefix, createActions, createSelectors, createFullSelector, actionTypes } from './store';
4
4
  import useFloatingButton from './hooks/useFloatingButton';
5
5
  import * as Types from './types';
6
- export * from './StandardButtons';
7
6
  export * from './components/gridCells';
8
7
  import { useAddFilter } from './hooks/useAddFilter';
8
+ import { useEvent } from './hooks/useEvent';
9
9
  export default CommonGrid;
10
- export { withReduxActions, reducer, actionPrefix, actionTypes, createActions, createSelectors, createFullSelector, Types, useFloatingButton, useAddFilter, };
10
+ export { withReduxActions, reducer, actionPrefix, actionTypes, createActions, createSelectors, createFullSelector, Types, useFloatingButton, useAddFilter, useEvent, };
@@ -3,8 +3,8 @@ import withReduxActions from './HoC/withReduxActions';
3
3
  import reducer, { actionPrefix, createActions, createSelectors, createFullSelector, actionTypes } from './store';
4
4
  import useFloatingButton from './hooks/useFloatingButton';
5
5
  import * as Types from './types';
6
- export * from './StandardButtons';
7
6
  export * from './components/gridCells';
8
7
  import { useAddFilter } from './hooks/useAddFilter';
8
+ import { useEvent } from './hooks/useEvent';
9
9
  export default CommonGrid;
10
- export { withReduxActions, reducer, actionPrefix, actionTypes, createActions, createSelectors, createFullSelector, Types, useFloatingButton, useAddFilter, };
10
+ export { withReduxActions, reducer, actionPrefix, actionTypes, createActions, createSelectors, createFullSelector, Types, useFloatingButton, useAddFilter, useEvent, };
@@ -5,7 +5,7 @@ export declare const BottomWrapper: import("styled-components").StyledComponent<
5
5
  export declare const ContentContainer: import("styled-components").StyledComponent<(props: Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "color">) => import("react").ReactElement<any, "div">, import("@xstyled/system").Theme, import("@xstyled/system").SystemProps<import("@xstyled/system").Theme>, "color">;
6
6
  export declare const CommonGridWrap: import("styled-components").StyledComponent<(props: Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "color">) => import("react").ReactElement<any, "div">, import("@xstyled/system").Theme, import("@xstyled/system").SystemProps<import("@xstyled/system").Theme>, "color">;
7
7
  export declare const StyledButtonStrip: import("styled-components").StyledComponent<(props: Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "color">) => import("react").ReactElement<any, "div">, import("@xstyled/system").Theme, import("@xstyled/system").SystemProps<import("@xstyled/system").Theme>, "color">;
8
- export declare const StyledColumnButton: import("styled-components").StyledComponent<({ isLoading, loadingText, icon, appearance, disabled, sizing, buttonRef, onClick, fullWidth, ...props }: import("../../Elements/Button/types").Props) => JSX.Element, import("@xstyled/system").Theme, {}, never>;
8
+ export declare const StyledColumnButton: import("styled-components").StyledComponent<({ isLoading, loadingText, icon, iconLeft, iconRight, variant, appearance, disabled, fullWidth, buttonRef, onClick, ...props }: import("../../Elements/Button/types").Props) => JSX.Element, import("@xstyled/system").Theme, {}, never>;
9
9
  export declare const CommonGridWithStyles: import("styled-components").StyledComponent<({ filters, handleDragEnd, gridSelectors, gridActions, isLoading, rowsData, hasColouredRows, columnsDefinitions, actionColumnDefinition, allowRowSelect, allowRowSelectOnAction, onRowAction, onRowEditClick, onRowReadClick, onRowClick, columnLayout, displayColumnsDefinitions, className, gridRef, minColumnWidth, errorMessage, floatingButtonProps, }: import("./types").CommonGridProps & {
10
10
  filters?: import("./types").FiltersConfig | undefined;
11
11
  handleDragEnd: (item: import("react-beautiful-dnd").DropResult) => void;
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import { AppearanceValue, VariantValue } from '../../Elements/Button/types';
2
3
  export declare const rowClassSymbol: unique symbol;
3
4
  type Option = {
4
5
  value: string | number;
@@ -274,7 +275,8 @@ export type ExtraControlButton = {
274
275
  onClick?: () => void;
275
276
  onSelect?: (value: string) => void;
276
277
  label?: string | JSX.Element;
277
- style?: 'primary' | 'secondary';
278
+ appearance?: AppearanceValue;
279
+ variant?: VariantValue;
278
280
  options?: {
279
281
  label: string;
280
282
  value: string;
@@ -9,6 +9,6 @@ export var LightBox = function (_a) {
9
9
  return null;
10
10
  return (_jsx(Modal, { isShown: isLightBoxOpen, onClose: onCloseLightBox, variant: "mobileFullscreen", top: "10px", children: _jsx(Swiper, { initialSlide: initialSlide, slidesPerView: 1, autoHeight: true, children: images.map(function (item) {
11
11
  var _a;
12
- return (_jsx(SwiperSlide, { children: _jsxs(Container, { children: [_jsx(Image, { src: (_a = item.originalUrl) !== null && _a !== void 0 ? _a : item.url, loading: "lazy", alt: "" }), (item.date || item.description) && (_jsxs(Description, { children: [item.date, " ", item.description] })), !!item.withLightBoxAction && lightBoxAction && lightBoxActionTitle && (_jsx(ButtonContainer, { children: _jsx(Button, { onClick: lightBoxAction(item.id), appearance: "primaryLight", children: lightBoxActionTitle }) }))] }) }, item.id));
12
+ return (_jsx(SwiperSlide, { children: _jsxs(Container, { children: [_jsx(Image, { src: (_a = item.originalUrl) !== null && _a !== void 0 ? _a : item.url, loading: "lazy", alt: "" }), (item.date || item.description) && (_jsxs(Description, { children: [item.date, " ", item.description] })), !!item.withLightBoxAction && lightBoxAction && lightBoxActionTitle && (_jsx(ButtonContainer, { children: _jsx(Button, { onClick: lightBoxAction(item.id), appearance: "primary", variant: 'default', children: lightBoxActionTitle }) }))] }) }, item.id));
13
13
  }) }) }));
14
14
  };
@@ -32,5 +32,5 @@ export var Modal = memo(function (_a) {
32
32
  if (!isShown) {
33
33
  return null;
34
34
  }
35
- return (_jsx(Portal, { children: _jsx(DialogOverlay, { backgroundColor: overlayColor, children: _jsxs(DialogWindow, { ref: dialogRef, style: dialogStyle, "$backgroundColor": background, top: top, "data-cy": "dialogWindow", onClick: closeEverywhere ? closeDialog : undefined, "$minWidth": minWidth, "$minHeight": minHeight, "$maxWidth": maxWidth, "$maxHeight": maxHeight, variant: variant, children: [title && hasHeader && (_jsx(HeaderContainer, { variant: variant, children: _jsxs(TitleContainer, { children: [titleIcon && (_jsx(x.div, { as: "span", className: "icon", children: typeof titleIcon === 'string' ? _jsx(Icon, { icon: titleIcon, fill: "blue2" }) : titleIcon })), variant == 'default' ? (_jsx(H2, { mt: 0, mb: 0, variant: "bold", children: title })) : (_jsx(H5, { mt: 0, mb: 0, variant: "bold", children: title }))] }) })), withCloseIcon && (_jsx(CloseButton, { onClick: closeDialog, "data-cy": "dialogCloseBtn", children: _jsx(Cancel, { width: "11px", height: "11px" }) })), _jsx(ContentContainer, { variant: variant, children: children }), hasFooter && (onExtraAction || onCancel || onConfirm) && (_jsxs(ButtonsContainer, { hasSpaceBetween: !!onExtraAction, children: [onExtraAction && (_jsx(Button, { type: "button", onClick: onExtraAction, isLoading: isLoading, "data-cy": "extraActionBtn", appearance: "ghostDanger", children: extraActionLabel })), _jsxs(ButtonsWrapper, { hasExtraAction: !!onExtraAction, hasBothButtons: !!onCancel && !!onConfirm, children: [onCancel && (_jsx(Button, { type: "button", onClick: onCancel, isLoading: isLoading, "data-cy": "cancelBtn", appearance: "primaryLight", children: cancelLabel ? cancelLabel : 'Cancel' })), onConfirm && (_jsx(Button, { type: "button", onClick: onDialogConfirmClick, isLoading: isLoading, disabled: isConfirmDisabled, "data-cy": "submitBtn", children: confirmLabel ? confirmLabel : 'Submit' }))] })] }))] }) }) }));
35
+ return (_jsx(Portal, { children: _jsx(DialogOverlay, { backgroundColor: overlayColor, children: _jsxs(DialogWindow, { ref: dialogRef, style: dialogStyle, "$backgroundColor": background, top: top, "data-cy": "dialogWindow", onClick: closeEverywhere ? closeDialog : undefined, "$minWidth": minWidth, "$minHeight": minHeight, "$maxWidth": maxWidth, "$maxHeight": maxHeight, variant: variant, children: [title && hasHeader && (_jsx(HeaderContainer, { variant: variant, children: _jsxs(TitleContainer, { children: [titleIcon && (_jsx(x.div, { as: "span", className: "icon", children: typeof titleIcon === 'string' ? _jsx(Icon, { icon: titleIcon, fill: "blue2" }) : titleIcon })), variant == 'default' ? (_jsx(H2, { mt: 0, mb: 0, variant: "bold", children: title })) : (_jsx(H5, { mt: 0, mb: 0, variant: "bold", children: title }))] }) })), withCloseIcon && (_jsx(CloseButton, { onClick: closeDialog, "data-cy": "dialogCloseBtn", children: _jsx(Cancel, { width: "11px", height: "11px" }) })), _jsx(ContentContainer, { variant: variant, children: children }), hasFooter && (onExtraAction || onCancel || onConfirm) && (_jsxs(ButtonsContainer, { hasSpaceBetween: !!onExtraAction, children: [onExtraAction && (_jsx(Button, { type: "button", onClick: onExtraAction, isLoading: isLoading, "data-cy": "extraActionBtn", appearance: "secondary", variant: 'ghost', children: extraActionLabel })), _jsxs(ButtonsWrapper, { hasExtraAction: !!onExtraAction, hasBothButtons: !!onCancel && !!onConfirm, children: [onCancel && (_jsx(Button, { type: "button", onClick: onCancel, isLoading: isLoading, "data-cy": "cancelBtn", appearance: "secondary", variant: 'default', children: cancelLabel ? cancelLabel : 'Cancel' })), onConfirm && (_jsx(Button, { type: "button", onClick: onDialogConfirmClick, isLoading: isLoading, disabled: isConfirmDisabled, "data-cy": "submitBtn", appearance: 'primary', variant: 'default', children: confirmLabel ? confirmLabel : 'Submit' }))] })] }))] }) }) }));
36
36
  });
@@ -1,3 +1,3 @@
1
1
  import { Props } from './types';
2
- declare const Button: ({ isLoading, loadingText, icon, appearance, disabled, sizing, buttonRef, onClick, fullWidth, ...props }: Props) => JSX.Element;
2
+ declare const Button: ({ isLoading, loadingText, icon, iconLeft, iconRight, variant, appearance, disabled, fullWidth, buttonRef, onClick, ...props }: Props) => JSX.Element;
3
3
  export default Button;
@@ -24,7 +24,7 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
24
24
  import { StyledButton, LoadingIconWrapper, StyledIcon, StyledWrapper } from './styles';
25
25
  import { Spinner } from '../Spinner';
26
26
  var Button = function (_a) {
27
- var isLoading = _a.isLoading, loadingText = _a.loadingText, icon = _a.icon, _b = _a.appearance, appearance = _b === void 0 ? 'primary' : _b, _c = _a.disabled, disabled = _c === void 0 ? false : _c, _d = _a.sizing, sizing = _d === void 0 ? 'normal' : _d, buttonRef = _a.buttonRef, onClick = _a.onClick, _e = _a.fullWidth, fullWidth = _e === void 0 ? false : _e, props = __rest(_a, ["isLoading", "loadingText", "icon", "appearance", "disabled", "sizing", "buttonRef", "onClick", "fullWidth"]);
28
- return (_jsx(StyledButton, __assign({}, props, { onClick: !disabled && !isLoading ? onClick : undefined, "data-appearance": appearance, "data-sizing": sizing, disabled: disabled, ref: buttonRef, fullWidth: fullWidth, children: _jsxs(StyledWrapper, { children: [icon && (typeof icon === 'string' ? _jsx(StyledIcon, { "$addMargin": !!props.children, icon: icon }) : icon), isLoading ? (_jsxs(_Fragment, { children: [_jsx(LoadingIconWrapper, { "$addMargin": !!loadingText || !!props.children, children: _jsx(Spinner, { variant: "sm" }) }), loadingText || loadingText === '' ? loadingText : 'Loading'] })) : (props.children)] }) })));
27
+ var isLoading = _a.isLoading, loadingText = _a.loadingText, icon = _a.icon, iconLeft = _a.iconLeft, iconRight = _a.iconRight, _b = _a.variant, variant = _b === void 0 ? 'default' : _b, _c = _a.appearance, appearance = _c === void 0 ? 'primary' : _c, _d = _a.disabled, disabled = _d === void 0 ? false : _d, _e = _a.fullWidth, fullWidth = _e === void 0 ? false : _e, buttonRef = _a.buttonRef, onClick = _a.onClick, props = __rest(_a, ["isLoading", "loadingText", "icon", "iconLeft", "iconRight", "variant", "appearance", "disabled", "fullWidth", "buttonRef", "onClick"]);
28
+ return (_jsx(StyledButton, __assign({}, props, { onClick: !disabled && !isLoading ? onClick : undefined, "data-variant": variant, "data-appearance": appearance, disabled: disabled, iconPadding: !!icon && !props.children, ref: buttonRef, fullWidth: fullWidth, children: _jsxs(StyledWrapper, { children: [iconLeft && (typeof iconLeft === 'string' ? _jsx(StyledIcon, { "$addMarginRight": !!iconLeft, icon: iconLeft }) : iconLeft), isLoading ? (_jsxs(_Fragment, { children: [_jsx(LoadingIconWrapper, { "$addMarginRight": !!loadingText || !!props.children, children: _jsx(Spinner, { variant: "sm" }) }), loadingText || loadingText === '' ? loadingText : 'Loading'] })) : props.children ? (props.children) : (icon && (typeof icon === 'string' ? _jsx(StyledIcon, { icon: icon }) : icon)), iconRight && (typeof iconRight === 'string' ? _jsx(StyledIcon, { "$addMarginLeft": !!iconRight, icon: iconRight }) : iconRight)] }) })));
29
29
  };
30
30
  export default Button;
@@ -2,19 +2,21 @@
2
2
  import type { StoryObj } from '@storybook/react';
3
3
  declare const meta: {
4
4
  title: string;
5
- component: ({ isLoading, loadingText, icon, appearance, disabled, sizing, buttonRef, onClick, fullWidth, ...props }: import("../types").Props) => JSX.Element;
5
+ component: ({ isLoading, loadingText, icon, iconLeft, iconRight, variant, appearance, disabled, fullWidth, buttonRef, onClick, ...props }: import("../types").Props) => JSX.Element;
6
6
  tags: string[];
7
7
  argTypes: {};
8
8
  };
9
9
  export default meta;
10
10
  type Story = StoryObj<typeof meta>;
11
- export declare const Primary: Story;
12
- export declare const PrimaryLight: Story;
13
- export declare const Secondary: Story;
11
+ export declare const DefaultPrimary: Story;
12
+ export declare const DefaultSecondary: Story;
13
+ export declare const DefaultTertiary: Story;
14
14
  export declare const Success: Story;
15
- export declare const Large: Story;
16
- export declare const Small: Story;
17
- export declare const DisabledPrimary: Story;
18
- export declare const DisabledSecondary: Story;
19
- export declare const Loading: Story;
20
- export declare const WithIcon: Story;
15
+ export declare const OutlinePrimary: Story;
16
+ export declare const OutlineSecondary: Story;
17
+ export declare const GhostPrimary: Story;
18
+ export declare const GhostSecondary: Story;
19
+ export declare const LinkPrimary: Story;
20
+ export declare const LinkSecondary: Story;
21
+ export declare const Icon: Story;
22
+ export declare const Floating: Story;
@@ -6,65 +6,99 @@ var meta = {
6
6
  argTypes: {},
7
7
  };
8
8
  export default meta;
9
- export var Primary = {
9
+ export var DefaultPrimary = {
10
10
  args: {
11
- children: 'Primary',
11
+ children: 'Default primary ',
12
+ variant: 'default',
13
+ appearance: 'primary',
14
+ disabled: false,
12
15
  },
13
16
  };
14
- export var PrimaryLight = {
17
+ export var DefaultSecondary = {
15
18
  args: {
16
- children: 'Primary Light',
17
- appearance: 'primaryLight',
19
+ children: 'Default secondary',
20
+ variant: 'default',
21
+ appearance: 'secondary',
22
+ disabled: false,
18
23
  },
19
24
  };
20
- export var Secondary = {
25
+ export var DefaultTertiary = {
21
26
  args: {
22
- children: 'Secondary',
23
- appearance: 'secondary',
27
+ children: 'Default tertiary',
28
+ variant: 'default',
29
+ appearance: 'tertiary',
30
+ disabled: false,
24
31
  },
25
32
  };
26
33
  export var Success = {
27
34
  args: {
28
35
  children: 'Success',
29
- appearance: 'success',
36
+ variant: 'success',
37
+ appearance: 'primary',
38
+ disabled: false,
30
39
  },
31
40
  };
32
- export var Large = {
41
+ export var OutlinePrimary = {
33
42
  args: {
34
- children: 'Large',
35
- sizing: 'large',
43
+ children: 'Outline primary',
44
+ variant: 'outline',
45
+ appearance: 'primary',
46
+ disabled: false,
36
47
  },
37
48
  };
38
- export var Small = {
49
+ export var OutlineSecondary = {
39
50
  args: {
40
- children: 'Small',
41
- sizing: 'normal',
51
+ children: 'Outline secondary',
52
+ variant: 'outline',
53
+ appearance: 'secondary',
54
+ disabled: false,
42
55
  },
43
56
  };
44
- export var DisabledPrimary = {
57
+ export var GhostPrimary = {
45
58
  args: {
46
- children: 'Disabled',
47
- disabled: true,
59
+ children: 'Ghost primary',
60
+ variant: 'ghost',
61
+ appearance: 'primary',
62
+ disabled: false,
48
63
  },
49
64
  };
50
- export var DisabledSecondary = {
65
+ export var GhostSecondary = {
51
66
  args: {
52
- children: 'Disabled',
53
- disabled: true,
67
+ children: 'Ghost secondary',
68
+ variant: 'ghost',
54
69
  appearance: 'secondary',
70
+ disabled: false,
71
+ },
72
+ };
73
+ export var LinkPrimary = {
74
+ args: {
75
+ children: 'Link primary',
76
+ variant: 'link',
77
+ appearance: 'primary',
78
+ disabled: false,
55
79
  },
56
80
  };
57
- export var Loading = {
81
+ export var LinkSecondary = {
58
82
  args: {
83
+ children: 'Link secondary',
84
+ variant: 'link',
59
85
  appearance: 'secondary',
60
- loadingText: 'Loading...',
61
- isLoading: true,
86
+ disabled: false,
87
+ },
88
+ };
89
+ export var Icon = {
90
+ args: {
91
+ variant: 'icon',
92
+ appearance: 'primary',
93
+ icon: 'coffee',
94
+ disabled: false,
62
95
  },
63
96
  };
64
- export var WithIcon = {
97
+ export var Floating = {
65
98
  args: {
66
- label: 'Button',
67
- children: 'Small',
99
+ variant: 'floating',
100
+ appearance: 'primary',
68
101
  icon: 'coffee',
102
+ disabled: false,
69
103
  },
70
104
  };
@@ -1,19 +1,16 @@
1
1
  /// <reference types="react" />
2
2
  export declare const StyledWrapper: import("styled-components").StyledComponent<"span", import("@xstyled/system").Theme, {}, never>;
3
3
  export declare const LoadingIconWrapper: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {
4
- $addMargin: boolean;
4
+ $addMarginRight: boolean;
5
5
  }, never>;
6
6
  export declare const StyledIcon: import("styled-components").StyledComponent<({ icon, fill, style, size, className, secondaryColor, fixedWidth, spinning, }: import("../Icon").IconProps) => JSX.Element, import("@xstyled/system").Theme, {
7
- $addMargin: boolean;
7
+ $addMarginRight?: boolean | undefined;
8
+ $addMarginLeft?: boolean | undefined;
8
9
  }, never>;
9
10
  export declare const StyledButton: import("styled-components").StyledComponent<"button", import("@xstyled/system").Theme, {
10
11
  disabled: boolean;
11
- columnAlign?: boolean | undefined;
12
12
  children?: any;
13
13
  onClick?: React.MouseEventHandler<HTMLButtonElement> | undefined;
14
- fullWidth: boolean;
15
- mt?: string | undefined;
16
- mr?: string | undefined;
17
- mb?: string | undefined;
18
- ml?: string | undefined;
14
+ iconPadding?: boolean | undefined;
15
+ fullWidth?: boolean | undefined;
19
16
  }, never>;
@@ -2,47 +2,31 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
2
2
  if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
3
3
  return cooked;
4
4
  };
5
- import { th } from '@xstyled/styled-components';
6
- import styled from '@xstyled/styled-components';
5
+ import styled, { th } from '@xstyled/styled-components';
7
6
  import { Icon } from '../Icon';
8
7
  export var StyledWrapper = styled.span(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n justify-content: center;\n align-items: center;\n"], ["\n display: flex;\n justify-content: center;\n align-items: center;\n"])));
9
8
  export var LoadingIconWrapper = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n & svg {\n margin-right: ", ";\n }\n"], ["\n & svg {\n margin-right: ", ";\n }\n"])), function (_a) {
10
- var $addMargin = _a.$addMargin;
11
- return ($addMargin ? '0.5em' : '0');
9
+ var $addMarginRight = _a.$addMarginRight;
10
+ return ($addMarginRight ? '8px' : '0');
12
11
  });
13
- export var StyledIcon = styled(Icon)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n & svg {\n height: 1em;\n margin-right: ", ";\n }\n"], ["\n & svg {\n height: 1em;\n margin-right: ", ";\n }\n"])), function (_a) {
14
- var $addMargin = _a.$addMargin;
15
- return ($addMargin ? '0.5em' : '0');
12
+ export var StyledIcon = styled(Icon)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n & svg {\n margin-right: ", ";\n margin-left: ", ";\n }\n"], ["\n & svg {\n margin-right: ", ";\n margin-left: ", ";\n }\n"])), function (_a) {
13
+ var $addMarginRight = _a.$addMarginRight;
14
+ return ($addMarginRight ? '8px' : '0');
15
+ }, function (_a) {
16
+ var $addMarginLeft = _a.$addMarginLeft;
17
+ return ($addMarginLeft ? '8px' : '0');
16
18
  });
17
- export var StyledButton = styled.button(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n width: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n height: 2.5em;\n border: slim;\n text-align: center;\n text-decoration: none;\n display: ", ";\n flex-direction: ", ";\n align-items: ", ";\n font-family: ", ";\n font-weight: semiBold;\n border-radius: lg;\n cursor: pointer;\n transition-duration: 0.1s;\n align-items: center;\n justify-content: center;\n transition: all 300ms ease-out;\n pointer-events: ", ";\n opacity: ", ";\n\n :disabled {\n color: lightGray5;\n }\n\n :focus {\n outline: none;\n }\n\n &[data-appearance='primary'] {\n background-color: red1;\n color: white;\n border-color: red1;\n\n @media (hover: hover) {\n &:hover {\n background-color: white;\n color: red1;\n border-color: red1;\n }\n }\n\n :active {\n background-color: red1;\n color: red1;\n border: none;\n }\n\n :disabled {\n background-color: bgLightGray;\n border-color: lightGray5;\n color: gray3;\n }\n }\n\n &[data-appearance='primaryLight'] {\n color: red1;\n background-color: red20;\n border-color: red20;\n\n @media (hover: hover) {\n &:hover {\n background-color: red1;\n color: white;\n border-color: red1;\n }\n }\n\n :active {\n background-color: red1;\n color: white;\n border-color: red1;\n }\n\n :disabled {\n background-color: bgLightGray;\n border-color: lightGray5;\n color: gray3;\n }\n }\n\n &[data-appearance='success'] {\n background-color: successColor;\n color: white;\n border-color: successColor;\n\n @media (hover: hover) {\n &:hover {\n background-color: white;\n color: successColor;\n }\n }\n\n :active {\n background-color: white;\n color: successColor;\n }\n\n :disabled {\n background-color: bgLightGray;\n border-color: lightGray5;\n color: gray3;\n }\n }\n\n &[data-appearance='ghost'] {\n background-color: transparent;\n color: typoPrimary;\n border-color: transparent;\n\n @media (hover: hover) {\n &:hover {\n background-color: neutral20;\n }\n }\n\n :disabled {\n opacity: 60%;\n }\n }\n\n &[data-appearance='ghostDanger'] {\n background-color: transparent;\n color: red1;\n border-color: transparent;\n\n @media (hover: hover) {\n &:hover {\n background-color: neutral20;\n }\n }\n\n :disabled {\n opacity: 60%;\n }\n }\n\n &[data-appearance='secondary'] {\n background-color: white;\n color: red1;\n border-color: red1;\n\n @media (hover: hover) {\n &:hover {\n background-color: red1;\n color: white;\n border-color: red1;\n }\n }\n\n :active {\n background-color: red1;\n color: red1;\n border-color: red1;\n }\n\n :disabled {\n background-color: white;\n border-color: lightGray7;\n }\n }\n\n &[data-appearance='secondaryLg'] {\n background-color: white;\n color: typoPrimary;\n border-color: blue2;\n\n @media (hover: hover) {\n &:hover {\n background-color: blue2;\n color: white;\n border-color: blue2;\n }\n }\n\n :active {\n background-color: gray;\n color: white;\n border: none;\n }\n\n :disabled {\n background-color: white;\n border-color: bgLightGray1;\n }\n }\n\n &[data-appearance='primaryLg'] {\n background-color: blue2;\n color: white;\n border-color: blue2;\n\n @media (hover: hover) {\n &:hover {\n background-color: white;\n color: typoPrimary;\n border-color: blue2;\n }\n }\n\n :active {\n background-color: gray;\n color: white;\n border: none;\n }\n\n :disabled {\n background-color: bgLightGray1;\n border-color: bgLightGray1;\n }\n }\n\n &[data-appearance='minimal'] {\n background-color: transparent;\n border: none !important;\n color: blue2;\n\n :disabled {\n color: blue2;\n }\n }\n\n &[data-appearance='minimalRed'] {\n background-color: transparent;\n border: none !important;\n color: red1;\n\n @media (hover: hover) {\n &:hover {\n color: red3;\n svg {\n fill: red3 !important;\n }\n }\n }\n\n :disabled,\n :active {\n color: red3;\n svg {\n fill: red3 !important;\n }\n }\n }\n\n &[data-sizing='icon'] {\n aspect-ratio: 4 / 3;\n padding: 0.5em 0.875em;\n }\n\n &[data-sizing='iconLg'] {\n min-width: 42px;\n min-height: 38px;\n padding: 0.5em 0.875em;\n svg {\n height: 16px;\n }\n }\n\n &[data-sizing='normal'] {\n min-width: 7rem;\n padding: 12px 18px;\n min-height: 38px;\n line-height: 14px;\n font-size: 14px;\n }\n\n &[data-sizing='large'] {\n min-width: 12rem;\n padding: 0.75em 1.5em;\n min-height: 34px;\n font-size: 12px;\n }\n\n &[data-sizing='grid'] {\n min-width: 5rem;\n padding: 0.5em 1.25em;\n font-size: 10px;\n border-radius: 5px;\n }\n"], ["\n width: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n height: 2.5em;\n border: slim;\n text-align: center;\n text-decoration: none;\n display: ", ";\n flex-direction: ", ";\n align-items: ", ";\n font-family: ", ";\n font-weight: semiBold;\n border-radius: lg;\n cursor: pointer;\n transition-duration: 0.1s;\n align-items: center;\n justify-content: center;\n transition: all 300ms ease-out;\n pointer-events: ", ";\n opacity: ", ";\n\n :disabled {\n color: lightGray5;\n }\n\n :focus {\n outline: none;\n }\n\n &[data-appearance='primary'] {\n background-color: red1;\n color: white;\n border-color: red1;\n\n @media (hover: hover) {\n &:hover {\n background-color: white;\n color: red1;\n border-color: red1;\n }\n }\n\n :active {\n background-color: red1;\n color: red1;\n border: none;\n }\n\n :disabled {\n background-color: bgLightGray;\n border-color: lightGray5;\n color: gray3;\n }\n }\n\n &[data-appearance='primaryLight'] {\n color: red1;\n background-color: red20;\n border-color: red20;\n\n @media (hover: hover) {\n &:hover {\n background-color: red1;\n color: white;\n border-color: red1;\n }\n }\n\n :active {\n background-color: red1;\n color: white;\n border-color: red1;\n }\n\n :disabled {\n background-color: bgLightGray;\n border-color: lightGray5;\n color: gray3;\n }\n }\n\n &[data-appearance='success'] {\n background-color: successColor;\n color: white;\n border-color: successColor;\n\n @media (hover: hover) {\n &:hover {\n background-color: white;\n color: successColor;\n }\n }\n\n :active {\n background-color: white;\n color: successColor;\n }\n\n :disabled {\n background-color: bgLightGray;\n border-color: lightGray5;\n color: gray3;\n }\n }\n\n &[data-appearance='ghost'] {\n background-color: transparent;\n color: typoPrimary;\n border-color: transparent;\n\n @media (hover: hover) {\n &:hover {\n background-color: neutral20;\n }\n }\n\n :disabled {\n opacity: 60%;\n }\n }\n\n &[data-appearance='ghostDanger'] {\n background-color: transparent;\n color: red1;\n border-color: transparent;\n\n @media (hover: hover) {\n &:hover {\n background-color: neutral20;\n }\n }\n\n :disabled {\n opacity: 60%;\n }\n }\n\n &[data-appearance='secondary'] {\n background-color: white;\n color: red1;\n border-color: red1;\n\n @media (hover: hover) {\n &:hover {\n background-color: red1;\n color: white;\n border-color: red1;\n }\n }\n\n :active {\n background-color: red1;\n color: red1;\n border-color: red1;\n }\n\n :disabled {\n background-color: white;\n border-color: lightGray7;\n }\n }\n\n &[data-appearance='secondaryLg'] {\n background-color: white;\n color: typoPrimary;\n border-color: blue2;\n\n @media (hover: hover) {\n &:hover {\n background-color: blue2;\n color: white;\n border-color: blue2;\n }\n }\n\n :active {\n background-color: gray;\n color: white;\n border: none;\n }\n\n :disabled {\n background-color: white;\n border-color: bgLightGray1;\n }\n }\n\n &[data-appearance='primaryLg'] {\n background-color: blue2;\n color: white;\n border-color: blue2;\n\n @media (hover: hover) {\n &:hover {\n background-color: white;\n color: typoPrimary;\n border-color: blue2;\n }\n }\n\n :active {\n background-color: gray;\n color: white;\n border: none;\n }\n\n :disabled {\n background-color: bgLightGray1;\n border-color: bgLightGray1;\n }\n }\n\n &[data-appearance='minimal'] {\n background-color: transparent;\n border: none !important;\n color: blue2;\n\n :disabled {\n color: blue2;\n }\n }\n\n &[data-appearance='minimalRed'] {\n background-color: transparent;\n border: none !important;\n color: red1;\n\n @media (hover: hover) {\n &:hover {\n color: red3;\n svg {\n fill: red3 !important;\n }\n }\n }\n\n :disabled,\n :active {\n color: red3;\n svg {\n fill: red3 !important;\n }\n }\n }\n\n &[data-sizing='icon'] {\n aspect-ratio: 4 / 3;\n padding: 0.5em 0.875em;\n }\n\n &[data-sizing='iconLg'] {\n min-width: 42px;\n min-height: 38px;\n padding: 0.5em 0.875em;\n svg {\n height: 16px;\n }\n }\n\n &[data-sizing='normal'] {\n min-width: 7rem;\n padding: 12px 18px;\n min-height: 38px;\n line-height: 14px;\n font-size: 14px;\n }\n\n &[data-sizing='large'] {\n min-width: 12rem;\n padding: 0.75em 1.5em;\n min-height: 34px;\n font-size: 12px;\n }\n\n &[data-sizing='grid'] {\n min-width: 5rem;\n padding: 0.5em 1.25em;\n font-size: 10px;\n border-radius: 5px;\n }\n"])), function (_a) {
19
+ export var StyledButton = styled.button(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n width: ", ";\n font-weight: semiBold;\n font-size: 14px;\n font-family: ", ";\n display: flex;\n text-align: center;\n align-items: center;\n justify-content: center;\n border-radius: 8px;\n height: 38px;\n border: none;\n cursor: pointer;\n transition-duration: 0.1s;\n transition: all 300ms ease-out;\n gap: 8px;\n padding: ", ";\n opacity: ", ";\n cursor: ", ";\n\n :focus {\n outline: none;\n }\n\n &[data-variant='default'] {\n &[data-appearance='primary'] {\n background-color: red1;\n color: white;\n & svg {\n stroke: white;\n }\n\n @media (hover: hover) {\n :hover {\n background-color: red80;\n }\n }\n }\n\n &[data-appearance='secondary'] {\n background-color: neutral20;\n color: typoPrimary;\n & svg {\n stroke: typoPrimary;\n }\n\n @media (hover: hover) {\n :hover {\n background-color: lightGray7;\n }\n }\n }\n\n &[data-appearance='tertiary'] {\n background-color: red20;\n color: red1;\n & svg {\n stroke: red1;\n }\n\n @media (hover: hover) {\n :hover {\n background-color: red30;\n }\n }\n }\n }\n\n &[data-variant='success'] {\n background-color: successColor;\n color: white;\n & svg {\n stroke: white;\n }\n\n @media (hover: hover) {\n :hover {\n background-color: green70;\n }\n }\n }\n &[data-variant='outline'] {\n background-color: white;\n border: slim;\n &[data-appearance='primary'] {\n color: typoPrimary;\n border-color: typoPrimary;\n & svg {\n stroke: typoPrimary;\n }\n\n @media (hover: hover) {\n :hover {\n background-color: neutral20;\n }\n }\n }\n &[data-appearance='secondary'] {\n color: red1;\n border-color: red1;\n & svg {\n stroke: red1;\n }\n\n @media (hover: hover) {\n :hover {\n background-color: red20;\n }\n }\n }\n }\n &[data-variant='ghost'] {\n background-color: white;\n &[data-appearance='primary'] {\n color: typoPrimary;\n & svg {\n stroke: typoPrimary;\n }\n\n @media (hover: hover) {\n :hover {\n background-color: neutral20;\n }\n }\n }\n &[data-appearance='secondary'] {\n color: red1;\n & svg {\n stroke: red1;\n }\n\n @media (hover: hover) {\n :hover {\n background-color: red20;\n }\n }\n }\n }\n\n &[data-variant='link'] {\n background-color: transparent;\n height: 20px;\n &[data-appearance='primary'] {\n color: typoPrimary;\n & svg {\n stroke: typoPrimary;\n }\n\n @media (hover: hover) {\n :hover {\n color: neutral500;\n & svg {\n stroke: neutral500;\n }\n }\n }\n }\n &[data-appearance='secondary'] {\n color: red1;\n & svg {\n stroke: red1;\n }\n\n @media (hover: hover) {\n :hover {\n color: red70;\n & svg {\n stroke: red70;\n }\n }\n }\n }\n }\n\n &[data-variant='icon'] {\n width: 38px;\n height: 38px;\n gap: 10px;\n\n &[data-appearance='primary'] {\n background-color: red1;\n color: white;\n & svg {\n stroke: white;\n }\n @media (hover: hover) {\n :hover {\n background-color: red70;\n }\n }\n }\n\n &[data-appearance='secondary'] {\n background-color: neutral20;\n color: typoPrimary;\n & svg {\n stroke: typoPrimary;\n }\n @media (hover: hover) {\n :hover {\n background-color: lightGray7;\n }\n }\n }\n\n &[data-appearance='tertiary'] {\n background-color: red20;\n color: red1;\n & svg {\n stroke: red1;\n }\n @media (hover: hover) {\n :hover {\n background-color: red30;\n }\n }\n }\n\n &[data-appearance='ghost'] {\n background-color: transparent;\n color: typoPrimary;\n & svg {\n stroke: typoPrimary;\n }\n @media (hover: hover) {\n :hover {\n color: neutral500;\n & svg {\n stroke: neutral500;\n }\n }\n }\n }\n }\n\n &[data-variant='floating'] {\n &[data-appearance='primary'] {\n width: 56px;\n height: 56px;\n background-color: red1;\n color: white;\n border-radius: 50%;\n & svg {\n stroke: white;\n }\n @media (hover: hover) {\n :hover {\n background-color: red70;\n }\n }\n }\n }\n"], ["\n width: ", ";\n font-weight: semiBold;\n font-size: 14px;\n font-family: ", ";\n display: flex;\n text-align: center;\n align-items: center;\n justify-content: center;\n border-radius: 8px;\n height: 38px;\n border: none;\n cursor: pointer;\n transition-duration: 0.1s;\n transition: all 300ms ease-out;\n gap: 8px;\n padding: ", ";\n opacity: ", ";\n cursor: ", ";\n\n :focus {\n outline: none;\n }\n\n &[data-variant='default'] {\n &[data-appearance='primary'] {\n background-color: red1;\n color: white;\n & svg {\n stroke: white;\n }\n\n @media (hover: hover) {\n :hover {\n background-color: red80;\n }\n }\n }\n\n &[data-appearance='secondary'] {\n background-color: neutral20;\n color: typoPrimary;\n & svg {\n stroke: typoPrimary;\n }\n\n @media (hover: hover) {\n :hover {\n background-color: lightGray7;\n }\n }\n }\n\n &[data-appearance='tertiary'] {\n background-color: red20;\n color: red1;\n & svg {\n stroke: red1;\n }\n\n @media (hover: hover) {\n :hover {\n background-color: red30;\n }\n }\n }\n }\n\n &[data-variant='success'] {\n background-color: successColor;\n color: white;\n & svg {\n stroke: white;\n }\n\n @media (hover: hover) {\n :hover {\n background-color: green70;\n }\n }\n }\n &[data-variant='outline'] {\n background-color: white;\n border: slim;\n &[data-appearance='primary'] {\n color: typoPrimary;\n border-color: typoPrimary;\n & svg {\n stroke: typoPrimary;\n }\n\n @media (hover: hover) {\n :hover {\n background-color: neutral20;\n }\n }\n }\n &[data-appearance='secondary'] {\n color: red1;\n border-color: red1;\n & svg {\n stroke: red1;\n }\n\n @media (hover: hover) {\n :hover {\n background-color: red20;\n }\n }\n }\n }\n &[data-variant='ghost'] {\n background-color: white;\n &[data-appearance='primary'] {\n color: typoPrimary;\n & svg {\n stroke: typoPrimary;\n }\n\n @media (hover: hover) {\n :hover {\n background-color: neutral20;\n }\n }\n }\n &[data-appearance='secondary'] {\n color: red1;\n & svg {\n stroke: red1;\n }\n\n @media (hover: hover) {\n :hover {\n background-color: red20;\n }\n }\n }\n }\n\n &[data-variant='link'] {\n background-color: transparent;\n height: 20px;\n &[data-appearance='primary'] {\n color: typoPrimary;\n & svg {\n stroke: typoPrimary;\n }\n\n @media (hover: hover) {\n :hover {\n color: neutral500;\n & svg {\n stroke: neutral500;\n }\n }\n }\n }\n &[data-appearance='secondary'] {\n color: red1;\n & svg {\n stroke: red1;\n }\n\n @media (hover: hover) {\n :hover {\n color: red70;\n & svg {\n stroke: red70;\n }\n }\n }\n }\n }\n\n &[data-variant='icon'] {\n width: 38px;\n height: 38px;\n gap: 10px;\n\n &[data-appearance='primary'] {\n background-color: red1;\n color: white;\n & svg {\n stroke: white;\n }\n @media (hover: hover) {\n :hover {\n background-color: red70;\n }\n }\n }\n\n &[data-appearance='secondary'] {\n background-color: neutral20;\n color: typoPrimary;\n & svg {\n stroke: typoPrimary;\n }\n @media (hover: hover) {\n :hover {\n background-color: lightGray7;\n }\n }\n }\n\n &[data-appearance='tertiary'] {\n background-color: red20;\n color: red1;\n & svg {\n stroke: red1;\n }\n @media (hover: hover) {\n :hover {\n background-color: red30;\n }\n }\n }\n\n &[data-appearance='ghost'] {\n background-color: transparent;\n color: typoPrimary;\n & svg {\n stroke: typoPrimary;\n }\n @media (hover: hover) {\n :hover {\n color: neutral500;\n & svg {\n stroke: neutral500;\n }\n }\n }\n }\n }\n\n &[data-variant='floating'] {\n &[data-appearance='primary'] {\n width: 56px;\n height: 56px;\n background-color: red1;\n color: white;\n border-radius: 50%;\n & svg {\n stroke: white;\n }\n @media (hover: hover) {\n :hover {\n background-color: red70;\n }\n }\n }\n }\n"])), function (_a) {
18
20
  var fullWidth = _a.fullWidth;
19
21
  return (fullWidth ? '100%' : 'initial');
20
- }, function (_a) {
21
- var mt = _a.mt;
22
- return mt || 0;
23
- }, function (_a) {
24
- var mr = _a.mr;
25
- return mr || 0;
26
- }, function (_a) {
27
- var mb = _a.mb;
28
- return mb || 0;
29
- }, function (_a) {
30
- var ml = _a.ml;
31
- return ml || 0;
32
- }, function (_a) {
33
- var columnAlign = _a.columnAlign;
34
- return (columnAlign ? 'flex' : 'inline-flex');
35
- }, function (_a) {
36
- var columnAlign = _a.columnAlign;
37
- return (columnAlign ? 'column' : 'auto');
38
- }, function (_a) {
39
- var columnAlign = _a.columnAlign;
40
- return (columnAlign ? 'center' : 'auto');
41
22
  }, th('fonts.primary'), function (_a) {
23
+ var iconPadding = _a.iconPadding;
24
+ return (iconPadding ? '9px' : '7px 18px');
25
+ }, function (_a) {
42
26
  var disabled = _a.disabled;
43
- return (disabled ? 'none' : 'auto');
27
+ return (disabled ? 0.6 : 1);
44
28
  }, function (_a) {
45
29
  var disabled = _a.disabled;
46
- return (disabled ? '0.6' : '1');
30
+ return (disabled ? 'default' : 'pointer');
47
31
  });
48
32
  var templateObject_1, templateObject_2, templateObject_3, templateObject_4;