@procore/core-react 12.30.0 → 12.32.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 +28 -0
- package/dist/AnchorNavigation/AnchorNavigation.styles.js +3 -3
- package/dist/Avatar/Avatar.js +20 -12
- package/dist/Avatar/Avatar.js.map +1 -1
- package/dist/Avatar/Avatar.styles.js +5 -5
- package/dist/AvatarStack/AvatarStack.styles.d.ts +76 -76
- 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.styles.js +5 -5
- package/dist/Calendar/Calendar.styles.js +8 -8
- 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/ComponentLifecycle.stories.mdx +130 -0
- package/dist/ContactItem/ContactItem.styles.js +5 -5
- package/dist/Content/Content.styles.js +2 -2
- package/dist/DateInput/DateInput.js +28 -0
- package/dist/DateInput/DateInput.js.map +1 -1
- package/dist/DateInput/DateInput.styles.js +6 -6
- package/dist/DetailPage/DetailPage.js +1 -1
- package/dist/DetailPage/DetailPage.js.map +1 -1
- package/dist/DetailPage/DetailPage.styles.js +7 -7
- package/dist/Dropdown/Dropdown.styles.js +3 -3
- package/dist/DropdownFlyout/DropdownFlyout.js +7 -2
- package/dist/DropdownFlyout/DropdownFlyout.js.map +1 -1
- package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
- package/dist/Dropzone/Dropzone.js +1 -1
- package/dist/Dropzone/Dropzone.styles.js +9 -9
- package/dist/EmptyState/EmptyState.styles.js +6 -6
- package/dist/Field/Field.styles.js +3 -3
- package/dist/FileList/FileList.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.styles.js +6 -6
- package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
- package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
- package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.d.ts +1 -1
- package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
- package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
- package/dist/FileToken/FileToken.styles.js +4 -4
- package/dist/FilterToken/FilterToken.styles.js +5 -5
- package/dist/FlexList/FlexList.styles.js +1 -1
- package/dist/Form/Form.js +10 -5
- package/dist/Form/Form.js.map +1 -1
- package/dist/Form/Form.styles.js +14 -14
- package/dist/Form/Form.types.d.ts +2 -0
- package/dist/Form/Form.types.js.map +1 -1
- package/dist/Form/StyledFormikForm.styles.d.ts +2 -2
- 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.d.ts +1 -16
- package/dist/MenuImperative/MenuImperative.js +1 -0
- package/dist/MenuImperative/MenuImperative.js.map +1 -1
- package/dist/MenuImperative/MenuImperative.styles.js +10 -10
- package/dist/MenuImperative/MenuImperative.types.d.ts +14 -0
- package/dist/MenuImperative/MenuImperative.types.js.map +1 -1
- package/dist/MenuImperative/index.d.ts +46 -3
- package/dist/MenuImperative/index.js +31 -2
- package/dist/MenuImperative/index.js.map +1 -1
- package/dist/Modal/Modal.js +5 -2
- package/dist/Modal/Modal.js.map +1 -1
- package/dist/Modal/Modal.styles.js +13 -13
- package/dist/MultiSelect/MultiSelect.styles.d.ts +1 -1
- package/dist/MultiSelect/MultiSelect.styles.js +6 -6
- package/dist/NextMenu/NextMenu.styles.js +3 -3
- package/dist/NextTile/NextTile.js +119 -45
- package/dist/NextTile/NextTile.js.map +1 -1
- 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/a11yPresets.d.ts +6 -6
- package/dist/PageLayout/PageLayout.styles.d.ts +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/PageTemplate/PageTemplate/PageTemplateCard.d.ts +3 -5
- package/dist/PageTemplate/PageTemplate/PageTemplateCard.js.map +1 -1
- 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 +86 -25
- package/dist/SegmentedController/SegmentedController.js.map +1 -1
- package/dist/SegmentedController/SegmentedController.styles.js +4 -4
- package/dist/Select/Select.js +6 -3
- package/dist/Select/Select.js.map +1 -1
- package/dist/Select/Select.styles.js +7 -7
- package/dist/Semantic/Semantic.styles.d.ts +78 -78
- 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.presets.styles.js +1 -1
- package/dist/SuperSelect/SuperSelect.styles.js +38 -38
- package/dist/Switch/Switch.styles.js +4 -4
- package/dist/Table/Table.styles.js +28 -28
- package/dist/TableShelf/TableShelf.styles.js +5 -5
- package/dist/Tabs/Tabs.js +19 -13
- package/dist/Tabs/Tabs.js.map +1 -1
- 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.hooks.d.ts +68 -68
- package/dist/Thumbnail/Thumbnail.styles.js +17 -17
- package/dist/ThumbnailGrid/ThumbnailGrid.styles.d.ts +1 -1
- package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
- package/dist/TieredSelect/TieredSelect.styles.d.ts +4 -4
- package/dist/TieredSelect/TieredSelect.styles.js +9 -9
- package/dist/Tile/Tile.styles.js +8 -8
- package/dist/Title/Title.styles.js +7 -7
- package/dist/Toast/Toast.styles.js +3 -3
- package/dist/ToggleButton/ToggleButton.styles.js +1 -1
- package/dist/Token/Token.styles.js +3 -3
- package/dist/ToolHeader/ToolHeader.styles.js +6 -6
- package/dist/ToolLandingPage/ToolLandingPage.js +14 -7
- package/dist/ToolLandingPage/ToolLandingPage.js.map +1 -1
- package/dist/ToolLandingPage/ToolLandingPage.styles.js +3 -3
- package/dist/ToolLandingPage/ToolLandingPage.types.d.ts +29 -0
- package/dist/ToolLandingPage/ToolLandingPage.types.js.map +1 -1
- package/dist/Tooltip/Tooltip.styles.js +2 -2
- package/dist/Tree/Tree.styles.js +9 -9
- 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/UNSAFE_TEMPLATES_index.d.ts +15 -0
- package/dist/UNSAFE_TEMPLATES_index.js +9 -0
- package/dist/UNSAFE_TEMPLATES_index.js.map +1 -0
- package/dist/_hooks/I18n.d.ts +1206 -15
- package/dist/_hooks/I18n.js +11 -1
- package/dist/_hooks/I18n.js.map +1 -1
- package/dist/_hooks/getI18nProviderLocale.js +1 -1
- package/dist/_hooks/getI18nProviderLocale.js.map +1 -1
- package/dist/_locales/de-DE.json +4 -3
- package/dist/_locales/en-AU.json +3 -2
- package/dist/_locales/en-CA.json +3 -2
- package/dist/_locales/en-GB.json +3 -2
- package/dist/_locales/en.json +2 -1
- package/dist/_locales/es-ES.json +3 -2
- package/dist/_locales/es.json +6 -5
- package/dist/_locales/fr-CA.json +4 -3
- package/dist/_locales/fr-FR.json +4 -3
- package/dist/_locales/is-IS.json +4 -3
- package/dist/_locales/it-IT.json +49 -48
- package/dist/_locales/ja-JP.json +3 -2
- package/dist/_locales/nb-NO.json +1 -0
- package/dist/_locales/pl-PL.json +3 -2
- package/dist/_locales/pseudo.json +2 -1
- package/dist/_locales/pt-BR.json +4 -3
- package/dist/_locales/pt-PT.json +91 -90
- package/dist/_locales/th-TH.json +6 -5
- package/dist/_locales/zh-SG.json +3 -2
- package/dist/_locales/zh-TW.json +8 -7
- package/dist/_storyHelpers_/components/Deprecation.styles.js +1 -1
- package/dist/_storyHelpers_/components/StoryGrid.js +3 -3
- package/dist/_storyHelpers_/constants.js +1 -1
- package/dist/_storyHelpers_/constants.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 +72 -72
- package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
- package/dist/_typedoc/Button/Button.types.json +15 -15
- 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 +39 -39
- package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +30 -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 +825 -815
- 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 +116 -74
- 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 +54 -54
- 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 +62 -62
- 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 +101 -101
- package/dist/_typedoc/Tabs/Tabs.types.json +20 -20
- package/dist/_typedoc/Tearsheet/Tearsheet.types.json +17 -17
- package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
- package/dist/_typedoc/TextEditor/TextEditor.types.json +9 -9
- 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 +42 -42
- package/dist/_typedoc/TieredSelect/TieredSelect.types.json +28 -28
- package/dist/_typedoc/Tile/Tile.types.json +8 -8
- package/dist/_typedoc/Title/Title.types.json +3 -3
- 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 +19 -8
- package/dist/_typedoc/Tooltip/Tooltip.types.json +13 -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/_typedoc/deprecations.json +1 -1
- package/dist/_utils/CalendarHelpers.js +6 -2
- package/dist/_utils/CalendarHelpers.js.map +1 -1
- package/dist/_utils/TinyMCE.js +5 -1
- package/dist/_utils/TinyMCE.js.map +1 -1
- package/dist/index.d.ts +6 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/package.json +16 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateInput.js","names":["Clear","getDatePartsWithPlaceholders","isSameDay","React","Button","useDateTime","useI18nContext","getMaxYear","maxMonth","minYear","normalizeNewDate","StyledCalendar","StyledDateInput","StyledDateInputDelimiter","StyledDateInputIconContainer","StyledDateInputSegment","StyledDateSegmentsContainer","segmentMaxLengths","day","month","year","dateInputLocales","placeholders","es","psuedoSegmentOrder","isValidYearRange","noop","getLastDate","Math","max","getDate","getSegmentProps","onChangeSegment","type","placeholder","dateInput","getAriaLabel","maxLength","maxValue","minValue","onChange","value","setDay","setMonth","setYear","setFocusTo","target","current","focus","focusTargetOrFirst","_len","arguments","length","refs","Array","_key","handler","event","undefined","ref","reduce","acc","clampDay","date","getMonth","useDateInput","_ref","value_","log","dateTime","useMemo","shiftUtcToZonedTime","_React$useState","useState","_React$useState2","_slicedToArray","setRawDay","_React$useState3","_React$useState4","setRawMonth","_React$useState5","getFullYear","_React$useState6","setRawYear","hasValues","isInvalid","setAll","clampedDay","validDate","shiftZonedTimeToUtc","clear","useEffect","getSegmentText","_ref2","concat","slice","String","padStart","getTodaySegmentValue","today","Date","DateSegment","forwardRef","_ref3","_ref3$disabled","disabled","nextRef","_ref3$onChange","prevRef","_ref3$tabIndex","tabIndex","_ref3$value","props","_objectWithoutProperties","_excluded","I18n","_React$useState7","_React$useState8","keyBuffer","setKeyBuffer","contains","key","keys","indexOf","onKeyDown","stopPropagation","preventDefault","isNaN","parseInt","newBuffer","min","getMonthName","format","valueText","t","createElement","_extends","role","$disabled","$isYear","onBlur","DateInput","_ref4","_dateInputLocales$I","clearRef","_ref4$error","error","_ref4$segmentRefs","segmentRefs","variant","_ref4$onChange","_ref4$onChangeSegment","_ref4$onClear","onClear","_ref4$tabIndex","_excluded2","dateInputRef","segment1Ref","segmentOne","createRef","segment2Ref","segmentTwo","segment3Ref","segmentThree","locale","dateParts","delimiter","filter","part","curr","_toConsumableArray","segmentParts","includes","segments","onClickClear","e","getSegmentAriaLabel","scope","$error","onClick","_props$onClick","call","$visible","Boolean","size","icon","displayName"],"sources":["../../src/DateInput/DateInput.tsx"],"sourcesContent":["import { Clear } from '@procore/core-icons/dist'\nimport { getDatePartsWithPlaceholders } from '@procore/globalization-toolkit'\nimport { isSameDay } from 'date-fns'\nimport React from 'react'\nimport { Button } from '../Button/Button'\nimport { useDateTime } from '../_hooks/DateTime'\nimport { useI18nContext } from '../_hooks/I18n'\nimport {\n getMaxYear,\n maxMonth,\n minYear,\n normalizeNewDate,\n} from '../_utils/CalendarHelpers'\nimport {\n StyledCalendar,\n StyledDateInput,\n StyledDateInputDelimiter,\n StyledDateInputIconContainer,\n StyledDateInputSegment,\n StyledDateSegmentsContainer,\n} from './DateInput.styles'\nimport type {\n DateInputApi,\n DateInputConfig,\n DateInputLocales,\n DateInputProps,\n DateSegmentProps,\n Segments,\n SegmentType,\n} from './DateInput.types'\n\nconst segmentMaxLengths: Segments = {\n day: 2,\n month: 2,\n year: 4,\n}\n\nconst dateInputLocales: DateInputLocales = {\n 'fr-CA': {\n placeholders: { day: 'jj', month: 'mm', year: 'aaaa' },\n },\n 'fr-FR': {\n placeholders: { day: 'jj', month: 'mm', year: 'aaaa' },\n },\n es: {\n placeholders: { day: 'dd', month: 'mm', year: 'aaaa' },\n },\n 'es-ES': {\n placeholders: { day: 'dd', month: 'mm', year: 'aaaa' },\n },\n 'pt-BR': {\n placeholders: { day: 'dd', month: 'mm', year: 'aaaa' },\n },\n 'is-IS': {\n placeholders: { day: 'dd', month: 'mm', year: 'áááá' },\n },\n 'de-DE': {\n placeholders: { day: 'tt', month: 'mm', year: 'jjjj' },\n },\n 'pl-PL': {\n placeholders: { day: 'yy', month: 'mm', year: 'rrrr' },\n },\n}\n\nconst psuedoSegmentOrder: SegmentType[] = ['day', 'month', 'year']\n\nexport function isValidYearRange(year: number) {\n return year > 1700 && year < 2122\n}\n\nfunction noop() {}\n\nfunction getLastDate(month: number, year: number) {\n return normalizeNewDate(year, Math.max(0, month), 0).getDate()\n}\n\nfunction getSegmentProps(\n onChangeSegment: (type: SegmentType, value: number) => void,\n type: SegmentType,\n placeholder: string,\n dateInput: DateInputApi,\n getAriaLabel: (type: SegmentType, value: number) => string\n) {\n const maxLength = segmentMaxLengths[type]\n\n if (type === 'day') {\n return {\n 'aria-label': getAriaLabel('day', dateInput.day),\n maxLength,\n maxValue: getLastDate(dateInput.month, dateInput.year),\n minValue: 1,\n onChange: (value: number) => {\n dateInput.setDay(value)\n onChangeSegment(type, value)\n },\n placeholder,\n value: dateInput.day,\n }\n } else if (type === 'month') {\n return {\n 'aria-label': getAriaLabel('month', dateInput.month),\n maxLength,\n maxValue: maxMonth,\n minValue: 1,\n onChange: (value: number) => {\n dateInput.setMonth(value)\n onChangeSegment(type, value)\n },\n placeholder,\n value: dateInput.month,\n }\n } else {\n return {\n 'aria-label': getAriaLabel('year', dateInput.year),\n maxLength,\n maxValue: getMaxYear(),\n minValue: minYear,\n onChange: (value: number) => {\n dateInput.setYear(value)\n onChangeSegment(type, value)\n },\n placeholder,\n value: dateInput.year,\n }\n }\n}\n\nfunction setFocusTo(target?: React.RefObject<HTMLDivElement>) {\n return target && target.current && target.current.focus()\n}\n\nfunction focusTargetOrFirst(...refs: React.RefObject<HTMLDivElement>[]) {\n return function handler(event: any = { target: null }) {\n const ref = refs.reduce((acc, ref) => {\n return ref.current && ref.current === event.target ? ref : acc\n }, refs[0])\n\n setFocusTo(ref)\n }\n}\n\nfunction clampDay(day: number, month: number, year: number) {\n if (day > 0 && month > 0 && year) {\n const date = normalizeNewDate(year, month - 1, day)\n\n if (date.getMonth() !== month - 1) {\n return getLastDate(month, year)\n }\n }\n\n return day\n}\n\nfunction useDateInput({\n onChange,\n value: value_,\n log,\n}: DateInputConfig): DateInputApi {\n const dateTime = useDateTime()\n\n // logging called too frequenlty if not in memo\n const value = React.useMemo(() => {\n return dateTime.shiftUtcToZonedTime(value_, log)\n }, [value_])\n\n const [day, setRawDay] = React.useState(value ? value.getDate() : -1)\n\n const [month, setRawMonth] = React.useState(value ? value.getMonth() + 1 : -1)\n\n const [year, setRawYear] = React.useState(value ? value.getFullYear() : -1)\n\n const hasValues = day >= 0 || month >= 0 || year >= 0\n\n const isInvalid = day < 0 || month < 0 || year < 0\n\n const setAll = (day: number, month: number, year: number) => {\n const clampedDay = clampDay(day, month, year)\n\n const date =\n clampedDay > 0 && month > 0 && year > 0\n ? normalizeNewDate(year, month - 1, clampedDay)\n : null\n\n setRawDay(clampedDay)\n setRawMonth(month)\n setRawYear(year)\n\n // Call DateSelect.onChange API when a supported year range or deleted date\n // isValidYearRange protects shiftZonedTimeToUtc\n // when date is null, year should be -1. -1 means it was cleared, either by button or backspace key\n /**\n * - going from non-valid date to a valid date\n * - is a valid year range\n * - going from one valid date to another, different, date\n * - is a valid year range\n * - change to invalid date\n */\n const validDate = date && isValidYearRange(year)\n if (\n (!value && validDate) ||\n (value && validDate && !isSameDay(date, value)) ||\n (value && date === null)\n ) {\n onChange(dateTime.shiftZonedTimeToUtc(date))\n }\n }\n\n const setDay = (value: number) => {\n setAll(value, month, year)\n }\n\n const setMonth = (value: number) => {\n setAll(day, value, year)\n }\n\n const setYear = (value: number) => {\n setAll(day, month, value)\n }\n\n const clear = () => {\n setAll(-1, -1, -1)\n }\n\n React.useEffect(() => {\n if (value) {\n setRawDay(value.getDate())\n setRawMonth(value.getMonth() + 1)\n setRawYear(value.getFullYear())\n } else if (value === undefined) {\n setRawDay(-1)\n setRawMonth(-1)\n setRawYear(-1)\n }\n }, [value])\n\n return {\n clear,\n day,\n hasValues,\n month,\n setDay,\n setMonth,\n setYear,\n year,\n }\n}\n\nfunction getSegmentText({\n maxLength,\n placeholder,\n type,\n value,\n}: {\n maxLength: number\n placeholder: string\n type: SegmentType\n value: number\n}) {\n if (value < 0) {\n return placeholder\n }\n if (type === 'year' && !isValidYearRange(value)) {\n return `${value}____`.slice(0, 4)\n }\n return String(value).padStart(maxLength, '0')\n}\n\nconst getTodaySegmentValue = (type: DateSegmentProps['type']) => {\n const today = new Date()\n if (type === 'month') {\n // months start from zero\n return today.getMonth() + 1\n } else if (type === 'day') {\n return today.getDate()\n } else {\n return today.getFullYear()\n }\n}\n\nconst DateSegment = React.forwardRef<\n HTMLDivElement,\n Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> & DateSegmentProps\n>(function DateSegment(\n {\n disabled = false,\n maxLength,\n maxValue,\n minValue,\n nextRef,\n onChange = (value: number) => {},\n placeholder,\n prevRef,\n tabIndex = 0,\n type,\n value = 0,\n ...props\n },\n ref\n) {\n const I18n = useI18nContext()\n const dateTime = useDateTime()\n const [keyBuffer, setKeyBuffer] = React.useState('')\n\n const contains = (key: string, keys: string[]) => keys.indexOf(key) >= 0\n\n const onKeyDown = (event: React.KeyboardEvent<any>) => {\n event.stopPropagation()\n\n const key = event.key\n\n if (contains(key, ['Up', 'ArrowUp', 'Down', 'ArrowDown', 'Backspace'])) {\n event.preventDefault()\n }\n\n if (contains(key, ['Up', 'ArrowUp', 'Down', 'ArrowDown']) && value === -1) {\n onChange(getTodaySegmentValue(type))\n } else if (contains(key, ['Up', 'ArrowUp'])) {\n onChange(value + 1 > maxValue ? minValue : Math.max(1, value + 1))\n } else if (contains(key, ['Down', 'ArrowDown'])) {\n onChange(value - 1 < minValue ? maxValue : value - 1)\n } else if (contains(key, ['Left', 'ArrowLeft'])) {\n setFocusTo(prevRef)\n } else if (contains(key, ['Right', 'ArrowRight'])) {\n setFocusTo(nextRef)\n } else if (contains(key, ['Backspace', 'Delete'])) {\n setKeyBuffer('')\n onChange(-1)\n\n // the segment is currently empty, go to the previous segment\n if (value === -1) {\n setFocusTo(prevRef)\n }\n } else if (!isNaN(parseInt(key, 10))) {\n if (keyBuffer.length === 0) {\n // current buffer is empty, initialize it\n setKeyBuffer(key)\n onChange(parseInt(key, 10))\n } else {\n // current buffer has text, add to it\n const newBuffer = keyBuffer + key\n\n setKeyBuffer(newBuffer)\n onChange(Math.min(parseInt(newBuffer, 10), maxValue))\n }\n }\n }\n\n React.useEffect(() => {\n if (\n keyBuffer.length >= maxLength ||\n (keyBuffer.length === 1 &&\n ((type === 'day' && value > 3) || (type === 'month' && value > 1)))\n ) {\n setFocusTo(nextRef)\n\n // Needed for year to reset as it does not move focus\n setKeyBuffer('')\n }\n })\n\n const getMonthName = (month: number) => {\n const date = new Date()\n // months start from zero\n date.setMonth(month - 1)\n\n return dateTime.format(date, 'none', { month: 'long' })\n }\n\n const valueText =\n value === -1\n ? I18n.t('core.dateInput.segment.ariaValueText.empty')\n : type === 'month'\n ? `${value} - ${getMonthName(value)}`\n : `${value}`\n\n return (\n <StyledDateInputSegment\n ref={ref}\n {...props}\n role=\"spinbutton\"\n aria-valuetext={valueText}\n aria-valuenow={value == -1 ? getTodaySegmentValue(type) : value}\n aria-valuemax={maxValue}\n aria-valuemin={minValue}\n data-placeholder={value < 0}\n $disabled={disabled}\n $isYear={type === 'year'}\n onBlur={() => {\n if (type === 'year' && value !== -1 && value < 100) {\n onChange(2000 + value)\n }\n\n setKeyBuffer('')\n }}\n onKeyDown={onKeyDown}\n tabIndex={disabled ? -1 : tabIndex}\n >\n {getSegmentText({ value, placeholder, type, maxLength })}\n </StyledDateInputSegment>\n )\n})\n\n/**\n * @deprecatedSince 11\n * @deprecated Intended for internal library development.\n */\nexport const DateInput = React.forwardRef<HTMLDivElement, DateInputProps>(\n function DateInput(\n {\n clearRef,\n disabled,\n error = false,\n segmentRefs = {},\n variant,\n onChange = noop,\n onChangeSegment = noop,\n onClear = noop,\n tabIndex = 0,\n value,\n ...props\n },\n ref\n ) {\n const I18n = useI18nContext()\n\n const dateInputRef = ref as React.RefObject<HTMLDivElement>\n\n const segment1Ref =\n segmentRefs.segmentOne || React.createRef<HTMLDivElement>()\n\n const segment2Ref =\n segmentRefs.segmentTwo || React.createRef<HTMLDivElement>()\n\n const segment3Ref =\n segmentRefs.segmentThree || React.createRef<HTMLDivElement>()\n\n const placeholders = dateInputLocales[I18n.locale]?.placeholders || {\n day: 'dd',\n month: 'mm',\n year: 'yyyy',\n }\n\n const dateParts = getDatePartsWithPlaceholders(I18n.locale, placeholders)\n\n const delimiter = dateParts\n .filter((part) => part.type === 'literal')\n .reduce((acc, curr) => [...acc, curr.value], [] as string[])\n\n const segmentParts = dateParts\n .filter((part) => ['month', 'day', 'year'].includes(part.type))\n .reduce((acc, curr) => [...acc, curr.type], [] as string[])\n\n const segments =\n (I18n.locale as string) === 'pseudo'\n ? psuedoSegmentOrder\n : [...(segmentParts as SegmentType[])]\n\n const dateTime = useDateTime()\n const dateInput = useDateInput({\n onChange,\n value,\n log: 'Display date',\n })\n\n const onClickClear = (e: React.MouseEvent<HTMLButtonElement>) => {\n setFocusTo(segment1Ref)\n dateInput.clear()\n onClear(e)\n }\n\n const getSegmentAriaLabel = (type: SegmentType, value: number) =>\n value && value !== -1\n ? I18n.t(type, {\n value,\n scope: 'core.dateInput.segment.ariaLabel.withValue',\n })\n : I18n.t(type, {\n scope: 'core.dateInput.segment.ariaLabel.withoutValue',\n })\n\n return (\n <StyledDateInput\n role=\"group\"\n aria-label={\n value && isValidYearRange(dateInput.year)\n ? dateTime.format(value, 'weekday-date')\n : undefined\n }\n $disabled={disabled || variant === 'disabled'}\n $error={\n error ||\n variant === 'error' ||\n // -1 means placeholder yyyy is shown\n (!isValidYearRange(dateInput.year) && dateInput.year !== -1)\n }\n ref={dateInputRef}\n {...props}\n onClick={(e: React.MouseEvent<HTMLDivElement>) => {\n focusTargetOrFirst(segment1Ref, segment2Ref, segment3Ref)(e)\n props.onClick?.(e)\n }}\n >\n <StyledDateSegmentsContainer>\n <DateSegment\n disabled={disabled}\n nextRef={segment2Ref}\n ref={segment1Ref}\n tabIndex={tabIndex}\n type={segments[0]}\n {...getSegmentProps(\n onChangeSegment,\n segments[0],\n placeholders[segments[0]],\n dateInput,\n getSegmentAriaLabel\n )}\n />\n {delimiter[0] && (\n <StyledDateInputDelimiter\n aria-hidden={true}\n $visible={Boolean(value)}\n >\n {delimiter[0]}\n </StyledDateInputDelimiter>\n )}\n <DateSegment\n disabled={disabled}\n nextRef={segment3Ref}\n prevRef={segment1Ref}\n ref={segment2Ref}\n tabIndex={tabIndex}\n type={segments[1]}\n {...getSegmentProps(\n onChangeSegment,\n segments[1],\n placeholders[segments[1]],\n dateInput,\n getSegmentAriaLabel\n )}\n />\n {delimiter[1] && (\n <StyledDateInputDelimiter\n aria-hidden={true}\n $visible={Boolean(value)}\n >\n {delimiter[1]}\n </StyledDateInputDelimiter>\n )}\n <DateSegment\n disabled={disabled}\n prevRef={segment2Ref}\n ref={segment3Ref}\n tabIndex={tabIndex}\n type={segments[2]}\n {...getSegmentProps(\n onChangeSegment,\n segments[2],\n placeholders[segments[2]],\n dateInput,\n getSegmentAriaLabel\n )}\n />\n {delimiter[2] && (\n <StyledDateInputDelimiter\n aria-hidden={true}\n $visible={Boolean(value)}\n >\n {delimiter[2]}\n </StyledDateInputDelimiter>\n )}\n </StyledDateSegmentsContainer>\n <StyledDateInputIconContainer>\n {dateInput.hasValues ? (\n <Button\n aria-label={I18n.t('core.dateInput.clearButton.ariaLabel')}\n onClick={onClickClear}\n ref={clearRef}\n size=\"sm\"\n variant=\"tertiary\"\n icon={<Clear size=\"sm\" />}\n tabIndex={-1} // TODO revisit this accessibility\n />\n ) : (\n <StyledCalendar />\n )}\n </StyledDateInputIconContainer>\n </StyledDateInput>\n )\n }\n)\n\nDateInput.displayName = 'DateInput'\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DateInput.js","names":["Clear","getDatePartsWithPlaceholders","isSameDay","React","Button","useDateTime","useI18nContext","getMaxYear","maxMonth","minYear","normalizeNewDate","StyledCalendar","StyledDateInput","StyledDateInputDelimiter","StyledDateInputIconContainer","StyledDateInputSegment","StyledDateSegmentsContainer","segmentMaxLengths","day","month","year","dateInputLocales","placeholders","es","psuedoSegmentOrder","isValidYearRange","noop","getLastDate","Math","max","getDate","getSegmentProps","onChangeSegment","type","placeholder","dateInput","getAriaLabel","maxLength","maxValue","minValue","onChange","value","setDay","setMonth","setYear","setFocusTo","target","current","focus","focusTargetOrFirst","_len","arguments","length","refs","Array","_key","handler","event","undefined","ref","reduce","acc","clampDay","date","getMonth","useDateInput","_ref","value_","log","dateTime","useMemo","shiftUtcToZonedTime","_React$useState","useState","_React$useState2","_slicedToArray","setRawDay","_React$useState3","_React$useState4","setRawMonth","_React$useState5","getFullYear","_React$useState6","setRawYear","hasValues","isInvalid","setAll","clampedDay","validDate","shiftZonedTimeToUtc","clear","useEffect","getSegmentText","_ref2","concat","slice","String","padStart","getTodaySegmentValue","today","Date","DateSegment","forwardRef","_ref3","_ref3$disabled","disabled","nextRef","_ref3$onChange","prevRef","_ref3$tabIndex","tabIndex","_ref3$value","props","_objectWithoutProperties","_excluded","I18n","_React$useState7","_React$useState8","keyBuffer","setKeyBuffer","contains","key","keys","indexOf","onKeyDown","stopPropagation","preventDefault","isNaN","parseInt","newBuffer","min","getMonthName","format","valueText","t","createElement","_extends","role","$disabled","$isYear","onBlur","DateInput","_ref4","_dateInputLocales$I","clearRef","_ref4$error","error","_ref4$segmentRefs","segmentRefs","variant","_ref4$onChange","_ref4$onChangeSegment","_ref4$onClear","onClear","_ref4$tabIndex","_excluded2","dateInputRef","segment1Ref","segmentOne","createRef","segment2Ref","segmentTwo","segment3Ref","segmentThree","locale","dateParts","delimiter","filter","part","curr","_toConsumableArray","segmentParts","includes","segments","onClickClear","e","getSegmentAriaLabel","scope","$error","onClick","_props$onClick","call","$visible","Boolean","size","icon","displayName"],"sources":["../../src/DateInput/DateInput.tsx"],"sourcesContent":["import { Clear } from '@procore/core-icons/dist'\nimport { getDatePartsWithPlaceholders } from '@procore/globalization-toolkit'\nimport { isSameDay } from 'date-fns'\nimport React from 'react'\nimport { Button } from '../Button/Button'\nimport { useDateTime } from '../_hooks/DateTime'\nimport { useI18nContext } from '../_hooks/I18n'\nimport {\n getMaxYear,\n maxMonth,\n minYear,\n normalizeNewDate,\n} from '../_utils/CalendarHelpers'\nimport {\n StyledCalendar,\n StyledDateInput,\n StyledDateInputDelimiter,\n StyledDateInputIconContainer,\n StyledDateInputSegment,\n StyledDateSegmentsContainer,\n} from './DateInput.styles'\nimport type {\n DateInputApi,\n DateInputConfig,\n DateInputLocales,\n DateInputProps,\n DateSegmentProps,\n Segments,\n SegmentType,\n} from './DateInput.types'\n\nconst segmentMaxLengths: Segments = {\n day: 2,\n month: 2,\n year: 4,\n}\n\nconst dateInputLocales: DateInputLocales = {\n 'fr-CA': {\n placeholders: { day: 'jj', month: 'mm', year: 'aaaa' },\n },\n 'fr-FR': {\n placeholders: { day: 'jj', month: 'mm', year: 'aaaa' },\n },\n es: {\n placeholders: { day: 'dd', month: 'mm', year: 'aaaa' },\n },\n 'es-ES': {\n placeholders: { day: 'dd', month: 'mm', year: 'aaaa' },\n },\n 'pt-BR': {\n placeholders: { day: 'dd', month: 'mm', year: 'aaaa' },\n },\n 'is-IS': {\n placeholders: { day: 'dd', month: 'mm', year: 'áááá' },\n },\n 'de-DE': {\n placeholders: { day: 'tt', month: 'mm', year: 'jjjj' },\n },\n 'pl-PL': {\n placeholders: { day: 'yy', month: 'mm', year: 'rrrr' },\n },\n 'nb-NO': {\n placeholders: { day: 'dd', month: 'mm', year: 'åååå' },\n },\n 'zh-TW': {\n placeholders: { day: 'dd', month: 'mm', year: 'yyyy' },\n },\n 'it-IT': {\n placeholders: { day: 'gg', month: 'mm', year: 'aaaa' },\n },\n 'pt-PT': {\n placeholders: { day: 'dd', month: 'mm', year: 'aaaa' },\n },\n}\n\nconst psuedoSegmentOrder: SegmentType[] = ['day', 'month', 'year']\n\nexport function isValidYearRange(year: number) {\n return year > 1700 && year < 2122\n}\n\nfunction noop() {}\n\nfunction getLastDate(month: number, year: number) {\n return normalizeNewDate(year, Math.max(0, month), 0).getDate()\n}\n\nfunction getSegmentProps(\n onChangeSegment: (type: SegmentType, value: number) => void,\n type: SegmentType,\n placeholder: string,\n dateInput: DateInputApi,\n getAriaLabel: (type: SegmentType, value: number) => string\n) {\n const maxLength = segmentMaxLengths[type]\n\n if (type === 'day') {\n return {\n 'aria-label': getAriaLabel('day', dateInput.day),\n maxLength,\n maxValue: getLastDate(dateInput.month, dateInput.year),\n minValue: 1,\n onChange: (value: number) => {\n dateInput.setDay(value)\n onChangeSegment(type, value)\n },\n placeholder,\n value: dateInput.day,\n }\n } else if (type === 'month') {\n return {\n 'aria-label': getAriaLabel('month', dateInput.month),\n maxLength,\n maxValue: maxMonth,\n minValue: 1,\n onChange: (value: number) => {\n dateInput.setMonth(value)\n onChangeSegment(type, value)\n },\n placeholder,\n value: dateInput.month,\n }\n } else {\n return {\n 'aria-label': getAriaLabel('year', dateInput.year),\n maxLength,\n maxValue: getMaxYear(),\n minValue: minYear,\n onChange: (value: number) => {\n dateInput.setYear(value)\n onChangeSegment(type, value)\n },\n placeholder,\n value: dateInput.year,\n }\n }\n}\n\nfunction setFocusTo(target?: React.RefObject<HTMLDivElement>) {\n return target && target.current && target.current.focus()\n}\n\nfunction focusTargetOrFirst(...refs: React.RefObject<HTMLDivElement>[]) {\n return function handler(event: any = { target: null }) {\n const ref = refs.reduce((acc, ref) => {\n return ref.current && ref.current === event.target ? ref : acc\n }, refs[0])\n\n setFocusTo(ref)\n }\n}\n\nfunction clampDay(day: number, month: number, year: number) {\n if (day > 0 && month > 0 && year) {\n const date = normalizeNewDate(year, month - 1, day)\n\n if (date.getMonth() !== month - 1) {\n return getLastDate(month, year)\n }\n }\n\n return day\n}\n\nfunction useDateInput({\n onChange,\n value: value_,\n log,\n}: DateInputConfig): DateInputApi {\n const dateTime = useDateTime()\n\n // logging called too frequenlty if not in memo\n const value = React.useMemo(() => {\n return dateTime.shiftUtcToZonedTime(value_, log)\n }, [value_])\n\n const [day, setRawDay] = React.useState(value ? value.getDate() : -1)\n\n const [month, setRawMonth] = React.useState(value ? value.getMonth() + 1 : -1)\n\n const [year, setRawYear] = React.useState(value ? value.getFullYear() : -1)\n\n const hasValues = day >= 0 || month >= 0 || year >= 0\n\n const isInvalid = day < 0 || month < 0 || year < 0\n\n const setAll = (day: number, month: number, year: number) => {\n const clampedDay = clampDay(day, month, year)\n\n const date =\n clampedDay > 0 && month > 0 && year > 0\n ? normalizeNewDate(year, month - 1, clampedDay)\n : null\n\n setRawDay(clampedDay)\n setRawMonth(month)\n setRawYear(year)\n\n // Call DateSelect.onChange API when a supported year range or deleted date\n // isValidYearRange protects shiftZonedTimeToUtc\n // when date is null, year should be -1. -1 means it was cleared, either by button or backspace key\n /**\n * - going from non-valid date to a valid date\n * - is a valid year range\n * - going from one valid date to another, different, date\n * - is a valid year range\n * - change to invalid date\n */\n const validDate = date && isValidYearRange(year)\n if (\n (!value && validDate) ||\n (value && validDate && !isSameDay(date, value)) ||\n (value && date === null)\n ) {\n onChange(dateTime.shiftZonedTimeToUtc(date))\n }\n }\n\n const setDay = (value: number) => {\n setAll(value, month, year)\n }\n\n const setMonth = (value: number) => {\n setAll(day, value, year)\n }\n\n const setYear = (value: number) => {\n setAll(day, month, value)\n }\n\n const clear = () => {\n setAll(-1, -1, -1)\n }\n\n React.useEffect(() => {\n if (value) {\n setRawDay(value.getDate())\n setRawMonth(value.getMonth() + 1)\n setRawYear(value.getFullYear())\n } else if (value === undefined) {\n setRawDay(-1)\n setRawMonth(-1)\n setRawYear(-1)\n }\n }, [value])\n\n return {\n clear,\n day,\n hasValues,\n month,\n setDay,\n setMonth,\n setYear,\n year,\n }\n}\n\nfunction getSegmentText({\n maxLength,\n placeholder,\n type,\n value,\n}: {\n maxLength: number\n placeholder: string\n type: SegmentType\n value: number\n}) {\n if (value < 0) {\n return placeholder\n }\n if (type === 'year' && !isValidYearRange(value)) {\n return `${value}____`.slice(0, 4)\n }\n return String(value).padStart(maxLength, '0')\n}\n\nconst getTodaySegmentValue = (type: DateSegmentProps['type']) => {\n const today = new Date()\n if (type === 'month') {\n // months start from zero\n return today.getMonth() + 1\n } else if (type === 'day') {\n return today.getDate()\n } else {\n return today.getFullYear()\n }\n}\n\nconst DateSegment = React.forwardRef<\n HTMLDivElement,\n Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> & DateSegmentProps\n>(function DateSegment(\n {\n disabled = false,\n maxLength,\n maxValue,\n minValue,\n nextRef,\n onChange = (value: number) => {},\n placeholder,\n prevRef,\n tabIndex = 0,\n type,\n value = 0,\n ...props\n },\n ref\n) {\n const I18n = useI18nContext()\n const dateTime = useDateTime()\n const [keyBuffer, setKeyBuffer] = React.useState('')\n\n const contains = (key: string, keys: string[]) => keys.indexOf(key) >= 0\n\n const onKeyDown = (event: React.KeyboardEvent<any>) => {\n event.stopPropagation()\n\n const key = event.key\n\n if (contains(key, ['Up', 'ArrowUp', 'Down', 'ArrowDown', 'Backspace'])) {\n event.preventDefault()\n }\n\n if (contains(key, ['Up', 'ArrowUp', 'Down', 'ArrowDown']) && value === -1) {\n onChange(getTodaySegmentValue(type))\n } else if (contains(key, ['Up', 'ArrowUp'])) {\n onChange(value + 1 > maxValue ? minValue : Math.max(1, value + 1))\n } else if (contains(key, ['Down', 'ArrowDown'])) {\n onChange(value - 1 < minValue ? maxValue : value - 1)\n } else if (contains(key, ['Left', 'ArrowLeft'])) {\n setFocusTo(prevRef)\n } else if (contains(key, ['Right', 'ArrowRight'])) {\n setFocusTo(nextRef)\n } else if (contains(key, ['Backspace', 'Delete'])) {\n setKeyBuffer('')\n onChange(-1)\n\n // the segment is currently empty, go to the previous segment\n if (value === -1) {\n setFocusTo(prevRef)\n }\n } else if (!isNaN(parseInt(key, 10))) {\n if (keyBuffer.length === 0) {\n // current buffer is empty, initialize it\n setKeyBuffer(key)\n onChange(parseInt(key, 10))\n } else {\n // current buffer has text, add to it\n const newBuffer = keyBuffer + key\n\n setKeyBuffer(newBuffer)\n onChange(Math.min(parseInt(newBuffer, 10), maxValue))\n }\n }\n }\n\n React.useEffect(() => {\n if (\n keyBuffer.length >= maxLength ||\n (keyBuffer.length === 1 &&\n ((type === 'day' && value > 3) || (type === 'month' && value > 1)))\n ) {\n setFocusTo(nextRef)\n\n // Needed for year to reset as it does not move focus\n setKeyBuffer('')\n }\n })\n\n const getMonthName = (month: number) => {\n const date = new Date()\n // months start from zero\n date.setMonth(month - 1)\n\n return dateTime.format(date, 'none', { month: 'long' })\n }\n\n const valueText =\n value === -1\n ? I18n.t('core.dateInput.segment.ariaValueText.empty')\n : type === 'month'\n ? `${value} - ${getMonthName(value)}`\n : `${value}`\n\n return (\n <StyledDateInputSegment\n ref={ref}\n {...props}\n role=\"spinbutton\"\n aria-valuetext={valueText}\n aria-valuenow={value == -1 ? getTodaySegmentValue(type) : value}\n aria-valuemax={maxValue}\n aria-valuemin={minValue}\n data-placeholder={value < 0}\n $disabled={disabled}\n $isYear={type === 'year'}\n onBlur={() => {\n if (type === 'year' && value !== -1 && value < 100) {\n onChange(2000 + value)\n }\n\n setKeyBuffer('')\n }}\n onKeyDown={onKeyDown}\n tabIndex={disabled ? -1 : tabIndex}\n >\n {getSegmentText({ value, placeholder, type, maxLength })}\n </StyledDateInputSegment>\n )\n})\n\n/**\n * @deprecatedSince 11\n * @deprecated Intended for internal library development.\n */\nexport const DateInput = React.forwardRef<HTMLDivElement, DateInputProps>(\n function DateInput(\n {\n clearRef,\n disabled,\n error = false,\n segmentRefs = {},\n variant,\n onChange = noop,\n onChangeSegment = noop,\n onClear = noop,\n tabIndex = 0,\n value,\n ...props\n },\n ref\n ) {\n const I18n = useI18nContext()\n\n const dateInputRef = ref as React.RefObject<HTMLDivElement>\n\n const segment1Ref =\n segmentRefs.segmentOne || React.createRef<HTMLDivElement>()\n\n const segment2Ref =\n segmentRefs.segmentTwo || React.createRef<HTMLDivElement>()\n\n const segment3Ref =\n segmentRefs.segmentThree || React.createRef<HTMLDivElement>()\n\n const placeholders = dateInputLocales[I18n.locale]?.placeholders || {\n day: 'dd',\n month: 'mm',\n year: 'yyyy',\n }\n\n const dateParts = getDatePartsWithPlaceholders(I18n.locale, placeholders)\n\n const delimiter = dateParts\n .filter((part) => part.type === 'literal')\n .reduce((acc, curr) => [...acc, curr.value], [] as string[])\n\n const segmentParts = dateParts\n .filter((part) => ['month', 'day', 'year'].includes(part.type))\n .reduce((acc, curr) => [...acc, curr.type], [] as string[])\n\n const segments =\n (I18n.locale as string) === 'pseudo'\n ? psuedoSegmentOrder\n : [...(segmentParts as SegmentType[])]\n\n const dateTime = useDateTime()\n const dateInput = useDateInput({\n onChange,\n value,\n log: 'Display date',\n })\n\n const onClickClear = (e: React.MouseEvent<HTMLButtonElement>) => {\n setFocusTo(segment1Ref)\n dateInput.clear()\n onClear(e)\n }\n\n const getSegmentAriaLabel = (type: SegmentType, value: number) =>\n value && value !== -1\n ? I18n.t(type, {\n value,\n scope: 'core.dateInput.segment.ariaLabel.withValue',\n })\n : I18n.t(type, {\n scope: 'core.dateInput.segment.ariaLabel.withoutValue',\n })\n\n return (\n <StyledDateInput\n role=\"group\"\n aria-label={\n value && isValidYearRange(dateInput.year)\n ? dateTime.format(value, 'weekday-date')\n : undefined\n }\n $disabled={disabled || variant === 'disabled'}\n $error={\n error ||\n variant === 'error' ||\n // -1 means placeholder yyyy is shown\n (!isValidYearRange(dateInput.year) && dateInput.year !== -1)\n }\n ref={dateInputRef}\n {...props}\n onClick={(e: React.MouseEvent<HTMLDivElement>) => {\n focusTargetOrFirst(segment1Ref, segment2Ref, segment3Ref)(e)\n props.onClick?.(e)\n }}\n >\n <StyledDateSegmentsContainer>\n <DateSegment\n disabled={disabled}\n nextRef={segment2Ref}\n ref={segment1Ref}\n tabIndex={tabIndex}\n type={segments[0]}\n {...getSegmentProps(\n onChangeSegment,\n segments[0],\n placeholders[segments[0]],\n dateInput,\n getSegmentAriaLabel\n )}\n />\n {delimiter[0] && (\n <StyledDateInputDelimiter\n aria-hidden={true}\n $visible={Boolean(value)}\n >\n {delimiter[0]}\n </StyledDateInputDelimiter>\n )}\n <DateSegment\n disabled={disabled}\n nextRef={segment3Ref}\n prevRef={segment1Ref}\n ref={segment2Ref}\n tabIndex={tabIndex}\n type={segments[1]}\n {...getSegmentProps(\n onChangeSegment,\n segments[1],\n placeholders[segments[1]],\n dateInput,\n getSegmentAriaLabel\n )}\n />\n {delimiter[1] && (\n <StyledDateInputDelimiter\n aria-hidden={true}\n $visible={Boolean(value)}\n >\n {delimiter[1]}\n </StyledDateInputDelimiter>\n )}\n <DateSegment\n disabled={disabled}\n prevRef={segment2Ref}\n ref={segment3Ref}\n tabIndex={tabIndex}\n type={segments[2]}\n {...getSegmentProps(\n onChangeSegment,\n segments[2],\n placeholders[segments[2]],\n dateInput,\n getSegmentAriaLabel\n )}\n />\n {delimiter[2] && (\n <StyledDateInputDelimiter\n aria-hidden={true}\n $visible={Boolean(value)}\n >\n {delimiter[2]}\n </StyledDateInputDelimiter>\n )}\n </StyledDateSegmentsContainer>\n <StyledDateInputIconContainer>\n {dateInput.hasValues ? (\n <Button\n aria-label={I18n.t('core.dateInput.clearButton.ariaLabel')}\n onClick={onClickClear}\n ref={clearRef}\n size=\"sm\"\n variant=\"tertiary\"\n icon={<Clear size=\"sm\" />}\n tabIndex={-1} // TODO revisit this accessibility\n />\n ) : (\n <StyledCalendar />\n )}\n </StyledDateInputIconContainer>\n </StyledDateInput>\n )\n }\n)\n\nDateInput.displayName = 'DateInput'\n"],"mappings":"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"}
|
|
@@ -10,15 +10,15 @@ var inputHeight = 36; // TODO one-off
|
|
|
10
10
|
var disabledCss = /*#__PURE__*/css(["background-color:", ";color:", ";border-width:1px;border-style:solid;border-color:", ";pointer-events:none;svg{color:", ";}"], colors.gray94, colors.gray45, colors.gray70, colors.gray45);
|
|
11
11
|
export var StyledCalendar = /*#__PURE__*/styled(Calendar).withConfig({
|
|
12
12
|
displayName: "StyledCalendar",
|
|
13
|
-
componentId: "core-
|
|
13
|
+
componentId: "core-12_32_0__sc-w10btf-0"
|
|
14
14
|
})(["color:", ";"], colors.gray45);
|
|
15
15
|
export var StyledDateSegmentsContainer = /*#__PURE__*/styled.div.withConfig({
|
|
16
16
|
displayName: "StyledDateSegmentsContainer",
|
|
17
|
-
componentId: "core-
|
|
17
|
+
componentId: "core-12_32_0__sc-w10btf-1"
|
|
18
18
|
})(["min-width:104px;display:flex;gap:", "px;"], spacing.xs);
|
|
19
19
|
export var StyledDateInputSegment = /*#__PURE__*/styled.div.withConfig({
|
|
20
20
|
displayName: "StyledDateInputSegment",
|
|
21
|
-
componentId: "core-
|
|
21
|
+
componentId: "core-12_32_0__sc-w10btf-2"
|
|
22
22
|
})(["", " outline:none;text-align:center;&:focus{background-color:", ";}&::selection{background-color:transparent;}&[data-placeholder='true']{color:", ";}"], getTypographyIntent('body'), colors.blue96, function (_ref) {
|
|
23
23
|
var $disabled = _ref.$disabled;
|
|
24
24
|
return $disabled ? colors.gray70 : colors.gray45;
|
|
@@ -29,15 +29,15 @@ export var StyledDateInputDelimiter = /*#__PURE__*/styled.span.attrs(function (p
|
|
|
29
29
|
};
|
|
30
30
|
}).withConfig({
|
|
31
31
|
displayName: "StyledDateInputDelimiter",
|
|
32
|
-
componentId: "core-
|
|
32
|
+
componentId: "core-12_32_0__sc-w10btf-3"
|
|
33
33
|
})(["", " user-select:none;"], getTypographyIntent('body'));
|
|
34
34
|
export var StyledDateInputIconContainer = /*#__PURE__*/styled.div.withConfig({
|
|
35
35
|
displayName: "StyledDateInputIconContainer",
|
|
36
|
-
componentId: "core-
|
|
36
|
+
componentId: "core-12_32_0__sc-w10btf-4"
|
|
37
37
|
})(["display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;margin:0 0 0 ", "px;height:24px;width:24px;"], spacing.xs);
|
|
38
38
|
export var StyledDateInput = /*#__PURE__*/styled.div.withConfig({
|
|
39
39
|
displayName: "StyledDateInput",
|
|
40
|
-
componentId: "core-
|
|
40
|
+
componentId: "core-12_32_0__sc-w10btf-5"
|
|
41
41
|
})(["align-items:center;border-color:", ";border-radius:4px;border-style:solid;border-width:1px;display:inline-flex;flex-direction:row;height:", "px;justify-content:center;padding:0 ", "px 0 ", "px;&::placeholder{color:", ";}", " &:focus-within,&[data-qa=", "]{", ";}&:disabled{", "}", " ", ""], colors.gray70, inputHeight, spacing.xs, spacing.sm, colors.gray45, function (_ref2) {
|
|
42
42
|
var $error = _ref2.$error;
|
|
43
43
|
return !$error && css(["&:hover,&[data-qa=", "]{border-color:", ";}"], dataQa.hovered, colors.gray45);
|
|
@@ -91,7 +91,7 @@ export var Card = /*#__PURE__*/React.forwardRef(function Card(_ref3, ref) {
|
|
|
91
91
|
return function () {
|
|
92
92
|
return unregisterSection(id);
|
|
93
93
|
};
|
|
94
|
-
}, []); // eslint-disable-line react-hooks/exhaustive-deps
|
|
94
|
+
}, [id, navigationLabel]); // eslint-disable-line react-hooks/exhaustive-deps
|
|
95
95
|
|
|
96
96
|
return /*#__PURE__*/React.createElement(SectionProvider, null, /*#__PURE__*/React.createElement(StyledDetailPageCard, _extends({
|
|
97
97
|
ref: mergeRefs(ref, card),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetailPage.js","names":["useId","React","AnchorNavigationProvider","useAnchorNavigationContext","Grid","Page","PageBodyNavigation","Section","SectionProvider","H1","spacing","addSubcomponents","mergeRefs","gridConfig","StyledDetailPageBody","StyledDetailPageCard","StyledDetailPageFooter","StyledDetailPageFooterActions","StyledDetailPageFooterContent","StyledDetailPageFooterNotation","DetailPageViewContext","createContext","width","hasNavigation","DetailPage_","forwardRef","_ref","ref","_ref$width","_ref$hasNavigation","children","props","_objectWithoutProperties","_excluded","createElement","Provider","value","offset","xs","_extends","Heading","Body","_React$useContext","useContext","Row","Col","colWidth","colStart","Footer","_ref2","_excluded2","FooterNotation","FooterActions","Actions","Card","_ref3","navigationLabel","_excluded3","cardId","card","useRef","_useAnchorNavigationC","registerSection","unregisterSection","id","useEffect","_card$current","_card$current$querySe","label","current","querySelector","textContent","displayName","DetailPage","Main","Header","Breadcrumbs","Banner","Title","Tabs","Aside"],"sources":["../../src/DetailPage/DetailPage.tsx"],"sourcesContent":["import { useId } from '@react-aria/utils'\nimport React from 'react'\nimport {\n AnchorNavigationProvider,\n useAnchorNavigationContext,\n} from '../AnchorNavigation/AnchorNavigationProvider'\nimport { Grid } from '../Grid/Grid'\nimport { Page, PageBodyNavigation } from '../PageLayout/PageLayout'\nimport type {\n PageComponentProps,\n PageFooterProps,\n} from '../PageLayout/PageLayout.types'\nimport { Section, SectionProvider } from '../Section/Section'\nimport { H1 } from '../Semantic/Semantic'\nimport { spacing } from '../_styles/spacing'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport type { Props } from '../_utils/types'\nimport { gridConfig } from './DetailPage.constants'\nimport {\n StyledDetailPageBody,\n StyledDetailPageCard,\n StyledDetailPageFooter,\n StyledDetailPageFooterActions,\n StyledDetailPageFooterContent,\n StyledDetailPageFooterNotation,\n} from './DetailPage.styles'\nimport type {\n DetailPageCardProps,\n DetailPageProps,\n DetailPageWidth,\n} from './DetailPage.types'\n\nexport const DetailPageViewContext = React.createContext<{\n width: DetailPageWidth\n hasNavigation: boolean\n}>({\n width: 'md',\n hasNavigation: false,\n})\n\nconst DetailPage_ = React.forwardRef<HTMLDivElement, DetailPageProps>(\n function DetailPage_(\n { width = 'md', hasNavigation = false, children, ...props },\n ref\n ) {\n return (\n <DetailPageViewContext.Provider value={{ width, hasNavigation }}>\n <AnchorNavigationProvider offset={spacing.xs}>\n <Page ref={ref} {...props} data-core-react=\"detail-page\">\n {children}\n </Page>\n </AnchorNavigationProvider>\n </DetailPageViewContext.Provider>\n )\n }\n)\n\nexport const Heading = React.forwardRef<HTMLDivElement, Props>(function Heading(\n props,\n ref\n) {\n return <H1 ref={ref} {...props} />\n})\n\nexport const Body = React.forwardRef<HTMLDivElement, PageComponentProps>(\n function Body(props, ref) {\n const { width, hasNavigation } = React.useContext(DetailPageViewContext)\n\n return (\n <Page.Body>\n {hasNavigation && <PageBodyNavigation />}\n <Grid.Row>\n <Grid.Col\n colWidth={gridConfig[width].width}\n colStart={gridConfig[width].offset}\n >\n <StyledDetailPageBody ref={ref} {...props} />\n </Grid.Col>\n </Grid.Row>\n </Page.Body>\n )\n }\n)\n\nexport const Footer = React.forwardRef<HTMLDivElement, PageFooterProps>(\n function Footer({ children, ...props }, ref) {\n return (\n <StyledDetailPageFooter ref={ref} {...props}>\n <StyledDetailPageFooterContent>\n {children}\n </StyledDetailPageFooterContent>\n </StyledDetailPageFooter>\n )\n }\n)\n\nexport const FooterNotation = React.forwardRef<HTMLDivElement, Props>(\n function FooterNotation(props, ref) {\n return <StyledDetailPageFooterNotation ref={ref} {...props} />\n }\n)\n\nexport const FooterActions = React.forwardRef<HTMLDivElement, Props>(\n function Actions(props, ref) {\n return <StyledDetailPageFooterActions ref={ref} {...props} />\n }\n)\n\nexport const Card = React.forwardRef<HTMLDivElement, DetailPageCardProps>(\n function Card({ navigationLabel, ...props }, ref) {\n const cardId = useId()\n const card = React.useRef<HTMLDivElement>(null)\n const { registerSection, unregisterSection } = useAnchorNavigationContext()\n const id = props.id || cardId\n\n React.useEffect(() => {\n // Use content of first H2 element as label if navigationLabel is not provided\n const label =\n navigationLabel || card.current?.querySelector('h2')?.textContent\n if (!card.current || !label) return\n\n registerSection(id, label, card.current)\n\n return () => unregisterSection(id)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n return (\n <SectionProvider>\n <StyledDetailPageCard ref={mergeRefs(ref, card)} id={id} {...props} />\n </SectionProvider>\n )\n }\n)\n\nDetailPage_.displayName = 'DetailPage'\nHeading.displayName = 'DetailPage.Heading'\nBody.displayName = 'DetailPage.Body'\nFooter.displayName = 'DetailPage.Footer'\nCard.displayName = 'DetailPage.Card'\n\n/**\n\n A detail page is used when an object is selected from a list page. The layout\n can adhere to varying predefined widths depending on use case.\n\n - DetailPage\n - DetailPage.Main\n - DetailPage.Header\n - DetailPage.Breadcrumbs\n - Breadcrumbs\n - DetailPage.Banner\n - Banner\n - DetailPage.Title\n - Title or H1\n - DetailPage.Tabs\n - Tabs\n - DetailPage.Body\n - DetailPage.Title\n - DetailPage.Banner\n - DetailPage.Card\n - DetailPage.Banner\n - DetailPage.Section\n - DetailPage.Section\n - DetailPage.Section\n - DetailPage.Footer\n - DetailPage.FooterNotation\n - DetailPage.FooterActions\n - Button\n - DetailPage.Aside\n - Panel\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-detailpage--edit)\n\n @see [Design Guidelines](https://design.procore.com/detail)\n\n */\nexport const DetailPage = addSubcomponents(\n {\n Main: Page.Main,\n Header: Page.Header,\n Breadcrumbs: Page.Breadcrumbs,\n Card,\n Banner: Page.Banner,\n Title: Page.Title,\n Heading,\n Tabs: Page.Tabs,\n Footer,\n FooterActions,\n FooterNotation,\n Section,\n Body,\n Aside: Page.Aside,\n },\n DetailPage_\n)\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DetailPage.js","names":["useId","React","AnchorNavigationProvider","useAnchorNavigationContext","Grid","Page","PageBodyNavigation","Section","SectionProvider","H1","spacing","addSubcomponents","mergeRefs","gridConfig","StyledDetailPageBody","StyledDetailPageCard","StyledDetailPageFooter","StyledDetailPageFooterActions","StyledDetailPageFooterContent","StyledDetailPageFooterNotation","DetailPageViewContext","createContext","width","hasNavigation","DetailPage_","forwardRef","_ref","ref","_ref$width","_ref$hasNavigation","children","props","_objectWithoutProperties","_excluded","createElement","Provider","value","offset","xs","_extends","Heading","Body","_React$useContext","useContext","Row","Col","colWidth","colStart","Footer","_ref2","_excluded2","FooterNotation","FooterActions","Actions","Card","_ref3","navigationLabel","_excluded3","cardId","card","useRef","_useAnchorNavigationC","registerSection","unregisterSection","id","useEffect","_card$current","_card$current$querySe","label","current","querySelector","textContent","displayName","DetailPage","Main","Header","Breadcrumbs","Banner","Title","Tabs","Aside"],"sources":["../../src/DetailPage/DetailPage.tsx"],"sourcesContent":["import { useId } from '@react-aria/utils'\nimport React from 'react'\nimport {\n AnchorNavigationProvider,\n useAnchorNavigationContext,\n} from '../AnchorNavigation/AnchorNavigationProvider'\nimport { Grid } from '../Grid/Grid'\nimport { Page, PageBodyNavigation } from '../PageLayout/PageLayout'\nimport type {\n PageComponentProps,\n PageFooterProps,\n} from '../PageLayout/PageLayout.types'\nimport { Section, SectionProvider } from '../Section/Section'\nimport { H1 } from '../Semantic/Semantic'\nimport { spacing } from '../_styles/spacing'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport type { Props } from '../_utils/types'\nimport { gridConfig } from './DetailPage.constants'\nimport {\n StyledDetailPageBody,\n StyledDetailPageCard,\n StyledDetailPageFooter,\n StyledDetailPageFooterActions,\n StyledDetailPageFooterContent,\n StyledDetailPageFooterNotation,\n} from './DetailPage.styles'\nimport type {\n DetailPageCardProps,\n DetailPageProps,\n DetailPageWidth,\n} from './DetailPage.types'\n\nexport const DetailPageViewContext = React.createContext<{\n width: DetailPageWidth\n hasNavigation: boolean\n}>({\n width: 'md',\n hasNavigation: false,\n})\n\nconst DetailPage_ = React.forwardRef<HTMLDivElement, DetailPageProps>(\n function DetailPage_(\n { width = 'md', hasNavigation = false, children, ...props },\n ref\n ) {\n return (\n <DetailPageViewContext.Provider value={{ width, hasNavigation }}>\n <AnchorNavigationProvider offset={spacing.xs}>\n <Page ref={ref} {...props} data-core-react=\"detail-page\">\n {children}\n </Page>\n </AnchorNavigationProvider>\n </DetailPageViewContext.Provider>\n )\n }\n)\n\nexport const Heading = React.forwardRef<HTMLDivElement, Props>(function Heading(\n props,\n ref\n) {\n return <H1 ref={ref} {...props} />\n})\n\nexport const Body = React.forwardRef<HTMLDivElement, PageComponentProps>(\n function Body(props, ref) {\n const { width, hasNavigation } = React.useContext(DetailPageViewContext)\n\n return (\n <Page.Body>\n {hasNavigation && <PageBodyNavigation />}\n <Grid.Row>\n <Grid.Col\n colWidth={gridConfig[width].width}\n colStart={gridConfig[width].offset}\n >\n <StyledDetailPageBody ref={ref} {...props} />\n </Grid.Col>\n </Grid.Row>\n </Page.Body>\n )\n }\n)\n\nexport const Footer = React.forwardRef<HTMLDivElement, PageFooterProps>(\n function Footer({ children, ...props }, ref) {\n return (\n <StyledDetailPageFooter ref={ref} {...props}>\n <StyledDetailPageFooterContent>\n {children}\n </StyledDetailPageFooterContent>\n </StyledDetailPageFooter>\n )\n }\n)\n\nexport const FooterNotation = React.forwardRef<HTMLDivElement, Props>(\n function FooterNotation(props, ref) {\n return <StyledDetailPageFooterNotation ref={ref} {...props} />\n }\n)\n\nexport const FooterActions = React.forwardRef<HTMLDivElement, Props>(\n function Actions(props, ref) {\n return <StyledDetailPageFooterActions ref={ref} {...props} />\n }\n)\n\nexport const Card = React.forwardRef<HTMLDivElement, DetailPageCardProps>(\n function Card({ navigationLabel, ...props }, ref) {\n const cardId = useId()\n const card = React.useRef<HTMLDivElement>(null)\n const { registerSection, unregisterSection } = useAnchorNavigationContext()\n const id = props.id || cardId\n\n React.useEffect(() => {\n // Use content of first H2 element as label if navigationLabel is not provided\n const label =\n navigationLabel || card.current?.querySelector('h2')?.textContent\n if (!card.current || !label) return\n\n registerSection(id, label, card.current)\n\n return () => unregisterSection(id)\n }, [id, navigationLabel]) // eslint-disable-line react-hooks/exhaustive-deps\n\n return (\n <SectionProvider>\n <StyledDetailPageCard ref={mergeRefs(ref, card)} id={id} {...props} />\n </SectionProvider>\n )\n }\n)\n\nDetailPage_.displayName = 'DetailPage'\nHeading.displayName = 'DetailPage.Heading'\nBody.displayName = 'DetailPage.Body'\nFooter.displayName = 'DetailPage.Footer'\nCard.displayName = 'DetailPage.Card'\n\n/**\n\n A detail page is used when an object is selected from a list page. The layout\n can adhere to varying predefined widths depending on use case.\n\n - DetailPage\n - DetailPage.Main\n - DetailPage.Header\n - DetailPage.Breadcrumbs\n - Breadcrumbs\n - DetailPage.Banner\n - Banner\n - DetailPage.Title\n - Title or H1\n - DetailPage.Tabs\n - Tabs\n - DetailPage.Body\n - DetailPage.Title\n - DetailPage.Banner\n - DetailPage.Card\n - DetailPage.Banner\n - DetailPage.Section\n - DetailPage.Section\n - DetailPage.Section\n - DetailPage.Footer\n - DetailPage.FooterNotation\n - DetailPage.FooterActions\n - Button\n - DetailPage.Aside\n - Panel\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-detailpage--edit)\n\n @see [Design Guidelines](https://design.procore.com/detail)\n\n */\nexport const DetailPage = addSubcomponents(\n {\n Main: Page.Main,\n Header: Page.Header,\n Breadcrumbs: Page.Breadcrumbs,\n Card,\n Banner: Page.Banner,\n Title: Page.Title,\n Heading,\n Tabs: Page.Tabs,\n Footer,\n FooterActions,\n FooterNotation,\n Section,\n Body,\n Aside: Page.Aside,\n },\n DetailPage_\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_32_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_32_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_32_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_32_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_32_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_32_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_32_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
|
|
@@ -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_32_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_32_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_32_0__sc-ufsy2q-2"
|
|
17
17
|
})(["pointer-events:", ";", ""], function (_ref) {
|
|
18
18
|
var disabled = _ref.disabled,
|
|
19
19
|
$loading = _ref.$loading;
|
|
@@ -179,7 +179,8 @@ export var DropdownFlyout = /*#__PURE__*/React.forwardRef(function DropdownFlyou
|
|
|
179
179
|
setMouseOver = _useDropdownFlyout.setMouseOver,
|
|
180
180
|
setFocused = _useDropdownFlyout.setFocused,
|
|
181
181
|
isExpanded = _useDropdownFlyout.isExpanded,
|
|
182
|
-
isHighlighted = _useDropdownFlyout.isHighlighted
|
|
182
|
+
isHighlighted = _useDropdownFlyout.isHighlighted,
|
|
183
|
+
closeDropdown = _useDropdownFlyout.closeDropdown;
|
|
183
184
|
useClickOutside({
|
|
184
185
|
onClickOutside: isOpen ? closeSelectedDropdown : noop,
|
|
185
186
|
refs: [containerRef]
|
|
@@ -252,7 +253,11 @@ export var DropdownFlyout = /*#__PURE__*/React.forwardRef(function DropdownFlyou
|
|
|
252
253
|
onClick: function onClick(e) {
|
|
253
254
|
var _trigger$props$onClic, _trigger$props;
|
|
254
255
|
(_trigger$props$onClic = (_trigger$props = trigger.props).onClick) === null || _trigger$props$onClic === void 0 ? void 0 : _trigger$props$onClic.call(_trigger$props, e);
|
|
255
|
-
|
|
256
|
+
if (isOpen) {
|
|
257
|
+
closeDropdown();
|
|
258
|
+
} else {
|
|
259
|
+
openDropdown();
|
|
260
|
+
}
|
|
256
261
|
},
|
|
257
262
|
tabIndex: 0
|
|
258
263
|
}), /*#__PURE__*/React.createElement(DropdownFlyoutContext.Provider, {
|
|
@@ -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","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 } = 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 openDropdown()\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","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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"}
|
|
@@ -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_32_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_32_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_32_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_32_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
|
|
@@ -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_32_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_32_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_32_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_32_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_32_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_32_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_32_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_32_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_32_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_32_0__sc-by95hy-8"
|
|
66
66
|
})(["height:100%;"]);
|
|
67
67
|
//# sourceMappingURL=Dropzone.styles.js.map
|