linear-react-components-ui 2.1.0-beta.2 → 2.1.0-beta.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.
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sources":["../../../../src/lib/inputs2/date/datefield/base.tsx"],"sourcesContent":["import React from 'react';\nimport _ from 'lodash';\nimport { v1 as uuid } from 'uuid';\nimport { createPortal } from 'react-dom';\nimport moment, { type Moment } from 'moment';\nimport Hint from '../../../hint';\nimport { Tooltip } from '../../../tooltip';\nimport { mergeRefs } from '../../../form2/helpers';\nimport * as BaseDate from '../base';\nimport { useDateMask } from '../hooks/useDateMask';\nimport { useDateCalendarState } from '../hooks/useDateCalendarState';\nimport { TimeSelector } from '../timeselector';\nimport {\n clampDateToBounds, getDateFormats, isDayOutOfBounds, parseBoundary, parseDateValue,\n TOKEN_ISO_FORMAT,\n} from '../helpers';\nimport { CalendarBox } from '../calendarbox';\nimport { Triggers } from './triggers';\nimport { DateFieldContext } from './context';\nimport type { DateFieldInputBaseProps } from './types';\n\nexport const InputBase = \n React.forwardRef<HTMLInputElement, DateFieldInputBaseProps>((props, ref) => {\n const {\n label, errors, tooltip, tooltipPosition, tooltipWidth, returnValueType = 'default',\n customClass = '', customClassLabel = '', customClassWrapper = '', customClassInputContainer = '', textAlign = 'left',\n labelUppercase = false, skeletonize = false, hintPosition = 'below', themePopover = 'light',\n popoverAlign = 'left', showCalendarButton = true, openCalendarOnFocus = true, undigitable = false,\n showClearDateButton = true, variant = 'date', placeholder, shouldCloseOnSelect,\n min, max, readOnly, disabled, ...rest\n } = props;\n const isDateTime = variant === 'datetime';\n const { isoFormat, ptbrFormat, digits } = getDateFormats(variant);\n // Em datetime o calendário precisa continuar aberto depois do clique no dia, senão o\n // seletor de hora ficaria inalcançável pelo mouse.\n const shouldCloseCalendarOnSelect = shouldCloseOnSelect ?? !isDateTime;\n const inputPlaceholder = placeholder ?? ptbrFormat;\n const minDate = parseBoundary(min);\n const maxDate = parseBoundary(max);\n const hasBounds = Boolean(minDate || maxDate);\n const [selectedDate, setSelectedDate] = React.useState<Moment | null>(null);\n const inputRootRef = React.useRef<HTMLInputElement | null>(null);\n const dateInputRef = React.useRef<HTMLInputElement | null>(null);\n\n const calendarState = useDateCalendarState({\n inputRef: dateInputRef,\n min: minDate,\n max: maxDate,\n onPressEnter: descendant => handleSelectDay(\n moment(_.toString(descendant), TOKEN_ISO_FORMAT),\n ),\n });\n const {\n calendarBoxOpen, activeDescendant, calendarDisplayDate, calendarRef, dateContainerRef,\n handleNextMonth, handlePreviousMonth, handleSetCalendarBoxOpen,\n handleChangeActiveDescendant, handleChangeCalendarDisplayDate, handleKeyDownNavigation,\n } = calendarState;\n\n const {\n maskedValue, unmaskedValue, setMaskValue, handleOnPaste, handleOnBeforeInput,\n } = useDateMask({\n inputRef: dateInputRef,\n variant,\n defaultValue: selectedDate?.format(ptbrFormat),\n undigitable,\n onCommit: date => handleUpdateDateState(date),\n onPaste: props.onPaste,\n onBeforeInput: props.onBeforeInput,\n });\n\n const inputId = React.useMemo(() => props.id || props.name || uuid(), [props.id, props.name]);\n const hasLabel = !_.isEmpty(props?.label);\n const hasHintMessages = Boolean(props.hint?.length);\n const hasValidationErrors = Boolean(errors?.length);\n const hasValidDateSelected = !_.isEmpty(props?.value);\n\n const handleUpdateDateState = (date: Moment) => {\n const nonIsoDateFormat = date.format(isoFormat);\n const isoDateFormat = date.toISOString();\n setSelectedDate(date.clone());\n // O cursor do calendário acompanha o que foi gravado, senão a moldura ficaria presa\n // no dia anterior depois de uma escolha que não veio das setas.\n handleChangeActiveDescendant(date.format(TOKEN_ISO_FORMAT));\n handleChangeCalendarDisplayDate(date.clone());\n props.onChange?.({\n target: {\n name: props.name,\n value: returnValueType === 'default' ? nonIsoDateFormat : isoDateFormat,\n },\n } as React.ChangeEvent<HTMLInputElement>);\n if (shouldCloseCalendarOnSelect) handleSetCalendarBoxOpen(false);\n };\n\n const handleOnClickClearSelectedDate = () => {\n props.onChange?.({\n target: { name: props.name, value: '' },\n } as React.ChangeEvent<HTMLInputElement>);\n setSelectedDate(null);\n setMaskValue('');\n handleSetCalendarBoxOpen(false);\n };\n\n const handleOnBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n props?.onBlur?.(event);\n handleSetCalendarBoxOpen(false);\n handleChangeActiveDescendant((selectedDate ?? moment()).format(TOKEN_ISO_FORMAT));\n handleChangeCalendarDisplayDate(selectedDate ?? moment());\n if (_.size(unmaskedValue) !== digits) {\n const date = parseDateValue(props?.value, variant);\n if (date.isValid()) { setMaskValue(date.format(ptbrFormat)); }\n }\n };\n\n const handleOnFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n props?.onFocus?.(event);\n handleChangeActiveDescendant((selectedDate ?? moment()).format(TOKEN_ISO_FORMAT));\n handleChangeCalendarDisplayDate(selectedDate ?? moment());\n if (!readOnly && openCalendarOnFocus) {\n handleSetCalendarBoxOpen(true);\n }\n };\n\n const handleOnKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n props?.onKeyDown?.(event);\n handleKeyDownNavigation(event);\n };\n\n const handleSelectTime = (hour: number, minute: number) => {\n if (!selectedDate) return;\n handleUpdateDateState(selectedDate.clone().hour(hour).minute(minute).second(0));\n };\n\n // Trocar de dia carrega o horário já escolhido, e o horário é preso no intervalo para\n // que um clique no calendário nunca deixe o campo exibindo um valor fora dele.\n const handleSelectDay = (day: Moment) => {\n const dayWithTime = (isDateTime && selectedDate)\n ? day.clone().hour(selectedDate.hour()).minute(selectedDate.minute())\n : day;\n handleUpdateDateState(clampDateToBounds(dayWithTime, minDate, maxDate));\n };\n\n React.useEffect(() => {\n const date = parseDateValue(props?.value ?? null, variant);\n setSelectedDate(date.isValid() ? date : null);\n setMaskValue(date.format(ptbrFormat));\n }, [props?.value]);\n\n const contextValues = ({\n ...calendarState,\n label, inputFieldId: inputId, isReadOnly: Boolean(readOnly), isDisabled: Boolean(disabled),\n skeletonize, showCalendarButton, hasValidDateSelected, dateInputRef, selectedDate,\n unmaskedValue, maskedValue, showClearDateButton, handleOnClickClearSelectedDate,\n handleSelectDate: handleUpdateDateState,\n });\n\n return (\n <React.Fragment>\n <DateFieldContext.Provider value={contextValues}>\n <BaseDate.Root\n ref={inputRootRef}\n data-testid=\"test-date-field-root\"\n customClassWrapper={customClassWrapper}\n hasValidationErrors={hasValidationErrors}>\n {hasLabel && (\n <BaseDate.Label\n data-testid=\"test-date-field-label\"\n label={label}\n inputId={inputId}\n hint={props?.hint}\n isDisabled={disabled}\n isReadOnly={readOnly}\n skeletonize={skeletonize}\n required={props?.required}\n hintPosition={hintPosition}\n themePopover={themePopover}\n popoverAlign={popoverAlign}\n labelUppercase={labelUppercase}\n hasHintMessages={hasHintMessages}\n customClassLabel={customClassLabel} />\n )}\n <BaseDate.Container\n ref={dateContainerRef}\n skeletonize={skeletonize}\n customClassInputContainer={customClassInputContainer}>\n <BaseDate.Input\n {...rest}\n ref={mergeRefs(ref, dateInputRef)}\n id={inputId}\n name={props?.name}\n value={maskedValue}\n readOnly={readOnly}\n disabled={disabled}\n customClass={customClass}\n tabIndex={(!readOnly && !skeletonize) ? 0 : -1}\n placeholder={inputPlaceholder}\n aria-activedescendant={activeDescendant}\n aria-expanded={calendarBoxOpen}\n aria-controls={inputId}\n aria-labelledby={inputId}\n data-state-is-period-input={false}\n data-testid=\"test-date-field-input\"\n data-state-error={hasValidationErrors}\n data-state-read-only={readOnly}\n data-state-text-align={textAlign}\n data-state-undigitable={undigitable}\n data-state-skeletonize={skeletonize}\n onBlur={handleOnBlur}\n onFocus={handleOnFocus}\n onPaste={handleOnPaste}\n onKeyDown={handleOnKeyDown}\n onBeforeInput={handleOnBeforeInput} />\n <Triggers />\n </BaseDate.Container>\n {calendarBoxOpen &&\n createPortal(\n <CalendarBox\n ref={calendarRef}\n testIdPrefix=\"test-date-field\"\n headerId={inputId}\n calendarBoxOpen={calendarBoxOpen}\n activeDescendant={activeDescendant}\n calendarDisplayDate={calendarDisplayDate}\n containerRef={dateContainerRef}\n onNextMonth={handleNextMonth}\n onPreviousMonth={handlePreviousMonth}\n getDayState={day => ({\n isSelected: selectedDate ? day.isSame(selectedDate, 'day') : false,\n ...(hasBounds && { isDisabled: isDayOutOfBounds(day, minDate, maxDate) }),\n })}\n onSelectDay={handleSelectDay}>\n {isDateTime && (\n <TimeSelector\n value={selectedDate}\n onSelectTime={handleSelectTime}\n min={minDate}\n max={maxDate}\n testIdPrefix=\"test-date-field\" />\n )}\n </CalendarBox>,\n document.body,\n )\n }\n {hintPosition === 'below' && (\n <Hint\n customClass=\"hint\"\n description={props.hint}\n disabled={disabled}\n skeletonize={skeletonize}\n visible={hasHintMessages} />\n )}\n {hasValidationErrors && (\n <span\n data-testid=\"test-date-field-list-errors\"\n className=\"error\"\n data-state-skeletonize={skeletonize}\n aria-describedby={String(props.name).concat('-errors')}>\n {errors?.map((error, index) => (\n <React.Fragment key={`${index + 1}-${error}`}>\n {error}\n {' '}\n </React.Fragment>\n ))}\n </span>\n )}\n </BaseDate.Root>\n </DateFieldContext.Provider>\n <Tooltip\n targetRef={inputRootRef}\n text={tooltip}\n width={tooltipWidth}\n position={tooltipPosition} />\n </React.Fragment>\n );\n });\n\nInputBase.displayName = 'DateFieldInputBase';\n"],"names":["InputBase","React","forwardRef","props","ref","$","_c","disabled","errors","label","max","min","placeholder","readOnly","rest","shouldCloseOnSelect","t0","t1","t10","t11","t12","t13","t14","t15","t2","t3","t4","t5","t6","t7","t8","t9","tooltip","tooltipPosition","tooltipWidth","returnValueType","customClass","customClassLabel","customClassWrapper","customClassInputContainer","textAlign","labelUppercase","skeletonize","hintPosition","themePopover","popoverAlign","showCalendarButton","openCalendarOnFocus","undigitable","showClearDateButton","variant","undefined","isDateTime","isoFormat","ptbrFormat","digits","getDateFormats","shouldCloseCalendarOnSelect","inputPlaceholder","t16","parseBoundary","minDate","t17","maxDate","hasBounds","Boolean","selectedDate","setSelectedDate","useState","inputRootRef","useRef","dateInputRef","calendarState","useDateCalendarState","inputRef","onPressEnter","descendant","handleSelectDay","moment","_","toString","TOKEN_ISO_FORMAT","calendarBoxOpen","activeDescendant","calendarDisplayDate","calendarRef","dateContainerRef","handleNextMonth","handlePreviousMonth","handleSetCalendarBoxOpen","handleChangeActiveDescendant","handleChangeCalendarDisplayDate","handleKeyDownNavigation","maskedValue","unmaskedValue","setMaskValue","handleOnPaste","handleOnBeforeInput","useDateMask","defaultValue","format","onCommit","date","handleUpdateDateState","onPaste","onBeforeInput","t18","id","name","uuid","inputId","t19","isEmpty","hasLabel","hasHintMessages","hint","length","hasValidationErrors","t20","value","hasValidDateSelected","date_0","nonIsoDateFormat","isoDateFormat","toISOString","clone","onChange","target","t21","handleOnClickClearSelectedDate","t22","event","onBlur","size","date_1","parseDateValue","isValid","handleOnBlur","t23","event_0","onFocus","handleOnFocus","t24","event_1","onKeyDown","handleOnKeyDown","t25","hour","minute","second","handleSelectTime","day","dayWithTime","clampDateToBounds","t26","date_2","t27","t28","useEffect","t29","t30","t31","inputFieldId","isReadOnly","isDisabled","handleSelectDate","contextValues","t32","required","BaseDate.Label","t33","mergeRefs","t34","t35","t36","BaseDate.Input","t37","Symbol","for","t38","BaseDate.Container","t39","createPortal","day_0","isSelected","isSame","isDayOutOfBounds","document","body","t40","t41","String","concat","map","_temp","t42","BaseDate.Root","t43","t44","t45","displayName","error","index"],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sources":["../../../../src/lib/inputs2/date/datefield/base.tsx"],"sourcesContent":["import React from 'react';\nimport _ from 'lodash';\nimport { v1 as uuid } from 'uuid';\nimport { createPortal } from 'react-dom';\nimport moment, { type Moment } from 'moment';\nimport Hint from '../../../hint';\nimport { Tooltip } from '../../../tooltip';\nimport { mergeRefs } from '../../../form2/helpers';\nimport * as BaseDate from '../base';\nimport { useDateMask } from '../hooks/useDateMask';\nimport { useDateCalendarState } from '../hooks/useDateCalendarState';\nimport { TimeSelector } from '../timeselector';\nimport {\n clampDateToBounds, completePartialDateTime, formatPartialDateTime, getDateFormats,\n getTimeSelection, isDayOutOfBounds, parseBoundary, parseDateValue, resolveAssumedTime,\n TOKEN_ISO_FORMAT,\n} from '../helpers';\nimport { CalendarBox } from '../calendarbox';\nimport { Triggers } from './triggers';\nimport { DateFieldContext } from './context';\nimport type { DateFieldInputBaseProps } from './types';\n\nexport const InputBase = \n React.forwardRef<HTMLInputElement, DateFieldInputBaseProps>((props, ref) => {\n const {\n label, errors, tooltip, tooltipPosition, tooltipWidth, returnValueType = 'default',\n customClass = '', customClassLabel = '', customClassWrapper = '', customClassInputContainer = '', textAlign = 'left',\n labelUppercase = false, skeletonize = false, hintPosition = 'below', themePopover = 'light',\n popoverAlign = 'left', showCalendarButton = true, openCalendarOnFocus = true, undigitable = false,\n showClearDateButton = true, variant = 'date', placeholder, shouldCloseOnSelect,\n min, max, onChange, readOnly, disabled, ...rest\n } = props;\n const isDateTime = variant === 'datetime';\n const { isoFormat, ptbrFormat, digits } = getDateFormats(variant);\n const shouldCloseCalendarOnSelect = shouldCloseOnSelect ?? !isDateTime;\n const inputPlaceholder = placeholder ?? ptbrFormat;\n const minDate = parseBoundary(min);\n const maxDate = parseBoundary(max);\n const hasBounds = Boolean(minDate || maxDate);\n const [selectedDate, setSelectedDate] = React.useState<Moment | null>(null);\n const inputRootRef = React.useRef<HTMLInputElement | null>(null);\n const dateInputRef = React.useRef<HTMLInputElement | null>(null);\n\n const calendarState = useDateCalendarState({\n inputRef: dateInputRef,\n min: minDate,\n max: maxDate,\n onPressEnter: descendant => handleSelectDay(\n moment(_.toString(descendant), TOKEN_ISO_FORMAT),\n ),\n });\n const {\n calendarBoxOpen, activeDescendant, calendarDisplayDate, calendarRef, dateContainerRef,\n handleNextMonth, handlePreviousMonth, handleSetCalendarBoxOpen,\n handleChangeActiveDescendant, handleChangeCalendarDisplayDate, handleKeyDownNavigation,\n } = calendarState;\n\n const {\n maskedValue, unmaskedValue, setMaskValue, handleOnPaste, handleOnBeforeInput,\n handleOnKeyDownCapture,\n } = useDateMask({\n inputRef: dateInputRef,\n variant,\n defaultValue: selectedDate?.format(ptbrFormat),\n undigitable,\n readOnly,\n onCommit: date => handleUpdateDateState(date),\n onPaste: props.onPaste,\n onBeforeInput: props.onBeforeInput,\n });\n\n const timeSelection = getTimeSelection(unmaskedValue, variant);\n\n const inputId = React.useMemo(() => props.id || props.name || uuid(), [props.id, props.name]);\n const hasLabel = !_.isEmpty(props?.label);\n const hasHintMessages = Boolean(props.hint?.length);\n const hasValidationErrors = Boolean(errors?.length);\n const hasValidDateSelected = !_.isEmpty(props?.value);\n\n const handleUpdateDateState = (date: Moment) => {\n const nonIsoDateFormat = date.format(isoFormat);\n const isoDateFormat = date.toISOString();\n setSelectedDate(date.clone());\n handleChangeActiveDescendant(date.format(TOKEN_ISO_FORMAT));\n handleChangeCalendarDisplayDate(date.clone());\n onChange?.({\n target: {\n name: props.name,\n value: returnValueType === 'default' ? nonIsoDateFormat : isoDateFormat,\n },\n } as React.ChangeEvent<HTMLInputElement>);\n if (shouldCloseCalendarOnSelect) handleSetCalendarBoxOpen(false);\n };\n\n const handleUpdateDraftState = (date: Moment, hour: number | null, minute: number | null) => {\n setSelectedDate(date.clone());\n setMaskValue(formatPartialDateTime(date, hour, minute));\n handleChangeActiveDescendant(date.format(TOKEN_ISO_FORMAT));\n handleChangeCalendarDisplayDate(date.clone());\n if (shouldCloseCalendarOnSelect) handleSetCalendarBoxOpen(false);\n };\n\n const handleOnClickClearSelectedDate = () => {\n onChange?.({\n target: { name: props.name, value: '' },\n } as React.ChangeEvent<HTMLInputElement>);\n setSelectedDate(null);\n setMaskValue('');\n handleSetCalendarBoxOpen(false);\n };\n\n const handleOnBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n props?.onBlur?.(event);\n handleSetCalendarBoxOpen(false);\n handleChangeActiveDescendant((selectedDate ?? moment()).format(TOKEN_ISO_FORMAT));\n handleChangeCalendarDisplayDate(selectedDate ?? moment());\n const completedDate = completePartialDateTime({\n unmaskedValue, variant, min: minDate, max: maxDate,\n });\n if (completedDate) {\n setMaskValue(completedDate.format(ptbrFormat));\n handleUpdateDateState(completedDate);\n return;\n }\n if (_.size(unmaskedValue) !== digits) {\n const date = parseDateValue(props?.value, variant);\n if (date.isValid()) { setMaskValue(date.format(ptbrFormat)); }\n }\n };\n\n const handleOnFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n props?.onFocus?.(event);\n handleChangeActiveDescendant((selectedDate ?? moment()).format(TOKEN_ISO_FORMAT));\n handleChangeCalendarDisplayDate(selectedDate ?? moment());\n if (!readOnly && openCalendarOnFocus) {\n handleSetCalendarBoxOpen(true);\n }\n };\n\n const handleOnKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n props?.onKeyDown?.(event);\n handleKeyDownNavigation(event);\n };\n\n const handleSelectHour = (hour: number) => {\n if (!selectedDate) return;\n const { minute } = timeSelection;\n if (_.isNull(minute)) {\n handleUpdateDraftState(selectedDate.clone().hour(hour), hour, null);\n return;\n }\n handleUpdateDateState(selectedDate.clone().hour(hour).minute(minute).second(0));\n };\n\n const handleSelectMinute = (minute: number) => {\n if (!selectedDate) return;\n const { hour } = timeSelection;\n handleUpdateDateState(_.isNull(hour)\n ? resolveAssumedTime({ date: selectedDate, hour: null, minute, min: minDate, max: maxDate })\n : selectedDate.clone().hour(hour).minute(minute).second(0));\n };\n\n const handleSelectDay = (day: Moment) => {\n const { hour, minute, isComplete } = timeSelection;\n if (isDateTime && !isComplete) {\n handleUpdateDraftState(day.clone().hour(hour ?? 0).minute(minute ?? 0), hour, minute);\n return;\n }\n const dayWithTime = (isDateTime && selectedDate)\n ? day.clone().hour(selectedDate.hour()).minute(selectedDate.minute())\n : day;\n handleUpdateDateState(clampDateToBounds(dayWithTime, minDate, maxDate));\n };\n\n React.useEffect(() => {\n const date = parseDateValue(props?.value ?? null, variant);\n setSelectedDate(date.isValid() ? date : null);\n setMaskValue(date.format(ptbrFormat));\n }, [props?.value]);\n\n const contextValues = ({\n ...calendarState,\n label, inputFieldId: inputId, isReadOnly: Boolean(readOnly), isDisabled: Boolean(disabled),\n skeletonize, showCalendarButton, hasValidDateSelected, dateInputRef, selectedDate,\n unmaskedValue, maskedValue, showClearDateButton, handleOnClickClearSelectedDate,\n handleSelectDate: handleUpdateDateState,\n });\n\n return (\n <React.Fragment>\n <DateFieldContext.Provider value={contextValues}>\n <BaseDate.Root\n ref={inputRootRef}\n data-testid=\"test-date-field-root\"\n customClassWrapper={customClassWrapper}\n hasValidationErrors={hasValidationErrors}>\n {hasLabel && (\n <BaseDate.Label\n data-testid=\"test-date-field-label\"\n label={label}\n inputId={inputId}\n hint={props?.hint}\n isDisabled={disabled}\n isReadOnly={readOnly}\n skeletonize={skeletonize}\n required={props?.required}\n hintPosition={hintPosition}\n themePopover={themePopover}\n popoverAlign={popoverAlign}\n labelUppercase={labelUppercase}\n hasHintMessages={hasHintMessages}\n customClassLabel={customClassLabel} />\n )}\n <BaseDate.Container\n ref={dateContainerRef}\n skeletonize={skeletonize}\n customClassInputContainer={customClassInputContainer}>\n <BaseDate.Input\n {...rest}\n ref={mergeRefs(ref, dateInputRef)}\n id={inputId}\n name={props?.name}\n value={maskedValue}\n readOnly={readOnly}\n disabled={disabled}\n customClass={customClass}\n tabIndex={(!readOnly && !skeletonize) ? 0 : -1}\n placeholder={inputPlaceholder}\n aria-activedescendant={activeDescendant}\n aria-expanded={calendarBoxOpen}\n aria-controls={inputId}\n aria-labelledby={inputId}\n data-state-is-period-input={false}\n data-testid=\"test-date-field-input\"\n data-state-error={hasValidationErrors}\n data-state-read-only={readOnly}\n data-state-text-align={textAlign}\n data-state-undigitable={undigitable}\n data-state-skeletonize={skeletonize}\n onBlur={handleOnBlur}\n onFocus={handleOnFocus}\n onPaste={handleOnPaste}\n onKeyDown={handleOnKeyDown}\n onKeyDownCapture={handleOnKeyDownCapture}\n onBeforeInput={handleOnBeforeInput} />\n <Triggers />\n </BaseDate.Container>\n {calendarBoxOpen &&\n createPortal(\n <CalendarBox\n ref={calendarRef}\n testIdPrefix=\"test-date-field\"\n headerId={inputId}\n calendarBoxOpen={calendarBoxOpen}\n activeDescendant={activeDescendant}\n calendarDisplayDate={calendarDisplayDate}\n containerRef={dateContainerRef}\n onNextMonth={handleNextMonth}\n onPreviousMonth={handlePreviousMonth}\n getDayState={day => ({\n isSelected: selectedDate ? day.isSame(selectedDate, 'day') : false,\n ...(hasBounds && { isDisabled: isDayOutOfBounds(day, minDate, maxDate) }),\n })}\n onSelectDay={handleSelectDay}>\n {isDateTime && (\n <TimeSelector\n value={selectedDate}\n selectedHour={timeSelection.hour}\n selectedMinute={timeSelection.minute}\n onSelectHour={handleSelectHour}\n onSelectMinute={handleSelectMinute}\n min={minDate}\n max={maxDate}\n testIdPrefix=\"test-date-field\" />\n )}\n </CalendarBox>,\n document.body,\n )\n }\n {hintPosition === 'below' && (\n <Hint\n customClass=\"hint\"\n description={props.hint}\n disabled={disabled}\n skeletonize={skeletonize}\n visible={hasHintMessages} />\n )}\n {hasValidationErrors && (\n <span\n data-testid=\"test-date-field-list-errors\"\n className=\"error\"\n data-state-skeletonize={skeletonize}\n aria-describedby={String(props.name).concat('-errors')}>\n {errors?.map((error, index) => (\n <React.Fragment key={`${index + 1}-${error}`}>\n {error}\n {' '}\n </React.Fragment>\n ))}\n </span>\n )}\n </BaseDate.Root>\n </DateFieldContext.Provider>\n <Tooltip\n targetRef={inputRootRef}\n text={tooltip}\n width={tooltipWidth}\n position={tooltipPosition} />\n </React.Fragment>\n );\n });\n\nInputBase.displayName = 'DateFieldInputBase';\n"],"names":["InputBase","React","forwardRef","props","ref","$","_c","disabled","errors","label","max","min","onChange","placeholder","readOnly","rest","shouldCloseOnSelect","t0","t1","t10","t11","t12","t13","t14","t15","t2","t3","t4","t5","t6","t7","t8","t9","tooltip","tooltipPosition","tooltipWidth","returnValueType","customClass","customClassLabel","customClassWrapper","customClassInputContainer","textAlign","labelUppercase","skeletonize","hintPosition","themePopover","popoverAlign","showCalendarButton","openCalendarOnFocus","undigitable","showClearDateButton","variant","undefined","isDateTime","isoFormat","ptbrFormat","digits","getDateFormats","shouldCloseCalendarOnSelect","inputPlaceholder","t16","parseBoundary","minDate","t17","maxDate","hasBounds","Boolean","selectedDate","setSelectedDate","useState","inputRootRef","useRef","dateInputRef","calendarState","useDateCalendarState","inputRef","onPressEnter","descendant","handleSelectDay","moment","_","toString","TOKEN_ISO_FORMAT","calendarBoxOpen","activeDescendant","calendarDisplayDate","calendarRef","dateContainerRef","handleNextMonth","handlePreviousMonth","handleSetCalendarBoxOpen","handleChangeActiveDescendant","handleChangeCalendarDisplayDate","handleKeyDownNavigation","maskedValue","unmaskedValue","setMaskValue","handleOnPaste","handleOnBeforeInput","handleOnKeyDownCapture","useDateMask","defaultValue","format","onCommit","date","handleUpdateDateState","onPaste","onBeforeInput","t18","getTimeSelection","timeSelection","t19","id","name","uuid","inputId","t20","isEmpty","hasLabel","hasHintMessages","hint","length","hasValidationErrors","t21","value","hasValidDateSelected","date_0","nonIsoDateFormat","isoDateFormat","toISOString","clone","target","t22","date_1","hour","minute","formatPartialDateTime","handleUpdateDraftState","t23","handleOnClickClearSelectedDate","t24","event","onBlur","completedDate","completePartialDateTime","size","date_2","parseDateValue","isValid","handleOnBlur","t25","event_0","onFocus","handleOnFocus","t26","event_1","onKeyDown","handleOnKeyDown","t27","hour_0","minute_0","isNull","second","handleSelectHour","t28","minute_1","hour_1","resolveAssumedTime","handleSelectMinute","day","hour_2","minute_2","isComplete","dayWithTime","clampDateToBounds","t29","date_3","t30","t31","useEffect","t32","t33","t34","inputFieldId","isReadOnly","isDisabled","handleSelectDate","contextValues","t35","required","BaseDate.Label","t36","mergeRefs","t37","t38","t39","BaseDate.Input","t40","Symbol","for","t41","BaseDate.Container","t42","createPortal","day_0","isSelected","isSame","isDayOutOfBounds","document","body","t43","t44","String","concat","map","_temp","t45","BaseDate.Root","t46","t47","t48","displayName","error","index"],"mappings":"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"}