@procore/core-react 12.37.0 → 12.39.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jest/testShims.js +6 -0
- package/CHANGELOG.md +64 -0
- package/dist/AnchorNavigation/AnchorNavigation.styles.js +3 -3
- package/dist/Avatar/Avatar.styles.js +6 -6
- package/dist/Avatar/Avatar.styles.js.map +1 -1
- package/dist/AvatarStack/AvatarStack.js +65 -25
- package/dist/AvatarStack/AvatarStack.js.map +1 -1
- package/dist/AvatarStack/AvatarStack.styles.js +8 -8
- package/dist/AvatarStack/AvatarStack.styles.js.map +1 -1
- package/dist/AvatarStack/useAvatarPopover.d.ts +14 -0
- package/dist/AvatarStack/useAvatarPopover.js +57 -0
- package/dist/AvatarStack/useAvatarPopover.js.map +1 -0
- package/dist/AvatarStack/useAvatarPopover.types.d.ts +4 -0
- package/dist/AvatarStack/useAvatarPopover.types.js +2 -0
- package/dist/AvatarStack/useAvatarPopover.types.js.map +1 -0
- package/dist/Badge/Badge.styles.js +2 -2
- package/dist/BadgePill/BadgePill.styles.js +4 -4
- package/dist/Banner/Banner.d.ts +2 -1
- package/dist/Banner/Banner.js +53 -34
- package/dist/Banner/Banner.js.map +1 -1
- package/dist/Banner/Banner.styles.js +10 -10
- package/dist/Banner/Banner.types.d.ts +6 -0
- package/dist/Banner/Banner.types.js.map +1 -1
- package/dist/Banner/index.d.ts +1 -1
- package/dist/Banner/index.js.map +1 -1
- package/dist/Box/Box.styles.js +1 -1
- package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
- package/dist/Button/Button.styles.js +5 -5
- package/dist/Calendar/Calendar.styles.js +9 -9
- package/dist/Card/Card.styles.js +1 -1
- package/dist/Checkbox/Checkbox.d.ts +0 -1
- package/dist/Checkbox/Checkbox.js +5 -6
- package/dist/Checkbox/Checkbox.js.map +1 -1
- package/dist/Checkbox/Checkbox.styles.js +6 -6
- package/dist/ContactItem/ContactItem.styles.js +5 -5
- package/dist/Content/Content.styles.js +2 -2
- package/dist/DateInput/DateInput.js +12 -2
- package/dist/DateInput/DateInput.js.map +1 -1
- package/dist/DateInput/DateInput.styles.js +6 -6
- package/dist/DateSelect/DateSelect.types.d.ts +1 -1
- package/dist/DateSelect/DateSelect.types.js.map +1 -1
- package/dist/DetailPage/DetailPage.styles.js +7 -7
- package/dist/Dropdown/Dropdown.styles.js +3 -3
- package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
- package/dist/Dropzone/Dropzone.js +1 -1
- package/dist/Dropzone/Dropzone.styles.js +9 -9
- package/dist/EmptyState/EmptyState.styles.js +6 -6
- package/dist/Field/Field.styles.js +3 -3
- package/dist/FileList/FileList.js +3 -7
- package/dist/FileList/FileList.js.map +1 -1
- package/dist/FileList/FileList.styles.d.ts +0 -1
- package/dist/FileList/FileList.styles.js +3 -7
- package/dist/FileList/FileList.styles.js.map +1 -1
- package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
- package/dist/FileSelect/FileExplorer/FileExplorerSidebar.js +3 -1
- package/dist/FileSelect/FileExplorer/FileExplorerSidebar.js.map +1 -1
- package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
- package/dist/FileSelect/FileSelect.styles.js +2 -2
- package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
- package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
- package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
- package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
- package/dist/FileSelect/SourceItem/SourceItem.js +10 -5
- package/dist/FileSelect/SourceItem/SourceItem.js.map +1 -1
- package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
- package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
- package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
- package/dist/FileToken/FileToken.styles.js +4 -4
- package/dist/FilterToken/FilterToken.styles.js +5 -5
- package/dist/FlexList/FlexList.styles.js +1 -1
- package/dist/Form/Form.js +74 -58
- package/dist/Form/Form.js.map +1 -1
- package/dist/Form/Form.styles.d.ts +0 -14
- package/dist/Form/Form.styles.js +14 -24
- package/dist/Form/Form.styles.js.map +1 -1
- package/dist/Form/Form.types.d.ts +22 -2
- package/dist/Form/Form.types.js.map +1 -1
- package/dist/Form/FormFieldTooltip.js +4 -11
- package/dist/Form/FormFieldTooltip.js.map +1 -1
- package/dist/Form/StyledFormikForm.styles.js +2 -2
- package/dist/Form/stories/util.js +1 -12
- package/dist/Form/stories/util.js.map +1 -1
- package/dist/GhostPlaceholder/GhostPlaceholder.styles.js +2 -2
- package/dist/Grid/Grid.styles.js +2 -2
- package/dist/GroupSelect/GroupSelect.js +5 -4
- package/dist/GroupSelect/GroupSelect.js.map +1 -1
- package/dist/GroupSelect/GroupSelect.styles.js +1 -1
- package/dist/GroupSelect/GroupSelect.types.d.ts +5 -5
- package/dist/GroupSelect/GroupSelect.types.js.map +1 -1
- package/dist/Input/Input.styles.js +1 -1
- package/dist/Link/Link.styles.js +1 -1
- package/dist/ListPage/ListPage.styles.js +8 -8
- package/dist/Loader/Loader.styles.js +2 -2
- package/dist/Menu/Menu.js +1 -5
- package/dist/Menu/Menu.js.map +1 -1
- package/dist/MenuImperative/MenuImperative.js +7 -10
- package/dist/MenuImperative/MenuImperative.js.map +1 -1
- package/dist/MenuImperative/MenuImperative.styles.d.ts +2 -3
- package/dist/MenuImperative/MenuImperative.styles.js +26 -25
- package/dist/MenuImperative/MenuImperative.styles.js.map +1 -1
- package/dist/MenuImperative/MenuImperative.types.d.ts +4 -0
- package/dist/MenuImperative/MenuImperative.types.js.map +1 -1
- package/dist/MenuImperative/sensors.js +16 -58
- package/dist/MenuImperative/sensors.js.map +1 -1
- package/dist/Modal/Modal.styles.js +13 -13
- package/dist/MultiSelect/MultiSelect.js +50 -28
- package/dist/MultiSelect/MultiSelect.js.map +1 -1
- package/dist/MultiSelect/MultiSelect.styles.d.ts +1 -0
- package/dist/MultiSelect/MultiSelect.styles.js +12 -8
- package/dist/MultiSelect/MultiSelect.styles.js.map +1 -1
- package/dist/MultiSelect/MultiSelect.types.d.ts +31 -1
- package/dist/MultiSelect/MultiSelect.types.js.map +1 -1
- package/dist/NextMenu/NextMenu.styles.js +3 -3
- package/dist/Notation/Notation.js +1 -1
- package/dist/NumberInput/NumberInput.styles.js +7 -7
- package/dist/Overlay/OverlayArrow.styles.js +1 -1
- package/dist/OverlayTrigger/OverlayTrigger.js +4 -2
- package/dist/OverlayTrigger/OverlayTrigger.js.map +1 -1
- package/dist/OverlayTrigger/OverlayTrigger.types.d.ts +8 -0
- package/dist/OverlayTrigger/OverlayTrigger.types.js.map +1 -1
- package/dist/OverlayTrigger/a11yPresets.js +5 -3
- package/dist/OverlayTrigger/a11yPresets.js.map +1 -1
- package/dist/PageLayout/PageLayout.js +31 -12
- package/dist/PageLayout/PageLayout.js.map +1 -1
- package/dist/PageLayout/PageLayout.styles.d.ts +1 -0
- package/dist/PageLayout/PageLayout.styles.js +17 -17
- package/dist/PageLayout/PageLayout.styles.js.map +1 -1
- package/dist/PageLayout/PageLayout.types.d.ts +10 -0
- package/dist/PageLayout/PageLayout.types.js.map +1 -1
- package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.styles.js +1 -1
- package/dist/PageTemplate/PageHeaderTemplate/PageHeaderTemplate.styles.js +3 -3
- package/dist/PageTemplate/PagePaneTemplate/PagePaneTemplate.styles.js +2 -2
- package/dist/PageTemplate/PageTemplate/PageTemplate.styles.js +3 -3
- package/dist/Pagination/Pagination.styles.js +5 -5
- package/dist/Panel/Panel.styles.js +11 -11
- package/dist/Pill/Pill.styles.js +3 -3
- package/dist/PillSelect/PillSelect.js +4 -3
- package/dist/PillSelect/PillSelect.js.map +1 -1
- package/dist/PillSelect/PillSelect.styles.js +4 -4
- package/dist/Popover/Popover.js +2 -1
- package/dist/Popover/Popover.js.map +1 -1
- package/dist/Popover/Popover.styles.js +2 -2
- package/dist/Portal/Portal.styles.js +1 -1
- package/dist/ProgressBar/ProgressBar.styles.js +2 -2
- package/dist/RadioButton/RadioButton.styles.js +3 -3
- package/dist/Required/Required.styles.js +3 -3
- package/dist/Search/Search.styles.js +5 -5
- package/dist/Section/Section.styles.js +9 -9
- package/dist/Section/Section.styles.js.map +1 -1
- package/dist/SegmentedController/SegmentedController.js +1 -2
- package/dist/SegmentedController/SegmentedController.js.map +1 -1
- package/dist/SegmentedController/SegmentedController.styles.js +4 -4
- package/dist/Select/Select.d.ts +3 -4
- package/dist/Select/Select.js +37 -15
- package/dist/Select/Select.js.map +1 -1
- package/dist/Select/Select.styles.js +9 -9
- package/dist/Select/Select.styles.js.map +1 -1
- package/dist/Select/Select.types.d.ts +20 -0
- package/dist/Select/Select.types.js.map +1 -1
- package/dist/Select/index.d.ts +1 -1
- package/dist/Select/index.js.map +1 -1
- package/dist/Semantic/Semantic.styles.js +9 -9
- package/dist/Slider/Slider.styles.js +5 -5
- package/dist/Spinner/Spinner.js +21 -6
- package/dist/Spinner/Spinner.js.map +1 -1
- package/dist/Spinner/Spinner.styles.js +7 -7
- package/dist/SplitViewCard/SplitViewCard.js +13 -0
- package/dist/SplitViewCard/SplitViewCard.js.map +1 -1
- package/dist/SplitViewCard/SplitViewCard.styles.js +8 -8
- package/dist/SuperSelect/SuperSelect.components.js +6 -15
- package/dist/SuperSelect/SuperSelect.components.js.map +1 -1
- package/dist/SuperSelect/SuperSelect.js +1 -1
- package/dist/SuperSelect/SuperSelect.js.map +1 -1
- package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
- package/dist/SuperSelect/SuperSelect.styles.js +38 -38
- package/dist/SuperSelect/SuperSelect.types.d.ts +0 -3
- package/dist/SuperSelect/SuperSelect.types.js.map +1 -1
- package/dist/SuperSelect/useSuperSelect.d.ts +1 -1
- package/dist/SuperSelect/useSuperSelect.js +19 -52
- package/dist/SuperSelect/useSuperSelect.js.map +1 -1
- package/dist/Switch/Switch.styles.js +4 -4
- package/dist/Table/Table.styles.d.ts +1 -1
- package/dist/Table/Table.styles.js +28 -28
- package/dist/TableShelf/TableShelf.styles.js +5 -5
- package/dist/Tabs/Tabs.styles.js +15 -15
- package/dist/Tearsheet/Tearsheet.styles.js +17 -28
- package/dist/Tearsheet/Tearsheet.styles.js.map +1 -1
- package/dist/Tearsheet/storybook/PageLayoutDemo.js +11 -2
- package/dist/Tearsheet/storybook/PageLayoutDemo.js.map +1 -1
- package/dist/TextArea/TextArea.styles.js +1 -1
- package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
- package/dist/Thumbnail/Thumbnail.styles.js +17 -17
- package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
- package/dist/TieredSelect/TieredSelect.styles.js +9 -9
- package/dist/Tile/Tile.styles.js +8 -8
- package/dist/Title/Title.styles.js +7 -7
- package/dist/Toast/Toast.styles.js +3 -3
- package/dist/ToggleButton/ToggleButton.styles.js +1 -1
- package/dist/Token/Token.styles.js +3 -3
- package/dist/ToolHeader/ToolHeader.styles.js +6 -6
- package/dist/ToolLandingPage/ToolLandingPage.styles.js +3 -3
- package/dist/Tooltip/Tooltip.d.ts +4 -2
- package/dist/Tooltip/Tooltip.js +30 -5
- package/dist/Tooltip/Tooltip.js.map +1 -1
- package/dist/Tooltip/Tooltip.styles.d.ts +1 -0
- package/dist/Tooltip/Tooltip.styles.js +12 -4
- package/dist/Tooltip/Tooltip.styles.js.map +1 -1
- package/dist/Tooltip/Tooltip.types.d.ts +8 -0
- package/dist/Tooltip/Tooltip.types.js.map +1 -1
- package/dist/Tree/Tree.js +1 -1
- package/dist/Tree/Tree.styles.js +10 -10
- package/dist/Typeahead/Typeahead.styles.js +3 -3
- package/dist/Typography/Typography.styles.js +1 -1
- package/dist/Typography/Typography.table.story.js +2 -2
- package/dist/_hooks/I18n.d.ts +65 -67
- package/dist/_hooks/IntersectionObserver/createIntersectionObserver.d.ts +0 -1
- package/dist/_hooks/IntersectionObserver/createIntersectionObserver.js +0 -1
- package/dist/_hooks/IntersectionObserver/createIntersectionObserver.js.map +1 -1
- package/dist/_locales/de-DE.json +3 -1
- package/dist/_locales/en-AU.json +3 -1
- package/dist/_locales/en-CA.json +3 -1
- package/dist/_locales/en-GB.json +3 -1
- package/dist/_locales/en.json +5 -2
- package/dist/_locales/es-ES.json +3 -1
- package/dist/_locales/es.json +3 -1
- package/dist/_locales/fr-CA.json +3 -1
- package/dist/_locales/fr-FR.json +3 -1
- package/dist/_locales/is-IS.json +3 -1
- package/dist/_locales/it-IT.json +3 -1
- package/dist/_locales/ja-JP.json +3 -1
- package/dist/_locales/pl-PL.json +3 -1
- package/dist/_locales/pseudo.json +5 -2
- package/dist/_locales/pt-BR.json +3 -1
- package/dist/_locales/pt-PT.json +5 -3
- package/dist/_locales/th-TH.json +3 -1
- package/dist/_locales/zh-SG.json +3 -1
- package/dist/_locales/zh-TW.json +3 -1
- package/dist/_storyHelpers_/components/Deprecation.styles.js +1 -1
- package/dist/_storyHelpers_/components/StoryGrid.js +3 -3
- package/dist/_styles/mixins.d.ts +13 -1
- package/dist/_styles/mixins.js +15 -1
- package/dist/_styles/mixins.js.map +1 -1
- package/dist/_typedoc/AnchorNavigation/AnchorNavigation.types.json +3 -3
- package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
- package/dist/_typedoc/AvatarStack/AvatarStack.types.json +24 -24
- package/dist/_typedoc/Badge/Badge.types.json +6 -6
- package/dist/_typedoc/Banner/Banner.types.json +39 -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 +13 -13
- package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
- package/dist/_typedoc/Card/Card.types.json +6 -6
- package/dist/_typedoc/Checkbox/Checkbox.types.json +8 -8
- package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
- package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
- package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
- package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
- package/dist/_typedoc/Dropdown/Dropdown.types.json +37 -37
- package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +31 -31
- package/dist/_typedoc/Dropzone/Dropzone.types.json +44 -44
- package/dist/_typedoc/EmptyState/EmptyState.types.json +16 -16
- package/dist/_typedoc/FileList/FileList.types.json +9 -9
- package/dist/_typedoc/FileSelect/FileSelect.types.json +27 -27
- package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
- package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
- package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +9 -9
- package/dist/_typedoc/Flex/Flex.types.json +27 -27
- package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
- package/dist/_typedoc/Form/Form.types.json +862 -762
- 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 +75 -55
- package/dist/_typedoc/Input/Input.types.json +2 -2
- package/dist/_typedoc/Link/Link.types.json +1 -1
- package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
- package/dist/_typedoc/Menu/Menu.types.json +62 -62
- package/dist/_typedoc/MenuImperative/MenuImperative.types.json +77 -77
- package/dist/_typedoc/Modal/Modal.types.json +46 -46
- package/dist/_typedoc/MultiSelect/MultiSelect.types.json +52 -32
- package/dist/_typedoc/NextTile/NextTile.types.json +32 -32
- package/dist/_typedoc/Notation/Notation.types.json +4 -4
- package/dist/_typedoc/NumberInput/NumberInput.types.json +48 -48
- package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +42 -32
- package/dist/_typedoc/PageLayout/PageLayout.types.json +46 -26
- package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
- package/dist/_typedoc/Panel/Panel.types.json +30 -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 +7 -7
- package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
- package/dist/_typedoc/Required/Required.types.json +5 -5
- package/dist/_typedoc/Search/Search.types.json +18 -18
- package/dist/_typedoc/Section/Section.types.json +15 -15
- package/dist/_typedoc/SegmentedController/SegmentedController.types.json +21 -21
- package/dist/_typedoc/Select/Select.types.json +141 -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 +14 -14
- package/dist/_typedoc/Table/Table.types.json +102 -102
- 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 +4 -4
- package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
- package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +43 -43
- package/dist/_typedoc/TieredSelect/TieredSelect.types.json +29 -29
- package/dist/_typedoc/Tile/Tile.types.json +8 -8
- package/dist/_typedoc/Title/Title.types.json +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 +7 -7
- package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
- package/dist/_typedoc/ToolLandingPage/ToolLandingPage.types.json +8 -8
- package/dist/_typedoc/Tooltip/Tooltip.types.json +25 -14
- package/dist/_typedoc/Tree/Tree.types.json +88 -88
- 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/_utils/scrollIntoView.js +21 -7
- package/dist/_utils/scrollIntoView.js.map +1 -1
- package/package.json +9 -8
- package/dist/Checkbox/CheckboxTooltip.d.ts +0 -4
- package/dist/Checkbox/CheckboxTooltip.js +0 -26
- package/dist/Checkbox/CheckboxTooltip.js.map +0 -1
package/dist/Spinner/Spinner.js
CHANGED
|
@@ -2,6 +2,7 @@ var _excluded = ["children", "className", "color", "label", "loading", "size", "
|
|
|
2
2
|
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); }
|
|
3
3
|
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; }
|
|
4
4
|
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; }
|
|
5
|
+
import { useId } from '@react-aria/utils';
|
|
5
6
|
import React from 'react';
|
|
6
7
|
import { useI18nContext } from '../_hooks/I18n';
|
|
7
8
|
import { StyledCircle, StyledSpinnerContainer, StyledSpinnerContainerWithLabel, StyledSpinnerOverlay, StyledSpinnerOverlayContainer, StyledSpinnerOverlayLabel, StyledSpinnerSVG } from './Spinner.styles';
|
|
@@ -24,21 +25,28 @@ var Circle = /*#__PURE__*/React.forwardRef(function Circle(_ref, ref) {
|
|
|
24
25
|
size = _ref$size === void 0 ? defaultSpinnerSize : _ref$size,
|
|
25
26
|
_ref$variant = _ref.variant,
|
|
26
27
|
variant = _ref$variant === void 0 ? 'default' : _ref$variant,
|
|
27
|
-
label = _ref.label
|
|
28
|
+
label = _ref.label,
|
|
29
|
+
labelId = _ref.labelId,
|
|
30
|
+
_ref$ariaHidden = _ref.ariaHidden,
|
|
31
|
+
ariaHidden = _ref$ariaHidden === void 0 ? false : _ref$ariaHidden;
|
|
28
32
|
var i18n = useI18nContext();
|
|
29
33
|
return /*#__PURE__*/React.createElement(StyledSpinnerContainer, {
|
|
34
|
+
"aria-labelledby": labelId,
|
|
30
35
|
className: className,
|
|
31
36
|
$color: color,
|
|
32
37
|
$size: size,
|
|
33
38
|
$variant: variant,
|
|
34
|
-
ref: ref
|
|
39
|
+
ref: ref,
|
|
40
|
+
role: "progressbar"
|
|
35
41
|
}, /*#__PURE__*/React.createElement(StyledSpinnerSVG, {
|
|
36
|
-
|
|
37
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
38
|
-
role: "img",
|
|
42
|
+
"aria-hidden": ariaHidden || undefined,
|
|
39
43
|
"aria-label": label || i18n.t('core.spinner.loading', {
|
|
40
44
|
defaultValue: 'Loading'
|
|
41
45
|
}),
|
|
46
|
+
id: ariaHidden ? undefined : labelId,
|
|
47
|
+
role: "img",
|
|
48
|
+
viewBox: "0 0 48 48",
|
|
49
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
42
50
|
$animate: loading,
|
|
43
51
|
$mountTime: mountTime
|
|
44
52
|
}, /*#__PURE__*/React.createElement(StyledCircle, {
|
|
@@ -77,11 +85,14 @@ export var Spinner = /*#__PURE__*/React.forwardRef(function Spinner(props, ref)
|
|
|
77
85
|
_props$centered = props.centered,
|
|
78
86
|
centered = _props$centered === void 0 ? false : _props$centered,
|
|
79
87
|
rest = _objectWithoutProperties(props, _excluded);
|
|
88
|
+
var labelId = useId();
|
|
80
89
|
var mountTime = React.useRef(Date.now());
|
|
90
|
+
var hasVisibleLabel = Boolean(children && label && !smallSizes.includes(size));
|
|
81
91
|
if (!children) {
|
|
82
92
|
// We are preserving the current behavior of the Spinner component,
|
|
83
93
|
// where the loading prop does not apply when no children are passed.
|
|
84
94
|
return /*#__PURE__*/React.createElement(Circle, _extends({}, props, {
|
|
95
|
+
labelId: labelId,
|
|
85
96
|
loading: true,
|
|
86
97
|
mountTime: mountTime.current,
|
|
87
98
|
ref: ref
|
|
@@ -92,10 +103,14 @@ export var Spinner = /*#__PURE__*/React.forwardRef(function Spinner(props, ref)
|
|
|
92
103
|
className: className,
|
|
93
104
|
$centered: centered
|
|
94
105
|
}, rest), /*#__PURE__*/React.createElement(StyledSpinnerOverlay, null), /*#__PURE__*/React.createElement(StyledSpinnerContainerWithLabel, null, /*#__PURE__*/React.createElement(Circle, _extends({}, props, {
|
|
106
|
+
ariaHidden: hasVisibleLabel,
|
|
95
107
|
className: "",
|
|
108
|
+
labelId: labelId,
|
|
96
109
|
mountTime: mountTime.current,
|
|
97
110
|
ref: ref
|
|
98
|
-
})), !smallSizes.includes(size) && /*#__PURE__*/React.createElement(StyledSpinnerOverlayLabel,
|
|
111
|
+
})), !smallSizes.includes(size) && /*#__PURE__*/React.createElement(StyledSpinnerOverlayLabel, {
|
|
112
|
+
id: hasVisibleLabel ? labelId : undefined
|
|
113
|
+
}, label)), children);
|
|
99
114
|
});
|
|
100
115
|
Spinner.displayName = 'Spinner';
|
|
101
116
|
//# sourceMappingURL=Spinner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spinner.js","names":["React","useI18nContext","StyledCircle","StyledSpinnerContainer","StyledSpinnerContainerWithLabel","StyledSpinnerOverlay","StyledSpinnerOverlayContainer","StyledSpinnerOverlayLabel","StyledSpinnerSVG","radiusMap","xs","sm","md","lg","smallSizes","defaultSpinnerSize","Circle","forwardRef","_ref","ref","_ref$className","className","color","_ref$loading","loading","mountTime","_ref$size","size","_ref$variant","variant","label","i18n","createElement","$color","$size","$variant","
|
|
1
|
+
{"version":3,"file":"Spinner.js","names":["useId","React","useI18nContext","StyledCircle","StyledSpinnerContainer","StyledSpinnerContainerWithLabel","StyledSpinnerOverlay","StyledSpinnerOverlayContainer","StyledSpinnerOverlayLabel","StyledSpinnerSVG","radiusMap","xs","sm","md","lg","smallSizes","defaultSpinnerSize","Circle","forwardRef","_ref","ref","_ref$className","className","color","_ref$loading","loading","mountTime","_ref$size","size","_ref$variant","variant","label","labelId","_ref$ariaHidden","ariaHidden","i18n","createElement","$color","$size","$variant","role","undefined","t","defaultValue","id","viewBox","xmlns","$animate","$mountTime","cx","cy","r","Spinner","props","children","_props$className","_props$loading","_props$size","_props$variant","_props$centered","centered","rest","_objectWithoutProperties","_excluded","useRef","Date","now","hasVisibleLabel","Boolean","includes","_extends","current","$loading","$centered","displayName"],"sources":["../../src/Spinner/Spinner.tsx"],"sourcesContent":["import { useId } from '@react-aria/utils'\nimport React from 'react'\nimport { useI18nContext } from '../_hooks/I18n'\nimport {\n StyledCircle,\n StyledSpinnerContainer,\n StyledSpinnerContainerWithLabel,\n StyledSpinnerOverlay,\n StyledSpinnerOverlayContainer,\n StyledSpinnerOverlayLabel,\n StyledSpinnerSVG,\n} from './Spinner.styles'\nimport type { SpinnerProps, SpinnerSize } from './Spinner.types'\n\nconst radiusMap: Record<SpinnerSize, number> = {\n xs: 18.5,\n sm: 18,\n md: 20,\n lg: 20.5,\n}\n\nconst smallSizes: SpinnerSize[] = ['xs', 'sm']\n\nexport const defaultSpinnerSize: SpinnerSize = 'lg'\n\nconst Circle = React.forwardRef<\n HTMLDivElement,\n SpinnerProps & {\n mountTime: number\n labelId: string\n ariaHidden?: boolean\n }\n>(function Circle(\n {\n className = '',\n color,\n loading = false,\n mountTime,\n size = defaultSpinnerSize,\n variant = 'default',\n label,\n labelId,\n ariaHidden = false,\n },\n ref\n) {\n const i18n = useI18nContext()\n return (\n <StyledSpinnerContainer\n aria-labelledby={labelId}\n className={className}\n $color={color}\n $size={size}\n $variant={variant}\n ref={ref}\n role=\"progressbar\"\n >\n <StyledSpinnerSVG\n aria-hidden={ariaHidden || undefined}\n aria-label={\n label ||\n i18n.t('core.spinner.loading', {\n defaultValue: 'Loading',\n })\n }\n id={ariaHidden ? undefined : labelId}\n role=\"img\"\n viewBox=\"0 0 48 48\"\n xmlns=\"http://www.w3.org/2000/svg\"\n $animate={loading}\n $mountTime={mountTime}\n >\n <StyledCircle\n cx=\"24\"\n cy=\"24\"\n r={radiusMap[size]}\n $animate={loading}\n $mountTime={mountTime}\n />\n </StyledSpinnerSVG>\n </StyledSpinnerContainer>\n )\n})\n\n/**\n\n Spinners indicate a loading state on either a full page or smaller component,\n like a menu, select or button.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-spinner--demo)\n\n @see [Design Guidelines](https://design.procore.com/spinner)\n\n */\nexport const Spinner = React.forwardRef<HTMLDivElement, SpinnerProps>(\n function Spinner(props, ref) {\n const {\n children,\n className = '',\n color,\n label,\n loading = false,\n size = defaultSpinnerSize,\n variant = 'default',\n centered = false,\n ...rest\n } = props\n const labelId = useId()\n const mountTime = React.useRef(Date.now())\n const hasVisibleLabel = Boolean(\n children && label && !smallSizes.includes(size)\n )\n\n if (!children) {\n // We are preserving the current behavior of the Spinner component,\n // where the loading prop does not apply when no children are passed.\n return (\n <Circle\n {...props}\n labelId={labelId}\n loading\n mountTime={mountTime.current}\n ref={ref}\n />\n )\n }\n\n return (\n <StyledSpinnerOverlayContainer\n $loading={loading}\n className={className}\n $centered={centered}\n {...rest}\n >\n <StyledSpinnerOverlay />\n <StyledSpinnerContainerWithLabel>\n <Circle\n {...props}\n ariaHidden={hasVisibleLabel}\n className=\"\"\n labelId={labelId}\n mountTime={mountTime.current}\n ref={ref}\n />\n {!smallSizes.includes(size) && (\n <StyledSpinnerOverlayLabel\n id={hasVisibleLabel ? labelId : undefined}\n >\n {label}\n </StyledSpinnerOverlayLabel>\n )}\n </StyledSpinnerContainerWithLabel>\n {children}\n </StyledSpinnerOverlayContainer>\n )\n }\n)\n\nSpinner.displayName = 'Spinner'\n"],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ var zOverlay = 2;
|
|
|
10
10
|
var dash = /*#__PURE__*/keyframes(["0%{stroke-dasharray:1,150;stroke-dashoffset:0;}50%{stroke-dasharray:90,150;stroke-dashoffset:-35;}100%{stroke-dasharray:90,150;stroke-dashoffset:-124;}"]);
|
|
11
11
|
export var StyledCircle = /*#__PURE__*/styled.circle.withConfig({
|
|
12
12
|
displayName: "StyledCircle",
|
|
13
|
-
componentId: "core-
|
|
13
|
+
componentId: "core-12_39_0__sc-1igww3-0"
|
|
14
14
|
})(["", " stroke-linecap:round;"], function (p) {
|
|
15
15
|
if (p.$animate) {
|
|
16
16
|
var animationDelay = -(p.$mountTime % duration);
|
|
@@ -51,16 +51,16 @@ function getStrokeColor(_ref2) {
|
|
|
51
51
|
}
|
|
52
52
|
export var StyledSpinnerContainer = /*#__PURE__*/styled.div.withConfig({
|
|
53
53
|
displayName: "StyledSpinnerContainer",
|
|
54
|
-
componentId: "core-
|
|
54
|
+
componentId: "core-12_39_0__sc-1igww3-1"
|
|
55
55
|
})(["border-radius:100%;box-sizing:border-box;display:block;flex-shrink:0;position:relative;", " ", "{", "}"], getHeightWidthStroke, StyledCircle, getStrokeColor);
|
|
56
56
|
export var StyledSpinnerOverlayLabel = /*#__PURE__*/styled.span.withConfig({
|
|
57
57
|
displayName: "StyledSpinnerOverlayLabel",
|
|
58
|
-
componentId: "core-
|
|
58
|
+
componentId: "core-12_39_0__sc-1igww3-2"
|
|
59
59
|
})(["", " color:", ";display:block;min-height:20px;padding-top:", "px;text-align:center;transition:opacity ", ";"], getTypographyIntent('body'), colors.gray15, spacing.md, transition);
|
|
60
60
|
var rotate = /*#__PURE__*/keyframes(["to{transform:rotate(360deg);}"]);
|
|
61
61
|
export var StyledSpinnerSVG = /*#__PURE__*/styled.svg.withConfig({
|
|
62
62
|
displayName: "StyledSpinnerSVG",
|
|
63
|
-
componentId: "core-
|
|
63
|
+
componentId: "core-12_39_0__sc-1igww3-3"
|
|
64
64
|
})(["", " fill:none;height:100%;left:0;margin:auto;position:absolute;right:0;top:0;width:100%;z-index:2;"], function (p) {
|
|
65
65
|
if (p.$animate) {
|
|
66
66
|
var animationDelay = -(p.$mountTime % (duration - durationOffset));
|
|
@@ -70,15 +70,15 @@ export var StyledSpinnerSVG = /*#__PURE__*/styled.svg.withConfig({
|
|
|
70
70
|
var startsWithNoInteraction = /*#__PURE__*/css(["opacity:0;pointer-events:none;transition:opacity ", ";"], transition);
|
|
71
71
|
export var StyledSpinnerOverlay = /*#__PURE__*/styled.div.withConfig({
|
|
72
72
|
displayName: "StyledSpinnerOverlay",
|
|
73
|
-
componentId: "core-
|
|
73
|
+
componentId: "core-12_39_0__sc-1igww3-4"
|
|
74
74
|
})(["", ";background-color:", ";bottom:0;left:0;position:absolute;right:0;top:0;z-index:", ";"], startsWithNoInteraction, colors.white, zOverlay);
|
|
75
75
|
export var StyledSpinnerContainerWithLabel = /*#__PURE__*/styled.div.withConfig({
|
|
76
76
|
displayName: "StyledSpinnerContainerWithLabel",
|
|
77
|
-
componentId: "core-
|
|
77
|
+
componentId: "core-12_39_0__sc-1igww3-5"
|
|
78
78
|
})(["", ";align-items:center;display:flex;flex-direction:column;height:100%;max-height:400px;justify-content:center;position:absolute;top:0;width:100%;z-index:", ";"], startsWithNoInteraction, zContainer);
|
|
79
79
|
export var StyledSpinnerOverlayContainer = /*#__PURE__*/styled.div.withConfig({
|
|
80
80
|
displayName: "StyledSpinnerOverlayContainer",
|
|
81
|
-
componentId: "core-
|
|
81
|
+
componentId: "core-12_39_0__sc-1igww3-6"
|
|
82
82
|
})(["min-height:150px;position:relative;", " ", ""], function (_ref3) {
|
|
83
83
|
var $loading = _ref3.$loading;
|
|
84
84
|
if ($loading) {
|
|
@@ -67,6 +67,10 @@ export var Panel = /*#__PURE__*/React.forwardRef(function (_ref3, ref) {
|
|
|
67
67
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
68
68
|
hasShadow = _React$useState2[0],
|
|
69
69
|
setHasShadow = _React$useState2[1];
|
|
70
|
+
var _React$useState3 = React.useState(isOpen),
|
|
71
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
72
|
+
shouldRender = _React$useState4[0],
|
|
73
|
+
setShouldRender = _React$useState4[1];
|
|
70
74
|
var mainRef = React.useRef(null);
|
|
71
75
|
var handleResize = React.useCallback(function (entries) {
|
|
72
76
|
var element = entries[0];
|
|
@@ -80,7 +84,16 @@ export var Panel = /*#__PURE__*/React.forwardRef(function (_ref3, ref) {
|
|
|
80
84
|
React.useEffect(function () {
|
|
81
85
|
setResize(mainRef.current);
|
|
82
86
|
}, [setResize]);
|
|
87
|
+
React.useEffect(function () {
|
|
88
|
+
if (isOpen) setShouldRender(true);
|
|
89
|
+
}, [isOpen]);
|
|
90
|
+
var onTransitionEnd = React.useCallback(function (e) {
|
|
91
|
+
if (e.target !== e.currentTarget) return;
|
|
92
|
+
if (!isOpen) setShouldRender(false);
|
|
93
|
+
}, [isOpen]);
|
|
94
|
+
if (!shouldRender) return null;
|
|
83
95
|
return /*#__PURE__*/React.createElement(StyledSplitViewCardAside, _extends({
|
|
96
|
+
onTransitionEnd: onTransitionEnd,
|
|
84
97
|
$open: isOpen,
|
|
85
98
|
$hasShadow: hasShadow,
|
|
86
99
|
ref: mergeRefs(ref, mainRef)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SplitViewCard.js","names":["Clear","useId","React","Button","StyledActions","Section","useI18nContext","useResizeObserver","addSubcomponents","mergeRefs","SplitViewCardContextProvider","useSplitViewCard","StyledSplitViewCardAside","StyledSplitViewCardBody","StyledSplitViewCardContainer","StyledSplitViewCardFooter","StyledSplitViewCardHeader","StyledSplitViewCardHeading","StyledSplitViewCardMain","StyledSplitViewCardTitle","SplitViewCardInternalContextProvider","useSplitViewCardInternal","SplitViewCard_","forwardRef","_ref","ref","ariaLabelledBy","children","_ref$isClosable","isClosable","isInitiallyOpen","onClose","props","_objectWithoutProperties","_excluded","defaultLabelId","createElement","_extends","Main","_ref2","_excluded2","_useSplitViewCard","isOpen","mainSectionRef","$open","tabIndex","Panel","_ref3","_excluded3","_useSplitViewCard2","_React$useState","useState","_React$useState2","_slicedToArray","hasShadow","setHasShadow","mainRef","useRef","handleResize","useCallback","entries","element","target","clientWidth","setResize","useEffect","current","$hasShadow","PanelTitle","_ref4","_excluded4","I18n","_useSplitViewCardInte","_useSplitViewCard3","hide","id","t","icon","variant","onClick","PanelHeader","_ref5","_excluded5","PanelBody","_ref6","_excluded6","_useSplitViewCardInte2","setIsScrolling","timer","handleScroll","clearTimeout","setTimeout","onScroll","role","PanelFooter","_ref7","_excluded7","_useSplitViewCardInte3","isScrolling","Actions","_ref8","_excluded8","displayName","SplitViewCard"],"sources":["../../src/SplitViewCard/SplitViewCard.tsx"],"sourcesContent":["import { Clear } from '@procore/core-icons'\nimport { useId } from '@react-aria/utils'\nimport React from 'react'\nimport { Button } from '../Button'\nimport { StyledActions } from '../Content/Content.styles'\nimport { Section } from '../Section'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { useResizeObserver } from '../_hooks/ResizeObserver'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport type { Props } from '../_utils/types'\nimport {\n SplitViewCardContextProvider,\n useSplitViewCard,\n} from './SplitViewCard.context'\nimport {\n StyledSplitViewCardAside,\n StyledSplitViewCardBody,\n StyledSplitViewCardContainer,\n StyledSplitViewCardFooter,\n StyledSplitViewCardHeader,\n StyledSplitViewCardHeading,\n StyledSplitViewCardMain,\n StyledSplitViewCardTitle,\n} from './SplitViewCard.styles'\nimport type { SplitViewCardProps } from './SplitViewCard.types'\nimport {\n SplitViewCardInternalContextProvider,\n useSplitViewCardInternal,\n} from './SplitViewCardInternal.context'\n\nconst SplitViewCard_ = React.forwardRef<HTMLDivElement, SplitViewCardProps>(\n (\n {\n 'aria-labelledby': ariaLabelledBy,\n children,\n isClosable = true,\n isInitiallyOpen,\n onClose,\n ...props\n },\n ref\n ) => {\n const defaultLabelId = useId()\n\n return (\n <SplitViewCardContextProvider isInitiallyOpen={isInitiallyOpen}>\n <SplitViewCardInternalContextProvider\n ariaLabelledBy={ariaLabelledBy ?? defaultLabelId}\n isClosable={isClosable}\n >\n <StyledSplitViewCardContainer ref={ref} {...props}>\n {children}\n </StyledSplitViewCardContainer>\n </SplitViewCardInternalContextProvider>\n </SplitViewCardContextProvider>\n )\n }\n)\n\nexport const Main = React.forwardRef<HTMLDivElement, Props>(\n ({ children, ...props }, ref) => {\n const { isOpen, mainSectionRef } = useSplitViewCard()\n\n return (\n <StyledSplitViewCardMain\n $open={isOpen}\n ref={mergeRefs(ref, mainSectionRef)}\n tabIndex={-1}\n {...props}\n >\n {children}\n </StyledSplitViewCardMain>\n )\n }\n)\n\nexport const Panel = React.forwardRef<HTMLDivElement, Props>(\n ({ children, ...props }, ref) => {\n const { isOpen } = useSplitViewCard()\n const [hasShadow, setHasShadow] = React.useState(false)\n\n const mainRef = React.useRef<HTMLDivElement>(null)\n\n const handleResize = React.useCallback((entries: ResizeObserverEntry[]) => {\n const element = entries[0]\n\n if (element && element.target.clientWidth <= 400) {\n setHasShadow(true)\n return\n }\n\n setHasShadow(false)\n }, [])\n\n const setResize = useResizeObserver(handleResize)\n\n React.useEffect(() => {\n setResize(mainRef.current)\n }, [setResize])\n\n return (\n <StyledSplitViewCardAside\n $open={isOpen}\n $hasShadow={hasShadow}\n ref={mergeRefs(ref, mainRef)}\n {...props}\n >\n {children}\n </StyledSplitViewCardAside>\n )\n }\n)\n\nexport const PanelTitle = React.forwardRef<HTMLDivElement, Props>(\n ({ children, ...props }, ref) => {\n const I18n = useI18nContext()\n const { ariaLabelledBy, isClosable } = useSplitViewCardInternal()\n const { hide } = useSplitViewCard()\n\n return (\n <StyledSplitViewCardTitle ref={ref} {...props}>\n <StyledSplitViewCardHeading id={ariaLabelledBy}>\n {children}\n </StyledSplitViewCardHeading>\n {isClosable && (\n <Button\n aria-label={I18n.t('core.splitViewCard.a11y.close')}\n icon={<Clear />}\n variant=\"tertiary\"\n onClick={hide}\n />\n )}\n </StyledSplitViewCardTitle>\n )\n }\n)\n\nexport const PanelHeader = React.forwardRef<HTMLDivElement, Props>(\n ({ children, ...props }, ref) => (\n <StyledSplitViewCardHeader ref={ref} {...props}>\n {children}\n </StyledSplitViewCardHeader>\n )\n)\n\nexport const PanelBody = React.forwardRef<HTMLDivElement, Props>(\n ({ children, ...props }, ref) => {\n const { ariaLabelledBy, setIsScrolling } = useSplitViewCardInternal()\n const timer = React.useRef<NodeJS.Timer | null>(null)\n\n const handleScroll = React.useCallback(() => {\n setIsScrolling(true)\n\n if (timer.current) {\n clearTimeout(timer.current)\n }\n\n timer.current = setTimeout(() => {\n setIsScrolling(false)\n }, 100)\n }, [setIsScrolling])\n\n return (\n <StyledSplitViewCardBody\n ref={ref}\n {...props}\n onScroll={handleScroll}\n tabIndex={0}\n role=\"region\"\n aria-labelledby={ariaLabelledBy}\n >\n {children}\n </StyledSplitViewCardBody>\n )\n }\n)\n\nexport const PanelFooter = React.forwardRef<HTMLDivElement, Props>(\n ({ children, ...props }, ref) => {\n const { isScrolling } = useSplitViewCardInternal()\n\n return (\n <StyledSplitViewCardFooter $hasShadow={isScrolling} ref={ref} {...props}>\n {children}\n </StyledSplitViewCardFooter>\n )\n }\n)\n\nconst Actions = React.forwardRef<HTMLDivElement, Props>(function Actions(\n { children, ...props },\n ref\n) {\n return (\n <StyledActions ref={ref} {...props}>\n {children}\n </StyledActions>\n )\n})\n\nSplitViewCard_.displayName = 'SplitViewCard'\nMain.displayName = 'SplitViewCard.Main'\nPanel.displayName = 'SplitViewCard.Panel'\nPanelTitle.displayName = 'SplitViewCard.PanelTitle'\nPanelHeader.displayName = 'SplitViewCard.PanelHeader'\nPanelBody.displayName = 'SplitViewCard.PanelBody'\nPanelFooter.displayName = 'SplitViewCard.PanelFooter'\nActions.displayName = 'SplitViewCard.Actions'\n\n/**\n\n A SplitViewCard component is used to display additional details\n of an item from a collection inside a panel of a card.\n\n - SplitViewCard\n - SplitViewCard.Main\n - SplitViewCard.Section\n - Table or some other main content\n - SplitViewCard.Panel\n - SplitViewCard.PanelHeader\n - SplitViewCard.PanelTitle\n - text\n - Tabs\n - SplitViewCard.PanelBody\n - Content\n - SplitViewCard.PanelFooter\n - SplitViewCard.Actions\n\n @since 12.9.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/demos-splitviewcard--demo)\n\n */\n\nexport const SplitViewCard = addSubcomponents(\n {\n Actions,\n Main,\n Section,\n Panel,\n PanelTitle,\n PanelHeader,\n PanelBody,\n PanelFooter,\n },\n SplitViewCard_\n)\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SplitViewCard.js","names":["Clear","useId","React","Button","StyledActions","Section","useI18nContext","useResizeObserver","addSubcomponents","mergeRefs","SplitViewCardContextProvider","useSplitViewCard","StyledSplitViewCardAside","StyledSplitViewCardBody","StyledSplitViewCardContainer","StyledSplitViewCardFooter","StyledSplitViewCardHeader","StyledSplitViewCardHeading","StyledSplitViewCardMain","StyledSplitViewCardTitle","SplitViewCardInternalContextProvider","useSplitViewCardInternal","SplitViewCard_","forwardRef","_ref","ref","ariaLabelledBy","children","_ref$isClosable","isClosable","isInitiallyOpen","onClose","props","_objectWithoutProperties","_excluded","defaultLabelId","createElement","_extends","Main","_ref2","_excluded2","_useSplitViewCard","isOpen","mainSectionRef","$open","tabIndex","Panel","_ref3","_excluded3","_useSplitViewCard2","_React$useState","useState","_React$useState2","_slicedToArray","hasShadow","setHasShadow","_React$useState3","_React$useState4","shouldRender","setShouldRender","mainRef","useRef","handleResize","useCallback","entries","element","target","clientWidth","setResize","useEffect","current","onTransitionEnd","e","currentTarget","$hasShadow","PanelTitle","_ref4","_excluded4","I18n","_useSplitViewCardInte","_useSplitViewCard3","hide","id","t","icon","variant","onClick","PanelHeader","_ref5","_excluded5","PanelBody","_ref6","_excluded6","_useSplitViewCardInte2","setIsScrolling","timer","handleScroll","clearTimeout","setTimeout","onScroll","role","PanelFooter","_ref7","_excluded7","_useSplitViewCardInte3","isScrolling","Actions","_ref8","_excluded8","displayName","SplitViewCard"],"sources":["../../src/SplitViewCard/SplitViewCard.tsx"],"sourcesContent":["import { Clear } from '@procore/core-icons'\nimport { useId } from '@react-aria/utils'\nimport React from 'react'\nimport { Button } from '../Button'\nimport { StyledActions } from '../Content/Content.styles'\nimport { Section } from '../Section'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { useResizeObserver } from '../_hooks/ResizeObserver'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport type { Props } from '../_utils/types'\nimport {\n SplitViewCardContextProvider,\n useSplitViewCard,\n} from './SplitViewCard.context'\nimport {\n StyledSplitViewCardAside,\n StyledSplitViewCardBody,\n StyledSplitViewCardContainer,\n StyledSplitViewCardFooter,\n StyledSplitViewCardHeader,\n StyledSplitViewCardHeading,\n StyledSplitViewCardMain,\n StyledSplitViewCardTitle,\n} from './SplitViewCard.styles'\nimport type { SplitViewCardProps } from './SplitViewCard.types'\nimport {\n SplitViewCardInternalContextProvider,\n useSplitViewCardInternal,\n} from './SplitViewCardInternal.context'\n\nconst SplitViewCard_ = React.forwardRef<HTMLDivElement, SplitViewCardProps>(\n (\n {\n 'aria-labelledby': ariaLabelledBy,\n children,\n isClosable = true,\n isInitiallyOpen,\n onClose,\n ...props\n },\n ref\n ) => {\n const defaultLabelId = useId()\n\n return (\n <SplitViewCardContextProvider isInitiallyOpen={isInitiallyOpen}>\n <SplitViewCardInternalContextProvider\n ariaLabelledBy={ariaLabelledBy ?? defaultLabelId}\n isClosable={isClosable}\n >\n <StyledSplitViewCardContainer ref={ref} {...props}>\n {children}\n </StyledSplitViewCardContainer>\n </SplitViewCardInternalContextProvider>\n </SplitViewCardContextProvider>\n )\n }\n)\n\nexport const Main = React.forwardRef<HTMLDivElement, Props>(\n ({ children, ...props }, ref) => {\n const { isOpen, mainSectionRef } = useSplitViewCard()\n\n return (\n <StyledSplitViewCardMain\n $open={isOpen}\n ref={mergeRefs(ref, mainSectionRef)}\n tabIndex={-1}\n {...props}\n >\n {children}\n </StyledSplitViewCardMain>\n )\n }\n)\n\nexport const Panel = React.forwardRef<HTMLDivElement, Props>(\n ({ children, ...props }, ref) => {\n const { isOpen } = useSplitViewCard()\n const [hasShadow, setHasShadow] = React.useState(false)\n const [shouldRender, setShouldRender] = React.useState(isOpen)\n\n const mainRef = React.useRef<HTMLDivElement>(null)\n\n const handleResize = React.useCallback((entries: ResizeObserverEntry[]) => {\n const element = entries[0]\n\n if (element && element.target.clientWidth <= 400) {\n setHasShadow(true)\n return\n }\n\n setHasShadow(false)\n }, [])\n\n const setResize = useResizeObserver(handleResize)\n\n React.useEffect(() => {\n setResize(mainRef.current)\n }, [setResize])\n\n React.useEffect(() => {\n if (isOpen) setShouldRender(true)\n }, [isOpen])\n\n const onTransitionEnd = React.useCallback(\n (e: React.TransitionEvent<HTMLDivElement>) => {\n if (e.target !== e.currentTarget) return\n if (!isOpen) setShouldRender(false)\n },\n [isOpen]\n )\n\n if (!shouldRender) return null\n\n return (\n <StyledSplitViewCardAside\n onTransitionEnd={onTransitionEnd}\n $open={isOpen}\n $hasShadow={hasShadow}\n ref={mergeRefs(ref, mainRef)}\n {...props}\n >\n {children}\n </StyledSplitViewCardAside>\n )\n }\n)\n\nexport const PanelTitle = React.forwardRef<HTMLDivElement, Props>(\n ({ children, ...props }, ref) => {\n const I18n = useI18nContext()\n const { ariaLabelledBy, isClosable } = useSplitViewCardInternal()\n const { hide } = useSplitViewCard()\n\n return (\n <StyledSplitViewCardTitle ref={ref} {...props}>\n <StyledSplitViewCardHeading id={ariaLabelledBy}>\n {children}\n </StyledSplitViewCardHeading>\n {isClosable && (\n <Button\n aria-label={I18n.t('core.splitViewCard.a11y.close')}\n icon={<Clear />}\n variant=\"tertiary\"\n onClick={hide}\n />\n )}\n </StyledSplitViewCardTitle>\n )\n }\n)\n\nexport const PanelHeader = React.forwardRef<HTMLDivElement, Props>(\n ({ children, ...props }, ref) => (\n <StyledSplitViewCardHeader ref={ref} {...props}>\n {children}\n </StyledSplitViewCardHeader>\n )\n)\n\nexport const PanelBody = React.forwardRef<HTMLDivElement, Props>(\n ({ children, ...props }, ref) => {\n const { ariaLabelledBy, setIsScrolling } = useSplitViewCardInternal()\n const timer = React.useRef<NodeJS.Timer | null>(null)\n\n const handleScroll = React.useCallback(() => {\n setIsScrolling(true)\n\n if (timer.current) {\n clearTimeout(timer.current)\n }\n\n timer.current = setTimeout(() => {\n setIsScrolling(false)\n }, 100)\n }, [setIsScrolling])\n\n return (\n <StyledSplitViewCardBody\n ref={ref}\n {...props}\n onScroll={handleScroll}\n tabIndex={0}\n role=\"region\"\n aria-labelledby={ariaLabelledBy}\n >\n {children}\n </StyledSplitViewCardBody>\n )\n }\n)\n\nexport const PanelFooter = React.forwardRef<HTMLDivElement, Props>(\n ({ children, ...props }, ref) => {\n const { isScrolling } = useSplitViewCardInternal()\n\n return (\n <StyledSplitViewCardFooter $hasShadow={isScrolling} ref={ref} {...props}>\n {children}\n </StyledSplitViewCardFooter>\n )\n }\n)\n\nconst Actions = React.forwardRef<HTMLDivElement, Props>(function Actions(\n { children, ...props },\n ref\n) {\n return (\n <StyledActions ref={ref} {...props}>\n {children}\n </StyledActions>\n )\n})\n\nSplitViewCard_.displayName = 'SplitViewCard'\nMain.displayName = 'SplitViewCard.Main'\nPanel.displayName = 'SplitViewCard.Panel'\nPanelTitle.displayName = 'SplitViewCard.PanelTitle'\nPanelHeader.displayName = 'SplitViewCard.PanelHeader'\nPanelBody.displayName = 'SplitViewCard.PanelBody'\nPanelFooter.displayName = 'SplitViewCard.PanelFooter'\nActions.displayName = 'SplitViewCard.Actions'\n\n/**\n\n A SplitViewCard component is used to display additional details\n of an item from a collection inside a panel of a card.\n\n - SplitViewCard\n - SplitViewCard.Main\n - SplitViewCard.Section\n - Table or some other main content\n - SplitViewCard.Panel\n - SplitViewCard.PanelHeader\n - SplitViewCard.PanelTitle\n - text\n - Tabs\n - SplitViewCard.PanelBody\n - Content\n - SplitViewCard.PanelFooter\n - SplitViewCard.Actions\n\n @since 12.9.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/demos-splitviewcard--demo)\n\n */\n\nexport const SplitViewCard = addSubcomponents(\n {\n Actions,\n Main,\n Section,\n Panel,\n PanelTitle,\n PanelHeader,\n PanelBody,\n PanelFooter,\n },\n SplitViewCard_\n)\n"],"mappings":"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"}
|
|
@@ -7,18 +7,18 @@ import { spacing } from '../_styles/spacing';
|
|
|
7
7
|
var MIN_CARD_HEIGHT = 364;
|
|
8
8
|
export var StyledSplitViewCardContainer = /*#__PURE__*/styled.div.withConfig({
|
|
9
9
|
displayName: "StyledSplitViewCardContainer",
|
|
10
|
-
componentId: "core-
|
|
10
|
+
componentId: "core-12_39_0__sc-9hrkda-0"
|
|
11
11
|
})(["display:grid;grid-template-columns:1fr auto;border-radius:", "px;box-shadow:0 0 4px 0 rgba(0,0,0,0.25);min-height:", "px;position:relative;width:100%;@media (max-width:", "){box-shadow:none;display:flex;flex-direction:column;width:100%;}"], spacing.sm, MIN_CARD_HEIGHT, breakpointMinWidthValues.tabletMd);
|
|
12
12
|
export var StyledSplitViewCardMain = /*#__PURE__*/styled.div.withConfig({
|
|
13
13
|
displayName: "StyledSplitViewCardMain",
|
|
14
|
-
componentId: "core-
|
|
14
|
+
componentId: "core-12_39_0__sc-9hrkda-1"
|
|
15
15
|
})(["background-color:", ";border-top-left-radius:", "px;border-bottom-left-radius:", "px;position:relative;width:60%;transition:all ease 500ms;@media (max-width:", "){box-shadow:0 0 4px 0 rgba(0,0,0,0.25);border-radius:", "px;margin-bottom:", "px;width:100%;}", ""], colors.white, spacing.sm, spacing.sm, breakpointMinWidthValues.tabletMd, spacing.sm, spacing.sm, function (_ref) {
|
|
16
16
|
var $open = _ref.$open;
|
|
17
17
|
return !$open && css(["border-radius:", "px;width:100%;"], spacing.sm);
|
|
18
18
|
});
|
|
19
19
|
export var StyledSplitViewCardAside = /*#__PURE__*/styled.div.withConfig({
|
|
20
20
|
displayName: "StyledSplitViewCardAside",
|
|
21
|
-
componentId: "core-
|
|
21
|
+
componentId: "core-12_39_0__sc-9hrkda-2"
|
|
22
22
|
})(["background-color:", ";border-left:1px solid ", ";border-top-right-radius:", "px;border-bottom-right-radius:", "px;display:flex;flex-direction:column;height:100%;width:40%;min-height:", "px;min-width:400px;transition:all ease 500ms;z-index:2;position:absolute;top:0;right:0;@media screen and (max-width:", "px){min-width:unset;}@media (max-width:", "){box-shadow:0 0 4px 0 rgba(0,0,0,0.25);border:none;border-radius:", "px;position:relative;width:100%;}", " ", ""], colors.white, colors.gray85, spacing.sm, spacing.sm, MIN_CARD_HEIGHT, breakpointRawMinWidthValues.tabletSm, breakpointMinWidthValues.tabletMd, spacing.sm, function (_ref2) {
|
|
23
23
|
var $open = _ref2.$open;
|
|
24
24
|
return !$open && css(["border:none;border-radius:", "px;overflow:hidden !important;@media (min-width:", "){min-width:0;width:0 !important;}@media (max-width:", "){display:none;}"], spacing.sm, breakpointMinWidthValues.tabletMd, breakpointMinWidthValues.tabletMd);
|
|
@@ -28,23 +28,23 @@ export var StyledSplitViewCardAside = /*#__PURE__*/styled.div.withConfig({
|
|
|
28
28
|
});
|
|
29
29
|
export var StyledSplitViewCardHeading = /*#__PURE__*/styled(H2).withConfig({
|
|
30
30
|
displayName: "StyledSplitViewCardHeading",
|
|
31
|
-
componentId: "core-
|
|
31
|
+
componentId: "core-12_39_0__sc-9hrkda-3"
|
|
32
32
|
})(["overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%;"]);
|
|
33
33
|
export var StyledSplitViewCardTitle = /*#__PURE__*/styled.div.withConfig({
|
|
34
34
|
displayName: "StyledSplitViewCardTitle",
|
|
35
|
-
componentId: "core-
|
|
35
|
+
componentId: "core-12_39_0__sc-9hrkda-4"
|
|
36
36
|
})(["display:flex;align-items:center;justify-content:space-between;margin-bottom:", "px;min-height:36px;"], spacing.sm);
|
|
37
37
|
export var StyledSplitViewCardHeader = /*#__PURE__*/styled.div.withConfig({
|
|
38
38
|
displayName: "StyledSplitViewCardHeader",
|
|
39
|
-
componentId: "core-
|
|
39
|
+
componentId: "core-12_39_0__sc-9hrkda-5"
|
|
40
40
|
})(["border-bottom:1px solid ", ";display:flex;flex-direction:column;padding:", "px ", "px 0;"], colors.gray85, spacing.lg, spacing.lg);
|
|
41
41
|
export var StyledSplitViewCardBody = /*#__PURE__*/styled.div.withConfig({
|
|
42
42
|
displayName: "StyledSplitViewCardBody",
|
|
43
|
-
componentId: "core-
|
|
43
|
+
componentId: "core-12_39_0__sc-9hrkda-6"
|
|
44
44
|
})(["display:flex;flex-direction:column;flex:1;padding:", "px ", "px 0;overflow-y:auto;&:focus-visible{", "}"], spacing.lg, spacing.lg, getFocusInset());
|
|
45
45
|
export var StyledSplitViewCardFooter = /*#__PURE__*/styled.div.withConfig({
|
|
46
46
|
displayName: "StyledSplitViewCardFooter",
|
|
47
|
-
componentId: "core-
|
|
47
|
+
componentId: "core-12_39_0__sc-9hrkda-7"
|
|
48
48
|
})(["display:flex;align-items:center;justify-content:flex-end;padding:", "px;", ""], spacing.lg, function (_ref4) {
|
|
49
49
|
var $hasShadow = _ref4.$hasShadow;
|
|
50
50
|
return $hasShadow && css(["box-shadow:0 -4px 6px 0 #0000001a;"]);
|
|
@@ -50,10 +50,7 @@ export var MultiTrigger = function MultiTrigger(props) {
|
|
|
50
50
|
var ctx = useSuperSelectContext();
|
|
51
51
|
if (ctx.config.multiple && Array.isArray(ctx.state.value)) {
|
|
52
52
|
var _ctx$state$value;
|
|
53
|
-
return /*#__PURE__*/React.createElement(
|
|
54
|
-
role: "group",
|
|
55
|
-
"aria-labelledby": ctx.state.labelId
|
|
56
|
-
}, /*#__PURE__*/React.createElement(ctx.components.MultiValueContainer, props, (_ctx$state$value = ctx.state.value) === null || _ctx$state$value === void 0 ? void 0 : _ctx$state$value.map(function (val, j) {
|
|
53
|
+
return /*#__PURE__*/React.createElement(ctx.components.MultiValueContainer, props, (_ctx$state$value = ctx.state.value) === null || _ctx$state$value === void 0 ? void 0 : _ctx$state$value.map(function (val, j) {
|
|
57
54
|
var option = ctx.state.sourceOptions.find(function (o) {
|
|
58
55
|
return ctx.option.value(o) === val;
|
|
59
56
|
});
|
|
@@ -62,7 +59,7 @@ export var MultiTrigger = function MultiTrigger(props) {
|
|
|
62
59
|
index: j,
|
|
63
60
|
option: option
|
|
64
61
|
});
|
|
65
|
-
}), /*#__PURE__*/React.createElement(ctx.components.MultiInputContainer, null, /*#__PURE__*/React.createElement(ctx.components.MultiInput, ctx.props.multiInput())))
|
|
62
|
+
}), /*#__PURE__*/React.createElement(ctx.components.MultiInputContainer, null, /*#__PURE__*/React.createElement(ctx.components.MultiInput, ctx.props.multiInput())));
|
|
66
63
|
}
|
|
67
64
|
return null;
|
|
68
65
|
};
|
|
@@ -92,14 +89,10 @@ export var Label = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
|
|
|
92
89
|
var hoverable = _ref2.hoverable,
|
|
93
90
|
props = _objectWithoutProperties(_ref2, _excluded);
|
|
94
91
|
var ctx = useSuperSelectContext();
|
|
95
|
-
return /*#__PURE__*/React.createElement(StyledLabel, _extends({
|
|
96
|
-
id: ctx.state.labelId
|
|
97
|
-
}, props, ctx.props.label(), {
|
|
92
|
+
return /*#__PURE__*/React.createElement(StyledLabel, _extends({}, props, ctx.props.label(), {
|
|
98
93
|
ref: ref,
|
|
99
94
|
$hoverable: hoverable
|
|
100
|
-
}),
|
|
101
|
-
id: ctx.state.valueId
|
|
102
|
-
}, ctx.state.selectedLabel || ctx.config.placeholder));
|
|
95
|
+
}), ctx.state.selectedLabel || ctx.config.placeholder);
|
|
103
96
|
});
|
|
104
97
|
export var Loading = function Loading() {
|
|
105
98
|
return /*#__PURE__*/React.createElement(Spinner, {
|
|
@@ -260,8 +253,7 @@ export var Item = /*#__PURE__*/React.forwardRef(function (_ref4, ref) {
|
|
|
260
253
|
$isDraggingOver: isDraggingOver,
|
|
261
254
|
$selected: isSelected,
|
|
262
255
|
"aria-posinset": withSelectAllIndex,
|
|
263
|
-
"aria-
|
|
264
|
-
"aria-selected": isSelected,
|
|
256
|
+
"aria-selected": ctx.state.activeMenuIndex === withSelectAllIndex,
|
|
265
257
|
"aria-setsize": ctx.state.options.length || 0,
|
|
266
258
|
id: "item-".concat(value),
|
|
267
259
|
ref: setNode,
|
|
@@ -346,8 +338,7 @@ export var SelectAll = /*#__PURE__*/React.forwardRef(function (_ref5, ref) {
|
|
|
346
338
|
$highlighted: ctx.state.activeMenuIndex === index,
|
|
347
339
|
$selected: isSelected,
|
|
348
340
|
"aria-posinset": index,
|
|
349
|
-
"aria-
|
|
350
|
-
"aria-selected": isSelected,
|
|
341
|
+
"aria-selected": ctx.state.activeMenuIndex === index,
|
|
351
342
|
"aria-setsize": ctx.state.options.length || 0,
|
|
352
343
|
id: "item-".concat(ctx.state.selectAllOption.id),
|
|
353
344
|
ref: setNode,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SuperSelect.components.js","names":["Draggable","Check","Clear","ClearIcon","Grip","React","FakeCheckbox","Spinner","Token","Tooltip","Typeahead","OverflowObserver","colors","InternalDragDropContext","draggableOptionIdSymbol","StyledArrow","StyledArrowContainer","StyledArrowFill","StyledArrowOutline","StyledCheckboxContainer","StyledCheckmarkContainer","StyledClearIcon","StyledDraggableWrapper","StyledEmptyMessage","StyledFooter","StyledGrip","StyledGroup","StyledHeader","StyledIndicators","StyledItem","StyledItemLabel","StyledLabel","StyledMultiInput","StyledMultiInputContainer","StyledMultiValue","StyledMultiValueContainer","StyledOptionGroupLabel","StyledOptions","StyledOverlay","StyledSearchContainer","StyledSelectAll","StyledTrigger","useSuperSelectContext","Overlay","forwardRef","props","ref","createElement","_extends","SingleTrigger","ctx","_ref","isOverflowingX","showTooltip","config","disabled","state","open","label","selectedLabel","placeholder","labelComponent","components","Label","hoverable","trigger","overlay","MultiTrigger","multiple","Array","isArray","value","_ctx$state$value","role","labelId","MultiValueContainer","map","val","j","option","sourceOptions","find","o","MultiValue","key","index","MultiInputContainer","MultiInput","multiInput","TriggerContainer","Trigger","searchRef","useRef","useEffect","_searchRef$current","current","focus","Indicators","hasValue","length","loading","Loading","ArrowContainer","Arrow","up","down","width","height","_ref2","_objectWithoutProperties","_excluded","id","$hoverable","valueId","color","size","_ref3","left","right","_ref3$width","_ref3$height","_ref3$border","border","outline","fill","concat","focusable","points","clear","variant","icon","children","focused","activeTokenIndex","Remove","tokenClear","SearchContainer","Search","Header","Footer","padding","EmptyMessage","emptyMessage","Options","menu","Group","item","Item","_ref4","_props$dataKnownSiz","_ref4$isDragging","isDragging","_excluded2","_React$useContext","useContext","isDraggingOver","_React$useState","useState","_React$useState2","_slicedToArray","setSize","knownSize","prevSize","withSelectAllIndex","selectAllEnabled","options","isDisabled","isPartiallySelected","isSelected","isOptgroup","setNode","node","refs","navigationList","onClick","onSelect","$disabled","$emptyMinHeight","$highlighted","activeMenuIndex","$isDraggable","$isDragging","$isDraggingDisabled","Boolean","searchValue","$isDraggingOver","$selected","undefined","selectionStyle","CheckboxContainer","Checkbox","indeterminate","checked","CheckmarkContainer","Checkmark","SelectAll","_ref5","_props$dataKnownSiz2","_ref5$isDragging","_excluded3","_React$useState3","_React$useState4","selectableOptions","filter","opt","selectAll","isSelectAllSelected","isSelectAllPartiallySelected","handleClick","selectAllOption","onMouseMove","event","setActiveMenuIndex","OptionGroupHeader","_ref6","optgroup","OptionLabel","_ref7","$draggable","draggable","OptionContent","_ref8","DraggableOptionContent","_ref9","optionId","draggableId","isDragDisabled","provided","innerRef","draggableProps","dragHandleProps","DragHandle","gray45"],"sources":["../../src/SuperSelect/SuperSelect.components.tsx"],"sourcesContent":["import type { DraggableProvided } from '@atlaskit/pragmatic-drag-and-drop-react-beautiful-dnd-migration'\nimport { Draggable } from '@atlaskit/pragmatic-drag-and-drop-react-beautiful-dnd-migration'\nimport { Check, Clear as ClearIcon, Grip } from '@procore/core-icons'\nimport type { ComponentProps } from 'react'\nimport React from 'react'\nimport { FakeCheckbox } from '../Checkbox/Checkbox'\nimport { Spinner } from '../Spinner/Spinner'\nimport { Token } from '../Token/Token'\nimport { Tooltip } from '../Tooltip/Tooltip'\nimport { Typeahead } from '../Typeahead/Typeahead'\nimport { OverflowObserver } from '../_hooks/OverflowObserver'\nimport { colors } from '../_styles/colors'\nimport { InternalDragDropContext } from './SuperSelect'\nimport { draggableOptionIdSymbol } from './SuperSelect.constants'\nimport {\n StyledArrow,\n StyledArrowContainer,\n StyledArrowFill,\n StyledArrowOutline,\n StyledCheckboxContainer,\n StyledCheckmarkContainer,\n StyledClearIcon,\n StyledDraggableWrapper,\n StyledEmptyMessage,\n StyledFooter,\n StyledGrip,\n StyledGroup,\n StyledHeader,\n StyledIndicators,\n StyledItem,\n StyledItemLabel,\n StyledLabel,\n StyledMultiInput,\n StyledMultiInputContainer,\n StyledMultiValue,\n StyledMultiValueContainer,\n StyledOptionGroupLabel,\n StyledOptions,\n StyledOverlay,\n StyledSearchContainer,\n StyledSelectAll,\n StyledTrigger,\n} from './SuperSelect.styles'\nimport type {\n SuperSelectMenuItemProps,\n SuperSelectOption,\n} from './SuperSelect.types'\nimport { useSuperSelectContext } from './useSuperSelect'\n\nexport const Overlay = React.forwardRef<HTMLDivElement, any>((props, ref) => {\n return <StyledOverlay ref={ref} {...props} />\n})\n\nexport const SingleTrigger = (props: React.PropsWithChildren<any>) => {\n const ctx = useSuperSelectContext()\n\n return (\n <OverflowObserver>\n {({ isOverflowingX, ref }) => {\n const showTooltip =\n !ctx.config.disabled && isOverflowingX && !ctx.state.open\n\n const label = ctx.state.selectedLabel || ctx.config.placeholder\n\n const labelComponent = (\n <ctx.components.Label {...props} ref={ref} hoverable={showTooltip} />\n )\n\n return (\n <Tooltip trigger={showTooltip ? 'hover' : 'none'} overlay={label}>\n {labelComponent}\n </Tooltip>\n )\n }}\n </OverflowObserver>\n )\n}\n\nexport const MultiTrigger = (props: React.PropsWithChildren<any>) => {\n const ctx = useSuperSelectContext()\n\n if (ctx.config.multiple && Array.isArray(ctx.state.value)) {\n return (\n <div role=\"group\" aria-labelledby={ctx.state.labelId}>\n <ctx.components.MultiValueContainer {...props}>\n {ctx.state.value?.map((val, j) => {\n const option: SuperSelectOption = ctx.state.sourceOptions.find(\n (o) => ctx.option.value(o) === val\n )\n\n return (\n option && (\n <ctx.components.MultiValue\n key={val}\n index={j}\n option={option}\n />\n )\n )\n })}\n <ctx.components.MultiInputContainer>\n <ctx.components.MultiInput {...ctx.props.multiInput()} />\n </ctx.components.MultiInputContainer>\n </ctx.components.MultiValueContainer>\n </div>\n )\n }\n\n return null\n}\n\nexport const TriggerContainer = StyledTrigger as\n | React.ForwardRefExoticComponent<any>\n | React.FC<any>\n\nexport const Trigger = React.forwardRef<HTMLDivElement, any>((props, ref) => {\n const ctx = useSuperSelectContext()\n\n const searchRef = React.useRef<HTMLInputElement>(null)\n\n React.useEffect(() => {\n searchRef.current?.focus()\n }, [ctx.state.value])\n\n return (\n <ctx.components.TriggerContainer ref={ref} {...props}>\n {ctx.config.multiple ? (\n <ctx.components.MultiTrigger />\n ) : (\n <ctx.components.SingleTrigger />\n )}\n <ctx.components.Indicators />\n </ctx.components.TriggerContainer>\n )\n})\n\nexport const Indicators = (props: React.PropsWithChildren<any>) => {\n const ctx = useSuperSelectContext()\n\n const hasValue = Array.isArray(ctx.state.value)\n ? ctx.state.value.length > 0\n : ctx.state.value\n\n return (\n <StyledIndicators>\n {hasValue && <ctx.components.Clear />}\n {ctx.config.loading ? (\n <ctx.components.Loading />\n ) : (\n <ctx.components.ArrowContainer>\n <ctx.components.Arrow\n up={ctx.state.open}\n down={!ctx.state.open}\n width={8}\n height={4}\n />\n </ctx.components.ArrowContainer>\n )}\n </StyledIndicators>\n )\n}\n\nexport const Label = React.forwardRef<HTMLDivElement, { hoverable: boolean }>(\n ({ hoverable, ...props }, ref) => {\n const ctx = useSuperSelectContext()\n\n return (\n <StyledLabel\n id={ctx.state.labelId}\n {...props}\n {...ctx.props.label()}\n ref={ref}\n $hoverable={hoverable}\n >\n <span id={ctx.state.valueId}>\n {ctx.state.selectedLabel || ctx.config.placeholder}\n </span>\n </StyledLabel>\n )\n }\n)\n\nexport const Loading = () => {\n return <Spinner color=\"blue50\" size=\"xs\" />\n}\n\nexport const ArrowContainer = (props: React.PropsWithChildren<any>) => {\n return <StyledArrowContainer {...props} />\n}\n\nexport const Arrow = ({\n up,\n down,\n left,\n right,\n width = 12,\n height = 12,\n border = 0,\n}: any) => {\n let outline = ''\n let fill = ''\n\n if (up) {\n outline = `0,${height} ${width},${height} {width / 2},0`\n // prettier-ignore\n fill = `${border},${height} ${width - border},${height} ${width / 2},${border * 2}`\n } else if (down) {\n outline = `0,0 ${width},0 ${width / 2},${height}`\n // prettier-ignore\n fill = `${border},0 ${width - border},0 ${width / 2},${height - border * 2}`\n } else if (left) {\n outline = `${width},0 ${width},${height} 0,${height / 2}`\n // prettier-ignore\n fill = `${width},${border} ${width},${height - border} ${border * 2},${height / 2}`\n } else if (right) {\n outline = `0,0 0,${height} ${width},${height / 2}`\n // prettier-ignore\n fill = `0,${border} 0,${height - border} ${width - border * 2},${height / 2}`\n }\n\n return (\n <StyledArrow>\n <svg height={height} width={width} focusable=\"false\">\n {border > 0 && <StyledArrowOutline points={outline} />}\n <StyledArrowFill points={fill} />\n </svg>\n </StyledArrow>\n )\n}\n\nexport const Clear = () => {\n const ctx = useSuperSelectContext()\n\n return (\n <StyledClearIcon\n {...ctx.props.clear()}\n size=\"sm\"\n variant=\"tertiary\"\n disabled={ctx.config.disabled}\n icon={<ClearIcon />}\n />\n )\n}\n\nexport const MultiInputContainer = (props: React.PropsWithChildren<{}>) => {\n return <StyledMultiInputContainer>{props.children}</StyledMultiInputContainer>\n}\n\nexport const MultiInput = React.forwardRef(\n (props: React.PropsWithChildren<any>, ref) => {\n return <StyledMultiInput ref={ref} {...props} />\n }\n)\n\nexport const MultiValue = (props: React.PropsWithChildren<any>) => {\n const ctx = useSuperSelectContext()\n\n return (\n <StyledMultiValue>\n <Token focused={ctx.state.activeTokenIndex === props.index}>\n <Token.Label>{ctx.option.label(props.option)}</Token.Label>\n <Token.Remove {...ctx.props.tokenClear(props.index)} />\n </Token>\n </StyledMultiValue>\n )\n}\n\nexport const MultiValueContainer = (props: React.PropsWithChildren<any>) => {\n return <StyledMultiValueContainer {...props} />\n}\n\nexport const SearchContainer = React.forwardRef(\n (props: React.PropsWithChildren<any>, ref) => {\n return <StyledSearchContainer ref={ref} {...props} />\n }\n)\n\nexport const Search = (props: React.PropsWithChildren<any>) => {\n return <Typeahead {...props} />\n}\n\nexport const Header = (props: React.PropsWithChildren<any>) => {\n return <StyledHeader {...props} />\n}\n\nexport const Footer = React.forwardRef(\n (props: React.PropsWithChildren<any>, ref) => {\n return <StyledFooter ref={ref} {...props} padding=\"md lg\" />\n }\n)\n\nexport const EmptyMessage = (props: any) => {\n return (\n <StyledEmptyMessage {...props}>{props.emptyMessage}</StyledEmptyMessage>\n )\n}\n\nexport const Options = (props: React.HTMLAttributes<HTMLDivElement>) => {\n const ctx = useSuperSelectContext()\n\n return <StyledOptions {...props} {...ctx.props.menu()} />\n}\n\nexport const Group = (props: React.PropsWithChildren<{}>) => {\n const ctx = useSuperSelectContext()\n\n return (\n <StyledGroup\n {...props}\n {...ctx.props.item()}\n role=\"separator\"\n aria-disabled\n />\n )\n}\n\nexport const Item = React.forwardRef<HTMLDivElement, SuperSelectMenuItemProps>(\n ({ children, isDragging = false, ...props }, ref) => {\n const ctx = useSuperSelectContext()\n const { isDraggingOver } = React.useContext(InternalDragDropContext)\n const [size, setSize] = React.useState(0)\n\n const knownSize = props['data-known-size'] ?? 0\n\n React.useEffect(() => {\n setSize((prevSize) => (knownSize === 0 ? prevSize : knownSize))\n }, [knownSize])\n\n const index = props['data-index']\n const withSelectAllIndex =\n ctx.config.selectAllEnabled && ctx.config.multiple ? index + 1 : index\n\n const option = ctx.state.options[index]\n\n if (!option) {\n return null\n }\n\n const isDisabled = ctx.option.isDisabled(option)\n const isPartiallySelected = ctx.option.isPartiallySelected(option)\n const isSelected = ctx.option.isSelected(option)\n const isOptgroup = ctx.option.isOptgroup(option)\n const value = ctx?.option.value(option)\n\n function setNode(node: HTMLElement | null) {\n if (ctx) {\n ctx.refs.navigationList.current[withSelectAllIndex] = node\n }\n }\n\n if (isOptgroup) {\n return <ctx.components.Group {...props}>{children}</ctx.components.Group>\n }\n\n return (\n <StyledItem\n {...props}\n {...ctx.props.item({\n onClick: () => ctx.state.onSelect(option),\n })}\n $disabled={ctx.option.isDisabled(option)}\n $emptyMinHeight={size}\n $highlighted={ctx.state.activeMenuIndex === withSelectAllIndex}\n $isDraggable={!isDisabled}\n $isDragging={isDragging}\n $isDraggingDisabled={Boolean(ctx.state.searchValue)}\n $isDraggingOver={isDraggingOver}\n $selected={isSelected}\n aria-posinset={withSelectAllIndex}\n aria-disabled={isDisabled || undefined}\n aria-selected={isSelected}\n aria-setsize={ctx.state.options.length || 0}\n id={`item-${value}`}\n ref={setNode}\n role=\"option\"\n >\n {ctx.config.selectionStyle === 'checkbox' && (\n <ctx.components.CheckboxContainer>\n {isPartiallySelected && !isSelected ? (\n <ctx.components.Checkbox\n disabled={isDisabled}\n indeterminate={isPartiallySelected}\n />\n ) : (\n <ctx.components.Checkbox\n disabled={isDisabled}\n checked={isSelected}\n />\n )}\n </ctx.components.CheckboxContainer>\n )}\n {children}\n {ctx.config.selectionStyle === 'checkmark' && (\n <ctx.components.CheckmarkContainer>\n {isSelected && <ctx.components.Checkmark />}\n </ctx.components.CheckmarkContainer>\n )}\n </StyledItem>\n )\n }\n)\n\n// NOTE: SelectAll Implementation Details\n// ====================================\n// The team wanted wanted to keep the Item component fairly untouched and make SelectAll its own\n// standalone component. This separation required modifications to several functions to ensure proper keyboard\n// navigation and mouse hover behavior work seamlessly between SelectAll and the virtualized options.\n//\n// Key functions that were modified due to this separation:\n// 1. allOptionsWithSelectAll - Creates combined list for navigation calculations\n// 2. groupIndices - Adjusted to account for SelectAll at index 0\n// 3. selectedIndex - Modified to reference absolute positions including SelectAll\n// 4. selectedOption - Updated to search complete list including SelectAll\n// 5. onKeyboardSelect - Uses combined list for proper option selection\n// 6. navigationList.current length - Adjusted to include SelectAll in navigation array\n// 7. virtuoso scrollIntoView - Index adjustment to handle SelectAll being rendered separately\n// 8. SuperSelect.components.tsx SelectAll - Added onMouseMove handler for hover detection\n// 9. SuperSelect.tsx itemContent - Index adjustment to prevent data-index conflicts\n//\n// Without these modifications, keyboard navigation would skip SelectAll, hover states wouldn't\n// work properly, and there would be index mismatches between the navigation system and the\n// actual rendered options.\nexport const SelectAll = React.forwardRef<\n HTMLDivElement,\n SuperSelectMenuItemProps\n>(({ children, isDragging = false, ...props }, ref) => {\n const ctx = useSuperSelectContext()\n const [size, setSize] = React.useState(0)\n\n const knownSize = props['data-known-size'] ?? 0\n\n // TODO: There is a conflict with data-index. The index for select all is 0\n // and the first item in the options list is also 0. This causes DOM conflicts\n // where two elements have the same data-index attribute, which can confuse\n // the navigation system and cause hover/selection issues.\n const index = props['data-index'] // Select all should always be index 0\n const selectableOptions = ctx.state.options.filter((opt) => {\n return !ctx.option.isOptgroup(opt)\n })\n const isSelected =\n ctx.option.selectAll.isSelectAllSelected(selectableOptions) &&\n selectableOptions.length > 0\n const isPartiallySelected =\n ctx.option.selectAll.isSelectAllPartiallySelected(selectableOptions)\n\n const isDisabled = ctx.config.loading || !selectableOptions.length\n\n function setNode(node: HTMLElement | null) {\n if (ctx) {\n ctx.refs.navigationList.current[index] = node\n }\n }\n\n React.useEffect(() => {\n setSize((prevSize) => (knownSize === 0 ? prevSize : knownSize))\n }, [knownSize])\n\n const handleClick = () => {\n !isDisabled && ctx.state.onSelect(ctx.state.selectAllOption)\n }\n\n return (\n <StyledSelectAll>\n <StyledItem\n {...props}\n {...ctx.props.item({\n onClick: handleClick,\n onMouseMove: (event: React.MouseEvent<HTMLDivElement>) => {\n // Update the active menu index when hovering over SelectAll\n if (ctx.state.activeMenuIndex !== index) {\n ctx.state.setActiveMenuIndex(index)\n }\n },\n })}\n $disabled={isDisabled}\n $emptyMinHeight={size}\n $highlighted={ctx.state.activeMenuIndex === index}\n $selected={isSelected}\n aria-posinset={index}\n aria-disabled={isDisabled || undefined}\n aria-selected={isSelected}\n aria-setsize={ctx.state.options.length || 0}\n id={`item-${ctx.state.selectAllOption.id}`}\n ref={setNode}\n role=\"option\"\n >\n {ctx.config.selectionStyle === 'checkbox' && (\n <ctx.components.CheckboxContainer>\n {isPartiallySelected && !isSelected ? (\n <ctx.components.Checkbox\n disabled={isDisabled}\n indeterminate={isPartiallySelected}\n />\n ) : (\n <ctx.components.Checkbox\n disabled={isDisabled}\n checked={isSelected}\n />\n )}\n </ctx.components.CheckboxContainer>\n )}\n {children}\n {ctx.config.selectionStyle === 'checkmark' && (\n <ctx.components.CheckmarkContainer>\n {isSelected && <ctx.components.Checkmark />}\n </ctx.components.CheckmarkContainer>\n )}\n </StyledItem>\n </StyledSelectAll>\n )\n})\n\nexport const OptionGroupHeader = ({ optgroup }: any) => {\n return <StyledOptionGroupLabel>{optgroup.label}</StyledOptionGroupLabel>\n}\n\nexport const OptionLabel = ({ option }: any) => {\n const ctx = useSuperSelectContext()\n\n return (\n <StyledItemLabel $draggable={ctx.config.draggable}>\n {ctx.option.label(option)}\n </StyledItemLabel>\n )\n}\n\nexport const OptionContent = ({ option }: any) => {\n const ctx = useSuperSelectContext()\n\n if (ctx.option.isOptgroup(option)) {\n return <ctx.components.OptionGroupHeader optgroup={option} />\n }\n\n return <ctx.components.OptionLabel option={option} />\n}\n\nexport const DraggableOptionContent = ({ index, option }: any) => {\n const ctx = useSuperSelectContext()\n\n const disabled = ctx.option.isDisabled(option)\n const isOptgroup = ctx.option.isOptgroup(option)\n const optionId = isOptgroup ? option.id : option[draggableOptionIdSymbol]\n\n return (\n <Draggable\n draggableId={optionId}\n index={index}\n key={optionId}\n isDragDisabled={isOptgroup || disabled || Boolean(ctx.state.searchValue)}\n >\n {(provided: DraggableProvided) => {\n return (\n <StyledDraggableWrapper\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n >\n {!isOptgroup && <ctx.components.DragHandle />}\n <ctx.components.OptionContent index={index} option={option} />\n </StyledDraggableWrapper>\n )\n }}\n </Draggable>\n )\n}\n\nexport const DragHandle = (props: React.PropsWithChildren<any>) => {\n return (\n <StyledGrip {...props}>\n <Grip color={colors.gray45} />\n </StyledGrip>\n )\n}\n\nexport const CheckboxContainer = (props: React.PropsWithChildren<any>) => {\n return <StyledCheckboxContainer {...props} />\n}\n\nexport const Checkbox = (\n props: React.PropsWithChildren<ComponentProps<typeof FakeCheckbox>>\n) => {\n return <FakeCheckbox {...props} />\n}\n\nexport const CheckmarkContainer = (props: React.PropsWithChildren<any>) => {\n return <StyledCheckmarkContainer {...props} />\n}\n\nexport const Checkmark = (props: React.PropsWithChildren<any>) => {\n return <Check {...props} size=\"sm\" />\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SuperSelect.components.js","names":["Draggable","Check","Clear","ClearIcon","Grip","React","FakeCheckbox","Spinner","Token","Tooltip","Typeahead","OverflowObserver","colors","InternalDragDropContext","draggableOptionIdSymbol","StyledArrow","StyledArrowContainer","StyledArrowFill","StyledArrowOutline","StyledCheckboxContainer","StyledCheckmarkContainer","StyledClearIcon","StyledDraggableWrapper","StyledEmptyMessage","StyledFooter","StyledGrip","StyledGroup","StyledHeader","StyledIndicators","StyledItem","StyledItemLabel","StyledLabel","StyledMultiInput","StyledMultiInputContainer","StyledMultiValue","StyledMultiValueContainer","StyledOptionGroupLabel","StyledOptions","StyledOverlay","StyledSearchContainer","StyledSelectAll","StyledTrigger","useSuperSelectContext","Overlay","forwardRef","props","ref","createElement","_extends","SingleTrigger","ctx","_ref","isOverflowingX","showTooltip","config","disabled","state","open","label","selectedLabel","placeholder","labelComponent","components","Label","hoverable","trigger","overlay","MultiTrigger","multiple","Array","isArray","value","_ctx$state$value","MultiValueContainer","map","val","j","option","sourceOptions","find","o","MultiValue","key","index","MultiInputContainer","MultiInput","multiInput","TriggerContainer","Trigger","searchRef","useRef","useEffect","_searchRef$current","current","focus","Indicators","hasValue","length","loading","Loading","ArrowContainer","Arrow","up","down","width","height","_ref2","_objectWithoutProperties","_excluded","$hoverable","color","size","_ref3","left","right","_ref3$width","_ref3$height","_ref3$border","border","outline","fill","concat","focusable","points","clear","variant","icon","children","focused","activeTokenIndex","Remove","tokenClear","SearchContainer","Search","Header","Footer","padding","EmptyMessage","emptyMessage","Options","menu","Group","item","role","Item","_ref4","_props$dataKnownSiz","_ref4$isDragging","isDragging","_excluded2","_React$useContext","useContext","isDraggingOver","_React$useState","useState","_React$useState2","_slicedToArray","setSize","knownSize","prevSize","withSelectAllIndex","selectAllEnabled","options","isDisabled","isPartiallySelected","isSelected","isOptgroup","setNode","node","refs","navigationList","onClick","onSelect","$disabled","$emptyMinHeight","$highlighted","activeMenuIndex","$isDraggable","$isDragging","$isDraggingDisabled","Boolean","searchValue","$isDraggingOver","$selected","id","selectionStyle","CheckboxContainer","Checkbox","indeterminate","checked","CheckmarkContainer","Checkmark","SelectAll","_ref5","_props$dataKnownSiz2","_ref5$isDragging","_excluded3","_React$useState3","_React$useState4","selectableOptions","filter","opt","selectAll","isSelectAllSelected","isSelectAllPartiallySelected","handleClick","selectAllOption","onMouseMove","event","setActiveMenuIndex","OptionGroupHeader","_ref6","optgroup","OptionLabel","_ref7","$draggable","draggable","OptionContent","_ref8","DraggableOptionContent","_ref9","optionId","draggableId","isDragDisabled","provided","innerRef","draggableProps","dragHandleProps","DragHandle","gray45"],"sources":["../../src/SuperSelect/SuperSelect.components.tsx"],"sourcesContent":["import type { DraggableProvided } from '@atlaskit/pragmatic-drag-and-drop-react-beautiful-dnd-migration'\nimport { Draggable } from '@atlaskit/pragmatic-drag-and-drop-react-beautiful-dnd-migration'\nimport { Check, Clear as ClearIcon, Grip } from '@procore/core-icons'\nimport type { ComponentProps } from 'react'\nimport React from 'react'\nimport { FakeCheckbox } from '../Checkbox/Checkbox'\nimport { Spinner } from '../Spinner/Spinner'\nimport { Token } from '../Token/Token'\nimport { Tooltip } from '../Tooltip/Tooltip'\nimport { Typeahead } from '../Typeahead/Typeahead'\nimport { OverflowObserver } from '../_hooks/OverflowObserver'\nimport { colors } from '../_styles/colors'\nimport { InternalDragDropContext } from './SuperSelect'\nimport { draggableOptionIdSymbol } from './SuperSelect.constants'\nimport {\n StyledArrow,\n StyledArrowContainer,\n StyledArrowFill,\n StyledArrowOutline,\n StyledCheckboxContainer,\n StyledCheckmarkContainer,\n StyledClearIcon,\n StyledDraggableWrapper,\n StyledEmptyMessage,\n StyledFooter,\n StyledGrip,\n StyledGroup,\n StyledHeader,\n StyledIndicators,\n StyledItem,\n StyledItemLabel,\n StyledLabel,\n StyledMultiInput,\n StyledMultiInputContainer,\n StyledMultiValue,\n StyledMultiValueContainer,\n StyledOptionGroupLabel,\n StyledOptions,\n StyledOverlay,\n StyledSearchContainer,\n StyledSelectAll,\n StyledTrigger,\n} from './SuperSelect.styles'\nimport type {\n SuperSelectMenuItemProps,\n SuperSelectOption,\n} from './SuperSelect.types'\nimport { useSuperSelectContext } from './useSuperSelect'\n\nexport const Overlay = React.forwardRef<HTMLDivElement, any>((props, ref) => {\n return <StyledOverlay ref={ref} {...props} />\n})\n\nexport const SingleTrigger = (props: React.PropsWithChildren<any>) => {\n const ctx = useSuperSelectContext()\n\n return (\n <OverflowObserver>\n {({ isOverflowingX, ref }) => {\n const showTooltip =\n !ctx.config.disabled && isOverflowingX && !ctx.state.open\n\n const label = ctx.state.selectedLabel || ctx.config.placeholder\n\n const labelComponent = (\n <ctx.components.Label {...props} ref={ref} hoverable={showTooltip} />\n )\n\n return (\n <Tooltip trigger={showTooltip ? 'hover' : 'none'} overlay={label}>\n {labelComponent}\n </Tooltip>\n )\n }}\n </OverflowObserver>\n )\n}\n\nexport const MultiTrigger = (props: React.PropsWithChildren<any>) => {\n const ctx = useSuperSelectContext()\n\n if (ctx.config.multiple && Array.isArray(ctx.state.value)) {\n return (\n <ctx.components.MultiValueContainer {...props}>\n {ctx.state.value?.map((val, j) => {\n const option: SuperSelectOption = ctx.state.sourceOptions.find(\n (o) => ctx.option.value(o) === val\n )\n\n return (\n option && (\n <ctx.components.MultiValue key={val} index={j} option={option} />\n )\n )\n })}\n <ctx.components.MultiInputContainer>\n <ctx.components.MultiInput {...ctx.props.multiInput()} />\n </ctx.components.MultiInputContainer>\n </ctx.components.MultiValueContainer>\n )\n }\n\n return null\n}\n\nexport const TriggerContainer = StyledTrigger as\n | React.ForwardRefExoticComponent<any>\n | React.FC<any>\n\nexport const Trigger = React.forwardRef<HTMLDivElement, any>((props, ref) => {\n const ctx = useSuperSelectContext()\n\n const searchRef = React.useRef<HTMLInputElement>(null)\n\n React.useEffect(() => {\n searchRef.current?.focus()\n }, [ctx.state.value])\n\n return (\n <ctx.components.TriggerContainer ref={ref} {...props}>\n {ctx.config.multiple ? (\n <ctx.components.MultiTrigger />\n ) : (\n <ctx.components.SingleTrigger />\n )}\n <ctx.components.Indicators />\n </ctx.components.TriggerContainer>\n )\n})\n\nexport const Indicators = (props: React.PropsWithChildren<any>) => {\n const ctx = useSuperSelectContext()\n\n const hasValue = Array.isArray(ctx.state.value)\n ? ctx.state.value.length > 0\n : ctx.state.value\n\n return (\n <StyledIndicators>\n {hasValue && <ctx.components.Clear />}\n {ctx.config.loading ? (\n <ctx.components.Loading />\n ) : (\n <ctx.components.ArrowContainer>\n <ctx.components.Arrow\n up={ctx.state.open}\n down={!ctx.state.open}\n width={8}\n height={4}\n />\n </ctx.components.ArrowContainer>\n )}\n </StyledIndicators>\n )\n}\n\nexport const Label = React.forwardRef<HTMLDivElement, { hoverable: boolean }>(\n ({ hoverable, ...props }, ref) => {\n const ctx = useSuperSelectContext()\n\n return (\n <StyledLabel\n {...props}\n {...ctx.props.label()}\n ref={ref}\n $hoverable={hoverable}\n >\n {ctx.state.selectedLabel || ctx.config.placeholder}\n </StyledLabel>\n )\n }\n)\n\nexport const Loading = () => {\n return <Spinner color=\"blue50\" size=\"xs\" />\n}\n\nexport const ArrowContainer = (props: React.PropsWithChildren<any>) => {\n return <StyledArrowContainer {...props} />\n}\n\nexport const Arrow = ({\n up,\n down,\n left,\n right,\n width = 12,\n height = 12,\n border = 0,\n}: any) => {\n let outline = ''\n let fill = ''\n\n if (up) {\n outline = `0,${height} ${width},${height} {width / 2},0`\n // prettier-ignore\n fill = `${border},${height} ${width - border},${height} ${width / 2},${border * 2}`\n } else if (down) {\n outline = `0,0 ${width},0 ${width / 2},${height}`\n // prettier-ignore\n fill = `${border},0 ${width - border},0 ${width / 2},${height - border * 2}`\n } else if (left) {\n outline = `${width},0 ${width},${height} 0,${height / 2}`\n // prettier-ignore\n fill = `${width},${border} ${width},${height - border} ${border * 2},${height / 2}`\n } else if (right) {\n outline = `0,0 0,${height} ${width},${height / 2}`\n // prettier-ignore\n fill = `0,${border} 0,${height - border} ${width - border * 2},${height / 2}`\n }\n\n return (\n <StyledArrow>\n <svg height={height} width={width} focusable=\"false\">\n {border > 0 && <StyledArrowOutline points={outline} />}\n <StyledArrowFill points={fill} />\n </svg>\n </StyledArrow>\n )\n}\n\nexport const Clear = () => {\n const ctx = useSuperSelectContext()\n\n return (\n <StyledClearIcon\n {...ctx.props.clear()}\n size=\"sm\"\n variant=\"tertiary\"\n disabled={ctx.config.disabled}\n icon={<ClearIcon />}\n />\n )\n}\n\nexport const MultiInputContainer = (props: React.PropsWithChildren<{}>) => {\n return <StyledMultiInputContainer>{props.children}</StyledMultiInputContainer>\n}\n\nexport const MultiInput = React.forwardRef(\n (props: React.PropsWithChildren<any>, ref) => {\n return <StyledMultiInput ref={ref} {...props} />\n }\n)\n\nexport const MultiValue = (props: React.PropsWithChildren<any>) => {\n const ctx = useSuperSelectContext()\n\n return (\n <StyledMultiValue>\n <Token focused={ctx.state.activeTokenIndex === props.index}>\n <Token.Label>{ctx.option.label(props.option)}</Token.Label>\n <Token.Remove {...ctx.props.tokenClear(props.index)} />\n </Token>\n </StyledMultiValue>\n )\n}\n\nexport const MultiValueContainer = (props: React.PropsWithChildren<any>) => {\n return <StyledMultiValueContainer {...props} />\n}\n\nexport const SearchContainer = React.forwardRef(\n (props: React.PropsWithChildren<any>, ref) => {\n return <StyledSearchContainer ref={ref} {...props} />\n }\n)\n\nexport const Search = (props: React.PropsWithChildren<any>) => {\n return <Typeahead {...props} />\n}\n\nexport const Header = (props: React.PropsWithChildren<any>) => {\n return <StyledHeader {...props} />\n}\n\nexport const Footer = React.forwardRef(\n (props: React.PropsWithChildren<any>, ref) => {\n return <StyledFooter ref={ref} {...props} padding=\"md lg\" />\n }\n)\n\nexport const EmptyMessage = (props: any) => {\n return (\n <StyledEmptyMessage {...props}>{props.emptyMessage}</StyledEmptyMessage>\n )\n}\n\nexport const Options = (props: React.HTMLAttributes<HTMLDivElement>) => {\n const ctx = useSuperSelectContext()\n\n return <StyledOptions {...props} {...ctx.props.menu()} />\n}\n\nexport const Group = (props: React.PropsWithChildren<{}>) => {\n const ctx = useSuperSelectContext()\n\n return (\n <StyledGroup\n {...props}\n {...ctx.props.item()}\n role=\"separator\"\n aria-disabled\n />\n )\n}\n\nexport const Item = React.forwardRef<HTMLDivElement, SuperSelectMenuItemProps>(\n ({ children, isDragging = false, ...props }, ref) => {\n const ctx = useSuperSelectContext()\n const { isDraggingOver } = React.useContext(InternalDragDropContext)\n const [size, setSize] = React.useState(0)\n\n const knownSize = props['data-known-size'] ?? 0\n\n React.useEffect(() => {\n setSize((prevSize) => (knownSize === 0 ? prevSize : knownSize))\n }, [knownSize])\n\n const index = props['data-index']\n const withSelectAllIndex =\n ctx.config.selectAllEnabled && ctx.config.multiple ? index + 1 : index\n\n const option = ctx.state.options[index]\n\n if (!option) {\n return null\n }\n\n const isDisabled = ctx.option.isDisabled(option)\n const isPartiallySelected = ctx.option.isPartiallySelected(option)\n const isSelected = ctx.option.isSelected(option)\n const isOptgroup = ctx.option.isOptgroup(option)\n const value = ctx?.option.value(option)\n\n function setNode(node: HTMLElement | null) {\n if (ctx) {\n ctx.refs.navigationList.current[withSelectAllIndex] = node\n }\n }\n\n if (isOptgroup) {\n return <ctx.components.Group {...props}>{children}</ctx.components.Group>\n }\n\n return (\n <StyledItem\n {...props}\n {...ctx.props.item({\n onClick: () => ctx.state.onSelect(option),\n })}\n $disabled={ctx.option.isDisabled(option)}\n $emptyMinHeight={size}\n $highlighted={ctx.state.activeMenuIndex === withSelectAllIndex}\n $isDraggable={!isDisabled}\n $isDragging={isDragging}\n $isDraggingDisabled={Boolean(ctx.state.searchValue)}\n $isDraggingOver={isDraggingOver}\n $selected={isSelected}\n aria-posinset={withSelectAllIndex}\n aria-selected={ctx.state.activeMenuIndex === withSelectAllIndex}\n aria-setsize={ctx.state.options.length || 0}\n id={`item-${value}`}\n ref={setNode}\n role=\"option\"\n >\n {ctx.config.selectionStyle === 'checkbox' && (\n <ctx.components.CheckboxContainer>\n {isPartiallySelected && !isSelected ? (\n <ctx.components.Checkbox\n disabled={isDisabled}\n indeterminate={isPartiallySelected}\n />\n ) : (\n <ctx.components.Checkbox\n disabled={isDisabled}\n checked={isSelected}\n />\n )}\n </ctx.components.CheckboxContainer>\n )}\n {children}\n {ctx.config.selectionStyle === 'checkmark' && (\n <ctx.components.CheckmarkContainer>\n {isSelected && <ctx.components.Checkmark />}\n </ctx.components.CheckmarkContainer>\n )}\n </StyledItem>\n )\n }\n)\n\n// NOTE: SelectAll Implementation Details\n// ====================================\n// The team wanted wanted to keep the Item component fairly untouched and make SelectAll its own\n// standalone component. This separation required modifications to several functions to ensure proper keyboard\n// navigation and mouse hover behavior work seamlessly between SelectAll and the virtualized options.\n//\n// Key functions that were modified due to this separation:\n// 1. allOptionsWithSelectAll - Creates combined list for navigation calculations\n// 2. groupIndices - Adjusted to account for SelectAll at index 0\n// 3. selectedIndex - Modified to reference absolute positions including SelectAll\n// 4. selectedOption - Updated to search complete list including SelectAll\n// 5. onKeyboardSelect - Uses combined list for proper option selection\n// 6. navigationList.current length - Adjusted to include SelectAll in navigation array\n// 7. virtuoso scrollIntoView - Index adjustment to handle SelectAll being rendered separately\n// 8. SuperSelect.components.tsx SelectAll - Added onMouseMove handler for hover detection\n// 9. SuperSelect.tsx itemContent - Index adjustment to prevent data-index conflicts\n//\n// Without these modifications, keyboard navigation would skip SelectAll, hover states wouldn't\n// work properly, and there would be index mismatches between the navigation system and the\n// actual rendered options.\nexport const SelectAll = React.forwardRef<\n HTMLDivElement,\n SuperSelectMenuItemProps\n>(({ children, isDragging = false, ...props }, ref) => {\n const ctx = useSuperSelectContext()\n const [size, setSize] = React.useState(0)\n\n const knownSize = props['data-known-size'] ?? 0\n\n // TODO: There is a conflict with data-index. The index for select all is 0\n // and the first item in the options list is also 0. This causes DOM conflicts\n // where two elements have the same data-index attribute, which can confuse\n // the navigation system and cause hover/selection issues.\n const index = props['data-index'] // Select all should always be index 0\n const selectableOptions = ctx.state.options.filter((opt) => {\n return !ctx.option.isOptgroup(opt)\n })\n const isSelected =\n ctx.option.selectAll.isSelectAllSelected(selectableOptions) &&\n selectableOptions.length > 0\n const isPartiallySelected =\n ctx.option.selectAll.isSelectAllPartiallySelected(selectableOptions)\n\n const isDisabled = ctx.config.loading || !selectableOptions.length\n\n function setNode(node: HTMLElement | null) {\n if (ctx) {\n ctx.refs.navigationList.current[index] = node\n }\n }\n\n React.useEffect(() => {\n setSize((prevSize) => (knownSize === 0 ? prevSize : knownSize))\n }, [knownSize])\n\n const handleClick = () => {\n !isDisabled && ctx.state.onSelect(ctx.state.selectAllOption)\n }\n\n return (\n <StyledSelectAll>\n <StyledItem\n {...props}\n {...ctx.props.item({\n onClick: handleClick,\n onMouseMove: (event: React.MouseEvent<HTMLDivElement>) => {\n // Update the active menu index when hovering over SelectAll\n if (ctx.state.activeMenuIndex !== index) {\n ctx.state.setActiveMenuIndex(index)\n }\n },\n })}\n $disabled={isDisabled}\n $emptyMinHeight={size}\n $highlighted={ctx.state.activeMenuIndex === index}\n $selected={isSelected}\n aria-posinset={index}\n aria-selected={ctx.state.activeMenuIndex === index}\n aria-setsize={ctx.state.options.length || 0}\n id={`item-${ctx.state.selectAllOption.id}`}\n ref={setNode}\n role=\"option\"\n >\n {ctx.config.selectionStyle === 'checkbox' && (\n <ctx.components.CheckboxContainer>\n {isPartiallySelected && !isSelected ? (\n <ctx.components.Checkbox\n disabled={isDisabled}\n indeterminate={isPartiallySelected}\n />\n ) : (\n <ctx.components.Checkbox\n disabled={isDisabled}\n checked={isSelected}\n />\n )}\n </ctx.components.CheckboxContainer>\n )}\n {children}\n {ctx.config.selectionStyle === 'checkmark' && (\n <ctx.components.CheckmarkContainer>\n {isSelected && <ctx.components.Checkmark />}\n </ctx.components.CheckmarkContainer>\n )}\n </StyledItem>\n </StyledSelectAll>\n )\n})\n\nexport const OptionGroupHeader = ({ optgroup }: any) => {\n return <StyledOptionGroupLabel>{optgroup.label}</StyledOptionGroupLabel>\n}\n\nexport const OptionLabel = ({ option }: any) => {\n const ctx = useSuperSelectContext()\n\n return (\n <StyledItemLabel $draggable={ctx.config.draggable}>\n {ctx.option.label(option)}\n </StyledItemLabel>\n )\n}\n\nexport const OptionContent = ({ option }: any) => {\n const ctx = useSuperSelectContext()\n\n if (ctx.option.isOptgroup(option)) {\n return <ctx.components.OptionGroupHeader optgroup={option} />\n }\n\n return <ctx.components.OptionLabel option={option} />\n}\n\nexport const DraggableOptionContent = ({ index, option }: any) => {\n const ctx = useSuperSelectContext()\n\n const disabled = ctx.option.isDisabled(option)\n const isOptgroup = ctx.option.isOptgroup(option)\n const optionId = isOptgroup ? option.id : option[draggableOptionIdSymbol]\n\n return (\n <Draggable\n draggableId={optionId}\n index={index}\n key={optionId}\n isDragDisabled={isOptgroup || disabled || Boolean(ctx.state.searchValue)}\n >\n {(provided: DraggableProvided) => {\n return (\n <StyledDraggableWrapper\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n >\n {!isOptgroup && <ctx.components.DragHandle />}\n <ctx.components.OptionContent index={index} option={option} />\n </StyledDraggableWrapper>\n )\n }}\n </Draggable>\n )\n}\n\nexport const DragHandle = (props: React.PropsWithChildren<any>) => {\n return (\n <StyledGrip {...props}>\n <Grip color={colors.gray45} />\n </StyledGrip>\n )\n}\n\nexport const CheckboxContainer = (props: React.PropsWithChildren<any>) => {\n return <StyledCheckboxContainer {...props} />\n}\n\nexport const Checkbox = (\n props: React.PropsWithChildren<ComponentProps<typeof FakeCheckbox>>\n) => {\n return <FakeCheckbox {...props} />\n}\n\nexport const CheckmarkContainer = (props: React.PropsWithChildren<any>) => {\n return <StyledCheckmarkContainer {...props} />\n}\n\nexport const Checkmark = (props: React.PropsWithChildren<any>) => {\n return <Check {...props} size=\"sm\" />\n}\n"],"mappings":"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"}
|