@procore/core-react 12.17.1 → 12.17.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AnchorNavigation/AnchorNavigation.styles.js +3 -3
- package/dist/Avatar/Avatar.styles.js +5 -5
- package/dist/AvatarStack/AvatarStack.styles.js +7 -7
- package/dist/Badge/Badge.styles.js +2 -2
- package/dist/Banner/Banner.styles.js +10 -10
- package/dist/Box/Box.styles.js +1 -1
- package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
- package/dist/Button/Button.styles.js +5 -5
- package/dist/Calendar/Calendar.styles.js +8 -8
- package/dist/Card/Card.js +8 -2
- package/dist/Card/Card.js.map +1 -1
- package/dist/Card/Card.styles.js +1 -1
- package/dist/Checkbox/Checkbox.js +0 -1
- package/dist/Checkbox/Checkbox.js.map +1 -1
- package/dist/Checkbox/Checkbox.styles.js +6 -6
- package/dist/Checkbox/CheckboxTooltip.js +1 -1
- package/dist/ContactItem/ContactItem.styles.js +5 -5
- package/dist/Content/Content.styles.js +2 -2
- package/dist/DateInput/DateInput.styles.js +6 -6
- package/dist/DetailPage/DetailPage.styles.js +7 -7
- package/dist/Dropdown/Dropdown.styles.js +3 -3
- package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
- package/dist/Dropzone/Dropzone.hooks.js +4 -4
- package/dist/Dropzone/Dropzone.hooks.js.map +1 -1
- package/dist/Dropzone/Dropzone.js +44 -45
- package/dist/Dropzone/Dropzone.js.map +1 -1
- package/dist/Dropzone/Dropzone.styles.js +9 -9
- package/dist/Dropzone/Dropzone.utils.d.ts +2 -0
- package/dist/Dropzone/Dropzone.utils.js +3 -0
- package/dist/Dropzone/Dropzone.utils.js.map +1 -1
- package/dist/EmptyState/EmptyState.styles.js +6 -6
- package/dist/Field/Field.styles.js +3 -3
- package/dist/FileList/FileList.styles.js +4 -4
- package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
- package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
- package/dist/FileSelect/FileSelect.styles.js +2 -2
- package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
- package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
- package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
- package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
- package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
- package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
- package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
- package/dist/FileToken/FileToken.styles.js +4 -4
- package/dist/FilterToken/FilterToken.styles.js +2 -2
- package/dist/FlexList/FlexList.styles.js +1 -1
- package/dist/Form/Form.styles.js +14 -14
- package/dist/Form/StyledFormikForm.styles.js +2 -2
- package/dist/GhostPlaceholder/GhostPlaceholder.styles.js +2 -2
- package/dist/Grid/Grid.styles.js +2 -2
- package/dist/GroupSelect/GroupSelect.styles.js +1 -1
- package/dist/Input/Input.styles.js +1 -1
- package/dist/Link/Link.styles.js +1 -1
- package/dist/ListPage/ListPage.styles.js +8 -8
- package/dist/Loader/Loader.styles.js +2 -2
- package/dist/MenuImperative/MenuImperative.js +4 -1
- package/dist/MenuImperative/MenuImperative.js.map +1 -1
- package/dist/MenuImperative/MenuImperative.styles.js +10 -10
- package/dist/Modal/Modal.styles.js +13 -13
- package/dist/MultiSelect/MultiSelect.js +7 -1
- package/dist/MultiSelect/MultiSelect.js.map +1 -1
- package/dist/MultiSelect/MultiSelect.styles.js +6 -6
- package/dist/NextMenu/NextMenu.styles.js +3 -3
- package/dist/Notation/Notation.js +1 -1
- package/dist/NumberInput/NumberInput.styles.js +7 -7
- package/dist/Overlay/OverlayArrow.styles.js +1 -1
- package/dist/PageFooterTemplate/PageFooterTemplate.styles.js +1 -1
- package/dist/PageHeaderTemplate/PageHeaderTemplate.styles.js +3 -3
- package/dist/PageLayout/PageLayout.styles.js +16 -16
- package/dist/PagePaneTemplate/PagePaneTemplate.styles.js +2 -2
- package/dist/PageTemplate/PageTemplate.styles.js +3 -3
- package/dist/Pagination/Pagination.styles.js +5 -5
- package/dist/Panel/Panel.styles.js +11 -11
- package/dist/Pill/Pill.styles.js +2 -2
- package/dist/PillSelect/PillSelect.styles.js +4 -4
- package/dist/Popover/Popover.styles.js +2 -2
- package/dist/Portal/Portal.styles.js +1 -1
- package/dist/ProgressBar/ProgressBar.styles.js +2 -2
- package/dist/RadioButton/RadioButton.styles.js +3 -3
- package/dist/Required/Required.styles.js +3 -3
- package/dist/Search/Search.styles.js +5 -5
- package/dist/Search/Search.types.d.ts +12 -2
- package/dist/Search/Search.types.js.map +1 -1
- package/dist/Section/Section.styles.js +7 -7
- package/dist/SegmentedController/SegmentedController.styles.js +4 -4
- package/dist/Select/Select.js +1 -1
- package/dist/Select/Select.js.map +1 -1
- package/dist/Select/Select.styles.js +7 -7
- package/dist/Semantic/Semantic.styles.js +9 -9
- package/dist/Slider/Slider.styles.js +5 -5
- package/dist/Spinner/Spinner.styles.js +7 -7
- package/dist/SplitViewCard/SplitViewCard.styles.js +8 -8
- package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
- package/dist/SuperSelect/SuperSelect.styles.js +37 -37
- package/dist/SuperSelect/SuperSelect.types.d.ts +1 -0
- package/dist/SuperSelect/SuperSelect.types.js.map +1 -1
- package/dist/SuperSelect/useSuperSelect.d.ts +1 -1
- package/dist/SuperSelect/useSuperSelect.js +9 -5
- package/dist/SuperSelect/useSuperSelect.js.map +1 -1
- package/dist/Switch/Switch.styles.js +4 -4
- package/dist/Table/Table.styles.js +28 -28
- package/dist/TableShelf/TableShelf.styles.js +5 -5
- package/dist/Tabs/Tabs.styles.js +15 -15
- package/dist/Tearsheet/Tearsheet.styles.js +5 -5
- package/dist/TextArea/TextArea.styles.js +1 -1
- package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
- package/dist/Thumbnail/Thumbnail.styles.js +17 -17
- package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
- package/dist/TieredSelect/TieredSelect.styles.js +9 -9
- package/dist/Tile/Tile.styles.js +8 -8
- package/dist/Title/Title.styles.js +7 -7
- package/dist/Toast/Toast.styles.js +3 -3
- package/dist/ToggleButton/ToggleButton.styles.js +1 -1
- package/dist/Token/Token.styles.js +3 -3
- package/dist/ToolHeader/ToolHeader.styles.js +6 -6
- package/dist/ToolLandingPage/ToolLandingPage.styles.js +3 -3
- package/dist/Tooltip/Tooltip.styles.js +2 -2
- package/dist/Tree/Tree.styles.js +9 -9
- package/dist/Typeahead/Typeahead.styles.js +3 -3
- package/dist/Typography/Typography.styles.js +1 -1
- package/dist/Typography/Typography.table.story.js +2 -2
- package/dist/_hooks/I18n.d.ts +10 -0
- package/dist/_locales/de-DE.json +10 -10
- package/dist/_locales/en-AU.json +14 -14
- package/dist/_locales/en-CA.json +10 -10
- package/dist/_locales/en-GB.json +10 -10
- package/dist/_locales/en.json +15 -10
- package/dist/_locales/es-ES.json +10 -10
- package/dist/_locales/es.json +10 -10
- package/dist/_locales/fr-CA.json +10 -10
- package/dist/_locales/fr-FR.json +10 -10
- package/dist/_locales/is-IS.json +10 -10
- package/dist/_locales/ja-JP.json +10 -10
- package/dist/_locales/pl-PL.json +10 -10
- package/dist/_locales/pseudo.json +15 -10
- package/dist/_locales/pt-BR.json +10 -10
- package/dist/_locales/th-TH.json +10 -10
- package/dist/_locales/zh-SG.json +10 -10
- package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
- package/dist/_typedoc/AvatarStack/AvatarStack.types.json +24 -24
- package/dist/_typedoc/Badge/Badge.types.json +6 -6
- package/dist/_typedoc/Banner/Banner.types.json +13 -13
- package/dist/_typedoc/Box/Box.types.json +68 -68
- package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
- package/dist/_typedoc/Button/Button.types.json +12 -12
- package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
- package/dist/_typedoc/Card/Card.types.json +6 -6
- package/dist/_typedoc/Checkbox/Checkbox.types.json +9 -9
- package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
- package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
- package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
- package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
- package/dist/_typedoc/Dropdown/Dropdown.types.json +37 -37
- package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +29 -29
- package/dist/_typedoc/Dropzone/Dropzone.types.json +41 -41
- package/dist/_typedoc/EmptyState/EmptyState.types.json +14 -14
- package/dist/_typedoc/FileList/FileList.types.json +9 -9
- package/dist/_typedoc/FileSelect/FileSelect.types.json +26 -26
- package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
- package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
- package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +9 -9
- package/dist/_typedoc/Flex/Flex.types.json +27 -27
- package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
- package/dist/_typedoc/Form/Form.types.json +741 -741
- package/dist/_typedoc/GhostPlaceholder/GhostPlaceholder.types.json +12 -12
- package/dist/_typedoc/Grid/Grid.types.json +8 -8
- package/dist/_typedoc/GroupSelect/GroupSelect.types.json +52 -52
- package/dist/_typedoc/Input/Input.types.json +2 -2
- package/dist/_typedoc/Link/Link.types.json +4 -4
- package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
- package/dist/_typedoc/Menu/Menu.types.json +62 -62
- package/dist/_typedoc/MenuImperative/MenuImperative.types.json +74 -74
- package/dist/_typedoc/Modal/Modal.types.json +46 -46
- package/dist/_typedoc/MultiSelect/MultiSelect.types.json +31 -31
- package/dist/_typedoc/Notation/Notation.types.json +4 -4
- package/dist/_typedoc/NumberInput/NumberInput.types.json +37 -37
- package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +31 -31
- package/dist/_typedoc/PageLayout/PageLayout.types.json +29 -29
- package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
- package/dist/_typedoc/Panel/Panel.types.json +28 -28
- package/dist/_typedoc/Pill/Pill.types.json +2 -2
- package/dist/_typedoc/PillSelect/PillSelect.types.json +49 -49
- package/dist/_typedoc/Popover/Popover.types.json +14 -14
- package/dist/_typedoc/ProgressBar/ProgressBar.types.json +6 -6
- package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
- package/dist/_typedoc/Required/Required.types.json +5 -5
- package/dist/_typedoc/Search/Search.types.json +35 -21
- package/dist/_typedoc/Section/Section.types.json +15 -15
- package/dist/_typedoc/SegmentedController/SegmentedController.types.json +20 -20
- package/dist/_typedoc/Select/Select.types.json +60 -60
- package/dist/_typedoc/SettingsPage/SettingsPage.types.json +10 -10
- package/dist/_typedoc/Slider/Slider.types.json +6 -6
- package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
- package/dist/_typedoc/SplitViewCard/SplitViewCard.types.json +12 -12
- package/dist/_typedoc/Switch/Switch.types.json +3 -3
- package/dist/_typedoc/Table/Table.types.json +101 -101
- package/dist/_typedoc/Tabs/Tabs.types.json +19 -19
- package/dist/_typedoc/Tearsheet/Tearsheet.types.json +16 -16
- package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
- package/dist/_typedoc/TextEditor/TextEditor.types.json +9 -9
- package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +4 -4
- package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
- package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +42 -42
- package/dist/_typedoc/TieredSelect/TieredSelect.types.json +28 -28
- package/dist/_typedoc/Tile/Tile.types.json +30 -30
- package/dist/_typedoc/Title/Title.types.json +1 -1
- package/dist/_typedoc/Toast/Toast.types.json +4 -4
- package/dist/_typedoc/ToggleButton/ToggleButton.types.json +4 -4
- package/dist/_typedoc/Token/Token.types.json +4 -4
- package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
- package/dist/_typedoc/ToolLandingPage/ToolLandingPage.types.json +7 -7
- package/dist/_typedoc/Tooltip/Tooltip.types.json +13 -13
- package/dist/_typedoc/Tree/Tree.types.json +86 -86
- package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
- package/dist/_typedoc/Typography/Typography.types.json +9 -9
- package/dist/_typedoc/_utils/types.json +3 -3
- package/dist/_typedoc/deprecations.json +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuImperative.js","names":["Grip","useLabel","useId","React","isValidElement","useEffect","useMemo","useState","DragDropContext","Draggable","Droppable","DndDroppable","useMouseSensor","useTouchSensor","Checkbox","FakeCheckbox","Typeahead","useI18nContext","useZIndexContext","colors","addSubcomponents","mergeRefs","StyledDroppable","StyledFooter","StyledGrip","StyledGroup","StyledHeader","StyledItem","StyledMenu","StyledOptions","StyledSearch","StyledWrapper","createSensors","onScrollBottomThreshold","NO_ANNOUCEMENT","noop","isScrolledToBottom","e","currentTarget","HTMLElement","scrollTop","scrollHeight","clientHeight","useMergeRef","externalRef","ref","useRef","useCallback","node","current","MenuContext","createContext","a11yOptionsProps","currentlyDroppableIn","onHoverItem","onScrollBottom","onSelect","role","useMenuContext","context","useContext","Error","useMenuImperativeControlNavigation","enable","arguments","length","undefined","options","_id","menuId","id","_React$useState","_React$useState2","_slicedToArray","activeDescendant","setActiveDescendant","_useState","_useState2","onKeyDown","setOnKeyDown","_ref$current","defaultKeyDownNavigationHandler","menuNavigationTriggerProps","menuProps","onChangeActiveDescendant","changeAriaActiveDescendantOnOptions","menuRef","querySelector","setAttribute","MenuImperative_","forwardRef","Menu","_ref","_ref$circular","circular","_ref$onDragEnd","onDragEnd","onDragEnd_","_ref$onScrollBottom","onScrollBottom_","_ref$onSelect","onSelect_","_ref$role","onKeyboardNavigation_","onKeyboardNavigation","multiple","props","_objectWithoutProperties","_excluded","_useState3","_useState4","setCurrentlyDroppableIn","selection","onChangeHighlight","_useMemo","handleItemHover","handleKeyDown","highlight","highlighted","highlightFirst","highlightLast","highlightSelected","highlightSuggested","rehighlightCurrent","prev","next","select","updateSelectCallback","useKeyboardSensor","commonA11yOptionProps","_defineProperty","_objectSpread","tabIndex","useImperativeHandle","el","onDragStart","start","provided","announce","itemInfo","JSON","parse","draggableId","droppableIn","onDragUpdate","_update","result","reason","destination","source","createElement","Provider","value","enableDefaultSensors","sensors","Group","_ref2","clickable","_ref2$item","item","children","_excluded2","_useLabel","label","labelElementType","fieldProps","labelProps","_extends","onClick","stringify","findDraggableRecursively","nodeChildren","Children","toArray","i","child","matchingChild","_ref3","ctx","cloneZIndex","renderItemClone","_snapshot","rubric","_draggingChild$props","draggableInfo","draggingChild","cloneProps","ClonedItem","hasCheckbox","type","CheckboxItem","droppableId","isDropDisabled","includes","renderClone","snapshot","innerRef","placeholder","_ref4","_ref4$hasCheckbox","_ref4$children","_ref4$selected","selected","_excluded3","itemProps","$selected","itemChildren","indeterminate","error","checked","onChange","draggableProps","dragHandleProps","$isDraggable","$isDragging","style","zIndex","color","gray45","Item","_ref5","as","_ref5$children","_ref5$item","_ref5$onClick","onClick_","_ref5$selected","_ref5$suggested","suggested","_ref5$disabled","disabled","restoreFocus","draggableIndex","_excluded4","_useMergeRef","_useMergeRef2","setRef","event","group","action","contextRole","ariaSelected","onMouseMove","$disabled","droppableInfo","Array","isArray","index","isDragDisabled","_ref6","_ref6$selected","_ref6$disabled","_ref6$error","_ref6$indeterminate","_ref6$children","_excluded5","ariaChecked","Options","onScroll","Search","_ref7","className","_ref7$i18nScope","i18nScope","_onChange","_excluded6","I18n","_React$useState3","_React$useState4","setValue","autoFocus","t","scope","Header","_ref8","_objectDestructuringEmpty","Footer","_ref9","_ref9$padding","padding","_excluded7","displayName","MenuImperative"],"sources":["../../src/MenuImperative/MenuImperative.tsx"],"sourcesContent":["import { Grip } from '@procore/core-icons/dist'\nimport { useLabel } from '@react-aria/label'\nimport { useId } from '@react-aria/utils'\nimport React, { isValidElement, useEffect, useMemo, useState } from 'react'\nimport type {\n DraggableProvided,\n DraggableRubric,\n DraggableStateSnapshot,\n DragStart,\n DragUpdate,\n DroppableProvided,\n DroppableStateSnapshot,\n DropResult,\n ResponderProvided,\n} from 'react-beautiful-dnd'\nimport {\n DragDropContext,\n Draggable,\n Droppable as DndDroppable,\n useMouseSensor,\n useTouchSensor,\n} from 'react-beautiful-dnd'\nimport { Checkbox, FakeCheckbox } from '../Checkbox/Checkbox'\nimport type { CheckboxProps } from '../Checkbox/Checkbox.types'\nimport { Typeahead } from '../Typeahead/Typeahead'\nimport type { TypeaheadProps } from '../Typeahead/Typeahead.types'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { useZIndexContext } from '../_hooks/ZIndex'\nimport { colors } from '../_styles/colors'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport type { PolymorphicAs } from '../_utils/polymorphic'\nimport type { DivAttributes } from '../_utils/types'\nimport {\n StyledDroppable,\n StyledFooter,\n StyledGrip,\n StyledGroup,\n StyledHeader,\n StyledItem,\n StyledMenu,\n StyledOptions,\n StyledSearch,\n StyledWrapper,\n} from './MenuImperative.styles'\nimport type {\n DroppableProps,\n FooterProps,\n GroupProps,\n HeaderProps,\n ItemProps,\n ItemWithDraggingProps,\n MenuContext as IMenuContext,\n MenuItemDefaultElement,\n MenuItemProps,\n MenuProps,\n MenuRef,\n MenuSearchProps,\n OptionsProps,\n Ref,\n Selection,\n} from './MenuImperative.types'\nimport { createSensors } from './sensors'\n\nconst onScrollBottomThreshold = 8\nconst NO_ANNOUCEMENT = ''\n\nfunction noop() {}\n\nfunction isScrolledToBottom(e: React.UIEvent<HTMLDivElement, UIEvent>) {\n return (\n e.currentTarget instanceof HTMLElement &&\n e.currentTarget.scrollTop >=\n e.currentTarget.scrollHeight -\n e.currentTarget.clientHeight -\n onScrollBottomThreshold\n )\n}\n\n// TODO use the shared mergeRefs utility\nexport function useMergeRef<T = HTMLElement>(externalRef: Ref<T>) {\n const ref = React.useRef<T>()\n\n return [\n ref,\n React.useCallback(\n (node) => {\n ref.current = node\n\n if (externalRef) {\n if (typeof externalRef === 'function') {\n externalRef(node)\n } else {\n externalRef.current = node\n }\n }\n },\n [externalRef]\n ),\n ] as const\n}\n\nconst MenuContext = React.createContext<IMenuContext>({\n a11yOptionsProps: {},\n currentlyDroppableIn: [],\n onHoverItem: noop,\n onScrollBottom: noop,\n onSelect: noop,\n role: 'none',\n})\n\nexport function useMenuContext(): IMenuContext {\n const context = React.useContext(MenuContext)\n\n if (context === null) {\n throw new Error(\n 'Cannot find `Menu` context, please wrap your component in `<MenuContext.Provider>`'\n )\n }\n\n return context\n}\n\ninterface ControlNavigationProps {\n menuId?: MenuProps['id']\n}\n\ninterface ControlNavigationReturn {\n menuNavigationTriggerProps: {\n 'aria-activedescendant'?: string\n 'aria-controls'?: string\n onKeyDown?: React.KeyboardEventHandler<Element>\n }\n menuProps: {\n onChangeActiveDescendant?: React.Dispatch<\n React.SetStateAction<string | undefined>\n >\n id: string\n }\n}\n/**\n * Usefully if navigation is controlled by search input or another input.\n *\n * @param ref MenuImperative ref\n * @param enable True by default. Setting to false will change all props\n * to undefined (except id in menuProps), so navigation controlled by menu itself is restored.\n * @param options.menuId provide id otherwise it will be generated\n * @since 11.5.0\n */\nexport const useMenuImperativeControlNavigation = (\n ref: React.RefObject<MenuRef>,\n enable = true,\n options: ControlNavigationProps = {}\n): ControlNavigationReturn => {\n const { menuId: _id } = options\n const id = useId(_id)\n const [activeDescendant, setActiveDescendant] = React.useState<\n string | undefined\n >()\n const [onKeyDown, setOnKeyDown] = useState<React.KeyboardEventHandler>()\n // ref is null on first render\n React.useEffect(() => {\n setOnKeyDown(() => ref.current?.defaultKeyDownNavigationHandler)\n }, [])\n\n if (enable) {\n const menuNavigationTriggerProps = {\n 'aria-activedescendant': activeDescendant,\n 'aria-controls': id,\n onKeyDown,\n }\n\n const menuProps = {\n onChangeActiveDescendant: setActiveDescendant,\n id,\n }\n\n return {\n menuNavigationTriggerProps,\n menuProps,\n }\n } else {\n return {\n menuNavigationTriggerProps: {},\n menuProps: { id },\n }\n }\n}\n\nfunction changeAriaActiveDescendantOnOptions(id = '', menuRef: Element | null) {\n const options = menuRef?.querySelector<HTMLElement>(\n '[data-internal=\"menuimperative-options\"]'\n )\n\n options?.setAttribute('aria-activedescendant', id)\n}\n\nconst MenuImperative_ = React.forwardRef<MenuRef, MenuProps>(function Menu(\n {\n circular = false,\n onDragEnd: onDragEnd_ = noop,\n onScrollBottom: onScrollBottom_ = noop,\n onSelect: onSelect_ = noop,\n role = 'none',\n onChangeActiveDescendant,\n onKeyboardNavigation: onKeyboardNavigation_,\n id,\n multiple,\n ...props\n },\n forwardRef\n) {\n const ref = React.useRef<HTMLDivElement>(null)\n const [currentlyDroppableIn, setCurrentlyDroppableIn] = useState<string[]>([])\n\n // for context, used by Menu.Item\n const onSelect = React.useCallback(\n function (selection: Selection) {\n onSelect_(selection)\n },\n [onSelect_]\n )\n\n const onChangeHighlight = onChangeActiveDescendant\n ? onChangeActiveDescendant\n : changeAriaActiveDescendantOnOptions\n\n const {\n handleItemHover,\n handleKeyDown: defaultKeyDownNavigationHandler,\n highlight,\n highlighted,\n highlightFirst,\n highlightLast,\n highlightSelected,\n highlightSuggested,\n rehighlightCurrent,\n prev,\n next,\n select,\n updateSelectCallback,\n useKeyboardSensor,\n } = useMemo(\n () => createSensors(ref, circular, onChangeHighlight),\n [circular, onChangeHighlight]\n )\n\n const commonA11yOptionProps = {\n role,\n id,\n ['aria-multiselectable']: multiple,\n }\n\n const a11yOptionsProps = !onChangeActiveDescendant\n ? {\n ...commonA11yOptionProps,\n onKeyDown: onKeyboardNavigation_ ?? defaultKeyDownNavigationHandler,\n tabIndex: 0,\n }\n : {\n ...commonA11yOptionProps,\n onKeyDown: undefined,\n tabIndex: undefined,\n }\n\n updateSelectCallback(onSelect)\n\n // exposes internal menu API\n React.useImperativeHandle(forwardRef, () => ({\n el: ref.current,\n highlight,\n highlighted,\n highlightFirst,\n highlightLast,\n highlightSelected,\n highlightSuggested,\n next,\n prev,\n select,\n defaultKeyDownNavigationHandler,\n }))\n\n useEffect(rehighlightCurrent)\n\n function onDragStart(start: DragStart, provided: ResponderProvided) {\n // TODO Replace with localized instructions\n provided.announce(NO_ANNOUCEMENT)\n const itemInfo = JSON.parse(start.draggableId)\n setCurrentlyDroppableIn(itemInfo.droppableIn)\n }\n\n function onDragUpdate(_update: DragUpdate, provided: ResponderProvided) {\n // TODO Replace with localized instructions\n provided.announce(NO_ANNOUCEMENT)\n }\n\n const onDragEnd = React.useCallback(\n function (result: DropResult, provided: ResponderProvided) {\n // TODO Replace with localized instructions\n provided.announce(NO_ANNOUCEMENT)\n setCurrentlyDroppableIn([])\n if (result.reason === 'DROP' && result.destination) {\n const itemInfo = JSON.parse(result.draggableId)\n onDragEnd_({\n draggableId: itemInfo.draggableId,\n source: result.source,\n destination: result.destination,\n })\n }\n },\n [onDragEnd_]\n )\n\n // for context, used by Menu.Options\n const onScrollBottom = React.useCallback(\n function (e: React.UIEvent<HTMLDivElement, UIEvent>) {\n if (isScrolledToBottom(e)) {\n onScrollBottom_(e)\n }\n },\n [onScrollBottom_]\n )\n\n return (\n <MenuContext.Provider\n value={{\n a11yOptionsProps,\n currentlyDroppableIn,\n onHoverItem: handleItemHover,\n onScrollBottom,\n onSelect,\n role,\n }}\n >\n <StyledWrapper ref={ref}>\n <DragDropContext\n onDragStart={onDragStart}\n onDragUpdate={onDragUpdate}\n onDragEnd={onDragEnd}\n enableDefaultSensors={false}\n sensors={[useMouseSensor, useTouchSensor, useKeyboardSensor]}\n >\n <StyledMenu {...props} />\n </DragDropContext>\n </StyledWrapper>\n </MenuContext.Provider>\n )\n})\n\nexport const Group = React.forwardRef<\n HTMLDivElement,\n DivAttributes & GroupProps\n>(function Group({ clickable, item = 'group', id, children, ...props }, ref) {\n const { fieldProps, labelProps } = useLabel({\n id,\n label: children,\n labelElementType: 'span',\n })\n\n return (\n <StyledGroup\n ref={ref}\n onClick={(e) => {\n // TODO: implement selecting groups?\n }}\n data-group={true}\n data-value={JSON.stringify(item)}\n role=\"separator\"\n {...fieldProps}\n {...props}\n >\n <span {...labelProps}>{children}</span>\n </StyledGroup>\n )\n})\n\nfunction findDraggableRecursively(\n children: React.ReactNode,\n draggableId: any\n): React.ReactElement | null {\n const nodeChildren = React.Children.toArray(children)\n for (let i = 0; i < nodeChildren.length; i++) {\n const child = nodeChildren[i]\n if (isValidElement(child)) {\n if ('draggableId' in child.props) {\n if (child.props.draggableId === draggableId) {\n return child\n }\n } else {\n const matchingChild = findDraggableRecursively(\n child.props.children,\n draggableId\n )\n if (matchingChild) {\n return matchingChild\n }\n }\n }\n }\n return null\n}\n\nexport function Droppable({ id, children }: DroppableProps) {\n const ctx = useMenuContext()\n const cloneZIndex = useZIndexContext().value\n\n function renderItemClone(\n provided: DraggableProvided,\n _snapshot: DraggableStateSnapshot,\n rubric: DraggableRubric\n ) {\n const draggableInfo = JSON.parse(rubric.draggableId)\n const draggingChild = findDraggableRecursively(\n children,\n draggableInfo.draggableId\n )\n const cloneProps = draggingChild?.props ?? {}\n\n return (\n <ClonedItem\n hasCheckbox={draggingChild?.type === CheckboxItem}\n provided={provided}\n cloneZIndex={cloneZIndex}\n {...cloneProps}\n />\n )\n }\n\n return (\n <DndDroppable\n droppableId={id}\n isDropDisabled={!ctx.currentlyDroppableIn.includes(id)}\n renderClone={renderItemClone}\n >\n {(provided: DroppableProvided, snapshot: DroppableStateSnapshot) => (\n <StyledDroppable ref={provided.innerRef} data-droppable>\n {children}\n {provided.placeholder}\n </StyledDroppable>\n )}\n </DndDroppable>\n )\n}\n\n// creates a version of a draggable item that can be positioned correctly within modals\n// this should always have the same appearance of an Item or CheckboxItem, but doesn't\n// need to handle selection events, which can't be done while the item is being dragged\nconst ClonedItem = ({\n hasCheckbox = false,\n children = null,\n selected = false,\n provided,\n ...props\n}: DivAttributes &\n ItemProps &\n Omit<CheckboxProps, 'checked'> & {\n provided: DraggableProvided\n hasCheckbox: boolean\n cloneZIndex: number\n }) => {\n const itemProps = {\n ...props,\n $selected: selected,\n }\n\n const itemChildren = hasCheckbox ? (\n <Checkbox\n indeterminate={props.indeterminate}\n error={props.error}\n checked={selected}\n onChange={noop}\n >\n {children}\n </Checkbox>\n ) : (\n children\n )\n\n return (\n <StyledItem\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n {...itemProps}\n $isDraggable\n $isDragging\n style={{\n ...provided.draggableProps.style,\n ...props.style,\n zIndex: props.cloneZIndex,\n }}\n >\n <StyledGrip>\n <Grip color={colors.gray45} />\n </StyledGrip>\n {itemChildren}\n </StyledItem>\n )\n}\n\nexport const Item = React.forwardRef(function Item<\n E extends React.ElementType = MenuItemDefaultElement\n>(\n {\n as,\n /* @ts-ignore */\n children = null,\n item = null,\n /* @ts-ignore */\n onClick: onClick_ = noop,\n selected = false,\n suggested = false,\n disabled = false,\n id: _id,\n role,\n restoreFocus,\n draggableId,\n draggableIndex,\n droppableIn,\n ...props\n }: PolymorphicAs.ComponentPropsWithoutRef<MenuItemProps, E>,\n /**\n * TODO: although it is typed just fine from the outside (`<Menu.Item ref>` that is),\n * an effort is required to type it properly here too\n */\n forwardRef: React.Ref<any>\n) {\n const [ref, setRef] = useMergeRef<HTMLDivElement>(forwardRef)\n const id = useId(_id)\n\n const ctx = useMenuContext()\n\n const onClick = React.useCallback(\n function (event: React.MouseEvent<HTMLDivElement, MouseEvent>) {\n if (disabled) return\n\n onClick_(event)\n\n ctx.onSelect({\n item,\n event,\n group: false,\n action: selected ? 'unselected' : 'selected',\n ...(restoreFocus === undefined ? {} : { restoreFocus }),\n })\n },\n [ctx, item, onClick_, disabled, selected]\n )\n\n let contextRole\n let ariaSelected\n\n if (ctx.role === 'listbox') {\n contextRole = 'option'\n ariaSelected = selected ? true : undefined\n } else if (ctx.role === 'menu') {\n contextRole = 'menuitem'\n }\n\n const itemProps = {\n 'aria-disabled': disabled ? true : undefined,\n 'aria-selected': ariaSelected,\n ...props,\n id,\n role: role ?? contextRole,\n onClick,\n onMouseMove: (e: any) => ctx.onHoverItem(e.currentTarget),\n 'data-group': false,\n 'data-value': JSON.stringify(item),\n 'data-selected': selected,\n 'data-suggested': suggested,\n 'data-disabled': disabled,\n 'data-restorefocus': restoreFocus,\n $disabled: disabled,\n $selected: selected,\n }\n\n if (\n droppableIn !== undefined &&\n draggableId !== undefined &&\n draggableIndex !== undefined\n ) {\n // encoding id and valid droppables as the draggableId, so we can use them to determine where this item can be dropped\n const droppableInfo = {\n draggableId,\n droppableIn: Array.isArray(droppableIn) ? droppableIn : [droppableIn],\n }\n return (\n <Draggable\n draggableId={JSON.stringify(droppableInfo)}\n index={draggableIndex}\n isDragDisabled={disabled}\n >\n {(provided: DraggableProvided) => (\n <StyledItem\n ref={mergeRefs(provided.innerRef, setRef)}\n as={as}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n {...itemProps}\n $isDraggable={!disabled}\n style={{ ...provided.draggableProps.style, ...itemProps.style }}\n tabIndex={-1}\n >\n {!disabled && (\n <StyledGrip>\n <Grip color={colors.gray45} />\n </StyledGrip>\n )}\n {children}\n </StyledItem>\n )}\n </Draggable>\n )\n }\n\n return (\n <StyledItem ref={setRef} as={as} {...itemProps}>\n {children}\n </StyledItem>\n )\n}) as PolymorphicAs.ComponentWithForwardedRef<\n MenuItemProps,\n MenuItemDefaultElement\n>\n\nexport const CheckboxItem = React.forwardRef<\n HTMLDivElement,\n DivAttributes &\n (ItemProps | ItemWithDraggingProps) &\n Omit<CheckboxProps, 'checked'>\n>(function CheckboxItem(\n {\n selected = false,\n disabled = false,\n error = false,\n indeterminate = false,\n children = null,\n role,\n ...props\n },\n forwardRef\n) {\n const ctx = useMenuContext()\n\n let contextRole\n let ariaChecked: React.AriaAttributes['aria-checked']\n let ariaSelected\n\n if (ctx.role === 'listbox') {\n contextRole = 'option'\n ariaSelected = selected ? true : undefined\n } else if (ctx.role === 'menu') {\n contextRole = 'menuitemcheckbox'\n\n if (indeterminate) {\n ariaChecked = 'mixed'\n } else {\n ariaChecked = selected ? 'true' : 'false'\n }\n }\n\n return (\n <Item\n aria-checked={ariaChecked}\n aria-disabled={disabled ? true : undefined}\n aria-selected={ariaSelected}\n {...props}\n role={role ?? contextRole}\n selected={selected}\n disabled={disabled}\n ref={forwardRef}\n >\n <FakeCheckbox\n indeterminate={indeterminate}\n error={error}\n disabled={disabled}\n checked={selected}\n >\n {children}\n </FakeCheckbox>\n </Item>\n )\n})\nexport const Options = React.forwardRef<HTMLDivElement, OptionsProps>(\n function Options(props, ref) {\n const ctx = useMenuContext()\n\n return (\n <StyledOptions\n {...props}\n {...ctx.a11yOptionsProps}\n data-internal=\"menuimperative-options\"\n ref={ref}\n onScroll={ctx.onScrollBottom}\n />\n )\n }\n)\n\nexport const Search = ({\n className,\n i18nScope = 'core.menu',\n placeholder,\n onChange: _onChange,\n ...props\n}: MenuSearchProps) => {\n const I18n = useI18nContext()\n\n const [value, setValue] = React.useState('')\n\n const onChange: TypeaheadProps['onChange'] = React.useCallback(\n function (value, event) {\n setValue(value)\n _onChange?.(event)\n },\n [_onChange]\n )\n\n // intentionally changed to type text + searchbox,\n // voiceOver focus goes to clear button when no results in Chrome\n return (\n <StyledSearch className={className}>\n <Typeahead\n {...props}\n type=\"text\"\n role=\"searchbox\"\n autoFocus={true}\n placeholder={placeholder || I18n.t('search', { scope: i18nScope })}\n onChange={onChange}\n value={value}\n />\n </StyledSearch>\n )\n}\n\nexport const Header = React.forwardRef<\n HTMLDivElement,\n DivAttributes & HeaderProps\n>(function Header({ ...props }, ref) {\n return <StyledHeader ref={ref} {...props} />\n})\n\nexport const Footer = React.forwardRef<\n HTMLDivElement,\n DivAttributes & FooterProps\n>(function Footer({ padding = 'md lg', ...props }, ref) {\n return <StyledFooter ref={ref} padding={padding} {...props} />\n})\n\nMenuImperative_.displayName = 'Menu'\n\nDroppable.displayName = 'Menu.Droppable'\n\nFooter.displayName = 'Menu.Footer'\n\nGroup.displayName = 'Menu.Group'\n\nHeader.displayName = 'Menu.Header'\n\nItem.displayName = 'Menu.Item'\n\nOptions.displayName = 'Menu.Options'\n\nSearch.displayName = 'Menu.Search'\n\n/**\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-menu-imperative--demo)\n\n */\nexport const MenuImperative = addSubcomponents(\n {\n CheckboxItem,\n Droppable,\n Footer,\n Group,\n Header,\n Item,\n Options,\n Search,\n },\n MenuImperative_\n)\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MenuImperative.js","names":["Grip","useLabel","useId","React","isValidElement","useEffect","useMemo","useState","DragDropContext","Draggable","Droppable","DndDroppable","useMouseSensor","useTouchSensor","Checkbox","FakeCheckbox","Typeahead","useI18nContext","useZIndexContext","colors","addSubcomponents","mergeRefs","StyledDroppable","StyledFooter","StyledGrip","StyledGroup","StyledHeader","StyledItem","StyledMenu","StyledOptions","StyledSearch","StyledWrapper","createSensors","onScrollBottomThreshold","NO_ANNOUCEMENT","noop","isScrolledToBottom","e","currentTarget","HTMLElement","scrollTop","scrollHeight","clientHeight","useMergeRef","externalRef","ref","useRef","useCallback","node","current","MenuContext","createContext","a11yOptionsProps","currentlyDroppableIn","onHoverItem","onScrollBottom","onSelect","role","useMenuContext","context","useContext","Error","useMenuImperativeControlNavigation","enable","arguments","length","undefined","options","_id","menuId","id","_React$useState","_React$useState2","_slicedToArray","activeDescendant","setActiveDescendant","_useState","_useState2","onKeyDown","setOnKeyDown","_ref$current","defaultKeyDownNavigationHandler","menuNavigationTriggerProps","menuProps","onChangeActiveDescendant","changeAriaActiveDescendantOnOptions","menuRef","querySelector","setAttribute","MenuImperative_","forwardRef","Menu","_ref","_ref$circular","circular","_ref$onDragEnd","onDragEnd","onDragEnd_","_ref$onScrollBottom","onScrollBottom_","_ref$onSelect","onSelect_","_ref$role","onKeyboardNavigation_","onKeyboardNavigation","multiple","props","_objectWithoutProperties","_excluded","_useState3","_useState4","setCurrentlyDroppableIn","selection","onChangeHighlight","_useMemo","handleItemHover","handleKeyDown","highlight","highlighted","highlightFirst","highlightLast","highlightSelected","highlightSuggested","rehighlightCurrent","prev","next","select","updateSelectCallback","useKeyboardSensor","commonA11yOptionProps","_defineProperty","_objectSpread","tabIndex","useImperativeHandle","el","onDragStart","start","provided","announce","itemInfo","JSON","parse","draggableId","droppableIn","onDragUpdate","_update","result","reason","destination","source","createElement","Provider","value","enableDefaultSensors","sensors","Group","_ref2","clickable","_ref2$item","item","children","_excluded2","_useLabel","label","labelElementType","fieldProps","labelProps","_extends","onClick","stringify","findDraggableRecursively","nodeChildren","Children","toArray","i","child","matchingChild","_ref3","ctx","cloneZIndex","renderItemClone","_snapshot","rubric","_draggingChild$props","draggableInfo","draggingChild","cloneProps","ClonedItem","hasCheckbox","type","CheckboxItem","droppableId","isDropDisabled","includes","renderClone","snapshot","innerRef","placeholder","_ref4","_ref4$hasCheckbox","_ref4$children","_ref4$selected","selected","_excluded3","itemProps","$selected","itemChildren","indeterminate","error","checked","onChange","draggableProps","dragHandleProps","$isDraggable","$isDragging","style","zIndex","color","gray45","Item","_ref5","as","_ref5$children","_ref5$item","_ref5$onClick","onClick_","_ref5$selected","_ref5$suggested","suggested","_ref5$disabled","disabled","restoreFocus","draggableIndex","_excluded4","_useMergeRef","_useMergeRef2","setRef","event","group","action","contextRole","ariaSelected","onMouseMove","$disabled","droppableInfo","Array","isArray","index","isDragDisabled","_ref6","_ref6$selected","_ref6$disabled","_ref6$error","_ref6$indeterminate","_ref6$children","_excluded5","ariaChecked","Options","i18n","t","onScroll","Search","_ref7","className","_ref7$i18nScope","i18nScope","_onChange","_excluded6","I18n","_React$useState3","_React$useState4","setValue","autoFocus","scope","Header","_ref8","_objectDestructuringEmpty","Footer","_ref9","_ref9$padding","padding","_excluded7","displayName","MenuImperative"],"sources":["../../src/MenuImperative/MenuImperative.tsx"],"sourcesContent":["import { Grip } from '@procore/core-icons/dist'\nimport { useLabel } from '@react-aria/label'\nimport { useId } from '@react-aria/utils'\nimport React, { isValidElement, useEffect, useMemo, useState } from 'react'\nimport type {\n DraggableProvided,\n DraggableRubric,\n DraggableStateSnapshot,\n DragStart,\n DragUpdate,\n DroppableProvided,\n DroppableStateSnapshot,\n DropResult,\n ResponderProvided,\n} from 'react-beautiful-dnd'\nimport {\n DragDropContext,\n Draggable,\n Droppable as DndDroppable,\n useMouseSensor,\n useTouchSensor,\n} from 'react-beautiful-dnd'\nimport { Checkbox, FakeCheckbox } from '../Checkbox/Checkbox'\nimport type { CheckboxProps } from '../Checkbox/Checkbox.types'\nimport { Typeahead } from '../Typeahead/Typeahead'\nimport type { TypeaheadProps } from '../Typeahead/Typeahead.types'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { useZIndexContext } from '../_hooks/ZIndex'\nimport { colors } from '../_styles/colors'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport type { PolymorphicAs } from '../_utils/polymorphic'\nimport type { DivAttributes } from '../_utils/types'\nimport {\n StyledDroppable,\n StyledFooter,\n StyledGrip,\n StyledGroup,\n StyledHeader,\n StyledItem,\n StyledMenu,\n StyledOptions,\n StyledSearch,\n StyledWrapper,\n} from './MenuImperative.styles'\nimport type {\n DroppableProps,\n FooterProps,\n GroupProps,\n HeaderProps,\n ItemProps,\n ItemWithDraggingProps,\n MenuContext as IMenuContext,\n MenuItemDefaultElement,\n MenuItemProps,\n MenuProps,\n MenuRef,\n MenuSearchProps,\n OptionsProps,\n Ref,\n Selection,\n} from './MenuImperative.types'\nimport { createSensors } from './sensors'\n\nconst onScrollBottomThreshold = 8\nconst NO_ANNOUCEMENT = ''\n\nfunction noop() {}\n\nfunction isScrolledToBottom(e: React.UIEvent<HTMLDivElement, UIEvent>) {\n return (\n e.currentTarget instanceof HTMLElement &&\n e.currentTarget.scrollTop >=\n e.currentTarget.scrollHeight -\n e.currentTarget.clientHeight -\n onScrollBottomThreshold\n )\n}\n\n// TODO use the shared mergeRefs utility\nexport function useMergeRef<T = HTMLElement>(externalRef: Ref<T>) {\n const ref = React.useRef<T>()\n\n return [\n ref,\n React.useCallback(\n (node) => {\n ref.current = node\n\n if (externalRef) {\n if (typeof externalRef === 'function') {\n externalRef(node)\n } else {\n externalRef.current = node\n }\n }\n },\n [externalRef]\n ),\n ] as const\n}\n\nconst MenuContext = React.createContext<IMenuContext>({\n a11yOptionsProps: {},\n currentlyDroppableIn: [],\n onHoverItem: noop,\n onScrollBottom: noop,\n onSelect: noop,\n role: 'none',\n})\n\nexport function useMenuContext(): IMenuContext {\n const context = React.useContext(MenuContext)\n\n if (context === null) {\n throw new Error(\n 'Cannot find `Menu` context, please wrap your component in `<MenuContext.Provider>`'\n )\n }\n\n return context\n}\n\ninterface ControlNavigationProps {\n menuId?: MenuProps['id']\n}\n\ninterface ControlNavigationReturn {\n menuNavigationTriggerProps: {\n 'aria-activedescendant'?: string\n 'aria-controls'?: string\n onKeyDown?: React.KeyboardEventHandler<Element>\n }\n menuProps: {\n onChangeActiveDescendant?: React.Dispatch<\n React.SetStateAction<string | undefined>\n >\n id: string\n }\n}\n/**\n * Usefully if navigation is controlled by search input or another input.\n *\n * @param ref MenuImperative ref\n * @param enable True by default. Setting to false will change all props\n * to undefined (except id in menuProps), so navigation controlled by menu itself is restored.\n * @param options.menuId provide id otherwise it will be generated\n * @since 11.5.0\n */\nexport const useMenuImperativeControlNavigation = (\n ref: React.RefObject<MenuRef>,\n enable = true,\n options: ControlNavigationProps = {}\n): ControlNavigationReturn => {\n const { menuId: _id } = options\n const id = useId(_id)\n const [activeDescendant, setActiveDescendant] = React.useState<\n string | undefined\n >()\n const [onKeyDown, setOnKeyDown] = useState<React.KeyboardEventHandler>()\n // ref is null on first render\n React.useEffect(() => {\n setOnKeyDown(() => ref.current?.defaultKeyDownNavigationHandler)\n }, [])\n\n if (enable) {\n const menuNavigationTriggerProps = {\n 'aria-activedescendant': activeDescendant,\n 'aria-controls': id,\n onKeyDown,\n }\n\n const menuProps = {\n onChangeActiveDescendant: setActiveDescendant,\n id,\n }\n\n return {\n menuNavigationTriggerProps,\n menuProps,\n }\n } else {\n return {\n menuNavigationTriggerProps: {},\n menuProps: { id },\n }\n }\n}\n\nfunction changeAriaActiveDescendantOnOptions(id = '', menuRef: Element | null) {\n const options = menuRef?.querySelector<HTMLElement>(\n '[data-internal=\"menuimperative-options\"]'\n )\n\n options?.setAttribute('aria-activedescendant', id)\n}\n\nconst MenuImperative_ = React.forwardRef<MenuRef, MenuProps>(function Menu(\n {\n circular = false,\n onDragEnd: onDragEnd_ = noop,\n onScrollBottom: onScrollBottom_ = noop,\n onSelect: onSelect_ = noop,\n role = 'none',\n onChangeActiveDescendant,\n onKeyboardNavigation: onKeyboardNavigation_,\n id,\n multiple,\n ...props\n },\n forwardRef\n) {\n const ref = React.useRef<HTMLDivElement>(null)\n const [currentlyDroppableIn, setCurrentlyDroppableIn] = useState<string[]>([])\n\n // for context, used by Menu.Item\n const onSelect = React.useCallback(\n function (selection: Selection) {\n onSelect_(selection)\n },\n [onSelect_]\n )\n\n const onChangeHighlight = onChangeActiveDescendant\n ? onChangeActiveDescendant\n : changeAriaActiveDescendantOnOptions\n\n const {\n handleItemHover,\n handleKeyDown: defaultKeyDownNavigationHandler,\n highlight,\n highlighted,\n highlightFirst,\n highlightLast,\n highlightSelected,\n highlightSuggested,\n rehighlightCurrent,\n prev,\n next,\n select,\n updateSelectCallback,\n useKeyboardSensor,\n } = useMemo(\n () => createSensors(ref, circular, onChangeHighlight),\n [circular, onChangeHighlight]\n )\n\n const commonA11yOptionProps = {\n role,\n id,\n ['aria-multiselectable']: multiple,\n }\n\n const a11yOptionsProps = !onChangeActiveDescendant\n ? {\n ...commonA11yOptionProps,\n onKeyDown: onKeyboardNavigation_ ?? defaultKeyDownNavigationHandler,\n tabIndex: 0,\n }\n : {\n ...commonA11yOptionProps,\n onKeyDown: undefined,\n tabIndex: undefined,\n }\n\n updateSelectCallback(onSelect)\n\n // exposes internal menu API\n React.useImperativeHandle(forwardRef, () => ({\n el: ref.current,\n highlight,\n highlighted,\n highlightFirst,\n highlightLast,\n highlightSelected,\n highlightSuggested,\n next,\n prev,\n select,\n defaultKeyDownNavigationHandler,\n }))\n\n useEffect(rehighlightCurrent)\n\n function onDragStart(start: DragStart, provided: ResponderProvided) {\n // TODO Replace with localized instructions\n provided.announce(NO_ANNOUCEMENT)\n const itemInfo = JSON.parse(start.draggableId)\n setCurrentlyDroppableIn(itemInfo.droppableIn)\n }\n\n function onDragUpdate(_update: DragUpdate, provided: ResponderProvided) {\n // TODO Replace with localized instructions\n provided.announce(NO_ANNOUCEMENT)\n }\n\n const onDragEnd = React.useCallback(\n function (result: DropResult, provided: ResponderProvided) {\n // TODO Replace with localized instructions\n provided.announce(NO_ANNOUCEMENT)\n setCurrentlyDroppableIn([])\n if (result.reason === 'DROP' && result.destination) {\n const itemInfo = JSON.parse(result.draggableId)\n onDragEnd_({\n draggableId: itemInfo.draggableId,\n source: result.source,\n destination: result.destination,\n })\n }\n },\n [onDragEnd_]\n )\n\n // for context, used by Menu.Options\n const onScrollBottom = React.useCallback(\n function (e: React.UIEvent<HTMLDivElement, UIEvent>) {\n if (isScrolledToBottom(e)) {\n onScrollBottom_(e)\n }\n },\n [onScrollBottom_]\n )\n\n return (\n <MenuContext.Provider\n value={{\n a11yOptionsProps,\n currentlyDroppableIn,\n onHoverItem: handleItemHover,\n onScrollBottom,\n onSelect,\n role,\n }}\n >\n <StyledWrapper ref={ref}>\n <DragDropContext\n onDragStart={onDragStart}\n onDragUpdate={onDragUpdate}\n onDragEnd={onDragEnd}\n enableDefaultSensors={false}\n sensors={[useMouseSensor, useTouchSensor, useKeyboardSensor]}\n >\n <StyledMenu {...props} />\n </DragDropContext>\n </StyledWrapper>\n </MenuContext.Provider>\n )\n})\n\nexport const Group = React.forwardRef<\n HTMLDivElement,\n DivAttributes & GroupProps\n>(function Group({ clickable, item = 'group', id, children, ...props }, ref) {\n const { fieldProps, labelProps } = useLabel({\n id,\n label: children,\n labelElementType: 'span',\n })\n\n return (\n <StyledGroup\n ref={ref}\n onClick={(e) => {\n // TODO: implement selecting groups?\n }}\n data-group={true}\n data-value={JSON.stringify(item)}\n role=\"separator\"\n {...fieldProps}\n {...props}\n >\n <span {...labelProps}>{children}</span>\n </StyledGroup>\n )\n})\n\nfunction findDraggableRecursively(\n children: React.ReactNode,\n draggableId: any\n): React.ReactElement | null {\n const nodeChildren = React.Children.toArray(children)\n for (let i = 0; i < nodeChildren.length; i++) {\n const child = nodeChildren[i]\n if (isValidElement(child)) {\n if ('draggableId' in child.props) {\n if (child.props.draggableId === draggableId) {\n return child\n }\n } else {\n const matchingChild = findDraggableRecursively(\n child.props.children,\n draggableId\n )\n if (matchingChild) {\n return matchingChild\n }\n }\n }\n }\n return null\n}\n\nexport function Droppable({ id, children }: DroppableProps) {\n const ctx = useMenuContext()\n const cloneZIndex = useZIndexContext().value\n\n function renderItemClone(\n provided: DraggableProvided,\n _snapshot: DraggableStateSnapshot,\n rubric: DraggableRubric\n ) {\n const draggableInfo = JSON.parse(rubric.draggableId)\n const draggingChild = findDraggableRecursively(\n children,\n draggableInfo.draggableId\n )\n const cloneProps = draggingChild?.props ?? {}\n\n return (\n <ClonedItem\n hasCheckbox={draggingChild?.type === CheckboxItem}\n provided={provided}\n cloneZIndex={cloneZIndex}\n {...cloneProps}\n />\n )\n }\n\n return (\n <DndDroppable\n droppableId={id}\n isDropDisabled={!ctx.currentlyDroppableIn.includes(id)}\n renderClone={renderItemClone}\n >\n {(provided: DroppableProvided, snapshot: DroppableStateSnapshot) => (\n <StyledDroppable ref={provided.innerRef} data-droppable>\n {children}\n {provided.placeholder}\n </StyledDroppable>\n )}\n </DndDroppable>\n )\n}\n\n// creates a version of a draggable item that can be positioned correctly within modals\n// this should always have the same appearance of an Item or CheckboxItem, but doesn't\n// need to handle selection events, which can't be done while the item is being dragged\nconst ClonedItem = ({\n hasCheckbox = false,\n children = null,\n selected = false,\n provided,\n ...props\n}: DivAttributes &\n ItemProps &\n Omit<CheckboxProps, 'checked'> & {\n provided: DraggableProvided\n hasCheckbox: boolean\n cloneZIndex: number\n }) => {\n const itemProps = {\n ...props,\n $selected: selected,\n }\n\n const itemChildren = hasCheckbox ? (\n <Checkbox\n indeterminate={props.indeterminate}\n error={props.error}\n checked={selected}\n onChange={noop}\n >\n {children}\n </Checkbox>\n ) : (\n children\n )\n\n return (\n <StyledItem\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n {...itemProps}\n $isDraggable\n $isDragging\n style={{\n ...provided.draggableProps.style,\n ...props.style,\n zIndex: props.cloneZIndex,\n }}\n >\n <StyledGrip>\n <Grip color={colors.gray45} />\n </StyledGrip>\n {itemChildren}\n </StyledItem>\n )\n}\n\nexport const Item = React.forwardRef(function Item<\n E extends React.ElementType = MenuItemDefaultElement\n>(\n {\n as,\n /* @ts-ignore */\n children = null,\n item = null,\n /* @ts-ignore */\n onClick: onClick_ = noop,\n selected = false,\n suggested = false,\n disabled = false,\n id: _id,\n role,\n restoreFocus,\n draggableId,\n draggableIndex,\n droppableIn,\n ...props\n }: PolymorphicAs.ComponentPropsWithoutRef<MenuItemProps, E>,\n /**\n * TODO: although it is typed just fine from the outside (`<Menu.Item ref>` that is),\n * an effort is required to type it properly here too\n */\n forwardRef: React.Ref<any>\n) {\n const [ref, setRef] = useMergeRef<HTMLDivElement>(forwardRef)\n const id = useId(_id)\n\n const ctx = useMenuContext()\n\n const onClick = React.useCallback(\n function (event: React.MouseEvent<HTMLDivElement, MouseEvent>) {\n if (disabled) return\n\n onClick_(event)\n\n ctx.onSelect({\n item,\n event,\n group: false,\n action: selected ? 'unselected' : 'selected',\n ...(restoreFocus === undefined ? {} : { restoreFocus }),\n })\n },\n [ctx, item, onClick_, disabled, selected]\n )\n\n let contextRole\n let ariaSelected\n\n if (ctx.role === 'listbox') {\n contextRole = 'option'\n ariaSelected = selected ? true : undefined\n } else if (ctx.role === 'menu') {\n contextRole = 'menuitem'\n }\n\n const itemProps = {\n 'aria-disabled': disabled ? true : undefined,\n 'aria-selected': ariaSelected,\n ...props,\n id,\n role: role ?? contextRole,\n onClick,\n onMouseMove: (e: any) => ctx.onHoverItem(e.currentTarget),\n 'data-group': false,\n 'data-value': JSON.stringify(item),\n 'data-selected': selected,\n 'data-suggested': suggested,\n 'data-disabled': disabled,\n 'data-restorefocus': restoreFocus,\n $disabled: disabled,\n $selected: selected,\n }\n\n if (\n droppableIn !== undefined &&\n draggableId !== undefined &&\n draggableIndex !== undefined\n ) {\n // encoding id and valid droppables as the draggableId, so we can use them to determine where this item can be dropped\n const droppableInfo = {\n draggableId,\n droppableIn: Array.isArray(droppableIn) ? droppableIn : [droppableIn],\n }\n return (\n <Draggable\n draggableId={JSON.stringify(droppableInfo)}\n index={draggableIndex}\n isDragDisabled={disabled}\n >\n {(provided: DraggableProvided) => (\n <StyledItem\n ref={mergeRefs(provided.innerRef, setRef)}\n as={as}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n {...itemProps}\n $isDraggable={!disabled}\n style={{ ...provided.draggableProps.style, ...itemProps.style }}\n tabIndex={-1}\n >\n {!disabled && (\n <StyledGrip>\n <Grip color={colors.gray45} />\n </StyledGrip>\n )}\n {children}\n </StyledItem>\n )}\n </Draggable>\n )\n }\n\n return (\n <StyledItem ref={setRef} as={as} {...itemProps}>\n {children}\n </StyledItem>\n )\n}) as PolymorphicAs.ComponentWithForwardedRef<\n MenuItemProps,\n MenuItemDefaultElement\n>\n\nexport const CheckboxItem = React.forwardRef<\n HTMLDivElement,\n DivAttributes &\n (ItemProps | ItemWithDraggingProps) &\n Omit<CheckboxProps, 'checked'>\n>(function CheckboxItem(\n {\n selected = false,\n disabled = false,\n error = false,\n indeterminate = false,\n children = null,\n role,\n ...props\n },\n forwardRef\n) {\n const ctx = useMenuContext()\n\n let contextRole\n let ariaChecked: React.AriaAttributes['aria-checked']\n let ariaSelected\n\n if (ctx.role === 'listbox') {\n contextRole = 'option'\n ariaSelected = selected ? true : undefined\n } else if (ctx.role === 'menu') {\n contextRole = 'menuitemcheckbox'\n\n if (indeterminate) {\n ariaChecked = 'mixed'\n } else {\n ariaChecked = selected ? 'true' : 'false'\n }\n }\n\n return (\n <Item\n aria-checked={ariaChecked}\n aria-disabled={disabled ? true : undefined}\n aria-selected={ariaSelected}\n {...props}\n role={role ?? contextRole}\n selected={selected}\n disabled={disabled}\n ref={forwardRef}\n >\n <FakeCheckbox\n indeterminate={indeterminate}\n error={error}\n disabled={disabled}\n checked={selected}\n >\n {children}\n </FakeCheckbox>\n </Item>\n )\n})\nexport const Options = React.forwardRef<HTMLDivElement, OptionsProps>(\n function Options(props, ref) {\n const ctx = useMenuContext()\n const i18n = useI18nContext()\n\n return (\n <StyledOptions\n aria-label={i18n.t('core.menuImperative.options.ariaLabel')}\n {...props}\n {...ctx.a11yOptionsProps}\n data-internal=\"menuimperative-options\"\n ref={ref}\n onScroll={ctx.onScrollBottom}\n />\n )\n }\n)\n\nexport const Search = ({\n className,\n i18nScope = 'core.menu',\n placeholder,\n onChange: _onChange,\n ...props\n}: MenuSearchProps) => {\n const I18n = useI18nContext()\n\n const [value, setValue] = React.useState('')\n\n const onChange: TypeaheadProps['onChange'] = React.useCallback(\n function (value, event) {\n setValue(value)\n _onChange?.(event)\n },\n [_onChange]\n )\n\n // intentionally changed to type text + searchbox,\n // voiceOver focus goes to clear button when no results in Chrome\n return (\n <StyledSearch className={className}>\n <Typeahead\n {...props}\n type=\"text\"\n role=\"searchbox\"\n autoFocus={true}\n placeholder={placeholder || I18n.t('search', { scope: i18nScope })}\n onChange={onChange}\n value={value}\n />\n </StyledSearch>\n )\n}\n\nexport const Header = React.forwardRef<\n HTMLDivElement,\n DivAttributes & HeaderProps\n>(function Header({ ...props }, ref) {\n return <StyledHeader ref={ref} {...props} />\n})\n\nexport const Footer = React.forwardRef<\n HTMLDivElement,\n DivAttributes & FooterProps\n>(function Footer({ padding = 'md lg', ...props }, ref) {\n return <StyledFooter ref={ref} padding={padding} {...props} />\n})\n\nMenuImperative_.displayName = 'Menu'\n\nDroppable.displayName = 'Menu.Droppable'\n\nFooter.displayName = 'Menu.Footer'\n\nGroup.displayName = 'Menu.Group'\n\nHeader.displayName = 'Menu.Header'\n\nItem.displayName = 'Menu.Item'\n\nOptions.displayName = 'Menu.Options'\n\nSearch.displayName = 'Menu.Search'\n\n/**\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-menu-imperative--demo)\n\n */\nexport const MenuImperative = addSubcomponents(\n {\n CheckboxItem,\n Droppable,\n Footer,\n Group,\n Header,\n Item,\n Options,\n Search,\n },\n MenuImperative_\n)\n"],"mappings":"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"}
|
|
@@ -11,15 +11,15 @@ var optionMinHeight = 32;
|
|
|
11
11
|
// Do not merge with StyledMenu, needed for max-height working in IE
|
|
12
12
|
export var StyledWrapper = /*#__PURE__*/styled.div.withConfig({
|
|
13
13
|
displayName: "StyledWrapper",
|
|
14
|
-
componentId: "core-
|
|
14
|
+
componentId: "core-12_17_2__sc-z984sz-0"
|
|
15
15
|
})(["border-radius:inherit;display:flex;max-height:inherit;min-width:inherit;outline:none;width:inherit;"]);
|
|
16
16
|
export var StyledMenu = /*#__PURE__*/styled.div.withConfig({
|
|
17
17
|
displayName: "StyledMenu",
|
|
18
|
-
componentId: "core-
|
|
18
|
+
componentId: "core-12_17_2__sc-z984sz-1"
|
|
19
19
|
})(["border-radius:inherit;display:flex;flex-direction:column;outline:0;width:100%;"]);
|
|
20
20
|
export var StyledOptions = /*#__PURE__*/styled.div.withConfig({
|
|
21
21
|
displayName: "StyledOptions",
|
|
22
|
-
componentId: "core-
|
|
22
|
+
componentId: "core-12_17_2__sc-z984sz-2"
|
|
23
23
|
})(["flex-basis:auto;flex-grow:1;flex-shrink:1;min-height:", "px;", ";padding:", "px 0;position:relative;&:focus-visible{", " margin:-1px;}"], optionMinHeight, function (_ref) {
|
|
24
24
|
var _ref$$scrollable = _ref.$scrollable,
|
|
25
25
|
$scrollable = _ref$$scrollable === void 0 ? true : _ref$$scrollable;
|
|
@@ -27,26 +27,26 @@ export var StyledOptions = /*#__PURE__*/styled.div.withConfig({
|
|
|
27
27
|
}, spacing.sm, getFocus());
|
|
28
28
|
export var StyledGrip = /*#__PURE__*/styled.div.withConfig({
|
|
29
29
|
displayName: "StyledGrip",
|
|
30
|
-
componentId: "core-
|
|
30
|
+
componentId: "core-12_17_2__sc-z984sz-3"
|
|
31
31
|
})(["padding:0 2px;height:24px;visibility:hidden;"]);
|
|
32
32
|
export var StyledHeader = /*#__PURE__*/styled.div.withConfig({
|
|
33
33
|
displayName: "StyledHeader",
|
|
34
|
-
componentId: "core-
|
|
34
|
+
componentId: "core-12_17_2__sc-z984sz-4"
|
|
35
35
|
})([""]);
|
|
36
36
|
export var StyledSearch = /*#__PURE__*/styled.div.withConfig({
|
|
37
37
|
displayName: "StyledSearch",
|
|
38
|
-
componentId: "core-
|
|
38
|
+
componentId: "core-12_17_2__sc-z984sz-5"
|
|
39
39
|
})(["padding:", "px ", "px ", "px;", " > *{pointer-events:none;}"], spacing.lg, spacing.lg, spacing.sm, StyledButton);
|
|
40
40
|
export var StyledGroup = /*#__PURE__*/styled.div.withConfig({
|
|
41
41
|
displayName: "StyledGroup",
|
|
42
|
-
componentId: "core-
|
|
42
|
+
componentId: "core-12_17_2__sc-z984sz-6"
|
|
43
43
|
})(["", " color:", ";cursor:", ";font-weight:", ";padding:", "px ", "px;&:not(:first-child){padding-top:", "px;}"], getTypographyIntent('body'), colors.gray15, function (_ref2) {
|
|
44
44
|
var $clickable = _ref2.$clickable;
|
|
45
45
|
return $clickable ? 'pointer' : 'default';
|
|
46
46
|
}, typographyWeights.semibold, spacing.xs, spacing.lg, spacing.md + spacing.xs);
|
|
47
47
|
export var StyledItem = /*#__PURE__*/styled.div.withConfig({
|
|
48
48
|
displayName: "StyledItem",
|
|
49
|
-
componentId: "core-
|
|
49
|
+
componentId: "core-12_17_2__sc-z984sz-7"
|
|
50
50
|
})(["", ";", " cursor:pointer;list-style-type:none;padding:", "px ", "px;a{color:", ";display:block;margin:-", "px -", "px;padding:", "px ", "px;text-decoration:none;&:hover{color:", ";text-decoration:none;}}&[data-highlighted='true']{background-color:", ";}", " &:hover,&:active{", "{visibility:visible;}}", "{color:inherit;cursor:pointer;}", " ", " ", ""], getTypographyIntent('body'), function (_ref3) {
|
|
51
51
|
var as = _ref3.as;
|
|
52
52
|
return as === 'a' && css(["display:block;text-decoration:none;"]);
|
|
@@ -75,10 +75,10 @@ export var StyledItem = /*#__PURE__*/styled.div.withConfig({
|
|
|
75
75
|
});
|
|
76
76
|
export var StyledDroppable = /*#__PURE__*/styled.div.withConfig({
|
|
77
77
|
displayName: "StyledDroppable",
|
|
78
|
-
componentId: "core-
|
|
78
|
+
componentId: "core-12_17_2__sc-z984sz-8"
|
|
79
79
|
})(["", ",", "{padding-left:28px;}"], StyledGroup, StyledItem);
|
|
80
80
|
export var StyledFooter = /*#__PURE__*/styled(Box).withConfig({
|
|
81
81
|
displayName: "StyledFooter",
|
|
82
|
-
componentId: "core-
|
|
82
|
+
componentId: "core-12_17_2__sc-z984sz-9"
|
|
83
83
|
})(["border-top:1px solid ", ";border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;"], colors.gray85);
|
|
84
84
|
//# sourceMappingURL=MenuImperative.styles.js.map
|
|
@@ -31,15 +31,15 @@ var screenWidthPixelBreakpoints = {
|
|
|
31
31
|
};
|
|
32
32
|
export var StyledModal = /*#__PURE__*/styled.div.withConfig({
|
|
33
33
|
displayName: "StyledModal",
|
|
34
|
-
componentId: "core-
|
|
34
|
+
componentId: "core-12_17_2__sc-1ijdug2-0"
|
|
35
35
|
})(["display:flex;height:100vh;position:absolute;opacity:0;transition:0.3s opacity ease;width:100vw;z-index:0;pointer-events:none;&.", "{opacity:1;pointer-events:auto;}&.", "{opacity:0;pointer-events:none;}"], fadeInClassName, fadeOutClassName);
|
|
36
36
|
export var StyledModalButtons = /*#__PURE__*/styled.div.withConfig({
|
|
37
37
|
displayName: "StyledModalButtons",
|
|
38
|
-
componentId: "core-
|
|
38
|
+
componentId: "core-12_17_2__sc-1ijdug2-1"
|
|
39
39
|
})(["display:flex;flex:0 0 auto;margin-left:", "px;> * + *{margin-left:", "px;}"], spacing.lg, spacing.sm);
|
|
40
40
|
export var StyledModalContainer = /*#__PURE__*/styled(Card).withConfig({
|
|
41
41
|
displayName: "StyledModalContainer",
|
|
42
|
-
componentId: "core-
|
|
42
|
+
componentId: "core-12_17_2__sc-1ijdug2-2"
|
|
43
43
|
})(["display:flex;flex-direction:row;position:absolute;z-index:2;", " ", " ", ""], function (_ref) {
|
|
44
44
|
var $compact = _ref.$compact;
|
|
45
45
|
if (!$compact) {
|
|
@@ -63,11 +63,11 @@ export var StyledModalContainer = /*#__PURE__*/styled(Card).withConfig({
|
|
|
63
63
|
});
|
|
64
64
|
export var StyledModalFooter = /*#__PURE__*/styled.div.withConfig({
|
|
65
65
|
displayName: "StyledModalFooter",
|
|
66
|
-
componentId: "core-
|
|
66
|
+
componentId: "core-12_17_2__sc-1ijdug2-3"
|
|
67
67
|
})(["align-items:center;display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;padding:", "px ", "px ", "px;"], spacing.xl, spacing.xxl, spacing.xxl);
|
|
68
68
|
export var StyledModalBody = /*#__PURE__*/styled.div.withConfig({
|
|
69
69
|
displayName: "StyledModalBody",
|
|
70
|
-
componentId: "core-
|
|
70
|
+
componentId: "core-12_17_2__sc-1ijdug2-4"
|
|
71
71
|
})(["", " box-sizing:border-box;color:", ";display:flex;flex-direction:column;overflow:auto;", " ", " > ", "{padding-left:0;padding-right:0;&:first-child > ", "{padding-top:0;}}", ""], getTypographyIntent('body'), colors.gray15, function (_ref4) {
|
|
72
72
|
var $noSideSpacing = _ref4.$noSideSpacing;
|
|
73
73
|
return css(["padding:", "px ", "px;"], spacing.xl, $noSideSpacing ? 0 : spacing.xxl);
|
|
@@ -84,7 +84,7 @@ export var StyledModalBody = /*#__PURE__*/styled.div.withConfig({
|
|
|
84
84
|
});
|
|
85
85
|
export var StyledModalContent = /*#__PURE__*/styled.div.withConfig({
|
|
86
86
|
displayName: "StyledModalContent",
|
|
87
|
-
componentId: "core-
|
|
87
|
+
componentId: "core-12_17_2__sc-1ijdug2-5"
|
|
88
88
|
})(["display:flex;flex-direction:column;max-height:90vh;overflow:hidden;width:100%;", ""], function (_ref7) {
|
|
89
89
|
var _ref7$$compact = _ref7.$compact,
|
|
90
90
|
$compact = _ref7$$compact === void 0 ? false : _ref7$$compact;
|
|
@@ -95,11 +95,11 @@ export var StyledModalContent = /*#__PURE__*/styled.div.withConfig({
|
|
|
95
95
|
});
|
|
96
96
|
export var StyledModalFooterNotation = /*#__PURE__*/styled(Typography).withConfig({
|
|
97
97
|
displayName: "StyledModalFooterNotation",
|
|
98
|
-
componentId: "core-
|
|
98
|
+
componentId: "core-12_17_2__sc-1ijdug2-6"
|
|
99
99
|
})(["flex-grow:1;"]);
|
|
100
100
|
export var StyledModalHeader = /*#__PURE__*/styled.div.withConfig({
|
|
101
101
|
displayName: "StyledModalHeader",
|
|
102
|
-
componentId: "core-
|
|
102
|
+
componentId: "core-12_17_2__sc-1ijdug2-7"
|
|
103
103
|
})(["align-items:flex-start;color:", ";display:flex;flex:0 0 auto;position:relative;", " ", ""], colors.gray10, function (_ref8) {
|
|
104
104
|
var $compact = _ref8.$compact,
|
|
105
105
|
$isBodyScrolled = _ref8.$isBodyScrolled;
|
|
@@ -117,7 +117,7 @@ export var StyledModalHeader = /*#__PURE__*/styled.div.withConfig({
|
|
|
117
117
|
});
|
|
118
118
|
export var StyledModalHeading = /*#__PURE__*/styled.div.withConfig({
|
|
119
119
|
displayName: "StyledModalHeading",
|
|
120
|
-
componentId: "core-
|
|
120
|
+
componentId: "core-12_17_2__sc-1ijdug2-8"
|
|
121
121
|
})(["", " align-items:center;display:flex;flex:1 1 auto;min-height:36px;padding-right:", "px;", ""], function (_ref10) {
|
|
122
122
|
var $compact = _ref10.$compact;
|
|
123
123
|
return getTypographyIntent($compact ? 'h3' : 'h2');
|
|
@@ -133,18 +133,18 @@ export var StyledModalHeading = /*#__PURE__*/styled.div.withConfig({
|
|
|
133
133
|
});
|
|
134
134
|
export var StyledModalCancel = /*#__PURE__*/styled.div.withConfig({
|
|
135
135
|
displayName: "StyledModalCancel",
|
|
136
|
-
componentId: "core-
|
|
136
|
+
componentId: "core-12_17_2__sc-1ijdug2-9"
|
|
137
137
|
})(["flex:0 0 auto;"]);
|
|
138
138
|
export var StyledModalScrim = /*#__PURE__*/styled.div.withConfig({
|
|
139
139
|
displayName: "StyledModalScrim",
|
|
140
|
-
componentId: "core-
|
|
140
|
+
componentId: "core-12_17_2__sc-1ijdug2-10"
|
|
141
141
|
})(["background:hsla(200,8%,10%,0.6);height:100vh;left:0;position:absolute;top:0;width:100vw;z-index:1;"]);
|
|
142
142
|
export var StyledModalWarningIcon = /*#__PURE__*/styled(Warning).withConfig({
|
|
143
143
|
displayName: "StyledModalWarningIcon",
|
|
144
|
-
componentId: "core-
|
|
144
|
+
componentId: "core-12_17_2__sc-1ijdug2-11"
|
|
145
145
|
})(["color:", ";margin-right:", "px;"], colors.yellow40, spacing.sm);
|
|
146
146
|
export var StyledModalFooterSummary = /*#__PURE__*/styled.div.withConfig({
|
|
147
147
|
displayName: "StyledModalFooterSummary",
|
|
148
|
-
componentId: "core-
|
|
148
|
+
componentId: "core-12_17_2__sc-1ijdug2-12"
|
|
149
149
|
})(["", " border-top:1px solid ", ";border-bottom:1px solid ", ";padding:", "px ", "px;color:", ";font-style:italic;background-color:", ";margin:-", "px -", "px ", "px -", "px;flex:1 1 100%;"], getTypographyIntent('small'), colors.gray85, colors.gray85, spacing.md, spacing.xxl, colors.gray15, colors.gray98, spacing.xl, spacing.xxl, spacing.xl, spacing.xxl);
|
|
150
150
|
//# sourceMappingURL=Modal.styles.js.map
|
|
@@ -380,7 +380,11 @@ var MultiSelect_ = /*#__PURE__*/React.forwardRef(function MultiSelect(_ref7, ref
|
|
|
380
380
|
var targetRef = ref || ownRef;
|
|
381
381
|
var searchRef = React.useRef(null);
|
|
382
382
|
var menuRef = React.useRef(null);
|
|
383
|
-
var
|
|
383
|
+
var _React$useState5 = React.useState(false),
|
|
384
|
+
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
385
|
+
isMenuOpen = _React$useState6[0],
|
|
386
|
+
setIsMenuOpen = _React$useState6[1];
|
|
387
|
+
var _useMenuImperativeCon = useMenuImperativeControlNavigation(menuRef, isMenuOpen),
|
|
384
388
|
menuNavigationTriggerProps = _useMenuImperativeCon.menuNavigationTriggerProps,
|
|
385
389
|
menuProps = _useMenuImperativeCon.menuProps;
|
|
386
390
|
var I18n = useI18nContext();
|
|
@@ -427,12 +431,14 @@ var MultiSelect_ = /*#__PURE__*/React.forwardRef(function MultiSelect(_ref7, ref
|
|
|
427
431
|
canFlip: true,
|
|
428
432
|
afterHide: function afterHide() {
|
|
429
433
|
multiselect.clearToken();
|
|
434
|
+
setIsMenuOpen(false);
|
|
430
435
|
_afterHide();
|
|
431
436
|
},
|
|
432
437
|
afterShow: function afterShow() {
|
|
433
438
|
var _menuRef$current5;
|
|
434
439
|
multiselect.clearToken();
|
|
435
440
|
(_menuRef$current5 = menuRef.current) === null || _menuRef$current5 === void 0 ? void 0 : _menuRef$current5.highlightFirst();
|
|
441
|
+
setIsMenuOpen(true);
|
|
436
442
|
_afterShow();
|
|
437
443
|
},
|
|
438
444
|
beforeHide: function beforeHide(e) {
|