@manuscripts/style-guide 3.5.26 → 3.5.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/colors.js +2 -1
- package/dist/cjs/components/DatePicker.js +14 -2
- package/dist/cjs/components/ExpandableSection.js +2 -1
- package/dist/cjs/components/SelectField.js +6 -0
- package/dist/cjs/components/StyledModal.js +17 -4
- package/dist/cjs/defaultTheme.js +1 -0
- package/dist/es/colors.js +1 -0
- package/dist/es/components/DatePicker.js +14 -2
- package/dist/es/components/ExpandableSection.js +2 -1
- package/dist/es/components/SelectField.js +6 -0
- package/dist/es/components/StyledModal.js +15 -3
- package/dist/es/defaultTheme.js +1 -0
- package/dist/types/colors.d.ts +1 -0
- package/dist/types/components/DatePicker.d.ts +1 -0
- package/dist/types/components/StyledModal.d.ts +1 -0
- package/dist/types/theme.d.ts +1 -0
- package/package.json +1 -1
package/dist/cjs/colors.js
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.zestOrange = exports.veryLightYellow = exports.contrastOrange = exports.butteryYellow = exports.wheatYellow = exports.contrastGreen = exports.veryLightGreen = exports.peppermintGreen = exports.springGreen = exports.killarneyGreen = exports.contrastRed = exports.darkRed = exports.chablisRed = exports.mandysRed = exports.punchRed = exports.veryLightBlue = exports.graphBlue1 = exports.focusBlue = exports.powderBlue = exports.aliceBlue = exports.jellyBeanBlue = exports.white = exports.alabasterGrey = exports.seashellGrey = exports.mercuryGrey = exports.greyLight = exports.greyMutedText = exports.greyMuted = exports.greyDark = exports.black = exports.manuscriptsSecondary = exports.manuscriptsXLight2 = exports.manuscriptsXLight = exports.manuscriptsLight = exports.manuscriptsIcons = exports.manuscriptsBlue = exports.manuscriptsBlueDark = void 0;
|
|
18
|
+
exports.zestOrange = exports.veryLightYellow = exports.contrastOrange = exports.butteryYellow = exports.wheatYellow = exports.contrastGreen = exports.veryLightGreen = exports.peppermintGreen = exports.springGreen = exports.killarneyGreen = exports.contrastRed = exports.darkRed = exports.chablisRed = exports.mandysRed = exports.punchRed = exports.veryLightBlue = exports.graphBlue1 = exports.focusBlue = exports.powderBlue = exports.aliceBlue = exports.jellyBeanBlue = exports.disabled = exports.white = exports.alabasterGrey = exports.seashellGrey = exports.mercuryGrey = exports.greyLight = exports.greyMutedText = exports.greyMuted = exports.greyDark = exports.black = exports.manuscriptsSecondary = exports.manuscriptsXLight2 = exports.manuscriptsXLight = exports.manuscriptsLight = exports.manuscriptsIcons = exports.manuscriptsBlue = exports.manuscriptsBlueDark = void 0;
|
|
19
19
|
exports.manuscriptsBlueDark = '#0b6bb8';
|
|
20
20
|
exports.manuscriptsBlue = '#0d79d0';
|
|
21
21
|
exports.manuscriptsIcons = '#1a9bc7';
|
|
@@ -32,6 +32,7 @@ exports.mercuryGrey = '#e2e2e2';
|
|
|
32
32
|
exports.seashellGrey = '#f2f2f2';
|
|
33
33
|
exports.alabasterGrey = '#fafafa';
|
|
34
34
|
exports.white = '#fff';
|
|
35
|
+
exports.disabled = '#f5f5f5';
|
|
35
36
|
exports.jellyBeanBlue = '#2781a1';
|
|
36
37
|
exports.aliceBlue = '#f2fbfc';
|
|
37
38
|
exports.powderBlue = '#ddf3fa';
|
|
@@ -10,7 +10,7 @@ const react_1 = require("react");
|
|
|
10
10
|
const react_datepicker_1 = __importDefault(require("react-datepicker"));
|
|
11
11
|
const styled_components_1 = __importDefault(require("styled-components"));
|
|
12
12
|
const icons_1 = require("./icons");
|
|
13
|
-
const DatePicker = ({ id, originalDate, date, handleDateChange, placeholder, showTimeSelect, required, }) => {
|
|
13
|
+
const DatePicker = ({ id, originalDate, date, handleDateChange, placeholder, showTimeSelect, required, disabled, }) => {
|
|
14
14
|
const [selectedDate, setSelectedDate] = (0, react_1.useState)(date || null);
|
|
15
15
|
(0, react_1.useEffect)(() => {
|
|
16
16
|
setSelectedDate(date ?? null);
|
|
@@ -22,7 +22,7 @@ const DatePicker = ({ id, originalDate, date, handleDateChange, placeholder, sho
|
|
|
22
22
|
const format = showTimeSelect
|
|
23
23
|
? 'd MMM yyyy, EEEE h:mm aa'
|
|
24
24
|
: 'd MMM yyyy, EEEE';
|
|
25
|
-
return ((0, jsx_runtime_1.jsxs)(Calendar, { children: [(0, jsx_runtime_1.jsx)(react_datepicker_1.default, { id: id, selected: selectedDate, onChange: handleChange, placeholderText: placeholder, minDate: originalDate, showTimeSelect: showTimeSelect, dateFormat: format, className: "calendar-input", popperPlacement: "bottom", required: required }), (0, jsx_runtime_1.jsx)(IconWrapper, { children: (0, jsx_runtime_1.jsx)(icons_1.CalendarIcon, { width: 16, height: 16 }) })] }));
|
|
25
|
+
return ((0, jsx_runtime_1.jsxs)(Calendar, { children: [(0, jsx_runtime_1.jsx)(react_datepicker_1.default, { id: id, selected: selectedDate, onChange: handleChange, placeholderText: placeholder, minDate: originalDate, showTimeSelect: showTimeSelect, dateFormat: format, className: "calendar-input", popperPlacement: "bottom", required: required, disabled: disabled }), (0, jsx_runtime_1.jsx)(IconWrapper, { children: (0, jsx_runtime_1.jsx)(icons_1.CalendarIcon, { width: 16, height: 16 }) })] }));
|
|
26
26
|
};
|
|
27
27
|
exports.DatePicker = DatePicker;
|
|
28
28
|
const Calendar = styled_components_1.default.div `
|
|
@@ -177,6 +177,18 @@ const Calendar = styled_components_1.default.div `
|
|
|
177
177
|
border-color: ${(props) => props.theme.colors.text.greyMuted};
|
|
178
178
|
background-color: #f2fbfc;
|
|
179
179
|
}
|
|
180
|
+
|
|
181
|
+
&:disabled {
|
|
182
|
+
cursor: not-allowed;
|
|
183
|
+
background-color: ${(props) => props.theme.colors.background.disabled};
|
|
184
|
+
border-color: ${(props) => props.theme.colors.border.field.default};
|
|
185
|
+
color: ${(props) => props.theme.colors.text.secondary};
|
|
186
|
+
|
|
187
|
+
&:hover {
|
|
188
|
+
border-color: ${(props) => props.theme.colors.border.field.default};
|
|
189
|
+
background-color: ${(props) => props.theme.colors.background.disabled};
|
|
190
|
+
}
|
|
191
|
+
}
|
|
180
192
|
}
|
|
181
193
|
`;
|
|
182
194
|
const IconWrapper = styled_components_1.default.div `
|
|
@@ -46,7 +46,8 @@ const ContentOuter = styled_components_1.default.div `
|
|
|
46
46
|
display: grid;
|
|
47
47
|
grid-template-rows: ${(props) => (props.open ? '1fr' : '0fr')};
|
|
48
48
|
overflow: ${(props) => (props.open ? 'visible' : 'hidden')};
|
|
49
|
-
transition:
|
|
49
|
+
transition:
|
|
50
|
+
grid-template-rows 0.25s ease,
|
|
50
51
|
overflow 0s ${(props) => (props.open ? '0.25s' : '0s')} allow-discrete;
|
|
51
52
|
`;
|
|
52
53
|
const ContentInner = styled_components_1.default.div `
|
|
@@ -8,6 +8,11 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
8
8
|
const react_select_1 = __importDefault(require("react-select"));
|
|
9
9
|
const styled_components_1 = require("styled-components");
|
|
10
10
|
const selectStyles = (theme, error, variant, listMaxHeight) => ({
|
|
11
|
+
container: (base, state) => ({
|
|
12
|
+
...base,
|
|
13
|
+
cursor: state.isDisabled ? 'not-allowed' : 'default',
|
|
14
|
+
pointerEvents: state.isDisabled ? 'auto' : base.pointerEvents,
|
|
15
|
+
}),
|
|
11
16
|
control: (base, state) => ({
|
|
12
17
|
...base,
|
|
13
18
|
minHeight: variant === 'large' ? 40 : 32,
|
|
@@ -37,6 +42,7 @@ const selectStyles = (theme, error, variant, listMaxHeight) => ({
|
|
|
37
42
|
: theme.colors.background.primary,
|
|
38
43
|
transition: 'border-color 120ms ease, box-shadow 120ms ease',
|
|
39
44
|
cursor: state.isDisabled ? 'not-allowed' : 'pointer',
|
|
45
|
+
pointerEvents: state.isDisabled ? 'none' : base.pointerEvents,
|
|
40
46
|
}),
|
|
41
47
|
valueContainer: (base) => ({
|
|
42
48
|
...base,
|
|
@@ -33,14 +33,14 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.ModalTitle = exports.ModalCardBody = exports.ScrollableModalContent = exports.ModelContent = exports.ModalSidebarTitle = exports.ModalSidebarHeader = exports.ModalSidebar = exports.ModalBody = exports.CloseButton = exports.ModalHeader = exports.ModalContainer = exports.StyledModal = void 0;
|
|
36
|
+
exports.ModalTitle = exports.ModalCardBody = exports.ScrollableModalContent = exports.ModelContent = exports.ModalSidebarTitle = exports.ModalSidebarHeader = exports.ModalSidebar = exports.ModalBody = exports.CloseButton = exports.ModalHeader = exports.ModalContainer = exports.StyledModal = exports.StyledModalContent = void 0;
|
|
37
37
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
38
38
|
const react_1 = require("react");
|
|
39
39
|
const react_dom_1 = require("react-dom");
|
|
40
40
|
const styled_components_1 = __importStar(require("styled-components"));
|
|
41
41
|
const Button_1 = require("./Button");
|
|
42
42
|
const Sidebar_1 = require("./Sidebar");
|
|
43
|
-
const
|
|
43
|
+
const StyledModalContent = ({ isOpen, onRequestClose, shouldCloseOnOverlayClick = true, hideOverlay = false, pointerEventsOnBackdrop, children, className, style, }) => {
|
|
44
44
|
const dialogRef = (0, react_1.useRef)(null);
|
|
45
45
|
const closedByCancelRef = (0, react_1.useRef)(false);
|
|
46
46
|
(0, react_1.useEffect)(() => {
|
|
@@ -49,7 +49,12 @@ const StyledModal = ({ isOpen, onRequestClose, shouldCloseOnOverlayClick = true,
|
|
|
49
49
|
return;
|
|
50
50
|
}
|
|
51
51
|
if (isOpen && !dialog.open) {
|
|
52
|
-
|
|
52
|
+
if (hideOverlay) {
|
|
53
|
+
dialog.show();
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
dialog.showModal();
|
|
57
|
+
}
|
|
53
58
|
}
|
|
54
59
|
else if (!isOpen && dialog.open) {
|
|
55
60
|
dialog.close();
|
|
@@ -87,7 +92,14 @@ const StyledModal = ({ isOpen, onRequestClose, shouldCloseOnOverlayClick = true,
|
|
|
87
92
|
onRequestClose?.();
|
|
88
93
|
}
|
|
89
94
|
};
|
|
90
|
-
return (
|
|
95
|
+
return ((0, jsx_runtime_1.jsx)(Dialog, { ref: dialogRef, onClick: e => {
|
|
96
|
+
e.stopPropagation();
|
|
97
|
+
handleBackdropClick(e);
|
|
98
|
+
}, "$hideOverlay": hideOverlay, "$pointerEventsOnBackdrop": pointerEventsOnBackdrop, className: className ? `Modal ${className}` : 'Modal', style: style?.content, children: children }));
|
|
99
|
+
};
|
|
100
|
+
exports.StyledModalContent = StyledModalContent;
|
|
101
|
+
const StyledModal = (props) => {
|
|
102
|
+
return (0, react_dom_1.createPortal)((0, jsx_runtime_1.jsx)(exports.StyledModalContent, { ...props }), document.body);
|
|
91
103
|
};
|
|
92
104
|
exports.StyledModal = StyledModal;
|
|
93
105
|
const Dialog = styled_components_1.default.dialog `
|
|
@@ -97,6 +109,7 @@ const Dialog = styled_components_1.default.dialog `
|
|
|
97
109
|
outline: none;
|
|
98
110
|
padding: 0;
|
|
99
111
|
overflow: visible;
|
|
112
|
+
z-index: 100;
|
|
100
113
|
opacity: 1;
|
|
101
114
|
transition:
|
|
102
115
|
opacity 0.5s ease-in-out,
|
package/dist/cjs/defaultTheme.js
CHANGED
package/dist/es/colors.js
CHANGED
|
@@ -29,6 +29,7 @@ export const mercuryGrey = '#e2e2e2';
|
|
|
29
29
|
export const seashellGrey = '#f2f2f2';
|
|
30
30
|
export const alabasterGrey = '#fafafa';
|
|
31
31
|
export const white = '#fff';
|
|
32
|
+
export const disabled = '#f5f5f5';
|
|
32
33
|
export const jellyBeanBlue = '#2781a1';
|
|
33
34
|
export const aliceBlue = '#f2fbfc';
|
|
34
35
|
export const powderBlue = '#ddf3fa';
|
|
@@ -4,7 +4,7 @@ import { useEffect, useState } from 'react';
|
|
|
4
4
|
import ReactDatePicker from 'react-datepicker';
|
|
5
5
|
import styled from 'styled-components';
|
|
6
6
|
import { CalendarIcon } from './icons';
|
|
7
|
-
export const DatePicker = ({ id, originalDate, date, handleDateChange, placeholder, showTimeSelect, required, }) => {
|
|
7
|
+
export const DatePicker = ({ id, originalDate, date, handleDateChange, placeholder, showTimeSelect, required, disabled, }) => {
|
|
8
8
|
const [selectedDate, setSelectedDate] = useState(date || null);
|
|
9
9
|
useEffect(() => {
|
|
10
10
|
setSelectedDate(date ?? null);
|
|
@@ -16,7 +16,7 @@ export const DatePicker = ({ id, originalDate, date, handleDateChange, placehold
|
|
|
16
16
|
const format = showTimeSelect
|
|
17
17
|
? 'd MMM yyyy, EEEE h:mm aa'
|
|
18
18
|
: 'd MMM yyyy, EEEE';
|
|
19
|
-
return (_jsxs(Calendar, { children: [_jsx(ReactDatePicker, { id: id, selected: selectedDate, onChange: handleChange, placeholderText: placeholder, minDate: originalDate, showTimeSelect: showTimeSelect, dateFormat: format, className: "calendar-input", popperPlacement: "bottom", required: required }), _jsx(IconWrapper, { children: _jsx(CalendarIcon, { width: 16, height: 16 }) })] }));
|
|
19
|
+
return (_jsxs(Calendar, { children: [_jsx(ReactDatePicker, { id: id, selected: selectedDate, onChange: handleChange, placeholderText: placeholder, minDate: originalDate, showTimeSelect: showTimeSelect, dateFormat: format, className: "calendar-input", popperPlacement: "bottom", required: required, disabled: disabled }), _jsx(IconWrapper, { children: _jsx(CalendarIcon, { width: 16, height: 16 }) })] }));
|
|
20
20
|
};
|
|
21
21
|
const Calendar = styled.div `
|
|
22
22
|
width: 100%;
|
|
@@ -170,6 +170,18 @@ const Calendar = styled.div `
|
|
|
170
170
|
border-color: ${(props) => props.theme.colors.text.greyMuted};
|
|
171
171
|
background-color: #f2fbfc;
|
|
172
172
|
}
|
|
173
|
+
|
|
174
|
+
&:disabled {
|
|
175
|
+
cursor: not-allowed;
|
|
176
|
+
background-color: ${(props) => props.theme.colors.background.disabled};
|
|
177
|
+
border-color: ${(props) => props.theme.colors.border.field.default};
|
|
178
|
+
color: ${(props) => props.theme.colors.text.secondary};
|
|
179
|
+
|
|
180
|
+
&:hover {
|
|
181
|
+
border-color: ${(props) => props.theme.colors.border.field.default};
|
|
182
|
+
background-color: ${(props) => props.theme.colors.background.disabled};
|
|
183
|
+
}
|
|
184
|
+
}
|
|
173
185
|
}
|
|
174
186
|
`;
|
|
175
187
|
const IconWrapper = styled.div `
|
|
@@ -39,7 +39,8 @@ const ContentOuter = styled.div `
|
|
|
39
39
|
display: grid;
|
|
40
40
|
grid-template-rows: ${(props) => (props.open ? '1fr' : '0fr')};
|
|
41
41
|
overflow: ${(props) => (props.open ? 'visible' : 'hidden')};
|
|
42
|
-
transition:
|
|
42
|
+
transition:
|
|
43
|
+
grid-template-rows 0.25s ease,
|
|
43
44
|
overflow 0s ${(props) => (props.open ? '0.25s' : '0s')} allow-discrete;
|
|
44
45
|
`;
|
|
45
46
|
const ContentInner = styled.div `
|
|
@@ -2,6 +2,11 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import Select from 'react-select';
|
|
3
3
|
import { useTheme } from 'styled-components';
|
|
4
4
|
const selectStyles = (theme, error, variant, listMaxHeight) => ({
|
|
5
|
+
container: (base, state) => ({
|
|
6
|
+
...base,
|
|
7
|
+
cursor: state.isDisabled ? 'not-allowed' : 'default',
|
|
8
|
+
pointerEvents: state.isDisabled ? 'auto' : base.pointerEvents,
|
|
9
|
+
}),
|
|
5
10
|
control: (base, state) => ({
|
|
6
11
|
...base,
|
|
7
12
|
minHeight: variant === 'large' ? 40 : 32,
|
|
@@ -31,6 +36,7 @@ const selectStyles = (theme, error, variant, listMaxHeight) => ({
|
|
|
31
36
|
: theme.colors.background.primary,
|
|
32
37
|
transition: 'border-color 120ms ease, box-shadow 120ms ease',
|
|
33
38
|
cursor: state.isDisabled ? 'not-allowed' : 'pointer',
|
|
39
|
+
pointerEvents: state.isDisabled ? 'none' : base.pointerEvents,
|
|
34
40
|
}),
|
|
35
41
|
valueContainer: (base) => ({
|
|
36
42
|
...base,
|
|
@@ -4,7 +4,7 @@ import { createPortal } from 'react-dom';
|
|
|
4
4
|
import styled, { css } from 'styled-components';
|
|
5
5
|
import { RoundIconButton } from './Button';
|
|
6
6
|
import { SidebarStyles } from './Sidebar';
|
|
7
|
-
export const
|
|
7
|
+
export const StyledModalContent = ({ isOpen, onRequestClose, shouldCloseOnOverlayClick = true, hideOverlay = false, pointerEventsOnBackdrop, children, className, style, }) => {
|
|
8
8
|
const dialogRef = useRef(null);
|
|
9
9
|
const closedByCancelRef = useRef(false);
|
|
10
10
|
useEffect(() => {
|
|
@@ -13,7 +13,12 @@ export const StyledModal = ({ isOpen, onRequestClose, shouldCloseOnOverlayClick
|
|
|
13
13
|
return;
|
|
14
14
|
}
|
|
15
15
|
if (isOpen && !dialog.open) {
|
|
16
|
-
|
|
16
|
+
if (hideOverlay) {
|
|
17
|
+
dialog.show();
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
dialog.showModal();
|
|
21
|
+
}
|
|
17
22
|
}
|
|
18
23
|
else if (!isOpen && dialog.open) {
|
|
19
24
|
dialog.close();
|
|
@@ -51,7 +56,13 @@ export const StyledModal = ({ isOpen, onRequestClose, shouldCloseOnOverlayClick
|
|
|
51
56
|
onRequestClose?.();
|
|
52
57
|
}
|
|
53
58
|
};
|
|
54
|
-
return
|
|
59
|
+
return (_jsx(Dialog, { ref: dialogRef, onClick: e => {
|
|
60
|
+
e.stopPropagation();
|
|
61
|
+
handleBackdropClick(e);
|
|
62
|
+
}, "$hideOverlay": hideOverlay, "$pointerEventsOnBackdrop": pointerEventsOnBackdrop, className: className ? `Modal ${className}` : 'Modal', style: style?.content, children: children }));
|
|
63
|
+
};
|
|
64
|
+
export const StyledModal = (props) => {
|
|
65
|
+
return createPortal(_jsx(StyledModalContent, { ...props }), document.body);
|
|
55
66
|
};
|
|
56
67
|
const Dialog = styled.dialog `
|
|
57
68
|
background: transparent;
|
|
@@ -60,6 +71,7 @@ const Dialog = styled.dialog `
|
|
|
60
71
|
outline: none;
|
|
61
72
|
padding: 0;
|
|
62
73
|
overflow: visible;
|
|
74
|
+
z-index: 100;
|
|
63
75
|
opacity: 1;
|
|
64
76
|
transition:
|
|
65
77
|
opacity 0.5s ease-in-out,
|
package/dist/es/defaultTheme.js
CHANGED
package/dist/types/colors.d.ts
CHANGED
|
@@ -29,6 +29,7 @@ export declare const mercuryGrey = "#e2e2e2";
|
|
|
29
29
|
export declare const seashellGrey = "#f2f2f2";
|
|
30
30
|
export declare const alabasterGrey = "#fafafa";
|
|
31
31
|
export declare const white = "#fff";
|
|
32
|
+
export declare const disabled = "#f5f5f5";
|
|
32
33
|
export declare const jellyBeanBlue = "#2781a1";
|
|
33
34
|
export declare const aliceBlue = "#f2fbfc";
|
|
34
35
|
export declare const powderBlue = "#ddf3fa";
|
|
@@ -26,6 +26,7 @@ interface StyledModalProps {
|
|
|
26
26
|
content?: React.CSSProperties;
|
|
27
27
|
};
|
|
28
28
|
}
|
|
29
|
+
export declare const StyledModalContent: React.FC<StyledModalProps>;
|
|
29
30
|
export declare const StyledModal: React.FC<StyledModalProps>;
|
|
30
31
|
export declare const ModalContainer: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
|
|
31
32
|
export declare const ModalHeader: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
|
package/dist/types/theme.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@manuscripts/style-guide",
|
|
3
3
|
"description": "Shared components for Manuscripts applications",
|
|
4
|
-
"version": "3.5.
|
|
4
|
+
"version": "3.5.28",
|
|
5
5
|
"repository": "github:Atypon-OpenSource/manuscripts-style-guide",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"main": "dist/cjs",
|