@amboss/design-system 1.20.2 → 1.20.4
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/build/cjs/src/components/Toggletip/BasePopover.js +2 -2
- package/build/cjs/src/components/Typography/Text/Text.js +6 -5
- package/build/esm/src/components/Toggletip/BasePopover.js +2 -2
- package/build/esm/src/components/Toggletip/BasePopover.js.map +1 -1
- package/build/esm/src/components/Typography/Text/Text.d.ts +1 -2
- package/build/esm/src/components/Typography/Text/Text.js +5 -5
- package/build/esm/src/components/Typography/Text/Text.js.map +1 -1
- package/package.json +1 -1
|
@@ -67,8 +67,8 @@ function BasePopover(_ref2) {
|
|
|
67
67
|
return true;
|
|
68
68
|
}, [triggerRef, isOutsideClickOnTrigger]);
|
|
69
69
|
React.useEffect(() => {
|
|
70
|
-
|
|
71
|
-
}, [isPopoverVisible
|
|
70
|
+
setVisible(isPopoverVisible);
|
|
71
|
+
}, [isPopoverVisible]);
|
|
72
72
|
React.useEffect(() => {
|
|
73
73
|
let trigger;
|
|
74
74
|
if (externalTriggerRef?.current && !children) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var _extends = require('@babel/runtime/helpers/extends');
|
|
3
4
|
var _styled = require('@emotion/styled/base');
|
|
4
5
|
var React = require('react');
|
|
5
6
|
var isPropValid = require('@emotion/is-prop-valid');
|
|
@@ -7,6 +8,7 @@ var mediaQueries = require('../../../shared/mediaQueries.js');
|
|
|
7
8
|
|
|
8
9
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
10
|
|
|
11
|
+
var _extends__default = /*#__PURE__*/_interopDefault(_extends);
|
|
10
12
|
var _styled__default = /*#__PURE__*/_interopDefault(_styled);
|
|
11
13
|
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
12
14
|
var isPropValid__default = /*#__PURE__*/_interopDefault(isPropValid);
|
|
@@ -57,7 +59,7 @@ const StyledText = /*#__PURE__*/_styled__default.default("p", process.env.NODE_E
|
|
|
57
59
|
}]
|
|
58
60
|
})
|
|
59
61
|
};
|
|
60
|
-
}, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
62
|
+
}, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRleHQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFDbUIiLCJmaWxlIjoiVGV4dC50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nICovXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkLCB7IENTU09iamVjdCB9IGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCBpc1Byb3BWYWxpZCBmcm9tIFwiQGVtb3Rpb24vaXMtcHJvcC12YWxpZFwiO1xuaW1wb3J0IHsgbXEgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL21lZGlhUXVlcmllc1wiO1xuXG5pbXBvcnQge1xuICBUZXh0QWxpZ25tZW50LFxuICBUZXh0VmFyaWF0aW9ucyxcbiAgVGV4dENvbG9ycyxcbiAgVGV4dFNpemUsXG4gIFRleHRXZWlnaHQsXG4gIE1RLFxuICBIeXBoZW5zLFxufSBmcm9tIFwiLi4vLi4vLi4vdHlwZXNcIjtcblxuZXhwb3J0IHR5cGUgVGV4dFByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICBzaXplPzogVGV4dFNpemU7XG4gIHdlaWdodD86IFRleHRXZWlnaHQ7XG4gIHRyYW5zZm9ybT86IFwibm9uZVwiIHwgXCJjYXBpdGFsaXplXCIgfCBcInVwcGVyY2FzZVwiIHwgXCJsb3dlcmNhc2VcIjtcbiAgYXM/OiBcInBcIiB8IFwic3BhblwiO1xuICAvKiogQGRlcHJlY2F0ZWQgdmFyaWFudCBwcm9wZXJ0eSBpcyBkZXByZWNhdGVkIG5vdy4gUGxlYXNlIHVzZSBjb2xvciBwcm9wLiAqL1xuICB2YXJpYW50PzogVGV4dFZhcmlhdGlvbnM7XG4gIGNvbG9yPzogVGV4dENvbG9ycztcbiAgYWxpZ24/OiBUZXh0QWxpZ25tZW50O1xuICBoeXBoZW5zPzogSHlwaGVucyB8IE1RPEh5cGhlbnM+O1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgLyoqIEBpZ25vcmUgKi9cbiAgXCJkYXRhLWRzLWlkXCI/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgY29uc3QgVGV4dENvbnRleHQgPSBSZWFjdC5jcmVhdGVDb250ZXh0PFBpY2s8XG4gIFRleHRQcm9wcyxcbiAgXCJjb2xvclwiIHwgXCJzaXplXCIgfCBcIndlaWdodFwiXG4+IHwgbnVsbD4obnVsbCk7XG5cbmNvbnN0IFN0eWxlZFRleHQgPSBzdHlsZWQoXCJwXCIsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IChwcm9wOiBzdHJpbmcpID0+XG4gICAgaXNQcm9wVmFsaWQocHJvcCkgJiYgcHJvcCAhPT0gXCJ0cmFuc2Zvcm1cIixcbn0pPFRleHRQcm9wcz4oXG4gICh7IHRoZW1lLCBhbGlnbiwgd2VpZ2h0LCBzaXplLCB0cmFuc2Zvcm0sIGh5cGhlbnMsIGNvbG9yLCB2YXJpYW50IH0pID0+XG4gICAgKHtcbiAgICAgIGZvbnRGYW1pbHk6IHRoZW1lLnZhcmlhYmxlcy5mb250RmFtaWx5LmxhdG8sXG4gICAgICBtYXJnaW46IDAsXG4gICAgICB0ZXh0VHJhbnNmb3JtOiB0cmFuc2Zvcm0sXG4gICAgICB0ZXh0QWxpZ246IGFsaWduLFxuICAgICAgZm9udFdlaWdodDogdGhlbWUudmFyaWFibGVzLndlaWdodFt3ZWlnaHRdLFxuICAgICAgY29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci50ZXh0W2NvbG9yXS5kZWZhdWx0LFxuXG4gICAgICAvLyB2YXJpYW50IGlzIGRlcHJlY2F0ZWQgYW5kIGl0IHNob3VsZCBiZSBkZWxldGVkIGFzYXBcbiAgICAgIC4uLih2YXJpYW50ICYmIHtcbiAgICAgICAgY29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci50ZXh0W3ZhcmlhbnRdLmRlZmF1bHQsXG4gICAgICAgIC4uLih2YXJpYW50ID09PSBcInByaW1hcnlcIiAmJiB7XG4gICAgICAgICAgY29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci50ZXh0LmFjY2VudC5kZWZhdWx0LFxuICAgICAgICB9KSxcbiAgICAgICAgLi4uKHZhcmlhbnQgPT09IFwic2Vjb25kYXJ5XCIgJiYge1xuICAgICAgICAgIGNvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IudGV4dC5wcmltYXJ5LmRlZmF1bHQsXG4gICAgICAgIH0pLFxuICAgICAgfSksXG5cbiAgICAgIGZvbnRTaXplOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5mb250W3NpemVdLFxuICAgICAgbGluZUhlaWdodDogdGhlbWUudmFyaWFibGVzLnNpemUubGluZUhlaWdodC50ZXh0W3NpemVdLFxuICAgICAgLi4ubXEoe1xuICAgICAgICBoeXBoZW5zOiBbaHlwaGVucywgeyBub25lOiBcIm5vbmVcIiwgYXV0bzogXCJhdXRvXCIsIG1hbnVhbDogXCJtYW51YWxcIiB9XSxcbiAgICAgIH0pLFxuICAgIH0gYXMgQ1NTT2JqZWN0KVxuKTtcblxuZXhwb3J0IGNvbnN0IFRleHQgPSAoe1xuICBzaXplID0gXCJtXCIsXG4gIHdlaWdodCA9IFwibm9ybWFsXCIsXG4gIHRyYW5zZm9ybSA9IFwibm9uZVwiLFxuICBhcyA9IFwicFwiLFxuICBjb2xvcjogY29sb3JQcm9wID0gXCJwcmltYXJ5XCIsXG4gIGFsaWduID0gXCJsZWZ0XCIsXG4gIGh5cGhlbnMgPSBcIm5vbmVcIixcbiAgdmFyaWFudCxcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI6IGRhdGFFMmVUZXN0SWQsXG4gIGNoaWxkcmVuLFxuICAuLi5yZXN0XG59OiBUZXh0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQgPT4ge1xuICBsZXQgY29sb3IgPSBjb2xvclByb3A7XG5cbiAgLy8gdGhpcyBpcyBnb2luZyB0byBiZSBkZWxldGVkIGFmdGVyIG1pZ3JhdGlvblxuICBpZiAodmFyaWFudCkge1xuICAgIGlmICh2YXJpYW50ID09PSBcInByaW1hcnlcIikge1xuICAgICAgY29sb3IgPSBcImFjY2VudFwiO1xuICAgIH0gZWxzZSBpZiAodmFyaWFudCA9PT0gXCJzZWNvbmRhcnlcIikge1xuICAgICAgY29sb3IgPSBcInByaW1hcnlcIjtcbiAgICB9IGVsc2Uge1xuICAgICAgY29sb3IgPSB2YXJpYW50O1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGNvbnRleHRWYWx1ZXMgPSBSZWFjdC51c2VNZW1vKFxuICAgICgpID0+ICh7IGNvbG9yLCBzaXplLCB3ZWlnaHQgfSksXG4gICAgW2NvbG9yLCBzaXplLCB3ZWlnaHRdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkVGV4dFxuICAgICAgdmFyaWFudD17dmFyaWFudH1cbiAgICAgIHNpemU9e3NpemV9XG4gICAgICB3ZWlnaHQ9e3dlaWdodH1cbiAgICAgIHRyYW5zZm9ybT17dHJhbnNmb3JtfVxuICAgICAgYXM9e2FzfVxuICAgICAgY29sb3I9e2NvbG9yfVxuICAgICAgYWxpZ249e2FsaWdufVxuICAgICAgaHlwaGVucz17aHlwaGVuc31cbiAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICBkYXRhLWRzLWlkPVwiVGV4dFwiXG4gICAgICB7Li4ucmVzdH1cbiAgICA+XG4gICAgICA8VGV4dENvbnRleHQuUHJvdmlkZXIgdmFsdWU9e2NvbnRleHRWYWx1ZXN9PlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L1RleHRDb250ZXh0LlByb3ZpZGVyPlxuICAgIDwvU3R5bGVkVGV4dD5cbiAgKTtcbn07XG4iXX0= */");
|
|
61
63
|
const Text = _ref2 => {
|
|
62
64
|
let {
|
|
63
65
|
size = "m",
|
|
@@ -70,7 +72,7 @@ const Text = _ref2 => {
|
|
|
70
72
|
variant,
|
|
71
73
|
"data-e2e-test-id": dataE2eTestId,
|
|
72
74
|
children,
|
|
73
|
-
|
|
75
|
+
...rest
|
|
74
76
|
} = _ref2;
|
|
75
77
|
let color = colorProp;
|
|
76
78
|
|
|
@@ -89,8 +91,7 @@ const Text = _ref2 => {
|
|
|
89
91
|
size,
|
|
90
92
|
weight
|
|
91
93
|
}), [color, size, weight]);
|
|
92
|
-
return /*#__PURE__*/React__default.default.createElement(StyledText, {
|
|
93
|
-
className: className,
|
|
94
|
+
return /*#__PURE__*/React__default.default.createElement(StyledText, _extends__default.default({
|
|
94
95
|
variant: variant,
|
|
95
96
|
size: size,
|
|
96
97
|
weight: weight,
|
|
@@ -101,7 +102,7 @@ const Text = _ref2 => {
|
|
|
101
102
|
hyphens: hyphens,
|
|
102
103
|
"data-e2e-test-id": dataE2eTestId,
|
|
103
104
|
"data-ds-id": "Text"
|
|
104
|
-
}, /*#__PURE__*/React__default.default.createElement(TextContext.Provider, {
|
|
105
|
+
}, rest), /*#__PURE__*/React__default.default.createElement(TextContext.Provider, {
|
|
105
106
|
value: contextValues
|
|
106
107
|
}, children));
|
|
107
108
|
};
|
|
@@ -59,8 +59,8 @@ function BasePopover(_ref2) {
|
|
|
59
59
|
return true;
|
|
60
60
|
}, [triggerRef, isOutsideClickOnTrigger]);
|
|
61
61
|
useEffect(() => {
|
|
62
|
-
|
|
63
|
-
}, [isPopoverVisible
|
|
62
|
+
setVisible(isPopoverVisible);
|
|
63
|
+
}, [isPopoverVisible]);
|
|
64
64
|
useEffect(() => {
|
|
65
65
|
let trigger;
|
|
66
66
|
if (externalTriggerRef?.current && !children) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BasePopover.js","sources":["../../../../../src/components/Toggletip/BasePopover.tsx"],"sourcesContent":["import React, {\n useState,\n useRef,\n useEffect,\n useCallback,\n useMemo,\n ReactElement,\n PropsWithChildren,\n} from \"react\";\nimport FocusTrap from \"focus-trap-react\";\nimport type { TooltipContentProps } from \"../Tooltip/TooltipContent\";\nimport { TooltipContent } from \"../Tooltip/TooltipContent\";\nimport { TooltipConditionalProps } from \"../Tooltip/types\";\n\ntype BaseProps = Pick<\n TooltipContentProps,\n | \"placement\"\n | \"portalContainer\"\n | \"maxWidth\"\n | \"contentPadding\"\n | \"hideArrow\"\n | \"hasInvertedSubTheme\"\n> & {\n name?: string;\n // Popover content\n content: ReactElement;\n \"data-e2e-test-id\"?: string;\n // Programmatically toggle Popover visibility with this prop\n isVisible?: boolean;\n /* Called when tooltip appears and disappears */\n onVisibilityChange?: (isVisible: boolean) => void;\n /* Controls whether BasePopover closes on outside click */\n dismissOnOutsideClick?: boolean;\n disableInitialFocus?: boolean;\n disableReturnFocusToTrigger?: boolean;\n};\n\nexport type BasePopoverProps = BaseProps;\n\ntype BasePopoverInternalProps = BaseProps &\n TooltipConditionalProps &\n Pick<TooltipContentProps, \"defaultVerticalPlacement\">;\n\nconst FocusTrapContent = React.forwardRef<\n HTMLDivElement,\n PropsWithChildren<unknown>\n>(({ children }, ref) => <div ref={ref}>{children}</div>);\n\nexport function BasePopover({\n placement = \"auto\",\n content,\n children,\n contentPadding = \"m\",\n maxWidth,\n externalTriggerRef,\n portalContainer,\n name = \"Popover\",\n isVisible: isPopoverVisible,\n dismissOnOutsideClick = true,\n \"data-e2e-test-id\": dataE2eTestId,\n hasInvertedSubTheme,\n defaultVerticalPlacement,\n onVisibilityChange,\n disableInitialFocus = false,\n disableReturnFocusToTrigger = false,\n ...restContentProps\n}: BasePopoverInternalProps): React.ReactElement {\n const tooltipId = useMemo(\n () => `DS${name}_${Math.floor(Date.now() * Math.random())}`,\n [name]\n );\n const [isVisible, setVisible] = useState(isPopoverVisible);\n const internalTriggerRef = useRef(null);\n const triggerRef = externalTriggerRef || internalTriggerRef;\n const isOutsideClickOnTrigger = useRef(false);\n\n const toggleVisibility = useCallback(\n (status: boolean) => {\n setVisible(status);\n\n if (onVisibilityChange) {\n onVisibilityChange(status);\n }\n },\n [onVisibilityChange]\n );\n\n // Outside click is also fired when the Popover is open and trigger is clicked. `isOutsideClickOnTrigger` saves this condition and we check for it so as to not toggle the Popover twice.\n const handleTriggerClick = useCallback(() => {\n if (!isOutsideClickOnTrigger.current) {\n toggleVisibility(!isVisible);\n } else {\n // reset this value so that Popover can open in next click\n isOutsideClickOnTrigger.current = false;\n }\n }, [toggleVisibility, isVisible]);\n\n const handleClickOutsideDeactivates = useCallback(\n (evt) => {\n if (triggerRef.current.contains(evt.target)) {\n isOutsideClickOnTrigger.current = true;\n }\n return true;\n },\n [triggerRef, isOutsideClickOnTrigger]\n );\n\n useEffect(() => {\n toggleVisibility(isPopoverVisible);\n }, [isPopoverVisible, toggleVisibility]);\n\n useEffect(() => {\n let trigger: HTMLElement;\n\n if (externalTriggerRef?.current && !children) {\n trigger = externalTriggerRef.current;\n\n trigger.setAttribute(\"tabindex\", \"0\");\n trigger.addEventListener(\"click\", handleTriggerClick);\n }\n\n return () => {\n if (trigger) {\n trigger.removeEventListener(\"click\", handleTriggerClick);\n }\n };\n }, [externalTriggerRef, children, handleTriggerClick]);\n\n useEffect(() => {\n if (externalTriggerRef?.current && !children) {\n const trigger = externalTriggerRef.current;\n\n if (isVisible) {\n trigger.setAttribute(\"aria-expanded\", true);\n trigger.setAttribute(\"aria-controls\", tooltipId);\n } else {\n trigger.removeAttribute(\"aria-expanded\");\n trigger.removeAttribute(\"aria-controls\");\n }\n }\n }, [externalTriggerRef, children, tooltipId, isVisible]);\n\n const triggerElm = children\n ? React.cloneElement(children, {\n ref: triggerRef,\n ...(isVisible && {\n \"aria-expanded\": true,\n \"aria-controls\": tooltipId,\n }),\n tabIndex: 0,\n onClick: (evt: React.MouseEvent) => {\n handleTriggerClick();\n if (children.props.onClick) {\n children.props.onClick(evt);\n }\n },\n })\n : null;\n\n const contentElm = (\n <FocusTrap\n focusTrapOptions={{\n clickOutsideDeactivates:\n dismissOnOutsideClick && handleClickOutsideDeactivates, // de-active focus trap on outside click\n allowOutsideClick: true,\n escapeDeactivates: true, // de-activate focus trap on escape key\n fallbackFocus: `#${tooltipId}`, // set focus to tooltip content container if it has no focusable element\n onDeactivate: () => {\n toggleVisibility(false);\n },\n preventScroll: true,\n initialFocus: () => !disableInitialFocus,\n returnFocusOnDeactivate: !disableReturnFocusToTrigger,\n }}\n >\n <FocusTrapContent>{content}</FocusTrapContent>\n </FocusTrap>\n );\n\n const tooltipElm = (\n <TooltipContent\n {...restContentProps} // eslint-disable-line react/jsx-props-no-spreading\n defaultVerticalPlacement={defaultVerticalPlacement}\n dataDSId={name}\n content={contentElm}\n contentPadding={contentPadding}\n maxWidth={maxWidth}\n placement={placement}\n portalContainer={portalContainer}\n dataE2eTestId={dataE2eTestId}\n hasInvertedSubTheme={hasInvertedSubTheme}\n isVisible={isVisible}\n tooltipId={tooltipId}\n tabIndex={-1}\n triggerRef={triggerRef}\n />\n );\n return (\n <>\n {triggerElm}\n {tooltipElm}\n </>\n );\n}\n"],"names":["FocusTrapContent","React","forwardRef","_ref","ref","children","createElement","BasePopover","_ref2","placement","content","contentPadding","maxWidth","externalTriggerRef","portalContainer","name","isVisible","isPopoverVisible","dismissOnOutsideClick","dataE2eTestId","hasInvertedSubTheme","defaultVerticalPlacement","onVisibilityChange","disableInitialFocus","disableReturnFocusToTrigger","restContentProps","tooltipId","useMemo","Math","floor","Date","now","random","setVisible","useState","internalTriggerRef","useRef","triggerRef","isOutsideClickOnTrigger","toggleVisibility","useCallback","status","handleTriggerClick","current","handleClickOutsideDeactivates","evt","contains","target","useEffect","trigger","setAttribute","addEventListener","removeEventListener","removeAttribute","triggerElm","cloneElement","tabIndex","onClick","props","contentElm","FocusTrap","focusTrapOptions","clickOutsideDeactivates","allowOutsideClick","escapeDeactivates","fallbackFocus","onDeactivate","preventScroll","initialFocus","returnFocusOnDeactivate","tooltipElm","TooltipContent","_extends","dataDSId","Fragment"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BasePopover.js","sources":["../../../../../src/components/Toggletip/BasePopover.tsx"],"sourcesContent":["import React, {\n useState,\n useRef,\n useEffect,\n useCallback,\n useMemo,\n ReactElement,\n PropsWithChildren,\n} from \"react\";\nimport FocusTrap from \"focus-trap-react\";\nimport type { TooltipContentProps } from \"../Tooltip/TooltipContent\";\nimport { TooltipContent } from \"../Tooltip/TooltipContent\";\nimport { TooltipConditionalProps } from \"../Tooltip/types\";\n\ntype BaseProps = Pick<\n TooltipContentProps,\n | \"placement\"\n | \"portalContainer\"\n | \"maxWidth\"\n | \"contentPadding\"\n | \"hideArrow\"\n | \"hasInvertedSubTheme\"\n> & {\n name?: string;\n // Popover content\n content: ReactElement;\n \"data-e2e-test-id\"?: string;\n // Programmatically toggle Popover visibility with this prop\n isVisible?: boolean;\n /* Called when tooltip appears and disappears */\n onVisibilityChange?: (isVisible: boolean) => void;\n /* Controls whether BasePopover closes on outside click */\n dismissOnOutsideClick?: boolean;\n disableInitialFocus?: boolean;\n disableReturnFocusToTrigger?: boolean;\n};\n\nexport type BasePopoverProps = BaseProps;\n\ntype BasePopoverInternalProps = BaseProps &\n TooltipConditionalProps &\n Pick<TooltipContentProps, \"defaultVerticalPlacement\">;\n\nconst FocusTrapContent = React.forwardRef<\n HTMLDivElement,\n PropsWithChildren<unknown>\n>(({ children }, ref) => <div ref={ref}>{children}</div>);\n\nexport function BasePopover({\n placement = \"auto\",\n content,\n children,\n contentPadding = \"m\",\n maxWidth,\n externalTriggerRef,\n portalContainer,\n name = \"Popover\",\n isVisible: isPopoverVisible,\n dismissOnOutsideClick = true,\n \"data-e2e-test-id\": dataE2eTestId,\n hasInvertedSubTheme,\n defaultVerticalPlacement,\n onVisibilityChange,\n disableInitialFocus = false,\n disableReturnFocusToTrigger = false,\n ...restContentProps\n}: BasePopoverInternalProps): React.ReactElement {\n const tooltipId = useMemo(\n () => `DS${name}_${Math.floor(Date.now() * Math.random())}`,\n [name]\n );\n const [isVisible, setVisible] = useState(isPopoverVisible);\n const internalTriggerRef = useRef(null);\n const triggerRef = externalTriggerRef || internalTriggerRef;\n const isOutsideClickOnTrigger = useRef(false);\n\n const toggleVisibility = useCallback(\n (status: boolean) => {\n setVisible(status);\n\n if (onVisibilityChange) {\n onVisibilityChange(status);\n }\n },\n [onVisibilityChange]\n );\n\n // Outside click is also fired when the Popover is open and trigger is clicked. `isOutsideClickOnTrigger` saves this condition and we check for it so as to not toggle the Popover twice.\n const handleTriggerClick = useCallback(() => {\n if (!isOutsideClickOnTrigger.current) {\n toggleVisibility(!isVisible);\n } else {\n // reset this value so that Popover can open in next click\n isOutsideClickOnTrigger.current = false;\n }\n }, [toggleVisibility, isVisible]);\n\n const handleClickOutsideDeactivates = useCallback(\n (evt) => {\n if (triggerRef.current.contains(evt.target)) {\n isOutsideClickOnTrigger.current = true;\n }\n return true;\n },\n [triggerRef, isOutsideClickOnTrigger]\n );\n\n useEffect(() => {\n setVisible(isPopoverVisible);\n }, [isPopoverVisible]);\n\n useEffect(() => {\n let trigger: HTMLElement;\n\n if (externalTriggerRef?.current && !children) {\n trigger = externalTriggerRef.current;\n\n trigger.setAttribute(\"tabindex\", \"0\");\n trigger.addEventListener(\"click\", handleTriggerClick);\n }\n\n return () => {\n if (trigger) {\n trigger.removeEventListener(\"click\", handleTriggerClick);\n }\n };\n }, [externalTriggerRef, children, handleTriggerClick]);\n\n useEffect(() => {\n if (externalTriggerRef?.current && !children) {\n const trigger = externalTriggerRef.current;\n\n if (isVisible) {\n trigger.setAttribute(\"aria-expanded\", true);\n trigger.setAttribute(\"aria-controls\", tooltipId);\n } else {\n trigger.removeAttribute(\"aria-expanded\");\n trigger.removeAttribute(\"aria-controls\");\n }\n }\n }, [externalTriggerRef, children, tooltipId, isVisible]);\n\n const triggerElm = children\n ? React.cloneElement(children, {\n ref: triggerRef,\n ...(isVisible && {\n \"aria-expanded\": true,\n \"aria-controls\": tooltipId,\n }),\n tabIndex: 0,\n onClick: (evt: React.MouseEvent) => {\n handleTriggerClick();\n if (children.props.onClick) {\n children.props.onClick(evt);\n }\n },\n })\n : null;\n\n const contentElm = (\n <FocusTrap\n focusTrapOptions={{\n clickOutsideDeactivates:\n dismissOnOutsideClick && handleClickOutsideDeactivates, // de-active focus trap on outside click\n allowOutsideClick: true,\n escapeDeactivates: true, // de-activate focus trap on escape key\n fallbackFocus: `#${tooltipId}`, // set focus to tooltip content container if it has no focusable element\n onDeactivate: () => {\n toggleVisibility(false);\n },\n preventScroll: true,\n initialFocus: () => !disableInitialFocus,\n returnFocusOnDeactivate: !disableReturnFocusToTrigger,\n }}\n >\n <FocusTrapContent>{content}</FocusTrapContent>\n </FocusTrap>\n );\n\n const tooltipElm = (\n <TooltipContent\n {...restContentProps} // eslint-disable-line react/jsx-props-no-spreading\n defaultVerticalPlacement={defaultVerticalPlacement}\n dataDSId={name}\n content={contentElm}\n contentPadding={contentPadding}\n maxWidth={maxWidth}\n placement={placement}\n portalContainer={portalContainer}\n dataE2eTestId={dataE2eTestId}\n hasInvertedSubTheme={hasInvertedSubTheme}\n isVisible={isVisible}\n tooltipId={tooltipId}\n tabIndex={-1}\n triggerRef={triggerRef}\n />\n );\n return (\n <>\n {triggerElm}\n {tooltipElm}\n </>\n );\n}\n"],"names":["FocusTrapContent","React","forwardRef","_ref","ref","children","createElement","BasePopover","_ref2","placement","content","contentPadding","maxWidth","externalTriggerRef","portalContainer","name","isVisible","isPopoverVisible","dismissOnOutsideClick","dataE2eTestId","hasInvertedSubTheme","defaultVerticalPlacement","onVisibilityChange","disableInitialFocus","disableReturnFocusToTrigger","restContentProps","tooltipId","useMemo","Math","floor","Date","now","random","setVisible","useState","internalTriggerRef","useRef","triggerRef","isOutsideClickOnTrigger","toggleVisibility","useCallback","status","handleTriggerClick","current","handleClickOutsideDeactivates","evt","contains","target","useEffect","trigger","setAttribute","addEventListener","removeEventListener","removeAttribute","triggerElm","cloneElement","tabIndex","onClick","props","contentElm","FocusTrap","focusTrapOptions","clickOutsideDeactivates","allowOutsideClick","escapeDeactivates","fallbackFocus","onDeactivate","preventScroll","initialFocus","returnFocusOnDeactivate","tooltipElm","TooltipContent","_extends","dataDSId","Fragment"],"mappings":"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"}
|
|
@@ -11,10 +11,9 @@ export type TextProps = {
|
|
|
11
11
|
color?: TextColors;
|
|
12
12
|
align?: TextAlignment;
|
|
13
13
|
hyphens?: Hyphens | MQ<Hyphens>;
|
|
14
|
-
className?: string;
|
|
15
14
|
"data-e2e-test-id"?: string;
|
|
16
15
|
/** @ignore */
|
|
17
16
|
"data-ds-id"?: string;
|
|
18
17
|
};
|
|
19
18
|
export declare const TextContext: React.Context<Pick<TextProps, "color" | "size" | "weight">>;
|
|
20
|
-
export declare const Text: ({ size, weight, transform, as, color: colorProp, align, hyphens, variant, "data-e2e-test-id": dataE2eTestId, children,
|
|
19
|
+
export declare const Text: ({ size, weight, transform, as, color: colorProp, align, hyphens, variant, "data-e2e-test-id": dataE2eTestId, children, ...rest }: TextProps) => React.ReactElement;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _extends from '@babel/runtime/helpers/extends';
|
|
1
2
|
import _styled from '@emotion/styled/base';
|
|
2
3
|
import React from 'react';
|
|
3
4
|
import isPropValid from '@emotion/is-prop-valid';
|
|
@@ -49,7 +50,7 @@ const StyledText = /*#__PURE__*/_styled("p", process.env.NODE_ENV === "productio
|
|
|
49
50
|
}]
|
|
50
51
|
})
|
|
51
52
|
};
|
|
52
|
-
}, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
53
|
+
}, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRleHQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFDbUIiLCJmaWxlIjoiVGV4dC50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nICovXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkLCB7IENTU09iamVjdCB9IGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCBpc1Byb3BWYWxpZCBmcm9tIFwiQGVtb3Rpb24vaXMtcHJvcC12YWxpZFwiO1xuaW1wb3J0IHsgbXEgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL21lZGlhUXVlcmllc1wiO1xuXG5pbXBvcnQge1xuICBUZXh0QWxpZ25tZW50LFxuICBUZXh0VmFyaWF0aW9ucyxcbiAgVGV4dENvbG9ycyxcbiAgVGV4dFNpemUsXG4gIFRleHRXZWlnaHQsXG4gIE1RLFxuICBIeXBoZW5zLFxufSBmcm9tIFwiLi4vLi4vLi4vdHlwZXNcIjtcblxuZXhwb3J0IHR5cGUgVGV4dFByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICBzaXplPzogVGV4dFNpemU7XG4gIHdlaWdodD86IFRleHRXZWlnaHQ7XG4gIHRyYW5zZm9ybT86IFwibm9uZVwiIHwgXCJjYXBpdGFsaXplXCIgfCBcInVwcGVyY2FzZVwiIHwgXCJsb3dlcmNhc2VcIjtcbiAgYXM/OiBcInBcIiB8IFwic3BhblwiO1xuICAvKiogQGRlcHJlY2F0ZWQgdmFyaWFudCBwcm9wZXJ0eSBpcyBkZXByZWNhdGVkIG5vdy4gUGxlYXNlIHVzZSBjb2xvciBwcm9wLiAqL1xuICB2YXJpYW50PzogVGV4dFZhcmlhdGlvbnM7XG4gIGNvbG9yPzogVGV4dENvbG9ycztcbiAgYWxpZ24/OiBUZXh0QWxpZ25tZW50O1xuICBoeXBoZW5zPzogSHlwaGVucyB8IE1RPEh5cGhlbnM+O1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgLyoqIEBpZ25vcmUgKi9cbiAgXCJkYXRhLWRzLWlkXCI/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgY29uc3QgVGV4dENvbnRleHQgPSBSZWFjdC5jcmVhdGVDb250ZXh0PFBpY2s8XG4gIFRleHRQcm9wcyxcbiAgXCJjb2xvclwiIHwgXCJzaXplXCIgfCBcIndlaWdodFwiXG4+IHwgbnVsbD4obnVsbCk7XG5cbmNvbnN0IFN0eWxlZFRleHQgPSBzdHlsZWQoXCJwXCIsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IChwcm9wOiBzdHJpbmcpID0+XG4gICAgaXNQcm9wVmFsaWQocHJvcCkgJiYgcHJvcCAhPT0gXCJ0cmFuc2Zvcm1cIixcbn0pPFRleHRQcm9wcz4oXG4gICh7IHRoZW1lLCBhbGlnbiwgd2VpZ2h0LCBzaXplLCB0cmFuc2Zvcm0sIGh5cGhlbnMsIGNvbG9yLCB2YXJpYW50IH0pID0+XG4gICAgKHtcbiAgICAgIGZvbnRGYW1pbHk6IHRoZW1lLnZhcmlhYmxlcy5mb250RmFtaWx5LmxhdG8sXG4gICAgICBtYXJnaW46IDAsXG4gICAgICB0ZXh0VHJhbnNmb3JtOiB0cmFuc2Zvcm0sXG4gICAgICB0ZXh0QWxpZ246IGFsaWduLFxuICAgICAgZm9udFdlaWdodDogdGhlbWUudmFyaWFibGVzLndlaWdodFt3ZWlnaHRdLFxuICAgICAgY29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci50ZXh0W2NvbG9yXS5kZWZhdWx0LFxuXG4gICAgICAvLyB2YXJpYW50IGlzIGRlcHJlY2F0ZWQgYW5kIGl0IHNob3VsZCBiZSBkZWxldGVkIGFzYXBcbiAgICAgIC4uLih2YXJpYW50ICYmIHtcbiAgICAgICAgY29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci50ZXh0W3ZhcmlhbnRdLmRlZmF1bHQsXG4gICAgICAgIC4uLih2YXJpYW50ID09PSBcInByaW1hcnlcIiAmJiB7XG4gICAgICAgICAgY29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci50ZXh0LmFjY2VudC5kZWZhdWx0LFxuICAgICAgICB9KSxcbiAgICAgICAgLi4uKHZhcmlhbnQgPT09IFwic2Vjb25kYXJ5XCIgJiYge1xuICAgICAgICAgIGNvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IudGV4dC5wcmltYXJ5LmRlZmF1bHQsXG4gICAgICAgIH0pLFxuICAgICAgfSksXG5cbiAgICAgIGZvbnRTaXplOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5mb250W3NpemVdLFxuICAgICAgbGluZUhlaWdodDogdGhlbWUudmFyaWFibGVzLnNpemUubGluZUhlaWdodC50ZXh0W3NpemVdLFxuICAgICAgLi4ubXEoe1xuICAgICAgICBoeXBoZW5zOiBbaHlwaGVucywgeyBub25lOiBcIm5vbmVcIiwgYXV0bzogXCJhdXRvXCIsIG1hbnVhbDogXCJtYW51YWxcIiB9XSxcbiAgICAgIH0pLFxuICAgIH0gYXMgQ1NTT2JqZWN0KVxuKTtcblxuZXhwb3J0IGNvbnN0IFRleHQgPSAoe1xuICBzaXplID0gXCJtXCIsXG4gIHdlaWdodCA9IFwibm9ybWFsXCIsXG4gIHRyYW5zZm9ybSA9IFwibm9uZVwiLFxuICBhcyA9IFwicFwiLFxuICBjb2xvcjogY29sb3JQcm9wID0gXCJwcmltYXJ5XCIsXG4gIGFsaWduID0gXCJsZWZ0XCIsXG4gIGh5cGhlbnMgPSBcIm5vbmVcIixcbiAgdmFyaWFudCxcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI6IGRhdGFFMmVUZXN0SWQsXG4gIGNoaWxkcmVuLFxuICAuLi5yZXN0XG59OiBUZXh0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQgPT4ge1xuICBsZXQgY29sb3IgPSBjb2xvclByb3A7XG5cbiAgLy8gdGhpcyBpcyBnb2luZyB0byBiZSBkZWxldGVkIGFmdGVyIG1pZ3JhdGlvblxuICBpZiAodmFyaWFudCkge1xuICAgIGlmICh2YXJpYW50ID09PSBcInByaW1hcnlcIikge1xuICAgICAgY29sb3IgPSBcImFjY2VudFwiO1xuICAgIH0gZWxzZSBpZiAodmFyaWFudCA9PT0gXCJzZWNvbmRhcnlcIikge1xuICAgICAgY29sb3IgPSBcInByaW1hcnlcIjtcbiAgICB9IGVsc2Uge1xuICAgICAgY29sb3IgPSB2YXJpYW50O1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGNvbnRleHRWYWx1ZXMgPSBSZWFjdC51c2VNZW1vKFxuICAgICgpID0+ICh7IGNvbG9yLCBzaXplLCB3ZWlnaHQgfSksXG4gICAgW2NvbG9yLCBzaXplLCB3ZWlnaHRdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkVGV4dFxuICAgICAgdmFyaWFudD17dmFyaWFudH1cbiAgICAgIHNpemU9e3NpemV9XG4gICAgICB3ZWlnaHQ9e3dlaWdodH1cbiAgICAgIHRyYW5zZm9ybT17dHJhbnNmb3JtfVxuICAgICAgYXM9e2FzfVxuICAgICAgY29sb3I9e2NvbG9yfVxuICAgICAgYWxpZ249e2FsaWdufVxuICAgICAgaHlwaGVucz17aHlwaGVuc31cbiAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICBkYXRhLWRzLWlkPVwiVGV4dFwiXG4gICAgICB7Li4ucmVzdH1cbiAgICA+XG4gICAgICA8VGV4dENvbnRleHQuUHJvdmlkZXIgdmFsdWU9e2NvbnRleHRWYWx1ZXN9PlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L1RleHRDb250ZXh0LlByb3ZpZGVyPlxuICAgIDwvU3R5bGVkVGV4dD5cbiAgKTtcbn07XG4iXX0= */");
|
|
53
54
|
const Text = _ref2 => {
|
|
54
55
|
let {
|
|
55
56
|
size = "m",
|
|
@@ -62,7 +63,7 @@ const Text = _ref2 => {
|
|
|
62
63
|
variant,
|
|
63
64
|
"data-e2e-test-id": dataE2eTestId,
|
|
64
65
|
children,
|
|
65
|
-
|
|
66
|
+
...rest
|
|
66
67
|
} = _ref2;
|
|
67
68
|
let color = colorProp;
|
|
68
69
|
|
|
@@ -81,8 +82,7 @@ const Text = _ref2 => {
|
|
|
81
82
|
size,
|
|
82
83
|
weight
|
|
83
84
|
}), [color, size, weight]);
|
|
84
|
-
return /*#__PURE__*/React.createElement(StyledText, {
|
|
85
|
-
className: className,
|
|
85
|
+
return /*#__PURE__*/React.createElement(StyledText, _extends({
|
|
86
86
|
variant: variant,
|
|
87
87
|
size: size,
|
|
88
88
|
weight: weight,
|
|
@@ -93,7 +93,7 @@ const Text = _ref2 => {
|
|
|
93
93
|
hyphens: hyphens,
|
|
94
94
|
"data-e2e-test-id": dataE2eTestId,
|
|
95
95
|
"data-ds-id": "Text"
|
|
96
|
-
}, /*#__PURE__*/React.createElement(TextContext.Provider, {
|
|
96
|
+
}, rest), /*#__PURE__*/React.createElement(TextContext.Provider, {
|
|
97
97
|
value: contextValues
|
|
98
98
|
}, children));
|
|
99
99
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Text.js","sources":["../../../../../../src/components/Typography/Text/Text.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"Text.js","sources":["../../../../../../src/components/Typography/Text/Text.tsx"],"sourcesContent":["/* eslint-disable react/jsx-props-no-spreading */\nimport React from \"react\";\nimport styled, { CSSObject } from \"@emotion/styled\";\nimport isPropValid from \"@emotion/is-prop-valid\";\nimport { mq } from \"../../../shared/mediaQueries\";\n\nimport {\n TextAlignment,\n TextVariations,\n TextColors,\n TextSize,\n TextWeight,\n MQ,\n Hyphens,\n} from \"../../../types\";\n\nexport type TextProps = {\n children: React.ReactNode;\n size?: TextSize;\n weight?: TextWeight;\n transform?: \"none\" | \"capitalize\" | \"uppercase\" | \"lowercase\";\n as?: \"p\" | \"span\";\n /** @deprecated variant property is deprecated now. Please use color prop. */\n variant?: TextVariations;\n color?: TextColors;\n align?: TextAlignment;\n hyphens?: Hyphens | MQ<Hyphens>;\n \"data-e2e-test-id\"?: string;\n /** @ignore */\n \"data-ds-id\"?: string;\n};\n\nexport const TextContext = React.createContext<Pick<\n TextProps,\n \"color\" | \"size\" | \"weight\"\n> | null>(null);\n\nconst StyledText = styled(\"p\", {\n shouldForwardProp: (prop: string) =>\n isPropValid(prop) && prop !== \"transform\",\n})<TextProps>(\n ({ theme, align, weight, size, transform, hyphens, color, variant }) =>\n ({\n fontFamily: theme.variables.fontFamily.lato,\n margin: 0,\n textTransform: transform,\n textAlign: align,\n fontWeight: theme.variables.weight[weight],\n color: theme.values.color.text[color].default,\n\n // variant is deprecated and it should be deleted asap\n ...(variant && {\n color: theme.values.color.text[variant].default,\n ...(variant === \"primary\" && {\n color: theme.values.color.text.accent.default,\n }),\n ...(variant === \"secondary\" && {\n color: theme.values.color.text.primary.default,\n }),\n }),\n\n fontSize: theme.variables.size.font[size],\n lineHeight: theme.variables.size.lineHeight.text[size],\n ...mq({\n hyphens: [hyphens, { none: \"none\", auto: \"auto\", manual: \"manual\" }],\n }),\n } as CSSObject)\n);\n\nexport const Text = ({\n size = \"m\",\n weight = \"normal\",\n transform = \"none\",\n as = \"p\",\n color: colorProp = \"primary\",\n align = \"left\",\n hyphens = \"none\",\n variant,\n \"data-e2e-test-id\": dataE2eTestId,\n children,\n ...rest\n}: TextProps): React.ReactElement => {\n let color = colorProp;\n\n // this is going to be deleted after migration\n if (variant) {\n if (variant === \"primary\") {\n color = \"accent\";\n } else if (variant === \"secondary\") {\n color = \"primary\";\n } else {\n color = variant;\n }\n }\n\n const contextValues = React.useMemo(\n () => ({ color, size, weight }),\n [color, size, weight]\n );\n\n return (\n <StyledText\n variant={variant}\n size={size}\n weight={weight}\n transform={transform}\n as={as}\n color={color}\n align={align}\n hyphens={hyphens}\n data-e2e-test-id={dataE2eTestId}\n data-ds-id=\"Text\"\n {...rest}\n >\n <TextContext.Provider value={contextValues}>\n {children}\n </TextContext.Provider>\n </StyledText>\n );\n};\n"],"names":["TextContext","React","createContext","StyledText","_styled","process","env","NODE_ENV","shouldForwardProp","prop","isPropValid","target","label","_ref","theme","align","weight","size","transform","hyphens","color","variant","fontFamily","variables","lato","margin","textTransform","textAlign","fontWeight","values","text","default","accent","primary","fontSize","font","lineHeight","mq","none","auto","manual","Text","_ref2","as","colorProp","dataE2eTestId","children","rest","contextValues","useMemo","createElement","_extends","Provider","value"],"mappings":"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"}
|