@procore/core-react 12.41.0 → 12.43.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/CHANGELOG.md +69 -0
- package/dist/AnchorNavigation/AnchorNavigation.js +11 -5
- package/dist/AnchorNavigation/AnchorNavigation.js.map +1 -1
- package/dist/AnchorNavigation/AnchorNavigation.styles.d.ts +1 -0
- package/dist/AnchorNavigation/AnchorNavigation.styles.js +7 -3
- package/dist/AnchorNavigation/AnchorNavigation.styles.js.map +1 -1
- package/dist/AnchorNavigation/AnchorNavigation.types.d.ts +7 -1
- package/dist/AnchorNavigation/AnchorNavigation.types.js.map +1 -1
- package/dist/Avatar/Avatar.styles.js +5 -5
- package/dist/AvatarStack/AvatarStack.styles.d.ts +74 -74
- package/dist/AvatarStack/AvatarStack.styles.js +7 -7
- package/dist/Badge/Badge.styles.js +2 -2
- package/dist/BadgePill/BadgePill.styles.js +4 -4
- package/dist/Banner/Banner.styles.js +10 -10
- package/dist/Box/Box.styles.js +1 -1
- package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
- package/dist/Button/Button.styles.js +5 -5
- package/dist/Button/Button.types.d.ts +1 -4
- package/dist/Button/Button.types.js.map +1 -1
- package/dist/Button/index.d.ts +1 -1
- package/dist/Button/index.js.map +1 -1
- package/dist/Calendar/Calendar.styles.js +9 -9
- package/dist/Card/Card.styles.js +1 -1
- package/dist/Checkbox/Checkbox.js +1 -0
- package/dist/Checkbox/Checkbox.js.map +1 -1
- package/dist/Checkbox/Checkbox.styles.js +6 -6
- package/dist/ContactItem/ContactItem.js +7 -3
- 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.js +9 -0
- package/dist/DateInput/DateInput.js.map +1 -1
- package/dist/DateInput/DateInput.styles.js +6 -6
- package/dist/DetailPage/DetailPage.styles.js +7 -7
- package/dist/Dropdown/Dropdown.styles.js +3 -3
- package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
- package/dist/Dropzone/Dropzone.js +1 -1
- package/dist/Dropzone/Dropzone.styles.js +9 -9
- package/dist/EmptyState/EmptyState.styles.js +6 -6
- package/dist/Field/Field.styles.js +3 -3
- package/dist/FileList/FileList.styles.js +3 -3
- package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
- package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
- package/dist/FileSelect/FileSelect.styles.js +2 -2
- package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
- package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
- package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
- package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
- package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
- package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.d.ts +1 -1
- package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
- package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
- package/dist/FileToken/FileToken.styles.js +6 -6
- package/dist/FileToken/FileTokenInner.js +1 -3
- package/dist/FileToken/FileTokenInner.js.map +1 -1
- package/dist/FilterToken/FilterToken.styles.js +5 -5
- package/dist/FlexList/FlexList.styles.js +1 -1
- package/dist/Form/Form.styles.js +13 -13
- package/dist/Form/StyledFormikForm.styles.d.ts +2 -2
- package/dist/Form/StyledFormikForm.styles.js +2 -2
- package/dist/GhostPlaceholder/GhostPlaceholder.styles.js +2 -2
- package/dist/Grid/Grid.styles.js +2 -2
- package/dist/GroupSelect/GroupSelect.styles.js +1 -1
- package/dist/Input/Input.styles.js +1 -1
- package/dist/Link/Link.styles.js +1 -1
- package/dist/ListPage/ListPage.styles.js +8 -8
- package/dist/Loader/Loader.styles.js +2 -2
- package/dist/MenuImperative/MenuImperative.d.ts +1 -1
- package/dist/MenuImperative/MenuImperative.js +126 -34
- package/dist/MenuImperative/MenuImperative.js.map +1 -1
- package/dist/MenuImperative/MenuImperative.styles.js +15 -15
- package/dist/MenuImperative/MenuImperative.styles.js.map +1 -1
- package/dist/MenuImperative/MenuImperative.types.d.ts +36 -0
- package/dist/MenuImperative/MenuImperative.types.js.map +1 -1
- package/dist/MenuImperative/sensors.d.ts +6 -3
- package/dist/MenuImperative/sensors.js +42 -34
- package/dist/MenuImperative/sensors.js.map +1 -1
- package/dist/Modal/Modal.d.ts +4 -0
- package/dist/Modal/Modal.js +30 -14
- package/dist/Modal/Modal.js.map +1 -1
- package/dist/Modal/Modal.styles.js +13 -13
- package/dist/Modal/Modal.types.d.ts +28 -5
- package/dist/Modal/Modal.types.js.map +1 -1
- package/dist/Modal/index.d.ts +1 -1
- package/dist/Modal/index.js.map +1 -1
- package/dist/MultiSelect/MultiSelect.js +7 -5
- package/dist/MultiSelect/MultiSelect.js.map +1 -1
- package/dist/MultiSelect/MultiSelect.styles.js +8 -8
- 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/OverlayTrigger/a11yPresets.d.ts +23 -30
- package/dist/OverlayTrigger/a11yPresets.js +29 -27
- package/dist/OverlayTrigger/a11yPresets.js.map +1 -1
- package/dist/PageLayout/PageLayout.styles.d.ts +1 -1
- package/dist/PageLayout/PageLayout.styles.js +16 -16
- package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.styles.js +1 -1
- package/dist/PageTemplate/PageHeaderTemplate/PageHeaderTemplate.styles.js +3 -3
- package/dist/PageTemplate/PagePaneTemplate/PagePaneTemplate.styles.js +2 -2
- package/dist/PageTemplate/PageTemplate/PageTemplate.styles.js +3 -3
- package/dist/Pagination/Pagination.styles.js +5 -5
- package/dist/Panel/Panel.styles.js +11 -11
- package/dist/Pill/Pill.styles.js +3 -3
- package/dist/PillSelect/PillSelect.styles.js +4 -4
- package/dist/Popover/Popover.styles.js +2 -2
- package/dist/Portal/Portal.styles.js +1 -1
- package/dist/ProgressBar/ProgressBar.styles.js +4 -4
- package/dist/ProgressBar/ProgressBar.styles.js.map +1 -1
- 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 +7 -7
- package/dist/SegmentedController/SegmentedController.styles.js +4 -4
- package/dist/Select/Select.js +3 -2
- package/dist/Select/Select.js.map +1 -1
- package/dist/Select/Select.styles.js +8 -8
- package/dist/Semantic/Semantic.styles.d.ts +74 -74
- package/dist/Semantic/Semantic.styles.js +9 -9
- package/dist/Slider/Slider.styles.js +5 -5
- package/dist/Spinner/Spinner.styles.js +7 -7
- package/dist/SplitViewCard/SplitViewCard.styles.js +8 -8
- package/dist/SuperSelect/SuperSelect.components.js +35 -22
- package/dist/SuperSelect/SuperSelect.components.js.map +1 -1
- package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
- package/dist/SuperSelect/SuperSelect.styles.d.ts +4 -2
- package/dist/SuperSelect/SuperSelect.styles.js +49 -42
- package/dist/SuperSelect/SuperSelect.styles.js.map +1 -1
- package/dist/SuperSelect/SuperSelect.types.d.ts +3 -4
- package/dist/SuperSelect/SuperSelect.types.js.map +1 -1
- package/dist/SuperSelect/presets/filterPreset.js +7 -2
- package/dist/SuperSelect/presets/filterPreset.js.map +1 -1
- package/dist/SuperSelect/useSuperSelect.d.ts +1 -1
- package/dist/SuperSelect/useSuperSelect.js +117 -90
- package/dist/SuperSelect/useSuperSelect.js.map +1 -1
- package/dist/Switch/Switch.styles.js +4 -4
- package/dist/Table/Table.styles.js +28 -28
- package/dist/TableShelf/TableShelf.styles.js +5 -5
- package/dist/Tabs/Tabs.js +1 -1
- package/dist/Tabs/Tabs.js.map +1 -1
- package/dist/Tabs/Tabs.styles.js +15 -15
- package/dist/Tearsheet/Tearsheet.js +1 -1
- package/dist/Tearsheet/Tearsheet.js.map +1 -1
- package/dist/Tearsheet/Tearsheet.styles.js +5 -5
- package/dist/Tearsheet/storybook/PageLayoutDemo.js +1 -0
- package/dist/Tearsheet/storybook/PageLayoutDemo.js.map +1 -1
- package/dist/TextArea/TextArea.styles.js +1 -1
- package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
- package/dist/Thumbnail/Thumbnail.hooks.d.ts +58 -58
- package/dist/Thumbnail/Thumbnail.styles.js +17 -17
- package/dist/ThumbnailGrid/ThumbnailGrid.styles.d.ts +1 -1
- package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
- package/dist/TieredSelect/TieredSelect.styles.d.ts +1 -1
- package/dist/TieredSelect/TieredSelect.styles.js +9 -9
- package/dist/Tile/Tile.styles.js +8 -8
- package/dist/Title/Title.styles.js +7 -7
- package/dist/Toast/Toast.styles.js +3 -3
- package/dist/ToggleButton/ToggleButton.styles.js +1 -1
- package/dist/Token/Token.js +1 -1
- package/dist/Token/Token.js.map +1 -1
- package/dist/Token/Token.styles.js +3 -3
- package/dist/ToolHeader/ToolHeader.styles.js +6 -6
- package/dist/ToolLandingPage/ToolLandingPage.styles.js +3 -3
- package/dist/ToolLandingPageTemplate/ToolLandingPageTemplate.d.ts +1 -1
- package/dist/Tooltip/Tooltip.styles.js +3 -3
- package/dist/Tree/Tree.js +1 -1
- package/dist/Tree/Tree.styles.js +10 -10
- package/dist/Typeahead/Typeahead.js +7 -3
- package/dist/Typeahead/Typeahead.js.map +1 -1
- 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/Typography/Typography.types.d.ts +1 -0
- package/dist/Typography/Typography.types.js.map +1 -1
- package/dist/_hooks/I18n.d.ts +28 -0
- package/dist/_locales/en.json +15 -1
- package/dist/_locales/pseudo.json +15 -1
- package/dist/_storyHelpers_/components/Deprecation.styles.js +1 -1
- package/dist/_storyHelpers_/components/StoryGrid.js +3 -3
- package/dist/_styles/colors.js +1 -3
- package/dist/_styles/colors.js.map +1 -1
- package/dist/_typedoc/AnchorNavigation/AnchorNavigation.types.json +13 -3
- package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
- package/dist/_typedoc/AvatarStack/AvatarStack.types.json +25 -25
- package/dist/_typedoc/Badge/Badge.types.json +6 -6
- package/dist/_typedoc/Banner/Banner.types.json +15 -15
- package/dist/_typedoc/Box/Box.types.json +72 -72
- package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
- package/dist/_typedoc/Button/Button.types.json +17 -17
- 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 +8 -8
- package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
- package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
- package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
- package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
- package/dist/_typedoc/Dropdown/Dropdown.types.json +39 -39
- package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +31 -31
- package/dist/_typedoc/Dropzone/Dropzone.types.json +44 -44
- package/dist/_typedoc/EmptyState/EmptyState.types.json +16 -16
- package/dist/_typedoc/FileList/FileList.types.json +9 -9
- package/dist/_typedoc/FileSelect/FileSelect.types.json +27 -27
- 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 +832 -832
- package/dist/_typedoc/GhostPlaceholder/GhostPlaceholder.types.json +12 -12
- package/dist/_typedoc/Grid/Grid.types.json +8 -8
- package/dist/_typedoc/GroupSelect/GroupSelect.types.json +54 -54
- package/dist/_typedoc/Input/Input.types.json +2 -2
- package/dist/_typedoc/Link/Link.types.json +1 -1
- 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 +147 -77
- package/dist/_typedoc/Modal/Modal.types.json +96 -68
- package/dist/_typedoc/MultiSelect/MultiSelect.types.json +33 -33
- package/dist/_typedoc/NextTile/NextTile.types.json +32 -32
- package/dist/_typedoc/Notation/Notation.types.json +4 -4
- package/dist/_typedoc/NumberInput/NumberInput.types.json +54 -54
- package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +33 -33
- package/dist/_typedoc/PageLayout/PageLayout.types.json +28 -28
- 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 +49 -49
- package/dist/_typedoc/Popover/Popover.types.json +15 -15
- package/dist/_typedoc/ProgressBar/ProgressBar.types.json +7 -7
- 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 +15 -15
- package/dist/_typedoc/SegmentedController/SegmentedController.types.json +21 -21
- package/dist/_typedoc/Select/Select.types.json +69 -69
- package/dist/_typedoc/SettingsPage/SettingsPage.types.json +10 -10
- package/dist/_typedoc/Slider/Slider.types.json +6 -6
- package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
- package/dist/_typedoc/SplitViewCard/SplitViewCard.types.json +14 -14
- package/dist/_typedoc/Table/Table.types.json +102 -102
- package/dist/_typedoc/Tabs/Tabs.types.json +21 -21
- package/dist/_typedoc/Tearsheet/Tearsheet.types.json +17 -17
- package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
- package/dist/_typedoc/TextEditor/TextEditor.types.json +11 -11
- 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 +43 -43
- package/dist/_typedoc/TieredSelect/TieredSelect.types.json +29 -29
- package/dist/_typedoc/Tile/Tile.types.json +8 -8
- package/dist/_typedoc/Title/Title.types.json +3 -3
- package/dist/_typedoc/Toast/Toast.types.json +4 -4
- package/dist/_typedoc/ToggleButton/ToggleButton.types.json +4 -4
- package/dist/_typedoc/Token/Token.types.json +7 -7
- package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
- package/dist/_typedoc/ToolLandingPage/ToolLandingPage.types.json +10 -10
- package/dist/_typedoc/Tooltip/Tooltip.types.json +15 -15
- package/dist/_typedoc/Tree/Tree.types.json +90 -90
- package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
- package/dist/_typedoc/Typography/Typography.types.json +12 -11
- package/dist/_typedoc/_utils/types.json +3 -3
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiSelect.js","names":["Clear","useId","VisuallyHidden","React","Box","MenuImperative","useMenuImperativeControlNavigation","OverlayTrigger","Spinner","Token","Typography","isEventSource","useI18nContext","addSubcomponents","StyledMultiSelectArrow","StyledMultiSelectArrowContainer","StyledMultiSelectButton","StyledMultiSelectClearIcon","StyledMultiSelectInner","StyledMultiSelectMenu","StyledMultiSelectSearch","StyledMultiSelectSearchIcon","StyledMultiSelectSearchInput","StyledMultiSelectToken","StyledMultiSelectValues","targetShowKeys","targetHideKeys","overlayHideKeys","emptyArray","noop","returnTrue","isAlphaNumeric","str","length","match","setFocusTo","ref","current","focus","isOption","obj","_typeof","type","Option","defaultIsOptionDisabled","defaultGetId","item","id","defaultGetLabel","label","defaultGetGroup","groupId","defaultIsSelectable","defaultOptionRenderer","_ref","_qa$option","getId","getLabel","qa","value","props","_objectWithoutProperties","_excluded","createElement","_extends","key","option","call","defaultGroupRenderer","group","Group","concat","children","defaultTokenRenderer","_ref2","_qa$token","_qa$tokenClear","focused","disabled","removeToken","tabIndex","token","Label","Remove","onClick","tokenClear","useMultiSelect","_ref3","getGroup","menuRef","_ref3$onChange","onChange","onSearch_","onSearch","options_","options","optgroups","_React$useState","useState","_React$useState2","_slicedToArray","index","setIndex","_React$useState3","_React$useState4","search","setSearch","valueIds","reduce","acc","cur","add","Set","count","useMemo","filter","opt","toLowerCase","includes","useCallback","e","target","setTimeout","_menuRef$current","highlightFirst","clearToken","removeSelection","selection","selected","s","onSelect","newSelected","has","_toConsumableArray","i","decrementToken","Math","max","incrementToken","onKeyDown","event","_menuRef$current2","select","_menuRef$current3","prev","_menuRef$current4","next","repeat","useEffect","groupedOptions","optionsByGroup","_ref4","_objectSpread","_defineProperty","orphanOptions","forEach","groupOptions","push","console","warn","map","isGroupHeader","Boolean","ids","domHandlers","forwardRef","_ref5","_excluded2","Item","GroupedOptions","_ref6","multiselect","groupHeaderRenderer","groupRenderer","optionRenderer","isOptionDisabled","renderOption","groupHeader","Fragment","Options","MultiSelect_","MultiSelect","_ref7","_ref7$afterHide","afterHide","_ref7$afterShow","afterShow","_ref7$beforeHide","beforeHide","_ref7$beforeShow","beforeShow","_ref7$block","block","_ref7$disabled","emptyMessage","_ref7$error","error","footer","_ref7$getId","_ref7$getLabel","_ref7$getGroup","_ref7$loading","loading","_ref7$onChange","onScrollBottom","_ref7$options","_ref7$isOptionDisable","_ref7$optionRenderer","_ref7$groupRenderer","_ref7$tokenRenderer","tokenRenderer","placeholder","_ref7$placement","placement","_ref7$value","_ref7$tabIndex","ariaLabelledBy","ariaDescribedBy","_ref7$qa","_excluded3","i18n","ownRef","useRef","targetRef","searchRef","menuId","tokenListId","tokenBaseId","noneSelectedId","_React$useState5","_React$useState6","isMenuOpen","setIsMenuOpen","_useMenuImperativeCon","menuNavigationTriggerProps","menuProps","I18n","showClearIcon","isNavigatingTokens","activeTokenId","undefined","overlay","shadowStrength","role","padding","color","intent","italic","t","Footer","canFlip","_menuRef$current5","MouseEvent","hideKeys","showKeys","trigger","_ref8","disable","enable","isVisible","$block","$error","$emptyValue","$disabled","$loading","$open","tokenId","tokenLabel","join","$isNavigatingTokens","onBlur","preventDefault","stopPropagation","size","variant","icon","$show","displayName"],"sources":["../../src/MultiSelect/MultiSelect.tsx"],"sourcesContent":["import { Clear } from '@procore/core-icons/dist'\nimport { useId } from '@react-aria/utils'\nimport { VisuallyHidden } from '@react-aria/visually-hidden'\nimport React from 'react'\nimport { Box } from '../Box'\nimport {\n MenuImperative,\n useMenuImperativeControlNavigation,\n} from '../MenuImperative/MenuImperative'\nimport type { MenuRef, Selection } from '../MenuImperative/MenuImperative.types'\nimport { OverlayTrigger } from '../OverlayTrigger'\nimport { Spinner } from '../Spinner'\nimport { Token } from '../Token'\nimport { Typography } from '../Typography'\nimport { isEventSource } from '../_hooks/ClickOutside'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport {\n StyledMultiSelectArrow,\n StyledMultiSelectArrowContainer,\n StyledMultiSelectButton,\n StyledMultiSelectClearIcon,\n StyledMultiSelectInner,\n StyledMultiSelectMenu,\n StyledMultiSelectSearch,\n StyledMultiSelectSearchIcon,\n StyledMultiSelectSearchInput,\n StyledMultiSelectToken,\n StyledMultiSelectValues,\n} from './MultiSelect.styles'\nimport type {\n ChangeEvent,\n GroupedOptionsProps,\n GroupHeader,\n GroupHeaderProps,\n GroupItem,\n MultiSelectConfig,\n MultiSelectHook,\n MultiSelectOptionProps,\n MultiSelectOptionRendererProps,\n MultiSelectProps,\n MultiSelectTokenRendererProps,\n OptionItem,\n} from './MultiSelect.types'\n\nconst targetShowKeys = ['ArrowDown', 'Down']\n\nconst targetHideKeys = ['Esc', 'Escape']\n\nconst overlayHideKeys = targetHideKeys\n\nconst emptyArray: OptionItem[] = []\n\nfunction noop() {}\n\nfunction returnTrue() {\n return true\n}\n\nfunction isAlphaNumeric(str: string) {\n return str.length === 1 && str.match(/[A-Za-z0-9 _.,!\"'/$]*/i)\n}\n\nfunction setFocusTo(ref: React.RefObject<HTMLElement>) {\n if (ref.current) {\n ref.current.focus()\n }\n}\n\nfunction isOption(obj: React.ReactChild) {\n return typeof obj === 'object' && obj.type === Option\n}\n\nfunction defaultIsOptionDisabled() {\n return false\n}\n\nfunction defaultGetId(item: OptionItem) {\n return item.id\n}\n\nfunction defaultGetLabel(item: OptionItem) {\n return item.label\n}\n\nfunction defaultGetGroup(item: OptionItem) {\n return item.groupId\n}\n\nfunction defaultIsSelectable(obj: React.ReactChild) {\n typeof obj === 'object' && obj.type === Option\n}\n\nfunction defaultOptionRenderer(\n item: OptionItem,\n { getId, getLabel, qa, value, ...props }: MultiSelectOptionRendererProps\n) {\n return (\n <Option\n key={getId(item)}\n value={value || item}\n data-qa={qa?.option?.(item)}\n {...props}\n >\n {getLabel(item)}\n </Option>\n )\n}\n\nfunction defaultGroupRenderer(group: GroupHeaderProps) {\n return (\n <MenuImperative.Group key={`group_${group.id}`} label={group.label}>\n {group.children}\n </MenuImperative.Group>\n )\n}\n\nfunction defaultTokenRenderer({\n focused,\n disabled,\n option,\n removeToken,\n getLabel,\n qa,\n}: MultiSelectTokenRendererProps) {\n return (\n <Token\n disabled={disabled}\n focused={focused}\n tabIndex={-1}\n data-qa={qa?.token?.(option)}\n >\n <Token.Label>{getLabel(option)}</Token.Label>\n <Token.Remove\n data-close\n onClick={removeToken}\n tabIndex={-1}\n data-qa={qa?.tokenClear?.(option)}\n />\n </Token>\n )\n}\n\nfunction useMultiSelect({\n getId,\n getLabel,\n getGroup,\n menuRef,\n onChange = noop,\n onSearch: onSearch_,\n options: options_,\n value,\n optgroups,\n}: MultiSelectConfig): MultiSelectHook {\n const [index, setIndex] = React.useState<number | null>(null)\n\n const [search, setSearch] = React.useState<string>('')\n\n const valueIds = value.reduce<Set<number | string>>((acc, cur) => {\n acc.add(getId(cur))\n\n return acc\n }, new Set())\n\n const count = value.length\n\n const options = React.useMemo(\n function () {\n if (onSearch_) {\n return options_\n }\n\n return options_.filter((opt) =>\n getLabel(opt).toLowerCase().includes(search.toLowerCase())\n )\n },\n [options_, onSearch_, getLabel, search]\n )\n\n const onSearch = React.useCallback(\n function (e: ChangeEvent) {\n if (onSearch_) {\n onSearch_(e)\n }\n\n setSearch(e.target.value)\n\n // TODO: because menu highlighting is now imperative, we have to wait\n // for a render to highlight the first item. Is there a better way\n // to schedule this?\n setTimeout(() => menuRef.current?.highlightFirst(), 0)\n },\n [menuRef, onSearch_]\n )\n\n const clearToken = () => setIndex(null)\n\n const removeSelection = React.useCallback(\n function (selection: OptionItem, selected: OptionItem[]) {\n return selected.filter((s) => getId(s) !== getId(selection))\n },\n [getId]\n )\n\n const onSelect = React.useCallback(\n (selection: Selection) => {\n const newSelected = valueIds.has(getId(selection.item))\n ? removeSelection(selection.item, value)\n : [...value, selection.item]\n\n setSearch('')\n onChange(newSelected)\n },\n [setSearch, onChange, getId, removeSelection, value, valueIds]\n )\n\n const removeToken = React.useCallback(\n function (i: number) {\n onChange(removeSelection(value[i], value))\n },\n [value, onChange, removeSelection]\n )\n\n const decrementToken = React.useCallback(\n function () {\n if (index === null) {\n // index is null, set it to the last token index\n setIndex(count - 1)\n } else {\n // decrementToken by one, don't go below 0\n setIndex(Math.max(0, index - 1))\n }\n },\n [count, index, setIndex]\n )\n\n const incrementToken = React.useCallback(\n function () {\n if (index === count - 1) {\n setIndex(null)\n } else if (index !== null) {\n setIndex(index + 1)\n }\n },\n [count, index, setIndex]\n )\n\n const onKeyDown = React.useCallback(\n function (event: React.KeyboardEvent<HTMLInputElement>) {\n if (event.key === 'Enter') {\n menuRef.current?.select(event)\n }\n\n if (event.key === 'ArrowUp' || event.key === 'Up') {\n menuRef.current?.prev()\n }\n\n if (event.key === 'ArrowDown' || event.key === 'Down') {\n menuRef.current?.next()\n }\n\n if (search === '') {\n if (event.key === 'Backspace' || event.key === 'Delete') {\n // to prevent accidentally deleting too many tokens, don't do anything\n // on repeating key events\n if (event.repeat) {\n return\n }\n\n // if we are focused on a token, remove it, otherwise remove the last token\n removeToken(index !== null ? index : count - 1)\n\n if (count >= 1) {\n decrementToken()\n } else {\n clearToken()\n }\n }\n\n if (event.key === 'ArrowLeft' || event.key === 'Left') {\n decrementToken()\n }\n\n if (event.key === 'ArrowRight' || event.key === 'Right') {\n incrementToken()\n }\n }\n },\n [count, decrementToken, incrementToken, index, menuRef, removeToken, search]\n )\n\n React.useEffect(\n function () {\n // if we've deleted a token and our new count is less than\n // our current index, clear the index\n if (count <= (index || 0)) {\n clearToken()\n }\n },\n [count, index]\n )\n\n const groupedOptions = React.useMemo(() => {\n if (!optgroups || !optgroups.length) {\n return options\n }\n\n const optionsByGroup: Record<string, (OptionItem | GroupHeader)[]> =\n optgroups.reduce((acc, { id }) => {\n return {\n ...acc,\n [id]: [],\n }\n }, {})\n\n const orphanOptions = [] as OptionItem[]\n\n options.forEach((option) => {\n const groupId = getGroup(option)\n const groupOptions = optionsByGroup[groupId]\n\n if (!groupId || !groupOptions) {\n orphanOptions.push(option)\n return\n }\n\n optionsByGroup[groupId].push(option)\n })\n\n if (orphanOptions.length) {\n console.warn(\n `Could not find option groups for the options below. Make sure that every option has a proper \"groupId\" field or if \"getGroup\" is implemented correctly.`,\n orphanOptions\n )\n }\n\n return optgroups\n .map((group: GroupItem) => {\n const groupOptions = optionsByGroup[group.id]\n\n if (!groupOptions.length) {\n return null\n }\n\n return { ...group, isGroupHeader: true, options: groupOptions }\n }, [])\n .filter(Boolean)\n }, [options, getGroup, optgroups])\n\n return {\n ids: valueIds,\n index,\n menuRef,\n options: groupedOptions,\n search,\n\n clearToken,\n decrementToken,\n incrementToken,\n onSearch,\n onSelect,\n removeToken,\n\n domHandlers: {\n onKeyDown,\n },\n }\n}\n\nexport const Option = React.forwardRef<HTMLDivElement, MultiSelectOptionProps>(\n function Option({ value, ...props }, ref) {\n return <MenuImperative.Item ref={ref} {...props} item={value} />\n }\n)\n\nfunction GroupedOptions({\n multiselect,\n groupHeaderRenderer,\n groupRenderer,\n optionRenderer,\n getId,\n getLabel,\n isOptionDisabled,\n qa,\n}: GroupedOptionsProps) {\n const renderOption = (option: OptionItem | GroupHeader): React.ReactNode => {\n if (option.isGroupHeader) {\n const groupHeader: GroupHeader = option\n if (groupHeaderRenderer) {\n return (\n <>\n {groupHeaderRenderer(groupHeader)}\n {groupHeader.options.map(renderOption)}\n </>\n )\n }\n return groupRenderer({\n ...groupHeader,\n children: groupHeader.options.map(renderOption),\n })\n }\n\n return optionRenderer(option, {\n getId,\n getLabel,\n // @ts-ignore\n // Object literal may only specify known properties, and 'key' does not exist in type 'OptionRendererProps'.\n key: getId(option),\n selected: multiselect.ids.has(getId(option)),\n disabled: isOptionDisabled(option),\n value: option,\n qa,\n })\n }\n return (\n <MenuImperative.Options>\n {multiselect.options.map(renderOption)}\n </MenuImperative.Options>\n )\n}\n\n/**\n\n Multi selects allow our users to choose one to many options from a list,\n presented in a dropdown. We typically see these selects on forms.\n\n Other select components are group select, select, and tiered select.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_multiselect--basic)\n\n @see [Design Guidelines](https://design.procore.com/multi-select)\n\n */\nconst MultiSelect_ = React.forwardRef<HTMLDivElement, MultiSelectProps>(\n function MultiSelect(\n {\n afterHide = noop,\n afterShow = noop,\n beforeHide = returnTrue,\n beforeShow = returnTrue,\n block = false,\n disabled = false,\n emptyMessage,\n error = false,\n footer,\n getId = defaultGetId,\n getLabel = defaultGetLabel,\n getGroup = defaultGetGroup,\n loading = false,\n onChange = noop,\n onScrollBottom,\n onSearch,\n options = emptyArray,\n isOptionDisabled = defaultIsOptionDisabled,\n optionRenderer = defaultOptionRenderer,\n optgroups,\n groupHeaderRenderer,\n groupRenderer = defaultGroupRenderer,\n tokenRenderer = defaultTokenRenderer,\n placeholder,\n placement = 'bottom-left',\n value = emptyArray,\n tabIndex = 0,\n ['aria-labelledby']: ariaLabelledBy,\n ['aria-describedby']: ariaDescribedBy,\n qa = {},\n ...props\n },\n ref\n ) {\n const i18n = useI18nContext()\n const ownRef = React.useRef<HTMLDivElement>()\n const targetRef = (ref as React.RefObject<HTMLDivElement>) || ownRef\n\n const searchRef = React.useRef<HTMLInputElement>(null)\n\n const menuRef = React.useRef<MenuRef | null>(null)\n const menuId = useId()\n const tokenListId = useId()\n const tokenBaseId = useId()\n const noneSelectedId = useId()\n const [isMenuOpen, setIsMenuOpen] = React.useState(false)\n const { menuNavigationTriggerProps, menuProps } =\n useMenuImperativeControlNavigation(menuRef, isMenuOpen)\n\n const I18n = useI18nContext()\n\n const multiselect = useMultiSelect({\n getId,\n getLabel,\n getGroup,\n menuRef,\n onSearch,\n options,\n onChange: function (value) {\n onChange(value)\n\n setFocusTo(searchRef)\n },\n value,\n optgroups,\n })\n\n const showClearIcon = value.length > 0 && !loading\n\n const isNavigatingTokens = multiselect.index !== null\n const activeTokenId = isNavigatingTokens\n ? `${tokenBaseId}-${multiselect.index}`\n : undefined\n\n const overlay = (\n <StyledMultiSelectMenu shadowStrength={2}>\n <MenuImperative\n {...menuProps}\n ref={menuRef}\n id={menuId}\n onScrollBottom={onScrollBottom}\n onSelect={multiselect.onSelect}\n data-qa=\"multi-select-menu\"\n role=\"listbox\"\n >\n {multiselect.options.length ? (\n <GroupedOptions\n multiselect={multiselect}\n getId={getId}\n getLabel={getLabel}\n isOptionDisabled={isOptionDisabled}\n groupHeaderRenderer={groupHeaderRenderer}\n groupRenderer={groupRenderer}\n optionRenderer={optionRenderer}\n qa={qa}\n />\n ) : (\n <Box padding=\"md lg\">\n <Typography color=\"gray45\" intent=\"small\" italic>\n {emptyMessage || I18n.t('core.multiSelect.noResults')}\n </Typography>\n </Box>\n )}\n {footer && <MenuImperative.Footer>{footer}</MenuImperative.Footer>}\n </MenuImperative>\n </StyledMultiSelectMenu>\n )\n\n return (\n <OverlayTrigger\n canFlip={true}\n afterHide={() => {\n multiselect.clearToken()\n setIsMenuOpen(false)\n\n afterHide()\n }}\n afterShow={() => {\n multiselect.clearToken()\n\n menuRef.current?.highlightFirst()\n setIsMenuOpen(true)\n\n afterShow()\n }}\n beforeHide={(e) => {\n // if we are clicking somewhere in the target, set focus on the search\n if (e instanceof MouseEvent && isEventSource(targetRef, e)) {\n setFocusTo(searchRef)\n }\n\n return beforeHide(e)\n }}\n beforeShow={(e) => {\n setFocusTo(searchRef)\n\n return beforeShow(e)\n }}\n hideKeys={{\n overlay: overlayHideKeys,\n target: targetHideKeys,\n }}\n overlay={overlay}\n placement={placement}\n ref={targetRef}\n showKeys={targetShowKeys}\n trigger=\"click\"\n >\n {({ disable, enable, isVisible }) => {\n return (\n <StyledMultiSelectButton\n $block={block}\n $error={error}\n $emptyValue={value.length === 0}\n $disabled={disabled}\n $loading={loading}\n $open={isVisible}\n {...props}\n >\n {value.length === 0 && (\n <VisuallyHidden>\n <span id={noneSelectedId}>\n {I18n.t('core.multiSelect.noneSelected')}\n </span>\n </VisuallyHidden>\n )}\n <StyledMultiSelectInner>\n <StyledMultiSelectValues\n id={tokenListId}\n role=\"list\"\n aria-label={\n value.length > 0\n ? I18n.t('core.multiSelect.selectedItems')\n : I18n.t('core.multiSelect.noneSelected')\n }\n >\n {value.map((selection, i) => {\n const tokenId = `${tokenBaseId}-${i}`\n const tokenLabel = getLabel(selection)\n return (\n <StyledMultiSelectToken\n key={getId(selection)}\n id={tokenId}\n role=\"listitem\"\n aria-label={\n typeof tokenLabel === 'string'\n ? I18n.t('core.multiSelect.selectedToken', {\n tokenLabel,\n })\n : undefined\n }\n >\n {tokenRenderer({\n option: selection,\n focused: i === multiselect.index,\n disabled: disabled,\n getLabel,\n removeToken: function () {\n multiselect.removeToken(i)\n },\n qa,\n })}\n </StyledMultiSelectToken>\n )\n })}\n </StyledMultiSelectValues>\n\n <StyledMultiSelectSearch>\n <StyledMultiSelectSearchInput\n aria-activedescendant={activeTokenId}\n aria-controls={isNavigatingTokens ? tokenListId : menuId}\n aria-describedby={\n [\n ariaDescribedBy,\n value.length === 0 ? noneSelectedId : undefined,\n ]\n .filter(Boolean)\n .join(' ') || undefined\n }\n aria-expanded={isVisible}\n aria-invalid={error || undefined}\n aria-labelledby={ariaLabelledBy}\n data-qa=\"core-multiselect-input\"\n role=\"combobox\"\n $isNavigatingTokens={isNavigatingTokens}\n disabled={disabled}\n onBlur={multiselect.clearToken}\n onChange={function (\n e: React.ChangeEvent<HTMLInputElement>\n ) {\n multiselect.onSearch(e)\n }}\n {...menuNavigationTriggerProps}\n onKeyDown={function (\n e: React.KeyboardEvent<HTMLInputElement>\n ) {\n if (isNavigatingTokens && e.key !== 'Tab') {\n // if we are navigating tokens don't do any input but allow Tab\n e.preventDefault()\n }\n\n if (isVisible) {\n // if the overlay is visible, close it and keep focus\n if (e.key === 'Tab') {\n e.preventDefault()\n\n disable(e)\n }\n // if open, don't notify parents (like Modal) but still let OverlayTrigger close it and keep it focus\n if (e.key === 'Esc' || e.key === 'Escape') {\n e.stopPropagation()\n disable(e)\n }\n // close dropdown when navigating tokens with arrow keys\n if (\n multiselect.search === '' &&\n (e.key === 'ArrowLeft' ||\n e.key === 'Left' ||\n e.key === 'ArrowRight' ||\n e.key === 'Right')\n ) {\n disable(e)\n }\n } else {\n // if we type in an alphanumeric character, show the overlay\n if (isAlphaNumeric(e.key)) {\n enable(e)\n }\n }\n\n multiselect.domHandlers.onKeyDown(e)\n }}\n placeholder={\n value?.length > 0\n ? ''\n : placeholder ?? I18n.t('core.multiSelect.selectValues')\n }\n ref={searchRef}\n tabIndex={tabIndex}\n value={multiselect.search}\n />\n </StyledMultiSelectSearch>\n </StyledMultiSelectInner>\n <StyledMultiSelectSearchIcon>\n <StyledMultiSelectClearIcon\n aria-label={i18n.t('core.multiSelect.clearAll')}\n data-close\n data-qa=\"core-multiselect-clear\"\n size=\"sm\"\n variant=\"tertiary\"\n disabled={disabled}\n icon={<Clear />}\n onClick={() => onChange([])}\n tabIndex={showClearIcon ? 0 : -1}\n $show={showClearIcon}\n />\n {loading ? (\n <Spinner color=\"blue50\" size=\"xs\" />\n ) : (\n <StyledMultiSelectArrowContainer\n data-qa=\"multiselect-select-arrow\"\n onClick={(e: React.MouseEvent) => isVisible && disable(e)}\n >\n <StyledMultiSelectArrow />\n </StyledMultiSelectArrowContainer>\n )}\n </StyledMultiSelectSearchIcon>\n </StyledMultiSelectButton>\n )\n }}\n </OverlayTrigger>\n )\n }\n)\n\nMultiSelect_.displayName = 'MultiSelect'\n\n/**\n * @see [Storybook](https://procore.github.io/core/latest/?path=/story/demos-multiselect--demo)\n * @see [Design Guidelines](https://design.procore.com/multi-select)\n */\nexport const MultiSelect = addSubcomponents(\n {\n Option,\n },\n MultiSelect_\n)\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MultiSelect.js","names":["Clear","useId","VisuallyHidden","React","Box","MenuImperative","useMenuImperativeControlNavigation","OverlayTrigger","Spinner","Token","Typography","isEventSource","useI18nContext","addSubcomponents","StyledMultiSelectArrow","StyledMultiSelectArrowContainer","StyledMultiSelectButton","StyledMultiSelectClearIcon","StyledMultiSelectInner","StyledMultiSelectMenu","StyledMultiSelectSearch","StyledMultiSelectSearchIcon","StyledMultiSelectSearchInput","StyledMultiSelectToken","StyledMultiSelectValues","targetShowKeys","targetHideKeys","overlayHideKeys","emptyArray","noop","returnTrue","isAlphaNumeric","str","length","match","setFocusTo","ref","current","focus","isOption","obj","_typeof","type","Option","defaultIsOptionDisabled","defaultGetId","item","id","defaultGetLabel","label","defaultGetGroup","groupId","defaultIsSelectable","defaultOptionRenderer","_ref","_qa$option","getId","getLabel","qa","value","props","_objectWithoutProperties","_excluded","createElement","_extends","key","option","call","defaultGroupRenderer","group","Group","concat","children","defaultTokenRenderer","_ref2","_qa$token","_qa$tokenClear","focused","disabled","removeToken","tabIndex","token","Label","Remove","onClick","tokenClear","useMultiSelect","_ref3","getGroup","menuRef","_ref3$onChange","onChange","onSearch_","onSearch","options_","options","optgroups","_React$useState","useState","_React$useState2","_slicedToArray","index","setIndex","_React$useState3","_React$useState4","search","setSearch","valueIds","reduce","acc","cur","add","Set","count","useMemo","filter","opt","toLowerCase","includes","useCallback","e","target","setTimeout","_menuRef$current","highlightFirst","clearToken","removeSelection","selection","selected","s","onSelect","newSelected","has","_toConsumableArray","i","decrementToken","Math","max","incrementToken","onKeyDown","event","_menuRef$current2","select","_menuRef$current3","prev","_menuRef$current4","next","repeat","useEffect","groupedOptions","optionsByGroup","_ref4","_objectSpread","_defineProperty","orphanOptions","forEach","groupOptions","push","console","warn","map","isGroupHeader","Boolean","ids","domHandlers","forwardRef","_ref5","_excluded2","Item","GroupedOptions","_ref6","multiselect","groupHeaderRenderer","groupRenderer","optionRenderer","isOptionDisabled","renderOption","groupHeader","Fragment","Options","MultiSelect_","MultiSelect","_ref7","_ref7$afterHide","afterHide","_ref7$afterShow","afterShow","_ref7$beforeHide","beforeHide","_ref7$beforeShow","beforeShow","_ref7$block","block","_ref7$disabled","emptyMessage","_ref7$error","error","footer","_ref7$getId","_ref7$getLabel","_ref7$getGroup","_ref7$loading","loading","_ref7$onChange","onScrollBottom","_ref7$options","_ref7$isOptionDisable","_ref7$optionRenderer","_ref7$groupRenderer","_ref7$tokenRenderer","tokenRenderer","placeholder","_ref7$placement","placement","_ref7$value","_ref7$tabIndex","ariaLabelledBy","ariaDescribedBy","_ref7$qa","_excluded3","i18n","ownRef","useRef","targetRef","searchRef","tokenListId","tokenBaseId","noneSelectedId","_React$useState5","_React$useState6","isMenuOpen","setIsMenuOpen","_useMenuImperativeCon","menuNavigationTriggerProps","menuProps","menuAriaControls","restMenuNavigationTriggerProps","_excluded4","I18n","showClearIcon","isNavigatingTokens","activeTokenId","undefined","overlay","shadowStrength","role","padding","color","intent","italic","t","Footer","canFlip","_menuRef$current5","MouseEvent","hideKeys","showKeys","trigger","_ref8","disable","enable","isVisible","ariaControls","$block","$error","$emptyValue","$disabled","$loading","$open","tokenId","tokenLabel","join","$isNavigatingTokens","onBlur","preventDefault","stopPropagation","size","variant","icon","$show","displayName"],"sources":["../../src/MultiSelect/MultiSelect.tsx"],"sourcesContent":["import { Clear } from '@procore/core-icons/dist'\nimport { useId } from '@react-aria/utils'\nimport { VisuallyHidden } from '@react-aria/visually-hidden'\nimport React from 'react'\nimport { Box } from '../Box'\nimport {\n MenuImperative,\n useMenuImperativeControlNavigation,\n} from '../MenuImperative/MenuImperative'\nimport type { MenuRef, Selection } from '../MenuImperative/MenuImperative.types'\nimport { OverlayTrigger } from '../OverlayTrigger'\nimport { Spinner } from '../Spinner'\nimport { Token } from '../Token'\nimport { Typography } from '../Typography'\nimport { isEventSource } from '../_hooks/ClickOutside'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport {\n StyledMultiSelectArrow,\n StyledMultiSelectArrowContainer,\n StyledMultiSelectButton,\n StyledMultiSelectClearIcon,\n StyledMultiSelectInner,\n StyledMultiSelectMenu,\n StyledMultiSelectSearch,\n StyledMultiSelectSearchIcon,\n StyledMultiSelectSearchInput,\n StyledMultiSelectToken,\n StyledMultiSelectValues,\n} from './MultiSelect.styles'\nimport type {\n ChangeEvent,\n GroupedOptionsProps,\n GroupHeader,\n GroupHeaderProps,\n GroupItem,\n MultiSelectConfig,\n MultiSelectHook,\n MultiSelectOptionProps,\n MultiSelectOptionRendererProps,\n MultiSelectProps,\n MultiSelectTokenRendererProps,\n OptionItem,\n} from './MultiSelect.types'\n\nconst targetShowKeys = ['ArrowDown', 'Down']\n\nconst targetHideKeys = ['Esc', 'Escape']\n\nconst overlayHideKeys = targetHideKeys\n\nconst emptyArray: OptionItem[] = []\n\nfunction noop() {}\n\nfunction returnTrue() {\n return true\n}\n\nfunction isAlphaNumeric(str: string) {\n return str.length === 1 && str.match(/[A-Za-z0-9 _.,!\"'/$]*/i)\n}\n\nfunction setFocusTo(ref: React.RefObject<HTMLElement>) {\n if (ref.current) {\n ref.current.focus()\n }\n}\n\nfunction isOption(obj: React.ReactChild) {\n return typeof obj === 'object' && obj.type === Option\n}\n\nfunction defaultIsOptionDisabled() {\n return false\n}\n\nfunction defaultGetId(item: OptionItem) {\n return item.id\n}\n\nfunction defaultGetLabel(item: OptionItem) {\n return item.label\n}\n\nfunction defaultGetGroup(item: OptionItem) {\n return item.groupId\n}\n\nfunction defaultIsSelectable(obj: React.ReactChild) {\n typeof obj === 'object' && obj.type === Option\n}\n\nfunction defaultOptionRenderer(\n item: OptionItem,\n { getId, getLabel, qa, value, ...props }: MultiSelectOptionRendererProps\n) {\n return (\n <Option\n key={getId(item)}\n value={value || item}\n data-qa={qa?.option?.(item)}\n {...props}\n >\n {getLabel(item)}\n </Option>\n )\n}\n\nfunction defaultGroupRenderer(group: GroupHeaderProps) {\n return (\n <MenuImperative.Group key={`group_${group.id}`} label={group.label}>\n {group.children}\n </MenuImperative.Group>\n )\n}\n\nfunction defaultTokenRenderer({\n focused,\n disabled,\n option,\n removeToken,\n getLabel,\n qa,\n}: MultiSelectTokenRendererProps) {\n return (\n <Token\n disabled={disabled}\n focused={focused}\n tabIndex={-1}\n data-qa={qa?.token?.(option)}\n >\n <Token.Label>{getLabel(option)}</Token.Label>\n <Token.Remove\n data-close\n onClick={removeToken}\n tabIndex={-1}\n data-qa={qa?.tokenClear?.(option)}\n />\n </Token>\n )\n}\n\nfunction useMultiSelect({\n getId,\n getLabel,\n getGroup,\n menuRef,\n onChange = noop,\n onSearch: onSearch_,\n options: options_,\n value,\n optgroups,\n}: MultiSelectConfig): MultiSelectHook {\n const [index, setIndex] = React.useState<number | null>(null)\n\n const [search, setSearch] = React.useState<string>('')\n\n const valueIds = value.reduce<Set<number | string>>((acc, cur) => {\n acc.add(getId(cur))\n\n return acc\n }, new Set())\n\n const count = value.length\n\n const options = React.useMemo(\n function () {\n if (onSearch_) {\n return options_\n }\n\n return options_.filter((opt) =>\n getLabel(opt).toLowerCase().includes(search.toLowerCase())\n )\n },\n [options_, onSearch_, getLabel, search]\n )\n\n const onSearch = React.useCallback(\n function (e: ChangeEvent) {\n if (onSearch_) {\n onSearch_(e)\n }\n\n setSearch(e.target.value)\n\n // TODO: because menu highlighting is now imperative, we have to wait\n // for a render to highlight the first item. Is there a better way\n // to schedule this?\n setTimeout(() => menuRef.current?.highlightFirst(), 0)\n },\n [menuRef, onSearch_]\n )\n\n const clearToken = () => setIndex(null)\n\n const removeSelection = React.useCallback(\n function (selection: OptionItem, selected: OptionItem[]) {\n return selected.filter((s) => getId(s) !== getId(selection))\n },\n [getId]\n )\n\n const onSelect = React.useCallback(\n (selection: Selection) => {\n const newSelected = valueIds.has(getId(selection.item))\n ? removeSelection(selection.item, value)\n : [...value, selection.item]\n\n setSearch('')\n onChange(newSelected)\n },\n [setSearch, onChange, getId, removeSelection, value, valueIds]\n )\n\n const removeToken = React.useCallback(\n function (i: number) {\n onChange(removeSelection(value[i], value))\n },\n [value, onChange, removeSelection]\n )\n\n const decrementToken = React.useCallback(\n function () {\n if (index === null) {\n // index is null, set it to the last token index\n setIndex(count - 1)\n } else {\n // decrementToken by one, don't go below 0\n setIndex(Math.max(0, index - 1))\n }\n },\n [count, index, setIndex]\n )\n\n const incrementToken = React.useCallback(\n function () {\n if (index === count - 1) {\n setIndex(null)\n } else if (index !== null) {\n setIndex(index + 1)\n }\n },\n [count, index, setIndex]\n )\n\n const onKeyDown = React.useCallback(\n function (event: React.KeyboardEvent<HTMLInputElement>) {\n if (event.key === 'Enter') {\n menuRef.current?.select(event)\n }\n\n if (event.key === 'ArrowUp' || event.key === 'Up') {\n menuRef.current?.prev()\n }\n\n if (event.key === 'ArrowDown' || event.key === 'Down') {\n menuRef.current?.next()\n }\n\n if (search === '') {\n if (event.key === 'Backspace' || event.key === 'Delete') {\n // to prevent accidentally deleting too many tokens, don't do anything\n // on repeating key events\n if (event.repeat) {\n return\n }\n\n // if we are focused on a token, remove it, otherwise remove the last token\n removeToken(index !== null ? index : count - 1)\n\n if (count >= 1) {\n decrementToken()\n } else {\n clearToken()\n }\n }\n\n if (event.key === 'ArrowLeft' || event.key === 'Left') {\n decrementToken()\n }\n\n if (event.key === 'ArrowRight' || event.key === 'Right') {\n incrementToken()\n }\n }\n },\n [count, decrementToken, incrementToken, index, menuRef, removeToken, search]\n )\n\n React.useEffect(\n function () {\n // if we've deleted a token and our new count is less than\n // our current index, clear the index\n if (count <= (index || 0)) {\n clearToken()\n }\n },\n [count, index]\n )\n\n const groupedOptions = React.useMemo(() => {\n if (!optgroups || !optgroups.length) {\n return options\n }\n\n const optionsByGroup: Record<string, (OptionItem | GroupHeader)[]> =\n optgroups.reduce((acc, { id }) => {\n return {\n ...acc,\n [id]: [],\n }\n }, {})\n\n const orphanOptions = [] as OptionItem[]\n\n options.forEach((option) => {\n const groupId = getGroup(option)\n const groupOptions = optionsByGroup[groupId]\n\n if (!groupId || !groupOptions) {\n orphanOptions.push(option)\n return\n }\n\n optionsByGroup[groupId].push(option)\n })\n\n if (orphanOptions.length) {\n console.warn(\n `Could not find option groups for the options below. Make sure that every option has a proper \"groupId\" field or if \"getGroup\" is implemented correctly.`,\n orphanOptions\n )\n }\n\n return optgroups\n .map((group: GroupItem) => {\n const groupOptions = optionsByGroup[group.id]\n\n if (!groupOptions.length) {\n return null\n }\n\n return { ...group, isGroupHeader: true, options: groupOptions }\n }, [])\n .filter(Boolean)\n }, [options, getGroup, optgroups])\n\n return {\n ids: valueIds,\n index,\n menuRef,\n options: groupedOptions,\n search,\n\n clearToken,\n decrementToken,\n incrementToken,\n onSearch,\n onSelect,\n removeToken,\n\n domHandlers: {\n onKeyDown,\n },\n }\n}\n\nexport const Option = React.forwardRef<HTMLDivElement, MultiSelectOptionProps>(\n function Option({ value, ...props }, ref) {\n return <MenuImperative.Item ref={ref} {...props} item={value} />\n }\n)\n\nfunction GroupedOptions({\n multiselect,\n groupHeaderRenderer,\n groupRenderer,\n optionRenderer,\n getId,\n getLabel,\n isOptionDisabled,\n qa,\n}: GroupedOptionsProps) {\n const renderOption = (option: OptionItem | GroupHeader): React.ReactNode => {\n if (option.isGroupHeader) {\n const groupHeader: GroupHeader = option\n if (groupHeaderRenderer) {\n return (\n <>\n {groupHeaderRenderer(groupHeader)}\n {groupHeader.options.map(renderOption)}\n </>\n )\n }\n return groupRenderer({\n ...groupHeader,\n children: groupHeader.options.map(renderOption),\n })\n }\n\n return optionRenderer(option, {\n getId,\n getLabel,\n // @ts-ignore\n // Object literal may only specify known properties, and 'key' does not exist in type 'OptionRendererProps'.\n key: getId(option),\n selected: multiselect.ids.has(getId(option)),\n disabled: isOptionDisabled(option),\n value: option,\n qa,\n })\n }\n return (\n <MenuImperative.Options>\n {multiselect.options.map(renderOption)}\n </MenuImperative.Options>\n )\n}\n\n/**\n\n Multi selects allow our users to choose one to many options from a list,\n presented in a dropdown. We typically see these selects on forms.\n\n Other select components are group select, select, and tiered select.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_multiselect--basic)\n\n @see [Design Guidelines](https://design.procore.com/multi-select)\n\n */\nconst MultiSelect_ = React.forwardRef<HTMLDivElement, MultiSelectProps>(\n function MultiSelect(\n {\n afterHide = noop,\n afterShow = noop,\n beforeHide = returnTrue,\n beforeShow = returnTrue,\n block = false,\n disabled = false,\n emptyMessage,\n error = false,\n footer,\n getId = defaultGetId,\n getLabel = defaultGetLabel,\n getGroup = defaultGetGroup,\n loading = false,\n onChange = noop,\n onScrollBottom,\n onSearch,\n options = emptyArray,\n isOptionDisabled = defaultIsOptionDisabled,\n optionRenderer = defaultOptionRenderer,\n optgroups,\n groupHeaderRenderer,\n groupRenderer = defaultGroupRenderer,\n tokenRenderer = defaultTokenRenderer,\n placeholder,\n placement = 'bottom-left',\n value = emptyArray,\n tabIndex = 0,\n ['aria-labelledby']: ariaLabelledBy,\n ['aria-describedby']: ariaDescribedBy,\n qa = {},\n ...props\n },\n ref\n ) {\n const i18n = useI18nContext()\n const ownRef = React.useRef<HTMLDivElement>()\n const targetRef = (ref as React.RefObject<HTMLDivElement>) || ownRef\n\n const searchRef = React.useRef<HTMLInputElement>(null)\n\n const menuRef = React.useRef<MenuRef | null>(null)\n const tokenListId = useId()\n const tokenBaseId = useId()\n const noneSelectedId = useId()\n const [isMenuOpen, setIsMenuOpen] = React.useState(false)\n const { menuNavigationTriggerProps, menuProps } =\n useMenuImperativeControlNavigation(menuRef, isMenuOpen)\n const {\n 'aria-controls': menuAriaControls,\n ...restMenuNavigationTriggerProps\n } = menuNavigationTriggerProps\n\n const I18n = useI18nContext()\n\n const multiselect = useMultiSelect({\n getId,\n getLabel,\n getGroup,\n menuRef,\n onSearch,\n options,\n onChange: function (value) {\n onChange(value)\n\n setFocusTo(searchRef)\n },\n value,\n optgroups,\n })\n\n const showClearIcon = value.length > 0 && !loading\n\n const isNavigatingTokens = multiselect.index !== null\n const activeTokenId = isNavigatingTokens\n ? `${tokenBaseId}-${multiselect.index}`\n : undefined\n\n const overlay = (\n <StyledMultiSelectMenu shadowStrength={2}>\n <MenuImperative\n {...menuProps}\n ref={menuRef}\n onScrollBottom={onScrollBottom}\n onSelect={multiselect.onSelect}\n data-qa=\"multi-select-menu\"\n role=\"listbox\"\n >\n {multiselect.options.length ? (\n <GroupedOptions\n multiselect={multiselect}\n getId={getId}\n getLabel={getLabel}\n isOptionDisabled={isOptionDisabled}\n groupHeaderRenderer={groupHeaderRenderer}\n groupRenderer={groupRenderer}\n optionRenderer={optionRenderer}\n qa={qa}\n />\n ) : (\n <Box padding=\"md lg\">\n <Typography color=\"gray45\" intent=\"small\" italic>\n {emptyMessage || I18n.t('core.multiSelect.noResults')}\n </Typography>\n </Box>\n )}\n {footer && <MenuImperative.Footer>{footer}</MenuImperative.Footer>}\n </MenuImperative>\n </StyledMultiSelectMenu>\n )\n\n return (\n <OverlayTrigger\n canFlip={true}\n afterHide={() => {\n multiselect.clearToken()\n setIsMenuOpen(false)\n\n afterHide()\n }}\n afterShow={() => {\n multiselect.clearToken()\n\n menuRef.current?.highlightFirst()\n setIsMenuOpen(true)\n\n afterShow()\n }}\n beforeHide={(e) => {\n // if we are clicking somewhere in the target, set focus on the search\n if (e instanceof MouseEvent && isEventSource(targetRef, e)) {\n setFocusTo(searchRef)\n }\n\n return beforeHide(e)\n }}\n beforeShow={(e) => {\n setFocusTo(searchRef)\n\n return beforeShow(e)\n }}\n hideKeys={{\n overlay: overlayHideKeys,\n target: targetHideKeys,\n }}\n overlay={overlay}\n placement={placement}\n ref={targetRef}\n showKeys={targetShowKeys}\n trigger=\"click\"\n >\n {({ disable, enable, isVisible }) => {\n const ariaControls = isNavigatingTokens\n ? tokenListId\n : menuAriaControls\n\n return (\n <StyledMultiSelectButton\n $block={block}\n $error={error}\n $emptyValue={value.length === 0}\n $disabled={disabled}\n $loading={loading}\n $open={isVisible}\n {...props}\n >\n {value.length === 0 && (\n <VisuallyHidden>\n <span id={noneSelectedId}>\n {I18n.t('core.multiSelect.noneSelected')}\n </span>\n </VisuallyHidden>\n )}\n <StyledMultiSelectInner>\n <StyledMultiSelectValues\n id={tokenListId}\n role=\"list\"\n aria-label={\n value.length > 0\n ? I18n.t('core.multiSelect.selectedItems')\n : I18n.t('core.multiSelect.noneSelected')\n }\n >\n {value.map((selection, i) => {\n const tokenId = `${tokenBaseId}-${i}`\n const tokenLabel = getLabel(selection)\n return (\n <StyledMultiSelectToken\n key={getId(selection)}\n id={tokenId}\n role=\"listitem\"\n aria-label={\n typeof tokenLabel === 'string'\n ? I18n.t('core.multiSelect.selectedToken', {\n tokenLabel,\n })\n : undefined\n }\n >\n {tokenRenderer({\n option: selection,\n focused: i === multiselect.index,\n disabled: disabled,\n getLabel,\n removeToken: function () {\n multiselect.removeToken(i)\n },\n qa,\n })}\n </StyledMultiSelectToken>\n )\n })}\n </StyledMultiSelectValues>\n\n <StyledMultiSelectSearch>\n <StyledMultiSelectSearchInput\n aria-activedescendant={activeTokenId}\n aria-controls={ariaControls}\n aria-describedby={\n [\n ariaDescribedBy,\n value.length === 0 ? noneSelectedId : undefined,\n ]\n .filter(Boolean)\n .join(' ') || undefined\n }\n aria-expanded={isVisible}\n aria-invalid={error || undefined}\n aria-labelledby={ariaLabelledBy}\n data-qa=\"core-multiselect-input\"\n role=\"combobox\"\n $isNavigatingTokens={isNavigatingTokens}\n disabled={disabled}\n onBlur={multiselect.clearToken}\n onChange={function (\n e: React.ChangeEvent<HTMLInputElement>\n ) {\n multiselect.onSearch(e)\n }}\n {...restMenuNavigationTriggerProps}\n onKeyDown={function (\n e: React.KeyboardEvent<HTMLInputElement>\n ) {\n if (isNavigatingTokens && e.key !== 'Tab') {\n // if we are navigating tokens don't do any input but allow Tab\n e.preventDefault()\n }\n\n if (isVisible) {\n // if the overlay is visible, close it and keep focus\n if (e.key === 'Tab') {\n e.preventDefault()\n\n disable(e)\n }\n // if open, don't notify parents (like Modal) but still let OverlayTrigger close it and keep it focus\n if (e.key === 'Esc' || e.key === 'Escape') {\n e.stopPropagation()\n disable(e)\n }\n // close dropdown when navigating tokens with arrow keys\n if (\n multiselect.search === '' &&\n (e.key === 'ArrowLeft' ||\n e.key === 'Left' ||\n e.key === 'ArrowRight' ||\n e.key === 'Right')\n ) {\n disable(e)\n }\n } else {\n // if we type in an alphanumeric character, show the overlay\n if (isAlphaNumeric(e.key)) {\n enable(e)\n }\n }\n\n multiselect.domHandlers.onKeyDown(e)\n }}\n placeholder={\n value?.length > 0\n ? ''\n : placeholder ?? I18n.t('core.multiSelect.selectValues')\n }\n ref={searchRef}\n tabIndex={tabIndex}\n value={multiselect.search}\n />\n </StyledMultiSelectSearch>\n </StyledMultiSelectInner>\n <StyledMultiSelectSearchIcon>\n <StyledMultiSelectClearIcon\n aria-label={i18n.t('core.multiSelect.clearAll')}\n data-close\n data-qa=\"core-multiselect-clear\"\n size=\"sm\"\n variant=\"tertiary\"\n disabled={disabled}\n icon={<Clear />}\n onClick={() => onChange([])}\n tabIndex={showClearIcon ? 0 : -1}\n $show={showClearIcon}\n />\n {loading ? (\n <Spinner color=\"blue50\" size=\"xs\" />\n ) : (\n <StyledMultiSelectArrowContainer\n data-qa=\"multiselect-select-arrow\"\n onClick={(e: React.MouseEvent) => isVisible && disable(e)}\n >\n <StyledMultiSelectArrow />\n </StyledMultiSelectArrowContainer>\n )}\n </StyledMultiSelectSearchIcon>\n </StyledMultiSelectButton>\n )\n }}\n </OverlayTrigger>\n )\n }\n)\n\nMultiSelect_.displayName = 'MultiSelect'\n\n/**\n * @see [Storybook](https://procore.github.io/core/latest/?path=/story/demos-multiselect--demo)\n * @see [Design Guidelines](https://design.procore.com/multi-select)\n */\nexport const MultiSelect = addSubcomponents(\n {\n Option,\n },\n MultiSelect_\n)\n"],"mappings":"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"}
|
|
@@ -8,34 +8,34 @@ import { getFocus } from '../_styles/mixins';
|
|
|
8
8
|
import { spacing } from '../_styles/spacing';
|
|
9
9
|
export var StyledMultiSelectInner = /*#__PURE__*/styled.div.withConfig({
|
|
10
10
|
displayName: "StyledMultiSelectInner",
|
|
11
|
-
componentId: "core-
|
|
11
|
+
componentId: "core-12_43_0__sc-s9ym9q-0"
|
|
12
12
|
})(["display:flex;flex-wrap:wrap;margin-bottom:2px;margin-left:", "px;margin-right:", "px;margin-top:2px;min-width:0;width:100%;"], spacing.md, spacing.xs);
|
|
13
13
|
export var StyledMultiSelectValues = /*#__PURE__*/styled.div.withConfig({
|
|
14
14
|
displayName: "StyledMultiSelectValues",
|
|
15
|
-
componentId: "core-
|
|
15
|
+
componentId: "core-12_43_0__sc-s9ym9q-1"
|
|
16
16
|
})(["display:contents;"]);
|
|
17
17
|
export var StyledMultiSelectToken = /*#__PURE__*/styled.div.withConfig({
|
|
18
18
|
displayName: "StyledMultiSelectToken",
|
|
19
|
-
componentId: "core-
|
|
19
|
+
componentId: "core-12_43_0__sc-s9ym9q-2"
|
|
20
20
|
})(["margin-bottom:2px;margin-right:", "px;margin-top:2px;flex:0 1 auto;> div{max-width:178px;width:100%;}"], spacing.xs);
|
|
21
21
|
export var StyledMultiSelectSearchInput = /*#__PURE__*/styled.input.withConfig({
|
|
22
22
|
displayName: "StyledMultiSelectSearchInput",
|
|
23
|
-
componentId: "core-
|
|
23
|
+
componentId: "core-12_43_0__sc-s9ym9q-3"
|
|
24
24
|
})(["background-color:transparent;border-width:0;font-family:inherit;padding:0;height:24px;width:100%;", " ", " &::-ms-clear{display:none;}&:focus{box-shadow:none;outline:none;}&::placeholder{color:", ";}"], getTypographyIntent('body'), function (_ref) {
|
|
25
25
|
var $isNavigatingTokens = _ref.$isNavigatingTokens;
|
|
26
26
|
return $isNavigatingTokens && css(["color:transparent;"]);
|
|
27
27
|
}, colors.gray45);
|
|
28
28
|
export var StyledMultiSelectSearch = /*#__PURE__*/styled.div.withConfig({
|
|
29
29
|
displayName: "StyledMultiSelectSearch",
|
|
30
|
-
componentId: "core-
|
|
30
|
+
componentId: "core-12_43_0__sc-s9ym9q-4"
|
|
31
31
|
})(["margin-bottom:2px;margin-right:", "px;margin-top:2px;flex:1;max-width:100%;min-width:24px;"], spacing.xs);
|
|
32
32
|
export var StyledMultiSelectSearchIcon = /*#__PURE__*/styled.div.withConfig({
|
|
33
33
|
displayName: "StyledMultiSelectSearchIcon",
|
|
34
|
-
componentId: "core-
|
|
34
|
+
componentId: "core-12_43_0__sc-s9ym9q-5"
|
|
35
35
|
})(["align-items:center;align-self:flex-start;display:flex;height:34px;justify-content:flex-end;margin-left:", "px;margin-right:", "px;min-width:40px;width:40px;"], spacing.xs, spacing.md);
|
|
36
36
|
export var StyledMultiSelectClearIcon = /*#__PURE__*/styled(Button).withConfig({
|
|
37
37
|
displayName: "StyledMultiSelectClearIcon",
|
|
38
|
-
componentId: "core-
|
|
38
|
+
componentId: "core-12_43_0__sc-s9ym9q-6"
|
|
39
39
|
})(["", " ", "{pointer-events:none;}"], function (_ref2) {
|
|
40
40
|
var $show = _ref2.$show;
|
|
41
41
|
return css(["opacity:", ";"], $show ? 1 : 0);
|
|
@@ -45,7 +45,7 @@ export var StyledMultiSelectArrow = StyledSelectArrow;
|
|
|
45
45
|
export var StyledMultiSelectMenu = StyledSelectMenu;
|
|
46
46
|
export var StyledMultiSelectButton = /*#__PURE__*/styled(StyledSelectButton).withConfig({
|
|
47
47
|
displayName: "StyledMultiSelectButton",
|
|
48
|
-
componentId: "core-
|
|
48
|
+
componentId: "core-12_43_0__sc-s9ym9q-7"
|
|
49
49
|
})(["height:auto;padding:0;white-space:normal;&:focus-within{", "}", ""], getFocus(), function (_ref3) {
|
|
50
50
|
var $emptyValue = _ref3.$emptyValue;
|
|
51
51
|
return $emptyValue && css(["", "{cursor:pointer;}"], StyledMultiSelectSearchInput);
|
|
@@ -6,14 +6,14 @@ export var optionMinHeight = 32;
|
|
|
6
6
|
export var defaultMenuHeight = 64;
|
|
7
7
|
export var StyledOptions = /*#__PURE__*/styled.div.withConfig({
|
|
8
8
|
displayName: "StyledOptions",
|
|
9
|
-
componentId: "core-
|
|
9
|
+
componentId: "core-12_43_0__sc-3o6zya-0"
|
|
10
10
|
})([""]);
|
|
11
11
|
export var StyledItem = /*#__PURE__*/styled.div.withConfig({
|
|
12
12
|
displayName: "StyledItem",
|
|
13
|
-
componentId: "core-
|
|
13
|
+
componentId: "core-12_43_0__sc-3o6zya-1"
|
|
14
14
|
})(["", ";padding:", "px ", "px;cursor:pointer;list-style-type:none;"], getTypographyIntent('body'), spacing.xs, spacing.md);
|
|
15
15
|
export var StyledGroup = /*#__PURE__*/styled.div.withConfig({
|
|
16
16
|
displayName: "StyledGroup",
|
|
17
|
-
componentId: "core-
|
|
17
|
+
componentId: "core-12_43_0__sc-3o6zya-2"
|
|
18
18
|
})(["", ";padding:", "px ", "px ", "px;font-weight:", ";background:white;list-style-type:none;"], getTypographyIntent('body'), spacing.md, spacing.md, spacing.xs, typographyWeights.semibold);
|
|
19
19
|
//# sourceMappingURL=NextMenu.styles.js.map
|
|
@@ -14,7 +14,7 @@ var variantColorMap = {
|
|
|
14
14
|
};
|
|
15
15
|
var StyledNotation = /*#__PURE__*/styled.i.withConfig({
|
|
16
16
|
displayName: "StyledNotation",
|
|
17
|
-
componentId: "core-
|
|
17
|
+
componentId: "core-12_43_0__sc-160q1m6-0"
|
|
18
18
|
})(["", " color:", ";font-style:italic;"], getTypographyIntent('small'), function (_ref) {
|
|
19
19
|
var $variant = _ref.$variant;
|
|
20
20
|
return $variant ? colors[variantColorMap[$variant]] : colors.gray15;
|
|
@@ -12,37 +12,37 @@ var inputBgColor = colors.white;
|
|
|
12
12
|
var inputBorder = "".concat(colors.gray50, " solid 1px");
|
|
13
13
|
var StyledRootAddon = /*#__PURE__*/styled.span.withConfig({
|
|
14
14
|
displayName: "StyledRootAddon",
|
|
15
|
-
componentId: "core-
|
|
15
|
+
componentId: "core-12_43_0__sc-1782nvg-0"
|
|
16
16
|
})(["display:inline-flex;align-items:center;height:100%;position:absolute;top:0;color:", ";", ";"], function (_ref) {
|
|
17
17
|
var disabled = _ref.disabled;
|
|
18
18
|
return disabled ? colors.gray70 : colors.gray45;
|
|
19
19
|
}, getTypographyIntent('body'));
|
|
20
20
|
export var StyledPrefix = /*#__PURE__*/styled(StyledRootAddon).withConfig({
|
|
21
21
|
displayName: "StyledPrefix",
|
|
22
|
-
componentId: "core-
|
|
22
|
+
componentId: "core-12_43_0__sc-1782nvg-1"
|
|
23
23
|
})(["left:", "px;"], spacing.md);
|
|
24
24
|
export var StyledSuffix = /*#__PURE__*/styled(StyledRootAddon).withConfig({
|
|
25
25
|
displayName: "StyledSuffix",
|
|
26
|
-
componentId: "core-
|
|
26
|
+
componentId: "core-12_43_0__sc-1782nvg-2"
|
|
27
27
|
})(["right:", "px;"], function (_ref2) {
|
|
28
28
|
var $withIncrementer = _ref2.$withIncrementer;
|
|
29
29
|
return $withIncrementer ? spacing.md + incrementerWidth : spacing.md;
|
|
30
30
|
});
|
|
31
31
|
export var StyledIncrementerWrapper = /*#__PURE__*/styled.div.withConfig({
|
|
32
32
|
displayName: "StyledIncrementerWrapper",
|
|
33
|
-
componentId: "core-
|
|
33
|
+
componentId: "core-12_43_0__sc-1782nvg-3"
|
|
34
34
|
})(["display:flex;flex-direction:column;position:absolute;top:1px;right:1px;height:100%;"]);
|
|
35
35
|
export var StyledIncrementerButton = /*#__PURE__*/styled.button.withConfig({
|
|
36
36
|
displayName: "StyledIncrementerButton",
|
|
37
|
-
componentId: "core-
|
|
37
|
+
componentId: "core-12_43_0__sc-1782nvg-4"
|
|
38
38
|
})(["display:inline-flex;justify-content:center;align-items:center;width:", "px;height:calc(50% - 1px);border:none;border-radius:0px;outline:none;background-color:", ";padding:0;cursor:pointer;&:first-child,&:last-child{border-left:", ";&:disabled{border-color:", ";background-color:", ";}}&:first-child{border-top-right-radius:2px;}&:last-child{border-top:", ";border-bottom-right-radius:2px;}svg{fill:", ";}&:hover{svg{fill:", ";}}&:disabled{cursor:default;svg{fill:", ";}}"], incrementerWidth, inputBgColor, inputBorder, colors.gray50, colors.gray94, inputBorder, colors.gray45, colors.gray10, colors.gray70);
|
|
39
39
|
export var StyledInput = /*#__PURE__*/styled(Input).withConfig({
|
|
40
40
|
displayName: "StyledInput",
|
|
41
|
-
componentId: "core-
|
|
41
|
+
componentId: "core-12_43_0__sc-1782nvg-5"
|
|
42
42
|
})([""]);
|
|
43
43
|
export var StyledWrapper = /*#__PURE__*/styled.div.withConfig({
|
|
44
44
|
displayName: "StyledWrapper",
|
|
45
|
-
componentId: "core-
|
|
45
|
+
componentId: "core-12_43_0__sc-1782nvg-6"
|
|
46
46
|
})(["position:relative;", ""], function (_ref3) {
|
|
47
47
|
var $hasIncrementer = _ref3.$hasIncrementer;
|
|
48
48
|
return $hasIncrementer && css(["", "{padding-right:", "px;}"], StyledInput, spacing.md + incrementerWidth);
|
|
@@ -2,6 +2,6 @@ import styled from 'styled-components';
|
|
|
2
2
|
export var arrowSize = 8;
|
|
3
3
|
export var StyledArrow = /*#__PURE__*/styled.div.withConfig({
|
|
4
4
|
displayName: "StyledArrow",
|
|
5
|
-
componentId: "core-
|
|
5
|
+
componentId: "core-12_43_0__sc-1epxw7u-0"
|
|
6
6
|
})(["position:absolute;background:inherit;width:", "px;height:", "px;transform:rotate(45deg);"], arrowSize, arrowSize);
|
|
7
7
|
//# sourceMappingURL=OverlayArrow.styles.js.map
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { AriaAttributes } from 'react';
|
|
2
|
-
import React from 'react';
|
|
3
2
|
import type { OverlayTriggerRole } from './OverlayTrigger.types';
|
|
4
3
|
declare type GetA11yProps = (props: {
|
|
5
4
|
role: OverlayTriggerRole;
|
|
@@ -8,7 +7,7 @@ declare type GetA11yProps = (props: {
|
|
|
8
7
|
}) => AriaAttributes & {
|
|
9
8
|
id?: string;
|
|
10
9
|
};
|
|
11
|
-
export declare function getA11yPreset(role?: OverlayTriggerRole): {
|
|
10
|
+
export declare function getA11yPreset(role?: OverlayTriggerRole | 'alertdialog'): {
|
|
12
11
|
getOverlayProps: GetA11yProps;
|
|
13
12
|
getTriggerProps: GetA11yProps;
|
|
14
13
|
};
|
|
@@ -24,20 +23,18 @@ declare type LabelConfig = {
|
|
|
24
23
|
};
|
|
25
24
|
declare type DialogBase = LabelConfig & {
|
|
26
25
|
isOpen: boolean;
|
|
27
|
-
role?: 'dialog';
|
|
26
|
+
role?: 'dialog' | 'alertdialog';
|
|
28
27
|
};
|
|
29
28
|
declare type NonModalDialogConfig = DialogBase & {
|
|
30
|
-
|
|
29
|
+
'aria-modal'?: never | false;
|
|
31
30
|
};
|
|
32
31
|
declare type ModalDialogConfig = DialogBase & {
|
|
33
32
|
/**
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
* @a11y Replicates `aria-modal` inert outside content
|
|
33
|
+
* @a11y This will add `aria-modal={true}` and rely on browsers to
|
|
34
|
+
* handle making outside content inert.
|
|
37
35
|
* @default false
|
|
38
36
|
*/
|
|
39
|
-
|
|
40
|
-
ref: React.RefObject<HTMLElement>;
|
|
37
|
+
'aria-modal': true;
|
|
41
38
|
};
|
|
42
39
|
declare type ModalDialogLikeConfig = NonModalDialogConfig | ModalDialogConfig;
|
|
43
40
|
declare type OverlayTriggerA11yConfig = LabelConfig & {
|
|
@@ -103,17 +100,17 @@ export declare function useLabelledPopup({ 'aria-describedby': ariaDescribedby,
|
|
|
103
100
|
"aria-colindextext"?: string | undefined;
|
|
104
101
|
"aria-colspan"?: number | undefined;
|
|
105
102
|
"aria-controls"?: string | undefined;
|
|
106
|
-
"aria-current"?: boolean | "
|
|
103
|
+
"aria-current"?: boolean | "time" | "page" | "false" | "true" | "step" | "location" | "date" | undefined;
|
|
107
104
|
"aria-describedby": string | undefined;
|
|
108
105
|
"aria-description"?: string | undefined;
|
|
109
106
|
"aria-details": string | undefined;
|
|
110
107
|
"aria-disabled"?: (boolean | "false" | "true") | undefined;
|
|
111
|
-
"aria-dropeffect"?: "
|
|
108
|
+
"aria-dropeffect"?: "link" | "none" | "copy" | "move" | "execute" | "popup" | undefined;
|
|
112
109
|
"aria-errormessage"?: string | undefined;
|
|
113
110
|
"aria-expanded"?: (boolean | "false" | "true") | undefined;
|
|
114
111
|
"aria-flowto"?: string | undefined;
|
|
115
112
|
"aria-grabbed"?: (boolean | "false" | "true") | undefined;
|
|
116
|
-
"aria-haspopup"?: boolean | "
|
|
113
|
+
"aria-haspopup"?: boolean | "dialog" | "menu" | "listbox" | "grid" | "false" | "true" | "tree" | undefined;
|
|
117
114
|
"aria-hidden"?: (boolean | "false" | "true") | undefined;
|
|
118
115
|
"aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined;
|
|
119
116
|
"aria-keyshortcuts"?: string | undefined;
|
|
@@ -130,7 +127,7 @@ export declare function useLabelledPopup({ 'aria-describedby': ariaDescribedby,
|
|
|
130
127
|
"aria-posinset"?: number | undefined;
|
|
131
128
|
"aria-pressed"?: boolean | "mixed" | "false" | "true" | undefined;
|
|
132
129
|
"aria-readonly"?: (boolean | "false" | "true") | undefined;
|
|
133
|
-
"aria-relevant"?: "
|
|
130
|
+
"aria-relevant"?: "text" | "all" | "additions" | "additions removals" | "additions text" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals" | undefined;
|
|
134
131
|
"aria-required"?: (boolean | "false" | "true") | undefined;
|
|
135
132
|
"aria-roledescription"?: string | undefined;
|
|
136
133
|
"aria-rowcount"?: number | undefined;
|
|
@@ -139,13 +136,13 @@ export declare function useLabelledPopup({ 'aria-describedby': ariaDescribedby,
|
|
|
139
136
|
"aria-rowspan"?: number | undefined;
|
|
140
137
|
"aria-selected"?: (boolean | "false" | "true") | undefined;
|
|
141
138
|
"aria-setsize"?: number | undefined;
|
|
142
|
-
"aria-sort"?: "
|
|
139
|
+
"aria-sort"?: "other" | "none" | "ascending" | "descending" | undefined;
|
|
143
140
|
"aria-valuemax"?: number | undefined;
|
|
144
141
|
"aria-valuemin"?: number | undefined;
|
|
145
142
|
"aria-valuenow"?: number | undefined;
|
|
146
143
|
"aria-valuetext"?: string | undefined;
|
|
147
144
|
id?: string | undefined;
|
|
148
|
-
role: "
|
|
145
|
+
role: "dialog" | "menu" | "listbox";
|
|
149
146
|
};
|
|
150
147
|
triggerProps: AriaAttributes & {
|
|
151
148
|
id?: string | undefined;
|
|
@@ -157,35 +154,31 @@ export declare function useLabelledPopup({ 'aria-describedby': ariaDescribedby,
|
|
|
157
154
|
* - Focus management props to work with FocusScope
|
|
158
155
|
*
|
|
159
156
|
* For modal dialog experiences (full screen locked experiences):
|
|
160
|
-
* -
|
|
161
|
-
* -
|
|
157
|
+
* - what dialog above does
|
|
158
|
+
* - adds aria-modal="true"
|
|
159
|
+
* - this hook does not determine where to mount or how many modals are open
|
|
162
160
|
*
|
|
163
|
-
* For either experiences, you still MUST support
|
|
164
|
-
*
|
|
165
|
-
* -
|
|
161
|
+
* For either experiences, you still MUST support a way to close by mouse and keyboard.
|
|
162
|
+
*
|
|
163
|
+
* Using `aria-modal`, you need to keep additional overlay content inside, so
|
|
164
|
+
* portals must be smart enough to know where other overlays
|
|
165
|
+
* like tooltips or toasts should go to remain visible to screen readers (inside the aria-modal).
|
|
166
166
|
*
|
|
167
|
-
* _More about 'modal dialog' and `isModal` not using `aria-modal`:_
|
|
168
167
|
* Setting aria-modal="true" tells assistive technologies to let the user know the ability to interact with,
|
|
169
168
|
* or access other content on the page requires the modal dialog to be closed or otherwise lose focus.
|
|
170
169
|
* Modal dialogs are when content is displayed and the user's interaction is limited to only that section until it is dismissed.
|
|
171
170
|
* [MDN aria modal](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-modal).
|
|
172
|
-
* To support the most, like Narrator in Edge, Core React uses `ariaHideOutside` to set `aria-hidden` on
|
|
173
|
-
* all elements outside the dialog, and **all elements outside added while opened**, so the dialog will act as a
|
|
174
|
-
* _modal_ even without `aria-modal` on the dialog itself. See Future Considerations below.
|
|
175
|
-
* [Screen Reader aria modal support table](https://a11ysupport.io/tech/aria/aria-modal_attribute) - [MS Narrator Edge aria modal support](https://a11ysupport.io/tests/apg__modal-dialog-example/aria__aria-modal_attribute/convey_presence/narrator/edge)
|
|
176
|
-
* _Future Considerations:_ Replace ariaHideOutside with aria-modal="true".
|
|
177
|
-
* Using aria-modal, then we would need to involve Portal and so tooltips
|
|
178
|
-
* or Toasts could mount within the visible aria-modal container.
|
|
179
171
|
*/
|
|
180
|
-
export declare function useModalDialogLike({ 'aria-describedby': ariaDescribedby, 'aria-details': ariaDetails, 'aria-labelledby': ariaLabelledby, 'aria-label': ariaLabel,
|
|
172
|
+
export declare function useModalDialogLike({ 'aria-describedby': ariaDescribedby, 'aria-details': ariaDetails, 'aria-labelledby': ariaLabelledby, 'aria-label': ariaLabel, 'aria-modal': ariaModal, id, isOpen, role, }: ModalDialogLikeConfig): {
|
|
181
173
|
dialogProps: {
|
|
182
174
|
id: string | undefined;
|
|
183
|
-
role: "dialog";
|
|
175
|
+
role: "dialog" | "alertdialog";
|
|
184
176
|
tabIndex: number;
|
|
185
177
|
'aria-describedby': string | undefined;
|
|
186
178
|
'aria-details': string | undefined;
|
|
187
179
|
'aria-label'?: string | undefined;
|
|
188
180
|
'aria-labelledby'?: string | undefined;
|
|
181
|
+
'aria-modal': boolean | undefined;
|
|
189
182
|
};
|
|
190
183
|
labelProps: {
|
|
191
184
|
id: string | undefined;
|