linear-react-components-ui 2.1.0-beta.5 → 2.2.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/assets/styles/datepicker2.css +11 -81
- package/lib/form2/useForm/index.js +1 -0
- package/lib/form2/useForm/index.js.map +1 -1
- package/lib/inputs2/date/{hooks/useCalendarPosition.d.ts → base/constants.d.ts} +1 -1
- package/lib/inputs2/date/base/constants.js +69 -0
- package/lib/inputs2/date/base/constants.js.map +1 -0
- package/lib/inputs2/date/datefield/base.js +214 -691
- package/lib/inputs2/date/datefield/base.js.map +1 -1
- package/lib/inputs2/date/datefield/calendarbox.d.ts +6 -0
- package/lib/inputs2/date/datefield/calendarbox.js +228 -0
- package/lib/inputs2/date/datefield/calendarbox.js.map +1 -0
- package/lib/inputs2/date/datefield/triggers.js +4 -4
- package/lib/inputs2/date/datefield/triggers.js.map +1 -1
- package/lib/inputs2/date/datefield/types.d.ts +12 -5
- package/lib/inputs2/date/dateperiodfield/base.js +809 -694
- package/lib/inputs2/date/dateperiodfield/base.js.map +1 -1
- package/lib/inputs2/date/dateperiodfield/calendarbox.d.ts +6 -0
- package/lib/inputs2/date/dateperiodfield/calendarbox.js +282 -0
- package/lib/inputs2/date/dateperiodfield/calendarbox.js.map +1 -0
- package/lib/inputs2/date/dateperiodfield/triggers.js +9 -21
- package/lib/inputs2/date/dateperiodfield/triggers.js.map +1 -1
- package/lib/inputs2/date/dateperiodfield/types.d.ts +23 -13
- package/lib/inputs2/date/helpers.d.ts +4 -44
- package/lib/inputs2/date/helpers.js +4 -200
- package/lib/inputs2/date/helpers.js.map +1 -1
- package/lib/inputs2/date/types.d.ts +1 -22
- package/lib/inputs2/date/types.js.map +1 -1
- package/lib/node_modules/lodash/lodash.js +2 -2
- package/lib/node_modules/lodash/lodash.js.map +1 -1
- package/package.json +1 -1
- package/lib/inputs2/date/calendarbox.d.ts +0 -23
- package/lib/inputs2/date/calendarbox.js +0 -254
- package/lib/inputs2/date/calendarbox.js.map +0 -1
- package/lib/inputs2/date/hooks/useCalendarPosition.js +0 -93
- package/lib/inputs2/date/hooks/useCalendarPosition.js.map +0 -1
- package/lib/inputs2/date/hooks/useDateCalendarState.d.ts +0 -14
- package/lib/inputs2/date/hooks/useDateCalendarState.js +0 -250
- package/lib/inputs2/date/hooks/useDateCalendarState.js.map +0 -1
- package/lib/inputs2/date/hooks/useDateMask.d.ts +0 -22
- package/lib/inputs2/date/hooks/useDateMask.js +0 -143
- package/lib/inputs2/date/hooks/useDateMask.js.map +0 -1
- package/lib/inputs2/date/timeselector.d.ts +0 -17
- package/lib/inputs2/date/timeselector.js +0 -226
- package/lib/inputs2/date/timeselector.js.map +0 -1
- package/lib/node_modules/moment/dist/locale/pt-br.js +0 -54
- package/lib/node_modules/moment/dist/locale/pt-br.js.map +0 -1
|
@@ -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, 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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"}
|
|
1
|
+
{"version":3,"file":"base.js","sources":["../../../../src/lib/inputs2/date/datefield/base.tsx"],"sourcesContent":["import React from 'react';\nimport _ from 'lodash';\nimport { useIMask } from 'react-imask';\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 { Keys } from '../types';\nimport * as BaseDate from '../base';\nimport { NAVIGATION_KEYS, TOKEN_ISO_FORMAT, TOKEN_MASK, TOKEN_PTBR_FORMAT } from '../helpers';\nimport { Triggers } from './triggers';\nimport { CalendarBox } from './calendarbox';\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, shouldCloseOnSelect = true, 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, placeholder = TOKEN_PTBR_FORMAT, readOnly, disabled, ...rest\n } = props;\n const [calendarBoxOpen, setCalendarBoxOpen] = React.useState(false);\n const [activeDescendant, setActiveDescendant] = React.useState<string>(\n moment().format(TOKEN_ISO_FORMAT),\n );\n const [selectedDate, setSelectedDate] = React.useState<Moment | null>(null);\n const [calendarDisplayDate, setCalendarDisplayDate] = React.useState<Moment>(\n selectedDate ?? moment(),\n );\n const calendarRef = React.useRef<HTMLDivElement | null>(null);\n const inputRootRef = React.useRef<HTMLInputElement | null>(null);\n const dateInputRef = React.useRef<HTMLInputElement | null>(null);\n const dateContainerRef = React.useRef<HTMLDivElement | null>(null);\n\n const { setValue: setMaskValue, unmaskedValue, value: maskedValue } = useIMask(\n { mask: TOKEN_MASK, lazy: false, placeholderChar: '_' },\n {\n ref: dateInputRef,\n defaultValue: selectedDate?.format(TOKEN_PTBR_FORMAT),\n onComplete: (value) => {\n const date = moment(value, TOKEN_PTBR_FORMAT);\n if (date.isValid()) { handleUpdateDateState(date); }\n },\n },\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 = React.useCallback((date: Moment) => {\n const nonIsoDateFormat = date.format(TOKEN_ISO_FORMAT);\n const isoDateFormat = date.toISOString();\n setSelectedDate(date.clone());\n setCalendarDisplayDate(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 (shouldCloseOnSelect) handleCloseCalendar();\n }, [selectedDate, props.name, props.onChange, shouldCloseOnSelect]);\n\n const handleOpenCalendar = React.useCallback(() => setCalendarBoxOpen(true), []);\n const handleCloseCalendar = React.useCallback(() => setCalendarBoxOpen(false), []);\n const handleNextMonth = React.useCallback(() => setCalendarDisplayDate(prevDisplayDate =>\n prevDisplayDate.clone().add(1, 'month')), []);\n const handlePreviousMonth = React.useCallback(() => setCalendarDisplayDate(prevDisplayDate =>\n prevDisplayDate.clone().subtract(1, 'month')), []);\n const handleChangeCalendarBoxState = React.useCallback(() => {\n setCalendarBoxOpen((prevState) => {\n if (dateInputRef.current !== document.activeElement) {\n dateInputRef?.current?.focus?.();\n }\n return !prevState;\n });\n }, []);\n const handleNavigateWithDays = React.useCallback((offset: number) => {\n setCalendarDisplayDate((prevDisplayDate) => {\n const daySelected = prevDisplayDate.clone().add(offset, 'day');\n setActiveDescendant(daySelected.format(TOKEN_ISO_FORMAT));\n return daySelected;\n });\n }, []);\n const handleNavigateWithWeeks = React.useCallback((when: 'start' | 'end') => {\n setCalendarDisplayDate((prevDisplayDate) => {\n let daySelected = prevDisplayDate;\n if (when === 'end') daySelected = prevDisplayDate.clone().endOf('week');\n if (when === 'start') daySelected = prevDisplayDate.clone().startOf('week');\n setActiveDescendant(daySelected.format(TOKEN_ISO_FORMAT));\n return daySelected;\n });\n }, []);\n\n const handleOnClickClearSelectedDate = React.useCallback(() => {\n props.onChange?.({\n target: { name: props.name, value: '' },\n } as React.ChangeEvent<HTMLInputElement>);\n setSelectedDate(null);\n setMaskValue('');\n handleCloseCalendar();\n }, [props.onChange]);\n\n const handleOnBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n props?.onBlur?.(event);\n handleCloseCalendar();\n setActiveDescendant((selectedDate ?? moment()).format(TOKEN_ISO_FORMAT));\n setCalendarDisplayDate(selectedDate ?? moment());\n if (_.size(unmaskedValue) !== 8) {\n const date = moment(_.toString(props?.value), TOKEN_ISO_FORMAT);\n if (date.isValid()) { setMaskValue(date.format('DD/MM/YYYY')); }\n }\n };\n\n const handleOnFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n props?.onFocus?.(event);\n setActiveDescendant((selectedDate ?? moment()).format(TOKEN_ISO_FORMAT));\n setCalendarDisplayDate(selectedDate ?? moment());\n if (!readOnly && openCalendarOnFocus) {\n handleOpenCalendar();\n }\n };\n\n const handleOnPaste = (event: React.ClipboardEvent<HTMLInputElement>) => {\n if (undigitable) {\n event.preventDefault();\n } else {\n props.onPaste?.(event);\n }\n };\n\n const handleOnBeforeInput = (event: React.InputEvent<HTMLInputElement>) => {\n if (undigitable) {\n event.preventDefault();\n } else {\n props.onBeforeInput?.(event);\n }\n };\n\n const handleOnKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n props?.onKeyDown?.(event);\n if (calendarBoxOpen && event.key && !event.shiftKey && \n !event.altKey && NAVIGATION_KEYS.includes(event.key)) {\n event.preventDefault();\n switch (event.key) {\n case Keys.arrowLeft: handleNavigateWithDays(-1);\n break;\n case Keys.arrowRight: handleNavigateWithDays(1);\n break;\n case Keys.arrowUp: handleNavigateWithDays(-7);\n break;\n case Keys.arrowDown: handleNavigateWithDays(7);\n break;\n case Keys.pageUp: handleNextMonth();\n break;\n case Keys.pageDown: handlePreviousMonth();\n break;\n case Keys.home: handleNavigateWithWeeks('start');\n break;\n case Keys.end: handleNavigateWithWeeks('end');\n break;\n case Keys.escape: handleCloseCalendar();\n break;\n case Keys.enter: handleUpdateDateState(\n moment(_.toString(activeDescendant), TOKEN_ISO_FORMAT),\n );\n break;\n default:\n break;\n }\n }\n };\n\n React.useEffect(() => {\n const currentValue = props?.value ?? null;\n const date = moment(_.toString(currentValue), TOKEN_ISO_FORMAT);\n setSelectedDate(date.isValid() ? date : null);\n setMaskValue(date.format(TOKEN_PTBR_FORMAT));\n }, [props?.value]);\n\n const contextValues = ({\n label, inputFieldId: inputId, activeDescendant, calendarBoxOpen, \n isReadOnly: Boolean(readOnly), isDisabled: Boolean(disabled), skeletonize, showCalendarButton,\n hasValidDateSelected, dateInputRef, dateContainerRef, handleOpenCalendar, \n handleCloseCalendar, handleNextMonth, handlePreviousMonth, \n handleSelectDate: handleUpdateDateState, selectedDate, unmaskedValue, maskedValue, \n showClearDateButton, handleChangeCalendarBoxState, handleOnClickClearSelectedDate,\n calendarDisplayDate, calendarRef,\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={placeholder}\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(<CalendarBox ref={calendarRef} />, document.body)\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","label","errors","tooltip","tooltipPosition","tooltipWidth","shouldCloseOnSelect","returnValueType","customClass","customClassLabel","customClassWrapper","customClassInputContainer","textAlign","labelUppercase","skeletonize","hintPosition","themePopover","popoverAlign","showCalendarButton","openCalendarOnFocus","undigitable","showClearDateButton","placeholder","TOKEN_PTBR_FORMAT","readOnly","disabled","rest","calendarBoxOpen","setCalendarBoxOpen","useState","activeDescendant","setActiveDescendant","moment","format","TOKEN_ISO_FORMAT","selectedDate","setSelectedDate","calendarDisplayDate","setCalendarDisplayDate","calendarRef","useRef","inputRootRef","dateInputRef","dateContainerRef","setValue","setMaskValue","unmaskedValue","value","maskedValue","useIMask","mask","TOKEN_MASK","lazy","placeholderChar","defaultValue","onComplete","date","isValid","handleUpdateDateState","inputId","useMemo","id","name","uuid","hasLabel","_","isEmpty","hasHintMessages","Boolean","hint","length","hasValidationErrors","hasValidDateSelected","useCallback","nonIsoDateFormat","isoDateFormat","toISOString","clone","onChange","target","handleCloseCalendar","handleOpenCalendar","handleNextMonth","prevDisplayDate","add","handlePreviousMonth","subtract","handleChangeCalendarBoxState","prevState","current","document","activeElement","focus","handleNavigateWithDays","offset","daySelected","handleNavigateWithWeeks","when","endOf","startOf","handleOnClickClearSelectedDate","handleOnBlur","event","onBlur","size","toString","handleOnFocus","onFocus","handleOnPaste","preventDefault","onPaste","handleOnBeforeInput","onBeforeInput","handleOnKeyDown","onKeyDown","key","shiftKey","altKey","NAVIGATION_KEYS","includes","Keys","arrowLeft","arrowRight","arrowUp","arrowDown","pageUp","pageDown","home","end","escape","enter","useEffect","currentValue","contextValues","inputFieldId","isReadOnly","isDisabled","handleSelectDate","BaseDate.Root","BaseDate.Label","required","BaseDate.Container","BaseDate.Input","mergeRefs","createPortal","body","String","concat","map","error","index","displayName"],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ComponentProps } from 'react';
|
|
2
|
+
interface DateFieldCalendarBoxProps extends ComponentProps<'div'> {
|
|
3
|
+
}
|
|
4
|
+
declare const CalendarBox: import('react').ForwardRefExoticComponent<Omit<DateFieldCalendarBoxProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
|
|
5
|
+
export { CalendarBox };
|
|
6
|
+
export type { DateFieldCalendarBoxProps };
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { c as compilerRuntimeExports } from "../../../_virtual/compiler-runtime.js";
|
|
3
|
+
import _ from "../../../_virtual/lodash.js";
|
|
4
|
+
import hooks from "../../../node_modules/moment/dist/moment.js";
|
|
5
|
+
import { forwardRef } from "react";
|
|
6
|
+
import Button from "../../../buttons/Button.js";
|
|
7
|
+
import '../../../assets/styles/button.css';/* empty css */
|
|
8
|
+
import TextContent from "../../../textContent/index.js";
|
|
9
|
+
import { useDateFieldContext } from "./context.js";
|
|
10
|
+
import { generateCalendarWeeks, TOKEN_ISO_FORMAT } from "../helpers.js";
|
|
11
|
+
import { useCalendarPosition } from "../base/constants.js";
|
|
12
|
+
const CalendarBox = forwardRef((__, ref) => {
|
|
13
|
+
const $ = compilerRuntimeExports.c(63);
|
|
14
|
+
const {
|
|
15
|
+
inputFieldId,
|
|
16
|
+
calendarDisplayDate,
|
|
17
|
+
calendarBoxOpen,
|
|
18
|
+
dateContainerRef,
|
|
19
|
+
handlePreviousMonth,
|
|
20
|
+
handleNextMonth,
|
|
21
|
+
selectedDate,
|
|
22
|
+
handleSelectDate,
|
|
23
|
+
activeDescendant
|
|
24
|
+
} = useDateFieldContext();
|
|
25
|
+
const {
|
|
26
|
+
calendarBoxStyles
|
|
27
|
+
} = useCalendarPosition(calendarBoxOpen, dateContainerRef);
|
|
28
|
+
let t0;
|
|
29
|
+
let t1;
|
|
30
|
+
let t10;
|
|
31
|
+
let t11;
|
|
32
|
+
let t2;
|
|
33
|
+
let t3;
|
|
34
|
+
let t4;
|
|
35
|
+
let t5;
|
|
36
|
+
let t6;
|
|
37
|
+
let t7;
|
|
38
|
+
let t8;
|
|
39
|
+
let t9;
|
|
40
|
+
if ($[0] !== activeDescendant || $[1] !== calendarBoxOpen || $[2] !== calendarBoxStyles || $[3] !== calendarDisplayDate || $[4] !== handleNextMonth || $[5] !== handlePreviousMonth || $[6] !== handleSelectDate || $[7] !== inputFieldId || $[8] !== ref || $[9] !== selectedDate) {
|
|
41
|
+
const weeks = generateCalendarWeeks(calendarDisplayDate);
|
|
42
|
+
const handleOnMouseDown = _temp;
|
|
43
|
+
t5 = ref;
|
|
44
|
+
t6 = calendarBoxStyles;
|
|
45
|
+
t7 = calendarBoxOpen;
|
|
46
|
+
t8 = "date-calendar-box";
|
|
47
|
+
t9 = "test-date-field-calendar-box";
|
|
48
|
+
let t122;
|
|
49
|
+
if ($[22] !== handlePreviousMonth) {
|
|
50
|
+
t122 = /* @__PURE__ */ jsx(Button, { boxShadow: false, type: "button", iconName: "arrow_left", title: "Mês anterior", className: "previous-month", "aria-label": "Mês anterior", onClick: handlePreviousMonth, onMouseDown: handleOnMouseDown });
|
|
51
|
+
$[22] = handlePreviousMonth;
|
|
52
|
+
$[23] = t122;
|
|
53
|
+
} else {
|
|
54
|
+
t122 = $[23];
|
|
55
|
+
}
|
|
56
|
+
let t132;
|
|
57
|
+
if ($[24] !== calendarDisplayDate) {
|
|
58
|
+
t132 = calendarDisplayDate.format("MMMM YYYY");
|
|
59
|
+
$[24] = calendarDisplayDate;
|
|
60
|
+
$[25] = t132;
|
|
61
|
+
} else {
|
|
62
|
+
t132 = $[25];
|
|
63
|
+
}
|
|
64
|
+
let t142;
|
|
65
|
+
if ($[26] !== calendarDisplayDate) {
|
|
66
|
+
t142 = calendarDisplayDate.format("MMMM YYYY");
|
|
67
|
+
$[26] = calendarDisplayDate;
|
|
68
|
+
$[27] = t142;
|
|
69
|
+
} else {
|
|
70
|
+
t142 = $[27];
|
|
71
|
+
}
|
|
72
|
+
let t152;
|
|
73
|
+
if ($[28] !== t132 || $[29] !== t142) {
|
|
74
|
+
t152 = /* @__PURE__ */ jsx("div", { "aria-live": "polite", className: "month-year", children: /* @__PURE__ */ jsx(TextContent, { "aria-label": t132, as: "p", "data-testid": "test-date-field-calendar-box-month-description", children: t142 }) });
|
|
75
|
+
$[28] = t132;
|
|
76
|
+
$[29] = t142;
|
|
77
|
+
$[30] = t152;
|
|
78
|
+
} else {
|
|
79
|
+
t152 = $[30];
|
|
80
|
+
}
|
|
81
|
+
let t16;
|
|
82
|
+
if ($[31] !== handleNextMonth) {
|
|
83
|
+
t16 = /* @__PURE__ */ jsx(Button, { boxShadow: false, type: "button", iconName: "arrow_right", title: "Próximo mês", className: "next-month", "aria-label": "Próximo mês", onClick: handleNextMonth, onMouseDown: handleOnMouseDown });
|
|
84
|
+
$[31] = handleNextMonth;
|
|
85
|
+
$[32] = t16;
|
|
86
|
+
} else {
|
|
87
|
+
t16 = $[32];
|
|
88
|
+
}
|
|
89
|
+
if ($[33] !== inputFieldId || $[34] !== t122 || $[35] !== t152 || $[36] !== t16) {
|
|
90
|
+
t10 = /* @__PURE__ */ jsxs("div", { id: inputFieldId, className: "date-calendar-box-header", children: [
|
|
91
|
+
t122,
|
|
92
|
+
t152,
|
|
93
|
+
t16
|
|
94
|
+
] });
|
|
95
|
+
$[33] = inputFieldId;
|
|
96
|
+
$[34] = t122;
|
|
97
|
+
$[35] = t152;
|
|
98
|
+
$[36] = t16;
|
|
99
|
+
$[37] = t10;
|
|
100
|
+
} else {
|
|
101
|
+
t10 = $[37];
|
|
102
|
+
}
|
|
103
|
+
if ($[38] === Symbol.for("react.memo_cache_sentinel")) {
|
|
104
|
+
t11 = /* @__PURE__ */ jsx("div", { "aria-label": "Dias da Semana", role: "grid", className: "date-calendar-box-days-of-week", children: hooks.weekdaysShort(true).map(_temp2) });
|
|
105
|
+
$[38] = t11;
|
|
106
|
+
} else {
|
|
107
|
+
t11 = $[38];
|
|
108
|
+
}
|
|
109
|
+
t4 = "date-calendar-box-grid-of-days";
|
|
110
|
+
t2 = "Calendário";
|
|
111
|
+
t3 = "grid";
|
|
112
|
+
t0 = "weeks";
|
|
113
|
+
let t17;
|
|
114
|
+
if ($[39] !== activeDescendant || $[40] !== calendarDisplayDate || $[41] !== handleSelectDate || $[42] !== selectedDate) {
|
|
115
|
+
t17 = (week, weekIndex) => /* @__PURE__ */ jsx("tr", { role: "row", children: week.map((date, dateIndex) => {
|
|
116
|
+
const isToday = _.isEqual(hooks().format(TOKEN_ISO_FORMAT), date.format(TOKEN_ISO_FORMAT));
|
|
117
|
+
const hasFocus = _.isEqual(activeDescendant, date.format(TOKEN_ISO_FORMAT));
|
|
118
|
+
const isSelected = selectedDate ? date.isSame(selectedDate, "day") : false;
|
|
119
|
+
const isCurrentMonth = date.month() === calendarDisplayDate.month();
|
|
120
|
+
const idActiveDescendant = date.format(TOKEN_ISO_FORMAT);
|
|
121
|
+
const descriptionDate = date.format("LL");
|
|
122
|
+
return /* @__PURE__ */ jsx("td", { role: "gridcell", children: /* @__PURE__ */ jsx(Button, { id: idActiveDescendant, type: "button", className: "day-button", boxShadow: false, tabIndex: -1, title: descriptionDate, "aria-label": descriptionDate, "aria-selected": isSelected, "data-testid": "test-date-field-day-button", "data-state-is-today": isToday, "data-state-has-focus": hasFocus, "data-state-is-current-month": isCurrentMonth, label: date.date().toString(), onMouseDown: handleOnMouseDown, onClick: () => handleSelectDate(date) }) }, dateIndex);
|
|
123
|
+
}) }, weekIndex + 1);
|
|
124
|
+
$[39] = activeDescendant;
|
|
125
|
+
$[40] = calendarDisplayDate;
|
|
126
|
+
$[41] = handleSelectDate;
|
|
127
|
+
$[42] = selectedDate;
|
|
128
|
+
$[43] = t17;
|
|
129
|
+
} else {
|
|
130
|
+
t17 = $[43];
|
|
131
|
+
}
|
|
132
|
+
t1 = weeks.map(t17);
|
|
133
|
+
$[0] = activeDescendant;
|
|
134
|
+
$[1] = calendarBoxOpen;
|
|
135
|
+
$[2] = calendarBoxStyles;
|
|
136
|
+
$[3] = calendarDisplayDate;
|
|
137
|
+
$[4] = handleNextMonth;
|
|
138
|
+
$[5] = handlePreviousMonth;
|
|
139
|
+
$[6] = handleSelectDate;
|
|
140
|
+
$[7] = inputFieldId;
|
|
141
|
+
$[8] = ref;
|
|
142
|
+
$[9] = selectedDate;
|
|
143
|
+
$[10] = t0;
|
|
144
|
+
$[11] = t1;
|
|
145
|
+
$[12] = t10;
|
|
146
|
+
$[13] = t11;
|
|
147
|
+
$[14] = t2;
|
|
148
|
+
$[15] = t3;
|
|
149
|
+
$[16] = t4;
|
|
150
|
+
$[17] = t5;
|
|
151
|
+
$[18] = t6;
|
|
152
|
+
$[19] = t7;
|
|
153
|
+
$[20] = t8;
|
|
154
|
+
$[21] = t9;
|
|
155
|
+
} else {
|
|
156
|
+
t0 = $[10];
|
|
157
|
+
t1 = $[11];
|
|
158
|
+
t10 = $[12];
|
|
159
|
+
t11 = $[13];
|
|
160
|
+
t2 = $[14];
|
|
161
|
+
t3 = $[15];
|
|
162
|
+
t4 = $[16];
|
|
163
|
+
t5 = $[17];
|
|
164
|
+
t6 = $[18];
|
|
165
|
+
t7 = $[19];
|
|
166
|
+
t8 = $[20];
|
|
167
|
+
t9 = $[21];
|
|
168
|
+
}
|
|
169
|
+
let t12;
|
|
170
|
+
if ($[44] !== t0 || $[45] !== t1) {
|
|
171
|
+
t12 = /* @__PURE__ */ jsx("tbody", { className: t0, children: t1 });
|
|
172
|
+
$[44] = t0;
|
|
173
|
+
$[45] = t1;
|
|
174
|
+
$[46] = t12;
|
|
175
|
+
} else {
|
|
176
|
+
t12 = $[46];
|
|
177
|
+
}
|
|
178
|
+
let t13;
|
|
179
|
+
if ($[47] !== t12 || $[48] !== t2 || $[49] !== t3) {
|
|
180
|
+
t13 = /* @__PURE__ */ jsx("table", { "aria-label": t2, role: t3, children: t12 });
|
|
181
|
+
$[47] = t12;
|
|
182
|
+
$[48] = t2;
|
|
183
|
+
$[49] = t3;
|
|
184
|
+
$[50] = t13;
|
|
185
|
+
} else {
|
|
186
|
+
t13 = $[50];
|
|
187
|
+
}
|
|
188
|
+
let t14;
|
|
189
|
+
if ($[51] !== t13 || $[52] !== t4) {
|
|
190
|
+
t14 = /* @__PURE__ */ jsx("div", { className: t4, children: t13 });
|
|
191
|
+
$[51] = t13;
|
|
192
|
+
$[52] = t4;
|
|
193
|
+
$[53] = t14;
|
|
194
|
+
} else {
|
|
195
|
+
t14 = $[53];
|
|
196
|
+
}
|
|
197
|
+
let t15;
|
|
198
|
+
if ($[54] !== t10 || $[55] !== t11 || $[56] !== t14 || $[57] !== t5 || $[58] !== t6 || $[59] !== t7 || $[60] !== t8 || $[61] !== t9) {
|
|
199
|
+
t15 = /* @__PURE__ */ jsxs("div", { ref: t5, style: t6, "aria-expanded": t7, className: t8, "data-testid": t9, children: [
|
|
200
|
+
t10,
|
|
201
|
+
t11,
|
|
202
|
+
t14
|
|
203
|
+
] });
|
|
204
|
+
$[54] = t10;
|
|
205
|
+
$[55] = t11;
|
|
206
|
+
$[56] = t14;
|
|
207
|
+
$[57] = t5;
|
|
208
|
+
$[58] = t6;
|
|
209
|
+
$[59] = t7;
|
|
210
|
+
$[60] = t8;
|
|
211
|
+
$[61] = t9;
|
|
212
|
+
$[62] = t15;
|
|
213
|
+
} else {
|
|
214
|
+
t15 = $[62];
|
|
215
|
+
}
|
|
216
|
+
return t15;
|
|
217
|
+
});
|
|
218
|
+
CalendarBox.displayName = "DateFieldCalendarBox";
|
|
219
|
+
function _temp(event) {
|
|
220
|
+
event?.preventDefault?.();
|
|
221
|
+
}
|
|
222
|
+
function _temp2(day, idx) {
|
|
223
|
+
return /* @__PURE__ */ jsx("span", { title: day, role: "columnheader", children: day }, `day-of-week-${idx + 1}`);
|
|
224
|
+
}
|
|
225
|
+
export {
|
|
226
|
+
CalendarBox
|
|
227
|
+
};
|
|
228
|
+
//# sourceMappingURL=calendarbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendarbox.js","sources":["../../../../src/lib/inputs2/date/datefield/calendarbox.tsx"],"sourcesContent":["import _ from 'lodash';\nimport moment from 'moment';\nimport { ComponentProps, forwardRef, MouseEvent } from 'react';\nimport Button from '../../../buttons';\nimport TextContent from '../../../textContent';\nimport { useDateFieldContext } from './context';\nimport { generateCalendarWeeks, TOKEN_ISO_FORMAT } from '../helpers';\nimport { useCalendarPosition } from '../base/constants';\n\ninterface DateFieldCalendarBoxProps extends ComponentProps<'div'> { }\n\nconst CalendarBox = forwardRef<HTMLDivElement, DateFieldCalendarBoxProps>((__, ref) => {\n const {\n inputFieldId, calendarDisplayDate, calendarBoxOpen, dateContainerRef, handlePreviousMonth, \n handleNextMonth, selectedDate, handleSelectDate, activeDescendant,\n } = useDateFieldContext();\n const { calendarBoxStyles } = useCalendarPosition(calendarBoxOpen, dateContainerRef);\n\n const weeks = generateCalendarWeeks(calendarDisplayDate);\n\n const handleOnMouseDown = (event: MouseEvent<HTMLButtonElement>) => {\n event?.preventDefault?.();\n };\n\n return (\n <div\n ref={ref}\n style={calendarBoxStyles}\n aria-expanded={calendarBoxOpen}\n className=\"date-calendar-box\"\n data-testid=\"test-date-field-calendar-box\">\n <div id={inputFieldId} className=\"date-calendar-box-header\">\n <Button\n boxShadow={false}\n type=\"button\"\n iconName=\"arrow_left\"\n title=\"Mês anterior\"\n className=\"previous-month\"\n aria-label=\"Mês anterior\"\n onClick={handlePreviousMonth}\n onMouseDown={handleOnMouseDown} />\n <div aria-live=\"polite\" className=\"month-year\">\n <TextContent\n aria-label={calendarDisplayDate.format('MMMM YYYY')}\n as=\"p\"\n data-testid=\"test-date-field-calendar-box-month-description\">\n {calendarDisplayDate.format('MMMM YYYY')}\n </TextContent>\n </div>\n <Button\n boxShadow={false}\n type=\"button\"\n iconName=\"arrow_right\"\n title=\"Próximo mês\"\n className=\"next-month\"\n aria-label=\"Próximo mês\"\n onClick={handleNextMonth}\n onMouseDown={handleOnMouseDown} />\n </div>\n <div aria-label=\"Dias da Semana\" role=\"grid\" className=\"date-calendar-box-days-of-week\">\n {moment.weekdaysShort(true).map((day, idx) => (\n <span\n title={day}\n role=\"columnheader\" \n key={`day-of-week-${idx + 1}`}>\n {day}\n </span>\n ))}\n </div>\n <div className=\"date-calendar-box-grid-of-days\">\n <table aria-label=\"Calendário\" role=\"grid\">\n <tbody className=\"weeks\">\n {weeks.map((week, weekIndex) => (\n <tr role=\"row\" key={weekIndex + 1}>\n {week.map((date, dateIndex) => {\n const isToday = _.isEqual(\n moment().format(TOKEN_ISO_FORMAT), date.format(TOKEN_ISO_FORMAT),\n );\n const hasFocus = _.isEqual(activeDescendant, date.format(TOKEN_ISO_FORMAT));\n const isSelected = selectedDate ? date.isSame(selectedDate, 'day') : false;\n const isCurrentMonth = date.month() === calendarDisplayDate.month();\n const idActiveDescendant = date.format(TOKEN_ISO_FORMAT);\n const descriptionDate = date.format('LL');\n return (\n <td role=\"gridcell\" key={dateIndex}>\n <Button\n id={idActiveDescendant}\n type=\"button\"\n className=\"day-button\"\n boxShadow={false}\n tabIndex={-1}\n title={descriptionDate}\n aria-label={descriptionDate}\n aria-selected={isSelected}\n data-testid=\"test-date-field-day-button\"\n data-state-is-today={isToday}\n data-state-has-focus={hasFocus}\n data-state-is-current-month={isCurrentMonth}\n label={date.date().toString()}\n onMouseDown={handleOnMouseDown}\n onClick={() => handleSelectDate(date)} />\n </td>\n );\n })}\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </div>\n );\n});\n\nCalendarBox.displayName = 'DateFieldCalendarBox';\n\nexport { CalendarBox };\nexport type { DateFieldCalendarBoxProps };\n"],"names":["CalendarBox","forwardRef","__","ref","$","_c","inputFieldId","calendarDisplayDate","calendarBoxOpen","dateContainerRef","handlePreviousMonth","handleNextMonth","selectedDate","handleSelectDate","activeDescendant","useDateFieldContext","calendarBoxStyles","useCalendarPosition","t0","t1","t10","t11","t2","t3","t4","t5","t6","t7","t8","t9","weeks","generateCalendarWeeks","handleOnMouseDown","_temp","t12","t13","format","t14","t15","t16","Symbol","for","moment","weekdaysShort","map","_temp2","t17","week","weekIndex","date","dateIndex","isToday","_","isEqual","TOKEN_ISO_FORMAT","hasFocus","isSelected","isSame","isCurrentMonth","month","idActiveDescendant","descriptionDate","toString","displayName","event","preventDefault","day","idx"],"mappings":"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"}
|
|
@@ -12,21 +12,21 @@ const Triggers = () => {
|
|
|
12
12
|
calendarBoxOpen,
|
|
13
13
|
showCalendarButton,
|
|
14
14
|
hasValidDateSelected,
|
|
15
|
-
|
|
15
|
+
handleChangeCalendarBoxState,
|
|
16
16
|
handleOnClickClearSelectedDate,
|
|
17
17
|
showClearDateButton
|
|
18
18
|
} = useDateFieldContext();
|
|
19
19
|
const shouldHavePermitClickOnTrigger = !isReadOnly && !isDisabled;
|
|
20
20
|
let t0;
|
|
21
|
-
if ($[0] !==
|
|
21
|
+
if ($[0] !== handleChangeCalendarBoxState || $[1] !== shouldHavePermitClickOnTrigger) {
|
|
22
22
|
t0 = (event) => {
|
|
23
23
|
if (!shouldHavePermitClickOnTrigger) {
|
|
24
24
|
event.preventDefault();
|
|
25
25
|
} else {
|
|
26
|
-
|
|
26
|
+
handleChangeCalendarBoxState();
|
|
27
27
|
}
|
|
28
28
|
};
|
|
29
|
-
$[0] =
|
|
29
|
+
$[0] = handleChangeCalendarBoxState;
|
|
30
30
|
$[1] = shouldHavePermitClickOnTrigger;
|
|
31
31
|
$[2] = t0;
|
|
32
32
|
} else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"triggers.js","sources":["../../../../src/lib/inputs2/date/datefield/triggers.tsx"],"sourcesContent":["import { MouseEvent } from 'react';\nimport { useDateFieldContext } from './context';\nimport * as BaseDate from '../base';\n\ninterface DateFieldTriggersProps { }\n\nconst Triggers = () => {\n const {\n inputFieldId, isReadOnly, isDisabled, skeletonize, calendarBoxOpen, showCalendarButton, \n hasValidDateSelected,
|
|
1
|
+
{"version":3,"file":"triggers.js","sources":["../../../../src/lib/inputs2/date/datefield/triggers.tsx"],"sourcesContent":["import { MouseEvent } from 'react';\nimport { useDateFieldContext } from './context';\nimport * as BaseDate from '../base';\n\ninterface DateFieldTriggersProps { }\n\nconst Triggers = () => {\n const {\n inputFieldId, isReadOnly, isDisabled, skeletonize, calendarBoxOpen, showCalendarButton, \n hasValidDateSelected, handleChangeCalendarBoxState, handleOnClickClearSelectedDate, \n showClearDateButton,\n } = useDateFieldContext();\n const shouldHavePermitClickOnTrigger = !isReadOnly && !isDisabled;\n\n const handleOnClickTriggerCalendar = (event: MouseEvent<HTMLButtonElement>) => {\n if (!shouldHavePermitClickOnTrigger) event.preventDefault();\n else handleChangeCalendarBoxState();\n };\n\n return (\n <BaseDate.Triggers\n clearButtonTestId=\"test-date-field-trigger-clear-selected-date\"\n calendarButtonTestId=\"test-date-field-trigger-open-calendar\"\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n skeletonize={skeletonize}\n inputFieldId={inputFieldId}\n calendarBoxOpen={calendarBoxOpen}\n showClearButton={showClearDateButton}\n showCalendarButton={showCalendarButton}\n hasValidDateSelection={hasValidDateSelected}\n hasValidPeriodSelected={false}\n onClearSelectedDate={handleOnClickClearSelectedDate}\n onClickTriggerCalendar={handleOnClickTriggerCalendar} />\n );\n};\n\nTriggers.displayName = 'DateFieldTriggers';\n\nexport { Triggers };\nexport type { DateFieldTriggersProps };\n"],"names":["Triggers","$","_c","inputFieldId","isReadOnly","isDisabled","skeletonize","calendarBoxOpen","showCalendarButton","hasValidDateSelected","handleChangeCalendarBoxState","handleOnClickClearSelectedDate","showClearDateButton","useDateFieldContext","shouldHavePermitClickOnTrigger","t0","event","preventDefault","handleOnClickTriggerCalendar","t1","BaseDate.Triggers","displayName"],"mappings":";;;;AAMA,MAAMA,WAAWA,MAAA;AAAA,QAAAC,IAAAC,uBAAAA,EAAA,EAAA;AACf,QAAA;AAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,EAAAA,IAIIC,oBAAAA;AACJ,QAAAC,iCAAuC,CAACV,cAAD,CAAgBC;AAAW,MAAAU;AAAA,MAAAd,EAAA,CAAA,MAAAS,gCAAAT,SAAAa,gCAAA;AAE7BC,SAAAC,CAAAA,UAAA;AACnC,UAAI,CAACF,gCAA8B;AAAEE,cAAKC,eAAAA;AAAAA,MAAiB,OAAA;AACtDP,qCAAAA;AAAAA,MAA8B;AAAA,IAAC;AACrCT,WAAAS;AAAAT,WAAAa;AAAAb,WAAAc;AAAAA,EAAA,OAAA;AAAAA,SAAAd,EAAA,CAAA;AAAA,EAAA;AAHD,QAAAiB,+BAAqCH;AAGnC,MAAAI;AAAA,MAAAlB,EAAA,CAAA,MAAAM,mBAAAN,SAAAU,kCAAAV,EAAA,CAAA,MAAAiB,gCAAAjB,SAAAQ,wBAAAR,EAAA,CAAA,MAAAE,gBAAAF,SAAAI,cAAAJ,EAAA,CAAA,MAAAG,cAAAH,EAAA,EAAA,MAAAO,sBAAAP,EAAA,EAAA,MAAAW,uBAAAX,UAAAK,aAAA;AAGAa,SAAA,oBAAAC,YAAA,EACoB,mBAAA,+CACG,sBAAA,yCACTf,YACAD,YACCE,aACCH,cACGI,iBACAK,iBAAAA,qBACGJ,oBACGC,uBAAAA,sBACC,wBAAA,OACHE,qBAAAA,gCACGO,wBAAAA,6BAAAA,CAA4B;AAAIjB,WAAAM;AAAAN,WAAAU;AAAAV,WAAAiB;AAAAjB,WAAAQ;AAAAR,WAAAE;AAAAF,WAAAI;AAAAJ,WAAAG;AAAAH,YAAAO;AAAAP,YAAAW;AAAAX,YAAAK;AAAAL,YAAAkB;AAAAA,EAAA,OAAA;AAAAA,SAAAlB,EAAA,EAAA;AAAA,EAAA;AAAA,SAb1DkB;AAa0D;AAI9DnB,SAASqB,cAAc;"}
|
|
@@ -5,7 +5,7 @@ import { ColorTheme } from '../../../@types/ColorStyles';
|
|
|
5
5
|
import { ITooltipCommonProps } from '../../../tooltip/types';
|
|
6
6
|
import { Position, HintPosition } from '../../../@types/Position';
|
|
7
7
|
import { OnDenied, PermissionAttr } from '../../../@types/PermissionAttr';
|
|
8
|
-
import { DateValueReturnType
|
|
8
|
+
import { DateValueReturnType } from '../types';
|
|
9
9
|
type InputHTMLProps = Omit<ComponentPropsWithoutRef<'input'>, 'type' | 'multiple'>;
|
|
10
10
|
export interface DateFieldInputBaseProps extends InputHTMLProps, ITooltipCommonProps {
|
|
11
11
|
hint?: string;
|
|
@@ -24,9 +24,6 @@ export interface DateFieldInputBaseProps extends InputHTMLProps, ITooltipCommonP
|
|
|
24
24
|
shouldCloseOnSelect?: boolean;
|
|
25
25
|
showClearDateButton?: boolean;
|
|
26
26
|
returnValueType?: DateValueReturnType;
|
|
27
|
-
variant?: DateVariant;
|
|
28
|
-
min?: string;
|
|
29
|
-
max?: string;
|
|
30
27
|
textAlign?: TextAlign;
|
|
31
28
|
hintPosition?: HintPosition;
|
|
32
29
|
themePopover?: ColorTheme;
|
|
@@ -37,9 +34,11 @@ export interface DateFieldInputProps extends DateFieldInputBaseProps {
|
|
|
37
34
|
permissionAttr?: PermissionAttr;
|
|
38
35
|
onDeniedActions?: OnDenied;
|
|
39
36
|
}
|
|
40
|
-
export interface DateFieldContextProps
|
|
37
|
+
export interface DateFieldContextProps {
|
|
41
38
|
label?: string;
|
|
42
39
|
inputFieldId: string;
|
|
40
|
+
activeDescendant?: string;
|
|
41
|
+
calendarBoxOpen: boolean;
|
|
43
42
|
isReadOnly?: boolean;
|
|
44
43
|
isDisabled?: boolean;
|
|
45
44
|
skeletonize?: boolean;
|
|
@@ -47,10 +46,18 @@ export interface DateFieldContextProps extends DateSharedContextProps {
|
|
|
47
46
|
hasValidDateSelected?: boolean;
|
|
48
47
|
showClearDateButton?: boolean;
|
|
49
48
|
selectedDate: Moment | null;
|
|
49
|
+
calendarDisplayDate: Moment;
|
|
50
50
|
maskedValue: string;
|
|
51
51
|
unmaskedValue: string;
|
|
52
|
+
calendarRef: RefObject<HTMLDivElement | null>;
|
|
52
53
|
dateInputRef: RefObject<HTMLInputElement | null>;
|
|
54
|
+
dateContainerRef: RefObject<HTMLDivElement | null>;
|
|
55
|
+
handleNextMonth: () => void;
|
|
56
|
+
handlePreviousMonth: () => void;
|
|
57
|
+
handleOpenCalendar: () => void;
|
|
58
|
+
handleCloseCalendar: () => void;
|
|
53
59
|
handleSelectDate: (date: Moment) => void;
|
|
60
|
+
handleChangeCalendarBoxState: () => void;
|
|
54
61
|
handleOnClickClearSelectedDate: () => void;
|
|
55
62
|
}
|
|
56
63
|
export {};
|