@procore/core-react 12.53.2 → 12.53.4
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 +15 -0
- package/dist/AnchorNavigation/AnchorNavigation.styles.js +4 -4
- package/dist/Avatar/Avatar.styles.js +5 -5
- package/dist/AvatarStack/AvatarStack.styles.js +8 -8
- 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.js +97 -10
- package/dist/Calendar/Calendar.js.map +1 -1
- package/dist/Calendar/Calendar.styles.d.ts +3 -0
- package/dist/Calendar/Calendar.styles.js +13 -9
- package/dist/Calendar/Calendar.styles.js.map +1 -1
- package/dist/Calendar/Calendar.types.js.map +1 -1
- package/dist/Card/Card.styles.js +1 -1
- package/dist/Checkbox/Checkbox.styles.js +6 -6
- package/dist/ContactItem/ContactItem.styles.js +5 -5
- package/dist/Content/Content.styles.js +2 -2
- package/dist/DateInput/DateInput.js +1 -1
- package/dist/DateInput/DateInput.js.map +1 -1
- package/dist/DateInput/DateInput.styles.js +8 -8
- package/dist/DateInput/DateInput.styles.js.map +1 -1
- package/dist/DateSelect/DateSelect.js +60 -29
- package/dist/DateSelect/DateSelect.js.map +1 -1
- package/dist/DateSelect/DateSelect.types.d.ts +2 -2
- package/dist/DateSelect/DateSelect.types.js.map +1 -1
- package/dist/DetailPage/DetailPage.styles.js +7 -7
- package/dist/Dropdown/Dropdown.styles.js +3 -3
- package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
- package/dist/Dropzone/Dropzone.js +1 -1
- package/dist/Dropzone/Dropzone.styles.js +9 -9
- package/dist/EmptyState/EmptyState.styles.js +6 -6
- package/dist/Field/Field.styles.js +3 -3
- package/dist/FileList/FileList.styles.js +3 -3
- 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.js +6 -6
- package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
- package/dist/FileToken/FileToken.styles.js +6 -6
- package/dist/FilterToken/FilterToken.styles.js +5 -5
- package/dist/FlexList/FlexList.styles.js +1 -1
- package/dist/Form/Form.js +5 -0
- package/dist/Form/Form.js.map +1 -1
- package/dist/Form/Form.styles.js +13 -13
- package/dist/Form/StyledFormikForm.styles.js +2 -2
- package/dist/GhostPlaceholder/GhostPlaceholder.styles.js +2 -2
- package/dist/Grid/Grid.styles.js +2 -2
- package/dist/GroupSelect/GroupSelect.styles.js +1 -1
- package/dist/Input/Input.styles.js +1 -1
- package/dist/Link/Link.styles.js +1 -1
- package/dist/ListPage/ListPage.styles.js +8 -8
- package/dist/Loader/Loader.styles.js +2 -2
- package/dist/MenuImperative/MenuImperative.styles.js +11 -11
- package/dist/Modal/Modal.styles.js +13 -13
- package/dist/MultiSelect/MultiSelect.js +3 -1
- package/dist/MultiSelect/MultiSelect.js.map +1 -1
- package/dist/MultiSelect/MultiSelect.styles.js +8 -8
- package/dist/MultiSelect/MultiSelect.types.d.ts +5 -0
- package/dist/MultiSelect/MultiSelect.types.js.map +1 -1
- package/dist/NextMenu/NextMenu.styles.js +3 -3
- package/dist/NextTile/NextTile.styles.js +5 -5
- package/dist/Notation/Notation.js +1 -1
- package/dist/NumberInput/NumberInput.styles.js +7 -7
- package/dist/Overlay/OverlayArrow.styles.js +1 -1
- package/dist/PageLayout/PageLayout.styles.js +16 -16
- package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.styles.js +1 -1
- package/dist/PageTemplate/PageHeaderTemplate/PageHeaderTemplate.styles.js +3 -3
- package/dist/PageTemplate/PagePaneTemplate/PagePaneTemplate.styles.js +2 -2
- package/dist/PageTemplate/PageTemplate/PageTemplate.styles.js +3 -3
- package/dist/Pagination/Pagination.styles.js +5 -5
- package/dist/Panel/Panel.styles.js +11 -11
- package/dist/Pill/Pill.styles.js +3 -3
- package/dist/PillSelect/PillSelect.js +2 -3
- package/dist/PillSelect/PillSelect.js.map +1 -1
- package/dist/PillSelect/PillSelect.styles.d.ts +5 -0
- package/dist/PillSelect/PillSelect.styles.js +8 -4
- package/dist/PillSelect/PillSelect.styles.js.map +1 -1
- package/dist/Popover/Popover.styles.js +2 -2
- package/dist/Portal/Portal.styles.js +1 -1
- package/dist/ProgressBar/ProgressBar.styles.js +2 -2
- package/dist/RadioButton/RadioButton.styles.js +3 -3
- package/dist/Required/Required.styles.js +3 -3
- package/dist/Search/Search.styles.js +5 -5
- package/dist/Section/Section.js +0 -1
- package/dist/Section/Section.js.map +1 -1
- package/dist/Section/Section.styles.js +7 -7
- package/dist/SegmentedController/SegmentedController.styles.js +4 -4
- package/dist/Select/Select.styles.js +8 -8
- 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 +40 -40
- package/dist/SuperSelect/SuperSelect.types.d.ts +7 -0
- package/dist/SuperSelect/SuperSelect.types.js.map +1 -1
- package/dist/SuperSelect/useSuperSelect.d.ts +1 -1
- package/dist/SuperSelect/useSuperSelect.js +7 -2
- package/dist/SuperSelect/useSuperSelect.js.map +1 -1
- package/dist/Switch/Switch.styles.js +4 -4
- package/dist/Table/Table.styles.js +29 -29
- package/dist/TableShelf/TableShelf.styles.js +5 -5
- package/dist/Tabs/Tabs.styles.js +16 -16
- package/dist/Tearsheet/Tearsheet.js +55 -31
- package/dist/Tearsheet/Tearsheet.js.map +1 -1
- package/dist/Tearsheet/Tearsheet.styles.js +5 -5
- package/dist/TextArea/TextArea.styles.js +1 -1
- package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
- package/dist/Thumbnail/Thumbnail.styles.js +21 -21
- package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
- package/dist/TieredSelect/LeafSelectionTieredSelect.js +5 -1
- package/dist/TieredSelect/LeafSelectionTieredSelect.js.map +1 -1
- package/dist/TieredSelect/TierSelectionTieredSelect.js +7 -13
- package/dist/TieredSelect/TierSelectionTieredSelect.js.map +1 -1
- 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 +5 -5
- package/dist/ToolHeader/ToolHeader.styles.js +6 -6
- package/dist/ToolLandingPage/ToolLandingPage.styles.js +3 -3
- package/dist/Tooltip/Tooltip.styles.js +3 -3
- package/dist/Tree/Tree.js +1 -1
- package/dist/Tree/Tree.styles.js +10 -10
- package/dist/Typeahead/Typeahead.styles.js +4 -4
- package/dist/Typography/Typography.styles.js +1 -1
- package/dist/Typography/Typography.table.story.js +2 -2
- package/dist/_locales/es-ES.json +2 -2
- package/dist/_locales/es.json +2 -2
- package/dist/_locales/fr-CA.json +2 -2
- package/dist/_locales/nb-NO.json +5 -5
- package/dist/_storyHelpers_/components/Deprecation.styles.js +1 -1
- package/dist/_storyHelpers_/components/StoryGrid.js +3 -3
- package/dist/_typedoc/AnchorNavigation/AnchorNavigation.types.json +7 -7
- package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
- package/dist/_typedoc/AvatarStack/AvatarStack.types.json +25 -25
- package/dist/_typedoc/Badge/Badge.types.json +6 -6
- package/dist/_typedoc/Banner/Banner.types.json +17 -17
- package/dist/_typedoc/Box/Box.types.json +68 -68
- package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +12 -12
- package/dist/_typedoc/Button/Button.types.json +14 -14
- 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 +45 -14
- package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
- package/dist/_typedoc/DetailPageTemplate/DetailPageTemplate.types.json +3 -3
- package/dist/_typedoc/Dropdown/Dropdown.types.json +38 -38
- package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +37 -37
- package/dist/_typedoc/Dropzone/Dropzone.types.json +50 -50
- package/dist/_typedoc/EmptyState/EmptyState.types.json +18 -18
- 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 +17 -17
- 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 +875 -773
- 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 +99 -79
- 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 +90 -90
- package/dist/_typedoc/Modal/Modal.types.json +48 -48
- package/dist/_typedoc/MultiSelect/MultiSelect.types.json +43 -33
- package/dist/_typedoc/NextTile/NextTile.types.json +33 -33
- package/dist/_typedoc/Notation/Notation.types.json +4 -4
- package/dist/_typedoc/NumberInput/NumberInput.types.json +52 -52
- package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +33 -33
- package/dist/_typedoc/PageLayout/PageLayout.types.json +40 -40
- package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
- package/dist/_typedoc/Panel/Panel.types.json +28 -28
- 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 +67 -67
- package/dist/_typedoc/SettingsPage/SettingsPage.types.json +10 -10
- package/dist/_typedoc/SettingsPageTemplate/SettingsPageTemplate.types.json +3 -3
- 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 +136 -105
- package/dist/_typedoc/Tabs/Tablist.types.json +10 -10
- package/dist/_typedoc/Tabs/Tabs.types.json +20 -20
- package/dist/_typedoc/Tearsheet/Tearsheet.types.json +17 -17
- package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
- package/dist/_typedoc/TextEditor/TextEditor.types.json +11 -11
- package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +4 -4
- package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
- package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +43 -43
- package/dist/_typedoc/TieredSelect/TieredSelect.types.json +29 -29
- package/dist/_typedoc/Tile/Tile.types.json +8 -8
- package/dist/_typedoc/Title/Title.types.json +1 -1
- package/dist/_typedoc/Toast/Toast.types.json +4 -4
- package/dist/_typedoc/ToggleButton/ToggleButton.types.json +4 -4
- package/dist/_typedoc/Token/Token.types.json +7 -7
- package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
- package/dist/_typedoc/ToolLandingPage/ToolLandingPage.types.json +8 -8
- package/dist/_typedoc/ToolLandingPageTemplate/ToolLandingPageTemplate.types.json +2 -2
- package/dist/_typedoc/Tooltip/Tooltip.types.json +15 -15
- package/dist/_typedoc/Tree/Tree.types.json +132 -132
- 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/a11y-tips.json +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateInput.js","names":["Clear","getDatePartsWithPlaceholders","isSameDay","React","Button","useOverlayTriggerContext","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","dayRef","useRef","monthRef","yearRef","setAll","clampedDay","isCleared","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","_useOverlayTriggerCon","show","contains","key","keys","indexOf","onKeyDown","stopPropagation","isOpenKey","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","ariaLabel","_excluded2","dateInputRef","segment1Ref","segmentOne","createRef","segment2Ref","segmentTwo","segment3Ref","segmentThree","locale","dateParts","delimiter","filter","part","curr","_toConsumableArray","segmentParts","includes","segments","onClickClear","e","wholeDate","getSegmentAriaLabel","hasValue","scope","typeLabel","dateLabel","groupAriaLabel","$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 { useOverlayTriggerContext } from '../OverlayTrigger/OverlayTrigger'\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: 'dd', 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 // Mirror the latest committed segment values in refs so setDay/setMonth/setYear\n // always build the date from current state instead of values captured in a\n // stale render closure. Stale siblings produced the wrong committed date\n // during rapid manual entry. (CDOCS-10749)\n const dayRef = React.useRef(day)\n const monthRef = React.useRef(month)\n const yearRef = React.useRef(year)\n dayRef.current = day\n monthRef.current = month\n yearRef.current = year\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 // A half-typed date is transiently `null` while the user is still filling in\n // segments. Treating that as a clear fired `onChange(null)`, which wiped the\n // committed value and — in range filters — reset the sibling segments and\n // left the pill showing the previous (wrong) date. Only report a clear when\n // every segment is empty (clear button / deleting the whole field). (CDOCS-10749)\n const isCleared = clampedDay < 0 && month < 0 && year < 0\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 a fully cleared (empty) date\n */\n const validDate = date && isValidYearRange(year)\n if (\n (!value && validDate) ||\n (value && validDate && !isSameDay(date, value)) ||\n (value && date === null && isCleared)\n ) {\n onChange(dateTime.shiftZonedTimeToUtc(date))\n }\n }\n\n const setDay = (value: number) => {\n setAll(value, monthRef.current, yearRef.current)\n }\n\n const setMonth = (value: number) => {\n setAll(dayRef.current, value, yearRef.current)\n }\n\n const setYear = (value: number) => {\n setAll(dayRef.current, monthRef.current, 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 const { show } = useOverlayTriggerContext()\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 const isOpenKey = contains(key, ['Enter', ' '])\n\n if (isOpenKey) {\n event.preventDefault()\n event.stopPropagation()\n show(event)\n }\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 'aria-label': ariaLabel,\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 wholeDate =\n value && isValidYearRange(dateInput.year)\n ? dateTime.format(value, 'date')\n : undefined\n\n const getSegmentAriaLabel = (type: SegmentType, value: number) => {\n const hasValue = value && value !== -1\n\n if (!ariaLabel) {\n return hasValue\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\n const typeLabel = hasValue\n ? I18n.t(type, { scope: 'core.dateInput.segment.name' })\n : I18n.t(type, {\n scope: 'core.dateInput.segment.ariaLabel.withoutValue',\n })\n\n return wholeDate\n ? `${typeLabel}, ${ariaLabel}, ${wholeDate}`\n : `${typeLabel}, ${ariaLabel}`\n }\n\n const dateLabel =\n value && isValidYearRange(dateInput.year)\n ? dateTime.format(value, 'weekday-date')\n : undefined\n\n const groupAriaLabel = ariaLabel ? undefined : dateLabel\n\n return (\n // eslint-disable-next-line jsx-a11y/role-supports-aria-props -- aria-invalid on group is valid per WCAG guidance (UXI-1529)\n <StyledDateInput\n role=\"group\"\n aria-label={groupAriaLabel}\n aria-invalid={\n error ||\n variant === 'error' ||\n (!isValidYearRange(dateInput.year) && dateInput.year !== -1)\n ? 'true'\n : 'false'\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 />\n ) : (\n <StyledCalendar />\n )}\n </StyledDateInputIconContainer>\n </StyledDateInput>\n )\n }\n)\n\nDateInput.displayName = 'DateInput'\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DateInput.js","names":["Clear","getDatePartsWithPlaceholders","isSameDay","React","Button","useOverlayTriggerContext","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","dayRef","useRef","monthRef","yearRef","setAll","clampedDay","isCleared","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","_useOverlayTriggerCon","show","contains","key","keys","indexOf","onKeyDown","stopPropagation","isOpenKey","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","ariaLabel","_excluded2","dateInputRef","segment1Ref","segmentOne","createRef","segment2Ref","segmentTwo","segment3Ref","segmentThree","locale","dateParts","delimiter","filter","part","curr","_toConsumableArray","segmentParts","includes","segments","onClickClear","e","wholeDate","getSegmentAriaLabel","hasValue","scope","typeLabel","dateLabel","groupAriaLabel","$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 { useOverlayTriggerContext } from '../OverlayTrigger/OverlayTrigger'\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: 'dd', 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 // Mirror the latest committed segment values in refs so setDay/setMonth/setYear\n // always build the date from current state instead of values captured in a\n // stale render closure. Stale siblings produced the wrong committed date\n // during rapid manual entry. (CDOCS-10749)\n const dayRef = React.useRef(day)\n const monthRef = React.useRef(month)\n const yearRef = React.useRef(year)\n dayRef.current = day\n monthRef.current = month\n yearRef.current = year\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 // A half-typed date is transiently `null` while the user is still filling in\n // segments. Treating that as a clear fired `onChange(null)`, which wiped the\n // committed value and — in range filters — reset the sibling segments and\n // left the pill showing the previous (wrong) date. Only report a clear when\n // every segment is empty (clear button / deleting the whole field). (CDOCS-10749)\n const isCleared = clampedDay < 0 && month < 0 && year < 0\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 a fully cleared (empty) date\n */\n const validDate = date && isValidYearRange(year)\n if (\n (!value && validDate) ||\n (value && validDate && !isSameDay(date, value)) ||\n (value && date === null && isCleared)\n ) {\n onChange(dateTime.shiftZonedTimeToUtc(date))\n }\n }\n\n const setDay = (value: number) => {\n setAll(value, monthRef.current, yearRef.current)\n }\n\n const setMonth = (value: number) => {\n setAll(dayRef.current, value, yearRef.current)\n }\n\n const setYear = (value: number) => {\n setAll(dayRef.current, monthRef.current, 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 const { show } = useOverlayTriggerContext()\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 const isOpenKey = key === ' '\n\n if (isOpenKey) {\n event.preventDefault()\n event.stopPropagation()\n show(event)\n }\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 'aria-label': ariaLabel,\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 wholeDate =\n value && isValidYearRange(dateInput.year)\n ? dateTime.format(value, 'date')\n : undefined\n\n const getSegmentAriaLabel = (type: SegmentType, value: number) => {\n const hasValue = value && value !== -1\n\n if (!ariaLabel) {\n return hasValue\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\n const typeLabel = hasValue\n ? I18n.t(type, { scope: 'core.dateInput.segment.name' })\n : I18n.t(type, {\n scope: 'core.dateInput.segment.ariaLabel.withoutValue',\n })\n\n return wholeDate\n ? `${typeLabel}, ${ariaLabel}, ${wholeDate}`\n : `${typeLabel}, ${ariaLabel}`\n }\n\n const dateLabel =\n value && isValidYearRange(dateInput.year)\n ? dateTime.format(value, 'weekday-date')\n : undefined\n\n const groupAriaLabel = ariaLabel ? undefined : dateLabel\n\n return (\n // eslint-disable-next-line jsx-a11y/role-supports-aria-props -- aria-invalid on group is valid per WCAG guidance (UXI-1529)\n <StyledDateInput\n role=\"group\"\n aria-label={groupAriaLabel}\n aria-invalid={\n error ||\n variant === 'error' ||\n (!isValidYearRange(dateInput.year) && dateInput.year !== -1)\n ? 'true'\n : 'false'\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 />\n ) : (\n <StyledCalendar />\n )}\n </StyledDateInputIconContainer>\n </StyledDateInput>\n )\n }\n)\n\nDateInput.displayName = 'DateInput'\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,34 +10,34 @@ 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.gray50, colors.gray45);
|
|
11
11
|
export var StyledCalendar = /*#__PURE__*/styled(Calendar).withConfig({
|
|
12
12
|
displayName: "StyledCalendar",
|
|
13
|
-
componentId: "core-
|
|
13
|
+
componentId: "core-12_53_4__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_53_4__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-
|
|
22
|
-
})(["", " outline:none;text-align:center;&:focus{background-color:", ";}&::selection{background-color:transparent;}&[data-placeholder='true']{color:", ";}"], getTypographyIntent('body'), colors.
|
|
21
|
+
componentId: "core-12_53_4__sc-w10btf-2"
|
|
22
|
+
})(["", " padding-left:1px;padding-right:1px;outline:none;text-align:center;&:focus{background-color:", ";color:", ";}&::selection{background-color:transparent;}&[data-placeholder='true']{color:", ";}&:focus[data-placeholder='true']{color:", ";}"], getTypographyIntent('body'), colors.blue40, colors.white, function (_ref) {
|
|
23
23
|
var $disabled = _ref.$disabled;
|
|
24
24
|
return $disabled ? colors.gray70 : colors.gray45;
|
|
25
|
-
});
|
|
25
|
+
}, colors.white);
|
|
26
26
|
export var StyledDateInputDelimiter = /*#__PURE__*/styled.span.attrs(function (props) {
|
|
27
27
|
return {
|
|
28
28
|
'data-qa-table-visible': props.$visible
|
|
29
29
|
};
|
|
30
30
|
}).withConfig({
|
|
31
31
|
displayName: "StyledDateInputDelimiter",
|
|
32
|
-
componentId: "core-
|
|
32
|
+
componentId: "core-12_53_4__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_53_4__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_53_4__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.gray50, 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.gray20);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateInput.styles.js","names":["Calendar","styled","css","dataQa","getTypographyIntent","colors","getFocus","spacing","inputHeight","disabledCss","gray94","gray45","gray50","StyledCalendar","withConfig","displayName","componentId","StyledDateSegmentsContainer","div","xs","StyledDateInputSegment","
|
|
1
|
+
{"version":3,"file":"DateInput.styles.js","names":["Calendar","styled","css","dataQa","getTypographyIntent","colors","getFocus","spacing","inputHeight","disabledCss","gray94","gray45","gray50","StyledCalendar","withConfig","displayName","componentId","StyledDateSegmentsContainer","div","xs","StyledDateInputSegment","blue40","white","_ref","$disabled","gray70","StyledDateInputDelimiter","span","attrs","props","$visible","StyledDateInputIconContainer","StyledDateInput","sm","_ref2","$error","hovered","gray20","focused","_ref3","_ref4","red50"],"sources":["../../src/DateInput/DateInput.styles.tsx"],"sourcesContent":["import { Calendar } from '@procore/core-icons/dist'\nimport styled, { css } from 'styled-components'\nimport { dataQa } from '../Input/Input.styles'\nimport { getTypographyIntent } from '../Typography'\nimport { colors } from '../_styles/colors'\nimport { getFocus } from '../_styles/mixins'\nimport { spacing } from '../_styles/spacing'\n\ninterface StyledDateInputSegmentProps {\n $disabled: boolean\n $isYear: boolean\n}\n\nconst inputHeight = 36 // TODO one-off\n\nconst disabledCss = css`\n background-color: ${colors.gray94};\n color: ${colors.gray45};\n border-width: 1px;\n border-style: solid;\n border-color: ${colors.gray50};\n pointer-events: none;\n\n svg {\n color: ${colors.gray45};\n }\n`\n\nexport const StyledCalendar = styled(Calendar)`\n color: ${colors.gray45};\n`\n\nexport const StyledDateSegmentsContainer = styled.div`\n min-width: 104px;\n display: flex;\n gap: ${spacing.xs}px;\n`\n\nexport const StyledDateInputSegment = styled.div<StyledDateInputSegmentProps>`\n ${getTypographyIntent('body')}\n padding-left: 1px;\n padding-right: 1px;\n outline: none;\n text-align: center;\n\n &:focus {\n background-color: ${colors.blue40};\n color: ${colors.white};\n }\n\n &::selection {\n background-color: transparent;\n }\n\n &[data-placeholder='true'] {\n color: ${({ $disabled }) => ($disabled ? colors.gray70 : colors.gray45)};\n }\n\n &:focus[data-placeholder='true'] {\n color: ${colors.white};\n }\n`\n\nexport const StyledDateInputDelimiter = styled.span.attrs<{\n $visible: boolean\n 'data-qa-table-visible'?: boolean\n}>((props) => ({\n 'data-qa-table-visible': props.$visible,\n}))`\n ${getTypographyIntent('body')}\n user-select: none;\n`\n\nexport const StyledDateInputIconContainer = styled.div`\n display: inline-flex;\n flex: 0 0 auto;\n align-items: center;\n justify-content: center;\n margin: 0 0 0 ${spacing.xs}px;\n height: 24px;\n width: 24px;\n`\n\nexport const StyledDateInput = styled.div<{\n $disabled: boolean\n $error: boolean\n}>`\n align-items: center;\n border-color: ${colors.gray50};\n border-radius: 4px;\n border-style: solid;\n border-width: 1px;\n display: inline-flex;\n flex-direction: row;\n height: ${inputHeight}px;\n justify-content: center;\n padding: 0 ${spacing.xs}px 0 ${spacing.sm}px;\n\n &::placeholder {\n color: ${colors.gray45};\n }\n\n ${({ $error }) =>\n !$error &&\n css`\n &:hover,\n &[data-qa=${dataQa.hovered}] {\n border-color: ${colors.gray20};\n }\n `}\n\n &:focus-within,\n &[data-qa=${dataQa.focused}] {\n ${getFocus()};\n }\n\n &:disabled {\n ${disabledCss}\n }\n\n ${({ $disabled }) => $disabled && disabledCss}\n\n ${({ $error }) =>\n $error &&\n css`\n border-color: ${colors.red50};\n `}\n`\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,0BAA0B;AACnD,OAAOC,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAC/C,SAASC,MAAM,QAAQ,uBAAuB;AAC9C,SAASC,mBAAmB,QAAQ,eAAe;AACnD,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,QAAQ,QAAQ,mBAAmB;AAC5C,SAASC,OAAO,QAAQ,oBAAoB;AAO5C,IAAMC,WAAW,GAAG,EAAE,EAAC;;AAEvB,IAAMC,WAAW,gBAAGP,GAAG,kIACDG,MAAM,CAACK,MAAM,EACxBL,MAAM,CAACM,MAAM,EAGNN,MAAM,CAACO,MAAM,EAIlBP,MAAM,CAACM,MAAM,CAEzB;AAED,OAAO,IAAME,cAAc,gBAAGZ,MAAM,CAACD,QAAQ,CAAC,CAAAc,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,oBACnCX,MAAM,CAACM,MAAM,CACvB;AAED,OAAO,IAAMM,2BAA2B,gBAAGhB,MAAM,CAACiB,GAAG,CAAAJ,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,iDAG5CT,OAAO,CAACY,EAAE,CAClB;AAED,OAAO,IAAMC,sBAAsB,gBAAGnB,MAAM,CAACiB,GAAG,CAAAJ,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,yPAC5CZ,mBAAmB,CAAC,MAAM,CAAC,EAOPC,MAAM,CAACgB,MAAM,EACxBhB,MAAM,CAACiB,KAAK,EAQZ,UAAAC,IAAA;EAAA,IAAGC,SAAS,GAAAD,IAAA,CAATC,SAAS;EAAA,OAAQA,SAAS,GAAGnB,MAAM,CAACoB,MAAM,GAAGpB,MAAM,CAACM,MAAM;AAAA,CAAC,EAI9DN,MAAM,CAACiB,KAAK,CAExB;AAED,OAAO,IAAMI,wBAAwB,gBAAGzB,MAAM,CAAC0B,IAAI,CAACC,KAAK,CAGtD,UAACC,KAAK;EAAA,OAAM;IACb,uBAAuB,EAAEA,KAAK,CAACC;EACjC,CAAC;AAAA,CAAC,CAAC,CAAAhB,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,+BACCZ,mBAAmB,CAAC,MAAM,CAAC,CAE9B;AAED,OAAO,IAAM2B,4BAA4B,gBAAG9B,MAAM,CAACiB,GAAG,CAAAJ,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,gIAKpCT,OAAO,CAACY,EAAE,CAG3B;AAED,OAAO,IAAMa,eAAe,gBAAG/B,MAAM,CAACiB,GAAG,CAAAJ,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,wSAKvBX,MAAM,CAACO,MAAM,EAMnBJ,WAAW,EAERD,OAAO,CAACY,EAAE,EAAQZ,OAAO,CAAC0B,EAAE,EAG9B5B,MAAM,CAACM,MAAM,EAGtB,UAAAuB,KAAA;EAAA,IAAGC,MAAM,GAAAD,KAAA,CAANC,MAAM;EAAA,OACT,CAACA,MAAM,IACPjC,GAAG,kDAEWC,MAAM,CAACiC,OAAO,EACR/B,MAAM,CAACgC,MAAM,CAEhC;AAAA,GAGSlC,MAAM,CAACmC,OAAO,EACtBhC,QAAQ,CAAC,CAAC,EAIVG,WAAW,EAGb,UAAA8B,KAAA;EAAA,IAAGf,SAAS,GAAAe,KAAA,CAATf,SAAS;EAAA,OAAOA,SAAS,IAAIf,WAAW;AAAA,GAE3C,UAAA+B,KAAA;EAAA,IAAGL,MAAM,GAAAK,KAAA,CAANL,MAAM;EAAA,OACTA,MAAM,IACNjC,GAAG,yBACeG,MAAM,CAACoC,KAAK,CAC7B;AAAA,EACJ","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
var _excluded = ["onSelect"],
|
|
2
|
-
_excluded2 = ["beforeHide", "beforeShow", "afterHide", "afterShow", "disabledDate", "displayDate", "onChange", "onClear", "value"];
|
|
2
|
+
_excluded2 = ["beforeHide", "beforeShow", "afterHide", "afterShow", "autoFocus", "containFocus", "disabledDate", "displayDate", "onChange", "onClear", "restoreFocusOnHide", "value"];
|
|
3
3
|
var _process$env$TZ_LOG;
|
|
4
4
|
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
5
5
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
@@ -32,15 +32,23 @@ var hideKeys = {
|
|
|
32
32
|
function lifecycleDefault() {
|
|
33
33
|
return true;
|
|
34
34
|
}
|
|
35
|
+
|
|
36
|
+
// The overlay can be opened by a native event or by a React synthetic event
|
|
37
|
+
// (DateInput calls `show(event)` from its segment keydown handler), so check both.
|
|
38
|
+
function isKeyboardEvent(event) {
|
|
39
|
+
var _ref2 = event !== null && event !== void 0 ? event : {},
|
|
40
|
+
nativeEvent = _ref2.nativeEvent;
|
|
41
|
+
return event instanceof KeyboardEvent || nativeEvent instanceof KeyboardEvent;
|
|
42
|
+
}
|
|
35
43
|
function noop() {}
|
|
36
44
|
var calendarCardStyle = {
|
|
37
45
|
maxHeight: "var(".concat(OVERLAY_AVAILABLE_HEIGHT_VAR, ", calc(100vh - 4px))"),
|
|
38
46
|
overflowX: 'hidden',
|
|
39
47
|
overflowY: 'auto'
|
|
40
48
|
};
|
|
41
|
-
var Calendar = /*#__PURE__*/React.forwardRef(function Calendar(
|
|
42
|
-
var _onSelect =
|
|
43
|
-
props = _objectWithoutProperties(
|
|
49
|
+
var Calendar = /*#__PURE__*/React.forwardRef(function Calendar(_ref3, ref) {
|
|
50
|
+
var _onSelect = _ref3.onSelect,
|
|
51
|
+
props = _objectWithoutProperties(_ref3, _excluded);
|
|
44
52
|
var _useOverlayTriggerCon = useOverlayTriggerContext(),
|
|
45
53
|
hide = _useOverlayTriggerCon.hide;
|
|
46
54
|
return /*#__PURE__*/React.createElement(Card, {
|
|
@@ -67,24 +75,37 @@ var Calendar = /*#__PURE__*/React.forwardRef(function Calendar(_ref2, ref) {
|
|
|
67
75
|
@see [Design Guidelines](https://design.procore.com/date-select)
|
|
68
76
|
|
|
69
77
|
*/
|
|
70
|
-
export var DateSelect = /*#__PURE__*/React.forwardRef(function DateSelect(
|
|
71
|
-
var
|
|
72
|
-
_beforeHide =
|
|
73
|
-
|
|
74
|
-
_beforeShow =
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
afterShow =
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
78
|
+
export var DateSelect = /*#__PURE__*/React.forwardRef(function DateSelect(_ref4, ref) {
|
|
79
|
+
var _ref4$beforeHide = _ref4.beforeHide,
|
|
80
|
+
_beforeHide = _ref4$beforeHide === void 0 ? lifecycleDefault : _ref4$beforeHide,
|
|
81
|
+
_ref4$beforeShow = _ref4.beforeShow,
|
|
82
|
+
_beforeShow = _ref4$beforeShow === void 0 ? lifecycleDefault : _ref4$beforeShow,
|
|
83
|
+
_ref4$afterHide = _ref4.afterHide,
|
|
84
|
+
_afterHide = _ref4$afterHide === void 0 ? noop : _ref4$afterHide,
|
|
85
|
+
_ref4$afterShow = _ref4.afterShow,
|
|
86
|
+
afterShow = _ref4$afterShow === void 0 ? noop : _ref4$afterShow,
|
|
87
|
+
autoFocus = _ref4.autoFocus,
|
|
88
|
+
containFocus = _ref4.containFocus,
|
|
89
|
+
disabledDate = _ref4.disabledDate,
|
|
90
|
+
displayDate = _ref4.displayDate,
|
|
91
|
+
_ref4$onChange = _ref4.onChange,
|
|
92
|
+
_onChange = _ref4$onChange === void 0 ? noop : _ref4$onChange,
|
|
93
|
+
_ref4$onClear = _ref4.onClear,
|
|
94
|
+
onClear = _ref4$onClear === void 0 ? noop : _ref4$onClear,
|
|
95
|
+
restoreFocusOnHide = _ref4.restoreFocusOnHide,
|
|
96
|
+
value = _ref4.value,
|
|
97
|
+
props = _objectWithoutProperties(_ref4, _excluded2);
|
|
87
98
|
var dateTime = useDateTime();
|
|
99
|
+
var calendarRef = React.useRef(null);
|
|
100
|
+
|
|
101
|
+
// Unless a consumer opts in explicitly, only pull focus into the calendar
|
|
102
|
+
// when it was opened from the keyboard. A mouse user who clicks a date
|
|
103
|
+
// segment is about to type into that segment, so moving focus to the
|
|
104
|
+
// calendar would swallow their keystrokes.
|
|
105
|
+
var _React$useState = React.useState(false),
|
|
106
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
107
|
+
openedByKeyboard = _React$useState2[0],
|
|
108
|
+
setOpenedByKeyboard = _React$useState2[1];
|
|
88
109
|
var clearRef = React.useRef(null);
|
|
89
110
|
var dateInputRef = ref;
|
|
90
111
|
React.useRef(null);
|
|
@@ -93,19 +114,20 @@ export var DateSelect = /*#__PURE__*/React.forwardRef(function DateSelect(_ref3,
|
|
|
93
114
|
var segmentRefs = {
|
|
94
115
|
segmentThree: React.useRef(null)
|
|
95
116
|
};
|
|
96
|
-
var _React$
|
|
97
|
-
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
98
|
-
selected = _React$useState2[0],
|
|
99
|
-
setSelected = _React$useState2[1];
|
|
100
|
-
var _React$useState3 = React.useState(value || displayDate || dateTime.newDate()),
|
|
117
|
+
var _React$useState3 = React.useState(value),
|
|
101
118
|
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
102
|
-
|
|
103
|
-
|
|
119
|
+
selected = _React$useState4[0],
|
|
120
|
+
setSelected = _React$useState4[1];
|
|
121
|
+
var _React$useState5 = React.useState(value || displayDate || dateTime.newDate()),
|
|
122
|
+
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
123
|
+
displayed = _React$useState6[0],
|
|
124
|
+
setDisplayed = _React$useState6[1];
|
|
104
125
|
React.useEffect(function () {
|
|
105
126
|
setSelected(value);
|
|
106
127
|
setDisplayed(value || displayDate || dateTime.newDate());
|
|
107
128
|
}, [value, displayDate]);
|
|
108
129
|
var overlay = /*#__PURE__*/React.createElement(Calendar, {
|
|
130
|
+
ref: calendarRef,
|
|
109
131
|
"data-qa": "core-date-select-calendar",
|
|
110
132
|
disabledDate: disabledDate,
|
|
111
133
|
displayDate: displayed,
|
|
@@ -122,8 +144,16 @@ export var DateSelect = /*#__PURE__*/React.forwardRef(function DateSelect(_ref3,
|
|
|
122
144
|
yearRef: yearRef
|
|
123
145
|
});
|
|
124
146
|
return /*#__PURE__*/React.createElement(OverlayTrigger, {
|
|
125
|
-
afterHide: afterHide
|
|
147
|
+
afterHide: function afterHide(event) {
|
|
148
|
+
var _calendarRef$current;
|
|
149
|
+
var target = event instanceof Event ? event.target : null;
|
|
150
|
+
var isFromCalendar = target instanceof Node && ((_calendarRef$current = calendarRef.current) === null || _calendarRef$current === void 0 ? void 0 : _calendarRef$current.contains(target));
|
|
151
|
+
_afterHide(isFromCalendar ? undefined : event);
|
|
152
|
+
},
|
|
126
153
|
afterShow: afterShow,
|
|
154
|
+
autoFocus: autoFocus !== null && autoFocus !== void 0 ? autoFocus : openedByKeyboard,
|
|
155
|
+
containFocus: containFocus,
|
|
156
|
+
restoreFocusOnHide: restoreFocusOnHide,
|
|
127
157
|
beforeHide: function beforeHide(e) {
|
|
128
158
|
if (e instanceof KeyboardEvent) {
|
|
129
159
|
segmentRefs.segmentThree.current && segmentRefs.segmentThree.current.focus();
|
|
@@ -138,6 +168,7 @@ export var DateSelect = /*#__PURE__*/React.forwardRef(function DateSelect(_ref3,
|
|
|
138
168
|
if (isEventSource(clearRef, e)) {
|
|
139
169
|
return false;
|
|
140
170
|
}
|
|
171
|
+
setOpenedByKeyboard(isKeyboardEvent(e));
|
|
141
172
|
return _beforeShow(e);
|
|
142
173
|
},
|
|
143
174
|
clickOutsideIgnoreRefs: [monthRef, yearRef],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateSelect.js","names":["React","Calendar","CalendarBase","Card","DateInput","isValidYearRange","OVERLAY_AVAILABLE_HEIGHT_VAR","OverlayTrigger","useOverlayTriggerContext","isEventSource","useDateTime","enableLogs","_process$env$TZ_LOG","process","env","TZ_LOG","toLowerCase","consoleMessageChange","_ref","date","console","log","showKeys","hideKeys","target","overlay","lifecycleDefault","noop","calendarCardStyle","maxHeight","concat","overflowX","overflowY","forwardRef","_ref2","ref","onSelect","props","_objectWithoutProperties","_excluded","_useOverlayTriggerCon","hide","createElement","shadowStrength","style","_extends","DateSelect","_ref3","_ref3$beforeHide","beforeHide","_ref3$beforeShow","beforeShow","_ref3$afterHide","afterHide","_ref3$afterShow","afterShow","disabledDate","displayDate","_ref3$onChange","onChange","_ref3$onClear","onClear","value","_excluded2","dateTime","clearRef","useRef","dateInputRef","monthRef","yearRef","segmentRefs","segmentThree","_React$useState","useState","_React$useState2","_slicedToArray","selected","setSelected","_React$useState3","newDate","_React$useState4","displayed","setDisplayed","useEffect","onNavigate","current","focus","selectedStart","selectedEnd","e","KeyboardEvent","clickOutsideIgnoreRefs","placement","onChangeSegment","type","next","Date","setMonth","getTime","setFullYear","undefined"],"sources":["../../src/DateSelect/DateSelect.tsx"],"sourcesContent":["import React from 'react'\nimport type { CalendarProps } from '../Calendar'\nimport { Calendar as CalendarBase } from '../Calendar'\nimport { Card } from '../Card'\nimport { DateInput, isValidYearRange } from '../DateInput/DateInput'\nimport {\n OVERLAY_AVAILABLE_HEIGHT_VAR,\n OverlayTrigger,\n useOverlayTriggerContext,\n} from '../OverlayTrigger/OverlayTrigger'\nimport { isEventSource } from '../_hooks/ClickOutside'\nimport { useDateTime } from '../_hooks/DateTime'\nimport type { DateSelectProps } from './DateSelect.types'\n\nconst enableLogs = process.env.TZ_LOG?.toLowerCase() === 'true'\n\nfunction consoleMessageChange({ date }: any) {\n if (enableLogs) {\n console.log(\n `core-react: DateInput onChange, relative start of day in destination time zone.\\n`,\n date\n )\n }\n}\n\nconst showKeys: string[] = []\n\nconst hideKeys = {\n target: ['Esc', 'Escape'],\n overlay: ['Esc', 'Escape'],\n}\n\nfunction lifecycleDefault() {\n return true\n}\n\nfunction noop() {}\n\nconst calendarCardStyle: React.CSSProperties = {\n maxHeight: `var(${OVERLAY_AVAILABLE_HEIGHT_VAR}, calc(100vh - 4px))`,\n overflowX: 'hidden',\n overflowY: 'auto',\n}\n\nconst Calendar = React.forwardRef<HTMLDivElement, CalendarProps>(\n function Calendar({ onSelect, ...props }, ref) {\n const { hide } = useOverlayTriggerContext()\n\n return (\n <Card ref={ref} shadowStrength={2} style={calendarCardStyle}>\n <CalendarBase\n {...props}\n onSelect={(date) => {\n onSelect?.(date)\n hide(true)\n }}\n />\n </Card>\n )\n }\n)\n\n/**\n\n We use date selects to allow users to enter a date into a form by either\n selecting it from a calendar or typing it into a date field.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-dateselect--demo)\n\n @see [Design Guidelines](https://design.procore.com/date-select)\n\n */\nexport const DateSelect = React.forwardRef<HTMLDivElement, DateSelectProps>(\n function DateSelect(\n {\n beforeHide = lifecycleDefault,\n beforeShow = lifecycleDefault,\n afterHide = noop,\n afterShow = noop,\n disabledDate,\n displayDate,\n onChange = noop,\n onClear = noop,\n value,\n ...props\n },\n ref\n ) {\n const dateTime = useDateTime()\n\n const clearRef = React.useRef<HTMLButtonElement>(null)\n\n const dateInputRef = ref as React.RefObject<HTMLDivElement>\n React.useRef<HTMLDivElement>(null)\n\n const monthRef = React.useRef<HTMLDivElement>(null)\n\n const yearRef = React.useRef<HTMLDivElement>(null)\n\n const segmentRefs = {\n segmentThree: React.useRef<HTMLDivElement>(null),\n }\n\n const [selected, setSelected] = React.useState(value)\n\n const [displayed, setDisplayed] = React.useState(\n value || displayDate || dateTime.newDate()\n )\n\n React.useEffect(() => {\n setSelected(value)\n setDisplayed(value || displayDate || dateTime.newDate())\n }, [value, displayDate])\n\n const overlay = (\n <Calendar\n data-qa=\"core-date-select-calendar\"\n disabledDate={disabledDate}\n displayDate={displayed}\n monthRef={monthRef}\n onNavigate={setDisplayed}\n onSelect={(date) => {\n segmentRefs.segmentThree.current &&\n segmentRefs.segmentThree.current.focus()\n\n setDisplayed(date)\n setSelected(date)\n onChange(date)\n }}\n selectedStart={selected}\n selectedEnd={selected}\n yearRef={yearRef}\n />\n )\n\n return (\n <OverlayTrigger\n afterHide={afterHide}\n afterShow={afterShow}\n beforeHide={(e) => {\n if (e instanceof KeyboardEvent) {\n segmentRefs.segmentThree.current &&\n segmentRefs.segmentThree.current.focus()\n\n return beforeHide(e)\n }\n\n if (isEventSource(dateInputRef, e) || isEventSource(clearRef, e)) {\n return false\n }\n return beforeHide(e)\n }}\n beforeShow={(e) => {\n if (isEventSource(clearRef, e)) {\n return false\n }\n return beforeShow(e)\n }}\n clickOutsideIgnoreRefs={[monthRef, yearRef]}\n hideKeys={hideKeys}\n overlay={overlay}\n placement=\"bottom-left\"\n ref={dateInputRef}\n showKeys={showKeys}\n >\n <DateInput\n {...props}\n clearRef={clearRef}\n segmentRefs={segmentRefs}\n onChangeSegment={(type, value) => {\n if (value === -1) {\n return\n }\n\n // Clone before mutating: `displayed` can share a Date reference with\n // `selected`/`value`, so mutating it in place would corrupt the\n // committed date during manual entry. (CDOCS-10749)\n if (type === 'month') {\n const next = new Date(displayed)\n next.setMonth(value - 1)\n setDisplayed(dateTime.newDate(next.getTime()))\n } else if (type === 'year') {\n // isValidYearRange prevents calendar from changing, the display date\n if (isValidYearRange(value)) {\n const next = new Date(displayed)\n next.setFullYear(value)\n setDisplayed(dateTime.newDate(next.getTime()))\n }\n }\n }}\n onChange={(date: Date | null) => {\n consoleMessageChange({ date })\n if (date) {\n setSelected(date)\n setDisplayed(date)\n } else {\n setDisplayed(dateTime.newDate())\n setSelected(undefined)\n }\n\n onChange(date)\n }}\n onClear={onClear}\n value={selected}\n />\n </OverlayTrigger>\n )\n }\n)\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DateSelect.js","names":["React","Calendar","CalendarBase","Card","DateInput","isValidYearRange","OVERLAY_AVAILABLE_HEIGHT_VAR","OverlayTrigger","useOverlayTriggerContext","isEventSource","useDateTime","enableLogs","_process$env$TZ_LOG","process","env","TZ_LOG","toLowerCase","consoleMessageChange","_ref","date","console","log","showKeys","hideKeys","target","overlay","lifecycleDefault","isKeyboardEvent","event","_ref2","nativeEvent","KeyboardEvent","noop","calendarCardStyle","maxHeight","concat","overflowX","overflowY","forwardRef","_ref3","ref","onSelect","props","_objectWithoutProperties","_excluded","_useOverlayTriggerCon","hide","createElement","shadowStrength","style","_extends","DateSelect","_ref4","_ref4$beforeHide","beforeHide","_ref4$beforeShow","beforeShow","_ref4$afterHide","afterHide","_ref4$afterShow","afterShow","autoFocus","containFocus","disabledDate","displayDate","_ref4$onChange","onChange","_ref4$onClear","onClear","restoreFocusOnHide","value","_excluded2","dateTime","calendarRef","useRef","_React$useState","useState","_React$useState2","_slicedToArray","openedByKeyboard","setOpenedByKeyboard","clearRef","dateInputRef","monthRef","yearRef","segmentRefs","segmentThree","_React$useState3","_React$useState4","selected","setSelected","_React$useState5","newDate","_React$useState6","displayed","setDisplayed","useEffect","onNavigate","current","focus","selectedStart","selectedEnd","_calendarRef$current","Event","isFromCalendar","Node","contains","undefined","e","clickOutsideIgnoreRefs","placement","onChangeSegment","type","next","Date","setMonth","getTime","setFullYear"],"sources":["../../src/DateSelect/DateSelect.tsx"],"sourcesContent":["import React from 'react'\nimport type { CalendarProps } from '../Calendar'\nimport { Calendar as CalendarBase } from '../Calendar'\nimport { Card } from '../Card'\nimport { DateInput, isValidYearRange } from '../DateInput/DateInput'\nimport {\n OVERLAY_AVAILABLE_HEIGHT_VAR,\n OverlayTrigger,\n useOverlayTriggerContext,\n} from '../OverlayTrigger/OverlayTrigger'\nimport { isEventSource } from '../_hooks/ClickOutside'\nimport { useDateTime } from '../_hooks/DateTime'\nimport type { DateSelectProps } from './DateSelect.types'\n\nconst enableLogs = process.env.TZ_LOG?.toLowerCase() === 'true'\n\nfunction consoleMessageChange({ date }: any) {\n if (enableLogs) {\n console.log(\n `core-react: DateInput onChange, relative start of day in destination time zone.\\n`,\n date\n )\n }\n}\n\nconst showKeys: string[] = []\n\nconst hideKeys = {\n target: ['Esc', 'Escape'],\n overlay: ['Esc', 'Escape'],\n}\n\nfunction lifecycleDefault() {\n return true\n}\n\n// The overlay can be opened by a native event or by a React synthetic event\n// (DateInput calls `show(event)` from its segment keydown handler), so check both.\nfunction isKeyboardEvent(event: Event) {\n const { nativeEvent } = (event ?? {}) as unknown as React.SyntheticEvent\n\n return event instanceof KeyboardEvent || nativeEvent instanceof KeyboardEvent\n}\n\nfunction noop() {}\n\nconst calendarCardStyle: React.CSSProperties = {\n maxHeight: `var(${OVERLAY_AVAILABLE_HEIGHT_VAR}, calc(100vh - 4px))`,\n overflowX: 'hidden',\n overflowY: 'auto',\n}\n\nconst Calendar = React.forwardRef<HTMLDivElement, CalendarProps>(\n function Calendar({ onSelect, ...props }, ref) {\n const { hide } = useOverlayTriggerContext()\n\n return (\n <Card ref={ref} shadowStrength={2} style={calendarCardStyle}>\n <CalendarBase\n {...props}\n onSelect={(date) => {\n onSelect?.(date)\n hide(true)\n }}\n />\n </Card>\n )\n }\n)\n\n/**\n\n We use date selects to allow users to enter a date into a form by either\n selecting it from a calendar or typing it into a date field.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-dateselect--demo)\n\n @see [Design Guidelines](https://design.procore.com/date-select)\n\n */\nexport const DateSelect = React.forwardRef<HTMLDivElement, DateSelectProps>(\n function DateSelect(\n {\n beforeHide = lifecycleDefault,\n beforeShow = lifecycleDefault,\n afterHide = noop,\n afterShow = noop,\n autoFocus,\n containFocus,\n disabledDate,\n displayDate,\n onChange = noop,\n onClear = noop,\n restoreFocusOnHide,\n value,\n ...props\n },\n ref\n ) {\n const dateTime = useDateTime()\n\n const calendarRef = React.useRef<HTMLDivElement>(null)\n\n // Unless a consumer opts in explicitly, only pull focus into the calendar\n // when it was opened from the keyboard. A mouse user who clicks a date\n // segment is about to type into that segment, so moving focus to the\n // calendar would swallow their keystrokes.\n const [openedByKeyboard, setOpenedByKeyboard] = React.useState(false)\n\n const clearRef = React.useRef<HTMLButtonElement>(null)\n\n const dateInputRef = ref as React.RefObject<HTMLDivElement>\n React.useRef<HTMLDivElement>(null)\n\n const monthRef = React.useRef<HTMLDivElement>(null)\n\n const yearRef = React.useRef<HTMLDivElement>(null)\n\n const segmentRefs = {\n segmentThree: React.useRef<HTMLDivElement>(null),\n }\n\n const [selected, setSelected] = React.useState(value)\n\n const [displayed, setDisplayed] = React.useState(\n value || displayDate || dateTime.newDate()\n )\n\n React.useEffect(() => {\n setSelected(value)\n setDisplayed(value || displayDate || dateTime.newDate())\n }, [value, displayDate])\n\n const overlay = (\n <Calendar\n ref={calendarRef}\n data-qa=\"core-date-select-calendar\"\n disabledDate={disabledDate}\n displayDate={displayed}\n monthRef={monthRef}\n onNavigate={setDisplayed}\n onSelect={(date) => {\n segmentRefs.segmentThree.current &&\n segmentRefs.segmentThree.current.focus()\n\n setDisplayed(date)\n setSelected(date)\n onChange(date)\n }}\n selectedStart={selected}\n selectedEnd={selected}\n yearRef={yearRef}\n />\n )\n\n return (\n <OverlayTrigger\n afterHide={(event) => {\n const target = event instanceof Event ? event.target : null\n const isFromCalendar =\n target instanceof Node && calendarRef.current?.contains(target)\n afterHide(isFromCalendar ? undefined : event)\n }}\n afterShow={afterShow}\n autoFocus={autoFocus ?? openedByKeyboard}\n containFocus={containFocus}\n restoreFocusOnHide={restoreFocusOnHide}\n beforeHide={(e) => {\n if (e instanceof KeyboardEvent) {\n segmentRefs.segmentThree.current &&\n segmentRefs.segmentThree.current.focus()\n\n return beforeHide(e)\n }\n\n if (isEventSource(dateInputRef, e) || isEventSource(clearRef, e)) {\n return false\n }\n return beforeHide(e)\n }}\n beforeShow={(e) => {\n if (isEventSource(clearRef, e)) {\n return false\n }\n\n setOpenedByKeyboard(isKeyboardEvent(e))\n\n return beforeShow(e)\n }}\n clickOutsideIgnoreRefs={[monthRef, yearRef]}\n hideKeys={hideKeys}\n overlay={overlay}\n placement=\"bottom-left\"\n ref={dateInputRef}\n showKeys={showKeys}\n >\n <DateInput\n {...props}\n clearRef={clearRef}\n segmentRefs={segmentRefs}\n onChangeSegment={(type, value) => {\n if (value === -1) {\n return\n }\n\n // Clone before mutating: `displayed` can share a Date reference with\n // `selected`/`value`, so mutating it in place would corrupt the\n // committed date during manual entry. (CDOCS-10749)\n if (type === 'month') {\n const next = new Date(displayed)\n next.setMonth(value - 1)\n setDisplayed(dateTime.newDate(next.getTime()))\n } else if (type === 'year') {\n // isValidYearRange prevents calendar from changing, the display date\n if (isValidYearRange(value)) {\n const next = new Date(displayed)\n next.setFullYear(value)\n setDisplayed(dateTime.newDate(next.getTime()))\n }\n }\n }}\n onChange={(date: Date | null) => {\n consoleMessageChange({ date })\n if (date) {\n setSelected(date)\n setDisplayed(date)\n } else {\n setDisplayed(dateTime.newDate())\n setSelected(undefined)\n }\n\n onChange(date)\n }}\n onClear={onClear}\n value={selected}\n />\n </OverlayTrigger>\n )\n }\n)\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,9 +2,9 @@ import type { CalendarProps } from '../Calendar/Calendar.types';
|
|
|
2
2
|
import type { DateInputProps } from '../DateInput/DateInput.types';
|
|
3
3
|
import type { OverlayTriggerProps } from '../OverlayTrigger/OverlayTrigger.types';
|
|
4
4
|
import type { VisibilityConfig } from '../_hooks/Visibility';
|
|
5
|
-
type PickedDateInputProps = Pick<DateInputProps, 'aria-label' | 'className' | 'disabled' | 'error' | 'onChange' | 'onClear' | 'tabIndex' | 'variant'>;
|
|
5
|
+
type PickedDateInputProps = Pick<DateInputProps, 'aria-label' | 'className' | 'disabled' | 'error' | 'onBlur' | 'onChange' | 'onClear' | 'tabIndex' | 'variant'>;
|
|
6
6
|
type PickedCalendarProps = Pick<CalendarProps, 'disabledDate' | 'displayDate'>;
|
|
7
|
-
type PickedOverlayTriggerProps = Pick<OverlayTriggerProps, 'beforeHide' | 'beforeShow'>;
|
|
7
|
+
type PickedOverlayTriggerProps = Pick<OverlayTriggerProps, 'autoFocus' | 'beforeHide' | 'beforeShow' | 'containFocus' | 'restoreFocusOnHide'>;
|
|
8
8
|
type PickedVisibilityProps = Pick<VisibilityConfig, 'afterHide' | 'afterShow'>;
|
|
9
9
|
export interface DateSelectProps extends PickedDateInputProps, PickedOverlayTriggerProps, PickedVisibilityProps, PickedCalendarProps {
|
|
10
10
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateSelect.types.js","names":[],"sources":["../../src/DateSelect/DateSelect.types.ts"],"sourcesContent":["import type { CalendarProps } from '../Calendar/Calendar.types'\nimport type { DateInputProps } from '../DateInput/DateInput.types'\nimport type { OverlayTriggerProps } from '../OverlayTrigger/OverlayTrigger.types'\nimport type { VisibilityConfig } from '../_hooks/Visibility'\n\ntype PickedDateInputProps = Pick<\n DateInputProps,\n | 'aria-label'\n | 'className'\n | 'disabled'\n | 'error'\n | 'onChange'\n | 'onClear'\n | 'tabIndex'\n | 'variant'\n>\n\ntype PickedCalendarProps = Pick<CalendarProps, 'disabledDate' | 'displayDate'>\n\ntype PickedOverlayTriggerProps = Pick<\n OverlayTriggerProps,\n 'beforeHide'
|
|
1
|
+
{"version":3,"file":"DateSelect.types.js","names":[],"sources":["../../src/DateSelect/DateSelect.types.ts"],"sourcesContent":["import type { CalendarProps } from '../Calendar/Calendar.types'\nimport type { DateInputProps } from '../DateInput/DateInput.types'\nimport type { OverlayTriggerProps } from '../OverlayTrigger/OverlayTrigger.types'\nimport type { VisibilityConfig } from '../_hooks/Visibility'\n\ntype PickedDateInputProps = Pick<\n DateInputProps,\n | 'aria-label'\n | 'className'\n | 'disabled'\n | 'error'\n | 'onBlur'\n | 'onChange'\n | 'onClear'\n | 'tabIndex'\n | 'variant'\n>\n\ntype PickedCalendarProps = Pick<CalendarProps, 'disabledDate' | 'displayDate'>\n\ntype PickedOverlayTriggerProps = Pick<\n OverlayTriggerProps,\n | 'autoFocus'\n | 'beforeHide'\n | 'beforeShow'\n | 'containFocus'\n | 'restoreFocusOnHide'\n>\n\ntype PickedVisibilityProps = Pick<VisibilityConfig, 'afterHide' | 'afterShow'>\n\nexport interface DateSelectProps\n extends PickedDateInputProps,\n PickedOverlayTriggerProps,\n PickedVisibilityProps,\n PickedCalendarProps {\n /**\n * @since 10.19.0\n */\n value?: Date\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -9,32 +9,32 @@ import { colors } from '../_styles/colors';
|
|
|
9
9
|
import { spacing } from '../_styles/spacing';
|
|
10
10
|
export var StyledDetailPage = /*#__PURE__*/styled.div.withConfig({
|
|
11
11
|
displayName: "StyledDetailPage",
|
|
12
|
-
componentId: "core-
|
|
12
|
+
componentId: "core-12_53_4__sc-cytnlo-0"
|
|
13
13
|
})(["background-color:", ";height:100%;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;"], colors.gray96);
|
|
14
14
|
export var StyledDetailPageBody = /*#__PURE__*/styled.div.withConfig({
|
|
15
15
|
displayName: "StyledDetailPageBody",
|
|
16
|
-
componentId: "core-
|
|
16
|
+
componentId: "core-12_53_4__sc-cytnlo-1"
|
|
17
17
|
})(["padding-bottom:", "px;> ", "{margin-top:", "px;}"], spacing.xl, StyledRequiredContainer, spacing.lg);
|
|
18
18
|
export var StyledDetailPageFooterNotation = /*#__PURE__*/styled.div.withConfig({
|
|
19
19
|
displayName: "StyledDetailPageFooterNotation",
|
|
20
|
-
componentId: "core-
|
|
20
|
+
componentId: "core-12_53_4__sc-cytnlo-2"
|
|
21
21
|
})(["flex-grow:1;z-index:1;"]);
|
|
22
22
|
export var StyledDetailPageFooter = /*#__PURE__*/styled(Page.Footer).withConfig({
|
|
23
23
|
displayName: "StyledDetailPageFooter",
|
|
24
|
-
componentId: "core-
|
|
24
|
+
componentId: "core-12_53_4__sc-cytnlo-3"
|
|
25
25
|
})(["display:flex;padding:", "px 0;background-color:", ";justify-content:center;"], spacing.lg, colors.white);
|
|
26
26
|
export var StyledDetailPageFooterActions = /*#__PURE__*/styled(Box).withConfig({
|
|
27
27
|
displayName: "StyledDetailPageFooterActions",
|
|
28
|
-
componentId: "core-
|
|
28
|
+
componentId: "core-12_53_4__sc-cytnlo-4"
|
|
29
29
|
})(["", ""], getActions());
|
|
30
30
|
var maxFooterContentWidth = 1920;
|
|
31
31
|
export var StyledDetailPageFooterContent = /*#__PURE__*/styled.div.withConfig({
|
|
32
32
|
displayName: "StyledDetailPageFooterContent",
|
|
33
|
-
componentId: "core-
|
|
33
|
+
componentId: "core-12_53_4__sc-cytnlo-5"
|
|
34
34
|
})(["width:100%;align-items:center;display:flex;justify-content:flex-end;padding:0 ", "px;max-width:", "px;"], spacing.xl, maxFooterContentWidth);
|
|
35
35
|
var detailPageCardBorderRadius = 8;
|
|
36
36
|
export var StyledDetailPageCard = /*#__PURE__*/styled(Card).withConfig({
|
|
37
37
|
displayName: "StyledDetailPageCard",
|
|
38
|
-
componentId: "core-
|
|
38
|
+
componentId: "core-12_53_4__sc-cytnlo-6"
|
|
39
39
|
})(["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);
|
|
40
40
|
//# 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_53_4__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_53_4__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_53_4__sc-ufsy2q-2"
|
|
17
17
|
})(["pointer-events:", ";", ""], function (_ref) {
|
|
18
18
|
var disabled = _ref.disabled,
|
|
19
19
|
$loading = _ref.$loading;
|