@procore/core-react 12.36.0 → 12.38.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 +46 -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.d.ts +2 -1
- package/dist/Banner/Banner.js +53 -34
- package/dist/Banner/Banner.js.map +1 -1
- package/dist/Banner/Banner.styles.js +10 -10
- package/dist/Banner/Banner.types.d.ts +6 -0
- package/dist/Banner/Banner.types.js.map +1 -1
- package/dist/Banner/index.d.ts +1 -1
- package/dist/Banner/index.js.map +1 -1
- package/dist/Box/Box.styles.js +1 -1
- package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
- package/dist/Button/Button.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.js +3 -1
- package/dist/FileSelect/FileExplorer/FileExplorerSidebar.js.map +1 -1
- package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
- package/dist/FileSelect/FileSelect.styles.js +2 -2
- package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
- package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
- package/dist/FileSelect/GridSource/GridSource.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 +29 -21
- 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/Form/stories/util.js +1 -12
- package/dist/Form/stories/util.js.map +1 -1
- package/dist/GhostPlaceholder/GhostPlaceholder.styles.js +2 -2
- package/dist/Grid/Grid.styles.js +2 -2
- package/dist/GroupSelect/GroupSelect.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/OverlayTrigger/OverlayTrigger.js +4 -2
- package/dist/OverlayTrigger/OverlayTrigger.js.map +1 -1
- package/dist/OverlayTrigger/OverlayTrigger.types.d.ts +8 -0
- package/dist/OverlayTrigger/OverlayTrigger.types.js.map +1 -1
- package/dist/PageLayout/PageLayout.styles.d.ts +1 -0
- package/dist/PageLayout/PageLayout.styles.js +17 -17
- package/dist/PageLayout/PageLayout.styles.js.map +1 -1
- package/dist/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.js +2 -1
- package/dist/Popover/Popover.js.map +1 -1
- package/dist/Popover/Popover.styles.js +2 -2
- package/dist/Portal/Portal.styles.js +1 -1
- package/dist/ProgressBar/ProgressBar.styles.js +2 -2
- package/dist/RadioButton/RadioButton.styles.js +3 -3
- package/dist/Required/Required.styles.js +3 -3
- package/dist/Search/Search.styles.js +5 -5
- package/dist/Section/Section.styles.js +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 +46 -20
- 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/Select/Select.types.d.ts +13 -0
- package/dist/Select/Select.types.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.js +21 -6
- package/dist/Spinner/Spinner.js.map +1 -1
- package/dist/Spinner/Spinner.styles.js +7 -7
- package/dist/SplitViewCard/SplitViewCard.styles.js +8 -8
- package/dist/SuperSelect/SuperSelect.components.js +1 -3
- package/dist/SuperSelect/SuperSelect.components.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 +1 -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 +26 -30
- 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/Tearsheet/storybook/PageLayoutDemo.js +4 -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/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 +4 -41
- 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/en.json +3 -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/pseudo.json +3 -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 +39 -13
- package/dist/_typedoc/Box/Box.types.json +68 -68
- package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
- package/dist/_typedoc/Button/Button.types.json +13 -13
- package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
- package/dist/_typedoc/Card/Card.types.json +6 -6
- package/dist/_typedoc/Checkbox/Checkbox.types.json +8 -8
- package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
- package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
- package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
- package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
- package/dist/_typedoc/Dropdown/Dropdown.types.json +37 -37
- package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +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 +42 -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 +95 -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 +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateSelect.js","names":["React","Calendar","CalendarBase","Card","DateInput","isValidYearRange","OverlayTrigger","useOverlayTriggerContext","isEventSource","useDateTime","enableLogs","_process$env$TZ_LOG","process","env","TZ_LOG","toLowerCase","consoleMessageChange","_ref","date","console","log","showKeys","hideKeys","target","overlay","lifecycleDefault","noop","forwardRef","_ref2","ref","onSelect","props","_objectWithoutProperties","_excluded","_useOverlayTriggerCon","hide","createElement","shadowStrength","_extends","DateSelect","_ref3","_ref3$beforeHide","beforeHide","_ref3$beforeShow","beforeShow","_ref3$afterHide","afterHide","_ref3$afterShow","afterShow","disabledDate","_ref3$onChange","onChange","_ref3$onClear","onClear","value","_excluded2","dateTime","clearRef","useRef","dateInputRef","monthRef","yearRef","segmentRefs","segmentThree","_React$useState","useState","_React$useState2","_slicedToArray","selected","setSelected","_React$useState3","newDate","_React$useState4","displayed","setDisplayed","useEffect","displayDate","onNavigate","current","focus","selectedStart","selectedEnd","e","KeyboardEvent","clickOutsideIgnoreRefs","placement","onChangeSegment","type","setMonth","setFullYear","undefined"],"sources":["../../src/DateSelect/DateSelect.tsx"],"sourcesContent":["import React from 'react'\nimport type { CalendarProps } from '../Calendar'\nimport { Calendar as CalendarBase } from '../Calendar'\nimport { Card } from '../Card'\nimport { DateInput, isValidYearRange } from '../DateInput/DateInput'\nimport {\n OverlayTrigger,\n useOverlayTriggerContext,\n} from '../OverlayTrigger/OverlayTrigger'\nimport { isEventSource } from '../_hooks/ClickOutside'\nimport { useDateTime } from '../_hooks/DateTime'\nimport type { DateSelectProps } from './DateSelect.types'\n\nconst enableLogs = process.env.TZ_LOG?.toLowerCase() === 'true'\n\nfunction consoleMessageChange({ date }: any) {\n if (enableLogs) {\n console.log(\n `core-react: DateInput onChange, relative start of day in destination time zone.\\n`,\n date\n )\n }\n}\n\nconst showKeys: string[] = []\n\nconst hideKeys = {\n target: ['Esc', 'Escape', 'Enter'],\n overlay: ['Esc', 'Escape'],\n}\n\nfunction lifecycleDefault() {\n return true\n}\n\nfunction noop() {}\n\nconst Calendar = React.forwardRef<HTMLDivElement, CalendarProps>(\n function Calendar({ onSelect, ...props }, ref) {\n const { hide } = useOverlayTriggerContext()\n\n return (\n <Card ref={ref} shadowStrength={2}>\n <CalendarBase\n {...props}\n onSelect={(date) => {\n onSelect?.(date)\n hide(true)\n }}\n />\n </Card>\n )\n }\n)\n\n/**\n\n We use date selects to allow users to enter a date into a form by either\n selecting it from a calendar or typing it into a date field.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-dateselect--demo)\n\n @see [Design Guidelines](https://design.procore.com/date-select)\n\n */\nexport const DateSelect = React.forwardRef<HTMLDivElement, DateSelectProps>(\n function DateSelect(\n {\n beforeHide = lifecycleDefault,\n beforeShow = lifecycleDefault,\n afterHide = noop,\n afterShow = noop,\n disabledDate,\n onChange = noop,\n onClear = noop,\n value,\n ...props\n },\n ref\n ) {\n const dateTime = useDateTime()\n\n const clearRef = React.useRef<HTMLButtonElement>(null)\n\n const dateInputRef = ref as React.RefObject<HTMLDivElement>\n React.useRef<HTMLDivElement>(null)\n\n const monthRef = React.useRef<HTMLDivElement>(null)\n\n const yearRef = React.useRef<HTMLDivElement>(null)\n\n const segmentRefs = {\n segmentThree: React.useRef<HTMLDivElement>(null),\n }\n\n const [selected, setSelected] = React.useState(value)\n\n const [displayed, setDisplayed] = React.useState(\n value || dateTime.newDate()\n )\n\n React.useEffect(() => {\n setSelected(value)\n setDisplayed(value || dateTime.newDate())\n }, [value])\n\n const overlay = (\n <Calendar\n data-qa=\"core-date-select-calendar\"\n disabledDate={disabledDate}\n displayDate={displayed}\n monthRef={monthRef}\n onNavigate={setDisplayed}\n onSelect={(date) => {\n segmentRefs.segmentThree.current &&\n segmentRefs.segmentThree.current.focus()\n\n setDisplayed(date)\n setSelected(date)\n onChange(date)\n }}\n selectedStart={selected}\n selectedEnd={selected}\n yearRef={yearRef}\n />\n )\n\n return (\n <OverlayTrigger\n afterHide={afterHide}\n afterShow={afterShow}\n beforeHide={(e) => {\n if (e instanceof KeyboardEvent) {\n segmentRefs.segmentThree.current &&\n segmentRefs.segmentThree.current.focus()\n\n return beforeHide(e)\n }\n\n if (isEventSource(dateInputRef, e) || isEventSource(clearRef, e)) {\n return false\n }\n return beforeHide(e)\n }}\n beforeShow={(e) => {\n if (isEventSource(clearRef, e)) {\n return false\n }\n return beforeShow(e)\n }}\n clickOutsideIgnoreRefs={[monthRef, yearRef]}\n hideKeys={hideKeys}\n overlay={overlay}\n placement=\"bottom-left\"\n ref={dateInputRef}\n showKeys={showKeys}\n >\n <DateInput\n {...props}\n clearRef={clearRef}\n segmentRefs={segmentRefs}\n onChangeSegment={(type, value) => {\n if (value === -1) {\n return\n }\n\n if (type === 'month') {\n setDisplayed(dateTime.newDate(displayed.setMonth(value - 1)))\n } else if (type === 'year') {\n // isValidYearRange prevents calendar from changing, the display date\n if (isValidYearRange(value)) {\n setDisplayed(dateTime.newDate(displayed.setFullYear(value)))\n }\n }\n }}\n onChange={(date: Date | null) => {\n consoleMessageChange({ date })\n if (date) {\n setSelected(date)\n setDisplayed(date)\n } else {\n setDisplayed(dateTime.newDate())\n setSelected(undefined)\n }\n\n onChange(date)\n }}\n onClear={onClear}\n value={selected}\n />\n </OverlayTrigger>\n )\n }\n)\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DateSelect.js","names":["React","Calendar","CalendarBase","Card","DateInput","isValidYearRange","OverlayTrigger","useOverlayTriggerContext","isEventSource","useDateTime","enableLogs","_process$env$TZ_LOG","process","env","TZ_LOG","toLowerCase","consoleMessageChange","_ref","date","console","log","showKeys","hideKeys","target","overlay","lifecycleDefault","noop","forwardRef","_ref2","ref","onSelect","props","_objectWithoutProperties","_excluded","_useOverlayTriggerCon","hide","createElement","shadowStrength","_extends","DateSelect","_ref3","_ref3$beforeHide","beforeHide","_ref3$beforeShow","beforeShow","_ref3$afterHide","afterHide","_ref3$afterShow","afterShow","disabledDate","_ref3$onChange","onChange","_ref3$onClear","onClear","value","_excluded2","dateTime","clearRef","useRef","dateInputRef","monthRef","yearRef","segmentRefs","segmentThree","_React$useState","useState","_React$useState2","_slicedToArray","selected","setSelected","_React$useState3","newDate","_React$useState4","displayed","setDisplayed","useEffect","displayDate","onNavigate","current","focus","selectedStart","selectedEnd","e","KeyboardEvent","clickOutsideIgnoreRefs","placement","onChangeSegment","type","setMonth","setFullYear","undefined"],"sources":["../../src/DateSelect/DateSelect.tsx"],"sourcesContent":["import React from 'react'\nimport type { CalendarProps } from '../Calendar'\nimport { Calendar as CalendarBase } from '../Calendar'\nimport { Card } from '../Card'\nimport { DateInput, isValidYearRange } from '../DateInput/DateInput'\nimport {\n OverlayTrigger,\n useOverlayTriggerContext,\n} from '../OverlayTrigger/OverlayTrigger'\nimport { isEventSource } from '../_hooks/ClickOutside'\nimport { useDateTime } from '../_hooks/DateTime'\nimport type { DateSelectProps } from './DateSelect.types'\n\nconst enableLogs = process.env.TZ_LOG?.toLowerCase() === 'true'\n\nfunction consoleMessageChange({ date }: any) {\n if (enableLogs) {\n console.log(\n `core-react: DateInput onChange, relative start of day in destination time zone.\\n`,\n date\n )\n }\n}\n\nconst showKeys: string[] = []\n\nconst hideKeys = {\n target: ['Esc', 'Escape'],\n overlay: ['Esc', 'Escape'],\n}\n\nfunction lifecycleDefault() {\n return true\n}\n\nfunction noop() {}\n\nconst Calendar = React.forwardRef<HTMLDivElement, CalendarProps>(\n function Calendar({ onSelect, ...props }, ref) {\n const { hide } = useOverlayTriggerContext()\n\n return (\n <Card ref={ref} shadowStrength={2}>\n <CalendarBase\n {...props}\n onSelect={(date) => {\n onSelect?.(date)\n hide(true)\n }}\n />\n </Card>\n )\n }\n)\n\n/**\n\n We use date selects to allow users to enter a date into a form by either\n selecting it from a calendar or typing it into a date field.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-dateselect--demo)\n\n @see [Design Guidelines](https://design.procore.com/date-select)\n\n */\nexport const DateSelect = React.forwardRef<HTMLDivElement, DateSelectProps>(\n function DateSelect(\n {\n beforeHide = lifecycleDefault,\n beforeShow = lifecycleDefault,\n afterHide = noop,\n afterShow = noop,\n disabledDate,\n onChange = noop,\n onClear = noop,\n value,\n ...props\n },\n ref\n ) {\n const dateTime = useDateTime()\n\n const clearRef = React.useRef<HTMLButtonElement>(null)\n\n const dateInputRef = ref as React.RefObject<HTMLDivElement>\n React.useRef<HTMLDivElement>(null)\n\n const monthRef = React.useRef<HTMLDivElement>(null)\n\n const yearRef = React.useRef<HTMLDivElement>(null)\n\n const segmentRefs = {\n segmentThree: React.useRef<HTMLDivElement>(null),\n }\n\n const [selected, setSelected] = React.useState(value)\n\n const [displayed, setDisplayed] = React.useState(\n value || dateTime.newDate()\n )\n\n React.useEffect(() => {\n setSelected(value)\n setDisplayed(value || dateTime.newDate())\n }, [value])\n\n const overlay = (\n <Calendar\n data-qa=\"core-date-select-calendar\"\n disabledDate={disabledDate}\n displayDate={displayed}\n monthRef={monthRef}\n onNavigate={setDisplayed}\n onSelect={(date) => {\n segmentRefs.segmentThree.current &&\n segmentRefs.segmentThree.current.focus()\n\n setDisplayed(date)\n setSelected(date)\n onChange(date)\n }}\n selectedStart={selected}\n selectedEnd={selected}\n yearRef={yearRef}\n />\n )\n\n return (\n <OverlayTrigger\n afterHide={afterHide}\n afterShow={afterShow}\n beforeHide={(e) => {\n if (e instanceof KeyboardEvent) {\n segmentRefs.segmentThree.current &&\n segmentRefs.segmentThree.current.focus()\n\n return beforeHide(e)\n }\n\n if (isEventSource(dateInputRef, e) || isEventSource(clearRef, e)) {\n return false\n }\n return beforeHide(e)\n }}\n beforeShow={(e) => {\n if (isEventSource(clearRef, e)) {\n return false\n }\n return beforeShow(e)\n }}\n clickOutsideIgnoreRefs={[monthRef, yearRef]}\n hideKeys={hideKeys}\n overlay={overlay}\n placement=\"bottom-left\"\n ref={dateInputRef}\n showKeys={showKeys}\n >\n <DateInput\n {...props}\n clearRef={clearRef}\n segmentRefs={segmentRefs}\n onChangeSegment={(type, value) => {\n if (value === -1) {\n return\n }\n\n if (type === 'month') {\n setDisplayed(dateTime.newDate(displayed.setMonth(value - 1)))\n } else if (type === 'year') {\n // isValidYearRange prevents calendar from changing, the display date\n if (isValidYearRange(value)) {\n setDisplayed(dateTime.newDate(displayed.setFullYear(value)))\n }\n }\n }}\n onChange={(date: Date | null) => {\n consoleMessageChange({ date })\n if (date) {\n setSelected(date)\n setDisplayed(date)\n } else {\n setDisplayed(dateTime.newDate())\n setSelected(undefined)\n }\n\n onChange(date)\n }}\n onClear={onClear}\n value={selected}\n />\n </OverlayTrigger>\n )\n }\n)\n"],"mappings":"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"}
|
|
@@ -8,32 +8,32 @@ import { colors } from '../_styles/colors';
|
|
|
8
8
|
import { spacing } from '../_styles/spacing';
|
|
9
9
|
export var StyledDetailPage = /*#__PURE__*/styled.div.withConfig({
|
|
10
10
|
displayName: "StyledDetailPage",
|
|
11
|
-
componentId: "core-
|
|
11
|
+
componentId: "core-12_38_0__sc-cytnlo-0"
|
|
12
12
|
})(["background-color:", ";height:100%;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;"], colors.gray96);
|
|
13
13
|
export var StyledDetailPageBody = /*#__PURE__*/styled.div.withConfig({
|
|
14
14
|
displayName: "StyledDetailPageBody",
|
|
15
|
-
componentId: "core-
|
|
15
|
+
componentId: "core-12_38_0__sc-cytnlo-1"
|
|
16
16
|
})(["padding-bottom:", "px;"], spacing.xl);
|
|
17
17
|
export var StyledDetailPageFooterNotation = /*#__PURE__*/styled.div.withConfig({
|
|
18
18
|
displayName: "StyledDetailPageFooterNotation",
|
|
19
|
-
componentId: "core-
|
|
19
|
+
componentId: "core-12_38_0__sc-cytnlo-2"
|
|
20
20
|
})(["flex-grow:1;z-index:1;"]);
|
|
21
21
|
export var StyledDetailPageFooter = /*#__PURE__*/styled(Page.Footer).withConfig({
|
|
22
22
|
displayName: "StyledDetailPageFooter",
|
|
23
|
-
componentId: "core-
|
|
23
|
+
componentId: "core-12_38_0__sc-cytnlo-3"
|
|
24
24
|
})(["display:flex;padding:", "px 0;background-color:", ";justify-content:center;"], spacing.lg, colors.white);
|
|
25
25
|
export var StyledDetailPageFooterActions = /*#__PURE__*/styled(Box).withConfig({
|
|
26
26
|
displayName: "StyledDetailPageFooterActions",
|
|
27
|
-
componentId: "core-
|
|
27
|
+
componentId: "core-12_38_0__sc-cytnlo-4"
|
|
28
28
|
})(["", ""], getActions());
|
|
29
29
|
var maxFooterContentWidth = 1920;
|
|
30
30
|
export var StyledDetailPageFooterContent = /*#__PURE__*/styled.div.withConfig({
|
|
31
31
|
displayName: "StyledDetailPageFooterContent",
|
|
32
|
-
componentId: "core-
|
|
32
|
+
componentId: "core-12_38_0__sc-cytnlo-5"
|
|
33
33
|
})(["width:100%;align-items:center;display:flex;justify-content:flex-end;padding:0 ", "px;max-width:", "px;"], spacing.xl, maxFooterContentWidth);
|
|
34
34
|
var detailPageCardBorderRadius = 8;
|
|
35
35
|
export var StyledDetailPageCard = /*#__PURE__*/styled(Card).withConfig({
|
|
36
36
|
displayName: "StyledDetailPageCard",
|
|
37
|
-
componentId: "core-
|
|
37
|
+
componentId: "core-12_38_0__sc-cytnlo-6"
|
|
38
38
|
})(["width:100%;border-radius:", "px;margin-top:", "px;margin-bottom:", "px;& + &{margin-top:", "px;}&:first-child{margin-top:0;}&:last-child{margin-bottom:", "px;}& > ", "{padding:", "px ", "px 0 ", "px;max-width:100%;&:empty{padding:0;}}& > ", " + ", " > ", "{border-top:0;}> .", ":first-child + .", ",> ", " + .", " + .", "{margin-top:", "px;}"], detailPageCardBorderRadius, spacing.lg, spacing.sm, spacing.sm, spacing.lg, StyledPageBanner, spacing.lg, spacing.lg, spacing.lg, StyledPageBanner, StyledSection, StyledSectionInner, sectionClassnames.levelAnonymous, sectionClassnames.level(2), StyledPageBanner, sectionClassnames.levelAnonymous, sectionClassnames.level(2), spacing.xxl * -1);
|
|
39
39
|
//# sourceMappingURL=DetailPage.styles.js.map
|
|
@@ -102,10 +102,6 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function DropdownMenu(_ref4, re
|
|
|
102
102
|
setSearch(e.target.value);
|
|
103
103
|
onSearch_ === null || onSearch_ === void 0 ? void 0 : onSearch_(e);
|
|
104
104
|
}
|
|
105
|
-
React.useEffect(function () {
|
|
106
|
-
var _menuRef$current;
|
|
107
|
-
(_menuRef$current = menuRef.current) === null || _menuRef$current === void 0 ? void 0 : _menuRef$current.highlightFirst();
|
|
108
|
-
}, [menuRef, search]);
|
|
109
105
|
function onKeyDown(e) {
|
|
110
106
|
// This is disconnected from the OverlayTrigger closing on Escape.
|
|
111
107
|
// Closing a dropdown with Escape will not close a Modal, because stopP.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropdown.js","names":["CaretDown","CaretUp","EllipsisVertical","classNames","React","MenuImperative","useMenuImperativeControlNavigation","OverlayTrigger","useOverlayTriggerContext","useI18nContext","addSubcomponents","mergeRefs","StyledDropdownButton","StyledDropdownMenu","StyledDropdownSpinner","noop","isFunction","obj","isOpen","_ref","_ref$open","open","Item","forwardRef","_ref2","ref","_ref2$restoreFocus","restoreFocus","props","_objectWithoutProperties","_excluded","createElement","_extends","DropdownButton","_ref3","children","className","_ref3$arrow","arrow","_ref3$loading","loading","_ref3$open","_ref3$focus","focus","_ref3$variant","variant","_excluded2","caret","size","icon","undefined","iconRight","$loading","DropdownMenu","_ref4","footer","i18nScope","menuRef","onSearch_","onSearch","_ref4$onSelect","onSelect","onSelect_","id","overlayTriggerContext","_React$useState","useState","_React$useState2","_slicedToArray","search","setSearch","_useMenuImperativeCon","Boolean","menuId","menuProps","menuNavigationTriggerProps","selection","hide","e","target","value","useEffect","_menuRef$current","current","highlightFirst","onKeyDown","key","stopPropagation","shadowStrength","role","Search","onChange","Options","Footer","Dropdown_","Dropdown","_ref5","afterHide_","afterHide","afterShow","beforeHide","beforeShow","error","_ref5$i18nScope","label","_ref5$onKeyDown","_ref5$onSelect","_ref5$placement","placement","_ref5$restoreFocusOnH","restoreFocusOnHide","_ref5$variant","_ref5$hasTabbableElem","hasTabbableElements","_excluded3","useRef","buttonRef","isDialog","_buttonRef$current","I18n","ariaLabel","t","concat","passA11yPropsToOverlay","autoFocus","overlay","useDropdownContext","DropdownConsumer","_ref6","displayName","Group"],"sources":["../../src/Dropdown/Dropdown.tsx"],"sourcesContent":["import { CaretDown, CaretUp, EllipsisVertical } from '@procore/core-icons/dist'\nimport classNames from 'classnames'\nimport React from 'react'\nimport {\n MenuImperative,\n useMenuImperativeControlNavigation,\n} from '../MenuImperative/MenuImperative'\nimport type { MenuRef, Selection } from '../MenuImperative/MenuImperative.types'\nimport {\n OverlayTrigger,\n useOverlayTriggerContext,\n} from '../OverlayTrigger/OverlayTrigger'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport {\n StyledDropdownButton,\n StyledDropdownMenu,\n StyledDropdownSpinner,\n} from './Dropdown.styles'\nimport type {\n ConsumerProps,\n DropdownButtonProps,\n DropdownItemProps,\n DropdownMenuProps,\n DropdownProps,\n} from './Dropdown.types'\n\nfunction noop() {}\nfunction isFunction(obj: any) {\n return typeof obj === 'function'\n}\nfunction isOpen({ open = false }) {\n return open\n}\n\nconst Item = React.forwardRef<HTMLDivElement, DropdownItemProps>(function Item(\n { restoreFocus = false, ...props },\n ref\n) {\n return (\n <MenuImperative.Item ref={ref} restoreFocus={restoreFocus} {...props} />\n )\n}) as typeof MenuImperative.Item\n\nexport const DropdownButton = React.forwardRef<\n HTMLButtonElement,\n DropdownButtonProps\n>(function DropdownButton(\n {\n children,\n className,\n arrow = false,\n loading = false,\n open = false,\n focus = false,\n variant = 'secondary',\n ...props\n },\n ref\n) {\n const caret =\n arrow && (open ? <CaretUp size=\"sm\" /> : <CaretDown size=\"sm\" />)\n\n const icon = loading ? (\n <StyledDropdownSpinner\n size=\"xs\"\n variant={variant === 'primary' ? 'light' : 'default'}\n />\n ) : (\n caret\n )\n\n return (\n <StyledDropdownButton\n {...props}\n className={classNames(className, {\n focus: isFunction(focus) ? (focus as Function)({ open }) : focus,\n })}\n aria-busy={loading || undefined}\n iconRight={icon}\n $loading={loading}\n variant={variant}\n ref={ref}\n >\n {children}\n </StyledDropdownButton>\n )\n})\n\nconst DropdownMenu = React.forwardRef<HTMLDivElement, DropdownMenuProps>(\n function DropdownMenu(\n {\n children,\n footer,\n i18nScope,\n menuRef,\n onSearch: onSearch_,\n onSelect: onSelect_ = noop,\n id,\n },\n ref\n ) {\n const overlayTriggerContext = useOverlayTriggerContext()\n\n const [search, setSearch] = React.useState('')\n const { menuProps, menuNavigationTriggerProps } =\n useMenuImperativeControlNavigation(menuRef, Boolean(onSearch_), {\n menuId: id,\n })\n\n function onSelect(selection: Selection) {\n overlayTriggerContext.hide({ restoreFocus: selection.restoreFocus })\n\n onSelect_(selection)\n }\n\n function onSearch(e: React.ChangeEvent<HTMLInputElement>) {\n setSearch(e.target.value)\n\n onSearch_?.(e)\n }\n\n React.useEffect(\n function () {\n menuRef.current?.highlightFirst()\n },\n [menuRef, search]\n )\n\n function onKeyDown(e: React.KeyboardEvent<HTMLInputElement>) {\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 // only let parent listeners (modal, overlay) know when empty\n e.stopPropagation()\n }\n }\n\n return (\n <StyledDropdownMenu ref={ref} shadowStrength={2}>\n <MenuImperative\n {...menuProps}\n ref={menuRef}\n onKeyDown={onKeyDown}\n onSelect={onSelect}\n role=\"menu\"\n >\n {onSearch_ && (\n <MenuImperative.Search\n {...menuNavigationTriggerProps}\n onChange={onSearch}\n i18nScope={i18nScope}\n />\n )}\n <MenuImperative.Options>{children}</MenuImperative.Options>\n {footer && <MenuImperative.Footer>{footer}</MenuImperative.Footer>}\n </MenuImperative>\n </StyledDropdownMenu>\n )\n }\n)\n\nconst Dropdown_ = React.forwardRef<HTMLButtonElement, DropdownProps>(\n function Dropdown(\n {\n afterHide: afterHide_,\n afterShow,\n beforeHide,\n beforeShow,\n children,\n error,\n footer,\n i18nScope = 'core.dropdown',\n icon,\n label,\n onKeyDown = noop,\n onSearch,\n onSelect = noop,\n placement = 'bottom-left',\n restoreFocusOnHide = false,\n variant = 'secondary',\n hasTabbableElements = false,\n ...props\n },\n ref\n ) {\n const menuRef = React.useRef<MenuRef>(null)\n const buttonRef = React.useRef<HTMLButtonElement>(null)\n const isDialog = Boolean(onSearch) || hasTabbableElements\n\n function afterHide(e: Event | undefined) {\n // @ts-expect-error\n if (e?.key === 'Escape' || e?.restoreFocus) {\n buttonRef.current?.focus()\n }\n\n afterHide_?.(e)\n\n onSearch?.({\n target: { value: '' },\n } as React.ChangeEvent<HTMLInputElement>)\n }\n\n const I18n = useI18nContext()\n\n const ariaLabel =\n props['aria-label'] ||\n label ||\n I18n.t(`core.dropdown.${props.loading ? 'loading' : 'moreOptions'}`)\n\n return (\n <OverlayTrigger\n role={isDialog ? 'dialog' : 'menu'}\n passA11yPropsToOverlay={!isDialog}\n autoFocus\n afterHide={afterHide}\n afterShow={afterShow}\n beforeHide={beforeHide}\n beforeShow={beforeShow}\n overlay={\n <DropdownMenu\n footer={footer}\n i18nScope={i18nScope}\n menuRef={menuRef}\n onSearch={onSearch}\n onSelect={onSelect}\n >\n {children}\n </DropdownMenu>\n }\n placement={placement}\n ref={mergeRefs(ref, buttonRef)}\n restoreFocusOnHide={restoreFocusOnHide}\n >\n <DropdownButton\n {...props}\n aria-label={ariaLabel}\n arrow={label !== undefined}\n focus={onSearch ? false : isOpen}\n icon={\n props.loading && !label ? undefined : !icon && !label ? (\n <EllipsisVertical />\n ) : (\n icon\n )\n }\n onKeyDown={onKeyDown}\n variant={variant}\n >\n {label}\n </DropdownButton>\n </OverlayTrigger>\n )\n }\n)\n\nexport const useDropdownContext = useOverlayTriggerContext\n\nexport function DropdownConsumer({ children }: ConsumerProps) {\n return children(useDropdownContext())\n}\n\nDropdown_.displayName = 'Dropdown'\n\nItem.displayName = 'Dropdown.Item'\n\n/**\n\n Dropdowns display a list of actions in a menu that opens and closes. We use\n dropdowns most commonly to trigger an action or to redirect the user to\n a new page or modal.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-dropdown--demo)\n\n @see [Design Guidelines](https://design.procore.com/dropdown)\n\n*/\nexport const Dropdown = addSubcomponents(\n {\n Item,\n Group: MenuImperative.Group,\n },\n Dropdown_\n)\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Dropdown.js","names":["CaretDown","CaretUp","EllipsisVertical","classNames","React","MenuImperative","useMenuImperativeControlNavigation","OverlayTrigger","useOverlayTriggerContext","useI18nContext","addSubcomponents","mergeRefs","StyledDropdownButton","StyledDropdownMenu","StyledDropdownSpinner","noop","isFunction","obj","isOpen","_ref","_ref$open","open","Item","forwardRef","_ref2","ref","_ref2$restoreFocus","restoreFocus","props","_objectWithoutProperties","_excluded","createElement","_extends","DropdownButton","_ref3","children","className","_ref3$arrow","arrow","_ref3$loading","loading","_ref3$open","_ref3$focus","focus","_ref3$variant","variant","_excluded2","caret","size","icon","undefined","iconRight","$loading","DropdownMenu","_ref4","footer","i18nScope","menuRef","onSearch_","onSearch","_ref4$onSelect","onSelect","onSelect_","id","overlayTriggerContext","_React$useState","useState","_React$useState2","_slicedToArray","search","setSearch","_useMenuImperativeCon","Boolean","menuId","menuProps","menuNavigationTriggerProps","selection","hide","e","target","value","onKeyDown","key","stopPropagation","shadowStrength","role","Search","onChange","Options","Footer","Dropdown_","Dropdown","_ref5","afterHide_","afterHide","afterShow","beforeHide","beforeShow","error","_ref5$i18nScope","label","_ref5$onKeyDown","_ref5$onSelect","_ref5$placement","placement","_ref5$restoreFocusOnH","restoreFocusOnHide","_ref5$variant","_ref5$hasTabbableElem","hasTabbableElements","_excluded3","useRef","buttonRef","isDialog","_buttonRef$current","current","I18n","ariaLabel","t","concat","passA11yPropsToOverlay","autoFocus","overlay","useDropdownContext","DropdownConsumer","_ref6","displayName","Group"],"sources":["../../src/Dropdown/Dropdown.tsx"],"sourcesContent":["import { CaretDown, CaretUp, EllipsisVertical } from '@procore/core-icons/dist'\nimport classNames from 'classnames'\nimport React from 'react'\nimport {\n MenuImperative,\n useMenuImperativeControlNavigation,\n} from '../MenuImperative/MenuImperative'\nimport type { MenuRef, Selection } from '../MenuImperative/MenuImperative.types'\nimport {\n OverlayTrigger,\n useOverlayTriggerContext,\n} from '../OverlayTrigger/OverlayTrigger'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport {\n StyledDropdownButton,\n StyledDropdownMenu,\n StyledDropdownSpinner,\n} from './Dropdown.styles'\nimport type {\n ConsumerProps,\n DropdownButtonProps,\n DropdownItemProps,\n DropdownMenuProps,\n DropdownProps,\n} from './Dropdown.types'\n\nfunction noop() {}\nfunction isFunction(obj: any) {\n return typeof obj === 'function'\n}\nfunction isOpen({ open = false }) {\n return open\n}\n\nconst Item = React.forwardRef<HTMLDivElement, DropdownItemProps>(function Item(\n { restoreFocus = false, ...props },\n ref\n) {\n return (\n <MenuImperative.Item ref={ref} restoreFocus={restoreFocus} {...props} />\n )\n}) as typeof MenuImperative.Item\n\nexport const DropdownButton = React.forwardRef<\n HTMLButtonElement,\n DropdownButtonProps\n>(function DropdownButton(\n {\n children,\n className,\n arrow = false,\n loading = false,\n open = false,\n focus = false,\n variant = 'secondary',\n ...props\n },\n ref\n) {\n const caret =\n arrow && (open ? <CaretUp size=\"sm\" /> : <CaretDown size=\"sm\" />)\n\n const icon = loading ? (\n <StyledDropdownSpinner\n size=\"xs\"\n variant={variant === 'primary' ? 'light' : 'default'}\n />\n ) : (\n caret\n )\n\n return (\n <StyledDropdownButton\n {...props}\n className={classNames(className, {\n focus: isFunction(focus) ? (focus as Function)({ open }) : focus,\n })}\n aria-busy={loading || undefined}\n iconRight={icon}\n $loading={loading}\n variant={variant}\n ref={ref}\n >\n {children}\n </StyledDropdownButton>\n )\n})\n\nconst DropdownMenu = React.forwardRef<HTMLDivElement, DropdownMenuProps>(\n function DropdownMenu(\n {\n children,\n footer,\n i18nScope,\n menuRef,\n onSearch: onSearch_,\n onSelect: onSelect_ = noop,\n id,\n },\n ref\n ) {\n const overlayTriggerContext = useOverlayTriggerContext()\n\n const [search, setSearch] = React.useState('')\n const { menuProps, menuNavigationTriggerProps } =\n useMenuImperativeControlNavigation(menuRef, Boolean(onSearch_), {\n menuId: id,\n })\n\n function onSelect(selection: Selection) {\n overlayTriggerContext.hide({ restoreFocus: selection.restoreFocus })\n\n onSelect_(selection)\n }\n\n function onSearch(e: React.ChangeEvent<HTMLInputElement>) {\n setSearch(e.target.value)\n\n onSearch_?.(e)\n }\n\n function onKeyDown(e: React.KeyboardEvent<HTMLInputElement>) {\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 // only let parent listeners (modal, overlay) know when empty\n e.stopPropagation()\n }\n }\n\n return (\n <StyledDropdownMenu ref={ref} shadowStrength={2}>\n <MenuImperative\n {...menuProps}\n ref={menuRef}\n onKeyDown={onKeyDown}\n onSelect={onSelect}\n role=\"menu\"\n >\n {onSearch_ && (\n <MenuImperative.Search\n {...menuNavigationTriggerProps}\n onChange={onSearch}\n i18nScope={i18nScope}\n />\n )}\n <MenuImperative.Options>{children}</MenuImperative.Options>\n {footer && <MenuImperative.Footer>{footer}</MenuImperative.Footer>}\n </MenuImperative>\n </StyledDropdownMenu>\n )\n }\n)\n\nconst Dropdown_ = React.forwardRef<HTMLButtonElement, DropdownProps>(\n function Dropdown(\n {\n afterHide: afterHide_,\n afterShow,\n beforeHide,\n beforeShow,\n children,\n error,\n footer,\n i18nScope = 'core.dropdown',\n icon,\n label,\n onKeyDown = noop,\n onSearch,\n onSelect = noop,\n placement = 'bottom-left',\n restoreFocusOnHide = false,\n variant = 'secondary',\n hasTabbableElements = false,\n ...props\n },\n ref\n ) {\n const menuRef = React.useRef<MenuRef>(null)\n const buttonRef = React.useRef<HTMLButtonElement>(null)\n const isDialog = Boolean(onSearch) || hasTabbableElements\n\n function afterHide(e: Event | undefined) {\n // @ts-expect-error\n if (e?.key === 'Escape' || e?.restoreFocus) {\n buttonRef.current?.focus()\n }\n\n afterHide_?.(e)\n\n onSearch?.({\n target: { value: '' },\n } as React.ChangeEvent<HTMLInputElement>)\n }\n\n const I18n = useI18nContext()\n\n const ariaLabel =\n props['aria-label'] ||\n label ||\n I18n.t(`core.dropdown.${props.loading ? 'loading' : 'moreOptions'}`)\n\n return (\n <OverlayTrigger\n role={isDialog ? 'dialog' : 'menu'}\n passA11yPropsToOverlay={!isDialog}\n autoFocus\n afterHide={afterHide}\n afterShow={afterShow}\n beforeHide={beforeHide}\n beforeShow={beforeShow}\n overlay={\n <DropdownMenu\n footer={footer}\n i18nScope={i18nScope}\n menuRef={menuRef}\n onSearch={onSearch}\n onSelect={onSelect}\n >\n {children}\n </DropdownMenu>\n }\n placement={placement}\n ref={mergeRefs(ref, buttonRef)}\n restoreFocusOnHide={restoreFocusOnHide}\n >\n <DropdownButton\n {...props}\n aria-label={ariaLabel}\n arrow={label !== undefined}\n focus={onSearch ? false : isOpen}\n icon={\n props.loading && !label ? undefined : !icon && !label ? (\n <EllipsisVertical />\n ) : (\n icon\n )\n }\n onKeyDown={onKeyDown}\n variant={variant}\n >\n {label}\n </DropdownButton>\n </OverlayTrigger>\n )\n }\n)\n\nexport const useDropdownContext = useOverlayTriggerContext\n\nexport function DropdownConsumer({ children }: ConsumerProps) {\n return children(useDropdownContext())\n}\n\nDropdown_.displayName = 'Dropdown'\n\nItem.displayName = 'Dropdown.Item'\n\n/**\n\n Dropdowns display a list of actions in a menu that opens and closes. We use\n dropdowns most commonly to trigger an action or to redirect the user to\n a new page or modal.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-dropdown--demo)\n\n @see [Design Guidelines](https://design.procore.com/dropdown)\n\n*/\nexport const Dropdown = addSubcomponents(\n {\n Item,\n Group: MenuImperative.Group,\n },\n Dropdown_\n)\n"],"mappings":"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"}
|
|
@@ -5,15 +5,15 @@ import { Card } from '../Card/Card';
|
|
|
5
5
|
import { Spinner } from '../Spinner/Spinner';
|
|
6
6
|
export var StyledDropdownMenu = /*#__PURE__*/styled(Card).withConfig({
|
|
7
7
|
displayName: "StyledDropdownMenu",
|
|
8
|
-
componentId: "core-
|
|
8
|
+
componentId: "core-12_38_0__sc-ufsy2q-0"
|
|
9
9
|
})(["display:flex;max-height:40vh;max-width:248px;min-width:inherit;"]);
|
|
10
10
|
export var StyledDropdownSpinner = /*#__PURE__*/styled(Spinner).withConfig({
|
|
11
11
|
displayName: "StyledDropdownSpinner",
|
|
12
|
-
componentId: "core-
|
|
12
|
+
componentId: "core-12_38_0__sc-ufsy2q-1"
|
|
13
13
|
})(["margin:0 6px;"]);
|
|
14
14
|
export var StyledDropdownButton = /*#__PURE__*/styled(Button).withConfig({
|
|
15
15
|
displayName: "StyledDropdownButton",
|
|
16
|
-
componentId: "core-
|
|
16
|
+
componentId: "core-12_38_0__sc-ufsy2q-2"
|
|
17
17
|
})(["pointer-events:", ";", ""], function (_ref) {
|
|
18
18
|
var disabled = _ref.disabled,
|
|
19
19
|
$loading = _ref.$loading;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var _excluded = ["option", "highlighted", "optionRenderer"],
|
|
1
|
+
var _excluded = ["option", "highlighted", "expanded", "optionRenderer"],
|
|
2
2
|
_excluded2 = ["children", "icon"],
|
|
3
3
|
_excluded3 = ["disabled", "icon", "label", "loading", "options", "onClick", "optionRenderer", "children", "placement", "onKeyDown", "onFocus", "onBlur", "onMouseDown", "onMouseEnter", "onMouseLeave", "size", "variant"];
|
|
4
4
|
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
@@ -18,20 +18,23 @@ import { Portal } from '../Portal';
|
|
|
18
18
|
import { useClickOutside } from '../_hooks/ClickOutside';
|
|
19
19
|
import { useI18nContext } from '../_hooks/I18n';
|
|
20
20
|
import { mergeRefs } from '../_utils/mergeRefs';
|
|
21
|
-
import { defaultOptionRenderer, DropdownFlyoutContext, noop, transformOption, useDropdownFlyout, useDropdownFlyoutContext } from './DropdownFlyout.helpers';
|
|
21
|
+
import { defaultOptionRenderer, DropdownFlyoutContext, hasChildren, noop, transformOption, useDropdownFlyout, useDropdownFlyoutContext } from './DropdownFlyout.helpers';
|
|
22
22
|
import { StyledDropdownFlyout, StyledDropdownFlyoutItem } from './DropdownFlyout.styles';
|
|
23
23
|
import { rootId } from './DropdownFlyout.types';
|
|
24
24
|
import { useDropdownFlyoutOverlay } from './useDropdownFlyoutOverlay';
|
|
25
25
|
export var FlyoutCaption = /*#__PURE__*/React.forwardRef(function FlyoutCaption(_ref, ref) {
|
|
26
26
|
var option = _ref.option,
|
|
27
27
|
highlighted = _ref.highlighted,
|
|
28
|
+
expanded = _ref.expanded,
|
|
28
29
|
optionRenderer = _ref.optionRenderer,
|
|
29
30
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
31
|
+
var renderedOption = optionRenderer(option);
|
|
30
32
|
return /*#__PURE__*/React.createElement(StyledDropdownFlyoutItem, _extends({}, props, {
|
|
31
33
|
ref: ref,
|
|
34
|
+
"aria-expanded": expanded,
|
|
32
35
|
"data-highlighted": highlighted,
|
|
33
36
|
"data-flyout": true
|
|
34
|
-
}),
|
|
37
|
+
}), renderedOption);
|
|
35
38
|
});
|
|
36
39
|
FlyoutCaption.displayName = 'FlyoutCaption';
|
|
37
40
|
export function FlyoutItem(_ref2) {
|
|
@@ -66,6 +69,7 @@ export function FlyoutItem(_ref2) {
|
|
|
66
69
|
onClick: onClick,
|
|
67
70
|
optionRenderer: optionRenderer,
|
|
68
71
|
highlighted: isHighlighted(option),
|
|
72
|
+
expanded: hasChildren(option.origin) ? isExpanded(option) : undefined,
|
|
69
73
|
onMouseEnter: onMouseEnter,
|
|
70
74
|
onMouseLeave: onMouseLeave
|
|
71
75
|
}), Array.isArray(option.children) && isExpanded(option) ? /*#__PURE__*/React.createElement(Portal, null, /*#__PURE__*/React.createElement(FlyoutList, {
|
|
@@ -192,6 +196,7 @@ export var DropdownFlyout = /*#__PURE__*/React.forwardRef(function DropdownFlyou
|
|
|
192
196
|
var ariaLabel = props['aria-label'] || label || I18n.t("core.dropdown.".concat(loading ? 'loading' : 'moreOptions'));
|
|
193
197
|
var trigger = /*#__PURE__*/React.isValidElement(element) ? element : /*#__PURE__*/React.createElement(DefaultButton, {
|
|
194
198
|
"aria-label": ariaLabel,
|
|
199
|
+
"aria-expanded": isOpen,
|
|
195
200
|
children: label,
|
|
196
201
|
disabled: disabled,
|
|
197
202
|
loading: loading,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownFlyout.js","names":["EllipsisVertical","React","useCallback","Card","DropdownButton","Portal","useClickOutside","useI18nContext","mergeRefs","defaultOptionRenderer","DropdownFlyoutContext","noop","transformOption","useDropdownFlyout","useDropdownFlyoutContext","StyledDropdownFlyout","StyledDropdownFlyoutItem","rootId","useDropdownFlyoutOverlay","FlyoutCaption","forwardRef","_ref","ref","option","highlighted","optionRenderer","props","_objectWithoutProperties","_excluded","createElement","_extends","displayName","FlyoutItem","_ref2","overlayElRef","useRef","_useDropdownFlyoutCon","isHighlighted","isExpanded","_onClick","onClick","expand","collapse","onMouseEnter","onMouseLeave","e","relatedTarget","Node","current","contains","_React$useState","useState","_React$useState2","_slicedToArray","referenceEl","setReferenceEl","Fragment","role","origin","Array","isArray","children","FlyoutList","options","overlayRef","placement","_ref3","_ref3$offset","offset","_useDropdownFlyoutOve","mainAxis","overlayStyle","referenceRef","useEffect","shadowStrength","style","map","key","id","DefaultButton","_ref4","icon","_excluded2","loading","undefined","arrow","Boolean","Children","count","DropdownFlyout","_ref5","disabled","label","_options","_ref5$onClick","_ref5$optionRenderer","_ref5$placement","_onKeyDown","onKeyDown","onFocus_","onFocus","onBlur_","onBlur","onMouseDown_","onMouseDown","onMouseEnter_","onMouseLeave_","size","_ref5$variant","variant","_excluded3","innerRef","containerRef","targetRef","flyoutOptions","useMemo","_useDropdownFlyout","closeSelectedDropdown","openDropdown","isOpen","setMouseOver","setFocused","closeDropdown","onClickOutside","refs","element","I18n","ariaLabel","t","concat","trigger","isValidElement","_containerRef$current","target","dataset","flyout","preventDefault","_targetRef$current","focus","_React$useState3","_React$useState4","memoRef","cloneElement","_trigger$props$onClic","_trigger$props","call","tabIndex","Provider","value"],"sources":["../../src/DropdownFlyout/DropdownFlyout.tsx"],"sourcesContent":["import { EllipsisVertical } from '@procore/core-icons/dist'\nimport type { MouseEvent } from 'react'\nimport React, { useCallback } from 'react'\nimport type { ButtonProps } from '../Button'\nimport { Card } from '../Card'\nimport { DropdownButton } from '../Dropdown/Dropdown'\nimport { Portal } from '../Portal'\nimport { useClickOutside } from '../_hooks/ClickOutside'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport type { ReactElementWithRef } from '../_utils/types'\nimport {\n defaultOptionRenderer,\n DropdownFlyoutContext,\n noop,\n transformOption,\n useDropdownFlyout,\n useDropdownFlyoutContext,\n} from './DropdownFlyout.helpers'\nimport {\n StyledDropdownFlyout,\n StyledDropdownFlyoutItem,\n} from './DropdownFlyout.styles'\nimport type {\n DropdownFlyoutProps,\n FlyoutCaptionProps,\n FlyoutItemProps,\n FlyoutListProps,\n} from './DropdownFlyout.types'\nimport { rootId } from './DropdownFlyout.types'\nimport { useDropdownFlyoutOverlay } from './useDropdownFlyoutOverlay'\n\nexport const FlyoutCaption = React.forwardRef<\n HTMLDivElement,\n FlyoutCaptionProps\n>(function FlyoutCaption(\n { option, highlighted, optionRenderer, ...props },\n ref\n) {\n return (\n <StyledDropdownFlyoutItem\n {...props}\n ref={ref}\n data-highlighted={highlighted}\n data-flyout\n >\n {optionRenderer(option)}\n </StyledDropdownFlyoutItem>\n )\n})\n\nFlyoutCaption.displayName = 'FlyoutCaption'\n\nexport function FlyoutItem({ option }: FlyoutItemProps) {\n const overlayElRef = React.useRef<HTMLDivElement>(null)\n const {\n isHighlighted,\n isExpanded,\n onClick: _onClick,\n expand,\n collapse,\n optionRenderer,\n } = useDropdownFlyoutContext()\n\n const onMouseEnter = React.useCallback(() => expand(option), [option, expand])\n const onMouseLeave = React.useCallback(\n (e: React.MouseEvent<HTMLDivElement>) => {\n if (\n e.relatedTarget instanceof Node &&\n overlayElRef.current &&\n !overlayElRef.current.contains(e.relatedTarget as Node)\n ) {\n collapse(option)\n }\n },\n [collapse, option]\n )\n\n const onClick = React.useCallback(() => _onClick(option), [_onClick, option])\n\n const [referenceEl, setReferenceEl] = React.useState<HTMLElement | null>(null)\n\n return (\n <>\n <FlyoutCaption\n ref={setReferenceEl}\n role=\"listitem\"\n option={option.origin}\n onClick={onClick}\n optionRenderer={optionRenderer}\n highlighted={isHighlighted(option)}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n />\n {Array.isArray(option.children) && isExpanded(option) ? (\n <Portal>\n <FlyoutList\n referenceEl={referenceEl}\n options={option.children}\n overlayRef={overlayElRef}\n placement=\"right-top\"\n />\n </Portal>\n ) : null}\n </>\n )\n}\n\nexport function FlyoutList({\n options,\n placement,\n referenceEl,\n overlayRef: overlayElRef,\n offset = 0,\n}: FlyoutListProps) {\n const { overlayStyle, referenceRef, overlayRef } = useDropdownFlyoutOverlay({\n placement,\n offset: { mainAxis: offset },\n })\n\n React.useEffect(() => {\n referenceRef(referenceEl)\n }, [referenceEl, referenceRef])\n\n return (\n <Card\n ref={mergeRefs(overlayRef, overlayElRef)}\n shadowStrength={2}\n style={overlayStyle}\n >\n <StyledDropdownFlyout role=\"list\">\n {options.map((option) => (\n <FlyoutItem key={option.id} option={option} />\n ))}\n </StyledDropdownFlyout>\n </Card>\n )\n}\n\nconst DefaultButton = React.forwardRef<HTMLButtonElement, ButtonProps>(\n function DefaultButton({ children, icon, ...props }, ref) {\n return (\n <DropdownButton\n {...props}\n icon={\n props.loading ? undefined : !icon && !children ? (\n <EllipsisVertical />\n ) : (\n icon\n )\n }\n arrow={Boolean(React.Children.count(children))}\n ref={ref}\n >\n {children}\n </DropdownButton>\n )\n }\n)\n\n/**\n\n The dropdown flyout allows for additional menu items to be nested within\n parent items, which allows more menu options for users.\n @a11y WARN: DropdownFlyotus hold no value and take an action. Focus is expected\n to be moved from a Dropdown to something else, to continue the user flow.\n If the action is inert and does not move focus, this is left to be added\n by the consumer.\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-dropdownflyout--demo)\n\n @see [Design Guidelines](https://design.procore.com/dropdown-flyout)\n\n */\nexport const DropdownFlyout = React.forwardRef<\n HTMLDivElement,\n DropdownFlyoutProps\n>(function DropdownFlyout(\n {\n disabled,\n icon,\n label,\n loading,\n options: _options,\n onClick: _onClick = noop,\n optionRenderer = defaultOptionRenderer,\n children,\n placement = 'right-bottom',\n onKeyDown: _onKeyDown,\n onFocus: onFocus_,\n onBlur: onBlur_,\n onMouseDown: onMouseDown_,\n onMouseEnter: onMouseEnter_,\n onMouseLeave: onMouseLeave_,\n size,\n variant = 'secondary',\n ...props\n },\n ref\n) {\n const innerRef = React.useRef<HTMLDivElement>(null)\n const containerRef = (ref as React.RefObject<HTMLInputElement>) || innerRef\n const overlayElRef = React.useRef<HTMLDivElement>(null)\n const targetRef = React.useRef<HTMLElement>(null)\n\n const flyoutOptions = React.useMemo(\n () => transformOption(_options, rootId),\n [_options]\n )\n\n const {\n options,\n collapse,\n expand,\n closeSelectedDropdown,\n openDropdown,\n isOpen,\n onClick,\n onKeyDown,\n setMouseOver,\n setFocused,\n isExpanded,\n isHighlighted,\n closeDropdown,\n } = useDropdownFlyout({\n flyoutOptions,\n onClick: _onClick,\n onKeyDown: _onKeyDown,\n })\n\n useClickOutside({\n onClickOutside: isOpen ? closeSelectedDropdown : noop,\n refs: [containerRef],\n })\n\n const element =\n typeof children === 'function' ? children({ isOpen }) : children\n\n const I18n = useI18nContext()\n\n const ariaLabel =\n props['aria-label'] ||\n label ||\n I18n.t(`core.dropdown.${loading ? 'loading' : 'moreOptions'}`)\n\n const trigger: ReactElementWithRef = React.isValidElement(element) ? (\n element\n ) : (\n <DefaultButton\n aria-label={ariaLabel}\n children={label}\n disabled={disabled}\n loading={loading}\n icon={icon}\n size={size}\n variant={variant}\n />\n )\n\n function onBlur(e: React.FocusEvent<HTMLDivElement>) {\n setFocused(false)\n closeSelectedDropdown(e)\n onBlur_?.(e)\n }\n\n function onFocus(e: React.FocusEvent<HTMLDivElement>) {\n setFocused(true)\n onFocus_?.(e)\n }\n\n function onMouseDown(e: React.MouseEvent<HTMLDivElement>) {\n // Discard firing of blur event\n // when click was inside the dropdown\n if ((e.target as HTMLElement).dataset.flyout) {\n e.preventDefault()\n return\n }\n if (e.target instanceof Node && containerRef.current?.contains(e.target)) {\n e.preventDefault()\n targetRef.current?.focus()\n }\n onMouseDown_?.(e)\n }\n\n function onMouseLeave(e: React.MouseEvent<HTMLDivElement>) {\n setMouseOver(false)\n onMouseLeave_?.(e)\n }\n\n function onMouseEnter(e: React.MouseEvent<HTMLDivElement>) {\n setMouseOver(true)\n onMouseEnter_?.(e)\n }\n\n const [referenceEl, setReferenceEl] = React.useState<HTMLElement | null>(null)\n\n // mergeRefs function is from shared utils.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const memoRef = useCallback(\n trigger.ref\n ? mergeRefs(trigger.ref, targetRef, setReferenceEl)\n : mergeRefs(targetRef, setReferenceEl),\n [targetRef, setReferenceEl, trigger.ref]\n )\n return (\n <div\n {...props}\n aria-label={undefined}\n ref={containerRef}\n onKeyDown={onKeyDown}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onFocus={onFocus}\n onMouseDown={onMouseDown}\n onBlur={onBlur}\n >\n {React.cloneElement(trigger, {\n ref: memoRef,\n onClick: (e: MouseEvent<HTMLElement, 'click'>) => {\n trigger.props.onClick?.(e)\n if (isOpen) {\n closeDropdown()\n } else {\n openDropdown()\n }\n },\n tabIndex: 0,\n })}\n <DropdownFlyoutContext.Provider\n value={{\n expand,\n collapse,\n onClick,\n isExpanded,\n isHighlighted,\n optionRenderer,\n }}\n >\n {isOpen && (\n <Portal>\n <FlyoutList\n options={options}\n overlayRef={overlayElRef}\n placement={placement}\n referenceEl={referenceEl}\n offset={4}\n />\n </Portal>\n )}\n </DropdownFlyoutContext.Provider>\n </div>\n )\n})\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DropdownFlyout.js","names":["EllipsisVertical","React","useCallback","Card","DropdownButton","Portal","useClickOutside","useI18nContext","mergeRefs","defaultOptionRenderer","DropdownFlyoutContext","hasChildren","noop","transformOption","useDropdownFlyout","useDropdownFlyoutContext","StyledDropdownFlyout","StyledDropdownFlyoutItem","rootId","useDropdownFlyoutOverlay","FlyoutCaption","forwardRef","_ref","ref","option","highlighted","expanded","optionRenderer","props","_objectWithoutProperties","_excluded","renderedOption","createElement","_extends","displayName","FlyoutItem","_ref2","overlayElRef","useRef","_useDropdownFlyoutCon","isHighlighted","isExpanded","_onClick","onClick","expand","collapse","onMouseEnter","onMouseLeave","e","relatedTarget","Node","current","contains","_React$useState","useState","_React$useState2","_slicedToArray","referenceEl","setReferenceEl","Fragment","role","origin","undefined","Array","isArray","children","FlyoutList","options","overlayRef","placement","_ref3","_ref3$offset","offset","_useDropdownFlyoutOve","mainAxis","overlayStyle","referenceRef","useEffect","shadowStrength","style","map","key","id","DefaultButton","_ref4","icon","_excluded2","loading","arrow","Boolean","Children","count","DropdownFlyout","_ref5","disabled","label","_options","_ref5$onClick","_ref5$optionRenderer","_ref5$placement","_onKeyDown","onKeyDown","onFocus_","onFocus","onBlur_","onBlur","onMouseDown_","onMouseDown","onMouseEnter_","onMouseLeave_","size","_ref5$variant","variant","_excluded3","innerRef","containerRef","targetRef","flyoutOptions","useMemo","_useDropdownFlyout","closeSelectedDropdown","openDropdown","isOpen","setMouseOver","setFocused","closeDropdown","onClickOutside","refs","element","I18n","ariaLabel","t","concat","trigger","isValidElement","_containerRef$current","target","dataset","flyout","preventDefault","_targetRef$current","focus","_React$useState3","_React$useState4","memoRef","cloneElement","_trigger$props$onClic","_trigger$props","call","tabIndex","Provider","value"],"sources":["../../src/DropdownFlyout/DropdownFlyout.tsx"],"sourcesContent":["import { EllipsisVertical } from '@procore/core-icons/dist'\nimport type { MouseEvent } from 'react'\nimport React, { useCallback } from 'react'\nimport type { ButtonProps } from '../Button'\nimport { Card } from '../Card'\nimport { DropdownButton } from '../Dropdown/Dropdown'\nimport { Portal } from '../Portal'\nimport { useClickOutside } from '../_hooks/ClickOutside'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport type { ReactElementWithRef } from '../_utils/types'\nimport {\n defaultOptionRenderer,\n DropdownFlyoutContext,\n hasChildren,\n noop,\n transformOption,\n useDropdownFlyout,\n useDropdownFlyoutContext,\n} from './DropdownFlyout.helpers'\nimport {\n StyledDropdownFlyout,\n StyledDropdownFlyoutItem,\n} from './DropdownFlyout.styles'\nimport type {\n DropdownFlyoutProps,\n FlyoutCaptionProps,\n FlyoutItemProps,\n FlyoutListProps,\n} from './DropdownFlyout.types'\nimport { rootId } from './DropdownFlyout.types'\nimport { useDropdownFlyoutOverlay } from './useDropdownFlyoutOverlay'\n\nexport const FlyoutCaption = React.forwardRef<\n HTMLDivElement,\n FlyoutCaptionProps\n>(function FlyoutCaption(\n { option, highlighted, expanded, optionRenderer, ...props },\n ref\n) {\n const renderedOption = optionRenderer(option)\n\n return (\n <StyledDropdownFlyoutItem\n {...props}\n ref={ref}\n aria-expanded={expanded}\n data-highlighted={highlighted}\n data-flyout\n >\n {renderedOption}\n </StyledDropdownFlyoutItem>\n )\n})\n\nFlyoutCaption.displayName = 'FlyoutCaption'\n\nexport function FlyoutItem({ option }: FlyoutItemProps) {\n const overlayElRef = React.useRef<HTMLDivElement>(null)\n const {\n isHighlighted,\n isExpanded,\n onClick: _onClick,\n expand,\n collapse,\n optionRenderer,\n } = useDropdownFlyoutContext()\n\n const onMouseEnter = React.useCallback(() => expand(option), [option, expand])\n const onMouseLeave = React.useCallback(\n (e: React.MouseEvent<HTMLDivElement>) => {\n if (\n e.relatedTarget instanceof Node &&\n overlayElRef.current &&\n !overlayElRef.current.contains(e.relatedTarget as Node)\n ) {\n collapse(option)\n }\n },\n [collapse, option]\n )\n\n const onClick = React.useCallback(() => _onClick(option), [_onClick, option])\n\n const [referenceEl, setReferenceEl] = React.useState<HTMLElement | null>(null)\n\n return (\n <>\n <FlyoutCaption\n ref={setReferenceEl}\n role=\"listitem\"\n option={option.origin}\n onClick={onClick}\n optionRenderer={optionRenderer}\n highlighted={isHighlighted(option)}\n expanded={hasChildren(option.origin) ? isExpanded(option) : undefined}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n />\n {Array.isArray(option.children) && isExpanded(option) ? (\n <Portal>\n <FlyoutList\n referenceEl={referenceEl}\n options={option.children}\n overlayRef={overlayElRef}\n placement=\"right-top\"\n />\n </Portal>\n ) : null}\n </>\n )\n}\n\nexport function FlyoutList({\n options,\n placement,\n referenceEl,\n overlayRef: overlayElRef,\n offset = 0,\n}: FlyoutListProps) {\n const { overlayStyle, referenceRef, overlayRef } = useDropdownFlyoutOverlay({\n placement,\n offset: { mainAxis: offset },\n })\n\n React.useEffect(() => {\n referenceRef(referenceEl)\n }, [referenceEl, referenceRef])\n\n return (\n <Card\n ref={mergeRefs(overlayRef, overlayElRef)}\n shadowStrength={2}\n style={overlayStyle}\n >\n <StyledDropdownFlyout role=\"list\">\n {options.map((option) => (\n <FlyoutItem key={option.id} option={option} />\n ))}\n </StyledDropdownFlyout>\n </Card>\n )\n}\n\nconst DefaultButton = React.forwardRef<HTMLButtonElement, ButtonProps>(\n function DefaultButton({ children, icon, ...props }, ref) {\n return (\n <DropdownButton\n {...props}\n icon={\n props.loading ? undefined : !icon && !children ? (\n <EllipsisVertical />\n ) : (\n icon\n )\n }\n arrow={Boolean(React.Children.count(children))}\n ref={ref}\n >\n {children}\n </DropdownButton>\n )\n }\n)\n\n/**\n\n The dropdown flyout allows for additional menu items to be nested within\n parent items, which allows more menu options for users.\n @a11y WARN: DropdownFlyotus hold no value and take an action. Focus is expected\n to be moved from a Dropdown to something else, to continue the user flow.\n If the action is inert and does not move focus, this is left to be added\n by the consumer.\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-dropdownflyout--demo)\n\n @see [Design Guidelines](https://design.procore.com/dropdown-flyout)\n\n */\nexport const DropdownFlyout = React.forwardRef<\n HTMLDivElement,\n DropdownFlyoutProps\n>(function DropdownFlyout(\n {\n disabled,\n icon,\n label,\n loading,\n options: _options,\n onClick: _onClick = noop,\n optionRenderer = defaultOptionRenderer,\n children,\n placement = 'right-bottom',\n onKeyDown: _onKeyDown,\n onFocus: onFocus_,\n onBlur: onBlur_,\n onMouseDown: onMouseDown_,\n onMouseEnter: onMouseEnter_,\n onMouseLeave: onMouseLeave_,\n size,\n variant = 'secondary',\n ...props\n },\n ref\n) {\n const innerRef = React.useRef<HTMLDivElement>(null)\n const containerRef = (ref as React.RefObject<HTMLInputElement>) || innerRef\n const overlayElRef = React.useRef<HTMLDivElement>(null)\n const targetRef = React.useRef<HTMLElement>(null)\n\n const flyoutOptions = React.useMemo(\n () => transformOption(_options, rootId),\n [_options]\n )\n\n const {\n options,\n collapse,\n expand,\n closeSelectedDropdown,\n openDropdown,\n isOpen,\n onClick,\n onKeyDown,\n setMouseOver,\n setFocused,\n isExpanded,\n isHighlighted,\n closeDropdown,\n } = useDropdownFlyout({\n flyoutOptions,\n onClick: _onClick,\n onKeyDown: _onKeyDown,\n })\n\n useClickOutside({\n onClickOutside: isOpen ? closeSelectedDropdown : noop,\n refs: [containerRef],\n })\n\n const element =\n typeof children === 'function' ? children({ isOpen }) : children\n\n const I18n = useI18nContext()\n\n const ariaLabel =\n props['aria-label'] ||\n label ||\n I18n.t(`core.dropdown.${loading ? 'loading' : 'moreOptions'}`)\n\n const trigger: ReactElementWithRef = React.isValidElement(element) ? (\n element\n ) : (\n <DefaultButton\n aria-label={ariaLabel}\n aria-expanded={isOpen}\n children={label}\n disabled={disabled}\n loading={loading}\n icon={icon}\n size={size}\n variant={variant}\n />\n )\n\n function onBlur(e: React.FocusEvent<HTMLDivElement>) {\n setFocused(false)\n closeSelectedDropdown(e)\n onBlur_?.(e)\n }\n\n function onFocus(e: React.FocusEvent<HTMLDivElement>) {\n setFocused(true)\n onFocus_?.(e)\n }\n\n function onMouseDown(e: React.MouseEvent<HTMLDivElement>) {\n // Discard firing of blur event\n // when click was inside the dropdown\n if ((e.target as HTMLElement).dataset.flyout) {\n e.preventDefault()\n return\n }\n if (e.target instanceof Node && containerRef.current?.contains(e.target)) {\n e.preventDefault()\n targetRef.current?.focus()\n }\n onMouseDown_?.(e)\n }\n\n function onMouseLeave(e: React.MouseEvent<HTMLDivElement>) {\n setMouseOver(false)\n onMouseLeave_?.(e)\n }\n\n function onMouseEnter(e: React.MouseEvent<HTMLDivElement>) {\n setMouseOver(true)\n onMouseEnter_?.(e)\n }\n\n const [referenceEl, setReferenceEl] = React.useState<HTMLElement | null>(null)\n\n // mergeRefs function is from shared utils.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const memoRef = useCallback(\n trigger.ref\n ? mergeRefs(trigger.ref, targetRef, setReferenceEl)\n : mergeRefs(targetRef, setReferenceEl),\n [targetRef, setReferenceEl, trigger.ref]\n )\n return (\n <div\n {...props}\n aria-label={undefined}\n ref={containerRef}\n onKeyDown={onKeyDown}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onFocus={onFocus}\n onMouseDown={onMouseDown}\n onBlur={onBlur}\n >\n {React.cloneElement(trigger, {\n ref: memoRef,\n onClick: (e: MouseEvent<HTMLElement, 'click'>) => {\n trigger.props.onClick?.(e)\n if (isOpen) {\n closeDropdown()\n } else {\n openDropdown()\n }\n },\n tabIndex: 0,\n })}\n <DropdownFlyoutContext.Provider\n value={{\n expand,\n collapse,\n onClick,\n isExpanded,\n isHighlighted,\n optionRenderer,\n }}\n >\n {isOpen && (\n <Portal>\n <FlyoutList\n options={options}\n overlayRef={overlayElRef}\n placement={placement}\n referenceEl={referenceEl}\n offset={4}\n />\n </Portal>\n )}\n </DropdownFlyoutContext.Provider>\n </div>\n )\n})\n"],"mappings":"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"}
|
|
@@ -6,18 +6,18 @@ import { getEllipsis } from '../_styles/mixins';
|
|
|
6
6
|
import { spacing } from '../_styles/spacing';
|
|
7
7
|
export var StyledDropdownFlyout = /*#__PURE__*/styled.div.withConfig({
|
|
8
8
|
displayName: "StyledDropdownFlyout",
|
|
9
|
-
componentId: "core-
|
|
9
|
+
componentId: "core-12_38_0__sc-1i79jsg-0"
|
|
10
10
|
})(["display:flex;flex-wrap:wrap;flex-direction:column;width:100%;max-height:855px;padding:", "px 0;"], spacing.sm);
|
|
11
11
|
export var StyledDropdownFlyoutItem = /*#__PURE__*/styled.div.withConfig({
|
|
12
12
|
displayName: "StyledDropdownFlyoutItem",
|
|
13
|
-
componentId: "core-
|
|
13
|
+
componentId: "core-12_38_0__sc-1i79jsg-1"
|
|
14
14
|
})(["display:flex;justify-content:space-between;cursor:pointer;width:100%;padding:", "px ", "px;color:", ";", " &[data-highlighted='true'],&:hover{background-color:", ";}"], spacing.xs, spacing.lg, colors.gray20, getTypographyIntent('body'), colors.gray96);
|
|
15
15
|
export var StyledDropdownFlyoutLabel = /*#__PURE__*/styled.span.withConfig({
|
|
16
16
|
displayName: "StyledDropdownFlyoutLabel",
|
|
17
|
-
componentId: "core-
|
|
17
|
+
componentId: "core-12_38_0__sc-1i79jsg-2"
|
|
18
18
|
})(["", ""], getEllipsis());
|
|
19
19
|
export var StyledDropdownFlyoutExpandIcon = /*#__PURE__*/styled.span.withConfig({
|
|
20
20
|
displayName: "StyledDropdownFlyoutExpandIcon",
|
|
21
|
-
componentId: "core-
|
|
21
|
+
componentId: "core-12_38_0__sc-1i79jsg-3"
|
|
22
22
|
})(["position:relative;display:inline-flex;align-self:center;flex-shrink:0;margin-left:", "px;white-space:nowrap;", ""], spacing.lg, arrowRight(4, 'black'));
|
|
23
23
|
//# sourceMappingURL=DropdownFlyout.styles.js.map
|
|
@@ -63,6 +63,7 @@ export declare type FlyoutOptionId = FlyoutOption['id'] | typeof rootId;
|
|
|
63
63
|
export interface FlyoutCaptionProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
64
64
|
option: DropdownOption;
|
|
65
65
|
highlighted: boolean;
|
|
66
|
+
expanded?: boolean;
|
|
66
67
|
optionRenderer: (option: DropdownOption) => React.ReactNode;
|
|
67
68
|
}
|
|
68
69
|
export interface FlyoutListProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownFlyout.types.js","names":["rootId"],"sources":["../../src/DropdownFlyout/DropdownFlyout.types.ts"],"sourcesContent":["import type { Ref } from 'react'\nimport type { DropdownProps } from '../Dropdown/Dropdown.types'\nimport type { OverlayProps } from '../Overlay/Overlay'\nimport type { Placement, Props } from '../_utils/types'\n\nexport const rootId = 'ROOT_ID'\n\nexport type Action =\n | { type: 'highlight'; option: FlyoutOption }\n | { type: 'expand'; option: FlyoutOption }\n | { type: 'collapse'; option: FlyoutOption }\n | { type: 'close' }\n | { type: 'open' }\n | { type: 'setMouseOver'; isMouseOver: boolean }\n | { type: 'setFocused'; isFocused: boolean }\n | { type: 'updateOptions'; options: FlyoutOption[] }\n\ntype ExpandedItem = FlyoutOptionId\n\nexport type State = {\n highlighted: FlyoutOption\n expanded: ExpandedItem[]\n options: FlyoutOption[]\n isMouseOver: boolean\n isFocused: boolean\n isOpen: boolean\n}\n\nexport interface DropdownOption {\n value: any\n label: string\n children?: DropdownOption[]\n}\n\ntype OptionId = string\nexport interface FlyoutOption {\n /**\n * @since 10.19.0\n */\n id: OptionId\n /**\n * @since 10.19.0\n */\n parentId: OptionId | typeof rootId\n /**\n * @since 10.19.0\n */\n origin: DropdownOption\n /**\n * @since 10.19.0\n */\n children?: FlyoutOption[]\n}\n\nexport type FlyoutOptionId = FlyoutOption['id'] | typeof rootId\n\nexport interface FlyoutCaptionProps\n extends React.HTMLAttributes<HTMLDivElement> {\n option: DropdownOption\n highlighted: boolean\n optionRenderer: (option: DropdownOption) => React.ReactNode\n}\n\nexport interface FlyoutListProps extends React.HTMLAttributes<HTMLDivElement> {\n options: FlyoutOption[]\n overlayRef: Ref<HTMLDivElement>\n placement: Placement\n referenceEl: HTMLElement | null\n offset?: number\n}\n\nexport interface DropdownFlyoutProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children' | 'onClick'> {\n children?: React.ReactNode | React.FunctionComponent<{ isOpen?: boolean }>\n /**\n * @since 10.19.0\n */\n disabled?: DropdownProps['disabled']\n\n /**\n * The text of the button.\n * @since 10.19.0\n */\n label?: DropdownProps['label']\n /**\n * @since 10.19.0\n */\n loading?: DropdownProps['loading']\n\n /**\n * The icon of the button.\n * @since 10.19.0\n */\n icon?: DropdownProps['icon']\n\n /**\n * Data of the dropdown options - `Option[]`\n * ```\n * type Option = { label: string; children?: Option[] }\n * ```\n * @since 10.19.0\n */\n options: DropdownOption[]\n\n /**\n * Callback for click on dropdown option\n * ```\n * (option: Option) => void\n * ```\n * @since 10.19.0\n */\n onClick?: (option: DropdownOption) => void\n\n /**\n * Render prop to specify custom dropdown option content\n * ```\n * (option: Option) => ReactNode\n * ```\n * @since 10.19.0\n */\n optionRenderer?: (option: DropdownOption) => React.ReactNode\n\n /**\n * @default 'right-bottom'\n * @since 10.19.0\n */\n placement?: OverlayProps['placement']\n\n /**\n * The button size\n * @default 'md'\n * @since 10.19.0\n */\n size?: DropdownProps['size']\n\n /**\n * @default 'secondary'\n * @since 10.19.0\n */\n variant?: DropdownProps['variant']\n}\n\nexport interface FlyoutItemProps extends Props {\n option: FlyoutOption\n}\n"],"mappings":"AAKA,OAAO,IAAMA,MAAM,GAAG,SAAS"}
|
|
1
|
+
{"version":3,"file":"DropdownFlyout.types.js","names":["rootId"],"sources":["../../src/DropdownFlyout/DropdownFlyout.types.ts"],"sourcesContent":["import type { Ref } from 'react'\nimport type { DropdownProps } from '../Dropdown/Dropdown.types'\nimport type { OverlayProps } from '../Overlay/Overlay'\nimport type { Placement, Props } from '../_utils/types'\n\nexport const rootId = 'ROOT_ID'\n\nexport type Action =\n | { type: 'highlight'; option: FlyoutOption }\n | { type: 'expand'; option: FlyoutOption }\n | { type: 'collapse'; option: FlyoutOption }\n | { type: 'close' }\n | { type: 'open' }\n | { type: 'setMouseOver'; isMouseOver: boolean }\n | { type: 'setFocused'; isFocused: boolean }\n | { type: 'updateOptions'; options: FlyoutOption[] }\n\ntype ExpandedItem = FlyoutOptionId\n\nexport type State = {\n highlighted: FlyoutOption\n expanded: ExpandedItem[]\n options: FlyoutOption[]\n isMouseOver: boolean\n isFocused: boolean\n isOpen: boolean\n}\n\nexport interface DropdownOption {\n value: any\n label: string\n children?: DropdownOption[]\n}\n\ntype OptionId = string\nexport interface FlyoutOption {\n /**\n * @since 10.19.0\n */\n id: OptionId\n /**\n * @since 10.19.0\n */\n parentId: OptionId | typeof rootId\n /**\n * @since 10.19.0\n */\n origin: DropdownOption\n /**\n * @since 10.19.0\n */\n children?: FlyoutOption[]\n}\n\nexport type FlyoutOptionId = FlyoutOption['id'] | typeof rootId\n\nexport interface FlyoutCaptionProps\n extends React.HTMLAttributes<HTMLDivElement> {\n option: DropdownOption\n highlighted: boolean\n expanded?: boolean\n optionRenderer: (option: DropdownOption) => React.ReactNode\n}\n\nexport interface FlyoutListProps extends React.HTMLAttributes<HTMLDivElement> {\n options: FlyoutOption[]\n overlayRef: Ref<HTMLDivElement>\n placement: Placement\n referenceEl: HTMLElement | null\n offset?: number\n}\n\nexport interface DropdownFlyoutProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children' | 'onClick'> {\n children?: React.ReactNode | React.FunctionComponent<{ isOpen?: boolean }>\n /**\n * @since 10.19.0\n */\n disabled?: DropdownProps['disabled']\n\n /**\n * The text of the button.\n * @since 10.19.0\n */\n label?: DropdownProps['label']\n /**\n * @since 10.19.0\n */\n loading?: DropdownProps['loading']\n\n /**\n * The icon of the button.\n * @since 10.19.0\n */\n icon?: DropdownProps['icon']\n\n /**\n * Data of the dropdown options - `Option[]`\n * ```\n * type Option = { label: string; children?: Option[] }\n * ```\n * @since 10.19.0\n */\n options: DropdownOption[]\n\n /**\n * Callback for click on dropdown option\n * ```\n * (option: Option) => void\n * ```\n * @since 10.19.0\n */\n onClick?: (option: DropdownOption) => void\n\n /**\n * Render prop to specify custom dropdown option content\n * ```\n * (option: Option) => ReactNode\n * ```\n * @since 10.19.0\n */\n optionRenderer?: (option: DropdownOption) => React.ReactNode\n\n /**\n * @default 'right-bottom'\n * @since 10.19.0\n */\n placement?: OverlayProps['placement']\n\n /**\n * The button size\n * @default 'md'\n * @since 10.19.0\n */\n size?: DropdownProps['size']\n\n /**\n * @default 'secondary'\n * @since 10.19.0\n */\n variant?: DropdownProps['variant']\n}\n\nexport interface FlyoutItemProps extends Props {\n option: FlyoutOption\n}\n"],"mappings":"AAKA,OAAO,IAAMA,MAAM,GAAG,SAAS"}
|
|
@@ -95,7 +95,7 @@ export function MultipleErrors(props) {
|
|
|
95
95
|
// make error banner accessible as a styled-components selector
|
|
96
96
|
export var DropzoneErrorBanner = /*#__PURE__*/styled(DropzoneErrorBannerBase).withConfig({
|
|
97
97
|
displayName: "DropzoneErrorBanner",
|
|
98
|
-
componentId: "core-
|
|
98
|
+
componentId: "core-12_38_0__sc-l4fojb-0"
|
|
99
99
|
})([""]);
|
|
100
100
|
function DropzoneContainer(_ref2) {
|
|
101
101
|
var active = _ref2.active,
|
|
@@ -9,15 +9,15 @@ import { colors } from '../_styles/colors';
|
|
|
9
9
|
import { spacing } from '../_styles/spacing';
|
|
10
10
|
export var StyledErrorBanner = /*#__PURE__*/styled(ErrorBannerBase).withConfig({
|
|
11
11
|
displayName: "StyledErrorBanner",
|
|
12
|
-
componentId: "core-
|
|
12
|
+
componentId: "core-12_38_0__sc-by95hy-0"
|
|
13
13
|
})(["margin-top:", "px;flex-shrink:0;"], spacing.lg);
|
|
14
14
|
export var StyledErrorBannerDetails = /*#__PURE__*/styled.ul.withConfig({
|
|
15
15
|
displayName: "StyledErrorBannerDetails",
|
|
16
|
-
componentId: "core-
|
|
16
|
+
componentId: "core-12_38_0__sc-by95hy-1"
|
|
17
17
|
})(["margin:", "px;padding:0;list-style-position:inside;list-style-type:disc;"], spacing.xs);
|
|
18
18
|
export var StyledDropzoneIcon = /*#__PURE__*/styled.div.withConfig({
|
|
19
19
|
displayName: "StyledDropzoneIcon",
|
|
20
|
-
componentId: "core-
|
|
20
|
+
componentId: "core-12_38_0__sc-by95hy-2"
|
|
21
21
|
})(["display:flex;justify-content:center;align-items:center;height:64px;color:", ";margin-bottom:", "px;transition:all 250ms ease-out;", " svg{width:auto;height:100%;}"], colors.gray45, spacing.lg, function (_ref) {
|
|
22
22
|
var $disabled = _ref.$disabled;
|
|
23
23
|
return $disabled && css(["height:72px;margin-bottom:", "px;"], spacing.sm);
|
|
@@ -26,7 +26,7 @@ var activeDropzone = /*#__PURE__*/css(["outline:none;border:2px dashed ", ";back
|
|
|
26
26
|
var disabledDropzone = /*#__PURE__*/css(["color:", ";border:2px dashed ", ";background-color:", ";cursor:not-allowed;& ", "{color:", ";transform:none;}"], colors.gray70, colors.gray85, colors.gray98, StyledDropzoneIcon, colors.gray85);
|
|
27
27
|
export var StyledDropzoneContainer = /*#__PURE__*/styled.div.withConfig({
|
|
28
28
|
displayName: "StyledDropzoneContainer",
|
|
29
|
-
componentId: "core-
|
|
29
|
+
componentId: "core-12_38_0__sc-by95hy-3"
|
|
30
30
|
})(["", " display:inline-flex;justify-content:center;align-items:center;box-sizing:border-box;width:100%;height:100%;min-height:92px;padding:", "px;color:", ";border:2px dashed ", ";background-color:", ";border-radius:", "px;text-align:center;letter-spacing:0.25px;transition:all 250ms ease-out;cursor:grab;", " ", " ", " ", ""], getTypographyIntent('body'), spacing.lg, colors.gray40, colors.gray70, colors.gray96, borderRadius.md, function (_ref2) {
|
|
31
31
|
var $disabled = _ref2.$disabled;
|
|
32
32
|
return !$disabled && css(["&:hover{", "}"], activeDropzone);
|
|
@@ -43,25 +43,25 @@ export var StyledDropzoneContainer = /*#__PURE__*/styled.div.withConfig({
|
|
|
43
43
|
});
|
|
44
44
|
export var StyledDropzoneMessage = /*#__PURE__*/styled.div.withConfig({
|
|
45
45
|
displayName: "StyledDropzoneMessage",
|
|
46
|
-
componentId: "core-
|
|
46
|
+
componentId: "core-12_38_0__sc-by95hy-4"
|
|
47
47
|
})(["user-select:none;"]);
|
|
48
48
|
export var StyledUploadButton = /*#__PURE__*/styled(Button).withConfig({
|
|
49
49
|
displayName: "StyledUploadButton",
|
|
50
|
-
componentId: "core-
|
|
50
|
+
componentId: "core-12_38_0__sc-by95hy-5"
|
|
51
51
|
})(["display:block;margin-left:auto;margin-right:auto;margin-bottom:", "px;"], spacing.sm);
|
|
52
52
|
export var StyledDropzoneCaption = /*#__PURE__*/styled.span.withConfig({
|
|
53
53
|
displayName: "StyledDropzoneCaption",
|
|
54
|
-
componentId: "core-
|
|
54
|
+
componentId: "core-12_38_0__sc-by95hy-6"
|
|
55
55
|
})(["color:", ";"], function (_ref6) {
|
|
56
56
|
var $error = _ref6.$error;
|
|
57
57
|
return $error && colors.gray15;
|
|
58
58
|
});
|
|
59
59
|
export var StyledDropzoneWrapper = /*#__PURE__*/styled(Flex).withConfig({
|
|
60
60
|
displayName: "StyledDropzoneWrapper",
|
|
61
|
-
componentId: "core-
|
|
61
|
+
componentId: "core-12_38_0__sc-by95hy-7"
|
|
62
62
|
})(["height:100%;"]);
|
|
63
63
|
export var StyledDropzoneFocusDetector = /*#__PURE__*/styled(Box).withConfig({
|
|
64
64
|
displayName: "StyledDropzoneFocusDetector",
|
|
65
|
-
componentId: "core-
|
|
65
|
+
componentId: "core-12_38_0__sc-by95hy-8"
|
|
66
66
|
})(["height:100%;"]);
|
|
67
67
|
//# sourceMappingURL=Dropzone.styles.js.map
|
|
@@ -5,27 +5,27 @@ import { spacing } from '../_styles/spacing';
|
|
|
5
5
|
var emptyStateWidth = 312;
|
|
6
6
|
export var StyledSvg = /*#__PURE__*/styled.svg.withConfig({
|
|
7
7
|
displayName: "StyledSvg",
|
|
8
|
-
componentId: "core-
|
|
8
|
+
componentId: "core-12_38_0__sc-1xaoo8n-0"
|
|
9
9
|
})(["width:200px;height:200px;"]);
|
|
10
10
|
export var StyledImage = /*#__PURE__*/styled.div.withConfig({
|
|
11
11
|
displayName: "StyledImage",
|
|
12
|
-
componentId: "core-
|
|
12
|
+
componentId: "core-12_38_0__sc-1xaoo8n-1"
|
|
13
13
|
})([""]);
|
|
14
14
|
export var StyledTitle = /*#__PURE__*/styled.div.withConfig({
|
|
15
15
|
displayName: "StyledTitle",
|
|
16
|
-
componentId: "core-
|
|
16
|
+
componentId: "core-12_38_0__sc-1xaoo8n-2"
|
|
17
17
|
})(["color:", ";max-width:", "px;width:100%;", ""], colors.gray15, emptyStateWidth, getTypographyIntent('h2'));
|
|
18
18
|
export var StyledDescription = /*#__PURE__*/styled.div.withConfig({
|
|
19
19
|
displayName: "StyledDescription",
|
|
20
|
-
componentId: "core-
|
|
20
|
+
componentId: "core-12_38_0__sc-1xaoo8n-3"
|
|
21
21
|
})(["margin-top:", "px;color:", ";max-width:", "px;width:100%;", ""], spacing.lg, colors.gray45, emptyStateWidth, getTypographyIntent('body'));
|
|
22
22
|
export var StyledActions = /*#__PURE__*/styled.div.withConfig({
|
|
23
23
|
displayName: "StyledActions",
|
|
24
|
-
componentId: "core-
|
|
24
|
+
componentId: "core-12_38_0__sc-1xaoo8n-4"
|
|
25
25
|
})(["margin-top:", "px;"], spacing.xl);
|
|
26
26
|
export var StyledEmptyState = /*#__PURE__*/styled.div.withConfig({
|
|
27
27
|
displayName: "StyledEmptyState",
|
|
28
|
-
componentId: "core-
|
|
28
|
+
componentId: "core-12_38_0__sc-1xaoo8n-5"
|
|
29
29
|
})(["display:flex;justify-content:center;align-items:", ";gap:", "px;flex-direction:", ";margin-top:", "px;margin-bottom:", "px;", "{> img{max-width:200px;}}", " ", "}"], function (_ref) {
|
|
30
30
|
var $isHorizontal = _ref.$isHorizontal;
|
|
31
31
|
return $isHorizontal ? 'flex-start' : 'center';
|
|
@@ -2,14 +2,14 @@ import styled from 'styled-components';
|
|
|
2
2
|
import { getSmallIconBodyTextRules, StyledP } from '../Semantic/Semantic.styles';
|
|
3
3
|
export var StyledField = /*#__PURE__*/styled.div.withConfig({
|
|
4
4
|
displayName: "StyledField",
|
|
5
|
-
componentId: "core-
|
|
5
|
+
componentId: "core-12_38_0__sc-1q3pe6s-0"
|
|
6
6
|
})(["> ", "{", "}"], StyledP, getSmallIconBodyTextRules);
|
|
7
7
|
export var StyledFieldHeader = /*#__PURE__*/styled.div.withConfig({
|
|
8
8
|
displayName: "StyledFieldHeader",
|
|
9
|
-
componentId: "core-
|
|
9
|
+
componentId: "core-12_38_0__sc-1q3pe6s-1"
|
|
10
10
|
})(["", " > ", "{", "}"], getSmallIconBodyTextRules, StyledP, getSmallIconBodyTextRules);
|
|
11
11
|
export var StyledFieldFooter = /*#__PURE__*/styled.div.withConfig({
|
|
12
12
|
displayName: "StyledFieldFooter",
|
|
13
|
-
componentId: "core-
|
|
13
|
+
componentId: "core-12_38_0__sc-1q3pe6s-2"
|
|
14
14
|
})(["> ", "{", "}"], StyledP, getSmallIconBodyTextRules);
|
|
15
15
|
//# sourceMappingURL=Field.styles.js.map
|
|
@@ -3,18 +3,18 @@ import { LinkButton } from '../Button/Button';
|
|
|
3
3
|
import { spacing } from '../_styles/spacing';
|
|
4
4
|
export var StyledFileListDownloadAll = /*#__PURE__*/styled(LinkButton).withConfig({
|
|
5
5
|
displayName: "StyledFileListDownloadAll",
|
|
6
|
-
componentId: "core-
|
|
6
|
+
componentId: "core-12_38_0__sc-7gltjc-0"
|
|
7
7
|
})(["margin-bottom:", "px;"], spacing.xs);
|
|
8
8
|
export var StyledFileListItem = /*#__PURE__*/styled.li.withConfig({
|
|
9
9
|
displayName: "StyledFileListItem",
|
|
10
|
-
componentId: "core-
|
|
10
|
+
componentId: "core-12_38_0__sc-7gltjc-1"
|
|
11
11
|
})(["display:flex;align-items:center;margin-bottom:", "px;word-break:break-word;&:last-child{margin-bottom:0;}"], spacing.xs);
|
|
12
12
|
export var StyledFileListItemTextInactive = /*#__PURE__*/styled.span.withConfig({
|
|
13
13
|
displayName: "StyledFileListItemTextInactive",
|
|
14
|
-
componentId: "core-
|
|
14
|
+
componentId: "core-12_38_0__sc-7gltjc-2"
|
|
15
15
|
})(["cursor:pointer;"]);
|
|
16
16
|
export var StyledFileListItemDownloadIcon = /*#__PURE__*/styled(LinkButton).withConfig({
|
|
17
17
|
displayName: "StyledFileListItemDownloadIcon",
|
|
18
|
-
componentId: "core-
|
|
18
|
+
componentId: "core-12_38_0__sc-7gltjc-3"
|
|
19
19
|
})(["margin-left:", "px;align-self:flex-start;"], spacing.sm);
|
|
20
20
|
//# sourceMappingURL=FileList.styles.js.map
|