@procore/core-react 12.17.5 → 12.17.7
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/babel.config.js +4 -1
- package/dist/AnchorNavigation/AnchorNavigation.js.map +1 -1
- package/dist/AnchorNavigation/AnchorNavigation.styles.js +3 -3
- package/dist/AnchorNavigation/AnchorNavigationProvider.js +5 -5
- package/dist/AnchorNavigation/AnchorNavigationProvider.js.map +1 -1
- package/dist/Avatar/Avatar.js +10 -11
- package/dist/Avatar/Avatar.js.map +1 -1
- package/dist/Avatar/Avatar.styles.js +5 -5
- package/dist/AvatarStack/AvatarStack.js +14 -14
- package/dist/AvatarStack/AvatarStack.js.map +1 -1
- package/dist/AvatarStack/AvatarStack.styles.js +7 -7
- package/dist/Badge/Badge.js +1 -1
- package/dist/Badge/Badge.styles.js +2 -2
- package/dist/Banner/Banner.js +44 -14
- package/dist/Banner/Banner.js.map +1 -1
- package/dist/Banner/Banner.styles.d.ts +1 -1
- package/dist/Banner/Banner.styles.js +15 -15
- package/dist/Banner/Banner.styles.js.map +1 -1
- package/dist/Box/Box.js +3 -3
- package/dist/Box/Box.styles.js +1 -1
- package/dist/Breadcrumbs/Breadcrumbs.js +9 -9
- package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
- package/dist/Button/Button.js +7 -7
- package/dist/Button/Button.js.map +1 -1
- package/dist/Button/Button.styles.d.ts +1 -0
- package/dist/Button/Button.styles.js +7 -7
- package/dist/Button/Button.styles.js.map +1 -1
- package/dist/Button/Button.types.d.ts +4 -0
- package/dist/Button/Button.types.js.map +1 -1
- package/dist/Calendar/Calendar.js +4 -4
- package/dist/Calendar/Calendar.js.map +1 -1
- package/dist/Calendar/Calendar.styles.js +8 -8
- package/dist/Card/Card.js +3 -3
- package/dist/Card/Card.styles.js +1 -1
- package/dist/Checkbox/Checkbox.js +9 -9
- package/dist/Checkbox/Checkbox.styles.js +6 -6
- package/dist/Checkbox/CheckboxTooltip.js +2 -2
- package/dist/CheckboxGroup/CheckboxGroup.js +8 -8
- package/dist/ClickOutside/ClickOutside.js +3 -3
- package/dist/ContactItem/ContactItem.js +3 -3
- package/dist/ContactItem/ContactItem.styles.js +5 -5
- package/dist/Content/Content.styles.js +2 -2
- package/dist/DateInput/DateInput.js +11 -11
- package/dist/DateInput/DateInput.js.map +1 -1
- package/dist/DateInput/DateInput.styles.js +10 -10
- package/dist/DateSelect/DateSelect.js +8 -8
- package/dist/DateSelect/DateSelect.js.map +1 -1
- package/dist/DetailPage/DetailPage.js +3 -3
- package/dist/DetailPage/DetailPage.styles.js +7 -7
- package/dist/DetailPage/examples/TableExample.js +5 -5
- package/dist/DetailPageTemplate/DetailPageTemplate.js +3 -3
- package/dist/Dropdown/Dropdown.js +8 -8
- package/dist/Dropdown/Dropdown.styles.js +3 -3
- package/dist/DropdownFlyout/DropdownFlyout.helpers.js +14 -14
- package/dist/DropdownFlyout/DropdownFlyout.js +8 -8
- package/dist/DropdownFlyout/DropdownFlyout.js.map +1 -1
- package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
- package/dist/Dropzone/Dropzone.hooks.js +17 -18
- package/dist/Dropzone/Dropzone.hooks.js.map +1 -1
- package/dist/Dropzone/Dropzone.js +19 -21
- package/dist/Dropzone/Dropzone.js.map +1 -1
- package/dist/Dropzone/Dropzone.styles.js +9 -9
- package/dist/EmptyState/EmptyState.js +3 -3
- package/dist/EmptyState/EmptyState.styles.js +6 -6
- package/dist/Field/Field.js +3 -3
- package/dist/Field/Field.styles.js +3 -3
- package/dist/FileList/FileList.js +3 -3
- package/dist/FileList/FileList.styles.js +4 -4
- package/dist/FileSelect/FileExplorer/FileExplorer.js +3 -3
- package/dist/FileSelect/FileExplorer/FileExplorer.js.map +1 -1
- package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
- package/dist/FileSelect/FileExplorer/FileExplorerModal.js +3 -3
- package/dist/FileSelect/FileExplorer/FileExplorerSidebar.js +5 -5
- package/dist/FileSelect/FileExplorer/FileExplorerSidebar.js.map +1 -1
- package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
- package/dist/FileSelect/FileExplorer/useSidebarNavigation.js +8 -8
- package/dist/FileSelect/FileSelect.js +21 -21
- package/dist/FileSelect/FileSelect.js.map +1 -1
- package/dist/FileSelect/FileSelect.styles.js +2 -2
- package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.js +5 -5
- package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.js.map +1 -1
- package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
- package/dist/FileSelect/FileTokenList/FileTokenList.js +8 -8
- package/dist/FileSelect/FileTokenList/FileTokenList.js.map +1 -1
- package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
- package/dist/FileSelect/GridSource/GridSource.js +20 -20
- package/dist/FileSelect/GridSource/GridSource.js.map +1 -1
- package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
- package/dist/FileSelect/LocalSource/LocalSource.js +19 -19
- package/dist/FileSelect/LocalSource/LocalSource.js.map +1 -1
- package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
- package/dist/FileSelect/ProgressAnnouncer/ProgressAnnouncer.js +11 -11
- package/dist/FileSelect/SourceItem/SourceItem.js +3 -3
- package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
- package/dist/FileSelect/ThumbnailList/ThumbnailList.js +8 -8
- package/dist/FileSelect/ThumbnailList/ThumbnailList.js.map +1 -1
- package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
- package/dist/FileSelect/TreeSource/TreeSource.js +21 -21
- package/dist/FileSelect/TreeSource/TreeSource.js.map +1 -1
- package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
- package/dist/FileSelect/storyHelpers.js +4 -4
- package/dist/FileSelect/storyHelpers.js.map +1 -1
- package/dist/FileToken/FileToken.js +8 -8
- package/dist/FileToken/FileToken.styles.js +4 -4
- package/dist/FilterToken/FilterToken.js +25 -35
- package/dist/FilterToken/FilterToken.js.map +1 -1
- package/dist/FilterToken/FilterToken.styles.d.ts +5 -0
- package/dist/FilterToken/FilterToken.styles.js +18 -2
- package/dist/FilterToken/FilterToken.styles.js.map +1 -1
- package/dist/Flex/Flex.js +3 -3
- package/dist/FlexList/FlexList.js +3 -3
- package/dist/FlexList/FlexList.styles.js +1 -1
- package/dist/Form/Form.js +22 -18
- package/dist/Form/Form.js.map +1 -1
- package/dist/Form/Form.styles.js +14 -14
- package/dist/Form/FormFieldTooltip.js +1 -1
- package/dist/Form/StyledFormikForm.styles.js +2 -2
- package/dist/Form/stories/util.js +9 -9
- package/dist/Form/stories/util.js.map +1 -1
- package/dist/GhostPlaceholder/GhostPlaceholder.js +3 -3
- package/dist/GhostPlaceholder/GhostPlaceholder.styles.js +2 -2
- package/dist/Grid/Grid.js +3 -3
- package/dist/Grid/Grid.styles.js +3 -3
- package/dist/Grid/Grid.utils.js +5 -5
- package/dist/GroupSelect/GroupSelect.js +17 -17
- package/dist/GroupSelect/GroupSelect.styles.js +1 -1
- package/dist/Input/Input.js +3 -3
- package/dist/Input/Input.styles.js +1 -1
- package/dist/Link/Link.js +3 -3
- package/dist/Link/Link.styles.js +1 -1
- package/dist/ListPage/ListPage.js +3 -3
- package/dist/ListPage/ListPage.styles.js +8 -8
- package/dist/Loader/Loader.js +3 -3
- package/dist/Loader/Loader.styles.js +2 -2
- package/dist/Menu/Menu.js +15 -15
- package/dist/Menu/Menu.js.map +1 -1
- package/dist/MenuImperative/MenuImperative.js +15 -15
- package/dist/MenuImperative/MenuImperative.js.map +1 -1
- package/dist/MenuImperative/MenuImperative.styles.js +10 -10
- package/dist/MenuImperative/sensors.js +8 -8
- package/dist/MenuImperative/sensors.js.map +1 -1
- package/dist/Modal/ChildRegistry.context.js +11 -11
- package/dist/Modal/Modal.js +8 -8
- package/dist/Modal/Modal.js.map +1 -1
- package/dist/Modal/Modal.styles.js +13 -13
- package/dist/Modal/Modal.types.d.ts +3 -1
- package/dist/Modal/Modal.types.js.map +1 -1
- package/dist/Modal/storyHelpers.js +7 -7
- package/dist/MultiSelect/MultiSelect.js +17 -17
- package/dist/MultiSelect/MultiSelect.js.map +1 -1
- package/dist/MultiSelect/MultiSelect.styles.js +6 -6
- package/dist/NextMenu/NextMenu.js +14 -14
- package/dist/NextMenu/NextMenu.js.map +1 -1
- package/dist/NextMenu/NextMenu.styles.js +3 -3
- package/dist/NextMenu/NextMenuItem.js +3 -3
- package/dist/NextMenu/sampleData.js +7 -6
- package/dist/NextMenu/sampleData.js.map +1 -1
- package/dist/NextTile/NextTile.js +9 -9
- package/dist/Notation/Notation.js +4 -4
- package/dist/NumberInput/NumberInput.hooks.js +5 -5
- package/dist/NumberInput/NumberInput.js +14 -14
- package/dist/NumberInput/NumberInput.js.map +1 -1
- package/dist/NumberInput/NumberInput.styles.js +7 -7
- package/dist/NumberInput/NumberInput.utils.js +11 -11
- package/dist/Overlay/Overlay.js.map +1 -1
- package/dist/Overlay/OverlayArrow.js +4 -4
- package/dist/Overlay/OverlayArrow.styles.js +1 -1
- package/dist/OverlayTrigger/OverlayTrigger.js +15 -15
- package/dist/OverlayTrigger/OverlayTrigger.js.map +1 -1
- package/dist/OverlayTrigger/a11yPresets.js +6 -6
- package/dist/OverlayTrigger/a11yPresets.js.map +1 -1
- package/dist/PageFooterTemplate/PageFooterTemplate.js +3 -3
- package/dist/PageFooterTemplate/PageFooterTemplate.styles.js +1 -1
- package/dist/PageHeaderTemplate/PageHeaderTemplate.js +3 -3
- package/dist/PageHeaderTemplate/PageHeaderTemplate.styles.js +3 -3
- package/dist/PageHeaderTemplate/PageHeaderTemplate.utils.js +5 -5
- package/dist/PageLayout/PageLayout.js +15 -15
- package/dist/PageLayout/PageLayout.js.map +1 -1
- package/dist/PageLayout/PageLayout.styles.js +16 -16
- package/dist/PagePaneTemplate/PagePaneTemplate.styles.js +2 -2
- package/dist/PageTemplate/PageTemplate.js +3 -3
- package/dist/PageTemplate/PageTemplate.styles.js +3 -3
- package/dist/PageTemplate/PageTemplateCard.js +3 -3
- package/dist/Pagination/Pagination.js +3 -3
- package/dist/Pagination/Pagination.js.map +1 -1
- package/dist/Pagination/Pagination.styles.js +5 -5
- package/dist/Pagination/PaginationSelect.js +3 -3
- package/dist/Panel/Panel.js +8 -8
- package/dist/Panel/Panel.js.map +1 -1
- package/dist/Panel/Panel.styles.js +11 -11
- package/dist/Pill/Pill.js +3 -3
- package/dist/Pill/Pill.styles.js +2 -2
- package/dist/PillSelect/PillSelect.js +8 -8
- package/dist/PillSelect/PillSelect.styles.js +4 -4
- package/dist/Popover/Popover.js +9 -9
- package/dist/Popover/Popover.styles.js +2 -2
- package/dist/Portal/Portal.js +3 -3
- package/dist/Portal/Portal.styles.js +1 -1
- package/dist/ProgressBar/ProgressBar.d.ts +2 -0
- package/dist/ProgressBar/ProgressBar.js +10 -8
- package/dist/ProgressBar/ProgressBar.js.map +1 -1
- package/dist/ProgressBar/ProgressBar.styles.js +2 -2
- package/dist/ProgressBar/ProgressBar.types.js.map +1 -1
- package/dist/RadioButton/RadioButton.js +3 -3
- package/dist/RadioButton/RadioButton.styles.js +3 -3
- package/dist/Required/Required.js +3 -3
- package/dist/Required/Required.styles.js +3 -3
- package/dist/Search/Search.hooks.js +5 -5
- package/dist/Search/Search.js +3 -3
- package/dist/Search/Search.js.map +1 -1
- package/dist/Search/Search.styles.js +5 -5
- package/dist/Section/Section.js +15 -16
- package/dist/Section/Section.js.map +1 -1
- package/dist/Section/Section.styles.js +7 -7
- package/dist/Section/Section.styles.js.map +1 -1
- package/dist/SegmentedController/SegmentedController.js +14 -14
- package/dist/SegmentedController/SegmentedController.js.map +1 -1
- package/dist/SegmentedController/SegmentedController.styles.js +4 -4
- package/dist/Select/Select.js +8 -8
- package/dist/Select/Select.js.map +1 -1
- package/dist/Select/Select.styles.js +7 -7
- package/dist/Semantic/Semantic.js +3 -3
- package/dist/Semantic/Semantic.styles.js +9 -9
- package/dist/SettingsPage/SettingsPage.js +3 -3
- package/dist/SettingsPageTemplate/SettingsPageTemplate.js +3 -3
- package/dist/Slider/Slider.js +8 -8
- package/dist/Slider/Slider.js.map +1 -1
- package/dist/Slider/Slider.styles.js +5 -5
- package/dist/Spinner/Spinner.js +3 -3
- package/dist/Spinner/Spinner.styles.js +7 -7
- package/dist/SplitViewCard/SplitViewCard.context.js +5 -5
- package/dist/SplitViewCard/SplitViewCard.context.js.map +1 -1
- package/dist/SplitViewCard/SplitViewCard.js +8 -8
- package/dist/SplitViewCard/SplitViewCard.styles.js +8 -8
- package/dist/SuperSelect/SuperSelect.components.js +8 -8
- package/dist/SuperSelect/SuperSelect.components.js.map +1 -1
- package/dist/SuperSelect/SuperSelect.js +7 -7
- package/dist/SuperSelect/SuperSelect.js.map +1 -1
- package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
- package/dist/SuperSelect/SuperSelect.styles.js +37 -37
- package/dist/SuperSelect/SuperSelect.utils.js +15 -16
- package/dist/SuperSelect/SuperSelect.utils.js.map +1 -1
- package/dist/SuperSelect/presets/contactsPreset.js +3 -3
- package/dist/SuperSelect/presets/contactsPreset.js.map +1 -1
- package/dist/SuperSelect/presets/filterPreset.js +1 -1
- package/dist/SuperSelect/presets/filterPreset.js.map +1 -1
- package/dist/SuperSelect/presets/pillPreset.js.map +1 -1
- package/dist/SuperSelect/useSuperSelect.js +14 -14
- package/dist/SuperSelect/useSuperSelect.js.map +1 -1
- package/dist/Switch/Switch.js +3 -3
- package/dist/Switch/Switch.styles.js +4 -4
- package/dist/Table/Table.js +9 -9
- package/dist/Table/Table.js.map +1 -1
- package/dist/Table/Table.styles.js +28 -28
- package/dist/TableShelf/TableShelf.js +3 -3
- package/dist/TableShelf/TableShelf.styles.js +5 -5
- package/dist/Tabs/Tabs.js +17 -17
- package/dist/Tabs/Tabs.js.map +1 -1
- package/dist/Tabs/Tabs.styles.js +15 -15
- package/dist/Tearsheet/Tearsheet.js +11 -11
- package/dist/Tearsheet/Tearsheet.js.map +1 -1
- package/dist/Tearsheet/Tearsheet.styles.js +5 -5
- package/dist/TextArea/TextArea.js +3 -3
- package/dist/TextArea/TextArea.styles.js +1 -1
- package/dist/TextEditor/TextEditor.js +17 -17
- package/dist/TextEditorOutput/TextEditorOutput.js +9 -9
- package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
- package/dist/Thumbnail/Thumbnail.hooks.d.ts +8 -0
- package/dist/Thumbnail/Thumbnail.hooks.js +8 -8
- package/dist/Thumbnail/Thumbnail.js +9 -9
- package/dist/Thumbnail/Thumbnail.js.map +1 -1
- package/dist/Thumbnail/Thumbnail.styles.js +17 -17
- package/dist/Thumbnail/Thumbnail.utils.js +11 -12
- package/dist/Thumbnail/Thumbnail.utils.js.map +1 -1
- package/dist/Thumbnail/ThumbnailCaption.js +3 -3
- package/dist/Thumbnail/ThumbnailDocumentIcon.js +7 -8
- package/dist/Thumbnail/ThumbnailDocumentIcon.js.map +1 -1
- package/dist/Thumbnail/ThumbnailPreview.js +5 -5
- package/dist/ThumbnailGrid/ThumbnailGrid.hooks.js +5 -5
- package/dist/ThumbnailGrid/ThumbnailGrid.js +17 -17
- package/dist/ThumbnailGrid/ThumbnailGrid.js.map +1 -1
- package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
- package/dist/TieredDropdown/TieredDropdown.js +14 -14
- package/dist/TieredDropdown/TieredDropdown.js.map +1 -1
- package/dist/TieredDropdown/useSearch.js +5 -5
- package/dist/TieredSelect/LeafSelectionTieredSelect.js +8 -8
- package/dist/TieredSelect/LeafSelectionTieredSelect.js.map +1 -1
- package/dist/TieredSelect/TierSelectionTieredSelect.js +17 -17
- package/dist/TieredSelect/TierSelectionTieredSelect.js.map +1 -1
- package/dist/TieredSelect/TieredSelect.js +8 -8
- package/dist/TieredSelect/TieredSelect.styles.js +9 -9
- package/dist/TieredSelect/TieredSelectMenu.js +17 -17
- package/dist/TieredSelect/TieredSelectMenu.js.map +1 -1
- package/dist/Tile/Tile.js +3 -3
- package/dist/Tile/Tile.js.map +1 -1
- package/dist/Tile/Tile.styles.js +8 -8
- package/dist/Title/Title.js +3 -3
- package/dist/Title/Title.styles.js +7 -7
- package/dist/Toast/Toast.js +4 -4
- package/dist/Toast/Toast.styles.js +3 -3
- package/dist/ToggleButton/ToggleButton.js +3 -3
- package/dist/ToggleButton/ToggleButton.styles.js +1 -1
- package/dist/Token/Token.js +4 -4
- package/dist/Token/Token.styles.js +3 -3
- package/dist/ToolHeader/ActionIcon.js +3 -3
- package/dist/ToolHeader/ActionIcon.types.example.js.map +1 -1
- package/dist/ToolHeader/ToolHeader.js +9 -9
- package/dist/ToolHeader/ToolHeader.styles.js +6 -6
- package/dist/ToolLandingPage/ToolLandingPage.js +3 -3
- package/dist/ToolLandingPage/ToolLandingPage.styles.js +3 -3
- package/dist/ToolLandingPageTemplate/ToolLandingPageTemplate.js +3 -3
- package/dist/Tooltip/Tooltip.js +8 -8
- package/dist/Tooltip/Tooltip.styles.js +2 -2
- package/dist/Tree/Tree.hooks.js +14 -14
- package/dist/Tree/Tree.hooks.js.map +1 -1
- package/dist/Tree/Tree.js +14 -14
- package/dist/Tree/Tree.js.map +1 -1
- package/dist/Tree/Tree.styles.js +9 -9
- package/dist/Tree/Tree.styles.js.map +1 -1
- package/dist/Typeahead/Typeahead.js +9 -9
- package/dist/Typeahead/Typeahead.styles.js +3 -3
- package/dist/Typography/Typography.js +3 -3
- package/dist/Typography/Typography.styles.js +1 -1
- package/dist/Typography/Typography.table.story.js +2 -2
- package/dist/_hooks/Anchor.js +19 -16
- package/dist/_hooks/Anchor.js.map +1 -1
- package/dist/_hooks/Buffer.js +8 -7
- package/dist/_hooks/Buffer.js.map +1 -1
- package/dist/_hooks/ClickOutside.js +2 -1
- package/dist/_hooks/ClickOutside.js.map +1 -1
- package/dist/_hooks/DateTime/DateTime.js +17 -17
- package/dist/_hooks/DelayedCallback.js +1 -1
- package/dist/_hooks/DelayedToggle.js +7 -2
- package/dist/_hooks/DelayedToggle.js.map +1 -1
- package/dist/_hooks/Deprecation.js +1 -0
- package/dist/_hooks/Deprecation.js.map +1 -1
- package/dist/_hooks/EventListener.js +5 -5
- package/dist/_hooks/FocusScopeOverride.js +6 -6
- package/dist/_hooks/FocusScopeOverride.js.map +1 -1
- package/dist/_hooks/Hotkey.js +2 -2
- package/dist/_hooks/Hotkey.js.map +1 -1
- package/dist/_hooks/I18n.js +13 -13
- package/dist/_hooks/InjectedScript.js +8 -7
- package/dist/_hooks/InjectedScript.js.map +1 -1
- package/dist/_hooks/IntersectionObserver/useIntersectionObserver.js +5 -5
- package/dist/_hooks/ListNavigation.js +9 -7
- package/dist/_hooks/ListNavigation.js.map +1 -1
- package/dist/_hooks/OverflowObserver/OverflowObserver.js +6 -6
- package/dist/_hooks/ResizeObserver.js +5 -5
- package/dist/_hooks/TextEntry.js +5 -2
- package/dist/_hooks/TextEntry.js.map +1 -1
- package/dist/_hooks/Timer.js +1 -0
- package/dist/_hooks/Timer.js.map +1 -1
- package/dist/_hooks/Trigger.js +19 -13
- package/dist/_hooks/Trigger.js.map +1 -1
- package/dist/_hooks/Visibility.js +9 -7
- package/dist/_hooks/Visibility.js.map +1 -1
- package/dist/_hooks/ZIndex.js +7 -7
- package/dist/_hooks/getI18nProviderLocale.js +2 -1
- package/dist/_hooks/getI18nProviderLocale.js.map +1 -1
- package/dist/_hooks/useCurrentMedia.js +5 -5
- package/dist/_hooks/useFileUploader.js +15 -15
- package/dist/_hooks/useFileUploader.js.map +1 -1
- package/dist/_hooks/useFocusWithin.js +5 -5
- package/dist/_hooks/useMediaLessThan.js +5 -5
- package/dist/_hooks/useSet.js +5 -5
- package/dist/_styles/colors.js +6 -6
- package/dist/_styles/spacing.d.ts +27 -0
- package/dist/_styles/spacing.js +27 -0
- package/dist/_styles/spacing.js.map +1 -1
- package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
- package/dist/_typedoc/AvatarStack/AvatarStack.types.json +24 -24
- package/dist/_typedoc/Badge/Badge.types.json +6 -6
- package/dist/_typedoc/Banner/Banner.types.json +13 -13
- package/dist/_typedoc/Box/Box.types.json +68 -68
- package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
- package/dist/_typedoc/Button/Button.types.json +24 -16
- 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 +43 -39
- package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +29 -29
- package/dist/_typedoc/Dropzone/Dropzone.types.json +41 -41
- package/dist/_typedoc/EmptyState/EmptyState.types.json +14 -14
- package/dist/_typedoc/FileList/FileList.types.json +9 -9
- package/dist/_typedoc/FileSelect/FileSelect.types.json +26 -26
- package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
- package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
- package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +9 -9
- package/dist/_typedoc/Flex/Flex.types.json +27 -27
- package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
- package/dist/_typedoc/Form/Form.types.json +745 -745
- package/dist/_typedoc/GhostPlaceholder/GhostPlaceholder.types.json +12 -12
- package/dist/_typedoc/Grid/Grid.types.json +8 -8
- package/dist/_typedoc/GroupSelect/GroupSelect.types.json +52 -52
- package/dist/_typedoc/Input/Input.types.json +2 -2
- package/dist/_typedoc/Link/Link.types.json +4 -4
- package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
- package/dist/_typedoc/Menu/Menu.types.json +62 -62
- package/dist/_typedoc/MenuImperative/MenuImperative.types.json +74 -74
- package/dist/_typedoc/Modal/Modal.types.json +50 -50
- 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 +34 -30
- 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 +19 -19
- 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 +11 -11
- package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +6 -6
- package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
- package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +48 -44
- package/dist/_typedoc/TieredSelect/TieredSelect.types.json +28 -28
- package/dist/_typedoc/Tile/Tile.types.json +30 -30
- package/dist/_typedoc/Title/Title.types.json +1 -1
- package/dist/_typedoc/Toast/Toast.types.json +4 -4
- package/dist/_typedoc/ToggleButton/ToggleButton.types.json +4 -4
- package/dist/_typedoc/Token/Token.types.json +4 -4
- package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
- package/dist/_typedoc/ToolLandingPage/ToolLandingPage.types.json +7 -7
- package/dist/_typedoc/Tooltip/Tooltip.types.json +13 -13
- package/dist/_typedoc/Tree/Tree.types.json +86 -86
- package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
- package/dist/_typedoc/Typography/Typography.types.json +9 -9
- package/dist/_typedoc/_utils/types.json +3 -3
- package/dist/_typedoc/deprecations.json +1 -1
- package/dist/_utils/TinyMCE.js +4 -4
- package/dist/_utils/TinyMCE.js.map +1 -1
- package/dist/_utils/closeWithConfirm.js +5 -5
- package/dist/_utils/closeWithConfirm.js.map +1 -1
- package/dist/_utils/dateTime.js +6 -6
- package/dist/_utils/dateTime.js.map +1 -1
- package/dist/_utils/getAnchorPosition.js +11 -11
- package/dist/_utils/getAnchorPosition.js.map +1 -1
- package/dist/_utils/partition.js +5 -5
- package/dist/_utils/runInQueue.js +4 -4
- package/dist/_utils/runInQueue.js.map +1 -1
- package/dist/_utils/slotify.js +7 -7
- package/dist/_utils/triggerListeners.js +6 -6
- package/package.json +5 -4
- package/tsconfig.prod.json +2 -1
- package/tsconfig.test.json +1 -1
package/babel.config.js
CHANGED
|
@@ -4,7 +4,10 @@ const namespace = `core-${version}`
|
|
|
4
4
|
|
|
5
5
|
if (process.env.BUNDLING) {
|
|
6
6
|
module.exports = {
|
|
7
|
-
ignore: [
|
|
7
|
+
ignore: [
|
|
8
|
+
/(.*)\.(coverage|stories|test|snap|figma)\.?(.*)?/,
|
|
9
|
+
'**/__tests__/**/*',
|
|
10
|
+
],
|
|
8
11
|
presets: [
|
|
9
12
|
['@babel/preset-env', { modules: false }],
|
|
10
13
|
'@babel/preset-react',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnchorNavigation.js","names":["React","StyledAnchor","StyledAnchorNavigation","StyledAnchorSection","Anchor","_ref","label","active","onClick","handleKeyDown","event","key","createElement","$active","onKeyDown","tabIndex","AnchorNavigation","forwardRef","_ref2","ref","sections","setActive","map","_ref3","id"],"sources":["../../src/AnchorNavigation/AnchorNavigation.tsx"],"sourcesContent":["import React from 'react'\nimport {\n StyledAnchor,\n StyledAnchorNavigation,\n StyledAnchorSection,\n} from './AnchorNavigation.styles'\nimport type { AnchorNavigationSection } from './AnchorNavigation.types'\n\ntype AnchorNavigationProps = {\n sections: AnchorNavigationSection[]\n active: string\n setActive: (id: string) => void\n}\n\ntype AnchorProps = {\n label: string\n active: boolean\n onClick: () => void\n}\n\nconst Anchor = ({ label, active, onClick }: AnchorProps) => {\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n onClick()\n }\n }\n return (\n <StyledAnchorSection\n $active={active}\n onClick={onClick}\n onKeyDown={handleKeyDown}\n >\n <StyledAnchor aria-current={active} $active={active} tabIndex={0}>\n {label}\n </StyledAnchor>\n </StyledAnchorSection>\n )\n}\n\nexport const AnchorNavigation = React.forwardRef<\n HTMLUListElement,\n AnchorNavigationProps\n>(({ sections, active, setActive }, ref) => {\n return (\n <StyledAnchorNavigation ref={ref}>\n {sections.map(({ id, label }) => {\n return (\n <Anchor\n key={id}\n onClick={() => setActive(id)}\n active={active === id}\n label={label}\n />\n )\n })}\n </StyledAnchorNavigation>\n )\n})\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACEC,YAAY,EACZC,sBAAsB,EACtBC,mBAAmB,QACd,2BAA2B;AAelC,IAAMC,MAAM,GAAG,SAATA,MAAMA,CAAAC,IAAA,EAAgD;EAAA,IAA1CC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,MAAM,GAAAF,IAAA,CAANE,MAAM;IAAEC,OAAO,GAAAH,IAAA,CAAPG,OAAO;EACtC,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,KAA0B,EAAK;IACpD,IAAIA,KAAK,CAACC,GAAG,KAAK,OAAO,IAAID,KAAK,CAACC,GAAG,KAAK,GAAG,EAAE;MAC9CH,OAAO,CAAC,CAAC;IACX;EACF,CAAC;EACD,oBACER,KAAA,CAAAY,aAAA,CAACT,mBAAmB;IAClBU,OAAO,EAAEN,MAAO;IAChBC,OAAO,EAAEA,OAAQ;IACjBM,SAAS,EAAEL;EAAc,gBAEzBT,KAAA,CAAAY,aAAA,CAACX,YAAY;IAAC,gBAAcM,MAAO;IAACM,OAAO,EAAEN,MAAO;IAACQ,QAAQ,EAAE;EAAE,GAC9DT,KACW,CACK,CAAC;AAE1B,CAAC;AAED,OAAO,IAAMU,gBAAgB,gBAAGhB,KAAK,CAACiB,UAAU,CAG9C,UAAAC,KAAA,EAAkCC,GAAG,EAAK;EAAA,IAAvCC,QAAQ,GAAAF,KAAA,CAARE,QAAQ;IAAEb,MAAM,GAAAW,KAAA,CAANX,MAAM;IAAEc,SAAS,GAAAH,KAAA,CAATG,SAAS;EAC9B,oBACErB,KAAA,CAAAY,aAAA,CAACV,sBAAsB;IAACiB,GAAG,EAAEA;EAAI,GAC9BC,QAAQ,CAACE,GAAG,CAAC,UAAAC,KAAA,EAAmB;IAAA,IAAhBC,EAAE,GAAAD,KAAA,CAAFC,EAAE;MAAElB,KAAK,GAAAiB,KAAA,CAALjB,KAAK;IACxB,oBACEN,KAAA,CAAAY,aAAA,CAACR,MAAM;MACLO,GAAG,EAAEa,EAAG;MACRhB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"AnchorNavigation.js","names":["React","StyledAnchor","StyledAnchorNavigation","StyledAnchorSection","Anchor","_ref","label","active","onClick","handleKeyDown","event","key","createElement","$active","onKeyDown","tabIndex","AnchorNavigation","forwardRef","_ref2","ref","sections","setActive","map","_ref3","id"],"sources":["../../src/AnchorNavigation/AnchorNavigation.tsx"],"sourcesContent":["import React from 'react'\nimport {\n StyledAnchor,\n StyledAnchorNavigation,\n StyledAnchorSection,\n} from './AnchorNavigation.styles'\nimport type { AnchorNavigationSection } from './AnchorNavigation.types'\n\ntype AnchorNavigationProps = {\n sections: AnchorNavigationSection[]\n active: string\n setActive: (id: string) => void\n}\n\ntype AnchorProps = {\n label: string\n active: boolean\n onClick: () => void\n}\n\nconst Anchor = ({ label, active, onClick }: AnchorProps) => {\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n onClick()\n }\n }\n return (\n <StyledAnchorSection\n $active={active}\n onClick={onClick}\n onKeyDown={handleKeyDown}\n >\n <StyledAnchor aria-current={active} $active={active} tabIndex={0}>\n {label}\n </StyledAnchor>\n </StyledAnchorSection>\n )\n}\n\nexport const AnchorNavigation = React.forwardRef<\n HTMLUListElement,\n AnchorNavigationProps\n>(({ sections, active, setActive }, ref) => {\n return (\n <StyledAnchorNavigation ref={ref}>\n {sections.map(({ id, label }) => {\n return (\n <Anchor\n key={id}\n onClick={() => setActive(id)}\n active={active === id}\n label={label}\n />\n )\n })}\n </StyledAnchorNavigation>\n )\n})\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACEC,YAAY,EACZC,sBAAsB,EACtBC,mBAAmB,QACd,2BAA2B;AAelC,IAAMC,MAAM,GAAG,SAATA,MAAMA,CAAAC,IAAA,EAAgD;EAAA,IAA1CC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,MAAM,GAAAF,IAAA,CAANE,MAAM;IAAEC,OAAO,GAAAH,IAAA,CAAPG,OAAO;EACtC,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,KAA0B,EAAK;IACpD,IAAIA,KAAK,CAACC,GAAG,KAAK,OAAO,IAAID,KAAK,CAACC,GAAG,KAAK,GAAG,EAAE;MAC9CH,OAAO,CAAC,CAAC;IACX;EACF,CAAC;EACD,oBACER,KAAA,CAAAY,aAAA,CAACT,mBAAmB;IAClBU,OAAO,EAAEN,MAAO;IAChBC,OAAO,EAAEA,OAAQ;IACjBM,SAAS,EAAEL;EAAc,gBAEzBT,KAAA,CAAAY,aAAA,CAACX,YAAY;IAAC,gBAAcM,MAAO;IAACM,OAAO,EAAEN,MAAO;IAACQ,QAAQ,EAAE;EAAE,GAC9DT,KACW,CACK,CAAC;AAE1B,CAAC;AAED,OAAO,IAAMU,gBAAgB,gBAAGhB,KAAK,CAACiB,UAAU,CAG9C,UAAAC,KAAA,EAAkCC,GAAG,EAAK;EAAA,IAAvCC,QAAQ,GAAAF,KAAA,CAARE,QAAQ;IAAEb,MAAM,GAAAW,KAAA,CAANX,MAAM;IAAEc,SAAS,GAAAH,KAAA,CAATG,SAAS;EAC9B,oBACErB,KAAA,CAAAY,aAAA,CAACV,sBAAsB;IAACiB,GAAG,EAAEA;EAAI,GAC9BC,QAAQ,CAACE,GAAG,CAAC,UAAAC,KAAA,EAAmB;IAAA,IAAhBC,EAAE,GAAAD,KAAA,CAAFC,EAAE;MAAElB,KAAK,GAAAiB,KAAA,CAALjB,KAAK;IACxB,oBACEN,KAAA,CAAAY,aAAA,CAACR,MAAM;MACLO,GAAG,EAAEa,EAAG;MACRhB,OAAO,EAAE,SAATA,OAAOA,CAAA;QAAA,OAAQa,SAAS,CAACG,EAAE,CAAC;MAAA,CAAC;MAC7BjB,MAAM,EAAEA,MAAM,KAAKiB,EAAG;MACtBlB,KAAK,EAAEA;IAAM,CACd,CAAC;EAEN,CAAC,CACqB,CAAC;AAE7B,CAAC,CAAC"}
|
|
@@ -5,11 +5,11 @@ import { getEllipsis } from '../_styles/mixins';
|
|
|
5
5
|
import { spacing } from '../_styles/spacing';
|
|
6
6
|
export var StyledAnchorNavigation = /*#__PURE__*/styled.ul.withConfig({
|
|
7
7
|
displayName: "StyledAnchorNavigation",
|
|
8
|
-
componentId: "core-
|
|
8
|
+
componentId: "core-12_17_7__sc-aacdj4-0"
|
|
9
9
|
})(["max-width:200px;margin:0;padding-inline-start:0;"]);
|
|
10
10
|
export var StyledAnchorSection = /*#__PURE__*/styled.li.withConfig({
|
|
11
11
|
displayName: "StyledAnchorSection",
|
|
12
|
-
componentId: "core-
|
|
12
|
+
componentId: "core-12_17_7__sc-aacdj4-1"
|
|
13
13
|
})(["display:flex;cursor:pointer;border-left:", "px solid ", ";background-color:", ";border-top-right-radius:4px;border-bottom-right-radius:4px;:hover{border-left:", "px solid ", ";background-color:", ";}"], spacing.xs, function (_ref) {
|
|
14
14
|
var $active = _ref.$active;
|
|
15
15
|
return $active ? colors.gray15 : colors.gray90;
|
|
@@ -22,7 +22,7 @@ export var StyledAnchorSection = /*#__PURE__*/styled.li.withConfig({
|
|
|
22
22
|
}, colors.gray90);
|
|
23
23
|
export var StyledAnchor = /*#__PURE__*/styled.a.withConfig({
|
|
24
24
|
displayName: "StyledAnchor",
|
|
25
|
-
componentId: "core-
|
|
25
|
+
componentId: "core-12_17_7__sc-aacdj4-2"
|
|
26
26
|
})(["width:100%;padding:6px ", "px;", " ", ";", " :focus-visible{box-shadow:inset 0 0 0 2px ", ";outline:none;}"], spacing.sm, getTypographyIntent('body'), function (_ref4) {
|
|
27
27
|
var $active = _ref4.$active;
|
|
28
28
|
return $active ? css(["font-weight:600;"]) : '';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
function _slicedToArray(
|
|
1
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
2
2
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
3
|
-
function _unsupportedIterableToArray(
|
|
4
|
-
function _arrayLikeToArray(
|
|
5
|
-
function _iterableToArrayLimit(
|
|
6
|
-
function _arrayWithHoles(
|
|
3
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
4
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
5
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
6
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
7
7
|
import throttle from 'lodash.throttle';
|
|
8
8
|
import React from 'react';
|
|
9
9
|
export var AnchorNavigationContext = /*#__PURE__*/React.createContext({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnchorNavigationProvider.js","names":["throttle","React","AnchorNavigationContext","createContext","offset","sections","active","registerSection","unregisterSection","setActive","useAnchorNavigationContext","useContext","findScrollContainer","element","parent","parentElement","_window$getComputedSt","window","getComputedStyle","overflow","split","every","o","document","documentElement","getElementScrollPosition","scroller","y","el","offsetTop","offsetParent","AnchorNavigationProvider","_ref","children","_ref$offset","_React$useState","useState","_React$useState2","_slicedToArray","ref","useRef","blockScrollTimestamp","changeActive","id","_sections$find","_ref$current","current","find","section","scrollTo","top","behavior","Date","getTime","useEffect","onScroll","event","_ref$current2","now","length","scrollTop","scrollY","_sections$","selectedIndex","findIndex","item","selectedElement","Math","max","throttleScrollEvent","addEventListener","capture","passive","removeEventListener","cancel","label","_ref$current3","index","push","splice","createElement","Provider","value"],"sources":["../../src/AnchorNavigation/AnchorNavigationProvider.tsx"],"sourcesContent":["import throttle from 'lodash.throttle'\nimport React from 'react'\nimport type { AnchorNavigationElementSection } from './AnchorNavigation.types'\n\nexport const AnchorNavigationContext = React.createContext<{\n offset: number\n sections: AnchorNavigationElementSection[]\n active: string\n registerSection: (id: string, label: string, element: HTMLElement) => void\n unregisterSection: (id: string) => void\n setActive: (id: string, withScroll?: boolean) => void\n}>({\n offset: 0,\n sections: [],\n active: '',\n registerSection: () => {},\n unregisterSection: () => {},\n setActive: () => {},\n})\n\nexport const useAnchorNavigationContext = () =>\n React.useContext(AnchorNavigationContext)\n\ninterface AnchorNavigationProviderProps {\n offset?: number\n}\n\nfunction findScrollContainer(element: HTMLElement): HTMLElement {\n let parent = element.parentElement\n while (parent) {\n const { overflow } = window.getComputedStyle(parent)\n if (overflow.split(' ').every((o) => o === 'auto' || o === 'scroll')) {\n return parent\n }\n parent = parent.parentElement\n }\n\n return document.documentElement\n}\n\nfunction getElementScrollPosition(\n element: HTMLElement,\n scroller: HTMLElement | null\n): number {\n let y = 0\n let el: HTMLElement | null = element\n\n do {\n y += el.offsetTop\n el = el.offsetParent as HTMLElement | null\n } while (el && el !== scroller)\n\n return y\n}\n\nexport function AnchorNavigationProvider({\n children,\n offset = 0,\n}: React.PropsWithChildren<AnchorNavigationProviderProps>) {\n const [active, setActive] = React.useState('')\n const ref = React.useRef<{\n sections: AnchorNavigationElementSection[]\n blockScrollTimestamp: number\n scroller: HTMLElement | null\n }>({\n sections: [],\n blockScrollTimestamp: 0,\n scroller: null,\n })\n\n const changeActive = (id: string) => {\n const { sections, scroller } = ref.current\n setActive(id)\n\n const element = sections.find((section) => section.id === id)?.element\n\n if (element) {\n ;(scroller || window).scrollTo({\n top: getElementScrollPosition(element, scroller) - offset,\n behavior: 'smooth',\n })\n\n // Disable scroll listener to avoid changing active element\n ref.current.blockScrollTimestamp = new Date().getTime()\n }\n }\n\n React.useEffect(() => {\n const onScroll = (event?: Event) => {\n const { blockScrollTimestamp, sections, scroller } = ref.current\n const now = new Date().getTime()\n\n if (!sections.length) return\n\n // Disable scroll event when auto scrolling by clicking on the anchor\n if (now - blockScrollTimestamp < 200) {\n ref.current.blockScrollTimestamp = now\n return\n }\n\n const y =\n (scroller\n ? scroller.scrollTop\n : window.scrollY || document.documentElement.scrollTop) + offset\n\n // Before the first element\n if (getElementScrollPosition(sections[0].element, scroller) > y) {\n if (event) {\n setActive(sections[0]?.id)\n }\n return\n }\n\n // Get first element overflowing top, get the previous one\n const selectedIndex = sections.findIndex(\n (item) => getElementScrollPosition(item.element, scroller) > y\n )\n\n const selectedElement =\n selectedIndex === -1\n ? sections[sections.length - 1]\n : sections[Math.max(selectedIndex - 1, 0)]\n\n if (selectedElement) {\n setActive(selectedElement.id)\n }\n }\n\n const throttleScrollEvent = throttle(onScroll, 100)\n addEventListener('scroll', throttleScrollEvent, {\n capture: false,\n passive: true,\n })\n onScroll()\n\n return () => {\n removeEventListener('scroll', throttleScrollEvent, { capture: false })\n throttleScrollEvent.cancel()\n }\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n const registerSection = (id: string, label: string, element: HTMLElement) => {\n if (!ref.current.scroller) {\n ref.current.scroller = findScrollContainer(element)\n }\n\n const { sections, scroller } = ref.current\n\n if (sections.find((section) => section.id === id)) {\n return\n }\n\n const y = getElementScrollPosition(element, scroller)\n const index = sections.findIndex(\n (section) => getElementScrollPosition(section.element, scroller) > y\n )\n\n if (index === -1) {\n sections.push({ id, label, element })\n } else {\n sections.splice(index, 0, { id, label, element })\n }\n\n if (sections.length === 1) {\n setActive(id)\n }\n }\n\n const unregisterSection = (id: string) => {\n const { sections } = ref.current\n const index = sections.findIndex((section) => section.id === id)\n if (index !== -1) {\n sections.splice(index, 1)\n }\n }\n\n return (\n <AnchorNavigationContext.Provider\n value={{\n offset,\n active,\n sections: ref.current.sections,\n setActive: changeActive,\n registerSection,\n unregisterSection,\n }}\n >\n {children}\n </AnchorNavigationContext.Provider>\n )\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AnchorNavigationProvider.js","names":["throttle","React","AnchorNavigationContext","createContext","offset","sections","active","registerSection","unregisterSection","setActive","useAnchorNavigationContext","useContext","findScrollContainer","element","parent","parentElement","_window$getComputedSt","window","getComputedStyle","overflow","split","every","o","document","documentElement","getElementScrollPosition","scroller","y","el","offsetTop","offsetParent","AnchorNavigationProvider","_ref","children","_ref$offset","_React$useState","useState","_React$useState2","_slicedToArray","ref","useRef","blockScrollTimestamp","changeActive","id","_sections$find","_ref$current","current","find","section","scrollTo","top","behavior","Date","getTime","useEffect","onScroll","event","_ref$current2","now","length","scrollTop","scrollY","_sections$","selectedIndex","findIndex","item","selectedElement","Math","max","throttleScrollEvent","addEventListener","capture","passive","removeEventListener","cancel","label","_ref$current3","index","push","splice","createElement","Provider","value"],"sources":["../../src/AnchorNavigation/AnchorNavigationProvider.tsx"],"sourcesContent":["import throttle from 'lodash.throttle'\nimport React from 'react'\nimport type { AnchorNavigationElementSection } from './AnchorNavigation.types'\n\nexport const AnchorNavigationContext = React.createContext<{\n offset: number\n sections: AnchorNavigationElementSection[]\n active: string\n registerSection: (id: string, label: string, element: HTMLElement) => void\n unregisterSection: (id: string) => void\n setActive: (id: string, withScroll?: boolean) => void\n}>({\n offset: 0,\n sections: [],\n active: '',\n registerSection: () => {},\n unregisterSection: () => {},\n setActive: () => {},\n})\n\nexport const useAnchorNavigationContext = () =>\n React.useContext(AnchorNavigationContext)\n\ninterface AnchorNavigationProviderProps {\n offset?: number\n}\n\nfunction findScrollContainer(element: HTMLElement): HTMLElement {\n let parent = element.parentElement\n while (parent) {\n const { overflow } = window.getComputedStyle(parent)\n if (overflow.split(' ').every((o) => o === 'auto' || o === 'scroll')) {\n return parent\n }\n parent = parent.parentElement\n }\n\n return document.documentElement\n}\n\nfunction getElementScrollPosition(\n element: HTMLElement,\n scroller: HTMLElement | null\n): number {\n let y = 0\n let el: HTMLElement | null = element\n\n do {\n y += el.offsetTop\n el = el.offsetParent as HTMLElement | null\n } while (el && el !== scroller)\n\n return y\n}\n\nexport function AnchorNavigationProvider({\n children,\n offset = 0,\n}: React.PropsWithChildren<AnchorNavigationProviderProps>) {\n const [active, setActive] = React.useState('')\n const ref = React.useRef<{\n sections: AnchorNavigationElementSection[]\n blockScrollTimestamp: number\n scroller: HTMLElement | null\n }>({\n sections: [],\n blockScrollTimestamp: 0,\n scroller: null,\n })\n\n const changeActive = (id: string) => {\n const { sections, scroller } = ref.current\n setActive(id)\n\n const element = sections.find((section) => section.id === id)?.element\n\n if (element) {\n ;(scroller || window).scrollTo({\n top: getElementScrollPosition(element, scroller) - offset,\n behavior: 'smooth',\n })\n\n // Disable scroll listener to avoid changing active element\n ref.current.blockScrollTimestamp = new Date().getTime()\n }\n }\n\n React.useEffect(() => {\n const onScroll = (event?: Event) => {\n const { blockScrollTimestamp, sections, scroller } = ref.current\n const now = new Date().getTime()\n\n if (!sections.length) return\n\n // Disable scroll event when auto scrolling by clicking on the anchor\n if (now - blockScrollTimestamp < 200) {\n ref.current.blockScrollTimestamp = now\n return\n }\n\n const y =\n (scroller\n ? scroller.scrollTop\n : window.scrollY || document.documentElement.scrollTop) + offset\n\n // Before the first element\n if (getElementScrollPosition(sections[0].element, scroller) > y) {\n if (event) {\n setActive(sections[0]?.id)\n }\n return\n }\n\n // Get first element overflowing top, get the previous one\n const selectedIndex = sections.findIndex(\n (item) => getElementScrollPosition(item.element, scroller) > y\n )\n\n const selectedElement =\n selectedIndex === -1\n ? sections[sections.length - 1]\n : sections[Math.max(selectedIndex - 1, 0)]\n\n if (selectedElement) {\n setActive(selectedElement.id)\n }\n }\n\n const throttleScrollEvent = throttle(onScroll, 100)\n addEventListener('scroll', throttleScrollEvent, {\n capture: false,\n passive: true,\n })\n onScroll()\n\n return () => {\n removeEventListener('scroll', throttleScrollEvent, { capture: false })\n throttleScrollEvent.cancel()\n }\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n const registerSection = (id: string, label: string, element: HTMLElement) => {\n if (!ref.current.scroller) {\n ref.current.scroller = findScrollContainer(element)\n }\n\n const { sections, scroller } = ref.current\n\n if (sections.find((section) => section.id === id)) {\n return\n }\n\n const y = getElementScrollPosition(element, scroller)\n const index = sections.findIndex(\n (section) => getElementScrollPosition(section.element, scroller) > y\n )\n\n if (index === -1) {\n sections.push({ id, label, element })\n } else {\n sections.splice(index, 0, { id, label, element })\n }\n\n if (sections.length === 1) {\n setActive(id)\n }\n }\n\n const unregisterSection = (id: string) => {\n const { sections } = ref.current\n const index = sections.findIndex((section) => section.id === id)\n if (index !== -1) {\n sections.splice(index, 1)\n }\n }\n\n return (\n <AnchorNavigationContext.Provider\n value={{\n offset,\n active,\n sections: ref.current.sections,\n setActive: changeActive,\n registerSection,\n unregisterSection,\n }}\n >\n {children}\n </AnchorNavigationContext.Provider>\n )\n}\n"],"mappings":"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"}
|
package/dist/Avatar/Avatar.js
CHANGED
|
@@ -1,22 +1,21 @@
|
|
|
1
|
-
function _typeof(
|
|
1
|
+
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); }
|
|
2
2
|
var _excluded = ["as", "clickable", "disabled", "href", "size", "children", "onBlur", "onFocus", "rel", "role", "target"],
|
|
3
3
|
_excluded2 = ["icon"],
|
|
4
4
|
_excluded3 = ["children"],
|
|
5
5
|
_excluded4 = ["imageUrl"];
|
|
6
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (
|
|
7
|
-
function ownKeys(
|
|
8
|
-
function _objectSpread(
|
|
9
|
-
function _defineProperty(
|
|
10
|
-
function _toPropertyKey(
|
|
11
|
-
function _toPrimitive(
|
|
12
|
-
function _objectWithoutProperties(
|
|
13
|
-
function _objectWithoutPropertiesLoose(
|
|
6
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
7
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
8
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
9
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
10
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
11
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
12
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
13
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
14
14
|
import { useButton } from '@react-aria/button';
|
|
15
15
|
import React from 'react';
|
|
16
16
|
import { addSubcomponents } from '../_utils/addSubcomponents';
|
|
17
17
|
import { StyledAvatarContainer, StyledAvatarOverlay, StyledIconContainer, StyledLabelContainer, StyledPortraitContainer } from './Avatar.styles';
|
|
18
18
|
function AvatarInner(_ref, ref) {
|
|
19
|
-
var _ref3, _ref4;
|
|
20
19
|
var as = _ref.as,
|
|
21
20
|
clickable = _ref.clickable,
|
|
22
21
|
disabled = _ref.disabled,
|
|
@@ -48,7 +47,7 @@ function AvatarInner(_ref, ref) {
|
|
|
48
47
|
var a11yProps = role === 'button' ? _objectSpread(_objectSpread({}, buttonProps), {}, {
|
|
49
48
|
as: as || 'div',
|
|
50
49
|
$clickable: !disabled
|
|
51
|
-
}) : role === 'link' ? (
|
|
50
|
+
}) : role === 'link' ? _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, 'aria-disabled', linkDisabled ? true : undefined), "as", as || 'a'), "$clickable", !linkDisabled), "href", linkDisabled ? undefined : href), "onBlur", onBlur), "onFocus", onFocus), "rel", rel), "role", 'link'), "target", target) : role === 'img' ? _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, 'aria-disabled', disabled ? true : undefined), "role", 'img'), "onBlur", onBlur), "onFocus", onFocus) : {
|
|
52
51
|
onBlur: onBlur,
|
|
53
52
|
onFocus: onFocus
|
|
54
53
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.js","names":["useButton","React","addSubcomponents","StyledAvatarContainer","StyledAvatarOverlay","StyledIconContainer","StyledLabelContainer","StyledPortraitContainer","AvatarInner","_ref","ref","_ref3","_ref4","as","clickable","disabled","href","size","children","onBlur","onFocus","rel","role","target","props","_objectWithoutProperties","_excluded","_ref2","onPress","_useButton","_objectSpread","elementType","isDisabled","type","buttonProps","linkDisabled","a11yProps","$clickable","_defineProperty","undefined","createElement","_extends","$disabled","$size","Children","only","Avatar_","forwardRef","NextAvatar_","Icon","_ref5","icon","_excluded2","Label","_ref6","_excluded3","Portrait","_ref7","imageUrl","_excluded4","$imageUrl","displayName","NextAvatar","Avatar"],"sources":["../../src/Avatar/Avatar.tsx"],"sourcesContent":["import { useButton } from '@react-aria/button'\nimport React from 'react'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport type { DivAttributes } from '../_utils/types'\nimport {\n StyledAvatarContainer,\n StyledAvatarOverlay,\n StyledIconContainer,\n StyledLabelContainer,\n StyledPortraitContainer,\n} from './Avatar.styles'\nimport type {\n AvatarIconProps,\n AvatarLabelProps,\n AvatarPortraitProps,\n AvatarProps,\n AvatarRef,\n AvatarRoles,\n AvatarRoleType,\n BaseAvatarProps,\n} from './Avatar.types'\n\nfunction AvatarInner(\n {\n as,\n clickable,\n disabled,\n // @ts-ignore link only\n href,\n size,\n children,\n onBlur,\n onFocus,\n // @ts-ignore link only\n rel,\n // @ts-ignore not on legacy\n role,\n // @ts-ignore link only\n target,\n ...props\n }: AvatarProps<AvatarRoleType>,\n ref: AvatarRef<AvatarRoleType>\n) {\n const { onPress } = props as AvatarProps<'button'>\n\n let { buttonProps } = useButton(\n {\n ...props,\n onBlur: onBlur as (e: React.FocusEvent) => void,\n onFocus: onFocus as (e: React.FocusEvent) => void,\n elementType: (as as any as string) === 'a' ? 'a' : 'div',\n href,\n isDisabled: disabled,\n onPress,\n rel,\n target,\n type: 'button',\n },\n ref as any // TODO fix\n )\n\n const linkDisabled = disabled || (role === 'link' && !href)\n\n const a11yProps =\n role === 'button'\n ? { ...buttonProps, as: as || 'div', $clickable: !disabled }\n : role === 'link'\n ? {\n ['aria-disabled']: linkDisabled ? true : undefined,\n as: as || 'a',\n $clickable: !linkDisabled,\n href: linkDisabled ? undefined : href,\n onBlur,\n onFocus,\n rel,\n role: 'link',\n target,\n }\n : role === 'img'\n ? {\n ['aria-disabled']: disabled ? true : undefined,\n role: 'img',\n onBlur,\n onFocus,\n }\n : { onBlur, onFocus }\n\n return (\n <StyledAvatarContainer\n ref={ref as any}\n $clickable={clickable}\n $disabled={disabled}\n $size={size}\n data-qa=\"core-avatar\"\n {...a11yProps}\n {...(props as any)} // TODO fix\n >\n {React.Children.only(children)}\n <StyledAvatarOverlay aria-hidden />\n </StyledAvatarContainer>\n )\n}\n\nconst Avatar_ = React.forwardRef(AvatarInner) as <Role extends AvatarRoles>(\n props:\n | AvatarProps<Role>\n // Legacy\n | (BaseAvatarProps & { ref?: React.ComponentPropsWithRef<'div'>['ref'] })\n) => ReturnType<typeof AvatarInner>\n\nconst NextAvatar_ = React.forwardRef(AvatarInner) as <Role extends AvatarRoles>(\n props: AvatarProps<Role>\n) => ReturnType<typeof AvatarInner>\n\nexport const Icon = React.forwardRef<\n HTMLDivElement,\n DivAttributes & AvatarIconProps\n>(function Icon({ icon, ...props }, ref) {\n return (\n <StyledIconContainer ref={ref} {...props}>\n {icon}\n </StyledIconContainer>\n )\n})\n\nexport const Label = React.forwardRef<\n HTMLDivElement,\n DivAttributes & AvatarLabelProps\n>(function Label({ children, ...props }, ref) {\n // Breaking change: Option to make aria-hidden since parent requires a label.\n // Can add in major once labelling is enforced\n return (\n <StyledLabelContainer ref={ref} {...props}>\n {children}\n </StyledLabelContainer>\n )\n})\n\nexport const Portrait = React.forwardRef<\n HTMLDivElement,\n DivAttributes & AvatarPortraitProps\n>(function Portrait({ imageUrl, ...props }, ref) {\n return (\n <StyledPortraitContainer ref={ref} $imageUrl={imageUrl} {...props}>\n <StyledAvatarOverlay />\n </StyledPortraitContainer>\n )\n})\n\n// @ts-ignore\nAvatar_.displayName = 'Avatar'\n\nIcon.displayName = 'Avatar.Icon'\n\nLabel.displayName = 'Avatar.Label'\n\nPortrait.displayName = 'Avatar.Portrait'\n\n// @ts-ignore\nNextAvatar_.displayName = 'Avatar'\n\n/**\n\n We use avatars to visually represent our users, places, and things in the app.\n These can be in the form of rich media or representative illustrations.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-avatar--demo)\n\n @see [Design Guidelines](https://design.procore.com/avatar)\n\n @a11y Avatar's need a `aria-label` and can be enhanced with `role` for interaction. If decorative only, add `aria-hidden`. The inaccessible `clickable` prop is for UI only\n\n */\nexport const NextAvatar = addSubcomponents(\n {\n Icon,\n Label,\n Portrait,\n },\n NextAvatar_\n)\n\n/**\n\n We use avatars to visually represent our users, places, and things in the app.\n These can be in the form of rich media or representative illustrations.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-avatar--demo)\n\n @see [Design Guidelines](https://design.procore.com/avatar)\n\n @a11y Avatar's need a `aria-label` and can be enhanced with `role` for interaction. If decorative only, add `aria-hidden`. The inaccessible `clickable` prop is for UI only\n\n */\nexport const Avatar = addSubcomponents(\n {\n Icon,\n Label,\n Portrait,\n },\n Avatar_\n)\n"],"mappings":";;;;;;;;;;;;;AAAA,SAASA,SAAS,QAAQ,oBAAoB;AAC9C,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,gBAAgB,QAAQ,4BAA4B;AAE7D,SACEC,qBAAqB,EACrBC,mBAAmB,EACnBC,mBAAmB,EACnBC,oBAAoB,EACpBC,uBAAuB,QAClB,iBAAiB;AAYxB,SAASC,WAAWA,CAAAC,IAAA,EAmBlBC,GAA8B,EAC9B;EAAA,IAAAC,KAAA,EAAAC,KAAA;EAAA,IAlBEC,EAAE,GAAAJ,IAAA,CAAFI,EAAE;IACFC,SAAS,GAAAL,IAAA,CAATK,SAAS;IACTC,QAAQ,GAAAN,IAAA,CAARM,QAAQ;IAERC,IAAI,GAAAP,IAAA,CAAJO,IAAI;IACJC,IAAI,GAAAR,IAAA,CAAJQ,IAAI;IACJC,QAAQ,GAAAT,IAAA,CAARS,QAAQ;IACRC,MAAM,GAAAV,IAAA,CAANU,MAAM;IACNC,OAAO,GAAAX,IAAA,CAAPW,OAAO;IAEPC,GAAG,GAAAZ,IAAA,CAAHY,GAAG;IAEHC,IAAI,GAAAb,IAAA,CAAJa,IAAI;IAEJC,MAAM,GAAAd,IAAA,CAANc,MAAM;IACHC,KAAK,GAAAC,wBAAA,CAAAhB,IAAA,EAAAiB,SAAA;EAIV,IAAAC,KAAA,GAAoBH,KAAK;IAAjBI,OAAO,GAAAD,KAAA,CAAPC,OAAO;EAEf,IAAAC,UAAA,GAAsB7B,SAAS,CAAA8B,aAAA,CAAAA,aAAA,KAExBN,KAAK;MACRL,MAAM,EAAEA,MAAuC;MAC/CC,OAAO,EAAEA,OAAwC;MACjDW,WAAW,EAAGlB,EAAE,KAAuB,GAAG,GAAG,GAAG,GAAG,KAAK;MACxDG,IAAI,EAAJA,IAAI;MACJgB,UAAU,EAAEjB,QAAQ;MACpBa,OAAO,EAAPA,OAAO;MACPP,GAAG,EAAHA,GAAG;MACHE,MAAM,EAANA,MAAM;MACNU,IAAI,EAAE;IAAQ,IAEhBvB,GAAG,CAAQ;IACb,CAAC;IAdKwB,WAAW,GAAAL,UAAA,CAAXK,WAAW;EAgBjB,IAAMC,YAAY,GAAGpB,QAAQ,IAAKO,IAAI,KAAK,MAAM,IAAI,CAACN,IAAK;EAE3D,IAAMoB,SAAS,GACbd,IAAI,KAAK,QAAQ,GAAAQ,aAAA,CAAAA,aAAA,KACRI,WAAW;IAAErB,EAAE,EAAEA,EAAE,IAAI,KAAK;IAAEwB,UAAU,EAAE,CAACtB;EAAQ,KACxDO,IAAI,KAAK,MAAM,IAAAX,KAAA,OAAA2B,eAAA,CAAA3B,KAAA,EAEZ,eAAe,EAAGwB,YAAY,GAAG,IAAI,GAAGI,SAAS,GAAAD,eAAA,CAAA3B,KAAA,QAC9CE,EAAE,IAAI,GAAG,GAAAyB,eAAA,CAAA3B,KAAA,gBACD,CAACwB,YAAY,GAAAG,eAAA,CAAA3B,KAAA,UACnBwB,YAAY,GAAGI,SAAS,GAAGvB,IAAI,GAAAsB,eAAA,CAAA3B,KAAA,YACrCQ,MAAM,GAAAmB,eAAA,CAAA3B,KAAA,aACNS,OAAO,GAAAkB,eAAA,CAAA3B,KAAA,SACPU,GAAG,GAAAiB,eAAA,CAAA3B,KAAA,UACG,MAAM,GAAA2B,eAAA,CAAA3B,KAAA,YACZY,MAAM,GAAAZ,KAAA,IAERW,IAAI,KAAK,KAAK,IAAAV,KAAA,OAAA0B,eAAA,CAAA1B,KAAA,EAEX,eAAe,EAAGG,QAAQ,GAAG,IAAI,GAAGwB,SAAS,GAAAD,eAAA,CAAA1B,KAAA,UACxC,KAAK,GAAA0B,eAAA,CAAA1B,KAAA,YACXO,MAAM,GAAAmB,eAAA,CAAA1B,KAAA,aACNQ,OAAO,GAAAR,KAAA,IAET;IAAEO,MAAM,EAANA,MAAM;IAAEC,OAAO,EAAPA;EAAQ,CAAC;EAEzB,oBACEnB,KAAA,CAAAuC,aAAA,CAACrC,qBAAqB,EAAAsC,QAAA;IACpB/B,GAAG,EAAEA,GAAW;IAChB2B,UAAU,EAAEvB,SAAU;IACtB4B,SAAS,EAAE3B,QAAS;IACpB4B,KAAK,EAAE1B,IAAK;IACZ,WAAQ;EAAa,GACjBmB,SAAS,EACRZ,KAAK,GAETvB,KAAK,CAAC2C,QAAQ,CAACC,IAAI,CAAC3B,QAAQ,CAAC,eAC9BjB,KAAA,CAAAuC,aAAA,CAACpC,mBAAmB;IAAC;EAAW,CAAE,CACb,CAAC;AAE5B;AAEA,IAAM0C,OAAO,gBAAG7C,KAAK,CAAC8C,UAAU,CAACvC,WAAW,CAKT;AAEnC,IAAMwC,WAAW,gBAAG/C,KAAK,CAAC8C,UAAU,CAACvC,WAAW,CAEb;AAEnC,OAAO,IAAMyC,IAAI,gBAAGhD,KAAK,CAAC8C,UAAU,CAGlC,SAASE,IAAIA,CAAAC,KAAA,EAAqBxC,GAAG,EAAE;EAAA,IAAvByC,IAAI,GAAAD,KAAA,CAAJC,IAAI;IAAK3B,KAAK,GAAAC,wBAAA,CAAAyB,KAAA,EAAAE,UAAA;EAC9B,oBACEnD,KAAA,CAAAuC,aAAA,CAACnC,mBAAmB,EAAAoC,QAAA;IAAC/B,GAAG,EAAEA;EAAI,GAAKc,KAAK,GACrC2B,IACkB,CAAC;AAE1B,CAAC,CAAC;AAEF,OAAO,IAAME,KAAK,gBAAGpD,KAAK,CAAC8C,UAAU,CAGnC,SAASM,KAAKA,CAAAC,KAAA,EAAyB5C,GAAG,EAAE;EAAA,IAA3BQ,QAAQ,GAAAoC,KAAA,CAARpC,QAAQ;IAAKM,KAAK,GAAAC,wBAAA,CAAA6B,KAAA,EAAAC,UAAA;EACnC;EACA;EACA,oBACEtD,KAAA,CAAAuC,aAAA,CAAClC,oBAAoB,EAAAmC,QAAA;IAAC/B,GAAG,EAAEA;EAAI,GAAKc,KAAK,GACtCN,QACmB,CAAC;AAE3B,CAAC,CAAC;AAEF,OAAO,IAAMsC,QAAQ,gBAAGvD,KAAK,CAAC8C,UAAU,CAGtC,SAASS,QAAQA,CAAAC,KAAA,EAAyB/C,GAAG,EAAE;EAAA,IAA3BgD,QAAQ,GAAAD,KAAA,CAARC,QAAQ;IAAKlC,KAAK,GAAAC,wBAAA,CAAAgC,KAAA,EAAAE,UAAA;EACtC,oBACE1D,KAAA,CAAAuC,aAAA,CAACjC,uBAAuB,EAAAkC,QAAA;IAAC/B,GAAG,EAAEA,GAAI;IAACkD,SAAS,EAAEF;EAAS,GAAKlC,KAAK,gBAC/DvB,KAAA,CAAAuC,aAAA,CAACpC,mBAAmB,MAAE,CACC,CAAC;AAE9B,CAAC,CAAC;;AAEF;AACA0C,OAAO,CAACe,WAAW,GAAG,QAAQ;AAE9BZ,IAAI,CAACY,WAAW,GAAG,aAAa;AAEhCR,KAAK,CAACQ,WAAW,GAAG,cAAc;AAElCL,QAAQ,CAACK,WAAW,GAAG,iBAAiB;;AAExC;AACAb,WAAW,CAACa,WAAW,GAAG,QAAQ;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,UAAU,GAAG5D,gBAAgB,CACxC;EACE+C,IAAI,EAAJA,IAAI;EACJI,KAAK,EAALA,KAAK;EACLG,QAAQ,EAARA;AACF,CAAC,EACDR,WACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMe,MAAM,GAAG7D,gBAAgB,CACpC;EACE+C,IAAI,EAAJA,IAAI;EACJI,KAAK,EAALA,KAAK;EACLG,QAAQ,EAARA;AACF,CAAC,EACDV,OACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"Avatar.js","names":["useButton","React","addSubcomponents","StyledAvatarContainer","StyledAvatarOverlay","StyledIconContainer","StyledLabelContainer","StyledPortraitContainer","AvatarInner","_ref","ref","as","clickable","disabled","href","size","children","onBlur","onFocus","rel","role","target","props","_objectWithoutProperties","_excluded","_ref2","onPress","_useButton","_objectSpread","elementType","isDisabled","type","buttonProps","linkDisabled","a11yProps","$clickable","_defineProperty","undefined","createElement","_extends","$disabled","$size","Children","only","Avatar_","forwardRef","NextAvatar_","Icon","_ref5","icon","_excluded2","Label","_ref6","_excluded3","Portrait","_ref7","imageUrl","_excluded4","$imageUrl","displayName","NextAvatar","Avatar"],"sources":["../../src/Avatar/Avatar.tsx"],"sourcesContent":["import { useButton } from '@react-aria/button'\nimport React from 'react'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport type { DivAttributes } from '../_utils/types'\nimport {\n StyledAvatarContainer,\n StyledAvatarOverlay,\n StyledIconContainer,\n StyledLabelContainer,\n StyledPortraitContainer,\n} from './Avatar.styles'\nimport type {\n AvatarIconProps,\n AvatarLabelProps,\n AvatarPortraitProps,\n AvatarProps,\n AvatarRef,\n AvatarRoles,\n AvatarRoleType,\n BaseAvatarProps,\n} from './Avatar.types'\n\nfunction AvatarInner(\n {\n as,\n clickable,\n disabled,\n // @ts-ignore link only\n href,\n size,\n children,\n onBlur,\n onFocus,\n // @ts-ignore link only\n rel,\n // @ts-ignore not on legacy\n role,\n // @ts-ignore link only\n target,\n ...props\n }: AvatarProps<AvatarRoleType>,\n ref: AvatarRef<AvatarRoleType>\n) {\n const { onPress } = props as AvatarProps<'button'>\n\n let { buttonProps } = useButton(\n {\n ...props,\n onBlur: onBlur as (e: React.FocusEvent) => void,\n onFocus: onFocus as (e: React.FocusEvent) => void,\n elementType: (as as any as string) === 'a' ? 'a' : 'div',\n href,\n isDisabled: disabled,\n onPress,\n rel,\n target,\n type: 'button',\n },\n ref as any // TODO fix\n )\n\n const linkDisabled = disabled || (role === 'link' && !href)\n\n const a11yProps =\n role === 'button'\n ? { ...buttonProps, as: as || 'div', $clickable: !disabled }\n : role === 'link'\n ? {\n ['aria-disabled']: linkDisabled ? true : undefined,\n as: as || 'a',\n $clickable: !linkDisabled,\n href: linkDisabled ? undefined : href,\n onBlur,\n onFocus,\n rel,\n role: 'link',\n target,\n }\n : role === 'img'\n ? {\n ['aria-disabled']: disabled ? true : undefined,\n role: 'img',\n onBlur,\n onFocus,\n }\n : { onBlur, onFocus }\n\n return (\n <StyledAvatarContainer\n ref={ref as any}\n $clickable={clickable}\n $disabled={disabled}\n $size={size}\n data-qa=\"core-avatar\"\n {...a11yProps}\n {...(props as any)} // TODO fix\n >\n {React.Children.only(children)}\n <StyledAvatarOverlay aria-hidden />\n </StyledAvatarContainer>\n )\n}\n\nconst Avatar_ = React.forwardRef(AvatarInner) as <Role extends AvatarRoles>(\n props:\n | AvatarProps<Role>\n // Legacy\n | (BaseAvatarProps & { ref?: React.ComponentPropsWithRef<'div'>['ref'] })\n) => ReturnType<typeof AvatarInner>\n\nconst NextAvatar_ = React.forwardRef(AvatarInner) as <Role extends AvatarRoles>(\n props: AvatarProps<Role>\n) => ReturnType<typeof AvatarInner>\n\nexport const Icon = React.forwardRef<\n HTMLDivElement,\n DivAttributes & AvatarIconProps\n>(function Icon({ icon, ...props }, ref) {\n return (\n <StyledIconContainer ref={ref} {...props}>\n {icon}\n </StyledIconContainer>\n )\n})\n\nexport const Label = React.forwardRef<\n HTMLDivElement,\n DivAttributes & AvatarLabelProps\n>(function Label({ children, ...props }, ref) {\n // Breaking change: Option to make aria-hidden since parent requires a label.\n // Can add in major once labelling is enforced\n return (\n <StyledLabelContainer ref={ref} {...props}>\n {children}\n </StyledLabelContainer>\n )\n})\n\nexport const Portrait = React.forwardRef<\n HTMLDivElement,\n DivAttributes & AvatarPortraitProps\n>(function Portrait({ imageUrl, ...props }, ref) {\n return (\n <StyledPortraitContainer ref={ref} $imageUrl={imageUrl} {...props}>\n <StyledAvatarOverlay />\n </StyledPortraitContainer>\n )\n})\n\n// @ts-ignore\nAvatar_.displayName = 'Avatar'\n\nIcon.displayName = 'Avatar.Icon'\n\nLabel.displayName = 'Avatar.Label'\n\nPortrait.displayName = 'Avatar.Portrait'\n\n// @ts-ignore\nNextAvatar_.displayName = 'Avatar'\n\n/**\n\n We use avatars to visually represent our users, places, and things in the app.\n These can be in the form of rich media or representative illustrations.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-avatar--demo)\n\n @see [Design Guidelines](https://design.procore.com/avatar)\n\n @a11y Avatar's need a `aria-label` and can be enhanced with `role` for interaction. If decorative only, add `aria-hidden`. The inaccessible `clickable` prop is for UI only\n\n */\nexport const NextAvatar = addSubcomponents(\n {\n Icon,\n Label,\n Portrait,\n },\n NextAvatar_\n)\n\n/**\n\n We use avatars to visually represent our users, places, and things in the app.\n These can be in the form of rich media or representative illustrations.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-avatar--demo)\n\n @see [Design Guidelines](https://design.procore.com/avatar)\n\n @a11y Avatar's need a `aria-label` and can be enhanced with `role` for interaction. If decorative only, add `aria-hidden`. The inaccessible `clickable` prop is for UI only\n\n */\nexport const Avatar = addSubcomponents(\n {\n Icon,\n Label,\n Portrait,\n },\n Avatar_\n)\n"],"mappings":"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"}
|
|
@@ -28,26 +28,26 @@ var iconSize = {
|
|
|
28
28
|
};
|
|
29
29
|
export var StyledAvatarOverlay = /*#__PURE__*/styled.div.withConfig({
|
|
30
30
|
displayName: "StyledAvatarOverlay",
|
|
31
|
-
componentId: "core-
|
|
31
|
+
componentId: "core-12_17_7__sc-7q2ydl-0"
|
|
32
32
|
})(["width:100%;height:100%;position:absolute;top:0;left:0;border-radius:100%;opacity:0;"]);
|
|
33
33
|
export var StyledIconContainer = /*#__PURE__*/styled.div.withConfig({
|
|
34
34
|
displayName: "StyledIconContainer",
|
|
35
|
-
componentId: "core-
|
|
35
|
+
componentId: "core-12_17_7__sc-7q2ydl-1"
|
|
36
36
|
})(["display:inline-flex;"]);
|
|
37
37
|
export var StyledLabelContainer = /*#__PURE__*/styled.div.withConfig({
|
|
38
38
|
displayName: "StyledLabelContainer",
|
|
39
|
-
componentId: "core-
|
|
39
|
+
componentId: "core-12_17_7__sc-7q2ydl-2"
|
|
40
40
|
})(["text-transform:uppercase;"]);
|
|
41
41
|
export var StyledPortraitContainer = /*#__PURE__*/styled.div.withConfig({
|
|
42
42
|
displayName: "StyledPortraitContainer",
|
|
43
|
-
componentId: "core-
|
|
43
|
+
componentId: "core-12_17_7__sc-7q2ydl-3"
|
|
44
44
|
})(["background-color:", ";background-position:center;background-repeat:no-repeat;background-size:cover;height:100%;width:100%;", ""], colors.white, function (_ref) {
|
|
45
45
|
var $imageUrl = _ref.$imageUrl;
|
|
46
46
|
return css(["background-image:url(", ");"], $imageUrl);
|
|
47
47
|
});
|
|
48
48
|
export var StyledAvatarContainer = /*#__PURE__*/styled.div.withConfig({
|
|
49
49
|
displayName: "StyledAvatarContainer",
|
|
50
|
-
componentId: "core-
|
|
50
|
+
componentId: "core-12_17_7__sc-7q2ydl-4"
|
|
51
51
|
})(["display:inline-flex;justify-content:center;align-items:center;border-radius:100%;overflow:hidden;position:relative;cursor:default;color:", ";background-color:", ";text-decoration:none;a:has(> &){text-decoration:none;}&:focus{", "}a:focus:has(> &){", " border-radius:100%;}", " ", ";"], colors.white, colors.gray30, getGapOutlineFocus, getGapOutlineFocus, function (_ref2) {
|
|
52
52
|
var _ref2$$size = _ref2.$size,
|
|
53
53
|
$size = _ref2$$size === void 0 ? 'md' : _ref2$$size;
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
function _typeof(
|
|
1
|
+
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); }
|
|
2
2
|
var _excluded = ["items", "title", "size", "getInitials", "getImageUrl", "onClickViewAll"];
|
|
3
|
-
function _slicedToArray(
|
|
3
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
4
4
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
5
|
-
function _unsupportedIterableToArray(
|
|
6
|
-
function _arrayLikeToArray(
|
|
7
|
-
function _iterableToArrayLimit(
|
|
8
|
-
function _arrayWithHoles(
|
|
9
|
-
function _objectWithoutProperties(
|
|
10
|
-
function _objectWithoutPropertiesLoose(
|
|
11
|
-
function ownKeys(
|
|
12
|
-
function _objectSpread(
|
|
13
|
-
function _defineProperty(
|
|
14
|
-
function _toPropertyKey(
|
|
15
|
-
function _toPrimitive(
|
|
16
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (
|
|
5
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
6
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
7
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
8
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
9
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
10
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
11
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
12
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
13
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
14
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
15
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
16
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
17
17
|
import { Building, People } from '@procore/core-icons';
|
|
18
18
|
import { useId } from '@react-aria/utils';
|
|
19
19
|
import React, { forwardRef, useMemo, useState } from 'react';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarStack.js","names":["Building","People","useId","React","forwardRef","useMemo","useState","Avatar","Button","ContactItem","Link","Modal","Popover","Typography","useI18nContext","colorsOrder","foldedItemsCap","restCountThreshold","visibleItemsCap","StyledAvatar","StyledContactItem","StyledContactItems","StyledModalBody","StyledViewAllWrapper","StyledWrapper","defaultPopoverTrigger","getOverflowValues","items","foldedItems","restCountLabel","isViewAllNeeded","visibleItems","length","slice","restItemsCount","concat","getIcon","type","size","createElement","getContactIcon","getAvatarIcon","avatarSize","getColorOrder","avatarItems","reduce","_ref","item","map","color","imageUrl","inactive","set","id","currentColorIndex","indexOf","nextColorIndex","Map","AvatarStackContactItem","_ref2","initials","name","linkUrl","description","key","icon","disabled","Title","href","Description","AvatarContent","_ref3","avatarIcon","Portrait","Icon","Label","AvatarWithPopover","_ref4","colors","hasEnabledLink","avatarProps","role","tabIndex","trigger","overlay","Content","_extends","$color","get","FoldedAvatarStack","_ref5","onClickViewAll","title","I18n","overlayRef","useRef","restAvatarId","beforeHide","e","onClick","variant","t","onPress","ViewAllModal","_ref6","isOpen","onClose","labelId","open","Header","Footer","FooterButtons","defaultInitials","defaultGetImageUrl","getTransformedItems","_ref7","getInitials","getImageUrl","_objectSpread","_AvatarStack","_ref8","ref","_items","_ref8$size","_ref8$getInitials","_ref8$getImageUrl","props","_objectWithoutProperties","_excluded","_useState","_useState2","_slicedToArray","isModalOpen","setIsModalOpen","_useMemo","visibleItemsColors","AvatarStack","displayName"],"sources":["../../src/AvatarStack/AvatarStack.tsx"],"sourcesContent":["import { Building, People } from '@procore/core-icons'\nimport { useId } from '@react-aria/utils'\nimport React, { forwardRef, useMemo, useState } from 'react'\nimport { Avatar } from '../Avatar'\nimport { Button } from '../Button'\nimport { ContactItem } from '../ContactItem'\nimport { Link } from '../Link'\nimport { Modal } from '../Modal'\nimport type { OverlayTriggerRef } from '../OverlayTrigger/OverlayTrigger.types'\nimport { Popover } from '../Popover'\nimport { Typography } from '../Typography'\nimport { useI18nContext } from '../_hooks/I18n'\nimport type { TriggerVariant } from '../_hooks/Trigger'\nimport type { Color } from '../_styles/colors'\nimport {\n colorsOrder,\n foldedItemsCap,\n restCountThreshold,\n visibleItemsCap,\n} from './AvatarStack.constants'\nimport {\n StyledAvatar,\n StyledContactItem,\n StyledContactItems,\n StyledModalBody,\n StyledViewAllWrapper,\n StyledWrapper,\n} from './AvatarStack.styles'\nimport type {\n AvatarStackItem,\n AvatarStackItemId,\n AvatarStackItemType,\n AvatarStackProps,\n AvatarStackSize,\n FoldedAvatarStackProps,\n ViewAllModalProps,\n} from './AvatarStack.types'\n\nconst defaultPopoverTrigger: TriggerVariant[] = ['hover', 'focus']\n\nexport function getOverflowValues<Item extends AvatarStackItem>(items: Item[]) {\n let foldedItems: Item[] = []\n let restCountLabel: string | null = null\n let isViewAllNeeded = false\n\n const visibleItems =\n items.length > visibleItemsCap ? items.slice(0, visibleItemsCap - 1) : items\n const restItemsCount = items.length - visibleItems.length\n\n if (restItemsCount > 0) {\n foldedItems = items.slice(\n visibleItems.length,\n visibleItems.length + foldedItemsCap\n )\n\n restCountLabel =\n restItemsCount > restCountThreshold\n ? `${restCountThreshold}+`\n : `+${restItemsCount}`\n\n isViewAllNeeded = restItemsCount > foldedItemsCap\n }\n\n return {\n visibleItems,\n foldedItems,\n restCountLabel,\n isViewAllNeeded,\n }\n}\n\nexport function getIcon(type: AvatarStackItemType, size: 'md' | 'sm') {\n switch (type) {\n case 'company':\n return <Building size={size} />\n\n case 'group':\n return <People size={size} />\n\n case 'user':\n default:\n return null\n }\n}\n\nfunction getContactIcon(type: AvatarStackItemType) {\n return getIcon(type, 'md')\n}\n\nexport function getAvatarIcon(\n type: AvatarStackItemType,\n size: AvatarStackSize\n) {\n const avatarSize = size === 'lg' ? 'md' : 'sm'\n return getIcon(type, avatarSize)\n}\n\nexport function getColorOrder(avatarItems: AvatarStackItem[]) {\n return avatarItems.reduce(\n ({ map, color }, item) => {\n if (item.imageUrl) {\n return {\n map,\n color,\n }\n }\n\n if (item.inactive) {\n map.set(item.id, 'gray70')\n\n return {\n map,\n color,\n }\n }\n\n map.set(item.id, color)\n\n const currentColorIndex = colorsOrder.indexOf(color)\n const nextColorIndex = (currentColorIndex + 1) % colorsOrder.length\n return {\n map,\n color: item.imageUrl ? color : colorsOrder[nextColorIndex],\n }\n },\n {\n map: new Map<AvatarStackItemId, Color>(),\n color: colorsOrder[0],\n }\n ).map\n}\n\nexport function AvatarStackContactItem({\n id,\n type,\n imageUrl,\n initials,\n inactive,\n name,\n linkUrl,\n description,\n}: AvatarStackItem) {\n return (\n <StyledContactItem\n key={id}\n imageUrl={imageUrl}\n initials={initials}\n icon={getContactIcon(type)}\n disabled={inactive}\n >\n <ContactItem.Title>\n {!inactive && linkUrl ? <Link href={linkUrl}>{name}</Link> : name}\n </ContactItem.Title>\n <ContactItem.Description>\n {type === 'group' ? (\n <Typography color=\"gray15\">{description}</Typography>\n ) : (\n description\n )}\n </ContactItem.Description>\n </StyledContactItem>\n )\n}\n\nexport function AvatarContent({\n imageUrl,\n initials,\n type,\n size,\n}: {\n imageUrl?: AvatarStackItem['imageUrl']\n initials: AvatarStackItem['initials']\n type: AvatarStackItem['type']\n size: AvatarStackSize\n}) {\n const avatarIcon = getAvatarIcon(type, size)\n\n if (imageUrl) {\n return <Avatar.Portrait imageUrl={imageUrl} />\n }\n\n if (avatarIcon) {\n return <Avatar.Icon icon={avatarIcon} />\n }\n\n if (initials) {\n return <Avatar.Label>{initials}</Avatar.Label>\n }\n\n return null\n}\n\nfunction AvatarWithPopover<Item extends AvatarStackItem>({\n item,\n size,\n colors,\n}: {\n item: Item\n size: AvatarStackSize\n colors: Map<AvatarStackItemId, Color>\n}) {\n const hasEnabledLink = item.linkUrl && !item.inactive\n const avatarProps = hasEnabledLink\n ? {\n role: 'link',\n href: item.linkUrl,\n }\n : {\n role: 'img',\n // Allow SR to open Popover as it cycles through. Keeps visual with audio.\n // The link or image is labelled, and focus does not enter the Popover.\n tabIndex: -1,\n }\n\n return (\n <Popover\n key={item.id}\n trigger={defaultPopoverTrigger}\n overlay={\n <Popover.Content>\n <AvatarStackContactItem\n id={item.id}\n type={item.type}\n imageUrl={item.imageUrl}\n initials={item.initials}\n inactive={item.inactive}\n name={item.name}\n linkUrl={item.linkUrl}\n description={item.description}\n />\n </Popover.Content>\n }\n >\n <StyledAvatar\n {...avatarProps}\n aria-label={`${item.name}, ${item.description}`}\n disabled={item.inactive}\n size={size}\n $color={colors.get(item.id) as Color}\n >\n <AvatarContent\n imageUrl={item.imageUrl}\n initials={item.initials}\n type={item.type}\n size={size}\n />\n </StyledAvatar>\n </Popover>\n )\n}\n\nexport function FoldedAvatarStack<Item extends AvatarStackItem>({\n items,\n onClickViewAll,\n size,\n restCountLabel,\n isViewAllNeeded,\n title,\n}: FoldedAvatarStackProps<Item>) {\n const I18n = useI18nContext()\n const overlayRef = React.useRef<OverlayTriggerRef>(null)\n const restAvatarId = useId()\n\n return (\n <Popover\n trigger={defaultPopoverTrigger}\n aria-labelledby={restAvatarId}\n overlayRef={overlayRef}\n beforeHide={(e) => {\n return e.type !== 'blur'\n }}\n overlay={\n <Popover.Content>\n <StyledContactItems>\n {items.map((item) => (\n <AvatarStackContactItem\n key={item.id}\n id={item.id}\n type={item.type}\n imageUrl={item.imageUrl}\n initials={item.initials}\n inactive={item.inactive}\n name={item.name}\n linkUrl={item.linkUrl}\n description={item.description}\n />\n ))}\n </StyledContactItems>\n {isViewAllNeeded && (\n <StyledViewAllWrapper>\n <Button\n data-qa=\"core-avatar-stack-view-all-modal-trigger\"\n onClick={onClickViewAll}\n size=\"sm\"\n variant=\"secondary\"\n >\n {I18n.t('core.avatarStack.viewAll')}\n </Button>\n </StyledViewAllWrapper>\n )}\n </Popover.Content>\n }\n >\n <StyledAvatar\n role=\"button\"\n onPress={onClickViewAll}\n id={restAvatarId}\n aria-label={`${restCountLabel}, ${title}`}\n data-qa=\"core-avatar-stack-folded-avatars-popover-trigger\"\n size={size}\n $color=\"gray85\"\n >\n <Avatar.Label aria-hidden>\n <Typography color=\"black\">{restCountLabel}</Typography>\n </Avatar.Label>\n </StyledAvatar>\n </Popover>\n )\n}\n\nexport function ViewAllModal<Item extends AvatarStackItem>({\n isOpen,\n onClose,\n title,\n items,\n}: ViewAllModalProps<Item>) {\n const I18n = useI18nContext()\n const labelId = useId()\n\n return (\n <Modal\n role=\"dialog\"\n aria-labelledby={labelId}\n open={isOpen}\n onClose={onClose}\n >\n <Modal.Header onClose={onClose}>\n <span id={labelId}>\n {title} ({items.length})\n </span>\n </Modal.Header>\n <StyledModalBody>\n {items.map((item) => (\n <AvatarStackContactItem\n key={item.id}\n id={item.id}\n type={item.type}\n imageUrl={item.imageUrl}\n initials={item.initials}\n inactive={item.inactive}\n name={item.name}\n linkUrl={item.linkUrl}\n description={item.description}\n />\n ))}\n </StyledModalBody>\n <Modal.Footer>\n <Modal.FooterButtons>\n <Button onClick={onClose}>{I18n.t('core.avatarStack.close')}</Button>\n </Modal.FooterButtons>\n </Modal.Footer>\n </Modal>\n )\n}\n\nexport function defaultInitials<Item extends AvatarStackItem>(item: Item) {\n return item.initials as string\n}\n\nexport function defaultGetImageUrl<Item extends AvatarStackItem>(item: Item) {\n return item.imageUrl as string\n}\n\nexport function getTransformedItems<Item extends AvatarStackItem>({\n items,\n getInitials,\n getImageUrl,\n}: {\n items: Item[]\n getInitials: AvatarStackProps<Item>['getInitials']\n getImageUrl: AvatarStackProps<Item>['getImageUrl']\n}) {\n return items.map((item) => ({\n ...item,\n initials: getInitials!(item),\n imageUrl: getImageUrl!(item),\n }))\n}\n\nconst _AvatarStack = <Item extends AvatarStackItem>(\n {\n items: _items,\n title,\n size = 'lg',\n getInitials = defaultInitials,\n getImageUrl = defaultGetImageUrl,\n onClickViewAll,\n ...props\n }: AvatarStackProps<Item>,\n ref: React.ForwardedRef<HTMLDivElement>\n) => {\n const [isModalOpen, setIsModalOpen] = useState(false)\n\n const items = useMemo(\n () =>\n getTransformedItems({\n items: _items,\n getInitials,\n getImageUrl,\n }),\n [_items]\n )\n\n const { visibleItems, foldedItems, restCountLabel, isViewAllNeeded } =\n useMemo(() => getOverflowValues(items), [items])\n\n const visibleItemsColors = useMemo(\n () => getColorOrder(visibleItems),\n [visibleItems]\n )\n\n return (\n <div ref={ref} {...props}>\n {isViewAllNeeded && !onClickViewAll && (\n <ViewAllModal\n isOpen={isModalOpen}\n onClose={() => setIsModalOpen(false)}\n title={title}\n items={items}\n />\n )}\n <StyledWrapper>\n {visibleItems.map((item) => {\n return (\n <AvatarWithPopover\n colors={visibleItemsColors}\n item={item}\n key={`${item.name}_${item.id}`}\n size={size}\n />\n )\n })}\n {foldedItems.length > 0 && (\n <FoldedAvatarStack\n restCountLabel={restCountLabel as string}\n isViewAllNeeded={isViewAllNeeded}\n items={foldedItems}\n onClickViewAll={onClickViewAll || (() => setIsModalOpen(true))}\n size={size}\n title={title}\n />\n )}\n </StyledWrapper>\n </div>\n )\n}\n\n/**\n\n We use avatars to visually represent our users, places, and things in the app.\n These can be in the form of rich media or representative illustrations.\n\n @since 10.19.0\n\n @see [Storybook](https://procore.github.io/core/latest/?path=/story/demos-avatarstack--demo)\n\n @see [Design Guidelines](https://design.procore.com/avatar-stack)\n */\nexport const AvatarStack = forwardRef(_AvatarStack) as <\n Item extends AvatarStackItem\n>(\n props: AvatarStackProps<Item> & { ref?: React.ForwardedRef<HTMLDivElement> }\n) => ReturnType<typeof _AvatarStack>\n\n// @ts-ignore\nAvatarStack.displayName = 'AvatarStack'\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AvatarStack.js","names":["Building","People","useId","React","forwardRef","useMemo","useState","Avatar","Button","ContactItem","Link","Modal","Popover","Typography","useI18nContext","colorsOrder","foldedItemsCap","restCountThreshold","visibleItemsCap","StyledAvatar","StyledContactItem","StyledContactItems","StyledModalBody","StyledViewAllWrapper","StyledWrapper","defaultPopoverTrigger","getOverflowValues","items","foldedItems","restCountLabel","isViewAllNeeded","visibleItems","length","slice","restItemsCount","concat","getIcon","type","size","createElement","getContactIcon","getAvatarIcon","avatarSize","getColorOrder","avatarItems","reduce","_ref","item","map","color","imageUrl","inactive","set","id","currentColorIndex","indexOf","nextColorIndex","Map","AvatarStackContactItem","_ref2","initials","name","linkUrl","description","key","icon","disabled","Title","href","Description","AvatarContent","_ref3","avatarIcon","Portrait","Icon","Label","AvatarWithPopover","_ref4","colors","hasEnabledLink","avatarProps","role","tabIndex","trigger","overlay","Content","_extends","$color","get","FoldedAvatarStack","_ref5","onClickViewAll","title","I18n","overlayRef","useRef","restAvatarId","beforeHide","e","onClick","variant","t","onPress","ViewAllModal","_ref6","isOpen","onClose","labelId","open","Header","Footer","FooterButtons","defaultInitials","defaultGetImageUrl","getTransformedItems","_ref7","getInitials","getImageUrl","_objectSpread","_AvatarStack","_ref8","ref","_items","_ref8$size","_ref8$getInitials","_ref8$getImageUrl","props","_objectWithoutProperties","_excluded","_useState","_useState2","_slicedToArray","isModalOpen","setIsModalOpen","_useMemo","visibleItemsColors","AvatarStack","displayName"],"sources":["../../src/AvatarStack/AvatarStack.tsx"],"sourcesContent":["import { Building, People } from '@procore/core-icons'\nimport { useId } from '@react-aria/utils'\nimport React, { forwardRef, useMemo, useState } from 'react'\nimport { Avatar } from '../Avatar'\nimport { Button } from '../Button'\nimport { ContactItem } from '../ContactItem'\nimport { Link } from '../Link'\nimport { Modal } from '../Modal'\nimport type { OverlayTriggerRef } from '../OverlayTrigger/OverlayTrigger.types'\nimport { Popover } from '../Popover'\nimport { Typography } from '../Typography'\nimport { useI18nContext } from '../_hooks/I18n'\nimport type { TriggerVariant } from '../_hooks/Trigger'\nimport type { Color } from '../_styles/colors'\nimport {\n colorsOrder,\n foldedItemsCap,\n restCountThreshold,\n visibleItemsCap,\n} from './AvatarStack.constants'\nimport {\n StyledAvatar,\n StyledContactItem,\n StyledContactItems,\n StyledModalBody,\n StyledViewAllWrapper,\n StyledWrapper,\n} from './AvatarStack.styles'\nimport type {\n AvatarStackItem,\n AvatarStackItemId,\n AvatarStackItemType,\n AvatarStackProps,\n AvatarStackSize,\n FoldedAvatarStackProps,\n ViewAllModalProps,\n} from './AvatarStack.types'\n\nconst defaultPopoverTrigger: TriggerVariant[] = ['hover', 'focus']\n\nexport function getOverflowValues<Item extends AvatarStackItem>(items: Item[]) {\n let foldedItems: Item[] = []\n let restCountLabel: string | null = null\n let isViewAllNeeded = false\n\n const visibleItems =\n items.length > visibleItemsCap ? items.slice(0, visibleItemsCap - 1) : items\n const restItemsCount = items.length - visibleItems.length\n\n if (restItemsCount > 0) {\n foldedItems = items.slice(\n visibleItems.length,\n visibleItems.length + foldedItemsCap\n )\n\n restCountLabel =\n restItemsCount > restCountThreshold\n ? `${restCountThreshold}+`\n : `+${restItemsCount}`\n\n isViewAllNeeded = restItemsCount > foldedItemsCap\n }\n\n return {\n visibleItems,\n foldedItems,\n restCountLabel,\n isViewAllNeeded,\n }\n}\n\nexport function getIcon(type: AvatarStackItemType, size: 'md' | 'sm') {\n switch (type) {\n case 'company':\n return <Building size={size} />\n\n case 'group':\n return <People size={size} />\n\n case 'user':\n default:\n return null\n }\n}\n\nfunction getContactIcon(type: AvatarStackItemType) {\n return getIcon(type, 'md')\n}\n\nexport function getAvatarIcon(\n type: AvatarStackItemType,\n size: AvatarStackSize\n) {\n const avatarSize = size === 'lg' ? 'md' : 'sm'\n return getIcon(type, avatarSize)\n}\n\nexport function getColorOrder(avatarItems: AvatarStackItem[]) {\n return avatarItems.reduce(\n ({ map, color }, item) => {\n if (item.imageUrl) {\n return {\n map,\n color,\n }\n }\n\n if (item.inactive) {\n map.set(item.id, 'gray70')\n\n return {\n map,\n color,\n }\n }\n\n map.set(item.id, color)\n\n const currentColorIndex = colorsOrder.indexOf(color)\n const nextColorIndex = (currentColorIndex + 1) % colorsOrder.length\n return {\n map,\n color: item.imageUrl ? color : colorsOrder[nextColorIndex],\n }\n },\n {\n map: new Map<AvatarStackItemId, Color>(),\n color: colorsOrder[0],\n }\n ).map\n}\n\nexport function AvatarStackContactItem({\n id,\n type,\n imageUrl,\n initials,\n inactive,\n name,\n linkUrl,\n description,\n}: AvatarStackItem) {\n return (\n <StyledContactItem\n key={id}\n imageUrl={imageUrl}\n initials={initials}\n icon={getContactIcon(type)}\n disabled={inactive}\n >\n <ContactItem.Title>\n {!inactive && linkUrl ? <Link href={linkUrl}>{name}</Link> : name}\n </ContactItem.Title>\n <ContactItem.Description>\n {type === 'group' ? (\n <Typography color=\"gray15\">{description}</Typography>\n ) : (\n description\n )}\n </ContactItem.Description>\n </StyledContactItem>\n )\n}\n\nexport function AvatarContent({\n imageUrl,\n initials,\n type,\n size,\n}: {\n imageUrl?: AvatarStackItem['imageUrl']\n initials: AvatarStackItem['initials']\n type: AvatarStackItem['type']\n size: AvatarStackSize\n}) {\n const avatarIcon = getAvatarIcon(type, size)\n\n if (imageUrl) {\n return <Avatar.Portrait imageUrl={imageUrl} />\n }\n\n if (avatarIcon) {\n return <Avatar.Icon icon={avatarIcon} />\n }\n\n if (initials) {\n return <Avatar.Label>{initials}</Avatar.Label>\n }\n\n return null\n}\n\nfunction AvatarWithPopover<Item extends AvatarStackItem>({\n item,\n size,\n colors,\n}: {\n item: Item\n size: AvatarStackSize\n colors: Map<AvatarStackItemId, Color>\n}) {\n const hasEnabledLink = item.linkUrl && !item.inactive\n const avatarProps = hasEnabledLink\n ? {\n role: 'link',\n href: item.linkUrl,\n }\n : {\n role: 'img',\n // Allow SR to open Popover as it cycles through. Keeps visual with audio.\n // The link or image is labelled, and focus does not enter the Popover.\n tabIndex: -1,\n }\n\n return (\n <Popover\n key={item.id}\n trigger={defaultPopoverTrigger}\n overlay={\n <Popover.Content>\n <AvatarStackContactItem\n id={item.id}\n type={item.type}\n imageUrl={item.imageUrl}\n initials={item.initials}\n inactive={item.inactive}\n name={item.name}\n linkUrl={item.linkUrl}\n description={item.description}\n />\n </Popover.Content>\n }\n >\n <StyledAvatar\n {...avatarProps}\n aria-label={`${item.name}, ${item.description}`}\n disabled={item.inactive}\n size={size}\n $color={colors.get(item.id) as Color}\n >\n <AvatarContent\n imageUrl={item.imageUrl}\n initials={item.initials}\n type={item.type}\n size={size}\n />\n </StyledAvatar>\n </Popover>\n )\n}\n\nexport function FoldedAvatarStack<Item extends AvatarStackItem>({\n items,\n onClickViewAll,\n size,\n restCountLabel,\n isViewAllNeeded,\n title,\n}: FoldedAvatarStackProps<Item>) {\n const I18n = useI18nContext()\n const overlayRef = React.useRef<OverlayTriggerRef>(null)\n const restAvatarId = useId()\n\n return (\n <Popover\n trigger={defaultPopoverTrigger}\n aria-labelledby={restAvatarId}\n overlayRef={overlayRef}\n beforeHide={(e) => {\n return e.type !== 'blur'\n }}\n overlay={\n <Popover.Content>\n <StyledContactItems>\n {items.map((item) => (\n <AvatarStackContactItem\n key={item.id}\n id={item.id}\n type={item.type}\n imageUrl={item.imageUrl}\n initials={item.initials}\n inactive={item.inactive}\n name={item.name}\n linkUrl={item.linkUrl}\n description={item.description}\n />\n ))}\n </StyledContactItems>\n {isViewAllNeeded && (\n <StyledViewAllWrapper>\n <Button\n data-qa=\"core-avatar-stack-view-all-modal-trigger\"\n onClick={onClickViewAll}\n size=\"sm\"\n variant=\"secondary\"\n >\n {I18n.t('core.avatarStack.viewAll')}\n </Button>\n </StyledViewAllWrapper>\n )}\n </Popover.Content>\n }\n >\n <StyledAvatar\n role=\"button\"\n onPress={onClickViewAll}\n id={restAvatarId}\n aria-label={`${restCountLabel}, ${title}`}\n data-qa=\"core-avatar-stack-folded-avatars-popover-trigger\"\n size={size}\n $color=\"gray85\"\n >\n <Avatar.Label aria-hidden>\n <Typography color=\"black\">{restCountLabel}</Typography>\n </Avatar.Label>\n </StyledAvatar>\n </Popover>\n )\n}\n\nexport function ViewAllModal<Item extends AvatarStackItem>({\n isOpen,\n onClose,\n title,\n items,\n}: ViewAllModalProps<Item>) {\n const I18n = useI18nContext()\n const labelId = useId()\n\n return (\n <Modal\n role=\"dialog\"\n aria-labelledby={labelId}\n open={isOpen}\n onClose={onClose}\n >\n <Modal.Header onClose={onClose}>\n <span id={labelId}>\n {title} ({items.length})\n </span>\n </Modal.Header>\n <StyledModalBody>\n {items.map((item) => (\n <AvatarStackContactItem\n key={item.id}\n id={item.id}\n type={item.type}\n imageUrl={item.imageUrl}\n initials={item.initials}\n inactive={item.inactive}\n name={item.name}\n linkUrl={item.linkUrl}\n description={item.description}\n />\n ))}\n </StyledModalBody>\n <Modal.Footer>\n <Modal.FooterButtons>\n <Button onClick={onClose}>{I18n.t('core.avatarStack.close')}</Button>\n </Modal.FooterButtons>\n </Modal.Footer>\n </Modal>\n )\n}\n\nexport function defaultInitials<Item extends AvatarStackItem>(item: Item) {\n return item.initials as string\n}\n\nexport function defaultGetImageUrl<Item extends AvatarStackItem>(item: Item) {\n return item.imageUrl as string\n}\n\nexport function getTransformedItems<Item extends AvatarStackItem>({\n items,\n getInitials,\n getImageUrl,\n}: {\n items: Item[]\n getInitials: AvatarStackProps<Item>['getInitials']\n getImageUrl: AvatarStackProps<Item>['getImageUrl']\n}) {\n return items.map((item) => ({\n ...item,\n initials: getInitials!(item),\n imageUrl: getImageUrl!(item),\n }))\n}\n\nconst _AvatarStack = <Item extends AvatarStackItem>(\n {\n items: _items,\n title,\n size = 'lg',\n getInitials = defaultInitials,\n getImageUrl = defaultGetImageUrl,\n onClickViewAll,\n ...props\n }: AvatarStackProps<Item>,\n ref: React.ForwardedRef<HTMLDivElement>\n) => {\n const [isModalOpen, setIsModalOpen] = useState(false)\n\n const items = useMemo(\n () =>\n getTransformedItems({\n items: _items,\n getInitials,\n getImageUrl,\n }),\n [_items]\n )\n\n const { visibleItems, foldedItems, restCountLabel, isViewAllNeeded } =\n useMemo(() => getOverflowValues(items), [items])\n\n const visibleItemsColors = useMemo(\n () => getColorOrder(visibleItems),\n [visibleItems]\n )\n\n return (\n <div ref={ref} {...props}>\n {isViewAllNeeded && !onClickViewAll && (\n <ViewAllModal\n isOpen={isModalOpen}\n onClose={() => setIsModalOpen(false)}\n title={title}\n items={items}\n />\n )}\n <StyledWrapper>\n {visibleItems.map((item) => {\n return (\n <AvatarWithPopover\n colors={visibleItemsColors}\n item={item}\n key={`${item.name}_${item.id}`}\n size={size}\n />\n )\n })}\n {foldedItems.length > 0 && (\n <FoldedAvatarStack\n restCountLabel={restCountLabel as string}\n isViewAllNeeded={isViewAllNeeded}\n items={foldedItems}\n onClickViewAll={onClickViewAll || (() => setIsModalOpen(true))}\n size={size}\n title={title}\n />\n )}\n </StyledWrapper>\n </div>\n )\n}\n\n/**\n\n We use avatars to visually represent our users, places, and things in the app.\n These can be in the form of rich media or representative illustrations.\n\n @since 10.19.0\n\n @see [Storybook](https://procore.github.io/core/latest/?path=/story/demos-avatarstack--demo)\n\n @see [Design Guidelines](https://design.procore.com/avatar-stack)\n */\nexport const AvatarStack = forwardRef(_AvatarStack) as <\n Item extends AvatarStackItem\n>(\n props: AvatarStackProps<Item> & { ref?: React.ForwardedRef<HTMLDivElement> }\n) => ReturnType<typeof _AvatarStack>\n\n// @ts-ignore\nAvatarStack.displayName = 'AvatarStack'\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,SAASA,QAAQ,EAAEC,MAAM,QAAQ,qBAAqB;AACtD,SAASC,KAAK,QAAQ,mBAAmB;AACzC,OAAOC,KAAK,IAAIC,UAAU,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AAC5D,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,WAAW,QAAQ,gBAAgB;AAC5C,SAASC,IAAI,QAAQ,SAAS;AAC9B,SAASC,KAAK,QAAQ,UAAU;AAEhC,SAASC,OAAO,QAAQ,YAAY;AACpC,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,cAAc,QAAQ,gBAAgB;AAG/C,SACEC,WAAW,EACXC,cAAc,EACdC,kBAAkB,EAClBC,eAAe,QACV,yBAAyB;AAChC,SACEC,YAAY,EACZC,iBAAiB,EACjBC,kBAAkB,EAClBC,eAAe,EACfC,oBAAoB,EACpBC,aAAa,QACR,sBAAsB;AAW7B,IAAMC,qBAAuC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;AAElE,OAAO,SAASC,iBAAiBA,CAA+BC,KAAa,EAAE;EAC7E,IAAIC,WAAmB,GAAG,EAAE;EAC5B,IAAIC,cAA6B,GAAG,IAAI;EACxC,IAAIC,eAAe,GAAG,KAAK;EAE3B,IAAMC,YAAY,GAChBJ,KAAK,CAACK,MAAM,GAAGd,eAAe,GAAGS,KAAK,CAACM,KAAK,CAAC,CAAC,EAAEf,eAAe,GAAG,CAAC,CAAC,GAAGS,KAAK;EAC9E,IAAMO,cAAc,GAAGP,KAAK,CAACK,MAAM,GAAGD,YAAY,CAACC,MAAM;EAEzD,IAAIE,cAAc,GAAG,CAAC,EAAE;IACtBN,WAAW,GAAGD,KAAK,CAACM,KAAK,CACvBF,YAAY,CAACC,MAAM,EACnBD,YAAY,CAACC,MAAM,GAAGhB,cACxB,CAAC;IAEDa,cAAc,GACZK,cAAc,GAAGjB,kBAAkB,MAAAkB,MAAA,CAC5BlB,kBAAkB,aAAAkB,MAAA,CACjBD,cAAc,CAAE;IAE1BJ,eAAe,GAAGI,cAAc,GAAGlB,cAAc;EACnD;EAEA,OAAO;IACLe,YAAY,EAAZA,YAAY;IACZH,WAAW,EAAXA,WAAW;IACXC,cAAc,EAAdA,cAAc;IACdC,eAAe,EAAfA;EACF,CAAC;AACH;AAEA,OAAO,SAASM,OAAOA,CAACC,IAAyB,EAAEC,IAAiB,EAAE;EACpE,QAAQD,IAAI;IACV,KAAK,SAAS;MACZ,oBAAOlC,KAAA,CAAAoC,aAAA,CAACvC,QAAQ;QAACsC,IAAI,EAAEA;MAAK,CAAE,CAAC;IAEjC,KAAK,OAAO;MACV,oBAAOnC,KAAA,CAAAoC,aAAA,CAACtC,MAAM;QAACqC,IAAI,EAAEA;MAAK,CAAE,CAAC;IAE/B,KAAK,MAAM;IACX;MACE,OAAO,IAAI;EACf;AACF;AAEA,SAASE,cAAcA,CAACH,IAAyB,EAAE;EACjD,OAAOD,OAAO,CAACC,IAAI,EAAE,IAAI,CAAC;AAC5B;AAEA,OAAO,SAASI,aAAaA,CAC3BJ,IAAyB,EACzBC,IAAqB,EACrB;EACA,IAAMI,UAAU,GAAGJ,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI;EAC9C,OAAOF,OAAO,CAACC,IAAI,EAAEK,UAAU,CAAC;AAClC;AAEA,OAAO,SAASC,aAAaA,CAACC,WAA8B,EAAE;EAC5D,OAAOA,WAAW,CAACC,MAAM,CACvB,UAAAC,IAAA,EAAiBC,IAAI,EAAK;IAAA,IAAvBC,GAAG,GAAAF,IAAA,CAAHE,GAAG;MAAEC,KAAK,GAAAH,IAAA,CAALG,KAAK;IACX,IAAIF,IAAI,CAACG,QAAQ,EAAE;MACjB,OAAO;QACLF,GAAG,EAAHA,GAAG;QACHC,KAAK,EAALA;MACF,CAAC;IACH;IAEA,IAAIF,IAAI,CAACI,QAAQ,EAAE;MACjBH,GAAG,CAACI,GAAG,CAACL,IAAI,CAACM,EAAE,EAAE,QAAQ,CAAC;MAE1B,OAAO;QACLL,GAAG,EAAHA,GAAG;QACHC,KAAK,EAALA;MACF,CAAC;IACH;IAEAD,GAAG,CAACI,GAAG,CAACL,IAAI,CAACM,EAAE,EAAEJ,KAAK,CAAC;IAEvB,IAAMK,iBAAiB,GAAGvC,WAAW,CAACwC,OAAO,CAACN,KAAK,CAAC;IACpD,IAAMO,cAAc,GAAG,CAACF,iBAAiB,GAAG,CAAC,IAAIvC,WAAW,CAACiB,MAAM;IACnE,OAAO;MACLgB,GAAG,EAAHA,GAAG;MACHC,KAAK,EAAEF,IAAI,CAACG,QAAQ,GAAGD,KAAK,GAAGlC,WAAW,CAACyC,cAAc;IAC3D,CAAC;EACH,CAAC,EACD;IACER,GAAG,EAAE,IAAIS,GAAG,CAA2B,CAAC;IACxCR,KAAK,EAAElC,WAAW,CAAC,CAAC;EACtB,CACF,CAAC,CAACiC,GAAG;AACP;AAEA,OAAO,SAASU,sBAAsBA,CAAAC,KAAA,EASlB;EAAA,IARlBN,EAAE,GAAAM,KAAA,CAAFN,EAAE;IACFhB,IAAI,GAAAsB,KAAA,CAAJtB,IAAI;IACJa,QAAQ,GAAAS,KAAA,CAART,QAAQ;IACRU,QAAQ,GAAAD,KAAA,CAARC,QAAQ;IACRT,QAAQ,GAAAQ,KAAA,CAARR,QAAQ;IACRU,IAAI,GAAAF,KAAA,CAAJE,IAAI;IACJC,OAAO,GAAAH,KAAA,CAAPG,OAAO;IACPC,WAAW,GAAAJ,KAAA,CAAXI,WAAW;EAEX,oBACE5D,KAAA,CAAAoC,aAAA,CAACnB,iBAAiB;IAChB4C,GAAG,EAAEX,EAAG;IACRH,QAAQ,EAAEA,QAAS;IACnBU,QAAQ,EAAEA,QAAS;IACnBK,IAAI,EAAEzB,cAAc,CAACH,IAAI,CAAE;IAC3B6B,QAAQ,EAAEf;EAAS,gBAEnBhD,KAAA,CAAAoC,aAAA,CAAC9B,WAAW,CAAC0D,KAAK,QACf,CAAChB,QAAQ,IAAIW,OAAO,gBAAG3D,KAAA,CAAAoC,aAAA,CAAC7B,IAAI;IAAC0D,IAAI,EAAEN;EAAQ,GAAED,IAAW,CAAC,GAAGA,IAC5C,CAAC,eACpB1D,KAAA,CAAAoC,aAAA,CAAC9B,WAAW,CAAC4D,WAAW,QACrBhC,IAAI,KAAK,OAAO,gBACflC,KAAA,CAAAoC,aAAA,CAAC1B,UAAU;IAACoC,KAAK,EAAC;EAAQ,GAAEc,WAAwB,CAAC,GAErDA,WAEqB,CACR,CAAC;AAExB;AAEA,OAAO,SAASO,aAAaA,CAAAC,KAAA,EAU1B;EAAA,IATDrB,QAAQ,GAAAqB,KAAA,CAARrB,QAAQ;IACRU,QAAQ,GAAAW,KAAA,CAARX,QAAQ;IACRvB,IAAI,GAAAkC,KAAA,CAAJlC,IAAI;IACJC,IAAI,GAAAiC,KAAA,CAAJjC,IAAI;EAOJ,IAAMkC,UAAU,GAAG/B,aAAa,CAACJ,IAAI,EAAEC,IAAI,CAAC;EAE5C,IAAIY,QAAQ,EAAE;IACZ,oBAAO/C,KAAA,CAAAoC,aAAA,CAAChC,MAAM,CAACkE,QAAQ;MAACvB,QAAQ,EAAEA;IAAS,CAAE,CAAC;EAChD;EAEA,IAAIsB,UAAU,EAAE;IACd,oBAAOrE,KAAA,CAAAoC,aAAA,CAAChC,MAAM,CAACmE,IAAI;MAACT,IAAI,EAAEO;IAAW,CAAE,CAAC;EAC1C;EAEA,IAAIZ,QAAQ,EAAE;IACZ,oBAAOzD,KAAA,CAAAoC,aAAA,CAAChC,MAAM,CAACoE,KAAK,QAAEf,QAAuB,CAAC;EAChD;EAEA,OAAO,IAAI;AACb;AAEA,SAASgB,iBAAiBA,CAAAC,KAAA,EAQvB;EAAA,IAPD9B,IAAI,GAAA8B,KAAA,CAAJ9B,IAAI;IACJT,IAAI,GAAAuC,KAAA,CAAJvC,IAAI;IACJwC,MAAM,GAAAD,KAAA,CAANC,MAAM;EAMN,IAAMC,cAAc,GAAGhC,IAAI,CAACe,OAAO,IAAI,CAACf,IAAI,CAACI,QAAQ;EACrD,IAAM6B,WAAW,GAAGD,cAAc,GAC9B;IACEE,IAAI,EAAE,MAAM;IACZb,IAAI,EAAErB,IAAI,CAACe;EACb,CAAC,GACD;IACEmB,IAAI,EAAE,KAAK;IACX;IACA;IACAC,QAAQ,EAAE,CAAC;EACb,CAAC;EAEL,oBACE/E,KAAA,CAAAoC,aAAA,CAAC3B,OAAO;IACNoD,GAAG,EAAEjB,IAAI,CAACM,EAAG;IACb8B,OAAO,EAAE1D,qBAAsB;IAC/B2D,OAAO,eACLjF,KAAA,CAAAoC,aAAA,CAAC3B,OAAO,CAACyE,OAAO,qBACdlF,KAAA,CAAAoC,aAAA,CAACmB,sBAAsB;MACrBL,EAAE,EAAEN,IAAI,CAACM,EAAG;MACZhB,IAAI,EAAEU,IAAI,CAACV,IAAK;MAChBa,QAAQ,EAAEH,IAAI,CAACG,QAAS;MACxBU,QAAQ,EAAEb,IAAI,CAACa,QAAS;MACxBT,QAAQ,EAAEJ,IAAI,CAACI,QAAS;MACxBU,IAAI,EAAEd,IAAI,CAACc,IAAK;MAChBC,OAAO,EAAEf,IAAI,CAACe,OAAQ;MACtBC,WAAW,EAAEhB,IAAI,CAACgB;IAAY,CAC/B,CACc;EAClB,gBAED5D,KAAA,CAAAoC,aAAA,CAACpB,YAAY,EAAAmE,QAAA,KACPN,WAAW;IACf,iBAAA7C,MAAA,CAAeY,IAAI,CAACc,IAAI,QAAA1B,MAAA,CAAKY,IAAI,CAACgB,WAAW,CAAG;IAChDG,QAAQ,EAAEnB,IAAI,CAACI,QAAS;IACxBb,IAAI,EAAEA,IAAK;IACXiD,MAAM,EAAET,MAAM,CAACU,GAAG,CAACzC,IAAI,CAACM,EAAE;EAAW,iBAErClD,KAAA,CAAAoC,aAAA,CAAC+B,aAAa;IACZpB,QAAQ,EAAEH,IAAI,CAACG,QAAS;IACxBU,QAAQ,EAAEb,IAAI,CAACa,QAAS;IACxBvB,IAAI,EAAEU,IAAI,CAACV,IAAK;IAChBC,IAAI,EAAEA;EAAK,CACZ,CACW,CACP,CAAC;AAEd;AAEA,OAAO,SAASmD,iBAAiBA,CAAAC,KAAA,EAOA;EAAA,IAN/B/D,KAAK,GAAA+D,KAAA,CAAL/D,KAAK;IACLgE,cAAc,GAAAD,KAAA,CAAdC,cAAc;IACdrD,IAAI,GAAAoD,KAAA,CAAJpD,IAAI;IACJT,cAAc,GAAA6D,KAAA,CAAd7D,cAAc;IACdC,eAAe,GAAA4D,KAAA,CAAf5D,eAAe;IACf8D,KAAK,GAAAF,KAAA,CAALE,KAAK;EAEL,IAAMC,IAAI,GAAG/E,cAAc,CAAC,CAAC;EAC7B,IAAMgF,UAAU,GAAG3F,KAAK,CAAC4F,MAAM,CAAoB,IAAI,CAAC;EACxD,IAAMC,YAAY,GAAG9F,KAAK,CAAC,CAAC;EAE5B,oBACEC,KAAA,CAAAoC,aAAA,CAAC3B,OAAO;IACNuE,OAAO,EAAE1D,qBAAsB;IAC/B,mBAAiBuE,YAAa;IAC9BF,UAAU,EAAEA,UAAW;IACvBG,UAAU,EAAE,SAAZA,UAAUA,CAAGC,CAAC,EAAK;MACjB,OAAOA,CAAC,CAAC7D,IAAI,KAAK,MAAM;IAC1B,CAAE;IACF+C,OAAO,eACLjF,KAAA,CAAAoC,aAAA,CAAC3B,OAAO,CAACyE,OAAO,qBACdlF,KAAA,CAAAoC,aAAA,CAAClB,kBAAkB,QAChBM,KAAK,CAACqB,GAAG,CAAC,UAACD,IAAI;MAAA,oBACd5C,KAAA,CAAAoC,aAAA,CAACmB,sBAAsB;QACrBM,GAAG,EAAEjB,IAAI,CAACM,EAAG;QACbA,EAAE,EAAEN,IAAI,CAACM,EAAG;QACZhB,IAAI,EAAEU,IAAI,CAACV,IAAK;QAChBa,QAAQ,EAAEH,IAAI,CAACG,QAAS;QACxBU,QAAQ,EAAEb,IAAI,CAACa,QAAS;QACxBT,QAAQ,EAAEJ,IAAI,CAACI,QAAS;QACxBU,IAAI,EAAEd,IAAI,CAACc,IAAK;QAChBC,OAAO,EAAEf,IAAI,CAACe,OAAQ;QACtBC,WAAW,EAAEhB,IAAI,CAACgB;MAAY,CAC/B,CAAC;IAAA,CACH,CACiB,CAAC,EACpBjC,eAAe,iBACd3B,KAAA,CAAAoC,aAAA,CAAChB,oBAAoB,qBACnBpB,KAAA,CAAAoC,aAAA,CAAC/B,MAAM;MACL,WAAQ,0CAA0C;MAClD2F,OAAO,EAAER,cAAe;MACxBrD,IAAI,EAAC,IAAI;MACT8D,OAAO,EAAC;IAAW,GAElBP,IAAI,CAACQ,CAAC,CAAC,0BAA0B,CAC5B,CACY,CAET;EAClB,gBAEDlG,KAAA,CAAAoC,aAAA,CAACpB,YAAY;IACX8D,IAAI,EAAC,QAAQ;IACbqB,OAAO,EAAEX,cAAe;IACxBtC,EAAE,EAAE2C,YAAa;IACjB,iBAAA7D,MAAA,CAAeN,cAAc,QAAAM,MAAA,CAAKyD,KAAK,CAAG;IAC1C,WAAQ,kDAAkD;IAC1DtD,IAAI,EAAEA,IAAK;IACXiD,MAAM,EAAC;EAAQ,gBAEfpF,KAAA,CAAAoC,aAAA,CAAChC,MAAM,CAACoE,KAAK;IAAC;EAAW,gBACvBxE,KAAA,CAAAoC,aAAA,CAAC1B,UAAU;IAACoC,KAAK,EAAC;EAAO,GAAEpB,cAA2B,CAC1C,CACF,CACP,CAAC;AAEd;AAEA,OAAO,SAAS0E,YAAYA,CAAAC,KAAA,EAKA;EAAA,IAJ1BC,MAAM,GAAAD,KAAA,CAANC,MAAM;IACNC,OAAO,GAAAF,KAAA,CAAPE,OAAO;IACPd,KAAK,GAAAY,KAAA,CAALZ,KAAK;IACLjE,KAAK,GAAA6E,KAAA,CAAL7E,KAAK;EAEL,IAAMkE,IAAI,GAAG/E,cAAc,CAAC,CAAC;EAC7B,IAAM6F,OAAO,GAAGzG,KAAK,CAAC,CAAC;EAEvB,oBACEC,KAAA,CAAAoC,aAAA,CAAC5B,KAAK;IACJsE,IAAI,EAAC,QAAQ;IACb,mBAAiB0B,OAAQ;IACzBC,IAAI,EAAEH,MAAO;IACbC,OAAO,EAAEA;EAAQ,gBAEjBvG,KAAA,CAAAoC,aAAA,CAAC5B,KAAK,CAACkG,MAAM;IAACH,OAAO,EAAEA;EAAQ,gBAC7BvG,KAAA,CAAAoC,aAAA;IAAMc,EAAE,EAAEsD;EAAQ,GACff,KAAK,EAAC,IAAE,EAACjE,KAAK,CAACK,MAAM,EAAC,GACnB,CACM,CAAC,eACf7B,KAAA,CAAAoC,aAAA,CAACjB,eAAe,QACbK,KAAK,CAACqB,GAAG,CAAC,UAACD,IAAI;IAAA,oBACd5C,KAAA,CAAAoC,aAAA,CAACmB,sBAAsB;MACrBM,GAAG,EAAEjB,IAAI,CAACM,EAAG;MACbA,EAAE,EAAEN,IAAI,CAACM,EAAG;MACZhB,IAAI,EAAEU,IAAI,CAACV,IAAK;MAChBa,QAAQ,EAAEH,IAAI,CAACG,QAAS;MACxBU,QAAQ,EAAEb,IAAI,CAACa,QAAS;MACxBT,QAAQ,EAAEJ,IAAI,CAACI,QAAS;MACxBU,IAAI,EAAEd,IAAI,CAACc,IAAK;MAChBC,OAAO,EAAEf,IAAI,CAACe,OAAQ;MACtBC,WAAW,EAAEhB,IAAI,CAACgB;IAAY,CAC/B,CAAC;EAAA,CACH,CACc,CAAC,eAClB5D,KAAA,CAAAoC,aAAA,CAAC5B,KAAK,CAACmG,MAAM,qBACX3G,KAAA,CAAAoC,aAAA,CAAC5B,KAAK,CAACoG,aAAa,qBAClB5G,KAAA,CAAAoC,aAAA,CAAC/B,MAAM;IAAC2F,OAAO,EAAEO;EAAQ,GAAEb,IAAI,CAACQ,CAAC,CAAC,wBAAwB,CAAU,CACjD,CACT,CACT,CAAC;AAEZ;AAEA,OAAO,SAASW,eAAeA,CAA+BjE,IAAU,EAAE;EACxE,OAAOA,IAAI,CAACa,QAAQ;AACtB;AAEA,OAAO,SAASqD,kBAAkBA,CAA+BlE,IAAU,EAAE;EAC3E,OAAOA,IAAI,CAACG,QAAQ;AACtB;AAEA,OAAO,SAASgE,mBAAmBA,CAAAC,KAAA,EAQhC;EAAA,IAPDxF,KAAK,GAAAwF,KAAA,CAALxF,KAAK;IACLyF,WAAW,GAAAD,KAAA,CAAXC,WAAW;IACXC,WAAW,GAAAF,KAAA,CAAXE,WAAW;EAMX,OAAO1F,KAAK,CAACqB,GAAG,CAAC,UAACD,IAAI;IAAA,OAAAuE,aAAA,CAAAA,aAAA,KACjBvE,IAAI;MACPa,QAAQ,EAAEwD,WAAW,CAAErE,IAAI,CAAC;MAC5BG,QAAQ,EAAEmE,WAAW,CAAEtE,IAAI;IAAC;EAAA,CAC5B,CAAC;AACL;AAEA,IAAMwE,YAAY,GAAG,SAAfA,YAAYA,CAAAC,KAAA,EAUhBC,GAAuC,EACpC;EAAA,IATMC,MAAM,GAAAF,KAAA,CAAb7F,KAAK;IACLiE,KAAK,GAAA4B,KAAA,CAAL5B,KAAK;IAAA+B,UAAA,GAAAH,KAAA,CACLlF,IAAI;IAAJA,IAAI,GAAAqF,UAAA,cAAG,IAAI,GAAAA,UAAA;IAAAC,iBAAA,GAAAJ,KAAA,CACXJ,WAAW;IAAXA,WAAW,GAAAQ,iBAAA,cAAGZ,eAAe,GAAAY,iBAAA;IAAAC,iBAAA,GAAAL,KAAA,CAC7BH,WAAW;IAAXA,WAAW,GAAAQ,iBAAA,cAAGZ,kBAAkB,GAAAY,iBAAA;IAChClC,cAAc,GAAA6B,KAAA,CAAd7B,cAAc;IACXmC,KAAK,GAAAC,wBAAA,CAAAP,KAAA,EAAAQ,SAAA;EAIV,IAAAC,SAAA,GAAsC3H,QAAQ,CAAC,KAAK,CAAC;IAAA4H,UAAA,GAAAC,cAAA,CAAAF,SAAA;IAA9CG,WAAW,GAAAF,UAAA;IAAEG,cAAc,GAAAH,UAAA;EAElC,IAAMvG,KAAK,GAAGtB,OAAO,CACnB;IAAA,OACE6G,mBAAmB,CAAC;MAClBvF,KAAK,EAAE+F,MAAM;MACbN,WAAW,EAAXA,WAAW;MACXC,WAAW,EAAXA;IACF,CAAC,CAAC;EAAA,GACJ,CAACK,MAAM,CACT,CAAC;EAED,IAAAY,QAAA,GACEjI,OAAO,CAAC;MAAA,OAAMqB,iBAAiB,CAACC,KAAK,CAAC;IAAA,GAAE,CAACA,KAAK,CAAC,CAAC;IAD1CI,YAAY,GAAAuG,QAAA,CAAZvG,YAAY;IAAEH,WAAW,GAAA0G,QAAA,CAAX1G,WAAW;IAAEC,cAAc,GAAAyG,QAAA,CAAdzG,cAAc;IAAEC,eAAe,GAAAwG,QAAA,CAAfxG,eAAe;EAGlE,IAAMyG,kBAAkB,GAAGlI,OAAO,CAChC;IAAA,OAAMsC,aAAa,CAACZ,YAAY,CAAC;EAAA,GACjC,CAACA,YAAY,CACf,CAAC;EAED,oBACE5B,KAAA,CAAAoC,aAAA,QAAA+C,QAAA;IAAKmC,GAAG,EAAEA;EAAI,GAAKK,KAAK,GACrBhG,eAAe,IAAI,CAAC6D,cAAc,iBACjCxF,KAAA,CAAAoC,aAAA,CAACgE,YAAY;IACXE,MAAM,EAAE2B,WAAY;IACpB1B,OAAO,EAAE,SAATA,OAAOA,CAAA;MAAA,OAAQ2B,cAAc,CAAC,KAAK,CAAC;IAAA,CAAC;IACrCzC,KAAK,EAAEA,KAAM;IACbjE,KAAK,EAAEA;EAAM,CACd,CACF,eACDxB,KAAA,CAAAoC,aAAA,CAACf,aAAa,QACXO,YAAY,CAACiB,GAAG,CAAC,UAACD,IAAI,EAAK;IAC1B,oBACE5C,KAAA,CAAAoC,aAAA,CAACqC,iBAAiB;MAChBE,MAAM,EAAEyD,kBAAmB;MAC3BxF,IAAI,EAAEA,IAAK;MACXiB,GAAG,KAAA7B,MAAA,CAAKY,IAAI,CAACc,IAAI,OAAA1B,MAAA,CAAIY,IAAI,CAACM,EAAE,CAAG;MAC/Bf,IAAI,EAAEA;IAAK,CACZ,CAAC;EAEN,CAAC,CAAC,EACDV,WAAW,CAACI,MAAM,GAAG,CAAC,iBACrB7B,KAAA,CAAAoC,aAAA,CAACkD,iBAAiB;IAChB5D,cAAc,EAAEA,cAAyB;IACzCC,eAAe,EAAEA,eAAgB;IACjCH,KAAK,EAAEC,WAAY;IACnB+D,cAAc,EAAEA,cAAc,IAAK;MAAA,OAAM0C,cAAc,CAAC,IAAI,CAAC;IAAA,CAAE;IAC/D/F,IAAI,EAAEA,IAAK;IACXsD,KAAK,EAAEA;EAAM,CACd,CAEU,CACZ,CAAC;AAEV,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAM4C,WAAW,gBAAGpI,UAAU,CAACmH,YAAY,CAId;;AAEpC;AACAiB,WAAW,CAACC,WAAW,GAAG,aAAa"}
|
|
@@ -7,32 +7,32 @@ import { spacing } from '../_styles/spacing';
|
|
|
7
7
|
var maxModalWidth = 528;
|
|
8
8
|
var StyledBaseAvatar = /*#__PURE__*/styled(Avatar).withConfig({
|
|
9
9
|
displayName: "StyledBaseAvatar",
|
|
10
|
-
componentId: "core-
|
|
10
|
+
componentId: "core-12_17_7__sc-ft72hu-0"
|
|
11
11
|
})(["border-color:", ";border-style:solid;border-width:1px;&:hover{z-index:1;}&[role='img']:focus{outline:none;}"], colors.white);
|
|
12
12
|
export var StyledAvatar = /*#__PURE__*/styled(StyledBaseAvatar).withConfig({
|
|
13
13
|
displayName: "StyledAvatar",
|
|
14
|
-
componentId: "core-
|
|
14
|
+
componentId: "core-12_17_7__sc-ft72hu-1"
|
|
15
15
|
})(["background-color:", ";"], function (props) {
|
|
16
16
|
return colors[props.$color];
|
|
17
17
|
});
|
|
18
18
|
export var StyledContactItems = /*#__PURE__*/styled.div.withConfig({
|
|
19
19
|
displayName: "StyledContactItems",
|
|
20
|
-
componentId: "core-
|
|
20
|
+
componentId: "core-12_17_7__sc-ft72hu-2"
|
|
21
21
|
})(["padding-top:", "px;padding-bottom:", "px;padding-left:", "px;"], spacing.sm, spacing.sm, spacing.xs);
|
|
22
22
|
export var StyledWrapper = /*#__PURE__*/styled.div.withConfig({
|
|
23
23
|
displayName: "StyledWrapper",
|
|
24
|
-
componentId: "core-
|
|
24
|
+
componentId: "core-12_17_7__sc-ft72hu-3"
|
|
25
25
|
})(["display:flex;", " + ", "{margin-left:-", "px;}"], StyledAvatar, StyledAvatar, spacing.sm);
|
|
26
26
|
export var StyledViewAllWrapper = /*#__PURE__*/styled.div.withConfig({
|
|
27
27
|
displayName: "StyledViewAllWrapper",
|
|
28
|
-
componentId: "core-
|
|
28
|
+
componentId: "core-12_17_7__sc-ft72hu-4"
|
|
29
29
|
})(["display:flex;margin-left:", "px;margin-bottom:", "px;"], spacing.md, spacing.lg);
|
|
30
30
|
export var StyledModalBody = /*#__PURE__*/styled(Modal.Body).withConfig({
|
|
31
31
|
displayName: "StyledModalBody",
|
|
32
|
-
componentId: "core-
|
|
32
|
+
componentId: "core-12_17_7__sc-ft72hu-5"
|
|
33
33
|
})(["max-width:", "px;"], maxModalWidth);
|
|
34
34
|
export var StyledContactItem = /*#__PURE__*/styled(ContactItem).withConfig({
|
|
35
35
|
displayName: "StyledContactItem",
|
|
36
|
-
componentId: "core-
|
|
36
|
+
componentId: "core-12_17_7__sc-ft72hu-6"
|
|
37
37
|
})(["flex-shrink:0;"]);
|
|
38
38
|
//# sourceMappingURL=AvatarStack.styles.js.map
|
package/dist/Badge/Badge.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { addSubcomponents } from '../_utils/addSubcomponents';
|
|
4
4
|
import { StyledBadge, StyledBadgeLabel } from './Badge.styles';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import styled from 'styled-components';
|
|
2
2
|
export var StyledBadge = /*#__PURE__*/styled.div.withConfig({
|
|
3
3
|
displayName: "StyledBadge",
|
|
4
|
-
componentId: "core-
|
|
4
|
+
componentId: "core-12_17_7__sc-rpertu-0"
|
|
5
5
|
})(["display:inline-block;position:relative;"]);
|
|
6
6
|
export var StyledBadgeLabel = /*#__PURE__*/styled.span.withConfig({
|
|
7
7
|
displayName: "StyledBadgeLabel",
|
|
8
|
-
componentId: "core-
|
|
8
|
+
componentId: "core-12_17_7__sc-rpertu-1"
|
|
9
9
|
})(["bottom:100%;position:absolute;right:0;transform:translateX(50%) translateY(50%);"]);
|
|
10
10
|
//# sourceMappingURL=Badge.styles.js.map
|