@hitachivantara/uikit-react-core 5.9.1 → 5.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/ActionsGeneric/ActionsGeneric.cjs.map +1 -1
- package/dist/cjs/components/BaseInput/BaseInput.cjs +18 -1
- package/dist/cjs/components/BaseInput/BaseInput.cjs.map +1 -1
- package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs +3 -3
- package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs.map +1 -1
- package/dist/cjs/components/BreadCrumb/Page/Page.cjs +22 -12
- package/dist/cjs/components/BreadCrumb/Page/Page.cjs.map +1 -1
- package/dist/cjs/components/BreadCrumb/Page/Page.styles.cjs +19 -44
- package/dist/cjs/components/BreadCrumb/Page/Page.styles.cjs.map +1 -1
- package/dist/cjs/components/Calendar/CalendarHeader/CalendarHeader.styles.cjs +4 -8
- package/dist/cjs/components/Calendar/CalendarHeader/CalendarHeader.styles.cjs.map +1 -1
- package/dist/cjs/components/Calendar/SingleCalendar/CalendarCell.cjs +5 -17
- package/dist/cjs/components/Calendar/SingleCalendar/CalendarCell.cjs.map +1 -1
- package/dist/cjs/components/Calendar/utils.cjs +0 -8
- package/dist/cjs/components/Calendar/utils.cjs.map +1 -1
- package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs +24 -29
- package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs.map +1 -1
- package/dist/cjs/components/DropDownMenu/DropDownMenu.styles.cjs +27 -75
- package/dist/cjs/components/DropDownMenu/DropDownMenu.styles.cjs.map +1 -1
- package/dist/cjs/components/DropDownMenu/dropDownMenuClasses.cjs +1 -1
- package/dist/cjs/components/DropDownMenu/dropDownMenuClasses.cjs.map +1 -1
- package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs +5 -4
- package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs.map +1 -1
- package/dist/cjs/components/Pagination/Pagination.styles.cjs +10 -14
- package/dist/cjs/components/Pagination/Pagination.styles.cjs.map +1 -1
- package/dist/cjs/components/Table/TableCell/TableCell.cjs +4 -4
- package/dist/cjs/components/Table/TableCell/TableCell.cjs.map +1 -1
- package/dist/cjs/components/Table/TableCell/TableCell.styles.cjs +2 -14
- package/dist/cjs/components/Table/TableCell/TableCell.styles.cjs.map +1 -1
- package/dist/cjs/components/Table/TableRow/TableRow.cjs +6 -6
- package/dist/cjs/components/Table/TableRow/TableRow.cjs.map +1 -1
- package/dist/cjs/components/Table/utils/utils.cjs +0 -5
- package/dist/cjs/components/Table/utils/utils.cjs.map +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.styles.cjs +23 -37
- package/dist/cjs/components/Tooltip/Tooltip.styles.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Actions/Actions.cjs +2 -2
- package/dist/cjs/components/VerticalNavigation/Actions/Actions.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Header/Header.cjs +2 -2
- package/dist/cjs/components/VerticalNavigation/Header/Header.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.cjs +15 -8
- package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/NavigationPopup/NavigationPopup.cjs +1 -0
- package/dist/cjs/components/VerticalNavigation/NavigationPopup/NavigationPopup.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs +5 -5
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs +7 -3
- package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/VerticalNavigationContext.cjs +1 -1
- package/dist/cjs/components/VerticalNavigation/VerticalNavigationContext.cjs.map +1 -1
- package/dist/cjs/hooks/useUniqueId.cjs +1 -1
- package/dist/cjs/hooks/useUniqueId.cjs.map +1 -1
- package/dist/cjs/index.cjs +2 -3
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/utils/checkValidHexColorValue.cjs +9 -0
- package/dist/cjs/utils/checkValidHexColorValue.cjs.map +1 -0
- package/dist/esm/components/ActionsGeneric/ActionsGeneric.js.map +1 -1
- package/dist/esm/components/BaseInput/BaseInput.js +18 -1
- package/dist/esm/components/BaseInput/BaseInput.js.map +1 -1
- package/dist/esm/components/BreadCrumb/BreadCrumb.js +3 -3
- package/dist/esm/components/BreadCrumb/BreadCrumb.js.map +1 -1
- package/dist/esm/components/BreadCrumb/Page/Page.js +23 -13
- package/dist/esm/components/BreadCrumb/Page/Page.js.map +1 -1
- package/dist/esm/components/BreadCrumb/Page/Page.styles.js +19 -42
- package/dist/esm/components/BreadCrumb/Page/Page.styles.js.map +1 -1
- package/dist/esm/components/Calendar/CalendarHeader/CalendarHeader.styles.js +4 -8
- package/dist/esm/components/Calendar/CalendarHeader/CalendarHeader.styles.js.map +1 -1
- package/dist/esm/components/Calendar/SingleCalendar/CalendarCell.js +6 -18
- package/dist/esm/components/Calendar/SingleCalendar/CalendarCell.js.map +1 -1
- package/dist/esm/components/Calendar/utils.js +1 -9
- package/dist/esm/components/Calendar/utils.js.map +1 -1
- package/dist/esm/components/DropDownMenu/DropDownMenu.js +25 -30
- package/dist/esm/components/DropDownMenu/DropDownMenu.js.map +1 -1
- package/dist/esm/components/DropDownMenu/DropDownMenu.styles.js +27 -73
- package/dist/esm/components/DropDownMenu/DropDownMenu.styles.js.map +1 -1
- package/dist/esm/components/DropDownMenu/dropDownMenuClasses.js +1 -1
- package/dist/esm/components/DropDownMenu/dropDownMenuClasses.js.map +1 -1
- package/dist/esm/components/FileUploader/DropZone/DropZone.js +5 -4
- package/dist/esm/components/FileUploader/DropZone/DropZone.js.map +1 -1
- package/dist/esm/components/Pagination/Pagination.styles.js +10 -14
- package/dist/esm/components/Pagination/Pagination.styles.js.map +1 -1
- package/dist/esm/components/Table/TableCell/TableCell.js +2 -2
- package/dist/esm/components/Table/TableCell/TableCell.js.map +1 -1
- package/dist/esm/components/Table/TableCell/TableCell.styles.js +2 -14
- package/dist/esm/components/Table/TableCell/TableCell.styles.js.map +1 -1
- package/dist/esm/components/Table/TableRow/TableRow.js +2 -2
- package/dist/esm/components/Table/TableRow/TableRow.js.map +1 -1
- package/dist/esm/components/Table/utils/utils.js +0 -5
- package/dist/esm/components/Table/utils/utils.js.map +1 -1
- package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/esm/components/Tooltip/Tooltip.styles.js +24 -38
- package/dist/esm/components/Tooltip/Tooltip.styles.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Actions/Actions.js +2 -2
- package/dist/esm/components/VerticalNavigation/Actions/Actions.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Header/Header.js +2 -2
- package/dist/esm/components/VerticalNavigation/Header/Header.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Navigation/Navigation.js +15 -8
- package/dist/esm/components/VerticalNavigation/Navigation/Navigation.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopup.js +1 -0
- package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopup.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js +5 -5
- package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/VerticalNavigation.js +7 -3
- package/dist/esm/components/VerticalNavigation/VerticalNavigation.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/VerticalNavigationContext.js +1 -1
- package/dist/esm/components/VerticalNavigation/VerticalNavigationContext.js.map +1 -1
- package/dist/esm/hooks/useUniqueId.js +2 -2
- package/dist/esm/hooks/useUniqueId.js.map +1 -1
- package/dist/esm/index.js +5 -6
- package/dist/esm/utils/checkValidHexColorValue.js +9 -0
- package/dist/esm/utils/checkValidHexColorValue.js.map +1 -0
- package/dist/types/index.d.ts +41 -45
- package/package.json +5 -5
- package/dist/cjs/hocs/withId.cjs +0 -31
- package/dist/cjs/hocs/withId.cjs.map +0 -1
- package/dist/esm/hocs/withId.js +0 -28
- package/dist/esm/hocs/withId.js.map +0 -1
|
@@ -39,6 +39,7 @@ const HvVerticalNavigationPopup = ({
|
|
|
39
39
|
children: /* @__PURE__ */ jsxRuntime.jsx(NavigationPopup_styles.StyledPopupContainer, {
|
|
40
40
|
children: /* @__PURE__ */ jsxRuntime.jsx(VerticalNavigation.HvVerticalNavigation, {
|
|
41
41
|
open: true,
|
|
42
|
+
useIcons: true,
|
|
42
43
|
children: /* @__PURE__ */ jsxRuntime.jsx(Navigation.HvVerticalNavigationTree, {
|
|
43
44
|
className: clsx.clsx(navigationClasses.default.popup),
|
|
44
45
|
id: setId.setId(id, "tree"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationPopup.cjs","sources":["../../../../../src/components/VerticalNavigation/NavigationPopup/NavigationPopup.tsx"],"sourcesContent":["import { ClickAwayListener } from \"@mui/material\";\nimport { clsx } from \"clsx\";\n\nimport {\n NavigationData,\n HvVerticalNavigationTree,\n HvVerticalNavigation,\n verticalNavigationTreeClasses,\n} from \"@core/components\";\nimport { HvBaseProps } from \"@core/types\";\nimport { setId } from \"@core/utils\";\n\nimport { StyledPopper, StyledPopupContainer } from \"./NavigationPopup.styles\";\n\nexport interface HvVerticalNavigationPopupProps\n extends HvBaseProps<HTMLDivElement> {\n id?: string;\n anchorEl?: HTMLElement | null;\n fixedMode?: boolean;\n data?: NavigationData[];\n selected?: string;\n onClose?: () => void;\n onChange?: any;\n}\n\nexport const HvVerticalNavigationPopup = ({\n id,\n anchorEl,\n fixedMode,\n onClose,\n data,\n selected,\n onChange,\n\n ...others\n}: HvVerticalNavigationPopupProps) => {\n const handleClickAway = () => {\n onClose?.();\n };\n\n const handleChange = (event, selectedItem) => {\n onChange(event, selectedItem.id, selectedItem);\n };\n\n const handleMouseLeave = () => {\n if (!fixedMode) {\n onClose?.();\n }\n };\n\n return (\n <StyledPopper open anchorEl={anchorEl} placement=\"right-start\" {...others}>\n <ClickAwayListener onClickAway={handleClickAway}>\n <StyledPopupContainer>\n <HvVerticalNavigation open>\n <HvVerticalNavigationTree\n className={clsx(verticalNavigationTreeClasses.popup)}\n id={setId(id, \"tree\")}\n collapsible\n defaultExpanded\n selected={selected}\n onChange={handleChange}\n data={data}\n onMouseLeave={handleMouseLeave}\n />\n </HvVerticalNavigation>\n </StyledPopupContainer>\n </ClickAwayListener>\n </StyledPopper>\n );\n};\n"],"names":["HvVerticalNavigationPopup","id","anchorEl","fixedMode","onClose","data","selected","onChange","others","handleClickAway","handleChange","event","selectedItem","handleMouseLeave","StyledPopper","open","placement","children","ClickAwayListener","onClickAway","StyledPopupContainer","HvVerticalNavigation","HvVerticalNavigationTree","className","clsx","verticalNavigationTreeClasses","popup","setId","collapsible","defaultExpanded","onMouseLeave"],"mappings":";;;;;;;;;;AAyBO,MAAMA,4BAA4BA,CAAC;AAAA,EACxCC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EAEA,GAAGC;AAC2B,MAAM;AACpC,QAAMC,kBAAkBA,MAAM;AACjB;AAAA,EAAA;AAGPC,QAAAA,eAAeA,CAACC,OAAOC,iBAAiB;AACnCD,aAAAA,OAAOC,aAAaX,IAAIW,YAAY;AAAA,EAAA;AAG/C,QAAMC,mBAAmBA,MAAM;AAC7B,QAAI,CAACV,WAAW;AACH;AAAA,IACb;AAAA,EAAA;AAGF,wCACGW,uBAAAA,cAAY;AAAA,IAACC,MAAI;AAAA,IAACb;AAAAA,IAAoBc,WAAU;AAAA,IAAa,GAAKR;AAAAA,IAAMS,yCACtEC,4BAAiB;AAAA,MAACC,aAAaV;AAAAA,MAAgBQ,yCAC7CG,6CAAoB;AAAA,QAAAH,yCAClBI,yCAAoB;AAAA,UAACN,MAAI;AAAA,
|
|
1
|
+
{"version":3,"file":"NavigationPopup.cjs","sources":["../../../../../src/components/VerticalNavigation/NavigationPopup/NavigationPopup.tsx"],"sourcesContent":["import { ClickAwayListener } from \"@mui/material\";\nimport { clsx } from \"clsx\";\n\nimport {\n NavigationData,\n HvVerticalNavigationTree,\n HvVerticalNavigation,\n verticalNavigationTreeClasses,\n} from \"@core/components\";\nimport { HvBaseProps } from \"@core/types\";\nimport { setId } from \"@core/utils\";\n\nimport { StyledPopper, StyledPopupContainer } from \"./NavigationPopup.styles\";\n\nexport interface HvVerticalNavigationPopupProps\n extends HvBaseProps<HTMLDivElement> {\n id?: string;\n anchorEl?: HTMLElement | null;\n fixedMode?: boolean;\n data?: NavigationData[];\n selected?: string;\n onClose?: () => void;\n onChange?: any;\n}\n\nexport const HvVerticalNavigationPopup = ({\n id,\n anchorEl,\n fixedMode,\n onClose,\n data,\n selected,\n onChange,\n\n ...others\n}: HvVerticalNavigationPopupProps) => {\n const handleClickAway = () => {\n onClose?.();\n };\n\n const handleChange = (event, selectedItem) => {\n onChange(event, selectedItem.id, selectedItem);\n };\n\n const handleMouseLeave = () => {\n if (!fixedMode) {\n onClose?.();\n }\n };\n\n return (\n <StyledPopper open anchorEl={anchorEl} placement=\"right-start\" {...others}>\n <ClickAwayListener onClickAway={handleClickAway}>\n <StyledPopupContainer>\n <HvVerticalNavigation open useIcons>\n <HvVerticalNavigationTree\n className={clsx(verticalNavigationTreeClasses.popup)}\n id={setId(id, \"tree\")}\n collapsible\n defaultExpanded\n selected={selected}\n onChange={handleChange}\n data={data}\n onMouseLeave={handleMouseLeave}\n />\n </HvVerticalNavigation>\n </StyledPopupContainer>\n </ClickAwayListener>\n </StyledPopper>\n );\n};\n"],"names":["HvVerticalNavigationPopup","id","anchorEl","fixedMode","onClose","data","selected","onChange","others","handleClickAway","handleChange","event","selectedItem","handleMouseLeave","StyledPopper","open","placement","children","ClickAwayListener","onClickAway","StyledPopupContainer","HvVerticalNavigation","useIcons","HvVerticalNavigationTree","className","clsx","verticalNavigationTreeClasses","popup","setId","collapsible","defaultExpanded","onMouseLeave"],"mappings":";;;;;;;;;;AAyBO,MAAMA,4BAA4BA,CAAC;AAAA,EACxCC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EAEA,GAAGC;AAC2B,MAAM;AACpC,QAAMC,kBAAkBA,MAAM;AACjB;AAAA,EAAA;AAGPC,QAAAA,eAAeA,CAACC,OAAOC,iBAAiB;AACnCD,aAAAA,OAAOC,aAAaX,IAAIW,YAAY;AAAA,EAAA;AAG/C,QAAMC,mBAAmBA,MAAM;AAC7B,QAAI,CAACV,WAAW;AACH;AAAA,IACb;AAAA,EAAA;AAGF,wCACGW,uBAAAA,cAAY;AAAA,IAACC,MAAI;AAAA,IAACb;AAAAA,IAAoBc,WAAU;AAAA,IAAa,GAAKR;AAAAA,IAAMS,yCACtEC,4BAAiB;AAAA,MAACC,aAAaV;AAAAA,MAAgBQ,yCAC7CG,6CAAoB;AAAA,QAAAH,yCAClBI,yCAAoB;AAAA,UAACN,MAAI;AAAA,UAACO,UAAQ;AAAA,UAAAL,yCAChCM,qCAAwB;AAAA,YACvBC,WAAWC,KAAAA,KAAKC,kBAAAA,QAA8BC,KAAK;AAAA,YACnD1B,IAAI2B,MAAAA,MAAM3B,IAAI,MAAM;AAAA,YACpB4B,aAAW;AAAA,YACXC,iBAAe;AAAA,YACfxB;AAAAA,YACAC,UAAUG;AAAAA,YACVL;AAAAA,YACA0B,cAAclB;AAAAA,UAAAA,CAAiB;AAAA,QAAA,CAC/B;AAAA,MAAA,CACmB;AAAA,IAAA,CACF;AAAA,EAAA,CAEZ;AAEnB;;"}
|
|
@@ -77,7 +77,7 @@ const HvVerticalNavigationTreeViewItem = React.forwardRef((props, ref) => {
|
|
|
77
77
|
}), [nodeId, treeitemElement]);
|
|
78
78
|
const {
|
|
79
79
|
isOpen,
|
|
80
|
-
|
|
80
|
+
useIcons
|
|
81
81
|
} = React.useContext(VerticalNavigationContext.VerticalNavigationContext);
|
|
82
82
|
const {
|
|
83
83
|
index,
|
|
@@ -222,7 +222,7 @@ const HvVerticalNavigationTreeViewItem = React.forwardRef((props, ref) => {
|
|
|
222
222
|
onClick: handleClick,
|
|
223
223
|
onMouseDown: handleMouseDown,
|
|
224
224
|
style: {
|
|
225
|
-
paddingLeft: (expandable ||
|
|
225
|
+
paddingLeft: (expandable || useIcons || !isOpen ? 0 : 10) + level * (collapsible ? 32 : 10)
|
|
226
226
|
},
|
|
227
227
|
role: href ? void 0 : "button",
|
|
228
228
|
...treeviewMode ? {
|
|
@@ -237,10 +237,10 @@ const HvVerticalNavigationTreeViewItem = React.forwardRef((props, ref) => {
|
|
|
237
237
|
"aria-label": payload == null ? void 0 : payload.label
|
|
238
238
|
},
|
|
239
239
|
children: [isOpen && expandable && (expanded ? /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.DropUpXS, {}) : /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.DropDownXS, {})), /* @__PURE__ */ jsxRuntime.jsx(IconWrapper.IconWrapper, {
|
|
240
|
-
icon,
|
|
240
|
+
icon: useIcons && icon,
|
|
241
241
|
label: payload == null ? void 0 : payload.label,
|
|
242
242
|
hasChildren: Boolean(children),
|
|
243
|
-
showAvatar: !icon &&
|
|
243
|
+
showAvatar: !icon && useIcons,
|
|
244
244
|
isOpen,
|
|
245
245
|
disableTooltip
|
|
246
246
|
}), isOpen && label]
|
|
@@ -254,7 +254,7 @@ const HvVerticalNavigationTreeViewItem = React.forwardRef((props, ref) => {
|
|
|
254
254
|
return /* @__PURE__ */ jsxRuntime.jsxs(TreeViewItem_styles.StyledNode, {
|
|
255
255
|
ref: handleRef,
|
|
256
256
|
id: id ?? void 0,
|
|
257
|
-
className: clsx.clsx((_a = treeViewItemClasses.default) == null ? void 0 : _a.node, classes == null ? void 0 : classes.node, className, disabled && clsx.clsx(treeViewItemClasses.default.disabled, classes == null ? void 0 : classes.disabled), expandable && clsx.clsx(treeViewItemClasses.default.expandable, classes == null ? void 0 : classes.expandable), expandable && !expanded && clsx.clsx(treeViewItemClasses.default.collapsed, classes == null ? void 0 : classes.collapsed), expandable && expanded && clsx.clsx(treeViewItemClasses.default.expanded, classes == null ? void 0 : classes.expanded), selectable && !disabled && clsx.clsx(treeViewItemClasses.default.selectable, classes == null ? void 0 : classes.selectable), !disabled && !selectable && clsx.clsx(treeViewItemClasses.default.unselectable, classes == null ? void 0 : classes.unselectable), !disabled && selectable && selected && clsx.clsx(treeViewItemClasses.default.selected, classes == null ? void 0 : classes.selected), !disabled && selectable && !selected && clsx.clsx(treeViewItemClasses.default.unselected, classes == null ? void 0 : classes.unselected), focused && clsx.clsx(treeViewItemClasses.default.focused, classes == null ? void 0 : classes.focused), !isOpen &&
|
|
257
|
+
className: clsx.clsx((_a = treeViewItemClasses.default) == null ? void 0 : _a.node, classes == null ? void 0 : classes.node, className, disabled && clsx.clsx(treeViewItemClasses.default.disabled, classes == null ? void 0 : classes.disabled), expandable && clsx.clsx(treeViewItemClasses.default.expandable, classes == null ? void 0 : classes.expandable), expandable && !expanded && clsx.clsx(treeViewItemClasses.default.collapsed, classes == null ? void 0 : classes.collapsed), expandable && expanded && clsx.clsx(treeViewItemClasses.default.expanded, classes == null ? void 0 : classes.expanded), selectable && !disabled && clsx.clsx(treeViewItemClasses.default.selectable, classes == null ? void 0 : classes.selectable), !disabled && !selectable && clsx.clsx(treeViewItemClasses.default.unselectable, classes == null ? void 0 : classes.unselectable), !disabled && selectable && selected && clsx.clsx(treeViewItemClasses.default.selected, classes == null ? void 0 : classes.selected), !disabled && selectable && !selected && clsx.clsx(treeViewItemClasses.default.unselected, classes == null ? void 0 : classes.unselected), focused && clsx.clsx(treeViewItemClasses.default.focused, classes == null ? void 0 : classes.focused), !isOpen && !useIcons && clsx.clsx(treeViewItemClasses.default.hide, classes == null ? void 0 : classes.hide), !isOpen && useIcons && isChildSelected && isChildSelected(nodeId) && clsx.clsx(treeViewItemClasses.default.selected, classes == null ? void 0 : classes.selected)),
|
|
258
258
|
"data-hasicon": icon != null ? true : void 0,
|
|
259
259
|
...mode === "treeview" && {
|
|
260
260
|
role: "treeitem",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeViewItem.cjs","sources":["../../../../../src/components/VerticalNavigation/TreeView/TreeViewItem.tsx"],"sourcesContent":["import {\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { clsx } from \"clsx\";\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\nimport { useForkRef } from \"@core/hooks\";\nimport { setId } from \"@core/utils\";\nimport treeViewItemClasses, {\n HvVerticalNavigationTreeViewItemClasses,\n} from \"./treeViewItemClasses\";\nimport { StyledContent, StyledGroup, StyledNode } from \"./TreeViewItem.styles\";\nimport { DescendantProvider, useDescendant } from \"./descendants\";\nimport {\n TreeViewControlContext,\n TreeViewStateContext,\n} from \"./TreeViewContext\";\nimport { VerticalNavigationContext } from \"..\";\nimport { IconWrapper } from \"./IconWrapper\";\n\nexport interface HvVerticalNavigationTreeViewItemProps {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the Radio button.\n */\n classes?: HvVerticalNavigationTreeViewItemClasses;\n /**\n * Is the node disabled.\n */\n disabled?: boolean;\n /**\n * Can the node be selected.\n */\n selectable?: boolean;\n /**\n * The id of the node.\n */\n nodeId?: string;\n /**\n * The icon to display next to the node's label.\n */\n icon?: React.ReactNode;\n /**\n * The item label.\n */\n label?: React.ReactNode;\n /**\n * The url for the link.\n */\n href?: string;\n /**\n * The behavior when opening a link.\n */\n target?: string;\n /**\n * The node payload.\n */\n payload?: any;\n /**\n * @ignore\n */\n onClick?: any;\n /**\n * @ignore\n */\n onMouseDown?: any;\n /**\n * @ignore\n */\n onFocus?: any;\n /**\n * The content of the component.\n */\n children?: React.ReactNode;\n /**\n * @ignore\n */\n onMouseEnter?: any;\n /**\n * Disables the appearence of a tooltip on hovering an element ( Only applicable when the in collapsed mode)\n */\n disableTooltip?: boolean;\n}\n\nconst preventSelection = (event, disabled) => {\n if (event.shiftKey || event.ctrlKey || event.metaKey || disabled) {\n // Prevent text selection\n event.preventDefault();\n }\n};\n\nexport const HvVerticalNavigationTreeViewItem = forwardRef(\n (props: HvVerticalNavigationTreeViewItemProps, 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 href,\n target,\n payload,\n\n onClick,\n onMouseDown,\n onFocus,\n\n children,\n\n disableTooltip,\n\n ...others\n } = props;\n\n const treeViewControlContext = useContext(TreeViewControlContext);\n const { isExpanded, isSelected, isFocused, isDisabled, isChildSelected } =\n 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: string | null = 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<HTMLDivElement>(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 { isOpen, collapsedMode } = useContext(VerticalNavigationContext);\n\n const { index, parentId, level } = useDescendant(descendant);\n\n const expandable = collapsible && Array.isArray(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 =\n selectableProp != null\n ? selectableProp\n : !collapsible || !expandable || !isOpen;\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 (\n mapFirstChar &&\n unMapFirstChar &&\n label &&\n contentRef.current?.textContent\n ) {\n mapFirstChar(\n nodeId,\n contentRef.current?.textContent.substring(0, 1).toLowerCase()\n );\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 (\n !focused &&\n event.currentTarget === event.target &&\n !unfocusable &&\n focus\n ) {\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 && focus) {\n focus(event, nodeId);\n }\n\n const multiple =\n multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);\n\n // If already expanded and trying to toggle selection don't close\n if (\n expandable &&\n isOpen &&\n !(multiple && isExpanded && isExpanded(nodeId))\n ) {\n if (toggleExpansion) 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 && focus) {\n focus(event, nodeId);\n }\n\n const multiple =\n multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);\n\n if (multiple) {\n if (event.shiftKey) {\n if (selectRange) return selectRange(event, { end: nodeId });\n } else if (selectNode) return selectNode(event, nodeId, true);\n } else if (selectNode) return selectNode(event, nodeId);\n } else {\n return false;\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 && isOpen) {\n handleExpansion(event);\n }\n\n if (selectable) {\n handleSelection(event);\n }\n }\n\n if (onClick) {\n onClick(event);\n }\n },\n [\n disabled,\n expandable,\n handleExpansion,\n handleSelection,\n onClick,\n selectable,\n ]\n );\n\n const handleKeyDown = useCallback(\n (event) => {\n let isEventHandled = false;\n const { key } = event;\n\n if (\n event.altKey ||\n event.ctrlKey ||\n event.metaKey ||\n event.currentTarget !== event.target\n ) {\n return;\n }\n if (contentRef.current === event.currentTarget) {\n if (key === \"Enter\" || key === \" \") {\n if (expandable && isOpen) {\n isEventHandled = handleExpansion(event) as unknown as boolean;\n }\n\n if (selectable) {\n isEventHandled = handleSelection(event) as boolean;\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 <StyledContent\n id={setId(id, \"button\")}\n component={href ? \"a\" : \"div\"}\n href={href}\n target={target}\n ref={contentRef}\n className={clsx(\n treeViewItemClasses.content,\n classes?.content,\n href != null && clsx(treeViewItemClasses.link, classes?.link),\n !isOpen && clsx(treeViewItemClasses.minimized, classes?.minimized)\n )}\n variant=\"body\"\n disabled={disabled}\n onClick={handleClick}\n onMouseDown={handleMouseDown}\n style={{\n paddingLeft:\n (expandable || icon != null || !isOpen ? 0 : 10) +\n level * (collapsible ? 32 : 10),\n }}\n role={href ? undefined : \"button\"}\n {...(treeviewMode\n ? {\n tabIndex: -1,\n onFocus: handleFocus,\n }\n : {\n tabIndex: selectable || expandable ? 0 : -1,\n onKeyDown: handleKeyDown,\n \"aria-current\":\n (selectable && selected) ||\n (!isOpen && isChildSelected?.(nodeId))\n ? href\n ? \"page\"\n : true\n : undefined,\n \"aria-expanded\": expandable ? expanded : undefined,\n \"aria-controls\": expandable ? setId(id, \"group\") : undefined,\n \"aria-label\": payload?.label,\n })}\n >\n {isOpen && expandable && (expanded ? <DropUpXS /> : <DropDownXS />)}\n\n <IconWrapper\n icon={icon}\n label={payload?.label}\n hasChildren={Boolean(children)}\n showAvatar={\n !icon && level === 0 && !isOpen && collapsedMode === \"icon\"\n }\n isOpen={isOpen}\n disableTooltip={disableTooltip}\n />\n\n {isOpen && label}\n </StyledContent>\n ),\n [\n id,\n href,\n target,\n classes?.content,\n treeViewItemClasses.content,\n classes?.link,\n treeViewItemClasses.link,\n classes?.minimized,\n treeViewItemClasses.minimized,\n disabled,\n handleClick,\n handleMouseDown,\n expandable,\n icon,\n level,\n collapsible,\n treeviewMode,\n handleFocus,\n selectable,\n handleKeyDown,\n selected,\n expanded,\n label,\n disableTooltip,\n ]\n );\n\n const renderedChildren = useMemo(\n () =>\n children && (\n <StyledGroup\n id={setId(id, \"group\")}\n className={clsx(treeViewItemClasses.group, classes?.group)}\n role={treeviewMode ? \"group\" : undefined}\n >\n {children}\n </StyledGroup>\n ),\n [children, treeViewItemClasses.group, classes?.group, id, treeviewMode]\n );\n\n return (\n <StyledNode\n ref={handleRef}\n id={id ?? undefined}\n className={clsx(\n treeViewItemClasses?.node,\n classes?.node,\n className,\n disabled && clsx(treeViewItemClasses.disabled, classes?.disabled),\n expandable &&\n clsx(treeViewItemClasses.expandable, classes?.expandable),\n expandable &&\n !expanded &&\n clsx(treeViewItemClasses.collapsed, classes?.collapsed),\n expandable &&\n expanded &&\n clsx(treeViewItemClasses.expanded, classes?.expanded),\n selectable &&\n !disabled &&\n clsx(treeViewItemClasses.selectable, classes?.selectable),\n !disabled &&\n !selectable &&\n clsx(treeViewItemClasses.unselectable, classes?.unselectable),\n !disabled &&\n selectable &&\n selected &&\n clsx(treeViewItemClasses.selected, classes?.selected),\n !disabled &&\n selectable &&\n !selected &&\n clsx(treeViewItemClasses.unselected, classes?.unselected),\n focused && clsx(treeViewItemClasses.focused, classes?.focused),\n !isOpen &&\n collapsedMode === \"simple\" &&\n clsx(treeViewItemClasses.hide, classes?.hide),\n !isOpen &&\n collapsedMode === \"icon\" &&\n isChildSelected &&\n isChildSelected(nodeId) &&\n clsx(treeViewItemClasses.selected, classes?.selected)\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 {isOpen && (\n <DescendantProvider id={nodeId} level={level + 1}>\n {renderedChildren}\n </DescendantProvider>\n )}\n </StyledNode>\n );\n }\n);\n"],"names":["preventSelection","event","disabled","shiftKey","ctrlKey","metaKey","preventDefault","HvVerticalNavigationTreeViewItem","forwardRef","props","ref","id","idProp","className","classes","disabledProp","selectable","selectableProp","nodeId","icon","label","href","target","payload","onClick","onMouseDown","onFocus","children","disableTooltip","others","treeViewControlContext","useContext","TreeViewControlContext","isExpanded","isSelected","isFocused","isDisabled","isChildSelected","TreeViewStateContext","treeId","mode","collapsible","toggleExpansion","multiSelect","selectNode","selectRange","disabledItemsFocusable","registerNode","unregisterNode","mapFirstChar","unMapFirstChar","focus","treeviewMode","treeitemElement","setTreeitemElement","useState","contentRef","useRef","handleRef","useForkRef","descendant","useMemo","element","isOpen","collapsedMode","VerticalNavigationContext","index","parentId","level","useDescendant","expandable","Array","isArray","expanded","focused","selected","useEffect","idAttribute","undefined","current","textContent","substring","toLowerCase","ariaSelected","handleFocus","useCallback","currentTarget","ownerDocument","document","getElementById","preventScroll","unfocusable","handleExpansion","multiple","handleSelection","end","handleMouseDown","handleClick","handleKeyDown","isEventHandled","key","altKey","stopPropagation","renderedContent","_jsxs","StyledContent","setId","component","clsx","treeViewItemClasses","content","link","minimized","variant","style","paddingLeft","role","tabIndex","onKeyDown","DropUpXS","DropDownXS","IconWrapper","hasChildren","Boolean","showAvatar","renderedChildren","StyledGroup","group","StyledNode","node","collapsed","unselectable","unselected","hide","DescendantProvider"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TreeViewItem.cjs","sources":["../../../../../src/components/VerticalNavigation/TreeView/TreeViewItem.tsx"],"sourcesContent":["import {\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { clsx } from \"clsx\";\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\nimport { useForkRef } from \"@core/hooks\";\nimport { setId } from \"@core/utils\";\nimport treeViewItemClasses, {\n HvVerticalNavigationTreeViewItemClasses,\n} from \"./treeViewItemClasses\";\nimport { StyledContent, StyledGroup, StyledNode } from \"./TreeViewItem.styles\";\nimport { DescendantProvider, useDescendant } from \"./descendants\";\nimport {\n TreeViewControlContext,\n TreeViewStateContext,\n} from \"./TreeViewContext\";\nimport { VerticalNavigationContext } from \"..\";\nimport { IconWrapper } from \"./IconWrapper\";\n\nexport interface HvVerticalNavigationTreeViewItemProps {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the Radio button.\n */\n classes?: HvVerticalNavigationTreeViewItemClasses;\n /**\n * Is the node disabled.\n */\n disabled?: boolean;\n /**\n * Can the node be selected.\n */\n selectable?: boolean;\n /**\n * The id of the node.\n */\n nodeId?: string;\n /**\n * The icon to display next to the node's label.\n */\n icon?: React.ReactNode;\n /**\n * The item label.\n */\n label?: React.ReactNode;\n /**\n * The url for the link.\n */\n href?: string;\n /**\n * The behavior when opening a link.\n */\n target?: string;\n /**\n * The node payload.\n */\n payload?: any;\n /**\n * @ignore\n */\n onClick?: any;\n /**\n * @ignore\n */\n onMouseDown?: any;\n /**\n * @ignore\n */\n onFocus?: any;\n /**\n * The content of the component.\n */\n children?: React.ReactNode;\n /**\n * @ignore\n */\n onMouseEnter?: any;\n /**\n * Disables the appearence of a tooltip on hovering an element ( Only applicable when the in collapsed mode)\n */\n disableTooltip?: boolean;\n}\n\nconst preventSelection = (event, disabled) => {\n if (event.shiftKey || event.ctrlKey || event.metaKey || disabled) {\n // Prevent text selection\n event.preventDefault();\n }\n};\n\nexport const HvVerticalNavigationTreeViewItem = forwardRef(\n (props: HvVerticalNavigationTreeViewItemProps, 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 href,\n target,\n payload,\n\n onClick,\n onMouseDown,\n onFocus,\n\n children,\n\n disableTooltip,\n\n ...others\n } = props;\n\n const treeViewControlContext = useContext(TreeViewControlContext);\n const { isExpanded, isSelected, isFocused, isDisabled, isChildSelected } =\n 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: string | null = 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<HTMLDivElement>(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 { isOpen, useIcons } = useContext(VerticalNavigationContext);\n\n const { index, parentId, level } = useDescendant(descendant);\n\n const expandable = collapsible && Array.isArray(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 =\n selectableProp != null\n ? selectableProp\n : !collapsible || !expandable || !isOpen;\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 (\n mapFirstChar &&\n unMapFirstChar &&\n label &&\n contentRef.current?.textContent\n ) {\n mapFirstChar(\n nodeId,\n contentRef.current?.textContent.substring(0, 1).toLowerCase()\n );\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 (\n !focused &&\n event.currentTarget === event.target &&\n !unfocusable &&\n focus\n ) {\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 && focus) {\n focus(event, nodeId);\n }\n\n const multiple =\n multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);\n\n // If already expanded and trying to toggle selection don't close\n if (\n expandable &&\n isOpen &&\n !(multiple && isExpanded && isExpanded(nodeId))\n ) {\n if (toggleExpansion) 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 && focus) {\n focus(event, nodeId);\n }\n\n const multiple =\n multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);\n\n if (multiple) {\n if (event.shiftKey) {\n if (selectRange) return selectRange(event, { end: nodeId });\n } else if (selectNode) return selectNode(event, nodeId, true);\n } else if (selectNode) return selectNode(event, nodeId);\n } else {\n return false;\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 && isOpen) {\n handleExpansion(event);\n }\n\n if (selectable) {\n handleSelection(event);\n }\n }\n\n if (onClick) {\n onClick(event);\n }\n },\n [\n disabled,\n expandable,\n handleExpansion,\n handleSelection,\n onClick,\n selectable,\n ]\n );\n\n const handleKeyDown = useCallback(\n (event) => {\n let isEventHandled = false;\n const { key } = event;\n\n if (\n event.altKey ||\n event.ctrlKey ||\n event.metaKey ||\n event.currentTarget !== event.target\n ) {\n return;\n }\n if (contentRef.current === event.currentTarget) {\n if (key === \"Enter\" || key === \" \") {\n if (expandable && isOpen) {\n isEventHandled = handleExpansion(event) as unknown as boolean;\n }\n\n if (selectable) {\n isEventHandled = handleSelection(event) as boolean;\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 <StyledContent\n id={setId(id, \"button\")}\n component={href ? \"a\" : \"div\"}\n href={href}\n target={target}\n ref={contentRef}\n className={clsx(\n treeViewItemClasses.content,\n classes?.content,\n href != null && clsx(treeViewItemClasses.link, classes?.link),\n !isOpen && clsx(treeViewItemClasses.minimized, classes?.minimized)\n )}\n variant=\"body\"\n disabled={disabled}\n onClick={handleClick}\n onMouseDown={handleMouseDown}\n style={{\n paddingLeft:\n (expandable || useIcons || !isOpen ? 0 : 10) +\n level * (collapsible ? 32 : 10),\n }}\n role={href ? undefined : \"button\"}\n {...(treeviewMode\n ? {\n tabIndex: -1,\n onFocus: handleFocus,\n }\n : {\n tabIndex: selectable || expandable ? 0 : -1,\n onKeyDown: handleKeyDown,\n \"aria-current\":\n (selectable && selected) ||\n (!isOpen && isChildSelected?.(nodeId))\n ? href\n ? \"page\"\n : true\n : undefined,\n \"aria-expanded\": expandable ? expanded : undefined,\n \"aria-controls\": expandable ? setId(id, \"group\") : undefined,\n \"aria-label\": payload?.label,\n })}\n >\n {isOpen && expandable && (expanded ? <DropUpXS /> : <DropDownXS />)}\n\n <IconWrapper\n icon={useIcons && icon}\n label={payload?.label}\n hasChildren={Boolean(children)}\n showAvatar={!icon && useIcons}\n isOpen={isOpen}\n disableTooltip={disableTooltip}\n />\n\n {isOpen && label}\n </StyledContent>\n ),\n [\n id,\n href,\n target,\n classes?.content,\n treeViewItemClasses.content,\n classes?.link,\n treeViewItemClasses.link,\n classes?.minimized,\n treeViewItemClasses.minimized,\n disabled,\n handleClick,\n handleMouseDown,\n expandable,\n icon,\n level,\n collapsible,\n treeviewMode,\n handleFocus,\n selectable,\n handleKeyDown,\n selected,\n expanded,\n label,\n disableTooltip,\n ]\n );\n\n const renderedChildren = useMemo(\n () =>\n children && (\n <StyledGroup\n id={setId(id, \"group\")}\n className={clsx(treeViewItemClasses.group, classes?.group)}\n role={treeviewMode ? \"group\" : undefined}\n >\n {children}\n </StyledGroup>\n ),\n [children, treeViewItemClasses.group, classes?.group, id, treeviewMode]\n );\n\n return (\n <StyledNode\n ref={handleRef}\n id={id ?? undefined}\n className={clsx(\n treeViewItemClasses?.node,\n classes?.node,\n className,\n disabled && clsx(treeViewItemClasses.disabled, classes?.disabled),\n expandable &&\n clsx(treeViewItemClasses.expandable, classes?.expandable),\n expandable &&\n !expanded &&\n clsx(treeViewItemClasses.collapsed, classes?.collapsed),\n expandable &&\n expanded &&\n clsx(treeViewItemClasses.expanded, classes?.expanded),\n selectable &&\n !disabled &&\n clsx(treeViewItemClasses.selectable, classes?.selectable),\n !disabled &&\n !selectable &&\n clsx(treeViewItemClasses.unselectable, classes?.unselectable),\n !disabled &&\n selectable &&\n selected &&\n clsx(treeViewItemClasses.selected, classes?.selected),\n !disabled &&\n selectable &&\n !selected &&\n clsx(treeViewItemClasses.unselected, classes?.unselected),\n focused && clsx(treeViewItemClasses.focused, classes?.focused),\n !isOpen && !useIcons && clsx(treeViewItemClasses.hide, classes?.hide),\n !isOpen &&\n useIcons &&\n isChildSelected &&\n isChildSelected(nodeId) &&\n clsx(treeViewItemClasses.selected, classes?.selected)\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 {isOpen && (\n <DescendantProvider id={nodeId} level={level + 1}>\n {renderedChildren}\n </DescendantProvider>\n )}\n </StyledNode>\n );\n }\n);\n"],"names":["preventSelection","event","disabled","shiftKey","ctrlKey","metaKey","preventDefault","HvVerticalNavigationTreeViewItem","forwardRef","props","ref","id","idProp","className","classes","disabledProp","selectable","selectableProp","nodeId","icon","label","href","target","payload","onClick","onMouseDown","onFocus","children","disableTooltip","others","treeViewControlContext","useContext","TreeViewControlContext","isExpanded","isSelected","isFocused","isDisabled","isChildSelected","TreeViewStateContext","treeId","mode","collapsible","toggleExpansion","multiSelect","selectNode","selectRange","disabledItemsFocusable","registerNode","unregisterNode","mapFirstChar","unMapFirstChar","focus","treeviewMode","treeitemElement","setTreeitemElement","useState","contentRef","useRef","handleRef","useForkRef","descendant","useMemo","element","isOpen","useIcons","VerticalNavigationContext","index","parentId","level","useDescendant","expandable","Array","isArray","expanded","focused","selected","useEffect","idAttribute","undefined","current","textContent","substring","toLowerCase","ariaSelected","handleFocus","useCallback","currentTarget","ownerDocument","document","getElementById","preventScroll","unfocusable","handleExpansion","multiple","handleSelection","end","handleMouseDown","handleClick","handleKeyDown","isEventHandled","key","altKey","stopPropagation","renderedContent","_jsxs","StyledContent","setId","component","clsx","treeViewItemClasses","content","link","minimized","variant","style","paddingLeft","role","tabIndex","onKeyDown","DropUpXS","DropDownXS","IconWrapper","hasChildren","Boolean","showAvatar","renderedChildren","StyledGroup","group","StyledNode","node","collapsed","unselectable","unselected","hide","DescendantProvider"],"mappings":"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"}
|
|
@@ -14,10 +14,13 @@ const HvVerticalNavigation = ({
|
|
|
14
14
|
classes,
|
|
15
15
|
children,
|
|
16
16
|
open = true,
|
|
17
|
-
collapsedMode = "simple",
|
|
18
17
|
slider = false,
|
|
18
|
+
useIcons = false,
|
|
19
19
|
...others
|
|
20
20
|
}) => {
|
|
21
|
+
if (others.collapsedMode) {
|
|
22
|
+
console.warn("`collaspedMode` is deprecated. Please use 'useIcons'.");
|
|
23
|
+
}
|
|
21
24
|
const [parentData, setParentData] = React.useState([]);
|
|
22
25
|
const [parentSelected, setParentSelected] = React.useState();
|
|
23
26
|
const [headerTitle, setHeaderTitle] = React.useState();
|
|
@@ -35,11 +38,12 @@ const HvVerticalNavigation = ({
|
|
|
35
38
|
};
|
|
36
39
|
const value = React.useMemo(() => ({
|
|
37
40
|
isOpen: open,
|
|
38
|
-
|
|
41
|
+
useIcons,
|
|
39
42
|
slider,
|
|
40
43
|
headerTitle,
|
|
41
44
|
setHeaderTitle,
|
|
42
45
|
parentItem,
|
|
46
|
+
setParentItem,
|
|
43
47
|
withParentData,
|
|
44
48
|
navigateToChildHandler,
|
|
45
49
|
navigateToParentHandler,
|
|
@@ -48,7 +52,7 @@ const HvVerticalNavigation = ({
|
|
|
48
52
|
parentSelected,
|
|
49
53
|
setParentSelected,
|
|
50
54
|
hasAnyChildWithData
|
|
51
|
-
}), [open,
|
|
55
|
+
}), [open, useIcons, slider, headerTitle, setHeaderTitle, parentItem, setParentItem, withParentData, navigateToChildHandler, navigateToParentHandler, hasAnyChildWithData]);
|
|
52
56
|
const content = /* @__PURE__ */ jsxRuntime.jsx(VerticalNavigationContext.VerticalNavigationContext.Provider, {
|
|
53
57
|
value,
|
|
54
58
|
children: /* @__PURE__ */ jsxRuntime.jsx(VerticalNavigation_styles.StyledRoot, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VerticalNavigation.cjs","sources":["../../../../src/components/VerticalNavigation/VerticalNavigation.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { useEffect, useMemo, useState } from \"react\";\nimport { StyledRoot } from \"./VerticalNavigation.styles\";\nimport verticalNavigationClasses, {\n HvVerticalNavigationClasses,\n} from \"./verticalNavigationClasses\";\nimport { NavigationData, VerticalNavigationContext } from \".\";\nimport {\n fillDataWithParentId,\n getNavigationItemById,\n getParentItemById,\n} from \"./NavigationSlider/utils\";\nimport { hasChildNavigationItems } from \"./utils/VerticalNavigation.utils\";\n\nexport interface HvVerticalNavigationProps {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the component.\n */\n classes?: HvVerticalNavigationClasses;\n /**\n * Current State of the Vertical Navigation Collapse\n */\n open?: boolean;\n /**\n *
|
|
1
|
+
{"version":3,"file":"VerticalNavigation.cjs","sources":["../../../../src/components/VerticalNavigation/VerticalNavigation.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { useEffect, useMemo, useState } from \"react\";\nimport { StyledRoot } from \"./VerticalNavigation.styles\";\nimport verticalNavigationClasses, {\n HvVerticalNavigationClasses,\n} from \"./verticalNavigationClasses\";\nimport { NavigationData, VerticalNavigationContext } from \".\";\nimport {\n fillDataWithParentId,\n getNavigationItemById,\n getParentItemById,\n} from \"./NavigationSlider/utils\";\nimport { hasChildNavigationItems } from \"./utils/VerticalNavigation.utils\";\n\nexport interface HvVerticalNavigationProps {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the component.\n */\n classes?: HvVerticalNavigationClasses;\n /**\n * Current State of the Vertical Navigation Collapse\n */\n open?: boolean;\n /**\n * Collpased Mode for the Vertical Navigation, the default value is \"simple\".\n *\n * @deprecated - `useIcons` property should be used instead.\n */\n collapsedMode?: HvVerticalNavigationMode;\n /**\n * Boolean to determine if treeview is in slider mode (for mobile navigation), the default value is false.\n */\n slider?: boolean;\n /**\n * The content inside the actions container.\n */\n children?: React.ReactNode;\n /**\n * Boolean to determine if icons should be displayed in the navigation menu.\n * When `true` a icon will always be displayed, if no icon is provided the first letter of the label will be\n * displayed inside an Avatar component.\n * When `false` no icons will be shown, even if an icon is provided.\n */\n useIcons?: boolean;\n}\n\n/**\n * Navigation enables users to move through an app to complete tasks.\n *\n * It is recommended to use vertical navigation when your application requires global navigation that is displayed on the left.\n * While vertical navigation menus generally consume more space than their horizontal counterparts, they have become more popular as desktop monitors move to wide-screen formats.\n *\n * Although both the hierarchically organized data and the visual style resemble a treeview-like structure, the [Treeview Design Pattern](https://w3c.github.io/aria-practices/#TreeView)\n * isn't necessarily the most appropriate.\n *\n * The tree role provides complex functionality that is not needed for typical site navigation, and changes the most common keyboard navigation using TAB.\n *\n * The [Disclosure Design Pattern](https://w3c.github.io/aria-practices/#disclosure) is more suited for typical site navigation, with expandable groups of links.\n * However it can be tedious to TAB through all navigation items to reach the actions panel.\n *\n * Both modes are available via the `mode` property and each app should choose the most appropriate.\n */\nexport const HvVerticalNavigation = ({\n id,\n className,\n classes,\n\n children,\n\n open = true,\n\n slider = false,\n\n useIcons = false,\n\n ...others\n}: HvVerticalNavigationProps) => {\n if (others.collapsedMode) {\n console.warn(\"`collaspedMode` is deprecated. Please use 'useIcons'.\");\n }\n const [parentData, setParentData] = useState<NavigationData[]>([]);\n\n const [parentSelected, setParentSelected] = useState();\n\n const [headerTitle, setHeaderTitle] = useState<string | undefined>();\n\n // navigationSlider\n const withParentData = useMemo(\n () => fillDataWithParentId(parentData),\n [parentData]\n );\n\n const initialParentItem = useMemo(\n () => getParentItemById(withParentData, parentSelected),\n [withParentData, parentSelected]\n );\n\n const [parentItem, setParentItem] = useState(initialParentItem);\n\n const hasAnyChildWithData = useMemo(\n () => hasChildNavigationItems(parentData),\n [parentData]\n );\n\n useEffect(\n () => setHeaderTitle(parentItem?.label),\n [parentItem, setParentItem]\n );\n\n const navigateToParentHandler = () => {\n setParentItem(getParentItemById(withParentData, parentItem.id));\n };\n\n const navigateToChildHandler = (event, item) => {\n setParentItem(getNavigationItemById(withParentData, item.id));\n event.stopPropagation();\n };\n\n const value = useMemo(\n () => ({\n isOpen: open,\n useIcons,\n slider,\n headerTitle,\n setHeaderTitle,\n\n parentItem,\n setParentItem,\n withParentData,\n navigateToChildHandler,\n navigateToParentHandler,\n\n parentData,\n setParentData,\n parentSelected,\n setParentSelected,\n hasAnyChildWithData,\n }),\n [\n open,\n useIcons,\n slider,\n headerTitle,\n setHeaderTitle,\n parentItem,\n setParentItem,\n withParentData,\n navigateToChildHandler,\n navigateToParentHandler,\n hasAnyChildWithData,\n ]\n );\n\n const content = (\n <VerticalNavigationContext.Provider value={value}>\n <StyledRoot\n id={id}\n className={clsx(\n className,\n verticalNavigationClasses.root,\n classes?.root,\n !open && verticalNavigationClasses.collapsed,\n slider && verticalNavigationClasses.slider,\n classes?.collapsed\n )}\n hasAnyChildWithData={hasAnyChildWithData}\n {...others}\n >\n {children}\n </StyledRoot>\n </VerticalNavigationContext.Provider>\n );\n\n return content;\n};\n\nexport type HvVerticalNavigationMode = \"icon\" | \"simple\";\n\nexport type HvVerticalNavigationPosition =\n | \"static\"\n | \"relative\"\n | \"fixed\"\n | \"absolute\";\n"],"names":["HvVerticalNavigation","id","className","classes","children","open","slider","useIcons","others","collapsedMode","console","warn","parentData","setParentData","useState","parentSelected","setParentSelected","headerTitle","setHeaderTitle","withParentData","useMemo","fillDataWithParentId","initialParentItem","getParentItemById","parentItem","setParentItem","hasAnyChildWithData","hasChildNavigationItems","useEffect","label","navigateToParentHandler","navigateToChildHandler","event","item","getNavigationItemById","stopPropagation","value","isOpen","content","VerticalNavigationContext","Provider","StyledRoot","clsx","verticalNavigationClasses","root","collapsed"],"mappings":";;;;;;;;;;AAsEO,MAAMA,uBAAuBA,CAAC;AAAA,EACnCC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EAEAC;AAAAA,EAEAC,OAAO;AAAA,EAEPC,SAAS;AAAA,EAETC,WAAW;AAAA,EAEX,GAAGC;AACsB,MAAM;AAC/B,MAAIA,OAAOC,eAAe;AACxBC,YAAQC,KAAK,uDAAuD;AAAA,EACtE;AACA,QAAM,CAACC,YAAYC,aAAa,IAAIC,MAAAA,SAA2B,CAAE,CAAA;AAEjE,QAAM,CAACC,gBAAgBC,iBAAiB,IAAIF,MAAU,SAAA;AAEtD,QAAM,CAACG,aAAaC,cAAc,IAAIJ,MAA8B,SAAA;AAG9DK,QAAAA,iBAAiBC,MAAAA,QACrB,MAAMC,uBAAAA,qBAAqBT,UAAU,GACrC,CAACA,UAAU,CAAC;AAGRU,QAAAA,oBAAoBF,cACxB,MAAMG,yCAAkBJ,gBAAgBJ,cAAc,GACtD,CAACI,gBAAgBJ,cAAc,CAAC;AAGlC,QAAM,CAACS,YAAYC,aAAa,IAAIX,eAASQ,iBAAiB;AAExDI,QAAAA,sBAAsBN,MAAAA,QAC1B,MAAMO,yBAAAA,wBAAwBf,UAAU,GACxC,CAACA,UAAU,CAAC;AAIZgB,kBAAA,MAAMV,eAAeM,yCAAYK,KAAK,GACtC,CAACL,YAAYC,aAAa,CAAC;AAG7B,QAAMK,0BAA0BA,MAAM;AACpCL,kBAAcF,uBAAAA,kBAAkBJ,gBAAgBK,WAAWvB,EAAE,CAAC;AAAA,EAAA;AAG1D8B,QAAAA,yBAAyBA,CAACC,OAAOC,SAAS;AAC9CR,kBAAcS,uBAAAA,sBAAsBf,gBAAgBc,KAAKhC,EAAE,CAAC;AAC5D+B,UAAMG,gBAAiB;AAAA,EAAA;AAGnBC,QAAAA,QAAQhB,MAAAA,QACZ,OAAO;AAAA,IACLiB,QAAQhC;AAAAA,IACRE;AAAAA,IACAD;AAAAA,IACAW;AAAAA,IACAC;AAAAA,IAEAM;AAAAA,IACAC;AAAAA,IACAN;AAAAA,IACAY;AAAAA,IACAD;AAAAA,IAEAlB;AAAAA,IACAC;AAAAA,IACAE;AAAAA,IACAC;AAAAA,IACAU;AAAAA,EAEF,IAAA,CACErB,MACAE,UACAD,QACAW,aACAC,gBACAM,YACAC,eACAN,gBACAY,wBACAD,yBACAJ,mBAAmB,CACpB;AAGGY,QAAAA,UACHC,2BAAAA,IAAAA,0BAAAA,0BAA0BC,UAAQ;AAAA,IAACJ;AAAAA,IAAahC,yCAC9CqC,sCAAU;AAAA,MACTxC;AAAAA,MACAC,WAAWwC,KAAAA,KACTxC,WACAyC,0BAAAA,QAA0BC,MAC1BzC,mCAASyC,MACT,CAACvC,QAAQsC,kCAA0BE,WACnCvC,UAAUqC,0BAA0BrC,QAAAA,QACpCH,mCAAS0C,SAAS;AAAA,MAEpBnB;AAAAA,MAAyC,GACrClB;AAAAA,MAAMJ;AAAAA,IAAAA,CAED;AAAA,EAAA,CAGd;AAEMkC,SAAAA;AACT;;"}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
3
3
|
const React = require("react");
|
|
4
4
|
const VerticalNavigationContext = React.createContext({
|
|
5
5
|
isOpen: true,
|
|
6
|
-
|
|
6
|
+
useIcons: false,
|
|
7
7
|
slider: false
|
|
8
8
|
});
|
|
9
9
|
exports.VerticalNavigationContext = VerticalNavigationContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VerticalNavigationContext.cjs","sources":["../../../../src/components/VerticalNavigation/VerticalNavigationContext.tsx"],"sourcesContent":["import { createContext } from \"react\";\nimport { NavigationData
|
|
1
|
+
{"version":3,"file":"VerticalNavigationContext.cjs","sources":["../../../../src/components/VerticalNavigation/VerticalNavigationContext.tsx"],"sourcesContent":["import { createContext } from \"react\";\nimport { NavigationData } from \".\";\n\ninterface VerticalNavigationContextValue {\n isOpen: boolean;\n useIcons: boolean;\n slider?: boolean;\n headerTitle?: string;\n setHeaderTitle?: React.Dispatch<React.SetStateAction<string | undefined>>;\n\n parentItem?;\n setParentItem?: React.Dispatch<React.SetStateAction<any>>;\n withParentData?;\n navigateToChildHandler?: (event, item) => void;\n navigateToParentHandler?: () => void;\n\n parentData?: NavigationData[];\n setParentData?: React.Dispatch<React.SetStateAction<any>>;\n parentSelected?;\n setParentSelected?: React.Dispatch<React.SetStateAction<any>>;\n\n hasAnyChildWithData?: boolean;\n}\n\nconst VerticalNavigationContext = createContext<VerticalNavigationContextValue>(\n {\n isOpen: true,\n useIcons: false,\n slider: false,\n }\n);\n\nexport { VerticalNavigationContext };\n"],"names":["VerticalNavigationContext","createContext","isOpen","useIcons","slider"],"mappings":";;;AAwBA,MAAMA,4BAA4BC,MAAAA,cAChC;AAAA,EACEC,QAAQ;AAAA,EACRC,UAAU;AAAA,EACVC,QAAQ;AACV,CAAC;;"}
|
|
@@ -4,6 +4,6 @@ const React = require("react");
|
|
|
4
4
|
const uniqueId = require("lodash/uniqueId");
|
|
5
5
|
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
6
6
|
const uniqueId__default = /* @__PURE__ */ _interopDefault(uniqueId);
|
|
7
|
-
const useUniqueId = (id, idPrefix) => React.
|
|
7
|
+
const useUniqueId = (id, idPrefix) => React.useMemo(() => id || uniqueId__default.default(idPrefix), [id, idPrefix]);
|
|
8
8
|
exports.default = useUniqueId;
|
|
9
9
|
//# sourceMappingURL=useUniqueId.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUniqueId.cjs","sources":["../../../src/hooks/useUniqueId.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"useUniqueId.cjs","sources":["../../../src/hooks/useUniqueId.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport uniqueId from \"lodash/uniqueId\";\n\nexport default (id?: string, idPrefix?: string) =>\n useMemo(() => id || uniqueId(idPrefix), [id, idPrefix]);\n"],"names":["id","idPrefix","useMemo","uniqueId"],"mappings":";;;;;;AAGA,MAAe,cAAA,CAACA,IAAaC,aAC3BC,MAAAA,QAAQ,MAAMF,MAAMG,0BAASF,QAAQ,GAAG,CAACD,IAAIC,QAAQ,CAAC;;"}
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -271,6 +271,7 @@ const hexToRgbA = require("./utils/hexToRgbA.cjs");
|
|
|
271
271
|
const browser = require("./utils/browser.cjs");
|
|
272
272
|
const multiSelectionEventHandler = require("./utils/multiSelectionEventHandler.cjs");
|
|
273
273
|
const getComponentName = require("./utils/getComponentName.cjs");
|
|
274
|
+
const checkValidHexColorValue = require("./utils/checkValidHexColorValue.cjs");
|
|
274
275
|
const focusUtils = require("./utils/focusUtils.cjs");
|
|
275
276
|
const keyboardCodes = require("./utils/keyboardUtils/keyboardCodes.cjs");
|
|
276
277
|
const keyCheck = require("./utils/keyboardUtils/keyCheck.cjs");
|
|
@@ -282,7 +283,6 @@ const focusableElementFinder = require("./utils/focusableElementFinder.cjs");
|
|
|
282
283
|
const wrapperTooltip = require("./utils/wrapperTooltip.cjs");
|
|
283
284
|
const useSavedState = require("./utils/useSavedState.cjs");
|
|
284
285
|
const withTooltip = require("./hocs/withTooltip.cjs");
|
|
285
|
-
const withId = require("./hocs/withId.cjs");
|
|
286
286
|
Object.defineProperty(exports, "ds3", {
|
|
287
287
|
enumerable: true,
|
|
288
288
|
get: () => uikitStyles.ds3
|
|
@@ -543,7 +543,6 @@ exports.HvSwitchColumnCell = SwitchColumnCell.default;
|
|
|
543
543
|
exports.hvNodeFallback = fallbacks.hvNodeFallback;
|
|
544
544
|
exports.hvNumberFallback = fallbacks.hvNumberFallback;
|
|
545
545
|
exports.hvStringFallback = fallbacks.hvStringFallback;
|
|
546
|
-
exports.checkValidHexColorValue = utils.checkValidHexColorValue;
|
|
547
546
|
exports.getBorderStyles = utils.getBorderStyles;
|
|
548
547
|
exports.loginClasses = loginClasses.default;
|
|
549
548
|
exports.HvLogin = Login.HvLogin;
|
|
@@ -619,6 +618,7 @@ exports.hexToRgbA = hexToRgbA.default;
|
|
|
619
618
|
exports.isBrowser = browser.default;
|
|
620
619
|
exports.multiSelectionEventHandler = multiSelectionEventHandler.default;
|
|
621
620
|
exports.getComponentName = getComponentName.default;
|
|
621
|
+
exports.checkValidHexColorValue = checkValidHexColorValue.default;
|
|
622
622
|
exports.outlineStyles = focusUtils.outlineStyles;
|
|
623
623
|
exports.keyboardCodes = keyboardCodes.keyboardCodes;
|
|
624
624
|
exports.getKeyCodeFromEvent = keyCheck.getKeyCodeFromEvent;
|
|
@@ -639,5 +639,4 @@ exports.getPrevNextFocus = focusableElementFinder.getPrevNextFocus;
|
|
|
639
639
|
exports.wrapperTooltip = wrapperTooltip.wrapperTooltip;
|
|
640
640
|
exports.useSavedState = useSavedState.useSavedState;
|
|
641
641
|
exports.withTooltip = withTooltip.default;
|
|
642
|
-
exports.withId = withId.default;
|
|
643
642
|
//# sourceMappingURL=index.cjs.map
|
package/dist/cjs/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
+
const checkValidHexColorValue = (value) => {
|
|
4
|
+
const reg = /^#([0-9a-f]{3}){1,2}$/i;
|
|
5
|
+
return value ? reg.test(value) : false;
|
|
6
|
+
};
|
|
7
|
+
const checkValidHexColorValue$1 = checkValidHexColorValue;
|
|
8
|
+
exports.default = checkValidHexColorValue$1;
|
|
9
|
+
//# sourceMappingURL=checkValidHexColorValue.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkValidHexColorValue.cjs","sources":["../../../src/utils/checkValidHexColorValue.ts"],"sourcesContent":["const checkValidHexColorValue = (value?: string): boolean => {\n const reg = /^#([0-9a-f]{3}){1,2}$/i;\n return value ? reg.test(value) : false;\n};\n\nexport default checkValidHexColorValue;\n"],"names":["checkValidHexColorValue","value","reg","test"],"mappings":";;AAAA,MAAMA,0BAA0BA,CAACC,UAA4B;AAC3D,QAAMC,MAAM;AACZ,SAAOD,QAAQC,IAAIC,KAAKF,KAAK,IAAI;AACnC;AAEA,MAAA,4BAAeD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionsGeneric.js","sources":["../../../../src/components/ActionsGeneric/ActionsGeneric.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport {\n HvButtonSize,\n HvButtonVariant,\n HvDropDownMenu,\n} from \"@core/components\";\nimport { setId } from \"@core/utils\";\nimport React, { isValidElement } from \"react\";\nimport { HvBaseProps } from \"@core/types\";\nimport { MoreOptionsVertical } from \"@hitachivantara/uikit-react-icons\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport { useTheme } from \"@core/hooks\";\nimport { StyledButton, StyledRoot } from \"./ActionsGeneric.styles\";\nimport actionsGenericClasses, {\n HvActionsGenericClasses,\n} from \"./actionsGenericClasses\";\n\nexport interface HvActionGeneric {\n id: string;\n label: string;\n icon?:\n | React.ReactNode\n | ((params: { isDisabled?: boolean }) => React.ReactNode);\n disabled?: boolean;\n}\n\nexport interface HvActionsGenericProps extends HvBaseProps {\n /** Button category. */\n category?: HvButtonVariant;\n /** Whether actions should be all disabled */\n disabled?: boolean;\n /** The renderable content inside the actions slot of the footer, or an Array of actions `{id, label, icon, disabled}` */\n actions: React.ReactNode | HvActionGeneric[];\n /** The callback function ran when an action is triggered, receiving `action` as param */\n actionsCallback?: (\n event: React.SyntheticEvent,\n id: string,\n action: HvActionGeneric\n ) => void;\n /** The number of maximum visible actions before they're collapsed into a `DropDownMenu`. */\n maxVisibleActions?: number;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvActionsGenericClasses;\n}\n\nexport const HvActionsGeneric = ({\n id,\n classes,\n className,\n category = \"secondaryGhost\",\n disabled = false,\n actions = [],\n actionsCallback,\n maxVisibleActions = Infinity,\n ...others\n}: HvActionsGenericProps) => {\n const { activeTheme, selectedMode } = useTheme();\n\n if (!Array.isArray(actions)) return isValidElement(actions) ? actions : null;\n\n const renderButton = (action: HvActionGeneric, idx: number) => {\n const { disabled: actDisabled, id: actId, icon, label, ...other } = action;\n const actionId = setId(id, idx, \"action\", action.id);\n\n const renderedIcon = isValidElement(icon)\n ? icon\n : (icon as Function)?.({ isDisabled: disabled });\n\n return (\n <StyledButton\n id={actionId}\n key={actionId || idx}\n variant={category}\n className={clsx(actionsGenericClasses.button, classes?.button)}\n disabled={actDisabled ?? disabled}\n onClick={(event: React.SyntheticEvent) =>\n actionsCallback?.(event, id || \"\", action)\n }\n startIcon={renderedIcon}\n $baseColor={\n activeTheme?.colors?.modes[selectedMode].base_light ||\n theme.colors.base_light\n }\n size={(activeTheme?.actionsGeneric?.buttonSize as HvButtonSize) || \"md\"}\n {...other}\n >\n {label}\n </StyledButton>\n );\n };\n\n const renderActionsGrid = () => {\n const actsVisible = actions.slice(0, maxVisibleActions);\n const actsDropdown = actions.slice(maxVisibleActions);\n\n const semantic = category === \"semantic\";\n const iconColor =\n (disabled && \"secondary_60\") || (semantic && \"base_dark\") || undefined;\n\n return (\n <>\n {actsVisible.map((action, idx) => renderButton(action, idx))}\n <HvDropDownMenu\n id={setId(id, \"menu\")}\n disabled={disabled}\n category={category}\n classes={{\n root: clsx(\n actionsGenericClasses.dropDownMenu,\n classes?.dropDownMenu\n ),\n icon: clsx(\n actionsGenericClasses.dropDownMenuButton,\n classes?.dropDownMenuButton\n ),\n iconSelected: clsx(\n actionsGenericClasses.dropDownMenuButtonSelected,\n classes?.dropDownMenuButtonSelected\n ),\n }}\n icon={<MoreOptionsVertical color={iconColor} />}\n placement=\"left\"\n onClick={(event
|
|
1
|
+
{"version":3,"file":"ActionsGeneric.js","sources":["../../../../src/components/ActionsGeneric/ActionsGeneric.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport {\n HvButtonSize,\n HvButtonVariant,\n HvDropDownMenu,\n} from \"@core/components\";\nimport { setId } from \"@core/utils\";\nimport React, { isValidElement } from \"react\";\nimport { HvBaseProps } from \"@core/types\";\nimport { MoreOptionsVertical } from \"@hitachivantara/uikit-react-icons\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport { useTheme } from \"@core/hooks\";\nimport { StyledButton, StyledRoot } from \"./ActionsGeneric.styles\";\nimport actionsGenericClasses, {\n HvActionsGenericClasses,\n} from \"./actionsGenericClasses\";\n\nexport interface HvActionGeneric {\n id: string;\n label: string;\n icon?:\n | React.ReactNode\n | ((params: { isDisabled?: boolean }) => React.ReactNode);\n disabled?: boolean;\n}\n\nexport interface HvActionsGenericProps extends HvBaseProps {\n /** Button category. */\n category?: HvButtonVariant;\n /** Whether actions should be all disabled */\n disabled?: boolean;\n /** The renderable content inside the actions slot of the footer, or an Array of actions `{id, label, icon, disabled}` */\n actions: React.ReactNode | HvActionGeneric[];\n /** The callback function ran when an action is triggered, receiving `action` as param */\n actionsCallback?: (\n event: React.SyntheticEvent,\n id: string,\n action: HvActionGeneric\n ) => void;\n /** The number of maximum visible actions before they're collapsed into a `DropDownMenu`. */\n maxVisibleActions?: number;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvActionsGenericClasses;\n}\n\nexport const HvActionsGeneric = ({\n id,\n classes,\n className,\n category = \"secondaryGhost\",\n disabled = false,\n actions = [],\n actionsCallback,\n maxVisibleActions = Infinity,\n ...others\n}: HvActionsGenericProps) => {\n const { activeTheme, selectedMode } = useTheme();\n\n if (!Array.isArray(actions)) return isValidElement(actions) ? actions : null;\n\n const renderButton = (action: HvActionGeneric, idx: number) => {\n const { disabled: actDisabled, id: actId, icon, label, ...other } = action;\n const actionId = setId(id, idx, \"action\", action.id);\n\n const renderedIcon = isValidElement(icon)\n ? icon\n : (icon as Function)?.({ isDisabled: disabled });\n\n return (\n <StyledButton\n id={actionId}\n key={actionId || idx}\n variant={category}\n className={clsx(actionsGenericClasses.button, classes?.button)}\n disabled={actDisabled ?? disabled}\n onClick={(event: React.SyntheticEvent) =>\n actionsCallback?.(event, id || \"\", action)\n }\n startIcon={renderedIcon}\n $baseColor={\n activeTheme?.colors?.modes[selectedMode].base_light ||\n theme.colors.base_light\n }\n size={(activeTheme?.actionsGeneric?.buttonSize as HvButtonSize) || \"md\"}\n {...other}\n >\n {label}\n </StyledButton>\n );\n };\n\n const renderActionsGrid = () => {\n const actsVisible = actions.slice(0, maxVisibleActions);\n const actsDropdown = actions.slice(maxVisibleActions);\n\n const semantic = category === \"semantic\";\n const iconColor =\n (disabled && \"secondary_60\") || (semantic && \"base_dark\") || undefined;\n\n return (\n <>\n {actsVisible.map((action, idx) => renderButton(action, idx))}\n <HvDropDownMenu\n id={setId(id, \"menu\")}\n disabled={disabled}\n category={category}\n classes={{\n root: clsx(\n actionsGenericClasses.dropDownMenu,\n classes?.dropDownMenu\n ),\n icon: clsx(\n actionsGenericClasses.dropDownMenuButton,\n classes?.dropDownMenuButton\n ),\n iconSelected: clsx(\n actionsGenericClasses.dropDownMenuButtonSelected,\n classes?.dropDownMenuButtonSelected\n ),\n }}\n icon={<MoreOptionsVertical color={iconColor} />}\n placement=\"left\"\n onClick={(event, action) =>\n actionsCallback?.(event, id || \"\", action as HvActionGeneric)\n }\n dataList={actsDropdown}\n keepOpened={false}\n disablePortal={false}\n />\n </>\n );\n };\n\n const actionOverflow = actions.length > maxVisibleActions;\n\n return (\n <StyledRoot\n className={clsx(\n className,\n actionsGenericClasses.root,\n classes?.root,\n actionOverflow &&\n clsx(actionsGenericClasses.actionContainer, classes?.actionContainer)\n )}\n $actionOverflow={actionOverflow}\n {...others}\n >\n {actionOverflow\n ? renderActionsGrid()\n : actions.map((action, idx) => renderButton(action, idx))}\n </StyledRoot>\n );\n};\n"],"names":["HvActionsGeneric","id","classes","className","category","disabled","actions","actionsCallback","maxVisibleActions","Infinity","others","activeTheme","selectedMode","useTheme","Array","isArray","isValidElement","renderButton","action","idx","actDisabled","actId","icon","label","other","actionId","setId","renderedIcon","isDisabled","StyledButton","variant","clsx","actionsGenericClasses","button","onClick","event","startIcon","$baseColor","colors","modes","base_light","theme","size","actionsGeneric","buttonSize","children","renderActionsGrid","actsVisible","slice","actsDropdown","semantic","iconColor","undefined","_Fragment","map","HvDropDownMenu","root","dropDownMenu","dropDownMenuButton","iconSelected","dropDownMenuButtonSelected","MoreOptionsVertical","color","placement","dataList","keepOpened","disablePortal","actionOverflow","length","StyledRoot","actionContainer","$actionOverflow"],"mappings":"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"}
|
|
@@ -8,7 +8,24 @@ import { jsx, jsxs, Fragment } from "@emotion/react/jsx-runtime";
|
|
|
8
8
|
import { buildFormElementPropsFromContext, buildAriaPropsFromContext } from "../Forms/FormElement/utils/FormUtils.js";
|
|
9
9
|
import { HvFormElementContext } from "../Forms/FormElement/context/FormElementContext.js";
|
|
10
10
|
import { HvFormElementDescriptorsContext } from "../Forms/FormElement/context/FormElementDescriptorsContext.js";
|
|
11
|
-
const baseInputStyles = /* @__PURE__ */ css('"input:-webkit-autofill":{"-webkit-box-shadow":0 0 0px 1000px ', theme.colors.atmo1, ' inset,"-webkit-text-fill-color":', theme.colors.secondary, ',;},"input[type=search]::-ms-clear":{display:"none",width:0,height:0,;},"input[type=search]::-ms-reveal":{display:"none",width:0,height:0,;},"input[type=search]::-webkit-search-decoration":{display:"none";},"input[type=search]::-webkit-search-cancel-button":{display:"none";},"input[type=search]::-webkit-search-results-button":{display:"none",;},"input[type=search]::-webkit-search-results-decoration":{display:"none",;}' + (process.env.NODE_ENV === "production" ? "" : ";label:baseInputStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2h2LXVpa2l0LXJlYWN0L2h2LXVpa2l0LXJlYWN0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvQmFzZUlucHV0L0Jhc2VJbnB1dC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUJrQyIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay9odi11aWtpdC1yZWFjdC9odi11aWtpdC1yZWFjdC9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL0Jhc2VJbnB1dC9CYXNlSW5wdXQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVmT2JqZWN0LCB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge1xuICBJbnB1dEJhc2VDb21wb25lbnRQcm9wcyBhcyBNdWlJbnB1dEJhc2VDb21wb25lbnRQcm9wcyxcbiAgSW5wdXRQcm9wcyBhcyBNdWlJbnB1dFByb3BzLFxuICBJbnB1dCBhcyBNdWlJbnB1dCxcbn0gZnJvbSBcIkBtdWkvbWF0ZXJpYWxcIjtcbmltcG9ydCB7IEh2QmFzZVByb3BzIH0gZnJvbSBcIkBjb3JlL3R5cGVzXCI7XG5pbXBvcnQge1xuICBIdkZvcm1FbGVtZW50Q29udGV4dCxcbiAgSHZGb3JtRWxlbWVudERlc2NyaXB0b3JzQ29udGV4dCxcbiAgYnVpbGRGb3JtRWxlbWVudFByb3BzRnJvbUNvbnRleHQsXG4gIGJ1aWxkQXJpYVByb3BzRnJvbUNvbnRleHQsXG59IGZyb20gXCJAY29yZS9jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBDbGFzc05hbWVzLCBjc3MgYXMgZW1vdGlvbkNzcywgR2xvYmFsIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyB0aGVtZSB9IGZyb20gXCJAaGl0YWNoaXZhbnRhcmEvdWlraXQtc3R5bGVzXCI7XG5pbXBvcnQgYmFzZUlucHV0Q2xhc3NlcywgeyBIdkJhc2VJbnB1dENsYXNzZXMgfSBmcm9tIFwiLi9iYXNlSW5wdXRDbGFzc2VzXCI7XG5pbXBvcnQgeyBzdHlsZXMgfSBmcm9tIFwiLi9CYXNlSW5wdXQuc3R5bGVzXCI7XG5cbi8vIEdsb2JhbCBzdHlsZXMgZm9yIHRoZSBiYXNlIGlucHV0LlxuY29uc3QgYmFzZUlucHV0U3R5bGVzID0gZW1vdGlvbkNzc2BcbiAgXCJpbnB1dDotd2Via2l0LWF1dG9maWxsXCI6IHtcbiAgICBcIi13ZWJraXQtYm94LXNoYWRvd1wiOiAwIDAgMHB4IDEwMDBweCAke3RoZW1lLmNvbG9ycy5hdG1vMX0gaW5zZXQsXG4gICAgXCItd2Via2l0LXRleHQtZmlsbC1jb2xvclwiOiAke3RoZW1lLmNvbG9ycy5zZWNvbmRhcnl9LFxuICB9LFxuXG4gIC8qIENsZWFycyBpbnB1dCdzIGNsZWFyIGFuZCByZXZlYWwgYnV0dG9ucyBmcm9tIElFICovXG4gIFwiaW5wdXRbdHlwZT1zZWFyY2hdOjotbXMtY2xlYXJcIjoge1xuICAgIGRpc3BsYXk6IFwibm9uZVwiLFxuICAgIHdpZHRoOiAwLFxuICAgIGhlaWdodDogMCxcbiAgfSxcbiAgXCJpbnB1dFt0eXBlPXNlYXJjaF06Oi1tcy1yZXZlYWxcIjoge1xuICAgIGRpc3BsYXk6IFwibm9uZVwiLFxuICAgIHdpZHRoOiAwLFxuICAgIGhlaWdodDogMCxcbiAgfSxcblxuICAvKiBDbGVhcnMgaW5wdXQncyBjbGVhciBidXR0b24gZnJvbSBDaHJvbWUgKi9cbiAgXCJpbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb25cIjogeyBkaXNwbGF5OiBcIm5vbmVcIiB9LFxuICBcImlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvblwiOiB7IGRpc3BsYXk6IFwibm9uZVwiIH0sXG4gIFwiaW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvblwiOiB7XG4gICAgZGlzcGxheTogXCJub25lXCIsXG4gIH0sXG4gIFwiaW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb25cIjoge1xuICAgIGRpc3BsYXk6IFwibm9uZVwiLFxuICB9LFxufWA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSHZCYXNlSW5wdXRQcm9wc1xuICBleHRlbmRzIE9taXQ8TXVpSW5wdXRQcm9wcywgXCJvbkNoYW5nZVwiIHwgXCJjbGFzc2VzXCI+LFxuICAgIEh2QmFzZVByb3BzPFxuICAgICAgSFRNTERpdkVsZW1lbnQsXG4gICAgICB8IFwib25DaGFuZ2VcIlxuICAgICAgfCBcImNvbG9yXCJcbiAgICAgIHwgXCJvbkJsdXJcIlxuICAgICAgfCBcIm9uRm9jdXNcIlxuICAgICAgfCBcIm9uSW52YWxpZFwiXG4gICAgICB8IFwib25LZXlEb3duXCJcbiAgICAgIHwgXCJvbktleVVwXCJcbiAgICA+IHtcbiAgLyoqIFRoZSBpbnB1dCBuYW1lLiAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKiogVGhlIHZhbHVlIG9mIHRoZSBpbnB1dCwgd2hlbiBjb250cm9sbGVkLiAqL1xuICB2YWx1ZT86IHN0cmluZztcbiAgLyoqIFRoZSBpbml0aWFsIHZhbHVlIG9mIHRoZSBpbnB1dCwgd2hlbiB1bmNvbnRyb2xsZWQuICovXG4gIGRlZmF1bHRWYWx1ZT86IHN0cmluZztcbiAgLyoqIElmIGB0cnVlYCB0aGUgaW5wdXQgaXMgZGlzYWJsZWQuICovXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqIEluZGljYXRlcyB0aGF0IHRoZSBpbnB1dCBpcyBub3QgZWRpdGFibGUuICovXG4gIHJlYWRPbmx5PzogYm9vbGVhbjtcbiAgLyoqIElmIHRydWUsIHRoZSBpbnB1dCBlbGVtZW50IHdpbGwgYmUgcmVxdWlyZWQuICovXG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgLyoqIFRoZSBmdW5jdGlvbiB0aGF0IHdpbGwgYmUgZXhlY3V0ZWQgb25DaGFuZ2UsIGFsbG93cyBtb2RpZmljYXRpb24gb2YgdGhlIGlucHV0LFxuICAgKiBpdCByZWNlaXZlcyB0aGUgdmFsdWUuIElmIGEgbmV3IHZhbHVlIHNob3VsZCBiZSBwcmVzZW50ZWQgaXQgbXVzdCByZXR1cm5lZCBpdC4gKi9cbiAgb25DaGFuZ2U/OiAoXG4gICAgZXZlbnQ6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50PixcbiAgICB2YWx1ZTogc3RyaW5nXG4gICkgPT4gdm9pZDtcbiAgLyoqIFRoZSBpbnB1dCB0eXBlLiAqL1xuICB0eXBlPzogc3RyaW5nO1xuICAvKiogTGFiZWwgaW5zaWRlIHRoZSBpbnB1dCB1c2VkIHRvIGhlbHAgdXNlci4gKi9cbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIC8qKiBJZiB0cnVlLCBhIHRleHRhcmVhIGVsZW1lbnQgd2lsbCBiZSByZW5kZXJlZC4gKi9cbiAgbXVsdGlsaW5lPzogYm9vbGVhbjtcbiAgLyoqIElmIHRydWUgYW5kIG11bHRpbGluZSBpcyBhbHNvIHRydWUgdGhlIHRleHRhcmVhIGVsZW1lbnQgd2lsbCBiZSByZXNpemFibGUuICovXG4gIHJlc2l6YWJsZT86IGJvb2xlYW47XG4gIC8qKiBEZW5vdGVzIGlmIHRoZSBpbnB1dCBpcyBpbiBhbiBpbnZhbGlkIHN0YXRlLiAqL1xuICBpbnZhbGlkPzogYm9vbGVhbjtcbiAgLyoqIEF0dHJpYnV0ZXMgYXBwbGllZCB0byB0aGUgaW5wdXQgZWxlbWVudC4gKi9cbiAgaW5wdXRQcm9wcz86IE11aUlucHV0QmFzZUNvbXBvbmVudFByb3BzO1xuICAvKiogQWxsb3dzIHBhc3NpbmcgYSByZWYgdG8gdGhlIHVuZGVybHlpbmcgaW5wdXQgKi9cbiAgaW5wdXRSZWY/OiBSZWZPYmplY3Q8SFRNTEVsZW1lbnQ+O1xuICAvKiogQSBKc3MgT2JqZWN0IHVzZWQgdG8gb3ZlcnJpZGUgb3IgZXh0ZW5kIHRoZSBzdHlsZXMgYXBwbGllZCB0byB0aGUgY29tcG9uZW50LiAqL1xuICBjbGFzc2VzPzogSHZCYXNlSW5wdXRDbGFzc2VzO1xufVxuXG4vKipcbiAqIEFuIElucHV0IGNvbXBvbmVudCB0aGF0IG9ubHkgcG9zc2VzIHRoZSBtb3N0IGJhc2ljIGZ1bmN0aW9uYWxpdGllcy5cbiAqIEl0IHNob3VsZCBiZSB1c2VkIGFsb25nc2lkZSB0aGUgb3RoZXIgZm9ybSBlbGVtZW50cyB0byBjb25zdHJ1Y3QgYSBwcm9wZXIgYWNjZXNzaWJsZSBmb3JtLlxuICovXG5leHBvcnQgY29uc3QgSHZCYXNlSW5wdXQgPSAoe1xuICBjbGFzc2VzLFxuICBjbGFzc05hbWUgPSBcIlwiLFxuICBpZCxcbiAgbmFtZSxcbiAgdmFsdWUsXG4gIGRlZmF1bHRWYWx1ZSxcbiAgcmVxdWlyZWQsXG4gIHJlYWRPbmx5LFxuICBkaXNhYmxlZCxcbiAgb25DaGFuZ2UsXG4gIHR5cGUgPSBcInRleHRcIixcbiAgcGxhY2Vob2xkZXIsXG4gIG11bHRpbGluZSA9IGZhbHNlLFxuICByZXNpemFibGUgPSBmYWxzZSxcbiAgaW52YWxpZCA9IGZhbHNlLFxuICBpbnB1dFJlZixcbiAgaW5wdXRQcm9wcyA9IHt9LFxuICAuLi5vdGhlcnNcbn06IEh2QmFzZUlucHV0UHJvcHMpID0+IHtcbiAgY29uc3QgZm9ybUVsZW1lbnRDb250ZXh0ID0gdXNlQ29udGV4dChIdkZvcm1FbGVtZW50Q29udGV4dCk7XG4gIGNvbnN0IGZvcm1FbGVtZW50UHJvcHMgPSBidWlsZEZvcm1FbGVtZW50UHJvcHNGcm9tQ29udGV4dChcbiAgICBuYW1lLFxuICAgIGRpc2FibGVkLFxuICAgIHJlYWRPbmx5LFxuICAgIHJlcXVpcmVkLFxuICAgIHN0YXR1cyxcbiAgICBmb3JtRWxlbWVudENvbnRleHRcbiAgKTtcblxuICBjb25zdCBsb2NhbEludmFsaWQgPSBpbnZhbGlkIHx8IGZvcm1FbGVtZW50UHJvcHMuc3RhdHVzID09PSBcImludmFsaWRcIjtcblxuICBjb25zdCBmb3JtRWxlbWVudERlc2NyaXB0b3JzQ29udGV4dCA9IHVzZUNvbnRleHQoXG4gICAgSHZGb3JtRWxlbWVudERlc2NyaXB0b3JzQ29udGV4dFxuICApO1xuICBjb25zdCBhcmlhUHJvcHMgPSBidWlsZEFyaWFQcm9wc0Zyb21Db250ZXh0KFxuICAgIGlucHV0UHJvcHMsXG4gICAgZm9ybUVsZW1lbnREZXNjcmlwdG9yc0NvbnRleHQsXG4gICAgbG9jYWxJbnZhbGlkLFxuICAgIGlkXG4gICk7XG5cbiAgY29uc3Qgb25DaGFuZ2VIYW5kbGVyID0gKFxuICAgIGV2ZW50OiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD5cbiAgKSA9PiB7XG4gICAgb25DaGFuZ2U/LihldmVudCwgZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxDbGFzc05hbWVzPlxuICAgICAgeyh7IGNzcywgY3ggfSkgPT4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxHbG9iYWwgc3R5bGVzPXtiYXNlSW5wdXRTdHlsZXN9IC8+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAgICAgICAgYmFzZUlucHV0Q2xhc3Nlcy5yb290LFxuICAgICAgICAgICAgICBmb3JtRWxlbWVudFByb3BzLmRpc2FibGVkICYmIGJhc2VJbnB1dENsYXNzZXMuZGlzYWJsZWQsXG4gICAgICAgICAgICAgIGxvY2FsSW52YWxpZCAmJiBiYXNlSW5wdXRDbGFzc2VzLmludmFsaWQsXG4gICAgICAgICAgICAgIG11bHRpbGluZSAmJiByZXNpemFibGUgJiYgYmFzZUlucHV0Q2xhc3Nlcy5yZXNpemFibGUsXG4gICAgICAgICAgICAgIGZvcm1FbGVtZW50UHJvcHMucmVhZE9ubHkgJiYgYmFzZUlucHV0Q2xhc3Nlcy5yZWFkT25seSxcbiAgICAgICAgICAgICAgY3NzKHN0eWxlcy5yb290KSxcbiAgICAgICAgICAgICAgZm9ybUVsZW1lbnRQcm9wcy5kaXNhYmxlZCAmJiBjc3Moc3R5bGVzLmRpc2FibGVkKSxcbiAgICAgICAgICAgICAgbG9jYWxJbnZhbGlkICYmIGNzcyhzdHlsZXMuaW52YWxpZCksXG4gICAgICAgICAgICAgIG11bHRpbGluZSAmJiByZXNpemFibGUgJiYgY3NzKHN0eWxlcy5yZXNpemFibGUpLFxuICAgICAgICAgICAgICBmb3JtRWxlbWVudFByb3BzLnJlYWRPbmx5ICYmIGNzcyhzdHlsZXMucmVhZE9ubHkpLFxuICAgICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICAgIGNsYXNzZXM/LnJvb3QsXG4gICAgICAgICAgICAgIGZvcm1FbGVtZW50UHJvcHMuZGlzYWJsZWQgJiYgY2xhc3Nlcz8uZGlzYWJsZWQsXG4gICAgICAgICAgICAgIGxvY2FsSW52YWxpZCAmJiBjbGFzc2VzPy5pbnZhbGlkLFxuICAgICAgICAgICAgICBtdWx0aWxpbmUgJiYgcmVzaXphYmxlICYmIGNsYXNzZXM/LnJlc2l6YWJsZSxcbiAgICAgICAgICAgICAgZm9ybUVsZW1lbnRQcm9wcy5yZWFkT25seSAmJiBjbGFzc2VzPy5yZWFkT25seVxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8TXVpSW5wdXRcbiAgICAgICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgICAgICBuYW1lPXtmb3JtRWxlbWVudFByb3BzLm5hbWV9XG4gICAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtkZWZhdWx0VmFsdWV9XG4gICAgICAgICAgICAgIHR5cGU9e3R5cGV9XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgICAgICAgICAgcmVhZE9ubHk9eyEhZm9ybUVsZW1lbnRQcm9wcy5yZWFkT25seX1cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Zvcm1FbGVtZW50UHJvcHMuZGlzYWJsZWR9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZUhhbmRsZXJ9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goXG4gICAgICAgICAgICAgICAgbG9jYWxJbnZhbGlkICYmIGJhc2VJbnB1dENsYXNzZXMuaW5wdXRSb290SW52YWxpZCxcbiAgICAgICAgICAgICAgICBmb3JtRWxlbWVudFByb3BzLnJlYWRPbmx5ICYmIGJhc2VJbnB1dENsYXNzZXMuaW5wdXRSb290UmVhZE9ubHksXG4gICAgICAgICAgICAgICAgbG9jYWxJbnZhbGlkICYmIGNzcyhzdHlsZXMuaW5wdXRSb290SW52YWxpZCksXG4gICAgICAgICAgICAgICAgZm9ybUVsZW1lbnRQcm9wcy5yZWFkT25seSAmJiBjc3Moc3R5bGVzLmlucHV0Um9vdFJlYWRPbmx5KSxcbiAgICAgICAgICAgICAgICBsb2NhbEludmFsaWQgJiYgY2xhc3Nlcz8uaW5wdXRSb290SW52YWxpZCxcbiAgICAgICAgICAgICAgICBmb3JtRWxlbWVudFByb3BzLnJlYWRPbmx5ICYmIGNsYXNzZXM/LmlucHV0Um9vdFJlYWRPbmx5XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIGNsYXNzZXM9e3tcbiAgICAgICAgICAgICAgICByb290OiBjeChcbiAgICAgICAgICAgICAgICAgIGJhc2VJbnB1dENsYXNzZXMuaW5wdXRSb290LFxuICAgICAgICAgICAgICAgICAgY3NzKHN0eWxlcy5pbnB1dFJvb3QpLFxuICAgICAgICAgICAgICAgICAgY2xhc3Nlcz8uaW5wdXRSb290XG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBmb2N1c2VkOiBjeChcbiAgICAgICAgICAgICAgICAgIGJhc2VJbnB1dENsYXNzZXMuaW5wdXRSb290Rm9jdXNlZCxcbiAgICAgICAgICAgICAgICAgIGNzcyhzdHlsZXMuaW5wdXRSb290Rm9jdXNlZCksXG4gICAgICAgICAgICAgICAgICBjbGFzc2VzPy5pbnB1dFJvb3RGb2N1c2VkXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZDogY3goXG4gICAgICAgICAgICAgICAgICBiYXNlSW5wdXRDbGFzc2VzLmlucHV0Um9vdERpc2FibGVkLFxuICAgICAgICAgICAgICAgICAgY3NzKHN0eWxlcy5pbnB1dFJvb3REaXNhYmxlZCksXG4gICAgICAgICAgICAgICAgICBjbGFzc2VzPy5pbnB1dFJvb3REaXNhYmxlZFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgbXVsdGlsaW5lOiBjeChcbiAgICAgICAgICAgICAgICAgIGJhc2VJbnB1dENsYXNzZXMuaW5wdXRSb290TXVsdGlsaW5lLFxuICAgICAgICAgICAgICAgICAgY3NzKHN0eWxlcy5pbnB1dFJvb3RNdWx0aWxpbmUpLFxuICAgICAgICAgICAgICAgICAgY2xhc3Nlcz8uaW5wdXRSb290TXVsdGlsaW5lXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBpbnB1dDogY3goXG4gICAgICAgICAgICAgICAgICBiYXNlSW5wdXRDbGFzc2VzLmlucHV0LFxuICAgICAgICAgICAgICAgICAgIWZvcm1FbGVtZW50UHJvcHMuZGlzYWJsZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgcmVzaXphYmxlICYmXG4gICAgICAgICAgICAgICAgICAgIGJhc2VJbnB1dENsYXNzZXMuaW5wdXRSZXNpemFibGUsXG4gICAgICAgICAgICAgICAgICBmb3JtRWxlbWVudFByb3BzLmRpc2FibGVkICYmIGJhc2VJbnB1dENsYXNzZXMuaW5wdXREaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAgIGZvcm1FbGVtZW50UHJvcHMucmVhZE9ubHkgJiYgYmFzZUlucHV0Q2xhc3Nlcy5pbnB1dFJlYWRPbmx5LFxuICAgICAgICAgICAgICAgICAgY3NzKHN0eWxlcy5pbnB1dCksXG4gICAgICAgICAgICAgICAgICAhZm9ybUVsZW1lbnRQcm9wcy5kaXNhYmxlZCAmJlxuICAgICAgICAgICAgICAgICAgICByZXNpemFibGUgJiZcbiAgICAgICAgICAgICAgICAgICAgY3NzKHN0eWxlcy5pbnB1dFJlc2l6YWJsZSksXG4gICAgICAgICAgICAgICAgICBmb3JtRWxlbWVudFByb3BzLmRpc2FibGVkICYmIGNzcyhzdHlsZXMuaW5wdXREaXNhYmxlZCksXG4gICAgICAgICAgICAgICAgICBmb3JtRWxlbWVudFByb3BzLnJlYWRPbmx5ICYmIGNzcyhzdHlsZXMuaW5wdXRSZWFkT25seSksXG4gICAgICAgICAgICAgICAgICBjbGFzc2VzPy5pbnB1dCxcbiAgICAgICAgICAgICAgICAgICFmb3JtRWxlbWVudFByb3BzLmRpc2FibGVkICYmXG4gICAgICAgICAgICAgICAgICAgIHJlc2l6YWJsZSAmJlxuICAgICAgICAgICAgICAgICAgICBjbGFzc2VzPy5pbnB1dFJlc2l6YWJsZSxcbiAgICAgICAgICAgICAgICAgIGZvcm1FbGVtZW50UHJvcHMuZGlzYWJsZWQgJiYgY2xhc3Nlcz8uaW5wdXREaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAgIGZvcm1FbGVtZW50UHJvcHMucmVhZE9ubHkgJiYgY2xhc3Nlcz8uaW5wdXRSZWFkT25seVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGlucHV0UHJvcHM9e3tcbiAgICAgICAgICAgICAgICAvLyBBdm9pZCB0aGUgcmVxdWlyZWQgYXR0cmlidXRlIGF0IHRoZSByb290IG5vZGVcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogZm9ybUVsZW1lbnRQcm9wcy5yZXF1aXJlZCxcbiAgICAgICAgICAgICAgICAuLi5pbnB1dFByb3BzLFxuICAgICAgICAgICAgICAgIC4uLmFyaWFQcm9wcyxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgaW5wdXRSZWY9e2lucHV0UmVmfVxuICAgICAgICAgICAgICBtdWx0aWxpbmU9e211bHRpbGluZX1cbiAgICAgICAgICAgICAgcm93cz17MTB9XG4gICAgICAgICAgICAgIHsuLi5vdGhlcnN9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgeyFtdWx0aWxpbmUgJiYgKFxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgcm9sZT1cInByZXNlbnRhdGlvblwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAgICAgICAgICAgIGJhc2VJbnB1dENsYXNzZXMuaW5wdXRCb3JkZXJDb250YWluZXIsXG4gICAgICAgICAgICAgICAgICBjc3Moc3R5bGVzLmlucHV0Qm9yZGVyQ29udGFpbmVyKSxcbiAgICAgICAgICAgICAgICAgIGNsYXNzZXM/LmlucHV0Qm9yZGVyQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvPlxuICAgICAgKX1cbiAgICA8L0NsYXNzTmFtZXM+XG4gICk7XG59O1xuIl19 */");
|
|
11
|
+
const baseInputStyles = /* @__PURE__ */ css({
|
|
12
|
+
"input:-webkit-autofill": {
|
|
13
|
+
"-webkit-box-shadow": `0 0 0px 1000px ${theme.colors.atmo1} inset`,
|
|
14
|
+
"-webkit-text-fill-color": theme.colors.secondary
|
|
15
|
+
},
|
|
16
|
+
// Clears number input up/down arrows in Chrome and Firefox
|
|
17
|
+
"input::-webkit-outer-spin-button, input::-webkit-inner-spin-button": {
|
|
18
|
+
WebkitAppearance: "none",
|
|
19
|
+
margin: 0
|
|
20
|
+
},
|
|
21
|
+
"input[type=number]": {
|
|
22
|
+
MozAppearance: "textfield"
|
|
23
|
+
},
|
|
24
|
+
// Clears search input clear button in Chrome
|
|
25
|
+
"input::-webkit-search-decoration, input::-webkit-search-cancel-button, input::-webkit-search-results-button, input::-webkit-search-results-decoration": {
|
|
26
|
+
display: "none"
|
|
27
|
+
}
|
|
28
|
+
}, process.env.NODE_ENV === "production" ? "" : ";label:baseInputStyles;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2h2LXVpa2l0LXJlYWN0L2h2LXVpa2l0LXJlYWN0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvQmFzZUlucHV0L0Jhc2VJbnB1dC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUJ3QiIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay9odi11aWtpdC1yZWFjdC9odi11aWtpdC1yZWFjdC9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL0Jhc2VJbnB1dC9CYXNlSW5wdXQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVmT2JqZWN0LCB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge1xuICBJbnB1dEJhc2VDb21wb25lbnRQcm9wcyBhcyBNdWlJbnB1dEJhc2VDb21wb25lbnRQcm9wcyxcbiAgSW5wdXRQcm9wcyBhcyBNdWlJbnB1dFByb3BzLFxuICBJbnB1dCBhcyBNdWlJbnB1dCxcbn0gZnJvbSBcIkBtdWkvbWF0ZXJpYWxcIjtcbmltcG9ydCB7IEh2QmFzZVByb3BzIH0gZnJvbSBcIkBjb3JlL3R5cGVzXCI7XG5pbXBvcnQge1xuICBIdkZvcm1FbGVtZW50Q29udGV4dCxcbiAgSHZGb3JtRWxlbWVudERlc2NyaXB0b3JzQ29udGV4dCxcbiAgYnVpbGRGb3JtRWxlbWVudFByb3BzRnJvbUNvbnRleHQsXG4gIGJ1aWxkQXJpYVByb3BzRnJvbUNvbnRleHQsXG59IGZyb20gXCJAY29yZS9jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBDbGFzc05hbWVzLCBjc3MgYXMgZW1vdGlvbkNzcywgR2xvYmFsIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyB0aGVtZSB9IGZyb20gXCJAaGl0YWNoaXZhbnRhcmEvdWlraXQtc3R5bGVzXCI7XG5pbXBvcnQgYmFzZUlucHV0Q2xhc3NlcywgeyBIdkJhc2VJbnB1dENsYXNzZXMgfSBmcm9tIFwiLi9iYXNlSW5wdXRDbGFzc2VzXCI7XG5pbXBvcnQgeyBzdHlsZXMgfSBmcm9tIFwiLi9CYXNlSW5wdXQuc3R5bGVzXCI7XG5cbi8vIEdsb2JhbCBzdHlsZXMgZm9yIHRoZSBiYXNlIGlucHV0LlxuY29uc3QgYmFzZUlucHV0U3R5bGVzID0gZW1vdGlvbkNzcyh7XG4gIFwiaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbFwiOiB7XG4gICAgXCItd2Via2l0LWJveC1zaGFkb3dcIjogYDAgMCAwcHggMTAwMHB4ICR7dGhlbWUuY29sb3JzLmF0bW8xfSBpbnNldGAsXG4gICAgXCItd2Via2l0LXRleHQtZmlsbC1jb2xvclwiOiB0aGVtZS5jb2xvcnMuc2Vjb25kYXJ5LFxuICB9LFxuXG4gIC8vIENsZWFycyBudW1iZXIgaW5wdXQgdXAvZG93biBhcnJvd3MgaW4gQ2hyb21lIGFuZCBGaXJlZm94XG4gIFwiaW5wdXQ6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXFxcbiAgaW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b25cIjoge1xuICAgIFdlYmtpdEFwcGVhcmFuY2U6IFwibm9uZVwiLFxuICAgIG1hcmdpbjogMCxcbiAgfSxcbiAgXCJpbnB1dFt0eXBlPW51bWJlcl1cIjoge1xuICAgIE1vekFwcGVhcmFuY2U6IFwidGV4dGZpZWxkXCIsXG4gIH0sXG5cbiAgLy8gQ2xlYXJzIHNlYXJjaCBpbnB1dCBjbGVhciBidXR0b24gaW4gQ2hyb21lXG4gIFwiaW5wdXQ6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXFxcbiAgaW5wdXQ6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXFxcbiAgaW5wdXQ6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxcXG4gIGlucHV0Ojotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb25cIjoge1xuICAgIGRpc3BsYXk6IFwibm9uZVwiLFxuICB9LFxufSk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSHZCYXNlSW5wdXRQcm9wc1xuICBleHRlbmRzIE9taXQ8TXVpSW5wdXRQcm9wcywgXCJvbkNoYW5nZVwiIHwgXCJjbGFzc2VzXCI+LFxuICAgIEh2QmFzZVByb3BzPFxuICAgICAgSFRNTERpdkVsZW1lbnQsXG4gICAgICB8IFwib25DaGFuZ2VcIlxuICAgICAgfCBcImNvbG9yXCJcbiAgICAgIHwgXCJvbkJsdXJcIlxuICAgICAgfCBcIm9uRm9jdXNcIlxuICAgICAgfCBcIm9uSW52YWxpZFwiXG4gICAgICB8IFwib25LZXlEb3duXCJcbiAgICAgIHwgXCJvbktleVVwXCJcbiAgICA+IHtcbiAgLyoqIFRoZSBpbnB1dCBuYW1lLiAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKiogVGhlIHZhbHVlIG9mIHRoZSBpbnB1dCwgd2hlbiBjb250cm9sbGVkLiAqL1xuICB2YWx1ZT86IHN0cmluZztcbiAgLyoqIFRoZSBpbml0aWFsIHZhbHVlIG9mIHRoZSBpbnB1dCwgd2hlbiB1bmNvbnRyb2xsZWQuICovXG4gIGRlZmF1bHRWYWx1ZT86IHN0cmluZztcbiAgLyoqIElmIGB0cnVlYCB0aGUgaW5wdXQgaXMgZGlzYWJsZWQuICovXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqIEluZGljYXRlcyB0aGF0IHRoZSBpbnB1dCBpcyBub3QgZWRpdGFibGUuICovXG4gIHJlYWRPbmx5PzogYm9vbGVhbjtcbiAgLyoqIElmIHRydWUsIHRoZSBpbnB1dCBlbGVtZW50IHdpbGwgYmUgcmVxdWlyZWQuICovXG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgLyoqIFRoZSBmdW5jdGlvbiB0aGF0IHdpbGwgYmUgZXhlY3V0ZWQgb25DaGFuZ2UsIGFsbG93cyBtb2RpZmljYXRpb24gb2YgdGhlIGlucHV0LFxuICAgKiBpdCByZWNlaXZlcyB0aGUgdmFsdWUuIElmIGEgbmV3IHZhbHVlIHNob3VsZCBiZSBwcmVzZW50ZWQgaXQgbXVzdCByZXR1cm5lZCBpdC4gKi9cbiAgb25DaGFuZ2U/OiAoXG4gICAgZXZlbnQ6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50PixcbiAgICB2YWx1ZTogc3RyaW5nXG4gICkgPT4gdm9pZDtcbiAgLyoqIFRoZSBpbnB1dCB0eXBlLiAqL1xuICB0eXBlPzogc3RyaW5nO1xuICAvKiogTGFiZWwgaW5zaWRlIHRoZSBpbnB1dCB1c2VkIHRvIGhlbHAgdXNlci4gKi9cbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIC8qKiBJZiB0cnVlLCBhIHRleHRhcmVhIGVsZW1lbnQgd2lsbCBiZSByZW5kZXJlZC4gKi9cbiAgbXVsdGlsaW5lPzogYm9vbGVhbjtcbiAgLyoqIElmIHRydWUgYW5kIG11bHRpbGluZSBpcyBhbHNvIHRydWUgdGhlIHRleHRhcmVhIGVsZW1lbnQgd2lsbCBiZSByZXNpemFibGUuICovXG4gIHJlc2l6YWJsZT86IGJvb2xlYW47XG4gIC8qKiBEZW5vdGVzIGlmIHRoZSBpbnB1dCBpcyBpbiBhbiBpbnZhbGlkIHN0YXRlLiAqL1xuICBpbnZhbGlkPzogYm9vbGVhbjtcbiAgLyoqIEF0dHJpYnV0ZXMgYXBwbGllZCB0byB0aGUgaW5wdXQgZWxlbWVudC4gKi9cbiAgaW5wdXRQcm9wcz86IE11aUlucHV0QmFzZUNvbXBvbmVudFByb3BzO1xuICAvKiogQWxsb3dzIHBhc3NpbmcgYSByZWYgdG8gdGhlIHVuZGVybHlpbmcgaW5wdXQgKi9cbiAgaW5wdXRSZWY/OiBSZWZPYmplY3Q8SFRNTEVsZW1lbnQ+O1xuICAvKiogQSBKc3MgT2JqZWN0IHVzZWQgdG8gb3ZlcnJpZGUgb3IgZXh0ZW5kIHRoZSBzdHlsZXMgYXBwbGllZCB0byB0aGUgY29tcG9uZW50LiAqL1xuICBjbGFzc2VzPzogSHZCYXNlSW5wdXRDbGFzc2VzO1xufVxuXG4vKipcbiAqIEFuIElucHV0IGNvbXBvbmVudCB0aGF0IG9ubHkgcG9zc2VzIHRoZSBtb3N0IGJhc2ljIGZ1bmN0aW9uYWxpdGllcy5cbiAqIEl0IHNob3VsZCBiZSB1c2VkIGFsb25nc2lkZSB0aGUgb3RoZXIgZm9ybSBlbGVtZW50cyB0byBjb25zdHJ1Y3QgYSBwcm9wZXIgYWNjZXNzaWJsZSBmb3JtLlxuICovXG5leHBvcnQgY29uc3QgSHZCYXNlSW5wdXQgPSAoe1xuICBjbGFzc2VzLFxuICBjbGFzc05hbWUgPSBcIlwiLFxuICBpZCxcbiAgbmFtZSxcbiAgdmFsdWUsXG4gIGRlZmF1bHRWYWx1ZSxcbiAgcmVxdWlyZWQsXG4gIHJlYWRPbmx5LFxuICBkaXNhYmxlZCxcbiAgb25DaGFuZ2UsXG4gIHR5cGUgPSBcInRleHRcIixcbiAgcGxhY2Vob2xkZXIsXG4gIG11bHRpbGluZSA9IGZhbHNlLFxuICByZXNpemFibGUgPSBmYWxzZSxcbiAgaW52YWxpZCA9IGZhbHNlLFxuICBpbnB1dFJlZixcbiAgaW5wdXRQcm9wcyA9IHt9LFxuICAuLi5vdGhlcnNcbn06IEh2QmFzZUlucHV0UHJvcHMpID0+IHtcbiAgY29uc3QgZm9ybUVsZW1lbnRDb250ZXh0ID0gdXNlQ29udGV4dChIdkZvcm1FbGVtZW50Q29udGV4dCk7XG4gIGNvbnN0IGZvcm1FbGVtZW50UHJvcHMgPSBidWlsZEZvcm1FbGVtZW50UHJvcHNGcm9tQ29udGV4dChcbiAgICBuYW1lLFxuICAgIGRpc2FibGVkLFxuICAgIHJlYWRPbmx5LFxuICAgIHJlcXVpcmVkLFxuICAgIHN0YXR1cyxcbiAgICBmb3JtRWxlbWVudENvbnRleHRcbiAgKTtcblxuICBjb25zdCBsb2NhbEludmFsaWQgPSBpbnZhbGlkIHx8IGZvcm1FbGVtZW50UHJvcHMuc3RhdHVzID09PSBcImludmFsaWRcIjtcblxuICBjb25zdCBmb3JtRWxlbWVudERlc2NyaXB0b3JzQ29udGV4dCA9IHVzZUNvbnRleHQoXG4gICAgSHZGb3JtRWxlbWVudERlc2NyaXB0b3JzQ29udGV4dFxuICApO1xuICBjb25zdCBhcmlhUHJvcHMgPSBidWlsZEFyaWFQcm9wc0Zyb21Db250ZXh0KFxuICAgIGlucHV0UHJvcHMsXG4gICAgZm9ybUVsZW1lbnREZXNjcmlwdG9yc0NvbnRleHQsXG4gICAgbG9jYWxJbnZhbGlkLFxuICAgIGlkXG4gICk7XG5cbiAgY29uc3Qgb25DaGFuZ2VIYW5kbGVyID0gKFxuICAgIGV2ZW50OiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD5cbiAgKSA9PiB7XG4gICAgb25DaGFuZ2U/LihldmVudCwgZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxDbGFzc05hbWVzPlxuICAgICAgeyh7IGNzcywgY3ggfSkgPT4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxHbG9iYWwgc3R5bGVzPXtiYXNlSW5wdXRTdHlsZXN9IC8+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAgICAgICAgYmFzZUlucHV0Q2xhc3Nlcy5yb290LFxuICAgICAgICAgICAgICBmb3JtRWxlbWVudFByb3BzLmRpc2FibGVkICYmIGJhc2VJbnB1dENsYXNzZXMuZGlzYWJsZWQsXG4gICAgICAgICAgICAgIGxvY2FsSW52YWxpZCAmJiBiYXNlSW5wdXRDbGFzc2VzLmludmFsaWQsXG4gICAgICAgICAgICAgIG11bHRpbGluZSAmJiByZXNpemFibGUgJiYgYmFzZUlucHV0Q2xhc3Nlcy5yZXNpemFibGUsXG4gICAgICAgICAgICAgIGZvcm1FbGVtZW50UHJvcHMucmVhZE9ubHkgJiYgYmFzZUlucHV0Q2xhc3Nlcy5yZWFkT25seSxcbiAgICAgICAgICAgICAgY3NzKHN0eWxlcy5yb290KSxcbiAgICAgICAgICAgICAgZm9ybUVsZW1lbnRQcm9wcy5kaXNhYmxlZCAmJiBjc3Moc3R5bGVzLmRpc2FibGVkKSxcbiAgICAgICAgICAgICAgbG9jYWxJbnZhbGlkICYmIGNzcyhzdHlsZXMuaW52YWxpZCksXG4gICAgICAgICAgICAgIG11bHRpbGluZSAmJiByZXNpemFibGUgJiYgY3NzKHN0eWxlcy5yZXNpemFibGUpLFxuICAgICAgICAgICAgICBmb3JtRWxlbWVudFByb3BzLnJlYWRPbmx5ICYmIGNzcyhzdHlsZXMucmVhZE9ubHkpLFxuICAgICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICAgIGNsYXNzZXM/LnJvb3QsXG4gICAgICAgICAgICAgIGZvcm1FbGVtZW50UHJvcHMuZGlzYWJsZWQgJiYgY2xhc3Nlcz8uZGlzYWJsZWQsXG4gICAgICAgICAgICAgIGxvY2FsSW52YWxpZCAmJiBjbGFzc2VzPy5pbnZhbGlkLFxuICAgICAgICAgICAgICBtdWx0aWxpbmUgJiYgcmVzaXphYmxlICYmIGNsYXNzZXM/LnJlc2l6YWJsZSxcbiAgICAgICAgICAgICAgZm9ybUVsZW1lbnRQcm9wcy5yZWFkT25seSAmJiBjbGFzc2VzPy5yZWFkT25seVxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8TXVpSW5wdXRcbiAgICAgICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgICAgICBuYW1lPXtmb3JtRWxlbWVudFByb3BzLm5hbWV9XG4gICAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtkZWZhdWx0VmFsdWV9XG4gICAgICAgICAgICAgIHR5cGU9e3R5cGV9XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgICAgICAgICAgcmVhZE9ubHk9eyEhZm9ybUVsZW1lbnRQcm9wcy5yZWFkT25seX1cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Zvcm1FbGVtZW50UHJvcHMuZGlzYWJsZWR9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZUhhbmRsZXJ9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goXG4gICAgICAgICAgICAgICAgbG9jYWxJbnZhbGlkICYmIGJhc2VJbnB1dENsYXNzZXMuaW5wdXRSb290SW52YWxpZCxcbiAgICAgICAgICAgICAgICBmb3JtRWxlbWVudFByb3BzLnJlYWRPbmx5ICYmIGJhc2VJbnB1dENsYXNzZXMuaW5wdXRSb290UmVhZE9ubHksXG4gICAgICAgICAgICAgICAgbG9jYWxJbnZhbGlkICYmIGNzcyhzdHlsZXMuaW5wdXRSb290SW52YWxpZCksXG4gICAgICAgICAgICAgICAgZm9ybUVsZW1lbnRQcm9wcy5yZWFkT25seSAmJiBjc3Moc3R5bGVzLmlucHV0Um9vdFJlYWRPbmx5KSxcbiAgICAgICAgICAgICAgICBsb2NhbEludmFsaWQgJiYgY2xhc3Nlcz8uaW5wdXRSb290SW52YWxpZCxcbiAgICAgICAgICAgICAgICBmb3JtRWxlbWVudFByb3BzLnJlYWRPbmx5ICYmIGNsYXNzZXM/LmlucHV0Um9vdFJlYWRPbmx5XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIGNsYXNzZXM9e3tcbiAgICAgICAgICAgICAgICByb290OiBjeChcbiAgICAgICAgICAgICAgICAgIGJhc2VJbnB1dENsYXNzZXMuaW5wdXRSb290LFxuICAgICAgICAgICAgICAgICAgY3NzKHN0eWxlcy5pbnB1dFJvb3QpLFxuICAgICAgICAgICAgICAgICAgY2xhc3Nlcz8uaW5wdXRSb290XG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBmb2N1c2VkOiBjeChcbiAgICAgICAgICAgICAgICAgIGJhc2VJbnB1dENsYXNzZXMuaW5wdXRSb290Rm9jdXNlZCxcbiAgICAgICAgICAgICAgICAgIGNzcyhzdHlsZXMuaW5wdXRSb290Rm9jdXNlZCksXG4gICAgICAgICAgICAgICAgICBjbGFzc2VzPy5pbnB1dFJvb3RGb2N1c2VkXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZDogY3goXG4gICAgICAgICAgICAgICAgICBiYXNlSW5wdXRDbGFzc2VzLmlucHV0Um9vdERpc2FibGVkLFxuICAgICAgICAgICAgICAgICAgY3NzKHN0eWxlcy5pbnB1dFJvb3REaXNhYmxlZCksXG4gICAgICAgICAgICAgICAgICBjbGFzc2VzPy5pbnB1dFJvb3REaXNhYmxlZFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgbXVsdGlsaW5lOiBjeChcbiAgICAgICAgICAgICAgICAgIGJhc2VJbnB1dENsYXNzZXMuaW5wdXRSb290TXVsdGlsaW5lLFxuICAgICAgICAgICAgICAgICAgY3NzKHN0eWxlcy5pbnB1dFJvb3RNdWx0aWxpbmUpLFxuICAgICAgICAgICAgICAgICAgY2xhc3Nlcz8uaW5wdXRSb290TXVsdGlsaW5lXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBpbnB1dDogY3goXG4gICAgICAgICAgICAgICAgICBiYXNlSW5wdXRDbGFzc2VzLmlucHV0LFxuICAgICAgICAgICAgICAgICAgIWZvcm1FbGVtZW50UHJvcHMuZGlzYWJsZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgcmVzaXphYmxlICYmXG4gICAgICAgICAgICAgICAgICAgIGJhc2VJbnB1dENsYXNzZXMuaW5wdXRSZXNpemFibGUsXG4gICAgICAgICAgICAgICAgICBmb3JtRWxlbWVudFByb3BzLmRpc2FibGVkICYmIGJhc2VJbnB1dENsYXNzZXMuaW5wdXREaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAgIGZvcm1FbGVtZW50UHJvcHMucmVhZE9ubHkgJiYgYmFzZUlucHV0Q2xhc3Nlcy5pbnB1dFJlYWRPbmx5LFxuICAgICAgICAgICAgICAgICAgY3NzKHN0eWxlcy5pbnB1dCksXG4gICAgICAgICAgICAgICAgICAhZm9ybUVsZW1lbnRQcm9wcy5kaXNhYmxlZCAmJlxuICAgICAgICAgICAgICAgICAgICByZXNpemFibGUgJiZcbiAgICAgICAgICAgICAgICAgICAgY3NzKHN0eWxlcy5pbnB1dFJlc2l6YWJsZSksXG4gICAgICAgICAgICAgICAgICBmb3JtRWxlbWVudFByb3BzLmRpc2FibGVkICYmIGNzcyhzdHlsZXMuaW5wdXREaXNhYmxlZCksXG4gICAgICAgICAgICAgICAgICBmb3JtRWxlbWVudFByb3BzLnJlYWRPbmx5ICYmIGNzcyhzdHlsZXMuaW5wdXRSZWFkT25seSksXG4gICAgICAgICAgICAgICAgICBjbGFzc2VzPy5pbnB1dCxcbiAgICAgICAgICAgICAgICAgICFmb3JtRWxlbWVudFByb3BzLmRpc2FibGVkICYmXG4gICAgICAgICAgICAgICAgICAgIHJlc2l6YWJsZSAmJlxuICAgICAgICAgICAgICAgICAgICBjbGFzc2VzPy5pbnB1dFJlc2l6YWJsZSxcbiAgICAgICAgICAgICAgICAgIGZvcm1FbGVtZW50UHJvcHMuZGlzYWJsZWQgJiYgY2xhc3Nlcz8uaW5wdXREaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAgIGZvcm1FbGVtZW50UHJvcHMucmVhZE9ubHkgJiYgY2xhc3Nlcz8uaW5wdXRSZWFkT25seVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGlucHV0UHJvcHM9e3tcbiAgICAgICAgICAgICAgICAvLyBBdm9pZCB0aGUgcmVxdWlyZWQgYXR0cmlidXRlIGF0IHRoZSByb290IG5vZGVcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogZm9ybUVsZW1lbnRQcm9wcy5yZXF1aXJlZCxcbiAgICAgICAgICAgICAgICAuLi5pbnB1dFByb3BzLFxuICAgICAgICAgICAgICAgIC4uLmFyaWFQcm9wcyxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgaW5wdXRSZWY9e2lucHV0UmVmfVxuICAgICAgICAgICAgICBtdWx0aWxpbmU9e211bHRpbGluZX1cbiAgICAgICAgICAgICAgcm93cz17MTB9XG4gICAgICAgICAgICAgIHsuLi5vdGhlcnN9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgeyFtdWx0aWxpbmUgJiYgKFxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgcm9sZT1cInByZXNlbnRhdGlvblwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAgICAgICAgICAgIGJhc2VJbnB1dENsYXNzZXMuaW5wdXRCb3JkZXJDb250YWluZXIsXG4gICAgICAgICAgICAgICAgICBjc3Moc3R5bGVzLmlucHV0Qm9yZGVyQ29udGFpbmVyKSxcbiAgICAgICAgICAgICAgICAgIGNsYXNzZXM/LmlucHV0Qm9yZGVyQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvPlxuICAgICAgKX1cbiAgICA8L0NsYXNzTmFtZXM+XG4gICk7XG59O1xuIl19 */");
|
|
12
29
|
const HvBaseInput = ({
|
|
13
30
|
classes,
|
|
14
31
|
className = "",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseInput.js","sources":["../../../../src/components/BaseInput/BaseInput.tsx"],"sourcesContent":["import { RefObject, useContext } from \"react\";\nimport {\n InputBaseComponentProps as MuiInputBaseComponentProps,\n InputProps as MuiInputProps,\n Input as MuiInput,\n} from \"@mui/material\";\nimport { HvBaseProps } from \"@core/types\";\nimport {\n HvFormElementContext,\n HvFormElementDescriptorsContext,\n buildFormElementPropsFromContext,\n buildAriaPropsFromContext,\n} from \"@core/components\";\nimport { ClassNames, css as emotionCss, Global } from \"@emotion/react\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport baseInputClasses, { HvBaseInputClasses } from \"./baseInputClasses\";\nimport { styles } from \"./BaseInput.styles\";\n\n// Global styles for the base input.\nconst baseInputStyles = emotionCss`\n \"input:-webkit-autofill\": {\n \"-webkit-box-shadow\": 0 0 0px 1000px ${theme.colors.atmo1} inset,\n \"-webkit-text-fill-color\": ${theme.colors.secondary},\n },\n\n /* Clears input's clear and reveal buttons from IE */\n \"input[type=search]::-ms-clear\": {\n display: \"none\",\n width: 0,\n height: 0,\n },\n \"input[type=search]::-ms-reveal\": {\n display: \"none\",\n width: 0,\n height: 0,\n },\n\n /* Clears input's clear button from Chrome */\n \"input[type=search]::-webkit-search-decoration\": { display: \"none\" },\n \"input[type=search]::-webkit-search-cancel-button\": { display: \"none\" },\n \"input[type=search]::-webkit-search-results-button\": {\n display: \"none\",\n },\n \"input[type=search]::-webkit-search-results-decoration\": {\n display: \"none\",\n },\n}`;\n\nexport interface HvBaseInputProps\n extends Omit<MuiInputProps, \"onChange\" | \"classes\">,\n HvBaseProps<\n HTMLDivElement,\n | \"onChange\"\n | \"color\"\n | \"onBlur\"\n | \"onFocus\"\n | \"onInvalid\"\n | \"onKeyDown\"\n | \"onKeyUp\"\n > {\n /** The input name. */\n name?: string;\n /** The value of the input, when controlled. */\n value?: string;\n /** The initial value of the input, when uncontrolled. */\n defaultValue?: string;\n /** If `true` the input is disabled. */\n disabled?: boolean;\n /** Indicates that the input is not editable. */\n readOnly?: boolean;\n /** If true, the input element will be required. */\n required?: boolean;\n /** The function that will be executed onChange, allows modification of the input,\n * it receives the value. If a new value should be presented it must returned it. */\n onChange?: (\n event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>,\n value: string\n ) => void;\n /** The input type. */\n type?: string;\n /** Label inside the input used to help user. */\n placeholder?: string;\n /** If true, a textarea element will be rendered. */\n multiline?: boolean;\n /** If true and multiline is also true the textarea element will be resizable. */\n resizable?: boolean;\n /** Denotes if the input is in an invalid state. */\n invalid?: boolean;\n /** Attributes applied to the input element. */\n inputProps?: MuiInputBaseComponentProps;\n /** Allows passing a ref to the underlying input */\n inputRef?: RefObject<HTMLElement>;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvBaseInputClasses;\n}\n\n/**\n * An Input component that only posses the most basic functionalities.\n * It should be used alongside the other form elements to construct a proper accessible form.\n */\nexport const HvBaseInput = ({\n classes,\n className = \"\",\n id,\n name,\n value,\n defaultValue,\n required,\n readOnly,\n disabled,\n onChange,\n type = \"text\",\n placeholder,\n multiline = false,\n resizable = false,\n invalid = false,\n inputRef,\n inputProps = {},\n ...others\n}: HvBaseInputProps) => {\n const formElementContext = useContext(HvFormElementContext);\n const formElementProps = buildFormElementPropsFromContext(\n name,\n disabled,\n readOnly,\n required,\n status,\n formElementContext\n );\n\n const localInvalid = invalid || formElementProps.status === \"invalid\";\n\n const formElementDescriptorsContext = useContext(\n HvFormElementDescriptorsContext\n );\n const ariaProps = buildAriaPropsFromContext(\n inputProps,\n formElementDescriptorsContext,\n localInvalid,\n id\n );\n\n const onChangeHandler = (\n event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\n ) => {\n onChange?.(event, event.target.value);\n };\n\n return (\n <ClassNames>\n {({ css, cx }) => (\n <>\n <Global styles={baseInputStyles} />\n <div\n className={cx(\n baseInputClasses.root,\n formElementProps.disabled && baseInputClasses.disabled,\n localInvalid && baseInputClasses.invalid,\n multiline && resizable && baseInputClasses.resizable,\n formElementProps.readOnly && baseInputClasses.readOnly,\n css(styles.root),\n formElementProps.disabled && css(styles.disabled),\n localInvalid && css(styles.invalid),\n multiline && resizable && css(styles.resizable),\n formElementProps.readOnly && css(styles.readOnly),\n className,\n classes?.root,\n formElementProps.disabled && classes?.disabled,\n localInvalid && classes?.invalid,\n multiline && resizable && classes?.resizable,\n formElementProps.readOnly && classes?.readOnly\n )}\n >\n <MuiInput\n id={id}\n name={formElementProps.name}\n value={value}\n defaultValue={defaultValue}\n type={type}\n placeholder={placeholder}\n readOnly={!!formElementProps.readOnly}\n disabled={formElementProps.disabled}\n onChange={onChangeHandler}\n className={cx(\n localInvalid && baseInputClasses.inputRootInvalid,\n formElementProps.readOnly && baseInputClasses.inputRootReadOnly,\n localInvalid && css(styles.inputRootInvalid),\n formElementProps.readOnly && css(styles.inputRootReadOnly),\n localInvalid && classes?.inputRootInvalid,\n formElementProps.readOnly && classes?.inputRootReadOnly\n )}\n classes={{\n root: cx(\n baseInputClasses.inputRoot,\n css(styles.inputRoot),\n classes?.inputRoot\n ),\n focused: cx(\n baseInputClasses.inputRootFocused,\n css(styles.inputRootFocused),\n classes?.inputRootFocused\n ),\n disabled: cx(\n baseInputClasses.inputRootDisabled,\n css(styles.inputRootDisabled),\n classes?.inputRootDisabled\n ),\n multiline: cx(\n baseInputClasses.inputRootMultiline,\n css(styles.inputRootMultiline),\n classes?.inputRootMultiline\n ),\n input: cx(\n baseInputClasses.input,\n !formElementProps.disabled &&\n resizable &&\n baseInputClasses.inputResizable,\n formElementProps.disabled && baseInputClasses.inputDisabled,\n formElementProps.readOnly && baseInputClasses.inputReadOnly,\n css(styles.input),\n !formElementProps.disabled &&\n resizable &&\n css(styles.inputResizable),\n formElementProps.disabled && css(styles.inputDisabled),\n formElementProps.readOnly && css(styles.inputReadOnly),\n classes?.input,\n !formElementProps.disabled &&\n resizable &&\n classes?.inputResizable,\n formElementProps.disabled && classes?.inputDisabled,\n formElementProps.readOnly && classes?.inputReadOnly\n ),\n }}\n inputProps={{\n // Avoid the required attribute at the root node\n required: formElementProps.required,\n ...inputProps,\n ...ariaProps,\n }}\n inputRef={inputRef}\n multiline={multiline}\n rows={10}\n {...others}\n />\n {!multiline && (\n <div\n role=\"presentation\"\n className={cx(\n baseInputClasses.inputBorderContainer,\n css(styles.inputBorderContainer),\n classes?.inputBorderContainer\n )}\n />\n )}\n </div>\n </>\n )}\n </ClassNames>\n );\n};\n"],"names":["baseInputStyles","theme","colors","atmo1","secondary","process","env","NODE_ENV","HvBaseInput","classes","className","id","name","value","defaultValue","required","readOnly","disabled","onChange","type","placeholder","multiline","resizable","invalid","inputRef","inputProps","others","formElementContext","useContext","HvFormElementContext","formElementProps","buildFormElementPropsFromContext","status","localInvalid","formElementDescriptorsContext","HvFormElementDescriptorsContext","ariaProps","buildAriaPropsFromContext","onChangeHandler","event","target","ClassNames","children","css","cx","_Fragment","_jsx","Global","styles","_jsxs","baseInputClasses","root","MuiInput","inputRootInvalid","inputRootReadOnly","inputRoot","focused","inputRootFocused","inputRootDisabled","inputRootMultiline","input","inputResizable","inputDisabled","inputReadOnly","rows","role","inputBorderContainer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseInput.js","sources":["../../../../src/components/BaseInput/BaseInput.tsx"],"sourcesContent":["import { RefObject, useContext } from \"react\";\nimport {\n InputBaseComponentProps as MuiInputBaseComponentProps,\n InputProps as MuiInputProps,\n Input as MuiInput,\n} from \"@mui/material\";\nimport { HvBaseProps } from \"@core/types\";\nimport {\n HvFormElementContext,\n HvFormElementDescriptorsContext,\n buildFormElementPropsFromContext,\n buildAriaPropsFromContext,\n} from \"@core/components\";\nimport { ClassNames, css as emotionCss, Global } from \"@emotion/react\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport baseInputClasses, { HvBaseInputClasses } from \"./baseInputClasses\";\nimport { styles } from \"./BaseInput.styles\";\n\n// Global styles for the base input.\nconst baseInputStyles = emotionCss({\n \"input:-webkit-autofill\": {\n \"-webkit-box-shadow\": `0 0 0px 1000px ${theme.colors.atmo1} inset`,\n \"-webkit-text-fill-color\": theme.colors.secondary,\n },\n\n // Clears number input up/down arrows in Chrome and Firefox\n \"input::-webkit-outer-spin-button,\\\n input::-webkit-inner-spin-button\": {\n WebkitAppearance: \"none\",\n margin: 0,\n },\n \"input[type=number]\": {\n MozAppearance: \"textfield\",\n },\n\n // Clears search input clear button in Chrome\n \"input::-webkit-search-decoration,\\\n input::-webkit-search-cancel-button,\\\n input::-webkit-search-results-button,\\\n input::-webkit-search-results-decoration\": {\n display: \"none\",\n },\n});\n\nexport interface HvBaseInputProps\n extends Omit<MuiInputProps, \"onChange\" | \"classes\">,\n HvBaseProps<\n HTMLDivElement,\n | \"onChange\"\n | \"color\"\n | \"onBlur\"\n | \"onFocus\"\n | \"onInvalid\"\n | \"onKeyDown\"\n | \"onKeyUp\"\n > {\n /** The input name. */\n name?: string;\n /** The value of the input, when controlled. */\n value?: string;\n /** The initial value of the input, when uncontrolled. */\n defaultValue?: string;\n /** If `true` the input is disabled. */\n disabled?: boolean;\n /** Indicates that the input is not editable. */\n readOnly?: boolean;\n /** If true, the input element will be required. */\n required?: boolean;\n /** The function that will be executed onChange, allows modification of the input,\n * it receives the value. If a new value should be presented it must returned it. */\n onChange?: (\n event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>,\n value: string\n ) => void;\n /** The input type. */\n type?: string;\n /** Label inside the input used to help user. */\n placeholder?: string;\n /** If true, a textarea element will be rendered. */\n multiline?: boolean;\n /** If true and multiline is also true the textarea element will be resizable. */\n resizable?: boolean;\n /** Denotes if the input is in an invalid state. */\n invalid?: boolean;\n /** Attributes applied to the input element. */\n inputProps?: MuiInputBaseComponentProps;\n /** Allows passing a ref to the underlying input */\n inputRef?: RefObject<HTMLElement>;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvBaseInputClasses;\n}\n\n/**\n * An Input component that only posses the most basic functionalities.\n * It should be used alongside the other form elements to construct a proper accessible form.\n */\nexport const HvBaseInput = ({\n classes,\n className = \"\",\n id,\n name,\n value,\n defaultValue,\n required,\n readOnly,\n disabled,\n onChange,\n type = \"text\",\n placeholder,\n multiline = false,\n resizable = false,\n invalid = false,\n inputRef,\n inputProps = {},\n ...others\n}: HvBaseInputProps) => {\n const formElementContext = useContext(HvFormElementContext);\n const formElementProps = buildFormElementPropsFromContext(\n name,\n disabled,\n readOnly,\n required,\n status,\n formElementContext\n );\n\n const localInvalid = invalid || formElementProps.status === \"invalid\";\n\n const formElementDescriptorsContext = useContext(\n HvFormElementDescriptorsContext\n );\n const ariaProps = buildAriaPropsFromContext(\n inputProps,\n formElementDescriptorsContext,\n localInvalid,\n id\n );\n\n const onChangeHandler = (\n event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\n ) => {\n onChange?.(event, event.target.value);\n };\n\n return (\n <ClassNames>\n {({ css, cx }) => (\n <>\n <Global styles={baseInputStyles} />\n <div\n className={cx(\n baseInputClasses.root,\n formElementProps.disabled && baseInputClasses.disabled,\n localInvalid && baseInputClasses.invalid,\n multiline && resizable && baseInputClasses.resizable,\n formElementProps.readOnly && baseInputClasses.readOnly,\n css(styles.root),\n formElementProps.disabled && css(styles.disabled),\n localInvalid && css(styles.invalid),\n multiline && resizable && css(styles.resizable),\n formElementProps.readOnly && css(styles.readOnly),\n className,\n classes?.root,\n formElementProps.disabled && classes?.disabled,\n localInvalid && classes?.invalid,\n multiline && resizable && classes?.resizable,\n formElementProps.readOnly && classes?.readOnly\n )}\n >\n <MuiInput\n id={id}\n name={formElementProps.name}\n value={value}\n defaultValue={defaultValue}\n type={type}\n placeholder={placeholder}\n readOnly={!!formElementProps.readOnly}\n disabled={formElementProps.disabled}\n onChange={onChangeHandler}\n className={cx(\n localInvalid && baseInputClasses.inputRootInvalid,\n formElementProps.readOnly && baseInputClasses.inputRootReadOnly,\n localInvalid && css(styles.inputRootInvalid),\n formElementProps.readOnly && css(styles.inputRootReadOnly),\n localInvalid && classes?.inputRootInvalid,\n formElementProps.readOnly && classes?.inputRootReadOnly\n )}\n classes={{\n root: cx(\n baseInputClasses.inputRoot,\n css(styles.inputRoot),\n classes?.inputRoot\n ),\n focused: cx(\n baseInputClasses.inputRootFocused,\n css(styles.inputRootFocused),\n classes?.inputRootFocused\n ),\n disabled: cx(\n baseInputClasses.inputRootDisabled,\n css(styles.inputRootDisabled),\n classes?.inputRootDisabled\n ),\n multiline: cx(\n baseInputClasses.inputRootMultiline,\n css(styles.inputRootMultiline),\n classes?.inputRootMultiline\n ),\n input: cx(\n baseInputClasses.input,\n !formElementProps.disabled &&\n resizable &&\n baseInputClasses.inputResizable,\n formElementProps.disabled && baseInputClasses.inputDisabled,\n formElementProps.readOnly && baseInputClasses.inputReadOnly,\n css(styles.input),\n !formElementProps.disabled &&\n resizable &&\n css(styles.inputResizable),\n formElementProps.disabled && css(styles.inputDisabled),\n formElementProps.readOnly && css(styles.inputReadOnly),\n classes?.input,\n !formElementProps.disabled &&\n resizable &&\n classes?.inputResizable,\n formElementProps.disabled && classes?.inputDisabled,\n formElementProps.readOnly && classes?.inputReadOnly\n ),\n }}\n inputProps={{\n // Avoid the required attribute at the root node\n required: formElementProps.required,\n ...inputProps,\n ...ariaProps,\n }}\n inputRef={inputRef}\n multiline={multiline}\n rows={10}\n {...others}\n />\n {!multiline && (\n <div\n role=\"presentation\"\n className={cx(\n baseInputClasses.inputBorderContainer,\n css(styles.inputBorderContainer),\n classes?.inputBorderContainer\n )}\n />\n )}\n </div>\n </>\n )}\n </ClassNames>\n );\n};\n"],"names":["baseInputStyles","emotionCss","theme","colors","atmo1","secondary","WebkitAppearance","margin","MozAppearance","display","process","env","NODE_ENV","HvBaseInput","classes","className","id","name","value","defaultValue","required","readOnly","disabled","onChange","type","placeholder","multiline","resizable","invalid","inputRef","inputProps","others","formElementContext","useContext","HvFormElementContext","formElementProps","buildFormElementPropsFromContext","status","localInvalid","formElementDescriptorsContext","HvFormElementDescriptorsContext","ariaProps","buildAriaPropsFromContext","onChangeHandler","event","target","ClassNames","children","css","cx","_Fragment","_jsx","Global","styles","_jsxs","baseInputClasses","root","MuiInput","inputRootInvalid","inputRootReadOnly","inputRoot","focused","inputRootFocused","inputRootDisabled","inputRootMultiline","input","inputResizable","inputDisabled","inputReadOnly","rows","role","inputBorderContainer"],"mappings":"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"}
|