@hitachivantara/uikit-react-core 3.68.1 → 3.68.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Accordion/Accordion.js.map +1 -1
- package/dist/ActionBar/ActionBar.js.map +1 -1
- package/dist/ActionsGeneric/ActionsGeneric.js.map +1 -1
- package/dist/AppSwitcher/Action/Action.js.map +1 -1
- package/dist/AppSwitcher/AppSwitcher.js.map +1 -1
- package/dist/AppSwitcher/TitleWithTooltip.js.map +1 -1
- package/dist/AssetInventory/AssetInventory.js.map +1 -1
- package/dist/AssetInventory/CardView/CardView.js.map +1 -1
- package/dist/AssetInventory/ListView/ListView.js.map +1 -1
- package/dist/AssetInventory/ListView/ListViewCell/ListViewCell.js.map +1 -1
- package/dist/AssetInventory/ListView/ListViewCell/styles.js.map +1 -1
- package/dist/AssetInventory/ListView/ListViewContext/ListViewContext.js.map +1 -1
- package/dist/AssetInventory/ListView/ListViewHeaderRow/ListViewHeaderRow.js.map +1 -1
- package/dist/AssetInventory/ListView/ListViewRow/ListViewRow.js.map +1 -1
- package/dist/AssetInventory/Multibutton/Multibutton.js.map +1 -1
- package/dist/AssetInventory/Search/Search.js.map +1 -1
- package/dist/AssetInventory/Sort/Sort.js.map +1 -1
- package/dist/AssetInventory/setActionsId.js.map +1 -1
- package/dist/Avatar/Avatar.js.map +1 -1
- package/dist/Badge/Badge.js.map +1 -1
- package/dist/Banner/Banner.js.map +1 -1
- package/dist/Banner/BannerWrapper/ActionContainer/ActionContainer.js.map +1 -1
- package/dist/Banner/BannerWrapper/ActionContainer/styles.js.map +1 -1
- package/dist/Banner/BannerWrapper/BannerContentWrapper.js.map +1 -1
- package/dist/Banner/BannerWrapper/MessageContainer/MessageContainer.js.map +1 -1
- package/dist/BaseCheckBox/BaseCheckBox.js.map +1 -1
- package/dist/BaseDropdown/BaseDropdown.js.map +1 -1
- package/dist/BaseDropdown/BaseDropdownContext/BaseDropdownContext.js.map +1 -1
- package/dist/BaseInput/BaseInput.js.map +1 -1
- package/dist/BaseInput/validations.js.map +1 -1
- package/dist/BaseRadio/BaseRadio.js.map +1 -1
- package/dist/BaseSwitch/BaseSwitch.js.map +1 -1
- package/dist/BreadCrumb/BreadCrumb.js.map +1 -1
- package/dist/BreadCrumb/utils.js.map +1 -1
- package/dist/BulkActions/BulkActions.js.map +1 -1
- package/dist/BulkActions/styles.js.map +1 -1
- package/dist/Button/Button.js.map +1 -1
- package/dist/Button/materialConfigurarion.js.map +1 -1
- package/dist/Button/styles.js.map +1 -1
- package/dist/Calendar/Calendar.js.map +1 -1
- package/dist/Calendar/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js.map +1 -1
- package/dist/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js.map +1 -1
- package/dist/Calendar/CalendarNavigation/Navigation/Navigation.js.map +1 -1
- package/dist/Calendar/CalendarWeekLabels/CalendarWeekLabels.js.map +1 -1
- package/dist/Calendar/SingleCalendar/CalendarCell.js.map +1 -1
- package/dist/Calendar/SingleCalendar/SingleCalendar.js.map +1 -1
- package/dist/Calendar/model.js.map +1 -1
- package/dist/Calendar/utils.js.map +1 -1
- package/dist/Card/Card.js.map +1 -1
- package/dist/Card/Content/Content.js.map +1 -1
- package/dist/Card/Header/Header.js.map +1 -1
- package/dist/Card/Media/Media.js.map +1 -1
- package/dist/Card/styles.js.map +1 -1
- package/dist/CheckBox/CheckBox.js.map +1 -1
- package/dist/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
- package/dist/Container/Container.js.map +1 -1
- package/dist/DatePicker/DatePicker.js.map +1 -1
- package/dist/DatePicker/useVisibleDate.js.map +1 -1
- package/dist/DatePicker/utils.js.map +1 -1
- package/dist/Dialog/Dialog.js.map +1 -1
- package/dist/Dialog/DialogActions/DialogActions.js.map +1 -1
- package/dist/Dialog/DialogContent/DialogContent.js.map +1 -1
- package/dist/Dialog/DialogTitle/DialogTitle.js.map +1 -1
- package/dist/Dialog/styles.js.map +1 -1
- package/dist/DropDownMenu/DropDownMenu.js.map +1 -1
- package/dist/Dropdown/Dropdown.js.map +1 -1
- package/dist/Dropdown/List/List.js.map +1 -1
- package/dist/EmptyState/EmptyState.js.map +1 -1
- package/dist/FileUploader/DropZone/DropZone.js.map +1 -1
- package/dist/FileUploader/File/File.js.map +1 -1
- package/dist/FileUploader/FileList/FileList.js.map +1 -1
- package/dist/FileUploader/FileUploader.js.map +1 -1
- package/dist/FileUploader/Preview/Preview.js.map +1 -1
- package/dist/FilterGroup/Counter/Counter.js.map +1 -1
- package/dist/FilterGroup/Counter/styles.js.map +1 -1
- package/dist/FilterGroup/FilterContent/FilterContent.js.map +1 -1
- package/dist/FilterGroup/FilterContent/styles.js.map +1 -1
- package/dist/FilterGroup/FilterGroup.js.map +1 -1
- package/dist/FilterGroup/FilterGroupContext.js.map +1 -1
- package/dist/FilterGroup/LeftPanel/LeftPanel.js.map +1 -1
- package/dist/FilterGroup/LeftPanel/styles.js.map +1 -1
- package/dist/FilterGroup/RightPanel/RightPanel.js.map +1 -1
- package/dist/FilterGroup/RightPanel/styles.js.map +1 -1
- package/dist/FilterGroup/styles.js.map +1 -1
- package/dist/Focus/Focus.js.map +1 -1
- package/dist/Focus/utils.js.map +1 -1
- package/dist/Footer/Footer.js.map +1 -1
- package/dist/Forms/Adornment/Adornment.js.map +1 -1
- package/dist/Forms/CharCounter/CharCounter.js.map +1 -1
- package/dist/Forms/FormElement/FormElement.js.map +1 -1
- package/dist/Forms/FormElement/context/FormElementContext.js.map +1 -1
- package/dist/Forms/FormElement/context/FormElementDescriptorsContext.js.map +1 -1
- package/dist/Forms/FormElement/context/FormElementValueContext.js.map +1 -1
- package/dist/Forms/FormElement/utils/FormUtils.js.map +1 -1
- package/dist/Forms/InfoMessage/InfoMessage.js.map +1 -1
- package/dist/Forms/Label/Label.js.map +1 -1
- package/dist/Forms/Suggestions/Suggestions.js.map +1 -1
- package/dist/Forms/WarningText/WarningText.js.map +1 -1
- package/dist/GlobalActions/GlobalActions.js.map +1 -1
- package/dist/Grid/Grid.js.map +1 -1
- package/dist/Header/Actions/Actions.js.map +1 -1
- package/dist/Header/Brand/Brand.js.map +1 -1
- package/dist/Header/Header.js.map +1 -1
- package/dist/Header/Navigation/MenuBar/MenuBar.js +5 -1
- package/dist/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
- package/dist/Header/Navigation/MenuItem/MenuItem.js +29 -9
- package/dist/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
- package/dist/Header/Navigation/MenuItem/styles.js +4 -0
- package/dist/Header/Navigation/MenuItem/styles.js.map +1 -1
- package/dist/Header/Navigation/Navigation.d.ts +4 -0
- package/dist/Header/Navigation/Navigation.js +5 -1
- package/dist/Header/Navigation/Navigation.js.map +1 -1
- package/dist/Header/Navigation/utils/FocusContext.js.map +1 -1
- package/dist/Header/Navigation/utils/SelectionContext.js.map +1 -1
- package/dist/Header/Navigation/utils/useSelectionPath.js.map +1 -1
- package/dist/Input/Input.js.map +1 -1
- package/dist/Kpi/Kpi.js.map +1 -1
- package/dist/Link/Link.js.map +1 -1
- package/dist/List/List.js +20 -16
- package/dist/List/List.js.map +1 -1
- package/dist/List/useSelectableList.js.map +1 -1
- package/dist/List/utils.js.map +1 -1
- package/dist/ListContainer/ListContainer.js.map +1 -1
- package/dist/ListContainer/ListContext/ListContext.js.map +1 -1
- package/dist/ListContainer/ListItem/ListItem.js.map +1 -1
- package/dist/Loading/Loading.js.map +1 -1
- package/dist/Login/Login.js.map +1 -1
- package/dist/Login/styles.js.map +1 -1
- package/dist/MultiButton/MultiButton.js.map +1 -1
- package/dist/OverflowTooltip/OverflowTooltip.js.map +1 -1
- package/dist/Pagination/Pagination.js.map +1 -1
- package/dist/Pagination/Select.js.map +1 -1
- package/dist/Pagination/utils.js.map +1 -1
- package/dist/Panel/Panel.js.map +1 -1
- package/dist/Provider/Provider.js.map +1 -1
- package/dist/Provider/context.js.map +1 -1
- package/dist/Provider/useLocale.js.map +1 -1
- package/dist/Radio/Radio.js.map +1 -1
- package/dist/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js.map +1 -1
- package/dist/ScrollTo/Horizontal/ScrollToHorizontal.js.map +1 -1
- package/dist/ScrollTo/Horizontal/styles.js.map +1 -1
- package/dist/ScrollTo/Vertical/ScrollToVertical.js.map +1 -1
- package/dist/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js.map +1 -1
- package/dist/ScrollTo/Vertical/styles.js.map +1 -1
- package/dist/ScrollTo/useScrollTo.js.map +1 -1
- package/dist/ScrollTo/withTooltip.js.map +1 -1
- package/dist/SelectionList/SelectionList.js.map +1 -1
- package/dist/SimpleGrid/SimpleGrid.js.map +1 -1
- package/dist/SimpleGrid/styles.js.map +1 -1
- package/dist/Slider/Slider.js.map +1 -1
- package/dist/Slider/SliderInput/SliderInput.js.map +1 -1
- package/dist/Slider/utils.js.map +1 -1
- package/dist/Snackbar/Snackbar.js.map +1 -1
- package/dist/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js.map +1 -1
- package/dist/Snackbar/SnackbarProvider/SnackbarProvider.js.map +1 -1
- package/dist/Stack/Stack.js.map +1 -1
- package/dist/Switch/Switch.js.map +1 -1
- package/dist/Tab/Tab.js.map +1 -1
- package/dist/Table/CellWithTooltip/index.js.map +1 -1
- package/dist/Table/Header/Header.js.map +1 -1
- package/dist/Table/NoData/index.js.map +1 -1
- package/dist/Table/NoData/styles.js.map +1 -1
- package/dist/Table/Table.js +19 -22
- package/dist/Table/Table.js.map +1 -1
- package/dist/Table/columnUtils.js.map +1 -1
- package/dist/Table/selectTable.js.map +1 -1
- package/dist/Table/styles.js.map +1 -1
- package/dist/Tabs/Tabs.js.map +1 -1
- package/dist/Tag/Tag.js.map +1 -1
- package/dist/Tag/styles.js.map +1 -1
- package/dist/TagsInput/TagsInput.js.map +1 -1
- package/dist/TextArea/TextArea.js.map +1 -1
- package/dist/TimePicker/PeriodPicker/PeriodPicker.js.map +1 -1
- package/dist/TimePicker/PeriodPicker/index.js.map +1 -1
- package/dist/TimePicker/TimePicker.js.map +1 -1
- package/dist/TimePicker/UnitTimePicker/UnitTimePicker.js.map +1 -1
- package/dist/TimePicker/UnitTimePicker/index.js.map +1 -1
- package/dist/TimePicker/timePickerConverter.js.map +1 -1
- package/dist/TimePicker/timePickerFormatter.js.map +1 -1
- package/dist/TimePicker/timePickerUtils.js.map +1 -1
- package/dist/ToggleButton/ToggleButton.js.map +1 -1
- package/dist/Tooltip/Tooltip.js.map +1 -1
- package/dist/Typography/Typography.js.map +1 -1
- package/dist/UserPreferences/Action/Action.js.map +1 -1
- package/dist/UserPreferences/Action/styles.js.map +1 -1
- package/dist/UserPreferences/Actions/Actions.js.map +1 -1
- package/dist/UserPreferences/Options/Group/Group.js.map +1 -1
- package/dist/UserPreferences/Options/Label/Label.js.map +1 -1
- package/dist/UserPreferences/Options/Option.js.map +1 -1
- package/dist/UserPreferences/Options/Options.js.map +1 -1
- package/dist/UserPreferences/Options/OptionsContext.js.map +1 -1
- package/dist/UserPreferences/Options/styles.js.map +1 -1
- package/dist/UserPreferences/UserPreferences.js.map +1 -1
- package/dist/VerticalNavigation/Actions/Action.js.map +1 -1
- package/dist/VerticalNavigation/Actions/Actions.js.map +1 -1
- package/dist/VerticalNavigation/Navigation/Navigation.d.ts +8 -0
- package/dist/VerticalNavigation/Navigation/Navigation.js +10 -3
- package/dist/VerticalNavigation/Navigation/Navigation.js.map +1 -1
- package/dist/VerticalNavigation/TreeView/TreeView.js.map +1 -1
- package/dist/VerticalNavigation/TreeView/TreeViewContexts.js.map +1 -1
- package/dist/VerticalNavigation/TreeView/TreeViewItem.d.ts +8 -0
- package/dist/VerticalNavigation/TreeView/TreeViewItem.js +25 -4
- package/dist/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
- package/dist/VerticalNavigation/TreeView/descendants.js.map +1 -1
- package/dist/VerticalNavigation/TreeView/styles.js +3 -0
- package/dist/VerticalNavigation/TreeView/styles.js.map +1 -1
- package/dist/VerticalNavigation/VerticalContainer/VerticalContainer.js.map +1 -1
- package/dist/VerticalNavigation/VerticalNavigation.js.map +1 -1
- package/dist/legacy/Header/Navigation/MenuBar/MenuBar.js +5 -1
- package/dist/legacy/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
- package/dist/legacy/Header/Navigation/MenuItem/MenuItem.js +25 -9
- package/dist/legacy/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
- package/dist/legacy/Header/Navigation/MenuItem/styles.js +4 -0
- package/dist/legacy/Header/Navigation/MenuItem/styles.js.map +1 -1
- package/dist/legacy/Header/Navigation/Navigation.d.ts +4 -0
- package/dist/legacy/Header/Navigation/Navigation.js +5 -1
- package/dist/legacy/Header/Navigation/Navigation.js.map +1 -1
- package/dist/legacy/List/List.js +23 -19
- package/dist/legacy/List/List.js.map +1 -1
- package/dist/legacy/Table/Table.js +20 -23
- package/dist/legacy/Table/Table.js.map +1 -1
- package/dist/legacy/VerticalNavigation/Navigation/Navigation.d.ts +8 -0
- package/dist/legacy/VerticalNavigation/Navigation/Navigation.js +10 -3
- package/dist/legacy/VerticalNavigation/Navigation/Navigation.js.map +1 -1
- package/dist/legacy/VerticalNavigation/TreeView/TreeViewItem.d.ts +8 -0
- package/dist/legacy/VerticalNavigation/TreeView/TreeViewItem.js +24 -4
- package/dist/legacy/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
- package/dist/legacy/VerticalNavigation/TreeView/styles.js +3 -0
- package/dist/legacy/VerticalNavigation/TreeView/styles.js.map +1 -1
- package/dist/legacy/utils/ConditionalRenderer.js +1 -0
- package/dist/legacy/utils/ConditionalRenderer.js.map +1 -1
- package/dist/modern/Header/Navigation/MenuBar/MenuBar.js +5 -1
- package/dist/modern/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
- package/dist/modern/Header/Navigation/MenuItem/MenuItem.js +24 -9
- package/dist/modern/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
- package/dist/modern/Header/Navigation/MenuItem/styles.js +4 -0
- package/dist/modern/Header/Navigation/MenuItem/styles.js.map +1 -1
- package/dist/modern/Header/Navigation/Navigation.d.ts +4 -0
- package/dist/modern/Header/Navigation/Navigation.js +5 -1
- package/dist/modern/Header/Navigation/Navigation.js.map +1 -1
- package/dist/modern/List/List.js +25 -24
- package/dist/modern/List/List.js.map +1 -1
- package/dist/modern/Table/Table.js +20 -23
- package/dist/modern/Table/Table.js.map +1 -1
- package/dist/modern/VerticalNavigation/Navigation/Navigation.d.ts +8 -0
- package/dist/modern/VerticalNavigation/Navigation/Navigation.js +10 -2
- package/dist/modern/VerticalNavigation/Navigation/Navigation.js.map +1 -1
- package/dist/modern/VerticalNavigation/TreeView/TreeViewItem.d.ts +8 -0
- package/dist/modern/VerticalNavigation/TreeView/TreeViewItem.js +23 -4
- package/dist/modern/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
- package/dist/modern/VerticalNavigation/TreeView/styles.js +3 -0
- package/dist/modern/VerticalNavigation/TreeView/styles.js.map +1 -1
- package/dist/modern/utils/ConditionalRenderer.js +1 -0
- package/dist/modern/utils/ConditionalRenderer.js.map +1 -1
- package/dist/theme/CssBaseline.js.map +1 -1
- package/dist/theme/ScopedCssBaseline.js.map +1 -1
- package/dist/theme/createGenerateClassName.js.map +1 -1
- package/dist/theme/index.js.map +1 -1
- package/dist/theme/overrides/muiButton.js.map +1 -1
- package/dist/theme/palette.js.map +1 -1
- package/dist/theme/typography.js.map +1 -1
- package/dist/useUniqueId.js.map +1 -1
- package/dist/utils/ConditionalRenderer.js +1 -0
- package/dist/utils/ConditionalRenderer.js.map +1 -1
- package/dist/utils/browser.js.map +1 -1
- package/dist/utils/hexToRgbA.js.map +1 -1
- package/dist/utils/refType.js.map +1 -1
- package/dist/utils/setId.js.map +1 -1
- package/dist/utils/useComputation.js.map +1 -1
- package/dist/utils/useDeprecated.js.map +1 -1
- package/dist/utils/useImageLoaded.js.map +1 -1
- package/dist/utils/useIsMounted.js.map +1 -1
- package/dist/utils/useLabels.js.map +1 -1
- package/dist/utils/usePropAsRef.js.map +1 -1
- package/dist/utils/useSavedState.js.map +1 -1
- package/dist/utils/useUpdated.js.map +1 -1
- package/dist/utils/useWidth.js.map +1 -1
- package/dist/withId.js.map +1 -1
- package/dist/withTooltip.js.map +1 -1
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseCheckBox.js","names":["getSelectorIcons","classes","options","disabled","semantic","color","undefined","checkedColor","checkbox","icon","checkboxPartial","checkboxChecked","HvBaseCheckbox","props","className","id","name","value","required","readOnly","checked","indeterminate","defaultChecked","onChange","inputProps","onFocusVisible","onBlur","others","focusVisible","setFocusVisible","onFocusVisibleCallback","evt","onBlurCallback","icons","onLocalChange","target","root","propTypes","PropTypes","string","shape","isRequired","any","bool","func","instanceOf","Object","styles"],"sources":["../../src/BaseCheckBox/BaseCheckBox.js"],"sourcesContent":["import React, { useState, useCallback } from \"react\";\n\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\n\nimport { Checkbox, withStyles } from \"@material-ui/core\";\n\nimport {\n Checkbox as CheckboxIcon,\n CheckboxCheck,\n CheckboxPartial,\n} from \"@hitachivantara/uikit-react-icons\";\n\nimport styles from \"./styles\";\n\nexport const getSelectorIcons = (classes, options) => {\n const { disabled, semantic } = options;\n const color = (disabled && [\"atmo3\", \"atmo5\"]) || (semantic && [\"base1\", \"base2\"]) || undefined;\n const checkedColor =\n (disabled && [\"atmo3\", \"atmo5\"]) || (semantic && [\"base2\", \"base1\"]) || undefined;\n\n return {\n checkbox: <CheckboxIcon color={color} className={classes.icon} />,\n checkboxPartial: <CheckboxPartial color={color} className={classes.icon} />,\n checkboxChecked: <CheckboxCheck color={checkedColor} className={classes.icon} />,\n };\n};\n\n/**\n * A Checkbox is a mechanism that allows user to select one or more options.\n *\n * The Base Checkbox is a building block of the Checkbox form element. Don't use unless\n * implementing a custom use case not covered by the Checkbox form element.\n */\nconst HvBaseCheckbox = (props) => {\n const {\n classes,\n className,\n\n id,\n name,\n value = \"on\",\n\n required = false,\n readOnly = false,\n disabled = false,\n\n checked,\n indeterminate,\n defaultChecked,\n\n semantic = false,\n\n onChange,\n\n inputProps,\n\n onFocusVisible,\n onBlur,\n\n ...others\n } = props;\n\n const [focusVisible, setFocusVisible] = useState(false);\n\n const onFocusVisibleCallback = useCallback(\n (evt) => {\n setFocusVisible(true);\n onFocusVisible?.(evt);\n },\n [onFocusVisible]\n );\n\n const onBlurCallback = useCallback(\n (evt) => {\n setFocusVisible(false);\n onBlur?.(evt);\n },\n [onBlur]\n );\n\n const icons = getSelectorIcons(classes, { disabled, semantic });\n\n const onLocalChange = useCallback(\n (evt) => {\n if (readOnly) {\n return;\n }\n\n onChange?.(evt, evt.target.checked, value);\n },\n [onChange, readOnly, value]\n );\n\n return (\n <Checkbox\n id={id}\n name={name}\n className={clsx(className, classes.root, {\n [classes.disabled]: disabled,\n [classes.focusVisible]: focusVisible,\n })}\n icon={icons.checkbox}\n indeterminateIcon={icons.checkboxPartial}\n checkedIcon={icons.checkboxChecked}\n color=\"default\"\n disabled={disabled}\n required={required}\n readOnly={readOnly}\n disableRipple\n onChange={onLocalChange}\n value={value}\n checked={checked}\n defaultChecked={defaultChecked}\n indeterminate={indeterminate}\n inputProps={inputProps}\n onFocusVisible={onFocusVisibleCallback}\n onBlur={onBlurCallback}\n {...others}\n />\n );\n};\n\nHvBaseCheckbox.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 to the checkbox.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the checkbox when it is disabled.\n */\n disabled: PropTypes.string,\n /**\n * Class applied to the root element if keyboard focused.\n */\n focusVisible: PropTypes.string,\n }).isRequired,\n\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n\n /**\n * The input name.\n */\n name: PropTypes.string,\n /**\n * The value of the input.\n *\n * Is up to the application's logic when to consider the submission of this value.\n * Generally it should be used only when the checkbox is neither unchecked nor indeterminate.\n *\n * The default value is \"on\".\n */\n // eslint-disable-next-line react/forbid-prop-types\n value: PropTypes.any,\n\n /**\n * Indicates that the input is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * Indicates that the input is not editable.\n */\n readOnly: PropTypes.bool,\n /**\n * Indicates that user input is required.\n */\n required: PropTypes.bool,\n\n /**\n * If `true` the checkbox is selected, if set to `false` the checkbox is not selected.\n *\n * When defined the checkbox state becomes controlled.\n */\n checked: PropTypes.bool,\n /**\n * When uncontrolled, defines the initial checked state.\n */\n defaultChecked: PropTypes.bool,\n /**\n * If `true` the checkbox visually shows the indeterminate state.\n */\n indeterminate: PropTypes.bool,\n\n /**\n * The callback fired when the checkbox is pressed.\n */\n onChange: PropTypes.func,\n\n /**\n * Whether the selector should use semantic colors.\n */\n semantic: PropTypes.bool,\n\n /**\n * Properties passed on to the input element.\n */\n inputProps: PropTypes.instanceOf(Object),\n\n /**\n * Callback fired when the component is focused with a keyboard.\n * We trigger a `onFocus` callback too.\n */\n onFocusVisible: PropTypes.func,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n};\n\nexport default withStyles(styles, { name: \"HvBaseCheckbox\" })(HvBaseCheckbox);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseCheckBox.js","names":["getSelectorIcons","classes","options","disabled","semantic","color","undefined","checkedColor","checkbox","icon","checkboxPartial","checkboxChecked","HvBaseCheckbox","props","className","id","name","value","required","readOnly","checked","indeterminate","defaultChecked","onChange","inputProps","onFocusVisible","onBlur","others","useState","focusVisible","setFocusVisible","onFocusVisibleCallback","useCallback","evt","onBlurCallback","icons","onLocalChange","target","clsx","root","propTypes","PropTypes","string","shape","isRequired","any","bool","func","instanceOf","Object","withStyles","styles"],"sources":["../../src/BaseCheckBox/BaseCheckBox.js"],"sourcesContent":["import React, { useState, useCallback } from \"react\";\n\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\n\nimport { Checkbox, withStyles } from \"@material-ui/core\";\n\nimport {\n Checkbox as CheckboxIcon,\n CheckboxCheck,\n CheckboxPartial,\n} from \"@hitachivantara/uikit-react-icons\";\n\nimport styles from \"./styles\";\n\nexport const getSelectorIcons = (classes, options) => {\n const { disabled, semantic } = options;\n const color = (disabled && [\"atmo3\", \"atmo5\"]) || (semantic && [\"base1\", \"base2\"]) || undefined;\n const checkedColor =\n (disabled && [\"atmo3\", \"atmo5\"]) || (semantic && [\"base2\", \"base1\"]) || undefined;\n\n return {\n checkbox: <CheckboxIcon color={color} className={classes.icon} />,\n checkboxPartial: <CheckboxPartial color={color} className={classes.icon} />,\n checkboxChecked: <CheckboxCheck color={checkedColor} className={classes.icon} />,\n };\n};\n\n/**\n * A Checkbox is a mechanism that allows user to select one or more options.\n *\n * The Base Checkbox is a building block of the Checkbox form element. Don't use unless\n * implementing a custom use case not covered by the Checkbox form element.\n */\nconst HvBaseCheckbox = (props) => {\n const {\n classes,\n className,\n\n id,\n name,\n value = \"on\",\n\n required = false,\n readOnly = false,\n disabled = false,\n\n checked,\n indeterminate,\n defaultChecked,\n\n semantic = false,\n\n onChange,\n\n inputProps,\n\n onFocusVisible,\n onBlur,\n\n ...others\n } = props;\n\n const [focusVisible, setFocusVisible] = useState(false);\n\n const onFocusVisibleCallback = useCallback(\n (evt) => {\n setFocusVisible(true);\n onFocusVisible?.(evt);\n },\n [onFocusVisible]\n );\n\n const onBlurCallback = useCallback(\n (evt) => {\n setFocusVisible(false);\n onBlur?.(evt);\n },\n [onBlur]\n );\n\n const icons = getSelectorIcons(classes, { disabled, semantic });\n\n const onLocalChange = useCallback(\n (evt) => {\n if (readOnly) {\n return;\n }\n\n onChange?.(evt, evt.target.checked, value);\n },\n [onChange, readOnly, value]\n );\n\n return (\n <Checkbox\n id={id}\n name={name}\n className={clsx(className, classes.root, {\n [classes.disabled]: disabled,\n [classes.focusVisible]: focusVisible,\n })}\n icon={icons.checkbox}\n indeterminateIcon={icons.checkboxPartial}\n checkedIcon={icons.checkboxChecked}\n color=\"default\"\n disabled={disabled}\n required={required}\n readOnly={readOnly}\n disableRipple\n onChange={onLocalChange}\n value={value}\n checked={checked}\n defaultChecked={defaultChecked}\n indeterminate={indeterminate}\n inputProps={inputProps}\n onFocusVisible={onFocusVisibleCallback}\n onBlur={onBlurCallback}\n {...others}\n />\n );\n};\n\nHvBaseCheckbox.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 to the checkbox.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the checkbox when it is disabled.\n */\n disabled: PropTypes.string,\n /**\n * Class applied to the root element if keyboard focused.\n */\n focusVisible: PropTypes.string,\n }).isRequired,\n\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n\n /**\n * The input name.\n */\n name: PropTypes.string,\n /**\n * The value of the input.\n *\n * Is up to the application's logic when to consider the submission of this value.\n * Generally it should be used only when the checkbox is neither unchecked nor indeterminate.\n *\n * The default value is \"on\".\n */\n // eslint-disable-next-line react/forbid-prop-types\n value: PropTypes.any,\n\n /**\n * Indicates that the input is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * Indicates that the input is not editable.\n */\n readOnly: PropTypes.bool,\n /**\n * Indicates that user input is required.\n */\n required: PropTypes.bool,\n\n /**\n * If `true` the checkbox is selected, if set to `false` the checkbox is not selected.\n *\n * When defined the checkbox state becomes controlled.\n */\n checked: PropTypes.bool,\n /**\n * When uncontrolled, defines the initial checked state.\n */\n defaultChecked: PropTypes.bool,\n /**\n * If `true` the checkbox visually shows the indeterminate state.\n */\n indeterminate: PropTypes.bool,\n\n /**\n * The callback fired when the checkbox is pressed.\n */\n onChange: PropTypes.func,\n\n /**\n * Whether the selector should use semantic colors.\n */\n semantic: PropTypes.bool,\n\n /**\n * Properties passed on to the input element.\n */\n inputProps: PropTypes.instanceOf(Object),\n\n /**\n * Callback fired when the component is focused with a keyboard.\n * We trigger a `onFocus` callback too.\n */\n onFocusVisible: PropTypes.func,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n};\n\nexport default withStyles(styles, { name: \"HvBaseCheckbox\" })(HvBaseCheckbox);\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseDropdown.js","names":["Tab","KeyboardCodes","Enter","Esc","Space","ArrowDown","HvBaseDropdown","id","role","classes","className","placeholder","disabled","expanded","defaultExpanded","placement","popperProps","onToggle","onClickOutside","onContainerCreation","disablePortal","component","adornment","children","variableWidth","dropdownHeaderProps","dropdownHeaderRefProp","dropdownHeaderRef","others","Boolean","isOpen","setIsOpen","bottom","referenceElement","setReferenceElement","popperMaxSize","setPopperMaxSize","handleDropdownHeaderRefProp","ref","handleDropdownHeaderRef","popperElement","setPopperElement","extensionWidth","offsetWidth","modifiers","popperPropsModifiers","otherPopperProps","onFirstUpdate","widthCalculator","state","styles","popper","width","rects","reference","widthCalculatorEffect","elements","style","maxSizeCalculator","modifiersData","maxSize","height","maxWidth","maxHeight","name","enabled","phase","requires","fn","effect","popperStyles","attributes","elementId","ariaRole","undefined","popperPlacement","handleToggle","event","preventDefault","notControlKey","every","key","ignoredCombinations","newOpen","focusHeader","focus","preventScroll","headerComponent","React","cloneElement","header","headerOpen","includes","headerOpenUp","headerOpenDown","headerDisabled","pointerEvents","selection","selectionDisabled","arrow","containerComponent","handleContainerKeyDown","shiftKey","focusList","document","activeElement","last","first","handleOutside","isButtonClick","contains","target","container","inputExtensionOpen","inputExtensionLeftPosition","panel","inputExtensionOpenShadow","inputExtensionFloatRight","inputExtensionFloatLeft","ReactDOM","createPortal","body","root","anchor","rootDisabled","propTypes","PropTypes","string","shape","isRequired","oneOfType","node","bool","oneOf","func","onFlip","instanceOf","Object","refType"],"sources":["../../src/BaseDropdown/BaseDropdown.js"],"sourcesContent":["/* eslint-disable jsx-a11y/no-noninteractive-tabindex */\nimport ReactDOM from \"react-dom\";\nimport React, { useState, useCallback, useMemo } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { ClickAwayListener, withStyles } from \"@material-ui/core\";\nimport { usePopper } from \"react-popper\";\nimport maxSize from \"popper-max-size-modifier\";\nimport clsx from \"clsx\";\nimport { DropUpXS, DropDownXS } from \"@hitachivantara/uikit-react-icons\";\nimport { HvTypography, useUniqueId } from \"..\";\nimport {\n getFirstAndLastFocus,\n isKeypress,\n KeyboardCodes,\n setId,\n refType,\n useControlled,\n useForkRef,\n} from \"../utils\";\nimport styles from \"./styles\";\n\nimport BaseDropdownContext from \"./BaseDropdownContext\";\n\nconst { Tab, Enter, Esc, Space, ArrowDown } = KeyboardCodes;\n\nconst HvBaseDropdown = ({\n id,\n role,\n classes,\n className,\n placeholder,\n disabled = false,\n expanded,\n defaultExpanded = false,\n placement = \"right\",\n popperProps = {},\n onToggle,\n onClickOutside,\n onContainerCreation,\n disablePortal = false,\n component,\n adornment,\n children,\n variableWidth = false,\n dropdownHeaderProps,\n dropdownHeaderRef: dropdownHeaderRefProp,\n ...others\n}) => {\n const [isOpen, setIsOpen] = useControlled(expanded, Boolean(defaultExpanded));\n\n const bottom = placement && `bottom-${placement === \"right\" ? \"start\" : \"end\"}`;\n\n const [referenceElement, setReferenceElement] = useState(null);\n const [popperMaxSize, setPopperMaxSize] = useState({});\n\n const handleDropdownHeaderRefProp = useForkRef(dropdownHeaderRefProp, dropdownHeaderProps?.ref);\n const handleDropdownHeaderRef = useForkRef(setReferenceElement, handleDropdownHeaderRefProp);\n\n const [popperElement, setPopperElement] = useState(null);\n\n const extensionWidth = referenceElement ? referenceElement.offsetWidth : \"inherit\";\n const { modifiers: popperPropsModifiers = [], ...otherPopperProps } = popperProps;\n\n const onFirstUpdate = useCallback(() => {\n if (onContainerCreation) onContainerCreation(popperElement);\n }, [onContainerCreation, popperElement]);\n\n const widthCalculator = useCallback(({ state }) => {\n // eslint-disable-next-line no-param-reassign\n state.styles.popper.width = `${state.rects.reference.width}px`;\n }, []);\n\n const widthCalculatorEffect = useCallback(({ state }) => {\n // eslint-disable-next-line no-param-reassign\n state.elements.popper.style.width = `${state.elements.reference.offsetWidth}px`;\n }, []);\n\n const maxSizeCalculator = useCallback(\n ({ state }) => {\n // The `maxSize` modifier provides this data\n const { width, height } = state.modifiersData.maxSize;\n if (width !== popperMaxSize.width || height !== popperMaxSize.height) {\n setPopperMaxSize({ width, height });\n }\n\n // eslint-disable-next-line no-param-reassign\n state.styles.popper = {\n ...state.styles.popper,\n maxWidth: `${width}px`,\n maxHeight: `${height}px`,\n };\n },\n [popperMaxSize]\n );\n\n const modifiers = useMemo(\n () => [\n {\n name: \"variableWidth\",\n enabled: !variableWidth,\n phase: \"beforeWrite\",\n requires: [\"computeStyles\"],\n fn: widthCalculator,\n effect: widthCalculatorEffect,\n },\n maxSize,\n {\n name: \"applyMaxSize\",\n enabled: true,\n phase: \"beforeWrite\",\n requires: [\"maxSize\"],\n fn: maxSizeCalculator,\n },\n ...popperPropsModifiers,\n ],\n [maxSizeCalculator, popperPropsModifiers, variableWidth, widthCalculator, widthCalculatorEffect]\n );\n\n const { styles: popperStyles, attributes } = usePopper(referenceElement, popperElement, {\n placement: bottom,\n modifiers,\n onFirstUpdate,\n ...otherPopperProps,\n });\n\n const elementId = useUniqueId(id, \"hvbasedropdown\");\n\n const ariaRole = role || (component == null ? \"combobox\" : undefined);\n\n let popperPlacement = \"bottom\";\n if (attributes.popper) {\n popperPlacement = attributes.popper[\"data-popper-placement\"];\n }\n\n const handleToggle = useCallback(\n (event) => {\n if (event && !isKeypress(event, Tab)) {\n event.preventDefault();\n }\n // we are checking specifically for false because if \"isKeypress\" returns true or undefined it should continue\n const notControlKey = [Tab, Enter, Esc, ArrowDown, Space].every(\n (key) => isKeypress(event, key) === false\n );\n\n const ignoredCombinations =\n (isKeypress(event, Esc) && !isOpen) ||\n (isKeypress(event, ArrowDown) && isOpen) ||\n (isKeypress(event, Tab) && !isOpen);\n\n if (disabled || notControlKey || ignoredCombinations) return;\n\n const newOpen = !isOpen;\n\n /* If about to close focus on the header component. */\n const focusHeader = () => {\n if (!newOpen) {\n // focus-ring won't be visible even if using the keyboard:\n // https://github.com/WICG/focus-visible/issues/88\n referenceElement.focus({ preventScroll: true });\n }\n\n return newOpen;\n };\n setIsOpen(focusHeader());\n\n onToggle?.(event, newOpen);\n },\n [isOpen, disabled, setIsOpen, onToggle, referenceElement]\n );\n\n const headerComponent = (() => {\n if (component) {\n return React.cloneElement(component, {\n ref: handleDropdownHeaderRef,\n });\n }\n\n return (\n <div\n id={setId(id, \"header\")}\n className={clsx(classes.header, {\n [classes.headerDisabled]: disabled,\n [classes.headerOpen]: isOpen,\n [classes.headerOpenUp]: isOpen && popperPlacement.includes(\"top\"),\n [classes.headerOpenDown]: isOpen && popperPlacement.includes(\"bottom\"),\n })}\n role={ariaRole === \"combobox\" ? \"textbox\" : undefined}\n style={disabled ? { pointerEvents: \"none\" } : undefined}\n aria-controls={isOpen ? setId(elementId, \"children-container\") : undefined}\n aria-label={others[\"aria-label\"] ?? undefined}\n aria-labelledby={others[\"aria-labelledby\"] ?? undefined}\n tabIndex={disabled ? -1 : 0}\n ref={handleDropdownHeaderRef}\n {...dropdownHeaderProps}\n >\n <div className={classes.selection}>\n {placeholder && typeof placeholder === \"string\" ? (\n <HvTypography\n noWrap\n className={clsx(classes.placeholder, {\n [classes.selectionDisabled]: disabled,\n })}\n variant=\"placeholderText\"\n >\n {placeholder}\n </HvTypography>\n ) : (\n placeholder\n )}\n </div>\n {adornment ||\n (isOpen ? (\n <DropUpXS iconSize=\"XS\" className={classes.arrow} />\n ) : (\n <DropDownXS\n iconSize=\"XS\"\n className={classes.arrow}\n color={disabled ? \"atmo5\" : undefined}\n />\n ))}\n </div>\n );\n })();\n\n const containerComponent = (() => {\n /**\n * Handle keyboard inside children container.\n */\n const handleContainerKeyDown = (event) => {\n if (isKeypress(event, Esc)) {\n handleToggle(event);\n }\n if (isKeypress(event, Tab) && !event.shiftKey) {\n const focusList = getFirstAndLastFocus(popperElement);\n if (document.activeElement === focusList?.last) {\n event.preventDefault();\n focusList?.first?.focus();\n }\n }\n };\n\n const handleOutside = (event) => {\n const isButtonClick = referenceElement?.contains(event.target);\n if (!isButtonClick) {\n onClickOutside?.(event);\n setIsOpen(false);\n onToggle?.(event, false);\n }\n };\n\n const container = (\n <div\n role=\"tooltip\"\n ref={setPopperElement}\n className={classes.container}\n style={popperStyles.popper}\n {...attributes.popper}\n >\n <ClickAwayListener onClickAway={handleOutside}>\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <div onKeyDown={handleContainerKeyDown}>\n {popperPlacement.includes(\"bottom\") && (\n <div\n style={{ width: extensionWidth }}\n className={clsx(classes.inputExtensionOpen, {\n [classes.inputExtensionLeftPosition]: popperPlacement.includes(\"end\"),\n })}\n />\n )}\n <BaseDropdownContext.Provider value={popperMaxSize}>\n <div id={setId(elementId, \"children-container\")} className={classes.panel}>\n {children}\n </div>\n </BaseDropdownContext.Provider>\n {popperPlacement.includes(\"top\") && (\n <div\n style={{ width: extensionWidth }}\n className={clsx(classes.inputExtensionOpen, classes.inputExtensionOpenShadow, {\n [classes.inputExtensionFloatRight]: popperPlacement.includes(\"start\"),\n [classes.inputExtensionFloatLeft]: popperPlacement.includes(\"end\"),\n })}\n />\n )}\n </div>\n </ClickAwayListener>\n </div>\n );\n\n if (disablePortal) return container;\n\n return ReactDOM.createPortal(container, document.body);\n })();\n\n return (\n <div className={classes.root}>\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <div\n id={id}\n role={ariaRole}\n aria-expanded={!!isOpen}\n aria-owns={isOpen ? setId(elementId, \"children-container\") : undefined}\n className={clsx(className, classes.anchor, {\n [classes.rootDisabled]: disabled,\n })}\n onKeyDown={handleToggle}\n onClick={handleToggle}\n tabIndex={-1}\n {...others}\n >\n {headerComponent}\n </div>\n {isOpen ? containerComponent : null}\n </div>\n );\n};\n\nHvBaseDropdown.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * The role of the element that triggers the popup.\n *\n * Defaults to \"combobox\" if `component` and the default\n * \"textbox\" header is used, undefined otherwise.\n */\n role: PropTypes.string,\n /**\n * A Jss Object used to override or extend the component styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the root.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the root when disabled.\n */\n rootDisabled: PropTypes.string,\n /**\n * Styles applied to the element that serves as reference for the popper when disabled.\n */\n anchor: PropTypes.string,\n /**\n * Styles applied to the popper element when it is inside the root element hierarchy.\n */\n container: PropTypes.string,\n /**\n * Styles applied to the header\n */\n header: PropTypes.string,\n /**\n * Styles applied to the component when is open.\n */\n headerOpen: PropTypes.string,\n /**\n * Styles applied to the header when the container is opened up.\n */\n headerOpenUp: PropTypes.string,\n /**\n * Styles applied to the header when the container is opened down.\n */\n headerOpenDown: PropTypes.string,\n /**\n * Styles applied to the header when is disable.\n */\n headerDisabled: PropTypes.string,\n /**\n * Styles applied to the arrow\n */\n arrow: PropTypes.string,\n /**\n * Styles applied to the selection\n */\n selection: PropTypes.string,\n /**\n * Styles applied for truncating the container elements.\n */\n placeholder: PropTypes.string,\n /**\n * Styles applied when the selection is disabled.\n */\n selectionDisabled: PropTypes.string,\n /**\n * Styles applied to the dropdown panel.\n */\n panel: PropTypes.string,\n /**\n * Styles applied to the extension when open.\n */\n inputExtensionOpen: PropTypes.string,\n /**\n * Styles applied when position is left.\n */\n inputExtensionLeftPosition: PropTypes.string,\n /**\n * Styles applied to set the shadow when open.\n */\n inputExtensionOpenShadow: PropTypes.string,\n /**\n * Styles applied when position is right and the position is up.\n */\n inputExtensionFloatRight: PropTypes.string,\n /**\n * Styles applied when position is left and the position is up.\n */\n inputExtensionFloatLeft: PropTypes.string,\n }).isRequired,\n /**\n * Header placeholder. String or node.\n */\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n /**\n * If `true` the dropdown is disabled unable to be interacted, if `false` it is enabled.\n */\n disabled: PropTypes.bool,\n /**\n * Disable the portal behavior.\n * The children stay within it's parent DOM hierarchy.\n */\n disablePortal: PropTypes.bool,\n /**\n * If `true` the dropdown width depends size of content if `false` the width depends on the header size.\n * Defaults to `false`.\n */\n variableWidth: PropTypes.bool,\n /**\n * If `true` the dropdown starts opened if `false` it starts closed.\n */\n expanded: PropTypes.bool,\n /**\n * When uncontrolled, defines the initial expanded state.\n */\n defaultExpanded: PropTypes.bool,\n /**\n * An object containing props to be wired to the popper component.\n */\n popperProps: PropTypes.shape(),\n /**\n * Node to be rendered.\n */\n children: PropTypes.node,\n /**\n * Placement of the dropdown.\n */\n placement: PropTypes.oneOf([\"left\", \"right\"]),\n /**\n * Replacement for the header component.\n */\n component: PropTypes.node,\n /**\n * Adornment to replace the default arrows.\n */\n adornment: PropTypes.node,\n /**\n * When dropdown changes the expanded state.\n */\n onToggle: PropTypes.func,\n /**\n * When user click outside the open container.\n */\n onClickOutside: PropTypes.func,\n /**\n * Callback called when the dropdown is opened and ready,\n * commonly used to set focus to the content.\n */\n onContainerCreation: PropTypes.func,\n /**\n * When expanded dropdown flips position.\n */\n onFlip: PropTypes.func,\n /**\n * Attributes applied to the dropdown header element.\n */\n dropdownHeaderProps: PropTypes.instanceOf(Object),\n /**\n * Pass a ref to the dropdown header element.\n */\n dropdownHeaderRef: refType,\n};\n\nexport default withStyles(styles, { name: \"HvBaseDropdown\" })(HvBaseDropdown);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseDropdown.js","names":["Tab","KeyboardCodes","Enter","Esc","Space","ArrowDown","HvBaseDropdown","id","role","classes","className","placeholder","disabled","expanded","defaultExpanded","placement","popperProps","onToggle","onClickOutside","onContainerCreation","disablePortal","component","adornment","children","variableWidth","dropdownHeaderProps","dropdownHeaderRefProp","dropdownHeaderRef","others","useControlled","Boolean","isOpen","setIsOpen","bottom","useState","referenceElement","setReferenceElement","popperMaxSize","setPopperMaxSize","handleDropdownHeaderRefProp","useForkRef","ref","handleDropdownHeaderRef","popperElement","setPopperElement","extensionWidth","offsetWidth","modifiers","popperPropsModifiers","otherPopperProps","onFirstUpdate","useCallback","widthCalculator","state","styles","popper","width","rects","reference","widthCalculatorEffect","elements","style","maxSizeCalculator","modifiersData","maxSize","height","maxWidth","maxHeight","useMemo","name","enabled","phase","requires","fn","effect","usePopper","popperStyles","attributes","elementId","useUniqueId","ariaRole","undefined","popperPlacement","handleToggle","event","isKeypress","preventDefault","notControlKey","every","key","ignoredCombinations","newOpen","focusHeader","focus","preventScroll","headerComponent","React","cloneElement","setId","clsx","header","headerOpen","includes","headerOpenUp","headerOpenDown","headerDisabled","pointerEvents","selection","selectionDisabled","arrow","containerComponent","handleContainerKeyDown","shiftKey","focusList","getFirstAndLastFocus","document","activeElement","last","first","handleOutside","isButtonClick","contains","target","container","inputExtensionOpen","inputExtensionLeftPosition","panel","inputExtensionOpenShadow","inputExtensionFloatRight","inputExtensionFloatLeft","ReactDOM","createPortal","body","root","anchor","rootDisabled","propTypes","PropTypes","string","shape","isRequired","oneOfType","node","bool","oneOf","func","onFlip","instanceOf","Object","refType","withStyles"],"sources":["../../src/BaseDropdown/BaseDropdown.js"],"sourcesContent":["/* eslint-disable jsx-a11y/no-noninteractive-tabindex */\nimport ReactDOM from \"react-dom\";\nimport React, { useState, useCallback, useMemo } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { ClickAwayListener, withStyles } from \"@material-ui/core\";\nimport { usePopper } from \"react-popper\";\nimport maxSize from \"popper-max-size-modifier\";\nimport clsx from \"clsx\";\nimport { DropUpXS, DropDownXS } from \"@hitachivantara/uikit-react-icons\";\nimport { HvTypography, useUniqueId } from \"..\";\nimport {\n getFirstAndLastFocus,\n isKeypress,\n KeyboardCodes,\n setId,\n refType,\n useControlled,\n useForkRef,\n} from \"../utils\";\nimport styles from \"./styles\";\n\nimport BaseDropdownContext from \"./BaseDropdownContext\";\n\nconst { Tab, Enter, Esc, Space, ArrowDown } = KeyboardCodes;\n\nconst HvBaseDropdown = ({\n id,\n role,\n classes,\n className,\n placeholder,\n disabled = false,\n expanded,\n defaultExpanded = false,\n placement = \"right\",\n popperProps = {},\n onToggle,\n onClickOutside,\n onContainerCreation,\n disablePortal = false,\n component,\n adornment,\n children,\n variableWidth = false,\n dropdownHeaderProps,\n dropdownHeaderRef: dropdownHeaderRefProp,\n ...others\n}) => {\n const [isOpen, setIsOpen] = useControlled(expanded, Boolean(defaultExpanded));\n\n const bottom = placement && `bottom-${placement === \"right\" ? \"start\" : \"end\"}`;\n\n const [referenceElement, setReferenceElement] = useState(null);\n const [popperMaxSize, setPopperMaxSize] = useState({});\n\n const handleDropdownHeaderRefProp = useForkRef(dropdownHeaderRefProp, dropdownHeaderProps?.ref);\n const handleDropdownHeaderRef = useForkRef(setReferenceElement, handleDropdownHeaderRefProp);\n\n const [popperElement, setPopperElement] = useState(null);\n\n const extensionWidth = referenceElement ? referenceElement.offsetWidth : \"inherit\";\n const { modifiers: popperPropsModifiers = [], ...otherPopperProps } = popperProps;\n\n const onFirstUpdate = useCallback(() => {\n if (onContainerCreation) onContainerCreation(popperElement);\n }, [onContainerCreation, popperElement]);\n\n const widthCalculator = useCallback(({ state }) => {\n // eslint-disable-next-line no-param-reassign\n state.styles.popper.width = `${state.rects.reference.width}px`;\n }, []);\n\n const widthCalculatorEffect = useCallback(({ state }) => {\n // eslint-disable-next-line no-param-reassign\n state.elements.popper.style.width = `${state.elements.reference.offsetWidth}px`;\n }, []);\n\n const maxSizeCalculator = useCallback(\n ({ state }) => {\n // The `maxSize` modifier provides this data\n const { width, height } = state.modifiersData.maxSize;\n if (width !== popperMaxSize.width || height !== popperMaxSize.height) {\n setPopperMaxSize({ width, height });\n }\n\n // eslint-disable-next-line no-param-reassign\n state.styles.popper = {\n ...state.styles.popper,\n maxWidth: `${width}px`,\n maxHeight: `${height}px`,\n };\n },\n [popperMaxSize]\n );\n\n const modifiers = useMemo(\n () => [\n {\n name: \"variableWidth\",\n enabled: !variableWidth,\n phase: \"beforeWrite\",\n requires: [\"computeStyles\"],\n fn: widthCalculator,\n effect: widthCalculatorEffect,\n },\n maxSize,\n {\n name: \"applyMaxSize\",\n enabled: true,\n phase: \"beforeWrite\",\n requires: [\"maxSize\"],\n fn: maxSizeCalculator,\n },\n ...popperPropsModifiers,\n ],\n [maxSizeCalculator, popperPropsModifiers, variableWidth, widthCalculator, widthCalculatorEffect]\n );\n\n const { styles: popperStyles, attributes } = usePopper(referenceElement, popperElement, {\n placement: bottom,\n modifiers,\n onFirstUpdate,\n ...otherPopperProps,\n });\n\n const elementId = useUniqueId(id, \"hvbasedropdown\");\n\n const ariaRole = role || (component == null ? \"combobox\" : undefined);\n\n let popperPlacement = \"bottom\";\n if (attributes.popper) {\n popperPlacement = attributes.popper[\"data-popper-placement\"];\n }\n\n const handleToggle = useCallback(\n (event) => {\n if (event && !isKeypress(event, Tab)) {\n event.preventDefault();\n }\n // we are checking specifically for false because if \"isKeypress\" returns true or undefined it should continue\n const notControlKey = [Tab, Enter, Esc, ArrowDown, Space].every(\n (key) => isKeypress(event, key) === false\n );\n\n const ignoredCombinations =\n (isKeypress(event, Esc) && !isOpen) ||\n (isKeypress(event, ArrowDown) && isOpen) ||\n (isKeypress(event, Tab) && !isOpen);\n\n if (disabled || notControlKey || ignoredCombinations) return;\n\n const newOpen = !isOpen;\n\n /* If about to close focus on the header component. */\n const focusHeader = () => {\n if (!newOpen) {\n // focus-ring won't be visible even if using the keyboard:\n // https://github.com/WICG/focus-visible/issues/88\n referenceElement.focus({ preventScroll: true });\n }\n\n return newOpen;\n };\n setIsOpen(focusHeader());\n\n onToggle?.(event, newOpen);\n },\n [isOpen, disabled, setIsOpen, onToggle, referenceElement]\n );\n\n const headerComponent = (() => {\n if (component) {\n return React.cloneElement(component, {\n ref: handleDropdownHeaderRef,\n });\n }\n\n return (\n <div\n id={setId(id, \"header\")}\n className={clsx(classes.header, {\n [classes.headerDisabled]: disabled,\n [classes.headerOpen]: isOpen,\n [classes.headerOpenUp]: isOpen && popperPlacement.includes(\"top\"),\n [classes.headerOpenDown]: isOpen && popperPlacement.includes(\"bottom\"),\n })}\n role={ariaRole === \"combobox\" ? \"textbox\" : undefined}\n style={disabled ? { pointerEvents: \"none\" } : undefined}\n aria-controls={isOpen ? setId(elementId, \"children-container\") : undefined}\n aria-label={others[\"aria-label\"] ?? undefined}\n aria-labelledby={others[\"aria-labelledby\"] ?? undefined}\n tabIndex={disabled ? -1 : 0}\n ref={handleDropdownHeaderRef}\n {...dropdownHeaderProps}\n >\n <div className={classes.selection}>\n {placeholder && typeof placeholder === \"string\" ? (\n <HvTypography\n noWrap\n className={clsx(classes.placeholder, {\n [classes.selectionDisabled]: disabled,\n })}\n variant=\"placeholderText\"\n >\n {placeholder}\n </HvTypography>\n ) : (\n placeholder\n )}\n </div>\n {adornment ||\n (isOpen ? (\n <DropUpXS iconSize=\"XS\" className={classes.arrow} />\n ) : (\n <DropDownXS\n iconSize=\"XS\"\n className={classes.arrow}\n color={disabled ? \"atmo5\" : undefined}\n />\n ))}\n </div>\n );\n })();\n\n const containerComponent = (() => {\n /**\n * Handle keyboard inside children container.\n */\n const handleContainerKeyDown = (event) => {\n if (isKeypress(event, Esc)) {\n handleToggle(event);\n }\n if (isKeypress(event, Tab) && !event.shiftKey) {\n const focusList = getFirstAndLastFocus(popperElement);\n if (document.activeElement === focusList?.last) {\n event.preventDefault();\n focusList?.first?.focus();\n }\n }\n };\n\n const handleOutside = (event) => {\n const isButtonClick = referenceElement?.contains(event.target);\n if (!isButtonClick) {\n onClickOutside?.(event);\n setIsOpen(false);\n onToggle?.(event, false);\n }\n };\n\n const container = (\n <div\n role=\"tooltip\"\n ref={setPopperElement}\n className={classes.container}\n style={popperStyles.popper}\n {...attributes.popper}\n >\n <ClickAwayListener onClickAway={handleOutside}>\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <div onKeyDown={handleContainerKeyDown}>\n {popperPlacement.includes(\"bottom\") && (\n <div\n style={{ width: extensionWidth }}\n className={clsx(classes.inputExtensionOpen, {\n [classes.inputExtensionLeftPosition]: popperPlacement.includes(\"end\"),\n })}\n />\n )}\n <BaseDropdownContext.Provider value={popperMaxSize}>\n <div id={setId(elementId, \"children-container\")} className={classes.panel}>\n {children}\n </div>\n </BaseDropdownContext.Provider>\n {popperPlacement.includes(\"top\") && (\n <div\n style={{ width: extensionWidth }}\n className={clsx(classes.inputExtensionOpen, classes.inputExtensionOpenShadow, {\n [classes.inputExtensionFloatRight]: popperPlacement.includes(\"start\"),\n [classes.inputExtensionFloatLeft]: popperPlacement.includes(\"end\"),\n })}\n />\n )}\n </div>\n </ClickAwayListener>\n </div>\n );\n\n if (disablePortal) return container;\n\n return ReactDOM.createPortal(container, document.body);\n })();\n\n return (\n <div className={classes.root}>\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <div\n id={id}\n role={ariaRole}\n aria-expanded={!!isOpen}\n aria-owns={isOpen ? setId(elementId, \"children-container\") : undefined}\n className={clsx(className, classes.anchor, {\n [classes.rootDisabled]: disabled,\n })}\n onKeyDown={handleToggle}\n onClick={handleToggle}\n tabIndex={-1}\n {...others}\n >\n {headerComponent}\n </div>\n {isOpen ? containerComponent : null}\n </div>\n );\n};\n\nHvBaseDropdown.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * The role of the element that triggers the popup.\n *\n * Defaults to \"combobox\" if `component` and the default\n * \"textbox\" header is used, undefined otherwise.\n */\n role: PropTypes.string,\n /**\n * A Jss Object used to override or extend the component styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the root.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the root when disabled.\n */\n rootDisabled: PropTypes.string,\n /**\n * Styles applied to the element that serves as reference for the popper when disabled.\n */\n anchor: PropTypes.string,\n /**\n * Styles applied to the popper element when it is inside the root element hierarchy.\n */\n container: PropTypes.string,\n /**\n * Styles applied to the header\n */\n header: PropTypes.string,\n /**\n * Styles applied to the component when is open.\n */\n headerOpen: PropTypes.string,\n /**\n * Styles applied to the header when the container is opened up.\n */\n headerOpenUp: PropTypes.string,\n /**\n * Styles applied to the header when the container is opened down.\n */\n headerOpenDown: PropTypes.string,\n /**\n * Styles applied to the header when is disable.\n */\n headerDisabled: PropTypes.string,\n /**\n * Styles applied to the arrow\n */\n arrow: PropTypes.string,\n /**\n * Styles applied to the selection\n */\n selection: PropTypes.string,\n /**\n * Styles applied for truncating the container elements.\n */\n placeholder: PropTypes.string,\n /**\n * Styles applied when the selection is disabled.\n */\n selectionDisabled: PropTypes.string,\n /**\n * Styles applied to the dropdown panel.\n */\n panel: PropTypes.string,\n /**\n * Styles applied to the extension when open.\n */\n inputExtensionOpen: PropTypes.string,\n /**\n * Styles applied when position is left.\n */\n inputExtensionLeftPosition: PropTypes.string,\n /**\n * Styles applied to set the shadow when open.\n */\n inputExtensionOpenShadow: PropTypes.string,\n /**\n * Styles applied when position is right and the position is up.\n */\n inputExtensionFloatRight: PropTypes.string,\n /**\n * Styles applied when position is left and the position is up.\n */\n inputExtensionFloatLeft: PropTypes.string,\n }).isRequired,\n /**\n * Header placeholder. String or node.\n */\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n /**\n * If `true` the dropdown is disabled unable to be interacted, if `false` it is enabled.\n */\n disabled: PropTypes.bool,\n /**\n * Disable the portal behavior.\n * The children stay within it's parent DOM hierarchy.\n */\n disablePortal: PropTypes.bool,\n /**\n * If `true` the dropdown width depends size of content if `false` the width depends on the header size.\n * Defaults to `false`.\n */\n variableWidth: PropTypes.bool,\n /**\n * If `true` the dropdown starts opened if `false` it starts closed.\n */\n expanded: PropTypes.bool,\n /**\n * When uncontrolled, defines the initial expanded state.\n */\n defaultExpanded: PropTypes.bool,\n /**\n * An object containing props to be wired to the popper component.\n */\n popperProps: PropTypes.shape(),\n /**\n * Node to be rendered.\n */\n children: PropTypes.node,\n /**\n * Placement of the dropdown.\n */\n placement: PropTypes.oneOf([\"left\", \"right\"]),\n /**\n * Replacement for the header component.\n */\n component: PropTypes.node,\n /**\n * Adornment to replace the default arrows.\n */\n adornment: PropTypes.node,\n /**\n * When dropdown changes the expanded state.\n */\n onToggle: PropTypes.func,\n /**\n * When user click outside the open container.\n */\n onClickOutside: PropTypes.func,\n /**\n * Callback called when the dropdown is opened and ready,\n * commonly used to set focus to the content.\n */\n onContainerCreation: PropTypes.func,\n /**\n * When expanded dropdown flips position.\n */\n onFlip: PropTypes.func,\n /**\n * Attributes applied to the dropdown header element.\n */\n dropdownHeaderProps: PropTypes.instanceOf(Object),\n /**\n * Pass a ref to the dropdown header element.\n */\n dropdownHeaderRef: refType,\n};\n\nexport default withStyles(styles, { name: \"HvBaseDropdown\" })(HvBaseDropdown);\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseDropdownContext.js","names":["BaseDropdownContext","React","createContext","displayName"],"sources":["../../../src/BaseDropdown/BaseDropdownContext/BaseDropdownContext.js"],"sourcesContent":["import React from \"react\";\n\nconst BaseDropdownContext = React.createContext({});\nBaseDropdownContext.displayName = \"BaseDropdownContext\";\n\nexport default BaseDropdownContext;\n"],"mappings":";;;;;;;;;AAAA;;AAEA,IAAMA,mBAAmB,gBAAGC,
|
|
1
|
+
{"version":3,"file":"BaseDropdownContext.js","names":["BaseDropdownContext","React","createContext","displayName"],"sources":["../../../src/BaseDropdown/BaseDropdownContext/BaseDropdownContext.js"],"sourcesContent":["import React from \"react\";\n\nconst BaseDropdownContext = React.createContext({});\nBaseDropdownContext.displayName = \"BaseDropdownContext\";\n\nexport default BaseDropdownContext;\n"],"mappings":";;;;;;;;;AAAA;;AAEA,IAAMA,mBAAmB,gBAAGC,cAAA,CAAMC,aAAN,CAAoB,EAApB,CAA5B;;AACAF,mBAAmB,CAACG,WAApB,GAAkC,qBAAlC;eAEeH,mB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseInput.js","names":["HvBaseInput","props","classes","className","id","name","value","defaultValue","required","readOnly","disabled","onChange","type","placeholder","multiline","resizable","invalid","inputRef","inputProps","others","formElementContext","HvFormElementContext","formElementProps","localInvalid","status","formElementDescriptorsContext","HvFormElementDescriptorsContext","ariaProps","onChangeHandler","event","target","root","inputRoot","focused","inputRootFocused","inputRootDisabled","inputRootMultiline","input","inputResizable","inputDisabled","inputBorderContainer","formElementType","propTypes","PropTypes","string","shape","isRequired","bool","func","instanceOf","Object","refType","styles"],"sources":["../../src/BaseInput/BaseInput.js"],"sourcesContent":["import React, { useContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { Input, withStyles } from \"@material-ui/core\";\nimport { refType } from \"../utils\";\nimport styles from \"./styles\";\n\nimport {\n HvFormElementContext,\n HvFormElementDescriptorsContext,\n buildFormElementPropsFromContext,\n buildAriaPropsFromContext,\n} from \"../Forms/FormElement\";\n\n/**\n * An Input component that only posses the most basic functionalities.\n * It should be used alongside the other form elements to construct a proper accessible form.\n */\nconst HvBaseInput = (props) => {\n const {\n classes,\n className = \"\",\n\n id,\n name,\n\n value,\n defaultValue,\n\n required,\n readOnly,\n disabled,\n\n onChange,\n\n type = \"text\",\n\n placeholder,\n\n multiline = false,\n resizable = false,\n invalid = false,\n\n inputRef,\n inputProps = {},\n\n ...others\n } = props;\n\n const formElementContext = useContext(HvFormElementContext);\n const formElementProps = buildFormElementPropsFromContext(props, formElementContext);\n\n const localInvalid = invalid || formElementProps.status === \"invalid\";\n\n const formElementDescriptorsContext = useContext(HvFormElementDescriptorsContext);\n const ariaProps = buildAriaPropsFromContext(\n inputProps,\n formElementDescriptorsContext,\n localInvalid,\n id\n );\n\n const onChangeHandler = (event) => {\n onChange?.(event, event.target.value);\n };\n\n return (\n <div\n className={clsx(classes.root, className, {\n [classes.disabled]: formElementProps.disabled,\n [classes.invalid]: localInvalid,\n [classes.resizable]: multiline && resizable,\n [classes.readOnly]: readOnly,\n })}\n >\n <Input\n id={id}\n name={formElementProps.name}\n value={value}\n defaultValue={defaultValue}\n type={type}\n placeholder={placeholder}\n readOnly={formElementProps.readOnly}\n disabled={formElementProps.disabled}\n onChange={onChangeHandler}\n classes={{\n root: classes.inputRoot,\n focused: classes.inputRootFocused,\n disabled: classes.inputRootDisabled,\n multiline: classes.inputRootMultiline,\n input: clsx(classes.input, {\n [classes.inputResizable]: !formElementProps.disabled && resizable,\n [classes.inputDisabled]: disabled,\n }),\n }}\n inputProps={{\n // avoid the required attribute at the root node\n required: formElementProps.required,\n ...inputProps,\n ...ariaProps,\n }}\n inputRef={inputRef}\n multiline={multiline}\n rows={10}\n {...others}\n />\n {!multiline && <div role=\"presentation\" className={classes.inputBorderContainer} />}\n </div>\n );\n};\n\nHvBaseInput.formElementType = \"input\";\n\nHvBaseInput.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 /**\n * Styles applied to the root container of the input.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the root container of the input when it is disabled.\n */\n disabled: PropTypes.string,\n /**\n * Styles applied to the root container of the input when it is invalid.\n */\n invalid: PropTypes.string,\n /**\n * Styles applied to the root container of the input when it is resizable.\n */\n resizable: PropTypes.string,\n\n /**\n * Styles applied to input root which is the input that encloses all the other elements.\n */\n inputRoot: PropTypes.string,\n /**\n * Styles applied to input root when it is focused.\n */\n inputRootFocused: PropTypes.string,\n /**\n * Styles applied to input html element when it is disabled.\n */\n inputRootDisabled: PropTypes.string,\n /**\n * Styles applied to input html element when it is multiline mode.\n */\n inputRootMultiline: PropTypes.string,\n\n /**\n * Styles applied to input html element.\n */\n input: PropTypes.string,\n /**\n * Styles applied to input html element when is disabled.\n */\n inputDisabled: PropTypes.string,\n /**\n * Styles applied to input html element when it is resizable.\n */\n inputResizable: PropTypes.string,\n\n /**\n * Styles applied to the container of the border element.\n */\n inputBorderContainer: PropTypes.string,\n /**\n * Styles applied to the container of the border element, when in read only mode.\n */\n readOnly: PropTypes.string,\n }).isRequired,\n\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * The input name.\n */\n name: PropTypes.string,\n\n /**\n * The value of the input, when controlled.\n */\n value: PropTypes.string,\n /**\n * The initial value of the input, when uncontrolled.\n */\n defaultValue: PropTypes.string,\n\n /**\n * If `true` the input is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * Indicates that the input is not editable.\n */\n readOnly: PropTypes.bool,\n /**\n * If true, the input element will be required.\n */\n required: PropTypes.bool,\n\n /**\n * The function that will be executed onChange, allows modification of the input,\n * it receives the value. If a new value should be presented it must returned it.\n */\n onChange: PropTypes.func,\n\n /**\n * The input type.\n */\n type: PropTypes.string,\n\n /**\n * Label inside the input used to help user.\n */\n placeholder: PropTypes.string,\n\n /**\n * If true, a textarea element will be rendered.\n */\n multiline: PropTypes.bool,\n /**\n * If true and multiline is also true the textarea element will be resizable.\n */\n resizable: PropTypes.bool,\n /**\n * Denotes if the input is in an invalid state.\n */\n invalid: PropTypes.bool,\n\n /**\n * Attributes applied to the input element.\n */\n inputProps: PropTypes.instanceOf(Object),\n /**\n * Allows passing a ref to the underlying input\n */\n inputRef: refType,\n};\n\nexport default withStyles(styles, { name: \"HvBaseInput\" })(HvBaseInput);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseInput.js","names":["HvBaseInput","props","classes","className","id","name","value","defaultValue","required","readOnly","disabled","onChange","type","placeholder","multiline","resizable","invalid","inputRef","inputProps","others","formElementContext","useContext","HvFormElementContext","formElementProps","buildFormElementPropsFromContext","localInvalid","status","formElementDescriptorsContext","HvFormElementDescriptorsContext","ariaProps","buildAriaPropsFromContext","onChangeHandler","event","target","clsx","root","inputRoot","focused","inputRootFocused","inputRootDisabled","inputRootMultiline","input","inputResizable","inputDisabled","inputBorderContainer","formElementType","propTypes","PropTypes","string","shape","isRequired","bool","func","instanceOf","Object","refType","withStyles","styles"],"sources":["../../src/BaseInput/BaseInput.js"],"sourcesContent":["import React, { useContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { Input, withStyles } from \"@material-ui/core\";\nimport { refType } from \"../utils\";\nimport styles from \"./styles\";\n\nimport {\n HvFormElementContext,\n HvFormElementDescriptorsContext,\n buildFormElementPropsFromContext,\n buildAriaPropsFromContext,\n} from \"../Forms/FormElement\";\n\n/**\n * An Input component that only posses the most basic functionalities.\n * It should be used alongside the other form elements to construct a proper accessible form.\n */\nconst HvBaseInput = (props) => {\n const {\n classes,\n className = \"\",\n\n id,\n name,\n\n value,\n defaultValue,\n\n required,\n readOnly,\n disabled,\n\n onChange,\n\n type = \"text\",\n\n placeholder,\n\n multiline = false,\n resizable = false,\n invalid = false,\n\n inputRef,\n inputProps = {},\n\n ...others\n } = props;\n\n const formElementContext = useContext(HvFormElementContext);\n const formElementProps = buildFormElementPropsFromContext(props, formElementContext);\n\n const localInvalid = invalid || formElementProps.status === \"invalid\";\n\n const formElementDescriptorsContext = useContext(HvFormElementDescriptorsContext);\n const ariaProps = buildAriaPropsFromContext(\n inputProps,\n formElementDescriptorsContext,\n localInvalid,\n id\n );\n\n const onChangeHandler = (event) => {\n onChange?.(event, event.target.value);\n };\n\n return (\n <div\n className={clsx(classes.root, className, {\n [classes.disabled]: formElementProps.disabled,\n [classes.invalid]: localInvalid,\n [classes.resizable]: multiline && resizable,\n [classes.readOnly]: readOnly,\n })}\n >\n <Input\n id={id}\n name={formElementProps.name}\n value={value}\n defaultValue={defaultValue}\n type={type}\n placeholder={placeholder}\n readOnly={formElementProps.readOnly}\n disabled={formElementProps.disabled}\n onChange={onChangeHandler}\n classes={{\n root: classes.inputRoot,\n focused: classes.inputRootFocused,\n disabled: classes.inputRootDisabled,\n multiline: classes.inputRootMultiline,\n input: clsx(classes.input, {\n [classes.inputResizable]: !formElementProps.disabled && resizable,\n [classes.inputDisabled]: disabled,\n }),\n }}\n inputProps={{\n // avoid the required attribute at the root node\n required: formElementProps.required,\n ...inputProps,\n ...ariaProps,\n }}\n inputRef={inputRef}\n multiline={multiline}\n rows={10}\n {...others}\n />\n {!multiline && <div role=\"presentation\" className={classes.inputBorderContainer} />}\n </div>\n );\n};\n\nHvBaseInput.formElementType = \"input\";\n\nHvBaseInput.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 /**\n * Styles applied to the root container of the input.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the root container of the input when it is disabled.\n */\n disabled: PropTypes.string,\n /**\n * Styles applied to the root container of the input when it is invalid.\n */\n invalid: PropTypes.string,\n /**\n * Styles applied to the root container of the input when it is resizable.\n */\n resizable: PropTypes.string,\n\n /**\n * Styles applied to input root which is the input that encloses all the other elements.\n */\n inputRoot: PropTypes.string,\n /**\n * Styles applied to input root when it is focused.\n */\n inputRootFocused: PropTypes.string,\n /**\n * Styles applied to input html element when it is disabled.\n */\n inputRootDisabled: PropTypes.string,\n /**\n * Styles applied to input html element when it is multiline mode.\n */\n inputRootMultiline: PropTypes.string,\n\n /**\n * Styles applied to input html element.\n */\n input: PropTypes.string,\n /**\n * Styles applied to input html element when is disabled.\n */\n inputDisabled: PropTypes.string,\n /**\n * Styles applied to input html element when it is resizable.\n */\n inputResizable: PropTypes.string,\n\n /**\n * Styles applied to the container of the border element.\n */\n inputBorderContainer: PropTypes.string,\n /**\n * Styles applied to the container of the border element, when in read only mode.\n */\n readOnly: PropTypes.string,\n }).isRequired,\n\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * The input name.\n */\n name: PropTypes.string,\n\n /**\n * The value of the input, when controlled.\n */\n value: PropTypes.string,\n /**\n * The initial value of the input, when uncontrolled.\n */\n defaultValue: PropTypes.string,\n\n /**\n * If `true` the input is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * Indicates that the input is not editable.\n */\n readOnly: PropTypes.bool,\n /**\n * If true, the input element will be required.\n */\n required: PropTypes.bool,\n\n /**\n * The function that will be executed onChange, allows modification of the input,\n * it receives the value. If a new value should be presented it must returned it.\n */\n onChange: PropTypes.func,\n\n /**\n * The input type.\n */\n type: PropTypes.string,\n\n /**\n * Label inside the input used to help user.\n */\n placeholder: PropTypes.string,\n\n /**\n * If true, a textarea element will be rendered.\n */\n multiline: PropTypes.bool,\n /**\n * If true and multiline is also true the textarea element will be resizable.\n */\n resizable: PropTypes.bool,\n /**\n * Denotes if the input is in an invalid state.\n */\n invalid: PropTypes.bool,\n\n /**\n * Attributes applied to the input element.\n */\n inputProps: PropTypes.instanceOf(Object),\n /**\n * Allows passing a ref to the underlying input\n */\n inputRef: refType,\n};\n\nexport default withStyles(styles, { name: \"HvBaseInput\" })(HvBaseInput);\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validations.js","names":["isNumeric","num","trim","length","Number","isNaN","isEmail","email","regexp","test","validationTypes","Object","freeze","none","number","computeValidationType","type","hasBuiltInValidations","required","validationType","minCharQuantity","maxCharQuantity","validation","inputProps","minLength","maxLength","min","max","pattern","computeValidationState","inputValidity","isEmptyValue","valid","validationStates","standBy","invalid","computeValidationMessage","errorMessages","valueMissing","requiredError","tooLong","maxCharError","tooShort","minCharError","typeMismatch","typeMismatchError","error","validateInput","input","value","validity","badInput","customError","patternMismatch","rangeOverflow","rangeUnderflow","stepMismatch","DEFAULT_ERROR_MESSAGES"],"sources":["../../src/BaseInput/validations.js"],"sourcesContent":["import validationStates from \"../Forms/FormElement/validationStates\";\n\n/**\n * Checks if the value is a number.\n *\n * @param {Number || String} num - The value to test.\n *\n * @returns {Boolean} - `true` if the value is a number `false` otherwise.\n */\nconst isNumeric = (num) =>\n // to prevent Number( <spaces> ) = 0\n num.trim().length > 0 && !Number.isNaN(Number(num));\n\n/**\n * Checks if the value is an email\n *\n * @param {String} email - The value to test.\n *\n * @returns {Boolean} - `true` if the value is an email `false` otherwise.\n */\nconst isEmail = (email) => {\n const regexp =\n /^[^\\\\s]+[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?[.])+[a-z0-9](?:[a-z0-9-]*[a-z0-9])$/i;\n return regexp.test(email);\n};\n\nexport const validationTypes = Object.freeze({\n none: \"none\",\n number: \"number\",\n email: \"email\",\n});\n\n/**\n * Returns the input's validation type based in the type of the input.\n *\n * @param {String} type - the input type.\n *\n * @returns {String} - the validation type.\n */\nexport const computeValidationType = (type) => {\n switch (type) {\n case \"number\":\n return validationTypes.number;\n case \"email\":\n return validationTypes.email;\n\n default:\n return validationTypes.none;\n }\n};\n\n/**\n * Checks whether any integrated validation, native or not, is active.\n */\nexport const hasBuiltInValidations = (\n required,\n validationType,\n minCharQuantity,\n maxCharQuantity,\n validation,\n inputProps\n) =>\n required ||\n validationType !== validationTypes.none ||\n minCharQuantity != null ||\n maxCharQuantity != null ||\n validation != null ||\n inputProps?.required != null ||\n inputProps?.minLength != null ||\n inputProps?.maxLength != null ||\n inputProps?.min != null ||\n inputProps?.max != null ||\n (inputProps?.type != null && inputProps?.type !== \"text\" && inputProps?.type !== \"password\") ||\n inputProps?.pattern != null;\n\n/**\n * Returns the form element's validation state based in the validity state of the input.\n *\n * @param {Object} inputValidity - the input validity state (implementing ValidityState interface).\n *\n * @returns {String} - the validation state.\n */\nexport const computeValidationState = (inputValidity, isEmptyValue) => {\n // to keep 2.x behaviour,\n // consider that if the value is empty (and not required) we're returning to the standBy state.\n // might not make sense, as it makes impossible to say if the user explicitly cleared the input.\n if (inputValidity.valid && isEmptyValue) {\n return validationStates.standBy;\n }\n\n return inputValidity.valid ? validationStates.valid : validationStates.invalid;\n};\n\n/**\n * Returns a error message based in the validity state of the input.\n *\n * Only one error message is returned even if multiple validations fail.\n * Also, only required, minCharQuantity, maxCharQuantity and validationType have specific error messages.\n *\n * For further customization both status and statusMessage should be controlled and\n * set using the onBlur callback that receives both the value and the input validity object.\n *\n * @param {Object} inputValidity - the input validity state (implementing ValidityState interface).\n * @param {Object} errorMessages - the available localized error messages.\n *\n * @returns {String} - the error message.\n */\nexport const computeValidationMessage = (inputValidity, errorMessages) => {\n if (inputValidity.valid) {\n return \"\";\n }\n\n if (inputValidity.valueMissing) {\n return errorMessages.requiredError;\n }\n if (inputValidity.tooLong) {\n return errorMessages.maxCharError;\n }\n if (inputValidity.tooShort) {\n return errorMessages.minCharError;\n }\n if (inputValidity.typeMismatch) {\n return errorMessages.typeMismatchError;\n }\n\n return errorMessages.error;\n};\n\n/**\n * Returns a object describing the validity state of the input.\n *\n * It implements the native browser's ValidityState interface:\n * https://developer.mozilla.org/en-US/docs/Web/API/ValidityState\n *\n * @param {DOMElement} input - the input being validated.\n * @param {String} value - the inputted value.\n * @param {Boolean} required - if the input needs to be filled.\n * @param {Number} minCharQuantity - the minimum length of the value.\n * @param {Number} maxCharQuantity - the maximum length of the value.\n * @param {String} validationType - the input value type.\n * @param {Function} validation - a custom validation function.\n *\n * @returns {Object} - the validity state of the input.\n */\nexport const validateInput = (\n input,\n value,\n required,\n minCharQuantity,\n maxCharQuantity,\n validationType,\n validation\n) => {\n // bootstrap validity object using browser's built-in validation\n const inputValidity = {\n valid: input?.validity?.valid ?? true,\n badInput: input?.validity?.badInput,\n customError: input?.validity?.customError,\n patternMismatch: input?.validity?.patternMismatch,\n rangeOverflow: input?.validity?.rangeOverflow,\n rangeUnderflow: input?.validity?.rangeUnderflow,\n stepMismatch: input?.validity?.stepMismatch,\n tooLong: input?.validity?.tooLong,\n tooShort: input?.validity?.tooShort,\n typeMismatch: input?.validity?.typeMismatch,\n valueMissing: input?.validity?.valueMissing,\n };\n\n if (!value) {\n if (required) {\n // this is redundant because we're setting the required property in the native input\n inputValidity.valueMissing = true;\n inputValidity.valid = false;\n }\n } else {\n // we're not setting minlength and maxlength in the native input\n // to avoid different browser's behaviours and keep the user experience consistent\n if (minCharQuantity !== null && value.length < minCharQuantity) {\n inputValidity.tooShort = true;\n inputValidity.valid = false;\n }\n\n if (maxCharQuantity !== null && value.length > maxCharQuantity) {\n inputValidity.tooLong = true;\n inputValidity.valid = false;\n }\n\n // the validationType is used instead of type\n // for the same reason stated above\n switch (validationType) {\n case validationTypes.number:\n if (!isNumeric(value)) {\n inputValidity.typeMismatch = true;\n inputValidity.valid = false;\n }\n break;\n\n case validationTypes.email:\n if (!isEmail(value)) {\n inputValidity.typeMismatch = true;\n inputValidity.valid = false;\n }\n break;\n\n default:\n }\n\n if (validation != null && !validation(value)) {\n inputValidity.customError = true;\n inputValidity.valid = false;\n }\n }\n\n return inputValidity;\n};\n\nexport const DEFAULT_ERROR_MESSAGES = {\n error: \"Invalid value\",\n requiredError: \"The value is required\",\n minCharError: \"The value is too short\",\n maxCharError: \"The value is too long\",\n typeMismatchError: \"Invalid value\",\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validations.js","names":["isNumeric","num","trim","length","Number","isNaN","isEmail","email","regexp","test","validationTypes","Object","freeze","none","number","computeValidationType","type","hasBuiltInValidations","required","validationType","minCharQuantity","maxCharQuantity","validation","inputProps","minLength","maxLength","min","max","pattern","computeValidationState","inputValidity","isEmptyValue","valid","validationStates","standBy","invalid","computeValidationMessage","errorMessages","valueMissing","requiredError","tooLong","maxCharError","tooShort","minCharError","typeMismatch","typeMismatchError","error","validateInput","input","value","validity","badInput","customError","patternMismatch","rangeOverflow","rangeUnderflow","stepMismatch","DEFAULT_ERROR_MESSAGES"],"sources":["../../src/BaseInput/validations.js"],"sourcesContent":["import validationStates from \"../Forms/FormElement/validationStates\";\n\n/**\n * Checks if the value is a number.\n *\n * @param {Number || String} num - The value to test.\n *\n * @returns {Boolean} - `true` if the value is a number `false` otherwise.\n */\nconst isNumeric = (num) =>\n // to prevent Number( <spaces> ) = 0\n num.trim().length > 0 && !Number.isNaN(Number(num));\n\n/**\n * Checks if the value is an email\n *\n * @param {String} email - The value to test.\n *\n * @returns {Boolean} - `true` if the value is an email `false` otherwise.\n */\nconst isEmail = (email) => {\n const regexp =\n /^[^\\\\s]+[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?[.])+[a-z0-9](?:[a-z0-9-]*[a-z0-9])$/i;\n return regexp.test(email);\n};\n\nexport const validationTypes = Object.freeze({\n none: \"none\",\n number: \"number\",\n email: \"email\",\n});\n\n/**\n * Returns the input's validation type based in the type of the input.\n *\n * @param {String} type - the input type.\n *\n * @returns {String} - the validation type.\n */\nexport const computeValidationType = (type) => {\n switch (type) {\n case \"number\":\n return validationTypes.number;\n case \"email\":\n return validationTypes.email;\n\n default:\n return validationTypes.none;\n }\n};\n\n/**\n * Checks whether any integrated validation, native or not, is active.\n */\nexport const hasBuiltInValidations = (\n required,\n validationType,\n minCharQuantity,\n maxCharQuantity,\n validation,\n inputProps\n) =>\n required ||\n validationType !== validationTypes.none ||\n minCharQuantity != null ||\n maxCharQuantity != null ||\n validation != null ||\n inputProps?.required != null ||\n inputProps?.minLength != null ||\n inputProps?.maxLength != null ||\n inputProps?.min != null ||\n inputProps?.max != null ||\n (inputProps?.type != null && inputProps?.type !== \"text\" && inputProps?.type !== \"password\") ||\n inputProps?.pattern != null;\n\n/**\n * Returns the form element's validation state based in the validity state of the input.\n *\n * @param {Object} inputValidity - the input validity state (implementing ValidityState interface).\n *\n * @returns {String} - the validation state.\n */\nexport const computeValidationState = (inputValidity, isEmptyValue) => {\n // to keep 2.x behaviour,\n // consider that if the value is empty (and not required) we're returning to the standBy state.\n // might not make sense, as it makes impossible to say if the user explicitly cleared the input.\n if (inputValidity.valid && isEmptyValue) {\n return validationStates.standBy;\n }\n\n return inputValidity.valid ? validationStates.valid : validationStates.invalid;\n};\n\n/**\n * Returns a error message based in the validity state of the input.\n *\n * Only one error message is returned even if multiple validations fail.\n * Also, only required, minCharQuantity, maxCharQuantity and validationType have specific error messages.\n *\n * For further customization both status and statusMessage should be controlled and\n * set using the onBlur callback that receives both the value and the input validity object.\n *\n * @param {Object} inputValidity - the input validity state (implementing ValidityState interface).\n * @param {Object} errorMessages - the available localized error messages.\n *\n * @returns {String} - the error message.\n */\nexport const computeValidationMessage = (inputValidity, errorMessages) => {\n if (inputValidity.valid) {\n return \"\";\n }\n\n if (inputValidity.valueMissing) {\n return errorMessages.requiredError;\n }\n if (inputValidity.tooLong) {\n return errorMessages.maxCharError;\n }\n if (inputValidity.tooShort) {\n return errorMessages.minCharError;\n }\n if (inputValidity.typeMismatch) {\n return errorMessages.typeMismatchError;\n }\n\n return errorMessages.error;\n};\n\n/**\n * Returns a object describing the validity state of the input.\n *\n * It implements the native browser's ValidityState interface:\n * https://developer.mozilla.org/en-US/docs/Web/API/ValidityState\n *\n * @param {DOMElement} input - the input being validated.\n * @param {String} value - the inputted value.\n * @param {Boolean} required - if the input needs to be filled.\n * @param {Number} minCharQuantity - the minimum length of the value.\n * @param {Number} maxCharQuantity - the maximum length of the value.\n * @param {String} validationType - the input value type.\n * @param {Function} validation - a custom validation function.\n *\n * @returns {Object} - the validity state of the input.\n */\nexport const validateInput = (\n input,\n value,\n required,\n minCharQuantity,\n maxCharQuantity,\n validationType,\n validation\n) => {\n // bootstrap validity object using browser's built-in validation\n const inputValidity = {\n valid: input?.validity?.valid ?? true,\n badInput: input?.validity?.badInput,\n customError: input?.validity?.customError,\n patternMismatch: input?.validity?.patternMismatch,\n rangeOverflow: input?.validity?.rangeOverflow,\n rangeUnderflow: input?.validity?.rangeUnderflow,\n stepMismatch: input?.validity?.stepMismatch,\n tooLong: input?.validity?.tooLong,\n tooShort: input?.validity?.tooShort,\n typeMismatch: input?.validity?.typeMismatch,\n valueMissing: input?.validity?.valueMissing,\n };\n\n if (!value) {\n if (required) {\n // this is redundant because we're setting the required property in the native input\n inputValidity.valueMissing = true;\n inputValidity.valid = false;\n }\n } else {\n // we're not setting minlength and maxlength in the native input\n // to avoid different browser's behaviours and keep the user experience consistent\n if (minCharQuantity !== null && value.length < minCharQuantity) {\n inputValidity.tooShort = true;\n inputValidity.valid = false;\n }\n\n if (maxCharQuantity !== null && value.length > maxCharQuantity) {\n inputValidity.tooLong = true;\n inputValidity.valid = false;\n }\n\n // the validationType is used instead of type\n // for the same reason stated above\n switch (validationType) {\n case validationTypes.number:\n if (!isNumeric(value)) {\n inputValidity.typeMismatch = true;\n inputValidity.valid = false;\n }\n break;\n\n case validationTypes.email:\n if (!isEmail(value)) {\n inputValidity.typeMismatch = true;\n inputValidity.valid = false;\n }\n break;\n\n default:\n }\n\n if (validation != null && !validation(value)) {\n inputValidity.customError = true;\n inputValidity.valid = false;\n }\n }\n\n return inputValidity;\n};\n\nexport const DEFAULT_ERROR_MESSAGES = {\n error: \"Invalid value\",\n requiredError: \"The value is required\",\n minCharError: \"The value is too short\",\n maxCharError: \"The value is too long\",\n typeMismatchError: \"Invalid value\",\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseRadio.js","names":["getSelectorIcons","classes","options","disabled","semantic","color","undefined","checkedColor","radio","icon","radioChecked","HvBaseRadio","props","className","id","name","value","required","readOnly","checked","defaultChecked","onChange","inputProps","onFocusVisible","onBlur","others","focusVisible","setFocusVisible","onFocusVisibleCallback","evt","onBlurCallback","icons","onLocalChange","target","root","propTypes","PropTypes","string","shape","isRequired","any","bool","func","instanceOf","Object","styles"],"sources":["../../src/BaseRadio/BaseRadio.js"],"sourcesContent":["import React, { useState, useCallback } from \"react\";\n\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\n\nimport { Radio, withStyles } from \"@material-ui/core\";\n\nimport { RadioButtonUnselected, RadioButtonSelected } from \"@hitachivantara/uikit-react-icons\";\n\nimport styles from \"./styles\";\n\nexport const getSelectorIcons = (classes, options) => {\n const { disabled, semantic } = options;\n const color = (disabled && [\"atmo3\", \"atmo5\"]) || (semantic && [\"base1\", \"base2\"]) || undefined;\n const checkedColor =\n (disabled && [\"atmo3\", \"atmo5\"]) || (semantic && [\"base2\", \"base1\"]) || undefined;\n\n return {\n radio: <RadioButtonUnselected color={color} className={classes.icon} />,\n radioChecked: <RadioButtonSelected color={checkedColor} className={classes.icon} />,\n };\n};\n\n/**\n * A Radio Button is a mechanism that allows user to select one or more options.\n *\n * The Base Radio Button is a building block of the Radio Button form element. Don't\n * use unless implementing a custom use case not covered by the Radio Button form element.\n */\nconst HvBaseRadio = (props) => {\n const {\n classes,\n className,\n\n id,\n name,\n value = \"on\",\n required = false,\n readOnly = false,\n disabled = false,\n\n checked,\n defaultChecked,\n\n onChange,\n\n semantic = false,\n\n inputProps,\n\n onFocusVisible,\n onBlur,\n\n ...others\n } = props;\n\n const [focusVisible, setFocusVisible] = useState(false);\n\n const onFocusVisibleCallback = useCallback(\n (evt) => {\n setFocusVisible(true);\n onFocusVisible?.(evt);\n },\n [onFocusVisible]\n );\n\n const onBlurCallback = useCallback(\n (evt) => {\n setFocusVisible(false);\n onBlur?.(evt);\n },\n [onBlur]\n );\n\n const icons = getSelectorIcons(classes, { disabled, semantic });\n\n const onLocalChange = useCallback(\n (evt) => {\n if (readOnly) {\n return;\n }\n\n onChange?.(evt, evt.target.checked, value);\n },\n [onChange, readOnly, value]\n );\n\n return (\n <Radio\n id={id}\n name={name}\n className={clsx(className, classes.root, {\n [classes.disabled]: disabled,\n [classes.focusVisible]: focusVisible,\n })}\n icon={icons.radio}\n checkedIcon={icons.radioChecked}\n color=\"default\"\n disabled={disabled}\n required={required}\n readOnly={readOnly}\n disableRipple\n onChange={onLocalChange}\n value={value}\n checked={checked}\n defaultChecked={defaultChecked}\n inputProps={inputProps}\n onFocusVisible={onFocusVisibleCallback}\n onBlur={onBlurCallback}\n {...others}\n />\n );\n};\n\nHvBaseRadio.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 to the radio button.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the radio button when it is disabled.\n */\n disabled: PropTypes.string,\n /**\n * Class applied to the root element if keyboard focused.\n */\n focusVisible: PropTypes.string,\n }).isRequired,\n\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n\n /**\n * The input name.\n */\n name: PropTypes.string,\n /**\n * The value of the input.\n *\n * The default value is \"on\".\n */\n // eslint-disable-next-line react/forbid-prop-types\n value: PropTypes.any,\n\n /**\n * Indicates that user input is required.\n */\n required: PropTypes.bool,\n /**\n * Indicates that the input is not editable.\n */\n readOnly: PropTypes.bool,\n /**\n * Indicates that the input is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true` the radio button is selected, if set to `false` the radio button is not selected.\n *\n * When defined the radio button state becomes controlled.\n */\n checked: PropTypes.bool,\n /**\n * When uncontrolled, defines the initial checked state.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * The callback fired when the radio button is pressed.\n */\n onChange: PropTypes.func,\n\n /**\n * Whether the selector should use semantic colors.\n */\n semantic: PropTypes.bool,\n\n /**\n * Properties passed on to the input element.\n */\n inputProps: PropTypes.instanceOf(Object),\n\n /**\n * Callback fired when the component is focused with a keyboard.\n * We trigger a `onFocus` callback too.\n */\n onFocusVisible: PropTypes.func,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n};\n\nexport default withStyles(styles, { name: \"HvBaseRadio\" })(HvBaseRadio);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AAEA;;AAEA;;AAEA;;;;;;;;AAEO,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,OAAD,EAAUC,OAAV,EAAsB;EACpD,IAAQC,QAAR,GAA+BD,OAA/B,CAAQC,QAAR;EAAA,IAAkBC,QAAlB,GAA+BF,OAA/B,CAAkBE,QAAlB;EACA,IAAMC,KAAK,GAAIF,QAAQ,IAAI,CAAC,OAAD,EAAU,OAAV,CAAb,IAAqCC,QAAQ,IAAI,CAAC,OAAD,EAAU,OAAV,CAAjD,IAAwEE,SAAtF;EACA,IAAMC,YAAY,GACfJ,QAAQ,IAAI,CAAC,OAAD,EAAU,OAAV,CAAb,IAAqCC,QAAQ,IAAI,CAAC,OAAD,EAAU,OAAV,CAAjD,IAAwEE,SAD1E;EAGA,OAAO;IACLE,KAAK,eAAE,6BAAC,sCAAD;MAAuB,KAAK,EAAEH,KAA9B;MAAqC,SAAS,EAAEJ,OAAO,CAACQ;IAAxD,EADF;IAELC,YAAY,eAAE,6BAAC,oCAAD;MAAqB,KAAK,EAAEH,YAA5B;MAA0C,SAAS,EAAEN,OAAO,CAACQ;IAA7D;EAFT,CAAP;AAID,CAVM;AAYP;AACA;AACA;AACA;AACA;AACA;;;;;AACA,IAAME,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD,EAAW;EAC7B,IACEX,OADF,GAwBIW,KAxBJ,CACEX,OADF;EAAA,IAEEY,SAFF,GAwBID,KAxBJ,CAEEC,SAFF;EAAA,IAIEC,EAJF,GAwBIF,KAxBJ,CAIEE,EAJF;EAAA,IAKEC,IALF,GAwBIH,KAxBJ,CAKEG,IALF;EAAA,mBAwBIH,KAxBJ,CAMEI,KANF;EAAA,IAMEA,KANF,6BAMU,IANV;EAAA,sBAwBIJ,KAxBJ,CAOEK,QAPF;EAAA,IAOEA,QAPF,gCAOa,KAPb;EAAA,sBAwBIL,KAxBJ,CAQEM,QARF;EAAA,IAQEA,QARF,gCAQa,KARb;EAAA,sBAwBIN,KAxBJ,CASET,QATF;EAAA,IASEA,QATF,gCASa,KATb;EAAA,IAWEgB,OAXF,GAwBIP,KAxBJ,CAWEO,OAXF;EAAA,IAYEC,cAZF,GAwBIR,KAxBJ,CAYEQ,cAZF;EAAA,IAcEC,QAdF,GAwBIT,KAxBJ,CAcES,QAdF;EAAA,sBAwBIT,KAxBJ,CAgBER,QAhBF;EAAA,IAgBEA,QAhBF,gCAgBa,KAhBb;EAAA,IAkBEkB,UAlBF,GAwBIV,KAxBJ,CAkBEU,UAlBF;EAAA,IAoBEC,cApBF,GAwBIX,KAxBJ,CAoBEW,cApBF;EAAA,IAqBEC,MArBF,GAwBIZ,KAxBJ,CAqBEY,MArBF;EAAA,IAuBKC,MAvBL,0CAwBIb,KAxBJ;;EA0BA,gBAAwC,
|
|
1
|
+
{"version":3,"file":"BaseRadio.js","names":["getSelectorIcons","classes","options","disabled","semantic","color","undefined","checkedColor","radio","icon","radioChecked","HvBaseRadio","props","className","id","name","value","required","readOnly","checked","defaultChecked","onChange","inputProps","onFocusVisible","onBlur","others","useState","focusVisible","setFocusVisible","onFocusVisibleCallback","useCallback","evt","onBlurCallback","icons","onLocalChange","target","clsx","root","propTypes","PropTypes","string","shape","isRequired","any","bool","func","instanceOf","Object","withStyles","styles"],"sources":["../../src/BaseRadio/BaseRadio.js"],"sourcesContent":["import React, { useState, useCallback } from \"react\";\n\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\n\nimport { Radio, withStyles } from \"@material-ui/core\";\n\nimport { RadioButtonUnselected, RadioButtonSelected } from \"@hitachivantara/uikit-react-icons\";\n\nimport styles from \"./styles\";\n\nexport const getSelectorIcons = (classes, options) => {\n const { disabled, semantic } = options;\n const color = (disabled && [\"atmo3\", \"atmo5\"]) || (semantic && [\"base1\", \"base2\"]) || undefined;\n const checkedColor =\n (disabled && [\"atmo3\", \"atmo5\"]) || (semantic && [\"base2\", \"base1\"]) || undefined;\n\n return {\n radio: <RadioButtonUnselected color={color} className={classes.icon} />,\n radioChecked: <RadioButtonSelected color={checkedColor} className={classes.icon} />,\n };\n};\n\n/**\n * A Radio Button is a mechanism that allows user to select one or more options.\n *\n * The Base Radio Button is a building block of the Radio Button form element. Don't\n * use unless implementing a custom use case not covered by the Radio Button form element.\n */\nconst HvBaseRadio = (props) => {\n const {\n classes,\n className,\n\n id,\n name,\n value = \"on\",\n required = false,\n readOnly = false,\n disabled = false,\n\n checked,\n defaultChecked,\n\n onChange,\n\n semantic = false,\n\n inputProps,\n\n onFocusVisible,\n onBlur,\n\n ...others\n } = props;\n\n const [focusVisible, setFocusVisible] = useState(false);\n\n const onFocusVisibleCallback = useCallback(\n (evt) => {\n setFocusVisible(true);\n onFocusVisible?.(evt);\n },\n [onFocusVisible]\n );\n\n const onBlurCallback = useCallback(\n (evt) => {\n setFocusVisible(false);\n onBlur?.(evt);\n },\n [onBlur]\n );\n\n const icons = getSelectorIcons(classes, { disabled, semantic });\n\n const onLocalChange = useCallback(\n (evt) => {\n if (readOnly) {\n return;\n }\n\n onChange?.(evt, evt.target.checked, value);\n },\n [onChange, readOnly, value]\n );\n\n return (\n <Radio\n id={id}\n name={name}\n className={clsx(className, classes.root, {\n [classes.disabled]: disabled,\n [classes.focusVisible]: focusVisible,\n })}\n icon={icons.radio}\n checkedIcon={icons.radioChecked}\n color=\"default\"\n disabled={disabled}\n required={required}\n readOnly={readOnly}\n disableRipple\n onChange={onLocalChange}\n value={value}\n checked={checked}\n defaultChecked={defaultChecked}\n inputProps={inputProps}\n onFocusVisible={onFocusVisibleCallback}\n onBlur={onBlurCallback}\n {...others}\n />\n );\n};\n\nHvBaseRadio.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 to the radio button.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the radio button when it is disabled.\n */\n disabled: PropTypes.string,\n /**\n * Class applied to the root element if keyboard focused.\n */\n focusVisible: PropTypes.string,\n }).isRequired,\n\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n\n /**\n * The input name.\n */\n name: PropTypes.string,\n /**\n * The value of the input.\n *\n * The default value is \"on\".\n */\n // eslint-disable-next-line react/forbid-prop-types\n value: PropTypes.any,\n\n /**\n * Indicates that user input is required.\n */\n required: PropTypes.bool,\n /**\n * Indicates that the input is not editable.\n */\n readOnly: PropTypes.bool,\n /**\n * Indicates that the input is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true` the radio button is selected, if set to `false` the radio button is not selected.\n *\n * When defined the radio button state becomes controlled.\n */\n checked: PropTypes.bool,\n /**\n * When uncontrolled, defines the initial checked state.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * The callback fired when the radio button is pressed.\n */\n onChange: PropTypes.func,\n\n /**\n * Whether the selector should use semantic colors.\n */\n semantic: PropTypes.bool,\n\n /**\n * Properties passed on to the input element.\n */\n inputProps: PropTypes.instanceOf(Object),\n\n /**\n * Callback fired when the component is focused with a keyboard.\n * We trigger a `onFocus` callback too.\n */\n onFocusVisible: PropTypes.func,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n};\n\nexport default withStyles(styles, { name: \"HvBaseRadio\" })(HvBaseRadio);\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseSwitch.js","names":["HvBaseSwitch","props","classes","className","id","name","value","required","readOnly","disabled","checked","defaultChecked","onChange","inputProps","onFocusVisible","onBlur","others","focusVisible","setFocusVisible","onFocusVisibleCallback","evt","onBlurCallback","onLocalChange","target","root","switch","switchBase","track","thumb","propTypes","PropTypes","string","shape","isRequired","any","bool","func","instanceOf","Object","styles"],"sources":["../../src/BaseSwitch/BaseSwitch.js"],"sourcesContent":["import React, { useState, useCallback } from \"react\";\n\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\n\nimport { Switch, withStyles } from \"@material-ui/core\";\n\nimport styles from \"./styles\";\n\n/**\n * A Switch is <b>binary</b> and work as a digital on/off button.\n *\n * The Base Switch is a building block of the Switch form element. Don't use unless\n * implementing a custom use case not covered by the Switch form element.\n */\nconst HvBaseSwitch = (props) => {\n const {\n classes,\n className,\n\n id,\n name,\n value = \"on\",\n\n required = false,\n readOnly = false,\n disabled = false,\n\n checked,\n defaultChecked,\n\n onChange,\n\n inputProps,\n\n onFocusVisible,\n onBlur,\n\n ...others\n } = props;\n\n const [focusVisible, setFocusVisible] = useState(false);\n\n const onFocusVisibleCallback = useCallback(\n (evt) => {\n setFocusVisible(true);\n onFocusVisible?.(evt);\n },\n [onFocusVisible]\n );\n\n const onBlurCallback = useCallback(\n (evt) => {\n setFocusVisible(false);\n onBlur?.(evt);\n },\n [onBlur]\n );\n\n const onLocalChange = useCallback(\n (evt) => {\n if (readOnly) {\n return;\n }\n\n onChange?.(evt, evt.target.checked, value);\n },\n [onChange, readOnly, value]\n );\n\n return (\n <Switch\n id={id}\n name={name}\n className={clsx(className, classes.root, {\n [classes.disabled]: disabled,\n [classes.focusVisible]: focusVisible,\n })}\n color=\"default\"\n disabled={disabled}\n required={required}\n readOnly={readOnly}\n disableRipple\n onChange={onLocalChange}\n value={value}\n checked={checked}\n defaultChecked={defaultChecked}\n classes={{\n root: classes.switch,\n switchBase: classes.switchBase,\n checked: classes.checked,\n track: classes.track,\n thumb: classes.thumb,\n disabled: classes.disabled,\n }}\n inputProps={inputProps}\n onFocusVisible={onFocusVisibleCallback}\n onBlur={onBlurCallback}\n {...others}\n />\n );\n};\n\nHvBaseSwitch.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 to the switch.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the switch when it is disabled.\n */\n disabled: PropTypes.string,\n /**\n * Styles applied to the internal Switch component's root class.\n */\n switch: PropTypes.string,\n /**\n * Styles applied to the internal SwitchBase component's root class.\n */\n switchBase: PropTypes.string,\n /**\n * Pseudo-class applied to the internal SwitchBase component's checked class.\n */\n checked: PropTypes.string,\n /**\n * Styles applied to the track element.\n */\n track: PropTypes.string,\n /**\n * Styles used to create the thumb passed to the internal SwitchBase component icon prop.\n */\n thumb: PropTypes.string,\n /**\n * Class applied to the root element if keyboard focused.\n */\n focusVisible: PropTypes.string,\n }).isRequired,\n\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n\n /**\n * The input name.\n */\n name: PropTypes.string,\n /**\n * The value of the input.\n *\n * Is up to the application's logic when to consider the submission of this value.\n * Generally it should be used only when the switch is neither unchecked nor indeterminate.\n *\n * The default value is \"on\".\n */\n // eslint-disable-next-line react/forbid-prop-types\n value: PropTypes.any,\n\n /**\n * Indicates that user input is required.\n */\n required: PropTypes.bool,\n /**\n * Indicates that the input is not editable.\n */\n readOnly: PropTypes.bool,\n /**\n * Indicates that the input is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true` the switch is selected, if set to `false` the switch is not selected.\n *\n * When defined the switch state becomes controlled.\n */\n checked: PropTypes.bool,\n /**\n * When uncontrolled, defines the initial checked state.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * The callback fired when the switch is pressed.\n */\n onChange: PropTypes.func,\n\n /**\n * Properties passed on to the input element.\n */\n inputProps: PropTypes.instanceOf(Object),\n\n /**\n * Callback fired when the component is focused with a keyboard.\n * We trigger a `onFocus` callback too.\n */\n onFocusVisible: PropTypes.func,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n};\n\nexport default withStyles(styles, { name: \"HvBaseSwitch\" })(HvBaseSwitch);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AAEA;;AAEA;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMA,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD,EAAW;EAC9B,IACEC,OADF,GAuBID,KAvBJ,CACEC,OADF;EAAA,IAEEC,SAFF,GAuBIF,KAvBJ,CAEEE,SAFF;EAAA,IAIEC,EAJF,GAuBIH,KAvBJ,CAIEG,EAJF;EAAA,IAKEC,IALF,GAuBIJ,KAvBJ,CAKEI,IALF;EAAA,mBAuBIJ,KAvBJ,CAMEK,KANF;EAAA,IAMEA,KANF,6BAMU,IANV;EAAA,sBAuBIL,KAvBJ,CAQEM,QARF;EAAA,IAQEA,QARF,gCAQa,KARb;EAAA,sBAuBIN,KAvBJ,CASEO,QATF;EAAA,IASEA,QATF,gCASa,KATb;EAAA,sBAuBIP,KAvBJ,CAUEQ,QAVF;EAAA,IAUEA,QAVF,gCAUa,KAVb;EAAA,IAYEC,OAZF,GAuBIT,KAvBJ,CAYES,OAZF;EAAA,IAaEC,cAbF,GAuBIV,KAvBJ,CAaEU,cAbF;EAAA,IAeEC,QAfF,GAuBIX,KAvBJ,CAeEW,QAfF;EAAA,IAiBEC,UAjBF,GAuBIZ,KAvBJ,CAiBEY,UAjBF;EAAA,IAmBEC,cAnBF,GAuBIb,KAvBJ,CAmBEa,cAnBF;EAAA,IAoBEC,MApBF,GAuBId,KAvBJ,CAoBEc,MApBF;EAAA,IAsBKC,MAtBL,0CAuBIf,KAvBJ;;EAyBA,gBAAwC,
|
|
1
|
+
{"version":3,"file":"BaseSwitch.js","names":["HvBaseSwitch","props","classes","className","id","name","value","required","readOnly","disabled","checked","defaultChecked","onChange","inputProps","onFocusVisible","onBlur","others","useState","focusVisible","setFocusVisible","onFocusVisibleCallback","useCallback","evt","onBlurCallback","onLocalChange","target","clsx","root","switch","switchBase","track","thumb","propTypes","PropTypes","string","shape","isRequired","any","bool","func","instanceOf","Object","withStyles","styles"],"sources":["../../src/BaseSwitch/BaseSwitch.js"],"sourcesContent":["import React, { useState, useCallback } from \"react\";\n\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\n\nimport { Switch, withStyles } from \"@material-ui/core\";\n\nimport styles from \"./styles\";\n\n/**\n * A Switch is <b>binary</b> and work as a digital on/off button.\n *\n * The Base Switch is a building block of the Switch form element. Don't use unless\n * implementing a custom use case not covered by the Switch form element.\n */\nconst HvBaseSwitch = (props) => {\n const {\n classes,\n className,\n\n id,\n name,\n value = \"on\",\n\n required = false,\n readOnly = false,\n disabled = false,\n\n checked,\n defaultChecked,\n\n onChange,\n\n inputProps,\n\n onFocusVisible,\n onBlur,\n\n ...others\n } = props;\n\n const [focusVisible, setFocusVisible] = useState(false);\n\n const onFocusVisibleCallback = useCallback(\n (evt) => {\n setFocusVisible(true);\n onFocusVisible?.(evt);\n },\n [onFocusVisible]\n );\n\n const onBlurCallback = useCallback(\n (evt) => {\n setFocusVisible(false);\n onBlur?.(evt);\n },\n [onBlur]\n );\n\n const onLocalChange = useCallback(\n (evt) => {\n if (readOnly) {\n return;\n }\n\n onChange?.(evt, evt.target.checked, value);\n },\n [onChange, readOnly, value]\n );\n\n return (\n <Switch\n id={id}\n name={name}\n className={clsx(className, classes.root, {\n [classes.disabled]: disabled,\n [classes.focusVisible]: focusVisible,\n })}\n color=\"default\"\n disabled={disabled}\n required={required}\n readOnly={readOnly}\n disableRipple\n onChange={onLocalChange}\n value={value}\n checked={checked}\n defaultChecked={defaultChecked}\n classes={{\n root: classes.switch,\n switchBase: classes.switchBase,\n checked: classes.checked,\n track: classes.track,\n thumb: classes.thumb,\n disabled: classes.disabled,\n }}\n inputProps={inputProps}\n onFocusVisible={onFocusVisibleCallback}\n onBlur={onBlurCallback}\n {...others}\n />\n );\n};\n\nHvBaseSwitch.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 to the switch.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the switch when it is disabled.\n */\n disabled: PropTypes.string,\n /**\n * Styles applied to the internal Switch component's root class.\n */\n switch: PropTypes.string,\n /**\n * Styles applied to the internal SwitchBase component's root class.\n */\n switchBase: PropTypes.string,\n /**\n * Pseudo-class applied to the internal SwitchBase component's checked class.\n */\n checked: PropTypes.string,\n /**\n * Styles applied to the track element.\n */\n track: PropTypes.string,\n /**\n * Styles used to create the thumb passed to the internal SwitchBase component icon prop.\n */\n thumb: PropTypes.string,\n /**\n * Class applied to the root element if keyboard focused.\n */\n focusVisible: PropTypes.string,\n }).isRequired,\n\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n\n /**\n * The input name.\n */\n name: PropTypes.string,\n /**\n * The value of the input.\n *\n * Is up to the application's logic when to consider the submission of this value.\n * Generally it should be used only when the switch is neither unchecked nor indeterminate.\n *\n * The default value is \"on\".\n */\n // eslint-disable-next-line react/forbid-prop-types\n value: PropTypes.any,\n\n /**\n * Indicates that user input is required.\n */\n required: PropTypes.bool,\n /**\n * Indicates that the input is not editable.\n */\n readOnly: PropTypes.bool,\n /**\n * Indicates that the input is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true` the switch is selected, if set to `false` the switch is not selected.\n *\n * When defined the switch state becomes controlled.\n */\n checked: PropTypes.bool,\n /**\n * When uncontrolled, defines the initial checked state.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * The callback fired when the switch is pressed.\n */\n onChange: PropTypes.func,\n\n /**\n * Properties passed on to the input element.\n */\n inputProps: PropTypes.instanceOf(Object),\n\n /**\n * Callback fired when the component is focused with a keyboard.\n * We trigger a `onFocus` callback too.\n */\n onFocusVisible: PropTypes.func,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n};\n\nexport default withStyles(styles, { name: \"HvBaseSwitch\" })(HvBaseSwitch);\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BreadCrumb.js","names":["Page","Component","onClick","elem","classes","path","a","link","label","propTypes","PropTypes","elementType","func","shape","string","isRequired","instanceOf","Object","PathElement","last","children","centerContainer","separatorContainer","bool","element","BreadCrumb","props","className","id","listRoute","maxVisible","url","component","dropDownMenuProps","others","maxVisibleElem","listPath","slice","baseUrl","match","urlWithoutDomain","replace","pathNames","split","filter","x","map","index","push","decodeURI","join","breadcrumbPath","length","root","orderedList","key","isLast","isValidElement","currentPage","undefined","arrayOf","number","styles","name"],"sources":["../../src/BreadCrumb/BreadCrumb.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { withStyles } from \"@material-ui/core\";\nimport { DropRightXS } from \"@hitachivantara/uikit-react-icons\";\nimport startCase from \"lodash/startCase\";\nimport isNil from \"lodash/isNil\";\nimport { HvLink, HvTypography } from \"..\";\nimport { pathWithSubMenu, removeExtension } from \"./utils\";\nimport styles from \"./styles\";\n\nconst Page = ({ Component, onClick, elem, classes }) => (\n <HvLink\n route={elem.path}\n Component={Component}\n onClick={onClick}\n data={elem}\n classes={{ a: classes.a }}\n >\n <HvTypography noWrap variant=\"highlightText\" className={classes.link}>\n {startCase(elem.label)}\n </HvTypography>\n </HvLink>\n);\n\nPage.propTypes = {\n Component: PropTypes.elementType,\n onClick: PropTypes.func,\n elem: PropTypes.shape({\n path: PropTypes.string,\n label: PropTypes.string,\n }).isRequired,\n classes: PropTypes.instanceOf(Object).isRequired,\n};\n\nconst PathElement = ({ classes, last = false, children }) => (\n <li className={classes.centerContainer}>\n {children}\n {!last && <DropRightXS className={classes.separatorContainer} color=\"atmo5\" />}\n </li>\n);\n\nPathElement.propTypes = {\n last: PropTypes.bool,\n classes: PropTypes.instanceOf(Object).isRequired,\n children: PropTypes.element.isRequired,\n};\n\n/**\n * A breadcrumb is a graphical control element frequently used as a navigational aid.\n */\nconst BreadCrumb = (props) => {\n const {\n classes,\n className,\n id,\n listRoute = [],\n maxVisible,\n url,\n onClick,\n component = \"div\",\n dropDownMenuProps,\n ...others\n } = props;\n const maxVisibleElem = maxVisible < 2 ? 2 : maxVisible;\n let listPath = listRoute.slice();\n\n // build the listPath object list\n if (!isNil(url)) {\n listPath = [];\n\n // get the domain\n const baseUrl = url.match(/^.*\\/\\/[^/]+/, \"\");\n\n // get url without domain\n const urlWithoutDomain = url.replace(/^.*\\/\\/[^/]+/, \"\");\n\n const pathNames = urlWithoutDomain.split(\"/\").filter((x) => x);\n\n pathNames.map((elem, index) =>\n listPath.push({\n label: decodeURI(elem),\n path: `${baseUrl}/${pathNames.slice(0, index + 1).join(\"/\")}`,\n })\n );\n }\n\n const breadcrumbPath =\n listPath.length > maxVisibleElem\n ? pathWithSubMenu(id, classes, listPath, maxVisibleElem, dropDownMenuProps)\n : listPath;\n\n return (\n <nav id={id} className={clsx(classes.root, className)} {...others}>\n <ol className={classes.orderedList}>\n {listPath.map((elem, index) => {\n const key = `key_${index}`;\n const isLast = index === breadcrumbPath.length - 1;\n\n return (\n <PathElement classes={classes} key={key} last={isLast}>\n {(React.isValidElement(elem) && elem) ||\n (isLast && (\n <HvTypography className={classes.currentPage} variant=\"normalText\">\n {startCase(removeExtension(elem.label))}\n </HvTypography>\n )) || (\n <Page\n key={key}\n elem={elem}\n classes={classes}\n Component={onClick ? component : undefined}\n onClick={onClick}\n />\n )}\n </PathElement>\n );\n })}\n </ol>\n </nav>\n );\n};\n\nBreadCrumb.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the links.\n */\n link: PropTypes.string,\n /**\n * Styles applied to the list.\n */\n orderedList: PropTypes.string,\n /**\n * Styles applied to the last element.\n */\n currentPage: PropTypes.string,\n }).isRequired,\n /**\n * List of breadcrumb.\n */\n listRoute: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n path: PropTypes.string,\n })\n ),\n /**\n * URL to build the breadcrumb.\n */\n url: PropTypes.string,\n /**\n * Number of pages visible.\n */\n maxVisible: PropTypes.number,\n /**\n * The component used for the link node.\n * Either a string to use a DOM element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Function passed to the component. If defined the component prop is used as the link node.\n */\n onClick: PropTypes.func,\n /**\n * Props passed down to the DropDownMenu sub-menu component.\n */\n dropDownMenuProps: PropTypes.instanceOf(Object),\n};\n\nexport default withStyles(styles, { name: \"HvBreadCrumb\", index: 1 })(BreadCrumb);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BreadCrumb.js","names":["Page","Component","onClick","elem","classes","path","a","link","startCase","label","propTypes","PropTypes","elementType","func","shape","string","isRequired","instanceOf","Object","PathElement","last","children","centerContainer","separatorContainer","bool","element","BreadCrumb","props","className","id","listRoute","maxVisible","url","component","dropDownMenuProps","others","maxVisibleElem","listPath","slice","isNil","baseUrl","match","urlWithoutDomain","replace","pathNames","split","filter","x","map","index","push","decodeURI","join","breadcrumbPath","length","pathWithSubMenu","clsx","root","orderedList","key","isLast","React","isValidElement","currentPage","removeExtension","undefined","arrayOf","number","withStyles","styles","name"],"sources":["../../src/BreadCrumb/BreadCrumb.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { withStyles } from \"@material-ui/core\";\nimport { DropRightXS } from \"@hitachivantara/uikit-react-icons\";\nimport startCase from \"lodash/startCase\";\nimport isNil from \"lodash/isNil\";\nimport { HvLink, HvTypography } from \"..\";\nimport { pathWithSubMenu, removeExtension } from \"./utils\";\nimport styles from \"./styles\";\n\nconst Page = ({ Component, onClick, elem, classes }) => (\n <HvLink\n route={elem.path}\n Component={Component}\n onClick={onClick}\n data={elem}\n classes={{ a: classes.a }}\n >\n <HvTypography noWrap variant=\"highlightText\" className={classes.link}>\n {startCase(elem.label)}\n </HvTypography>\n </HvLink>\n);\n\nPage.propTypes = {\n Component: PropTypes.elementType,\n onClick: PropTypes.func,\n elem: PropTypes.shape({\n path: PropTypes.string,\n label: PropTypes.string,\n }).isRequired,\n classes: PropTypes.instanceOf(Object).isRequired,\n};\n\nconst PathElement = ({ classes, last = false, children }) => (\n <li className={classes.centerContainer}>\n {children}\n {!last && <DropRightXS className={classes.separatorContainer} color=\"atmo5\" />}\n </li>\n);\n\nPathElement.propTypes = {\n last: PropTypes.bool,\n classes: PropTypes.instanceOf(Object).isRequired,\n children: PropTypes.element.isRequired,\n};\n\n/**\n * A breadcrumb is a graphical control element frequently used as a navigational aid.\n */\nconst BreadCrumb = (props) => {\n const {\n classes,\n className,\n id,\n listRoute = [],\n maxVisible,\n url,\n onClick,\n component = \"div\",\n dropDownMenuProps,\n ...others\n } = props;\n const maxVisibleElem = maxVisible < 2 ? 2 : maxVisible;\n let listPath = listRoute.slice();\n\n // build the listPath object list\n if (!isNil(url)) {\n listPath = [];\n\n // get the domain\n const baseUrl = url.match(/^.*\\/\\/[^/]+/, \"\");\n\n // get url without domain\n const urlWithoutDomain = url.replace(/^.*\\/\\/[^/]+/, \"\");\n\n const pathNames = urlWithoutDomain.split(\"/\").filter((x) => x);\n\n pathNames.map((elem, index) =>\n listPath.push({\n label: decodeURI(elem),\n path: `${baseUrl}/${pathNames.slice(0, index + 1).join(\"/\")}`,\n })\n );\n }\n\n const breadcrumbPath =\n listPath.length > maxVisibleElem\n ? pathWithSubMenu(id, classes, listPath, maxVisibleElem, dropDownMenuProps)\n : listPath;\n\n return (\n <nav id={id} className={clsx(classes.root, className)} {...others}>\n <ol className={classes.orderedList}>\n {listPath.map((elem, index) => {\n const key = `key_${index}`;\n const isLast = index === breadcrumbPath.length - 1;\n\n return (\n <PathElement classes={classes} key={key} last={isLast}>\n {(React.isValidElement(elem) && elem) ||\n (isLast && (\n <HvTypography className={classes.currentPage} variant=\"normalText\">\n {startCase(removeExtension(elem.label))}\n </HvTypography>\n )) || (\n <Page\n key={key}\n elem={elem}\n classes={classes}\n Component={onClick ? component : undefined}\n onClick={onClick}\n />\n )}\n </PathElement>\n );\n })}\n </ol>\n </nav>\n );\n};\n\nBreadCrumb.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the links.\n */\n link: PropTypes.string,\n /**\n * Styles applied to the list.\n */\n orderedList: PropTypes.string,\n /**\n * Styles applied to the last element.\n */\n currentPage: PropTypes.string,\n }).isRequired,\n /**\n * List of breadcrumb.\n */\n listRoute: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n path: PropTypes.string,\n })\n ),\n /**\n * URL to build the breadcrumb.\n */\n url: PropTypes.string,\n /**\n * Number of pages visible.\n */\n maxVisible: PropTypes.number,\n /**\n * The component used for the link node.\n * Either a string to use a DOM element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Function passed to the component. If defined the component prop is used as the link node.\n */\n onClick: PropTypes.func,\n /**\n * Props passed down to the DropDownMenu sub-menu component.\n */\n dropDownMenuProps: PropTypes.instanceOf(Object),\n};\n\nexport default withStyles(styles, { name: \"HvBreadCrumb\", index: 1 })(BreadCrumb);\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["removeExtension","label","includes","substring","lastIndexOf","pathWithSubMenu","id","classes","listRoute","maxVisible","dropDownMenuProps","nbrElemToSubMenu","length","subMenuList","slice","splice"],"sources":["../../src/BreadCrumb/utils.js"],"sourcesContent":["import React from \"react\";\nimport { MoreOptionsHorizontal } from \"@hitachivantara/uikit-react-icons\";\nimport { HvDropDownMenu } from \"..\";\nimport { setId } from \"../utils\";\n\nexport const removeExtension = (label) =>\n label.includes(\".\") ? label.substring(0, label.lastIndexOf(\".\")) : label;\n\nexport const pathWithSubMenu = (id, classes, listRoute, maxVisible, dropDownMenuProps) => {\n const nbrElemToSubMenu = listRoute.length - maxVisible;\n const subMenuList = listRoute.slice(1, nbrElemToSubMenu + 1);\n\n listRoute.splice(\n 1,\n nbrElemToSubMenu,\n <HvDropDownMenu\n id={setId(id, \"submenu\")}\n icon={<MoreOptionsHorizontal iconSize=\"S\" color=\"acce1\" />}\n dataList={subMenuList}\n {...dropDownMenuProps}\n />\n );\n\n return listRoute;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;AAEO,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,KAAD;EAAA,OAC7BA,KAAK,CAACC,QAAN,CAAe,GAAf,IAAsBD,KAAK,CAACE,SAAN,CAAgB,CAAhB,EAAmBF,KAAK,CAACG,WAAN,CAAkB,GAAlB,CAAnB,CAAtB,GAAmEH,KADtC;AAAA,CAAxB;;;;AAGA,IAAMI,eAAe,GAAG,SAAlBA,eAAkB,CAACC,EAAD,EAAKC,OAAL,EAAcC,SAAd,EAAyBC,UAAzB,EAAqCC,iBAArC,EAA2D;EACxF,IAAMC,gBAAgB,GAAGH,SAAS,CAACI,MAAV,GAAmBH,UAA5C;EACA,IAAMI,WAAW,GAAGL,SAAS,CAACM,KAAV,CAAgB,CAAhB,EAAmBH,gBAAgB,GAAG,CAAtC,CAApB;EAEAH,SAAS,CAACO,MAAV,CACE,CADF,EAEEJ,gBAFF,eAGE,6BAAC,gBAAD;IACE,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"utils.js","names":["removeExtension","label","includes","substring","lastIndexOf","pathWithSubMenu","id","classes","listRoute","maxVisible","dropDownMenuProps","nbrElemToSubMenu","length","subMenuList","slice","splice","setId"],"sources":["../../src/BreadCrumb/utils.js"],"sourcesContent":["import React from \"react\";\nimport { MoreOptionsHorizontal } from \"@hitachivantara/uikit-react-icons\";\nimport { HvDropDownMenu } from \"..\";\nimport { setId } from \"../utils\";\n\nexport const removeExtension = (label) =>\n label.includes(\".\") ? label.substring(0, label.lastIndexOf(\".\")) : label;\n\nexport const pathWithSubMenu = (id, classes, listRoute, maxVisible, dropDownMenuProps) => {\n const nbrElemToSubMenu = listRoute.length - maxVisible;\n const subMenuList = listRoute.slice(1, nbrElemToSubMenu + 1);\n\n listRoute.splice(\n 1,\n nbrElemToSubMenu,\n <HvDropDownMenu\n id={setId(id, \"submenu\")}\n icon={<MoreOptionsHorizontal iconSize=\"S\" color=\"acce1\" />}\n dataList={subMenuList}\n {...dropDownMenuProps}\n />\n );\n\n return listRoute;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;AAEO,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,KAAD;EAAA,OAC7BA,KAAK,CAACC,QAAN,CAAe,GAAf,IAAsBD,KAAK,CAACE,SAAN,CAAgB,CAAhB,EAAmBF,KAAK,CAACG,WAAN,CAAkB,GAAlB,CAAnB,CAAtB,GAAmEH,KADtC;AAAA,CAAxB;;;;AAGA,IAAMI,eAAe,GAAG,SAAlBA,eAAkB,CAACC,EAAD,EAAKC,OAAL,EAAcC,SAAd,EAAyBC,UAAzB,EAAqCC,iBAArC,EAA2D;EACxF,IAAMC,gBAAgB,GAAGH,SAAS,CAACI,MAAV,GAAmBH,UAA5C;EACA,IAAMI,WAAW,GAAGL,SAAS,CAACM,KAAV,CAAgB,CAAhB,EAAmBH,gBAAgB,GAAG,CAAtC,CAApB;EAEAH,SAAS,CAACO,MAAV,CACE,CADF,EAEEJ,gBAFF,eAGE,6BAAC,gBAAD;IACE,EAAE,EAAE,IAAAK,YAAA,EAAMV,EAAN,EAAU,SAAV,CADN;IAEE,IAAI,iEAAE,6BAAC,sCAAD;MAAuB,QAAQ,EAAC,GAAhC;MAAoC,KAAK,EAAC;IAA1C,EAAF,CAFN;IAGE,QAAQ,EAAEO;EAHZ,GAIMH,iBAJN,EAHF;EAWA,OAAOF,SAAP;AACD,CAhBM"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BulkActions.js","names":["HvBulkActions","props","id","className","classes","numTotal","numSelected","onSelectAll","onSelectAllPages","selectAllLabel","selectAllConjunctionLabel","selectAllPagesLabel","showSelectAllPages","semantic","actions","actionsCallback","actionsDisabled","maxVisibleActions","checkboxProps","others","anySelected","setAnySelected","isSemantic","selectAllLabelComponent","disabled","defaultSelectAllPagesLabel","color","root","selectAllContainer","selectAll","args","selectAllPages","propTypes","PropTypes","string","shape","isRequired","node","bool","number","func","oneOfType","arrayOf","label","icon","object","styles","name"],"sources":["../../src/BulkActions/BulkActions.js"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\nimport { HvActionsGeneric, HvButton, HvCheckBox, HvTypography } from \"..\";\nimport styles from \"./styles\";\nimport { setId } from \"../utils\";\n\n/**\n * Bulk Actions allow users to perform an action on a single or multiple items.\n * Also known as \"batch production\" of multiple items at once, one stage at a time.\n */\nconst HvBulkActions = (props) => {\n const {\n id,\n className,\n classes,\n numTotal = 0,\n numSelected = 0,\n onSelectAll,\n onSelectAllPages,\n selectAllLabel = \"All\",\n selectAllConjunctionLabel = \"/\",\n selectAllPagesLabel,\n showSelectAllPages = false,\n semantic = true,\n actions,\n actionsCallback,\n actionsDisabled,\n maxVisibleActions,\n checkboxProps,\n ...others\n } = props;\n const [anySelected, setAnySelected] = useState(false);\n\n const isSemantic = semantic && anySelected;\n\n useEffect(() => {\n setAnySelected(numSelected > 0);\n }, [numSelected]);\n\n const selectAllLabelComponent = (\n <HvTypography\n component=\"span\"\n variant={checkboxProps?.disabled ? \"disabledText\" : \"normalText\"}\n >\n {!anySelected ? (\n <>\n <b>{selectAllLabel}</b>\n {` (${numTotal})`}\n </>\n ) : (\n <>\n <b>{numSelected}</b>\n {` ${selectAllConjunctionLabel} ${numTotal}`}\n </>\n )}\n </HvTypography>\n );\n\n const defaultSelectAllPagesLabel = (\n <HvTypography style={{ color: \"inherit\" }} variant=\"highlightText\" component=\"span\">\n {`Select all ${numTotal} items across all pages`}\n </HvTypography>\n );\n\n return (\n <div\n id={id}\n className={clsx(className, classes.root, {\n [classes.semantic]: isSemantic,\n })}\n {...others}\n >\n <div className={classes.selectAllContainer}>\n <HvCheckBox\n id={setId(id, \"select\")}\n className={classes.selectAll}\n checked={numSelected > 0}\n semantic={isSemantic}\n onChange={(...args) => onSelectAll?.(...args)}\n indeterminate={numSelected > 0 && numSelected < numTotal}\n label={selectAllLabelComponent}\n {...checkboxProps}\n />\n {showSelectAllPages && anySelected && numSelected < numTotal && (\n <HvButton\n id={setId(id, \"pages\")}\n className={classes.selectAllPages}\n category={isSemantic ? \"semantic\" : \"ghost\"}\n onClick={(...args) => onSelectAllPages?.(...args)}\n >\n {selectAllPagesLabel ?? defaultSelectAllPagesLabel}\n </HvButton>\n )}\n </div>\n <HvActionsGeneric\n id={setId(id, \"actions\")}\n classes={{ root: classes.actions }}\n category={isSemantic ? \"semantic\" : \"ghost\"}\n actions={actions}\n disabled={actionsDisabled ?? numSelected === 0}\n actionsCallback={actionsCallback}\n maxVisibleActions={maxVisibleActions}\n />\n </div>\n );\n};\n\nHvBulkActions.propTypes = {\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the component root class when semantic and there are selected elements.\n */\n semantic: PropTypes.string,\n /**\n * Styles applied to the Actions root class.\n */\n actions: PropTypes.string,\n /**\n * Styles applied to the Select All container.\n */\n selectAllContainer: PropTypes.string,\n /**\n * Styles applied to the Select All checkbox.\n */\n selectAll: PropTypes.string,\n /**\n * Styles applied to the Select All pages button.\n */\n selectAllPages: PropTypes.string,\n }).isRequired,\n /**\n * Custom label for select all checkbox\n */\n selectAllLabel: PropTypes.node,\n /**\n * Custom label for select all checkbox conjunction\n */\n selectAllConjunctionLabel: PropTypes.string,\n /**\n * Custom label for select all pages button\n */\n selectAllPagesLabel: PropTypes.node,\n /**\n * Whether select all pages element should be visible\n */\n showSelectAllPages: PropTypes.bool,\n /**\n * The total number of elements\n */\n numTotal: PropTypes.number,\n /**\n * The number of elements currently selected\n */\n numSelected: PropTypes.number,\n /**\n * Function called when the \"select all\" Checkbox is toggled.\n */\n onSelectAll: PropTypes.func,\n /**\n * Function called when the \"select all pages\" button is clicked toggled.\n */\n onSelectAllPages: PropTypes.func,\n /**\n * Whether the bulk actions should use the semantic styles when there are selected elements.\n */\n semantic: PropTypes.bool,\n /**\n * The renderable content inside the right actions slot,\n * or an Array of actions `{ id, label, icon, disabled, ... }`\n */\n actions: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string,\n icon: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n disabled: PropTypes.bool,\n })\n ),\n ]),\n /**\n * Whether actions should be all disabled\n */\n actionsDisabled: PropTypes.bool,\n /**\n * The callback function ran when an action is triggered, receiving `action` as param\n */\n actionsCallback: PropTypes.func,\n /**\n * The number of maximum visible actions before they're collapsed into a `DropDownMenu`.\n */\n maxVisibleActions: PropTypes.number,\n /**\n * Properties to be passed onto the checkbox component, the values of the object are equivalent to the\n * HvCheckbox API.\n */\n checkboxProps: PropTypes.object,\n};\n\nexport default withStyles(styles, { name: \"HvBulkActions\" })(HvBulkActions);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BulkActions.js","names":["HvBulkActions","props","id","className","classes","numTotal","numSelected","onSelectAll","onSelectAllPages","selectAllLabel","selectAllConjunctionLabel","selectAllPagesLabel","showSelectAllPages","semantic","actions","actionsCallback","actionsDisabled","maxVisibleActions","checkboxProps","others","useState","anySelected","setAnySelected","isSemantic","useEffect","selectAllLabelComponent","disabled","defaultSelectAllPagesLabel","color","clsx","root","selectAllContainer","setId","selectAll","args","selectAllPages","propTypes","PropTypes","string","shape","isRequired","node","bool","number","func","oneOfType","arrayOf","label","icon","object","withStyles","styles","name"],"sources":["../../src/BulkActions/BulkActions.js"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\nimport { HvActionsGeneric, HvButton, HvCheckBox, HvTypography } from \"..\";\nimport styles from \"./styles\";\nimport { setId } from \"../utils\";\n\n/**\n * Bulk Actions allow users to perform an action on a single or multiple items.\n * Also known as \"batch production\" of multiple items at once, one stage at a time.\n */\nconst HvBulkActions = (props) => {\n const {\n id,\n className,\n classes,\n numTotal = 0,\n numSelected = 0,\n onSelectAll,\n onSelectAllPages,\n selectAllLabel = \"All\",\n selectAllConjunctionLabel = \"/\",\n selectAllPagesLabel,\n showSelectAllPages = false,\n semantic = true,\n actions,\n actionsCallback,\n actionsDisabled,\n maxVisibleActions,\n checkboxProps,\n ...others\n } = props;\n const [anySelected, setAnySelected] = useState(false);\n\n const isSemantic = semantic && anySelected;\n\n useEffect(() => {\n setAnySelected(numSelected > 0);\n }, [numSelected]);\n\n const selectAllLabelComponent = (\n <HvTypography\n component=\"span\"\n variant={checkboxProps?.disabled ? \"disabledText\" : \"normalText\"}\n >\n {!anySelected ? (\n <>\n <b>{selectAllLabel}</b>\n {` (${numTotal})`}\n </>\n ) : (\n <>\n <b>{numSelected}</b>\n {` ${selectAllConjunctionLabel} ${numTotal}`}\n </>\n )}\n </HvTypography>\n );\n\n const defaultSelectAllPagesLabel = (\n <HvTypography style={{ color: \"inherit\" }} variant=\"highlightText\" component=\"span\">\n {`Select all ${numTotal} items across all pages`}\n </HvTypography>\n );\n\n return (\n <div\n id={id}\n className={clsx(className, classes.root, {\n [classes.semantic]: isSemantic,\n })}\n {...others}\n >\n <div className={classes.selectAllContainer}>\n <HvCheckBox\n id={setId(id, \"select\")}\n className={classes.selectAll}\n checked={numSelected > 0}\n semantic={isSemantic}\n onChange={(...args) => onSelectAll?.(...args)}\n indeterminate={numSelected > 0 && numSelected < numTotal}\n label={selectAllLabelComponent}\n {...checkboxProps}\n />\n {showSelectAllPages && anySelected && numSelected < numTotal && (\n <HvButton\n id={setId(id, \"pages\")}\n className={classes.selectAllPages}\n category={isSemantic ? \"semantic\" : \"ghost\"}\n onClick={(...args) => onSelectAllPages?.(...args)}\n >\n {selectAllPagesLabel ?? defaultSelectAllPagesLabel}\n </HvButton>\n )}\n </div>\n <HvActionsGeneric\n id={setId(id, \"actions\")}\n classes={{ root: classes.actions }}\n category={isSemantic ? \"semantic\" : \"ghost\"}\n actions={actions}\n disabled={actionsDisabled ?? numSelected === 0}\n actionsCallback={actionsCallback}\n maxVisibleActions={maxVisibleActions}\n />\n </div>\n );\n};\n\nHvBulkActions.propTypes = {\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the component root class when semantic and there are selected elements.\n */\n semantic: PropTypes.string,\n /**\n * Styles applied to the Actions root class.\n */\n actions: PropTypes.string,\n /**\n * Styles applied to the Select All container.\n */\n selectAllContainer: PropTypes.string,\n /**\n * Styles applied to the Select All checkbox.\n */\n selectAll: PropTypes.string,\n /**\n * Styles applied to the Select All pages button.\n */\n selectAllPages: PropTypes.string,\n }).isRequired,\n /**\n * Custom label for select all checkbox\n */\n selectAllLabel: PropTypes.node,\n /**\n * Custom label for select all checkbox conjunction\n */\n selectAllConjunctionLabel: PropTypes.string,\n /**\n * Custom label for select all pages button\n */\n selectAllPagesLabel: PropTypes.node,\n /**\n * Whether select all pages element should be visible\n */\n showSelectAllPages: PropTypes.bool,\n /**\n * The total number of elements\n */\n numTotal: PropTypes.number,\n /**\n * The number of elements currently selected\n */\n numSelected: PropTypes.number,\n /**\n * Function called when the \"select all\" Checkbox is toggled.\n */\n onSelectAll: PropTypes.func,\n /**\n * Function called when the \"select all pages\" button is clicked toggled.\n */\n onSelectAllPages: PropTypes.func,\n /**\n * Whether the bulk actions should use the semantic styles when there are selected elements.\n */\n semantic: PropTypes.bool,\n /**\n * The renderable content inside the right actions slot,\n * or an Array of actions `{ id, label, icon, disabled, ... }`\n */\n actions: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string,\n icon: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n disabled: PropTypes.bool,\n })\n ),\n ]),\n /**\n * Whether actions should be all disabled\n */\n actionsDisabled: PropTypes.bool,\n /**\n * The callback function ran when an action is triggered, receiving `action` as param\n */\n actionsCallback: PropTypes.func,\n /**\n * The number of maximum visible actions before they're collapsed into a `DropDownMenu`.\n */\n maxVisibleActions: PropTypes.number,\n /**\n * Properties to be passed onto the checkbox component, the values of the object are equivalent to the\n * HvCheckbox API.\n */\n checkboxProps: PropTypes.object,\n};\n\nexport default withStyles(styles, { name: \"HvBulkActions\" })(HvBulkActions);\n"],"mappings":"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"}
|