linear-react-components-ui 2.1.0-beta.2 → 2.1.0-beta.3

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":";;;;;;;;;;;;;;;;;;AAqBO,MAAMA,YACXC,MAAMC,WAAsD,CAAAC,OAAAC,QAAA;AAAA,QAAAC,IAAAC,uBAAAA,EAAA,GAAA;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAA7B,SAAAF,OAAA;AAC1D,KAAA;AAAA,MAAAM;AAAAA,MAAAD;AAAAA,MAAAwB;AAAAA,MAAAC;AAAAA,MAAAC;AAAAA,MAAAC,iBAAAnB;AAAAA,MAAAoB,aAAAnB;AAAAA,MAAAoB,kBAAAb;AAAAA,MAAAc,oBAAAb;AAAAA,MAAAc,2BAAAb;AAAAA,MAAAc,WAAAb;AAAAA,MAAAc,gBAAAb;AAAAA,MAAAc,aAAAb;AAAAA,MAAAc,cAAAb;AAAAA,MAAAc,cAAAb;AAAAA,MAAAc,cAAA3B;AAAAA,MAAA4B,oBAAA3B;AAAAA,MAAA4B,qBAAA3B;AAAAA,MAAA4B,aAAA3B;AAAAA,MAAA4B,qBAAA3B;AAAAA,MAAA4B,SAAA3B;AAAAA,MAAAX;AAAAA,MAAAG;AAAAA,MAAAJ;AAAAA,MAAAD;AAAAA,MAAAG;AAAAA,MAAAN;AAAAA,MAAA,GAAAO;AAAAA,IAAAA,IAOIX;AAAME,WAAAF;AAAAE,WAAAE;AAAAF,WAAAG;AAAAH,WAAAI;AAAAJ,WAAAK;AAAAL,WAAAM;AAAAN,WAAAO;AAAAP,WAAAQ;AAAAR,WAAAS;AAAAT,WAAAU;AAAAV,YAAAW;AAAAX,YAAAY;AAAAZ,YAAAa;AAAAb,YAAAc;AAAAd,YAAAe;AAAAf,YAAAgB;AAAAhB,YAAAiB;AAAAjB,YAAAkB;AAAAlB,YAAAmB;AAAAnB,YAAAoB;AAAApB,YAAAqB;AAAArB,YAAAsB;AAAAtB,YAAAuB;AAAAvB,YAAAwB;AAAAxB,YAAAyB;AAAAzB,YAAA0B;AAAA1B,YAAA2B;AAAA3B,YAAA4B;AAAA5B,YAAA6B;AAAAA,EAAA,OAAA;AAAA3B,eAAAF,EAAA,CAAA;AAAAG,aAAAH,EAAA,CAAA;AAAAI,YAAAJ,EAAA,CAAA;AAAAK,UAAAL,EAAA,CAAA;AAAAM,UAAAN,EAAA,CAAA;AAAAO,kBAAAP,EAAA,CAAA;AAAAQ,eAAAR,EAAA,CAAA;AAAAS,WAAAT,EAAA,CAAA;AAAAU,0BAAAV,EAAA,CAAA;AAAAW,SAAAX,EAAA,EAAA;AAAAY,SAAAZ,EAAA,EAAA;AAAAa,UAAAb,EAAA,EAAA;AAAAc,UAAAd,EAAA,EAAA;AAAAe,UAAAf,EAAA,EAAA;AAAAgB,UAAAhB,EAAA,EAAA;AAAAiB,UAAAjB,EAAA,EAAA;AAAAkB,UAAAlB,EAAA,EAAA;AAAAmB,SAAAnB,EAAA,EAAA;AAAAoB,SAAApB,EAAA,EAAA;AAAAqB,SAAArB,EAAA,EAAA;AAAAsB,SAAAtB,EAAA,EAAA;AAAAuB,SAAAvB,EAAA,EAAA;AAAAwB,SAAAxB,EAAA,EAAA;AAAAyB,SAAAzB,EAAA,EAAA;AAAA0B,SAAA1B,EAAA,EAAA;AAAA2B,cAAA3B,EAAA,EAAA;AAAA4B,sBAAA5B,EAAA,EAAA;AAAA6B,mBAAA7B,EAAA,EAAA;AAAA,EAAA;AAN+C,QAAA8B,kBAAAnB,OAAAmC,SAAA,YAAAnC;AACvD,QAAAoB,cAAAnB,OAAAkC,SAAA,KAAAlC;AAAkB,QAAAoB,mBAAAb,OAAA2B,SAAA,KAAA3B;AAAuB,QAAAc,qBAAAb,OAAA0B,SAAA,KAAA1B;AAAyB,QAAAc,4BAAAb,OAAAyB,SAAA,KAAAzB;AAAgC,QAAAc,YAAAb,OAAAwB,SAAA,SAAAxB;AAClG,QAAAc,iBAAAb,OAAAuB,SAAA,QAAAvB;AAAwB,QAAAc,cAAAb,OAAAsB,SAAA,QAAAtB;AAAqB,QAAAc,eAAAb,OAAAqB,SAAA,UAAArB;AAAwB,QAAAc,eAAAb,OAAAoB,SAAA,UAAApB;AACrE,QAAAc,eAAA3B,QAAAiC,SAAA,SAAAjC;AAAuB,QAAA4B,qBAAA3B,QAAAgC,SAAA,OAAAhC;AAA2B,QAAA4B,sBAAA3B,QAAA+B,SAAA,OAAA/B;AAA4B,QAAA4B,cAAA3B,QAAA8B,SAAA,QAAA9B;AAC9E,QAAA4B,sBAAA3B,QAAA6B,SAAA,OAAA7B;AAA4B,QAAA4B,UAAA3B,QAAA4B,SAAA,SAAA5B;AAG9B,QAAA6B,aAAmBF,YAAY;AAC/B,QAAA;AAAA,IAAAG;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,EAAAA,IAA0CC,eAAeN,OAAO;AAGhE,QAAAO,8BAAoC1C,uBAAA,CAAwBqC;AAC5D,QAAAM,mBAAyB9C,eAAA0C;AAA0B,MAAAK;AAAA,MAAAtD,UAAAM,KAAA;AACnCgD,UAAAC,cAAcjD,GAAG;AAACN,YAAAM;AAAAN,YAAAsD;AAAAA,EAAA,OAAA;AAAAA,UAAAtD,EAAA,EAAA;AAAA,EAAA;AAAlC,QAAAwD,UAAgBF;AAAmB,MAAAG;AAAA,MAAAzD,UAAAK,KAAA;AACnBoD,UAAAF,cAAclD,GAAG;AAACL,YAAAK;AAAAL,YAAAyD;AAAAA,EAAA,OAAA;AAAAA,UAAAzD,EAAA,EAAA;AAAA,EAAA;AAAlC,QAAA0D,UAAgBD;AAChB,QAAAE,YAAkBC,QAAQJ,WAAAE,OAAkB;AAC5C,QAAA,CAAAG,cAAAC,eAAA,IAAwClE,MAAKmE,SAAyB,IAAI;AAC1E,QAAAC,eAAqBpE,MAAKqE,OAAiC,IAAI;AAC/D,QAAAC,eAAqBtE,MAAKqE,OAAiC,IAAI;AAE/D,QAAAE,gBAAsBC,qBAAqB;AAAA,IAAAC,UAC/BH;AAAAA,IAAY5D,KACjBkD;AAAAA,IAAOnD,KACPqD;AAAAA,IAAOY,cACEC,gBAAcC,gBAC1BC,MAAOC,EAACC,SAAUJ,UAAU,GAAGK,gBAAgB,CACjD;AAAA,EAAA,CACD;AACD,QAAA;AAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,EAAAA,IAIIpB;AAEJ,QAAA;AAAA,IAAAqB;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,EAAAA,IAEIC,YAAY;AAAA,IAAAxB,UACJH;AAAAA,IAAYrB;AAAAA,IAAAiD,cAERjC,cAAYkC,OAAS9C,UAAU;AAAA,IAACN;AAAAA,IAAAqD,UAEpCC,CAAAA,SAAQC,sBAAsBD,IAAI;AAAA,IAACE,SACpCrG,MAAKqG;AAAAA,IAAQC,eACPtG,MAAKsG;AAAAA,EAAAA,CACrB;AAAE,MAAAC;AAAA,MAAArG,EAAA,EAAA,MAAAF,MAAAwG,MAAAtG,EAAA,EAAA,MAAAF,MAAAyG,MAAA;AAEiCF,UAAAvG,MAAKwG,MAAOxG,MAAKyG,QAASC,GAAAA;AAAMxG,MAAA,EAAA,IAAAF,MAAAwG;AAAAtG,MAAA,EAAA,IAAAF,MAAAyG;AAAAvG,YAAAqG;AAAAA,EAAA,OAAA;AAAAA,UAAArG,EAAA,EAAA;AAAA,EAAA;AAApE,QAAAyG,UAAoCJ;AAA0D,MAAAK;AAAA,MAAA1G,EAAA,EAAA,MAAAF,MAAAM,OAAA;AAC5EsG,UAAAhC,EAACiC,QAAS7G,OAAKM,KAAO;AAACJ,MAAA,EAAA,IAAAF,MAAAM;AAAAJ,YAAA0G;AAAAA,EAAA,OAAA;AAAAA,UAAA1G,EAAA,EAAA;AAAA,EAAA;AAAzC,QAAA4G,WAAiB,CAACF;AAClB,QAAAG,kBAAwBjD,QAAQ9D,MAAKgH,MAAaC,MAAA;AAClD,QAAAC,sBAA4BpD,QAAQzD,QAAM4G,MAAQ;AAAE,MAAAE;AAAA,MAAAjH,EAAA,EAAA,MAAAF,MAAAoH,OAAA;AACtBD,UAAAvC,EAACiC,QAAS7G,OAAKoH,KAAO;AAAClH,MAAA,EAAA,IAAAF,MAAAoH;AAAAlH,YAAAiH;AAAAA,EAAA,OAAA;AAAAA,UAAAjH,EAAA,EAAA;AAAA,EAAA;AAArD,QAAAmH,uBAA6B,CAACF;AAE9B,QAAAf,wBAA8BkB,CAAAA,WAAA;AAC5B,UAAAC,mBAAyBpB,OAAIF,OAAQ/C,SAAS;AAC9C,UAAAsE,gBAAsBrB,OAAIsB,YAAAA;AAC1BzD,oBAAgBmC,OAAIuB,OAAQ;AAG5BnC,iCAA6BY,OAAIF,OAAQnB,gBAAgB,CAAC;AAC1DU,oCAAgCW,OAAIuB,OAAQ;AAC5C1H,UAAK2H,WAAY;AAAA,MAAAC,QACP;AAAA,QAAAnB,MACAzG,MAAKyG;AAAAA,QAAKW,OACTpF,oBAAoB,YAApBuF,mBAAAC;AAAAA,MAAAA;AAAAA,IACT,CACsC;AACxC,QAAIlE,6BAA2B;AAAEgC,+BAAyB,KAAK;AAAA,IAAC;AAAA,EAAC;AACjE,MAAAuC;AAAA,MAAA3H,EAAA,EAAA,MAAAoF,4BAAApF,EAAA,EAAA,MAAAF,SAAAE,EAAA,EAAA,MAAA0F,gBAAA1F,UAAA8D,iBAAA;AAEqC6D,UAAAA,MAAA;AACrC7H,YAAK2H,WAAY;AAAA,QAAAC,QACP;AAAA,UAAAnB,MAAQzG,MAAKyG;AAAAA,UAAKW,OAAS;AAAA,QAAA;AAAA,MAAG,CACA;AACxCpD,sBAAgB,IAAI;AACpB4B,mBAAa,EAAE;AACfN,+BAAyB,KAAK;AAAA,IAAC;AAChCpF,YAAAoF;AAAApF,YAAAF;AAAAE,YAAA0F;AAAA1F,YAAA8D;AAAA9D,YAAA2H;AAAAA,EAAA,OAAA;AAAAA,UAAA3H,EAAA,EAAA;AAAA,EAAA;AAPD,QAAA4H,iCAAuCD;AAOrC,MAAAE;AAAA,MAAA7H,EAAA,EAAA,MAAAkD,UAAAlD,UAAAqF,gCAAArF,EAAA,EAAA,MAAAsF,mCAAAtF,UAAAoF,4BAAApF,EAAA,EAAA,MAAAF,SAAAE,UAAAiD,cAAAjD,EAAA,EAAA,MAAA6D,gBAAA7D,EAAA,EAAA,MAAA0F,gBAAA1F,EAAA,EAAA,MAAAyF,iBAAAzF,UAAA6C,SAAA;AAEmBgF,UAAAC,CAAAA,UAAA;AACnBhI,aAAKiI,SAAWD,KAAK;AACrB1C,+BAAyB,KAAK;AAC9BC,oCAA8BxB,gBAAgBY,MAAAA,GAAQsB,OAASnB,gBAAgB,CAAC;AAChFU,sCAAgCzB,gBAAgBY,OAAQ;AACxD,UAAIC,EAACsD,KAAMvC,aAAa,MAAMvC,QAAM;AAClC,cAAA+E,SAAaC,eAAepI,OAAKoH,OAASrE,OAAO;AACjD,YAAIoD,OAAIkC,WAAU;AAAIzC,uBAAaO,OAAIF,OAAQ9C,UAAU,CAAC;AAAA,QAAC;AAAA,MAAG;AAAA,IAC/D;AACFjD,YAAAkD;AAAAlD,YAAAqF;AAAArF,YAAAsF;AAAAtF,YAAAoF;AAAApF,YAAAF;AAAAE,YAAAiD;AAAAjD,YAAA6D;AAAA7D,YAAA0F;AAAA1F,YAAAyF;AAAAzF,YAAA6C;AAAA7C,YAAA6H;AAAAA,EAAA,OAAA;AAAAA,UAAA7H,EAAA,EAAA;AAAA,EAAA;AATD,QAAAoI,eAAqBP;AASnB,MAAAQ;AAAA,MAAArI,EAAA,EAAA,MAAAqF,gCAAArF,EAAA,EAAA,MAAAsF,mCAAAtF,EAAA,EAAA,MAAAoF,4BAAApF,UAAA0C,uBAAA1C,EAAA,EAAA,MAAAF,SAAAE,EAAA,EAAA,MAAAQ,YAAAR,EAAA,EAAA,MAAA6D,cAAA;AAEoBwE,UAAAC,CAAAA,YAAA;AACpBxI,aAAKyI,UAAYT,OAAK;AACtBzC,oCAA8BxB,gBAAgBY,MAAAA,GAAQsB,OAASnB,gBAAgB,CAAC;AAChFU,sCAAgCzB,gBAAgBY,OAAQ;AACxD,UAAI,CAACjE,YAADkC,qBAAgC;AAClC0C,iCAAyB,IAAI;AAAA,MAAC;AAAA,IAC/B;AACFpF,YAAAqF;AAAArF,YAAAsF;AAAAtF,YAAAoF;AAAApF,YAAA0C;AAAA1C,YAAAF;AAAAE,YAAAQ;AAAAR,YAAA6D;AAAA7D,YAAAqI;AAAAA,EAAA,OAAA;AAAAA,UAAArI,EAAA,EAAA;AAAA,EAAA;AAPD,QAAAwI,gBAAsBH;AAOpB,MAAAI;AAAA,MAAAzI,EAAA,EAAA,MAAAuF,2BAAAvF,UAAAF,OAAA;AAEsB2I,UAAAC,CAAAA,YAAA;AACtB5I,aAAK6I,YAAcb,OAAK;AACxBvC,8BAAwBuC,OAAK;AAAA,IAAC;AAC/B9H,YAAAuF;AAAAvF,YAAAF;AAAAE,YAAAyI;AAAAA,EAAA,OAAA;AAAAA,UAAAzI,EAAA,EAAA;AAAA,EAAA;AAHD,QAAA4I,kBAAwBH;AAGtB,MAAAI;AAAA,MAAA7I,EAAA,EAAA,MAAAkG,yBAAAlG,UAAA6D,cAAA;AAEuBgF,UAAAA,CAAAC,MAAAC,WAAA;AACvB,UAAI,CAAClF,cAAY;AAAA;AAAA,MAAA;AACjBqC,4BAAsBrC,aAAY2D,MAAAA,EAAQsB,KAAMA,IAAI,EAACC,OAAQA,MAAM,EAACC,OAAQ,CAAC,CAAC;AAAA,IAAC;AAChFhJ,YAAAkG;AAAAlG,YAAA6D;AAAA7D,YAAA6I;AAAAA,EAAA,OAAA;AAAAA,UAAA7I,EAAA,EAAA;AAAA,EAAA;AAHD,QAAAiJ,mBAAyBJ;AAOzB,QAAArE,kBAAwB0E,CAAAA,QAAA;AACtB,UAAAC,cAAqBpG,cAAAc,eACjBqF,IAAG1B,QAAQsB,KAAMjF,aAAYiF,KAAAA,CAAO,EAACC,OAAQlF,aAAYkF,OAAAA,CACvD,IAFcG;AAGpBhD,0BAAsBkD,kBAAkBD,aAAa3F,SAASE,OAAO,CAAC;AAAA,EAAC;AACvE,MAAA2F;AAAA,MAAArJ,UAAAF,MAAAoH,SAAAlH,UAAAiD,cAAAjD,EAAA,EAAA,MAAA0F,gBAAA1F,EAAA,EAAA,MAAA8D,mBAAA9D,UAAA6C,SAAA;AAEcwG,UAAAA,MAAA;AACd,YAAAC,SAAapB,eAAepI,OAAKoH,SAAL,MAAsBrE,OAAO;AACzDiB,sBAAgBmC,OAAIkC,YAAJmB,SAAA,IAA4B;AAC5C5D,mBAAaO,OAAIF,OAAQ9C,UAAU,CAAC;AAAA,IAAC;AACtCjD,MAAA,EAAA,IAAAF,MAAAoH;AAAAlH,YAAAiD;AAAAjD,YAAA0F;AAAA1F,YAAA8D;AAAA9D,YAAA6C;AAAA7C,YAAAqJ;AAAAA,EAAA,OAAA;AAAAA,UAAArJ,EAAA,EAAA;AAAA,EAAA;AAAG,QAAAuJ,MAAAzJ,OAAKoH;AAAO,MAAAsC;AAAA,MAAAxJ,UAAAuJ,KAAA;AAAbC,UAAA,CAACD,GAAY;AAACvJ,YAAAuJ;AAAAvJ,YAAAwJ;AAAAA,EAAA,OAAA;AAAAA,UAAAxJ,EAAA,EAAA;AAAA,EAAA;AAJjBJ,QAAK6J,UAAWJ,KAIbG,GAAc;AAI2B,QAAAE,MAAA9F,QAAQpD,QAAQ;AAAe,QAAAmJ,MAAA/F,QAAQ1D,QAAQ;AAAC,MAAA0J;AAAA,MAAA5J,EAAA,EAAA,MAAAmE,iBAAAnE,UAAA4H,kCAAA5H,EAAA,EAAA,MAAAkG,yBAAAlG,EAAA,EAAA,MAAAmH,wBAAAnH,EAAA,EAAA,MAAAyG,WAAAzG,EAAA,EAAA,MAAAI,SAAAJ,EAAA,EAAA,MAAAwF,eAAAxF,EAAA,EAAA,MAAA6D,gBAAA7D,EAAA,EAAA,MAAAyC,sBAAAzC,EAAA,EAAA,MAAA4C,uBAAA5C,UAAAqC,eAAArC,EAAA,EAAA,MAAA0J,OAAA1J,EAAA,EAAA,MAAA2J,OAAA3J,EAAA,EAAA,MAAAyF,eAAA;AAFrEmE,UAAA;AAAA,MAAA,GAClBzF;AAAAA,MAAa/D;AAAAA,MAAAyJ,cACKpD;AAAAA,MAAOqD,YAAcJ;AAAAA,MAAiBK,YAAcJ;AAAAA,MAAiBtH;AAAAA,MAAAI;AAAAA,MAAA0E;AAAAA,MAAAjD;AAAAA,MAAAL;AAAAA,MAAA4B;AAAAA,MAAAD;AAAAA,MAAA5C;AAAAA,MAAAgF;AAAAA,MAAAoC,kBAGxE9D;AAAAA,IAAAA;AACnBlG,YAAAmE;AAAAnE,YAAA4H;AAAA5H,YAAAkG;AAAAlG,YAAAmH;AAAAnH,YAAAyG;AAAAzG,YAAAI;AAAAJ,YAAAwF;AAAAxF,YAAA6D;AAAA7D,YAAAyC;AAAAzC,YAAA4C;AAAA5C,YAAAqC;AAAArC,YAAA0J;AAAA1J,YAAA2J;AAAA3J,YAAAyF;AAAAzF,YAAA4J;AAAAA,EAAA,OAAA;AAAAA,UAAA5J,EAAA,EAAA;AAAA,EAAA;AAND,QAAAiK,gBAAuBL;AAMpB,MAAAM;AAAA,MAAAlK,EAAA,EAAA,MAAAgC,oBAAAhC,EAAA,EAAA,MAAAE,YAAAF,EAAA,EAAA,MAAA6G,mBAAA7G,EAAA,EAAA,MAAA4G,YAAA5G,EAAA,EAAA,MAAAsC,gBAAAtC,EAAA,EAAA,MAAAyG,WAAAzG,EAAA,EAAA,MAAAI,SAAAJ,WAAAoC,kBAAApC,EAAA,GAAA,MAAAwC,gBAAAxC,EAAA,GAAA,MAAAF,MAAAgH,QAAA9G,EAAA,GAAA,MAAAF,MAAAqK,YAAAnK,EAAA,GAAA,MAAAQ,YAAAR,EAAA,GAAA,MAAAqC,eAAArC,EAAA,GAAA,MAAAuC,cAAA;AAUM2H,UAAAtD,YACD,oBAAAwD,OAAA,EACc,eAAA,yBACLhK,OACEqG,SACH,MAAA3G,OAAKgH,MACC5G,YAAAA,UACAM,sBACC6B,aACH,UAAAvC,OAAKqK,UACD7H,cACAC,cACAC,cACEJ,gBACCyE,iBACC7E,iBAAAA,CAAgB;AACnChC,YAAAgC;AAAAhC,YAAAE;AAAAF,YAAA6G;AAAA7G,YAAA4G;AAAA5G,YAAAsC;AAAAtC,YAAAyG;AAAAzG,YAAAI;AAAAJ,aAAAoC;AAAApC,aAAAwC;AAAAxC,MAAA,GAAA,IAAAF,MAAAgH;AAAA9G,MAAA,GAAA,IAAAF,MAAAqK;AAAAnK,aAAAQ;AAAAR,aAAAqC;AAAArC,aAAAuC;AAAAvC,aAAAkK;AAAAA,EAAA,OAAA;AAAAA,UAAAlK,EAAA,GAAA;AAAA,EAAA;AAAA,MAAAqK;AAAA,MAAArK,WAAAD,KAAA;AAOQsK,UAAAC,UAAUvK,KAAKmE,YAAY;AAAClE,aAAAD;AAAAC,aAAAqK;AAAAA,EAAA,OAAA;AAAAA,UAAArK,EAAA,GAAA;AAAA,EAAA;AAE3B,QAAAuK,MAAAzK,OAAKyG;AAKD,QAAAiE,MAAC,CAAChK,YAAD,CAAc6B,cAAf,IAAA;AAAoC,MAAAoI;AAAA,MAAAzK,EAAA,GAAA,MAAA8E,oBAAA9E,WAAA6E,mBAAA7E,EAAA,GAAA,MAAA+B,eAAA/B,WAAAE,YAAAF,EAAA,GAAA,MAAA4F,uBAAA5F,WAAAoI,gBAAApI,EAAA,GAAA,MAAAwI,iBAAAxI,EAAA,GAAA,MAAA4I,mBAAA5I,EAAA,GAAA,MAAA2F,iBAAA3F,EAAA,GAAA,MAAAgH,uBAAAhH,EAAA,GAAA,MAAAyG,WAAAzG,EAAA,GAAA,MAAAqD,oBAAArD,EAAA,GAAA,MAAAwF,eAAAxF,WAAAQ,YAAAR,EAAA,GAAA,MAAAS,QAAAT,EAAA,GAAA,MAAAqC,eAAArC,EAAA,GAAA,MAAAqK,OAAArK,EAAA,GAAA,MAAAuK,OAAAvK,EAAA,GAAA,MAAAwK,OAAAxK,EAAA,GAAA,MAAAmC,aAAAnC,WAAA2C,aAAA;AAThD8H,UAAA,oBAAAC,OAAA,EAAA,GACMjK,MACC,KAAA4J,KACD5D,IAAAA,SACE,MAAA8D,KACC/E,OAAAA,aACGhF,UACAN,UACG6B,aACH,UAAAyI,KACGnH,aAAAA,kBACUyB,yBAAAA,kBACRD,iBAAAA,iBACA4B,iBAAAA,SACEA,mBAAAA,SACW,8BAAA,OAChB,eAAA,yBACMO,oBAAAA,qBACIxG,wBAAAA,UACC2B,yBAAAA,WACCQ,0BAAAA,aACAN,0BAAAA,aAChB+F,QAAAA,cACCI,SAAAA,eACA7C,SAAAA,eACEiD,WAAAA,iBACIhD,eAAAA,oBAAAA,CAAmB;AAAI5F,aAAA8E;AAAA9E,aAAA6E;AAAA7E,aAAA+B;AAAA/B,aAAAE;AAAAF,aAAA4F;AAAA5F,aAAAoI;AAAApI,aAAAwI;AAAAxI,aAAA4I;AAAA5I,aAAA2F;AAAA3F,aAAAgH;AAAAhH,aAAAyG;AAAAzG,aAAAqD;AAAArD,aAAAwF;AAAAxF,aAAAQ;AAAAR,aAAAS;AAAAT,aAAAqC;AAAArC,aAAAqK;AAAArK,aAAAuK;AAAAvK,aAAAwK;AAAAxK,aAAAmC;AAAAnC,aAAA2C;AAAA3C,aAAAyK;AAAAA,EAAA,OAAA;AAAAA,UAAAzK,EAAA,GAAA;AAAA,EAAA;AAAA,MAAA2K;AAAA,MAAA3K,EAAA,GAAA,MAAA4K,OAAAC,IAAA,2BAAA,GAAA;AACxCF,8BAAC,UAAA,EAAQ;AAAG3K,aAAA2K;AAAAA,EAAA,OAAA;AAAAA,UAAA3K,EAAA,GAAA;AAAA,EAAA;AAAA,MAAA8K;AAAA,MAAA9K,EAAA,GAAA,MAAAkC,6BAAAlC,EAAA,GAAA,MAAAiF,oBAAAjF,EAAA,GAAA,MAAAqC,eAAArC,WAAAyK,KAAA;AA/BdK,+BAAAC,WAAA,EACO9F,KAAAA,kBACQ5C,aACcH,2BAC3BuI,UAAAA;AAAAA,MAAAA;AAAAA,MA2BAE;AAAAA,IAAAA,GACF;AAAqB3K,aAAAkC;AAAAlC,aAAAiF;AAAAjF,aAAAqC;AAAArC,aAAAyK;AAAAzK,aAAA8K;AAAAA,EAAA,OAAA;AAAAA,UAAA9K,EAAA,GAAA;AAAA,EAAA;AAAA,MAAAgL;AAAA,MAAAhL,EAAA,GAAA,MAAA8E,oBAAA9E,EAAA,GAAA,MAAA6E,mBAAA7E,EAAA,GAAA,MAAA+E,uBAAA/E,EAAA,GAAA,MAAAgF,eAAAhF,EAAA,GAAA,MAAAiF,oBAAAjF,EAAA,GAAA,MAAAkF,mBAAAlF,EAAA,GAAA,MAAAmF,uBAAAnF,WAAAwE,mBAAAxE,EAAA,GAAA,MAAAiJ,oBAAAjJ,EAAA,GAAA,MAAA2D,aAAA3D,EAAA,GAAA,MAAAyG,WAAAzG,EAAA,GAAA,MAAA+C,cAAA/C,EAAA,GAAA,MAAA0D,WAAA1D,EAAA,GAAA,MAAAwD,WAAAxD,EAAA,GAAA,MAAA6D,cAAA;AACpBmH,UAAAnG,mBACCoG,aACE,oBAAC,aAAA,EACMjG,KAAAA,aACQ,cAAA,mBACHyB,UAAAA,SACO5B,iBACCC,kBACGC,qBACPE,cAAAA,kBACDC,aAAAA,iBACIC,iBAAAA,qBACJ,aAAA+F,CAAAA,WAAQ;AAAA,MAAAC,YACPtH,eAAeqF,MAAGkC,OAAQvH,cAAc,KAAa,IAArD;AAAA,MAAsD,GAC9DF,aAAA;AAAA,QAAAoG,YAA2BsB,iBAAiBnC,OAAK1F,SAASE,OAAO;AAAA,MAAA;AAAA,IAAE,IAE5Dc,8BACZzB,wBACC,oBAAC,cAAA,EACQc,OAAAA,cACOoF,cAAAA,kBACTzF,cACAE,KAAAA,SACQ,cAAA,mBAAiB,EAAA,CAEpC,GACA4H,SAAQC,IACV;AAACvL,aAAA8E;AAAA9E,aAAA6E;AAAA7E,aAAA+E;AAAA/E,aAAAgF;AAAAhF,aAAAiF;AAAAjF,aAAAkF;AAAAlF,aAAAmF;AAAAnF,aAAAwE;AAAAxE,aAAAiJ;AAAAjJ,aAAA2D;AAAA3D,aAAAyG;AAAAzG,aAAA+C;AAAA/C,aAAA0D;AAAA1D,aAAAwD;AAAAxD,aAAA6D;AAAA7D,aAAAgL;AAAAA,EAAA,OAAA;AAAAA,UAAAhL,EAAA,GAAA;AAAA,EAAA;AAAA,MAAAwL;AAAA,MAAAxL,WAAAE,YAAAF,EAAA,GAAA,MAAA6G,mBAAA7G,EAAA,GAAA,MAAAsC,gBAAAtC,WAAAF,MAAAgH,QAAA9G,WAAAqC,aAAA;AAEFmJ,UAAAlJ,iBAAiB,WAClB,oBAAC,MAAA,EACa,aAAA,QACC,aAAAxC,MAAKgH,MACR5G,UACGmC,aACJwE,SAAAA,iBAAe;AACzB7G,aAAAE;AAAAF,aAAA6G;AAAA7G,aAAAsC;AAAAtC,MAAA,GAAA,IAAAF,MAAAgH;AAAA9G,aAAAqC;AAAArC,aAAAwL;AAAAA,EAAA,OAAA;AAAAA,UAAAxL,EAAA,GAAA;AAAA,EAAA;AAAA,MAAAyL;AAAA,MAAAzL,EAAA,GAAA,MAAAG,UAAAH,WAAAgH,uBAAAhH,EAAA,GAAA,MAAAF,MAAAyG,QAAAvG,WAAAqC,aAAA;AACAoJ,UAAAzE,qDAEa,eAAA,+BACF,WAAA,SACc3E,uCACN,oBAAAqJ,OAAO5L,MAAKyG,IAAK,EAACoF,OAAQ,SAAS,GACpDxL,UAAAA,QAAMyL,IAAMC,KAKZ,GACH;AACC7L,aAAAG;AAAAH,aAAAgH;AAAAhH,MAAA,GAAA,IAAAF,MAAAyG;AAAAvG,aAAAqC;AAAArC,aAAAyL;AAAAA,EAAA,OAAA;AAAAA,UAAAzL,EAAA,GAAA;AAAA,EAAA;AAAA,MAAA8L;AAAA,MAAA9L,EAAA,GAAA,MAAAiC,sBAAAjC,EAAA,GAAA,MAAAgH,uBAAAhH,EAAA,GAAA,MAAAkK,OAAAlK,WAAA8K,OAAA9K,EAAA,GAAA,MAAAgL,OAAAhL,EAAA,GAAA,MAAAwL,OAAAxL,EAAA,GAAA,MAAAyL,KAAA;AAzGHK,UAAA,qBAAAC,MAAA,EACO/H,KAAAA,cACO,eAAA,wBACQ/B,oBACC+E,qBACpBkD,UAAAA;AAAAA,MAAAA;AAAAA,MAiBDY;AAAAA,MAiCCE;AAAAA,MA6BAQ;AAAAA,MAQAC;AAAAA,IAAAA,GAcH;AAAgBzL,aAAAiC;AAAAjC,aAAAgH;AAAAhH,aAAAkK;AAAAlK,aAAA8K;AAAA9K,aAAAgL;AAAAhL,aAAAwL;AAAAxL,aAAAyL;AAAAzL,aAAA8L;AAAAA,EAAA,OAAA;AAAAA,UAAA9L,EAAA,GAAA;AAAA,EAAA;AAAA,MAAAgM;AAAA,MAAAhM,EAAA,GAAA,MAAAiK,iBAAAjK,WAAA8L,KAAA;AA3GlBE,8BAAA,iBAAA,UAAA,EAAkC/B,OAAAA,eAChC6B,UAAAA,KA2GF;AAA4B9L,aAAAiK;AAAAjK,aAAA8L;AAAA9L,aAAAgM;AAAAA,EAAA,OAAA;AAAAA,UAAAhM,EAAA,GAAA;AAAA,EAAA;AAAA,MAAAiM;AAAA,MAAAjM,EAAA,GAAA,MAAA2B,WAAA3B,WAAA4B,mBAAA5B,EAAA,GAAA,MAAA6B,cAAA;AAC5BoK,UAAA,oBAAC,WACYjI,WAAAA,cACLrC,MAAAA,SACCE,OAAAA,cACGD,UAAAA,gBAAAA,CAAe;AAAI5B,aAAA2B;AAAA3B,aAAA4B;AAAA5B,aAAA6B;AAAA7B,aAAAiM;AAAAA,EAAA,OAAA;AAAAA,UAAAjM,EAAA,GAAA;AAAA,EAAA;AAAA,MAAAkM;AAAA,MAAAlM,EAAA,GAAA,MAAAgM,OAAAhM,WAAAiM,KAAA;AAlHjCC,iDACEF,UAAAA;AAAAA,MAAAA;AAAAA,MA6GAC;AAAAA,IAAAA,GAKF;AAAiBjM,aAAAgM;AAAAhM,aAAAiM;AAAAjM,aAAAkM;AAAAA,EAAA,OAAA;AAAAA,UAAAlM,EAAA,GAAA;AAAA,EAAA;AAAA,SAnHjBkM;AAmHiB,CAEpB;AAEHvM,UAAUwM,cAAc;AA7PsC,SAAAN,MAAAO,OAAAC,OAAA;AAAA,SA2O9C,uCACGD,UAAAA;AAAAA,IAAAA;AAAAA,IACA;AAAA,EAAA,EAAA,GAFkB,GAAGC,QAAQ,CAAC,IAAID,KAAK,EAG1C;AAAiB;"}
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, onChange, 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 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 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 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 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 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 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","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","id","name","uuid","inputId","t19","isEmpty","hasLabel","hasHintMessages","hint","length","hasValidationErrors","t20","value","hasValidDateSelected","date_0","nonIsoDateFormat","isoDateFormat","toISOString","clone","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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"}