@apia/api 0.1.3 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/ApiaApiContext.tsx","../src/apiaApi.ts","../src/fields/ApiaApiCheckbox.tsx","../src/fields/ApiaApiFileInput.tsx","../src/fields/ApiaApiInput.tsx","../src/fields/ApiaApiRadio.tsx","../src/fields/ApiaApiSelect.tsx","../src/fields/ApiaApiFieldsContainer.tsx","../src/buttons/ApiaApiButtonsContainer.tsx","../src/ApiaApiHandler.tsx"],"sourcesContent":["import { createContext } from 'react';\nimport * as React from 'react';\n\nlet apiaApiId: string | undefined;\n\nexport function getApiaApiId() {\n if (!apiaApiId) throw new Error('There is no apia api id');\n return apiaApiId;\n}\n\nconst ApiaApiId = createContext<string | undefined>('apiaApi');\n\nconst ApiaApiContext = ({\n children,\n id,\n}: {\n id: string;\n children: React.ReactNode;\n}) => {\n apiaApiId = id;\n return <ApiaApiId.Provider value={id}>{children}</ApiaApiId.Provider>;\n};\n\nexport default React.memo(ApiaApiContext);\n","/* eslint-disable @typescript-eslint/no-invalid-void-type */\nimport axios, { AxiosResponse } from 'axios';\nimport { merge } from 'lodash';\nimport QueryString from 'qs';\nimport { session } from '@apia/session';\nimport {\n arrayOrArray,\n parseXmlAsync,\n EventEmitter,\n TModify,\n TApiaAction,\n TApiaSystemMessageObj,\n debugDispatcher,\n TNotificationMessage,\n} from '@apia/util';\nimport {\n dispatchNotifications,\n getNotificationMessageObj,\n notify,\n} from '@apia/notifications';\nimport { handle } from './ApiaApiHandler';\nimport {\n IApiaApiRequestConfig,\n TApiaApiConfigurator,\n TApiaApiResult,\n TColors,\n} from './types';\n\ndebugDispatcher.on(\n 'parseXml',\n async ([text]) => {\n const result = await parseXmlAsync<unknown>(text as string);\n console.info(result);\n },\n 'Acepta un parámetro de tipo string y realiza un parseo como si fuera xml, convirtiéndolo a objeto javascript.',\n);\n\nconst defaultConfig: IApiaApiRequestConfig<unknown> = {\n debug: true,\n colors: {\n exception: 'red',\n alert: 'yellow',\n message: 'lightgreen',\n },\n handleLoad: false,\n};\n\nconst STORED_CONFIG = 'ApiaApiConfig';\n\nlet forcedConfig: Partial<IApiaApiRequestConfig<unknown>> = {};\nconst storedConfig = localStorage.getItem(STORED_CONFIG);\nif (storedConfig)\n forcedConfig = JSON.parse(storedConfig) as Partial<\n IApiaApiRequestConfig<unknown>\n >;\n\nexport function getApiaApiConfigurator(): TApiaApiConfigurator {\n return {\n reset() {\n forcedConfig = {};\n localStorage.removeItem(STORED_CONFIG);\n },\n config(newConfig) {\n if (\n newConfig.notificationsCategory ||\n newConfig.axiosConfig ||\n newConfig.modalConfiguration ||\n newConfig.handleLoad ||\n newConfig.queryData ||\n newConfig.stringifyOptions ||\n newConfig.validateResponse\n )\n throw new Error('Operación ilegal');\n\n const toStoreConfig = merge(forcedConfig, newConfig);\n localStorage.setItem(STORED_CONFIG, JSON.stringify(toStoreConfig));\n forcedConfig = toStoreConfig;\n console.log('Se guardó la configuración correctamente', {\n config: toStoreConfig,\n });\n },\n shout() {\n console.log({ config: getConfig({}) });\n },\n theme(theme) {\n if (theme.toLowerCase() === 'dark') {\n getApiaApiConfigurator().config({\n colors: {\n exception: 'red',\n alert: 'yellow',\n message: 'lightgreen',\n },\n });\n } else if (theme.toLowerCase() === 'light') {\n getApiaApiConfigurator().config({\n colors: {\n exception: 'red',\n alert: '#e0e006',\n message: 'darkgreen',\n },\n });\n } else {\n console.log(`Tema ${theme} desconocido, prueba 'light' o 'dark'.`);\n return;\n }\n\n console.log(`Tema ${theme} establecido correctamente.`);\n },\n };\n}\n\nfunction getConfig<LoadType>(\n outerBehaveConfig?: IApiaApiRequestConfig<LoadType>,\n) {\n return merge({}, defaultConfig, outerBehaveConfig, forcedConfig);\n}\n\nfunction makeUrl(\n url: string,\n queryData: IApiaApiRequestConfig<unknown>['queryData'],\n stringifyOptions: IApiaApiRequestConfig<unknown>['stringifyOptions'],\n) {\n let finalUrl = url;\n const questionMarkIndex = finalUrl.indexOf('?');\n\n if (questionMarkIndex === -1) finalUrl += '?';\n else if (questionMarkIndex !== finalUrl.length - 1 && !finalUrl.endsWith('&'))\n finalUrl += '&';\n let parsedUrl = `${finalUrl}${\n queryData ? QueryString.stringify(queryData, stringifyOptions) : ''\n }`;\n if (parsedUrl.endsWith('&') || parsedUrl.endsWith('?')) {\n parsedUrl = parsedUrl.slice(0, parsedUrl.length - 1);\n }\n return parsedUrl;\n}\n\nconst getURLActionName = (url: string): string => {\n const actionIdx = url.match(/action=(\\w+)/)?.[1];\n return actionIdx ?? 'noAction';\n};\n\nexport const ApiaActions = new (class ApiaActions extends EventEmitter<{\n action: TModify<TApiaAction, { param: string[] }>;\n}> {})();\n\nfunction getColor(\n color: keyof TColors,\n colors: TColors = defaultConfig.colors ?? {\n exception: 'red',\n alert: 'yellow',\n message: 'green',\n },\n) {\n return colors[color] as string;\n}\n\nconst handleWrongResponse = (error: Error) => {\n let errorMessage: string;\n if (typeof error !== 'string') {\n if (error.message) errorMessage = error.message;\n else errorMessage = error.toString();\n } else errorMessage = error;\n\n notify({\n type: 'danger',\n message: error.message.replaceAll('AxiosError', 'Error'),\n });\n console.log('%c ', 'font-size:10vh');\n console.log('%cError in ApiaApi', 'color:red;font-size:2em;font-weight:bold');\n console.log(`red/${errorMessage}`, { error });\n console.log('%c ', 'font-size:10vh');\n};\n\nexport function isJsonResponse(response: AxiosResponse<unknown>) {\n return (response.headers['content-type'] as string).match('application/json');\n}\nexport function isXmlResponse(response: AxiosResponse<unknown>) {\n return (response.headers['content-type'] as string).match(\n /(?:application|text)?\\/xml/,\n );\n}\nexport function isHtmlResponse(response: AxiosResponse<unknown>) {\n return (response.headers['content-type'] as string).match(\n /(?:application|text)?\\/html/,\n );\n}\n\nfunction handleActions(actions: TApiaSystemMessageObj['actions']) {\n if (actions) {\n if (getConfig().debug)\n console.log(\n '%cHandled actions: ',\n `color: ${getConfig().colors?.message ?? 'green'}`,\n { actions },\n );\n const actionsArray = arrayOrArray(actions.action);\n actionsArray.forEach((action) => {\n ApiaActions.emit('action', {\n ...action,\n param: arrayOrArray(action.param),\n });\n });\n }\n}\nfunction handleOnClose({\n exceptions,\n onClose,\n sysExceptions,\n sysMessages,\n}: TModify<TNotificationMessage, { onClose: string }>) {\n try {\n import(\n /* webpackChunkName: \"api-[request]\" */ `/api/onClose/${onClose}.ts`\n ).then(\n (func: { default: () => void }) => {\n if (exceptions || sysExceptions || sysMessages) {\n const notificationsObject = getNotificationMessageObj({\n exceptions,\n onClose,\n sysExceptions,\n sysMessages,\n });\n if (notificationsObject)\n notificationsObject.forEach((notification) => {\n notify({\n ...notification,\n onClose: func.default,\n });\n });\n else func.default();\n } else func.default();\n },\n (e) => {\n notify({\n message: `onClose action not found: ${String(e)}`,\n type: 'danger',\n });\n },\n );\n } catch (e) {\n parseMessages({ exceptions, sysExceptions, sysMessages });\n console.error('Error while handling onClose');\n console.error(e);\n }\n}\n\nexport function parseMessages(response: Record<string, unknown>) {\n if (!response) return;\n const { exceptions, sysMessages, sysExceptions } = response;\n if (exceptions || sysExceptions || sysMessages) {\n try {\n dispatchNotifications({\n exceptions,\n sysExceptions,\n sysMessages,\n } as TNotificationMessage);\n } catch (e: unknown) {\n handleWrongResponse(new Error(e as string));\n }\n }\n}\n\nexport const parseSuccessfulResponse = async <\n LoadType extends Record<string, unknown>,\n>(\n response: AxiosResponse<string>,\n currentUrl: string,\n outerBehaveConfig: IApiaApiRequestConfig<LoadType> = defaultConfig,\n) => {\n const behaveConfig = getConfig(outerBehaveConfig);\n\n let parsedObj: TApiaSystemMessageObj<LoadType> | void | undefined = undefined;\n if (isJsonResponse(response)) {\n if (typeof response.data === 'string')\n parsedObj = JSON.parse(\n response.data.trim(),\n ) as TApiaSystemMessageObj<LoadType> | void;\n else if (typeof response.data === 'object' && response.data)\n parsedObj = response.data;\n } else if (isXmlResponse(response)) {\n parsedObj = await parseXmlAsync<LoadType>(response.data).catch(\n (e: unknown) => {\n handleWrongResponse(new Error(e as string));\n },\n );\n } else if (isHtmlResponse(response)) {\n console.error(\n 'El contenido devuelto es Html, no se esperaba esa respuesta',\n );\n return null;\n }\n\n if (behaveConfig.validateResponse) {\n const validateResult = await behaveConfig.validateResponse({\n ...response,\n data: parsedObj?.load ?? parsedObj,\n });\n if (typeof validateResult === 'string')\n throw new Error(`Validation error: ${validateResult}`);\n else if (!validateResult) {\n throw new Error('Error');\n }\n }\n\n if (parsedObj) {\n const {\n actions,\n onClose,\n exceptions,\n sysExceptions,\n sysMessages,\n load,\n ...rest\n } = parsedObj; // Session handling\n if (rest.code === '-1' && exceptions) {\n session.invalidate();\n return null;\n }\n\n if (exceptions && behaveConfig.debug) {\n console.log(\n `%cparseSuccessfulResponse`,\n `color: ${getColor('exception', behaveConfig.colors)}`,\n {\n exceptions,\n },\n );\n }\n if (sysExceptions && behaveConfig.debug) {\n console.log(\n `%cparseSuccessfulResponse`,\n `color: ${getColor('exception', behaveConfig.colors)}`,\n {\n sysExceptions,\n },\n );\n }\n if (sysMessages && behaveConfig.debug) {\n console.log(\n `%cparseSuccessfulResponse`,\n `color: ${getColor('alert', behaveConfig.colors)}`,\n {\n sysMessages,\n },\n );\n }\n\n handleActions(actions);\n\n if (behaveConfig.handleLoad && onClose)\n handleOnClose({\n exceptions,\n onClose,\n sysExceptions,\n sysMessages,\n });\n else parseMessages({ exceptions, sysExceptions, sysMessages });\n\n if (load) {\n if (behaveConfig.handleLoad) {\n console.log(\n `%chandleLoad`,\n `color: ${getColor('message', behaveConfig.colors)}`,\n {\n load,\n },\n );\n if (\n !handle(load, currentUrl, {\n methodsPath: outerBehaveConfig.methodsPath,\n modalConfiguration: {\n ...behaveConfig.modalConfiguration,\n onClose: () => {\n if (onClose)\n handleOnClose({\n exceptions,\n onClose,\n sysExceptions,\n sysMessages,\n });\n if (behaveConfig.modalConfiguration?.onClose)\n behaveConfig.modalConfiguration?.onClose();\n },\n },\n })\n ) {\n console.log(\n `%cunhandledLoad -> There is no handler defined`,\n `color: ${getColor('exception', behaveConfig.colors)}`,\n {\n load,\n },\n );\n }\n }\n return { ...load, sysMessages, exceptions, sysExceptions };\n }\n return { ...(rest as LoadType), sysMessages, exceptions, sysExceptions };\n }\n\n return null;\n};\n\nexport type TApiaApiAxiosResponse<LoadType> = AxiosResponse<LoadType | null> & {\n hasError: boolean;\n hasMessages: boolean;\n};\n\nasync function handleResponse<LoadType extends Record<string, unknown>>(\n result: AxiosResponse<string> | void,\n currentUrl: string,\n outerBehaveConfig: IApiaApiRequestConfig<LoadType> = defaultConfig,\n): Promise<TApiaApiAxiosResponse<LoadType> | null> {\n const behaveConfig = getConfig(outerBehaveConfig);\n try {\n if (!result || result.data === undefined) {\n if (behaveConfig.debug)\n console.log(\n `%cApiaApi wrong response`,\n `color: ${getColor('alert', behaveConfig.colors)}`,\n );\n } else {\n const parsedResponse = await parseSuccessfulResponse<LoadType>(\n result,\n currentUrl,\n behaveConfig,\n );\n\n const action = getURLActionName(currentUrl);\n if (behaveConfig.debug)\n console.log(\n `%c <- ApiaApi.${result.config.method ?? ''} ${action} `,\n `color: ${getColor('message', behaveConfig.colors)}`,\n {\n data: parsedResponse,\n },\n );\n\n return {\n ...result,\n data: parsedResponse,\n hasError:\n !!parsedResponse?.exceptions || !!parsedResponse?.sysExceptions,\n hasMessages: !!parsedResponse?.sysMessages,\n };\n }\n } catch (e: unknown) {\n handleWrongResponse(new Error(e as string));\n return null;\n }\n\n return null;\n}\n\n/**\n* IMPORTANT!! The ApiaApi is programmed under the slogan that\n * **should never throw an exception**. **Errors** coming from\n * connectivity or exceptions on the server **will be handled\n * automatically** by ApiaApi, using the notification system\n * of the application. It is possible to determine in what context they should\n * be thrown those exceptions (global, main, modal) using the\n * alertsCategory configuration properties **(see errorsHandling.md)**.\n *\n * @param url String, the url you want to call\n * @param config interface IApiaApiRequestConfig<DataType>;\n *\n * @throws Nothing\n *\n * @example\n *\n * ApiaApi.post<ResponseType>('url...', {\n axiosConfig?: AxiosRequestConfig;\n\n // Configuración de postData\n postData? unknown;\n postDataTreatement?: 'stringify' | undefined;\n\n // Configuración de queryString\n queryData?: string | Record<string, unknown>;\n stringifyOptions?: QueryString.IStringifyOptions;\n\n // Response validator,\n // If it returns true, everything continues correctly\n // If it returns false, the ApiaApi throws a standard error.\n // If it returns string, ApiaApi throws the error returned in the string.\n validateResponse?: (\n response: AxiosResponse<DataType | null>,\n ) => boolean | string;\n\n // Configuración de alertas\n alertsImportance?: TAlertImportance;\n\n // Configuración de ApiaApiHandler, falta documentar\n handleLoad?: boolean;\n eventsHandler?: IEventsHandler;\n\n // other configuration\n colors?: TColors;\n debug?: boolean;\n }\n * @returns The type of the return value depends on the type passed when calling the function. If there was an error it returns null.\n */\nasync function post<\n LoadType extends Record<string, unknown> = Record<string, unknown>,\n DataType = unknown,\n>(\n url:\n | string\n | TModify<\n IApiaApiRequestConfig<LoadType>,\n { postData?: DataType; postDataTreatement?: 'stringify' }\n >,\n config?: TModify<\n IApiaApiRequestConfig<LoadType>,\n {\n postData?: DataType;\n postDataTreatement?: 'stringify';\n }\n >,\n): TApiaApiResult<LoadType>;\nasync function post<\n LoadType extends Record<string, unknown> = Record<string, unknown>,\n DataType = unknown,\n>(\n config: TModify<\n IApiaApiRequestConfig<LoadType>,\n {\n postData?: DataType;\n postDataTreatement?: 'stringify';\n }\n >,\n): TApiaApiResult<LoadType>;\nasync function post<\n LoadType extends Record<string, unknown> = Record<string, unknown>,\n DataType = unknown,\n T = unknown,\n>(\n par1:\n | string\n | TModify<\n IApiaApiRequestConfig<LoadType>,\n { postData?: DataType; postDataTreatement?: 'stringify' }\n >,\n par2?: TModify<\n IApiaApiRequestConfig<LoadType>,\n { postData?: DataType; postDataTreatement?: 'stringify' }\n >,\n): TApiaApiResult<LoadType> {\n const actualUrl = typeof par1 !== 'string' ? makeApiaUrl() : par1;\n\n const configParameter = (\n typeof par1 === 'string' ? par2 ?? defaultConfig : par1\n ) as TModify<\n IApiaApiRequestConfig<LoadType>,\n { postData?: DataType; postDataTreatement?: 'stringify' }\n >;\n\n const behaveConfig = {\n ...getConfig(configParameter),\n postData:\n configParameter.postDataTreatement === 'stringify'\n ? QueryString.stringify(\n configParameter.postData,\n configParameter.stringifyOptions,\n )\n : configParameter.postData,\n };\n\n const parsedUrl = makeUrl(\n actualUrl,\n behaveConfig.queryData,\n behaveConfig.stringifyOptions,\n );\n\n if (behaveConfig.debug) {\n const queryString = actualUrl.split('&');\n const action = getURLActionName(actualUrl);\n\n console.log(\n `%cApiaApi.post ${action}`,\n `color: ${getColor('message', behaveConfig.colors)}`,\n {\n url: parsedUrl,\n queryDataInURL: [...queryString],\n queryData: behaveConfig.queryData,\n formData: behaveConfig.postData,\n stringifyOptiopns: behaveConfig.stringifyOptions,\n },\n );\n }\n\n const response = await axios\n .post<T, AxiosResponse<string>, DataType | string>(\n parsedUrl,\n behaveConfig.postData,\n behaveConfig.axiosConfig,\n )\n .catch((e: unknown) => {\n handleWrongResponse(new Error(e as string));\n });\n\n if (response) {\n const result = handleResponse<LoadType>(response, actualUrl, behaveConfig);\n return result;\n }\n return null;\n}\n\n/**\n * IMPORTANTE!! El ApiaApi está programado bajo la consigna de que\n * **no debe tirar núnca una excepción**. **Los errores** provenientes\n * de la conectividad o de excepciones en el servidor **serán manejados\n * automáticamente** por el ApiaApi utilizando el sistema de notificaciones\n * de la aplicación. Es posible determinar en qué contexto deben\n * ser lanzadas esas excepciones (global, main, modal) utilizando las\n * propiedades de configuración alertsCategory **(ver errorsHandling.md)**.\n *\n * @param url String, el url al que se desea llamar\n * @param config interface IApiaApiRequestConfig<DataType>;\n *\n * @throws Nothing\n *\n * @example\n *\n * ApiaApi.get<TipoDeRespuesta>('url...', {\n axiosConfig?: AxiosRequestConfig;\n\n // Configuración de queryString\n queryData?: string | Record<string, unknown>;\n stringifyOptions?: QueryString.IStringifyOptions;\n\n // Validador de respuesta,\n // Si devuelve true, todo sigue correctamente\n // Si devuelve false, el ApiaApi tira un error estándar.\n // Si devuelve string, el ApiaApi tira el error devuelto en el string.\n validateResponse?: (\n response: AxiosResponse<DataType | null>,\n ) => boolean | string;\n\n // Configuración de alertas\n alertsImportance?: TAlertImportance;\n\n // Configuración de ApiaApiHandler, falta documentar\n handleLoad?: boolean;\n eventsHandler?: IEventsHandler;\n\n // Otra configuración\n colors?: TColors;\n debug?: boolean;\n }\n * @returns El tipo del valor devuelto depende del tipo pasado al llamar a la función. Si hubo un error devuelve null\n */\nasync function get<\n LoadType extends Record<string, unknown> = Record<string, unknown>,\n>(\n url: string | IApiaApiRequestConfig<LoadType>,\n config?: IApiaApiRequestConfig<LoadType>,\n): TApiaApiResult<LoadType>;\nasync function get<\n LoadType extends Record<string, unknown> = Record<string, unknown>,\n>(config: IApiaApiRequestConfig<LoadType>): TApiaApiResult<LoadType>;\nasync function get<\n LoadType extends Record<string, unknown> = Record<string, unknown>,\n T = unknown,\n D = unknown,\n>(\n par1: string | IApiaApiRequestConfig<LoadType>,\n par2?: IApiaApiRequestConfig<LoadType>,\n): TApiaApiResult<LoadType> {\n const actualUrl = typeof par1 !== 'string' ? makeApiaUrl() : par1;\n\n const behaveConfig = getConfig<LoadType>(\n typeof par1 === 'string' ? par2 ?? defaultConfig : par1,\n );\n\n const parsedUrl = makeUrl(\n actualUrl,\n behaveConfig.queryData,\n behaveConfig.stringifyOptions,\n );\n\n if (behaveConfig.debug)\n console.log(\n `%cApiaApi.get`,\n `color: ${getColor('message', behaveConfig.colors)}`,\n {\n url: parsedUrl,\n },\n );\n const response = await axios\n .get<T, AxiosResponse<string>, D>(parsedUrl, behaveConfig.axiosConfig)\n .catch((e: unknown) => {\n handleWrongResponse(new Error(e as string));\n });\n if (response) {\n const result = await handleResponse<LoadType>(\n response,\n actualUrl,\n behaveConfig,\n );\n return result;\n }\n return null;\n}\n\nconst ApiaApi = {\n get,\n getConfig,\n post,\n};\n/**\n * Creates an url based on the general requirements of Apia.\n * If the ajaxUrl property is not passed, it will use the\n * window.URL_REQUEST_AJAX. Its use is very simple, just pass the objects you\n * want to appear in the query string.\n *\n * @example makeApiaUrl({\n * ajaxUrl: 'the.endpoint.you.want',\n * queryString: 'an=existent&query=string',\n * action: 'theAction',\n * anotherProp: 15\n * })\n *\n * @returns the well formed url, in the example, the response url is:\n * /context/the.endpoint.you.want?an=existent&query=string&anotherProp=15&tabId=...&tokenId=...&action=theAction\n */\nexport function makeApiaUrl(props?: {\n action?: string;\n ajaxUrl?: string;\n queryString?: string;\n stringifyOptions?: QueryString.IStringifyOptions;\n tabId?: string | number;\n preventAsXmlParameter?: boolean;\n avoidTabId?: boolean;\n [key: string]: unknown;\n}) {\n let actualQueryData: Record<string, unknown> | unknown = {};\n\n if (props) {\n const {\n ajaxUrl,\n queryString,\n stringifyOptions,\n shouldAvoidTabId,\n preventAsXmlParameter,\n avoidTabId,\n tabId: outerTabId,\n ...rest\n } = props;\n actualQueryData = { ...rest };\n }\n\n const queryString = QueryString.stringify(\n actualQueryData,\n props?.stringifyOptions ?? {\n arrayFormat: 'repeat',\n encodeValuesOnly: false,\n },\n );\n\n let actualAjaxUrl = props?.ajaxUrl ?? window.URL_REQUEST_AJAX;\n if (actualAjaxUrl.indexOf('?') === actualAjaxUrl.length - 1) {\n actualAjaxUrl = actualAjaxUrl.slice(0, actualAjaxUrl.length - 1);\n }\n if (!actualAjaxUrl.startsWith('/')) {\n actualAjaxUrl = `/${actualAjaxUrl}`;\n }\n\n const match = window.TAB_ID_REQUEST.match(/tokenId=(\\w+)/);\n const currentTokenId = (match ?? [])[1];\n\n let tabId = (\n props?.tabId\n ? `&tabId=${props.tabId}&tokenId=${currentTokenId}`\n : window.TAB_ID_REQUEST\n ).slice(1);\n if (props?.avoidTabId) {\n tabId = '';\n }\n\n let { CONTEXT } = window;\n if (CONTEXT?.endsWith('/')) {\n CONTEXT += CONTEXT.slice(0, CONTEXT.length - 1);\n }\n\n let timestamp = `timestamp=${Date.now()}&`;\n if (\n (props?.queryString && props.queryString.includes('timestamp=')) ||\n queryString?.includes('timestamp=')\n ) {\n timestamp = '';\n }\n\n const contextWord = CONTEXT.replaceAll('/', '');\n actualAjaxUrl = actualAjaxUrl.match(\n new RegExp(`^(?:(?:/?${contextWord})?/)?(.+)$`),\n )?.[1] as string;\n\n return `${\n contextWord ? '/' : ''\n }${contextWord}/${actualAjaxUrl}?${timestamp}${\n !props?.preventAsXmlParameter ? 'asXml=true&' : ''\n }${props?.queryString ? `${props.queryString}&` : ''}${\n queryString ? `${queryString}&` : ''\n }${tabId}`;\n}\n\nexport default ApiaApi;\n","import { classToValidate, Checkbox } from '@apia/validations';\nimport React from 'react';\nimport { TApiaApiField } from '../ApiaApiHandler';\n\nexport const ApiaApiCheckbox = (props: TApiaApiField) => {\n const element = React.useMemo(() => props.element, [props.element]);\n const className = React.useMemo(\n () =>\n element.class\n ? `handler__checkbox ${element.class}`\n : 'handler__checkbox',\n [element.class],\n );\n const validationRules = React.useMemo(\n () => ({\n required: element.mandatory,\n ...classToValidate(element.class),\n }),\n [element.class, element.mandatory],\n );\n const submitValueParser = React.useCallback(\n (value: boolean | string) => value === 'on' || value === true,\n [],\n );\n return (\n <Checkbox\n className={className}\n name={element.id || element.name}\n label={element.text}\n title={element.title || element.text}\n initialValue={String(element.selected) === 'true'}\n disabled={element.readonly || element.disabled}\n validationRules={validationRules}\n onChange={element.onChange}\n submitValueParser={submitValueParser}\n />\n );\n};\n","import { classToValidate, FileInput } from '@apia/validations';\nimport React from 'react';\nimport { TApiaApiField } from '../ApiaApiHandler';\n\nexport const ApiaApiFileInput = (props: TApiaApiField) => {\n const element = React.useMemo(() => props.element, [props.element]);\n const className = React.useMemo(\n () => (element.class ? `handler__file ${element.class}` : 'handler__file'),\n [element.class],\n );\n const validationRules = React.useMemo(\n () => ({\n required: element.mandatory,\n ...classToValidate(element.class),\n }),\n [element.class, element.mandatory],\n );\n\n return (\n <FileInput\n className={className}\n name={element.id || element.name}\n label={element.text}\n title={element.title || element.text}\n readOnly={element.readonly}\n disabled={element.disabled}\n validationRules={validationRules}\n />\n );\n};\n\nApiaApiFileInput.displayName = 'ApiaApiFileInput';\n","import { encrypt, useMount } from '@apia/util';\nimport {\n classToValidate,\n classToValidationFunction,\n Input,\n} from '@apia/validations';\nimport React from 'react';\nimport { TApiaApiField } from '../ApiaApiHandler';\n\nexport const ApiaApiInput = (props: TApiaApiField) => {\n const element = React.useMemo(() => props.element, [props.element]);\n\n const getModal = React.useCallback((path: string) => {\n return React.lazy<React.ComponentType<TApiaApiField>>(() => {\n return new Promise<{\n default: React.ComponentType<TApiaApiField>;\n }>((resolve) => {\n import(\n /* webpackChunkName: \"handlerModal\" */\n /* webpackInclude: /\\.tsx?$/ */\n `/api/modals/${path}`\n )\n .then((result: unknown) => {\n resolve(\n result as {\n default: React.ComponentType<TApiaApiField>;\n },\n );\n })\n .catch((error: unknown) => {\n resolve({\n default: () => {\n console.error(error);\n throw new Error(\n `The above error ocurred at component ApiaApiHandler/${path}, does it exist?`,\n );\n },\n });\n });\n });\n });\n }, []);\n\n const [Submodal, setSubmodal] = React.useState<React.LazyExoticComponent<\n React.ComponentType<TApiaApiField>\n > | null>(null);\n\n useMount(() => {\n if (element.modalFunction) {\n const found = element.modalFunction.match(/(?:fnc)?(\\w+)\\(?\\)?$/);\n if (found) {\n const modalName = found[found.length - 1];\n setSubmodal(getModal(modalName));\n }\n }\n });\n\n const className = React.useMemo(\n () =>\n element.class\n ? `handler__${element.type} ${element.class}`\n : `handler__${element.type}`,\n [element.class, element.type],\n );\n const validationRules = React.useMemo(\n () => ({\n required: element.mandatory,\n maxLength: element.maxlength ? Number(element.maxlength) : undefined,\n pattern: element.regExp,\n patternMessage: element.regExpMessage,\n ...classToValidate(element.class),\n }),\n [\n element.class,\n element.mandatory,\n element.maxlength,\n element.regExp,\n element.regExpMessage,\n ],\n );\n const validationFunction = React.useMemo(\n () => classToValidationFunction(element.class),\n [element.class],\n );\n const submitValueParser = React.useCallback(\n (value: string) => {\n if (element.type === 'password') {\n return encrypt(\n window.SALT,\n window.IV,\n window.PASSPHRASE,\n value,\n Number(window.KEY_SIZE),\n Number(window.ITERATION_COUNT),\n );\n }\n return value;\n },\n [element.type],\n );\n\n if (element.modalFunction) {\n if (Submodal) {\n return (\n <React.Suspense>\n <Submodal {...props} element={element} />\n </React.Suspense>\n );\n }\n return null;\n }\n\n return (\n <Input\n type={element.type}\n className={className}\n name={element.id || element.name}\n label={element.text}\n title={element.title || element.text}\n value={element.value}\n readOnly={element.readonly}\n disabled={element.disabled}\n validationFunction={validationFunction}\n validationRules={validationRules}\n submitValueParser={submitValueParser}\n onChange={element.onChange}\n autoComplete={element.type === 'password' ? 'new-password' : undefined}\n />\n );\n};\n\nApiaApiInput.displayName = 'ApiaApiInput';\n","import { arrayOrArray } from '@apia/util';\nimport { classToValidate, Radio } from '@apia/validations';\nimport React from 'react';\nimport { TApiaApiField } from '../ApiaApiHandler';\n\nexport const ApiaApiRadio = (props: TApiaApiField) => {\n const element = React.useMemo(() => props.element, [props.element]);\n const className = React.useMemo(\n () =>\n element.class ? `handler__radio ${element.class}` : 'handler__radio',\n [element.class],\n );\n const options = React.useMemo(\n () =>\n arrayOrArray(element.options?.option).map((currOption) => {\n return { value: currOption.value, label: currOption.content };\n }),\n [element.options?.option],\n );\n const validationRules = React.useMemo(\n () => ({\n required: element.mandatory,\n ...classToValidate(element.class),\n }),\n [element.class, element.mandatory],\n );\n return (\n <Radio\n className={className}\n name={element.id || element.name}\n label={element.text}\n title={element.title || element.text}\n value={element.value}\n disabled={element.readonly || element.disabled}\n validationRules={validationRules}\n options={options}\n onChange={element.onChange}\n />\n );\n};\n\nApiaApiRadio.displayName = 'ApiaApiRadio';\n","import { arrayOrArray } from '@apia/util';\nimport { classToValidate, Select } from '@apia/validations';\nimport React, { useMemo } from 'react';\nimport { TApiaApiField } from '../ApiaApiHandler';\n\nexport type TOption = {\n content: string;\n value: string;\n};\n\nexport const ApiaApiSelect = (props: TApiaApiField) => {\n const element = React.useMemo(() => props.element, [props.element]);\n const className = React.useMemo(\n () =>\n element.class ? `handler__select ${element.class}` : 'handler__select',\n [element.class],\n );\n const options = React.useMemo(\n () =>\n arrayOrArray(element.options?.option).map((currOption) => {\n return { value: currOption.value, label: currOption.content };\n }),\n [element.options?.option],\n );\n const validationRules = React.useMemo(\n () => ({\n required: element.mandatory,\n ...classToValidate(element.class),\n }),\n [element.class, element.mandatory],\n );\n const initialValue = useMemo(\n () =>\n options.find((current) => current.value === props.element.value)?.value ??\n options[0]?.value ??\n '',\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n return (\n <Select\n className={className}\n name={element.id || element.name}\n label={element.text}\n title={element.title || element.text}\n value={element.value}\n disabled={element.readonly || element.disabled}\n validationRules={validationRules}\n options={options}\n onChange={element.onChange}\n initialValue={initialValue}\n />\n );\n};\n\nApiaApiSelect.displayName = 'ApiaApiSelect';\n","import { getVariant } from '@apia/theme';\nimport { arrayOrArray, TApiaFormElement, TApiaLoad } from '@apia/util';\nimport { uniqueId } from 'lodash';\nimport React from 'react';\nimport { Box } from 'theme-ui';\nimport { getFunction, TApiaApiMethodHandler } from '../ApiaApiHandler';\nimport { TModalTable } from '../types';\nimport { ApiaApiCheckbox } from './ApiaApiCheckbox';\nimport { ApiaApiFileInput } from './ApiaApiFileInput';\nimport { ApiaApiInput } from './ApiaApiInput';\nimport { ApiaApiRadio } from './ApiaApiRadio';\nimport { ApiaApiSelect } from './ApiaApiSelect';\n\ntype TApiaApiFieldsContainer = TApiaApiMethodHandler & {\n definition?: TApiaLoad | undefined;\n};\n\nexport const ApiaApiFieldsContainer = (props: TApiaApiFieldsContainer) => {\n const elements = React.useMemo(\n () => arrayOrArray(props?.definition?.form.elements?.element ?? []),\n [props?.definition?.form.elements?.element],\n );\n\n const getSections = React.useCallback(() => {\n const removeEndingSpacers = (\n sectionElements: TApiaFormElement[],\n ): TApiaFormElement[] => {\n if (sectionElements.length > 1) {\n for (let i = sectionElements.length - 1; i >= 0; i--) {\n if (sectionElements[i].type === 'empty') {\n sectionElements.pop();\n } else {\n return sectionElements;\n }\n }\n }\n return sectionElements;\n };\n const sectionIndexes: number[] = [];\n if (elements[0]?.type !== '2columnTitle') {\n sectionIndexes.push(-1);\n }\n elements.forEach((element, index) => {\n if (element.type === '2columnTitle') {\n sectionIndexes.push(index);\n }\n });\n const sections: {\n sectionHeader: TApiaFormElement | undefined;\n sectionElements: TApiaFormElement[];\n }[] = [];\n sectionIndexes.forEach((sectionIndex, arrayIndex) => {\n const start =\n sectionIndex + 1 < elements.length\n ? sectionIndex + 1\n : elements.length - 1;\n const end =\n arrayIndex + 1 < sectionIndexes.length\n ? sectionIndexes[arrayIndex + 1]\n : undefined;\n sections.push({\n sectionHeader: sectionIndex !== -1 ? elements[sectionIndex] : undefined,\n sectionElements: removeEndingSpacers(elements.slice(start, end)),\n });\n });\n return sections;\n }, [elements]);\n\n const sections = getSections();\n\n const renderSectionContent = React.useCallback(\n (sectionElements: TApiaFormElement[]) => {\n const isVisible =\n sectionElements.findIndex((element) => element.type !== 'hidden') !==\n -1;\n return (\n <Box\n className={\n isVisible\n ? 'handler__form__elements__section__content'\n : `handler__form__elements__section__content handler__hidden`\n }\n key={uniqueId()}\n >\n {sectionElements.map((current) => {\n const element = {\n ...current,\n onChange() {\n getFunction(current.onChange, props)\n .then((onChangeMethod) => {\n if (onChangeMethod) {\n onChangeMethod();\n }\n })\n .catch(console.error);\n },\n };\n const elementKey = element.id || element.name || uniqueId();\n switch (element.type) {\n case 'table': {\n const data = JSON.parse(element.text) as TModalTable;\n return (\n <Box\n key={elementKey}\n {...getVariant('layout.common.tables.information')}\n >\n <table sx={{ width: '100%' }}>\n <thead>\n <tr>\n {data.columns.map((column) => {\n return <th key={column}>{column}</th>;\n })}\n </tr>\n </thead>\n <tbody>\n {data.rows.map((row) => {\n return (\n <tr key={row.cells.join('-')}>\n {row.cells.map((cell, i) => {\n return (\n <td key={`${cell}_${data.columns[i]}`}>\n {cell}\n </td>\n );\n })}\n </tr>\n );\n })}\n </tbody>\n </table>\n </Box>\n );\n }\n case '2columnSubTitle':\n return (\n <Box key={elementKey} className={element.class} as=\"h6\">\n {element.value || element.text}\n </Box>\n );\n case '2column':\n return (\n <Box\n key={elementKey}\n dangerouslySetInnerHTML={{\n __html: element.value || element.text,\n }}\n className={element.class}\n />\n );\n case 'checkbox':\n return (\n <ApiaApiCheckbox\n key={elementKey}\n {...props}\n element={element}\n />\n );\n case 'file':\n return (\n <ApiaApiFileInput\n key={elementKey}\n {...props}\n element={element}\n />\n );\n case 'hidden':\n case 'password':\n case 'text':\n return (\n <ApiaApiInput key={elementKey} {...props} element={element} />\n );\n case 'select':\n return (\n <ApiaApiSelect\n key={elementKey}\n {...props}\n element={element}\n />\n );\n case 'radio':\n return (\n <ApiaApiRadio key={elementKey} {...props} element={element} />\n );\n case 'empty':\n return <Box key={elementKey} className=\"spacer\" />;\n default:\n console.warn(\n `Unhandled element type: ${element.type}`,\n element,\n );\n return null;\n }\n })}\n </Box>\n );\n },\n [props],\n );\n\n return (\n <Box className=\"handler__form__elements\">\n {sections.map((section) => {\n if (section.sectionHeader) {\n return renderSectionContent(section.sectionElements);\n }\n return renderSectionContent(section.sectionElements);\n })}\n </Box>\n );\n};\n\nApiaApiFieldsContainer.displayName = 'ApiaApiFieldsContainer';\n","import { arrayOrArray, TApiaFormButton, TApiaLoad } from '@apia/util';\nimport { uniqueId } from 'lodash';\nimport QueryString from 'qs';\nimport React from 'react';\nimport { Box } from 'theme-ui';\nimport {\n hasSucceedFormValidation,\n useFormContext,\n validationsStore,\n} from '@apia/validations';\nimport { SimpleButton } from '@apia/components';\nimport { getFunction, TApiaApiMethodHandler } from '../ApiaApiHandler';\nimport ApiaApi from '../apiaApi';\n\ntype TApiaApiButtonsContainer = TApiaApiMethodHandler & {\n definition?: TApiaLoad | undefined;\n};\n\nconst NonMemoizedApiaApiButtonsContainer = (\n props: TApiaApiButtonsContainer,\n) => {\n const buttons = arrayOrArray(props.definition?.form.buttons?.button ?? []);\n const modalConfiguration = props.configuration?.modalConfiguration;\n const methodsPath = props.configuration?.methodsPath;\n const { name: apiaApiForm } = useFormContext();\n\n const renderButton = React.useCallback(\n (button: TApiaFormButton) => {\n const key = uniqueId();\n const buttonType =\n ['submitAjax', 'submit'].includes(button.type) && !button.onclick\n ? 'submit'\n : 'button';\n const className = `handler__${buttonType}`;\n const onClick = () => {\n void (async function submitForm() {\n const validationResult = await validationsStore.validateForm(\n apiaApiForm,\n );\n if (!hasSucceedFormValidation(validationResult)) {\n return;\n }\n const { submitValues } = validationResult;\n\n function runButtonMethod() {\n void (async () => {\n if (button.onclick) {\n const actions = button.onclick.split(';');\n // eslint-disable-next-line no-restricted-syntax\n for await (const action of actions) {\n const method = await getFunction(action, {\n ...props,\n });\n\n if (method)\n method({\n currentUrl: props.definition?.form.action ?? 'noUrl',\n });\n else {\n throw new Error(\n `The requested action is not defined: \"${\n props.definition?.form.action ?? ''\n }\"`,\n );\n }\n }\n }\n })();\n }\n\n if (\n props?.definition &&\n ['submitAjax', 'submit'].includes(button.type)\n ) {\n const formData = new FormData();\n Object.entries(submitValues).forEach(([name, value]) => {\n formData.append(name, (value as string | Blob) ?? '');\n });\n\n const hasContext = props?.definition.form.action.match(\n new RegExp(`^${window.CONTEXT}/`),\n );\n const url = `${hasContext ? '' : window.CONTEXT}${\n !props?.definition.form.action.startsWith('/') ? '/' : ''\n }${props?.definition.form.action}`;\n\n props.setState((current) => ({\n ...current,\n isLoading: true,\n }));\n\n void ApiaApi.post(url, {\n postData: props.state.isMultipart\n ? formData\n : QueryString.stringify(\n [...formData.entries(), ['isAjax', true]].reduce<\n Record<string, string>\n >((accumulated, [name, value]) => {\n const retValue = { ...accumulated };\n retValue[name.toString()] = value.toString();\n return retValue;\n }, {}),\n ),\n handleLoad: true,\n notificationsCategory: 'apiaApiHandler',\n modalConfiguration,\n methodsPath,\n }).finally(() => {\n runButtonMethod();\n });\n } else {\n runButtonMethod();\n }\n })();\n };\n return (\n <SimpleButton\n className={className}\n disabled={props.state.disabled}\n id={button.id || button.text}\n isLoading={props.state.isLoading}\n key={key}\n title={button.text}\n type={buttonType}\n onClick={onClick}\n >\n {button.text}\n </SimpleButton>\n );\n },\n [apiaApiForm, methodsPath, modalConfiguration, props],\n );\n\n return (\n <Box className=\"handler__form__buttons\">\n {buttons.map((currentButton) => renderButton(currentButton))}\n </Box>\n );\n};\n\nexport const ApiaApiButtonsContainer = React.memo(\n NonMemoizedApiaApiButtonsContainer,\n);\n","/* eslint-disable max-classes-per-file */\n\nimport * as React from 'react';\nimport { Box } from 'theme-ui';\nimport { AxiosResponse } from 'axios';\nimport {\n arrayOrArray,\n EventEmitter,\n focus,\n focusSelector,\n TApiaAction,\n TApiaFormElement,\n TApiaFunction,\n TApiaLoad,\n TApiaLoadText,\n TModify,\n useMount,\n useStateRef,\n useUnmount,\n WithEventsValue,\n} from '@apia/util';\nimport { notify } from '@apia/notifications';\nimport { Form, validationsStore } from '@apia/validations';\nimport { Modal, ProgressBar, useModal } from '@apia/components';\nimport { getVariant } from '@apia/theme';\nimport ApiaApiContext from './ApiaApiContext';\nimport { IApiaApiRequestConfig } from './types';\nimport { ApiaActions } from './apiaApi';\nimport { ApiaApiFieldsContainer } from './fields/ApiaApiFieldsContainer';\nimport { ApiaApiButtonsContainer } from './buttons/ApiaApiButtonsContainer';\n\nexport type TMessage = {\n isHtml?: boolean;\n predicate: string;\n title?: string;\n};\ntype TMessageLocal = { title: string; predicate: string };\ntype TMethod = {\n name: string;\n props: {\n attributes?: Record<string, unknown>;\n currentUrl?: string;\n funCall?: string;\n inlineArguments?: string[];\n messages?: unknown;\n };\n};\nconst ApiaApiMessenger = new (class extends EventEmitter<{\n message: TMessageLocal;\n}> {})();\nconst FunctionsDispatcher = new (class extends EventEmitter<{\n method: TMethod;\n}> {})();\n\nexport type TApiaApiMethodHandler = {\n alert: typeof notify;\n close: () => void;\n configuration?: THandleConfiguration;\n formDefinition: TApiaLoad;\n reset: () => void;\n setError: typeof notify;\n setMessage: (message: Record<string, unknown>) => unknown;\n setState: React.Dispatch<React.SetStateAction<IApiaApiHandlerState>>;\n state: IApiaApiHandlerState;\n setValue: (name: string, value: string) => void;\n};\n\nexport type TApiaApiMethod = (\n handler: TApiaApiMethodHandler,\n props: TMethod['props'],\n) => Promise<void> | void;\n\nexport type TApiaApiField = TApiaApiMethodHandler & {\n element: TModify<TApiaFormElement, { onChange: React.ChangeEventHandler }>;\n};\n\nexport const apiaApiForm = 'ApiaApiForm';\n\ntype TStoredApiaApiMethod = (props?: TMethod['props']) => unknown;\n\nconst methods: Record<string, TStoredApiaApiMethod> = {};\n\nexport async function getFunction(\n name: string,\n handler: TApiaApiMethodHandler,\n): Promise<TStoredApiaApiMethod | undefined> {\n return new Promise((resolve) => {\n try {\n const separateNameFromParametersRegex =\n /^\\/?([\\w\\d_-]+)\\/?(?:\\(([^)]*)\\))?$/;\n const match = name.match(separateNameFromParametersRegex);\n if (match) {\n const functionName = match[1];\n const parameters = match[2];\n const path: string = [\n ...(handler.configuration?.methodsPath\n ?.split('/')\n .filter((current) => {\n return !!current;\n }) ?? []),\n functionName,\n ].join('/');\n\n const storeMethodAndResolve = (result: { default: TApiaApiMethod }) => {\n if (typeof result.default !== 'function') notFound();\n const method = result.default;\n methods[functionName] = (props?: TMethod['props']) => {\n return method(handler, {\n ...props,\n inlineArguments:\n parameters?.split(',').map((argument) => {\n if (argument.startsWith(\"'\") || argument.startsWith('\"'))\n return argument.slice(1, argument.length - 1);\n return argument;\n }) ?? [],\n });\n };\n resolve(methods[functionName]);\n };\n\n const notFound = () => {\n throw new Error(\n `${functionName}.ts not found at ${path}.ts nor ./${functionName}.ts`,\n );\n };\n\n import(\n /* webpackChunkName: \"api-methods-[request]\" */ `/api/methods/${path}.ts`\n )\n .then(storeMethodAndResolve)\n .catch(() => {\n if (handler.configuration?.methodsPath !== undefined)\n import(\n /* webpackChunkName: \"api-methods-[request]\" */ `/api/methods/${functionName}.ts`\n )\n\n .then(storeMethodAndResolve)\n .catch(notFound);\n else notFound();\n });\n }\n } catch (e) {\n console.error(e);\n handler.reset();\n handler.setError({\n type: 'danger',\n message: 'Error while loading current method.',\n });\n }\n });\n}\n\nexport function isForm(\n responseObject: Record<string, unknown>,\n): responseObject is TApiaLoad {\n return (\n responseObject.form !== undefined &&\n typeof responseObject.form === 'object' &&\n !!responseObject.form\n );\n}\n\nexport function isFunction(\n responseObject: Record<string, unknown>,\n): responseObject is TApiaLoad<TApiaFunction> {\n return (\n typeof responseObject.canClose === 'boolean' &&\n typeof responseObject.type === 'string' &&\n !!responseObject.function\n );\n}\n\nfunction isMessage(\n responseObject: Record<string, unknown>,\n): responseObject is TApiaLoad<TApiaLoadText> {\n if (\n typeof responseObject.canClose === 'boolean' &&\n typeof responseObject.type === 'string' &&\n typeof responseObject.text === 'object' &&\n responseObject.text &&\n typeof (responseObject.text as Record<string, unknown>).label === 'string'\n ) {\n return true;\n }\n return false;\n}\n\nexport interface IModalConfig {\n modalTitle?: string;\n onClose?: () => void;\n onMessage?: (message: Record<string, unknown>) => unknown;\n onMessageClose?: () => unknown;\n onSubmitted?: (\n handler: TApiaApiMethodHandler,\n response: AxiosResponse<Record<string, unknown> | null> | null,\n ) => unknown;\n}\n\nconst modalConfigurationHandler = new WithEventsValue<THandleConfiguration>();\n\nfunction useModalConfiguration() {\n const [, setValue, value] = useStateRef<THandleConfiguration | undefined>(\n undefined,\n );\n\n const handleChange = React.useCallback(\n (newEventsHandler: THandleConfiguration | undefined) => {\n setValue(newEventsHandler);\n },\n [setValue],\n );\n\n useMount(() => {\n modalConfigurationHandler.on('update', handleChange);\n });\n\n useUnmount(() => {\n return modalConfigurationHandler.off('update', handleChange);\n });\n\n return value;\n}\n\ntype THandleConfiguration = Partial<\n Pick<IApiaApiRequestConfig<unknown>, 'modalConfiguration' | 'methodsPath'>\n>;\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nlet currentForm: TApiaLoad | undefined;\nconst currentFormDispatcher =\n new (class currentFormDispatcher extends EventEmitter<{\n form: TApiaLoad;\n }> {\n emit<K extends 'form'>(\n eventName: K,\n params?: { form: TApiaLoad }[K] | undefined,\n ): void {\n super.emit(eventName, params);\n currentForm = params;\n }\n })();\n\nexport function handle(\n responseObject: Record<string, unknown>,\n currentUrl: string,\n configuration: THandleConfiguration,\n) {\n modalConfigurationHandler.value = configuration;\n if (isForm(responseObject)) {\n currentFormDispatcher.emit('form', responseObject);\n return true;\n }\n if (isFunction(responseObject)) {\n FunctionsDispatcher.emit('method', {\n name: responseObject.function.name,\n props: {\n messages: responseObject.function.messages,\n attributes: responseObject.function,\n currentUrl,\n },\n });\n return true;\n }\n if (isMessage(responseObject)) {\n ApiaApiMessenger.emit('message', {\n predicate: responseObject.text.content,\n title: responseObject.text.title,\n });\n return true;\n }\n return false;\n}\n\nexport interface IApiaApiHandlerState {\n disabled: boolean;\n isLoading: boolean;\n isMultipart: boolean;\n progress: number;\n errors: Record<string, string>;\n windowIndex: number;\n}\n\nconst initialState: Omit<IApiaApiHandlerState, 'windowIndex'> = {\n disabled: false,\n isLoading: false,\n isMultipart: false,\n progress: 0,\n errors: {},\n};\n\nconst ApiaApiHandlerNonMemoized = () => {\n const configuration = useModalConfiguration();\n\n const [state, setState] = React.useState<IApiaApiHandlerState>({\n ...initialState,\n windowIndex: -1,\n });\n\n const [currentForm, setCurrentForm] = React.useState<TApiaLoad | undefined>(\n undefined,\n );\n React.useEffect(() => {\n return currentFormDispatcher.on('form', setCurrentForm);\n }, []);\n\n const setValue = React.useCallback((name: string, value: string) => {\n return validationsStore.setFieldValue(apiaApiForm, name, value);\n }, []);\n\n React.useEffect(() => {\n if (!currentForm) return;\n const elements = arrayOrArray(currentForm?.form?.elements?.element ?? []);\n\n let isMultipart = false;\n const elementsValues = Object.values(elements);\n let i = 0;\n while (i < elementsValues.length && !isMultipart) {\n if (elementsValues[i++].type === 'file') {\n isMultipart = true;\n }\n }\n\n setState((currentState) => {\n return {\n ...currentState,\n ...initialState,\n isMultipart,\n };\n });\n }, [currentForm]);\n\n const { show, onClose, ...modalProps } = useModal();\n\n const close = React.useCallback(() => {\n onClose();\n currentFormDispatcher.emit('form', undefined);\n setState((currentState) => {\n return { ...currentState, ...initialState };\n });\n configuration.current?.modalConfiguration?.onClose?.();\n\n validationsStore.unregisterForm(apiaApiForm);\n }, [onClose, configuration]);\n\n const modalRef = React.useRef<HTMLDivElement>(null);\n\n React.useEffect(() => {\n const elements = modalRef.current?.querySelectorAll(\n 'a,input,textarea,button',\n );\n if (elements?.length === 1)\n void focus.on(([...elements] as HTMLElement[])[0]);\n });\n\n const setError = React.useCallback(\n (notification: Parameters<typeof notify>[0]) => {\n notify({ ...notification });\n },\n [],\n );\n\n const getHandler = React.useCallback(() => {\n const newHandler: TApiaApiMethodHandler = {\n alert,\n close,\n configuration: configuration.current,\n formDefinition: currentForm as TApiaLoad,\n reset: () => {\n return setState((currentState) => {\n return {\n ...currentState,\n ...initialState,\n };\n });\n },\n setError,\n setMessage: (message) => {\n if (configuration.current?.modalConfiguration?.onMessage)\n configuration.current.modalConfiguration.onMessage(message);\n },\n setState,\n state,\n setValue,\n };\n return newHandler;\n }, [close, configuration, currentForm, setError, state, setValue]);\n\n React.useEffect(() => {\n const handleFunction = async ({\n name,\n props: { messages, attributes, currentUrl },\n }: TMethod) => {\n const method = await getFunction(`${name}`, getHandler());\n if (method) {\n method({ messages, attributes, currentUrl });\n }\n };\n\n const handleMessage = (ev: TMessage) => {\n const handler = getHandler();\n notify({\n message: ev.predicate,\n type: 'warning',\n onClose: handler.configuration?.modalConfiguration?.onMessageClose,\n });\n const onMessage = handler.configuration?.modalConfiguration?.onMessage;\n if (onMessage) onMessage(ev);\n };\n\n const handleAction = async (\n action: TModify<TApiaAction, { param: string[] }>,\n ) => {\n if (action.toDo === 'ajaxHiddeAll') {\n close();\n }\n if (action.toDo === 'functionTimedCall') {\n const method = await getFunction(\n arrayOrArray(action.param)[1],\n getHandler(),\n );\n\n if (method)\n /*\n * Aquí el timeout se utiliza debido a que Apia lo establece de esa\n * forma,\n * Existe un retorno de Apia llamado functionTimedCall que\n * espera que una función se ejecute luego de un timeout, y\n * yo solamente respeté dicho comportamiento. */\n setTimeout(() => {\n return method({\n currentUrl: currentForm?.form.action ?? 'noUrl',\n });\n }, Number(action.param[0]));\n }\n };\n\n ApiaApiMessenger.on('message', handleMessage);\n FunctionsDispatcher.on('method', handleFunction);\n ApiaActions.on('action', handleAction);\n\n return () => {\n ApiaApiMessenger.off('message', handleMessage);\n FunctionsDispatcher.off('method', handleFunction);\n ApiaActions.off('action', handleAction);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [state.windowIndex, onClose, close]);\n\n React.useEffect(() => {\n if (currentForm) {\n show();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currentForm]);\n\n const handler = getHandler();\n\n const formRef = React.useCallback(\n async (el: HTMLElement) => {\n if (el && currentForm?.form.onLoad) {\n const method = await getFunction(\n `${currentForm?.form.onLoad}`,\n getHandler(),\n );\n if (method) {\n method();\n }\n }\n },\n [currentForm?.form.onLoad, getHandler],\n );\n\n return (\n <ApiaApiContext id={apiaApiForm}>\n <Modal\n ref={modalRef}\n onClose={close}\n id={apiaApiForm}\n title={\n configuration.current?.modalConfiguration?.modalTitle ??\n currentForm?.form.title\n }\n size=\"md-fixed\"\n shouldCloseOnEsc={!state.disabled}\n shouldCloseOnOverlayClick={!state.disabled}\n initialFocusGetter={React.useCallback((ref: HTMLElement) => {\n return ref?.querySelector(focusSelector) as HTMLElement;\n }, [])}\n {...modalProps}\n >\n {currentForm && (\n <Box {...getVariant('layout.common.modals.apiaApi')}>\n <Form\n name={apiaApiForm}\n avoidFieldsOverride\n className=\"handler__form\"\n >\n <ApiaApiFieldsContainer definition={currentForm} {...handler} />\n {state.isMultipart && state.progress > 0 && (\n <Box className=\"progressBox\">\n <ProgressBar\n id=\"ApiaApiHandler progress\"\n progress={state.progress}\n loading\n />\n </Box>\n )}\n <Box ref={formRef} />\n <ApiaApiButtonsContainer definition={currentForm} {...handler} />\n </Form>\n </Box>\n )}\n </Modal>\n </ApiaApiContext>\n );\n};\n\nexport const ApiaApiHandler = React.memo(ApiaApiHandlerNonMemoized);\n"],"names":["__async","ApiaActions","__spreadProps","__spreadValues","__objRest","_a","_b","React","sections","_c","_d","currentFormDispatcher","currentForm","handler","ApiaApiContext"],"mappings":";;;;;;;;;;;;;;AAUA,MAAM,SAAA,GAAY,cAAkC,SAAS,CAAA,CAAA;AAE7D,MAAM,iBAAiB,CAAC;AAAA,EACtB,QAAA;AAAA,EACA,EAAA;AACF,CAGM,KAAA;AAEJ,EAAA,2BAAQ,SAAU,CAAA,QAAA,EAAV,EAAmB,KAAA,EAAO,IAAK,QAAS,EAAA,CAAA,CAAA;AAClD,CAAA,CAAA;AAEA,uBAAe,KAAA,CAAM,KAAK,cAAc,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACKxC,eAAgB,CAAA,EAAA;AAAA,EACd,UAAA;AAAA,EACA,CAAO,EAAW,KAAAA,SAAA,CAAA,KAAA,CAAA,EAAA,CAAX,KAAW,WAAX,CAAC,IAAI,CAAM,EAAA;AAChB,IAAM,MAAA,MAAA,GAAS,MAAM,aAAA,CAAuB,IAAc,CAAA,CAAA;AAC1D,IAAA,OAAA,CAAQ,KAAK,MAAM,CAAA,CAAA;AAAA,GACrB,CAAA;AAAA,EACA,qHAAA;AACF,CAAA,CAAA;AAEA,MAAM,aAAgD,GAAA;AAAA,EACpD,KAAO,EAAA,IAAA;AAAA,EACP,MAAQ,EAAA;AAAA,IACN,SAAW,EAAA,KAAA;AAAA,IACX,KAAO,EAAA,QAAA;AAAA,IACP,OAAS,EAAA,YAAA;AAAA,GACX;AAAA,EACA,UAAY,EAAA,KAAA;AACd,CAAA,CAAA;AAEA,MAAM,aAAgB,GAAA,eAAA,CAAA;AAEtB,IAAI,eAAwD,EAAC,CAAA;AAC7D,MAAM,YAAA,GAAe,YAAa,CAAA,OAAA,CAAQ,aAAa,CAAA,CAAA;AACvD,IAAI,YAAA;AACF,EAAe,YAAA,GAAA,IAAA,CAAK,MAAM,YAAY,CAAA,CAAA;AA2DxC,SAAS,UACP,iBACA,EAAA;AACA,EAAA,OAAO,KAAM,CAAA,EAAI,EAAA,aAAA,EAAe,mBAAmB,YAAY,CAAA,CAAA;AACjE,CAAA;AAEA,SAAS,OAAA,CACP,GACA,EAAA,SAAA,EACA,gBACA,EAAA;AACA,EAAA,IAAI,QAAW,GAAA,GAAA,CAAA;AACf,EAAM,MAAA,iBAAA,GAAoB,QAAS,CAAA,OAAA,CAAQ,GAAG,CAAA,CAAA;AAE9C,EAAA,IAAI,iBAAsB,KAAA,CAAA,CAAA;AAAI,IAAY,QAAA,IAAA,GAAA,CAAA;AAAA,OAAA,IACjC,sBAAsB,QAAS,CAAA,MAAA,GAAS,KAAK,CAAC,QAAA,CAAS,SAAS,GAAG,CAAA;AAC1E,IAAY,QAAA,IAAA,GAAA,CAAA;AACd,EAAI,IAAA,SAAA,GAAY,GAAG,QACjB,CAAA,EAAA,SAAA,GAAY,YAAY,SAAU,CAAA,SAAA,EAAW,gBAAgB,CAAI,GAAA,EAAA,CAAA,CAAA,CAAA;AAEnE,EAAA,IAAI,UAAU,QAAS,CAAA,GAAG,KAAK,SAAU,CAAA,QAAA,CAAS,GAAG,CAAG,EAAA;AACtD,IAAA,SAAA,GAAY,SAAU,CAAA,KAAA,CAAM,CAAG,EAAA,SAAA,CAAU,SAAS,CAAC,CAAA,CAAA;AAAA,GACrD;AACA,EAAO,OAAA,SAAA,CAAA;AACT,CAAA;AAEA,MAAM,gBAAA,GAAmB,CAAC,GAAwB,KAAA;AAzIlD,EAAA,IAAA,EAAA,CAAA;AA0IE,EAAA,MAAM,SAAY,GAAA,CAAA,EAAA,GAAA,GAAA,CAAI,KAAM,CAAA,cAAc,MAAxB,IAA4B,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AAC9C,EAAA,OAAO,SAAa,IAAA,IAAA,GAAA,SAAA,GAAA,UAAA,CAAA;AACtB,CAAA,CAAA;AAEO,MAAM,WAAc,GAAA,IAAK,MAAMC,YAAAA,SAAoB,YAEvD,CAAA;AAAC,CAAG,EAAA,CAAA;AAEP,SAAS,QACP,CAAA,KAAA,EACA,MAAkB,GAAA,CAAA,CAAA,EAAA,KAAA,CAAA,EAAA,GAAA,aAAA,CAAc,WAAd,IAAwB,GAAA,EAAA,GAAA;AAAA,EACxC,SAAW,EAAA,KAAA;AAAA,EACX,KAAO,EAAA,QAAA;AAAA,EACP,OAAS,EAAA,OAAA;AACX,CACA,GAAA,EAAA;AACA,EAAA,OAAO,OAAO,KAAK,CAAA,CAAA;AACrB,CAAA;AAEA,MAAM,mBAAA,GAAsB,CAAC,KAAiB,KAAA;AAC5C,EAAI,IAAA,YAAA,CAAA;AACJ,EAAI,IAAA,OAAO,UAAU,QAAU,EAAA;AAC7B,IAAA,IAAI,KAAM,CAAA,OAAA;AAAS,MAAA,YAAA,GAAe,KAAM,CAAA,OAAA,CAAA;AAAA;AACnC,MAAA,YAAA,GAAe,MAAM,QAAS,EAAA,CAAA;AAAA,GACrC;AAAO,IAAe,YAAA,GAAA,KAAA,CAAA;AAEtB,EAAO,MAAA,CAAA;AAAA,IACL,IAAM,EAAA,QAAA;AAAA,IACN,OAAS,EAAA,KAAA,CAAM,OAAQ,CAAA,UAAA,CAAW,cAAc,OAAO,CAAA;AAAA,GACxD,CAAA,CAAA;AACD,EAAQ,OAAA,CAAA,GAAA,CAAI,OAAO,gBAAgB,CAAA,CAAA;AACnC,EAAQ,OAAA,CAAA,GAAA,CAAI,sBAAsB,0CAA0C,CAAA,CAAA;AAC5E,EAAA,OAAA,CAAQ,GAAI,CAAA,CAAA,IAAA,EAAO,YAAgB,CAAA,CAAA,EAAA,EAAE,OAAO,CAAA,CAAA;AAC5C,EAAQ,OAAA,CAAA,GAAA,CAAI,OAAO,gBAAgB,CAAA,CAAA;AACrC,CAAA,CAAA;AAEO,SAAS,eAAe,QAAkC,EAAA;AAC/D,EAAA,OAAQ,QAAS,CAAA,OAAA,CAAQ,cAAc,CAAA,CAAa,MAAM,kBAAkB,CAAA,CAAA;AAC9E,CAAA;AACO,SAAS,cAAc,QAAkC,EAAA;AAC9D,EAAQ,OAAA,QAAA,CAAS,OAAQ,CAAA,cAAc,CAAa,CAAA,KAAA;AAAA,IAClD,4BAAA;AAAA,GACF,CAAA;AACF,CAAA;AACO,SAAS,eAAe,QAAkC,EAAA;AAC/D,EAAQ,OAAA,QAAA,CAAS,OAAQ,CAAA,cAAc,CAAa,CAAA,KAAA;AAAA,IAClD,6BAAA;AAAA,GACF,CAAA;AACF,CAAA;AAEA,SAAS,cAAc,OAA2C,EAAA;AA5LlE,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AA6LE,EAAA,IAAI,OAAS,EAAA;AACX,IAAA,IAAI,WAAY,CAAA,KAAA;AACd,MAAQ,OAAA,CAAA,GAAA;AAAA,QACN,qBAAA;AAAA,QACA,WAAU,EAAU,GAAA,CAAA,EAAA,GAAA,SAAA,EAAA,CAAE,MAAZ,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAoB,YAApB,IAA+B,GAAA,EAAA,GAAA,OAAA,CAAA,CAAA;AAAA,QACzC,EAAE,OAAQ,EAAA;AAAA,OACZ,CAAA;AACF,IAAM,MAAA,YAAA,GAAe,YAAa,CAAA,OAAA,CAAQ,MAAM,CAAA,CAAA;AAChD,IAAa,YAAA,CAAA,OAAA,CAAQ,CAAC,MAAW,KAAA;AAC/B,MAAY,WAAA,CAAA,IAAA,CAAK,QAAU,EAAAC,eAAA,CAAAC,gBAAA,CAAA,EAAA,EACtB,MADsB,CAAA,EAAA;AAAA,QAEzB,KAAA,EAAO,YAAa,CAAA,MAAA,CAAO,KAAK,CAAA;AAAA,OACjC,CAAA,CAAA,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GACH;AACF,CAAA;AACA,SAAS,aAAc,CAAA;AAAA,EACrB,UAAA;AAAA,EACA,OAAA;AAAA,EACA,aAAA;AAAA,EACA,WAAA;AACF,CAAuD,EAAA;AACrD,EAAI,IAAA;AACF,IAAA;AAAA;AAAA,MAC0C,CAAgB,aAAA,EAAA,OAAA,CAAA,GAAA,CAAA;AAAA,KACxD,CAAA,IAAA;AAAA,MACA,CAAC,IAAkC,KAAA;AACjC,QAAI,IAAA,UAAA,IAAc,iBAAiB,WAAa,EAAA;AAC9C,UAAA,MAAM,sBAAsB,yBAA0B,CAAA;AAAA,YACpD,UAAA;AAAA,YACA,OAAA;AAAA,YACA,aAAA;AAAA,YACA,WAAA;AAAA,WACD,CAAA,CAAA;AACD,UAAI,IAAA,mBAAA;AACF,YAAoB,mBAAA,CAAA,OAAA,CAAQ,CAAC,YAAiB,KAAA;AAC5C,cAAA,MAAA,CAAOD,qCACF,YADE,CAAA,EAAA;AAAA,gBAEL,SAAS,IAAK,CAAA,OAAA;AAAA,eACf,CAAA,CAAA,CAAA;AAAA,aACF,CAAA,CAAA;AAAA;AACE,YAAA,IAAA,CAAK,OAAQ,EAAA,CAAA;AAAA,SACpB;AAAO,UAAA,IAAA,CAAK,OAAQ,EAAA,CAAA;AAAA,OACtB;AAAA,MACA,CAAC,CAAM,KAAA;AACL,QAAO,MAAA,CAAA;AAAA,UACL,OAAA,EAAS,CAA6B,0BAAA,EAAA,MAAA,CAAO,CAAC,CAAA,CAAA,CAAA;AAAA,UAC9C,IAAM,EAAA,QAAA;AAAA,SACP,CAAA,CAAA;AAAA,OACH;AAAA,KACF,CAAA;AAAA,WACO,CAAP,EAAA;AACA,IAAA,aAAA,CAAc,EAAE,UAAA,EAAY,aAAe,EAAA,WAAA,EAAa,CAAA,CAAA;AACxD,IAAA,OAAA,CAAQ,MAAM,8BAA8B,CAAA,CAAA;AAC5C,IAAA,OAAA,CAAQ,MAAM,CAAC,CAAA,CAAA;AAAA,GACjB;AACF,CAAA;AAEO,SAAS,cAAc,QAAmC,EAAA;AAC/D,EAAA,IAAI,CAAC,QAAA;AAAU,IAAA,OAAA;AACf,EAAA,MAAM,EAAE,UAAA,EAAY,WAAa,EAAA,aAAA,EAAkB,GAAA,QAAA,CAAA;AACnD,EAAI,IAAA,UAAA,IAAc,iBAAiB,WAAa,EAAA;AAC9C,IAAI,IAAA;AACF,MAAsB,qBAAA,CAAA;AAAA,QACpB,UAAA;AAAA,QACA,aAAA;AAAA,QACA,WAAA;AAAA,OACuB,CAAA,CAAA;AAAA,aAClB,CAAP,EAAA;AACA,MAAoB,mBAAA,CAAA,IAAI,KAAM,CAAA,CAAW,CAAC,CAAA,CAAA;AAAA,KAC5C;AAAA,GACF;AACF,CAAA;AAEa,MAAA,uBAAA,GAA0B,CAGrC,EAAA,EACA,EAEG,EAAA,GAAA,EAAA,KAAAF,SAAA,CAAA,KAAA,CAAA,EAAA,CAHH,EACA,EAAA,EAAA,EAEG,GAHH,EAAA,CAAA,EAAA,WAAA,QAAA,EACA,UACA,EAAA,iBAAA,GAAqD,aAClD,EAAA;AA7QL,EAAA,IAAA,EAAA,CAAA;AA8QE,EAAM,MAAA,YAAA,GAAe,UAAU,iBAAiB,CAAA,CAAA;AAEhD,EAAA,IAAI,SAAgE,GAAA,KAAA,CAAA,CAAA;AACpE,EAAI,IAAA,cAAA,CAAe,QAAQ,CAAG,EAAA;AAC5B,IAAI,IAAA,OAAO,SAAS,IAAS,KAAA,QAAA;AAC3B,MAAA,SAAA,GAAY,IAAK,CAAA,KAAA;AAAA,QACf,QAAA,CAAS,KAAK,IAAK,EAAA;AAAA,OACrB,CAAA;AAAA,SAAA,IACO,OAAO,QAAA,CAAS,IAAS,KAAA,QAAA,IAAY,QAAS,CAAA,IAAA;AACrD,MAAA,SAAA,GAAY,QAAS,CAAA,IAAA,CAAA;AAAA,GACzB,MAAA,IAAW,aAAc,CAAA,QAAQ,CAAG,EAAA;AAClC,IAAA,SAAA,GAAY,MAAM,aAAA,CAAwB,QAAS,CAAA,IAAI,CAAE,CAAA,KAAA;AAAA,MACvD,CAAC,CAAe,KAAA;AACd,QAAoB,mBAAA,CAAA,IAAI,KAAM,CAAA,CAAW,CAAC,CAAA,CAAA;AAAA,OAC5C;AAAA,KACF,CAAA;AAAA,GACF,MAAA,IAAW,cAAe,CAAA,QAAQ,CAAG,EAAA;AACnC,IAAQ,OAAA,CAAA,KAAA;AAAA,MACN,6DAAA;AAAA,KACF,CAAA;AACA,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAEA,EAAA,IAAI,aAAa,gBAAkB,EAAA;AACjC,IAAA,MAAM,cAAiB,GAAA,MAAM,YAAa,CAAA,gBAAA,CAAiBE,qCACtD,QADsD,CAAA,EAAA;AAAA,MAEzD,IAAA,EAAA,CAAM,EAAW,GAAA,SAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,IAAA,KAAX,IAAmB,GAAA,EAAA,GAAA,SAAA;AAAA,KAC1B,CAAA,CAAA,CAAA;AACD,IAAA,IAAI,OAAO,cAAmB,KAAA,QAAA;AAC5B,MAAM,MAAA,IAAI,KAAM,CAAA,CAAA,kBAAA,EAAqB,cAAgB,CAAA,CAAA,CAAA,CAAA;AAAA,SAAA,IAC9C,CAAC,cAAgB,EAAA;AACxB,MAAM,MAAA,IAAI,MAAM,OAAO,CAAA,CAAA;AAAA,KACzB;AAAA,GACF;AAEA,EAAA,IAAI,SAAW,EAAA;AACb,IAAA,MAQI,EAPF,GAAA,SAAA,EAAA;AAAA,MAAA,OAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA;AAAA,MACA,aAAA;AAAA,MACA,WAAA;AAAA,MACA,IAAA;AAAA,KAxTN,GA0TQ,EADC,EAAA,IAAA,GAAAE,WAAA,CACD,EADC,EAAA;AAAA,MANH,SAAA;AAAA,MACA,SAAA;AAAA,MACA,YAAA;AAAA,MACA,eAAA;AAAA,MACA,aAAA;AAAA,MACA,MAAA;AAAA,KAAA,CAAA,CAAA;AAGF,IAAI,IAAA,IAAA,CAAK,IAAS,KAAA,IAAA,IAAQ,UAAY,EAAA;AACpC,MAAA,OAAA,CAAQ,UAAW,EAAA,CAAA;AACnB,MAAO,OAAA,IAAA,CAAA;AAAA,KACT;AAEA,IAAI,IAAA,UAAA,IAAc,aAAa,KAAO,EAAA;AACpC,MAAQ,OAAA,CAAA,GAAA;AAAA,QACN,CAAA,yBAAA,CAAA;AAAA,QACA,CAAU,OAAA,EAAA,QAAA,CAAS,WAAa,EAAA,YAAA,CAAa,MAAM,CAAA,CAAA,CAAA;AAAA,QACnD;AAAA,UACE,UAAA;AAAA,SACF;AAAA,OACF,CAAA;AAAA,KACF;AACA,IAAI,IAAA,aAAA,IAAiB,aAAa,KAAO,EAAA;AACvC,MAAQ,OAAA,CAAA,GAAA;AAAA,QACN,CAAA,yBAAA,CAAA;AAAA,QACA,CAAU,OAAA,EAAA,QAAA,CAAS,WAAa,EAAA,YAAA,CAAa,MAAM,CAAA,CAAA,CAAA;AAAA,QACnD;AAAA,UACE,aAAA;AAAA,SACF;AAAA,OACF,CAAA;AAAA,KACF;AACA,IAAI,IAAA,WAAA,IAAe,aAAa,KAAO,EAAA;AACrC,MAAQ,OAAA,CAAA,GAAA;AAAA,QACN,CAAA,yBAAA,CAAA;AAAA,QACA,CAAU,OAAA,EAAA,QAAA,CAAS,OAAS,EAAA,YAAA,CAAa,MAAM,CAAA,CAAA,CAAA;AAAA,QAC/C;AAAA,UACE,WAAA;AAAA,SACF;AAAA,OACF,CAAA;AAAA,KACF;AAEA,IAAA,aAAA,CAAc,OAAO,CAAA,CAAA;AAErB,IAAA,IAAI,aAAa,UAAc,IAAA,OAAA;AAC7B,MAAc,aAAA,CAAA;AAAA,QACZ,UAAA;AAAA,QACA,OAAA;AAAA,QACA,aAAA;AAAA,QACA,WAAA;AAAA,OACD,CAAA,CAAA;AAAA;AACE,MAAA,aAAA,CAAc,EAAE,UAAA,EAAY,aAAe,EAAA,WAAA,EAAa,CAAA,CAAA;AAE7D,IAAA,IAAI,IAAM,EAAA;AACR,MAAA,IAAI,aAAa,UAAY,EAAA;AAC3B,QAAQ,OAAA,CAAA,GAAA;AAAA,UACN,CAAA,YAAA,CAAA;AAAA,UACA,CAAU,OAAA,EAAA,QAAA,CAAS,SAAW,EAAA,YAAA,CAAa,MAAM,CAAA,CAAA,CAAA;AAAA,UACjD;AAAA,YACE,IAAA;AAAA,WACF;AAAA,SACF,CAAA;AACA,QACE,IAAA,CAAC,MAAO,CAAA,IAAA,EAAM,UAAY,EAAA;AAAA,UACxB,aAAa,iBAAkB,CAAA,WAAA;AAAA,UAC/B,kBAAA,EAAoBF,eACf,CAAAC,gBAAA,CAAA,EAAA,EAAA,YAAA,CAAa,kBADE,CAAA,EAAA;AAAA,YAElB,SAAS,MAAM;AArX7B,cAAA,IAAAE,GAAAC,EAAAA,GAAAA,CAAAA;AAsXgB,cAAI,IAAA,OAAA;AACF,gBAAc,aAAA,CAAA;AAAA,kBACZ,UAAA;AAAA,kBACA,OAAA;AAAA,kBACA,aAAA;AAAA,kBACA,WAAA;AAAA,iBACD,CAAA,CAAA;AACH,cAAA,IAAA,CAAID,GAAA,GAAA,YAAA,CAAa,kBAAb,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,GAAiC,CAAA,OAAA;AACnC,gBAAA,CAAAC,GAAA,GAAA,YAAA,CAAa,kBAAb,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,GAAiC,CAAA,OAAA,EAAA,CAAA;AAAA,aACrC;AAAA,WACF,CAAA;AAAA,SACD,CACD,EAAA;AACA,UAAQ,OAAA,CAAA,GAAA;AAAA,YACN,CAAA,8CAAA,CAAA;AAAA,YACA,CAAU,OAAA,EAAA,QAAA,CAAS,WAAa,EAAA,YAAA,CAAa,MAAM,CAAA,CAAA,CAAA;AAAA,YACnD;AAAA,cACE,IAAA;AAAA,aACF;AAAA,WACF,CAAA;AAAA,SACF;AAAA,OACF;AACA,MAAA,OAAOJ,eAAK,CAAAC,gBAAA,CAAA,EAAA,EAAA,IAAA,CAAA,EAAL,EAAW,WAAA,EAAa,YAAY,aAAc,EAAA,CAAA,CAAA;AAAA,KAC3D;AACA,IAAA,OAAOD,eAAM,CAAAC,gBAAA,CAAA,EAAA,EAAA,IAAA,CAAA,EAAN,EAAyB,WAAA,EAAa,YAAY,aAAc,EAAA,CAAA,CAAA;AAAA,GACzE;AAEA,EAAO,OAAA,IAAA,CAAA;AACT,CAAA,CAAA,CAAA;AAOA,SAAe,cAAA,CACb,IACA,EAEiD,EAAA;AAAA,EAHjD,OAAAH,SAAA,CAAA,IAAA,EAAA,SAAA,EAAA,WAAA,MAAA,EACA,UACA,EAAA,iBAAA,GAAqD,aACJ,EAAA;AA7ZnD,IAAA,IAAA,EAAA,CAAA;AA8ZE,IAAM,MAAA,YAAA,GAAe,UAAU,iBAAiB,CAAA,CAAA;AAChD,IAAI,IAAA;AACF,MAAA,IAAI,CAAC,MAAA,IAAU,MAAO,CAAA,IAAA,KAAS,KAAW,CAAA,EAAA;AACxC,QAAA,IAAI,YAAa,CAAA,KAAA;AACf,UAAQ,OAAA,CAAA,GAAA;AAAA,YACN,CAAA,wBAAA,CAAA;AAAA,YACA,CAAU,OAAA,EAAA,QAAA,CAAS,OAAS,EAAA,YAAA,CAAa,MAAM,CAAA,CAAA,CAAA;AAAA,WACjD,CAAA;AAAA,OACG,MAAA;AACL,QAAA,MAAM,iBAAiB,MAAM,uBAAA;AAAA,UAC3B,MAAA;AAAA,UACA,UAAA;AAAA,UACA,YAAA;AAAA,SACF,CAAA;AAEA,QAAM,MAAA,MAAA,GAAS,iBAAiB,UAAU,CAAA,CAAA;AAC1C,QAAA,IAAI,YAAa,CAAA,KAAA;AACf,UAAQ,OAAA,CAAA,GAAA;AAAA,YACN,CAAiB,cAAA,EAAA,CAAA,EAAA,GAAA,MAAA,CAAO,MAAO,CAAA,MAAA,KAAd,YAAwB,EAAM,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA,CAAA;AAAA,YAC/C,CAAU,OAAA,EAAA,QAAA,CAAS,SAAW,EAAA,YAAA,CAAa,MAAM,CAAA,CAAA,CAAA;AAAA,YACjD;AAAA,cACE,IAAM,EAAA,cAAA;AAAA,aACR;AAAA,WACF,CAAA;AAEF,QAAA,OAAOE,qCACF,MADE,CAAA,EAAA;AAAA,UAEL,IAAM,EAAA,cAAA;AAAA,UACN,UACE,CAAC,EAAC,iDAAgB,UAAc,CAAA,IAAA,CAAC,EAAC,cAAgB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,cAAA,CAAA,aAAA,CAAA;AAAA,UACpD,WAAA,EAAa,CAAC,EAAC,cAAgB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,cAAA,CAAA,WAAA,CAAA;AAAA,SACjC,CAAA,CAAA;AAAA,OACF;AAAA,aACO,CAAP,EAAA;AACA,MAAoB,mBAAA,CAAA,IAAI,KAAM,CAAA,CAAW,CAAC,CAAA,CAAA;AAC1C,MAAO,OAAA,IAAA,CAAA;AAAA,KACT;AAEA,IAAO,OAAA,IAAA,CAAA;AAAA,GACT,CAAA,CAAA;AAAA,CAAA;AAgFA,SAAe,IAAA,CAKb,MAMA,IAI0B,EAAA;AAAA,EAAA,OAAAF,SAAA,CAAA,IAAA,EAAA,IAAA,EAAA,aAAA;AAC1B,IAAA,MAAM,SAAY,GAAA,OAAO,IAAS,KAAA,QAAA,GAAW,aAAgB,GAAA,IAAA,CAAA;AAE7D,IAAA,MAAM,eACJ,GAAA,OAAO,IAAS,KAAA,QAAA,GAAW,sBAAQ,aAAgB,GAAA,IAAA,CAAA;AAMrD,IAAA,MAAM,YAAe,GAAAE,eAAA,CAAAC,gBAAA,CAAA,EAAA,EAChB,SAAU,CAAA,eAAe,CADT,CAAA,EAAA;AAAA,MAEnB,QACE,EAAA,eAAA,CAAgB,kBAAuB,KAAA,WAAA,GACnC,WAAY,CAAA,SAAA;AAAA,QACV,eAAgB,CAAA,QAAA;AAAA,QAChB,eAAgB,CAAA,gBAAA;AAAA,UAElB,eAAgB,CAAA,QAAA;AAAA,KACxB,CAAA,CAAA;AAEA,IAAA,MAAM,SAAY,GAAA,OAAA;AAAA,MAChB,SAAA;AAAA,MACA,YAAa,CAAA,SAAA;AAAA,MACb,YAAa,CAAA,gBAAA;AAAA,KACf,CAAA;AAEA,IAAA,IAAI,aAAa,KAAO,EAAA;AACtB,MAAM,MAAA,WAAA,GAAc,SAAU,CAAA,KAAA,CAAM,GAAG,CAAA,CAAA;AACvC,MAAM,MAAA,MAAA,GAAS,iBAAiB,SAAS,CAAA,CAAA;AAEzC,MAAQ,OAAA,CAAA,GAAA;AAAA,QACN,CAAkB,eAAA,EAAA,MAAA,CAAA,CAAA;AAAA,QAClB,CAAU,OAAA,EAAA,QAAA,CAAS,SAAW,EAAA,YAAA,CAAa,MAAM,CAAA,CAAA,CAAA;AAAA,QACjD;AAAA,UACE,GAAK,EAAA,SAAA;AAAA,UACL,cAAA,EAAgB,CAAC,GAAG,WAAW,CAAA;AAAA,UAC/B,WAAW,YAAa,CAAA,SAAA;AAAA,UACxB,UAAU,YAAa,CAAA,QAAA;AAAA,UACvB,mBAAmB,YAAa,CAAA,gBAAA;AAAA,SAClC;AAAA,OACF,CAAA;AAAA,KACF;AAEA,IAAM,MAAA,QAAA,GAAW,MAAM,KACpB,CAAA,IAAA;AAAA,MACC,SAAA;AAAA,MACA,YAAa,CAAA,QAAA;AAAA,MACb,YAAa,CAAA,WAAA;AAAA,KACf,CACC,KAAM,CAAA,CAAC,CAAe,KAAA;AACrB,MAAoB,mBAAA,CAAA,IAAI,KAAM,CAAA,CAAW,CAAC,CAAA,CAAA;AAAA,KAC3C,CAAA,CAAA;AAEH,IAAA,IAAI,QAAU,EAAA;AACZ,MAAA,MAAM,MAAS,GAAA,cAAA,CAAyB,QAAU,EAAA,SAAA,EAAW,YAAY,CAAA,CAAA;AACzE,MAAO,OAAA,MAAA,CAAA;AAAA,KACT;AACA,IAAO,OAAA,IAAA,CAAA;AAAA,GACT,CAAA,CAAA;AAAA,CAAA;AAuDA,SAAe,GAAA,CAKb,MACA,IAC0B,EAAA;AAAA,EAAA,OAAAH,SAAA,CAAA,IAAA,EAAA,IAAA,EAAA,aAAA;AAC1B,IAAA,MAAM,SAAY,GAAA,OAAO,IAAS,KAAA,QAAA,GAAW,aAAgB,GAAA,IAAA,CAAA;AAE7D,IAAA,MAAM,YAAe,GAAA,SAAA;AAAA,MACnB,OAAO,IAAA,KAAS,QAAW,GAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAQ,aAAgB,GAAA,IAAA;AAAA,KACrD,CAAA;AAEA,IAAA,MAAM,SAAY,GAAA,OAAA;AAAA,MAChB,SAAA;AAAA,MACA,YAAa,CAAA,SAAA;AAAA,MACb,YAAa,CAAA,gBAAA;AAAA,KACf,CAAA;AAEA,IAAA,IAAI,YAAa,CAAA,KAAA;AACf,MAAQ,OAAA,CAAA,GAAA;AAAA,QACN,CAAA,aAAA,CAAA;AAAA,QACA,CAAU,OAAA,EAAA,QAAA,CAAS,SAAW,EAAA,YAAA,CAAa,MAAM,CAAA,CAAA,CAAA;AAAA,QACjD;AAAA,UACE,GAAK,EAAA,SAAA;AAAA,SACP;AAAA,OACF,CAAA;AACF,IAAM,MAAA,QAAA,GAAW,MAAM,KAAA,CACpB,GAAiC,CAAA,SAAA,EAAW,aAAa,WAAW,CAAA,CACpE,KAAM,CAAA,CAAC,CAAe,KAAA;AACrB,MAAoB,mBAAA,CAAA,IAAI,KAAM,CAAA,CAAW,CAAC,CAAA,CAAA;AAAA,KAC3C,CAAA,CAAA;AACH,IAAA,IAAI,QAAU,EAAA;AACZ,MAAA,MAAM,SAAS,MAAM,cAAA;AAAA,QACnB,QAAA;AAAA,QACA,SAAA;AAAA,QACA,YAAA;AAAA,OACF,CAAA;AACA,MAAO,OAAA,MAAA,CAAA;AAAA,KACT;AACA,IAAO,OAAA,IAAA,CAAA;AAAA,GACT,CAAA,CAAA;AAAA,CAAA;AAEA,MAAM,OAAU,GAAA;AAAA,EACd,GAAA;AAAA,EACA,SAAA;AAAA,EACA,IAAA;AACF,EAAA;AAiBO,SAAS,YAAY,KASzB,EAAA;AAhuBH,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAiuBE,EAAA,IAAI,kBAAqD,EAAC,CAAA;AAE1D,EAAA,IAAI,KAAO,EAAA;AACT,IAAA,MASI,EARF,GAAA,KAAA,CAAA,CAOG,IAAA,GAAAI,WAAA,CACD,EADC,EAAA;AAAA,MAPH,SAAA;AAAA,MACA,aAAA;AAAA,MACA,kBAAA;AAAA,MACA,kBAAA;AAAA,MACA,uBAAA;AAAA,MACA,YAAA;AAAA,MACA,OAAA;AAAA,KAAA,EAAA;AAGF,IAAA,eAAA,GAAkBD,gBAAK,CAAA,EAAA,EAAA,IAAA,CAAA,CAAA;AAAA,GACzB;AAEA,EAAA,MAAM,cAAc,WAAY,CAAA,SAAA;AAAA,IAC9B,eAAA;AAAA,IACA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,qBAAP,IAA2B,GAAA,EAAA,GAAA;AAAA,MACzB,WAAa,EAAA,QAAA;AAAA,MACb,gBAAkB,EAAA,KAAA;AAAA,KACpB;AAAA,GACF,CAAA;AAEA,EAAA,IAAI,aAAgB,GAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,OAAP,KAAA,IAAA,GAAA,EAAA,GAAkB,MAAO,CAAA,gBAAA,CAAA;AAC7C,EAAA,IAAI,cAAc,OAAQ,CAAA,GAAG,CAAM,KAAA,aAAA,CAAc,SAAS,CAAG,EAAA;AAC3D,IAAA,aAAA,GAAgB,aAAc,CAAA,KAAA,CAAM,CAAG,EAAA,aAAA,CAAc,SAAS,CAAC,CAAA,CAAA;AAAA,GACjE;AACA,EAAA,IAAI,CAAC,aAAA,CAAc,UAAW,CAAA,GAAG,CAAG,EAAA;AAClC,IAAA,aAAA,GAAgB,CAAI,CAAA,EAAA,aAAA,CAAA,CAAA,CAAA;AAAA,GACtB;AAEA,EAAA,MAAM,KAAQ,GAAA,MAAA,CAAO,cAAe,CAAA,KAAA,CAAM,eAAe,CAAA,CAAA;AACzD,EAAA,MAAM,cAAkB,GAAA,CAAA,KAAA,IAAA,IAAA,GAAA,KAAA,GAAS,EAAC,EAAG,CAAC,CAAA,CAAA;AAEtC,EAAI,IAAA,KAAA,GAAA,CAAA,CACF,KAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,KAAA,IACH,CAAU,OAAA,EAAA,KAAA,CAAM,iBAAiB,cACjC,CAAA,CAAA,GAAA,MAAA,CAAO,cACX,EAAA,KAAA,CAAM,CAAC,CAAA,CAAA;AACT,EAAA,IAAI,+BAAO,UAAY,EAAA;AACrB,IAAQ,KAAA,GAAA,EAAA,CAAA;AAAA,GACV;AAEA,EAAI,IAAA,EAAE,SAAY,GAAA,MAAA,CAAA;AAClB,EAAI,IAAA,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAS,SAAS,GAAM,CAAA,EAAA;AAC1B,IAAA,OAAA,IAAW,OAAQ,CAAA,KAAA,CAAM,CAAG,EAAA,OAAA,CAAQ,SAAS,CAAC,CAAA,CAAA;AAAA,GAChD;AAEA,EAAI,IAAA,SAAA,GAAY,CAAa,UAAA,EAAA,IAAA,CAAK,GAAI,EAAA,CAAA,CAAA,CAAA,CAAA;AACtC,EACG,IAAA,CAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,gBAAe,KAAM,CAAA,WAAA,CAAY,SAAS,YAAY,CAAA,KAC9D,WAAa,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAA,QAAA,CAAS,YACtB,CAAA,CAAA,EAAA;AACA,IAAY,SAAA,GAAA,EAAA,CAAA;AAAA,GACd;AAEA,EAAA,MAAM,WAAc,GAAA,OAAA,CAAQ,UAAW,CAAA,GAAA,EAAK,EAAE,CAAA,CAAA;AAC9C,EAAA,aAAA,GAAA,CAAgB,EAAc,GAAA,aAAA,CAAA,KAAA;AAAA,IAC5B,IAAI,MAAO,CAAA,CAAA,SAAA,EAAY,WAAuB,CAAA,UAAA,CAAA,CAAA;AAAA,QADhC,IAEZ,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AAEJ,EAAO,OAAA,CAAA,EACL,cAAc,GAAM,GAAA,EAAA,CAAA,EACnB,eAAe,aAAiB,CAAA,CAAA,EAAA,SAAA,CAAA,EACjC,EAAC,KAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,qBAAA,CAAA,GAAwB,gBAAgB,EAC/C,CAAA,EAAA,CAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,eAAc,CAAG,EAAA,KAAA,CAAM,iBAAiB,EAChD,CAAA,EAAA,WAAA,GAAc,CAAG,EAAA,WAAA,CAAA,CAAA,CAAA,GAAiB,EACjC,CAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACL;;;;;;;;;;;;;;;;;;AClyBa,MAAA,eAAA,GAAkB,CAAC,KAAyB,KAAA;AACvD,EAAM,MAAA,OAAA,GAAUI,eAAM,OAAQ,CAAA,MAAM,MAAM,OAAS,EAAA,CAAC,KAAM,CAAA,OAAO,CAAC,CAAA,CAAA;AAClE,EAAA,MAAM,YAAYA,cAAM,CAAA,OAAA;AAAA,IACtB,MACE,OAAA,CAAQ,KACJ,GAAA,CAAA,kBAAA,EAAqB,QAAQ,KAC7B,CAAA,CAAA,GAAA,mBAAA;AAAA,IACN,CAAC,QAAQ,KAAK,CAAA;AAAA,GAChB,CAAA;AACA,EAAA,MAAM,kBAAkBA,cAAM,CAAA,OAAA;AAAA,IAC5B,MAAOJ,gBAAA,CAAA;AAAA,MACL,UAAU,OAAQ,CAAA,SAAA;AAAA,KACf,EAAA,eAAA,CAAgB,QAAQ,KAAK,CAAA,CAAA;AAAA,IAElC,CAAC,OAAA,CAAQ,KAAO,EAAA,OAAA,CAAQ,SAAS,CAAA;AAAA,GACnC,CAAA;AACA,EAAA,MAAM,oBAAoBI,cAAM,CAAA,WAAA;AAAA,IAC9B,CAAC,KAAA,KAA4B,KAAU,KAAA,IAAA,IAAQ,KAAU,KAAA,IAAA;AAAA,IACzD,EAAC;AAAA,GACH,CAAA;AACA,EACE,uBAAA,GAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,SAAA;AAAA,MACA,IAAA,EAAM,OAAQ,CAAA,EAAA,IAAM,OAAQ,CAAA,IAAA;AAAA,MAC5B,OAAO,OAAQ,CAAA,IAAA;AAAA,MACf,KAAA,EAAO,OAAQ,CAAA,KAAA,IAAS,OAAQ,CAAA,IAAA;AAAA,MAChC,YAAc,EAAA,MAAA,CAAO,OAAQ,CAAA,QAAQ,CAAM,KAAA,MAAA;AAAA,MAC3C,QAAA,EAAU,OAAQ,CAAA,QAAA,IAAY,OAAQ,CAAA,QAAA;AAAA,MACtC,eAAA;AAAA,MACA,UAAU,OAAQ,CAAA,QAAA;AAAA,MAClB,iBAAA;AAAA,KAAA;AAAA,GACF,CAAA;AAEJ,CAAA;;;;;;;;;;;;;;;;;;ACjCa,MAAA,gBAAA,GAAmB,CAAC,KAAyB,KAAA;AACxD,EAAM,MAAA,OAAA,GAAUA,eAAM,OAAQ,CAAA,MAAM,MAAM,OAAS,EAAA,CAAC,KAAM,CAAA,OAAO,CAAC,CAAA,CAAA;AAClE,EAAA,MAAM,YAAYA,cAAM,CAAA,OAAA;AAAA,IACtB,MAAO,OAAA,CAAQ,KAAQ,GAAA,CAAA,cAAA,EAAiB,QAAQ,KAAU,CAAA,CAAA,GAAA,eAAA;AAAA,IAC1D,CAAC,QAAQ,KAAK,CAAA;AAAA,GAChB,CAAA;AACA,EAAA,MAAM,kBAAkBA,cAAM,CAAA,OAAA;AAAA,IAC5B,MAAOJ,gBAAA,CAAA;AAAA,MACL,UAAU,OAAQ,CAAA,SAAA;AAAA,KACf,EAAA,eAAA,CAAgB,QAAQ,KAAK,CAAA,CAAA;AAAA,IAElC,CAAC,OAAA,CAAQ,KAAO,EAAA,OAAA,CAAQ,SAAS,CAAA;AAAA,GACnC,CAAA;AAEA,EACE,uBAAA,GAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,SAAA;AAAA,MACA,IAAA,EAAM,OAAQ,CAAA,EAAA,IAAM,OAAQ,CAAA,IAAA;AAAA,MAC5B,OAAO,OAAQ,CAAA,IAAA;AAAA,MACf,KAAA,EAAO,OAAQ,CAAA,KAAA,IAAS,OAAQ,CAAA,IAAA;AAAA,MAChC,UAAU,OAAQ,CAAA,QAAA;AAAA,MAClB,UAAU,OAAQ,CAAA,QAAA;AAAA,MAClB,eAAA;AAAA,KAAA;AAAA,GACF,CAAA;AAEJ,CAAA,CAAA;AAEA,gBAAA,CAAiB,WAAc,GAAA,kBAAA;;;;;;;;;;;;;;;;;;;;;ACtBlB,MAAA,YAAA,GAAe,CAAC,KAAyB,KAAA;AACpD,EAAM,MAAA,OAAA,GAAUI,eAAM,OAAQ,CAAA,MAAM,MAAM,OAAS,EAAA,CAAC,KAAM,CAAA,OAAO,CAAC,CAAA,CAAA;AAElE,EAAA,MAAM,QAAW,GAAAA,cAAA,CAAM,WAAY,CAAA,CAAC,IAAiB,KAAA;AACnD,IAAO,OAAAA,cAAA,CAAM,KAAyC,MAAM;AAC1D,MAAO,OAAA,IAAI,OAER,CAAA,CAAC,OAAY,KAAA;AACd,QAAA;AAAA;AAAA;AAAA,UAGE,CAAe,YAAA,EAAA,IAAA,CAAA,CAAA;AAAA,SAEd,CAAA,IAAA,CAAK,CAAC,MAAoB,KAAA;AACzB,UAAA,OAAA;AAAA,YACE,MAAA;AAAA,WAGF,CAAA;AAAA,SACD,CAAA,CACA,KAAM,CAAA,CAAC,KAAmB,KAAA;AACzB,UAAQ,OAAA,CAAA;AAAA,YACN,SAAS,MAAM;AACb,cAAA,OAAA,CAAQ,MAAM,KAAK,CAAA,CAAA;AACnB,cAAA,MAAM,IAAI,KAAA;AAAA,gBACR,CAAuD,oDAAA,EAAA,IAAA,CAAA,gBAAA,CAAA;AAAA,eACzD,CAAA;AAAA,aACF;AAAA,WACD,CAAA,CAAA;AAAA,SACF,CAAA,CAAA;AAAA,OACJ,CAAA,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GACH,EAAG,EAAE,CAAA,CAAA;AAEL,EAAA,MAAM,CAAC,QAAU,EAAA,WAAW,CAAI,GAAAA,cAAA,CAAM,SAE5B,IAAI,CAAA,CAAA;AAEd,EAAA,QAAA,CAAS,MAAM;AACb,IAAA,IAAI,QAAQ,aAAe,EAAA;AACzB,MAAA,MAAM,KAAQ,GAAA,OAAA,CAAQ,aAAc,CAAA,KAAA,CAAM,sBAAsB,CAAA,CAAA;AAChE,MAAA,IAAI,KAAO,EAAA;AACT,QAAA,MAAM,SAAY,GAAA,KAAA,CAAM,KAAM,CAAA,MAAA,GAAS,CAAC,CAAA,CAAA;AACxC,QAAY,WAAA,CAAA,QAAA,CAAS,SAAS,CAAC,CAAA,CAAA;AAAA,OACjC;AAAA,KACF;AAAA,GACD,CAAA,CAAA;AAED,EAAA,MAAM,YAAYA,cAAM,CAAA,OAAA;AAAA,IACtB,MACE,QAAQ,KACJ,GAAA,CAAA,SAAA,EAAY,QAAQ,IAAQ,CAAA,CAAA,EAAA,OAAA,CAAQ,KACpC,CAAA,CAAA,GAAA,CAAA,SAAA,EAAY,OAAQ,CAAA,IAAA,CAAA,CAAA;AAAA,IAC1B,CAAC,OAAA,CAAQ,KAAO,EAAA,OAAA,CAAQ,IAAI,CAAA;AAAA,GAC9B,CAAA;AACA,EAAA,MAAM,kBAAkBA,cAAM,CAAA,OAAA;AAAA,IAC5B,MAAOJ,gBAAA,CAAA;AAAA,MACL,UAAU,OAAQ,CAAA,SAAA;AAAA,MAClB,WAAW,OAAQ,CAAA,SAAA,GAAY,MAAO,CAAA,OAAA,CAAQ,SAAS,CAAI,GAAA,KAAA,CAAA;AAAA,MAC3D,SAAS,OAAQ,CAAA,MAAA;AAAA,MACjB,gBAAgB,OAAQ,CAAA,aAAA;AAAA,KACrB,EAAA,eAAA,CAAgB,QAAQ,KAAK,CAAA,CAAA;AAAA,IAElC;AAAA,MACE,OAAQ,CAAA,KAAA;AAAA,MACR,OAAQ,CAAA,SAAA;AAAA,MACR,OAAQ,CAAA,SAAA;AAAA,MACR,OAAQ,CAAA,MAAA;AAAA,MACR,OAAQ,CAAA,aAAA;AAAA,KACV;AAAA,GACF,CAAA;AACA,EAAA,MAAM,qBAAqBI,cAAM,CAAA,OAAA;AAAA,IAC/B,MAAM,yBAA0B,CAAA,OAAA,CAAQ,KAAK,CAAA;AAAA,IAC7C,CAAC,QAAQ,KAAK,CAAA;AAAA,GAChB,CAAA;AACA,EAAA,MAAM,oBAAoBA,cAAM,CAAA,WAAA;AAAA,IAC9B,CAAC,KAAkB,KAAA;AACjB,MAAI,IAAA,OAAA,CAAQ,SAAS,UAAY,EAAA;AAC/B,QAAO,OAAA,OAAA;AAAA,UACL,MAAO,CAAA,IAAA;AAAA,UACP,MAAO,CAAA,EAAA;AAAA,UACP,MAAO,CAAA,UAAA;AAAA,UACP,KAAA;AAAA,UACA,MAAA,CAAO,OAAO,QAAQ,CAAA;AAAA,UACtB,MAAA,CAAO,OAAO,eAAe,CAAA;AAAA,SAC/B,CAAA;AAAA,OACF;AACA,MAAO,OAAA,KAAA,CAAA;AAAA,KACT;AAAA,IACA,CAAC,QAAQ,IAAI,CAAA;AAAA,GACf,CAAA;AAEA,EAAA,IAAI,QAAQ,aAAe,EAAA;AACzB,IAAA,IAAI,QAAU,EAAA;AACZ,MACE,uBAAA,GAAA,CAACA,eAAM,QAAN,EAAA,EACC,8BAAC,QAAa,EAAAL,eAAA,CAAAC,gBAAA,CAAA,EAAA,EAAA,KAAA,CAAA,EAAb,EAAoB,OAAA,EAAA,CAAkB,CACzC,EAAA,CAAA,CAAA;AAAA,KAEJ;AACA,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAEA,EACE,uBAAA,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,MAAM,OAAQ,CAAA,IAAA;AAAA,MACd,SAAA;AAAA,MACA,IAAA,EAAM,OAAQ,CAAA,EAAA,IAAM,OAAQ,CAAA,IAAA;AAAA,MAC5B,OAAO,OAAQ,CAAA,IAAA;AAAA,MACf,KAAA,EAAO,OAAQ,CAAA,KAAA,IAAS,OAAQ,CAAA,IAAA;AAAA,MAChC,OAAO,OAAQ,CAAA,KAAA;AAAA,MACf,UAAU,OAAQ,CAAA,QAAA;AAAA,MAClB,UAAU,OAAQ,CAAA,QAAA;AAAA,MAClB,kBAAA;AAAA,MACA,eAAA;AAAA,MACA,iBAAA;AAAA,MACA,UAAU,OAAQ,CAAA,QAAA;AAAA,MAClB,YAAc,EAAA,OAAA,CAAQ,IAAS,KAAA,UAAA,GAAa,cAAiB,GAAA,KAAA,CAAA;AAAA,KAAA;AAAA,GAC/D,CAAA;AAEJ,CAAA,CAAA;AAEA,YAAA,CAAa,WAAc,GAAA,cAAA;;;;;;;;;;;;;;;;;;AC9Hd,MAAA,YAAA,GAAe,CAAC,KAAyB,KAAA;AALtD,EAAA,IAAA,EAAA,CAAA;AAME,EAAM,MAAA,OAAA,GAAUI,eAAM,OAAQ,CAAA,MAAM,MAAM,OAAS,EAAA,CAAC,KAAM,CAAA,OAAO,CAAC,CAAA,CAAA;AAClE,EAAA,MAAM,YAAYA,cAAM,CAAA,OAAA;AAAA,IACtB,MACE,OAAA,CAAQ,KAAQ,GAAA,CAAA,eAAA,EAAkB,QAAQ,KAAU,CAAA,CAAA,GAAA,gBAAA;AAAA,IACtD,CAAC,QAAQ,KAAK,CAAA;AAAA,GAChB,CAAA;AACA,EAAA,MAAM,UAAUA,cAAM,CAAA,OAAA;AAAA,IACpB,MAAG;AAbP,MAAAF,IAAAA,GAAAA,CAAAA;AAcM,MAAaA,OAAAA,YAAAA,CAAAA,CAAAA,GAAAA,GAAA,QAAQ,OAAR,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,IAAiB,MAAM,CAAA,CAAE,GAAI,CAAA,CAAC,UAAe,KAAA;AACxD,QAAA,OAAO,EAAE,KAAO,EAAA,UAAA,CAAW,KAAO,EAAA,KAAA,EAAO,WAAW,OAAQ,EAAA,CAAA;AAAA,OAC7D,CAAA,CAAA;AAAA,KAAA;AAAA,IACH,CAAC,CAAA,EAAA,GAAA,OAAA,CAAQ,OAAR,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAiB,MAAM,CAAA;AAAA,GAC1B,CAAA;AACA,EAAA,MAAM,kBAAkBE,cAAM,CAAA,OAAA;AAAA,IAC5B,MAAOJ,gBAAA,CAAA;AAAA,MACL,UAAU,OAAQ,CAAA,SAAA;AAAA,KACf,EAAA,eAAA,CAAgB,QAAQ,KAAK,CAAA,CAAA;AAAA,IAElC,CAAC,OAAA,CAAQ,KAAO,EAAA,OAAA,CAAQ,SAAS,CAAA;AAAA,GACnC,CAAA;AACA,EACE,uBAAA,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA;AAAA,MACA,IAAA,EAAM,OAAQ,CAAA,EAAA,IAAM,OAAQ,CAAA,IAAA;AAAA,MAC5B,OAAO,OAAQ,CAAA,IAAA;AAAA,MACf,KAAA,EAAO,OAAQ,CAAA,KAAA,IAAS,OAAQ,CAAA,IAAA;AAAA,MAChC,OAAO,OAAQ,CAAA,KAAA;AAAA,MACf,QAAA,EAAU,OAAQ,CAAA,QAAA,IAAY,OAAQ,CAAA,QAAA;AAAA,MACtC,eAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAU,OAAQ,CAAA,QAAA;AAAA,KAAA;AAAA,GACpB,CAAA;AAEJ,CAAA,CAAA;AAEA,YAAA,CAAa,WAAc,GAAA,cAAA;;;;;;;;;;;;;;;;;;AC/Bd,MAAA,aAAA,GAAgB,CAAC,KAAyB,KAAA;AAVvD,EAAA,IAAA,EAAA,CAAA;AAWE,EAAM,MAAA,OAAA,GAAUI,eAAM,OAAQ,CAAA,MAAM,MAAM,OAAS,EAAA,CAAC,KAAM,CAAA,OAAO,CAAC,CAAA,CAAA;AAClE,EAAA,MAAM,YAAYA,cAAM,CAAA,OAAA;AAAA,IACtB,MACE,OAAA,CAAQ,KAAQ,GAAA,CAAA,gBAAA,EAAmB,QAAQ,KAAU,CAAA,CAAA,GAAA,iBAAA;AAAA,IACvD,CAAC,QAAQ,KAAK,CAAA;AAAA,GAChB,CAAA;AACA,EAAA,MAAM,UAAUA,cAAM,CAAA,OAAA;AAAA,IACpB,MAAG;AAlBP,MAAAF,IAAAA,GAAAA,CAAAA;AAmBM,MAAaA,OAAAA,YAAAA,CAAAA,CAAAA,GAAAA,GAAA,QAAQ,OAAR,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,IAAiB,MAAM,CAAA,CAAE,GAAI,CAAA,CAAC,UAAe,KAAA;AACxD,QAAA,OAAO,EAAE,KAAO,EAAA,UAAA,CAAW,KAAO,EAAA,KAAA,EAAO,WAAW,OAAQ,EAAA,CAAA;AAAA,OAC7D,CAAA,CAAA;AAAA,KAAA;AAAA,IACH,CAAC,CAAA,EAAA,GAAA,OAAA,CAAQ,OAAR,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAiB,MAAM,CAAA;AAAA,GAC1B,CAAA;AACA,EAAA,MAAM,kBAAkBE,cAAM,CAAA,OAAA;AAAA,IAC5B,MAAOJ,gBAAA,CAAA;AAAA,MACL,UAAU,OAAQ,CAAA,SAAA;AAAA,KACf,EAAA,eAAA,CAAgB,QAAQ,KAAK,CAAA,CAAA;AAAA,IAElC,CAAC,OAAA,CAAQ,KAAO,EAAA,OAAA,CAAQ,SAAS,CAAA;AAAA,GACnC,CAAA;AACA,EAAA,MAAM,YAAe,GAAA,OAAA;AAAA,IACnB,MAAG;AAhCP,MAAA,IAAAE,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAiCM,MAAAA,OAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,GAAAA,CAAAA,GAAAA,GAAA,QAAQ,IAAK,CAAA,CAAC,YAAY,OAAQ,CAAA,KAAA,KAAU,MAAM,OAAQ,CAAA,KAAK,MAA/D,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAkE,UAAlE,IACA,GAAA,EAAA,GAAA,CAAA,EAAA,GAAA,OAAA,CAAQ,CAAC,CAAT,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAY,UADZ,IAEA,GAAA,EAAA,GAAA,EAAA,CAAA;AAAA,KAAA;AAAA;AAAA,IAEF,EAAC;AAAA,GACH,CAAA;AAEA,EACE,uBAAA,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,SAAA;AAAA,MACA,IAAA,EAAM,OAAQ,CAAA,EAAA,IAAM,OAAQ,CAAA,IAAA;AAAA,MAC5B,OAAO,OAAQ,CAAA,IAAA;AAAA,MACf,KAAA,EAAO,OAAQ,CAAA,KAAA,IAAS,OAAQ,CAAA,IAAA;AAAA,MAChC,OAAO,OAAQ,CAAA,KAAA;AAAA,MACf,QAAA,EAAU,OAAQ,CAAA,QAAA,IAAY,OAAQ,CAAA,QAAA;AAAA,MACtC,eAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAU,OAAQ,CAAA,QAAA;AAAA,MAClB,YAAA;AAAA,KAAA;AAAA,GACF,CAAA;AAEJ,CAAA,CAAA;AAEA,aAAA,CAAc,WAAc,GAAA,eAAA;;;;;;;;;;;;;;;;;;;;;ACvCf,MAAA,sBAAA,GAAyB,CAAC,KAAmC,KAAA;AAjB1E,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AAkBE,EAAA,MAAM,WAAWE,cAAM,CAAA,OAAA;AAAA,IACrB,MAAG;AAnBP,MAAA,IAAAF,KAAAC,GAAA,EAAA,EAAA,CAAA;AAmBU,MAAA,OAAA,YAAA,CAAA,CAAa,EAAAA,GAAAA,CAAAA,GAAAA,GAAAA,CAAAD,GAAA,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,eAAP,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAmB,IAAK,CAAA,QAAA,KAAxB,IAAAC,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAkC,OAAlC,KAAA,IAAA,GAAA,EAAA,GAA6C,EAAE,CAAA,CAAA;AAAA,KAAA;AAAA,IAClE,EAAC,EAAO,GAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,UAAA,KAAP,mBAAmB,IAAK,CAAA,QAAA,KAAxB,mBAAkC,OAAO,CAAA;AAAA,GAC5C,CAAA;AAEA,EAAM,MAAA,WAAA,GAAcC,cAAM,CAAA,WAAA,CAAY,MAAM;AAvB9C,IAAAF,IAAAA,GAAAA,CAAAA;AAwBI,IAAM,MAAA,mBAAA,GAAsB,CAC1B,eACuB,KAAA;AACvB,MAAI,IAAA,eAAA,CAAgB,SAAS,CAAG,EAAA;AAC9B,QAAA,KAAA,IAAS,IAAI,eAAgB,CAAA,MAAA,GAAS,CAAG,EAAA,CAAA,IAAK,GAAG,CAAK,EAAA,EAAA;AACpD,UAAA,IAAI,eAAgB,CAAA,CAAC,CAAE,CAAA,IAAA,KAAS,OAAS,EAAA;AACvC,YAAA,eAAA,CAAgB,GAAI,EAAA,CAAA;AAAA,WACf,MAAA;AACL,YAAO,OAAA,eAAA,CAAA;AAAA,WACT;AAAA,SACF;AAAA,OACF;AACA,MAAO,OAAA,eAAA,CAAA;AAAA,KACT,CAAA;AACA,IAAA,MAAM,iBAA2B,EAAC,CAAA;AAClC,IAAA,IAAA,CAAA,CAAIA,MAAA,QAAS,CAAA,CAAC,MAAV,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAa,UAAS,cAAgB,EAAA;AACxC,MAAA,cAAA,CAAe,KAAK,CAAE,CAAA,CAAA,CAAA;AAAA,KACxB;AACA,IAAS,QAAA,CAAA,OAAA,CAAQ,CAAC,OAAA,EAAS,KAAU,KAAA;AACnC,MAAI,IAAA,OAAA,CAAQ,SAAS,cAAgB,EAAA;AACnC,QAAA,cAAA,CAAe,KAAK,KAAK,CAAA,CAAA;AAAA,OAC3B;AAAA,KACD,CAAA,CAAA;AACD,IAAA,MAAMG,YAGA,EAAC,CAAA;AACP,IAAe,cAAA,CAAA,OAAA,CAAQ,CAAC,YAAA,EAAc,UAAe,KAAA;AACnD,MAAM,MAAA,KAAA,GACJ,eAAe,CAAI,GAAA,QAAA,CAAS,SACxB,YAAe,GAAA,CAAA,GACf,SAAS,MAAS,GAAA,CAAA,CAAA;AACxB,MAAM,MAAA,GAAA,GACJ,aAAa,CAAI,GAAA,cAAA,CAAe,SAC5B,cAAe,CAAA,UAAA,GAAa,CAAC,CAC7B,GAAA,KAAA,CAAA,CAAA;AACN,MAAAA,UAAS,IAAK,CAAA;AAAA,QACZ,aAAe,EAAA,YAAA,KAAiB,CAAK,CAAA,GAAA,QAAA,CAAS,YAAY,CAAI,GAAA,KAAA,CAAA;AAAA,QAC9D,iBAAiB,mBAAoB,CAAA,QAAA,CAAS,KAAM,CAAA,KAAA,EAAO,GAAG,CAAC,CAAA;AAAA,OAChE,CAAA,CAAA;AAAA,KACF,CAAA,CAAA;AACD,IAAOA,OAAAA,SAAAA,CAAAA;AAAA,GACT,EAAG,CAAC,QAAQ,CAAC,CAAA,CAAA;AAEb,EAAA,MAAM,WAAW,WAAY,EAAA,CAAA;AAE7B,EAAA,MAAM,uBAAuBD,cAAM,CAAA,WAAA;AAAA,IACjC,CAAC,eAAwC,KAAA;AACvC,MAAM,MAAA,SAAA,GACJ,gBAAgB,SAAU,CAAA,CAAC,YAAY,OAAQ,CAAA,IAAA,KAAS,QAAQ,CAChE,KAAA,CAAA,CAAA,CAAA;AACF,MACE,uBAAA,GAAA;AAAA,QAAC,GAAA;AAAA,QAAA;AAAA,UACC,SAAA,EACE,YACI,2CACA,GAAA,CAAA,yDAAA,CAAA;AAAA,UAIL,QAAA,EAAA,eAAA,CAAgB,GAAI,CAAA,CAAC,OAAY,KAAA;AAChC,YAAM,MAAA,OAAA,GAAUL,qCACX,OADW,CAAA,EAAA;AAAA,cAEd,QAAW,GAAA;AACT,gBAAA,WAAA,CAAY,QAAQ,QAAU,EAAA,KAAK,CAChC,CAAA,IAAA,CAAK,CAAC,cAAmB,KAAA;AACxB,kBAAA,IAAI,cAAgB,EAAA;AAClB,oBAAe,cAAA,EAAA,CAAA;AAAA,mBACjB;AAAA,iBACD,CAAA,CACA,KAAM,CAAA,OAAA,CAAQ,KAAK,CAAA,CAAA;AAAA,eACxB;AAAA,aACF,CAAA,CAAA;AACA,YAAA,MAAM,UAAa,GAAA,OAAA,CAAQ,EAAM,IAAA,OAAA,CAAQ,QAAQ,QAAS,EAAA,CAAA;AAC1D,YAAA,QAAQ,QAAQ,IAAM;AAAA,cACpB,KAAK,OAAS,EAAA;AACZ,gBAAA,MAAM,IAAO,GAAA,IAAA,CAAK,KAAM,CAAA,OAAA,CAAQ,IAAI,CAAA,CAAA;AACpC,gBACE,uBAAA,GAAA;AAAA,kBAAC,GAAA;AAAA,kBAEKA,eAAA,CAAAC,gBAAA,CAAA,EAAA,EAAA,UAAA,CAAW,kCAAkC,CAFlD,CAAA,EAAA;AAAA,oBAIC,+BAAC,OAAM,EAAA,EAAA,EAAA,EAAI,EAAE,KAAA,EAAO,QAClB,EAAA,QAAA,EAAA;AAAA,sCAAA,GAAA,CAAC,WACC,QAAC,kBAAA,GAAA,CAAA,IAAA,EAAA,EACE,eAAK,OAAQ,CAAA,GAAA,CAAI,CAAC,MAAW,KAAA;AAC5B,wBAAO,uBAAA,GAAA,CAAC,IAAiB,EAAA,EAAA,QAAA,EAAA,MAAA,EAAA,EAAT,MAAgB,CAAA,CAAA;AAAA,uBACjC,GACH,CACF,EAAA,CAAA;AAAA,0CACC,OACE,EAAA,EAAA,QAAA,EAAA,IAAA,CAAK,IAAK,CAAA,GAAA,CAAI,CAAC,GAAQ,KAAA;AACtB,wBAAA,2BACG,IACE,EAAA,EAAA,QAAA,EAAA,GAAA,CAAI,MAAM,GAAI,CAAA,CAAC,MAAM,CAAM,KAAA;AAC1B,0BACE,uBAAA,GAAA,CAAC,QACE,QADM,EAAA,IAAA,EAAA,EAAA,CAAA,EAAG,QAAQ,IAAK,CAAA,OAAA,CAAQ,CAAC,CAElC,CAAA,CAAA,CAAA,CAAA;AAAA,yBAEH,CAPM,EAAA,EAAA,GAAA,CAAI,KAAM,CAAA,IAAA,CAAK,GAAG,CAQ3B,CAAA,CAAA;AAAA,uBAEH,CACH,EAAA,CAAA;AAAA,qBACF,EAAA,CAAA;AAAA,mBAAA,CAAA;AAAA,kBA1BK,UAAA;AAAA,iBA2BP,CAAA;AAAA,eAEJ;AAAA,cACA,KAAK,iBAAA;AACH,gBACE,uBAAA,GAAA,CAAC,GAAqB,EAAA,EAAA,SAAA,EAAW,OAAQ,CAAA,KAAA,EAAO,EAAG,EAAA,IAAA,EAChD,QAAQ,EAAA,OAAA,CAAA,KAAA,IAAS,OAAQ,CAAA,IAAA,EAAA,EADlB,UAEV,CAAA,CAAA;AAAA,cAEJ,KAAK,SAAA;AACH,gBACE,uBAAA,GAAA;AAAA,kBAAC,GAAA;AAAA,kBAAA;AAAA,oBAEC,uBAAyB,EAAA;AAAA,sBACvB,MAAA,EAAQ,OAAQ,CAAA,KAAA,IAAS,OAAQ,CAAA,IAAA;AAAA,qBACnC;AAAA,oBACA,WAAW,OAAQ,CAAA,KAAA;AAAA,mBAAA;AAAA,kBAJd,UAAA;AAAA,iBAKP,CAAA;AAAA,cAEJ,KAAK,UAAA;AACH,gBACE,uBAAA,GAAA;AAAA,kBAAC,eAAA;AAAA,kBAAAD,eAAA,CAAAC,gBAAA,CAAA,EAAA,EAEK,KAFL,CAAA,EAAA;AAAA,oBAGC,OAAA;AAAA,mBAAA,CAAA;AAAA,kBAFK,UAAA;AAAA,iBAGP,CAAA;AAAA,cAEJ,KAAK,MAAA;AACH,gBACE,uBAAA,GAAA;AAAA,kBAAC,gBAAA;AAAA,kBAAAD,eAAA,CAAAC,gBAAA,CAAA,EAAA,EAEK,KAFL,CAAA,EAAA;AAAA,oBAGC,OAAA;AAAA,mBAAA,CAAA;AAAA,kBAFK,UAAA;AAAA,iBAGP,CAAA;AAAA,cAEJ,KAAK,QAAA,CAAA;AAAA,cACL,KAAK,UAAA,CAAA;AAAA,cACL,KAAK,MAAA;AACH,gBAAA,uBACG,GAAA,CAAA,YAAA,EAAAD,eAAA,CAAAC,gBAAA,CAAA,EAAA,EAAkC,KAAlC,CAAA,EAAA,EAAyC,YAAvB,UAAyC,CAAA,CAAA;AAAA,cAEhE,KAAK,QAAA;AACH,gBACE,uBAAA,GAAA;AAAA,kBAAC,aAAA;AAAA,kBAAAD,eAAA,CAAAC,gBAAA,CAAA,EAAA,EAEK,KAFL,CAAA,EAAA;AAAA,oBAGC,OAAA;AAAA,mBAAA,CAAA;AAAA,kBAFK,UAAA;AAAA,iBAGP,CAAA;AAAA,cAEJ,KAAK,OAAA;AACH,gBAAA,uBACG,GAAA,CAAA,YAAA,EAAAD,eAAA,CAAAC,gBAAA,CAAA,EAAA,EAAkC,KAAlC,CAAA,EAAA,EAAyC,YAAvB,UAAyC,CAAA,CAAA;AAAA,cAEhE,KAAK,OAAA;AACH,gBAAA,uBAAQ,GAAA,CAAA,GAAA,EAAA,EAAqB,SAAU,EAAA,QAAA,EAAA,EAAtB,UAA+B,CAAA,CAAA;AAAA,cAClD;AACE,gBAAQ,OAAA,CAAA,IAAA;AAAA,kBACN,2BAA2B,OAAQ,CAAA,IAAA,CAAA,CAAA;AAAA,kBACnC,OAAA;AAAA,iBACF,CAAA;AACA,gBAAO,OAAA,IAAA,CAAA;AAAA,aACX;AAAA,WACD,CAAA;AAAA,SAAA;AAAA,QA9GI,QAAS,EAAA;AAAA,OA+GhB,CAAA;AAAA,KAEJ;AAAA,IACA,CAAC,KAAK,CAAA;AAAA,GACR,CAAA;AAEA,EAAA,2BACG,GAAI,EAAA,EAAA,SAAA,EAAU,2BACZ,QAAS,EAAA,QAAA,CAAA,GAAA,CAAI,CAAC,OAAY,KAAA;AACzB,IAAA,IAAI,QAAQ,aAAe,EAAA;AACzB,MAAO,OAAA,oBAAA,CAAqB,QAAQ,eAAe,CAAA,CAAA;AAAA,KACrD;AACA,IAAO,OAAA,oBAAA,CAAqB,QAAQ,eAAe,CAAA,CAAA;AAAA,GACpD,CACH,EAAA,CAAA,CAAA;AAEJ,CAAA,CAAA;AAEA,sBAAA,CAAuB,WAAc,GAAA,wBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjMrC,MAAM,kCAAA,GAAqC,CACzC,KACG,KAAA;AApBL,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAqBE,EAAM,MAAA,OAAA,GAAU,YAAa,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,CAAM,UAAN,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAkB,IAAK,CAAA,OAAA,KAAvB,IAAgC,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,KAAhC,IAA0C,GAAA,EAAA,GAAA,EAAE,CAAA,CAAA;AACzE,EAAM,MAAA,kBAAA,GAAA,CAAqB,EAAM,GAAA,KAAA,CAAA,aAAA,KAAN,IAAqB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,kBAAA,CAAA;AAChD,EAAM,MAAA,WAAA,GAAA,CAAc,EAAM,GAAA,KAAA,CAAA,aAAA,KAAN,IAAqB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAA,CAAA;AACzC,EAAA,MAAM,EAAE,IAAA,EAAM,WAAY,EAAA,GAAI,cAAe,EAAA,CAAA;AAE7C,EAAA,MAAM,eAAeI,cAAM,CAAA,WAAA;AAAA,IACzB,CAAC,MAA4B,KAAA;AAC3B,MAAA,MAAM,MAAM,QAAS,EAAA,CAAA;AACrB,MAAA,MAAM,UACJ,GAAA,CAAC,YAAc,EAAA,QAAQ,CAAE,CAAA,QAAA,CAAS,MAAO,CAAA,IAAI,CAAK,IAAA,CAAC,MAAO,CAAA,OAAA,GACtD,QACA,GAAA,QAAA,CAAA;AACN,MAAA,MAAM,YAAY,CAAY,SAAA,EAAA,UAAA,CAAA,CAAA,CAAA;AAC9B,MAAA,MAAM,UAAU,MAAM;AACpB,QAAA,KAAM,SAAe,UAAa,GAAA;AAAA,UAAA,OAAAP,SAAA,CAAA,IAAA,EAAA,IAAA,EAAA,aAAA;AAChC,YAAM,MAAA,gBAAA,GAAmB,MAAM,gBAAiB,CAAA,YAAA;AAAA,cAC9C,WAAA;AAAA,aACF,CAAA;AACA,YAAI,IAAA,CAAC,wBAAyB,CAAA,gBAAgB,CAAG,EAAA;AAC/C,cAAA,OAAA;AAAA,aACF;AACA,YAAM,MAAA,EAAE,cAAiB,GAAA,gBAAA,CAAA;AAEzB,YAAA,SAAS,eAAkB,GAAA;AACzB,cAAA,KAAA,CAAM,MAAYA,SAAA,CAAA,IAAA,EAAA,IAAA,EAAA,aAAA;AA7C9B,gBAAAK,IAAAA,GAAAA,EAAAC,KAAAG,GAAAC,EAAAA,GAAAA,CAAAA;AA8Cc,gBAAA,IAAI,OAAO,OAAS,EAAA;AAClB,kBAAA,MAAM,OAAU,GAAA,MAAA,CAAO,OAAQ,CAAA,KAAA,CAAM,GAAG,CAAA,CAAA;AAExC,kBAAA,IAAA;AAAA,oBAAA,KAAA,IAAA,IAAA,GAAA,UAAA,CAA2B,UAA3B,IAAoC,EAAA,IAAA,EAAA,KAAA,EAAA,IAAA,GAAA,CAAA,CAAA,IAAA,GAAA,MAAA,IAAA,CAAA,IAAA,EAAA,EAAA,IAAA,EAAA,IAAA,GAAA,KAAA,EAAA;AAAzB,sBAAA,MAAM,MAAjB,GAAA,IAAA,CAAA,KAAA,CAAA;AACE,sBAAA,MAAM,MAAS,GAAA,MAAM,WAAY,CAAA,MAAA,EAAQP,qBACpC,KACJ,CAAA,CAAA,CAAA;AAED,sBAAI,IAAA,MAAA;AACF,wBAAO,MAAA,CAAA;AAAA,0BACL,UAAA,EAAA,CAAYG,GAAAD,GAAAA,CAAAA,GAAAA,GAAA,KAAM,CAAA,UAAA,KAAN,gBAAAA,GAAkB,CAAA,IAAA,CAAK,MAAvB,KAAA,IAAA,GAAAC,GAAiC,GAAA,OAAA;AAAA,yBAC9C,CAAA,CAAA;AAAA,2BACE;AACH,wBAAA,MAAM,IAAI,KAAA;AAAA,0BACR,CAAA,sCAAA,EAAA,CACEI,GAAAD,GAAAA,CAAAA,GAAAA,GAAA,KAAM,CAAA,UAAA,KAAN,gBAAAA,GAAkB,CAAA,IAAA,CAAK,MAAvB,KAAA,IAAA,GAAAC,GAAiC,GAAA,EAAA,CAAA,CAAA,CAAA;AAAA,yBAErC,CAAA;AAAA,uBACF;AAAA,qBACF;AAAA,mBAhBA,CAAA,OAAA,IAAA,EAAA;AAAA,oBAAA,KAAA,GAAA,CAAA,IAAA,CAAA,CAAA;AAAA,mBAAA,SAAA;AAAA,oBAAA,IAAA;AAAA,sBAAA,IAAA,KAAA,IAAA,GAAA,IAAA,CAAA,MAAA,CAAA,KAAA,MAAA,IAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CAAA,CAAA;AAAA,qBAAA,SAAA;AAAA,sBAAA,IAAA,KAAA;AAAA,wBAAA,MAAA,KAAA,CAAA,CAAA,CAAA,CAAA;AAAA,qBAAA;AAAA,mBAAA;AAAA,iBAiBF;AAAA,eACC,CAAA,GAAA,CAAA;AAAA,aACL;AAEA,YACE,IAAA,CAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,eACP,CAAC,YAAA,EAAc,QAAQ,CAAE,CAAA,QAAA,CAAS,MAAO,CAAA,IAAI,CAC7C,EAAA;AACA,cAAM,MAAA,QAAA,GAAW,IAAI,QAAS,EAAA,CAAA;AAC9B,cAAO,MAAA,CAAA,OAAA,CAAQ,YAAY,CAAE,CAAA,OAAA,CAAQ,CAAC,CAAC,IAAA,EAAM,KAAK,CAAM,KAAA;AACtD,gBAAS,QAAA,CAAA,MAAA,CAAO,IAAO,EAAA,KAAA,IAAA,IAAA,GAAA,KAAA,GAA2B,EAAE,CAAA,CAAA;AAAA,eACrD,CAAA,CAAA;AAED,cAAA,MAAM,UAAa,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,UAAW,CAAA,IAAA,CAAK,MAAO,CAAA,KAAA;AAAA,gBAC/C,IAAI,MAAA,CAAO,CAAI,CAAA,EAAA,MAAA,CAAO,OAAU,CAAA,CAAA,CAAA,CAAA;AAAA,eAAA,CAAA;AAElC,cAAA,MAAM,MAAM,CAAG,EAAA,UAAA,GAAa,EAAK,GAAA,MAAA,CAAO,UACtC,EAAC,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,UAAW,CAAA,IAAA,CAAK,OAAO,UAAW,CAAA,GAAA,CAAA,CAAA,GAAO,MAAM,EACtD,CAAA,EAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,WAAW,IAAK,CAAA,MAAA,CAAA,CAAA,CAAA;AAE1B,cAAA,KAAA,CAAM,QAAS,CAAA,CAAC,OAAa,KAAAR,eAAA,CAAAC,gBAAA,CAAA,EAAA,EACxB,OADwB,CAAA,EAAA;AAAA,gBAE3B,SAAW,EAAA,IAAA;AAAA,eACX,CAAA,CAAA,CAAA;AAEF,cAAK,KAAA,OAAA,CAAQ,KAAK,GAAK,EAAA;AAAA,gBACrB,QAAU,EAAA,KAAA,CAAM,KAAM,CAAA,WAAA,GAClB,WACA,WAAY,CAAA,SAAA;AAAA,kBACV,CAAC,GAAG,QAAA,CAAS,OAAQ,EAAA,EAAG,CAAC,QAAU,EAAA,IAAI,CAAC,CAAA,CAAE,OAExC,CAAC,WAAA,EAAa,CAAC,IAAA,EAAM,KAAK,CAAM,KAAA;AAChC,oBAAA,MAAM,WAAWA,gBAAK,CAAA,EAAA,EAAA,WAAA,CAAA,CAAA;AACtB,oBAAA,QAAA,CAAS,IAAK,CAAA,QAAA,EAAU,CAAA,GAAI,MAAM,QAAS,EAAA,CAAA;AAC3C,oBAAO,OAAA,QAAA,CAAA;AAAA,mBACT,EAAG,EAAE,CAAA;AAAA,iBACP;AAAA,gBACJ,UAAY,EAAA,IAAA;AAAA,gBACZ,qBAAuB,EAAA,gBAAA;AAAA,gBACvB,kBAAA;AAAA,gBACA,WAAA;AAAA,eACD,CAAE,CAAA,OAAA,CAAQ,MAAM;AACf,gBAAgB,eAAA,EAAA,CAAA;AAAA,eACjB,CAAA,CAAA;AAAA,aACI,MAAA;AACL,cAAgB,eAAA,EAAA,CAAA;AAAA,aAClB;AAAA,WACF,CAAA,CAAA;AAAA,SAAG,EAAA,CAAA;AAAA,OACL,CAAA;AACA,MACE,uBAAA,GAAA;AAAA,QAAC,YAAA;AAAA,QAAA;AAAA,UACC,SAAA;AAAA,UACA,QAAA,EAAU,MAAM,KAAM,CAAA,QAAA;AAAA,UACtB,EAAA,EAAI,MAAO,CAAA,EAAA,IAAM,MAAO,CAAA,IAAA;AAAA,UACxB,SAAA,EAAW,MAAM,KAAM,CAAA,SAAA;AAAA,UAEvB,OAAO,MAAO,CAAA,IAAA;AAAA,UACd,IAAM,EAAA,UAAA;AAAA,UACN,OAAA;AAAA,UAEC,QAAO,EAAA,MAAA,CAAA,IAAA;AAAA,SAAA;AAAA,QALH,GAAA;AAAA,OAMP,CAAA;AAAA,KAEJ;AAAA,IACA,CAAC,WAAA,EAAa,WAAa,EAAA,kBAAA,EAAoB,KAAK,CAAA;AAAA,GACtD,CAAA;AAEA,EACE,uBAAA,GAAA,CAAC,GAAI,EAAA,EAAA,SAAA,EAAU,wBACZ,EAAA,QAAA,EAAA,OAAA,CAAQ,GAAI,CAAA,CAAC,aAAkB,KAAA,YAAA,CAAa,aAAa,CAAC,CAC7D,EAAA,CAAA,CAAA;AAEJ,CAAA,CAAA;AAEO,MAAM,0BAA0BI,cAAM,CAAA,IAAA;AAAA,EAC3C,kCAAA;AACF,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/FA,MAAM,gBAAA,GAAmB,IAAK,cAAc,YAEzC,CAAA;AAAC,CAAG,EAAA,CAAA;AACP,MAAM,mBAAA,GAAsB,IAAK,cAAc,YAE5C,CAAA;AAAC,CAAG,EAAA,CAAA;AAwBA,MAAM,WAAc,GAAA,aAAA,CAAA;AAI3B,MAAM,UAAgD,EAAC,CAAA;AAEjC,SAAA,WAAA,CACpB,MACA,OAC2C,EAAA;AAAA,EAAA,OAAA,OAAA,CAAA,IAAA,EAAA,IAAA,EAAA,aAAA;AAC3C,IAAO,OAAA,IAAI,OAAQ,CAAA,CAAC,OAAY,KAAA;AAtFlC,MAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAuFI,MAAI,IAAA;AACF,QAAA,MAAM,+BACJ,GAAA,qCAAA,CAAA;AACF,QAAM,MAAA,KAAA,GAAQ,IAAK,CAAA,KAAA,CAAM,+BAA+B,CAAA,CAAA;AACxD,QAAA,IAAI,KAAO,EAAA;AACT,UAAM,MAAA,YAAA,GAAe,MAAM,CAAC,CAAA,CAAA;AAC5B,UAAM,MAAA,UAAA,GAAa,MAAM,CAAC,CAAA,CAAA;AAC1B,UAAA,MAAM,IAAe,GAAA;AAAA,YACnB,GAAA,CAAI,EAAQ,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,OAAA,CAAA,aAAA,KAAR,IAAuB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAA,KAAvB,mBACA,KAAM,CAAA,GAAA,CAAA,CACP,MAAO,CAAA,CAAC,OAAY,KAAA;AACnB,cAAA,OAAO,CAAC,CAAC,OAAA,CAAA;AAAA,aACX,CAAA,KAJE,YAII,EAAC;AAAA,YACT,YAAA;AAAA,WACF,CAAE,KAAK,GAAG,CAAA,CAAA;AAEV,UAAM,MAAA,qBAAA,GAAwB,CAAC,MAAwC,KAAA;AACrE,YAAI,IAAA,OAAO,OAAO,OAAY,KAAA,UAAA;AAAY,cAAS,QAAA,EAAA,CAAA;AACnD,YAAA,MAAM,SAAS,MAAO,CAAA,OAAA,CAAA;AACtB,YAAQ,OAAA,CAAA,YAAY,CAAI,GAAA,CAAC,KAA6B,KAAA;AA1GhE,cAAAF,IAAAA,GAAAA,CAAAA;AA2GY,cAAO,OAAA,MAAA,CAAO,OAAS,EAAA,aAAA,CAAA,cAAA,CAAA,EAAA,EAClB,KADkB,CAAA,EAAA;AAAA,gBAErB,kBACEA,GAAA,GAAA,UAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,UAAA,CAAY,MAAM,GAAK,CAAA,CAAA,GAAA,CAAI,CAAC,QAAa,KAAA;AACvC,kBAAA,IAAI,SAAS,UAAW,CAAA,GAAG,CAAK,IAAA,QAAA,CAAS,WAAW,GAAG,CAAA;AACrD,oBAAA,OAAO,QAAS,CAAA,KAAA,CAAM,CAAG,EAAA,QAAA,CAAS,SAAS,CAAC,CAAA,CAAA;AAC9C,kBAAO,OAAA,QAAA,CAAA;AAAA,iBACT,CAAA,KAJA,IAAAA,GAAAA,GAAAA,GAIM,EAAC;AAAA,eACV,CAAA,CAAA,CAAA;AAAA,aACH,CAAA;AACA,YAAQ,OAAA,CAAA,OAAA,CAAQ,YAAY,CAAC,CAAA,CAAA;AAAA,WAC/B,CAAA;AAEA,UAAA,MAAM,WAAW,MAAM;AACrB,YAAA,MAAM,IAAI,KAAA;AAAA,cACR,CAAA,EAAG,gCAAgC,IAAiB,CAAA,UAAA,EAAA,YAAA,CAAA,GAAA,CAAA;AAAA,aACtD,CAAA;AAAA,WACF,CAAA;AAEA,UAAA;AAAA;AAAA,YACkD,CAAgB,aAAA,EAAA,IAAA,CAAA,GAAA,CAAA;AAAA,WAAA,CAE/D,IAAK,CAAA,qBAAqB,CAC1B,CAAA,KAAA,CAAM,MAAM;AAlIvB,YAAAA,IAAAA,GAAAA,CAAAA;AAmIY,YAAA,IAAA,CAAA,CAAIA,GAAA,GAAA,OAAA,CAAQ,aAAR,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,IAAuB,WAAgB,MAAA,KAAA,CAAA;AACzC,cAAA;AAAA;AAAA,gBACkD,CAAgB,aAAA,EAAA,YAAA,CAAA,GAAA,CAAA;AAAA,eAAA,CAG/D,IAAK,CAAA,qBAAqB,CAC1B,CAAA,KAAA,CAAM,QAAQ,CAAA,CAAA;AAAA;AACd,cAAS,QAAA,EAAA,CAAA;AAAA,WACf,CAAA,CAAA;AAAA,SACL;AAAA,eACO,CAAP,EAAA;AACA,QAAA,OAAA,CAAQ,MAAM,CAAC,CAAA,CAAA;AACf,QAAA,OAAA,CAAQ,KAAM,EAAA,CAAA;AACd,QAAA,OAAA,CAAQ,QAAS,CAAA;AAAA,UACf,IAAM,EAAA,QAAA;AAAA,UACN,OAAS,EAAA,qCAAA;AAAA,SACV,CAAA,CAAA;AAAA,OACH;AAAA,KACD,CAAA,CAAA;AAAA,GACH,CAAA,CAAA;AAAA,CAAA;AAEO,SAAS,OACd,cAC6B,EAAA;AAC7B,EACE,OAAA,cAAA,CAAe,SAAS,KACxB,CAAA,IAAA,OAAO,eAAe,IAAS,KAAA,QAAA,IAC/B,CAAC,CAAC,cAAe,CAAA,IAAA,CAAA;AAErB,CAAA;AAEO,SAAS,WACd,cAC4C,EAAA;AAC5C,EACE,OAAA,OAAO,cAAe,CAAA,QAAA,KAAa,SACnC,IAAA,OAAO,eAAe,IAAS,KAAA,QAAA,IAC/B,CAAC,CAAC,cAAe,CAAA,QAAA,CAAA;AAErB,CAAA;AAEA,SAAS,UACP,cAC4C,EAAA;AAC5C,EAAA,IACE,OAAO,cAAe,CAAA,QAAA,KAAa,aACnC,OAAO,cAAA,CAAe,SAAS,QAC/B,IAAA,OAAO,cAAe,CAAA,IAAA,KAAS,YAC/B,cAAe,CAAA,IAAA,IACf,OAAQ,cAAe,CAAA,IAAA,CAAiC,UAAU,QAClE,EAAA;AACA,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AACA,EAAO,OAAA,KAAA,CAAA;AACT,CAAA;AAaA,MAAM,yBAAA,GAA4B,IAAI,eAAsC,EAAA,CAAA;AAE5E,SAAS,qBAAwB,GAAA;AAC/B,EAAA,MAAM,GAAG,QAAU,EAAA,KAAK,CAAI,GAAA,WAAA;AAAA,IAC1B,KAAA,CAAA;AAAA,GACF,CAAA;AAEA,EAAA,MAAM,eAAe,KAAM,CAAA,WAAA;AAAA,IACzB,CAAC,gBAAuD,KAAA;AACtD,MAAA,QAAA,CAAS,gBAAgB,CAAA,CAAA;AAAA,KAC3B;AAAA,IACA,CAAC,QAAQ,CAAA;AAAA,GACX,CAAA;AAEA,EAAA,QAAA,CAAS,MAAM;AACb,IAA0B,yBAAA,CAAA,EAAA,CAAG,UAAU,YAAY,CAAA,CAAA;AAAA,GACpD,CAAA,CAAA;AAED,EAAA,UAAA,CAAW,MAAM;AACf,IAAO,OAAA,yBAAA,CAA0B,GAAI,CAAA,QAAA,EAAU,YAAY,CAAA,CAAA;AAAA,GAC5D,CAAA,CAAA;AAED,EAAO,OAAA,KAAA,CAAA;AACT,CAAA;AAQA,MAAM,qBACJ,GAAA,IAAK,MAAMM,sBAAAA,SAA8B,YAEtC,CAAA;AAAA,EACD,IAAA,CACE,WACA,MACM,EAAA;AACN,IAAM,KAAA,CAAA,IAAA,CAAK,WAAW,MAAM,CAAA,CAAA;AACd,GAChB;AACF,CAAG,EAAA,CAAA;AAEW,SAAA,MAAA,CACd,cACA,EAAA,UAAA,EACA,aACA,EAAA;AACA,EAAA,yBAAA,CAA0B,KAAQ,GAAA,aAAA,CAAA;AAClC,EAAI,IAAA,MAAA,CAAO,cAAc,CAAG,EAAA;AAC1B,IAAsB,qBAAA,CAAA,IAAA,CAAK,QAAQ,cAAc,CAAA,CAAA;AACjD,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AACA,EAAI,IAAA,UAAA,CAAW,cAAc,CAAG,EAAA;AAC9B,IAAA,mBAAA,CAAoB,KAAK,QAAU,EAAA;AAAA,MACjC,IAAA,EAAM,eAAe,QAAS,CAAA,IAAA;AAAA,MAC9B,KAAO,EAAA;AAAA,QACL,QAAA,EAAU,eAAe,QAAS,CAAA,QAAA;AAAA,QAClC,YAAY,cAAe,CAAA,QAAA;AAAA,QAC3B,UAAA;AAAA,OACF;AAAA,KACD,CAAA,CAAA;AACD,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AACA,EAAI,IAAA,SAAA,CAAU,cAAc,CAAG,EAAA;AAC7B,IAAA,gBAAA,CAAiB,KAAK,SAAW,EAAA;AAAA,MAC/B,SAAA,EAAW,eAAe,IAAK,CAAA,OAAA;AAAA,MAC/B,KAAA,EAAO,eAAe,IAAK,CAAA,KAAA;AAAA,KAC5B,CAAA,CAAA;AACD,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AACA,EAAO,OAAA,KAAA,CAAA;AACT,CAAA;AAWA,MAAM,YAA0D,GAAA;AAAA,EAC9D,QAAU,EAAA,KAAA;AAAA,EACV,SAAW,EAAA,KAAA;AAAA,EACX,WAAa,EAAA,KAAA;AAAA,EACb,QAAU,EAAA,CAAA;AAAA,EACV,QAAQ,EAAC;AACX,CAAA,CAAA;AAEA,MAAM,4BAA4B,MAAM;AAlSxC,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAmSE,EAAA,MAAM,gBAAgB,qBAAsB,EAAA,CAAA;AAE5C,EAAA,MAAM,CAAC,KAAO,EAAA,QAAQ,IAAI,KAAM,CAAA,QAAA,CAA+B,iCAC1D,YAD0D,CAAA,EAAA;AAAA,IAE7D,WAAa,EAAA,CAAA,CAAA;AAAA,GACd,CAAA,CAAA,CAAA;AAED,EAAA,MAAM,CAACC,YAAAA,EAAa,cAAc,CAAA,GAAI,KAAM,CAAA,QAAA;AAAA,IAC1C,KAAA,CAAA;AAAA,GACF,CAAA;AACA,EAAA,KAAA,CAAM,UAAU,MAAM;AACpB,IAAO,OAAA,qBAAA,CAAsB,EAAG,CAAA,MAAA,EAAQ,cAAc,CAAA,CAAA;AAAA,GACxD,EAAG,EAAE,CAAA,CAAA;AAEL,EAAA,MAAM,QAAW,GAAA,KAAA,CAAM,WAAY,CAAA,CAAC,MAAc,KAAkB,KAAA;AAClE,IAAA,OAAO,gBAAiB,CAAA,aAAA,CAAc,WAAa,EAAA,IAAA,EAAM,KAAK,CAAA,CAAA;AAAA,GAChE,EAAG,EAAE,CAAA,CAAA;AAEL,EAAA,KAAA,CAAM,UAAU,MAAM;AArTxB,IAAA,IAAAP,KAAAC,GAAAG,EAAAA,GAAAA,CAAAA;AAsTI,IAAA,IAAI,CAACG,YAAAA;AAAa,MAAA,OAAA;AAClB,IAAA,MAAM,WAAW,YAAaH,CAAAA,CAAAA,GAAAA,GAAAA,CAAAH,OAAAD,GAAAO,GAAAA,YAAAA,IAAA,gBAAAA,YAAa,CAAA,IAAA,KAAb,IAAAP,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAmB,aAAnB,IAAAC,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAA6B,YAA7B,IAAAG,GAAAA,GAAAA,GAAwC,EAAE,CAAA,CAAA;AAExE,IAAA,IAAI,WAAc,GAAA,KAAA,CAAA;AAClB,IAAM,MAAA,cAAA,GAAiB,MAAO,CAAA,MAAA,CAAO,QAAQ,CAAA,CAAA;AAC7C,IAAA,IAAI,CAAI,GAAA,CAAA,CAAA;AACR,IAAA,OAAO,CAAI,GAAA,cAAA,CAAe,MAAU,IAAA,CAAC,WAAa,EAAA;AAChD,MAAA,IAAI,cAAe,CAAA,CAAA,EAAG,CAAE,CAAA,IAAA,KAAS,MAAQ,EAAA;AACvC,QAAc,WAAA,GAAA,IAAA,CAAA;AAAA,OAChB;AAAA,KACF;AAEA,IAAA,QAAA,CAAS,CAAC,YAAiB,KAAA;AACzB,MAAO,OAAA,aAAA,CAAA,cAAA,CAAA,cAAA,CAAA,EAAA,EACF,eACA,YAFE,CAAA,EAAA;AAAA,QAGL,WAAA;AAAA,OACF,CAAA,CAAA;AAAA,KACD,CAAA,CAAA;AAAA,GACH,EAAG,CAACG,YAAW,CAAC,CAAA,CAAA;AAEhB,EAAyC,MAAA,EAAA,GAAA,QAAA,IAAjC,EAAM,IAAA,EAAA,OAAA,KAA2B,EAAf,EAAA,UAAA,GAAA,SAAA,CAAe,EAAf,EAAA,CAAlB,MAAM,EAAA,SAAA,CAAA,CAAA,CAAA;AAEd,EAAM,MAAA,KAAA,GAAQ,KAAM,CAAA,WAAA,CAAY,MAAM;AA7UxC,IAAA,IAAAP,KAAAC,GAAAG,EAAAA,GAAAA,CAAAA;AA8UI,IAAQ,OAAA,EAAA,CAAA;AACR,IAAsB,qBAAA,CAAA,IAAA,CAAK,QAAQ,KAAS,CAAA,CAAA,CAAA;AAC5C,IAAA,QAAA,CAAS,CAAC,YAAiB,KAAA;AACzB,MAAA,OAAO,kCAAK,YAAiB,CAAA,EAAA,YAAA,CAAA,CAAA;AAAA,KAC9B,CAAA,CAAA;AACD,IAAA,CAAAA,GAAAH,GAAAA,CAAAA,GAAAA,GAAAA,CAAAD,GAAA,GAAA,aAAA,CAAc,OAAd,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,GAAuB,CAAA,kBAAA,KAAvB,IAAAC,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAA2C,OAA3C,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAG,IAAA,IAAAH,CAAAA,GAAAA,CAAAA,CAAAA;AAEA,IAAA,gBAAA,CAAiB,eAAe,WAAW,CAAA,CAAA;AAAA,GAC1C,EAAA,CAAC,OAAS,EAAA,aAAa,CAAC,CAAA,CAAA;AAE3B,EAAM,MAAA,QAAA,GAAW,KAAM,CAAA,MAAA,CAAuB,IAAI,CAAA,CAAA;AAElD,EAAA,KAAA,CAAM,UAAU,MAAM;AA1VxB,IAAAD,IAAAA,GAAAA,CAAAA;AA2VI,IAAA,MAAM,QAAWA,GAAAA,CAAAA,GAAAA,GAAA,QAAS,CAAA,OAAA,KAAT,gBAAAA,GAAkB,CAAA,gBAAA;AAAA,MACjC,yBAAA;AAAA,KAAA,CAAA;AAEF,IAAA,IAAA,CAAI,qCAAU,MAAW,MAAA,CAAA;AACvB,MAAA,KAAK,MAAM,EAAI,CAAA,CAAC,GAAG,QAAQ,CAAA,CAAoB,CAAC,CAAC,CAAA,CAAA;AAAA,GACpD,CAAA,CAAA;AAED,EAAA,MAAM,WAAW,KAAM,CAAA,WAAA;AAAA,IACrB,CAAC,YAA+C,KAAA;AAC9C,MAAA,MAAA,CAAO,mBAAK,YAAc,CAAA,CAAA,CAAA;AAAA,KAC5B;AAAA,IACA,EAAC;AAAA,GACH,CAAA;AAEA,EAAM,MAAA,UAAA,GAAa,KAAM,CAAA,WAAA,CAAY,MAAM;AACzC,IAAA,MAAM,UAAoC,GAAA;AAAA,MACxC,KAAA;AAAA,MACA,KAAA;AAAA,MACA,eAAe,aAAc,CAAA,OAAA;AAAA,MAC7B,cAAgBO,EAAAA,YAAAA;AAAA,MAChB,OAAO,MAAM;AACX,QAAO,OAAA,QAAA,CAAS,CAAC,YAAiB,KAAA;AAChC,UAAA,OAAO,kCACF,YACA,CAAA,EAAA,YAAA,CAAA,CAAA;AAAA,SAEN,CAAA,CAAA;AAAA,OACH;AAAA,MACA,QAAA;AAAA,MACA,UAAA,EAAY,CAAC,OAAY,KAAA;AAxX/B,QAAA,IAAAP,GAAAC,EAAAA,GAAAA,CAAAA;AAyXQ,QAAIA,IAAAA,CAAAA,GAAAA,GAAAA,CAAAD,MAAA,aAAc,CAAA,OAAA,KAAd,gBAAAA,GAAuB,CAAA,kBAAA,KAAvB,gBAAAC,GAA2C,CAAA,SAAA;AAC7C,UAAc,aAAA,CAAA,OAAA,CAAQ,kBAAmB,CAAA,SAAA,CAAU,OAAO,CAAA,CAAA;AAAA,OAC9D;AAAA,MACA,QAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA;AAAA,KACF,CAAA;AACA,IAAO,OAAA,UAAA,CAAA;AAAA,GACT,EAAG,CAAC,KAAO,EAAA,aAAA,EAAeM,cAAa,QAAU,EAAA,KAAA,EAAO,QAAQ,CAAC,CAAA,CAAA;AAEjE,EAAA,KAAA,CAAM,UAAU,MAAM;AACpB,IAAA,MAAM,cAAiB,GAAA,CAAO,EAGf,KAAA,OAAA,CAAA,KAAA,CAAA,EAAA,CAHe,KAGf,WAHe;AAAA,MAC5B,IAAA;AAAA,MACA,KAAO,EAAA,EAAE,QAAU,EAAA,UAAA,EAAY,UAAW,EAAA;AAAA,KAC7B,EAAA;AACb,MAAA,MAAM,SAAS,MAAM,WAAA,CAAY,CAAG,EAAA,IAAA,CAAA,CAAA,EAAQ,YAAY,CAAA,CAAA;AACxD,MAAA,IAAI,MAAQ,EAAA;AACV,QAAA,MAAA,CAAO,EAAE,QAAA,EAAU,UAAY,EAAA,UAAA,EAAY,CAAA,CAAA;AAAA,OAC7C;AAAA,KACF,CAAA,CAAA;AAEA,IAAM,MAAA,aAAA,GAAgB,CAAC,EAAiB,KAAA;AA9Y5C,MAAAP,IAAAA,GAAAA,EAAAC,KAAAG,GAAAC,EAAAA,GAAAA,CAAAA;AA+YM,MAAA,MAAMG,WAAU,UAAW,EAAA,CAAA;AAC3B,MAAO,MAAA,CAAA;AAAA,QACL,SAAS,EAAG,CAAA,SAAA;AAAA,QACZ,IAAM,EAAA,SAAA;AAAA,QACN,OAAA,EAAA,CAASP,OAAAD,GAAAQ,GAAAA,QAAAA,CAAQ,kBAAR,IAAAR,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAuB,kBAAvB,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAC,GAA2C,CAAA,cAAA;AAAA,OACrD,CAAA,CAAA;AACD,MAAM,MAAA,SAAA,GAAA,CAAYI,OAAAD,GAAAI,GAAAA,QAAAA,CAAQ,kBAAR,IAAAJ,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAuB,kBAAvB,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAC,GAA2C,CAAA,SAAA,CAAA;AAC7D,MAAI,IAAA,SAAA;AAAW,QAAA,SAAA,CAAU,EAAE,CAAA,CAAA;AAAA,KAC7B,CAAA;AAEA,IAAM,MAAA,YAAA,GAAe,CACnB,MACG,KAAA,OAAA,CAAA,KAAA,CAAA,EAAA,IAAA,EAAA,aAAA;AACH,MAAI,IAAA,MAAA,CAAO,SAAS,cAAgB,EAAA;AAClC,QAAM,KAAA,EAAA,CAAA;AAAA,OACR;AACA,MAAI,IAAA,MAAA,CAAO,SAAS,mBAAqB,EAAA;AACvC,QAAA,MAAM,SAAS,MAAM,WAAA;AAAA,UACnB,YAAa,CAAA,MAAA,CAAO,KAAK,CAAA,CAAE,CAAC,CAAA;AAAA,UAC5B,UAAW,EAAA;AAAA,SACb,CAAA;AAEA,QAAI,IAAA,MAAA;AAOF,UAAA,UAAA,CAAW,MAAM;AA5a3B,YAAAL,IAAAA,GAAAA,CAAAA;AA6aY,YAAA,OAAO,MAAO,CAAA;AAAA,cACZ,UAAA,EAAA,CAAYA,MAAAO,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,aAAa,IAAK,CAAA,MAAA,KAAlB,OAAAP,GAA4B,GAAA,OAAA;AAAA,aACzC,CAAA,CAAA;AAAA,aACA,MAAO,CAAA,MAAA,CAAO,KAAM,CAAA,CAAC,CAAC,CAAC,CAAA,CAAA;AAAA,OAC9B;AAAA,KACF,CAAA,CAAA;AAEA,IAAiB,gBAAA,CAAA,EAAA,CAAG,WAAW,aAAa,CAAA,CAAA;AAC5C,IAAoB,mBAAA,CAAA,EAAA,CAAG,UAAU,cAAc,CAAA,CAAA;AAC/C,IAAY,WAAA,CAAA,EAAA,CAAG,UAAU,YAAY,CAAA,CAAA;AAErC,IAAA,OAAO,MAAM;AACX,MAAiB,gBAAA,CAAA,GAAA,CAAI,WAAW,aAAa,CAAA,CAAA;AAC7C,MAAoB,mBAAA,CAAA,GAAA,CAAI,UAAU,cAAc,CAAA,CAAA;AAChD,MAAY,WAAA,CAAA,GAAA,CAAI,UAAU,YAAY,CAAA,CAAA;AAAA,KACxC,CAAA;AAAA,KAEC,CAAC,KAAA,CAAM,WAAa,EAAA,OAAA,EAAS,KAAK,CAAC,CAAA,CAAA;AAEtC,EAAA,KAAA,CAAM,UAAU,MAAM;AACpB,IAAA,IAAIO,YAAa,EAAA;AACf,MAAK,IAAA,EAAA,CAAA;AAAA,KACP;AAAA,GAEF,EAAG,CAACA,YAAW,CAAC,CAAA,CAAA;AAEhB,EAAA,MAAM,UAAU,UAAW,EAAA,CAAA;AAE3B,EAAA,MAAM,UAAU,KAAM,CAAA,WAAA;AAAA,IACpB,CAAO,EAAoB,KAAA,OAAA,CAAA,KAAA,CAAA,EAAA,IAAA,EAAA,aAAA;AACzB,MAAA,IAAI,EAAMA,KAAAA,YAAAA,IAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAAA,CAAa,KAAK,MAAQ,CAAA,EAAA;AAClC,QAAA,MAAM,SAAS,MAAM,WAAA;AAAA,UACnB,CAAGA,EAAAA,YAAAA,IAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAAA,CAAa,IAAK,CAAA,MAAA,CAAA,CAAA;AAAA,UACrB,UAAW,EAAA;AAAA,SACb,CAAA;AACA,QAAA,IAAI,MAAQ,EAAA;AACV,UAAO,MAAA,EAAA,CAAA;AAAA,SACT;AAAA,OACF;AAAA,KACF,CAAA;AAAA,IACA,CAACA,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,YAAa,CAAA,IAAA,CAAK,QAAQ,UAAU,CAAA;AAAA,GACvC,CAAA;AAEA,EACE,uBAAA,GAAA,CAACE,gBAAe,EAAA,EAAA,EAAA,EAAI,WAClB,EAAA,QAAA,kBAAA,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA,aAAA,CAAA,cAAA,CAAA;AAAA,MACC,GAAK,EAAA,QAAA;AAAA,MACL,OAAS,EAAA,KAAA;AAAA,MACT,EAAI,EAAA,WAAA;AAAA,MACJ,KAAA,EAAA,CACE,EAAc,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,aAAA,CAAA,OAAA,KAAd,IAAuB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,kBAAA,KAAvB,IAA2C,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,UAAA,KAA3C,IACAF,GAAAA,EAAAA,GAAAA,YAAAA,IAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAAA,CAAa,IAAK,CAAA,KAAA;AAAA,MAEpB,IAAK,EAAA,UAAA;AAAA,MACL,gBAAA,EAAkB,CAAC,KAAM,CAAA,QAAA;AAAA,MACzB,yBAAA,EAA2B,CAAC,KAAM,CAAA,QAAA;AAAA,MAClC,kBAAoB,EAAA,KAAA,CAAM,WAAY,CAAA,CAAC,GAAqB,KAAA;AAC1D,QAAA,OAAO,2BAAK,aAAc,CAAA,aAAA,CAAA,CAAA;AAAA,OAC5B,EAAG,EAAE,CAAA;AAAA,KAAA,EACD,UAdL,CAAA,EAAA;AAAA,MAgBE,UAAAA,YACC,oBAAA,GAAA,CAAC,sCAAQ,UAAW,CAAA,8BAA8B,IAAjD,EACC,QAAA,kBAAA,IAAA;AAAA,QAAC,IAAA;AAAA,QAAA;AAAA,UACC,IAAM,EAAA,WAAA;AAAA,UACN,mBAAmB,EAAA,IAAA;AAAA,UACnB,SAAU,EAAA,eAAA;AAAA,UAEV,QAAA,EAAA;AAAA,4BAAC,GAAA,CAAA,sBAAA,EAAA,cAAA,CAAA,EAAuB,UAAYA,EAAAA,YAAAA,EAAAA,EAAiB,OAAS,CAAA,CAAA;AAAA,YAC7D,KAAA,CAAM,eAAe,KAAM,CAAA,QAAA,GAAW,qBACpC,GAAA,CAAA,GAAA,EAAA,EAAI,WAAU,aACb,EAAA,QAAA,kBAAA,GAAA;AAAA,cAAC,WAAA;AAAA,cAAA;AAAA,gBACC,EAAG,EAAA,yBAAA;AAAA,gBACH,UAAU,KAAM,CAAA,QAAA;AAAA,gBAChB,OAAO,EAAA,IAAA;AAAA,eAAA;AAAA,aAEX,EAAA,CAAA;AAAA,4BAEF,GAAA,CAAC,GAAI,EAAA,EAAA,GAAA,EAAK,OAAS,EAAA,CAAA;AAAA,4BAClB,GAAA,CAAA,uBAAA,EAAA,cAAA,CAAA,EAAwB,UAAYA,EAAAA,YAAAA,EAAAA,EAAiB,OAAS,CAAA,CAAA;AAAA,WAAA;AAAA,SAAA;AAAA,OAEnE,EAAA,CAAA,CAAA;AAAA,KAAA,CAAA;AAAA,GAGN,EAAA,CAAA,CAAA;AAEJ,CAAA,CAAA;AAEa,MAAA,cAAA,GAAiB,KAAM,CAAA,IAAA,CAAK,yBAAyB;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/ApiaApiContext.tsx","../src/apiaApi.ts","../src/fields/ApiaApiCheckbox.tsx","../src/fields/ApiaApiFileInput.tsx","../src/fields/ApiaApiInput.tsx","../src/fields/ApiaApiRadio.tsx","../src/fields/ApiaApiSelect.tsx","../src/fields/ApiaApiFieldsContainer.tsx","../src/buttons/ApiaApiButtonsContainer.tsx","../src/ApiaApiHandler.tsx"],"sourcesContent":["import { createContext } from 'react';\nimport * as React from 'react';\n\nlet apiaApiId: string | undefined;\n\nexport function getApiaApiId() {\n if (!apiaApiId) throw new Error('There is no apia api id');\n return apiaApiId;\n}\n\nconst ApiaApiId = createContext<string | undefined>('apiaApi');\n\nconst ApiaApiContext = ({\n children,\n id,\n}: {\n id: string;\n children: React.ReactNode;\n}) => {\n apiaApiId = id;\n return <ApiaApiId.Provider value={id}>{children}</ApiaApiId.Provider>;\n};\n\nexport default React.memo(ApiaApiContext);\n","/* eslint-disable @typescript-eslint/no-invalid-void-type */\nimport axios, { AxiosResponse } from 'axios';\nimport { merge } from 'lodash';\nimport QueryString from 'qs';\nimport { session } from '@apia/session';\nimport {\n arrayOrArray,\n parseXmlAsync,\n EventEmitter,\n TModify,\n TApiaAction,\n TApiaSystemMessageObj,\n debugDispatcher,\n TNotificationMessage,\n} from '@apia/util';\nimport {\n dispatchNotifications,\n getNotificationMessageObj,\n notify,\n} from '@apia/notifications';\nimport { handle } from './ApiaApiHandler';\nimport {\n IApiaApiRequestConfig,\n TApiaApiConfigurator,\n TApiaApiResult,\n TColors,\n} from './types';\n\ndebugDispatcher.on(\n 'parseXml',\n async ([text]) => {\n const result = await parseXmlAsync<unknown>(text as string);\n console.info(result);\n },\n 'Acepta un parámetro de tipo string y realiza un parseo como si fuera xml, convirtiéndolo a objeto javascript.',\n);\n\nconst defaultConfig: IApiaApiRequestConfig<unknown> = {\n debug: true,\n colors: {\n exception: 'red',\n alert: 'yellow',\n message: 'lightgreen',\n },\n handleLoad: false,\n};\n\nconst STORED_CONFIG = 'ApiaApiConfig';\n\nlet forcedConfig: Partial<IApiaApiRequestConfig<unknown>> = {};\nconst storedConfig = localStorage.getItem(STORED_CONFIG);\nif (storedConfig)\n forcedConfig = JSON.parse(storedConfig) as Partial<\n IApiaApiRequestConfig<unknown>\n >;\n\nexport function getApiaApiConfigurator(): TApiaApiConfigurator {\n return {\n reset() {\n forcedConfig = {};\n localStorage.removeItem(STORED_CONFIG);\n },\n config(newConfig) {\n if (\n newConfig.notificationsCategory ||\n newConfig.axiosConfig ||\n newConfig.modalConfiguration ||\n newConfig.handleLoad ||\n newConfig.queryData ||\n newConfig.stringifyOptions ||\n newConfig.validateResponse\n )\n throw new Error('Operación ilegal');\n\n const toStoreConfig = merge(forcedConfig, newConfig);\n localStorage.setItem(STORED_CONFIG, JSON.stringify(toStoreConfig));\n forcedConfig = toStoreConfig;\n console.log('Se guardó la configuración correctamente', {\n config: toStoreConfig,\n });\n },\n shout() {\n console.log({ config: getConfig({}) });\n },\n theme(theme) {\n if (theme.toLowerCase() === 'dark') {\n getApiaApiConfigurator().config({\n colors: {\n exception: 'red',\n alert: 'yellow',\n message: 'lightgreen',\n },\n });\n } else if (theme.toLowerCase() === 'light') {\n getApiaApiConfigurator().config({\n colors: {\n exception: 'red',\n alert: '#e0e006',\n message: 'darkgreen',\n },\n });\n } else {\n console.log(`Tema ${theme} desconocido, prueba 'light' o 'dark'.`);\n return;\n }\n\n console.log(`Tema ${theme} establecido correctamente.`);\n },\n };\n}\n\nfunction getConfig<LoadType>(\n outerBehaveConfig?: IApiaApiRequestConfig<LoadType>,\n) {\n return merge({}, defaultConfig, outerBehaveConfig, forcedConfig);\n}\n\nfunction makeUrl(\n url: string,\n queryData: IApiaApiRequestConfig<unknown>['queryData'],\n stringifyOptions: IApiaApiRequestConfig<unknown>['stringifyOptions'],\n) {\n let finalUrl = url;\n const questionMarkIndex = finalUrl.indexOf('?');\n\n if (questionMarkIndex === -1) finalUrl += '?';\n else if (questionMarkIndex !== finalUrl.length - 1 && !finalUrl.endsWith('&'))\n finalUrl += '&';\n let parsedUrl = `${finalUrl}${\n queryData ? QueryString.stringify(queryData, stringifyOptions) : ''\n }`;\n if (parsedUrl.endsWith('&') || parsedUrl.endsWith('?')) {\n parsedUrl = parsedUrl.slice(0, parsedUrl.length - 1);\n }\n return parsedUrl;\n}\n\nconst getURLActionName = (url: string): string => {\n const actionIdx = url.match(/action=(\\w+)/)?.[1];\n return actionIdx ?? 'noAction';\n};\n\nexport const ApiaActions = new (class ApiaActions extends EventEmitter<{\n action: TModify<TApiaAction, { param: string[] }>;\n}> {})();\n\nfunction getColor(\n color: keyof TColors,\n colors: TColors = defaultConfig.colors ?? {\n exception: 'red',\n alert: 'yellow',\n message: 'green',\n },\n) {\n return colors[color] as string;\n}\n\nconst handleWrongResponse = (error: Error) => {\n let errorMessage: string;\n if (typeof error !== 'string') {\n if (error.message) errorMessage = error.message;\n else errorMessage = error.toString();\n } else errorMessage = error;\n\n notify({\n type: 'danger',\n message: error.message.replaceAll('AxiosError', 'Error'),\n });\n console.log('%c ', 'font-size:10vh');\n console.log('%cError in ApiaApi', 'color:red;font-size:2em;font-weight:bold');\n console.log(`red/${errorMessage}`, { error });\n console.log('%c ', 'font-size:10vh');\n};\n\nexport function isJsonResponse(response: AxiosResponse<unknown>) {\n return (response.headers['content-type'] as string).match('application/json');\n}\nexport function isXmlResponse(response: AxiosResponse<unknown>) {\n return (response.headers['content-type'] as string).match(\n /(?:application|text)?\\/xml/,\n );\n}\nexport function isHtmlResponse(response: AxiosResponse<unknown>) {\n return (response.headers['content-type'] as string).match(\n /(?:application|text)?\\/html/,\n );\n}\n\nfunction handleActions(actions: TApiaSystemMessageObj['actions']) {\n if (actions) {\n if (getConfig().debug)\n console.log(\n '%cHandled actions: ',\n `color: ${getConfig().colors?.message ?? 'green'}`,\n { actions },\n );\n const actionsArray = arrayOrArray(actions.action);\n actionsArray.forEach((action) => {\n ApiaActions.emit('action', {\n ...action,\n param: arrayOrArray(action.param),\n });\n });\n }\n}\nfunction handleOnClose({\n exceptions,\n onClose,\n sysExceptions,\n sysMessages,\n}: TModify<TNotificationMessage, { onClose: string }>) {\n try {\n import(\n /* webpackChunkName: \"api-[request]\" */ `/api/onClose/${onClose}.ts`\n ).then(\n (func: { default: () => void }) => {\n if (exceptions || sysExceptions || sysMessages) {\n const notificationsObject = getNotificationMessageObj({\n exceptions,\n onClose,\n sysExceptions,\n sysMessages,\n });\n if (notificationsObject)\n notificationsObject.forEach((notification) => {\n notify({\n ...notification,\n onClose: func.default,\n });\n });\n else func.default();\n } else func.default();\n },\n (e) => {\n notify({\n message: `onClose action not found: ${String(e)}`,\n type: 'danger',\n });\n },\n );\n } catch (e) {\n parseMessages({ exceptions, sysExceptions, sysMessages });\n console.error('Error while handling onClose');\n console.error(e);\n }\n}\n\nexport function parseMessages(response: Record<string, unknown>) {\n if (!response) return;\n const { exceptions, sysMessages, sysExceptions } = response;\n if (exceptions || sysExceptions || sysMessages) {\n try {\n dispatchNotifications({\n exceptions,\n sysExceptions,\n sysMessages,\n } as TNotificationMessage);\n } catch (e: unknown) {\n handleWrongResponse(new Error(e as string));\n }\n }\n}\n\nexport const parseSuccessfulResponse = async <\n LoadType extends Record<string, unknown>,\n>(\n response: AxiosResponse<string>,\n currentUrl: string,\n outerBehaveConfig: IApiaApiRequestConfig<LoadType> = defaultConfig,\n) => {\n const behaveConfig = getConfig(outerBehaveConfig);\n\n let parsedObj: TApiaSystemMessageObj<LoadType> | void | undefined = undefined;\n if (isJsonResponse(response)) {\n if (typeof response.data === 'string')\n parsedObj = JSON.parse(\n response.data.trim(),\n ) as TApiaSystemMessageObj<LoadType> | void;\n else if (typeof response.data === 'object' && response.data)\n parsedObj = response.data;\n } else if (isXmlResponse(response)) {\n parsedObj = await parseXmlAsync<LoadType>(response.data).catch(\n (e: unknown) => {\n handleWrongResponse(new Error(e as string));\n },\n );\n } else if (isHtmlResponse(response)) {\n console.error(\n 'El contenido devuelto es Html, no se esperaba esa respuesta',\n );\n return null;\n }\n\n if (behaveConfig.validateResponse) {\n const validateResult = await behaveConfig.validateResponse({\n ...response,\n data: parsedObj?.load ?? parsedObj,\n });\n if (typeof validateResult === 'string')\n throw new Error(`Validation error: ${validateResult}`);\n else if (!validateResult) {\n throw new Error('Error');\n }\n }\n\n if (parsedObj) {\n const {\n actions,\n onClose,\n exceptions,\n sysExceptions,\n sysMessages,\n load,\n ...rest\n } = parsedObj; // Session handling\n if (rest.code === '-1' && exceptions) {\n session.invalidate();\n return null;\n }\n\n if (exceptions && behaveConfig.debug) {\n console.log(\n `%cparseSuccessfulResponse`,\n `color: ${getColor('exception', behaveConfig.colors)}`,\n {\n exceptions,\n },\n );\n }\n if (sysExceptions && behaveConfig.debug) {\n console.log(\n `%cparseSuccessfulResponse`,\n `color: ${getColor('exception', behaveConfig.colors)}`,\n {\n sysExceptions,\n },\n );\n }\n if (sysMessages && behaveConfig.debug) {\n console.log(\n `%cparseSuccessfulResponse`,\n `color: ${getColor('alert', behaveConfig.colors)}`,\n {\n sysMessages,\n },\n );\n }\n\n handleActions(actions);\n\n if (behaveConfig.handleLoad && onClose)\n handleOnClose({\n exceptions,\n onClose,\n sysExceptions,\n sysMessages,\n });\n else parseMessages({ exceptions, sysExceptions, sysMessages });\n\n if (load) {\n if (behaveConfig.handleLoad) {\n console.log(\n `%chandleLoad`,\n `color: ${getColor('message', behaveConfig.colors)}`,\n {\n load,\n },\n );\n if (\n !handle(load, currentUrl, {\n methodsPath: outerBehaveConfig.methodsPath,\n modalConfiguration: {\n ...behaveConfig.modalConfiguration,\n onClose: () => {\n if (onClose)\n handleOnClose({\n exceptions,\n onClose,\n sysExceptions,\n sysMessages,\n });\n if (behaveConfig.modalConfiguration?.onClose)\n behaveConfig.modalConfiguration?.onClose();\n },\n },\n })\n ) {\n console.log(\n `%cunhandledLoad -> There is no handler defined`,\n `color: ${getColor('exception', behaveConfig.colors)}`,\n {\n load,\n },\n );\n }\n }\n return { ...load, sysMessages, exceptions, sysExceptions };\n }\n return { ...(rest as LoadType), sysMessages, exceptions, sysExceptions };\n }\n\n return null;\n};\n\nexport type TApiaApiAxiosResponse<LoadType> = AxiosResponse<LoadType | null> & {\n hasError: boolean;\n hasMessages: boolean;\n};\n\nasync function handleResponse<LoadType extends Record<string, unknown>>(\n result: AxiosResponse<string> | void,\n currentUrl: string,\n outerBehaveConfig: IApiaApiRequestConfig<LoadType> = defaultConfig,\n): Promise<TApiaApiAxiosResponse<LoadType> | null> {\n const behaveConfig = getConfig(outerBehaveConfig);\n try {\n if (!result || result.data === undefined) {\n if (behaveConfig.debug)\n console.log(\n `%cApiaApi wrong response`,\n `color: ${getColor('alert', behaveConfig.colors)}`,\n );\n } else {\n const parsedResponse = await parseSuccessfulResponse<LoadType>(\n result,\n currentUrl,\n behaveConfig,\n );\n\n const action = getURLActionName(currentUrl);\n if (behaveConfig.debug)\n console.log(\n `%c <- ApiaApi.${result.config.method ?? ''} ${action} `,\n `color: ${getColor('message', behaveConfig.colors)}`,\n {\n data: parsedResponse,\n },\n );\n\n return {\n ...result,\n data: parsedResponse,\n hasError:\n !!parsedResponse?.exceptions || !!parsedResponse?.sysExceptions,\n hasMessages: !!parsedResponse?.sysMessages,\n };\n }\n } catch (e: unknown) {\n handleWrongResponse(new Error(e as string));\n return null;\n }\n\n return null;\n}\n\n/**\n* IMPORTANT!! The ApiaApi is programmed under the slogan that\n * **should never throw an exception**. **Errors** coming from\n * connectivity or exceptions on the server **will be handled\n * automatically** by ApiaApi, using the notification system\n * of the application. It is possible to determine in what context they should\n * be thrown those exceptions (global, main, modal) using the\n * alertsCategory configuration properties **(see errorsHandling.md)**.\n *\n * @param url String, the url you want to call\n * @param config interface IApiaApiRequestConfig<DataType>;\n *\n * @throws Nothing\n *\n * @example\n *\n * ApiaApi.post<ResponseType>('url...', {\n axiosConfig?: AxiosRequestConfig;\n\n // Configuración de postData\n postData? unknown;\n postDataTreatement?: 'stringify' | undefined;\n\n // Configuración de queryString\n queryData?: string | Record<string, unknown>;\n stringifyOptions?: QueryString.IStringifyOptions;\n\n // Response validator,\n // If it returns true, everything continues correctly\n // If it returns false, the ApiaApi throws a standard error.\n // If it returns string, ApiaApi throws the error returned in the string.\n validateResponse?: (\n response: AxiosResponse<DataType | null>,\n ) => boolean | string;\n\n // Configuración de alertas\n alertsImportance?: TAlertImportance;\n\n // Configuración de ApiaApiHandler, falta documentar\n handleLoad?: boolean;\n eventsHandler?: IEventsHandler;\n\n // other configuration\n colors?: TColors;\n debug?: boolean;\n }\n * @returns The type of the return value depends on the type passed when calling the function. If there was an error it returns null.\n */\nasync function post<\n LoadType extends Record<string, unknown> = Record<string, unknown>,\n DataType = unknown,\n>(\n url:\n | string\n | TModify<\n IApiaApiRequestConfig<LoadType>,\n { postData?: DataType; postDataTreatement?: 'stringify' }\n >,\n config?: TModify<\n IApiaApiRequestConfig<LoadType>,\n {\n postData?: DataType;\n postDataTreatement?: 'stringify';\n }\n >,\n): TApiaApiResult<LoadType>;\nasync function post<\n LoadType extends Record<string, unknown> = Record<string, unknown>,\n DataType = unknown,\n>(\n config: TModify<\n IApiaApiRequestConfig<LoadType>,\n {\n postData?: DataType;\n postDataTreatement?: 'stringify';\n }\n >,\n): TApiaApiResult<LoadType>;\nasync function post<\n LoadType extends Record<string, unknown> = Record<string, unknown>,\n DataType = unknown,\n T = unknown,\n>(\n par1:\n | string\n | TModify<\n IApiaApiRequestConfig<LoadType>,\n { postData?: DataType; postDataTreatement?: 'stringify' }\n >,\n par2?: TModify<\n IApiaApiRequestConfig<LoadType>,\n { postData?: DataType; postDataTreatement?: 'stringify' }\n >,\n): TApiaApiResult<LoadType> {\n const actualUrl = typeof par1 !== 'string' ? makeApiaUrl() : par1;\n\n const configParameter = (\n typeof par1 === 'string' ? par2 ?? defaultConfig : par1\n ) as TModify<\n IApiaApiRequestConfig<LoadType>,\n { postData?: DataType; postDataTreatement?: 'stringify' }\n >;\n\n const behaveConfig = {\n ...getConfig(configParameter),\n postData:\n configParameter.postDataTreatement === 'stringify'\n ? QueryString.stringify(\n configParameter.postData,\n configParameter.stringifyOptions,\n )\n : configParameter.postData,\n };\n\n const parsedUrl = makeUrl(\n actualUrl,\n behaveConfig.queryData,\n behaveConfig.stringifyOptions,\n );\n\n if (behaveConfig.debug) {\n const queryString = actualUrl.split('&');\n const action = getURLActionName(actualUrl);\n\n console.log(\n `%cApiaApi.post ${action}`,\n `color: ${getColor('message', behaveConfig.colors)}`,\n {\n url: parsedUrl,\n queryDataInURL: [...queryString],\n queryData: behaveConfig.queryData,\n formData: behaveConfig.postData,\n stringifyOptiopns: behaveConfig.stringifyOptions,\n },\n );\n }\n\n const response = await axios\n .post<T, AxiosResponse<string>, DataType | string>(\n parsedUrl,\n behaveConfig.postData,\n behaveConfig.axiosConfig,\n )\n .catch((e: unknown) => {\n handleWrongResponse(new Error(e as string));\n });\n\n if (response) {\n const result = handleResponse<LoadType>(response, actualUrl, behaveConfig);\n return result;\n }\n return null;\n}\n\n/**\n * IMPORTANTE!! El ApiaApi está programado bajo la consigna de que\n * **no debe tirar núnca una excepción**. **Los errores** provenientes\n * de la conectividad o de excepciones en el servidor **serán manejados\n * automáticamente** por el ApiaApi utilizando el sistema de notificaciones\n * de la aplicación. Es posible determinar en qué contexto deben\n * ser lanzadas esas excepciones (global, main, modal) utilizando las\n * propiedades de configuración alertsCategory **(ver errorsHandling.md)**.\n *\n * @param url String, el url al que se desea llamar\n * @param config interface IApiaApiRequestConfig<DataType>;\n *\n * @throws Nothing\n *\n * @example\n *\n * ApiaApi.get<TipoDeRespuesta>('url...', {\n axiosConfig?: AxiosRequestConfig;\n\n // Configuración de queryString\n queryData?: string | Record<string, unknown>;\n stringifyOptions?: QueryString.IStringifyOptions;\n\n // Validador de respuesta,\n // Si devuelve true, todo sigue correctamente\n // Si devuelve false, el ApiaApi tira un error estándar.\n // Si devuelve string, el ApiaApi tira el error devuelto en el string.\n validateResponse?: (\n response: AxiosResponse<DataType | null>,\n ) => boolean | string;\n\n // Configuración de alertas\n alertsImportance?: TAlertImportance;\n\n // Configuración de ApiaApiHandler, falta documentar\n handleLoad?: boolean;\n eventsHandler?: IEventsHandler;\n\n // Otra configuración\n colors?: TColors;\n debug?: boolean;\n }\n * @returns El tipo del valor devuelto depende del tipo pasado al llamar a la función. Si hubo un error devuelve null\n */\nasync function get<\n LoadType extends Record<string, unknown> = Record<string, unknown>,\n>(\n url: string | IApiaApiRequestConfig<LoadType>,\n config?: IApiaApiRequestConfig<LoadType>,\n): TApiaApiResult<LoadType>;\nasync function get<\n LoadType extends Record<string, unknown> = Record<string, unknown>,\n>(config: IApiaApiRequestConfig<LoadType>): TApiaApiResult<LoadType>;\nasync function get<\n LoadType extends Record<string, unknown> = Record<string, unknown>,\n T = unknown,\n D = unknown,\n>(\n par1: string | IApiaApiRequestConfig<LoadType>,\n par2?: IApiaApiRequestConfig<LoadType>,\n): TApiaApiResult<LoadType> {\n const actualUrl = typeof par1 !== 'string' ? makeApiaUrl() : par1;\n\n const behaveConfig = getConfig<LoadType>(\n typeof par1 === 'string' ? par2 ?? defaultConfig : par1,\n );\n\n const parsedUrl = makeUrl(\n actualUrl,\n behaveConfig.queryData,\n behaveConfig.stringifyOptions,\n );\n\n if (behaveConfig.debug)\n console.log(\n `%cApiaApi.get`,\n `color: ${getColor('message', behaveConfig.colors)}`,\n {\n url: parsedUrl,\n },\n );\n const response = await axios\n .get<T, AxiosResponse<string>, D>(parsedUrl, behaveConfig.axiosConfig)\n .catch((e: unknown) => {\n handleWrongResponse(new Error(e as string));\n });\n if (response) {\n const result = await handleResponse<LoadType>(\n response,\n actualUrl,\n behaveConfig,\n );\n return result;\n }\n return null;\n}\n\nconst ApiaApi = {\n get,\n getConfig,\n post,\n};\n/**\n * Creates an url based on the general requirements of Apia.\n * If the ajaxUrl property is not passed, it will use the\n * window.URL_REQUEST_AJAX. Its use is very simple, just pass the objects you\n * want to appear in the query string.\n *\n * @example makeApiaUrl({\n * ajaxUrl: 'the.endpoint.you.want',\n * queryString: 'an=existent&query=string',\n * action: 'theAction',\n * anotherProp: 15\n * })\n *\n * @returns the well formed url, in the example, the response url is:\n * /context/the.endpoint.you.want?an=existent&query=string&anotherProp=15&tabId=...&tokenId=...&action=theAction\n */\nexport function makeApiaUrl(props?: {\n action?: string;\n ajaxUrl?: string;\n queryString?: string;\n stringifyOptions?: QueryString.IStringifyOptions;\n tabId?: string | number;\n preventAsXmlParameter?: boolean;\n avoidTabId?: boolean;\n [key: string]: unknown;\n}) {\n let actualQueryData: Record<string, unknown> | unknown = {};\n\n if (props) {\n const {\n ajaxUrl,\n queryString,\n stringifyOptions,\n shouldAvoidTabId,\n preventAsXmlParameter,\n avoidTabId,\n tabId: outerTabId,\n ...rest\n } = props;\n actualQueryData = { ...rest };\n }\n\n const queryString = QueryString.stringify(\n actualQueryData,\n props?.stringifyOptions ?? {\n arrayFormat: 'repeat',\n encodeValuesOnly: false,\n },\n );\n\n let actualAjaxUrl = props?.ajaxUrl ?? window.URL_REQUEST_AJAX;\n if (actualAjaxUrl.indexOf('?') === actualAjaxUrl.length - 1) {\n actualAjaxUrl = actualAjaxUrl.slice(0, actualAjaxUrl.length - 1);\n }\n if (!actualAjaxUrl.startsWith('/')) {\n actualAjaxUrl = `/${actualAjaxUrl}`;\n }\n\n const match = window.TAB_ID_REQUEST.match(/tokenId=(\\w+)/);\n const currentTokenId = (match ?? [])[1];\n\n let tabId = (\n props?.tabId\n ? `&tabId=${props.tabId}&tokenId=${currentTokenId}`\n : window.TAB_ID_REQUEST\n ).slice(1);\n if (props?.avoidTabId) {\n tabId = '';\n }\n\n let { CONTEXT } = window;\n if (CONTEXT?.endsWith('/')) {\n CONTEXT += CONTEXT.slice(0, CONTEXT.length - 1);\n }\n\n let timestamp = `timestamp=${Date.now()}&`;\n if (\n (props?.queryString && props.queryString.includes('timestamp=')) ||\n queryString?.includes('timestamp=')\n ) {\n timestamp = '';\n }\n\n const contextWord = CONTEXT.replaceAll('/', '');\n actualAjaxUrl = actualAjaxUrl.match(\n new RegExp(`^(?:(?:/?${contextWord})?/)?(.+)$`),\n )?.[1] as string;\n\n return `${\n contextWord ? '/' : ''\n }${contextWord}/${actualAjaxUrl}?${timestamp}${\n !props?.preventAsXmlParameter ? 'asXml=true&' : ''\n }${props?.queryString ? `${props.queryString}&` : ''}${\n queryString ? `${queryString}&` : ''\n }${tabId}`;\n}\n\ndeclare global {\n interface Window {\n TAB_ID_REQUEST: string;\n CONTEXT: string;\n URL_REQUEST_AJAX: string;\n }\n}\n\nexport default ApiaApi;\n","import { classToValidate, Checkbox } from '@apia/validations';\nimport React from 'react';\nimport { TApiaApiField } from '../ApiaApiHandler';\n\nexport const ApiaApiCheckbox = (props: TApiaApiField) => {\n const element = React.useMemo(() => props.element, [props.element]);\n const className = React.useMemo(\n () =>\n element.class\n ? `handler__checkbox ${element.class}`\n : 'handler__checkbox',\n [element.class],\n );\n const validationRules = React.useMemo(\n () => ({\n required: element.mandatory,\n ...classToValidate(element.class),\n }),\n [element.class, element.mandatory],\n );\n const submitValueParser = React.useCallback(\n (value: boolean | string) => value === 'on' || value === true,\n [],\n );\n return (\n <Checkbox\n className={className}\n name={element.id || element.name}\n label={element.text}\n title={element.title || element.text}\n initialValue={String(element.selected) === 'true'}\n disabled={element.readonly || element.disabled}\n validationRules={validationRules}\n onChange={element.onChange}\n submitValueParser={submitValueParser}\n />\n );\n};\n","import { classToValidate, FileInput } from '@apia/validations';\nimport React from 'react';\nimport { TApiaApiField } from '../ApiaApiHandler';\n\nexport const ApiaApiFileInput = (props: TApiaApiField) => {\n const element = React.useMemo(() => props.element, [props.element]);\n const className = React.useMemo(\n () => (element.class ? `handler__file ${element.class}` : 'handler__file'),\n [element.class],\n );\n const validationRules = React.useMemo(\n () => ({\n required: element.mandatory,\n ...classToValidate(element.class),\n }),\n [element.class, element.mandatory],\n );\n\n return (\n <FileInput\n className={className}\n name={element.id || element.name}\n label={element.text}\n title={element.title || element.text}\n readOnly={element.readonly}\n disabled={element.disabled}\n validationRules={validationRules}\n />\n );\n};\n\nApiaApiFileInput.displayName = 'ApiaApiFileInput';\n","import { encrypt, useMount } from '@apia/util';\nimport {\n classToValidate,\n classToValidationFunction,\n Input,\n} from '@apia/validations';\nimport React from 'react';\nimport { TApiaApiField } from '../ApiaApiHandler';\n\nexport const ApiaApiInput = (props: TApiaApiField) => {\n const element = React.useMemo(() => props.element, [props.element]);\n\n const getModal = React.useCallback((path: string) => {\n return React.lazy<React.ComponentType<TApiaApiField>>(() => {\n return new Promise<{\n default: React.ComponentType<TApiaApiField>;\n }>((resolve) => {\n import(\n /* webpackChunkName: \"handlerModal\" */\n /* webpackInclude: /\\.tsx?$/ */\n `/api/modals/${path}`\n )\n .then((result: unknown) => {\n resolve(\n result as {\n default: React.ComponentType<TApiaApiField>;\n },\n );\n })\n .catch((error: unknown) => {\n resolve({\n default: () => {\n console.error(error);\n throw new Error(\n `The above error ocurred at component ApiaApiHandler/${path}, does it exist?`,\n );\n },\n });\n });\n });\n });\n }, []);\n\n const [Submodal, setSubmodal] = React.useState<React.LazyExoticComponent<\n React.ComponentType<TApiaApiField>\n > | null>(null);\n\n useMount(() => {\n if (element.modalFunction) {\n const found = element.modalFunction.match(/(?:fnc)?(\\w+)\\(?\\)?$/);\n if (found) {\n const modalName = found[found.length - 1];\n setSubmodal(getModal(modalName));\n }\n }\n });\n\n const className = React.useMemo(\n () =>\n element.class\n ? `handler__${element.type} ${element.class}`\n : `handler__${element.type}`,\n [element.class, element.type],\n );\n const validationRules = React.useMemo(\n () => ({\n required: element.mandatory,\n maxLength: element.maxlength ? Number(element.maxlength) : undefined,\n pattern: element.regExp,\n patternMessage: element.regExpMessage,\n ...classToValidate(element.class),\n }),\n [\n element.class,\n element.mandatory,\n element.maxlength,\n element.regExp,\n element.regExpMessage,\n ],\n );\n const validationFunction = React.useMemo(\n () => classToValidationFunction(element.class),\n [element.class],\n );\n const submitValueParser = React.useCallback(\n (value: string) => {\n if (element.type === 'password') {\n return encrypt(\n window.SALT,\n window.IV,\n window.PASSPHRASE,\n value,\n Number(window.KEY_SIZE),\n Number(window.ITERATION_COUNT),\n );\n }\n return value;\n },\n [element.type],\n );\n\n if (element.modalFunction) {\n if (Submodal) {\n return (\n <React.Suspense>\n <Submodal {...props} element={element} />\n </React.Suspense>\n );\n }\n return null;\n }\n\n return (\n <Input\n type={element.type}\n className={className}\n name={element.id || element.name}\n label={element.text}\n title={element.title || element.text}\n value={element.value}\n readOnly={element.readonly}\n disabled={element.disabled}\n validationFunction={validationFunction}\n validationRules={validationRules}\n submitValueParser={submitValueParser}\n onChange={element.onChange}\n autoComplete={element.type === 'password' ? 'new-password' : undefined}\n />\n );\n};\n\nApiaApiInput.displayName = 'ApiaApiInput';\n","import { arrayOrArray } from '@apia/util';\nimport { classToValidate, Radio } from '@apia/validations';\nimport React from 'react';\nimport { TApiaApiField } from '../ApiaApiHandler';\n\nexport const ApiaApiRadio = (props: TApiaApiField) => {\n const element = React.useMemo(() => props.element, [props.element]);\n const className = React.useMemo(\n () =>\n element.class ? `handler__radio ${element.class}` : 'handler__radio',\n [element.class],\n );\n const options = React.useMemo(\n () =>\n arrayOrArray(element.options?.option).map((currOption) => {\n return { value: currOption.value, label: currOption.content };\n }),\n [element.options?.option],\n );\n const validationRules = React.useMemo(\n () => ({\n required: element.mandatory,\n ...classToValidate(element.class),\n }),\n [element.class, element.mandatory],\n );\n return (\n <Radio\n className={className}\n name={element.id || element.name}\n label={element.text}\n title={element.title || element.text}\n initialValue={element.value}\n disabled={element.readonly || element.disabled}\n validationRules={validationRules}\n options={options}\n onChange={element.onChange}\n />\n );\n};\n\nApiaApiRadio.displayName = 'ApiaApiRadio';\n","import React from 'react';\nimport { arrayOrArray, EventEmitter } from '@apia/util';\nimport { classToValidate, Select } from '@apia/validations';\nimport { TApiaApiField } from '../ApiaApiHandler';\n\nexport type TOption = {\n content: string;\n value: string;\n};\n\nexport const apiaApiSelectOptions =\n new (class ApiaApiSelectOptions extends EventEmitter<{\n setOptions: {\n fieldName: string;\n options: TOption[];\n };\n }> {})();\n\nexport const ApiaApiSelect = (props: TApiaApiField) => {\n const element = React.useMemo(() => props.element, [props.element]);\n const className = React.useMemo(\n () =>\n element.class ? `handler__select ${element.class}` : 'handler__select',\n [element.class],\n );\n const [options, setOptions] = React.useState<\n {\n value: string;\n label: string;\n }[]\n >(\n arrayOrArray(element.options?.option).map((currOption) => {\n return { value: currOption.value, label: currOption.content };\n }),\n );\n const validationRules = React.useMemo(\n () => ({\n required: element.mandatory,\n ...classToValidate(element.class),\n }),\n [element.class, element.mandatory],\n );\n\n React.useEffect(() => {\n const unsuscribe = apiaApiSelectOptions.on('setOptions', (ev) => {\n if (ev.fieldName === element.name) {\n setOptions(\n ev.options.map((currOption) => ({\n value: currOption.value,\n label: currOption.content,\n })),\n );\n }\n });\n\n return () => {\n unsuscribe();\n };\n }, [element.name]);\n\n const initialValue = React.useMemo(\n () =>\n options.find((current) => current.value === props.element.value)?.value ??\n options[0]?.value ??\n '',\n [options, props.element.value],\n );\n\n return (\n <Select\n className={className}\n name={element.id || element.name}\n label={element.text}\n title={element.title || element.text}\n initialValue={initialValue}\n disabled={element.readonly || element.disabled}\n validationRules={validationRules}\n options={options}\n onChange={element.onChange}\n />\n );\n};\n\nApiaApiSelect.displayName = 'ApiaApiSelect';\n","import { getVariant } from '@apia/theme';\nimport { arrayOrArray, TApiaFormElement, TApiaLoad } from '@apia/util';\nimport { uniqueId } from 'lodash';\nimport React from 'react';\nimport { Box } from '@apia/theme';\nimport { getFunction, TApiaApiMethodHandler } from '../ApiaApiHandler';\nimport { TModalTable } from '../types';\nimport { ApiaApiCheckbox } from './ApiaApiCheckbox';\nimport { ApiaApiFileInput } from './ApiaApiFileInput';\nimport { ApiaApiInput } from './ApiaApiInput';\nimport { ApiaApiRadio } from './ApiaApiRadio';\nimport { ApiaApiSelect } from './ApiaApiSelect';\n\ntype TApiaApiFieldsContainer = TApiaApiMethodHandler & {\n definition?: TApiaLoad | undefined;\n};\n\ntype TApiaApiSectionElement = TApiaFormElement & {\n sectionElementId: string;\n};\n\ntype TApiaApiSection = {\n sectionId: string;\n sectionHeader?: TApiaApiSectionElement;\n sectionElements: TApiaApiSectionElement[];\n};\n\nconst parseApiaApiSections = (elements: TApiaFormElement[]) => {\n const removeEndingSpacers = (\n sectionElements: TApiaFormElement[],\n ): TApiaFormElement[] => {\n if (sectionElements.length > 1) {\n for (let i = sectionElements.length - 1; i >= 0; i--) {\n if (sectionElements[i].type === 'empty') {\n sectionElements.pop();\n } else {\n return sectionElements;\n }\n }\n }\n return sectionElements;\n };\n const sectionIndexes: number[] = [];\n if (elements[0]?.type !== '2columnTitle') {\n sectionIndexes.push(-1);\n }\n elements.forEach((element, index) => {\n if (element.type === '2columnTitle') {\n sectionIndexes.push(index);\n }\n });\n const sections: TApiaApiSection[] = [];\n sectionIndexes.forEach((sectionIndex, arrayIndex) => {\n const start =\n sectionIndex + 1 < elements.length\n ? sectionIndex + 1\n : elements.length - 1;\n const end =\n arrayIndex + 1 < sectionIndexes.length\n ? sectionIndexes[arrayIndex + 1]\n : undefined;\n sections.push({\n sectionId: `ApiaApiSection_${arrayIndex}`,\n sectionHeader:\n sectionIndex !== -1\n ? {\n ...elements[sectionIndex],\n sectionElementId: `sectionHeader_${arrayIndex}`,\n }\n : undefined,\n sectionElements: removeEndingSpacers(elements.slice(start, end)).map(\n (currentElement) => ({\n ...currentElement,\n sectionElementId: `sectionElement_${\n currentElement.id || currentElement.name || uniqueId()\n }`,\n }),\n ),\n });\n });\n return sections;\n};\n\nconst NonMemoizedApiaApiFieldsContainer = (props: TApiaApiFieldsContainer) => {\n const elements = React.useMemo(\n () => arrayOrArray(props?.definition?.form.elements?.element ?? []),\n [props?.definition?.form.elements?.element],\n );\n\n const sections = React.useMemo(\n () => parseApiaApiSections(elements),\n [elements],\n );\n\n const renderSectionContent = React.useCallback(\n (sectionId: string, sectionElements: TApiaApiSectionElement[]) => {\n const isVisible =\n sectionElements.findIndex((element) => element.type !== 'hidden') !==\n -1;\n return (\n <Box\n className={\n isVisible\n ? 'handler__form__elements__section__content'\n : `handler__form__elements__section__content handler__hidden`\n }\n key={sectionId}\n >\n {sectionElements.map((current) => {\n const element = {\n ...current,\n onChange() {\n getFunction(current.onChange, props)\n .then((onChangeMethod) => {\n if (onChangeMethod) {\n onChangeMethod();\n }\n })\n .catch(console.error);\n },\n };\n switch (element.type) {\n case 'table': {\n const data = JSON.parse(element.text) as TModalTable;\n return (\n <Box\n key={element.sectionElementId}\n {...getVariant('layout.common.tables.information')}\n >\n <table sx={{ width: '100%' }}>\n <thead>\n <tr>\n {data.columns.map((column) => {\n return <th key={column}>{column}</th>;\n })}\n </tr>\n </thead>\n <tbody>\n {data.rows.map((row) => {\n return (\n <tr key={row.cells.join('-')}>\n {row.cells.map((cell, i) => {\n return (\n <td key={`${cell}_${data.columns[i]}`}>\n {cell}\n </td>\n );\n })}\n </tr>\n );\n })}\n </tbody>\n </table>\n </Box>\n );\n }\n case '2columnSubTitle':\n return (\n <Box\n key={element.sectionElementId}\n className={element.class}\n as=\"h6\"\n >\n {element.value || element.text}\n </Box>\n );\n case '2column':\n return (\n <Box\n key={element.sectionElementId}\n dangerouslySetInnerHTML={{\n __html: element.value || element.text,\n }}\n className={element.class}\n />\n );\n case 'checkbox':\n return (\n <ApiaApiCheckbox\n key={element.sectionElementId}\n {...props}\n element={element}\n />\n );\n case 'file':\n return (\n <ApiaApiFileInput\n key={element.sectionElementId}\n {...props}\n element={element}\n />\n );\n case 'hidden':\n case 'password':\n case 'text':\n return (\n <ApiaApiInput\n key={element.sectionElementId}\n {...props}\n element={element}\n />\n );\n case 'select':\n return (\n <ApiaApiSelect\n key={element.sectionElementId}\n {...props}\n element={element}\n />\n );\n case 'radio':\n return (\n <ApiaApiRadio\n key={element.sectionElementId}\n {...props}\n element={element}\n />\n );\n case 'empty':\n return (\n <Box key={element.sectionElementId} className=\"spacer\" />\n );\n default:\n console.warn(\n `Unhandled element type: ${element.type}`,\n element,\n );\n return null;\n }\n })}\n </Box>\n );\n },\n [props],\n );\n return (\n <Box className=\"handler__form__elements\">\n {sections.map((section) => {\n if (section.sectionHeader) {\n return renderSectionContent(\n section.sectionId,\n section.sectionElements,\n );\n }\n return renderSectionContent(section.sectionId, section.sectionElements);\n })}\n </Box>\n );\n};\n\nexport const ApiaApiFieldsContainer = React.memo(\n NonMemoizedApiaApiFieldsContainer,\n);\n\nApiaApiFieldsContainer.displayName = 'ApiaApiFieldsContainer';\n","import { arrayOrArray, TApiaFormButton, TApiaLoad } from '@apia/util';\nimport { uniqueId } from 'lodash';\nimport QueryString from 'qs';\nimport React from 'react';\nimport { Box } from '@apia/theme';\nimport {\n hasSucceedFormValidation,\n useFormContext,\n validationsStore,\n} from '@apia/validations';\nimport { ISimpleButton, SimpleButton } from '@apia/components';\nimport { getFunction, TApiaApiMethodHandler } from '../ApiaApiHandler';\nimport ApiaApi from '../apiaApi';\n\ntype TApiaApiButtonsContainer = TApiaApiMethodHandler & {\n definition?: TApiaLoad | undefined;\n};\n\ntype TApiaApiButton = Omit<TApiaFormButton, 'type'> &\n Pick<ISimpleButton, 'type'> & {\n buttonKey: string;\n };\n\nconst parseButtons = (buttons: TApiaFormButton[]): TApiaApiButton[] => {\n return buttons.map((currentButton) => ({\n ...currentButton,\n buttonKey: uniqueId(),\n type: ['submitAjax', 'submit'].includes(currentButton.type)\n ? 'submit'\n : 'button',\n }));\n};\n\nconst NonMemoizedApiaApiButtonsContainer = (\n props: TApiaApiButtonsContainer,\n) => {\n const buttonElements = React.useMemo(\n () => arrayOrArray(props.definition?.form.buttons?.button ?? []),\n [props.definition?.form.buttons?.button],\n );\n const buttons = React.useMemo(\n () => parseButtons(buttonElements),\n [buttonElements],\n );\n const modalConfiguration = React.useMemo(\n () => props.configuration?.modalConfiguration,\n [props.configuration?.modalConfiguration],\n );\n const methodsPath = React.useMemo(\n () => props.configuration?.methodsPath,\n [props.configuration?.methodsPath],\n );\n const { name: apiaApiForm } = useFormContext();\n\n const renderButton = React.useCallback(\n (currentButton: TApiaApiButton) => {\n const key = currentButton.buttonKey;\n const className = `handler__${currentButton.type ?? ''}`;\n const onClick = () => {\n void (async function submitForm() {\n const validationResult = await validationsStore.validateForm(\n apiaApiForm,\n );\n if (!hasSucceedFormValidation(validationResult)) {\n return;\n }\n const { submitValues } = validationResult;\n\n function runButtonMethod() {\n void (async () => {\n if (currentButton.onclick) {\n const actions = currentButton.onclick.split(';');\n // eslint-disable-next-line no-restricted-syntax\n for await (const action of actions) {\n const method = await getFunction(action, {\n ...props,\n });\n\n if (method) {\n method({\n currentUrl: props.definition?.form.action ?? 'noUrl',\n });\n } else {\n throw new Error(\n `The requested action is not defined: \"${\n props.definition?.form.action ?? ''\n }\"`,\n );\n }\n }\n }\n })();\n }\n\n if (props?.definition && currentButton.type === 'submit') {\n const formData = new FormData();\n Object.entries(submitValues).forEach(([name, value]) => {\n formData.append(name, (value as string | Blob) ?? '');\n });\n\n const hasContext = props?.definition.form.action.match(\n new RegExp(`^${window.CONTEXT}/`),\n );\n const url = `${hasContext ? '' : window.CONTEXT}${\n !props?.definition.form.action.startsWith('/') ? '/' : ''\n }${props?.definition.form.action}`;\n\n props.setState((current) => ({\n ...current,\n isLoading: true,\n }));\n\n void ApiaApi.post(url, {\n postData: props.state.isMultipart\n ? formData\n : QueryString.stringify(\n [...formData.entries(), ['isAjax', true]].reduce<\n Record<string, string>\n >((accumulated, [name, value]) => {\n const retValue = { ...accumulated };\n retValue[name.toString()] = value.toString();\n return retValue;\n }, {}),\n ),\n handleLoad: true,\n notificationsCategory: 'apiaApiHandler',\n modalConfiguration,\n methodsPath,\n }).finally(() => {\n runButtonMethod();\n });\n } else {\n runButtonMethod();\n }\n })();\n };\n return (\n <SimpleButton\n className={className}\n disabled={props.state.disabled}\n id={currentButton.id || currentButton.text}\n isLoading={props.state.isLoading}\n key={key}\n title={currentButton.text}\n type={currentButton.type}\n onClick={onClick}\n >\n {currentButton.text}\n </SimpleButton>\n );\n },\n [apiaApiForm, methodsPath, modalConfiguration, props],\n );\n\n return (\n <Box className=\"handler__form__buttons\">\n {buttons.map((currentButton) => renderButton(currentButton))}\n </Box>\n );\n};\n\nexport const ApiaApiButtonsContainer = React.memo(\n NonMemoizedApiaApiButtonsContainer,\n);\n","/* eslint-disable max-classes-per-file */\n\nimport * as React from 'react';\nimport { Box } from '@apia/theme';\nimport { AxiosResponse } from 'axios';\nimport {\n arrayOrArray,\n EventEmitter,\n focus,\n focusSelector,\n TApiaAction,\n TApiaFormElement,\n TApiaFunction,\n TApiaLoad,\n TApiaLoadText,\n TModify,\n useMount,\n useStateRef,\n useUnmount,\n WithEventsValue,\n} from '@apia/util';\nimport { notify } from '@apia/notifications';\nimport { Form, validationsStore } from '@apia/validations';\nimport { Modal, ProgressBar, TModal, useModal } from '@apia/components';\nimport { getVariant } from '@apia/theme';\nimport ApiaApiContext from './ApiaApiContext';\nimport { IApiaApiRequestConfig } from './types';\nimport { ApiaActions } from './apiaApi';\nimport { ApiaApiFieldsContainer } from './fields/ApiaApiFieldsContainer';\nimport { ApiaApiButtonsContainer } from './buttons/ApiaApiButtonsContainer';\n\nexport type TMessage = {\n isHtml?: boolean;\n predicate: string;\n title?: string;\n};\ntype TMessageLocal = { title: string; predicate: string };\ntype TMethod = {\n name: string;\n props: {\n attributes?: Record<string, unknown>;\n currentUrl?: string;\n funCall?: string;\n inlineArguments?: string[];\n messages?: unknown;\n };\n};\nconst ApiaApiMessenger = new (class extends EventEmitter<{\n message: TMessageLocal;\n}> {})();\nconst FunctionsDispatcher = new (class extends EventEmitter<{\n method: TMethod;\n}> {})();\n\nexport type TApiaApiMethodHandler = {\n alert: typeof notify;\n close: () => void;\n configuration?: THandleConfiguration;\n formDefinition: TApiaLoad;\n setModalProps?: (\n configuration: THandleConfiguration,\n formDefinition?: TApiaLoad,\n ) => TModal | null;\n reset: () => void;\n setError: typeof notify;\n setMessage: (message: Record<string, unknown>) => unknown;\n setState: React.Dispatch<React.SetStateAction<IApiaApiHandlerState>>;\n state: IApiaApiHandlerState;\n setValue: (name: string, value: string) => void;\n};\n\nexport type TApiaApiMethod = (\n handler: TApiaApiMethodHandler,\n props: TMethod['props'],\n) => Promise<void> | void;\n\nexport type TApiaApiField = TApiaApiMethodHandler & {\n element: TModify<TApiaFormElement, { onChange: React.ChangeEventHandler }>;\n};\n\nexport const apiaApiForm = 'ApiaApiForm';\n\ntype TStoredApiaApiMethod = (props?: TMethod['props']) => unknown;\n\nconst methods: Record<string, TStoredApiaApiMethod> = {};\n\nexport async function getFunction(\n name: string,\n handler: TApiaApiMethodHandler,\n): Promise<TStoredApiaApiMethod | undefined> {\n return new Promise((resolve) => {\n try {\n const separateNameFromParametersRegex =\n /^\\/?([\\w\\d_-]+)\\/?(?:\\(([^)]*)\\))?$/;\n const match = name.match(separateNameFromParametersRegex);\n if (match) {\n const functionName = match[1];\n const parameters = match[2];\n const path: string = [\n ...(handler.configuration?.methodsPath\n ?.split('/')\n .filter((current) => !!current) ?? []),\n functionName,\n ].join('/');\n const storeMethodAndResolve = (result: { default: TApiaApiMethod }) => {\n if (typeof result.default !== 'function') notFound();\n const method = result.default;\n methods[functionName] = (props?: TMethod['props']) => {\n return method(handler, {\n ...props,\n inlineArguments:\n parameters?.split(',').map((argument) => {\n if (argument.startsWith(\"'\") || argument.startsWith('\"'))\n return argument.slice(1, argument.length - 1);\n return argument;\n }) ?? [],\n });\n };\n resolve(methods[functionName]);\n };\n\n const notFound = () => {\n throw new Error(\n `${functionName}.ts not found at ${path}.ts nor ./${functionName}.ts`,\n );\n };\n\n import(\n /* webpackChunkName: \"api-methods-[request]\" */ `/api/methods/${path}.ts`\n )\n .then(storeMethodAndResolve)\n .catch(() => {\n if (handler.configuration?.methodsPath !== undefined)\n import(\n /* webpackChunkName: \"api-methods-[request]\" */ `/api/methods/${functionName}.ts`\n )\n\n .then(storeMethodAndResolve)\n .catch(notFound);\n else {\n notFound();\n }\n });\n }\n } catch (e) {\n console.error(e);\n handler.reset();\n handler.setError({\n type: 'danger',\n message: 'Error while loading current method.',\n });\n }\n });\n}\n\nexport function isForm(\n responseObject: Record<string, unknown>,\n): responseObject is TApiaLoad {\n return (\n responseObject.form !== undefined &&\n typeof responseObject.form === 'object' &&\n !!responseObject.form\n );\n}\n\nexport function isFunction(\n responseObject: Record<string, unknown>,\n): responseObject is TApiaLoad<TApiaFunction> {\n return (\n typeof responseObject.canClose === 'boolean' &&\n typeof responseObject.type === 'string' &&\n !!responseObject.function\n );\n}\n\nfunction isMessage(\n responseObject: Record<string, unknown>,\n): responseObject is TApiaLoad<TApiaLoadText> {\n if (\n typeof responseObject.canClose === 'boolean' &&\n typeof responseObject.type === 'string' &&\n typeof responseObject.text === 'object' &&\n responseObject.text &&\n typeof (responseObject.text as Record<string, unknown>).label === 'string'\n ) {\n return true;\n }\n return false;\n}\n\nexport interface IModalConfig {\n modalTitle?: string;\n onClose?: () => void;\n onMessage?: (message: Record<string, unknown>) => unknown;\n onMessageClose?: () => unknown;\n onSubmitted?: (\n handler: TApiaApiMethodHandler,\n response: AxiosResponse<Record<string, unknown> | null> | null,\n ) => unknown;\n}\n\nconst modalConfigurationHandler = new WithEventsValue<THandleConfiguration>();\n\nfunction useModalConfiguration() {\n const [, setValue, value] = useStateRef<THandleConfiguration | undefined>(\n undefined,\n );\n\n const handleChange = React.useCallback(\n (newEventsHandler: THandleConfiguration | undefined) => {\n setValue(newEventsHandler);\n },\n [setValue],\n );\n\n useMount(() => {\n modalConfigurationHandler.on('update', handleChange);\n });\n\n useUnmount(() => {\n return modalConfigurationHandler.off('update', handleChange);\n });\n\n return value;\n}\n\nexport type THandleConfiguration = Partial<\n Pick<\n IApiaApiRequestConfig<unknown>,\n 'modalConfiguration' | 'methodsPath' | 'setModalProps'\n >\n>;\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nlet currentForm: TApiaLoad | undefined;\nconst currentFormDispatcher =\n new (class currentFormDispatcher extends EventEmitter<{\n form: TApiaLoad;\n }> {\n emit<K extends 'form'>(\n eventName: K,\n params?: { form: TApiaLoad }[K] | undefined,\n ): void {\n super.emit(eventName, params);\n currentForm = params;\n }\n })();\n\nexport function handle(\n responseObject: Record<string, unknown>,\n currentUrl: string,\n configuration: THandleConfiguration,\n) {\n modalConfigurationHandler.value = configuration;\n if (isForm(responseObject)) {\n currentFormDispatcher.emit('form', responseObject);\n return true;\n }\n if (isFunction(responseObject)) {\n FunctionsDispatcher.emit('method', {\n name: responseObject.function.name,\n props: {\n messages: responseObject.function.messages,\n attributes: responseObject.function,\n currentUrl,\n },\n });\n return true;\n }\n if (isMessage(responseObject)) {\n ApiaApiMessenger.emit('message', {\n predicate: responseObject.text.content,\n title: responseObject.text.title,\n });\n return true;\n }\n return false;\n}\n\nexport interface IApiaApiHandlerState {\n disabled: boolean;\n isLoading: boolean;\n isMultipart: boolean;\n progress: number;\n errors: Record<string, string>;\n windowIndex: number;\n}\n\nconst initialState: Omit<IApiaApiHandlerState, 'windowIndex'> = {\n disabled: false,\n isLoading: false,\n isMultipart: false,\n progress: 0,\n errors: {},\n};\n\nconst ApiaApiHandlerNonMemoized = () => {\n const configuration = useModalConfiguration();\n\n const [state, setState] = React.useState<IApiaApiHandlerState>({\n ...initialState,\n windowIndex: -1,\n });\n\n const [currentForm, setCurrentForm] = React.useState<TApiaLoad | undefined>(\n undefined,\n );\n React.useEffect(() => {\n return currentFormDispatcher.on('form', setCurrentForm);\n }, []);\n\n const setValue = React.useCallback((name: string, value: string) => {\n return validationsStore.setFieldValue(apiaApiForm, name, value);\n }, []);\n\n React.useEffect(() => {\n if (!currentForm) return;\n const elements = arrayOrArray(currentForm?.form?.elements?.element ?? []);\n\n let isMultipart = false;\n const elementsValues = Object.values(elements);\n let i = 0;\n while (i < elementsValues.length && !isMultipart) {\n if (elementsValues[i++].type === 'file') {\n isMultipart = true;\n }\n }\n\n setState((currentState) => {\n return {\n ...currentState,\n ...initialState,\n isMultipart,\n };\n });\n }, [currentForm]);\n\n const { show, onClose, ...modalHookProps } = useModal();\n\n const close = React.useCallback(() => {\n onClose();\n currentFormDispatcher.emit('form', undefined);\n setState((currentState) => {\n return { ...currentState, ...initialState };\n });\n configuration.current?.modalConfiguration?.onClose?.();\n\n validationsStore.unregisterForm(apiaApiForm);\n }, [onClose, configuration]);\n\n const modalRef = React.useRef<HTMLDivElement>(null);\n\n React.useEffect(() => {\n const elements = modalRef.current?.querySelectorAll(\n 'a,input,textarea,button',\n );\n if (elements?.length === 1)\n void focus.on(([...elements] as HTMLElement[])[0]);\n });\n\n const setError = React.useCallback(\n (notification: Parameters<typeof notify>[0]) => {\n notify({ ...notification });\n },\n [],\n );\n\n const initialFocusGetter = React.useCallback((ref: HTMLElement) => {\n return ref?.querySelector(focusSelector) as HTMLElement;\n }, []);\n\n const defaultModalProps = React.useMemo(\n (): TModal => ({\n onClose: close,\n id: apiaApiForm,\n title:\n configuration.current?.modalConfiguration?.modalTitle ??\n currentForm?.form.title,\n size: 'md-fixed',\n shouldCloseOnEsc: !state.disabled,\n shouldCloseOnOverlayClick: !state.disabled,\n initialFocusGetter,\n }),\n [\n close,\n configuration,\n currentForm?.form.title,\n initialFocusGetter,\n state.disabled,\n ],\n );\n\n const getModalProps = React.useCallback(\n (innerHandler: TApiaApiMethodHandler) => {\n if (innerHandler.setModalProps) {\n const overrideProps = innerHandler.setModalProps?.(\n {\n methodsPath: innerHandler.configuration?.methodsPath,\n modalConfiguration: innerHandler.configuration?.modalConfiguration,\n },\n innerHandler.formDefinition,\n );\n if (overrideProps) {\n const currentOnClose = () => {\n overrideProps?.onClose?.();\n defaultModalProps.onClose?.();\n };\n const currentOnExited = () => {\n overrideProps?.onExited?.();\n modalHookProps?.onExited?.();\n };\n return {\n ...defaultModalProps,\n ...overrideProps,\n ...modalHookProps,\n onClose: currentOnClose,\n onExited: currentOnExited,\n };\n }\n }\n return { ...defaultModalProps, ...modalHookProps };\n },\n [defaultModalProps, modalHookProps],\n );\n\n const getHandler = React.useCallback(() => {\n const newHandler: TApiaApiMethodHandler = {\n alert,\n close,\n configuration: configuration.current,\n formDefinition: currentForm as TApiaLoad,\n reset: () => {\n return setState((currentState) => {\n return {\n ...currentState,\n ...initialState,\n };\n });\n },\n setError,\n setMessage: (message) => {\n if (configuration.current?.modalConfiguration?.onMessage)\n configuration.current.modalConfiguration.onMessage(message);\n },\n setState,\n state,\n setValue,\n };\n return newHandler;\n }, [close, configuration, currentForm, setError, state, setValue]);\n\n const handler = getHandler();\n const modalProps = getModalProps(handler);\n\n const handleAction = React.useCallback(\n async (action: TModify<TApiaAction, { param: string[] }>) => {\n const innerHandler = getHandler();\n if (action.toDo === 'ajaxHiddeAll') {\n close();\n }\n if (action.toDo === 'functionTimedCall') {\n const method = await getFunction(\n arrayOrArray(action.param)[1],\n innerHandler,\n );\n\n if (method) {\n /*\n * Aquí el timeout se utiliza debido a que Apia lo establece de esa\n * forma,\n * Existe un retorno de Apia llamado functionTimedCall que\n * espera que una función se ejecute luego de un timeout, y\n * yo solamente respeté dicho comportamiento.\n */\n setTimeout(\n () =>\n method({\n currentUrl: innerHandler.formDefinition?.form.action ?? 'noUrl',\n }),\n Number(action.param[0]),\n );\n }\n }\n },\n [close, getHandler],\n );\n\n const handleFunction = React.useCallback(\n async ({ name, props: { messages, attributes, currentUrl } }: TMethod) => {\n const innerHandler = getHandler();\n const method = await getFunction(`${name}`, innerHandler);\n if (method) {\n method({ messages, attributes, currentUrl });\n }\n },\n [getHandler],\n );\n\n const handleMessage = React.useCallback(\n (ev: TMessage) => {\n const innerHandler = getHandler();\n notify({\n message: ev.predicate,\n type: 'warning',\n onClose: innerHandler.configuration?.modalConfiguration?.onMessageClose,\n });\n const onMessage =\n innerHandler.configuration?.modalConfiguration?.onMessage;\n if (onMessage) {\n onMessage(ev);\n }\n },\n [getHandler],\n );\n\n React.useEffect(() => {\n ApiaApiMessenger.on('message', handleMessage);\n FunctionsDispatcher.on('method', handleFunction);\n ApiaActions.on('action', handleAction);\n\n return () => {\n ApiaApiMessenger.off('message', handleMessage);\n FunctionsDispatcher.off('method', handleFunction);\n ApiaActions.off('action', handleAction);\n };\n }, [handleAction, handleFunction, handleMessage, state.windowIndex]);\n\n React.useEffect(() => {\n if (currentForm) {\n show();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currentForm]);\n\n const formRef = React.useCallback(\n async (el: HTMLElement) => {\n if (el && currentForm?.form.onLoad) {\n const method = await getFunction(\n `${currentForm?.form.onLoad}`,\n getHandler(),\n );\n if (method) {\n method();\n }\n }\n },\n [currentForm?.form.onLoad, getHandler],\n );\n\n return (\n <ApiaApiContext id={apiaApiForm}>\n <Modal {...modalProps} ref={modalRef}>\n {currentForm && (\n <Box {...getVariant('layout.common.modals.apiaApi')}>\n <Form\n name={apiaApiForm}\n unregisterOnUnmount\n avoidFieldsOverride\n className=\"handler__form\"\n >\n <ApiaApiFieldsContainer definition={currentForm} {...handler} />\n {state.isMultipart && state.progress > 0 && (\n <Box className=\"progressBox\">\n <ProgressBar\n id=\"ApiaApiHandler progress\"\n progress={state.progress}\n loading\n />\n </Box>\n )}\n <ApiaApiButtonsContainer definition={currentForm} {...handler} />\n <Box ref={formRef} sx={{ display: 'none' }} />\n </Form>\n </Box>\n )}\n </Modal>\n </ApiaApiContext>\n );\n};\n\nexport const ApiaApiHandler = React.memo(ApiaApiHandlerNonMemoized);\n"],"names":["__async","ApiaActions","__spreadProps","__spreadValues","__objRest","_a","_b","React","_c","_d","currentFormDispatcher","currentForm","ApiaApiContext"],"mappings":"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"}
package/package.json CHANGED
@@ -6,18 +6,18 @@
6
6
  "sideEffects": false,
7
7
  "main": "./dist/index.js",
8
8
  "types": "./dist/index.d.ts",
9
- "version": "0.1.3",
9
+ "version": "0.2.4",
10
10
  "scripts": {
11
11
  "build": "rollup -c rollup.config.esb.mjs",
12
12
  "buildDev": "rollup -c rollup.config.esb.mjs --dev",
13
13
  "watch": "rollup -c rollup.config.esb.mjs --dev --watch"
14
14
  },
15
15
  "dependencies": {
16
- "@apia/components": "^0.1.3",
17
- "@apia/notifications": "^0.1.3",
18
- "@apia/theme": "^0.1.3",
19
- "@apia/util": "^0.1.3",
20
- "@apia/validations": "^0.1.3",
16
+ "@apia/components": "^0.2.4",
17
+ "@apia/notifications": "^0.2.4",
18
+ "@apia/theme": "^0.2.4",
19
+ "@apia/util": "^0.2.4",
20
+ "@apia/validations": "^0.2.4",
21
21
  "axios": "^1.3.4",
22
22
  "lodash": "^4.17.21"
23
23
  },
@@ -38,8 +38,7 @@
38
38
  "peerDependencies": {
39
39
  "@emotion/react": "^11.10.6",
40
40
  "react": "^18.2.0",
41
- "react-dom": "^18.2.0",
42
- "theme-ui": "^0.15.5"
41
+ "react-dom": "^18.2.0"
43
42
  },
44
43
  "publishConfig": {
45
44
  "access": "public",
@@ -50,5 +49,5 @@
50
49
  "url": "http://corp-gitlab-01.domst.st.net/products/apia/ApiaNPMPackages.git",
51
50
  "directory": "packages/api"
52
51
  },
53
- "gitHead": "26592fdfe0290bfed776776bf9dbe5d3ac2c7341"
52
+ "gitHead": "f14ade3161fb978c89e9f0949e46aca54d2e1db3"
54
53
  }