@hitachivantara/uikit-react-lab 3.48.1 → 3.49.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/dist/AppSwitcherPanel/Action/Action.js.map +1 -1
  2. package/dist/AppSwitcherPanel/AppSwitcherPanel.js.map +1 -1
  3. package/dist/AppSwitcherPanel/TitleWithTooltip.js.map +1 -1
  4. package/dist/ColorPicker/ColorPicker.js.map +1 -1
  5. package/dist/ColorPicker/Fields/Fields.js.map +1 -1
  6. package/dist/ColorPicker/Fields/styles.js.map +1 -1
  7. package/dist/ColorPicker/Picker/Picker.js.map +1 -1
  8. package/dist/ColorPicker/Picker/styles.js.map +1 -1
  9. package/dist/ColorPicker/PresetColors/PresetColors.js.map +1 -1
  10. package/dist/ColorPicker/PresetColors/styles.js.map +1 -1
  11. package/dist/Controls/Controls.js.map +1 -1
  12. package/dist/Controls/LeftControl/LeftControl.js.map +1 -1
  13. package/dist/Controls/RightControl/RightControl.js.map +1 -1
  14. package/dist/Controls/context/ControlsContext.js.map +1 -1
  15. package/dist/DotPagination/DotPagination.js.map +1 -1
  16. package/dist/Drawer/Drawer.js.map +1 -1
  17. package/dist/Drawer/styles.js.map +1 -1
  18. package/dist/FormComposer/FormComposer.js.map +1 -1
  19. package/dist/InlineEditor/InlineEditor.js.map +1 -1
  20. package/dist/NavigationAnchors/NavigationAnchors.js.map +1 -1
  21. package/dist/NavigationAnchors/NavigationOption.js.map +1 -1
  22. package/dist/NotificationPanel/EmptyStatePanel/EmptyStatePanel.js.map +1 -1
  23. package/dist/NotificationPanel/Notification/Notification.js.map +1 -1
  24. package/dist/NotificationPanel/NotificationPanel.js.map +1 -1
  25. package/dist/NotificationPanel/NotificationsIndicator/NotificationsIndicator.js.map +1 -1
  26. package/dist/ProgressBar/ProgressBar.js.map +1 -1
  27. package/dist/ProgressBar/ProgressBarSimulator.js.map +1 -1
  28. package/dist/QueryBuilder/ConfirmationDialog/ConfirmationDialog.js.map +1 -1
  29. package/dist/QueryBuilder/ConfirmationDialog/styles.js.map +1 -1
  30. package/dist/QueryBuilder/Context.js.map +1 -1
  31. package/dist/QueryBuilder/QueryBuilder.js.map +1 -1
  32. package/dist/QueryBuilder/Rule/Attribute/Attribute.js.map +1 -1
  33. package/dist/QueryBuilder/Rule/Operator/Operator.js.map +1 -1
  34. package/dist/QueryBuilder/Rule/Rule.js +0 -2
  35. package/dist/QueryBuilder/Rule/Rule.js.map +1 -1
  36. package/dist/QueryBuilder/Rule/Value/BooleanValue/BooleanValue.js.map +1 -1
  37. package/dist/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.js.map +1 -1
  38. package/dist/QueryBuilder/Rule/Value/DateTimeValue/styles.js.map +1 -1
  39. package/dist/QueryBuilder/Rule/Value/DateTimeValue/utils.js.map +1 -1
  40. package/dist/QueryBuilder/Rule/Value/NumericValue/NumericValue.js.map +1 -1
  41. package/dist/QueryBuilder/Rule/Value/NumericValue/styles.js.map +1 -1
  42. package/dist/QueryBuilder/Rule/Value/TextValue/TextValue.js.map +1 -1
  43. package/dist/QueryBuilder/Rule/Value/TextValue/styles.js.map +1 -1
  44. package/dist/QueryBuilder/Rule/Value/Value.js.map +1 -1
  45. package/dist/QueryBuilder/Rule/styles.js.map +1 -1
  46. package/dist/QueryBuilder/RuleGroup/RuleGroup.js +6 -2
  47. package/dist/QueryBuilder/RuleGroup/RuleGroup.js.map +1 -1
  48. package/dist/QueryBuilder/{types.ts → types.d.ts} +1 -1
  49. package/dist/QueryBuilder/utils/date.js.map +1 -1
  50. package/dist/QueryBuilder/utils/reducer.js.map +1 -1
  51. package/dist/Slider/KnobRing/KnobRing.js.map +1 -1
  52. package/dist/Slider/KnobRing/index.js.map +1 -1
  53. package/dist/Slider/Slider.js.map +1 -1
  54. package/dist/Table/Table.js.map +1 -1
  55. package/dist/Table/TableBody/TableBody.js.map +1 -1
  56. package/dist/Table/TableCell/TableCell.js.map +1 -1
  57. package/dist/Table/TableCell/styles.js.map +1 -1
  58. package/dist/Table/TableContainer/TableContainer.js.map +1 -1
  59. package/dist/Table/TableContext.js.map +1 -1
  60. package/dist/Table/TableHead/TableHead.js.map +1 -1
  61. package/dist/Table/TableHeader/TableHeader.js.map +1 -1
  62. package/dist/Table/TableHeader/styles.js.map +1 -1
  63. package/dist/Table/TableRow/TableRow.js.map +1 -1
  64. package/dist/Table/TableRow/styles.js.map +1 -1
  65. package/dist/Table/TableSectionContext.js.map +1 -1
  66. package/dist/Table/hooks/useBulkActions.js.map +1 -1
  67. package/dist/Table/hooks/usePagination.js.map +1 -1
  68. package/dist/Table/hooks/useResizeColumns.js.map +1 -1
  69. package/dist/Table/hooks/useRowExpand.js.map +1 -1
  70. package/dist/Table/hooks/useRowSelection.js.map +1 -1
  71. package/dist/Table/hooks/useSortBy.js.map +1 -1
  72. package/dist/Table/hooks/useSticky.js.map +1 -1
  73. package/dist/Table/hooks/useTable.js.map +1 -1
  74. package/dist/Table/hooks/useTableStyles.js.map +1 -1
  75. package/dist/Table/renderers/DateColumnCell/DateColumnCell.js.map +1 -1
  76. package/dist/Table/renderers/DropdownColumnCell/DropdownColumnCell.js.map +1 -1
  77. package/dist/Table/renderers/ProgressColumnCell/ProgressColumnCell.js.map +1 -1
  78. package/dist/Table/renderers/ProgressColumnCell/styles.js.map +1 -1
  79. package/dist/Table/renderers/SwitchColumnCell/SwitchColumnCell.js.map +1 -1
  80. package/dist/Table/renderers/SwitchColumnCell/styles.js.map +1 -1
  81. package/dist/Table/renderers/renderers.js.map +1 -1
  82. package/dist/Tag/Tag.js.map +1 -1
  83. package/dist/TimeAgo/TimeAgo.js.map +1 -1
  84. package/dist/TimeAgo/formatUtils.js.map +1 -1
  85. package/dist/TimeAgo/useTimeAgo.js.map +1 -1
  86. package/dist/TimeAgo/useTimeout.js.map +1 -1
  87. package/dist/TimePicker/PeriodPicker/PeriodPicker.js.map +1 -1
  88. package/dist/TimePicker/PeriodPicker/index.js.map +1 -1
  89. package/dist/TimePicker/TimePicker.js.map +1 -1
  90. package/dist/TimePicker/UnitTimePicker/UnitTimePicker.js.map +1 -1
  91. package/dist/TimePicker/UnitTimePicker/index.js.map +1 -1
  92. package/dist/TimePicker/timePickerConverter.js.map +1 -1
  93. package/dist/TimePicker/timePickerFormatter.js.map +1 -1
  94. package/dist/TimePicker/timePickerUtils.js.map +1 -1
  95. package/dist/legacy/QueryBuilder/Rule/Rule.js +0 -2
  96. package/dist/legacy/QueryBuilder/Rule/Rule.js.map +1 -1
  97. package/dist/legacy/QueryBuilder/RuleGroup/RuleGroup.js +6 -2
  98. package/dist/legacy/QueryBuilder/RuleGroup/RuleGroup.js.map +1 -1
  99. package/dist/legacy/QueryBuilder/{types.ts → types.d.ts} +1 -1
  100. package/dist/modern/QueryBuilder/Rule/Rule.js +0 -2
  101. package/dist/modern/QueryBuilder/Rule/Rule.js.map +1 -1
  102. package/dist/modern/QueryBuilder/RuleGroup/RuleGroup.js +6 -2
  103. package/dist/modern/QueryBuilder/RuleGroup/RuleGroup.js.map +1 -1
  104. package/dist/modern/QueryBuilder/{types.ts → types.d.ts} +1 -1
  105. package/dist/withStyleProps/WithStyleProps.js.map +1 -1
  106. package/package.json +22 -28
@@ -1 +1 @@
1
- {"version":3,"file":"FormComposer.js","names":["HvFormComposer","props","groups","componentValues","forEach","group","children","child","name","value","state","originalHandler","undefined","getValues","onChange","newComponentValues","setState","getInitialValuesFromComponents","classes","mainTitle","hasNavigation","hasFooter","footerContent","footerElements","map","i","key","React","cloneElement","onClick","getValuesHandler","navigationOptions","groupedComponents","push","label","title","event","childOnChangeHandler","root","mainContainer","navContainer","componentContainer","footer","Component","propTypes","PropTypes","instanceOf","Object","isRequired","string","arrayOf","node","bool","defaultProps","styles"],"sources":["../../src/FormComposer/FormComposer.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes, { shape } from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\nimport { HvTypography } from \"@hitachivantara/uikit-react-core\";\nimport HvNavigationAnchors from \"../NavigationAnchors\";\nimport styles from \"./styles\";\n\n/**\n * A form composer component used to create a form dynamically, still in development\n */\nclass HvFormComposer extends React.Component {\n constructor(props) {\n super(props);\n\n const { groups } = this.props;\n\n this.state = {\n componentValues: this.getInitialValuesFromComponents(groups),\n };\n }\n\n /**\n * Gets the values that are set on each component inside the groups.\n *\n * @param {Object} groups - Initial group object containing all the component elements.\n * @return {Object} - { key (Component name): value (Value set on the component) }\n */\n getInitialValuesFromComponents = (groups) => {\n const componentValues = {};\n groups.forEach((group) => {\n group.children.forEach((child) => {\n componentValues[child.props.name] = child.props.value;\n });\n });\n\n return componentValues;\n };\n\n /**\n * Gets the values stored in the state of each component.\n */\n getValues = () => {\n const { componentValues } = this.state;\n return componentValues;\n };\n\n /**\n * Handler to retrieve the values.\n *\n * @param {Function} originalHandler - The handler that was originally triggered.\n */\n getValuesHandler = (originalHandler) => {\n if (originalHandler !== undefined && typeof originalHandler === \"function\") {\n originalHandler(this.getValues());\n }\n };\n\n /**\n * Stores the value on the state when a child component onChange event is triggered.\n *\n * @param {*} value - Value that will be stored on the state.\n * @param {string} name - Name of the component.\n * @param {Function} onChange - Original function triggered by the component.\n */\n childOnChangeHandler = (value, name, onChange) => {\n const { componentValues } = this.state;\n\n const newComponentValues = { ...componentValues };\n newComponentValues[name] = value;\n\n this.setState({ componentValues: newComponentValues });\n\n if (onChange !== undefined && typeof onChange === \"function\") {\n return onChange(value);\n }\n // The UI-KIT input forced to have the value explicitly returned on the onChanged function.\n return value;\n };\n\n render() {\n const { classes, mainTitle, groups, hasNavigation, hasFooter, footerContent } = this.props;\n\n const footerElements = footerContent.map((child, i) => {\n const key = `fc-${i}`;\n return React.cloneElement(child, {\n onClick: () => this.getValuesHandler(child.props.onClick),\n key,\n });\n });\n\n const navigationOptions = [];\n\n const groupedComponents = groups.map((group) => {\n navigationOptions.push({ label: group.title, value: group.title });\n\n return (\n <div key={group.title}>\n <HvTypography id={group.title} variant=\"mTitle\">\n {group.title}\n </HvTypography>\n {group.children.map((child, i) => {\n const key = `fc-${group.title}-${i}`;\n return (\n <div key={key}>\n {React.cloneElement(child, {\n onChange: (event, value) =>\n this.childOnChangeHandler(value, child.props.name, child.props.onChange),\n })}\n </div>\n );\n })}\n </div>\n );\n });\n\n return (\n <div className={classes.root}>\n <HvTypography variant=\"xlTitle\" className={classes.title}>\n {mainTitle}\n </HvTypography>\n <div className={classes.mainContainer}>\n {hasNavigation && (\n <div className={classes.navContainer}>\n <HvNavigationAnchors options={navigationOptions} floating={false} />\n </div>\n )}\n <div className={classes.componentContainer}>{groupedComponents}</div>\n </div>\n {hasFooter && <div className={classes.footer}>{footerElements}</div>}\n </div>\n );\n }\n}\n\nHvFormComposer.propTypes = {\n /**\n * A Jss Object used to override or extend the styles applied to the form composer.\n */\n classes: PropTypes.instanceOf(Object).isRequired,\n /**\n * Main title to be displayed.\n */\n mainTitle: PropTypes.string,\n /**\n * The group of component that will be added to the Form composer.\n */\n groups: PropTypes.arrayOf(\n shape({\n title: PropTypes.string,\n children: PropTypes.node,\n })\n ).isRequired,\n /**\n * Shows navigation bar.\n */\n hasNavigation: PropTypes.bool,\n /**\n * Shows footer.\n */\n hasFooter: PropTypes.bool,\n /**\n * Content to be shown on the footer.\n */\n footerContent: PropTypes.node,\n};\n\n/**\n * Default properties.\n */\nHvFormComposer.defaultProps = {\n mainTitle: \"\",\n hasNavigation: false,\n hasFooter: false,\n footerContent: [],\n};\n\nexport default withStyles(styles, { name: \"HvFormComposer\" })(HvFormComposer);\n"],"mappings":"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"}
1
+ {"version":3,"file":"FormComposer.js","names":["HvFormComposer","props","groups","componentValues","forEach","group","children","child","name","value","state","originalHandler","undefined","getValues","onChange","newComponentValues","setState","getInitialValuesFromComponents","classes","mainTitle","hasNavigation","hasFooter","footerContent","footerElements","map","i","key","React","cloneElement","onClick","getValuesHandler","navigationOptions","groupedComponents","push","label","title","event","childOnChangeHandler","root","mainContainer","navContainer","componentContainer","footer","Component","propTypes","PropTypes","instanceOf","Object","isRequired","string","arrayOf","shape","node","bool","defaultProps","withStyles","styles"],"sources":["../../src/FormComposer/FormComposer.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes, { shape } from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\nimport { HvTypography } from \"@hitachivantara/uikit-react-core\";\nimport HvNavigationAnchors from \"../NavigationAnchors\";\nimport styles from \"./styles\";\n\n/**\n * A form composer component used to create a form dynamically, still in development\n */\nclass HvFormComposer extends React.Component {\n constructor(props) {\n super(props);\n\n const { groups } = this.props;\n\n this.state = {\n componentValues: this.getInitialValuesFromComponents(groups),\n };\n }\n\n /**\n * Gets the values that are set on each component inside the groups.\n *\n * @param {Object} groups - Initial group object containing all the component elements.\n * @return {Object} - { key (Component name): value (Value set on the component) }\n */\n getInitialValuesFromComponents = (groups) => {\n const componentValues = {};\n groups.forEach((group) => {\n group.children.forEach((child) => {\n componentValues[child.props.name] = child.props.value;\n });\n });\n\n return componentValues;\n };\n\n /**\n * Gets the values stored in the state of each component.\n */\n getValues = () => {\n const { componentValues } = this.state;\n return componentValues;\n };\n\n /**\n * Handler to retrieve the values.\n *\n * @param {Function} originalHandler - The handler that was originally triggered.\n */\n getValuesHandler = (originalHandler) => {\n if (originalHandler !== undefined && typeof originalHandler === \"function\") {\n originalHandler(this.getValues());\n }\n };\n\n /**\n * Stores the value on the state when a child component onChange event is triggered.\n *\n * @param {*} value - Value that will be stored on the state.\n * @param {string} name - Name of the component.\n * @param {Function} onChange - Original function triggered by the component.\n */\n childOnChangeHandler = (value, name, onChange) => {\n const { componentValues } = this.state;\n\n const newComponentValues = { ...componentValues };\n newComponentValues[name] = value;\n\n this.setState({ componentValues: newComponentValues });\n\n if (onChange !== undefined && typeof onChange === \"function\") {\n return onChange(value);\n }\n // The UI-KIT input forced to have the value explicitly returned on the onChanged function.\n return value;\n };\n\n render() {\n const { classes, mainTitle, groups, hasNavigation, hasFooter, footerContent } = this.props;\n\n const footerElements = footerContent.map((child, i) => {\n const key = `fc-${i}`;\n return React.cloneElement(child, {\n onClick: () => this.getValuesHandler(child.props.onClick),\n key,\n });\n });\n\n const navigationOptions = [];\n\n const groupedComponents = groups.map((group) => {\n navigationOptions.push({ label: group.title, value: group.title });\n\n return (\n <div key={group.title}>\n <HvTypography id={group.title} variant=\"mTitle\">\n {group.title}\n </HvTypography>\n {group.children.map((child, i) => {\n const key = `fc-${group.title}-${i}`;\n return (\n <div key={key}>\n {React.cloneElement(child, {\n onChange: (event, value) =>\n this.childOnChangeHandler(value, child.props.name, child.props.onChange),\n })}\n </div>\n );\n })}\n </div>\n );\n });\n\n return (\n <div className={classes.root}>\n <HvTypography variant=\"xlTitle\" className={classes.title}>\n {mainTitle}\n </HvTypography>\n <div className={classes.mainContainer}>\n {hasNavigation && (\n <div className={classes.navContainer}>\n <HvNavigationAnchors options={navigationOptions} floating={false} />\n </div>\n )}\n <div className={classes.componentContainer}>{groupedComponents}</div>\n </div>\n {hasFooter && <div className={classes.footer}>{footerElements}</div>}\n </div>\n );\n }\n}\n\nHvFormComposer.propTypes = {\n /**\n * A Jss Object used to override or extend the styles applied to the form composer.\n */\n classes: PropTypes.instanceOf(Object).isRequired,\n /**\n * Main title to be displayed.\n */\n mainTitle: PropTypes.string,\n /**\n * The group of component that will be added to the Form composer.\n */\n groups: PropTypes.arrayOf(\n shape({\n title: PropTypes.string,\n children: PropTypes.node,\n })\n ).isRequired,\n /**\n * Shows navigation bar.\n */\n hasNavigation: PropTypes.bool,\n /**\n * Shows footer.\n */\n hasFooter: PropTypes.bool,\n /**\n * Content to be shown on the footer.\n */\n footerContent: PropTypes.node,\n};\n\n/**\n * Default properties.\n */\nHvFormComposer.defaultProps = {\n mainTitle: \"\",\n hasNavigation: false,\n hasFooter: false,\n footerContent: [],\n};\n\nexport default withStyles(styles, { name: \"HvFormComposer\" })(HvFormComposer);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"InlineEditor.js","names":["HvInlineEditor","props","className","classes","valueProp","value","defaultValue","showIcon","component","InputComponent","HvInput","variant","placeholder","onBlur","onChange","onKeyDown","buttonProps","typographyProps","others","setValue","editMode","setEditMode","cachedValue","setCachedValue","inputRef","theme","typographyStyles","hv","typography","lineHeight","input","current","focus","select","handleClick","handleBlur","event","newValue","handleKeyDown","KeyboardCodes","Esc","handleChange","val","root","inputRoot","inputBorderContainer","style","height","undefined","button","parseInt","largeText","text","textEmpty","icon","iconVisible","propTypes","PropTypes","string","shape","isRequired","bool","elementType","func","instanceOf","Object","styles","name"],"sources":["../../src/InlineEditor/InlineEditor.js"],"sourcesContent":["import React, { useLayoutEffect, useRef, useState } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\n\nimport { withStyles, useTheme } from \"@material-ui/core\";\nimport {\n HvButton,\n HvInput,\n HvTypography,\n isKeypress,\n KeyboardCodes,\n useControlled,\n} from \"@hitachivantara/uikit-react-core\";\nimport { Edit } from \"@hitachivantara/uikit-react-icons\";\n\nimport styles from \"./styles\";\n\n/**\n * An Inline Editor allows the user to edit a record without making a major switch\n * between viewing and editing, making it an efficient method of updating a record.\n */\nconst HvInlineEditor = (props) => {\n const {\n className,\n classes,\n value: valueProp,\n defaultValue,\n showIcon,\n component: InputComponent = HvInput,\n variant = \"normalText\",\n placeholder = \"Enter text\",\n onBlur,\n onChange,\n onKeyDown,\n buttonProps,\n typographyProps,\n ...others\n } = props;\n const [value, setValue] = useControlled(valueProp, defaultValue);\n const [editMode, setEditMode] = useState(false);\n const [cachedValue, setCachedValue] = useState(value);\n const inputRef = useRef();\n const theme = useTheme();\n\n const typographyStyles = theme.hv.typography[variant] || {};\n const { lineHeight } = typographyStyles;\n\n useLayoutEffect(() => {\n const input = inputRef.current;\n if (editMode && input) {\n input.focus();\n input.select();\n }\n }, [editMode]);\n\n const handleClick = () => {\n setEditMode(true);\n setCachedValue(value);\n };\n\n const handleBlur = (event) => {\n setEditMode(false);\n\n const newValue = value || cachedValue; // empty values should be ignored\n setValue(newValue);\n onBlur?.(event, newValue);\n };\n\n const handleKeyDown = (event) => {\n if (isKeypress(event, KeyboardCodes.Esc)) {\n setEditMode(false);\n setValue(cachedValue);\n }\n onKeyDown?.(event);\n };\n\n const handleChange = (event, val) => {\n setValue(val);\n onChange?.(event, val);\n };\n\n return (\n <div className={clsx(className, classes.root)}>\n {editMode ? (\n <InputComponent\n inputRef={inputRef}\n classes={{\n root: classes.inputRoot,\n input: classes.input,\n inputBorderContainer: classes.inputBorderContainer,\n }}\n inputProps={{\n style: {\n ...typographyStyles,\n height: InputComponent === HvInput ? lineHeight : undefined,\n },\n }}\n value={value}\n onBlur={handleBlur}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n {...others}\n />\n ) : (\n <HvButton\n category=\"ghost\"\n overrideIconColors={false}\n className={clsx(classes.button, {\n [classes.largeText]: parseInt(lineHeight, 10) >= 28,\n })}\n onClick={handleClick}\n {...buttonProps}\n >\n <HvTypography\n variant={variant}\n className={clsx(classes.text, { [classes.textEmpty]: !value })}\n {...typographyProps}\n >\n {value || placeholder}\n </HvTypography>\n <Edit\n color=\"atmo5\"\n role=\"presentation\"\n className={clsx(classes.icon, {\n [classes.iconVisible]: showIcon,\n })}\n />\n </HvButton>\n )}\n </div>\n );\n};\n\nHvInlineEditor.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the component styles applied.\n */\n classes: PropTypes.shape({\n root: PropTypes.string,\n input: PropTypes.string,\n inputRoot: PropTypes.string,\n inputBorderContainer: PropTypes.string,\n text: PropTypes.string,\n textEmpty: PropTypes.string,\n button: PropTypes.string,\n icon: PropTypes.string,\n iconVisible: PropTypes.string,\n largeText: PropTypes.string,\n }).isRequired,\n /**\n * The value of the input element, for controlled usage.\n */\n value: PropTypes.string,\n /**\n * The default value of the input element, for uncontrolled usage.\n */\n defaultValue: PropTypes.string,\n /**\n * Whether the Edit icon should always be visible\n */\n showIcon: PropTypes.bool,\n /**\n * Component to use as the input. The component \"inherit\" from `HvBaseInput` (such as `HvInput` or `HvTextArea`)\n */\n component: PropTypes.elementType,\n /**\n * Variant of the HvTypography to display\n */\n variant: PropTypes.string,\n /**\n * The placeholder value of the HvTypography.\n */\n placeholder: PropTypes.string,\n /**\n * Called when the input is blurred.\n */\n onBlur: PropTypes.func,\n /**\n * Called when the input value is changed.\n */\n onChange: PropTypes.func,\n /**\n * Called when a key is pressed on the input.\n */\n onKeyDown: PropTypes.func,\n /**\n * Props passed to the HvButton component\n */\n buttonProps: PropTypes.instanceOf(Object),\n /**\n * Props passed to the HvTypography text component\n */\n typographyProps: PropTypes.instanceOf(Object),\n};\n\nexport default withStyles(styles, { name: \"HvInlineEditor\" })(HvInlineEditor);\n"],"mappings":"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"}
1
+ {"version":3,"file":"InlineEditor.js","names":["HvInlineEditor","props","className","classes","valueProp","value","defaultValue","showIcon","component","InputComponent","HvInput","variant","placeholder","onBlur","onChange","onKeyDown","buttonProps","typographyProps","others","useControlled","setValue","useState","editMode","setEditMode","cachedValue","setCachedValue","inputRef","useRef","theme","useTheme","typographyStyles","hv","typography","lineHeight","useLayoutEffect","input","current","focus","select","handleClick","handleBlur","event","newValue","handleKeyDown","isKeypress","KeyboardCodes","Esc","handleChange","val","clsx","root","inputRoot","inputBorderContainer","style","height","undefined","button","parseInt","largeText","text","textEmpty","icon","iconVisible","propTypes","PropTypes","string","shape","isRequired","bool","elementType","func","instanceOf","Object","withStyles","styles","name"],"sources":["../../src/InlineEditor/InlineEditor.js"],"sourcesContent":["import React, { useLayoutEffect, useRef, useState } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\n\nimport { withStyles, useTheme } from \"@material-ui/core\";\nimport {\n HvButton,\n HvInput,\n HvTypography,\n isKeypress,\n KeyboardCodes,\n useControlled,\n} from \"@hitachivantara/uikit-react-core\";\nimport { Edit } from \"@hitachivantara/uikit-react-icons\";\n\nimport styles from \"./styles\";\n\n/**\n * An Inline Editor allows the user to edit a record without making a major switch\n * between viewing and editing, making it an efficient method of updating a record.\n */\nconst HvInlineEditor = (props) => {\n const {\n className,\n classes,\n value: valueProp,\n defaultValue,\n showIcon,\n component: InputComponent = HvInput,\n variant = \"normalText\",\n placeholder = \"Enter text\",\n onBlur,\n onChange,\n onKeyDown,\n buttonProps,\n typographyProps,\n ...others\n } = props;\n const [value, setValue] = useControlled(valueProp, defaultValue);\n const [editMode, setEditMode] = useState(false);\n const [cachedValue, setCachedValue] = useState(value);\n const inputRef = useRef();\n const theme = useTheme();\n\n const typographyStyles = theme.hv.typography[variant] || {};\n const { lineHeight } = typographyStyles;\n\n useLayoutEffect(() => {\n const input = inputRef.current;\n if (editMode && input) {\n input.focus();\n input.select();\n }\n }, [editMode]);\n\n const handleClick = () => {\n setEditMode(true);\n setCachedValue(value);\n };\n\n const handleBlur = (event) => {\n setEditMode(false);\n\n const newValue = value || cachedValue; // empty values should be ignored\n setValue(newValue);\n onBlur?.(event, newValue);\n };\n\n const handleKeyDown = (event) => {\n if (isKeypress(event, KeyboardCodes.Esc)) {\n setEditMode(false);\n setValue(cachedValue);\n }\n onKeyDown?.(event);\n };\n\n const handleChange = (event, val) => {\n setValue(val);\n onChange?.(event, val);\n };\n\n return (\n <div className={clsx(className, classes.root)}>\n {editMode ? (\n <InputComponent\n inputRef={inputRef}\n classes={{\n root: classes.inputRoot,\n input: classes.input,\n inputBorderContainer: classes.inputBorderContainer,\n }}\n inputProps={{\n style: {\n ...typographyStyles,\n height: InputComponent === HvInput ? lineHeight : undefined,\n },\n }}\n value={value}\n onBlur={handleBlur}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n {...others}\n />\n ) : (\n <HvButton\n category=\"ghost\"\n overrideIconColors={false}\n className={clsx(classes.button, {\n [classes.largeText]: parseInt(lineHeight, 10) >= 28,\n })}\n onClick={handleClick}\n {...buttonProps}\n >\n <HvTypography\n variant={variant}\n className={clsx(classes.text, { [classes.textEmpty]: !value })}\n {...typographyProps}\n >\n {value || placeholder}\n </HvTypography>\n <Edit\n color=\"atmo5\"\n role=\"presentation\"\n className={clsx(classes.icon, {\n [classes.iconVisible]: showIcon,\n })}\n />\n </HvButton>\n )}\n </div>\n );\n};\n\nHvInlineEditor.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the component styles applied.\n */\n classes: PropTypes.shape({\n root: PropTypes.string,\n input: PropTypes.string,\n inputRoot: PropTypes.string,\n inputBorderContainer: PropTypes.string,\n text: PropTypes.string,\n textEmpty: PropTypes.string,\n button: PropTypes.string,\n icon: PropTypes.string,\n iconVisible: PropTypes.string,\n largeText: PropTypes.string,\n }).isRequired,\n /**\n * The value of the input element, for controlled usage.\n */\n value: PropTypes.string,\n /**\n * The default value of the input element, for uncontrolled usage.\n */\n defaultValue: PropTypes.string,\n /**\n * Whether the Edit icon should always be visible\n */\n showIcon: PropTypes.bool,\n /**\n * Component to use as the input. The component \"inherit\" from `HvBaseInput` (such as `HvInput` or `HvTextArea`)\n */\n component: PropTypes.elementType,\n /**\n * Variant of the HvTypography to display\n */\n variant: PropTypes.string,\n /**\n * The placeholder value of the HvTypography.\n */\n placeholder: PropTypes.string,\n /**\n * Called when the input is blurred.\n */\n onBlur: PropTypes.func,\n /**\n * Called when the input value is changed.\n */\n onChange: PropTypes.func,\n /**\n * Called when a key is pressed on the input.\n */\n onKeyDown: PropTypes.func,\n /**\n * Props passed to the HvButton component\n */\n buttonProps: PropTypes.instanceOf(Object),\n /**\n * Props passed to the HvTypography text component\n */\n typographyProps: PropTypes.instanceOf(Object),\n};\n\nexport default withStyles(styles, { name: \"HvInlineEditor\" })(HvInlineEditor);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationAnchors.js","names":["RETRY_MAX","getScrollTop","c","window","scrollY","pageYOffset","document","documentElement","scrollTop","body","verticalScrollOffset","t","getBoundingClientRect","top","getComputedStyle","position","offsetTop","scrollElement","element","container","offset","elemTop","scrollTo","behavior","isScrolledToTheBottom","containerScrollTop","scrollHeight","innerHeight","offsetHeight","findFirstVisibleElement","options","boundsTop","i","length","ele","getElementById","value","NavigationAnchors","selectedIndex","selectedIndexProp","scrollElementId","href","onClick","className","classes","floating","other","setSelectedIndex","scrollEle","requestedAnimationFrame","lastContainerScrollTop","selectedIndexRef","current","checkScroll","requestAnimationFrame","firstVisibleElementIndex","newSelectedIndex","isScrollingDown","addEventListener","removeEventListener","cancelAnimationFrame","checkRenderedInterval","hashValue","location","hash","split","option","find","o","retry","setInterval","clearInterval","handleListItemClick","event","id","index","history","pushState","navOptions","map","label","root","NavOpt","selected","listItemSelected","gutters","listItemGutters","key","propTypes","PropTypes","string","shape","isRequired","arrayOf","number","bool","func","styles","name"],"sources":["../../src/NavigationAnchors/NavigationAnchors.js"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { deprecatedPropType, withStyles } from \"@material-ui/core\";\nimport { HvListContainer, HvListItem } from \"@hitachivantara/uikit-react-core\";\nimport styles from \"./styles\";\nimport navigationOption from \"./NavigationOption\";\n\nconst RETRY_MAX = 5;\n\nconst getScrollTop = (c = window) => {\n if (c === window) {\n return (\n window.scrollY ||\n window.pageYOffset ||\n (document.documentElement && document.documentElement.scrollTop) ||\n document.body.scrollTop\n );\n }\n\n return c.scrollTop;\n};\n\nconst verticalScrollOffset = (t, c = window) => {\n if (c === window) {\n return (t?.getBoundingClientRect?.().top || 0) + (window.scrollY || window.pageYOffset);\n }\n if (getComputedStyle(c).position !== \"static\") {\n return t.offsetTop;\n }\n\n return t.offsetTop - c.offsetTop;\n};\n\nconst scrollElement = (element, container, offset = 0) => {\n const elemTop = verticalScrollOffset(element, container);\n container.scrollTo({\n top: elemTop - offset,\n behavior: \"smooth\",\n });\n};\n\nconst isScrolledToTheBottom = (container) => {\n const containerScrollTop = getScrollTop(container);\n\n if (container === window) {\n // accounting for cases where html/body are set to height:100%\n const scrollHeight =\n (document.documentElement && document.documentElement.scrollHeight) ||\n document.body.scrollHeight;\n\n return containerScrollTop + window.innerHeight >= scrollHeight;\n }\n\n return containerScrollTop + container.offsetHeight >= container.scrollHeight;\n};\n\n// find the last nav item that whose top scrolled out of the container's visible area\nconst findFirstVisibleElement = (container, options, offset) => {\n const boundsTop = verticalScrollOffset(container);\n\n let i = 0;\n // find index of first element whose top is still visible inside the container\n for (; i < options.length; i += 1) {\n const ele = document.getElementById(options[i].value);\n\n if (ele) {\n const elemTop = verticalScrollOffset(ele) - (options[i].offset || offset);\n\n if (elemTop > boundsTop) {\n break;\n }\n }\n }\n\n // return the previous index, the element that last scrolled past the top\n return i - 1;\n};\n\n/**\n * A navigation component to help in changing views, still in development\n */\nconst NavigationAnchors = ({\n selectedIndex: selectedIndexProp = 0,\n scrollElementId,\n href = true,\n onClick,\n className,\n classes,\n options,\n floating,\n offset = 0,\n ...other\n}) => {\n const [selectedIndex, setSelectedIndex] = useState(selectedIndexProp);\n\n const scrollEle = useRef();\n const requestedAnimationFrame = useRef(0);\n\n const lastContainerScrollTop = useRef();\n\n // ref to use a often-changing value in useCallback, has recommended in\n // https://reactjs.org/docs/hooks-faq.html#how-to-read-an-often-changing-value-from-usecallback\n const selectedIndexRef = useRef(selectedIndex);\n useEffect(() => {\n selectedIndexRef.current = selectedIndex;\n }, [selectedIndex]);\n\n // get and store the container's dom element\n useEffect(() => {\n scrollEle.current = (scrollElementId && document.getElementById(scrollElementId)) || window;\n lastContainerScrollTop.current = verticalScrollOffset(scrollEle.current);\n }, [scrollElementId]);\n\n const checkScroll = useCallback(() => {\n if (requestedAnimationFrame.current === 0 && window?.requestAnimationFrame) {\n requestedAnimationFrame.current = window.requestAnimationFrame(() => {\n requestedAnimationFrame.current = 0;\n\n const firstVisibleElementIndex = findFirstVisibleElement(\n scrollEle.current,\n options,\n offset\n );\n\n let newSelectedIndex = firstVisibleElementIndex;\n\n // select the first element when all elements are bellow the container's top\n if (firstVisibleElementIndex < 0) {\n newSelectedIndex = 0;\n }\n\n // if the user has reached the bottom of the container, select the first nav item still visible\n // (usually this selects the last nav item, when it can't reach the top the container)\n // in theory only needed when scrolling down, but no... because of the Safari bouncing behaviour\n if (newSelectedIndex < options.length - 1 && isScrolledToTheBottom(scrollEle.current)) {\n newSelectedIndex += 1;\n }\n\n const containerScrollTop = getScrollTop(scrollEle.current);\n const isScrollingDown = containerScrollTop > lastContainerScrollTop.current;\n lastContainerScrollTop.current = containerScrollTop;\n\n // only update the selected item if the scroll direction is moving away from it\n if (isScrollingDown) {\n if (newSelectedIndex < selectedIndexRef.current) {\n newSelectedIndex = selectedIndexRef.current;\n }\n } else if (newSelectedIndex > selectedIndexRef.current) {\n newSelectedIndex = selectedIndexRef.current;\n }\n\n setSelectedIndex(newSelectedIndex);\n });\n }\n }, [offset, options]);\n\n // registers and unregisters the scroll listener\n useEffect(() => {\n if (scrollEle.current) {\n scrollEle.current.addEventListener(\"scroll\", checkScroll, false);\n }\n\n return () => {\n if (scrollEle.current) {\n scrollEle.current.removeEventListener(\"scroll\", checkScroll);\n }\n\n if (requestedAnimationFrame.current !== 0) {\n window.cancelAnimationFrame(requestedAnimationFrame.current);\n requestedAnimationFrame.current = 0;\n }\n };\n }, [checkScroll]);\n\n // waits for the elements to be rendered and scrolls to the one referenced\n // in the URL hash, if any\n useEffect(() => {\n let checkRenderedInterval;\n\n if (href) {\n const hashValue = document.location.hash.split(\"#\")[1] || \"\";\n\n const option = options.find((o) => o.value === hashValue);\n\n if (option) {\n let retry = 0;\n checkRenderedInterval = setInterval(() => {\n const ele = document.getElementById(option.value);\n\n if (ele) {\n scrollElement(ele, scrollEle.current, option.offset || offset);\n clearInterval(checkRenderedInterval);\n } else {\n retry += 1;\n if (retry === RETRY_MAX) {\n clearInterval(checkRenderedInterval);\n }\n }\n }, 1000);\n }\n }\n\n return () => {\n clearInterval(checkRenderedInterval);\n };\n\n // we really want to run this just in the first load\n // in fact this doesn't even belong here, the logic should be external\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handleListItemClick = (event, id, index) => {\n const option = options.find((o) => o.value === id);\n\n if (option) {\n const ele = document.getElementById(id);\n if (ele) {\n scrollElement(ele, scrollEle.current, option.offset || offset);\n }\n\n if (!href && onClick) {\n onClick(event, index, option);\n } else if (href) {\n window.history.pushState({}, \"\", `#${options[index].value}`);\n }\n\n setSelectedIndex(index);\n\n // Safari scrolls immediately (no smooth scroll support),\n // so this ref value must be updated asap\n selectedIndexRef.current = index;\n }\n };\n\n const navOptions = useMemo(() => {\n return options.map((option) => {\n return navigationOption(option.label);\n });\n }, [options]);\n\n return (\n <HvListContainer interactive className={clsx(className, classes.root)} {...other}>\n {options.map((option, index) => {\n const NavOpt = navOptions[index];\n\n return (\n <HvListItem\n classes={{\n selected: classes.listItemSelected,\n gutters: classes.listItemGutters,\n }}\n key={option.key || option.label}\n onClick={(event) => handleListItemClick(event, option.value, index)}\n selected={selectedIndex === index}\n >\n <NavOpt />\n </HvListItem>\n );\n })}\n </HvListContainer>\n );\n};\n\nNavigationAnchors.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 root: PropTypes.string,\n listItemGutters: PropTypes.string,\n listItemSelected: PropTypes.string,\n }).isRequired,\n /**\n * An Array of Objects with Label and Value. Label is the displayed Element and Value is the local navigation location applied\n */\n options: PropTypes.arrayOf(\n PropTypes.shape({\n key: PropTypes.string,\n value: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n offset: PropTypes.number,\n })\n ).isRequired,\n /**\n * True if the href location link should be applied. It will create an a element around every list item\n */\n href: PropTypes.bool,\n /**\n * A callback called on click of every list item, if the href is false\n */\n onClick: PropTypes.func,\n /**\n * Whether the anchors are always in a fixed position\n *\n * @deprecated Currently does nothing. Style the component instead.\n */\n floating: deprecatedPropType(PropTypes.bool),\n /**\n * Currently selected index passed from the parent.\n */\n selectedIndex: PropTypes.number,\n /**\n * The Id of the scrollable container containing displayed elements.\n *\n * Defaults to `window` if unspecified.\n */\n scrollElementId: PropTypes.string,\n /**\n * Defines the offset from the top of each element for getting an optimal viewing region in the container.\n * This allows to exclude regions of the container that are obscured by other content (such as fixed-positioned toolbars or titles)\n * or to put more breathing room between the targeted element and the edges of the container.\n *\n * Each element can also have a specific offset via the options property.\n */\n offset: PropTypes.number,\n};\n\nexport default withStyles(styles, { name: \"HvNavigationAnchors\" })(NavigationAnchors);\n"],"mappings":"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"}
1
+ {"version":3,"file":"NavigationAnchors.js","names":["RETRY_MAX","getScrollTop","c","window","scrollY","pageYOffset","document","documentElement","scrollTop","body","verticalScrollOffset","t","getBoundingClientRect","top","getComputedStyle","position","offsetTop","scrollElement","element","container","offset","elemTop","scrollTo","behavior","isScrolledToTheBottom","containerScrollTop","scrollHeight","innerHeight","offsetHeight","findFirstVisibleElement","options","boundsTop","i","length","ele","getElementById","value","NavigationAnchors","selectedIndex","selectedIndexProp","scrollElementId","href","onClick","className","classes","floating","other","useState","setSelectedIndex","scrollEle","useRef","requestedAnimationFrame","lastContainerScrollTop","selectedIndexRef","useEffect","current","checkScroll","useCallback","requestAnimationFrame","firstVisibleElementIndex","newSelectedIndex","isScrollingDown","addEventListener","removeEventListener","cancelAnimationFrame","checkRenderedInterval","hashValue","location","hash","split","option","find","o","retry","setInterval","clearInterval","handleListItemClick","event","id","index","history","pushState","navOptions","useMemo","map","navigationOption","label","clsx","root","NavOpt","selected","listItemSelected","gutters","listItemGutters","key","propTypes","PropTypes","string","shape","isRequired","arrayOf","number","bool","func","deprecatedPropType","withStyles","styles","name"],"sources":["../../src/NavigationAnchors/NavigationAnchors.js"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { deprecatedPropType, withStyles } from \"@material-ui/core\";\nimport { HvListContainer, HvListItem } from \"@hitachivantara/uikit-react-core\";\nimport styles from \"./styles\";\nimport navigationOption from \"./NavigationOption\";\n\nconst RETRY_MAX = 5;\n\nconst getScrollTop = (c = window) => {\n if (c === window) {\n return (\n window.scrollY ||\n window.pageYOffset ||\n (document.documentElement && document.documentElement.scrollTop) ||\n document.body.scrollTop\n );\n }\n\n return c.scrollTop;\n};\n\nconst verticalScrollOffset = (t, c = window) => {\n if (c === window) {\n return (t?.getBoundingClientRect?.().top || 0) + (window.scrollY || window.pageYOffset);\n }\n if (getComputedStyle(c).position !== \"static\") {\n return t.offsetTop;\n }\n\n return t.offsetTop - c.offsetTop;\n};\n\nconst scrollElement = (element, container, offset = 0) => {\n const elemTop = verticalScrollOffset(element, container);\n container.scrollTo({\n top: elemTop - offset,\n behavior: \"smooth\",\n });\n};\n\nconst isScrolledToTheBottom = (container) => {\n const containerScrollTop = getScrollTop(container);\n\n if (container === window) {\n // accounting for cases where html/body are set to height:100%\n const scrollHeight =\n (document.documentElement && document.documentElement.scrollHeight) ||\n document.body.scrollHeight;\n\n return containerScrollTop + window.innerHeight >= scrollHeight;\n }\n\n return containerScrollTop + container.offsetHeight >= container.scrollHeight;\n};\n\n// find the last nav item that whose top scrolled out of the container's visible area\nconst findFirstVisibleElement = (container, options, offset) => {\n const boundsTop = verticalScrollOffset(container);\n\n let i = 0;\n // find index of first element whose top is still visible inside the container\n for (; i < options.length; i += 1) {\n const ele = document.getElementById(options[i].value);\n\n if (ele) {\n const elemTop = verticalScrollOffset(ele) - (options[i].offset || offset);\n\n if (elemTop > boundsTop) {\n break;\n }\n }\n }\n\n // return the previous index, the element that last scrolled past the top\n return i - 1;\n};\n\n/**\n * A navigation component to help in changing views, still in development\n */\nconst NavigationAnchors = ({\n selectedIndex: selectedIndexProp = 0,\n scrollElementId,\n href = true,\n onClick,\n className,\n classes,\n options,\n floating,\n offset = 0,\n ...other\n}) => {\n const [selectedIndex, setSelectedIndex] = useState(selectedIndexProp);\n\n const scrollEle = useRef();\n const requestedAnimationFrame = useRef(0);\n\n const lastContainerScrollTop = useRef();\n\n // ref to use a often-changing value in useCallback, has recommended in\n // https://reactjs.org/docs/hooks-faq.html#how-to-read-an-often-changing-value-from-usecallback\n const selectedIndexRef = useRef(selectedIndex);\n useEffect(() => {\n selectedIndexRef.current = selectedIndex;\n }, [selectedIndex]);\n\n // get and store the container's dom element\n useEffect(() => {\n scrollEle.current = (scrollElementId && document.getElementById(scrollElementId)) || window;\n lastContainerScrollTop.current = verticalScrollOffset(scrollEle.current);\n }, [scrollElementId]);\n\n const checkScroll = useCallback(() => {\n if (requestedAnimationFrame.current === 0 && window?.requestAnimationFrame) {\n requestedAnimationFrame.current = window.requestAnimationFrame(() => {\n requestedAnimationFrame.current = 0;\n\n const firstVisibleElementIndex = findFirstVisibleElement(\n scrollEle.current,\n options,\n offset\n );\n\n let newSelectedIndex = firstVisibleElementIndex;\n\n // select the first element when all elements are bellow the container's top\n if (firstVisibleElementIndex < 0) {\n newSelectedIndex = 0;\n }\n\n // if the user has reached the bottom of the container, select the first nav item still visible\n // (usually this selects the last nav item, when it can't reach the top the container)\n // in theory only needed when scrolling down, but no... because of the Safari bouncing behaviour\n if (newSelectedIndex < options.length - 1 && isScrolledToTheBottom(scrollEle.current)) {\n newSelectedIndex += 1;\n }\n\n const containerScrollTop = getScrollTop(scrollEle.current);\n const isScrollingDown = containerScrollTop > lastContainerScrollTop.current;\n lastContainerScrollTop.current = containerScrollTop;\n\n // only update the selected item if the scroll direction is moving away from it\n if (isScrollingDown) {\n if (newSelectedIndex < selectedIndexRef.current) {\n newSelectedIndex = selectedIndexRef.current;\n }\n } else if (newSelectedIndex > selectedIndexRef.current) {\n newSelectedIndex = selectedIndexRef.current;\n }\n\n setSelectedIndex(newSelectedIndex);\n });\n }\n }, [offset, options]);\n\n // registers and unregisters the scroll listener\n useEffect(() => {\n if (scrollEle.current) {\n scrollEle.current.addEventListener(\"scroll\", checkScroll, false);\n }\n\n return () => {\n if (scrollEle.current) {\n scrollEle.current.removeEventListener(\"scroll\", checkScroll);\n }\n\n if (requestedAnimationFrame.current !== 0) {\n window.cancelAnimationFrame(requestedAnimationFrame.current);\n requestedAnimationFrame.current = 0;\n }\n };\n }, [checkScroll]);\n\n // waits for the elements to be rendered and scrolls to the one referenced\n // in the URL hash, if any\n useEffect(() => {\n let checkRenderedInterval;\n\n if (href) {\n const hashValue = document.location.hash.split(\"#\")[1] || \"\";\n\n const option = options.find((o) => o.value === hashValue);\n\n if (option) {\n let retry = 0;\n checkRenderedInterval = setInterval(() => {\n const ele = document.getElementById(option.value);\n\n if (ele) {\n scrollElement(ele, scrollEle.current, option.offset || offset);\n clearInterval(checkRenderedInterval);\n } else {\n retry += 1;\n if (retry === RETRY_MAX) {\n clearInterval(checkRenderedInterval);\n }\n }\n }, 1000);\n }\n }\n\n return () => {\n clearInterval(checkRenderedInterval);\n };\n\n // we really want to run this just in the first load\n // in fact this doesn't even belong here, the logic should be external\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handleListItemClick = (event, id, index) => {\n const option = options.find((o) => o.value === id);\n\n if (option) {\n const ele = document.getElementById(id);\n if (ele) {\n scrollElement(ele, scrollEle.current, option.offset || offset);\n }\n\n if (!href && onClick) {\n onClick(event, index, option);\n } else if (href) {\n window.history.pushState({}, \"\", `#${options[index].value}`);\n }\n\n setSelectedIndex(index);\n\n // Safari scrolls immediately (no smooth scroll support),\n // so this ref value must be updated asap\n selectedIndexRef.current = index;\n }\n };\n\n const navOptions = useMemo(() => {\n return options.map((option) => {\n return navigationOption(option.label);\n });\n }, [options]);\n\n return (\n <HvListContainer interactive className={clsx(className, classes.root)} {...other}>\n {options.map((option, index) => {\n const NavOpt = navOptions[index];\n\n return (\n <HvListItem\n classes={{\n selected: classes.listItemSelected,\n gutters: classes.listItemGutters,\n }}\n key={option.key || option.label}\n onClick={(event) => handleListItemClick(event, option.value, index)}\n selected={selectedIndex === index}\n >\n <NavOpt />\n </HvListItem>\n );\n })}\n </HvListContainer>\n );\n};\n\nNavigationAnchors.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 root: PropTypes.string,\n listItemGutters: PropTypes.string,\n listItemSelected: PropTypes.string,\n }).isRequired,\n /**\n * An Array of Objects with Label and Value. Label is the displayed Element and Value is the local navigation location applied\n */\n options: PropTypes.arrayOf(\n PropTypes.shape({\n key: PropTypes.string,\n value: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n offset: PropTypes.number,\n })\n ).isRequired,\n /**\n * True if the href location link should be applied. It will create an a element around every list item\n */\n href: PropTypes.bool,\n /**\n * A callback called on click of every list item, if the href is false\n */\n onClick: PropTypes.func,\n /**\n * Whether the anchors are always in a fixed position\n *\n * @deprecated Currently does nothing. Style the component instead.\n */\n floating: deprecatedPropType(PropTypes.bool),\n /**\n * Currently selected index passed from the parent.\n */\n selectedIndex: PropTypes.number,\n /**\n * The Id of the scrollable container containing displayed elements.\n *\n * Defaults to `window` if unspecified.\n */\n scrollElementId: PropTypes.string,\n /**\n * Defines the offset from the top of each element for getting an optimal viewing region in the container.\n * This allows to exclude regions of the container that are obscured by other content (such as fixed-positioned toolbars or titles)\n * or to put more breathing room between the targeted element and the edges of the container.\n *\n * Each element can also have a specific offset via the options property.\n */\n offset: PropTypes.number,\n};\n\nexport default withStyles(styles, { name: \"HvNavigationAnchors\" })(NavigationAnchors);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,SAAS,GAAG,CAAlB;;AAEA,IAAMC,YAAY,GAAG,SAAfA,YAAe,GAAgB;EAAA,IAAfC,CAAe,uEAAXC,MAAW;;EACnC,IAAID,CAAC,KAAKC,MAAV,EAAkB;IAChB,OACEA,MAAM,CAACC,OAAP,IACAD,MAAM,CAACE,WADP,IAECC,QAAQ,CAACC,eAAT,IAA4BD,QAAQ,CAACC,eAAT,CAAyBC,SAFtD,IAGAF,QAAQ,CAACG,IAAT,CAAcD,SAJhB;EAMD;;EAED,OAAON,CAAC,CAACM,SAAT;AACD,CAXD;;AAaA,IAAME,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,CAAD,EAAmB;EAAA,IAAfT,CAAe,uEAAXC,MAAW;;EAC9C,IAAID,CAAC,KAAKC,MAAV,EAAkB;IAAA;;IAChB,OAAO,CAAC,CAAAQ,CAAC,SAAD,IAAAA,CAAC,WAAD,qCAAAA,CAAC,CAAEC,qBAAH,qFAAAD,CAAC,EAA4BE,GAA7B,KAAoC,CAArC,KAA2CV,MAAM,CAACC,OAAP,IAAkBD,MAAM,CAACE,WAApE,CAAP;EACD;;EACD,IAAIS,gBAAgB,CAACZ,CAAD,CAAhB,CAAoBa,QAApB,KAAiC,QAArC,EAA+C;IAC7C,OAAOJ,CAAC,CAACK,SAAT;EACD;;EAED,OAAOL,CAAC,CAACK,SAAF,GAAcd,CAAC,CAACc,SAAvB;AACD,CATD;;AAWA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,OAAD,EAAUC,SAAV,EAAoC;EAAA,IAAfC,MAAe,uEAAN,CAAM;EACxD,IAAMC,OAAO,GAAGX,oBAAoB,CAACQ,OAAD,EAAUC,SAAV,CAApC;EACAA,SAAS,CAACG,QAAV,CAAmB;IACjBT,GAAG,EAAEQ,OAAO,GAAGD,MADE;IAEjBG,QAAQ,EAAE;EAFO,CAAnB;AAID,CAND;;AAQA,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACL,SAAD,EAAe;EAC3C,IAAMM,kBAAkB,GAAGxB,YAAY,CAACkB,SAAD,CAAvC;;EAEA,IAAIA,SAAS,KAAKhB,MAAlB,EAA0B;IACxB;IACA,IAAMuB,YAAY,GACfpB,QAAQ,CAACC,eAAT,IAA4BD,QAAQ,CAACC,eAAT,CAAyBmB,YAAtD,IACApB,QAAQ,CAACG,IAAT,CAAciB,YAFhB;IAIA,OAAOD,kBAAkB,GAAGtB,MAAM,CAACwB,WAA5B,IAA2CD,YAAlD;EACD;;EAED,OAAOD,kBAAkB,GAAGN,SAAS,CAACS,YAA/B,IAA+CT,SAAS,CAACO,YAAhE;AACD,CAbD,C,CAeA;;;AACA,IAAMG,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACV,SAAD,EAAYW,OAAZ,EAAqBV,MAArB,EAAgC;EAC9D,IAAMW,SAAS,GAAGrB,oBAAoB,CAACS,SAAD,CAAtC;EAEA,IAAIa,CAAC,GAAG,CAAR,CAH8D,CAI9D;;EACA,OAAOA,CAAC,GAAGF,OAAO,CAACG,MAAnB,EAA2BD,CAAC,IAAI,CAAhC,EAAmC;IACjC,IAAME,GAAG,GAAG5B,QAAQ,CAAC6B,cAAT,CAAwBL,OAAO,CAACE,CAAD,CAAP,CAAWI,KAAnC,CAAZ;;IAEA,IAAIF,GAAJ,EAAS;MACP,IAAMb,OAAO,GAAGX,oBAAoB,CAACwB,GAAD,CAApB,IAA6BJ,OAAO,CAACE,CAAD,CAAP,CAAWZ,MAAX,IAAqBA,MAAlD,CAAhB;;MAEA,IAAIC,OAAO,GAAGU,SAAd,EAAyB;QACvB;MACD;IACF;EACF,CAf6D,CAiB9D;;;EACA,OAAOC,CAAC,GAAG,CAAX;AACD,CAnBD;AAqBA;AACA;AACA;;;AACA,IAAMK,iBAAiB,GAAG,SAApBA,iBAAoB,OAWpB;EAAA,8BAVJC,aAUI;EAAA,IAVWC,iBAUX,mCAV+B,CAU/B;EAAA,IATJC,eASI,QATJA,eASI;EAAA,qBARJC,IAQI;EAAA,IARJA,IAQI,0BARG,IAQH;EAAA,IAPJC,OAOI,QAPJA,OAOI;EAAA,IANJC,SAMI,QANJA,SAMI;EAAA,IALJC,OAKI,QALJA,OAKI;EAAA,IAJJd,OAII,QAJJA,OAII;EAAA,IAHJe,QAGI,QAHJA,QAGI;EAAA,uBAFJzB,MAEI;EAAA,IAFJA,MAEI,4BAFK,CAEL;EAAA,IADD0B,KACC;;EACJ,gBAA0C,IAAAC,eAAA,EAASR,iBAAT,CAA1C;EAAA;EAAA,IAAOD,aAAP;EAAA,IAAsBU,gBAAtB;;EAEA,IAAMC,SAAS,GAAG,IAAAC,aAAA,GAAlB;EACA,IAAMC,uBAAuB,GAAG,IAAAD,aAAA,EAAO,CAAP,CAAhC;EAEA,IAAME,sBAAsB,GAAG,IAAAF,aAAA,GAA/B,CANI,CAQJ;EACA;;EACA,IAAMG,gBAAgB,GAAG,IAAAH,aAAA,EAAOZ,aAAP,CAAzB;EACA,IAAAgB,gBAAA,EAAU,YAAM;IACdD,gBAAgB,CAACE,OAAjB,GAA2BjB,aAA3B;EACD,CAFD,EAEG,CAACA,aAAD,CAFH,EAXI,CAeJ;;EACA,IAAAgB,gBAAA,EAAU,YAAM;IACdL,SAAS,CAACM,OAAV,GAAqBf,eAAe,IAAIlC,QAAQ,CAAC6B,cAAT,CAAwBK,eAAxB,CAApB,IAAiErC,MAArF;IACAiD,sBAAsB,CAACG,OAAvB,GAAiC7C,oBAAoB,CAACuC,SAAS,CAACM,OAAX,CAArD;EACD,CAHD,EAGG,CAACf,eAAD,CAHH;EAKA,IAAMgB,WAAW,GAAG,IAAAC,kBAAA,EAAY,YAAM;IAAA;;IACpC,IAAIN,uBAAuB,CAACI,OAAxB,KAAoC,CAApC,eAAyCpD,MAAzC,oCAAyC,QAAQuD,qBAArD,EAA4E;MAC1EP,uBAAuB,CAACI,OAAxB,GAAkCpD,MAAM,CAACuD,qBAAP,CAA6B,YAAM;QACnEP,uBAAuB,CAACI,OAAxB,GAAkC,CAAlC;QAEA,IAAMI,wBAAwB,GAAG9B,uBAAuB,CACtDoB,SAAS,CAACM,OAD4C,EAEtDzB,OAFsD,EAGtDV,MAHsD,CAAxD;QAMA,IAAIwC,gBAAgB,GAAGD,wBAAvB,CATmE,CAWnE;;QACA,IAAIA,wBAAwB,GAAG,CAA/B,EAAkC;UAChCC,gBAAgB,GAAG,CAAnB;QACD,CAdkE,CAgBnE;QACA;QACA;;;QACA,IAAIA,gBAAgB,GAAG9B,OAAO,CAACG,MAAR,GAAiB,CAApC,IAAyCT,qBAAqB,CAACyB,SAAS,CAACM,OAAX,CAAlE,EAAuF;UACrFK,gBAAgB,IAAI,CAApB;QACD;;QAED,IAAMnC,kBAAkB,GAAGxB,YAAY,CAACgD,SAAS,CAACM,OAAX,CAAvC;QACA,IAAMM,eAAe,GAAGpC,kBAAkB,GAAG2B,sBAAsB,CAACG,OAApE;QACAH,sBAAsB,CAACG,OAAvB,GAAiC9B,kBAAjC,CAzBmE,CA2BnE;;QACA,IAAIoC,eAAJ,EAAqB;UACnB,IAAID,gBAAgB,GAAGP,gBAAgB,CAACE,OAAxC,EAAiD;YAC/CK,gBAAgB,GAAGP,gBAAgB,CAACE,OAApC;UACD;QACF,CAJD,MAIO,IAAIK,gBAAgB,GAAGP,gBAAgB,CAACE,OAAxC,EAAiD;UACtDK,gBAAgB,GAAGP,gBAAgB,CAACE,OAApC;QACD;;QAEDP,gBAAgB,CAACY,gBAAD,CAAhB;MACD,CArCiC,CAAlC;IAsCD;EACF,CAzCmB,EAyCjB,CAACxC,MAAD,EAASU,OAAT,CAzCiB,CAApB,CArBI,CAgEJ;;EACA,IAAAwB,gBAAA,EAAU,YAAM;IACd,IAAIL,SAAS,CAACM,OAAd,EAAuB;MACrBN,SAAS,CAACM,OAAV,CAAkBO,gBAAlB,CAAmC,QAAnC,EAA6CN,WAA7C,EAA0D,KAA1D;IACD;;IAED,OAAO,YAAM;MACX,IAAIP,SAAS,CAACM,OAAd,EAAuB;QACrBN,SAAS,CAACM,OAAV,CAAkBQ,mBAAlB,CAAsC,QAAtC,EAAgDP,WAAhD;MACD;;MAED,IAAIL,uBAAuB,CAACI,OAAxB,KAAoC,CAAxC,EAA2C;QACzCpD,MAAM,CAAC6D,oBAAP,CAA4Bb,uBAAuB,CAACI,OAApD;QACAJ,uBAAuB,CAACI,OAAxB,GAAkC,CAAlC;MACD;IACF,CATD;EAUD,CAfD,EAeG,CAACC,WAAD,CAfH,EAjEI,CAkFJ;EACA;;EACA,IAAAF,gBAAA,EAAU,YAAM;IACd,IAAIW,qBAAJ;;IAEA,IAAIxB,IAAJ,EAAU;MACR,IAAMyB,SAAS,GAAG5D,QAAQ,CAAC6D,QAAT,CAAkBC,IAAlB,CAAuBC,KAAvB,CAA6B,GAA7B,EAAkC,CAAlC,KAAwC,EAA1D;MAEA,IAAMC,MAAM,GAAGxC,OAAO,CAACyC,IAAR,CAAa,UAACC,CAAD;QAAA,OAAOA,CAAC,CAACpC,KAAF,KAAY8B,SAAnB;MAAA,CAAb,CAAf;;MAEA,IAAII,MAAJ,EAAY;QACV,IAAIG,KAAK,GAAG,CAAZ;QACAR,qBAAqB,GAAGS,WAAW,CAAC,YAAM;UACxC,IAAMxC,GAAG,GAAG5B,QAAQ,CAAC6B,cAAT,CAAwBmC,MAAM,CAAClC,KAA/B,CAAZ;;UAEA,IAAIF,GAAJ,EAAS;YACPjB,aAAa,CAACiB,GAAD,EAAMe,SAAS,CAACM,OAAhB,EAAyBe,MAAM,CAAClD,MAAP,IAAiBA,MAA1C,CAAb;YACAuD,aAAa,CAACV,qBAAD,CAAb;UACD,CAHD,MAGO;YACLQ,KAAK,IAAI,CAAT;;YACA,IAAIA,KAAK,KAAKzE,SAAd,EAAyB;cACvB2E,aAAa,CAACV,qBAAD,CAAb;YACD;UACF;QACF,CAZkC,EAYhC,IAZgC,CAAnC;MAaD;IACF;;IAED,OAAO,YAAM;MACXU,aAAa,CAACV,qBAAD,CAAb;IACD,CAFD,CA1Bc,CA8Bd;IACA;IACA;EACD,CAjCD,EAiCG,EAjCH;;EAmCA,IAAMW,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,KAAD,EAAQC,EAAR,EAAYC,KAAZ,EAAsB;IAChD,IAAMT,MAAM,GAAGxC,OAAO,CAACyC,IAAR,CAAa,UAACC,CAAD;MAAA,OAAOA,CAAC,CAACpC,KAAF,KAAY0C,EAAnB;IAAA,CAAb,CAAf;;IAEA,IAAIR,MAAJ,EAAY;MACV,IAAMpC,GAAG,GAAG5B,QAAQ,CAAC6B,cAAT,CAAwB2C,EAAxB,CAAZ;;MACA,IAAI5C,GAAJ,EAAS;QACPjB,aAAa,CAACiB,GAAD,EAAMe,SAAS,CAACM,OAAhB,EAAyBe,MAAM,CAAClD,MAAP,IAAiBA,MAA1C,CAAb;MACD;;MAED,IAAI,CAACqB,IAAD,IAASC,OAAb,EAAsB;QACpBA,OAAO,CAACmC,KAAD,EAAQE,KAAR,EAAeT,MAAf,CAAP;MACD,CAFD,MAEO,IAAI7B,IAAJ,EAAU;QACftC,MAAM,CAAC6E,OAAP,CAAeC,SAAf,CAAyB,EAAzB,EAA6B,EAA7B,aAAqCnD,OAAO,CAACiD,KAAD,CAAP,CAAe3C,KAApD;MACD;;MAEDY,gBAAgB,CAAC+B,KAAD,CAAhB,CAZU,CAcV;MACA;;MACA1B,gBAAgB,CAACE,OAAjB,GAA2BwB,KAA3B;IACD;EACF,CArBD;;EAuBA,IAAMG,UAAU,GAAG,IAAAC,cAAA,EAAQ,YAAM;IAC/B,OAAOrD,OAAO,CAACsD,GAAR,CAAY,UAACd,MAAD,EAAY;MAC7B,OAAO,IAAAe,yBAAA,EAAiBf,MAAM,CAACgB,KAAxB,CAAP;IACD,CAFM,CAAP;EAGD,CAJkB,EAIhB,CAACxD,OAAD,CAJgB,CAAnB;EAMA,oBACE,6BAAC,+BAAD;IAAiB,WAAW,MAA5B;IAA6B,SAAS,EAAE,IAAAyD,aAAA,EAAK5C,SAAL,EAAgBC,OAAO,CAAC4C,IAAxB;EAAxC,GAA2E1C,KAA3E,GACGhB,OAAO,CAACsD,GAAR,CAAY,UAACd,MAAD,EAASS,KAAT,EAAmB;IAC9B,IAAMU,MAAM,GAAGP,UAAU,CAACH,KAAD,CAAzB;IAEA,oBACE,6BAAC,0BAAD;MACE,OAAO,EAAE;QACPW,QAAQ,EAAE9C,OAAO,CAAC+C,gBADX;QAEPC,OAAO,EAAEhD,OAAO,CAACiD;MAFV,CADX;MAKE,GAAG,EAAEvB,MAAM,CAACwB,GAAP,IAAcxB,MAAM,CAACgB,KAL5B;MAME,OAAO,EAAE,iBAACT,KAAD;QAAA,OAAWD,mBAAmB,CAACC,KAAD,EAAQP,MAAM,CAAClC,KAAf,EAAsB2C,KAAtB,CAA9B;MAAA,CANX;MAOE,QAAQ,EAAEzC,aAAa,KAAKyC;IAP9B,gBASE,6BAAC,MAAD,OATF,CADF;EAaD,CAhBA,CADH,CADF;AAqBD,CApLD;;AAsLA,wCAAA1C,iBAAiB,CAAC0D,SAAlB,GAA8B;EAC5B;AACF;AACA;EACEpD,SAAS,EAAEqD,kBAAA,CAAUC,MAJO;;EAK5B;AACF;AACA;EACErD,OAAO,EAAEoD,kBAAA,CAAUE,KAAV,CAAgB;IACvBV,IAAI,EAAEQ,kBAAA,CAAUC,MADO;IAEvBJ,eAAe,EAAEG,kBAAA,CAAUC,MAFJ;IAGvBN,gBAAgB,EAAEK,kBAAA,CAAUC;EAHL,CAAhB,EAINE,UAZyB;;EAa5B;AACF;AACA;EACErE,OAAO,EAAEkE,kBAAA,CAAUI,OAAV,CACPJ,kBAAA,CAAUE,KAAV,CAAgB;IACdJ,GAAG,EAAEE,kBAAA,CAAUC,MADD;IAEd7D,KAAK,EAAE4D,kBAAA,CAAUC,MAAV,CAAiBE,UAFV;IAGdb,KAAK,EAAEU,kBAAA,CAAUC,MAAV,CAAiBE,UAHV;IAId/E,MAAM,EAAE4E,kBAAA,CAAUK;EAJJ,CAAhB,CADO,EAOPF,UAvB0B;;EAwB5B;AACF;AACA;EACE1D,IAAI,EAAEuD,kBAAA,CAAUM,IA3BY;;EA4B5B;AACF;AACA;EACE5D,OAAO,EAAEsD,kBAAA,CAAUO,IA/BS;;EAgC5B;AACF;AACA;AACA;AACA;EACE1D,QAAQ,EAAE,IAAA2D,wBAAA,EAAmBR,kBAAA,CAAUM,IAA7B,CArCkB;;EAsC5B;AACF;AACA;EACEhE,aAAa,EAAE0D,kBAAA,CAAUK,MAzCG;;EA0C5B;AACF;AACA;AACA;AACA;EACE7D,eAAe,EAAEwD,kBAAA,CAAUC,MA/CC;;EAgD5B;AACF;AACA;AACA;AACA;AACA;AACA;EACE7E,MAAM,EAAE4E,kBAAA,CAAUK;AAvDU,CAA9B;;eA0De,IAAAI,gBAAA,EAAWC,eAAX,EAAmB;EAAEC,IAAI,EAAE;AAAR,CAAnB,EAAoDtE,iBAApD,C"}
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationOption.js","names":["hideTooltip","evt","isOverFlow","target","children","length","Array","of","some","child","scrollWidth","clientWidth","wrapperTooltip","Component","label","ComponentFunction","NavigationOption","NavOpt"],"sources":["../../src/NavigationAnchors/NavigationOption.js"],"sourcesContent":["import { withTooltip } from \"@hitachivantara/uikit-react-core\";\n\nconst hideTooltip = (evt) => {\n const isOverFlow =\n evt.target.children.length > 1\n ? Array.of(...evt.target.children).some((child) => child.scrollWidth > child.clientWidth)\n : evt.target.scrollWidth > evt.target.clientWidth;\n return !isOverFlow;\n};\n\nconst wrapperTooltip = (Component, label) => {\n const ComponentFunction = () => Component;\n return withTooltip(ComponentFunction, label, \"top\", hideTooltip);\n};\n\nconst NavigationOption = (label) => {\n const NavOpt = wrapperTooltip(label, label);\n return NavOpt;\n};\n\nexport default NavigationOption;\n"],"mappings":";;;;;;;;;;;;;;;AAAA;;AAEA,IAAMA,WAAW,GAAG,SAAdA,WAAc,CAACC,GAAD,EAAS;EAC3B,IAAMC,UAAU,GACdD,GAAG,CAACE,MAAJ,CAAWC,QAAX,CAAoBC,MAApB,GAA6B,CAA7B,GACIC,KAAK,CAACC,EAAN,OAAAD,KAAK,mCAAOL,GAAG,CAACE,MAAJ,CAAWC,QAAlB,EAAL,CAAiCI,IAAjC,CAAsC,UAACC,KAAD;IAAA,OAAWA,KAAK,CAACC,WAAN,GAAoBD,KAAK,CAACE,WAArC;EAAA,CAAtC,CADJ,GAEIV,GAAG,CAACE,MAAJ,CAAWO,WAAX,GAAyBT,GAAG,CAACE,MAAJ,CAAWQ,WAH1C;EAIA,OAAO,CAACT,UAAR;AACD,CAND;;AAQA,IAAMU,cAAc,GAAG,SAAjBA,cAAiB,CAACC,SAAD,EAAYC,KAAZ,EAAsB;EAC3C,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB;IAAA,OAAMF,SAAN;EAAA,CAA1B;;EACA,OAAO,iCAAYE,iBAAZ,EAA+BD,KAA/B,EAAsC,KAAtC,EAA6Cd,WAA7C,CAAP;AACD,CAHD;;AAKA,IAAMgB,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACF,KAAD,EAAW;EAClC,IAAMG,MAAM,GAAGL,cAAc,CAACE,KAAD,EAAQA,KAAR,CAA7B;EACA,OAAOG,MAAP;AACD,CAHD;;eAKeD,gB"}
1
+ {"version":3,"file":"NavigationOption.js","names":["hideTooltip","evt","isOverFlow","target","children","length","Array","of","some","child","scrollWidth","clientWidth","wrapperTooltip","Component","label","ComponentFunction","withTooltip","NavigationOption","NavOpt"],"sources":["../../src/NavigationAnchors/NavigationOption.js"],"sourcesContent":["import { withTooltip } from \"@hitachivantara/uikit-react-core\";\n\nconst hideTooltip = (evt) => {\n const isOverFlow =\n evt.target.children.length > 1\n ? Array.of(...evt.target.children).some((child) => child.scrollWidth > child.clientWidth)\n : evt.target.scrollWidth > evt.target.clientWidth;\n return !isOverFlow;\n};\n\nconst wrapperTooltip = (Component, label) => {\n const ComponentFunction = () => Component;\n return withTooltip(ComponentFunction, label, \"top\", hideTooltip);\n};\n\nconst NavigationOption = (label) => {\n const NavOpt = wrapperTooltip(label, label);\n return NavOpt;\n};\n\nexport default NavigationOption;\n"],"mappings":";;;;;;;;;;;;;;;AAAA;;AAEA,IAAMA,WAAW,GAAG,SAAdA,WAAc,CAACC,GAAD,EAAS;EAC3B,IAAMC,UAAU,GACdD,GAAG,CAACE,MAAJ,CAAWC,QAAX,CAAoBC,MAApB,GAA6B,CAA7B,GACIC,KAAK,CAACC,EAAN,OAAAD,KAAK,mCAAOL,GAAG,CAACE,MAAJ,CAAWC,QAAlB,EAAL,CAAiCI,IAAjC,CAAsC,UAACC,KAAD;IAAA,OAAWA,KAAK,CAACC,WAAN,GAAoBD,KAAK,CAACE,WAArC;EAAA,CAAtC,CADJ,GAEIV,GAAG,CAACE,MAAJ,CAAWO,WAAX,GAAyBT,GAAG,CAACE,MAAJ,CAAWQ,WAH1C;EAIA,OAAO,CAACT,UAAR;AACD,CAND;;AAQA,IAAMU,cAAc,GAAG,SAAjBA,cAAiB,CAACC,SAAD,EAAYC,KAAZ,EAAsB;EAC3C,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB;IAAA,OAAMF,SAAN;EAAA,CAA1B;;EACA,OAAO,IAAAG,2BAAA,EAAYD,iBAAZ,EAA+BD,KAA/B,EAAsC,KAAtC,EAA6Cd,WAA7C,CAAP;AACD,CAHD;;AAKA,IAAMiB,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACH,KAAD,EAAW;EAClC,IAAMI,MAAM,GAAGN,cAAc,CAACE,KAAD,EAAQA,KAAR,CAA7B;EACA,OAAOI,MAAP;AACD,CAHD;;eAKeD,gB"}
@@ -1 +1 @@
1
- {"version":3,"file":"EmptyStatePanel.js","names":["EmptyStatePanel","id","classes","className","title","message","icon","root","emptyStateRoot","container","emptyStateContainer","iconContainer","emptyStateIconContainer","titleContainer","emptyStateTitleContainer","propTypes","PropTypes","string","isRequired","shape","element","styles","name"],"sources":["../../../src/NotificationPanel/EmptyStatePanel/EmptyStatePanel.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport { HvEmptyState } from \"@hitachivantara/uikit-react-core\";\nimport { Alert } from \"@hitachivantara/uikit-react-icons\";\n\nimport { withStyles } from \"@material-ui/core\";\nimport styles from \"./styles\";\n\nconst EmptyStatePanel = ({ id, classes, className, title, message, icon }) => {\n return (\n <HvEmptyState\n id={id}\n title={title}\n message={message}\n icon={icon || <Alert />}\n className={className}\n classes={{\n root: classes.emptyStateRoot,\n container: classes.emptyStateContainer,\n iconContainer: classes.emptyStateIconContainer,\n titleContainer: classes.emptyStateTitleContainer,\n }}\n />\n );\n};\n\nEmptyStatePanel.propTypes = {\n /**\n * Id of the EmptyStatePanel\n */\n id: PropTypes.string.isRequired,\n /**\n * A Jss Object used to override or extend the component styles.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root of the panel.\n */\n emptyStateRoot: PropTypes.string,\n /**\n * Styles applied to the EmptyStatePanel container.\n */\n emptyStateContainer: PropTypes.string,\n\n /**\n * Styles applied to the empty state container icon.\n */\n emptyStateIconContainer: PropTypes.string,\n\n /**\n * Styles applied to the EmptyStatePanel title.\n */\n emptyStateTitleContainer: PropTypes.string,\n }).isRequired,\n\n /**\n * Class names to be applied to the accordion.\n */\n className: PropTypes.string,\n /**\n * Title of the EmptyStatePanel\n */\n title: PropTypes.string.isRequired,\n /**\n * Message of the EmptyStatePanel\n */\n message: PropTypes.string.isRequired,\n /**\n * Empty Panel Icon\n */\n icon: PropTypes.element,\n};\nexport default withStyles(styles, { name: \"HvEmptyStatePanel\" })(EmptyStatePanel);\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AAEA;;AACA;;;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,OAAsD;EAAA,IAAnDC,EAAmD,QAAnDA,EAAmD;EAAA,IAA/CC,OAA+C,QAA/CA,OAA+C;EAAA,IAAtCC,SAAsC,QAAtCA,SAAsC;EAAA,IAA3BC,KAA2B,QAA3BA,KAA2B;EAAA,IAApBC,OAAoB,QAApBA,OAAoB;EAAA,IAAXC,IAAW,QAAXA,IAAW;EAC5E,oBACE,6BAAC,4BAAD;IACE,EAAE,EAAEL,EADN;IAEE,KAAK,EAAEG,KAFT;IAGE,OAAO,EAAEC,OAHX;IAIE,IAAI,EAAEC,IAAI,qCAAI,6BAAC,sBAAD,OAAJ,CAJZ;IAKE,SAAS,EAAEH,SALb;IAME,OAAO,EAAE;MACPI,IAAI,EAAEL,OAAO,CAACM,cADP;MAEPC,SAAS,EAAEP,OAAO,CAACQ,mBAFZ;MAGPC,aAAa,EAAET,OAAO,CAACU,uBAHhB;MAIPC,cAAc,EAAEX,OAAO,CAACY;IAJjB;EANX,EADF;AAeD,CAhBD;;AAkBA,wCAAAd,eAAe,CAACe,SAAhB,GAA4B;EAC1B;AACF;AACA;EACEd,EAAE,EAAEe,mBAAUC,MAAV,CAAiBC,UAJK;;EAK1B;AACF;AACA;EACEhB,OAAO,EAAEc,mBAAUG,KAAV,CAAgB;IACvB;AACJ;AACA;IACIX,cAAc,EAAEQ,mBAAUC,MAJH;;IAKvB;AACJ;AACA;IACIP,mBAAmB,EAAEM,mBAAUC,MARR;;IAUvB;AACJ;AACA;IACIL,uBAAuB,EAAEI,mBAAUC,MAbZ;;IAevB;AACJ;AACA;IACIH,wBAAwB,EAAEE,mBAAUC;EAlBb,CAAhB,EAmBNC,UA3BuB;;EA6B1B;AACF;AACA;EACEf,SAAS,EAAEa,mBAAUC,MAhCK;;EAiC1B;AACF;AACA;EACEb,KAAK,EAAEY,mBAAUC,MAAV,CAAiBC,UApCE;;EAqC1B;AACF;AACA;EACEb,OAAO,EAAEW,mBAAUC,MAAV,CAAiBC,UAxCA;;EAyC1B;AACF;AACA;EACEZ,IAAI,EAAEU,mBAAUI;AA5CU,CAA5B;;eA8Ce,sBAAWC,eAAX,EAAmB;EAAEC,IAAI,EAAE;AAAR,CAAnB,EAAkDtB,eAAlD,C"}
1
+ {"version":3,"file":"EmptyStatePanel.js","names":["EmptyStatePanel","id","classes","className","title","message","icon","root","emptyStateRoot","container","emptyStateContainer","iconContainer","emptyStateIconContainer","titleContainer","emptyStateTitleContainer","propTypes","PropTypes","string","isRequired","shape","element","withStyles","styles","name"],"sources":["../../../src/NotificationPanel/EmptyStatePanel/EmptyStatePanel.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport { HvEmptyState } from \"@hitachivantara/uikit-react-core\";\nimport { Alert } from \"@hitachivantara/uikit-react-icons\";\n\nimport { withStyles } from \"@material-ui/core\";\nimport styles from \"./styles\";\n\nconst EmptyStatePanel = ({ id, classes, className, title, message, icon }) => {\n return (\n <HvEmptyState\n id={id}\n title={title}\n message={message}\n icon={icon || <Alert />}\n className={className}\n classes={{\n root: classes.emptyStateRoot,\n container: classes.emptyStateContainer,\n iconContainer: classes.emptyStateIconContainer,\n titleContainer: classes.emptyStateTitleContainer,\n }}\n />\n );\n};\n\nEmptyStatePanel.propTypes = {\n /**\n * Id of the EmptyStatePanel\n */\n id: PropTypes.string.isRequired,\n /**\n * A Jss Object used to override or extend the component styles.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root of the panel.\n */\n emptyStateRoot: PropTypes.string,\n /**\n * Styles applied to the EmptyStatePanel container.\n */\n emptyStateContainer: PropTypes.string,\n\n /**\n * Styles applied to the empty state container icon.\n */\n emptyStateIconContainer: PropTypes.string,\n\n /**\n * Styles applied to the EmptyStatePanel title.\n */\n emptyStateTitleContainer: PropTypes.string,\n }).isRequired,\n\n /**\n * Class names to be applied to the accordion.\n */\n className: PropTypes.string,\n /**\n * Title of the EmptyStatePanel\n */\n title: PropTypes.string.isRequired,\n /**\n * Message of the EmptyStatePanel\n */\n message: PropTypes.string.isRequired,\n /**\n * Empty Panel Icon\n */\n icon: PropTypes.element,\n};\nexport default withStyles(styles, { name: \"HvEmptyStatePanel\" })(EmptyStatePanel);\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AAEA;;AACA;;;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,OAAsD;EAAA,IAAnDC,EAAmD,QAAnDA,EAAmD;EAAA,IAA/CC,OAA+C,QAA/CA,OAA+C;EAAA,IAAtCC,SAAsC,QAAtCA,SAAsC;EAAA,IAA3BC,KAA2B,QAA3BA,KAA2B;EAAA,IAApBC,OAAoB,QAApBA,OAAoB;EAAA,IAAXC,IAAW,QAAXA,IAAW;EAC5E,oBACE,6BAAC,4BAAD;IACE,EAAE,EAAEL,EADN;IAEE,KAAK,EAAEG,KAFT;IAGE,OAAO,EAAEC,OAHX;IAIE,IAAI,EAAEC,IAAI,qCAAI,6BAAC,sBAAD,OAAJ,CAJZ;IAKE,SAAS,EAAEH,SALb;IAME,OAAO,EAAE;MACPI,IAAI,EAAEL,OAAO,CAACM,cADP;MAEPC,SAAS,EAAEP,OAAO,CAACQ,mBAFZ;MAGPC,aAAa,EAAET,OAAO,CAACU,uBAHhB;MAIPC,cAAc,EAAEX,OAAO,CAACY;IAJjB;EANX,EADF;AAeD,CAhBD;;AAkBA,wCAAAd,eAAe,CAACe,SAAhB,GAA4B;EAC1B;AACF;AACA;EACEd,EAAE,EAAEe,kBAAA,CAAUC,MAAV,CAAiBC,UAJK;;EAK1B;AACF;AACA;EACEhB,OAAO,EAAEc,kBAAA,CAAUG,KAAV,CAAgB;IACvB;AACJ;AACA;IACIX,cAAc,EAAEQ,kBAAA,CAAUC,MAJH;;IAKvB;AACJ;AACA;IACIP,mBAAmB,EAAEM,kBAAA,CAAUC,MARR;;IAUvB;AACJ;AACA;IACIL,uBAAuB,EAAEI,kBAAA,CAAUC,MAbZ;;IAevB;AACJ;AACA;IACIH,wBAAwB,EAAEE,kBAAA,CAAUC;EAlBb,CAAhB,EAmBNC,UA3BuB;;EA6B1B;AACF;AACA;EACEf,SAAS,EAAEa,kBAAA,CAAUC,MAhCK;;EAiC1B;AACF;AACA;EACEb,KAAK,EAAEY,kBAAA,CAAUC,MAAV,CAAiBC,UApCE;;EAqC1B;AACF;AACA;EACEb,OAAO,EAAEW,kBAAA,CAAUC,MAAV,CAAiBC,UAxCA;;EAyC1B;AACF;AACA;EACEZ,IAAI,EAAEU,kBAAA,CAAUI;AA5CU,CAA5B;;eA8Ce,IAAAC,gBAAA,EAAWC,eAAX,EAAmB;EAAEC,IAAI,EAAE;AAAR,CAAnB,EAAkDvB,eAAlD,C"}
@@ -1 +1 @@
1
- {"version":3,"file":"Notification.js","names":["dayjs","extend","relativeTime","hideTooltip","evt","target","scrollHeight","clientHeight","wrapperTooltip","Component","label","ComponentFunction","style","Notification","classes","className","notificationId","title","isRead","icon","date","onClick","onKeyPress","rightContainer","isHighlighted","getTime","fromNow","d","format","isSame","Date","now","NotificationWithTooltip","messageContainer","event","root","notificationWrapperDropdown","read","notificationWrapper","notificationDropdownOpen","clickable","iconContainer","timeContainer","bullet","hide","time","notificationActionWrapper","propTypes","PropTypes","shape","string","isRequired","bool","oneOfType","number","object","element","func","node","styles","name"],"sources":["../../../src/NotificationPanel/Notification/Notification.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport dayjs from \"dayjs\";\nimport relativeTime from \"dayjs/plugin/relativeTime\";\nimport { HvTypography, withTooltip } from \"@hitachivantara/uikit-react-core\";\nimport { withStyles } from \"@material-ui/core\";\nimport styles from \"./styles\";\n\ndayjs.extend(relativeTime);\n\nconst hideTooltip = (evt) => evt.target.scrollHeight <= evt.target.clientHeight;\n\nconst wrapperTooltip = (Component, label) => {\n const ComponentFunction = () => Component;\n // override thr withTooltip styles as we want to use the styles of the component\n return withTooltip(ComponentFunction, label, \"top\", hideTooltip, { style: {} });\n};\n\nconst Notification = ({\n classes,\n className,\n notificationId,\n title,\n isRead,\n icon,\n date,\n onClick,\n onKeyPress,\n rightContainer,\n isHighlighted,\n}) => {\n const getTime = () => {\n if (!isRead) {\n return dayjs(date).fromNow();\n }\n\n const d = dayjs(date);\n let format = \"D MMMM YYYY, h:mm A\";\n\n if (d.isSame(Date.now(), \"week\")) {\n format = \"ddd, h:mm A\";\n }\n\n return d.format(format);\n };\n\n const NotificationWithTooltip = wrapperTooltip(\n <div className={classes.messageContainer}>\n <HvTypography variant={isRead ? \"normalText\" : \"highlightText\"}>{title}</HvTypography>\n </div>,\n title\n );\n\n return (\n <div\n onClick={(event) => onClick?.(event, notificationId)}\n onKeyPress={(event) => onKeyPress?.(event, notificationId)}\n className={clsx(className, classes.root, {\n [classes.notificationWrapperDropdown]: isHighlighted,\n [classes.read]: isRead,\n })}\n role=\"button\"\n tabIndex={0}\n >\n <div\n className={clsx(classes.notificationWrapper, {\n [classes.notificationDropdownOpen]: isHighlighted,\n [classes.clickable]: !!onClick,\n })}\n >\n <div className={classes.iconContainer}>{icon}</div>\n <div>\n <NotificationWithTooltip />\n <div className={classes.timeContainer}>\n <div\n className={clsx(classes.bullet, {\n [classes.hide]: isRead,\n })}\n />\n <div className={classes.time}>{getTime()}</div>\n </div>\n </div>\n </div>\n <div className={classes.notificationActionWrapper}>{rightContainer}</div>\n </div>\n );\n};\n\nNotification.propTypes = {\n /**\n * A Jss Object used to override or extend the component styles.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root of the accordion.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the notification wrapper.\n */\n notificationWrapper: PropTypes.string,\n\n /**\n * Styles applied to the notification wrapper when the actions dropdown is open.\n */\n notificationWrapperDropdown: PropTypes.string,\n\n /**\n * Styles applied to the notification icon container.\n */\n iconContainer: PropTypes.string,\n\n /**\n * Styles applied to the notification message container.\n */\n messageContainer: PropTypes.string,\n\n /**\n * Styles applied to the notification time container.\n */\n timeContainer: PropTypes.string,\n\n /**\n * Styles applied to the notification bullet.\n */\n bullet: PropTypes.string,\n\n /**\n * Styles applied to the content when it is hidden.\n */\n hide: PropTypes.string,\n\n /**\n * Styles applied to the notification time indicator.\n */\n time: PropTypes.string,\n /**\n * Styles applied to the notification is read.\n */\n read: PropTypes.string,\n /**\n * Styles applied when the notification dropdown is open.\n */\n notificationDropdownOpen: PropTypes.string,\n\n /**\n * Styles applied to the notification message actions dropdown.\n */\n notificationActionWrapper: PropTypes.string,\n /**\n * Styles applied to the notification when clickable\n */\n clickable: PropTypes.string,\n }).isRequired,\n\n /**\n * Class names to be applied to the accordion.\n */\n className: PropTypes.string,\n /**\n * Notification id\n */\n notificationId: PropTypes.string,\n /**\n * Title of the notification\n */\n title: PropTypes.string.isRequired,\n /**\n * 'true' if the notification has been read or 'false' if it has not been read\n */\n isRead: PropTypes.bool.isRequired,\n /**\n * date the notification was created\n */\n date: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.object]).isRequired,\n /**\n * renderable icon that denotes the status of the notification\n */\n icon: PropTypes.element,\n /**\n * Click action applied to the notification\n */\n onClick: PropTypes.func,\n /**\n * On Key Press action applied to the notification\n */\n onKeyPress: PropTypes.func,\n /**\n * Actions to be executed by the notification, available in the dropdown menu\n */\n rightContainer: PropTypes.node,\n /**\n * Denotes index of clicked notification\n */\n isHighlighted: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvNotificationPanelNotification\" })(Notification);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Notification.js","names":["dayjs","extend","relativeTime","hideTooltip","evt","target","scrollHeight","clientHeight","wrapperTooltip","Component","label","ComponentFunction","withTooltip","style","Notification","classes","className","notificationId","title","isRead","icon","date","onClick","onKeyPress","rightContainer","isHighlighted","getTime","fromNow","d","format","isSame","Date","now","NotificationWithTooltip","messageContainer","event","clsx","root","notificationWrapperDropdown","read","notificationWrapper","notificationDropdownOpen","clickable","iconContainer","timeContainer","bullet","hide","time","notificationActionWrapper","propTypes","PropTypes","shape","string","isRequired","bool","oneOfType","number","object","element","func","node","withStyles","styles","name"],"sources":["../../../src/NotificationPanel/Notification/Notification.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport dayjs from \"dayjs\";\nimport relativeTime from \"dayjs/plugin/relativeTime\";\nimport { HvTypography, withTooltip } from \"@hitachivantara/uikit-react-core\";\nimport { withStyles } from \"@material-ui/core\";\nimport styles from \"./styles\";\n\ndayjs.extend(relativeTime);\n\nconst hideTooltip = (evt) => evt.target.scrollHeight <= evt.target.clientHeight;\n\nconst wrapperTooltip = (Component, label) => {\n const ComponentFunction = () => Component;\n // override thr withTooltip styles as we want to use the styles of the component\n return withTooltip(ComponentFunction, label, \"top\", hideTooltip, { style: {} });\n};\n\nconst Notification = ({\n classes,\n className,\n notificationId,\n title,\n isRead,\n icon,\n date,\n onClick,\n onKeyPress,\n rightContainer,\n isHighlighted,\n}) => {\n const getTime = () => {\n if (!isRead) {\n return dayjs(date).fromNow();\n }\n\n const d = dayjs(date);\n let format = \"D MMMM YYYY, h:mm A\";\n\n if (d.isSame(Date.now(), \"week\")) {\n format = \"ddd, h:mm A\";\n }\n\n return d.format(format);\n };\n\n const NotificationWithTooltip = wrapperTooltip(\n <div className={classes.messageContainer}>\n <HvTypography variant={isRead ? \"normalText\" : \"highlightText\"}>{title}</HvTypography>\n </div>,\n title\n );\n\n return (\n <div\n onClick={(event) => onClick?.(event, notificationId)}\n onKeyPress={(event) => onKeyPress?.(event, notificationId)}\n className={clsx(className, classes.root, {\n [classes.notificationWrapperDropdown]: isHighlighted,\n [classes.read]: isRead,\n })}\n role=\"button\"\n tabIndex={0}\n >\n <div\n className={clsx(classes.notificationWrapper, {\n [classes.notificationDropdownOpen]: isHighlighted,\n [classes.clickable]: !!onClick,\n })}\n >\n <div className={classes.iconContainer}>{icon}</div>\n <div>\n <NotificationWithTooltip />\n <div className={classes.timeContainer}>\n <div\n className={clsx(classes.bullet, {\n [classes.hide]: isRead,\n })}\n />\n <div className={classes.time}>{getTime()}</div>\n </div>\n </div>\n </div>\n <div className={classes.notificationActionWrapper}>{rightContainer}</div>\n </div>\n );\n};\n\nNotification.propTypes = {\n /**\n * A Jss Object used to override or extend the component styles.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root of the accordion.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the notification wrapper.\n */\n notificationWrapper: PropTypes.string,\n\n /**\n * Styles applied to the notification wrapper when the actions dropdown is open.\n */\n notificationWrapperDropdown: PropTypes.string,\n\n /**\n * Styles applied to the notification icon container.\n */\n iconContainer: PropTypes.string,\n\n /**\n * Styles applied to the notification message container.\n */\n messageContainer: PropTypes.string,\n\n /**\n * Styles applied to the notification time container.\n */\n timeContainer: PropTypes.string,\n\n /**\n * Styles applied to the notification bullet.\n */\n bullet: PropTypes.string,\n\n /**\n * Styles applied to the content when it is hidden.\n */\n hide: PropTypes.string,\n\n /**\n * Styles applied to the notification time indicator.\n */\n time: PropTypes.string,\n /**\n * Styles applied to the notification is read.\n */\n read: PropTypes.string,\n /**\n * Styles applied when the notification dropdown is open.\n */\n notificationDropdownOpen: PropTypes.string,\n\n /**\n * Styles applied to the notification message actions dropdown.\n */\n notificationActionWrapper: PropTypes.string,\n /**\n * Styles applied to the notification when clickable\n */\n clickable: PropTypes.string,\n }).isRequired,\n\n /**\n * Class names to be applied to the accordion.\n */\n className: PropTypes.string,\n /**\n * Notification id\n */\n notificationId: PropTypes.string,\n /**\n * Title of the notification\n */\n title: PropTypes.string.isRequired,\n /**\n * 'true' if the notification has been read or 'false' if it has not been read\n */\n isRead: PropTypes.bool.isRequired,\n /**\n * date the notification was created\n */\n date: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.object]).isRequired,\n /**\n * renderable icon that denotes the status of the notification\n */\n icon: PropTypes.element,\n /**\n * Click action applied to the notification\n */\n onClick: PropTypes.func,\n /**\n * On Key Press action applied to the notification\n */\n onKeyPress: PropTypes.func,\n /**\n * Actions to be executed by the notification, available in the dropdown menu\n */\n rightContainer: PropTypes.node,\n /**\n * Denotes index of clicked notification\n */\n isHighlighted: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvNotificationPanelNotification\" })(Notification);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationPanel.js","names":["DEFAULT_LABELS","notificationGroupHeader","newNotifications","olderNotifications","notificationIndicator","label","buttonLabel","getGenericLocale","locale","includes","substr","indexOf","importAndLoadLocale","then","dayjs","catch","genericLocale","console","warn","HvNotificationPanel","id","className","classes","open","footer","notifications","hasNewNotifications","emptyStatePanelTitle","emptyStatePanelMessage","emptyStatePanelIcon","labelsProp","labels","newNotificationsButtonAction","localeProp","others","localeFromProvider","undefined","highlighted","setHighlighted","isExpanded","setIsExpanded","isLocaleLoaded","setIsLocaleLoaded","isMounted","generateNotificationsActions","notificationId","onToggle","actions","expand","dList","values","event","item","callback","s","dropDownMenuProps","notificationElementGenerator","notificationsToRender","map","notification","notificationIsHighlighted","title","isRead","icon","date","onClick","onKeyPress","hasNotifications","length","renderNotifications","root","closed","panel","emptyState","actionBarRoot","actionBar","propTypes","PropTypes","string","bool","shape","notificationsIndicator","isRequired","arrayOf","oneOfType","number","object","element","func","action","instanceOf","Object","node","styles","name"],"sources":["../../src/NotificationPanel/NotificationPanel.js"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport dayjs from \"dayjs\";\nimport { deprecatedPropType, withStyles } from \"@material-ui/core\";\nimport {\n HvPanel,\n HvActionBar,\n HvDropDownMenu,\n setId,\n useLabels,\n useLocale,\n} from \"@hitachivantara/uikit-react-core\";\n\nimport styles from \"./styles\";\n\nimport Notification from \"./Notification\";\nimport EmptyStatePanel from \"./EmptyStatePanel\";\nimport NotificationsIndicator from \"./NotificationsIndicator\";\n\nconst DEFAULT_LABELS = {\n notificationGroupHeader: {\n newNotifications: \"New\",\n olderNotifications: \"Earlier\",\n },\n notificationIndicator: {\n label: \"You have new notifications\",\n buttonLabel: \"Update\",\n },\n};\n\n/**\n * Obtains a simplified locale, if possible, e.g: \"en-US\" returns \"en\".\n *\n * @param {string} locale - The locale to be used\n * @returns The more generic locale if found\n */\nexport const getGenericLocale = (locale) =>\n locale.includes(\"-\") && locale.substr(0, locale.indexOf(\"-\"));\n\n/**\n * Imports and load the received locale in order to be used by dayjs. If the provided locale or a generic one\n * obtained is not possible to load, then dayjs will fallback to its default.\n *\n * @param {string} locale - The locale to be used\n */\nconst importAndLoadLocale = async (locale) => {\n await import(`dayjs/locale/${locale}.js`)\n .then(() => {\n dayjs.locale(locale);\n })\n .catch(async () => {\n const genericLocale = getGenericLocale(locale);\n await import(`dayjs/locale/${genericLocale}.js`)\n .then(() => dayjs.locale(genericLocale))\n // eslint-disable-next-line no-console\n .catch(() => console.warn(`Unable to load locale: ${locale}. Falling back to the default`));\n });\n};\n\n/**\n * Notification Panel displays all of read and unread notifications. Still in development\n */\nconst HvNotificationPanel = ({\n id,\n className,\n classes,\n open,\n footer,\n notifications,\n hasNewNotifications = false,\n emptyStatePanelTitle = \"No notifications\",\n emptyStatePanelMessage = \"You currently have no notifications.\",\n emptyStatePanelIcon,\n labels: labelsProp,\n newNotificationsButtonAction,\n locale: localeProp,\n ...others\n}) => {\n const localeFromProvider = useLocale();\n\n const locale = localeProp || localeFromProvider;\n\n const [highlighted, setHighlighted] = useState(undefined);\n const [isExpanded, setIsExpanded] = useState(false);\n const [isLocaleLoaded, setIsLocaleLoaded] = useState(false);\n\n useEffect(() => {\n // We're using this mount logic to avoid potential memory leak problems.\n let isMounted = true;\n\n if (!isLocaleLoaded) {\n importAndLoadLocale(locale).then(() => {\n if (isMounted) {\n setIsLocaleLoaded(true);\n }\n });\n }\n return () => {\n isMounted = false;\n };\n });\n\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const generateNotificationsActions = (notificationId, onToggle, actions) => {\n const expand = notificationId === highlighted;\n const dList = [...actions.values];\n return (\n <HvDropDownMenu\n expanded={expand}\n onClick={(event, item) => {\n setHighlighted(undefined);\n item?.callback?.(event, notificationId);\n }}\n dataList={dList}\n onToggle={(event, s) => {\n onToggle?.(event, s);\n if (s) {\n setHighlighted(notificationId);\n } else {\n setHighlighted(undefined);\n }\n setIsExpanded(!isExpanded);\n }}\n {...actions.dropDownMenuProps}\n />\n );\n };\n\n const notificationElementGenerator = (notificationsToRender) => {\n return notificationsToRender.map((notification) => {\n const notificationIsHighlighted = highlighted === notification.id;\n return (\n <Notification\n key={notification.id}\n notificationId={notification.id}\n title={notification.title}\n isRead={notification.isRead}\n icon={notification.icon}\n date={notification.date}\n onClick={notification.onClick}\n onKeyPress={notification.onKeyPress}\n rightContainer={generateNotificationsActions(\n notification.id,\n notification.onToggle,\n notification.actions\n )}\n isHighlighted={notificationIsHighlighted}\n locale={locale}\n />\n );\n });\n };\n\n const hasNotifications = notifications.length > 0;\n\n const renderNotifications = (notificationsToRender) =>\n notificationElementGenerator(notificationsToRender);\n\n return (\n <HvPanel\n id={id}\n className={clsx(className, classes.root, {\n [classes.closed]: open === false,\n [classes.open]: open,\n })}\n {...others}\n >\n {hasNewNotifications && (\n <NotificationsIndicator\n labels={labels.notificationIndicator}\n onClick={newNotificationsButtonAction}\n />\n )}\n {hasNotifications ? (\n <div className={classes.panel}>\n {notifications.length > 0 && renderNotifications(notifications)}\n </div>\n ) : (\n <EmptyStatePanel\n id={setId(id, \"empty-state\")}\n title={emptyStatePanelTitle}\n message={emptyStatePanelMessage}\n icon={emptyStatePanelIcon}\n className={classes.emptyState}\n />\n )}\n {footer && (\n <HvActionBar\n id={setId(id, \"action-bar\")}\n classes={{\n root: classes.actionBarRoot,\n }}\n className={classes.actionBar}\n >\n {footer}\n </HvActionBar>\n )}\n </HvPanel>\n );\n};\n\nHvNotificationPanel.propTypes = {\n /**\n * Id to be applied to the root node of the panel.\n */\n id: PropTypes.string,\n /**\n * Class names to be applied to the root element.\n */\n className: PropTypes.string,\n /**\n * 'true' if panel is open or 'false' if the panel is not open\n *\n * @deprecated This logic should be external, i.e. using the HvAppSwitcherPanel inside a Drawer component.\n */\n open: deprecatedPropType(PropTypes.bool),\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * styles object applied to the root\n */\n root: PropTypes.string,\n /**\n * styles object applied to the root when closed\n */\n closed: PropTypes.string,\n /**\n * styles object applied to the root when open\n */\n open: PropTypes.string,\n /**\n * styles object applied to the panel\n */\n panel: PropTypes.string,\n /**\n * styles object applied to the action bar\n */\n actionBar: PropTypes.string,\n /**\n * styles object applied to the root of the action bar\n */\n actionBarRoot: PropTypes.string,\n /**\n * styles object applied to the new notification indicator\n */\n notificationsIndicator: PropTypes.string,\n /**\n * styles object applied to the empty state panel\n */\n emptyState: PropTypes.string,\n }).isRequired,\n /**\n * The properties of the notifications to be rendered in the Panel.\n */\n notifications: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n isRead: PropTypes.bool.isRequired,\n date: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.object]).isRequired,\n icon: PropTypes.element,\n onClick: PropTypes.func,\n onKeyPress: PropTypes.func,\n onToggle: PropTypes.func,\n actions: PropTypes.shape({\n label: PropTypes.bool,\n action: PropTypes.string,\n callback: PropTypes.func,\n dropDownMenuProps: PropTypes.instanceOf(Object),\n }),\n })\n ),\n /**\n * Whether to render the new notifications indicator\n */\n hasNewNotifications: PropTypes.bool,\n /**\n * Action buttons to render in footer\n */\n footer: PropTypes.node,\n /**\n * Title of the EmptyStatePanel\n */\n emptyStatePanelTitle: PropTypes.string,\n /**\n * Message of the EmptyStatePanel\n */\n emptyStatePanelMessage: PropTypes.string,\n /**\n * Empty Panel custom Icon\n */\n emptyStatePanelIcon: PropTypes.node,\n /**\n * Labels to apply to the Panel\n */\n labels: PropTypes.shape({\n /**\n * Labels to apply to the groups separating newer and older notifications\n */\n notificationGroupHeader: {\n olderNotifications: PropTypes.string,\n newNotifications: PropTypes.string,\n },\n /**\n * Labels to apply to the element of the New Notifications Indicator\n */\n notificationIndicator: {\n label: PropTypes.string,\n buttonLabel: PropTypes.string,\n },\n }),\n /**\n * Function to be supplied to the notification update button\n */\n newNotificationsButtonAction: PropTypes.func,\n /**\n * The locale to be used on the notification date, if undefined it will use the one from the HvProvider\n */\n locale: PropTypes.string,\n};\n\nexport default withStyles(styles, { name: \"HvNotificationPanel\" })(HvNotificationPanel);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AASA;;AAEA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,cAAc,GAAG;EACrBC,uBAAuB,EAAE;IACvBC,gBAAgB,EAAE,KADK;IAEvBC,kBAAkB,EAAE;EAFG,CADJ;EAKrBC,qBAAqB,EAAE;IACrBC,KAAK,EAAE,4BADc;IAErBC,WAAW,EAAE;EAFQ;AALF,CAAvB;AAWA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,MAAD;EAAA,OAC9BA,MAAM,CAACC,QAAP,CAAgB,GAAhB,KAAwBD,MAAM,CAACE,MAAP,CAAc,CAAd,EAAiBF,MAAM,CAACG,OAAP,CAAe,GAAf,CAAjB,CADM;AAAA,CAAzB;AAGP;AACA;AACA;AACA;AACA;AACA;;;;;AACA,IAAMC,mBAAmB;EAAA,mFAAG,kBAAOJ,MAAP;IAAA;MAAA;QAAA;UAAA;YAAA;YAAA,OACpB,uCAAuBA,MAAvB;cAAA;YAAA,GACHK,IADG,CACE,YAAM;cACVC,eAAMN,MAAN,CAAaA,MAAb;YACD,CAHG,EAIHO,KAJG,uFAIG;cAAA;cAAA;gBAAA;kBAAA;oBAAA;sBACCC,aADD,GACiBT,gBAAgB,CAACC,MAAD,CADjC;sBAAA;sBAAA,OAEC,uCAAuBQ,aAAvB;wBAAA;sBAAA,GACHH,IADG,CACE;wBAAA,OAAMC,eAAMN,MAAN,CAAaQ,aAAb,CAAN;sBAAA,CADF,EAEJ;sBAFI,CAGHD,KAHG,CAGG;wBAAA,OAAME,OAAO,CAACC,IAAR,kCAAuCV,MAAvC,mCAAN;sBAAA,CAHH,CAFD;;oBAAA;oBAAA;sBAAA;kBAAA;gBAAA;cAAA;YAAA,CAJH,GADoB;;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CAAH;;EAAA,gBAAnBI,mBAAmB;IAAA;EAAA;AAAA,GAAzB;AAcA;AACA;AACA;;;AACA,IAAMO,mBAAmB,GAAG,SAAtBA,mBAAsB,QAetB;EAAA,IAdJC,EAcI,SAdJA,EAcI;EAAA,IAbJC,SAaI,SAbJA,SAaI;EAAA,IAZJC,OAYI,SAZJA,OAYI;EAAA,IAXJC,IAWI,SAXJA,IAWI;EAAA,IAVJC,MAUI,SAVJA,MAUI;EAAA,IATJC,aASI,SATJA,aASI;EAAA,kCARJC,mBAQI;EAAA,IARJA,mBAQI,sCARkB,KAQlB;EAAA,kCAPJC,oBAOI;EAAA,IAPJA,oBAOI,sCAPmB,kBAOnB;EAAA,mCANJC,sBAMI;EAAA,IANJA,sBAMI,uCANqB,sCAMrB;EAAA,IALJC,mBAKI,SALJA,mBAKI;EAAA,IAJIC,UAIJ,SAJJC,MAII;EAAA,IAHJC,4BAGI,SAHJA,4BAGI;EAAA,IAFIC,UAEJ,SAFJzB,MAEI;EAAA,IADD0B,MACC;EACJ,IAAMC,kBAAkB,GAAG,gCAA3B;EAEA,IAAM3B,MAAM,GAAGyB,UAAU,IAAIE,kBAA7B;;EAEA,gBAAsC,qBAASC,SAAT,CAAtC;EAAA;EAAA,IAAOC,WAAP;EAAA,IAAoBC,cAApB;;EACA,iBAAoC,qBAAS,KAAT,CAApC;EAAA;EAAA,IAAOC,UAAP;EAAA,IAAmBC,aAAnB;;EACA,iBAA4C,qBAAS,KAAT,CAA5C;EAAA;EAAA,IAAOC,cAAP;EAAA,IAAuBC,iBAAvB;;EAEA,sBAAU,YAAM;IACd;IACA,IAAIC,SAAS,GAAG,IAAhB;;IAEA,IAAI,CAACF,cAAL,EAAqB;MACnB7B,mBAAmB,CAACJ,MAAD,CAAnB,CAA4BK,IAA5B,CAAiC,YAAM;QACrC,IAAI8B,SAAJ,EAAe;UACbD,iBAAiB,CAAC,IAAD,CAAjB;QACD;MACF,CAJD;IAKD;;IACD,OAAO,YAAM;MACXC,SAAS,GAAG,KAAZ;IACD,CAFD;EAGD,CAdD;EAgBA,IAAMZ,MAAM,GAAG,+BAAU/B,cAAV,EAA0B8B,UAA1B,CAAf;;EAEA,IAAMc,4BAA4B,GAAG,SAA/BA,4BAA+B,CAACC,cAAD,EAAiBC,SAAjB,EAA2BC,OAA3B,EAAuC;IAC1E,IAAMC,MAAM,GAAGH,cAAc,KAAKR,WAAlC;IACA,IAAMY,KAAK,oCAAOF,OAAO,CAACG,MAAf,CAAX;IACA,oBACE,6BAAC,8BAAD;MACE,QAAQ,EAAEF,MADZ;MAEE,OAAO,EAAE,iBAACG,KAAD,EAAQC,IAAR,EAAiB;QAAA;;QACxBd,cAAc,CAACF,SAAD,CAAd;QACAgB,IAAI,SAAJ,IAAAA,IAAI,WAAJ,8BAAAA,IAAI,CAAEC,QAAN,uEAAAD,IAAI,EAAaD,KAAb,EAAoBN,cAApB,CAAJ;MACD,CALH;MAME,QAAQ,EAAEI,KANZ;MAOE,QAAQ,EAAE,kBAACE,KAAD,EAAQG,CAAR,EAAc;QACtBR,SAAQ,SAAR,IAAAA,SAAQ,WAAR,YAAAA,SAAQ,CAAGK,KAAH,EAAUG,CAAV,CAAR;;QACA,IAAIA,CAAJ,EAAO;UACLhB,cAAc,CAACO,cAAD,CAAd;QACD,CAFD,MAEO;UACLP,cAAc,CAACF,SAAD,CAAd;QACD;;QACDI,aAAa,CAAC,CAACD,UAAF,CAAb;MACD;IAfH,GAgBMQ,OAAO,CAACQ,iBAhBd,EADF;EAoBD,CAvBD;;EAyBA,IAAMC,4BAA4B,GAAG,SAA/BA,4BAA+B,CAACC,qBAAD,EAA2B;IAC9D,OAAOA,qBAAqB,CAACC,GAAtB,CAA0B,UAACC,YAAD,EAAkB;MACjD,IAAMC,yBAAyB,GAAGvB,WAAW,KAAKsB,YAAY,CAACvC,EAA/D;MACA,oBACE,6BAAC,qBAAD;QACE,GAAG,EAAEuC,YAAY,CAACvC,EADpB;QAEE,cAAc,EAAEuC,YAAY,CAACvC,EAF/B;QAGE,KAAK,EAAEuC,YAAY,CAACE,KAHtB;QAIE,MAAM,EAAEF,YAAY,CAACG,MAJvB;QAKE,IAAI,EAAEH,YAAY,CAACI,IALrB;QAME,IAAI,EAAEJ,YAAY,CAACK,IANrB;QAOE,OAAO,EAAEL,YAAY,CAACM,OAPxB;QAQE,UAAU,EAAEN,YAAY,CAACO,UAR3B;QASE,cAAc,EAAEtB,4BAA4B,CAC1Ce,YAAY,CAACvC,EAD6B,EAE1CuC,YAAY,CAACb,QAF6B,EAG1Ca,YAAY,CAACZ,OAH6B,CAT9C;QAcE,aAAa,EAAEa,yBAdjB;QAeE,MAAM,EAAEpD;MAfV,EADF;IAmBD,CArBM,CAAP;EAsBD,CAvBD;;EAyBA,IAAM2D,gBAAgB,GAAG1C,aAAa,CAAC2C,MAAd,GAAuB,CAAhD;;EAEA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACZ,qBAAD;IAAA,OAC1BD,4BAA4B,CAACC,qBAAD,CADF;EAAA,CAA5B;;EAGA,oBACE,6BAAC,uBAAD;IACE,EAAE,EAAErC,EADN;IAEE,SAAS,EAAE,mBAAKC,SAAL,EAAgBC,OAAO,CAACgD,IAAxB,EACS/C,IAAI,KAAK,KADlB,IACRD,OAAO,CAACiD,MADA,EAEOhD,IAFP,IAERD,OAAO,CAACC,IAFA;EAFb,GAMMW,MANN,GAQGR,mBAAmB,iBAClB,6BAAC,+BAAD;IACE,MAAM,EAAEK,MAAM,CAAC3B,qBADjB;IAEE,OAAO,EAAE4B;EAFX,EATJ,EAcGmC,gBAAgB,gBACf;IAAK,SAAS,EAAE7C,OAAO,CAACkD;EAAxB,GACG/C,aAAa,CAAC2C,MAAd,GAAuB,CAAvB,IAA4BC,mBAAmB,CAAC5C,aAAD,CADlD,CADe,gBAKf,6BAAC,wBAAD;IACE,EAAE,EAAE,2BAAML,EAAN,EAAU,aAAV,CADN;IAEE,KAAK,EAAEO,oBAFT;IAGE,OAAO,EAAEC,sBAHX;IAIE,IAAI,EAAEC,mBAJR;IAKE,SAAS,EAAEP,OAAO,CAACmD;EALrB,EAnBJ,EA2BGjD,MAAM,iBACL,6BAAC,2BAAD;IACE,EAAE,EAAE,2BAAMJ,EAAN,EAAU,YAAV,CADN;IAEE,OAAO,EAAE;MACPkD,IAAI,EAAEhD,OAAO,CAACoD;IADP,CAFX;IAKE,SAAS,EAAEpD,OAAO,CAACqD;EALrB,GAOGnD,MAPH,CA5BJ,CADF;AAyCD,CA1ID;;AA4IA,wCAAAL,mBAAmB,CAACyD,SAApB,GAAgC;EAC9B;AACF;AACA;EACExD,EAAE,EAAEyD,mBAAUC,MAJgB;;EAK9B;AACF;AACA;EACEzD,SAAS,EAAEwD,mBAAUC,MARS;;EAS9B;AACF;AACA;AACA;AACA;EACEvD,IAAI,EAAE,8BAAmBsD,mBAAUE,IAA7B,CAdwB;;EAe9B;AACF;AACA;EACEzD,OAAO,EAAEuD,mBAAUG,KAAV,CAAgB;IACvB;AACJ;AACA;IACIV,IAAI,EAAEO,mBAAUC,MAJO;;IAKvB;AACJ;AACA;IACIP,MAAM,EAAEM,mBAAUC,MARK;;IASvB;AACJ;AACA;IACIvD,IAAI,EAAEsD,mBAAUC,MAZO;;IAavB;AACJ;AACA;IACIN,KAAK,EAAEK,mBAAUC,MAhBM;;IAiBvB;AACJ;AACA;IACIH,SAAS,EAAEE,mBAAUC,MApBE;;IAqBvB;AACJ;AACA;IACIJ,aAAa,EAAEG,mBAAUC,MAxBF;;IAyBvB;AACJ;AACA;IACIG,sBAAsB,EAAEJ,mBAAUC,MA5BX;;IA6BvB;AACJ;AACA;IACIL,UAAU,EAAEI,mBAAUC;EAhCC,CAAhB,EAiCNI,UAnD2B;;EAoD9B;AACF;AACA;EACEzD,aAAa,EAAEoD,mBAAUM,OAAV,CACbN,mBAAUG,KAAV,CAAgB;IACd5D,EAAE,EAAEyD,mBAAUC,MAAV,CAAiBI,UADP;IAEdrB,KAAK,EAAEgB,mBAAUC,MAAV,CAAiBI,UAFV;IAGdpB,MAAM,EAAEe,mBAAUE,IAAV,CAAeG,UAHT;IAIdlB,IAAI,EAAEa,mBAAUO,SAAV,CAAoB,CAACP,mBAAUC,MAAX,EAAmBD,mBAAUQ,MAA7B,EAAqCR,mBAAUS,MAA/C,CAApB,EAA4EJ,UAJpE;IAKdnB,IAAI,EAAEc,mBAAUU,OALF;IAMdtB,OAAO,EAAEY,mBAAUW,IANL;IAOdtB,UAAU,EAAEW,mBAAUW,IAPR;IAQd1C,QAAQ,EAAE+B,mBAAUW,IARN;IASdzC,OAAO,EAAE8B,mBAAUG,KAAV,CAAgB;MACvB3E,KAAK,EAAEwE,mBAAUE,IADM;MAEvBU,MAAM,EAAEZ,mBAAUC,MAFK;MAGvBzB,QAAQ,EAAEwB,mBAAUW,IAHG;MAIvBjC,iBAAiB,EAAEsB,mBAAUa,UAAV,CAAqBC,MAArB;IAJI,CAAhB;EATK,CAAhB,CADa,CAvDe;;EAyE9B;AACF;AACA;EACEjE,mBAAmB,EAAEmD,mBAAUE,IA5ED;;EA6E9B;AACF;AACA;EACEvD,MAAM,EAAEqD,mBAAUe,IAhFY;;EAiF9B;AACF;AACA;EACEjE,oBAAoB,EAAEkD,mBAAUC,MApFF;;EAqF9B;AACF;AACA;EACElD,sBAAsB,EAAEiD,mBAAUC,MAxFJ;;EAyF9B;AACF;AACA;EACEjD,mBAAmB,EAAEgD,mBAAUe,IA5FD;;EA6F9B;AACF;AACA;EACE7D,MAAM,EAAE8C,mBAAUG,KAAV,CAAgB;IACtB;AACJ;AACA;IACI/E,uBAAuB,EAAE;MACvBE,kBAAkB,EAAE0E,mBAAUC,MADP;MAEvB5E,gBAAgB,EAAE2E,mBAAUC;IAFL,CAJH;;IAQtB;AACJ;AACA;IACI1E,qBAAqB,EAAE;MACrBC,KAAK,EAAEwE,mBAAUC,MADI;MAErBxE,WAAW,EAAEuE,mBAAUC;IAFF;EAXD,CAAhB,CAhGsB;;EAgH9B;AACF;AACA;EACE9C,4BAA4B,EAAE6C,mBAAUW,IAnHV;;EAoH9B;AACF;AACA;EACEhF,MAAM,EAAEqE,mBAAUC;AAvHY,CAAhC;;eA0He,sBAAWe,eAAX,EAAmB;EAAEC,IAAI,EAAE;AAAR,CAAnB,EAAoD3E,mBAApD,C"}
1
+ {"version":3,"file":"NotificationPanel.js","names":["DEFAULT_LABELS","notificationGroupHeader","newNotifications","olderNotifications","notificationIndicator","label","buttonLabel","getGenericLocale","locale","includes","substr","indexOf","importAndLoadLocale","then","dayjs","catch","genericLocale","console","warn","HvNotificationPanel","id","className","classes","open","footer","notifications","hasNewNotifications","emptyStatePanelTitle","emptyStatePanelMessage","emptyStatePanelIcon","labelsProp","labels","newNotificationsButtonAction","localeProp","others","localeFromProvider","useLocale","useState","undefined","highlighted","setHighlighted","isExpanded","setIsExpanded","isLocaleLoaded","setIsLocaleLoaded","useEffect","isMounted","useLabels","generateNotificationsActions","notificationId","onToggle","actions","expand","dList","values","event","item","callback","s","dropDownMenuProps","notificationElementGenerator","notificationsToRender","map","notification","notificationIsHighlighted","title","isRead","icon","date","onClick","onKeyPress","hasNotifications","length","renderNotifications","clsx","root","closed","panel","setId","emptyState","actionBarRoot","actionBar","propTypes","PropTypes","string","deprecatedPropType","bool","shape","notificationsIndicator","isRequired","arrayOf","oneOfType","number","object","element","func","action","instanceOf","Object","node","withStyles","styles","name"],"sources":["../../src/NotificationPanel/NotificationPanel.js"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport dayjs from \"dayjs\";\nimport { deprecatedPropType, withStyles } from \"@material-ui/core\";\nimport {\n HvPanel,\n HvActionBar,\n HvDropDownMenu,\n setId,\n useLabels,\n useLocale,\n} from \"@hitachivantara/uikit-react-core\";\n\nimport styles from \"./styles\";\n\nimport Notification from \"./Notification\";\nimport EmptyStatePanel from \"./EmptyStatePanel\";\nimport NotificationsIndicator from \"./NotificationsIndicator\";\n\nconst DEFAULT_LABELS = {\n notificationGroupHeader: {\n newNotifications: \"New\",\n olderNotifications: \"Earlier\",\n },\n notificationIndicator: {\n label: \"You have new notifications\",\n buttonLabel: \"Update\",\n },\n};\n\n/**\n * Obtains a simplified locale, if possible, e.g: \"en-US\" returns \"en\".\n *\n * @param {string} locale - The locale to be used\n * @returns The more generic locale if found\n */\nexport const getGenericLocale = (locale) =>\n locale.includes(\"-\") && locale.substr(0, locale.indexOf(\"-\"));\n\n/**\n * Imports and load the received locale in order to be used by dayjs. If the provided locale or a generic one\n * obtained is not possible to load, then dayjs will fallback to its default.\n *\n * @param {string} locale - The locale to be used\n */\nconst importAndLoadLocale = async (locale) => {\n await import(`dayjs/locale/${locale}.js`)\n .then(() => {\n dayjs.locale(locale);\n })\n .catch(async () => {\n const genericLocale = getGenericLocale(locale);\n await import(`dayjs/locale/${genericLocale}.js`)\n .then(() => dayjs.locale(genericLocale))\n // eslint-disable-next-line no-console\n .catch(() => console.warn(`Unable to load locale: ${locale}. Falling back to the default`));\n });\n};\n\n/**\n * Notification Panel displays all of read and unread notifications. Still in development\n */\nconst HvNotificationPanel = ({\n id,\n className,\n classes,\n open,\n footer,\n notifications,\n hasNewNotifications = false,\n emptyStatePanelTitle = \"No notifications\",\n emptyStatePanelMessage = \"You currently have no notifications.\",\n emptyStatePanelIcon,\n labels: labelsProp,\n newNotificationsButtonAction,\n locale: localeProp,\n ...others\n}) => {\n const localeFromProvider = useLocale();\n\n const locale = localeProp || localeFromProvider;\n\n const [highlighted, setHighlighted] = useState(undefined);\n const [isExpanded, setIsExpanded] = useState(false);\n const [isLocaleLoaded, setIsLocaleLoaded] = useState(false);\n\n useEffect(() => {\n // We're using this mount logic to avoid potential memory leak problems.\n let isMounted = true;\n\n if (!isLocaleLoaded) {\n importAndLoadLocale(locale).then(() => {\n if (isMounted) {\n setIsLocaleLoaded(true);\n }\n });\n }\n return () => {\n isMounted = false;\n };\n });\n\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const generateNotificationsActions = (notificationId, onToggle, actions) => {\n const expand = notificationId === highlighted;\n const dList = [...actions.values];\n return (\n <HvDropDownMenu\n expanded={expand}\n onClick={(event, item) => {\n setHighlighted(undefined);\n item?.callback?.(event, notificationId);\n }}\n dataList={dList}\n onToggle={(event, s) => {\n onToggle?.(event, s);\n if (s) {\n setHighlighted(notificationId);\n } else {\n setHighlighted(undefined);\n }\n setIsExpanded(!isExpanded);\n }}\n {...actions.dropDownMenuProps}\n />\n );\n };\n\n const notificationElementGenerator = (notificationsToRender) => {\n return notificationsToRender.map((notification) => {\n const notificationIsHighlighted = highlighted === notification.id;\n return (\n <Notification\n key={notification.id}\n notificationId={notification.id}\n title={notification.title}\n isRead={notification.isRead}\n icon={notification.icon}\n date={notification.date}\n onClick={notification.onClick}\n onKeyPress={notification.onKeyPress}\n rightContainer={generateNotificationsActions(\n notification.id,\n notification.onToggle,\n notification.actions\n )}\n isHighlighted={notificationIsHighlighted}\n locale={locale}\n />\n );\n });\n };\n\n const hasNotifications = notifications.length > 0;\n\n const renderNotifications = (notificationsToRender) =>\n notificationElementGenerator(notificationsToRender);\n\n return (\n <HvPanel\n id={id}\n className={clsx(className, classes.root, {\n [classes.closed]: open === false,\n [classes.open]: open,\n })}\n {...others}\n >\n {hasNewNotifications && (\n <NotificationsIndicator\n labels={labels.notificationIndicator}\n onClick={newNotificationsButtonAction}\n />\n )}\n {hasNotifications ? (\n <div className={classes.panel}>\n {notifications.length > 0 && renderNotifications(notifications)}\n </div>\n ) : (\n <EmptyStatePanel\n id={setId(id, \"empty-state\")}\n title={emptyStatePanelTitle}\n message={emptyStatePanelMessage}\n icon={emptyStatePanelIcon}\n className={classes.emptyState}\n />\n )}\n {footer && (\n <HvActionBar\n id={setId(id, \"action-bar\")}\n classes={{\n root: classes.actionBarRoot,\n }}\n className={classes.actionBar}\n >\n {footer}\n </HvActionBar>\n )}\n </HvPanel>\n );\n};\n\nHvNotificationPanel.propTypes = {\n /**\n * Id to be applied to the root node of the panel.\n */\n id: PropTypes.string,\n /**\n * Class names to be applied to the root element.\n */\n className: PropTypes.string,\n /**\n * 'true' if panel is open or 'false' if the panel is not open\n *\n * @deprecated This logic should be external, i.e. using the HvAppSwitcherPanel inside a Drawer component.\n */\n open: deprecatedPropType(PropTypes.bool),\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * styles object applied to the root\n */\n root: PropTypes.string,\n /**\n * styles object applied to the root when closed\n */\n closed: PropTypes.string,\n /**\n * styles object applied to the root when open\n */\n open: PropTypes.string,\n /**\n * styles object applied to the panel\n */\n panel: PropTypes.string,\n /**\n * styles object applied to the action bar\n */\n actionBar: PropTypes.string,\n /**\n * styles object applied to the root of the action bar\n */\n actionBarRoot: PropTypes.string,\n /**\n * styles object applied to the new notification indicator\n */\n notificationsIndicator: PropTypes.string,\n /**\n * styles object applied to the empty state panel\n */\n emptyState: PropTypes.string,\n }).isRequired,\n /**\n * The properties of the notifications to be rendered in the Panel.\n */\n notifications: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n isRead: PropTypes.bool.isRequired,\n date: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.object]).isRequired,\n icon: PropTypes.element,\n onClick: PropTypes.func,\n onKeyPress: PropTypes.func,\n onToggle: PropTypes.func,\n actions: PropTypes.shape({\n label: PropTypes.bool,\n action: PropTypes.string,\n callback: PropTypes.func,\n dropDownMenuProps: PropTypes.instanceOf(Object),\n }),\n })\n ),\n /**\n * Whether to render the new notifications indicator\n */\n hasNewNotifications: PropTypes.bool,\n /**\n * Action buttons to render in footer\n */\n footer: PropTypes.node,\n /**\n * Title of the EmptyStatePanel\n */\n emptyStatePanelTitle: PropTypes.string,\n /**\n * Message of the EmptyStatePanel\n */\n emptyStatePanelMessage: PropTypes.string,\n /**\n * Empty Panel custom Icon\n */\n emptyStatePanelIcon: PropTypes.node,\n /**\n * Labels to apply to the Panel\n */\n labels: PropTypes.shape({\n /**\n * Labels to apply to the groups separating newer and older notifications\n */\n notificationGroupHeader: {\n olderNotifications: PropTypes.string,\n newNotifications: PropTypes.string,\n },\n /**\n * Labels to apply to the element of the New Notifications Indicator\n */\n notificationIndicator: {\n label: PropTypes.string,\n buttonLabel: PropTypes.string,\n },\n }),\n /**\n * Function to be supplied to the notification update button\n */\n newNotificationsButtonAction: PropTypes.func,\n /**\n * The locale to be used on the notification date, if undefined it will use the one from the HvProvider\n */\n locale: PropTypes.string,\n};\n\nexport default withStyles(styles, { name: \"HvNotificationPanel\" })(HvNotificationPanel);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationsIndicator.js","names":["NotificationsIndicator","classes","className","labels","onClick","others","root","notificationsIndicator","normalText","semanticColoring","label","newNotificationsFocus","focusVisible","buttonLabel","propTypes","PropTypes","shape","string","isRequired","func","styles","name"],"sources":["../../../src/NotificationPanel/NotificationsIndicator/NotificationsIndicator.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { HvButton, HvTypography } from \"@hitachivantara/uikit-react-core\";\n\nimport { withStyles } from \"@material-ui/core\";\nimport styles from \"./styles\";\n\nconst NotificationsIndicator = ({ classes, className, labels, onClick, ...others }) => {\n return (\n <div className={clsx(className, classes.root, classes.notificationsIndicator)} {...others}>\n <HvTypography classes={{ normalText: classes.semanticColoring }}>{labels.label}</HvTypography>\n <HvButton\n category=\"semantic\"\n className={classes.newNotificationsFocus}\n classes={{\n focusVisible: classes.newNotificationsFocus,\n }}\n onClick={onClick}\n >\n {labels.buttonLabel}\n </HvButton>\n </div>\n );\n};\n\nNotificationsIndicator.propTypes = {\n /**\n * A Jss Object used to override or extend the component styles.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the root of the element.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the NotificationsIndicator container.\n */\n notificationsIndicator: PropTypes.string,\n\n /**\n * Styles applied to the notification focus\n */\n newNotificationsFocus: PropTypes.string,\n /**\n * Override to text color for usage over semantic background in wicked\n */\n semanticColoring: PropTypes.string,\n }).isRequired,\n\n /**\n * Class names to be applied to the accordion.\n */\n className: PropTypes.string,\n /**\n * Labels to apply to component\n */\n labels: PropTypes.shape({\n /**\n * Notification indicator label\n */\n label: PropTypes.string,\n /**\n * Label to apply to the button label\n */\n buttonLabel: PropTypes.string,\n }).isRequired,\n /**\n * Function passed to the notification panel button\n */\n onClick: PropTypes.func,\n};\n\nexport default withStyles(styles, { name: \"HvNotificationsIndicator\" })(NotificationsIndicator);\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;AACA;;;;AAEA,IAAMA,sBAAsB,GAAG,SAAzBA,sBAAyB,OAAwD;EAAA,IAArDC,OAAqD,QAArDA,OAAqD;EAAA,IAA5CC,SAA4C,QAA5CA,SAA4C;EAAA,IAAjCC,MAAiC,QAAjCA,MAAiC;EAAA,IAAzBC,OAAyB,QAAzBA,OAAyB;EAAA,IAAbC,MAAa;EACrF,oBACE;IAAK,SAAS,EAAE,mBAAKH,SAAL,EAAgBD,OAAO,CAACK,IAAxB,EAA8BL,OAAO,CAACM,sBAAtC;EAAhB,GAAmFF,MAAnF,gBACE,6BAAC,4BAAD;IAAc,OAAO,EAAE;MAAEG,UAAU,EAAEP,OAAO,CAACQ;IAAtB;EAAvB,GAAkEN,MAAM,CAACO,KAAzE,CADF,eAEE,6BAAC,wBAAD;IACE,QAAQ,EAAC,UADX;IAEE,SAAS,EAAET,OAAO,CAACU,qBAFrB;IAGE,OAAO,EAAE;MACPC,YAAY,EAAEX,OAAO,CAACU;IADf,CAHX;IAME,OAAO,EAAEP;EANX,GAQGD,MAAM,CAACU,WARV,CAFF,CADF;AAeD,CAhBD;;AAkBA,wCAAAb,sBAAsB,CAACc,SAAvB,GAAmC;EACjC;AACF;AACA;EACEb,OAAO,EAAEc,mBAAUC,KAAV,CAAgB;IACvB;AACJ;AACA;IACIV,IAAI,EAAES,mBAAUE,MAJO;;IAKvB;AACJ;AACA;IACIV,sBAAsB,EAAEQ,mBAAUE,MARX;;IAUvB;AACJ;AACA;IACIN,qBAAqB,EAAEI,mBAAUE,MAbV;;IAcvB;AACJ;AACA;IACIR,gBAAgB,EAAEM,mBAAUE;EAjBL,CAAhB,EAkBNC,UAtB8B;;EAwBjC;AACF;AACA;EACEhB,SAAS,EAAEa,mBAAUE,MA3BY;;EA4BjC;AACF;AACA;EACEd,MAAM,EAAEY,mBAAUC,KAAV,CAAgB;IACtB;AACJ;AACA;IACIN,KAAK,EAAEK,mBAAUE,MAJK;;IAKtB;AACJ;AACA;IACIJ,WAAW,EAAEE,mBAAUE;EARD,CAAhB,EASLC,UAxC8B;;EAyCjC;AACF;AACA;EACEd,OAAO,EAAEW,mBAAUI;AA5Cc,CAAnC;;eA+Ce,sBAAWC,eAAX,EAAmB;EAAEC,IAAI,EAAE;AAAR,CAAnB,EAAyDrB,sBAAzD,C"}
1
+ {"version":3,"file":"NotificationsIndicator.js","names":["NotificationsIndicator","classes","className","labels","onClick","others","clsx","root","notificationsIndicator","normalText","semanticColoring","label","newNotificationsFocus","focusVisible","buttonLabel","propTypes","PropTypes","shape","string","isRequired","func","withStyles","styles","name"],"sources":["../../../src/NotificationPanel/NotificationsIndicator/NotificationsIndicator.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { HvButton, HvTypography } from \"@hitachivantara/uikit-react-core\";\n\nimport { withStyles } from \"@material-ui/core\";\nimport styles from \"./styles\";\n\nconst NotificationsIndicator = ({ classes, className, labels, onClick, ...others }) => {\n return (\n <div className={clsx(className, classes.root, classes.notificationsIndicator)} {...others}>\n <HvTypography classes={{ normalText: classes.semanticColoring }}>{labels.label}</HvTypography>\n <HvButton\n category=\"semantic\"\n className={classes.newNotificationsFocus}\n classes={{\n focusVisible: classes.newNotificationsFocus,\n }}\n onClick={onClick}\n >\n {labels.buttonLabel}\n </HvButton>\n </div>\n );\n};\n\nNotificationsIndicator.propTypes = {\n /**\n * A Jss Object used to override or extend the component styles.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the root of the element.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the NotificationsIndicator container.\n */\n notificationsIndicator: PropTypes.string,\n\n /**\n * Styles applied to the notification focus\n */\n newNotificationsFocus: PropTypes.string,\n /**\n * Override to text color for usage over semantic background in wicked\n */\n semanticColoring: PropTypes.string,\n }).isRequired,\n\n /**\n * Class names to be applied to the accordion.\n */\n className: PropTypes.string,\n /**\n * Labels to apply to component\n */\n labels: PropTypes.shape({\n /**\n * Notification indicator label\n */\n label: PropTypes.string,\n /**\n * Label to apply to the button label\n */\n buttonLabel: PropTypes.string,\n }).isRequired,\n /**\n * Function passed to the notification panel button\n */\n onClick: PropTypes.func,\n};\n\nexport default withStyles(styles, { name: \"HvNotificationsIndicator\" })(NotificationsIndicator);\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;AACA;;;;AAEA,IAAMA,sBAAsB,GAAG,SAAzBA,sBAAyB,OAAwD;EAAA,IAArDC,OAAqD,QAArDA,OAAqD;EAAA,IAA5CC,SAA4C,QAA5CA,SAA4C;EAAA,IAAjCC,MAAiC,QAAjCA,MAAiC;EAAA,IAAzBC,OAAyB,QAAzBA,OAAyB;EAAA,IAAbC,MAAa;EACrF,oBACE;IAAK,SAAS,EAAE,IAAAC,aAAA,EAAKJ,SAAL,EAAgBD,OAAO,CAACM,IAAxB,EAA8BN,OAAO,CAACO,sBAAtC;EAAhB,GAAmFH,MAAnF,gBACE,6BAAC,4BAAD;IAAc,OAAO,EAAE;MAAEI,UAAU,EAAER,OAAO,CAACS;IAAtB;EAAvB,GAAkEP,MAAM,CAACQ,KAAzE,CADF,eAEE,6BAAC,wBAAD;IACE,QAAQ,EAAC,UADX;IAEE,SAAS,EAAEV,OAAO,CAACW,qBAFrB;IAGE,OAAO,EAAE;MACPC,YAAY,EAAEZ,OAAO,CAACW;IADf,CAHX;IAME,OAAO,EAAER;EANX,GAQGD,MAAM,CAACW,WARV,CAFF,CADF;AAeD,CAhBD;;AAkBA,wCAAAd,sBAAsB,CAACe,SAAvB,GAAmC;EACjC;AACF;AACA;EACEd,OAAO,EAAEe,kBAAA,CAAUC,KAAV,CAAgB;IACvB;AACJ;AACA;IACIV,IAAI,EAAES,kBAAA,CAAUE,MAJO;;IAKvB;AACJ;AACA;IACIV,sBAAsB,EAAEQ,kBAAA,CAAUE,MARX;;IAUvB;AACJ;AACA;IACIN,qBAAqB,EAAEI,kBAAA,CAAUE,MAbV;;IAcvB;AACJ;AACA;IACIR,gBAAgB,EAAEM,kBAAA,CAAUE;EAjBL,CAAhB,EAkBNC,UAtB8B;;EAwBjC;AACF;AACA;EACEjB,SAAS,EAAEc,kBAAA,CAAUE,MA3BY;;EA4BjC;AACF;AACA;EACEf,MAAM,EAAEa,kBAAA,CAAUC,KAAV,CAAgB;IACtB;AACJ;AACA;IACIN,KAAK,EAAEK,kBAAA,CAAUE,MAJK;;IAKtB;AACJ;AACA;IACIJ,WAAW,EAAEE,kBAAA,CAAUE;EARD,CAAhB,EASLC,UAxC8B;;EAyCjC;AACF;AACA;EACEf,OAAO,EAAEY,kBAAA,CAAUI;AA5Cc,CAAnC;;eA+Ce,IAAAC,gBAAA,EAAWC,eAAX,EAAmB;EAAEC,IAAI,EAAE;AAAR,CAAnB,EAAyDvB,sBAAzD,C"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressBar.js","names":["statusCategories","Object","freeze","inProgress","completed","error","HvProgressBar","props","className","classes","value","status","labelProps","others","clampedValue","root","progress","progressContainer","width","progressBarLabel","progressDone","progressBarContainer","progressBar","progressError","propTypes","PropTypes","string","shape","isRequired","number","oneOf","instanceOf","styles","name"],"sources":["../../src/ProgressBar/ProgressBar.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\n\nimport clamp from \"lodash/clamp\";\nimport { HvTypography } from \"@hitachivantara/uikit-react-core\";\n\nimport { withStyles } from \"@material-ui/core\";\n\nimport styles from \"./styles\";\n\nconst statusCategories = Object.freeze({\n inProgress: \"inProgress\",\n completed: \"completed\",\n error: \"error\",\n});\n\n/**\n * ProgressBar provides feedback about a process that is taking place in the application.\n */\nconst HvProgressBar = (props) => {\n const {\n className,\n classes,\n value = 0,\n status = statusCategories.inProgress,\n labelProps,\n ...others\n } = props;\n\n const clampedValue = clamp(value, 0, 100);\n\n return (\n <div\n className={clsx(className, classes.root, classes.progress)}\n role=\"progressbar\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-valuenow={clampedValue}\n {...others}\n >\n <div className={classes.progressContainer}>\n <HvTypography\n variant=\"vizText\"\n style={{ width: `${clampedValue}%` }}\n className={clsx(\n classes.progressBarLabel,\n status === statusCategories.completed && classes.progressDone\n )}\n {...labelProps}\n >\n {`${clampedValue}%`}\n </HvTypography>\n <div className={classes.progressBarContainer}>\n <div\n style={{ width: `${clampedValue}%` }}\n className={clsx(\n classes.progressBar,\n status === statusCategories.completed && classes.progressDone,\n status === statusCategories.error && classes.progressError\n )}\n />\n </div>\n </div>\n </div>\n );\n};\n\nHvProgressBar.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 component root class.\n */\n root: PropTypes.string,\n\n /**\n * Style applied to the overall container when in progress mode.\n */\n progress: PropTypes.string,\n /**\n * Style applied to the specifc container when in progress mode.\n */\n progressContainer: PropTypes.string,\n /**\n * Style applied to progress bar container.\n */\n progressBarContainer: PropTypes.string,\n /**\n * Style applied to the progress bar.\n */\n progressBar: PropTypes.string,\n /**\n * Style applied to the progress bar when the loading is done.\n */\n progressDone: PropTypes.string,\n /**\n * Style applied to the progress bar when an error occurs.\n */\n progressError: PropTypes.string,\n /**\n * Style applied to the progress bar label.\n */\n progressBarLabel: PropTypes.string,\n }).isRequired,\n /**\n * The value of the progress bar.\n */\n value: PropTypes.number,\n /**\n * The status of the progress bar.\n *\n * inProgress is black, error is red and completed is green.\n *\n * When uncontrolled and unspecified it will default to \"inProgress\".\n */\n status: PropTypes.oneOf([\n statusCategories.inProgress,\n statusCategories.completed,\n statusCategories.error,\n ]),\n /**\n * Aria Properties passed on to the progress bar.\n */\n labelProps: PropTypes.instanceOf(Object),\n};\n\nexport default withStyles(styles, { name: \"HvProgressBar\" })(HvProgressBar);\n"],"mappings":"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"}
1
+ {"version":3,"file":"ProgressBar.js","names":["statusCategories","Object","freeze","inProgress","completed","error","HvProgressBar","props","className","classes","value","status","labelProps","others","clampedValue","clamp","clsx","root","progress","progressContainer","width","progressBarLabel","progressDone","progressBarContainer","progressBar","progressError","propTypes","PropTypes","string","shape","isRequired","number","oneOf","instanceOf","withStyles","styles","name"],"sources":["../../src/ProgressBar/ProgressBar.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\n\nimport clamp from \"lodash/clamp\";\nimport { HvTypography } from \"@hitachivantara/uikit-react-core\";\n\nimport { withStyles } from \"@material-ui/core\";\n\nimport styles from \"./styles\";\n\nconst statusCategories = Object.freeze({\n inProgress: \"inProgress\",\n completed: \"completed\",\n error: \"error\",\n});\n\n/**\n * ProgressBar provides feedback about a process that is taking place in the application.\n */\nconst HvProgressBar = (props) => {\n const {\n className,\n classes,\n value = 0,\n status = statusCategories.inProgress,\n labelProps,\n ...others\n } = props;\n\n const clampedValue = clamp(value, 0, 100);\n\n return (\n <div\n className={clsx(className, classes.root, classes.progress)}\n role=\"progressbar\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-valuenow={clampedValue}\n {...others}\n >\n <div className={classes.progressContainer}>\n <HvTypography\n variant=\"vizText\"\n style={{ width: `${clampedValue}%` }}\n className={clsx(\n classes.progressBarLabel,\n status === statusCategories.completed && classes.progressDone\n )}\n {...labelProps}\n >\n {`${clampedValue}%`}\n </HvTypography>\n <div className={classes.progressBarContainer}>\n <div\n style={{ width: `${clampedValue}%` }}\n className={clsx(\n classes.progressBar,\n status === statusCategories.completed && classes.progressDone,\n status === statusCategories.error && classes.progressError\n )}\n />\n </div>\n </div>\n </div>\n );\n};\n\nHvProgressBar.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 component root class.\n */\n root: PropTypes.string,\n\n /**\n * Style applied to the overall container when in progress mode.\n */\n progress: PropTypes.string,\n /**\n * Style applied to the specifc container when in progress mode.\n */\n progressContainer: PropTypes.string,\n /**\n * Style applied to progress bar container.\n */\n progressBarContainer: PropTypes.string,\n /**\n * Style applied to the progress bar.\n */\n progressBar: PropTypes.string,\n /**\n * Style applied to the progress bar when the loading is done.\n */\n progressDone: PropTypes.string,\n /**\n * Style applied to the progress bar when an error occurs.\n */\n progressError: PropTypes.string,\n /**\n * Style applied to the progress bar label.\n */\n progressBarLabel: PropTypes.string,\n }).isRequired,\n /**\n * The value of the progress bar.\n */\n value: PropTypes.number,\n /**\n * The status of the progress bar.\n *\n * inProgress is black, error is red and completed is green.\n *\n * When uncontrolled and unspecified it will default to \"inProgress\".\n */\n status: PropTypes.oneOf([\n statusCategories.inProgress,\n statusCategories.completed,\n statusCategories.error,\n ]),\n /**\n * Aria Properties passed on to the progress bar.\n */\n labelProps: PropTypes.instanceOf(Object),\n};\n\nexport default withStyles(styles, { name: \"HvProgressBar\" })(HvProgressBar);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressBarSimulator.js","names":["ProgressBarSimulator","inc","error","ariaLabel","ariaLive","status","setStatus","value","setValue","run","setRun","interval","setInterval","clearInterval","reset","start","width","marginTop","marginLeft"],"sources":["../../src/ProgressBar/ProgressBarSimulator.js"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\n\nimport { HvButton } from \"@hitachivantara/uikit-react-core\";\n\nimport { HvProgressBar } from \"..\";\n\n// eslint-disable-next-line react/prop-types\nexport const ProgressBarSimulator = ({ inc, error, ariaLabel, ariaLive }) => {\n const [status, setStatus] = useState(\"inProgress\");\n const [value, setValue] = useState(0);\n const [run, setRun] = useState(false);\n\n useEffect(() => {\n const interval = setInterval(() => {\n if (value === 100) {\n setRun(false);\n clearInterval(interval);\n setStatus(\"completed\");\n } else if (error && value === error) {\n clearInterval(interval);\n setStatus(\"error\");\n } else if (run) setValue(inc);\n }, 150);\n return () => clearInterval(interval);\n }, [inc, value, run, error]);\n\n const reset = () => {\n setValue(0);\n setStatus(\"inProgress\");\n };\n\n const start = () => {\n setRun(true);\n };\n\n return (\n <div style={{ width: 400 }}>\n <HvProgressBar\n value={value}\n status={status}\n labelProps={{\n \"aria-label\": ariaLabel,\n \"aria-busy\": false,\n \"aria-live\": ariaLive,\n }}\n />\n <div style={{ marginTop: 10 }}>\n <HvButton onClick={start}>Start</HvButton>\n <HvButton style={{ marginLeft: 10 }} onClick={reset}>\n Reset\n </HvButton>\n </div>\n </div>\n );\n};\n\nexport { ProgressBarSimulator as default };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;AAEA;;;;;;AAEA;AACO,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,OAAyC;EAAA,IAAtCC,GAAsC,QAAtCA,GAAsC;EAAA,IAAjCC,KAAiC,QAAjCA,KAAiC;EAAA,IAA1BC,SAA0B,QAA1BA,SAA0B;EAAA,IAAfC,QAAe,QAAfA,QAAe;;EAC3E,gBAA4B,qBAAS,YAAT,CAA5B;EAAA;EAAA,IAAOC,MAAP;EAAA,IAAeC,SAAf;;EACA,iBAA0B,qBAAS,CAAT,CAA1B;EAAA;EAAA,IAAOC,KAAP;EAAA,IAAcC,QAAd;;EACA,iBAAsB,qBAAS,KAAT,CAAtB;EAAA;EAAA,IAAOC,GAAP;EAAA,IAAYC,MAAZ;;EAEA,sBAAU,YAAM;IACd,IAAMC,QAAQ,GAAGC,WAAW,CAAC,YAAM;MACjC,IAAIL,KAAK,KAAK,GAAd,EAAmB;QACjBG,MAAM,CAAC,KAAD,CAAN;QACAG,aAAa,CAACF,QAAD,CAAb;QACAL,SAAS,CAAC,WAAD,CAAT;MACD,CAJD,MAIO,IAAIJ,KAAK,IAAIK,KAAK,KAAKL,KAAvB,EAA8B;QACnCW,aAAa,CAACF,QAAD,CAAb;QACAL,SAAS,CAAC,OAAD,CAAT;MACD,CAHM,MAGA,IAAIG,GAAJ,EAASD,QAAQ,CAACP,GAAD,CAAR;IACjB,CAT2B,EASzB,GATyB,CAA5B;IAUA,OAAO;MAAA,OAAMY,aAAa,CAACF,QAAD,CAAnB;IAAA,CAAP;EACD,CAZD,EAYG,CAACV,GAAD,EAAMM,KAAN,EAAaE,GAAb,EAAkBP,KAAlB,CAZH;;EAcA,IAAMY,KAAK,GAAG,SAARA,KAAQ,GAAM;IAClBN,QAAQ,CAAC,CAAD,CAAR;IACAF,SAAS,CAAC,YAAD,CAAT;EACD,CAHD;;EAKA,IAAMS,KAAK,GAAG,SAARA,KAAQ,GAAM;IAClBL,MAAM,CAAC,IAAD,CAAN;EACD,CAFD;;EAIA,oBACE;IAAK,KAAK,EAAE;MAAEM,KAAK,EAAE;IAAT;EAAZ,gBACE,6BAAC,eAAD;IACE,KAAK,EAAET,KADT;IAEE,MAAM,EAAEF,MAFV;IAGE,UAAU,EAAE;MACV,cAAcF,SADJ;MAEV,aAAa,KAFH;MAGV,aAAaC;IAHH;EAHd,EADF,eAUE;IAAK,KAAK,EAAE;MAAEa,SAAS,EAAE;IAAb;EAAZ,gBACE,6BAAC,wBAAD;IAAU,OAAO,EAAEF;EAAnB,WADF,eAEE,6BAAC,wBAAD;IAAU,KAAK,EAAE;MAAEG,UAAU,EAAE;IAAd,CAAjB;IAAqC,OAAO,EAAEJ;EAA9C,WAFF,CAVF,CADF;AAmBD,CA/CM"}
1
+ {"version":3,"file":"ProgressBarSimulator.js","names":["ProgressBarSimulator","inc","error","ariaLabel","ariaLive","useState","status","setStatus","value","setValue","run","setRun","useEffect","interval","setInterval","clearInterval","reset","start","width","marginTop","marginLeft"],"sources":["../../src/ProgressBar/ProgressBarSimulator.js"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\n\nimport { HvButton } from \"@hitachivantara/uikit-react-core\";\n\nimport { HvProgressBar } from \"..\";\n\n// eslint-disable-next-line react/prop-types\nexport const ProgressBarSimulator = ({ inc, error, ariaLabel, ariaLive }) => {\n const [status, setStatus] = useState(\"inProgress\");\n const [value, setValue] = useState(0);\n const [run, setRun] = useState(false);\n\n useEffect(() => {\n const interval = setInterval(() => {\n if (value === 100) {\n setRun(false);\n clearInterval(interval);\n setStatus(\"completed\");\n } else if (error && value === error) {\n clearInterval(interval);\n setStatus(\"error\");\n } else if (run) setValue(inc);\n }, 150);\n return () => clearInterval(interval);\n }, [inc, value, run, error]);\n\n const reset = () => {\n setValue(0);\n setStatus(\"inProgress\");\n };\n\n const start = () => {\n setRun(true);\n };\n\n return (\n <div style={{ width: 400 }}>\n <HvProgressBar\n value={value}\n status={status}\n labelProps={{\n \"aria-label\": ariaLabel,\n \"aria-busy\": false,\n \"aria-live\": ariaLive,\n }}\n />\n <div style={{ marginTop: 10 }}>\n <HvButton onClick={start}>Start</HvButton>\n <HvButton style={{ marginLeft: 10 }} onClick={reset}>\n Reset\n </HvButton>\n </div>\n </div>\n );\n};\n\nexport { ProgressBarSimulator as default };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;AAEA;;;;;;AAEA;AACO,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,OAAyC;EAAA,IAAtCC,GAAsC,QAAtCA,GAAsC;EAAA,IAAjCC,KAAiC,QAAjCA,KAAiC;EAAA,IAA1BC,SAA0B,QAA1BA,SAA0B;EAAA,IAAfC,QAAe,QAAfA,QAAe;;EAC3E,gBAA4B,IAAAC,eAAA,EAAS,YAAT,CAA5B;EAAA;EAAA,IAAOC,MAAP;EAAA,IAAeC,SAAf;;EACA,iBAA0B,IAAAF,eAAA,EAAS,CAAT,CAA1B;EAAA;EAAA,IAAOG,KAAP;EAAA,IAAcC,QAAd;;EACA,iBAAsB,IAAAJ,eAAA,EAAS,KAAT,CAAtB;EAAA;EAAA,IAAOK,GAAP;EAAA,IAAYC,MAAZ;;EAEA,IAAAC,gBAAA,EAAU,YAAM;IACd,IAAMC,QAAQ,GAAGC,WAAW,CAAC,YAAM;MACjC,IAAIN,KAAK,KAAK,GAAd,EAAmB;QACjBG,MAAM,CAAC,KAAD,CAAN;QACAI,aAAa,CAACF,QAAD,CAAb;QACAN,SAAS,CAAC,WAAD,CAAT;MACD,CAJD,MAIO,IAAIL,KAAK,IAAIM,KAAK,KAAKN,KAAvB,EAA8B;QACnCa,aAAa,CAACF,QAAD,CAAb;QACAN,SAAS,CAAC,OAAD,CAAT;MACD,CAHM,MAGA,IAAIG,GAAJ,EAASD,QAAQ,CAACR,GAAD,CAAR;IACjB,CAT2B,EASzB,GATyB,CAA5B;IAUA,OAAO;MAAA,OAAMc,aAAa,CAACF,QAAD,CAAnB;IAAA,CAAP;EACD,CAZD,EAYG,CAACZ,GAAD,EAAMO,KAAN,EAAaE,GAAb,EAAkBR,KAAlB,CAZH;;EAcA,IAAMc,KAAK,GAAG,SAARA,KAAQ,GAAM;IAClBP,QAAQ,CAAC,CAAD,CAAR;IACAF,SAAS,CAAC,YAAD,CAAT;EACD,CAHD;;EAKA,IAAMU,KAAK,GAAG,SAARA,KAAQ,GAAM;IAClBN,MAAM,CAAC,IAAD,CAAN;EACD,CAFD;;EAIA,oBACE;IAAK,KAAK,EAAE;MAAEO,KAAK,EAAE;IAAT;EAAZ,gBACE,6BAAC,eAAD;IACE,KAAK,EAAEV,KADT;IAEE,MAAM,EAAEF,MAFV;IAGE,UAAU,EAAE;MACV,cAAcH,SADJ;MAEV,aAAa,KAFH;MAGV,aAAaC;IAHH;EAHd,EADF,eAUE;IAAK,KAAK,EAAE;MAAEe,SAAS,EAAE;IAAb;EAAZ,gBACE,6BAAC,wBAAD;IAAU,OAAO,EAAEF;EAAnB,WADF,eAEE,6BAAC,wBAAD;IAAU,KAAK,EAAE;MAAEG,UAAU,EAAE;IAAd,CAAjB;IAAqC,OAAO,EAAEJ;EAA9C,WAFF,CAVF,CADF;AAmBD,CA/CM"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmationDialog.js","names":["ConfirmationDialog","title","message","isOpen","onConfirm","onCancel","confirmButtonLabel","cancelButtonLabel","closeButtonTooltip","classes","handleClose","event","reason","paper","propTypes","PropTypes","string","bool","func"],"sources":["../../../src/QueryBuilder/ConfirmationDialog/ConfirmationDialog.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport {\n HvButton,\n HvDialog,\n HvDialogTitle,\n HvDialogContent,\n HvDialogActions,\n} from \"@hitachivantara/uikit-react-core\";\n\nimport useStyles from \"./styles\";\n\nconst ConfirmationDialog = ({\n title,\n message,\n isOpen,\n onConfirm,\n onCancel,\n confirmButtonLabel,\n cancelButtonLabel,\n closeButtonTooltip,\n}) => {\n const classes = useStyles();\n\n const handleClose = (event, reason) => {\n if (reason !== \"backdropClick\") {\n onCancel?.();\n }\n };\n\n return (\n <HvDialog\n classes={{ paper: classes.paper }}\n open={isOpen}\n onClose={handleClose}\n firstFocusable=\"confirmation-dialog-cancel\"\n buttonTitle={closeButtonTooltip}\n >\n <HvDialogTitle variant=\"warning\">{title}</HvDialogTitle>\n <HvDialogContent indentContent>{message}</HvDialogContent>\n <HvDialogActions>\n <HvButton category=\"ghost\" onClick={onConfirm}>\n {confirmButtonLabel}\n </HvButton>\n <HvButton id=\"confirmation-dialog-cancel\" category=\"ghost\" onClick={() => onCancel?.()}>\n {cancelButtonLabel}\n </HvButton>\n </HvDialogActions>\n </HvDialog>\n );\n};\n\nConfirmationDialog.propTypes = {\n title: PropTypes.string,\n message: PropTypes.string,\n isOpen: PropTypes.bool,\n onConfirm: PropTypes.func,\n onCancel: PropTypes.func,\n confirmButtonLabel: PropTypes.string,\n cancelButtonLabel: PropTypes.string,\n closeButtonTooltip: PropTypes.string,\n};\n\nexport default ConfirmationDialog;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;AAQA;;AAEA,IAAMA,kBAAkB,GAAG,SAArBA,kBAAqB,OASrB;EAAA,IARJC,KAQI,QARJA,KAQI;EAAA,IAPJC,OAOI,QAPJA,OAOI;EAAA,IANJC,MAMI,QANJA,MAMI;EAAA,IALJC,SAKI,QALJA,SAKI;EAAA,IAJJC,QAII,QAJJA,QAII;EAAA,IAHJC,kBAGI,QAHJA,kBAGI;EAAA,IAFJC,iBAEI,QAFJA,iBAEI;EAAA,IADJC,kBACI,QADJA,kBACI;EACJ,IAAMC,OAAO,GAAG,sBAAhB;;EAEA,IAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD,EAAQC,MAAR,EAAmB;IACrC,IAAIA,MAAM,KAAK,eAAf,EAAgC;MAC9BP,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ;IACT;EACF,CAJD;;EAMA,oBACE,6BAAC,wBAAD;IACE,OAAO,EAAE;MAAEQ,KAAK,EAAEJ,OAAO,CAACI;IAAjB,CADX;IAEE,IAAI,EAAEV,MAFR;IAGE,OAAO,EAAEO,WAHX;IAIE,cAAc,EAAC,4BAJjB;IAKE,WAAW,EAAEF;EALf,gBAOE,6BAAC,6BAAD;IAAe,OAAO,EAAC;EAAvB,GAAkCP,KAAlC,CAPF,eAQE,6BAAC,+BAAD;IAAiB,aAAa;EAA9B,GAAgCC,OAAhC,CARF,eASE,6BAAC,+BAAD,qBACE,6BAAC,wBAAD;IAAU,QAAQ,EAAC,OAAnB;IAA2B,OAAO,EAAEE;EAApC,GACGE,kBADH,CADF,eAIE,6BAAC,wBAAD;IAAU,EAAE,EAAC,4BAAb;IAA0C,QAAQ,EAAC,OAAnD;IAA2D,OAAO,EAAE;MAAA,OAAMD,QAAN,aAAMA,QAAN,uBAAMA,QAAQ,EAAd;IAAA;EAApE,GACGE,iBADH,CAJF,CATF,CADF;AAoBD,CAtCD;;AAwCA,wCAAAP,kBAAkB,CAACc,SAAnB,GAA+B;EAC7Bb,KAAK,EAAEc,mBAAUC,MADY;EAE7Bd,OAAO,EAAEa,mBAAUC,MAFU;EAG7Bb,MAAM,EAAEY,mBAAUE,IAHW;EAI7Bb,SAAS,EAAEW,mBAAUG,IAJQ;EAK7Bb,QAAQ,EAAEU,mBAAUG,IALS;EAM7BZ,kBAAkB,EAAES,mBAAUC,MAND;EAO7BT,iBAAiB,EAAEQ,mBAAUC,MAPA;EAQ7BR,kBAAkB,EAAEO,mBAAUC;AARD,CAA/B;eAWehB,kB"}
1
+ {"version":3,"file":"ConfirmationDialog.js","names":["ConfirmationDialog","title","message","isOpen","onConfirm","onCancel","confirmButtonLabel","cancelButtonLabel","closeButtonTooltip","classes","useStyles","handleClose","event","reason","paper","propTypes","PropTypes","string","bool","func"],"sources":["../../../src/QueryBuilder/ConfirmationDialog/ConfirmationDialog.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport {\n HvButton,\n HvDialog,\n HvDialogTitle,\n HvDialogContent,\n HvDialogActions,\n} from \"@hitachivantara/uikit-react-core\";\n\nimport useStyles from \"./styles\";\n\nconst ConfirmationDialog = ({\n title,\n message,\n isOpen,\n onConfirm,\n onCancel,\n confirmButtonLabel,\n cancelButtonLabel,\n closeButtonTooltip,\n}) => {\n const classes = useStyles();\n\n const handleClose = (event, reason) => {\n if (reason !== \"backdropClick\") {\n onCancel?.();\n }\n };\n\n return (\n <HvDialog\n classes={{ paper: classes.paper }}\n open={isOpen}\n onClose={handleClose}\n firstFocusable=\"confirmation-dialog-cancel\"\n buttonTitle={closeButtonTooltip}\n >\n <HvDialogTitle variant=\"warning\">{title}</HvDialogTitle>\n <HvDialogContent indentContent>{message}</HvDialogContent>\n <HvDialogActions>\n <HvButton category=\"ghost\" onClick={onConfirm}>\n {confirmButtonLabel}\n </HvButton>\n <HvButton id=\"confirmation-dialog-cancel\" category=\"ghost\" onClick={() => onCancel?.()}>\n {cancelButtonLabel}\n </HvButton>\n </HvDialogActions>\n </HvDialog>\n );\n};\n\nConfirmationDialog.propTypes = {\n title: PropTypes.string,\n message: PropTypes.string,\n isOpen: PropTypes.bool,\n onConfirm: PropTypes.func,\n onCancel: PropTypes.func,\n confirmButtonLabel: PropTypes.string,\n cancelButtonLabel: PropTypes.string,\n closeButtonTooltip: PropTypes.string,\n};\n\nexport default ConfirmationDialog;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;AAQA;;AAEA,IAAMA,kBAAkB,GAAG,SAArBA,kBAAqB,OASrB;EAAA,IARJC,KAQI,QARJA,KAQI;EAAA,IAPJC,OAOI,QAPJA,OAOI;EAAA,IANJC,MAMI,QANJA,MAMI;EAAA,IALJC,SAKI,QALJA,SAKI;EAAA,IAJJC,QAII,QAJJA,QAII;EAAA,IAHJC,kBAGI,QAHJA,kBAGI;EAAA,IAFJC,iBAEI,QAFJA,iBAEI;EAAA,IADJC,kBACI,QADJA,kBACI;EACJ,IAAMC,OAAO,GAAG,IAAAC,eAAA,GAAhB;;EAEA,IAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD,EAAQC,MAAR,EAAmB;IACrC,IAAIA,MAAM,KAAK,eAAf,EAAgC;MAC9BR,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ;IACT;EACF,CAJD;;EAMA,oBACE,6BAAC,wBAAD;IACE,OAAO,EAAE;MAAES,KAAK,EAAEL,OAAO,CAACK;IAAjB,CADX;IAEE,IAAI,EAAEX,MAFR;IAGE,OAAO,EAAEQ,WAHX;IAIE,cAAc,EAAC,4BAJjB;IAKE,WAAW,EAAEH;EALf,gBAOE,6BAAC,6BAAD;IAAe,OAAO,EAAC;EAAvB,GAAkCP,KAAlC,CAPF,eAQE,6BAAC,+BAAD;IAAiB,aAAa;EAA9B,GAAgCC,OAAhC,CARF,eASE,6BAAC,+BAAD,qBACE,6BAAC,wBAAD;IAAU,QAAQ,EAAC,OAAnB;IAA2B,OAAO,EAAEE;EAApC,GACGE,kBADH,CADF,eAIE,6BAAC,wBAAD;IAAU,EAAE,EAAC,4BAAb;IAA0C,QAAQ,EAAC,OAAnD;IAA2D,OAAO,EAAE;MAAA,OAAMD,QAAN,aAAMA,QAAN,uBAAMA,QAAQ,EAAd;IAAA;EAApE,GACGE,iBADH,CAJF,CATF,CADF;AAoBD,CAtCD;;AAwCA,wCAAAP,kBAAkB,CAACe,SAAnB,GAA+B;EAC7Bd,KAAK,EAAEe,kBAAA,CAAUC,MADY;EAE7Bf,OAAO,EAAEc,kBAAA,CAAUC,MAFU;EAG7Bd,MAAM,EAAEa,kBAAA,CAAUE,IAHW;EAI7Bd,SAAS,EAAEY,kBAAA,CAAUG,IAJQ;EAK7Bd,QAAQ,EAAEW,kBAAA,CAAUG,IALS;EAM7Bb,kBAAkB,EAAEU,kBAAA,CAAUC,MAND;EAO7BV,iBAAiB,EAAES,kBAAA,CAAUC,MAPA;EAQ7BT,kBAAkB,EAAEQ,kBAAA,CAAUC;AARD,CAA/B;eAWejB,kB"}
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","names":["useStyles","paper","width"],"sources":["../../../src/QueryBuilder/ConfirmationDialog/styles.js"],"sourcesContent":["import { makeStyles } from \"@material-ui/core\";\n\nconst useStyles = makeStyles(() => ({\n paper: {\n width: 500,\n },\n}));\n\nexport default useStyles;\n"],"mappings":";;;;;;;AAAA;;AAEA,IAAMA,SAAS,GAAG,sBAAW;EAAA,OAAO;IAClCC,KAAK,EAAE;MACLC,KAAK,EAAE;IADF;EAD2B,CAAP;AAAA,CAAX,CAAlB;eAMeF,S"}
1
+ {"version":3,"file":"styles.js","names":["useStyles","makeStyles","paper","width"],"sources":["../../../src/QueryBuilder/ConfirmationDialog/styles.js"],"sourcesContent":["import { makeStyles } from \"@material-ui/core\";\n\nconst useStyles = makeStyles(() => ({\n paper: {\n width: 500,\n },\n}));\n\nexport default useStyles;\n"],"mappings":";;;;;;;AAAA;;AAEA,IAAMA,SAAS,GAAG,IAAAC,gBAAA,EAAW;EAAA,OAAO;IAClCC,KAAK,EAAE;MACLC,KAAK,EAAE;IADF;EAD2B,CAAP;AAAA,CAAX,CAAlB;eAMeH,S"}