{"version":3,"mappings":"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","names":["Counter","label","isDone","className","onClick","noop","restProps","jsx","twMerge","FaIcon","faCheck","Wizard","hideSteps","steps","errorMessage","successMessage","currentStep","setCurrentStep","useState","isActionPending","setIsActionPending","inProgress","lastStep","completed","useMemo","handleNextStep","action","_a","e","handlePrevStep","index","jsxs","Fragment","title","Button","IosA2HSPopup","handleDisclose","Headline","faTimes","faChevronDown","AndroidA2HSPopup","faEllipsisVertical","useEventListener","eventName","handler","element","savedHandler","useRef","useEffect","targetElement","eventListener","event","useOnClickOutside","ref","mouseEvent","el","isDevelopment","sheetForTag","tag","i","createStyleElement","options","StyleSheet","_this","before","_proto","nodes","rule","sheet","_tag$parentNode","MS","MOZ","WEBKIT","COMMENT","RULESET","DECLARATION","IMPORT","KEYFRAMES","LAYER","abs","from","assign","hash","value","length","charat","trim","match","pattern","replace","replacement","indexof","search","substr","begin","end","strlen","sizeof","append","array","combine","callback","line","column","position","character","characters","node","root","parent","type","props","children","copy","char","prev","next","peek","caret","slice","token","alloc","dealloc","delimit","delimiter","whitespace","escaping","count","commenter","identifier","compile","parse","rules","rulesets","pseudo","points","declarations","offset","atrule","property","previous","variable","scanning","ampersand","reference","comment","declaration","ruleset","post","size","j","k","x","y","z","serialize","output","stringify","middleware","collection","rulesheet","memoize","fn","cache","arg","identifierWithPointTracking","toRules","parsed","getRules","fixedElements","compat","isImplicitRule","parentRules","removeLabel","prefix","prefixer","defaultStylisPlugins","createCache","key","ssrStyles","dataEmotionAttribute","stylisPlugins","inserted","container","nodesToHydrate","attrib","_insert","omnipresentPlugins","currentSheet","finalizingPlugins","serializer","stylis","styles","selector","serialized","shouldCache","isBrowser","getRegisteredStyles","registered","registeredStyles","classNames","rawClassName","registerStyles","isStringTag","insertStyles","current","murmur2","str","h","len","unitlessKeys","hyphenateRegex","animationRegex","isCustomProperty","isProcessableValue","processStyleName","styleName","processStyleValue","p1","p2","cursor","unitless","noComponentSelectorMessage","handleInterpolation","mergedProps","interpolation","componentSelector","keyframes","serializedStyles","createStringFromObject","previousCursor","result","asString","cached","obj","string","_i","interpolated","labelPattern","serializeStyles","args","stringMode","strings","asTemplateStringsArr","templateStringsArr","identifierName","name","hashString","syncFallback","create","useInsertionEffect","React","useInsertionEffectAlwaysWithSyncFallback","EmotionCacheContext","React.createContext","withEmotionCache","func","forwardRef","useContext","ThemeContext","DropdownVariants","originClasses","Dropdown","trigger","origin","isOpen","setOpen","AnimatePresence","motion","SlideIn","bottomIn","bottomOut","handleToggle","useLockedBody","Portal","LayoutGroup","useDocumentPath","id","searchParams","useSearchParams","basePath","seFolderSlug","linkSlug","useParams","newUrl","combinedSearch","useFolderParams","setSearchParams","payload","parseBool","mediaTypes","configuratorTypes","FeedItem","callout","xcMediaRef","itemsLength","__typename","subItemCount","linkProps","documentPath","documentId","highlight","folderDocumentId","navigate","useNavigate","itemCount","FolderItem","getFeedItemId","FeedLogo","logoLabel","logo","LazyImage","FolderHeading","salutationText","salutationType","hasSalutation","t","useTranslation","ContactCard","contactPerson","useCurrentContactPerson","IconPlaceholderAvatar","FolderShare","isContactCardDialogOpen","setIsContactCardDialogOpen","isShareOpen","setIsShareOpen","setShowPanel","usePanelStore","state","canNativeShare","nativeShare","useFolderShare","getTrackingProps","Panel","faCamera","IconShare","Dialogs","Feed","SalutationTypeEnum","xcRecords","office","useCurrentOffice","xcRecord","useRecords","recordType","useFolderFragment","types","records","useRedirects","toFirstDocument","toId","useNavigateTo","redirectId","DebugLinkHelper","base","link","handleCopy","toast","faCopy","DebugLinks","slug","organizationId","BASE_URL","BASE_ADMIN_URL","record","idx","Debugger","useDebugStore","factory","module","require$$0","this","__WEBPACK_EXTERNAL_MODULE_react__","modules","installedModules","__webpack_require__","moduleId","exports","getter","mode","ns","object","__webpack_exports__","react__WEBPACK_IMPORTED_MODULE_0__","__extends","extendStatics","d","b","p","__","__assign","s","n","__rest","constraints","getUserMedia","resolve","reject","hasGetUserMedia","Webcam","_super","nextProps","audioConstraintsChanged","videoConstraintsChanged","minScreenshotWidthChanged","minScreenshotHeightChanged","stream","track","screenshotDimensions","canvas","canvasWidth","canvasHeight","aspectRatio","_b","ctx","sourceSelected","audioConstraints","videoConstraints","myRequestUserMediaId","optionalSource_1","constraintToSourceId_1","constraint","deviceId","sources","audioSource","videoSource","source","audioSourceId","videoSourceId","err","audio","disablePictureInPicture","mirrored","style","rest","videoStyle","childrenProps","a","c","f","m","q","g","l","v","w","u","r","QrCodeScanner","onScanResult","width","height","showAimAssist","webcamRef","webcamError","setWebcamError","loading","setLoading","useInterval","image","QrScanner","scanResult","AimAssist","error","Loading","Camera","onScanned","client","useApolloClient","isLoading","setIsLoading","setError","handleScanCode","url","Scanner","Center","e.createContext","o","e.useState","e.useEffect","e.createElement","e.useContext","e.useRef","e.useCallback","getRandomValues","rnds8","rng","REGEX","validate","uuid","byteToHex","arr","v4","buf","rnds","dist","_interopNamespace","React__namespace","DEFAULT_DURATION","DEFAULT_EASE_TYPE","DEFAULT_DIRECTION","DEFAULT_FILLMODE","RUNNING","PAUSED","ALL","calculateTotalDuration","duration","delay","overlay","isUndefined","val","getSequenceId","sequenceIndex","sequenceId","defaultValue","AnimateContext","AnimateGroup","play","sequences","animationStates","setAnimationStates","animationsRef","register","data","sequencesToAnimate","localAnimationState","currentIndex","totalDuration","secToMs","ms","Animate","render","start","complete","onComplete","easeType","onCompleteTimeRef","setStyle","animationState","camelCaseToDash","camelCase","generateKeyframes","animationLength","keyframe","keyframePercentage","keys","keyframeContent","acc","createStyle","animationName","createTag","_c","_d","styleTag","deleteRules","deleteName","createRandomName","getPlayState","pause","AnimateKeyframes","direction","fillMode","iterationCount","pauseValue","animationNameRef","controlled","styleTagRef","animateState","forceUpdate","useAnimate","transition","animate","setAnimate","isPlaying","useAnimateKeyframes","setIsPlaying","isPaused","setIsPaused","createArrayWithNumbers","useAnimateGroup","defaultArray","_","setStyles","setPlaying","animationNamesRef","styleTags","animationNames","forward","reverse","isPlay","animationRefWithOrder","delayDuration","reactPropsRegex","isPropValid","prop","testOmitPropsOnStringTag","testOmitPropsOnComponent","getDefaultShouldForwardProp","composeShouldForwardProps","isReal","shouldForwardProp","optionsShouldForwardProp","propName","Insertion","_ref","createStyled","baseTag","targetClassName","defaultShouldForwardProp","shouldUseAs","Styled","FinalTag","classInterpolations","React.useContext","finalShouldForwardProp","newProps","_key","React.createElement","React.Fragment","nextTag","nextOptions","_extends","tags","newStyled","tagName","isUndefined_1","has","find","iter","tar","dequal","foo","bar","ctor","tmp","useDeepCompareMemoize","React.useRef","signalRef","React.useMemo","useDeepCompareEffect","dependencies","React.useEffect","isCheckBoxInput","isDateObject","isNullOrUndefined","isObjectType","isObject","getEventValue","getNodeParentName","isNameInFieldArray","names","isPlainObject","tempObject","prototypeCopy","isWeb","cloneObject","isArray","compact","get","path","EVENTS","VALIDATION_MODE","INPUT_VALIDATION_RULES","HookFormContext","React__default","useFormContext","getProxyFormState","formState","control","localProxyFormState","isRoot","isEmptyObject","shouldRenderFormState","formStateData","_proxyFormState","updateFormState","convertToArrayPayload","shouldSubscribeByName","signalName","exact","currentName","useSubscribe","_props","subscription","useFormState","methods","disabled","_mounted","_localProxyFormState","_name","isDirty","isString","generateWatchOutput","_names","formValues","isGlobal","fieldName","useWatch","updateValue","isKey","stringToPath","input","set","tempPath","lastIndex","newValue","objValue","appendErrors","validateAllFieldCriteria","errors","message","focusFieldBy","fields","fieldsNames","field","_f","currentField","getValidationModes","isWatched","isBlurEvent","watchName","updateFieldArrayRootError","fieldArrayErrors","isBoolean","isFileInput","isFunction","isHTMLElement","owner","isMessage","isRadioInput","isRegex","defaultResult","validResult","getCheckboxValue","values","option","defaultReturn","getRadioValue","getValidateError","getValueAndMessage","validationData","validateField","shouldUseNativeValidation","isFieldArray","refs","required","maxLength","minLength","min","max","valueAsNumber","mount","inputValue","inputRef","setCustomValidity","isRadio","isCheckBox","isRadioOrCheckbox","isEmpty","appendErrorsCurry","getMinMaxMessage","exceedMax","maxLengthMessage","minLengthMessage","maxType","minType","exceedMin","maxOutput","minOutput","valueNumber","valueDate","convertTimeToDate","time","isTime","isWeek","maxLengthOutput","minLengthOutput","patternValue","validateError","validationResult","baseGet","updatePath","isEmptyArray","unset","paths","childObject","createSubject","_observers","observer","isPrimitive","deepEqual","object1","object2","keys1","keys2","val1","val2","isMultipleSelect","live","objectHasFunction","markFieldsDirty","isParentNodeArray","getDirtyFieldsFromDefaultValues","dirtyFieldsFromValues","getDirtyFields","defaultValues","getFieldValueAs","valueAsDate","setValueAs","getFieldValue","getResolverOptions","_fields","criteriaMode","getRuleValue","hasValidation","schemaErrorLookup","foundError","skipValidation","isTouched","isSubmitted","reValidateMode","unsetEmptyArray","defaultOptions","createFormControl","flushRootRender","_options","_formState","_defaultValues","_formValues","_state","delayErrorCallback","timer","_subjects","shouldCaptureDirtyFields","validationModeBeforeSubmit","validationModeAfterSubmit","shouldDisplayAllAssociatedErrors","debounce","wait","_updateValid","shouldUpdateValid","isValid","_executeSchema","executeBuiltInValidation","_updateIsValidating","_updateFieldArray","method","shouldSetValues","shouldUpdateFieldsAndState","fieldValues","touchedFields","_getDirty","updateErrors","updateValidAndValue","shouldSkipSetValueAs","setFieldValue","updateTouchAndDirty","fieldValue","shouldDirty","shouldRender","shouldUpdateField","isPreviousDirty","isCurrentFieldPristine","isPreviousFieldTouched","shouldRenderByError","fieldState","previousFieldError","updatedFormState","executeSchemaAndUpdateState","shouldOnlyCheckValid","context","isFieldArrayRoot","fieldError","_removeUnmounted","unregister","getValues","_getWatch","_getFieldArray","fieldReference","optionRef","checkboxRef","radioRef","setValues","fieldKey","setValue","cloneValue","onChange","target","getCurrentFieldValue","shouldSkipValidation","watched","previousErrorLookupResult","errorLookupResult","fieldNames","getFieldState","clearErrors","inputName","watch","disabledIsDefined","fieldRef","radioOrCheckbox","_focusError","handleSubmit","onValid","onInvalid","resetField","_reset","keepStateOptions","updatedValues","cloneUpdatedValues","form","reset","setFocus","_updateFormState","useForm","_formControl","colors","paraGraphDefaultStyle","styled","CircleButton","Input","Table","Header","setVisible","PanelTable","refObject","hasError","fieldsValues","isNative","errorType","collapseAll","collapse","setCollapse","React.useState","isValueWrappedInPre","isUndefined$1","isObject$1","FormStateTable","showFormState","setShowFormState","childIndex","PanelChildren","searchTerm","dirtyFields","actions","useStateMachine","setData","Logo","getPositionByPlacement","placement","defaultX","defaultY","DevToolUI","proxyToObject","proxy","nestToFlat","flatKeys","get$1","useExportControlToExtension","nestedFormValues","isExtensionEnabled","setIsExtensionEnabled","handleInitMessage","nestedErrors","nestedDirtyFields","nestedTouchedFields","formStatus","flatFieldNames","flatErrors","nativeFields","updateMessagePayload","createStore","DevTool","StateMachineProvider","Q","O","C","S","P","M","T","I","D","E","R","F","A","B","N","ClaimForm","openDialogAtTab","useTabbedPrivacyDialogStore","openPrivacyPolicy","PrivacyDialogTab","RadioGroup","SalutationEnum","isEmailRegExp","Textarea","_e","SmallPrint","Trans","TextLink","useCarSelectionStore","CarSelection","selectedId","selectId","active","Teaser","SuccessMessage","successIconRef","faCheckCircle","Confetti","ClaimWizardContent","ctaAction","useRequestContactPersonCtaMutation","isDebug","showError","FormProvider","AddToHomeScreenModal","panel","scrollPos","isIOS","useIOS","isFakeIos","close","vcard_dialog_message","ContactSlideIn","showPanel","closePanel","CustomerContent","VCardButton","Menus","location","useLocation","SidePanel","FeedFolderRenderer","isFeedOpen","useFeed","Layout","Footer","Outlet","FolderLayout","useThemeOnElementById","ThemeProvider","FolderPage","setTag","SentryTag","ExposeFolderContextProvider","FirstVisitDialog","TabbedPrivacyDialog","DisclaimerDialog"],"ignoreList":[6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,34,35,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],"sources":["../../../../libs/ui/src/components/Wizard/Counter.tsx","../../../../libs/ui/src/components/Wizard/Wizard.tsx","../../../../libs/ui/src/components/A2HSPopup/IosA2HSPopup.tsx","../../../../libs/ui/src/components/A2HSPopup/AndroidA2HSPopup.tsx","../../../../libs/ui/src/hooks/useEventListener.ts","../../../../libs/ui/src/hooks/useClickOutside.ts","../../../../node_modules/@emotion/sheet/dist/emotion-sheet.esm.js","../../../../node_modules/stylis/src/Enum.js","../../../../node_modules/stylis/src/Utility.js","../../../../node_modules/stylis/src/Tokenizer.js","../../../../node_modules/stylis/src/Parser.js","../../../../node_modules/stylis/src/Serializer.js","../../../../node_modules/stylis/src/Middleware.js","../../../../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../../../../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../../../../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","../../../../node_modules/@emotion/hash/dist/emotion-hash.esm.js","../../../../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../../../../node_modules/@emotion/serialize/dist/emotion-serialize.esm.js","../../../../node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js","../../../../node_modules/@emotion/react/dist/emotion-element-5486c51c.browser.esm.js","../../../../libs/ui/src/components/Dropdown/Dropdown.tsx","../../../../libs/ui/src/components/SlideIn/SlideIn.tsx","../../../../libs/ui-xc/src/hooks/useDocumentPath.ts","../../../../libs/ui-xc/src/hooks/useFolderParams.tsx","../../../../libs/ui-xc/src/components/Feed/FeedItem.tsx","../../../../libs/ui-xc/src/components/Feed/FeedLogo.tsx","../../../../libs/ui-xc/src/components/Feed/FolderHeading.tsx","../../../../libs/ui-xc/src/components/Feed/ContactCard.tsx","../../../../libs/ui-xc/src/components/Feed/FolderShare.tsx","../../../../libs/ui-xc/src/components/Feed/Feed.tsx","../../../../libs/ui-xc/src/hooks/useRecords.tsx","../../../../apps/xc-eufe/src/hooks/useRedirects.tsx","../../../../apps/xc-eufe/src/components/Debugger.tsx","../../../../node_modules/react-webcam/dist/react-webcam.js","../../../../node_modules/qr-scanner/qr-scanner.min.js","../../../../apps/xc-eufe/src/components/QrCodeScanner.tsx","../../../../apps/xc-eufe/src/components/Camera.tsx","../../../../node_modules/little-state-machine/dist/little-state-machine.es.js","../../../../node_modules/uuid/dist/esm-browser/rng.js","../../../../node_modules/uuid/dist/esm-browser/regex.js","../../../../node_modules/uuid/dist/esm-browser/validate.js","../../../../node_modules/uuid/dist/esm-browser/stringify.js","../../../../node_modules/uuid/dist/esm-browser/v4.js","../../../../node_modules/react-simple-animate/dist/index.js","../../../../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../../../../node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js","../../../../node_modules/@emotion/styled/dist/emotion-styled.browser.esm.js","../../../../node_modules/lodash/isUndefined.js","../../../../node_modules/dequal/dist/index.mjs","../../../../node_modules/use-deep-compare-effect/dist/use-deep-compare-effect.esm.js","../../../../node_modules/@hookform/devtools/dist/index.esm.js","../../../../node_modules/react-confetti/dist/react-confetti.min.js","../../../../apps/xc-eufe/src/components/ClaimForm.tsx","../../../../apps/xc-eufe/src/stores/CarSelectionStore.tsx","../../../../apps/xc-eufe/src/components/CarSelection.tsx","../../../../apps/xc-eufe/src/components/ClaimWizardContent.tsx","../../../../apps/xc-eufe/src/components/Menu/AddToHomeScreenModal.tsx","../../../../apps/xc-eufe/src/components/Menu/ContactSlideIn.tsx","../../../../apps/xc-eufe/src/components/Menu/Menus.tsx","../../../../apps/xc-eufe/src/components/renderers/FeedRenderer/FeedFolderRenderer.tsx","../../../../apps/xc-eufe/src/components/FolderLayout.tsx","../../../../apps/xc-eufe/src/pages/Folder.tsx"],"sourcesContent":["import {faCheck} from '@fortawesome/pro-light-svg-icons'\n\nimport {twMerge, noop} from '@sdox/utils'\n\nimport {FaIcon} from '../..'\n\nimport type {ComponentProps} from 'react'\n\ninterface CounterProps extends ComponentProps<'div'> {\n label?: string\n isDone?: boolean\n onClick?: () => void\n}\n\nexport const Counter = ({label = '', isDone = false, className, onClick = noop, ...restProps}: CounterProps) => (\n \n {isDone ? (\n \n ) : label}\n \n)\n","import {Fragment, useMemo, useState} from 'react'\n\nimport {twMerge} from '@sdox/utils'\n\nimport {Button} from '../Button'\nimport {Counter} from './Counter'\n\nimport type {ClassNameValue} from 'tailwind-merge'\nimport type {ReactNode} from 'react'\n\nexport interface WizardProps {\n steps?: {\n title: string\n content?: ReactNode\n disableNext?: boolean\n action?: () => Promise\n }[]\n hideSteps?: boolean\n errorMessage?: ReactNode\n successMessage?: ReactNode\n className?: ClassNameValue\n}\n\nexport const Wizard = ({className, hideSteps = false, steps = [], errorMessage, successMessage}: WizardProps) => {\n const [currentStep, setCurrentStep] = useState(0)\n const [isActionPending, setIsActionPending] = useState(false)\n const {inProgress, lastStep, completed} = useMemo(\n () => ({\n inProgress: currentStep <= steps.length - 1,\n lastStep: currentStep === steps.length - 1,\n completed: currentStep >= steps.length,\n }),\n [currentStep, steps],\n )\n\n const handleNextStep = async () => {\n if (!inProgress || completed) return\n const action = steps[currentStep]?.action\n if (action === undefined) {\n setCurrentStep(currentStep => currentStep + 1)\n return\n }\n try {\n setIsActionPending(true)\n const success = await action()\n if (success) {\n setCurrentStep(currentStep => currentStep + 1)\n }\n } catch (e) {\n console.error(e)\n return\n } finally {\n setIsActionPending(false)\n }\n }\n\n const handlePrevStep = (index: number) => {\n if (currentStep > index || !completed) {\n setCurrentStep(index)\n }\n }\n\n return (\n <>\n {!hideSteps && !completed && (\n
    \n {steps.map(({title}, index) => (\n \n {index > 0 && (\n \n \n \n \n \n )}\n
  1. \n index}\n onClick={() => handlePrevStep(index)}\n />\n {title}\n
  2. \n
    \n ))}\n
\n )}\n
\n {errorMessage ?? completed ? successMessage : steps[currentStep].content}\n {!errorMessage && inProgress && (\n
\n \n {lastStep ? 'Absenden' : 'Weiter'}\n \n {hideSteps && currentStep > 0 && (\n handlePrevStep(currentStep - 1)}\n >\n Zurück\n \n )}\n
\n )}\n
\n \n )\n}\n","import {faChevronDown, faTimes} from '@fortawesome/pro-light-svg-icons'\n\nimport {noop} from '@sdox/utils'\n\nimport {FaIcon} from '../FaIcon'\nimport {Headline} from '../Headline'\nimport {Counter} from '../Wizard'\n\ntype IosA2HSPopupProps = {\n handleDisclose?: () => void\n}\n\nexport const IosA2HSPopup = ({handleDisclose = noop}: IosA2HSPopupProps) => (\n
\n
\n Mappe speichern\n \n
\n
    \n
  1. \n \n
    \n Klicken Sie auf das Teilen-Symbol:\n \n
    \n
  2. \n
  3. \n \n
    \n Scrollen Sie nach unten und klicken Sie auf \"Zum Home-Bildschirm +\":\n \n
    \n
  4. \n
\n \n
\n)\n","import {faTimes} from '@fortawesome/pro-light-svg-icons'\nimport {faEllipsisVertical} from '@fortawesome/pro-solid-svg-icons'\n\nimport {noop} from '@sdox/utils'\n\nimport {FaIcon} from '../FaIcon'\nimport {Headline} from '../Headline'\nimport {Counter} from '../Wizard'\n\ntype AndroidA2HSPopupProps = {\n handleDisclose?: () => void\n}\n\nexport const AndroidA2HSPopup = ({handleDisclose = noop}: AndroidA2HSPopupProps) => (\n
\n
\n Mappe speichern\n \n
\n
    \n
  1. \n \n
    \n Tippen Sie auf die drei kleinen Punkte oben rechts: \n
    \n \n
    \n
    \n
  2. \n
  3. \n \n Wählen Sie \"Zum Startbildschirm zufügen\":\n
  4. \n
  5. \n \n Tippen Sie auf \"Hinzufügen\":\n
  6. \n
  7. \n \n Wählen Sie abschließend \"Automatisch hinzufügen\":\n
  8. \n
\n
\n)\n","import {useEffect, useRef} from 'react'\n\nimport type {RefObject} from 'react'\n\nexport function useEventListener(\n eventName: keyof WindowEventMap | string, // string to allow custom event\n handler: (event: Event) => void,\n element?: RefObject,\n) {\n // Create a ref that stores handler\n const savedHandler = useRef<(event: Event) => void>()\n\n useEffect(() => {\n // Define the listening target\n const targetElement: T | Window = element?.current || window\n if (!(targetElement && targetElement.addEventListener)) {\n return\n }\n\n // Update saved handler if necessary\n if (savedHandler.current !== handler) {\n savedHandler.current = handler\n }\n\n // Create event listener that calls handler function stored in ref\n const eventListener = (event: Event) => {\n // eslint-disable-next-line no-extra-boolean-cast\n if (!!savedHandler?.current) {\n savedHandler.current(event)\n }\n }\n\n targetElement.addEventListener(eventName, eventListener)\n\n // Remove event listener on cleanup\n return () => {\n targetElement.removeEventListener(eventName, eventListener)\n }\n }, [eventName, element, handler])\n}\n","import {useEventListener} from './useEventListener'\n\nimport type {RefObject} from 'react'\n\ntype Handler = (event: MouseEvent) => void\n\nexport const useOnClickOutside = (\n ref: RefObject,\n handler: Handler,\n mouseEvent: 'mousedown' | 'mouseup' = 'mousedown',\n) => {\n useEventListener(mouseEvent, (event) => {\n const el = ref?.current\n\n // Do nothing if clicking ref's element or descendent elements\n if (!el || el.contains(event.target as Node)) {\n return\n }\n\n handler(event as MouseEvent)\n })\n}\n","var isDevelopment = false;\n\n/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n return document.styleSheets[i];\n }\n } // this function should always return with a value\n // TS can't understand it though so we make it stop complaining here\n\n\n return undefined;\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? !isDevelopment : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n this.tags.forEach(function (tag) {\n var _tag$parentNode;\n\n return (_tag$parentNode = tag.parentNode) == null ? void 0 : _tag$parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n switch (hash(value, length)) {\n // color-adjust\n case 5103:\n return WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return WEBKIT + value + MOZ + value + MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return WEBKIT + value + MS + value + value;\n // order\n\n case 6165:\n return WEBKIT + value + MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if (charat(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if (charat(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return replace(value, ':', ':' + WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n }\n\n break;\n // writing-mode\n\n case 5936:\n switch (charat(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n\n return WEBKIT + value + MS + value + value;\n }\n\n return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n case DECLARATION:\n element[\"return\"] = prefix(element.value, element.length);\n break;\n\n case KEYFRAMES:\n return serialize([copy(element, {\n value: replace(element.value, '@', '@' + WEBKIT)\n })], callback);\n\n case RULESET:\n if (element.length) return combine(element.props, function (value) {\n switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return serialize([copy(element, {\n props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n })], callback);\n // :placeholder\n\n case '::placeholder':\n return serialize([copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n })], callback);\n }\n\n return '';\n });\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function\n /*: EmotionCache */\ncreateCache(options\n/*: Options */\n) {\n var key = options.key;\n\n if (key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node\n /*: HTMLStyleElement */\n ) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n var inserted = {};\n var container;\n /* : Node */\n\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node\n /*: HTMLStyleElement */\n ) {\n var attrib = node.getAttribute(\"data-emotion\").split(' ');\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n /*: (\n selector: string,\n serialized: SerializedStyles,\n sheet: StyleSheet,\n shouldCache: boolean\n ) => string | void */\n\n\n var omnipresentPlugins = [compat, removeLabel];\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function\n /*: void */\n insert(selector\n /*: string */\n , serialized\n /*: SerializedStyles */\n , sheet\n /*: StyleSheet */\n , shouldCache\n /*: boolean */\n ) {\n currentSheet = sheet;\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache\n /*: EmotionCache */\n = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport { createCache as default };\n","var isBrowser = true;\n\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else if (className) {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport { murmur2 as default };\n","var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n scale: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport { unitlessKeys as default };\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar isDevelopment = false;\n\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n var componentSelector = interpolation;\n\n if (componentSelector.__emotion_styles !== undefined) {\n\n return componentSelector;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n var keyframes = interpolation;\n\n if (keyframes.anim === 1) {\n cursor = {\n name: keyframes.name,\n styles: keyframes.styles,\n next: cursor\n };\n return keyframes.name;\n }\n\n var serializedStyles = interpolation;\n\n if (serializedStyles.styles !== undefined) {\n var next = serializedStyles.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = serializedStyles.styles + \";\";\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n }\n\n break;\n }\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n var asString = interpolation;\n\n if (registered == null) {\n return asString;\n }\n\n var cached = registered[asString];\n return cached !== undefined ? cached : asString;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var key in obj) {\n var value = obj[key];\n\n if (typeof value !== 'object') {\n var asString = value;\n\n if (registered != null && registered[asString] !== undefined) {\n string += key + \"{\" + registered[asString] + \"}\";\n } else if (isProcessableValue(asString)) {\n string += processStyleName(key) + \":\" + processStyleValue(key, asString) + \";\";\n }\n } else {\n if (key === 'NO_COMPONENT_SELECTOR' && isDevelopment) {\n throw new Error(noComponentSelectorMessage);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(key) + \":\" + processStyleValue(key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n\n string += key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;{]+)\\s*(;|$)/g; // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\nvar cursor;\nfunction serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n var asTemplateStringsArr = strings;\n\n styles += asTemplateStringsArr[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n var templateStringsArr = strings;\n\n styles += templateStringsArr[i];\n }\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n}\n\nexport { serializeStyles };\n","import * as React from 'react';\n\nvar syncFallback = function syncFallback(create) {\n return create();\n};\n\nvar useInsertionEffect = React['useInsertion' + 'Effect'] ? React['useInsertion' + 'Effect'] : false;\nvar useInsertionEffectAlwaysWithSyncFallback = useInsertionEffect || syncFallback;\nvar useInsertionEffectWithLayoutFallback = useInsertionEffect || React.useLayoutEffect;\n\nexport { useInsertionEffectAlwaysWithSyncFallback, useInsertionEffectWithLayoutFallback };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isDevelopment = false;\n\n/* import { type EmotionCache } from '@emotion/utils' */\nvar EmotionCacheContext\n/*: React.Context */\n= /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache()\n/*: EmotionCache | null*/\n{\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache\n/* > */\n(func\n/*: (props: Props, cache: EmotionCache, ref: Ref) => React.Node */\n)\n/*: React.AbstractComponent */\n{\n return /*#__PURE__*/forwardRef(function (props\n /*: Props */\n , ref\n /*: Ref */\n ) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nvar useTheme = function useTheme() {\n return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme\n/*: Object */\n, theme\n/*: Object | (Object => Object) */\n) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n return mergedTheme;\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\n/*\ntype ThemeProviderProps = {\n theme: Object | (Object => Object),\n children: React.Node\n}\n*/\n\nvar ThemeProvider = function ThemeProvider(props\n/*: ThemeProviderProps */\n) {\n var theme = React.useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme\n/* */\n(Component\n/*: React.AbstractComponent */\n)\n/*: React.AbstractComponent<$Diff> */\n{\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = React.useContext(ThemeContext);\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n };\n\n var WithTheme = /*#__PURE__*/React.forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar hasOwn = {}.hasOwnProperty;\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type\n/*: React.ElementType */\n, props\n/*: Object */\n) {\n\n var newProps\n /*: any */\n = {};\n\n for (var key in props) {\n if (hasOwn.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type; // Runtime labeling is an opt-in feature because:\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(\n/* */\nfunction (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwn.call(props, key) && key !== 'css' && key !== typePropName && (!isDevelopment )) {\n newProps[key] = props[key];\n }\n }\n\n newProps.className = className;\n\n if (ref) {\n newProps.ref = ref;\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwn as h, isDevelopment as i, useTheme as u, withEmotionCache as w };\n","import {AnimatePresence, motion} from 'framer-motion'\nimport {useRef, useState} from 'react'\n\nimport {twMerge} from '@sdox/utils'\n\nimport {useOnClickOutside} from '../../hooks/useClickOutside'\n\nimport type {ComponentProps, ReactNode} from 'react'\nimport type {Variants} from 'framer-motion'\n\nexport interface DropdownProps extends ComponentProps<'div'> {\n trigger: ReactNode\n origin: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'top-center' | 'bottom-center'\n}\n\nconst DropdownVariants: Variants = {\n visible: {\n opacity: 1,\n height: 'auto',\n width: 'auto',\n },\n hidden: {\n opacity: 0,\n height: 0,\n width: 0,\n overflow: 'hidden',\n },\n}\n\n// map classes for tailwind bundling\nconst originClasses = {\n 'top-right': 'origin-top-right',\n 'top-left': 'origin-top-left',\n 'bottom-right': 'origin-bottom-right',\n 'bottom-left': 'origin-bottom-left',\n 'top-center': 'origin-top-center',\n 'bottom-center': 'origin-bottom-center',\n}\n\nexport const Dropdown = ({trigger, origin, children, className, ...restProps}: DropdownProps) => {\n const [isOpen, setOpen] = useState(false)\n const ref = useRef(null)\n\n useOnClickOutside(ref, () => {\n setOpen(false)\n })\n\n return (\n \n
setOpen(!isOpen)}>{trigger}
\n\n \n {isOpen && (\n \n {children}\n \n )}\n \n \n )\n}\n","import {Portal} from '@headlessui/react'\nimport {AnimatePresence, LayoutGroup, motion} from 'framer-motion'\nimport {useLockedBody} from 'usehooks-ts'\n\nimport {twMerge, noop} from '@sdox/utils'\n\nimport type {ReactNode} from 'react'\n\nexport interface SlideInProps {\n isOpen?: boolean\n bottomIn?: number\n bottomOut?: number\n handleToggle?: () => void\n children?: ReactNode\n}\n\nexport const SlideIn = ({\n isOpen = false,\n bottomIn = 0,\n bottomOut = -100,\n handleToggle = noop,\n children,\n}: SlideInProps) => {\n useLockedBody(isOpen, 'root')\n\n return (\n \n \n {isOpen && (\n \n \n \n {children}\n \n \n )}\n \n \n )\n}\n","import {useParams, useSearchParams} from 'react-router-dom'\n\nexport const useDocumentPath = (id: string, searchParams?: URLSearchParams): string => {\n const [search] = useSearchParams()\n const {basePath = 'xcnw', seFolderSlug, linkSlug} = useParams()\n const prefix = `/${basePath}/${seFolderSlug || linkSlug}`\n const newUrl = `${prefix}/${id}/`\n\n const combinedSearch = new URLSearchParams({\n ...Object.fromEntries(search),\n ...Object.fromEntries(searchParams ?? []),\n }).toString()\n\n if (combinedSearch.length !== 0) {\n return `${newUrl}?${combinedSearch.toString()}`\n }\n\n return newUrl\n}\n","import {useEffect, useMemo} from 'react'\nimport {useSearchParams} from 'react-router-dom'\n\nimport {parseBool} from '@sdox/utils'\n\nimport type {TypeOptions} from 'react-toastify'\n\nexport type FolderMessagePayload = {\n folderDocumentId?: string\n highlight?: boolean\n message?: string\n messageType?: TypeOptions\n featureId?: string\n refetch?: boolean\n reload?: boolean\n}\n\n/**\n * Parses the current search params into an object and returns it.\n * Resets the search params with a useEffect after the payload message changed.\n */\nexport const useFolderParams = (): FolderMessagePayload => {\n const [search, setSearchParams] = useSearchParams()\n\n const payload = useMemo(() => {\n if (!search.get('folderDocumentId')) {\n return {}\n }\n\n return {\n folderDocumentId: search.get('folderDocumentId') ?? undefined,\n highlight: parseBool(search.get('highlight')),\n message: search.get('message') ?? undefined,\n messageType: (search.get('messageType') ?? undefined) as TypeOptions | undefined,\n featureId: search.get('featureId') ?? undefined,\n refetch: parseBool(search.get('refetch')),\n reload: parseBool(search.get('reload')),\n }\n }, [search])\n\n useEffect(() => {\n if (payload.message) {\n setSearchParams('')\n }\n }, [payload.message, setSearchParams])\n\n return payload\n}\n","import {useNavigate, useParams} from 'react-router-dom'\n\nimport {FolderItem} from '@sdox/ui'\n\nimport {useDocumentPath} from '../../hooks/useDocumentPath'\nimport {useFolderParams} from '../../hooks/useFolderParams'\nimport {getFeedItemId} from './utils'\n\nimport type {FolderItemProps} from '@sdox/ui'\nimport type {XcRecordBaseFragment} from '@sdox/api'\n\ntype RecordType = Partial\n\nconst mediaTypes: RecordType[] = ['XCUploadDataImageGalleryType', 'XCUploadDataAttachmentType']\nconst configuratorTypes: RecordType[] = ['XCGenericCodeDataType']\n\nexport const FeedItem = ({\n id,\n title,\n callout,\n xcMediaRef,\n itemsLength,\n __typename,\n subItemCount,\n linkProps,\n}: XcRecordBaseFragment & {itemsLength: number} & Pick) => {\n const search = new URLSearchParams({feed: 'false'})\n const documentPath = useDocumentPath(id, search)\n const {documentId = ''} = useParams()\n const {highlight, folderDocumentId} = useFolderParams()\n const navigate = useNavigate()\n\n let type: FolderItemProps['type'] = 'catalog'\n let itemCount: number | undefined = undefined\n if (mediaTypes.includes(__typename)) {\n type = 'media'\n // show item count only for media and type\n itemCount = subItemCount\n }\n if (configuratorTypes.includes(__typename)) type = 'configurator'\n\n return (\n highlight && itemsLength > 1\n ? navigate(`#xcRecord_${folderDocumentId}`)\n : null\n }\n shouldHighlight={highlight && folderDocumentId === id}\n itemCount={itemCount}\n linkProps={linkProps}\n />\n )\n}\n","import {LazyImage} from '@sdox/ui'\n\nimport type {XcMediaRefFragment} from '@sdox/api'\n\nexport type FeedLogoProps = {logoLabel: string | null; logo: XcMediaRefFragment | null}\n\nexport const FeedLogo = ({logoLabel, logo}: FeedLogoProps) => (\n
\n {logo ? (\n \n ) : null}\n {(logo && logoLabel) ?
: null}\n {logoLabel ? (\n \n {logoLabel}\n

\n ) : null}\n
\n)\n","import {useTranslation} from 'react-i18next'\n\nimport type {SalutationTypeEnum} from '@sdox/api'\nimport type {PropsWithChildren} from 'react'\n\nexport interface FolderHeadingProps extends PropsWithChildren {\n salutationText?: string\n salutationType?: SalutationTypeEnum\n hasSalutation?: boolean\n}\n\nexport const FolderHeading = ({salutationText, salutationType, hasSalutation}: FolderHeadingProps) => {\n const {t} = useTranslation()\n\n return (\n \n \n {t('eufe:folder.salutation', {formalityEnum: salutationType})}\n {hasSalutation && (\n <>\n {', '}\n \n {salutationText}\n \n \n )}\n {':'}\n \n \n )\n}\n","import {useTranslation} from 'react-i18next'\n\nimport {LazyImage} from '@sdox/ui'\nimport {twMerge} from '@sdox/utils'\nimport {useCurrentContactPerson} from '@sdox/api'\nimport {IconPlaceholderAvatar} from '@sdox/icons/large'\n\nimport type {ComponentProps} from 'react'\n\nexport const ContactCard = ({className, ...restProps}: ComponentProps<'button'>) => {\n const contactPerson = useCurrentContactPerson()\n const {t} = useTranslation()\n\n return (\n \n {contactPerson?.thumbnail ? (\n \n ) : (\n
\n \n
\n )}\n

\n \n {contactPerson?.fullName}\n \n \n {t('eufe:contact.subtitle', {genderEnum: contactPerson?.salutation})}\n \n

\n \n )\n}\n","import {useState} from 'react'\nimport {faCamera} from '@fortawesome/pro-light-svg-icons'\n\nimport {getTrackingProps} from '@sdox/utils/dom'\nimport {Button, FaIcon} from '@sdox/ui'\nimport {IconShare} from '@sdox/icons'\nimport {useCurrentContactPerson} from '@sdox/api'\n\nimport {Dialogs} from '../Dialogs'\nimport {ContactCard} from './ContactCard'\nimport {Panel, usePanelStore} from '../../stores'\nimport {useFolderShare} from '../../hooks/useFolderShare'\n\nimport type {SalutationTypeEnum} from '@sdox/api'\n\nexport interface FolderShareProps {\n salutationType: SalutationTypeEnum\n}\n\nexport const FolderShare = ({\n salutationType,\n}: FolderShareProps) => {\n const contactPerson = useCurrentContactPerson()\n const [isContactCardDialogOpen, setIsContactCardDialogOpen] = useState(false)\n const [isShareOpen, setIsShareOpen] = useState(false)\n const setShowPanel = usePanelStore((state) => state.setShowPanel)\n const {canNativeShare, nativeShare} = useFolderShare()\n\n return (\n
\n {contactPerson ? (\n setIsContactCardDialogOpen(true)}\n className={'flex-1'}\n {...getTrackingProps({prefix: 'Feed', piece: 'OpenContactPersonDialog'})}\n />\n ) : (\n setShowPanel(Panel.CAMERA)}\n leading={(\n \n )}\n >\n QR-Code scannen\n \n )}\n }\n onClick={() => canNativeShare ? nativeShare() : setIsShareOpen(true)}\n aria-label={'Teilen'}\n mboAttrs={{prefix: 'Feed', piece: 'OpenShareDialog'}}\n />\n setIsContactCardDialogOpen(false)}\n />\n {canNativeShare ? null : (\n setIsShareOpen(false)}\n />\n )}\n
\n )\n}\n","import {SalutationTypeEnum, useCurrentContactPerson, useCurrentOffice} from '@sdox/api'\nimport {twMerge} from '@sdox/utils'\nimport {getTrackingProps} from '@sdox/utils/dom'\n\nimport {FeedItem} from './FeedItem'\nimport {FeedLogo} from './FeedLogo'\nimport {FolderHeading} from './FolderHeading'\nimport {FolderShare} from './FolderShare'\n\nimport type {ExposeFolderFragment, XcRecordBaseFragment} from '@sdox/api'\nimport type {ClassNameValue} from 'tailwind-merge'\n\nexport interface FeedProps {\n className?: ClassNameValue\n xcRecords?: XcRecordBaseFragment[]\n salutationText?: ExposeFolderFragment['salutationText']\n salutationType?: ExposeFolderFragment['salutationType']\n}\n\nexport const Feed = ({\n className,\n salutationText,\n salutationType = SalutationTypeEnum.TypeInformalSalutation,\n xcRecords,\n}: FeedProps) => {\n const office = useCurrentOffice()\n const contactPerson = useCurrentContactPerson()\n const hasSalutation = Boolean(contactPerson && salutationText !== '')\n\n return (\n \n
\n \n \n
\n \n \n {xcRecords && xcRecords.length > 0 ? (\n \n {xcRecords.map((xcRecord, index) => (\n 1 && xcRecords.length < 7 ? {\n ...getTrackingProps({\n prefix: `FeedItemCount${xcRecords.length}`,\n piece: `Item${index + 1}`,\n }),\n } : null}\n />\n ))}\n
\n ) : null}\n \n \n )\n}\n","import {useFolderFragment} from './ExposeFolderContext/useFolderFragment'\n\nimport type {XcRecordFragment} from '@sdox/api'\n\nexport const useRecords = (recordType: XcRecordFragment['__typename'] | Array) => {\n const {xcRecords} = useFolderFragment()\n const types = Array.isArray(recordType) ? recordType : [recordType]\n\n const records = (xcRecords.filter(({__typename}) => types.includes(__typename)) ?? []) as T[]\n return {records, count: records.length}\n}\n","import {useEffect} from 'react'\nimport {useParams, useSearchParams} from 'react-router-dom'\n\nimport {useNavigateTo} from '../utils'\n\nexport const useRedirects = () => {\n const {toFirstDocument, toId} = useNavigateTo()\n const {seFolderSlug, documentId} = useParams()\n const [search] = useSearchParams()\n const redirectId = search.get('folderDocumentId')\n\n useEffect(() => {\n if (redirectId && redirectId !== 'null') {\n toId(redirectId)\n } else if (!documentId) {\n const search = new URLSearchParams({feed: 'true'})\n toFirstDocument(undefined, search)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [seFolderSlug, documentId, redirectId])\n}\n","import {faCopy} from '@fortawesome/pro-light-svg-icons'\nimport {toast} from 'react-toastify'\nimport {useTranslation} from 'react-i18next'\n\nimport {Dropdown, FaIcon, useDebugStore} from '@sdox/ui'\nimport {useFolderFragment} from '@sdox/ui-xc'\nimport {useCurrentContactPerson, useCurrentOffice} from '@sdox/api'\n\nimport {BASE_ADMIN_URL, BASE_URL} from '../constants'\n\nexport interface DebugLinkHelperProps {\n name: string\n link: string\n value: string\n base: string\n}\n\nconst DebugLinkHelper = ({base, name, link, value}: DebugLinkHelperProps) => {\n const {t} = useTranslation()\n\n const handleCopy = async () => {\n try {\n await navigator.clipboard.writeText(value)\n toast.info(t('common:copiedToClipboard', {value: `${value} [${name}] `}))\n } catch (e: any) {\n console.error(e)\n toast.error(e)\n }\n }\n\n return (\n <>\n {name}\n \n {value}\n \n \n \n )\n}\n\nconst DebugLinks = () => {\n const {slug, organizationId, xcRecords} = useFolderFragment()\n const office = useCurrentOffice()\n const contactPerson = useCurrentContactPerson()\n\n return (\n \n Debug\n \n )}\n >\n
\n CUFE\n \n Admin\n {office ? (\n <>\n \n \n \n ) : null}\n {contactPerson ? (\n \n ) : null}\n {xcRecords?.map((record, idx) => (\n \n ))}\n
\n \n )\n}\n\nexport const Debugger = () => {\n const isDebug = useDebugStore().isDebugOnMode('data')\n\n if (!isDebug) return null\n\n return (\n
\n \n
\n )\n}\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Webcam\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"Webcam\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_react__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"./src/react-webcam.tsx\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./src/react-webcam.tsx\":\n/*!******************************!*\\\n !*** ./src/react-webcam.tsx ***!\n \\******************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (undefined && undefined.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (undefined && undefined.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n// polyfill based on https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia\n(function polyfillGetUserMedia() {\n if (typeof window === 'undefined') {\n return;\n }\n // Older browsers might not implement mediaDevices at all, so we set an empty object first\n if (navigator.mediaDevices === undefined) {\n navigator.mediaDevices = {};\n }\n // Some browsers partially implement mediaDevices. We can't just assign an object\n // with getUserMedia as it would overwrite existing properties.\n // Here, we will just add the getUserMedia property if it's missing.\n if (navigator.mediaDevices.getUserMedia === undefined) {\n navigator.mediaDevices.getUserMedia = function (constraints) {\n // First get ahold of the legacy getUserMedia, if present\n var getUserMedia = navigator.getUserMedia ||\n navigator.webkitGetUserMedia ||\n navigator.mozGetUserMedia ||\n navigator.msGetUserMedia;\n // Some browsers just don't implement it - return a rejected promise with an error\n // to keep a consistent interface\n if (!getUserMedia) {\n return Promise.reject(new Error(\"getUserMedia is not implemented in this browser\"));\n }\n // Otherwise, wrap the call to the old navigator.getUserMedia with a Promise\n return new Promise(function (resolve, reject) {\n getUserMedia.call(navigator, constraints, resolve, reject);\n });\n };\n }\n})();\nfunction hasGetUserMedia() {\n return !!(navigator.mediaDevices && navigator.mediaDevices.getUserMedia);\n}\nvar Webcam = /** @class */ (function (_super) {\n __extends(Webcam, _super);\n function Webcam(props) {\n var _this = _super.call(this, props) || this;\n _this.canvas = null;\n _this.ctx = null;\n _this.requestUserMediaId = 0;\n _this.unmounted = false;\n _this.state = {\n hasUserMedia: false\n };\n return _this;\n }\n Webcam.prototype.componentDidMount = function () {\n var _a = this, state = _a.state, props = _a.props;\n this.unmounted = false;\n if (!hasGetUserMedia()) {\n props.onUserMediaError(\"getUserMedia not supported\");\n return;\n }\n if (!state.hasUserMedia) {\n this.requestUserMedia();\n }\n if (props.children && typeof props.children != 'function') {\n console.warn(\"children must be a function\");\n }\n };\n Webcam.prototype.componentDidUpdate = function (nextProps) {\n var props = this.props;\n if (!hasGetUserMedia()) {\n props.onUserMediaError(\"getUserMedia not supported\");\n return;\n }\n var audioConstraintsChanged = JSON.stringify(nextProps.audioConstraints) !==\n JSON.stringify(props.audioConstraints);\n var videoConstraintsChanged = JSON.stringify(nextProps.videoConstraints) !==\n JSON.stringify(props.videoConstraints);\n var minScreenshotWidthChanged = nextProps.minScreenshotWidth !== props.minScreenshotWidth;\n var minScreenshotHeightChanged = nextProps.minScreenshotHeight !== props.minScreenshotHeight;\n if (videoConstraintsChanged ||\n minScreenshotWidthChanged ||\n minScreenshotHeightChanged) {\n this.canvas = null;\n this.ctx = null;\n }\n if (audioConstraintsChanged || videoConstraintsChanged) {\n this.stopAndCleanup();\n this.requestUserMedia();\n }\n };\n Webcam.prototype.componentWillUnmount = function () {\n this.unmounted = true;\n this.stopAndCleanup();\n };\n Webcam.stopMediaStream = function (stream) {\n if (stream) {\n if (stream.getVideoTracks && stream.getAudioTracks) {\n stream.getVideoTracks().map(function (track) {\n stream.removeTrack(track);\n track.stop();\n });\n stream.getAudioTracks().map(function (track) {\n stream.removeTrack(track);\n track.stop();\n });\n }\n else {\n stream.stop();\n }\n }\n };\n Webcam.prototype.stopAndCleanup = function () {\n var state = this.state;\n if (state.hasUserMedia) {\n Webcam.stopMediaStream(this.stream);\n if (state.src) {\n window.URL.revokeObjectURL(state.src);\n }\n }\n };\n Webcam.prototype.getScreenshot = function (screenshotDimensions) {\n var _a = this, state = _a.state, props = _a.props;\n if (!state.hasUserMedia)\n return null;\n var canvas = this.getCanvas(screenshotDimensions);\n return (canvas &&\n canvas.toDataURL(props.screenshotFormat, props.screenshotQuality));\n };\n Webcam.prototype.getCanvas = function (screenshotDimensions) {\n var _a = this, state = _a.state, props = _a.props;\n if (!this.video) {\n return null;\n }\n if (!state.hasUserMedia || !this.video.videoHeight)\n return null;\n if (!this.ctx) {\n var canvasWidth = this.video.videoWidth;\n var canvasHeight = this.video.videoHeight;\n if (!this.props.forceScreenshotSourceSize) {\n var aspectRatio = canvasWidth / canvasHeight;\n canvasWidth = props.minScreenshotWidth || this.video.clientWidth;\n canvasHeight = canvasWidth / aspectRatio;\n if (props.minScreenshotHeight &&\n canvasHeight < props.minScreenshotHeight) {\n canvasHeight = props.minScreenshotHeight;\n canvasWidth = canvasHeight * aspectRatio;\n }\n }\n this.canvas = document.createElement(\"canvas\");\n this.canvas.width = (screenshotDimensions === null || screenshotDimensions === void 0 ? void 0 : screenshotDimensions.width) || canvasWidth;\n this.canvas.height = (screenshotDimensions === null || screenshotDimensions === void 0 ? void 0 : screenshotDimensions.height) || canvasHeight;\n this.ctx = this.canvas.getContext(\"2d\");\n }\n var _b = this, ctx = _b.ctx, canvas = _b.canvas;\n if (ctx && canvas) {\n // adjust the height and width of the canvas to the given dimensions\n canvas.width = (screenshotDimensions === null || screenshotDimensions === void 0 ? void 0 : screenshotDimensions.width) || canvas.width;\n canvas.height = (screenshotDimensions === null || screenshotDimensions === void 0 ? void 0 : screenshotDimensions.height) || canvas.height;\n // mirror the screenshot\n if (props.mirrored) {\n ctx.translate(canvas.width, 0);\n ctx.scale(-1, 1);\n }\n ctx.imageSmoothingEnabled = props.imageSmoothing;\n ctx.drawImage(this.video, 0, 0, (screenshotDimensions === null || screenshotDimensions === void 0 ? void 0 : screenshotDimensions.width) || canvas.width, (screenshotDimensions === null || screenshotDimensions === void 0 ? void 0 : screenshotDimensions.height) || canvas.height);\n // invert mirroring\n if (props.mirrored) {\n ctx.scale(-1, 1);\n ctx.translate(-canvas.width, 0);\n }\n }\n return canvas;\n };\n Webcam.prototype.requestUserMedia = function () {\n var _this = this;\n var props = this.props;\n var sourceSelected = function (audioConstraints, videoConstraints) {\n var constraints = {\n video: typeof videoConstraints !== \"undefined\" ? videoConstraints : true\n };\n if (props.audio) {\n constraints.audio =\n typeof audioConstraints !== \"undefined\" ? audioConstraints : true;\n }\n _this.requestUserMediaId++;\n var myRequestUserMediaId = _this.requestUserMediaId;\n navigator.mediaDevices\n .getUserMedia(constraints)\n .then(function (stream) {\n if (_this.unmounted || myRequestUserMediaId !== _this.requestUserMediaId) {\n Webcam.stopMediaStream(stream);\n }\n else {\n _this.handleUserMedia(null, stream);\n }\n })\n .catch(function (e) {\n _this.handleUserMedia(e);\n });\n };\n if (\"mediaDevices\" in navigator) {\n sourceSelected(props.audioConstraints, props.videoConstraints);\n }\n else {\n var optionalSource_1 = function (id) { return ({ optional: [{ sourceId: id }] }); };\n var constraintToSourceId_1 = function (constraint) {\n var deviceId = constraint.deviceId;\n if (typeof deviceId === \"string\") {\n return deviceId;\n }\n if (Array.isArray(deviceId) && deviceId.length > 0) {\n return deviceId[0];\n }\n if (typeof deviceId === \"object\" && deviceId.ideal) {\n return deviceId.ideal;\n }\n return null;\n };\n // @ts-ignore: deprecated api\n MediaStreamTrack.getSources(function (sources) {\n var audioSource = null;\n var videoSource = null;\n sources.forEach(function (source) {\n if (source.kind === \"audio\") {\n audioSource = source.id;\n }\n else if (source.kind === \"video\") {\n videoSource = source.id;\n }\n });\n var audioSourceId = constraintToSourceId_1(props.audioConstraints);\n if (audioSourceId) {\n audioSource = audioSourceId;\n }\n var videoSourceId = constraintToSourceId_1(props.videoConstraints);\n if (videoSourceId) {\n videoSource = videoSourceId;\n }\n sourceSelected(optionalSource_1(audioSource), optionalSource_1(videoSource));\n });\n }\n };\n Webcam.prototype.handleUserMedia = function (err, stream) {\n var props = this.props;\n if (err || !stream) {\n this.setState({ hasUserMedia: false });\n props.onUserMediaError(err);\n return;\n }\n this.stream = stream;\n try {\n if (this.video) {\n this.video.srcObject = stream;\n }\n this.setState({ hasUserMedia: true });\n }\n catch (error) {\n this.setState({\n hasUserMedia: true,\n src: window.URL.createObjectURL(stream)\n });\n }\n props.onUserMedia(stream);\n };\n Webcam.prototype.render = function () {\n var _this = this;\n var _a = this, state = _a.state, props = _a.props;\n var audio = props.audio, forceScreenshotSourceSize = props.forceScreenshotSourceSize, disablePictureInPicture = props.disablePictureInPicture, onUserMedia = props.onUserMedia, onUserMediaError = props.onUserMediaError, screenshotFormat = props.screenshotFormat, screenshotQuality = props.screenshotQuality, minScreenshotWidth = props.minScreenshotWidth, minScreenshotHeight = props.minScreenshotHeight, audioConstraints = props.audioConstraints, videoConstraints = props.videoConstraints, imageSmoothing = props.imageSmoothing, mirrored = props.mirrored, _b = props.style, style = _b === void 0 ? {} : _b, children = props.children, rest = __rest(props, [\"audio\", \"forceScreenshotSourceSize\", \"disablePictureInPicture\", \"onUserMedia\", \"onUserMediaError\", \"screenshotFormat\", \"screenshotQuality\", \"minScreenshotWidth\", \"minScreenshotHeight\", \"audioConstraints\", \"videoConstraints\", \"imageSmoothing\", \"mirrored\", \"style\", \"children\"]);\n var videoStyle = mirrored ? __assign(__assign({}, style), { transform: (style.transform || \"\") + \" scaleX(-1)\" }) : style;\n var childrenProps = {\n getScreenshot: this.getScreenshot.bind(this),\n };\n return (react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](react__WEBPACK_IMPORTED_MODULE_0__[\"Fragment\"], null,\n react__WEBPACK_IMPORTED_MODULE_0__[\"createElement\"](\"video\", __assign({ autoPlay: true, disablePictureInPicture: disablePictureInPicture, src: state.src, muted: !audio, playsInline: true, ref: function (ref) {\n _this.video = ref;\n }, style: videoStyle }, rest)),\n children && children(childrenProps)));\n };\n Webcam.defaultProps = {\n audio: false,\n disablePictureInPicture: false,\n forceScreenshotSourceSize: false,\n imageSmoothing: true,\n mirrored: false,\n onUserMedia: function () { return undefined; },\n onUserMediaError: function () { return undefined; },\n screenshotFormat: \"image/webp\",\n screenshotQuality: 0.92,\n };\n return Webcam;\n}(react__WEBPACK_IMPORTED_MODULE_0__[\"Component\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (Webcam);\n\n\n/***/ }),\n\n/***/ \"react\":\n/*!**************************************************************************************!*\\\n !*** external {\"root\":\"React\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\"} ***!\n \\**************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_react__;\n\n/***/ })\n\n/******/ })[\"default\"];\n});\n//# sourceMappingURL=react-webcam.js.map","class e{constructor(a,b,c,d,f){this._legacyCanvasSize=e.DEFAULT_CANVAS_SIZE;this._preferredCamera=\"environment\";this._maxScansPerSecond=25;this._lastScanTimestamp=-1;this._destroyed=this._flashOn=this._paused=this._active=!1;this.$video=a;this.$canvas=document.createElement(\"canvas\");c&&\"object\"===typeof c?this._onDecode=b:(c||d||f?console.warn(\"You're using a deprecated version of the QrScanner constructor which will be removed in the future\"):console.warn(\"Note that the type of the scan result passed to onDecode will change in the future. To already switch to the new api today, you can pass returnDetailedScanResult: true.\"),\nthis._legacyOnDecode=b);b=\"object\"===typeof c?c:{};this._onDecodeError=b.onDecodeError||(\"function\"===typeof c?c:this._onDecodeError);this._calculateScanRegion=b.calculateScanRegion||(\"function\"===typeof d?d:this._calculateScanRegion);this._preferredCamera=b.preferredCamera||f||this._preferredCamera;this._legacyCanvasSize=\"number\"===typeof c?c:\"number\"===typeof d?d:this._legacyCanvasSize;this._maxScansPerSecond=b.maxScansPerSecond||this._maxScansPerSecond;this._onPlay=this._onPlay.bind(this);this._onLoadedMetaData=\nthis._onLoadedMetaData.bind(this);this._onVisibilityChange=this._onVisibilityChange.bind(this);this._updateOverlay=this._updateOverlay.bind(this);a.disablePictureInPicture=!0;a.playsInline=!0;a.muted=!0;let h=!1;a.hidden&&(a.hidden=!1,h=!0);document.body.contains(a)||(document.body.appendChild(a),h=!0);c=a.parentElement;if(b.highlightScanRegion||b.highlightCodeOutline){d=!!b.overlay;this.$overlay=b.overlay||document.createElement(\"div\");f=this.$overlay.style;f.position=\"absolute\";f.display=\"none\";\nf.pointerEvents=\"none\";this.$overlay.classList.add(\"scan-region-highlight\");if(!d&&b.highlightScanRegion){this.$overlay.innerHTML='';try{this.$overlay.firstElementChild.animate({transform:[\"scale(.98)\",\n\"scale(1.01)\"]},{duration:400,iterations:Infinity,direction:\"alternate\",easing:\"ease-in-out\"})}catch(m){}c.insertBefore(this.$overlay,this.$video.nextSibling)}b.highlightCodeOutline&&(this.$overlay.insertAdjacentHTML(\"beforeend\",''),this.$codeOutlineHighlight=this.$overlay.lastElementChild)}this._scanRegion=\nthis._calculateScanRegion(a);requestAnimationFrame(()=>{let m=window.getComputedStyle(a);\"none\"===m.display&&(a.style.setProperty(\"display\",\"block\",\"important\"),h=!0);\"visible\"!==m.visibility&&(a.style.setProperty(\"visibility\",\"visible\",\"important\"),h=!0);h&&(console.warn(\"QrScanner has overwritten the video hiding style to avoid Safari stopping the playback.\"),a.style.opacity=\"0\",a.style.width=\"0\",a.style.height=\"0\",this.$overlay&&this.$overlay.parentElement&&this.$overlay.parentElement.removeChild(this.$overlay),\ndelete this.$overlay,delete this.$codeOutlineHighlight);this.$overlay&&this._updateOverlay()});a.addEventListener(\"play\",this._onPlay);a.addEventListener(\"loadedmetadata\",this._onLoadedMetaData);document.addEventListener(\"visibilitychange\",this._onVisibilityChange);window.addEventListener(\"resize\",this._updateOverlay);this._qrEnginePromise=e.createQrEngine()}static set WORKER_PATH(a){console.warn(\"Setting QrScanner.WORKER_PATH is not required and not supported anymore. Have a look at the README for new setup instructions.\")}static async hasCamera(){try{return!!(await e.listCameras(!1)).length}catch(a){return!1}}static async listCameras(a=\n!1){if(!navigator.mediaDevices)return[];let b=async()=>(await navigator.mediaDevices.enumerateDevices()).filter(d=>\"videoinput\"===d.kind),c;try{a&&(await b()).every(d=>!d.label)&&(c=await navigator.mediaDevices.getUserMedia({audio:!1,video:!0}))}catch(d){}try{return(await b()).map((d,f)=>({id:d.deviceId,label:d.label||(0===f?\"Default Camera\":`Camera ${f+1}`)}))}finally{c&&(console.warn(\"Call listCameras after successfully starting a QR scanner to avoid creating a temporary video stream\"),e._stopVideoStream(c))}}async hasFlash(){let a;\ntry{if(this.$video.srcObject){if(!(this.$video.srcObject instanceof MediaStream))return!1;a=this.$video.srcObject}else a=(await this._getCameraStream()).stream;return\"torch\"in a.getVideoTracks()[0].getSettings()}catch(b){return!1}finally{a&&a!==this.$video.srcObject&&(console.warn(\"Call hasFlash after successfully starting the scanner to avoid creating a temporary video stream\"),e._stopVideoStream(a))}}isFlashOn(){return this._flashOn}async toggleFlash(){this._flashOn?await this.turnFlashOff():await this.turnFlashOn()}async turnFlashOn(){if(!this._flashOn&&\n!this._destroyed&&(this._flashOn=!0,this._active&&!this._paused))try{if(!await this.hasFlash())throw\"No flash available\";await this.$video.srcObject.getVideoTracks()[0].applyConstraints({advanced:[{torch:!0}]})}catch(a){throw this._flashOn=!1,a;}}async turnFlashOff(){this._flashOn&&(this._flashOn=!1,await this._restartVideoStream())}destroy(){this.$video.removeEventListener(\"loadedmetadata\",this._onLoadedMetaData);this.$video.removeEventListener(\"play\",this._onPlay);document.removeEventListener(\"visibilitychange\",\nthis._onVisibilityChange);window.removeEventListener(\"resize\",this._updateOverlay);this._destroyed=!0;this._flashOn=!1;this.stop();e._postWorkerMessage(this._qrEnginePromise,\"close\")}async start(){if(this._destroyed)throw Error(\"The QR scanner can not be started as it had been destroyed.\");if(!this._active||this._paused)if(\"https:\"!==window.location.protocol&&console.warn(\"The camera stream is only accessible if the page is transferred via https.\"),this._active=!0,!document.hidden)if(this._paused=\n!1,this.$video.srcObject)await this.$video.play();else try{let {stream:a,facingMode:b}=await this._getCameraStream();!this._active||this._paused?e._stopVideoStream(a):(this._setVideoMirror(b),this.$video.srcObject=a,await this.$video.play(),this._flashOn&&(this._flashOn=!1,this.turnFlashOn().catch(()=>{})))}catch(a){if(!this._paused)throw this._active=!1,a;}}stop(){this.pause();this._active=!1}async pause(a=!1){this._paused=!0;if(!this._active)return!0;this.$video.pause();this.$overlay&&(this.$overlay.style.display=\n\"none\");let b=()=>{this.$video.srcObject instanceof MediaStream&&(e._stopVideoStream(this.$video.srcObject),this.$video.srcObject=null)};if(a)return b(),!0;await new Promise(c=>setTimeout(c,300));if(!this._paused)return!1;b();return!0}async setCamera(a){a!==this._preferredCamera&&(this._preferredCamera=a,await this._restartVideoStream())}static async scanImage(a,b,c,d,f=!1,h=!1){let m,n=!1;b&&(\"scanRegion\"in b||\"qrEngine\"in b||\"canvas\"in b||\"disallowCanvasResizing\"in b||\"alsoTryWithoutScanRegion\"in\nb||\"returnDetailedScanResult\"in b)?(m=b.scanRegion,c=b.qrEngine,d=b.canvas,f=b.disallowCanvasResizing||!1,h=b.alsoTryWithoutScanRegion||!1,n=!0):b||c||d||f||h?console.warn(\"You're using a deprecated api for scanImage which will be removed in the future.\"):console.warn(\"Note that the return type of scanImage will change in the future. To already switch to the new api today, you can pass returnDetailedScanResult: true.\");b=!!c;try{let p,k;[c,p]=await Promise.all([c||e.createQrEngine(),e._loadImage(a)]);\n[d,k]=e._drawToCanvas(p,m,d,f);let q;if(c instanceof Worker){let g=c;b||e._postWorkerMessageSync(g,\"inversionMode\",\"both\");q=await new Promise((l,v)=>{let w,u,r,y=-1;u=t=>{t.data.id===y&&(g.removeEventListener(\"message\",u),g.removeEventListener(\"error\",r),clearTimeout(w),null!==t.data.data?l({data:t.data.data,cornerPoints:e._convertPoints(t.data.cornerPoints,m)}):v(e.NO_QR_CODE_FOUND))};r=t=>{g.removeEventListener(\"message\",u);g.removeEventListener(\"error\",r);clearTimeout(w);v(\"Scanner error: \"+(t?\nt.message||t:\"Unknown Error\"))};g.addEventListener(\"message\",u);g.addEventListener(\"error\",r);w=setTimeout(()=>r(\"timeout\"),1E4);let x=k.getImageData(0,0,d.width,d.height);y=e._postWorkerMessageSync(g,\"decode\",x,[x.data.buffer])})}else q=await Promise.race([new Promise((g,l)=>window.setTimeout(()=>l(\"Scanner error: timeout\"),1E4)),(async()=>{try{var [g]=await c.detect(d);if(!g)throw e.NO_QR_CODE_FOUND;return{data:g.rawValue,cornerPoints:e._convertPoints(g.cornerPoints,m)}}catch(l){g=l.message||l;\nif(/not implemented|service unavailable/.test(g))return e._disableBarcodeDetector=!0,e.scanImage(a,{scanRegion:m,canvas:d,disallowCanvasResizing:f,alsoTryWithoutScanRegion:h});throw`Scanner error: ${g}`;}})()]);return n?q:q.data}catch(p){if(!m||!h)throw p;let k=await e.scanImage(a,{qrEngine:c,canvas:d,disallowCanvasResizing:f});return n?k:k.data}finally{b||e._postWorkerMessage(c,\"close\")}}setGrayscaleWeights(a,b,c,d=!0){e._postWorkerMessage(this._qrEnginePromise,\"grayscaleWeights\",{red:a,green:b,\nblue:c,useIntegerApproximation:d})}setInversionMode(a){e._postWorkerMessage(this._qrEnginePromise,\"inversionMode\",a)}static async createQrEngine(a){a&&console.warn(\"Specifying a worker path is not required and not supported anymore.\");a=()=>import(\"./qr-scanner-worker.min.js\").then(c=>c.createWorker());if(!(!e._disableBarcodeDetector&&\"BarcodeDetector\"in window&&BarcodeDetector.getSupportedFormats&&(await BarcodeDetector.getSupportedFormats()).includes(\"qr_code\")))return a();let b=navigator.userAgentData;\nreturn b&&b.brands.some(({brand:c})=>/Chromium/i.test(c))&&/mac ?OS/i.test(b.platform)&&await b.getHighEntropyValues([\"architecture\",\"platformVersion\"]).then(({architecture:c,platformVersion:d})=>/arm/i.test(c||\"arm\")&&13<=parseInt(d||\"13\")).catch(()=>!0)?a():new BarcodeDetector({formats:[\"qr_code\"]})}_onPlay(){this._scanRegion=this._calculateScanRegion(this.$video);this._updateOverlay();this.$overlay&&(this.$overlay.style.display=\"\");this._scanFrame()}_onLoadedMetaData(){this._scanRegion=this._calculateScanRegion(this.$video);\nthis._updateOverlay()}_onVisibilityChange(){document.hidden?this.pause():this._active&&this.start()}_calculateScanRegion(a){let b=Math.round(2/3*Math.min(a.videoWidth,a.videoHeight));return{x:Math.round((a.videoWidth-b)/2),y:Math.round((a.videoHeight-b)/2),width:b,height:b,downScaledWidth:this._legacyCanvasSize,downScaledHeight:this._legacyCanvasSize}}_updateOverlay(){requestAnimationFrame(()=>{if(this.$overlay){var a=this.$video,b=a.videoWidth,c=a.videoHeight,d=a.offsetWidth,f=a.offsetHeight,h=a.offsetLeft,\nm=a.offsetTop,n=window.getComputedStyle(a),p=n.objectFit,k=b/c,q=d/f;switch(p){case \"none\":var g=b;var l=c;break;case \"fill\":g=d;l=f;break;default:(\"cover\"===p?k>q:k{const x=parseFloat(r);return r.endsWith(\"%\")?(y?f-l:d-g)*x/100:x});n=this._scanRegion.width||b;q=this._scanRegion.height||c;p=this._scanRegion.x||0;var u=this._scanRegion.y||0;k=this.$overlay.style;k.width=\n`${n/b*g}px`;k.height=`${q/c*l}px`;k.top=`${m+w+u/c*l}px`;c=/scaleX\\(-1\\)/.test(a.style.transform);k.left=`${h+(c?d-v-g:v)+(c?b-p-n:p)/b*g}px`;k.transform=a.style.transform}})}static _convertPoints(a,b){if(!b)return a;let c=b.x||0,d=b.y||0,f=b.width&&b.downScaledWidth?b.width/b.downScaledWidth:1;b=b.height&&b.downScaledHeight?b.height/b.downScaledHeight:1;for(let h of a)h.x=h.x*f+c,h.y=h.y*b+d;return a}_scanFrame(){!this._active||this.$video.paused||this.$video.ended||(\"requestVideoFrameCallback\"in\nthis.$video?this.$video.requestVideoFrameCallback.bind(this.$video):requestAnimationFrame)(async()=>{if(!(1>=this.$video.readyState)){var a=Date.now()-this._lastScanTimestamp,b=1E3/this._maxScansPerSecond;asetTimeout(d,b-a));this._lastScanTimestamp=Date.now();try{var c=await e.scanImage(this.$video,{scanRegion:this._scanRegion,qrEngine:this._qrEnginePromise,canvas:this.$canvas})}catch(d){if(!this._active)return;this._onDecodeError(d)}!e._disableBarcodeDetector||await this._qrEnginePromise instanceof\nWorker||(this._qrEnginePromise=e.createQrEngine());c?(this._onDecode?this._onDecode(c):this._legacyOnDecode&&this._legacyOnDecode(c.data),this.$codeOutlineHighlight&&(clearTimeout(this._codeOutlineHighlightRemovalTimeout),this._codeOutlineHighlightRemovalTimeout=void 0,this.$codeOutlineHighlight.setAttribute(\"viewBox\",`${this._scanRegion.x||0} `+`${this._scanRegion.y||0} `+`${this._scanRegion.width||this.$video.videoWidth} `+`${this._scanRegion.height||this.$video.videoHeight}`),this.$codeOutlineHighlight.firstElementChild.setAttribute(\"points\",\nc.cornerPoints.map(({x:d,y:f})=>`${d},${f}`).join(\" \")),this.$codeOutlineHighlight.style.display=\"\")):this.$codeOutlineHighlight&&!this._codeOutlineHighlightRemovalTimeout&&(this._codeOutlineHighlightRemovalTimeout=setTimeout(()=>this.$codeOutlineHighlight.style.display=\"none\",100))}this._scanFrame()})}_onDecodeError(a){a!==e.NO_QR_CODE_FOUND&&console.log(a)}async _getCameraStream(){if(!navigator.mediaDevices)throw\"Camera not found.\";let a=/^(environment|user)$/.test(this._preferredCamera)?\"facingMode\":\n\"deviceId\",b=[{width:{min:1024}},{width:{min:768}},{}],c=b.map(d=>Object.assign({},d,{[a]:{exact:this._preferredCamera}}));for(let d of[...c,...b])try{let f=await navigator.mediaDevices.getUserMedia({video:d,audio:!1}),h=this._getFacingMode(f)||(d.facingMode?this._preferredCamera:\"environment\"===this._preferredCamera?\"user\":\"environment\");return{stream:f,facingMode:h}}catch(f){}throw\"Camera not found.\";}async _restartVideoStream(){let a=this._paused;await this.pause(!0)&&!a&&this._active&&await this.start()}static _stopVideoStream(a){for(let b of a.getTracks())b.stop(),\na.removeTrack(b)}_setVideoMirror(a){this.$video.style.transform=\"scaleX(\"+(\"user\"===a?-1:1)+\")\"}_getFacingMode(a){return(a=a.getVideoTracks()[0])?/rear|back|environment/i.test(a.label)?\"environment\":/front|user|face/i.test(a.label)?\"user\":null:null}static _drawToCanvas(a,b,c,d=!1){c=c||document.createElement(\"canvas\");let f=b&&b.x?b.x:0,h=b&&b.y?b.y:0,m=b&&b.width?b.width:a.videoWidth||a.width,n=b&&b.height?b.height:a.videoHeight||a.height;d||(d=b&&b.downScaledWidth?b.downScaledWidth:m,b=b&&b.downScaledHeight?\nb.downScaledHeight:n,c.width!==d&&(c.width=d),c.height!==b&&(c.height=b));b=c.getContext(\"2d\",{alpha:!1});b.imageSmoothingEnabled=!1;b.drawImage(a,f,h,m,n,0,0,c.width,c.height);return[c,b]}static async _loadImage(a){if(a instanceof Image)return await e._awaitImageLoad(a),a;if(a instanceof HTMLVideoElement||a instanceof HTMLCanvasElement||a instanceof SVGImageElement||\"OffscreenCanvas\"in window&&a instanceof OffscreenCanvas||\"ImageBitmap\"in window&&a instanceof ImageBitmap)return a;if(a instanceof\nFile||a instanceof Blob||a instanceof URL||\"string\"===typeof a){let b=new Image;b.src=a instanceof File||a instanceof Blob?URL.createObjectURL(a):a.toString();try{return await e._awaitImageLoad(b),b}finally{(a instanceof File||a instanceof Blob)&&URL.revokeObjectURL(b.src)}}else throw\"Unsupported image type.\";}static async _awaitImageLoad(a){a.complete&&0!==a.naturalWidth||await new Promise((b,c)=>{let d=f=>{a.removeEventListener(\"load\",d);a.removeEventListener(\"error\",d);f instanceof ErrorEvent?\nc(\"Image load error\"):b()};a.addEventListener(\"load\",d);a.addEventListener(\"error\",d)})}static async _postWorkerMessage(a,b,c,d){return e._postWorkerMessageSync(await a,b,c,d)}static _postWorkerMessageSync(a,b,c,d){if(!(a instanceof Worker))return-1;let f=e._workerMessageId++;a.postMessage({id:f,type:b,data:c},d);return f}}e.DEFAULT_CANVAS_SIZE=400;e.NO_QR_CODE_FOUND=\"No QR code found\";e._disableBarcodeDetector=!1;e._workerMessageId=0;export default e\n//# sourceMappingURL=qr-scanner.min.js.map\n","import {useRef, useState} from 'react'\nimport Webcam from 'react-webcam'\nimport {useInterval} from 'usehooks-ts'\nimport QrScanner from 'qr-scanner'\nimport {useTranslation} from 'react-i18next'\n\nimport {noop} from '@sdox/utils'\nimport {Headline, Loading} from '@sdox/ui'\n\ninterface QrCodeScannerProps {\n onScanResult?: (result: any) => void\n width?: number\n height?: number\n showAimAssist?: boolean\n}\n\nexport const QrCodeScanner = ({\n onScanResult = (result) => console && console.log('QR CODE SCAN RESULT', result),\n width = window ? window.innerWidth : 360,\n height = window ? window.innerHeight : 480,\n showAimAssist = true,\n}: QrCodeScannerProps) => {\n const webcamRef = useRef(null)\n const [webcamError, setWebcamError] = useState()\n const [loading, setLoading] = useState(true)\n const {t} = useTranslation()\n\n useInterval(() => {\n const image = webcamRef.current?.getScreenshot()\n if (!image) return\n QrScanner.scanImage(image, {returnDetailedScanResult: true})\n .then((scanResult) => {\n onScanResult(scanResult.data)\n })\n .catch(noop)\n }, 300)\n\n if (webcamError?.toString().includes('Permission denied')) {\n return {t('eufe:checkCameraPermissions')}\n }\n\n if (webcamError) {\n return (\n
\n \n {t('common:error.unknown')}\n
({webcamError.toString()})\n \n
\n )\n }\n\n const AimAssist = () => showAimAssist ? (\n
\n ) : null\n\n return (\n
\n {\n setWebcamError(error)\n setLoading(false)\n }}\n onUserMedia={() => {\n setLoading(false)\n }}\n videoConstraints={{\n width,\n height,\n aspectRatio: width / height,\n facingMode: 'environment',\n }}\n />\n {loading ? (\n \n ) : }\n
\n )\n}\n","import {useApolloClient} from '@apollo/client'\nimport {useState} from 'react'\nimport {useLockedBody} from 'usehooks-ts'\nimport {useTranslation} from 'react-i18next'\n\nimport {Center, Headline, Loading} from '@sdox/ui'\nimport {noop} from '@sdox/utils'\n\nimport {QrCodeScanner} from '../components/QrCodeScanner'\n\ninterface CameraProps {\n onScanned?: () => void\n}\n\nexport const Camera = ({onScanned = noop}: CameraProps) => {\n const client = useApolloClient()\n const [isLoading, setIsLoading] = useState(false)\n const [error, setError] = useState(null)\n // const [_, setSearchParams] = useSearchParams()\n const {t} = useTranslation()\n\n useLockedBody(true)\n\n const handleScanCode = async (url: string) => {\n // dirty fool exit\n if (!url.includes('/xc/redirect/')) return\n\n if (isLoading) return\n setIsLoading(true)\n let result\n try {\n result = await fetch(url)\n // needed for \"edge case\" if the WS is not available....\n await client.refetchQueries({include: 'active'})\n } catch (err) {\n setError(err as Error)\n } finally {\n setIsLoading(false)\n if (result) {\n // const urlResult = new URL(result.url)\n // FIXME need a better way to push those infos as popup\n // setSearchParams(urlResult.searchParams);\n }\n onScanned()\n }\n }\n\n const Scanner = () => {\n if (isLoading) return \n if (error) return (\n \n {t('common:error.unknown')}\n
({error.message})\n \n )\n\n return (\n \n )\n }\n\n return (\n
\n
\n {t('eufe:scanMoreQRCodes')}\n
\n
\n \n
\n
\n )\n}\n","import*as e from\"react\";var t=function(){var e={name:\"__LSM__\",middleWares:[],persist:\"action\"},t={};try{e.storageType=\"undefined\"!=typeof sessionStorage?window.sessionStorage:void 0}catch(e){}return{updateStore:function(n){try{t=e.storageType&&JSON.parse(e.storageType.getItem(e.name)||\"\")||n}catch(e){t=n}},saveStore:function(){e.storageType&&e.storageType.setItem(e.name,JSON.stringify(t))},get state(){return t},set state(e){t=e},get options(){return e},set options(t){e=t}}}(),n=e.createContext(void 0),o=function(o){var r=o.children,s=e.useState(t.state),a=s[0],i=s[1];return e.useEffect(function(){\"beforeUnload\"===t.options.persist&&(window.onbeforeunload=function(){return t.saveStore()},t.options.storageType&&t.options.storageType.removeItem(t.options.name))},[]),e.createElement(n.Provider,{value:{state:a,setState:i}},r)};function r(){return r=Object.assign||function(e){for(var t=1;t 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar React = require('react');\n\nfunction _interopNamespace(e) {\n if (e && e.__esModule) return e;\n var n = Object.create(null);\n if (e) {\n Object.keys(e).forEach(function (k) {\n if (k !== 'default') {\n var d = Object.getOwnPropertyDescriptor(e, k);\n Object.defineProperty(n, k, d.get ? d : {\n enumerable: true,\n get: function () { return e[k]; }\n });\n }\n });\n }\n n[\"default\"] = e;\n return Object.freeze(n);\n}\n\nvar React__namespace = /*#__PURE__*/_interopNamespace(React);\n\nconst DEFAULT_DURATION = 0.3;\r\nconst DEFAULT_EASE_TYPE = 'linear';\r\nconst DEFAULT_DIRECTION = 'normal';\r\nconst DEFAULT_FILLMODE = 'none';\r\nconst RUNNING = 'running';\r\nconst PAUSED = 'paused';\r\nconst ALL = 'all';\n\nvar calculateTotalDuration = ({ duration = DEFAULT_DURATION, delay = 0, overlay = 0, }) => duration + delay - overlay || 0;\n\nvar isUndefined = (val) => val === undefined;\n\nfunction getSequenceId(sequenceIndex, sequenceId, defaultValue) {\r\n if (isUndefined(sequenceId) && isUndefined(sequenceIndex)) {\r\n return defaultValue || 0;\r\n }\r\n if (sequenceIndex && sequenceIndex >= 0) {\r\n return sequenceIndex;\r\n }\r\n if (sequenceId) {\r\n return sequenceId;\r\n }\r\n return 0;\r\n}\n\nconst AnimateContext = React__namespace.createContext({\r\n animationStates: {},\r\n register: () => { },\r\n});\r\nfunction AnimateGroup({ play, sequences = [], children, }) {\r\n const [animationStates, setAnimationStates] = React__namespace.useState({});\r\n const animationsRef = React__namespace.useRef({});\r\n const register = React__namespace.useCallback((data) => {\r\n const { sequenceIndex, sequenceId } = data;\r\n if (!isUndefined(sequenceId) || !isUndefined(sequenceIndex)) {\r\n animationsRef.current[getSequenceId(sequenceIndex, sequenceId)] = data;\r\n }\r\n }, []);\r\n React__namespace.useEffect(() => {\r\n const sequencesToAnimate = Array.isArray(sequences) && sequences.length\r\n ? sequences\r\n : Object.values(animationsRef.current);\r\n const localAnimationState = {};\r\n (play ? sequencesToAnimate : [...sequencesToAnimate].reverse()).reduce((previous, { sequenceId, sequenceIndex, duration = DEFAULT_DURATION, delay, overlay, }, currentIndex) => {\r\n const id = getSequenceId(sequenceIndex, sequenceId, currentIndex);\r\n const currentTotalDuration = calculateTotalDuration({\r\n duration,\r\n delay,\r\n overlay,\r\n });\r\n const totalDuration = currentTotalDuration + previous;\r\n localAnimationState[id] = {\r\n play,\r\n pause: !play,\r\n delay: (delay || 0) + previous,\r\n controlled: true,\r\n };\r\n return totalDuration;\r\n }, 0);\r\n setAnimationStates(localAnimationState);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [play]);\r\n return (React__namespace.createElement(AnimateContext.Provider, { value: { animationStates, register } }, children));\r\n}\n\nvar secToMs = (ms) => (ms || 0) * 1000;\n\nfunction Animate(props) {\r\n const { play, children, render, start, end, complete = '', onComplete, delay = 0, duration = DEFAULT_DURATION, easeType = DEFAULT_EASE_TYPE, sequenceId, sequenceIndex, } = props;\r\n const onCompleteTimeRef = React__namespace.useRef();\r\n const [style, setStyle] = React__namespace.useState(start || {});\r\n const { register, animationStates = {} } = React__namespace.useContext(AnimateContext);\r\n const id = getSequenceId(sequenceIndex, sequenceId);\r\n React__namespace.useEffect(() => {\r\n if ((!isUndefined(sequenceIndex) && sequenceIndex >= 0) || sequenceId) {\r\n register(props);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n React__namespace.useEffect(() => {\r\n const animationState = animationStates[id] || {};\r\n setStyle({\r\n ...(play || animationState.play ? end : start),\r\n transition: `${ALL} ${duration}s ${easeType} ${animationState.delay || delay}s`,\r\n });\r\n if (play && (complete || onComplete)) {\r\n onCompleteTimeRef.current = setTimeout(() => {\r\n complete && setStyle(complete);\r\n onComplete && onComplete();\r\n }, secToMs((animationState.delay || delay) + duration));\r\n }\r\n return () => onCompleteTimeRef.current && clearTimeout(onCompleteTimeRef.current);\r\n }, [\r\n id,\r\n animationStates,\r\n play,\r\n duration,\r\n easeType,\r\n delay,\r\n onComplete,\r\n start,\r\n end,\r\n complete,\r\n ]);\r\n return render ? render({ style }) : React__namespace.createElement(\"div\", { style: style }, children);\r\n}\n\nvar camelCaseToDash = (camelCase) => camelCase ? camelCase.replace(/[A-Z]/g, c => `-${c.toLowerCase()}`) : '';\n\nconst generateKeyframes = (keyframes) => {\r\n const animationLength = keyframes.length;\r\n return keyframes.reduce((previous, keyframe, currentIndex) => {\r\n const keyframePercentage = parseFloat((100 / (animationLength - 1)).toFixed(2)) * currentIndex;\r\n if (typeof keyframe === 'string') {\r\n return `${previous} ${keyframePercentage}% {${keyframe}}`;\r\n }\r\n const keys = Object.keys(keyframe);\r\n if (keys.length && isNaN(+keys[0])) {\r\n const keyframeContent = keys.reduce((acc, key) => `${acc} ${camelCaseToDash(key)}: ${keyframe[key]};`, '');\r\n return `${previous} ${keyframePercentage}% {${keyframeContent}}`;\r\n }\r\n return `${previous} ${keys[0]}% {${keyframe[keys[0]]}}`;\r\n }, '');\r\n};\r\nfunction createStyle({ keyframes, animationName, }) {\r\n return `@keyframes ${animationName} {${generateKeyframes(keyframes)}}`;\r\n}\n\nfunction createTag({ keyframes, animationName, }) {\r\n var _a, _b, _c, _d;\r\n let styleTag = document.querySelector('style[data-id=rsi]');\r\n if (!styleTag) {\r\n styleTag = document.createElement('style');\r\n styleTag.setAttribute('data-id', 'rsi');\r\n document.head.appendChild(styleTag);\r\n }\r\n const index = (_c = (_b = (_a = styleTag.sheet) === null || _a === void 0 ? void 0 : _a.cssRules) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0;\r\n try {\r\n (_d = styleTag.sheet) === null || _d === void 0 ? void 0 : _d.insertRule(createStyle({\r\n keyframes,\r\n animationName,\r\n }), index);\r\n }\r\n catch (e) {\r\n console.error('react simple animate, error found during insert style ', e); // eslint-disable-line no-console\r\n }\r\n return {\r\n styleTag,\r\n index,\r\n };\r\n}\n\nvar deleteRules = (sheet, deleteName) => {\r\n if (!sheet) {\r\n return;\r\n }\r\n const index = Object.values(sheet.cssRules).findIndex(({ name }) => name === deleteName);\r\n if (index >= 0) {\r\n sheet.deleteRule(index);\r\n }\r\n};\n\nvar createRandomName = () => `RSI-${Math.random()\r\n .toString(36)\r\n .substr(2, 9)}`;\n\nvar getPlayState = (pause) => (pause ? PAUSED : RUNNING);\n\nfunction AnimateKeyframes(props) {\r\n const { children, play = false, pause = false, render, duration = DEFAULT_DURATION, delay = 0, easeType = DEFAULT_EASE_TYPE, direction = DEFAULT_DIRECTION, fillMode = DEFAULT_FILLMODE, iterationCount = 1, sequenceIndex, keyframes, sequenceId, } = props;\r\n let pauseValue;\r\n const animationNameRef = React__namespace.useRef({\r\n forward: '',\r\n reverse: '',\r\n });\r\n const controlled = React__namespace.useRef(false);\r\n const styleTagRef = React__namespace.useRef({\r\n forward: null,\r\n reverse: null,\r\n });\r\n const id = getSequenceId(sequenceIndex, sequenceId);\r\n const { register, animationStates = {} } = React__namespace.useContext(AnimateContext);\r\n const animateState = animationStates[id] || {};\r\n const [, forceUpdate] = React__namespace.useState(false);\r\n React__namespace.useEffect(() => {\r\n const styleTag = styleTagRef.current;\r\n const animationName = animationNameRef.current;\r\n animationNameRef.current.forward = createRandomName();\r\n let result = createTag({\r\n animationName: animationNameRef.current.forward,\r\n keyframes,\r\n });\r\n styleTagRef.current.forward = result.styleTag;\r\n animationNameRef.current.reverse = createRandomName();\r\n result = createTag({\r\n animationName: animationNameRef.current.reverse,\r\n keyframes: keyframes.reverse(),\r\n });\r\n styleTagRef.current.reverse = result.styleTag;\r\n register(props);\r\n if (play) {\r\n forceUpdate(true);\r\n }\r\n return () => {\r\n var _a, _b;\r\n deleteRules((_a = styleTag.forward) === null || _a === void 0 ? void 0 : _a.sheet, animationName.forward);\r\n deleteRules((_b = styleTag.reverse) === null || _b === void 0 ? void 0 : _b.sheet, animationName.reverse);\r\n };\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n if (animateState.controlled && !controlled.current) {\r\n pauseValue = animateState.pause;\r\n if (!animateState.pause) {\r\n controlled.current = true;\r\n }\r\n }\r\n else {\r\n pauseValue = pause;\r\n }\r\n const style = {\r\n animation: `${duration}s ${easeType} ${animateState.delay || delay}s ${iterationCount} ${direction} ${fillMode} ${getPlayState(pauseValue)} ${((animateState.controlled ? animateState.play : play)\r\n ? animationNameRef.current.forward\r\n : animationNameRef.current.reverse) || ''}`,\r\n };\r\n return render ? render({ style }) : React__namespace.createElement(\"div\", { style: style || {} }, children);\r\n}\n\nfunction useAnimate(props) {\r\n const { start, end, complete, onComplete, delay = 0, duration = DEFAULT_DURATION, easeType = DEFAULT_EASE_TYPE, } = props;\r\n const transition = React__namespace.useMemo(() => `${ALL} ${duration}s ${easeType} ${delay}s`, [duration, easeType, delay]);\r\n const [animate, setAnimate] = React__namespace.useState({\r\n isPlaying: false,\r\n style: { ...start, transition },\r\n });\r\n const { isPlaying, style } = animate;\r\n const onCompleteTimeRef = React__namespace.useRef();\r\n React__namespace.useEffect(() => {\r\n if ((onComplete || complete) && isPlaying) {\r\n onCompleteTimeRef.current = setTimeout(() => {\r\n if (onComplete) {\r\n onComplete();\r\n }\r\n if (complete) {\r\n setAnimate((animate) => ({\r\n ...animate,\r\n style: complete,\r\n }));\r\n }\r\n }, secToMs(delay + duration));\r\n }\r\n return () => onCompleteTimeRef.current && clearTimeout(onCompleteTimeRef.current);\r\n }, [animate, complete, delay, duration, isPlaying, onComplete]);\r\n return {\r\n isPlaying,\r\n style,\r\n play: React__namespace.useCallback((isPlaying) => {\r\n setAnimate((animate) => ({\r\n ...animate,\r\n style: {\r\n ...(isPlaying ? end : start),\r\n transition,\r\n },\r\n isPlaying,\r\n }));\r\n }, [end, start, transition]),\r\n };\r\n}\n\nfunction useAnimateKeyframes(props) {\r\n const { duration = DEFAULT_DURATION, delay = 0, easeType = DEFAULT_EASE_TYPE, direction = DEFAULT_DIRECTION, fillMode = DEFAULT_FILLMODE, iterationCount = 1, keyframes, } = props;\r\n const animationNameRef = React__namespace.useRef({\r\n forward: '',\r\n reverse: '',\r\n });\r\n const styleTagRef = React__namespace.useRef({\r\n forward: null,\r\n reverse: null,\r\n });\r\n const { register } = React__namespace.useContext(AnimateContext);\r\n const [isPlaying, setIsPlaying] = React__namespace.useState(null);\r\n const [isPaused, setIsPaused] = React__namespace.useState(false);\r\n React__namespace.useEffect(() => {\r\n const styleTag = styleTagRef.current;\r\n const animationName = animationNameRef.current;\r\n animationNameRef.current.forward = createRandomName();\r\n let result = createTag({\r\n animationName: animationNameRef.current.forward,\r\n keyframes,\r\n });\r\n styleTagRef.current.forward = result.styleTag;\r\n animationNameRef.current.reverse = createRandomName();\r\n result = createTag({\r\n animationName: animationNameRef.current.reverse,\r\n keyframes: keyframes.reverse(),\r\n });\r\n styleTagRef.current.reverse = result.styleTag;\r\n register(props);\r\n return () => {\r\n var _a, _b;\r\n deleteRules((_a = styleTag.forward) === null || _a === void 0 ? void 0 : _a.sheet, animationName.forward);\r\n deleteRules((_b = styleTag.reverse) === null || _b === void 0 ? void 0 : _b.sheet, animationName.reverse);\r\n };\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n const style = {\r\n animation: `${duration}s ${easeType} ${delay}s ${iterationCount} ${direction} ${fillMode} ${getPlayState(isPaused)} ${isPlaying === null\r\n ? ''\r\n : isPlaying\r\n ? animationNameRef.current.forward\r\n : animationNameRef.current.reverse}`,\r\n };\r\n return {\r\n style,\r\n play: setIsPlaying,\r\n pause: setIsPaused,\r\n isPlaying: !!isPlaying,\r\n };\r\n}\n\nfunction createArrayWithNumbers(length) {\r\n return Array.from({ length }, () => null);\r\n}\n\nfunction useAnimateGroup(props) {\r\n const { sequences = [] } = props;\r\n const defaultArray = createArrayWithNumbers(sequences.length).map((_, index) => props.sequences[index].start);\r\n const [styles, setStyles] = React__namespace.useState(defaultArray);\r\n const [isPlaying, setPlaying] = React__namespace.useState(false);\r\n const animationNamesRef = React__namespace.useRef([]);\r\n const styleTagRef = React__namespace.useRef([]);\r\n React__namespace.useEffect(() => {\r\n sequences.forEach(({ keyframes }, i) => {\r\n if (!Array.isArray(keyframes)) {\r\n return;\r\n }\r\n if (!animationNamesRef.current[i]) {\r\n animationNamesRef.current[i] = {};\r\n styleTagRef.current[i] = {};\r\n }\r\n animationNamesRef.current[i].forward = createRandomName();\r\n let result = createTag({\r\n animationName: animationNamesRef.current[i].forward,\r\n keyframes,\r\n });\r\n styleTagRef.current[i].forward = result.styleTag;\r\n animationNamesRef.current[i].reverse = createRandomName();\r\n result = createTag({\r\n animationName: animationNamesRef.current[i].reverse,\r\n keyframes: keyframes.reverse(),\r\n });\r\n styleTagRef.current[i].reverse = result.styleTag;\r\n });\r\n const styleTags = styleTagRef.current;\r\n const animationNames = animationNamesRef.current;\r\n return () => Object.values(animationNames).forEach(({ forward, reverse }, i) => {\r\n var _a, _b;\r\n deleteRules((_a = styleTags[i].forward) === null || _a === void 0 ? void 0 : _a.sheet, forward);\r\n deleteRules((_b = styleTags[i].reverse) === null || _b === void 0 ? void 0 : _b.sheet, reverse);\r\n });\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n const play = React__namespace.useCallback((isPlay) => {\r\n let totalDuration = 0;\r\n const animationRefWithOrder = isPlay\r\n ? animationNamesRef.current\r\n : [...animationNamesRef.current].reverse();\r\n const styles = (isPlay ? sequences : [...sequences].reverse()).map((current, currentIndex) => {\r\n const { duration = DEFAULT_DURATION, delay = 0, overlay, keyframes, iterationCount = 1, easeType = DEFAULT_EASE_TYPE, direction = DEFAULT_DIRECTION, fillMode = DEFAULT_FILLMODE, end = {}, start = {}, } = current;\r\n const delayDuration = currentIndex === 0 ? delay : totalDuration;\r\n const transition = `${ALL} ${duration}s ${easeType} ${delayDuration}s`;\r\n totalDuration =\r\n calculateTotalDuration({ duration, delay, overlay }) + totalDuration;\r\n return keyframes\r\n ? {\r\n animation: `${duration}s ${easeType} ${delayDuration}s ${iterationCount} ${direction} ${fillMode} ${RUNNING} ${isPlay\r\n ? animationRefWithOrder[currentIndex].forward\r\n : animationRefWithOrder[currentIndex].reverse}`,\r\n }\r\n : {\r\n ...(isPlay ? end : start),\r\n transition,\r\n };\r\n });\r\n setStyles(isPlay ? styles : [...styles].reverse());\r\n setPlaying(isPlay);\r\n }, []);\r\n return { styles, play, isPlaying };\r\n}\n\nexports.Animate = Animate;\nexports.AnimateGroup = AnimateGroup;\nexports.AnimateKeyframes = AnimateKeyframes;\nexports.useAnimate = useAnimate;\nexports.useAnimateGroup = useAnimateGroup;\nexports.useAnimateKeyframes = useAnimateKeyframes;\n","import memoize from '@emotion/memoize';\n\n// eslint-disable-next-line no-undef\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|fetchpriority|fetchPriority|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport { isPropValid as default };\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport * as React from 'react';\nimport isPropValid from '@emotion/is-prop-valid';\nimport { withEmotionCache, ThemeContext } from '@emotion/react';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\n/* import type {\n ElementType,\n StatelessFunctionalComponent,\n AbstractComponent\n} from 'react' */\n/*\nexport type Interpolations = Array\n\nexport type StyledElementType =\n | string\n | AbstractComponent<{ ...Props, className: string }, mixed>\n\nexport type StyledOptions = {\n label?: string,\n shouldForwardProp?: string => boolean,\n target?: string\n}\n\nexport type StyledComponent = StatelessFunctionalComponent & {\n defaultProps: any,\n toString: () => string,\n withComponent: (\n nextTag: StyledElementType,\n nextOptions?: StyledOptions\n ) => StyledComponent\n}\n\nexport type PrivateStyledComponent = StyledComponent & {\n __emotion_real: StyledComponent,\n __emotion_base: any,\n __emotion_styles: any,\n __emotion_forwardProp: any\n}\n*/\n\nvar testOmitPropsOnStringTag = isPropValid;\n\nvar testOmitPropsOnComponent = function testOmitPropsOnComponent(key\n/*: string */\n) {\n return key !== 'theme';\n};\n\nvar getDefaultShouldForwardProp = function getDefaultShouldForwardProp(tag\n/*: ElementType */\n) {\n return typeof tag === 'string' && // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96 ? testOmitPropsOnStringTag : testOmitPropsOnComponent;\n};\nvar composeShouldForwardProps = function composeShouldForwardProps(tag\n/*: PrivateStyledComponent */\n, options\n/*: StyledOptions | void */\n, isReal\n/*: boolean */\n) {\n var shouldForwardProp;\n\n if (options) {\n var optionsShouldForwardProp = options.shouldForwardProp;\n shouldForwardProp = tag.__emotion_forwardProp && optionsShouldForwardProp ? function (propName\n /*: string */\n ) {\n return tag.__emotion_forwardProp(propName) && optionsShouldForwardProp(propName);\n } : optionsShouldForwardProp;\n }\n\n if (typeof shouldForwardProp !== 'function' && isReal) {\n shouldForwardProp = tag.__emotion_forwardProp;\n }\n\n return shouldForwardProp;\n};\n/*\nexport type CreateStyledComponent = (\n ...args: Interpolations\n) => StyledComponent\n\nexport type CreateStyled = {\n (\n tag: StyledElementType,\n options?: StyledOptions\n ): (...args: Interpolations) => StyledComponent,\n [key: string]: CreateStyledComponent,\n bind: () => CreateStyled\n}\n*/\n\nvar isDevelopment = false;\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar createStyled\n/*: CreateStyled */\n= function createStyled\n/*: CreateStyled */\n(tag\n/*: any */\n, options\n/* ?: StyledOptions */\n) {\n\n var isReal = tag.__emotion_real === tag;\n var baseTag = isReal && tag.__emotion_base || tag;\n var identifierName;\n var targetClassName;\n\n if (options !== undefined) {\n identifierName = options.label;\n targetClassName = options.target;\n }\n\n var shouldForwardProp = composeShouldForwardProps(tag, options, isReal);\n var defaultShouldForwardProp = shouldForwardProp || getDefaultShouldForwardProp(baseTag);\n var shouldUseAs = !defaultShouldForwardProp('as');\n /* return function(): PrivateStyledComponent { */\n\n return function () {\n var args = arguments;\n var styles = isReal && tag.__emotion_styles !== undefined ? tag.__emotion_styles.slice(0) : [];\n\n if (identifierName !== undefined) {\n styles.push(\"label:\" + identifierName + \";\");\n }\n\n if (args[0] == null || args[0].raw === undefined) {\n styles.push.apply(styles, args);\n } else {\n\n styles.push(args[0][0]);\n var len = args.length;\n var i = 1;\n\n for (; i < len; i++) {\n\n styles.push(args[i], args[0][i]);\n }\n }\n\n var Styled\n /*: PrivateStyledComponent */\n = withEmotionCache(function (props, cache, ref) {\n var FinalTag = shouldUseAs && props.as || baseTag;\n var className = '';\n var classInterpolations = [];\n var mergedProps = props;\n\n if (props.theme == null) {\n mergedProps = {};\n\n for (var key in props) {\n mergedProps[key] = props[key];\n }\n\n mergedProps.theme = React.useContext(ThemeContext);\n }\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, classInterpolations, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(styles.concat(classInterpolations), cache.registered, mergedProps);\n className += cache.key + \"-\" + serialized.name;\n\n if (targetClassName !== undefined) {\n className += \" \" + targetClassName;\n }\n\n var finalShouldForwardProp = shouldUseAs && shouldForwardProp === undefined ? getDefaultShouldForwardProp(FinalTag) : defaultShouldForwardProp;\n var newProps = {};\n\n for (var _key in props) {\n if (shouldUseAs && _key === 'as') continue;\n\n if (finalShouldForwardProp(_key)) {\n newProps[_key] = props[_key];\n }\n }\n\n newProps.className = className;\n\n if (ref) {\n newProps.ref = ref;\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof FinalTag === 'string'\n }), /*#__PURE__*/React.createElement(FinalTag, newProps));\n });\n Styled.displayName = identifierName !== undefined ? identifierName : \"Styled(\" + (typeof baseTag === 'string' ? baseTag : baseTag.displayName || baseTag.name || 'Component') + \")\";\n Styled.defaultProps = tag.defaultProps;\n Styled.__emotion_real = Styled;\n Styled.__emotion_base = baseTag;\n Styled.__emotion_styles = styles;\n Styled.__emotion_forwardProp = shouldForwardProp;\n Object.defineProperty(Styled, 'toString', {\n value: function value() {\n if (targetClassName === undefined && isDevelopment) {\n return 'NO_COMPONENT_SELECTOR';\n }\n\n return \".\" + targetClassName;\n }\n });\n\n Styled.withComponent = function (nextTag\n /*: StyledElementType */\n , nextOptions\n /* ?: StyledOptions */\n ) {\n return createStyled(nextTag, _extends({}, options, nextOptions, {\n shouldForwardProp: composeShouldForwardProps(Styled, nextOptions, true)\n })).apply(void 0, styles);\n };\n\n return Styled;\n };\n};\n\nexport { createStyled as default };\n","import createStyled from '../base/dist/emotion-styled-base.browser.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport 'react';\nimport '@emotion/is-prop-valid';\nimport '@emotion/react';\nimport '@emotion/utils';\nimport '@emotion/serialize';\nimport '@emotion/use-insertion-effect-with-fallbacks';\n\nvar tags = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG\n'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n\nvar newStyled = createStyled.bind();\ntags.forEach(function (tagName) {\n newStyled[tagName] = newStyled(tagName);\n});\n\nexport { newStyled as default };\n","/**\n * Checks if `value` is `undefined`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\nfunction isUndefined(value) {\n return value === undefined;\n}\n\nmodule.exports = isUndefined;\n","var has = Object.prototype.hasOwnProperty;\n\nfunction find(iter, tar, key) {\n\tfor (key of iter.keys()) {\n\t\tif (dequal(key, tar)) return key;\n\t}\n}\n\nexport function dequal(foo, bar) {\n\tvar ctor, len, tmp;\n\tif (foo === bar) return true;\n\n\tif (foo && bar && (ctor=foo.constructor) === bar.constructor) {\n\t\tif (ctor === Date) return foo.getTime() === bar.getTime();\n\t\tif (ctor === RegExp) return foo.toString() === bar.toString();\n\n\t\tif (ctor === Array) {\n\t\t\tif ((len=foo.length) === bar.length) {\n\t\t\t\twhile (len-- && dequal(foo[len], bar[len]));\n\t\t\t}\n\t\t\treturn len === -1;\n\t\t}\n\n\t\tif (ctor === Set) {\n\t\t\tif (foo.size !== bar.size) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tfor (len of foo) {\n\t\t\t\ttmp = len;\n\t\t\t\tif (tmp && typeof tmp === 'object') {\n\t\t\t\t\ttmp = find(bar, tmp);\n\t\t\t\t\tif (!tmp) return false;\n\t\t\t\t}\n\t\t\t\tif (!bar.has(tmp)) return false;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\n\t\tif (ctor === Map) {\n\t\t\tif (foo.size !== bar.size) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tfor (len of foo) {\n\t\t\t\ttmp = len[0];\n\t\t\t\tif (tmp && typeof tmp === 'object') {\n\t\t\t\t\ttmp = find(bar, tmp);\n\t\t\t\t\tif (!tmp) return false;\n\t\t\t\t}\n\t\t\t\tif (!dequal(len[1], bar.get(tmp))) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\n\t\tif (ctor === ArrayBuffer) {\n\t\t\tfoo = new Uint8Array(foo);\n\t\t\tbar = new Uint8Array(bar);\n\t\t} else if (ctor === DataView) {\n\t\t\tif ((len=foo.byteLength) === bar.byteLength) {\n\t\t\t\twhile (len-- && foo.getInt8(len) === bar.getInt8(len));\n\t\t\t}\n\t\t\treturn len === -1;\n\t\t}\n\n\t\tif (ArrayBuffer.isView(foo)) {\n\t\t\tif ((len=foo.byteLength) === bar.byteLength) {\n\t\t\t\twhile (len-- && foo[len] === bar[len]);\n\t\t\t}\n\t\t\treturn len === -1;\n\t\t}\n\n\t\tif (!ctor || typeof foo === 'object') {\n\t\t\tlen = 0;\n\t\t\tfor (ctor in foo) {\n\t\t\t\tif (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;\n\t\t\t\tif (!(ctor in bar) || !dequal(foo[ctor], bar[ctor])) return false;\n\t\t\t}\n\t\t\treturn Object.keys(bar).length === len;\n\t\t}\n\t}\n\n\treturn foo !== foo && bar !== bar;\n}\n","import * as React from 'react';\nimport { dequal } from 'dequal';\n\nfunction checkDeps(deps) {\n if (!deps || !deps.length) {\n throw new Error('useDeepCompareEffect should not be used with no dependencies. Use React.useEffect instead.');\n }\n\n if (deps.every(isPrimitive)) {\n throw new Error('useDeepCompareEffect should not be used with dependencies that are all primitive values. Use React.useEffect instead.');\n }\n}\n\nfunction isPrimitive(val) {\n return val == null || /^[sbn]/.test(typeof val);\n}\n/**\n * @param value the value to be memoized (usually a dependency list)\n * @returns a momoized version of the value as long as it remains deeply equal\n */\n\n\nfunction useDeepCompareMemoize(value) {\n var ref = React.useRef(value);\n var signalRef = React.useRef(0);\n\n if (!dequal(value, ref.current)) {\n ref.current = value;\n signalRef.current += 1;\n } // eslint-disable-next-line react-hooks/exhaustive-deps\n\n\n return React.useMemo(function () {\n return ref.current;\n }, [signalRef.current]);\n}\n\nfunction useDeepCompareEffect(callback, dependencies) {\n if (process.env.NODE_ENV !== 'production') {\n checkDeps(dependencies);\n } // eslint-disable-next-line react-hooks/exhaustive-deps\n\n\n return React.useEffect(callback, useDeepCompareMemoize(dependencies));\n}\n\nfunction useDeepCompareEffectNoCheck(callback, dependencies) {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return React.useEffect(callback, useDeepCompareMemoize(dependencies));\n}\n\nexport { useDeepCompareEffect as default, useDeepCompareEffectNoCheck, useDeepCompareMemoize };\n","import { useStateMachine, createStore, StateMachineProvider } from 'little-state-machine';\nimport * as React from 'react';\nimport React__default, { useEffect, useState } from 'react';\nimport { v4 } from 'uuid';\nimport { Animate } from 'react-simple-animate';\nimport styled from '@emotion/styled';\nimport isUndefined$1 from 'lodash/isUndefined';\nimport isObject$1 from 'lodash/isObject';\nimport get$1 from 'lodash/get';\nimport useDeepCompareEffect from 'use-deep-compare-effect';\n\nvar isCheckBoxInput = (element) => element.type === 'checkbox';\n\nvar isDateObject = (value) => value instanceof Date;\n\nvar isNullOrUndefined = (value) => value == null;\n\nconst isObjectType = (value) => typeof value === 'object';\r\nvar isObject = (value) => !isNullOrUndefined(value) &&\r\n !Array.isArray(value) &&\r\n isObjectType(value) &&\r\n !isDateObject(value);\n\nvar getEventValue = (event) => isObject(event) && event.target\r\n ? isCheckBoxInput(event.target)\r\n ? event.target.checked\r\n : event.target.value\r\n : event;\n\nvar getNodeParentName = (name) => name.substring(0, name.search(/\\.\\d+(\\.|$)/)) || name;\n\nvar isNameInFieldArray = (names, name) => names.has(getNodeParentName(name));\n\nvar isPlainObject = (tempObject) => {\r\n const prototypeCopy = tempObject.constructor && tempObject.constructor.prototype;\r\n return (isObject(prototypeCopy) && prototypeCopy.hasOwnProperty('isPrototypeOf'));\r\n};\n\nvar isWeb = typeof window !== 'undefined' &&\r\n typeof window.HTMLElement !== 'undefined' &&\r\n typeof document !== 'undefined';\n\nfunction cloneObject(data) {\r\n let copy;\r\n const isArray = Array.isArray(data);\r\n if (data instanceof Date) {\r\n copy = new Date(data);\r\n }\r\n else if (data instanceof Set) {\r\n copy = new Set(data);\r\n }\r\n else if (!(isWeb && (data instanceof Blob || data instanceof FileList)) &&\r\n (isArray || isObject(data))) {\r\n copy = isArray ? [] : {};\r\n if (!Array.isArray(data) && !isPlainObject(data)) {\r\n copy = data;\r\n }\r\n else {\r\n for (const key in data) {\r\n copy[key] = cloneObject(data[key]);\r\n }\r\n }\r\n }\r\n else {\r\n return data;\r\n }\r\n return copy;\r\n}\n\nvar compact = (value) => Array.isArray(value) ? value.filter(Boolean) : [];\n\nvar isUndefined = (val) => val === undefined;\n\nvar get = (obj, path, defaultValue) => {\r\n if (!path || !isObject(obj)) {\r\n return defaultValue;\r\n }\r\n const result = compact(path.split(/[,[\\].]+?/)).reduce((result, key) => isNullOrUndefined(result) ? result : result[key], obj);\r\n return isUndefined(result) || result === obj\r\n ? isUndefined(obj[path])\r\n ? defaultValue\r\n : obj[path]\r\n : result;\r\n};\n\nconst EVENTS = {\r\n BLUR: 'blur',\r\n FOCUS_OUT: 'focusout',\r\n CHANGE: 'change',\r\n};\r\nconst VALIDATION_MODE = {\r\n onBlur: 'onBlur',\r\n onChange: 'onChange',\r\n onSubmit: 'onSubmit',\r\n onTouched: 'onTouched',\r\n all: 'all',\r\n};\r\nconst INPUT_VALIDATION_RULES = {\r\n max: 'max',\r\n min: 'min',\r\n maxLength: 'maxLength',\r\n minLength: 'minLength',\r\n pattern: 'pattern',\r\n required: 'required',\r\n validate: 'validate',\r\n};\n\nconst HookFormContext = React__default.createContext(null);\r\n/**\r\n * This custom hook allows you to access the form context. useFormContext is intended to be used in deeply nested structures, where it would become inconvenient to pass the context as a prop. To be used with {@link FormProvider}.\r\n *\r\n * @remarks\r\n * [API](https://react-hook-form.com/api/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\r\n *\r\n * @returns return all useForm methods\r\n *\r\n * @example\r\n * ```tsx\r\n * function App() {\r\n * const methods = useForm();\r\n * const onSubmit = data => console.log(data);\r\n *\r\n * return (\r\n * \r\n *
\r\n * \r\n * \r\n * \r\n *
\r\n * );\r\n * }\r\n *\r\n * function NestedInput() {\r\n * const { register } = useFormContext(); // retrieve all hook methods\r\n * return ;\r\n * }\r\n * ```\r\n */\r\nconst useFormContext = () => React__default.useContext(HookFormContext);\r\n\nvar getProxyFormState = (formState, control, localProxyFormState, isRoot = true) => {\r\n const result = {\r\n defaultValues: control._defaultValues,\r\n };\r\n for (const key in formState) {\r\n Object.defineProperty(result, key, {\r\n get: () => {\r\n const _key = key;\r\n if (control._proxyFormState[_key] !== VALIDATION_MODE.all) {\r\n control._proxyFormState[_key] = !isRoot || VALIDATION_MODE.all;\r\n }\r\n localProxyFormState && (localProxyFormState[_key] = true);\r\n return formState[_key];\r\n },\r\n });\r\n }\r\n return result;\r\n};\n\nvar isEmptyObject = (value) => isObject(value) && !Object.keys(value).length;\n\nvar shouldRenderFormState = (formStateData, _proxyFormState, updateFormState, isRoot) => {\r\n updateFormState(formStateData);\r\n const { name, ...formState } = formStateData;\r\n return (isEmptyObject(formState) ||\r\n Object.keys(formState).length >= Object.keys(_proxyFormState).length ||\r\n Object.keys(formState).find((key) => _proxyFormState[key] ===\r\n (!isRoot || VALIDATION_MODE.all)));\r\n};\n\nvar convertToArrayPayload = (value) => (Array.isArray(value) ? value : [value]);\n\nvar shouldSubscribeByName = (name, signalName, exact) => exact && signalName\r\n ? name === signalName\r\n : !name ||\r\n !signalName ||\r\n name === signalName ||\r\n convertToArrayPayload(name).some((currentName) => currentName &&\r\n (currentName.startsWith(signalName) ||\r\n signalName.startsWith(currentName)));\n\nfunction useSubscribe(props) {\r\n const _props = React__default.useRef(props);\r\n _props.current = props;\r\n React__default.useEffect(() => {\r\n const subscription = !props.disabled &&\r\n _props.current.subject &&\r\n _props.current.subject.subscribe({\r\n next: _props.current.next,\r\n });\r\n return () => {\r\n subscription && subscription.unsubscribe();\r\n };\r\n }, [props.disabled]);\r\n}\n\n/**\r\n * This custom hook allows you to subscribe to each form state, and isolate the re-render at the custom hook level. It has its scope in terms of form state subscription, so it would not affect other useFormState and useForm. Using this hook can reduce the re-render impact on large and complex form application.\r\n *\r\n * @remarks\r\n * [API](https://react-hook-form.com/api/useformstate) • [Demo](https://codesandbox.io/s/useformstate-75xly)\r\n *\r\n * @param props - include options on specify fields to subscribe. {@link UseFormStateReturn}\r\n *\r\n * @example\r\n * ```tsx\r\n * function App() {\r\n * const { register, handleSubmit, control } = useForm({\r\n * defaultValues: {\r\n * firstName: \"firstName\"\r\n * }});\r\n * const { dirtyFields } = useFormState({\r\n * control\r\n * });\r\n * const onSubmit = (data) => console.log(data);\r\n *\r\n * return (\r\n *
\r\n * \r\n * {dirtyFields.firstName &&

Field is dirty.

}\r\n * \r\n *
\r\n * );\r\n * }\r\n * ```\r\n */\r\nfunction useFormState(props) {\r\n const methods = useFormContext();\r\n const { control = methods.control, disabled, name, exact } = props || {};\r\n const [formState, updateFormState] = React__default.useState(control._formState);\r\n const _mounted = React__default.useRef(true);\r\n const _localProxyFormState = React__default.useRef({\r\n isDirty: false,\r\n isLoading: false,\r\n dirtyFields: false,\r\n touchedFields: false,\r\n isValidating: false,\r\n isValid: false,\r\n errors: false,\r\n });\r\n const _name = React__default.useRef(name);\r\n _name.current = name;\r\n useSubscribe({\r\n disabled,\r\n next: (value) => _mounted.current &&\r\n shouldSubscribeByName(_name.current, value.name, exact) &&\r\n shouldRenderFormState(value, _localProxyFormState.current, control._updateFormState) &&\r\n updateFormState({\r\n ...control._formState,\r\n ...value,\r\n }),\r\n subject: control._subjects.state,\r\n });\r\n React__default.useEffect(() => {\r\n _mounted.current = true;\r\n const isDirty = control._proxyFormState.isDirty && control._getDirty();\r\n if (isDirty !== control._formState.isDirty) {\r\n control._subjects.state.next({\r\n isDirty,\r\n });\r\n }\r\n _localProxyFormState.current.isValid && control._updateValid(true);\r\n return () => {\r\n _mounted.current = false;\r\n };\r\n }, [control]);\r\n return getProxyFormState(formState, control, _localProxyFormState.current, false);\r\n}\n\nvar isString = (value) => typeof value === 'string';\n\nvar generateWatchOutput = (names, _names, formValues, isGlobal, defaultValue) => {\r\n if (isString(names)) {\r\n isGlobal && _names.watch.add(names);\r\n return get(formValues, names, defaultValue);\r\n }\r\n if (Array.isArray(names)) {\r\n return names.map((fieldName) => (isGlobal && _names.watch.add(fieldName), get(formValues, fieldName)));\r\n }\r\n isGlobal && (_names.watchAll = true);\r\n return formValues;\r\n};\n\n/**\r\n * Custom hook to subscribe to field change and isolate re-rendering at the component level.\r\n *\r\n * @remarks\r\n *\r\n * [API](https://react-hook-form.com/api/usewatch) • [Demo](https://codesandbox.io/s/react-hook-form-v7-ts-usewatch-h9i5e)\r\n *\r\n * @example\r\n * ```tsx\r\n * const { watch } = useForm();\r\n * const values = useWatch({\r\n * name: \"fieldName\"\r\n * control,\r\n * })\r\n * ```\r\n */\r\nfunction useWatch(props) {\r\n const methods = useFormContext();\r\n const { control = methods.control, name, defaultValue, disabled, exact, } = props || {};\r\n const _name = React__default.useRef(name);\r\n _name.current = name;\r\n useSubscribe({\r\n disabled,\r\n subject: control._subjects.values,\r\n next: (formState) => {\r\n if (shouldSubscribeByName(_name.current, formState.name, exact)) {\r\n updateValue(cloneObject(generateWatchOutput(_name.current, control._names, formState.values || control._formValues, false, defaultValue)));\r\n }\r\n },\r\n });\r\n const [value, updateValue] = React__default.useState(control._getWatch(name, defaultValue));\r\n React__default.useEffect(() => control._removeUnmounted());\r\n return value;\r\n}\n\nvar isKey = (value) => /^\\w*$/.test(value);\n\nvar stringToPath = (input) => compact(input.replace(/[\"|']|\\]/g, '').split(/\\.|\\[/));\n\nfunction set(object, path, value) {\r\n let index = -1;\r\n const tempPath = isKey(path) ? [path] : stringToPath(path);\r\n const length = tempPath.length;\r\n const lastIndex = length - 1;\r\n while (++index < length) {\r\n const key = tempPath[index];\r\n let newValue = value;\r\n if (index !== lastIndex) {\r\n const objValue = object[key];\r\n newValue =\r\n isObject(objValue) || Array.isArray(objValue)\r\n ? objValue\r\n : !isNaN(+tempPath[index + 1])\r\n ? []\r\n : {};\r\n }\r\n object[key] = newValue;\r\n object = object[key];\r\n }\r\n return object;\r\n}\n\nvar appendErrors = (name, validateAllFieldCriteria, errors, type, message) => validateAllFieldCriteria\r\n ? {\r\n ...errors[name],\r\n types: {\r\n ...(errors[name] && errors[name].types ? errors[name].types : {}),\r\n [type]: message || true,\r\n },\r\n }\r\n : {};\n\nconst focusFieldBy = (fields, callback, fieldsNames) => {\r\n for (const key of fieldsNames || Object.keys(fields)) {\r\n const field = get(fields, key);\r\n if (field) {\r\n const { _f, ...currentField } = field;\r\n if (_f && callback(_f.name)) {\r\n if (_f.ref.focus) {\r\n _f.ref.focus();\r\n break;\r\n }\r\n else if (_f.refs && _f.refs[0].focus) {\r\n _f.refs[0].focus();\r\n break;\r\n }\r\n }\r\n else if (isObject(currentField)) {\r\n focusFieldBy(currentField, callback);\r\n }\r\n }\r\n }\r\n};\n\nvar getValidationModes = (mode) => ({\r\n isOnSubmit: !mode || mode === VALIDATION_MODE.onSubmit,\r\n isOnBlur: mode === VALIDATION_MODE.onBlur,\r\n isOnChange: mode === VALIDATION_MODE.onChange,\r\n isOnAll: mode === VALIDATION_MODE.all,\r\n isOnTouch: mode === VALIDATION_MODE.onTouched,\r\n});\n\nvar isWatched = (name, _names, isBlurEvent) => !isBlurEvent &&\r\n (_names.watchAll ||\r\n _names.watch.has(name) ||\r\n [..._names.watch].some((watchName) => name.startsWith(watchName) &&\r\n /^\\.\\w+/.test(name.slice(watchName.length))));\n\nvar updateFieldArrayRootError = (errors, error, name) => {\r\n const fieldArrayErrors = compact(get(errors, name));\r\n set(fieldArrayErrors, 'root', error[name]);\r\n set(errors, name, fieldArrayErrors);\r\n return errors;\r\n};\n\nvar isBoolean = (value) => typeof value === 'boolean';\n\nvar isFileInput = (element) => element.type === 'file';\n\nvar isFunction = (value) => typeof value === 'function';\n\nvar isHTMLElement = (value) => {\r\n if (!isWeb) {\r\n return false;\r\n }\r\n const owner = value ? value.ownerDocument : 0;\r\n return (value instanceof\r\n (owner && owner.defaultView ? owner.defaultView.HTMLElement : HTMLElement));\r\n};\n\nvar isMessage = (value) => isString(value);\n\nvar isRadioInput = (element) => element.type === 'radio';\n\nvar isRegex = (value) => value instanceof RegExp;\n\nconst defaultResult = {\r\n value: false,\r\n isValid: false,\r\n};\r\nconst validResult = { value: true, isValid: true };\r\nvar getCheckboxValue = (options) => {\r\n if (Array.isArray(options)) {\r\n if (options.length > 1) {\r\n const values = options\r\n .filter((option) => option && option.checked && !option.disabled)\r\n .map((option) => option.value);\r\n return { value: values, isValid: !!values.length };\r\n }\r\n return options[0].checked && !options[0].disabled\r\n ? // @ts-expect-error expected to work in the browser\r\n options[0].attributes && !isUndefined(options[0].attributes.value)\r\n ? isUndefined(options[0].value) || options[0].value === ''\r\n ? validResult\r\n : { value: options[0].value, isValid: true }\r\n : validResult\r\n : defaultResult;\r\n }\r\n return defaultResult;\r\n};\n\nconst defaultReturn = {\r\n isValid: false,\r\n value: null,\r\n};\r\nvar getRadioValue = (options) => Array.isArray(options)\r\n ? options.reduce((previous, option) => option && option.checked && !option.disabled\r\n ? {\r\n isValid: true,\r\n value: option.value,\r\n }\r\n : previous, defaultReturn)\r\n : defaultReturn;\n\nfunction getValidateError(result, ref, type = 'validate') {\r\n if (isMessage(result) ||\r\n (Array.isArray(result) && result.every(isMessage)) ||\r\n (isBoolean(result) && !result)) {\r\n return {\r\n type,\r\n message: isMessage(result) ? result : '',\r\n ref,\r\n };\r\n }\r\n}\n\nvar getValueAndMessage = (validationData) => isObject(validationData) && !isRegex(validationData)\r\n ? validationData\r\n : {\r\n value: validationData,\r\n message: '',\r\n };\n\nvar validateField = async (field, formValues, validateAllFieldCriteria, shouldUseNativeValidation, isFieldArray) => {\r\n const { ref, refs, required, maxLength, minLength, min, max, pattern, validate, name, valueAsNumber, mount, disabled, } = field._f;\r\n const inputValue = get(formValues, name);\r\n if (!mount || disabled) {\r\n return {};\r\n }\r\n const inputRef = refs ? refs[0] : ref;\r\n const setCustomValidity = (message) => {\r\n if (shouldUseNativeValidation && inputRef.reportValidity) {\r\n inputRef.setCustomValidity(isBoolean(message) ? '' : message || '');\r\n inputRef.reportValidity();\r\n }\r\n };\r\n const error = {};\r\n const isRadio = isRadioInput(ref);\r\n const isCheckBox = isCheckBoxInput(ref);\r\n const isRadioOrCheckbox = isRadio || isCheckBox;\r\n const isEmpty = ((valueAsNumber || isFileInput(ref)) &&\r\n isUndefined(ref.value) &&\r\n isUndefined(inputValue)) ||\r\n (isHTMLElement(ref) && ref.value === '') ||\r\n inputValue === '' ||\r\n (Array.isArray(inputValue) && !inputValue.length);\r\n const appendErrorsCurry = appendErrors.bind(null, name, validateAllFieldCriteria, error);\r\n const getMinMaxMessage = (exceedMax, maxLengthMessage, minLengthMessage, maxType = INPUT_VALIDATION_RULES.maxLength, minType = INPUT_VALIDATION_RULES.minLength) => {\r\n const message = exceedMax ? maxLengthMessage : minLengthMessage;\r\n error[name] = {\r\n type: exceedMax ? maxType : minType,\r\n message,\r\n ref,\r\n ...appendErrorsCurry(exceedMax ? maxType : minType, message),\r\n };\r\n };\r\n if (isFieldArray\r\n ? !Array.isArray(inputValue) || !inputValue.length\r\n : required &&\r\n ((!isRadioOrCheckbox && (isEmpty || isNullOrUndefined(inputValue))) ||\r\n (isBoolean(inputValue) && !inputValue) ||\r\n (isCheckBox && !getCheckboxValue(refs).isValid) ||\r\n (isRadio && !getRadioValue(refs).isValid))) {\r\n const { value, message } = isMessage(required)\r\n ? { value: !!required, message: required }\r\n : getValueAndMessage(required);\r\n if (value) {\r\n error[name] = {\r\n type: INPUT_VALIDATION_RULES.required,\r\n message,\r\n ref: inputRef,\r\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.required, message),\r\n };\r\n if (!validateAllFieldCriteria) {\r\n setCustomValidity(message);\r\n return error;\r\n }\r\n }\r\n }\r\n if (!isEmpty && (!isNullOrUndefined(min) || !isNullOrUndefined(max))) {\r\n let exceedMax;\r\n let exceedMin;\r\n const maxOutput = getValueAndMessage(max);\r\n const minOutput = getValueAndMessage(min);\r\n if (!isNullOrUndefined(inputValue) && !isNaN(inputValue)) {\r\n const valueNumber = ref.valueAsNumber ||\r\n (inputValue ? +inputValue : inputValue);\r\n if (!isNullOrUndefined(maxOutput.value)) {\r\n exceedMax = valueNumber > maxOutput.value;\r\n }\r\n if (!isNullOrUndefined(minOutput.value)) {\r\n exceedMin = valueNumber < minOutput.value;\r\n }\r\n }\r\n else {\r\n const valueDate = ref.valueAsDate || new Date(inputValue);\r\n const convertTimeToDate = (time) => new Date(new Date().toDateString() + ' ' + time);\r\n const isTime = ref.type == 'time';\r\n const isWeek = ref.type == 'week';\r\n if (isString(maxOutput.value) && inputValue) {\r\n exceedMax = isTime\r\n ? convertTimeToDate(inputValue) > convertTimeToDate(maxOutput.value)\r\n : isWeek\r\n ? inputValue > maxOutput.value\r\n : valueDate > new Date(maxOutput.value);\r\n }\r\n if (isString(minOutput.value) && inputValue) {\r\n exceedMin = isTime\r\n ? convertTimeToDate(inputValue) < convertTimeToDate(minOutput.value)\r\n : isWeek\r\n ? inputValue < minOutput.value\r\n : valueDate < new Date(minOutput.value);\r\n }\r\n }\r\n if (exceedMax || exceedMin) {\r\n getMinMaxMessage(!!exceedMax, maxOutput.message, minOutput.message, INPUT_VALIDATION_RULES.max, INPUT_VALIDATION_RULES.min);\r\n if (!validateAllFieldCriteria) {\r\n setCustomValidity(error[name].message);\r\n return error;\r\n }\r\n }\r\n }\r\n if ((maxLength || minLength) &&\r\n !isEmpty &&\r\n (isString(inputValue) || (isFieldArray && Array.isArray(inputValue)))) {\r\n const maxLengthOutput = getValueAndMessage(maxLength);\r\n const minLengthOutput = getValueAndMessage(minLength);\r\n const exceedMax = !isNullOrUndefined(maxLengthOutput.value) &&\r\n inputValue.length > maxLengthOutput.value;\r\n const exceedMin = !isNullOrUndefined(minLengthOutput.value) &&\r\n inputValue.length < minLengthOutput.value;\r\n if (exceedMax || exceedMin) {\r\n getMinMaxMessage(exceedMax, maxLengthOutput.message, minLengthOutput.message);\r\n if (!validateAllFieldCriteria) {\r\n setCustomValidity(error[name].message);\r\n return error;\r\n }\r\n }\r\n }\r\n if (pattern && !isEmpty && isString(inputValue)) {\r\n const { value: patternValue, message } = getValueAndMessage(pattern);\r\n if (isRegex(patternValue) && !inputValue.match(patternValue)) {\r\n error[name] = {\r\n type: INPUT_VALIDATION_RULES.pattern,\r\n message,\r\n ref,\r\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.pattern, message),\r\n };\r\n if (!validateAllFieldCriteria) {\r\n setCustomValidity(message);\r\n return error;\r\n }\r\n }\r\n }\r\n if (validate) {\r\n if (isFunction(validate)) {\r\n const result = await validate(inputValue, formValues);\r\n const validateError = getValidateError(result, inputRef);\r\n if (validateError) {\r\n error[name] = {\r\n ...validateError,\r\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.validate, validateError.message),\r\n };\r\n if (!validateAllFieldCriteria) {\r\n setCustomValidity(validateError.message);\r\n return error;\r\n }\r\n }\r\n }\r\n else if (isObject(validate)) {\r\n let validationResult = {};\r\n for (const key in validate) {\r\n if (!isEmptyObject(validationResult) && !validateAllFieldCriteria) {\r\n break;\r\n }\r\n const validateError = getValidateError(await validate[key](inputValue, formValues), inputRef, key);\r\n if (validateError) {\r\n validationResult = {\r\n ...validateError,\r\n ...appendErrorsCurry(key, validateError.message),\r\n };\r\n setCustomValidity(validateError.message);\r\n if (validateAllFieldCriteria) {\r\n error[name] = validationResult;\r\n }\r\n }\r\n }\r\n if (!isEmptyObject(validationResult)) {\r\n error[name] = {\r\n ref: inputRef,\r\n ...validationResult,\r\n };\r\n if (!validateAllFieldCriteria) {\r\n return error;\r\n }\r\n }\r\n }\r\n }\r\n setCustomValidity(true);\r\n return error;\r\n};\n\nfunction baseGet(object, updatePath) {\r\n const length = updatePath.slice(0, -1).length;\r\n let index = 0;\r\n while (index < length) {\r\n object = isUndefined(object) ? index++ : object[updatePath[index++]];\r\n }\r\n return object;\r\n}\r\nfunction isEmptyArray(obj) {\r\n for (const key in obj) {\r\n if (!isUndefined(obj[key])) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nfunction unset(object, path) {\r\n const paths = Array.isArray(path)\r\n ? path\r\n : isKey(path)\r\n ? [path]\r\n : stringToPath(path);\r\n const childObject = paths.length === 1 ? object : baseGet(object, paths);\r\n const index = paths.length - 1;\r\n const key = paths[index];\r\n if (childObject) {\r\n delete childObject[key];\r\n }\r\n if (index !== 0 &&\r\n ((isObject(childObject) && isEmptyObject(childObject)) ||\r\n (Array.isArray(childObject) && isEmptyArray(childObject)))) {\r\n unset(object, paths.slice(0, -1));\r\n }\r\n return object;\r\n}\n\nfunction createSubject() {\r\n let _observers = [];\r\n const next = (value) => {\r\n for (const observer of _observers) {\r\n observer.next && observer.next(value);\r\n }\r\n };\r\n const subscribe = (observer) => {\r\n _observers.push(observer);\r\n return {\r\n unsubscribe: () => {\r\n _observers = _observers.filter((o) => o !== observer);\r\n },\r\n };\r\n };\r\n const unsubscribe = () => {\r\n _observers = [];\r\n };\r\n return {\r\n get observers() {\r\n return _observers;\r\n },\r\n next,\r\n subscribe,\r\n unsubscribe,\r\n };\r\n}\n\nvar isPrimitive = (value) => isNullOrUndefined(value) || !isObjectType(value);\n\nfunction deepEqual(object1, object2) {\r\n if (isPrimitive(object1) || isPrimitive(object2)) {\r\n return object1 === object2;\r\n }\r\n if (isDateObject(object1) && isDateObject(object2)) {\r\n return object1.getTime() === object2.getTime();\r\n }\r\n const keys1 = Object.keys(object1);\r\n const keys2 = Object.keys(object2);\r\n if (keys1.length !== keys2.length) {\r\n return false;\r\n }\r\n for (const key of keys1) {\r\n const val1 = object1[key];\r\n if (!keys2.includes(key)) {\r\n return false;\r\n }\r\n if (key !== 'ref') {\r\n const val2 = object2[key];\r\n if ((isDateObject(val1) && isDateObject(val2)) ||\r\n (isObject(val1) && isObject(val2)) ||\r\n (Array.isArray(val1) && Array.isArray(val2))\r\n ? !deepEqual(val1, val2)\r\n : val1 !== val2) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n}\n\nvar isMultipleSelect = (element) => element.type === `select-multiple`;\n\nvar isRadioOrCheckbox = (ref) => isRadioInput(ref) || isCheckBoxInput(ref);\n\nvar live = (ref) => isHTMLElement(ref) && ref.isConnected;\n\nvar objectHasFunction = (data) => {\r\n for (const key in data) {\r\n if (isFunction(data[key])) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n};\n\nfunction markFieldsDirty(data, fields = {}) {\r\n const isParentNodeArray = Array.isArray(data);\r\n if (isObject(data) || isParentNodeArray) {\r\n for (const key in data) {\r\n if (Array.isArray(data[key]) ||\r\n (isObject(data[key]) && !objectHasFunction(data[key]))) {\r\n fields[key] = Array.isArray(data[key]) ? [] : {};\r\n markFieldsDirty(data[key], fields[key]);\r\n }\r\n else if (!isNullOrUndefined(data[key])) {\r\n fields[key] = true;\r\n }\r\n }\r\n }\r\n return fields;\r\n}\r\nfunction getDirtyFieldsFromDefaultValues(data, formValues, dirtyFieldsFromValues) {\r\n const isParentNodeArray = Array.isArray(data);\r\n if (isObject(data) || isParentNodeArray) {\r\n for (const key in data) {\r\n if (Array.isArray(data[key]) ||\r\n (isObject(data[key]) && !objectHasFunction(data[key]))) {\r\n if (isUndefined(formValues) ||\r\n isPrimitive(dirtyFieldsFromValues[key])) {\r\n dirtyFieldsFromValues[key] = Array.isArray(data[key])\r\n ? markFieldsDirty(data[key], [])\r\n : { ...markFieldsDirty(data[key]) };\r\n }\r\n else {\r\n getDirtyFieldsFromDefaultValues(data[key], isNullOrUndefined(formValues) ? {} : formValues[key], dirtyFieldsFromValues[key]);\r\n }\r\n }\r\n else {\r\n dirtyFieldsFromValues[key] = !deepEqual(data[key], formValues[key]);\r\n }\r\n }\r\n }\r\n return dirtyFieldsFromValues;\r\n}\r\nvar getDirtyFields = (defaultValues, formValues) => getDirtyFieldsFromDefaultValues(defaultValues, formValues, markFieldsDirty(formValues));\n\nvar getFieldValueAs = (value, { valueAsNumber, valueAsDate, setValueAs }) => isUndefined(value)\r\n ? value\r\n : valueAsNumber\r\n ? value === ''\r\n ? NaN\r\n : value\r\n ? +value\r\n : value\r\n : valueAsDate && isString(value)\r\n ? new Date(value)\r\n : setValueAs\r\n ? setValueAs(value)\r\n : value;\n\nfunction getFieldValue(_f) {\r\n const ref = _f.ref;\r\n if (_f.refs ? _f.refs.every((ref) => ref.disabled) : ref.disabled) {\r\n return;\r\n }\r\n if (isFileInput(ref)) {\r\n return ref.files;\r\n }\r\n if (isRadioInput(ref)) {\r\n return getRadioValue(_f.refs).value;\r\n }\r\n if (isMultipleSelect(ref)) {\r\n return [...ref.selectedOptions].map(({ value }) => value);\r\n }\r\n if (isCheckBoxInput(ref)) {\r\n return getCheckboxValue(_f.refs).value;\r\n }\r\n return getFieldValueAs(isUndefined(ref.value) ? _f.ref.value : ref.value, _f);\r\n}\n\nvar getResolverOptions = (fieldsNames, _fields, criteriaMode, shouldUseNativeValidation) => {\r\n const fields = {};\r\n for (const name of fieldsNames) {\r\n const field = get(_fields, name);\r\n field && set(fields, name, field._f);\r\n }\r\n return {\r\n criteriaMode,\r\n names: [...fieldsNames],\r\n fields,\r\n shouldUseNativeValidation,\r\n };\r\n};\n\nvar getRuleValue = (rule) => isUndefined(rule)\r\n ? rule\r\n : isRegex(rule)\r\n ? rule.source\r\n : isObject(rule)\r\n ? isRegex(rule.value)\r\n ? rule.value.source\r\n : rule.value\r\n : rule;\n\nvar hasValidation = (options) => options.mount &&\r\n (options.required ||\r\n options.min ||\r\n options.max ||\r\n options.maxLength ||\r\n options.minLength ||\r\n options.pattern ||\r\n options.validate);\n\nfunction schemaErrorLookup(errors, _fields, name) {\r\n const error = get(errors, name);\r\n if (error || isKey(name)) {\r\n return {\r\n error,\r\n name,\r\n };\r\n }\r\n const names = name.split('.');\r\n while (names.length) {\r\n const fieldName = names.join('.');\r\n const field = get(_fields, fieldName);\r\n const foundError = get(errors, fieldName);\r\n if (field && !Array.isArray(field) && name !== fieldName) {\r\n return { name };\r\n }\r\n if (foundError && foundError.type) {\r\n return {\r\n name: fieldName,\r\n error: foundError,\r\n };\r\n }\r\n names.pop();\r\n }\r\n return {\r\n name,\r\n };\r\n}\n\nvar skipValidation = (isBlurEvent, isTouched, isSubmitted, reValidateMode, mode) => {\r\n if (mode.isOnAll) {\r\n return false;\r\n }\r\n else if (!isSubmitted && mode.isOnTouch) {\r\n return !(isTouched || isBlurEvent);\r\n }\r\n else if (isSubmitted ? reValidateMode.isOnBlur : mode.isOnBlur) {\r\n return !isBlurEvent;\r\n }\r\n else if (isSubmitted ? reValidateMode.isOnChange : mode.isOnChange) {\r\n return isBlurEvent;\r\n }\r\n return true;\r\n};\n\nvar unsetEmptyArray = (ref, name) => !compact(get(ref, name)).length && unset(ref, name);\n\nconst defaultOptions = {\r\n mode: VALIDATION_MODE.onSubmit,\r\n reValidateMode: VALIDATION_MODE.onChange,\r\n shouldFocusError: true,\r\n};\r\nfunction createFormControl(props = {}, flushRootRender) {\r\n let _options = {\r\n ...defaultOptions,\r\n ...props,\r\n };\r\n let _formState = {\r\n submitCount: 0,\r\n isDirty: false,\r\n isLoading: true,\r\n isValidating: false,\r\n isSubmitted: false,\r\n isSubmitting: false,\r\n isSubmitSuccessful: false,\r\n isValid: false,\r\n touchedFields: {},\r\n dirtyFields: {},\r\n errors: {},\r\n };\r\n let _fields = {};\r\n let _defaultValues = isObject(_options.defaultValues) || isObject(_options.values)\r\n ? cloneObject(_options.defaultValues || _options.values) || {}\r\n : {};\r\n let _formValues = _options.shouldUnregister\r\n ? {}\r\n : cloneObject(_defaultValues);\r\n let _state = {\r\n action: false,\r\n mount: false,\r\n watch: false,\r\n };\r\n let _names = {\r\n mount: new Set(),\r\n unMount: new Set(),\r\n array: new Set(),\r\n watch: new Set(),\r\n };\r\n let delayErrorCallback;\r\n let timer = 0;\r\n const _proxyFormState = {\r\n isDirty: false,\r\n dirtyFields: false,\r\n touchedFields: false,\r\n isValidating: false,\r\n isValid: false,\r\n errors: false,\r\n };\r\n const _subjects = {\r\n values: createSubject(),\r\n array: createSubject(),\r\n state: createSubject(),\r\n };\r\n const shouldCaptureDirtyFields = props.resetOptions && props.resetOptions.keepDirtyValues;\r\n const validationModeBeforeSubmit = getValidationModes(_options.mode);\r\n const validationModeAfterSubmit = getValidationModes(_options.reValidateMode);\r\n const shouldDisplayAllAssociatedErrors = _options.criteriaMode === VALIDATION_MODE.all;\r\n const debounce = (callback) => (wait) => {\r\n clearTimeout(timer);\r\n timer = setTimeout(callback, wait);\r\n };\r\n const _updateValid = async (shouldUpdateValid) => {\r\n if (_proxyFormState.isValid || shouldUpdateValid) {\r\n const isValid = _options.resolver\r\n ? isEmptyObject((await _executeSchema()).errors)\r\n : await executeBuiltInValidation(_fields, true);\r\n if (isValid !== _formState.isValid) {\r\n _subjects.state.next({\r\n isValid,\r\n });\r\n }\r\n }\r\n };\r\n const _updateIsValidating = (value) => _proxyFormState.isValidating &&\r\n _subjects.state.next({\r\n isValidating: value,\r\n });\r\n const _updateFieldArray = (name, values = [], method, args, shouldSetValues = true, shouldUpdateFieldsAndState = true) => {\r\n if (args && method) {\r\n _state.action = true;\r\n if (shouldUpdateFieldsAndState && Array.isArray(get(_fields, name))) {\r\n const fieldValues = method(get(_fields, name), args.argA, args.argB);\r\n shouldSetValues && set(_fields, name, fieldValues);\r\n }\r\n if (shouldUpdateFieldsAndState &&\r\n Array.isArray(get(_formState.errors, name))) {\r\n const errors = method(get(_formState.errors, name), args.argA, args.argB);\r\n shouldSetValues && set(_formState.errors, name, errors);\r\n unsetEmptyArray(_formState.errors, name);\r\n }\r\n if (_proxyFormState.touchedFields &&\r\n shouldUpdateFieldsAndState &&\r\n Array.isArray(get(_formState.touchedFields, name))) {\r\n const touchedFields = method(get(_formState.touchedFields, name), args.argA, args.argB);\r\n shouldSetValues && set(_formState.touchedFields, name, touchedFields);\r\n }\r\n if (_proxyFormState.dirtyFields) {\r\n _formState.dirtyFields = getDirtyFields(_defaultValues, _formValues);\r\n }\r\n _subjects.state.next({\r\n name,\r\n isDirty: _getDirty(name, values),\r\n dirtyFields: _formState.dirtyFields,\r\n errors: _formState.errors,\r\n isValid: _formState.isValid,\r\n });\r\n }\r\n else {\r\n set(_formValues, name, values);\r\n }\r\n };\r\n const updateErrors = (name, error) => {\r\n set(_formState.errors, name, error);\r\n _subjects.state.next({\r\n errors: _formState.errors,\r\n });\r\n };\r\n const updateValidAndValue = (name, shouldSkipSetValueAs, value, ref) => {\r\n const field = get(_fields, name);\r\n if (field) {\r\n const defaultValue = get(_formValues, name, isUndefined(value) ? get(_defaultValues, name) : value);\r\n isUndefined(defaultValue) ||\r\n (ref && ref.defaultChecked) ||\r\n shouldSkipSetValueAs\r\n ? set(_formValues, name, shouldSkipSetValueAs ? defaultValue : getFieldValue(field._f))\r\n : setFieldValue(name, defaultValue);\r\n _state.mount && _updateValid();\r\n }\r\n };\r\n const updateTouchAndDirty = (name, fieldValue, isBlurEvent, shouldDirty, shouldRender) => {\r\n let shouldUpdateField = false;\r\n let isPreviousDirty = false;\r\n const output = {\r\n name,\r\n };\r\n if (!isBlurEvent || shouldDirty) {\r\n if (_proxyFormState.isDirty) {\r\n isPreviousDirty = _formState.isDirty;\r\n _formState.isDirty = output.isDirty = _getDirty();\r\n shouldUpdateField = isPreviousDirty !== output.isDirty;\r\n }\r\n const isCurrentFieldPristine = deepEqual(get(_defaultValues, name), fieldValue);\r\n isPreviousDirty = get(_formState.dirtyFields, name);\r\n isCurrentFieldPristine\r\n ? unset(_formState.dirtyFields, name)\r\n : set(_formState.dirtyFields, name, true);\r\n output.dirtyFields = _formState.dirtyFields;\r\n shouldUpdateField =\r\n shouldUpdateField ||\r\n (_proxyFormState.dirtyFields &&\r\n isPreviousDirty !== !isCurrentFieldPristine);\r\n }\r\n if (isBlurEvent) {\r\n const isPreviousFieldTouched = get(_formState.touchedFields, name);\r\n if (!isPreviousFieldTouched) {\r\n set(_formState.touchedFields, name, isBlurEvent);\r\n output.touchedFields = _formState.touchedFields;\r\n shouldUpdateField =\r\n shouldUpdateField ||\r\n (_proxyFormState.touchedFields &&\r\n isPreviousFieldTouched !== isBlurEvent);\r\n }\r\n }\r\n shouldUpdateField && shouldRender && _subjects.state.next(output);\r\n return shouldUpdateField ? output : {};\r\n };\r\n const shouldRenderByError = (name, isValid, error, fieldState) => {\r\n const previousFieldError = get(_formState.errors, name);\r\n const shouldUpdateValid = _proxyFormState.isValid &&\r\n isBoolean(isValid) &&\r\n _formState.isValid !== isValid;\r\n if (props.delayError && error) {\r\n delayErrorCallback = debounce(() => updateErrors(name, error));\r\n delayErrorCallback(props.delayError);\r\n }\r\n else {\r\n clearTimeout(timer);\r\n delayErrorCallback = null;\r\n error\r\n ? set(_formState.errors, name, error)\r\n : unset(_formState.errors, name);\r\n }\r\n if ((error ? !deepEqual(previousFieldError, error) : previousFieldError) ||\r\n !isEmptyObject(fieldState) ||\r\n shouldUpdateValid) {\r\n const updatedFormState = {\r\n ...fieldState,\r\n ...(shouldUpdateValid && isBoolean(isValid) ? { isValid } : {}),\r\n errors: _formState.errors,\r\n name,\r\n };\r\n _formState = {\r\n ..._formState,\r\n ...updatedFormState,\r\n };\r\n _subjects.state.next(updatedFormState);\r\n }\r\n _updateIsValidating(false);\r\n };\r\n const _executeSchema = async (name) => _options.resolver(_formValues, _options.context, getResolverOptions(name || _names.mount, _fields, _options.criteriaMode, _options.shouldUseNativeValidation));\r\n const executeSchemaAndUpdateState = async (names) => {\r\n const { errors } = await _executeSchema();\r\n if (names) {\r\n for (const name of names) {\r\n const error = get(errors, name);\r\n error\r\n ? set(_formState.errors, name, error)\r\n : unset(_formState.errors, name);\r\n }\r\n }\r\n else {\r\n _formState.errors = errors;\r\n }\r\n return errors;\r\n };\r\n const executeBuiltInValidation = async (fields, shouldOnlyCheckValid, context = {\r\n valid: true,\r\n }) => {\r\n for (const name in fields) {\r\n const field = fields[name];\r\n if (field) {\r\n const { _f, ...fieldValue } = field;\r\n if (_f) {\r\n const isFieldArrayRoot = _names.array.has(_f.name);\r\n const fieldError = await validateField(field, _formValues, shouldDisplayAllAssociatedErrors, _options.shouldUseNativeValidation, isFieldArrayRoot);\r\n if (fieldError[_f.name]) {\r\n context.valid = false;\r\n if (shouldOnlyCheckValid) {\r\n break;\r\n }\r\n }\r\n !shouldOnlyCheckValid &&\r\n (get(fieldError, _f.name)\r\n ? isFieldArrayRoot\r\n ? updateFieldArrayRootError(_formState.errors, fieldError, _f.name)\r\n : set(_formState.errors, _f.name, fieldError[_f.name])\r\n : unset(_formState.errors, _f.name));\r\n }\r\n fieldValue &&\r\n (await executeBuiltInValidation(fieldValue, shouldOnlyCheckValid, context));\r\n }\r\n }\r\n return context.valid;\r\n };\r\n const _removeUnmounted = () => {\r\n for (const name of _names.unMount) {\r\n const field = get(_fields, name);\r\n field &&\r\n (field._f.refs\r\n ? field._f.refs.every((ref) => !live(ref))\r\n : !live(field._f.ref)) &&\r\n unregister(name);\r\n }\r\n _names.unMount = new Set();\r\n };\r\n const _getDirty = (name, data) => (name && data && set(_formValues, name, data),\r\n !deepEqual(getValues(), _defaultValues));\r\n const _getWatch = (names, defaultValue, isGlobal) => generateWatchOutput(names, _names, {\r\n ...(_state.mount\r\n ? _formValues\r\n : isUndefined(defaultValue)\r\n ? _defaultValues\r\n : isString(names)\r\n ? { [names]: defaultValue }\r\n : defaultValue),\r\n }, isGlobal, defaultValue);\r\n const _getFieldArray = (name) => compact(get(_state.mount ? _formValues : _defaultValues, name, props.shouldUnregister ? get(_defaultValues, name, []) : []));\r\n const setFieldValue = (name, value, options = {}) => {\r\n const field = get(_fields, name);\r\n let fieldValue = value;\r\n if (field) {\r\n const fieldReference = field._f;\r\n if (fieldReference) {\r\n !fieldReference.disabled &&\r\n set(_formValues, name, getFieldValueAs(value, fieldReference));\r\n fieldValue =\r\n isHTMLElement(fieldReference.ref) && isNullOrUndefined(value)\r\n ? ''\r\n : value;\r\n if (isMultipleSelect(fieldReference.ref)) {\r\n [...fieldReference.ref.options].forEach((optionRef) => (optionRef.selected = fieldValue.includes(optionRef.value)));\r\n }\r\n else if (fieldReference.refs) {\r\n if (isCheckBoxInput(fieldReference.ref)) {\r\n fieldReference.refs.length > 1\r\n ? fieldReference.refs.forEach((checkboxRef) => (!checkboxRef.defaultChecked || !checkboxRef.disabled) &&\r\n (checkboxRef.checked = Array.isArray(fieldValue)\r\n ? !!fieldValue.find((data) => data === checkboxRef.value)\r\n : fieldValue === checkboxRef.value))\r\n : fieldReference.refs[0] &&\r\n (fieldReference.refs[0].checked = !!fieldValue);\r\n }\r\n else {\r\n fieldReference.refs.forEach((radioRef) => (radioRef.checked = radioRef.value === fieldValue));\r\n }\r\n }\r\n else if (isFileInput(fieldReference.ref)) {\r\n fieldReference.ref.value = '';\r\n }\r\n else {\r\n fieldReference.ref.value = fieldValue;\r\n if (!fieldReference.ref.type) {\r\n _subjects.values.next({\r\n name,\r\n values: { ..._formValues },\r\n });\r\n }\r\n }\r\n }\r\n }\r\n (options.shouldDirty || options.shouldTouch) &&\r\n updateTouchAndDirty(name, fieldValue, options.shouldTouch, options.shouldDirty, true);\r\n options.shouldValidate && trigger(name);\r\n };\r\n const setValues = (name, value, options) => {\r\n for (const fieldKey in value) {\r\n const fieldValue = value[fieldKey];\r\n const fieldName = `${name}.${fieldKey}`;\r\n const field = get(_fields, fieldName);\r\n (_names.array.has(name) ||\r\n !isPrimitive(fieldValue) ||\r\n (field && !field._f)) &&\r\n !isDateObject(fieldValue)\r\n ? setValues(fieldName, fieldValue, options)\r\n : setFieldValue(fieldName, fieldValue, options);\r\n }\r\n };\r\n const setValue = (name, value, options = {}) => {\r\n const field = get(_fields, name);\r\n const isFieldArray = _names.array.has(name);\r\n const cloneValue = cloneObject(value);\r\n set(_formValues, name, cloneValue);\r\n if (isFieldArray) {\r\n _subjects.array.next({\r\n name,\r\n values: { ..._formValues },\r\n });\r\n if ((_proxyFormState.isDirty || _proxyFormState.dirtyFields) &&\r\n options.shouldDirty) {\r\n _subjects.state.next({\r\n name,\r\n dirtyFields: getDirtyFields(_defaultValues, _formValues),\r\n isDirty: _getDirty(name, cloneValue),\r\n });\r\n }\r\n }\r\n else {\r\n field && !field._f && !isNullOrUndefined(cloneValue)\r\n ? setValues(name, cloneValue, options)\r\n : setFieldValue(name, cloneValue, options);\r\n }\r\n isWatched(name, _names) && _subjects.state.next({ ..._formState });\r\n _subjects.values.next({\r\n name,\r\n values: { ..._formValues },\r\n });\r\n !_state.mount && flushRootRender();\r\n };\r\n const onChange = async (event) => {\r\n const target = event.target;\r\n let name = target.name;\r\n const field = get(_fields, name);\r\n const getCurrentFieldValue = () => target.type ? getFieldValue(field._f) : getEventValue(event);\r\n if (field) {\r\n let error;\r\n let isValid;\r\n const fieldValue = getCurrentFieldValue();\r\n const isBlurEvent = event.type === EVENTS.BLUR || event.type === EVENTS.FOCUS_OUT;\r\n const shouldSkipValidation = (!hasValidation(field._f) &&\r\n !_options.resolver &&\r\n !get(_formState.errors, name) &&\r\n !field._f.deps) ||\r\n skipValidation(isBlurEvent, get(_formState.touchedFields, name), _formState.isSubmitted, validationModeAfterSubmit, validationModeBeforeSubmit);\r\n const watched = isWatched(name, _names, isBlurEvent);\r\n set(_formValues, name, fieldValue);\r\n if (isBlurEvent) {\r\n field._f.onBlur && field._f.onBlur(event);\r\n delayErrorCallback && delayErrorCallback(0);\r\n }\r\n else if (field._f.onChange) {\r\n field._f.onChange(event);\r\n }\r\n const fieldState = updateTouchAndDirty(name, fieldValue, isBlurEvent, false);\r\n const shouldRender = !isEmptyObject(fieldState) || watched;\r\n !isBlurEvent &&\r\n _subjects.values.next({\r\n name,\r\n type: event.type,\r\n values: { ..._formValues },\r\n });\r\n if (shouldSkipValidation) {\r\n _proxyFormState.isValid && _updateValid();\r\n return (shouldRender &&\r\n _subjects.state.next({ name, ...(watched ? {} : fieldState) }));\r\n }\r\n !isBlurEvent && watched && _subjects.state.next({ ..._formState });\r\n _updateIsValidating(true);\r\n if (_options.resolver) {\r\n const { errors } = await _executeSchema([name]);\r\n const previousErrorLookupResult = schemaErrorLookup(_formState.errors, _fields, name);\r\n const errorLookupResult = schemaErrorLookup(errors, _fields, previousErrorLookupResult.name || name);\r\n error = errorLookupResult.error;\r\n name = errorLookupResult.name;\r\n isValid = isEmptyObject(errors);\r\n }\r\n else {\r\n error = (await validateField(field, _formValues, shouldDisplayAllAssociatedErrors, _options.shouldUseNativeValidation))[name];\r\n if (error) {\r\n isValid = false;\r\n }\r\n else if (_proxyFormState.isValid) {\r\n isValid = await executeBuiltInValidation(_fields, true);\r\n }\r\n }\r\n field._f.deps &&\r\n trigger(field._f.deps);\r\n shouldRenderByError(name, isValid, error, fieldState);\r\n }\r\n };\r\n const trigger = async (name, options = {}) => {\r\n let isValid;\r\n let validationResult;\r\n const fieldNames = convertToArrayPayload(name);\r\n _updateIsValidating(true);\r\n if (_options.resolver) {\r\n const errors = await executeSchemaAndUpdateState(isUndefined(name) ? name : fieldNames);\r\n isValid = isEmptyObject(errors);\r\n validationResult = name\r\n ? !fieldNames.some((name) => get(errors, name))\r\n : isValid;\r\n }\r\n else if (name) {\r\n validationResult = (await Promise.all(fieldNames.map(async (fieldName) => {\r\n const field = get(_fields, fieldName);\r\n return await executeBuiltInValidation(field && field._f ? { [fieldName]: field } : field);\r\n }))).every(Boolean);\r\n !(!validationResult && !_formState.isValid) && _updateValid();\r\n }\r\n else {\r\n validationResult = isValid = await executeBuiltInValidation(_fields);\r\n }\r\n _subjects.state.next({\r\n ...(!isString(name) ||\r\n (_proxyFormState.isValid && isValid !== _formState.isValid)\r\n ? {}\r\n : { name }),\r\n ...(_options.resolver || !name ? { isValid } : {}),\r\n errors: _formState.errors,\r\n isValidating: false,\r\n });\r\n options.shouldFocus &&\r\n !validationResult &&\r\n focusFieldBy(_fields, (key) => key && get(_formState.errors, key), name ? fieldNames : _names.mount);\r\n return validationResult;\r\n };\r\n const getValues = (fieldNames) => {\r\n const values = {\r\n ..._defaultValues,\r\n ...(_state.mount ? _formValues : {}),\r\n };\r\n return isUndefined(fieldNames)\r\n ? values\r\n : isString(fieldNames)\r\n ? get(values, fieldNames)\r\n : fieldNames.map((name) => get(values, name));\r\n };\r\n const getFieldState = (name, formState) => ({\r\n invalid: !!get((formState || _formState).errors, name),\r\n isDirty: !!get((formState || _formState).dirtyFields, name),\r\n isTouched: !!get((formState || _formState).touchedFields, name),\r\n error: get((formState || _formState).errors, name),\r\n });\r\n const clearErrors = (name) => {\r\n name &&\r\n convertToArrayPayload(name).forEach((inputName) => unset(_formState.errors, inputName));\r\n _subjects.state.next({\r\n errors: name ? _formState.errors : {},\r\n });\r\n };\r\n const setError = (name, error, options) => {\r\n const ref = (get(_fields, name, { _f: {} })._f || {}).ref;\r\n set(_formState.errors, name, {\r\n ...error,\r\n ref,\r\n });\r\n _subjects.state.next({\r\n name,\r\n errors: _formState.errors,\r\n isValid: false,\r\n });\r\n options && options.shouldFocus && ref && ref.focus && ref.focus();\r\n };\r\n const watch = (name, defaultValue) => isFunction(name)\r\n ? _subjects.values.subscribe({\r\n next: (payload) => name(_getWatch(undefined, defaultValue), payload),\r\n })\r\n : _getWatch(name, defaultValue, true);\r\n const unregister = (name, options = {}) => {\r\n for (const fieldName of name ? convertToArrayPayload(name) : _names.mount) {\r\n _names.mount.delete(fieldName);\r\n _names.array.delete(fieldName);\r\n if (get(_fields, fieldName)) {\r\n if (!options.keepValue) {\r\n unset(_fields, fieldName);\r\n unset(_formValues, fieldName);\r\n }\r\n !options.keepError && unset(_formState.errors, fieldName);\r\n !options.keepDirty && unset(_formState.dirtyFields, fieldName);\r\n !options.keepTouched && unset(_formState.touchedFields, fieldName);\r\n !_options.shouldUnregister &&\r\n !options.keepDefaultValue &&\r\n unset(_defaultValues, fieldName);\r\n }\r\n }\r\n _subjects.values.next({\r\n values: { ..._formValues },\r\n });\r\n _subjects.state.next({\r\n ..._formState,\r\n ...(!options.keepDirty ? {} : { isDirty: _getDirty() }),\r\n });\r\n !options.keepIsValid && _updateValid();\r\n };\r\n const register = (name, options = {}) => {\r\n let field = get(_fields, name);\r\n const disabledIsDefined = isBoolean(options.disabled);\r\n set(_fields, name, {\r\n ...(field || {}),\r\n _f: {\r\n ...(field && field._f ? field._f : { ref: { name } }),\r\n name,\r\n mount: true,\r\n ...options,\r\n },\r\n });\r\n _names.mount.add(name);\r\n field\r\n ? disabledIsDefined &&\r\n set(_formValues, name, options.disabled\r\n ? undefined\r\n : get(_formValues, name, getFieldValue(field._f)))\r\n : updateValidAndValue(name, true, options.value);\r\n return {\r\n ...(disabledIsDefined ? { disabled: options.disabled } : {}),\r\n ...(_options.shouldUseNativeValidation\r\n ? {\r\n required: !!options.required,\r\n min: getRuleValue(options.min),\r\n max: getRuleValue(options.max),\r\n minLength: getRuleValue(options.minLength),\r\n maxLength: getRuleValue(options.maxLength),\r\n pattern: getRuleValue(options.pattern),\r\n }\r\n : {}),\r\n name,\r\n onChange,\r\n onBlur: onChange,\r\n ref: (ref) => {\r\n if (ref) {\r\n register(name, options);\r\n field = get(_fields, name);\r\n const fieldRef = isUndefined(ref.value)\r\n ? ref.querySelectorAll\r\n ? ref.querySelectorAll('input,select,textarea')[0] || ref\r\n : ref\r\n : ref;\r\n const radioOrCheckbox = isRadioOrCheckbox(fieldRef);\r\n const refs = field._f.refs || [];\r\n if (radioOrCheckbox\r\n ? refs.find((option) => option === fieldRef)\r\n : fieldRef === field._f.ref) {\r\n return;\r\n }\r\n set(_fields, name, {\r\n _f: {\r\n ...field._f,\r\n ...(radioOrCheckbox\r\n ? {\r\n refs: [\r\n ...refs.filter(live),\r\n fieldRef,\r\n ...(Array.isArray(get(_defaultValues, name)) ? [{}] : []),\r\n ],\r\n ref: { type: fieldRef.type, name },\r\n }\r\n : { ref: fieldRef }),\r\n },\r\n });\r\n updateValidAndValue(name, false, undefined, fieldRef);\r\n }\r\n else {\r\n field = get(_fields, name, {});\r\n if (field._f) {\r\n field._f.mount = false;\r\n }\r\n (_options.shouldUnregister || options.shouldUnregister) &&\r\n !(isNameInFieldArray(_names.array, name) && _state.action) &&\r\n _names.unMount.add(name);\r\n }\r\n },\r\n };\r\n };\r\n const _focusError = () => _options.shouldFocusError &&\r\n focusFieldBy(_fields, (key) => key && get(_formState.errors, key), _names.mount);\r\n const handleSubmit = (onValid, onInvalid) => async (e) => {\r\n if (e) {\r\n e.preventDefault && e.preventDefault();\r\n e.persist && e.persist();\r\n }\r\n let fieldValues = cloneObject(_formValues);\r\n _subjects.state.next({\r\n isSubmitting: true,\r\n });\r\n if (_options.resolver) {\r\n const { errors, values } = await _executeSchema();\r\n _formState.errors = errors;\r\n fieldValues = values;\r\n }\r\n else {\r\n await executeBuiltInValidation(_fields);\r\n }\r\n unset(_formState.errors, 'root');\r\n if (isEmptyObject(_formState.errors)) {\r\n _subjects.state.next({\r\n errors: {},\r\n });\r\n await onValid(fieldValues, e);\r\n }\r\n else {\r\n if (onInvalid) {\r\n await onInvalid({ ..._formState.errors }, e);\r\n }\r\n _focusError();\r\n setTimeout(_focusError);\r\n }\r\n _subjects.state.next({\r\n isSubmitted: true,\r\n isSubmitting: false,\r\n isSubmitSuccessful: isEmptyObject(_formState.errors),\r\n submitCount: _formState.submitCount + 1,\r\n errors: _formState.errors,\r\n });\r\n };\r\n const resetField = (name, options = {}) => {\r\n if (get(_fields, name)) {\r\n if (isUndefined(options.defaultValue)) {\r\n setValue(name, get(_defaultValues, name));\r\n }\r\n else {\r\n setValue(name, options.defaultValue);\r\n set(_defaultValues, name, options.defaultValue);\r\n }\r\n if (!options.keepTouched) {\r\n unset(_formState.touchedFields, name);\r\n }\r\n if (!options.keepDirty) {\r\n unset(_formState.dirtyFields, name);\r\n _formState.isDirty = options.defaultValue\r\n ? _getDirty(name, get(_defaultValues, name))\r\n : _getDirty();\r\n }\r\n if (!options.keepError) {\r\n unset(_formState.errors, name);\r\n _proxyFormState.isValid && _updateValid();\r\n }\r\n _subjects.state.next({ ..._formState });\r\n }\r\n };\r\n const _reset = (formValues, keepStateOptions = {}) => {\r\n const updatedValues = formValues || _defaultValues;\r\n const cloneUpdatedValues = cloneObject(updatedValues);\r\n const values = formValues && !isEmptyObject(formValues)\r\n ? cloneUpdatedValues\r\n : _defaultValues;\r\n if (!keepStateOptions.keepDefaultValues) {\r\n _defaultValues = updatedValues;\r\n }\r\n if (!keepStateOptions.keepValues) {\r\n if (keepStateOptions.keepDirtyValues || shouldCaptureDirtyFields) {\r\n for (const fieldName of _names.mount) {\r\n get(_formState.dirtyFields, fieldName)\r\n ? set(values, fieldName, get(_formValues, fieldName))\r\n : setValue(fieldName, get(values, fieldName));\r\n }\r\n }\r\n else {\r\n if (isWeb && isUndefined(formValues)) {\r\n for (const name of _names.mount) {\r\n const field = get(_fields, name);\r\n if (field && field._f) {\r\n const fieldReference = Array.isArray(field._f.refs)\r\n ? field._f.refs[0]\r\n : field._f.ref;\r\n if (isHTMLElement(fieldReference)) {\r\n const form = fieldReference.closest('form');\r\n if (form) {\r\n form.reset();\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n _fields = {};\r\n }\r\n _formValues = props.shouldUnregister\r\n ? keepStateOptions.keepDefaultValues\r\n ? cloneObject(_defaultValues)\r\n : {}\r\n : cloneUpdatedValues;\r\n _subjects.array.next({\r\n values: { ...values },\r\n });\r\n _subjects.values.next({\r\n values: { ...values },\r\n });\r\n }\r\n _names = {\r\n mount: new Set(),\r\n unMount: new Set(),\r\n array: new Set(),\r\n watch: new Set(),\r\n watchAll: false,\r\n focus: '',\r\n };\r\n !_state.mount && flushRootRender();\r\n _state.mount = !_proxyFormState.isValid || !!keepStateOptions.keepIsValid;\r\n _state.watch = !!props.shouldUnregister;\r\n _subjects.state.next({\r\n submitCount: keepStateOptions.keepSubmitCount\r\n ? _formState.submitCount\r\n : 0,\r\n isDirty: keepStateOptions.keepDirty\r\n ? _formState.isDirty\r\n : !!(keepStateOptions.keepDefaultValues &&\r\n !deepEqual(formValues, _defaultValues)),\r\n isSubmitted: keepStateOptions.keepIsSubmitted\r\n ? _formState.isSubmitted\r\n : false,\r\n dirtyFields: keepStateOptions.keepDirtyValues\r\n ? _formState.dirtyFields\r\n : keepStateOptions.keepDefaultValues && formValues\r\n ? getDirtyFields(_defaultValues, formValues)\r\n : {},\r\n touchedFields: keepStateOptions.keepTouched\r\n ? _formState.touchedFields\r\n : {},\r\n errors: keepStateOptions.keepErrors ? _formState.errors : {},\r\n isSubmitting: false,\r\n isSubmitSuccessful: false,\r\n });\r\n };\r\n const reset = (formValues, keepStateOptions) => _reset(isFunction(formValues)\r\n ? formValues(_formValues)\r\n : formValues, keepStateOptions);\r\n const setFocus = (name, options = {}) => {\r\n const field = get(_fields, name);\r\n const fieldReference = field && field._f;\r\n if (fieldReference) {\r\n const fieldRef = fieldReference.refs\r\n ? fieldReference.refs[0]\r\n : fieldReference.ref;\r\n if (fieldRef.focus) {\r\n fieldRef.focus();\r\n options.shouldSelect && fieldRef.select();\r\n }\r\n }\r\n };\r\n const _updateFormState = (updatedFormState) => {\r\n _formState = {\r\n ..._formState,\r\n ...updatedFormState,\r\n };\r\n };\r\n if (isFunction(_options.defaultValues)) {\r\n _options.defaultValues().then((values) => {\r\n reset(values, _options.resetOptions);\r\n _subjects.state.next({\r\n isLoading: false,\r\n });\r\n });\r\n }\r\n return {\r\n control: {\r\n register,\r\n unregister,\r\n getFieldState,\r\n _executeSchema,\r\n _getWatch,\r\n _getDirty,\r\n _updateValid,\r\n _removeUnmounted,\r\n _updateFieldArray,\r\n _getFieldArray,\r\n _reset,\r\n _updateFormState,\r\n _subjects,\r\n _proxyFormState,\r\n get _fields() {\r\n return _fields;\r\n },\r\n get _formValues() {\r\n return _formValues;\r\n },\r\n get _state() {\r\n return _state;\r\n },\r\n set _state(value) {\r\n _state = value;\r\n },\r\n get _defaultValues() {\r\n return _defaultValues;\r\n },\r\n get _names() {\r\n return _names;\r\n },\r\n set _names(value) {\r\n _names = value;\r\n },\r\n get _formState() {\r\n return _formState;\r\n },\r\n set _formState(value) {\r\n _formState = value;\r\n },\r\n get _options() {\r\n return _options;\r\n },\r\n set _options(value) {\r\n _options = {\r\n ..._options,\r\n ...value,\r\n };\r\n },\r\n },\r\n trigger,\r\n register,\r\n handleSubmit,\r\n watch,\r\n setValue,\r\n getValues,\r\n reset,\r\n resetField,\r\n clearErrors,\r\n unregister,\r\n setError,\r\n setFocus,\r\n getFieldState,\r\n };\r\n}\n\n/**\r\n * Custom hook to manage the entire form.\r\n *\r\n * @remarks\r\n * [API](https://react-hook-form.com/api/useform) • [Demo](https://codesandbox.io/s/react-hook-form-get-started-ts-5ksmm) • [Video](https://www.youtube.com/watch?v=RkXv4AXXC_4)\r\n *\r\n * @param props - form configuration and validation parameters.\r\n *\r\n * @returns methods - individual functions to manage the form state. {@link UseFormReturn}\r\n *\r\n * @example\r\n * ```tsx\r\n * function App() {\r\n * const { register, handleSubmit, watch, formState: { errors } } = useForm();\r\n * const onSubmit = data => console.log(data);\r\n *\r\n * console.log(watch(\"example\"));\r\n *\r\n * return (\r\n *
\r\n * \r\n * \r\n * {errors.exampleRequired && This field is required}\r\n * \r\n *
\r\n * );\r\n * }\r\n * ```\r\n */\r\nfunction useForm(props = {}) {\r\n const _formControl = React__default.useRef();\r\n const [formState, updateFormState] = React__default.useState({\r\n isDirty: false,\r\n isValidating: false,\r\n isLoading: true,\r\n isSubmitted: false,\r\n isSubmitting: false,\r\n isSubmitSuccessful: false,\r\n isValid: false,\r\n submitCount: 0,\r\n dirtyFields: {},\r\n touchedFields: {},\r\n errors: {},\r\n defaultValues: isFunction(props.defaultValues)\r\n ? undefined\r\n : props.defaultValues,\r\n });\r\n if (!_formControl.current) {\r\n _formControl.current = {\r\n ...createFormControl(props, () => updateFormState((formState) => ({ ...formState }))),\r\n formState,\r\n };\r\n }\r\n const control = _formControl.current.control;\r\n control._options = props;\r\n useSubscribe({\r\n subject: control._subjects.state,\r\n next: (value) => {\r\n if (shouldRenderFormState(value, control._proxyFormState, control._updateFormState, true)) {\r\n updateFormState({ ...control._formState });\r\n }\r\n },\r\n });\r\n React__default.useEffect(() => {\r\n if (props.values && !deepEqual(props.values, control._defaultValues)) {\r\n control._reset(props.values, control._options.resetOptions);\r\n }\r\n }, [props.values, control]);\r\n React__default.useEffect(() => {\r\n if (!control._state.mount) {\r\n control._updateValid();\r\n control._state.mount = true;\r\n }\r\n if (control._state.watch) {\r\n control._state.watch = false;\r\n control._subjects.state.next({ ...control._formState });\r\n }\r\n control._removeUnmounted();\r\n });\r\n _formControl.current.formState = getProxyFormState(formState, control);\r\n return _formControl.current;\r\n}\n\nvar colors = {\r\n primary: '#0e101c',\r\n secondary: '#bf1650',\r\n lightBlue: '#516391',\r\n blue: '#1e2a4a',\r\n lightPink: '#ec5990',\r\n errorPink: '#fbecf2',\r\n buttonBlue: '#191d3a',\r\n link: '#ff7aa8',\r\n green: '#1bda2b',\r\n};\n\nconst paraGraphDefaultStyle = {\r\n fontSize: 13,\r\n lineHeight: '20px',\r\n};\r\nconst Button = styled.button `\n appearance: none;\n margin: 0;\n border: 0;\n color: white;\n padding: 5px !important;\n border-radius: 0 !important;\n background: ${(props) => props.hideBackground ? `` : `${colors.blue} !important`};\n transition: 0.2s all;\n\n &:hover {\n background: ${colors.lightBlue};\n }\n`;\r\nButton.defaultProps = { type: 'button' };\r\nconst CircleButton = styled(Button) `\n font-size: 14px;\n font-weight: bold;\n margin: 0 4px 0 auto;\n background: none !important;\n display: flex;\n width: 25px;\n height: 25px;\n justify-content: center;\n line-height: 14px !important;\n border-radius: 50% !important;\n padding: 0 !important;\n transition: 0.2s all;\n\n &:hover {\n background: ${colors.lightBlue};\n }\n\n &:active {\n background: black;\n }\n`;\r\nconst Input = styled.input `\n &::placeholder {\n color: #b3b3b3;\n }\n\n &:focus::placeholder {\n color: white;\n }\n`;\r\nconst Table = styled.table `\n transition: 0.3s all;\n\n &:hover {\n background: ${colors.primary};\n }\n`;\n\nconst Header = ({ setVisible, control }) => {\r\n const { isValid } = useFormState({\r\n control,\r\n });\r\n return (React.createElement(\"header\", { style: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n paddingLeft: 10,\r\n backgroundColor: 'transparent',\r\n } },\r\n React.createElement(\"p\", { style: Object.assign(Object.assign({}, paraGraphDefaultStyle), { margin: 0, padding: 0, fontWeight: 400, fontSize: 12 }) },\r\n React.createElement(\"span\", { style: {\r\n transition: '0.5s all',\r\n color: isValid ? colors.green : colors.lightPink,\r\n } }, \"\\u25A0\"),\r\n ' ',\r\n \"React Hook Form\"),\r\n React.createElement(CircleButton, { title: \"Close dev panel\", onClick: () => setVisible(false) }, \"\\u2715\")));\r\n};\n\nconst PanelTable = ({ refObject, hasError, isDirty, fieldsValues, isNative, errorMessage, errorType, type, isTouched, name, collapseAll, }) => {\r\n const [collapse, setCollapse] = React.useState(false);\r\n React.useEffect(() => {\r\n setCollapse(!collapseAll);\r\n }, [collapseAll]);\r\n let value = fieldsValues ? get(fieldsValues, name) : '';\r\n let isValueWrappedInPre = false;\r\n if (!isUndefined$1(value)) {\r\n if (isObject$1(value)) {\r\n try {\r\n value = (React.createElement(\"pre\", { style: { margin: 0 } },\r\n React.createElement(\"code\", { style: { fontSize: 12 } }, JSON.stringify(value, null, 2))));\r\n isValueWrappedInPre = true;\r\n }\r\n catch (_a) {\r\n value = React.createElement(\"span\", null, \"[Nested Object]\");\r\n }\r\n }\r\n else if (typeof value !== 'string') {\r\n value = String(value);\r\n }\r\n }\r\n return (React.createElement(Table, { style: {\r\n padding: '5px 8px',\r\n width: '100%',\r\n transition: '.3s all',\r\n borderLeft: `2px solid ${hasError ? colors.secondary : colors.buttonBlue}`,\r\n background: 'none',\r\n } },\r\n React.createElement(\"thead\", null,\r\n React.createElement(\"tr\", null,\r\n React.createElement(\"td\", { valign: \"top\", style: { width: 85, lineHeight: '22px' } },\r\n React.createElement(Button, { onClick: () => setCollapse(!collapse), title: \"Toggle field table\", style: {\r\n border: `1px solid ${colors.lightBlue}`,\r\n borderRadius: 2,\r\n padding: '3px 5px',\r\n display: 'inline-block',\r\n fontSize: 9,\r\n lineHeight: '13px',\r\n width: 20,\r\n textAlign: 'center',\r\n marginRight: 8,\r\n } }, collapse ? '+' : '-'),\r\n React.createElement(Button, { onClick: () => {\r\n if (refObject.scrollIntoView) {\r\n refObject.scrollIntoView({ behavior: 'smooth' });\r\n }\r\n }, title: \"Scroll into view\", style: Object.assign({ border: `1px solid ${colors.lightBlue}`, borderRadius: 2, padding: '3px 5px', display: 'inline-block', fontSize: 9, lineHeight: '13px', textAlign: 'center', width: 'calc(100% - 30px)' }, (isNative\r\n ? {}\r\n : { cursor: 'not-allowed', background: colors.lightBlue })) }, isNative ? 'Native' : 'Custom')),\r\n React.createElement(\"td\", { style: {\r\n display: 'block',\r\n maxWidth: 140,\r\n } },\r\n React.createElement(\"p\", { style: Object.assign(Object.assign({ margin: 0, padding: 0, top: 0, position: 'relative', whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis' }, paraGraphDefaultStyle), { lineHeight: '24px' }), title: name }, name)))),\r\n !collapse && (React.createElement(\"tbody\", null,\r\n type && (React.createElement(\"tr\", null,\r\n React.createElement(\"td\", { align: \"right\", style: Object.assign({ paddingRight: 5, fontWeight: 500, verticalAlign: 'top' }, paraGraphDefaultStyle) }, \"Type:\"),\r\n React.createElement(\"td\", { style: Object.assign({ display: 'block', maxWidth: 100 }, paraGraphDefaultStyle) }, type))),\r\n errorType && (React.createElement(\"tr\", null,\r\n React.createElement(\"td\", { align: \"right\", style: Object.assign({ paddingRight: 5, fontWeight: 500, verticalAlign: 'top' }, paraGraphDefaultStyle) }, \"ERROR Type:\"),\r\n React.createElement(\"td\", { style: Object.assign({ display: 'block', maxWidth: 100 }, paraGraphDefaultStyle) }, errorType))),\r\n errorMessage && (React.createElement(\"tr\", null,\r\n React.createElement(\"td\", { align: \"right\", style: Object.assign({ paddingRight: 5, fontWeight: 500, verticalAlign: 'top' }, paraGraphDefaultStyle) }, \"MESSAGE:\"),\r\n React.createElement(\"td\", { style: Object.assign({ display: 'block', maxWidth: 100 }, paraGraphDefaultStyle) }, typeof errorMessage === 'string'\r\n ? errorMessage.trim()\r\n : JSON.stringify(errorMessage)))),\r\n !isUndefined$1(value) && (React.createElement(\"tr\", null,\r\n React.createElement(\"td\", { align: \"right\", style: Object.assign({ paddingRight: 5, fontWeight: 500, verticalAlign: 'top' }, paraGraphDefaultStyle) }, \"Value:\"),\r\n React.createElement(\"td\", { \"data-testid\": `${name}-field-value`, style: Object.assign({ display: 'block', maxWidth: 100 }, paraGraphDefaultStyle) },\r\n !isValueWrappedInPre && (React.createElement(\"p\", { title: value, style: Object.assign(Object.assign({}, paraGraphDefaultStyle), { margin: 0, padding: 0 }) }, value)),\r\n isValueWrappedInPre && (React.createElement(\"div\", { style: Object.assign(Object.assign({}, paraGraphDefaultStyle), { margin: 0, padding: 0 }) }, value))))),\r\n React.createElement(\"tr\", null,\r\n React.createElement(\"td\", { align: \"right\", style: Object.assign({ paddingRight: 5, fontWeight: 500, verticalAlign: 'top' }, paraGraphDefaultStyle) }, \"Touched:\"),\r\n React.createElement(\"td\", null,\r\n React.createElement(\"code\", { style: Object.assign(Object.assign({ color: isTouched ? colors.green : colors.lightPink }, paraGraphDefaultStyle), { fontSize: 12 }) }, isTouched ? 'true' : 'false'))),\r\n React.createElement(\"tr\", null,\r\n React.createElement(\"td\", { align: \"right\", style: Object.assign({ paddingRight: 5, fontWeight: 500, verticalAlign: 'top' }, paraGraphDefaultStyle) }, \"Dirty:\"),\r\n React.createElement(\"td\", null,\r\n React.createElement(\"code\", { style: Object.assign(Object.assign({ color: isDirty ? colors.green : colors.lightPink }, paraGraphDefaultStyle), { fontSize: 12 }) }, isDirty ? 'true' : 'false')))))));\r\n};\n\nconst FormStateTable = ({ formState, showFormState, setShowFormState, }) => (React.createElement(\"div\", { style: {\r\n alignSelf: 'end',\r\n } },\r\n React.createElement(Animate, { play: showFormState, start: { opacity: 0 }, end: { opacity: 1 }, render: ({ style }) => (React.createElement(\"table\", { style: Object.assign({ padding: '5px 10px', display: 'block', background: 'black', borderTop: `1px solid ${colors.lightPink}`, pointerEvents: 'none' }, style) },\r\n React.createElement(\"tbody\", null,\r\n React.createElement(\"tr\", null,\r\n React.createElement(\"td\", { align: \"right\", style: Object.assign({ width: 90 }, paraGraphDefaultStyle) }, \"Valid:\"),\r\n React.createElement(\"td\", { style: Object.assign({ color: formState.isValid ? colors.green : colors.lightPink }, paraGraphDefaultStyle) }, formState.isValid ? 'true' : 'false')),\r\n React.createElement(\"tr\", null,\r\n React.createElement(\"td\", { align: \"right\", style: Object.assign({}, paraGraphDefaultStyle) }, \"Dirty:\"),\r\n React.createElement(\"td\", { style: Object.assign({ color: formState.isDirty ? colors.green : colors.lightPink }, paraGraphDefaultStyle) }, formState.isDirty ? 'true' : 'false')),\r\n React.createElement(\"tr\", null,\r\n React.createElement(\"td\", { align: \"right\", style: Object.assign({}, paraGraphDefaultStyle) }, \"Submitted:\"),\r\n React.createElement(\"td\", { style: Object.assign({ color: formState.isSubmitted\r\n ? colors.green\r\n : colors.lightPink }, paraGraphDefaultStyle) }, formState.isSubmitted ? 'true' : 'false')),\r\n React.createElement(\"tr\", null,\r\n React.createElement(\"td\", { align: \"right\", style: Object.assign({}, paraGraphDefaultStyle) }, \"Count:\"),\r\n React.createElement(\"td\", { style: Object.assign({ color: formState.submitCount\r\n ? colors.green\r\n : colors.lightPink }, paraGraphDefaultStyle) }, formState.submitCount)),\r\n React.createElement(\"tr\", null,\r\n React.createElement(\"td\", { align: \"right\", style: Object.assign({}, paraGraphDefaultStyle) }, \"Submitting:\"),\r\n React.createElement(\"td\", { style: Object.assign({ color: formState.isSubmitting\r\n ? colors.green\r\n : colors.lightPink }, paraGraphDefaultStyle) }, formState.isSubmitting ? 'true' : 'false'))))) }),\r\n React.createElement(Button, { style: {\r\n margin: 0,\r\n width: '100%',\r\n padding: '8px 10px',\r\n textTransform: 'none',\r\n fontSize: 12,\r\n lineHeight: '14px',\r\n cursor: 'pointer',\r\n }, title: \"Toggle form state panel\", onClick: () => {\r\n setShowFormState(!showFormState);\r\n } },\r\n React.createElement(\"span\", { style: {\r\n transition: '0.5s all',\r\n color: formState.isValid ? colors.green : colors.lightPink,\r\n } }, \"\\u25A0\"),\r\n ' ',\r\n \"Form State: \",\r\n showFormState ? 'OFF' : 'ON')));\n\nfunction setVisible(state, payload) {\r\n return Object.assign(Object.assign({}, state), { visible: payload });\r\n}\r\nfunction setCollapse(state, payload) {\r\n return Object.assign(Object.assign({}, state), { isCollapse: payload });\r\n}\n\nlet childIndex = 0;\r\nfunction PanelChildren({ fields, searchTerm, touchedFields, errors, dirtyFields, state, fieldsValues, }) {\r\n return (React.createElement(React.Fragment, null, fields &&\r\n Object.entries(fields)\r\n .filter(([name]) => ((name &&\r\n name.toLowerCase &&\r\n name.toLowerCase().includes(searchTerm)) ||\r\n (!name && !searchTerm) ||\r\n searchTerm === '') &&\r\n name)\r\n .map(([name, value], index) => {\r\n childIndex++;\r\n if (!(value === null || value === void 0 ? void 0 : value._f)) {\r\n return (React.createElement(PanelChildren, Object.assign({ key: name + childIndex }, {\r\n fields: value,\r\n searchTerm,\r\n touchedFields,\r\n errors,\r\n dirtyFields,\r\n state,\r\n fieldsValues,\r\n })));\r\n }\r\n else {\r\n const error = get(errors, value._f.name);\r\n const errorMessage = get(error, 'message', undefined);\r\n const errorType = get(error, 'type', undefined);\r\n const type = get(value, 'ref.type', undefined);\r\n const isTouched = !!get(touchedFields, value._f.name);\r\n const isNative = !!(value && value._f.ref.type);\r\n const isDirty = !!get(dirtyFields, value._f.name);\r\n const hasError = !!error;\r\n const ref = get(value, '_f.ref');\r\n return (React.createElement(\"section\", { key: (value === null || value === void 0 ? void 0 : value._f.name) + childIndex, style: {\r\n borderBottom: `1px dashed ${colors.secondary}`,\r\n margin: 0,\r\n } },\r\n React.createElement(PanelTable, { refObject: ref, index: index, collapseAll: state.isCollapse, name: value === null || value === void 0 ? void 0 : value._f.name, isTouched: isTouched, type: type, hasError: hasError, isNative: isNative, errorMessage: errorMessage, errorType: errorType, isDirty: isDirty, fieldsValues: fieldsValues })));\r\n }\r\n })));\r\n}\r\nconst Panel = ({ control, control: { _fields } }) => {\r\n const formState = useFormState({\r\n control,\r\n });\r\n const { dirtyFields, touchedFields, errors } = formState;\r\n formState.isDirty;\r\n const { state, actions } = useStateMachine({\r\n setCollapse,\r\n });\r\n const [, setData] = React.useState({});\r\n const [showFormState, setShowFormState] = React.useState(false);\r\n const fieldsValues = useWatch({\r\n control,\r\n });\r\n const { register, watch } = useForm();\r\n const searchTerm = watch('search', '');\r\n useEffect(() => {\r\n setData({});\r\n }, []);\r\n return (React.createElement(\"div\", { style: {\r\n display: 'grid',\r\n gridTemplateRows: '56px auto',\r\n height: process.env.NODE_ENV === 'test' ? '100vh' : 'calc(100vh - 40px)',\r\n } },\r\n React.createElement(\"div\", { style: {\r\n display: 'grid',\r\n gridTemplateColumns: `1fr 1fr`,\r\n gridTemplateRows: '28px 28px',\r\n } },\r\n React.createElement(Button, { style: {\r\n borderRight: `1px solid ${colors.primary}`,\r\n textTransform: 'none',\r\n fontSize: 11,\r\n lineHeight: 1,\r\n }, title: \"Update values and state the form\", onClick: () => setData({}) }, \"\\u267A REFRESH\"),\r\n React.createElement(Button, { style: {\r\n borderRight: `1px solid ${colors.primary}`,\r\n textTransform: 'none',\r\n fontSize: 11,\r\n lineHeight: 1,\r\n }, title: \"Toggle entire fields\", onClick: () => {\r\n actions.setCollapse(!state.isCollapse);\r\n } }, state.isCollapse ? '[-] COLLAPSE' : '[+] EXPAND'),\r\n React.createElement(Input, Object.assign({ style: {\r\n display: 'inline-block',\r\n borderRadius: 0,\r\n width: '100%',\r\n margin: 0,\r\n padding: '5px 10px',\r\n WebkitAppearance: 'none',\r\n appearance: 'none',\r\n fontSize: 14,\r\n border: 0,\r\n color: 'white',\r\n gridColumnStart: 1,\r\n gridColumnEnd: 4,\r\n background: 'black',\r\n } }, register('search'), { placeholder: \"Filter name...\", type: \"search\" }))),\r\n React.createElement(\"div\", { style: {\r\n overflow: 'auto',\r\n } },\r\n React.createElement(PanelChildren, { fields: _fields, searchTerm: searchTerm, errors: errors, touchedFields: touchedFields, dirtyFields: dirtyFields, fieldsValues: fieldsValues, state: state })),\r\n React.createElement(FormStateTable, { formState: formState, showFormState: showFormState, setShowFormState: setShowFormState })));\r\n};\n\nconst Logo = ({ style, actions, }) => {\r\n return (React.createElement(\"svg\", { fill: \"white\", viewBox: \"0 0 100 100\", style: Object.assign({ height: 14, padding: 3, borderRadius: 2, background: colors.lightPink }, style), onClick: () => {\r\n actions.setVisible(true);\r\n }, \"aria-label\": \"React Hook Form Logo\" },\r\n React.createElement(\"path\", { d: \"M73.56,13.32H58.14a8.54,8.54,0,0,0-16.27,0H26.44a11,11,0,0,0-11,11V81.63a11,11,0,0,0,11,11H73.56a11,11,0,0,0,11-11V24.32A11,11,0,0,0,73.56,13.32Zm-30.92,2a1,1,0,0,0,1-.79,6.54,6.54,0,0,1,12.78,0,1,1,0,0,0,1,.79h5.38v6.55a3,3,0,0,1-3,3H40.25a3,3,0,0,1-3-3V15.32ZM82.56,81.63a9,9,0,0,1-9,9H26.44a9,9,0,0,1-9-9V24.32a9,9,0,0,1,9-9h8.81v6.55a5,5,0,0,0,5,5h19.5a5,5,0,0,0,5-5V15.32h8.81a9,9,0,0,1,9,9Z\" }),\r\n React.createElement(\"path\", { style: { transform: 'translateX(-25px)' }, d: \"M71.6,45.92H54a1,1,0,0,0,0,2H71.6a1,1,0,0,0,0-2Z\" }),\r\n React.createElement(\"path\", { d: \"M71.6,45.92H54a1,1,0,0,0,0,2H71.6a1,1,0,0,0,0-2Z\" }),\r\n React.createElement(\"path\", { style: { transform: 'translateX(-25px)' }, d: \"M71.1,69.49H53.45a1,1,0,1,0,0,2H71.1a1,1,0,0,0,0-2Z\" }),\r\n React.createElement(\"path\", { d: \"M71.1,69.49H53.45a1,1,0,1,0,0,2H71.1a1,1,0,0,0,0-2Z\" })));\r\n};\n\nfunction getPositionByPlacement(placement, defaultX = 0, defaultY = 0) {\r\n const [x, y] = placement.split('-');\r\n return {\r\n [x]: defaultX,\r\n [y]: defaultY,\r\n };\r\n}\n\nconst DevToolUI = ({ control, placement = 'top-right', styles, }) => {\r\n const { state, actions } = useStateMachine({\r\n setVisible,\r\n });\r\n const position = getPositionByPlacement(placement, 0, 0);\r\n return (React.createElement(React.Fragment, null,\r\n React.createElement(Animate, { play: state.visible, duration: 0.2, start: Object.assign(Object.assign({}, position), { position: 'fixed', transform: placement.includes('right')\r\n ? 'translateX(280px)'\r\n : 'translateX(-280px)', zIndex: 99999 }), end: Object.assign(Object.assign({}, position), { position: 'fixed', transform: 'translateX(0)', zIndex: 99999 }) },\r\n React.createElement(\"div\", { style: Object.assign(Object.assign(Object.assign({}, position), { position: 'fixed', height: '100vh', width: 250, zIndex: 99999, background: colors.buttonBlue, display: 'grid', textAlign: 'left', color: 'white', fontSize: 14, gridTemplateRows: '40px auto', fontFamily: \"-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif\" }), styles === null || styles === void 0 ? void 0 : styles.panel) },\r\n React.createElement(Header, { setVisible: actions.setVisible, control: control }),\r\n React.createElement(Panel, { control: control }))),\r\n !state.visible && (React.createElement(Button, { title: \"Show dev panel\", hideBackground: true, style: Object.assign(Object.assign(Object.assign({ position: 'fixed', zIndex: 99999 }, getPositionByPlacement(placement, 3, 3)), { padding: 3, margin: 0, background: 'none' }), styles === null || styles === void 0 ? void 0 : styles.button) },\r\n React.createElement(Logo, { actions: actions })))));\r\n};\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\n\nfunction proxyToObject(proxy) {\r\n return Reflect.ownKeys(proxy).reduce((prev, key) => {\r\n prev[key] = proxy[key];\r\n return prev;\r\n }, {});\r\n}\r\nfunction nestToFlat(flatKeys, obj, defaultValue) {\r\n return flatKeys.reduce((prev, name) => {\r\n // nested field may be `undefined`\r\n prev[name] = get$1(obj, name) || defaultValue;\r\n return prev;\r\n }, {});\r\n}\n\nfunction useExportControlToExtension({ id, control, }) {\r\n const nestedFormValues = useWatch({ control });\r\n const formState = useFormState({ control });\r\n const [isExtensionEnabled, setIsExtensionEnabled] = useState(false);\r\n const handleInitMessage = (message) => {\r\n if (message.data.source !== 'react-hook-form-bridge' ||\r\n message.data.type !== 'INIT') {\r\n return;\r\n }\r\n window.postMessage({\r\n source: 'react-hook-form-bridge',\r\n type: 'WELCOME',\r\n });\r\n setIsExtensionEnabled(true);\r\n };\r\n useEffect(() => {\r\n window.addEventListener('message', handleInitMessage);\r\n return () => window.removeEventListener('message', handleInitMessage);\r\n }, []);\r\n useDeepCompareEffect(() => {\r\n if (!isExtensionEnabled) {\r\n return;\r\n }\r\n const _a = proxyToObject(formState), { errors: nestedErrors, dirtyFields: nestedDirtyFields, touchedFields: nestedTouchedFields } = _a, formStatus = __rest(_a, [\"errors\", \"dirtyFields\", \"touchedFields\"]);\r\n const flatFieldNames = [...control._names.mount];\r\n const formValues = nestToFlat(flatFieldNames, nestedFormValues, '');\r\n const dirtyFields = nestToFlat(flatFieldNames, nestedDirtyFields, false);\r\n const touchedFields = nestToFlat(flatFieldNames, nestedTouchedFields, false);\r\n const flatErrors = nestToFlat(flatFieldNames, nestedErrors);\r\n const errors = Object.entries(flatErrors).reduce((prev, [key, value]) => {\r\n prev[key] = {\r\n type: value === null || value === void 0 ? void 0 : value.type,\r\n message: value === null || value === void 0 ? void 0 : value.message,\r\n };\r\n return prev;\r\n }, {});\r\n const nativeFields = flatFieldNames.reduce((prev, name) => {\r\n var _a, _b, _c;\r\n prev[name] = !!((_c = (_b = (_a = get$1(control._fields, name)) === null || _a === void 0 ? void 0 : _a._f) === null || _b === void 0 ? void 0 : _b.ref) === null || _c === void 0 ? void 0 : _c.type);\r\n return prev;\r\n }, {});\r\n const updateMessagePayload = {\r\n id,\r\n data: {\r\n formValues,\r\n formState: Object.assign({ errors,\r\n dirtyFields,\r\n touchedFields,\r\n nativeFields }, formStatus),\r\n },\r\n };\r\n window.postMessage({\r\n source: 'react-hook-form-bridge',\r\n type: 'UPDATE',\r\n payload: updateMessagePayload,\r\n });\r\n }, [isExtensionEnabled, nestedFormValues, proxyToObject(formState)]);\r\n return { isExtensionEnabled };\r\n}\n\nif (typeof window !== 'undefined') {\r\n createStore({\r\n visible: false,\r\n isCollapse: false,\r\n filterName: '',\r\n }, {\r\n name: '__REACT_HOOK_FORM_DEVTOOLS__',\r\n middleWares: [],\r\n storageType: window.localStorage,\r\n });\r\n}\r\nconst DevTool = (props) => {\r\n var _a, _b, _c;\r\n const methods = useFormContext();\r\n const uuid = React.useRef('');\r\n React.useEffect(() => {\r\n uuid.current = v4();\r\n }, []);\r\n const { isExtensionEnabled } = useExportControlToExtension({\r\n id: (_a = props === null || props === void 0 ? void 0 : props.id) !== null && _a !== void 0 ? _a : uuid.current,\r\n control: (_b = props === null || props === void 0 ? void 0 : props.control) !== null && _b !== void 0 ? _b : methods.control,\r\n });\r\n if (isExtensionEnabled) {\r\n return null;\r\n }\r\n return (React.createElement(StateMachineProvider, null,\r\n React.createElement(DevToolUI, { control: (_c = props === null || props === void 0 ? void 0 : props.control) !== null && _c !== void 0 ? _c : methods.control, placement: props === null || props === void 0 ? void 0 : props.placement, styles: props === null || props === void 0 ? void 0 : props.styles })));\r\n};\n\nexport { DevTool };\n//# sourceMappingURL=index.esm.js.map\n","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e(require(\"react\")):\"function\"==typeof define&&define.amd?define([\"react\"],e):\"object\"==typeof exports?exports.ReactConfetti=e(require(\"react\")):t.ReactConfetti=e(t.React)}(\"undefined\"!=typeof self?self:this,(function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,\"a\",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p=\"\",n(n.s=2)}([function(e,n){e.exports=t},function(t,e,n){\"use strict\";var r={linear:function(t,e,n,r){return(n-e)*t/r+e},easeInQuad:function(t,e,n,r){return(n-e)*(t/=r)*t+e},easeOutQuad:function(t,e,n,r){return-(n-e)*(t/=r)*(t-2)+e},easeInOutQuad:function(t,e,n,r){var i=n-e;return(t/=r/2)<1?i/2*t*t+e:-i/2*(--t*(t-2)-1)+e},easeInCubic:function(t,e,n,r){return(n-e)*(t/=r)*t*t+e},easeOutCubic:function(t,e,n,r){return(n-e)*((t=t/r-1)*t*t+1)+e},easeInOutCubic:function(t,e,n,r){var i=n-e;return(t/=r/2)<1?i/2*t*t*t+e:i/2*((t-=2)*t*t+2)+e},easeInQuart:function(t,e,n,r){return(n-e)*(t/=r)*t*t*t+e},easeOutQuart:function(t,e,n,r){return-(n-e)*((t=t/r-1)*t*t*t-1)+e},easeInOutQuart:function(t,e,n,r){var i=n-e;return(t/=r/2)<1?i/2*t*t*t*t+e:-i/2*((t-=2)*t*t*t-2)+e},easeInQuint:function(t,e,n,r){return(n-e)*(t/=r)*t*t*t*t+e},easeOutQuint:function(t,e,n,r){return(n-e)*((t=t/r-1)*t*t*t*t+1)+e},easeInOutQuint:function(t,e,n,r){var i=n-e;return(t/=r/2)<1?i/2*t*t*t*t*t+e:i/2*((t-=2)*t*t*t*t+2)+e},easeInSine:function(t,e,n,r){var i=n-e;return-i*Math.cos(t/r*(Math.PI/2))+i+e},easeOutSine:function(t,e,n,r){return(n-e)*Math.sin(t/r*(Math.PI/2))+e},easeInOutSine:function(t,e,n,r){return-(n-e)/2*(Math.cos(Math.PI*t/r)-1)+e},easeInExpo:function(t,e,n,r){return 0==t?e:(n-e)*Math.pow(2,10*(t/r-1))+e},easeOutExpo:function(t,e,n,r){var i=n-e;return t==r?e+i:i*(1-Math.pow(2,-10*t/r))+e},easeInOutExpo:function(t,e,n,r){var i=n-e;return 0===t?e:t===r?e+i:(t/=r/2)<1?i/2*Math.pow(2,10*(t-1))+e:i/2*(2-Math.pow(2,-10*--t))+e},easeInCirc:function(t,e,n,r){return-(n-e)*(Math.sqrt(1-(t/=r)*t)-1)+e},easeOutCirc:function(t,e,n,r){return(n-e)*Math.sqrt(1-(t=t/r-1)*t)+e},easeInOutCirc:function(t,e,n,r){var i=n-e;return(t/=r/2)<1?-i/2*(Math.sqrt(1-t*t)-1)+e:i/2*(Math.sqrt(1-(t-=2)*t)+1)+e},easeInElastic:function(t,e,n,r){var i,o,a,c=n-e;return a=1.70158,0===t?e:1==(t/=r)?e+c:((o=0)||(o=.3*r),(i=c)=1&&this.rotationDirection===i.Positive?this.rotationDirection=i.Negative:this.rotateY<=-1&&this.rotationDirection===i.Negative&&(this.rotationDirection=i.Positive);var s=.1*this.rotationDirection;if(this.rotateY+=s,this.angle+=this.angularSpin,this.context.save(),this.context.translate(this.x,this.y),this.context.rotate(this.angle),this.context.scale(1,this.rotateY),this.context.rotate(this.angle),this.context.beginPath(),this.context.fillStyle=this.color,this.context.strokeStyle=this.color,this.context.globalAlpha=a,this.context.lineCap=\"round\",this.context.lineWidth=2,c&&\"function\"==typeof c)c.call(this,this.context);else switch(this.shape){case r.Circle:this.context.beginPath(),this.context.arc(0,0,this.radius,0,2*Math.PI),this.context.fill();break;case r.Square:this.context.fillRect(-this.w/2,-this.h/2,this.w,this.h);break;case r.Strip:this.context.fillRect(-this.w/6,-this.h/2,this.w/3,this.h)}this.context.closePath(),this.context.restore()}}])&&f(e.prototype,n),o&&f(e,o),t}();function p(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var v=function t(e,n){var r=this;!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),p(this,\"canvas\",void 0),p(this,\"context\",void 0),p(this,\"getOptions\",void 0),p(this,\"x\",0),p(this,\"y\",0),p(this,\"w\",0),p(this,\"h\",0),p(this,\"lastNumberOfPieces\",0),p(this,\"tweenInitTime\",Date.now()),p(this,\"particles\",[]),p(this,\"particlesGenerated\",0),p(this,\"removeParticleAt\",(function(t){r.particles.splice(t,1)})),p(this,\"getParticle\",(function(){var t=u(r.x,r.w+r.x),e=u(r.y,r.h+r.y);return new l(r.context,r.getOptions,t,e)})),p(this,\"animate\",(function(){var t=r.canvas,e=r.context,n=r.particlesGenerated,i=r.lastNumberOfPieces,o=r.getOptions(),a=o.run,c=o.recycle,s=o.numberOfPieces,u=o.debug,f=o.tweenFunction,h=o.tweenDuration;if(!a)return!1;var l=r.particles.length,p=c?l:n,v=Date.now();if(ph?h:Math.max(0,v-y),p,s,h),b=Math.round(d-p),g=0;gt.height||e.y<-100||e.x>t.width+100||e.x<-100)&&(c&&p<=s?r.particles[n]=r.getParticle():r.removeParticleAt(n))})),l>0||p0&&n.call(r,r),r._options.run=!1)})),g(this,\"reset\",(function(){r.generator&&r.generator.particlesGenerated>0&&(r.generator.particlesGenerated=0,r.generator.particles=[],r.generator.lastNumberOfPieces=0)})),g(this,\"stop\",(function(){r.options={run:!1},r.rafId&&(cancelAnimationFrame(r.rafId),r.rafId=void 0)})),this.canvas=e;var i=this.canvas.getContext(\"2d\");if(!i)throw new Error(\"Could not get canvas context\");this.context=i,this.generator=new v(this.canvas,(function(){return r.options})),this.options=n,this.update()}var e,n,r;return e=t,(n=[{key:\"options\",get:function(){return this._options},set:function(t){var e=this._options&&this._options.run,n=this._options&&this._options.recycle;this.setOptionsWithDefaults(t),this.generator&&(Object.assign(this.generator,this.options.confettiSource),\"boolean\"==typeof t.recycle&&t.recycle&&!1===n&&(this.generator.lastNumberOfPieces=this.generator.particles.length)),\"boolean\"==typeof t.run&&t.run&&!1===e&&this.update()}}])&&b(e.prototype,n),r&&b(e,r),t}();function m(t){return function(t){if(Array.isArray(t))return C(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||S(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function x(t){return(x=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}function P(){return(P=Object.assign||function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=new Array(e);n1?n-1:0),c=1;c>(({className, ...restProps}, ref) => {\n const {register, formState, setValue} = useFormContext()\n const {t} = useTranslation()\n const openDialogAtTab = useTabbedPrivacyDialogStore(state => state.selectTab)\n const openPrivacyPolicy = () => openDialogAtTab(PrivacyDialogTab.PrivacyPolicy)\n\n register('gender', {required: false})\n\n return (\n \n

{t('eufe:claimContactHelpText')}

\n setValue('gender', value)}\n />\n \n \n \n \n \n \n {\n e.preventDefault()\n openPrivacyPolicy()\n }}\n />\n ),\n }}\n />\n \n \n )\n})\n","import {create} from 'zustand'\n\ninterface CarSelectionState {\n selectedId: string | null\n selectId: (id: string) => void\n removeId: (id: string) => void\n clearId: () => void\n}\n\nexport const useCarSelectionStore = create()((set) => ({\n selectedId: null,\n selectId: (id) =>\n set((state) => ({\n ...state,\n selectedId: id,\n })),\n removeId: (id) =>\n set((state) => ({\n ...state,\n selectedId: state.selectedId === id ? null : state.selectedId,\n })),\n clearId: () =>\n set((state) => ({\n ...state,\n selectedId: null,\n })),\n}))\n","import {useEffect} from 'react'\nimport {useParams} from 'react-router-dom'\nimport {Trans} from 'react-i18next'\n\nimport {twMerge} from '@sdox/utils'\nimport {Teaser} from '@sdox/ui'\nimport {useRecords} from '@sdox/ui-xc'\n\nimport {useCarSelectionStore} from '../stores/CarSelectionStore'\n\nimport type {XcRecordBaseFragment} from '@sdox/api'\n\nexport const CarSelection = () => {\n const {documentId} = useParams()\n const {records} = useRecords(['XCNwDataType', 'XCSeDataType'])\n const {selectedId, selectId} = useCarSelectionStore()\n\n useEffect(() => {\n if (documentId) {\n selectId(documentId)\n }\n }, [documentId, selectId])\n\n return (\n <>\n

\n }}\n />\n

\n
\n \n {records.map(({id, xcMediaRef}, index) => {\n const active = selectedId === id\n return (\n selectId(id)}\n withCheckbox={true}\n />\n )\n })}\n \n
\n \n )\n}\n","import {faCheckCircle} from '@fortawesome/pro-light-svg-icons'\nimport {DevTool} from '@hookform/devtools'\nimport {useRef} from 'react'\nimport Confetti from 'react-confetti'\nimport {FormProvider, useForm} from 'react-hook-form'\nimport {useParams} from 'react-router-dom'\nimport {toast} from 'react-toastify'\nimport {useTranslation} from 'react-i18next'\n\nimport {Center, FaIcon, Headline, useDebugStore, Wizard} from '@sdox/ui'\nimport {useRequestContactPersonCtaMutation} from '@sdox/api'\n\nimport {ClaimForm} from './ClaimForm'\nimport {CarSelection} from './CarSelection'\nimport {useCarSelectionStore} from '../stores/CarSelectionStore'\n\nimport type {EufeRequestContactPersonCtaInput} from '@sdox/api'\n\nconst SuccessMessage = () => {\n const successIconRef = useRef(null)\n const {t} = useTranslation()\n\n return (\n
\n
\n \n
\n \n {t('eufe:claimSentSuccessfully')}\n
\n )\n}\n\nexport const ClaimWizardContent = () => {\n const [ctaAction] = useRequestContactPersonCtaMutation()\n const {t} = useTranslation()\n // INFO: this wording is wrong, it is the exposeFolderRecordId not the documentId :)\n const {seFolderSlug, documentId} = useParams()\n if (!documentId) throw new Error(t('common:error.devSymbolNotFound', {symbol: 'documentId', parent: 'route'}))\n const isDebug = useDebugStore().isDebugOnMode('data')\n const {selectedId} = useCarSelectionStore()\n\n const methods = useForm({mode: 'all'})\n\n const showError = () => {\n toast.error(t('common:error.requestRetry'))\n }\n\n const action = async (): Promise => {\n if (!methods.formState.isValid) {\n return false\n }\n const data = methods.getValues() as EufeRequestContactPersonCtaInput\n\n try {\n const response = await ctaAction({\n variables: {\n inp: {...data, extra: {selectedIds: [selectedId]}, exposeFolderSlug: seFolderSlug},\n exposeFolderRecordId: documentId,\n },\n })\n if (response.data?.eufeRequestContactPersonCta.__typename === 'ErrorType'){\n showError()\n return false\n }\n return true\n } catch (e) {\n showError()\n }\n return false\n }\n\n return (\n
\n \n {t('common:inquiry')}\n \n ,\n disableNext: selectedId === null,\n },\n {\n title: t('common:sendInquiry'),\n content: (\n \n \n \n ),\n disableNext: !methods.formState.isValid,\n action,\n },\n ]}\n successMessage={}\n />\n {isDebug && }\n
\n )\n}\n","import {useSearchParams} from 'react-router-dom'\n\nimport {AndroidA2HSPopup, IosA2HSPopup, SlideIn, useIOS} from '@sdox/ui'\nimport {Panel, usePanelStore} from '@sdox/ui-xc'\n\nexport const AddToHomeScreenModal = () => {\n const [search] = useSearchParams()\n const panel = usePanelStore((state) => state.panel)\n const scrollPos = usePanelStore((state) => state.scrollPos)\n const setShowPanel = usePanelStore((state) => state.setShowPanel)\n const isIOS = useIOS()\n const isFakeIos = search.get('fakeIos') === '1'\n\n const close = () => {\n // reset scroll position when the slide in es closed.\n // scroll position was saved in MobileBottomMenu when the save dialog is opened\n window.scrollTo({top: scrollPos})\n setShowPanel(Panel.NONE)\n }\n\n return (\n \n {isIOS || isFakeIos ? : }\n \n )\n}\n","import {SalutationTypeEnum} from '@sdox/api'\nimport {SlideIn} from '@sdox/ui'\nimport {CustomerContent, useFolderFragment, VCardButton, Panel, usePanelStore} from '@sdox/ui-xc'\n\nconst vcard_dialog_message: Record = {\n [SalutationTypeEnum.TypeFormalSalutation]: 'Ich freue mich über Ihre Kontaktaufnahme',\n [SalutationTypeEnum.TypeInformalSalutation]: 'Ich freue mich über deine Kontaktaufnahme',\n}\n\nexport const ContactSlideIn = () => {\n const {salutationType} = useFolderFragment()\n const showPanel = usePanelStore((state) => state.panel)\n const closePanel = usePanelStore((state) => state.closePanel)\n\n return (\n \n \n \n \n )\n}\n","import {AnimatePresence} from 'framer-motion'\nimport {useEffect} from 'react'\nimport {useLocation} from 'react-router-dom'\n\nimport {SidePanel} from '@sdox/ui'\nimport {Panel, usePanelStore} from '@sdox/ui-xc'\n\nimport {Camera} from '../Camera'\nimport {ClaimWizardContent} from '../ClaimWizardContent'\nimport {AddToHomeScreenModal} from './AddToHomeScreenModal'\nimport {ContactSlideIn} from './ContactSlideIn'\n\nexport const Menus = () => {\n const showPanel = usePanelStore((state) => state.panel)\n const closePanel = usePanelStore((state) => state.closePanel)\n const location = useLocation()\n\n useEffect(() => {\n closePanel()\n // TODO check if adding deps changes the hook behaivor - in a separate MR\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [location.key])\n\n return (\n \n \n \n \n \n \n \n \n \n \n )\n}\n","import {useEffect} from 'react'\nimport {Outlet} from 'react-router-dom'\n\nimport {twMerge} from '@sdox/utils'\nimport {Feed, Footer, useFeed, useFolderFragment} from '@sdox/ui-xc'\nimport {Layout} from '@sdox/ui'\n\nimport styles from './feed.module.scss'\n\nexport const FeedFolderRenderer = () => {\n const [isFeedOpen] = useFeed()\n const {salutationType, salutationText, xcRecords} = useFolderFragment()\n\n useEffect(() => {\n // TODO: maybe we should add custom class that we can toggle, which sets overflow:hidden\n // the way it is currently done could interfere with other implementations that set classes on the body\n if (isFeedOpen) {\n document.querySelector('body')?.classList.add(styles.body)\n } else {\n document.querySelector('body')?.classList.remove(styles.body)\n }\n }, [isFeedOpen])\n\n return (\n
\n \n \n
\n \n \n \n \n
\n )\n}\n","import {AnimatePresence} from 'framer-motion'\n\nimport {ThemeProvider, useFolderFragment, useThemeOnElementById} from '@sdox/ui-xc'\n\nimport {useRedirects} from '../hooks/useRedirects'\nimport {Debugger} from './Debugger'\nimport {Menus} from './Menu/Menus'\nimport {FeedFolderRenderer} from './renderers/FeedRenderer/FeedFolderRenderer'\n\nexport const FolderLayout = () => {\n const {office} = useFolderFragment()\n useRedirects()\n useThemeOnElementById({elementId: 'headlessui-portal-root', themeId: office.xcTheme?.id})\n\n return (\n \n \n \n \n \n \n \n )\n}\n","import {useParams} from 'react-router-dom'\nimport {useEffect} from 'react'\nimport {setTag} from '@sentry/react'\n\nimport {DisclaimerDialog} from '@sdox/ui'\nimport {SentryTag} from '@sdox/utils/dom'\nimport {ExposeFolderContextProvider, FirstVisitDialog, TabbedPrivacyDialog} from '@sdox/ui-xc'\n\nimport {FolderLayout} from '../components/FolderLayout'\n\nconst FolderPage = () => {\n const {seFolderSlug = ''} = useParams()\n\n useEffect(() => {\n setTag(SentryTag.FolderSlug, seFolderSlug)\n }, [seFolderSlug])\n\n return (\n \n \n \n \n \n \n )\n}\n\nexport default FolderPage\n"],"file":"assets/Folder-CrlRjlhR.js"}