@hitachivantara/uikit-react-core 5.92.0 → 5.93.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Badge/Badge.styles.cjs +13 -1
- package/dist/cjs/Banner/BannerContent/BannerContent.styles.cjs +1 -1
- package/dist/cjs/BaseDropdown/BaseDropdown.cjs +1 -0
- package/dist/cjs/BaseInput/validations.cjs +8 -15
- package/dist/cjs/BaseSwitch/BaseSwitch.styles.cjs +1 -1
- package/dist/cjs/Button/Button.styles.cjs +6 -4
- package/dist/cjs/Calendar/CalendarHeader/CalendarHeader.cjs +1 -2
- package/dist/cjs/Card/Card.cjs +5 -4
- package/dist/cjs/Card/Card.styles.cjs +5 -3
- package/dist/cjs/Card/Header/Header.styles.cjs +3 -3
- package/dist/cjs/CheckBox/CheckBox.cjs +1 -1
- package/dist/cjs/CheckBoxGroup/CheckBoxGroup.cjs +9 -8
- package/dist/cjs/ColorPicker/ColorPicker.cjs +14 -22
- package/dist/cjs/ColorPicker/ColorPicker.styles.cjs +1 -4
- package/dist/cjs/DatePicker/DatePicker.cjs +15 -23
- package/dist/cjs/DatePicker/DatePicker.styles.cjs +1 -4
- package/dist/cjs/DotPagination/DotPagination.styles.cjs +1 -1
- package/dist/cjs/Dropdown/Dropdown.cjs +16 -24
- package/dist/cjs/Dropdown/Dropdown.styles.cjs +1 -1
- package/dist/cjs/Dropdown/List/List.cjs +4 -1
- package/dist/cjs/FileUploader/DropZone/DropZone.cjs +19 -17
- package/dist/cjs/FileUploader/DropZone/DropZone.styles.cjs +0 -3
- package/dist/cjs/FilterGroup/FilterGroup.cjs +15 -23
- package/dist/cjs/FilterGroup/FilterGroup.styles.cjs +1 -1
- package/dist/cjs/FormElement/InfoMessage/InfoMessage.cjs +1 -1
- package/dist/cjs/FormElement/Label/Label.cjs +4 -1
- package/dist/cjs/FormElement/LabelContainer.cjs +58 -0
- package/dist/cjs/FormElement/WarningText/WarningText.cjs +4 -4
- package/dist/cjs/FormElement/utils.cjs +2 -8
- package/dist/cjs/InlineEditor/InlineEditor.cjs +1 -0
- package/dist/cjs/InlineEditor/InlineEditor.styles.cjs +1 -2
- package/dist/cjs/Input/Input.cjs +38 -43
- package/dist/cjs/Input/Input.styles.cjs +1 -5
- package/dist/cjs/Input/utils.cjs +12 -0
- package/dist/cjs/NumberInput/NumberInput.cjs +54 -0
- package/dist/cjs/NumberInput/NumberInput.styles.cjs +11 -0
- package/dist/cjs/Pagination/Pagination.styles.cjs +1 -2
- package/dist/cjs/QueryBuilder/Rule/Rule.styles.cjs +1 -1
- package/dist/cjs/QueryBuilder/RuleGroup/RuleGroup.cjs +2 -2
- package/dist/cjs/RadioGroup/RadioGroup.cjs +9 -8
- package/dist/cjs/SearchInput/SearchInput.cjs +28 -0
- package/dist/cjs/SearchInput/SearchInput.styles.cjs +10 -0
- package/dist/cjs/Select/Select.cjs +15 -14
- package/dist/cjs/Select/Select.styles.cjs +1 -4
- package/dist/cjs/SelectionList/SelectionList.cjs +1 -1
- package/dist/cjs/Slider/Slider.cjs +34 -44
- package/dist/cjs/Slider/SliderInput/SliderInput.cjs +0 -1
- package/dist/cjs/Slider/utils.cjs +6 -9
- package/dist/cjs/SnackbarProvider/SnackbarProvider.cjs +16 -14
- package/dist/cjs/SnackbarProvider/SnackbarProvider.styles.cjs +1 -1
- package/dist/cjs/Switch/Switch.cjs +1 -1
- package/dist/cjs/TagsInput/TagsInput.cjs +31 -40
- package/dist/cjs/TagsInput/TagsInput.styles.cjs +3 -3
- package/dist/cjs/TextArea/TextArea.cjs +40 -40
- package/dist/cjs/TextArea/TextArea.styles.cjs +3 -5
- package/dist/cjs/TimePicker/TimePicker.cjs +15 -21
- package/dist/cjs/TimePicker/TimePicker.styles.cjs +1 -4
- package/dist/cjs/VerticalNavigation/Actions/Action.cjs +2 -1
- package/dist/cjs/VerticalNavigation/Actions/Action.styles.cjs +3 -5
- package/dist/cjs/icons.cjs +2 -1
- package/dist/cjs/index.cjs +4 -0
- package/dist/esm/Badge/Badge.styles.js +13 -1
- package/dist/esm/Banner/BannerContent/BannerContent.styles.js +1 -1
- package/dist/esm/BaseDropdown/BaseDropdown.js +1 -0
- package/dist/esm/BaseInput/validations.js +9 -16
- package/dist/esm/BaseSwitch/BaseSwitch.styles.js +1 -1
- package/dist/esm/Button/Button.styles.js +6 -4
- package/dist/esm/Calendar/CalendarHeader/CalendarHeader.js +1 -2
- package/dist/esm/Card/Card.js +5 -4
- package/dist/esm/Card/Card.styles.js +5 -3
- package/dist/esm/Card/Header/Header.styles.js +3 -3
- package/dist/esm/CheckBox/CheckBox.js +1 -1
- package/dist/esm/CheckBoxGroup/CheckBoxGroup.js +9 -8
- package/dist/esm/ColorPicker/ColorPicker.js +14 -22
- package/dist/esm/ColorPicker/ColorPicker.styles.js +1 -4
- package/dist/esm/DatePicker/DatePicker.js +15 -23
- package/dist/esm/DatePicker/DatePicker.styles.js +1 -4
- package/dist/esm/DotPagination/DotPagination.styles.js +1 -1
- package/dist/esm/Dropdown/Dropdown.js +16 -24
- package/dist/esm/Dropdown/Dropdown.styles.js +1 -1
- package/dist/esm/Dropdown/List/List.js +4 -1
- package/dist/esm/FileUploader/DropZone/DropZone.js +19 -17
- package/dist/esm/FileUploader/DropZone/DropZone.styles.js +0 -3
- package/dist/esm/FilterGroup/FilterGroup.js +15 -23
- package/dist/esm/FilterGroup/FilterGroup.styles.js +1 -1
- package/dist/esm/FormElement/InfoMessage/InfoMessage.js +1 -1
- package/dist/esm/FormElement/Label/Label.js +5 -2
- package/dist/esm/FormElement/LabelContainer.js +58 -0
- package/dist/esm/FormElement/WarningText/WarningText.js +4 -4
- package/dist/esm/FormElement/utils.js +3 -9
- package/dist/esm/InlineEditor/InlineEditor.js +1 -0
- package/dist/esm/InlineEditor/InlineEditor.styles.js +1 -2
- package/dist/esm/Input/Input.js +35 -40
- package/dist/esm/Input/Input.styles.js +1 -5
- package/dist/esm/Input/utils.js +12 -0
- package/dist/esm/NumberInput/NumberInput.js +54 -0
- package/dist/esm/NumberInput/NumberInput.styles.js +11 -0
- package/dist/esm/Pagination/Pagination.styles.js +1 -2
- package/dist/esm/QueryBuilder/Rule/Rule.styles.js +1 -1
- package/dist/esm/QueryBuilder/RuleGroup/RuleGroup.js +2 -2
- package/dist/esm/RadioGroup/RadioGroup.js +9 -8
- package/dist/esm/SearchInput/SearchInput.js +28 -0
- package/dist/esm/SearchInput/SearchInput.styles.js +10 -0
- package/dist/esm/Select/Select.js +15 -14
- package/dist/esm/Select/Select.styles.js +1 -4
- package/dist/esm/SelectionList/SelectionList.js +1 -1
- package/dist/esm/Slider/Slider.js +34 -44
- package/dist/esm/Slider/SliderInput/SliderInput.js +0 -1
- package/dist/esm/Slider/utils.js +6 -9
- package/dist/esm/SnackbarProvider/SnackbarProvider.js +16 -14
- package/dist/esm/SnackbarProvider/SnackbarProvider.styles.js +1 -1
- package/dist/esm/Switch/Switch.js +1 -1
- package/dist/esm/TagsInput/TagsInput.js +31 -40
- package/dist/esm/TagsInput/TagsInput.styles.js +3 -3
- package/dist/esm/TextArea/TextArea.js +42 -42
- package/dist/esm/TextArea/TextArea.styles.js +3 -5
- package/dist/esm/TimePicker/TimePicker.js +15 -21
- package/dist/esm/TimePicker/TimePicker.styles.js +1 -4
- package/dist/esm/VerticalNavigation/Actions/Action.js +2 -1
- package/dist/esm/VerticalNavigation/Actions/Action.styles.js +3 -5
- package/dist/esm/icons.js +2 -1
- package/dist/esm/index.js +4 -0
- package/dist/types/index.d.ts +51 -12
- package/package.json +5 -5
- package/dist/esm/Accordion/Accordion.js.map +0 -1
- package/dist/esm/Accordion/Accordion.styles.js.map +0 -1
- package/dist/esm/ActionBar/ActionBar.js.map +0 -1
- package/dist/esm/ActionBar/ActionBar.styles.js.map +0 -1
- package/dist/esm/ActionsGeneric/ActionsGeneric.js.map +0 -1
- package/dist/esm/ActionsGeneric/ActionsGeneric.styles.js.map +0 -1
- package/dist/esm/AppSwitcher/Action/Action.js.map +0 -1
- package/dist/esm/AppSwitcher/Action/Action.styles.js.map +0 -1
- package/dist/esm/AppSwitcher/AppSwitcher.js.map +0 -1
- package/dist/esm/AppSwitcher/AppSwitcher.styles.js.map +0 -1
- package/dist/esm/Avatar/Avatar.js.map +0 -1
- package/dist/esm/Avatar/Avatar.styles.js.map +0 -1
- package/dist/esm/AvatarGroup/AvatarGroup.js.map +0 -1
- package/dist/esm/AvatarGroup/AvatarGroup.styles.js.map +0 -1
- package/dist/esm/AvatarGroup/AvatarGroupContext.js.map +0 -1
- package/dist/esm/Badge/Badge.js.map +0 -1
- package/dist/esm/Badge/Badge.styles.js.map +0 -1
- package/dist/esm/Banner/Banner.js.map +0 -1
- package/dist/esm/Banner/Banner.styles.js.map +0 -1
- package/dist/esm/Banner/BannerContent/BannerContent.js.map +0 -1
- package/dist/esm/Banner/BannerContent/BannerContent.styles.js.map +0 -1
- package/dist/esm/BaseCheckBox/BaseCheckBox.js.map +0 -1
- package/dist/esm/BaseCheckBox/BaseCheckBox.styles.js.map +0 -1
- package/dist/esm/BaseCheckBox/CheckBoxIcon.js.map +0 -1
- package/dist/esm/BaseDropdown/BaseDropdown.js.map +0 -1
- package/dist/esm/BaseDropdown/BaseDropdown.styles.js.map +0 -1
- package/dist/esm/BaseDropdown/BaseDropdownPanel.js.map +0 -1
- package/dist/esm/BaseDropdown/context.js.map +0 -1
- package/dist/esm/BaseInput/BaseInput.js.map +0 -1
- package/dist/esm/BaseInput/BaseInput.styles.js.map +0 -1
- package/dist/esm/BaseInput/validations.js.map +0 -1
- package/dist/esm/BaseRadio/BaseRadio.js.map +0 -1
- package/dist/esm/BaseRadio/BaseRadio.styles.js.map +0 -1
- package/dist/esm/BaseRadio/RadioIcon.js.map +0 -1
- package/dist/esm/BaseSwitch/BaseSwitch.js.map +0 -1
- package/dist/esm/BaseSwitch/BaseSwitch.styles.js.map +0 -1
- package/dist/esm/Box/Box.js.map +0 -1
- package/dist/esm/BreadCrumb/BreadCrumb.js.map +0 -1
- package/dist/esm/BreadCrumb/BreadCrumb.styles.js.map +0 -1
- package/dist/esm/BreadCrumb/Page/Page.js.map +0 -1
- package/dist/esm/BreadCrumb/Page/Page.styles.js.map +0 -1
- package/dist/esm/BreadCrumb/PathElement/PathElement.js.map +0 -1
- package/dist/esm/BreadCrumb/PathElement/PathElement.styles.js.map +0 -1
- package/dist/esm/BreadCrumb/utils.js.map +0 -1
- package/dist/esm/BulkActions/BulkActions.js.map +0 -1
- package/dist/esm/BulkActions/BulkActions.styles.js.map +0 -1
- package/dist/esm/Button/Button.js.map +0 -1
- package/dist/esm/Button/Button.styles.js.map +0 -1
- package/dist/esm/ButtonBase/ButtonBase.js.map +0 -1
- package/dist/esm/ButtonBase/ButtonBase.styles.js.map +0 -1
- package/dist/esm/Calendar/Calendar.js.map +0 -1
- package/dist/esm/Calendar/Calendar.styles.js.map +0 -1
- package/dist/esm/Calendar/CalendarHeader/CalendarHeader.js.map +0 -1
- package/dist/esm/Calendar/CalendarHeader/CalendarHeader.styles.js.map +0 -1
- package/dist/esm/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js.map +0 -1
- package/dist/esm/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.styles.js.map +0 -1
- package/dist/esm/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js.map +0 -1
- package/dist/esm/Calendar/CalendarNavigation/MonthSelector/MonthSelector.styles.js.map +0 -1
- package/dist/esm/Calendar/CalendarNavigation/Navigation/Navigation.js.map +0 -1
- package/dist/esm/Calendar/CalendarNavigation/Navigation/Navigation.styles.js.map +0 -1
- package/dist/esm/Calendar/SingleCalendar/CalendarCell.js.map +0 -1
- package/dist/esm/Calendar/SingleCalendar/CalendarCell.styles.js.map +0 -1
- package/dist/esm/Calendar/SingleCalendar/SingleCalendar.js.map +0 -1
- package/dist/esm/Calendar/SingleCalendar/SingleCalendar.styles.js.map +0 -1
- package/dist/esm/Calendar/model.js.map +0 -1
- package/dist/esm/Calendar/utils.js.map +0 -1
- package/dist/esm/Card/Card.js.map +0 -1
- package/dist/esm/Card/Card.styles.js.map +0 -1
- package/dist/esm/Card/Content/Content.js.map +0 -1
- package/dist/esm/Card/Content/Content.styles.js.map +0 -1
- package/dist/esm/Card/Header/Header.js.map +0 -1
- package/dist/esm/Card/Header/Header.styles.js.map +0 -1
- package/dist/esm/Card/Media/Media.js.map +0 -1
- package/dist/esm/Card/Media/Media.styles.js.map +0 -1
- package/dist/esm/Carousel/Carousel.js.map +0 -1
- package/dist/esm/Carousel/Carousel.styles.js.map +0 -1
- package/dist/esm/Carousel/CarouselControls.js.map +0 -1
- package/dist/esm/Carousel/CarouselSlide/CarouselSlide.js.map +0 -1
- package/dist/esm/Carousel/CarouselSlide/CarouselSlide.styles.js.map +0 -1
- package/dist/esm/Carousel/CarouselThumbnails.js.map +0 -1
- package/dist/esm/CheckBox/CheckBox.js.map +0 -1
- package/dist/esm/CheckBox/CheckBox.styles.js.map +0 -1
- package/dist/esm/CheckBoxGroup/CheckBoxGroup.js.map +0 -1
- package/dist/esm/CheckBoxGroup/CheckBoxGroup.styles.js.map +0 -1
- package/dist/esm/ColorPicker/ColorPicker.js.map +0 -1
- package/dist/esm/ColorPicker/ColorPicker.styles.js.map +0 -1
- package/dist/esm/ColorPicker/Fields/Fields.js.map +0 -1
- package/dist/esm/ColorPicker/Fields/Fields.styles.js.map +0 -1
- package/dist/esm/ColorPicker/Picker/Picker.js.map +0 -1
- package/dist/esm/ColorPicker/Picker/Picker.styles.js.map +0 -1
- package/dist/esm/ColorPicker/PresetColors/PresetColors.js.map +0 -1
- package/dist/esm/ColorPicker/PresetColors/PresetColors.styles.js.map +0 -1
- package/dist/esm/ColorPicker/SavedColors/SavedColors.js.map +0 -1
- package/dist/esm/ColorPicker/SavedColors/SavedColors.styles.js.map +0 -1
- package/dist/esm/Container/Container.js.map +0 -1
- package/dist/esm/Container/Container.styles.js.map +0 -1
- package/dist/esm/Controls/Controls.js.map +0 -1
- package/dist/esm/Controls/Controls.styles.js.map +0 -1
- package/dist/esm/Controls/LeftControl/LeftControl.js.map +0 -1
- package/dist/esm/Controls/LeftControl/LeftControl.styles.js.map +0 -1
- package/dist/esm/Controls/RightControl/RightControl.js.map +0 -1
- package/dist/esm/Controls/RightControl/RightControl.styles.js.map +0 -1
- package/dist/esm/Controls/context/ControlsContext.js.map +0 -1
- package/dist/esm/DatePicker/DatePicker.js.map +0 -1
- package/dist/esm/DatePicker/DatePicker.styles.js.map +0 -1
- package/dist/esm/DatePicker/useVisibleDate.js.map +0 -1
- package/dist/esm/DatePicker/utils.js.map +0 -1
- package/dist/esm/Dialog/Actions/Actions.js.map +0 -1
- package/dist/esm/Dialog/Actions/Actions.styles.js.map +0 -1
- package/dist/esm/Dialog/Content/Content.js.map +0 -1
- package/dist/esm/Dialog/Content/Content.styles.js.map +0 -1
- package/dist/esm/Dialog/Dialog.js.map +0 -1
- package/dist/esm/Dialog/Dialog.styles.js.map +0 -1
- package/dist/esm/Dialog/Title/Title.js.map +0 -1
- package/dist/esm/Dialog/Title/Title.styles.js.map +0 -1
- package/dist/esm/Dialog/context.js.map +0 -1
- package/dist/esm/DotPagination/DotPagination.js.map +0 -1
- package/dist/esm/DotPagination/DotPagination.styles.js.map +0 -1
- package/dist/esm/Drawer/Drawer.js.map +0 -1
- package/dist/esm/Drawer/Drawer.styles.js.map +0 -1
- package/dist/esm/DropDownMenu/DropDownMenu.js.map +0 -1
- package/dist/esm/DropDownMenu/DropDownMenu.styles.js.map +0 -1
- package/dist/esm/Dropdown/Dropdown.js.map +0 -1
- package/dist/esm/Dropdown/Dropdown.styles.js.map +0 -1
- package/dist/esm/Dropdown/List/List.js.map +0 -1
- package/dist/esm/Dropdown/List/List.styles.js.map +0 -1
- package/dist/esm/Dropdown/utils.js.map +0 -1
- package/dist/esm/DropdownButton/DropdownButton.js.map +0 -1
- package/dist/esm/DropdownButton/DropdownButton.styles.js.map +0 -1
- package/dist/esm/EmptyState/EmptyState.js.map +0 -1
- package/dist/esm/EmptyState/EmptyState.styles.js.map +0 -1
- package/dist/esm/FileUploader/DropZone/DropZone.js.map +0 -1
- package/dist/esm/FileUploader/DropZone/DropZone.styles.js.map +0 -1
- package/dist/esm/FileUploader/File/File.js.map +0 -1
- package/dist/esm/FileUploader/File/File.styles.js.map +0 -1
- package/dist/esm/FileUploader/FileList/FileList.js.map +0 -1
- package/dist/esm/FileUploader/FileList/FileList.styles.js.map +0 -1
- package/dist/esm/FileUploader/FileUploader.js.map +0 -1
- package/dist/esm/FileUploader/FileUploader.styles.js.map +0 -1
- package/dist/esm/FileUploader/Preview/Preview.js.map +0 -1
- package/dist/esm/FileUploader/Preview/Preview.styles.js.map +0 -1
- package/dist/esm/FileUploader/utils.js.map +0 -1
- package/dist/esm/FilterGroup/Counter/Counter.js.map +0 -1
- package/dist/esm/FilterGroup/Counter/Counter.styles.js.map +0 -1
- package/dist/esm/FilterGroup/FilterContent/FilterContent.js.map +0 -1
- package/dist/esm/FilterGroup/FilterContent/FilterContent.styles.js.map +0 -1
- package/dist/esm/FilterGroup/FilterGroup.js.map +0 -1
- package/dist/esm/FilterGroup/FilterGroup.styles.js.map +0 -1
- package/dist/esm/FilterGroup/FilterGroupContext.js.map +0 -1
- package/dist/esm/FilterGroup/LeftPanel/LeftPanel.js.map +0 -1
- package/dist/esm/FilterGroup/LeftPanel/LeftPanel.styles.js.map +0 -1
- package/dist/esm/FilterGroup/RightPanel/RightPanel.js.map +0 -1
- package/dist/esm/FilterGroup/RightPanel/RightPanel.styles.js.map +0 -1
- package/dist/esm/Focus/Focus.js.map +0 -1
- package/dist/esm/Focus/Focus.styles.js.map +0 -1
- package/dist/esm/Focus/utils.js.map +0 -1
- package/dist/esm/Footer/Footer.js.map +0 -1
- package/dist/esm/Footer/Footer.styles.js.map +0 -1
- package/dist/esm/FormElement/Adornment/Adornment.js.map +0 -1
- package/dist/esm/FormElement/Adornment/Adornment.styles.js.map +0 -1
- package/dist/esm/FormElement/CharCounter/CharCounter.js.map +0 -1
- package/dist/esm/FormElement/CharCounter/CharCounter.styles.js.map +0 -1
- package/dist/esm/FormElement/FormElement.js.map +0 -1
- package/dist/esm/FormElement/FormElement.styles.js.map +0 -1
- package/dist/esm/FormElement/InfoMessage/InfoMessage.js.map +0 -1
- package/dist/esm/FormElement/InfoMessage/InfoMessage.styles.js.map +0 -1
- package/dist/esm/FormElement/Label/Label.js.map +0 -1
- package/dist/esm/FormElement/Label/Label.styles.js.map +0 -1
- package/dist/esm/FormElement/Suggestions/Suggestions.js.map +0 -1
- package/dist/esm/FormElement/Suggestions/Suggestions.styles.js.map +0 -1
- package/dist/esm/FormElement/WarningText/WarningText.js.map +0 -1
- package/dist/esm/FormElement/WarningText/WarningText.styles.js.map +0 -1
- package/dist/esm/FormElement/context.js.map +0 -1
- package/dist/esm/FormElement/utils.js.map +0 -1
- package/dist/esm/GlobalActions/GlobalActions.js.map +0 -1
- package/dist/esm/GlobalActions/GlobalActions.styles.js.map +0 -1
- package/dist/esm/Grid/Grid.js.map +0 -1
- package/dist/esm/Grid/Grid.styles.js.map +0 -1
- package/dist/esm/Header/Actions/Actions.js.map +0 -1
- package/dist/esm/Header/Actions/Actions.styles.js.map +0 -1
- package/dist/esm/Header/Brand/Brand.js.map +0 -1
- package/dist/esm/Header/Brand/Brand.styles.js.map +0 -1
- package/dist/esm/Header/Header.js.map +0 -1
- package/dist/esm/Header/Header.styles.js.map +0 -1
- package/dist/esm/Header/Navigation/MenuBar/Bar.js.map +0 -1
- package/dist/esm/Header/Navigation/MenuBar/Bar.styles.js.map +0 -1
- package/dist/esm/Header/Navigation/MenuBar/MenuBar.js.map +0 -1
- package/dist/esm/Header/Navigation/MenuItem/MenuItem.js.map +0 -1
- package/dist/esm/Header/Navigation/MenuItem/MenuItem.styles.js.map +0 -1
- package/dist/esm/Header/Navigation/Navigation.js.map +0 -1
- package/dist/esm/Header/Navigation/Navigation.styles.js.map +0 -1
- package/dist/esm/Header/Navigation/useSelectionPath.js.map +0 -1
- package/dist/esm/Header/Navigation/utils/FocusContext.js.map +0 -1
- package/dist/esm/Header/Navigation/utils/SelectionContext.js.map +0 -1
- package/dist/esm/IconButton/IconButton.js.map +0 -1
- package/dist/esm/IconContainer/IconContainer.js.map +0 -1
- package/dist/esm/InlineEditor/InlineEditor.js.map +0 -1
- package/dist/esm/InlineEditor/InlineEditor.styles.js.map +0 -1
- package/dist/esm/Input/Input.js.map +0 -1
- package/dist/esm/Input/Input.styles.js.map +0 -1
- package/dist/esm/Input/icons.js.map +0 -1
- package/dist/esm/Kpi/Kpi.js.map +0 -1
- package/dist/esm/Kpi/Kpi.styles.js.map +0 -1
- package/dist/esm/Link/Link.js.map +0 -1
- package/dist/esm/Link/Link.styles.js.map +0 -1
- package/dist/esm/List/List.js.map +0 -1
- package/dist/esm/List/List.styles.js.map +0 -1
- package/dist/esm/List/useSelectableList.js.map +0 -1
- package/dist/esm/List/utils.js.map +0 -1
- package/dist/esm/ListContainer/ListContainer.js.map +0 -1
- package/dist/esm/ListContainer/ListContainer.styles.js.map +0 -1
- package/dist/esm/ListContainer/ListContext/ListContext.js.map +0 -1
- package/dist/esm/ListContainer/ListItem/ListItem.js.map +0 -1
- package/dist/esm/ListContainer/ListItem/ListItem.styles.js.map +0 -1
- package/dist/esm/Loading/Loading.js.map +0 -1
- package/dist/esm/Loading/Loading.styles.js.map +0 -1
- package/dist/esm/LoadingContainer/LoadingContainer.js.map +0 -1
- package/dist/esm/LoadingContainer/LoadingContainer.styles.js.map +0 -1
- package/dist/esm/Login/Login.js.map +0 -1
- package/dist/esm/Login/Login.styles.js.map +0 -1
- package/dist/esm/MultiButton/MultiButton.js.map +0 -1
- package/dist/esm/MultiButton/MultiButton.styles.js.map +0 -1
- package/dist/esm/OverflowTooltip/OverflowTooltip.js.map +0 -1
- package/dist/esm/OverflowTooltip/OverflowTooltip.styles.js.map +0 -1
- package/dist/esm/Pagination/Pagination.js.map +0 -1
- package/dist/esm/Pagination/Pagination.styles.js.map +0 -1
- package/dist/esm/Pagination/Select.js.map +0 -1
- package/dist/esm/Pagination/Select.styles.js.map +0 -1
- package/dist/esm/Panel/Panel.js.map +0 -1
- package/dist/esm/Panel/Panel.styles.js.map +0 -1
- package/dist/esm/ProgressBar/ProgressBar.js.map +0 -1
- package/dist/esm/ProgressBar/ProgressBar.styles.js.map +0 -1
- package/dist/esm/QueryBuilder/ConfirmationDialog/ConfirmationDialog.js.map +0 -1
- package/dist/esm/QueryBuilder/ConfirmationDialog/ConfirmationDialog.styles.js.map +0 -1
- package/dist/esm/QueryBuilder/Context.js.map +0 -1
- package/dist/esm/QueryBuilder/QueryBuilder.js.map +0 -1
- package/dist/esm/QueryBuilder/QueryBuilder.styles.js.map +0 -1
- package/dist/esm/QueryBuilder/Rule/Attribute/Attribute.js.map +0 -1
- package/dist/esm/QueryBuilder/Rule/Operator/Operator.js.map +0 -1
- package/dist/esm/QueryBuilder/Rule/Rule.js.map +0 -1
- package/dist/esm/QueryBuilder/Rule/Rule.styles.js.map +0 -1
- package/dist/esm/QueryBuilder/Rule/Value/BooleanValue/BooleanValue.js.map +0 -1
- package/dist/esm/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.js.map +0 -1
- package/dist/esm/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.styles.js.map +0 -1
- package/dist/esm/QueryBuilder/Rule/Value/DateTimeValue/utils.js.map +0 -1
- package/dist/esm/QueryBuilder/Rule/Value/EmptyValue/EmptyValue.js.map +0 -1
- package/dist/esm/QueryBuilder/Rule/Value/NumericValue/Numeric.styles.js.map +0 -1
- package/dist/esm/QueryBuilder/Rule/Value/NumericValue/NumericValue.js.map +0 -1
- package/dist/esm/QueryBuilder/Rule/Value/TextValue/TextValue.js.map +0 -1
- package/dist/esm/QueryBuilder/Rule/Value/TextValue/TextValue.styles.js.map +0 -1
- package/dist/esm/QueryBuilder/Rule/Value/Value.js.map +0 -1
- package/dist/esm/QueryBuilder/RuleGroup/RuleGroup.js.map +0 -1
- package/dist/esm/QueryBuilder/types.js.map +0 -1
- package/dist/esm/QueryBuilder/utils/index.js.map +0 -1
- package/dist/esm/QueryBuilder/utils/reducer.js.map +0 -1
- package/dist/esm/Radio/Radio.js.map +0 -1
- package/dist/esm/Radio/Radio.styles.js.map +0 -1
- package/dist/esm/RadioGroup/RadioGroup.js.map +0 -1
- package/dist/esm/RadioGroup/RadioGroup.styles.js.map +0 -1
- package/dist/esm/ScrollToHorizontal/HorizontalScrollListItem/HorizontalScrollListItem.js.map +0 -1
- package/dist/esm/ScrollToHorizontal/HorizontalScrollListItem/HorizontalScrollListItem.styles.js.map +0 -1
- package/dist/esm/ScrollToHorizontal/ScrollToHorizontal.js.map +0 -1
- package/dist/esm/ScrollToHorizontal/ScrollToHorizontal.styles.js.map +0 -1
- package/dist/esm/ScrollToVertical/ScrollToVertical.js.map +0 -1
- package/dist/esm/ScrollToVertical/ScrollToVertical.styles.js.map +0 -1
- package/dist/esm/ScrollToVertical/VerticalScrollListItem/VerticalScrollListItem.js.map +0 -1
- package/dist/esm/ScrollToVertical/VerticalScrollListItem/VerticalScrollListItem.styles.js.map +0 -1
- package/dist/esm/Section/Section.js.map +0 -1
- package/dist/esm/Section/Section.styles.js.map +0 -1
- package/dist/esm/Select/Option.js.map +0 -1
- package/dist/esm/Select/OptionGroup.js.map +0 -1
- package/dist/esm/Select/Select.js.map +0 -1
- package/dist/esm/Select/Select.styles.js.map +0 -1
- package/dist/esm/SelectionList/SelectionList.js.map +0 -1
- package/dist/esm/SelectionList/SelectionList.styles.js.map +0 -1
- package/dist/esm/SimpleGrid/SimpleGrid.js.map +0 -1
- package/dist/esm/SimpleGrid/SimpleGrid.styles.js.map +0 -1
- package/dist/esm/Skeleton/Skeleton.js.map +0 -1
- package/dist/esm/Skeleton/Skeleton.styles.js.map +0 -1
- package/dist/esm/Slider/Slider.js.map +0 -1
- package/dist/esm/Slider/Slider.styles.js.map +0 -1
- package/dist/esm/Slider/SliderInput/SliderInput.js.map +0 -1
- package/dist/esm/Slider/SliderInput/SliderInput.styles.js.map +0 -1
- package/dist/esm/Slider/base.js.map +0 -1
- package/dist/esm/Slider/utils.js.map +0 -1
- package/dist/esm/Snackbar/Snackbar.js.map +0 -1
- package/dist/esm/Snackbar/Snackbar.styles.js.map +0 -1
- package/dist/esm/Snackbar/SnackbarContent/SnackbarContent.js.map +0 -1
- package/dist/esm/Snackbar/SnackbarContent/SnackbarContent.styles.js.map +0 -1
- package/dist/esm/SnackbarProvider/SnackbarProvider.js.map +0 -1
- package/dist/esm/SnackbarProvider/SnackbarProvider.styles.js.map +0 -1
- package/dist/esm/Stack/Stack.js.map +0 -1
- package/dist/esm/Stack/Stack.styles.js.map +0 -1
- package/dist/esm/Switch/Switch.js.map +0 -1
- package/dist/esm/Switch/Switch.styles.js.map +0 -1
- package/dist/esm/Table/Table.js.map +0 -1
- package/dist/esm/Table/Table.styles.js.map +0 -1
- package/dist/esm/Table/TableBody/TableBody.js.map +0 -1
- package/dist/esm/Table/TableBody/TableBody.styles.js.map +0 -1
- package/dist/esm/Table/TableCell/TableCell.js.map +0 -1
- package/dist/esm/Table/TableCell/TableCell.styles.js.map +0 -1
- package/dist/esm/Table/TableContainer/TableContainer.js.map +0 -1
- package/dist/esm/Table/TableContainer/TableContainer.styles.js.map +0 -1
- package/dist/esm/Table/TableContext.js.map +0 -1
- package/dist/esm/Table/TableHead/TableHead.js.map +0 -1
- package/dist/esm/Table/TableHead/TableHead.styles.js.map +0 -1
- package/dist/esm/Table/TableHeader/TableHeader.js.map +0 -1
- package/dist/esm/Table/TableHeader/TableHeader.styles.js.map +0 -1
- package/dist/esm/Table/TableHeader/utils.js.map +0 -1
- package/dist/esm/Table/TableRow/TableRow.js.map +0 -1
- package/dist/esm/Table/TableRow/TableRow.styles.js.map +0 -1
- package/dist/esm/Table/TableSection/TableSection.js.map +0 -1
- package/dist/esm/Table/TableSection/TableSection.styles.js.map +0 -1
- package/dist/esm/Table/TableSectionContext.js.map +0 -1
- package/dist/esm/Table/hooks/useHvBulkActions.js.map +0 -1
- package/dist/esm/Table/hooks/useHvFilters.js.map +0 -1
- package/dist/esm/Table/hooks/useHvGlobalFilter.js.map +0 -1
- package/dist/esm/Table/hooks/useHvHeaderGroups.js.map +0 -1
- package/dist/esm/Table/hooks/useHvPagination.js.map +0 -1
- package/dist/esm/Table/hooks/useHvResizeColumns.js.map +0 -1
- package/dist/esm/Table/hooks/useHvRowExpand.js.map +0 -1
- package/dist/esm/Table/hooks/useHvRowSelection.js.map +0 -1
- package/dist/esm/Table/hooks/useHvRowState.js.map +0 -1
- package/dist/esm/Table/hooks/useHvSortBy.js.map +0 -1
- package/dist/esm/Table/hooks/useHvSticky.js.map +0 -1
- package/dist/esm/Table/hooks/useHvTable.js.map +0 -1
- package/dist/esm/Table/hooks/useHvTableStyles.js.map +0 -1
- package/dist/esm/Table/renderers/DateColumnCell.js.map +0 -1
- package/dist/esm/Table/renderers/DefaultCell.js.map +0 -1
- package/dist/esm/Table/renderers/DropdownColumnCell.js.map +0 -1
- package/dist/esm/Table/renderers/ProgressColumnCell.js.map +0 -1
- package/dist/esm/Table/renderers/SwitchColumnCell.js.map +0 -1
- package/dist/esm/Table/renderers/renderers.js.map +0 -1
- package/dist/esm/Tabs/Tab/Tab.js.map +0 -1
- package/dist/esm/Tabs/Tab/Tab.styles.js.map +0 -1
- package/dist/esm/Tabs/Tabs.js.map +0 -1
- package/dist/esm/Tabs/Tabs.styles.js.map +0 -1
- package/dist/esm/Tag/Tag.js.map +0 -1
- package/dist/esm/Tag/Tag.styles.js.map +0 -1
- package/dist/esm/TagsInput/TagsInput.js.map +0 -1
- package/dist/esm/TagsInput/TagsInput.styles.js.map +0 -1
- package/dist/esm/TextArea/TextArea.js.map +0 -1
- package/dist/esm/TextArea/TextArea.styles.js.map +0 -1
- package/dist/esm/TimeAgo/TimeAgo.js.map +0 -1
- package/dist/esm/TimeAgo/TimeAgo.styles.js.map +0 -1
- package/dist/esm/TimeAgo/formatUtils.js.map +0 -1
- package/dist/esm/TimeAgo/useTimeAgo.js.map +0 -1
- package/dist/esm/TimeAgo/useTimeout.js.map +0 -1
- package/dist/esm/TimePicker/Placeholder.js.map +0 -1
- package/dist/esm/TimePicker/TimePicker.js.map +0 -1
- package/dist/esm/TimePicker/TimePicker.styles.js.map +0 -1
- package/dist/esm/TimePicker/Unit/Unit.js.map +0 -1
- package/dist/esm/TimePicker/Unit/Unit.styles.js.map +0 -1
- package/dist/esm/ToggleButton/ToggleButton.js.map +0 -1
- package/dist/esm/Tooltip/Tooltip.js.map +0 -1
- package/dist/esm/Tooltip/Tooltip.styles.js.map +0 -1
- package/dist/esm/TreeView/TreeItem/DefaultContent.js.map +0 -1
- package/dist/esm/TreeView/TreeItem/TreeItem.js.map +0 -1
- package/dist/esm/TreeView/TreeItem/TreeItem.styles.js.map +0 -1
- package/dist/esm/TreeView/TreeItem/useHvTreeItem.js.map +0 -1
- package/dist/esm/TreeView/TreeView.js.map +0 -1
- package/dist/esm/TreeView/TreeView.styles.js.map +0 -1
- package/dist/esm/TreeView/internals/DescendantProvider.js.map +0 -1
- package/dist/esm/TreeView/internals/TreeViewProvider.js.map +0 -1
- package/dist/esm/TreeView/internals/corePlugins.js.map +0 -1
- package/dist/esm/TreeView/internals/hooks/plugins/defaultPlugins.js.map +0 -1
- package/dist/esm/TreeView/internals/hooks/plugins/useTreeViewContextValueBuilder.js.map +0 -1
- package/dist/esm/TreeView/internals/hooks/plugins/useTreeViewExpansion.js.map +0 -1
- package/dist/esm/TreeView/internals/hooks/plugins/useTreeViewFocus.js.map +0 -1
- package/dist/esm/TreeView/internals/hooks/plugins/useTreeViewKeyboardNavigation.js.map +0 -1
- package/dist/esm/TreeView/internals/hooks/plugins/useTreeViewNodes.js.map +0 -1
- package/dist/esm/TreeView/internals/hooks/plugins/useTreeViewSelection.js.map +0 -1
- package/dist/esm/TreeView/internals/hooks/useInstanceEventHandler.js.map +0 -1
- package/dist/esm/TreeView/internals/hooks/useTreeView.js.map +0 -1
- package/dist/esm/TreeView/internals/hooks/useTreeViewInstanceEvents.js.map +0 -1
- package/dist/esm/TreeView/internals/hooks/useTreeViewModels.js.map +0 -1
- package/dist/esm/TreeView/internals/hooks/utils.js.map +0 -1
- package/dist/esm/TreeView/internals/utils/EventManager.js.map +0 -1
- package/dist/esm/TreeView/internals/utils/FinalizationRegistryBasedCleanupTracking.js.map +0 -1
- package/dist/esm/TreeView/internals/utils/TimerBasedCleanupTracking.js.map +0 -1
- package/dist/esm/TreeView/internals/utils/publishTreeViewEvent.js.map +0 -1
- package/dist/esm/Typography/Typography.js.map +0 -1
- package/dist/esm/Typography/Typography.styles.js.map +0 -1
- package/dist/esm/Typography/utils.js.map +0 -1
- package/dist/esm/VerticalNavigation/Actions/Action.js.map +0 -1
- package/dist/esm/VerticalNavigation/Actions/Action.styles.js.map +0 -1
- package/dist/esm/VerticalNavigation/Actions/Actions.js.map +0 -1
- package/dist/esm/VerticalNavigation/Actions/Actions.styles.js.map +0 -1
- package/dist/esm/VerticalNavigation/Header/Header.js.map +0 -1
- package/dist/esm/VerticalNavigation/Header/Header.styles.js.map +0 -1
- package/dist/esm/VerticalNavigation/Navigation/Navigation.js.map +0 -1
- package/dist/esm/VerticalNavigation/Navigation/Navigation.styles.js.map +0 -1
- package/dist/esm/VerticalNavigation/NavigationPopup/NavigationPopup.styles.js.map +0 -1
- package/dist/esm/VerticalNavigation/NavigationPopup/NavigationPopupContainer.js.map +0 -1
- package/dist/esm/VerticalNavigation/NavigationSlider/NavigationSlider.js.map +0 -1
- package/dist/esm/VerticalNavigation/NavigationSlider/NavigationSlider.styles.js.map +0 -1
- package/dist/esm/VerticalNavigation/NavigationSlider/utils.js.map +0 -1
- package/dist/esm/VerticalNavigation/TreeView/TreeView.js.map +0 -1
- package/dist/esm/VerticalNavigation/TreeView/TreeView.styles.js.map +0 -1
- package/dist/esm/VerticalNavigation/TreeView/TreeViewContext.js.map +0 -1
- package/dist/esm/VerticalNavigation/TreeView/TreeViewItem.js.map +0 -1
- package/dist/esm/VerticalNavigation/TreeView/TreeViewItem.styles.js.map +0 -1
- package/dist/esm/VerticalNavigation/VerticalNavigation.js.map +0 -1
- package/dist/esm/VerticalNavigation/VerticalNavigation.styles.js.map +0 -1
- package/dist/esm/VerticalNavigation/VerticalNavigationContext.js.map +0 -1
- package/dist/esm/VerticalNavigation/utils/VerticalNavigation.utils.js.map +0 -1
- package/dist/esm/hooks/useClickOutside.js.map +0 -1
- package/dist/esm/hooks/useComputation.js.map +0 -1
- package/dist/esm/hooks/useControlled.js.map +0 -1
- package/dist/esm/hooks/useEnhancedEffect.js.map +0 -1
- package/dist/esm/hooks/useExpandable.js.map +0 -1
- package/dist/esm/hooks/useFocus.js.map +0 -1
- package/dist/esm/hooks/useForkRef.js.map +0 -1
- package/dist/esm/hooks/useImageLoaded.js.map +0 -1
- package/dist/esm/hooks/useIsMounted.js.map +0 -1
- package/dist/esm/hooks/useLabels.js.map +0 -1
- package/dist/esm/hooks/useScrollTo.js.map +0 -1
- package/dist/esm/hooks/useUniqueId.js.map +0 -1
- package/dist/esm/hooks/useWidth.js.map +0 -1
- package/dist/esm/icons.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/providers/Provider.js.map +0 -1
- package/dist/esm/providers/ThemeProvider.js.map +0 -1
- package/dist/esm/types/generic.js.map +0 -1
- package/dist/esm/utils/Callout.js.map +0 -1
- package/dist/esm/utils/CounterLabel.js.map +0 -1
- package/dist/esm/utils/browser.js.map +0 -1
- package/dist/esm/utils/deepMerge.js.map +0 -1
- package/dist/esm/utils/document.js.map +0 -1
- package/dist/esm/utils/focusUtils.js.map +0 -1
- package/dist/esm/utils/focusableElementFinder.js.map +0 -1
- package/dist/esm/utils/getComponentName.js.map +0 -1
- package/dist/esm/utils/helpers.js.map +0 -1
- package/dist/esm/utils/hexToRgbA.js.map +0 -1
- package/dist/esm/utils/iconVariant.js.map +0 -1
- package/dist/esm/utils/keyboardUtils.js.map +0 -1
- package/dist/esm/utils/multiSelectionEventHandler.js.map +0 -1
- package/dist/esm/utils/scroll.js.map +0 -1
- package/dist/esm/utils/setId.js.map +0 -1
- package/dist/esm/utils/sizes.js.map +0 -1
- package/dist/esm/utils/theme.js.map +0 -1
- package/dist/esm/utils/useSavedState.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MultiButton.styles.js","sources":["../../../src/MultiButton/MultiButton.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { dropDownMenuClasses } from \"../DropDownMenu\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvMultiButton\", {\n root: {\n display: \"flex\",\n alignItems: \"center\",\n position: \"relative\",\n },\n multiple: {\n backgroundColor: theme.colors.bgPage,\n borderWidth: 0,\n borderColor: `${theme.colors.border} transparent`,\n borderRadius: theme.radii.base,\n\n \"& $button\": {\n minWidth: 32,\n maxWidth: 200,\n padding: 0,\n flex: \"1 1 0%\",\n borderColor: \"inherit\",\n borderRadius: 0,\n fontWeight: theme.typography.body.fontWeight,\n \"&:disabled\": {\n color: theme.colors.textDisabled,\n borderColor: \"inherit\",\n },\n \"&:hover\": {\n borderColor: \"inherit\",\n },\n \"&$firstButton\": {\n borderLeftColor: theme.colors.border,\n borderTopLeftRadius: \"inherit\",\n borderBottomLeftRadius: \"inherit\",\n \"&:disabled\": {\n borderLeftColor: theme.colors.border,\n },\n },\n \"&$lastButton\": {\n borderRightColor: theme.colors.border,\n borderTopRightRadius: \"inherit\",\n borderBottomRightRadius: \"inherit\",\n \"&:disabled\": {\n borderRightColor: theme.colors.border,\n },\n },\n \"&:not($firstButton)\": {\n marginLeft: \"-1px\",\n },\n \"&$selected\": {\n backgroundColor: theme.colors.bgContainer,\n fontWeight: theme.typography.label.fontWeight,\n borderColor: \"currentcolor\",\n zIndex: 2,\n \"&:hover:not(:disabled),&:focus-visible\": {\n backgroundColor: theme.colors.bgHover,\n },\n \"&:disabled\": {\n zIndex: 1,\n borderColor: theme.colors.border,\n },\n },\n },\n },\n splitGroup: {\n width: \"fit-content\",\n\n \"& $button:not($firstButton)\": {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n \"&:not([aria-controls])\": {\n borderLeftWidth: 0,\n },\n },\n \"& $button:not($lastButton)\": {\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n \"&:not([aria-controls])\": {\n borderRightWidth: 0,\n },\n\n \"&::after\": {\n content: \"''\",\n position: \"absolute\",\n inset: \"4px -1px 4px auto\",\n width: 1,\n zIndex: 1,\n height: \"auto\",\n backgroundColor: \"currentcolor\",\n },\n },\n },\n splitGroupDisabled: {},\n button: {\n position: \"relative\",\n // prevent the focus ring to be hidden by sibling hover background\n [`&:focus-visible, &.${dropDownMenuClasses.iconSelected}`]: {\n zIndex: 5,\n },\n },\n selected: {},\n vertical: {\n flexDirection: \"column\",\n alignItems: \"stretch\",\n height: \"auto\",\n borderColor: `transparent ${theme.colors.border}`,\n \"& $button\": {\n minWidth: 32,\n flex: \"1 1 32px\",\n \"&$firstButton\": {\n borderTopColor: theme.colors.border,\n borderTopLeftRadius: \"inherit\",\n borderTopRightRadius: \"inherit\",\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n },\n \"&$lastButton\": {\n borderBottomColor: theme.colors.border,\n borderBottomLeftRadius: \"inherit\",\n borderBottomRightRadius: \"inherit\",\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0,\n },\n \"&:not($firstButton)\": {\n marginLeft: 0,\n marginTop: -1,\n },\n \"&$selected\": {\n height: 32,\n borderColor: \"currentcolor\",\n },\n },\n },\n\n // TODO - review the need for these classes in v6 (use :first-child and :last-child instead)\n firstButton: {},\n lastButton: {},\n\n // TODO - review the need for these classes in v6\n primary: {},\n primarySubtle: {},\n primaryGhost: {},\n secondary: {},\n secondarySubtle: {},\n secondaryGhost: {},\n});\n"],"names":["dropDownMenuClasses"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OverflowTooltip.js","sources":["../../../src/OverflowTooltip/OverflowTooltip.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport { useResizeDetector } from \"react-resize-detector\";\nimport {\n useDefaultProps,\n type ExtractNames,\n} from \"@hitachivantara/uikit-react-utils\";\n\nimport { HvTooltip, HvTooltipProps } from \"../Tooltip\";\nimport { HvBaseProps } from \"../types/generic\";\nimport { HvTypography } from \"../Typography\";\nimport { staticClasses, useClasses } from \"./OverflowTooltip.styles\";\n\nexport { staticClasses as overflowTooltipClasses };\nexport type HvOverflowTooltipClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvOverflowTooltipProps extends HvBaseProps {\n /** The node that will be rendered inside the tooltip. */\n data: React.ReactNode;\n /** If true, the tooltip is shown. */\n open?: boolean;\n /** If `true`, the overflow tooltip will always use the paragraph overflow style. */\n paragraphOverflow?: boolean;\n /** Tooltip placement. */\n placement?:\n | \"bottom-end\"\n | \"bottom-start\"\n | \"bottom\"\n | \"left-end\"\n | \"left-start\"\n | \"left\"\n | \"right-end\"\n | \"right-start\"\n | \"right\"\n | \"top-end\"\n | \"top-start\"\n | \"top\";\n /** Extra properties to add to the tooltip. */\n tooltipsProps?: Partial<HvTooltipProps>;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvOverflowTooltipClasses;\n}\n\nconst isParagraph = (children = \"\") => /\\s/.test(children);\n\n/**\n * This component generates a tooltip whenever the text is overflowed.\n */\nexport const HvOverflowTooltip = (props: HvOverflowTooltipProps) => {\n const {\n id,\n classes: classesProp,\n className,\n data,\n open,\n paragraphOverflow,\n placement = \"top-start\",\n tooltipsProps,\n } = useDefaultProps(\"HvOverflowTooltip\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const {\n height = 0,\n width = 0,\n ref,\n } = useResizeDetector({\n refreshMode: \"debounce\",\n refreshOptions: {\n trailing: true,\n },\n handleHeight: false,\n });\n\n const isParag = useMemo(\n () => paragraphOverflow && isParagraph(data?.toString()),\n [data, paragraphOverflow],\n );\n\n // The difference should be higher than a pixel to be considered as overflowing\n const isOverflowing = useMemo(() => {\n if (isParag) {\n const scrollHeight = ref.current?.scrollHeight || 0;\n\n return scrollHeight - height >= 1;\n }\n\n const scrollWidth = ref.current?.scrollWidth || 0;\n\n return scrollWidth - width >= 1;\n }, [height, isParag, ref, width]);\n\n const content = useMemo(\n () => (\n <div\n ref={ref}\n className={cx(\n {\n [classes.tooltipAnchor]: !isParag,\n [classes.tooltipAnchorParagraph]: isParag,\n },\n className,\n )}\n >\n {data}\n </div>\n ),\n [\n className,\n classes.tooltipAnchor,\n classes.tooltipAnchorParagraph,\n cx,\n data,\n isParag,\n ref,\n ],\n );\n\n return (\n <HvTooltip\n id={id}\n disableHoverListener={!isOverflowing}\n open={open}\n placement={placement}\n title={\n <HvTypography className={classes.tooltipData} variant=\"body\">\n {data}\n </HvTypography>\n }\n // unset since `content` *is* the label\n aria-label={null as any}\n aria-labelledby={null as any}\n {...tooltipsProps}\n >\n {content}\n </HvTooltip>\n );\n};\n"],"names":[],"mappings":";;;;;;;;AA0CA,MAAM,cAAc,CAAC,WAAW,OAAO,KAAK,KAAK,QAAQ;AAK5C,MAAA,oBAAoB,CAAC,UAAkC;AAC5D,QAAA;AAAA,IACJ;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,EAAA,IACE,gBAAgB,qBAAqB,KAAK;AAE9C,QAAM,EAAE,SAAS,OAAO,WAAW,WAAW;AAExC,QAAA;AAAA,IACJ,SAAS;AAAA,IACT,QAAQ;AAAA,IACR;AAAA,MACE,kBAAkB;AAAA,IACpB,aAAa;AAAA,IACb,gBAAgB;AAAA,MACd,UAAU;AAAA,IACZ;AAAA,IACA,cAAc;AAAA,EAAA,CACf;AAED,QAAM,UAAU;AAAA,IACd,MAAM,qBAAqB,YAAY,MAAM,UAAU;AAAA,IACvD,CAAC,MAAM,iBAAiB;AAAA,EAC1B;AAGM,QAAA,gBAAgB,QAAQ,MAAM;AAClC,QAAI,SAAS;AACL,YAAA,eAAe,IAAI,SAAS,gBAAgB;AAElD,aAAO,eAAe,UAAU;AAAA,IAAA;AAG5B,UAAA,cAAc,IAAI,SAAS,eAAe;AAEhD,WAAO,cAAc,SAAS;AAAA,KAC7B,CAAC,QAAQ,SAAS,KAAK,KAAK,CAAC;AAEhC,QAAM,UAAU;AAAA,IACd,MACE;AAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA,WAAW;AAAA,UACT;AAAA,YACE,CAAC,QAAQ,aAAa,GAAG,CAAC;AAAA,YAC1B,CAAC,QAAQ,sBAAsB,GAAG;AAAA,UACpC;AAAA,UACA;AAAA,QACF;AAAA,QAEC,UAAA;AAAA,MAAA;AAAA,IACH;AAAA,IAEF;AAAA,MACE;AAAA,MACA,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EAEJ;AAGE,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,sBAAsB,CAAC;AAAA,MACvB;AAAA,MACA;AAAA,MACA,2BACG,cAAa,EAAA,WAAW,QAAQ,aAAa,SAAQ,QACnD,UACH,KAAA,CAAA;AAAA,MAGF,cAAY;AAAA,MACZ,mBAAiB;AAAA,MAChB,GAAG;AAAA,MAEH,UAAA;AAAA,IAAA;AAAA,EACH;AAEJ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OverflowTooltip.styles.js","sources":["../../../src/OverflowTooltip/OverflowTooltip.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\n\nexport const { staticClasses, useClasses } = createClasses(\n \"HvOverflowTooltip\",\n {\n tooltipData: {},\n tooltipAnchor: {\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n maxWidth: \"100%\",\n width: \"fit-content\",\n },\n tooltipAnchorParagraph: {\n overflow: \"hidden\",\n display: \"-webkit-box\",\n WebkitLineClamp: 3,\n WebkitBoxOrient: \"vertical\",\n },\n },\n);\n"],"names":[],"mappings":";AAEa,MAAA,EAAE,eAAe,WAAA,IAAe;AAAA,EAC3C;AAAA,EACA;AAAA,IACE,aAAa,CAAC;AAAA,IACd,eAAe;AAAA,MACb,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,cAAc;AAAA,MACd,UAAU;AAAA,MACV,OAAO;AAAA,IACT;AAAA,IACA,wBAAwB;AAAA,MACtB,UAAU;AAAA,MACV,SAAS;AAAA,MACT,iBAAiB;AAAA,MACjB,iBAAiB;AAAA,IAAA;AAAA,EACnB;AAEJ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.js","sources":["../../../src/Pagination/Pagination.tsx"],"sourcesContent":["import { forwardRef, useCallback, useEffect, useState } from \"react\";\nimport { useMediaQuery, useTheme } from \"@mui/material\";\nimport {\n clamp,\n useDefaultProps,\n type ExtractNames,\n} from \"@hitachivantara/uikit-react-utils\";\n\nimport { useLabels } from \"../hooks/useLabels\";\nimport { HvIconButton } from \"../IconButton\";\nimport { HvIcon } from \"../icons\";\nimport { HvInput, HvInputProps } from \"../Input\";\nimport { HvBaseProps } from \"../types/generic\";\nimport { HvTypography } from \"../Typography\";\nimport { setId } from \"../utils/setId\";\nimport { staticClasses, useClasses } from \"./Pagination.styles\";\nimport HvSelect, { Option } from \"./Select\";\n\nexport { staticClasses as paginationClasses };\n\nexport type HvPaginationClasses = ExtractNames<typeof useClasses>;\n\nconst defaultPageSizeOptions = [5, 10, 20, 25, 50, 100];\n\nconst DEFAULT_LABELS = {\n /** The show label. */\n pageSizePrev: \"Show\",\n /** Indicate the units of the page size selection. */\n pageSizeEntryName: \"rows\",\n /** Used for the aria-label of the selection of number of unit.s */\n pageSizeSelectorDescription: \"Select how many to display\",\n /** Separator of current page and total pages. */\n pagesSeparator: \"/\",\n /** Title of button `firstPage`. @deprecated Use `firstPage` instead. */\n paginationFirstPageTitle: \"First page\",\n /** Title of button `previousPage`. @deprecated Use `previousPage` instead. */\n paginationPreviousPageTitle: \"Previous page\",\n /** Title of button `nextPage`. @deprecated Use `nextPage` instead. */\n paginationNextPageTitle: \"Next page\",\n /** Title of button `lastPage`. @deprecated Use `lastPage` instead. */\n paginationLastPageTitle: \"Last page\",\n /** Aria-label passed to the page input. */\n paginationInputLabel: \"Current page\",\n /** Label of the first page button */\n firstPage: \"First Page\",\n /** Label of the previous page button */\n previousPage: \"Previous Page\",\n /** Label of the next page button */\n nextPage: \"Next Page\",\n /** Label of the last page button */\n lastPage: \"Last Page\",\n};\n\nexport type HvPaginationLabels = Partial<typeof DEFAULT_LABELS>;\n\nexport interface HvPaginationProps extends HvBaseProps {\n /** The number of pages the component has. */\n pages?: number;\n /** The currently selected page (0-indexed). */\n page?: number;\n /** Controls whether the left page size mechanism should be visible. */\n showPageSizeOptions?: boolean;\n /** The array of possible page sizes for the dropdown. */\n pageSizeOptions?: number[];\n /** The currently selected page size. */\n pageSize?: number;\n /** Controls whether the central page changing mechanism should be visible. */\n showPageJump?: boolean;\n /** Controls whether the previous/first page buttons are enabled. */\n canPrevious?: boolean;\n /** Controls whether the next/last page buttons are enabled. */\n canNext?: boolean;\n /** Function called when the page changes. */\n onPageChange?: (page: number) => void;\n /** Function called when the page size changes. */\n onPageSizeChange?: (pageSize: number) => void;\n /** An object containing all the labels for the component. */\n labels?: HvPaginationLabels;\n /** Other props to show page component. */\n showPageProps?: React.HTMLAttributes<HTMLDivElement>;\n /** Other props to pagination component. */\n navigationProps?: React.HTMLAttributes<HTMLDivElement>;\n /** Extra properties passed to the input component representing the current pages. */\n currentPageInputProps?: HvInputProps;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvPaginationClasses;\n}\n\n/**\n * Pagination is the process of dividing a document into discrete pages. It relates to how users interact\n * with structured content on a website or application.\n */\nexport const HvPagination = forwardRef<\n React.ComponentRef<\"div\">,\n HvPaginationProps\n>(function HvPagination(props, ref) {\n const {\n classes: classesProp,\n className,\n id,\n pages = 1,\n page = 0,\n showPageSizeOptions = true,\n pageSizeOptions = defaultPageSizeOptions,\n pageSize = defaultPageSizeOptions[1],\n showPageJump = true,\n canPrevious = false,\n canNext = false,\n onPageChange,\n onPageSizeChange,\n labels: labelsProp,\n showPageProps,\n navigationProps,\n currentPageInputProps,\n ...others\n } = useDefaultProps(\"HvPagination\", props);\n const { classes, cx } = useClasses(classesProp);\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const muiTheme = useTheme();\n const isXsDown = useMediaQuery(muiTheme.breakpoints.down(\"xs\"));\n\n const [pageInput, setPageInput] = useState(page);\n\n const changePage = useCallback(\n (newPage: number) => {\n const safePage = Number.isNaN(newPage) ? page : clamp(newPage, pages - 1);\n\n onPageChange?.(safePage);\n setPageInput(safePage);\n },\n [page, pages, onPageChange],\n );\n\n useEffect(() => {\n if (page >= pages && pages > 0) {\n changePage(page);\n }\n }, [changePage, page, pages]);\n\n useEffect(() => {\n setPageInput(page);\n }, [page]);\n\n const renderPageJump = () => (\n <div className={classes.pageJump}>\n <HvInput\n id={setId(id, \"currentPage\")}\n labels={labels}\n inputProps={{\n \"aria-label\": labels?.paginationInputLabel,\n // We really want the native number input\n type: \"number\",\n }}\n classes={{\n root: classes?.pageSizeInputContainer,\n input: classes?.pageSizeInput,\n inputRoot: classes?.pageSizeInputRoot,\n }}\n value={String(pageInput + 1)}\n onChange={(event, value) => setPageInput(Number(value) - 1)}\n onBlur={(evt, value) => changePage(Math.round(Number(value)) - 1)}\n onEnter={(evt, value) => changePage(Math.round(Number(value)) - 1)}\n disabled={pageSize === 0}\n disableClear\n {...currentPageInputProps}\n />\n </div>\n );\n\n return (\n <div ref={ref} id={id} className={cx(classes.root, className)} {...others}>\n <div className={classes.pageSizeOptions} {...showPageProps}>\n {showPageSizeOptions && (\n <>\n {!isXsDown && (\n <HvTypography\n component=\"span\"\n className={classes?.pageSizeTextContainer}\n >\n {labels?.pageSizePrev}\n </HvTypography>\n )}\n <HvSelect\n id={setId(id, \"pageSize\")}\n disabled={pageSize === 0}\n className={classes.pageSizeOptionsSelect}\n aria-label={labels?.pageSizeSelectorDescription}\n onChange={(_: any, val: number) => onPageSizeChange?.(val)}\n value={pageSize}\n classes={{\n header: classes.pageSizeHeader,\n root: classes.pageSizeRoot,\n }}\n >\n {pageSizeOptions.map((option) => (\n <Option key={option} value={option}>\n {option}\n </Option>\n ))}\n </HvSelect>\n {!isXsDown && (\n <HvTypography\n component=\"span\"\n className={classes.pageSizeTextContainer}\n >\n {labels?.pageSizeEntryName}\n </HvTypography>\n )}\n </>\n )}\n </div>\n <div className={classes.pageNavigator} {...navigationProps}>\n <HvIconButton\n id={setId(id, \"firstPage-button\")}\n className={classes.iconContainer}\n disabled={!canPrevious}\n onClick={() => changePage(0)}\n title={labels?.firstPage || labels?.paginationFirstPageTitle}\n >\n <HvIcon name=\"Start\" className={classes.icon} size=\"xs\" />\n </HvIconButton>\n <HvIconButton\n id={setId(id, \"previousPage-button\")}\n className={classes.iconContainer}\n disabled={!canPrevious}\n onClick={() => changePage(page - 1)}\n title={labels?.previousPage || labels?.paginationPreviousPageTitle}\n >\n <HvIcon name=\"Backwards\" className={classes.icon} size=\"xs\" />\n </HvIconButton>\n <div className={classes.pageInfo}>\n {showPageJump ? (\n renderPageJump()\n ) : (\n <HvTypography variant=\"caption2\" component=\"span\">{`${\n page + 1\n }`}</HvTypography>\n )}\n <HvTypography component=\"span\">{`${labels?.pagesSeparator} `}</HvTypography>\n <HvTypography\n component=\"span\"\n id={setId(id, \"totalPages\")}\n className={classes.totalPagesTextContainer}\n >\n {pages}\n </HvTypography>\n </div>\n <HvIconButton\n id={setId(id, \"nextPage-button\")}\n className={classes.iconContainer}\n disabled={!canNext}\n onClick={() => changePage(page + 1)}\n title={labels?.nextPage || labels?.paginationNextPageTitle}\n >\n <HvIcon name=\"Forwards\" className={classes.icon} size=\"xs\" />\n </HvIconButton>\n <HvIconButton\n id={setId(id, \"lastPage-button\")}\n className={classes.iconContainer}\n disabled={!canNext}\n onClick={() => changePage(pages - 1)}\n title={labels?.lastPage || labels?.paginationLastPageTitle}\n >\n <HvIcon name=\"End\" className={classes.icon} size=\"xs\" />\n </HvIconButton>\n </div>\n </div>\n );\n});\n"],"names":["HvPagination"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.styles.js","sources":["../../../src/Pagination/Pagination.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { baseDropdownClasses } from \"../BaseDropdown\";\nimport { inputClasses } from \"../Input\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvPagination\", {\n /** Styles applied to the component root class. */\n root: {\n position: \"relative\",\n zIndex: 1,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"stretch\",\n flexWrap: \"wrap\",\n marginTop: theme.space.sm,\n [`& $pageSizeInput`]: {\n ...theme.typography.caption2,\n \"&:focus\": {\n padding: 0,\n },\n },\n [`& $pageSizeInputContainer`]: {\n width: 24,\n minWidth: 24,\n maxWidth: theme.spacing(8),\n },\n [`&& $pageSizeInputRoot`]: {\n backgroundColor: \"transparent\",\n height: \"24px\",\n \"&:focus, &:focus-within, &:hover\": {\n backgroundColor: theme.colors.bgHover,\n },\n },\n },\n /** Styles applied to the page size selector container. */\n pageSizeOptions: {\n display: \"flex\",\n position: \"absolute\",\n gap: theme.space.xs,\n height: 24,\n top: \"50%\",\n transform: \"translateY(-50%)\",\n left: \"0\",\n },\n pageSizeHeader: {\n height: 24,\n display: \"flex\",\n alignItems: \"center\",\n [`& .${baseDropdownClasses.arrowContainer}`]: {\n marginTop: -2,\n },\n },\n pageSizeRoot: {\n width: \"auto\",\n },\n /** Styles applied to the element that holds the labels for the page size selector */\n pageSizeTextContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n height: \"24px\",\n padding: \"8px 0\",\n ...theme.typography.caption2,\n },\n totalPagesTextContainer: {\n ...theme.typography.caption2,\n },\n /** Styles applied to the page size selector dropdown element. */\n pageSizeOptionsSelect: {\n display: \"inline-block\",\n width: \"auto\",\n\n ...theme.typography.caption2,\n },\n /** Styles applied to the page navigation container. */\n pageNavigator: {\n display: \"flex\",\n alignItems: \"center\",\n height: \"32px\",\n gap: 8,\n },\n /** Styles applied to each navigation `HvButton` icon container. */\n iconContainer: {\n padding: 0,\n },\n /** Styles applied to each navigation icon. */\n icon: {},\n /** Styles applied to the central page information container. */\n pageInfo: {\n display: \"inline-block\",\n whiteSpace: \"nowrap\",\n height: \"32px\",\n lineHeight: \"32px\",\n },\n /** Styles applied to the page selector input container. */\n pageJump: {\n display: \"inline-block\",\n marginRight: `4px`,\n [`& .${inputClasses.inputRoot}`]: {\n [`& $pageSizeInput`]: {\n paddingLeft: `4px`,\n paddingRight: `4px`,\n margin: 0,\n textAlign: \"center\",\n borderRadius: theme.radii.base,\n MozAppearance: \"textfield\",\n \"&:focus\": {\n backgroundColor: theme.colors.bgHover,\n },\n \"&:hover\": {\n cursor: \"pointer\",\n },\n },\n },\n },\n /** Styles passed down to the page selector Input component as `input`. */\n pageSizeInput: {},\n /** Styles passed down to the page selector Input root. */\n pageSizeInputRoot: {},\n /** Styles passed down to the page selector Input component as `container`. */\n pageSizeInputContainer: {},\n});\n"],"names":["baseDropdownClasses","inputClasses"],"mappings":";;;;;;AAMO,MAAM,EAAE,eAAe,eAAe,cAAc,gBAAgB;AAAA;AAAA,EAEzE,MAAM;AAAA,IACJ,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,gBAAgB;AAAA,IAChB,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,WAAW,MAAM,MAAM;AAAA,IACvB,CAAC,kBAAkB,GAAG;AAAA,MACpB,GAAG,MAAM,WAAW;AAAA,MACpB,WAAW;AAAA,QACT,SAAS;AAAA,MAAA;AAAA,IAEb;AAAA,IACA,CAAC,2BAA2B,GAAG;AAAA,MAC7B,OAAO;AAAA,MACP,UAAU;AAAA,MACV,UAAU,MAAM,QAAQ,CAAC;AAAA,IAC3B;AAAA,IACA,CAAC,uBAAuB,GAAG;AAAA,MACzB,iBAAiB;AAAA,MACjB,QAAQ;AAAA,MACR,oCAAoC;AAAA,QAClC,iBAAiB,MAAM,OAAO;AAAA,MAAA;AAAA,IAChC;AAAA,EAEJ;AAAA;AAAA,EAEA,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,UAAU;AAAA,IACV,KAAK,MAAM,MAAM;AAAA,IACjB,QAAQ;AAAA,IACR,KAAK;AAAA,IACL,WAAW;AAAA,IACX,MAAM;AAAA,EACR;AAAA,EACA,gBAAgB;AAAA,IACd,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,CAAC,MAAMA,gBAAoB,cAAc,EAAE,GAAG;AAAA,MAC5C,WAAW;AAAA,IAAA;AAAA,EAEf;AAAA,EACA,cAAc;AAAA,IACZ,OAAO;AAAA,EACT;AAAA;AAAA,EAEA,uBAAuB;AAAA,IACrB,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,GAAG,MAAM,WAAW;AAAA,EACtB;AAAA,EACA,yBAAyB;AAAA,IACvB,GAAG,MAAM,WAAW;AAAA,EACtB;AAAA;AAAA,EAEA,uBAAuB;AAAA,IACrB,SAAS;AAAA,IACT,OAAO;AAAA,IAEP,GAAG,MAAM,WAAW;AAAA,EACtB;AAAA;AAAA,EAEA,eAAe;AAAA,IACb,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,KAAK;AAAA,EACP;AAAA;AAAA,EAEA,eAAe;AAAA,IACb,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,MAAM,CAAC;AAAA;AAAA,EAEP,UAAU;AAAA,IACR,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,YAAY;AAAA,EACd;AAAA;AAAA,EAEA,UAAU;AAAA,IACR,SAAS;AAAA,IACT,aAAa;AAAA,IACb,CAAC,MAAMC,gBAAa,SAAS,EAAE,GAAG;AAAA,MAChC,CAAC,kBAAkB,GAAG;AAAA,QACpB,aAAa;AAAA,QACb,cAAc;AAAA,QACd,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,cAAc,MAAM,MAAM;AAAA,QAC1B,eAAe;AAAA,QACf,WAAW;AAAA,UACT,iBAAiB,MAAM,OAAO;AAAA,QAChC;AAAA,QACA,WAAW;AAAA,UACT,QAAQ;AAAA,QAAA;AAAA,MACV;AAAA,IACF;AAAA,EAEJ;AAAA;AAAA,EAEA,eAAe,CAAC;AAAA;AAAA,EAEhB,mBAAmB,CAAC;AAAA;AAAA,EAEpB,wBAAwB,CAAA;AAC1B,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sources":["../../../src/Pagination/Select.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport { useDefaultProps } from \"@hitachivantara/uikit-react-utils\";\n\nimport { HvBaseDropdown, HvBaseDropdownProps } from \"../BaseDropdown\";\nimport { HvListItem, HvListItemProps } from \"../ListContainer\";\nimport { HvPanel } from \"../Panel\";\nimport { HvSelectionList, HvSelectionListProps } from \"../SelectionList\";\nimport { useClasses } from \"./Select.styles\";\n\nexport const Option = ({ ...props }: Partial<HvListItemProps>) => (\n <HvListItem {...props} />\n);\n\nexport interface HvPaginationSelectProps\n extends Omit<HvBaseDropdownProps, \"onChange\"> {\n onChange: (event: React.SyntheticEvent, val: number) => void;\n value: number;\n}\n\nconst HvSelect = (props: HvPaginationSelectProps) => {\n const {\n className,\n classes: classesProp,\n onChange,\n disabled,\n value,\n children,\n ...others\n } = useDefaultProps(\"HvPaginationSelect\", props);\n const { classes } = useClasses(classesProp);\n const [open, setOpen] = useState(false);\n\n const handleSelect: HvSelectionListProps[\"onChange\"] = (evt, val) => {\n onChange?.(evt, val);\n setOpen(false);\n };\n\n const handleToggle: HvBaseDropdownProps[\"onToggle\"] = (_evt, s) => {\n setOpen(s);\n };\n\n const setFocusToContent: HvBaseDropdownProps[\"onContainerCreation\"] = (\n containerRef,\n ) => {\n const listItems =\n containerRef != null ? [...containerRef.getElementsByTagName(\"li\")] : [];\n listItems.every((listItem) => {\n if (listItem.tabIndex >= 0) {\n listItem.focus();\n return false;\n }\n return true;\n });\n };\n\n return (\n <HvBaseDropdown\n className={className}\n classes={{\n selection: classes.selection,\n header: classes.header,\n headerOpen: classes.headerOpen,\n root: classes.root,\n }}\n expanded={open}\n onToggle={handleToggle}\n onContainerCreation={setFocusToContent}\n placeholder={value}\n disabled={disabled}\n variableWidth\n {...others}\n >\n <HvPanel>\n <HvSelectionList value={value} onChange={handleSelect}>\n {children}\n </HvSelectionList>\n </HvPanel>\n </HvBaseDropdown>\n );\n};\n\nexport default HvSelect;\n"],"names":[],"mappings":";;;;;;;;AASa,MAAA,SAAS,CAAC,EAAE,GAAG,YAC1B,oBAAC,YAAY,EAAA,GAAG,MAAO,CAAA;AASnB,MAAA,WAAW,CAAC,UAAmC;AAC7C,QAAA;AAAA,IACJ;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACD,gBAAgB,sBAAsB,KAAK;AAC/C,QAAM,EAAE,QAAA,IAAY,WAAW,WAAW;AAC1C,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,KAAK;AAEhC,QAAA,eAAiD,CAAC,KAAK,QAAQ;AACnE,eAAW,KAAK,GAAG;AACnB,YAAQ,KAAK;AAAA,EACf;AAEM,QAAA,eAAgD,CAAC,MAAM,MAAM;AACjE,YAAQ,CAAC;AAAA,EACX;AAEM,QAAA,oBAAgE,CACpE,iBACG;AACG,UAAA,YACJ,gBAAgB,OAAO,CAAC,GAAG,aAAa,qBAAqB,IAAI,CAAC,IAAI,CAAC;AAC/D,cAAA,MAAM,CAAC,aAAa;AACxB,UAAA,SAAS,YAAY,GAAG;AAC1B,iBAAS,MAAM;AACR,eAAA;AAAA,MAAA;AAEF,aAAA;AAAA,IAAA,CACR;AAAA,EACH;AAGE,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,SAAS;AAAA,QACP,WAAW,QAAQ;AAAA,QACnB,QAAQ,QAAQ;AAAA,QAChB,YAAY,QAAQ;AAAA,QACpB,MAAM,QAAQ;AAAA,MAChB;AAAA,MACA,UAAU;AAAA,MACV,UAAU;AAAA,MACV,qBAAqB;AAAA,MACrB,aAAa;AAAA,MACb;AAAA,MACA,eAAa;AAAA,MACZ,GAAG;AAAA,MAEJ,UAAA,oBAAC,WACC,UAAC,oBAAA,iBAAA,EAAgB,OAAc,UAAU,cACtC,SACH,CAAA,EACF,CAAA;AAAA,IAAA;AAAA,EACF;AAEJ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Select.styles.js","sources":["../../../src/Pagination/Select.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nexport const { useClasses } = createClasses(\"HvPaginationSelect\", {\n root: {},\n header: {\n backgroundColor: \"transparent\",\n borderColor: theme.colors.textSubtle,\n \"&:hover\": {\n borderColor: theme.colors.textSubtle,\n },\n },\n selection: {\n padding: theme.spacing(0, \"md\", 0, \"xs\"),\n },\n headerOpen: {\n backgroundColor: theme.colors.bgContainer,\n },\n});\n"],"names":[],"mappings":";;AAGO,MAAM,EAAE,WAAA,IAAe,cAAc,sBAAsB;AAAA,EAChE,MAAM,CAAC;AAAA,EACP,QAAQ;AAAA,IACN,iBAAiB;AAAA,IACjB,aAAa,MAAM,OAAO;AAAA,IAC1B,WAAW;AAAA,MACT,aAAa,MAAM,OAAO;AAAA,IAAA;AAAA,EAE9B;AAAA,EACA,WAAW;AAAA,IACT,SAAS,MAAM,QAAQ,GAAG,MAAM,GAAG,IAAI;AAAA,EACzC;AAAA,EACA,YAAY;AAAA,IACV,iBAAiB,MAAM,OAAO;AAAA,EAAA;AAElC,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Panel.js","sources":["../../../src/Panel/Panel.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport {\n useDefaultProps,\n type ExtractNames,\n} from \"@hitachivantara/uikit-react-utils\";\n\nimport { HvBaseProps } from \"../types/generic\";\nimport { staticClasses, useClasses } from \"./Panel.styles\";\n\nexport { staticClasses as panelClasses };\n\nexport type HvPanelClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvPanelProps extends HvBaseProps {\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvPanelClasses;\n}\n\n/**\n * A panel is a container used in a variety of patterns (e.g. dropdown, filter group, details section).\n * It can be horizontal or vertical and its size is defined by its content and how it relates to surrounding patterns.\n * Regardless of its content, a panel look and feel should be consistent.\n */\nexport const HvPanel = forwardRef<HTMLDivElement, HvPanelProps>(\n function HvPanel(props, ref) {\n const {\n className,\n classes: classesProp,\n children,\n ...others\n } = useDefaultProps(\"HvPanel\", props);\n const { classes, cx } = useClasses(classesProp);\n\n return (\n <div ref={ref} className={cx(classes.root, className)} {...others}>\n {children}\n </div>\n );\n },\n);\n"],"names":["HvPanel"],"mappings":";;;;;AAuBO,MAAM,UAAU;AAAA,EACrB,SAASA,SAAQ,OAAO,KAAK;AACrB,UAAA;AAAA,MACJ;AAAA,MACA,SAAS;AAAA,MACT;AAAA,MACA,GAAG;AAAA,IAAA,IACD,gBAAgB,WAAW,KAAK;AACpC,UAAM,EAAE,SAAS,OAAO,WAAW,WAAW;AAG5C,WAAA,oBAAC,OAAI,EAAA,KAAU,WAAW,GAAG,QAAQ,MAAM,SAAS,GAAI,GAAG,QACxD,SACH,CAAA;AAAA,EAAA;AAGN;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Panel.styles.js","sources":["../../../src/Panel/Panel.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nexport const { useClasses, staticClasses } = createClasses(\"HvPanel\", {\n root: {\n position: \"relative\",\n padding: theme.space.sm,\n borderColor: theme.colors.border,\n backgroundColor: theme.colors.bgContainer,\n overflow: \"auto\",\n borderRadius: \"inherit\",\n },\n});\n"],"names":[],"mappings":";;AAGO,MAAM,EAAE,YAAY,kBAAkB,cAAc,WAAW;AAAA,EACpE,MAAM;AAAA,IACJ,UAAU;AAAA,IACV,SAAS,MAAM,MAAM;AAAA,IACrB,aAAa,MAAM,OAAO;AAAA,IAC1B,iBAAiB,MAAM,OAAO;AAAA,IAC9B,UAAU;AAAA,IACV,cAAc;AAAA,EAAA;AAElB,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ProgressBar.js","sources":["../../../src/ProgressBar/ProgressBar.tsx"],"sourcesContent":["import {\n clamp,\n useDefaultProps,\n type ExtractNames,\n} from \"@hitachivantara/uikit-react-utils\";\n\nimport { HvBaseProps } from \"../types/generic\";\nimport { HvTypography, HvTypographyProps } from \"../Typography\";\nimport { staticClasses, useClasses } from \"./ProgressBar.styles\";\n\nexport { staticClasses as progressBarClasses };\n\nexport type HvProgressBarClasses = ExtractNames<typeof useClasses>;\n\nexport type HvProgressBarStatus = \"inProgress\" | \"completed\" | \"error\";\n\n/**\n * ProgressBar provides feedback about a process that is taking place in the application.\n */\nexport interface HvProgressBarProps extends HvBaseProps {\n /** The value of the progress bar. */\n value: number;\n /**\n * The status of the progress bar.\n *\n * inProgress is black, error is red and completed is green.\n *\n * When uncontrolled and unspecified it will default to \"inProgress\".\n */\n status?: HvProgressBarStatus;\n /** Aria Properties passed on to the progress bar. */\n labelProps?: HvTypographyProps;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvProgressBarClasses;\n /**\n * True if the text label should not be displayed.\n */\n hideLabel?: boolean;\n}\n\nexport const HvProgressBar = (props: HvProgressBarProps) => {\n const {\n className,\n classes: classesProp,\n value = 0,\n status = \"inProgress\",\n labelProps,\n hideLabel,\n ...others\n } = useDefaultProps(\"HvProgressBar\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const clampedValue = clamp(value, 100);\n\n return (\n <div\n className={cx(classes.root, classes.progress, className)}\n role=\"progressbar\"\n aria-valuemin={0}\n aria-valuemax={100}\n aria-valuenow={clampedValue}\n {...others}\n >\n <div className={classes.progressContainer}>\n {!hideLabel && (\n <HvTypography\n className={classes.progressBarLabel}\n variant=\"caption2\"\n style={{ width: `${clampedValue}%` }}\n {...labelProps}\n >\n {`${clampedValue}%`}\n </HvTypography>\n )}\n <div className={classes.progressBarContainer}>\n <div\n style={{ width: `${clampedValue}%` }}\n className={cx(classes.progressBar, {\n [classes.progressDone]: status === \"completed\",\n [classes.progressError]: status === \"error\",\n })}\n />\n </div>\n </div>\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;AAwCa,MAAA,gBAAgB,CAAC,UAA8B;AACpD,QAAA;AAAA,IACJ;AAAA,IACA,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACD,gBAAgB,iBAAiB,KAAK;AAE1C,QAAM,EAAE,SAAS,OAAO,WAAW,WAAW;AAExC,QAAA,eAAe,MAAM,OAAO,GAAG;AAGnC,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,GAAG,QAAQ,MAAM,QAAQ,UAAU,SAAS;AAAA,MACvD,MAAK;AAAA,MACL,iBAAe;AAAA,MACf,iBAAe;AAAA,MACf,iBAAe;AAAA,MACd,GAAG;AAAA,MAEJ,UAAC,qBAAA,OAAA,EAAI,WAAW,QAAQ,mBACrB,UAAA;AAAA,QAAA,CAAC,aACA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW,QAAQ;AAAA,YACnB,SAAQ;AAAA,YACR,OAAO,EAAE,OAAO,GAAG,YAAY,IAAI;AAAA,YAClC,GAAG;AAAA,YAEH,aAAG,YAAY;AAAA,UAAA;AAAA,QAClB;AAAA,QAED,oBAAA,OAAA,EAAI,WAAW,QAAQ,sBACtB,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAO,EAAE,OAAO,GAAG,YAAY,IAAI;AAAA,YACnC,WAAW,GAAG,QAAQ,aAAa;AAAA,cACjC,CAAC,QAAQ,YAAY,GAAG,WAAW;AAAA,cACnC,CAAC,QAAQ,aAAa,GAAG,WAAW;AAAA,YACrC,CAAA;AAAA,UAAA;AAAA,QAAA,EAEL,CAAA;AAAA,MAAA,EACF,CAAA;AAAA,IAAA;AAAA,EACF;AAEJ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ProgressBar.styles.js","sources":["../../../src/ProgressBar/ProgressBar.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nexport const { useClasses, staticClasses } = createClasses(\"HvProgressBar\", {\n root: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n\n // progress\n width: \"100%\",\n },\n progress: {\n width: \"100%\",\n },\n progressBar: {\n backgroundColor: theme.colors.text,\n },\n progressBarLabel: {\n backgroundColor: \"transparent\",\n display: \"flex\",\n justifyContent: \"end\",\n },\n progressContainer: {\n width: \"100%\",\n },\n progressDone: {\n backgroundColor: theme.colors.positive,\n },\n progressBarContainer: {\n display: \"flex\",\n width: \"100%\",\n height: 4,\n backgroundColor: theme.colors.border,\n },\n progressError: {\n backgroundColor: theme.colors.negative,\n },\n});\n"],"names":[],"mappings":";;AAGO,MAAM,EAAE,YAAY,kBAAkB,cAAc,iBAAiB;AAAA,EAC1E,MAAM;AAAA,IACJ,SAAS;AAAA,IACT,eAAe;AAAA,IACf,YAAY;AAAA,IACZ,gBAAgB;AAAA;AAAA,IAGhB,OAAO;AAAA,EACT;AAAA,EACA,UAAU;AAAA,IACR,OAAO;AAAA,EACT;AAAA,EACA,aAAa;AAAA,IACX,iBAAiB,MAAM,OAAO;AAAA,EAChC;AAAA,EACA,kBAAkB;AAAA,IAChB,iBAAiB;AAAA,IACjB,SAAS;AAAA,IACT,gBAAgB;AAAA,EAClB;AAAA,EACA,mBAAmB;AAAA,IACjB,OAAO;AAAA,EACT;AAAA,EACA,cAAc;AAAA,IACZ,iBAAiB,MAAM,OAAO;AAAA,EAChC;AAAA,EACA,sBAAsB;AAAA,IACpB,SAAS;AAAA,IACT,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,iBAAiB,MAAM,OAAO;AAAA,EAChC;AAAA,EACA,eAAe;AAAA,IACb,iBAAiB,MAAM,OAAO;AAAA,EAAA;AAElC,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConfirmationDialog.js","sources":["../../../../src/QueryBuilder/ConfirmationDialog/ConfirmationDialog.tsx"],"sourcesContent":["import { HvButton, HvButtonProps } from \"../../Button\";\nimport {\n HvDialog,\n HvDialogActions,\n HvDialogContent,\n HvDialogProps,\n HvDialogTitle,\n} from \"../../Dialog\";\nimport { useClasses } from \"./ConfirmationDialog.styles\";\n\nexport interface ConfirmationDialogProps {\n title?: string;\n message?: string;\n isOpen?: boolean;\n onConfirm?: HvButtonProps[\"onClick\"];\n onCancel?: () => void;\n confirmButtonLabel?: string;\n cancelButtonLabel?: string;\n closeButtonTooltip?: string;\n}\n\nexport const ConfirmationDialog = ({\n title,\n message,\n isOpen,\n onConfirm,\n onCancel,\n confirmButtonLabel,\n cancelButtonLabel,\n closeButtonTooltip,\n}: ConfirmationDialogProps) => {\n const { classes } = useClasses();\n\n const handleClose: HvDialogProps[\"onClose\"] = (_, reason) => {\n if (reason !== \"backdropClick\") {\n onCancel?.();\n }\n };\n\n return (\n <HvDialog\n classes={{ paper: classes.paper }}\n open={isOpen}\n onClose={handleClose}\n firstFocusable=\"confirmation-dialog-cancel\"\n buttonTitle={closeButtonTooltip}\n >\n <HvDialogTitle variant=\"warning\">{title}</HvDialogTitle>\n <HvDialogContent indentContent>{message}</HvDialogContent>\n <HvDialogActions>\n <HvButton variant=\"primaryGhost\" onClick={onConfirm}>\n {confirmButtonLabel}\n </HvButton>\n <HvButton\n id=\"confirmation-dialog-cancel\"\n variant=\"primaryGhost\"\n onClick={() => onCancel?.()}\n >\n {cancelButtonLabel}\n </HvButton>\n </HvDialogActions>\n </HvDialog>\n );\n};\n"],"names":[],"mappings":";;;;;;;AAqBO,MAAM,qBAAqB,CAAC;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAA+B;AACvB,QAAA,EAAE,QAAQ,IAAI,WAAW;AAEzB,QAAA,cAAwC,CAAC,GAAG,WAAW;AAC3D,QAAI,WAAW,iBAAiB;AACnB,iBAAA;AAAA,IAAA;AAAA,EAEf;AAGE,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,SAAS,EAAE,OAAO,QAAQ,MAAM;AAAA,MAChC,MAAM;AAAA,MACN,SAAS;AAAA,MACT,gBAAe;AAAA,MACf,aAAa;AAAA,MAEb,UAAA;AAAA,QAAC,oBAAA,eAAA,EAAc,SAAQ,WAAW,UAAM,OAAA;AAAA,QACvC,oBAAA,iBAAA,EAAgB,eAAa,MAAE,UAAQ,SAAA;AAAA,6BACvC,iBACC,EAAA,UAAA;AAAA,UAAA,oBAAC,UAAS,EAAA,SAAQ,gBAAe,SAAS,WACvC,UACH,oBAAA;AAAA,UACA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,IAAG;AAAA,cACH,SAAQ;AAAA,cACR,SAAS,MAAM,WAAW;AAAA,cAEzB,UAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QACH,EACF,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACF;AAEJ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConfirmationDialog.styles.js","sources":["../../../../src/QueryBuilder/ConfirmationDialog/ConfirmationDialog.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\n\nexport const { useClasses, staticClasses } = createClasses(\n \"HvQueryBuilder-ConfirmationDialog\",\n {\n paper: {},\n },\n);\n"],"names":[],"mappings":";AAEa,MAAA,EAAE,YAAY,cAAA,IAAkB;AAAA,EAC3C;AAAA,EACA;AAAA,IACE,OAAO,CAAA;AAAA,EAAC;AAEZ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Context.js","sources":["../../../src/QueryBuilder/Context.tsx"],"sourcesContent":["import { createContext, useContext } from \"react\";\n\nimport {\n AskAction,\n HvQueryBuilderAttribute,\n HvQueryBuilderLabels,\n HvQueryBuilderQueryCombinator,\n HvQueryBuilderQueryOperator,\n HvQueryBuilderRenderers,\n QueryAction,\n} from \"./types\";\n\nexport const defaultOperators = {\n numeric: [\n {\n operator: \"greaterThan\",\n label: \"Greater than (>)\",\n combinators: [\"and\"],\n },\n {\n operator: \"lessThan\",\n label: \"Less than (<)\",\n combinators: [\"and\"],\n },\n {\n operator: \"equalsTo\",\n label: \"Equal to (=)\",\n combinators: [\"and\", \"or\"],\n },\n {\n operator: \"greaterThanEq\",\n label: \"Greater than or equal to (>=)\",\n combinators: [\"and\"],\n },\n {\n operator: \"lessThanEq\",\n label: \"Less than or equal to (<=)\",\n combinators: [\"and\"],\n },\n {\n operator: \"notEqual\",\n label: \"Not equal to (!=)\",\n combinators: [\"and\"],\n },\n {\n operator: \"range\",\n label: \"Range\",\n combinators: [\"and\"],\n },\n ],\n text: [\n {\n operator: \"equals\",\n label: \"Equals\",\n combinators: [\"and\", \"or\"],\n },\n {\n operator: \"equalsIgnoreCase\",\n label: \"Equals Ignore Case\",\n combinators: [\"and\", \"or\"],\n },\n {\n operator: \"Contains\",\n label: \"Contains\",\n combinators: [\"and\", \"or\"],\n },\n {\n operator: \"StartsWith\",\n label: \"A string begins with\",\n combinators: [\"and\", \"or\"],\n },\n {\n operator: \"EndsWith\",\n label: \"A string ends with\",\n combinators: [\"and\", \"or\"],\n },\n {\n operator: \"IsNotEmpty\",\n label: \"Is Not empty\",\n combinators: [\"and\"],\n },\n {\n operator: \"IsNot\",\n label: \"Is Not\",\n combinators: [\"and\"],\n },\n {\n operator: \"Empty\",\n label: \"Empty\",\n combinators: [\"and\"],\n },\n ],\n textarea: [\n {\n operator: \"equals\",\n label: \"Equals\",\n combinators: [\"and\", \"or\"],\n },\n {\n operator: \"equalsIgnoreCase\",\n label: \"Equals Ignore Case\",\n combinators: [\"and\", \"or\"],\n },\n {\n operator: \"Contains\",\n label: \"Contains\",\n combinators: [\"and\", \"or\"],\n },\n {\n operator: \"StartsWith\",\n label: \"A string begins with\",\n combinators: [\"and\", \"or\"],\n },\n {\n operator: \"EndsWith\",\n label: \"A string ends with\",\n combinators: [\"and\", \"or\"],\n },\n {\n operator: \"IsNotEmpty\",\n label: \"Is Not empty\",\n combinators: [\"and\"],\n },\n {\n operator: \"IsNot\",\n label: \"Is Not\",\n combinators: [\"and\"],\n },\n {\n operator: \"Empty\",\n label: \"Empty\",\n combinators: [\"and\"],\n },\n ],\n boolean: [\n {\n operator: \"equalsTo\",\n label: \"=\",\n combinators: [\"and\", \"or\"],\n },\n ],\n dateandtime: [\n {\n operator: \"greaterThan\",\n label: \"Greater than\",\n combinators: [\"and\"],\n },\n {\n operator: \"lessThan\",\n label: \"Less than\",\n combinators: [\"and\"],\n },\n {\n operator: \"equalsTo\",\n label: \"Equal to\",\n combinators: [\"and\", \"or\"],\n },\n {\n operator: \"greaterThanEq\",\n label: \"Greater than or equal to\",\n combinators: [\"and\"],\n },\n {\n operator: \"lessThanEq\",\n label: \"Less than or equal to\",\n combinators: [\"and\"],\n },\n {\n operator: \"notEqual\",\n label: \"Not equal to\",\n combinators: [\"and\"],\n },\n {\n operator: \"range\",\n label: \"Range\",\n combinators: [\"and\"],\n },\n ],\n};\n\nexport const defaultCombinators = [\n { operand: \"and\", label: \"AND\" },\n { operand: \"or\", label: \"OR\" },\n];\n\nexport const defaultLabels: HvQueryBuilderLabels = {\n query: {\n delete: {\n ariaLabel: \"Reset query\",\n tooltip: \"Reset query\",\n dialogTitle: \"Remove all conditions?\",\n dialogMessage:\n \"Are you sure you want to remove all the conditions? They will be removed permanently.\",\n dialogConfirm: \"Yes\",\n dialogCancel: \"No\",\n dialogCloseTooltip: \"Close\",\n },\n addRule: {\n label: \"Add condition\",\n },\n addGroup: {\n label: \"Add group\",\n },\n },\n rule: {\n attribute: {\n label: \"Attribute\",\n placeholder: \"Select attribute...\",\n exists: \"Attribute already exists.\",\n },\n operator: {\n label: \"Operator\",\n placeholder: \"Select operator...\",\n },\n value: {\n distance: {\n label: \"Value\",\n connectorText: \"radius miles from\",\n button: \"Select location\",\n validation: {\n required: \"The value is required.\",\n invalid: \"Value must be a positive number.\",\n },\n },\n text: {\n label: \"Value\",\n placeholder: \"Enter value...\",\n validation: {\n required: \"The value is required.\",\n },\n },\n boolean: {\n label: \"Value\",\n placeholder: \"Enter value\",\n options: {\n true: \"True\",\n false: \"False\",\n },\n },\n numeric: {\n label: \"Value\",\n placeholder: \"Enter value\",\n validation: {\n required: \"The value is required.\",\n invalid: \"Value must be a number.\",\n equal: \"Cannot be equal.\",\n greaterThan: \"Needs to be greater.\",\n },\n range: {\n leftLabel: \"From\",\n rightLabel: \"To\",\n },\n },\n datetime: {\n dateLabel: \"Date\",\n datePlaceholder: \"Select Date\",\n timeLabel: \"Time\",\n timePlaceholder: \"Select Time\",\n startDateLabel: \"Start Date\",\n startDatePlaceholder: \"Select Start Date\",\n startTimeLabel: \"Start Time\",\n startTimePlaceholder: \"Select Start Time\",\n endDateLabel: \"End Date\",\n endDatePlaceholder: \"Select End Date\",\n endTimeLabel: \"End Time\",\n endTimePlaceholder: \"Select End Time\",\n validation: {\n required: \"The value is required.\",\n invalidInterval:\n \"End date and time must be after start date and time.\",\n },\n },\n },\n delete: {\n ariaLabel: \"Remove condition\",\n tooltip: \"Remove condition\",\n dialogTitle: \"Remove condition?\",\n dialogMessage:\n \"Are you sure you want to remove the condition? It will be removed permanently.\",\n dialogConfirm: \"Yes\",\n dialogCancel: \"No\",\n dialogCloseTooltip: \"Close\",\n },\n },\n group: {\n delete: {\n ariaLabel: \"Remove group\",\n tooltip: \"Remove group\",\n dialogTitle: \"Remove group?\",\n dialogMessage:\n \"Are you sure you want to remove the group? It will be removed permanently.\",\n dialogConfirm: \"Yes\",\n dialogCancel: \"No\",\n dialogCloseTooltip: \"Close\",\n },\n reset: {\n ariaLabel: \"Change operator\",\n tooltip: \"Change operator query\",\n dialogTitle: \"Change conditional operator?\",\n dialogMessage:\n \"Do you want to change conditional operator? You won't be able to undo this operation. Conditions and/or groups will be removed.\",\n dialogConfirm: \"Yes\",\n dialogCancel: \"No\",\n dialogCloseTooltip: \"Close\",\n },\n addRule: {\n label: \"Add condition\",\n },\n addGroup: {\n label: \"Add group\",\n },\n },\n empty: {\n title: \"No conditions created yet\",\n createCondition: \"Create a condition\",\n createGroup: \"condition group\",\n spacer: \" or a \",\n },\n};\n\nexport interface HvQueryBuilderContextValue {\n dispatchAction: React.Dispatch<QueryAction>;\n askAction: React.Dispatch<React.SetStateAction<AskAction | undefined>>;\n selectLocation?: React.Dispatch<unknown>; // TODO - remove in v6 (not used)\n attributes?: Record<string, HvQueryBuilderAttribute>;\n operators: Record<string, HvQueryBuilderQueryOperator[]>;\n combinators: HvQueryBuilderQueryCombinator[];\n maxDepth: number;\n labels: HvQueryBuilderLabels;\n initialTouched: boolean;\n readOnly: boolean;\n disableConfirmation: boolean;\n allowRepeatedAttributes?: boolean;\n renderers?: HvQueryBuilderRenderers;\n emptyRenderer?: string[];\n}\n\nexport const HvQueryBuilderContext = createContext<HvQueryBuilderContextValue>({\n dispatchAction: () => ({}),\n askAction: () => ({}),\n selectLocation: () => ({}), // TODO - remove in v6 (not used)\n attributes: {},\n operators: defaultOperators,\n combinators: defaultCombinators,\n maxDepth: 1,\n labels: defaultLabels,\n initialTouched: false,\n disableConfirmation: false,\n allowRepeatedAttributes: false,\n readOnly: false,\n});\n\nexport interface HvQueryBuilderProviderProps {\n value: HvQueryBuilderContextValue;\n children: React.ReactNode;\n}\n\nexport const HvQueryBuilderProvider = ({\n children,\n value,\n}: HvQueryBuilderProviderProps) => {\n return (\n <HvQueryBuilderContext.Provider value={value}>\n {children}\n </HvQueryBuilderContext.Provider>\n );\n};\n\nexport const useQueryBuilderContext = () => {\n return useContext(HvQueryBuilderContext);\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"QueryBuilder.js","sources":["../../../src/QueryBuilder/QueryBuilder.tsx"],"sourcesContent":["import { useEffect, useMemo, useReducer, useRef, useState } from \"react\";\nimport {\n useDefaultProps,\n type ExtractNames,\n} from \"@hitachivantara/uikit-react-utils\";\n\nimport { useControlled } from \"../hooks/useControlled\";\nimport { useLabels } from \"../hooks/useLabels\";\nimport { DeepPartial } from \"../types/generic\";\nimport { isEqual } from \"../utils/helpers\";\nimport { ConfirmationDialog } from \"./ConfirmationDialog\";\nimport {\n defaultCombinators,\n defaultLabels,\n defaultOperators,\n HvQueryBuilderProvider,\n} from \"./Context\";\nimport { staticClasses, useClasses } from \"./QueryBuilder.styles\";\nimport { RuleGroup } from \"./RuleGroup\";\nimport {\n AskAction,\n defaultRendererKey,\n HvQueryBuilderAttribute,\n HvQueryBuilderLabels,\n HvQueryBuilderQuery,\n HvQueryBuilderQueryCombinator,\n HvQueryBuilderQueryOperator,\n HvQueryBuilderRenderers,\n} from \"./types\";\nimport { clearNodeIds, emptyGroup, setNodeIds } from \"./utils\";\nimport reducer from \"./utils/reducer\";\n\nexport { staticClasses as queryBuilderClasses };\n\nexport type HvQueryBuilderClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvQueryBuilderProps {\n /** The query attribute types. */\n attributes?: Record<string, HvQueryBuilderAttribute>;\n /** The query rules operators by attribute type and combinator. */\n operators?: Record<string, HvQueryBuilderQueryOperator[]>;\n /** The query combinators operands. */\n combinators?: HvQueryBuilderQueryCombinator[];\n /** The query when the component is controlled. */\n value?: HvQueryBuilderQuery;\n /** The initial query when the component is uncontrolled. */\n defaultValue?: HvQueryBuilderQuery;\n /**\n * The initial query when the component is uncontrolled.\n *\n * @deprecated Use `defaultValue` instead.\n * */\n query?: HvQueryBuilderQuery; // TODO - remove in v6\n /** Callback fired when the query changes. */\n onChange?: (value: HvQueryBuilderQuery) => void;\n /** Max depth of nested query groups. */\n maxDepth?: number;\n /** Object containing all the labels. */\n labels?: DeepPartial<HvQueryBuilderLabels>;\n /** Whether the query builder is in read-only mode. */\n readOnly?: boolean;\n /**\n * Operators that should use the empty value renderer when selected.\n *\n * When one of the listed operators is selected, the rule value is reset and an empty component is rendered.\n * This property takes priority over `renderers`.\n *\n * @default [\"Empty\", \"IsNotEmpty\"]\n * */\n emptyRenderer?: string[];\n /** Custom renderers for the rules' value. */\n renderers?: HvQueryBuilderRenderers;\n /** Whether to opt-out of the confirmation dialogs shown before removing rules and rule groups. @default false. */\n disableConfirmation?: boolean;\n /**\n * Whether to allow attributes to be repeated in AND conditions.\n * By default an error is shown when the selected attribute already exists in an AND conditions.\n * @default false\n */\n allowRepeatedAttributes?: boolean; // TODO - review in v6: should we even have this validation? if needed, we should review its behavior.\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvQueryBuilderClasses;\n}\n\n// TODO - v6\n// - \"range\", \"Empty\", and \"IsNotEmpty\" operators with internal/built-in logic\n// - review query builder validation\n\n// Notes:\n// Deep clone is needed throughout the component to avoid undesired mutations in props, state, and ref values\n\n/**\n * This component allows you to create conditions and group them using logical operators.\n * It outputs a structured set of rules which can be easily parsed to create SQL/NoSQL/whatever queries.\n *\n * Take a look at the [usage page](https://lumada-design.github.io/uikit/master/?path=/docs/widgets-query-builder-usage--docs) to learn more about this component.\n */\nexport const HvQueryBuilder = (props: HvQueryBuilderProps) => {\n const {\n attributes,\n renderers,\n query: queryProp, // TODO - remove in v6\n value,\n defaultValue,\n onChange,\n disableConfirmation = false,\n allowRepeatedAttributes = false,\n operators = defaultOperators,\n combinators = defaultCombinators,\n maxDepth = 1,\n labels: labelsProp,\n readOnly = false,\n emptyRenderer = [\"Empty\", \"IsNotEmpty\"],\n classes: classesProp,\n } = useDefaultProps(\"HvQueryBuilder\", props);\n\n if (\n import.meta.env.DEV &&\n [\n Object.values(attributes || {}).map(({ type }) => type),\n Object.values(operators || {}).flatMap((ops) =>\n ops.map(({ operator }) => operator),\n ),\n ]\n .flat()\n ?.find((key) => key === defaultRendererKey)\n ) {\n // eslint-disable-next-line no-console\n console.error(\n `${defaultRendererKey} is a restricted key and shouldn't be used as an attribute or operator type. Update the key to avoid unexpected behaviors.`,\n );\n }\n\n const { classes } = useClasses(classesProp);\n\n const currentAttributes = useRef<HvQueryBuilderProps[\"attributes\"] | null>(\n null,\n );\n\n const controlled = useRef(value != null);\n const initialQuery = useRef(\n value ?? defaultValue ?? queryProp ?? emptyGroup(),\n );\n const [query, setQuery] = useControlled(value, initialQuery.current);\n const prevQuery = useRef(query);\n\n const [pendingAction, setPendingAction] = useState<AskAction>();\n const [initialState, setInitialState] = useState(true);\n\n const [state, dispatchAction] = useReducer(\n reducer,\n setNodeIds(structuredClone(initialQuery.current)),\n );\n\n const labels = useLabels(defaultLabels, labelsProp);\n\n const contextValue = useMemo(\n () => ({\n dispatchAction,\n askAction: setPendingAction,\n attributes,\n operators,\n combinators,\n maxDepth,\n labels,\n initialTouched: initialState,\n readOnly,\n renderers,\n disableConfirmation,\n allowRepeatedAttributes,\n emptyRenderer,\n }),\n [\n attributes,\n operators,\n combinators,\n maxDepth,\n labels,\n readOnly,\n initialState,\n renderers,\n disableConfirmation,\n emptyRenderer,\n allowRepeatedAttributes,\n ],\n );\n\n // Keep track of attributes\n useEffect(() => {\n if (currentAttributes.current == null) {\n // First run, nothing to do\n currentAttributes.current = attributes;\n } else if (currentAttributes.current !== attributes) {\n // Attributes changed. The existing query is almost certainly invalid, so reset it\n currentAttributes.current = attributes;\n dispatchAction({ type: \"reset-query\" });\n }\n }, [attributes]);\n\n useEffect(() => {\n // \"value\" prop was updated by user (when controlled)\n if (!isEqual(prevQuery.current, query)) {\n dispatchAction({\n type: \"set-query\",\n query: setNodeIds(structuredClone(query), state),\n });\n prevQuery.current = query;\n } else if (\n !isEqual(\n clearNodeIds(structuredClone(state)),\n clearNodeIds(structuredClone(query)),\n )\n ) {\n setInitialState(false);\n\n // TODO - remove \"true\" from clearNodeIds in v6 (only keep else statement)\n // To avoid breaking changes, clearNodeIds will delete all ids provided by the user when uncontrolled\n // In the future if the user provides ids, it doesn't make sense to remove them with onChange\n if (!controlled.current) {\n onChange?.(\n clearNodeIds(structuredClone(state), true) as HvQueryBuilderQuery,\n );\n } else {\n // When controlled, the ids provided by the user are not removed. Only the auto generated ones.\n onChange?.(clearNodeIds(structuredClone(state)) as HvQueryBuilderQuery);\n }\n\n prevQuery.current = state;\n // This will only run if uncontrolled\n setQuery(state);\n }\n }, [onChange, query, setQuery, state]);\n\n const handleConfirm = () => {\n if (pendingAction) {\n setPendingAction(undefined);\n pendingAction.actions.forEach((action) => dispatchAction(action));\n }\n };\n\n const handleCancel = () => {\n setPendingAction(undefined);\n };\n\n return (\n <HvQueryBuilderProvider value={contextValue}>\n <RuleGroup\n level={0}\n id={state.id}\n combinator={state.combinator}\n rules={state.rules}\n classes={classes}\n />\n <ConfirmationDialog\n isOpen={pendingAction != null}\n onConfirm={handleConfirm}\n onCancel={handleCancel}\n title={pendingAction?.dialog.dialogTitle}\n message={pendingAction?.dialog.dialogMessage}\n confirmButtonLabel={pendingAction?.dialog.dialogConfirm}\n cancelButtonLabel={pendingAction?.dialog.dialogCancel}\n closeButtonTooltip={pendingAction?.dialog.dialogCloseTooltip}\n />\n </HvQueryBuilderProvider>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;AAiGa,MAAA,iBAAiB,CAAC,UAA+B;AACtD,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA,OAAO;AAAA;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA,sBAAsB;AAAA,IACtB,0BAA0B;AAAA,IAC1B,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,gBAAgB,CAAC,SAAS,YAAY;AAAA,IACtC,SAAS;AAAA,EAAA,IACP,gBAAgB,kBAAkB,KAAK;AASzC,UAEI,QAAK,IAAS,WAAA;AAGV,QAAA,oBAAA;AAAA,IAAA;AAAA,EAER;AACF,QAAA,aAAA,OAAA,SAAA,IAAA;AAEA,QAAM,eAAc;AAAA,IAEpB,SAA0B,gBAAA,aAAA,WAAA;AAAA,EACxB;AACF,QAAA,CAAA,OAAA,QAAA,IAAA,cAAA,OAAA,aAAA,OAAA;AAEM,QAAA,YAAA,OAAoB,KAAA;AAC1B,QAAM,CAAe,eAAA,gBAAA,IAAA,SAAA;AACnB,QAAA,CAAA,cAAyB,eAAA,IAAa,SAAW,IAAA;AACnD,QAAA,CAAA,OAAA,cAAA,IAAA;AAAA,IACA;AAAA,IACM,WAAA,gBAAwB,aAAA,OAAA,CAAA;AAAA,EAE9B;AACA,QAAM,SAAC,UAA6B,eAAI,UAAa;AAE/C,QAAA,eAAQ;AAAA,IACZ,OAAA;AAAA,MACW;AAAA,MACb,WAAA;AAAA,MAEM;AAAA,MAEN;AAAA,MACS;AAAA,MACL;AAAA,MACA;AAAA,MACA,gBAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAgB;AAAA,IAEhB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACF;AAAA,MACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EAEA;AACA,YAAA,MAAA;AACA,QAAA,kBAAA,WAAA,MAAA;AACA,wBAAA,UAAA;AAAA,IAAA,WACF,kBAAA,YAAA,YAAA;AACF,wBAAA,UAAA;AAGA,qBAAgB,EAAA,MAAA,eAAA;AAAA,IACd;AAAA,EAEE,GAAA,CAAA,UAAA,CAAA;AACF,YAAA,MAA6B;AAE3B,QAAA,CAAA,QAAA,UAA4B,SAAA,KAAA,GAAA;AACb,qBAAA;AAAA,QACjB,MAAA;AAAA,QACE,OAAA,WAAW,gBAAA,KAAA,GAAA,KAAA;AAAA,MAEf,CAAA;AAEE,gBAAK,UAAkB;AAAA,IACN,WAAA,CAAA;AAAA,MAAA,aACP,gBAAA,KAAA,CAAA;AAAA,MAAA,aACC,gBAA2B,KAAA,CAAA;AAAA,IAAa,GAChD;AACD,sBAAoB,KAAA;sBAEnB,SAAA;AACC;AAAA,UACA,aAA6B,gBAAA,KAAM,GAAA,IAAA;AAAA,QAErC;AAAA,MACA,OAAA;AAKI,gCAAqB,gBAAA,KAAA,CAAA,CAAA;AAAA,MACvB;AAAA,gBACe,UAAA;AACf,eAAA,KAAA;AAAA,IAAA;AAAA,EAGA,GAAA,CAAA,UAAA,OAAwB,UAAA,KAAA,CAAA;AAC1B,QAAA,gBAAA,MAAA;AAEA,QAAA,eAAoB;AAEpB,uBAAc,MAAA;AAChB,oBAAA,QAAA,QAAA,CAAA,WAAA,eAAA,MAAA,CAAA;AAAA,IAAA;AAAA,EAGF;AACE,QAAI,eAAe,MAAA;AACjB,qBAAA,MAA0B;AAAA,EAC1B;AACF,SAAA,qBAAA,wBAAA,EAAA,OAAA,cAAA,UAAA;AAAA,IACF;AAAA,MAEA;AAAA,MACE;AAAA,QACF,OAAA;AAAA,QAGE,IAAA,MAAA;AAAA,QACE,YAAA,MAAA;AAAA,QAAC,OAAA,MAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACQ;AAAA,IAEK;AAAA,MAAM;AAAA,MAElB;AAAA,QAAA,QAAA,iBAAA;AAAA,QACF,WAAA;AAAA,QACA,UAAA;AAAA,QAAC,OAAA,eAAA,OAAA;AAAA,QAAA,SAAA,eAAA,OAAA;AAAA,QACC,oBAAyB,eAAA,OAAA;AAAA,QACzB,mBAAW,eAAA,OAAA;AAAA,QACX,oBAAU,eAAA,OAAA;AAAA,MAAA;AAAA,IACmB;AAAA,EACE,GAC/B;AAA0C;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"QueryBuilder.styles.js","sources":["../../../src/QueryBuilder/QueryBuilder.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nexport const { useClasses, staticClasses } = createClasses(\"HvQueryBuilder\", {\n /** Styles applied to the component root class. */\n root: {\n position: \"relative\",\n padding: theme.space.sm,\n marginTop: 12,\n marginBottom: 32,\n border: `1px solid ${theme.colors.border}`,\n },\n /** Styles applied to the top group container. */\n topGroup: {\n margin: theme.space.sm,\n backgroundColor: \"transparent\",\n maxWidth: \"100%\",\n paddingBottom: theme.space.lg,\n },\n /** Styles applied to the sub group containers. */\n subGroup: {\n margin: \"40px 14px 32px 20px\",\n minHeight: 120,\n paddingBottom: theme.space.md,\n\n \"&::before\": {\n content: '\"\"',\n position: \"absolute\",\n zIndex: 2,\n\n width: 21,\n height: 36,\n\n borderBottom: `1px solid ${theme.colors.border}`,\n borderLeft: `1px solid ${theme.colors.border}`,\n\n top: -38,\n left: -38,\n },\n \":not($topRulesContainer)>&:last-child::after\": {\n content: '\"\"',\n position: \"absolute\",\n zIndex: 1,\n\n width: 32,\n height: \"100%\",\n\n borderLeft: `1px solid ${theme.colors.border}`,\n\n top: 0,\n left: `calc(${theme.space.sm} + 2)`,\n },\n },\n /** Styles applied to the radio button+label topGroup when the radio button is disabled. */\n combinator: { minWidth: 80 },\n /** Styles applied to the multi-button combinator container on the top group. */\n topCombinator: {\n position: \"absolute\",\n top: `calc(-1 * ${theme.space.sm})`,\n left: `calc(-1 * ${theme.space.sm})`,\n },\n /** Styles applied to each combinator button. */\n combinatorButton: {},\n /** Styles applied to the remove button. */\n removeButton: {},\n /** Styles applied to the remove button on the top group. */\n topRemoveButton: { position: \"absolute\", top: -16, right: -16 },\n /** Styles applied to the remove button when disabled on the top group. */\n topRemoveButtonDisabled: { backgroundColor: theme.colors.bgPage },\n /** Styles applied to the rules container. */\n rulesContainer: {},\n /** Styles applied to the sub rules container. */\n subRulesContainer: {\n borderLeft: `1px solid ${theme.colors.border}`,\n marginLeft: theme.space.sm,\n marginBottom: theme.space.md,\n paddingLeft: theme.space.sm,\n paddingTop: 7,\n position: \"relative\",\n left: -33,\n width: \"100%\",\n },\n /** Styles applied to the action button container. */\n actionButtonContainer: {\n marginLeft: \"auto\",\n display: \"flex\",\n gap: theme.space.sm,\n },\n /** Styles applied to the top action button container. */\n topActionButtonContainer: {\n position: \"absolute\",\n bottom: `calc(-1 * ${theme.space.md} * 0.5 - 3px)`,\n right: `calc(${theme.space.sm} * 1.75 + 2px)`,\n },\n /** Styles applied to the top rules container. */\n topRulesContainer: {},\n /** Styles applied to the background of buttons to remove transparency */\n buttonBackground: {\n backgroundColor: theme.colors.bgPage,\n display: \"inline-flex\",\n },\n createConditionButton: {\n cursor: \"pointer\",\n backgroundColor: \"transparent\",\n padding: 0,\n\n \"&:disabled\": { cursor: \"not-allowed\", pointerEvents: \"none\" },\n },\n createGroupButton: {\n cursor: \"pointer\",\n backgroundColor: \"transparent\",\n padding: 0,\n\n \"&:disabled\": { cursor: \"not-allowed\", pointerEvents: \"none\" },\n },\n});\n"],"names":[],"mappings":";;AAGO,MAAM,EAAE,YAAY,kBAAkB,cAAc,kBAAkB;AAAA;AAAA,EAE3E,MAAM;AAAA,IACJ,UAAU;AAAA,IACV,SAAS,MAAM,MAAM;AAAA,IACrB,WAAW;AAAA,IACX,cAAc;AAAA,IACd,QAAQ,aAAa,MAAM,OAAO,MAAM;AAAA,EAC1C;AAAA;AAAA,EAEA,UAAU;AAAA,IACR,QAAQ,MAAM,MAAM;AAAA,IACpB,iBAAiB;AAAA,IACjB,UAAU;AAAA,IACV,eAAe,MAAM,MAAM;AAAA,EAC7B;AAAA;AAAA,EAEA,UAAU;AAAA,IACR,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,eAAe,MAAM,MAAM;AAAA,IAE3B,aAAa;AAAA,MACX,SAAS;AAAA,MACT,UAAU;AAAA,MACV,QAAQ;AAAA,MAER,OAAO;AAAA,MACP,QAAQ;AAAA,MAER,cAAc,aAAa,MAAM,OAAO,MAAM;AAAA,MAC9C,YAAY,aAAa,MAAM,OAAO,MAAM;AAAA,MAE5C,KAAK;AAAA,MACL,MAAM;AAAA,IACR;AAAA,IACA,gDAAgD;AAAA,MAC9C,SAAS;AAAA,MACT,UAAU;AAAA,MACV,QAAQ;AAAA,MAER,OAAO;AAAA,MACP,QAAQ;AAAA,MAER,YAAY,aAAa,MAAM,OAAO,MAAM;AAAA,MAE5C,KAAK;AAAA,MACL,MAAM,QAAQ,MAAM,MAAM,EAAE;AAAA,IAAA;AAAA,EAEhC;AAAA;AAAA,EAEA,YAAY,EAAE,UAAU,GAAG;AAAA;AAAA,EAE3B,eAAe;AAAA,IACb,UAAU;AAAA,IACV,KAAK,aAAa,MAAM,MAAM,EAAE;AAAA,IAChC,MAAM,aAAa,MAAM,MAAM,EAAE;AAAA,EACnC;AAAA;AAAA,EAEA,kBAAkB,CAAC;AAAA;AAAA,EAEnB,cAAc,CAAC;AAAA;AAAA,EAEf,iBAAiB,EAAE,UAAU,YAAY,KAAK,KAAK,OAAO,IAAI;AAAA;AAAA,EAE9D,yBAAyB,EAAE,iBAAiB,MAAM,OAAO,OAAO;AAAA;AAAA,EAEhE,gBAAgB,CAAC;AAAA;AAAA,EAEjB,mBAAmB;AAAA,IACjB,YAAY,aAAa,MAAM,OAAO,MAAM;AAAA,IAC5C,YAAY,MAAM,MAAM;AAAA,IACxB,cAAc,MAAM,MAAM;AAAA,IAC1B,aAAa,MAAM,MAAM;AAAA,IACzB,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA;AAAA,EAEA,uBAAuB;AAAA,IACrB,YAAY;AAAA,IACZ,SAAS;AAAA,IACT,KAAK,MAAM,MAAM;AAAA,EACnB;AAAA;AAAA,EAEA,0BAA0B;AAAA,IACxB,UAAU;AAAA,IACV,QAAQ,aAAa,MAAM,MAAM,EAAE;AAAA,IACnC,OAAO,QAAQ,MAAM,MAAM,EAAE;AAAA,EAC/B;AAAA;AAAA,EAEA,mBAAmB,CAAC;AAAA;AAAA,EAEpB,kBAAkB;AAAA,IAChB,iBAAiB,MAAM,OAAO;AAAA,IAC9B,SAAS;AAAA,EACX;AAAA,EACA,uBAAuB;AAAA,IACrB,QAAQ;AAAA,IACR,iBAAiB;AAAA,IACjB,SAAS;AAAA,IAET,cAAc,EAAE,QAAQ,eAAe,eAAe,OAAO;AAAA,EAC/D;AAAA,EACA,mBAAmB;AAAA,IACjB,QAAQ;AAAA,IACR,iBAAiB;AAAA,IACjB,SAAS;AAAA,IAET,cAAc,EAAE,QAAQ,eAAe,eAAe,OAAO;AAAA,EAAA;AAEjE,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Attribute.js","sources":["../../../../../src/QueryBuilder/Rule/Attribute/Attribute.tsx"],"sourcesContent":["import { memo, useMemo } from \"react\";\n\nimport { HvDropdown } from \"../../../Dropdown\";\nimport { useQueryBuilderContext } from \"../../Context\";\nimport { isBigList } from \"../../utils\";\n\nexport interface AttributeProps {\n id: React.Key;\n attribute?: string;\n disabled?: boolean;\n isInvalid?: boolean;\n}\n\nexport const Attribute = ({\n id,\n attribute,\n disabled,\n isInvalid,\n}: AttributeProps) => {\n const { dispatchAction, attributes, operators, labels, readOnly } =\n useQueryBuilderContext();\n\n const values = useMemo(() => {\n if (!attributes) return [];\n\n return Object.keys(attributes).map((key) => ({\n id: key,\n label: attributes[key].label,\n selected: key === attribute,\n }));\n }, [attributes, attribute]);\n\n const currentType =\n attribute != null && attributes ? attributes[attribute]?.type : null;\n\n return (\n <HvDropdown\n singleSelectionToggle={false}\n label={labels.rule.attribute.label}\n placeholder={labels.rule.attribute.placeholder}\n values={values}\n disabled={disabled}\n readOnly={readOnly}\n status={isInvalid ? \"invalid\" : \"valid\"}\n statusMessage={labels.rule.attribute.exists}\n onChange={(selected) => {\n if (selected) {\n const attributeId = selected.id;\n\n const type =\n attributes && attributeId && attributes[attributeId]?.type;\n const typeOperators = type ? operators[type] : undefined;\n\n let operator;\n if (currentType === type) {\n operator = undefined;\n } else if (typeOperators?.length === 1) {\n operator = typeOperators[0].operator;\n } else {\n operator = null;\n }\n\n // default boolean attributes to true\n const value = type === \"boolean\" ? true : undefined;\n\n dispatchAction({\n type: \"set-attribute\",\n id,\n attribute: attributeId?.toString(),\n operator,\n value,\n });\n } else {\n dispatchAction({ type: \"set-attribute\", id, attribute: null });\n }\n }}\n showSearch={isBigList(values)}\n {...(isBigList(values) && { virtualized: true, height: 300 })}\n />\n );\n};\n\nexport default memo(Attribute);\n"],"names":[],"mappings":";;;;;AAaO,MAAM,YAAY,CAAC;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAsB;AACpB,QAAM,EAAE,gBAAgB,YAAY,WAAW,QAAQ,aACrD,uBAAuB;AAEnB,QAAA,SAAS,QAAQ,MAAM;AACvB,QAAA,CAAC,WAAY,QAAO,CAAC;AAEzB,WAAO,OAAO,KAAK,UAAU,EAAE,IAAI,CAAC,SAAS;AAAA,MAC3C,IAAI;AAAA,MACJ,OAAO,WAAW,GAAG,EAAE;AAAA,MACvB,UAAU,QAAQ;AAAA,IAAA,EAClB;AAAA,EAAA,GACD,CAAC,YAAY,SAAS,CAAC;AAE1B,QAAM,cACJ,aAAa,QAAQ,aAAa,WAAW,SAAS,GAAG,OAAO;AAGhE,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,uBAAuB;AAAA,MACvB,OAAO,OAAO,KAAK,UAAU;AAAA,MAC7B,aAAa,OAAO,KAAK,UAAU;AAAA,MACnC;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ,YAAY,YAAY;AAAA,MAChC,eAAe,OAAO,KAAK,UAAU;AAAA,MACrC,UAAU,CAAC,aAAa;AACtB,YAAI,UAAU;AACZ,gBAAM,cAAc,SAAS;AAE7B,gBAAM,OACJ,cAAc,eAAe,WAAW,WAAW,GAAG;AACxD,gBAAM,gBAAgB,OAAO,UAAU,IAAI,IAAI;AAE3C,cAAA;AACJ,cAAI,gBAAgB,MAAM;AACb,uBAAA;AAAA,UAAA,WACF,eAAe,WAAW,GAAG;AAC3B,uBAAA,cAAc,CAAC,EAAE;AAAA,UAAA,OACvB;AACM,uBAAA;AAAA,UAAA;AAIP,gBAAA,QAAQ,SAAS,YAAY,OAAO;AAE3B,yBAAA;AAAA,YACb,MAAM;AAAA,YACN;AAAA,YACA,WAAW,aAAa,SAAS;AAAA,YACjC;AAAA,YACA;AAAA,UAAA,CACD;AAAA,QAAA,OACI;AACL,yBAAe,EAAE,MAAM,iBAAiB,IAAI,WAAW,MAAM;AAAA,QAAA;AAAA,MAEjE;AAAA,MACA,YAAY,UAAU,MAAM;AAAA,MAC3B,GAAI,UAAU,MAAM,KAAK,EAAE,aAAa,MAAM,QAAQ,IAAI;AAAA,IAAA;AAAA,EAC7D;AAEJ;AAEe,KAAK,SAAS;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Operator.js","sources":["../../../../../src/QueryBuilder/Rule/Operator/Operator.tsx"],"sourcesContent":["import { memo, useMemo } from \"react\";\n\nimport { HvDropdown } from \"../../../Dropdown\";\nimport { useQueryBuilderContext } from \"../../Context\";\nimport { isBigList } from \"../../utils\";\n\nexport interface OperatorProps {\n id: React.Key;\n combinator: string;\n attribute: string;\n operator?: string;\n}\n\nexport const Operator = ({\n id,\n combinator,\n attribute,\n operator,\n}: OperatorProps) => {\n const { dispatchAction, attributes, operators, labels, readOnly } =\n useQueryBuilderContext();\n\n const value = operator ?? null;\n\n const values = useMemo(() => {\n const attributeSpec =\n attribute && attributes ? attributes[attribute] : null;\n const options = attributeSpec\n ? (operators[attributeSpec.type].filter((o) =>\n o.combinators.includes(combinator),\n ) ?? [])\n : [];\n return options.map((key) => ({\n id: key.operator,\n label: key.label,\n selected: key.operator === value,\n }));\n }, [attribute, attributes, operators, combinator, value]);\n\n return (\n <HvDropdown\n required\n status=\"valid\"\n singleSelectionToggle={false}\n label={labels.rule.operator.label}\n placeholder={labels.rule.operator.placeholder}\n values={values}\n disabled={values.length === 0}\n readOnly={readOnly}\n onChange={(selected) => {\n if (selected?.id) {\n dispatchAction({\n type: \"set-operator\",\n id,\n operator: selected.id.toString(),\n value:\n value === \"range\" || selected.id === \"range\" ? null : undefined,\n });\n } else {\n dispatchAction({\n type: \"set-operator\",\n id,\n operator: null,\n value: null,\n });\n }\n }}\n showSearch={isBigList(values)}\n {...(isBigList(values) && { virtualized: true, height: 300 })}\n />\n );\n};\n\nexport default memo(Operator);\n"],"names":[],"mappings":";;;;;AAaO,MAAM,WAAW,CAAC;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAqB;AACnB,QAAM,EAAE,gBAAgB,YAAY,WAAW,QAAQ,aACrD,uBAAuB;AAEzB,QAAM,QAAQ,YAAY;AAEpB,QAAA,SAAS,QAAQ,MAAM;AAC3B,UAAM,gBACJ,aAAa,aAAa,WAAW,SAAS,IAAI;AACpD,UAAM,UAAU,gBACX,UAAU,cAAc,IAAI,EAAE;AAAA,MAAO,CAAC,MACrC,EAAE,YAAY,SAAS,UAAU;AAAA,IACnC,KAAK,CAAC,IACN,CAAC;AACE,WAAA,QAAQ,IAAI,CAAC,SAAS;AAAA,MAC3B,IAAI,IAAI;AAAA,MACR,OAAO,IAAI;AAAA,MACX,UAAU,IAAI,aAAa;AAAA,IAAA,EAC3B;AAAA,EAAA,GACD,CAAC,WAAW,YAAY,WAAW,YAAY,KAAK,CAAC;AAGtD,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,UAAQ;AAAA,MACR,QAAO;AAAA,MACP,uBAAuB;AAAA,MACvB,OAAO,OAAO,KAAK,SAAS;AAAA,MAC5B,aAAa,OAAO,KAAK,SAAS;AAAA,MAClC;AAAA,MACA,UAAU,OAAO,WAAW;AAAA,MAC5B;AAAA,MACA,UAAU,CAAC,aAAa;AACtB,YAAI,UAAU,IAAI;AACD,yBAAA;AAAA,YACb,MAAM;AAAA,YACN;AAAA,YACA,UAAU,SAAS,GAAG,SAAS;AAAA,YAC/B,OACE,UAAU,WAAW,SAAS,OAAO,UAAU,OAAO;AAAA,UAAA,CACzD;AAAA,QAAA,OACI;AACU,yBAAA;AAAA,YACb,MAAM;AAAA,YACN;AAAA,YACA,UAAU;AAAA,YACV,OAAO;AAAA,UAAA,CACR;AAAA,QAAA;AAAA,MAEL;AAAA,MACA,YAAY,UAAU,MAAM;AAAA,MAC3B,GAAI,UAAU,MAAM,KAAK,EAAE,aAAa,MAAM,QAAQ,IAAI;AAAA,IAAA;AAAA,EAC7D;AAEJ;AAEe,KAAK,QAAQ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Rule.js","sources":["../../../../src/QueryBuilder/Rule/Rule.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport { useTheme } from \"@mui/material/styles\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\nimport {\n useDefaultProps,\n type ExtractNames,\n} from \"@hitachivantara/uikit-react-utils\";\n\nimport { HvGrid } from \"../../Grid\";\nimport { HvIconButton } from \"../../IconButton\";\nimport { HvIcon } from \"../../icons\";\nimport { useQueryBuilderContext } from \"../Context\";\nimport { Attribute } from \"./Attribute\";\nimport { Operator } from \"./Operator\";\nimport { staticClasses, useClasses } from \"./Rule.styles\";\nimport { Value } from \"./Value\";\n\nexport { staticClasses as queryBuilderRuleClasses };\n\nexport type HvQueryBuilderRuleClasses = ExtractNames<typeof useClasses>;\n\nexport interface RuleProps {\n id: React.Key;\n combinator: string;\n attribute?: string;\n operator?: string;\n value?: any;\n disabled?: boolean;\n isInvalid: boolean;\n classes?: HvQueryBuilderRuleClasses;\n}\n\nexport const Rule = (props: RuleProps) => {\n const {\n id,\n combinator,\n attribute,\n operator,\n value,\n disabled,\n isInvalid,\n classes: classesProp,\n } = useDefaultProps(\"HvQueryBuilderRule\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const {\n askAction,\n dispatchAction,\n attributes,\n operators,\n labels,\n readOnly,\n disableConfirmation,\n } = useQueryBuilderContext();\n\n const theme = useTheme();\n\n const isMdDown = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const availableOperators = useMemo(() => {\n const attributeSpec =\n attribute != null && attributes ? attributes[attribute] : null;\n if (attributeSpec != null) {\n const typeOperators = operators[attributeSpec.type];\n if (typeOperators != null) {\n return typeOperators.reduce(\n (count, item) =>\n count + (item.combinators.includes(combinator) ? 1 : 0),\n 0,\n );\n }\n }\n\n return -1;\n }, [attribute, attributes, combinator, operators]);\n\n return (\n <HvGrid\n container\n className={cx(classes.root, { [classes.isMdDown]: isMdDown })}\n spacing={0}\n >\n <HvGrid item xs={12} md={3}>\n <Attribute\n attribute={attribute}\n id={id}\n disabled={disabled}\n isInvalid={isInvalid}\n />\n </HvGrid>\n {attribute != null && availableOperators > 0 && (\n <HvGrid item xs={12} md={3}>\n <Operator\n id={id}\n combinator={combinator}\n attribute={attribute}\n operator={operator}\n />\n </HvGrid>\n )}\n {attribute != null && (operator != null || availableOperators === 0) && (\n <HvGrid item xs={12} md>\n <Value\n attribute={attribute}\n id={id}\n operator={operator}\n value={value}\n />\n </HvGrid>\n )}\n <HvGrid item className={classes.actionsContainer}>\n <HvIconButton\n placement=\"bottom\"\n title={labels.rule.delete.tooltip || labels.rule.delete.ariaLabel}\n onClick={() =>\n disableConfirmation\n ? dispatchAction({ type: \"remove-node\", id })\n : askAction({\n actions: [{ type: \"remove-node\", id }],\n dialog: labels.rule.delete,\n })\n }\n disabled={readOnly}\n >\n <HvIcon name=\"Delete\" />\n </HvIconButton>\n </HvGrid>\n </HvGrid>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAgCa,MAAA,OAAO,CAAC,UAAqB;AAClC,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS;AAAA,EAAA,IACP,gBAAgB,sBAAsB,KAAK;AAE/C,QAAM,EAAE,SAAS,OAAO,WAAW,WAAW;AAExC,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,uBAAuB;AAE3B,QAAM,QAAQ,SAAS;AAEvB,QAAM,WAAW,cAAc,MAAM,YAAY,KAAK,IAAI,CAAC;AAErD,QAAA,qBAAqB,QAAQ,MAAM;AACvC,UAAM,gBACJ,aAAa,QAAQ,aAAa,WAAW,SAAS,IAAI;AAC5D,QAAI,iBAAiB,MAAM;AACnB,YAAA,gBAAgB,UAAU,cAAc,IAAI;AAClD,UAAI,iBAAiB,MAAM;AACzB,eAAO,cAAc;AAAA,UACnB,CAAC,OAAO,SACN,SAAS,KAAK,YAAY,SAAS,UAAU,IAAI,IAAI;AAAA,UACvD;AAAA,QACF;AAAA,MAAA;AAAA,IACF;AAGK,WAAA;AAAA,KACN,CAAC,WAAW,YAAY,YAAY,SAAS,CAAC;AAG/C,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAS;AAAA,MACT,WAAW,GAAG,QAAQ,MAAM,EAAE,CAAC,QAAQ,QAAQ,GAAG,UAAU;AAAA,MAC5D,SAAS;AAAA,MAET,UAAA;AAAA,QAAA,oBAAC,UAAO,MAAI,MAAC,IAAI,IAAI,IAAI,GACvB,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAAA,QAAA,GAEJ;AAAA,QACC,aAAa,QAAQ,qBAAqB,KACzC,oBAAC,QAAO,EAAA,MAAI,MAAC,IAAI,IAAI,IAAI,GACvB,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAAA,QAAA,GAEJ;AAAA,QAED,aAAa,SAAS,YAAY,QAAQ,uBAAuB,MAC/D,oBAAA,QAAA,EAAO,MAAI,MAAC,IAAI,IAAI,IAAE,MACrB,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAAA,QAAA,GAEJ;AAAA,4BAED,QAAO,EAAA,MAAI,MAAC,WAAW,QAAQ,kBAC9B,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,OAAO,OAAO,KAAK,OAAO,WAAW,OAAO,KAAK,OAAO;AAAA,YACxD,SAAS,MACP,sBACI,eAAe,EAAE,MAAM,eAAe,IAAI,IAC1C,UAAU;AAAA,cACR,SAAS,CAAC,EAAE,MAAM,eAAe,IAAI;AAAA,cACrC,QAAQ,OAAO,KAAK;AAAA,YAAA,CACrB;AAAA,YAEP,UAAU;AAAA,YAEV,UAAA,oBAAC,QAAO,EAAA,MAAK,SAAS,CAAA;AAAA,UAAA;AAAA,QAAA,EAE1B,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACF;AAEJ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Rule.styles.js","sources":["../../../../src/QueryBuilder/Rule/Rule.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { staticClasses as queryBuilderClasses } from \"../QueryBuilder.styles\";\n\nexport const { useClasses, staticClasses } = createClasses(\n \"HvQueryBuilder-Rule\",\n {\n root: {\n position: \"relative\",\n marginTop: theme.space.xs,\n minHeight: 94,\n\n \"&>div:not(:last-child)\": {\n paddingRight: theme.space.md,\n },\n\n // hide required * as all fields are required\n \"& label>span[aria-hidden]\": {\n visibility: \"hidden\",\n },\n\n \"&::before\": {\n content: '\"\"',\n position: \"absolute\",\n zIndex: 2,\n\n width: \"17px\",\n height: \"39px\",\n\n borderBottom: `1px solid ${theme.colors.border}`,\n borderLeft: `1px solid ${theme.colors.border}`,\n\n top: 0,\n left: `calc(-1 * 17px)`,\n },\n\n [`:not(.${queryBuilderClasses.topRulesContainer})>&:last-child::after`]: {\n content: '\"\"',\n position: \"absolute\",\n zIndex: 1,\n\n width: \"17px\",\n height: \"100%\",\n\n borderLeft: `1px solid ${theme.colors.border}`,\n\n top: 0,\n left: `calc(-1 * 17px)`,\n },\n },\n actionsContainer: {\n marginLeft: \"auto\",\n marginTop: \"24px\",\n\n \"&>:not(:last-child)\": {\n marginRight: theme.space.xs,\n },\n },\n isMdDown: {\n \"&>div:not(:last-child)\": {\n paddingRight: 0,\n },\n \"&>div:not(:first-of-type)\": {\n marginTop: theme.space.xs,\n },\n },\n },\n);\n"],"names":["queryBuilderClasses"],"mappings":";;;AAKa,MAAA,EAAE,YAAY,cAAA,IAAkB;AAAA,EAC3C;AAAA,EACA;AAAA,IACE,MAAM;AAAA,MACJ,UAAU;AAAA,MACV,WAAW,MAAM,MAAM;AAAA,MACvB,WAAW;AAAA,MAEX,0BAA0B;AAAA,QACxB,cAAc,MAAM,MAAM;AAAA,MAC5B;AAAA;AAAA,MAGA,6BAA6B;AAAA,QAC3B,YAAY;AAAA,MACd;AAAA,MAEA,aAAa;AAAA,QACX,SAAS;AAAA,QACT,UAAU;AAAA,QACV,QAAQ;AAAA,QAER,OAAO;AAAA,QACP,QAAQ;AAAA,QAER,cAAc,aAAa,MAAM,OAAO,MAAM;AAAA,QAC9C,YAAY,aAAa,MAAM,OAAO,MAAM;AAAA,QAE5C,KAAK;AAAA,QACL,MAAM;AAAA,MACR;AAAA,MAEA,CAAC,SAASA,gBAAoB,iBAAiB,uBAAuB,GAAG;AAAA,QACvE,SAAS;AAAA,QACT,UAAU;AAAA,QACV,QAAQ;AAAA,QAER,OAAO;AAAA,QACP,QAAQ;AAAA,QAER,YAAY,aAAa,MAAM,OAAO,MAAM;AAAA,QAE5C,KAAK;AAAA,QACL,MAAM;AAAA,MAAA;AAAA,IAEV;AAAA,IACA,kBAAkB;AAAA,MAChB,YAAY;AAAA,MACZ,WAAW;AAAA,MAEX,uBAAuB;AAAA,QACrB,aAAa,MAAM,MAAM;AAAA,MAAA;AAAA,IAE7B;AAAA,IACA,UAAU;AAAA,MACR,0BAA0B;AAAA,QACxB,cAAc;AAAA,MAChB;AAAA,MACA,6BAA6B;AAAA,QAC3B,WAAW,MAAM,MAAM;AAAA,MAAA;AAAA,IACzB;AAAA,EACF;AAEJ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BooleanValue.js","sources":["../../../../../../src/QueryBuilder/Rule/Value/BooleanValue/BooleanValue.tsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { HvDropdown } from \"../../../../Dropdown\";\nimport { useQueryBuilderContext } from \"../../../Context\";\nimport { isBigList } from \"../../../utils\";\n\nexport interface BooleanValueProps {\n id: React.Key;\n value?: boolean;\n}\n\nexport const BooleanValue = ({ id, value = true }: BooleanValueProps) => {\n const { labels, dispatchAction, readOnly } = useQueryBuilderContext();\n\n const values = [\"true\", \"false\"].map((v) => ({\n id: v,\n label: labels.rule.value.boolean.options[v],\n selected: value === (v === \"true\"),\n }));\n\n return (\n <HvDropdown\n required\n status=\"valid\"\n singleSelectionToggle={false}\n label={labels.rule.value.boolean.label}\n placeholder={labels.rule.value.boolean.placeholder}\n values={values}\n readOnly={readOnly}\n onChange={(selected) => {\n if (selected?.id) {\n dispatchAction({\n type: \"set-value\",\n id,\n value: selected.id === \"true\",\n });\n } else {\n dispatchAction({ type: \"set-value\", id, value: null });\n }\n }}\n showSearch={isBigList(values)}\n {...(isBigList(values) && { virtualized: true, height: 300 })}\n />\n );\n};\n\nexport default memo(BooleanValue);\n"],"names":[],"mappings":";;;;;AAWO,MAAM,eAAe,CAAC,EAAE,IAAI,QAAQ,WAA8B;AACvE,QAAM,EAAE,QAAQ,gBAAgB,SAAA,IAAa,uBAAuB;AAEpE,QAAM,SAAS,CAAC,QAAQ,OAAO,EAAE,IAAI,CAAC,OAAO;AAAA,IAC3C,IAAI;AAAA,IACJ,OAAO,OAAO,KAAK,MAAM,QAAQ,QAAQ,CAAC;AAAA,IAC1C,UAAU,WAAW,MAAM;AAAA,EAAA,EAC3B;AAGA,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,UAAQ;AAAA,MACR,QAAO;AAAA,MACP,uBAAuB;AAAA,MACvB,OAAO,OAAO,KAAK,MAAM,QAAQ;AAAA,MACjC,aAAa,OAAO,KAAK,MAAM,QAAQ;AAAA,MACvC;AAAA,MACA;AAAA,MACA,UAAU,CAAC,aAAa;AACtB,YAAI,UAAU,IAAI;AACD,yBAAA;AAAA,YACb,MAAM;AAAA,YACN;AAAA,YACA,OAAO,SAAS,OAAO;AAAA,UAAA,CACxB;AAAA,QAAA,OACI;AACL,yBAAe,EAAE,MAAM,aAAa,IAAI,OAAO,MAAM;AAAA,QAAA;AAAA,MAEzD;AAAA,MACA,YAAY,UAAU,MAAM;AAAA,MAC3B,GAAI,UAAU,MAAM,KAAK,EAAE,aAAa,MAAM,QAAQ,IAAI;AAAA,IAAA;AAAA,EAC7D;AAEJ;AAEe,KAAK,YAAY;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DateTimeValue.js","sources":["../../../../../../src/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.tsx"],"sourcesContent":["import { memo, useCallback, useMemo, useState } from \"react\";\nimport { useTheme } from \"@mui/material/styles\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\nimport dayjs from \"dayjs\";\n\nimport { HvDatePicker } from \"../../../../DatePicker\";\nimport { HvWarningText } from \"../../../../FormElement\";\nimport { HvTimePicker, HvTimePickerValue } from \"../../../../TimePicker\";\nimport { uniqueId } from \"../../../../utils/helpers\";\nimport { useQueryBuilderContext } from \"../../../Context\";\nimport { useClasses } from \"./DateTimeValue.styles\";\nimport { padTime, parseDate, parseTime } from \"./utils\";\n\nfunction valueIsRange(operator?: string) {\n return operator === \"range\";\n}\n\nexport interface DateTimeValueProps {\n id: React.Key;\n operator?: string;\n value?: any;\n initialTouched?: boolean;\n}\n\nexport const DateTimeValue = ({\n id,\n operator,\n value: valueProp = {},\n initialTouched = false,\n}: DateTimeValueProps) => {\n const { classes, cx } = useClasses();\n\n const theme = useTheme();\n const isMdDown = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const isRange = valueIsRange(operator);\n\n const { labels, dispatchAction, readOnly } = useQueryBuilderContext();\n\n const elementId = uniqueId(`datetime${id}`);\n\n const [touchedDate, setTouchedDate] = useState(initialTouched);\n const [touchedTime, setTouchedTime] = useState(initialTouched);\n const [touchedEndDate, setTouchedEndDate] = useState(initialTouched);\n const [touchedEndTime, setTouchedEndTime] = useState(initialTouched);\n\n const onDateChange = useCallback(\n (data?: Date) => {\n setTouchedDate(true);\n\n let date;\n if (data != null) {\n date = dayjs(data).format(\"YYYY-MM-DD\");\n }\n\n const oldValue = !isRange ? valueProp?.date : valueProp?.start?.date;\n\n if (date !== oldValue) {\n let value;\n if (!isRange) {\n value = {\n date,\n time: valueProp?.time,\n };\n } else {\n value = {\n start: {\n date,\n time: valueProp?.start?.time,\n },\n end: valueProp?.end,\n };\n }\n\n dispatchAction({\n type: \"set-value\",\n id,\n value,\n });\n }\n },\n [dispatchAction, id, isRange, valueProp],\n );\n\n const onTimeChange = useCallback(\n (data: HvTimePickerValue) => {\n setTouchedTime(true);\n\n let time;\n if (data != null) {\n time = `${padTime(data.hours)}:${padTime(data.minutes)}:${padTime(\n data.seconds,\n )}`;\n }\n\n const oldValue = !isRange ? valueProp?.time : valueProp?.start?.time;\n\n if (time !== oldValue) {\n let value;\n if (!isRange) {\n value = {\n date: valueProp?.date,\n time,\n };\n } else {\n value = {\n start: {\n date: valueProp?.start?.date,\n time,\n },\n end: valueProp?.end,\n };\n }\n\n dispatchAction({\n type: \"set-value\",\n id,\n value,\n });\n }\n },\n [dispatchAction, id, isRange, valueProp],\n );\n\n const onEndDateChange = useCallback(\n (data?: Date) => {\n setTouchedEndDate(true);\n\n let date;\n if (data != null) {\n date = dayjs(data).format(\"YYYY-MM-DD\");\n }\n\n if (date !== valueProp?.end?.date) {\n const value = {\n start: valueProp?.start,\n end: {\n date,\n time: valueProp?.end?.time,\n },\n };\n\n dispatchAction({\n type: \"set-value\",\n id,\n value,\n });\n }\n },\n [dispatchAction, id, valueProp],\n );\n\n const onEndTimeChange = useCallback(\n (data: HvTimePickerValue) => {\n setTouchedEndTime(true);\n\n let time;\n if (data != null) {\n time = `${padTime(data.hours)}:${padTime(data.minutes)}:${padTime(\n data.seconds,\n )}`;\n }\n\n if (time !== valueProp?.end?.time) {\n const value = {\n start: valueProp?.start,\n end: {\n date: valueProp?.end?.date,\n time,\n },\n };\n\n dispatchAction({\n type: \"set-value\",\n id,\n value,\n });\n }\n },\n [dispatchAction, id, valueProp],\n );\n\n const startDate = isRange ? valueProp?.start?.date : valueProp?.date;\n const datePickerValue = useMemo(() => parseDate(startDate), [startDate]);\n const datePickerStatus = datePickerValue != null ? \"valid\" : \"invalid\";\n\n const startTime = (isRange ? valueProp?.start?.time : valueProp?.time) ?? \"\";\n const timePickerValue = useMemo(() => parseTime(startTime), [startTime]);\n const timePickerStatus = timePickerValue != null ? \"valid\" : \"invalid\";\n\n const endDate = isRange ? valueProp?.end?.date : null;\n const endDatePickerValue = useMemo(() => parseDate(endDate), [endDate]);\n\n const endTime = isRange ? valueProp?.end?.time : null;\n const endTimePickerValue = useMemo(() => parseTime(endTime), [endTime]);\n\n const dateStatus = !touchedDate ? \"standBy\" : datePickerStatus;\n const timeStatus = !touchedTime ? \"standBy\" : timePickerStatus;\n\n const endDateIsBefore =\n startDate != null && endDate != null && endDate < startDate;\n\n const endTimeIsBeforeOrSame =\n startDate != null &&\n endDate != null &&\n endDate === startDate &&\n startTime != null &&\n endTime != null &&\n endTime <= startTime;\n\n const endDateTimeIsBefore = endDateIsBefore || endTimeIsBeforeOrSame;\n\n const endDatePickerStatus =\n endDatePickerValue == null || endDateTimeIsBefore ? \"invalid\" : \"valid\";\n const endDateStatus = !touchedEndDate ? \"standBy\" : endDatePickerStatus;\n\n const endTimePickerStatus =\n endTimePickerValue == null || endDateTimeIsBefore ? \"invalid\" : \"valid\";\n const endTimeStatus = !touchedEndTime ? \"standBy\" : endTimePickerStatus;\n\n return (\n <div className={classes.root}>\n <div\n className={cx(classes.row, classes.horizontal, {\n [classes.isMdDown]: isMdDown,\n })}\n >\n <HvDatePicker\n className={classes.datePicker}\n name={`${elementId}-date`}\n required\n status={dateStatus}\n statusMessage={labels.rule.value.datetime.validation.required}\n label={\n isRange\n ? labels.rule.value.datetime.startDateLabel\n : labels.rule.value.datetime.dateLabel\n }\n placeholder={\n isRange\n ? labels.rule.value.datetime.startDatePlaceholder\n : labels.rule.value.datetime.datePlaceholder\n }\n value={datePickerValue}\n onChange={onDateChange}\n readOnly={readOnly}\n />\n <HvTimePicker\n className={classes.timePicker}\n timeFormat=\"24\"\n name={`${elementId}-time`}\n required\n status={timeStatus}\n statusMessage={labels.rule.value.datetime.validation.required}\n label={\n isRange\n ? labels.rule.value.datetime.startTimeLabel\n : labels.rule.value.datetime.timeLabel\n }\n placeholder={\n isRange\n ? labels.rule.value.datetime.startTimePlaceholder\n : labels.rule.value.datetime.timePlaceholder\n }\n value={timePickerValue || undefined}\n onChange={onTimeChange}\n onToggle={(_evt, open) => {\n if (!open && !touchedTime) {\n setTouchedTime(true);\n }\n }}\n readOnly={readOnly}\n />\n </div>\n {isRange && (\n <div className={cx(classes.row, classes.vertical)}>\n <div\n className={cx(classes.horizontal, {\n [classes.isMdDown]: isMdDown,\n })}\n >\n <HvDatePicker\n className={classes.datePicker}\n name={`${elementId}-endDate`}\n required\n status={endDateStatus}\n statusMessage={labels.rule.value.datetime.validation.required}\n aria-errormessage={\n endDateTimeIsBefore ? `${elementId}-combined-error` : undefined\n }\n label={labels.rule.value.datetime.endDateLabel}\n placeholder={labels.rule.value.datetime.endDatePlaceholder}\n value={endDatePickerValue}\n onChange={onEndDateChange}\n readOnly={readOnly}\n />\n <HvTimePicker\n className={classes.timePicker}\n timeFormat=\"24\"\n name={`${elementId}-endTime`}\n required\n status={endTimeStatus}\n statusMessage={labels.rule.value.datetime.validation.required}\n aria-errormessage={\n endDateTimeIsBefore ? `${elementId}-combined-error` : undefined\n }\n label={labels.rule.value.datetime.endTimeLabel}\n placeholder={labels.rule.value.datetime.endTimePlaceholder}\n value={endTimePickerValue || undefined}\n onChange={onEndTimeChange}\n onToggle={(_evt, open) => {\n if (!open && !touchedEndTime) {\n setTouchedEndTime(true);\n }\n }}\n readOnly={readOnly}\n />\n </div>\n <HvWarningText\n disableBorder\n id={`${elementId}-combined-error`}\n isVisible={endDateTimeIsBefore}\n >\n {labels.rule.value.datetime.validation.invalidInterval}\n </HvWarningText>\n </div>\n )}\n </div>\n );\n};\n\nexport default memo(DateTimeValue);\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DateTimeValue.styles.js","sources":["../../../../../../src/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nexport const { useClasses, staticClasses } = createClasses(\n \"HvQueryBuilder-DateTimeValue\",\n {\n root: {\n display: \"flex\",\n flexDirection: \"column\",\n },\n row: {},\n vertical: {\n display: \"flex\",\n flexDirection: \"column\",\n },\n horizontal: {\n display: \"flex\",\n\n \"& > div:not(:last-child)\": {\n marginRight: theme.space.md,\n },\n },\n isMdDown: {\n \"& > div:not(:last-child)\": {\n marginRight: `calc(${theme.space.md} / 2)`,\n },\n },\n datePicker: {\n flex: 1,\n },\n timePicker: {\n flex: 1,\n },\n },\n);\n"],"names":[],"mappings":";;AAGa,MAAA,EAAE,YAAY,cAAA,IAAkB;AAAA,EAC3C;AAAA,EACA;AAAA,IACE,MAAM;AAAA,MACJ,SAAS;AAAA,MACT,eAAe;AAAA,IACjB;AAAA,IACA,KAAK,CAAC;AAAA,IACN,UAAU;AAAA,MACR,SAAS;AAAA,MACT,eAAe;AAAA,IACjB;AAAA,IACA,YAAY;AAAA,MACV,SAAS;AAAA,MAET,4BAA4B;AAAA,QAC1B,aAAa,MAAM,MAAM;AAAA,MAAA;AAAA,IAE7B;AAAA,IACA,UAAU;AAAA,MACR,4BAA4B;AAAA,QAC1B,aAAa,QAAQ,MAAM,MAAM,EAAE;AAAA,MAAA;AAAA,IAEvC;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,IACR;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,IAAA;AAAA,EACR;AAEJ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../../../src/QueryBuilder/Rule/Value/DateTimeValue/utils.tsx"],"sourcesContent":["import dayjs from \"dayjs\";\n\n/**\n * Pads the unit time values so that they always have two digits\n * @param {Number} value - unit time value\n * @returns The unit time value with two digits\n */\nexport const padTime = (value: number) => {\n if (!value || value < 0) {\n return \"00\";\n }\n if (value < 10 && value.toString().length === 1) {\n return `0${value.toString()}`;\n }\n\n return value.toString();\n};\n\nexport const parseDate = (date: string) => {\n if (date != null) {\n return dayjs(date).toDate();\n }\n\n return undefined;\n};\n\nexport const parseTime = (time: string) => {\n if (time != null) {\n const parts = time.split(\":\");\n\n if (parts.length === 3) {\n return {\n hours: Number.parseInt(parts[0], 10),\n minutes: Number.parseInt(parts[1], 10),\n seconds: Number.parseInt(parts[2], 10),\n };\n }\n }\n\n return null;\n};\n"],"names":[],"mappings":";AAOa,MAAA,UAAU,CAAC,UAAkB;AACpC,MAAA,CAAC,SAAS,QAAQ,GAAG;AAChB,WAAA;AAAA,EAAA;AAET,MAAI,QAAQ,MAAM,MAAM,SAAS,EAAE,WAAW,GAAG;AACxC,WAAA,IAAI,MAAM,SAAU,CAAA;AAAA,EAAA;AAG7B,SAAO,MAAM,SAAS;AACxB;AAEa,MAAA,YAAY,CAAC,SAAiB;AACzC,MAAI,QAAQ,MAAM;AACT,WAAA,MAAM,IAAI,EAAE,OAAO;AAAA,EAAA;AAGrB,SAAA;AACT;AAEa,MAAA,YAAY,CAAC,SAAiB;AACzC,MAAI,QAAQ,MAAM;AACV,UAAA,QAAQ,KAAK,MAAM,GAAG;AAExB,QAAA,MAAM,WAAW,GAAG;AACf,aAAA;AAAA,QACL,OAAO,OAAO,SAAS,MAAM,CAAC,GAAG,EAAE;AAAA,QACnC,SAAS,OAAO,SAAS,MAAM,CAAC,GAAG,EAAE;AAAA,QACrC,SAAS,OAAO,SAAS,MAAM,CAAC,GAAG,EAAE;AAAA,MACvC;AAAA,IAAA;AAAA,EACF;AAGK,SAAA;AACT;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EmptyValue.js","sources":["../../../../../../src/QueryBuilder/Rule/Value/EmptyValue/EmptyValue.tsx"],"sourcesContent":["import { useEffect } from \"react\";\n\nimport { useQueryBuilderContext } from \"../../../Context\";\n\nexport interface EmptyValueProps {\n id: React.Key;\n}\n\nexport const EmptyValue = ({ id }: EmptyValueProps) => {\n const { dispatchAction } = useQueryBuilderContext();\n\n // Clear value on first render\n useEffect(() => {\n dispatchAction({\n type: \"set-value\",\n id,\n value: null,\n });\n }, [dispatchAction, id]);\n\n return null;\n};\n"],"names":[],"mappings":";;AAQO,MAAM,aAAa,CAAC,EAAE,SAA0B;AAC/C,QAAA,EAAE,eAAe,IAAI,uBAAuB;AAGlD,YAAU,MAAM;AACC,mBAAA;AAAA,MACb,MAAM;AAAA,MACN;AAAA,MACA,OAAO;AAAA,IAAA,CACR;AAAA,EAAA,GACA,CAAC,gBAAgB,EAAE,CAAC;AAEhB,SAAA;AACT;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Numeric.styles.js","sources":["../../../../../../src/QueryBuilder/Rule/Value/NumericValue/Numeric.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nexport const { useClasses, staticClasses } = createClasses(\n \"HvQueryBuilder-NumericValue\",\n {\n root: {},\n label: {\n paddingBottom: \"6px\",\n },\n inputContainer: {},\n rangeContainer: {\n display: \"flex\",\n\n \"& $inputContainer\": {\n flexGrow: 1,\n overflow: \"auto\",\n },\n\n \"& > $inputContainer:not(:last-child)\": {\n marginRight: theme.space.md,\n },\n },\n input: {\n flexGrow: 1,\n },\n isMdDown: {\n \"& > $inputContainer:not(:last-child)\": {\n marginRight: `calc(${theme.space.md} / 2)`,\n },\n },\n },\n);\n"],"names":[],"mappings":";;AAGa,MAAA,EAAE,YAAY,cAAA,IAAkB;AAAA,EAC3C;AAAA,EACA;AAAA,IACE,MAAM,CAAC;AAAA,IACP,OAAO;AAAA,MACL,eAAe;AAAA,IACjB;AAAA,IACA,gBAAgB,CAAC;AAAA,IACjB,gBAAgB;AAAA,MACd,SAAS;AAAA,MAET,qBAAqB;AAAA,QACnB,UAAU;AAAA,QACV,UAAU;AAAA,MACZ;AAAA,MAEA,wCAAwC;AAAA,QACtC,aAAa,MAAM,MAAM;AAAA,MAAA;AAAA,IAE7B;AAAA,IACA,OAAO;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,UAAU;AAAA,MACR,wCAAwC;AAAA,QACtC,aAAa,QAAQ,MAAM,MAAM,EAAE;AAAA,MAAA;AAAA,IACrC;AAAA,EACF;AAEJ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NumericValue.js","sources":["../../../../../../src/QueryBuilder/Rule/Value/NumericValue/NumericValue.tsx"],"sourcesContent":["import { memo, useCallback, useState } from \"react\";\nimport { useTheme } from \"@mui/material/styles\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\n\nimport { HvInput } from \"../../../../Input\";\nimport { uniqueId } from \"../../../../utils/helpers\";\nimport { useQueryBuilderContext } from \"../../../Context\";\nimport { HvQueryBuilderNumericRange } from \"../../../types\";\nimport { useClasses } from \"./Numeric.styles\";\n\nexport interface NumericValueProps {\n id: React.Key;\n value?: any;\n operator?: string;\n initialTouched?: boolean;\n}\n\nexport const NumericValue = ({\n id,\n value,\n operator,\n initialTouched = false,\n}: NumericValueProps) => {\n const { classes, cx } = useClasses();\n\n const isRange = operator === \"range\";\n const { labels, dispatchAction, readOnly } = useQueryBuilderContext();\n\n const theme = useTheme();\n\n const isMdDown = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const onSingleValueChange = useCallback(\n (\n event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>,\n data: string,\n ) => {\n dispatchAction({\n type: \"set-value\",\n id,\n value: data ?? null,\n });\n },\n [dispatchAction, id],\n );\n\n const onRangeValueChange = useCallback(\n (\n event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>,\n data: string,\n from = true,\n ) => {\n const currentValue = value;\n const numericRange = {\n from: currentValue?.from,\n to: currentValue?.to,\n };\n if (from) {\n numericRange.from = data ?? null;\n } else {\n numericRange.to = data ?? null;\n }\n dispatchAction({\n type: \"set-value\",\n id,\n value: numericRange,\n });\n },\n [dispatchAction, id, value],\n );\n\n const [touchedNumeric, setTouchedNumeric] = useState(initialTouched);\n const [touchedNumericTo, setTouchedNumericTo] = useState(initialTouched);\n\n const elementId = uniqueId(\"numeric\");\n\n let numericValidation: \"required\" | \"invalid\" | null = null;\n let rightValidation: \"required\" | \"invalid\" | \"greaterThan\" | \"equal\" | null =\n null;\n\n if (touchedNumeric || touchedNumericTo) {\n if (value === undefined || value?.toString() === \"\") {\n if (touchedNumeric) {\n numericValidation = \"required\";\n }\n if (touchedNumericTo) {\n rightValidation = \"required\";\n }\n } else if (!isRange) {\n if (Number.isNaN(Number(value))) {\n numericValidation = \"invalid\";\n }\n } else if (isRange) {\n const rangeValue = value;\n if (\n rangeValue?.from === undefined ||\n rangeValue?.from?.toString() === \"\"\n ) {\n numericValidation = \"required\";\n } else if (Number.isNaN(Number(rangeValue?.from))) {\n numericValidation = \"invalid\";\n }\n\n if (rangeValue?.to === undefined || rangeValue?.to?.toString() === \"\") {\n rightValidation = \"required\";\n } else if (Number.isNaN(Number(rangeValue?.to))) {\n rightValidation = \"invalid\";\n } else if (Number(rangeValue?.from) > Number(rangeValue?.to)) {\n rightValidation = \"greaterThan\";\n } else if (Number(rangeValue?.from) === Number(rangeValue?.to)) {\n rightValidation = \"equal\";\n }\n }\n }\n\n const numericStatus = numericValidation != null ? \"invalid\" : \"valid\";\n const rightStatus = rightValidation != null ? \"invalid\" : \"valid\";\n\n const renderRangeInputs = (rangeValue: HvQueryBuilderNumericRange) => (\n <div\n className={cx(classes.rangeContainer, { [classes.isMdDown]: isMdDown })}\n >\n <div className={classes.inputContainer}>\n <HvInput\n label={labels.rule.value.numeric.range.leftLabel}\n className={classes.input}\n id={`${elementId}-numeric-from`}\n name={`${elementId}-numeric-from`}\n value={rangeValue?.from?.toString() || \"\"}\n onChange={(event, data) => onRangeValueChange(event, data)}\n onBlur={() => {\n setTouchedNumeric(true);\n }}\n onKeyDown={(e: any) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n }\n }}\n status={!touchedNumeric ? \"standBy\" : numericStatus}\n statusMessage={\n numericValidation\n ? labels.rule.value.numeric.validation[numericValidation]\n : \"\"\n }\n required\n inputProps={{\n autoComplete: \"off\",\n }}\n placeholder={labels.rule.value.numeric.placeholder}\n readOnly={readOnly}\n />\n </div>\n <div className={classes.inputContainer}>\n <HvInput\n label={labels.rule.value.numeric.range.rightLabel}\n className={classes.input}\n id={`${elementId}-numeric-to`}\n name={`${elementId}-numeric-to`}\n value={rangeValue?.to?.toString() || \"\"}\n onChange={(event, data) => onRangeValueChange(event, data, false)}\n onBlur={() => {\n setTouchedNumericTo(true);\n }}\n onKeyDown={(e: any) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n }\n }}\n status={!touchedNumericTo ? \"standBy\" : rightStatus}\n statusMessage={\n rightValidation\n ? labels.rule.value.numeric.validation[rightValidation]\n : \"\"\n }\n required\n inputProps={{\n autoComplete: \"off\",\n }}\n placeholder={labels.rule.value.numeric.placeholder}\n readOnly={readOnly}\n />\n </div>\n </div>\n );\n\n return (\n <div className={classes.root}>\n {isRange && renderRangeInputs(value || {})}\n {!isRange && (\n <div className={classes.inputContainer}>\n <HvInput\n label={labels.rule.value.numeric.label}\n className={classes.input}\n id={`${elementId}-numeric`}\n name={`${elementId}-numeric`}\n value={value?.toString() || \"\"}\n onChange={onSingleValueChange}\n onBlur={() => {\n setTouchedNumeric(true);\n }}\n onKeyDown={(e: any) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n }\n }}\n status={!touchedNumeric ? \"standBy\" : numericStatus}\n required\n inputProps={{\n autoComplete: \"off\",\n }}\n placeholder={labels.rule.value.numeric.placeholder}\n statusMessage={\n numericValidation\n ? labels.rule.value.numeric.validation[numericValidation]\n : \"\"\n }\n readOnly={readOnly}\n />\n </div>\n )}\n </div>\n );\n};\n\nexport default memo(NumericValue);\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TextValue.js","sources":["../../../../../../src/QueryBuilder/Rule/Value/TextValue/TextValue.tsx"],"sourcesContent":["import { memo, useState } from \"react\";\n\nimport { HvFormStatus } from \"../../../../FormElement\";\nimport { HvInput } from \"../../../../Input\";\nimport { useQueryBuilderContext } from \"../../../Context\";\nimport { useClasses } from \"./TextValue.styles\";\n\nexport interface TextValueProps {\n id: React.Key;\n value?: any;\n initialTouched?: boolean;\n}\n\nexport const TextValue = ({\n id,\n value = \"\",\n initialTouched = false,\n}: TextValueProps) => {\n const { classes } = useClasses();\n\n const { labels, dispatchAction, readOnly } = useQueryBuilderContext();\n\n const [touched, setTouched] = useState(initialTouched);\n\n const isValid = value != null && value.toString().trim() !== \"\";\n\n let status: HvFormStatus = isValid ? \"valid\" : \"invalid\";\n status = !touched ? \"standBy\" : status;\n\n return (\n <HvInput\n className={classes.location}\n label={labels.rule.value.text.label}\n required\n status={status}\n statusMessage={labels.rule.value.text.validation.required}\n value={value}\n inputProps={{\n autoComplete: \"off\",\n }}\n onChange={(t, v) => {\n dispatchAction({\n type: \"set-value\",\n id,\n value: v,\n });\n }}\n onBlur={() => {\n setTouched(true);\n }}\n onKeyDown={(e: any) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n }\n }}\n placeholder=\"—\"\n readOnly={readOnly}\n />\n );\n};\n\nexport default memo(TextValue);\n"],"names":[],"mappings":";;;;;AAaO,MAAM,YAAY,CAAC;AAAA,EACxB;AAAA,EACA,QAAQ;AAAA,EACR,iBAAiB;AACnB,MAAsB;AACd,QAAA,EAAE,QAAQ,IAAI,WAAW;AAE/B,QAAM,EAAE,QAAQ,gBAAgB,SAAA,IAAa,uBAAuB;AAEpE,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,cAAc;AAErD,QAAM,UAAU,SAAS,QAAQ,MAAM,SAAS,EAAE,WAAW;AAEzD,MAAA,SAAuB,UAAU,UAAU;AACtC,WAAA,CAAC,UAAU,YAAY;AAG9B,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,QAAQ;AAAA,MACnB,OAAO,OAAO,KAAK,MAAM,KAAK;AAAA,MAC9B,UAAQ;AAAA,MACR;AAAA,MACA,eAAe,OAAO,KAAK,MAAM,KAAK,WAAW;AAAA,MACjD;AAAA,MACA,YAAY;AAAA,QACV,cAAc;AAAA,MAChB;AAAA,MACA,UAAU,CAAC,GAAG,MAAM;AACH,uBAAA;AAAA,UACb,MAAM;AAAA,UACN;AAAA,UACA,OAAO;AAAA,QAAA,CACR;AAAA,MACH;AAAA,MACA,QAAQ,MAAM;AACZ,mBAAW,IAAI;AAAA,MACjB;AAAA,MACA,WAAW,CAAC,MAAW;AACjB,YAAA,EAAE,QAAQ,SAAS;AACrB,YAAE,eAAe;AAAA,QAAA;AAAA,MAErB;AAAA,MACA,aAAY;AAAA,MACZ;AAAA,IAAA;AAAA,EACF;AAEJ;AAEe,KAAK,SAAS;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TextValue.styles.js","sources":["../../../../../../src/QueryBuilder/Rule/Value/TextValue/TextValue.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\n\nexport const { useClasses, staticClasses } = createClasses(\n \"HvQueryBuilder-TextValue\",\n {\n location: {\n flexGrow: 1,\n },\n },\n);\n"],"names":[],"mappings":";AAEa,MAAA,EAAE,YAAY,cAAA,IAAkB;AAAA,EAC3C;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,UAAU;AAAA,IAAA;AAAA,EACZ;AAEJ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Value.js","sources":["../../../../../src/QueryBuilder/Rule/Value/Value.tsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { useQueryBuilderContext } from \"../../Context\";\nimport {\n defaultRendererKey,\n HvQueryBuilderRendererProps,\n ValueRenderer,\n} from \"../../types\";\nimport { BooleanValue } from \"./BooleanValue\";\nimport { DateTimeValue } from \"./DateTimeValue\";\nimport { EmptyValue } from \"./EmptyValue\";\nimport { NumericValue } from \"./NumericValue\";\nimport { TextValue } from \"./TextValue\";\n\nexport interface ValueProps {\n id: React.Key;\n attribute: string;\n operator?: string;\n value?: any;\n}\n\nconst getRenderer = (renderer: ValueRenderer, operator?: string) =>\n // 1. Custom renderer\n (typeof renderer === \"function\" && renderer) ||\n // 2. Custom operator renderer\n (typeof renderer === \"object\" && operator && renderer[operator]) ||\n // 3. Custom DEFAULT renderer\n (typeof renderer === \"object\" && renderer[defaultRendererKey]);\n\nexport const Value = ({\n id,\n attribute,\n operator,\n value: valueProp,\n}: ValueProps) => {\n const { attributes, initialTouched, renderers, emptyRenderer } =\n useQueryBuilderContext();\n\n const attrType = attributes?.[attribute]?.type;\n\n // Empty value renderer\n if (emptyRenderer?.find((op) => op === operator)) {\n return <EmptyValue id={id} />;\n }\n\n // Custom renderer\n if (attrType && renderers?.[attrType]) {\n // Renderer to be used by order:\n // 1. Custom attribute renderer\n // 2. Custom attribute-operator renderer\n // 3. Custom attribute-DEFAULT renderer\n // 4. Custom master DEFAULT renderer\n // 5. Custom master DEFAULT-operator renderer\n // 6. Custom master DEFAULT-DEFAULT renderer\n const Renderer: React.FC<HvQueryBuilderRendererProps> | undefined =\n getRenderer(renderers[attrType], operator) ||\n getRenderer(renderers[defaultRendererKey], operator) ||\n undefined;\n\n if (Renderer) {\n return (\n <Renderer\n id={id}\n attribute={attribute}\n operator={operator}\n value={valueProp}\n />\n );\n }\n }\n\n // Built-in attributes\n switch (attrType) {\n case \"boolean\": {\n return <BooleanValue id={id} value={!!valueProp} />;\n }\n case \"numeric\": {\n return (\n <NumericValue\n id={id}\n operator={operator}\n value={valueProp}\n initialTouched={initialTouched}\n />\n );\n }\n case \"dateandtime\": {\n return (\n <DateTimeValue\n id={id}\n operator={operator}\n value={valueProp}\n initialTouched={initialTouched}\n />\n );\n }\n case \"text\":\n case \"textarea\":\n default:\n return (\n <TextValue id={id} value={valueProp} initialTouched={initialTouched} />\n );\n }\n};\n\nexport default memo(Value);\n"],"names":[],"mappings":";;;;;;;;;AAqBA,MAAM,cAAc,CAAC,UAAyB;AAAA;AAAA,EAE3C,OAAO,aAAa,cAAc;AAAA,EAElC,OAAO,aAAa,YAAY,YAAY,SAAS,QAAQ;AAAA,EAE7D,OAAO,aAAa,YAAY,SAAS,kBAAkB;AAAA;AAEvD,MAAM,QAAQ,CAAC;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AACT,MAAkB;AAChB,QAAM,EAAE,YAAY,gBAAgB,WAAW,cAAA,IAC7C,uBAAuB;AAEnB,QAAA,WAAW,aAAa,SAAS,GAAG;AAG1C,MAAI,eAAe,KAAK,CAAC,OAAO,OAAO,QAAQ,GAAG;AACzC,WAAA,oBAAC,cAAW,IAAQ;AAAA,EAAA;AAIzB,MAAA,YAAY,YAAY,QAAQ,GAAG;AAQrC,UAAM,WACJ,YAAY,UAAU,QAAQ,GAAG,QAAQ,KACzC,YAAY,UAAU,kBAAkB,GAAG,QAAQ,KACnD;AAEF,QAAI,UAAU;AAEV,aAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA,OAAO;AAAA,QAAA;AAAA,MACT;AAAA,IAAA;AAAA,EAEJ;AAIF,UAAQ,UAAU;AAAA,IAChB,KAAK,WAAW;AACd,iCAAQ,cAAa,EAAA,IAAQ,OAAO,CAAC,CAAC,WAAW;AAAA,IAAA;AAAA,IAEnD,KAAK,WAAW;AAEZ,aAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA,OAAO;AAAA,UACP;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,IAGJ,KAAK,eAAe;AAEhB,aAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA,OAAO;AAAA,UACP;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,IAGJ,KAAK;AAAA,IACL,KAAK;AAAA,IACL;AACE,aACG,oBAAA,WAAA,EAAU,IAAQ,OAAO,WAAW,gBAAgC;AAAA,EAAA;AAG7E;AAEe,KAAK,KAAK;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RuleGroup.js","sources":["../../../../src/QueryBuilder/RuleGroup/RuleGroup.tsx"],"sourcesContent":["import { useCallback } from \"react\";\nimport { type ExtractNames } from \"@hitachivantara/uikit-react-utils\";\n\nimport { HvButton } from \"../../Button\";\nimport { HvEmptyState } from \"../../EmptyState\";\nimport { HvIconButton } from \"../../IconButton\";\nimport { HvIcon } from \"../../icons\";\nimport { HvMultiButton } from \"../../MultiButton\";\nimport { HvTypography } from \"../../Typography\";\nimport { useQueryBuilderContext } from \"../Context\";\nimport { useClasses } from \"../QueryBuilder.styles\";\nimport { Rule } from \"../Rule\";\nimport { HvQueryBuilderQueryCombinator, Query } from \"../types\";\n\nexport interface RuleGroupProps {\n id: React.Key;\n level?: number;\n combinator?: string;\n rules?: Query[\"rules\"];\n classes?: ExtractNames<typeof useClasses>;\n}\n\nexport const RuleGroup = ({\n level = 0,\n id,\n combinator = \"and\",\n rules = [],\n classes: classesProp,\n}: RuleGroupProps) => {\n const { classes, cx } = useClasses(classesProp);\n\n const {\n dispatchAction,\n askAction,\n maxDepth,\n combinators,\n labels,\n readOnly,\n disableConfirmation,\n allowRepeatedAttributes,\n } = useQueryBuilderContext();\n\n const normalizedMaxDepth = maxDepth - 1;\n\n const actionButtons = (\n <>\n <div className={classes.buttonBackground}>\n <HvButton\n variant=\"secondarySubtle\"\n onClick={() => {\n dispatchAction({ type: \"add-rule\", id });\n }}\n disabled={readOnly}\n startIcon={<HvIcon name=\"Add\" />}\n >\n {level === 0 && labels.query?.addRule?.label != null\n ? labels.query?.addRule?.label\n : labels.group.addRule.label}\n </HvButton>\n </div>\n {level <= normalizedMaxDepth && (\n <div className={classes.buttonBackground}>\n <HvButton\n variant=\"secondarySubtle\"\n onClick={() => {\n dispatchAction({ type: \"add-group\", id });\n }}\n disabled={readOnly}\n startIcon={<HvIcon name=\"Add\" />}\n >\n {level === 0 && labels.query?.addGroup?.label != null\n ? labels.query?.addGroup?.label\n : labels.group.addGroup.label}\n </HvButton>\n </div>\n )}\n </>\n );\n\n const onClickCombinator = useCallback(\n (item: HvQueryBuilderQueryCombinator) => {\n dispatchAction({\n type: \"set-combinator\",\n id,\n combinator: item.operand,\n });\n },\n [dispatchAction, id],\n );\n\n return (\n <div\n className={cx(classes.root, {\n [classes.topGroup]: level === 0,\n [classes.subGroup]: level > 0,\n })}\n >\n <HvMultiButton\n className={cx(classes.combinator, classes.topCombinator)}\n disabled={readOnly}\n aria-disabled={readOnly}\n >\n {combinators?.map((item) => (\n <HvButton\n key={item.operand}\n className={classes.combinatorButton}\n selected={item.operand === combinator}\n onClick={() => item.operand && onClickCombinator(item)}\n disabled={readOnly}\n size=\"xs\"\n >\n {item.label}\n </HvButton>\n ))}\n </HvMultiButton>\n <div className={cx(classes.buttonBackground, classes.topRemoveButton)}>\n <HvIconButton\n className={classes.removeButton}\n onClick={() =>\n disableConfirmation\n ? dispatchAction({ type: \"remove-node\", id })\n : askAction({\n actions: [{ type: \"remove-node\", id }],\n dialog:\n level === 0 && labels.query?.delete != null\n ? labels.query.delete\n : labels.group.delete,\n })\n }\n title={\n (level === 0 && labels.query?.delete?.tooltip) ||\n labels.group.delete.tooltip ||\n (level === 0 && labels.query?.delete?.ariaLabel) ||\n labels.group.delete.ariaLabel\n }\n disabled={readOnly}\n >\n <HvIcon\n name=\"Delete\"\n className={cx({ [classes.topRemoveButtonDisabled]: readOnly })}\n />\n </HvIconButton>\n </div>\n {rules?.length > 0 && (\n <div\n className={cx(classes.rulesContainer, {\n [classes.subRulesContainer]: level > 0,\n [classes.topRulesContainer]: level === 0,\n })}\n >\n {rules.map((rule, index) => {\n if (\"combinator\" in rule) {\n return (\n <RuleGroup\n key={rule.id}\n level={level + 1}\n {...rule}\n id={rule.id}\n classes={classes}\n />\n );\n }\n\n const isInvalid = allowRepeatedAttributes\n ? false\n : combinator === \"and\" &&\n rules.some((r, i) => {\n if (\"attribute\" in r) {\n if (\n r.attribute === rule.attribute &&\n r.id !== rule.id &&\n i < index\n ) {\n return true;\n }\n }\n return false;\n });\n\n return (\n <Rule\n key={rule.id}\n {...rule}\n isInvalid={isInvalid}\n id={rule.id}\n combinator={combinator}\n />\n );\n })}\n </div>\n )}\n {rules?.length === 0 && (\n <HvEmptyState\n title={labels.empty?.title}\n message={\n <>\n <HvTypography\n link\n component=\"button\"\n onClick={() => {\n dispatchAction({ type: \"add-rule\", id });\n }}\n className={classes.createConditionButton}\n disabled={readOnly}\n aria-disabled={readOnly}\n >\n {`${labels.empty?.createCondition}`}\n </HvTypography>\n {level <= normalizedMaxDepth && (\n <>\n {`${labels.empty?.spacer}`}\n <HvTypography\n link\n component=\"button\"\n onClick={() => {\n dispatchAction({ type: \"add-group\", id });\n }}\n className={classes.createGroupButton}\n disabled={readOnly}\n aria-disabled={readOnly}\n >\n {`${labels.empty?.createGroup}`}\n </HvTypography>\n </>\n )}\n </>\n }\n icon={<HvIcon name=\"Info\" />}\n />\n )}\n <div\n className={cx(\n classes.actionButtonContainer,\n classes.topActionButtonContainer,\n )}\n >\n {actionButtons}\n </div>\n </div>\n );\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sources":["../../../src/QueryBuilder/types.ts"],"sourcesContent":["import { HvOptional } from \"../types/generic\";\n\nexport const defaultRendererKey = \"DEFAULT\";\n\nconst defaultAttributes = [\n \"boolean\",\n \"numeric\",\n \"dateandtime\",\n \"text\",\n \"textarea\",\n] as const;\ntype DefaultAttributes = (typeof defaultAttributes)[number];\n\nexport interface HvQueryBuilderAttribute extends Record<string, unknown> {\n id?: string;\n label: string;\n type: DefaultAttributes | (string & {});\n}\n\nexport interface HvQueryBuilderNumericRange {\n from: number | string;\n to: number | string;\n}\n\nexport interface HvQueryBuilderDateTimeStrings {\n date?: string;\n time?: string;\n}\n\nexport interface HvQueryBuilderDateTimeRange {\n start?: HvQueryBuilderDateTimeStrings;\n end?: HvQueryBuilderDateTimeStrings;\n}\n\nexport type HvQueryBuilderQueryRuleValue =\n | string\n | number\n | boolean\n | HvQueryBuilderNumericRange\n | HvQueryBuilderDateTimeStrings\n | HvQueryBuilderDateTimeRange;\n\nexport type HvQueryBuilderQueryRule = HvOptional<QueryRule, \"id\">;\n\nexport interface HvQueryBuilderQueryGroup\n extends Omit<HvOptional<QueryGroup, \"id\">, \"rules\"> {\n rules: Array<HvQueryBuilderQueryRule | HvQueryBuilderQueryGroup>;\n}\n\nexport type HvQueryBuilderQuery = HvQueryBuilderQueryGroup;\n\nexport interface QueryRule {\n id: React.Key;\n attribute?: string;\n operator?: string;\n value?: HvQueryBuilderQueryRuleValue;\n}\n\nexport interface QueryGroup {\n id: React.Key;\n combinator: string;\n rules: Array<QueryRule | QueryGroup>;\n}\n\nexport type Query = QueryGroup;\n\n// TODO - remove this type in v6\n/** @deprecated */\nexport interface HvQueryBuilderChangedQuery\n extends Omit<HvQueryBuilderQuery, \"id\" | \"rules\"> {\n rules: Array<\n Omit<HvQueryBuilderQueryRule, \"id\"> | HvQueryBuilderChangedQuery\n >;\n}\n\nexport interface HvQueryBuilderQueryCombinator {\n operand: string;\n label: string;\n}\n\nexport interface HvQueryBuilderQueryOperator {\n operator: string;\n label: string;\n combinators: string[];\n}\n\ninterface DialogLabels {\n dialogTitle: string;\n dialogMessage: string;\n dialogConfirm: string;\n dialogCancel: string;\n dialogCloseTooltip: string;\n}\n\n/** @private label structure action icon buttons */\ninterface ActionIconLabels extends DialogLabels {\n // TODO: remove in v6 - duplicated labels - `tooltip` *is* the aria-label\n /** @deprecated use `tooltip` label instead */\n ariaLabel: string;\n tooltip?: string;\n}\n\nexport type QueryAction =\n | {\n type: \"reset-query\";\n }\n | {\n type: \"reset-group\";\n id: React.Key;\n }\n | {\n type: \"add-rule\" | \"add-group\" | \"remove-node\";\n id: React.Key;\n }\n | {\n type: \"set-combinator\";\n id: React.Key;\n combinator: string;\n }\n | {\n type: \"set-attribute\";\n id: React.Key;\n attribute?: string | null;\n operator?: string | null;\n value?: HvQueryBuilderQueryRuleValue | null;\n }\n | {\n type: \"set-operator\";\n id: React.Key;\n operator: string | null;\n value?: HvQueryBuilderQueryRuleValue | null;\n }\n | {\n type: \"set-value\";\n id: React.Key;\n value: HvQueryBuilderQueryRuleValue | null | any;\n }\n | {\n type: \"set-query\";\n // Query with ids\n query: Query;\n };\n\nexport interface AskAction {\n actions: QueryAction[];\n dialog: DialogLabels;\n}\n\n// TODO - Infer type from defaultLabels object and flatten the object to remove all the nesting in v6\nexport interface HvQueryBuilderLabels {\n query?: {\n delete?: ActionIconLabels;\n addRule?: {\n label: string;\n };\n addGroup?: {\n label: string;\n };\n };\n rule: {\n attribute: {\n exists: string;\n label: string;\n placeholder: string;\n };\n operator: {\n label: string;\n placeholder: string;\n };\n value: {\n distance: {\n label: string;\n placeholder?: string;\n connectorText: string;\n button: string;\n validation: {\n required: string;\n invalid: string;\n };\n };\n text: {\n label: string;\n placeholder: string;\n validation: {\n required: string;\n };\n };\n boolean: {\n label: string;\n placeholder: string;\n options: Record<string, string>;\n };\n numeric: {\n label: string;\n placeholder: string;\n validation: {\n required: string;\n invalid: string;\n equal: string;\n greaterThan: string;\n };\n range: {\n leftLabel: string;\n rightLabel: string;\n };\n };\n datetime: {\n dateLabel: string;\n datePlaceholder: string;\n timeLabel: string;\n timePlaceholder: string;\n startDateLabel: string;\n startDatePlaceholder: string;\n startTimeLabel: string;\n startTimePlaceholder: string;\n endDateLabel: string;\n endDatePlaceholder: string;\n endTimeLabel: string;\n endTimePlaceholder: string;\n validation: {\n required: string;\n invalidInterval: string;\n };\n };\n };\n delete: ActionIconLabels;\n };\n group: {\n delete: ActionIconLabels;\n reset: ActionIconLabels;\n addRule: {\n label: string;\n };\n addGroup: {\n label: string;\n };\n };\n empty: {\n title: string;\n createCondition: string;\n createGroup: string;\n spacer: string;\n };\n}\n\nexport interface HvQueryBuilderRendererProps<V = any> {\n id: React.Key;\n attribute: string;\n operator?: string;\n value?: V;\n}\n\nexport type ValueRenderer =\n | React.FC<HvQueryBuilderRendererProps>\n | Record<string, React.FC<HvQueryBuilderRendererProps>>;\n\nexport type HvQueryBuilderRenderers = Record<string, ValueRenderer>;\n"],"names":[],"mappings":"AAEO,MAAM,qBAAqB;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/QueryBuilder/utils/index.tsx"],"sourcesContent":["import { isEqual, uniqueId } from \"../../utils/helpers\";\nimport {\n HvQueryBuilderQueryGroup,\n HvQueryBuilderQueryRule,\n Query,\n} from \"../types\";\n\nexport const isBigList = (values: unknown[]) =>\n values != null && values?.length > 10;\n\nconst ID_PREFIX = \"@hv_\";\nconst createId = () => uniqueId(ID_PREFIX);\n\nexport const emptyRule = () => ({\n id: createId(),\n});\n\nexport const emptyGroup = (createEmptyRule = false) => ({\n id: createId(),\n combinator: \"and\",\n rules: createEmptyRule ? [emptyRule()] : [],\n});\n\nexport const clearNodeIds = (\n original: HvQueryBuilderQueryGroup | HvQueryBuilderQueryRule,\n full = false,\n) => {\n const rule = { ...original };\n\n if ((!full && rule.id?.toString().startsWith(ID_PREFIX)) || full) {\n delete rule.id;\n }\n\n if (\"rules\" in rule) {\n rule.rules = rule.rules.map((r) => clearNodeIds(r, full));\n }\n\n return rule;\n};\n\nconst isQueryGroup = (\n value: HvQueryBuilderQueryGroup | HvQueryBuilderQueryRule,\n): value is HvQueryBuilderQueryGroup => \"rules\" in value;\n\nexport const setNodeIds = (\n query: HvQueryBuilderQueryGroup | HvQueryBuilderQueryRule,\n prevQuery?: HvQueryBuilderQueryGroup | HvQueryBuilderQueryRule,\n): Query => {\n // Use already existing autogenerated id when possible\n if (!query.id) {\n query.id =\n prevQuery?.id &&\n isEqual(\n clearNodeIds(structuredClone(query)),\n clearNodeIds(structuredClone(prevQuery)),\n )\n ? prevQuery.id\n : createId();\n }\n\n if (isQueryGroup(query)) {\n query.rules = query.rules.map((item, idx) =>\n setNodeIds(\n item,\n prevQuery && isQueryGroup(prevQuery) ? prevQuery.rules[idx] : undefined,\n ),\n );\n }\n\n return query as Query;\n};\n\nexport const findNodeById = (\n id: React.Key,\n node: HvQueryBuilderQueryGroup | HvQueryBuilderQueryRule,\n): HvQueryBuilderQueryGroup | HvQueryBuilderQueryRule | null => {\n if (node.id === id) {\n return node;\n }\n if (\"rules\" in node) {\n for (let i = 0; i < node.rules.length; ++i) {\n const rule = node.rules[i];\n\n const found = findNodeById(id, rule);\n if (found) {\n return found;\n }\n }\n }\n\n return null;\n};\n\nexport const findParentById = (\n id: React.Key,\n node: HvQueryBuilderQueryGroup | HvQueryBuilderQueryRule,\n parent?: HvQueryBuilderQueryGroup,\n): HvQueryBuilderQueryGroup | null => {\n if (node.id === id) {\n return parent ?? null;\n }\n\n if (\"rules\" in node) {\n const group = node;\n\n for (let i = 0; i < group.rules.length; ++i) {\n const rule = group.rules[i];\n\n const found = findParentById(id, rule, group);\n if (found) {\n return found;\n }\n }\n }\n\n return null;\n};\n"],"names":[],"mappings":";AAOO,MAAM,YAAY,CAAC,WACxB,UAAU,QAAQ,QAAQ,SAAS;AAErC,MAAM,YAAY;AAClB,MAAM,WAAW,MAAM,SAAS,SAAS;AAElC,MAAM,YAAY,OAAO;AAAA,EAC9B,IAAI,SAAS;AACf;AAEa,MAAA,aAAa,CAAC,kBAAkB,WAAW;AAAA,EACtD,IAAI,SAAS;AAAA,EACb,YAAY;AAAA,EACZ,OAAO,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAA;AAC3C;AAEO,MAAM,eAAe,CAC1B,UACA,OAAO,UACJ;AACG,QAAA,OAAO,EAAE,GAAG,SAAS;AAEtB,MAAA,CAAC,QAAQ,KAAK,IAAI,WAAW,WAAW,SAAS,KAAM,MAAM;AAChE,WAAO,KAAK;AAAA,EAAA;AAGd,MAAI,WAAW,MAAM;AACd,SAAA,QAAQ,KAAK,MAAM,IAAI,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC;AAAA,EAAA;AAGnD,SAAA;AACT;AAEA,MAAM,eAAe,CACnB,UACsC,WAAW;AAEtC,MAAA,aAAa,CACxB,OACA,cACU;AAEN,MAAA,CAAC,MAAM,IAAI;AACP,UAAA,KACJ,WAAW,MACX;AAAA,MACE,aAAa,gBAAgB,KAAK,CAAC;AAAA,MACnC,aAAa,gBAAgB,SAAS,CAAC;AAAA,IAAA,IAErC,UAAU,KACV,SAAS;AAAA,EAAA;AAGb,MAAA,aAAa,KAAK,GAAG;AACjB,UAAA,QAAQ,MAAM,MAAM;AAAA,MAAI,CAAC,MAAM,QACnC;AAAA,QACE;AAAA,QACA,aAAa,aAAa,SAAS,IAAI,UAAU,MAAM,GAAG,IAAI;AAAA,MAAA;AAAA,IAElE;AAAA,EAAA;AAGK,SAAA;AACT;AAEa,MAAA,eAAe,CAC1B,IACA,SAC8D;AAC1D,MAAA,KAAK,OAAO,IAAI;AACX,WAAA;AAAA,EAAA;AAET,MAAI,WAAW,MAAM;AACnB,aAAS,IAAI,GAAG,IAAI,KAAK,MAAM,QAAQ,EAAE,GAAG;AACpC,YAAA,OAAO,KAAK,MAAM,CAAC;AAEnB,YAAA,QAAQ,aAAa,IAAI,IAAI;AACnC,UAAI,OAAO;AACF,eAAA;AAAA,MAAA;AAAA,IACT;AAAA,EACF;AAGK,SAAA;AACT;AAEO,MAAM,iBAAiB,CAC5B,IACA,MACA,WACoC;AAChC,MAAA,KAAK,OAAO,IAAI;AAClB,WAAO,UAAU;AAAA,EAAA;AAGnB,MAAI,WAAW,MAAM;AACnB,UAAM,QAAQ;AAEd,aAAS,IAAI,GAAG,IAAI,MAAM,MAAM,QAAQ,EAAE,GAAG;AACrC,YAAA,OAAO,MAAM,MAAM,CAAC;AAE1B,YAAM,QAAQ,eAAe,IAAI,MAAM,KAAK;AAC5C,UAAI,OAAO;AACF,eAAA;AAAA,MAAA;AAAA,IACT;AAAA,EACF;AAGK,SAAA;AACT;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reducer.js","sources":["../../../../src/QueryBuilder/utils/reducer.tsx"],"sourcesContent":["import { Reducer } from \"react\";\n\nimport { HvQueryBuilderQueryRule, Query, QueryAction } from \"../types\";\nimport { emptyGroup, emptyRule, findNodeById, findParentById } from \"./index\";\n\nconst reducer: Reducer<Query, QueryAction> = (state, action) => {\n const query = structuredClone(state);\n\n switch (action.type) {\n case \"reset-query\": {\n return emptyGroup();\n }\n case \"set-query\":\n return action.query;\n case \"reset-group\": {\n const group = findNodeById(action.id, query);\n if (group && \"rules\" in group) {\n group.rules = [emptyRule()];\n\n return query;\n }\n break;\n }\n case \"add-rule\": {\n const group = findNodeById(action.id, query);\n if (group && \"rules\" in group) {\n const rule = emptyRule();\n\n group.rules.push(rule);\n\n return query;\n }\n break;\n }\n case \"add-group\": {\n const group = findNodeById(action.id, query);\n if (group && \"rules\" in group) {\n group.rules.push(emptyGroup(true));\n\n return query;\n }\n break;\n }\n case \"remove-node\": {\n const parent = findParentById(action.id, query);\n if (parent) {\n parent.rules = parent.rules.filter((rule) => rule.id !== action.id);\n\n return query;\n }\n\n // reset query if deleting top node\n return emptyGroup();\n }\n case \"set-combinator\": {\n const node = findNodeById(action.id, query);\n if (node && \"combinator\" in node) {\n if (node.combinator !== action.combinator) {\n node.combinator = action.combinator;\n\n return query;\n }\n }\n break;\n }\n case \"set-attribute\": {\n const node = findNodeById(action.id, query) as HvQueryBuilderQueryRule;\n if (node && node.attribute !== action.attribute) {\n node.attribute = action.attribute ?? undefined;\n\n // we keep the operator and value unless the operator is explicitly null (or set)\n if (action.operator !== undefined) {\n node.operator = action.operator ?? undefined;\n node.value = action.value ?? undefined;\n }\n\n return query;\n }\n break;\n }\n case \"set-operator\": {\n const node = findNodeById(action.id, query);\n if (node && \"attribute\" in node) {\n if (node.operator !== action.operator) {\n // @ts-ignore\n node.operator = action.operator;\n if (action.value !== undefined) {\n node.value = action.value ?? undefined;\n }\n\n return query;\n }\n }\n break;\n }\n case \"set-value\": {\n const node = findNodeById(action.id, query);\n if (node && \"operator\" in node) {\n // Making sure we are not adding \"value: undefined\" to the object when value wasn't even set (because of EmptyValue)\n // Without this we can trigger onChange\n if (\"value\" in node) {\n node.value = action.value ?? undefined;\n }\n\n return query;\n }\n break;\n }\n\n default:\n }\n\n // Return existing state if nothing changed\n return query;\n};\n\nexport default reducer;\n"],"names":[],"mappings":";AAKM,MAAA,UAAuC,CAAC,OAAO,WAAW;AACxD,QAAA,QAAQ,gBAAgB,KAAK;AAEnC,UAAQ,OAAO,MAAM;AAAA,IACnB,KAAK,eAAe;AAClB,aAAO,WAAW;AAAA,IAAA;AAAA,IAEpB,KAAK;AACH,aAAO,OAAO;AAAA,IAChB,KAAK,eAAe;AAClB,YAAM,QAAQ,aAAa,OAAO,IAAI,KAAK;AACvC,UAAA,SAAS,WAAW,OAAO;AACvB,cAAA,QAAQ,CAAC,WAAW;AAEnB,eAAA;AAAA,MAAA;AAET;AAAA,IAAA;AAAA,IAEF,KAAK,YAAY;AACf,YAAM,QAAQ,aAAa,OAAO,IAAI,KAAK;AACvC,UAAA,SAAS,WAAW,OAAO;AAC7B,cAAM,OAAO,UAAU;AAEjB,cAAA,MAAM,KAAK,IAAI;AAEd,eAAA;AAAA,MAAA;AAET;AAAA,IAAA;AAAA,IAEF,KAAK,aAAa;AAChB,YAAM,QAAQ,aAAa,OAAO,IAAI,KAAK;AACvC,UAAA,SAAS,WAAW,OAAO;AAC7B,cAAM,MAAM,KAAK,WAAW,IAAI,CAAC;AAE1B,eAAA;AAAA,MAAA;AAET;AAAA,IAAA;AAAA,IAEF,KAAK,eAAe;AAClB,YAAM,SAAS,eAAe,OAAO,IAAI,KAAK;AAC9C,UAAI,QAAQ;AACH,eAAA,QAAQ,OAAO,MAAM,OAAO,CAAC,SAAS,KAAK,OAAO,OAAO,EAAE;AAE3D,eAAA;AAAA,MAAA;AAIT,aAAO,WAAW;AAAA,IAAA;AAAA,IAEpB,KAAK,kBAAkB;AACrB,YAAM,OAAO,aAAa,OAAO,IAAI,KAAK;AACtC,UAAA,QAAQ,gBAAgB,MAAM;AAC5B,YAAA,KAAK,eAAe,OAAO,YAAY;AACzC,eAAK,aAAa,OAAO;AAElB,iBAAA;AAAA,QAAA;AAAA,MACT;AAEF;AAAA,IAAA;AAAA,IAEF,KAAK,iBAAiB;AACpB,YAAM,OAAO,aAAa,OAAO,IAAI,KAAK;AAC1C,UAAI,QAAQ,KAAK,cAAc,OAAO,WAAW;AAC1C,aAAA,YAAY,OAAO,aAAa;AAGjC,YAAA,OAAO,aAAa,QAAW;AAC5B,eAAA,WAAW,OAAO,YAAY;AAC9B,eAAA,QAAQ,OAAO,SAAS;AAAA,QAAA;AAGxB,eAAA;AAAA,MAAA;AAET;AAAA,IAAA;AAAA,IAEF,KAAK,gBAAgB;AACnB,YAAM,OAAO,aAAa,OAAO,IAAI,KAAK;AACtC,UAAA,QAAQ,eAAe,MAAM;AAC3B,YAAA,KAAK,aAAa,OAAO,UAAU;AAErC,eAAK,WAAW,OAAO;AACnB,cAAA,OAAO,UAAU,QAAW;AACzB,iBAAA,QAAQ,OAAO,SAAS;AAAA,UAAA;AAGxB,iBAAA;AAAA,QAAA;AAAA,MACT;AAEF;AAAA,IAAA;AAAA,IAEF,KAAK,aAAa;AAChB,YAAM,OAAO,aAAa,OAAO,IAAI,KAAK;AACtC,UAAA,QAAQ,cAAc,MAAM;AAG9B,YAAI,WAAW,MAAM;AACd,eAAA,QAAQ,OAAO,SAAS;AAAA,QAAA;AAGxB,eAAA;AAAA,MAAA;AAET;AAAA,IAAA;AAAA,EAGF;AAIK,SAAA;AACT;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Radio.js","sources":["../../../src/Radio/Radio.tsx"],"sourcesContent":["import { forwardRef, useCallback, useState } from \"react\";\nimport { RadioProps as MuiRadioProps } from \"@mui/material/Radio\";\nimport {\n useDefaultProps,\n type ExtractNames,\n} from \"@hitachivantara/uikit-react-utils\";\n\nimport { HvBaseRadio } from \"../BaseRadio\";\nimport {\n HvFormElement,\n HvLabel,\n HvLabelProps,\n HvWarningText,\n isInvalid,\n} from \"../FormElement\";\nimport { useControlled } from \"../hooks/useControlled\";\nimport { useUniqueId } from \"../hooks/useUniqueId\";\nimport { setId } from \"../utils/setId\";\nimport { staticClasses, useClasses } from \"./Radio.styles\";\n\nexport { staticClasses as radioClasses };\n\nexport type HvRadioClasses = ExtractNames<typeof useClasses>;\n\nexport type HvRadioStatus = \"standBy\" | \"valid\" | \"invalid\";\n\nexport interface HvRadioProps\n extends Omit<MuiRadioProps, \"onChange\" | \"classes\"> {\n /**\n * A Jss Object used to override or extend the styles applied to the radio button.\n */\n classes?: HvRadioClasses;\n /**\n * The form element name.\n */\n name?: string;\n /**\n * The value of the form element.\n *\n * The default value is \"on\".\n */\n value?: any;\n /**\n * The label of the form element.\n *\n * The form element must be labeled for accessibility reasons.\n * If not provided, an aria-label or aria-labelledby must be provided.\n */\n label?: React.ReactNode;\n /**\n * Properties passed on to the label element.\n */\n labelProps?: HvLabelProps;\n /**\n * Indicates that user input is required on the form element.\n *\n * If a single radio button in a group has the required attribute, a radio button in\n * that group must be check, though it doesn't have to be the one with the attribute is applied.\n *\n * For that reason, the component doesn't make any uncontrolled changes to its validation status.\n * That should ideally be managed in the context of a radio button group.\n */\n required?: boolean;\n /**\n * Indicates that the form element is not editable.\n */\n readOnly?: boolean;\n /**\n * Indicates that the form element is disabled.\n */\n disabled?: boolean;\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?: boolean;\n /**\n * When uncontrolled, defines the initial checked state.\n */\n defaultChecked?: boolean;\n /**\n * The status of the form element.\n *\n * Valid is correct, invalid is incorrect and standBy means no validations have run.\n */\n status?: HvRadioStatus;\n /**\n * The error message to show when `status` is \"invalid\".\n */\n statusMessage?: string;\n /**\n * Identifies the element that provides an error message for the radio button.\n *\n * Will only be used when the validation status is invalid.\n */\n \"aria-errormessage\"?: string;\n /**\n * The callback fired when the radio button is pressed.\n */\n onChange?: (\n event: React.ChangeEvent<HTMLInputElement>,\n checked: boolean,\n value: any,\n ) => void;\n /**\n * Whether the selector should use semantic colors.\n */\n semantic?: boolean;\n /**\n * Properties passed on to the input element.\n */\n inputProps?: React.InputHTMLAttributes<HTMLInputElement>;\n /**\n * Callback fired when the component is focused with a keyboard.\n * We trigger a `onFocus` callback too.\n */\n onFocusVisible?: (event: React.FocusEvent<any>) => void;\n /** @ignore */\n ref?: MuiRadioProps[\"ref\"];\n /** @ignore */\n component?: MuiRadioProps[\"component\"];\n}\n\n/**\n * A Radio Button is a mechanism that allows user to select just an option from a group of options.\n *\n * It should used in a Radio Button Group to present the user with a range of options from\n * which the user **may select just one option** to complete their task.\n *\n * Individual use of radio buttons, at least uncontrolled, is unadvised as React state management doesn't\n * respond to the browser's native management of radio inputs checked state.\n */\nexport const HvRadio = forwardRef<HTMLButtonElement, HvRadioProps>(\n function HvRadio(props, ref) {\n const {\n classes: classesProp,\n className,\n id,\n name,\n value = \"on\",\n required,\n readOnly,\n disabled,\n label,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n labelProps,\n checked,\n defaultChecked = false,\n onChange,\n status = \"standBy\",\n statusMessage,\n \"aria-errormessage\": ariaErrorMessage,\n semantic,\n inputProps,\n onFocusVisible,\n onBlur,\n ...others\n } = useDefaultProps(\"HvRadio\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const elementId = useUniqueId(id);\n\n const [focusVisible, setFocusVisible] = useState(false);\n\n const onFocusVisibleCallback = useCallback(\n (evt: React.FocusEvent<any>) => {\n setFocusVisible(true);\n onFocusVisible?.(evt);\n },\n [onFocusVisible],\n );\n\n const onBlurCallback = useCallback(\n (evt: React.FocusEvent<any>) => {\n setFocusVisible(false);\n onBlur?.(evt);\n },\n [onBlur],\n );\n\n const [isChecked, setIsChecked] = useControlled(checked, defaultChecked);\n\n const onLocalChange = useCallback(\n (evt: React.ChangeEvent<HTMLInputElement>, newChecked: boolean) => {\n setIsChecked(newChecked);\n\n onChange?.(evt, newChecked, value);\n },\n [onChange, setIsChecked, value],\n );\n\n // the error message area will only be created if:\n // - an external element that provides an error message isn't identified via aria-errormessage AND\n // - both status and statusMessage properties are being controlled\n const canShowError =\n ariaErrorMessage == null &&\n status !== undefined &&\n statusMessage !== undefined;\n\n const hasLabel = label != null;\n\n const isStateInvalid = isInvalid(status);\n\n let errorMessageId: string | undefined;\n if (isStateInvalid) {\n errorMessageId = canShowError\n ? setId(elementId, \"error\")\n : ariaErrorMessage;\n }\n\n const radio = (\n <HvBaseRadio\n ref={ref}\n id={label ? setId(elementId, \"input\") : setId(id, \"input\")}\n name={name}\n className={cx(classes.radio, {\n [classes.invalidRadio]: isStateInvalid,\n })}\n disabled={disabled}\n readOnly={readOnly}\n onChange={onLocalChange}\n value={value}\n checked={isChecked}\n semantic={semantic}\n inputProps={{\n \"aria-invalid\": isStateInvalid ? true : undefined,\n \"aria-errormessage\": errorMessageId,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n ...inputProps,\n }}\n onFocusVisible={onFocusVisibleCallback}\n onBlur={onBlurCallback}\n {...others}\n />\n );\n\n return (\n <HvFormElement\n id={id}\n name={name}\n status={status || \"standBy\"}\n disabled={disabled}\n required={required}\n readOnly={readOnly}\n className={cx(classes.root, className)}\n >\n {hasLabel ? (\n <div\n className={cx(classes.container, {\n [classes.disabled]: disabled,\n [classes.focusVisible]: !!(focusVisible && label),\n [classes.invalidContainer]: isStateInvalid,\n [classes.checked]: isChecked,\n [classes.semantic]: semantic,\n })}\n >\n {radio}\n <HvLabel\n noWrap\n id={setId(elementId, \"label\")}\n htmlFor={setId(elementId, \"input\")}\n label={label}\n className={classes.label}\n {...labelProps}\n />\n </div>\n ) : (\n radio\n )}\n {canShowError && (\n <HvWarningText id={setId(elementId, \"error\")}>\n {statusMessage}\n </HvWarningText>\n )}\n </HvFormElement>\n );\n },\n);\n"],"names":["HvRadio"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Radio.styles.js","sources":["../../../src/Radio/Radio.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { outlineStyles } from \"../utils/focusUtils\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvRadio\", {\n root: { display: \"inline-block\" },\n container: {\n cursor: \"pointer\",\n display: \"flex\",\n alignItems: \"center\",\n transition: \"background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms\",\n borderRadius: theme.radii.base,\n\n \"&:hover:not($disabled)\": {\n backgroundColor: theme.colors.bgHover,\n },\n \":where(:has($label)) $radio\": {\n borderRadius: \"inherit\",\n },\n },\n invalidContainer: {},\n disabled: {\n cursor: \"not-allowed\",\n \"& $label\": { color: theme.colors.textDisabled, cursor: \"not-allowed\" },\n },\n focusVisible: {\n backgroundColor: theme.colors.bgPageSecondary,\n ...outlineStyles,\n },\n radio: {},\n invalidRadio: {},\n label: {\n verticalAlign: \"middle\",\n paddingRight: theme.space.xs,\n ...theme.typography.body,\n cursor: \"pointer\",\n lineHeight: \"32px\",\n width: \"100%\",\n },\n checked: {},\n semantic: {},\n});\n"],"names":[],"mappings":";;;AAKO,MAAM,EAAE,eAAe,eAAe,cAAc,WAAW;AAAA,EACpE,MAAM,EAAE,SAAS,eAAe;AAAA,EAChC,WAAW;AAAA,IACT,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,cAAc,MAAM,MAAM;AAAA,IAE1B,0BAA0B;AAAA,MACxB,iBAAiB,MAAM,OAAO;AAAA,IAChC;AAAA,IACA,+BAA+B;AAAA,MAC7B,cAAc;AAAA,IAAA;AAAA,EAElB;AAAA,EACA,kBAAkB,CAAC;AAAA,EACnB,UAAU;AAAA,IACR,QAAQ;AAAA,IACR,YAAY,EAAE,OAAO,MAAM,OAAO,cAAc,QAAQ,cAAc;AAAA,EACxE;AAAA,EACA,cAAc;AAAA,IACZ,iBAAiB,MAAM,OAAO;AAAA,IAC9B,GAAG;AAAA,EACL;AAAA,EACA,OAAO,CAAC;AAAA,EACR,cAAc,CAAC;AAAA,EACf,OAAO;AAAA,IACL,eAAe;AAAA,IACf,cAAc,MAAM,MAAM;AAAA,IAC1B,GAAG,MAAM,WAAW;AAAA,IACpB,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,OAAO;AAAA,EACT;AAAA,EACA,SAAS,CAAC;AAAA,EACV,UAAU,CAAA;AACZ,CAAC;"}
|