@hitachivantara/uikit-react-core 3.67.5 → 3.67.6
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/Dialog/Dialog.js +3 -3
- package/dist/Dialog/Dialog.js.map +1 -1
- package/dist/Dialog/DialogActions/styles.js +3 -1
- package/dist/Dialog/DialogActions/styles.js.map +1 -1
- package/dist/Dialog/DialogContent/styles.js +3 -1
- package/dist/Dialog/DialogContent/styles.js.map +1 -1
- package/dist/Dialog/DialogTitle/DialogTitle.js +3 -2
- package/dist/Dialog/DialogTitle/DialogTitle.js.map +1 -1
- package/dist/Dialog/DialogTitle/styles.js +3 -2
- package/dist/Dialog/DialogTitle/styles.js.map +1 -1
- package/dist/Dialog/styles.js +3 -1
- package/dist/Dialog/styles.js.map +1 -1
- package/dist/VerticalNavigation/TreeView/TreeViewItem.js +3 -1
- package/dist/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
- package/dist/legacy/Dialog/Dialog.js +3 -3
- package/dist/legacy/Dialog/Dialog.js.map +1 -1
- package/dist/legacy/Dialog/DialogActions/styles.js +3 -1
- package/dist/legacy/Dialog/DialogActions/styles.js.map +1 -1
- package/dist/legacy/Dialog/DialogContent/styles.js +3 -1
- package/dist/legacy/Dialog/DialogContent/styles.js.map +1 -1
- package/dist/legacy/Dialog/DialogTitle/DialogTitle.js +3 -2
- package/dist/legacy/Dialog/DialogTitle/DialogTitle.js.map +1 -1
- package/dist/legacy/Dialog/DialogTitle/styles.js +3 -2
- package/dist/legacy/Dialog/DialogTitle/styles.js.map +1 -1
- package/dist/legacy/Dialog/styles.js +3 -1
- package/dist/legacy/Dialog/styles.js.map +1 -1
- package/dist/legacy/VerticalNavigation/TreeView/TreeViewItem.js +3 -1
- package/dist/legacy/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
- package/dist/modern/Dialog/Dialog.js +3 -3
- package/dist/modern/Dialog/Dialog.js.map +1 -1
- package/dist/modern/Dialog/DialogActions/styles.js +3 -1
- package/dist/modern/Dialog/DialogActions/styles.js.map +1 -1
- package/dist/modern/Dialog/DialogContent/styles.js +3 -1
- package/dist/modern/Dialog/DialogContent/styles.js.map +1 -1
- package/dist/modern/Dialog/DialogTitle/DialogTitle.js +5 -2
- package/dist/modern/Dialog/DialogTitle/DialogTitle.js.map +1 -1
- package/dist/modern/Dialog/DialogTitle/styles.js +3 -2
- package/dist/modern/Dialog/DialogTitle/styles.js.map +1 -1
- package/dist/modern/Dialog/styles.js +3 -1
- package/dist/modern/Dialog/styles.js.map +1 -1
- package/dist/modern/VerticalNavigation/TreeView/TreeViewItem.js +3 -1
- package/dist/modern/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
- package/package.json +2 -2
package/dist/Dialog/Dialog.js
CHANGED
|
@@ -157,9 +157,9 @@ var HvDialog = function HvDialog(_ref) {
|
|
|
157
157
|
return _onClose(event, reason);
|
|
158
158
|
},
|
|
159
159
|
onKeyDown: keyDownHandler
|
|
160
|
-
}, others
|
|
160
|
+
}, others, {
|
|
161
161
|
"aria-modal": true
|
|
162
|
-
}, /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
162
|
+
}), /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
163
163
|
id: (0, _utils.setId)(id, "close"),
|
|
164
164
|
className: classes.closeButton,
|
|
165
165
|
category: "ghost",
|
|
@@ -171,7 +171,7 @@ var HvDialog = function HvDialog(_ref) {
|
|
|
171
171
|
return /*#__PURE__*/_react.default.cloneElement(c, {
|
|
172
172
|
fullscreen: fullscreen
|
|
173
173
|
});
|
|
174
|
-
}) : children)
|
|
174
|
+
}) : children);
|
|
175
175
|
};
|
|
176
176
|
|
|
177
177
|
process.env.NODE_ENV !== "production" ? HvDialog.propTypes = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.js","names":["HvDialog","classes","className","id","children","open","onClose","firstFocusable","buttonTitle","fullscreen","others","focusableQueue","setFocusableQueue","measuredRef","node","focusableList","first","last","length","focus","element","document","getElementById","console","warn","keyDownHandler","event","KeyboardCodes","Tab","target","shiftKey","preventDefault","Esc","onEscapeKeyDown","disableEscapeKeyDown","stopPropagation","closeButtonDisplay","CloseButtonTooltipWrapper","root","paper","background","reason","closeButton","React","Children","map","c","cloneElement","propTypes","PropTypes","string","shape","isRequired","bool","func","styles","name"],"sources":["../../src/Dialog/Dialog.js"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { Dialog, withStyles } from \"@material-ui/core\";\nimport { Close } from \"@hitachivantara/uikit-react-icons\";\nimport isNil from \"lodash/isNil\";\nimport Button from \"../Button\";\nimport { isKeypress, KeyboardCodes, setId } from \"../utils\";\nimport styles from \"./styles\";\nimport withTooltip from \"../withTooltip\";\nimport { getFocusableList } from \"../utils/focusableElementFinder\";\n\n/**\n * The Dialog component provides a solid foundation for creating dialogs, popovers, lightboxes, etc.\n * It is created by the composition of DialogTitle, DialogContent and DialogActions components, passed as child elements.\n */\nconst HvDialog = ({\n classes,\n className,\n id,\n children,\n open,\n onClose,\n firstFocusable,\n buttonTitle = \"Close\",\n fullscreen = false,\n ...others\n}) => {\n const [focusableQueue, setFocusableQueue] = useState(null);\n\n const measuredRef = useCallback(\n (node) => {\n if (node) {\n const focusableList = getFocusableList(node);\n setFocusableQueue({\n first: focusableList[1],\n last: focusableList[focusableList.length - 2],\n });\n if (isNil(firstFocusable)) focusableList[1].focus();\n else {\n const element = document.getElementById(firstFocusable);\n if (element) element.focus();\n else {\n // eslint-disable-next-line no-console\n console.warn(`firstFocusable element ${firstFocusable} not found.`);\n focusableList[1].focus();\n }\n }\n }\n },\n [firstFocusable]\n );\n\n const keyDownHandler = (event) => {\n if (isKeypress(event, KeyboardCodes.Tab) && !isNil(event.target) && !isNil(focusableQueue)) {\n if (event.shiftKey && event.target === focusableQueue.first) {\n focusableQueue.last.focus();\n event.preventDefault();\n }\n if (!event.shiftKey && event.target === focusableQueue.last) {\n focusableQueue.first.focus();\n event.preventDefault();\n }\n }\n // Needed as this handler overrides the one in the material ui Modal.\n else if (isKeypress(event, KeyboardCodes.Esc)) {\n if (others.onEscapeKeyDown) {\n others.onEscapeKeyDown(event);\n }\n\n if (!others.disableEscapeKeyDown) {\n // Swallow the event, in case someone is listening for the escape key on the body.\n event.stopPropagation();\n\n if (onClose) {\n onClose(event, \"escapeKeyDown\");\n }\n }\n }\n };\n\n const closeButtonDisplay = () => <Close role=\"presentation\" />;\n\n const CloseButtonTooltipWrapper = buttonTitle\n ? withTooltip(closeButtonDisplay, buttonTitle, \"top\")\n : closeButtonDisplay;\n\n return (\n <Dialog\n className={clsx(classes.root, className)}\n id={id}\n ref={measuredRef}\n open={open}\n PaperProps={{\n classes: {\n root: clsx(classes.paper, fullscreen ? \"fullscreen\" : \"\"),\n },\n }}\n fullScreen={fullscreen}\n BackdropProps={{\n classes: {\n root: classes.background,\n },\n }}\n onClose={(event, reason) => onClose(event, reason)}\n onKeyDown={keyDownHandler}\n {...others}\n
|
|
1
|
+
{"version":3,"file":"Dialog.js","names":["HvDialog","classes","className","id","children","open","onClose","firstFocusable","buttonTitle","fullscreen","others","focusableQueue","setFocusableQueue","measuredRef","node","focusableList","first","last","length","focus","element","document","getElementById","console","warn","keyDownHandler","event","KeyboardCodes","Tab","target","shiftKey","preventDefault","Esc","onEscapeKeyDown","disableEscapeKeyDown","stopPropagation","closeButtonDisplay","CloseButtonTooltipWrapper","root","paper","background","reason","closeButton","React","Children","map","c","cloneElement","propTypes","PropTypes","string","shape","isRequired","bool","func","styles","name"],"sources":["../../src/Dialog/Dialog.js"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { Dialog, withStyles } from \"@material-ui/core\";\nimport { Close } from \"@hitachivantara/uikit-react-icons\";\nimport isNil from \"lodash/isNil\";\nimport Button from \"../Button\";\nimport { isKeypress, KeyboardCodes, setId } from \"../utils\";\nimport styles from \"./styles\";\nimport withTooltip from \"../withTooltip\";\nimport { getFocusableList } from \"../utils/focusableElementFinder\";\n\n/**\n * The Dialog component provides a solid foundation for creating dialogs, popovers, lightboxes, etc.\n * It is created by the composition of DialogTitle, DialogContent and DialogActions components, passed as child elements.\n */\nconst HvDialog = ({\n classes,\n className,\n id,\n children,\n open,\n onClose,\n firstFocusable,\n buttonTitle = \"Close\",\n fullscreen = false,\n ...others\n}) => {\n const [focusableQueue, setFocusableQueue] = useState(null);\n\n const measuredRef = useCallback(\n (node) => {\n if (node) {\n const focusableList = getFocusableList(node);\n setFocusableQueue({\n first: focusableList[1],\n last: focusableList[focusableList.length - 2],\n });\n if (isNil(firstFocusable)) focusableList[1].focus();\n else {\n const element = document.getElementById(firstFocusable);\n if (element) element.focus();\n else {\n // eslint-disable-next-line no-console\n console.warn(`firstFocusable element ${firstFocusable} not found.`);\n focusableList[1].focus();\n }\n }\n }\n },\n [firstFocusable]\n );\n\n const keyDownHandler = (event) => {\n if (isKeypress(event, KeyboardCodes.Tab) && !isNil(event.target) && !isNil(focusableQueue)) {\n if (event.shiftKey && event.target === focusableQueue.first) {\n focusableQueue.last.focus();\n event.preventDefault();\n }\n if (!event.shiftKey && event.target === focusableQueue.last) {\n focusableQueue.first.focus();\n event.preventDefault();\n }\n }\n // Needed as this handler overrides the one in the material ui Modal.\n else if (isKeypress(event, KeyboardCodes.Esc)) {\n if (others.onEscapeKeyDown) {\n others.onEscapeKeyDown(event);\n }\n\n if (!others.disableEscapeKeyDown) {\n // Swallow the event, in case someone is listening for the escape key on the body.\n event.stopPropagation();\n\n if (onClose) {\n onClose(event, \"escapeKeyDown\");\n }\n }\n }\n };\n\n const closeButtonDisplay = () => <Close role=\"presentation\" />;\n\n const CloseButtonTooltipWrapper = buttonTitle\n ? withTooltip(closeButtonDisplay, buttonTitle, \"top\")\n : closeButtonDisplay;\n\n return (\n <Dialog\n className={clsx(classes.root, className)}\n id={id}\n ref={measuredRef}\n open={open}\n PaperProps={{\n classes: {\n root: clsx(classes.paper, fullscreen ? \"fullscreen\" : \"\"),\n },\n }}\n fullScreen={fullscreen}\n BackdropProps={{\n classes: {\n root: classes.background,\n },\n }}\n onClose={(event, reason) => onClose(event, reason)}\n onKeyDown={keyDownHandler}\n {...others}\n aria-modal\n >\n <Button\n id={setId(id, \"close\")}\n className={classes.closeButton}\n category=\"ghost\"\n onClick={(event) => onClose(event)}\n aria-label={buttonTitle}\n >\n <CloseButtonTooltipWrapper />\n </Button>\n {children && typeof children === \"object\"\n ? React.Children.map(children, (c) => React.cloneElement(c, { fullscreen }))\n : children}\n </Dialog>\n );\n};\n\nHvDialog.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the root of the component.\n */\n root: PropTypes.string,\n /**\n * Style applied to the background (outside) of the component.\n */\n background: PropTypes.string,\n /**\n * Style applied to the component (root).\n */\n paper: PropTypes.string,\n /**\n * Style applied to the close button.\n */\n closeButton: PropTypes.string,\n }).isRequired,\n /**\n * Components of the Dialog.\n */\n children: PropTypes.node.isRequired,\n /**\n * Current state of the Dialog.\n */\n open: PropTypes.bool.isRequired,\n /**\n * Function executed on close.\n */\n onClose: PropTypes.func.isRequired,\n /**\n * Element id that should be focus when the Dialog opens.\n */\n firstFocusable: PropTypes.string,\n /**\n * Title for the button close.\n */\n buttonTitle: PropTypes.string,\n /**\n * Set the dialog to fullscreen mode.\n */\n fullscreen: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvDialog\" })(HvDialog);\n"],"mappings":"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"}
|
|
@@ -10,7 +10,9 @@ var styles = function styles(theme) {
|
|
|
10
10
|
root: {
|
|
11
11
|
margin: "0",
|
|
12
12
|
padding: theme.hv.spacing.sm,
|
|
13
|
-
borderTop: "3px solid ".concat(theme.hv.palette.atmosphere.atmo2)
|
|
13
|
+
borderTop: "3px solid ".concat(theme.hv.palette.atmosphere.atmo2),
|
|
14
|
+
height: 100,
|
|
15
|
+
flex: 1
|
|
14
16
|
},
|
|
15
17
|
spacing: {
|
|
16
18
|
"& > :not(:first-child)": {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","names":["styles","theme","root","margin","padding","hv","spacing","sm","borderTop","palette","atmosphere","atmo2","marginLeft","xs","fullscreen","position","width","bottom","left"],"sources":["../../../src/Dialog/DialogActions/styles.js"],"sourcesContent":["const styles = (theme) => ({\n root: {\n margin: \"0\",\n padding: theme.hv.spacing.sm,\n borderTop: `3px solid ${theme.hv.palette.atmosphere.atmo2}`,\n },\n spacing: {\n \"& > :not(:first-child)\": {\n marginLeft: theme.hv.spacing.xs,\n },\n },\n fullscreen: {\n position: \"fixed\",\n width: \"100%\",\n bottom: 0,\n left: 0,\n },\n});\n\nexport default styles;\n"],"mappings":";;;;;;;AAAA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;EAAA,OAAY;IACzBC,IAAI,EAAE;MACJC,MAAM,EAAE,GADJ;MAEJC,OAAO,EAAEH,KAAK,CAACI,EAAN,CAASC,OAAT,CAAiBC,EAFtB;MAGJC,SAAS,sBAAeP,KAAK,CAACI,EAAN,CAASI,OAAT,CAAiBC,UAAjB,CAA4BC,KAA3C;
|
|
1
|
+
{"version":3,"file":"styles.js","names":["styles","theme","root","margin","padding","hv","spacing","sm","borderTop","palette","atmosphere","atmo2","height","flex","marginLeft","xs","fullscreen","position","width","bottom","left"],"sources":["../../../src/Dialog/DialogActions/styles.js"],"sourcesContent":["const styles = (theme) => ({\n root: {\n margin: \"0\",\n padding: theme.hv.spacing.sm,\n borderTop: `3px solid ${theme.hv.palette.atmosphere.atmo2}`,\n height: 100,\n flex: 1,\n },\n spacing: {\n \"& > :not(:first-child)\": {\n marginLeft: theme.hv.spacing.xs,\n },\n },\n fullscreen: {\n position: \"fixed\",\n width: \"100%\",\n bottom: 0,\n left: 0,\n },\n});\n\nexport default styles;\n"],"mappings":";;;;;;;AAAA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;EAAA,OAAY;IACzBC,IAAI,EAAE;MACJC,MAAM,EAAE,GADJ;MAEJC,OAAO,EAAEH,KAAK,CAACI,EAAN,CAASC,OAAT,CAAiBC,EAFtB;MAGJC,SAAS,sBAAeP,KAAK,CAACI,EAAN,CAASI,OAAT,CAAiBC,UAAjB,CAA4BC,KAA3C,CAHL;MAIJC,MAAM,EAAE,GAJJ;MAKJC,IAAI,EAAE;IALF,CADmB;IAQzBP,OAAO,EAAE;MACP,0BAA0B;QACxBQ,UAAU,EAAEb,KAAK,CAACI,EAAN,CAASC,OAAT,CAAiBS;MADL;IADnB,CARgB;IAazBC,UAAU,EAAE;MACVC,QAAQ,EAAE,OADA;MAEVC,KAAK,EAAE,MAFG;MAGVC,MAAM,EAAE,CAHE;MAIVC,IAAI,EAAE;IAJI;EAba,CAAZ;AAAA,CAAf;;eAqBepB,M"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","names":["styles","theme","root","padding","hvSpacing","flex","textContent","marginLeft","
|
|
1
|
+
{"version":3,"file":"styles.js","names":["styles","theme","root","padding","hvSpacing","flex","textContent","marginLeft","paddingRight","overflowY"],"sources":["../../../src/Dialog/DialogContent/styles.js"],"sourcesContent":["const styles = (theme) => ({\n root: {\n padding: theme.hvSpacing(0, \"sm\", \"sm\", \"sm\"),\n flex: \"none\",\n },\n textContent: {\n marginLeft: \"42px\",\n paddingRight: \"62px\",\n flex: 1,\n overflowY: \"auto\",\n },\n});\n\nexport default styles;\n"],"mappings":";;;;;;;AAAA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;EAAA,OAAY;IACzBC,IAAI,EAAE;MACJC,OAAO,EAAEF,KAAK,CAACG,SAAN,CAAgB,CAAhB,EAAmB,IAAnB,EAAyB,IAAzB,EAA+B,IAA/B,CADL;MAEJC,IAAI,EAAE;IAFF,CADmB;IAKzBC,WAAW,EAAE;MACXC,UAAU,EAAE,MADD;MAEXC,YAAY,EAAE,MAFH;MAGXH,IAAI,EAAE,CAHK;MAIXI,SAAS,EAAE;IAJA;EALY,CAAZ;AAAA,CAAf;;eAaeT,M"}
|
|
@@ -38,13 +38,14 @@ var HvDialogTitle = function HvDialogTitle(_ref) {
|
|
|
38
38
|
_ref$customIcon = _ref.customIcon,
|
|
39
39
|
customIcon = _ref$customIcon === void 0 ? null : _ref$customIcon,
|
|
40
40
|
others = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
41
|
-
var isString = typeof children === "string";
|
|
41
|
+
var isString = typeof children === "string";
|
|
42
|
+
var fullscreen = others.fullscreen; // prevent the `fullscreen` prop from being passed to the `DialogTitle` component
|
|
42
43
|
// eslint-disable-next-line no-param-reassign
|
|
43
44
|
|
|
44
45
|
delete others.fullscreen;
|
|
45
46
|
var icon = customIcon || showIcon && (0, _iconVariant.default)(variant);
|
|
46
47
|
return /*#__PURE__*/_react.default.createElement(_core.DialogTitle, (0, _extends2.default)({
|
|
47
|
-
className: (0, _clsx.default)(classes.root, className),
|
|
48
|
+
className: (0, _clsx.default)(classes.root, className, fullscreen && "fullscreen"),
|
|
48
49
|
disableTypography: true
|
|
49
50
|
}, others), /*#__PURE__*/_react.default.createElement("div", {
|
|
50
51
|
className: classes.messageContainer
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DialogTitle.js","names":["HvDialogTitle","classes","className","children","variant","showIcon","customIcon","others","isString","fullscreen","icon","root","messageContainer","textWithIcon","propTypes","PropTypes","string","shape","closeButton","isRequired","oneOf","bool","node","styles","name"],"sources":["../../../src/Dialog/DialogTitle/DialogTitle.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { DialogTitle, withStyles } from \"@material-ui/core\";\nimport HvTypography from \"../../Typography\";\nimport iconVariant from \"../../utils/iconVariant\";\nimport styles from \"./styles\";\n\nconst HvDialogTitle = ({\n classes,\n className,\n children,\n variant = \"default\",\n showIcon = true,\n customIcon = null,\n ...others\n}) => {\n const isString = typeof children === \"string\";\n // prevent the `fullscreen` prop from being passed to the `DialogTitle` component\n // eslint-disable-next-line no-param-reassign\n delete others.fullscreen;\n\n const icon = customIcon || (showIcon && iconVariant(variant));\n\n return (\n <DialogTitle
|
|
1
|
+
{"version":3,"file":"DialogTitle.js","names":["HvDialogTitle","classes","className","children","variant","showIcon","customIcon","others","isString","fullscreen","icon","root","messageContainer","textWithIcon","propTypes","PropTypes","string","shape","closeButton","isRequired","oneOf","bool","node","styles","name"],"sources":["../../../src/Dialog/DialogTitle/DialogTitle.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { DialogTitle, withStyles } from \"@material-ui/core\";\nimport HvTypography from \"../../Typography\";\nimport iconVariant from \"../../utils/iconVariant\";\nimport styles from \"./styles\";\n\nconst HvDialogTitle = ({\n classes,\n className,\n children,\n variant = \"default\",\n showIcon = true,\n customIcon = null,\n ...others\n}) => {\n const isString = typeof children === \"string\";\n const { fullscreen } = others;\n\n // prevent the `fullscreen` prop from being passed to the `DialogTitle` component\n // eslint-disable-next-line no-param-reassign\n delete others.fullscreen;\n\n const icon = customIcon || (showIcon && iconVariant(variant));\n\n return (\n <DialogTitle\n className={clsx(classes.root, className, fullscreen ? \"fullscreen\" : \"\")}\n disableTypography\n {...others}\n >\n <div className={classes.messageContainer}>\n {icon}\n <div className={clsx({ [classes.textWithIcon]: icon })}>\n {!isString && children}\n {isString && <HvTypography variant=\"xxsTitle\">{children}</HvTypography>}\n </div>\n </div>\n </DialogTitle>\n );\n};\n\nHvDialogTitle.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the root of the component (container for the title).\n */\n root: PropTypes.string,\n /**\n * Style applied to the container of the title\n */\n messageContainer: PropTypes.string,\n /**\n * Style applied to the text when the icon is present.\n */\n textWithIcon: PropTypes.string,\n /**\n * Style applied to the icon.\n */\n icon: PropTypes.string,\n /**\n * Style applied to the close button.\n */\n closeButton: PropTypes.string,\n }).isRequired,\n /**\n * Variant of the Dialog.\n */\n variant: PropTypes.oneOf([\"success\", \"warning\", \"error\", \"info\", \"default\"]),\n /**\n * Controls if the associated icon to the variant should be shown.\n */\n showIcon: PropTypes.bool,\n /**\n * Custom icon to replace the variant default.\n */\n customIcon: PropTypes.node,\n /**\n * Node to be render.\n */\n children: PropTypes.node.isRequired,\n};\n\nexport default withStyles(styles, { name: \"HvDialogTitle\" })(HvDialogTitle);\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,OAQhB;EAAA,IAPJC,OAOI,QAPJA,OAOI;EAAA,IANJC,SAMI,QANJA,SAMI;EAAA,IALJC,QAKI,QALJA,QAKI;EAAA,wBAJJC,OAII;EAAA,IAJJA,OAII,6BAJM,SAIN;EAAA,yBAHJC,QAGI;EAAA,IAHJA,QAGI,8BAHO,IAGP;EAAA,2BAFJC,UAEI;EAAA,IAFJA,UAEI,gCAFS,IAET;EAAA,IADDC,MACC;EACJ,IAAMC,QAAQ,GAAG,OAAOL,QAAP,KAAoB,QAArC;EACA,IAAQM,UAAR,GAAuBF,MAAvB,CAAQE,UAAR,CAFI,CAIJ;EACA;;EACA,OAAOF,MAAM,CAACE,UAAd;EAEA,IAAMC,IAAI,GAAGJ,UAAU,IAAKD,QAAQ,IAAI,0BAAYD,OAAZ,CAAxC;EAEA,oBACE,6BAAC,iBAAD;IACE,SAAS,EAAE,mBAAKH,OAAO,CAACU,IAAb,EAAmBT,SAAnB,EAA8BO,UAA9B,IAA2C,YAA3C,CADb;IAEE,iBAAiB;EAFnB,GAGMF,MAHN,gBAKE;IAAK,SAAS,EAAEN,OAAO,CAACW;EAAxB,GACGF,IADH,eAEE;IAAK,SAAS,EAAE,mBAA+BA,IAA/B,IAAQT,OAAO,CAACY,YAAhB;EAAhB,GACG,CAACL,QAAD,IAAaL,QADhB,EAEGK,QAAQ,iBAAI,6BAAC,mBAAD;IAAc,OAAO,EAAC;EAAtB,GAAkCL,QAAlC,CAFf,CAFF,CALF,CADF;AAeD,CAjCD;;AAmCA,wCAAAH,aAAa,CAACc,SAAd,GAA0B;EACxB;AACF;AACA;EACEZ,SAAS,EAAEa,mBAAUC,MAJG;;EAKxB;AACF;AACA;EACEf,OAAO,EAAEc,mBAAUE,KAAV,CAAgB;IACvB;AACJ;AACA;IACIN,IAAI,EAAEI,mBAAUC,MAJO;;IAKvB;AACJ;AACA;IACIJ,gBAAgB,EAAEG,mBAAUC,MARL;;IASvB;AACJ;AACA;IACIH,YAAY,EAAEE,mBAAUC,MAZD;;IAavB;AACJ;AACA;IACIN,IAAI,EAAEK,mBAAUC,MAhBO;;IAiBvB;AACJ;AACA;IACIE,WAAW,EAAEH,mBAAUC;EApBA,CAAhB,EAqBNG,UA7BqB;;EA8BxB;AACF;AACA;EACEf,OAAO,EAAEW,mBAAUK,KAAV,CAAgB,CAAC,SAAD,EAAY,SAAZ,EAAuB,OAAvB,EAAgC,MAAhC,EAAwC,SAAxC,CAAhB,CAjCe;;EAkCxB;AACF;AACA;EACEf,QAAQ,EAAEU,mBAAUM,IArCI;;EAsCxB;AACF;AACA;EACEf,UAAU,EAAES,mBAAUO,IAzCE;;EA0CxB;AACF;AACA;EACEnB,QAAQ,EAAEY,mBAAUO,IAAV,CAAeH;AA7CD,CAA1B;;eAgDe,sBAAWI,eAAX,EAAmB;EAAEC,IAAI,EAAE;AAAR,CAAnB,EAA8CxB,aAA9C,C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","names":["styles","theme","root","padding","hvSpacing","margin","
|
|
1
|
+
{"version":3,"file":"styles.js","names":["styles","theme","root","padding","hvSpacing","margin","flex","messageContainer","display","alignItems","textWithIcon","marginLeft","marginRight","icon","hv","spacing","md","width","height"],"sources":["../../../src/Dialog/DialogTitle/styles.js"],"sourcesContent":["const styles = (theme) => ({\n root: {\n padding: theme.hvSpacing(\"sm\"),\n margin: 0,\n \"&:not(.fullscreen)\": {\n flex: 1,\n },\n },\n messageContainer: {\n display: \"flex\",\n alignItems: \"center\",\n },\n textWithIcon: {\n marginLeft: theme.hvSpacing(\"xs\"),\n // 32px is the icon width\n marginRight: `calc(32px + ${theme.hvSpacing(\"xs\")})`,\n },\n icon: {\n marginRight: theme.hv.spacing.md,\n width: 48,\n height: 48,\n },\n});\n\nexport default styles;\n"],"mappings":";;;;;;;AAAA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;EAAA,OAAY;IACzBC,IAAI,EAAE;MACJC,OAAO,EAAEF,KAAK,CAACG,SAAN,CAAgB,IAAhB,CADL;MAEJC,MAAM,EAAE,CAFJ;MAGJ,sBAAsB;QACpBC,IAAI,EAAE;MADc;IAHlB,CADmB;IAQzBC,gBAAgB,EAAE;MAChBC,OAAO,EAAE,MADO;MAEhBC,UAAU,EAAE;IAFI,CARO;IAYzBC,YAAY,EAAE;MACZC,UAAU,EAAEV,KAAK,CAACG,SAAN,CAAgB,IAAhB,CADA;MAEZ;MACAQ,WAAW,wBAAiBX,KAAK,CAACG,SAAN,CAAgB,IAAhB,CAAjB;IAHC,CAZW;IAiBzBS,IAAI,EAAE;MACJD,WAAW,EAAEX,KAAK,CAACa,EAAN,CAASC,OAAT,CAAiBC,EAD1B;MAEJC,KAAK,EAAE,EAFH;MAGJC,MAAM,EAAE;IAHJ;EAjBmB,CAAZ;AAAA,CAAf;;eAwBelB,M"}
|
package/dist/Dialog/styles.js
CHANGED
|
@@ -20,7 +20,9 @@ var styles = function styles(theme) {
|
|
|
20
20
|
overflow: "auto",
|
|
21
21
|
boxShadow: theme.hv.shadows[1],
|
|
22
22
|
"&:not(.fullscreen)": {
|
|
23
|
-
maxHeight: "calc(100% - 200px)"
|
|
23
|
+
maxHeight: "calc(100% - 200px)",
|
|
24
|
+
display: "flex",
|
|
25
|
+
flexDirection: "column"
|
|
24
26
|
}
|
|
25
27
|
},
|
|
26
28
|
closeButton: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","names":["styles","theme","background","hv","palette","atmosphere","atmo4","paper","atmo1","padding","overflow","boxShadow","shadows","maxHeight","closeButton","minWidth","position","top","hvSpacing","right"],"sources":["../../src/Dialog/styles.js"],"sourcesContent":["import fade from \"../utils/hexToRgbA\";\n\nconst styles = (theme) => ({\n background: {\n background: fade(theme.hv.palette.atmosphere.atmo4, 0.8),\n },\n paper: {\n background: `${theme.hv.palette.atmosphere.atmo1}`,\n padding: \"0px\",\n overflow: \"auto\",\n boxShadow: theme.hv.shadows[1],\n \"&:not(.fullscreen)\": {\n maxHeight: \"calc(100% - 200px)\",\n },\n },\n closeButton: {\n padding: 0,\n minWidth: \"inherit\",\n position: \"absolute\",\n top: theme.hvSpacing(\"sm\"),\n right: theme.hvSpacing(\"sm\"),\n },\n});\n\nexport default styles;\n"],"mappings":";;;;;;;;;AAAA;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;EAAA,OAAY;IACzBC,UAAU,EAAE;MACVA,UAAU,EAAE,wBAAKD,KAAK,CAACE,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BC,KAAjC,EAAwC,GAAxC;IADF,CADa;IAIzBC,KAAK,EAAE;MACLL,UAAU,YAAKD,KAAK,CAACE,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BG,KAAjC,CADL;MAELC,OAAO,EAAE,KAFJ;MAGLC,QAAQ,EAAE,MAHL;MAILC,SAAS,EAAEV,KAAK,CAACE,EAAN,CAASS,OAAT,CAAiB,CAAjB,CAJN;MAKL,sBAAsB;QACpBC,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"styles.js","names":["styles","theme","background","hv","palette","atmosphere","atmo4","paper","atmo1","padding","overflow","boxShadow","shadows","maxHeight","display","flexDirection","closeButton","minWidth","position","top","hvSpacing","right"],"sources":["../../src/Dialog/styles.js"],"sourcesContent":["import fade from \"../utils/hexToRgbA\";\n\nconst styles = (theme) => ({\n background: {\n background: fade(theme.hv.palette.atmosphere.atmo4, 0.8),\n },\n paper: {\n background: `${theme.hv.palette.atmosphere.atmo1}`,\n padding: \"0px\",\n overflow: \"auto\",\n boxShadow: theme.hv.shadows[1],\n \"&:not(.fullscreen)\": {\n maxHeight: \"calc(100% - 200px)\",\n display: \"flex\",\n flexDirection: \"column\",\n },\n },\n closeButton: {\n padding: 0,\n minWidth: \"inherit\",\n position: \"absolute\",\n top: theme.hvSpacing(\"sm\"),\n right: theme.hvSpacing(\"sm\"),\n },\n});\n\nexport default styles;\n"],"mappings":";;;;;;;;;AAAA;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;EAAA,OAAY;IACzBC,UAAU,EAAE;MACVA,UAAU,EAAE,wBAAKD,KAAK,CAACE,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BC,KAAjC,EAAwC,GAAxC;IADF,CADa;IAIzBC,KAAK,EAAE;MACLL,UAAU,YAAKD,KAAK,CAACE,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BG,KAAjC,CADL;MAELC,OAAO,EAAE,KAFJ;MAGLC,QAAQ,EAAE,MAHL;MAILC,SAAS,EAAEV,KAAK,CAACE,EAAN,CAASS,OAAT,CAAiB,CAAjB,CAJN;MAKL,sBAAsB;QACpBC,SAAS,EAAE,oBADS;QAEpBC,OAAO,EAAE,MAFW;QAGpBC,aAAa,EAAE;MAHK;IALjB,CAJkB;IAezBC,WAAW,EAAE;MACXP,OAAO,EAAE,CADE;MAEXQ,QAAQ,EAAE,SAFC;MAGXC,QAAQ,EAAE,UAHC;MAIXC,GAAG,EAAElB,KAAK,CAACmB,SAAN,CAAgB,IAAhB,CAJM;MAKXC,KAAK,EAAEpB,KAAK,CAACmB,SAAN,CAAgB,IAAhB;IALI;EAfY,CAAZ;AAAA,CAAf;;eAwBepB,M"}
|
|
@@ -159,7 +159,9 @@ var TreeViewItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
159
159
|
}, [registerNode, unregisterNode, parentId, index, nodeId, expandable, disabledProp, id, selectable, onFocus, payload]);
|
|
160
160
|
(0, _react.useEffect)(function () {
|
|
161
161
|
if (mapFirstChar && unMapFirstChar && label) {
|
|
162
|
-
|
|
162
|
+
var _contentRef$current;
|
|
163
|
+
|
|
164
|
+
mapFirstChar(nodeId, (_contentRef$current = contentRef.current) === null || _contentRef$current === void 0 ? void 0 : _contentRef$current.textContent.substring(0, 1).toLowerCase());
|
|
163
165
|
return function () {
|
|
164
166
|
unMapFirstChar(nodeId);
|
|
165
167
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeViewItem.js","names":["preventSelection","event","disabled","shiftKey","ctrlKey","metaKey","preventDefault","TreeViewItem","React","forwardRef","props","ref","idProp","id","className","classes","disabledProp","selectableProp","selectable","nodeId","icon","label","payload","onClick","onMouseDown","onFocus","children","others","treeViewControlContext","TreeViewControlContext","TreeViewStateContext","isExpanded","isSelected","isFocused","isDisabled","treeId","mode","collapsible","toggleExpansion","multiSelect","selectNode","selectRange","disabledItemsFocusable","registerNode","unregisterNode","mapFirstChar","unMapFirstChar","focus","treeviewMode","treeitemElement","setTreeitemElement","contentRef","handleRef","descendant","element","index","parentId","level","expandable","Boolean","Array","isArray","length","expanded","focused","selected","idAttribute","undefined","current","textContent","substring","toLowerCase","ariaSelected","handleFocus","target","currentTarget","ownerDocument","document","getElementById","preventScroll","unfocusable","handleExpansion","multiple","handleSelection","end","handleMouseDown","handleClick","handleKeyDown","isEventHandled","key","altKey","stopPropagation","renderedContent","content","paddingLeft","role","tabIndex","onKeyDown","renderedChildren","group","node","unselected","unselectable","collapsed","propTypes","PropTypes","string","shape","isRequired","bool","any","func","styles","name"],"sources":["../../../src/VerticalNavigation/TreeView/TreeViewItem.js"],"sourcesContent":["import React, { useCallback, useContext, useEffect, useMemo, useRef, useState } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\n\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport HvTypography from \"../../Typography\";\n\nimport { TreeViewControlContext, TreeViewStateContext } from \"./TreeViewContexts\";\n\nimport { setId, useForkRef } from \"../../utils\";\n\nimport { DescendantProvider, useDescendant } from \"./descendants\";\n\nimport styles from \"./styles\";\n\nconst preventSelection = (event, disabled) => {\n if (event.shiftKey || event.ctrlKey || event.metaKey || disabled) {\n // Prevent text selection\n event.preventDefault();\n }\n};\n\nconst TreeViewItem = React.forwardRef((props, ref) => {\n const {\n id: idProp,\n className,\n classes,\n\n disabled: disabledProp = false,\n\n selectable: selectableProp,\n\n nodeId,\n icon = null,\n label,\n payload,\n\n onClick,\n onMouseDown,\n onFocus,\n\n children,\n\n ...others\n } = props;\n\n const treeViewControlContext = useContext(TreeViewControlContext);\n const { isExpanded, isSelected, isFocused, isDisabled } = useContext(TreeViewStateContext);\n\n const {\n treeId,\n mode,\n collapsible,\n toggleExpansion,\n multiSelect,\n selectNode,\n selectRange,\n disabledItemsFocusable,\n registerNode,\n unregisterNode,\n mapFirstChar,\n unMapFirstChar,\n focus,\n } = treeViewControlContext;\n\n const treeviewMode = mode === \"treeview\";\n\n let id = null;\n\n if (idProp != null) {\n id = idProp;\n } else if (treeId && nodeId) {\n id = `${treeId}-${nodeId}`;\n }\n\n const [treeitemElement, setTreeitemElement] = useState(null);\n const contentRef = useRef(null);\n const handleRef = useForkRef(setTreeitemElement, ref);\n\n const descendant = useMemo(\n () => ({\n element: treeitemElement,\n id: nodeId,\n }),\n [nodeId, treeitemElement]\n );\n\n const { index, parentId, level } = useDescendant(descendant);\n\n const expandable = collapsible && Boolean(Array.isArray(children) ? children.length : children);\n const expanded = isExpanded ? isExpanded(nodeId) : false;\n const focused = isFocused ? isFocused(nodeId) : false;\n const selected = isSelected ? isSelected(nodeId) : false;\n const disabled = isDisabled ? isDisabled(nodeId) : false;\n\n const selectable = selectableProp != null ? selectableProp : !collapsible || !expandable;\n\n useEffect(() => {\n // On the first render a node's index will be -1. We want to wait for the real index.\n if (registerNode && unregisterNode && index !== -1) {\n registerNode({\n id: nodeId,\n idAttribute: id,\n index,\n parentId,\n selectable,\n expandable,\n disabled: disabledProp,\n onFocus,\n payload,\n });\n\n return () => {\n unregisterNode(nodeId);\n };\n }\n\n return undefined;\n }, [\n registerNode,\n unregisterNode,\n parentId,\n index,\n nodeId,\n expandable,\n disabledProp,\n id,\n selectable,\n onFocus,\n payload,\n ]);\n\n useEffect(() => {\n if (mapFirstChar && unMapFirstChar && label) {\n mapFirstChar(nodeId, contentRef.current.textContent.substring(0, 1).toLowerCase());\n\n return () => {\n unMapFirstChar(nodeId);\n };\n }\n return undefined;\n }, [mapFirstChar, unMapFirstChar, nodeId, label]);\n\n let ariaSelected;\n if (multiSelect) {\n ariaSelected = selected;\n } else if (selected) {\n /* single-selection trees unset aria-selected on un-selected items.\n *\n * If the tree does not support multiple selection, aria-selected\n * is set to true for the selected node and it is not present on any other node in the tree.\n * Source: https://www.w3.org/TR/wai-aria-practices/#TreeView\n */\n ariaSelected = true;\n }\n\n const handleFocus = useCallback(\n (event) => {\n // DOM focus stays on the tree which manages focus with aria-activedescendant\n if (event.target === event.currentTarget) {\n (event.target.ownerDocument || document)\n .getElementById(treeId)\n .focus({ preventScroll: true });\n }\n\n const unfocusable = !disabledItemsFocusable && disabled;\n if (!focused && event.currentTarget === event.target && !unfocusable) {\n focus(event, nodeId);\n }\n },\n [disabled, disabledItemsFocusable, focus, focused, nodeId, treeId]\n );\n\n const handleExpansion = useCallback(\n (event) => {\n if (!disabled) {\n if (treeviewMode && !focused) {\n focus(event, nodeId);\n }\n\n const multiple = multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);\n\n // If already expanded and trying to toggle selection don't close\n if (expandable && !(multiple && isExpanded(nodeId))) {\n toggleExpansion(event, nodeId);\n }\n }\n },\n [\n disabled,\n expandable,\n focus,\n focused,\n isExpanded,\n multiSelect,\n nodeId,\n toggleExpansion,\n treeviewMode,\n ]\n );\n\n const handleSelection = useCallback(\n (event) => {\n if (selectable && !disabled) {\n if (treeviewMode && !focused) {\n focus(event, nodeId);\n }\n\n const multiple = multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);\n\n if (multiple) {\n if (event.shiftKey) {\n selectRange(event, { end: nodeId });\n } else {\n selectNode(event, nodeId, true);\n }\n } else {\n selectNode(event, nodeId);\n }\n }\n },\n [\n disabled,\n focus,\n focused,\n multiSelect,\n nodeId,\n selectNode,\n selectRange,\n selectable,\n treeviewMode,\n ]\n );\n\n const handleMouseDown = useCallback(\n (event) => {\n preventSelection(event, disabled);\n\n if (onMouseDown) {\n onMouseDown(event);\n }\n },\n [disabled, onMouseDown]\n );\n\n const handleClick = useCallback(\n (event) => {\n if (!disabled) {\n if (expandable) {\n handleExpansion(event);\n }\n\n if (selectable) {\n handleSelection(event);\n }\n }\n\n if (onClick) {\n onClick(event);\n }\n },\n [disabled, expandable, handleExpansion, handleSelection, onClick, selectable]\n );\n\n const handleKeyDown = useCallback(\n (event) => {\n let isEventHandled = false;\n const { key } = event;\n\n if (event.altKey || event.ctrlKey || event.metaKey || event.currentTarget !== event.target) {\n return;\n }\n if (contentRef.current === event.currentTarget) {\n if (key === \"Enter\" || key === \" \") {\n if (expandable) {\n isEventHandled = handleExpansion(event);\n }\n\n if (selectable) {\n isEventHandled = handleSelection(event);\n }\n }\n\n if (isEventHandled) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n },\n [expandable, handleExpansion, handleSelection, selectable]\n );\n\n const renderedContent = useMemo(\n () => (\n <HvTypography\n id={setId(id, \"button\")}\n component=\"div\"\n innerRef={contentRef}\n className={classes.content}\n onClick={handleClick}\n onMouseDown={handleMouseDown}\n style={{\n paddingLeft: (expandable || icon != null ? 0 : 10) + level * (collapsible ? 32 : 10),\n }}\n {...(treeviewMode\n ? {\n role: \"button\",\n tabIndex: -1,\n onFocus: handleFocus,\n }\n : {\n role: \"button\",\n tabIndex: selectable || expandable ? 0 : -1,\n onKeyDown: handleKeyDown,\n \"aria-current\": selectable && selected ? \"page\" : undefined,\n \"aria-expanded\": expandable ? expanded : undefined,\n \"aria-controls\": expandable ? setId(id, \"group\") : undefined,\n })}\n >\n {expandable && (expanded ? <DropUpXS /> : <DropDownXS />)}\n {icon}\n {label}\n </HvTypography>\n ),\n [\n id,\n classes.content,\n handleClick,\n handleMouseDown,\n expandable,\n level,\n collapsible,\n treeviewMode,\n handleFocus,\n handleKeyDown,\n selectable,\n selected,\n expanded,\n icon,\n label,\n ]\n );\n\n const renderedChildren = useMemo(\n () =>\n children && (\n <ul\n id={setId(id, \"group\")}\n className={classes.group}\n role={treeviewMode ? \"group\" : undefined}\n >\n {children}\n </ul>\n ),\n [children, classes.group, id, treeviewMode]\n );\n\n return (\n <li\n ref={handleRef}\n id={id}\n className={clsx(classes.node, className, {\n [classes.disabled]: disabled,\n [classes.expandable]: expandable,\n [classes.collapsed]: expandable && !expanded,\n [classes.expanded]: expandable && expanded,\n [classes.selectable]: !disabled && selectable,\n [classes.unselectable]: !disabled && !selectable,\n [classes.selected]: !disabled && selectable && selected,\n [classes.unselected]: !disabled && selectable && !selected,\n [classes.focused]: focused,\n })}\n data-hasicon={icon != null ? true : undefined}\n {...(mode === \"treeview\" && {\n role: \"treeitem\",\n \"aria-selected\": ariaSelected,\n \"aria-expanded\": expandable ? expanded : undefined,\n \"aria-disabled\": disabled ? true : undefined,\n })}\n {...others}\n >\n {renderedContent}\n <DescendantProvider id={nodeId} level={level + 1}>\n {renderedChildren}\n </DescendantProvider>\n </li>\n );\n});\n\nTreeViewItem.propTypes = {\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied to the Radio button.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the root of the component.\n */\n node: PropTypes.string,\n /**\n * Style applied to the content.\n */\n content: PropTypes.string,\n /**\n * Style applied to the group.\n */\n group: PropTypes.string,\n /**\n * Style applied when item is disabled.\n */\n disabled: PropTypes.string,\n /**\n * Style applied when item is expandable.\n */\n expandable: PropTypes.string,\n /**\n * Style applied when item is collapsed.\n */\n collapsed: PropTypes.string,\n /**\n * Style applied when item is expanded.\n */\n expanded: PropTypes.string,\n /**\n * Style applied when item is selectable.\n */\n selectable: PropTypes.string,\n /**\n * Style applied when item is unselectable.\n */\n unselectable: PropTypes.string,\n /**\n * Style applied when item is selected.\n */\n selected: PropTypes.string,\n /**\n * Style applied when item is unselectable.\n */\n unselected: PropTypes.string,\n /**\n * Style applied when item is focused.\n */\n focused: PropTypes.string,\n }).isRequired,\n /**\n * Is the node disabled.\n */\n disabled: PropTypes.bool,\n /**\n * Can the node be selected.\n */\n selectable: PropTypes.bool,\n /**\n * The id of the node.\n */\n nodeId: PropTypes.string.isRequired,\n /**\n * The icon to display next to the node's label.\n */\n icon: PropTypes.node,\n /**\n * The item label.\n */\n label: PropTypes.node.isRequired,\n /**\n * The node payload.\n */\n // eslint-disable-next-line react/forbid-prop-types\n payload: PropTypes.any,\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n /**\n * @ignore\n */\n onMouseDown: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n};\n\nexport default withStyles(styles, {\n name: \"HvVerticalNavigationTreeViewItem\",\n})(TreeViewItem);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TreeViewItem.js","names":["preventSelection","event","disabled","shiftKey","ctrlKey","metaKey","preventDefault","TreeViewItem","React","forwardRef","props","ref","idProp","id","className","classes","disabledProp","selectableProp","selectable","nodeId","icon","label","payload","onClick","onMouseDown","onFocus","children","others","treeViewControlContext","TreeViewControlContext","TreeViewStateContext","isExpanded","isSelected","isFocused","isDisabled","treeId","mode","collapsible","toggleExpansion","multiSelect","selectNode","selectRange","disabledItemsFocusable","registerNode","unregisterNode","mapFirstChar","unMapFirstChar","focus","treeviewMode","treeitemElement","setTreeitemElement","contentRef","handleRef","descendant","element","index","parentId","level","expandable","Boolean","Array","isArray","length","expanded","focused","selected","idAttribute","undefined","current","textContent","substring","toLowerCase","ariaSelected","handleFocus","target","currentTarget","ownerDocument","document","getElementById","preventScroll","unfocusable","handleExpansion","multiple","handleSelection","end","handleMouseDown","handleClick","handleKeyDown","isEventHandled","key","altKey","stopPropagation","renderedContent","content","paddingLeft","role","tabIndex","onKeyDown","renderedChildren","group","node","unselected","unselectable","collapsed","propTypes","PropTypes","string","shape","isRequired","bool","any","func","styles","name"],"sources":["../../../src/VerticalNavigation/TreeView/TreeViewItem.js"],"sourcesContent":["import React, { useCallback, useContext, useEffect, useMemo, useRef, useState } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\n\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport HvTypography from \"../../Typography\";\n\nimport { TreeViewControlContext, TreeViewStateContext } from \"./TreeViewContexts\";\n\nimport { setId, useForkRef } from \"../../utils\";\n\nimport { DescendantProvider, useDescendant } from \"./descendants\";\n\nimport styles from \"./styles\";\n\nconst preventSelection = (event, disabled) => {\n if (event.shiftKey || event.ctrlKey || event.metaKey || disabled) {\n // Prevent text selection\n event.preventDefault();\n }\n};\n\nconst TreeViewItem = React.forwardRef((props, ref) => {\n const {\n id: idProp,\n className,\n classes,\n\n disabled: disabledProp = false,\n\n selectable: selectableProp,\n\n nodeId,\n icon = null,\n label,\n payload,\n\n onClick,\n onMouseDown,\n onFocus,\n\n children,\n\n ...others\n } = props;\n\n const treeViewControlContext = useContext(TreeViewControlContext);\n const { isExpanded, isSelected, isFocused, isDisabled } = useContext(TreeViewStateContext);\n\n const {\n treeId,\n mode,\n collapsible,\n toggleExpansion,\n multiSelect,\n selectNode,\n selectRange,\n disabledItemsFocusable,\n registerNode,\n unregisterNode,\n mapFirstChar,\n unMapFirstChar,\n focus,\n } = treeViewControlContext;\n\n const treeviewMode = mode === \"treeview\";\n\n let id = null;\n\n if (idProp != null) {\n id = idProp;\n } else if (treeId && nodeId) {\n id = `${treeId}-${nodeId}`;\n }\n\n const [treeitemElement, setTreeitemElement] = useState(null);\n const contentRef = useRef(null);\n const handleRef = useForkRef(setTreeitemElement, ref);\n\n const descendant = useMemo(\n () => ({\n element: treeitemElement,\n id: nodeId,\n }),\n [nodeId, treeitemElement]\n );\n\n const { index, parentId, level } = useDescendant(descendant);\n\n const expandable = collapsible && Boolean(Array.isArray(children) ? children.length : children);\n const expanded = isExpanded ? isExpanded(nodeId) : false;\n const focused = isFocused ? isFocused(nodeId) : false;\n const selected = isSelected ? isSelected(nodeId) : false;\n const disabled = isDisabled ? isDisabled(nodeId) : false;\n\n const selectable = selectableProp != null ? selectableProp : !collapsible || !expandable;\n\n useEffect(() => {\n // On the first render a node's index will be -1. We want to wait for the real index.\n if (registerNode && unregisterNode && index !== -1) {\n registerNode({\n id: nodeId,\n idAttribute: id,\n index,\n parentId,\n selectable,\n expandable,\n disabled: disabledProp,\n onFocus,\n payload,\n });\n\n return () => {\n unregisterNode(nodeId);\n };\n }\n\n return undefined;\n }, [\n registerNode,\n unregisterNode,\n parentId,\n index,\n nodeId,\n expandable,\n disabledProp,\n id,\n selectable,\n onFocus,\n payload,\n ]);\n\n useEffect(() => {\n if (mapFirstChar && unMapFirstChar && label) {\n mapFirstChar(nodeId, contentRef.current?.textContent.substring(0, 1).toLowerCase());\n\n return () => {\n unMapFirstChar(nodeId);\n };\n }\n return undefined;\n }, [mapFirstChar, unMapFirstChar, nodeId, label]);\n\n let ariaSelected;\n if (multiSelect) {\n ariaSelected = selected;\n } else if (selected) {\n /* single-selection trees unset aria-selected on un-selected items.\n *\n * If the tree does not support multiple selection, aria-selected\n * is set to true for the selected node and it is not present on any other node in the tree.\n * Source: https://www.w3.org/TR/wai-aria-practices/#TreeView\n */\n ariaSelected = true;\n }\n\n const handleFocus = useCallback(\n (event) => {\n // DOM focus stays on the tree which manages focus with aria-activedescendant\n if (event.target === event.currentTarget) {\n (event.target.ownerDocument || document)\n .getElementById(treeId)\n .focus({ preventScroll: true });\n }\n\n const unfocusable = !disabledItemsFocusable && disabled;\n if (!focused && event.currentTarget === event.target && !unfocusable) {\n focus(event, nodeId);\n }\n },\n [disabled, disabledItemsFocusable, focus, focused, nodeId, treeId]\n );\n\n const handleExpansion = useCallback(\n (event) => {\n if (!disabled) {\n if (treeviewMode && !focused) {\n focus(event, nodeId);\n }\n\n const multiple = multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);\n\n // If already expanded and trying to toggle selection don't close\n if (expandable && !(multiple && isExpanded(nodeId))) {\n toggleExpansion(event, nodeId);\n }\n }\n },\n [\n disabled,\n expandable,\n focus,\n focused,\n isExpanded,\n multiSelect,\n nodeId,\n toggleExpansion,\n treeviewMode,\n ]\n );\n\n const handleSelection = useCallback(\n (event) => {\n if (selectable && !disabled) {\n if (treeviewMode && !focused) {\n focus(event, nodeId);\n }\n\n const multiple = multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);\n\n if (multiple) {\n if (event.shiftKey) {\n selectRange(event, { end: nodeId });\n } else {\n selectNode(event, nodeId, true);\n }\n } else {\n selectNode(event, nodeId);\n }\n }\n },\n [\n disabled,\n focus,\n focused,\n multiSelect,\n nodeId,\n selectNode,\n selectRange,\n selectable,\n treeviewMode,\n ]\n );\n\n const handleMouseDown = useCallback(\n (event) => {\n preventSelection(event, disabled);\n\n if (onMouseDown) {\n onMouseDown(event);\n }\n },\n [disabled, onMouseDown]\n );\n\n const handleClick = useCallback(\n (event) => {\n if (!disabled) {\n if (expandable) {\n handleExpansion(event);\n }\n\n if (selectable) {\n handleSelection(event);\n }\n }\n\n if (onClick) {\n onClick(event);\n }\n },\n [disabled, expandable, handleExpansion, handleSelection, onClick, selectable]\n );\n\n const handleKeyDown = useCallback(\n (event) => {\n let isEventHandled = false;\n const { key } = event;\n\n if (event.altKey || event.ctrlKey || event.metaKey || event.currentTarget !== event.target) {\n return;\n }\n if (contentRef.current === event.currentTarget) {\n if (key === \"Enter\" || key === \" \") {\n if (expandable) {\n isEventHandled = handleExpansion(event);\n }\n\n if (selectable) {\n isEventHandled = handleSelection(event);\n }\n }\n\n if (isEventHandled) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n },\n [expandable, handleExpansion, handleSelection, selectable]\n );\n\n const renderedContent = useMemo(\n () => (\n <HvTypography\n id={setId(id, \"button\")}\n component=\"div\"\n innerRef={contentRef}\n className={classes.content}\n onClick={handleClick}\n onMouseDown={handleMouseDown}\n style={{\n paddingLeft: (expandable || icon != null ? 0 : 10) + level * (collapsible ? 32 : 10),\n }}\n {...(treeviewMode\n ? {\n role: \"button\",\n tabIndex: -1,\n onFocus: handleFocus,\n }\n : {\n role: \"button\",\n tabIndex: selectable || expandable ? 0 : -1,\n onKeyDown: handleKeyDown,\n \"aria-current\": selectable && selected ? \"page\" : undefined,\n \"aria-expanded\": expandable ? expanded : undefined,\n \"aria-controls\": expandable ? setId(id, \"group\") : undefined,\n })}\n >\n {expandable && (expanded ? <DropUpXS /> : <DropDownXS />)}\n {icon}\n {label}\n </HvTypography>\n ),\n [\n id,\n classes.content,\n handleClick,\n handleMouseDown,\n expandable,\n level,\n collapsible,\n treeviewMode,\n handleFocus,\n handleKeyDown,\n selectable,\n selected,\n expanded,\n icon,\n label,\n ]\n );\n\n const renderedChildren = useMemo(\n () =>\n children && (\n <ul\n id={setId(id, \"group\")}\n className={classes.group}\n role={treeviewMode ? \"group\" : undefined}\n >\n {children}\n </ul>\n ),\n [children, classes.group, id, treeviewMode]\n );\n\n return (\n <li\n ref={handleRef}\n id={id}\n className={clsx(classes.node, className, {\n [classes.disabled]: disabled,\n [classes.expandable]: expandable,\n [classes.collapsed]: expandable && !expanded,\n [classes.expanded]: expandable && expanded,\n [classes.selectable]: !disabled && selectable,\n [classes.unselectable]: !disabled && !selectable,\n [classes.selected]: !disabled && selectable && selected,\n [classes.unselected]: !disabled && selectable && !selected,\n [classes.focused]: focused,\n })}\n data-hasicon={icon != null ? true : undefined}\n {...(mode === \"treeview\" && {\n role: \"treeitem\",\n \"aria-selected\": ariaSelected,\n \"aria-expanded\": expandable ? expanded : undefined,\n \"aria-disabled\": disabled ? true : undefined,\n })}\n {...others}\n >\n {renderedContent}\n <DescendantProvider id={nodeId} level={level + 1}>\n {renderedChildren}\n </DescendantProvider>\n </li>\n );\n});\n\nTreeViewItem.propTypes = {\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied to the Radio button.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the root of the component.\n */\n node: PropTypes.string,\n /**\n * Style applied to the content.\n */\n content: PropTypes.string,\n /**\n * Style applied to the group.\n */\n group: PropTypes.string,\n /**\n * Style applied when item is disabled.\n */\n disabled: PropTypes.string,\n /**\n * Style applied when item is expandable.\n */\n expandable: PropTypes.string,\n /**\n * Style applied when item is collapsed.\n */\n collapsed: PropTypes.string,\n /**\n * Style applied when item is expanded.\n */\n expanded: PropTypes.string,\n /**\n * Style applied when item is selectable.\n */\n selectable: PropTypes.string,\n /**\n * Style applied when item is unselectable.\n */\n unselectable: PropTypes.string,\n /**\n * Style applied when item is selected.\n */\n selected: PropTypes.string,\n /**\n * Style applied when item is unselectable.\n */\n unselected: PropTypes.string,\n /**\n * Style applied when item is focused.\n */\n focused: PropTypes.string,\n }).isRequired,\n /**\n * Is the node disabled.\n */\n disabled: PropTypes.bool,\n /**\n * Can the node be selected.\n */\n selectable: PropTypes.bool,\n /**\n * The id of the node.\n */\n nodeId: PropTypes.string.isRequired,\n /**\n * The icon to display next to the node's label.\n */\n icon: PropTypes.node,\n /**\n * The item label.\n */\n label: PropTypes.node.isRequired,\n /**\n * The node payload.\n */\n // eslint-disable-next-line react/forbid-prop-types\n payload: PropTypes.any,\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n /**\n * @ignore\n */\n onMouseDown: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n};\n\nexport default withStyles(styles, {\n name: \"HvVerticalNavigationTreeViewItem\",\n})(TreeViewItem);\n"],"mappings":"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"}
|
|
@@ -115,9 +115,9 @@ var HvDialog = function HvDialog(_ref) {
|
|
|
115
115
|
return _onClose(event, reason);
|
|
116
116
|
},
|
|
117
117
|
onKeyDown: keyDownHandler
|
|
118
|
-
}, others
|
|
118
|
+
}, others, {
|
|
119
119
|
"aria-modal": true
|
|
120
|
-
}, /*#__PURE__*/React.createElement(Button, {
|
|
120
|
+
}), /*#__PURE__*/React.createElement(Button, {
|
|
121
121
|
id: setId(id, "close"),
|
|
122
122
|
className: classes.closeButton,
|
|
123
123
|
category: "ghost",
|
|
@@ -129,7 +129,7 @@ var HvDialog = function HvDialog(_ref) {
|
|
|
129
129
|
return /*#__PURE__*/React.cloneElement(c, {
|
|
130
130
|
fullscreen: fullscreen
|
|
131
131
|
});
|
|
132
|
-
}) : children)
|
|
132
|
+
}) : children);
|
|
133
133
|
};
|
|
134
134
|
|
|
135
135
|
process.env.NODE_ENV !== "production" ? HvDialog.propTypes = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.js","names":["React","useCallback","useState","clsx","PropTypes","Dialog","withStyles","Close","isNil","Button","isKeypress","KeyboardCodes","setId","styles","withTooltip","getFocusableList","HvDialog","classes","className","id","children","open","onClose","firstFocusable","buttonTitle","fullscreen","others","focusableQueue","setFocusableQueue","measuredRef","node","focusableList","first","last","length","focus","element","document","getElementById","console","warn","keyDownHandler","event","Tab","target","shiftKey","preventDefault","Esc","onEscapeKeyDown","disableEscapeKeyDown","stopPropagation","closeButtonDisplay","CloseButtonTooltipWrapper","root","paper","background","reason","closeButton","Children","map","c","cloneElement","propTypes","string","shape","isRequired","bool","func","name"],"sources":["../../../src/Dialog/Dialog.js"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { Dialog, withStyles } from \"@material-ui/core\";\nimport { Close } from \"@hitachivantara/uikit-react-icons\";\nimport isNil from \"lodash/isNil\";\nimport Button from \"../Button\";\nimport { isKeypress, KeyboardCodes, setId } from \"../utils\";\nimport styles from \"./styles\";\nimport withTooltip from \"../withTooltip\";\nimport { getFocusableList } from \"../utils/focusableElementFinder\";\n\n/**\n * The Dialog component provides a solid foundation for creating dialogs, popovers, lightboxes, etc.\n * It is created by the composition of DialogTitle, DialogContent and DialogActions components, passed as child elements.\n */\nconst HvDialog = ({\n classes,\n className,\n id,\n children,\n open,\n onClose,\n firstFocusable,\n buttonTitle = \"Close\",\n fullscreen = false,\n ...others\n}) => {\n const [focusableQueue, setFocusableQueue] = useState(null);\n\n const measuredRef = useCallback(\n (node) => {\n if (node) {\n const focusableList = getFocusableList(node);\n setFocusableQueue({\n first: focusableList[1],\n last: focusableList[focusableList.length - 2],\n });\n if (isNil(firstFocusable)) focusableList[1].focus();\n else {\n const element = document.getElementById(firstFocusable);\n if (element) element.focus();\n else {\n // eslint-disable-next-line no-console\n console.warn(`firstFocusable element ${firstFocusable} not found.`);\n focusableList[1].focus();\n }\n }\n }\n },\n [firstFocusable]\n );\n\n const keyDownHandler = (event) => {\n if (isKeypress(event, KeyboardCodes.Tab) && !isNil(event.target) && !isNil(focusableQueue)) {\n if (event.shiftKey && event.target === focusableQueue.first) {\n focusableQueue.last.focus();\n event.preventDefault();\n }\n if (!event.shiftKey && event.target === focusableQueue.last) {\n focusableQueue.first.focus();\n event.preventDefault();\n }\n }\n // Needed as this handler overrides the one in the material ui Modal.\n else if (isKeypress(event, KeyboardCodes.Esc)) {\n if (others.onEscapeKeyDown) {\n others.onEscapeKeyDown(event);\n }\n\n if (!others.disableEscapeKeyDown) {\n // Swallow the event, in case someone is listening for the escape key on the body.\n event.stopPropagation();\n\n if (onClose) {\n onClose(event, \"escapeKeyDown\");\n }\n }\n }\n };\n\n const closeButtonDisplay = () => <Close role=\"presentation\" />;\n\n const CloseButtonTooltipWrapper = buttonTitle\n ? withTooltip(closeButtonDisplay, buttonTitle, \"top\")\n : closeButtonDisplay;\n\n return (\n <Dialog\n className={clsx(classes.root, className)}\n id={id}\n ref={measuredRef}\n open={open}\n PaperProps={{\n classes: {\n root: clsx(classes.paper, fullscreen ? \"fullscreen\" : \"\"),\n },\n }}\n fullScreen={fullscreen}\n BackdropProps={{\n classes: {\n root: classes.background,\n },\n }}\n onClose={(event, reason) => onClose(event, reason)}\n onKeyDown={keyDownHandler}\n {...others}\n >\n <div aria-modal>\n <Button\n id={setId(id, \"close\")}\n className={classes.closeButton}\n category=\"ghost\"\n onClick={(event) => onClose(event)}\n aria-label={buttonTitle}\n >\n <CloseButtonTooltipWrapper />\n </Button>\n {children && typeof children === \"object\"\n ? React.Children.map(children, (c) => React.cloneElement(c, { fullscreen }))\n : children}\n </div>\n </Dialog>\n );\n};\n\nHvDialog.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the root of the component.\n */\n root: PropTypes.string,\n /**\n * Style applied to the background (outside) of the component.\n */\n background: PropTypes.string,\n /**\n * Style applied to the component (root).\n */\n paper: PropTypes.string,\n /**\n * Style applied to the close button.\n */\n closeButton: PropTypes.string,\n }).isRequired,\n /**\n * Components of the Dialog.\n */\n children: PropTypes.node.isRequired,\n /**\n * Current state of the Dialog.\n */\n open: PropTypes.bool.isRequired,\n /**\n * Function executed on close.\n */\n onClose: PropTypes.func.isRequired,\n /**\n * Element id that should be focus when the Dialog opens.\n */\n firstFocusable: PropTypes.string,\n /**\n * Title for the button close.\n */\n buttonTitle: PropTypes.string,\n /**\n * Set the dialog to fullscreen mode.\n */\n fullscreen: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvDialog\" })(HvDialog);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Dialog.js","names":["React","useCallback","useState","clsx","PropTypes","Dialog","withStyles","Close","isNil","Button","isKeypress","KeyboardCodes","setId","styles","withTooltip","getFocusableList","HvDialog","classes","className","id","children","open","onClose","firstFocusable","buttonTitle","fullscreen","others","focusableQueue","setFocusableQueue","measuredRef","node","focusableList","first","last","length","focus","element","document","getElementById","console","warn","keyDownHandler","event","Tab","target","shiftKey","preventDefault","Esc","onEscapeKeyDown","disableEscapeKeyDown","stopPropagation","closeButtonDisplay","CloseButtonTooltipWrapper","root","paper","background","reason","closeButton","Children","map","c","cloneElement","propTypes","string","shape","isRequired","bool","func","name"],"sources":["../../../src/Dialog/Dialog.js"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { Dialog, withStyles } from \"@material-ui/core\";\nimport { Close } from \"@hitachivantara/uikit-react-icons\";\nimport isNil from \"lodash/isNil\";\nimport Button from \"../Button\";\nimport { isKeypress, KeyboardCodes, setId } from \"../utils\";\nimport styles from \"./styles\";\nimport withTooltip from \"../withTooltip\";\nimport { getFocusableList } from \"../utils/focusableElementFinder\";\n\n/**\n * The Dialog component provides a solid foundation for creating dialogs, popovers, lightboxes, etc.\n * It is created by the composition of DialogTitle, DialogContent and DialogActions components, passed as child elements.\n */\nconst HvDialog = ({\n classes,\n className,\n id,\n children,\n open,\n onClose,\n firstFocusable,\n buttonTitle = \"Close\",\n fullscreen = false,\n ...others\n}) => {\n const [focusableQueue, setFocusableQueue] = useState(null);\n\n const measuredRef = useCallback(\n (node) => {\n if (node) {\n const focusableList = getFocusableList(node);\n setFocusableQueue({\n first: focusableList[1],\n last: focusableList[focusableList.length - 2],\n });\n if (isNil(firstFocusable)) focusableList[1].focus();\n else {\n const element = document.getElementById(firstFocusable);\n if (element) element.focus();\n else {\n // eslint-disable-next-line no-console\n console.warn(`firstFocusable element ${firstFocusable} not found.`);\n focusableList[1].focus();\n }\n }\n }\n },\n [firstFocusable]\n );\n\n const keyDownHandler = (event) => {\n if (isKeypress(event, KeyboardCodes.Tab) && !isNil(event.target) && !isNil(focusableQueue)) {\n if (event.shiftKey && event.target === focusableQueue.first) {\n focusableQueue.last.focus();\n event.preventDefault();\n }\n if (!event.shiftKey && event.target === focusableQueue.last) {\n focusableQueue.first.focus();\n event.preventDefault();\n }\n }\n // Needed as this handler overrides the one in the material ui Modal.\n else if (isKeypress(event, KeyboardCodes.Esc)) {\n if (others.onEscapeKeyDown) {\n others.onEscapeKeyDown(event);\n }\n\n if (!others.disableEscapeKeyDown) {\n // Swallow the event, in case someone is listening for the escape key on the body.\n event.stopPropagation();\n\n if (onClose) {\n onClose(event, \"escapeKeyDown\");\n }\n }\n }\n };\n\n const closeButtonDisplay = () => <Close role=\"presentation\" />;\n\n const CloseButtonTooltipWrapper = buttonTitle\n ? withTooltip(closeButtonDisplay, buttonTitle, \"top\")\n : closeButtonDisplay;\n\n return (\n <Dialog\n className={clsx(classes.root, className)}\n id={id}\n ref={measuredRef}\n open={open}\n PaperProps={{\n classes: {\n root: clsx(classes.paper, fullscreen ? \"fullscreen\" : \"\"),\n },\n }}\n fullScreen={fullscreen}\n BackdropProps={{\n classes: {\n root: classes.background,\n },\n }}\n onClose={(event, reason) => onClose(event, reason)}\n onKeyDown={keyDownHandler}\n {...others}\n aria-modal\n >\n <Button\n id={setId(id, \"close\")}\n className={classes.closeButton}\n category=\"ghost\"\n onClick={(event) => onClose(event)}\n aria-label={buttonTitle}\n >\n <CloseButtonTooltipWrapper />\n </Button>\n {children && typeof children === \"object\"\n ? React.Children.map(children, (c) => React.cloneElement(c, { fullscreen }))\n : children}\n </Dialog>\n );\n};\n\nHvDialog.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the root of the component.\n */\n root: PropTypes.string,\n /**\n * Style applied to the background (outside) of the component.\n */\n background: PropTypes.string,\n /**\n * Style applied to the component (root).\n */\n paper: PropTypes.string,\n /**\n * Style applied to the close button.\n */\n closeButton: PropTypes.string,\n }).isRequired,\n /**\n * Components of the Dialog.\n */\n children: PropTypes.node.isRequired,\n /**\n * Current state of the Dialog.\n */\n open: PropTypes.bool.isRequired,\n /**\n * Function executed on close.\n */\n onClose: PropTypes.func.isRequired,\n /**\n * Element id that should be focus when the Dialog opens.\n */\n firstFocusable: PropTypes.string,\n /**\n * Title for the button close.\n */\n buttonTitle: PropTypes.string,\n /**\n * Set the dialog to fullscreen mode.\n */\n fullscreen: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvDialog\" })(HvDialog);\n"],"mappings":"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"}
|
|
@@ -3,7 +3,9 @@ var styles = function styles(theme) {
|
|
|
3
3
|
root: {
|
|
4
4
|
margin: "0",
|
|
5
5
|
padding: theme.hv.spacing.sm,
|
|
6
|
-
borderTop: "3px solid ".concat(theme.hv.palette.atmosphere.atmo2)
|
|
6
|
+
borderTop: "3px solid ".concat(theme.hv.palette.atmosphere.atmo2),
|
|
7
|
+
height: 100,
|
|
8
|
+
flex: 1
|
|
7
9
|
},
|
|
8
10
|
spacing: {
|
|
9
11
|
"& > :not(:first-child)": {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","names":["styles","theme","root","margin","padding","hv","spacing","sm","borderTop","palette","atmosphere","atmo2","marginLeft","xs","fullscreen","position","width","bottom","left"],"sources":["../../../../src/Dialog/DialogActions/styles.js"],"sourcesContent":["const styles = (theme) => ({\n root: {\n margin: \"0\",\n padding: theme.hv.spacing.sm,\n borderTop: `3px solid ${theme.hv.palette.atmosphere.atmo2}`,\n },\n spacing: {\n \"& > :not(:first-child)\": {\n marginLeft: theme.hv.spacing.xs,\n },\n },\n fullscreen: {\n position: \"fixed\",\n width: \"100%\",\n bottom: 0,\n left: 0,\n },\n});\n\nexport default styles;\n"],"mappings":"AAAA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;EAAA,OAAY;IACzBC,IAAI,EAAE;MACJC,MAAM,EAAE,GADJ;MAEJC,OAAO,EAAEH,KAAK,CAACI,EAAN,CAASC,OAAT,CAAiBC,EAFtB;MAGJC,SAAS,sBAAeP,KAAK,CAACI,EAAN,CAASI,OAAT,CAAiBC,UAAjB,CAA4BC,KAA3C;
|
|
1
|
+
{"version":3,"file":"styles.js","names":["styles","theme","root","margin","padding","hv","spacing","sm","borderTop","palette","atmosphere","atmo2","height","flex","marginLeft","xs","fullscreen","position","width","bottom","left"],"sources":["../../../../src/Dialog/DialogActions/styles.js"],"sourcesContent":["const styles = (theme) => ({\n root: {\n margin: \"0\",\n padding: theme.hv.spacing.sm,\n borderTop: `3px solid ${theme.hv.palette.atmosphere.atmo2}`,\n height: 100,\n flex: 1,\n },\n spacing: {\n \"& > :not(:first-child)\": {\n marginLeft: theme.hv.spacing.xs,\n },\n },\n fullscreen: {\n position: \"fixed\",\n width: \"100%\",\n bottom: 0,\n left: 0,\n },\n});\n\nexport default styles;\n"],"mappings":"AAAA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;EAAA,OAAY;IACzBC,IAAI,EAAE;MACJC,MAAM,EAAE,GADJ;MAEJC,OAAO,EAAEH,KAAK,CAACI,EAAN,CAASC,OAAT,CAAiBC,EAFtB;MAGJC,SAAS,sBAAeP,KAAK,CAACI,EAAN,CAASI,OAAT,CAAiBC,UAAjB,CAA4BC,KAA3C,CAHL;MAIJC,MAAM,EAAE,GAJJ;MAKJC,IAAI,EAAE;IALF,CADmB;IAQzBP,OAAO,EAAE;MACP,0BAA0B;QACxBQ,UAAU,EAAEb,KAAK,CAACI,EAAN,CAASC,OAAT,CAAiBS;MADL;IADnB,CARgB;IAazBC,UAAU,EAAE;MACVC,QAAQ,EAAE,OADA;MAEVC,KAAK,EAAE,MAFG;MAGVC,MAAM,EAAE,CAHE;MAIVC,IAAI,EAAE;IAJI;EAba,CAAZ;AAAA,CAAf;;AAqBA,eAAepB,MAAf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","names":["styles","theme","root","padding","hvSpacing","flex","textContent","marginLeft","
|
|
1
|
+
{"version":3,"file":"styles.js","names":["styles","theme","root","padding","hvSpacing","flex","textContent","marginLeft","paddingRight","overflowY"],"sources":["../../../../src/Dialog/DialogContent/styles.js"],"sourcesContent":["const styles = (theme) => ({\n root: {\n padding: theme.hvSpacing(0, \"sm\", \"sm\", \"sm\"),\n flex: \"none\",\n },\n textContent: {\n marginLeft: \"42px\",\n paddingRight: \"62px\",\n flex: 1,\n overflowY: \"auto\",\n },\n});\n\nexport default styles;\n"],"mappings":"AAAA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;EAAA,OAAY;IACzBC,IAAI,EAAE;MACJC,OAAO,EAAEF,KAAK,CAACG,SAAN,CAAgB,CAAhB,EAAmB,IAAnB,EAAyB,IAAzB,EAA+B,IAA/B,CADL;MAEJC,IAAI,EAAE;IAFF,CADmB;IAKzBC,WAAW,EAAE;MACXC,UAAU,EAAE,MADD;MAEXC,YAAY,EAAE,MAFH;MAGXH,IAAI,EAAE,CAHK;MAIXI,SAAS,EAAE;IAJA;EALY,CAAZ;AAAA,CAAf;;AAaA,eAAeT,MAAf"}
|
|
@@ -21,13 +21,14 @@ var HvDialogTitle = function HvDialogTitle(_ref) {
|
|
|
21
21
|
customIcon = _ref$customIcon === void 0 ? null : _ref$customIcon,
|
|
22
22
|
others = _objectWithoutProperties(_ref, _excluded);
|
|
23
23
|
|
|
24
|
-
var isString = typeof children === "string";
|
|
24
|
+
var isString = typeof children === "string";
|
|
25
|
+
var fullscreen = others.fullscreen; // prevent the `fullscreen` prop from being passed to the `DialogTitle` component
|
|
25
26
|
// eslint-disable-next-line no-param-reassign
|
|
26
27
|
|
|
27
28
|
delete others.fullscreen;
|
|
28
29
|
var icon = customIcon || showIcon && iconVariant(variant);
|
|
29
30
|
return /*#__PURE__*/React.createElement(DialogTitle, _extends({
|
|
30
|
-
className: clsx(classes.root, className),
|
|
31
|
+
className: clsx(classes.root, className, fullscreen && "fullscreen"),
|
|
31
32
|
disableTypography: true
|
|
32
33
|
}, others), /*#__PURE__*/React.createElement("div", {
|
|
33
34
|
className: classes.messageContainer
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DialogTitle.js","names":["React","PropTypes","clsx","DialogTitle","withStyles","HvTypography","iconVariant","styles","HvDialogTitle","classes","className","children","variant","showIcon","customIcon","others","isString","fullscreen","icon","root","messageContainer","textWithIcon","propTypes","string","shape","closeButton","isRequired","oneOf","bool","node","name"],"sources":["../../../../src/Dialog/DialogTitle/DialogTitle.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { DialogTitle, withStyles } from \"@material-ui/core\";\nimport HvTypography from \"../../Typography\";\nimport iconVariant from \"../../utils/iconVariant\";\nimport styles from \"./styles\";\n\nconst HvDialogTitle = ({\n classes,\n className,\n children,\n variant = \"default\",\n showIcon = true,\n customIcon = null,\n ...others\n}) => {\n const isString = typeof children === \"string\";\n // prevent the `fullscreen` prop from being passed to the `DialogTitle` component\n // eslint-disable-next-line no-param-reassign\n delete others.fullscreen;\n\n const icon = customIcon || (showIcon && iconVariant(variant));\n\n return (\n <DialogTitle
|
|
1
|
+
{"version":3,"file":"DialogTitle.js","names":["React","PropTypes","clsx","DialogTitle","withStyles","HvTypography","iconVariant","styles","HvDialogTitle","classes","className","children","variant","showIcon","customIcon","others","isString","fullscreen","icon","root","messageContainer","textWithIcon","propTypes","string","shape","closeButton","isRequired","oneOf","bool","node","name"],"sources":["../../../../src/Dialog/DialogTitle/DialogTitle.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { DialogTitle, withStyles } from \"@material-ui/core\";\nimport HvTypography from \"../../Typography\";\nimport iconVariant from \"../../utils/iconVariant\";\nimport styles from \"./styles\";\n\nconst HvDialogTitle = ({\n classes,\n className,\n children,\n variant = \"default\",\n showIcon = true,\n customIcon = null,\n ...others\n}) => {\n const isString = typeof children === \"string\";\n const { fullscreen } = others;\n\n // prevent the `fullscreen` prop from being passed to the `DialogTitle` component\n // eslint-disable-next-line no-param-reassign\n delete others.fullscreen;\n\n const icon = customIcon || (showIcon && iconVariant(variant));\n\n return (\n <DialogTitle\n className={clsx(classes.root, className, fullscreen ? \"fullscreen\" : \"\")}\n disableTypography\n {...others}\n >\n <div className={classes.messageContainer}>\n {icon}\n <div className={clsx({ [classes.textWithIcon]: icon })}>\n {!isString && children}\n {isString && <HvTypography variant=\"xxsTitle\">{children}</HvTypography>}\n </div>\n </div>\n </DialogTitle>\n );\n};\n\nHvDialogTitle.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the root of the component (container for the title).\n */\n root: PropTypes.string,\n /**\n * Style applied to the container of the title\n */\n messageContainer: PropTypes.string,\n /**\n * Style applied to the text when the icon is present.\n */\n textWithIcon: PropTypes.string,\n /**\n * Style applied to the icon.\n */\n icon: PropTypes.string,\n /**\n * Style applied to the close button.\n */\n closeButton: PropTypes.string,\n }).isRequired,\n /**\n * Variant of the Dialog.\n */\n variant: PropTypes.oneOf([\"success\", \"warning\", \"error\", \"info\", \"default\"]),\n /**\n * Controls if the associated icon to the variant should be shown.\n */\n showIcon: PropTypes.bool,\n /**\n * Custom icon to replace the variant default.\n */\n customIcon: PropTypes.node,\n /**\n * Node to be render.\n */\n children: PropTypes.node.isRequired,\n};\n\nexport default withStyles(styles, { name: \"HvDialogTitle\" })(HvDialogTitle);\n"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,IAAP,MAAiB,MAAjB;AACA,SAASC,WAAT,EAAsBC,UAAtB,QAAwC,mBAAxC;AACA,OAAOC,YAAP,MAAyB,kBAAzB;AACA,OAAOC,WAAP,MAAwB,yBAAxB;AACA,OAAOC,MAAP,MAAmB,UAAnB;;AAEA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,OAQhB;EAAA,IAPJC,OAOI,QAPJA,OAOI;EAAA,IANJC,SAMI,QANJA,SAMI;EAAA,IALJC,QAKI,QALJA,QAKI;EAAA,wBAJJC,OAII;EAAA,IAJJA,OAII,6BAJM,SAIN;EAAA,yBAHJC,QAGI;EAAA,IAHJA,QAGI,8BAHO,IAGP;EAAA,2BAFJC,UAEI;EAAA,IAFJA,UAEI,gCAFS,IAET;EAAA,IADDC,MACC;;EACJ,IAAMC,QAAQ,GAAG,OAAOL,QAAP,KAAoB,QAArC;EACA,IAAQM,UAAR,GAAuBF,MAAvB,CAAQE,UAAR,CAFI,CAIJ;EACA;;EACA,OAAOF,MAAM,CAACE,UAAd;EAEA,IAAMC,IAAI,GAAGJ,UAAU,IAAKD,QAAQ,IAAIP,WAAW,CAACM,OAAD,CAAnD;EAEA,oBACE,oBAAC,WAAD;IACE,SAAS,EAAEV,IAAI,CAACO,OAAO,CAACU,IAAT,EAAeT,SAAf,EAA0BO,UAA1B,IAAuC,YAAvC,CADjB;IAEE,iBAAiB;EAFnB,GAGMF,MAHN,gBAKE;IAAK,SAAS,EAAEN,OAAO,CAACW;EAAxB,GACGF,IADH,eAEE;IAAK,SAAS,EAAEhB,IAAI,CAA2BgB,IAA3B,IAAIT,OAAO,CAACY,YAAZ;EAApB,GACG,CAACL,QAAD,IAAaL,QADhB,EAEGK,QAAQ,iBAAI,oBAAC,YAAD;IAAc,OAAO,EAAC;EAAtB,GAAkCL,QAAlC,CAFf,CAFF,CALF,CADF;AAeD,CAjCD;;AAmCA,wCAAAH,aAAa,CAACc,SAAd,GAA0B;EACxB;AACF;AACA;EACEZ,SAAS,EAAET,SAAS,CAACsB,MAJG;;EAKxB;AACF;AACA;EACEd,OAAO,EAAER,SAAS,CAACuB,KAAV,CAAgB;IACvB;AACJ;AACA;IACIL,IAAI,EAAElB,SAAS,CAACsB,MAJO;;IAKvB;AACJ;AACA;IACIH,gBAAgB,EAAEnB,SAAS,CAACsB,MARL;;IASvB;AACJ;AACA;IACIF,YAAY,EAAEpB,SAAS,CAACsB,MAZD;;IAavB;AACJ;AACA;IACIL,IAAI,EAAEjB,SAAS,CAACsB,MAhBO;;IAiBvB;AACJ;AACA;IACIE,WAAW,EAAExB,SAAS,CAACsB;EApBA,CAAhB,EAqBNG,UA7BqB;;EA8BxB;AACF;AACA;EACEd,OAAO,EAAEX,SAAS,CAAC0B,KAAV,CAAgB,CAAC,SAAD,EAAY,SAAZ,EAAuB,OAAvB,EAAgC,MAAhC,EAAwC,SAAxC,CAAhB,CAjCe;;EAkCxB;AACF;AACA;EACEd,QAAQ,EAAEZ,SAAS,CAAC2B,IArCI;;EAsCxB;AACF;AACA;EACEd,UAAU,EAAEb,SAAS,CAAC4B,IAzCE;;EA0CxB;AACF;AACA;EACElB,QAAQ,EAAEV,SAAS,CAAC4B,IAAV,CAAeH;AA7CD,CAA1B;AAgDA,eAAetB,UAAU,CAACG,MAAD,EAAS;EAAEuB,IAAI,EAAE;AAAR,CAAT,CAAV,CAA8CtB,aAA9C,CAAf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","names":["styles","theme","root","padding","hvSpacing","margin","
|
|
1
|
+
{"version":3,"file":"styles.js","names":["styles","theme","root","padding","hvSpacing","margin","flex","messageContainer","display","alignItems","textWithIcon","marginLeft","marginRight","icon","hv","spacing","md","width","height"],"sources":["../../../../src/Dialog/DialogTitle/styles.js"],"sourcesContent":["const styles = (theme) => ({\n root: {\n padding: theme.hvSpacing(\"sm\"),\n margin: 0,\n \"&:not(.fullscreen)\": {\n flex: 1,\n },\n },\n messageContainer: {\n display: \"flex\",\n alignItems: \"center\",\n },\n textWithIcon: {\n marginLeft: theme.hvSpacing(\"xs\"),\n // 32px is the icon width\n marginRight: `calc(32px + ${theme.hvSpacing(\"xs\")})`,\n },\n icon: {\n marginRight: theme.hv.spacing.md,\n width: 48,\n height: 48,\n },\n});\n\nexport default styles;\n"],"mappings":"AAAA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;EAAA,OAAY;IACzBC,IAAI,EAAE;MACJC,OAAO,EAAEF,KAAK,CAACG,SAAN,CAAgB,IAAhB,CADL;MAEJC,MAAM,EAAE,CAFJ;MAGJ,sBAAsB;QACpBC,IAAI,EAAE;MADc;IAHlB,CADmB;IAQzBC,gBAAgB,EAAE;MAChBC,OAAO,EAAE,MADO;MAEhBC,UAAU,EAAE;IAFI,CARO;IAYzBC,YAAY,EAAE;MACZC,UAAU,EAAEV,KAAK,CAACG,SAAN,CAAgB,IAAhB,CADA;MAEZ;MACAQ,WAAW,wBAAiBX,KAAK,CAACG,SAAN,CAAgB,IAAhB,CAAjB;IAHC,CAZW;IAiBzBS,IAAI,EAAE;MACJD,WAAW,EAAEX,KAAK,CAACa,EAAN,CAASC,OAAT,CAAiBC,EAD1B;MAEJC,KAAK,EAAE,EAFH;MAGJC,MAAM,EAAE;IAHJ;EAjBmB,CAAZ;AAAA,CAAf;;AAwBA,eAAelB,MAAf"}
|
|
@@ -11,7 +11,9 @@ var styles = function styles(theme) {
|
|
|
11
11
|
overflow: "auto",
|
|
12
12
|
boxShadow: theme.hv.shadows[1],
|
|
13
13
|
"&:not(.fullscreen)": {
|
|
14
|
-
maxHeight: "calc(100% - 200px)"
|
|
14
|
+
maxHeight: "calc(100% - 200px)",
|
|
15
|
+
display: "flex",
|
|
16
|
+
flexDirection: "column"
|
|
15
17
|
}
|
|
16
18
|
},
|
|
17
19
|
closeButton: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","names":["fade","styles","theme","background","hv","palette","atmosphere","atmo4","paper","atmo1","padding","overflow","boxShadow","shadows","maxHeight","closeButton","minWidth","position","top","hvSpacing","right"],"sources":["../../../src/Dialog/styles.js"],"sourcesContent":["import fade from \"../utils/hexToRgbA\";\n\nconst styles = (theme) => ({\n background: {\n background: fade(theme.hv.palette.atmosphere.atmo4, 0.8),\n },\n paper: {\n background: `${theme.hv.palette.atmosphere.atmo1}`,\n padding: \"0px\",\n overflow: \"auto\",\n boxShadow: theme.hv.shadows[1],\n \"&:not(.fullscreen)\": {\n maxHeight: \"calc(100% - 200px)\",\n },\n },\n closeButton: {\n padding: 0,\n minWidth: \"inherit\",\n position: \"absolute\",\n top: theme.hvSpacing(\"sm\"),\n right: theme.hvSpacing(\"sm\"),\n },\n});\n\nexport default styles;\n"],"mappings":"AAAA,OAAOA,IAAP,MAAiB,oBAAjB;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;EAAA,OAAY;IACzBC,UAAU,EAAE;MACVA,UAAU,EAAEH,IAAI,CAACE,KAAK,CAACE,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BC,KAA7B,EAAoC,GAApC;IADN,CADa;IAIzBC,KAAK,EAAE;MACLL,UAAU,YAAKD,KAAK,CAACE,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BG,KAAjC,CADL;MAELC,OAAO,EAAE,KAFJ;MAGLC,QAAQ,EAAE,MAHL;MAILC,SAAS,EAAEV,KAAK,CAACE,EAAN,CAASS,OAAT,CAAiB,CAAjB,CAJN;MAKL,sBAAsB;QACpBC,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"styles.js","names":["fade","styles","theme","background","hv","palette","atmosphere","atmo4","paper","atmo1","padding","overflow","boxShadow","shadows","maxHeight","display","flexDirection","closeButton","minWidth","position","top","hvSpacing","right"],"sources":["../../../src/Dialog/styles.js"],"sourcesContent":["import fade from \"../utils/hexToRgbA\";\n\nconst styles = (theme) => ({\n background: {\n background: fade(theme.hv.palette.atmosphere.atmo4, 0.8),\n },\n paper: {\n background: `${theme.hv.palette.atmosphere.atmo1}`,\n padding: \"0px\",\n overflow: \"auto\",\n boxShadow: theme.hv.shadows[1],\n \"&:not(.fullscreen)\": {\n maxHeight: \"calc(100% - 200px)\",\n display: \"flex\",\n flexDirection: \"column\",\n },\n },\n closeButton: {\n padding: 0,\n minWidth: \"inherit\",\n position: \"absolute\",\n top: theme.hvSpacing(\"sm\"),\n right: theme.hvSpacing(\"sm\"),\n },\n});\n\nexport default styles;\n"],"mappings":"AAAA,OAAOA,IAAP,MAAiB,oBAAjB;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;EAAA,OAAY;IACzBC,UAAU,EAAE;MACVA,UAAU,EAAEH,IAAI,CAACE,KAAK,CAACE,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BC,KAA7B,EAAoC,GAApC;IADN,CADa;IAIzBC,KAAK,EAAE;MACLL,UAAU,YAAKD,KAAK,CAACE,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BG,KAAjC,CADL;MAELC,OAAO,EAAE,KAFJ;MAGLC,QAAQ,EAAE,MAHL;MAILC,SAAS,EAAEV,KAAK,CAACE,EAAN,CAASS,OAAT,CAAiB,CAAjB,CAJN;MAKL,sBAAsB;QACpBC,SAAS,EAAE,oBADS;QAEpBC,OAAO,EAAE,MAFW;QAGpBC,aAAa,EAAE;MAHK;IALjB,CAJkB;IAezBC,WAAW,EAAE;MACXP,OAAO,EAAE,CADE;MAEXQ,QAAQ,EAAE,SAFC;MAGXC,QAAQ,EAAE,UAHC;MAIXC,GAAG,EAAElB,KAAK,CAACmB,SAAN,CAAgB,IAAhB,CAJM;MAKXC,KAAK,EAAEpB,KAAK,CAACmB,SAAN,CAAgB,IAAhB;IALI;EAfY,CAAZ;AAAA,CAAf;;AAwBA,eAAepB,MAAf"}
|
|
@@ -120,7 +120,9 @@ var TreeViewItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
120
120
|
}, [registerNode, unregisterNode, parentId, index, nodeId, expandable, disabledProp, id, selectable, onFocus, payload]);
|
|
121
121
|
useEffect(function () {
|
|
122
122
|
if (mapFirstChar && unMapFirstChar && label) {
|
|
123
|
-
|
|
123
|
+
var _contentRef$current;
|
|
124
|
+
|
|
125
|
+
mapFirstChar(nodeId, (_contentRef$current = contentRef.current) === null || _contentRef$current === void 0 ? void 0 : _contentRef$current.textContent.substring(0, 1).toLowerCase());
|
|
124
126
|
return function () {
|
|
125
127
|
unMapFirstChar(nodeId);
|
|
126
128
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeViewItem.js","names":["React","useCallback","useContext","useEffect","useMemo","useRef","useState","clsx","PropTypes","withStyles","DropDownXS","DropUpXS","HvTypography","TreeViewControlContext","TreeViewStateContext","setId","useForkRef","DescendantProvider","useDescendant","styles","preventSelection","event","disabled","shiftKey","ctrlKey","metaKey","preventDefault","TreeViewItem","forwardRef","props","ref","idProp","id","className","classes","disabledProp","selectableProp","selectable","nodeId","icon","label","payload","onClick","onMouseDown","onFocus","children","others","treeViewControlContext","isExpanded","isSelected","isFocused","isDisabled","treeId","mode","collapsible","toggleExpansion","multiSelect","selectNode","selectRange","disabledItemsFocusable","registerNode","unregisterNode","mapFirstChar","unMapFirstChar","focus","treeviewMode","treeitemElement","setTreeitemElement","contentRef","handleRef","descendant","element","index","parentId","level","expandable","Boolean","Array","isArray","length","expanded","focused","selected","idAttribute","undefined","current","textContent","substring","toLowerCase","ariaSelected","handleFocus","target","currentTarget","ownerDocument","document","getElementById","preventScroll","unfocusable","handleExpansion","multiple","handleSelection","end","handleMouseDown","handleClick","handleKeyDown","isEventHandled","key","altKey","stopPropagation","renderedContent","content","paddingLeft","role","tabIndex","onKeyDown","renderedChildren","group","node","unselected","unselectable","collapsed","propTypes","string","shape","isRequired","bool","any","func","name"],"sources":["../../../../src/VerticalNavigation/TreeView/TreeViewItem.js"],"sourcesContent":["import React, { useCallback, useContext, useEffect, useMemo, useRef, useState } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\n\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport HvTypography from \"../../Typography\";\n\nimport { TreeViewControlContext, TreeViewStateContext } from \"./TreeViewContexts\";\n\nimport { setId, useForkRef } from \"../../utils\";\n\nimport { DescendantProvider, useDescendant } from \"./descendants\";\n\nimport styles from \"./styles\";\n\nconst preventSelection = (event, disabled) => {\n if (event.shiftKey || event.ctrlKey || event.metaKey || disabled) {\n // Prevent text selection\n event.preventDefault();\n }\n};\n\nconst TreeViewItem = React.forwardRef((props, ref) => {\n const {\n id: idProp,\n className,\n classes,\n\n disabled: disabledProp = false,\n\n selectable: selectableProp,\n\n nodeId,\n icon = null,\n label,\n payload,\n\n onClick,\n onMouseDown,\n onFocus,\n\n children,\n\n ...others\n } = props;\n\n const treeViewControlContext = useContext(TreeViewControlContext);\n const { isExpanded, isSelected, isFocused, isDisabled } = useContext(TreeViewStateContext);\n\n const {\n treeId,\n mode,\n collapsible,\n toggleExpansion,\n multiSelect,\n selectNode,\n selectRange,\n disabledItemsFocusable,\n registerNode,\n unregisterNode,\n mapFirstChar,\n unMapFirstChar,\n focus,\n } = treeViewControlContext;\n\n const treeviewMode = mode === \"treeview\";\n\n let id = null;\n\n if (idProp != null) {\n id = idProp;\n } else if (treeId && nodeId) {\n id = `${treeId}-${nodeId}`;\n }\n\n const [treeitemElement, setTreeitemElement] = useState(null);\n const contentRef = useRef(null);\n const handleRef = useForkRef(setTreeitemElement, ref);\n\n const descendant = useMemo(\n () => ({\n element: treeitemElement,\n id: nodeId,\n }),\n [nodeId, treeitemElement]\n );\n\n const { index, parentId, level } = useDescendant(descendant);\n\n const expandable = collapsible && Boolean(Array.isArray(children) ? children.length : children);\n const expanded = isExpanded ? isExpanded(nodeId) : false;\n const focused = isFocused ? isFocused(nodeId) : false;\n const selected = isSelected ? isSelected(nodeId) : false;\n const disabled = isDisabled ? isDisabled(nodeId) : false;\n\n const selectable = selectableProp != null ? selectableProp : !collapsible || !expandable;\n\n useEffect(() => {\n // On the first render a node's index will be -1. We want to wait for the real index.\n if (registerNode && unregisterNode && index !== -1) {\n registerNode({\n id: nodeId,\n idAttribute: id,\n index,\n parentId,\n selectable,\n expandable,\n disabled: disabledProp,\n onFocus,\n payload,\n });\n\n return () => {\n unregisterNode(nodeId);\n };\n }\n\n return undefined;\n }, [\n registerNode,\n unregisterNode,\n parentId,\n index,\n nodeId,\n expandable,\n disabledProp,\n id,\n selectable,\n onFocus,\n payload,\n ]);\n\n useEffect(() => {\n if (mapFirstChar && unMapFirstChar && label) {\n mapFirstChar(nodeId, contentRef.current.textContent.substring(0, 1).toLowerCase());\n\n return () => {\n unMapFirstChar(nodeId);\n };\n }\n return undefined;\n }, [mapFirstChar, unMapFirstChar, nodeId, label]);\n\n let ariaSelected;\n if (multiSelect) {\n ariaSelected = selected;\n } else if (selected) {\n /* single-selection trees unset aria-selected on un-selected items.\n *\n * If the tree does not support multiple selection, aria-selected\n * is set to true for the selected node and it is not present on any other node in the tree.\n * Source: https://www.w3.org/TR/wai-aria-practices/#TreeView\n */\n ariaSelected = true;\n }\n\n const handleFocus = useCallback(\n (event) => {\n // DOM focus stays on the tree which manages focus with aria-activedescendant\n if (event.target === event.currentTarget) {\n (event.target.ownerDocument || document)\n .getElementById(treeId)\n .focus({ preventScroll: true });\n }\n\n const unfocusable = !disabledItemsFocusable && disabled;\n if (!focused && event.currentTarget === event.target && !unfocusable) {\n focus(event, nodeId);\n }\n },\n [disabled, disabledItemsFocusable, focus, focused, nodeId, treeId]\n );\n\n const handleExpansion = useCallback(\n (event) => {\n if (!disabled) {\n if (treeviewMode && !focused) {\n focus(event, nodeId);\n }\n\n const multiple = multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);\n\n // If already expanded and trying to toggle selection don't close\n if (expandable && !(multiple && isExpanded(nodeId))) {\n toggleExpansion(event, nodeId);\n }\n }\n },\n [\n disabled,\n expandable,\n focus,\n focused,\n isExpanded,\n multiSelect,\n nodeId,\n toggleExpansion,\n treeviewMode,\n ]\n );\n\n const handleSelection = useCallback(\n (event) => {\n if (selectable && !disabled) {\n if (treeviewMode && !focused) {\n focus(event, nodeId);\n }\n\n const multiple = multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);\n\n if (multiple) {\n if (event.shiftKey) {\n selectRange(event, { end: nodeId });\n } else {\n selectNode(event, nodeId, true);\n }\n } else {\n selectNode(event, nodeId);\n }\n }\n },\n [\n disabled,\n focus,\n focused,\n multiSelect,\n nodeId,\n selectNode,\n selectRange,\n selectable,\n treeviewMode,\n ]\n );\n\n const handleMouseDown = useCallback(\n (event) => {\n preventSelection(event, disabled);\n\n if (onMouseDown) {\n onMouseDown(event);\n }\n },\n [disabled, onMouseDown]\n );\n\n const handleClick = useCallback(\n (event) => {\n if (!disabled) {\n if (expandable) {\n handleExpansion(event);\n }\n\n if (selectable) {\n handleSelection(event);\n }\n }\n\n if (onClick) {\n onClick(event);\n }\n },\n [disabled, expandable, handleExpansion, handleSelection, onClick, selectable]\n );\n\n const handleKeyDown = useCallback(\n (event) => {\n let isEventHandled = false;\n const { key } = event;\n\n if (event.altKey || event.ctrlKey || event.metaKey || event.currentTarget !== event.target) {\n return;\n }\n if (contentRef.current === event.currentTarget) {\n if (key === \"Enter\" || key === \" \") {\n if (expandable) {\n isEventHandled = handleExpansion(event);\n }\n\n if (selectable) {\n isEventHandled = handleSelection(event);\n }\n }\n\n if (isEventHandled) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n },\n [expandable, handleExpansion, handleSelection, selectable]\n );\n\n const renderedContent = useMemo(\n () => (\n <HvTypography\n id={setId(id, \"button\")}\n component=\"div\"\n innerRef={contentRef}\n className={classes.content}\n onClick={handleClick}\n onMouseDown={handleMouseDown}\n style={{\n paddingLeft: (expandable || icon != null ? 0 : 10) + level * (collapsible ? 32 : 10),\n }}\n {...(treeviewMode\n ? {\n role: \"button\",\n tabIndex: -1,\n onFocus: handleFocus,\n }\n : {\n role: \"button\",\n tabIndex: selectable || expandable ? 0 : -1,\n onKeyDown: handleKeyDown,\n \"aria-current\": selectable && selected ? \"page\" : undefined,\n \"aria-expanded\": expandable ? expanded : undefined,\n \"aria-controls\": expandable ? setId(id, \"group\") : undefined,\n })}\n >\n {expandable && (expanded ? <DropUpXS /> : <DropDownXS />)}\n {icon}\n {label}\n </HvTypography>\n ),\n [\n id,\n classes.content,\n handleClick,\n handleMouseDown,\n expandable,\n level,\n collapsible,\n treeviewMode,\n handleFocus,\n handleKeyDown,\n selectable,\n selected,\n expanded,\n icon,\n label,\n ]\n );\n\n const renderedChildren = useMemo(\n () =>\n children && (\n <ul\n id={setId(id, \"group\")}\n className={classes.group}\n role={treeviewMode ? \"group\" : undefined}\n >\n {children}\n </ul>\n ),\n [children, classes.group, id, treeviewMode]\n );\n\n return (\n <li\n ref={handleRef}\n id={id}\n className={clsx(classes.node, className, {\n [classes.disabled]: disabled,\n [classes.expandable]: expandable,\n [classes.collapsed]: expandable && !expanded,\n [classes.expanded]: expandable && expanded,\n [classes.selectable]: !disabled && selectable,\n [classes.unselectable]: !disabled && !selectable,\n [classes.selected]: !disabled && selectable && selected,\n [classes.unselected]: !disabled && selectable && !selected,\n [classes.focused]: focused,\n })}\n data-hasicon={icon != null ? true : undefined}\n {...(mode === \"treeview\" && {\n role: \"treeitem\",\n \"aria-selected\": ariaSelected,\n \"aria-expanded\": expandable ? expanded : undefined,\n \"aria-disabled\": disabled ? true : undefined,\n })}\n {...others}\n >\n {renderedContent}\n <DescendantProvider id={nodeId} level={level + 1}>\n {renderedChildren}\n </DescendantProvider>\n </li>\n );\n});\n\nTreeViewItem.propTypes = {\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied to the Radio button.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the root of the component.\n */\n node: PropTypes.string,\n /**\n * Style applied to the content.\n */\n content: PropTypes.string,\n /**\n * Style applied to the group.\n */\n group: PropTypes.string,\n /**\n * Style applied when item is disabled.\n */\n disabled: PropTypes.string,\n /**\n * Style applied when item is expandable.\n */\n expandable: PropTypes.string,\n /**\n * Style applied when item is collapsed.\n */\n collapsed: PropTypes.string,\n /**\n * Style applied when item is expanded.\n */\n expanded: PropTypes.string,\n /**\n * Style applied when item is selectable.\n */\n selectable: PropTypes.string,\n /**\n * Style applied when item is unselectable.\n */\n unselectable: PropTypes.string,\n /**\n * Style applied when item is selected.\n */\n selected: PropTypes.string,\n /**\n * Style applied when item is unselectable.\n */\n unselected: PropTypes.string,\n /**\n * Style applied when item is focused.\n */\n focused: PropTypes.string,\n }).isRequired,\n /**\n * Is the node disabled.\n */\n disabled: PropTypes.bool,\n /**\n * Can the node be selected.\n */\n selectable: PropTypes.bool,\n /**\n * The id of the node.\n */\n nodeId: PropTypes.string.isRequired,\n /**\n * The icon to display next to the node's label.\n */\n icon: PropTypes.node,\n /**\n * The item label.\n */\n label: PropTypes.node.isRequired,\n /**\n * The node payload.\n */\n // eslint-disable-next-line react/forbid-prop-types\n payload: PropTypes.any,\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n /**\n * @ignore\n */\n onMouseDown: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n};\n\nexport default withStyles(styles, {\n name: \"HvVerticalNavigationTreeViewItem\",\n})(TreeViewItem);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TreeViewItem.js","names":["React","useCallback","useContext","useEffect","useMemo","useRef","useState","clsx","PropTypes","withStyles","DropDownXS","DropUpXS","HvTypography","TreeViewControlContext","TreeViewStateContext","setId","useForkRef","DescendantProvider","useDescendant","styles","preventSelection","event","disabled","shiftKey","ctrlKey","metaKey","preventDefault","TreeViewItem","forwardRef","props","ref","idProp","id","className","classes","disabledProp","selectableProp","selectable","nodeId","icon","label","payload","onClick","onMouseDown","onFocus","children","others","treeViewControlContext","isExpanded","isSelected","isFocused","isDisabled","treeId","mode","collapsible","toggleExpansion","multiSelect","selectNode","selectRange","disabledItemsFocusable","registerNode","unregisterNode","mapFirstChar","unMapFirstChar","focus","treeviewMode","treeitemElement","setTreeitemElement","contentRef","handleRef","descendant","element","index","parentId","level","expandable","Boolean","Array","isArray","length","expanded","focused","selected","idAttribute","undefined","current","textContent","substring","toLowerCase","ariaSelected","handleFocus","target","currentTarget","ownerDocument","document","getElementById","preventScroll","unfocusable","handleExpansion","multiple","handleSelection","end","handleMouseDown","handleClick","handleKeyDown","isEventHandled","key","altKey","stopPropagation","renderedContent","content","paddingLeft","role","tabIndex","onKeyDown","renderedChildren","group","node","unselected","unselectable","collapsed","propTypes","string","shape","isRequired","bool","any","func","name"],"sources":["../../../../src/VerticalNavigation/TreeView/TreeViewItem.js"],"sourcesContent":["import React, { useCallback, useContext, useEffect, useMemo, useRef, useState } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\n\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport HvTypography from \"../../Typography\";\n\nimport { TreeViewControlContext, TreeViewStateContext } from \"./TreeViewContexts\";\n\nimport { setId, useForkRef } from \"../../utils\";\n\nimport { DescendantProvider, useDescendant } from \"./descendants\";\n\nimport styles from \"./styles\";\n\nconst preventSelection = (event, disabled) => {\n if (event.shiftKey || event.ctrlKey || event.metaKey || disabled) {\n // Prevent text selection\n event.preventDefault();\n }\n};\n\nconst TreeViewItem = React.forwardRef((props, ref) => {\n const {\n id: idProp,\n className,\n classes,\n\n disabled: disabledProp = false,\n\n selectable: selectableProp,\n\n nodeId,\n icon = null,\n label,\n payload,\n\n onClick,\n onMouseDown,\n onFocus,\n\n children,\n\n ...others\n } = props;\n\n const treeViewControlContext = useContext(TreeViewControlContext);\n const { isExpanded, isSelected, isFocused, isDisabled } = useContext(TreeViewStateContext);\n\n const {\n treeId,\n mode,\n collapsible,\n toggleExpansion,\n multiSelect,\n selectNode,\n selectRange,\n disabledItemsFocusable,\n registerNode,\n unregisterNode,\n mapFirstChar,\n unMapFirstChar,\n focus,\n } = treeViewControlContext;\n\n const treeviewMode = mode === \"treeview\";\n\n let id = null;\n\n if (idProp != null) {\n id = idProp;\n } else if (treeId && nodeId) {\n id = `${treeId}-${nodeId}`;\n }\n\n const [treeitemElement, setTreeitemElement] = useState(null);\n const contentRef = useRef(null);\n const handleRef = useForkRef(setTreeitemElement, ref);\n\n const descendant = useMemo(\n () => ({\n element: treeitemElement,\n id: nodeId,\n }),\n [nodeId, treeitemElement]\n );\n\n const { index, parentId, level } = useDescendant(descendant);\n\n const expandable = collapsible && Boolean(Array.isArray(children) ? children.length : children);\n const expanded = isExpanded ? isExpanded(nodeId) : false;\n const focused = isFocused ? isFocused(nodeId) : false;\n const selected = isSelected ? isSelected(nodeId) : false;\n const disabled = isDisabled ? isDisabled(nodeId) : false;\n\n const selectable = selectableProp != null ? selectableProp : !collapsible || !expandable;\n\n useEffect(() => {\n // On the first render a node's index will be -1. We want to wait for the real index.\n if (registerNode && unregisterNode && index !== -1) {\n registerNode({\n id: nodeId,\n idAttribute: id,\n index,\n parentId,\n selectable,\n expandable,\n disabled: disabledProp,\n onFocus,\n payload,\n });\n\n return () => {\n unregisterNode(nodeId);\n };\n }\n\n return undefined;\n }, [\n registerNode,\n unregisterNode,\n parentId,\n index,\n nodeId,\n expandable,\n disabledProp,\n id,\n selectable,\n onFocus,\n payload,\n ]);\n\n useEffect(() => {\n if (mapFirstChar && unMapFirstChar && label) {\n mapFirstChar(nodeId, contentRef.current?.textContent.substring(0, 1).toLowerCase());\n\n return () => {\n unMapFirstChar(nodeId);\n };\n }\n return undefined;\n }, [mapFirstChar, unMapFirstChar, nodeId, label]);\n\n let ariaSelected;\n if (multiSelect) {\n ariaSelected = selected;\n } else if (selected) {\n /* single-selection trees unset aria-selected on un-selected items.\n *\n * If the tree does not support multiple selection, aria-selected\n * is set to true for the selected node and it is not present on any other node in the tree.\n * Source: https://www.w3.org/TR/wai-aria-practices/#TreeView\n */\n ariaSelected = true;\n }\n\n const handleFocus = useCallback(\n (event) => {\n // DOM focus stays on the tree which manages focus with aria-activedescendant\n if (event.target === event.currentTarget) {\n (event.target.ownerDocument || document)\n .getElementById(treeId)\n .focus({ preventScroll: true });\n }\n\n const unfocusable = !disabledItemsFocusable && disabled;\n if (!focused && event.currentTarget === event.target && !unfocusable) {\n focus(event, nodeId);\n }\n },\n [disabled, disabledItemsFocusable, focus, focused, nodeId, treeId]\n );\n\n const handleExpansion = useCallback(\n (event) => {\n if (!disabled) {\n if (treeviewMode && !focused) {\n focus(event, nodeId);\n }\n\n const multiple = multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);\n\n // If already expanded and trying to toggle selection don't close\n if (expandable && !(multiple && isExpanded(nodeId))) {\n toggleExpansion(event, nodeId);\n }\n }\n },\n [\n disabled,\n expandable,\n focus,\n focused,\n isExpanded,\n multiSelect,\n nodeId,\n toggleExpansion,\n treeviewMode,\n ]\n );\n\n const handleSelection = useCallback(\n (event) => {\n if (selectable && !disabled) {\n if (treeviewMode && !focused) {\n focus(event, nodeId);\n }\n\n const multiple = multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);\n\n if (multiple) {\n if (event.shiftKey) {\n selectRange(event, { end: nodeId });\n } else {\n selectNode(event, nodeId, true);\n }\n } else {\n selectNode(event, nodeId);\n }\n }\n },\n [\n disabled,\n focus,\n focused,\n multiSelect,\n nodeId,\n selectNode,\n selectRange,\n selectable,\n treeviewMode,\n ]\n );\n\n const handleMouseDown = useCallback(\n (event) => {\n preventSelection(event, disabled);\n\n if (onMouseDown) {\n onMouseDown(event);\n }\n },\n [disabled, onMouseDown]\n );\n\n const handleClick = useCallback(\n (event) => {\n if (!disabled) {\n if (expandable) {\n handleExpansion(event);\n }\n\n if (selectable) {\n handleSelection(event);\n }\n }\n\n if (onClick) {\n onClick(event);\n }\n },\n [disabled, expandable, handleExpansion, handleSelection, onClick, selectable]\n );\n\n const handleKeyDown = useCallback(\n (event) => {\n let isEventHandled = false;\n const { key } = event;\n\n if (event.altKey || event.ctrlKey || event.metaKey || event.currentTarget !== event.target) {\n return;\n }\n if (contentRef.current === event.currentTarget) {\n if (key === \"Enter\" || key === \" \") {\n if (expandable) {\n isEventHandled = handleExpansion(event);\n }\n\n if (selectable) {\n isEventHandled = handleSelection(event);\n }\n }\n\n if (isEventHandled) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n },\n [expandable, handleExpansion, handleSelection, selectable]\n );\n\n const renderedContent = useMemo(\n () => (\n <HvTypography\n id={setId(id, \"button\")}\n component=\"div\"\n innerRef={contentRef}\n className={classes.content}\n onClick={handleClick}\n onMouseDown={handleMouseDown}\n style={{\n paddingLeft: (expandable || icon != null ? 0 : 10) + level * (collapsible ? 32 : 10),\n }}\n {...(treeviewMode\n ? {\n role: \"button\",\n tabIndex: -1,\n onFocus: handleFocus,\n }\n : {\n role: \"button\",\n tabIndex: selectable || expandable ? 0 : -1,\n onKeyDown: handleKeyDown,\n \"aria-current\": selectable && selected ? \"page\" : undefined,\n \"aria-expanded\": expandable ? expanded : undefined,\n \"aria-controls\": expandable ? setId(id, \"group\") : undefined,\n })}\n >\n {expandable && (expanded ? <DropUpXS /> : <DropDownXS />)}\n {icon}\n {label}\n </HvTypography>\n ),\n [\n id,\n classes.content,\n handleClick,\n handleMouseDown,\n expandable,\n level,\n collapsible,\n treeviewMode,\n handleFocus,\n handleKeyDown,\n selectable,\n selected,\n expanded,\n icon,\n label,\n ]\n );\n\n const renderedChildren = useMemo(\n () =>\n children && (\n <ul\n id={setId(id, \"group\")}\n className={classes.group}\n role={treeviewMode ? \"group\" : undefined}\n >\n {children}\n </ul>\n ),\n [children, classes.group, id, treeviewMode]\n );\n\n return (\n <li\n ref={handleRef}\n id={id}\n className={clsx(classes.node, className, {\n [classes.disabled]: disabled,\n [classes.expandable]: expandable,\n [classes.collapsed]: expandable && !expanded,\n [classes.expanded]: expandable && expanded,\n [classes.selectable]: !disabled && selectable,\n [classes.unselectable]: !disabled && !selectable,\n [classes.selected]: !disabled && selectable && selected,\n [classes.unselected]: !disabled && selectable && !selected,\n [classes.focused]: focused,\n })}\n data-hasicon={icon != null ? true : undefined}\n {...(mode === \"treeview\" && {\n role: \"treeitem\",\n \"aria-selected\": ariaSelected,\n \"aria-expanded\": expandable ? expanded : undefined,\n \"aria-disabled\": disabled ? true : undefined,\n })}\n {...others}\n >\n {renderedContent}\n <DescendantProvider id={nodeId} level={level + 1}>\n {renderedChildren}\n </DescendantProvider>\n </li>\n );\n});\n\nTreeViewItem.propTypes = {\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied to the Radio button.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the root of the component.\n */\n node: PropTypes.string,\n /**\n * Style applied to the content.\n */\n content: PropTypes.string,\n /**\n * Style applied to the group.\n */\n group: PropTypes.string,\n /**\n * Style applied when item is disabled.\n */\n disabled: PropTypes.string,\n /**\n * Style applied when item is expandable.\n */\n expandable: PropTypes.string,\n /**\n * Style applied when item is collapsed.\n */\n collapsed: PropTypes.string,\n /**\n * Style applied when item is expanded.\n */\n expanded: PropTypes.string,\n /**\n * Style applied when item is selectable.\n */\n selectable: PropTypes.string,\n /**\n * Style applied when item is unselectable.\n */\n unselectable: PropTypes.string,\n /**\n * Style applied when item is selected.\n */\n selected: PropTypes.string,\n /**\n * Style applied when item is unselectable.\n */\n unselected: PropTypes.string,\n /**\n * Style applied when item is focused.\n */\n focused: PropTypes.string,\n }).isRequired,\n /**\n * Is the node disabled.\n */\n disabled: PropTypes.bool,\n /**\n * Can the node be selected.\n */\n selectable: PropTypes.bool,\n /**\n * The id of the node.\n */\n nodeId: PropTypes.string.isRequired,\n /**\n * The icon to display next to the node's label.\n */\n icon: PropTypes.node,\n /**\n * The item label.\n */\n label: PropTypes.node.isRequired,\n /**\n * The node payload.\n */\n // eslint-disable-next-line react/forbid-prop-types\n payload: PropTypes.any,\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n /**\n * @ignore\n */\n onMouseDown: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n};\n\nexport default withStyles(styles, {\n name: \"HvVerticalNavigationTreeViewItem\",\n})(TreeViewItem);\n"],"mappings":"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"}
|
|
@@ -105,9 +105,9 @@ const HvDialog = _ref => {
|
|
|
105
105
|
},
|
|
106
106
|
onClose: (event, reason) => onClose(event, reason),
|
|
107
107
|
onKeyDown: keyDownHandler
|
|
108
|
-
}, others
|
|
108
|
+
}, others, {
|
|
109
109
|
"aria-modal": true
|
|
110
|
-
}, /*#__PURE__*/React.createElement(Button, {
|
|
110
|
+
}), /*#__PURE__*/React.createElement(Button, {
|
|
111
111
|
id: setId(id, "close"),
|
|
112
112
|
className: classes.closeButton,
|
|
113
113
|
category: "ghost",
|
|
@@ -115,7 +115,7 @@ const HvDialog = _ref => {
|
|
|
115
115
|
"aria-label": buttonTitle
|
|
116
116
|
}, /*#__PURE__*/React.createElement(CloseButtonTooltipWrapper, null)), children && typeof children === "object" ? React.Children.map(children, c => /*#__PURE__*/React.cloneElement(c, {
|
|
117
117
|
fullscreen
|
|
118
|
-
})) : children)
|
|
118
|
+
})) : children);
|
|
119
119
|
};
|
|
120
120
|
|
|
121
121
|
process.env.NODE_ENV !== "production" ? HvDialog.propTypes = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.js","names":["React","useCallback","useState","clsx","PropTypes","Dialog","withStyles","Close","isNil","Button","isKeypress","KeyboardCodes","setId","styles","withTooltip","getFocusableList","HvDialog","classes","className","id","children","open","onClose","firstFocusable","buttonTitle","fullscreen","others","focusableQueue","setFocusableQueue","measuredRef","node","focusableList","first","last","length","focus","element","document","getElementById","console","warn","keyDownHandler","event","Tab","target","shiftKey","preventDefault","Esc","onEscapeKeyDown","disableEscapeKeyDown","stopPropagation","closeButtonDisplay","CloseButtonTooltipWrapper","root","paper","background","reason","closeButton","Children","map","c","cloneElement","propTypes","string","shape","isRequired","bool","func","name"],"sources":["../../../src/Dialog/Dialog.js"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { Dialog, withStyles } from \"@material-ui/core\";\nimport { Close } from \"@hitachivantara/uikit-react-icons\";\nimport isNil from \"lodash/isNil\";\nimport Button from \"../Button\";\nimport { isKeypress, KeyboardCodes, setId } from \"../utils\";\nimport styles from \"./styles\";\nimport withTooltip from \"../withTooltip\";\nimport { getFocusableList } from \"../utils/focusableElementFinder\";\n\n/**\n * The Dialog component provides a solid foundation for creating dialogs, popovers, lightboxes, etc.\n * It is created by the composition of DialogTitle, DialogContent and DialogActions components, passed as child elements.\n */\nconst HvDialog = ({\n classes,\n className,\n id,\n children,\n open,\n onClose,\n firstFocusable,\n buttonTitle = \"Close\",\n fullscreen = false,\n ...others\n}) => {\n const [focusableQueue, setFocusableQueue] = useState(null);\n\n const measuredRef = useCallback(\n (node) => {\n if (node) {\n const focusableList = getFocusableList(node);\n setFocusableQueue({\n first: focusableList[1],\n last: focusableList[focusableList.length - 2],\n });\n if (isNil(firstFocusable)) focusableList[1].focus();\n else {\n const element = document.getElementById(firstFocusable);\n if (element) element.focus();\n else {\n // eslint-disable-next-line no-console\n console.warn(`firstFocusable element ${firstFocusable} not found.`);\n focusableList[1].focus();\n }\n }\n }\n },\n [firstFocusable]\n );\n\n const keyDownHandler = (event) => {\n if (isKeypress(event, KeyboardCodes.Tab) && !isNil(event.target) && !isNil(focusableQueue)) {\n if (event.shiftKey && event.target === focusableQueue.first) {\n focusableQueue.last.focus();\n event.preventDefault();\n }\n if (!event.shiftKey && event.target === focusableQueue.last) {\n focusableQueue.first.focus();\n event.preventDefault();\n }\n }\n // Needed as this handler overrides the one in the material ui Modal.\n else if (isKeypress(event, KeyboardCodes.Esc)) {\n if (others.onEscapeKeyDown) {\n others.onEscapeKeyDown(event);\n }\n\n if (!others.disableEscapeKeyDown) {\n // Swallow the event, in case someone is listening for the escape key on the body.\n event.stopPropagation();\n\n if (onClose) {\n onClose(event, \"escapeKeyDown\");\n }\n }\n }\n };\n\n const closeButtonDisplay = () => <Close role=\"presentation\" />;\n\n const CloseButtonTooltipWrapper = buttonTitle\n ? withTooltip(closeButtonDisplay, buttonTitle, \"top\")\n : closeButtonDisplay;\n\n return (\n <Dialog\n className={clsx(classes.root, className)}\n id={id}\n ref={measuredRef}\n open={open}\n PaperProps={{\n classes: {\n root: clsx(classes.paper, fullscreen ? \"fullscreen\" : \"\"),\n },\n }}\n fullScreen={fullscreen}\n BackdropProps={{\n classes: {\n root: classes.background,\n },\n }}\n onClose={(event, reason) => onClose(event, reason)}\n onKeyDown={keyDownHandler}\n {...others}\n >\n <div aria-modal>\n <Button\n id={setId(id, \"close\")}\n className={classes.closeButton}\n category=\"ghost\"\n onClick={(event) => onClose(event)}\n aria-label={buttonTitle}\n >\n <CloseButtonTooltipWrapper />\n </Button>\n {children && typeof children === \"object\"\n ? React.Children.map(children, (c) => React.cloneElement(c, { fullscreen }))\n : children}\n </div>\n </Dialog>\n );\n};\n\nHvDialog.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the root of the component.\n */\n root: PropTypes.string,\n /**\n * Style applied to the background (outside) of the component.\n */\n background: PropTypes.string,\n /**\n * Style applied to the component (root).\n */\n paper: PropTypes.string,\n /**\n * Style applied to the close button.\n */\n closeButton: PropTypes.string,\n }).isRequired,\n /**\n * Components of the Dialog.\n */\n children: PropTypes.node.isRequired,\n /**\n * Current state of the Dialog.\n */\n open: PropTypes.bool.isRequired,\n /**\n * Function executed on close.\n */\n onClose: PropTypes.func.isRequired,\n /**\n * Element id that should be focus when the Dialog opens.\n */\n firstFocusable: PropTypes.string,\n /**\n * Title for the button close.\n */\n buttonTitle: PropTypes.string,\n /**\n * Set the dialog to fullscreen mode.\n */\n fullscreen: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvDialog\" })(HvDialog);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Dialog.js","names":["React","useCallback","useState","clsx","PropTypes","Dialog","withStyles","Close","isNil","Button","isKeypress","KeyboardCodes","setId","styles","withTooltip","getFocusableList","HvDialog","classes","className","id","children","open","onClose","firstFocusable","buttonTitle","fullscreen","others","focusableQueue","setFocusableQueue","measuredRef","node","focusableList","first","last","length","focus","element","document","getElementById","console","warn","keyDownHandler","event","Tab","target","shiftKey","preventDefault","Esc","onEscapeKeyDown","disableEscapeKeyDown","stopPropagation","closeButtonDisplay","CloseButtonTooltipWrapper","root","paper","background","reason","closeButton","Children","map","c","cloneElement","propTypes","string","shape","isRequired","bool","func","name"],"sources":["../../../src/Dialog/Dialog.js"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { Dialog, withStyles } from \"@material-ui/core\";\nimport { Close } from \"@hitachivantara/uikit-react-icons\";\nimport isNil from \"lodash/isNil\";\nimport Button from \"../Button\";\nimport { isKeypress, KeyboardCodes, setId } from \"../utils\";\nimport styles from \"./styles\";\nimport withTooltip from \"../withTooltip\";\nimport { getFocusableList } from \"../utils/focusableElementFinder\";\n\n/**\n * The Dialog component provides a solid foundation for creating dialogs, popovers, lightboxes, etc.\n * It is created by the composition of DialogTitle, DialogContent and DialogActions components, passed as child elements.\n */\nconst HvDialog = ({\n classes,\n className,\n id,\n children,\n open,\n onClose,\n firstFocusable,\n buttonTitle = \"Close\",\n fullscreen = false,\n ...others\n}) => {\n const [focusableQueue, setFocusableQueue] = useState(null);\n\n const measuredRef = useCallback(\n (node) => {\n if (node) {\n const focusableList = getFocusableList(node);\n setFocusableQueue({\n first: focusableList[1],\n last: focusableList[focusableList.length - 2],\n });\n if (isNil(firstFocusable)) focusableList[1].focus();\n else {\n const element = document.getElementById(firstFocusable);\n if (element) element.focus();\n else {\n // eslint-disable-next-line no-console\n console.warn(`firstFocusable element ${firstFocusable} not found.`);\n focusableList[1].focus();\n }\n }\n }\n },\n [firstFocusable]\n );\n\n const keyDownHandler = (event) => {\n if (isKeypress(event, KeyboardCodes.Tab) && !isNil(event.target) && !isNil(focusableQueue)) {\n if (event.shiftKey && event.target === focusableQueue.first) {\n focusableQueue.last.focus();\n event.preventDefault();\n }\n if (!event.shiftKey && event.target === focusableQueue.last) {\n focusableQueue.first.focus();\n event.preventDefault();\n }\n }\n // Needed as this handler overrides the one in the material ui Modal.\n else if (isKeypress(event, KeyboardCodes.Esc)) {\n if (others.onEscapeKeyDown) {\n others.onEscapeKeyDown(event);\n }\n\n if (!others.disableEscapeKeyDown) {\n // Swallow the event, in case someone is listening for the escape key on the body.\n event.stopPropagation();\n\n if (onClose) {\n onClose(event, \"escapeKeyDown\");\n }\n }\n }\n };\n\n const closeButtonDisplay = () => <Close role=\"presentation\" />;\n\n const CloseButtonTooltipWrapper = buttonTitle\n ? withTooltip(closeButtonDisplay, buttonTitle, \"top\")\n : closeButtonDisplay;\n\n return (\n <Dialog\n className={clsx(classes.root, className)}\n id={id}\n ref={measuredRef}\n open={open}\n PaperProps={{\n classes: {\n root: clsx(classes.paper, fullscreen ? \"fullscreen\" : \"\"),\n },\n }}\n fullScreen={fullscreen}\n BackdropProps={{\n classes: {\n root: classes.background,\n },\n }}\n onClose={(event, reason) => onClose(event, reason)}\n onKeyDown={keyDownHandler}\n {...others}\n aria-modal\n >\n <Button\n id={setId(id, \"close\")}\n className={classes.closeButton}\n category=\"ghost\"\n onClick={(event) => onClose(event)}\n aria-label={buttonTitle}\n >\n <CloseButtonTooltipWrapper />\n </Button>\n {children && typeof children === \"object\"\n ? React.Children.map(children, (c) => React.cloneElement(c, { fullscreen }))\n : children}\n </Dialog>\n );\n};\n\nHvDialog.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the root of the component.\n */\n root: PropTypes.string,\n /**\n * Style applied to the background (outside) of the component.\n */\n background: PropTypes.string,\n /**\n * Style applied to the component (root).\n */\n paper: PropTypes.string,\n /**\n * Style applied to the close button.\n */\n closeButton: PropTypes.string,\n }).isRequired,\n /**\n * Components of the Dialog.\n */\n children: PropTypes.node.isRequired,\n /**\n * Current state of the Dialog.\n */\n open: PropTypes.bool.isRequired,\n /**\n * Function executed on close.\n */\n onClose: PropTypes.func.isRequired,\n /**\n * Element id that should be focus when the Dialog opens.\n */\n firstFocusable: PropTypes.string,\n /**\n * Title for the button close.\n */\n buttonTitle: PropTypes.string,\n /**\n * Set the dialog to fullscreen mode.\n */\n fullscreen: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvDialog\" })(HvDialog);\n"],"mappings":"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"}
|
|
@@ -2,7 +2,9 @@ const styles = theme => ({
|
|
|
2
2
|
root: {
|
|
3
3
|
margin: "0",
|
|
4
4
|
padding: theme.hv.spacing.sm,
|
|
5
|
-
borderTop: `3px solid ${theme.hv.palette.atmosphere.atmo2}
|
|
5
|
+
borderTop: `3px solid ${theme.hv.palette.atmosphere.atmo2}`,
|
|
6
|
+
height: 100,
|
|
7
|
+
flex: 1
|
|
6
8
|
},
|
|
7
9
|
spacing: {
|
|
8
10
|
"& > :not(:first-child)": {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","names":["styles","theme","root","margin","padding","hv","spacing","sm","borderTop","palette","atmosphere","atmo2","marginLeft","xs","fullscreen","position","width","bottom","left"],"sources":["../../../../src/Dialog/DialogActions/styles.js"],"sourcesContent":["const styles = (theme) => ({\n root: {\n margin: \"0\",\n padding: theme.hv.spacing.sm,\n borderTop: `3px solid ${theme.hv.palette.atmosphere.atmo2}`,\n },\n spacing: {\n \"& > :not(:first-child)\": {\n marginLeft: theme.hv.spacing.xs,\n },\n },\n fullscreen: {\n position: \"fixed\",\n width: \"100%\",\n bottom: 0,\n left: 0,\n },\n});\n\nexport default styles;\n"],"mappings":"AAAA,MAAMA,MAAM,GAAIC,KAAD,KAAY;EACzBC,IAAI,EAAE;IACJC,MAAM,EAAE,GADJ;IAEJC,OAAO,EAAEH,KAAK,CAACI,EAAN,CAASC,OAAT,CAAiBC,EAFtB;IAGJC,SAAS,EAAG,aAAYP,KAAK,CAACI,EAAN,CAASI,OAAT,CAAiBC,UAAjB,CAA4BC,KAAM;
|
|
1
|
+
{"version":3,"file":"styles.js","names":["styles","theme","root","margin","padding","hv","spacing","sm","borderTop","palette","atmosphere","atmo2","height","flex","marginLeft","xs","fullscreen","position","width","bottom","left"],"sources":["../../../../src/Dialog/DialogActions/styles.js"],"sourcesContent":["const styles = (theme) => ({\n root: {\n margin: \"0\",\n padding: theme.hv.spacing.sm,\n borderTop: `3px solid ${theme.hv.palette.atmosphere.atmo2}`,\n height: 100,\n flex: 1,\n },\n spacing: {\n \"& > :not(:first-child)\": {\n marginLeft: theme.hv.spacing.xs,\n },\n },\n fullscreen: {\n position: \"fixed\",\n width: \"100%\",\n bottom: 0,\n left: 0,\n },\n});\n\nexport default styles;\n"],"mappings":"AAAA,MAAMA,MAAM,GAAIC,KAAD,KAAY;EACzBC,IAAI,EAAE;IACJC,MAAM,EAAE,GADJ;IAEJC,OAAO,EAAEH,KAAK,CAACI,EAAN,CAASC,OAAT,CAAiBC,EAFtB;IAGJC,SAAS,EAAG,aAAYP,KAAK,CAACI,EAAN,CAASI,OAAT,CAAiBC,UAAjB,CAA4BC,KAAM,EAHtD;IAIJC,MAAM,EAAE,GAJJ;IAKJC,IAAI,EAAE;EALF,CADmB;EAQzBP,OAAO,EAAE;IACP,0BAA0B;MACxBQ,UAAU,EAAEb,KAAK,CAACI,EAAN,CAASC,OAAT,CAAiBS;IADL;EADnB,CARgB;EAazBC,UAAU,EAAE;IACVC,QAAQ,EAAE,OADA;IAEVC,KAAK,EAAE,MAFG;IAGVC,MAAM,EAAE,CAHE;IAIVC,IAAI,EAAE;EAJI;AAba,CAAZ,CAAf;;AAqBA,eAAepB,MAAf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","names":["styles","theme","root","padding","hvSpacing","flex","textContent","marginLeft","
|
|
1
|
+
{"version":3,"file":"styles.js","names":["styles","theme","root","padding","hvSpacing","flex","textContent","marginLeft","paddingRight","overflowY"],"sources":["../../../../src/Dialog/DialogContent/styles.js"],"sourcesContent":["const styles = (theme) => ({\n root: {\n padding: theme.hvSpacing(0, \"sm\", \"sm\", \"sm\"),\n flex: \"none\",\n },\n textContent: {\n marginLeft: \"42px\",\n paddingRight: \"62px\",\n flex: 1,\n overflowY: \"auto\",\n },\n});\n\nexport default styles;\n"],"mappings":"AAAA,MAAMA,MAAM,GAAIC,KAAD,KAAY;EACzBC,IAAI,EAAE;IACJC,OAAO,EAAEF,KAAK,CAACG,SAAN,CAAgB,CAAhB,EAAmB,IAAnB,EAAyB,IAAzB,EAA+B,IAA/B,CADL;IAEJC,IAAI,EAAE;EAFF,CADmB;EAKzBC,WAAW,EAAE;IACXC,UAAU,EAAE,MADD;IAEXC,YAAY,EAAE,MAFH;IAGXH,IAAI,EAAE,CAHK;IAIXI,SAAS,EAAE;EAJA;AALY,CAAZ,CAAf;;AAaA,eAAeT,MAAf"}
|
|
@@ -20,13 +20,16 @@ const HvDialogTitle = _ref => {
|
|
|
20
20
|
} = _ref,
|
|
21
21
|
others = _objectWithoutProperties(_ref, _excluded);
|
|
22
22
|
|
|
23
|
-
const isString = typeof children === "string";
|
|
23
|
+
const isString = typeof children === "string";
|
|
24
|
+
const {
|
|
25
|
+
fullscreen
|
|
26
|
+
} = others; // prevent the `fullscreen` prop from being passed to the `DialogTitle` component
|
|
24
27
|
// eslint-disable-next-line no-param-reassign
|
|
25
28
|
|
|
26
29
|
delete others.fullscreen;
|
|
27
30
|
const icon = customIcon || showIcon && iconVariant(variant);
|
|
28
31
|
return /*#__PURE__*/React.createElement(DialogTitle, _extends({
|
|
29
|
-
className: clsx(classes.root, className),
|
|
32
|
+
className: clsx(classes.root, className, fullscreen && "fullscreen"),
|
|
30
33
|
disableTypography: true
|
|
31
34
|
}, others), /*#__PURE__*/React.createElement("div", {
|
|
32
35
|
className: classes.messageContainer
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DialogTitle.js","names":["React","PropTypes","clsx","DialogTitle","withStyles","HvTypography","iconVariant","styles","HvDialogTitle","classes","className","children","variant","showIcon","customIcon","others","isString","fullscreen","icon","root","messageContainer","textWithIcon","propTypes","string","shape","closeButton","isRequired","oneOf","bool","node","name"],"sources":["../../../../src/Dialog/DialogTitle/DialogTitle.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { DialogTitle, withStyles } from \"@material-ui/core\";\nimport HvTypography from \"../../Typography\";\nimport iconVariant from \"../../utils/iconVariant\";\nimport styles from \"./styles\";\n\nconst HvDialogTitle = ({\n classes,\n className,\n children,\n variant = \"default\",\n showIcon = true,\n customIcon = null,\n ...others\n}) => {\n const isString = typeof children === \"string\";\n // prevent the `fullscreen` prop from being passed to the `DialogTitle` component\n // eslint-disable-next-line no-param-reassign\n delete others.fullscreen;\n\n const icon = customIcon || (showIcon && iconVariant(variant));\n\n return (\n <DialogTitle
|
|
1
|
+
{"version":3,"file":"DialogTitle.js","names":["React","PropTypes","clsx","DialogTitle","withStyles","HvTypography","iconVariant","styles","HvDialogTitle","classes","className","children","variant","showIcon","customIcon","others","isString","fullscreen","icon","root","messageContainer","textWithIcon","propTypes","string","shape","closeButton","isRequired","oneOf","bool","node","name"],"sources":["../../../../src/Dialog/DialogTitle/DialogTitle.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { DialogTitle, withStyles } from \"@material-ui/core\";\nimport HvTypography from \"../../Typography\";\nimport iconVariant from \"../../utils/iconVariant\";\nimport styles from \"./styles\";\n\nconst HvDialogTitle = ({\n classes,\n className,\n children,\n variant = \"default\",\n showIcon = true,\n customIcon = null,\n ...others\n}) => {\n const isString = typeof children === \"string\";\n const { fullscreen } = others;\n\n // prevent the `fullscreen` prop from being passed to the `DialogTitle` component\n // eslint-disable-next-line no-param-reassign\n delete others.fullscreen;\n\n const icon = customIcon || (showIcon && iconVariant(variant));\n\n return (\n <DialogTitle\n className={clsx(classes.root, className, fullscreen ? \"fullscreen\" : \"\")}\n disableTypography\n {...others}\n >\n <div className={classes.messageContainer}>\n {icon}\n <div className={clsx({ [classes.textWithIcon]: icon })}>\n {!isString && children}\n {isString && <HvTypography variant=\"xxsTitle\">{children}</HvTypography>}\n </div>\n </div>\n </DialogTitle>\n );\n};\n\nHvDialogTitle.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the root of the component (container for the title).\n */\n root: PropTypes.string,\n /**\n * Style applied to the container of the title\n */\n messageContainer: PropTypes.string,\n /**\n * Style applied to the text when the icon is present.\n */\n textWithIcon: PropTypes.string,\n /**\n * Style applied to the icon.\n */\n icon: PropTypes.string,\n /**\n * Style applied to the close button.\n */\n closeButton: PropTypes.string,\n }).isRequired,\n /**\n * Variant of the Dialog.\n */\n variant: PropTypes.oneOf([\"success\", \"warning\", \"error\", \"info\", \"default\"]),\n /**\n * Controls if the associated icon to the variant should be shown.\n */\n showIcon: PropTypes.bool,\n /**\n * Custom icon to replace the variant default.\n */\n customIcon: PropTypes.node,\n /**\n * Node to be render.\n */\n children: PropTypes.node.isRequired,\n};\n\nexport default withStyles(styles, { name: \"HvDialogTitle\" })(HvDialogTitle);\n"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,IAAP,MAAiB,MAAjB;AACA,SAASC,WAAT,EAAsBC,UAAtB,QAAwC,mBAAxC;AACA,OAAOC,YAAP,MAAyB,kBAAzB;AACA,OAAOC,WAAP,MAAwB,yBAAxB;AACA,OAAOC,MAAP,MAAmB,UAAnB;;AAEA,MAAMC,aAAa,GAAG,QAQhB;EAAA,IARiB;IACrBC,OADqB;IAErBC,SAFqB;IAGrBC,QAHqB;IAIrBC,OAAO,GAAG,SAJW;IAKrBC,QAAQ,GAAG,IALU;IAMrBC,UAAU,GAAG;EANQ,CAQjB;EAAA,IADDC,MACC;;EACJ,MAAMC,QAAQ,GAAG,OAAOL,QAAP,KAAoB,QAArC;EACA,MAAM;IAAEM;EAAF,IAAiBF,MAAvB,CAFI,CAIJ;EACA;;EACA,OAAOA,MAAM,CAACE,UAAd;EAEA,MAAMC,IAAI,GAAGJ,UAAU,IAAKD,QAAQ,IAAIP,WAAW,CAACM,OAAD,CAAnD;EAEA,oBACE,oBAAC,WAAD;IACE,SAAS,EAAEV,IAAI,CAACO,OAAO,CAACU,IAAT,EAAeT,SAAf,EAA0BO,UAA1B,IAAuC,YAAvC,CADjB;IAEE,iBAAiB;EAFnB,GAGMF,MAHN,gBAKE;IAAK,SAAS,EAAEN,OAAO,CAACW;EAAxB,GACGF,IADH,eAEE;IAAK,SAAS,EAAEhB,IAAI,CAA2BgB,IAA3B,IAAIT,OAAO,CAACY,YAAZ;EAApB,GACG,CAACL,QAAD,IAAaL,QADhB,EAEGK,QAAQ,iBAAI,oBAAC,YAAD;IAAc,OAAO,EAAC;EAAtB,GAAkCL,QAAlC,CAFf,CAFF,CALF,CADF;AAeD,CAjCD;;AAmCA,wCAAAH,aAAa,CAACc,SAAd,GAA0B;EACxB;AACF;AACA;EACEZ,SAAS,EAAET,SAAS,CAACsB,MAJG;;EAKxB;AACF;AACA;EACEd,OAAO,EAAER,SAAS,CAACuB,KAAV,CAAgB;IACvB;AACJ;AACA;IACIL,IAAI,EAAElB,SAAS,CAACsB,MAJO;;IAKvB;AACJ;AACA;IACIH,gBAAgB,EAAEnB,SAAS,CAACsB,MARL;;IASvB;AACJ;AACA;IACIF,YAAY,EAAEpB,SAAS,CAACsB,MAZD;;IAavB;AACJ;AACA;IACIL,IAAI,EAAEjB,SAAS,CAACsB,MAhBO;;IAiBvB;AACJ;AACA;IACIE,WAAW,EAAExB,SAAS,CAACsB;EApBA,CAAhB,EAqBNG,UA7BqB;;EA8BxB;AACF;AACA;EACEd,OAAO,EAAEX,SAAS,CAAC0B,KAAV,CAAgB,CAAC,SAAD,EAAY,SAAZ,EAAuB,OAAvB,EAAgC,MAAhC,EAAwC,SAAxC,CAAhB,CAjCe;;EAkCxB;AACF;AACA;EACEd,QAAQ,EAAEZ,SAAS,CAAC2B,IArCI;;EAsCxB;AACF;AACA;EACEd,UAAU,EAAEb,SAAS,CAAC4B,IAzCE;;EA0CxB;AACF;AACA;EACElB,QAAQ,EAAEV,SAAS,CAAC4B,IAAV,CAAeH;AA7CD,CAA1B;AAgDA,eAAetB,UAAU,CAACG,MAAD,EAAS;EAAEuB,IAAI,EAAE;AAAR,CAAT,CAAV,CAA8CtB,aAA9C,CAAf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","names":["styles","theme","root","padding","hvSpacing","margin","
|
|
1
|
+
{"version":3,"file":"styles.js","names":["styles","theme","root","padding","hvSpacing","margin","flex","messageContainer","display","alignItems","textWithIcon","marginLeft","marginRight","icon","hv","spacing","md","width","height"],"sources":["../../../../src/Dialog/DialogTitle/styles.js"],"sourcesContent":["const styles = (theme) => ({\n root: {\n padding: theme.hvSpacing(\"sm\"),\n margin: 0,\n \"&:not(.fullscreen)\": {\n flex: 1,\n },\n },\n messageContainer: {\n display: \"flex\",\n alignItems: \"center\",\n },\n textWithIcon: {\n marginLeft: theme.hvSpacing(\"xs\"),\n // 32px is the icon width\n marginRight: `calc(32px + ${theme.hvSpacing(\"xs\")})`,\n },\n icon: {\n marginRight: theme.hv.spacing.md,\n width: 48,\n height: 48,\n },\n});\n\nexport default styles;\n"],"mappings":"AAAA,MAAMA,MAAM,GAAIC,KAAD,KAAY;EACzBC,IAAI,EAAE;IACJC,OAAO,EAAEF,KAAK,CAACG,SAAN,CAAgB,IAAhB,CADL;IAEJC,MAAM,EAAE,CAFJ;IAGJ,sBAAsB;MACpBC,IAAI,EAAE;IADc;EAHlB,CADmB;EAQzBC,gBAAgB,EAAE;IAChBC,OAAO,EAAE,MADO;IAEhBC,UAAU,EAAE;EAFI,CARO;EAYzBC,YAAY,EAAE;IACZC,UAAU,EAAEV,KAAK,CAACG,SAAN,CAAgB,IAAhB,CADA;IAEZ;IACAQ,WAAW,EAAG,eAAcX,KAAK,CAACG,SAAN,CAAgB,IAAhB,CAAsB;EAHtC,CAZW;EAiBzBS,IAAI,EAAE;IACJD,WAAW,EAAEX,KAAK,CAACa,EAAN,CAASC,OAAT,CAAiBC,EAD1B;IAEJC,KAAK,EAAE,EAFH;IAGJC,MAAM,EAAE;EAHJ;AAjBmB,CAAZ,CAAf;;AAwBA,eAAelB,MAAf"}
|
|
@@ -10,7 +10,9 @@ const styles = theme => ({
|
|
|
10
10
|
overflow: "auto",
|
|
11
11
|
boxShadow: theme.hv.shadows[1],
|
|
12
12
|
"&:not(.fullscreen)": {
|
|
13
|
-
maxHeight: "calc(100% - 200px)"
|
|
13
|
+
maxHeight: "calc(100% - 200px)",
|
|
14
|
+
display: "flex",
|
|
15
|
+
flexDirection: "column"
|
|
14
16
|
}
|
|
15
17
|
},
|
|
16
18
|
closeButton: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","names":["fade","styles","theme","background","hv","palette","atmosphere","atmo4","paper","atmo1","padding","overflow","boxShadow","shadows","maxHeight","closeButton","minWidth","position","top","hvSpacing","right"],"sources":["../../../src/Dialog/styles.js"],"sourcesContent":["import fade from \"../utils/hexToRgbA\";\n\nconst styles = (theme) => ({\n background: {\n background: fade(theme.hv.palette.atmosphere.atmo4, 0.8),\n },\n paper: {\n background: `${theme.hv.palette.atmosphere.atmo1}`,\n padding: \"0px\",\n overflow: \"auto\",\n boxShadow: theme.hv.shadows[1],\n \"&:not(.fullscreen)\": {\n maxHeight: \"calc(100% - 200px)\",\n },\n },\n closeButton: {\n padding: 0,\n minWidth: \"inherit\",\n position: \"absolute\",\n top: theme.hvSpacing(\"sm\"),\n right: theme.hvSpacing(\"sm\"),\n },\n});\n\nexport default styles;\n"],"mappings":"AAAA,OAAOA,IAAP,MAAiB,oBAAjB;;AAEA,MAAMC,MAAM,GAAIC,KAAD,KAAY;EACzBC,UAAU,EAAE;IACVA,UAAU,EAAEH,IAAI,CAACE,KAAK,CAACE,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BC,KAA7B,EAAoC,GAApC;EADN,CADa;EAIzBC,KAAK,EAAE;IACLL,UAAU,EAAG,GAAED,KAAK,CAACE,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BG,KAAM,EAD5C;IAELC,OAAO,EAAE,KAFJ;IAGLC,QAAQ,EAAE,MAHL;IAILC,SAAS,EAAEV,KAAK,CAACE,EAAN,CAASS,OAAT,CAAiB,CAAjB,CAJN;IAKL,sBAAsB;MACpBC,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"styles.js","names":["fade","styles","theme","background","hv","palette","atmosphere","atmo4","paper","atmo1","padding","overflow","boxShadow","shadows","maxHeight","display","flexDirection","closeButton","minWidth","position","top","hvSpacing","right"],"sources":["../../../src/Dialog/styles.js"],"sourcesContent":["import fade from \"../utils/hexToRgbA\";\n\nconst styles = (theme) => ({\n background: {\n background: fade(theme.hv.palette.atmosphere.atmo4, 0.8),\n },\n paper: {\n background: `${theme.hv.palette.atmosphere.atmo1}`,\n padding: \"0px\",\n overflow: \"auto\",\n boxShadow: theme.hv.shadows[1],\n \"&:not(.fullscreen)\": {\n maxHeight: \"calc(100% - 200px)\",\n display: \"flex\",\n flexDirection: \"column\",\n },\n },\n closeButton: {\n padding: 0,\n minWidth: \"inherit\",\n position: \"absolute\",\n top: theme.hvSpacing(\"sm\"),\n right: theme.hvSpacing(\"sm\"),\n },\n});\n\nexport default styles;\n"],"mappings":"AAAA,OAAOA,IAAP,MAAiB,oBAAjB;;AAEA,MAAMC,MAAM,GAAIC,KAAD,KAAY;EACzBC,UAAU,EAAE;IACVA,UAAU,EAAEH,IAAI,CAACE,KAAK,CAACE,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BC,KAA7B,EAAoC,GAApC;EADN,CADa;EAIzBC,KAAK,EAAE;IACLL,UAAU,EAAG,GAAED,KAAK,CAACE,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BG,KAAM,EAD5C;IAELC,OAAO,EAAE,KAFJ;IAGLC,QAAQ,EAAE,MAHL;IAILC,SAAS,EAAEV,KAAK,CAACE,EAAN,CAASS,OAAT,CAAiB,CAAjB,CAJN;IAKL,sBAAsB;MACpBC,SAAS,EAAE,oBADS;MAEpBC,OAAO,EAAE,MAFW;MAGpBC,aAAa,EAAE;IAHK;EALjB,CAJkB;EAezBC,WAAW,EAAE;IACXP,OAAO,EAAE,CADE;IAEXQ,QAAQ,EAAE,SAFC;IAGXC,QAAQ,EAAE,UAHC;IAIXC,GAAG,EAAElB,KAAK,CAACmB,SAAN,CAAgB,IAAhB,CAJM;IAKXC,KAAK,EAAEpB,KAAK,CAACmB,SAAN,CAAgB,IAAhB;EALI;AAfY,CAAZ,CAAf;;AAwBA,eAAepB,MAAf"}
|
|
@@ -113,7 +113,9 @@ const TreeViewItem = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
113
113
|
}, [registerNode, unregisterNode, parentId, index, nodeId, expandable, disabledProp, id, selectable, onFocus, payload]);
|
|
114
114
|
useEffect(() => {
|
|
115
115
|
if (mapFirstChar && unMapFirstChar && label) {
|
|
116
|
-
|
|
116
|
+
var _contentRef$current;
|
|
117
|
+
|
|
118
|
+
mapFirstChar(nodeId, (_contentRef$current = contentRef.current) === null || _contentRef$current === void 0 ? void 0 : _contentRef$current.textContent.substring(0, 1).toLowerCase());
|
|
117
119
|
return () => {
|
|
118
120
|
unMapFirstChar(nodeId);
|
|
119
121
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeViewItem.js","names":["React","useCallback","useContext","useEffect","useMemo","useRef","useState","clsx","PropTypes","withStyles","DropDownXS","DropUpXS","HvTypography","TreeViewControlContext","TreeViewStateContext","setId","useForkRef","DescendantProvider","useDescendant","styles","preventSelection","event","disabled","shiftKey","ctrlKey","metaKey","preventDefault","TreeViewItem","forwardRef","props","ref","id","idProp","className","classes","disabledProp","selectable","selectableProp","nodeId","icon","label","payload","onClick","onMouseDown","onFocus","children","others","treeViewControlContext","isExpanded","isSelected","isFocused","isDisabled","treeId","mode","collapsible","toggleExpansion","multiSelect","selectNode","selectRange","disabledItemsFocusable","registerNode","unregisterNode","mapFirstChar","unMapFirstChar","focus","treeviewMode","treeitemElement","setTreeitemElement","contentRef","handleRef","descendant","element","index","parentId","level","expandable","Boolean","Array","isArray","length","expanded","focused","selected","idAttribute","undefined","current","textContent","substring","toLowerCase","ariaSelected","handleFocus","target","currentTarget","ownerDocument","document","getElementById","preventScroll","unfocusable","handleExpansion","multiple","handleSelection","end","handleMouseDown","handleClick","handleKeyDown","isEventHandled","key","altKey","stopPropagation","renderedContent","content","paddingLeft","role","tabIndex","onKeyDown","renderedChildren","group","node","unselected","unselectable","collapsed","propTypes","string","shape","isRequired","bool","any","func","name"],"sources":["../../../../src/VerticalNavigation/TreeView/TreeViewItem.js"],"sourcesContent":["import React, { useCallback, useContext, useEffect, useMemo, useRef, useState } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\n\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport HvTypography from \"../../Typography\";\n\nimport { TreeViewControlContext, TreeViewStateContext } from \"./TreeViewContexts\";\n\nimport { setId, useForkRef } from \"../../utils\";\n\nimport { DescendantProvider, useDescendant } from \"./descendants\";\n\nimport styles from \"./styles\";\n\nconst preventSelection = (event, disabled) => {\n if (event.shiftKey || event.ctrlKey || event.metaKey || disabled) {\n // Prevent text selection\n event.preventDefault();\n }\n};\n\nconst TreeViewItem = React.forwardRef((props, ref) => {\n const {\n id: idProp,\n className,\n classes,\n\n disabled: disabledProp = false,\n\n selectable: selectableProp,\n\n nodeId,\n icon = null,\n label,\n payload,\n\n onClick,\n onMouseDown,\n onFocus,\n\n children,\n\n ...others\n } = props;\n\n const treeViewControlContext = useContext(TreeViewControlContext);\n const { isExpanded, isSelected, isFocused, isDisabled } = useContext(TreeViewStateContext);\n\n const {\n treeId,\n mode,\n collapsible,\n toggleExpansion,\n multiSelect,\n selectNode,\n selectRange,\n disabledItemsFocusable,\n registerNode,\n unregisterNode,\n mapFirstChar,\n unMapFirstChar,\n focus,\n } = treeViewControlContext;\n\n const treeviewMode = mode === \"treeview\";\n\n let id = null;\n\n if (idProp != null) {\n id = idProp;\n } else if (treeId && nodeId) {\n id = `${treeId}-${nodeId}`;\n }\n\n const [treeitemElement, setTreeitemElement] = useState(null);\n const contentRef = useRef(null);\n const handleRef = useForkRef(setTreeitemElement, ref);\n\n const descendant = useMemo(\n () => ({\n element: treeitemElement,\n id: nodeId,\n }),\n [nodeId, treeitemElement]\n );\n\n const { index, parentId, level } = useDescendant(descendant);\n\n const expandable = collapsible && Boolean(Array.isArray(children) ? children.length : children);\n const expanded = isExpanded ? isExpanded(nodeId) : false;\n const focused = isFocused ? isFocused(nodeId) : false;\n const selected = isSelected ? isSelected(nodeId) : false;\n const disabled = isDisabled ? isDisabled(nodeId) : false;\n\n const selectable = selectableProp != null ? selectableProp : !collapsible || !expandable;\n\n useEffect(() => {\n // On the first render a node's index will be -1. We want to wait for the real index.\n if (registerNode && unregisterNode && index !== -1) {\n registerNode({\n id: nodeId,\n idAttribute: id,\n index,\n parentId,\n selectable,\n expandable,\n disabled: disabledProp,\n onFocus,\n payload,\n });\n\n return () => {\n unregisterNode(nodeId);\n };\n }\n\n return undefined;\n }, [\n registerNode,\n unregisterNode,\n parentId,\n index,\n nodeId,\n expandable,\n disabledProp,\n id,\n selectable,\n onFocus,\n payload,\n ]);\n\n useEffect(() => {\n if (mapFirstChar && unMapFirstChar && label) {\n mapFirstChar(nodeId, contentRef.current.textContent.substring(0, 1).toLowerCase());\n\n return () => {\n unMapFirstChar(nodeId);\n };\n }\n return undefined;\n }, [mapFirstChar, unMapFirstChar, nodeId, label]);\n\n let ariaSelected;\n if (multiSelect) {\n ariaSelected = selected;\n } else if (selected) {\n /* single-selection trees unset aria-selected on un-selected items.\n *\n * If the tree does not support multiple selection, aria-selected\n * is set to true for the selected node and it is not present on any other node in the tree.\n * Source: https://www.w3.org/TR/wai-aria-practices/#TreeView\n */\n ariaSelected = true;\n }\n\n const handleFocus = useCallback(\n (event) => {\n // DOM focus stays on the tree which manages focus with aria-activedescendant\n if (event.target === event.currentTarget) {\n (event.target.ownerDocument || document)\n .getElementById(treeId)\n .focus({ preventScroll: true });\n }\n\n const unfocusable = !disabledItemsFocusable && disabled;\n if (!focused && event.currentTarget === event.target && !unfocusable) {\n focus(event, nodeId);\n }\n },\n [disabled, disabledItemsFocusable, focus, focused, nodeId, treeId]\n );\n\n const handleExpansion = useCallback(\n (event) => {\n if (!disabled) {\n if (treeviewMode && !focused) {\n focus(event, nodeId);\n }\n\n const multiple = multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);\n\n // If already expanded and trying to toggle selection don't close\n if (expandable && !(multiple && isExpanded(nodeId))) {\n toggleExpansion(event, nodeId);\n }\n }\n },\n [\n disabled,\n expandable,\n focus,\n focused,\n isExpanded,\n multiSelect,\n nodeId,\n toggleExpansion,\n treeviewMode,\n ]\n );\n\n const handleSelection = useCallback(\n (event) => {\n if (selectable && !disabled) {\n if (treeviewMode && !focused) {\n focus(event, nodeId);\n }\n\n const multiple = multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);\n\n if (multiple) {\n if (event.shiftKey) {\n selectRange(event, { end: nodeId });\n } else {\n selectNode(event, nodeId, true);\n }\n } else {\n selectNode(event, nodeId);\n }\n }\n },\n [\n disabled,\n focus,\n focused,\n multiSelect,\n nodeId,\n selectNode,\n selectRange,\n selectable,\n treeviewMode,\n ]\n );\n\n const handleMouseDown = useCallback(\n (event) => {\n preventSelection(event, disabled);\n\n if (onMouseDown) {\n onMouseDown(event);\n }\n },\n [disabled, onMouseDown]\n );\n\n const handleClick = useCallback(\n (event) => {\n if (!disabled) {\n if (expandable) {\n handleExpansion(event);\n }\n\n if (selectable) {\n handleSelection(event);\n }\n }\n\n if (onClick) {\n onClick(event);\n }\n },\n [disabled, expandable, handleExpansion, handleSelection, onClick, selectable]\n );\n\n const handleKeyDown = useCallback(\n (event) => {\n let isEventHandled = false;\n const { key } = event;\n\n if (event.altKey || event.ctrlKey || event.metaKey || event.currentTarget !== event.target) {\n return;\n }\n if (contentRef.current === event.currentTarget) {\n if (key === \"Enter\" || key === \" \") {\n if (expandable) {\n isEventHandled = handleExpansion(event);\n }\n\n if (selectable) {\n isEventHandled = handleSelection(event);\n }\n }\n\n if (isEventHandled) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n },\n [expandable, handleExpansion, handleSelection, selectable]\n );\n\n const renderedContent = useMemo(\n () => (\n <HvTypography\n id={setId(id, \"button\")}\n component=\"div\"\n innerRef={contentRef}\n className={classes.content}\n onClick={handleClick}\n onMouseDown={handleMouseDown}\n style={{\n paddingLeft: (expandable || icon != null ? 0 : 10) + level * (collapsible ? 32 : 10),\n }}\n {...(treeviewMode\n ? {\n role: \"button\",\n tabIndex: -1,\n onFocus: handleFocus,\n }\n : {\n role: \"button\",\n tabIndex: selectable || expandable ? 0 : -1,\n onKeyDown: handleKeyDown,\n \"aria-current\": selectable && selected ? \"page\" : undefined,\n \"aria-expanded\": expandable ? expanded : undefined,\n \"aria-controls\": expandable ? setId(id, \"group\") : undefined,\n })}\n >\n {expandable && (expanded ? <DropUpXS /> : <DropDownXS />)}\n {icon}\n {label}\n </HvTypography>\n ),\n [\n id,\n classes.content,\n handleClick,\n handleMouseDown,\n expandable,\n level,\n collapsible,\n treeviewMode,\n handleFocus,\n handleKeyDown,\n selectable,\n selected,\n expanded,\n icon,\n label,\n ]\n );\n\n const renderedChildren = useMemo(\n () =>\n children && (\n <ul\n id={setId(id, \"group\")}\n className={classes.group}\n role={treeviewMode ? \"group\" : undefined}\n >\n {children}\n </ul>\n ),\n [children, classes.group, id, treeviewMode]\n );\n\n return (\n <li\n ref={handleRef}\n id={id}\n className={clsx(classes.node, className, {\n [classes.disabled]: disabled,\n [classes.expandable]: expandable,\n [classes.collapsed]: expandable && !expanded,\n [classes.expanded]: expandable && expanded,\n [classes.selectable]: !disabled && selectable,\n [classes.unselectable]: !disabled && !selectable,\n [classes.selected]: !disabled && selectable && selected,\n [classes.unselected]: !disabled && selectable && !selected,\n [classes.focused]: focused,\n })}\n data-hasicon={icon != null ? true : undefined}\n {...(mode === \"treeview\" && {\n role: \"treeitem\",\n \"aria-selected\": ariaSelected,\n \"aria-expanded\": expandable ? expanded : undefined,\n \"aria-disabled\": disabled ? true : undefined,\n })}\n {...others}\n >\n {renderedContent}\n <DescendantProvider id={nodeId} level={level + 1}>\n {renderedChildren}\n </DescendantProvider>\n </li>\n );\n});\n\nTreeViewItem.propTypes = {\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied to the Radio button.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the root of the component.\n */\n node: PropTypes.string,\n /**\n * Style applied to the content.\n */\n content: PropTypes.string,\n /**\n * Style applied to the group.\n */\n group: PropTypes.string,\n /**\n * Style applied when item is disabled.\n */\n disabled: PropTypes.string,\n /**\n * Style applied when item is expandable.\n */\n expandable: PropTypes.string,\n /**\n * Style applied when item is collapsed.\n */\n collapsed: PropTypes.string,\n /**\n * Style applied when item is expanded.\n */\n expanded: PropTypes.string,\n /**\n * Style applied when item is selectable.\n */\n selectable: PropTypes.string,\n /**\n * Style applied when item is unselectable.\n */\n unselectable: PropTypes.string,\n /**\n * Style applied when item is selected.\n */\n selected: PropTypes.string,\n /**\n * Style applied when item is unselectable.\n */\n unselected: PropTypes.string,\n /**\n * Style applied when item is focused.\n */\n focused: PropTypes.string,\n }).isRequired,\n /**\n * Is the node disabled.\n */\n disabled: PropTypes.bool,\n /**\n * Can the node be selected.\n */\n selectable: PropTypes.bool,\n /**\n * The id of the node.\n */\n nodeId: PropTypes.string.isRequired,\n /**\n * The icon to display next to the node's label.\n */\n icon: PropTypes.node,\n /**\n * The item label.\n */\n label: PropTypes.node.isRequired,\n /**\n * The node payload.\n */\n // eslint-disable-next-line react/forbid-prop-types\n payload: PropTypes.any,\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n /**\n * @ignore\n */\n onMouseDown: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n};\n\nexport default withStyles(styles, {\n name: \"HvVerticalNavigationTreeViewItem\",\n})(TreeViewItem);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TreeViewItem.js","names":["React","useCallback","useContext","useEffect","useMemo","useRef","useState","clsx","PropTypes","withStyles","DropDownXS","DropUpXS","HvTypography","TreeViewControlContext","TreeViewStateContext","setId","useForkRef","DescendantProvider","useDescendant","styles","preventSelection","event","disabled","shiftKey","ctrlKey","metaKey","preventDefault","TreeViewItem","forwardRef","props","ref","id","idProp","className","classes","disabledProp","selectable","selectableProp","nodeId","icon","label","payload","onClick","onMouseDown","onFocus","children","others","treeViewControlContext","isExpanded","isSelected","isFocused","isDisabled","treeId","mode","collapsible","toggleExpansion","multiSelect","selectNode","selectRange","disabledItemsFocusable","registerNode","unregisterNode","mapFirstChar","unMapFirstChar","focus","treeviewMode","treeitemElement","setTreeitemElement","contentRef","handleRef","descendant","element","index","parentId","level","expandable","Boolean","Array","isArray","length","expanded","focused","selected","idAttribute","undefined","current","textContent","substring","toLowerCase","ariaSelected","handleFocus","target","currentTarget","ownerDocument","document","getElementById","preventScroll","unfocusable","handleExpansion","multiple","handleSelection","end","handleMouseDown","handleClick","handleKeyDown","isEventHandled","key","altKey","stopPropagation","renderedContent","content","paddingLeft","role","tabIndex","onKeyDown","renderedChildren","group","node","unselected","unselectable","collapsed","propTypes","string","shape","isRequired","bool","any","func","name"],"sources":["../../../../src/VerticalNavigation/TreeView/TreeViewItem.js"],"sourcesContent":["import React, { useCallback, useContext, useEffect, useMemo, useRef, useState } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\n\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport HvTypography from \"../../Typography\";\n\nimport { TreeViewControlContext, TreeViewStateContext } from \"./TreeViewContexts\";\n\nimport { setId, useForkRef } from \"../../utils\";\n\nimport { DescendantProvider, useDescendant } from \"./descendants\";\n\nimport styles from \"./styles\";\n\nconst preventSelection = (event, disabled) => {\n if (event.shiftKey || event.ctrlKey || event.metaKey || disabled) {\n // Prevent text selection\n event.preventDefault();\n }\n};\n\nconst TreeViewItem = React.forwardRef((props, ref) => {\n const {\n id: idProp,\n className,\n classes,\n\n disabled: disabledProp = false,\n\n selectable: selectableProp,\n\n nodeId,\n icon = null,\n label,\n payload,\n\n onClick,\n onMouseDown,\n onFocus,\n\n children,\n\n ...others\n } = props;\n\n const treeViewControlContext = useContext(TreeViewControlContext);\n const { isExpanded, isSelected, isFocused, isDisabled } = useContext(TreeViewStateContext);\n\n const {\n treeId,\n mode,\n collapsible,\n toggleExpansion,\n multiSelect,\n selectNode,\n selectRange,\n disabledItemsFocusable,\n registerNode,\n unregisterNode,\n mapFirstChar,\n unMapFirstChar,\n focus,\n } = treeViewControlContext;\n\n const treeviewMode = mode === \"treeview\";\n\n let id = null;\n\n if (idProp != null) {\n id = idProp;\n } else if (treeId && nodeId) {\n id = `${treeId}-${nodeId}`;\n }\n\n const [treeitemElement, setTreeitemElement] = useState(null);\n const contentRef = useRef(null);\n const handleRef = useForkRef(setTreeitemElement, ref);\n\n const descendant = useMemo(\n () => ({\n element: treeitemElement,\n id: nodeId,\n }),\n [nodeId, treeitemElement]\n );\n\n const { index, parentId, level } = useDescendant(descendant);\n\n const expandable = collapsible && Boolean(Array.isArray(children) ? children.length : children);\n const expanded = isExpanded ? isExpanded(nodeId) : false;\n const focused = isFocused ? isFocused(nodeId) : false;\n const selected = isSelected ? isSelected(nodeId) : false;\n const disabled = isDisabled ? isDisabled(nodeId) : false;\n\n const selectable = selectableProp != null ? selectableProp : !collapsible || !expandable;\n\n useEffect(() => {\n // On the first render a node's index will be -1. We want to wait for the real index.\n if (registerNode && unregisterNode && index !== -1) {\n registerNode({\n id: nodeId,\n idAttribute: id,\n index,\n parentId,\n selectable,\n expandable,\n disabled: disabledProp,\n onFocus,\n payload,\n });\n\n return () => {\n unregisterNode(nodeId);\n };\n }\n\n return undefined;\n }, [\n registerNode,\n unregisterNode,\n parentId,\n index,\n nodeId,\n expandable,\n disabledProp,\n id,\n selectable,\n onFocus,\n payload,\n ]);\n\n useEffect(() => {\n if (mapFirstChar && unMapFirstChar && label) {\n mapFirstChar(nodeId, contentRef.current?.textContent.substring(0, 1).toLowerCase());\n\n return () => {\n unMapFirstChar(nodeId);\n };\n }\n return undefined;\n }, [mapFirstChar, unMapFirstChar, nodeId, label]);\n\n let ariaSelected;\n if (multiSelect) {\n ariaSelected = selected;\n } else if (selected) {\n /* single-selection trees unset aria-selected on un-selected items.\n *\n * If the tree does not support multiple selection, aria-selected\n * is set to true for the selected node and it is not present on any other node in the tree.\n * Source: https://www.w3.org/TR/wai-aria-practices/#TreeView\n */\n ariaSelected = true;\n }\n\n const handleFocus = useCallback(\n (event) => {\n // DOM focus stays on the tree which manages focus with aria-activedescendant\n if (event.target === event.currentTarget) {\n (event.target.ownerDocument || document)\n .getElementById(treeId)\n .focus({ preventScroll: true });\n }\n\n const unfocusable = !disabledItemsFocusable && disabled;\n if (!focused && event.currentTarget === event.target && !unfocusable) {\n focus(event, nodeId);\n }\n },\n [disabled, disabledItemsFocusable, focus, focused, nodeId, treeId]\n );\n\n const handleExpansion = useCallback(\n (event) => {\n if (!disabled) {\n if (treeviewMode && !focused) {\n focus(event, nodeId);\n }\n\n const multiple = multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);\n\n // If already expanded and trying to toggle selection don't close\n if (expandable && !(multiple && isExpanded(nodeId))) {\n toggleExpansion(event, nodeId);\n }\n }\n },\n [\n disabled,\n expandable,\n focus,\n focused,\n isExpanded,\n multiSelect,\n nodeId,\n toggleExpansion,\n treeviewMode,\n ]\n );\n\n const handleSelection = useCallback(\n (event) => {\n if (selectable && !disabled) {\n if (treeviewMode && !focused) {\n focus(event, nodeId);\n }\n\n const multiple = multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);\n\n if (multiple) {\n if (event.shiftKey) {\n selectRange(event, { end: nodeId });\n } else {\n selectNode(event, nodeId, true);\n }\n } else {\n selectNode(event, nodeId);\n }\n }\n },\n [\n disabled,\n focus,\n focused,\n multiSelect,\n nodeId,\n selectNode,\n selectRange,\n selectable,\n treeviewMode,\n ]\n );\n\n const handleMouseDown = useCallback(\n (event) => {\n preventSelection(event, disabled);\n\n if (onMouseDown) {\n onMouseDown(event);\n }\n },\n [disabled, onMouseDown]\n );\n\n const handleClick = useCallback(\n (event) => {\n if (!disabled) {\n if (expandable) {\n handleExpansion(event);\n }\n\n if (selectable) {\n handleSelection(event);\n }\n }\n\n if (onClick) {\n onClick(event);\n }\n },\n [disabled, expandable, handleExpansion, handleSelection, onClick, selectable]\n );\n\n const handleKeyDown = useCallback(\n (event) => {\n let isEventHandled = false;\n const { key } = event;\n\n if (event.altKey || event.ctrlKey || event.metaKey || event.currentTarget !== event.target) {\n return;\n }\n if (contentRef.current === event.currentTarget) {\n if (key === \"Enter\" || key === \" \") {\n if (expandable) {\n isEventHandled = handleExpansion(event);\n }\n\n if (selectable) {\n isEventHandled = handleSelection(event);\n }\n }\n\n if (isEventHandled) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n },\n [expandable, handleExpansion, handleSelection, selectable]\n );\n\n const renderedContent = useMemo(\n () => (\n <HvTypography\n id={setId(id, \"button\")}\n component=\"div\"\n innerRef={contentRef}\n className={classes.content}\n onClick={handleClick}\n onMouseDown={handleMouseDown}\n style={{\n paddingLeft: (expandable || icon != null ? 0 : 10) + level * (collapsible ? 32 : 10),\n }}\n {...(treeviewMode\n ? {\n role: \"button\",\n tabIndex: -1,\n onFocus: handleFocus,\n }\n : {\n role: \"button\",\n tabIndex: selectable || expandable ? 0 : -1,\n onKeyDown: handleKeyDown,\n \"aria-current\": selectable && selected ? \"page\" : undefined,\n \"aria-expanded\": expandable ? expanded : undefined,\n \"aria-controls\": expandable ? setId(id, \"group\") : undefined,\n })}\n >\n {expandable && (expanded ? <DropUpXS /> : <DropDownXS />)}\n {icon}\n {label}\n </HvTypography>\n ),\n [\n id,\n classes.content,\n handleClick,\n handleMouseDown,\n expandable,\n level,\n collapsible,\n treeviewMode,\n handleFocus,\n handleKeyDown,\n selectable,\n selected,\n expanded,\n icon,\n label,\n ]\n );\n\n const renderedChildren = useMemo(\n () =>\n children && (\n <ul\n id={setId(id, \"group\")}\n className={classes.group}\n role={treeviewMode ? \"group\" : undefined}\n >\n {children}\n </ul>\n ),\n [children, classes.group, id, treeviewMode]\n );\n\n return (\n <li\n ref={handleRef}\n id={id}\n className={clsx(classes.node, className, {\n [classes.disabled]: disabled,\n [classes.expandable]: expandable,\n [classes.collapsed]: expandable && !expanded,\n [classes.expanded]: expandable && expanded,\n [classes.selectable]: !disabled && selectable,\n [classes.unselectable]: !disabled && !selectable,\n [classes.selected]: !disabled && selectable && selected,\n [classes.unselected]: !disabled && selectable && !selected,\n [classes.focused]: focused,\n })}\n data-hasicon={icon != null ? true : undefined}\n {...(mode === \"treeview\" && {\n role: \"treeitem\",\n \"aria-selected\": ariaSelected,\n \"aria-expanded\": expandable ? expanded : undefined,\n \"aria-disabled\": disabled ? true : undefined,\n })}\n {...others}\n >\n {renderedContent}\n <DescendantProvider id={nodeId} level={level + 1}>\n {renderedChildren}\n </DescendantProvider>\n </li>\n );\n});\n\nTreeViewItem.propTypes = {\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied to the Radio button.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the root of the component.\n */\n node: PropTypes.string,\n /**\n * Style applied to the content.\n */\n content: PropTypes.string,\n /**\n * Style applied to the group.\n */\n group: PropTypes.string,\n /**\n * Style applied when item is disabled.\n */\n disabled: PropTypes.string,\n /**\n * Style applied when item is expandable.\n */\n expandable: PropTypes.string,\n /**\n * Style applied when item is collapsed.\n */\n collapsed: PropTypes.string,\n /**\n * Style applied when item is expanded.\n */\n expanded: PropTypes.string,\n /**\n * Style applied when item is selectable.\n */\n selectable: PropTypes.string,\n /**\n * Style applied when item is unselectable.\n */\n unselectable: PropTypes.string,\n /**\n * Style applied when item is selected.\n */\n selected: PropTypes.string,\n /**\n * Style applied when item is unselectable.\n */\n unselected: PropTypes.string,\n /**\n * Style applied when item is focused.\n */\n focused: PropTypes.string,\n }).isRequired,\n /**\n * Is the node disabled.\n */\n disabled: PropTypes.bool,\n /**\n * Can the node be selected.\n */\n selectable: PropTypes.bool,\n /**\n * The id of the node.\n */\n nodeId: PropTypes.string.isRequired,\n /**\n * The icon to display next to the node's label.\n */\n icon: PropTypes.node,\n /**\n * The item label.\n */\n label: PropTypes.node.isRequired,\n /**\n * The node payload.\n */\n // eslint-disable-next-line react/forbid-prop-types\n payload: PropTypes.any,\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n /**\n * @ignore\n */\n onMouseDown: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n};\n\nexport default withStyles(styles, {\n name: \"HvVerticalNavigationTreeViewItem\",\n})(TreeViewItem);\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hitachivantara/uikit-react-core",
|
|
3
|
-
"version": "3.67.
|
|
3
|
+
"version": "3.67.6",
|
|
4
4
|
"description": "A collection of React components for the Hitachi Vantara's Design System.",
|
|
5
5
|
"homepage": "https://github.com/lumada-design/hv-uikit-react",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -105,5 +105,5 @@
|
|
|
105
105
|
"publishConfig": {
|
|
106
106
|
"access": "public"
|
|
107
107
|
},
|
|
108
|
-
"gitHead": "
|
|
108
|
+
"gitHead": "452304a1dde2687c11937c0b78213275109934a4"
|
|
109
109
|
}
|