@elliemae/ds-banner 1.58.0-rc.1 → 1.58.0-rc.2
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/cjs/DSBanner.js +13 -3
- package/cjs/DSBanner.js.map +1 -1
- package/cjs/styles.js +3 -3
- package/cjs/styles.js.map +1 -1
- package/esm/DSBanner.js +13 -3
- package/esm/DSBanner.js.map +1 -1
- package/esm/styles.js +3 -3
- package/esm/styles.js.map +1 -1
- package/package.json +4 -4
package/cjs/DSBanner.js
CHANGED
|
@@ -52,10 +52,16 @@ var DSBanner = function DSBanner(_ref) {
|
|
|
52
52
|
height = _useState6[0];
|
|
53
53
|
_useState6[1];
|
|
54
54
|
|
|
55
|
+
var _useState7 = React.useState(undefined),
|
|
56
|
+
_useState8 = _slicedToArray__default['default'](_useState7, 2),
|
|
57
|
+
alertTabIndex = _useState8[0],
|
|
58
|
+
setAlertTabIndex = _useState8[1];
|
|
59
|
+
|
|
55
60
|
React__default['default'].useEffect(function () {
|
|
56
61
|
if (actionRef && actionRef.current) {
|
|
57
62
|
actionRef.current.focusOnWrapper = function () {
|
|
58
63
|
if (innerContainerRef.current) {
|
|
64
|
+
setAlertTabIndex(0);
|
|
59
65
|
setTimeout(function () {
|
|
60
66
|
innerContainerRef.current.focus();
|
|
61
67
|
}, 100);
|
|
@@ -72,6 +78,9 @@ var DSBanner = function DSBanner(_ref) {
|
|
|
72
78
|
React.useLayoutEffect(function () {
|
|
73
79
|
if (isOpen !== current || isOpen) setIsAnimating(true);else setIsAnimating(false);
|
|
74
80
|
}, [isOpen, current]);
|
|
81
|
+
var handleBlur = React.useCallback(function () {
|
|
82
|
+
setAlertTabIndex(undefined);
|
|
83
|
+
}, []);
|
|
75
84
|
var handleOnKeyDown = React.useCallback(function (e) {
|
|
76
85
|
if (e.key === 'Enter' || e.key === ' ') {
|
|
77
86
|
e.preventDefault();
|
|
@@ -95,7 +104,8 @@ var DSBanner = function DSBanner(_ref) {
|
|
|
95
104
|
isAnimating: isAnimating,
|
|
96
105
|
"data-testid": "ds-banner",
|
|
97
106
|
role: "alert",
|
|
98
|
-
tabIndex:
|
|
107
|
+
tabIndex: alertTabIndex,
|
|
108
|
+
onBlur: handleBlur
|
|
99
109
|
}, /*#__PURE__*/React__default['default'].createElement(styles.StyledIconContainer, {
|
|
100
110
|
"data-testid": "ds-banner-icon"
|
|
101
111
|
}, utils_icons.icons[type]), /*#__PURE__*/React__default['default'].createElement(styles.StyledTitle, null, label), /*#__PURE__*/React__default['default'].createElement(styles.StyledSubTitle, null, /*#__PURE__*/React__default['default'].createElement("span", null, body), actionLink && /*#__PURE__*/React__default['default'].createElement(styles.StyledActionLink, {
|
|
@@ -106,7 +116,7 @@ var DSBanner = function DSBanner(_ref) {
|
|
|
106
116
|
onKeyDown: handleOnKeyDown,
|
|
107
117
|
tabIndex: 0,
|
|
108
118
|
isBodyEmpty: body
|
|
109
|
-
}, actionLink.label)), showCloseButton
|
|
119
|
+
}, actionLink.label)), showCloseButton ? /*#__PURE__*/React__default['default'].createElement(styles.StyledCloseButton, {
|
|
110
120
|
"data-testid": "ds-banner-close-button",
|
|
111
121
|
buttonType: "secondary",
|
|
112
122
|
onClick: onClose,
|
|
@@ -115,7 +125,7 @@ var DSBanner = function DSBanner(_ref) {
|
|
|
115
125
|
width: "12px",
|
|
116
126
|
height: "12px"
|
|
117
127
|
})
|
|
118
|
-
})));
|
|
128
|
+
}) : /*#__PURE__*/React__default['default'].createElement("span", null)));
|
|
119
129
|
};
|
|
120
130
|
|
|
121
131
|
DSBanner.defaultProps = defaultProps.defaultProps;
|
package/cjs/DSBanner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DSBanner.js","sources":["../../src/DSBanner.tsx"],"sourcesContent":["import React, { useLayoutEffect, useEffect, useRef, useCallback, useState } from 'react';\nimport { CloseX } from '@elliemae/ds-icons';\nimport { describe } from 'react-desc';\nimport type { BannerPropsT } from './index.d';\nimport { icons } from './utils/icons';\nimport { propTypes } from './propTypes';\nimport { defaultProps } from './defaultProps';\nimport {\n StyledActionLink,\n StyledCloseButton,\n StyledInnerContainer,\n StyledBannerContainer,\n StyledIconContainer,\n StyledSubTitle,\n StyledTitle,\n} from './styles';\n\nconst DSBanner = ({\n type,\n isOpen,\n onClose,\n label,\n body,\n actionLink,\n showCloseButton,\n containerProps,\n actionRef,\n}: BannerPropsT): JSX.Element => {\n const innerContainerRef = useRef<HTMLDivElement | null>(null);\n const linkRef = useRef<HTMLAnchorElement | null>(null);\n const [current, setCurrent] = useState<boolean>(isOpen);\n const [isAnimating, setIsAnimating] = useState<boolean>(false);\n const [height, setHeight] = useState<number>(0);\n\n React.useEffect(() => {\n if (actionRef && actionRef.current) {\n actionRef.current.focusOnWrapper = () => {\n if (innerContainerRef.current) {\n setTimeout(() => {\n innerContainerRef.current.focus();\n }, 100);\n }\n };\n actionRef.current.focusOnLink = () => {\n if (linkRef.current) {\n linkRef.current.focus();\n }\n };\n }\n }, [actionRef]);\n\n useLayoutEffect(() => {\n if (isOpen !== current || isOpen) setIsAnimating(true);\n else setIsAnimating(false);\n }, [isOpen, current]);\n\n const handleOnKeyDown = useCallback((e: React.KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n if (linkRef.current) linkRef.current.click();\n }\n }, []);\n\n if (!isAnimating && !isOpen) return null;\n\n return (\n <StyledBannerContainer\n type={type}\n isOpen={isOpen}\n isAnimating={isAnimating}\n onAnimationEnd={() => setCurrent(isOpen)}\n height={height}\n data-testid=\"ds-banner-container\"\n {...containerProps}\n >\n <StyledInnerContainer\n type={type}\n isOpen={isOpen}\n ref={innerContainerRef}\n isAnimating={isAnimating}\n data-testid=\"ds-banner\"\n role=\"alert\"\n tabIndex={
|
|
1
|
+
{"version":3,"file":"DSBanner.js","sources":["../../src/DSBanner.tsx"],"sourcesContent":["import React, { useLayoutEffect, useEffect, useRef, useCallback, useState } from 'react';\nimport { CloseX } from '@elliemae/ds-icons';\nimport { describe } from 'react-desc';\nimport type { BannerPropsT } from './index.d';\nimport { icons } from './utils/icons';\nimport { propTypes } from './propTypes';\nimport { defaultProps } from './defaultProps';\nimport {\n StyledActionLink,\n StyledCloseButton,\n StyledInnerContainer,\n StyledBannerContainer,\n StyledIconContainer,\n StyledSubTitle,\n StyledTitle,\n} from './styles';\n\nconst DSBanner = ({\n type,\n isOpen,\n onClose,\n label,\n body,\n actionLink,\n showCloseButton,\n containerProps,\n actionRef,\n}: BannerPropsT): JSX.Element => {\n const innerContainerRef = useRef<HTMLDivElement | null>(null);\n const linkRef = useRef<HTMLAnchorElement | null>(null);\n const [current, setCurrent] = useState<boolean>(isOpen);\n const [isAnimating, setIsAnimating] = useState<boolean>(false);\n const [height, setHeight] = useState<number>(0);\n const [alertTabIndex, setAlertTabIndex] = useState<number | undefined>(undefined);\n\n React.useEffect(() => {\n if (actionRef && actionRef.current) {\n actionRef.current.focusOnWrapper = () => {\n if (innerContainerRef.current) {\n setAlertTabIndex(0);\n setTimeout(() => {\n innerContainerRef.current.focus();\n }, 100);\n }\n };\n actionRef.current.focusOnLink = () => {\n if (linkRef.current) {\n linkRef.current.focus();\n }\n };\n }\n }, [actionRef]);\n\n useLayoutEffect(() => {\n if (isOpen !== current || isOpen) setIsAnimating(true);\n else setIsAnimating(false);\n }, [isOpen, current]);\n\n const handleBlur = useCallback(() => {\n setAlertTabIndex(undefined);\n },[]);\n const handleOnKeyDown = useCallback((e: React.KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n if (linkRef.current) linkRef.current.click();\n }\n }, []);\n\n if (!isAnimating && !isOpen) return null;\n\n return (\n <StyledBannerContainer\n type={type}\n isOpen={isOpen}\n isAnimating={isAnimating}\n onAnimationEnd={() => setCurrent(isOpen)}\n height={height}\n data-testid=\"ds-banner-container\"\n {...containerProps}\n >\n <StyledInnerContainer\n type={type}\n isOpen={isOpen}\n ref={innerContainerRef}\n isAnimating={isAnimating}\n data-testid=\"ds-banner\"\n role=\"alert\"\n tabIndex={alertTabIndex}\n onBlur={handleBlur}\n >\n <StyledIconContainer data-testid=\"ds-banner-icon\">{icons[type]}</StyledIconContainer>\n <StyledTitle>{label}</StyledTitle>\n <StyledSubTitle>\n <span>{body}</span>\n {actionLink && (\n <StyledActionLink\n data-testid=\"ds-banner-action-link\"\n onClick={actionLink.onClick}\n href={actionLink.href}\n ref={linkRef}\n onKeyDown={handleOnKeyDown}\n tabIndex={0}\n isBodyEmpty={body}\n >\n {actionLink.label}\n </StyledActionLink>\n )}\n </StyledSubTitle>\n\n {showCloseButton ? (\n <StyledCloseButton\n data-testid=\"ds-banner-close-button\"\n buttonType=\"secondary\"\n onClick={onClose}\n aria-label=\"Close icon\"\n icon={<CloseX width=\"12px\" height=\"12px\" />}\n />\n ) : (\n <span />\n )}\n </StyledInnerContainer>\n </StyledBannerContainer>\n );\n};\n\nDSBanner.defaultProps = defaultProps;\nDSBanner.propTypes = propTypes;\nconst DSBannerWithSchema = describe(DSBanner);\nDSBannerWithSchema.propTypes = propTypes;\n\nexport default DSBanner;\nexport { DSBannerWithSchema };\n"],"names":["DSBanner","type","isOpen","onClose","label","body","actionLink","showCloseButton","containerProps","actionRef","innerContainerRef","useRef","linkRef","useState","current","setCurrent","isAnimating","setIsAnimating","height","undefined","alertTabIndex","setAlertTabIndex","React","useEffect","focusOnWrapper","setTimeout","focus","focusOnLink","useLayoutEffect","handleBlur","useCallback","handleOnKeyDown","e","key","preventDefault","click","StyledBannerContainer","StyledInnerContainer","StyledIconContainer","icons","StyledTitle","StyledSubTitle","StyledActionLink","onClick","href","StyledCloseButton","CloseX","defaultProps","propTypes","DSBannerWithSchema","describe"],"mappings":"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"}
|
package/cjs/styles.js
CHANGED
|
@@ -27,7 +27,7 @@ var StyledBannerContainer = /*#__PURE__*/styled__default['default'].div.withConf
|
|
|
27
27
|
});
|
|
28
28
|
var StyledInnerContainer = /*#__PURE__*/styled__default['default'].div.withConfig({
|
|
29
29
|
componentId: "sc-ffu2hq-1"
|
|
30
|
-
})(["padding-right:6px;display:
|
|
30
|
+
})(["padding-right:6px;display:grid;align-items:center;min-height:41px;width:100%;background-color:", ";border-bottom:5px solid ", ";", ";&:focus{position:relative;&:after{content:'';display:block;position:absolute;top:0;left:0;pointer-events:none;border-radius:2px;width:calc(100%);border:2px solid #1e79c2;height:calc(100% + 4px);}}grid-template-columns:auto 1fr auto auto;"], function (_ref3) {
|
|
31
31
|
var theme = _ref3.theme;
|
|
32
32
|
return theme.colors.neutral['000'];
|
|
33
33
|
}, function (_ref4) {
|
|
@@ -50,7 +50,7 @@ var StyledIconContainer = /*#__PURE__*/styled__default['default'].div.withConfig
|
|
|
50
50
|
});
|
|
51
51
|
var StyledTitle = /*#__PURE__*/styled__default['default'].div.withConfig({
|
|
52
52
|
componentId: "sc-ffu2hq-3"
|
|
53
|
-
})(["color:", ";font-size:", ";font-weight:", ";
|
|
53
|
+
})(["color:", ";font-size:", ";font-weight:", ";"], function (_ref8) {
|
|
54
54
|
var theme = _ref8.theme;
|
|
55
55
|
return theme.colors.neutral[700];
|
|
56
56
|
}, function (_ref9) {
|
|
@@ -92,7 +92,7 @@ var StyledCloseButton = /*#__PURE__*/styled__default['default'](DSButton__defaul
|
|
|
92
92
|
componentId: "sc-ffu2hq-6"
|
|
93
93
|
})(["margin-left:", ";&:not(focus){border:transparent;}"], function (_ref18) {
|
|
94
94
|
var theme = _ref18.theme;
|
|
95
|
-
return theme.space.
|
|
95
|
+
return theme.space.xxs;
|
|
96
96
|
});
|
|
97
97
|
|
|
98
98
|
exports.StyledActionLink = StyledActionLink;
|
package/cjs/styles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sources":["../../src/styles.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport DSButton from '@elliemae/ds-button';\nimport type { StyledActionLinkT, StyledBannerContainerT, StyledInnerContainerT } from './index.d';\nimport { handleAnimation, handleBorderColor } from './utils/styleHelpers';\n\nexport const StyledBannerContainer = styled.div<StyledBannerContainerT>`\n overflow: hidden;\n height: ${({ isOpen }) => (isOpen ? 'auto' : '0px')};\n ${({ isAnimating, isOpen, height }) => handleAnimation(isAnimating, isOpen, height)};\n`;\n\nexport const StyledInnerContainer = styled.div<StyledInnerContainerT>`\n padding-right: 6px;\n display:
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../src/styles.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport DSButton from '@elliemae/ds-button';\nimport type { StyledActionLinkT, StyledBannerContainerT, StyledInnerContainerT } from './index.d';\nimport { handleAnimation, handleBorderColor } from './utils/styleHelpers';\n\nexport const StyledBannerContainer = styled.div<StyledBannerContainerT>`\n overflow: hidden;\n height: ${({ isOpen }) => (isOpen ? 'auto' : '0px')};\n ${({ isAnimating, isOpen, height }) => handleAnimation(isAnimating, isOpen, height)};\n`;\n\nexport const StyledInnerContainer = styled.div<StyledInnerContainerT>`\n padding-right: 6px;\n display: grid;\n align-items: center;\n min-height: 41px;\n width: 100%;\n background-color: ${({ theme }) => theme.colors.neutral['000']};\n border-bottom: 5px solid ${({ type, theme }) => handleBorderColor(type, theme)};\n ${({ isAnimating, isOpen }) => handleAnimation(isAnimating, isOpen)};\n &:focus {\n position: relative;\n &:after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n pointer-events: none;\n border-radius: 2px;\n width: calc(100%);\n border: 2px solid #1e79c2;\n height: calc(100% + 4px);\n }\n }\n grid-template-columns: auto 1fr auto auto;\n`;\n\nexport const StyledIconContainer = styled.div`\n margin-right: ${({ theme }) => theme.space.xxs};\n margin-left: ${({ theme }) => theme.space.xs};\n`;\n\nexport const StyledTitle = styled.div`\n color: ${({ theme }) => theme.colors.neutral[700]};\n font-size: ${({ theme }) => theme.fontSizes.label[400]};\n font-weight: ${({ theme }) => theme.fontWeights.semibold};\n`;\n\nexport const StyledSubTitle = styled.div`\n width: 100%;\n margin-left: ${({ theme }) => theme.space.xs};\n font-size: ${({ theme }) => theme.fontSizes.subTitle[400]};\n font-weight: ${({ theme }) => theme.fontWeights.regular};\n`;\n\nexport const StyledActionLink = styled.a<StyledActionLinkT>`\n margin-left: ${({ theme, isBodyEmpty }) => (isBodyEmpty ? theme.space.xs : 0)};\n white-space: nowrap;\n text-decoration: none;\n line-height: 1.1;\n font-size: ${({ theme }) => theme.fontSizes.hyperlink[400]};\n font-weight: ${({ theme }) => theme.fontWeights.regular};\n color: ${({ theme }) => theme.colors.brand[600]};\n`;\n\nexport const StyledCloseButton = styled(DSButton)`\n margin-left: ${({ theme }) => theme.space.xxs};\n &:not(focus) {\n border: transparent;\n }\n`;\n"],"names":["StyledBannerContainer","styled","div","isOpen","isAnimating","height","handleAnimation","StyledInnerContainer","theme","colors","neutral","type","handleBorderColor","StyledIconContainer","space","xxs","xs","StyledTitle","fontSizes","label","fontWeights","semibold","StyledSubTitle","subTitle","regular","StyledActionLink","a","isBodyEmpty","hyperlink","brand","StyledCloseButton","DSButton"],"mappings":"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"}
|
package/esm/DSBanner.js
CHANGED
|
@@ -42,10 +42,16 @@ var DSBanner = function DSBanner(_ref) {
|
|
|
42
42
|
height = _useState6[0];
|
|
43
43
|
_useState6[1];
|
|
44
44
|
|
|
45
|
+
var _useState7 = useState(undefined),
|
|
46
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
47
|
+
alertTabIndex = _useState8[0],
|
|
48
|
+
setAlertTabIndex = _useState8[1];
|
|
49
|
+
|
|
45
50
|
React.useEffect(function () {
|
|
46
51
|
if (actionRef && actionRef.current) {
|
|
47
52
|
actionRef.current.focusOnWrapper = function () {
|
|
48
53
|
if (innerContainerRef.current) {
|
|
54
|
+
setAlertTabIndex(0);
|
|
49
55
|
setTimeout(function () {
|
|
50
56
|
innerContainerRef.current.focus();
|
|
51
57
|
}, 100);
|
|
@@ -62,6 +68,9 @@ var DSBanner = function DSBanner(_ref) {
|
|
|
62
68
|
useLayoutEffect(function () {
|
|
63
69
|
if (isOpen !== current || isOpen) setIsAnimating(true);else setIsAnimating(false);
|
|
64
70
|
}, [isOpen, current]);
|
|
71
|
+
var handleBlur = useCallback(function () {
|
|
72
|
+
setAlertTabIndex(undefined);
|
|
73
|
+
}, []);
|
|
65
74
|
var handleOnKeyDown = useCallback(function (e) {
|
|
66
75
|
if (e.key === 'Enter' || e.key === ' ') {
|
|
67
76
|
e.preventDefault();
|
|
@@ -85,7 +94,8 @@ var DSBanner = function DSBanner(_ref) {
|
|
|
85
94
|
isAnimating: isAnimating,
|
|
86
95
|
"data-testid": "ds-banner",
|
|
87
96
|
role: "alert",
|
|
88
|
-
tabIndex:
|
|
97
|
+
tabIndex: alertTabIndex,
|
|
98
|
+
onBlur: handleBlur
|
|
89
99
|
}, /*#__PURE__*/React.createElement(StyledIconContainer, {
|
|
90
100
|
"data-testid": "ds-banner-icon"
|
|
91
101
|
}, icons[type]), /*#__PURE__*/React.createElement(StyledTitle, null, label), /*#__PURE__*/React.createElement(StyledSubTitle, null, /*#__PURE__*/React.createElement("span", null, body), actionLink && /*#__PURE__*/React.createElement(StyledActionLink, {
|
|
@@ -96,7 +106,7 @@ var DSBanner = function DSBanner(_ref) {
|
|
|
96
106
|
onKeyDown: handleOnKeyDown,
|
|
97
107
|
tabIndex: 0,
|
|
98
108
|
isBodyEmpty: body
|
|
99
|
-
}, actionLink.label)), showCloseButton
|
|
109
|
+
}, actionLink.label)), showCloseButton ? /*#__PURE__*/React.createElement(StyledCloseButton, {
|
|
100
110
|
"data-testid": "ds-banner-close-button",
|
|
101
111
|
buttonType: "secondary",
|
|
102
112
|
onClick: onClose,
|
|
@@ -105,7 +115,7 @@ var DSBanner = function DSBanner(_ref) {
|
|
|
105
115
|
width: "12px",
|
|
106
116
|
height: "12px"
|
|
107
117
|
})
|
|
108
|
-
})));
|
|
118
|
+
}) : /*#__PURE__*/React.createElement("span", null)));
|
|
109
119
|
};
|
|
110
120
|
|
|
111
121
|
DSBanner.defaultProps = defaultProps;
|
package/esm/DSBanner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DSBanner.js","sources":["../../src/DSBanner.tsx"],"sourcesContent":["import React, { useLayoutEffect, useEffect, useRef, useCallback, useState } from 'react';\nimport { CloseX } from '@elliemae/ds-icons';\nimport { describe } from 'react-desc';\nimport type { BannerPropsT } from './index.d';\nimport { icons } from './utils/icons';\nimport { propTypes } from './propTypes';\nimport { defaultProps } from './defaultProps';\nimport {\n StyledActionLink,\n StyledCloseButton,\n StyledInnerContainer,\n StyledBannerContainer,\n StyledIconContainer,\n StyledSubTitle,\n StyledTitle,\n} from './styles';\n\nconst DSBanner = ({\n type,\n isOpen,\n onClose,\n label,\n body,\n actionLink,\n showCloseButton,\n containerProps,\n actionRef,\n}: BannerPropsT): JSX.Element => {\n const innerContainerRef = useRef<HTMLDivElement | null>(null);\n const linkRef = useRef<HTMLAnchorElement | null>(null);\n const [current, setCurrent] = useState<boolean>(isOpen);\n const [isAnimating, setIsAnimating] = useState<boolean>(false);\n const [height, setHeight] = useState<number>(0);\n\n React.useEffect(() => {\n if (actionRef && actionRef.current) {\n actionRef.current.focusOnWrapper = () => {\n if (innerContainerRef.current) {\n setTimeout(() => {\n innerContainerRef.current.focus();\n }, 100);\n }\n };\n actionRef.current.focusOnLink = () => {\n if (linkRef.current) {\n linkRef.current.focus();\n }\n };\n }\n }, [actionRef]);\n\n useLayoutEffect(() => {\n if (isOpen !== current || isOpen) setIsAnimating(true);\n else setIsAnimating(false);\n }, [isOpen, current]);\n\n const handleOnKeyDown = useCallback((e: React.KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n if (linkRef.current) linkRef.current.click();\n }\n }, []);\n\n if (!isAnimating && !isOpen) return null;\n\n return (\n <StyledBannerContainer\n type={type}\n isOpen={isOpen}\n isAnimating={isAnimating}\n onAnimationEnd={() => setCurrent(isOpen)}\n height={height}\n data-testid=\"ds-banner-container\"\n {...containerProps}\n >\n <StyledInnerContainer\n type={type}\n isOpen={isOpen}\n ref={innerContainerRef}\n isAnimating={isAnimating}\n data-testid=\"ds-banner\"\n role=\"alert\"\n tabIndex={
|
|
1
|
+
{"version":3,"file":"DSBanner.js","sources":["../../src/DSBanner.tsx"],"sourcesContent":["import React, { useLayoutEffect, useEffect, useRef, useCallback, useState } from 'react';\nimport { CloseX } from '@elliemae/ds-icons';\nimport { describe } from 'react-desc';\nimport type { BannerPropsT } from './index.d';\nimport { icons } from './utils/icons';\nimport { propTypes } from './propTypes';\nimport { defaultProps } from './defaultProps';\nimport {\n StyledActionLink,\n StyledCloseButton,\n StyledInnerContainer,\n StyledBannerContainer,\n StyledIconContainer,\n StyledSubTitle,\n StyledTitle,\n} from './styles';\n\nconst DSBanner = ({\n type,\n isOpen,\n onClose,\n label,\n body,\n actionLink,\n showCloseButton,\n containerProps,\n actionRef,\n}: BannerPropsT): JSX.Element => {\n const innerContainerRef = useRef<HTMLDivElement | null>(null);\n const linkRef = useRef<HTMLAnchorElement | null>(null);\n const [current, setCurrent] = useState<boolean>(isOpen);\n const [isAnimating, setIsAnimating] = useState<boolean>(false);\n const [height, setHeight] = useState<number>(0);\n const [alertTabIndex, setAlertTabIndex] = useState<number | undefined>(undefined);\n\n React.useEffect(() => {\n if (actionRef && actionRef.current) {\n actionRef.current.focusOnWrapper = () => {\n if (innerContainerRef.current) {\n setAlertTabIndex(0);\n setTimeout(() => {\n innerContainerRef.current.focus();\n }, 100);\n }\n };\n actionRef.current.focusOnLink = () => {\n if (linkRef.current) {\n linkRef.current.focus();\n }\n };\n }\n }, [actionRef]);\n\n useLayoutEffect(() => {\n if (isOpen !== current || isOpen) setIsAnimating(true);\n else setIsAnimating(false);\n }, [isOpen, current]);\n\n const handleBlur = useCallback(() => {\n setAlertTabIndex(undefined);\n },[]);\n const handleOnKeyDown = useCallback((e: React.KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n if (linkRef.current) linkRef.current.click();\n }\n }, []);\n\n if (!isAnimating && !isOpen) return null;\n\n return (\n <StyledBannerContainer\n type={type}\n isOpen={isOpen}\n isAnimating={isAnimating}\n onAnimationEnd={() => setCurrent(isOpen)}\n height={height}\n data-testid=\"ds-banner-container\"\n {...containerProps}\n >\n <StyledInnerContainer\n type={type}\n isOpen={isOpen}\n ref={innerContainerRef}\n isAnimating={isAnimating}\n data-testid=\"ds-banner\"\n role=\"alert\"\n tabIndex={alertTabIndex}\n onBlur={handleBlur}\n >\n <StyledIconContainer data-testid=\"ds-banner-icon\">{icons[type]}</StyledIconContainer>\n <StyledTitle>{label}</StyledTitle>\n <StyledSubTitle>\n <span>{body}</span>\n {actionLink && (\n <StyledActionLink\n data-testid=\"ds-banner-action-link\"\n onClick={actionLink.onClick}\n href={actionLink.href}\n ref={linkRef}\n onKeyDown={handleOnKeyDown}\n tabIndex={0}\n isBodyEmpty={body}\n >\n {actionLink.label}\n </StyledActionLink>\n )}\n </StyledSubTitle>\n\n {showCloseButton ? (\n <StyledCloseButton\n data-testid=\"ds-banner-close-button\"\n buttonType=\"secondary\"\n onClick={onClose}\n aria-label=\"Close icon\"\n icon={<CloseX width=\"12px\" height=\"12px\" />}\n />\n ) : (\n <span />\n )}\n </StyledInnerContainer>\n </StyledBannerContainer>\n );\n};\n\nDSBanner.defaultProps = defaultProps;\nDSBanner.propTypes = propTypes;\nconst DSBannerWithSchema = describe(DSBanner);\nDSBannerWithSchema.propTypes = propTypes;\n\nexport default DSBanner;\nexport { DSBannerWithSchema };\n"],"names":["DSBanner","type","isOpen","onClose","label","body","actionLink","showCloseButton","containerProps","actionRef","innerContainerRef","useRef","linkRef","useState","current","setCurrent","isAnimating","setIsAnimating","height","undefined","alertTabIndex","setAlertTabIndex","React","useEffect","focusOnWrapper","setTimeout","focus","focusOnLink","useLayoutEffect","handleBlur","useCallback","handleOnKeyDown","e","key","preventDefault","click","icons","onClick","href","defaultProps","propTypes","DSBannerWithSchema","describe"],"mappings":";;;;;;;;;;;;;;;;IAiBMA,QAAQ,GAAG,SAAXA,QAAW,OAUgB;AAAA,MAT/BC,IAS+B,QAT/BA,IAS+B;AAAA,MAR/BC,MAQ+B,QAR/BA,MAQ+B;AAAA,MAP/BC,OAO+B,QAP/BA,OAO+B;AAAA,MAN/BC,KAM+B,QAN/BA,KAM+B;AAAA,MAL/BC,IAK+B,QAL/BA,IAK+B;AAAA,MAJ/BC,UAI+B,QAJ/BA,UAI+B;AAAA,MAH/BC,eAG+B,QAH/BA,eAG+B;AAAA,MAF/BC,cAE+B,QAF/BA,cAE+B;AAAA,MAD/BC,SAC+B,QAD/BA,SAC+B;AAC/B,MAAMC,iBAAiB,GAAGC,MAAM,CAAwB,IAAxB,CAAhC;AACA,MAAMC,OAAO,GAAGD,MAAM,CAA2B,IAA3B,CAAtB;;AACA,kBAA8BE,QAAQ,CAAUX,MAAV,CAAtC;AAAA;AAAA,MAAOY,OAAP;AAAA,MAAgBC,UAAhB;;AACA,mBAAsCF,QAAQ,CAAU,KAAV,CAA9C;AAAA;AAAA,MAAOG,WAAP;AAAA,MAAoBC,cAApB;;AACA,mBAA4BJ,QAAQ,CAAS,CAAT,CAApC;AAAA;AAAA,MAAOK,MAAP;AAAA;;AACA,mBAA0CL,QAAQ,CAAqBM,SAArB,CAAlD;AAAA;AAAA,MAAOC,aAAP;AAAA,MAAsBC,gBAAtB;;AAEAC,EAAAA,KAAK,CAACC,SAAN,CAAgB,YAAM;AACpB,QAAId,SAAS,IAAIA,SAAS,CAACK,OAA3B,EAAoC;AAClCL,MAAAA,SAAS,CAACK,OAAV,CAAkBU,cAAlB,GAAmC,YAAM;AACvC,YAAId,iBAAiB,CAACI,OAAtB,EAA+B;AAC7BO,UAAAA,gBAAgB,CAAC,CAAD,CAAhB;AACAI,UAAAA,UAAU,CAAC,YAAM;AACff,YAAAA,iBAAiB,CAACI,OAAlB,CAA0BY,KAA1B;AACD,WAFS,EAEP,GAFO,CAAV;AAGD;AACF,OAPD;;AAQAjB,MAAAA,SAAS,CAACK,OAAV,CAAkBa,WAAlB,GAAgC,YAAM;AACpC,YAAIf,OAAO,CAACE,OAAZ,EAAqB;AACnBF,UAAAA,OAAO,CAACE,OAAR,CAAgBY,KAAhB;AACD;AACF,OAJD;AAKD;AACF,GAhBD,EAgBG,CAACjB,SAAD,CAhBH;AAkBAmB,EAAAA,eAAe,CAAC,YAAM;AACpB,QAAI1B,MAAM,KAAKY,OAAX,IAAsBZ,MAA1B,EAAkCe,cAAc,CAAC,IAAD,CAAd,CAAlC,KACKA,cAAc,CAAC,KAAD,CAAd;AACN,GAHc,EAGZ,CAACf,MAAD,EAASY,OAAT,CAHY,CAAf;AAKA,MAAMe,UAAU,GAAGC,WAAW,CAAC,YAAM;AACnCT,IAAAA,gBAAgB,CAACF,SAAD,CAAhB;AACD,GAF6B,EAE5B,EAF4B,CAA9B;AAGA,MAAMY,eAAe,GAAGD,WAAW,CAAC,UAACE,CAAD,EAA4B;AAC9D,QAAIA,CAAC,CAACC,GAAF,KAAU,OAAV,IAAqBD,CAAC,CAACC,GAAF,KAAU,GAAnC,EAAwC;AACtCD,MAAAA,CAAC,CAACE,cAAF;AACA,UAAItB,OAAO,CAACE,OAAZ,EAAqBF,OAAO,CAACE,OAAR,CAAgBqB,KAAhB;AACtB;AACF,GALkC,EAKhC,EALgC,CAAnC;AAOA,MAAI,CAACnB,WAAD,IAAgB,CAACd,MAArB,EAA6B,OAAO,IAAP;AAE7B,sBACE,oBAAC,qBAAD;AACE,IAAA,IAAI,EAAED,IADR;AAEE,IAAA,MAAM,EAAEC,MAFV;AAGE,IAAA,WAAW,EAAEc,WAHf;AAIE,IAAA,cAAc,EAAE;AAAA,aAAMD,UAAU,CAACb,MAAD,CAAhB;AAAA,KAJlB;AAKE,IAAA,MAAM,EAAEgB,MALV;AAME,mBAAY;AANd,KAOMV,cAPN,gBASE,oBAAC,oBAAD;AACE,IAAA,IAAI,EAAEP,IADR;AAEE,IAAA,MAAM,EAAEC,MAFV;AAGE,IAAA,GAAG,EAAEQ,iBAHP;AAIE,IAAA,WAAW,EAAEM,WAJf;AAKE,mBAAY,WALd;AAME,IAAA,IAAI,EAAC,OANP;AAOE,IAAA,QAAQ,EAAEI,aAPZ;AAQE,IAAA,MAAM,EAAES;AARV,kBAUE,oBAAC,mBAAD;AAAqB,mBAAY;AAAjC,KAAmDO,KAAK,CAACnC,IAAD,CAAxD,CAVF,eAWE,oBAAC,WAAD,QAAcG,KAAd,CAXF,eAYE,oBAAC,cAAD,qBACE,kCAAOC,IAAP,CADF,EAEGC,UAAU,iBACT,oBAAC,gBAAD;AACE,mBAAY,uBADd;AAEE,IAAA,OAAO,EAAEA,UAAU,CAAC+B,OAFtB;AAGE,IAAA,IAAI,EAAE/B,UAAU,CAACgC,IAHnB;AAIE,IAAA,GAAG,EAAE1B,OAJP;AAKE,IAAA,SAAS,EAAEmB,eALb;AAME,IAAA,QAAQ,EAAE,CANZ;AAOE,IAAA,WAAW,EAAE1B;AAPf,KASGC,UAAU,CAACF,KATd,CAHJ,CAZF,EA6BGG,eAAe,gBACd,oBAAC,iBAAD;AACE,mBAAY,wBADd;AAEE,IAAA,UAAU,EAAC,WAFb;AAGE,IAAA,OAAO,EAAEJ,OAHX;AAIE,kBAAW,YAJb;AAKE,IAAA,IAAI,eAAE,oBAAC,MAAD;AAAQ,MAAA,KAAK,EAAC,MAAd;AAAqB,MAAA,MAAM,EAAC;AAA5B;AALR,IADc,gBASd,iCAtCJ,CATF,CADF;AAqDD;;AAEDH,QAAQ,CAACuC,YAAT,GAAwBA,YAAxB;AACAvC,QAAQ,CAACwC,SAAT,GAAqBA,SAArB;IACMC,kBAAkB,GAAGC,QAAQ,CAAC1C,QAAD;AACnCyC,kBAAkB,CAACD,SAAnB,GAA+BA,SAA/B;;;;"}
|
package/esm/styles.js
CHANGED
|
@@ -18,7 +18,7 @@ var StyledBannerContainer = /*#__PURE__*/styled.div.withConfig({
|
|
|
18
18
|
});
|
|
19
19
|
var StyledInnerContainer = /*#__PURE__*/styled.div.withConfig({
|
|
20
20
|
componentId: "sc-ffu2hq-1"
|
|
21
|
-
})(["padding-right:6px;display:
|
|
21
|
+
})(["padding-right:6px;display:grid;align-items:center;min-height:41px;width:100%;background-color:", ";border-bottom:5px solid ", ";", ";&:focus{position:relative;&:after{content:'';display:block;position:absolute;top:0;left:0;pointer-events:none;border-radius:2px;width:calc(100%);border:2px solid #1e79c2;height:calc(100% + 4px);}}grid-template-columns:auto 1fr auto auto;"], function (_ref3) {
|
|
22
22
|
var theme = _ref3.theme;
|
|
23
23
|
return theme.colors.neutral['000'];
|
|
24
24
|
}, function (_ref4) {
|
|
@@ -41,7 +41,7 @@ var StyledIconContainer = /*#__PURE__*/styled.div.withConfig({
|
|
|
41
41
|
});
|
|
42
42
|
var StyledTitle = /*#__PURE__*/styled.div.withConfig({
|
|
43
43
|
componentId: "sc-ffu2hq-3"
|
|
44
|
-
})(["color:", ";font-size:", ";font-weight:", ";
|
|
44
|
+
})(["color:", ";font-size:", ";font-weight:", ";"], function (_ref8) {
|
|
45
45
|
var theme = _ref8.theme;
|
|
46
46
|
return theme.colors.neutral[700];
|
|
47
47
|
}, function (_ref9) {
|
|
@@ -83,7 +83,7 @@ var StyledCloseButton = /*#__PURE__*/styled(DSButton).withConfig({
|
|
|
83
83
|
componentId: "sc-ffu2hq-6"
|
|
84
84
|
})(["margin-left:", ";&:not(focus){border:transparent;}"], function (_ref18) {
|
|
85
85
|
var theme = _ref18.theme;
|
|
86
|
-
return theme.space.
|
|
86
|
+
return theme.space.xxs;
|
|
87
87
|
});
|
|
88
88
|
|
|
89
89
|
export { StyledActionLink, StyledBannerContainer, StyledCloseButton, StyledIconContainer, StyledInnerContainer, StyledSubTitle, StyledTitle };
|
package/esm/styles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sources":["../../src/styles.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport DSButton from '@elliemae/ds-button';\nimport type { StyledActionLinkT, StyledBannerContainerT, StyledInnerContainerT } from './index.d';\nimport { handleAnimation, handleBorderColor } from './utils/styleHelpers';\n\nexport const StyledBannerContainer = styled.div<StyledBannerContainerT>`\n overflow: hidden;\n height: ${({ isOpen }) => (isOpen ? 'auto' : '0px')};\n ${({ isAnimating, isOpen, height }) => handleAnimation(isAnimating, isOpen, height)};\n`;\n\nexport const StyledInnerContainer = styled.div<StyledInnerContainerT>`\n padding-right: 6px;\n display:
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../src/styles.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport DSButton from '@elliemae/ds-button';\nimport type { StyledActionLinkT, StyledBannerContainerT, StyledInnerContainerT } from './index.d';\nimport { handleAnimation, handleBorderColor } from './utils/styleHelpers';\n\nexport const StyledBannerContainer = styled.div<StyledBannerContainerT>`\n overflow: hidden;\n height: ${({ isOpen }) => (isOpen ? 'auto' : '0px')};\n ${({ isAnimating, isOpen, height }) => handleAnimation(isAnimating, isOpen, height)};\n`;\n\nexport const StyledInnerContainer = styled.div<StyledInnerContainerT>`\n padding-right: 6px;\n display: grid;\n align-items: center;\n min-height: 41px;\n width: 100%;\n background-color: ${({ theme }) => theme.colors.neutral['000']};\n border-bottom: 5px solid ${({ type, theme }) => handleBorderColor(type, theme)};\n ${({ isAnimating, isOpen }) => handleAnimation(isAnimating, isOpen)};\n &:focus {\n position: relative;\n &:after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n pointer-events: none;\n border-radius: 2px;\n width: calc(100%);\n border: 2px solid #1e79c2;\n height: calc(100% + 4px);\n }\n }\n grid-template-columns: auto 1fr auto auto;\n`;\n\nexport const StyledIconContainer = styled.div`\n margin-right: ${({ theme }) => theme.space.xxs};\n margin-left: ${({ theme }) => theme.space.xs};\n`;\n\nexport const StyledTitle = styled.div`\n color: ${({ theme }) => theme.colors.neutral[700]};\n font-size: ${({ theme }) => theme.fontSizes.label[400]};\n font-weight: ${({ theme }) => theme.fontWeights.semibold};\n`;\n\nexport const StyledSubTitle = styled.div`\n width: 100%;\n margin-left: ${({ theme }) => theme.space.xs};\n font-size: ${({ theme }) => theme.fontSizes.subTitle[400]};\n font-weight: ${({ theme }) => theme.fontWeights.regular};\n`;\n\nexport const StyledActionLink = styled.a<StyledActionLinkT>`\n margin-left: ${({ theme, isBodyEmpty }) => (isBodyEmpty ? theme.space.xs : 0)};\n white-space: nowrap;\n text-decoration: none;\n line-height: 1.1;\n font-size: ${({ theme }) => theme.fontSizes.hyperlink[400]};\n font-weight: ${({ theme }) => theme.fontWeights.regular};\n color: ${({ theme }) => theme.colors.brand[600]};\n`;\n\nexport const StyledCloseButton = styled(DSButton)`\n margin-left: ${({ theme }) => theme.space.xxs};\n &:not(focus) {\n border: transparent;\n }\n`;\n"],"names":["StyledBannerContainer","styled","div","isOpen","isAnimating","height","handleAnimation","StyledInnerContainer","theme","colors","neutral","type","handleBorderColor","StyledIconContainer","space","xxs","xs","StyledTitle","fontSizes","label","fontWeights","semibold","StyledSubTitle","subTitle","regular","StyledActionLink","a","isBodyEmpty","hyperlink","brand","StyledCloseButton","DSButton"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-banner",
|
|
3
|
-
"version": "1.58.0-rc.
|
|
3
|
+
"version": "1.58.0-rc.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Ellie Mae - Dim Sum - Banner",
|
|
6
6
|
"module": "esm/index.js",
|
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
"build": "node ../../scripts/build/build.js"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@elliemae/ds-basic": "1.58.0-rc.
|
|
20
|
-
"@elliemae/ds-icons": "1.58.0-rc.
|
|
21
|
-
"@elliemae/ds-system": "1.58.0-rc.
|
|
19
|
+
"@elliemae/ds-basic": "1.58.0-rc.2",
|
|
20
|
+
"@elliemae/ds-icons": "1.58.0-rc.2",
|
|
21
|
+
"@elliemae/ds-system": "1.58.0-rc.2",
|
|
22
22
|
"react-desc": "^4.1.2"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|