@procore/core-react 11.31.0 → 11.32.0
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.d.ts +6 -6
- package/dist/AnchorNavigation/AnchorNavigation.js +19 -17
- package/dist/AnchorNavigation/AnchorNavigation.js.map +1 -1
- package/dist/AnchorNavigation/AnchorNavigation.styles.js +8 -7
- package/dist/AnchorNavigation/AnchorNavigation.styles.js.map +1 -1
- package/dist/Avatar/Avatar.d.ts +18 -4
- package/dist/Avatar/Avatar.js +30 -14
- package/dist/Avatar/Avatar.js.map +1 -1
- 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.d.ts +19 -0
- package/dist/Banner/Banner.js +20 -19
- package/dist/Banner/Banner.js.map +1 -1
- package/dist/Banner/Banner.styles.js +10 -10
- package/dist/Box/Box.styles.js +1 -1
- package/dist/Breadcrumbs/Breadcrumbs.d.ts +12 -0
- package/dist/Breadcrumbs/Breadcrumbs.js +13 -13
- package/dist/Breadcrumbs/Breadcrumbs.js.map +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.styles.js +1 -1
- package/dist/Checkbox/Checkbox.styles.js +6 -6
- package/dist/ContactItem/ContactItem.d.ts +14 -0
- package/dist/ContactItem/ContactItem.js +15 -14
- package/dist/ContactItem/ContactItem.js.map +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.d.ts +13 -0
- package/dist/Dropdown/Dropdown.js +14 -14
- package/dist/Dropdown/Dropdown.js.map +1 -1
- package/dist/Dropdown/Dropdown.styles.js +3 -3
- package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
- package/dist/Dropzone/Dropzone.d.ts +12 -0
- package/dist/Dropzone/Dropzone.js +14 -14
- package/dist/Dropzone/Dropzone.js.map +1 -1
- package/dist/Dropzone/Dropzone.styles.js +9 -9
- package/dist/EmptyState/EmptyState.d.ts +13 -0
- package/dist/EmptyState/EmptyState.js +14 -14
- package/dist/EmptyState/EmptyState.js.map +1 -1
- package/dist/EmptyState/EmptyState.styles.js +6 -6
- package/dist/Field/Field.styles.js +3 -3
- package/dist/FileList/FileList.d.ts +3 -3
- package/dist/FileList/FileList.js +10 -10
- package/dist/FileList/FileList.js.map +1 -1
- 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.js +1 -1
- package/dist/FileSelect/FileTokenList/FileTokenList.js.map +1 -1
- package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
- package/dist/FileSelect/GridSource/GridSource.js +1 -1
- package/dist/FileSelect/GridSource/GridSource.js.map +1 -1
- 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 +16 -16
- 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/Menu/Menu.d.ts +10 -10
- package/dist/Menu/Menu.js +13 -13
- package/dist/Menu/Menu.js.map +1 -1
- package/dist/MenuImperative/MenuImperative.d.ts +7 -0
- package/dist/MenuImperative/MenuImperative.js +8 -8
- package/dist/MenuImperative/MenuImperative.js.map +1 -1
- package/dist/MenuImperative/MenuImperative.styles.js +10 -10
- package/dist/Modal/Modal.d.ts +16 -0
- package/dist/Modal/Modal.js +17 -17
- package/dist/Modal/Modal.js.map +1 -1
- package/dist/Modal/Modal.styles.js +13 -13
- 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/PageLayout/PageLayout.d.ts +3 -3
- package/dist/PageLayout/PageLayout.js +60 -29
- package/dist/PageLayout/PageLayout.js.map +1 -1
- package/dist/PageLayout/PageLayout.styles.d.ts +2 -0
- package/dist/PageLayout/PageLayout.styles.js +37 -26
- package/dist/PageLayout/PageLayout.styles.js.map +1 -1
- package/dist/PageLayout/PageLayout.types.d.ts +6 -1
- package/dist/PageLayout/PageLayout.types.js.map +1 -1
- package/dist/Pagination/Pagination.styles.js +5 -5
- package/dist/Panel/Panel.d.ts +15 -0
- package/dist/Panel/Panel.js +16 -16
- package/dist/Panel/Panel.js.map +1 -1
- 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.d.ts +2 -2
- package/dist/Popover/Popover.js +21 -22
- package/dist/Popover/Popover.js.map +1 -1
- 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/Section/Section.styles.js +6 -6
- package/dist/SegmentedController/SegmentedController.styles.js +4 -4
- package/dist/Select/Select.d.ts +16 -0
- package/dist/Select/Select.js +17 -17
- 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/Sidebar/Sidebar.styles.js +7 -7
- package/dist/Slider/Slider.styles.js +5 -5
- package/dist/Spinner/Spinner.styles.js +7 -7
- package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
- package/dist/SuperSelect/SuperSelect.styles.js +37 -37
- 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.d.ts +5 -5
- package/dist/Tabs/Tabs.js +32 -28
- package/dist/Tabs/Tabs.js.map +1 -1
- package/dist/Tabs/Tabs.styles.d.ts +12 -6
- package/dist/Tabs/Tabs.styles.js +40 -38
- package/dist/Tabs/Tabs.styles.js.map +1 -1
- 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.d.ts +14 -0
- package/dist/Thumbnail/Thumbnail.js +8 -8
- package/dist/Thumbnail/Thumbnail.js.map +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.d.ts +1 -1
- package/dist/Toast/Toast.js +18 -18
- package/dist/Toast/Toast.js.map +1 -1
- 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/Tooltip/Tooltip.d.ts +17 -0
- package/dist/Tooltip/Tooltip.js +18 -18
- package/dist/Tooltip/Tooltip.js.map +1 -1
- 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/useFileUploader.js +1 -1
- package/dist/_hooks/useFileUploader.js.map +1 -1
- package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
- package/dist/_typedoc/AvatarStack/AvatarStack.types.json +23 -23
- 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 +4 -4
- 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 +726 -726
- 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 +41 -41
- 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 +38 -38
- package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +31 -31
- package/dist/_typedoc/PageLayout/PageLayout.types.json +68 -22
- package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
- package/dist/_typedoc/Panel/Panel.types.json +27 -27
- package/dist/_typedoc/Pill/Pill.types.json +2 -2
- package/dist/_typedoc/PillSelect/PillSelect.types.json +47 -47
- 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 +18 -18
- package/dist/_typedoc/Section/Section.types.json +14 -14
- package/dist/_typedoc/SegmentedController/SegmentedController.types.json +20 -20
- package/dist/_typedoc/Select/Select.types.json +57 -57
- package/dist/_typedoc/Slider/Slider.types.json +6 -6
- package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
- package/dist/_typedoc/Switch/Switch.types.json +3 -3
- package/dist/_typedoc/Table/Table.types.json +99 -99
- package/dist/_typedoc/Tabs/Tabs.types.json +17 -17
- 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 +3 -3
- package/dist/_typedoc/Token/Token.types.json +4 -4
- package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
- 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 +8 -8
- package/dist/_typedoc/_utils/types.json +3 -3
- package/dist/_utils/isFunction.d.ts +1 -0
- package/dist/_utils/isFunction.js +4 -0
- package/dist/_utils/isFunction.js.map +1 -0
- package/package.json +1 -1
package/dist/Menu/Menu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.js","names":["React","StyledFooter","StyledGroup","StyledHeader","StyledItem","StyledMenu","StyledOptions","StyledSearch","StyledWrapper","useOverlayTriggerContext","Typeahead","useEventListener","useI18nContext","useListNavigation","addSubcomponents","usingHookOrDefault","onScrollBottomThreshold","isItem","element","type","Item","scrollIntoView","index","parentElement","scrollTop","offsetTop","clientHeight","_element$parentElemen","parentHeight","checkBottomScrollPosition","callback","onScroll","e","currentTarget","HTMLElement","scrollHeight","noop","useMenu","_ref","_ref$isSelectable","isSelectable","externalKeyHandlerRef","keyHandlerRef","_ref$multiple","multiple","onScrollBottom","_ref$onSearch","onSearch","_ref$onSelect","onSelect","_ref$scrollable","scrollable","listNavigation","circular","initialIndex","size","highlighted","useRef","createRef","selectItem","useCallback","selection","onKeyDown","key","increment","preventDefault","decrement","current","click","useEffect","el","addEventListener","removeEventListener","domHandlers","nativeEvent","MenuHookContext","createContext","useMenuHookContext","context","useContext","Error","Menu_","forwardRef","Menu","_ref2","ref","children","_ref2$UNSAFE_closesOn","UNSAFE_closesOnSelect","_ref2$isSelectable","_ref2$onSelect","_ref2$scrollable","usingHook","props","_objectWithoutProperties","_excluded","overlayTriggerContext","menu","reset","hide","event","createElement","Provider","value","_objectSpread","_extends","tabIndex","Group","_ref3","_ref3$clickable","clickable","item","_excluded2","onClick","$clickable","_ref4","_ref4$index","_ref4$onClick","_ref4$selected","selected","_ref4$suggested","suggested","onMouseMove","_excluded3","_useMenuHookContext","itemRef","isHighlighted","set","group","$highlighted","$selected","Options","_ref5","className","_ref5$scrollable","_useMenuHookContext2","menuScrollable","optionsRef","Children","toArray","filter","length","setSize","handler","scope","$scrollable","map","child","isValidElement","selectableIndex","cloneElement","Search","_ref6","_ref6$i18nScope","i18nScope","placeholder","_onChange","onChange","_excluded4","I18n","_React$useState","useState","_React$useState2","_slicedToArray","setValue","_menu$onSearch","target","call","autoFocus","t","Header","_ref7","_objectDestructuringEmpty","Footer","_ref8","_ref8$padding","padding","_excluded5","displayName"],"sources":["../../src/Menu/Menu.tsx"],"sourcesContent":["import React from 'react'\nimport {\n StyledFooter,\n StyledGroup,\n StyledHeader,\n StyledItem,\n StyledMenu,\n StyledOptions,\n StyledSearch,\n StyledWrapper,\n} from '../MenuImperative/MenuImperative.styles'\nimport { useOverlayTriggerContext } from '../OverlayTrigger/OverlayTrigger'\nimport { Typeahead } from '../Typeahead/Typeahead'\nimport type { TypeaheadProps } from '../Typeahead/Typeahead.types'\nimport { useEventListener } from '../_hooks/EventListener'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { useListNavigation } from '../_hooks/ListNavigation'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport type { DivAttributes } from '../_utils/types'\nimport { usingHookOrDefault } from '../_utils/usingHookOrDefault'\nimport type {\n ElementTypeChecker,\n MenuFooterProps,\n MenuGroupProps,\n MenuHeaderProps,\n MenuHook,\n MenuHookConfig,\n MenuItemProps,\n MenuOptionsProps,\n MenuProps,\n MenuSearchProps,\n MenuSelection,\n} from './Menu.types'\n\nconst onScrollBottomThreshold = 8\n\nexport const isItem: ElementTypeChecker = (element) => element.type === Item\n\nfunction scrollIntoView(index: number, element: HTMLElement) {\n if (!element.parentElement) {\n return\n }\n\n if (index === 0) {\n element.parentElement.scrollTop = 0\n\n return\n }\n\n const { offsetTop, clientHeight } = element\n\n const { scrollTop, clientHeight: parentHeight } = element.parentElement\n\n if (offsetTop < scrollTop) {\n element.parentElement.scrollTop = offsetTop\n } else if (offsetTop + clientHeight > scrollTop + parentHeight) {\n element.parentElement.scrollTop = offsetTop - parentHeight + clientHeight\n }\n}\n\nfunction checkBottomScrollPosition(callback?: (e: Event) => void) {\n return function onScroll(e: Event) {\n if (\n callback &&\n e.currentTarget instanceof HTMLElement &&\n e.currentTarget.scrollTop >=\n e.currentTarget.scrollHeight -\n e.currentTarget.clientHeight -\n onScrollBottomThreshold\n ) {\n callback(e)\n }\n }\n}\n\nfunction noop() {}\n\nexport function useMenu({\n isSelectable = isItem,\n keyHandlerRef: externalKeyHandlerRef,\n multiple = false,\n onScrollBottom,\n onSearch = noop,\n onSelect = noop,\n scrollable = true,\n}: MenuHookConfig): MenuHook {\n const listNavigation = useListNavigation({\n circular: !onScrollBottom,\n initialIndex: 0,\n size: 0,\n })\n\n const highlighted = React.useRef<HTMLDivElement>(null)\n\n const keyHandlerRef = externalKeyHandlerRef || React.createRef<HTMLElement>()\n\n const selectItem = React.useCallback(\n (selection: MenuSelection) => {\n onSelect(selection)\n },\n [onSelect]\n )\n\n const onKeyDown = React.useCallback(\n function (e: KeyboardEvent) {\n const { key } = e\n\n if (key === 'ArrowDown' || key === 'Down') {\n listNavigation.increment()\n e.preventDefault()\n } else if (key === 'ArrowUp' || key === 'Up') {\n listNavigation.decrement()\n e.preventDefault()\n } else if (key === 'Enter') {\n if (highlighted.current) {\n highlighted.current.click()\n }\n }\n },\n [listNavigation]\n )\n\n // TODO - deprecate keyhandlerRef, this is just for backwards compatibility since we already exposed it\n React.useEffect(\n function () {\n let el: HTMLElement\n\n if (keyHandlerRef.current) {\n keyHandlerRef.current.addEventListener('keydown', onKeyDown)\n\n el = keyHandlerRef.current\n }\n\n return function () {\n if (el) {\n el.removeEventListener('keydown', onKeyDown)\n }\n }\n },\n [keyHandlerRef, onKeyDown]\n )\n\n return {\n domHandlers: {\n onKeyDown: (e: React.KeyboardEvent<HTMLElement>) =>\n onKeyDown(e.nativeEvent),\n },\n highlighted,\n isSelectable,\n listNavigation,\n multiple,\n onScrollBottom,\n onSearch,\n scrollable,\n selectItem,\n }\n}\n\nexport const MenuHookContext = React.createContext<MenuHook | null>(null)\n\nexport function useMenuHookContext(): MenuHook {\n const context = React.useContext(MenuHookContext)\n\n if (context === null) {\n throw new Error(\n 'Cannot find `MenuHook` context, please wrap your component in `<MenuHookContext.Provider>`'\n )\n }\n\n return context\n}\n\n/**\n\n Menus are used in conjunction with components that contain dropdowns.\n For example, multi select, single select, and dropdown.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-menu--demo)\n\n @see [Design Guidelines](https://design.procore.com/menu)\n\n */\nexport const Menu_ = React.forwardRef<HTMLDivElement, MenuProps>(function Menu(\n {\n children,\n UNSAFE_closesOnSelect = true,\n isSelectable = isItem,\n keyHandlerRef,\n onScrollBottom,\n onSelect = noop,\n onSearch,\n scrollable = true,\n usingHook,\n ...props\n },\n ref\n) {\n // Don't be tempted to put this in useMenu. In order for hooks to be portable\n // across the dom tree, they should not contain context consumers.\n const overlayTriggerContext = useOverlayTriggerContext()\n\n const menu = usingHookOrDefault(\n usingHook,\n useMenu\n )({\n isSelectable,\n keyHandlerRef,\n onScrollBottom,\n onSelect,\n onSearch,\n scrollable,\n })\n\n React.useEffect(\n function () {\n // When unmounting, reset the listNavigation index and set\n // the current highlighted item to null. we only want to run this once,\n // so don't pass any dependencies\n return function () {\n menu.listNavigation.reset()\n menu.highlighted.current = null\n }\n },\n /* eslint-disable */ [] /* eslint-enable */\n )\n\n function selectItem(selection: MenuSelection) {\n menu.selectItem(selection)\n\n if (UNSAFE_closesOnSelect) {\n overlayTriggerContext.hide(selection.event)\n }\n }\n\n return (\n <MenuHookContext.Provider value={{ ...menu, selectItem }}>\n <StyledWrapper {...menu.domHandlers} ref={ref} tabIndex={0}>\n <StyledMenu {...props}>{children}</StyledMenu>\n </StyledWrapper>\n </MenuHookContext.Provider>\n )\n})\n\nexport const Group = React.forwardRef<\n HTMLDivElement,\n DivAttributes & MenuGroupProps\n>(function Group({ children, clickable = false, item, ...props }, ref) {\n return (\n <StyledGroup\n {...props}\n ref={ref}\n onClick={(event) => {\n // TODO: implement selecting groups?\n }}\n $clickable={clickable}\n >\n {children}\n </StyledGroup>\n )\n})\n\nexport const Item = React.forwardRef<\n HTMLDivElement,\n DivAttributes & MenuItemProps\n>(function Item(\n {\n children,\n index = 0,\n item,\n onClick = noop,\n selected = false,\n suggested = false,\n onMouseMove,\n ...props\n },\n ref\n) {\n const { highlighted, listNavigation, multiple, selectItem } =\n useMenuHookContext()\n\n const itemRef =\n // eslint-disable-next-line react-hooks/rules-of-hooks\n (ref as React.RefObject<HTMLDivElement>) || React.useRef<HTMLDivElement>()\n\n const isHighlighted = index === listNavigation.index\n\n React.useEffect(\n function () {\n // When mounting, check if this item is selected or suggested, and if\n // it is, then set it as the current index and scroll to it.\n // We only want to run this once, so don't pass any dependencies\n\n if (multiple) {\n // don't do this behavior in multiple mode\n return\n }\n\n if (itemRef.current && (selected || suggested)) {\n highlighted.current = itemRef.current\n listNavigation.set(index)\n }\n },\n /* eslint-disable */ [] /* eslint-enable */\n )\n\n React.useEffect(\n function () {\n // If this item has become highlighted, scroll to it\n if (itemRef.current && isHighlighted) {\n highlighted.current = itemRef.current\n scrollIntoView(index, itemRef.current)\n }\n },\n [highlighted, index, isHighlighted, itemRef]\n )\n\n return (\n <StyledItem\n {...props}\n onClick={(event) => {\n listNavigation.set(index)\n\n selectItem({ event: event.nativeEvent, item, group: false })\n\n onClick(event)\n }}\n onMouseMove={(event) => {\n if (onMouseMove) {\n onMouseMove(event)\n }\n if (listNavigation.index !== index) {\n listNavigation.set(index)\n }\n }}\n ref={itemRef}\n $highlighted={isHighlighted}\n $selected={selected}\n >\n {children}\n </StyledItem>\n )\n})\n\nexport const Options = React.forwardRef<HTMLDivElement, MenuOptionsProps>(\n function Options({ children, className, scrollable = true }, ref) {\n const {\n listNavigation,\n isSelectable,\n onScrollBottom,\n scrollable: menuScrollable,\n } = useMenuHookContext()\n\n const optionsRef =\n (ref as React.RefObject<HTMLDivElement>) || React.createRef()\n\n const size = React.Children.toArray(children).filter(isSelectable).length\n\n React.useEffect(\n function () {\n listNavigation.setSize(size)\n },\n [listNavigation, size]\n )\n\n useEventListener({\n event: 'scroll',\n handler: checkBottomScrollPosition(onScrollBottom),\n scope: optionsRef,\n })\n\n let index = 0\n\n return (\n <StyledOptions\n className={className}\n ref={optionsRef}\n $scrollable={menuScrollable || scrollable}\n >\n {React.Children.map(children, (child) => {\n if (React.isValidElement(child) && isSelectable(child)) {\n const selectableIndex = index\n\n index = index + 1\n\n return React.cloneElement(child, {\n index: selectableIndex,\n })\n }\n\n return child\n })}\n </StyledOptions>\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 const menu = useMenuHookContext()\n\n const [value, setValue] = React.useState('')\n\n const onChange: TypeaheadProps['onChange'] = React.useCallback(\n function (value: string, event: any) {\n setValue(event.target.value)\n menu.onSearch?.(event)\n menu.listNavigation.set(0)\n _onChange?.(event)\n },\n [_onChange]\n )\n\n return (\n <StyledSearch className={className}>\n <Typeahead\n {...props}\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 & MenuHeaderProps\n>(function Header({ ...props }, ref) {\n return <StyledHeader ref={ref} {...props} />\n})\n\nexport const Footer = React.forwardRef<\n HTMLDivElement,\n DivAttributes & MenuFooterProps\n>(function Footer({ padding = 'md lg', ...props }, ref) {\n return <StyledFooter ref={ref} padding={padding} {...props} />\n})\n\nMenu_.displayName = 'Menu'\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\nexport const Menu = addSubcomponents(\n {\n Footer,\n Group,\n Header,\n Item,\n Options,\n Search,\n },\n Menu_\n)\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Menu.js","names":["React","StyledFooter","StyledGroup","StyledHeader","StyledItem","StyledMenu","StyledOptions","StyledSearch","StyledWrapper","useOverlayTriggerContext","Typeahead","useEventListener","useI18nContext","useListNavigation","addSubcomponents","usingHookOrDefault","onScrollBottomThreshold","isItem","element","type","Item","scrollIntoView","index","parentElement","scrollTop","offsetTop","clientHeight","_element$parentElemen","parentHeight","checkBottomScrollPosition","callback","onScroll","e","currentTarget","HTMLElement","scrollHeight","noop","useMenu","_ref","_ref$isSelectable","isSelectable","externalKeyHandlerRef","keyHandlerRef","_ref$multiple","multiple","onScrollBottom","_ref$onSearch","onSearch","_ref$onSelect","onSelect","_ref$scrollable","scrollable","listNavigation","circular","initialIndex","size","highlighted","useRef","createRef","selectItem","useCallback","selection","onKeyDown","key","increment","preventDefault","decrement","current","click","useEffect","el","addEventListener","removeEventListener","domHandlers","nativeEvent","MenuHookContext","createContext","useMenuHookContext","context","useContext","Error","Menu_","forwardRef","Menu","_ref2","ref","children","_ref2$UNSAFE_closesOn","UNSAFE_closesOnSelect","_ref2$isSelectable","_ref2$onSelect","_ref2$scrollable","usingHook","props","_objectWithoutProperties","_excluded","overlayTriggerContext","menu","reset","hide","event","createElement","Provider","value","_objectSpread","_extends","tabIndex","Group","_ref3","_ref3$clickable","clickable","item","_excluded2","onClick","$clickable","_ref4","_ref4$index","_ref4$onClick","_ref4$selected","selected","_ref4$suggested","suggested","onMouseMove","_excluded3","_useMenuHookContext","itemRef","isHighlighted","set","group","$highlighted","$selected","Options","_ref5","className","_ref5$scrollable","_useMenuHookContext2","menuScrollable","optionsRef","Children","toArray","filter","length","setSize","handler","scope","$scrollable","map","child","isValidElement","selectableIndex","cloneElement","Search","_ref6","_ref6$i18nScope","i18nScope","placeholder","_onChange","onChange","_excluded4","I18n","_React$useState","useState","_React$useState2","_slicedToArray","setValue","_menu$onSearch","target","call","autoFocus","t","Header","_ref7","_objectDestructuringEmpty","Footer","_ref8","_ref8$padding","padding","_excluded5","displayName"],"sources":["../../src/Menu/Menu.tsx"],"sourcesContent":["import React from 'react'\nimport {\n StyledFooter,\n StyledGroup,\n StyledHeader,\n StyledItem,\n StyledMenu,\n StyledOptions,\n StyledSearch,\n StyledWrapper,\n} from '../MenuImperative/MenuImperative.styles'\nimport { useOverlayTriggerContext } from '../OverlayTrigger/OverlayTrigger'\nimport { Typeahead } from '../Typeahead/Typeahead'\nimport type { TypeaheadProps } from '../Typeahead/Typeahead.types'\nimport { useEventListener } from '../_hooks/EventListener'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { useListNavigation } from '../_hooks/ListNavigation'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport type { DivAttributes } from '../_utils/types'\nimport { usingHookOrDefault } from '../_utils/usingHookOrDefault'\nimport type {\n ElementTypeChecker,\n MenuFooterProps,\n MenuGroupProps,\n MenuHeaderProps,\n MenuHook,\n MenuHookConfig,\n MenuItemProps,\n MenuOptionsProps,\n MenuProps,\n MenuSearchProps,\n MenuSelection,\n} from './Menu.types'\n\nconst onScrollBottomThreshold = 8\n\nexport const isItem: ElementTypeChecker = (element) => element.type === Item\n\nfunction scrollIntoView(index: number, element: HTMLElement) {\n if (!element.parentElement) {\n return\n }\n\n if (index === 0) {\n element.parentElement.scrollTop = 0\n\n return\n }\n\n const { offsetTop, clientHeight } = element\n\n const { scrollTop, clientHeight: parentHeight } = element.parentElement\n\n if (offsetTop < scrollTop) {\n element.parentElement.scrollTop = offsetTop\n } else if (offsetTop + clientHeight > scrollTop + parentHeight) {\n element.parentElement.scrollTop = offsetTop - parentHeight + clientHeight\n }\n}\n\nfunction checkBottomScrollPosition(callback?: (e: Event) => void) {\n return function onScroll(e: Event) {\n if (\n callback &&\n e.currentTarget instanceof HTMLElement &&\n e.currentTarget.scrollTop >=\n e.currentTarget.scrollHeight -\n e.currentTarget.clientHeight -\n onScrollBottomThreshold\n ) {\n callback(e)\n }\n }\n}\n\nfunction noop() {}\n\nexport function useMenu({\n isSelectable = isItem,\n keyHandlerRef: externalKeyHandlerRef,\n multiple = false,\n onScrollBottom,\n onSearch = noop,\n onSelect = noop,\n scrollable = true,\n}: MenuHookConfig): MenuHook {\n const listNavigation = useListNavigation({\n circular: !onScrollBottom,\n initialIndex: 0,\n size: 0,\n })\n\n const highlighted = React.useRef<HTMLDivElement>(null)\n\n const keyHandlerRef = externalKeyHandlerRef || React.createRef<HTMLElement>()\n\n const selectItem = React.useCallback(\n (selection: MenuSelection) => {\n onSelect(selection)\n },\n [onSelect]\n )\n\n const onKeyDown = React.useCallback(\n function (e: KeyboardEvent) {\n const { key } = e\n\n if (key === 'ArrowDown' || key === 'Down') {\n listNavigation.increment()\n e.preventDefault()\n } else if (key === 'ArrowUp' || key === 'Up') {\n listNavigation.decrement()\n e.preventDefault()\n } else if (key === 'Enter') {\n if (highlighted.current) {\n highlighted.current.click()\n }\n }\n },\n [listNavigation]\n )\n\n // TODO - deprecate keyhandlerRef, this is just for backwards compatibility since we already exposed it\n React.useEffect(\n function () {\n let el: HTMLElement\n\n if (keyHandlerRef.current) {\n keyHandlerRef.current.addEventListener('keydown', onKeyDown)\n\n el = keyHandlerRef.current\n }\n\n return function () {\n if (el) {\n el.removeEventListener('keydown', onKeyDown)\n }\n }\n },\n [keyHandlerRef, onKeyDown]\n )\n\n return {\n domHandlers: {\n onKeyDown: (e: React.KeyboardEvent<HTMLElement>) =>\n onKeyDown(e.nativeEvent),\n },\n highlighted,\n isSelectable,\n listNavigation,\n multiple,\n onScrollBottom,\n onSearch,\n scrollable,\n selectItem,\n }\n}\n\nexport const MenuHookContext = React.createContext<MenuHook | null>(null)\n\nexport function useMenuHookContext(): MenuHook {\n const context = React.useContext(MenuHookContext)\n\n if (context === null) {\n throw new Error(\n 'Cannot find `MenuHook` context, please wrap your component in `<MenuHookContext.Provider>`'\n )\n }\n\n return context\n}\n\nexport const Menu_ = React.forwardRef<HTMLDivElement, MenuProps>(function Menu(\n {\n children,\n UNSAFE_closesOnSelect = true,\n isSelectable = isItem,\n keyHandlerRef,\n onScrollBottom,\n onSelect = noop,\n onSearch,\n scrollable = true,\n usingHook,\n ...props\n },\n ref\n) {\n // Don't be tempted to put this in useMenu. In order for hooks to be portable\n // across the dom tree, they should not contain context consumers.\n const overlayTriggerContext = useOverlayTriggerContext()\n\n const menu = usingHookOrDefault(\n usingHook,\n useMenu\n )({\n isSelectable,\n keyHandlerRef,\n onScrollBottom,\n onSelect,\n onSearch,\n scrollable,\n })\n\n React.useEffect(\n function () {\n // When unmounting, reset the listNavigation index and set\n // the current highlighted item to null. we only want to run this once,\n // so don't pass any dependencies\n return function () {\n menu.listNavigation.reset()\n menu.highlighted.current = null\n }\n },\n /* eslint-disable */ [] /* eslint-enable */\n )\n\n function selectItem(selection: MenuSelection) {\n menu.selectItem(selection)\n\n if (UNSAFE_closesOnSelect) {\n overlayTriggerContext.hide(selection.event)\n }\n }\n\n return (\n <MenuHookContext.Provider value={{ ...menu, selectItem }}>\n <StyledWrapper {...menu.domHandlers} ref={ref} tabIndex={0}>\n <StyledMenu {...props}>{children}</StyledMenu>\n </StyledWrapper>\n </MenuHookContext.Provider>\n )\n})\n\nexport const Group = React.forwardRef<\n HTMLDivElement,\n DivAttributes & MenuGroupProps\n>(function Group({ children, clickable = false, item, ...props }, ref) {\n return (\n <StyledGroup\n {...props}\n ref={ref}\n onClick={(event) => {\n // TODO: implement selecting groups?\n }}\n $clickable={clickable}\n >\n {children}\n </StyledGroup>\n )\n})\n\nexport const Item = React.forwardRef<\n HTMLDivElement,\n DivAttributes & MenuItemProps\n>(function Item(\n {\n children,\n index = 0,\n item,\n onClick = noop,\n selected = false,\n suggested = false,\n onMouseMove,\n ...props\n },\n ref\n) {\n const { highlighted, listNavigation, multiple, selectItem } =\n useMenuHookContext()\n\n const itemRef =\n // eslint-disable-next-line react-hooks/rules-of-hooks\n (ref as React.RefObject<HTMLDivElement>) || React.useRef<HTMLDivElement>()\n\n const isHighlighted = index === listNavigation.index\n\n React.useEffect(\n function () {\n // When mounting, check if this item is selected or suggested, and if\n // it is, then set it as the current index and scroll to it.\n // We only want to run this once, so don't pass any dependencies\n\n if (multiple) {\n // don't do this behavior in multiple mode\n return\n }\n\n if (itemRef.current && (selected || suggested)) {\n highlighted.current = itemRef.current\n listNavigation.set(index)\n }\n },\n /* eslint-disable */ [] /* eslint-enable */\n )\n\n React.useEffect(\n function () {\n // If this item has become highlighted, scroll to it\n if (itemRef.current && isHighlighted) {\n highlighted.current = itemRef.current\n scrollIntoView(index, itemRef.current)\n }\n },\n [highlighted, index, isHighlighted, itemRef]\n )\n\n return (\n <StyledItem\n {...props}\n onClick={(event) => {\n listNavigation.set(index)\n\n selectItem({ event: event.nativeEvent, item, group: false })\n\n onClick(event)\n }}\n onMouseMove={(event) => {\n if (onMouseMove) {\n onMouseMove(event)\n }\n if (listNavigation.index !== index) {\n listNavigation.set(index)\n }\n }}\n ref={itemRef}\n $highlighted={isHighlighted}\n $selected={selected}\n >\n {children}\n </StyledItem>\n )\n})\n\nexport const Options = React.forwardRef<HTMLDivElement, MenuOptionsProps>(\n function Options({ children, className, scrollable = true }, ref) {\n const {\n listNavigation,\n isSelectable,\n onScrollBottom,\n scrollable: menuScrollable,\n } = useMenuHookContext()\n\n const optionsRef =\n (ref as React.RefObject<HTMLDivElement>) || React.createRef()\n\n const size = React.Children.toArray(children).filter(isSelectable).length\n\n React.useEffect(\n function () {\n listNavigation.setSize(size)\n },\n [listNavigation, size]\n )\n\n useEventListener({\n event: 'scroll',\n handler: checkBottomScrollPosition(onScrollBottom),\n scope: optionsRef,\n })\n\n let index = 0\n\n return (\n <StyledOptions\n className={className}\n ref={optionsRef}\n $scrollable={menuScrollable || scrollable}\n >\n {React.Children.map(children, (child) => {\n if (React.isValidElement(child) && isSelectable(child)) {\n const selectableIndex = index\n\n index = index + 1\n\n return React.cloneElement(child, {\n index: selectableIndex,\n })\n }\n\n return child\n })}\n </StyledOptions>\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 const menu = useMenuHookContext()\n\n const [value, setValue] = React.useState('')\n\n const onChange: TypeaheadProps['onChange'] = React.useCallback(\n function (value: string, event: any) {\n setValue(event.target.value)\n menu.onSearch?.(event)\n menu.listNavigation.set(0)\n _onChange?.(event)\n },\n [_onChange]\n )\n\n return (\n <StyledSearch className={className}>\n <Typeahead\n {...props}\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 & MenuHeaderProps\n>(function Header({ ...props }, ref) {\n return <StyledHeader ref={ref} {...props} />\n})\n\nexport const Footer = React.forwardRef<\n HTMLDivElement,\n DivAttributes & MenuFooterProps\n>(function Footer({ padding = 'md lg', ...props }, ref) {\n return <StyledFooter ref={ref} padding={padding} {...props} />\n})\n\nMenu_.displayName = 'Menu'\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 Menus are used in conjunction with components that contain dropdowns.\n For example, multi select, single select, and dropdown.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-menu--demo)\n\n @see [Design Guidelines](https://design.procore.com/menu)\n\n */\nexport const Menu = addSubcomponents(\n {\n Footer,\n Group,\n Header,\n Item,\n Options,\n Search,\n },\n Menu_\n)\n"],"mappings":"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"}
|
|
@@ -43,6 +43,13 @@ export declare const Search: {
|
|
|
43
43
|
};
|
|
44
44
|
export declare const Header: React.ForwardRefExoticComponent<DivAttributes & HeaderProps & React.RefAttributes<HTMLDivElement>>;
|
|
45
45
|
export declare const Footer: React.ForwardRefExoticComponent<DivAttributes & FooterProps & React.RefAttributes<HTMLDivElement>>;
|
|
46
|
+
/**
|
|
47
|
+
|
|
48
|
+
@since 10.19.0
|
|
49
|
+
|
|
50
|
+
@see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-menu-imperative--demo)
|
|
51
|
+
|
|
52
|
+
*/
|
|
46
53
|
export declare const MenuImperative: React.ForwardRefExoticComponent<MenuProps & React.RefAttributes<MenuRef>> & {
|
|
47
54
|
CheckboxItem: React.ForwardRefExoticComponent<(DivAttributes & (ItemProps | ItemWithDraggingProps) & Omit<CheckboxProps, "checked">) & React.RefAttributes<HTMLDivElement>>;
|
|
48
55
|
Droppable: typeof Droppable;
|
|
@@ -129,14 +129,6 @@ function changeAriaActiveDescendantOnOptions() {
|
|
|
129
129
|
var options = menuRef === null || menuRef === void 0 ? void 0 : menuRef.querySelector('[data-internal="menuimperative-options"]');
|
|
130
130
|
options === null || options === void 0 ? void 0 : options.setAttribute('aria-activedescendant', id);
|
|
131
131
|
}
|
|
132
|
-
|
|
133
|
-
/**
|
|
134
|
-
|
|
135
|
-
@since 10.19.0
|
|
136
|
-
|
|
137
|
-
@see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-menu-imperative--demo)
|
|
138
|
-
|
|
139
|
-
*/
|
|
140
132
|
var MenuImperative_ = /*#__PURE__*/React.forwardRef(function Menu(_ref, forwardRef) {
|
|
141
133
|
var _ref$circular = _ref.circular,
|
|
142
134
|
circular = _ref$circular === void 0 ? false : _ref$circular,
|
|
@@ -567,6 +559,14 @@ Header.displayName = 'Menu.Header';
|
|
|
567
559
|
Item.displayName = 'Menu.Item';
|
|
568
560
|
Options.displayName = 'Menu.Options';
|
|
569
561
|
Search.displayName = 'Menu.Search';
|
|
562
|
+
|
|
563
|
+
/**
|
|
564
|
+
|
|
565
|
+
@since 10.19.0
|
|
566
|
+
|
|
567
|
+
@see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-menu-imperative--demo)
|
|
568
|
+
|
|
569
|
+
*/
|
|
570
570
|
export var MenuImperative = addSubcomponents({
|
|
571
571
|
CheckboxItem: CheckboxItem,
|
|
572
572
|
Droppable: Droppable,
|
|
@@ -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","_excluded4","_useMergeRef","_useMergeRef2","setRef","event","group","action","contextRole","ariaSelected","onMouseMove","$disabled","droppableInfo","Array","isArray","index","draggableIndex","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\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 */\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 ...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' in props &&\n 'draggableId' in props &&\n 'draggableIndex' in props\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: props.draggableId,\n droppableIn: Array.isArray(props.droppableIn)\n ? props.droppableIn\n : [props.droppableIn],\n }\n return (\n <Draggable\n draggableId={JSON.stringify(droppableInfo)}\n index={props.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\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","_excluded4","_useMergeRef","_useMergeRef2","setRef","event","group","action","contextRole","ariaSelected","onMouseMove","$disabled","droppableInfo","Array","isArray","index","draggableIndex","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 ...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' in props &&\n 'draggableId' in props &&\n 'draggableIndex' in props\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: props.draggableId,\n droppableIn: Array.isArray(props.droppableIn)\n ? props.droppableIn\n : [props.droppableIn],\n }\n return (\n <Draggable\n draggableId={JSON.stringify(droppableInfo)}\n index={props.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":";;;;;;;;;;;;;;;;;;;;;;;AAAA,SAASA,IAAI,QAAQ,0BAA0B;AAC/C,SAASC,QAAQ,QAAQ,mBAAmB;AAC5C,SAASC,KAAK,QAAQ,mBAAmB;AACzC,OAAOC,KAAK,IAAIC,cAAc,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AAY3E,SACEC,eAAe,EACfC,SAAS,EACTC,SAAS,IAAIC,YAAY,EACzBC,cAAc,EACdC,cAAc,QACT,qBAAqB;AAC5B,SAASC,QAAQ,EAAEC,YAAY,QAAQ,sBAAsB;AAE7D,SAASC,SAAS,QAAQ,wBAAwB;AAElD,SAASC,cAAc,QAAQ,gBAAgB;AAC/C,SAASC,gBAAgB,QAAQ,kBAAkB;AACnD,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,gBAAgB,QAAQ,4BAA4B;AAC7D,SAASC,SAAS,QAAQ,qBAAqB;AAG/C,SACEC,eAAe,EACfC,YAAY,EACZC,UAAU,EACVC,WAAW,EACXC,YAAY,EACZC,UAAU,EACVC,UAAU,EACVC,aAAa,EACbC,YAAY,EACZC,aAAa,QACR,yBAAyB;AAkBhC,SAASC,aAAa,QAAQ,WAAW;AAEzC,IAAMC,uBAAuB,GAAG,CAAC;AACjC,IAAMC,cAAc,GAAG,EAAE;AAEzB,SAASC,IAAIA,CAAA,EAAG,CAAC;AAEjB,SAASC,kBAAkBA,CAACC,CAAyC,EAAE;EACrE,OACEA,CAAC,CAACC,aAAa,YAAYC,WAAW,IACtCF,CAAC,CAACC,aAAa,CAACE,SAAS,IACvBH,CAAC,CAACC,aAAa,CAACG,YAAY,GAC1BJ,CAAC,CAACC,aAAa,CAACI,YAAY,GAC5BT,uBAAuB;AAE/B;;AAEA;AACA,OAAO,SAASU,WAAWA,CAAkBC,WAAmB,EAAE;EAChE,IAAMC,GAAG,GAAG1C,KAAK,CAAC2C,MAAM,CAAI,CAAC;EAE7B,OAAO,CACLD,GAAG,EACH1C,KAAK,CAAC4C,WAAW,CACf,UAACC,IAAI,EAAK;IACRH,GAAG,CAACI,OAAO,GAAGD,IAAI;IAElB,IAAIJ,WAAW,EAAE;MACf,IAAI,OAAOA,WAAW,KAAK,UAAU,EAAE;QACrCA,WAAW,CAACI,IAAI,CAAC;MACnB,CAAC,MAAM;QACLJ,WAAW,CAACK,OAAO,GAAGD,IAAI;MAC5B;IACF;EACF,CAAC,EACD,CAACJ,WAAW,CACd,CAAC,CACF;AACH;AAEA,IAAMM,WAAW,gBAAG/C,KAAK,CAACgD,aAAa,CAAe;EACpDC,gBAAgB,EAAE,CAAC,CAAC;EACpBC,oBAAoB,EAAE,EAAE;EACxBC,WAAW,EAAEnB,IAAI;EACjBoB,cAAc,EAAEpB,IAAI;EACpBqB,QAAQ,EAAErB,IAAI;EACdsB,IAAI,EAAE;AACR,CAAC,CAAC;AAEF,OAAO,SAASC,cAAcA,CAAA,EAAiB;EAC7C,IAAMC,OAAO,GAAGxD,KAAK,CAACyD,UAAU,CAACV,WAAW,CAAC;EAE7C,IAAIS,OAAO,KAAK,IAAI,EAAE;IACpB,MAAM,IAAIE,KAAK,CACb,oFACF,CAAC;EACH;EAEA,OAAOF,OAAO;AAChB;AAmBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMG,kCAAkC,GAAG,SAArCA,kCAAkCA,CAC7CjB,GAA6B,EAGD;EAAA,IAF5BkB,MAAM,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EAAA,IACbG,OAA+B,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEpC,IAAgBI,GAAG,GAAKD,OAAO,CAAvBE,MAAM;EACd,IAAMC,EAAE,GAAGpE,KAAK,CAACkE,GAAG,CAAC;EACrB,IAAAG,eAAA,GAAgDpE,KAAK,CAACI,QAAQ,CAE5D,CAAC;IAAAiE,gBAAA,GAAAC,cAAA,CAAAF,eAAA;IAFIG,gBAAgB,GAAAF,gBAAA;IAAEG,mBAAmB,GAAAH,gBAAA;EAG5C,IAAAI,SAAA,GAAkCrE,QAAQ,CAA6B,CAAC;IAAAsE,UAAA,GAAAJ,cAAA,CAAAG,SAAA;IAAjEE,SAAS,GAAAD,UAAA;IAAEE,YAAY,GAAAF,UAAA;EAC9B;EACA1E,KAAK,CAACE,SAAS,CAAC,YAAM;IACpB0E,YAAY,CAAC;MAAA,IAAAC,YAAA;MAAA,QAAAA,YAAA,GAAMnC,GAAG,CAACI,OAAO,cAAA+B,YAAA,uBAAXA,YAAA,CAAaC,+BAA+B;IAAA,EAAC;EAClE,CAAC,EAAE,EAAE,CAAC;EAEN,IAAIlB,MAAM,EAAE;IACV,IAAMmB,0BAA0B,GAAG;MACjC,uBAAuB,EAAER,gBAAgB;MACzC,eAAe,EAAEJ,EAAE;MACnBQ,SAAS,EAATA;IACF,CAAC;IAED,IAAMK,SAAS,GAAG;MAChBC,wBAAwB,EAAET,mBAAmB;MAC7CL,EAAE,EAAFA;IACF,CAAC;IAED,OAAO;MACLY,0BAA0B,EAA1BA,0BAA0B;MAC1BC,SAAS,EAATA;IACF,CAAC;EACH,CAAC,MAAM;IACL,OAAO;MACLD,0BAA0B,EAAE,CAAC,CAAC;MAC9BC,SAAS,EAAE;QAAEb,EAAE,EAAFA;MAAG;IAClB,CAAC;EACH;AACF,CAAC;AAED,SAASe,mCAAmCA,CAAA,EAAmC;EAAA,IAAlCf,EAAE,GAAAN,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,IAAEsB,OAAuB,GAAAtB,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAC3E,IAAMC,OAAO,GAAGmB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEC,aAAa,CACpC,0CACF,CAAC;EAEDpB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEqB,YAAY,CAAC,uBAAuB,EAAElB,EAAE,CAAC;AACpD;AAEA,IAAMmB,eAAe,gBAAGtF,KAAK,CAACuF,UAAU,CAAqB,SAASC,IAAIA,CAAAC,IAAA,EAaxEF,UAAU,EACV;EAAA,IAAAG,aAAA,GAAAD,IAAA,CAZEE,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,KAAK,GAAAA,aAAA;IAAAE,cAAA,GAAAH,IAAA,CAChBI,SAAS;IAAEC,UAAU,GAAAF,cAAA,cAAG5D,IAAI,GAAA4D,cAAA;IAAAG,mBAAA,GAAAN,IAAA,CAC5BrC,cAAc;IAAE4C,eAAe,GAAAD,mBAAA,cAAG/D,IAAI,GAAA+D,mBAAA;IAAAE,aAAA,GAAAR,IAAA,CACtCpC,QAAQ;IAAE6C,SAAS,GAAAD,aAAA,cAAGjE,IAAI,GAAAiE,aAAA;IAAAE,SAAA,GAAAV,IAAA,CAC1BnC,IAAI;IAAJA,IAAI,GAAA6C,SAAA,cAAG,MAAM,GAAAA,SAAA;IACblB,wBAAwB,GAAAQ,IAAA,CAAxBR,wBAAwB;IACFmB,qBAAqB,GAAAX,IAAA,CAA3CY,oBAAoB;IACpBlC,EAAE,GAAAsB,IAAA,CAAFtB,EAAE;IACFmC,QAAQ,GAAAb,IAAA,CAARa,QAAQ;IACLC,KAAK,GAAAC,wBAAA,CAAAf,IAAA,EAAAgB,SAAA;EAIV,IAAM/D,GAAG,GAAG1C,KAAK,CAAC2C,MAAM,CAAiB,IAAI,CAAC;EAC9C,IAAA+D,UAAA,GAAwDtG,QAAQ,CAAW,EAAE,CAAC;IAAAuG,UAAA,GAAArC,cAAA,CAAAoC,UAAA;IAAvExD,oBAAoB,GAAAyD,UAAA;IAAEC,uBAAuB,GAAAD,UAAA;;EAEpD;EACA,IAAMtD,QAAQ,GAAGrD,KAAK,CAAC4C,WAAW,CAChC,UAAUiE,SAAoB,EAAE;IAC9BX,SAAS,CAACW,SAAS,CAAC;EACtB,CAAC,EACD,CAACX,SAAS,CACZ,CAAC;EAED,IAAMY,iBAAiB,GAAG7B,wBAAwB,GAC9CA,wBAAwB,GACxBC,mCAAmC;EAEvC,IAAA6B,QAAA,GAeI5G,OAAO,CACT;MAAA,OAAM0B,aAAa,CAACa,GAAG,EAAEiD,QAAQ,EAAEmB,iBAAiB,CAAC;IAAA,GACrD,CAACnB,QAAQ,EAAEmB,iBAAiB,CAC9B,CAAC;IAjBCE,eAAe,GAAAD,QAAA,CAAfC,eAAe;IACAlC,+BAA+B,GAAAiC,QAAA,CAA9CE,aAAa;IACbC,SAAS,GAAAH,QAAA,CAATG,SAAS;IACTC,WAAW,GAAAJ,QAAA,CAAXI,WAAW;IACXC,cAAc,GAAAL,QAAA,CAAdK,cAAc;IACdC,aAAa,GAAAN,QAAA,CAAbM,aAAa;IACbC,iBAAiB,GAAAP,QAAA,CAAjBO,iBAAiB;IACjBC,kBAAkB,GAAAR,QAAA,CAAlBQ,kBAAkB;IAClBC,kBAAkB,GAAAT,QAAA,CAAlBS,kBAAkB;IAClBC,IAAI,GAAAV,QAAA,CAAJU,IAAI;IACJC,IAAI,GAAAX,QAAA,CAAJW,IAAI;IACJC,MAAM,GAAAZ,QAAA,CAANY,MAAM;IACNC,oBAAoB,GAAAb,QAAA,CAApBa,oBAAoB;IACpBC,iBAAiB,GAAAd,QAAA,CAAjBc,iBAAiB;EAMnB,IAAMC,qBAAqB,GAAAC,eAAA;IACzBzE,IAAI,EAAJA,IAAI;IACJa,EAAE,EAAFA;EAAE,GACD,sBAAsB,EAAGmC,QAAQ,CACnC;EAED,IAAMrD,gBAAgB,GAAG,CAACgC,wBAAwB,GAAA+C,aAAA,CAAAA,aAAA,KAEzCF,qBAAqB;IACxBnD,SAAS,EAAEyB,qBAAqB,aAArBA,qBAAqB,cAArBA,qBAAqB,GAAItB,+BAA+B;IACnEmD,QAAQ,EAAE;EAAC,KAAAD,aAAA,CAAAA,aAAA,KAGRF,qBAAqB;IACxBnD,SAAS,EAAEZ,SAAS;IACpBkE,QAAQ,EAAElE;EAAS,EACpB;EAEL6D,oBAAoB,CAACvE,QAAQ,CAAC;;EAE9B;EACArD,KAAK,CAACkI,mBAAmB,CAAC3C,UAAU,EAAE;IAAA,OAAO;MAC3C4C,EAAE,EAAEzF,GAAG,CAACI,OAAO;MACfoE,SAAS,EAATA,SAAS;MACTC,WAAW,EAAXA,WAAW;MACXC,cAAc,EAAdA,cAAc;MACdC,aAAa,EAAbA,aAAa;MACbC,iBAAiB,EAAjBA,iBAAiB;MACjBC,kBAAkB,EAAlBA,kBAAkB;MAClBG,IAAI,EAAJA,IAAI;MACJD,IAAI,EAAJA,IAAI;MACJE,MAAM,EAANA,MAAM;MACN7C,+BAA+B,EAA/BA;IACF,CAAC;EAAA,CAAC,CAAC;EAEH5E,SAAS,CAACsH,kBAAkB,CAAC;EAE7B,SAASY,WAAWA,CAACC,KAAgB,EAAEC,QAA2B,EAAE;IAClE;IACAA,QAAQ,CAACC,QAAQ,CAACxG,cAAc,CAAC;IACjC,IAAMyG,QAAQ,GAAGC,IAAI,CAACC,KAAK,CAACL,KAAK,CAACM,WAAW,CAAC;IAC9C/B,uBAAuB,CAAC4B,QAAQ,CAACI,WAAW,CAAC;EAC/C;EAEA,SAASC,YAAYA,CAACC,OAAmB,EAAER,QAA2B,EAAE;IACtE;IACAA,QAAQ,CAACC,QAAQ,CAACxG,cAAc,CAAC;EACnC;EAEA,IAAM8D,SAAS,GAAG7F,KAAK,CAAC4C,WAAW,CACjC,UAAUmG,MAAkB,EAAET,QAA2B,EAAE;IACzD;IACAA,QAAQ,CAACC,QAAQ,CAACxG,cAAc,CAAC;IACjC6E,uBAAuB,CAAC,EAAE,CAAC;IAC3B,IAAImC,MAAM,CAACC,MAAM,KAAK,MAAM,IAAID,MAAM,CAACE,WAAW,EAAE;MAClD,IAAMT,QAAQ,GAAGC,IAAI,CAACC,KAAK,CAACK,MAAM,CAACJ,WAAW,CAAC;MAC/C7C,UAAU,CAAC;QACT6C,WAAW,EAAEH,QAAQ,CAACG,WAAW;QACjCO,MAAM,EAAEH,MAAM,CAACG,MAAM;QACrBD,WAAW,EAAEF,MAAM,CAACE;MACtB,CAAC,CAAC;IACJ;EACF,CAAC,EACD,CAACnD,UAAU,CACb,CAAC;;EAED;EACA,IAAM1C,cAAc,GAAGpD,KAAK,CAAC4C,WAAW,CACtC,UAAUV,CAAyC,EAAE;IACnD,IAAID,kBAAkB,CAACC,CAAC,CAAC,EAAE;MACzB8D,eAAe,CAAC9D,CAAC,CAAC;IACpB;EACF,CAAC,EACD,CAAC8D,eAAe,CAClB,CAAC;EAED,oBACEhG,KAAA,CAAAmJ,aAAA,CAACpG,WAAW,CAACqG,QAAQ;IACnBC,KAAK,EAAE;MACLpG,gBAAgB,EAAhBA,gBAAgB;MAChBC,oBAAoB,EAApBA,oBAAoB;MACpBC,WAAW,EAAE6D,eAAe;MAC5B5D,cAAc,EAAdA,cAAc;MACdC,QAAQ,EAARA,QAAQ;MACRC,IAAI,EAAJA;IACF;EAAE,gBAEFtD,KAAA,CAAAmJ,aAAA,CAACvH,aAAa;IAACc,GAAG,EAAEA;EAAI,gBACtB1C,KAAA,CAAAmJ,aAAA,CAAC9I,eAAe;IACd+H,WAAW,EAAEA,WAAY;IACzBS,YAAY,EAAEA,YAAa;IAC3BhD,SAAS,EAAEA,SAAU;IACrByD,oBAAoB,EAAE,KAAM;IAC5BC,OAAO,EAAE,CAAC9I,cAAc,EAAEC,cAAc,EAAEmH,iBAAiB;EAAE,gBAE7D7H,KAAA,CAAAmJ,aAAA,CAAC1H,UAAU,EAAK8E,KAAQ,CACT,CACJ,CACK,CAAC;AAE3B,CAAC,CAAC;AAEF,OAAO,IAAMiD,KAAK,gBAAGxJ,KAAK,CAACuF,UAAU,CAGnC,SAASiE,KAAKA,CAAAC,KAAA,EAAwD/G,GAAG,EAAE;EAAA,IAA1DgH,SAAS,GAAAD,KAAA,CAATC,SAAS;IAAAC,UAAA,GAAAF,KAAA,CAAEG,IAAI;IAAJA,IAAI,GAAAD,UAAA,cAAG,OAAO,GAAAA,UAAA;IAAExF,EAAE,GAAAsF,KAAA,CAAFtF,EAAE;IAAE0F,QAAQ,GAAAJ,KAAA,CAARI,QAAQ;IAAKtD,KAAK,GAAAC,wBAAA,CAAAiD,KAAA,EAAAK,UAAA;EAClE,IAAAC,SAAA,GAAmCjK,QAAQ,CAAC;MAC1CqE,EAAE,EAAFA,EAAE;MACF6F,KAAK,EAAEH,QAAQ;MACfI,gBAAgB,EAAE;IACpB,CAAC,CAAC;IAJMC,UAAU,GAAAH,SAAA,CAAVG,UAAU;IAAEC,UAAU,GAAAJ,SAAA,CAAVI,UAAU;EAM9B,oBACEnK,KAAA,CAAAmJ,aAAA,CAAC7H,WAAW,EAAA8I,QAAA;IACV1H,GAAG,EAAEA,GAAI;IACT2H,OAAO,EAAE,SAAAA,QAACnI,CAAC,EAAK;MACd;IAAA,CACA;IACF,cAAY,IAAK;IACjB,cAAYuG,IAAI,CAAC6B,SAAS,CAACV,IAAI,CAAE;IACjCtG,IAAI,EAAC;EAAW,GACZ4G,UAAU,EACV3D,KAAK,gBAETvG,KAAA,CAAAmJ,aAAA,SAAUgB,UAAU,EAAGN,QAAe,CAC3B,CAAC;AAElB,CAAC,CAAC;AAEF,SAASU,wBAAwBA,CAC/BV,QAAyB,EACzBlB,WAAgB,EACW;EAC3B,IAAM6B,YAAY,GAAGxK,KAAK,CAACyK,QAAQ,CAACC,OAAO,CAACb,QAAQ,CAAC;EACrD,KAAK,IAAIc,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,YAAY,CAAC1G,MAAM,EAAE6G,CAAC,EAAE,EAAE;IAC5C,IAAMC,KAAK,GAAGJ,YAAY,CAACG,CAAC,CAAC;IAC7B,kBAAI1K,cAAc,CAAC2K,KAAK,CAAC,EAAE;MACzB,IAAI,aAAa,IAAIA,KAAK,CAACrE,KAAK,EAAE;QAChC,IAAIqE,KAAK,CAACrE,KAAK,CAACoC,WAAW,KAAKA,WAAW,EAAE;UAC3C,OAAOiC,KAAK;QACd;MACF,CAAC,MAAM;QACL,IAAMC,aAAa,GAAGN,wBAAwB,CAC5CK,KAAK,CAACrE,KAAK,CAACsD,QAAQ,EACpBlB,WACF,CAAC;QACD,IAAIkC,aAAa,EAAE;UACjB,OAAOA,aAAa;QACtB;MACF;IACF;EACF;EACA,OAAO,IAAI;AACb;AAEA,OAAO,SAAStK,SAASA,CAAAuK,KAAA,EAAmC;EAAA,IAAhC3G,EAAE,GAAA2G,KAAA,CAAF3G,EAAE;IAAE0F,QAAQ,GAAAiB,KAAA,CAARjB,QAAQ;EACtC,IAAMkB,GAAG,GAAGxH,cAAc,CAAC,CAAC;EAC5B,IAAMyH,WAAW,GAAGjK,gBAAgB,CAAC,CAAC,CAACsI,KAAK;EAE5C,SAAS4B,eAAeA,CACtB3C,QAA2B,EAC3B4C,SAAiC,EACjCC,MAAuB,EACvB;IAAA,IAAAC,oBAAA;IACA,IAAMC,aAAa,GAAG5C,IAAI,CAACC,KAAK,CAACyC,MAAM,CAACxC,WAAW,CAAC;IACpD,IAAM2C,aAAa,GAAGf,wBAAwB,CAC5CV,QAAQ,EACRwB,aAAa,CAAC1C,WAChB,CAAC;IACD,IAAM4C,UAAU,IAAAH,oBAAA,GAAGE,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE/E,KAAK,cAAA6E,oBAAA,cAAAA,oBAAA,GAAI,CAAC,CAAC;IAE7C,oBACEpL,KAAA,CAAAmJ,aAAA,CAACqC,UAAU,EAAApB,QAAA;MACTqB,WAAW,EAAE,CAAAH,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEI,IAAI,MAAKC,YAAa;MAClDrD,QAAQ,EAAEA,QAAS;MACnB0C,WAAW,EAAEA;IAAY,GACrBO,UAAU,CACf,CAAC;EAEN;EAEA,oBACEvL,KAAA,CAAAmJ,aAAA,CAAC3I,YAAY;IACXoL,WAAW,EAAEzH,EAAG;IAChB0H,cAAc,EAAE,CAACd,GAAG,CAAC7H,oBAAoB,CAAC4I,QAAQ,CAAC3H,EAAE,CAAE;IACvD4H,WAAW,EAAEd;EAAgB,GAE5B,UAAC3C,QAA2B,EAAE0D,QAAgC;IAAA,oBAC7DhM,KAAA,CAAAmJ,aAAA,CAAChI,eAAe;MAACuB,GAAG,EAAE4F,QAAQ,CAAC2D,QAAS;MAAC;IAAc,GACpDpC,QAAQ,EACRvB,QAAQ,CAAC4D,WACK,CAAC;EAAA,CAER,CAAC;AAEnB;;AAEA;AACA;AACA;AACA,IAAMV,UAAU,GAAG,SAAbA,UAAUA,CAAAW,KAAA,EAYR;EAAA,IAAAC,iBAAA,GAAAD,KAAA,CAXNV,WAAW;IAAXA,WAAW,GAAAW,iBAAA,cAAG,KAAK,GAAAA,iBAAA;IAAAC,cAAA,GAAAF,KAAA,CACnBtC,QAAQ;IAARA,QAAQ,GAAAwC,cAAA,cAAG,IAAI,GAAAA,cAAA;IAAAC,cAAA,GAAAH,KAAA,CACfI,QAAQ;IAARA,QAAQ,GAAAD,cAAA,cAAG,KAAK,GAAAA,cAAA;IAChBhE,QAAQ,GAAA6D,KAAA,CAAR7D,QAAQ;IACL/B,KAAK,GAAAC,wBAAA,CAAA2F,KAAA,EAAAK,UAAA;EAQR,IAAMC,SAAS,GAAAzE,aAAA,CAAAA,aAAA,KACVzB,KAAK;IACRmG,SAAS,EAAEH;EAAQ,EACpB;EAED,IAAMI,YAAY,GAAGlB,WAAW,gBAC9BzL,KAAA,CAAAmJ,aAAA,CAACxI,QAAQ;IACPiM,aAAa,EAAErG,KAAK,CAACqG,aAAc;IACnCC,KAAK,EAAEtG,KAAK,CAACsG,KAAM;IACnBC,OAAO,EAAEP,QAAS;IAClBQ,QAAQ,EAAE/K;EAAK,GAEd6H,QACO,CAAC,GAEXA,QACD;EAED,oBACE7J,KAAA,CAAAmJ,aAAA,CAAC3H,UAAU,EAAA4I,QAAA;IACT1H,GAAG,EAAE4F,QAAQ,CAAC2D;EAAS,GACnB3D,QAAQ,CAAC0E,cAAc,EACvB1E,QAAQ,CAAC2E,eAAe,EACxBR,SAAS;IACbS,YAAY;IACZC,WAAW;IACXC,KAAK,EAAApF,aAAA,CAAAA,aAAA,CAAAA,aAAA,KACAM,QAAQ,CAAC0E,cAAc,CAACI,KAAK,GAC7B7G,KAAK,CAAC6G,KAAK;MACdC,MAAM,EAAE9G,KAAK,CAACyE;IAAW;EACzB,iBAEFhL,KAAA,CAAAmJ,aAAA,CAAC9H,UAAU,qBACTrB,KAAA,CAAAmJ,aAAA,CAACtJ,IAAI;IAACyN,KAAK,EAAEtM,MAAM,CAACuM;EAAO,CAAE,CACnB,CAAC,EACZZ,YACS,CAAC;AAEjB,CAAC;AAED,OAAO,IAAMa,IAAI,gBAAGxN,KAAK,CAACuF,UAAU,CAAC,SAASiI,IAAIA,CAAAC,KAAA;AAkBhD;AACF;AACA;AACA;AACElI,UAA0B,EAC1B;EAAA,IAnBEmI,EAAE,GAAAD,KAAA,CAAFC,EAAE;IAAAC,cAAA,GAAAF,KAAA,CAEF5D,QAAQ;IAARA,QAAQ,GAAA8D,cAAA,cAAG,IAAI,GAAAA,cAAA;IAAAC,UAAA,GAAAH,KAAA,CACf7D,IAAI;IAAJA,IAAI,GAAAgE,UAAA,cAAG,IAAI,GAAAA,UAAA;IAAAC,aAAA,GAAAJ,KAAA,CAEXpD,OAAO;IAAEyD,QAAQ,GAAAD,aAAA,cAAG7L,IAAI,GAAA6L,aAAA;IAAAE,cAAA,GAAAN,KAAA,CACxBlB,QAAQ;IAARA,QAAQ,GAAAwB,cAAA,cAAG,KAAK,GAAAA,cAAA;IAAAC,eAAA,GAAAP,KAAA,CAChBQ,SAAS;IAATA,SAAS,GAAAD,eAAA,cAAG,KAAK,GAAAA,eAAA;IAAAE,cAAA,GAAAT,KAAA,CACjBU,QAAQ;IAARA,QAAQ,GAAAD,cAAA,cAAG,KAAK,GAAAA,cAAA;IACZjK,GAAG,GAAAwJ,KAAA,CAAPtJ,EAAE;IACFb,IAAI,GAAAmK,KAAA,CAAJnK,IAAI;IACJ8K,YAAY,GAAAX,KAAA,CAAZW,YAAY;IACT7H,KAAK,GAAAC,wBAAA,CAAAiH,KAAA,EAAAY,UAAA;EAQV,IAAAC,YAAA,GAAsB9L,WAAW,CAAiB+C,UAAU,CAAC;IAAAgJ,aAAA,GAAAjK,cAAA,CAAAgK,YAAA;IAAtD5L,GAAG,GAAA6L,aAAA;IAAEC,MAAM,GAAAD,aAAA;EAClB,IAAMpK,EAAE,GAAGpE,KAAK,CAACkE,GAAG,CAAC;EAErB,IAAM8G,GAAG,GAAGxH,cAAc,CAAC,CAAC;EAE5B,IAAM8G,OAAO,GAAGrK,KAAK,CAAC4C,WAAW,CAC/B,UAAU6L,KAAmD,EAAE;IAC7D,IAAIN,QAAQ,EAAE;IAEdL,QAAQ,CAACW,KAAK,CAAC;IAEf1D,GAAG,CAAC1H,QAAQ,CAAA2E,aAAA;MACV4B,IAAI,EAAJA,IAAI;MACJ6E,KAAK,EAALA,KAAK;MACLC,KAAK,EAAE,KAAK;MACZC,MAAM,EAAEpC,QAAQ,GAAG,YAAY,GAAG;IAAU,GACxC6B,YAAY,KAAKrK,SAAS,GAAG,CAAC,CAAC,GAAG;MAAEqK,YAAY,EAAZA;IAAa,CAAC,CACvD,CAAC;EACJ,CAAC,EACD,CAACrD,GAAG,EAAEnB,IAAI,EAAEkE,QAAQ,EAAEK,QAAQ,EAAE5B,QAAQ,CAC1C,CAAC;EAED,IAAIqC,WAAW;EACf,IAAIC,YAAY;EAEhB,IAAI9D,GAAG,CAACzH,IAAI,KAAK,SAAS,EAAE;IAC1BsL,WAAW,GAAG,QAAQ;IACtBC,YAAY,GAAGtC,QAAQ,GAAG,IAAI,GAAGxI,SAAS;EAC5C,CAAC,MAAM,IAAIgH,GAAG,CAACzH,IAAI,KAAK,MAAM,EAAE;IAC9BsL,WAAW,GAAG,UAAU;EAC1B;EAEA,IAAMnC,SAAS,GAAAzE,aAAA,CAAAA,aAAA;IACb,eAAe,EAAEmG,QAAQ,GAAG,IAAI,GAAGpK,SAAS;IAC5C,eAAe,EAAE8K;EAAY,GAC1BtI,KAAK;IACRpC,EAAE,EAAFA,EAAE;IACFb,IAAI,EAAEA,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAIsL,WAAW;IACzBvE,OAAO,EAAPA,OAAO;IACPyE,WAAW,EAAE,SAAAA,YAAC5M,CAAM;MAAA,OAAK6I,GAAG,CAAC5H,WAAW,CAACjB,CAAC,CAACC,aAAa,CAAC;IAAA;IACzD,YAAY,EAAE,KAAK;IACnB,YAAY,EAAEsG,IAAI,CAAC6B,SAAS,CAACV,IAAI,CAAC;IAClC,eAAe,EAAE2C,QAAQ;IACzB,gBAAgB,EAAE0B,SAAS;IAC3B,eAAe,EAAEE,QAAQ;IACzB,mBAAmB,EAAEC,YAAY;IACjCW,SAAS,EAAEZ,QAAQ;IACnBzB,SAAS,EAAEH;EAAQ,EACpB;EAED,IACE,aAAa,IAAIhG,KAAK,IACtB,aAAa,IAAIA,KAAK,IACtB,gBAAgB,IAAIA,KAAK,EACzB;IACA;IACA,IAAMyI,aAAa,GAAG;MACpBrG,WAAW,EAAEpC,KAAK,CAACoC,WAAW;MAC9BC,WAAW,EAAEqG,KAAK,CAACC,OAAO,CAAC3I,KAAK,CAACqC,WAAW,CAAC,GACzCrC,KAAK,CAACqC,WAAW,GACjB,CAACrC,KAAK,CAACqC,WAAW;IACxB,CAAC;IACD,oBACE5I,KAAA,CAAAmJ,aAAA,CAAC7I,SAAS;MACRqI,WAAW,EAAEF,IAAI,CAAC6B,SAAS,CAAC0E,aAAa,CAAE;MAC3CG,KAAK,EAAE5I,KAAK,CAAC6I,cAAe;MAC5BC,cAAc,EAAElB;IAAS,GAExB,UAAC7F,QAA2B;MAAA,oBAC3BtI,KAAA,CAAAmJ,aAAA,CAAC3H,UAAU,EAAA4I,QAAA;QACT1H,GAAG,EAAExB,SAAS,CAACoH,QAAQ,CAAC2D,QAAQ,EAAEuC,MAAM,CAAE;QAC1Cd,EAAE,EAAEA;MAAG,GACHpF,QAAQ,CAAC0E,cAAc,EACvB1E,QAAQ,CAAC2E,eAAe,EACxBR,SAAS;QACbS,YAAY,EAAE,CAACiB,QAAS;QACxBf,KAAK,EAAApF,aAAA,CAAAA,aAAA,KAAOM,QAAQ,CAAC0E,cAAc,CAACI,KAAK,GAAKX,SAAS,CAACW,KAAK,CAAG;QAChEnF,QAAQ,EAAE,CAAC;MAAE,IAEZ,CAACkG,QAAQ,iBACRnO,KAAA,CAAAmJ,aAAA,CAAC9H,UAAU,qBACTrB,KAAA,CAAAmJ,aAAA,CAACtJ,IAAI;QAACyN,KAAK,EAAEtM,MAAM,CAACuM;MAAO,CAAE,CACnB,CACb,EACA1D,QACS,CAAC;IAAA,CAEN,CAAC;EAEhB;EAEA,oBACE7J,KAAA,CAAAmJ,aAAA,CAAC3H,UAAU,EAAA4I,QAAA;IAAC1H,GAAG,EAAE8L,MAAO;IAACd,EAAE,EAAEA;EAAG,GAAKjB,SAAS,GAC3C5C,QACS,CAAC;AAEjB,CAAC,CAGA;AAED,OAAO,IAAM8B,YAAY,gBAAG3L,KAAK,CAACuF,UAAU,CAK1C,SAASoG,YAAYA,CAAA2D,KAAA,EAUrB/J,UAAU,EACV;EAAA,IAAAgK,cAAA,GAAAD,KAAA,CATE/C,QAAQ;IAARA,QAAQ,GAAAgD,cAAA,cAAG,KAAK,GAAAA,cAAA;IAAAC,cAAA,GAAAF,KAAA,CAChBnB,QAAQ;IAARA,QAAQ,GAAAqB,cAAA,cAAG,KAAK,GAAAA,cAAA;IAAAC,WAAA,GAAAH,KAAA,CAChBzC,KAAK;IAALA,KAAK,GAAA4C,WAAA,cAAG,KAAK,GAAAA,WAAA;IAAAC,mBAAA,GAAAJ,KAAA,CACb1C,aAAa;IAAbA,aAAa,GAAA8C,mBAAA,cAAG,KAAK,GAAAA,mBAAA;IAAAC,cAAA,GAAAL,KAAA,CACrBzF,QAAQ;IAARA,QAAQ,GAAA8F,cAAA,cAAG,IAAI,GAAAA,cAAA;IACfrM,IAAI,GAAAgM,KAAA,CAAJhM,IAAI;IACDiD,KAAK,GAAAC,wBAAA,CAAA8I,KAAA,EAAAM,UAAA;EAIV,IAAM7E,GAAG,GAAGxH,cAAc,CAAC,CAAC;EAE5B,IAAIqL,WAAW;EACf,IAAIiB,WAAiD;EACrD,IAAIhB,YAAY;EAEhB,IAAI9D,GAAG,CAACzH,IAAI,KAAK,SAAS,EAAE;IAC1BsL,WAAW,GAAG,QAAQ;IACtBC,YAAY,GAAGtC,QAAQ,GAAG,IAAI,GAAGxI,SAAS;EAC5C,CAAC,MAAM,IAAIgH,GAAG,CAACzH,IAAI,KAAK,MAAM,EAAE;IAC9BsL,WAAW,GAAG,kBAAkB;IAEhC,IAAIhC,aAAa,EAAE;MACjBiD,WAAW,GAAG,OAAO;IACvB,CAAC,MAAM;MACLA,WAAW,GAAGtD,QAAQ,GAAG,MAAM,GAAG,OAAO;IAC3C;EACF;EAEA,oBACEvM,KAAA,CAAAmJ,aAAA,CAACqE,IAAI,EAAApD,QAAA;IACH,gBAAcyF,WAAY;IAC1B,iBAAe1B,QAAQ,GAAG,IAAI,GAAGpK,SAAU;IAC3C,iBAAe8K;EAAa,GACxBtI,KAAK;IACTjD,IAAI,EAAEA,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAIsL,WAAY;IAC1BrC,QAAQ,EAAEA,QAAS;IACnB4B,QAAQ,EAAEA,QAAS;IACnBzL,GAAG,EAAE6C;EAAW,iBAEhBvF,KAAA,CAAAmJ,aAAA,CAACvI,YAAY;IACXgM,aAAa,EAAEA,aAAc;IAC7BC,KAAK,EAAEA,KAAM;IACbsB,QAAQ,EAAEA,QAAS;IACnBrB,OAAO,EAAEP;EAAS,GAEjB1C,QACW,CACV,CAAC;AAEX,CAAC,CAAC;AACF,OAAO,IAAMiG,OAAO,gBAAG9P,KAAK,CAACuF,UAAU,CACrC,SAASuK,OAAOA,CAACvJ,KAAK,EAAE7D,GAAG,EAAE;EAC3B,IAAMqI,GAAG,GAAGxH,cAAc,CAAC,CAAC;EAE5B,oBACEvD,KAAA,CAAAmJ,aAAA,CAACzH,aAAa,EAAA0I,QAAA,KACR7D,KAAK,EACLwE,GAAG,CAAC9H,gBAAgB;IACxB,iBAAc,wBAAwB;IACtCP,GAAG,EAAEA,GAAI;IACTqN,QAAQ,EAAEhF,GAAG,CAAC3H;EAAe,EAC9B,CAAC;AAEN,CACF,CAAC;AAED,OAAO,IAAM4M,MAAM,GAAG,SAATA,MAAMA,CAAAC,KAAA,EAMI;EAAA,IALrBC,SAAS,GAAAD,KAAA,CAATC,SAAS;IAAAC,eAAA,GAAAF,KAAA,CACTG,SAAS;IAATA,SAAS,GAAAD,eAAA,cAAG,WAAW,GAAAA,eAAA;IACvBjE,WAAW,GAAA+D,KAAA,CAAX/D,WAAW;IACDmE,SAAS,GAAAJ,KAAA,CAAnBlD,QAAQ;IACLxG,KAAK,GAAAC,wBAAA,CAAAyJ,KAAA,EAAAK,UAAA;EAER,IAAMC,IAAI,GAAGzP,cAAc,CAAC,CAAC;EAE7B,IAAA0P,gBAAA,GAA0BxQ,KAAK,CAACI,QAAQ,CAAC,EAAE,CAAC;IAAAqQ,gBAAA,GAAAnM,cAAA,CAAAkM,gBAAA;IAArCnH,KAAK,GAAAoH,gBAAA;IAAEC,QAAQ,GAAAD,gBAAA;EAEtB,IAAM1D,QAAoC,GAAG/M,KAAK,CAAC4C,WAAW,CAC5D,UAAUyG,KAAK,EAAEoF,KAAK,EAAE;IACtBiC,QAAQ,CAACrH,KAAK,CAAC;IACfgH,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAG5B,KAAK,CAAC;EACpB,CAAC,EACD,CAAC4B,SAAS,CACZ,CAAC;;EAED;EACA;EACA,oBACErQ,KAAA,CAAAmJ,aAAA,CAACxH,YAAY;IAACuO,SAAS,EAAEA;EAAU,gBACjClQ,KAAA,CAAAmJ,aAAA,CAACtI,SAAS,EAAAuJ,QAAA,KACJ7D,KAAK;IACTmF,IAAI,EAAC,MAAM;IACXpI,IAAI,EAAC,WAAW;IAChBqN,SAAS,EAAE,IAAK;IAChBzE,WAAW,EAAEA,WAAW,IAAIqE,IAAI,CAACK,CAAC,CAAC,QAAQ,EAAE;MAAEC,KAAK,EAAET;IAAU,CAAC,CAAE;IACnErD,QAAQ,EAAEA,QAAS;IACnB1D,KAAK,EAAEA;EAAM,EACd,CACW,CAAC;AAEnB,CAAC;AAED,OAAO,IAAMyH,MAAM,gBAAG9Q,KAAK,CAACuF,UAAU,CAGpC,SAASuL,MAAMA,CAAAC,KAAA,EAAerO,GAAG,EAAE;EAAA,IAAd6D,KAAK,GAAA6D,QAAA,MAAA4G,yBAAA,CAAAD,KAAA,GAAAA,KAAA;EAC1B,oBAAO/Q,KAAA,CAAAmJ,aAAA,CAAC5H,YAAY,EAAA6I,QAAA;IAAC1H,GAAG,EAAEA;EAAI,GAAK6D,KAAK,CAAG,CAAC;AAC9C,CAAC,CAAC;AAEF,OAAO,IAAM0K,MAAM,gBAAGjR,KAAK,CAACuF,UAAU,CAGpC,SAAS0L,MAAMA,CAAAC,KAAA,EAAkCxO,GAAG,EAAE;EAAA,IAAAyO,aAAA,GAAAD,KAAA,CAApCE,OAAO;IAAPA,OAAO,GAAAD,aAAA,cAAG,OAAO,GAAAA,aAAA;IAAK5K,KAAK,GAAAC,wBAAA,CAAA0K,KAAA,EAAAG,UAAA;EAC7C,oBAAOrR,KAAA,CAAAmJ,aAAA,CAAC/H,YAAY,EAAAgJ,QAAA;IAAC1H,GAAG,EAAEA,GAAI;IAAC0O,OAAO,EAAEA;EAAQ,GAAK7K,KAAK,CAAG,CAAC;AAChE,CAAC,CAAC;AAEFjB,eAAe,CAACgM,WAAW,GAAG,MAAM;AAEpC/Q,SAAS,CAAC+Q,WAAW,GAAG,gBAAgB;AAExCL,MAAM,CAACK,WAAW,GAAG,aAAa;AAElC9H,KAAK,CAAC8H,WAAW,GAAG,YAAY;AAEhCR,MAAM,CAACQ,WAAW,GAAG,aAAa;AAElC9D,IAAI,CAAC8D,WAAW,GAAG,WAAW;AAE9BxB,OAAO,CAACwB,WAAW,GAAG,cAAc;AAEpCtB,MAAM,CAACsB,WAAW,GAAG,aAAa;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,cAAc,GAAGtQ,gBAAgB,CAC5C;EACE0K,YAAY,EAAZA,YAAY;EACZpL,SAAS,EAATA,SAAS;EACT0Q,MAAM,EAANA,MAAM;EACNzH,KAAK,EAALA,KAAK;EACLsH,MAAM,EAANA,MAAM;EACNtD,IAAI,EAAJA,IAAI;EACJsC,OAAO,EAAPA,OAAO;EACPE,MAAM,EAANA;AACF,CAAC,EACD1K,eACF,CAAC"}
|
|
@@ -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-11_32_0__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-11_32_0__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-11_32_0__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-11_32_0__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-11_32_0__sc-z984sz-4"
|
|
35
35
|
})([""]);
|
|
36
36
|
export var StyledSearch = /*#__PURE__*/styled.div.withConfig({
|
|
37
37
|
displayName: "StyledSearch",
|
|
38
|
-
componentId: "core-
|
|
38
|
+
componentId: "core-11_32_0__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-11_32_0__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-11_32_0__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-11_32_0__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-11_32_0__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
|
package/dist/Modal/Modal.d.ts
CHANGED
|
@@ -6,6 +6,22 @@ import type { DivAttributes, SpanAttributes } from '../_utils/types';
|
|
|
6
6
|
import type { ConfirmModalProps, ModalBodyProps, ModalCloseableHeaderProps, ModalContainerProps, ModalProps } from './Modal.types';
|
|
7
7
|
export declare const ConfirmModal: React.ForwardRefExoticComponent<ConfirmModalProps & React.RefAttributes<HTMLDivElement>>;
|
|
8
8
|
declare function ModalState(props: RenderProps): React.JSX.Element;
|
|
9
|
+
/**
|
|
10
|
+
|
|
11
|
+
We use modals to present additional actions, information, or forms on pages
|
|
12
|
+
where a user’s experience would benefit from remaining on the same page.
|
|
13
|
+
They can include graphics, inputs, buttons, and other elements as needed to
|
|
14
|
+
produce the workflow or action needed.
|
|
15
|
+
|
|
16
|
+
Do not include modals on pages with complicated UI layouts.
|
|
17
|
+
|
|
18
|
+
@since 10.19.0
|
|
19
|
+
|
|
20
|
+
@see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-modal--demo)
|
|
21
|
+
|
|
22
|
+
@see [Design Guidelines](https://design.procore.com/modal)
|
|
23
|
+
|
|
24
|
+
*/
|
|
9
25
|
export declare const Modal: React.ForwardRefExoticComponent<ModalProps & React.RefAttributes<HTMLDivElement>> & {
|
|
10
26
|
Body: React.ForwardRefExoticComponent<ModalBodyProps & React.RefAttributes<HTMLDivElement>>;
|
|
11
27
|
Container: React.ForwardRefExoticComponent<ModalContainerProps & React.RefAttributes<HTMLDivElement>>;
|
package/dist/Modal/Modal.js
CHANGED
|
@@ -188,23 +188,6 @@ var ModalFooterNotation = /*#__PURE__*/React.forwardRef(function (_ref6, ref) {
|
|
|
188
188
|
ref: ref
|
|
189
189
|
}), children);
|
|
190
190
|
});
|
|
191
|
-
|
|
192
|
-
/**
|
|
193
|
-
|
|
194
|
-
We use modals to present additional actions, information, or forms on pages
|
|
195
|
-
where a user’s experience would benefit from remaining on the same page.
|
|
196
|
-
They can include graphics, inputs, buttons, and other elements as needed to
|
|
197
|
-
produce the workflow or action needed.
|
|
198
|
-
|
|
199
|
-
Do not include modals on pages with complicated UI layouts.
|
|
200
|
-
|
|
201
|
-
@since 10.19.0
|
|
202
|
-
|
|
203
|
-
@see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-modal--demo)
|
|
204
|
-
|
|
205
|
-
@see [Design Guidelines](https://design.procore.com/modal)
|
|
206
|
-
|
|
207
|
-
*/
|
|
208
191
|
var Modal_ = /*#__PURE__*/React.forwardRef(function (_ref7, ref) {
|
|
209
192
|
var ariaDescribedby = _ref7['aria-describedby'],
|
|
210
193
|
ariaDetails = _ref7['aria-details'],
|
|
@@ -348,6 +331,23 @@ var Header = ModalClosableHeader;
|
|
|
348
331
|
var Overlay = StyledModal;
|
|
349
332
|
var Scrim = StyledModalScrim;
|
|
350
333
|
var State = ModalState;
|
|
334
|
+
|
|
335
|
+
/**
|
|
336
|
+
|
|
337
|
+
We use modals to present additional actions, information, or forms on pages
|
|
338
|
+
where a user’s experience would benefit from remaining on the same page.
|
|
339
|
+
They can include graphics, inputs, buttons, and other elements as needed to
|
|
340
|
+
produce the workflow or action needed.
|
|
341
|
+
|
|
342
|
+
Do not include modals on pages with complicated UI layouts.
|
|
343
|
+
|
|
344
|
+
@since 10.19.0
|
|
345
|
+
|
|
346
|
+
@see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-modal--demo)
|
|
347
|
+
|
|
348
|
+
@see [Design Guidelines](https://design.procore.com/modal)
|
|
349
|
+
|
|
350
|
+
*/
|
|
351
351
|
export var Modal = addSubcomponents({
|
|
352
352
|
Body: Body,
|
|
353
353
|
Container: Container,
|