@procore/core-react 12.21.2 → 12.23.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 +20 -8
- package/dist/@types/global.d.js.map +1 -1
- package/dist/AnchorNavigation/AnchorNavigation.styles.d.ts +6 -5
- package/dist/AnchorNavigation/AnchorNavigation.styles.js +3 -3
- package/dist/Avatar/Avatar.styles.d.ts +7 -6
- package/dist/Avatar/Avatar.styles.js +5 -5
- package/dist/AvatarStack/AvatarStack.styles.d.ts +1677 -13
- package/dist/AvatarStack/AvatarStack.styles.js +7 -7
- package/dist/Badge/Badge.styles.d.ts +3 -2
- package/dist/Badge/Badge.styles.js +2 -2
- package/dist/BadgePill/BadgePill.d.ts +3 -0
- package/dist/BadgePill/BadgePill.js +25 -0
- package/dist/BadgePill/BadgePill.js.map +1 -0
- package/dist/BadgePill/BadgePill.styles.d.ts +12 -0
- package/dist/BadgePill/BadgePill.styles.js +33 -0
- package/dist/BadgePill/BadgePill.styles.js.map +1 -0
- package/dist/BadgePill/BadgePill.types.d.ts +50 -0
- package/dist/BadgePill/BadgePill.types.js +2 -0
- package/dist/BadgePill/BadgePill.types.js.map +1 -0
- package/dist/BadgePill/index.d.ts +2 -0
- package/dist/BadgePill/index.js +2 -0
- package/dist/BadgePill/index.js.map +1 -0
- package/dist/Banner/Banner.js +1 -1
- package/dist/Banner/Banner.js.map +1 -1
- package/dist/Banner/Banner.styles.d.ts +22 -13
- package/dist/Banner/Banner.styles.js +12 -12
- package/dist/Banner/Banner.styles.js.map +1 -1
- package/dist/Box/Box.js +1 -1
- package/dist/Box/Box.js.map +1 -1
- package/dist/Box/Box.styles.d.ts +2 -1
- package/dist/Box/Box.styles.js +3 -3
- package/dist/Box/Box.styles.js.map +1 -1
- package/dist/Box/Box.types.d.ts +1 -1
- package/dist/Box/Box.types.js.map +1 -1
- package/dist/Breadcrumbs/Breadcrumbs.styles.d.ts +5 -4
- package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
- package/dist/Button/Button.styles.d.ts +8 -6
- package/dist/Button/Button.styles.js +5 -5
- package/dist/Calendar/Calendar.styles.d.ts +15 -9
- package/dist/Calendar/Calendar.styles.js +8 -8
- package/dist/Card/Card.styles.d.ts +3 -2
- package/dist/Card/Card.styles.js +1 -1
- package/dist/Checkbox/Checkbox.styles.d.ts +11 -10
- package/dist/Checkbox/Checkbox.styles.js +6 -6
- package/dist/Checkbox/CheckboxTooltip.js +1 -1
- package/dist/ContactItem/ContactItem.js +2 -0
- package/dist/ContactItem/ContactItem.js.map +1 -1
- package/dist/ContactItem/ContactItem.styles.d.ts +18 -7
- package/dist/ContactItem/ContactItem.styles.js +5 -5
- package/dist/Content/Content.styles.d.ts +6 -2
- package/dist/Content/Content.styles.js +2 -2
- package/dist/DateInput/DateInput.js +6 -6
- package/dist/DateInput/DateInput.js.map +1 -1
- package/dist/DateInput/DateInput.styles.d.ts +20 -13
- package/dist/DateInput/DateInput.styles.js +21 -23
- package/dist/DateInput/DateInput.styles.js.map +1 -1
- package/dist/DateSelect/DateSelect.js +2 -2
- package/dist/DateSelect/DateSelect.js.map +1 -1
- package/dist/DetailPage/DetailPage.styles.d.ts +13 -7
- package/dist/DetailPage/DetailPage.styles.js +7 -7
- package/dist/Dropdown/Dropdown.styles.d.ts +10 -4
- package/dist/Dropdown/Dropdown.styles.js +3 -3
- package/dist/DropdownFlyout/DropdownFlyout.js +1 -1
- package/dist/DropdownFlyout/DropdownFlyout.js.map +1 -1
- package/dist/DropdownFlyout/DropdownFlyout.styles.d.ts +5 -4
- package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
- package/dist/DropdownFlyout/DropdownFlyout.types.d.ts +4 -1
- package/dist/DropdownFlyout/DropdownFlyout.types.js.map +1 -1
- package/dist/Dropzone/Dropzone.d.ts +3 -1
- package/dist/Dropzone/Dropzone.js +5 -5
- package/dist/Dropzone/Dropzone.js.map +1 -1
- package/dist/Dropzone/Dropzone.styles.d.ts +24 -16
- package/dist/Dropzone/Dropzone.styles.js +22 -22
- package/dist/Dropzone/Dropzone.styles.js.map +1 -1
- package/dist/EmptyState/EmptyState.js +1 -1
- package/dist/EmptyState/EmptyState.js.map +1 -1
- package/dist/EmptyState/EmptyState.styles.d.ts +8 -7
- package/dist/EmptyState/EmptyState.styles.js +6 -6
- package/dist/Field/Field.styles.d.ts +4 -3
- package/dist/Field/Field.styles.js +3 -3
- package/dist/FileList/FileList.styles.d.ts +8 -4
- package/dist/FileList/FileList.styles.js +4 -4
- package/dist/FileSelect/FileExplorer/FileExplorer.styles.d.ts +18 -10
- package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
- package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.d.ts +5 -3
- package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
- package/dist/FileSelect/FileSelect.d.ts +3 -3
- package/dist/FileSelect/FileSelect.js +4 -4
- package/dist/FileSelect/FileSelect.js.map +1 -1
- package/dist/FileSelect/FileSelect.styles.d.ts +4 -2
- package/dist/FileSelect/FileSelect.styles.js +2 -2
- package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.d.ts +7 -5
- package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
- package/dist/FileSelect/FileTokenList/FileTokenList.styles.d.ts +4 -2
- package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
- package/dist/FileSelect/GridSource/GridSource.styles.d.ts +11 -9
- package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
- package/dist/FileSelect/LocalSource/LocalSource.styles.d.ts +10 -4
- package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
- package/dist/FileSelect/SourceItem/SourceItem.styles.d.ts +5 -4
- package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
- package/dist/FileSelect/ThumbnailList/ThumbnailList.js +1 -1
- package/dist/FileSelect/ThumbnailList/ThumbnailList.js.map +1 -1
- package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.d.ts +18 -8
- package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
- package/dist/FileSelect/TreeSource/TreeSource.styles.d.ts +2 -1
- package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
- package/dist/FileToken/FileToken.styles.d.ts +6 -5
- package/dist/FileToken/FileToken.styles.js +4 -4
- package/dist/FilterToken/FilterToken.styles.d.ts +8 -7
- package/dist/FilterToken/FilterToken.styles.js +5 -5
- package/dist/FlexList/FlexList.styles.d.ts +4 -2
- package/dist/FlexList/FlexList.styles.js +1 -1
- package/dist/Form/Form.d.ts +2 -1
- package/dist/Form/Form.js.map +1 -1
- package/dist/Form/Form.styles.d.ts +48 -25
- package/dist/Form/Form.styles.js +18 -18
- package/dist/Form/Form.styles.js.map +1 -1
- package/dist/Form/Form.types.d.ts +1 -1
- package/dist/Form/Form.types.js.map +1 -1
- package/dist/Form/StyledFormikForm.styles.d.ts +7 -3
- package/dist/Form/StyledFormikForm.styles.js +2 -2
- package/dist/GhostPlaceholder/GhostPlaceholder.styles.d.ts +5 -2
- package/dist/GhostPlaceholder/GhostPlaceholder.styles.js +2 -2
- package/dist/Grid/Grid.styles.d.ts +5 -4
- package/dist/Grid/Grid.styles.js +2 -2
- package/dist/GroupSelect/GroupSelect.js +1 -1
- package/dist/GroupSelect/GroupSelect.js.map +1 -1
- package/dist/GroupSelect/GroupSelect.styles.d.ts +4 -2
- package/dist/GroupSelect/GroupSelect.styles.js +1 -1
- package/dist/Input/Input.js +5 -1
- package/dist/Input/Input.js.map +1 -1
- package/dist/Input/Input.styles.d.ts +8 -8
- package/dist/Input/Input.styles.js +5 -5
- package/dist/Input/Input.styles.js.map +1 -1
- package/dist/Link/Link.js +3 -1
- package/dist/Link/Link.js.map +1 -1
- package/dist/Link/Link.styles.d.ts +4 -1
- package/dist/Link/Link.styles.js +4 -4
- package/dist/Link/Link.styles.js.map +1 -1
- package/dist/Link/Link.types.d.ts +1 -2
- package/dist/Link/Link.types.js.map +1 -1
- package/dist/ListPage/ListPage.styles.d.ts +9 -8
- package/dist/ListPage/ListPage.styles.js +8 -8
- package/dist/Loader/Loader.styles.d.ts +4 -3
- package/dist/Loader/Loader.styles.js +2 -2
- package/dist/Menu/Menu.js +6 -5
- package/dist/Menu/Menu.js.map +1 -1
- package/dist/MenuImperative/MenuImperative.d.ts +2 -3
- package/dist/MenuImperative/MenuImperative.js +8 -26
- package/dist/MenuImperative/MenuImperative.js.map +1 -1
- package/dist/MenuImperative/MenuImperative.styles.d.ts +15 -13
- package/dist/MenuImperative/MenuImperative.styles.js +13 -13
- package/dist/MenuImperative/MenuImperative.styles.js.map +1 -1
- package/dist/Modal/Modal.d.ts +6 -6
- package/dist/Modal/Modal.js +2 -2
- package/dist/Modal/Modal.js.map +1 -1
- package/dist/Modal/Modal.styles.d.ts +27 -19
- package/dist/Modal/Modal.styles.js +13 -13
- package/dist/MultiSelect/MultiSelect.js +5 -5
- package/dist/MultiSelect/MultiSelect.js.map +1 -1
- package/dist/MultiSelect/MultiSelect.styles.d.ts +19 -13
- package/dist/MultiSelect/MultiSelect.styles.js +6 -6
- package/dist/NextMenu/NextMenu.styles.d.ts +4 -3
- package/dist/NextMenu/NextMenu.styles.js +3 -3
- package/dist/Notation/Notation.js +5 -5
- package/dist/Notation/Notation.js.map +1 -1
- package/dist/NumberInput/NumberInput.hooks.d.ts +1 -1
- package/dist/NumberInput/NumberInput.styles.d.ts +16 -10
- package/dist/NumberInput/NumberInput.styles.js +7 -7
- package/dist/Overlay/OverlayArrow.styles.d.ts +2 -1
- package/dist/Overlay/OverlayArrow.styles.js +1 -1
- package/dist/OverlayTrigger/a11yPresets.d.ts +20 -20
- package/dist/PageLayout/PageLayout.styles.d.ts +33 -24
- package/dist/PageLayout/PageLayout.styles.js +16 -16
- package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.styles.d.ts +2 -1
- package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.styles.js +1 -1
- package/dist/PageTemplate/PageHeaderTemplate/PageHeaderTemplate.d.ts +3 -1
- package/dist/PageTemplate/PageHeaderTemplate/PageHeaderTemplate.js.map +1 -1
- package/dist/PageTemplate/PageHeaderTemplate/PageHeaderTemplate.styles.d.ts +10 -4
- package/dist/PageTemplate/PageHeaderTemplate/PageHeaderTemplate.styles.js +3 -3
- package/dist/PageTemplate/PagePaneTemplate/PagePaneTemplate.styles.d.ts +12 -8
- package/dist/PageTemplate/PagePaneTemplate/PagePaneTemplate.styles.js +2 -2
- package/dist/PageTemplate/PageTemplate/PageTemplate.styles.d.ts +5 -3
- package/dist/PageTemplate/PageTemplate/PageTemplate.styles.js +3 -3
- package/dist/Pagination/Pagination.styles.d.ts +13 -5
- package/dist/Pagination/Pagination.styles.js +5 -5
- package/dist/Panel/Panel.js +1 -1
- package/dist/Panel/Panel.js.map +1 -1
- package/dist/Panel/Panel.styles.d.ts +19 -15
- package/dist/Panel/Panel.styles.js +19 -19
- package/dist/Panel/Panel.styles.js.map +1 -1
- package/dist/Pill/Pill.styles.d.ts +9 -5
- package/dist/Pill/Pill.styles.js +2 -2
- package/dist/PillSelect/PillSelect.styles.d.ts +7 -5
- package/dist/PillSelect/PillSelect.styles.js +4 -4
- package/dist/Popover/Popover.styles.d.ts +3 -2
- package/dist/Popover/Popover.styles.js +2 -2
- package/dist/Portal/Portal.styles.d.ts +2 -1
- package/dist/Portal/Portal.styles.js +1 -1
- package/dist/ProgressBar/ProgressBar.styles.d.ts +3 -3
- package/dist/ProgressBar/ProgressBar.styles.js +2 -2
- package/dist/RadioButton/RadioButton.styles.d.ts +5 -4
- package/dist/RadioButton/RadioButton.styles.js +3 -3
- package/dist/Required/Required.styles.d.ts +5 -4
- package/dist/Required/Required.styles.js +3 -3
- package/dist/Search/Search.js +6 -2
- package/dist/Search/Search.js.map +1 -1
- package/dist/Search/Search.styles.d.ts +11 -12
- package/dist/Search/Search.styles.js +13 -7
- package/dist/Search/Search.styles.js.map +1 -1
- package/dist/Section/Section.styles.d.ts +11 -9
- package/dist/Section/Section.styles.js +7 -7
- package/dist/SegmentedController/SegmentedController.js +1 -1
- package/dist/SegmentedController/SegmentedController.js.map +1 -1
- package/dist/SegmentedController/SegmentedController.styles.d.ts +8 -7
- package/dist/SegmentedController/SegmentedController.styles.js +9 -9
- package/dist/SegmentedController/SegmentedController.styles.js.map +1 -1
- package/dist/Select/Select.js +4 -4
- package/dist/Select/Select.js.map +1 -1
- package/dist/Select/Select.styles.d.ts +13 -9
- package/dist/Select/Select.styles.js +7 -7
- package/dist/Semantic/Semantic.styles.d.ts +359 -20
- package/dist/Semantic/Semantic.styles.js +11 -12
- package/dist/Semantic/Semantic.styles.js.map +1 -1
- package/dist/Slider/Slider.styles.d.ts +9 -7
- package/dist/Slider/Slider.styles.js +5 -5
- package/dist/Spinner/Spinner.styles.d.ts +9 -8
- package/dist/Spinner/Spinner.styles.js +7 -7
- package/dist/SplitViewCard/SplitViewCard.styles.d.ts +13 -11
- package/dist/SplitViewCard/SplitViewCard.styles.js +8 -8
- package/dist/SuperSelect/SuperSelect.components.d.ts +1 -1
- package/dist/SuperSelect/SuperSelect.components.js.map +1 -1
- package/dist/SuperSelect/SuperSelect.presets.styles.d.ts +3 -1
- package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
- package/dist/SuperSelect/SuperSelect.styles.d.ts +67 -54
- package/dist/SuperSelect/SuperSelect.styles.js +37 -37
- package/dist/SuperSelect/SuperSelect.styles.js.map +1 -1
- package/dist/SuperSelect/SuperSelect.types.d.ts +9 -8
- package/dist/SuperSelect/SuperSelect.types.js.map +1 -1
- package/dist/SuperSelect/presets/filterPreset.js.map +1 -1
- package/dist/SuperSelect/useSuperSelect.js.map +1 -1
- package/dist/Switch/Switch.styles.d.ts +6 -5
- package/dist/Switch/Switch.styles.js +4 -4
- package/dist/Table/Table.d.ts +7 -3
- package/dist/Table/Table.js.map +1 -1
- package/dist/Table/Table.styles.d.ts +69 -45
- package/dist/Table/Table.styles.js +28 -28
- package/dist/TableShelf/TableShelf.styles.d.ts +6 -5
- package/dist/TableShelf/TableShelf.styles.js +5 -5
- package/dist/Tabs/Tabs.styles.d.ts +31 -9
- package/dist/Tabs/Tabs.styles.js +15 -15
- package/dist/Tearsheet/Tearsheet.styles.d.ts +12 -10
- package/dist/Tearsheet/Tearsheet.styles.js +6 -6
- package/dist/Tearsheet/Tearsheet.styles.js.map +1 -1
- package/dist/TextArea/TextArea.js +6 -2
- package/dist/TextArea/TextArea.js.map +1 -1
- package/dist/TextArea/TextArea.styles.d.ts +7 -1
- package/dist/TextArea/TextArea.styles.js +2 -2
- package/dist/TextArea/TextArea.styles.js.map +1 -1
- package/dist/TextEditor/TextEditor.styles.d.ts +3 -2
- package/dist/TextEditorOutput/TextEditorOutput.styles.d.ts +2 -1
- package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
- package/dist/Thumbnail/Thumbnail.hooks.d.ts +131 -141
- package/dist/Thumbnail/Thumbnail.js +69 -56
- package/dist/Thumbnail/Thumbnail.js.map +1 -1
- package/dist/Thumbnail/Thumbnail.styles.d.ts +34 -32
- package/dist/Thumbnail/Thumbnail.styles.js +78 -79
- package/dist/Thumbnail/Thumbnail.styles.js.map +1 -1
- package/dist/Thumbnail/Thumbnail.types.d.ts +1 -1
- package/dist/Thumbnail/Thumbnail.types.js.map +1 -1
- package/dist/Thumbnail/ThumbnailCaption.js +10 -10
- package/dist/Thumbnail/ThumbnailCaption.js.map +1 -1
- package/dist/ThumbnailGrid/ThumbnailGrid.js +2 -2
- package/dist/ThumbnailGrid/ThumbnailGrid.js.map +1 -1
- package/dist/ThumbnailGrid/ThumbnailGrid.styles.d.ts +20 -8
- package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
- package/dist/TieredSelect/TierSelectionTieredSelect.js +9 -9
- package/dist/TieredSelect/TierSelectionTieredSelect.js.map +1 -1
- package/dist/TieredSelect/TieredSelect.styles.d.ts +29 -13
- package/dist/TieredSelect/TieredSelect.styles.js +9 -9
- package/dist/TieredSelect/TieredSelect.types.d.ts +1 -1
- package/dist/TieredSelect/TieredSelect.types.js.map +1 -1
- package/dist/TieredSelect/TieredSelectMenu.js +10 -10
- package/dist/TieredSelect/TieredSelectMenu.js.map +1 -1
- package/dist/Tile/Tile.js +1 -1
- package/dist/Tile/Tile.js.map +1 -1
- package/dist/Tile/Tile.styles.d.ts +13 -11
- package/dist/Tile/Tile.styles.js +8 -8
- package/dist/Title/Title.styles.d.ts +12 -8
- package/dist/Title/Title.styles.js +7 -7
- package/dist/Toast/Toast.styles.d.ts +7 -5
- package/dist/Toast/Toast.styles.js +3 -3
- package/dist/ToggleButton/ToggleButton.styles.d.ts +4 -2
- package/dist/ToggleButton/ToggleButton.styles.js +1 -1
- package/dist/Token/Token.styles.d.ts +9 -5
- package/dist/Token/Token.styles.js +3 -3
- package/dist/ToolHeader/ToolHeader.d.ts +8 -4
- package/dist/ToolHeader/ToolHeader.styles.d.ts +9 -7
- package/dist/ToolHeader/ToolHeader.styles.js +8 -8
- package/dist/ToolHeader/ToolHeader.styles.js.map +1 -1
- package/dist/ToolLandingPage/ToolLandingPage.styles.d.ts +5 -3
- package/dist/ToolLandingPage/ToolLandingPage.styles.js +3 -3
- package/dist/Tooltip/Tooltip.js +3 -4
- package/dist/Tooltip/Tooltip.js.map +1 -1
- package/dist/Tooltip/Tooltip.styles.d.ts +3 -2
- package/dist/Tooltip/Tooltip.styles.js +3 -3
- package/dist/Tooltip/Tooltip.styles.js.map +1 -1
- package/dist/Tree/Tree.styles.d.ts +24 -12
- package/dist/Tree/Tree.styles.js +9 -9
- package/dist/Typeahead/Typeahead.js +1 -1
- package/dist/Typeahead/Typeahead.js.map +1 -1
- package/dist/Typeahead/Typeahead.styles.d.ts +5 -7
- package/dist/Typeahead/Typeahead.styles.js +3 -3
- package/dist/Typography/Typography.styles.d.ts +5 -4
- package/dist/Typography/Typography.styles.js +1 -1
- package/dist/Typography/Typography.styles.js.map +1 -1
- package/dist/Typography/Typography.table.story.js +2 -2
- package/dist/_hooks/ClickOutside.js +19 -5
- package/dist/_hooks/ClickOutside.js.map +1 -1
- package/dist/_hooks/I18n.d.ts +44 -9
- package/dist/_hooks/I18n.js +63 -28
- package/dist/_hooks/I18n.js.map +1 -1
- package/dist/_styles/arrows.d.ts +4 -4
- package/dist/_styles/borderRadius.d.ts +1 -1
- package/dist/_styles/mixins.d.ts +7 -7
- package/dist/_styles/shadows.d.ts +1 -1
- package/dist/_typedoc/AnchorNavigation/AnchorNavigation.types.json +3 -3
- package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
- package/dist/_typedoc/AvatarStack/AvatarStack.types.json +24 -24
- package/dist/_typedoc/Badge/Badge.types.json +6 -6
- package/dist/_typedoc/Banner/Banner.types.json +13 -13
- package/dist/_typedoc/Box/Box.types.json +77 -77
- package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
- package/dist/_typedoc/Button/Button.types.json +13 -13
- package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
- package/dist/_typedoc/Card/Card.types.json +6 -6
- package/dist/_typedoc/Checkbox/Checkbox.types.json +9 -9
- package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
- package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
- package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
- package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
- package/dist/_typedoc/Dropdown/Dropdown.types.json +37 -37
- package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +39 -29
- 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 +747 -747
- package/dist/_typedoc/GhostPlaceholder/GhostPlaceholder.types.json +12 -12
- package/dist/_typedoc/Grid/Grid.types.json +8 -8
- package/dist/_typedoc/GroupSelect/GroupSelect.types.json +52 -52
- package/dist/_typedoc/Input/Input.types.json +2 -2
- package/dist/_typedoc/Link/Link.types.json +11 -6
- package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
- package/dist/_typedoc/Menu/Menu.types.json +62 -62
- package/dist/_typedoc/MenuImperative/MenuImperative.types.json +74 -74
- package/dist/_typedoc/Modal/Modal.types.json +46 -46
- package/dist/_typedoc/MultiSelect/MultiSelect.types.json +31 -31
- package/dist/_typedoc/Notation/Notation.types.json +4 -4
- package/dist/_typedoc/NumberInput/NumberInput.types.json +37 -37
- package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +31 -31
- package/dist/_typedoc/PageLayout/PageLayout.types.json +29 -29
- package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
- package/dist/_typedoc/Panel/Panel.types.json +28 -28
- package/dist/_typedoc/Pill/Pill.types.json +2 -2
- package/dist/_typedoc/PillSelect/PillSelect.types.json +49 -49
- package/dist/_typedoc/Popover/Popover.types.json +15 -15
- 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 +15 -15
- package/dist/_typedoc/SegmentedController/SegmentedController.types.json +21 -21
- package/dist/_typedoc/Select/Select.types.json +60 -60
- package/dist/_typedoc/SettingsPage/SettingsPage.types.json +10 -10
- package/dist/_typedoc/Slider/Slider.types.json +6 -6
- package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
- package/dist/_typedoc/SplitViewCard/SplitViewCard.types.json +12 -12
- package/dist/_typedoc/Switch/Switch.types.json +3 -3
- package/dist/_typedoc/Table/Table.types.json +101 -101
- package/dist/_typedoc/Tabs/Tabs.types.json +20 -20
- 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 +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 +44 -44
- package/dist/_typedoc/TieredSelect/TieredSelect.types.json +30 -30
- package/dist/_typedoc/Tile/Tile.types.json +30 -30
- 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 +6 -6
- package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
- package/dist/_typedoc/ToolLandingPage/ToolLandingPage.types.json +7 -7
- package/dist/_typedoc/Tooltip/Tooltip.types.json +13 -13
- package/dist/_typedoc/Tree/Tree.types.json +86 -86
- package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
- package/dist/_typedoc/Typography/Typography.types.json +9 -9
- package/dist/_typedoc/_utils/types.json +3 -3
- package/package.json +90 -91
package/dist/Modal/Modal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.js","names":["Clear","React","useEffect","Button","useModalDialogLike","Portal","Heading","LevelContext","Section","SectionProvider","useDeprecation","useLayoutEventListener","OverridableFocusScope","useI18nContext","useOverflowObserver","useScrollLock","Visibility","addSubcomponents","CloseWithConfirmContext","useCloseWithConfirmContext","useCloseWithConfirmState","mergeRefs","ChildRegistryProvider","useModalChildRegistryDispatch","fadeInClassName","fadeOutClassName","StyledModal","StyledModalBody","StyledModalButtons","StyledModalCancel","StyledModalContainer","StyledModalContent","StyledModalFooter","StyledModalFooterNotation","StyledModalFooterSummary","StyledModalHeader","StyledModalHeading","StyledModalScrim","StyledModalWarningIcon","useInitializeModalFocus","noop","defaultStartLevel","initialBodyLevel","ModalCloseContext","createContext","howToClose","onClose","undefined","ModalBodyScrollContext","isBodyScrolled","setIsBodyScrolled","ModalClosableHeader","forwardRef","_ref","ref","children","_ref$compact","compact","externalOnClose","qa","props","_objectWithoutProperties","_excluded","_React$useContext","useContext","_React$useContext2","I18n","modalClosableHeaderRef","useRef","_useCloseWithConfirmC","closeWithConfirm","registerChildRef","child","onClickButton","e","includes","createElement","_extends","$compact","$isBodyScrolled","t","closeButton","icon","onClick","size","variant","ModalClosableFooterButtons","_ref2","_excluded2","_React$useContext3","_useCloseWithConfirmC2","modalClosableFooterButtonsRef","ModalContainer","_ref3","_ref3$compact","placement","width","_excluded3","_React$useContext4","modalContainerRef","hasOnClose","shadowStrength","$placement","$width","ModalBody","_ref4","_ref4$compact","_ref4$noSideSpacing","noSideSpacing","_excluded4","_useOverflowObserver","isOverflowingY","overflowRef","scrollRef","modalBodyRef","_React$useContext5","event","handler","currentTarget","scrollTop","scope","Provider","value","$isOverflowingY","$noSideSpacing","tabIndex","ModalFooterSummary","_ref5","_excluded5","ModalFooterNotation","_ref6","_excluded6","intent","color","italic","Modal_","_ref7","ariaDescribedby","ariaDetails","ariaLabelledby","ariaLabel","_ref7$compact","id","_ref7$onClickOverlay","onClickOverlay","_ref7$open","open","_ref7$placement","role","_excluded7","_React$useState","useState","_React$useState2","_slicedToArray","visible","setVisible","_React$useState3","_React$useState4","fadeType","setFadeType","closeWithConfirmState","fadeTimer","setTimeout","clearTimeout","onTransitionEnd","handleKeyDown","key","preventDefault","stopPropagation","_useModalDialogLike","isModal","isOpen","dialogProps_","dialogProps","onClickScrim","autoFocus","contain","restoreFocus","className","onKeyDown","ModalBodyScrollObserver","_ref8","_React$useState5","_React$useState6","ConfirmModal","_ref9","headline","_excluded8","Modal","ModalState","oldThing","displayName","Body","Container","Content","FooterSummary","Footer","FooterButtons","FooterNotation","Header","Overlay","Scrim","State"],"sources":["../../src/Modal/Modal.tsx"],"sourcesContent":["import { Clear } from '@procore/core-icons/dist'\nimport React, { useEffect } from 'react'\nimport { Button } from '../Button/Button'\nimport { useModalDialogLike } from '../OverlayTrigger/a11yPresets'\nimport { Portal } from '../Portal/Portal'\nimport {\n Heading,\n LevelContext,\n Section,\n SectionProvider,\n} from '../Section/Section'\nimport type { TypographyProps } from '../Typography/Typography.types'\nimport { useDeprecation } from '../_hooks/Deprecation'\nimport { useLayoutEventListener } from '../_hooks/EventListener'\nimport { OverridableFocusScope } from '../_hooks/FocusScopeOverride'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { useOverflowObserver } from '../_hooks/OverflowObserver'\nimport { useScrollLock } from '../_hooks/ScrollLock'\nimport type { RenderProps } from '../_hooks/Visibility'\nimport { Visibility } from '../_hooks/Visibility'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport {\n CloseWithConfirmContext,\n useCloseWithConfirmContext,\n useCloseWithConfirmState,\n} from '../_utils/closeWithConfirm'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport type { DivAttributes, SpanAttributes } from '../_utils/types'\nimport {\n ChildRegistryProvider,\n useModalChildRegistryDispatch,\n} from './ChildRegistry.context'\nimport {\n fadeInClassName,\n fadeOutClassName,\n StyledModal,\n StyledModalBody,\n StyledModalButtons,\n StyledModalCancel,\n StyledModalContainer,\n StyledModalContent,\n StyledModalFooter,\n StyledModalFooterNotation,\n StyledModalFooterSummary,\n StyledModalHeader,\n StyledModalHeading,\n StyledModalScrim,\n StyledModalWarningIcon,\n} from './Modal.styles'\nimport type {\n ConfirmModalProps,\n ModalBodyProps,\n ModalCloseableHeaderProps,\n ModalCloseContextApi,\n ModalContainerProps,\n ModalProps,\n} from './Modal.types'\nimport { useInitializeModalFocus } from './useInitializeModalFocus'\n\nfunction noop() {}\nconst defaultStartLevel = 2\nconst initialBodyLevel = 3\n\nconst ModalCloseContext = React.createContext<ModalCloseContextApi>({\n howToClose: [],\n onClose: undefined,\n})\n\ninterface ModalBodyScrollContextApi {\n isBodyScrolled: boolean\n setIsBodyScrolled: React.Dispatch<React.SetStateAction<boolean>>\n}\n\nconst ModalBodyScrollContext = React.createContext<ModalBodyScrollContextApi>({\n isBodyScrolled: false,\n setIsBodyScrolled: noop,\n})\n\nconst ModalClosableHeader = React.forwardRef<\n HTMLDivElement,\n ModalCloseableHeaderProps\n>(\n (\n { children, compact = false, onClose: externalOnClose, qa, ...props },\n ref\n ) => {\n const { isBodyScrolled } = React.useContext(ModalBodyScrollContext)\n const { howToClose, onClose } = React.useContext(ModalCloseContext)\n const I18n = useI18nContext()\n const modalClosableHeaderRef = React.useRef(null)\n\n const { closeWithConfirm } = useCloseWithConfirmContext()\n const registerChildRef = useModalChildRegistryDispatch()\n\n useEffect(() => {\n registerChildRef({ child: 'header', ref: modalClosableHeaderRef })\n }, [])\n\n function onClickButton(e: React.MouseEvent<HTMLButtonElement>) {\n if (onClose && howToClose?.includes('x')) {\n closeWithConfirm(onClose)(e, 'x')\n return\n }\n closeWithConfirm(externalOnClose!)(e)\n }\n\n return (\n <StyledModalHeader\n $compact={compact}\n $isBodyScrolled={isBodyScrolled}\n {...props}\n ref={mergeRefs(ref, modalClosableHeaderRef)}\n >\n <StyledModalHeading $compact={compact}>{children}</StyledModalHeading>\n {(onClose && howToClose?.includes('x')) || externalOnClose ? (\n <StyledModalCancel>\n <Button\n aria-label={I18n.t('core.modal.a11y.close')}\n data-internal=\"close-button\"\n data-qa={qa?.closeButton}\n icon={<Clear />}\n onClick={onClickButton}\n size={compact ? 'sm' : 'md'}\n variant=\"tertiary\"\n />\n </StyledModalCancel>\n ) : null}\n </StyledModalHeader>\n )\n }\n)\n\nconst ModalClosableFooterButtons = React.forwardRef<\n HTMLDivElement,\n ModalCloseableHeaderProps\n>(({ children, ...props }, ref) => {\n const { howToClose, onClose } = React.useContext(ModalCloseContext)\n const I18n = useI18nContext()\n const { closeWithConfirm } = useCloseWithConfirmContext()\n const modalClosableFooterButtonsRef = React.useRef(null)\n\n const registerChildRef = useModalChildRegistryDispatch()\n\n useEffect(() => {\n registerChildRef({\n child: 'closeableButtons',\n ref: modalClosableFooterButtonsRef,\n })\n }, [])\n\n function onClickButton(e: React.MouseEvent<HTMLButtonElement>) {\n closeWithConfirm(onClose!)(e, 'footer-button')\n }\n\n return (\n <StyledModalButtons\n {...props}\n ref={mergeRefs(ref, modalClosableFooterButtonsRef)}\n >\n {howToClose?.includes('footer-button') && (\n <Button onClick={onClickButton} variant=\"tertiary\">\n {I18n.t('core.modal.cancel')}\n </Button>\n )}\n {children}\n </StyledModalButtons>\n )\n})\n\nconst ModalContainer = React.forwardRef<HTMLDivElement, ModalContainerProps>(\n ({ compact = false, placement, width, ...props }, ref) => {\n const { onClose } = React.useContext(ModalCloseContext)\n const modalContainerRef = React.useRef<HTMLDivElement>(null)\n useInitializeModalFocus({ modalContainerRef, hasOnClose: !!onClose })\n\n return (\n <StyledModalContainer\n {...props}\n shadowStrength={4}\n $compact={compact}\n $placement={placement}\n $width={width}\n ref={mergeRefs(ref, modalContainerRef)}\n />\n )\n }\n)\n\nconst ModalBody = React.forwardRef<HTMLDivElement, ModalBodyProps>(\n ({ children, compact = false, noSideSpacing = false, ...props }, ref) => {\n const { isOverflowingY, ref: overflowRef } = useOverflowObserver()\n const scrollRef = React.useRef(null)\n const modalBodyRef = React.useRef(null)\n const { setIsBodyScrolled } = React.useContext(ModalBodyScrollContext)\n const registerChildRef = useModalChildRegistryDispatch()\n\n useEffect(() => {\n registerChildRef({ child: 'body', ref: modalBodyRef })\n }, [])\n\n useLayoutEventListener({\n event: 'scroll',\n handler: (e: React.UIEvent<HTMLElement>) => {\n setIsBodyScrolled(e.currentTarget.scrollTop > 0)\n },\n scope: scrollRef,\n })\n\n return (\n <SectionProvider>\n <LevelContext.Provider value={initialBodyLevel}>\n <StyledModalBody\n {...props}\n $compact={compact}\n $isOverflowingY={isOverflowingY}\n $noSideSpacing={noSideSpacing}\n ref={mergeRefs(overflowRef, scrollRef, ref, modalBodyRef)}\n tabIndex={0}\n >\n {children}\n </StyledModalBody>\n </LevelContext.Provider>\n </SectionProvider>\n )\n }\n)\n\nconst ModalFooterSummary = React.forwardRef<HTMLDivElement, DivAttributes>(\n ({ children, ...props }, ref) => {\n return (\n <StyledModalFooterSummary {...props} ref={ref}>\n {children}\n </StyledModalFooterSummary>\n )\n }\n)\n\nconst ModalFooterNotation = React.forwardRef<\n HTMLSpanElement,\n SpanAttributes & TypographyProps\n>(({ children, ...props }, ref) => (\n <StyledModalFooterNotation\n aria-live=\"polite\"\n intent=\"small\"\n color=\"gray45\"\n italic\n {...props}\n ref={ref}\n >\n {children}\n </StyledModalFooterNotation>\n))\n\nconst Modal_ = React.forwardRef<HTMLDivElement, ModalProps>(\n (\n {\n ['aria-describedby']: ariaDescribedby,\n ['aria-details']: ariaDetails,\n ['aria-labelledby']: ariaLabelledby,\n ['aria-label']: ariaLabel,\n children,\n compact = false,\n howToClose,\n id,\n onClickOverlay = noop,\n onClose,\n open = false,\n placement = 'center',\n role,\n ...props\n },\n ref\n ) => {\n useScrollLock(open)\n const [visible, setVisible] = React.useState<boolean>(open)\n const [fadeType, setFadeType] = React.useState<string>('')\n const closeWithConfirmState = useCloseWithConfirmState()\n const { closeWithConfirm } = closeWithConfirmState\n\n React.useEffect(() => {\n if (open) {\n setVisible(true)\n const fadeTimer = setTimeout(() => {\n setFadeType(fadeInClassName)\n }, 0)\n return () => clearTimeout(fadeTimer)\n } else {\n setFadeType(fadeOutClassName)\n }\n }, [open])\n\n const onTransitionEnd = () => {\n if (fadeType === fadeOutClassName) {\n setVisible(false)\n }\n }\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n if (!onClose) return\n if (e.key === 'Escape') {\n e.preventDefault()\n e.stopPropagation()\n closeWithConfirm(onClose)(e, 'x')\n }\n }\n\n const { dialogProps: dialogProps_ } = useModalDialogLike({\n 'aria-describedby': ariaDescribedby,\n 'aria-details': ariaDetails,\n 'aria-labelledby': ariaLabelledby,\n 'aria-label': ariaLabel,\n id,\n isModal: false,\n isOpen: open,\n role,\n })\n\n const dialogProps = onClose && role === 'dialog' ? dialogProps_ : {}\n\n function onClickScrim(\n e: React.ComponentProps<typeof StyledModalScrim>['onClick']\n ) {\n onClickOverlay(e)\n if (onClose && howToClose?.includes('scrim')) {\n closeWithConfirm(onClose)(e, 'scrim')\n }\n }\n\n return visible ? (\n <Portal>\n <ModalCloseContext.Provider value={{ onClose, howToClose }}>\n <LevelContext.Provider value={defaultStartLevel}>\n <ChildRegistryProvider>\n <OverridableFocusScope\n // TODO breaking - always\n autoFocus={!!onClose}\n contain={!!onClose}\n restoreFocus={!!onClose}\n >\n <StyledModal\n className={fadeType}\n ref={ref}\n onTransitionEnd={onTransitionEnd}\n onKeyDown={handleKeyDown}\n {...dialogProps}\n >\n <StyledModalScrim\n data-qa=\"core-modal-scrim\"\n onClick={onClickScrim}\n />\n\n <ModalContainer\n {...props}\n compact={compact}\n placement={placement}\n >\n <StyledModalContent $compact={compact}>\n <ModalBodyScrollObserver>\n <CloseWithConfirmContext.Provider\n value={closeWithConfirmState}\n >\n {children}\n </CloseWithConfirmContext.Provider>\n </ModalBodyScrollObserver>\n </StyledModalContent>\n </ModalContainer>\n </StyledModal>\n </OverridableFocusScope>\n </ChildRegistryProvider>\n </LevelContext.Provider>\n </ModalCloseContext.Provider>\n </Portal>\n ) : null\n }\n)\n\nfunction ModalBodyScrollObserver({ children }: { children: React.ReactNode }) {\n const [isBodyScrolled, setIsBodyScrolled] = React.useState<boolean>(false)\n\n return (\n <ModalBodyScrollContext.Provider\n value={{ isBodyScrolled, setIsBodyScrolled }}\n >\n {children}\n </ModalBodyScrollContext.Provider>\n )\n}\n\nexport const ConfirmModal = React.forwardRef<HTMLDivElement, ConfirmModalProps>(\n ({ children, headline, onClose, ...props }, ref) => {\n return (\n <Modal {...props} ref={ref}>\n <ModalClosableHeader onClose={onClose}>\n <StyledModalWarningIcon size=\"lg\" />\n {headline}\n </ModalClosableHeader>\n {children}\n </Modal>\n )\n }\n)\n\nfunction ModalState(props: RenderProps) {\n useDeprecation({ oldThing: 'Modal.State' })\n return <Visibility {...props} />\n}\n\nModal_.displayName = 'Modal'\n\nConfirmModal.displayName = 'ConfirmModal'\n\nModalBody.displayName = 'Modal.Body'\n\nModalFooterNotation.displayName = 'Modal.FooterNotation'\n\nModalFooterSummary.displayName = 'Modal.FooterSummary'\n\nconst Body = ModalBody\nconst Container = ModalContainer\nconst Content = StyledModalContent\nconst FooterSummary = ModalFooterSummary\nconst Footer = StyledModalFooter\nconst FooterButtons = ModalClosableFooterButtons\nconst FooterNotation = ModalFooterNotation\nconst Header = ModalClosableHeader\nconst Overlay = StyledModal\nconst Scrim = StyledModalScrim\nconst State = ModalState\n\n/**\n\n We use modals to present additional actions, information, or forms on pages\n where a user’s experience would benefit from remaining on the same page.\n They can include graphics, inputs, buttons, and other elements as needed to\n produce the workflow or action needed.\n\n Do not include modals on pages with complicated UI layouts.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-modal--demo)\n\n @see [Design Guidelines](https://design.procore.com/modal)\n\n */\nexport const Modal = addSubcomponents(\n {\n Body,\n Container,\n Content,\n Footer,\n FooterButtons,\n FooterNotation,\n FooterSummary,\n Header,\n Heading: Heading,\n Overlay,\n Scrim,\n State,\n Section,\n },\n Modal_\n)\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Modal.js","names":["Clear","React","useEffect","Button","useModalDialogLike","Portal","Heading","LevelContext","Section","SectionProvider","useDeprecation","useLayoutEventListener","OverridableFocusScope","useI18nContext","useOverflowObserver","useScrollLock","Visibility","addSubcomponents","CloseWithConfirmContext","useCloseWithConfirmContext","useCloseWithConfirmState","mergeRefs","ChildRegistryProvider","useModalChildRegistryDispatch","fadeInClassName","fadeOutClassName","StyledModal","StyledModalBody","StyledModalButtons","StyledModalCancel","StyledModalContainer","StyledModalContent","StyledModalFooter","StyledModalFooterNotation","StyledModalFooterSummary","StyledModalHeader","StyledModalHeading","StyledModalScrim","StyledModalWarningIcon","useInitializeModalFocus","noop","defaultStartLevel","initialBodyLevel","ModalCloseContext","createContext","howToClose","onClose","undefined","ModalBodyScrollContext","isBodyScrolled","setIsBodyScrolled","ModalClosableHeader","forwardRef","_ref","ref","children","_ref$compact","compact","externalOnClose","qa","props","_objectWithoutProperties","_excluded","_React$useContext","useContext","_React$useContext2","I18n","modalClosableHeaderRef","useRef","_useCloseWithConfirmC","closeWithConfirm","registerChildRef","child","onClickButton","e","includes","createElement","_extends","$compact","$isBodyScrolled","t","closeButton","icon","onClick","size","variant","ModalClosableFooterButtons","_ref2","_excluded2","_React$useContext3","_useCloseWithConfirmC2","modalClosableFooterButtonsRef","ModalContainer","_ref3","_ref3$compact","placement","width","_excluded3","_React$useContext4","modalContainerRef","hasOnClose","shadowStrength","$placement","$width","ModalBody","_ref4","_ref4$compact","_ref4$noSideSpacing","noSideSpacing","_excluded4","_useOverflowObserver","isOverflowingY","overflowRef","scrollRef","modalBodyRef","_React$useContext5","event","handler","currentTarget","scrollTop","scope","Provider","value","$isOverflowingY","$noSideSpacing","tabIndex","ModalFooterSummary","_ref5","_excluded5","ModalFooterNotation","_ref6","_excluded6","intent","color","italic","Modal_","_ref7","ariaDescribedby","ariaDetails","ariaLabelledby","ariaLabel","_ref7$compact","id","_ref7$onClickOverlay","onClickOverlay","_ref7$open","open","_ref7$placement","role","_excluded7","_React$useState","useState","_React$useState2","_slicedToArray","visible","setVisible","_React$useState3","_React$useState4","fadeType","setFadeType","closeWithConfirmState","fadeTimer","setTimeout","clearTimeout","onTransitionEnd","handleKeyDown","key","preventDefault","stopPropagation","_useModalDialogLike","isModal","isOpen","dialogProps_","dialogProps","onClickScrim","autoFocus","contain","restoreFocus","className","onKeyDown","ModalBodyScrollObserver","_ref8","_React$useState5","_React$useState6","ConfirmModal","_ref9","headline","_excluded8","Modal","ModalState","oldThing","displayName","Body","Container","Content","FooterSummary","Footer","FooterButtons","FooterNotation","Header","Overlay","Scrim","State"],"sources":["../../src/Modal/Modal.tsx"],"sourcesContent":["import { Clear } from '@procore/core-icons/dist'\nimport React, { useEffect } from 'react'\nimport { Button } from '../Button'\nimport { useModalDialogLike } from '../OverlayTrigger/a11yPresets'\nimport { Portal } from '../Portal'\nimport {\n Heading,\n LevelContext,\n Section,\n SectionProvider,\n} from '../Section/Section'\nimport type { TypographyProps } from '../Typography'\nimport { useDeprecation } from '../_hooks/Deprecation'\nimport { useLayoutEventListener } from '../_hooks/EventListener'\nimport { OverridableFocusScope } from '../_hooks/FocusScopeOverride'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { useOverflowObserver } from '../_hooks/OverflowObserver'\nimport { useScrollLock } from '../_hooks/ScrollLock'\nimport type { RenderProps } from '../_hooks/Visibility'\nimport { Visibility } from '../_hooks/Visibility'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport {\n CloseWithConfirmContext,\n useCloseWithConfirmContext,\n useCloseWithConfirmState,\n} from '../_utils/closeWithConfirm'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport type { DivAttributes, SpanAttributes } from '../_utils/types'\nimport {\n ChildRegistryProvider,\n useModalChildRegistryDispatch,\n} from './ChildRegistry.context'\nimport {\n fadeInClassName,\n fadeOutClassName,\n StyledModal,\n StyledModalBody,\n StyledModalButtons,\n StyledModalCancel,\n StyledModalContainer,\n StyledModalContent,\n StyledModalFooter,\n StyledModalFooterNotation,\n StyledModalFooterSummary,\n StyledModalHeader,\n StyledModalHeading,\n StyledModalScrim,\n StyledModalWarningIcon,\n} from './Modal.styles'\nimport type {\n ConfirmModalProps,\n ModalBodyProps,\n ModalCloseableHeaderProps,\n ModalCloseContextApi,\n ModalContainerProps,\n ModalProps,\n} from './Modal.types'\nimport { useInitializeModalFocus } from './useInitializeModalFocus'\n\nfunction noop() {}\nconst defaultStartLevel = 2\nconst initialBodyLevel = 3\n\nconst ModalCloseContext = React.createContext<ModalCloseContextApi>({\n howToClose: [],\n onClose: undefined,\n})\n\ninterface ModalBodyScrollContextApi {\n isBodyScrolled: boolean\n setIsBodyScrolled: React.Dispatch<React.SetStateAction<boolean>>\n}\n\nconst ModalBodyScrollContext = React.createContext<ModalBodyScrollContextApi>({\n isBodyScrolled: false,\n setIsBodyScrolled: noop,\n})\n\nconst ModalClosableHeader = React.forwardRef<\n HTMLDivElement,\n ModalCloseableHeaderProps\n>(\n (\n { children, compact = false, onClose: externalOnClose, qa, ...props },\n ref\n ) => {\n const { isBodyScrolled } = React.useContext(ModalBodyScrollContext)\n const { howToClose, onClose } = React.useContext(ModalCloseContext)\n const I18n = useI18nContext()\n const modalClosableHeaderRef = React.useRef(null)\n\n const { closeWithConfirm } = useCloseWithConfirmContext()\n const registerChildRef = useModalChildRegistryDispatch()\n\n useEffect(() => {\n registerChildRef({ child: 'header', ref: modalClosableHeaderRef })\n }, [])\n\n function onClickButton(e: React.MouseEvent<HTMLButtonElement>) {\n if (onClose && howToClose?.includes('x')) {\n closeWithConfirm(onClose)(e, 'x')\n return\n }\n closeWithConfirm(externalOnClose!)(e)\n }\n\n return (\n <StyledModalHeader\n $compact={compact}\n $isBodyScrolled={isBodyScrolled}\n {...props}\n ref={mergeRefs(ref, modalClosableHeaderRef)}\n >\n <StyledModalHeading $compact={compact}>{children}</StyledModalHeading>\n {(onClose && howToClose?.includes('x')) || externalOnClose ? (\n <StyledModalCancel>\n <Button\n aria-label={I18n.t('core.modal.a11y.close')}\n data-internal=\"close-button\"\n data-qa={qa?.closeButton}\n icon={<Clear />}\n onClick={onClickButton}\n size={compact ? 'sm' : 'md'}\n variant=\"tertiary\"\n />\n </StyledModalCancel>\n ) : null}\n </StyledModalHeader>\n )\n }\n)\n\nconst ModalClosableFooterButtons = React.forwardRef<\n HTMLDivElement,\n ModalCloseableHeaderProps\n>(({ children, ...props }, ref) => {\n const { howToClose, onClose } = React.useContext(ModalCloseContext)\n const I18n = useI18nContext()\n const { closeWithConfirm } = useCloseWithConfirmContext()\n const modalClosableFooterButtonsRef = React.useRef(null)\n\n const registerChildRef = useModalChildRegistryDispatch()\n\n useEffect(() => {\n registerChildRef({\n child: 'closeableButtons',\n ref: modalClosableFooterButtonsRef,\n })\n }, [])\n\n function onClickButton(e: React.MouseEvent<HTMLButtonElement>) {\n closeWithConfirm(onClose!)(e, 'footer-button')\n }\n\n return (\n <StyledModalButtons\n {...props}\n ref={mergeRefs(ref, modalClosableFooterButtonsRef)}\n >\n {howToClose?.includes('footer-button') && (\n <Button onClick={onClickButton} variant=\"tertiary\">\n {I18n.t('core.modal.cancel')}\n </Button>\n )}\n {children}\n </StyledModalButtons>\n )\n})\n\nconst ModalContainer = React.forwardRef<HTMLDivElement, ModalContainerProps>(\n ({ compact = false, placement, width, ...props }, ref) => {\n const { onClose } = React.useContext(ModalCloseContext)\n const modalContainerRef = React.useRef<HTMLDivElement>(null)\n useInitializeModalFocus({ modalContainerRef, hasOnClose: !!onClose })\n\n return (\n <StyledModalContainer\n {...props}\n shadowStrength={4}\n $compact={compact}\n $placement={placement}\n $width={width}\n ref={mergeRefs(ref, modalContainerRef)}\n />\n )\n }\n)\n\nconst ModalBody = React.forwardRef<HTMLDivElement, ModalBodyProps>(\n ({ children, compact = false, noSideSpacing = false, ...props }, ref) => {\n const { isOverflowingY, ref: overflowRef } = useOverflowObserver()\n const scrollRef = React.useRef(null)\n const modalBodyRef = React.useRef(null)\n const { setIsBodyScrolled } = React.useContext(ModalBodyScrollContext)\n const registerChildRef = useModalChildRegistryDispatch()\n\n useEffect(() => {\n registerChildRef({ child: 'body', ref: modalBodyRef })\n }, [])\n\n useLayoutEventListener({\n event: 'scroll',\n handler: (e: React.UIEvent<HTMLElement>) => {\n setIsBodyScrolled(e.currentTarget.scrollTop > 0)\n },\n scope: scrollRef,\n })\n\n return (\n <SectionProvider>\n <LevelContext.Provider value={initialBodyLevel}>\n <StyledModalBody\n {...props}\n $compact={compact}\n $isOverflowingY={isOverflowingY}\n $noSideSpacing={noSideSpacing}\n ref={mergeRefs(overflowRef, scrollRef, ref, modalBodyRef)}\n tabIndex={0}\n >\n {children}\n </StyledModalBody>\n </LevelContext.Provider>\n </SectionProvider>\n )\n }\n)\n\nconst ModalFooterSummary = React.forwardRef<HTMLDivElement, DivAttributes>(\n ({ children, ...props }, ref) => {\n return (\n <StyledModalFooterSummary {...props} ref={ref}>\n {children}\n </StyledModalFooterSummary>\n )\n }\n)\n\nconst ModalFooterNotation = React.forwardRef<\n HTMLSpanElement,\n SpanAttributes & TypographyProps\n>(({ children, ...props }, ref) => (\n <StyledModalFooterNotation\n aria-live=\"polite\"\n intent=\"small\"\n color=\"gray45\"\n italic\n {...props}\n ref={ref}\n >\n {children}\n </StyledModalFooterNotation>\n))\n\nconst Modal_ = React.forwardRef<HTMLDivElement, ModalProps>(\n (\n {\n ['aria-describedby']: ariaDescribedby,\n ['aria-details']: ariaDetails,\n ['aria-labelledby']: ariaLabelledby,\n ['aria-label']: ariaLabel,\n children,\n compact = false,\n howToClose,\n id,\n onClickOverlay = noop,\n onClose,\n open = false,\n placement = 'center',\n role,\n ...props\n },\n ref\n ) => {\n useScrollLock(open)\n const [visible, setVisible] = React.useState<boolean>(open)\n const [fadeType, setFadeType] = React.useState<string>('')\n const closeWithConfirmState = useCloseWithConfirmState()\n const { closeWithConfirm } = closeWithConfirmState\n\n React.useEffect(() => {\n if (open) {\n setVisible(true)\n const fadeTimer = setTimeout(() => {\n setFadeType(fadeInClassName)\n }, 0)\n return () => clearTimeout(fadeTimer)\n } else {\n setFadeType(fadeOutClassName)\n }\n }, [open])\n\n const onTransitionEnd = () => {\n if (fadeType === fadeOutClassName) {\n setVisible(false)\n }\n }\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n if (!onClose) return\n if (e.key === 'Escape') {\n e.preventDefault()\n e.stopPropagation()\n closeWithConfirm(onClose)(e, 'x')\n }\n }\n\n const { dialogProps: dialogProps_ } = useModalDialogLike({\n 'aria-describedby': ariaDescribedby,\n 'aria-details': ariaDetails,\n 'aria-labelledby': ariaLabelledby,\n 'aria-label': ariaLabel,\n id,\n isModal: false,\n isOpen: open,\n role,\n })\n\n const dialogProps = onClose && role === 'dialog' ? dialogProps_ : {}\n\n function onClickScrim(e: React.MouseEvent<HTMLDivElement>) {\n onClickOverlay(e)\n if (onClose && howToClose?.includes('scrim')) {\n closeWithConfirm(onClose)(e, 'scrim')\n }\n }\n\n return visible ? (\n <Portal>\n <ModalCloseContext.Provider value={{ onClose, howToClose }}>\n <LevelContext.Provider value={defaultStartLevel}>\n <ChildRegistryProvider>\n <OverridableFocusScope\n // TODO breaking - always\n autoFocus={!!onClose}\n contain={!!onClose}\n restoreFocus={!!onClose}\n >\n <StyledModal\n className={fadeType}\n ref={ref}\n onTransitionEnd={onTransitionEnd}\n onKeyDown={handleKeyDown}\n {...dialogProps}\n >\n <StyledModalScrim\n data-qa=\"core-modal-scrim\"\n onClick={onClickScrim}\n />\n\n <ModalContainer\n {...props}\n compact={compact}\n placement={placement}\n >\n <StyledModalContent $compact={compact}>\n <ModalBodyScrollObserver>\n <CloseWithConfirmContext.Provider\n value={closeWithConfirmState}\n >\n {children}\n </CloseWithConfirmContext.Provider>\n </ModalBodyScrollObserver>\n </StyledModalContent>\n </ModalContainer>\n </StyledModal>\n </OverridableFocusScope>\n </ChildRegistryProvider>\n </LevelContext.Provider>\n </ModalCloseContext.Provider>\n </Portal>\n ) : null\n }\n)\n\nfunction ModalBodyScrollObserver({ children }: { children: React.ReactNode }) {\n const [isBodyScrolled, setIsBodyScrolled] = React.useState<boolean>(false)\n\n return (\n <ModalBodyScrollContext.Provider\n value={{ isBodyScrolled, setIsBodyScrolled }}\n >\n {children}\n </ModalBodyScrollContext.Provider>\n )\n}\n\nexport const ConfirmModal = React.forwardRef<HTMLDivElement, ConfirmModalProps>(\n ({ children, headline, onClose, ...props }, ref) => {\n return (\n <Modal {...props} ref={ref}>\n <ModalClosableHeader onClose={onClose}>\n <StyledModalWarningIcon size=\"lg\" />\n {headline}\n </ModalClosableHeader>\n {children}\n </Modal>\n )\n }\n)\n\nfunction ModalState(props: RenderProps) {\n useDeprecation({ oldThing: 'Modal.State' })\n return <Visibility {...props} />\n}\n\nModal_.displayName = 'Modal'\n\nConfirmModal.displayName = 'ConfirmModal'\n\nModalBody.displayName = 'Modal.Body'\n\nModalFooterNotation.displayName = 'Modal.FooterNotation'\n\nModalFooterSummary.displayName = 'Modal.FooterSummary'\n\nconst Body = ModalBody\nconst Container = ModalContainer\nconst Content = StyledModalContent\nconst FooterSummary = ModalFooterSummary\nconst Footer = StyledModalFooter\nconst FooterButtons = ModalClosableFooterButtons\nconst FooterNotation = ModalFooterNotation\nconst Header = ModalClosableHeader\nconst Overlay = StyledModal\nconst Scrim = StyledModalScrim\nconst State = ModalState\n\n/**\n\n We use modals to present additional actions, information, or forms on pages\n where a user’s experience would benefit from remaining on the same page.\n They can include graphics, inputs, buttons, and other elements as needed to\n produce the workflow or action needed.\n\n Do not include modals on pages with complicated UI layouts.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-modal--demo)\n\n @see [Design Guidelines](https://design.procore.com/modal)\n\n */\nexport const Modal = addSubcomponents(\n {\n Body,\n Container,\n Content,\n Footer,\n FooterButtons,\n FooterNotation,\n FooterSummary,\n Header,\n Heading: Heading,\n Overlay,\n Scrim,\n State,\n Section,\n },\n Modal_\n)\n"],"mappings":"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"}
|
|
@@ -10,33 +10,41 @@ export declare const modalPixelWidths: {
|
|
|
10
10
|
lg: number;
|
|
11
11
|
xl: number;
|
|
12
12
|
};
|
|
13
|
-
export declare const StyledModal: import("styled-components").
|
|
14
|
-
export declare const StyledModalButtons: import("styled-components").
|
|
15
|
-
export declare const StyledModalContainer: import("styled-components").
|
|
13
|
+
export declare const StyledModal: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
14
|
+
export declare const StyledModalButtons: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
15
|
+
export declare const StyledModalContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<Omit<import("..").DivAttributes & import("..").CardProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
|
|
16
|
+
ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
|
|
17
|
+
}, {
|
|
16
18
|
$compact: boolean;
|
|
17
19
|
$placement: ModalPlacement;
|
|
18
20
|
$width?: ModalWidth | undefined;
|
|
19
|
-
},
|
|
20
|
-
export declare const StyledModalFooter: import("styled-components").
|
|
21
|
-
export declare const StyledModalBody: import("styled-components").
|
|
21
|
+
}>> & string & Omit<import("react").ForwardRefExoticComponent<import("..").DivAttributes & import("..").CardProps & import("react").RefAttributes<HTMLDivElement>>, keyof import("react").Component<any, {}, any>>;
|
|
22
|
+
export declare const StyledModalFooter: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
23
|
+
export declare const StyledModalBody: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
|
|
22
24
|
$compact: boolean;
|
|
23
25
|
$isOverflowingY: boolean;
|
|
24
26
|
$noSideSpacing: boolean;
|
|
25
|
-
}
|
|
26
|
-
export declare const StyledModalContent: import("styled-components").
|
|
27
|
+
}>> & string;
|
|
28
|
+
export declare const StyledModalContent: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
|
|
27
29
|
$compact?: boolean | undefined;
|
|
28
|
-
}
|
|
29
|
-
export declare const StyledModalFooterNotation: import("styled-components").
|
|
30
|
-
|
|
30
|
+
}>> & string;
|
|
31
|
+
export declare const StyledModalFooterNotation: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<import("..").SpanAttributes & import("..").TypographyProps & import("react").RefAttributes<HTMLSpanElement>, "ref"> & {
|
|
32
|
+
ref?: ((instance: HTMLSpanElement | null) => void) | import("react").RefObject<HTMLSpanElement> | null | undefined;
|
|
33
|
+
}, never>> & string & Omit<import("react").ForwardRefExoticComponent<import("..").SpanAttributes & import("..").TypographyProps & import("react").RefAttributes<HTMLSpanElement>>, keyof import("react").Component<any, {}, any>>;
|
|
34
|
+
export declare const StyledModalHeader: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
|
|
31
35
|
$compact: boolean;
|
|
32
36
|
$isBodyScrolled: boolean;
|
|
33
|
-
}
|
|
34
|
-
export declare const StyledModalHeading: import("styled-components").
|
|
37
|
+
}>> & string;
|
|
38
|
+
export declare const StyledModalHeading: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
|
|
35
39
|
$compact: boolean;
|
|
36
|
-
}
|
|
37
|
-
export declare const StyledModalCancel: import("styled-components").
|
|
38
|
-
export declare const StyledModalScrim: import("styled-components").
|
|
39
|
-
export declare const StyledModalWarningIcon: import("styled-components").
|
|
40
|
+
}>> & string;
|
|
41
|
+
export declare const StyledModalCancel: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
42
|
+
export declare const StyledModalScrim: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
43
|
+
export declare const StyledModalWarningIcon: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<{
|
|
40
44
|
size?: import("@procore/core-icons/dist/Icon").IconSize | undefined;
|
|
41
|
-
} & import("react").SVGAttributes<SVGElement> & import("react").RefAttributes<SVGSVGElement
|
|
42
|
-
|
|
45
|
+
} & import("react").SVGAttributes<SVGElement> & import("react").RefAttributes<SVGSVGElement>, "ref"> & {
|
|
46
|
+
ref?: ((instance: SVGSVGElement | null) => void) | import("react").RefObject<SVGSVGElement> | null | undefined;
|
|
47
|
+
}, never>> & string & Omit<import("react").ForwardRefExoticComponent<{
|
|
48
|
+
size?: import("@procore/core-icons/dist/Icon").IconSize | undefined;
|
|
49
|
+
} & import("react").SVGAttributes<SVGElement> & import("react").RefAttributes<SVGSVGElement>>, keyof import("react").Component<any, {}, any>>;
|
|
50
|
+
export declare const StyledModalFooterSummary: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
@@ -31,15 +31,15 @@ var screenWidthPixelBreakpoints = {
|
|
|
31
31
|
};
|
|
32
32
|
export var StyledModal = /*#__PURE__*/styled.div.withConfig({
|
|
33
33
|
displayName: "StyledModal",
|
|
34
|
-
componentId: "core-
|
|
34
|
+
componentId: "core-12_23_0__sc-1ijdug2-0"
|
|
35
35
|
})(["display:flex;height:100vh;position:absolute;opacity:0;transition:0.3s opacity ease;width:100vw;z-index:0;pointer-events:none;&.", "{opacity:1;pointer-events:auto;}&.", "{opacity:0;pointer-events:none;}"], fadeInClassName, fadeOutClassName);
|
|
36
36
|
export var StyledModalButtons = /*#__PURE__*/styled.div.withConfig({
|
|
37
37
|
displayName: "StyledModalButtons",
|
|
38
|
-
componentId: "core-
|
|
38
|
+
componentId: "core-12_23_0__sc-1ijdug2-1"
|
|
39
39
|
})(["display:flex;flex:0 0 auto;margin-left:", "px;> * + *{margin-left:", "px;}"], spacing.lg, spacing.sm);
|
|
40
40
|
export var StyledModalContainer = /*#__PURE__*/styled(Card).withConfig({
|
|
41
41
|
displayName: "StyledModalContainer",
|
|
42
|
-
componentId: "core-
|
|
42
|
+
componentId: "core-12_23_0__sc-1ijdug2-2"
|
|
43
43
|
})(["display:flex;flex-direction:row;position:absolute;z-index:2;", " ", " ", ""], function (_ref) {
|
|
44
44
|
var $compact = _ref.$compact;
|
|
45
45
|
if (!$compact) {
|
|
@@ -63,11 +63,11 @@ export var StyledModalContainer = /*#__PURE__*/styled(Card).withConfig({
|
|
|
63
63
|
});
|
|
64
64
|
export var StyledModalFooter = /*#__PURE__*/styled.div.withConfig({
|
|
65
65
|
displayName: "StyledModalFooter",
|
|
66
|
-
componentId: "core-
|
|
66
|
+
componentId: "core-12_23_0__sc-1ijdug2-3"
|
|
67
67
|
})(["align-items:center;display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;padding:", "px ", "px ", "px;"], spacing.xl, spacing.xxl, spacing.xxl);
|
|
68
68
|
export var StyledModalBody = /*#__PURE__*/styled.div.withConfig({
|
|
69
69
|
displayName: "StyledModalBody",
|
|
70
|
-
componentId: "core-
|
|
70
|
+
componentId: "core-12_23_0__sc-1ijdug2-4"
|
|
71
71
|
})(["", " box-sizing:border-box;color:", ";display:flex;flex-direction:column;overflow:auto;", " ", " > ", "{padding-left:0;padding-right:0;&:first-child > ", "{padding-top:0;}}", ""], getTypographyIntent('body'), colors.gray15, function (_ref4) {
|
|
72
72
|
var $noSideSpacing = _ref4.$noSideSpacing;
|
|
73
73
|
return css(["padding:", "px ", "px;"], spacing.xl, $noSideSpacing ? 0 : spacing.xxl);
|
|
@@ -84,7 +84,7 @@ export var StyledModalBody = /*#__PURE__*/styled.div.withConfig({
|
|
|
84
84
|
});
|
|
85
85
|
export var StyledModalContent = /*#__PURE__*/styled.div.withConfig({
|
|
86
86
|
displayName: "StyledModalContent",
|
|
87
|
-
componentId: "core-
|
|
87
|
+
componentId: "core-12_23_0__sc-1ijdug2-5"
|
|
88
88
|
})(["display:flex;flex-direction:column;max-height:90vh;overflow:hidden;width:100%;", ""], function (_ref7) {
|
|
89
89
|
var _ref7$$compact = _ref7.$compact,
|
|
90
90
|
$compact = _ref7$$compact === void 0 ? false : _ref7$$compact;
|
|
@@ -95,11 +95,11 @@ export var StyledModalContent = /*#__PURE__*/styled.div.withConfig({
|
|
|
95
95
|
});
|
|
96
96
|
export var StyledModalFooterNotation = /*#__PURE__*/styled(Typography).withConfig({
|
|
97
97
|
displayName: "StyledModalFooterNotation",
|
|
98
|
-
componentId: "core-
|
|
98
|
+
componentId: "core-12_23_0__sc-1ijdug2-6"
|
|
99
99
|
})(["flex-grow:1;"]);
|
|
100
100
|
export var StyledModalHeader = /*#__PURE__*/styled.div.withConfig({
|
|
101
101
|
displayName: "StyledModalHeader",
|
|
102
|
-
componentId: "core-
|
|
102
|
+
componentId: "core-12_23_0__sc-1ijdug2-7"
|
|
103
103
|
})(["align-items:flex-start;color:", ";display:flex;flex:0 0 auto;position:relative;", " ", ""], colors.gray10, function (_ref8) {
|
|
104
104
|
var $compact = _ref8.$compact,
|
|
105
105
|
$isBodyScrolled = _ref8.$isBodyScrolled;
|
|
@@ -117,7 +117,7 @@ export var StyledModalHeader = /*#__PURE__*/styled.div.withConfig({
|
|
|
117
117
|
});
|
|
118
118
|
export var StyledModalHeading = /*#__PURE__*/styled.div.withConfig({
|
|
119
119
|
displayName: "StyledModalHeading",
|
|
120
|
-
componentId: "core-
|
|
120
|
+
componentId: "core-12_23_0__sc-1ijdug2-8"
|
|
121
121
|
})(["", " align-items:center;display:flex;flex:1 1 auto;min-height:36px;padding-right:", "px;", ""], function (_ref0) {
|
|
122
122
|
var $compact = _ref0.$compact;
|
|
123
123
|
return getTypographyIntent($compact ? 'h3' : 'h2');
|
|
@@ -133,18 +133,18 @@ export var StyledModalHeading = /*#__PURE__*/styled.div.withConfig({
|
|
|
133
133
|
});
|
|
134
134
|
export var StyledModalCancel = /*#__PURE__*/styled.div.withConfig({
|
|
135
135
|
displayName: "StyledModalCancel",
|
|
136
|
-
componentId: "core-
|
|
136
|
+
componentId: "core-12_23_0__sc-1ijdug2-9"
|
|
137
137
|
})(["flex:0 0 auto;"]);
|
|
138
138
|
export var StyledModalScrim = /*#__PURE__*/styled.div.withConfig({
|
|
139
139
|
displayName: "StyledModalScrim",
|
|
140
|
-
componentId: "core-
|
|
140
|
+
componentId: "core-12_23_0__sc-1ijdug2-10"
|
|
141
141
|
})(["background:hsla(200,8%,10%,0.6);height:100vh;left:0;position:absolute;top:0;width:100vw;z-index:1;"]);
|
|
142
142
|
export var StyledModalWarningIcon = /*#__PURE__*/styled(Warning).withConfig({
|
|
143
143
|
displayName: "StyledModalWarningIcon",
|
|
144
|
-
componentId: "core-
|
|
144
|
+
componentId: "core-12_23_0__sc-1ijdug2-11"
|
|
145
145
|
})(["color:", ";margin-right:", "px;"], colors.yellow40, spacing.sm);
|
|
146
146
|
export var StyledModalFooterSummary = /*#__PURE__*/styled.div.withConfig({
|
|
147
147
|
displayName: "StyledModalFooterSummary",
|
|
148
|
-
componentId: "core-
|
|
148
|
+
componentId: "core-12_23_0__sc-1ijdug2-12"
|
|
149
149
|
})(["", " border-top:1px solid ", ";border-bottom:1px solid ", ";padding:", "px ", "px;color:", ";font-style:italic;background-color:", ";margin:-", "px -", "px ", "px -", "px;flex:1 1 100%;"], getTypographyIntent('small'), colors.gray85, colors.gray85, spacing.md, spacing.xxl, colors.gray15, colors.gray98, spacing.xl, spacing.xxl, spacing.xl, spacing.xxl);
|
|
150
150
|
//# sourceMappingURL=Modal.styles.js.map
|
|
@@ -22,12 +22,12 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
|
|
|
22
22
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
23
23
|
import { Clear } from '@procore/core-icons/dist';
|
|
24
24
|
import React from 'react';
|
|
25
|
-
import { Box } from '../Box
|
|
25
|
+
import { Box } from '../Box';
|
|
26
26
|
import { MenuImperative, useMenuImperativeControlNavigation } from '../MenuImperative/MenuImperative';
|
|
27
|
-
import { OverlayTrigger } from '../OverlayTrigger
|
|
28
|
-
import { Spinner } from '../Spinner
|
|
29
|
-
import { Token } from '../Token
|
|
30
|
-
import { Typography } from '../Typography
|
|
27
|
+
import { OverlayTrigger } from '../OverlayTrigger';
|
|
28
|
+
import { Spinner } from '../Spinner';
|
|
29
|
+
import { Token } from '../Token';
|
|
30
|
+
import { Typography } from '../Typography';
|
|
31
31
|
import { isEventSource } from '../_hooks/ClickOutside';
|
|
32
32
|
import { useI18nContext } from '../_hooks/I18n';
|
|
33
33
|
import { addSubcomponents } from '../_utils/addSubcomponents';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiSelect.js","names":["Clear","React","Box","MenuImperative","useMenuImperativeControlNavigation","OverlayTrigger","Spinner","Token","Typography","isEventSource","useI18nContext","addSubcomponents","StyledMultiSelectArrow","StyledMultiSelectArrowContainer","StyledMultiSelectButton","StyledMultiSelectClearIcon","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","defaultGroupHeaderRenderer","group","Group","concat","clickable","defaultTokenRenderer","_ref2","_qa$token","_qa$tokenClear","focused","disabled","removeToken","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","flatMap","groupHeader","isGroupHeader","ids","domHandlers","forwardRef","_ref5","_excluded2","Item","GroupedOptions","_ref6","multiselect","groupHeaderRenderer","optionRenderer","isOptionDisabled","Options","map","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$groupHeaderRend","_ref7$tokenRenderer","tokenRenderer","placeholder","_ref7$placement","placement","_ref7$value","_ref7$tabIndex","tabIndex","ariaLabelledBy","_ref7$qa","_excluded3","i18n","ownRef","useRef","targetRef","searchRef","_React$useState5","_React$useState6","isMenuOpen","setIsMenuOpen","_useMenuImperativeCon","menuNavigationTriggerProps","menuProps","I18n","hasClearIcon","isNavigatingTokens","overlay","shadowStrength","role","padding","color","intent","italic","t","Footer","canFlip","_menuRef$current5","MouseEvent","hideKeys","showKeys","trigger","_ref8","disable","enable","isVisible","$block","$error","$emptyValue","$disabled","$hasClearIcon","$loading","$open","$isNavigatingTokens","onBlur","preventDefault","stopPropagation","size","variant","icon","displayName"],"sources":["../../src/MultiSelect/MultiSelect.tsx"],"sourcesContent":["import { Clear } from '@procore/core-icons/dist'\nimport React from 'react'\nimport { Box } from '../Box/Box'\nimport {\n MenuImperative,\n useMenuImperativeControlNavigation,\n} from '../MenuImperative/MenuImperative'\nimport type { MenuRef, Selection } from '../MenuImperative/MenuImperative.types'\nimport { OverlayTrigger } from '../OverlayTrigger/OverlayTrigger'\nimport { Spinner } from '../Spinner/Spinner'\nimport { Token } from '../Token/Token'\nimport { Typography } from '../Typography/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 StyledMultiSelectMenu,\n StyledMultiSelectSearch,\n StyledMultiSelectSearchIcon,\n StyledMultiSelectSearchInput,\n StyledMultiSelectToken,\n StyledMultiSelectValues,\n} from './MultiSelect.styles'\nimport type {\n ChangeEvent,\n GroupedOptionsProps,\n GroupHeader,\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 defaultGroupHeaderRenderer(group: GroupItem) {\n return (\n <MenuImperative.Group key={`group_${group.id}`} clickable={false}>\n {group.label}\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 disabled={disabled} focused={focused} data-qa={qa?.token?.(option)}>\n <Token.Label>{getLabel(option)}</Token.Label>\n <Token.Remove\n data-close\n onClick={removeToken}\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\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') {\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.flatMap((group: GroupItem) => {\n const groupHeader = { ...group, isGroupHeader: true }\n const groupOptions = optionsByGroup[group.id]\n\n if (!groupOptions.length) {\n return []\n }\n\n return [groupHeader, ...groupOptions]\n }, [])\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 optionRenderer,\n getId,\n getLabel,\n isOptionDisabled,\n qa,\n}: GroupedOptionsProps) {\n return (\n <MenuImperative.Options>\n {multiselect.options.map((opt) => {\n if (opt.isGroupHeader) {\n const groupHeader: GroupHeader = opt\n return groupHeaderRenderer(groupHeader)\n }\n\n return optionRenderer(opt, {\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(opt),\n selected: multiselect.ids.has(getId(opt)),\n disabled: isOptionDisabled(opt),\n value: opt,\n qa,\n })\n })}\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 = defaultGroupHeaderRenderer,\n tokenRenderer = defaultTokenRenderer,\n placeholder,\n placement = 'bottom-left',\n value = emptyArray,\n tabIndex = 0,\n ['aria-labelledby']: ariaLabelledBy,\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 [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 hasClearIcon = value.length > 0 && !loading\n\n const isNavigatingTokens = multiselect.index !== null\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 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 $hasClearIcon={hasClearIcon}\n $loading={loading}\n $open={isVisible}\n {...props}\n >\n <StyledMultiSelectValues>\n {value.map((selection, i) => {\n return (\n <StyledMultiSelectToken key={getId(selection)}>\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\n <StyledMultiSelectSearch>\n <StyledMultiSelectSearchInput\n aria-labelledby={ariaLabelledBy}\n data-qa=\"core-multiselect-input\"\n $isNavigatingTokens={isNavigatingTokens}\n disabled={disabled}\n onBlur={multiselect.clearToken}\n onChange={function (e) {\n multiselect.onSearch(e)\n }}\n {...menuNavigationTriggerProps}\n onKeyDown={function (e) {\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 } 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 </StyledMultiSelectValues>\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={-1} // TODO revisit this accessibility\n />\n {loading ? (\n <Spinner color=\"blue50\" size=\"xs\" />\n ) : (\n <StyledMultiSelectArrowContainer\n data-qa=\"multiselect-select-arrow\"\n onClick={(e) => 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","React","Box","MenuImperative","useMenuImperativeControlNavigation","OverlayTrigger","Spinner","Token","Typography","isEventSource","useI18nContext","addSubcomponents","StyledMultiSelectArrow","StyledMultiSelectArrowContainer","StyledMultiSelectButton","StyledMultiSelectClearIcon","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","defaultGroupHeaderRenderer","group","Group","concat","clickable","defaultTokenRenderer","_ref2","_qa$token","_qa$tokenClear","focused","disabled","removeToken","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","flatMap","groupHeader","isGroupHeader","ids","domHandlers","forwardRef","_ref5","_excluded2","Item","GroupedOptions","_ref6","multiselect","groupHeaderRenderer","optionRenderer","isOptionDisabled","Options","map","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$groupHeaderRend","_ref7$tokenRenderer","tokenRenderer","placeholder","_ref7$placement","placement","_ref7$value","_ref7$tabIndex","tabIndex","ariaLabelledBy","_ref7$qa","_excluded3","i18n","ownRef","useRef","targetRef","searchRef","_React$useState5","_React$useState6","isMenuOpen","setIsMenuOpen","_useMenuImperativeCon","menuNavigationTriggerProps","menuProps","I18n","hasClearIcon","isNavigatingTokens","overlay","shadowStrength","role","padding","color","intent","italic","t","Footer","canFlip","_menuRef$current5","MouseEvent","hideKeys","showKeys","trigger","_ref8","disable","enable","isVisible","$block","$error","$emptyValue","$disabled","$hasClearIcon","$loading","$open","$isNavigatingTokens","onBlur","preventDefault","stopPropagation","size","variant","icon","displayName"],"sources":["../../src/MultiSelect/MultiSelect.tsx"],"sourcesContent":["import { Clear } from '@procore/core-icons/dist'\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 StyledMultiSelectMenu,\n StyledMultiSelectSearch,\n StyledMultiSelectSearchIcon,\n StyledMultiSelectSearchInput,\n StyledMultiSelectToken,\n StyledMultiSelectValues,\n} from './MultiSelect.styles'\nimport type {\n ChangeEvent,\n GroupedOptionsProps,\n GroupHeader,\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 defaultGroupHeaderRenderer(group: GroupItem) {\n return (\n <MenuImperative.Group key={`group_${group.id}`} clickable={false}>\n {group.label}\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 disabled={disabled} focused={focused} data-qa={qa?.token?.(option)}>\n <Token.Label>{getLabel(option)}</Token.Label>\n <Token.Remove\n data-close\n onClick={removeToken}\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\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') {\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.flatMap((group: GroupItem) => {\n const groupHeader = { ...group, isGroupHeader: true }\n const groupOptions = optionsByGroup[group.id]\n\n if (!groupOptions.length) {\n return []\n }\n\n return [groupHeader, ...groupOptions]\n }, [])\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 optionRenderer,\n getId,\n getLabel,\n isOptionDisabled,\n qa,\n}: GroupedOptionsProps) {\n return (\n <MenuImperative.Options>\n {multiselect.options.map((opt) => {\n if (opt.isGroupHeader) {\n const groupHeader: GroupHeader = opt\n return groupHeaderRenderer(groupHeader)\n }\n\n return optionRenderer(opt, {\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(opt),\n selected: multiselect.ids.has(getId(opt)),\n disabled: isOptionDisabled(opt),\n value: opt,\n qa,\n })\n })}\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 = defaultGroupHeaderRenderer,\n tokenRenderer = defaultTokenRenderer,\n placeholder,\n placement = 'bottom-left',\n value = emptyArray,\n tabIndex = 0,\n ['aria-labelledby']: ariaLabelledBy,\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 [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 hasClearIcon = value.length > 0 && !loading\n\n const isNavigatingTokens = multiselect.index !== null\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 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 $hasClearIcon={hasClearIcon}\n $loading={loading}\n $open={isVisible}\n {...props}\n >\n <StyledMultiSelectValues>\n {value.map((selection, i) => {\n return (\n <StyledMultiSelectToken key={getId(selection)}>\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\n <StyledMultiSelectSearch>\n <StyledMultiSelectSearchInput\n aria-labelledby={ariaLabelledBy}\n data-qa=\"core-multiselect-input\"\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 } 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 </StyledMultiSelectValues>\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={-1} // TODO revisit this accessibility\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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"}
|