@procore/core-react 12.36.0 → 12.37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +25 -0
- package/dist/AnchorNavigation/AnchorNavigation.styles.js +3 -3
- package/dist/Avatar/Avatar.styles.js +5 -5
- package/dist/AvatarStack/AvatarStack.styles.js +7 -7
- package/dist/Badge/Badge.styles.js +2 -2
- package/dist/BadgePill/BadgePill.styles.js +4 -4
- package/dist/Banner/Banner.styles.js +10 -10
- package/dist/Box/Box.styles.js +1 -1
- package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
- package/dist/Button/Button.js +0 -1
- package/dist/Button/Button.js.map +1 -1
- 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.styles.js +6 -6
- package/dist/Checkbox/CheckboxTooltip.js +1 -1
- package/dist/ContactItem/ContactItem.styles.js +5 -5
- package/dist/Content/Content.styles.js +2 -2
- package/dist/DateInput/DateInput.js +2 -3
- package/dist/DateInput/DateInput.js.map +1 -1
- package/dist/DateInput/DateInput.styles.js +6 -6
- package/dist/DateSelect/DateSelect.js +1 -1
- package/dist/DateSelect/DateSelect.js.map +1 -1
- package/dist/DetailPage/DetailPage.styles.js +7 -7
- package/dist/Dropdown/Dropdown.js +0 -4
- package/dist/Dropdown/Dropdown.js.map +1 -1
- package/dist/Dropdown/Dropdown.styles.js +3 -3
- package/dist/DropdownFlyout/DropdownFlyout.js +8 -3
- package/dist/DropdownFlyout/DropdownFlyout.js.map +1 -1
- package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
- package/dist/DropdownFlyout/DropdownFlyout.types.d.ts +1 -0
- package/dist/DropdownFlyout/DropdownFlyout.types.js.map +1 -1
- package/dist/Dropzone/Dropzone.js +1 -1
- package/dist/Dropzone/Dropzone.styles.js +9 -9
- package/dist/EmptyState/EmptyState.styles.js +6 -6
- package/dist/Field/Field.styles.js +3 -3
- package/dist/FileList/FileList.styles.js +4 -4
- package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
- package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
- package/dist/FileSelect/FileSelect.styles.js +2 -2
- package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
- package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
- package/dist/FileSelect/GridSource/GridSource.js +2 -1
- package/dist/FileSelect/GridSource/GridSource.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.js +19 -16
- 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.styles.js +14 -14
- package/dist/Form/StyledFormikForm.styles.js +2 -2
- package/dist/GhostPlaceholder/GhostPlaceholder.styles.js +2 -2
- package/dist/Grid/Grid.styles.js +2 -2
- package/dist/GroupSelect/GroupSelect.styles.js +1 -1
- package/dist/Input/Input.styles.js +1 -1
- package/dist/Link/Link.styles.js +1 -1
- package/dist/ListPage/ListPage.styles.js +8 -8
- package/dist/Loader/Loader.styles.js +2 -2
- package/dist/MenuImperative/MenuImperative.styles.js +10 -10
- package/dist/Modal/Modal.styles.js +13 -13
- package/dist/MultiSelect/MultiSelect.js +3 -3
- package/dist/MultiSelect/MultiSelect.js.map +1 -1
- package/dist/MultiSelect/MultiSelect.styles.d.ts +7 -4
- package/dist/MultiSelect/MultiSelect.styles.js +18 -10
- package/dist/MultiSelect/MultiSelect.styles.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/PageLayout/PageLayout.styles.js +16 -16
- package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.styles.js +1 -1
- package/dist/PageTemplate/PageHeaderTemplate/PageHeaderTemplate.styles.js +3 -3
- package/dist/PageTemplate/PagePaneTemplate/PagePaneTemplate.styles.js +2 -2
- package/dist/PageTemplate/PageTemplate/PageTemplate.styles.js +3 -3
- package/dist/Pagination/Pagination.styles.js +5 -5
- package/dist/Panel/Panel.styles.js +11 -11
- package/dist/Pill/Pill.styles.js +3 -3
- package/dist/PillSelect/PillSelect.styles.js +4 -4
- package/dist/Popover/Popover.styles.js +2 -2
- package/dist/Portal/Portal.styles.js +1 -1
- package/dist/ProgressBar/ProgressBar.styles.js +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 +7 -7
- package/dist/SegmentedController/SegmentedController.js +1 -1
- package/dist/SegmentedController/SegmentedController.js.map +1 -1
- package/dist/SegmentedController/SegmentedController.styles.js +4 -4
- package/dist/Select/Select.js +15 -11
- package/dist/Select/Select.js.map +1 -1
- package/dist/Select/Select.styles.d.ts +5 -1
- package/dist/Select/Select.styles.js +45 -35
- package/dist/Select/Select.styles.js.map +1 -1
- package/dist/Semantic/Semantic.styles.d.ts +4 -4
- package/dist/Semantic/Semantic.styles.js +9 -9
- package/dist/Slider/Slider.styles.js +5 -5
- package/dist/Spinner/Spinner.styles.js +7 -7
- package/dist/SplitViewCard/SplitViewCard.styles.js +8 -8
- package/dist/SuperSelect/SuperSelect.components.js +16 -9
- 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 +39 -39
- package/dist/SuperSelect/SuperSelect.styles.js.map +1 -1
- package/dist/SuperSelect/SuperSelect.types.d.ts +4 -0
- package/dist/SuperSelect/SuperSelect.types.js.map +1 -1
- package/dist/SuperSelect/SuperSelect.utils.d.ts +2 -1
- package/dist/SuperSelect/SuperSelect.utils.js +17 -0
- package/dist/SuperSelect/SuperSelect.utils.js.map +1 -1
- package/dist/SuperSelect/useSuperSelect.d.ts +1 -1
- package/dist/SuperSelect/useSuperSelect.js +70 -41
- package/dist/SuperSelect/useSuperSelect.js.map +1 -1
- package/dist/Switch/Switch.styles.js +4 -4
- package/dist/Table/Table.styles.js +62 -59
- package/dist/Table/Table.styles.js.map +1 -1
- package/dist/TableShelf/TableShelf.styles.js +5 -5
- package/dist/Tabs/Tabs.styles.js +15 -15
- package/dist/Tearsheet/Tearsheet.styles.js +5 -5
- 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/TierSelectionTieredSelect.js +12 -2
- package/dist/TieredSelect/TierSelectionTieredSelect.js.map +1 -1
- package/dist/TieredSelect/TieredSelect.js +18 -5
- package/dist/TieredSelect/TieredSelect.js.map +1 -1
- package/dist/TieredSelect/TieredSelect.styles.js +9 -9
- package/dist/TieredSelect/TieredSelectMenu.js +9 -2
- package/dist/TieredSelect/TieredSelectMenu.js.map +1 -1
- 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.styles.js +2 -2
- package/dist/Tooltip/Tooltip.types.d.ts +4 -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 +0 -22
- package/dist/_locales/de-DE.json +2 -2
- package/dist/_locales/en-AU.json +1 -1
- package/dist/_locales/en-CA.json +1 -1
- package/dist/_locales/en-GB.json +1 -1
- package/dist/_locales/es-ES.json +1 -1
- package/dist/_locales/es.json +3 -3
- package/dist/_locales/fr-CA.json +2 -2
- package/dist/_locales/fr-FR.json +4 -4
- package/dist/_locales/is-IS.json +2 -2
- package/dist/_locales/it-IT.json +47 -47
- package/dist/_locales/ja-JP.json +4 -4
- package/dist/_locales/pl-PL.json +1 -1
- package/dist/_locales/pt-BR.json +4 -4
- package/dist/_locales/pt-PT.json +11 -11
- package/dist/_locales/th-TH.json +4 -4
- package/dist/_locales/zh-SG.json +1 -1
- package/dist/_locales/zh-TW.json +5 -5
- package/dist/_storyHelpers_/components/Deprecation.styles.js +1 -1
- package/dist/_storyHelpers_/components/StoryGrid.js +3 -3
- package/dist/_styles/colors.js +7 -3
- package/dist/_styles/colors.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 +13 -13
- package/dist/_typedoc/Box/Box.types.json +68 -68
- package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
- package/dist/_typedoc/Button/Button.types.json +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 +40 -30
- 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 +750 -750
- package/dist/_typedoc/GhostPlaceholder/GhostPlaceholder.types.json +12 -12
- package/dist/_typedoc/Grid/Grid.types.json +8 -8
- package/dist/_typedoc/GroupSelect/GroupSelect.types.json +52 -52
- package/dist/_typedoc/Input/Input.types.json +2 -2
- package/dist/_typedoc/Link/Link.types.json +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 +31 -31
- 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 +32 -32
- package/dist/_typedoc/PageLayout/PageLayout.types.json +26 -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 +60 -60
- package/dist/_typedoc/SettingsPage/SettingsPage.types.json +10 -10
- package/dist/_typedoc/Slider/Slider.types.json +6 -6
- package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
- package/dist/_typedoc/SplitViewCard/SplitViewCard.types.json +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 +23 -13
- 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/storybookTooltip.d.ts +2 -0
- package/dist/_utils/storybookTooltip.js +12 -0
- package/dist/_utils/storybookTooltip.js.map +1 -0
- package/dist/_utils/triggerListeners.js +2 -2
- package/dist/_utils/triggerListeners.js.map +1 -1
- package/package.json +1 -1
|
@@ -33,22 +33,22 @@ export function getSearchInputStyles() {
|
|
|
33
33
|
}
|
|
34
34
|
export var StyledInput = /*#__PURE__*/styled.input.withConfig({
|
|
35
35
|
displayName: "StyledInput",
|
|
36
|
-
componentId: "core-
|
|
36
|
+
componentId: "core-12_37_0__sc-3j8khv-0"
|
|
37
37
|
})(["", ""], getSearchInputStyles);
|
|
38
38
|
var StyledButton = /*#__PURE__*/styled(Button).withConfig({
|
|
39
39
|
displayName: "StyledButton",
|
|
40
|
-
componentId: "core-
|
|
40
|
+
componentId: "core-12_37_0__sc-3j8khv-1"
|
|
41
41
|
})(["position:absolute;top:", "px;"], buttonTop);
|
|
42
42
|
export var StyledSearchButton = /*#__PURE__*/styled(StyledButton).withConfig({
|
|
43
43
|
displayName: "StyledSearchButton",
|
|
44
|
-
componentId: "core-
|
|
44
|
+
componentId: "core-12_37_0__sc-3j8khv-2"
|
|
45
45
|
})([""]);
|
|
46
46
|
export var StyledClearButton = /*#__PURE__*/styled(StyledButton).withConfig({
|
|
47
47
|
displayName: "StyledClearButton",
|
|
48
|
-
componentId: "core-
|
|
48
|
+
componentId: "core-12_37_0__sc-3j8khv-3"
|
|
49
49
|
})([""]);
|
|
50
50
|
export var StyledSearch = /*#__PURE__*/styled.div.withConfig({
|
|
51
51
|
displayName: "StyledSearch",
|
|
52
|
-
componentId: "core-
|
|
52
|
+
componentId: "core-12_37_0__sc-3j8khv-4"
|
|
53
53
|
})(["position:relative;width:100%;", "{padding-right:", "px;}", "{right:", "px;}", "{right:", "px;}"], StyledInput, inputRight, StyledSearchButton, searchRight, StyledClearButton, clearRight);
|
|
54
54
|
//# sourceMappingURL=Search.styles.js.map
|
|
@@ -6,15 +6,15 @@ import { getFocus } from '../_styles/mixins';
|
|
|
6
6
|
import { spacing } from '../_styles/spacing';
|
|
7
7
|
export var StyledSectionBanner = /*#__PURE__*/styled.div.withConfig({
|
|
8
8
|
displayName: "StyledSectionBanner",
|
|
9
|
-
componentId: "core-
|
|
9
|
+
componentId: "core-12_37_0__sc-1lxbrwv-0"
|
|
10
10
|
})(["margin-bottom:", "px;> * + *{margin-top:", "px;}"], spacing.sm, spacing.sm);
|
|
11
11
|
export var StyledSectionInner = /*#__PURE__*/styled.div.withConfig({
|
|
12
12
|
displayName: "StyledSectionInner",
|
|
13
|
-
componentId: "core-
|
|
13
|
+
componentId: "core-12_37_0__sc-1lxbrwv-1"
|
|
14
14
|
})([""]);
|
|
15
15
|
export var StyledSectionCollapseHeading = /*#__PURE__*/styled.div.withConfig({
|
|
16
16
|
displayName: "StyledSectionCollapseHeading",
|
|
17
|
-
componentId: "core-
|
|
17
|
+
componentId: "core-12_37_0__sc-1lxbrwv-2"
|
|
18
18
|
})(["align-self:flex-start;margin-right:", "px;"], spacing.sm);
|
|
19
19
|
export var sectionClassnames = {
|
|
20
20
|
divide: 'section--divide',
|
|
@@ -25,11 +25,11 @@ export var sectionClassnames = {
|
|
|
25
25
|
};
|
|
26
26
|
export var StyledSection = /*#__PURE__*/styled.div.withConfig({
|
|
27
27
|
displayName: "StyledSection",
|
|
28
|
-
componentId: "core-
|
|
28
|
+
componentId: "core-12_37_0__sc-1lxbrwv-3"
|
|
29
29
|
})(["padding-left:", "px;padding-right:", "px;padding-bottom:", "px;& > ", "{padding-top:", "px;}&.", "{& > ", "{border-top:1px solid ", ";}}&:first-child > ", "{border-top:0;}& &{padding-left:0;padding-right:0;&:first-child > ", "{border-top:1px solid ", ";}&:last-child{padding-bottom:0;}}", ":last-of-type{margin-bottom:", "px;}", " + &&&{padding-top:", "px;}"], spacing.lg, spacing.lg, spacing.lg, StyledSectionInner, spacing.lg, sectionClassnames.divide, StyledSectionInner, colors.gray85, StyledSectionInner, StyledSectionInner, colors.gray85, StyledFormRow, spacing.lg * -1, StyledFormRow, spacing.xs);
|
|
30
30
|
export var StyledSectionContentRegion = /*#__PURE__*/styled.div.withConfig({
|
|
31
31
|
displayName: "StyledSectionContentRegion",
|
|
32
|
-
componentId: "core-
|
|
32
|
+
componentId: "core-12_37_0__sc-1lxbrwv-4"
|
|
33
33
|
})(["padding-top:", "px;&:focus-visible{", "}", " ", " & > :not(", ") + ", "{padding-top:", "px;}", " ", " &:last-of-type{padding-bottom:0;}"], spacing.sm, getFocus(), function (_ref) {
|
|
34
34
|
var $closed = _ref.$closed;
|
|
35
35
|
return $closed && css(["padding-top:0;"]);
|
|
@@ -39,10 +39,10 @@ export var StyledSectionContentRegion = /*#__PURE__*/styled.div.withConfig({
|
|
|
39
39
|
}, StyledSection, StyledSection, spacing.xl, StyledSection, StyledSection);
|
|
40
40
|
export var StyledSectionHeader = /*#__PURE__*/styled.div.withConfig({
|
|
41
41
|
displayName: "StyledSectionHeader",
|
|
42
|
-
componentId: "core-
|
|
42
|
+
componentId: "core-12_37_0__sc-1lxbrwv-5"
|
|
43
43
|
})(["align-items:center;display:flex;min-height:36px;word-break:break-word;"]);
|
|
44
44
|
export var StyledTitle = /*#__PURE__*/styled(Title).withConfig({
|
|
45
45
|
displayName: "StyledTitle",
|
|
46
|
-
componentId: "core-
|
|
46
|
+
componentId: "core-12_37_0__sc-1lxbrwv-6"
|
|
47
47
|
})(["width:100%;"]);
|
|
48
48
|
//# sourceMappingURL=Section.styles.js.map
|
|
@@ -236,7 +236,7 @@ export var Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(_ref7, ref)
|
|
|
236
236
|
return overlay ? /*#__PURE__*/React.createElement(TooltipBase, _extends({}, props, {
|
|
237
237
|
overlay: overlay,
|
|
238
238
|
ref: ref,
|
|
239
|
-
trigger:
|
|
239
|
+
trigger: ['hover', 'focus']
|
|
240
240
|
}), children) : /*#__PURE__*/React.createElement(React.Fragment, null, children);
|
|
241
241
|
});
|
|
242
242
|
var withState = function withState(config) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SegmentedController.js","names":["useFocusRing","useRadio","useRadioGroup","mergeProps","useId","VisuallyHidden","React","useRadioGroupState","Tooltip","TooltipBase","addSubcomponents","StyledContainer","StyledLabel","StyledSegment","StyledSegmentDisabledInteractiveWrapper","isSegment","node","isValidElement","type","Segment","determineSelectedState","_ref","active","selected","isSelected","undefined","RadioButtonContext","createContext","SegmentedController_","forwardRef","SegmentedController","_ref2","ref","ariaLabel","ariaLabelledby","children","_ref2$block","block","disabled","onChange","props","_objectWithoutProperties","_excluded","name","radioGroupState","isDisabled","rawValue","num","Number","value","isNaN","_useRadioGroup","orientation","radioGroupProps","createElement","_extends","$block","Provider","Children","toArray","filter","child","map","index","cloneElement","internalIndex","SegmentWithGroup","_ref3","_ref3$placement","placement","tooltip","state","_excluded2","adjustedValue","String","innerRef","useRef","actualRef","_useRadio","inputProps","_useFocusRing","focusProps","isFocusVisible","useEffect","setSelectedValue","overlay","$focused","$disabled","$selected","StandaloneSegment","_ref4","_ref5","_ref6","_ref4$placement","_excluded3","_useFocusRing2","isControlled","_React$useState","useState","_React$useState2","_slicedToArray","uncontrolledSelected","setUncontrolledSelected","handleChange","e","_props$onChange","target","checked","call","useContext","_ref7","_excluded4","trigger","Fragment","withState","config","Component","_React$useState3","_React$useState4","selectedIndex","setSelected","_objectSpread","State","_ref8","_excluded5","displayName"],"sources":["../../src/SegmentedController/SegmentedController.tsx"],"sourcesContent":["import { useFocusRing } from '@react-aria/focus'\nimport { useRadio, useRadioGroup } from '@react-aria/radio'\nimport { mergeProps, useId } from '@react-aria/utils'\nimport { VisuallyHidden } from '@react-aria/visually-hidden'\nimport React from 'react'\nimport type { RadioGroupState } from 'react-stately'\nimport { useRadioGroupState } from 'react-stately'\nimport { Tooltip as TooltipBase } from '../Tooltip/Tooltip'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport {\n StyledContainer,\n StyledLabel,\n StyledSegment,\n StyledSegmentDisabledInteractiveWrapper,\n} from './SegmentedController.styles'\nimport type {\n SegmentedControllerProps,\n SegmentedControllerSegmentProps,\n SegmentedControllerTooltipProps,\n} from './SegmentedController.types'\n\nfunction isSegment(\n node: unknown\n): node is React.ReactElement<HTMLInputElement> {\n return (\n React.isValidElement(node as React.ReactElement) &&\n (node as React.ReactElement).type === Segment\n )\n}\n\nexport function determineSelectedState({\n active,\n selected,\n isSelected,\n}: {\n active?: boolean\n isSelected: boolean\n selected?: boolean\n}): boolean {\n // Selected is a prop, so it should be the source of truth\n if (selected !== undefined) {\n return selected\n }\n // Active is a prop, so it should be the source of truth\n if (active !== undefined) {\n return active\n }\n // If neither props are passed in, use the react-stately state\n return isSelected\n}\n\nconst RadioButtonContext = React.createContext<RadioGroupState | null>(null)\n\nconst SegmentedController_ = React.forwardRef<\n HTMLDivElement,\n SegmentedControllerProps\n>(function SegmentedController(\n {\n // TODO make label props required in type?\n // React Aria logs warnings without 1 of 2. Axe does not fail\n ['aria-label']: ariaLabel,\n ['aria-labelledby']: ariaLabelledby,\n children,\n block = false,\n disabled,\n onChange,\n ...props\n },\n ref\n) {\n const name = useId()\n const radioGroupState = useRadioGroupState({\n name,\n isDisabled: disabled,\n onChange: (rawValue) => {\n const num = Number(rawValue)\n const value = !isNaN(num) ? num : rawValue\n onChange?.(value as number)\n },\n })\n const { radioGroupProps } = useRadioGroup(\n {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n orientation: 'horizontal',\n },\n radioGroupState\n )\n return (\n <StyledContainer ref={ref} $block={block} {...radioGroupProps} {...props}>\n <RadioButtonContext.Provider value={radioGroupState}>\n {React.Children.toArray(children)\n .filter((child) => isSegment(child))\n .map((child, index) =>\n React.cloneElement(child as React.ReactElement, {\n internalIndex: index,\n })\n )}\n </RadioButtonContext.Provider>\n </StyledContainer>\n )\n})\n\n// Segment with RadioGroup context\nconst SegmentWithGroup = React.forwardRef<\n HTMLInputElement,\n React.InputHTMLAttributes<HTMLInputElement> &\n SegmentedControllerSegmentProps & { state: RadioGroupState }\n>(function SegmentWithGroup(\n {\n active,\n children,\n placement = 'top',\n tooltip,\n disabled,\n value,\n internalIndex,\n selected,\n state,\n ...props\n },\n ref\n) {\n const adjustedValue = String(value ?? internalIndex)\n const innerRef = React.useRef<HTMLInputElement>(null)\n const actualRef = ref ?? innerRef\n\n const { inputProps, isSelected, isDisabled } = useRadio(\n {\n isDisabled: disabled ?? state.isDisabled,\n value: adjustedValue as string,\n children,\n },\n state,\n actualRef as unknown as React.RefObject<HTMLInputElement>\n )\n const { focusProps, isFocusVisible } = useFocusRing()\n\n React.useEffect(() => {\n if (active || selected) {\n state.setSelectedValue(adjustedValue)\n }\n }, [active, state, adjustedValue, selected])\n\n return (\n <Tooltip overlay={tooltip} placement={placement}>\n <StyledSegmentDisabledInteractiveWrapper>\n <StyledSegment\n $focused={isFocusVisible}\n $disabled={isDisabled}\n $selected={determineSelectedState({ active, selected, isSelected })}\n >\n <VisuallyHidden>\n <input\n {...mergeProps(props, inputProps, focusProps)}\n ref={actualRef}\n />\n </VisuallyHidden>\n <StyledLabel>{children}</StyledLabel>\n </StyledSegment>\n </StyledSegmentDisabledInteractiveWrapper>\n </Tooltip>\n )\n})\n\n// Standalone segment\nconst StandaloneSegment = React.forwardRef<\n HTMLInputElement,\n React.InputHTMLAttributes<HTMLInputElement> & SegmentedControllerSegmentProps\n>(function StandaloneSegment(\n {\n active,\n children,\n placement = 'top',\n tooltip,\n disabled,\n value,\n internalIndex,\n selected,\n ...props\n },\n ref\n) {\n const adjustedValue = String(value ?? internalIndex)\n const innerRef = React.useRef<HTMLInputElement>(null)\n const actualRef = ref ?? innerRef\n const { focusProps, isFocusVisible } = useFocusRing()\n\n const isControlled = selected !== undefined || active !== undefined\n const [uncontrolledSelected, setUncontrolledSelected] = React.useState(\n selected ?? active ?? false\n )\n const isSelected = selected ?? active ?? uncontrolledSelected\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (!isControlled) {\n setUncontrolledSelected(e.target.checked)\n }\n props.onChange?.(e)\n }\n\n return (\n <Tooltip overlay={tooltip} placement={placement}>\n <StyledSegmentDisabledInteractiveWrapper>\n <StyledSegment\n $focused={isFocusVisible}\n $disabled={disabled ?? false}\n $selected={isSelected}\n >\n <VisuallyHidden>\n <input\n {...mergeProps(props, focusProps)}\n ref={actualRef}\n type=\"radio\"\n value={adjustedValue}\n checked={isSelected}\n disabled={disabled}\n onChange={handleChange}\n />\n </VisuallyHidden>\n <StyledLabel>{children}</StyledLabel>\n </StyledSegment>\n </StyledSegmentDisabledInteractiveWrapper>\n </Tooltip>\n )\n})\n\n// Wrapper that chooses the right implementation\nexport const Segment = React.forwardRef<\n HTMLInputElement,\n React.InputHTMLAttributes<HTMLInputElement> & SegmentedControllerSegmentProps\n>(function Segment(props, ref) {\n const state = React.useContext(RadioButtonContext)\n\n if (state) {\n return <SegmentWithGroup {...props} state={state} ref={ref} />\n }\n\n return <StandaloneSegment {...props} ref={ref} />\n})\n\n/**\n * @deprecated\n *\n * The `SegmentedController.Tooltip` component has been deprecated will be\n * removed in a future version.\n *\n * Tooltips are now built into `SegmentedController.Segment`s, and can be added\n * by configuring the `tooltip` prop.\n *\n * **Before**\n *\n * ```\n * <SegmentedController>\n * <SegmentedController.Tooltip tooltip=\"Item 1 is the first item\">\n * <SegmentedController.Segment>\n * Item 1\n * </SegmentedController.Segment>\n * </SegmentedController.Tooltip>\n * </SegmentedController>\n * ```\n *\n * **After**\n *\n * ```\n * <SegmentedController>\n * <SegmentedController.Segment tooltip=\"Item 1 is the first item\">\n * Item 1\n * </SegmentedController.Segment>\n * </SegmentedController>\n * ```\n *\n * @deprecatedSince 10.20.0\n */\nexport const Tooltip = React.forwardRef<\n HTMLElement,\n SegmentedControllerTooltipProps\n>(function Tooltip({ children, overlay, ...props }, ref) {\n return overlay ? (\n <TooltipBase {...props} overlay={overlay} ref={ref} trigger=\"hover\">\n {children}\n </TooltipBase>\n ) : (\n <>{children}</>\n )\n})\n\nconst withState = (config: any) => (Component: any) => (props: any) => {\n const [selectedIndex, setSelected] = React.useState(0)\n\n return <Component {...{ ...props, selectedIndex, setSelected }} />\n}\n\n/**\n * @deprecated\n *\n * This `SegmentedController.State` utility has been deprecated. Please just\n * use a simple state management hook instead.\n *\n *\n * **Before**\n *\n * ```\n * <SegmentedController.State>\n * {({ selectedIndex, setSelected }) => (\n * <SegmentedController>\n * <SegmentedController.Segment onClick={() => setSelected(0)} active={selectedIndex === 0}>\n * Item 1\n * </SegmentedController.Segment>\n * </SegmentedController>\n * )}\n * </SegmentedController.State>\n * ```\n *\n * **After**\n *\n * ```\n * const [selected, setSelected] = React.useState(0)\n *\n * <SegmentedController onChange={setSelected}>\n * <SegmentedController.Segment active={selectedIndex === 0}>\n * Item 1\n * </SegmentedController.Segment>\n * </SegmentedController>\n * ```\n *\n * @deprecatedSince 10.20.0\n */\nexport const State = withState({})(({ children, ...props }: any) =>\n children(props)\n)\n\nSegmentedController_.displayName = 'SegmentedController'\n\nSegment.displayName = 'SegmentedController.Segment'\n\nTooltip.displayName = 'SegmentedController.Tooltip'\n\n/**\n\n Segmented controllers allow users to switch between related but mutually\n exclusive content or actions.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-segmentedcontroller--demo)\n\n @see [Design Guidelines](https://design.procore.com/segmented-controller)\n\n */\nexport const SegmentedController = addSubcomponents(\n {\n Segment,\n State,\n Tooltip,\n },\n SegmentedController_\n)\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SegmentedController.js","names":["useFocusRing","useRadio","useRadioGroup","mergeProps","useId","VisuallyHidden","React","useRadioGroupState","Tooltip","TooltipBase","addSubcomponents","StyledContainer","StyledLabel","StyledSegment","StyledSegmentDisabledInteractiveWrapper","isSegment","node","isValidElement","type","Segment","determineSelectedState","_ref","active","selected","isSelected","undefined","RadioButtonContext","createContext","SegmentedController_","forwardRef","SegmentedController","_ref2","ref","ariaLabel","ariaLabelledby","children","_ref2$block","block","disabled","onChange","props","_objectWithoutProperties","_excluded","name","radioGroupState","isDisabled","rawValue","num","Number","value","isNaN","_useRadioGroup","orientation","radioGroupProps","createElement","_extends","$block","Provider","Children","toArray","filter","child","map","index","cloneElement","internalIndex","SegmentWithGroup","_ref3","_ref3$placement","placement","tooltip","state","_excluded2","adjustedValue","String","innerRef","useRef","actualRef","_useRadio","inputProps","_useFocusRing","focusProps","isFocusVisible","useEffect","setSelectedValue","overlay","$focused","$disabled","$selected","StandaloneSegment","_ref4","_ref5","_ref6","_ref4$placement","_excluded3","_useFocusRing2","isControlled","_React$useState","useState","_React$useState2","_slicedToArray","uncontrolledSelected","setUncontrolledSelected","handleChange","e","_props$onChange","target","checked","call","useContext","_ref7","_excluded4","trigger","Fragment","withState","config","Component","_React$useState3","_React$useState4","selectedIndex","setSelected","_objectSpread","State","_ref8","_excluded5","displayName"],"sources":["../../src/SegmentedController/SegmentedController.tsx"],"sourcesContent":["import { useFocusRing } from '@react-aria/focus'\nimport { useRadio, useRadioGroup } from '@react-aria/radio'\nimport { mergeProps, useId } from '@react-aria/utils'\nimport { VisuallyHidden } from '@react-aria/visually-hidden'\nimport React from 'react'\nimport type { RadioGroupState } from 'react-stately'\nimport { useRadioGroupState } from 'react-stately'\nimport { Tooltip as TooltipBase } from '../Tooltip/Tooltip'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport {\n StyledContainer,\n StyledLabel,\n StyledSegment,\n StyledSegmentDisabledInteractiveWrapper,\n} from './SegmentedController.styles'\nimport type {\n SegmentedControllerProps,\n SegmentedControllerSegmentProps,\n SegmentedControllerTooltipProps,\n} from './SegmentedController.types'\n\nfunction isSegment(\n node: unknown\n): node is React.ReactElement<HTMLInputElement> {\n return (\n React.isValidElement(node as React.ReactElement) &&\n (node as React.ReactElement).type === Segment\n )\n}\n\nexport function determineSelectedState({\n active,\n selected,\n isSelected,\n}: {\n active?: boolean\n isSelected: boolean\n selected?: boolean\n}): boolean {\n // Selected is a prop, so it should be the source of truth\n if (selected !== undefined) {\n return selected\n }\n // Active is a prop, so it should be the source of truth\n if (active !== undefined) {\n return active\n }\n // If neither props are passed in, use the react-stately state\n return isSelected\n}\n\nconst RadioButtonContext = React.createContext<RadioGroupState | null>(null)\n\nconst SegmentedController_ = React.forwardRef<\n HTMLDivElement,\n SegmentedControllerProps\n>(function SegmentedController(\n {\n // TODO make label props required in type?\n // React Aria logs warnings without 1 of 2. Axe does not fail\n ['aria-label']: ariaLabel,\n ['aria-labelledby']: ariaLabelledby,\n children,\n block = false,\n disabled,\n onChange,\n ...props\n },\n ref\n) {\n const name = useId()\n const radioGroupState = useRadioGroupState({\n name,\n isDisabled: disabled,\n onChange: (rawValue) => {\n const num = Number(rawValue)\n const value = !isNaN(num) ? num : rawValue\n onChange?.(value as number)\n },\n })\n const { radioGroupProps } = useRadioGroup(\n {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n orientation: 'horizontal',\n },\n radioGroupState\n )\n return (\n <StyledContainer ref={ref} $block={block} {...radioGroupProps} {...props}>\n <RadioButtonContext.Provider value={radioGroupState}>\n {React.Children.toArray(children)\n .filter((child) => isSegment(child))\n .map((child, index) =>\n React.cloneElement(child as React.ReactElement, {\n internalIndex: index,\n })\n )}\n </RadioButtonContext.Provider>\n </StyledContainer>\n )\n})\n\n// Segment with RadioGroup context\nconst SegmentWithGroup = React.forwardRef<\n HTMLInputElement,\n React.InputHTMLAttributes<HTMLInputElement> &\n SegmentedControllerSegmentProps & { state: RadioGroupState }\n>(function SegmentWithGroup(\n {\n active,\n children,\n placement = 'top',\n tooltip,\n disabled,\n value,\n internalIndex,\n selected,\n state,\n ...props\n },\n ref\n) {\n const adjustedValue = String(value ?? internalIndex)\n const innerRef = React.useRef<HTMLInputElement>(null)\n const actualRef = ref ?? innerRef\n\n const { inputProps, isSelected, isDisabled } = useRadio(\n {\n isDisabled: disabled ?? state.isDisabled,\n value: adjustedValue as string,\n children,\n },\n state,\n actualRef as unknown as React.RefObject<HTMLInputElement>\n )\n const { focusProps, isFocusVisible } = useFocusRing()\n\n React.useEffect(() => {\n if (active || selected) {\n state.setSelectedValue(adjustedValue)\n }\n }, [active, state, adjustedValue, selected])\n\n return (\n <Tooltip overlay={tooltip} placement={placement}>\n <StyledSegmentDisabledInteractiveWrapper>\n <StyledSegment\n $focused={isFocusVisible}\n $disabled={isDisabled}\n $selected={determineSelectedState({ active, selected, isSelected })}\n >\n <VisuallyHidden>\n <input\n {...mergeProps(props, inputProps, focusProps)}\n ref={actualRef}\n />\n </VisuallyHidden>\n <StyledLabel>{children}</StyledLabel>\n </StyledSegment>\n </StyledSegmentDisabledInteractiveWrapper>\n </Tooltip>\n )\n})\n\n// Standalone segment\nconst StandaloneSegment = React.forwardRef<\n HTMLInputElement,\n React.InputHTMLAttributes<HTMLInputElement> & SegmentedControllerSegmentProps\n>(function StandaloneSegment(\n {\n active,\n children,\n placement = 'top',\n tooltip,\n disabled,\n value,\n internalIndex,\n selected,\n ...props\n },\n ref\n) {\n const adjustedValue = String(value ?? internalIndex)\n const innerRef = React.useRef<HTMLInputElement>(null)\n const actualRef = ref ?? innerRef\n const { focusProps, isFocusVisible } = useFocusRing()\n\n const isControlled = selected !== undefined || active !== undefined\n const [uncontrolledSelected, setUncontrolledSelected] = React.useState(\n selected ?? active ?? false\n )\n const isSelected = selected ?? active ?? uncontrolledSelected\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (!isControlled) {\n setUncontrolledSelected(e.target.checked)\n }\n props.onChange?.(e)\n }\n\n return (\n <Tooltip overlay={tooltip} placement={placement}>\n <StyledSegmentDisabledInteractiveWrapper>\n <StyledSegment\n $focused={isFocusVisible}\n $disabled={disabled ?? false}\n $selected={isSelected}\n >\n <VisuallyHidden>\n <input\n {...mergeProps(props, focusProps)}\n ref={actualRef}\n type=\"radio\"\n value={adjustedValue}\n checked={isSelected}\n disabled={disabled}\n onChange={handleChange}\n />\n </VisuallyHidden>\n <StyledLabel>{children}</StyledLabel>\n </StyledSegment>\n </StyledSegmentDisabledInteractiveWrapper>\n </Tooltip>\n )\n})\n\n// Wrapper that chooses the right implementation\nexport const Segment = React.forwardRef<\n HTMLInputElement,\n React.InputHTMLAttributes<HTMLInputElement> & SegmentedControllerSegmentProps\n>(function Segment(props, ref) {\n const state = React.useContext(RadioButtonContext)\n\n if (state) {\n return <SegmentWithGroup {...props} state={state} ref={ref} />\n }\n\n return <StandaloneSegment {...props} ref={ref} />\n})\n\n/**\n * @deprecated\n *\n * The `SegmentedController.Tooltip` component has been deprecated will be\n * removed in a future version.\n *\n * Tooltips are now built into `SegmentedController.Segment`s, and can be added\n * by configuring the `tooltip` prop.\n *\n * **Before**\n *\n * ```\n * <SegmentedController>\n * <SegmentedController.Tooltip tooltip=\"Item 1 is the first item\">\n * <SegmentedController.Segment>\n * Item 1\n * </SegmentedController.Segment>\n * </SegmentedController.Tooltip>\n * </SegmentedController>\n * ```\n *\n * **After**\n *\n * ```\n * <SegmentedController>\n * <SegmentedController.Segment tooltip=\"Item 1 is the first item\">\n * Item 1\n * </SegmentedController.Segment>\n * </SegmentedController>\n * ```\n *\n * @deprecatedSince 10.20.0\n */\nexport const Tooltip = React.forwardRef<\n HTMLElement,\n SegmentedControllerTooltipProps\n>(function Tooltip({ children, overlay, ...props }, ref) {\n return overlay ? (\n <TooltipBase\n {...props}\n overlay={overlay}\n ref={ref}\n trigger={['hover', 'focus']}\n >\n {children}\n </TooltipBase>\n ) : (\n <>{children}</>\n )\n})\n\nconst withState = (config: any) => (Component: any) => (props: any) => {\n const [selectedIndex, setSelected] = React.useState(0)\n\n return <Component {...{ ...props, selectedIndex, setSelected }} />\n}\n\n/**\n * @deprecated\n *\n * This `SegmentedController.State` utility has been deprecated. Please just\n * use a simple state management hook instead.\n *\n *\n * **Before**\n *\n * ```\n * <SegmentedController.State>\n * {({ selectedIndex, setSelected }) => (\n * <SegmentedController>\n * <SegmentedController.Segment onClick={() => setSelected(0)} active={selectedIndex === 0}>\n * Item 1\n * </SegmentedController.Segment>\n * </SegmentedController>\n * )}\n * </SegmentedController.State>\n * ```\n *\n * **After**\n *\n * ```\n * const [selected, setSelected] = React.useState(0)\n *\n * <SegmentedController onChange={setSelected}>\n * <SegmentedController.Segment active={selectedIndex === 0}>\n * Item 1\n * </SegmentedController.Segment>\n * </SegmentedController>\n * ```\n *\n * @deprecatedSince 10.20.0\n */\nexport const State = withState({})(({ children, ...props }: any) =>\n children(props)\n)\n\nSegmentedController_.displayName = 'SegmentedController'\n\nSegment.displayName = 'SegmentedController.Segment'\n\nTooltip.displayName = 'SegmentedController.Tooltip'\n\n/**\n\n Segmented controllers allow users to switch between related but mutually\n exclusive content or actions.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-segmentedcontroller--demo)\n\n @see [Design Guidelines](https://design.procore.com/segmented-controller)\n\n */\nexport const SegmentedController = addSubcomponents(\n {\n Segment,\n State,\n Tooltip,\n },\n SegmentedController_\n)\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,SAASA,YAAY,QAAQ,mBAAmB;AAChD,SAASC,QAAQ,EAAEC,aAAa,QAAQ,mBAAmB;AAC3D,SAASC,UAAU,EAAEC,KAAK,QAAQ,mBAAmB;AACrD,SAASC,cAAc,QAAQ,6BAA6B;AAC5D,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,kBAAkB,QAAQ,eAAe;AAClD,SAASC,OAAO,IAAIC,WAAW,QAAQ,oBAAoB;AAC3D,SAASC,gBAAgB,QAAQ,4BAA4B;AAC7D,SACEC,eAAe,EACfC,WAAW,EACXC,aAAa,EACbC,uCAAuC,QAClC,8BAA8B;AAOrC,SAASC,SAASA,CAChBC,IAAa,EACiC;EAC9C,OACE,aAAAV,KAAK,CAACW,cAAc,CAACD,IAA0B,CAAC,IAC/CA,IAAI,CAAwBE,IAAI,KAAKC,OAAO;AAEjD;AAEA,OAAO,SAASC,sBAAsBA,CAAAC,IAAA,EAQ1B;EAAA,IAPVC,MAAM,GAAAD,IAAA,CAANC,MAAM;IACNC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IACRC,UAAU,GAAAH,IAAA,CAAVG,UAAU;EAMV;EACA,IAAID,QAAQ,KAAKE,SAAS,EAAE;IAC1B,OAAOF,QAAQ;EACjB;EACA;EACA,IAAID,MAAM,KAAKG,SAAS,EAAE;IACxB,OAAOH,MAAM;EACf;EACA;EACA,OAAOE,UAAU;AACnB;AAEA,IAAME,kBAAkB,gBAAGpB,KAAK,CAACqB,aAAa,CAAyB,IAAI,CAAC;AAE5E,IAAMC,oBAAoB,gBAAGtB,KAAK,CAACuB,UAAU,CAG3C,SAASC,mBAAmBA,CAAAC,KAAA,EAY5BC,GAAG,EACH;EAAA,IATkBC,SAAS,GAAAF,KAAA,CAAxB,YAAY;IACQG,cAAc,GAAAH,KAAA,CAAlC,iBAAiB;IAClBI,QAAQ,GAAAJ,KAAA,CAARI,QAAQ;IAAAC,WAAA,GAAAL,KAAA,CACRM,KAAK;IAALA,KAAK,GAAAD,WAAA,cAAG,KAAK,GAAAA,WAAA;IACbE,QAAQ,GAAAP,KAAA,CAARO,QAAQ;IACRC,SAAQ,GAAAR,KAAA,CAARQ,QAAQ;IACLC,KAAK,GAAAC,wBAAA,CAAAV,KAAA,EAAAW,SAAA;EAIV,IAAMC,IAAI,GAAGvC,KAAK,CAAC,CAAC;EACpB,IAAMwC,eAAe,GAAGrC,kBAAkB,CAAC;IACzCoC,IAAI,EAAJA,IAAI;IACJE,UAAU,EAAEP,QAAQ;IACpBC,QAAQ,EAAE,SAAVA,QAAQA,CAAGO,QAAQ,EAAK;MACtB,IAAMC,GAAG,GAAGC,MAAM,CAACF,QAAQ,CAAC;MAC5B,IAAMG,KAAK,GAAG,CAACC,KAAK,CAACH,GAAG,CAAC,GAAGA,GAAG,GAAGD,QAAQ;MAC1CP,SAAQ,aAARA,SAAQ,uBAARA,SAAQ,CAAGU,KAAe,CAAC;IAC7B;EACF,CAAC,CAAC;EACF,IAAAE,cAAA,GAA4BjD,aAAa,CACvC;MACE,YAAY,EAAE+B,SAAS;MACvB,iBAAiB,EAAEC,cAAc;MACjCkB,WAAW,EAAE;IACf,CAAC,EACDR,eACF,CAAC;IAPOS,eAAe,GAAAF,cAAA,CAAfE,eAAe;EAQvB,oBACE/C,KAAA,CAAAgD,aAAA,CAAC3C,eAAe,EAAA4C,QAAA;IAACvB,GAAG,EAAEA,GAAI;IAACwB,MAAM,EAAEnB;EAAM,GAAKgB,eAAe,EAAMb,KAAK,gBACtElC,KAAA,CAAAgD,aAAA,CAAC5B,kBAAkB,CAAC+B,QAAQ;IAACR,KAAK,EAAEL;EAAgB,GACjDtC,KAAK,CAACoD,QAAQ,CAACC,OAAO,CAACxB,QAAQ,CAAC,CAC9ByB,MAAM,CAAC,UAACC,KAAK;IAAA,OAAK9C,SAAS,CAAC8C,KAAK,CAAC;EAAA,EAAC,CACnCC,GAAG,CAAC,UAACD,KAAK,EAAEE,KAAK;IAAA,oBAChBzD,KAAK,CAAC0D,YAAY,CAACH,KAAK,EAAwB;MAC9CI,aAAa,EAAEF;IACjB,CAAC,CAAC;EAAA,CACJ,CACyB,CACd,CAAC;AAEtB,CAAC,CAAC;;AAEF;AACA,IAAMG,gBAAgB,gBAAG5D,KAAK,CAACuB,UAAU,CAIvC,SAASqC,gBAAgBA,CAAAC,KAAA,EAazBnC,GAAG,EACH;EAAA,IAZEV,MAAM,GAAA6C,KAAA,CAAN7C,MAAM;IACNa,QAAQ,GAAAgC,KAAA,CAARhC,QAAQ;IAAAiC,eAAA,GAAAD,KAAA,CACRE,SAAS;IAATA,SAAS,GAAAD,eAAA,cAAG,KAAK,GAAAA,eAAA;IACjBE,OAAO,GAAAH,KAAA,CAAPG,OAAO;IACPhC,QAAQ,GAAA6B,KAAA,CAAR7B,QAAQ;IACRW,KAAK,GAAAkB,KAAA,CAALlB,KAAK;IACLgB,aAAa,GAAAE,KAAA,CAAbF,aAAa;IACb1C,QAAQ,GAAA4C,KAAA,CAAR5C,QAAQ;IACRgD,KAAK,GAAAJ,KAAA,CAALI,KAAK;IACF/B,KAAK,GAAAC,wBAAA,CAAA0B,KAAA,EAAAK,UAAA;EAIV,IAAMC,aAAa,GAAGC,MAAM,CAACzB,KAAK,aAALA,KAAK,cAALA,KAAK,GAAIgB,aAAa,CAAC;EACpD,IAAMU,QAAQ,GAAGrE,KAAK,CAACsE,MAAM,CAAmB,IAAI,CAAC;EACrD,IAAMC,SAAS,GAAG7C,GAAG,aAAHA,GAAG,cAAHA,GAAG,GAAI2C,QAAQ;EAEjC,IAAAG,SAAA,GAA+C7E,QAAQ,CACrD;MACE4C,UAAU,EAAEP,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAIiC,KAAK,CAAC1B,UAAU;MACxCI,KAAK,EAAEwB,aAAuB;MAC9BtC,QAAQ,EAARA;IACF,CAAC,EACDoC,KAAK,EACLM,SACF,CAAC;IAROE,UAAU,GAAAD,SAAA,CAAVC,UAAU;IAAEvD,UAAU,GAAAsD,SAAA,CAAVtD,UAAU;IAAEqB,UAAU,GAAAiC,SAAA,CAAVjC,UAAU;EAS1C,IAAAmC,aAAA,GAAuChF,YAAY,CAAC,CAAC;IAA7CiF,UAAU,GAAAD,aAAA,CAAVC,UAAU;IAAEC,cAAc,GAAAF,aAAA,CAAdE,cAAc;EAElC5E,KAAK,CAAC6E,SAAS,CAAC,YAAM;IACpB,IAAI7D,MAAM,IAAIC,QAAQ,EAAE;MACtBgD,KAAK,CAACa,gBAAgB,CAACX,aAAa,CAAC;IACvC;EACF,CAAC,EAAE,CAACnD,MAAM,EAAEiD,KAAK,EAAEE,aAAa,EAAElD,QAAQ,CAAC,CAAC;EAE5C,oBACEjB,KAAA,CAAAgD,aAAA,CAAC9C,OAAO;IAAC6E,OAAO,EAAEf,OAAQ;IAACD,SAAS,EAAEA;EAAU,gBAC9C/D,KAAA,CAAAgD,aAAA,CAACxC,uCAAuC,qBACtCR,KAAA,CAAAgD,aAAA,CAACzC,aAAa;IACZyE,QAAQ,EAAEJ,cAAe;IACzBK,SAAS,EAAE1C,UAAW;IACtB2C,SAAS,EAAEpE,sBAAsB,CAAC;MAAEE,MAAM,EAANA,MAAM;MAAEC,QAAQ,EAARA,QAAQ;MAAEC,UAAU,EAAVA;IAAW,CAAC;EAAE,gBAEpElB,KAAA,CAAAgD,aAAA,CAACjD,cAAc,qBACbC,KAAA,CAAAgD,aAAA,UAAAC,QAAA,KACMpD,UAAU,CAACqC,KAAK,EAAEuC,UAAU,EAAEE,UAAU,CAAC;IAC7CjD,GAAG,EAAE6C;EAAU,EAChB,CACa,CAAC,eACjBvE,KAAA,CAAAgD,aAAA,CAAC1C,WAAW,QAAEuB,QAAsB,CACvB,CACwB,CAClC,CAAC;AAEd,CAAC,CAAC;;AAEF;AACA,IAAMsD,iBAAiB,gBAAGnF,KAAK,CAACuB,UAAU,CAGxC,SAAS4D,iBAAiBA,CAAAC,KAAA,EAY1B1D,GAAG,EACH;EAAA,IAAA2D,KAAA,EAAAC,KAAA;EAAA,IAXEtE,MAAM,GAAAoE,KAAA,CAANpE,MAAM;IACNa,QAAQ,GAAAuD,KAAA,CAARvD,QAAQ;IAAA0D,eAAA,GAAAH,KAAA,CACRrB,SAAS;IAATA,SAAS,GAAAwB,eAAA,cAAG,KAAK,GAAAA,eAAA;IACjBvB,OAAO,GAAAoB,KAAA,CAAPpB,OAAO;IACPhC,QAAQ,GAAAoD,KAAA,CAARpD,QAAQ;IACRW,KAAK,GAAAyC,KAAA,CAALzC,KAAK;IACLgB,aAAa,GAAAyB,KAAA,CAAbzB,aAAa;IACb1C,QAAQ,GAAAmE,KAAA,CAARnE,QAAQ;IACLiB,KAAK,GAAAC,wBAAA,CAAAiD,KAAA,EAAAI,UAAA;EAIV,IAAMrB,aAAa,GAAGC,MAAM,CAACzB,KAAK,aAALA,KAAK,cAALA,KAAK,GAAIgB,aAAa,CAAC;EACpD,IAAMU,QAAQ,GAAGrE,KAAK,CAACsE,MAAM,CAAmB,IAAI,CAAC;EACrD,IAAMC,SAAS,GAAG7C,GAAG,aAAHA,GAAG,cAAHA,GAAG,GAAI2C,QAAQ;EACjC,IAAAoB,cAAA,GAAuC/F,YAAY,CAAC,CAAC;IAA7CiF,UAAU,GAAAc,cAAA,CAAVd,UAAU;IAAEC,cAAc,GAAAa,cAAA,CAAdb,cAAc;EAElC,IAAMc,YAAY,GAAGzE,QAAQ,KAAKE,SAAS,IAAIH,MAAM,KAAKG,SAAS;EACnE,IAAAwE,eAAA,GAAwD3F,KAAK,CAAC4F,QAAQ,EAAAP,KAAA,GACpEpE,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAID,MAAM,cAAAqE,KAAA,cAAAA,KAAA,GAAI,KACxB,CAAC;IAAAQ,gBAAA,GAAAC,cAAA,CAAAH,eAAA;IAFMI,oBAAoB,GAAAF,gBAAA;IAAEG,uBAAuB,GAAAH,gBAAA;EAGpD,IAAM3E,UAAU,IAAAoE,KAAA,GAAGrE,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAID,MAAM,cAAAsE,KAAA,cAAAA,KAAA,GAAIS,oBAAoB;EAE7D,IAAME,YAAY,GAAG,SAAfA,YAAYA,CAAIC,CAAsC,EAAK;IAAA,IAAAC,eAAA;IAC/D,IAAI,CAACT,YAAY,EAAE;MACjBM,uBAAuB,CAACE,CAAC,CAACE,MAAM,CAACC,OAAO,CAAC;IAC3C;IACA,CAAAF,eAAA,GAAAjE,KAAK,CAACD,QAAQ,cAAAkE,eAAA,uBAAdA,eAAA,CAAAG,IAAA,CAAApE,KAAK,EAAYgE,CAAC,CAAC;EACrB,CAAC;EAED,oBACElG,KAAA,CAAAgD,aAAA,CAAC9C,OAAO;IAAC6E,OAAO,EAAEf,OAAQ;IAACD,SAAS,EAAEA;EAAU,gBAC9C/D,KAAA,CAAAgD,aAAA,CAACxC,uCAAuC,qBACtCR,KAAA,CAAAgD,aAAA,CAACzC,aAAa;IACZyE,QAAQ,EAAEJ,cAAe;IACzBK,SAAS,EAAEjD,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAI,KAAM;IAC7BkD,SAAS,EAAEhE;EAAW,gBAEtBlB,KAAA,CAAAgD,aAAA,CAACjD,cAAc,qBACbC,KAAA,CAAAgD,aAAA,UAAAC,QAAA,KACMpD,UAAU,CAACqC,KAAK,EAAEyC,UAAU,CAAC;IACjCjD,GAAG,EAAE6C,SAAU;IACf3D,IAAI,EAAC,OAAO;IACZ+B,KAAK,EAAEwB,aAAc;IACrBkC,OAAO,EAAEnF,UAAW;IACpBc,QAAQ,EAAEA,QAAS;IACnBC,QAAQ,EAAEgE;EAAa,EACxB,CACa,CAAC,eACjBjG,KAAA,CAAAgD,aAAA,CAAC1C,WAAW,QAAEuB,QAAsB,CACvB,CACwB,CAClC,CAAC;AAEd,CAAC,CAAC;;AAEF;AACA,OAAO,IAAMhB,OAAO,gBAAGb,KAAK,CAACuB,UAAU,CAGrC,SAASV,OAAOA,CAACqB,KAAK,EAAER,GAAG,EAAE;EAC7B,IAAMuC,KAAK,GAAGjE,KAAK,CAACuG,UAAU,CAACnF,kBAAkB,CAAC;EAElD,IAAI6C,KAAK,EAAE;IACT,oBAAOjE,KAAA,CAAAgD,aAAA,CAACY,gBAAgB,EAAAX,QAAA,KAAKf,KAAK;MAAE+B,KAAK,EAAEA,KAAM;MAACvC,GAAG,EAAEA;IAAI,EAAE,CAAC;EAChE;EAEA,oBAAO1B,KAAA,CAAAgD,aAAA,CAACmC,iBAAiB,EAAAlC,QAAA,KAAKf,KAAK;IAAER,GAAG,EAAEA;EAAI,EAAE,CAAC;AACnD,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMxB,OAAO,gBAAGF,KAAK,CAACuB,UAAU,CAGrC,SAASrB,OAAOA,CAAAsG,KAAA,EAAkC9E,GAAG,EAAE;EAAA,IAApCG,QAAQ,GAAA2E,KAAA,CAAR3E,QAAQ;IAAEkD,OAAO,GAAAyB,KAAA,CAAPzB,OAAO;IAAK7C,KAAK,GAAAC,wBAAA,CAAAqE,KAAA,EAAAC,UAAA;EAC9C,OAAO1B,OAAO,gBACZ/E,KAAA,CAAAgD,aAAA,CAAC7C,WAAW,EAAA8C,QAAA,KACNf,KAAK;IACT6C,OAAO,EAAEA,OAAQ;IACjBrD,GAAG,EAAEA,GAAI;IACTgF,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO;EAAE,IAE3B7E,QACU,CAAC,gBAEd7B,KAAA,CAAAgD,aAAA,CAAAhD,KAAA,CAAA2G,QAAA,QAAG9E,QAAW,CACf;AACH,CAAC,CAAC;AAEF,IAAM+E,SAAS,GAAG,SAAZA,SAASA,CAAIC,MAAW;EAAA,OAAK,UAACC,SAAc;IAAA,OAAK,UAAC5E,KAAU,EAAK;MACrE,IAAA6E,gBAAA,GAAqC/G,KAAK,CAAC4F,QAAQ,CAAC,CAAC,CAAC;QAAAoB,gBAAA,GAAAlB,cAAA,CAAAiB,gBAAA;QAA/CE,aAAa,GAAAD,gBAAA;QAAEE,WAAW,GAAAF,gBAAA;MAEjC,oBAAOhH,KAAA,CAAAgD,aAAA,CAAC8D,SAAS,EAAAK,aAAA,CAAAA,aAAA,KAAUjF,KAAK;QAAE+E,aAAa,EAAbA,aAAa;QAAEC,WAAW,EAAXA;MAAW,EAAK,CAAC;IACpE,CAAC;EAAA;AAAA;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAME,KAAK,GAAGR,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,UAAAS,KAAA;EAAA,IAAGxF,QAAQ,GAAAwF,KAAA,CAARxF,QAAQ;IAAKK,KAAK,GAAAC,wBAAA,CAAAkF,KAAA,EAAAC,UAAA;EAAA,OACtDzF,QAAQ,CAACK,KAAK,CAAC;AAAA,CACjB,CAAC;AAEDZ,oBAAoB,CAACiG,WAAW,GAAG,qBAAqB;AAExD1G,OAAO,CAAC0G,WAAW,GAAG,6BAA6B;AAEnDrH,OAAO,CAACqH,WAAW,GAAG,6BAA6B;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAM/F,mBAAmB,GAAGpB,gBAAgB,CACjD;EACES,OAAO,EAAPA,OAAO;EACPuG,KAAK,EAALA,KAAK;EACLlH,OAAO,EAAPA;AACF,CAAC,EACDoB,oBACF,CAAC"}
|
|
@@ -5,7 +5,7 @@ import { colors } from '../_styles/colors';
|
|
|
5
5
|
import { spacing } from '../_styles/spacing';
|
|
6
6
|
export var StyledContainer = /*#__PURE__*/styled.div.withConfig({
|
|
7
7
|
displayName: "StyledContainer",
|
|
8
|
-
componentId: "core-
|
|
8
|
+
componentId: "core-12_37_0__sc-ocai3-0"
|
|
9
9
|
})(["align-items:center;display:", ";height:36px;justify-content:center;width:", ";"], function (_ref) {
|
|
10
10
|
var $block = _ref.$block;
|
|
11
11
|
return $block ? 'flex' : 'inline-flex';
|
|
@@ -15,7 +15,7 @@ export var StyledContainer = /*#__PURE__*/styled.div.withConfig({
|
|
|
15
15
|
});
|
|
16
16
|
export var StyledSegment = /*#__PURE__*/styled.label.withConfig({
|
|
17
17
|
displayName: "StyledSegment",
|
|
18
|
-
componentId: "core-
|
|
18
|
+
componentId: "core-12_37_0__sc-ocai3-1"
|
|
19
19
|
})(["align-items:center;border-radius:0;border:1px solid ", ";cursor:pointer;display:flex;flex:1 1 auto;height:100%;justify-content:center;min-width:0;outline:0;padding:0 ", "px;position:relative;background-color:", ";color:", ";&:hover{background-color:", ";border-color:", ";color:", ";}", " ", ";"], colors.gray85, spacing.md, colors.white, colors.gray45, colors.gray94, colors.gray85, colors.gray45, function (_ref3) {
|
|
20
20
|
var _ref3$$focused = _ref3.$focused,
|
|
21
21
|
$focused = _ref3$$focused === void 0 ? false : _ref3$$focused;
|
|
@@ -37,10 +37,10 @@ export var StyledSegment = /*#__PURE__*/styled.label.withConfig({
|
|
|
37
37
|
});
|
|
38
38
|
export var StyledSegmentDisabledInteractiveWrapper = /*#__PURE__*/styled.div.withConfig({
|
|
39
39
|
displayName: "StyledSegmentDisabledInteractiveWrapper",
|
|
40
|
-
componentId: "core-
|
|
40
|
+
componentId: "core-12_37_0__sc-ocai3-2"
|
|
41
41
|
})(["display:flex;flex:1 1 auto;min-width:0;height:100%;margin-right:-1px;&:first-child ", "{border-bottom-left-radius:", "px;border-top-left-radius:", "px;}&:last-child ", "{border-bottom-right-radius:", "px;border-top-right-radius:", "px;}"], StyledSegment, borderRadius.md, borderRadius.md, StyledSegment, borderRadius.md, borderRadius.md);
|
|
42
42
|
export var StyledLabel = /*#__PURE__*/styled.span.withConfig({
|
|
43
43
|
displayName: "StyledLabel",
|
|
44
|
-
componentId: "core-
|
|
44
|
+
componentId: "core-12_37_0__sc-ocai3-3"
|
|
45
45
|
})(["", ";display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;"], getTypographyIntent('body'));
|
|
46
46
|
//# sourceMappingURL=SegmentedController.styles.js.map
|
package/dist/Select/Select.js
CHANGED
|
@@ -24,7 +24,7 @@ import { Tooltip } from '../Tooltip';
|
|
|
24
24
|
import { useI18nContext } from '../_hooks/I18n';
|
|
25
25
|
import { OverflowObserver } from '../_hooks/OverflowObserver';
|
|
26
26
|
import { addSubcomponents } from '../_utils/addSubcomponents';
|
|
27
|
-
import { StyledSelectArrow, StyledSelectArrowContainer, StyledSelectButton, StyledSelectButtonLabel, StyledSelectClearIcon, StyledSelectMenu, StyledSelectSpinner } from './Select.styles';
|
|
27
|
+
import { StyledSelectArrow, StyledSelectArrowContainer, StyledSelectButton, StyledSelectButtonLabel, StyledSelectButtonWrapper, StyledSelectClearIcon, StyledSelectMenu, StyledSelectSpinner } from './Select.styles';
|
|
28
28
|
function noop() {}
|
|
29
29
|
function isFunction(obj) {
|
|
30
30
|
return typeof obj === 'function';
|
|
@@ -75,9 +75,10 @@ export var Button = /*#__PURE__*/React.forwardRef(function Button(_ref3, ref) {
|
|
|
75
75
|
isMenuOpened = _ref3$isMenuOpened === void 0 ? false : _ref3$isMenuOpened,
|
|
76
76
|
props = _objectWithoutProperties(_ref3, _excluded2);
|
|
77
77
|
var i18n = useI18nContext();
|
|
78
|
-
var hasClearIcon =
|
|
78
|
+
var hasClearIcon = Boolean(onClear);
|
|
79
|
+
var showClearIcon = !disabled && !loading && Boolean(label);
|
|
79
80
|
var content = children || label || placeholder;
|
|
80
|
-
|
|
81
|
+
var button = /*#__PURE__*/React.createElement(StyledSelectButton, _extends({
|
|
81
82
|
className: classNames(className, {
|
|
82
83
|
focus: isFunction(focus) ? focus({
|
|
83
84
|
open: open
|
|
@@ -91,6 +92,7 @@ export var Button = /*#__PURE__*/React.forwardRef(function Button(_ref3, ref) {
|
|
|
91
92
|
$error: error,
|
|
92
93
|
$disabled: disabled,
|
|
93
94
|
$hasClearIcon: hasClearIcon,
|
|
95
|
+
$showClearIcon: showClearIcon,
|
|
94
96
|
$loading: loading,
|
|
95
97
|
$open: open,
|
|
96
98
|
$placeholder: !label
|
|
@@ -107,9 +109,14 @@ export var Button = /*#__PURE__*/React.forwardRef(function Button(_ref3, ref) {
|
|
|
107
109
|
trigger: "hover",
|
|
108
110
|
overlay: content
|
|
109
111
|
}, trigger) : trigger;
|
|
110
|
-
}),
|
|
111
|
-
|
|
112
|
-
|
|
112
|
+
}), loading ? /*#__PURE__*/React.createElement(StyledSelectSpinner, null, /*#__PURE__*/React.createElement(Spinner, {
|
|
113
|
+
color: "blue50",
|
|
114
|
+
size: "xs"
|
|
115
|
+
})) : /*#__PURE__*/React.createElement(StyledSelectArrowContainer, null, /*#__PURE__*/React.createElement(StyledSelectArrow, null)));
|
|
116
|
+
if (!onClear) return button;
|
|
117
|
+
return /*#__PURE__*/React.createElement(StyledSelectButtonWrapper, {
|
|
118
|
+
$block: block
|
|
119
|
+
}, button, /*#__PURE__*/React.createElement(StyledSelectClearIcon, {
|
|
113
120
|
"aria-label": i18n.t('core.select.clear'),
|
|
114
121
|
ref: clearRef,
|
|
115
122
|
"data-qa": (qa === null || qa === void 0 ? void 0 : qa.clear) || 'core-select-clear',
|
|
@@ -121,11 +128,8 @@ export var Button = /*#__PURE__*/React.forwardRef(function Button(_ref3, ref) {
|
|
|
121
128
|
return e.preventDefault();
|
|
122
129
|
} // prevents an element from getting the focus
|
|
123
130
|
,
|
|
124
|
-
tabIndex:
|
|
125
|
-
})
|
|
126
|
-
color: "blue50",
|
|
127
|
-
size: "xs"
|
|
128
|
-
})) : /*#__PURE__*/React.createElement(StyledSelectArrowContainer, null, /*#__PURE__*/React.createElement(StyledSelectArrow, null)));
|
|
131
|
+
tabIndex: showClearIcon ? 0 : -1
|
|
132
|
+
}));
|
|
129
133
|
});
|
|
130
134
|
var SelectMenu = /*#__PURE__*/React.forwardRef(function SelectMenu(_ref5, ref) {
|
|
131
135
|
var onSearch_ = _ref5.onSearch,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","names":["Clear","classNames","isNil","React","Box","MenuImperative","useMenuImperativeControlNavigation","Notation","OverlayTrigger","useOverlayTriggerContext","Spinner","Tooltip","useI18nContext","OverflowObserver","addSubcomponents","StyledSelectArrow","StyledSelectArrowContainer","StyledSelectButton","StyledSelectButtonLabel","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","_excluded2","i18n","hasClearIcon","Boolean","content","role","$block","$error","$disabled","$hasClearIcon","$loading","$open","$placeholder","_ref4","isOverflowingX","overflowRef","showTooltip","trigger","$hoverable","overlay","t","clear","size","variant","icon","onClick","onMouseDown","e","preventDefault","color","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","displayName"],"sources":["../../src/Select/Select.tsx"],"sourcesContent":["import { Clear } from '@procore/core-icons/dist'\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 StyledSelectClearIcon,\n StyledSelectMenu,\n StyledSelectSpinner,\n} from './Select.styles'\nimport type {\n SelectButtonProps,\n SelectMenuProps,\n SelectOptionProps,\n SelectProps,\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 ...props\n },\n ref\n ) {\n const i18n = useI18nContext()\n const hasClearIcon = !disabled && !loading && Boolean(label)\n\n const content = children || label || placeholder\n\n return (\n <StyledSelectButton\n className={classNames(className, {\n focus: isFunction(focus) ? (focus as Function)({ open }) : focus,\n })}\n ref={ref}\n role=\"button\"\n aria-disabled={disabled}\n tabIndex={disabled ? -1 : tabIndex}\n $block={block}\n $error={error}\n $disabled={disabled}\n $hasClearIcon={hasClearIcon}\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 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 {onClear && (\n <StyledSelectClearIcon\n aria-hidden={true} // prevents reading \"delete field\" button when select in focus\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={-1} // TODO revisit this accessibility\n />\n )}\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)\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 ...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 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\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 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 >\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 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","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","_excluded2","i18n","hasClearIcon","Boolean","showClearIcon","content","button","role","$block","$error","$disabled","$hasClearIcon","$showClearIcon","$loading","$open","$placeholder","_ref4","isOverflowingX","overflowRef","showTooltip","trigger","$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","displayName"],"sources":["../../src/Select/Select.tsx"],"sourcesContent":["import { Clear } from '@procore/core-icons/dist'\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} 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 ...props\n },\n ref\n ) {\n const i18n = useI18nContext()\n const hasClearIcon = Boolean(onClear)\n const showClearIcon = !disabled && !loading && Boolean(label)\n\n const content = children || label || placeholder\n\n const button = (\n <StyledSelectButton\n className={classNames(className, {\n focus: isFunction(focus) ? (focus as Function)({ open }) : focus,\n })}\n ref={ref}\n role=\"button\"\n aria-disabled={disabled}\n tabIndex={disabled ? -1 : tabIndex}\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 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 if (!onClear) return button\n\n return (\n <StyledSelectButtonWrapper $block={block}>\n {button}\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 </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 ...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 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\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 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 >\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 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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"}
|
|
@@ -4,6 +4,9 @@ export declare const dataQa: {
|
|
|
4
4
|
hovered: string;
|
|
5
5
|
};
|
|
6
6
|
export declare const tableSelectClassName = "select--table";
|
|
7
|
+
export declare const StyledSelectButtonWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
|
|
8
|
+
$block: boolean;
|
|
9
|
+
}>> & string;
|
|
7
10
|
export declare const StyledSelectMenu: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<import("react").HTMLAttributes<HTMLDivElement> & import("../Card").CardProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
|
|
8
11
|
ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
|
|
9
12
|
}, never>> & string & Omit<import("react").ForwardRefExoticComponent<import("react").HTMLAttributes<HTMLDivElement> & import("../Card").CardProps & import("react").RefAttributes<HTMLDivElement>>, keyof import("react").Component<any, {}, any>>;
|
|
@@ -23,5 +26,6 @@ export declare const StyledSelectButton: import("styled-components/dist/types").
|
|
|
23
26
|
$loading: boolean;
|
|
24
27
|
$open: boolean;
|
|
25
28
|
$placeholder?: boolean | undefined;
|
|
26
|
-
$hasClearIcon
|
|
29
|
+
$hasClearIcon?: boolean | undefined;
|
|
30
|
+
$showClearIcon?: boolean | undefined;
|
|
27
31
|
}>> & string;
|
|
@@ -15,70 +15,80 @@ export var dataQa = {
|
|
|
15
15
|
};
|
|
16
16
|
export var tableSelectClassName = 'select--table';
|
|
17
17
|
var styledSelectButtonDefaultWidth = 248;
|
|
18
|
+
export var StyledSelectButtonWrapper = /*#__PURE__*/styled.div.withConfig({
|
|
19
|
+
displayName: "StyledSelectButtonWrapper",
|
|
20
|
+
componentId: "core-12_37_0__sc-mr8gwe-0"
|
|
21
|
+
})(["display:inline-block;position:relative;width:", ";"], function (_ref) {
|
|
22
|
+
var $block = _ref.$block;
|
|
23
|
+
return $block ? '100%' : "".concat(styledSelectButtonDefaultWidth, "px");
|
|
24
|
+
});
|
|
18
25
|
export var StyledSelectMenu = /*#__PURE__*/styled(Card).withConfig({
|
|
19
26
|
displayName: "StyledSelectMenu",
|
|
20
|
-
componentId: "core-
|
|
27
|
+
componentId: "core-12_37_0__sc-mr8gwe-1"
|
|
21
28
|
})(["display:flex;max-height:40vh;max-width:", "px;min-width:inherit;"], styledSelectButtonDefaultWidth);
|
|
22
29
|
export var StyledSelectButtonLabel = /*#__PURE__*/styled.div.withConfig({
|
|
23
30
|
displayName: "StyledSelectButtonLabel",
|
|
24
|
-
componentId: "core-
|
|
25
|
-
})(["", " flex-grow:1;margin-right:", "px;outline:none;pointer-events:", ";user-select:none;"], getEllipsis(), spacing.sm, function (
|
|
26
|
-
var $hoverable =
|
|
31
|
+
componentId: "core-12_37_0__sc-mr8gwe-2"
|
|
32
|
+
})(["", " flex-grow:1;margin-right:", "px;outline:none;pointer-events:", ";user-select:none;"], getEllipsis(), spacing.sm, function (_ref2) {
|
|
33
|
+
var $hoverable = _ref2.$hoverable;
|
|
27
34
|
return $hoverable ? 'initial' : 'none';
|
|
28
35
|
});
|
|
29
36
|
export var StyledSelectSpinner = /*#__PURE__*/styled.div.withConfig({
|
|
30
37
|
displayName: "StyledSelectSpinner",
|
|
31
|
-
componentId: "core-
|
|
38
|
+
componentId: "core-12_37_0__sc-mr8gwe-3"
|
|
32
39
|
})(["align-items:center;display:flex;flex:0 0 auto;justify-content:center;line-height:0;"]);
|
|
33
40
|
export var StyledSelectArrowContainer = /*#__PURE__*/styled.div.withConfig({
|
|
34
41
|
displayName: "StyledSelectArrowContainer",
|
|
35
|
-
componentId: "core-
|
|
42
|
+
componentId: "core-12_37_0__sc-mr8gwe-4"
|
|
36
43
|
})(["align-items:center;display:inline-flex;height:16px;justify-content:flex-end;margin-left:", "px;width:8px;"], spacing.sm);
|
|
37
44
|
export var StyledSelectArrow = /*#__PURE__*/styled.div.withConfig({
|
|
38
45
|
displayName: "StyledSelectArrow",
|
|
39
|
-
componentId: "core-
|
|
46
|
+
componentId: "core-12_37_0__sc-mr8gwe-5"
|
|
40
47
|
})(["position:relative;", ""], arrowDown(4, 'gray45'));
|
|
41
48
|
export var StyledSelectClearIcon = /*#__PURE__*/styled(Button).withConfig({
|
|
42
49
|
displayName: "StyledSelectClearIcon",
|
|
43
|
-
componentId: "core-
|
|
44
|
-
})(["", "{pointer-events:none;}"], StyledContent);
|
|
50
|
+
componentId: "core-12_37_0__sc-mr8gwe-6"
|
|
51
|
+
})(["position:absolute;right:29px;top:50%;transform:translateY(-50%);", "{pointer-events:none;}"], StyledContent);
|
|
45
52
|
export var StyledSelectButton = /*#__PURE__*/styled.div.withConfig({
|
|
46
53
|
displayName: "StyledSelectButton",
|
|
47
|
-
componentId: "core-
|
|
48
|
-
})(["", " 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=", "]{", " ", "{stroke:", ";}}", " ", " ", " ", " ", " &.", "{", " ", " ", "}"], getTypographyIntent('body'), colors.white, colors.gray50, borderRadius.md, colors.gray15, spacing.md, function (
|
|
49
|
-
var $block =
|
|
54
|
+
componentId: "core-12_37_0__sc-mr8gwe-7"
|
|
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
|
+
var $block = _ref3.$block;
|
|
50
57
|
return $block ? '100%' : "".concat(styledSelectButtonDefaultWidth, "px");
|
|
51
|
-
}, colors.gray45, dataQa.hovered, colors.white, colors.gray20, colors.gray15, dataQa.focused, getFocus(), StyledCircle, colors.blue50, function (
|
|
52
|
-
var
|
|
53
|
-
$placeholder =
|
|
58
|
+
}, colors.gray45, dataQa.hovered, colors.white, colors.gray20, colors.gray15, dataQa.focused, StyledSelectButtonWrapper, getFocus(), StyledCircle, colors.blue50, function (_ref4) {
|
|
59
|
+
var _ref4$$placeholder = _ref4.$placeholder,
|
|
60
|
+
$placeholder = _ref4$$placeholder === void 0 ? false : _ref4$$placeholder;
|
|
54
61
|
return $placeholder && css(["", "{color:", ";}"], StyledSelectButtonLabel, colors.gray45);
|
|
55
|
-
}, function (_ref4) {
|
|
56
|
-
var $disabled = _ref4.$disabled;
|
|
57
|
-
return $disabled && css(["background-color:", ";border-color:", ";color:", ";cursor:default;pointer-events:none;", "{color:", ";}", "{", "}"], colors.gray94, colors.gray50, colors.gray45, StyledSelectButtonLabel, colors.gray70, StyledSelectArrow, arrowDown(4, 'gray70'));
|
|
58
62
|
}, function (_ref5) {
|
|
59
|
-
var $
|
|
60
|
-
|
|
61
|
-
|
|
63
|
+
var $disabled = _ref5.$disabled;
|
|
64
|
+
return $disabled && css(["background-color:", ";border-color:", ";color:", ";cursor:default;pointer-events:none;", "{color:", ";}", "{", "}"], colors.gray94, colors.gray50, colors.gray45, StyledSelectButtonLabel, colors.gray70, StyledSelectArrow, arrowDown(4, 'gray70'));
|
|
65
|
+
}, function (_ref6) {
|
|
66
|
+
var $error = _ref6.$error,
|
|
67
|
+
$disabled = _ref6.$disabled,
|
|
68
|
+
$loading = _ref6.$loading;
|
|
62
69
|
if ($error && !$disabled) {
|
|
63
70
|
return css(["&,&:hover{border-color:", ";border-color:var(--core-input-error-border-color,", ");}&:hover:focus{", "}"], colors.red50, colors.red50, getFocus());
|
|
64
71
|
}
|
|
65
|
-
}, function (_ref6) {
|
|
66
|
-
var $hasClearIcon = _ref6.$hasClearIcon;
|
|
67
|
-
return css(["", "{opacity:", ";}"], StyledSelectClearIcon, $hasClearIcon ? 1 : 0);
|
|
68
72
|
}, function (_ref7) {
|
|
69
|
-
var $
|
|
73
|
+
var $hasClearIcon = _ref7.$hasClearIcon;
|
|
74
|
+
return css(["gap:", ";"], $hasClearIcon ? "".concat(spacing.xl, "px") : 0);
|
|
75
|
+
}, function (_ref8) {
|
|
76
|
+
var $showClearIcon = _ref8.$showClearIcon;
|
|
77
|
+
return css(["& + ", "{opacity:", ";}"], StyledSelectClearIcon, $showClearIcon ? 1 : 0);
|
|
78
|
+
}, function (_ref9) {
|
|
79
|
+
var $open = _ref9.$open;
|
|
70
80
|
return $open && css(["", "{", "}"], StyledSelectArrow, arrowUp(4, 'gray45'));
|
|
71
|
-
}, tableSelectClassName, function (
|
|
72
|
-
var $open =
|
|
81
|
+
}, tableSelectClassName, function (_ref0) {
|
|
82
|
+
var $open = _ref0.$open;
|
|
73
83
|
return $open && css(["background-color:", ";", "{white-space:nowrap;}", "{opacity:1;pointer-events:all;}"], colors.white, StyledSelectButtonLabel, StyledSelectArrow);
|
|
74
|
-
}, function (
|
|
75
|
-
var $open =
|
|
76
|
-
$
|
|
77
|
-
return $open && $
|
|
78
|
-
}, function (
|
|
79
|
-
var $open =
|
|
80
|
-
|
|
81
|
-
$placeholder =
|
|
84
|
+
}, function (_ref1) {
|
|
85
|
+
var $open = _ref1.$open,
|
|
86
|
+
$showClearIcon = _ref1.$showClearIcon;
|
|
87
|
+
return $open && $showClearIcon && css(["& + ", "{opacity:1;pointer-events:all;}"], StyledSelectClearIcon);
|
|
88
|
+
}, function (_ref10) {
|
|
89
|
+
var $open = _ref10.$open,
|
|
90
|
+
_ref10$$placeholder = _ref10.$placeholder,
|
|
91
|
+
$placeholder = _ref10$$placeholder === void 0 ? false : _ref10$$placeholder;
|
|
82
92
|
return $open && $placeholder && css(["", "{opacity:1;pointer-events:all;}"], StyledSelectButtonLabel);
|
|
83
93
|
});
|
|
84
94
|
//# sourceMappingURL=Select.styles.js.map
|