@hitachivantara/uikit-react-core 3.56.1 → 3.58.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/CHANGELOG.md +34 -0
- package/dist/FilterGroup/FilterContent/FilterContent.js +2 -1
- package/dist/FilterGroup/FilterContent/FilterContent.js.map +1 -1
- package/dist/FilterGroup/FilterGroup.d.ts +6 -0
- package/dist/FilterGroup/FilterGroup.js +9 -1
- package/dist/FilterGroup/FilterGroup.js.map +1 -1
- package/dist/FilterGroup/FilterGroupContext.js +11 -5
- package/dist/FilterGroup/FilterGroupContext.js.map +1 -1
- package/dist/OverflowTooltip/OverflowTooltip.d.ts +26 -6
- package/dist/OverflowTooltip/OverflowTooltip.js +46 -9
- package/dist/OverflowTooltip/OverflowTooltip.js.map +1 -1
- package/dist/TagsInput/TagsInput.d.ts +12 -8
- package/dist/TagsInput/TagsInput.js +52 -24
- package/dist/TagsInput/TagsInput.js.map +1 -1
- package/dist/Tooltip/Tooltip.js +1 -1
- package/dist/Tooltip/Tooltip.js.map +1 -1
- package/dist/legacy/FilterGroup/FilterContent/FilterContent.js +2 -1
- package/dist/legacy/FilterGroup/FilterContent/FilterContent.js.map +1 -1
- package/dist/legacy/FilterGroup/FilterGroup.d.ts +6 -0
- package/dist/legacy/FilterGroup/FilterGroup.js +9 -1
- package/dist/legacy/FilterGroup/FilterGroup.js.map +1 -1
- package/dist/legacy/FilterGroup/FilterGroupContext.js +11 -5
- package/dist/legacy/FilterGroup/FilterGroupContext.js.map +1 -1
- package/dist/legacy/OverflowTooltip/OverflowTooltip.d.ts +26 -6
- package/dist/legacy/OverflowTooltip/OverflowTooltip.js +30 -9
- package/dist/legacy/OverflowTooltip/OverflowTooltip.js.map +1 -1
- package/dist/legacy/TagsInput/TagsInput.d.ts +12 -8
- package/dist/legacy/TagsInput/TagsInput.js +50 -24
- package/dist/legacy/TagsInput/TagsInput.js.map +1 -1
- package/dist/legacy/Tooltip/Tooltip.js +1 -1
- package/dist/legacy/Tooltip/Tooltip.js.map +1 -1
- package/dist/modern/FilterGroup/FilterContent/FilterContent.js +2 -1
- package/dist/modern/FilterGroup/FilterContent/FilterContent.js.map +1 -1
- package/dist/modern/FilterGroup/FilterGroup.d.ts +6 -0
- package/dist/modern/FilterGroup/FilterGroup.js +9 -1
- package/dist/modern/FilterGroup/FilterGroup.js.map +1 -1
- package/dist/modern/FilterGroup/FilterGroupContext.js +10 -4
- package/dist/modern/FilterGroup/FilterGroupContext.js.map +1 -1
- package/dist/modern/OverflowTooltip/OverflowTooltip.d.ts +26 -6
- package/dist/modern/OverflowTooltip/OverflowTooltip.js +25 -9
- package/dist/modern/OverflowTooltip/OverflowTooltip.js.map +1 -1
- package/dist/modern/TagsInput/TagsInput.d.ts +12 -8
- package/dist/modern/TagsInput/TagsInput.js +47 -25
- package/dist/modern/TagsInput/TagsInput.js.map +1 -1
- package/dist/modern/Tooltip/Tooltip.js +1 -1
- package/dist/modern/Tooltip/Tooltip.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Tooltip/Tooltip.js"],"names":["React","PropTypes","Fade","Tooltip","withStyles","styles","HvTooltip","forwardRef","props","ref","className","classes","open","enterDelay","placement","useSingle","children","title","TransitionComponent","TransitionProps","timeout","others","undefined","tooltip","tooltipMulti","popper","propTypes","string","shape","root","valuesContainer","values","color","separatorColor","separator","valueWrapper","isRequired","bool","
|
|
1
|
+
{"version":3,"sources":["../../../src/Tooltip/Tooltip.js"],"names":["React","PropTypes","Fade","Tooltip","withStyles","styles","HvTooltip","forwardRef","props","ref","className","classes","open","enterDelay","placement","useSingle","children","title","TransitionComponent","TransitionProps","timeout","others","undefined","tooltip","tooltipMulti","popper","propTypes","string","shape","root","valuesContainer","values","color","separatorColor","separator","valueWrapper","isRequired","bool","oneOf","number","node","any","object","name"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Fade, Tooltip, withStyles } from \"@material-ui/core\";\nimport styles from \"./styles\";\n\n/**\n * Tooltips display informative text when users hover over, focus on, or tap an element.\n */\n\nconst HvTooltip = React.forwardRef((props, ref) => {\n const {\n className,\n classes,\n open,\n enterDelay = 300,\n placement = \"top\",\n useSingle = true,\n children,\n title,\n TransitionComponent = Fade,\n TransitionProps = { timeout: 400 },\n ...others\n } = props;\n\n return (\n <Tooltip\n ref={ref}\n open={open ?? undefined}\n enterDelay={enterDelay}\n placement={placement}\n TransitionComponent={TransitionComponent}\n TransitionProps={TransitionProps}\n className={className}\n classes={{\n tooltip: useSingle ? classes.tooltip : classes.tooltipMulti,\n popper: classes.popper,\n }}\n title={title}\n {...others}\n >\n {children}\n </Tooltip>\n );\n});\n\nHvTooltip.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the tooltip root class.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the tooltip class when it is single\n * */\n tooltip: PropTypes.string,\n /**\n * Styles applied to the tooltip class when it is multi\n * */\n tooltipMulti: PropTypes.string,\n /**\n * Styles applied to the popper component\n * */\n popper: PropTypes.string,\n /**\n * Styles applied to the title.\n */\n title: PropTypes.string,\n /**\n * Styles applied to the values container.\n */\n valuesContainer: PropTypes.string,\n /**\n * Styles applied to the values.\n */\n values: PropTypes.string,\n /**\n * Styles applied to the color.\n */\n color: PropTypes.string,\n /**\n * Styles applied to the separator between color and title.\n */\n separatorColor: PropTypes.string,\n /**\n * Styles applied to the separator.\n */\n separator: PropTypes.string,\n /**\n * Styles applied to the values wrapper.\n */\n valueWrapper: PropTypes.string,\n }).isRequired,\n /**\n * If true, the tooltip is shown.\n */\n open: PropTypes.bool,\n /**\n * Tooltip placement.\n */\n placement: PropTypes.oneOf([\n \"bottom-end\",\n \"bottom-start\",\n \"bottom\",\n \"left-end\",\n \"left-start\",\n \"left\",\n \"right-end\",\n \"right-start\",\n \"right\",\n \"top-end\",\n \"top-start\",\n \"top\",\n ]),\n /**\n * The number of milliseconds to wait before showing the tooltip.\n * This property won't impact the enter touch delay (enterTouchDelay).\n */\n enterDelay: PropTypes.number,\n /**\n * Tooltip title. Zero-length titles string are never displayed.\n */\n title: PropTypes.node.isRequired,\n /**\n * The component used for the transition\n */\n // eslint-disable-next-line react/forbid-prop-types\n TransitionComponent: PropTypes.any,\n /**\n * Properties applied to the Transition element.\n */\n // eslint-disable-next-line react/forbid-prop-types\n TransitionProps: PropTypes.object,\n /**\n * Defines if should use a single or multiline tooltip.\n */\n useSingle: PropTypes.bool,\n /**\n * Node to apply the tooltip.\n */\n children: PropTypes.node.isRequired,\n};\n\nexport default withStyles(styles, { name: \"HvTooltip\" })(HvTooltip);\n"],"file":"Tooltip.js"}
|
|
@@ -39,6 +39,7 @@ const FilterContent = _ref => {
|
|
|
39
39
|
const classes = useStyles();
|
|
40
40
|
const [filterGroupOpen, setFilterGroupOpen] = useState(false);
|
|
41
41
|
const {
|
|
42
|
+
defaultValue,
|
|
42
43
|
filterValues,
|
|
43
44
|
rollbackFilters,
|
|
44
45
|
clearFilters,
|
|
@@ -134,7 +135,7 @@ const FilterContent = _ref => {
|
|
|
134
135
|
className: classes.actionBar
|
|
135
136
|
}, /*#__PURE__*/React.createElement(HvButton, {
|
|
136
137
|
id: setId(id, "clearFilters-button"),
|
|
137
|
-
disabled: filterValues.flat().length === 0,
|
|
138
|
+
disabled: defaultValue ? defaultValue.flat().length === filterValues.flat().length : filterValues.flat().length === 0,
|
|
138
139
|
category: "ghost",
|
|
139
140
|
onClick: onClearHandler
|
|
140
141
|
}, labels.clearLabel), /*#__PURE__*/React.createElement("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/FilterGroup/FilterContent/FilterContent.js"],"names":["React","useMemo","useState","useRef","useContext","PropTypes","Filters","FilterGroupContext","LeftPanel","RightPanel","Counter","useStyles","setId","HvBaseDropdown","HvTypography","HvButton","HvActionBar","FilterContent","id","status","disabled","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","onCancel","onClear","labels","horizontalPlacement","disablePortal","escapeWithReference","height","others","classes","filterGroupOpen","setFilterGroupOpen","filterValues","rollbackFilters","clearFilters","applyFilters","applyDisabled","focusTarget","focusOnContainer","current","focus","onApplyHandler","evt","onCancelHandler","onClearHandler","handleToggle","open","Header","placeholder","root","dropdown","panel","selection","baseDropdownSelection","header","modifiers","name","enabled","undefined","join","trim","leftSidePanel","rightSidePanel","actionBar","flat","length","clearLabel","space","applyLabel","cancelLabel","propTypes","string","node","bool","oneOf","func","shape","searchBoxPlaceholder","selectAll","multiSelectionConjunction","any"],"mappings":"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","sourcesContent":["import React, { useMemo, useState, useRef, useContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Filters } from \"@hitachivantara/uikit-react-icons\";\nimport { FilterGroupContext } from \"../FilterGroupContext\";\nimport LeftPanel from \"../LeftPanel\";\nimport RightPanel from \"../RightPanel\";\nimport Counter from \"../Counter\";\n\nimport useStyles from \"./styles\";\n\nimport { setId, HvBaseDropdown, HvTypography, HvButton, HvActionBar } from \"../..\";\n\nconst FilterContent = ({\n id,\n status,\n disabled = false,\n\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n\n onChange,\n onCancel,\n onClear,\n\n labels,\n\n horizontalPlacement = \"right\",\n disablePortal = true,\n escapeWithReference = true,\n\n height,\n\n ...others\n}) => {\n const classes = useStyles();\n const [filterGroupOpen, setFilterGroupOpen] = useState(false);\n\n const { filterValues, rollbackFilters, clearFilters, applyFilters, applyDisabled } =\n useContext(FilterGroupContext);\n\n const focusTarget = useRef();\n\n const focusOnContainer = () => {\n focusTarget.current?.focus();\n };\n\n const onApplyHandler = (evt) => {\n applyFilters();\n onChange?.(evt, filterValues);\n setFilterGroupOpen(false);\n };\n\n const onCancelHandler = (evt) => {\n rollbackFilters();\n onCancel?.(evt);\n setFilterGroupOpen(false);\n };\n\n const onClearHandler = (evt) => {\n clearFilters();\n onClear?.(evt);\n };\n\n const handleToggle = (evt, open) => {\n /* \n If evt is null this toggle wasn't triggered by the user.\n instead it was triggered by the baseDropdown useEffect after\n the datepicker changed the expanded value this baseDropdown behavior needs a review\n */\n if (evt === null) return;\n setFilterGroupOpen(open);\n if (!open) onCancelHandler?.(evt);\n };\n\n const Header = useMemo(\n () => (\n <>\n <Filters />\n <HvTypography variant=\"highlightText\">{labels.placeholder}</HvTypography>\n </>\n ),\n [labels.placeholder]\n );\n\n return (\n <HvBaseDropdown\n id={setId(id, \"dropdown\")}\n role=\"combobox\"\n classes={{\n root: classes.dropdown,\n panel: classes.panel,\n selection: classes.baseDropdownSelection,\n header: classes.header,\n }}\n disabled={disabled}\n disablePortal={disablePortal}\n variableWidth\n placement={horizontalPlacement}\n expanded={filterGroupOpen}\n onToggle={handleToggle}\n onClickOutside={onCancelHandler}\n onContainerCreation={focusOnContainer}\n placeholder={Header}\n adornment={<Counter />}\n popperProps={{ modifiers: [{ name: \"preventOverflow\", enabled: escapeWithReference }] }}\n aria-haspopup=\"dialog\"\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-invalid={status === \"invalid\" ? true : undefined}\n aria-errormessage={status === \"invalid\" ? setId(id, \"error\") : undefined}\n aria-describedby={\n [description && setId(id, \"description\"), ariaDescribedBy].join(\" \").trim() || undefined\n }\n {...others}\n >\n <div ref={focusTarget} tabIndex={-1} />\n <div className={classes.root} style={{ height }}>\n <LeftPanel id={id} className={classes.leftSidePanel} />\n <RightPanel id={id} className={classes.rightSidePanel} labels={labels} />\n </div>\n <HvActionBar className={classes.actionBar}>\n <HvButton\n id={setId(id, \"clearFilters-button\")}\n disabled={filterValues.flat().length === 0}\n category=\"ghost\"\n onClick={onClearHandler}\n >\n {labels.clearLabel}\n </HvButton>\n <div aria-hidden=\"true\" className={classes.space}>\n \n </div>\n <HvButton\n id={setId(id, \"apply-button\")}\n disabled={applyDisabled}\n category=\"ghost\"\n onClick={onApplyHandler}\n >\n {labels.applyLabel}\n </HvButton>\n <HvButton id={setId(id, \"cancel-button\")} category=\"ghost\" onClick={onCancelHandler}>\n {labels.cancelLabel}\n </HvButton>\n </HvActionBar>\n </HvBaseDropdown>\n );\n};\n\nFilterContent.propTypes = {\n id: PropTypes.string,\n\n \"aria-label\": PropTypes.string,\n \"aria-labelledby\": PropTypes.string,\n description: PropTypes.node,\n \"aria-describedby\": PropTypes.string,\n disabled: PropTypes.bool,\n status: PropTypes.oneOf([\"standBy\", \"valid\", \"invalid\"]),\n\n onChange: PropTypes.func,\n onCancel: PropTypes.func,\n onClear: PropTypes.func,\n\n labels: PropTypes.shape({\n applyLabel: PropTypes.string,\n cancelLabel: PropTypes.string,\n clearLabel: PropTypes.string,\n placeholder: PropTypes.string,\n searchBoxPlaceholder: PropTypes.string,\n selectAll: PropTypes.string,\n multiSelectionConjunction: PropTypes.string,\n }),\n\n horizontalPlacement: PropTypes.oneOf([\"left\", \"right\"]),\n disablePortal: PropTypes.bool,\n escapeWithReference: PropTypes.bool,\n height: PropTypes.any,\n};\n\nexport default FilterContent;\n"],"file":"FilterContent.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/FilterGroup/FilterContent/FilterContent.js"],"names":["React","useMemo","useState","useRef","useContext","PropTypes","Filters","FilterGroupContext","LeftPanel","RightPanel","Counter","useStyles","setId","HvBaseDropdown","HvTypography","HvButton","HvActionBar","FilterContent","id","status","disabled","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","onCancel","onClear","labels","horizontalPlacement","disablePortal","escapeWithReference","height","others","classes","filterGroupOpen","setFilterGroupOpen","defaultValue","filterValues","rollbackFilters","clearFilters","applyFilters","applyDisabled","focusTarget","focusOnContainer","current","focus","onApplyHandler","evt","onCancelHandler","onClearHandler","handleToggle","open","Header","placeholder","root","dropdown","panel","selection","baseDropdownSelection","header","modifiers","name","enabled","undefined","join","trim","leftSidePanel","rightSidePanel","actionBar","flat","length","clearLabel","space","applyLabel","cancelLabel","propTypes","string","node","bool","oneOf","func","shape","searchBoxPlaceholder","selectAll","multiSelectionConjunction","any"],"mappings":"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","sourcesContent":["import React, { useMemo, useState, useRef, useContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Filters } from \"@hitachivantara/uikit-react-icons\";\nimport { FilterGroupContext } from \"../FilterGroupContext\";\nimport LeftPanel from \"../LeftPanel\";\nimport RightPanel from \"../RightPanel\";\nimport Counter from \"../Counter\";\n\nimport useStyles from \"./styles\";\n\nimport { setId, HvBaseDropdown, HvTypography, HvButton, HvActionBar } from \"../..\";\n\nconst FilterContent = ({\n id,\n status,\n disabled = false,\n\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n\n onChange,\n onCancel,\n onClear,\n\n labels,\n\n horizontalPlacement = \"right\",\n disablePortal = true,\n escapeWithReference = true,\n\n height,\n\n ...others\n}) => {\n const classes = useStyles();\n const [filterGroupOpen, setFilterGroupOpen] = useState(false);\n\n const { defaultValue, filterValues, rollbackFilters, clearFilters, applyFilters, applyDisabled } =\n useContext(FilterGroupContext);\n\n const focusTarget = useRef();\n\n const focusOnContainer = () => {\n focusTarget.current?.focus();\n };\n\n const onApplyHandler = (evt) => {\n applyFilters();\n onChange?.(evt, filterValues);\n setFilterGroupOpen(false);\n };\n\n const onCancelHandler = (evt) => {\n rollbackFilters();\n onCancel?.(evt);\n setFilterGroupOpen(false);\n };\n\n const onClearHandler = (evt) => {\n clearFilters();\n onClear?.(evt);\n };\n\n const handleToggle = (evt, open) => {\n /* \n If evt is null this toggle wasn't triggered by the user.\n instead it was triggered by the baseDropdown useEffect after\n the datepicker changed the expanded value this baseDropdown behavior needs a review\n */\n if (evt === null) return;\n setFilterGroupOpen(open);\n if (!open) onCancelHandler?.(evt);\n };\n\n const Header = useMemo(\n () => (\n <>\n <Filters />\n <HvTypography variant=\"highlightText\">{labels.placeholder}</HvTypography>\n </>\n ),\n [labels.placeholder]\n );\n\n return (\n <HvBaseDropdown\n id={setId(id, \"dropdown\")}\n role=\"combobox\"\n classes={{\n root: classes.dropdown,\n panel: classes.panel,\n selection: classes.baseDropdownSelection,\n header: classes.header,\n }}\n disabled={disabled}\n disablePortal={disablePortal}\n variableWidth\n placement={horizontalPlacement}\n expanded={filterGroupOpen}\n onToggle={handleToggle}\n onClickOutside={onCancelHandler}\n onContainerCreation={focusOnContainer}\n placeholder={Header}\n adornment={<Counter />}\n popperProps={{ modifiers: [{ name: \"preventOverflow\", enabled: escapeWithReference }] }}\n aria-haspopup=\"dialog\"\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-invalid={status === \"invalid\" ? true : undefined}\n aria-errormessage={status === \"invalid\" ? setId(id, \"error\") : undefined}\n aria-describedby={\n [description && setId(id, \"description\"), ariaDescribedBy].join(\" \").trim() || undefined\n }\n {...others}\n >\n <div ref={focusTarget} tabIndex={-1} />\n <div className={classes.root} style={{ height }}>\n <LeftPanel id={id} className={classes.leftSidePanel} />\n <RightPanel id={id} className={classes.rightSidePanel} labels={labels} />\n </div>\n <HvActionBar className={classes.actionBar}>\n <HvButton\n id={setId(id, \"clearFilters-button\")}\n disabled={\n defaultValue\n ? defaultValue.flat().length === filterValues.flat().length\n : filterValues.flat().length === 0\n }\n category=\"ghost\"\n onClick={onClearHandler}\n >\n {labels.clearLabel}\n </HvButton>\n <div aria-hidden=\"true\" className={classes.space}>\n \n </div>\n <HvButton\n id={setId(id, \"apply-button\")}\n disabled={applyDisabled}\n category=\"ghost\"\n onClick={onApplyHandler}\n >\n {labels.applyLabel}\n </HvButton>\n <HvButton id={setId(id, \"cancel-button\")} category=\"ghost\" onClick={onCancelHandler}>\n {labels.cancelLabel}\n </HvButton>\n </HvActionBar>\n </HvBaseDropdown>\n );\n};\n\nFilterContent.propTypes = {\n id: PropTypes.string,\n\n \"aria-label\": PropTypes.string,\n \"aria-labelledby\": PropTypes.string,\n description: PropTypes.node,\n \"aria-describedby\": PropTypes.string,\n disabled: PropTypes.bool,\n status: PropTypes.oneOf([\"standBy\", \"valid\", \"invalid\"]),\n\n onChange: PropTypes.func,\n onCancel: PropTypes.func,\n onClear: PropTypes.func,\n\n labels: PropTypes.shape({\n applyLabel: PropTypes.string,\n cancelLabel: PropTypes.string,\n clearLabel: PropTypes.string,\n placeholder: PropTypes.string,\n searchBoxPlaceholder: PropTypes.string,\n selectAll: PropTypes.string,\n multiSelectionConjunction: PropTypes.string,\n }),\n\n horizontalPlacement: PropTypes.oneOf([\"left\", \"right\"]),\n disablePortal: PropTypes.bool,\n escapeWithReference: PropTypes.bool,\n height: PropTypes.any,\n};\n\nexport default FilterContent;\n"],"file":"FilterContent.js"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
|
-
const _excluded = ["className", "id", "name", "required", "disabled", "label", "aria-label", "aria-labelledby", "description", "aria-describedby", "onChange", "onCancel", "onClear", "status", "statusMessage", "labels", "value", "filters", "horizontalPlacement", "disablePortal", "escapeWithReference", "height", "filterContentProps"];
|
|
3
|
+
const _excluded = ["className", "id", "name", "required", "disabled", "label", "aria-label", "aria-labelledby", "description", "aria-describedby", "onChange", "onCancel", "onClear", "status", "statusMessage", "labels", "defaultValue", "value", "filters", "horizontalPlacement", "disablePortal", "escapeWithReference", "height", "filterContentProps"];
|
|
4
4
|
import "core-js/modules/web.dom-collections.iterator.js";
|
|
5
5
|
import React from "react";
|
|
6
6
|
import clsx from "clsx";
|
|
@@ -37,6 +37,7 @@ const HvFilterGroup = _ref => {
|
|
|
37
37
|
status,
|
|
38
38
|
statusMessage,
|
|
39
39
|
labels: labelsProp,
|
|
40
|
+
defaultValue,
|
|
40
41
|
value,
|
|
41
42
|
filters,
|
|
42
43
|
horizontalPlacement = "right",
|
|
@@ -75,6 +76,7 @@ const HvFilterGroup = _ref => {
|
|
|
75
76
|
id: setId(elementId, "description"),
|
|
76
77
|
className: classes.description
|
|
77
78
|
}, description)), /*#__PURE__*/React.createElement(FilterGroupProvider, {
|
|
79
|
+
defaultValue: defaultValue,
|
|
78
80
|
value: value,
|
|
79
81
|
filters: filters
|
|
80
82
|
}, /*#__PURE__*/React.createElement(FilterContent, _extends({
|
|
@@ -235,6 +237,12 @@ process.env.NODE_ENV !== "production" ? HvFilterGroup.propTypes = {
|
|
|
235
237
|
})).isRequired
|
|
236
238
|
})).isRequired,
|
|
237
239
|
|
|
240
|
+
/**
|
|
241
|
+
* The default value of the filter group.
|
|
242
|
+
* If defined the clear action will reset to it.
|
|
243
|
+
*/
|
|
244
|
+
defaultValue: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number]))),
|
|
245
|
+
|
|
238
246
|
/**
|
|
239
247
|
* The value of the filter group.
|
|
240
248
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/FilterGroup/FilterGroup.js"],"names":["React","clsx","PropTypes","FilterGroupProvider","FilterContent","useStyles","setId","useLabels","useUniqueId","useControlled","HvFormElement","HvLabel","HvWarningText","HvInfoMessage","DEFAULT_LABELS","applyLabel","cancelLabel","clearLabel","placeholder","searchBoxPlaceholder","selectAll","multiSelectionConjunction","HvFilterGroup","className","id","name","required","disabled","label","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","onCancel","onClear","status","statusMessage","labels","labelsProp","value","filters","horizontalPlacement","disablePortal","escapeWithReference","height","filterContentProps","others","classes","validationMessage","elementId","hasLabel","hasDescription","canShowError","undefined","root","labelContainer","error","propTypes","string","node","bool","oneOf","func","shape","arrayOf","isRequired","data","oneOfType","number","object","expanded"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { FilterGroupProvider } from \"./FilterGroupContext\";\nimport FilterContent from \"./FilterContent\";\nimport useStyles from \"./styles\";\nimport {\n setId,\n useLabels,\n useUniqueId,\n useControlled,\n HvFormElement,\n HvLabel,\n HvWarningText,\n HvInfoMessage,\n} from \"..\";\n\nconst DEFAULT_LABELS = {\n applyLabel: \"Apply\",\n cancelLabel: \"Cancel\",\n clearLabel: \"Clear Filters\",\n placeholder: \"Filters\",\n searchBoxPlaceholder: \"Search\",\n selectAll: \"All\",\n multiSelectionConjunction: \"/\",\n};\n\nconst HvFilterGroup = ({\n className,\n\n id,\n name,\n\n required = false,\n disabled = false,\n\n label,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n\n onChange,\n onCancel,\n onClear,\n\n status,\n statusMessage,\n\n labels: labelsProp,\n\n value,\n filters,\n\n horizontalPlacement = \"right\",\n disablePortal = true,\n escapeWithReference = true,\n\n height = 350,\n filterContentProps,\n\n ...others\n}) => {\n const classes = useStyles();\n\n const [validationMessage] = useControlled(statusMessage, \"Required\");\n\n const elementId = useUniqueId(id, \"hvfiltergroup\");\n\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const hasLabel = label != null;\n const hasDescription = description != null;\n\n // error message area will only be needed if the status is being controlled\n // or if required is true\n const canShowError = status !== undefined || required;\n\n return (\n <HvFormElement\n id={id}\n name={name}\n value={value}\n status={status}\n disabled={disabled}\n required={required}\n className={clsx(className, classes.root)}\n {...others}\n >\n {(hasLabel || hasDescription) && (\n <div className={classes.labelContainer}>\n {hasLabel && (\n <HvLabel\n id={setId(elementId, \"label\")}\n htmlFor={setId(elementId, \"input\")}\n label={label}\n className={classes.label}\n />\n )}\n\n {hasDescription && (\n <HvInfoMessage id={setId(elementId, \"description\")} className={classes.description}>\n {description}\n </HvInfoMessage>\n )}\n </div>\n )}\n <FilterGroupProvider value={value} filters={filters}>\n <FilterContent\n id={elementId}\n disabled={disabled}\n disablePortal={disablePortal}\n variableWidth\n placement={horizontalPlacement}\n escapeWithReference={escapeWithReference}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n status={status}\n onChange={onChange}\n onCancel={onCancel}\n onClear={onClear}\n labels={labels}\n height={height}\n {...filterContentProps}\n />\n {canShowError && (\n <HvWarningText id={setId(elementId, \"error\")} disableBorder className={classes.error}>\n {validationMessage}\n </HvWarningText>\n )}\n </FilterGroupProvider>\n </HvFormElement>\n );\n};\n\nHvFilterGroup.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n\n /**\n * Id to be applied to the form element root node.\n */\n id: PropTypes.string,\n\n /**\n * The form element name.\n */\n name: PropTypes.string,\n\n /**\n * The label of the form element.\n *\n * The form element must be labeled for accessibility reasons.\n * If not provided, an aria-label or aria-labelledby must be provided instead.\n */\n label: PropTypes.node,\n /**\n * @ignore\n */\n \"aria-label\": PropTypes.string,\n /**\n * @ignore\n */\n \"aria-labelledby\": PropTypes.string,\n /**\n * Provide additional descriptive text for the form element.\n */\n description: PropTypes.node,\n /**\n * @ignore\n */\n \"aria-describedby\": PropTypes.string,\n\n /**\n * Indicates that the form element is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * Indicates that user input is required on the form element.\n */\n required: PropTypes.bool,\n\n /**\n * The status of the form element.\n *\n * Valid is correct, invalid is incorrect and standBy means no validations have run.\n *\n * When uncontrolled and unspecified it will default to \"standBy\" and change to either \"valid\"\n * or \"invalid\" after any change to the state.\n */\n status: PropTypes.oneOf([\"standBy\", \"valid\", \"invalid\"]),\n /**\n * The error message to show when `status` is \"invalid\". Defaults to \"Required\".\n */\n statusMessage: PropTypes.node,\n\n /**\n * The callback fired when the value changes.\n */\n onChange: PropTypes.func,\n\n /**\n * The callback fired when the cancel button is clicked.\n */\n onCancel: PropTypes.func,\n\n /**\n * The callback fired when the clear filters button is clicked.\n */\n onClear: PropTypes.func,\n\n /**\n * An object containing all the labels for the Filter Group.\n */\n labels: PropTypes.shape({\n /**\n * Apply button label.\n */\n applyLabel: PropTypes.string,\n /**\n * Cancel button label.\n */\n cancelLabel: PropTypes.string,\n /**\n * Clear Filters button label.\n */\n clearLabel: PropTypes.string,\n /**\n * Placeholder label.\n */\n placeholder: PropTypes.string,\n /**\n * SearchBox placeholder label.\n */\n searchBoxPlaceholder: PropTypes.string,\n /**\n * Select All placeholder label.\n */\n selectAll: PropTypes.string,\n /**\n * Multi selection conjunction placeholder label.\n */\n multiSelectionConjunction: PropTypes.string,\n }),\n\n /**\n * The options of the filter group.\n */\n filters: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n data: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n name: PropTypes.string.isRequired,\n })\n ).isRequired,\n })\n ).isRequired,\n\n /**\n * The value of the filter group.\n */\n value: PropTypes.arrayOf(\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number]))\n ),\n /**\n * The placement where the filter group should be placed according to the input. Options are `left` or `right`.\n */\n horizontalPlacement: PropTypes.oneOf([\"left\", \"right\"]),\n\n /**\n * Disable the portal behavior. The children stay within it's parent DOM hierarchy.\n */\n disablePortal: PropTypes.bool,\n /**\n * Sets if the filter container should be out of the screen or stay visible.\n */\n escapeWithReference: PropTypes.bool,\n\n /**\n * The Height of the filter panel, between 295 and 425. Defaults to 350\n */\n height: PropTypes.oneOf([PropTypes.number, PropTypes.string]),\n\n /**\n * The filter content props\n */\n filterContentProps: PropTypes.object,\n\n /**\n * If `true` the filter group starts opened if `false` it starts closed.\n */\n expanded: PropTypes.bool,\n};\n\nexport default HvFilterGroup;\n"],"file":"FilterGroup.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/FilterGroup/FilterGroup.js"],"names":["React","clsx","PropTypes","FilterGroupProvider","FilterContent","useStyles","setId","useLabels","useUniqueId","useControlled","HvFormElement","HvLabel","HvWarningText","HvInfoMessage","DEFAULT_LABELS","applyLabel","cancelLabel","clearLabel","placeholder","searchBoxPlaceholder","selectAll","multiSelectionConjunction","HvFilterGroup","className","id","name","required","disabled","label","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","onCancel","onClear","status","statusMessage","labels","labelsProp","defaultValue","value","filters","horizontalPlacement","disablePortal","escapeWithReference","height","filterContentProps","others","classes","validationMessage","elementId","hasLabel","hasDescription","canShowError","undefined","root","labelContainer","error","propTypes","string","node","bool","oneOf","func","shape","arrayOf","isRequired","data","oneOfType","number","object","expanded"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { FilterGroupProvider } from \"./FilterGroupContext\";\nimport FilterContent from \"./FilterContent\";\nimport useStyles from \"./styles\";\nimport {\n setId,\n useLabels,\n useUniqueId,\n useControlled,\n HvFormElement,\n HvLabel,\n HvWarningText,\n HvInfoMessage,\n} from \"..\";\n\nconst DEFAULT_LABELS = {\n applyLabel: \"Apply\",\n cancelLabel: \"Cancel\",\n clearLabel: \"Clear Filters\",\n placeholder: \"Filters\",\n searchBoxPlaceholder: \"Search\",\n selectAll: \"All\",\n multiSelectionConjunction: \"/\",\n};\n\nconst HvFilterGroup = ({\n className,\n\n id,\n name,\n\n required = false,\n disabled = false,\n\n label,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n\n onChange,\n onCancel,\n onClear,\n\n status,\n statusMessage,\n\n labels: labelsProp,\n\n defaultValue,\n value,\n filters,\n\n horizontalPlacement = \"right\",\n disablePortal = true,\n escapeWithReference = true,\n\n height = 350,\n filterContentProps,\n\n ...others\n}) => {\n const classes = useStyles();\n\n const [validationMessage] = useControlled(statusMessage, \"Required\");\n\n const elementId = useUniqueId(id, \"hvfiltergroup\");\n\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const hasLabel = label != null;\n const hasDescription = description != null;\n\n // error message area will only be needed if the status is being controlled\n // or if required is true\n const canShowError = status !== undefined || required;\n\n return (\n <HvFormElement\n id={id}\n name={name}\n value={value}\n status={status}\n disabled={disabled}\n required={required}\n className={clsx(className, classes.root)}\n {...others}\n >\n {(hasLabel || hasDescription) && (\n <div className={classes.labelContainer}>\n {hasLabel && (\n <HvLabel\n id={setId(elementId, \"label\")}\n htmlFor={setId(elementId, \"input\")}\n label={label}\n className={classes.label}\n />\n )}\n\n {hasDescription && (\n <HvInfoMessage id={setId(elementId, \"description\")} className={classes.description}>\n {description}\n </HvInfoMessage>\n )}\n </div>\n )}\n <FilterGroupProvider defaultValue={defaultValue} value={value} filters={filters}>\n <FilterContent\n id={elementId}\n disabled={disabled}\n disablePortal={disablePortal}\n variableWidth\n placement={horizontalPlacement}\n escapeWithReference={escapeWithReference}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n status={status}\n onChange={onChange}\n onCancel={onCancel}\n onClear={onClear}\n labels={labels}\n height={height}\n {...filterContentProps}\n />\n {canShowError && (\n <HvWarningText id={setId(elementId, \"error\")} disableBorder className={classes.error}>\n {validationMessage}\n </HvWarningText>\n )}\n </FilterGroupProvider>\n </HvFormElement>\n );\n};\n\nHvFilterGroup.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n\n /**\n * Id to be applied to the form element root node.\n */\n id: PropTypes.string,\n\n /**\n * The form element name.\n */\n name: PropTypes.string,\n\n /**\n * The label of the form element.\n *\n * The form element must be labeled for accessibility reasons.\n * If not provided, an aria-label or aria-labelledby must be provided instead.\n */\n label: PropTypes.node,\n /**\n * @ignore\n */\n \"aria-label\": PropTypes.string,\n /**\n * @ignore\n */\n \"aria-labelledby\": PropTypes.string,\n /**\n * Provide additional descriptive text for the form element.\n */\n description: PropTypes.node,\n /**\n * @ignore\n */\n \"aria-describedby\": PropTypes.string,\n\n /**\n * Indicates that the form element is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * Indicates that user input is required on the form element.\n */\n required: PropTypes.bool,\n\n /**\n * The status of the form element.\n *\n * Valid is correct, invalid is incorrect and standBy means no validations have run.\n *\n * When uncontrolled and unspecified it will default to \"standBy\" and change to either \"valid\"\n * or \"invalid\" after any change to the state.\n */\n status: PropTypes.oneOf([\"standBy\", \"valid\", \"invalid\"]),\n /**\n * The error message to show when `status` is \"invalid\". Defaults to \"Required\".\n */\n statusMessage: PropTypes.node,\n\n /**\n * The callback fired when the value changes.\n */\n onChange: PropTypes.func,\n\n /**\n * The callback fired when the cancel button is clicked.\n */\n onCancel: PropTypes.func,\n\n /**\n * The callback fired when the clear filters button is clicked.\n */\n onClear: PropTypes.func,\n\n /**\n * An object containing all the labels for the Filter Group.\n */\n labels: PropTypes.shape({\n /**\n * Apply button label.\n */\n applyLabel: PropTypes.string,\n /**\n * Cancel button label.\n */\n cancelLabel: PropTypes.string,\n /**\n * Clear Filters button label.\n */\n clearLabel: PropTypes.string,\n /**\n * Placeholder label.\n */\n placeholder: PropTypes.string,\n /**\n * SearchBox placeholder label.\n */\n searchBoxPlaceholder: PropTypes.string,\n /**\n * Select All placeholder label.\n */\n selectAll: PropTypes.string,\n /**\n * Multi selection conjunction placeholder label.\n */\n multiSelectionConjunction: PropTypes.string,\n }),\n\n /**\n * The options of the filter group.\n */\n filters: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n data: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n name: PropTypes.string.isRequired,\n })\n ).isRequired,\n })\n ).isRequired,\n\n /**\n * The default value of the filter group.\n * If defined the clear action will reset to it.\n */\n defaultValue: PropTypes.arrayOf(\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number]))\n ),\n\n /**\n * The value of the filter group.\n */\n value: PropTypes.arrayOf(\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number]))\n ),\n\n /**\n * The placement where the filter group should be placed according to the input. Options are `left` or `right`.\n */\n horizontalPlacement: PropTypes.oneOf([\"left\", \"right\"]),\n\n /**\n * Disable the portal behavior. The children stay within it's parent DOM hierarchy.\n */\n disablePortal: PropTypes.bool,\n /**\n * Sets if the filter container should be out of the screen or stay visible.\n */\n escapeWithReference: PropTypes.bool,\n\n /**\n * The Height of the filter panel, between 295 and 425. Defaults to 350\n */\n height: PropTypes.oneOf([PropTypes.number, PropTypes.string]),\n\n /**\n * The filter content props\n */\n filterContentProps: PropTypes.object,\n\n /**\n * If `true` the filter group starts opened if `false` it starts closed.\n */\n expanded: PropTypes.bool,\n};\n\nexport default HvFilterGroup;\n"],"file":"FilterGroup.js"}
|
|
@@ -19,6 +19,7 @@ export const FilterGroupContext = /*#__PURE__*/React.createContext({
|
|
|
19
19
|
const groups = filters => filters.map(() => []);
|
|
20
20
|
|
|
21
21
|
export const FilterGroupProvider = ({
|
|
22
|
+
defaultValue,
|
|
22
23
|
value,
|
|
23
24
|
filters,
|
|
24
25
|
children
|
|
@@ -26,12 +27,15 @@ export const FilterGroupProvider = ({
|
|
|
26
27
|
const [group, setActiveGroup] = useState(0);
|
|
27
28
|
const [filterValues, setFilterValues, rollbackFilters, appliedFilters] = useSavedState(value || groups(filters));
|
|
28
29
|
const [applyDisabled, setApplyDisabled] = useState(false);
|
|
30
|
+
useEffect(() => {
|
|
31
|
+
setFilterValues(value, true);
|
|
32
|
+
}, [value, setFilterValues]);
|
|
29
33
|
useEffect(() => {
|
|
30
34
|
setApplyDisabled(isEqual(filterValues, appliedFilters));
|
|
31
35
|
}, [filterValues, appliedFilters]);
|
|
32
36
|
const clearFilters = useCallback(() => {
|
|
33
|
-
setFilterValues(groups(filters));
|
|
34
|
-
}, [filters, setFilterValues]);
|
|
37
|
+
setFilterValues(defaultValue || groups(filters));
|
|
38
|
+
}, [filters, setFilterValues, defaultValue]);
|
|
35
39
|
const applyFilters = useCallback(() => {
|
|
36
40
|
setFilterValues(filterValues, true);
|
|
37
41
|
}, [filterValues, setFilterValues]);
|
|
@@ -45,13 +49,15 @@ export const FilterGroupProvider = ({
|
|
|
45
49
|
rollbackFilters,
|
|
46
50
|
clearFilters,
|
|
47
51
|
applyFilters,
|
|
48
|
-
applyDisabled
|
|
49
|
-
|
|
52
|
+
applyDisabled,
|
|
53
|
+
defaultValue
|
|
54
|
+
}), [appliedFilters, applyDisabled, applyFilters, clearFilters, filterValues, filters, group, rollbackFilters, setFilterValues, defaultValue]);
|
|
50
55
|
return /*#__PURE__*/React.createElement(FilterGroupContext.Provider, {
|
|
51
56
|
value: contextValue
|
|
52
57
|
}, children);
|
|
53
58
|
};
|
|
54
59
|
process.env.NODE_ENV !== "production" ? FilterGroupProvider.propTypes = {
|
|
60
|
+
defaultValue: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number]))),
|
|
55
61
|
value: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number]))),
|
|
56
62
|
filters: PropTypes.arrayOf(PropTypes.shape({
|
|
57
63
|
id: PropTypes.string.isRequired,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/FilterGroup/FilterGroupContext.js"],"names":["React","useState","useEffect","useMemo","useCallback","PropTypes","isEqual","useSavedState","FilterGroupContext","createContext","activeGroup","setActiveGroup","filterOptions","setFilterOptions","filterValues","setFilterValues","rollbackFilters","clearFilters","applyFilters","applyDisabled","groups","filters","map","FilterGroupProvider","value","children","group","appliedFilters","setApplyDisabled","contextValue","propTypes","arrayOf","oneOfType","string","number","shape","id","isRequired","name","data","node"],"mappings":";AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,EAAqCC,OAArC,EAA8CC,WAA9C,QAAiE,OAAjE;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,OAAP,MAAoB,gBAApB;AACA,SAASC,aAAT,QAA8B,UAA9B;AAEA,OAAO,MAAMC,kBAAkB,gBAAGR,KAAK,CAACS,aAAN,CAAoB;AACpDC,EAAAA,WAAW,EAAE,CADuC;AAEpDC,EAAAA,cAAc,EAAE,MAAM,CAAE,CAF4B;AAGpDC,EAAAA,aAAa,EAAE,EAHqC;AAIpDC,EAAAA,gBAAgB,EAAE,MAAM,CAAE,CAJ0B;AAKpDC,EAAAA,YAAY,EAAE,EALsC;AAMpDC,EAAAA,eAAe,EAAE,MAAM,CAAE,CAN2B;AAOpDC,EAAAA,eAAe,EAAE,MAAM,CAAE,CAP2B;AAQpDC,EAAAA,YAAY,EAAE,MAAM,CAAE,CAR8B;AASpDC,EAAAA,YAAY,EAAE,MAAM,CAAE,CAT8B;AAUpDC,EAAAA,aAAa,EAAE;AAVqC,CAApB,CAA3B;;AAaP,MAAMC,MAAM,GAAIC,OAAD,IAAaA,OAAO,CAACC,GAAR,CAAY,MAAM,EAAlB,CAA5B;;AAEA,OAAO,MAAMC,mBAAmB,GAAG,CAAC;AAAEC,EAAAA,
|
|
1
|
+
{"version":3,"sources":["../../../src/FilterGroup/FilterGroupContext.js"],"names":["React","useState","useEffect","useMemo","useCallback","PropTypes","isEqual","useSavedState","FilterGroupContext","createContext","activeGroup","setActiveGroup","filterOptions","setFilterOptions","filterValues","setFilterValues","rollbackFilters","clearFilters","applyFilters","applyDisabled","groups","filters","map","FilterGroupProvider","defaultValue","value","children","group","appliedFilters","setApplyDisabled","contextValue","propTypes","arrayOf","oneOfType","string","number","shape","id","isRequired","name","data","node"],"mappings":"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","sourcesContent":["import React, { useState, useEffect, useMemo, useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport isEqual from \"lodash/isEqual\";\nimport { useSavedState } from \"../utils\";\n\nexport const FilterGroupContext = React.createContext({\n activeGroup: 0,\n setActiveGroup: () => {},\n filterOptions: [],\n setFilterOptions: () => {},\n filterValues: [],\n setFilterValues: () => {},\n rollbackFilters: () => {},\n clearFilters: () => {},\n applyFilters: () => {},\n applyDisabled: false,\n});\n\nconst groups = (filters) => filters.map(() => []);\n\nexport const FilterGroupProvider = ({ defaultValue, value, filters, children }) => {\n const [group, setActiveGroup] = useState(0);\n const [filterValues, setFilterValues, rollbackFilters, appliedFilters] = useSavedState(\n value || groups(filters)\n );\n const [applyDisabled, setApplyDisabled] = useState(false);\n\n useEffect(() => {\n setFilterValues(value, true);\n }, [value, setFilterValues]);\n\n useEffect(() => {\n setApplyDisabled(isEqual(filterValues, appliedFilters));\n }, [filterValues, appliedFilters]);\n\n const clearFilters = useCallback(() => {\n setFilterValues(defaultValue || groups(filters));\n }, [filters, setFilterValues, defaultValue]);\n\n const applyFilters = useCallback(() => {\n setFilterValues(filterValues, true);\n }, [filterValues, setFilterValues]);\n\n const contextValue = useMemo(\n () => ({\n activeGroup: group,\n setActiveGroup,\n filterOptions: filters,\n filterValues,\n setFilterValues,\n appliedFilters,\n rollbackFilters,\n clearFilters,\n applyFilters,\n applyDisabled,\n defaultValue,\n }),\n [\n appliedFilters,\n applyDisabled,\n applyFilters,\n clearFilters,\n filterValues,\n filters,\n group,\n rollbackFilters,\n setFilterValues,\n defaultValue,\n ]\n );\n\n return <FilterGroupContext.Provider value={contextValue}>{children}</FilterGroupContext.Provider>;\n};\n\nFilterGroupProvider.propTypes = {\n defaultValue: PropTypes.arrayOf(\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number]))\n ),\n value: PropTypes.arrayOf(\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number]))\n ),\n filters: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n data: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n name: PropTypes.string.isRequired,\n })\n ).isRequired,\n })\n ),\n children: PropTypes.node.isRequired,\n};\n"],"file":"FilterGroupContext.js"}
|
|
@@ -4,9 +4,9 @@ export type HvOverflowTooltipKey = "tooltipData" | "tooltipAnchor" | "tooltipAnc
|
|
|
4
4
|
|
|
5
5
|
export interface HvOverflowTooltipProps
|
|
6
6
|
extends StandardProps<React.HTMLAttributes<HTMLElement>, HvOverflowTooltipKey> {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Id to be applied to the tooltip.
|
|
9
|
+
*/
|
|
10
10
|
id?: string;
|
|
11
11
|
/**
|
|
12
12
|
* The node that will be rendered inside the tooltip.
|
|
@@ -20,9 +20,29 @@ export interface HvOverflowTooltipProps
|
|
|
20
20
|
* If `true` the overflow tooltip will always use the paragraph overflow style.
|
|
21
21
|
*/
|
|
22
22
|
paragraphOverflow?: boolean;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
/**
|
|
24
|
+
* If true, the tooltip is shown.
|
|
25
|
+
*/
|
|
26
|
+
open?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Tooltip placement.
|
|
29
|
+
*/
|
|
30
|
+
placement?:
|
|
31
|
+
| 'bottom-end'
|
|
32
|
+
| 'bottom-start'
|
|
33
|
+
| 'bottom'
|
|
34
|
+
| 'left-end'
|
|
35
|
+
| 'left-start'
|
|
36
|
+
| 'left'
|
|
37
|
+
| 'right-end'
|
|
38
|
+
| 'right-start'
|
|
39
|
+
| 'right'
|
|
40
|
+
| 'top-end'
|
|
41
|
+
| 'top-start'
|
|
42
|
+
| 'top';
|
|
43
|
+
/**
|
|
44
|
+
* Extra properties to add to the tooltip.
|
|
45
|
+
*/
|
|
26
46
|
tooltipsProps?: TooltipProps;
|
|
27
47
|
}
|
|
28
48
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import React from "react";
|
|
2
|
+
import React, { useMemo } from "react";
|
|
3
3
|
import clsx from "clsx";
|
|
4
4
|
import PropTypes from "prop-types";
|
|
5
5
|
import { useResizeDetector } from "react-resize-detector";
|
|
@@ -31,7 +31,9 @@ const HvOverflowTooltip = ({
|
|
|
31
31
|
className,
|
|
32
32
|
classes,
|
|
33
33
|
data,
|
|
34
|
+
open,
|
|
34
35
|
paragraphOverflow,
|
|
36
|
+
placement = "top-start",
|
|
35
37
|
tooltipsProps
|
|
36
38
|
}) => {
|
|
37
39
|
var _ref$current;
|
|
@@ -46,20 +48,24 @@ const HvOverflowTooltip = ({
|
|
|
46
48
|
},
|
|
47
49
|
handleHeight: false
|
|
48
50
|
});
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
|
|
51
|
+
const scrollWidth = ((_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.scrollWidth) || 0; // The difference should be higher than a pixel to be considered as overflowing
|
|
52
|
+
|
|
53
|
+
const isOverflowing = scrollWidth - width >= 1;
|
|
54
|
+
const isParag = useMemo(() => paragraphOverflow && isParagraph(data.toString()), [data, paragraphOverflow]);
|
|
55
|
+
const content = useMemo(() => /*#__PURE__*/React.createElement("div", {
|
|
56
|
+
ref: ref,
|
|
57
|
+
className: clsx(className, isParag ? classes.tooltipAnchorParagraph : classes.tooltipAnchor)
|
|
58
|
+
}, data), [className, classes.tooltipAnchor, classes.tooltipAnchorParagraph, data, isParag, ref]);
|
|
59
|
+
return open || isOverflowing ? /*#__PURE__*/React.createElement(HvTooltip, _extends({
|
|
52
60
|
id: id,
|
|
53
61
|
disableHoverListener: !isOverflowing,
|
|
54
|
-
|
|
62
|
+
open: open,
|
|
63
|
+
placement: placement,
|
|
55
64
|
title: /*#__PURE__*/React.createElement(HvTypography, {
|
|
56
65
|
className: classes.tooltipData,
|
|
57
66
|
variant: "normalText"
|
|
58
67
|
}, data)
|
|
59
|
-
}, tooltipsProps),
|
|
60
|
-
ref: ref,
|
|
61
|
-
className: clsx(className, isParag ? classes.tooltipAnchorParagraph : classes.tooltipAnchor)
|
|
62
|
-
}, data));
|
|
68
|
+
}, tooltipsProps), content) : content;
|
|
63
69
|
};
|
|
64
70
|
|
|
65
71
|
process.env.NODE_ENV !== "production" ? HvOverflowTooltip.propTypes = {
|
|
@@ -108,6 +114,16 @@ process.env.NODE_ENV !== "production" ? HvOverflowTooltip.propTypes = {
|
|
|
108
114
|
*/
|
|
109
115
|
paragraphOverflow: PropTypes.bool,
|
|
110
116
|
|
|
117
|
+
/**
|
|
118
|
+
* Tooltip placement.
|
|
119
|
+
*/
|
|
120
|
+
placement: PropTypes.oneOf(["bottom-end", "bottom-start", "bottom", "left-end", "left-start", "left", "right-end", "right-start", "right", "top-end", "top-start", "top"]),
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* If true, the tooltip is shown.
|
|
124
|
+
*/
|
|
125
|
+
open: PropTypes.bool,
|
|
126
|
+
|
|
111
127
|
/**
|
|
112
128
|
* Extra properties to add to the tooltip.
|
|
113
129
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/OverflowTooltip/OverflowTooltip.js"],"names":["React","clsx","PropTypes","useResizeDetector","createStyles","withStyles","HvTooltip","HvTypography","styles","tooltipData","tooltipAnchor","whiteSpace","overflow","textOverflow","tooltipAnchorParagraph","display","isParagraph","children","test","HvOverflowTooltip","id","className","classes","data","paragraphOverflow","tooltipsProps","width","ref","refreshMode","refreshOptions","trailing","handleHeight","
|
|
1
|
+
{"version":3,"sources":["../../../src/OverflowTooltip/OverflowTooltip.js"],"names":["React","useMemo","clsx","PropTypes","useResizeDetector","createStyles","withStyles","HvTooltip","HvTypography","styles","tooltipData","tooltipAnchor","whiteSpace","overflow","textOverflow","tooltipAnchorParagraph","display","isParagraph","children","test","HvOverflowTooltip","id","className","classes","data","open","paragraphOverflow","placement","tooltipsProps","width","ref","refreshMode","refreshOptions","trailing","handleHeight","scrollWidth","current","isOverflowing","isParag","toString","content","propTypes","string","node","shape","root","isRequired","bool","oneOf","instanceOf","Object","name","memo","RawOverflowTooltip"],"mappings":"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","sourcesContent":["import React, { useMemo } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { useResizeDetector } from \"react-resize-detector\";\n\nimport { createStyles, withStyles } from \"@material-ui/core\";\n\nimport { HvTooltip, HvTypography } from \"..\";\n\nconst styles = createStyles({\n tooltipData: {},\n tooltipAnchor: {\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n },\n tooltipAnchorParagraph: {\n overflow: \"hidden\",\n display: \"-webkit-box\",\n \"-webkit-line-clamp\": 2,\n \"-webkit-box-orient\": \"vertical\",\n },\n});\n\nconst isParagraph = (children) => /\\s/.test(children);\n\n/**\n * This component generates a tooltip whenever the text is overflowed.\n */\nconst HvOverflowTooltip = ({\n id,\n className,\n classes,\n data,\n open,\n paragraphOverflow,\n placement = \"top-start\",\n tooltipsProps,\n}) => {\n const { width = 0, ref } = useResizeDetector({\n refreshMode: \"debounce\",\n refreshOptions: {\n trailing: true,\n },\n handleHeight: false,\n });\n const scrollWidth = ref.current?.scrollWidth || 0;\n // The difference should be higher than a pixel to be considered as overflowing\n const isOverflowing = scrollWidth - width >= 1;\n\n const isParag = useMemo(\n () => paragraphOverflow && isParagraph(data.toString()),\n [data, paragraphOverflow]\n );\n\n const content = useMemo(\n () => (\n <div\n ref={ref}\n className={clsx(className, {\n [classes.tooltipAnchor]: !isParag,\n [classes.tooltipAnchorParagraph]: isParag,\n })}\n >\n {data}\n </div>\n ),\n [className, classes.tooltipAnchor, classes.tooltipAnchorParagraph, data, isParag, ref]\n );\n\n return open || isOverflowing ? (\n <HvTooltip\n id={id}\n disableHoverListener={!isOverflowing}\n open={open}\n placement={placement}\n title={\n <HvTypography className={classes.tooltipData} variant=\"normalText\">\n {data}\n </HvTypography>\n }\n {...tooltipsProps}\n >\n {content}\n </HvTooltip>\n ) : (\n content\n );\n};\n\nHvOverflowTooltip.propTypes = {\n /**\n * Id to be applied to the tooltip.\n */\n id: PropTypes.string,\n /**\n * The node that will be rendered inside the tooltip.\n */\n data: PropTypes.node,\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the root of the component.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the data container in the tooltip.\n */\n tooltipData: PropTypes.string,\n /**\n * Styles applied to the anchor of the tooltip.\n */\n tooltipAnchor: PropTypes.string,\n /**\n * Styles applied to the anchor of the when it is a paragraph.\n */\n tooltipAnchorParagraph: PropTypes.string,\n }).isRequired,\n /**\n * If `true` the overflow tooltip will always use the paragraph overflow style.\n */\n paragraphOverflow: PropTypes.bool,\n /**\n * Tooltip placement.\n */\n placement: PropTypes.oneOf([\n \"bottom-end\",\n \"bottom-start\",\n \"bottom\",\n \"left-end\",\n \"left-start\",\n \"left\",\n \"right-end\",\n \"right-start\",\n \"right\",\n \"top-end\",\n \"top-start\",\n \"top\",\n ]),\n /**\n * If true, the tooltip is shown.\n */\n open: PropTypes.bool,\n /**\n * Extra properties to add to the tooltip.\n */\n tooltipsProps: PropTypes.instanceOf(Object),\n};\n\nexport default withStyles(styles, {\n name: \"HvOverflowTooltip\",\n})(React.memo(HvOverflowTooltip));\n\nexport { HvOverflowTooltip as RawOverflowTooltip };\n"],"file":"OverflowTooltip.js"}
|
|
@@ -143,18 +143,12 @@ export interface HvTagsInputProps
|
|
|
143
143
|
/**
|
|
144
144
|
* The function that will be executed when the input is blurred.
|
|
145
145
|
*/
|
|
146
|
-
|
|
147
|
-
event: React.FocusEvent<HTMLInputElement>,
|
|
148
|
-
value: string
|
|
149
|
-
) => void;
|
|
146
|
+
onBlur?: (event: React.FocusEvent<HTMLInputElement>, value: string) => void;
|
|
150
147
|
|
|
151
148
|
/**
|
|
152
149
|
* The function that will be executed when the input is focused.
|
|
153
150
|
*/
|
|
154
|
-
|
|
155
|
-
event: React.FocusEvent<HTMLInputElement>,
|
|
156
|
-
value: string
|
|
157
|
-
) => void;
|
|
151
|
+
onFocus?: (event: React.FocusEvent<HTMLInputElement>, value: string) => void;
|
|
158
152
|
|
|
159
153
|
/**
|
|
160
154
|
* The status of the form element.
|
|
@@ -169,6 +163,16 @@ export interface HvTagsInputProps
|
|
|
169
163
|
* An Object containing the various texts associated with the input.
|
|
170
164
|
*/
|
|
171
165
|
validationMessages?: HvBaseInputValidationMessagesProps;
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* An array of strings that represent the character used to input a tag.
|
|
169
|
+
* This character is the string representation of the event.code from the input event.
|
|
170
|
+
*/
|
|
171
|
+
commitTagOn?: string[];
|
|
172
|
+
/**
|
|
173
|
+
* If `true` the tag will be commited when the blur event occurs.
|
|
174
|
+
*/
|
|
175
|
+
comminOnBlur?: boolean;
|
|
172
176
|
}
|
|
173
177
|
|
|
174
178
|
export default function HvTagsInput(props: HvTagsInputProps): JSX.Element | null;
|