@patternfly/react-core 6.2.0-prerelease.32 → 6.2.0-prerelease.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -0
- package/components/package.json +1 -1
- package/deprecated/package.json +1 -1
- package/dist/dynamic/components/AboutModal/package.json +1 -1
- package/dist/dynamic/components/Accordion/package.json +1 -1
- package/dist/dynamic/components/ActionList/package.json +1 -1
- package/dist/dynamic/components/Alert/package.json +1 -1
- package/dist/dynamic/components/Avatar/package.json +1 -1
- package/dist/dynamic/components/BackToTop/package.json +1 -1
- package/dist/dynamic/components/Backdrop/package.json +1 -1
- package/dist/dynamic/components/BackgroundImage/package.json +1 -1
- package/dist/dynamic/components/Badge/package.json +1 -1
- package/dist/dynamic/components/Banner/package.json +1 -1
- package/dist/dynamic/components/Brand/package.json +1 -1
- package/dist/dynamic/components/Breadcrumb/package.json +1 -1
- package/dist/dynamic/components/Button/package.json +1 -1
- package/dist/dynamic/components/CalendarMonth/package.json +1 -1
- package/dist/dynamic/components/Card/package.json +1 -1
- package/dist/dynamic/components/Checkbox/package.json +1 -1
- package/dist/dynamic/components/ClipboardCopy/package.json +1 -1
- package/dist/dynamic/components/CodeBlock/package.json +1 -1
- package/dist/dynamic/components/Content/package.json +1 -1
- package/dist/dynamic/components/DataList/package.json +1 -1
- package/dist/dynamic/components/DatePicker/package.json +1 -1
- package/dist/dynamic/components/DescriptionList/package.json +1 -1
- package/dist/dynamic/components/Divider/package.json +1 -1
- package/dist/dynamic/components/Drawer/package.json +1 -1
- package/dist/dynamic/components/Dropdown/package.json +1 -1
- package/dist/dynamic/components/DualListSelector/package.json +1 -1
- package/dist/dynamic/components/EmptyState/package.json +1 -1
- package/dist/dynamic/components/ExpandableSection/package.json +1 -1
- package/dist/dynamic/components/FileUpload/package.json +1 -1
- package/dist/dynamic/components/Form/package.json +1 -1
- package/dist/dynamic/components/FormSelect/package.json +1 -1
- package/dist/dynamic/components/HelperText/package.json +1 -1
- package/dist/dynamic/components/Hint/package.json +1 -1
- package/dist/dynamic/components/Icon/package.json +1 -1
- package/dist/dynamic/components/InputGroup/package.json +1 -1
- package/dist/dynamic/components/JumpLinks/package.json +1 -1
- package/dist/dynamic/components/Label/package.json +1 -1
- package/dist/dynamic/components/List/package.json +1 -1
- package/dist/dynamic/components/LoginPage/package.json +1 -1
- package/dist/dynamic/components/Masthead/package.json +1 -1
- package/dist/dynamic/components/Menu/package.json +1 -1
- package/dist/dynamic/components/MenuToggle/package.json +1 -1
- package/dist/dynamic/components/Modal/package.json +1 -1
- package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
- package/dist/dynamic/components/Nav/package.json +1 -1
- package/dist/dynamic/components/NotificationBadge/package.json +1 -1
- package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
- package/dist/dynamic/components/NumberInput/package.json +1 -1
- package/dist/dynamic/components/OverflowMenu/package.json +1 -1
- package/dist/dynamic/components/Page/package.json +1 -1
- package/dist/dynamic/components/Pagination/package.json +1 -1
- package/dist/dynamic/components/Panel/package.json +1 -1
- package/dist/dynamic/components/Popover/package.json +1 -1
- package/dist/dynamic/components/Progress/package.json +1 -1
- package/dist/dynamic/components/ProgressStepper/package.json +1 -1
- package/dist/dynamic/components/Radio/package.json +1 -1
- package/dist/dynamic/components/SearchInput/package.json +1 -1
- package/dist/dynamic/components/Select/package.json +1 -1
- package/dist/dynamic/components/Sidebar/package.json +1 -1
- package/dist/dynamic/components/SimpleList/package.json +1 -1
- package/dist/dynamic/components/Skeleton/package.json +1 -1
- package/dist/dynamic/components/SkipToContent/package.json +1 -1
- package/dist/dynamic/components/Slider/package.json +1 -1
- package/dist/dynamic/components/Spinner/package.json +1 -1
- package/dist/dynamic/components/Switch/package.json +1 -1
- package/dist/dynamic/components/Tabs/package.json +1 -1
- package/dist/dynamic/components/TextArea/package.json +1 -1
- package/dist/dynamic/components/TextInput/package.json +1 -1
- package/dist/dynamic/components/TextInputGroup/package.json +1 -1
- package/dist/dynamic/components/TimePicker/package.json +1 -1
- package/dist/dynamic/components/Timestamp/package.json +1 -1
- package/dist/dynamic/components/Title/package.json +1 -1
- package/dist/dynamic/components/ToggleGroup/package.json +1 -1
- package/dist/dynamic/components/Toolbar/package.json +1 -1
- package/dist/dynamic/components/Tooltip/package.json +1 -1
- package/dist/dynamic/components/TreeView/package.json +1 -1
- package/dist/dynamic/components/Truncate/package.json +1 -1
- package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
- package/dist/dynamic/components/Wizard/package.json +1 -1
- package/dist/dynamic/deprecated/components/Chip/package.json +1 -1
- package/dist/dynamic/deprecated/components/DragDrop/package.json +1 -1
- package/dist/dynamic/deprecated/components/DualListSelector/package.json +1 -1
- package/dist/dynamic/deprecated/components/Modal/package.json +1 -1
- package/dist/dynamic/deprecated/components/Tile/package.json +1 -1
- package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
- package/dist/dynamic/deprecated/components/package.json +1 -1
- package/dist/dynamic/helpers/FocusTrap/FocusTrap/package.json +1 -1
- package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +1 -1
- package/dist/dynamic/helpers/KeyboardHandler/package.json +1 -1
- package/dist/dynamic/helpers/OUIA/ouia/package.json +1 -1
- package/dist/dynamic/helpers/Popper/Popper/package.json +1 -1
- package/dist/dynamic/helpers/constants/package.json +1 -1
- package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
- package/dist/dynamic/helpers/fileUtils/package.json +1 -1
- package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
- package/dist/dynamic/helpers/package.json +1 -1
- package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
- package/dist/dynamic/helpers/typeUtils/package.json +1 -1
- package/dist/dynamic/helpers/useInterval/package.json +1 -1
- package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
- package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
- package/dist/dynamic/helpers/util/package.json +1 -1
- package/dist/dynamic/layouts/Bullseye/package.json +1 -1
- package/dist/dynamic/layouts/Flex/package.json +1 -1
- package/dist/dynamic/layouts/Gallery/package.json +1 -1
- package/dist/dynamic/layouts/Grid/package.json +1 -1
- package/dist/dynamic/layouts/Level/package.json +1 -1
- package/dist/dynamic/layouts/Split/package.json +1 -1
- package/dist/dynamic/layouts/Stack/package.json +1 -1
- package/dist/dynamic/styles/package.json +1 -1
- package/dist/dynamic-modules.json +1 -0
- package/dist/esm/components/Alert/Alert.d.ts +3 -3
- package/dist/esm/components/Alert/Alert.d.ts.map +1 -1
- package/dist/esm/components/Alert/Alert.js +31 -5
- package/dist/esm/components/Alert/Alert.js.map +1 -1
- package/dist/esm/components/Alert/AlertActionCloseButton.d.ts.map +1 -1
- package/dist/esm/components/Alert/AlertActionCloseButton.js +18 -1
- package/dist/esm/components/Alert/AlertActionCloseButton.js.map +1 -1
- package/dist/esm/components/Alert/AlertGroup.d.ts +4 -0
- package/dist/esm/components/Alert/AlertGroup.d.ts.map +1 -1
- package/dist/esm/components/Alert/AlertGroup.js +3 -3
- package/dist/esm/components/Alert/AlertGroup.js.map +1 -1
- package/dist/esm/components/Alert/AlertGroupContext.d.ts +8 -0
- package/dist/esm/components/Alert/AlertGroupContext.d.ts.map +1 -0
- package/dist/esm/components/Alert/AlertGroupContext.js +6 -0
- package/dist/esm/components/Alert/AlertGroupContext.js.map +1 -0
- package/dist/esm/components/Alert/AlertGroupInline.d.ts.map +1 -1
- package/dist/esm/components/Alert/AlertGroupInline.js +28 -6
- package/dist/esm/components/Alert/AlertGroupInline.js.map +1 -1
- package/dist/esm/components/CalendarMonth/CalendarMonth.d.ts +2 -2
- package/dist/esm/components/CalendarMonth/CalendarMonth.d.ts.map +1 -1
- package/dist/esm/components/CalendarMonth/CalendarMonth.js.map +1 -1
- package/dist/esm/components/Card/Card.d.ts +2 -2
- package/dist/esm/components/Card/Card.d.ts.map +1 -1
- package/dist/esm/components/Card/Card.js.map +1 -1
- package/dist/esm/components/Card/CardHeader.d.ts +2 -0
- package/dist/esm/components/Card/CardHeader.d.ts.map +1 -1
- package/dist/esm/components/Card/CardHeader.js +2 -2
- package/dist/esm/components/Card/CardHeader.js.map +1 -1
- package/dist/esm/components/Card/CardTitle.d.ts +2 -2
- package/dist/esm/components/Card/CardTitle.d.ts.map +1 -1
- package/dist/esm/components/Card/CardTitle.js.map +1 -1
- package/dist/esm/components/ClipboardCopy/ClipboardCopy.d.ts +4 -0
- package/dist/esm/components/ClipboardCopy/ClipboardCopy.d.ts.map +1 -1
- package/dist/esm/components/ClipboardCopy/ClipboardCopy.js +15 -9
- package/dist/esm/components/ClipboardCopy/ClipboardCopy.js.map +1 -1
- package/dist/esm/components/NotificationBadge/NotificationBadge.d.ts +7 -0
- package/dist/esm/components/NotificationBadge/NotificationBadge.d.ts.map +1 -1
- package/dist/esm/components/NotificationBadge/NotificationBadge.js +21 -4
- package/dist/esm/components/NotificationBadge/NotificationBadge.js.map +1 -1
- package/dist/esm/components/Page/Page.d.ts.map +1 -1
- package/dist/esm/components/Page/Page.js.map +1 -1
- package/dist/esm/components/Page/PageSection.d.ts +2 -2
- package/dist/esm/components/Page/PageSection.d.ts.map +1 -1
- package/dist/esm/components/Page/PageSection.js.map +1 -1
- package/dist/esm/components/Toolbar/Toolbar.d.ts +3 -0
- package/dist/esm/components/Toolbar/Toolbar.d.ts.map +1 -1
- package/dist/esm/components/Toolbar/Toolbar.js +3 -2
- package/dist/esm/components/Toolbar/Toolbar.js.map +1 -1
- package/dist/esm/components/Toolbar/ToolbarContent.d.ts +9 -0
- package/dist/esm/components/Toolbar/ToolbarContent.d.ts.map +1 -1
- package/dist/esm/components/Toolbar/ToolbarContent.js +2 -2
- package/dist/esm/components/Toolbar/ToolbarContent.js.map +1 -1
- package/dist/esm/components/Toolbar/ToolbarGroup.d.ts +9 -0
- package/dist/esm/components/Toolbar/ToolbarGroup.d.ts.map +1 -1
- package/dist/esm/components/Toolbar/ToolbarGroup.js +2 -2
- package/dist/esm/components/Toolbar/ToolbarGroup.js.map +1 -1
- package/dist/esm/components/Toolbar/ToolbarItem.d.ts +9 -0
- package/dist/esm/components/Toolbar/ToolbarItem.d.ts.map +1 -1
- package/dist/esm/components/Toolbar/ToolbarItem.js +2 -2
- package/dist/esm/components/Toolbar/ToolbarItem.js.map +1 -1
- package/dist/esm/components/Truncate/Truncate.d.ts +6 -2
- package/dist/esm/components/Truncate/Truncate.d.ts.map +1 -1
- package/dist/esm/components/Truncate/Truncate.js +4 -3
- package/dist/esm/components/Truncate/Truncate.js.map +1 -1
- package/dist/esm/helpers/resizeObserver.d.ts +2 -2
- package/dist/esm/helpers/resizeObserver.js +2 -2
- package/dist/js/components/Alert/Alert.d.ts +3 -3
- package/dist/js/components/Alert/Alert.d.ts.map +1 -1
- package/dist/js/components/Alert/Alert.js +30 -4
- package/dist/js/components/Alert/Alert.js.map +1 -1
- package/dist/js/components/Alert/AlertActionCloseButton.d.ts.map +1 -1
- package/dist/js/components/Alert/AlertActionCloseButton.js +18 -1
- package/dist/js/components/Alert/AlertActionCloseButton.js.map +1 -1
- package/dist/js/components/Alert/AlertGroup.d.ts +4 -0
- package/dist/js/components/Alert/AlertGroup.d.ts.map +1 -1
- package/dist/js/components/Alert/AlertGroup.js +3 -3
- package/dist/js/components/Alert/AlertGroup.js.map +1 -1
- package/dist/js/components/Alert/AlertGroupContext.d.ts +8 -0
- package/dist/js/components/Alert/AlertGroupContext.d.ts.map +1 -0
- package/dist/js/components/Alert/AlertGroupContext.js +9 -0
- package/dist/js/components/Alert/AlertGroupContext.js.map +1 -0
- package/dist/js/components/Alert/AlertGroupInline.d.ts.map +1 -1
- package/dist/js/components/Alert/AlertGroupInline.js +27 -5
- package/dist/js/components/Alert/AlertGroupInline.js.map +1 -1
- package/dist/js/components/CalendarMonth/CalendarMonth.d.ts +2 -2
- package/dist/js/components/CalendarMonth/CalendarMonth.d.ts.map +1 -1
- package/dist/js/components/CalendarMonth/CalendarMonth.js.map +1 -1
- package/dist/js/components/Card/Card.d.ts +2 -2
- package/dist/js/components/Card/Card.d.ts.map +1 -1
- package/dist/js/components/Card/Card.js.map +1 -1
- package/dist/js/components/Card/CardHeader.d.ts +2 -0
- package/dist/js/components/Card/CardHeader.d.ts.map +1 -1
- package/dist/js/components/Card/CardHeader.js +2 -2
- package/dist/js/components/Card/CardHeader.js.map +1 -1
- package/dist/js/components/Card/CardTitle.d.ts +2 -2
- package/dist/js/components/Card/CardTitle.d.ts.map +1 -1
- package/dist/js/components/Card/CardTitle.js.map +1 -1
- package/dist/js/components/ClipboardCopy/ClipboardCopy.d.ts +4 -0
- package/dist/js/components/ClipboardCopy/ClipboardCopy.d.ts.map +1 -1
- package/dist/js/components/ClipboardCopy/ClipboardCopy.js +14 -8
- package/dist/js/components/ClipboardCopy/ClipboardCopy.js.map +1 -1
- package/dist/js/components/NotificationBadge/NotificationBadge.d.ts +7 -0
- package/dist/js/components/NotificationBadge/NotificationBadge.d.ts.map +1 -1
- package/dist/js/components/NotificationBadge/NotificationBadge.js +21 -4
- package/dist/js/components/NotificationBadge/NotificationBadge.js.map +1 -1
- package/dist/js/components/Page/Page.d.ts.map +1 -1
- package/dist/js/components/Page/Page.js.map +1 -1
- package/dist/js/components/Page/PageSection.d.ts +2 -2
- package/dist/js/components/Page/PageSection.d.ts.map +1 -1
- package/dist/js/components/Page/PageSection.js.map +1 -1
- package/dist/js/components/Toolbar/Toolbar.d.ts +3 -0
- package/dist/js/components/Toolbar/Toolbar.d.ts.map +1 -1
- package/dist/js/components/Toolbar/Toolbar.js +3 -2
- package/dist/js/components/Toolbar/Toolbar.js.map +1 -1
- package/dist/js/components/Toolbar/ToolbarContent.d.ts +9 -0
- package/dist/js/components/Toolbar/ToolbarContent.d.ts.map +1 -1
- package/dist/js/components/Toolbar/ToolbarContent.js +2 -2
- package/dist/js/components/Toolbar/ToolbarContent.js.map +1 -1
- package/dist/js/components/Toolbar/ToolbarGroup.d.ts +9 -0
- package/dist/js/components/Toolbar/ToolbarGroup.d.ts.map +1 -1
- package/dist/js/components/Toolbar/ToolbarGroup.js +2 -2
- package/dist/js/components/Toolbar/ToolbarGroup.js.map +1 -1
- package/dist/js/components/Toolbar/ToolbarItem.d.ts +9 -0
- package/dist/js/components/Toolbar/ToolbarItem.d.ts.map +1 -1
- package/dist/js/components/Toolbar/ToolbarItem.js +2 -2
- package/dist/js/components/Toolbar/ToolbarItem.js.map +1 -1
- package/dist/js/components/Truncate/Truncate.d.ts +6 -2
- package/dist/js/components/Truncate/Truncate.d.ts.map +1 -1
- package/dist/js/components/Truncate/Truncate.js +4 -3
- package/dist/js/components/Truncate/Truncate.js.map +1 -1
- package/dist/js/helpers/resizeObserver.d.ts +2 -2
- package/dist/js/helpers/resizeObserver.js +2 -2
- package/dist/umd/assets/{output-wTo4uWW3.css → output-DwKAaf_N.css} +20023 -19884
- package/dist/umd/react-core.min.js +3 -3
- package/helpers/package.json +1 -1
- package/layouts/package.json +1 -1
- package/next/package.json +1 -1
- package/package.json +6 -6
- package/src/components/Accordion/examples/Accordion.md +1 -0
- package/src/components/Accordion/examples/AccordionBordered.tsx +3 -2
- package/src/components/Accordion/examples/AccordionDefinitionList.tsx +2 -1
- package/src/components/Accordion/examples/AccordionFixedWithMultipleExpandBehavior.tsx +2 -1
- package/src/components/Accordion/examples/AccordionSingleExpandBehavior.tsx +2 -1
- package/src/components/Accordion/examples/AccordionToggleIconAtStart.tsx +2 -1
- package/src/components/ActionList/examples/ActionList.md +1 -1
- package/src/components/ActionList/examples/ActionListSingleGroup.tsx +2 -2
- package/src/components/Alert/Alert.tsx +36 -7
- package/src/components/Alert/AlertActionCloseButton.tsx +34 -14
- package/src/components/Alert/AlertGroup.tsx +6 -0
- package/src/components/Alert/AlertGroupContext.tsx +11 -0
- package/src/components/Alert/AlertGroupInline.tsx +61 -22
- package/src/components/Alert/__tests__/AlertActionCloseButton.test.tsx +20 -2
- package/src/components/Alert/__tests__/AlertGroup.test.tsx +48 -5
- package/src/components/Alert/examples/Alert.md +42 -33
- package/src/components/Alert/examples/AlertAsyncLiveRegion.tsx +5 -5
- package/src/components/Alert/examples/AlertDynamicLiveRegion.tsx +1 -1
- package/src/components/Alert/examples/AlertGroupAsync.tsx +5 -5
- package/src/components/Alert/examples/AlertGroupMultipleDynamic.tsx +3 -3
- package/src/components/Alert/examples/AlertGroupSingularDynamic.tsx +3 -3
- package/src/components/Alert/examples/AlertGroupSingularDynamicOverflow.tsx +4 -4
- package/src/components/Alert/examples/AlertGroupToast.tsx +3 -3
- package/src/components/Alert/examples/AlertGroupToastOverflowCapture.tsx +4 -4
- package/src/components/Breadcrumb/examples/Breadcrumb.md +1 -0
- package/src/components/Breadcrumb/examples/BreadcrumbDropdown.tsx +3 -2
- package/src/components/Button/examples/Button.md +1 -1
- package/src/components/Button/examples/ButtonProgress.tsx +5 -4
- package/src/components/CalendarMonth/CalendarMonth.tsx +2 -2
- package/src/components/CalendarMonth/examples/CalendarMonth.md +1 -0
- package/src/components/CalendarMonth/examples/CalendarMonthSelectableDate.tsx +2 -1
- package/src/components/Card/Card.tsx +2 -2
- package/src/components/Card/CardHeader.tsx +9 -1
- package/src/components/Card/CardTitle.tsx +2 -2
- package/src/components/Card/__tests__/Card.test.tsx +1 -3
- package/src/components/Card/__tests__/CardBody.test.tsx +1 -2
- package/src/components/Card/__tests__/CardFooter.test.tsx +1 -2
- package/src/components/Card/__tests__/CardHeader.test.tsx +14 -0
- package/src/components/Card/examples/Card.md +1 -1
- package/src/components/Card/examples/CardClickable.tsx +2 -1
- package/src/components/Card/examples/CardClickableSelectable.tsx +6 -5
- package/src/components/Card/examples/CardExpandable.tsx +5 -5
- package/src/components/Card/examples/CardExpandableWithIcon.tsx +4 -3
- package/src/components/Card/examples/CardHeaderInCardHead.tsx +3 -2
- package/src/components/Card/examples/CardOnlyActionsInCardHead.tsx +3 -2
- package/src/components/Card/examples/CardSelectable.tsx +5 -4
- package/src/components/Card/examples/CardSingleSelectable.tsx +2 -1
- package/src/components/Card/examples/CardTile.tsx +2 -1
- package/src/components/Card/examples/CardTileMulti.tsx +4 -3
- package/src/components/Card/examples/CardWithImageAndActions.tsx +4 -3
- package/src/components/Card/examples/CardWithModifiers.tsx +2 -2
- package/src/components/Checkbox/examples/Checkbox.md +1 -1
- package/src/components/Checkbox/examples/CheckboxControlled.tsx +7 -7
- package/src/components/ClipboardCopy/ClipboardCopy.tsx +35 -12
- package/src/components/ClipboardCopy/__tests__/ClipboardCopy.test.tsx +187 -1
- package/src/components/ClipboardCopy/__tests__/__snapshots__/ClipboardCopy.test.tsx.snap +1 -1
- package/src/components/ClipboardCopy/examples/ClipboardCopy.md +7 -0
- package/src/components/ClipboardCopy/examples/ClipboardCopyInlineCompactTruncation.tsx +15 -0
- package/src/components/DescriptionList/examples/DescriptionList.md +1 -0
- package/src/components/DescriptionList/examples/DescriptionListWithCard.tsx +3 -2
- package/src/components/DescriptionList/examples/DescriptionListWithLargeDisplaySize.tsx +3 -2
- package/src/components/DescriptionList/examples/DescriptionListWithLargeDisplaySizeAndCard.tsx +3 -2
- package/src/components/Dropdown/examples/Dropdown.md +1 -0
- package/src/components/Dropdown/examples/DropdownBasic.tsx +2 -1
- package/src/components/Dropdown/examples/DropdownWithDescriptions.tsx +2 -1
- package/src/components/Dropdown/examples/DropdownWithGroups.tsx +2 -1
- package/src/components/Dropdown/examples/DropdownWithKebabToggle.tsx +2 -1
- package/src/components/EmptyState/examples/EmptyState.md +2 -0
- package/src/components/EmptyState/examples/EmptyStateWithStatus.tsx +2 -1
- package/src/components/ExpandableSection/examples/ExpandableSectionBasic.tsx +2 -1
- package/src/components/ExpandableSection/examples/ExpandableSectionCustomToggle.tsx +2 -1
- package/src/components/ExpandableSection/examples/ExpandableSectionDetached.tsx +2 -1
- package/src/components/ExpandableSection/examples/ExpandableSectionDisclosure.tsx +2 -1
- package/src/components/ExpandableSection/examples/ExpandableSectionTruncateExpansion.tsx +2 -1
- package/src/components/FileUpload/examples/FileUpload.md +1 -0
- package/src/components/FileUpload/examples/FileUploadCustomPreview.tsx +3 -2
- package/src/components/FileUpload/examples/FileUploadCustomUpload.tsx +12 -11
- package/src/components/FileUpload/examples/FileUploadSimpleFile.tsx +3 -2
- package/src/components/FileUpload/examples/FileUploadSimpleText.tsx +4 -3
- package/src/components/FileUpload/examples/FileUploadTextWithEdits.tsx +4 -3
- package/src/components/FileUpload/examples/FileUploadTextWithRestrictions.tsx +6 -5
- package/src/components/FileUpload/examples/FileUploadWithHelperText.tsx +4 -3
- package/src/components/FormSelect/examples/FormSelect.md +1 -0
- package/src/components/FormSelect/examples/FormSelectBasic.tsx +2 -1
- package/src/components/FormSelect/examples/FormSelectDisabled.tsx +2 -1
- package/src/components/FormSelect/examples/FormSelectGrouped.tsx +2 -1
- package/src/components/FormSelect/examples/FormSelectValidated.tsx +4 -3
- package/src/components/Hint/examples/Hint.md +1 -1
- package/src/components/Hint/examples/HintActionsWithNoOffset.tsx +2 -1
- package/src/components/Hint/examples/HintBasicWithTitle.tsx +2 -1
- package/src/components/Hint/examples/HintBasicWithoutTitle.tsx +2 -2
- package/src/components/Icon/examples/Icon.md +1 -1
- package/src/components/Icon/examples/IconCustomProgress.tsx +2 -2
- package/src/components/Icon/examples/IconProgress.tsx +2 -2
- package/src/components/InputGroup/examples/InputGroup.md +1 -1
- package/src/components/InputGroup/examples/InputGroupWithDropdown.tsx +2 -2
- package/src/components/InputGroup/examples/InputGroupWithPopover.tsx +3 -3
- package/src/components/Label/examples/Label.md +1 -1
- package/src/components/Label/examples/LabelEditable.tsx +3 -3
- package/src/components/Label/examples/LabelGroupCategoryRemovable.tsx +2 -1
- package/src/components/Label/examples/LabelGroupEditableAdd.tsx +3 -2
- package/src/components/Label/examples/LabelGroupEditableAddDropdown.tsx +8 -7
- package/src/components/Label/examples/LabelGroupEditableAddModal.tsx +21 -20
- package/src/components/Label/examples/LabelGroupEditableLabels.tsx +4 -3
- package/src/components/Label/examples/LabelGroupVerticalCategoryOverflowRemovable.tsx +2 -1
- package/src/components/LoginPage/examples/LoginPage.md +1 -1
- package/src/components/LoginPage/examples/LoginPageBasic.tsx +7 -7
- package/src/components/LoginPage/examples/LoginPageLanguageSelect.tsx +9 -9
- package/src/components/LoginPage/examples/LoginPageShowHidePassword.tsx +7 -7
- package/src/components/Menu/examples/Menu.md +1 -1
- package/src/components/Menu/examples/MenuBasic.tsx +3 -3
- package/src/components/Menu/examples/MenuDangerMenuItem.tsx +2 -1
- package/src/components/Menu/examples/MenuFilterDrilldown.tsx +7 -6
- package/src/components/Menu/examples/MenuFilteringWithSearchInput.tsx +3 -2
- package/src/components/Menu/examples/MenuOptionMultiSelect.tsx +2 -1
- package/src/components/Menu/examples/MenuOptionSingleSelect.tsx +3 -2
- package/src/components/Menu/examples/MenuScrollable.tsx +2 -1
- package/src/components/Menu/examples/MenuScrollableCustomMenuHeight.tsx +2 -1
- package/src/components/Menu/examples/MenuWithActions.tsx +2 -1
- package/src/components/Menu/examples/MenuWithCheckbox.tsx +2 -1
- package/src/components/Menu/examples/MenuWithDescription.tsx +2 -1
- package/src/components/Menu/examples/MenuWithDrilldown.tsx +5 -4
- package/src/components/Menu/examples/MenuWithDrilldownBreadcrumbs.tsx +3 -3
- package/src/components/Menu/examples/MenuWithDrilldownInitialState.tsx +5 -4
- package/src/components/Menu/examples/MenuWithDrilldownSubmenuFunctions.tsx +5 -4
- package/src/components/Menu/examples/MenuWithFavorites.tsx +3 -3
- package/src/components/Menu/examples/MenuWithFooter.tsx +2 -1
- package/src/components/Menu/examples/MenuWithIcons.tsx +2 -1
- package/src/components/Menu/examples/MenuWithLinks.tsx +2 -1
- package/src/components/Menu/examples/MenuWithSeparators.tsx +2 -1
- package/src/components/Menu/examples/MenuWithTitledGroups.tsx +2 -1
- package/src/components/Menu/examples/MenuWithViewMore.tsx +9 -8
- package/src/components/MenuToggle/examples/MenuToggle.md +19 -13
- package/src/components/MenuToggle/examples/MenuToggleTypeahead.tsx +2 -1
- package/src/components/Modal/examples/Modal.md +1 -1
- package/src/components/Modal/examples/ModalBasic.tsx +2 -2
- package/src/components/Modal/examples/ModalCustomFocus.tsx +2 -2
- package/src/components/Modal/examples/ModalCustomHeader.tsx +2 -2
- package/src/components/Modal/examples/ModalCustomTitleIcon.tsx +2 -2
- package/src/components/Modal/examples/ModalCustomWidth.tsx +2 -2
- package/src/components/Modal/examples/ModalNoHeaderFooter.tsx +2 -2
- package/src/components/Modal/examples/ModalSize.tsx +3 -3
- package/src/components/Modal/examples/ModalTitleIcon.tsx +2 -2
- package/src/components/Modal/examples/ModalTopAligned.tsx +2 -2
- package/src/components/Modal/examples/ModalWithDescription.tsx +2 -2
- package/src/components/Modal/examples/ModalWithDropdown.tsx +3 -3
- package/src/components/Modal/examples/ModalWithForm.tsx +8 -8
- package/src/components/Modal/examples/ModalWithHelp.tsx +2 -2
- package/src/components/Modal/examples/ModalWithOverflowingContent.tsx +2 -2
- package/src/components/Modal/examples/ModalWithWizard.tsx +2 -2
- package/src/components/MultipleFileUpload/examples/MultipleFileUpload.md +1 -0
- package/src/components/MultipleFileUpload/examples/MultipleFileUploadBasic.tsx +8 -7
- package/src/components/Nav/examples/Nav.md +1 -0
- package/src/components/Nav/examples/NavDefault.tsx +2 -1
- package/src/components/Nav/examples/NavDrilldown.tsx +2 -4
- package/src/components/Nav/examples/NavExpandable.tsx +3 -2
- package/src/components/Nav/examples/NavExpandableThirdLevel.tsx +3 -2
- package/src/components/Nav/examples/NavFlyout.tsx +2 -1
- package/src/components/Nav/examples/NavGrouped.tsx +2 -1
- package/src/components/Nav/examples/NavHorizontalNav.tsx +2 -1
- package/src/components/Nav/examples/NavHorizontalSubNav.tsx +2 -1
- package/src/components/Nav/examples/NavIcons.tsx +2 -1
- package/src/components/Nav/examples/NavMixed.tsx +3 -2
- package/src/components/NotificationBadge/NotificationBadge.tsx +34 -6
- package/src/components/NotificationBadge/__tests__/NotificationBadge.test.tsx +18 -3
- package/src/components/NotificationBadge/__tests__/__snapshots__/NotificationBadge.test.tsx.snap +34 -0
- package/src/components/NotificationBadge/examples/NotificationBadge.md +9 -1
- package/src/components/NotificationBadge/examples/NotificationBadgeBasic.tsx +4 -3
- package/src/components/NotificationBadge/examples/NotificationBadgeWithAnimation.tsx +48 -0
- package/src/components/NotificationBadge/examples/NotificationBadgeWithCount.tsx +4 -3
- package/src/components/NotificationDrawer/examples/NotificationDrawer.md +1 -0
- package/src/components/NotificationDrawer/examples/NotificationDrawerBasic.tsx +2 -1
- package/src/components/NotificationDrawer/examples/NotificationDrawerGroups.tsx +5 -4
- package/src/components/NotificationDrawer/examples/NotificationDrawerLightweight.tsx +4 -3
- package/src/components/NumberInput/examples/NumberInput.md +1 -1
- package/src/components/NumberInput/examples/NumberInputCustomStep.tsx +2 -1
- package/src/components/NumberInput/examples/NumberInputCustomStepAndThreshold.tsx +2 -1
- package/src/components/NumberInput/examples/NumberInputDefault.tsx +2 -1
- package/src/components/NumberInput/examples/NumberInputDisabled.tsx +2 -1
- package/src/components/NumberInput/examples/NumberInputUnit.tsx +3 -3
- package/src/components/NumberInput/examples/NumberInputUnitThreshold.tsx +2 -2
- package/src/components/NumberInput/examples/NumberInputVaryingSizes.tsx +5 -5
- package/src/components/NumberInput/examples/NumberInputWithStatus.tsx +3 -2
- package/src/components/OverflowMenu/examples/OverflowMenu.md +1 -0
- package/src/components/OverflowMenu/examples/OverflowMenuBreakpointOnContainer.tsx +4 -3
- package/src/components/OverflowMenu/examples/OverflowMenuGroupTypes.tsx +2 -1
- package/src/components/OverflowMenu/examples/OverflowMenuMultiGroup.tsx +2 -1
- package/src/components/OverflowMenu/examples/OverflowMenuPersistent.tsx +2 -1
- package/src/components/OverflowMenu/examples/OverflowMenuSimple.tsx +2 -1
- package/src/components/Page/Page.tsx +2 -2
- package/src/components/Page/PageSection.tsx +2 -2
- package/src/components/Page/examples/Page.md +1 -0
- package/src/components/Page/examples/PageCenteredSection.tsx +2 -1
- package/src/components/Page/examples/PageGroupSection.tsx +2 -1
- package/src/components/Page/examples/PageMainSectionPadding.tsx +2 -1
- package/src/components/Page/examples/PageMainSectionVariations.tsx +2 -1
- package/src/components/Page/examples/PageMultipleSidebarBody.tsx +2 -1
- package/src/components/Page/examples/PageVerticalNav.tsx +2 -1
- package/src/components/Page/examples/PageWithOrWithoutFill.tsx +2 -1
- package/src/components/Pagination/examples/Pagination.md +1 -1
- package/src/components/Pagination/examples/PaginationBottom.tsx +3 -2
- package/src/components/Pagination/examples/PaginationCompact.tsx +3 -2
- package/src/components/Pagination/examples/PaginationDisabled.tsx +3 -2
- package/src/components/Pagination/examples/PaginationIndeterminate.tsx +3 -3
- package/src/components/Pagination/examples/PaginationInset.tsx +3 -2
- package/src/components/Pagination/examples/PaginationNoItems.tsx +3 -2
- package/src/components/Pagination/examples/PaginationOffset.tsx +3 -2
- package/src/components/Pagination/examples/PaginationOnePage.tsx +3 -2
- package/src/components/Pagination/examples/PaginationSticky.tsx +4 -4
- package/src/components/Pagination/examples/PaginationTop.tsx +3 -2
- package/src/components/Popover/examples/Popover.md +1 -0
- package/src/components/Popover/examples/PopoverAdvanced.tsx +4 -3
- package/src/components/Popover/examples/PopoverAlert.tsx +2 -1
- package/src/components/Popover/examples/PopoverCloseControlled.tsx +2 -1
- package/src/components/Popover/examples/PopoverReactRef.tsx +2 -1
- package/src/components/Progress/examples/Progress.md +2 -0
- package/src/components/Progress/examples/ProgressHelperText.tsx +2 -1
- package/src/components/ProgressStepper/examples/ProgressStepper.md +1 -1
- package/src/components/ProgressStepper/examples/ProgressStepperBasicWithAlignment.tsx +3 -3
- package/src/components/ProgressStepper/examples/ProgressStepperCompact.tsx +3 -3
- package/src/components/Radio/examples/Radio.md +1 -1
- package/src/components/Radio/examples/RadioControlled.tsx +2 -2
- package/src/components/SearchInput/examples/SearchInput.md +1 -0
- package/src/components/SearchInput/examples/SearchInputAdvanced.tsx +4 -3
- package/src/components/SearchInput/examples/SearchInputBasic.tsx +2 -1
- package/src/components/SearchInput/examples/SearchInputFocusSearch.tsx +3 -2
- package/src/components/SearchInput/examples/SearchInputWithExpandable.tsx +3 -2
- package/src/components/SearchInput/examples/SearchInputWithNavigableOptions.tsx +4 -3
- package/src/components/SearchInput/examples/SearchInputWithResultCount.tsx +3 -2
- package/src/components/SearchInput/examples/SearchInputWithSubmitButton.tsx +2 -1
- package/src/components/Select/examples/Select.md +1 -1
- package/src/components/Select/examples/SelectBasic.tsx +4 -4
- package/src/components/Select/examples/SelectCheckbox.tsx +3 -2
- package/src/components/Select/examples/SelectFooter.tsx +3 -2
- package/src/components/Select/examples/SelectGrouped.tsx +3 -2
- package/src/components/Select/examples/SelectMultiTypeahead.tsx +9 -8
- package/src/components/Select/examples/SelectMultiTypeaheadCheckbox.tsx +11 -10
- package/src/components/Select/examples/SelectMultiTypeaheadCreatable.tsx +10 -9
- package/src/components/Select/examples/SelectOptionVariations.tsx +3 -2
- package/src/components/Select/examples/SelectTypeahead.tsx +10 -9
- package/src/components/Select/examples/SelectTypeaheadCreatable.tsx +10 -9
- package/src/components/Select/examples/SelectValidated.tsx +4 -4
- package/src/components/Select/examples/SelectViewMore.tsx +12 -11
- package/src/components/SimpleList/examples/SimpleList.md +1 -0
- package/src/components/SimpleList/examples/SimpleListUncontrolled.tsx +2 -1
- package/src/components/Slider/examples/Slider.md +1 -0
- package/src/components/Slider/examples/SliderActions.tsx +5 -4
- package/src/components/Slider/examples/SliderContinuous.tsx +4 -3
- package/src/components/Slider/examples/SliderDisabled.tsx +2 -1
- package/src/components/Slider/examples/SliderDiscrete.tsx +2 -1
- package/src/components/Slider/examples/SliderThumbValueInput.tsx +3 -2
- package/src/components/Slider/examples/SliderValueInput.tsx +7 -6
- package/src/components/Switch/examples/Switch.md +1 -1
- package/src/components/Switch/examples/SwitchBasic.tsx +2 -1
- package/src/components/Switch/examples/SwitchCheckedWithLabel.tsx +2 -1
- package/src/components/Switch/examples/SwitchReversed.tsx +2 -1
- package/src/components/Switch/examples/SwitchWithoutLabel.tsx +2 -1
- package/src/components/Tabs/examples/Tabs.md +2 -2
- package/src/components/Tabs/examples/TabsBoxSecondary.tsx +3 -2
- package/src/components/Tabs/examples/TabsChildrenMounting.tsx +2 -1
- package/src/components/Tabs/examples/TabsContentWithBodyPadding.tsx +5 -5
- package/src/components/Tabs/examples/TabsDefault.tsx +3 -2
- package/src/components/Tabs/examples/TabsDefaultOverflow.tsx +3 -2
- package/src/components/Tabs/examples/TabsDynamic.tsx +7 -6
- package/src/components/Tabs/examples/TabsFilled.tsx +3 -2
- package/src/components/Tabs/examples/TabsFilledWithIcons.tsx +3 -2
- package/src/components/Tabs/examples/TabsHelp.tsx +3 -2
- package/src/components/Tabs/examples/TabsHelpAndClose.tsx +7 -6
- package/src/components/Tabs/examples/TabsHorizontalOverflow.tsx +3 -2
- package/src/components/Tabs/examples/TabsIconAndText.tsx +2 -1
- package/src/components/Tabs/examples/TabsInset.tsx +3 -2
- package/src/components/Tabs/examples/TabsNav.tsx +2 -1
- package/src/components/Tabs/examples/TabsNavSubtab.tsx +3 -2
- package/src/components/Tabs/examples/TabsPageInsets.tsx +3 -2
- package/src/components/Tabs/examples/TabsSeparateContent.tsx +5 -5
- package/src/components/Tabs/examples/TabsSubtabs.tsx +4 -3
- package/src/components/Tabs/examples/TabsToggledSeparateContent.tsx +6 -6
- package/src/components/Tabs/examples/TabsTooltipReactRef.tsx +4 -3
- package/src/components/Tabs/examples/TabsUnmountingInvisibleChildren.tsx +2 -1
- package/src/components/Tabs/examples/TabsVertical.tsx +3 -2
- package/src/components/Tabs/examples/TabsVerticalExpandable.tsx +3 -2
- package/src/components/Tabs/examples/TabsVerticalExpandableUncontrolled.tsx +2 -1
- package/src/components/TextArea/examples/TextArea.md +1 -1
- package/src/components/TextArea/examples/TextAreaAutoResizing.tsx +2 -1
- package/src/components/TextArea/examples/TextAreaBasic.tsx +2 -1
- package/src/components/TextArea/examples/TextAreaHorizontallyResizable.tsx +2 -1
- package/src/components/TextArea/examples/TextAreaInvalid.tsx +2 -1
- package/src/components/TextArea/examples/TextAreaReadOnly.tsx +2 -2
- package/src/components/TextArea/examples/TextAreaResizableNone.tsx +2 -1
- package/src/components/TextArea/examples/TextAreaValidated.tsx +5 -4
- package/src/components/TextArea/examples/TextAreaVerticallyResizable.tsx +2 -1
- package/src/components/TextInput/examples/TextInput.md +1 -0
- package/src/components/TextInput/examples/TextInputBasic.tsx +2 -1
- package/src/components/TextInput/examples/TextInputCustomIcon.tsx +3 -2
- package/src/components/TextInput/examples/TextInputCustomIconInvalid.tsx +2 -1
- package/src/components/TextInput/examples/TextInputInvalid.tsx +2 -1
- package/src/components/TextInput/examples/TextInputReadOnly.tsx +2 -1
- package/src/components/TextInput/examples/TextInputSelectUsingRef.tsx +3 -2
- package/src/components/TextInput/examples/TextInputStartTruncated.tsx +2 -1
- package/src/components/TextInputGroup/examples/TextInputGroup.md +1 -0
- package/src/components/TextInputGroup/examples/TextInputGroupBasic.tsx +2 -1
- package/src/components/TextInputGroup/examples/TextInputGroupFilters.tsx +3 -2
- package/src/components/TextInputGroup/examples/TextInputGroupUtilitiesAndIcon.tsx +2 -1
- package/src/components/TextInputGroup/examples/TextInputGroupWithStatus.tsx +4 -5
- package/src/components/ToggleGroup/examples/ToggleGroup.md +1 -0
- package/src/components/ToggleGroup/examples/ToggleGroupCompact.tsx +2 -1
- package/src/components/ToggleGroup/examples/ToggleGroupDefaultMultiple.tsx +3 -2
- package/src/components/ToggleGroup/examples/ToggleGroupDefaultSingle.tsx +2 -1
- package/src/components/ToggleGroup/examples/ToggleGroupIcon.tsx +2 -1
- package/src/components/ToggleGroup/examples/ToggleGroupTextIcon.tsx +2 -1
- package/src/components/Toolbar/Toolbar.tsx +5 -0
- package/src/components/Toolbar/ToolbarContent.tsx +11 -0
- package/src/components/Toolbar/ToolbarGroup.tsx +11 -0
- package/src/components/Toolbar/ToolbarItem.tsx +11 -0
- package/src/components/Toolbar/__tests__/Toolbar.test.tsx +58 -0
- package/src/components/Toolbar/__tests__/ToolbarGroup.test.tsx +28 -1
- package/src/components/Toolbar/__tests__/ToolbarItem.test.tsx +27 -0
- package/src/components/Toolbar/__tests__/__snapshots__/Toolbar.test.tsx.snap +1 -1
- package/src/components/Toolbar/examples/Toolbar.md +9 -2
- package/src/components/Toolbar/examples/ToolbarComponentManagedToggleGroups.tsx +6 -6
- package/src/components/Toolbar/examples/ToolbarConsumerManagedToggleGroups.tsx +7 -7
- package/src/components/Toolbar/examples/ToolbarContentWrap.tsx +35 -0
- package/src/components/Toolbar/examples/ToolbarCustomLabelGroupContent.tsx +4 -4
- package/src/components/Toolbar/examples/ToolbarGroupSpacers.tsx +3 -3
- package/src/components/Toolbar/examples/ToolbarGroups.tsx +7 -7
- package/src/components/Toolbar/examples/ToolbarItemSpacers.tsx +5 -5
- package/src/components/Toolbar/examples/ToolbarStacked.tsx +9 -9
- package/src/components/Toolbar/examples/ToolbarSticky.tsx +3 -3
- package/src/components/Toolbar/examples/ToolbarWithFilters.tsx +6 -6
- package/src/components/Tooltip/examples/Tooltip.md +1 -0
- package/src/components/Tooltip/examples/TooltipIcon.tsx +2 -1
- package/src/components/Tooltip/examples/TooltipOptions.tsx +14 -13
- package/src/components/Tooltip/examples/TooltipReactRef.tsx +2 -1
- package/src/components/TreeView/examples/TreeView.md +1 -1
- package/src/components/TreeView/examples/TreeViewMultiselectable.tsx +2 -1
- package/src/components/TreeView/examples/TreeViewSelectionExpansion.tsx +2 -1
- package/src/components/TreeView/examples/TreeViewSingleSelectable.tsx +3 -3
- package/src/components/TreeView/examples/TreeViewWithActionItems.tsx +3 -2
- package/src/components/TreeView/examples/TreeViewWithBadges.tsx +2 -1
- package/src/components/TreeView/examples/TreeViewWithCheckboxes.tsx +3 -2
- package/src/components/TreeView/examples/TreeViewWithCustomBadges.tsx +2 -1
- package/src/components/TreeView/examples/TreeViewWithIconPerItem.tsx +2 -1
- package/src/components/TreeView/examples/TreeViewWithIcons.tsx +2 -1
- package/src/components/TreeView/examples/TreeViewWithMemoization.tsx +3 -3
- package/src/components/TreeView/examples/TreeViewWithSearch.tsx +4 -3
- package/src/components/Truncate/Truncate.tsx +12 -3
- package/src/components/Wizard/examples/Wizard.md +1 -0
- package/src/components/Wizard/examples/WizardEnabledOnFormValidation.tsx +3 -2
- package/src/components/Wizard/examples/WizardGetCurrentStep.tsx +2 -1
- package/src/components/Wizard/examples/WizardStepDrawerContent.tsx +3 -2
- package/src/components/Wizard/examples/WizardStepStatus.tsx +5 -4
- package/src/components/Wizard/examples/WizardToggleStepVisibility.tsx +4 -3
- package/src/components/Wizard/examples/WizardValidateOnButtonPress.tsx +8 -7
- package/src/components/Wizard/examples/WizardWithCustomFooter.tsx +3 -2
- package/src/components/Wizard/examples/WizardWithSubmitProgress.tsx +5 -4
- package/src/components/Wizard/examples/WizardWithinModal.tsx +2 -1
- package/src/demos/AlertGroup.md +1 -1
- package/src/demos/BackToTop.md +1 -0
- package/src/demos/Button.md +3 -1
- package/src/demos/CustomMenus/ApplicationLauncher.md +2 -0
- package/src/demos/CustomMenus/ContextSelector.md +1 -0
- package/src/demos/CustomMenus/CustomMenus.md +2 -0
- package/src/demos/CustomMenus/OptionsMenu.md +1 -0
- package/src/demos/CustomMenus/examples/ActionsMenuDemo.tsx +4 -3
- package/src/demos/CustomMenus/examples/ApplicationLauncherDemo.tsx +9 -9
- package/src/demos/CustomMenus/examples/ContextSelectorDemo.tsx +7 -6
- package/src/demos/CustomMenus/examples/DateSelectDemo.tsx +4 -3
- package/src/demos/CustomMenus/examples/DrilldownMenuDemo.tsx +8 -7
- package/src/demos/CustomMenus/examples/FavoritesDemo.tsx +2 -2
- package/src/demos/CustomMenus/examples/FlyoutDemo.tsx +4 -3
- package/src/demos/CustomMenus/examples/InlineSearchFilterMenuDemo.tsx +6 -5
- package/src/demos/CustomMenus/examples/OptionsMenuDemo.tsx +4 -3
- package/src/demos/CustomMenus/examples/TreeViewMenuDemo.tsx +5 -4
- package/src/demos/DataList/examples/DataListActionable.tsx +3 -2
- package/src/demos/DataList/examples/DataListExpandableControlInToolbar.tsx +6 -6
- package/src/demos/DataList/examples/DataListStaticBottomPagination.tsx +4 -4
- package/src/demos/DataListDemo.md +2 -0
- package/src/demos/DatePicker/DatePicker.md +3 -2
- package/src/demos/DateTimePicker.md +4 -2
- package/src/demos/DescriptionList/DescriptionList.md +1 -0
- package/src/demos/DescriptionList/examples/DescriptionListInDrawer.tsx +4 -3
- package/src/demos/ExpandableSection/ExpandableSection.md +2 -0
- package/src/demos/ExpandableSection/examples/ExpandableTextDemo.tsx +2 -1
- package/src/demos/Filters/FilterDemos.md +1 -1
- package/src/demos/Filters/examples/FilterAttributeSearch.tsx +29 -29
- package/src/demos/Filters/examples/FilterCheckboxSelect.tsx +16 -16
- package/src/demos/Filters/examples/FilterFaceted.tsx +17 -17
- package/src/demos/Filters/examples/FilterMixedSelectGroup.tsx +22 -22
- package/src/demos/Filters/examples/FilterSameSelectGroup.tsx +22 -22
- package/src/demos/Filters/examples/FilterSearchInput.tsx +11 -11
- package/src/demos/Filters/examples/FilterSingleSelect.tsx +17 -17
- package/src/demos/HelperText.md +1 -0
- package/src/demos/JumpLinks.md +5 -3
- package/src/demos/LabelGroupDemos.md +1 -0
- package/src/demos/Masthead.md +1 -0
- package/src/demos/MultipleFileUploadDemos.md +1 -1
- package/src/demos/Nav.md +1 -0
- package/src/demos/NotificationDrawer/NotificationDrawer.md +2 -0
- package/src/demos/NotificationDrawer/examples/NotificationDrawerBasic.tsx +10 -13
- package/src/demos/NotificationDrawer/examples/NotificationDrawerGrouped.tsx +13 -16
- package/src/demos/Page.md +1 -0
- package/src/demos/PasswordGenerator.md +9 -7
- package/src/demos/PasswordStrength.md +1 -0
- package/src/demos/PrimaryDetail.md +1 -0
- package/src/demos/ProgressDemo.md +5 -3
- package/src/demos/ProgressStepperDemo.md +3 -1
- package/src/demos/RTL/RTL.md +1 -0
- package/src/demos/RTL/examples/PaginatedTable.jsx +16 -15
- package/src/demos/SearchInput/SearchInput.md +24 -22
- package/src/demos/Tabs.md +6 -3
- package/src/demos/TextInputGroupDemo.md +1 -0
- package/src/demos/Toolbar.md +1 -0
- package/src/demos/Wizard/WizardDemo.md +2 -0
- package/src/demos/examples/Card/CardAggregateStatus.tsx +2 -2
- package/src/demos/examples/Card/CardEventsView.tsx +2 -2
- package/src/demos/examples/Card/CardHorizontalGrid.tsx +3 -2
- package/src/demos/examples/Card/CardLogView.tsx +2 -2
- package/src/demos/examples/Card/CardNested.tsx +5 -4
- package/src/demos/examples/Card/CardStatus.tsx +3 -2
- package/src/demos/examples/Card/CardStatusTabbed.tsx +2 -1
- package/src/demos/examples/Card/CardWithAccordion.tsx +2 -1
- package/src/demos/examples/DateTimePicker/DateTimePicker.tsx +5 -4
- package/src/demos/examples/HelperText/HelperTextDynamic.tsx +4 -3
- package/src/demos/examples/HelperText/HelperTextStatic.tsx +2 -1
- package/src/demos/examples/HelperText/HelperTextStaticTextDynamicVariant.tsx +4 -3
- package/src/demos/examples/Masthead/MastheadWithHorizontalNav.tsx +9 -8
- package/src/demos/examples/Masthead/MastheadWithUtilitiesAndUserDropdownMenu.tsx +16 -16
- package/src/demos/examples/MultipleFileUpload/MultipleFileUploadRejectedFile.tsx +8 -7
- package/src/demos/examples/Nav/NavDrilldown.tsx +3 -3
- package/src/demos/examples/Nav/NavExpandable.tsx +3 -3
- package/src/demos/examples/Nav/NavFlyout.tsx +8 -7
- package/src/demos/examples/Nav/NavGrouped.tsx +2 -1
- package/src/demos/examples/Nav/NavHorizontal.tsx +5 -5
- package/src/demos/examples/Nav/NavHorizontalWithSubnav.tsx +6 -6
- package/src/demos/examples/Nav/NavManual.tsx +8 -8
- package/src/demos/examples/Nav/NavWithSubnav.tsx +3 -3
- package/src/demos/examples/Page/PageContextSelector.tsx +7 -6
- package/src/demos/examples/Page/PageStickySectionBreadcrumb.tsx +5 -4
- package/src/demos/examples/Page/PageStickySectionGroupAlternate.tsx +5 -4
- package/src/demos/examples/PasswordStrength/PasswordStrengthDemo.tsx +2 -2
- package/src/demos/examples/PrimaryDetail/PrimaryDetailCardView.tsx +15 -15
- package/src/demos/examples/PrimaryDetail/PrimaryDetailContentPadding.tsx +9 -9
- package/src/demos/examples/PrimaryDetail/PrimaryDetailDataListInCard.tsx +5 -5
- package/src/demos/examples/PrimaryDetail/PrimaryDetailFullPage.tsx +9 -9
- package/src/demos/examples/PrimaryDetail/PrimaryDetailInlineModifier.tsx +9 -9
- package/src/demos/examples/PrimaryDetail/PrimaryDetailSimpleListInCard.tsx +3 -3
- package/src/demos/examples/Tabs/ModalTabs.tsx +7 -7
- package/src/demos/examples/Tabs/NestedTabs.tsx +3 -2
- package/src/demos/examples/Tabs/NestedUnindentedTabs.tsx +3 -2
- package/src/demos/examples/Tabs/TabsAndTable.tsx +5 -5
- package/src/demos/examples/TextInputGroup/AttributeValueFiltering.tsx +10 -9
- package/src/demos/examples/TextInputGroup/AutoCompleteSearch.tsx +9 -8
- package/src/demos/examples/Toolbar/ConsoleLogViewerToolbar.tsx +17 -17
- package/src/demos/examples/Wizard/InModalWithDrawer.tsx +3 -2
- package/src/demos/examples/Wizard/InModalWithDrawerInformationalStep.tsx +3 -2
- package/src/demos/examples/Wizard/InPageWithDrawer.tsx +4 -4
- package/src/demos/examples/Wizard/InPageWithDrawerInformationalStep.tsx +4 -4
- package/src/deprecated/components/Chip/examples/Chip.md +1 -1
- package/src/deprecated/components/Chip/examples/ChipDefault.tsx +2 -2
- package/src/deprecated/components/Chip/examples/ChipGroupInline.tsx +2 -1
- package/src/deprecated/components/Chip/examples/ChipGroupRemovableCategories.tsx +3 -3
- package/src/deprecated/components/Chip/examples/ChipGroupWithCategories.tsx +2 -1
- package/src/deprecated/components/DragDrop/examples/DragDrop.md +1 -0
- package/src/deprecated/components/DragDrop/examples/DragDropBasic.tsx +2 -1
- package/src/deprecated/components/DragDrop/examples/DragDropMultipleLists.tsx +2 -1
- package/src/deprecated/components/Modal/examples/Modal.md +1 -1
- package/src/deprecated/components/Modal/examples/ModalBasic.tsx +2 -2
- package/src/deprecated/components/Modal/examples/ModalCustomFocus.tsx +2 -2
- package/src/deprecated/components/Modal/examples/ModalCustomHeaderFooter.tsx +2 -2
- package/src/deprecated/components/Modal/examples/ModalCustomTitleIcon.tsx +2 -2
- package/src/deprecated/components/Modal/examples/ModalCustomWidth.tsx +2 -2
- package/src/deprecated/components/Modal/examples/ModalLarge.tsx +2 -2
- package/src/deprecated/components/Modal/examples/ModalMedium.tsx +2 -2
- package/src/deprecated/components/Modal/examples/ModalNoHeaderFooter.tsx +2 -2
- package/src/deprecated/components/Modal/examples/ModalSmall.tsx +2 -2
- package/src/deprecated/components/Modal/examples/ModalTitleIcon.tsx +2 -2
- package/src/deprecated/components/Modal/examples/ModalTopAligned.tsx +2 -2
- package/src/deprecated/components/Modal/examples/ModalWithDescription.tsx +2 -2
- package/src/deprecated/components/Modal/examples/ModalWithDropdown.tsx +3 -3
- package/src/deprecated/components/Modal/examples/ModalWithForm.tsx +8 -8
- package/src/deprecated/components/Modal/examples/ModalWithHelp.tsx +2 -2
- package/src/deprecated/components/Modal/examples/ModalWithOverflowingContent.tsx +2 -2
- package/src/deprecated/components/Modal/examples/ModalWithWizard.tsx +2 -2
- package/src/deprecated/components/Tile/examples/Tile.md +5 -2
- package/src/deprecated/components/Wizard/examples/Wizard.md +1 -1
- package/src/deprecated/components/Wizard/examples/WizardEnabledOnFormValidation.tsx +8 -7
- package/src/deprecated/components/Wizard/examples/WizardFinished.tsx +3 -2
- package/src/deprecated/components/Wizard/examples/WizardInModal.tsx +2 -2
- package/src/deprecated/components/Wizard/examples/WizardIncrementallyEnabledSteps.tsx +2 -1
- package/src/deprecated/components/Wizard/examples/WizardValidateOnButtonPress.tsx +9 -8
- package/src/deprecated/components/Wizard/examples/WizardWithDrawer.tsx +3 -3
- package/src/helpers/resizeObserver.tsx +2 -2
- package/src/layouts/Bullseye/__tests__/Bullseye.test.tsx +1 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Fragment } from 'react';
|
|
1
|
+
import { Fragment, useEffect, useRef, useState } from 'react';
|
|
2
2
|
import {
|
|
3
3
|
SearchInput,
|
|
4
4
|
Toolbar,
|
|
@@ -61,9 +61,9 @@ const columnNames = {
|
|
|
61
61
|
|
|
62
62
|
export const FilterAttributeSearch: React.FunctionComponent = () => {
|
|
63
63
|
// Set up repo filtering
|
|
64
|
-
const [searchValue, setSearchValue] =
|
|
65
|
-
const [locationSelections, setLocationSelections] =
|
|
66
|
-
const [statusSelection, setStatusSelection] =
|
|
64
|
+
const [searchValue, setSearchValue] = useState('');
|
|
65
|
+
const [locationSelections, setLocationSelections] = useState<string[]>([]);
|
|
66
|
+
const [statusSelection, setStatusSelection] = useState('');
|
|
67
67
|
|
|
68
68
|
const onSearchChange = (value: string) => {
|
|
69
69
|
setSearchValue(value);
|
|
@@ -97,7 +97,7 @@ export const FilterAttributeSearch: React.FunctionComponent = () => {
|
|
|
97
97
|
// In this example, selected rows are tracked by the repo names from each row. This could be any unique identifier.
|
|
98
98
|
// This is to prevent state from being based on row order index in case we later add sorting.
|
|
99
99
|
const isRepoSelectable = (repo: Repository) => repo.name !== 'a'; // Arbitrary logic for this example
|
|
100
|
-
const [selectedRepoNames, setSelectedRepoNames] =
|
|
100
|
+
const [selectedRepoNames, setSelectedRepoNames] = useState<string[]>([]);
|
|
101
101
|
const setRepoSelected = (repo: Repository, isSelecting = true) =>
|
|
102
102
|
setSelectedRepoNames((prevSelected) => {
|
|
103
103
|
const otherSelectedRepoNames = prevSelected.filter((r) => r !== repo.name);
|
|
@@ -110,8 +110,8 @@ export const FilterAttributeSearch: React.FunctionComponent = () => {
|
|
|
110
110
|
const isRepoSelected = (repo: Repository) => selectedRepoNames.includes(repo.name);
|
|
111
111
|
|
|
112
112
|
// To allow shift+click to select/deselect multiple rows
|
|
113
|
-
const [recentSelectedRowIndex, setRecentSelectedRowIndex] =
|
|
114
|
-
const [shifting, setShifting] =
|
|
113
|
+
const [recentSelectedRowIndex, setRecentSelectedRowIndex] = useState<number | null>(null);
|
|
114
|
+
const [shifting, setShifting] = useState(false);
|
|
115
115
|
|
|
116
116
|
const onSelectRepo = (repo: Repository, rowIndex: number, isSelecting: boolean) => {
|
|
117
117
|
// If the user is shift + selecting the checkboxes, then all intermediate checkboxes should be selected
|
|
@@ -128,7 +128,7 @@ export const FilterAttributeSearch: React.FunctionComponent = () => {
|
|
|
128
128
|
setRecentSelectedRowIndex(rowIndex);
|
|
129
129
|
};
|
|
130
130
|
|
|
131
|
-
|
|
131
|
+
useEffect(() => {
|
|
132
132
|
const onKeyDown = (e: KeyboardEvent) => {
|
|
133
133
|
if (e.key === 'Shift') {
|
|
134
134
|
setShifting(true);
|
|
@@ -150,11 +150,11 @@ export const FilterAttributeSearch: React.FunctionComponent = () => {
|
|
|
150
150
|
}, []);
|
|
151
151
|
|
|
152
152
|
// Set up bulk selection menu
|
|
153
|
-
const bulkSelectMenuRef =
|
|
154
|
-
const bulkSelectToggleRef =
|
|
155
|
-
const bulkSelectContainerRef =
|
|
153
|
+
const bulkSelectMenuRef = useRef<HTMLDivElement>(null);
|
|
154
|
+
const bulkSelectToggleRef = useRef<any>(null);
|
|
155
|
+
const bulkSelectContainerRef = useRef<HTMLDivElement>(null);
|
|
156
156
|
|
|
157
|
-
const [isBulkSelectOpen, setIsBulkSelectOpen] =
|
|
157
|
+
const [isBulkSelectOpen, setIsBulkSelectOpen] = useState<boolean>(false);
|
|
158
158
|
|
|
159
159
|
const handleBulkSelectClickOutside = (event: MouseEvent) => {
|
|
160
160
|
if (isBulkSelectOpen && !bulkSelectMenuRef.current?.contains(event.target as Node)) {
|
|
@@ -177,7 +177,7 @@ export const FilterAttributeSearch: React.FunctionComponent = () => {
|
|
|
177
177
|
}
|
|
178
178
|
};
|
|
179
179
|
|
|
180
|
-
|
|
180
|
+
useEffect(() => {
|
|
181
181
|
window.addEventListener('keydown', handleBulkSelectMenuKeys);
|
|
182
182
|
window.addEventListener('click', handleBulkSelectClickOutside);
|
|
183
183
|
return () => {
|
|
@@ -266,10 +266,10 @@ export const FilterAttributeSearch: React.FunctionComponent = () => {
|
|
|
266
266
|
);
|
|
267
267
|
|
|
268
268
|
// Set up status single select
|
|
269
|
-
const [isStatusMenuOpen, setIsStatusMenuOpen] =
|
|
270
|
-
const statusToggleRef =
|
|
271
|
-
const statusMenuRef =
|
|
272
|
-
const statusContainerRef =
|
|
269
|
+
const [isStatusMenuOpen, setIsStatusMenuOpen] = useState<boolean>(false);
|
|
270
|
+
const statusToggleRef = useRef<HTMLButtonElement>(null);
|
|
271
|
+
const statusMenuRef = useRef<HTMLDivElement>(null);
|
|
272
|
+
const statusContainerRef = useRef<HTMLDivElement>(null);
|
|
273
273
|
|
|
274
274
|
const handleStatusMenuKeys = (event: KeyboardEvent) => {
|
|
275
275
|
if (isStatusMenuOpen && statusMenuRef.current?.contains(event.target as Node)) {
|
|
@@ -286,7 +286,7 @@ export const FilterAttributeSearch: React.FunctionComponent = () => {
|
|
|
286
286
|
}
|
|
287
287
|
};
|
|
288
288
|
|
|
289
|
-
|
|
289
|
+
useEffect(() => {
|
|
290
290
|
window.addEventListener('keydown', handleStatusMenuKeys);
|
|
291
291
|
window.addEventListener('click', handleStatusClickOutside);
|
|
292
292
|
return () => {
|
|
@@ -358,10 +358,10 @@ export const FilterAttributeSearch: React.FunctionComponent = () => {
|
|
|
358
358
|
);
|
|
359
359
|
|
|
360
360
|
// Set up location checkbox select
|
|
361
|
-
const [isLocationMenuOpen, setIsLocationMenuOpen] =
|
|
362
|
-
const locationToggleRef =
|
|
363
|
-
const locationMenuRef =
|
|
364
|
-
const locationContainerRef =
|
|
361
|
+
const [isLocationMenuOpen, setIsLocationMenuOpen] = useState<boolean>(false);
|
|
362
|
+
const locationToggleRef = useRef<HTMLButtonElement>(null);
|
|
363
|
+
const locationMenuRef = useRef<HTMLDivElement>(null);
|
|
364
|
+
const locationContainerRef = useRef<HTMLDivElement>(null);
|
|
365
365
|
|
|
366
366
|
const handleLocationMenuKeys = (event: KeyboardEvent) => {
|
|
367
367
|
if (isLocationMenuOpen && locationMenuRef.current?.contains(event.target as Node)) {
|
|
@@ -378,7 +378,7 @@ export const FilterAttributeSearch: React.FunctionComponent = () => {
|
|
|
378
378
|
}
|
|
379
379
|
};
|
|
380
380
|
|
|
381
|
-
|
|
381
|
+
useEffect(() => {
|
|
382
382
|
window.addEventListener('keydown', handleLocationMenuKeys);
|
|
383
383
|
window.addEventListener('click', handleLocationClickOutside);
|
|
384
384
|
return () => {
|
|
@@ -471,11 +471,11 @@ export const FilterAttributeSearch: React.FunctionComponent = () => {
|
|
|
471
471
|
);
|
|
472
472
|
|
|
473
473
|
// Set up attribute selector
|
|
474
|
-
const [activeAttributeMenu, setActiveAttributeMenu] =
|
|
475
|
-
const [isAttributeMenuOpen, setIsAttributeMenuOpen] =
|
|
476
|
-
const attributeToggleRef =
|
|
477
|
-
const attributeMenuRef =
|
|
478
|
-
const attributeContainerRef =
|
|
474
|
+
const [activeAttributeMenu, setActiveAttributeMenu] = useState<'Servers' | 'Status' | 'Location'>('Servers');
|
|
475
|
+
const [isAttributeMenuOpen, setIsAttributeMenuOpen] = useState(false);
|
|
476
|
+
const attributeToggleRef = useRef<HTMLButtonElement>(null);
|
|
477
|
+
const attributeMenuRef = useRef<HTMLDivElement>(null);
|
|
478
|
+
const attributeContainerRef = useRef<HTMLDivElement>(null);
|
|
479
479
|
|
|
480
480
|
const handleAttribueMenuKeys = (event: KeyboardEvent) => {
|
|
481
481
|
if (!isAttributeMenuOpen) {
|
|
@@ -498,7 +498,7 @@ export const FilterAttributeSearch: React.FunctionComponent = () => {
|
|
|
498
498
|
}
|
|
499
499
|
};
|
|
500
500
|
|
|
501
|
-
|
|
501
|
+
useEffect(() => {
|
|
502
502
|
window.addEventListener('keydown', handleAttribueMenuKeys);
|
|
503
503
|
window.addEventListener('click', handleAttributeClickOutside);
|
|
504
504
|
return () => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Fragment } from 'react';
|
|
1
|
+
import { Fragment, useEffect, useRef, useState } from 'react';
|
|
2
2
|
import {
|
|
3
3
|
Menu,
|
|
4
4
|
MenuContent,
|
|
@@ -52,7 +52,7 @@ const columnNames = {
|
|
|
52
52
|
|
|
53
53
|
export const FilterCheckboxSelect: React.FunctionComponent = () => {
|
|
54
54
|
// Set up repo filtering
|
|
55
|
-
const [selections, setSelections] =
|
|
55
|
+
const [selections, setSelections] = useState<string[]>([]);
|
|
56
56
|
const onFilter = (repo: Repository) => {
|
|
57
57
|
if (selections.length === 0) {
|
|
58
58
|
return true;
|
|
@@ -75,7 +75,7 @@ export const FilterCheckboxSelect: React.FunctionComponent = () => {
|
|
|
75
75
|
// In this example, selected rows are tracked by the repo names from each row. This could be any unique identifier.
|
|
76
76
|
// This is to prevent state from being based on row order index in case we later add sorting.
|
|
77
77
|
const isRepoSelectable = (repo: Repository) => repo.name !== 'a'; // Arbitrary logic for this example
|
|
78
|
-
const [selectedRepoNames, setSelectedRepoNames] =
|
|
78
|
+
const [selectedRepoNames, setSelectedRepoNames] = useState<string[]>([]);
|
|
79
79
|
const setRepoSelected = (repo: Repository, isSelecting = true) =>
|
|
80
80
|
setSelectedRepoNames((prevSelected) => {
|
|
81
81
|
const otherSelectedRepoNames = prevSelected.filter((r) => r !== repo.name);
|
|
@@ -88,8 +88,8 @@ export const FilterCheckboxSelect: React.FunctionComponent = () => {
|
|
|
88
88
|
const isRepoSelected = (repo: Repository) => selectedRepoNames.includes(repo.name);
|
|
89
89
|
|
|
90
90
|
// To allow shift+click to select/deselect multiple rows
|
|
91
|
-
const [recentSelectedRowIndex, setRecentSelectedRowIndex] =
|
|
92
|
-
const [shifting, setShifting] =
|
|
91
|
+
const [recentSelectedRowIndex, setRecentSelectedRowIndex] = useState<number | null>(null);
|
|
92
|
+
const [shifting, setShifting] = useState(false);
|
|
93
93
|
|
|
94
94
|
const onSelectRepo = (repo: Repository, rowIndex: number, isSelecting: boolean) => {
|
|
95
95
|
// If the user is shift + selecting the checkboxes, then all intermediate checkboxes should be selected
|
|
@@ -106,7 +106,7 @@ export const FilterCheckboxSelect: React.FunctionComponent = () => {
|
|
|
106
106
|
setRecentSelectedRowIndex(rowIndex);
|
|
107
107
|
};
|
|
108
108
|
|
|
109
|
-
|
|
109
|
+
useEffect(() => {
|
|
110
110
|
const onKeyDown = (e: KeyboardEvent) => {
|
|
111
111
|
if (e.key === 'Shift') {
|
|
112
112
|
setShifting(true);
|
|
@@ -128,11 +128,11 @@ export const FilterCheckboxSelect: React.FunctionComponent = () => {
|
|
|
128
128
|
}, []);
|
|
129
129
|
|
|
130
130
|
// Set up bulk selection menu
|
|
131
|
-
const bulkSelectMenuRef =
|
|
132
|
-
const bulkSelectToggleRef =
|
|
133
|
-
const bulkSelectContainerRef =
|
|
131
|
+
const bulkSelectMenuRef = useRef<HTMLDivElement>(null);
|
|
132
|
+
const bulkSelectToggleRef = useRef<any>(null);
|
|
133
|
+
const bulkSelectContainerRef = useRef<HTMLDivElement>(null);
|
|
134
134
|
|
|
135
|
-
const [isBulkSelectOpen, setIsBulkSelectOpen] =
|
|
135
|
+
const [isBulkSelectOpen, setIsBulkSelectOpen] = useState<boolean>(false);
|
|
136
136
|
|
|
137
137
|
const handleBulkSelectClickOutside = (event: MouseEvent) => {
|
|
138
138
|
if (isBulkSelectOpen && !bulkSelectMenuRef.current?.contains(event.target as Node)) {
|
|
@@ -155,7 +155,7 @@ export const FilterCheckboxSelect: React.FunctionComponent = () => {
|
|
|
155
155
|
}
|
|
156
156
|
};
|
|
157
157
|
|
|
158
|
-
|
|
158
|
+
useEffect(() => {
|
|
159
159
|
window.addEventListener('keydown', handleBulkSelectMenuKeys);
|
|
160
160
|
window.addEventListener('click', handleBulkSelectClickOutside);
|
|
161
161
|
return () => {
|
|
@@ -233,10 +233,10 @@ export const FilterCheckboxSelect: React.FunctionComponent = () => {
|
|
|
233
233
|
);
|
|
234
234
|
|
|
235
235
|
// Set up checkbox select menu
|
|
236
|
-
const [isOpen, setIsOpen] =
|
|
237
|
-
const toggleRef =
|
|
238
|
-
const menuRef =
|
|
239
|
-
const containerRef =
|
|
236
|
+
const [isOpen, setIsOpen] = useState<boolean>(false);
|
|
237
|
+
const toggleRef = useRef<HTMLButtonElement>(null);
|
|
238
|
+
const menuRef = useRef<HTMLDivElement>(null);
|
|
239
|
+
const containerRef = useRef<HTMLDivElement>(null);
|
|
240
240
|
|
|
241
241
|
const handleMenuKeys = (event: KeyboardEvent) => {
|
|
242
242
|
if (isOpen && menuRef.current?.contains(event.target as Node)) {
|
|
@@ -253,7 +253,7 @@ export const FilterCheckboxSelect: React.FunctionComponent = () => {
|
|
|
253
253
|
}
|
|
254
254
|
};
|
|
255
255
|
|
|
256
|
-
|
|
256
|
+
useEffect(() => {
|
|
257
257
|
window.addEventListener('keydown', handleMenuKeys);
|
|
258
258
|
window.addEventListener('click', handleClickOutside);
|
|
259
259
|
return () => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Fragment } from 'react';
|
|
1
|
+
import { Fragment, useEffect, useRef, useState } from 'react';
|
|
2
2
|
import {
|
|
3
3
|
Toolbar,
|
|
4
4
|
ToolbarContent,
|
|
@@ -60,8 +60,8 @@ const columnNames = {
|
|
|
60
60
|
|
|
61
61
|
export const FilterFaceted: React.FunctionComponent = () => {
|
|
62
62
|
// Set up repo filtering
|
|
63
|
-
const [locationSelections, setLocationSelections] =
|
|
64
|
-
const [statusSelections, setStatusSelections] =
|
|
63
|
+
const [locationSelections, setLocationSelections] = useState<string[]>([]);
|
|
64
|
+
const [statusSelections, setStatusSelections] = useState<string[]>([]);
|
|
65
65
|
|
|
66
66
|
const onFilter = (repo: Repository) => {
|
|
67
67
|
// Search status with status selection
|
|
@@ -80,7 +80,7 @@ export const FilterFaceted: React.FunctionComponent = () => {
|
|
|
80
80
|
// In this example, selected rows are tracked by the repo names from each row. This could be any unique identifier.
|
|
81
81
|
// This is to prevent state from being based on row order index in case we later add sorting.
|
|
82
82
|
const isRepoSelectable = (repo: Repository) => repo.name !== 'a'; // Arbitrary logic for this example
|
|
83
|
-
const [selectedRepoNames, setSelectedRepoNames] =
|
|
83
|
+
const [selectedRepoNames, setSelectedRepoNames] = useState<string[]>([]);
|
|
84
84
|
const setRepoSelected = (repo: Repository, isSelecting = true) =>
|
|
85
85
|
setSelectedRepoNames((prevSelected) => {
|
|
86
86
|
const otherSelectedRepoNames = prevSelected.filter((r) => r !== repo.name);
|
|
@@ -93,8 +93,8 @@ export const FilterFaceted: React.FunctionComponent = () => {
|
|
|
93
93
|
const isRepoSelected = (repo: Repository) => selectedRepoNames.includes(repo.name);
|
|
94
94
|
|
|
95
95
|
// To allow shift+click to select/deselect multiple rows
|
|
96
|
-
const [recentSelectedRowIndex, setRecentSelectedRowIndex] =
|
|
97
|
-
const [shifting, setShifting] =
|
|
96
|
+
const [recentSelectedRowIndex, setRecentSelectedRowIndex] = useState<number | null>(null);
|
|
97
|
+
const [shifting, setShifting] = useState(false);
|
|
98
98
|
|
|
99
99
|
const onSelectRepo = (repo: Repository, rowIndex: number, isSelecting: boolean) => {
|
|
100
100
|
// If the user is shift + selecting the checkboxes, then all intermediate checkboxes should be selected
|
|
@@ -111,7 +111,7 @@ export const FilterFaceted: React.FunctionComponent = () => {
|
|
|
111
111
|
setRecentSelectedRowIndex(rowIndex);
|
|
112
112
|
};
|
|
113
113
|
|
|
114
|
-
|
|
114
|
+
useEffect(() => {
|
|
115
115
|
const onKeyDown = (e: KeyboardEvent) => {
|
|
116
116
|
if (e.key === 'Shift') {
|
|
117
117
|
setShifting(true);
|
|
@@ -133,11 +133,11 @@ export const FilterFaceted: React.FunctionComponent = () => {
|
|
|
133
133
|
}, []);
|
|
134
134
|
|
|
135
135
|
// Set up bulk selection menu
|
|
136
|
-
const bulkSelectMenuRef =
|
|
137
|
-
const bulkSelectToggleRef =
|
|
138
|
-
const bulkSelectContainerRef =
|
|
136
|
+
const bulkSelectMenuRef = useRef<HTMLDivElement>(null);
|
|
137
|
+
const bulkSelectToggleRef = useRef<any>(null);
|
|
138
|
+
const bulkSelectContainerRef = useRef<HTMLDivElement>(null);
|
|
139
139
|
|
|
140
|
-
const [isBulkSelectOpen, setIsBulkSelectOpen] =
|
|
140
|
+
const [isBulkSelectOpen, setIsBulkSelectOpen] = useState<boolean>(false);
|
|
141
141
|
|
|
142
142
|
const handleBulkSelectClickOutside = (event: MouseEvent) => {
|
|
143
143
|
if (isBulkSelectOpen && !bulkSelectMenuRef.current?.contains(event.target as Node)) {
|
|
@@ -160,7 +160,7 @@ export const FilterFaceted: React.FunctionComponent = () => {
|
|
|
160
160
|
}
|
|
161
161
|
};
|
|
162
162
|
|
|
163
|
-
|
|
163
|
+
useEffect(() => {
|
|
164
164
|
window.addEventListener('keydown', handleBulkSelectMenuKeys);
|
|
165
165
|
window.addEventListener('click', handleBulkSelectClickOutside);
|
|
166
166
|
return () => {
|
|
@@ -239,10 +239,10 @@ export const FilterFaceted: React.FunctionComponent = () => {
|
|
|
239
239
|
);
|
|
240
240
|
|
|
241
241
|
// Set up location checkbox select
|
|
242
|
-
const [isOpen, setIsOpen] =
|
|
243
|
-
const toggleRef =
|
|
244
|
-
const menuRef =
|
|
245
|
-
const containerRef =
|
|
242
|
+
const [isOpen, setIsOpen] = useState<boolean>(false);
|
|
243
|
+
const toggleRef = useRef<HTMLButtonElement>(null);
|
|
244
|
+
const menuRef = useRef<HTMLDivElement>(null);
|
|
245
|
+
const containerRef = useRef<HTMLDivElement>(null);
|
|
246
246
|
|
|
247
247
|
const handleKeys = (event: KeyboardEvent) => {
|
|
248
248
|
if (isOpen && menuRef.current?.contains(event.target as Node)) {
|
|
@@ -259,7 +259,7 @@ export const FilterFaceted: React.FunctionComponent = () => {
|
|
|
259
259
|
}
|
|
260
260
|
};
|
|
261
261
|
|
|
262
|
-
|
|
262
|
+
useEffect(() => {
|
|
263
263
|
window.addEventListener('keydown', handleKeys);
|
|
264
264
|
window.addEventListener('click', handleClickOutside);
|
|
265
265
|
return () => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Fragment } from 'react';
|
|
1
|
+
import { Fragment, useEffect, useRef, useState } from 'react';
|
|
2
2
|
import {
|
|
3
3
|
Toolbar,
|
|
4
4
|
ToolbarContent,
|
|
@@ -59,8 +59,8 @@ const columnNames = {
|
|
|
59
59
|
|
|
60
60
|
export const FilterMixedSelectGroup: React.FunctionComponent = () => {
|
|
61
61
|
// Set up repo filtering
|
|
62
|
-
const [locationSelections, setLocationSelections] =
|
|
63
|
-
const [statusSelection, setStatusSelection] =
|
|
62
|
+
const [locationSelections, setLocationSelections] = useState<string[]>([]);
|
|
63
|
+
const [statusSelection, setStatusSelection] = useState('');
|
|
64
64
|
|
|
65
65
|
const onFilter = (repo: Repository) => {
|
|
66
66
|
// Search status with status selection
|
|
@@ -77,7 +77,7 @@ export const FilterMixedSelectGroup: React.FunctionComponent = () => {
|
|
|
77
77
|
// In this example, selected rows are tracked by the repo names from each row. This could be any unique identifier.
|
|
78
78
|
// This is to prevent state from being based on row order index in case we later add sorting.
|
|
79
79
|
const isRepoSelectable = (repo: Repository) => repo.name !== 'a'; // Arbitrary logic for this example
|
|
80
|
-
const [selectedRepoNames, setSelectedRepoNames] =
|
|
80
|
+
const [selectedRepoNames, setSelectedRepoNames] = useState<string[]>([]);
|
|
81
81
|
const setRepoSelected = (repo: Repository, isSelecting = true) =>
|
|
82
82
|
setSelectedRepoNames((prevSelected) => {
|
|
83
83
|
const otherSelectedRepoNames = prevSelected.filter((r) => r !== repo.name);
|
|
@@ -90,8 +90,8 @@ export const FilterMixedSelectGroup: React.FunctionComponent = () => {
|
|
|
90
90
|
const isRepoSelected = (repo: Repository) => selectedRepoNames.includes(repo.name);
|
|
91
91
|
|
|
92
92
|
// To allow shift+click to select/deselect multiple rows
|
|
93
|
-
const [recentSelectedRowIndex, setRecentSelectedRowIndex] =
|
|
94
|
-
const [shifting, setShifting] =
|
|
93
|
+
const [recentSelectedRowIndex, setRecentSelectedRowIndex] = useState<number | null>(null);
|
|
94
|
+
const [shifting, setShifting] = useState(false);
|
|
95
95
|
|
|
96
96
|
const onSelectRepo = (repo: Repository, rowIndex: number, isSelecting: boolean) => {
|
|
97
97
|
// If the user is shift + selecting the checkboxes, then all intermediate checkboxes should be selected
|
|
@@ -108,7 +108,7 @@ export const FilterMixedSelectGroup: React.FunctionComponent = () => {
|
|
|
108
108
|
setRecentSelectedRowIndex(rowIndex);
|
|
109
109
|
};
|
|
110
110
|
|
|
111
|
-
|
|
111
|
+
useEffect(() => {
|
|
112
112
|
const onKeyDown = (e: KeyboardEvent) => {
|
|
113
113
|
if (e.key === 'Shift') {
|
|
114
114
|
setShifting(true);
|
|
@@ -130,11 +130,11 @@ export const FilterMixedSelectGroup: React.FunctionComponent = () => {
|
|
|
130
130
|
}, []);
|
|
131
131
|
|
|
132
132
|
// Set up bulk selection menu
|
|
133
|
-
const bulkSelectMenuRef =
|
|
134
|
-
const bulkSelectToggleRef =
|
|
135
|
-
const bulkSelectContainerRef =
|
|
133
|
+
const bulkSelectMenuRef = useRef<HTMLDivElement>(null);
|
|
134
|
+
const bulkSelectToggleRef = useRef<any>(null);
|
|
135
|
+
const bulkSelectContainerRef = useRef<HTMLDivElement>(null);
|
|
136
136
|
|
|
137
|
-
const [isBulkSelectOpen, setIsBulkSelectOpen] =
|
|
137
|
+
const [isBulkSelectOpen, setIsBulkSelectOpen] = useState<boolean>(false);
|
|
138
138
|
|
|
139
139
|
const handleBulkSelectClickOutside = (event: MouseEvent) => {
|
|
140
140
|
if (isBulkSelectOpen && !bulkSelectMenuRef.current?.contains(event.target as Node)) {
|
|
@@ -157,7 +157,7 @@ export const FilterMixedSelectGroup: React.FunctionComponent = () => {
|
|
|
157
157
|
}
|
|
158
158
|
};
|
|
159
159
|
|
|
160
|
-
|
|
160
|
+
useEffect(() => {
|
|
161
161
|
window.addEventListener('keydown', handleBulkSelectMenuKeys);
|
|
162
162
|
window.addEventListener('click', handleBulkSelectClickOutside);
|
|
163
163
|
return () => {
|
|
@@ -236,10 +236,10 @@ export const FilterMixedSelectGroup: React.FunctionComponent = () => {
|
|
|
236
236
|
);
|
|
237
237
|
|
|
238
238
|
// Set up status single select
|
|
239
|
-
const [isStatusMenuOpen, setIsStatusMenuOpen] =
|
|
240
|
-
const statusToggleRef =
|
|
241
|
-
const statusMenuRef =
|
|
242
|
-
const statusContainerRef =
|
|
239
|
+
const [isStatusMenuOpen, setIsStatusMenuOpen] = useState<boolean>(false);
|
|
240
|
+
const statusToggleRef = useRef<HTMLButtonElement>(null);
|
|
241
|
+
const statusMenuRef = useRef<HTMLDivElement>(null);
|
|
242
|
+
const statusContainerRef = useRef<HTMLDivElement>(null);
|
|
243
243
|
|
|
244
244
|
const handleStatusMenuKeys = (event: KeyboardEvent) => {
|
|
245
245
|
if (isStatusMenuOpen && statusMenuRef.current?.contains(event.target as Node)) {
|
|
@@ -256,7 +256,7 @@ export const FilterMixedSelectGroup: React.FunctionComponent = () => {
|
|
|
256
256
|
}
|
|
257
257
|
};
|
|
258
258
|
|
|
259
|
-
|
|
259
|
+
useEffect(() => {
|
|
260
260
|
window.addEventListener('keydown', handleStatusMenuKeys);
|
|
261
261
|
window.addEventListener('click', handleStatusClickOutside);
|
|
262
262
|
return () => {
|
|
@@ -329,10 +329,10 @@ export const FilterMixedSelectGroup: React.FunctionComponent = () => {
|
|
|
329
329
|
);
|
|
330
330
|
|
|
331
331
|
// Set up location checkbox select
|
|
332
|
-
const [isLocationMenuOpen, setIsLocationMenuOpen] =
|
|
333
|
-
const locationToggleRef =
|
|
334
|
-
const locationMenuRef =
|
|
335
|
-
const locationContainerRef =
|
|
332
|
+
const [isLocationMenuOpen, setIsLocationMenuOpen] = useState<boolean>(false);
|
|
333
|
+
const locationToggleRef = useRef<HTMLButtonElement>(null);
|
|
334
|
+
const locationMenuRef = useRef<HTMLDivElement>(null);
|
|
335
|
+
const locationContainerRef = useRef<HTMLDivElement>(null);
|
|
336
336
|
|
|
337
337
|
const handleLocationMenuKeys = (event: KeyboardEvent) => {
|
|
338
338
|
if (isLocationMenuOpen && locationMenuRef.current?.contains(event.target as Node)) {
|
|
@@ -349,7 +349,7 @@ export const FilterMixedSelectGroup: React.FunctionComponent = () => {
|
|
|
349
349
|
}
|
|
350
350
|
};
|
|
351
351
|
|
|
352
|
-
|
|
352
|
+
useEffect(() => {
|
|
353
353
|
window.addEventListener('keydown', handleLocationMenuKeys);
|
|
354
354
|
window.addEventListener('click', handleLocationClickOutside);
|
|
355
355
|
return () => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Fragment } from 'react';
|
|
1
|
+
import { Fragment, useEffect, useRef, useState } from 'react';
|
|
2
2
|
import {
|
|
3
3
|
Toolbar,
|
|
4
4
|
ToolbarContent,
|
|
@@ -57,8 +57,8 @@ const columnNames = {
|
|
|
57
57
|
|
|
58
58
|
export const FilterSameSelectGroup: React.FunctionComponent = () => {
|
|
59
59
|
// Set up repo filtering
|
|
60
|
-
const [locationSelection, setLocationSelection] =
|
|
61
|
-
const [statusSelection, setStatusSelection] =
|
|
60
|
+
const [locationSelection, setLocationSelection] = useState('All locations');
|
|
61
|
+
const [statusSelection, setStatusSelection] = useState('All statuses');
|
|
62
62
|
|
|
63
63
|
const onFilter = (repo: Repository) => {
|
|
64
64
|
// Search status with status selection
|
|
@@ -78,7 +78,7 @@ export const FilterSameSelectGroup: React.FunctionComponent = () => {
|
|
|
78
78
|
// In this example, selected rows are tracked by the repo names from each row. This could be any unique identifier.
|
|
79
79
|
// This is to prevent state from being based on row order index in case we later add sorting.
|
|
80
80
|
const isRepoSelectable = (repo: Repository) => repo.name !== 'a'; // Arbitrary logic for this example
|
|
81
|
-
const [selectedRepoNames, setSelectedRepoNames] =
|
|
81
|
+
const [selectedRepoNames, setSelectedRepoNames] = useState<string[]>([]);
|
|
82
82
|
const setRepoSelected = (repo: Repository, isSelecting = true) =>
|
|
83
83
|
setSelectedRepoNames((prevSelected) => {
|
|
84
84
|
const otherSelectedRepoNames = prevSelected.filter((r) => r !== repo.name);
|
|
@@ -91,8 +91,8 @@ export const FilterSameSelectGroup: React.FunctionComponent = () => {
|
|
|
91
91
|
const isRepoSelected = (repo: Repository) => selectedRepoNames.includes(repo.name);
|
|
92
92
|
|
|
93
93
|
// To allow shift+click to select/deselect multiple rows
|
|
94
|
-
const [recentSelectedRowIndex, setRecentSelectedRowIndex] =
|
|
95
|
-
const [shifting, setShifting] =
|
|
94
|
+
const [recentSelectedRowIndex, setRecentSelectedRowIndex] = useState<number | null>(null);
|
|
95
|
+
const [shifting, setShifting] = useState(false);
|
|
96
96
|
|
|
97
97
|
const onSelectRepo = (repo: Repository, rowIndex: number, isSelecting: boolean) => {
|
|
98
98
|
// If the user is shift + selecting the checkboxes, then all intermediate checkboxes should be selected
|
|
@@ -109,7 +109,7 @@ export const FilterSameSelectGroup: React.FunctionComponent = () => {
|
|
|
109
109
|
setRecentSelectedRowIndex(rowIndex);
|
|
110
110
|
};
|
|
111
111
|
|
|
112
|
-
|
|
112
|
+
useEffect(() => {
|
|
113
113
|
const onKeyDown = (e: KeyboardEvent) => {
|
|
114
114
|
if (e.key === 'Shift') {
|
|
115
115
|
setShifting(true);
|
|
@@ -131,11 +131,11 @@ export const FilterSameSelectGroup: React.FunctionComponent = () => {
|
|
|
131
131
|
}, []);
|
|
132
132
|
|
|
133
133
|
// Set up bulk selection menu
|
|
134
|
-
const bulkSelectMenuRef =
|
|
135
|
-
const bulkSelectToggleRef =
|
|
136
|
-
const bulkSelectContainerRef =
|
|
134
|
+
const bulkSelectMenuRef = useRef<HTMLDivElement>(null);
|
|
135
|
+
const bulkSelectToggleRef = useRef<any>(null);
|
|
136
|
+
const bulkSelectContainerRef = useRef<HTMLDivElement>(null);
|
|
137
137
|
|
|
138
|
-
const [isBulkSelectOpen, setIsBulkSelectOpen] =
|
|
138
|
+
const [isBulkSelectOpen, setIsBulkSelectOpen] = useState<boolean>(false);
|
|
139
139
|
|
|
140
140
|
const handleBulkSelectClickOutside = (event: MouseEvent) => {
|
|
141
141
|
if (isBulkSelectOpen && !bulkSelectMenuRef.current?.contains(event.target as Node)) {
|
|
@@ -158,7 +158,7 @@ export const FilterSameSelectGroup: React.FunctionComponent = () => {
|
|
|
158
158
|
}
|
|
159
159
|
};
|
|
160
160
|
|
|
161
|
-
|
|
161
|
+
useEffect(() => {
|
|
162
162
|
window.addEventListener('keydown', handleBulkSelectMenuKeys);
|
|
163
163
|
window.addEventListener('click', handleBulkSelectClickOutside);
|
|
164
164
|
return () => {
|
|
@@ -237,10 +237,10 @@ export const FilterSameSelectGroup: React.FunctionComponent = () => {
|
|
|
237
237
|
);
|
|
238
238
|
|
|
239
239
|
// Set up status single select
|
|
240
|
-
const [isStatusMenuOpen, setIsStatusMenuOpen] =
|
|
241
|
-
const statusToggleRef =
|
|
242
|
-
const statusMenuRef =
|
|
243
|
-
const statusContainerRef =
|
|
240
|
+
const [isStatusMenuOpen, setIsStatusMenuOpen] = useState<boolean>(false);
|
|
241
|
+
const statusToggleRef = useRef<HTMLButtonElement>(null);
|
|
242
|
+
const statusMenuRef = useRef<HTMLDivElement>(null);
|
|
243
|
+
const statusContainerRef = useRef<HTMLDivElement>(null);
|
|
244
244
|
|
|
245
245
|
const handleStatusMenuKeys = (event: KeyboardEvent) => {
|
|
246
246
|
if (isStatusMenuOpen && statusMenuRef.current?.contains(event.target as Node)) {
|
|
@@ -257,7 +257,7 @@ export const FilterSameSelectGroup: React.FunctionComponent = () => {
|
|
|
257
257
|
}
|
|
258
258
|
};
|
|
259
259
|
|
|
260
|
-
|
|
260
|
+
useEffect(() => {
|
|
261
261
|
window.addEventListener('keydown', handleStatusMenuKeys);
|
|
262
262
|
window.addEventListener('click', handleStatusClickOutside);
|
|
263
263
|
return () => {
|
|
@@ -331,10 +331,10 @@ export const FilterSameSelectGroup: React.FunctionComponent = () => {
|
|
|
331
331
|
);
|
|
332
332
|
|
|
333
333
|
// Set up location checkbox select
|
|
334
|
-
const [isLocationMenuOpen, setIsLocationMenuOpen] =
|
|
335
|
-
const locationToggleRef =
|
|
336
|
-
const locationMenuRef =
|
|
337
|
-
const locationContainerRef =
|
|
334
|
+
const [isLocationMenuOpen, setIsLocationMenuOpen] = useState<boolean>(false);
|
|
335
|
+
const locationToggleRef = useRef<HTMLButtonElement>(null);
|
|
336
|
+
const locationMenuRef = useRef<HTMLDivElement>(null);
|
|
337
|
+
const locationContainerRef = useRef<HTMLDivElement>(null);
|
|
338
338
|
|
|
339
339
|
const handleLocationMenuKeys = (event: KeyboardEvent) => {
|
|
340
340
|
if (isLocationMenuOpen && locationMenuRef.current?.contains(event.target as Node)) {
|
|
@@ -351,7 +351,7 @@ export const FilterSameSelectGroup: React.FunctionComponent = () => {
|
|
|
351
351
|
}
|
|
352
352
|
};
|
|
353
353
|
|
|
354
|
-
|
|
354
|
+
useEffect(() => {
|
|
355
355
|
window.addEventListener('keydown', handleLocationMenuKeys);
|
|
356
356
|
window.addEventListener('click', handleLocationClickOutside);
|
|
357
357
|
return () => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Fragment } from 'react';
|
|
1
|
+
import { Fragment, useEffect, useRef, useState } from 'react';
|
|
2
2
|
import {
|
|
3
3
|
SearchInput,
|
|
4
4
|
Toolbar,
|
|
@@ -56,7 +56,7 @@ const columnNames = {
|
|
|
56
56
|
|
|
57
57
|
export const FilterSearchInput: React.FunctionComponent = () => {
|
|
58
58
|
// Set up repo filtering
|
|
59
|
-
const [searchValue, setSearchValue] =
|
|
59
|
+
const [searchValue, setSearchValue] = useState('');
|
|
60
60
|
|
|
61
61
|
const onSearchChange = (value: string) => {
|
|
62
62
|
setSearchValue(value);
|
|
@@ -81,7 +81,7 @@ export const FilterSearchInput: React.FunctionComponent = () => {
|
|
|
81
81
|
// In this example, selected rows are tracked by the repo names from each row. This could be any unique identifier.
|
|
82
82
|
// This is to prevent state from being based on row order index in case we later add sorting.
|
|
83
83
|
const isRepoSelectable = (repo: Repository) => repo.name !== 'a'; // Arbitrary logic for this example
|
|
84
|
-
const [selectedRepoNames, setSelectedRepoNames] =
|
|
84
|
+
const [selectedRepoNames, setSelectedRepoNames] = useState<string[]>([]);
|
|
85
85
|
const setRepoSelected = (repo: Repository, isSelecting = true) =>
|
|
86
86
|
setSelectedRepoNames((prevSelected) => {
|
|
87
87
|
const otherSelectedRepoNames = prevSelected.filter((r) => r !== repo.name);
|
|
@@ -94,8 +94,8 @@ export const FilterSearchInput: React.FunctionComponent = () => {
|
|
|
94
94
|
const isRepoSelected = (repo: Repository) => selectedRepoNames.includes(repo.name);
|
|
95
95
|
|
|
96
96
|
// To allow shift+click to select/deselect multiple rows
|
|
97
|
-
const [recentSelectedRowIndex, setRecentSelectedRowIndex] =
|
|
98
|
-
const [shifting, setShifting] =
|
|
97
|
+
const [recentSelectedRowIndex, setRecentSelectedRowIndex] = useState<number | null>(null);
|
|
98
|
+
const [shifting, setShifting] = useState(false);
|
|
99
99
|
|
|
100
100
|
const onSelectRepo = (repo: Repository, rowIndex: number, isSelecting: boolean) => {
|
|
101
101
|
// If the user is shift + selecting the checkboxes, then all intermediate checkboxes should be selected
|
|
@@ -112,7 +112,7 @@ export const FilterSearchInput: React.FunctionComponent = () => {
|
|
|
112
112
|
setRecentSelectedRowIndex(rowIndex);
|
|
113
113
|
};
|
|
114
114
|
|
|
115
|
-
|
|
115
|
+
useEffect(() => {
|
|
116
116
|
const onKeyDown = (e: KeyboardEvent) => {
|
|
117
117
|
if (e.key === 'Shift') {
|
|
118
118
|
setShifting(true);
|
|
@@ -134,11 +134,11 @@ export const FilterSearchInput: React.FunctionComponent = () => {
|
|
|
134
134
|
}, []);
|
|
135
135
|
|
|
136
136
|
// Set up bulk selection menu
|
|
137
|
-
const bulkSelectMenuRef =
|
|
138
|
-
const bulkSelectToggleRef =
|
|
139
|
-
const bulkSelectContainerRef =
|
|
137
|
+
const bulkSelectMenuRef = useRef<HTMLDivElement>(null);
|
|
138
|
+
const bulkSelectToggleRef = useRef<any>(null);
|
|
139
|
+
const bulkSelectContainerRef = useRef<HTMLDivElement>(null);
|
|
140
140
|
|
|
141
|
-
const [isBulkSelectOpen, setIsBulkSelectOpen] =
|
|
141
|
+
const [isBulkSelectOpen, setIsBulkSelectOpen] = useState<boolean>(false);
|
|
142
142
|
|
|
143
143
|
const handleBulkSelectClickOutside = (event: MouseEvent) => {
|
|
144
144
|
if (isBulkSelectOpen && !bulkSelectMenuRef.current?.contains(event.target as Node)) {
|
|
@@ -161,7 +161,7 @@ export const FilterSearchInput: React.FunctionComponent = () => {
|
|
|
161
161
|
}
|
|
162
162
|
};
|
|
163
163
|
|
|
164
|
-
|
|
164
|
+
useEffect(() => {
|
|
165
165
|
window.addEventListener('keydown', handleBulkSelectMenuKeys);
|
|
166
166
|
window.addEventListener('click', handleBulkSelectClickOutside);
|
|
167
167
|
return () => {
|