@apia/theme 3.0.12 → 3.0.13
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/html-B-K0BIiw.js.map +1 -1
- package/dist/{index-B8vI1LSQ.js → index-CGg8tjIE.js} +66 -3
- package/dist/index-CGg8tjIE.js.map +1 -0
- package/dist/index.js +1 -1
- package/dist/{styles-CmQhZbPb.js → styles-DWludKkV.js} +2 -2
- package/dist/styles-DWludKkV.js.map +1 -0
- package/jsx-runtime/dist/jsx-runtime.d.ts +3 -3
- package/jsx-runtime/dist/theme-ui-jsx-runtime.browser.esm.js +2 -2
- package/jsx-runtime/dist/theme-ui-jsx-runtime.cjs.d.ts +2 -2
- package/jsx-runtime/dist/theme-ui-jsx-runtime.cjs.d.ts.map +1 -1
- package/jsx-runtime/dist/theme-ui-jsx-runtime.cjs.dev.js +21 -21
- package/jsx-runtime/dist/theme-ui-jsx-runtime.cjs.js +7 -7
- package/jsx-runtime/dist/theme-ui-jsx-runtime.cjs.prod.js +21 -21
- package/jsx-runtime/dist/theme-ui-jsx-runtime.esm.js +2 -2
- package/jsx-runtime/dist/theme-ui-jsx-runtime.worker.esm.js +2 -2
- package/jsx-runtime/package.json +8 -8
- package/package.json +3 -3
- package/dist/index-B8vI1LSQ.js.map +0 -1
- package/dist/styles-CmQhZbPb.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-B8vI1LSQ.js","sources":["../src/base/colors/util.ts","../src/base/colors/util/getColorState.ts","../src/base/colors/util/applyStatesGetColor.ts","../src/base/colors/util/applyStates.ts","../src/base/colors/types.ts","../src/base/colors/defaultPalette.ts","../src/util.ts","../src/base/colors/util/buildStateObject.ts","../src/base/colors/util/buildColorsObject.ts","../src/base/colors/util/getColorsByPath.ts","../src/base/colors/util/getColorsAndStatesByPath.ts","../src/base/colors/util/getColorStates.ts","../src/base/colors/util/getOneColorState.ts","../src/base/colors/util/getColorsByDefinition.ts","../src/base/colors/util/getColorsAndStatesByDefinition.ts","../src/base/colors/util/parsePalette.ts","../src/base/colors/schemas.ts","../src/base/colors/components.ts","../src/base/colors/index.ts","../src/base/alerts.ts","../src/base/buttons.ts","../src/base/text.ts","../src/base/rootStyles/transitions.ts","../src/base/rootStyles/menu.ts","../src/base/rootStyles/rootStyles.ts","../src/base/baseTheme.ts","../src/base/forms/customCheckbox.ts","../src/base/forms/checkbox.ts","../src/base/forms/dateInput.ts","../src/base/forms/iconInput.ts","../src/base/forms/input.ts","../src/base/forms/label.ts","../src/base/forms/radio.ts","../src/base/forms/select.ts","../src/base/forms/selectMultiple.ts","../src/base/forms/switch.ts","../src/base/forms/textarea.ts","../src/base/forms/deletableInput.ts","../src/base/forms/index.ts","../src/base/layout/common/modals/overlay.ts","../src/base/layout/common/modals/apiaApi.ts","../src/base/layout/common/modals/confirm.ts","../src/base/layout/common/modals/table.ts","../src/base/layout/common/modals/tableModal.ts","../src/base/layout/common/modals/buttonsBar.ts","../src/base/layout/common/modals/index.ts","../src/base/layout/common/tables/getSelectionStyles.ts","../src/base/layout/common/tables/primary.ts","../src/base/layout/common/tables/information.ts","../src/base/layout/common/tables/accordion.ts","../src/base/layout/common/tables/print.ts","../src/base/layout/common/tables/responsive.ts","../src/base/layout/common/tables/secondary.ts","../src/base/layout/common/tables/clean.ts","../src/base/layout/common/tables/index.ts","../src/base/layout/common/forms/captcha.ts","../src/base/layout/common/forms/index.ts","../src/base/layout/common/trees/primary.ts","../src/base/layout/common/trees/mobx.ts","../src/base/layout/common/trees/index.ts","../src/base/layout/common/tooltips/primary.ts","../src/base/layout/common/tooltips/index.ts","../src/base/layout/common/components/pagination/common.ts","../src/base/layout/common/components/pagination/primary.ts","../src/base/layout/common/components/pagination/datagrid.ts","../src/base/layout/common/components/pagination/secondary.ts","../src/base/layout/common/components/pagination/index.ts","../src/base/layout/common/components/accordion.ts","../src/base/layout/common/components/chat.ts","../src/base/layout/common/components/toolbar.ts","../src/base/layout/common/components/autocomplete.ts","../src/base/layout/common/components/datePicker.ts","../src/base/layout/common/components/index.ts","../src/base/layout/common/boxes/labelBox.ts","../src/base/layout/common/boxes/index.ts","../src/base/layout/common/index.ts","../src/base/layout/util/collector.ts","../src/base/layout/util/speedui.ts","../src/base/layout/util/index.ts","../src/base/layout/charts/index.ts","../src/base/layout/index.ts","../src/methods/getMainTheme.ts","../src/methods/useMainTheme.ts","../src/util/getVariant.ts","../src/methods/CustomThemeProvider.tsx","../src/methods/makeStyledComponent.tsx","../src/methods/injectStyles.ts","../src/methods/spacingLayout/index.ts","../src/ApiaThemeProvider.tsx","../src/markdown/help.ts","../src/markdown/types.ts","../src/markdown/extensions/error.ts","../src/markdown/extensions/header.ts","../src/markdown/extensions/success.ts","../src/markdown/extensions/table/index.ts","../src/markdown/extensions/warning.ts","../src/markdown/extensions/index.ts","../src/markdown/getRemarkable.ts","../src/markdown/parseMarkdown.ts","../src/markdown/builder/elements/MarkdownBlock.ts","../src/markdown/builder/elements/paragraph.ts","../src/markdown/builder/elements/dialogBox.ts","../src/markdown/builder/elements/header.ts","../src/markdown/builder/elements/list.ts","../src/markdown/builder/elements/table.ts","../src/markdown/builder/elements/tableOfContents.ts","../src/markdown/builder/MarkdownBuilder.ts"],"sourcesContent":["import clone from 'lodash-es/clone';\nimport tinycolor from 'tinycolor2';\n\nexport function defaultLighten(color: string, ratio?: number) {\n return tinycolor(color)\n .lighten(ratio ?? 20)\n .toRgbString();\n}\nexport function defaultDarken(color: string, ratio?: number) {\n return tinycolor(color)\n .darken(ratio ?? 20)\n .toRgbString();\n}\nexport function defaultGetContrastText(color: string) {\n const current = tinycolor(color);\n return tinycolor.readability('white', current) <\n tinycolor.readability('black', current)\n ? 'black'\n : 'white';\n}\n\nexport function getValueByPath(\n obj: Record<string, unknown>,\n path: string | string[],\n separator = '.',\n): unknown {\n const actualPath = typeof path === 'string' ? path.split(separator) : path;\n if (typeof obj !== 'object' || !obj) {\n if (actualPath.length === 0) return obj;\n return undefined;\n }\n const currentStep = actualPath.shift() as string;\n if (actualPath.length === 0) return obj[currentStep];\n return getValueByPath(\n obj[currentStep] as Record<string, unknown>,\n actualPath,\n separator,\n );\n}\n\nexport function setValueByPath(\n obj: Record<string, unknown>,\n path: string,\n value: unknown,\n) {\n if (path === '') return value as Record<string, unknown>;\n\n const steps = path.split('.');\n if (steps.length === 0) {\n console.warn(`An empty path was provoided ${path}`);\n return null;\n }\n const originalClonedObject = clone(obj ?? {});\n let currentObj = originalClonedObject;\n for (let i = 0; i < steps.length - 1; i++) {\n if (!currentObj[steps[i]]) currentObj[steps[i]] = {};\n if (typeof currentObj[steps[i]] === 'object') {\n currentObj = currentObj[steps[i]] as Record<string, unknown>;\n } else {\n console.info({\n originalObject: obj,\n originalPath: path,\n currentObj,\n currentStep: steps[i],\n });\n throw new Error(\n `The provided path ${path} cannot be applied due to it is not an object's path.`,\n );\n }\n }\n currentObj[steps.pop() as string] = value;\n return originalClonedObject;\n}\n","import tinycolor from 'tinycolor2';\nimport { TStateRetriever, TActionDefinition } from '../types';\nimport { getValueByPath } from '../util';\n\n/**\n * Este método acepta un objeto con backgroundColor y borderColor y aplica el\n * estado pasado como segundo parámetro de la siguiente manera:\n *\n * Si se pasa backgroundColor, se devuelve un backgroundColor y un color, que\n * corresponden al backgroundColor con el estado aplicado y un color calculado\n * con la función getContrastText.\n *\n * Si se pasa borderColor, se devuelve un nuevo borderColor calculado con el\n * estado aplicado.\n */\nconst getColorState: TStateRetriever = (definition, state, palette) => {\n if (state === 'default') return palette.buildColorsObject(definition);\n\n const opacity: number = palette.action[\n `${state}Opacity` as keyof TActionDefinition\n ] as number;\n\n const actualState = state === 'checked' ? 'selected' : state;\n\n // eslint-disable-next-line no-param-reassign\n definition = Object.fromEntries(\n Object.entries(definition).map(([name, value]) => {\n if (\n [\n 'backgroundColor',\n 'borderColor',\n 'borderLeftColor',\n 'borderRightColor',\n 'borderBottomColor',\n 'borderTopColor',\n 'color',\n ].includes(name) &&\n ((value ?? '') as string).startsWith('palette')\n )\n // eslint-disable-next-line no-param-reassign\n value = getValueByPath(\n palette,\n (value as string).slice('palette.'.length),\n ) as string;\n\n return [name, value];\n }),\n );\n\n const calculatedBackgroundColor = tinycolor\n .mix(\n (definition.backgroundColor ?? '') as string,\n tinycolor((definition.backgroundColor ?? '') as string).isLight()\n ? palette.action[actualState].light\n : palette.action[actualState].dark,\n 100 * opacity,\n )\n .toRgbString();\n\n return palette.buildColorsObject({\n ...(definition.backgroundColor\n ? {\n backgroundColor:\n state === 'checked'\n ? definition.backgroundColor ?? ''\n : calculatedBackgroundColor,\n color:\n state === 'checked'\n ? tinycolor\n .mix(\n tinycolor((definition.color ?? 'black') as string),\n tinycolor(palette.action.selected.dark),\n 100 * palette.action.selectedOpacity,\n )\n .toRgbString()\n : palette.getContrastText(calculatedBackgroundColor),\n }\n : null),\n ...(definition.borderColor\n ? {\n borderColor: tinycolor\n .mix(\n definition.borderColor as string,\n tinycolor(definition.borderColor as string).isLight()\n ? palette.action[actualState].light\n : palette.action[actualState].dark,\n 100 * opacity,\n )\n .toRgbString(),\n }\n : null),\n });\n};\nexport default getColorState;\n","import cloneDeep from 'lodash-es/cloneDeep';\nimport { ThemeUICSSObject } from 'theme-ui';\nimport { TStatesRetriever } from '../types';\nimport getColorState from './getColorState';\n\n/**\n * Este método está pensado para usarse únicamente dentro de applyStates, si se\n * desea obtener un objeto con las propiedades correspondientes a un estado,\n * utilizar el método getColorStates.\n */\nconst applyStatesGetColor: TStatesRetriever = (definition, palette, states) => {\n const newStates: ThemeUICSSObject =\n states?.default !== false\n ? cloneDeep(definition)\n : ({} as ThemeUICSSObject);\n\n if (states?.active !== false) {\n newStates.active = getColorState(definition, 'active', palette);\n }\n if (states?.disabled !== false) {\n newStates.disabled = getColorState(definition, 'disabled', palette);\n }\n if (states?.focus !== false) {\n newStates.focus = getColorState(definition, 'focus', palette);\n }\n if (states?.hover !== false) {\n newStates.hover = getColorState(definition, 'hover', palette);\n }\n if (states?.readonly !== false) {\n newStates.readonly = getColorState(definition, 'readonly', palette);\n }\n if (states?.selected !== false) {\n newStates.selected = getColorState(definition, 'selected', palette);\n }\n if (states?.checked !== false) {\n newStates.checked = getColorState(definition, 'checked', palette);\n }\n return newStates;\n};\n\nexport default applyStatesGetColor;\n","import merge from 'lodash-es/merge';\nimport { TColorDefinition, TGetColorStateDefinition, TStates } from '../types';\nimport applyStatesGetColor from './applyStatesGetColor';\nimport { Theme } from 'theme-ui';\n\n/**\n * Esta función está pensada para ser utilizada dentro del objeto colors del\n * tema. Aplica recursivamente los distintos estados a todos los elementos\n * contenidos dentro de los objetos pasados como parámetro en properties.\n *\n * Es posible elegir cuáles estados se aplican y cuáles no mediante el segundo\n * parámetro, que es un objeto cuyas propiedades serán tomadas en cuenta\n * únicamente cuando tienen valor false, en cuyo caso no se aplicará el estado\n * correspondiente.\n *\n * @param properties\n * @param states\n */\nexport default function applyStates(\n properties: Record<string, string | TGetColorStateDefinition>[],\n theme: Theme,\n states?: TStates,\n) {\n properties.forEach?.((def) => {\n Object.entries(def).forEach(([key, value]) => {\n if (typeof value === 'string') return;\n const definition = value as Required<TColorDefinition>;\n\n if (typeof definition !== 'string' && !definition.preventParse) {\n if (!definition.active) definition.active = {};\n if (!definition.checked) definition.checked = {};\n if (!definition.focus) definition.focus = {};\n if (!definition.disabled) definition.disabled = {};\n if (!definition.hover) definition.hover = {};\n if (!definition.selected) definition.selected = {};\n\n const newDefinition = applyStatesGetColor(\n definition,\n theme.palette,\n states,\n );\n // eslint-disable-next-line no-param-reassign\n def[key] = merge(newDefinition, definition);\n }\n });\n });\n}\n","import { ResponsiveStyleValue, Theme, ThemeUICSSObject } from 'theme-ui';\nimport { responsive } from '../../util';\nimport getColorsAndStatesByPath, {\n TGetColorsAndStatesOptions,\n} from './util/getColorsAndStatesByPath';\n\n/* eslint-disable @typescript-eslint/naming-convention */\nexport function isColorDefinition(\n value:\n | IColorDefinition\n | TColorModifier\n | Record<string, unknown>\n | string\n | number\n | TActionDefinition\n | TStatesRetriever\n | ((index: number) => ResponsiveStyleValue<number>)\n | typeof responsive,\n): value is IColorDefinition {\n return !!value && typeof value === 'object' && 'main' in value;\n}\n\nexport interface IColorDefinition {\n main: string;\n light?: string;\n dark?: string;\n contrastText?: string;\n}\n\nexport interface IActionOpacity {\n light: string;\n dark: string;\n}\n\nexport interface TStates {\n active?: boolean;\n checked?: boolean;\n default?: boolean;\n disabled?: boolean;\n focus?: boolean;\n hover?: boolean;\n readonly?: boolean;\n selected?: boolean;\n}\n\nexport type TGetColorStateDefinition = Pick<\n ThemeUICSSObject,\n | 'backgroundColor'\n | 'borderColor'\n | 'borderLeftColor'\n | 'borderRightColor'\n | 'borderBottomColor'\n | 'borderTopColor'\n | 'color'\n>;\n\nexport type TParsedPaletteColorStateRetriever = (\n color: string,\n state: keyof TStates,\n) => string;\n\nexport type TColorStateRetriever = (\n color: string,\n state: keyof TStates,\n palette: TParsedPalette,\n) => string;\n\nexport type TParsedPaletteStateRetriever = (\n definition: Partial<TGetColorStateDefinition>,\n state: keyof TStates,\n) => TGetColorStateDefinition;\n\nexport type TStateRetriever = (\n definition: Partial<TGetColorStateDefinition>,\n state: keyof TStates,\n palette: TParsedPalette,\n) => TGetColorStateDefinition;\n\nexport type TParsedPaletteStatesRetriever = (\n definition: Partial<TGetColorStateDefinition>,\n states?: TStates,\n) => ThemeUICSSObject;\n\nexport type TStatesRetriever = (\n definition: Partial<TGetColorStateDefinition>,\n palette: TParsedPalette,\n states?: TStates,\n) => ThemeUICSSObject;\n\nexport type TParsedPaletteStatesByDefinition = (\n definition: Partial<TGetColorStateDefinition>,\n options?: TGetColorsAndStatesOptions,\n) => ThemeUICSSObject;\n\nexport type TStatesByDefinition = (\n definition: Partial<TGetColorStateDefinition>,\n theme: Theme,\n options?: TGetColorsAndStatesOptions,\n) => ThemeUICSSObject;\n\nexport type TApplyStates = (\n properties: Record<\n string,\n TColorDefinition | string | Record<string, unknown>\n >[],\n theme: Theme,\n states?: TStates,\n) => void;\n\nexport interface TActionDefinition<\n OpacityColor = undefined | string | IActionOpacity,\n> {\n active: OpacityColor;\n activeOpacity: number;\n disabled: OpacityColor;\n disabledOpacity: number;\n focus: OpacityColor;\n focusOpacity: number;\n hover: OpacityColor;\n hoverOpacity: number;\n readonly: OpacityColor;\n readonlyOpacity: number;\n selected: OpacityColor;\n selectedOpacity: number;\n}\n\nexport type TColorModifier = (color: string, ratio?: number) => string;\nexport interface TPalette<\n ColorDefinition = IColorDefinition,\n ColorModifier = TColorModifier,\n ActionDefinition = TActionDefinition,\n> {\n action: ActionDefinition;\n background: {\n default: string;\n overlay: string;\n paper: string;\n };\n border: {\n article: string;\n field: string;\n ghost: string;\n section: string;\n };\n common: {\n white: string;\n black: string;\n };\n error: ColorDefinition;\n gray?: {\n 100: string;\n 150: string;\n 200: string;\n 250: string;\n 300: string;\n 350: string;\n 400: string;\n 450: string;\n 500: string;\n 550: string;\n 600: string;\n 650: string;\n 700: string;\n 750: string;\n 800: string;\n 850: string;\n 900: string;\n 950: string;\n };\n info: ColorDefinition;\n primary: ColorDefinition;\n secondary: ColorDefinition;\n spacing: (index: number) => ResponsiveStyleValue<number>;\n success: ColorDefinition;\n text: {\n accent: string;\n disabled: string;\n icon: string;\n link: string;\n primary: string;\n secondary: string;\n title: string;\n };\n warning: ColorDefinition;\n\n lightenRatio?: number;\n darkenRatio?: number;\n /**\n * Acepta un ratio entre 0 y 100\n */\n lightenColor?: ColorModifier;\n /**\n * Acepta un ratio entre 0 y 100\n */\n darkenColor?: ColorModifier;\n getContrastText?: ColorModifier;\n responsive: typeof responsive;\n\n queryColumnsMultiplier?: number;\n}\n\nexport type TBuildStateObject = <T extends Partial<ThemeUICSSObject>>(\n props: T,\n state: keyof Required<TStates> | 'checked',\n) => ThemeUICSSObject;\n\nexport type TBuildColorsObject = (\n definition: Partial<TGetColorStateDefinition>,\n) => TGetColorStateDefinition;\n\nexport type TParsedPalette = Required<\n TPalette<\n Required<IColorDefinition>,\n TColorModifier,\n Required<TActionDefinition<IActionOpacity>>\n >\n> & {\n applyStates: TApplyStates;\n buildColorsObject: TBuildColorsObject;\n buildStateObject: TBuildStateObject;\n getColor: TParsedPaletteColorStateRetriever;\n getColorStates: TParsedPaletteStatesRetriever;\n getOneState: TParsedPaletteStateRetriever;\n getStatesForColors: TParsedPaletteStatesRetriever;\n getStatesFromDefinition: TParsedPaletteStatesByDefinition;\n getStatesFromPath: typeof getColorsAndStatesByPath;\n getSelectedColors: () => ThemeUICSSObject;\n getColorsByPath: (\n path: string,\n options?: {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n mergeObject?: Record<string, any>;\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ) => TGetColorStateDefinition & Record<string, any>;\n};\n\nexport type TCustomPalette = Partial<TPalette> &\n Partial<\n Pick<\n TParsedPalette,\n | 'applyStates'\n | 'buildColorsObject'\n | 'buildStateObject'\n | 'getColor'\n | 'getColorStates'\n | 'getSelectedColors'\n | 'getContrastText'\n | 'getOneState'\n | 'getStatesForColors'\n | 'getStatesFromDefinition'\n | 'getStatesFromPath'\n >\n >;\n\nexport type TColorDefinitionPrimitive = Pick<\n ThemeUICSSObject,\n 'color' | 'backgroundColor' | 'borderColor'\n>;\n\nexport type TColorDefinition = TColorDefinitionPrimitive & {\n active?: TColorDefinitionPrimitive;\n checked?: TColorDefinitionPrimitive;\n disabled?: TColorDefinitionPrimitive;\n focus?: TColorDefinitionPrimitive;\n hover?: TColorDefinitionPrimitive;\n preventParse?: boolean;\n selected?: TColorDefinitionPrimitive;\n};\n\ndeclare global {\n interface Window {\n currentPalette: TParsedPalette;\n customPalettes?: TPalette[];\n defaultPalette?: TPalette;\n }\n}\n\nexport type TThemeModifier = (theme: Theme) => Theme;\n","import { responsive } from '../../util';\nimport { TPalette } from './types';\n\nconst actions = { dark: '#cce5ff', light: '#557' };\nconst spacingArray = Array(50)\n .fill(1)\n .map((_, i) => {\n return responsive<number>({\n 0: Math.ceil(i / 2.5),\n 1: Math.ceil(i / 2.1),\n 2: Math.ceil(i / 1.7),\n 3: Math.ceil(i / 1.3),\n 4: i,\n });\n });\n\nconst defaultPalette: TPalette = {\n action: {\n disabled: '#d9d9d9',\n disabledOpacity: 1,\n active: actions,\n activeOpacity: 0.45,\n focus: actions,\n focusOpacity: 0.05,\n hover: actions,\n hoverOpacity: 0.1,\n readonly: actions,\n readonlyOpacity: 0.4,\n selected: 'rgb(204 214 222)',\n selectedOpacity: 1,\n },\n background: {\n default: '#f4f4f4',\n overlay: 'rgba(0, 0, 0, 0.2)',\n paper: 'white',\n },\n border: {\n article: '#cacaca',\n field: '#444',\n ghost: '#f5f5f5',\n section: '#aaa',\n },\n common: {\n black: 'black',\n white: 'white',\n },\n info: {\n main: '#fff',\n },\n primary: {\n main: '#00496c',\n },\n secondary: {\n light: '#fcfcfc',\n main: '#6c757d',\n },\n spacing: (index: number) => {\n return spacingArray[index];\n },\n text: {\n accent: '#609',\n disabled: '#555',\n icon: 'white',\n link: '#00496c',\n primary: '#4a4a4a',\n secondary: 'white',\n title: '#00496c',\n },\n error: {\n main: 'rgb(187,12,15)',\n light: '#fff2f4',\n },\n success: {\n main: '#8bde8b',\n light: '#e7ffd9',\n },\n warning: {\n main: '#f8f588',\n light: '#fffdd9',\n },\n darkenRatio: 15,\n lightenRatio: 35,\n responsive,\n queryColumnsMultiplier: 2,\n};\nexport default defaultPalette;\n","import { ResponsiveStyleValue, ThemeUICSSObject } from 'theme-ui';\nimport defaultPalette from './base/colors/defaultPalette';\n\n/**\n * Esta función devuelve un array de valores para los distintos breakpoints.\n *\n * **Importante** Debido a un issue con ThemeUI, es necesario agregar un\n * breakpoint inicial de 0px para las vistas de impresión. El comportamiento por\n * defecto será, si se pasa un valor para el índice 4, esta será tomada como\n * vista de impresión, sino se tomará el valor de mayor índice menor que 4.\n *\n * @example\n *\n * display: responsive({0: 'none', 3: 'block'}) // display: ['block', 'none', null, null, 'block'];\n */\n\nexport function responsive<T>(values: {\n print?: T;\n [key: number]: undefined | T;\n}): ResponsiveStyleValue<T> {\n const returnArray = [];\n const max = 6;\n for (let i = 0; i <= max; i++) returnArray[i + 1] = values[i] ?? null;\n\n if (values.print) returnArray[0] = values.print;\n else {\n for (let i = 5; i >= 0; i--) {\n if (values[i] !== undefined) returnArray[0] = values[i];\n }\n }\n\n return returnArray;\n}\n\n/**\n * Este método permite aplicar espacios (gaps, márgenes y paddings) que se\n * tendrán un comportamiento responsivo por defecto. Esto es, cuando tenemos un\n * padding en una vista de escritorio, probablemente sea demasiado grande al\n * llevarlo a celular. Con esta función se elimina el problema de calcular para\n * cada elemento en forma individual y el problema se convierte en encontrar\n * una única fórmula que quede correcta para todos los breakpoints.\n *\n * @example\n *\n * '.wellPaddedElement': {\n * p: spacing(6),\n * pt: spacing(8)\n * }\n */\nexport function spacing(index: number): ResponsiveStyleValue<number> {\n return defaultPalette.spacing(index) ?? index;\n}\n\nexport const smallButton = {\n py: 2,\n px: 4,\n fontSize: '0.9em',\n};\n\nexport const focusOutline: ThemeUICSSObject = {\n outlineColor: 'outlineColor',\n outlineWidth: '3px',\n outlineStyle: 'solid',\n outlineOffset: '-3px',\n};\n","import merge from 'lodash-es/merge';\nimport { ThemeUICSSObject } from 'theme-ui';\nimport { focusOutline } from '../../../util';\nimport { TBuildStateObject } from '../types';\n\n/**\n * Dado un estado, se devuelven las propiedades necesarias para garantizar que\n * dicho estado se aplique en variadas circunstancias.\n */\nconst buildStateObject: TBuildStateObject = (props, state) => {\n switch (state) {\n case 'active':\n return {\n '&:active': props,\n 'input[role]:active ~ &': props,\n 'input[role]:active ~ & path': props,\n };\n case 'checked':\n return {\n '&:checked': props,\n 'input[role]:checked ~ &': props,\n 'input[role]:checked ~ & path': props,\n };\n case 'disabled':\n return {\n '&:disabled': props,\n 'input[role]:disabled ~ &': props,\n 'input[role]:disabled ~ & path': props,\n };\n case 'focus': {\n const focusObject = merge({}, focusOutline, props);\n return {\n '&:focus': focusObject,\n 'input[role]:focus ~ &': focusObject,\n };\n }\n case 'hover': {\n return {\n '&:hover:not([readonly], :disabled,[aria-selected=\"true\"],:active)':\n props,\n 'input[role]:hover:not([readonly], :active, :disabled) ~ &:not(:disabled,[aria-selected=\"true\"])':\n props,\n 'input[role]:hover:not([readonly], :active, :disabled) ~ &:not(:disabled,[aria-selected=\"true\"]) path':\n props,\n };\n }\n case 'readonly':\n return {\n '&[readonly]': props,\n 'input[role][readonly] ~ &': props,\n 'input[role][readonly] ~ & path': props,\n '&.readonly input ~ &, &.readOnly input ~ &': props,\n '&.readonly input ~ & path, &.readOnly input ~ & path': props,\n '&.readonly, &.readOnly': props,\n };\n case 'selected':\n return {\n '&:selected': props,\n 'input[role]:selected ~ &': props,\n 'input[role]:selected ~ & path': props,\n '&[aria-selected=\"true\"]': props,\n };\n default:\n return props as unknown as ThemeUICSSObject;\n }\n};\nexport default buildStateObject;\n","import { TGetColorStateDefinition } from '../types';\n\n/**\n * Básicamente agrega la definición de borderLeftColor, borderRightColor, etc.\n */\nfunction buildColorsObject(definition: Partial<TGetColorStateDefinition>) {\n return {\n ...definition,\n ...(definition.borderColor\n ? {\n borderLeftColor: definition.borderColor,\n borderRightColor: definition.borderColor,\n borderBottomColor: definition.borderColor,\n borderTopColor: definition.borderColor,\n }\n : undefined),\n } as TGetColorStateDefinition;\n}\n\nexport default buildColorsObject;\n","import merge from 'lodash-es/merge';\nimport buildColorsObject from './buildColorsObject';\n\n/**\n * Esta función NO CALCULA ningún color, simplemente devuelve un objeto con las\n * rutas de color con el formato de ThemeUI. Es útil cuando se desea aplicar\n * colores definidos en el objeto colors.\n *\n * Si se desea generar un objeto con los colores a partir de una definición de\n * colores del tipo TGetColorStateDefinition se debe utilizar el método\n * getColorsByDefinition.\n */\nexport default function getColorsByPath(\n path: string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n options?: { mergeObject?: Record<string, any> },\n) {\n return merge(\n buildColorsObject({\n color: `${path}.color`,\n backgroundColor: `${path}.backgroundColor`,\n borderColor: `${path}.borderColor`,\n }),\n options?.mergeObject,\n );\n}\n","import { ThemeUICSSObject } from 'theme-ui';\nimport merge from 'lodash-es/merge';\nimport buildStateObject from './buildStateObject';\nimport getColorsByPath from './getColorsByPath';\n// import buildColorsObject from './buildColorsObject';\n// import getColorState from './getColorState';\n\nexport interface TGetColorsAndStatesOptions {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n mergeObject?: Record<string, any>;\n states?: {\n active?: boolean;\n checked?: boolean;\n default?: boolean;\n disabled?: boolean;\n focus?: boolean;\n hover?: boolean;\n readonly?: boolean;\n path?: boolean;\n selected?: boolean;\n };\n}\n\n/**\n * Esta función es útil para devolver los estados calculados por la aplicación\n * dentro del objeto colors de ThemeUI. Si se desea calcular los estados en\n * base a un color, se debe utilizar el método getColorsAndStatesByColor.\n */\nexport default function getColorsAndStatesByPath(\n incomingPath: string,\n options?: TGetColorsAndStatesOptions,\n) {\n const active = getColorsByPath(`${incomingPath}.active`, options);\n const checked = getColorsByPath(`${incomingPath}.checked`, options);\n const disabled = {\n cursor: 'not-allowed',\n ...getColorsByPath(`${incomingPath}.disabled`, options),\n };\n const hover = getColorsByPath(`${incomingPath}.hover`, options);\n const focus =\n options?.states?.focus !== false\n ? getColorsByPath(`${incomingPath}.focus`, options)\n : {};\n const readonly = {\n cursor: 'notAllowed',\n ...getColorsByPath(`${incomingPath}.readonly`, options),\n };\n const selected = getColorsByPath(`${incomingPath}.selected`, options);\n\n return merge(\n {\n ...(options?.states?.default !== false\n ? getColorsByPath(incomingPath, options)\n : null),\n ...(options?.states?.checked !== false\n ? buildStateObject(checked, 'checked')\n : null),\n ...buildStateObject(focus, 'focus'),\n ...(options?.states?.hover !== false\n ? buildStateObject(hover, 'hover')\n : null),\n ...(options?.states?.selected !== false\n ? buildStateObject(selected, 'selected')\n : null),\n ...(options?.states?.active !== false\n ? buildStateObject(active, 'active')\n : null),\n ...(options?.states?.disabled !== false\n ? buildStateObject(disabled, 'disabled')\n : null),\n ...(options?.states?.readonly !== false\n ? buildStateObject(readonly, 'readonly')\n : null),\n ...(options?.states?.path !== false\n ? { path: { fill: `currentColor` } }\n : null),\n },\n options?.mergeObject,\n ) as Record<string, ThemeUICSSObject>;\n}\n","import { TStatesRetriever } from '../types';\nimport buildStateObject from './buildStateObject';\nimport getColorState from './getColorState';\n\n/**\n * Con este método es posible construir un objeto con las propiedades\n * necesarias para aplicar los colores correspondientes a los estados deseados\n * a partir de la definición provista.\n */\nconst getColorStates: TStatesRetriever = (definition, palette, states) => {\n return {\n ...(states?.default !== false ? definition : null),\n ...(states?.checked !== false\n ? buildStateObject(\n getColorState(definition, 'checked', palette),\n 'checked',\n )\n : null),\n ...buildStateObject(getColorState(definition, 'focus', palette), 'focus'),\n ...(states?.selected !== false\n ? buildStateObject(\n getColorState(definition, 'selected', palette),\n 'selected',\n )\n : null),\n ...(states?.hover !== false\n ? buildStateObject(getColorState(definition, 'hover', palette), 'hover')\n : null),\n ...(states?.active !== false\n ? buildStateObject(getColorState(definition, 'active', palette), 'active')\n : null),\n ...(states?.disabled !== false\n ? buildStateObject(\n getColorState(definition, 'disabled', palette),\n 'disabled',\n )\n : null),\n ...(states?.readonly !== false\n ? buildStateObject(\n getColorState(definition, 'readonly', palette),\n 'readonly',\n )\n : null),\n };\n};\n\nexport default getColorStates;\n","import tinycolor from 'tinycolor2';\n\nimport { TColorStateRetriever, TActionDefinition } from '../types';\n\n/**\n\n * Este método acepta un color y aplica el estado pasado como segundo\n\n * parámetro. De esta forma se puede obtener el color correspondiente al estado\n\n * calculado automáticamente por la aplicación.\n\n */\n\nconst getOneColorState: TColorStateRetriever = (color, state, palette) => {\n if (typeof color !== 'string') return '';\n if (state === 'default') return color;\n\n const actualState = state === 'checked' ? 'selected' : state;\n\n const opacity: number = palette.action[\n `${state}Opacity` as keyof TActionDefinition\n ] as number;\n\n return tinycolor\n\n .mix(\n color,\n\n tinycolor(color).isLight()\n ? palette.action[actualState].light\n : palette.action[actualState].dark,\n\n 100 * opacity,\n )\n\n .toRgbString();\n};\n\nexport default getOneColorState;\n","import merge from 'lodash-es/merge';\nimport { TGetColorStateDefinition } from '../types';\nimport buildColorsObject from './buildColorsObject';\n\n/**\n * Esta función arma un objeto con los colores que se deben aplicar para\n * garantizar que el resultado sea el esperado, por ejemplo, al aplicar un\n * color a un border. Esto es así ya que en ThemeUI hay situaciones en las que\n * si no se aplican el color de borde a cada uno de los lados, no se aplica el\n * color deseado.\n *\n * Ejemplo de lo antedicho es:\n *\n * borderRight: '1px solid',\n * borderColor: 'red'.\n *\n * En este caso, el borde derecho no será rojo como se espera, ya que la\n * propiedad borderRight aplicará un borderRightColor: 'initial', que solamente\n * puede ser reescrito por borderRightColor: 'red'.\n */\nexport default function getColorsByDefinition(\n definition: Partial<TGetColorStateDefinition>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n options?: { mergeObject?: Record<string, any> },\n) {\n return merge(\n buildColorsObject({\n ...(definition.color ? { color: definition.color } : null),\n ...(definition.backgroundColor\n ? { backgroundColor: definition.backgroundColor }\n : null),\n ...(definition.borderColor\n ? {\n borderColor: definition.borderColor,\n }\n : null),\n }),\n options?.mergeObject,\n );\n}\n","import merge from 'lodash-es/merge';\nimport { ThemeUICSSObject } from 'theme-ui';\nimport { TGetColorStateDefinition, TParsedPalette } from '../types';\nimport buildStateObject from './buildStateObject';\nimport { TGetColorsAndStatesOptions } from './getColorsAndStatesByPath';\nimport getColorsByDefinition from './getColorsByDefinition';\nimport getColorState from './getColorState';\n\n/**\n * Esta función calcula los colores de los estados a partir de la definición\n * pasada.\n */\nexport default function getColorsAndStatesByDefinition(\n definition: Partial<TGetColorStateDefinition>,\n\n palette: TParsedPalette,\n options?: TGetColorsAndStatesOptions,\n) {\n const active = getColorState(definition, 'active', palette);\n const checked = getColorState(definition, 'checked', palette);\n const disabled = getColorState(definition, 'disabled', palette);\n const focus = options?.states?.focus\n ? getColorState(definition, 'focus', palette)\n : {};\n const hover = getColorState(definition, 'hover', palette);\n const readonly = getColorState(definition, 'readonly', palette);\n const selected = getColorState(definition, 'selected', palette);\n\n return merge(\n options?.states?.default !== false\n ? getColorsByDefinition(definition)\n : null,\n options?.states?.checked !== false\n ? buildStateObject(checked, 'checked')\n : {},\n options?.states?.focus !== false ? buildStateObject(focus, 'focus') : {},\n options?.states?.hover !== false ? buildStateObject(hover, 'hover') : {},\n options?.states?.active !== false ? buildStateObject(active, 'active') : {},\n options?.states?.selected !== false\n ? buildStateObject(selected, 'selected')\n : {},\n options?.states?.disabled !== false\n ? buildStateObject(disabled, 'disabled')\n : {},\n options?.states?.readonly !== false\n ? buildStateObject(readonly, 'readonly')\n : {},\n options?.mergeObject,\n ) as ThemeUICSSObject;\n}\n","/* eslint-disable @typescript-eslint/no-unsafe-argument */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport cloneDeep from 'lodash-es/cloneDeep';\nimport {\n TParsedPalette,\n isColorDefinition,\n IActionOpacity,\n IColorDefinition,\n TCustomPalette,\n} from '../types';\nimport { defaultLighten, defaultDarken, defaultGetContrastText } from '../util';\nimport applyStatesGetColor from './applyStatesGetColor';\nimport buildStateObject from './buildStateObject';\nimport getColorsAndStatesByPath from './getColorsAndStatesByPath';\nimport getColorState from './getColorState';\nimport getColorStates from './getColorStates';\nimport getOneColorState from './getOneColorState';\nimport buildColorsObject from './buildColorsObject';\nimport applyStates from './applyStates';\nimport getColorsAndStatesByDefinition from './getColorsAndStatesByDefinition';\nimport { getSelectedColors } from '..';\nimport getColorsByPath from './getColorsByPath';\n\nfunction paletteFunction(callback: (...args: any[]) => unknown): any {\n return (...args: any[]) => {\n const firstParameter = args[0];\n let isFirstParameterATheme = false;\n\n const themeProps = [\n 'fontSizes',\n 'breakpoints',\n 'fonts',\n 'lineHeights',\n 'letterSpacings',\n 'radii',\n 'zIndices',\n 'useRootStyles',\n ];\n /**\n * In this block, I must decide if the first argument is a theme or\n * not\n */\n if (firstParameter instanceof Object && firstParameter !== null) {\n const firstParameterKeys = Object.keys(firstParameter);\n for (const key of firstParameterKeys) {\n if (themeProps.includes(key)) {\n isFirstParameterATheme = true;\n break;\n }\n }\n }\n\n if (isFirstParameterATheme) {\n /** Do nothing */\n } else {\n return callback(...args);\n }\n };\n}\n\nexport default function parsePalette(palette: TCustomPalette) {\n const newPalette: TParsedPalette = cloneDeep(palette) as TParsedPalette;\n\n // Put methods\n newPalette.lightenColor = paletteFunction(\n palette.lightenColor ??\n ((color: string, ratio?: number) => {\n return defaultLighten(color, ratio ?? palette.lightenRatio);\n }),\n );\n newPalette.darkenColor = paletteFunction(\n palette.darkenColor ??\n ((color: string, ratio?: number) => {\n return defaultDarken(color, ratio ?? palette.darkenRatio);\n }),\n );\n newPalette.getContrastText = paletteFunction(\n palette.getContrastText ?? defaultGetContrastText,\n );\n\n // Fill colors\n Object.entries(palette).forEach(([key, value]) => {\n const castedValue = value as string | number | IColorDefinition;\n if (isColorDefinition(castedValue)) {\n (newPalette as Record<string, unknown>)[key] = {\n main: castedValue.main,\n light: castedValue.light ?? newPalette.lightenColor(castedValue.main),\n dark: castedValue.dark ?? newPalette.darkenColor(castedValue.main),\n contrastText:\n castedValue.contrastText ??\n newPalette.getContrastText(castedValue.main),\n };\n } else {\n (newPalette as Record<string, unknown>)[key] = value;\n }\n });\n\n // Draw borders\n newPalette.border.article =\n newPalette.border.article ?? newPalette.secondary.main;\n newPalette.border.field = newPalette.border.field ?? newPalette.text.primary;\n newPalette.border.section =\n newPalette.border.section ?? newPalette.primary.main;\n\n // Define actions\n function parseAction(action: string | IActionOpacity): IActionOpacity {\n if (typeof action === 'string')\n return {\n dark: action,\n light: action,\n };\n return {\n dark: action.dark ?? action.light,\n light: action.light ?? action.dark,\n };\n }\n\n newPalette.action.active = parseAction(newPalette.action.active);\n newPalette.action.disabled = parseAction(newPalette.action.disabled);\n newPalette.action.focus = parseAction(newPalette.action.focus);\n newPalette.action.hover = parseAction(newPalette.action.hover);\n newPalette.action.readonly = parseAction(newPalette.action.readonly);\n newPalette.action.selected = parseAction(newPalette.action.selected);\n\n newPalette.gray = newPalette.gray ?? {};\n for (let i = 1; i <= 18; i++) {\n const index = Math.round(((255 - 255 / 18) / 18) * i);\n newPalette.gray[(i * 50) as keyof typeof newPalette.gray] =\n newPalette.gray[(i * 50) as keyof typeof newPalette.gray] ??\n `rgb(${index},${index},${index})`;\n }\n\n newPalette.applyStates = paletteFunction(applyStates);\n newPalette.buildColorsObject = paletteFunction(buildColorsObject);\n newPalette.buildStateObject = paletteFunction(buildStateObject);\n newPalette.getColor = paletteFunction((color, state) =>\n getOneColorState(color, state, newPalette),\n );\n newPalette.getStatesForColors = paletteFunction((definition, states) =>\n applyStatesGetColor(definition, newPalette, states),\n );\n newPalette.getOneState = paletteFunction((definition, state) =>\n getColorState(definition, state, newPalette),\n );\n newPalette.getColorStates = paletteFunction((definition, state) =>\n getColorStates(definition, newPalette, state),\n );\n newPalette.getStatesFromDefinition = paletteFunction((definition, states) =>\n getColorsAndStatesByDefinition(definition, newPalette, states),\n );\n newPalette.getStatesFromPath = paletteFunction(getColorsAndStatesByPath);\n newPalette.getSelectedColors = paletteFunction(() =>\n getSelectedColors(newPalette),\n );\n newPalette.getColorsByPath = paletteFunction(getColorsByPath);\n return newPalette;\n}\n","export const schemas: Record<string, string[]> = {\n ocean: ['#008E1B', '#009155', '#009187', '#008EB1', '#006872', '#2F4858'],\n sunset: ['#ae76de', '#D65DB1', '#FF6F91', '#FF9671', '#FFC75F', '#F9F871'],\n red: ['#dc143c', '#ff2400', '#800020', '#b22222', '#e52b50', '#ff7f50'],\n orange: ['#F76E11', '#FF9F45', '#FFBC80', '#FC4F4F', '#eb9605', '#964000'],\n green: ['#a4de02', '#76ba1b', '#4c9a2a', '#acdf87', '#68bb59', '#1e5631'],\n blue: ['#00496C', '#45bdee', '#28a7ea', '#006cbb', '#034698', '#032f64'],\n violet: ['#80007e', '#a02d9c', '#c37ecd', '#9e5fb8', '#7f3e98', '#4c197f'],\n turquoise: ['#0ddbcc', '#43ebff', '#19ceeb', '#28acea', '#388ee9', '#3d76e0'],\n yellow: ['#fff700', '#ffff9f', '#fef54f', '#f9e231', '#f6c616', '#eab200'],\n grey: ['#b1b5ba', '#d2d5d6', '#dee0e0', '#bdbdbb', '#9fa19c', '#686e67'],\n};\n","import { Theme } from 'theme-ui';\nimport { TGetColorStateDefinition } from './types';\nimport tinycolor from 'tinycolor2';\n\nconst components: (\n theme: Theme,\n) => Record<string, Record<string, string | TGetColorStateDefinition>> = (\n theme: Theme,\n) => {\n const palette = theme.palette;\n\n return {\n datagrid: {\n borderColor: palette.background.default,\n header: {\n backgroundColor: palette.background.default,\n color: palette.text.primary,\n borderColor: palette.background.default,\n },\n body: {\n preventParse: true,\n backgroundColor: palette.background.paper,\n evenRowsBackgroundColor: palette.darkenColor(\n palette.background.paper,\n 3,\n ),\n color: palette.text.primary,\n borderColor: palette.gray['800'],\n\n selectedRows: {\n borderColor: palette.gray['800'],\n backgroundColor: palette.getOneState(\n { backgroundColor: palette.background.paper },\n 'selected',\n ).backgroundColor,\n color: palette.getContrastText(\n palette.getOneState(\n { backgroundColor: palette.background.paper },\n 'selected',\n ).backgroundColor as string,\n ),\n },\n },\n },\n paginationPrimary: {\n backgroundColor: palette.primary.main,\n icons: {\n backgroundColor: palette.primary.main,\n borderColor: palette.primary.main,\n color: palette.primary.contrastText,\n },\n pagesBox: {\n preventParse: true,\n backgroundColor: palette.background.paper,\n borderColor: palette.border.field,\n color: palette.text.primary,\n },\n },\n paginationSecondary: {\n backgroundColor: palette.background.default,\n icons: {\n backgroundColor: palette.background.default,\n borderColor: palette.background.default,\n color: palette.text.primary,\n },\n pagesBox: {\n preventParse: true,\n backgroundColor: palette.background.paper,\n borderColor: palette.border.field,\n color: palette.text.primary,\n },\n },\n paginationDatagrid: {\n backgroundColor: palette.background.default,\n icons: {\n backgroundColor: palette.background.default,\n borderColor: palette.background.default,\n color: palette.text.primary,\n },\n pagesBox: {\n preventParse: true,\n backgroundColor: palette.background.paper,\n borderColor: palette.border.field,\n color: palette.text.primary,\n },\n },\n primaryTable: {\n borderColor: palette.background.paper,\n header: {\n backgroundColor: palette.primary.main,\n color: palette.text.secondary,\n borderColor: palette.primary.main,\n },\n body: {\n preventParse: true,\n backgroundColor: palette.background.paper,\n evenRowsBackgroundColor: palette.darkenColor(\n palette.background.paper,\n 3,\n ),\n color: palette.text.primary,\n borderColor: palette.gray['800'],\n selectedRows: {\n borderColor: palette.gray['800'],\n backgroundColor: palette.getOneState(\n { backgroundColor: palette.background.paper },\n 'selected',\n ).backgroundColor,\n color: palette.getContrastText(\n palette.getOneState(\n { backgroundColor: palette.background.paper },\n 'selected',\n ).backgroundColor as string,\n ),\n },\n },\n },\n cleanTable: {\n borderColor: palette.background.paper,\n header: {\n backgroundColor: palette.background.paper,\n color: palette.text.primary,\n borderColor: palette.primary.main,\n },\n body: {\n preventParse: true,\n\n backgroundColor: palette.background.paper,\n borderColor: palette.border.ghost,\n color: palette.text.primary,\n\n evenRowsBackgroundColor: palette.background.paper,\n additionalInfoButton: {\n backgroundColor: palette.secondary.light,\n color: '#4e4e4e',\n borderColor: 'transparent',\n },\n selectedRows: {\n borderColor: palette.gray['800'],\n backgroundColor: palette.getOneState(\n { backgroundColor: palette.background.paper },\n 'selected',\n ).backgroundColor,\n color: palette.getContrastText(\n palette.getOneState(\n { backgroundColor: palette.background.paper },\n 'selected',\n ).backgroundColor as string,\n ),\n },\n },\n },\n secondaryTable: {\n borderColor: palette.background.paper,\n header: {\n backgroundColor: palette.background.default,\n color: palette.text.primary,\n borderColor: palette.background.default,\n },\n body: {\n preventParse: true,\n backgroundColor: palette.background.paper,\n evenRowsBackgroundColor: palette.darkenColor(\n palette.background.paper,\n 3,\n ),\n color: palette.text.primary,\n borderColor: palette.gray['800'],\n\n selectedRows: {\n borderColor: palette.gray['800'],\n backgroundColor: palette.getOneState(\n { backgroundColor: palette.background.paper },\n 'selected',\n ).backgroundColor,\n color: palette.getContrastText(\n palette.getOneState(\n { backgroundColor: palette.background.paper },\n 'selected',\n ).backgroundColor as string,\n ),\n },\n },\n },\n /**\n * Paneles de dashboards\n */\n panel: {\n header: {\n color: '', //components.panel.header.color\n backgroundColor: '',\n borderColor: '',\n },\n content: {\n color: '',\n backgroundColor: '',\n borderColor: '',\n },\n footer: {\n color: '',\n backgroundColor: '',\n borderColor: '',\n },\n },\n desktop: {\n windowHeader: tinycolor(theme.palette.primary.main)\n .setAlpha(0.8)\n .toRgbString(),\n },\n };\n};\n\nexport default components;\n","import tinycolor from 'tinycolor2';\nimport { TGetColorStateDefinition, TParsedPalette } from './types';\nimport applyStates from './util/applyStates';\nimport applyStatesGetColor from './util/applyStatesGetColor';\nimport parsePalette from './util/parsePalette';\nimport { schemas } from './schemas';\nimport components from './components';\nimport { ColorModesScale, Theme } from '@theme-ui/css';\nimport merge from 'lodash-es/merge';\n\n// Colors\nconst white = 'white';\nexport { parsePalette };\nexport function getSelectedColors(palette: TParsedPalette) {\n return palette.getColorStates(\n {\n backgroundColor: palette.background.paper,\n color: palette.text.primary,\n },\n {\n active: false,\n checked: false,\n default: false,\n disabled: false,\n focus: false,\n readonly: false,\n },\n );\n}\n\nexport function getThemeColorsObject(theme: Theme): ColorModesScale {\n const colors = merge(\n {},\n {\n palette: {\n ...theme.palette,\n lightenColor: undefined,\n darkenColor: undefined,\n getContrastText: undefined,\n\n buildStateObject: undefined,\n getColor: undefined,\n getOneState: undefined,\n getStatesForColors: undefined,\n getStatesFromDefinition: undefined,\n getStatesFromPath: undefined,\n },\n accordion: {\n borderColor: theme.palette.border.section,\n },\n buttons: {\n accordion: {\n backgroundColor: theme.palette.primary.main,\n borderColor: theme.palette.border.section,\n color: theme.palette.primary.contrastText,\n },\n accordionPrimary: {\n backgroundColor: theme.palette.primary.main,\n borderColor: theme.palette.border.section,\n color: theme.palette.primary.contrastText,\n },\n close: {\n ...applyStatesGetColor(\n {\n color: theme.palette.text.primary,\n backgroundColor: theme.palette.background.paper,\n },\n theme.palette,\n ),\n backgroundColor: 'transparent',\n },\n collapsibleAsidePanelTitle: {\n color: theme.palette.text.primary,\n },\n deletableInputButton: {\n ...applyStatesGetColor(\n {\n backgroundColor: 'transparent',\n color: theme.palette.secondary.main,\n },\n theme.palette,\n ),\n\n active: {\n color: theme.palette.darkenColor(theme.palette.secondary.main, 40),\n },\n disabled: {\n color: theme.palette.secondary.main,\n },\n focus: {\n color: theme.palette.darkenColor(theme.palette.secondary.main, 20),\n },\n hover: {\n color: theme.palette.darkenColor(theme.palette.secondary.main, 20),\n },\n },\n icon: {\n backgroundColor: theme.palette.secondary.main,\n color: theme.palette.text.icon,\n\n hover: {\n color: theme.palette.secondary.contrastText,\n },\n\n focus: {\n color: theme.palette.secondary.contrastText,\n },\n },\n iconAlert: {\n backgroundColor: 'transparent',\n color: theme.palette.text.icon,\n\n active: {\n backgroundColor: 'transparent',\n color: tinycolor('#e5c200').darken(10).toRgbString(),\n },\n\n focus: {\n backgroundColor: 'transparent',\n color: tinycolor('#e5c200').darken(5).toRgbString(),\n },\n\n hover: {\n backgroundColor: 'transparent',\n color: tinycolor('#e5c200').darken(5).toRgbString(),\n },\n },\n iconPrimary: {\n backgroundColor: theme.palette.primary.main,\n color: theme.palette.primary.contrastText,\n\n active: {\n color: theme.palette.primary.contrastText,\n },\n\n focus: {\n color: theme.palette.primary.contrastText,\n },\n\n hover: {\n color: theme.palette.primary.contrastText,\n },\n\n disabled: {\n color: theme.palette.gray['500'],\n },\n },\n iconToggled: {\n backgroundColor: theme.palette.primary.main,\n color: theme.palette.primary.contrastText,\n\n active: {\n color: theme.palette.primary.contrastText,\n },\n\n focus: {\n color: theme.palette.common.white,\n },\n\n hover: {\n color: theme.palette.common.white,\n },\n },\n iconOutline: {\n backgroundColor: theme.palette.background.paper,\n color: theme.palette.primary.main,\n borderColor: theme.palette.border.article,\n },\n iconOnly: {\n backgroundColor: 'transparent',\n color: theme.palette.primary.main,\n borderColor: theme.palette.background.paper,\n hover: {\n color: theme.palette.primary.main,\n backgroundColor: theme.palette.background.paper,\n },\n active: {\n color: theme.palette.primary.main,\n backgroundColor: theme.palette.background.paper,\n },\n focus: {\n color: theme.palette.primary.main,\n backgroundColor: theme.palette.background.paper,\n },\n },\n imagePreview: {\n backgroundColor: theme.palette.background.paper,\n color: theme.palette.text.primary,\n borderColor: theme.palette.border.article,\n },\n link: {\n backgroundColor: 'transparent',\n color: theme.palette.text.primary,\n borderColor: 'transparent',\n\n active: {\n color: theme.palette.text.primary,\n },\n\n focus: {\n color: theme.palette.text.primary,\n },\n\n hover: {\n color: theme.palette.text.primary,\n },\n },\n openTab: {\n backgroundColor: theme.palette.primary.main,\n color: theme.palette.primary.contrastText,\n borderColor: theme.palette.primary.dark,\n },\n outline: {\n backgroundColor: theme.palette.background.paper,\n color: theme.palette.text.primary,\n borderColor: theme.palette.primary.main,\n },\n outlineDanger: {\n backgroundColor: theme.palette.background.paper,\n color: theme.palette.text.primary,\n borderColor: theme.palette.primary.main,\n\n active: {\n borderColor: theme.palette.darkenColor(\n theme.palette.error.dark,\n theme.palette.action.activeOpacity * 80,\n ),\n backgroundColor: theme.palette.darkenColor(\n theme.palette.error.dark,\n theme.palette.action.activeOpacity * 80,\n ),\n color: theme.palette.getContrastText(\n theme.palette.darkenColor(\n theme.palette.error.dark,\n theme.palette.action.activeOpacity * 80,\n ),\n ),\n },\n\n focus: {\n borderColor: theme.palette.darkenColor(\n theme.palette.error.dark,\n theme.palette.action.focusOpacity * 60,\n ),\n backgroundColor: theme.palette.darkenColor(\n theme.palette.error.dark,\n theme.palette.action.focusOpacity * 60,\n ),\n color: theme.palette.getContrastText(\n theme.palette.darkenColor(\n theme.palette.error.dark,\n theme.palette.action.focusOpacity * 60,\n ),\n ),\n },\n\n hover: {\n borderColor: theme.palette.darkenColor(\n theme.palette.error.dark,\n theme.palette.action.hoverOpacity * 10,\n ),\n backgroundColor: theme.palette.darkenColor(\n theme.palette.error.dark,\n theme.palette.action.hoverOpacity * 10,\n ),\n color: theme.palette.getContrastText(\n theme.palette.darkenColor(\n theme.palette.error.dark,\n theme.palette.action.hoverOpacity * 10,\n ),\n ),\n },\n },\n outlineWarning: {\n backgroundColor: theme.palette.background.paper,\n color: theme.palette.text.primary,\n borderColor: theme.palette.primary.main,\n\n active: {\n borderColor: theme.palette.warning.main,\n backgroundColor: theme.palette.warning.main,\n color: theme.palette.warning.contrastText,\n },\n\n focus: {\n borderColor: theme.palette.warning.main,\n backgroundColor: theme.palette.warning.main,\n color: theme.palette.warning.contrastText,\n },\n\n hover: {\n borderColor: theme.palette.warning.main,\n backgroundColor: theme.palette.warning.main,\n color: theme.palette.warning.contrastText,\n },\n },\n paper: {\n backgroundColor: theme.palette.background.paper,\n color: theme.palette.text.primary,\n borderColor: theme.palette.background.paper,\n },\n primary: {\n backgroundColor: theme.palette.primary.main,\n color: theme.palette.primary.contrastText,\n borderColor: theme.palette.primary.main,\n },\n secondary: {\n backgroundColor: theme.palette.secondary.main,\n color: theme.palette.secondary.contrastText,\n borderColor: theme.palette.secondary.main,\n },\n tab: {\n backgroundColor: theme.palette.background.paper,\n color: theme.palette.text.primary,\n borderColor: theme.palette.border.article,\n },\n toggleIcon: {\n color: theme.palette.secondary.contrastText,\n backgroundColor: theme.palette.secondary.main,\n borderColor: theme.palette.border.field,\n\n danger: {\n backgroundColor: theme.palette.error.main,\n borderColor: theme.palette.border.field,\n color: theme.palette.error.contrastText,\n },\n toggled: {\n backgroundColor: theme.palette.primary.main,\n borderColor: theme.palette.border.field,\n color: theme.palette.primary.contrastText,\n },\n },\n transparentIcon: {\n backgroundColor: 'transparent',\n color: theme.palette.text.primary,\n\n hover: {\n color: theme.palette.primary.main,\n },\n\n focus: {\n color: theme.palette.primary.main,\n },\n },\n },\n components: components(theme),\n dropzone: {\n backgroundColor: theme.palette.background.paper,\n borderColor: theme.palette.border.section,\n color: theme.palette.background.default,\n },\n form: {\n backgroundColor: theme.palette.background.paper,\n\n fields: {\n backgroundColor: theme.palette.background.paper,\n color: theme.palette.text.primary,\n borderColor: theme.palette.border.field,\n },\n\n radio: {\n backgroundColor: 'transparent',\n color: tinycolor(theme.palette.text.primary)\n .lighten(15)\n .toRgbString(),\n borderColor: theme.palette.text.primary,\n active: {\n backgroundColor: 'transparent',\n color: tinycolor(theme.palette.text.primary)\n .lighten(0)\n .toRgbString(),\n },\n checked: {\n backgroundColor: 'transparent',\n color: tinycolor(theme.palette.text.primary)\n .lighten(15)\n .toRgbString(),\n },\n disabled: {\n backgroundColor: 'transparent',\n color: tinycolor(theme.palette.text.primary)\n .lighten(55)\n .toRgbString(),\n },\n focus: {\n backgroundColor: 'transparent',\n color: tinycolor(theme.palette.text.primary)\n .lighten(10)\n .toRgbString(),\n },\n hover: {\n backgroundColor: 'transparent',\n color: tinycolor(theme.palette.text.primary)\n .lighten(7)\n .toRgbString(),\n },\n readonly: {\n color: tinycolor(theme.palette.text.primary)\n .lighten(38)\n .toRgbString(),\n backgroundColor: 'transparent',\n },\n },\n },\n modal: {\n borderColor: theme.palette.border.section,\n backgroundColor: theme.palette.background.paper,\n },\n notifications: {\n error: {\n backgroundColor: theme.palette.error.light,\n color: theme.palette.getContrastText(theme.palette.error.light),\n borderColor: theme.palette.error.main,\n },\n info: {\n backgroundColor: '#fdfdfd',\n color: theme.palette.text.primary,\n borderColor: theme.palette.primary.main,\n },\n success: {\n backgroundColor: theme.palette.success.light,\n color: theme.palette.getContrastText(theme.palette.success.light),\n borderColor: theme.palette.success.main,\n },\n warning: {\n backgroundColor: theme.palette.warning.light,\n color: theme.palette.getContrastText(theme.palette.warning.light),\n borderColor: theme.palette.warning.main,\n },\n },\n printView: {\n main: {\n backgroundColor: theme.palette.background.default,\n\n page: {\n backgroundColor: theme.palette.background.paper,\n borderColor: theme.palette.border.article,\n },\n },\n list: {\n table: {\n borderColor: theme.palette.border.section,\n },\n th: { backgroundColor: '#eee' },\n cell: {\n borderColor: theme.palette.border.article,\n },\n },\n },\n schemas,\n scrollbars: {\n bar: {\n color: theme.palette.secondary.main,\n backgroundColor: theme.palette.background.default,\n\n hover: {\n backgroundColor: theme.palette.lightenColor(\n theme.palette.background.default,\n 10,\n ),\n color: theme.palette.lightenColor(theme.palette.secondary.main, 10),\n },\n\n active: {\n backgroundColor: theme.palette.lightenColor(\n theme.palette.background.default,\n 10,\n ),\n color: theme.palette.lightenColor(theme.palette.secondary.main, 20),\n },\n } /*\n buttons: {\n backgroundColor: theme.palette.secondary.main,\n\n hover: {\n color: theme.palette.lightenColor(theme.palette.secondary.main, 10),\n },\n\n active: {\n color: theme.palette.lightenColor(theme.palette.secondary.main, 20),\n },\n }, */,\n },\n tab: {\n backgroundColor: theme.palette.background.paper,\n borderColor: theme.palette.border.section,\n },\n topBar: {\n backgroundColor: theme.palette.primary.main,\n },\n\n // Default ThemeUI colors\n accent: theme.palette.text.accent,\n background: theme.palette.background.default,\n iconWarning: 'rgb(246 222 87)',\n muted: theme.palette.text.disabled,\n primary: theme.palette.primary.main,\n secondary: theme.palette.secondary.main,\n text: theme.palette.text.primary,\n warning: theme.palette.warning.main,\n danger: theme.palette.error.main,\n link: theme.palette.text.accent,\n success: theme.palette.success.main,\n title: theme.palette.text.title,\n selected: theme.palette.getOneState(\n { backgroundColor: theme.palette.background.paper },\n 'selected',\n ).backgroundColor,\n\n acquiredColor: '#2b2bd0',\n acquiredColorDisabled: '#7f7fd4',\n\n // Borders\n outlineColor: '#00a8f6',\n touchedBorderColor: 'orange',\n\n // Other colors\n favorite: '#e5c200',\n\n // States\n overdueDanger: 'rgb(189, 0, 3)',\n overdueWarning: 'hsl(50.53deg 100% 26.06%)',\n overdueWarningBackground: '#fffdd7',\n\n priorityNone: 'gray',\n priorityLow: theme.palette.success.main,\n priorityNormal: 'rgb(255 211 34)',\n priorityHigh: 'rgb(255 150 0)',\n priorityUrgent: 'red',\n\n // Common\n white,\n },\n theme.colors ?? {},\n );\n\n applyStates(\n [\n colors?.buttons as Record<string, TGetColorStateDefinition>,\n colors?.form as Record<string, TGetColorStateDefinition>,\n colors?.components as Record<string, TGetColorStateDefinition>,\n ],\n theme,\n );\n\n Object.entries(colors.components ?? {}).forEach(([name]) => {\n applyStates([colors.components[name]], theme);\n });\n\n return colors;\n}\n","import { ThemeUIStyleObject } from 'theme-ui';\nimport { focusOutline, spacing } from '../util';\nimport getColorsByPath from './colors/util/getColorsByPath';\n\nexport const alerts: Record<string, ThemeUIStyleObject> = {\n primary: {\n border: '1px solid',\n borderLeft: '12px solid',\n borderRadius: 'alerts',\n\n display: 'flex',\n flexDirection: 'column',\n fontWeight: 'normal',\n\n maxHeight: '60vh',\n overflow: 'auto',\n p: 0,\n\n '&:focus': {\n outline: 'none',\n },\n\n '.notification__header': {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n position: 'sticky',\n top: 0,\n width: '100%',\n p: spacing(5),\n },\n\n '.notification__title': {\n fontSize: 18,\n fontWeight: 'bold',\n color: 'palette.text.primary',\n display: 'flex',\n gap: spacing(5),\n alignItems: 'center',\n },\n\n '.notification__closeButton': {\n flexShrink: 0,\n },\n\n '.notification__body': {\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'row',\n gap: spacing(5),\n width: '100%',\n p: spacing(5),\n },\n\n '.notification__header ~ .notification__body': {\n pt: 0,\n },\n\n '.notification__content': {\n display: 'flex',\n alignItems: 'stretch',\n flexDirection: 'column',\n gap: spacing(5),\n width: '100%',\n },\n\n '.notification__icon': {\n flexShrink: 0,\n height: 'iconMd',\n svg: {\n height: 'iconMd',\n width: 'iconMd',\n },\n },\n\n '.notification__message': {\n display: 'flex',\n flexDirection: 'column',\n fontWeight: 'normal',\n gap: spacing(3),\n width: '100%',\n wordBreak: 'break-word',\n\n ul: {\n listStyle: 'disc',\n ml: '20px',\n },\n },\n\n '.notification__trace': {\n maxWidth: '100%',\n overflow: 'hidden',\n maxHeight: '30vh',\n flexShrink: 0,\n backgroundColor: 'rgba(10,10,10,0.02)',\n pt: spacing(5),\n display: 'flex',\n flexDirection: 'column',\n\n '.notification__traceLabel': {\n pl: spacing(5),\n display: 'flex',\n gap: 2,\n },\n '.notification__traceText': {\n fontWeight: 'normal',\n p: spacing(5),\n maxHeight: '30vh',\n overflow: 'auto',\n maxWidth: '100%',\n position: 'relative',\n },\n },\n\n '&:focus .notification__closeButton': focusOutline,\n },\n warning: {\n variant: 'alerts.primary',\n\n '&, & .notification__header': {\n ...getColorsByPath('notifications.warning'),\n },\n },\n danger: {\n variant: 'alerts.primary',\n '&, & .notification__header': {\n ...getColorsByPath('notifications.error'),\n },\n },\n success: {\n variant: 'alerts.primary',\n '&, & .notification__header': {\n ...getColorsByPath('notifications.success'),\n },\n },\n info: {\n variant: 'alerts.primary',\n '&, & .notification__header': {\n ...getColorsByPath('notifications.info'),\n },\n },\n};\n","import { ThemeUICSSObject } from 'theme-ui';\nimport { responsive, smallButton, spacing } from '../util';\nimport getColorsAndStatesByPath from './colors/util/getColorsAndStatesByPath';\n\nconst buttons: Record<string, ThemeUICSSObject> = {\n inherit: {\n color: 'inherit',\n background: 'inherit',\n border: 'none',\n borderRadius: 0,\n font: 'inherit',\n cursor: 'pointer',\n padding: 0,\n margin: 0,\n },\n 'inherit-sm': {\n variant: 'buttons.inherit',\n ...smallButton,\n },\n collapsibleAsidePanelTitle: {\n variant: 'buttons.inherit',\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n width: '100%',\n ...getColorsAndStatesByPath('buttons.collapsibleAsidePanelTitle'),\n },\n primary: {\n borderWidth: '2px',\n borderStyle: 'solid',\n variant: 'text.default',\n py: responsive({ 0: 3, 4: 4 }),\n px: responsive({ 0: 5, 4: 6 }),\n display: 'inline-block',\n width: responsive({ 0: '100%', 1: 'auto' }),\n cursor: 'pointer',\n borderRadius: 'buttons',\n fontWeight: 'normal',\n userSelect: 'none',\n transition: 'background-color 300ms ease-out, color 300ms ease-out',\n wordBreak: 'keep-all',\n\n ...getColorsAndStatesByPath('buttons.primary'),\n\n '&:focus, &:focus-visible': {\n outlineColor: '#00daff',\n },\n },\n 'primary-sm': {\n variant: 'buttons.primary',\n '&:focus, &:focus-visible': {},\n ...smallButton,\n },\n secondary: {\n variant: 'buttons.primary',\n '&:focus, &:focus-visible': {},\n borderWidth: '0px',\n borderStyle: 'solid',\n\n ...getColorsAndStatesByPath('buttons.secondary'),\n },\n 'secondary-sm': {\n variant: 'buttons.secondary',\n ...smallButton,\n },\n 'light-secondary': {\n variant: 'buttons.secondary',\n\n ...getColorsAndStatesByPath('buttons.lightSecondary'),\n },\n danger: {\n variant: 'buttons.primary',\n '&:focus, &:focus-visible': {},\n\n ...getColorsAndStatesByPath('buttons.danger'),\n },\n 'danger-sm': {\n variant: 'buttons.danger',\n ...smallButton,\n },\n warning: {\n variant: 'buttons.primary',\n '&:focus, &:focus-visible': {},\n\n ...getColorsAndStatesByPath('buttons.warning'),\n },\n 'warning-sm': {\n variant: 'buttons.warning',\n ...smallButton,\n },\n close: {\n cursor: 'pointer',\n ml: 'auto',\n mr: '2',\n borderRadius: 'buttons',\n\n ...getColorsAndStatesByPath('buttons.close'),\n },\n accordion: {\n variant: 'buttons.primary',\n '&:focus, &:focus-visible': {},\n cursor: 'pointer',\n m: spacing(0),\n py: responsive({ 0: 3, 4: 4 }),\n px: responsive({ 0: 5, 4: 6 }),\n width: '100%',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n borderRadius: 'buttons',\n textAlign: 'left',\n fontFamily: 'heading',\n fontSize: 'text.default',\n textDecoration: 'none',\n textTransform: 'none',\n fontWeight: 'bold',\n border: 'none',\n transition: 'background-color 300ms ease-out, color 300ms ease-out',\n userSelect: 'text',\n\n '&, *': getColorsAndStatesByPath('buttons.accordion'),\n\n 'h2.toggleAccordionElementLabel': {\n variant: 'text.default',\n\n color: 'inherit',\n margin: 0,\n wordBreak: 'break-word',\n },\n },\n 'accordion-primary': {\n variant: 'buttons.accordion',\n border: 'none',\n\n ...getColorsAndStatesByPath('buttons.accordionPrimary'),\n },\n icon: {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n p: spacing(0),\n m: spacing(0),\n bg: 'secondary',\n cursor: 'pointer',\n transition: 'background-color 300ms ease-out, color 300ms ease-out',\n borderRadius: 'buttons',\n border: 'none',\n color: 'inherit',\n ...getColorsAndStatesByPath('buttons.icon'),\n\n '&.isToggled': {\n ...getColorsAndStatesByPath('buttons.iconToggled'),\n },\n },\n 'icon-primary': {\n variant: 'buttons.icon',\n ...getColorsAndStatesByPath('buttons.iconPrimary'),\n },\n 'icon-outline': {\n variant: 'buttons.icon',\n bg: 'white',\n border: '1px solid',\n borderRadius: '4px',\n // border: 'none',\n\n ...getColorsAndStatesByPath('buttons.iconOutline'),\n },\n 'icon-outline-danger': {\n variant: 'buttons.icon',\n border: '1px solid',\n\n ...getColorsAndStatesByPath('buttons.outlineDanger'),\n },\n 'icon-only': {\n variant: 'buttons.icon',\n\n ...getColorsAndStatesByPath('buttons.iconOnly'),\n },\n link: {\n variant: 'inherit',\n width: 'auto',\n border: 'none',\n background: 'transparent',\n textDecoration: 'underline',\n px: 2,\n py: 1,\n borderRadius: 'buttons',\n cursor: 'pointer',\n textTransform: 'none',\n transition: 'background-color 300ms ease-out, color 300ms ease-out',\n\n ...getColorsAndStatesByPath('buttons.link'),\n },\n 'link-sm': {\n variant: 'buttons.link',\n ...smallButton,\n },\n outline: {\n variant: 'buttons.primary',\n borderWidth: '2px',\n borderStyle: 'solid',\n borderRadius: 'buttons',\n\n '&:focus, &:focus-visible': {},\n ...getColorsAndStatesByPath('buttons.outline', {\n states: {\n active: false,\n checked: false,\n disabled: false,\n focus: false,\n hover: false,\n readonly: false,\n selected: false,\n },\n }),\n },\n 'outline-sm': {\n variant: 'buttons.outline',\n ...smallButton,\n },\n 'transparent-sm': {\n variant: 'buttons.outline',\n '&:focus, &:focus-visible': {},\n bg: 'transparent',\n color: 'inherit',\n border: 'none',\n font: 'inherit',\n textTransform: 'inherit',\n ...smallButton,\n },\n 'outline-danger': {\n variant: 'buttons.outline',\n '&:focus, &:focus-visible': {},\n\n ...getColorsAndStatesByPath('buttons.outlineDanger'),\n },\n 'outline-danger-sm': {\n variant: 'buttons.outline-danger',\n ...smallButton,\n },\n 'outline-warning': {\n variant: 'buttons.outline',\n '&:focus, &:focus-visible': {},\n\n ...getColorsAndStatesByPath('buttons.outlineWarning'),\n },\n 'outline-warning-sm': {\n variant: 'buttons.outline-warning',\n ...smallButton,\n },\n 'outline-extended': {\n variant: 'buttons.outline',\n gridColumnStart: 1,\n gridColumnEnd: 3,\n width: '100%',\n },\n 'outline-danger-extended': {\n variant: 'buttons.outline-danger',\n gridColumnStart: 1,\n gridColumnEnd: 3,\n width: '100%',\n },\n 'primary-extended': {\n variant: 'buttons.primary',\n '&:focus, &:focus-visible': {},\n gridColumnStart: 1,\n gridColumnEnd: 3,\n width: '100%',\n },\n query: {\n extended: {\n variant: 'buttons.outline',\n '&:focus, &:focus-visible': {},\n gridColumnStart: 1,\n gridColumnEnd: 3,\n },\n },\n tableAccordion: {\n variant: 'buttons.accordion',\n fontSize: 'text.default',\n p: spacing(3),\n wordBreak: 'keep-all',\n a: {\n color: 'background',\n },\n\n ...getColorsAndStatesByPath('buttons.tableAccordion'),\n },\n tableHeader: {\n variant: 'buttons.tableAccordion',\n alignItems: 'center',\n justifyContent: 'center',\n height: '100%',\n border: 'none',\n svg: {\n ml: spacing(2),\n },\n ...getColorsAndStatesByPath('buttons.tableHeader'),\n },\n paper: {\n variant: 'buttons.primary',\n borderWidth: '2px',\n borderStyle: 'solid',\n borderRadius: 'buttons',\n\n ...getColorsAndStatesByPath('buttons.paper'),\n },\n 'paper-sm': {\n variant: 'buttons.primary',\n borderWidth: '2px',\n borderStyle: 'solid',\n borderRadius: 'buttons',\n\n ...getColorsAndStatesByPath('buttons.paper'),\n ...smallButton,\n },\n};\n\nexport default buttons;\n","import { ThemeUICSSObject } from 'theme-ui';\nimport { spacing } from '../util';\n\nconst text: Record<string, ThemeUICSSObject> = {\n default: {\n color: 'palette.text.primary',\n fontFamily: 'body',\n fontWeight: 'body',\n fontSize: 16,\n m: spacing(0),\n width: '100%',\n },\n title: {\n letterSpacing: 'heading',\n wordBreak: 'normal',\n color: 'title',\n fontFamily: 'heading',\n lineHeight: 'heading',\n fontWeight: 'heading',\n },\n};\n\nexport default text;\n","import { ThemeUIStyleObject } from 'theme-ui';\n\nexport const transitions: ThemeUIStyleObject = {\n '@keyframes growHorizontal': {\n from: { transform: 'scaleX(0)' },\n to: { transform: 'scaleY(100%)' },\n },\n '.hamburguerMenu': { display: 'none' },\n '.hamburguerMenu-enter,\\n.hamburguerMenu-appear': {\n display: 'block',\n transform: 'scale(0.7)',\n opacity: 0,\n },\n '.hamburguerMenu-enter-active,\\n.hamburguerMenu-appear-active': {\n transform: 'translateX(0)',\n transition: 'opacity 150ms, transform 150ms',\n transformOrigin: 'right top',\n opacity: 1,\n },\n '.hamburguerMenu-enter-done,\\n.hamburguerMenu-appear-done': {\n display: 'block',\n },\n '.hamburguerMenu-exit': {\n display: 'block',\n transform: 'scale(1)',\n opacity: 1,\n },\n '.hamburguerMenu-exit-active': {\n transform: 'scale(0.7) translateX(0)',\n transition: 'opacity 150ms, transform 150ms',\n display: 'block',\n opacity: 0,\n transformOrigin: 'right top',\n },\n '.hamburguerMenu-exit-done': { display: 'none' },\n '.modal-enter,\\n.modal-appear': { opacity: 0, transform: 'scale(0.8)' },\n '.modal-enter-active,\\n.modal-appear-active': {\n opacity: 1,\n transform: 'translateX(0)',\n transition: 'opacity 150ms, transform 150ms',\n transitionDelay: '0',\n },\n '.modal-exit': { opacity: 0 },\n '.modal-exit-done': { opacity: 0, display: 'none' },\n '.modal-exit-active': {\n opacity: 0,\n transform: 'scale(100)',\n transition: 'opacity 150ms, transform 150ms',\n transitionDelay: '0',\n },\n '.overlayAnimation-enter .overlayAnimation:not(.not-released),\\n.overlayAnimation-appear .overlayAnimation:not(.not-released)':\n {\n opacity: 0,\n },\n '.overlayAnimation-enter-active .overlayAnimation:not(.not-released),\\n.overlayAnimation-appear-active .overlayAnimation:not(.not-released)':\n {\n opacity: 1,\n transition: 'opacity 150ms',\n },\n '.overlayAnimation-exit': { opacity: 1 },\n '.overlayAnimation-exit-active': { opacity: 0, transition: 'opacity 150ms' },\n '.fromRight-enter,\\n.fromRight-appear': { transform: 'translateX(550px)' },\n '.fromRight-enter-active,\\n.fromRight-appear-active': {\n transition: 'transform 150ms',\n transform: 'translateX(0)',\n },\n '.fromRight-exit': { transform: 'translateX(0)' },\n '.fromRight-exit-active': {\n transition: 'transform 150ms',\n transform: 'translateX(550px)',\n },\n '.notification-enter,\\n.notification-appear': {\n opacity: 0,\n transform: 'scale(0.8)',\n },\n '.notification-enter-active,\\n.notification-appear-active': {\n opacity: 1,\n transform: 'translateX(0)',\n transition: 'opacity 150ms, transform 150ms',\n transitionDelay: '0',\n },\n '.notification-exit': { opacity: 1 },\n '.notification-exit-active': {\n opacity: 0,\n transform: 'scale(0.8)',\n transition: 'opacity 150ms, transform 150ms',\n transitionDelay: '0',\n },\n};\n","import { ThemeUICSSObject } from '@apia/theme';\n\nconst menu: ThemeUICSSObject = {\n '.szh-menu': (theme) => ({\n margin: '0',\n padding: '0.5rem 0',\n listStyle: 'none',\n boxSizing: 'border-box',\n width: 'max-content',\n zIndex: 'contextMenu',\n border: '1px solid #656565',\n backgroundColor: theme.palette.background.paper,\n userSelect: 'none',\n color: theme.palette.text.primary,\n // 'var(--theme-ui-colors-palette-text-primary)',\n borderRadius: '0.25rem',\n boxShadow: '0 3px 7px rgba(0, 0, 0, 0.133), 0 0.6px 2px rgba(0, 0, 0, 0.1)',\n minWidth: '10rem',\n }),\n '.szh-menu__arrow': (theme) => ({\n boxSizing: 'border-box',\n width: '0.75rem',\n height: '0.75rem',\n backgroundColor: theme.palette.background.paper,\n border: '1px solid transparent',\n borderLeftColor: 'rgba(0, 0, 0, 0.1)',\n borderTopColor: 'rgba(0, 0, 0, 0.1)',\n zIndex: -1,\n }),\n '.szh-menu__arrow--dir-left': {\n right: '-0.375rem',\n transform: 'translateY(-50%) rotate(135deg)',\n },\n '.szh-menu__arrow--dir-right': {\n left: '-0.375rem',\n transform: 'translateY(-50%) rotate(-45deg)',\n },\n '.szh-menu__arrow--dir-top': {\n bottom: '-0.375rem',\n transform: 'translateX(-50%) rotate(-135deg)',\n },\n '.szh-menu__arrow--dir-bottom': {\n top: '-0.375rem',\n transform: 'translateX(-50%) rotate(45deg)',\n },\n '.szh-menu__item': {\n cursor: 'pointer',\n display: 'flex',\n alignItems: 'center',\n position: 'relative',\n padding: '0.375rem 1.5rem',\n paddingLeft: '2.2rem',\n\n '&.withIcon': {\n padding: '0px',\n },\n },\n '.szh-menu__item--hover': (theme) => ({\n backgroundColor: theme.palette.background.default,\n }),\n '.szh-menu__item--focusable': {\n cursor: 'default',\n },\n '.szh-menu__item--disabled': {\n cursor: 'default',\n color: '#ccc',\n },\n '.szh-menu__group': { boxSizing: 'border-box' },\n '.szh-menu__radio-group': {\n margin: '0',\n padding: '0',\n listStyle: 'none',\n },\n '.szh-menu__divider': {\n height: '1px',\n margin: '0.5rem 0',\n backgroundColor: 'rgba(0, 0, 0, 0.12)',\n },\n '.szh-menu-button': { boxSizing: 'border-box' },\n '.szh-menu-container--itemTransition .szh-menu__item': {\n transitionProperty: 'background-color, color',\n transitionDuration: '0.15s',\n transitionTimingFunction: 'ease-in-out',\n },\n '.szh-menu__item--type-radio': { paddingLeft: '2.2rem' },\n '.szh-menu__item--type-radio::before': {\n content: '\"○\"',\n position: 'absolute',\n left: '0.8rem',\n top: '0.55rem',\n fontSize: '0.8rem',\n },\n '.szh-menu__item--type-radio.szh-menu__item--checked::before': {\n content: '\"●\"',\n },\n '.szh-menu__item--type-checkbox': { paddingLeft: '2.2rem' },\n '.szh-menu__item--type-checkbox::before': {\n position: 'absolute',\n left: '0.8rem',\n },\n '.szh-menu__item--type-checkbox.szh-menu__item--checked::before': {\n content: '\"✔\"',\n },\n '.szh-menu__submenu>.szh-menu__item': { paddingRight: '2.5rem' },\n '.szh-menu__submenu>.szh-menu__item::after': {\n content: '\"❯\"',\n position: 'absolute',\n right: '1rem',\n },\n '.szh-menu__header': {\n color: '#888',\n fontSize: '0.8rem',\n padding: '0.2rem 1.5rem',\n textTransform: 'uppercase',\n },\n '.szh-menu__item--anchor,\\n.szh-menu__item--anchor:hover,\\n.szh-menu__item--anchor:focus,\\n.szh-menu__item--anchor:active':\n (theme) => ({\n paddingLeft: '2.2rem',\n textDecoration: 'none',\n color: theme.palette.text.primary,\n }),\n};\nexport default menu;\n","import { ThemeUICSSObject } from 'theme-ui';\nimport { focusOutline, responsive, spacing } from '../../util';\nimport { transitions } from './transitions';\nimport menu from './menu';\n\nexport const root: ThemeUICSSObject = {\n ...menu,\n height: '100%',\n '*': {\n fontFamily: 'body',\n fontWeight: 'body',\n\n code: {\n fontFamily: 'monospace',\n },\n\n '&:focus': focusOutline,\n },\n\n body: {\n minHeight: '100vh',\n },\n h1: {\n fontSize: responsive({ 0: 26, 3: 32 }),\n },\n h2: {\n fontSize: responsive({ 0: 22, 3: 28 }),\n },\n h3: {\n fontSize: responsive({ 0: 19, 3: 25 }),\n },\n h4: {\n fontSize: responsive({ 0: 18, 3: 22 }),\n },\n h5: {\n fontSize: responsive({ 0: 18, 3: 22 }),\n },\n h6: {\n fontSize: responsive({ 0: 17, 3: 17 }),\n },\n\n 'h1,h2,h3,h4,h5,h6': {\n letterSpacing: 'heading',\n lineHeight: 'heading',\n variant: 'text.title',\n },\n '*:not(h1, h2, h3, h4, h5, h6, code)': {\n fontFamily: 'body',\n fontSize: 16,\n fontWeight: 'body',\n letterSpacing: 'body',\n lineHeight: 'body',\n },\n a: {\n textDecoration: 'underline',\n },\n 'textarea,a': {\n transition: 'color 200ms ease-out',\n ':focus': {\n ...focusOutline,\n },\n ':focus-visible': {\n ...focusOutline,\n },\n },\n '*:focus': focusOutline,\n ul: {\n listStyle: 'none',\n listStyleType: 'none',\n margin: 0,\n padding: 0,\n },\n\n abbr: {\n '&.required': {\n textDecoration: 'none',\n border: 'none',\n mx: 1,\n alignSelf: 'baseline',\n fontWeight: 'bold',\n color: 'danger',\n },\n },\n table: {\n borderCollapse: 'separate',\n borderSpacing: 0,\n },\n\n '& label': {\n display: 'flex',\n\n '& > span': {\n mb: spacing(1),\n fontWeight: 'bold',\n },\n\n '&.required': {\n position: 'relative',\n '&::before': {\n color: 'danger',\n position: 'absolute',\n content: '\"*\"',\n top: 0,\n left: '-10px',\n },\n\n '*:invalid': {\n borderColor: 'danger',\n },\n },\n },\n\n '.bold': {\n fontWeight: 'bold',\n },\n '.light': {\n fontWeight: 'light',\n },\n\n '.Left': {\n textAlign: 'left !important' as unknown as 'left',\n },\n '.Center': {\n textAlign: 'center !important' as unknown as 'left',\n },\n '.Right': {\n textAlign: 'right !important' as unknown as 'left',\n },\n '.Justify': {\n textAlign: 'justify !important' as unknown as 'left',\n },\n\n '.Bottom': {\n verticalAlign: 'bottom !important',\n },\n\n '.Middle': {\n verticalAlign: 'middle !important',\n },\n\n '.Top': {\n verticalAlign: 'top !important',\n },\n\n '.hidden': {\n display: 'none',\n },\n\n '.field__withError': {\n borderLeftStyle: 'solid',\n borderLeftWidth: '4px',\n borderLeftColor: 'danger',\n },\n\n '.field__touched': {\n borderStyle: 'solid',\n borderWidth: '1px',\n borderColor: 'touchedBorderColor',\n },\n\n '.noPadding': {\n padding: 0,\n },\n\n 'input[type=\"radio\"] ~ svg': {\n background: 'transparent !important',\n },\n\n '.windowModal__active': {\n zIndex: 'tooltip',\n },\n\n ...transitions,\n};\n","import { ColorModesScale, Theme } from 'theme-ui';\nimport { alerts } from './alerts';\nimport buttons from './buttons';\nimport text from './text';\nimport { root } from './rootStyles/rootStyles';\n\nexport const baseTheme: () => Omit<Theme, 'palette'> = () => {\n return {\n alerts,\n breakpoints: [\n '0px',\n '250px',\n '500px',\n '700px',\n '1000px',\n '1260px',\n '1580px',\n ],\n buttons,\n colors: {} as ColorModesScale,\n fonts: {\n body: '\"InterVariable\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", sans-serif, Roboto',\n heading: 'inherit',\n monospace: 'Menlo, monospace',\n },\n fontSizes: Array(60)\n .fill(1)\n .map((_, i) => {\n return i;\n }),\n fontWeights: {\n default: 'normal',\n heading: 'bold',\n },\n forms: {},\n layout: {\n root,\n },\n lineHeights: {\n body: 1.5,\n heading: 1.125,\n },\n letterSpacings: {\n body: '0.01em',\n heading: '-0.015em',\n },\n radii: {\n alerts: 0,\n buttons: 0,\n default: 0,\n panel: '7px',\n modals: '7px',\n tooltips: '7px',\n },\n shadows: {\n dataGridHeader: '2px 2px 4px 0px #0008',\n modals: 'rgba(0, 0, 0, 0.16) 0px 1px 4px;',\n tabs: '',\n panel:\n 'rgba(50, 50, 105, 0.15) 0px 2px 5px 0px, rgba(0, 0, 0, 0.05) 0px 1px 1px 0px',\n tableFilters: '1px 2px 3px rgba(0,0,0,0.2)',\n toolbar: '3px 3px 3px rgba(0,0,0,0.1)',\n desktop: {\n windowElement:\n 'rgba(0, 0, 0, 0.25) 0px 14px 28px, rgba(0, 0, 0, 0.22) 0px 10px 10px',\n },\n },\n space: [0, 2, 4, 8, 12, 16, 24, 32, 40, 48, 64, 80, 96, 112, 128],\n sizes: {\n // Layout\n applicationMenu: '350px',\n floatingNotifications: 'min(550px, calc(100vw - 30px))',\n root: '992px',\n mainImage: '64px',\n twoColumns: 'calc(992px + 350px)',\n twoColumnsCentered: 'calc(992px + 350px + 16px)',\n\n // Icons\n iconXs: '12px',\n iconSm: '16px',\n iconMd: '22px',\n iconLg: '32px',\n iconXl: '48px',\n },\n text,\n zIndices: {\n stickyElements: 600,\n menu: 1000,\n maximizedTables: 1100,\n modal: 1200,\n tooltip: 1400,\n notifications: 1600,\n contextMenu: 1800,\n },\n useRootStyles: true,\n };\n};\n","import { ThemeUICSSObject } from 'theme-ui';\nimport getColorsAndStatesByPath from '../colors/util/getColorsAndStatesByPath';\n/* IMPORT HERE */\n\nconst customCheckbox: ThemeUICSSObject = {\n display: 'inline-flex',\n borderRadius: 'default',\n flexBasis: '32px',\n flexShrink: 0,\n width: '32px',\n height: '32px',\n alignItems: 'center',\n justifyContent: 'center',\n p: '3px',\n border: '1px solid',\n svg: {\n width: '20px',\n },\n ...getColorsAndStatesByPath('form.fields', {\n states: {\n active: false,\n hover: false,\n focus: false,\n path: false,\n },\n }),\n\n /* PREPEND HERE */\n};\n\nexport default customCheckbox;\n","import { ThemeUICSSObject } from 'theme-ui';\nimport getColorsAndStatesByPath from '../colors/util/getColorsAndStatesByPath';\n/* IMPORT HERE */\n\nconst checkbox: ThemeUICSSObject = {\n borderRadius: 'default',\n ...getColorsAndStatesByPath('form.fields', {\n states: {\n active: false,\n focus: false,\n hover: false,\n },\n }),\n backgroundColor: 'unset',\n alignItems: 'center',\n\n '&.nativeCheckbox': {\n appearance: 'none',\n width: '25px',\n height: '25px',\n border: 'solid 1px #cccccc',\n marginRight: '8px',\n position: 'relative',\n cursor: 'pointer',\n\n '&:checked::before': {\n content: '\"✓\"',\n color: 'palette.text.primary',\n position: 'absolute',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n fontSize: 'larger',\n fontWeight: 'bolder',\n borderRadius: '5px',\n cursor: 'pointer',\n },\n\n '&:indeterminate::before': {\n content: '\"-\"',\n color: 'palette.text.primary',\n position: 'absolute',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n top: '-1px',\n left: 0,\n right: 0,\n bottom: 0,\n fontSize: 'xx-large',\n fontWeight: '600',\n borderRadius: '5px',\n cursor: 'pointer',\n },\n },\n};\n\nexport default checkbox;\n","import { ThemeUICSSObject } from 'theme-ui';\nimport { spacing } from '../../util';\nimport getColorsAndStatesByPath from '../colors/util/getColorsAndStatesByPath';\n/* IMPORT HERE */\n\nconst dateInput: ThemeUICSSObject = {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'stretch',\n justifyContent: 'stretch',\n gap: spacing(2),\n width: '100%',\n\n '&.readOnly': {\n input: {\n color: 'Text.fields',\n bg: 'Background.fields',\n },\n },\n\n '.iconInput': {\n width: '100%',\n position: 'relative',\n },\n\n 'input:hover~.delete_date_button:not(:disabled,[aria-selected=\"true\"]), input:hover~.delete_date_button:not(:disabled,[aria-selected=\"true\"]) path, .delete_date_button':\n {\n position: 'absolute',\n right: '59px',\n padding: 0,\n top: 'calc(50% - 10px)',\n margin: 0,\n marginRight: 0,\n borderRadius: '100%',\n width: '20px',\n height: '20px',\n\n ...getColorsAndStatesByPath('buttons.icon-outline'),\n },\n\n input: {\n flexShrink: 1,\n },\n\n '& > div': {\n display: 'flex',\n gap: spacing(2),\n flexShrink: 0,\n width: 'auto',\n maxWidth: '100%',\n minWidth: 0,\n\n button: {\n width: '45px',\n flexShrink: 0,\n },\n },\n ...getColorsAndStatesByPath('form.fields', {\n states: {\n hover: false,\n active: false,\n focus: false,\n },\n }),\n\n backgroundColor: undefined,\n};\n\nexport default dateInput;\n","import { ThemeUICSSObject } from 'theme-ui';\nimport { spacing } from '../../util';\nimport getColorsByPath from '../colors/util/getColorsByPath';\n/* IMPORT HERE */\n\nconst iconInput: ThemeUICSSObject = {\n display: 'flex',\n gap: spacing(1),\n justifyContent: 'stretch',\n alignItems: 'center',\n '&.readOnly': {\n input: {\n ...getColorsByPath('form.fields'),\n },\n },\n\n input: {\n height: '50px',\n width: '100%',\n },\n\n button: {\n display: 'flex',\n width: '45px',\n flexShrink: 0,\n height: '50px',\n },\n};\n\nexport default iconInput;\n","import { ThemeUICSSObject } from 'theme-ui';\nimport { responsive } from '../../util';\nimport getColorsAndStatesByPath from '../colors/util/getColorsAndStatesByPath';\n/* IMPORT HERE */\n\nconst input: ThemeUICSSObject = {\n variant: 'text.default',\n border: '1px solid',\n borderRadius: 'default',\n padding: responsive({ 0: 3, 3: 4 }),\n '::placeholder': {\n color: '#b0b0b0',\n },\n ...getColorsAndStatesByPath('form.fields', {\n states: {\n active: false,\n hover: false,\n focus: false,\n },\n }),\n\n material: {\n input: {\n borderLeft: 'none',\n borderRight: 'none',\n borderTop: 'none',\n borderBottomColor: 'palette.border.section',\n\n '& + .input__underline': {\n transform: 'scale(1)',\n },\n\n '&:focus': {\n outline: 'none',\n\n '~::after': {\n animationName: 'growHorizontal',\n animationDuration: '150ms',\n animationTimingFunction: 'ease-out',\n content: '\"\"',\n display: 'block',\n height: '0',\n outlineColor: 'palette.primary.main',\n outlineStyle: 'solid',\n outlineWidth: '1.5px',\n outlineOffset: 0,\n position: 'fixed',\n transformOrigin: 'center center',\n width: '100%',\n },\n },\n },\n },\n};\n\nexport default input;\n","import { ThemeUICSSObject } from 'theme-ui';\nimport { spacing } from '../../util';\n/* IMPORT HERE */\n\nconst label: ThemeUICSSObject = {\n variant: 'text.default',\n alignItems: 'center',\n width: 'auto',\n textTransform: 'none',\n cursor: 'pointer',\n\n '&:not(.radio-label)': {\n fontWeight: 'bold',\n },\n\n '&.required': {\n position: 'relative',\n '&::before': {\n color: 'danger',\n position: 'absolute',\n content: '\"*\"',\n top: 0,\n left: '-10px',\n },\n },\n\n '&:last-of-type': {\n 'input, textarea, select': {\n mb: spacing(0),\n },\n },\n};\n\nexport default label;\n","import { ThemeUICSSObject } from 'theme-ui';\nimport getColorsAndStatesByPath from '../colors/util/getColorsAndStatesByPath';\n/* IMPORT HERE */\n\nconst radio: ThemeUICSSObject = {\n width: '32px',\n height: '32px',\n input: {\n height: '32px !important',\n },\n ...getColorsAndStatesByPath('form.radio'),\n path: {\n fill: 'inherit',\n },\n};\n\nexport default radio;\n","import { ThemeUICSSObject } from 'theme-ui';\nimport { spacing } from '../../util';\nimport getColorsAndStatesByPath from '../colors/util/getColorsAndStatesByPath';\n/* IMPORT HERE */\n\nconst select: ThemeUICSSObject = {\n variant: 'text.default',\n display: 'inline-block',\n fontFamily: 'body',\n p: spacing(4),\n pr: 7,\n borderRadius: 'default',\n width: '100%',\n maxWidth: '100%',\n '& ~ svg': {\n background: 'palette.background.paper',\n },\n ...getColorsAndStatesByPath('form.fields', {\n states: {\n active: false,\n hover: false,\n focus: false,\n },\n }),\n\n '&[multiple] ~ svg': {\n display: 'none',\n },\n};\n\nexport default select;\n","import { Theme, ThemeUICSSObject } from 'theme-ui';\nimport { getSelectedColors } from '../colors/index';\n/* IMPORT HERE */\n\nfunction selectMultiple(theme: Theme): ThemeUICSSObject {\n return {\n variant: 'text.default',\n height: '100%',\n padding: '4px',\n borderRadius: 'default',\n border: '1px solid',\n width: '100%',\n transition: 'background-color 100ms ease-out, color 100ms ease-out',\n overflow: 'auto',\n option: {\n padding: 2,\n ...getSelectedColors(theme.palette),\n\n '&:checked': {\n backgroundColor: theme.palette.getColor(\n theme.palette.background.paper,\n 'selected',\n ),\n color: theme.palette.getContrastText(\n theme.palette.getColor(theme.palette.background.paper, 'selected'),\n ),\n },\n },\n '+ svg': {\n display: 'none',\n },\n ...theme.palette.getStatesFromPath('form.fields', {\n states: {\n active: false,\n hover: false,\n focus: false,\n },\n }),\n };\n}\n\nexport default selectMultiple;\n","import { ThemeUICSSObject } from 'theme-ui';\n/* IMPORT HERE */\n\nconst Switch: ThemeUICSSObject = {\n '+ span': {\n fontSize: 14,\n fontWeight: 'normal',\n wordBreak: 'break-all',\n },\n backgroundColor: 'form.fields.checked.borderColor',\n};\n\nexport default Switch;\n","import { ThemeUICSSObject } from 'theme-ui';\n/* IMPORT HERE */\n\nconst textarea: ThemeUICSSObject = {\n height: '100%',\n minHeight: '130px',\n resize: 'vertical',\n\n variant: 'forms.input',\n};\n\nexport default textarea;\n","import { ThemeUICSSObject } from 'theme-ui';\nimport { focusOutline } from '../../util';\nimport getColorsAndStatesByPath from '../colors/util/getColorsAndStatesByPath';\n\nconst deletableInput: ThemeUICSSObject = {\n border: '1px solid',\n borderColor: 'palette.border.field',\n display: 'inline-block',\n position: 'relative',\n pr: '45px',\n\n '.deletableInput__input': {\n border: 'none',\n },\n\n '.deletableInput__deleteButton': {\n height: '100%',\n outlineOffset: '-2px',\n position: 'absolute',\n right: 0,\n top: 0,\n width: '45px',\n\n ...getColorsAndStatesByPath('buttons.deletableInputButton', {\n states: { path: true },\n }),\n },\n\n '&:focus-within:not(.asMaterial)': {\n ...focusOutline,\n\n '.deletableInput__input:focus': {\n outline: 'none',\n },\n\n '.deletableInput__deleteButton:focus': {\n outline: 'none',\n },\n },\n\n '&.asMaterial': {\n borderLeft: 'none',\n borderRight: 'none',\n borderTop: 'none',\n borderBottomColor: 'palette.border.section',\n\n '& + .input__underline': {\n transform: 'scale(1)',\n },\n\n '.deletableInput__input:focus': {\n outline: 'none',\n\n '~.input__underline::after': {\n animationName: 'growHorizontal',\n animationDuration: '150ms',\n animationTimingFunction: 'ease-out',\n content: '\"\"',\n display: 'block',\n height: '0',\n outlineColor: 'palette.primary.main',\n outlineStyle: 'solid',\n outlineWidth: '1.5px',\n outlineOffset: 0,\n position: 'absolute',\n transformOrigin: 'center center',\n left: 0,\n right: 0,\n },\n },\n },\n};\n\nexport default deletableInput;\n","import { Theme, ThemeUICSSObject } from 'theme-ui';\nimport customCheckbox from './customCheckbox';\nimport checkbox from './checkbox';\nimport dateInput from './dateInput';\nimport iconInput from './iconInput';\nimport input from './input';\nimport label from './label';\nimport radio from './radio';\nimport select from './select';\nimport selectMultiple from './selectMultiple';\nimport Switch from './switch';\nimport textarea from './textarea';\nimport deletableInput from './deletableInput';\n/* IMPORT HERE */\n\nconst forms: (theme: Theme) => Record<string, ThemeUICSSObject> = (theme) => {\n return {\n checkbox,\n customCheckbox,\n dateInput,\n deletableInput,\n iconInput,\n input,\n label,\n radio,\n select,\n selectMultiple: selectMultiple(theme),\n switch: Switch,\n textarea,\n /* PREPEND HERE */\n 'input[type=\"date\"]': {\n variant: 'forms.input',\n },\n };\n};\n\nexport default forms;\n","import { ThemeUICSSObject } from 'theme-ui';\nimport { responsive } from '../../../../util';\n\nexport const overlay: Record<string, ThemeUICSSObject> = {\n overlay: {\n position: 'fixed',\n overflow: 'hidden',\n top: '0',\n right: '0',\n bottom: '0',\n left: '0',\n width: '100vw',\n height: '100vh',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: `palette.background.overlay`,\n zIndex: 'modal',\n\n '&:not(.screenLock) .modal-enter-done': {\n boxShadow: 'modals',\n },\n },\n\n windowModal: {\n zIndex: 'modal',\n },\n\n 'overlay--stretch': {\n variant: 'layout.common.modals.overlay',\n alignItems: responsive({ 0: 'stretch', 2: 'center' }),\n },\n};\n","import { ThemeUICSSObject, spacing } from '@apia/theme';\n/* IMPORT HERE */\n\nexport const apiaApi: ThemeUICSSObject = {\n margin: 'auto',\n display: 'flex',\n flexDirection: 'column',\n wordBreak: 'break-word',\n overflow: 'hidden',\n width: '100%',\n\n '.modal__content': {\n overflow: 'hidden',\n\n '& > div': {\n display: 'flex',\n flexShrink: 1,\n flexDirection: 'column',\n },\n },\n\n '.handler__form': {\n display: 'flex',\n flexDirection: 'column',\n overflow: 'hidden',\n gap: spacing(6),\n\n '.toggleAccordionElement': {\n position: 'sticky',\n top: 0,\n },\n\n '.handler__form__elements': {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'stretch',\n overflowY: 'auto',\n maxHeight: '60vh',\n gap: spacing(3),\n pr: spacing(3),\n },\n\n '.handler__form__elements__section__content': {\n display: 'flex',\n flexDirection: 'column',\n wordBreak: 'break-word',\n background: 'palette.background.paper',\n p: 0,\n gap: spacing(3),\n },\n\n '.content .handler__form__elements__section__content': {\n border: '1px solid',\n borderColor: 'palette.border.section',\n borderTop: 'none',\n p: spacing(6),\n },\n\n '.handler__form__buttons': {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'right',\n p: 0,\n gap: '0px',\n textAlign: 'center',\n },\n\n '.radio': {\n display: 'flex',\n flexDirection: 'column',\n flexWrap: 'wrap',\n listStyle: 'none',\n variant: 'layout.execution.form.fields.radio',\n },\n\n '.handler__checkbox, .handler__radio': {\n 'label span': {\n fontWeight: 'normal',\n },\n },\n\n '.checkbox': {\n flexDirection: 'row-reverse',\n alignItems: 'center',\n justifyContent: 'start',\n gap: spacing(4),\n '.semicolon': {\n display: 'none',\n },\n input: {\n width: '100%',\n },\n },\n\n '.handler__hidden': {\n display: 'none',\n },\n\n 'label.select > div': {\n width: '100%',\n },\n\n '.spacer': {\n height: spacing(7),\n },\n },\n '.progressBox': {\n p: spacing(5),\n pt: spacing(0),\n },\n /* PREPEND HERE */\n};\n\nexport default apiaApi;\n","import { spacing, ThemeUICSSObject } from '@apia/theme';\n\nconst confirm: ThemeUICSSObject = {\n display: 'flex',\n flexDirection: 'column',\n gap: spacing(6),\n height: '100%',\n width: '100%',\n overflow: 'auto',\n\n '.confirm__content': {\n overflow: 'auto',\n flexBasis: '100%',\n wordBreak: 'break-word',\n display: 'flex',\n flexDirection: 'column',\n },\n\n '.confirm__buttonBar': {\n display: 'flex',\n justifyContent: 'space-between',\n flexBasis: '40px',\n flexGrow: 0,\n flexShrink: 0,\n\n '.confirm__defaultButtons': {\n display: 'flex',\n gap: spacing(3),\n },\n '.confirm__customButtons': {\n width: 'auto',\n },\n },\n};\n\nexport default confirm;\n","import { ThemeUICSSObject } from 'theme-ui';\nimport { spacing } from '../../../../util';\n\nconst table: ThemeUICSSObject = {\n display: 'flex',\n flexDirection: 'column',\n height: 'calc(100vh - 300px)',\n width: '100%',\n overflow: 'auto',\n position: 'relative',\n '.selection__keyHandler': {\n overflow: 'visible',\n position: 'inherit',\n },\n // overflow: 'auto',\n // flexBasis: '100%',\n // wordBreak: 'break-word',\n // display: 'flex',\n // flexDirection: 'column',\n\n '.confirm__buttonBar': {\n display: 'flex',\n justifyContent: 'space-between',\n flexBasis: '40px',\n flexGrow: 0,\n flexShrink: 0,\n\n '.confirm__defaultButtons': {\n display: 'flex',\n gap: spacing(3),\n },\n '.confirm__customButtons': {\n width: 'auto',\n },\n },\n};\n\nexport default table;\n","import { responsive, spacing } from '../../../../util';\nimport { ThemeUICSSObject } from 'theme-ui';\n\nconst tableModal: ThemeUICSSObject = {\n additionalFiltersModal: {\n '.modal__content': {\n overflow: 'hidden',\n\n '&.modal__content': {\n flexDirection: 'column',\n gap: spacing(4),\n\n '.additionalFilters__navbar': {\n display: 'flex',\n justifyContent: 'end',\n gap: spacing(4),\n },\n },\n },\n '.additionalFiltersContent': {\n width: '100%',\n minWidth: 'min(600px, 75vw)',\n maxWidth: '600px',\n overflow: 'hidden',\n display: 'flex',\n flexDirection: 'column',\n maxHeight: '100%',\n gap: spacing(3),\n\n '.accordion__item': {\n maxHeight: '100%',\n overflow: 'hidden',\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 100,\n mb: spacing(0),\n\n '.accordion__item__content': {\n overflow: 'auto',\n\n '&>div': {\n border: '1px solid',\n borderColor: 'palette.border.article',\n p: spacing(5),\n '& label': {\n flexDirection: 'column',\n justifyContent: 'stretch',\n textAlign: 'left',\n alignItems: 'stretch',\n\n span: {\n mb: spacing(1),\n },\n },\n },\n },\n },\n '#FilterTypes_content': {\n '& label': {\n mb: spacing(4),\n },\n '.confirmRow': {\n textAlign: 'right',\n },\n },\n },\n },\n\n '.modal__main': {\n maxHeight: responsive({ 0: '100vh', 5: '85vh', 6: '75vh' }),\n maxWidth: 'max-content',\n resize: 'horizontal',\n\n '&[style*=\"width\"]': {\n maxWidth: 'unset',\n },\n\n '.confirm__content': {\n justifyContent: 'space-between',\n maxHeight: '100%',\n overflow: 'hidden',\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n\n '.finder__content': {\n maxWidth: '100%',\n flexGrow: 100,\n border: '1px solid',\n borderColor: 'palette.border.section',\n overflow: 'auto',\n\n '.selection__keyHandler': {\n width: '100%',\n },\n },\n\n '.finder__statistics': {\n flexShrink: 0,\n },\n },\n },\n\n '.results': {\n mt: '7px',\n },\n};\n\nexport default tableModal;\n","import { ThemeUICSSObject, spacing } from '@apia/theme';\n/* IMPORT HERE */\n\nconst buttonsBar: ThemeUICSSObject = {\n flexDirection: 'row',\n display: 'flex',\n justifyContent: 'flex-end',\n gap: spacing(3),\n mb: spacing(0),\n};\n\nexport default buttonsBar;\n","import { ThemeUICSSObject } from 'theme-ui';\nimport { overlay } from './overlay';\nimport { spacing, responsive } from '../../../../util';\nimport getColorsByPath from '../../../colors/util/getColorsByPath';\nimport { apiaApi } from './apiaApi';\nimport confirm from './confirm';\nimport table from './table';\nimport tableModal from './tableModal';\nimport buttonsBar from './buttonsBar';\n/* IMPORT HERE */\n\nexport const modals: ThemeUICSSObject = {\n apiaApi,\n buttonsBar,\n confirm,\n ...overlay,\n table,\n tableModal,\n\n main: {\n boxShadow: 'modals',\n borderRadius: 'modals',\n zIndex: 'modal',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyItems: 'center',\n maxHeight: '100vh',\n maxWidth: 'calc(100vw - 10px)',\n resize: 'both',\n overflow: 'auto',\n border: '1px solid',\n gap: '0px !important',\n\n '&>div>div': {\n overflow: 'hidden',\n flexGrow: 0,\n flexShrink: 0,\n p: '3px',\n width: '100%',\n },\n 'div.modal__header': {\n alignItems: responsive({ 0: 'end', 4: 'center' }),\n flexShrink: 0,\n overflow: 'visible',\n p: '16px 20px',\n\n borderBottom: '1px solid lightgray',\n\n '.modal__headerBar': {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n },\n },\n 'div.modal__content': {\n overflow: 'auto',\n width: '100%',\n flexBasis: '100%',\n flexDirection: 'column',\n flexShrink: 1,\n display: 'flex',\n justifyContent: 'stretch',\n alignItems: 'stretch',\n p: '20px',\n },\n 'div.modal__content>form': {\n overflow: 'auto',\n width: '100%',\n flexBasis: '100%',\n flexShrink: 1,\n display: 'flex',\n justifyContent: 'stretch',\n alignItems: 'stretch',\n },\n ...getColorsByPath('modal'),\n },\n\n finder: {\n variant: 'layout.common.modals.main',\n height: responsive({ 0: '100vh', 3: '80vh' }),\n width: responsive({ 0: '95vw', 3: '80vw', 4: '70vw' }),\n\n '.modal__content': {\n overflow: 'hidden',\n\n '.confirm__content': {\n overflow: 'hidden',\n\n '.finder__content': {\n display: 'flex',\n alignItems: 'stretch',\n },\n\n '.selection__keyHandler': {\n overflow: 'hidden',\n height: '100%',\n\n '.responsiveTable__wrapper': {\n height: '100%',\n\n border: '1px solid',\n borderColor: 'palette.border.article',\n backgroundColor: 'palette.gray.900',\n },\n },\n },\n },\n\n '.responsiveTableContext__wrapper': {\n overflow: 'hidden',\n display: 'flex',\n flexDirection: 'column',\n height: '100%',\n\n '.responsiveTable__wrapper': {\n height: '100%',\n },\n },\n },\n sm: {\n variant: 'layout.common.modals.main',\n maxWidth: 'min(350px, calc(100vw - 10px))',\n },\n md: {\n variant: 'layout.common.modals.main',\n maxWidth: 'min(500px, calc(100vw - 10px))',\n },\n 'md-fixed': {\n variant: 'layout.common.modals.main',\n width: 'min(500px, calc(100vw - 10px))',\n maxHeight: responsive({ 0: '95vh', 2: '80vh' }),\n },\n lg: {\n variant: 'layout.common.modals.main',\n maxWidth: 'min(640px, calc(100vw - 10px))',\n },\n 'lg-fixed': {\n variant: 'layout.common.modals.main',\n width: '640px',\n height: '60vh',\n },\n xl: {\n variant: 'layout.common.modals.main',\n maxWidth: 'min(730px, calc(100vw - 10px))',\n },\n 'xl-fixed': {\n variant: 'layout.common.modals.main',\n width: responsive({ 0: '95vw', 2: '60vw' }),\n height: responsive({ 0: '95vh', 2: '80vh' }),\n },\n xxl: {\n variant: 'layout.common.modals.main',\n width: responsive({ 0: '95vw', 2: '80vw' }),\n maxHeight: responsive({ 0: '95vh', 2: '80vh' }),\n },\n 'xxl-fixed': {\n variant: 'layout.common.modals.main',\n width: responsive({ 0: '95vw', 2: '80vw' }),\n height: responsive({ 0: '95vh', 2: '80vh' }),\n },\n xxxl: {\n variant: 'layout.common.modals.main',\n width: responsive({ 0: '95vw', 2: '95vw' }),\n maxHeight: responsive({ 0: '95vh', 2: '95vh' }),\n },\n 'xxxl-fixed': {\n variant: 'layout.common.modals.main',\n width: responsive({ 0: '95vw', 2: '95vw' }),\n height: responsive({ 0: '95vh', 2: '95vh' }),\n },\n flex: {\n variant: 'layout.common.modals.main',\n maxWidth: '95vw',\n maxHeight: '95vh',\n '.modal__content': {\n p: spacing(2),\n overflow: 'auto',\n },\n },\n cal: {\n variant: 'layout.common.modals.sm',\n width: '350px',\n },\n editGrid: {\n variant: 'layout.common.modals.main',\n width: 'root',\n maxHeight: '90vh',\n },\n /* PREPEND HERE */\n};\n","import { ThemeUICSSObject } from 'theme-ui';\nimport { focusOutline } from '../../../../util';\n\nexport function getSelectionStyles() {\n return {\n 'td[data-focused=\"false\"], th[data-focused=\"false\"]': {\n '*:focus-visible, &:focus, &:focus-visible': {\n outline: 'none',\n },\n\n '*:focus': {\n ...focusOutline,\n },\n },\n '[data-focused=\"true\"]:not(.row__separator__cell)': {\n '&:not([data-editionmode=\"true\"])': {\n '&:focus, & > *:focus, *:focus-visible': {\n ...focusOutline,\n\n '&.cell__download__document': {\n outlineOffset: 0,\n },\n },\n },\n '&[data-editionmode=\"true\"]': {\n '&:focus, *:focus, *:focus-visible': {\n ...focusOutline,\n outlineStyle: 'dotted',\n outlineWidth: '6px',\n outlineOffset: '-4px',\n },\n },\n },\n '[data-focused=\"true\"].row__separator__cell': {\n backgroundColor: 'palette.secondary.main',\n outline: 'none',\n },\n } as ThemeUICSSObject;\n}\n","import { Theme, ThemeUICSSObject } from 'theme-ui';\nimport { responsive, spacing } from '../../../../util';\nimport { getSelectedColors } from '../../../colors';\nimport { getSelectionStyles } from './getSelectionStyles';\n\nexport const primary: (theme: Theme) => ThemeUICSSObject = (theme) => {\n return {\n variant: 'colors.tables.primary',\n width: '100%',\n backgroundColor: 'components.primaryTable.body.backgroundColor',\n border: '1px solid',\n borderColor: 'components.primaryTable.borderColor',\n borderCollapse: 'separate',\n borderSpacing: 0,\n tableLayout: 'fixed',\n\n thead: {\n zIndex: 1,\n position: 'sticky',\n insetBlockStart: 0,\n backgroundColor: 'palette.background.paper',\n\n 'tr:not(.filtersRow):not(.responsiveTable__filters__row)': {\n 'th, td': {\n variant: 'buttons.primary',\n py: responsive({ 0: 3, 4: 4 }),\n px: responsive({ 0: 3, 4: 4 }),\n width: 'breakWidth',\n backgroundColor: 'palette.primary.main',\n borderColor: 'palette.primary.dark',\n borderRadius: 0,\n borderStyle: 'solid',\n borderWidth: '1px',\n color: 'palette.primary.contrastText',\n display: 'table-cell',\n verticalAlign: 'center',\n wordBreak: 'break-word',\n\n '&[role=\"presentation\"]': {\n display: 'none',\n },\n\n ...theme.palette.getStatesFromPath('components.primaryTable.header'),\n\n '& *': {\n color: 'inherit',\n },\n\n '.headButton__label': {\n textAlign: 'left',\n d: '',\n },\n '.headButton__resizer': {\n width: '20px',\n cursor: 'ew-resize',\n zIndex: 1000,\n position: 'absolute',\n right: '-10px',\n height: '100%',\n },\n '&:last-of-type .headButton__resizer': {\n right: '0px',\n },\n\n '&.additionalColumn': {\n minWidth: '50px',\n maxWidth: '50px',\n width: '50px',\n p: 0,\n textAlign: 'center',\n verticalAlign: 'center',\n },\n\n '.headButton__container': {\n width: '100%',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: 3,\n\n svg: {\n flexShrink: 0,\n },\n },\n\n '&:not(:last-of-type)': {\n '&>div': {\n borderRightWidth: '1px',\n },\n },\n },\n 'th.requiredFilterColumn': {\n borderLeft: '4px solid !important',\n borderLeftColor: 'palette.error.main !important',\n },\n },\n 'tr.filtersRow, tr.responsiveTable__filters__row': {\n backgroundColor: 'components.primaryTable.body.backgroundColor',\n boxShadow: 'tableFilters',\n\n 'th.noFilter': {\n background: 'transparent',\n },\n 'td.requiredFilter__Border': {\n borderLeftStyle: 'solid !important',\n borderLeftWidth: '4px !important',\n borderLeftColor: 'palette.error.main',\n },\n\n td: {\n 'input:not([disabled]), select:not([disabled])': {\n border: '1px solid white',\n },\n background: 'transparent',\n border: '1px solid',\n borderColor: 'components.primaryTable.body.borderColor',\n p: 0,\n },\n\n transition: 'height 0.3s',\n\n '&.hidden': {\n height: '0',\n overflow: 'hidden',\n p: spacing(0),\n border: 'none',\n\n '& *': {\n height: '0',\n overflow: 'hidden',\n fontSize: 0,\n lineHeight: 0,\n p: spacing(0),\n border: 'none',\n },\n },\n },\n },\n tbody: {\n tr: {\n borderBottomWidth: '1px',\n borderBottomStyle: 'solid',\n ...theme.palette.getColorsByPath('components.primaryTable.body'),\n '&:nth-of-type(2n)': {\n backgroundColor:\n 'components.primaryTable.body.evenRowsBackgroundColor',\n },\n\n '&.non-selectable': {\n cursor: 'not-allowed',\n },\n\n '&.hidden': {\n display: 'none',\n },\n\n ...getSelectedColors(theme.palette),\n\n '&.draggingRow': {\n outline: '3px dotted',\n outlineColor: 'components.primaryTable.header.borderColor',\n outlineOffset: '-3px',\n\n '*': {\n outline: 'none !important',\n },\n },\n\n borderColor: 'components.primaryTable.body.borderColor',\n\n '.rowStatesList': {\n display: 'flex',\n gap: spacing(3),\n alignItems: 'center',\n\n svg: {\n width: 'smallIcon',\n height: 'smallIcon',\n cursor: 'pointer',\n },\n },\n\n td: {\n verticalAlign: 'top',\n wordBreak: 'break-word',\n\n border: 'none',\n borderBottom: '1px solid',\n background: 'transparent',\n borderColor: 'components.primaryTable.body.borderColor',\n\n '&.stickyColumn': {\n position: 'sticky',\n left: 0,\n backgroundColor: 'components.primaryTable.body.backgroundColor',\n },\n\n '.moreInformationButton': {\n width: '30px',\n height: '30px',\n padding: '3px',\n border: 'none',\n background: 'transparent',\n },\n },\n '&.locked': {\n ...theme.palette.getOneState(\n { backgroundColor: 'palette.background.paper' },\n 'disabled',\n ),\n '&:hover': {\n ...theme.palette.getOneState(\n { backgroundColor: 'palette.background.paper' },\n 'disabled',\n ),\n },\n td: {\n borderColor: 'palette.gray.850',\n },\n },\n },\n td: {\n p: spacing(3),\n },\n\n '.responsiveTable__additionalInfoContainer': {\n display: 'grid',\n gridTemplateColumns: responsive({\n 0: 'repeat(2, 1fr)',\n 5: 'repeat(4, 1fr)',\n }),\n columnGap: 3,\n rowGap: 2,\n },\n '.responsiveTable__additionalInfoContainer .responsiveTable__additionalInfoItem.separator':\n {\n gridColumnStart: '1',\n gridColumnEnd: '5',\n borderBottom: '1px solid',\n borderBottomColor: 'palette.gray.700',\n height: 'auto',\n },\n },\n '.editionMode': {\n border: '3px solid',\n borderColor: 'components.primaryTable.header.borderColor',\n borderWidth: '1.5px',\n borderStyle: 'dotted',\n },\n\n '.stateCell': {\n width: '50px',\n maxWidth: '50px',\n minWidth: '50px',\n textAlign: 'center',\n verticalAlign: 'middle',\n },\n\n ...getSelectionStyles(),\n '.no__registers': {\n py: 6,\n minWidth: '200px',\n },\n '.requiredFilter__Column': {\n fontWeight: 'bold',\n },\n\n '.bold': {\n fontWeight: 'bold',\n },\n\n '.light': {\n color: '#6a6a6a',\n },\n\n '.additionalInfo__cell, .stateCell': {\n verticalAlign: 'middle',\n },\n };\n};\n","import { ThemeUICSSObject } from 'theme-ui';\nimport { spacing } from '../../../../util';\n\nexport const information: ThemeUICSSObject = {\n width: '100%',\n\n thead: {\n tr: {\n th: {\n bg: 'primary',\n color: 'white',\n textAlign: 'center',\n fontWeight: 'bold',\n p: spacing(4),\n },\n },\n },\n\n tbody: {\n tr: {\n 'td,th': {\n borderBottom: '1px solid',\n borderBottomColor: 'palette.border.article',\n p: spacing(3),\n },\n\n '&:last-of-type th, &:last-of-type td': {\n borderBottom: 'none',\n },\n th: {\n textAlign: 'left',\n verticalAlign: 'top',\n whiteSpace: 'nowrap',\n minWidth: 'min-content',\n width: 0,\n },\n },\n },\n};\n","import { ThemeUICSSObject } from 'theme-ui';\nimport { spacing } from '../../../../util';\n\nexport const accordion: ThemeUICSSObject = {\n display: 'flex',\n flexDirection: 'column',\n gap: spacing(2),\n\n '.responsiveTable__accordionElement__toggler': () => ({\n variant: 'buttons.outline',\n\n borderWidth: '1px',\n display: 'flex',\n gap: spacing(3),\n alignItems: 'stretch',\n width: '100%',\n px: 4,\n py: 3,\n '&:hover': {\n h3: {\n color: 'palette.primary.contrastText',\n },\n },\n\n '.accordionElement__toggler__checkbox': {\n flexShrink: 0,\n m: spacing(2),\n },\n\n '.accordionElement__toggler__button': {\n flexGrow: 100,\n display: 'flex',\n justifyContent: 'space-between',\n py: 2,\n pr: spacing(2),\n alignItems: 'center',\n\n '.accordionElement__toggler__label': {\n flexGrow: 100,\n m: spacing(0),\n textAlign: 'left',\n fontSize: 16,\n },\n\n '.accordionElement__toggler__expandIcon': {\n flexShrink: 0,\n svg: {\n width: '32px',\n },\n },\n },\n }),\n\n '.responsiveTable__accordionElement__content': {\n display: 'flex',\n flexDirection: 'column',\n '& > div': {\n backgroundColor: 'palette.background.paper',\n transition: 'padding-bottom 300ms, padding-top 300ms',\n px: 5,\n },\n\n '&.rah-static--height-zero': {\n '& > div': { py: 0 },\n },\n\n '&.rah-static--height-auto, &.rah-animating--down': {\n '& > div': { py: 5 },\n },\n '.priority_container': { display: 'flex', alignItems: 'center' },\n '.priority': { display: 'flex' },\n },\n};\n","import { ThemeUICSSObject } from 'theme-ui';\n\nexport const print: ThemeUICSSObject = {\n border: '2px solid',\n borderColor: 'printView.list.table.borderColor',\n\n 'td, th': {\n p: 3,\n textAlign: 'left',\n },\n};\n","import { Theme, ThemeUICSSObject } from 'theme-ui';\nimport tinycolor from 'tinycolor2';\n/* IMPORT HERE */\n\nexport const responsive: (theme: Theme) => ThemeUICSSObject = (theme) => {\n return {\n maxHeight: '100%',\n overflow: 'auto',\n position: 'relative',\n // borderRadius: '10px',\n\n '&.isLoading': {\n overflow: 'hidden',\n },\n\n '.responsiveTable__isLoading': {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n background: tinycolor(theme.palette.background.paper)\n .setAlpha(0.7)\n .toRgbString(),\n zIndex: 1,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n },\n\n '.cell__download__document': {\n display: 'flex',\n gap: 3,\n alignItems: 'center',\n justifyContent: 'start',\n\n '&, *': {\n color: 'palette.primary.main',\n },\n\n svg: {\n flexShrink: 0,\n },\n },\n /* PREPEND HERE */\n };\n};\n","import { ThemeUICSSObject } from 'theme-ui';\nimport getColorsAndStatesByPath from '../../../colors/util/getColorsAndStatesByPath';\n\nexport const secondary: ThemeUICSSObject = {\n variant: 'layout.common.tables.primary',\n borderColor: 'components.secondaryTable.borderColor',\n\n '& thead': {\n 'tr:not(.filtersRow):not(.responsiveTable__filters__row)': {\n '& th, & td': () => ({\n ...getColorsAndStatesByPath('components.secondaryTable.header'),\n }),\n },\n },\n '& tbody': {\n tr: {\n '&:nth-of-type(2n)': {\n backgroundColor:\n 'components.secondaryTable.body.evenRowsBackgroundColor',\n },\n\n td: {\n borderColor: 'components.secondaryTable.body.borderColor',\n },\n\n '&[aria-selected=\"true\"]': {\n backgroundColor:\n 'components.secondaryTable.body.selectedRows.backgroundColor',\n '& td': {\n borderColor:\n 'components.secondaryTable.body.selectedRows.borderColor',\n },\n color: 'components.secondaryTable.body.selectedRows.color',\n },\n\n borderBottomWidth: '1px',\n borderBottomStyle: 'solid',\n ...getColorsAndStatesByPath('components.secondaryTable.body', {\n states: {\n disabled: false,\n readonly: false,\n active: false,\n hover: false,\n checked: false,\n focus: false,\n selected: false,\n },\n }),\n },\n },\n};\n","import { Theme, ThemeUICSSObject } from 'theme-ui';\nimport { responsive, spacing } from '../../../../util';\nimport { getSelectedColors } from '../../../colors';\nimport { getSelectionStyles } from './getSelectionStyles';\n\nexport const clean: (theme: Theme) => ThemeUICSSObject = (theme) => {\n return {\n variant: 'colors.tables.primary',\n width: '100%',\n backgroundColor: 'components.cleanTable.body.backgroundColor',\n border: '1px solid',\n borderColor: 'components.cleanTable.borderColor',\n borderCollapse: 'inherit',\n borderSpacing: 0,\n tableLayout: 'fixed',\n selection__keyHandler: {\n maxHeight: '30vh',\n },\n\n thead: {\n zIndex: 1,\n position: 'sticky',\n insetBlockStart: 0,\n backgroundColor: 'palette.background.paper',\n\n 'tr:not(.filtersRow):not(.responsiveTable__filters__row)': {\n 'th, td': {\n variant: 'buttons.primary',\n width: 'breakWidth',\n backgroundColor: 'palette.background.paper',\n borderColor: 'palette.primary.dark',\n borderRadius: 0,\n borderStyle: 'solid',\n borderWidth: '1px',\n color: 'primary.text.primary',\n display: 'table-cell',\n verticalAlign: 'center',\n wordBreak: 'break-word',\n p: 0,\n px: 0,\n py: 0,\n border: 'none',\n borderBottom: '1px solid #ccc',\n\n '&[role=\"presentation\"]': {\n display: 'none',\n },\n\n ...theme.palette.getStatesFromPath('components.cleanTable.header'),\n\n '& *': {\n color: 'inherit',\n },\n\n '.headButton__label': {\n fontWeight: 'bold',\n textAlign: 'left',\n p: 0,\n d: '',\n\n '& > *': {\n py: responsive({ 0: 3, 4: 4 }),\n px: 4,\n },\n },\n '.headButton__resizer': {\n width: '20px',\n cursor: 'ew-resize',\n zIndex: 1000,\n position: 'absolute',\n right: '-10px',\n height: '100%',\n },\n '&:last-of-type .headButton__resizer': {\n right: '0px',\n },\n\n '&.additionalColumn': {\n minWidth: '50px',\n maxWidth: '50px',\n width: '50px',\n p: 0,\n textAlign: 'center',\n verticalAlign: 'center',\n },\n\n '.headButton__container': {\n width: '100%',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: 3,\n\n svg: {\n flexShrink: 0,\n },\n },\n\n '&:not(:last-of-type)': {\n '&>div': {\n borderRightWidth: '1px',\n },\n },\n },\n 'th.requiredFilterColumn': {\n borderLeft: '4px solid !important',\n borderLeftColor: 'palette.error.main !important',\n },\n },\n 'tr.filtersRow, tr.responsiveTable__filters__row': {\n backgroundColor: 'components.cleanTable.body.backgroundColor',\n\n 'th.noFilter': {\n background: 'transparent',\n },\n 'td.requiredFilter__Border': {\n borderLeftStyle: 'solid !important',\n borderLeftWidth: '4px !important',\n borderLeftColor: 'palette.error.main',\n },\n\n td: {\n 'input:not([disabled]), select:not([disabled])': {\n border: '1px solid white',\n },\n background: 'transparent',\n border: '1px solid',\n borderColor: 'components.cleanTable.body.borderColor',\n p: 0,\n },\n\n transition: 'height 0.3s',\n\n '&.hidden': {\n height: '0',\n overflow: 'hidden',\n p: spacing(0),\n border: 'none',\n\n '& *': {\n height: '0',\n overflow: 'hidden',\n fontSize: 0,\n lineHeight: 0,\n p: spacing(0),\n border: 'none',\n },\n },\n },\n },\n tbody: {\n tr: {\n ...theme.palette.getStatesFromPath('components.cleanTable.body', {\n states: {\n disabled: false,\n readonly: false,\n active: false,\n hover: false,\n checked: false,\n focus: false,\n path: false,\n selected: false,\n },\n }),\n '&:nth-of-type(2n)': {\n backgroundColor: 'components.cleanTable.body.evenRowsBackgroundColor',\n },\n\n '&.non-selectable': {\n cursor: 'not-allowed',\n },\n\n '&.hidden': {\n display: 'none',\n },\n\n '&.locked': {\n background: 'palette.gray.900',\n td: {\n borderColor: 'palette.gray.850',\n },\n },\n\n ...getSelectedColors(theme.palette),\n\n '&.draggingRow': {\n outline: '3px dotted',\n outlineColor: 'components.cleanTable.header.borderColor',\n outlineOffset: '-3px',\n\n '*': {\n outline: 'none !important',\n },\n },\n\n '.rowStatesList': {\n display: 'flex',\n gap: spacing(3),\n alignItems: 'center',\n\n svg: {\n width: 'smallIcon',\n height: 'smallIcon',\n cursor: 'pointer',\n },\n },\n\n td: {\n border: 'none',\n display: 'table-cell',\n p: 0,\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n wordBreak: 'break-word',\n button: {\n height: 'fit-content',\n display: 'flex',\n },\n '&.stickyColumn': {\n position: 'sticky',\n left: 0,\n backgroundColor: 'components.cleanTable.body.backgroundColor',\n },\n\n '.moreInformationButton': {\n width: '30px',\n height: '30px',\n padding: '3px',\n border: 'none',\n background: 'transparent',\n },\n\n '.autoellipsis__container': {\n width: '100%',\n },\n\n '& > *': {\n py: spacing(3),\n px: 4,\n },\n borderBottomWidth: '1px',\n borderBottomStyle: 'solid',\n borderBottomColor: 'components.cleanTable.body.borderColor',\n },\n },\n\n '.responsiveTable__additionalInfoContainer': {\n background:\n 'components.cleanTable.body.additionalInfoButton.backgroundColor',\n display: 'grid',\n gridTemplateColumns: responsive({\n 0: 'repeat(2, 1fr)',\n 5: 'repeat(4, 1fr)',\n }),\n columnGap: 3,\n rowGap: 2,\n '.listPanel__details': {\n pl: 6,\n },\n },\n '.responsiveTable__additionalInfoContainer .responsiveTable__additionalInfoItem.separator':\n {\n gridColumnStart: '1',\n gridColumnEnd: '5',\n borderBottom: '1px solid',\n borderBottomColor: 'palette.gray.700',\n height: 'auto',\n },\n },\n '.editionMode': {\n border: '3px solid',\n borderColor: 'components.cleanTable.header.borderColor',\n borderWidth: '1.5px',\n borderStyle: 'dotted',\n },\n\n '.stateCell': {\n width: '50px',\n maxWidth: '50px',\n minWidth: '50px',\n textAlign: 'center',\n verticalAlign: 'middle',\n },\n\n ...getSelectionStyles(),\n '.no__registers': {\n py: 6,\n minWidth: '200px',\n },\n '.requiredFilter__Column': {\n fontWeight: 'bold',\n },\n\n '.bold': {\n fontWeight: 'bold',\n },\n\n '.light': {\n color: 'palette.gray.700',\n },\n '.additionalInfo__cell': {\n path: {\n fill: 'components.cleanTable.body.additionalInfoButton.color',\n },\n },\n\n '.additionalInfo__cell, .stateCell': {\n verticalAlign: 'middle',\n },\n '.isAcquired': {\n td: {\n div: {\n color: 'acquiredColor',\n },\n },\n },\n };\n};\n","import { Theme, ThemeUICSSObject } from 'theme-ui';\nimport { primary } from './primary';\nimport { information } from './information';\nimport { accordion } from './accordion';\nimport { print } from './print';\nimport { responsive } from './responsive';\nimport { secondary } from './secondary';\nimport { clean } from './clean';\n\nexport const tables: (theme: Theme) => ThemeUICSSObject = (theme) => {\n return {\n accordion,\n information,\n primary: primary(theme),\n print,\n responsive: responsive(theme),\n secondary,\n clean: clean(theme),\n /* PREPEND HERE */\n };\n};\n","import { ThemeUICSSObject } from 'theme-ui';\nimport { spacing } from '../../../../util';\n/* IMPORT HERE */\n\nexport const captcha: ThemeUICSSObject = {\n display: 'flex',\n flexDirection: 'column',\n gap: spacing(2),\n\n '.captcha__imageContainer': {\n border: '1px solid',\n borderColor: 'palette.border.field',\n p: spacing(4),\n },\n\n '.captcha__inputContainer': {\n display: 'flex',\n gap: spacing(2),\n justifyContent: 'stretch',\n\n input: {\n flexGrow: 1,\n width: '100%',\n },\n\n '.captcha__buttons': {\n width: '24px',\n flexDirection: 'column',\n display: 'flex',\n gap: spacing(2),\n flexShrink: 0,\n\n button: {\n width: '24px',\n height: '24px',\n p: '5px',\n variant: 'buttons.icon-outline',\n\n svg: {\n color: 'palette.text.primary',\n height: '16px',\n width: '16px',\n },\n },\n },\n },\n};\n","import { ThemeUICSSObject } from 'theme-ui';\nimport { captcha } from './captcha';\n/* IMPORT HERE */\n\nexport const forms: ThemeUICSSObject = {\n captcha,\n /* PREPEND HERE */\n};\n","import { Theme, ThemeUICSSObject } from 'theme-ui';\nimport { focusOutline } from '../../../../util';\n\nconst primary: (theme: Theme) => ThemeUICSSObject = (theme) => {\n return {\n /* PREPEND HERE */\n position: 'relative',\n\n '[role=\"tree\"]:focus': {\n outline: 'none',\n '.focus': focusOutline,\n },\n\n '&[role=\"tree\"].mobxtree :focus': {\n outline: 'none',\n },\n '&[role=\"tree\"].mobxtree:focus-within': {\n '.focus > .mobxtree__node__label__wrapper': focusOutline,\n },\n\n ul: {\n listStyle: 'none',\n p: 0,\n },\n\n '.mobxtree__children__group': {\n borderLeft: '1px dotted',\n borderLeftColor: 'palette.border.section',\n ml: '5px',\n pl: '15px',\n },\n\n '.tree__searchLabelBox': {\n alignItems: 'center',\n borderRadius: '2px',\n display: 'flex',\n float: 'right',\n justifyContent: 'center',\n position: 'sticky',\n right: '4px',\n top: '4px',\n transform: 'translateX(0)',\n width: '100%',\n zIndex: 'stickyElements',\n\n '.tree__loading': {\n position: 'fixed',\n top: 0,\n right: '4px',\n height: 'iconMd',\n width: 'iconMd',\n background: 'palette.background.paper',\n },\n\n button: {\n cursor: 'pointer',\n\n '&:hover': {\n textDecoration: 'underline',\n },\n },\n },\n\n '.tree__searchLabel': {\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'center',\n position: 'fixed',\n p: '2px 5px',\n right: 0,\n top: 0,\n\n ...theme.palette.getOneState(\n { backgroundColor: 'palette.background.paper' },\n 'selected',\n ),\n },\n\n '[role=\"treeitem\"]': {\n '&[aria-expanded=\"false\"] ul': {\n display: 'none',\n },\n\n '&[aria-selected=\"true\"] > .tree__nodeItemLabel':\n theme.palette.getOneState(\n { backgroundColor: 'palette.background.paper' },\n 'selected',\n ),\n\n background: 'transparent',\n },\n\n '.mobxtree__node__label': {\n flexGrow: 1,\n },\n\n '.mobxtree__node__label__icons': {\n flexShrink: 0,\n },\n\n '.tree__nodeItemLabel, .mobxtree__node__label__wrapper': {\n display: 'flex',\n flexWrap: 'nowrap',\n alignItems: 'center',\n wordBreak: 'break-all',\n\n button: {\n cursor: 'pointer',\n\n '&:hover': {\n textDecoration: 'underline',\n },\n\n span: {\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n },\n },\n\n '.tree__nodeItemLabelRenderer': {\n display: 'flex',\n overflow: ' hidden',\n width: '100%',\n },\n\n '.button__content': {\n textAlign: 'left',\n },\n\n '& > *:not(.tree__nodeItemLabelRenderer)': {\n flexShrink: 0,\n textAlign: 'left',\n },\n\n '&:hover': theme.palette.getOneState(\n { backgroundColor: 'palette.background.paper' },\n 'hover',\n ),\n },\n '.tree__expanderWrapper, .mobxtree__node__expander': {\n display: 'inline-flex',\n ml: '-10px',\n pl: '5px',\n\n 'svg.tree__expandIcon, svg.mobxtree__node__expandIcon': {\n color: 'palette.text.primary',\n },\n },\n\n '.tree__node__icon': {\n mr: '3',\n },\n\n '.spacer': {\n borderLeft: '1px dotted',\n borderLeftColor: 'palette.border.section',\n width: '20px',\n alignSelf: 'stretch',\n transform: 'translateX(5px)',\n pointerEvents: 'none',\n },\n };\n};\n\nexport default primary;\n","import { Theme, ThemeUICSSObject } from 'theme-ui';\r\nimport { focusOutline } from '../../../../util';\r\n\r\nconst mobx: (theme: Theme) => ThemeUICSSObject = (theme) => {\r\n return {\r\n variant: 'layout.common.trees.primary',\r\n overflow: 'auto',\r\n '[role=\"treeitem\"]': {\r\n '&[aria-expanded=\"false\"] ul': {\r\n display: 'none',\r\n },\r\n\r\n '&[aria-selected=\"true\"] > .mobxtree__node__label__wrapper':\r\n theme.palette.getOneState(\r\n { backgroundColor: 'palette.background.paper' },\r\n 'selected',\r\n ),\r\n\r\n background: 'transparent',\r\n },\r\n\r\n '&[role=\"tree\"].mobxtree :focus': {\r\n outline: 'none',\r\n\r\n '& > .mobxtree__node__label__wrapper': focusOutline,\r\n },\r\n '&[role=\"tree\"].mobxtree .mobx__node__label__icon:focus': focusOutline,\r\n\r\n '.mobxtree__children__group': {\r\n p: 0,\r\n m: 0,\r\n },\r\n\r\n '.mobxtree__node__label': {\r\n alignItems: 'center',\r\n display: 'flex',\r\n flexGrow: 1,\r\n flexShrink: 1,\r\n gap: 3,\r\n\r\n '.mobxtree__node__label__renderer': {},\r\n },\r\n\r\n '.mobxtree__node__label__icons': {\r\n display: 'flex',\r\n flexShrink: 0,\r\n gap: 3,\r\n },\r\n\r\n '.mobxtree__node__label__wrapper': {\r\n alignItems: 'center',\r\n display: 'flex',\r\n flexWrap: 'nowrap',\r\n gap: 3,\r\n wordBreak: 'break-all',\r\n\r\n button: {\r\n cursor: 'pointer',\r\n\r\n '&:hover': {\r\n textDecoration: 'underline',\r\n },\r\n\r\n span: {\r\n textOverflow: 'ellipsis',\r\n overflow: 'hidden',\r\n whiteSpace: 'nowrap',\r\n },\r\n },\r\n\r\n '&:hover': theme.palette.getOneState(\r\n { backgroundColor: 'palette.background.paper' },\r\n 'hover',\r\n ),\r\n },\r\n\r\n '.mobxtree__node__expander, .icon__wrapper': {\r\n display: 'inline-flex',\r\n flexShrink: 0,\r\n\r\n 'svg.mobxtree__node__expandIcon': {\r\n color: 'palette.text.primary',\r\n },\r\n },\r\n\r\n '.spacer': {\r\n alignSelf: 'stretch',\r\n borderLeft: '1px dotted',\r\n borderLeftColor: 'palette.border.section',\r\n flexShrink: 0,\r\n pointerEvents: 'none',\r\n transform: 'translateX(9px)',\r\n width: '20px',\r\n },\r\n\r\n '.tree__node__icon': {\r\n height: '20px',\r\n padding: '2px',\r\n width: '20px',\r\n },\r\n };\r\n};\r\n\r\nexport default mobx;\r\n","import { ThemeUICSSObject } from 'theme-ui';\nimport primary from './primary';\nimport mobx from './mobx';\n\nexport const trees: ThemeUICSSObject = {\n mobx,\n primary,\n};\n","/* IMPORT HERE */\n\nimport { ThemeUICSSObject } from 'theme-ui';\n\nexport const primary: ThemeUICSSObject = {\n background: 'white',\n border: '1px solid #ccc',\n borderRadius: 'tooltips',\n p: 3,\n zIndex: 'tooltip',\n /* PREPEND HERE */\n};\n","import { ThemeUICSSObject } from 'theme-ui';\nimport { primary } from './primary';\n/* IMPORT HERE */\n\nexport const tooltips: ThemeUICSSObject = {\n primary,\n /* PREPEND HERE */\n};\n","import { ThemeUICSSObject } from 'theme-ui';\nimport {\n getColorsAndStatesByPath,\n getColorsByPath,\n} from '../../../../../methods';\nimport { responsive, spacing } from '../../../../../util';\n\nconst common: (type: string) => ThemeUICSSObject = (type) => ({\n ...getColorsByPath(type),\n gap: spacing(1),\n justifyContent: 'stretch',\n\n '&.onlyRefresh': {\n justifyContent: 'end',\n },\n alignItems: 'center',\n padding: 1,\n display: 'flex',\n\n '.pagination__leftToolbar': {\n alignItems: 'center',\n display: 'flex',\n width: '100%',\n },\n '.pagination__deleteLabels': {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n '.pagination__selectPage': {\n width: '80px',\n top: '80px',\n textAlign: 'center',\n },\n\n '.iconButton': {\n height: '36px',\n width: '36px',\n\n ...getColorsAndStatesByPath(`${type}.icons`, {\n states: { disabled: false, path: false },\n }),\n '&:disabled': {\n background: 'transparent',\n },\n },\n '.recordsCounter': {\n color: 'palette.primary.contrastText',\n pl: spacing(3),\n },\n '.reachedMax': {\n color: 'red',\n pl: 2,\n },\n '.pagination__controls': {\n flexGrow: 1,\n justifyContent: 'center',\n flexShrink: 0,\n '&.onlyRefresh': {\n justifyContent: 'end',\n },\n alignItems: 'stretch',\n padding: 1,\n display: 'flex',\n width: responsive({ 0: 'max-content', 2: 'auto' }),\n\n 'select ~ svg': {\n display: 'none',\n },\n\n '.input': {\n display: 'flex',\n alignItems: 'center',\n gap: spacing(3),\n fontSize: '1em',\n border: '1px solid',\n paddingY: 1,\n paddingX: 4,\n ...getColorsByPath(`${type}.pagesBox`),\n input: {\n font: 'inherit',\n background: 'none',\n border: 'none',\n width: '30px',\n padding: 0,\n textAlign: 'center',\n },\n span: {\n font: 'inherit',\n display: 'block',\n width: '30px',\n },\n },\n },\n '.infoTooltip': {\n position: 'relative',\n display: 'inline-block',\n borderBottom: '1px dotted black',\n cursor: 'pointer',\n backgroundColor: '#f7d97f',\n },\n '.pagination__information': {\n p: 1,\n '.pagination__infoIcon': {\n display: 'flex',\n },\n },\n\n '.pagination__alertInfo': {\n variant: 'buttons.icon-primary',\n ...getColorsAndStatesByPath('buttons.iconAlert'),\n },\n '.pagination__rightToolbar': {\n display: 'flex',\n gap: 0,\n width: '100%',\n justifyContent: 'end',\n\n '.pagination__deleteFiltersButton': {\n variant: 'buttons.primary-sm',\n textDecoration: 'none',\n px: 3,\n '.button__content': {\n display: 'flex',\n flexDirection: 'row',\n gap: 3,\n },\n\n '.pagination__appliedFiltersLabel': {\n backgroundColor: 'palette.primary.contrastText',\n color: 'palette.text.title',\n borderRadius: '100%',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n minWidth: '1.5em',\n\n '&.withFilters': {\n backgroundColor: 'favorite',\n color: 'palette.text.primary',\n },\n },\n },\n },\n});\n\nexport default common;\n","import { ThemeUICSSObject } from 'theme-ui';\nimport common from './common';\n\nconst primary: ThemeUICSSObject = {\n ...common('components.paginationPrimary'),\n};\n\nexport default primary;\n","import { ThemeUICSSObject } from 'theme-ui';\nimport common from './common';\n\nconst datagrid: ThemeUICSSObject = {\n ...common('components.paginationDatagrid'),\n};\n\nexport default datagrid;\n","import { ThemeUICSSObject } from 'theme-ui';\nimport common from './common';\n\nconst primary: ThemeUICSSObject = {\n ...common('components.paginationSecondary'),\n};\n\nexport default primary;\n","import { ThemeUICSSObject } from 'theme-ui';\nimport primary from './primary';\nimport datagrid from './datagrid';\nimport secondary from './secondary';\n\nconst pagination: ThemeUICSSObject = {\n primary,\n datagrid,\n secondary,\n};\n\nexport default pagination;\n","import { ThemeUICSSObject } from 'theme-ui';\nimport { spacing } from '../../../../util';\n\nexport const accordion: ThemeUICSSObject = {\n primary: {\n '&, .accordion__item': {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'stretch',\n },\n '.accordion__item__button__rightGroup': {\n flexShrink: 0,\n },\n '.accordion__item__button__leftGroup, .accordion__item__button__rightGroup':\n {\n alignItems: 'center',\n display: 'flex',\n gap: 3,\n\n '& > *': {\n flexShrink: 0,\n\n '&.accordion__item__button__label': {\n flexShrink: 1,\n },\n },\n },\n\n '.accordion__item__button__label': {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n flexShrink: 1,\n color: 'palette.primary.contrastText',\n fontSize: 16,\n },\n\n '.accordion__item__button__check': {\n width: '32px',\n height: '32px',\n background: 'palette.background.paper',\n border: '1px solid',\n // borderColor: 'palette.border.field',\n cursor: 'pointer',\n display: 'flex',\n alignItems: 'stretch',\n justifyContent: 'stretch',\n p: 2,\n\n svg: {\n color: 'palette.text.primary',\n height: '100%',\n width: '100%',\n },\n },\n\n '.accordion__item:last-of-type > *': {\n borderBottom: '1px solid',\n borderBottomColor: 'palette.border.section',\n },\n\n '.accordion__item__content > *': {\n p: 4,\n borderLeft: '1px solid',\n borderRight: '1px solid',\n borderLeftColor: 'palette.border.section',\n borderRightColor: 'palette.border.section',\n },\n\n '.accordion__item__button': {\n width: '100%',\n p: 3,\n\n '.button__content': {\n alignItems: 'center',\n display: 'flex',\n gap: spacing(3),\n justifyContent: 'space-between',\n width: '100%',\n },\n },\n '.accordion__cell__renderer': {\n display: 'flex',\n },\n },\n panels: {\n variant: 'layout.common.components.accordion.primary',\n overflowX: 'hidden',\n '.accordion__item__button': {\n color: 'palette.text.primary',\n pl: 4,\n background: 'palette.background.paper',\n border: 'none',\n borderTop: '1px solid',\n borderColor: 'palette.border.section',\n boxShadow: 'rgba(0, 0, 0, 0.15) 1.95px 1.95px 2.6px',\n ':hover': {\n background: 'palette.gray.900',\n borderColor: 'palette.border.section',\n color: 'palette.text.primary',\n },\n ':active': {\n background: 'palette.border.section',\n },\n svg: {\n path: {\n fill: 'palette.text.primary',\n },\n },\n },\n\n '.accordion__item__button__label': {\n color: 'palette.text.primary',\n fontWeight: '400',\n },\n '.accordion__item__content[aria-hidden=\"true\"]': {\n border: 'none',\n },\n '.accordion__item__button__check': {\n borderColor: 'palette.border.section',\n borderRadius: '3px',\n },\n '.accordion__item__content': {\n background: 'palette.secondary.light',\n '[data-variant=\"link\"]': {\n px: 0,\n },\n div: {\n border: 'none',\n },\n },\n },\n};\n","import { ThemeUICSSObject } from '@apia/theme';\n/* IMPORT HERE */\n\nexport const chat: ThemeUICSSObject = {\n /* PREPEND HERE */\n height: 'calc(100vh - 300px)',\n width: '100%',\n border: '1px solid',\n borderColor: 'palette.border.section',\n\n '.autoscrollContainer': {\n display: 'flex',\n flexDirection: 'column',\n width: '100%',\n gap: 3,\n p: 3,\n },\n\n '.history__message': {\n borderRadius: '2px',\n p: 3,\n width: '80%',\n wordWrap: 'break-word',\n whiteSpace: 'pre-wrap',\n\n '&.user': {\n alignSelf: 'end',\n backgroundColor: '#90ee902b',\n },\n\n '&.system': {\n alignSelf: 'start',\n backgroundColor: '#5701f52b',\n },\n\n '&.warning': {\n alignSelf: 'start',\n backgroundColor: '#ffff0024',\n width: '100%',\n },\n\n '&.error': {\n alignSelf: 'start',\n backgroundColor: '#fd84212b',\n width: '100%',\n },\n\n '&.information': {\n alignSelf: 'start',\n backgroundColor: '#2222cc2b',\n width: '100%',\n },\n\n '&.multipleChoice': {\n p: 0,\n },\n\n '.multipleChoiceMessage:not(.customRenderer)': {\n background: '#0178f52b',\n td: { textAlign: 'center' },\n th: { backgroundColor: '#14597bab' },\n table: { borderBottom: '1px solid' },\n 'button.multipleChoice__option': {\n width: '-webkit-fill-available',\n backgroundColor: '#14597bab',\n },\n '.taskInfoDiv': {\n display: 'flex',\n justifyContent: 'space-evenly',\n },\n },\n\n '.multipleChoiceMessage.customRenderer': {\n display: 'flex',\n flexDirection: 'column',\n gap: 3,\n\n '& > p': {\n background: '#0178f52b',\n p: 3,\n },\n\n '.selection__keyHandler': {\n m: 0,\n padding: 3,\n border: '1px solid',\n borderColor: 'palette.border.article',\n borderRadius: 'panel',\n },\n },\n },\n\n '.help__container': {\n display: 'flex',\n flexDirection: 'column',\n gap: 4,\n },\n\n '.functionHelp': {\n display: 'flex',\n flexDirection: 'column',\n gap: 3,\n\n '.functionHelp__description, .functionHelp__usage': {\n pl: 5,\n },\n '.history__message': {\n wordWrap: 'break-word',\n overflow: 'hidden',\n whiteSpace: 'break-spaces',\n },\n },\n};\n","import { ThemeUICSSObject } from '@apia/theme';\r\n\r\nexport const toolbar: ThemeUICSSObject = {\r\n alignItems: 'center',\r\n backgroundColor: 'palette.background.default',\r\n display: 'flex',\r\n gap: '2px',\r\n py: '4px',\r\n px: '8px',\r\n\r\n '& > *': {\r\n alignItems: 'center',\r\n borderRadius: '4px',\r\n display: 'flex',\r\n flexShrink: 0,\r\n justifyContent: 'center',\r\n outline: 'none !important',\r\n p: 0,\r\n },\r\n\r\n '.toolbar__textButton': (theme) => ({\r\n variant: 'buttons.primary-sm',\r\n background: 'transparent',\r\n border: 'none',\r\n color: 'palette.text.primary',\r\n\r\n ...theme.palette.getStatesFromDefinition(\r\n {\r\n backgroundColor: theme.palette.background.default,\r\n },\r\n { states: { default: false } },\r\n ),\r\n\r\n '&.primary': theme.palette.getStatesFromPath('buttons.primary'),\r\n }),\r\n\r\n '.toolbar__select': () => ({\r\n padding: '4px',\r\n paddingLeft: '8px',\r\n paddingRight: '32px',\r\n }),\r\n\r\n '.toolbar__button': {\r\n border: 'none',\r\n borderRadius: '4px',\r\n height: '32px',\r\n width: '32px',\r\n background: 'transparent',\r\n svg: {\r\n path: {\r\n fill: 'palette.text.primary',\r\n },\r\n },\r\n\r\n '&:disabled': {\r\n svg: {\r\n path: {\r\n fill: 'palette.border.section',\r\n },\r\n },\r\n },\r\n },\r\n\r\n '.fieldLabel': {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n gap: 3,\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n },\r\n\r\n '.toolbar__input': {\r\n borderRadius: '4px',\r\n p: 3,\r\n width: '80px',\r\n },\r\n\r\n '.toolbar__separator': {\r\n borderLeft: '1px solid',\r\n borderRight: '1px solid',\r\n borderColor: 'palette.gray.750',\r\n height: '60%',\r\n width: '3px',\r\n },\r\n\r\n '.toggled': (theme) => {\r\n return {\r\n ...theme.palette.getOneState(\r\n { backgroundColor: theme.palette.background.default },\r\n 'selected',\r\n ),\r\n };\r\n },\r\n};\r\n","/* IMPORT HERE */\r\n\r\nimport { ThemeUICSSObject } from 'theme-ui';\r\nimport { focusOutline } from '../../../../util';\r\n\r\nconst autocomplete: ThemeUICSSObject = {\r\n '&:focus-within': focusOutline,\r\n\r\n '.autocomplete__inputWrapper': {\r\n position: 'relative',\r\n },\r\n\r\n '.autocomplete__icons': {\r\n alignItems: 'center',\r\n display: 'flex',\r\n gap: 2,\r\n height: '24px',\r\n position: 'absolute',\r\n right: '12px',\r\n top: 'calc(50% - 12px)',\r\n\r\n '.autocomplete__loadingSpinner': {\r\n width: '24px',\r\n height: '24px',\r\n },\r\n\r\n '.autocomplete__downArrow': {\r\n cursor: 'pointer',\r\n height: '12px',\r\n pointerEvents: 'none',\r\n width: '12px',\r\n },\r\n },\r\n\r\n optionsContainer: {\r\n background: 'palette.background.paper',\r\n border: '1px solid',\r\n borderColor: 'palette.border.field',\r\n overflow: 'auto',\r\n zIndex: 'tooltip',\r\n\r\n '.autocomplete__option': {\r\n variant: 'buttons.link',\r\n border: 'none',\r\n textDecoration: 'none',\r\n transition: 'unset',\r\n\r\n '&.focused, &:hover': (theme) =>\r\n theme.palette.getOneState(\r\n {\r\n backgroundColor: theme.palette.background.paper,\r\n color: theme.palette.text.primary,\r\n },\r\n 'selected',\r\n ),\r\n },\r\n },\r\n};\r\n\r\nexport default autocomplete;\r\n","import { ThemeUICSSObject } from 'theme-ui';\r\n\r\nexport const datePicker: ThemeUICSSObject = {\r\n maxWidth: '400px',\r\n};\r\n","import { ThemeUICSSObject } from 'theme-ui';\nimport pagination from './pagination';\nimport { accordion } from './accordion';\nimport { chat } from './chat';\nimport { toolbar } from './toolbar';\nimport autocomplete from './autocomplete';\nimport { datePicker } from './datePicker';\n/* IMPORT HERE */\nexport const components: ThemeUICSSObject = {\n /* PREPEND HERE */\n accordion,\n autocomplete,\n datePicker,\n pagination,\n chat,\n toolbar,\n};\n","import { ThemeUICSSObject, spacing } from '@apia/theme';\n\nconst labelBox: ThemeUICSSObject = {\n alignItems: 'center',\n border: '1px solid',\n borderColor: 'palette.border.field',\n display: 'flex',\n gap: spacing(3),\n justifyContent: 'space-between',\n p: spacing(3),\n\n '& > .labelAndIcon': {\n display: 'flex',\n alignItems: 'center',\n gap: spacing(3),\n\n '& ~ div button': {\n border: 'none',\n },\n\n svg: {\n minHeight: 'iconMd',\n minWidth: 'iconMd',\n },\n\n '&:last-of-type': {\n textAlign: 'right',\n },\n },\n};\n\nexport default labelBox;\n","import { ThemeUICSSObject } from 'theme-ui';\nimport labelBox from './labelBox';\n\nexport const boxes: ThemeUICSSObject = {\n labelBox,\n /* PREPEND HERE */\n};\n","import { Theme, ThemeUICSSObject } from 'theme-ui';\nimport { modals } from './modals';\nimport { tables } from './tables';\nimport { forms } from './forms';\nimport { trees } from './trees';\nimport { tooltips } from './tooltips';\nimport { components } from './components';\nimport { boxes } from './boxes';\n/* IMPORT HERE */\nexport const common: (theme: Theme) => ThemeUICSSObject = (theme) => {\n return {\n boxes,\n forms,\n modals,\n tables: tables(theme),\n components: components,\n trees,\n tooltips,\n /* PREPEND HERE */\n };\n};\n","import { ThemeUICSSObject } from '@apia/theme';\n/* IMPORT HERE */\n\nexport const collector: ThemeUICSSObject = {\n /* PREPEND HERE */\n formContainer: {\n display: 'flex',\n flexDirection: 'column',\n flexShrink: '1 !important',\n minWidth: 'min(400px, calc(100vw - 52px))',\n overflow: 'hidden',\n pr: 2,\n\n '.collector__fields': {\n overflow: 'auto',\n gap: '8px',\n display: 'flex',\n flexDirection: 'column',\n },\n\n '.collector__buttons': {\n display: 'flex',\n justifyContent: 'end',\n alignItems: 'end',\n gap: 4,\n },\n\n '.fieldWrapper.checkbox': {\n display: 'flex',\n flexDirection: 'row-reverse',\n gap: 4,\n alignItems: 'start',\n justifyContent: 'start',\n },\n\n '.validationsForm': {\n display: 'flex',\n flexDirection: 'column',\n gap: 4,\n overflow: 'hidden',\n },\n },\n\n modal: {\n '.modal__main': {},\n },\n};\n","import { ThemeUICSSObject } from 'theme-ui';\n/* IMPORT HERE */\n\nexport const speedui: ThemeUICSSObject = {\n /* PREPEND HERE */\n\n modal: {\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'center',\n left: 0,\n p: 5,\n pointerEvents: 'none',\n position: 'fixed',\n right: 0,\n top: 0,\n\n '.modal__main': {\n pointerEvents: 'all',\n },\n\n '.speedui__selector': {\n maxHeight: 'calc(100vh - 100px)',\n overflowY: 'auto',\n overflowX: 'hidden',\n position: 'relative',\n },\n\n '.speedui__autocomplete': {\n position: 'sticky',\n top: 0,\n },\n\n '.speedui__autocomplete, .speedui__option': {\n p: 3,\n textAlign: 'left',\n width: '400px',\n scrollMarginTop: '50px',\n },\n\n '.speedui__option.selected': (theme) => ({\n backgroundColor: theme.palette.getColor(\n theme.palette.background.paper,\n 'selected',\n ),\n color: theme.palette.getContrastText(\n theme.palette.getColor(theme.palette.background.paper, 'selected'),\n ),\n }),\n },\n};\n","import { ThemeUICSSObject } from '@apia/theme';\nimport { collector } from './collector';\nimport { speedui } from './speedui';\n/* IMPORT HERE */\n\nexport const util: ThemeUICSSObject = {\n collector,\n speedui,\n /* PREPEND HERE */\n};\n","import { ThemeUICSSObject } from 'theme-ui';\n\nconst frontColor = 'hsl(196, 37%, 13%)';\nexport const charts: ThemeUICSSObject = {\n red: {\n schema: 'schemas.red',\n },\n orange: {\n schema: 'schemas.orange',\n },\n green: {\n schema: 'schemas.green',\n },\n blue: {\n schema: 'schemas.blue',\n },\n violet: {\n schema: 'schemas.violet',\n },\n turquoise: {\n schema: 'schemas.turquoise',\n },\n yellow: {\n schema: 'schemas.yellow',\n },\n grey: {\n schema: 'schemas.grey',\n },\n ocean: {\n schema: 'schemas.ocean',\n },\n sunset: {\n schema: 'schemas.sunset',\n },\n common: {\n axis: {\n stroke: frontColor,\n title: frontColor,\n },\n schema: frontColor,\n background: 'hsl(200deg 20% 98%)',\n grid: {\n stroke: frontColor,\n opacity: '0.1',\n },\n toolTip: {\n backgroundColor: 'rgb(232, 241, 255)',\n border: '1px solid #07c',\n color: frontColor,\n padding: '.3rem .5rem',\n borderRadius: '3px',\n fontSize: '18px',\n boxShadow: '0 1px 2px rgba(33,33,33,0.2)',\n lineHeight: '1em',\n },\n },\n};\n","import { Theme, ThemeUICSSObject } from 'theme-ui';\nimport { common } from './common';\nimport { util } from './util';\nimport { charts } from './charts';\n/* IMPORT HERE */\n\nexport const layout: (theme: Theme) => Record<string, ThemeUICSSObject> = (\n theme,\n) => {\n return {\n charts,\n common: common(theme),\n util,\n /* PREPEND HERE */\n };\n};\n","import { ColorModesScale, Theme, ThemeUICSSObject } from 'theme-ui';\nimport merge from 'lodash-es/merge';\nimport { setValueByPath } from '@apia/util';\nimport { baseTheme as baseThemeMaker } from '../base/baseTheme';\nimport {\n TCustomPalette,\n TParsedPalette,\n TThemeModifier,\n} from '../base/colors/types';\nimport { getThemeColorsObject, parsePalette } from '../base/colors';\nimport defaultPalette from '../base/colors/defaultPalette';\nimport forms from '../base/forms';\nimport { layout } from '../base/layout';\n\nconst makeTheme = <T extends Theme>(t: T) => {\n return t;\n};\n\nlet declaredStyles: ThemeUICSSObject = {};\n\nexport function declareStyles(\n path: string,\n styles: ThemeUICSSObject | Record<string, ThemeUICSSObject>,\n) {\n const newStyles = {};\n setValueByPath(newStyles, path, styles);\n declaredStyles = merge(declaredStyles, newStyles);\n}\n\nexport function getMainTheme(\n customTheme?: () => Omit<Theme, 'palette'>,\n customPalette?: TCustomPalette,\n\n themeModifier?: TThemeModifier,\n) {\n const palette = parsePalette(merge({}, defaultPalette, customPalette));\n window.currentPalette = palette;\n\n const baseTheme = baseThemeMaker() as Theme;\n\n baseTheme.palette = palette;\n\n baseTheme.colors = getThemeColorsObject(\n baseTheme,\n ) as unknown as ColorModesScale;\n baseTheme.forms = forms(baseTheme) as any;\n baseTheme.layout = merge(layout(baseTheme), baseTheme.layout);\n\n baseTheme.styles = merge({}, customTheme?.().styles, {\n root: baseTheme.layout.root,\n });\n\n const theme = makeTheme(\n merge(baseTheme, { layout: declaredStyles }, customTheme?.() ?? {}, {\n palette: {} as TParsedPalette,\n }),\n );\n\n return themeModifier?.(theme) ?? theme;\n}\n","import { Theme, ThemeUICSSObject } from 'theme-ui';\nimport merge from 'lodash-es/merge';\nimport { EventEmitter, setValueByPath, useMount } from '@apia/util';\nimport { useRef, useState } from 'react';\nimport { getMainTheme } from './getMainTheme';\nimport { CustomTheme } from '../themeuiExports';\nimport { TCustomPalette, TThemeModifier } from '../base/colors/types';\n\nlet declaredStyles: ThemeUICSSObject = {};\n\nexport function getInjectedStyles() {\n return injectedStyles;\n}\n\nconst injectedStyles: Record<string, ThemeUICSSObject> = {};\n\nclass MainThemeEmitter extends EventEmitter<{\n newStyles: {\n path: string;\n styles: ThemeUICSSObject;\n };\n}> {}\n\nexport const mainThemeEmitter = new MainThemeEmitter();\n\nfunction handleNewStyles(ev: { path: string; styles: ThemeUICSSObject }) {\n injectedStyles[ev.path] = ev.styles;\n}\n\nconst unSubscribe = mainThemeEmitter.on('newStyles', handleNewStyles);\n\nexport function declareStyles(\n path: string,\n styles: ThemeUICSSObject | Record<string, ThemeUICSSObject>,\n) {\n const newStyles = {};\n setValueByPath(newStyles, path, styles);\n declaredStyles = merge(declaredStyles, newStyles);\n}\n\nexport function useMainTheme(\n customTheme?: () => CustomTheme,\n customPalette?: TCustomPalette,\n themeModifier?: TThemeModifier,\n) {\n const [theme, setTheme] = useState<Theme>(\n getMainTheme(customTheme, customPalette, themeModifier),\n );\n\n const previousTheme = useRef<(() => CustomTheme) | undefined>(customTheme);\n const previousPalette = useRef<TCustomPalette | undefined>(customPalette);\n\n if (previousTheme.current !== customTheme)\n setTheme(getMainTheme(customTheme));\n\n previousTheme.current = customTheme;\n\n if (previousPalette.current !== customPalette)\n setTheme(getMainTheme(customTheme, customPalette));\n\n previousPalette.current = customPalette;\n\n useMount(() => {\n setTheme((current) => {\n unSubscribe();\n let initialTheme = { ...current };\n Object.entries(injectedStyles).forEach(([path, styles]) => {\n const newStyles = setValueByPath({}, path, styles);\n initialTheme = merge(initialTheme, newStyles);\n });\n return initialTheme;\n });\n return mainThemeEmitter.on('newStyles', (ev) => {\n const newStyles = setValueByPath({}, ev.path, ev.styles);\n setTheme((current) => merge({ ...current }, newStyles));\n });\n });\n\n return theme;\n}\n","export function getVariant(variant: string) {\r\n return { variant, 'data-variant': variant };\r\n}\r\n","import { ThemeUIProvider, Theme } from 'theme-ui';\nimport { ReactNode } from 'react';\nimport { getMainTheme } from './getMainTheme';\n\ninterface TThemeProvider {\n children: ReactNode;\n customTheme?: () => Theme;\n}\n\nexport const CustomThemeProvider = ({\n children,\n customTheme,\n}: TThemeProvider) => {\n const theme: Theme = getMainTheme(customTheme);\n\n return <ThemeUIProvider theme={theme}>{children}</ThemeUIProvider>;\n};\n","import { setValueByPath } from '@apia/util';\nimport {\n FC,\n MutableRefObject,\n ReactNode,\n Suspense,\n useMemo,\n useRef,\n} from 'react';\nimport { ThemeUICSSObject, Box, useThemeUI } from 'theme-ui';\nimport { getVariant } from '../util/getVariant';\nimport { CustomThemeProvider } from './CustomThemeProvider';\n\n/**\n * Permite crear un componente cuyos estilos pueden ser redefinidos por un\n * usuario final.\n *\n * Esto es así puesto que los estilos definidos serán agregados a un árbol que\n * el usuario puede consultar y sobreescribir. De esta manera los estilos\n * finales del componente serán aquellos definidos en este método pero\n * sobreescritos por los definidos por el usuario si es que existen.\n *\n * **Importante** Para aplicar la variante, se aplica un box alrededor del\n * componente que se está renderizando, con className=\"variant__holder\". En caso\n * de que se quisiera evitar este comportamiento, se debe pasar unwraped = true\n *\n * @param displayName Este parámetro es importante para el debugger de React.\n * @param stylesPath La ruta donde se aplicarán los estilos, es importante asegurarse de que esa ruta ya no está siendo utilizada por otro componente.\n * @param styles Un objeto de estilos de ThemeUI\n * @param Component La definición del componente.\n * @returns Un componente reutilizable y exportable que tiene estilos aplicados.\n */\nexport function makeStyledComponent<T extends object>(\n displayName: string,\n stylesPath: string,\n styles: ThemeUICSSObject,\n Component: FC<T>,\n unwraped = false,\n) {\n return Object.assign(\n (props: T) => {\n const avoidFirstRender = useRef(0);\n const { theme: tuiTheme } = useThemeUI();\n const theme = useMemo(\n () => () => ({\n ...tuiTheme,\n ...setValueByPath({}, stylesPath, styles),\n }),\n [tuiTheme],\n );\n\n if (unwraped) {\n return (\n <CustomThemeProvider customTheme={theme}>\n <NoThemePrevent avoidFirstRender={avoidFirstRender}>\n <Suspense>\n <Component {...props} />\n </Suspense>\n </NoThemePrevent>\n </CustomThemeProvider>\n );\n }\n return (\n <CustomThemeProvider customTheme={theme}>\n <NoThemePrevent avoidFirstRender={avoidFirstRender}>\n <Box className=\"variant__holder\" {...getVariant(stylesPath)}>\n <Suspense>\n <Component {...props} />\n </Suspense>\n </Box>\n </NoThemePrevent>\n </CustomThemeProvider>\n );\n },\n { displayName },\n );\n}\n\nconst NoThemePrevent = ({\n avoidFirstRender,\n children,\n}: {\n avoidFirstRender: MutableRefObject<number>;\n children: ReactNode;\n}) => {\n // eslint-disable-next-line no-param-reassign\n avoidFirstRender.current++;\n\n if (avoidFirstRender.current <= 1) return null;\n\n return <>{children}</>;\n};\n","import { ThemeUICSSObject } from 'theme-ui';\nimport { mainThemeEmitter } from './useMainTheme';\n\n/**\n * Esta función permite agregar estilos al tema principal de la aplicación, de\n * modo que estén disponibles para cualquier componente que lo requirea.\n *\n * @example\n *\n * injectStyles('buttons.myRedButton', {\n * variant: 'buttons.primary',\n * backgroundColor: 'red',\n * })\n */\nexport function injectStyles(path: string, styles: ThemeUICSSObject): void;\n\n/**\n * Esta función permite agregar estilos al tema principal de la aplicación, de\n * modo que estén disponibles para cualquier componente que lo requirea.\n *\n * @example\n *\n * injectStyles({\n * layout: {\n * panels: {\n * myPanel: {\n * ...\n * }\n * }\n * }\n * })\n */\nexport function injectStyles(styles: ThemeUICSSObject): void;\n\nexport function injectStyles(\n par1: string | ThemeUICSSObject,\n par2?: ThemeUICSSObject,\n) {\n const path = typeof par1 === 'string' ? par1 : '';\n const styles = typeof par1 === 'string' ? (par2 as ThemeUICSSObject) : par1;\n\n mainThemeEmitter.emit('newStyles', { path, styles });\n}\n","export const spacingLayouts = [\n 'dense',\n 'clever',\n 'vertical__clever',\n 'horizontal__clever',\n] as const;\n\nexport type TSpacingLayout = (typeof spacingLayouts)[number];\n\nexport function getSpacingLayouts() {\n return {\n '&.dense': {\n px: 0,\n py: 0,\n },\n '&.horizontal__clever': {\n px: 4,\n py: 0,\n },\n '&.vertical__clever': {\n px: 0,\n py: 4,\n },\n '&.clever': {\n px: 4,\n py: 4,\n },\n };\n}\n","import { Theme, ThemeProvider } from 'theme-ui';\nimport { ReactNode, useMemo } from 'react';\nimport { useMainTheme } from './methods/useMainTheme';\nimport { TCustomPalette, TThemeModifier } from './base/colors/types';\n\ninterface TThemeProvider {\n children: ReactNode;\n customTheme?: () => Omit<Theme, 'palette'>;\n customPalette?: () => TCustomPalette | undefined;\n themeModifier?: TThemeModifier;\n}\n\nlet timeout = -1;\nfunction logTheme(theme: unknown) {\n clearTimeout(timeout);\n timeout = setTimeout(() => {\n console.info('Theme log: ', { theme });\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }, 500) as any;\n}\n\nexport const ApiaThemeProvider = ({\n children,\n customTheme,\n customPalette,\n themeModifier,\n}: TThemeProvider) => {\n const parsedCustomPalette = useMemo(() => {\n return customPalette?.();\n }, [customPalette]);\n\n const theme: Theme = useMainTheme(\n customTheme,\n parsedCustomPalette,\n themeModifier,\n );\n\n logTheme(theme);\n\n return <ThemeProvider theme={theme}>{children}</ThemeProvider>;\n};\n","import { IMarkdownParser } from './types';\n\nexport function assignHelp(fn: IMarkdownParser) {\n Object.assign(fn, {\n help: `A markdown parser. Accepts a configuration object with the following structure: \n \ninterface IMarkdownFile {\n /**\n * Cadena de caracteres de CSS\n */\n additionalStyles?: string;\n /**\n * Contenido markdown\n */\n content: string;\n /**\n * Si el template html por defecto no es suficiente, se puede optar por un\n * template a medida.\n */\n htmlTemplate?: IMarkdownHtml;\n /**\n * Título que se mostrará en el html\n */\n title: string;\n}`,\n });\n}\n","import type { StateBlock, StateInline, TagToken } from 'remarkable/lib';\nimport type { Remarkable } from 'remarkable';\n\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\nexport class ErrorImporting {}\n\nexport type IMarkdownHtml = (\n title: string,\n css: string,\n body: string,\n) => string;\n\nexport type IMarkdownParser = (\n options: IMarkdownConfiguration,\n) => Promise<string>;\n\nexport interface IMarkdownConfiguration {\n /**\n * Cadena de caracteres de CSS\n */\n additionalStyles?: IMarkdownStylesAggregator;\n /**\n * Permite agregar contenido al body del html generado.\n */\n additionalBodyContent?: Partial<{ before: string; after: string }>;\n /**\n * Contenido markdown\n */\n content: string;\n /**\n * Permite el pasaje de extensiones adicionales\n */\n extensions?: RemarkableExtension[];\n /**\n * Si el template html por defecto no es suficiente, se puede optar por un\n * template a medida.\n */\n htmlTemplate?: IMarkdownHtml;\n /**\n * If passed, will print the table of contents with the indicated title.\n */\n tableOfContentsTitle?: string;\n /**\n * Título que se mostrará en el html\n */\n title: string;\n}\n\nexport interface IRemarkableInlineExtension {\n name: string;\n parser: (state: StateInline, checkMode: boolean) => boolean;\n replacer: (md: Remarkable) => (tokens: TagToken[], idx: number) => string;\n styles: () => string;\n}\n\nexport interface IRemarkableBlockExtension {\n name: string;\n parser: (\n state: StateBlock,\n startLine: number,\n endLine: number,\n checkMode: boolean,\n ) => boolean;\n replacer: (md: Remarkable) => (tokens: TagToken[], idx: number) => string;\n styles: () => string;\n}\n\nexport type RemarkableExtension =\n | IRemarkableInlineExtension\n | IRemarkableBlockExtension;\n\nexport type IMarkdownStylesAggregator = () => string;\n","import type { IRemarkableInlineExtension } from '../types';\n\ntype ErrorToken = {\n type: string;\n content: string;\n level: number;\n};\n\nconst name = 'error';\n\n/**\n * Esta extensión permite mostrar un cuadro de advertencia usando la sintaxis:\n *\n * !!! Esto es una advertencia !!!\n */\nexport const errorExtension: IRemarkableInlineExtension = {\n name,\n parser: (state, silent) => {\n const start = state.pos;\n if (\n state.src.charCodeAt(start) !== 0x21 /* ! */ ||\n state.src.charCodeAt(start + 1) !== 0x21 /* ! */ ||\n state.src.charCodeAt(start + 2) !== 0x21 /* ! */\n ) {\n return false;\n }\n\n const match = state.src.slice(start).match(/^!!!(.+?)!!!/);\n\n if (!match || start + match[0].length > state.posMax) {\n return false;\n }\n\n if (!silent) {\n state.push({\n type: name,\n content: match[1],\n level: state.level,\n });\n }\n\n state.pos += match[0].length;\n return true;\n },\n\n replacer: (md) => (tokens, idx) => {\n const token = tokens[idx] as ErrorToken;\n return `<div class=\"${name}\">${md.renderInline(token.content)}</div>`;\n },\n\n styles: () => `.${name} {\n padding: var(--space-5);\n background-color: var(--color-error-back);\n border-left: 3px solid var(--color-error-border);\n color: var(--color-error-text);\n margin: 10px 0;\n box-shadow: 0 2px 2px rgba(0,0,0,0.2);\n}`,\n};\n","import { IRemarkableBlockExtension } from '../types';\n\nclass HeadingToken {\n _content: { level: number; text: string; id?: string };\n\n get content() {\n return JSON.stringify(this._content);\n }\n\n type = 'heading';\n\n constructor(\n content: { level: number; text: string; id?: string },\n public level: number,\n ) {\n this._content = content;\n }\n}\n\nconst name = 'heading';\n\nexport const headerExtension: IRemarkableBlockExtension = {\n name,\n parser(state, startLine, endLine, silent) {\n const line = state.getLines(startLine, startLine + 1, 0, false);\n const result = line.match(/(#+) ([^\\{\\n]+)(?:\\{: #([^\\}]+?) *\\})?/);\n if (!result) return false;\n\n const level = result[1].length;\n const text = result[2];\n const id = (result[3] ?? result[2]).replaceAll(/\\s+/g, '-');\n\n if (!silent)\n state.tokens.push(new HeadingToken({ level, text, id }, state.level));\n\n state.line += 1;\n return true;\n },\n replacer: (md) => (tokens, idx) => {\n const token = tokens[idx] as HeadingToken;\n const tag = `h${token._content.level}`;\n return `<${tag} ${\n token._content.id ? `id=\"${token._content.id.toLowerCase()}\"` : ''\n }>${md.renderInline(token._content.text)}</${tag}>`;\n },\n styles() {\n return '';\n },\n};\n","import type { IRemarkableInlineExtension } from '../types';\n\ntype SuccessToken = {\n type: string;\n content: string;\n level: number;\n};\n\nconst name = 'success';\n\n/**\n * Esta extensión permite mostrar un cuadro de advertencia usando la sintaxis:\n *\n * !!! Esto es una advertencia !!!\n */\nexport const successExtension: IRemarkableInlineExtension = {\n name,\n parser: (state, silent) => {\n const start = state.pos;\n if (\n state.src.charAt(start + 1) !== '$' ||\n state.src.charAt(start + 1) !== '$'\n ) {\n return false;\n }\n\n const match = state.src.slice(start).match(/^\\$\\$(.+?)\\$\\$/);\n\n if (!match || start + match[0].length > state.posMax) {\n return false;\n }\n\n if (!silent) {\n state.push({\n type: name,\n content: match[1],\n level: state.level,\n });\n }\n\n state.pos += match[0].length;\n return true;\n },\n\n replacer: (md) => (tokens, idx) => {\n const token = tokens[idx] as SuccessToken;\n return `<div class=\"${name}\">${md.renderInline(token.content)}</div>`;\n },\n\n styles: () => `.${name} {\n padding: var(--space-5);\n background-color: var(--color-success-back);\n border-left: 3px solid var(--color-success-border);\n color: var(--color-success-text);\n margin: 10px 0;\n box-shadow: 0 2px 2px rgba(0,0,0,0.2);\n}`,\n};\n","import { IRemarkableBlockExtension } from '../../types';\nimport type { Remarkable } from 'remarkable';\nimport {\n MarkdownTableDefinition,\n MarkdownTableCell,\n MarkdownTableObjectCell,\n} from './types';\nimport { CellParser } from './CellParser';\nimport { StateBlock, TagToken } from 'remarkable/lib';\n\nfunction getCell(c: MarkdownTableCell): MarkdownTableObjectCell {\n return typeof c === 'string' ? { content: c } : c;\n}\n\nclass TableToken {\n content: string;\n level = 1;\n type = name;\n constructor(\n content: MarkdownTableDefinition,\n public lines: [number, number],\n ) {\n this.content = JSON.stringify(content);\n }\n\n getTable() {\n const newTable = JSON.parse(this.content) as MarkdownTableDefinition;\n\n newTable.header = newTable.header.map((c) => getCell(c));\n newTable.rows = newTable.rows.map((row) =>\n row.map((cell) => getCell(cell)),\n );\n\n return newTable;\n }\n\n #getColumnAlignment(table: MarkdownTableDefinition, index: number) {\n let sum = 0,\n i = 0;\n for (i = 0; i < table.header.length && sum <= index; i++) {\n sum += Number.parseInt(getCell(table.header[i]).colSpan ?? '1', 10);\n }\n return getCell(table.header[i - 1]).align;\n }\n getTableString(parsers: CellParser[], md: Remarkable) {\n const table = this.getTable();\n\n const head =\n '<thead><tr>' +\n table.header\n .map((current) => {\n const cell = getCell(current);\n\n return `<th ${parsers\n .map((parser) => parser.getHtmlAttributes(current))\n .join(' ')}>${md.renderInline(cell.content)}</th>`;\n })\n .join('') +\n '</tr></thead>';\n\n const body =\n '<tbody>' +\n table.rows\n .map((row) => {\n return (\n '<tr>' +\n row\n .map((current, i) => {\n // eslint-disable-next-line no-param-reassign\n current.align = this.#getColumnAlignment(table, i);\n\n return `<td ${parsers\n .map((parser) => parser.getHtmlAttributes(current))\n .join(' ')}>${md.renderInline(current.content)}</td>`;\n })\n .join('') +\n '</tr>'\n );\n })\n .join('\\n') +\n '</tbody>';\n\n return `<table ${\n table.id ? `id=\"${table.id}\"` : ''\n }>${head}${body}</table>`;\n }\n}\n\nconst name = 'advancedTable';\n/**\n * Identifica si una línea es una fila de cabecera válida\n */\nconst headerRowRegex = /^ *(?:\\{ *#([\\w\\-]+) *\\})? *((?:\\|.+)+\\|) *$/;\n/**\n * Identifica si una línea es una fila válida\n */\nconst rowRegex = /^ *(?:\\|.+)+\\| *$/;\n/**\n * Identifica si una línea es el separador entre header y body de la tabla\n */\nconst separatorRegex = /^ *(?:\\| *:? *----* *:? *)+\\| *$/;\n/**\n * Identifica los elementos de una celda\n */\n\n/**\n * How a table looks like:\n * \n| (.class) Cell1 | Cell2 | Cell3 | **_Cell4_** | Cell5 |\n|-------|-------|:-----:|------------:|-------|\n| (.class) CellContent | | | | |\n */\n\n/**\n * Esta extensión permite implementar tablas más complejas en markdown\n */\nexport class TableExtension implements IRemarkableBlockExtension {\n #cellParsers: CellParser[] = [\n {\n /** className */\n getHtmlAttributes(cell) {\n return `${cell.className ? ` class=\"${cell.className ?? ''}\"` : ''}`;\n },\n parseCellString(content) {\n const classNameRegex = /\\(\\.([^\\)]+)\\)/;\n const className = content.match(classNameRegex)?.[1];\n\n return {\n parsedCell: { className },\n newContent: content.replace(classNameRegex, ''),\n };\n },\n },\n {\n /** rowSpan & colSpan */\n getHtmlAttributes(cell) {\n return [\n `${cell.rowSpan ? `rowspan=\"${cell.rowSpan}\"` : ''}`,\n `${cell.colSpan ? `colspan=\"${cell.colSpan}\"` : ''}`,\n ].join(' ');\n },\n parseCellString(content) {\n const rowSpanRegex = /\\(\\{rowSpan:(\\d+)\\}\\)/;\n const rowSpan = content.match(rowSpanRegex)?.[1];\n const colSpanRegex = /\\(\\{colSpan:(\\d+)\\}\\)/;\n const colSpan = content.match(colSpanRegex)?.[1];\n\n return {\n parsedCell: {\n rowSpan,\n colSpan,\n },\n newContent: content\n .replace(rowSpanRegex, '')\n .replace(colSpanRegex, ''),\n };\n },\n },\n {\n /** styles */\n getHtmlAttributes(cell) {\n const styles = [];\n\n if (cell.align) styles.push(`text-align: ${cell.align}`);\n if (cell.style) styles.push(cell.style);\n\n const style = styles.join('; ');\n\n return `${style ? ` style=\"${style}\"` : ''}`;\n },\n parseCellString(content) {\n const stylesRegex = /\\(\\{style:([^\\}]+)\\}\\)/;\n const style = content.match(stylesRegex)?.[1] ?? '';\n\n return {\n parsedCell: { style },\n newContent: content.replace(stylesRegex, ''),\n };\n },\n },\n ];\n #parseCell(content: string) {\n const cell: MarkdownTableCell = { content };\n this.#cellParsers.forEach((current) => {\n const result = current.parseCellString(cell.content);\n Object.assign(cell, result.parsedCell, { content: result.newContent });\n });\n return cell;\n }\n\n #parseHeadRow(line: string) {\n const result = line.match(headerRowRegex);\n const id = result![1] ?? '';\n const content = result![2]!;\n\n return {\n id,\n content: content\n .split(/ *\\| */)\n .slice(1, -1)\n .map((current) => {\n return this.#parseCell(current);\n }),\n };\n }\n\n #parseRow(content: string) {\n return content\n .split(/ *\\| */)\n .slice(1, -1)\n .map((current) => {\n return this.#parseCell(current);\n });\n }\n\n name = name;\n parser = (\n state: StateBlock,\n startLine: number,\n endLine: number,\n checkMode: boolean,\n ): boolean => {\n if (startLine + 1 >= endLine) {\n return false;\n }\n\n const firstLineIsHeader = !!state\n .getLines(startLine, startLine + 1, 0, false)\n .match(headerRowRegex);\n\n if (checkMode) {\n return firstLineIsHeader;\n }\n\n if (firstLineIsHeader) {\n const headLine = state.getLines(startLine, startLine + 1, 0, false);\n const separatorLine = state.getLines(\n startLine + 1,\n startLine + 2,\n 0,\n false,\n );\n\n if (!separatorLine.match(separatorRegex)) return false;\n\n try {\n const parsedHead = this.#parseHeadRow(headLine);\n\n const alignments = separatorLine.split(/ *\\| */).filter(Boolean);\n\n alignments.map((current, i) => {\n if (current.match(/: *----* *:/)) {\n parsedHead.content[i].align = 'center';\n } else if (current.match(/----* *:/)) {\n parsedHead.content[i].align = 'right';\n }\n });\n\n const rows: MarkdownTableObjectCell[][] = [];\n let i = startLine + 2;\n let line: string | null = null;\n while ((line = state.getLines(i, i + 1, 0, false))) {\n if (line.match(rowRegex)) {\n const rowCells = this.#parseRow(line);\n line = state.getLines(++i, i + 1, 0, false);\n rows.push(rowCells);\n } else {\n break;\n }\n }\n\n state.tokens.push(\n new TableToken(\n { id: parsedHead.id, header: parsedHead.content, rows },\n [startLine, startLine + 2 + rows.length],\n ),\n );\n state.line += 2 + rows.length;\n\n return true;\n } catch (e) {\n console.error(e);\n return false;\n }\n }\n\n return false;\n };\n replacer = (md: Remarkable) => (tokens: TagToken[], idx: number) => {\n return (tokens[idx] as TableToken).getTableString(this.#cellParsers, md);\n };\n styles = () => '';\n}\n","import type { IRemarkableInlineExtension } from '../types';\n\ntype WarningToken = {\n type: string;\n content: string;\n level: number;\n};\n\nconst name = 'warning';\n\n/**\n * Esta extensión permite mostrar un cuadro de advertencia usando la sintaxis:\n *\n * !! Esto es una advertencia !!\n */\nexport const warningExtension: IRemarkableInlineExtension = {\n name,\n parser: (state, silent) => {\n const start = state.pos;\n if (\n state.src.charCodeAt(start) !== 0x21 /* ! */ ||\n state.src.charCodeAt(start + 1) !== 0x21 /* ! */\n ) {\n return false;\n }\n\n const match = state.src.slice(start).match(/^!!(.+?)!!/);\n\n if (!match || start + match[0].length > state.posMax) {\n return false;\n }\n\n if (!silent) {\n state.push({\n type: name,\n content: match[1],\n level: state.level,\n });\n }\n\n state.pos += match[0].length;\n return true;\n },\n\n replacer: (md) => (tokens, idx) => {\n const token = tokens[idx] as WarningToken;\n return `<div class=\"${name}\">${md.renderInline(token.content)}</div>`;\n },\n\n styles: () => `.${name} {\n padding: var(--space-5);\n background-color: var(--color-warning-back);\n border-left: 3px solid var(--color-warning-border);\n color: var(--color-warning-text);\n margin: 10px 0;\n box-shadow: 0 2px 2px rgba(0,0,0,0.2);\n}`,\n};\n","import { errorExtension } from './error';\nimport { headerExtension } from './header';\nimport { successExtension } from './success';\nimport { TableExtension } from './table';\nimport { warningExtension } from './warning';\n\nexport const markdownExtensions = [\n headerExtension,\n errorExtension,\n successExtension,\n new TableExtension(),\n warningExtension,\n];\n","import { markdownExtensions } from './extensions';\nimport {\n ErrorImporting,\n IRemarkableBlockExtension,\n IRemarkableInlineExtension,\n RemarkableExtension,\n} from './types';\n\nfunction isInlineExtension(\n ext: RemarkableExtension,\n): ext is IRemarkableInlineExtension {\n return ext.parser.length === 2;\n}\n\nfunction isBlockExtension(\n ext: RemarkableExtension,\n): ext is IRemarkableBlockExtension {\n return ext.parser.length === 4;\n}\n\nexport async function getRemarkable(extensions?: RemarkableExtension[]) {\n const md = new ((await import('remarkable'))?.Remarkable ?? ErrorImporting)({\n html: true,\n });\n if (md instanceof ErrorImporting)\n throw new Error('Could not import remarkable, cannot continue');\n\n md.block.ruler.disable(['table']);\n\n [...(extensions ?? []), ...markdownExtensions].forEach((ext) => {\n if (isInlineExtension(ext))\n md.inline.ruler.before('text', ext.name, ext.parser, {});\n else if (isBlockExtension(ext))\n md.block.ruler.before('code', ext.name, ext.parser, {});\n md.renderer.rules[ext.name] = ext.replacer(md);\n });\n\n return md;\n}\n","import { assignHelp } from './help';\nimport { ErrorImporting, IMarkdownParser } from './types';\nimport { getRemarkable } from './getRemarkable';\nimport { MarkdownBuilder } from './builder/MarkdownBuilder';\n\n/**\n * Toma una cadena de markdown y la convierte a html, incluyendo estilos por\n * defecto\n */\nexport const parseMarkdown: IMarkdownParser = async (options) => {\n const markdownLibrary = await getRemarkable(options.extensions);\n\n const css =\n (await import('./styles')).markdownParserStyles ?? new ErrorImporting();\n if (css instanceof ErrorImporting)\n throw new Error('Could not import css, cannot continue');\n\n const html =\n options.htmlTemplate ??\n (await import('./html')).markdownHtml ??\n new ErrorImporting();\n if (html instanceof ErrorImporting)\n throw new Error('Could not import html, cannot continue');\n\n const markdownString = options.content;\n\n const markdownParser = markdownLibrary.render.bind(markdownLibrary);\n let htmlString = markdownParser(markdownString);\n\n if (options.tableOfContentsTitle) {\n const b = new MarkdownBuilder();\n htmlString = b.addTableOfContents(options.tableOfContentsTitle, htmlString);\n }\n\n const rendered = html(\n options.title,\n css(options.additionalStyles, options.extensions),\n `${options?.additionalBodyContent?.before ?? ''}${htmlString}${options?.additionalBodyContent?.after ?? ''}`,\n );\n\n return rendered;\n};\n\nassignHelp(parseMarkdown);\n","export abstract class MarkdownBlock {\n /**\n * Each markdown block must export a valid markdown string\n */\n abstract toString(): string;\n}\n","import { MarkdownBlock } from './MarkdownBlock';\n\nexport class MarkdownParagraph extends MarkdownBlock {\n constructor(protected text: string) {\n super();\n }\n\n toString(): string {\n return this.text;\n }\n}\n","import { MarkdownParagraph } from './paragraph';\n\nexport type TDialogBoxTypes = 'success' | 'warning' | 'error';\n\nexport class MarkdownDialogBox extends MarkdownParagraph {\n constructor(text: string, protected level: TDialogBoxTypes = 'success') {\n super(text);\n }\n\n toString(): string {\n let wrapper = '$$';\n\n switch (this.level) {\n case 'error':\n wrapper = '!!!';\n break;\n case 'warning':\n wrapper = '!!';\n break;\n }\n\n return `${wrapper}${this.text}${wrapper}`;\n }\n}\n","import { MarkdownParagraph } from './paragraph';\n\nexport class MarkdownHeader extends MarkdownParagraph {\n constructor(protected text: string, private prefix = '#') {\n super(text);\n }\n\n toString() {\n return `${this.prefix} ${this.text}`;\n }\n}\n","import { MarkdownBlock } from './MarkdownBlock';\nimport { MarkdownBuilder } from '../MarkdownBuilder';\n\nexport class MarkdownList extends MarkdownBlock {\n protected items: MarkdownBuilder[] = [];\n\n constructor(protected sorted = false) {\n super();\n }\n\n /**\n * Cada elemento de la lista es un MarkdownBuilder.\n *\n * Si se pasa text como parámetro, este texto será agregado mediante\n * builder.p(text)\n */\n add(text?: string) {\n const newBuilder = new MarkdownBuilder();\n\n if (text) newBuilder.p(text);\n this.items.push(newBuilder);\n\n return newBuilder;\n }\n\n toString(sorted = this.sorted): string {\n const items = this.items.map((builder) => {\n return builder.toMarkdown().split('\\n');\n });\n\n const tab = sorted ? ' ' : ' ';\n\n return items\n .map((item, i) => {\n let str = '';\n if (sorted) str += `${i + 1}) `;\n else str += '- ';\n\n item.forEach((itemPart, j) => {\n if (itemPart.match(/^ *$/)) {\n str += '\\n';\n return;\n }\n\n str += j === 0 ? '' : tab;\n str += itemPart;\n str += '\\n';\n });\n\n return str;\n })\n .join('\\n');\n }\n}\n","import {\n MarkdownTableCell,\n MarkdownTableObjectCell,\n} from '../../extensions/table/types';\nimport { MarkdownBlock } from './MarkdownBlock';\n\nconst alignment = {\n center: ':---:',\n default: '---',\n left: ':---',\n right: '---:',\n};\n\nexport class MarkdownTable extends MarkdownBlock {\n id = '';\n\n constructor(\n protected header: MarkdownTableCell[] = [],\n protected rows: MarkdownTableCell[][] = [],\n ) {\n super();\n }\n\n #getCell(cell: MarkdownTableCell): MarkdownTableObjectCell {\n return typeof cell === 'string' ? { content: cell } : cell;\n }\n #getSeparatorAlignment(cell?: MarkdownTableCell) {\n if (typeof cell === 'string') return alignment.default;\n\n switch (cell?.align) {\n case 'center':\n return alignment.center;\n case 'right':\n return alignment.right;\n case 'left':\n return alignment.left;\n default:\n return alignment.default;\n }\n }\n #getClassName(cell: MarkdownTableCell) {\n if (typeof cell === 'string') return '';\n\n return cell.className ? `(.${cell.className})` : '';\n }\n #getSpan(cell: MarkdownTableCell) {\n const spans: string[] = [];\n const c = this.#getCell(cell);\n\n if (c.rowSpan) spans.push(`({rowSpan:${c.rowSpan}})`);\n if (c.colSpan) spans.push(`({colSpan:${c.colSpan}})`);\n\n return spans.join(' ');\n }\n #getStyle(cell: MarkdownTableCell) {\n if (typeof cell === 'string') return '';\n\n const styles: string[] = [];\n if (cell.style) styles.push(cell.style);\n if (cell.align) styles.push(`text-align: ${cell.align}`);\n\n const style = styles.join(';');\n\n return style ? `({style:${style}})` : '';\n }\n #getAttributes(cell: MarkdownTableCell) {\n return [\n this.#getClassName(cell),\n this.#getStyle(cell),\n this.#getSpan(cell),\n ].join(' ');\n }\n #parseCell(cell: MarkdownTableCell) {\n return typeof cell === 'string'\n ? cell.replaceAll('\\n', '')\n : `${this.#getAttributes(cell)} ${cell.content.replaceAll('\\n', '')}`;\n }\n #rowToString = (row: string[]) => ['', ...row, ''].join(' | ');\n #getColumnAlignment(index: number) {\n let sum = 0,\n i = 0;\n for (i = 0; i < this.header.length && sum <= index; i++) {\n sum += Number.parseInt(this.#getCell(this.header[i]).colSpan ?? '1', 10);\n }\n return this.#getCell(this.header[i - 1]).align;\n }\n\n /**\n * Add rows to the body\n */\n addRows(rows: MarkdownTableCell[][]) {\n this.rows.push(...rows);\n }\n\n /**\n * Removes every row from the body.\n */\n clear() {\n this.rows = [];\n }\n\n /**\n * The header allows an only row by now\n */\n setHeader(row: MarkdownTableCell[]) {\n this.header = row;\n }\n\n setId(id: string) {\n this.id = id;\n }\n\n toString(): string {\n const heading = this.#rowToString(\n this.header.map((current) => this.#parseCell(current)),\n );\n const alignments = this.#rowToString(\n this.header.map((current) => this.#getSeparatorAlignment(current)),\n );\n const rows = this.rows\n .map((current) =>\n this.#rowToString(\n current.map((cell, i) =>\n this.#parseCell({\n ...this.#getCell(cell),\n align: this.#getColumnAlignment(i),\n }),\n ),\n ),\n )\n .join('\\n');\n\n return `${\n this.id ? `{ #${this.id} }` : ''\n }${heading}\\n${alignments}\\n${rows}`;\n }\n}\n","import { MarkdownParagraph } from './paragraph';\n\nconst tocPlaceholder = '((())) TABLE_OF_CONTENTS ((()))';\n\nexport class MarkdownTableOfContents extends MarkdownParagraph {\n constructor() {\n super(tocPlaceholder);\n }\n\n /**\n * Este método toma el html, busca todos los headings (que ya fueron\n * procesados por setUniqueIds) y crea una tabla de contenidos a partir de\n * esos ids\n */\n private static makeTableOfContents(title: string, html: string) {\n const idMap: Record<string, boolean> = {};\n const parser: DOMParser = new DOMParser();\n const parsedDocument: Document = parser.parseFromString(html, 'text/html');\n\n const headers: NodeListOf<HTMLHeadElement> =\n parsedDocument.querySelectorAll('h1, h2, h3, h4, h5, h6');\n\n const root: HTMLUListElement = document.createElement('ul');\n root.id = 'TableOfContents';\n\n const prevParentMap: Record<number, HTMLElement> = { 0: root };\n\n for (const header of headers) {\n // eslint-disable-next-line no-param-reassign\n this.setUniqueId(idMap, header);\n\n const depth = this.getNodeDepth(header);\n const parentDepth = depth - 1;\n\n this.deletePrevValues(prevParentMap, depth);\n\n const ulParent = this.getParent(prevParentMap, parentDepth);\n\n this.createNewLevel(header, ulParent, prevParentMap, parentDepth);\n }\n\n return parsedDocument.documentElement.outerHTML.replace(\n tocPlaceholder,\n `<h2>${title}</h2>${root.outerHTML}`,\n );\n }\n\n private static deletePrevValues(\n prevParentMap: Record<number, HTMLElement | null>,\n depth: number,\n ): void {\n // eslint-disable-next-line no-param-reassign\n for (let i = depth; i < 7; i++) prevParentMap[i] = null;\n }\n\n private static getParent(\n prevParentMap: Record<number, HTMLElement>,\n depth: number,\n ): HTMLElement {\n // eslint-disable-next-line no-param-reassign\n for (let i = depth; i >= 0; i--) {\n const parent = prevParentMap[i];\n if (parent) return parent;\n }\n throw new Error('Element has no parent');\n }\n\n private static createNewLevel(\n elem: HTMLElement,\n parentElement: HTMLElement,\n prevParentMap: Record<number, HTMLElement>,\n parentDepth: number,\n ) {\n const newLi = document.createElement('li');\n const newA = document.createElement('a');\n const newB = document.createElement('b');\n newA.href = `#${elem.id}`;\n newB.appendChild(document.createTextNode(elem.textContent as string));\n newA.appendChild(newB);\n newLi.appendChild(newA);\n parentElement.appendChild(newLi);\n // eslint-disable-next-line no-param-reassign\n prevParentMap[parentDepth + 1] = document.createElement('ul');\n newLi.appendChild(prevParentMap[parentDepth + 1]);\n }\n\n private static getNodeDepth(node: HTMLElement): number {\n return parseInt(node.nodeName.replace('H', ''));\n }\n\n /**\n * Este método toma el html original, busca todos los headings y a cada uno\n * le pone un id único, reemplazando el id original si lo tuviera:\n *\n * Si un heading no tiene id: le agrega uno autogenerado con autoincrement +\n * texto del heading procesado (reemplazar espacios por guiones, etc)\n *\n * Si un heading tiene id: le agrega un autoincrement con un sufijo:\n * {id_original}_-_{autoincrement}\n *\n * De esta forma, nos aseguramos que ningún heading tenga un id igual a otro\n */\n private static setUniqueId(\n idMap: Record<string, boolean>,\n element: HTMLHeadElement,\n ) {\n const replacementRegex = /[\\s\\(\\)]+/g;\n const replacementChar = '-';\n\n const id = (element.id ? element.id : element.textContent!)\n ?.toLocaleLowerCase()\n .trim()\n .replaceAll(replacementRegex, replacementChar);\n\n const tokens: (string | number)[] = id.split('_-_', 2);\n if (tokens.length !== 2) tokens[1] = 0;\n let cond = true;\n for (\n ;\n cond;\n // eslint-disable-next-line no-param-reassign\n (idMap[`${tokens[0]}_-_${tokens[1]}`] = true) && (tokens[1] as number)++\n )\n cond = idMap[`${tokens[0]}_-_${tokens[1]}`];\n\n // eslint-disable-next-line no-param-reassign\n element.id = `${tokens[0]}_-_${tokens[1]}`;\n }\n\n public static appendTableOfContents(title: string, html: string): string {\n return this.makeTableOfContents(title, html);\n }\n}\n","import { MarkdownTableCell } from '../extensions/table/types';\nimport { parseMarkdown } from '../parseMarkdown';\nimport { IMarkdownConfiguration, RemarkableExtension } from '../types';\nimport { MarkdownBlock } from './elements/MarkdownBlock';\nimport { MarkdownDialogBox, TDialogBoxTypes } from './elements/dialogBox';\nimport { MarkdownHeader } from './elements/header';\nimport { MarkdownList } from './elements/list';\nimport { MarkdownParagraph } from './elements/paragraph';\nimport { MarkdownTable } from './elements/table';\nimport { MarkdownTableOfContents } from './elements/tableOfContents';\n\nexport class MarkdownBuilder {\n protected blocks: MarkdownBlock[] = [];\n protected extensions: RemarkableExtension[] = [];\n\n setExtensions(extensions: RemarkableExtension[]) {\n this.extensions = extensions;\n return this;\n }\n\n custom(block: MarkdownBlock) {\n this.blocks.push(block);\n }\n\n h1(text: string) {\n const heading = new MarkdownHeader(text);\n\n this.blocks.push(heading);\n\n return heading;\n }\n\n h2(text: string) {\n const heading = new MarkdownHeader(text, '##');\n\n this.blocks.push(heading);\n\n return heading;\n }\n\n h3(text: string) {\n const heading = new MarkdownHeader(text, '###');\n\n this.blocks.push(heading);\n\n return heading;\n }\n\n h4(text: string) {\n const heading = new MarkdownHeader(text, '####');\n\n this.blocks.push(heading);\n\n return heading;\n }\n\n h5(text: string) {\n const heading = new MarkdownHeader(text, '#####');\n\n this.blocks.push(heading);\n\n return heading;\n }\n\n h6(text: string) {\n const heading = new MarkdownHeader(text, '######');\n\n this.blocks.push(heading);\n\n return heading;\n }\n\n p(text: string) {\n const p = new MarkdownParagraph(text);\n\n this.blocks.push(p);\n\n return p;\n }\n\n list(sorted = false) {\n const list = new MarkdownList(sorted);\n\n this.blocks.push(list);\n\n return list;\n }\n\n dialogBox(text: string, level: TDialogBoxTypes = 'success') {\n const box = new MarkdownDialogBox(text, level);\n\n this.blocks.push(box);\n\n return box;\n }\n\n table(header: MarkdownTableCell[] = [], rows: MarkdownTableCell[][] = []) {\n const table = new MarkdownTable(header, rows);\n\n this.blocks.push(table);\n\n return table;\n }\n\n /**\n * Este método debería ser llamado una única vez dentro de un documento,\n * agrega la tabla de contenidos la html\n */\n tableOfContents() {\n this.blocks.push(new MarkdownTableOfContents());\n }\n\n /**\n * Este método recibe un html y le agrega la tabla de contenidos, dentro de\n * un div con id=\"TableOfCOntents\"\n */\n addTableOfContents(tableOfContentsTitle: string, html: string): string {\n return MarkdownTableOfContents.appendTableOfContents(\n tableOfContentsTitle,\n html,\n );\n }\n\n toMarkdown(): string {\n let markdown = this.blocks\n .map((current) => current.toString())\n .join('\\n\\n');\n\n markdown = markdown.replaceAll(/ *\\n *\\n *\\n/g, '\\n\\n');\n\n return markdown;\n }\n\n toHtml(\n options: Pick<\n IMarkdownConfiguration,\n | 'additionalStyles'\n | 'extensions'\n | 'htmlTemplate'\n | 'title'\n | 'tableOfContentsTitle'\n >,\n ): Promise<string> {\n let content = this.toMarkdown();\n\n if (options?.tableOfContentsTitle)\n content = this.addTableOfContents(options.tableOfContentsTitle, content);\n\n return parseMarkdown({ ...options, content });\n }\n}\n"],"names":["responsive","components","menu","buttons","text","forms","checkbox","customCheckbox","dateInput","deletableInput","iconInput","input","label","radio","select","Switch","textarea","spacing","buttonsBar","confirm","table","tableModal","primary","accordion","secondary","mobx","common","datagrid","autocomplete","pagination","labelBox","baseTheme","baseThemeMaker","name","__publicField","_getColumnAlignment","getColumnAlignment_fn","_parseCell","parseCell_fn","__privateAdd","__privateMethod","i","__privateGet"],"mappings":"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"}
|