@procore/core-react 12.38.0 → 12.40.0-beta.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 +55 -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.d.ts +1 -1
- package/dist/AvatarStack/AvatarStack.js +90 -27
- 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/AvatarStack.types.d.ts +7 -0
- package/dist/AvatarStack/AvatarStack.types.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.styles.js +10 -10
- package/dist/Box/Box.styles.js +1 -1
- package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
- package/dist/Button/Button.styles.js +5 -5
- package/dist/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.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 +3 -3
- package/dist/FileSelect/FileTokenList/FileTokenList.styles.js.map +1 -1
- package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
- package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
- package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
- package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
- package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
- package/dist/FileToken/FileToken.js +6 -11
- package/dist/FileToken/FileToken.js.map +1 -1
- package/dist/FileToken/FileToken.styles.d.ts +2 -0
- package/dist/FileToken/FileToken.styles.js +14 -4
- package/dist/FileToken/FileToken.styles.js.map +1 -1
- 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/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/NumberInput/NumberInput.utils.js +10 -10
- package/dist/NumberInput/NumberInput.utils.js.map +1 -1
- package/dist/Overlay/OverlayArrow.styles.js +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.js +16 -16
- 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.d.ts +1 -2
- package/dist/Panel/Panel.js +27 -49
- package/dist/Panel/Panel.js.map +1 -1
- package/dist/Panel/Panel.styles.js +13 -13
- package/dist/Panel/Panel.styles.js.map +1 -1
- package/dist/Panel/Panel.types.d.ts +0 -14
- package/dist/Panel/Panel.types.js.map +1 -1
- package/dist/Pill/Pill.styles.js +3 -3
- package/dist/PillSelect/PillSelect.d.ts +2 -1
- package/dist/PillSelect/PillSelect.js +63 -44
- package/dist/PillSelect/PillSelect.js.map +1 -1
- package/dist/PillSelect/PillSelect.styles.js +4 -4
- package/dist/Popover/Popover.styles.js +2 -2
- package/dist/Portal/Portal.styles.js +1 -1
- package/dist/ProgressBar/ProgressBar.styles.js +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 +5 -4
- package/dist/Select/Select.js +110 -81
- 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 +7 -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.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 +10 -10
- package/dist/SplitViewCard/SplitViewCard.styles.js.map +1 -1
- package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
- package/dist/SuperSelect/SuperSelect.styles.js +38 -38
- 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.js +23 -9
- package/dist/Tabs/Tabs.js.map +1 -1
- package/dist/Tabs/Tabs.styles.d.ts +2 -2
- package/dist/Tabs/Tabs.styles.js +26 -26
- package/dist/Tabs/Tabs.styles.js.map +1 -1
- package/dist/Tabs/Tabs.types.d.ts +6 -0
- package/dist/Tabs/Tabs.types.js.map +1 -1
- package/dist/Tearsheet/Tearsheet.styles.js +17 -28
- package/dist/Tearsheet/Tearsheet.styles.js.map +1 -1
- package/dist/Tearsheet/storybook/PageLayoutDemo.js +7 -1
- 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.js +3 -1
- package/dist/ToolHeader/ToolHeader.js.map +1 -1
- 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 +231 -48
- 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 +15 -3
- package/dist/_locales/en-AU.json +15 -3
- package/dist/_locales/en-CA.json +15 -3
- package/dist/_locales/en-GB.json +15 -3
- package/dist/_locales/en.json +2 -1
- package/dist/_locales/es-ES.json +15 -3
- package/dist/_locales/es.json +15 -3
- package/dist/_locales/fr-CA.json +15 -3
- package/dist/_locales/fr-FR.json +15 -3
- package/dist/_locales/is-IS.json +15 -3
- package/dist/_locales/it-IT.json +15 -3
- package/dist/_locales/ja-JP.json +15 -3
- package/dist/_locales/pl-PL.json +15 -3
- package/dist/_locales/pseudo.json +2 -1
- package/dist/_locales/pt-BR.json +15 -3
- package/dist/_locales/pt-PT.json +18 -6
- package/dist/_locales/th-TH.json +15 -3
- package/dist/_locales/zh-SG.json +15 -3
- package/dist/_locales/zh-TW.json +15 -3
- 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 +34 -24
- package/dist/_typedoc/Badge/Badge.types.json +6 -6
- package/dist/_typedoc/Banner/Banner.types.json +15 -15
- package/dist/_typedoc/Box/Box.types.json +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 +33 -33
- 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 +27 -63
- 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 +109 -63
- 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 +30 -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 +10 -9
- 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/Select/Select.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
var _excluded = ["value"],
|
|
2
2
|
_excluded2 = ["block", "children", "className", "clearRef", "disabled", "error", "focus", "label", "loading", "onClear", "open", "placeholder", "qa", "tabIndex", "isMenuOpened", "isListboxOnly", "menuId", "aria-expanded", "style"],
|
|
3
|
-
_excluded3 = ["
|
|
4
|
-
_excluded4 = ["
|
|
3
|
+
_excluded3 = ["onFocus", "onBlur", "aria-labelledby"],
|
|
4
|
+
_excluded4 = ["onSearch", "header", "footer", "emptyMessage", "optionsRef", "children", "i18nScope", "onSelect", "menuRef", "menuId"],
|
|
5
|
+
_excluded5 = ["afterHide", "afterShow", "beforeHide", "beforeShow", "block", "children", "className", "container", "disabled", "emptyMessage", "error", "header", "footer", "hideDelay", "i18nScope", "label", "loading", "onClear", "onKeyDown", "onScrollBottom", "onSearch", "onSelect", "optionsRef", "placeholder", "placement", "restoreFocusOnHide", "showDelay", "tabIndex", "qa"];
|
|
5
6
|
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
6
7
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
7
8
|
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
@@ -35,9 +36,12 @@ function isOpen(_ref) {
|
|
|
35
36
|
open = _ref$open === void 0 ? false : _ref$open;
|
|
36
37
|
return open;
|
|
37
38
|
}
|
|
39
|
+
export var SelectButtonFocusContext = /*#__PURE__*/React.createContext(false);
|
|
40
|
+
export var useSelectButtonFocused = function useSelectButtonFocused() {
|
|
41
|
+
return React.useContext(SelectButtonFocusContext);
|
|
42
|
+
};
|
|
38
43
|
export var OptGroup = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
39
44
|
return /*#__PURE__*/React.createElement(MenuImperative.Group, _extends({}, props, {
|
|
40
|
-
clickable: false,
|
|
41
45
|
ref: ref
|
|
42
46
|
}));
|
|
43
47
|
});
|
|
@@ -87,13 +91,31 @@ export var Button = /*#__PURE__*/React.forwardRef(function Button(_ref3, ref) {
|
|
|
87
91
|
var triggerRole = isListboxOnly ? 'combobox' : 'button';
|
|
88
92
|
var content = children || label || placeholder;
|
|
89
93
|
var ariaExpanded = disabled ? undefined : isListboxOnly ? ariaExpandedProp : open;
|
|
94
|
+
var _React$useState = React.useState(false),
|
|
95
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
96
|
+
isFocused = _React$useState2[0],
|
|
97
|
+
setIsFocused = _React$useState2[1];
|
|
98
|
+
var _ref4 = props,
|
|
99
|
+
onFocusProp = _ref4.onFocus,
|
|
100
|
+
onBlurProp = _ref4.onBlur,
|
|
101
|
+
ariaLabelledByProp = _ref4['aria-labelledby'],
|
|
102
|
+
restProps = _objectWithoutProperties(_ref4, _excluded3);
|
|
103
|
+
var ariaLabelledBy = [ariaLabelledByProp, labelId].filter(Boolean).join(' ') || undefined;
|
|
104
|
+
var handleFocus = React.useCallback(function (event) {
|
|
105
|
+
setIsFocused(true);
|
|
106
|
+
onFocusProp === null || onFocusProp === void 0 ? void 0 : onFocusProp(event);
|
|
107
|
+
}, [onFocusProp]);
|
|
108
|
+
var handleBlur = React.useCallback(function (event) {
|
|
109
|
+
setIsFocused(false);
|
|
110
|
+
onBlurProp === null || onBlurProp === void 0 ? void 0 : onBlurProp(event);
|
|
111
|
+
}, [onBlurProp]);
|
|
90
112
|
var button = /*#__PURE__*/React.createElement(StyledSelectButton, _extends({
|
|
91
113
|
ref: ref,
|
|
92
114
|
role: triggerRole,
|
|
93
115
|
"aria-disabled": disabled,
|
|
94
116
|
tabIndex: disabled ? -1 : tabIndex,
|
|
95
117
|
"aria-expanded": ariaExpanded,
|
|
96
|
-
"aria-labelledby":
|
|
118
|
+
"aria-labelledby": ariaLabelledBy,
|
|
97
119
|
$block: block,
|
|
98
120
|
$error: error,
|
|
99
121
|
$disabled: disabled,
|
|
@@ -102,9 +124,14 @@ export var Button = /*#__PURE__*/React.forwardRef(function Button(_ref3, ref) {
|
|
|
102
124
|
$loading: loading,
|
|
103
125
|
$open: open,
|
|
104
126
|
$placeholder: !label
|
|
105
|
-
},
|
|
106
|
-
|
|
107
|
-
|
|
127
|
+
}, restProps, {
|
|
128
|
+
onFocus: handleFocus,
|
|
129
|
+
onBlur: handleBlur
|
|
130
|
+
}), /*#__PURE__*/React.createElement(SelectButtonFocusContext.Provider, {
|
|
131
|
+
value: isFocused
|
|
132
|
+
}, /*#__PURE__*/React.createElement(OverflowObserver, null, function (_ref5) {
|
|
133
|
+
var isOverflowingX = _ref5.isOverflowingX,
|
|
134
|
+
overflowRef = _ref5.ref;
|
|
108
135
|
var showTooltip = !disabled && isOverflowingX && !isMenuOpened;
|
|
109
136
|
var trigger = /*#__PURE__*/React.createElement(StyledSelectButtonLabel, {
|
|
110
137
|
id: labelId,
|
|
@@ -113,10 +140,11 @@ export var Button = /*#__PURE__*/React.forwardRef(function Button(_ref3, ref) {
|
|
|
113
140
|
ref: overflowRef
|
|
114
141
|
}, content);
|
|
115
142
|
return showTooltip ? /*#__PURE__*/React.createElement(Tooltip, {
|
|
116
|
-
|
|
143
|
+
key: isFocused ? 'focused' : 'hover-only',
|
|
144
|
+
trigger: isFocused ? 'always' : 'hover',
|
|
117
145
|
overlay: content
|
|
118
146
|
}, trigger) : trigger;
|
|
119
|
-
}), loading ? /*#__PURE__*/React.createElement(StyledSelectSpinner, null, /*#__PURE__*/React.createElement(Spinner, {
|
|
147
|
+
})), loading ? /*#__PURE__*/React.createElement(StyledSelectSpinner, null, /*#__PURE__*/React.createElement(Spinner, {
|
|
120
148
|
color: "blue50",
|
|
121
149
|
size: "xs"
|
|
122
150
|
})) : /*#__PURE__*/React.createElement(StyledSelectArrowContainer, null, /*#__PURE__*/React.createElement(StyledSelectArrow, null)));
|
|
@@ -132,10 +160,11 @@ export var Button = /*#__PURE__*/React.forwardRef(function Button(_ref3, ref) {
|
|
|
132
160
|
"aria-label": i18n.t('core.select.clear'),
|
|
133
161
|
ref: clearRef,
|
|
134
162
|
"data-qa": (qa === null || qa === void 0 ? void 0 : qa.clear) || 'core-select-clear',
|
|
163
|
+
disabled: disabled,
|
|
135
164
|
size: "sm",
|
|
136
165
|
variant: "tertiary",
|
|
137
166
|
icon: /*#__PURE__*/React.createElement(Clear, null),
|
|
138
|
-
onClick: onClear,
|
|
167
|
+
onClick: disabled ? undefined : onClear,
|
|
139
168
|
onMouseDown: function onMouseDown(e) {
|
|
140
169
|
return e.preventDefault();
|
|
141
170
|
} // prevents an element from getting the focus
|
|
@@ -143,24 +172,24 @@ export var Button = /*#__PURE__*/React.forwardRef(function Button(_ref3, ref) {
|
|
|
143
172
|
tabIndex: showClearIcon ? 0 : -1
|
|
144
173
|
}) : null);
|
|
145
174
|
});
|
|
146
|
-
var SelectMenu = /*#__PURE__*/React.forwardRef(function SelectMenu(
|
|
147
|
-
var onSearch_ =
|
|
148
|
-
header =
|
|
149
|
-
footer =
|
|
150
|
-
emptyMessage =
|
|
151
|
-
optionsRef =
|
|
152
|
-
children =
|
|
153
|
-
i18nScope =
|
|
154
|
-
|
|
155
|
-
onSelect_ =
|
|
156
|
-
menuRef =
|
|
157
|
-
menuId =
|
|
158
|
-
props = _objectWithoutProperties(
|
|
175
|
+
var SelectMenu = /*#__PURE__*/React.forwardRef(function SelectMenu(_ref6, ref) {
|
|
176
|
+
var onSearch_ = _ref6.onSearch,
|
|
177
|
+
header = _ref6.header,
|
|
178
|
+
footer = _ref6.footer,
|
|
179
|
+
emptyMessage = _ref6.emptyMessage,
|
|
180
|
+
optionsRef = _ref6.optionsRef,
|
|
181
|
+
children = _ref6.children,
|
|
182
|
+
i18nScope = _ref6.i18nScope,
|
|
183
|
+
_ref6$onSelect = _ref6.onSelect,
|
|
184
|
+
onSelect_ = _ref6$onSelect === void 0 ? noop : _ref6$onSelect,
|
|
185
|
+
menuRef = _ref6.menuRef,
|
|
186
|
+
menuId = _ref6.menuId,
|
|
187
|
+
props = _objectWithoutProperties(_ref6, _excluded4);
|
|
159
188
|
var ctx = useOverlayTriggerContext();
|
|
160
|
-
var _React$
|
|
161
|
-
_React$
|
|
162
|
-
searchValue = _React$
|
|
163
|
-
setSearchValue = _React$
|
|
189
|
+
var _React$useState3 = React.useState(''),
|
|
190
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
191
|
+
searchValue = _React$useState4[0],
|
|
192
|
+
setSearchValue = _React$useState4[1];
|
|
164
193
|
var _useMenuImperativeCon = useMenuImperativeControlNavigation(menuRef, Boolean(onSearch_)),
|
|
165
194
|
menuProps = _useMenuImperativeCon.menuProps,
|
|
166
195
|
menuNavigationTriggerProps = _useMenuImperativeCon.menuNavigationTriggerProps;
|
|
@@ -214,66 +243,66 @@ var SelectMenu = /*#__PURE__*/React.forwardRef(function SelectMenu(_ref5, ref) {
|
|
|
214
243
|
variant: "pagination"
|
|
215
244
|
}, emptyMessage)), footer && /*#__PURE__*/React.createElement(MenuImperative.Footer, null, footer)));
|
|
216
245
|
});
|
|
217
|
-
var Select_ = /*#__PURE__*/React.forwardRef(function Select(
|
|
218
|
-
var
|
|
219
|
-
afterHide_ =
|
|
220
|
-
|
|
221
|
-
afterShow_ =
|
|
222
|
-
|
|
223
|
-
_beforeHide =
|
|
246
|
+
var Select_ = /*#__PURE__*/React.forwardRef(function Select(_ref7, forwardRef) {
|
|
247
|
+
var _ref7$afterHide = _ref7.afterHide,
|
|
248
|
+
afterHide_ = _ref7$afterHide === void 0 ? noop : _ref7$afterHide,
|
|
249
|
+
_ref7$afterShow = _ref7.afterShow,
|
|
250
|
+
afterShow_ = _ref7$afterShow === void 0 ? noop : _ref7$afterShow,
|
|
251
|
+
_ref7$beforeHide = _ref7.beforeHide,
|
|
252
|
+
_beforeHide = _ref7$beforeHide === void 0 ? function () {
|
|
224
253
|
return true;
|
|
225
|
-
} :
|
|
226
|
-
|
|
227
|
-
beforeShow =
|
|
254
|
+
} : _ref7$beforeHide,
|
|
255
|
+
_ref7$beforeShow = _ref7.beforeShow,
|
|
256
|
+
beforeShow = _ref7$beforeShow === void 0 ? function () {
|
|
228
257
|
return true;
|
|
229
|
-
} :
|
|
230
|
-
|
|
231
|
-
block =
|
|
232
|
-
children =
|
|
233
|
-
className =
|
|
234
|
-
container =
|
|
235
|
-
|
|
236
|
-
disabled =
|
|
237
|
-
emptyMessage =
|
|
238
|
-
|
|
239
|
-
error =
|
|
240
|
-
header =
|
|
241
|
-
footer =
|
|
242
|
-
|
|
243
|
-
hideDelay =
|
|
244
|
-
|
|
245
|
-
i18nScope =
|
|
246
|
-
|
|
247
|
-
label =
|
|
248
|
-
|
|
249
|
-
loading =
|
|
250
|
-
onClear_ =
|
|
251
|
-
|
|
252
|
-
onKeyDown =
|
|
253
|
-
onScrollBottom =
|
|
254
|
-
onSearch =
|
|
255
|
-
|
|
256
|
-
onSelect =
|
|
257
|
-
optionsRef =
|
|
258
|
-
placeholder =
|
|
259
|
-
|
|
260
|
-
placement =
|
|
261
|
-
|
|
262
|
-
restoreFocusOnHide =
|
|
263
|
-
|
|
264
|
-
showDelay =
|
|
265
|
-
|
|
266
|
-
tabIndex =
|
|
267
|
-
qa =
|
|
268
|
-
props = _objectWithoutProperties(
|
|
258
|
+
} : _ref7$beforeShow,
|
|
259
|
+
_ref7$block = _ref7.block,
|
|
260
|
+
block = _ref7$block === void 0 ? false : _ref7$block,
|
|
261
|
+
children = _ref7.children,
|
|
262
|
+
className = _ref7.className,
|
|
263
|
+
container = _ref7.container,
|
|
264
|
+
_ref7$disabled = _ref7.disabled,
|
|
265
|
+
disabled = _ref7$disabled === void 0 ? false : _ref7$disabled,
|
|
266
|
+
emptyMessage = _ref7.emptyMessage,
|
|
267
|
+
_ref7$error = _ref7.error,
|
|
268
|
+
error = _ref7$error === void 0 ? false : _ref7$error,
|
|
269
|
+
header = _ref7.header,
|
|
270
|
+
footer = _ref7.footer,
|
|
271
|
+
_ref7$hideDelay = _ref7.hideDelay,
|
|
272
|
+
hideDelay = _ref7$hideDelay === void 0 ? 100 : _ref7$hideDelay,
|
|
273
|
+
_ref7$i18nScope = _ref7.i18nScope,
|
|
274
|
+
i18nScope = _ref7$i18nScope === void 0 ? 'core.select' : _ref7$i18nScope,
|
|
275
|
+
_ref7$label = _ref7.label,
|
|
276
|
+
label = _ref7$label === void 0 ? '' : _ref7$label,
|
|
277
|
+
_ref7$loading = _ref7.loading,
|
|
278
|
+
loading = _ref7$loading === void 0 ? false : _ref7$loading,
|
|
279
|
+
onClear_ = _ref7.onClear,
|
|
280
|
+
_ref7$onKeyDown = _ref7.onKeyDown,
|
|
281
|
+
onKeyDown = _ref7$onKeyDown === void 0 ? noop : _ref7$onKeyDown,
|
|
282
|
+
onScrollBottom = _ref7.onScrollBottom,
|
|
283
|
+
onSearch = _ref7.onSearch,
|
|
284
|
+
_ref7$onSelect = _ref7.onSelect,
|
|
285
|
+
onSelect = _ref7$onSelect === void 0 ? noop : _ref7$onSelect,
|
|
286
|
+
optionsRef = _ref7.optionsRef,
|
|
287
|
+
placeholder = _ref7.placeholder,
|
|
288
|
+
_ref7$placement = _ref7.placement,
|
|
289
|
+
placement = _ref7$placement === void 0 ? 'bottom-left' : _ref7$placement,
|
|
290
|
+
_ref7$restoreFocusOnH = _ref7.restoreFocusOnHide,
|
|
291
|
+
restoreFocusOnHide = _ref7$restoreFocusOnH === void 0 ? 'core-react' : _ref7$restoreFocusOnH,
|
|
292
|
+
_ref7$showDelay = _ref7.showDelay,
|
|
293
|
+
showDelay = _ref7$showDelay === void 0 ? 0 : _ref7$showDelay,
|
|
294
|
+
_ref7$tabIndex = _ref7.tabIndex,
|
|
295
|
+
tabIndex = _ref7$tabIndex === void 0 ? 0 : _ref7$tabIndex,
|
|
296
|
+
qa = _ref7.qa,
|
|
297
|
+
props = _objectWithoutProperties(_ref7, _excluded5);
|
|
269
298
|
var i18n = useI18nContext();
|
|
270
299
|
var menuRef = React.useRef(null);
|
|
271
300
|
var overlayTriggerRef = React.useRef(null);
|
|
272
301
|
var ref = forwardRef || overlayTriggerRef;
|
|
273
|
-
var _React$
|
|
274
|
-
_React$
|
|
275
|
-
isMenuOpened = _React$
|
|
276
|
-
setIsMenuOpened = _React$
|
|
302
|
+
var _React$useState5 = React.useState(false),
|
|
303
|
+
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
304
|
+
isMenuOpened = _React$useState6[0],
|
|
305
|
+
setIsMenuOpened = _React$useState6[1];
|
|
277
306
|
var clearRef = React.useRef(null);
|
|
278
307
|
var menuId = useId();
|
|
279
308
|
var isListboxOnly = !onSearch && !header && !footer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","names":["Clear","useId","classNames","isNil","React","Box","MenuImperative","useMenuImperativeControlNavigation","Notation","OverlayTrigger","useOverlayTriggerContext","Spinner","Tooltip","useI18nContext","OverflowObserver","addSubcomponents","StyledSelectArrow","StyledSelectArrowContainer","StyledSelectButton","StyledSelectButtonLabel","StyledSelectButtonWrapper","StyledSelectClearIcon","StyledSelectMenu","StyledSelectSpinner","noop","isFunction","obj","isOpen","_ref","_ref$open","open","OptGroup","forwardRef","props","ref","createElement","Group","_extends","clickable","Option","_ref2","value","_objectWithoutProperties","_excluded","Item","item","Button","_ref3","_ref3$block","block","children","className","clearRef","_ref3$disabled","disabled","_ref3$error","error","_ref3$focus","focus","label","_ref3$loading","loading","onClear","_ref3$open","placeholder","qa","_ref3$tabIndex","tabIndex","_ref3$isMenuOpened","isMenuOpened","_ref3$isListboxOnly","isListboxOnly","menuId","ariaExpandedProp","style","_excluded2","i18n","hasClearIcon","Boolean","showClearIcon","labelId","triggerRole","content","ariaExpanded","undefined","button","role","$block","$error","$disabled","$hasClearIcon","$showClearIcon","$loading","$open","$placeholder","_ref4","isOverflowingX","overflowRef","showTooltip","trigger","id","$hoverable","overlay","color","size","t","clear","variant","icon","onClick","onMouseDown","e","preventDefault","SelectMenu","_ref5","onSearch_","onSearch","header","footer","emptyMessage","optionsRef","i18nScope","_ref5$onSelect","onSelect","onSelect_","menuRef","_excluded3","ctx","_React$useState","useState","_React$useState2","_slicedToArray","searchValue","setSearchValue","_useMenuImperativeCon","menuProps","menuNavigationTriggerProps","useEffect","_menuRef$current","current","highlightFirst","_menuRef$current2","_menuRef$current3","highlightSuggested","highlightSelected","onKeyDown","_props$onKeyDown","call","key","stopPropagation","selection","hide","event","target","shadowStrength","circular","Search","autoComplete","onChange","Header","Children","count","Options","padding","Footer","Select_","Select","_ref6","_ref6$afterHide","afterHide","afterHide_","_ref6$afterShow","afterShow","afterShow_","_ref6$beforeHide","beforeHide","_ref6$beforeShow","beforeShow","_ref6$block","container","_ref6$disabled","_ref6$error","_ref6$hideDelay","hideDelay","_ref6$i18nScope","_ref6$label","_ref6$loading","onClear_","_ref6$onKeyDown","onScrollBottom","_ref6$onSelect","_ref6$placement","placement","_ref6$restoreFocusOnH","restoreFocusOnHide","_ref6$showDelay","showDelay","_ref6$tabIndex","_excluded4","useRef","overlayTriggerRef","_React$useState3","_React$useState4","setIsMenuOpened","emptyMessageText","scope","useCallback","_overlayTriggerRef$cu","autoFocus","canFlip","passA11yPropsToOverlay","overlayId","displayName"],"sources":["../../src/Select/Select.tsx"],"sourcesContent":["import { Clear } from '@procore/core-icons/dist'\nimport { useId } from '@react-aria/utils'\nimport classNames from 'classnames'\nimport { isNil } from 'ramda'\nimport React from 'react'\nimport { Box } from '../Box'\nimport {\n MenuImperative,\n useMenuImperativeControlNavigation,\n} from '../MenuImperative/MenuImperative'\nimport type { MenuRef, Selection } from '../MenuImperative/MenuImperative.types'\nimport { Notation } from '../Notation'\nimport {\n OverlayTrigger,\n useOverlayTriggerContext,\n} from '../OverlayTrigger/OverlayTrigger'\nimport { Spinner } from '../Spinner'\nimport { Tooltip } from '../Tooltip'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { OverflowObserver } from '../_hooks/OverflowObserver'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport type { Props } from '../_utils/types'\nimport {\n StyledSelectArrow,\n StyledSelectArrowContainer,\n StyledSelectButton,\n StyledSelectButtonLabel,\n StyledSelectButtonWrapper,\n StyledSelectClearIcon,\n StyledSelectMenu,\n StyledSelectSpinner,\n} from './Select.styles'\nimport type {\n SelectButtonProps,\n SelectMenuProps,\n SelectOptionProps,\n SelectProps,\n TriggerRole,\n} from './Select.types'\n\nfunction noop() {}\nfunction isFunction(obj: any) {\n return typeof obj === 'function'\n}\nfunction isOpen({ open = false }) {\n return open\n}\n\nexport const OptGroup = React.forwardRef<HTMLDivElement, Props>(\n (props, ref) => (\n <MenuImperative.Group {...props} clickable={false} ref={ref} />\n )\n)\n\nexport const Option = React.forwardRef<HTMLDivElement, SelectOptionProps>(\n ({ value, ...props }, ref) => (\n <MenuImperative.Item ref={ref} {...props} item={value} />\n )\n)\n\nexport const Button = React.forwardRef<HTMLDivElement, SelectButtonProps>(\n function Button(\n {\n block = false,\n children,\n className,\n clearRef,\n disabled = false,\n error = false,\n focus = false,\n label,\n loading = false,\n onClear,\n open = false,\n placeholder,\n qa,\n tabIndex = 0,\n isMenuOpened = false,\n isListboxOnly = false,\n menuId,\n 'aria-expanded': ariaExpandedProp,\n style,\n ...props\n },\n ref\n ) {\n const i18n = useI18nContext()\n const hasClearIcon = Boolean(onClear)\n const showClearIcon = !disabled && !loading && Boolean(label)\n const labelId = useId()\n const triggerRole: TriggerRole = isListboxOnly ? 'combobox' : 'button'\n\n const content = children || label || placeholder\n const ariaExpanded = disabled\n ? undefined\n : isListboxOnly\n ? ariaExpandedProp\n : open\n\n const button = (\n <StyledSelectButton\n ref={ref}\n role={triggerRole}\n aria-disabled={disabled}\n tabIndex={disabled ? -1 : tabIndex}\n aria-expanded={ariaExpanded}\n aria-labelledby={isListboxOnly ? labelId : undefined}\n $block={block}\n $error={error}\n $disabled={disabled}\n $hasClearIcon={hasClearIcon}\n $showClearIcon={showClearIcon}\n $loading={loading}\n $open={open}\n $placeholder={!label}\n {...props}\n >\n <OverflowObserver>\n {({ isOverflowingX, ref: overflowRef }) => {\n const showTooltip = !disabled && isOverflowingX && !isMenuOpened\n const trigger = (\n <StyledSelectButtonLabel\n id={labelId}\n data-qa={qa?.label}\n $hoverable={showTooltip}\n ref={overflowRef}\n >\n {content}\n </StyledSelectButtonLabel>\n )\n\n return showTooltip ? (\n <Tooltip trigger=\"hover\" overlay={content}>\n {trigger}\n </Tooltip>\n ) : (\n trigger\n )\n }}\n </OverflowObserver>\n {loading ? (\n <StyledSelectSpinner>\n <Spinner color=\"blue50\" size=\"xs\" />\n </StyledSelectSpinner>\n ) : (\n <StyledSelectArrowContainer>\n <StyledSelectArrow />\n </StyledSelectArrowContainer>\n )}\n </StyledSelectButton>\n )\n\n return (\n <StyledSelectButtonWrapper\n $block={block}\n className={classNames(className, {\n focus: isFunction(focus) ? (focus as Function)({ open }) : focus,\n })}\n style={style}\n >\n {button}\n {onClear ? (\n <StyledSelectClearIcon\n aria-label={i18n.t('core.select.clear')}\n ref={clearRef}\n data-qa={qa?.clear || 'core-select-clear'}\n size=\"sm\"\n variant=\"tertiary\"\n icon={<Clear />}\n onClick={onClear}\n onMouseDown={(e: React.MouseEvent) => e.preventDefault()} // prevents an element from getting the focus\n tabIndex={showClearIcon ? 0 : -1}\n />\n ) : null}\n </StyledSelectButtonWrapper>\n )\n }\n)\n\nconst SelectMenu = React.forwardRef<HTMLDivElement, SelectMenuProps>(\n function SelectMenu(\n {\n onSearch: onSearch_,\n header,\n footer,\n emptyMessage,\n optionsRef,\n children,\n i18nScope,\n onSelect: onSelect_ = noop,\n menuRef,\n menuId,\n ...props\n },\n ref\n ) {\n const ctx = useOverlayTriggerContext()\n\n const [searchValue, setSearchValue] = React.useState('')\n const { menuProps, menuNavigationTriggerProps } =\n useMenuImperativeControlNavigation(menuRef, Boolean(onSearch_))\n\n React.useEffect(() => {\n menuRef.current?.highlightFirst()\n }, [menuRef, searchValue])\n\n React.useEffect(() => {\n menuRef.current?.highlightSuggested()\n menuRef.current?.highlightSelected()\n }, [menuRef])\n\n function onKeyDown(e: React.KeyboardEvent<HTMLDivElement>) {\n props.onKeyDown?.(e)\n // This is disconnected from the OverlayTrigger closing on Escape.\n // Closing a dropdown with Escape will not close a Modal, because stopP.\n // It is called only once because the menu component is unmounted.\n // The next Escape will propagate.\n if (e.key === 'Escape' || e.key === 'Esc') {\n e.stopPropagation()\n }\n }\n\n function onSelect(selection: Selection) {\n onSelect_(selection)\n\n ctx.hide(selection.event)\n }\n\n function onSearch(event: React.ChangeEvent<HTMLInputElement>) {\n setSearchValue(event.target.value)\n\n onSearch_?.(event)\n }\n\n return (\n <StyledSelectMenu ref={ref} shadowStrength={2}>\n <MenuImperative\n {...props}\n {...menuProps}\n ref={menuRef}\n role=\"listbox\"\n onKeyDown={onKeyDown}\n onSelect={onSelect}\n id={menuId}\n circular\n >\n {onSearch_ && (\n <MenuImperative.Search\n autoComplete=\"false\"\n i18nScope={i18nScope}\n onChange={onSearch}\n {...menuNavigationTriggerProps}\n />\n )}\n {header && <MenuImperative.Header>{header}</MenuImperative.Header>}\n {React.Children.count(children) ? (\n <MenuImperative.Options ref={optionsRef}>\n {children}\n </MenuImperative.Options>\n ) : (\n <Box padding=\"md lg\">\n <Notation variant=\"pagination\">{emptyMessage}</Notation>\n </Box>\n )}\n {footer && <MenuImperative.Footer>{footer}</MenuImperative.Footer>}\n </MenuImperative>\n </StyledSelectMenu>\n )\n }\n)\n\nconst Select_ = React.forwardRef<HTMLDivElement, SelectProps>(function Select(\n {\n afterHide: afterHide_ = noop,\n afterShow: afterShow_ = noop,\n beforeHide = () => true,\n beforeShow = () => true,\n block = false,\n children,\n className,\n container,\n disabled = false,\n emptyMessage,\n error = false,\n header,\n footer,\n hideDelay = 100,\n i18nScope = 'core.select',\n label = '',\n loading = false,\n onClear: onClear_,\n onKeyDown = noop,\n onScrollBottom,\n onSearch,\n onSelect = noop,\n optionsRef,\n placeholder,\n placement = 'bottom-left',\n restoreFocusOnHide = 'core-react',\n showDelay = 0,\n tabIndex = 0,\n qa,\n ...props\n },\n forwardRef\n) {\n const i18n = useI18nContext()\n const menuRef = React.useRef<MenuRef>(null)\n const overlayTriggerRef = React.useRef<HTMLDivElement>(null)\n const ref =\n (forwardRef as React.RefObject<HTMLDivElement>) || overlayTriggerRef\n const [isMenuOpened, setIsMenuOpened] = React.useState(false)\n\n const clearRef = React.useRef<HTMLButtonElement>(null)\n const menuId = useId()\n const isListboxOnly = !onSearch && !header && !footer\n\n const emptyMessageText =\n emptyMessage ?? i18n.t('noResult', { scope: i18nScope })\n\n function afterHide() {\n afterHide_()\n setIsMenuOpened(false)\n onSearch?.({\n target: { value: '' },\n } as React.ChangeEvent<HTMLInputElement>)\n }\n\n const onClear = React.useCallback(\n (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\n onClear_?.(e)\n // IE 11 fix\n // Return focus back to trigger instead of the clear button\n overlayTriggerRef?.current?.focus()\n },\n [onClear_]\n )\n\n function afterShow() {\n afterShow_()\n setIsMenuOpened(true)\n }\n\n return (\n <OverlayTrigger\n autoFocus\n afterHide={afterHide}\n afterShow={afterShow}\n beforeHide={(e: Event) => {\n if (e.target === clearRef.current) {\n return false\n }\n\n return beforeHide(e)\n }}\n beforeShow={beforeShow}\n canFlip={true}\n container={container}\n hideDelay={hideDelay}\n restoreFocusOnHide={restoreFocusOnHide}\n role={isListboxOnly ? 'listbox' : undefined}\n passA11yPropsToOverlay={isListboxOnly}\n overlayId={menuId}\n overlay={\n <SelectMenu\n onSearch={onSearch}\n header={header}\n footer={footer}\n emptyMessage={emptyMessageText}\n optionsRef={optionsRef}\n i18nScope={i18nScope}\n onSelect={onSelect}\n onScrollBottom={onScrollBottom}\n menuRef={menuRef}\n menuId={menuId}\n >\n {children}\n </SelectMenu>\n }\n placement={placement}\n ref={ref}\n showDelay={showDelay}\n trigger={disabled ? 'none' : 'click'}\n >\n <Button\n {...props}\n block={block}\n className={className}\n clearRef={clearRef}\n disabled={disabled}\n error={error}\n focus={onSearch ? false : isOpen}\n label={label}\n loading={loading}\n placeholder={placeholder}\n onKeyDown={onKeyDown}\n onClear={isNil(onClear_) ? onClear_ : onClear}\n isMenuOpened={isMenuOpened}\n tabIndex={tabIndex}\n isListboxOnly={isListboxOnly}\n menuId={menuId}\n qa={qa}\n />\n </OverlayTrigger>\n )\n})\n\nSelect_.displayName = 'Select'\n\nButton.displayName = 'Select.Button'\n\nOption.displayName = 'Select.Option'\n\nOptGroup.displayName = 'Select.OptGroup'\n\n/**\n\n We use single selects to allow our users to choose a single option from a list,\n presented in a dropdown. We typically see these selects on forms.\n\n If you want users to select multiple options, use a multi select, group select,\n and tiered select if you want users to select from a tiered set of options,\n use a tiered select.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-select--demo)\n\n @see [Design Guidelines](https://design.procore.com/select)\n\n */\nexport const Select = addSubcomponents(\n {\n Button,\n Option,\n OptGroup,\n },\n Select_\n)\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Select.js","names":["Clear","useId","classNames","isNil","React","Box","MenuImperative","useMenuImperativeControlNavigation","Notation","OverlayTrigger","useOverlayTriggerContext","Spinner","Tooltip","useI18nContext","OverflowObserver","addSubcomponents","StyledSelectArrow","StyledSelectArrowContainer","StyledSelectButton","StyledSelectButtonLabel","StyledSelectButtonWrapper","StyledSelectClearIcon","StyledSelectMenu","StyledSelectSpinner","noop","isFunction","obj","isOpen","_ref","_ref$open","open","SelectButtonFocusContext","createContext","useSelectButtonFocused","useContext","OptGroup","forwardRef","props","ref","createElement","Group","_extends","Option","_ref2","value","_objectWithoutProperties","_excluded","Item","item","Button","_ref3","_ref3$block","block","children","className","clearRef","_ref3$disabled","disabled","_ref3$error","error","_ref3$focus","focus","label","_ref3$loading","loading","onClear","_ref3$open","placeholder","qa","_ref3$tabIndex","tabIndex","_ref3$isMenuOpened","isMenuOpened","_ref3$isListboxOnly","isListboxOnly","menuId","ariaExpandedProp","style","_excluded2","i18n","hasClearIcon","Boolean","showClearIcon","labelId","triggerRole","content","ariaExpanded","undefined","_React$useState","useState","_React$useState2","_slicedToArray","isFocused","setIsFocused","_ref4","onFocusProp","onFocus","onBlurProp","onBlur","ariaLabelledByProp","restProps","_excluded3","ariaLabelledBy","filter","join","handleFocus","useCallback","event","handleBlur","button","role","$block","$error","$disabled","$hasClearIcon","$showClearIcon","$loading","$open","$placeholder","Provider","_ref5","isOverflowingX","overflowRef","showTooltip","trigger","id","$hoverable","key","overlay","color","size","t","clear","variant","icon","onClick","onMouseDown","e","preventDefault","SelectMenu","_ref6","onSearch_","onSearch","header","footer","emptyMessage","optionsRef","i18nScope","_ref6$onSelect","onSelect","onSelect_","menuRef","_excluded4","ctx","_React$useState3","_React$useState4","searchValue","setSearchValue","_useMenuImperativeCon","menuProps","menuNavigationTriggerProps","useEffect","_menuRef$current","current","highlightFirst","_menuRef$current2","_menuRef$current3","highlightSuggested","highlightSelected","onKeyDown","_props$onKeyDown","call","stopPropagation","selection","hide","target","shadowStrength","circular","Search","autoComplete","onChange","Header","Children","count","Options","padding","Footer","Select_","Select","_ref7","_ref7$afterHide","afterHide","afterHide_","_ref7$afterShow","afterShow","afterShow_","_ref7$beforeHide","beforeHide","_ref7$beforeShow","beforeShow","_ref7$block","container","_ref7$disabled","_ref7$error","_ref7$hideDelay","hideDelay","_ref7$i18nScope","_ref7$label","_ref7$loading","onClear_","_ref7$onKeyDown","onScrollBottom","_ref7$onSelect","_ref7$placement","placement","_ref7$restoreFocusOnH","restoreFocusOnHide","_ref7$showDelay","showDelay","_ref7$tabIndex","_excluded5","useRef","overlayTriggerRef","_React$useState5","_React$useState6","setIsMenuOpened","emptyMessageText","scope","_overlayTriggerRef$cu","autoFocus","canFlip","passA11yPropsToOverlay","overlayId","displayName"],"sources":["../../src/Select/Select.tsx"],"sourcesContent":["import { Clear } from '@procore/core-icons/dist'\nimport { useId } from '@react-aria/utils'\nimport classNames from 'classnames'\nimport { isNil } from 'ramda'\nimport React from 'react'\nimport { Box } from '../Box'\nimport {\n MenuImperative,\n useMenuImperativeControlNavigation,\n} from '../MenuImperative/MenuImperative'\nimport type { MenuRef, Selection } from '../MenuImperative/MenuImperative.types'\nimport { Notation } from '../Notation'\nimport {\n OverlayTrigger,\n useOverlayTriggerContext,\n} from '../OverlayTrigger/OverlayTrigger'\nimport { Spinner } from '../Spinner'\nimport { Tooltip } from '../Tooltip'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { OverflowObserver } from '../_hooks/OverflowObserver'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport {\n StyledSelectArrow,\n StyledSelectArrowContainer,\n StyledSelectButton,\n StyledSelectButtonLabel,\n StyledSelectButtonWrapper,\n StyledSelectClearIcon,\n StyledSelectMenu,\n StyledSelectSpinner,\n} from './Select.styles'\nimport type {\n SelectButtonProps,\n SelectMenuProps,\n SelectOptGroupProps,\n SelectOptionProps,\n SelectProps,\n TriggerRole,\n} from './Select.types'\n\nfunction noop() {}\nfunction isFunction(obj: any) {\n return typeof obj === 'function'\n}\nfunction isOpen({ open = false }) {\n return open\n}\n\nexport const SelectButtonFocusContext = React.createContext(false)\nexport const useSelectButtonFocused = () =>\n React.useContext(SelectButtonFocusContext)\n\nexport const OptGroup = React.forwardRef<HTMLDivElement, SelectOptGroupProps>(\n (props, ref) => <MenuImperative.Group {...props} ref={ref} />\n)\n\nexport const Option = React.forwardRef<HTMLDivElement, SelectOptionProps>(\n ({ value, ...props }, ref) => (\n <MenuImperative.Item ref={ref} {...props} item={value} />\n )\n)\n\nexport const Button = React.forwardRef<HTMLDivElement, SelectButtonProps>(\n function Button(\n {\n block = false,\n children,\n className,\n clearRef,\n disabled = false,\n error = false,\n focus = false,\n label,\n loading = false,\n onClear,\n open = false,\n placeholder,\n qa,\n tabIndex = 0,\n isMenuOpened = false,\n isListboxOnly = false,\n menuId,\n 'aria-expanded': ariaExpandedProp,\n style,\n ...props\n },\n ref\n ) {\n const i18n = useI18nContext()\n const hasClearIcon = Boolean(onClear)\n const showClearIcon = !disabled && !loading && Boolean(label)\n const labelId = useId()\n const triggerRole: TriggerRole = isListboxOnly ? 'combobox' : 'button'\n\n const content = children || label || placeholder\n const ariaExpanded = disabled\n ? undefined\n : isListboxOnly\n ? ariaExpandedProp\n : open\n\n const [isFocused, setIsFocused] = React.useState(false)\n\n const {\n onFocus: onFocusProp,\n onBlur: onBlurProp,\n 'aria-labelledby': ariaLabelledByProp,\n ...restProps\n } = props as typeof props & {\n onFocus?: React.FocusEventHandler<HTMLDivElement>\n onBlur?: React.FocusEventHandler<HTMLDivElement>\n }\n\n const ariaLabelledBy =\n [ariaLabelledByProp, labelId].filter(Boolean).join(' ') || undefined\n\n const handleFocus = React.useCallback(\n (event: React.FocusEvent<HTMLDivElement>) => {\n setIsFocused(true)\n onFocusProp?.(event)\n },\n [onFocusProp]\n )\n\n const handleBlur = React.useCallback(\n (event: React.FocusEvent<HTMLDivElement>) => {\n setIsFocused(false)\n onBlurProp?.(event)\n },\n [onBlurProp]\n )\n\n const button = (\n <StyledSelectButton\n ref={ref}\n role={triggerRole}\n aria-disabled={disabled}\n tabIndex={disabled ? -1 : tabIndex}\n aria-expanded={ariaExpanded}\n aria-labelledby={ariaLabelledBy}\n $block={block}\n $error={error}\n $disabled={disabled}\n $hasClearIcon={hasClearIcon}\n $showClearIcon={showClearIcon}\n $loading={loading}\n $open={open}\n $placeholder={!label}\n {...restProps}\n onFocus={handleFocus}\n onBlur={handleBlur}\n >\n <SelectButtonFocusContext.Provider value={isFocused}>\n <OverflowObserver>\n {({ isOverflowingX, ref: overflowRef }) => {\n const showTooltip = !disabled && isOverflowingX && !isMenuOpened\n const trigger = (\n <StyledSelectButtonLabel\n id={labelId}\n data-qa={qa?.label}\n $hoverable={showTooltip}\n ref={overflowRef}\n >\n {content}\n </StyledSelectButtonLabel>\n )\n\n return showTooltip ? (\n <Tooltip\n key={isFocused ? 'focused' : 'hover-only'}\n trigger={isFocused ? 'always' : 'hover'}\n overlay={content}\n >\n {trigger}\n </Tooltip>\n ) : (\n trigger\n )\n }}\n </OverflowObserver>\n </SelectButtonFocusContext.Provider>\n {loading ? (\n <StyledSelectSpinner>\n <Spinner color=\"blue50\" size=\"xs\" />\n </StyledSelectSpinner>\n ) : (\n <StyledSelectArrowContainer>\n <StyledSelectArrow />\n </StyledSelectArrowContainer>\n )}\n </StyledSelectButton>\n )\n\n return (\n <StyledSelectButtonWrapper\n $block={block}\n className={classNames(className, {\n focus: isFunction(focus) ? (focus as Function)({ open }) : focus,\n })}\n style={style}\n >\n {button}\n {onClear ? (\n <StyledSelectClearIcon\n aria-label={i18n.t('core.select.clear')}\n ref={clearRef}\n data-qa={qa?.clear || 'core-select-clear'}\n disabled={disabled}\n size=\"sm\"\n variant=\"tertiary\"\n icon={<Clear />}\n onClick={disabled ? undefined : onClear}\n onMouseDown={(e: React.MouseEvent) => e.preventDefault()} // prevents an element from getting the focus\n tabIndex={showClearIcon ? 0 : -1}\n />\n ) : null}\n </StyledSelectButtonWrapper>\n )\n }\n)\n\nconst SelectMenu = React.forwardRef<HTMLDivElement, SelectMenuProps>(\n function SelectMenu(\n {\n onSearch: onSearch_,\n header,\n footer,\n emptyMessage,\n optionsRef,\n children,\n i18nScope,\n onSelect: onSelect_ = noop,\n menuRef,\n menuId,\n ...props\n },\n ref\n ) {\n const ctx = useOverlayTriggerContext()\n\n const [searchValue, setSearchValue] = React.useState('')\n const { menuProps, menuNavigationTriggerProps } =\n useMenuImperativeControlNavigation(menuRef, Boolean(onSearch_))\n\n React.useEffect(() => {\n menuRef.current?.highlightFirst()\n }, [menuRef, searchValue])\n\n React.useEffect(() => {\n menuRef.current?.highlightSuggested()\n menuRef.current?.highlightSelected()\n }, [menuRef])\n\n function onKeyDown(e: React.KeyboardEvent<HTMLDivElement>) {\n props.onKeyDown?.(e)\n // This is disconnected from the OverlayTrigger closing on Escape.\n // Closing a dropdown with Escape will not close a Modal, because stopP.\n // It is called only once because the menu component is unmounted.\n // The next Escape will propagate.\n if (e.key === 'Escape' || e.key === 'Esc') {\n e.stopPropagation()\n }\n }\n\n function onSelect(selection: Selection) {\n onSelect_(selection)\n\n ctx.hide(selection.event)\n }\n\n function onSearch(event: React.ChangeEvent<HTMLInputElement>) {\n setSearchValue(event.target.value)\n\n onSearch_?.(event)\n }\n\n return (\n <StyledSelectMenu ref={ref} shadowStrength={2}>\n <MenuImperative\n {...props}\n {...menuProps}\n ref={menuRef}\n role=\"listbox\"\n onKeyDown={onKeyDown}\n onSelect={onSelect}\n id={menuId}\n circular\n >\n {onSearch_ && (\n <MenuImperative.Search\n autoComplete=\"false\"\n i18nScope={i18nScope}\n onChange={onSearch}\n {...menuNavigationTriggerProps}\n />\n )}\n {header && <MenuImperative.Header>{header}</MenuImperative.Header>}\n {React.Children.count(children) ? (\n <MenuImperative.Options ref={optionsRef}>\n {children}\n </MenuImperative.Options>\n ) : (\n <Box padding=\"md lg\">\n <Notation variant=\"pagination\">{emptyMessage}</Notation>\n </Box>\n )}\n {footer && <MenuImperative.Footer>{footer}</MenuImperative.Footer>}\n </MenuImperative>\n </StyledSelectMenu>\n )\n }\n)\n\nconst Select_ = React.forwardRef<HTMLDivElement, SelectProps>(function Select(\n {\n afterHide: afterHide_ = noop,\n afterShow: afterShow_ = noop,\n beforeHide = () => true,\n beforeShow = () => true,\n block = false,\n children,\n className,\n container,\n disabled = false,\n emptyMessage,\n error = false,\n header,\n footer,\n hideDelay = 100,\n i18nScope = 'core.select',\n label = '',\n loading = false,\n onClear: onClear_,\n onKeyDown = noop,\n onScrollBottom,\n onSearch,\n onSelect = noop,\n optionsRef,\n placeholder,\n placement = 'bottom-left',\n restoreFocusOnHide = 'core-react',\n showDelay = 0,\n tabIndex = 0,\n qa,\n ...props\n },\n forwardRef\n) {\n const i18n = useI18nContext()\n const menuRef = React.useRef<MenuRef>(null)\n const overlayTriggerRef = React.useRef<HTMLDivElement>(null)\n const ref =\n (forwardRef as React.RefObject<HTMLDivElement>) || overlayTriggerRef\n const [isMenuOpened, setIsMenuOpened] = React.useState(false)\n\n const clearRef = React.useRef<HTMLButtonElement>(null)\n const menuId = useId()\n const isListboxOnly = !onSearch && !header && !footer\n\n const emptyMessageText =\n emptyMessage ?? i18n.t('noResult', { scope: i18nScope })\n\n function afterHide() {\n afterHide_()\n setIsMenuOpened(false)\n onSearch?.({\n target: { value: '' },\n } as React.ChangeEvent<HTMLInputElement>)\n }\n\n const onClear = React.useCallback(\n (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\n onClear_?.(e)\n // IE 11 fix\n // Return focus back to trigger instead of the clear button\n overlayTriggerRef?.current?.focus()\n },\n [onClear_]\n )\n\n function afterShow() {\n afterShow_()\n setIsMenuOpened(true)\n }\n\n return (\n <OverlayTrigger\n autoFocus\n afterHide={afterHide}\n afterShow={afterShow}\n beforeHide={(e: Event) => {\n if (e.target === clearRef.current) {\n return false\n }\n\n return beforeHide(e)\n }}\n beforeShow={beforeShow}\n canFlip={true}\n container={container}\n hideDelay={hideDelay}\n restoreFocusOnHide={restoreFocusOnHide}\n role={isListboxOnly ? 'listbox' : undefined}\n passA11yPropsToOverlay={isListboxOnly}\n overlayId={menuId}\n overlay={\n <SelectMenu\n onSearch={onSearch}\n header={header}\n footer={footer}\n emptyMessage={emptyMessageText}\n optionsRef={optionsRef}\n i18nScope={i18nScope}\n onSelect={onSelect}\n onScrollBottom={onScrollBottom}\n menuRef={menuRef}\n menuId={menuId}\n >\n {children}\n </SelectMenu>\n }\n placement={placement}\n ref={ref}\n showDelay={showDelay}\n trigger={disabled ? 'none' : 'click'}\n >\n <Button\n {...props}\n block={block}\n className={className}\n clearRef={clearRef}\n disabled={disabled}\n error={error}\n focus={onSearch ? false : isOpen}\n label={label}\n loading={loading}\n placeholder={placeholder}\n onKeyDown={onKeyDown}\n onClear={isNil(onClear_) ? onClear_ : onClear}\n isMenuOpened={isMenuOpened}\n tabIndex={tabIndex}\n isListboxOnly={isListboxOnly}\n menuId={menuId}\n qa={qa}\n />\n </OverlayTrigger>\n )\n})\n\nSelect_.displayName = 'Select'\n\nButton.displayName = 'Select.Button'\n\nOption.displayName = 'Select.Option'\n\nOptGroup.displayName = 'Select.OptGroup'\n\n/**\n\n We use single selects to allow our users to choose a single option from a list,\n presented in a dropdown. We typically see these selects on forms.\n\n If you want users to select multiple options, use a multi select, group select,\n and tiered select if you want users to select from a tiered set of options,\n use a tiered select.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-select--demo)\n\n @see [Design Guidelines](https://design.procore.com/select)\n\n */\nexport const Select = addSubcomponents(\n {\n Button,\n Option,\n OptGroup,\n },\n Select_\n)\n"],"mappings":"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"}
|
|
@@ -17,41 +17,41 @@ export var tableSelectClassName = 'select--table';
|
|
|
17
17
|
var styledSelectButtonDefaultWidth = 248;
|
|
18
18
|
export var StyledSelectButtonWrapper = /*#__PURE__*/styled.div.withConfig({
|
|
19
19
|
displayName: "StyledSelectButtonWrapper",
|
|
20
|
-
componentId: "core-
|
|
20
|
+
componentId: "core-12_40_0-beta_0__sc-mr8gwe-0"
|
|
21
21
|
})(["display:inline-block;position:relative;width:", ";"], function (_ref) {
|
|
22
22
|
var $block = _ref.$block;
|
|
23
23
|
return $block ? '100%' : "".concat(styledSelectButtonDefaultWidth, "px");
|
|
24
24
|
});
|
|
25
25
|
export var StyledSelectMenu = /*#__PURE__*/styled(Card).withConfig({
|
|
26
26
|
displayName: "StyledSelectMenu",
|
|
27
|
-
componentId: "core-
|
|
27
|
+
componentId: "core-12_40_0-beta_0__sc-mr8gwe-1"
|
|
28
28
|
})(["display:flex;max-height:40vh;max-width:", "px;min-width:inherit;"], styledSelectButtonDefaultWidth);
|
|
29
29
|
export var StyledSelectButtonLabel = /*#__PURE__*/styled.div.withConfig({
|
|
30
30
|
displayName: "StyledSelectButtonLabel",
|
|
31
|
-
componentId: "core-
|
|
31
|
+
componentId: "core-12_40_0-beta_0__sc-mr8gwe-2"
|
|
32
32
|
})(["", " flex-grow:1;margin-right:", "px;outline:none;pointer-events:", ";user-select:none;"], getEllipsis(), spacing.sm, function (_ref2) {
|
|
33
33
|
var $hoverable = _ref2.$hoverable;
|
|
34
34
|
return $hoverable ? 'initial' : 'none';
|
|
35
35
|
});
|
|
36
36
|
export var StyledSelectSpinner = /*#__PURE__*/styled.div.withConfig({
|
|
37
37
|
displayName: "StyledSelectSpinner",
|
|
38
|
-
componentId: "core-
|
|
38
|
+
componentId: "core-12_40_0-beta_0__sc-mr8gwe-3"
|
|
39
39
|
})(["align-items:center;display:flex;flex:0 0 auto;justify-content:center;line-height:0;"]);
|
|
40
40
|
export var StyledSelectArrowContainer = /*#__PURE__*/styled.div.withConfig({
|
|
41
41
|
displayName: "StyledSelectArrowContainer",
|
|
42
|
-
componentId: "core-
|
|
42
|
+
componentId: "core-12_40_0-beta_0__sc-mr8gwe-4"
|
|
43
43
|
})(["align-items:center;display:inline-flex;height:16px;justify-content:flex-end;margin-left:", "px;width:8px;"], spacing.sm);
|
|
44
44
|
export var StyledSelectArrow = /*#__PURE__*/styled.div.withConfig({
|
|
45
45
|
displayName: "StyledSelectArrow",
|
|
46
|
-
componentId: "core-
|
|
46
|
+
componentId: "core-12_40_0-beta_0__sc-mr8gwe-5"
|
|
47
47
|
})(["position:relative;", ""], arrowDown(4, 'gray45'));
|
|
48
48
|
export var StyledSelectClearIcon = /*#__PURE__*/styled(Button).withConfig({
|
|
49
49
|
displayName: "StyledSelectClearIcon",
|
|
50
|
-
componentId: "core-
|
|
50
|
+
componentId: "core-12_40_0-beta_0__sc-mr8gwe-6"
|
|
51
51
|
})(["position:absolute;right:29px;top:50%;transform:translateY(-50%);", "{pointer-events:none;}"], StyledContent);
|
|
52
52
|
export var StyledSelectButton = /*#__PURE__*/styled.div.withConfig({
|
|
53
53
|
displayName: "StyledSelectButton",
|
|
54
|
-
componentId: "core-
|
|
54
|
+
componentId: "core-12_40_0-beta_0__sc-mr8gwe-7"
|
|
55
55
|
})(["", " align-items:center;background-color:", ";border-color:", ";border-radius:", "px;border-style:solid;border-width:1px;color:", ";cursor:pointer;display:inline-flex;height:36px;min-height:36px;outline:none;padding:0 ", "px;position:relative;white-space:nowrap;width:", ";&::placeholder{border-color:", ";}&:hover,&:active,&[data-qa=", "]{background-color:", ";border-color:", ";color:", ";}&.focus,&:focus,&[data-qa=", "],", ":focus-within &{", " ", "{stroke:", ";}}", " ", " ", " ", " ", " ", " &.", "{", " ", " ", "}"], getTypographyIntent('body'), colors.white, colors.gray50, borderRadius.md, colors.gray15, spacing.md, function (_ref3) {
|
|
56
56
|
var $block = _ref3.$block;
|
|
57
57
|
return $block ? '100%' : "".concat(styledSelectButtonDefaultWidth, "px");
|
|
@@ -74,7 +74,7 @@ export var StyledSelectButton = /*#__PURE__*/styled.div.withConfig({
|
|
|
74
74
|
return css(["gap:", ";"], $hasClearIcon ? "".concat(spacing.xl, "px") : 0);
|
|
75
75
|
}, function (_ref8) {
|
|
76
76
|
var $showClearIcon = _ref8.$showClearIcon;
|
|
77
|
-
return css(["& + ", "{opacity:", ";}"], StyledSelectClearIcon, $showClearIcon ? 1 : 0);
|
|
77
|
+
return css(["& + ", "{opacity:", ";pointer-events:", ";}"], StyledSelectClearIcon, $showClearIcon ? 1 : 0, $showClearIcon ? 'auto' : 'none');
|
|
78
78
|
}, function (_ref9) {
|
|
79
79
|
var $open = _ref9.$open;
|
|
80
80
|
return $open && css(["", "{", "}"], StyledSelectArrow, arrowUp(4, 'gray45'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.styles.js","names":["styled","css","Button","StyledContent","Card","StyledCircle","getTypographyIntent","arrowDown","arrowUp","borderRadius","colors","getEllipsis","getFocus","spacing","dataQa","focused","hovered","tableSelectClassName","styledSelectButtonDefaultWidth","StyledSelectButtonWrapper","div","withConfig","displayName","componentId","_ref","$block","concat","StyledSelectMenu","StyledSelectButtonLabel","sm","_ref2","$hoverable","StyledSelectSpinner","StyledSelectArrowContainer","StyledSelectArrow","StyledSelectClearIcon","StyledSelectButton","white","gray50","md","gray15","_ref3","gray45","gray20","blue50","_ref4","_ref4$$placeholder","$placeholder","_ref5","$disabled","gray94","gray70","_ref6","$error","$loading","red50","_ref7","$hasClearIcon","xl","_ref8","$showClearIcon","_ref9","$open","_ref0","_ref1","_ref10","_ref10$$placeholder"],"sources":["../../src/Select/Select.styles.tsx"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport { Button } from '../Button'\nimport { StyledContent } from '../Button/Button.styles'\nimport { Card } from '../Card'\nimport { StyledCircle } from '../Spinner/Spinner.styles'\nimport { getTypographyIntent } from '../Typography/Typography.styles'\nimport { arrowDown, arrowUp } from '../_styles/arrows'\nimport { borderRadius } from '../_styles/borderRadius'\nimport { colors } from '../_styles/colors'\nimport { getEllipsis, getFocus } from '../_styles/mixins'\nimport { spacing } from '../_styles/spacing'\n\nexport const dataQa = {\n focused: 'core-select-focused',\n hovered: 'core-select-hovered',\n}\n\nexport const tableSelectClassName = 'select--table'\nconst styledSelectButtonDefaultWidth = 248\n\nexport const StyledSelectButtonWrapper = styled.div<{ $block: boolean }>`\n display: inline-block;\n position: relative;\n width: ${({ $block }) =>\n $block ? '100%' : `${styledSelectButtonDefaultWidth}px`};\n`\n\nexport const StyledSelectMenu = styled(Card)`\n display: flex;\n max-height: 40vh;\n max-width: ${styledSelectButtonDefaultWidth}px;\n min-width: inherit;\n`\n\nexport const StyledSelectButtonLabel = styled.div<{ $hoverable: boolean }>`\n ${getEllipsis()}\n flex-grow: 1;\n margin-right: ${spacing.sm}px;\n outline: none;\n pointer-events: ${({ $hoverable }) => ($hoverable ? 'initial' : 'none')};\n user-select: none;\n`\n\nexport const StyledSelectSpinner = styled.div`\n align-items: center;\n display: flex;\n flex: 0 0 auto;\n justify-content: center;\n line-height: 0;\n`\n\nexport const StyledSelectArrowContainer = styled.div`\n align-items: center;\n display: inline-flex;\n height: 16px;\n justify-content: flex-end;\n margin-left: ${spacing.sm}px;\n width: 8px;\n`\n\nexport const StyledSelectArrow = styled.div`\n position: relative;\n ${arrowDown(4, 'gray45')}\n`\n\nexport const StyledSelectClearIcon = styled(Button)`\n position: absolute;\n right: 29px;\n top: 50%;\n transform: translateY(-50%);\n\n ${StyledContent} {\n pointer-events: none;\n }\n`\n\nexport const StyledSelectButton = styled.div<{\n $block: boolean\n $disabled: boolean\n $error: boolean\n $loading: boolean\n $open: boolean\n $placeholder?: boolean\n $hasClearIcon?: boolean\n $showClearIcon?: boolean\n}>`\n ${getTypographyIntent('body')}\n\n align-items: center;\n background-color: ${colors.white};\n border-color: ${colors.gray50};\n border-radius: ${borderRadius.md}px;\n border-style: solid;\n border-width: 1px;\n color: ${colors.gray15};\n cursor: pointer;\n display: inline-flex;\n height: 36px;\n min-height: 36px;\n outline: none;\n padding: 0 ${spacing.md}px;\n position: relative;\n white-space: nowrap;\n width: ${({ $block }) =>\n $block ? '100%' : `${styledSelectButtonDefaultWidth}px`};\n\n &::placeholder {\n border-color: ${colors.gray45};\n }\n\n &:hover,\n &:active,\n &[data-qa=${dataQa.hovered}] {\n background-color: ${colors.white};\n border-color: ${colors.gray20};\n color: ${colors.gray15};\n }\n\n &.focus,\n &:focus,\n &[data-qa=${dataQa.focused}],\n ${StyledSelectButtonWrapper}:focus-within & {\n ${getFocus()}\n\n ${StyledCircle} {\n stroke: ${colors.blue50};\n }\n }\n\n ${({ $placeholder = false }) =>\n $placeholder &&\n css`\n ${StyledSelectButtonLabel} {\n color: ${colors.gray45};\n }\n `}\n\n ${({ $disabled }) =>\n $disabled &&\n css`\n background-color: ${colors.gray94};\n border-color: ${colors.gray50};\n color: ${colors.gray45};\n cursor: default;\n pointer-events: none;\n\n ${StyledSelectButtonLabel} {\n color: ${colors.gray70};\n }\n\n ${StyledSelectArrow} {\n ${arrowDown(4, 'gray70')}\n }\n `}\n\n ${({ $error, $disabled, $loading }) => {\n if ($error && !$disabled) {\n return css`\n &,\n &:hover {\n border-color: ${colors.red50};\n border-color: var(--core-input-error-border-color, ${colors.red50});\n }\n &:hover:focus {\n ${getFocus()}\n }\n `\n }\n }}\n\n ${({ $hasClearIcon }) => css`\n gap: ${$hasClearIcon ? `${spacing.xl}px` : 0};\n `}\n\n ${({ $showClearIcon }) => css`\n & + ${StyledSelectClearIcon} {\n opacity: ${$showClearIcon ? 1 : 0};\n }\n `}\n\n ${({ $open }) =>\n $open &&\n css`\n ${StyledSelectArrow} {\n ${arrowUp(4, 'gray45')}\n }\n `}\n\n &.${tableSelectClassName} {\n ${({ $open }) =>\n $open &&\n css`\n background-color: ${colors.white};\n\n ${StyledSelectButtonLabel} {\n white-space: nowrap;\n }\n\n ${StyledSelectArrow} {\n opacity: 1;\n pointer-events: all;\n }\n `}\n\n ${({ $open, $showClearIcon }) =>\n $open &&\n $showClearIcon &&\n css`\n & + ${StyledSelectClearIcon} {\n opacity: 1;\n pointer-events: all;\n }\n `}\n\n ${({ $open, $placeholder = false }) =>\n $open &&\n $placeholder &&\n css`\n ${StyledSelectButtonLabel} {\n opacity: 1;\n pointer-events: all;\n }\n `}\n }\n`\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Select.styles.js","names":["styled","css","Button","StyledContent","Card","StyledCircle","getTypographyIntent","arrowDown","arrowUp","borderRadius","colors","getEllipsis","getFocus","spacing","dataQa","focused","hovered","tableSelectClassName","styledSelectButtonDefaultWidth","StyledSelectButtonWrapper","div","withConfig","displayName","componentId","_ref","$block","concat","StyledSelectMenu","StyledSelectButtonLabel","sm","_ref2","$hoverable","StyledSelectSpinner","StyledSelectArrowContainer","StyledSelectArrow","StyledSelectClearIcon","StyledSelectButton","white","gray50","md","gray15","_ref3","gray45","gray20","blue50","_ref4","_ref4$$placeholder","$placeholder","_ref5","$disabled","gray94","gray70","_ref6","$error","$loading","red50","_ref7","$hasClearIcon","xl","_ref8","$showClearIcon","_ref9","$open","_ref0","_ref1","_ref10","_ref10$$placeholder"],"sources":["../../src/Select/Select.styles.tsx"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport { Button } from '../Button'\nimport { StyledContent } from '../Button/Button.styles'\nimport { Card } from '../Card'\nimport { StyledCircle } from '../Spinner/Spinner.styles'\nimport { getTypographyIntent } from '../Typography/Typography.styles'\nimport { arrowDown, arrowUp } from '../_styles/arrows'\nimport { borderRadius } from '../_styles/borderRadius'\nimport { colors } from '../_styles/colors'\nimport { getEllipsis, getFocus } from '../_styles/mixins'\nimport { spacing } from '../_styles/spacing'\n\nexport const dataQa = {\n focused: 'core-select-focused',\n hovered: 'core-select-hovered',\n}\n\nexport const tableSelectClassName = 'select--table'\nconst styledSelectButtonDefaultWidth = 248\n\nexport const StyledSelectButtonWrapper = styled.div<{ $block: boolean }>`\n display: inline-block;\n position: relative;\n width: ${({ $block }) =>\n $block ? '100%' : `${styledSelectButtonDefaultWidth}px`};\n`\n\nexport const StyledSelectMenu = styled(Card)`\n display: flex;\n max-height: 40vh;\n max-width: ${styledSelectButtonDefaultWidth}px;\n min-width: inherit;\n`\n\nexport const StyledSelectButtonLabel = styled.div<{ $hoverable: boolean }>`\n ${getEllipsis()}\n flex-grow: 1;\n margin-right: ${spacing.sm}px;\n outline: none;\n pointer-events: ${({ $hoverable }) => ($hoverable ? 'initial' : 'none')};\n user-select: none;\n`\n\nexport const StyledSelectSpinner = styled.div`\n align-items: center;\n display: flex;\n flex: 0 0 auto;\n justify-content: center;\n line-height: 0;\n`\n\nexport const StyledSelectArrowContainer = styled.div`\n align-items: center;\n display: inline-flex;\n height: 16px;\n justify-content: flex-end;\n margin-left: ${spacing.sm}px;\n width: 8px;\n`\n\nexport const StyledSelectArrow = styled.div`\n position: relative;\n ${arrowDown(4, 'gray45')}\n`\n\nexport const StyledSelectClearIcon = styled(Button)`\n position: absolute;\n right: 29px;\n top: 50%;\n transform: translateY(-50%);\n\n ${StyledContent} {\n pointer-events: none;\n }\n`\n\nexport const StyledSelectButton = styled.div<{\n $block: boolean\n $disabled: boolean\n $error: boolean\n $loading: boolean\n $open: boolean\n $placeholder?: boolean\n $hasClearIcon?: boolean\n $showClearIcon?: boolean\n}>`\n ${getTypographyIntent('body')}\n\n align-items: center;\n background-color: ${colors.white};\n border-color: ${colors.gray50};\n border-radius: ${borderRadius.md}px;\n border-style: solid;\n border-width: 1px;\n color: ${colors.gray15};\n cursor: pointer;\n display: inline-flex;\n height: 36px;\n min-height: 36px;\n outline: none;\n padding: 0 ${spacing.md}px;\n position: relative;\n white-space: nowrap;\n width: ${({ $block }) =>\n $block ? '100%' : `${styledSelectButtonDefaultWidth}px`};\n\n &::placeholder {\n border-color: ${colors.gray45};\n }\n\n &:hover,\n &:active,\n &[data-qa=${dataQa.hovered}] {\n background-color: ${colors.white};\n border-color: ${colors.gray20};\n color: ${colors.gray15};\n }\n\n &.focus,\n &:focus,\n &[data-qa=${dataQa.focused}],\n ${StyledSelectButtonWrapper}:focus-within & {\n ${getFocus()}\n\n ${StyledCircle} {\n stroke: ${colors.blue50};\n }\n }\n\n ${({ $placeholder = false }) =>\n $placeholder &&\n css`\n ${StyledSelectButtonLabel} {\n color: ${colors.gray45};\n }\n `}\n\n ${({ $disabled }) =>\n $disabled &&\n css`\n background-color: ${colors.gray94};\n border-color: ${colors.gray50};\n color: ${colors.gray45};\n cursor: default;\n pointer-events: none;\n\n ${StyledSelectButtonLabel} {\n color: ${colors.gray70};\n }\n\n ${StyledSelectArrow} {\n ${arrowDown(4, 'gray70')}\n }\n `}\n\n ${({ $error, $disabled, $loading }) => {\n if ($error && !$disabled) {\n return css`\n &,\n &:hover {\n border-color: ${colors.red50};\n border-color: var(--core-input-error-border-color, ${colors.red50});\n }\n &:hover:focus {\n ${getFocus()}\n }\n `\n }\n }}\n\n ${({ $hasClearIcon }) => css`\n gap: ${$hasClearIcon ? `${spacing.xl}px` : 0};\n `}\n\n ${({ $showClearIcon }) => css`\n & + ${StyledSelectClearIcon} {\n opacity: ${$showClearIcon ? 1 : 0};\n pointer-events: ${$showClearIcon ? 'auto' : 'none'};\n }\n `}\n\n ${({ $open }) =>\n $open &&\n css`\n ${StyledSelectArrow} {\n ${arrowUp(4, 'gray45')}\n }\n `}\n\n &.${tableSelectClassName} {\n ${({ $open }) =>\n $open &&\n css`\n background-color: ${colors.white};\n\n ${StyledSelectButtonLabel} {\n white-space: nowrap;\n }\n\n ${StyledSelectArrow} {\n opacity: 1;\n pointer-events: all;\n }\n `}\n\n ${({ $open, $showClearIcon }) =>\n $open &&\n $showClearIcon &&\n css`\n & + ${StyledSelectClearIcon} {\n opacity: 1;\n pointer-events: all;\n }\n `}\n\n ${({ $open, $placeholder = false }) =>\n $open &&\n $placeholder &&\n css`\n ${StyledSelectButtonLabel} {\n opacity: 1;\n pointer-events: all;\n }\n `}\n }\n`\n"],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import type { DropdownPlacement } from '../Dropdown/Dropdown.types';
|
|
|
4
4
|
import type { MenuProps, MenuRef } from '../MenuImperative/MenuImperative.types';
|
|
5
5
|
import type { OverlayTriggerProps } from '../OverlayTrigger';
|
|
6
6
|
import type { PortalProps } from '../Portal/Portal.types';
|
|
7
|
+
import type { Props } from '../_utils/types';
|
|
7
8
|
export declare type SelectPlacement = DropdownPlacement;
|
|
8
9
|
declare type DivProps = React.ComponentPropsWithoutRef<'div'>;
|
|
9
10
|
export declare type TriggerRole = 'combobox' | 'button';
|
|
@@ -53,6 +54,12 @@ export interface SelectMenuProps extends Omit<DivProps, 'onSelect' | 'onDragEnd'
|
|
|
53
54
|
*/
|
|
54
55
|
menuId: string;
|
|
55
56
|
}
|
|
57
|
+
export interface SelectOptGroupProps extends Props {
|
|
58
|
+
/**
|
|
59
|
+
* @since 12.39.0
|
|
60
|
+
*/
|
|
61
|
+
label?: string;
|
|
62
|
+
}
|
|
56
63
|
export interface SelectOptionProps extends DivProps {
|
|
57
64
|
/**
|
|
58
65
|
* @since 10.19.0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.types.js","names":[],"sources":["../../src/Select/Select.types.ts"],"sourcesContent":["import type { ButtonProps } from '../Button/Button.types'\nimport type { DropdownPlacement } from '../Dropdown/Dropdown.types'\nimport type { MenuProps, MenuRef } from '../MenuImperative/MenuImperative.types'\nimport type { OverlayTriggerProps } from '../OverlayTrigger'\nimport type { PortalProps } from '../Portal/Portal.types'\n\nexport type SelectPlacement = DropdownPlacement\n\ntype DivProps = React.ComponentPropsWithoutRef<'div'>\n\nexport type TriggerRole = 'combobox' | 'button'\n\nexport interface SelectMenuProps\n extends Omit<DivProps, 'onSelect' | 'onDragEnd'>,\n Pick<PortalProps, 'container'> {\n /**\n * @since 10.19.0\n */\n emptyMessage?: string\n /**\n * @since 12.15.0\n */\n header?: React.ReactNode\n /**\n * @since 10.19.0\n */\n footer?: React.ReactNode\n /**\n * @since 10.19.0\n */\n i18nScope?: string\n /**\n * @since 10.19.0\n */\n onClear?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void\n /**\n * @since 10.19.0\n */\n onScrollBottom?: MenuProps['onScrollBottom']\n /**\n * @since 10.19.0\n */\n onSearch?: (event: React.ChangeEvent<HTMLInputElement>) => void\n /**\n * @since 10.19.0\n */\n onSelect?: MenuProps['onSelect']\n /**\n * @since 10.19.0\n */\n optionsRef?: React.RefObject<HTMLDivElement>\n /**\n * @since 10.19.0\n */\n menuRef: React.RefObject<MenuRef>\n /**\n * @since 12.35.1\n */\n menuId: string\n}\n\nexport interface SelectOptionProps extends DivProps {\n /**\n * @since 10.19.0\n */\n index?: number\n /**\n * @since 10.19.0\n */\n value: any\n /**\n * @since 10.19.0\n */\n disabled?: boolean\n\n /**\n * Represents the currently selected value. This option will be styled\n * differently as well as receive UX to scroll into view and start list\n * navigation from this element.\n * @since 10.19.0\n */\n selected?: boolean\n\n /**\n * If nothing is selected, suggest this option. Suggested options mimic the\n * UX of a selected option, scroll into view and start list navigation from\n * this element.\n * @since 10.19.0\n */\n suggested?: boolean\n}\n\ninterface QaTags {\n /**\n * @since 10.19.0\n */\n label: string\n /**\n * @since 10.19.0\n */\n clear: string\n}\n\nexport interface SelectProps\n extends Omit<DivProps, 'onSelect'>,\n Pick<PortalProps, 'container'> {\n /**\n * @since 10.19.0\n */\n afterHide?: OverlayTriggerProps['afterHide']\n /**\n * @since 10.19.0\n */\n afterShow?: OverlayTriggerProps['afterShow']\n /**\n * @since 10.19.0\n */\n beforeHide?: OverlayTriggerProps['beforeHide']\n /**\n * @since 10.19.0\n */\n beforeShow?: OverlayTriggerProps['beforeShow']\n\n /**\n * Make the Select button 100% width\n * @since 10.19.0\n */\n block?: boolean\n\n /**\n * @default false\n * @since 10.19.0\n */\n disabled?: boolean\n\n /**\n * When there are no children this will render\n * @since 10.19.0\n */\n emptyMessage?: string\n\n /**\n * @default false\n * @since 10.19.0\n */\n error?: boolean\n /**\n * @since 12.15.0\n */\n header?: React.ReactNode\n /**\n * @since 10.19.0\n */\n footer?: React.ReactNode\n /**\n * @since 10.19.0\n */\n hideDelay?: number\n /**\n * The i18n key to use for the select's configurable strings.\n * Defaults to using the core library's default strings.\n * @since 10.19.0\n */\n i18nScope?: string\n /**\n * @since 10.19.0\n */\n label?: React.ReactNode\n\n /**\n * If the select is loading\n * @default false\n * @since 10.19.0\n */\n loading?: boolean\n\n /**\n * It is possible for this component to have an empty value\n * (render placeholder). Enables the x icon.\n * @since 10.19.0\n */\n onClear?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void\n\n /**\n * Optional `function` that automatically executes when\n * scrolling reaches the last item.\n * @since 10.19.0\n */\n onScrollBottom?: MenuProps['onScrollBottom']\n\n /**\n * Adds a search bar to the select.\n * @since 10.19.0\n */\n onSearch?: (event: React.ChangeEvent<HTMLInputElement>) => void\n /**\n * @since 10.19.0\n */\n onSelect?: MenuProps['onSelect']\n /**\n * @since 10.19.0\n */\n optionsRef?: React.RefObject<HTMLDivElement>\n\n /**\n * Renders when the label is blank\n * @since 10.19.0\n */\n placeholder?: string\n\n /**\n * The placement of the overlay\n * @default 'bottom-left'\n * @since 10.19.0\n */\n placement?: SelectPlacement\n /**\n * @since 10.19.0\n */\n qa?: Partial<QaTags>\n\n /**\n * Restore focus to the target after the overlay is hidden.\n * 'core-react' will use internal logic to restore focus,\n * 'react-aria-focus-scope' will use 'FocusScope' component from '@react-aria',\n * true will use both.\n * @default 'core-react'\n * @since 12.11.0\n */\n restoreFocusOnHide?: OverlayTriggerProps['restoreFocusOnHide']\n\n /**\n * @since 10.19.0\n */\n showDelay?: number\n\n /**\n * Configurable tabIndex for the select button\n * @default 0\n * @since 10.19.0\n */\n tabIndex?: number\n}\n\nexport interface SelectButtonProps extends DivProps {\n /**\n * @since 10.19.0\n */\n block?: ButtonProps['block']\n /**\n * @since 10.19.0\n */\n clearRef?: React.RefObject<HTMLButtonElement>\n /**\n * @since 10.19.0\n */\n disabled?: ButtonProps['disabled']\n /**\n * @since 10.19.0\n */\n dropdown?: boolean\n /**\n * @since 10.19.0\n */\n error?: boolean\n /**\n * @since 11.9.0\n * If the component should apply a focus appeareance. This is\n * not DOM focus management, and purely visual.\n */\n focus?: boolean | ((obj: { open: boolean }) => boolean)\n /**\n * @since 10.19.0\n */\n icon?: ButtonProps['icon']\n /**\n * @since 10.19.0\n */\n label?: React.ReactNode\n /**\n * @since 10.19.0\n */\n loading?: ButtonProps['loading']\n /**\n * @since 10.19.0\n */\n onClear?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void\n /**\n * @since 10.19.0\n */\n open?: boolean\n /**\n * @since 10.19.0\n */\n placeholder?: string\n /**\n * @since 10.19.0\n */\n qa?: Partial<QaTags>\n /**\n * @since 10.19.0\n */\n size?: ButtonProps['size']\n /**\n * @since 10.19.0\n */\n tabIndex?: number\n /**\n * @since 10.19.0\n */\n type?: ButtonProps['type']\n /**\n * @since 10.19.0\n */\n variant?: ButtonProps['variant']\n /**\n * @since 10.19.0\n */\n isMenuOpened?: boolean\n /**\n * @since 12.35.1\n */\n isListboxOnly?: boolean\n /**\n * @since 12.35.1\n */\n menuId?: string\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"Select.types.js","names":[],"sources":["../../src/Select/Select.types.ts"],"sourcesContent":["import type { ButtonProps } from '../Button/Button.types'\nimport type { DropdownPlacement } from '../Dropdown/Dropdown.types'\nimport type { MenuProps, MenuRef } from '../MenuImperative/MenuImperative.types'\nimport type { OverlayTriggerProps } from '../OverlayTrigger'\nimport type { PortalProps } from '../Portal/Portal.types'\nimport type { Props } from '../_utils/types'\n\nexport type SelectPlacement = DropdownPlacement\n\ntype DivProps = React.ComponentPropsWithoutRef<'div'>\n\nexport type TriggerRole = 'combobox' | 'button'\n\nexport interface SelectMenuProps\n extends Omit<DivProps, 'onSelect' | 'onDragEnd'>,\n Pick<PortalProps, 'container'> {\n /**\n * @since 10.19.0\n */\n emptyMessage?: string\n /**\n * @since 12.15.0\n */\n header?: React.ReactNode\n /**\n * @since 10.19.0\n */\n footer?: React.ReactNode\n /**\n * @since 10.19.0\n */\n i18nScope?: string\n /**\n * @since 10.19.0\n */\n onClear?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void\n /**\n * @since 10.19.0\n */\n onScrollBottom?: MenuProps['onScrollBottom']\n /**\n * @since 10.19.0\n */\n onSearch?: (event: React.ChangeEvent<HTMLInputElement>) => void\n /**\n * @since 10.19.0\n */\n onSelect?: MenuProps['onSelect']\n /**\n * @since 10.19.0\n */\n optionsRef?: React.RefObject<HTMLDivElement>\n /**\n * @since 10.19.0\n */\n menuRef: React.RefObject<MenuRef>\n /**\n * @since 12.35.1\n */\n menuId: string\n}\n\nexport interface SelectOptGroupProps extends Props {\n /**\n * @since 12.39.0\n */\n label?: string\n}\n\nexport interface SelectOptionProps extends DivProps {\n /**\n * @since 10.19.0\n */\n index?: number\n /**\n * @since 10.19.0\n */\n value: any\n /**\n * @since 10.19.0\n */\n disabled?: boolean\n\n /**\n * Represents the currently selected value. This option will be styled\n * differently as well as receive UX to scroll into view and start list\n * navigation from this element.\n * @since 10.19.0\n */\n selected?: boolean\n\n /**\n * If nothing is selected, suggest this option. Suggested options mimic the\n * UX of a selected option, scroll into view and start list navigation from\n * this element.\n * @since 10.19.0\n */\n suggested?: boolean\n}\n\ninterface QaTags {\n /**\n * @since 10.19.0\n */\n label: string\n /**\n * @since 10.19.0\n */\n clear: string\n}\n\nexport interface SelectProps\n extends Omit<DivProps, 'onSelect'>,\n Pick<PortalProps, 'container'> {\n /**\n * @since 10.19.0\n */\n afterHide?: OverlayTriggerProps['afterHide']\n /**\n * @since 10.19.0\n */\n afterShow?: OverlayTriggerProps['afterShow']\n /**\n * @since 10.19.0\n */\n beforeHide?: OverlayTriggerProps['beforeHide']\n /**\n * @since 10.19.0\n */\n beforeShow?: OverlayTriggerProps['beforeShow']\n\n /**\n * Make the Select button 100% width\n * @since 10.19.0\n */\n block?: boolean\n\n /**\n * @default false\n * @since 10.19.0\n */\n disabled?: boolean\n\n /**\n * When there are no children this will render\n * @since 10.19.0\n */\n emptyMessage?: string\n\n /**\n * @default false\n * @since 10.19.0\n */\n error?: boolean\n /**\n * @since 12.15.0\n */\n header?: React.ReactNode\n /**\n * @since 10.19.0\n */\n footer?: React.ReactNode\n /**\n * @since 10.19.0\n */\n hideDelay?: number\n /**\n * The i18n key to use for the select's configurable strings.\n * Defaults to using the core library's default strings.\n * @since 10.19.0\n */\n i18nScope?: string\n /**\n * @since 10.19.0\n */\n label?: React.ReactNode\n\n /**\n * If the select is loading\n * @default false\n * @since 10.19.0\n */\n loading?: boolean\n\n /**\n * It is possible for this component to have an empty value\n * (render placeholder). Enables the x icon.\n * @since 10.19.0\n */\n onClear?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void\n\n /**\n * Optional `function` that automatically executes when\n * scrolling reaches the last item.\n * @since 10.19.0\n */\n onScrollBottom?: MenuProps['onScrollBottom']\n\n /**\n * Adds a search bar to the select.\n * @since 10.19.0\n */\n onSearch?: (event: React.ChangeEvent<HTMLInputElement>) => void\n /**\n * @since 10.19.0\n */\n onSelect?: MenuProps['onSelect']\n /**\n * @since 10.19.0\n */\n optionsRef?: React.RefObject<HTMLDivElement>\n\n /**\n * Renders when the label is blank\n * @since 10.19.0\n */\n placeholder?: string\n\n /**\n * The placement of the overlay\n * @default 'bottom-left'\n * @since 10.19.0\n */\n placement?: SelectPlacement\n /**\n * @since 10.19.0\n */\n qa?: Partial<QaTags>\n\n /**\n * Restore focus to the target after the overlay is hidden.\n * 'core-react' will use internal logic to restore focus,\n * 'react-aria-focus-scope' will use 'FocusScope' component from '@react-aria',\n * true will use both.\n * @default 'core-react'\n * @since 12.11.0\n */\n restoreFocusOnHide?: OverlayTriggerProps['restoreFocusOnHide']\n\n /**\n * @since 10.19.0\n */\n showDelay?: number\n\n /**\n * Configurable tabIndex for the select button\n * @default 0\n * @since 10.19.0\n */\n tabIndex?: number\n}\n\nexport interface SelectButtonProps extends DivProps {\n /**\n * @since 10.19.0\n */\n block?: ButtonProps['block']\n /**\n * @since 10.19.0\n */\n clearRef?: React.RefObject<HTMLButtonElement>\n /**\n * @since 10.19.0\n */\n disabled?: ButtonProps['disabled']\n /**\n * @since 10.19.0\n */\n dropdown?: boolean\n /**\n * @since 10.19.0\n */\n error?: boolean\n /**\n * @since 11.9.0\n * If the component should apply a focus appeareance. This is\n * not DOM focus management, and purely visual.\n */\n focus?: boolean | ((obj: { open: boolean }) => boolean)\n /**\n * @since 10.19.0\n */\n icon?: ButtonProps['icon']\n /**\n * @since 10.19.0\n */\n label?: React.ReactNode\n /**\n * @since 10.19.0\n */\n loading?: ButtonProps['loading']\n /**\n * @since 10.19.0\n */\n onClear?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void\n /**\n * @since 10.19.0\n */\n open?: boolean\n /**\n * @since 10.19.0\n */\n placeholder?: string\n /**\n * @since 10.19.0\n */\n qa?: Partial<QaTags>\n /**\n * @since 10.19.0\n */\n size?: ButtonProps['size']\n /**\n * @since 10.19.0\n */\n tabIndex?: number\n /**\n * @since 10.19.0\n */\n type?: ButtonProps['type']\n /**\n * @since 10.19.0\n */\n variant?: ButtonProps['variant']\n /**\n * @since 10.19.0\n */\n isMenuOpened?: boolean\n /**\n * @since 12.35.1\n */\n isListboxOnly?: boolean\n /**\n * @since 12.35.1\n */\n menuId?: string\n}\n"],"mappings":""}
|
package/dist/Select/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { Button as SelectButton, Select } from './Select';
|
|
2
2
|
export { StyledSelectArrow, StyledSelectArrowContainer, StyledSelectButton, StyledSelectButtonLabel, StyledSelectClearIcon, StyledSelectMenu, StyledSelectSpinner, } from './Select.styles';
|
|
3
|
-
export type { SelectButtonProps, SelectOptionProps, SelectProps, } from './Select.types';
|
|
3
|
+
export type { SelectButtonProps, SelectOptGroupProps, SelectOptionProps, SelectProps, } from './Select.types';
|
package/dist/Select/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Button","SelectButton","Select","StyledSelectArrow","StyledSelectArrowContainer","StyledSelectButton","StyledSelectButtonLabel","StyledSelectClearIcon","StyledSelectMenu","StyledSelectSpinner"],"sources":["../../src/Select/index.ts"],"sourcesContent":["export { Button as SelectButton, Select } from './Select'\nexport {\n StyledSelectArrow,\n StyledSelectArrowContainer,\n StyledSelectButton,\n StyledSelectButtonLabel,\n StyledSelectClearIcon,\n StyledSelectMenu,\n StyledSelectSpinner,\n} from './Select.styles'\nexport type {\n SelectButtonProps,\n SelectOptionProps,\n SelectProps,\n} from './Select.types'\n"],"mappings":"AAAA,SAASA,MAAM,IAAIC,YAAY,EAAEC,MAAM,QAAQ,UAAU;AACzD,SACEC,iBAAiB,EACjBC,0BAA0B,EAC1BC,kBAAkB,EAClBC,uBAAuB,EACvBC,qBAAqB,EACrBC,gBAAgB,EAChBC,mBAAmB,QACd,iBAAiB"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["Button","SelectButton","Select","StyledSelectArrow","StyledSelectArrowContainer","StyledSelectButton","StyledSelectButtonLabel","StyledSelectClearIcon","StyledSelectMenu","StyledSelectSpinner"],"sources":["../../src/Select/index.ts"],"sourcesContent":["export { Button as SelectButton, Select } from './Select'\nexport {\n StyledSelectArrow,\n StyledSelectArrowContainer,\n StyledSelectButton,\n StyledSelectButtonLabel,\n StyledSelectClearIcon,\n StyledSelectMenu,\n StyledSelectSpinner,\n} from './Select.styles'\nexport type {\n SelectButtonProps,\n SelectOptGroupProps,\n SelectOptionProps,\n SelectProps,\n} from './Select.types'\n"],"mappings":"AAAA,SAASA,MAAM,IAAIC,YAAY,EAAEC,MAAM,QAAQ,UAAU;AACzD,SACEC,iBAAiB,EACjBC,0BAA0B,EAC1BC,kBAAkB,EAClBC,uBAAuB,EACvBC,qBAAqB,EACrBC,gBAAgB,EAChBC,mBAAmB,QACd,iBAAiB"}
|