@eclass/ui-kit 1.57.7 → 1.57.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"eclass-ui-kit.umd.js","sources":["../src/theme/colors.ts","../src/theme/styles.ts","../src/theme/utils.ts","../src/theme/typography.tsx","../src/organisms/Modals/resetStyleModal.ts","../src/theme/index.ts","../node_modules/object-assign/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/jsx-runtime.js","../react/jsx-runtime","../src/atoms/Label/Label.tsx","../src/atoms/Progress/Progress.tsx","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/react-ripples/esm/createRipples.js","../node_modules/react-ripples/esm/withAttrs.js","../node_modules/react-ripples/esm/index.js","../src/atoms/Ripples/Ripples.tsx","../src/atoms/Icons/Base.tsx","../src/atoms/Icons/AcademicRecord.tsx","../src/atoms/Icons/AlertInfo.tsx","../src/services/uniqueId.ts","../src/atoms/Icons/ArrowRight.tsx","../src/atoms/Icons/Certificate.tsx","../src/atoms/Icons/CircularCheck.tsx","../src/atoms/Icons/CircularInformation.tsx","../src/atoms/Icons/Download.tsx","../src/atoms/Icons/GoAhead.tsx","../src/atoms/Icons/GoBack.tsx","../src/atoms/Icons/Multimedia.tsx","../src/atoms/Icons/Loader.tsx","../src/atoms/Icons/Profile.tsx","../src/atoms/Icons/Schedule.tsx","../src/atoms/Icons/TinyAlertInfo.tsx","../src/atoms/Icons/TinyAlertError.tsx","../src/atoms/Icons/TinyAlertWarning.tsx","../src/atoms/Icons/TinyAlertSuccess.tsx","../src/atoms/Icons/Password.tsx","../src/atoms/Icons/Pen.tsx","../src/atoms/Icons/PlusSign.tsx","../src/atoms/Icons/TrashCan.tsx","../src/atoms/Icons/TextBubble.tsx","../src/atoms/Icons/Alerts/ErrorWhite.tsx","../src/atoms/Icons/Alerts/InfoWhite.tsx","../src/atoms/Icons/Alerts/SuccessWhite.tsx","../src/atoms/Icons/Alerts/WarningWhite.tsx","../src/atoms/Icons/Alerts/ErrorColor.tsx","../src/atoms/Icons/Alerts/InfoColor.tsx","../src/atoms/Icons/Alerts/SuccessColor.tsx","../src/atoms/Icons/Alerts/WarningColor.tsx","../src/atoms/Icons/Close.tsx","../src/atoms/Icons/DiagonalArrow.tsx","../src/atoms/TinyAlert/TinyAlert.tsx","../src/molecules/Buttons/Btn.tsx","../src/molecules/Buttons/BtnPrimary.tsx","../src/molecules/Buttons/BtnSecondary.tsx","../src/molecules/Buttons/BtnTertiary.tsx","../src/molecules/Buttons/BtnLink.tsx","../src/molecules/NavBarButtons/Icons/HelpIcon.tsx","../src/molecules/NavBarButtons/Icons/CalendarButtonIcon.tsx","../src/atoms/Icons/Accessibility.tsx","../src/molecules/NavBarButtons/NavBarButton.tsx","../src/molecules/Tooltip/NewTooltip.tsx","../src/molecules/UserWay/UserWay.tsx","../src/molecules/UserWay/UserWayCookie.ts","../src/organisms/CourseList/components/Header.tsx","../src/organisms/CourseList/components/DateStatus.tsx","../src/organisms/CourseList/components/IconSelection.tsx","../src/organisms/CourseList/components/CourseStatus.tsx","../src/organisms/CourseList/components/Section.tsx","../src/organisms/CourseList/utils/dataFake.ts","../src/organisms/CourseList/utils/isCourseActive.ts","../src/organisms/CourseList/utils/maxWidthCoursesList.ts","../src/organisms/CourseList/components/Modal/PaymentModal.tsx","../src/organisms/CourseList/components/Footer.tsx","../src/organisms/CourseList/utils/useEnterNavigate.ts","../src/organisms/CourseList/Boxes/BoxTraditional.tsx","../src/organisms/CourseList/Boxes/BoxImage.tsx","../src/organisms/CourseList/Boxes/Boxes.tsx","../src/organisms/CourseList/CourseList.tsx","../node_modules/dompurify/dist/purify.es.mjs","../node_modules/domelementtype/lib/index.js","../node_modules/domhandler/lib/node.js","../node_modules/domhandler/lib/index.js","../node_modules/html-dom-parser/lib/client/constants.js","../node_modules/html-dom-parser/lib/client/utilities.js","../node_modules/html-dom-parser/lib/client/domparser.js","../node_modules/html-dom-parser/lib/client/html-to-dom.js","../node_modules/react-property/lib/possibleStandardNamesOptimized.js","../node_modules/react-property/lib/index.js","../node_modules/inline-style-parser/cjs/index.js","../node_modules/style-to-object/cjs/index.js","../node_modules/style-to-js/cjs/utilities.js","../node_modules/style-to-js/cjs/index.js","../node_modules/html-react-parser/lib/utilities.js","../node_modules/html-react-parser/lib/attributes-to-props.js","../node_modules/html-react-parser/lib/dom-to-react.js","../node_modules/html-react-parser/lib/index.js","../node_modules/html-react-parser/esm/index.mjs","../src/organisms/Alerts/utils/alertStates.tsx","../src/organisms/Alerts/Alert.tsx","../node_modules/goober/dist/goober.modern.js","../node_modules/react-hot-toast/dist/index.mjs","../src/organisms/Alerts/utils/handleTime.ts","../src/organisms/Alerts/FlashNotification.tsx","../src/organisms/Alerts/utils/useFlashNotification.ts","../src/organisms/Modals/Modal/ModalContentBase.tsx","../src/organisms/Modals/Modal/useModalConfig.ts","../src/organisms/Modals/Modal/Modal.tsx","../src/organisms/Modals/Modal/ModalButtons.tsx","../src/organisms/Modals/ModalAlert/Loading.tsx","../src/organisms/Modals/ModalAlert/ModalAlertContent.tsx","../src/organisms/Modals/ModalAlert/useModalAlertConfig.ts","../src/organisms/Modals/ModalAlert/ModalAlert.tsx","../src/organisms/Modals/ModalMultiple/useModalMultipleConfig.ts","../src/organisms/Modals/ModalMultiple/ModalMultiple.tsx","../src/organisms/ModalAlert/ModalAlert.tsx","../src/organisms/Events/Icons/Calendar.tsx","../src/organisms/Events/Icons/Clock.tsx","../src/organisms/Events/TypeBox/LargeBox.tsx","../src/organisms/Events/TypeBox/SmallBox.tsx","../src/organisms/Events/Eventos.tsx","../src/organisms/Resources/Icons/Avi.tsx","../src/organisms/Resources/Icons/Csv.tsx","../src/organisms/Resources/Icons/Doc.tsx","../src/organisms/Resources/Icons/Docx.tsx","../src/organisms/Resources/Icons/Gif.tsx","../src/organisms/Resources/Icons/Icons.tsx","../src/organisms/Resources/Icons/Jpeg.tsx","../src/organisms/Resources/Icons/Jpg.tsx","../src/organisms/Resources/Icons/Mkv.tsx","../src/organisms/Resources/Icons/Mp3.tsx","../src/organisms/Resources/Icons/Mp4.tsx","../src/organisms/Resources/Icons/Pdf.tsx","../src/organisms/Resources/Icons/Png.tsx","../src/organisms/Resources/Icons/Ppt.tsx","../src/organisms/Resources/Icons/Pptx.tsx","../src/organisms/Resources/Icons/Wav.tsx","../src/organisms/Resources/Icons/Xls.tsx","../src/organisms/Resources/Icons/Xlsx.tsx","../src/organisms/Resources/Icons/Url.tsx","../src/organisms/Resources/StandardBackground.tsx","../src/organisms/Resources/Resources.tsx","../node_modules/date-fns/constants.js","../node_modules/date-fns/constructFrom.js","../node_modules/date-fns/toDate.js","../node_modules/date-fns/addDays.js","../node_modules/date-fns/_lib/normalizeDates.js","../node_modules/date-fns/startOfDay.js","../node_modules/date-fns/isSameDay.js","../node_modules/date-fns/isAfter.js","../node_modules/date-fns/parseISO.js","../src/organisms/Calendar/Dropdown/CalendarDropdown/services/parseEvents.ts","../src/organisms/Calendar/Dropdown/CalendarDropdown/Components/GoToCalendar.tsx","../src/organisms/Calendar/Dropdown/CalendarDropdown/Components/Header.tsx","../src/organisms/Calendar/Dropdown/CalendarDropdown/Icons/NoEventsIcon.tsx","../src/organisms/Calendar/Dropdown/CalendarDropdown/Components/Empty.tsx","../src/organisms/Calendar/Dropdown/CalendarDropdown/Components/EventsGroup.tsx","../src/organisms/Calendar/Dropdown/CalendarDropdown/Components/Events.tsx","../src/organisms/Calendar/Dropdown/CalendarDropdown/CalendarDropdownContainer.tsx","../src/organisms/Calendar/Dropdown/CalendarDropdown.tsx","../src/organisms/Calendar/EventsList/NotificationIcon.tsx","../src/organisms/Calendar/EventsList/EventsList.tsx"],"sourcesContent":["const main = {\n deepSkyBlue: '#0189FF',\n azureRadiance: '#017BE5',\n blueGrey: '#60798E',\n veryLightBlue: '#E0EEFA',\n linkWater: '#C7DEF2',\n ziggurat: '#B0CFE0',\n}\n\n/**\n * Valores definidos en el sistema de diseños eclass.\n * @see https://zeroheight.com/15698077d/p/435a07-paleta-de-colores\n */\nexport const colors = {\n main,\n secondary: {\n pumpkin: '#FF7A14',\n polishedBronze: '#CD7F32',\n cornsilk: '#FFF5DF',\n linen: '#F8ECE0',\n },\n alert: {\n deepSkyBlue: main.deepSkyBlue,\n veryLightBlue: main.veryLightBlue,\n jadeGreen: '#28A745',\n ice: '#E9F6EC',\n red: '#CC0000',\n veryLightPinkThree: '#F9DFDF',\n orangeyYelow: '#F5A623',\n pale: '#FDEED6',\n },\n icon: {\n cetaceanBlue: '#08044F',\n deepSkyBlue: main.deepSkyBlue,\n lightSeaGreen: '#1EBDAF',\n orangeRed: '#FF554D',\n ripeMango: '#FFBC27',\n },\n neutral: {\n darkCharcoal: '#2F2F2F',\n davysGrey: '#5C5C5C',\n gray: '#808080',\n spanishGrey: '#999999',\n silverSand: '#C6C6C6',\n platinum: '#E8E8E8',\n cultured: '#F4F4F4',\n cultured2: '#F8F8F8',\n white: '#FFFFFF',\n },\n}\n","// import { vars } from '@theme'\n\nexport const styles = {\n global: (props: any) => ({\n '.react-ripples': {\n h: '100%',\n display: 'grid!important',\n },\n '.chakra-button': {\n borderStyle: 'none',\n },\n }),\n}\n","import { colors } from './colors'\n\n/**\n * Valores definidos en el sistema de diseños eclass.\n * @see https://zeroheight.com/15698077d/p/48fae4-eclass-sistema-de-diseo\n */\nconst base = 'solid .063rem'\nexport const borders = {\n normal: `${base} ${colors.neutral.darkCharcoal}`,\n light: `${base} ${colors.neutral.platinum}`,\n active: `${base} ${colors.main.deepSkyBlue}`,\n success: `${base} ${colors.alert.jadeGreen}`,\n error: `${base} ${colors.alert.red}`,\n white: `solid .125rem ${colors.neutral.white}`,\n}\n\n/**\n * Valores definidos en el sistema de diseños eclass.\n * @see https://zeroheight.com/15698077d/p/48fae4-eclass-sistema-de-diseo\n */\nexport const radii = {\n small: '.25rem',\n big: '.5rem',\n rounded: '50%',\n}\n\n/**\n * Valores definidos en el sistema de diseños eclass.\n * @see https://zeroheight.com/15698077d/p/787e81-shadows--elevation\n */\nexport const shadows = {\n sm: '0 .125rem .5rem 0 rgba(0,0,0,.20)',\n md: '0 .25rem 1rem 0 rgba(0,0,0,.20)',\n lg: '0 .5rem 2rem 0 rgba(0,0,0,.20)',\n}\n\n/**\n * Valores definidos en el sistema de diseños eclass.\n * @see https://zeroheight.com/15698077d/p/04fce7-spacial-units\n */\nexport const space = {\n xxs: '.25rem',\n xs: '.5rem',\n s: '1rem',\n m: '1.5rem',\n l: '2rem',\n xl: '3rem',\n xxl: '5rem',\n}\n\nexport const utils = {\n borders,\n radii,\n shadows,\n space,\n}\n","import '@fontsource/roboto/700.css'\nimport '@fontsource/roboto/500.css'\nimport '@fontsource/roboto/400.css'\nimport '@fontsource/roboto/300.css'\nimport '@fontsource/lora/400.css'\n\nexport const typography = {\n fonts: {\n body: 'Roboto',\n outstanding: 'Lora',\n },\n}\n","import { radii, shadows } from '@theme/utils'\nimport { colors } from '@theme/colors'\n\nexport const overlay = {\n background: colors.neutral.darkCharcoal,\n opacity: '.3!important',\n}\nexport const dialog = {\n boxShadow: shadows.lg,\n bg: colors.neutral.white,\n borderRadius: radii.big,\n}\n","import { extendTheme } from '@chakra-ui/react'\n\nimport { colors } from './colors'\nimport { styles } from './styles'\nimport { utils } from './utils'\nimport { typography } from './typography'\nimport { dialog, overlay } from '@/organisms/Modals/resetStyleModal'\n\nexport const theme = extendTheme({\n colors,\n ...utils,\n ...typography,\n components: {\n Modal: {\n baseStyle: {\n overlay,\n dialog,\n },\n },\n },\n styles: styles,\n})\n\nexport const vars = (value: string): string => `var(--chakra-${value})`\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/** @license React v17.0.2\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';require(\"object-assign\");var f=require(\"react\"),g=60103;exports.Fragment=60107;if(\"function\"===typeof Symbol&&Symbol.for){var h=Symbol.for;g=h(\"react.element\");exports.Fragment=h(\"react.fragment\")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,k){var b,d={},e=null,l=null;void 0!==k&&(e=\"\"+k);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(l=a.ref);for(b in a)n.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:g,type:c,key:e,ref:l,props:d,_owner:m.current}}exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import * as jsxRuntime from \"/home/runner/work/ui-kit/ui-kit/node_modules/react/jsx-runtime.js\"\nexport const jsx = jsxRuntime.jsx\nexport const jsxs = jsxRuntime.jsxs\nexport const Fragment = jsxRuntime.Fragment","import { Box, CSSObject } from '@chakra-ui/react'\n\nimport { vars } from '@theme'\n\nexport interface LabelProps {\n children: React.ReactNode\n bg?: string\n color?: string\n size?: 'md' | 'sm'\n m?: string\n sx?: CSSObject\n}\n\n/**\n * Componente Label\n * @example <Label>Etiqueta</Label>\n */\nexport function Label({\n children,\n bg = vars('colors-icon-ripeMango'),\n color = vars('colors-neutral-darkCharcoal'),\n size = 'md',\n m = '0',\n sx,\n}: LabelProps): JSX.Element {\n const config = {\n md: {\n borderRadius: '0.25em',\n fontWeight: '400',\n p: '0.25em 0.84em',\n },\n sm: {\n borderRadius: '0.42em',\n fontWeight: '700',\n p: '0.17em 0.67em',\n },\n }\n\n return (\n <Box\n bg={bg}\n borderRadius={config[size].borderRadius}\n color={color}\n display=\"inline-block\"\n fontSize=\"0.75rem\"\n fontWeight={config[size].fontWeight}\n lineHeight=\".875rem\"\n m={m}\n p={config[size].p}\n sx={sx}\n >\n {children}\n </Box>\n )\n}\n","import { CircularProgress } from '@chakra-ui/react'\n\nimport { vars } from '@theme'\n\ninterface ProgressProps {\n value: number\n}\n/**\n * Componente Progress circular, valores permitidos entre 0 - 100\n * @example <Progress value={35} />\n */\nexport function Progress({ value = 0 }: ProgressProps): JSX.Element {\n let limitedValue = value\n if (value > 100) {\n limitedValue = 100\n } else if (value < 0) {\n limitedValue = 0\n }\n return (\n <CircularProgress\n size=\"1rem\"\n value={limitedValue}\n thickness=\"1rem\"\n color={vars('colors-main-deepSkyBlue')}\n trackColor={vars('colors-neutral-platinum')}\n />\n )\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React from 'react';\nimport PropTypes from 'prop-types';\nvar boxStyle = {\n position: 'relative',\n display: 'inline-flex',\n overflow: 'hidden',\n};\nexport var createRipples = function (defaultProps) {\n if (defaultProps === void 0) { defaultProps = {}; }\n var _a;\n return _a = (function (_super) {\n __extends(class_1, _super);\n function class_1(props) {\n var _this = _super.call(this, props) || this;\n _this.timer = 0;\n _this.onClick = function (ev) {\n var _a = _this.props, during = _a.during, onClick = _a.onClick, color = _a.color;\n ev.stopPropagation();\n var pageX = ev.pageX, pageY = ev.pageY, currentTarget = ev.currentTarget;\n var rect = currentTarget.getBoundingClientRect();\n var left = pageX - (rect.left + window.scrollX);\n var top = pageY - (rect.top + window.scrollY);\n var size = Math.max(rect.width, rect.height);\n _this.setState(function (state) {\n return {\n rippleStyle: __assign({}, state.rippleStyle, { left: left,\n top: top, opacity: 1, transform: 'translate(-50%, -50%)', transition: 'initial', backgroundColor: color }),\n };\n }, function () {\n _this.timer = setTimeout(function () {\n _this.setState(function (state) { return ({\n rippleStyle: __assign({}, state.rippleStyle, { opacity: 0, transform: \"scale(\" + size / 9 + \")\", transition: \"all \" + during + \"ms\" }),\n }); });\n }, 50);\n });\n if (onClick)\n onClick(ev);\n };\n _this.state = {\n rippleStyle: {\n position: 'absolute',\n borderRadius: '50%',\n opacity: 0,\n width: 35,\n height: 35,\n transform: 'translate(-50%, -50%)',\n pointerEvents: 'none',\n },\n };\n return _this;\n }\n class_1.prototype.componentWillUnmount = function () {\n clearTimeout(this.timer);\n };\n class_1.prototype.render = function () {\n var _a = this.props, children = _a.children, during = _a.during, color = _a.color, onClick = _a.onClick, className = _a.className, props = __rest(_a, [\"children\", \"during\", \"color\", \"onClick\", \"className\"]);\n var rippleStyle = this.state.rippleStyle;\n return (React.createElement(\"div\", __assign({}, props, { className: (\"react-ripples \" + className).trim(), style: boxStyle, onClick: this.onClick }),\n children,\n React.createElement(\"s\", { style: rippleStyle })));\n };\n return class_1;\n }(React.PureComponent)),\n _a.displayName = 'Ripples',\n _a.propTypes = {\n during: PropTypes.number,\n color: PropTypes.string,\n onClick: PropTypes.func,\n className: PropTypes.string,\n },\n _a.defaultProps = __assign({ during: 600, color: 'rgba(0, 0, 0, .3)', className: '', onClick: function () { } }, defaultProps),\n _a;\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport React from 'react';\nvar withAttrs = function (Component) { return function (props) { return (React.createElement(Component, __assign({}, props))); }; };\nexport default withAttrs;\n","import { createRipples } from './createRipples';\nimport withAttrs from './withAttrs';\nexport default withAttrs(createRipples());\nexport * from './createRipples';\n","import { Box } from '@chakra-ui/react'\nimport ReactRipples from 'react-ripples'\n\n/**\n * Componente Ripples se debe poner entre un Wrapper y su contenido\n * @example\n * <div>\n * <Ripples>\n * <p>Lorem ipsum dolor sit amet consectetur adipisicing elit.</p>\n * </Ripples>\n * </div>\n */\nexport function Ripples({ children, color = 'rgba(204,204,204,0.2)' }: any): JSX.Element {\n return (\n <ReactRipples during={1000} color={color}>\n <Box>{children}</Box>\n </ReactRipples>\n )\n}\n","import { Icon as IconChakra } from '@chakra-ui/react'\n\nimport { vars } from '@theme'\n\nexport interface BaseProps {\n w?: string\n h?: string\n color?: string\n m?: string\n viewBox?: string\n}\ninterface IconProps extends BaseProps {\n viewBox?: string\n children: React.ReactNode\n title?: string\n}\n\nexport function Base({\n w = '1rem',\n h = '1rem',\n color = vars('colors-main-ziggurat'),\n m = '0',\n viewBox = '0 0 16 16',\n children,\n title,\n}: IconProps): JSX.Element {\n return (\n <IconChakra w={w} h={h} viewBox={viewBox} color={color} m={m} aria-label=\" \" aria-hidden>\n <title>icon{title && `-${title}`}</title>\n {children}\n </IconChakra>\n )\n}\n","import { Base, BaseProps } from './Base'\n\nexport function AcademicRecord(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"16px\" h=\"16px\" viewBox=\"0 0 16 16\" title=\"academicRecord\">\n <path\n d=\"M14 0H2C1.73478 0 1.48043 0.105357 1.29289 0.292893C1.10536 0.48043 1 0.734784 1 1V7C1 7.26522 1.10536 7.51957 1.29289 7.70711C1.48043 7.89464 1.73478 8 2 8H14C14.2652 8 14.5196 7.89464 14.7071 7.70711C14.8946 7.51957 15 7.26522 15 7V1C15 0.734784 14.8946 0.48043 14.7071 0.292893C14.5196 0.105357 14.2652 0 14 0V0Z\"\n fill=\"currentColor\"\n />\n <path d=\"M15 10H1V12H15V10Z\" fill=\"currentColor\" />\n <path d=\"M15 14H1V16H15V14Z\" fill=\"currentColor\" />\n </Base>\n )\n}\n\nAcademicRecord.displayName = 'AcademicRecord'\n","import { Base, BaseProps } from './Base'\n\nexport function AlertInfo(props: BaseProps): JSX.Element {\n return (\n <Base {...props}>\n <svg\n width=\"53\"\n height=\"45\"\n viewBox=\"0 0 53 45\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M22.142 44.1483C34.0945 44.1483 43.784 34.4588 43.784 22.5063C43.784 10.5537 34.0945 0.864258 22.142 0.864258C10.1895 0.864258 0.5 10.5537 0.5 22.5063C0.5 34.4588 10.1895 44.1483 22.142 44.1483Z\"\n fill=\"#FDEED6\"\n />\n <path\n d=\"M19 24.1013C19.8284 24.1013 20.5 23.4297 20.5 22.6013C20.5 21.7729 19.8284 21.1013 19 21.1013C18.1716 21.1013 17.5 21.7729 17.5 22.6013C17.5 23.4297 18.1716 24.1013 19 24.1013Z\"\n fill=\"#FFBC27\"\n />\n <path\n d=\"M24 24.1013C24.8284 24.1013 25.5 23.4297 25.5 22.6013C25.5 21.7729 24.8284 21.1013 24 21.1013C23.1716 21.1013 22.5 21.7729 22.5 22.6013C22.5 23.4297 23.1716 24.1013 24 24.1013Z\"\n fill=\"#FFBC27\"\n />\n <path\n d=\"M29 24.1013C29.8284 24.1013 30.5 23.4297 30.5 22.6013C30.5 21.7729 29.8284 21.1013 29 21.1013C28.1716 21.1013 27.5 21.7729 27.5 22.6013C27.5 23.4297 28.1716 24.1013 29 24.1013Z\"\n fill=\"#FFBC27\"\n />\n <path\n d=\"M44.178 13.8843C41.157 8.63532 35.491 5.10132 29 5.10132C19.335 5.10132 11.5 12.9363 11.5 22.6013C11.5 32.2663 19.335 40.1013 29 40.1013C35.108 40.1013 40.484 36.9723 43.615 32.2303\"\n stroke=\"#808080\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M49.282 13.9192C50.6627 13.9192 51.782 15.0385 51.782 16.4192V20.9862C51.782 22.3669 50.6627 23.4862 49.282 23.4862C47.9013 23.4862 46.782 22.3669 46.782 20.9862V16.4192C46.782 15.0385 47.9013 13.9192 49.282 13.9192ZM47.5143 25.6514C48.4906 24.6751 50.0735 24.6751 51.0498 25.6515L51.0958 25.6975C52.0721 26.6738 52.072 28.2567 51.0957 29.233C50.1194 30.2093 48.5365 30.2093 47.5602 29.2329L47.5142 29.1869C46.5379 28.2106 46.5379 26.6277 47.5143 25.6514Z\"\n fill=\"#FFBC27\"\n />\n </svg>\n </Base>\n )\n}\n\nAlertInfo.displayName = 'ArrowRight'\n","export function uniqueId(): string {\n return Math.random().toString(36).slice(2, 9)\n}\n","import { uniqueId } from '@/services'\nimport { Base, BaseProps } from './Base'\n\nexport function ArrowRight(props: BaseProps): JSX.Element {\n const id = `clip-${uniqueId()}`\n return (\n <Base {...props}>\n <g clipPath={`url(#${id})`}>\n <mask\n id={`mask-${id}`}\n style={{ maskType: 'alpha' }}\n width=\"16\"\n height=\"16\"\n x=\"0\"\n y=\"0\"\n maskUnits=\"userSpaceOnUse\"\n >\n <path fill=\"#fff\" d=\"M16 16H32V32H16z\" transform=\"rotate(180 16 16)\" />\n </mask>\n <g mask={`url(#mask-${id})`}>\n <path fill=\"currentColor\" d=\"M6.074 14L12 8 6.074 2 4 4.1 7.852 8 4 11.9 6.074 14z\" />\n </g>\n </g>\n <defs>\n <clipPath id={id}>\n <path fill=\"#fff\" d=\"M0 0H16V16H0z\" />\n </clipPath>\n </defs>\n </Base>\n )\n}\n\nArrowRight.displayName = 'ArrowRight'\n","import { Base, BaseProps } from './Base'\n\nexport function Certificate(props: BaseProps): JSX.Element {\n return (\n <Base {...props}>\n <path fill=\"currentColor\" d=\"M7 4H9V6H7z\" />\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M13 8h2a1 1 0 011 1v6a1 1 0 01-1 1H9v-4H7v4H1a1 1 0 01-1-1V9a1 1 0 011-1h2V4.618l-.553.277a1 1 0 01-.894-1.79l6-3a1 1 0 01.894 0l6 3a1 1 0 11-.894 1.79L13 4.618V8zM3 13h2v-3H3v3zm2-5V4a.98.98 0 00-.07-.347L8 2.118l3.07 1.535A.98.98 0 0011 4v4H5zm6 5h2v-3h-2v3z\"\n clipRule=\"evenodd\"\n />\n </Base>\n )\n}\n\nCertificate.displayName = 'Certificate'\n","import { Base, BaseProps } from './Base'\n\nexport function CircularCheck(props: BaseProps): JSX.Element {\n return (\n <Base {...props}>\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M0 8c0-4.4 3.6-8 8-8s8 3.6 8 8-3.6 8-8 8-8-3.6-8-8zm3.6 0L7 11.4 12.4 6 11 4.6l-4 4-2-2L3.6 8z\"\n clipRule=\"evenodd\"\n />\n </Base>\n )\n}\n\nCircularCheck.displayName = 'CircularCheck'\n","import { Base, BaseProps } from './Base'\n\nexport function CircularInformation(props: BaseProps): JSX.Element {\n return (\n <Base {...props}>\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zM7 12V7h2v5H7zm0-7c0 .6.4 1 1 1s1-.4 1-1-.4-1-1-1-1 .4-1 1z\"\n clipRule=\"evenodd\"\n />\n </Base>\n )\n}\n\nCircularInformation.displayName = 'CircularInformation'\n","import { Base, BaseProps } from './Base'\n\nexport function Download(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"16px\" h=\"16px\" viewBox=\"0 0 16 16\">\n <path\n d=\"M7.99998 12C8.29998 12 8.49998 11.9 8.69998 11.7L14.4 6L13 4.6L8.99998 8.6V0H6.99998V8.6L2.99998 4.6L1.59998 6L7.29998 11.7C7.49998 11.9 7.69998 12 7.99998 12Z\"\n fill=\"currentColor\"\n />\n <path d=\"M15 14H1V16H15V14Z\" fill=\"currentColor\" />\n </Base>\n )\n}\n\nDownload.displayName = 'Download'\n","import { Base, BaseProps } from './Base'\n\nexport function GoAhead(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"8px\" h=\"16px\" viewBox=\"0 0 8 16\" title=\"goAhead\">\n <path\n d=\"M2.07407 12L8 6L2.07407 5.18061e-07L-8.65485e-07 2.1L3.85185 6L-1.83588e-07 9.9L2.07407 12V12Z\"\n fill=\"currentColor\"\n />\n </Base>\n )\n}\n\nGoAhead.displayName = 'GoAhead'\n","import { Base, BaseProps } from './Base'\n\nexport function GoBack(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"8px\" h=\"16px\" viewBox=\"0 0 8 16\" title=\"goBack\">\n <path d=\"M5.92593 2L0 8L5.92593 14L8 11.9L4.14815 8L8 4.1L5.92593 2Z\" fill=\"currentColor\" />\n </Base>\n )\n}\n\nGoBack.displayName = 'GoBack'\n","import { Base, BaseProps } from './Base'\n\nexport function Multimedia(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"12px\" viewBox=\"0 0 14 14\" title=\"multimedia\">\n <path\n d=\"M3 6C4.65685 6 6 4.65685 6 3C6 1.34315 4.65685 0 3 0C1.34315 0 0 1.34315 0 3C0 4.65685 1.34315 6 3 6Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M11 6C12.6569 6 14 4.65685 14 3C14 1.34315 12.6569 0 11 0C9.34315 0 8 1.34315 8 3C8 4.65685 9.34315 6 11 6Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M3 14C4.65685 14 6 12.6569 6 11C6 9.34315 4.65685 8 3 8C1.34315 8 0 9.34315 0 11C0 12.6569 1.34315 14 3 14Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M11 14C12.6569 14 14 12.6569 14 11C14 9.34315 12.6569 8 11 8C9.34315 8 8 9.34315 8 11C8 12.6569 9.34315 14 11 14Z\"\n fill=\"currentColor\"\n />\n </Base>\n )\n}\n\nMultimedia.displayName = 'Multimedia'\n","import { uniqueId } from '@/services'\n\ninterface props {\n fill?: string\n}\n\nexport function Loader({ fill = '#fff' }: props): JSX.Element {\n return (\n <div className=\"loaderAsync\" data-testid=\"loaderAsync\">\n <svg\n id={uniqueId()}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 38 20\"\n shapeRendering=\"geometricPrecision\"\n textRendering=\"geometricPrecision\"\n width={38}\n height={20}\n >\n <style\n dangerouslySetInnerHTML={{\n __html:\n '@keyframes eXySq0EBKm12_f_o{0%,33.333333%,to{fill-opacity:.4}66.666667%{fill-opacity:1;animation-timing-function:cubic-bezier(.42,0,.58,1)}}@keyframes eXySq0EBKm13_f_o{0%,66.666667%,to{fill-opacity:.4}33.333333%{fill-opacity:1;animation-timing-function:cubic-bezier(.42,0,.58,1)}}@keyframes eXySq0EBKm14_f_o{0%{fill-opacity:1;animation-timing-function:cubic-bezier(.42,0,.58,1)}33.333333%,66.666667%{fill-opacity:.4}to{fill-opacity:1}}',\n }}\n />\n <circle\n r={2.502}\n transform=\"translate(29.526 10)\"\n fill={fill}\n fillOpacity={0.4}\n style={{\n animation: 'eXySq0EBKm12_f_o 600ms linear infinite normal forwards',\n }}\n />\n <circle\n r={2.502}\n transform=\"translate(19 10)\"\n fill={fill}\n fillOpacity={0.4}\n style={{\n animation: 'eXySq0EBKm13_f_o 600ms linear infinite normal forwards',\n }}\n />\n <circle\n r={2.053}\n transform=\"matrix(1.21764 0 0 1.21764 8.562 10.002)\"\n fill={fill}\n style={{\n animation: 'eXySq0EBKm14_f_o 600ms linear infinite normal forwards',\n }}\n />\n </svg>\n </div>\n )\n}\n","import { Base, BaseProps } from './Base'\n\nexport function Profile(props: BaseProps): JSX.Element {\n return (\n <Base {...props} viewBox=\"0 0 12 12\" w=\"12px\" title=\"profile\">\n <path\n fill=\"currentColor\"\n d=\"M5 6a3 3 0 100-6 3 3 0 000 6zM5 7c-3.375 0-5 2.106-5 3.333V11a1 1 0 001 1h8a1 1 0 001-1v-.667C10 9.106 8.375 7 5 7z\"\n />\n </Base>\n )\n}\n\nProfile.displayName = 'Profile'\n","import { Base, BaseProps } from './Base'\n\nexport function Schedule(props: BaseProps): JSX.Element {\n return (\n <Base {...props}>\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M13 2h2a1 1 0 011 1v12a1 1 0 01-1 1H1a1 1 0 01-1-1V3a1 1 0 011-1h2V0h2v2h2V0h2v2h2V0h2v2zM2 14h12V5H2v9z\"\n clipRule=\"evenodd\"\n />\n <path fill=\"currentColor\" d=\"M4 7H6V9H4z\" />\n <path fill=\"currentColor\" d=\"M7 7H9V9H7z\" />\n <path fill=\"currentColor\" d=\"M4 10H6V12H4z\" />\n <path fill=\"currentColor\" d=\"M7 10H9V12H7z\" />\n <path fill=\"currentColor\" d=\"M10 7H12V9H10z\" />\n <path fill=\"currentColor\" d=\"M10 10H12V12H10z\" />\n </Base>\n )\n}\n\nSchedule.displayName = 'Schedule'\n","import { Base, BaseProps } from './Base'\n\nexport function TinyAlertInfo(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"12px\" h=\"12px\" viewBox=\"0 0 12 12\">\n <circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#0189FF\" />\n <path d=\"M7 6H5V10H7V6Z\" fill=\"white\" />\n <path\n d=\"M6 4C6.55228 4 7 3.55228 7 3C7 2.44772 6.55228 2 6 2C5.44772 2 5 2.44772 5 3C5 3.55228 5.44772 4 6 4Z\"\n fill=\"white\"\n />\n </Base>\n )\n}\n\nTinyAlertInfo.displayName = 'TinyAlertInfo'\n","import { uniqueId } from '@/services'\nimport { Base, BaseProps } from './Base'\n\nexport function TinyAlertError(props: BaseProps): JSX.Element {\n const id = `clip${uniqueId()}`\n return (\n <Base {...props} w=\"12px\" h=\"12px\" viewBox=\"0 0 12 12\">\n <g clipPath={`url(#${id})`}>\n <circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#CC0000\" />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.87867 2.46447L2.46446 3.87868L4.58578 6L2.46446 8.12132L3.87867 9.53553L5.99999 7.41421L8.12131 9.53553L9.53553 8.12132L7.41421 6L9.53553 3.87868L8.12131 2.46447L5.99999 4.58579L3.87867 2.46447Z\"\n fill=\"white\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"12px\" height=\"12px\" fill=\"white\" />\n </clipPath>\n </defs>\n </Base>\n )\n}\n\nTinyAlertError.displayName = 'TinyAlertError'\n","import { Base, BaseProps } from './Base'\n\nexport function TinyAlertWarning(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"12px\" h=\"12px\" viewBox=\"0 0 12 12\">\n <circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#F5A623\" />\n <path d=\"M5 6L7 6L7 2L5 2L5 6Z\" fill=\"white\" />\n <path\n d=\"M6 8C5.44771 8 5 8.44772 5 9C5 9.55228 5.44772 10 6 10C6.55228 10 7 9.55228 7 9C7 8.44772 6.55228 8 6 8Z\"\n fill=\"white\"\n />\n </Base>\n )\n}\n\nTinyAlertWarning.displayName = 'TinyAlertWarning'\n","import { uniqueId } from '@/services'\nimport { Base, BaseProps } from './Base'\n\nexport function TinyAlertSuccess(props: BaseProps): JSX.Element {\n const id = `clip${uniqueId()}`\n return (\n <Base {...props} w=\"12px\" h=\"12px\" viewBox=\"0 0 12 12\">\n <g clipPath={`url(#${id})`}>\n <circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#28A745\" />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.41421 5.53549L2 6.94971L3.41421 8.36392L4.82843 9.77813L9.77817 4.82839L8.36396 3.41417L4.82843 6.94971L3.41421 5.53549Z\"\n fill=\"white\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"12\" height=\"12\" fill=\"white\" />\n </clipPath>\n </defs>\n </Base>\n )\n}\n\nTinyAlertSuccess.displayName = 'TinyAlertSuccess'\n","import { Base, BaseProps } from './Base'\n\nexport function Password(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"14px\" h=\"16px\" viewBox=\"0 0 14 16\" title=\"password\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7 0C4.95714 0 3.28571 1.67143 3.28571 3.71429V4.64286H1.42857C0.871429 4.64286 0.5 5.01429 0.5 5.57143V13.9286C0.5 14.4857 0.871429 14.8571 1.42857 14.8571H12.5714C13.1286 14.8571 13.5 14.4857 13.5 13.9286V5.57143C13.5 5.01429 13.1286 4.64286 12.5714 4.64286H10.7143V3.71429C10.7143 1.67143 9.04286 0 7 0ZM7.92857 10.8643V12.0714H6.07143V10.8643C5.51429 10.5857 5.14286 9.93571 5.14286 9.28571C5.14286 8.26429 5.97857 7.42857 7 7.42857C8.02143 7.42857 8.85714 8.26429 8.85714 9.28571C8.85714 9.93571 8.48571 10.5857 7.92857 10.8643ZM5.14286 3.71429V4.64286H8.85714V3.71429C8.85714 2.69286 8.02143 1.85714 7 1.85714C5.97857 1.85714 5.14286 2.69286 5.14286 3.71429Z\"\n fill=\"currentColor\"\n />\n </Base>\n )\n}\n\nPassword.displayName = 'Password'\n","import { Base, BaseProps } from './Base'\n\nexport function Pen(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"16px\" h=\"16px\" viewBox=\"0 0 16 16\" title=\"pen\">\n <path\n d=\"M8.1 3.5L0.3 11.3C0.1 11.5 0 11.7 0 12V15C0 15.6 0.4 16 1 16H4C4.3 16 4.5 15.9 4.7 15.7L12.5 7.9L8.1 3.5Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M15.7 3.3L12.7 0.3C12.3 -0.1 11.7 -0.1 11.3 0.3L9.5 2.1L13.9 6.5L15.7 4.7C16.1 4.3 16.1 3.7 15.7 3.3Z\"\n fill=\"currentColor\"\n />\n </Base>\n )\n}\n\nPen.displayName = 'Pen'\n","import { Base, BaseProps } from './Base'\n\nexport function PlusSign(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"16px\" h=\"16px\" viewBox=\"0 0 16 16\" title=\"plusSign\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 8C0 3.6 3.6 0 8 0C12.4 0 16 3.6 16 8C16 12.4 12.4 16 8 16C3.6 16 0 12.4 0 8ZM9 9H12V7H9V4H7V7H4V9H7V12H9V9Z\"\n fill=\"currentColor\"\n />\n </Base>\n )\n}\n\nPlusSign.displayName = 'PlusSign'\n","import { Base, BaseProps } from './Base'\n\nexport function TrashCan(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"16px\" h=\"16px\" viewBox=\"0 0 16 16\" title=\"trashCan\">\n <path d=\"M2 6V14C2 15.1 2.9 16 4 16H12C13.1 16 14 15.1 14 14V6H2Z\" fill=\"currentColor\" />\n <path\n d=\"M12 3V1C12 0.4 11.6 0 11 0H5C4.4 0 4 0.4 4 1V3H0V5H16V3H12ZM10 3H6V2H10V3Z\"\n fill=\"currentColor\"\n />\n </Base>\n )\n}\n\nTrashCan.displayName = 'TrashCan'\n","import { Base, BaseProps } from './Base'\n\nexport function TextBubble(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"16px\" h=\"16px\" viewBox=\"0 0 16 16\" title=\"textBubble\">\n <path\n d=\"M1 0H15C15.552 0 16 0.448 16 1V11C16 11.552 15.552 12 15 12H10L4 16V12H1C0.448 12 0 11.552 0 11V1C0 0.448 0.448 0 1 0Z\"\n fill=\"currentColor\"\n />\n </Base>\n )\n}\n\nTextBubble.displayName = 'TextBubble'\n","import { Base, BaseProps } from '../Base'\n\nexport function ErrorWhite(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"52\" h=\"45\" viewBox=\"0 0 52 45\">\n <svg fill=\"none\">\n <path\n d=\"M21.642 44.2419C33.5945 44.2419 43.284 34.5524 43.284 22.5999C43.284 10.6473 33.5945 0.957886 21.642 0.957886C9.68945 0.957886 0 10.6473 0 22.5999C0 34.5524 9.68945 44.2419 21.642 44.2419Z\"\n fill=\"white\"\n />\n <path\n d=\"M18.5 24.1949C19.3284 24.1949 20 23.5233 20 22.6949C20 21.8665 19.3284 21.1949 18.5 21.1949C17.6716 21.1949 17 21.8665 17 22.6949C17 23.5233 17.6716 24.1949 18.5 24.1949Z\"\n fill=\"#CC0000\"\n />\n <path\n d=\"M23.5 24.1949C24.3284 24.1949 25 23.5233 25 22.6949C25 21.8665 24.3284 21.1949 23.5 21.1949C22.6716 21.1949 22 21.8665 22 22.6949C22 23.5233 22.6716 24.1949 23.5 24.1949Z\"\n fill=\"#CC0000\"\n />\n <path\n d=\"M28.5 24.1949C29.3284 24.1949 30 23.5233 30 22.6949C30 21.8665 29.3284 21.1949 28.5 21.1949C27.6716 21.1949 27 21.8665 27 22.6949C27 23.5233 27.6716 24.1949 28.5 24.1949Z\"\n fill=\"#CC0000\"\n />\n <path\n d=\"M43.678 13.9779C40.657 8.72889 34.991 5.19489 28.5 5.19489C18.835 5.19489 11 13.0299 11 22.6949C11 32.3599 18.835 40.1949 28.5 40.1949C34.608 40.1949 39.984 37.0659 43.115 32.3239\"\n stroke=\"#808080\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M35.5862 15.7811C36.5625 14.8048 38.1455 14.8048 39.1218 15.7811L43.2105 19.8699L47.2992 15.7811C48.2755 14.8048 49.8585 14.8048 50.8348 15.7811C51.8111 16.7574 51.8111 18.3403 50.8348 19.3167L46.746 23.4054L50.8348 27.4941C51.8111 28.4704 51.8111 30.0533 50.8348 31.0297C49.8585 32.006 48.2755 32.006 47.2992 31.0297L43.2105 26.9409L39.1218 31.0297C38.1455 32.006 36.5625 32.006 35.5862 31.0297C34.6099 30.0533 34.6099 28.4704 35.5862 27.4941L39.675 23.4054L35.5862 19.3167C34.6099 18.3403 34.6099 16.7574 35.5862 15.7811Z\"\n fill=\"#CC0000\"\n />\n </svg>\n </Base>\n )\n}\n\nErrorWhite.displayName = 'ErrorWhite'\n","import { Base, BaseProps } from '../Base'\n\nexport function InfoWhite(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"53\" h=\"45\" viewBox=\"0 0 53 45\" title=\"infoIcon\">\n <svg fill=\"none\">\n <path\n d=\"M21.642 44.047C33.5945 44.047 43.284 34.3575 43.284 22.405C43.284 10.4525 33.5945 0.763 21.642 0.763C9.68945 0.763 0 10.4525 0 22.405C0 34.3575 9.68945 44.047 21.642 44.047Z\"\n fill=\"white\"\n />\n <path\n d=\"M18.5 24C19.3284 24 20 23.3284 20 22.5C20 21.6716 19.3284 21 18.5 21C17.6716 21 17 21.6716 17 22.5C17 23.3284 17.6716 24 18.5 24Z\"\n fill=\"#0189FF\"\n />\n <path\n d=\"M23.5 24C24.3284 24 25 23.3284 25 22.5C25 21.6716 24.3284 21 23.5 21C22.6716 21 22 21.6716 22 22.5C22 23.3284 22.6716 24 23.5 24Z\"\n fill=\"#0189FF\"\n />\n <path\n d=\"M28.5 24C29.3284 24 30 23.3284 30 22.5C30 21.6716 29.3284 21 28.5 21C27.6716 21 27 21.6716 27 22.5C27 23.3284 27.6716 24 28.5 24Z\"\n fill=\"#0189FF\"\n />\n <path\n d=\"M43.678 13.783C40.657 8.534 34.991 5 28.5 5C18.835 5 11 12.835 11 22.5C11 32.165 18.835 40 28.5 40C34.608 40 39.984 36.871 43.115 32.129\"\n stroke=\"#808080\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M47 21H50C50.2652 21 50.5196 21.1054 50.7071 21.2929C50.8946 21.4804 51 21.7348 51 22V29.045H51.237C51.4908 29.0531 51.7316 29.1597 51.9082 29.3421C52.0849 29.5245 52.1837 29.7685 52.1837 30.0225C52.1837 30.2765 52.0849 30.5205 51.9082 30.7029C51.7316 30.8853 51.4908 30.9919 51.237 31H46.977C46.7232 30.9919 46.4824 30.8853 46.3058 30.7029C46.1291 30.5205 46.0303 30.2765 46.0303 30.0225C46.0303 29.7685 46.1291 29.5245 46.3058 29.3421C46.4824 29.1597 46.7232 29.0531 46.977 29.045H47V23.123C46.7348 23.123 46.4804 23.0176 46.2929 22.8301C46.1054 22.6426 46 22.3882 46 22.123V22C46 21.7348 46.1054 21.4804 46.2929 21.2929C46.4804 21.1054 46.7348 21 47 21Z\"\n fill=\"#0189FF\"\n />\n <path\n d=\"M49 19C50.3807 19 51.5 17.8807 51.5 16.5C51.5 15.1193 50.3807 14 49 14C47.6193 14 46.5 15.1193 46.5 16.5C46.5 17.8807 47.6193 19 49 19Z\"\n fill=\"#0189FF\"\n />\n </svg>\n </Base>\n )\n}\n\nInfoWhite.displayName = 'InfoWhite'\n","import { Base, BaseProps } from '../Base'\n\nexport function SuccessWhite(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"57\" h=\"45\" viewBox=\"0 0 57 45\">\n <svg fill=\"none\">\n <path\n d=\"M21.642 44.094C33.5945 44.094 43.284 34.4045 43.284 22.452C43.284 10.4995 33.5945 0.809998 21.642 0.809998C9.68945 0.809998 0 10.4995 0 22.452C0 34.4045 9.68945 44.094 21.642 44.094Z\"\n fill=\"white\"\n />\n <path\n d=\"M43.678 13.83C40.657 8.581 34.991 5.047 28.5 5.047C18.835 5.047 11 12.882 11 22.547C11 32.212 18.835 40.047 28.5 40.047C34.608 40.047 39.984 36.918 43.115 32.176\"\n stroke=\"#808080\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M56.0248 12.8232C57.0011 13.7995 57.0011 15.3825 56.0248 16.3588L44.3118 28.0718C43.8429 28.5406 43.207 28.804 42.544 28.804C41.881 28.804 41.2451 28.5406 40.7762 28.0718L34.2322 21.5278C33.2559 20.5515 33.2559 18.9685 34.2322 17.9922C35.2085 17.0159 36.7915 17.0159 37.7678 17.9922L42.544 22.7685L52.4892 12.8232C53.4655 11.8469 55.0485 11.8469 56.0248 12.8232Z\"\n fill=\"#28A745\"\n />\n <path\n d=\"M18.5 24.047C19.3284 24.047 20 23.3754 20 22.547C20 21.7186 19.3284 21.047 18.5 21.047C17.6716 21.047 17 21.7186 17 22.547C17 23.3754 17.6716 24.047 18.5 24.047Z\"\n fill=\"#28A745\"\n />\n <path\n d=\"M23.5 24.047C24.3284 24.047 25 23.3754 25 22.547C25 21.7186 24.3284 21.047 23.5 21.047C22.6716 21.047 22 21.7186 22 22.547C22 23.3754 22.6716 24.047 23.5 24.047Z\"\n fill=\"#28A745\"\n />\n <path\n d=\"M28.5 24.047C29.3284 24.047 30 23.3754 30 22.547C30 21.7186 29.3284 21.047 28.5 21.047C27.6716 21.047 27 21.7186 27 22.547C27 23.3754 27.6716 24.047 28.5 24.047Z\"\n fill=\"#28A745\"\n />\n </svg>\n </Base>\n )\n}\n\nSuccessWhite.displayName = 'SuccessWhite'\n","import { Base, BaseProps } from '../Base'\n\nexport function WarningWhite(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"52\" h=\"45\" viewBox=\"0 0 52 45\">\n <svg fill=\"none\">\n <path\n d=\"M21.642 44.282C33.5945 44.282 43.284 34.5925 43.284 22.64C43.284 10.6874 33.5945 0.997986 21.642 0.997986C9.68945 0.997986 0 10.6874 0 22.64C0 34.5925 9.68945 44.282 21.642 44.282Z\"\n fill=\"white\"\n />\n <path\n d=\"M18.5 24.235C19.3284 24.235 20 23.5634 20 22.735C20 21.9066 19.3284 21.235 18.5 21.235C17.6716 21.235 17 21.9066 17 22.735C17 23.5634 17.6716 24.235 18.5 24.235Z\"\n fill=\"#FFBC27\"\n />\n <path\n d=\"M23.5 24.235C24.3284 24.235 25 23.5634 25 22.735C25 21.9066 24.3284 21.235 23.5 21.235C22.6716 21.235 22 21.9066 22 22.735C22 23.5634 22.6716 24.235 23.5 24.235Z\"\n fill=\"#FFBC27\"\n />\n <path\n d=\"M28.5 24.235C29.3284 24.235 30 23.5634 30 22.735C30 21.9066 29.3284 21.235 28.5 21.235C27.6716 21.235 27 21.9066 27 22.735C27 23.5634 27.6716 24.235 28.5 24.235Z\"\n fill=\"#FFBC27\"\n />\n <path\n d=\"M43.678 14.018C40.657 8.76899 34.991 5.23499 28.5 5.23499C18.835 5.23499 11 13.07 11 22.735C11 32.4 18.835 40.235 28.5 40.235C34.608 40.235 39.984 37.106 43.115 32.364\"\n stroke=\"#808080\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M48.782 14.053C50.1627 14.053 51.282 15.1723 51.282 16.553V21.12C51.282 22.5007 50.1627 23.62 48.782 23.62C47.4013 23.62 46.282 22.5007 46.282 21.12V16.553C46.282 15.1723 47.4013 14.053 48.782 14.053ZM47.0143 25.7852C47.9906 24.8089 49.5735 24.8089 50.5498 25.7852L50.5958 25.8312C51.5721 26.8076 51.572 28.3905 50.5957 29.3668C49.6194 30.3431 48.0365 30.343 47.0602 29.3667L47.0142 29.3207C46.0379 28.3444 46.0379 26.7615 47.0143 25.7852Z\"\n fill=\"#FFBC27\"\n />\n </svg>\n </Base>\n )\n}\n\nWarningWhite.displayName = 'WarningWhite'\n","import { Base, BaseProps } from '../Base'\n\nexport function ErrorColor(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"53\" h=\"45\" viewBox=\"0 0 53 45\">\n <svg fill=\"none\">\n <path\n d=\"M22.142 44.1878C34.0945 44.1878 43.784 34.4984 43.784 22.5458C43.784 10.5933 34.0945 0.903809 22.142 0.903809C10.1895 0.903809 0.5 10.5933 0.5 22.5458C0.5 34.4984 10.1895 44.1878 22.142 44.1878Z\"\n fill=\"#F9DFDF\"\n />\n <path\n d=\"M19 24.1409C19.8284 24.1409 20.5 23.4693 20.5 22.6409C20.5 21.8124 19.8284 21.1409 19 21.1409C18.1716 21.1409 17.5 21.8124 17.5 22.6409C17.5 23.4693 18.1716 24.1409 19 24.1409Z\"\n fill=\"#CC0000\"\n />\n <path\n d=\"M24 24.1409C24.8284 24.1409 25.5 23.4693 25.5 22.6409C25.5 21.8124 24.8284 21.1409 24 21.1409C23.1716 21.1409 22.5 21.8124 22.5 22.6409C22.5 23.4693 23.1716 24.1409 24 24.1409Z\"\n fill=\"#CC0000\"\n />\n <path\n d=\"M29 24.1409C29.8284 24.1409 30.5 23.4693 30.5 22.6409C30.5 21.8124 29.8284 21.1409 29 21.1409C28.1716 21.1409 27.5 21.8124 27.5 22.6409C27.5 23.4693 28.1716 24.1409 29 24.1409Z\"\n fill=\"#CC0000\"\n />\n <path\n d=\"M44.178 13.9239C41.157 8.67487 35.491 5.14087 29 5.14087C19.335 5.14087 11.5 12.9759 11.5 22.6409C11.5 32.3059 19.335 40.1409 29 40.1409C35.108 40.1409 40.484 37.0119 43.615 32.2699\"\n stroke=\"#808080\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M36.0862 15.7271C37.0625 14.7508 38.6455 14.7508 39.6218 15.7271L43.7105 19.8158L47.7992 15.7271C48.7755 14.7508 50.3585 14.7508 51.3348 15.7271C52.3111 16.7034 52.3111 18.2863 51.3348 19.2626L47.246 23.3514L51.3348 27.4401C52.3111 28.4164 52.3111 29.9993 51.3348 30.9756C50.3585 31.952 48.7755 31.952 47.7992 30.9756L43.7105 26.8869L39.6218 30.9756C38.6455 31.952 37.0625 31.952 36.0862 30.9756C35.1099 29.9993 35.1099 28.4164 36.0862 27.4401L40.175 23.3514L36.0862 19.2626C35.1099 18.2863 35.1099 16.7034 36.0862 15.7271Z\"\n fill=\"#CC0000\"\n />\n </svg>\n </Base>\n )\n}\n\nErrorColor.displayName = 'ErrorColor'\n","import { Base, BaseProps } from '../Base'\n\nexport function InfoColor(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"57\" h=\"45\" viewBox=\"0 0 57 45\">\n <svg fill=\"none\">\n <path\n d=\"M21.642 44.2349C33.5945 44.2349 43.284 34.5455 43.284 22.5929C43.284 10.6404 33.5945 0.950928 21.642 0.950928C9.68945 0.950928 0 10.6404 0 22.5929C0 34.5455 9.68945 44.2349 21.642 44.2349Z\"\n fill=\"#E0EEFA\"\n />\n <path\n d=\"M18.5 24.188C19.3284 24.188 20 23.5164 20 22.688C20 21.8596 19.3284 21.188 18.5 21.188C17.6716 21.188 17 21.8596 17 22.688C17 23.5164 17.6716 24.188 18.5 24.188Z\"\n fill=\"#0189FF\"\n />\n <path\n d=\"M23.5 24.188C24.3284 24.188 25 23.5164 25 22.688C25 21.8596 24.3284 21.188 23.5 21.188C22.6716 21.188 22 21.8596 22 22.688C22 23.5164 22.6716 24.188 23.5 24.188Z\"\n fill=\"#0189FF\"\n />\n <path\n d=\"M28.5 24.188C29.3284 24.188 30 23.5164 30 22.688C30 21.8596 29.3284 21.188 28.5 21.188C27.6716 21.188 27 21.8596 27 22.688C27 23.5164 27.6716 24.188 28.5 24.188Z\"\n fill=\"#0189FF\"\n />\n <path\n d=\"M43.678 13.971C40.657 8.72199 34.991 5.18799 28.5 5.18799C18.835 5.18799 11 13.023 11 22.688C11 32.353 18.835 40.188 28.5 40.188C34.608 40.188 39.984 37.059 43.115 32.317\"\n stroke=\"#808080\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M47 21.188H50C50.2652 21.188 50.5196 21.2933 50.7071 21.4809C50.8946 21.6684 51 21.9228 51 22.188V29.233H51.237C51.4908 29.2411 51.7316 29.3477 51.9082 29.5301C52.0849 29.7125 52.1837 29.9565 52.1837 30.2105C52.1837 30.4645 52.0849 30.7085 51.9082 30.8909C51.7316 31.0733 51.4908 31.1799 51.237 31.188H46.977C46.7232 31.1799 46.4824 31.0733 46.3058 30.8909C46.1291 30.7085 46.0303 30.4645 46.0303 30.2105C46.0303 29.9565 46.1291 29.7125 46.3058 29.5301C46.4824 29.3477 46.7232 29.2411 46.977 29.233H47V23.311C46.7348 23.311 46.4804 23.2056 46.2929 23.0181C46.1054 22.8306 46 22.5762 46 22.311V22.188C46 21.9228 46.1054 21.6684 46.2929 21.4809C46.4804 21.2933 46.7348 21.188 47 21.188Z\"\n fill=\"#0189FF\"\n />\n <path\n d=\"M49 19.188C50.3807 19.188 51.5 18.0687 51.5 16.688C51.5 15.3073 50.3807 14.188 49 14.188C47.6193 14.188 46.5 15.3073 46.5 16.688C46.5 18.0687 47.6193 19.188 49 19.188Z\"\n fill=\"#0189FF\"\n />\n </svg>\n </Base>\n )\n}\n\nInfoColor.displayName = 'InfoColor'\n","import { Base, BaseProps } from '../Base'\n\nexport function SuccessColor(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"57\" h=\"45\" viewBox=\"0 0 57 45\">\n <svg fill=\"none\">\n <path\n d=\"M21.642 44.0469C33.5945 44.0469 43.284 34.3575 43.284 22.4049C43.284 10.4524 33.5945 0.762939 21.642 0.762939C9.68945 0.762939 0 10.4524 0 22.4049C0 34.3575 9.68945 44.0469 21.642 44.0469Z\"\n fill=\"#E9F6EC\"\n />\n <path\n d=\"M43.678 13.783C40.657 8.534 34.991 5 28.5 5C18.835 5 11 12.835 11 22.5C11 32.165 18.835 40 28.5 40C34.608 40 39.984 36.871 43.115 32.129\"\n stroke=\"#808080\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M56.0248 12.7762C57.0011 13.7525 57.0011 15.3354 56.0248 16.3117L44.3118 28.0247C43.8429 28.4936 43.207 28.7569 42.544 28.7569C41.881 28.7569 41.2451 28.4936 40.7762 28.0247L34.2322 21.4807C33.2559 20.5044 33.2559 18.9215 34.2322 17.9452C35.2085 16.9689 36.7915 16.9689 37.7678 17.9452L42.544 22.7214L52.4892 12.7762C53.4655 11.7999 55.0485 11.7999 56.0248 12.7762Z\"\n fill=\"#28A745\"\n />\n <path\n d=\"M18.5 24C19.3284 24 20 23.3284 20 22.5C20 21.6716 19.3284 21 18.5 21C17.6716 21 17 21.6716 17 22.5C17 23.3284 17.6716 24 18.5 24Z\"\n fill=\"#28A745\"\n />\n <path\n d=\"M23.5 24C24.3284 24 25 23.3284 25 22.5C25 21.6716 24.3284 21 23.5 21C22.6716 21 22 21.6716 22 22.5C22 23.3284 22.6716 24 23.5 24Z\"\n fill=\"#28A745\"\n />\n <path\n d=\"M28.5 24C29.3284 24 30 23.3284 30 22.5C30 21.6716 29.3284 21 28.5 21C27.6716 21 27 21.6716 27 22.5C27 23.3284 27.6716 24 28.5 24Z\"\n fill=\"#28A745\"\n />\n </svg>\n </Base>\n )\n}\n\nSuccessColor.displayName = 'SuccessColor'\n","import { Base, BaseProps } from '../Base'\n\nexport function WarningColor(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"53\" h=\"45\" viewBox=\"0 0 53 45\">\n <svg fill=\"none\">\n <path\n d=\"M22.142 44.1483C34.0945 44.1483 43.784 34.4588 43.784 22.5063C43.784 10.5537 34.0945 0.864258 22.142 0.864258C10.1895 0.864258 0.5 10.5537 0.5 22.5063C0.5 34.4588 10.1895 44.1483 22.142 44.1483Z\"\n fill=\"#FDEED6\"\n />\n <path\n d=\"M19 24.1013C19.8284 24.1013 20.5 23.4297 20.5 22.6013C20.5 21.7729 19.8284 21.1013 19 21.1013C18.1716 21.1013 17.5 21.7729 17.5 22.6013C17.5 23.4297 18.1716 24.1013 19 24.1013Z\"\n fill=\"#FFBC27\"\n />\n <path\n d=\"M24 24.1013C24.8284 24.1013 25.5 23.4297 25.5 22.6013C25.5 21.7729 24.8284 21.1013 24 21.1013C23.1716 21.1013 22.5 21.7729 22.5 22.6013C22.5 23.4297 23.1716 24.1013 24 24.1013Z\"\n fill=\"#FFBC27\"\n />\n <path\n d=\"M29 24.1013C29.8284 24.1013 30.5 23.4297 30.5 22.6013C30.5 21.7729 29.8284 21.1013 29 21.1013C28.1716 21.1013 27.5 21.7729 27.5 22.6013C27.5 23.4297 28.1716 24.1013 29 24.1013Z\"\n fill=\"#FFBC27\"\n />\n <path\n d=\"M44.178 13.8843C41.157 8.63532 35.491 5.10132 29 5.10132C19.335 5.10132 11.5 12.9363 11.5 22.6013C11.5 32.2663 19.335 40.1013 29 40.1013C35.108 40.1013 40.484 36.9723 43.615 32.2303\"\n stroke=\"#808080\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M49.282 13.9192C50.6627 13.9192 51.782 15.0385 51.782 16.4192V20.9862C51.782 22.3669 50.6627 23.4862 49.282 23.4862C47.9013 23.4862 46.782 22.3669 46.782 20.9862V16.4192C46.782 15.0385 47.9013 13.9192 49.282 13.9192ZM47.5143 25.6514C48.4906 24.6751 50.0735 24.6751 51.0498 25.6515L51.0958 25.6975C52.0721 26.6738 52.072 28.2567 51.0957 29.233C50.1194 30.2093 48.5365 30.2093 47.5602 29.2329L47.5142 29.1869C46.5379 28.2106 46.5379 26.6277 47.5143 25.6514Z\"\n fill=\"#FFBC27\"\n />\n </svg>\n </Base>\n )\n}\n\nWarningColor.displayName = 'WarningColor'\n","import { Base, BaseProps } from './Base'\n\nexport function Close(props: BaseProps): JSX.Element {\n return (\n <Base {...props} title=\"close\">\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\n <path\n d=\"M10.7071 1.29303C10.5196 1.10556 10.2652 1.00024 10.0001 1.00024C9.73492 1.00024 9.48061 1.10556 9.29308 1.29303L6.00008 4.58603L2.70708 1.29303C2.51848 1.11087 2.26588 1.01008 2.00368 1.01236C1.74148 1.01464 1.49067 1.1198 1.30526 1.30521C1.11985 1.49062 1.01469 1.74143 1.01241 2.00363C1.01013 2.26583 1.11092 2.51843 1.29308 2.70703L4.58608 6.00003L1.29308 9.29303C1.19757 9.38528 1.12139 9.49562 1.06898 9.61763C1.01657 9.73963 0.988985 9.87085 0.987831 10.0036C0.986677 10.1364 1.01198 10.2681 1.06226 10.391C1.11254 10.5139 1.18679 10.6255 1.28069 10.7194C1.37458 10.8133 1.48623 10.8876 1.60913 10.9379C1.73202 10.9881 1.8637 11.0134 1.99648 11.0123C2.12926 11.0111 2.26048 10.9835 2.38249 10.9311C2.50449 10.8787 2.61483 10.8025 2.70708 10.707L6.00008 7.41403L9.29308 10.707C9.48168 10.8892 9.73429 10.99 9.99648 10.9877C10.2587 10.9854 10.5095 10.8803 10.6949 10.6948C10.8803 10.5094 10.9855 10.2586 10.9878 9.99643C10.99 9.73423 10.8892 9.48163 10.7071 9.29303L7.41408 6.00003L10.7071 2.70703C10.8946 2.5195 10.9999 2.26519 10.9999 2.00003C10.9999 1.73487 10.8946 1.48056 10.7071 1.29303Z\"\n fill=\"#60798E\"\n />\n </svg>\n </Base>\n )\n}\n\nClose.displayName = 'Close'\n","import { Base, BaseProps } from './Base'\n\nexport function DiagonalArrow(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"16px\" h=\"16px\" viewBox=\"0 0 16 16\">\n <path\n d=\"M9.207 5.793L3 12L4.414 13.414L10.621 7.207L13.414 10V3H6.414L9.207 5.793Z\"\n fill=\"#0189FF\"\n />\n </Base>\n )\n}\n\nDiagonalArrow.displayName = 'Download'\n","import { Box, CSSObject } from '@chakra-ui/react'\nimport { vars } from '@theme'\n\nimport { TinyAlertInfo, TinyAlertError, TinyAlertWarning, TinyAlertSuccess } from '../Icons'\n\nexport interface props {\n status: 'success' | 'error' | 'info' | 'warning' | 'answered' | 'pending' | 'omitted' | 'new'\n text?: string\n margin?: string\n sx?: CSSObject\n}\n\n/**\n * Componente que retorna un label con distintos tipos de estado y muestra un texto por defecto en caso de que el mensaje no se especifique.\n *\n * @example\n * <TinyAlert status=\"info\" />\n */\n\nexport function TinyAlert({ status, text, margin = '0', sx }: props): JSX.Element | null {\n const alerts = {\n success: {\n icon: <TinyAlertSuccess />,\n text: 'Success',\n bg: vars('colors-alert-ice'),\n color: vars('colors-neutral-darkCharcoal'),\n },\n error: {\n icon: <TinyAlertError />,\n text: 'Error',\n bg: vars('colors-alert-veryLightPinkThree'),\n color: vars('colors-neutral-darkCharcoal'),\n },\n info: {\n icon: <TinyAlertInfo />,\n text: 'Info',\n bg: vars('colors-alert-veryLightBlue'),\n color: vars('colors-neutral-darkCharcoal'),\n },\n warning: {\n icon: <TinyAlertWarning />,\n text: 'Warning',\n bg: vars('colors-alert-pale'),\n color: vars('colors-neutral-darkCharcoal'),\n },\n answered: {\n icon: undefined,\n text: 'Answered',\n bg: vars('colors-main-blueGrey'),\n color: vars('colors-neutral-white'),\n },\n omitted: {\n icon: undefined,\n text: 'Omitted',\n bg: vars('colors-main-ziggurat'),\n color: vars('colors-neutral-darkCharcoal'),\n },\n pending: {\n icon: undefined,\n text: 'Pending',\n bg: vars('colors-neutral-cultured'),\n color: vars('colors-neutral-darkCharcoal'),\n },\n new: {\n icon: undefined,\n text: 'New answer',\n bg: '#FF7A14',\n color: vars('colors-neutral-white'),\n },\n }\n if (!alerts[status]) {\n return null\n }\n\n return (\n <Box\n margin={margin}\n data-testid=\"TinyAlert-Box\"\n backgroundColor={alerts[status].bg}\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n padding=\".125em .25em\"\n gap=\".25rem\"\n width=\"fit-content\"\n borderRadius=\".25rem\"\n className=\"TinyAlert-Box\"\n sx={sx}\n >\n {alerts[status].icon && (\n <Box\n lineHeight={0}\n sx={{\n '>svg': {\n margin: 0,\n },\n }}\n >\n {alerts[status].icon}\n </Box>\n )}\n\n <Box\n as=\"span\"\n color={alerts[status].color}\n fontSize=\".75rem\"\n fontStyle=\"normal\"\n fontWeight=\"400\"\n fontFamily=\"Roboto\"\n lineHeight=\".875rem\"\n margin=\"0\"\n >\n {text ?? alerts[status].text}\n </Box>\n </Box>\n )\n}\n\nTinyAlert.displayName = 'TinyAlert'\n","import { Box, Button, CSSObject } from '@chakra-ui/react'\nimport Ripples from 'react-ripples'\n\nimport { vars } from '@theme'\nimport { Loader } from '@icons'\n\ninterface colorScheme {\n main: string\n hover: string\n}\n\nexport interface propsBaseBtns {\n ariaLabel?: string\n children?: React.ReactNode\n disabled?: boolean\n isFullWidth?: boolean\n leftIcon?: React.ReactElement\n m?: string\n isLoading?: boolean\n onClick?: (e: React.MouseEvent<HTMLElement>) => void\n rightIcon?: React.ReactElement\n role?: 'button' | 'link'\n size?: 'regular' | 'small'\n type?: 'button' | 'submit' | 'reset'\n tabIndex?: number\n id?: string\n sx?: CSSObject\n}\ninterface props extends propsBaseBtns {\n bg?: colorScheme\n /** Colores para el efecto del :active son necesarios dos */\n borderColorActive?: string[]\n color?: string\n fillLoader?: string\n rounded?: boolean\n touchDark?: boolean\n}\n\n/**\n * Componente Btn\n *\n * Dibuja un boton base que posee todo lo estipulado en\n * @see https://zeroheight.com/15698077d/p/358e93-buttons\n *\n * @example <Btn>Lorem</Btn>\n */\nexport function Btn({\n ariaLabel,\n bg,\n borderColorActive = [vars('colors-main-deepSkyBlue'), vars('colors-neutral-white')],\n children,\n color = vars('colors-neutral-white'),\n disabled = false,\n fillLoader = vars('colors-neutral-white'),\n id = undefined,\n isFullWidth = false,\n isLoading = false,\n leftIcon,\n m = '0',\n onClick,\n rightIcon,\n role = 'button',\n rounded = false,\n size = 'regular',\n touchDark = false,\n type = 'button',\n tabIndex = 0,\n sx,\n}: props): JSX.Element {\n let showChildren = children ?? null\n if (!children && !rightIcon && !leftIcon) {\n showChildren = 'Button'\n }\n\n const paddingTopBottom = '.75rem' // xxs + xs spacial units\n const borderRadius = rounded ? '12px' : vars('radii-small')\n const colorMain = bg?.main ?? vars('colors-main-deepSkyBlue')\n const touchColor = touchDark ? 'rgba(160, 160, 160, 0.2)' : 'rgba(255, 255, 255, 0.2)'\n const onlyIcon = !children && (rightIcon ?? leftIcon) ? 'onlyIcon' : ''\n\n return (\n <Box\n margin={m}\n sx={{\n w: isFullWidth ? '100%' : 'auto',\n '.react-ripples': {\n borderRadius,\n display: `${isFullWidth ? 'grid' : 'inline-flex!important'}`,\n },\n }}\n >\n <Ripples color={touchColor}>\n <Button\n autoFocus={false}\n aria-label={ariaLabel}\n id={id}\n role={role}\n bg={colorMain}\n borderRadius={borderRadius}\n color={color}\n className={onlyIcon}\n disabled={disabled && isLoading ? false : disabled}\n fontWeight=\"500\"\n fontSize={size === 'regular' ? 'medium' : 'small'}\n height=\"auto\"\n iconSpacing={vars('space-xs')}\n isActive={false}\n isLoading={isLoading}\n isFullWidth={isFullWidth}\n lineHeight=\"initial\"\n leftIcon={leftIcon}\n minHeight={size === 'regular' ? '2.813rem' : '2rem'}\n minWidth={size === 'regular' ? '9rem' : 'auto'}\n onClick={(e: React.MouseEvent<HTMLElement>) => {\n !isLoading && !disabled && onClick?.(e)\n }}\n position=\"relative\"\n paddingTop={\n size === 'regular' ? paddingTopBottom : onlyIcon ? vars('space-xs') : vars('space-xxs')\n }\n paddingBottom={\n size === 'regular' ? paddingTopBottom : onlyIcon ? vars('space-xs') : vars('space-xxs')\n }\n paddingLeft={size === 'regular' ? vars('space-s') : vars('space-xs')}\n paddingRight={size === 'regular' ? vars('space-s') : vars('space-xs')}\n rightIcon={rightIcon}\n type={type}\n size={size === 'regular' ? 'md' : 'sm'}\n spinner={<Loader fill={fillLoader} />}\n tabIndex={disabled || isLoading ? -1 : tabIndex}\n _active={{\n bg: bg?.main ?? vars('colors-main-azureRadiance'),\n }}\n _disabled={{\n opacity: '50%',\n cursor: 'not-allowed',\n }}\n _focus={{\n boxShadow: 'none',\n }}\n _focusVisible={{\n boxShadow: `inset 0 0 0 2px ${borderColorActive[0]}, inset 0 0 0 4px ${borderColorActive[1]}`,\n }}\n _hover={{\n bg: bg?.hover ?? vars('colors-main-azureRadiance'),\n }}\n sx={{\n '&[data-loading]': {\n boxShadow: 'none',\n cursor: 'wait',\n },\n '&.onlyIcon span': {\n m: 0,\n },\n span: {\n h: '1rem',\n },\n ...sx,\n }}\n >\n {showChildren}\n </Button>\n </Ripples>\n </Box>\n )\n}\n\nBtn.displayName = 'Btn'\n","import { Btn, propsBaseBtns } from './Btn'\n\n/**\n * Componente BtnPrimary\n *\n * @see https://zeroheight.com/15698077d/p/358e93-buttons\n *\n * @example <BtnPrimary>Lorem</BtnPrimary>\n */\n\ntype XOR<T, U> = T | U extends object\n ? (T extends U ? never : T) | (U extends T ? never : U)\n : T | U\ninterface ButtonWithTextProps extends propsBaseBtns {\n children: React.ReactNode\n ariaLabel?: string\n}\n\ninterface ButtonWithoutTextProps extends propsBaseBtns {\n children?: React.ReactNode\n ariaLabel: string\n}\n\ntype PrimaryButtonProps = XOR<ButtonWithTextProps, ButtonWithoutTextProps>\nexport function BtnPrimary({\n ariaLabel,\n children,\n disabled = false,\n isFullWidth = false,\n leftIcon,\n m = '0',\n isLoading = false,\n onClick,\n rightIcon,\n role = 'button',\n size = 'regular',\n type = 'button',\n tabIndex,\n id,\n sx,\n}: PrimaryButtonProps): JSX.Element {\n return (\n <Btn\n ariaLabel={ariaLabel}\n id={id}\n disabled={disabled}\n isFullWidth={isFullWidth}\n isLoading={isLoading}\n leftIcon={leftIcon}\n m={m}\n onClick={onClick}\n rightIcon={rightIcon}\n role={role}\n size={size}\n type={type}\n tabIndex={tabIndex}\n sx={sx}\n >\n {children}\n </Btn>\n )\n}\n\nBtnPrimary.displayName = 'BtnPrimary'\n","import { Btn, propsBaseBtns } from './Btn'\nimport { vars } from '@theme'\n\n/**\n * Componente BtnSecondary\n *\n * @see https://zeroheight.com/15698077d/p/358e93-buttons\n *\n * @example <BtnSecondary>Lorem</BtnSecondary>\n */\n\ntype XOR<T, U> = T | U extends object\n ? (T extends U ? never : T) | (U extends T ? never : U)\n : T | U\ninterface ButtonWithTextProps extends propsBaseBtns {\n children: React.ReactNode\n ariaLabel?: string\n}\n\ninterface ButtonWithoutTextProps extends propsBaseBtns {\n children?: React.ReactNode\n ariaLabel: string\n}\n\ntype SecondaryButtonProps = XOR<ButtonWithTextProps, ButtonWithoutTextProps>\nexport function BtnSecondary({\n ariaLabel,\n children,\n disabled = false,\n isFullWidth = false,\n leftIcon,\n m = '0',\n isLoading = false,\n onClick,\n rightIcon,\n role = 'button',\n size = 'regular',\n type = 'button',\n tabIndex,\n id,\n sx,\n}: SecondaryButtonProps): JSX.Element {\n return (\n <Btn\n ariaLabel={ariaLabel}\n id={id}\n bg={{\n main: vars('colors-main-veryLightBlue'),\n hover: vars('colors-main-linkWater'),\n }}\n borderColorActive={[vars('colors-main-deepSkyBlue'), vars('colors-neutral-white')]}\n color={vars('colors-main-deepSkyBlue')}\n disabled={disabled}\n fillLoader={vars('colors-main-deepSkyBlue')}\n isFullWidth={isFullWidth}\n isLoading={isLoading}\n leftIcon={leftIcon}\n m={m}\n onClick={onClick}\n rightIcon={rightIcon}\n role={role}\n size={size}\n touchDark\n type={type}\n tabIndex={tabIndex}\n sx={sx}\n >\n {children}\n </Btn>\n )\n}\n\nBtnSecondary.displayName = 'BtnSecondary'\n","import { vars } from '@theme'\nimport { Button, CSSObject } from '@chakra-ui/react'\nimport {\n GoAhead,\n GoBack,\n Password,\n Pen,\n PlusSign,\n TextBubble,\n TrashCan,\n Multimedia,\n AcademicRecord,\n Download,\n} from '@/atoms/Icons'\n\ntype XOR<T, U> = T | U extends object\n ? (T extends U ? never : T) | (U extends T ? never : U)\n : T | U\nexport interface propsTertiaryBtn {\n activeWhenPress?: boolean\n id?: string\n iconCustom?: JSX.Element\n iconStatus?:\n | 'answer'\n | 'ahead'\n | 'back'\n | 'edit'\n | 'delete'\n | 'more'\n | 'password'\n | 'multimedia'\n | 'record'\n | 'download'\n | 'noIcon'\n m?: string\n onClick?: (e: React.MouseEvent<HTMLElement>) => void\n onMouseEnter?: (e: React.MouseEvent<HTMLElement>) => void\n onMouseLeave?: (e: React.MouseEvent<HTMLElement>) => void\n rightIcon?: boolean\n role?: 'button' | 'link'\n type?: 'button' | 'submit' | 'reset'\n tabIndex?: number\n withoutColor?: boolean\n sx?: CSSObject\n}\n\ninterface ButtonWithTextProps extends propsTertiaryBtn {\n children: React.ReactNode\n ariaLabel?: string\n}\n\ninterface ButtonWithoutTextProps extends propsTertiaryBtn {\n children?: React.ReactNode\n ariaLabel: string\n}\n\ntype ButtonProps = XOR<ButtonWithTextProps, ButtonWithoutTextProps>\n\nexport function BtnTertiary({\n ariaLabel,\n activeWhenPress = false,\n children,\n id,\n iconStatus = 'multimedia',\n iconCustom,\n m = '0',\n onClick,\n onMouseEnter,\n onMouseLeave,\n rightIcon,\n role = 'button',\n type = 'button',\n tabIndex,\n withoutColor = false,\n sx,\n}: ButtonProps): JSX.Element {\n const gray = vars('colors-neutral-gray')\n const blue = vars('colors-main-deepSkyBlue')\n const white = vars('colors-neutral-white')\n const colorIcon = withoutColor ? vars('colors-main-blueGrey') : blue\n\n const btnIcons = {\n ahead: <GoAhead color={colorIcon} />,\n answer: <TextBubble color={colorIcon} />,\n back: <GoBack color={colorIcon} />,\n delete: <TrashCan color={colorIcon} />,\n download: <Download color={colorIcon} />,\n edit: <Pen color={colorIcon} />,\n more: <PlusSign color={colorIcon} />,\n multimedia: <Multimedia color={colorIcon} />,\n password: <Password color={colorIcon} />,\n record: <AcademicRecord color={colorIcon} />,\n noIcon: <></>,\n }\n\n let icon\n if (btnIcons[iconStatus] && iconStatus !== 'noIcon') {\n icon = btnIcons[iconStatus]\n }\n if (iconCustom) {\n icon = iconCustom\n }\n\n const rIcon = rightIcon ? icon : undefined\n const lIcon = !rightIcon ? icon : undefined\n\n return (\n <Button\n aria-label={ariaLabel}\n id={id}\n role={role}\n type={type}\n tabIndex={tabIndex}\n background=\"transparent\"\n borderRadius=\"12px\"\n color={gray}\n fontFamily=\"Roboto\"\n fontStyle=\"normal\"\n fontWeight=\"500\"\n fontSize=\"14px\"\n gap=\"0.5rem\"\n height=\"24px\"\n lineHeight=\"16px\"\n leftIcon={lIcon}\n rightIcon={rIcon}\n m={m}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n paddingTop={vars('space-xxs')}\n paddingBottom={vars('space-xxs')}\n paddingLeft={vars('space-xs')}\n paddingRight={vars('space-xs')}\n textDecorationLine=\"underline\"\n _hover={{\n color: `${blue}`,\n }}\n _focusVisible={{\n boxShadow: `inset 0 0 0 2px ${blue}, inset 0 0 0 4px ${white}`,\n }}\n _focus={{\n color: activeWhenPress ? `${blue} !important` : 'inherit',\n boxShadow: 'none',\n }}\n _active={{\n bg: 'transparent',\n }}\n sx={{\n '>span': {\n mr: 0,\n },\n ...sx,\n }}\n >\n {children}\n </Button>\n )\n}\n\nBtnTertiary.displayName = 'BtnTertiary'\n","import { vars } from '@theme'\nimport { Box, CSSObject } from '@chakra-ui/react'\n\nexport interface props {\n as?: 'button' | 'a'\n ariaLabel?: string\n children?: React.ReactNode\n fontSize?: string | '0.875rem'\n href?: string\n id?: string\n isDisable?: boolean\n m?: string\n onClick?: (e: React.MouseEvent<HTMLElement>) => void\n role?: 'button' | 'link'\n tabIndex?: number\n target?: '_blank' | '_self'\n textDecorationLine?: boolean\n sx?: CSSObject\n}\n\nexport function BtnLink({\n as = 'a',\n ariaLabel,\n children,\n fontSize = '0.875rem',\n href = '',\n id,\n isDisable = false,\n m = '0',\n onClick,\n role = 'link',\n tabIndex,\n target = '_blank',\n textDecorationLine = true,\n sx,\n}: props): JSX.Element {\n const typeButton = {\n button: {\n onClick: isDisable ? undefined : onClick,\n target: target,\n },\n a: {\n href,\n target: target,\n },\n }\n\n return (\n <Box\n aria-label={ariaLabel}\n as={as}\n autoFocus={false}\n backgroundColor=\"transparent\"\n borderStyle=\"none\"\n className=\"linkButton\"\n color={vars('colors-main-deepSkyBlue')}\n cursor={isDisable ? 'not-allowed' : 'pointer'}\n fontFamily=\"Roboto\"\n fontSize={fontSize}\n fontStyle=\"normal\"\n fontWeight=\"500\"\n id={id}\n lineHeight=\"1rem\"\n onClick={isDisable ? undefined : onClick}\n opacity={isDisable ? 0.5 : 1}\n padding=\".25em\"\n role={role}\n tabIndex={tabIndex}\n textDecorationLine={textDecorationLine ? 'underline' : 'none'}\n width=\"fit-content\"\n m={m}\n _hover={{\n color: vars('colors-neutral-darkCharcoal'),\n cursor: 'pointer',\n }}\n {...typeButton[as]}\n sx={sx}\n >\n {children}\n </Box>\n )\n}\n\nBtnLink.displayName = 'BtnLink'\n","export const HelpIcon = (): JSX.Element => {\n return (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path\n d=\"M8 0C3.6 0 0 3.6 0 8C0 12.4 3.6 16 8 16C12.4 16 16 12.4 16 8C16 3.6 12.4 0 8 0ZM8 13C7.448 13 7 12.552 7 12C7 11.448 7.448 11 8 11C8.552 11 9 11.448 9 12C9 12.552 8.552 13 8 13ZM9.623 8.092C9.126 8.519 9 8.663 9 9C9 9.553 8.552 10 8 10C7.448 10 7 9.553 7 9C7 7.706 7.795 7.024 8.322 6.573C8.819 6.148 8.945 6.003 8.945 5.667C8.945 5.484 8.945 5 8.001 5C7.565 5.024 7.1 5.224 6.743 5.561C6.342 5.939 5.708 5.92 5.329 5.52C4.95 5.118 4.968 4.485 5.37 4.106C6.072 3.445 6.987 3.052 7.949 3.002H7.952C9.764 3.002 10.945 4.073 10.945 5.668C10.945 6.961 10.15 7.643 9.624 8.093L9.623 8.092Z\"\n fill=\"white\"\n />\n </svg>\n )\n}\n","export const CalendarButtonIcon = (): JSX.Element => (\n <svg width=\"16px\" height=\"16px\" fill=\"none\">\n <path\n fill=\"#fff\"\n d=\"M15 2h-2V0h-2v2H9V0H7v2H5V0H3v2H1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1Zm-1 12H2V5h12v9Z\"\n />\n <path\n fill=\"#fff\"\n d=\"M6 7H4v2h2V7ZM9 7H7v2h2V7ZM6 10H4v2h2v-2ZM9 10H7v2h2v-2ZM12 7h-2v2h2V7ZM12 10h-2v2h2v-2Z\"\n />\n </svg>\n)\n","import { Base, BaseProps } from './Base'\n\nexport function Accessibility(props: BaseProps): JSX.Element {\n return (\n <Base {...props}>\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M16 8C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8ZM8 5C8.82843 5 9.5 4.32843 9.5 3.5C9.5 2.67157 8.82843 2 8 2C7.17157 2 6.5 2.67157 6.5 3.5C6.5 4.32843 7.17157 5 8 5ZM2.96967 5.96967C3.11032 5.82902 3.30109 5.75 3.5 5.75H12.5C12.6989 5.75 12.8897 5.82902 13.0303 5.96967C13.171 6.11032 13.25 6.30109 13.25 6.5C13.25 6.69891 13.171 6.88968 13.0303 7.03033C12.8897 7.17098 12.6989 7.25 12.5 7.25H10.25V13.25C10.25 13.4489 10.171 13.6397 10.0303 13.7803C9.88968 13.921 9.69891 14 9.5 14C9.30109 14 9.11032 13.921 8.96967 13.7803C8.82902 13.6397 8.75 13.4489 8.75 13.25V10.25H7.25V13.25C7.25 13.4489 7.17098 13.6397 7.03033 13.7803C6.88968 13.921 6.69891 14 6.5 14C6.30109 14 6.11032 13.921 5.96967 13.7803C5.82902 13.6397 5.75 13.4489 5.75 13.25V7.25H3.5C3.30109 7.25 3.11032 7.17098 2.96967 7.03033C2.82902 6.88968 2.75 6.69891 2.75 6.5C2.75 6.30109 2.82902 6.11032 2.96967 5.96967Z\"\n fill=\"white\"\n />\n </svg>\n </Base>\n )\n}\n","import { Box, useMediaQuery } from '@chakra-ui/react'\n\nimport { vars } from '@theme'\nimport { HelpIcon } from '@/molecules/NavBarButtons/Icons/HelpIcon'\nimport { CalendarButtonIcon } from './Icons/CalendarButtonIcon'\nimport { Accessibility } from '@/atoms/Icons/Accessibility'\n\n/**\n * Componente que muestra botones de la barra de navegación. Recibe los siguientes props:\n * @param {('button' | 'a' | 'div')} [as='button'] - Tipo de elemento HTML que se renderiza. Por defecto es un botón.\n * @param {string} [buttonName] - Nombre del botón. Si no se proporciona, se usa un valor predeterminado según el tipo de botón.\n * @param {boolean} [onlyLink] - Si es `true`, el botón no ejecuta ninguna acción al hacer clic, solo actúa como un enlace.\n * @param {function} onClick - Función que se ejecuta al hacer clic en el botón.\n * @param {'calendar' | 'help' | 'accessibility'} [type] - Tipo de botón que determina el icono y el texto a mostrar.\n */\n\nexport interface ButtonProps {\n as?: 'button' | 'a' | 'div'\n buttonName?: string\n onlyLink?: boolean\n onClick?: () => void\n type: 'calendar' | 'help' | 'accessibility'\n}\n\nexport const NavBarButton = ({\n as = 'button',\n buttonName,\n onlyLink,\n onClick,\n type,\n}: ButtonProps): JSX.Element => {\n const [isMobile] = useMediaQuery('(max-width: 640px)')\n\n const buttonType = {\n accessibility: {\n icon: <Accessibility />,\n text: buttonName ?? 'ACCESIBILIDAD',\n },\n calendar: {\n icon: <CalendarButtonIcon />,\n text: buttonName ?? 'CALENDARIO',\n },\n help: {\n icon: <HelpIcon />,\n text: buttonName ?? 'AYUDA',\n },\n }\n\n const triggerWidget = (): void => {\n const buttonB = document.getElementById('userWayTrigger')\n if (buttonB?.click) {\n buttonB.click() // Hace clic en el botón del archivo index.html\n }\n }\n\n const activeBg = vars('colors-main-deepSkyBlue') ?? '#0189FF'\n const hoverBg = 'rgba(96, 121, 142, 0.8)'\n const isAccessibility = type === 'accessibility'\n\n return (\n <Box\n as={as}\n className=\"nav-bar-button\"\n id={isAccessibility ? 'UserWayButton' : ''}\n onClick={isAccessibility ? triggerWidget : onClick}\n _focusVisible={{\n outline: `3px solid ${vars('colors-alert-deepSkyBlue')}`,\n borderRadius: '2px',\n }}\n tabIndex={0}\n sx={{\n alignItems: 'center',\n background: 'none !important',\n border: '1px transparent !important',\n cursor: 'pointer',\n display: 'flex',\n gap: '8px',\n h: '30px',\n maxH: '30px',\n p: '0',\n\n _hover: {\n '.nav-bar-icon': {\n bg: hoverBg,\n },\n '.nav-bar-text': {\n color: vars('colors-neutral-white'),\n },\n },\n\n _active: {\n '.nav-bar-icon': {\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n bg: onlyLink || isAccessibility ? hoverBg : activeBg,\n },\n '.nav-bar-text': {\n color: vars('colors-neutral-white'),\n },\n },\n\n '.nav-bar-icon': {\n alignItems: 'center',\n bg: vars('colors-main-blueGrey'),\n borderRadius: '100%',\n border: '1px solid transparent',\n display: 'flex',\n height: '30px',\n justifyContent: 'center',\n type: 'button',\n role: 'button',\n width: '30px',\n },\n\n '.nav-bar-text': {\n alignContent: 'center',\n color: vars('colors-neutral-silverSand'),\n fontSize: '12px',\n fontWeight: '500',\n fontFamily: 'Roboto',\n },\n }}\n >\n <Box className=\"nav-bar-icon\" tabIndex={-1}>\n {buttonType[type].icon}\n </Box>\n {!isMobile && (\n <Box className=\"nav-bar-text\" tabIndex={-1}>\n {buttonType[type].text}\n </Box>\n )}\n </Box>\n )\n}\n","import { FC } from 'react'\nimport { Tooltip, PlacementWithLogical, CSSObject } from '@chakra-ui/react'\nimport { vars } from '@/theme'\n\ninterface TooltipProps {\n className?: string\n label?: React.ReactNode\n isDisabled?: boolean\n m?: string\n maxWidth?: string\n placement?: PlacementWithLogical\n isOpen?: boolean | undefined\n sx?: CSSObject\n transform?: string\n}\n\nexport const NewTooltip: FC<TooltipProps> = ({\n children,\n className = 'tooltip',\n label,\n isDisabled = false,\n m,\n maxWidth = '200px',\n placement = 'bottom',\n isOpen,\n sx,\n transform,\n}) => {\n return (\n <Tooltip\n isOpen={isOpen}\n sx={{\n bg: vars('colors-neutral-darkCharcoal'),\n borderRadius: '10px',\n color: 'white !important',\n fontSize: '12px',\n fontWeight: '400',\n maxWidth: maxWidth,\n padding: '8px',\n transform: transform ?? '',\n '.chakra-tooltip__arrow': {\n bg: `${vars('colors-neutral-darkCharcoal')} !important`,\n },\n ...sx,\n }}\n className={className}\n closeOnClick\n label={label}\n m={m}\n hasArrow\n isDisabled={isDisabled}\n placement={placement}\n >\n <span>{children}</span>\n </Tooltip>\n )\n}\n","import { Box } from '@chakra-ui/react'\n\nimport { Accessibility } from '@/atoms/Icons/Accessibility'\nimport { vars } from '@theme'\n\nexport function UserWay(): JSX.Element {\n const triggerWidget = (): void => {\n const buttonB = document.getElementById('userWayTrigger')\n if (buttonB?.click) {\n buttonB.click() // Hace clic en el botón del archivo index.html\n }\n }\n\n return (\n <Box\n as=\"button\"\n alignItems=\"center\"\n bg={vars('colors-main-blueGrey')}\n borderRadius=\"100%\"\n border=\"1px solid transparent\"\n display=\"flex\"\n height=\"30px\"\n id=\"UserWayButton\"\n justifyContent=\"center\"\n padding=\"0 8px\"\n width=\"30px\"\n _hover={{\n background: 'rgba(96, 121, 142, 0.8)',\n }}\n onClick={triggerWidget}\n >\n <Accessibility />\n </Box>\n )\n}\n","export function UserWayCookie(): void {\n const cookieName = 'userwayData'\n\n const userwayDataCookie = document.cookie\n .split('; ')\n .find((row) => row.startsWith(`${cookieName}=`))\n ?.split('=')[1]\n\n if (userwayDataCookie) {\n try {\n const userwayData = JSON.parse(decodeURIComponent(userwayDataCookie))\n for (const [key, value] of Object.entries(userwayData)) {\n localStorage.setItem(key, value as string)\n }\n console.log('UserWay data restored to localStorage:', userwayData)\n } catch (error) {\n console.error('Error parsing UserWay data from cookie:', error)\n }\n }\n\n window.addEventListener('beforeunload', () => {\n const userwayData: Record<string, string | null> = {}\n for (const key in localStorage) {\n if (key.startsWith('userway-')) {\n userwayData[key] = localStorage.getItem(key)\n }\n }\n\n const serializedData = JSON.stringify(userwayData)\n const expiryDate = new Date()\n expiryDate.setTime(expiryDate.getTime() + 24 * 60 * 60 * 1000)\n\n document.cookie = `${cookieName}=${encodeURIComponent(\n serializedData\n )};expires=${expiryDate.toUTCString()};path=/`\n })\n}\n","import * as React from 'react'\nimport { Box, Stack, Image, Center, Flex } from '@chakra-ui/react'\n\nimport { CourseBoxContext } from '../Boxes/BoxTraditional'\nimport { Label } from '@atoms'\nimport { vars } from '@theme'\nimport { Profile } from '@icons'\n\nconst STUDENT = 4\nconst LABEL_STYLES: Record<string, { bg?: string }> = {\n ADMIN: { bg: vars('colors-main-linkWater') },\n NEW: { bg: vars('colors-secondary-pumpkin') },\n}\n\nexport function Header(): JSX.Element {\n const {\n background,\n labels,\n logo,\n logoAlt,\n Profile: profile,\n soonCourse,\n } = React.useContext(CourseBoxContext)\n\n return (\n <Box\n as=\"header\"\n height=\"8.75rem\"\n borderBottom={vars('borders-light')}\n pos=\"relative\"\n _before={{\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n backgroundImage: `url(${background ?? ''})`,\n backgroundSize: 'cover',\n backgroundPosition: 'center',\n opacity: soonCourse?.show ?? false ? 0.3 : 1,\n zIndex: 0,\n }}\n >\n <Box p=\"1rem\" display=\"flex\" gap=\"0.625rem\" position=\"absolute\" zIndex={2}>\n {profile?.id !== STUDENT && (\n <Label bg={vars('colors-neutral-white')}>\n <Flex>\n <Profile m=\"0 .25rem 0 0\" />\n {profile?.name}\n </Flex>\n </Label>\n )}\n {labels !== undefined && labels.length > 0 && (\n <Stack direction=\"row\" spacing=\".625rem\" wrap=\"wrap\" zIndex={2}>\n {labels.map((item, index) => {\n const labelStyle = LABEL_STYLES[item.id]\n\n return (\n <Label key={index} bg={labelStyle?.bg}>\n {item.text}\n </Label>\n )\n })}\n </Stack>\n )}\n {soonCourse?.show && soonCourse?.text && (\n <Stack direction=\"row\" spacing=\".625rem\" wrap=\"wrap\" zIndex={2}>\n <Label>{soonCourse.text}</Label>\n </Stack>\n )}\n </Box>\n\n {logo !== undefined && logo.length > 0 && (\n <Center\n pos=\"absolute\"\n bottom=\"0\"\n left=\".9375rem\"\n transform=\"translateY(30%)\"\n h=\"3.5rem\"\n border={vars('borders-light')}\n bg={vars('colors-neutral-white')}\n overflow=\"hidden\"\n borderRadius={vars('radii-small')}\n w=\"6.25rem\"\n zIndex={2}\n >\n <Image src={logo} alt={logoAlt ?? 'logo'} maxHeight=\"3.5rem\" maxWidth=\"6.25rem\" />\n </Center>\n )}\n </Box>\n )\n}\n\nHeader.displayName = 'Header'\n","import { Text } from '@chakra-ui/react'\n\nimport { vars } from '@theme'\n\ninterface DateStatusProps {\n date?: string\n}\n\nexport function DateStatus({ date }: DateStatusProps): JSX.Element | null {\n if (date == null || date.length === 0) {\n return null\n }\n\n return (\n <Text fontSize=\".75rem\" color={vars('colors-neutral-darkCharcoal')} m=\"0\">\n {date}\n </Text>\n )\n}\n\nDateStatus.displayName = 'DateStatus'\n","import { Progress } from '@atoms'\nimport { Schedule, Certificate, CircularCheck, CircularInformation } from '@icons'\n\ninterface IconSelectionProps {\n type: string\n progressValue?: number\n}\n\nexport function IconSelection({ type, progressValue = 0 }: IconSelectionProps): JSX.Element | null {\n switch (type) {\n case 'schedule':\n return <Schedule />\n case 'certificate':\n return <Certificate />\n case 'circularCheck':\n return <CircularCheck />\n case 'progress':\n return <Progress value={progressValue} />\n case 'circularInformation':\n return <CircularInformation />\n case 'info':\n return <CircularInformation />\n default:\n return null\n }\n}\n","import { Flex, Text } from '@chakra-ui/react'\nimport { ProgressCourse, StatusCourse } from '@eclass/api'\n\nimport { Label } from '@/atoms'\nimport { vars } from '@/theme'\nimport { IconSelection } from './IconSelection'\n\nconst ID_QUALIFIED = 7\n\ninterface props {\n /** import { ProgressCourse } from '@eclass/api' */\n progress: ProgressCourse\n /** import { StatusCourse } from '@eclass/api' */\n status?: StatusCourse\n}\n\n/**\n * Devuelve estado en el que se encuentra el curso, por ejemplo:\n *\n * avance, inicio, curso aprovado, reprovado, finalizado\n */\nexport function CourseStatus({ progress, status }: props): JSX.Element {\n return (\n <>\n <Flex>\n <IconSelection type={progress.icon} progressValue={progress.progress} />\n <Text m=\"0\" ml=\".625rem\" fontSize=\".875rem\" lineHeight=\"1.125rem\">\n {progress?.label}\n </Text>\n </Flex>\n {status?.id === ID_QUALIFIED && progress?.finalGrade && progress?.finalGrade.length > 0 && (\n <Label\n size=\"sm\"\n bg={progress.isApproved ? vars('colors-alert-jadeGreen') : vars('colors-alert-red')}\n color={vars('colors-neutral-white')}\n >\n {progress?.finalGrade}\n </Label>\n )}\n </>\n )\n}\n","import * as React from 'react'\nimport { Box, Heading, Link, List, HStack, Text, ListItem, Flex } from '@chakra-ui/react'\n\nimport { CourseBoxContext } from '../Boxes/BoxTraditional'\nimport { DateStatus } from './DateStatus'\nimport { IconSelection } from './IconSelection'\nimport { vars } from '@theme'\nimport { CourseStatus } from './CourseStatus'\n\nexport function Section(): JSX.Element | null {\n const { name, dateStatus, information, progress, status } = React.useContext(CourseBoxContext)\n\n if (progress == null) {\n return null\n }\n\n return (\n <Box marginTop=\"1.875rem\" as=\"section\" p=\"0 .9375rem\">\n {dateStatus?.hasDates && (\n <HStack\n direction=\"row\"\n divider={\n dateStatus.init !== undefined &&\n dateStatus.init.length > 0 &&\n dateStatus.end !== undefined &&\n progress.icon !== null &&\n dateStatus.end.length > 0 ? (\n <Box h=\".5rem\" w=\"1px\" bg={vars('colors-neutral-silverSand')} alignSelf=\"center\" />\n ) : (\n <></>\n )\n }\n >\n <DateStatus date={dateStatus.init} />\n <DateStatus date={dateStatus.end} />\n </HStack>\n )}\n <Heading\n as=\"h2\"\n fontFamily=\"Roboto\"\n fontSize=\"1rem\"\n mt=\".3125rem\"\n fontWeight=\"700\"\n lineHeight=\"1.3\"\n >\n {name}\n </Heading>\n {progress?.label !== undefined && (\n <Flex mt=\"1rem\" justify=\"space-between\" alignItems=\"flex-start\">\n <CourseStatus progress={progress} status={status} />\n </Flex>\n )}\n {information != null && information?.length > 0 && (\n <List\n spacing=\".625rem\"\n paddingInlineStart=\"0\"\n pt=\".625rem\"\n m=\".625rem 0 0\"\n lineHeight=\".875rem\"\n borderTop={vars('borders-light')}\n >\n {information.map((item, index) => (\n <ListItem key={index} display=\"flex\">\n <IconSelection type={item.icon} />\n <Box display=\"inline-block\" ml=\".625rem\">\n {item.href !== undefined && item.href?.length > 0 ? (\n <Link\n isExternal\n href={item.href}\n color={vars('colors-main-deepSkyBlue')}\n textDecor=\"underline\"\n fontWeight=\"500\"\n fontSize=\".75rem\"\n >\n {item.text}\n </Link>\n ) : (\n <Text m=\"0\" color={vars('colors-neutral-gray')} fontSize=\".75rem\">\n {item.text}\n </Text>\n )}\n </Box>\n </ListItem>\n ))}\n </List>\n )}\n </Box>\n )\n}\n\nSection.displayName = 'Section'\n","export type icon = 'schedule' | 'certificate' | 'circularCheck' | 'progress' | 'circularInformation'\n\nexport const dataBase = {\n name: 'Orientación en la prevención de contagio de COVID-19',\n background:\n 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcT76y4DAhqWAlCspmGYWcbxSDnLw3p1FzJQKA&usqp=CAU',\n logo: 'https://procalidad.cl/wp-content/uploads/2021/05/logo-achs.png',\n logoAlt: 'op',\n status: {\n id: 6,\n name: 'NEXT',\n detail: '',\n style: '',\n },\n Profile: {\n id: 4,\n name: 'Alumno',\n },\n progress: {\n label: 'Tienes hasta el Lunes 16 de Enero para de 2022 inscribirte',\n icon: 'schedule',\n progress: 0,\n isApproved: false,\n finalGrade: '',\n },\n dateStatus: {\n hasDates: true,\n init: 'Inicia 17 ene 2022',\n end: 'Finaliza 10 ene 2023',\n },\n information: [\n {\n icon: 'schedule',\n text: 'Certificado por ACHS',\n href: 'http://google.com',\n },\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n {\n icon: 'circularCheck',\n text: 'Certificado por ACHS',\n href: 'http://google.com',\n },\n {\n icon: 'circularInformation',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n enabled: true,\n text: 'Tu curso aún no comienza',\n hasIcon: false,\n href: 'https://platform.eclass.io/',\n targetBlank: false,\n },\n labels: [\n {\n id: 'OBLIGATORY',\n text: 'Obligatorio',\n },\n ],\n}\n\nexport const dataStates: any = {\n noHabilitado: {\n ...dataBase,\n id: 1,\n hasFinanzeFreezed: false,\n status: {\n ...dataBase.status,\n id: 1,\n name: 'noHabilitado',\n },\n progress: {\n ...dataBase.progress,\n label: 'Inscripción no habilitada',\n icon: 'circularInformation',\n },\n dateStatus: {\n ...dataBase.dateStatus,\n hasDates: false,\n },\n information: null,\n action: {\n ...dataBase.action,\n href: '#',\n text: 'Ver información del curso',\n },\n labels: [],\n },\n inscripcionFutura: {\n ...dataBase,\n id: 2,\n hasFinanzeFreezed: false,\n status: {\n ...dataBase.status,\n id: 1,\n name: 'noHabilitado',\n },\n progress: {\n ...dataBase.progress,\n label: 'Podrás inscribirte a partir del 31 de marzo de 2022',\n icon: 'circularInformation',\n },\n dateStatus: {\n ...dataBase.dateStatus,\n hasDates: false,\n },\n information: null,\n action: {\n ...dataBase.action,\n href: '#',\n text: 'Ver información del curso',\n },\n labels: [\n {\n id: 'NEW',\n text: 'Nuevo',\n },\n ],\n },\n inscripcionFinalizo: {\n ...dataBase,\n id: 3,\n hasFinanzeFreezed: false,\n status: {\n ...dataBase.status,\n id: 1,\n name: 'noHabilitado',\n },\n progress: {\n ...dataBase.progress,\n label: 'El período de inscripción finalizó el 31 de marzo de 2022',\n icon: 'circularInformation',\n },\n dateStatus: {\n ...dataBase.dateStatus,\n hasDates: false,\n },\n information: null,\n action: {\n ...dataBase.action,\n href: '#',\n text: 'Ver información del curso',\n },\n labels: [\n {\n id: 'NEW',\n text: 'Nuevo',\n },\n ],\n },\n preInscripcion: {\n ...dataBase,\n logo: 'https://cdn.eclass.com/img/productos/logos/logo-utec-square.jpg',\n background: 'https://cdn.eclass.com/img/cursos/default1.png',\n id: 4,\n hasFinanzeFreezed: false,\n status: {\n ...dataBase.status,\n id: 2,\n name: 'preInscripcion',\n },\n progress: {\n ...dataBase.progress,\n label: 'Tienes hasta el Lunes 16 de Enero para de 2022 inscribirte',\n icon: 'schedule',\n },\n dateStatus: {\n ...dataBase.dateStatus,\n hasDates: false,\n },\n information: [\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n text: 'Solicitar inscripción',\n targetBlank: true,\n },\n labels: [],\n },\n preInscripcion2: {\n ...dataBase,\n id: 5,\n hasFinanzeFreezed: false,\n logo: '',\n status: {\n ...dataBase.status,\n id: 2,\n name: 'preInscripcion',\n },\n progress: {\n ...dataBase.progress,\n label: 'Estamos procesando tu solicitud de inscripción',\n icon: 'circularInformation',\n },\n dateStatus: {\n ...dataBase.dateStatus,\n hasDates: false,\n },\n information: [\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n text: 'Ver información del curso',\n targetBlank: true,\n },\n labels: [],\n },\n inscripcion: {\n ...dataBase,\n background: 'https://cdn.eclass.com/img/cursos/default2.png',\n id: 6,\n hasFinanzeFreezed: false,\n status: {\n ...dataBase.status,\n id: 3,\n name: 'inscripcion',\n },\n progress: {\n ...dataBase.progress,\n label: 'Tienes hasta el Lunes 16 de Enero para de 2022 inscribirte',\n icon: 'schedule',\n },\n dateStatus: {\n ...dataBase.dateStatus,\n hasDates: false,\n },\n information: [\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n text: 'Inscríbete',\n targetBlank: true,\n },\n },\n inscripcion2: {\n ...dataBase,\n id: 7,\n hasFinanzeFreezed: false,\n status: {\n ...dataBase.status,\n id: 3,\n name: 'inscripcion',\n },\n progress: {\n ...dataBase.progress,\n label: 'Tienes hasta el Lunes 16 de Enero para de 2022 inscribirte',\n icon: 'schedule',\n },\n dateStatus: {\n ...dataBase.dateStatus,\n hasDates: true,\n },\n information: [],\n action: {\n ...dataBase.action,\n text: 'Inscríbete',\n targetBlank: true,\n },\n labels: [\n {\n id: 'OBLIGATORY',\n text: 'Obligatorio',\n },\n {\n id: 'NEW',\n text: 'Nuevo',\n },\n {\n id: 'ADMIN',\n text: 'Curso madre',\n },\n ],\n },\n noDisponible: {\n ...dataBase,\n id: 8,\n hasFinanzeFreezed: false,\n logo: '',\n background: 'https://cdn.eclass.com/img/cursos/default2.png',\n status: {\n ...dataBase.status,\n id: 4,\n name: 'no disponible',\n },\n progress: {\n ...dataBase.progress,\n label: 'Tu curso iniciará el Lunes 16 de Enero de 2023',\n icon: 'schedule',\n },\n dateStatus: {\n init: 'Inicia 17 ene 2022',\n end: '',\n hasDates: true,\n },\n information: [\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n text: 'Ver información del curso',\n targetBlank: true,\n },\n labels: [],\n },\n noDisponible2: {\n ...dataBase,\n background: 'https://cdn.eclass.com/img/cursos/default3.png',\n logo: 'https://cdn.eclass.com/img/productos/logos/logo-eclass-academy-square.jpg',\n id: 9,\n hasFinanzeFreezed: false,\n status: {\n ...dataBase.status,\n id: 4,\n name: 'no disponible',\n },\n progress: {\n ...dataBase.progress,\n label: 'Tu curso iniciará el Lunes 16 de Enero de 2023',\n icon: 'schedule',\n },\n dateStatus: {\n init: 'Inicia 17 ene 2022',\n end: '',\n hasDates: true,\n },\n information: [\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n enabled: false,\n },\n labels: [],\n },\n noDisponible3: {\n ...dataBase,\n background: 'https://cdn.eclass.com/img/cursos/default3.png',\n logo: 'https://cdn.eclass.com/img/productos/logos/logo-eclass-academy-square.jpg',\n id: 10,\n hasFinanzeFreezed: false,\n Profile: {\n id: 1,\n name: 'Administrador',\n },\n status: {\n ...dataBase.status,\n id: 4,\n name: 'no disponible',\n },\n progress: {\n ...dataBase.progress,\n label: 'Tu curso iniciará el Lunes 16 de Enero de 2023',\n icon: 'schedule',\n },\n dateStatus: {\n init: 'Inicia 17 ene 2022',\n end: '',\n hasDates: true,\n },\n information: [\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n enabled: false,\n },\n labels: [],\n },\n activado: {\n ...dataBase,\n id: 11,\n hasFinanzeFreezed: false,\n status: {\n ...dataBase.status,\n id: 5,\n name: 'disponible',\n },\n progress: {\n ...dataBase.progress,\n label: '¡Ya puedes ingresar a tu curso y comenzar a estudiar!',\n icon: 'progress',\n progress: 0,\n },\n dateStatus: {\n init: '',\n end: 'Finaliza 16 nov 2023',\n hasDates: true,\n },\n information: [\n {\n icon: 'circularInformation',\n text: 'Información del curso',\n href: '#',\n },\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n targetBlank: true,\n hasIcon: true,\n text: 'Comenzar a estudiar',\n },\n labels: [],\n },\n sinEstudiar: {\n ...dataBase,\n id: 12,\n hasFinanzeFreezed: false,\n logo: '',\n status: {\n ...dataBase.status,\n id: 6,\n name: 'sinEstudiar',\n },\n progress: {\n ...dataBase.progress,\n label: 'Tu curso inició hace 3 días, ¡Comienza a estudiar!',\n icon: 'progress',\n progress: 0,\n },\n dateStatus: {\n init: '',\n end: 'Finaliza 16 nov 2023',\n hasDates: true,\n },\n information: [\n {\n icon: 'circularInformation',\n text: 'Información del curso',\n href: '#',\n },\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n targetBlank: true,\n hasIcon: true,\n text: 'Comenzar a estudiar',\n },\n labels: [],\n },\n sinEstudiar2: {\n ...dataBase,\n id: 13,\n hasFinanzeFreezed: false,\n background: 'https://cdn.eclass.com/img/cursos/default2.png',\n status: {\n ...dataBase.status,\n id: 6,\n name: 'sinEstudiar',\n },\n progress: {\n ...dataBase.progress,\n label: 'Tu curso finaliza en 7 días',\n icon: 'progress',\n progress: 0,\n },\n dateStatus: {\n init: '',\n end: 'Finaliza 16 nov 2023',\n hasDates: true,\n },\n information: [\n {\n icon: 'circularInformation',\n text: 'Información del curso',\n href: '#',\n },\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n targetBlank: true,\n hasIcon: true,\n text: 'Comenzar a estudiar',\n },\n labels: [],\n },\n sinEstudiar3: {\n ...dataBase,\n id: 14,\n hasFinanzeFreezed: false,\n status: {\n ...dataBase.status,\n id: 6,\n name: 'sinEstudiar',\n },\n progress: {\n ...dataBase.progress,\n label: 'Tu curso finaliza mañana a las 23:30 hrs. GMT -04:00',\n icon: 'progress',\n progress: 0,\n },\n dateStatus: {\n init: '',\n end: 'Finaliza 16 nov 2023',\n hasDates: true,\n },\n information: [\n {\n icon: 'circularInformation',\n text: 'Información del curso',\n href: '#',\n },\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n targetBlank: true,\n hasIcon: true,\n text: 'Comenzar a estudiar',\n },\n labels: [],\n },\n sinEstudiar4: {\n ...dataBase,\n logo: 'https://cdn.eclass.com/img/productos/logos/logo-uandes-square.jpg',\n id: 15,\n hasFinanzeFreezed: false,\n status: {\n ...dataBase.status,\n id: 6,\n name: 'sinEstudiar',\n },\n progress: {\n ...dataBase.progress,\n label: 'Tu curso finaliza hoy a las 23:30 hrs. GMT -04:00',\n icon: 'progress',\n progress: 0,\n },\n dateStatus: {\n init: '',\n end: 'Finaliza 16 nov 2023',\n hasDates: true,\n },\n information: [\n {\n icon: 'circularInformation',\n text: 'Información del curso',\n href: '#',\n },\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n targetBlank: true,\n hasIcon: true,\n text: 'Comenzar a estudiar',\n },\n labels: [],\n },\n continuar: {\n ...dataBase,\n id: 16,\n hasFinanzeFreezed: true,\n status: {\n ...dataBase.status,\n id: 7,\n name: 'continuar',\n },\n logo: 'https://cdn.eclass.com/img/productos/logos/logo-eclass-academy-square.jpg',\n progress: {\n ...dataBase.progress,\n label: 'Has completado un 25% de tu curso',\n icon: 'progress',\n progress: 25,\n },\n dateStatus: {\n init: '',\n end: 'Finaliza 16 nov 2023',\n hasDates: true,\n },\n information: [\n {\n icon: 'circularInformation',\n text: 'Información del curso',\n href: '#',\n },\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n targetBlank: true,\n hasIcon: true,\n text: 'Continuar estudiando',\n },\n labels: [],\n },\n continuar2: {\n ...dataBase,\n id: 17,\n hasFinanzeFreezed: false,\n status: {\n ...dataBase.status,\n id: 7,\n name: 'continuar',\n },\n logo: 'https://cdn.eclass.com/files/branding/programa/2119/imagePdf-1628188569.jpg',\n progress: {\n ...dataBase.progress,\n label: 'Has completado un 100% de tu curso',\n icon: 'progress',\n progress: 100,\n },\n dateStatus: {\n init: '',\n end: 'Finaliza 16 nov 2023',\n hasDates: true,\n },\n information: [\n {\n icon: 'circularInformation',\n text: 'Información del curso',\n href: '#',\n },\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n text: 'Ir a mi curso',\n },\n labels: [],\n },\n pendiente: {\n ...dataBase,\n background: 'https://cdn.eclass.com/img/cursos/default3.png',\n id: 18,\n hasFinanzeFreezed: false,\n status: {\n ...dataBase.status,\n id: 8,\n name: 'pendiente',\n },\n progress: {\n ...dataBase.progress,\n label: '¡Curso finalizado! Estamos calculando tu promedio final',\n icon: 'circularInformation',\n },\n dateStatus: {\n init: '',\n end: 'Finaliza 16 nov 2023',\n hasDates: true,\n },\n information: [\n {\n icon: 'circularInformation',\n text: 'Pertenece a: Diplomado en Gestión de la Sustentabilidad en Organizaciones',\n href: '',\n },\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n text: 'Ir a mi curso',\n },\n labels: [],\n },\n terminado: {\n ...dataBase,\n id: 19,\n hasFinanzeFreezed: false,\n status: {\n ...dataBase.status,\n id: 7,\n name: 'QUALIFIED',\n },\n progress: {\n ...dataBase.progress,\n label: 'Curso aprobado con nota',\n icon: 'circularCheck',\n isApproved: true,\n finalGrade: '6,5',\n },\n dateStatus: {\n init: '',\n end: 'Finalizó 16 nov 2023',\n hasDates: true,\n },\n information: [\n {\n icon: 'circularInformation',\n text: 'Pertenece a: Diplomado en Gestión de la Sustentabilidad en Organizaciones',\n href: '',\n },\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n text: 'Ir a mi curso',\n },\n labels: [],\n },\n terminado2: {\n ...dataBase,\n logo: 'https://cdn.eclass.com/img/productos/logos/logo-eclass-academy-square.jpg',\n id: 20,\n hasFinanzeFreezed: false,\n Profile: {\n id: 1,\n name: 'Administrador',\n },\n status: {\n ...dataBase.status,\n id: 7,\n name: 'QUALIFIED',\n },\n progress: {\n ...dataBase.progress,\n label: 'Curso reprobado con nota',\n icon: 'circularCheck',\n isApproved: false,\n finalGrade: '3,5',\n },\n dateStatus: {\n init: '',\n end: 'Finalizó 16 nov 2023',\n hasDates: true,\n },\n information: [\n {\n icon: 'circularInformation',\n text: 'Pertenece a: Diplomado en Gestión de la Sustentabilidad en Organizaciones',\n href: '',\n },\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n text: 'Ir a mi curso',\n },\n labels: [],\n },\n terminado3: {\n ...dataBase,\n id: 21,\n hasFinanzeFreezed: false,\n logo: '',\n status: {\n ...dataBase.status,\n id: 9,\n name: 'terminado',\n },\n progress: {\n ...dataBase.progress,\n label: 'Curso finalizado',\n icon: 'circularCheck',\n },\n dateStatus: {\n init: '',\n end: 'Finalizó 16 nov 2023',\n hasDates: true,\n },\n information: [\n {\n icon: 'circularInformation',\n text: 'Pertenece a: Diplomado en Gestión de la Sustentabilidad en Organizaciones',\n href: '',\n },\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n text: 'Ir a mi curso',\n },\n labels: [],\n },\n proximamente: {\n ...dataBase,\n id: 22,\n hasFinanzeFreezed: false,\n status: {\n ...dataBase.status,\n id: 3,\n name: 'inscripcion',\n },\n progress: {\n ...dataBase.progress,\n label: 'Tu curso iniciara el Lunes 16 de Enero de 2023',\n icon: 'schedule',\n },\n dateStatus: {\n ...dataBase.dateStatus,\n hasDates: true,\n },\n information: [\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n text: 'Ver informacion del curso',\n targetBlank: true,\n },\n soonCourse: {\n show: true,\n text: 'Próximamente',\n },\n labels: [],\n },\n proximamente2: {\n ...dataBase,\n id: 23,\n hasFinanzeFreezed: false,\n status: {\n ...dataBase.status,\n id: 3,\n name: 'inscripcion',\n },\n progress: {\n ...dataBase.progress,\n label: 'Tu curso iniciara el Lunes 16 de Enero de 2023',\n icon: 'schedule',\n },\n dateStatus: {\n ...dataBase.dateStatus,\n hasDates: true,\n },\n information: [\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n text: 'Ver informacion del curso',\n targetBlank: true,\n },\n soonCourse: {\n show: true,\n text: 'Próximamente',\n },\n labels: [\n {\n id: 'OBLIGATORY',\n text: 'Obligatorio',\n },\n ],\n },\n}\n\nexport const dataFake = Object.keys(dataStates).map((key: string) => dataStates[key])\n","export const PROFILE_STUDENT = 4\n\n/**\n * Valida si se puede acceder al curso, eso depende de dos casos:\n * - Que el curso se encuentre habilitado para acceder\n * - O si tengo un perfil de usuario distinto al de estudiante (revisor, admin, etc)\n *\n * @example\n * isCourseActive(action.enabled, Profile.id)\n */\nexport const isCourseActive = (enabled: boolean, profileID: number = PROFILE_STUDENT): boolean => {\n return enabled || profileID !== PROFILE_STUDENT\n}\n","import { columnGap, wCourse } from '../CourseList'\n\ninterface payload {\n px: string\n rem: string\n remValue: number\n}\n\n/**\n * Obtine max-width que debe tener el wrapper de CourseList\n * @param {number} nCols Por defecto es 4\n * @example\n * maxWidthCoursesList()\n */\nexport function maxWidthCoursesList(nCols: number = 4): payload {\n const maxWidth = nCols * wCourse + columnGap * (nCols - 1)\n return {\n px: `${maxWidth * 16}px`,\n rem: `${maxWidth}rem`,\n remValue: maxWidth,\n }\n}\n","import * as React from 'react'\nimport {\n Modal,\n ModalOverlay,\n ModalContent,\n ModalHeader,\n ModalFooter,\n ModalBody,\n ModalCloseButton,\n Button,\n Text,\n} from '@chakra-ui/react'\n\nimport { vars } from '@theme'\nimport { AlertInfo } from '@/atoms/Icons'\nimport * as Type from '../../types'\n\ninterface PaymentModalProps {\n isOpen: boolean\n onOpen: () => void\n onClose: () => void\n showOverlay: boolean\n modalPaymentText: Type.PaymentText\n}\n\nexport function PaymentModal({\n isOpen,\n onOpen,\n onClose,\n showOverlay,\n modalPaymentText,\n}: PaymentModalProps): JSX.Element | null {\n const cssButton = {\n backgroundColor: 'transparent',\n }\n\n function OverlayTwo(): any {\n return <ModalOverlay bg=\"#2F2F2F\" opacity=\"0.32 !important\" backdropBlur=\"2px\" />\n }\n\n const [overlay, setOverlay] = React.useState(<OverlayTwo />)\n\n React.useEffect(() => {\n if (showOverlay) {\n setOverlay(<OverlayTwo />)\n }\n }, [showOverlay])\n\n return (\n <Modal\n isCentered\n isOpen={isOpen}\n onClose={onClose}\n size=\"xl\"\n blockScrollOnMount={false}\n closeOnOverlayClick={false}\n >\n {overlay}\n <ModalContent marginTop=\"0\" marginBottom={['25.75rem', '15.75rem']}>\n <ModalHeader\n justifyContent=\"center\"\n display=\"flex\"\n flexDirection=\"column\"\n alignItems=\"center\"\n p=\"2rem 2rem 0 2rem\"\n >\n <AlertInfo w=\"52\" h=\"45\" viewBox=\"0 0 45 52\" />\n {modalPaymentText.title}\n </ModalHeader>\n <ModalCloseButton\n size=\"md\"\n color={vars('colors-main-blueGrey')}\n _hover={cssButton}\n _focus={cssButton}\n _active={cssButton}\n />\n <ModalBody p=\"1rem 2rem 2rem 2rem\">\n <Text align=\"center\">{modalPaymentText.body}</Text>\n </ModalBody>\n <ModalFooter\n justifyContent=\"center\"\n borderTop=\"1px solid\"\n borderTopColor={vars('colors-neutral-platinum')}\n p=\"1rem\"\n >\n <Button\n onClick={onClose}\n color={vars('colors-main-deepSkyBlue')}\n backgroundColor=\"transparent\"\n fontWeight=\"500\"\n height=\"auto\"\n lineHeight=\"1.172rem\"\n _hover={cssButton}\n _focus={cssButton}\n _active={cssButton}\n >\n {modalPaymentText.buttonName}\n </Button>\n </ModalFooter>\n </ModalContent>\n </Modal>\n )\n}\n\nModal.displayName = 'Modal'\n","import * as React from 'react'\nimport { Box, Center, Text, useDisclosure } from '@chakra-ui/react'\n\nimport { CourseBoxContext } from '../Boxes/BoxTraditional'\nimport { ArrowRight } from '@icons'\nimport { vars } from '@theme'\nimport { isCourseActive } from '../utils'\nimport { PaymentModal } from './Modal'\nimport * as Type from '../types'\n\nexport function Footer({ modalPaymentText }: Type.FooterProps): JSX.Element | null {\n const { action, Profile, hasFinanzeFreezed } = React.useContext(CourseBoxContext)\n const { isOpen, onOpen, onClose } = useDisclosure()\n const [overlay, setOverlay] = React.useState(false)\n\n const cssButton = {\n backgroundColor: 'transparent',\n }\n\n const handleClick = (): any => {\n setOverlay(true)\n onOpen()\n }\n\n if (action == null) {\n return null\n }\n\n return (\n <Center\n as=\"footer\"\n mt=\"1rem\"\n p=\"1rem\"\n borderTop=\"1px solid\"\n borderTopColor={vars('colors-neutral-platinum')}\n >\n {isCourseActive(action.enabled, Profile?.id) ? (\n <>\n {hasFinanzeFreezed && modalPaymentText ? (\n <Box\n color={vars('colors-main-deepSkyBlue')}\n backgroundColor=\"transparent\"\n fontWeight=\"500\"\n height=\"auto\"\n mr={action.hasIcon ? '1.5rem' : '0'}\n lineHeight=\"1.172rem\"\n p=\"0\"\n zIndex=\"inherit !important\"\n _hover={cssButton}\n _focus={cssButton}\n _active={cssButton}\n onClick={() => handleClick()}\n fontSize=\"1rem !important\"\n >\n {action.text}\n </Box>\n ) : (\n <Text\n color={vars('colors-main-deepSkyBlue')}\n fontWeight=\"500\"\n mr={action.hasIcon ? '1.5rem' : '0'}\n lineHeight=\"1.172rem\"\n mt=\"0\"\n mb=\"0\"\n >\n {action.text}\n </Text>\n )}\n {action.hasIcon && <ArrowRight color={vars('colors-main-deepSkyBlue')} />}\n </>\n ) : (\n <Text\n fontWeight=\"500\"\n lineHeight=\"1.172rem\"\n color={vars('colors-neutral-spanishGrey')}\n m=\"0\"\n >\n {action.text}\n </Text>\n )}\n {modalPaymentText && (\n <PaymentModal\n isOpen={isOpen}\n onClose={onClose}\n showOverlay={overlay}\n onOpen={onOpen}\n modalPaymentText={modalPaymentText}\n />\n )}\n </Center>\n )\n}\n\nFooter.displayName = 'Footer'\n","/* eslint-disable */\nimport { useEffect } from 'react'\n\nexport function useEnterNavigate(): void {\n useEffect(() => {\n const handleKeyDown = (e: KeyboardEvent): void => {\n if (e.key === 'Enter') {\n const active = document.activeElement as HTMLElement | null\n const role = active?.getAttribute('role')\n const href = active?.getAttribute('data-href')\n\n const isFocusableLink =\n active?.classList?.contains('chakra-linkbox') ||\n active?.classList?.contains('focusable-link')\n\n if (role === 'link' && href != null && isFocusableLink) {\n window.location.href = href\n }\n }\n }\n\n window.addEventListener('keydown', handleKeyDown)\n return () => {\n window.removeEventListener('keydown', handleKeyDown)\n }\n }, [])\n}\n","import * as React from 'react'\nimport { LinkBox, Box, Flex, LinkOverlay } from '@chakra-ui/react'\n\nimport { Header, Section, Footer } from '../components'\nimport { Ripples } from '@atoms'\nimport { vars } from '@theme'\nimport { isCourseActive } from '../utils'\nimport * as Type from '../types'\nimport { useEnterNavigate } from '../utils/useEnterNavigate'\n\nexport const CourseBoxContext = React.createContext<Partial<Type.ExtendAcademicList>>({})\n\ninterface WithRipplesProps {\n enabled: boolean\n children: React.ReactNode\n}\nfunction WithRipples({ enabled, children }: WithRipplesProps): JSX.Element {\n return enabled ? <Ripples>{children}</Ripples> : <>{children}</>\n}\ninterface IBoxTraditional {\n data: Type.ExtendAcademicList\n modalPaymentText?: Type.PaymentText\n}\n\nexport function BoxTraditional({ data, modalPaymentText }: IBoxTraditional): JSX.Element {\n const isClickable = isCourseActive(data.action?.enabled ?? false, data.Profile?.id)\n const hasHref = !!data.action?.href\n\n useEnterNavigate()\n\n const cssActive = {\n boxShadow: `0 2px 7px 0 ${vars('colors-neutral-silverSand')}`,\n }\n\n return (\n <CourseBoxContext.Provider value={data}>\n <LinkBox\n as=\"article\"\n className=\"focusable-link\"\n border={vars('borders-light')}\n borderRadius={vars('radii-big')}\n cursor={isClickable ? 'pointer' : 'default'}\n transition=\"box-shadow .3s\"\n overflow=\"hidden\"\n _hover={cssActive}\n _focusVisible={{\n boxShadow: `0 0 0 3px ${vars('colors-alert-deepSkyBlue')} inset`,\n }}\n tabIndex={0}\n role={hasHref ? 'link' : undefined}\n data-href={hasHref ? data.action?.href : undefined}\n >\n <WithRipples enabled={isClickable}>\n <Flex direction=\"column\" justify=\"space-between\" h=\"100%\">\n <Box className=\"CourseList-TraditionalBox\">\n {isClickable && hasHref && (\n <LinkOverlay\n className=\"course-link-overlay\"\n bg=\"gray\"\n href={data.action?.href}\n isExternal={data.action?.targetBlank}\n tabIndex={-1}\n />\n )}\n <Header />\n <Section />\n </Box>\n <Footer modalPaymentText={modalPaymentText} />\n </Flex>\n </WithRipples>\n </LinkBox>\n </CourseBoxContext.Provider>\n )\n}\n\nBoxTraditional.displayName = 'BoxTraditional'\n","import { Box, LinkBox, LinkOverlay } from '@chakra-ui/react'\n\nimport { vars } from '@theme'\nimport { Ripples } from '@atoms'\nimport * as Type from '../types'\nimport { isCourseActive } from '../utils'\n\ninterface ImageBoxProps {\n backgroundImg: string\n title: string\n data?: Type.ExtendAcademicList\n size?: 'large' | 'small'\n m?: string\n}\n\n// Componente que agrega efecto al hacer click\ninterface WithRipplesProps {\n enabled: boolean\n children: React.ReactNode\n}\nfunction WithRipples({ enabled, children }: WithRipplesProps): JSX.Element {\n return enabled ? <Ripples>{children}</Ripples> : <>{children}</>\n}\n\nexport function BoxImage({\n backgroundImg,\n title,\n data,\n size = 'large',\n m,\n}: ImageBoxProps): JSX.Element {\n const boxHeight = {\n large: '286px',\n small: '197px',\n }\n return (\n <WithRipples enabled={isCourseActive(data?.action?.enabled ?? false, data?.Profile?.id)}>\n <LinkBox\n className=\"CourseList-ImageBox\"\n _focusVisible={{\n boxShadow: `0 0 0 3px ${vars('colors-alert-deepSkyBlue')} inset`,\n }}\n tabIndex={0}\n sx={{\n backgroundImage: `linear-gradient(to bottom, rgba(0,0,0,0) 35%, rgba(0,0,0,1) 100%), url(${backgroundImg})`,\n color: vars('colors-neutral-white'),\n cursor: 'pointer',\n height: boxHeight[size], // Customize the height based on the type prop\n backgroundSize: 'cover',\n backgroundPosition: 'center',\n borderRadius: '10px',\n padding: '16px',\n display: 'flex',\n font: 'Roboto',\n flexDirection: 'column',\n margin: m,\n justifyContent: 'end',\n textAlign: 'left',\n\n a: {\n '&:active': {\n boxShadow: 'none',\n },\n },\n }}\n >\n {!data?.hasFinanzeFreezed &&\n isCourseActive(data?.action?.enabled ?? false, data?.Profile?.id) && (\n <LinkOverlay\n href={data?.action?.href}\n isExternal={data?.action?.targetBlank}\n tabIndex={-1}\n />\n )}\n\n <Box className=\"textBox\" bottom=\"20px\" display=\"flex\" flexDirection=\"column\" gap=\"8px\">\n <Box\n as=\"h2\"\n className=\"courseName\"\n fontWeight=\"700\"\n fontSize=\"16px\"\n lineHeight=\"21px\"\n marginBlockEnd=\"0\"\n margin=\"0\"\n >\n {title}\n </Box>\n\n {data?.information?.map(\n (item, index) =>\n item.icon === 'certificate' && (\n <Box\n as=\"p\"\n className=\"certificateText\"\n fontSize=\"14px\"\n fontWeight=\"400\"\n lineHeight=\"12px\"\n margin=\"0\"\n key={index}\n >\n {item.text}\n </Box>\n )\n )}\n </Box>\n </LinkBox>\n </WithRipples>\n )\n}\n\nBoxImage.displayName = 'BoxImage'\n","import { ExtendAcademicList, WrapperCoursesProps } from '../types'\nimport { BoxTraditional } from './BoxTraditional'\nimport { BoxImage } from './BoxImage'\n\ninterface IBoxes {\n type: WrapperCoursesProps['typeBox']\n modalPaymentText: WrapperCoursesProps['modalPaymentText']\n data: ExtendAcademicList\n}\nexport const Boxes = ({ type = 'TRADITIONAL', data, modalPaymentText }: IBoxes): JSX.Element => {\n const common = { data, modalPaymentText }\n\n const commonImg = {\n data,\n backgroundImg: data.background ?? '',\n title: data.name ?? '',\n }\n\n const typeBox = {\n TRADITIONAL: <BoxTraditional {...common} />,\n TRADITIONAL_LANDSCAPE: <BoxTraditional {...common} />,\n IMAGE_LARGE: <BoxImage {...commonImg} />,\n IMAGE_SMALL: <BoxImage {...commonImg} size=\"small\" />,\n }\n\n return typeBox[type]\n}\n","import { Box } from '@chakra-ui/react'\n\nimport { Boxes } from './Boxes'\nimport * as Type from './types'\n\nexport const columnGap = 1.25 // 20px\nexport const wCourse = 17.8125 // 285px\n\n/**\n * Retorna listado de cursos.\n * @example\n * <CourseList courses={courses} />\n *\n * Tener en cuenta el width del padre donde se pondra este componente, utilizar método maxWidthCoursesList\n * @see src/organisms/CourseList/maxWidthCoursesList.ts\n */\nexport function CourseList({\n courses,\n modalPaymentText,\n m = '0 auto',\n typeBox = 'TRADITIONAL',\n}: Type.WrapperCoursesProps): JSX.Element | null {\n if (courses === undefined) {\n return null\n }\n\n return (\n <Box\n className=\"courseListBox\"\n display=\"grid\"\n gridColumnGap={`${columnGap}rem`}\n gridRowGap=\"1.75rem\"\n gridTemplateColumns={`repeat(auto-fill, minmax(${wCourse}rem, 1fr))`}\n m={m}\n w=\"100%\"\n >\n {courses?.map((course: Type.ExtendAcademicList) => (\n <Boxes data={course} type={typeBox} modalPaymentText={modalPaymentText} key={course.id} />\n ))}\n </Box>\n )\n}\n\nCourseList.displayName = 'CourseList'\n","/*! @license DOMPurify 3.3.1 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.1/LICENSE */\n\nconst {\n entries,\n setPrototypeOf,\n isFrozen,\n getPrototypeOf,\n getOwnPropertyDescriptor\n} = Object;\nlet {\n freeze,\n seal,\n create\n} = Object; // eslint-disable-line import/no-mutable-exports\nlet {\n apply,\n construct\n} = typeof Reflect !== 'undefined' && Reflect;\nif (!freeze) {\n freeze = function freeze(x) {\n return x;\n };\n}\nif (!seal) {\n seal = function seal(x) {\n return x;\n };\n}\nif (!apply) {\n apply = function apply(func, thisArg) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n return func.apply(thisArg, args);\n };\n}\nif (!construct) {\n construct = function construct(Func) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n return new Func(...args);\n };\n}\nconst arrayForEach = unapply(Array.prototype.forEach);\nconst arrayLastIndexOf = unapply(Array.prototype.lastIndexOf);\nconst arrayPop = unapply(Array.prototype.pop);\nconst arrayPush = unapply(Array.prototype.push);\nconst arraySplice = unapply(Array.prototype.splice);\nconst stringToLowerCase = unapply(String.prototype.toLowerCase);\nconst stringToString = unapply(String.prototype.toString);\nconst stringMatch = unapply(String.prototype.match);\nconst stringReplace = unapply(String.prototype.replace);\nconst stringIndexOf = unapply(String.prototype.indexOf);\nconst stringTrim = unapply(String.prototype.trim);\nconst objectHasOwnProperty = unapply(Object.prototype.hasOwnProperty);\nconst regExpTest = unapply(RegExp.prototype.test);\nconst typeErrorCreate = unconstruct(TypeError);\n/**\n * Creates a new function that calls the given function with a specified thisArg and arguments.\n *\n * @param func - The function to be wrapped and called.\n * @returns A new function that calls the given function with a specified thisArg and arguments.\n */\nfunction unapply(func) {\n return function (thisArg) {\n if (thisArg instanceof RegExp) {\n thisArg.lastIndex = 0;\n }\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n return apply(func, thisArg, args);\n };\n}\n/**\n * Creates a new function that constructs an instance of the given constructor function with the provided arguments.\n *\n * @param func - The constructor function to be wrapped and called.\n * @returns A new function that constructs an instance of the given constructor function with the provided arguments.\n */\nfunction unconstruct(Func) {\n return function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return construct(Func, args);\n };\n}\n/**\n * Add properties to a lookup table\n *\n * @param set - The set to which elements will be added.\n * @param array - The array containing elements to be added to the set.\n * @param transformCaseFunc - An optional function to transform the case of each element before adding to the set.\n * @returns The modified set with added elements.\n */\nfunction addToSet(set, array) {\n let transformCaseFunc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : stringToLowerCase;\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n let l = array.length;\n while (l--) {\n let element = array[l];\n if (typeof element === 'string') {\n const lcElement = transformCaseFunc(element);\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n element = lcElement;\n }\n }\n set[element] = true;\n }\n return set;\n}\n/**\n * Clean up an array to harden against CSPP\n *\n * @param array - The array to be cleaned.\n * @returns The cleaned version of the array\n */\nfunction cleanArray(array) {\n for (let index = 0; index < array.length; index++) {\n const isPropertyExist = objectHasOwnProperty(array, index);\n if (!isPropertyExist) {\n array[index] = null;\n }\n }\n return array;\n}\n/**\n * Shallow clone an object\n *\n * @param object - The object to be cloned.\n * @returns A new object that copies the original.\n */\nfunction clone(object) {\n const newObject = create(null);\n for (const [property, value] of entries(object)) {\n const isPropertyExist = objectHasOwnProperty(object, property);\n if (isPropertyExist) {\n if (Array.isArray(value)) {\n newObject[property] = cleanArray(value);\n } else if (value && typeof value === 'object' && value.constructor === Object) {\n newObject[property] = clone(value);\n } else {\n newObject[property] = value;\n }\n }\n }\n return newObject;\n}\n/**\n * This method automatically checks if the prop is function or getter and behaves accordingly.\n *\n * @param object - The object to look up the getter function in its prototype chain.\n * @param prop - The property name for which to find the getter function.\n * @returns The getter function found in the prototype chain or a fallback function.\n */\nfunction lookupGetter(object, prop) {\n while (object !== null) {\n const desc = getOwnPropertyDescriptor(object, prop);\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n object = getPrototypeOf(object);\n }\n function fallbackValue() {\n return null;\n }\n return fallbackValue;\n}\n\nconst html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'search', 'section', 'select', 'shadow', 'slot', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);\nconst svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'enterkeyhint', 'exportparts', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'inputmode', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'part', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);\nconst svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);\n// List of SVG elements that are disallowed by default.\n// We still need to know them so that we can do namespace\n// checks properly in case one wants to add them to\n// allow-list.\nconst svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);\nconst mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover', 'mprescripts']);\n// Similarly to SVG, we want to know all MathML elements,\n// even those that we disallow by default.\nconst mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);\nconst text = freeze(['#text']);\n\nconst html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'exportparts', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inert', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'part', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'slot', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns', 'slot']);\nconst svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'mask-type', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);\nconst mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);\nconst xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);\n\n// eslint-disable-next-line unicorn/better-regex\nconst MUSTACHE_EXPR = seal(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\nconst ERB_EXPR = seal(/<%[\\w\\W]*|[\\w\\W]*%>/gm);\nconst TMPLIT_EXPR = seal(/\\$\\{[\\w\\W]*/gm); // eslint-disable-line unicorn/better-regex\nconst DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]+$/); // eslint-disable-line no-useless-escape\nconst ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\nconst IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nconst IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nconst ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n);\nconst DOCTYPE_NAME = seal(/^html$/i);\nconst CUSTOM_ELEMENT = seal(/^[a-z][.\\w]*(-[.\\w]+)+$/i);\n\nvar EXPRESSIONS = /*#__PURE__*/Object.freeze({\n __proto__: null,\n ARIA_ATTR: ARIA_ATTR,\n ATTR_WHITESPACE: ATTR_WHITESPACE,\n CUSTOM_ELEMENT: CUSTOM_ELEMENT,\n DATA_ATTR: DATA_ATTR,\n DOCTYPE_NAME: DOCTYPE_NAME,\n ERB_EXPR: ERB_EXPR,\n IS_ALLOWED_URI: IS_ALLOWED_URI,\n IS_SCRIPT_OR_DATA: IS_SCRIPT_OR_DATA,\n MUSTACHE_EXPR: MUSTACHE_EXPR,\n TMPLIT_EXPR: TMPLIT_EXPR\n});\n\n/* eslint-disable @typescript-eslint/indent */\n// https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\nconst NODE_TYPE = {\n element: 1,\n attribute: 2,\n text: 3,\n cdataSection: 4,\n entityReference: 5,\n // Deprecated\n entityNode: 6,\n // Deprecated\n progressingInstruction: 7,\n comment: 8,\n document: 9,\n documentType: 10,\n documentFragment: 11,\n notation: 12 // Deprecated\n};\nconst getGlobal = function getGlobal() {\n return typeof window === 'undefined' ? null : window;\n};\n/**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param trustedTypes The policy factory.\n * @param purifyHostElement The Script element used to load DOMPurify (to determine policy name suffix).\n * @return The policy created (or null, if Trusted Types\n * are not supported or creating the policy failed).\n */\nconst _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, purifyHostElement) {\n if (typeof trustedTypes !== 'object' || typeof trustedTypes.createPolicy !== 'function') {\n return null;\n }\n // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n let suffix = null;\n const ATTR_NAME = 'data-tt-policy-suffix';\n if (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) {\n suffix = purifyHostElement.getAttribute(ATTR_NAME);\n }\n const policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML(html) {\n return html;\n },\n createScriptURL(scriptUrl) {\n return scriptUrl;\n }\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn('TrustedTypes policy ' + policyName + ' could not be created.');\n return null;\n }\n};\nconst _createHooksMap = function _createHooksMap() {\n return {\n afterSanitizeAttributes: [],\n afterSanitizeElements: [],\n afterSanitizeShadowDOM: [],\n beforeSanitizeAttributes: [],\n beforeSanitizeElements: [],\n beforeSanitizeShadowDOM: [],\n uponSanitizeAttribute: [],\n uponSanitizeElement: [],\n uponSanitizeShadowNode: []\n };\n};\nfunction createDOMPurify() {\n let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();\n const DOMPurify = root => createDOMPurify(root);\n DOMPurify.version = '3.3.1';\n DOMPurify.removed = [];\n if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n return DOMPurify;\n }\n let {\n document\n } = window;\n const originalDocument = document;\n const currentScript = originalDocument.currentScript;\n const {\n DocumentFragment,\n HTMLTemplateElement,\n Node,\n Element,\n NodeFilter,\n NamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap,\n HTMLFormElement,\n DOMParser,\n trustedTypes\n } = window;\n const ElementPrototype = Element.prototype;\n const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n const remove = lookupGetter(ElementPrototype, 'remove');\n const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n const getParentNode = lookupGetter(ElementPrototype, 'parentNode');\n // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n if (typeof HTMLTemplateElement === 'function') {\n const template = document.createElement('template');\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n let trustedTypesPolicy;\n let emptyHTML = '';\n const {\n implementation,\n createNodeIterator,\n createDocumentFragment,\n getElementsByTagName\n } = document;\n const {\n importNode\n } = originalDocument;\n let hooks = _createHooksMap();\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n DOMPurify.isSupported = typeof entries === 'function' && typeof getParentNode === 'function' && implementation && implementation.createHTMLDocument !== undefined;\n const {\n MUSTACHE_EXPR,\n ERB_EXPR,\n TMPLIT_EXPR,\n DATA_ATTR,\n ARIA_ATTR,\n IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE,\n CUSTOM_ELEMENT\n } = EXPRESSIONS;\n let {\n IS_ALLOWED_URI: IS_ALLOWED_URI$1\n } = EXPRESSIONS;\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n /* allowed element names */\n let ALLOWED_TAGS = null;\n const DEFAULT_ALLOWED_TAGS = addToSet({}, [...html$1, ...svg$1, ...svgFilters, ...mathMl$1, ...text]);\n /* Allowed attribute names */\n let ALLOWED_ATTR = null;\n const DEFAULT_ALLOWED_ATTR = addToSet({}, [...html, ...svg, ...mathMl, ...xml]);\n /*\n * Configure how DOMPurify should handle custom elements and their attributes as well as customized built-in elements.\n * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)\n * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)\n * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.\n */\n let CUSTOM_ELEMENT_HANDLING = Object.seal(create(null, {\n tagNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n attributeNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n allowCustomizedBuiltInElements: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: false\n }\n }));\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n let FORBID_TAGS = null;\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n let FORBID_ATTR = null;\n /* Config object to store ADD_TAGS/ADD_ATTR functions (when used as functions) */\n const EXTRA_ELEMENT_HANDLING = Object.seal(create(null, {\n tagCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n attributeCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n }\n }));\n /* Decide if ARIA attributes are okay */\n let ALLOW_ARIA_ATTR = true;\n /* Decide if custom data attributes are okay */\n let ALLOW_DATA_ATTR = true;\n /* Decide if unknown protocols are okay */\n let ALLOW_UNKNOWN_PROTOCOLS = false;\n /* Decide if self-closing tags in attributes are allowed.\n * Usually removed due to a mXSS issue in jQuery 3.0 */\n let ALLOW_SELF_CLOSE_IN_ATTR = true;\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n let SAFE_FOR_TEMPLATES = false;\n /* Output should be safe even for XML used within HTML and alike.\n * This means, DOMPurify removes comments when containing risky content.\n */\n let SAFE_FOR_XML = true;\n /* Decide if document with <html>... should be returned */\n let WHOLE_DOCUMENT = false;\n /* Track whether config is already set on this instance of DOMPurify. */\n let SET_CONFIG = false;\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n let FORCE_BODY = false;\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n let RETURN_DOM = false;\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n let RETURN_DOM_FRAGMENT = false;\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n let RETURN_TRUSTED_TYPE = false;\n /* Output should be free from DOM clobbering attacks?\n * This sanitizes markups named with colliding, clobberable built-in DOM APIs.\n */\n let SANITIZE_DOM = true;\n /* Achieve full DOM Clobbering protection by isolating the namespace of named\n * properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules.\n *\n * HTML/DOM spec rules that enable DOM Clobbering:\n * - Named Access on Window (§7.3.3)\n * - DOM Tree Accessors (§3.1.5)\n * - Form Element Parent-Child Relations (§4.10.3)\n * - Iframe srcdoc / Nested WindowProxies (§4.8.5)\n * - HTMLCollection (§4.2.10.2)\n *\n * Namespace isolation is implemented by prefixing `id` and `name` attributes\n * with a constant string, i.e., `user-content-`\n */\n let SANITIZE_NAMED_PROPS = false;\n const SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n /* Keep element content when removing element? */\n let KEEP_CONTENT = true;\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n let IN_PLACE = false;\n /* Allow usage of profiles like html, svg and mathMl */\n let USE_PROFILES = {};\n /* Tags to ignore content of when KEEP_CONTENT is true */\n let FORBID_CONTENTS = null;\n const DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);\n /* Tags that are safe for data: URIs */\n let DATA_URI_TAGS = null;\n const DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);\n /* Attributes safe for values like \"javascript:\" */\n let URI_SAFE_ATTRIBUTES = null;\n const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'role', 'summary', 'title', 'value', 'style', 'xmlns']);\n const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n /* Document namespace */\n let NAMESPACE = HTML_NAMESPACE;\n let IS_EMPTY_INPUT = false;\n /* Allowed XHTML+XML namespaces */\n let ALLOWED_NAMESPACES = null;\n const DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString);\n let MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);\n let HTML_INTEGRATION_POINTS = addToSet({}, ['annotation-xml']);\n // Certain elements are allowed in both SVG and HTML\n // namespace. We need to specify them explicitly\n // so that they don't get erroneously deleted from\n // HTML namespace.\n const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ['title', 'style', 'font', 'a', 'script']);\n /* Parsing of strict XHTML documents */\n let PARSER_MEDIA_TYPE = null;\n const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n const DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n let transformCaseFunc = null;\n /* Keep a reference to config to pass to hooks */\n let CONFIG = null;\n /* Ideally, do not touch anything below this line */\n /* ______________________________________________ */\n const formElement = document.createElement('form');\n const isRegexOrFunction = function isRegexOrFunction(testValue) {\n return testValue instanceof RegExp || testValue instanceof Function;\n };\n /**\n * _parseConfig\n *\n * @param cfg optional config literal\n */\n // eslint-disable-next-line complexity\n const _parseConfig = function _parseConfig() {\n let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n /* Shield configuration object from tampering */\n if (!cfg || typeof cfg !== 'object') {\n cfg = {};\n }\n /* Shield configuration object from prototype pollution */\n cfg = clone(cfg);\n PARSER_MEDIA_TYPE =\n // eslint-disable-next-line unicorn/prefer-includes\n SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? DEFAULT_PARSER_MEDIA_TYPE : cfg.PARSER_MEDIA_TYPE;\n // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.\n transformCaseFunc = PARSER_MEDIA_TYPE === 'application/xhtml+xml' ? stringToString : stringToLowerCase;\n /* Set configuration parameters */\n ALLOWED_TAGS = objectHasOwnProperty(cfg, 'ALLOWED_TAGS') ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR = objectHasOwnProperty(cfg, 'ALLOWED_ATTR') ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR;\n ALLOWED_NAMESPACES = objectHasOwnProperty(cfg, 'ALLOWED_NAMESPACES') ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString) : DEFAULT_ALLOWED_NAMESPACES;\n URI_SAFE_ATTRIBUTES = objectHasOwnProperty(cfg, 'ADD_URI_SAFE_ATTR') ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR, transformCaseFunc) : DEFAULT_URI_SAFE_ATTRIBUTES;\n DATA_URI_TAGS = objectHasOwnProperty(cfg, 'ADD_DATA_URI_TAGS') ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS, transformCaseFunc) : DEFAULT_DATA_URI_TAGS;\n FORBID_CONTENTS = objectHasOwnProperty(cfg, 'FORBID_CONTENTS') ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;\n FORBID_TAGS = objectHasOwnProperty(cfg, 'FORBID_TAGS') ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : clone({});\n FORBID_ATTR = objectHasOwnProperty(cfg, 'FORBID_ATTR') ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : clone({});\n USE_PROFILES = objectHasOwnProperty(cfg, 'USE_PROFILES') ? cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; // Default true\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n SAFE_FOR_XML = cfg.SAFE_FOR_XML !== false; // Default true\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n IS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI;\n NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n MATHML_TEXT_INTEGRATION_POINTS = cfg.MATHML_TEXT_INTEGRATION_POINTS || MATHML_TEXT_INTEGRATION_POINTS;\n HTML_INTEGRATION_POINTS = cfg.HTML_INTEGRATION_POINTS || HTML_INTEGRATION_POINTS;\n CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {};\n if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;\n }\n if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;\n }\n if (cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements === 'boolean') {\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;\n }\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n /* Parse profile info */\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, text);\n ALLOWED_ATTR = [];\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, html$1);\n addToSet(ALLOWED_ATTR, html);\n }\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, svg$1);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, svgFilters);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, mathMl$1);\n addToSet(ALLOWED_ATTR, mathMl);\n addToSet(ALLOWED_ATTR, xml);\n }\n }\n /* Merge configuration parameters */\n if (cfg.ADD_TAGS) {\n if (typeof cfg.ADD_TAGS === 'function') {\n EXTRA_ELEMENT_HANDLING.tagCheck = cfg.ADD_TAGS;\n } else {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n }\n }\n if (cfg.ADD_ATTR) {\n if (typeof cfg.ADD_ATTR === 'function') {\n EXTRA_ELEMENT_HANDLING.attributeCheck = cfg.ADD_ATTR;\n } else {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n }\n }\n if (cfg.ADD_URI_SAFE_ATTR) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);\n }\n if (cfg.FORBID_CONTENTS) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);\n }\n if (cfg.ADD_FORBID_CONTENTS) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n addToSet(FORBID_CONTENTS, cfg.ADD_FORBID_CONTENTS, transformCaseFunc);\n }\n /* Add #text in case KEEP_CONTENT is set to true */\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n }\n if (cfg.TRUSTED_TYPES_POLICY) {\n if (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== 'function') {\n throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.');\n }\n if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== 'function') {\n throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.');\n }\n // Overwrite existing TrustedTypes policy.\n trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;\n // Sign local variables required by `sanitize`.\n emptyHTML = trustedTypesPolicy.createHTML('');\n } else {\n // Uninitialized policy, attempt to initialize the internal dompurify policy.\n if (trustedTypesPolicy === undefined) {\n trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript);\n }\n // If creating the internal policy succeeded sign internal variables.\n if (trustedTypesPolicy !== null && typeof emptyHTML === 'string') {\n emptyHTML = trustedTypesPolicy.createHTML('');\n }\n }\n // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n if (freeze) {\n freeze(cfg);\n }\n CONFIG = cfg;\n };\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n const ALL_SVG_TAGS = addToSet({}, [...svg$1, ...svgFilters, ...svgDisallowed]);\n const ALL_MATHML_TAGS = addToSet({}, [...mathMl$1, ...mathMlDisallowed]);\n /**\n * @param element a DOM element whose namespace is being checked\n * @returns Return false if the element has a\n * namespace that a spec-compliant parser would never\n * return. Return true otherwise.\n */\n const _checkValidNamespace = function _checkValidNamespace(element) {\n let parent = getParentNode(element);\n // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: NAMESPACE,\n tagName: 'template'\n };\n }\n const tagName = stringToLowerCase(element.tagName);\n const parentTagName = stringToLowerCase(parent.tagName);\n if (!ALLOWED_NAMESPACES[element.namespaceURI]) {\n return false;\n }\n if (element.namespaceURI === SVG_NAMESPACE) {\n // The only way to switch from HTML namespace to SVG\n // is via <svg>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'svg';\n }\n // The only way to switch from MathML to SVG is via`\n // svg if parent is either <annotation-xml> or MathML\n // text integration points.\n if (parent.namespaceURI === MATHML_NAMESPACE) {\n return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);\n }\n // We only allow elements that are defined in SVG\n // spec. All others are disallowed in SVG namespace.\n return Boolean(ALL_SVG_TAGS[tagName]);\n }\n if (element.namespaceURI === MATHML_NAMESPACE) {\n // The only way to switch from HTML namespace to MathML\n // is via <math>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'math';\n }\n // The only way to switch from SVG to MathML is via\n // <math> and HTML integration points\n if (parent.namespaceURI === SVG_NAMESPACE) {\n return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n }\n // We only allow elements that are defined in MathML\n // spec. All others are disallowed in MathML namespace.\n return Boolean(ALL_MATHML_TAGS[tagName]);\n }\n if (element.namespaceURI === HTML_NAMESPACE) {\n // The only way to switch from SVG to HTML is via\n // HTML integration points, and from MathML to HTML\n // is via MathML text integration points\n if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n // We disallow tags that are specific for MathML\n // or SVG and should never appear in HTML namespace\n return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);\n }\n // For XHTML and XML documents that support custom namespaces\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && ALLOWED_NAMESPACES[element.namespaceURI]) {\n return true;\n }\n // The code should never reach this place (this means\n // that the element somehow got namespace that is not\n // HTML, SVG, MathML or allowed via ALLOWED_NAMESPACES).\n // Return false just in case.\n return false;\n };\n /**\n * _forceRemove\n *\n * @param node a DOM node\n */\n const _forceRemove = function _forceRemove(node) {\n arrayPush(DOMPurify.removed, {\n element: node\n });\n try {\n // eslint-disable-next-line unicorn/prefer-dom-node-remove\n getParentNode(node).removeChild(node);\n } catch (_) {\n remove(node);\n }\n };\n /**\n * _removeAttribute\n *\n * @param name an Attribute name\n * @param element a DOM node\n */\n const _removeAttribute = function _removeAttribute(name, element) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: element.getAttributeNode(name),\n from: element\n });\n } catch (_) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: element\n });\n }\n element.removeAttribute(name);\n // We void attribute values for unremovable \"is\" attributes\n if (name === 'is') {\n if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n try {\n _forceRemove(element);\n } catch (_) {}\n } else {\n try {\n element.setAttribute(name, '');\n } catch (_) {}\n }\n }\n };\n /**\n * _initDocument\n *\n * @param dirty - a string of dirty markup\n * @return a DOM, filled with the dirty markup\n */\n const _initDocument = function _initDocument(dirty) {\n /* Create a HTML document */\n let doc = null;\n let leadingWhitespace = null;\n if (FORCE_BODY) {\n dirty = '<remove></remove>' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n const matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n leadingWhitespace = matches && matches[0];\n }\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && NAMESPACE === HTML_NAMESPACE) {\n // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)\n dirty = '<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>' + dirty + '</body></html>';\n }\n const dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;\n /*\n * Use the DOMParser API by default, fallback later if needs be\n * DOMParser not work for svg when has multiple root element.\n */\n if (NAMESPACE === HTML_NAMESPACE) {\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n } catch (_) {}\n }\n /* Use createHTMLDocument in case DOMParser is not available */\n if (!doc || !doc.documentElement) {\n doc = implementation.createDocument(NAMESPACE, 'template', null);\n try {\n doc.documentElement.innerHTML = IS_EMPTY_INPUT ? emptyHTML : dirtyPayload;\n } catch (_) {\n // Syntax error if dirtyPayload is invalid xml\n }\n }\n const body = doc.body || doc.documentElement;\n if (dirty && leadingWhitespace) {\n body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null);\n }\n /* Work on whole document or just its body */\n if (NAMESPACE === HTML_NAMESPACE) {\n return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];\n }\n return WHOLE_DOCUMENT ? doc.documentElement : body;\n };\n /**\n * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document.\n *\n * @param root The root element or node to start traversing on.\n * @return The created NodeIterator\n */\n const _createNodeIterator = function _createNodeIterator(root) {\n return createNodeIterator.call(root.ownerDocument || root, root,\n // eslint-disable-next-line no-bitwise\n NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT | NodeFilter.SHOW_PROCESSING_INSTRUCTION | NodeFilter.SHOW_CDATA_SECTION, null);\n };\n /**\n * _isClobbered\n *\n * @param element element to check for clobbering attacks\n * @return true if clobbered, false if safe\n */\n const _isClobbered = function _isClobbered(element) {\n return element instanceof HTMLFormElement && (typeof element.nodeName !== 'string' || typeof element.textContent !== 'string' || typeof element.removeChild !== 'function' || !(element.attributes instanceof NamedNodeMap) || typeof element.removeAttribute !== 'function' || typeof element.setAttribute !== 'function' || typeof element.namespaceURI !== 'string' || typeof element.insertBefore !== 'function' || typeof element.hasChildNodes !== 'function');\n };\n /**\n * Checks whether the given object is a DOM node.\n *\n * @param value object to check whether it's a DOM node\n * @return true is object is a DOM node\n */\n const _isNode = function _isNode(value) {\n return typeof Node === 'function' && value instanceof Node;\n };\n function _executeHooks(hooks, currentNode, data) {\n arrayForEach(hooks, hook => {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n }\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n * @param currentNode to check for permission to exist\n * @return true if node was killed, false if left alive\n */\n const _sanitizeElements = function _sanitizeElements(currentNode) {\n let content = null;\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeElements, currentNode, null);\n /* Check if element is clobbered or can clobber */\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Now let's check the element's type and name */\n const tagName = transformCaseFunc(currentNode.nodeName);\n /* Execute a hook if present */\n _executeHooks(hooks.uponSanitizeElement, currentNode, {\n tagName,\n allowedTags: ALLOWED_TAGS\n });\n /* Detect mXSS attempts abusing namespace confusion */\n if (SAFE_FOR_XML && currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(/<[/\\w!]/g, currentNode.innerHTML) && regExpTest(/<[/\\w!]/g, currentNode.textContent)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Remove any occurrence of processing instructions */\n if (currentNode.nodeType === NODE_TYPE.progressingInstruction) {\n _forceRemove(currentNode);\n return true;\n }\n /* Remove any kind of possibly harmful comments */\n if (SAFE_FOR_XML && currentNode.nodeType === NODE_TYPE.comment && regExpTest(/<[/\\w]/g, currentNode.data)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Remove element if anything forbids its presence */\n if (!(EXTRA_ELEMENT_HANDLING.tagCheck instanceof Function && EXTRA_ELEMENT_HANDLING.tagCheck(tagName)) && (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName])) {\n /* Check if we have a custom element to handle */\n if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {\n if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {\n return false;\n }\n if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) {\n return false;\n }\n }\n /* Keep content except for bad-listed elements */\n if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {\n const parentNode = getParentNode(currentNode) || currentNode.parentNode;\n const childNodes = getChildNodes(currentNode) || currentNode.childNodes;\n if (childNodes && parentNode) {\n const childCount = childNodes.length;\n for (let i = childCount - 1; i >= 0; --i) {\n const childClone = cloneNode(childNodes[i], true);\n childClone.__removalCount = (currentNode.__removalCount || 0) + 1;\n parentNode.insertBefore(childClone, getNextSibling(currentNode));\n }\n }\n }\n _forceRemove(currentNode);\n return true;\n }\n /* Check whether element has a valid namespace */\n if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Make sure that older browsers don't get fallback-tag mXSS */\n if ((tagName === 'noscript' || tagName === 'noembed' || tagName === 'noframes') && regExpTest(/<\\/no(script|embed|frames)/i, currentNode.innerHTML)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Sanitize element content to be template-safe */\n if (SAFE_FOR_TEMPLATES && currentNode.nodeType === NODE_TYPE.text) {\n /* Get the element's text content */\n content = currentNode.textContent;\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n content = stringReplace(content, expr, ' ');\n });\n if (currentNode.textContent !== content) {\n arrayPush(DOMPurify.removed, {\n element: currentNode.cloneNode()\n });\n currentNode.textContent = content;\n }\n }\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeElements, currentNode, null);\n return false;\n };\n /**\n * _isValidAttribute\n *\n * @param lcTag Lowercase tag name of containing element.\n * @param lcName Lowercase attribute name.\n * @param value Attribute value.\n * @return Returns true if `value` is valid, otherwise false.\n */\n // eslint-disable-next-line complexity\n const _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {\n /* Make sure attribute cannot clobber */\n if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {\n return false;\n }\n /* Allow valid data-* attributes: At least one character after \"-\"\n (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)\n XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)\n We don't need to check the value; it's always URI safe. */\n if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ; else if (EXTRA_ELEMENT_HANDLING.attributeCheck instanceof Function && EXTRA_ELEMENT_HANDLING.attributeCheck(lcName, lcTag)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {\n if (\n // First condition does a very basic check if a) it's basically a valid custom element tagname AND\n // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck\n _isBasicCustomElement(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName, lcTag)) ||\n // Alternative, second condition checks if it's an `is`-attribute, AND\n // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n lcName === 'is' && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))) ; else {\n return false;\n }\n /* Check value is safe. First, is attr inert? If so, is safe */\n } else if (URI_SAFE_ATTRIBUTES[lcName]) ; else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) ; else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if (value) {\n return false;\n } else ;\n return true;\n };\n /**\n * _isBasicCustomElement\n * checks if at least one dash is included in tagName, and it's not the first char\n * for more sophisticated checking see https://github.com/sindresorhus/validate-element-name\n *\n * @param tagName name of the tag of the node to sanitize\n * @returns Returns true if the tag name meets the basic criteria for a custom element, otherwise false.\n */\n const _isBasicCustomElement = function _isBasicCustomElement(tagName) {\n return tagName !== 'annotation-xml' && stringMatch(tagName, CUSTOM_ELEMENT);\n };\n /**\n * _sanitizeAttributes\n *\n * @protect attributes\n * @protect nodeName\n * @protect removeAttribute\n * @protect setAttribute\n *\n * @param currentNode to sanitize\n */\n const _sanitizeAttributes = function _sanitizeAttributes(currentNode) {\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeAttributes, currentNode, null);\n const {\n attributes\n } = currentNode;\n /* Check if we have attributes; if not we might have a text node */\n if (!attributes || _isClobbered(currentNode)) {\n return;\n }\n const hookEvent = {\n attrName: '',\n attrValue: '',\n keepAttr: true,\n allowedAttributes: ALLOWED_ATTR,\n forceKeepAttr: undefined\n };\n let l = attributes.length;\n /* Go backwards over all attributes; safely remove bad ones */\n while (l--) {\n const attr = attributes[l];\n const {\n name,\n namespaceURI,\n value: attrValue\n } = attr;\n const lcName = transformCaseFunc(name);\n const initValue = attrValue;\n let value = name === 'value' ? initValue : stringTrim(initValue);\n /* Execute a hook if present */\n hookEvent.attrName = lcName;\n hookEvent.attrValue = value;\n hookEvent.keepAttr = true;\n hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set\n _executeHooks(hooks.uponSanitizeAttribute, currentNode, hookEvent);\n value = hookEvent.attrValue;\n /* Full DOM Clobbering protection via namespace isolation,\n * Prefix id and name attributes with `user-content-`\n */\n if (SANITIZE_NAMED_PROPS && (lcName === 'id' || lcName === 'name')) {\n // Remove the attribute with this value\n _removeAttribute(name, currentNode);\n // Prefix the value and later re-create the attribute with the sanitized value\n value = SANITIZE_NAMED_PROPS_PREFIX + value;\n }\n /* Work around a security issue with comments inside attributes */\n if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\\/(style|title|textarea)/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Make sure we cannot easily use animated hrefs, even if animations are allowed */\n if (lcName === 'attributename' && stringMatch(value, 'href')) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Did the hooks approve of the attribute? */\n if (hookEvent.forceKeepAttr) {\n continue;\n }\n /* Did the hooks approve of the attribute? */\n if (!hookEvent.keepAttr) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Work around a security issue in jQuery 3.0 */\n if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\\/>/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Sanitize attribute content to be template-safe */\n if (SAFE_FOR_TEMPLATES) {\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n value = stringReplace(value, expr, ' ');\n });\n }\n /* Is `value` valid for this attribute? */\n const lcTag = transformCaseFunc(currentNode.nodeName);\n if (!_isValidAttribute(lcTag, lcName, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Handle attributes that require Trusted Types */\n if (trustedTypesPolicy && typeof trustedTypes === 'object' && typeof trustedTypes.getAttributeType === 'function') {\n if (namespaceURI) ; else {\n switch (trustedTypes.getAttributeType(lcTag, lcName)) {\n case 'TrustedHTML':\n {\n value = trustedTypesPolicy.createHTML(value);\n break;\n }\n case 'TrustedScriptURL':\n {\n value = trustedTypesPolicy.createScriptURL(value);\n break;\n }\n }\n }\n }\n /* Handle invalid data-* attribute set by try-catching it */\n if (value !== initValue) {\n try {\n if (namespaceURI) {\n currentNode.setAttributeNS(namespaceURI, name, value);\n } else {\n /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. \"x-schema\". */\n currentNode.setAttribute(name, value);\n }\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n } else {\n arrayPop(DOMPurify.removed);\n }\n } catch (_) {\n _removeAttribute(name, currentNode);\n }\n }\n }\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeAttributes, currentNode, null);\n };\n /**\n * _sanitizeShadowDOM\n *\n * @param fragment to iterate over recursively\n */\n const _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) {\n let shadowNode = null;\n const shadowIterator = _createNodeIterator(fragment);\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeShadowDOM, fragment, null);\n while (shadowNode = shadowIterator.nextNode()) {\n /* Execute a hook if present */\n _executeHooks(hooks.uponSanitizeShadowNode, shadowNode, null);\n /* Sanitize tags and elements */\n _sanitizeElements(shadowNode);\n /* Check attributes next */\n _sanitizeAttributes(shadowNode);\n /* Deep shadow DOM detected */\n if (shadowNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(shadowNode.content);\n }\n }\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeShadowDOM, fragment, null);\n };\n // eslint-disable-next-line complexity\n DOMPurify.sanitize = function (dirty) {\n let cfg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let body = null;\n let importedNode = null;\n let currentNode = null;\n let returnNode = null;\n /* Make sure we have a string to sanitize.\n DO NOT return early, as this will return the wrong type if\n the user has requested a DOM object rather than a string */\n IS_EMPTY_INPUT = !dirty;\n if (IS_EMPTY_INPUT) {\n dirty = '<!-->';\n }\n /* Stringify, in case dirty is an object */\n if (typeof dirty !== 'string' && !_isNode(dirty)) {\n if (typeof dirty.toString === 'function') {\n dirty = dirty.toString();\n if (typeof dirty !== 'string') {\n throw typeErrorCreate('dirty is not a string, aborting');\n }\n } else {\n throw typeErrorCreate('toString is not a function');\n }\n }\n /* Return dirty HTML if DOMPurify cannot run */\n if (!DOMPurify.isSupported) {\n return dirty;\n }\n /* Assign config vars */\n if (!SET_CONFIG) {\n _parseConfig(cfg);\n }\n /* Clean up removed elements */\n DOMPurify.removed = [];\n /* Check if dirty is correctly typed for IN_PLACE */\n if (typeof dirty === 'string') {\n IN_PLACE = false;\n }\n if (IN_PLACE) {\n /* Do some early pre-sanitization to avoid unsafe root nodes */\n if (dirty.nodeName) {\n const tagName = transformCaseFunc(dirty.nodeName);\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n throw typeErrorCreate('root node is forbidden and cannot be sanitized in-place');\n }\n }\n } else if (dirty instanceof Node) {\n /* If dirty is a DOM element, append to an empty document to avoid\n elements being stripped by the parser */\n body = _initDocument('<!---->');\n importedNode = body.ownerDocument.importNode(dirty, true);\n if (importedNode.nodeType === NODE_TYPE.element && importedNode.nodeName === 'BODY') {\n /* Node is already a body, use as is */\n body = importedNode;\n } else if (importedNode.nodeName === 'HTML') {\n body = importedNode;\n } else {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n body.appendChild(importedNode);\n }\n } else {\n /* Exit directly if we have nothing to do */\n if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT &&\n // eslint-disable-next-line unicorn/prefer-includes\n dirty.indexOf('<') === -1) {\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;\n }\n /* Initialize the document to work on */\n body = _initDocument(dirty);\n /* Check we have a DOM node from the data */\n if (!body) {\n return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : '';\n }\n }\n /* Remove first element node (ours) if FORCE_BODY is set */\n if (body && FORCE_BODY) {\n _forceRemove(body.firstChild);\n }\n /* Get node iterator */\n const nodeIterator = _createNodeIterator(IN_PLACE ? dirty : body);\n /* Now start iterating over the created document */\n while (currentNode = nodeIterator.nextNode()) {\n /* Sanitize tags and elements */\n _sanitizeElements(currentNode);\n /* Check attributes next */\n _sanitizeAttributes(currentNode);\n /* Shadow DOM detected, sanitize it */\n if (currentNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(currentNode.content);\n }\n }\n /* If we sanitized `dirty` in-place, return it. */\n if (IN_PLACE) {\n return dirty;\n }\n /* Return sanitized string or DOM */\n if (RETURN_DOM) {\n if (RETURN_DOM_FRAGMENT) {\n returnNode = createDocumentFragment.call(body.ownerDocument);\n while (body.firstChild) {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n returnNode.appendChild(body.firstChild);\n }\n } else {\n returnNode = body;\n }\n if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmode) {\n /*\n AdoptNode() is not used because internal state is not reset\n (e.g. the past names map of a HTMLFormElement), this is safe\n in theory but we would rather not risk another attack vector.\n The state that is cloned by importNode() is explicitly defined\n by the specs.\n */\n returnNode = importNode.call(originalDocument, returnNode, true);\n }\n return returnNode;\n }\n let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n /* Serialize doctype if allowed */\n if (WHOLE_DOCUMENT && ALLOWED_TAGS['!doctype'] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) {\n serializedHTML = '<!DOCTYPE ' + body.ownerDocument.doctype.name + '>\\n' + serializedHTML;\n }\n /* Sanitize final string template-safe */\n if (SAFE_FOR_TEMPLATES) {\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n serializedHTML = stringReplace(serializedHTML, expr, ' ');\n });\n }\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;\n };\n DOMPurify.setConfig = function () {\n let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _parseConfig(cfg);\n SET_CONFIG = true;\n };\n DOMPurify.clearConfig = function () {\n CONFIG = null;\n SET_CONFIG = false;\n };\n DOMPurify.isValidAttribute = function (tag, attr, value) {\n /* Initialize shared config vars if necessary. */\n if (!CONFIG) {\n _parseConfig({});\n }\n const lcTag = transformCaseFunc(tag);\n const lcName = transformCaseFunc(attr);\n return _isValidAttribute(lcTag, lcName, value);\n };\n DOMPurify.addHook = function (entryPoint, hookFunction) {\n if (typeof hookFunction !== 'function') {\n return;\n }\n arrayPush(hooks[entryPoint], hookFunction);\n };\n DOMPurify.removeHook = function (entryPoint, hookFunction) {\n if (hookFunction !== undefined) {\n const index = arrayLastIndexOf(hooks[entryPoint], hookFunction);\n return index === -1 ? undefined : arraySplice(hooks[entryPoint], index, 1)[0];\n }\n return arrayPop(hooks[entryPoint]);\n };\n DOMPurify.removeHooks = function (entryPoint) {\n hooks[entryPoint] = [];\n };\n DOMPurify.removeAllHooks = function () {\n hooks = _createHooksMap();\n };\n return DOMPurify;\n}\nvar purify = createDOMPurify();\n\nexport { purify as default };\n//# sourceMappingURL=purify.es.mjs.map\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Doctype = exports.CDATA = exports.Tag = exports.Style = exports.Script = exports.Comment = exports.Directive = exports.Text = exports.Root = exports.isTag = exports.ElementType = void 0;\n/** Types of elements found in htmlparser2's DOM */\nvar ElementType;\n(function (ElementType) {\n /** Type for the root element of a document */\n ElementType[\"Root\"] = \"root\";\n /** Type for Text */\n ElementType[\"Text\"] = \"text\";\n /** Type for <? ... ?> */\n ElementType[\"Directive\"] = \"directive\";\n /** Type for <!-- ... --> */\n ElementType[\"Comment\"] = \"comment\";\n /** Type for <script> tags */\n ElementType[\"Script\"] = \"script\";\n /** Type for <style> tags */\n ElementType[\"Style\"] = \"style\";\n /** Type for Any tag */\n ElementType[\"Tag\"] = \"tag\";\n /** Type for <![CDATA[ ... ]]> */\n ElementType[\"CDATA\"] = \"cdata\";\n /** Type for <!doctype ...> */\n ElementType[\"Doctype\"] = \"doctype\";\n})(ElementType = exports.ElementType || (exports.ElementType = {}));\n/**\n * Tests whether an element is a tag or not.\n *\n * @param elem Element to test\n */\nfunction isTag(elem) {\n return (elem.type === ElementType.Tag ||\n elem.type === ElementType.Script ||\n elem.type === ElementType.Style);\n}\nexports.isTag = isTag;\n// Exports for backwards compatibility\n/** Type for the root element of a document */\nexports.Root = ElementType.Root;\n/** Type for Text */\nexports.Text = ElementType.Text;\n/** Type for <? ... ?> */\nexports.Directive = ElementType.Directive;\n/** Type for <!-- ... --> */\nexports.Comment = ElementType.Comment;\n/** Type for <script> tags */\nexports.Script = ElementType.Script;\n/** Type for <style> tags */\nexports.Style = ElementType.Style;\n/** Type for Any tag */\nexports.Tag = ElementType.Tag;\n/** Type for <![CDATA[ ... ]]> */\nexports.CDATA = ElementType.CDATA;\n/** Type for <!doctype ...> */\nexports.Doctype = ElementType.Doctype;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.cloneNode = exports.hasChildren = exports.isDocument = exports.isDirective = exports.isComment = exports.isText = exports.isCDATA = exports.isTag = exports.Element = exports.Document = exports.CDATA = exports.NodeWithChildren = exports.ProcessingInstruction = exports.Comment = exports.Text = exports.DataNode = exports.Node = void 0;\nvar domelementtype_1 = require(\"domelementtype\");\n/**\n * This object will be used as the prototype for Nodes when creating a\n * DOM-Level-1-compliant structure.\n */\nvar Node = /** @class */ (function () {\n function Node() {\n /** Parent of the node */\n this.parent = null;\n /** Previous sibling */\n this.prev = null;\n /** Next sibling */\n this.next = null;\n /** The start index of the node. Requires `withStartIndices` on the handler to be `true. */\n this.startIndex = null;\n /** The end index of the node. Requires `withEndIndices` on the handler to be `true. */\n this.endIndex = null;\n }\n Object.defineProperty(Node.prototype, \"parentNode\", {\n // Read-write aliases for properties\n /**\n * Same as {@link parent}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.parent;\n },\n set: function (parent) {\n this.parent = parent;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Node.prototype, \"previousSibling\", {\n /**\n * Same as {@link prev}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.prev;\n },\n set: function (prev) {\n this.prev = prev;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Node.prototype, \"nextSibling\", {\n /**\n * Same as {@link next}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.next;\n },\n set: function (next) {\n this.next = next;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Clone this node, and optionally its children.\n *\n * @param recursive Clone child nodes as well.\n * @returns A clone of the node.\n */\n Node.prototype.cloneNode = function (recursive) {\n if (recursive === void 0) { recursive = false; }\n return cloneNode(this, recursive);\n };\n return Node;\n}());\nexports.Node = Node;\n/**\n * A node that contains some data.\n */\nvar DataNode = /** @class */ (function (_super) {\n __extends(DataNode, _super);\n /**\n * @param data The content of the data node\n */\n function DataNode(data) {\n var _this = _super.call(this) || this;\n _this.data = data;\n return _this;\n }\n Object.defineProperty(DataNode.prototype, \"nodeValue\", {\n /**\n * Same as {@link data}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.data;\n },\n set: function (data) {\n this.data = data;\n },\n enumerable: false,\n configurable: true\n });\n return DataNode;\n}(Node));\nexports.DataNode = DataNode;\n/**\n * Text within the document.\n */\nvar Text = /** @class */ (function (_super) {\n __extends(Text, _super);\n function Text() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = domelementtype_1.ElementType.Text;\n return _this;\n }\n Object.defineProperty(Text.prototype, \"nodeType\", {\n get: function () {\n return 3;\n },\n enumerable: false,\n configurable: true\n });\n return Text;\n}(DataNode));\nexports.Text = Text;\n/**\n * Comments within the document.\n */\nvar Comment = /** @class */ (function (_super) {\n __extends(Comment, _super);\n function Comment() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = domelementtype_1.ElementType.Comment;\n return _this;\n }\n Object.defineProperty(Comment.prototype, \"nodeType\", {\n get: function () {\n return 8;\n },\n enumerable: false,\n configurable: true\n });\n return Comment;\n}(DataNode));\nexports.Comment = Comment;\n/**\n * Processing instructions, including doc types.\n */\nvar ProcessingInstruction = /** @class */ (function (_super) {\n __extends(ProcessingInstruction, _super);\n function ProcessingInstruction(name, data) {\n var _this = _super.call(this, data) || this;\n _this.name = name;\n _this.type = domelementtype_1.ElementType.Directive;\n return _this;\n }\n Object.defineProperty(ProcessingInstruction.prototype, \"nodeType\", {\n get: function () {\n return 1;\n },\n enumerable: false,\n configurable: true\n });\n return ProcessingInstruction;\n}(DataNode));\nexports.ProcessingInstruction = ProcessingInstruction;\n/**\n * A `Node` that can have children.\n */\nvar NodeWithChildren = /** @class */ (function (_super) {\n __extends(NodeWithChildren, _super);\n /**\n * @param children Children of the node. Only certain node types can have children.\n */\n function NodeWithChildren(children) {\n var _this = _super.call(this) || this;\n _this.children = children;\n return _this;\n }\n Object.defineProperty(NodeWithChildren.prototype, \"firstChild\", {\n // Aliases\n /** First child of the node. */\n get: function () {\n var _a;\n return (_a = this.children[0]) !== null && _a !== void 0 ? _a : null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(NodeWithChildren.prototype, \"lastChild\", {\n /** Last child of the node. */\n get: function () {\n return this.children.length > 0\n ? this.children[this.children.length - 1]\n : null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(NodeWithChildren.prototype, \"childNodes\", {\n /**\n * Same as {@link children}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.children;\n },\n set: function (children) {\n this.children = children;\n },\n enumerable: false,\n configurable: true\n });\n return NodeWithChildren;\n}(Node));\nexports.NodeWithChildren = NodeWithChildren;\nvar CDATA = /** @class */ (function (_super) {\n __extends(CDATA, _super);\n function CDATA() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = domelementtype_1.ElementType.CDATA;\n return _this;\n }\n Object.defineProperty(CDATA.prototype, \"nodeType\", {\n get: function () {\n return 4;\n },\n enumerable: false,\n configurable: true\n });\n return CDATA;\n}(NodeWithChildren));\nexports.CDATA = CDATA;\n/**\n * The root node of the document.\n */\nvar Document = /** @class */ (function (_super) {\n __extends(Document, _super);\n function Document() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = domelementtype_1.ElementType.Root;\n return _this;\n }\n Object.defineProperty(Document.prototype, \"nodeType\", {\n get: function () {\n return 9;\n },\n enumerable: false,\n configurable: true\n });\n return Document;\n}(NodeWithChildren));\nexports.Document = Document;\n/**\n * An element within the DOM.\n */\nvar Element = /** @class */ (function (_super) {\n __extends(Element, _super);\n /**\n * @param name Name of the tag, eg. `div`, `span`.\n * @param attribs Object mapping attribute names to attribute values.\n * @param children Children of the node.\n */\n function Element(name, attribs, children, type) {\n if (children === void 0) { children = []; }\n if (type === void 0) { type = name === \"script\"\n ? domelementtype_1.ElementType.Script\n : name === \"style\"\n ? domelementtype_1.ElementType.Style\n : domelementtype_1.ElementType.Tag; }\n var _this = _super.call(this, children) || this;\n _this.name = name;\n _this.attribs = attribs;\n _this.type = type;\n return _this;\n }\n Object.defineProperty(Element.prototype, \"nodeType\", {\n get: function () {\n return 1;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Element.prototype, \"tagName\", {\n // DOM Level 1 aliases\n /**\n * Same as {@link name}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.name;\n },\n set: function (name) {\n this.name = name;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Element.prototype, \"attributes\", {\n get: function () {\n var _this = this;\n return Object.keys(this.attribs).map(function (name) {\n var _a, _b;\n return ({\n name: name,\n value: _this.attribs[name],\n namespace: (_a = _this[\"x-attribsNamespace\"]) === null || _a === void 0 ? void 0 : _a[name],\n prefix: (_b = _this[\"x-attribsPrefix\"]) === null || _b === void 0 ? void 0 : _b[name],\n });\n });\n },\n enumerable: false,\n configurable: true\n });\n return Element;\n}(NodeWithChildren));\nexports.Element = Element;\n/**\n * @param node Node to check.\n * @returns `true` if the node is a `Element`, `false` otherwise.\n */\nfunction isTag(node) {\n return (0, domelementtype_1.isTag)(node);\n}\nexports.isTag = isTag;\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `CDATA`, `false` otherwise.\n */\nfunction isCDATA(node) {\n return node.type === domelementtype_1.ElementType.CDATA;\n}\nexports.isCDATA = isCDATA;\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `Text`, `false` otherwise.\n */\nfunction isText(node) {\n return node.type === domelementtype_1.ElementType.Text;\n}\nexports.isText = isText;\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `Comment`, `false` otherwise.\n */\nfunction isComment(node) {\n return node.type === domelementtype_1.ElementType.Comment;\n}\nexports.isComment = isComment;\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `ProcessingInstruction`, `false` otherwise.\n */\nfunction isDirective(node) {\n return node.type === domelementtype_1.ElementType.Directive;\n}\nexports.isDirective = isDirective;\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `ProcessingInstruction`, `false` otherwise.\n */\nfunction isDocument(node) {\n return node.type === domelementtype_1.ElementType.Root;\n}\nexports.isDocument = isDocument;\n/**\n * @param node Node to check.\n * @returns `true` if the node has children, `false` otherwise.\n */\nfunction hasChildren(node) {\n return Object.prototype.hasOwnProperty.call(node, \"children\");\n}\nexports.hasChildren = hasChildren;\n/**\n * Clone a node, and optionally its children.\n *\n * @param recursive Clone child nodes as well.\n * @returns A clone of the node.\n */\nfunction cloneNode(node, recursive) {\n if (recursive === void 0) { recursive = false; }\n var result;\n if (isText(node)) {\n result = new Text(node.data);\n }\n else if (isComment(node)) {\n result = new Comment(node.data);\n }\n else if (isTag(node)) {\n var children = recursive ? cloneChildren(node.children) : [];\n var clone_1 = new Element(node.name, __assign({}, node.attribs), children);\n children.forEach(function (child) { return (child.parent = clone_1); });\n if (node.namespace != null) {\n clone_1.namespace = node.namespace;\n }\n if (node[\"x-attribsNamespace\"]) {\n clone_1[\"x-attribsNamespace\"] = __assign({}, node[\"x-attribsNamespace\"]);\n }\n if (node[\"x-attribsPrefix\"]) {\n clone_1[\"x-attribsPrefix\"] = __assign({}, node[\"x-attribsPrefix\"]);\n }\n result = clone_1;\n }\n else if (isCDATA(node)) {\n var children = recursive ? cloneChildren(node.children) : [];\n var clone_2 = new CDATA(children);\n children.forEach(function (child) { return (child.parent = clone_2); });\n result = clone_2;\n }\n else if (isDocument(node)) {\n var children = recursive ? cloneChildren(node.children) : [];\n var clone_3 = new Document(children);\n children.forEach(function (child) { return (child.parent = clone_3); });\n if (node[\"x-mode\"]) {\n clone_3[\"x-mode\"] = node[\"x-mode\"];\n }\n result = clone_3;\n }\n else if (isDirective(node)) {\n var instruction = new ProcessingInstruction(node.name, node.data);\n if (node[\"x-name\"] != null) {\n instruction[\"x-name\"] = node[\"x-name\"];\n instruction[\"x-publicId\"] = node[\"x-publicId\"];\n instruction[\"x-systemId\"] = node[\"x-systemId\"];\n }\n result = instruction;\n }\n else {\n throw new Error(\"Not implemented yet: \".concat(node.type));\n }\n result.startIndex = node.startIndex;\n result.endIndex = node.endIndex;\n if (node.sourceCodeLocation != null) {\n result.sourceCodeLocation = node.sourceCodeLocation;\n }\n return result;\n}\nexports.cloneNode = cloneNode;\nfunction cloneChildren(childs) {\n var children = childs.map(function (child) { return cloneNode(child, true); });\n for (var i = 1; i < children.length; i++) {\n children[i].prev = children[i - 1];\n children[i - 1].next = children[i];\n }\n return children;\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DomHandler = void 0;\nvar domelementtype_1 = require(\"domelementtype\");\nvar node_js_1 = require(\"./node.js\");\n__exportStar(require(\"./node.js\"), exports);\n// Default options\nvar defaultOpts = {\n withStartIndices: false,\n withEndIndices: false,\n xmlMode: false,\n};\nvar DomHandler = /** @class */ (function () {\n /**\n * @param callback Called once parsing has completed.\n * @param options Settings for the handler.\n * @param elementCB Callback whenever a tag is closed.\n */\n function DomHandler(callback, options, elementCB) {\n /** The elements of the DOM */\n this.dom = [];\n /** The root element for the DOM */\n this.root = new node_js_1.Document(this.dom);\n /** Indicated whether parsing has been completed. */\n this.done = false;\n /** Stack of open tags. */\n this.tagStack = [this.root];\n /** A data node that is still being written to. */\n this.lastNode = null;\n /** Reference to the parser instance. Used for location information. */\n this.parser = null;\n // Make it possible to skip arguments, for backwards-compatibility\n if (typeof options === \"function\") {\n elementCB = options;\n options = defaultOpts;\n }\n if (typeof callback === \"object\") {\n options = callback;\n callback = undefined;\n }\n this.callback = callback !== null && callback !== void 0 ? callback : null;\n this.options = options !== null && options !== void 0 ? options : defaultOpts;\n this.elementCB = elementCB !== null && elementCB !== void 0 ? elementCB : null;\n }\n DomHandler.prototype.onparserinit = function (parser) {\n this.parser = parser;\n };\n // Resets the handler back to starting state\n DomHandler.prototype.onreset = function () {\n this.dom = [];\n this.root = new node_js_1.Document(this.dom);\n this.done = false;\n this.tagStack = [this.root];\n this.lastNode = null;\n this.parser = null;\n };\n // Signals the handler that parsing is done\n DomHandler.prototype.onend = function () {\n if (this.done)\n return;\n this.done = true;\n this.parser = null;\n this.handleCallback(null);\n };\n DomHandler.prototype.onerror = function (error) {\n this.handleCallback(error);\n };\n DomHandler.prototype.onclosetag = function () {\n this.lastNode = null;\n var elem = this.tagStack.pop();\n if (this.options.withEndIndices) {\n elem.endIndex = this.parser.endIndex;\n }\n if (this.elementCB)\n this.elementCB(elem);\n };\n DomHandler.prototype.onopentag = function (name, attribs) {\n var type = this.options.xmlMode ? domelementtype_1.ElementType.Tag : undefined;\n var element = new node_js_1.Element(name, attribs, undefined, type);\n this.addNode(element);\n this.tagStack.push(element);\n };\n DomHandler.prototype.ontext = function (data) {\n var lastNode = this.lastNode;\n if (lastNode && lastNode.type === domelementtype_1.ElementType.Text) {\n lastNode.data += data;\n if (this.options.withEndIndices) {\n lastNode.endIndex = this.parser.endIndex;\n }\n }\n else {\n var node = new node_js_1.Text(data);\n this.addNode(node);\n this.lastNode = node;\n }\n };\n DomHandler.prototype.oncomment = function (data) {\n if (this.lastNode && this.lastNode.type === domelementtype_1.ElementType.Comment) {\n this.lastNode.data += data;\n return;\n }\n var node = new node_js_1.Comment(data);\n this.addNode(node);\n this.lastNode = node;\n };\n DomHandler.prototype.oncommentend = function () {\n this.lastNode = null;\n };\n DomHandler.prototype.oncdatastart = function () {\n var text = new node_js_1.Text(\"\");\n var node = new node_js_1.CDATA([text]);\n this.addNode(node);\n text.parent = node;\n this.lastNode = text;\n };\n DomHandler.prototype.oncdataend = function () {\n this.lastNode = null;\n };\n DomHandler.prototype.onprocessinginstruction = function (name, data) {\n var node = new node_js_1.ProcessingInstruction(name, data);\n this.addNode(node);\n };\n DomHandler.prototype.handleCallback = function (error) {\n if (typeof this.callback === \"function\") {\n this.callback(error, this.dom);\n }\n else if (error) {\n throw error;\n }\n };\n DomHandler.prototype.addNode = function (node) {\n var parent = this.tagStack[this.tagStack.length - 1];\n var previousSibling = parent.children[parent.children.length - 1];\n if (this.options.withStartIndices) {\n node.startIndex = this.parser.startIndex;\n }\n if (this.options.withEndIndices) {\n node.endIndex = this.parser.endIndex;\n }\n parent.children.push(node);\n if (previousSibling) {\n node.prev = previousSibling;\n previousSibling.next = node;\n }\n node.parent = parent;\n this.lastNode = null;\n };\n return DomHandler;\n}());\nexports.DomHandler = DomHandler;\nexports.default = DomHandler;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CARRIAGE_RETURN_PLACEHOLDER_REGEX = exports.CARRIAGE_RETURN_PLACEHOLDER = exports.CARRIAGE_RETURN_REGEX = exports.CARRIAGE_RETURN = exports.CASE_SENSITIVE_TAG_NAMES_MAP = exports.CASE_SENSITIVE_TAG_NAMES = void 0;\n/**\n * SVG elements are case-sensitive.\n *\n * @see https://developer.mozilla.org/docs/Web/SVG/Element#svg_elements_a_to_z\n */\nexports.CASE_SENSITIVE_TAG_NAMES = [\n 'animateMotion',\n 'animateTransform',\n 'clipPath',\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feDropShadow',\n 'feFlood',\n 'feFuncA',\n 'feFuncB',\n 'feFuncG',\n 'feFuncR',\n 'feGaussianBlur',\n 'feImage',\n 'feMerge',\n 'feMergeNode',\n 'feMorphology',\n 'feOffset',\n 'fePointLight',\n 'feSpecularLighting',\n 'feSpotLight',\n 'feTile',\n 'feTurbulence',\n 'foreignObject',\n 'linearGradient',\n 'radialGradient',\n 'textPath',\n];\nexports.CASE_SENSITIVE_TAG_NAMES_MAP = exports.CASE_SENSITIVE_TAG_NAMES.reduce(function (accumulator, tagName) {\n accumulator[tagName.toLowerCase()] = tagName;\n return accumulator;\n}, {});\nexports.CARRIAGE_RETURN = '\\r';\nexports.CARRIAGE_RETURN_REGEX = new RegExp(exports.CARRIAGE_RETURN, 'g');\nexports.CARRIAGE_RETURN_PLACEHOLDER = \"__HTML_DOM_PARSER_CARRIAGE_RETURN_PLACEHOLDER_\".concat(Date.now(), \"__\");\nexports.CARRIAGE_RETURN_PLACEHOLDER_REGEX = new RegExp(exports.CARRIAGE_RETURN_PLACEHOLDER, 'g');\n//# sourceMappingURL=constants.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.formatAttributes = formatAttributes;\nexports.escapeSpecialCharacters = escapeSpecialCharacters;\nexports.revertEscapedCharacters = revertEscapedCharacters;\nexports.formatDOM = formatDOM;\nvar domhandler_1 = require(\"domhandler\");\nvar constants_1 = require(\"./constants\");\n/**\n * Gets case-sensitive tag name.\n *\n * @param tagName - Tag name in lowercase.\n * @returns - Case-sensitive tag name.\n */\nfunction getCaseSensitiveTagName(tagName) {\n return constants_1.CASE_SENSITIVE_TAG_NAMES_MAP[tagName];\n}\n/**\n * Formats DOM attributes to a hash map.\n *\n * @param attributes - List of attributes.\n * @returns - Map of attribute name to value.\n */\nfunction formatAttributes(attributes) {\n var map = {};\n var index = 0;\n var attributesLength = attributes.length;\n // `NamedNodeMap` is array-like\n for (; index < attributesLength; index++) {\n var attribute = attributes[index];\n map[attribute.name] = attribute.value;\n }\n return map;\n}\n/**\n * Corrects the tag name if it is case-sensitive (SVG).\n * Otherwise, returns the lowercase tag name (HTML).\n *\n * @param tagName - Lowercase tag name.\n * @returns - Formatted tag name.\n */\nfunction formatTagName(tagName) {\n tagName = tagName.toLowerCase();\n var caseSensitiveTagName = getCaseSensitiveTagName(tagName);\n if (caseSensitiveTagName) {\n return caseSensitiveTagName;\n }\n return tagName;\n}\n/**\n * Escapes special characters before parsing.\n *\n * @param html - The HTML string.\n * @returns - HTML string with escaped special characters.\n */\nfunction escapeSpecialCharacters(html) {\n return html.replace(constants_1.CARRIAGE_RETURN_REGEX, constants_1.CARRIAGE_RETURN_PLACEHOLDER);\n}\n/**\n * Reverts escaped special characters back to actual characters.\n *\n * @param text - The text with escaped characters.\n * @returns - Text with escaped characters reverted.\n */\nfunction revertEscapedCharacters(text) {\n return text.replace(constants_1.CARRIAGE_RETURN_PLACEHOLDER_REGEX, constants_1.CARRIAGE_RETURN);\n}\n/**\n * Transforms DOM nodes to `domhandler` nodes.\n *\n * @param nodes - DOM nodes.\n * @param parent - Parent node.\n * @param directive - Directive.\n * @returns - Nodes.\n */\nfunction formatDOM(nodes, parent, directive) {\n if (parent === void 0) { parent = null; }\n var domNodes = [];\n var current;\n var index = 0;\n var nodesLength = nodes.length;\n for (; index < nodesLength; index++) {\n var node = nodes[index];\n // set the node data given the type\n switch (node.nodeType) {\n case 1: {\n var tagName = formatTagName(node.nodeName);\n // script, style, or tag\n current = new domhandler_1.Element(tagName, formatAttributes(node.attributes));\n current.children = formatDOM(\n // template children are on content\n tagName === 'template'\n ? node.content.childNodes\n : node.childNodes, current);\n break;\n }\n case 3:\n current = new domhandler_1.Text(revertEscapedCharacters(node.nodeValue));\n break;\n case 8:\n current = new domhandler_1.Comment(node.nodeValue);\n break;\n default:\n continue;\n }\n // set previous node next\n var prev = domNodes[index - 1] || null;\n if (prev) {\n prev.next = current;\n }\n // set properties for current node\n current.parent = parent;\n current.prev = prev;\n current.next = null;\n domNodes.push(current);\n }\n if (directive) {\n current = new domhandler_1.ProcessingInstruction(directive.substring(0, directive.indexOf(' ')).toLowerCase(), directive);\n current.next = domNodes[0] || null;\n current.parent = parent;\n domNodes.unshift(current);\n if (domNodes[1]) {\n domNodes[1].prev = domNodes[0];\n }\n }\n return domNodes;\n}\n//# sourceMappingURL=utilities.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = domparser;\nvar utilities_1 = require(\"./utilities\");\n// constants\nvar HTML = 'html';\nvar HEAD = 'head';\nvar BODY = 'body';\nvar FIRST_TAG_REGEX = /<([a-zA-Z]+[0-9]?)/; // e.g., <h1>\n// match-all-characters in case of newlines (DOTALL)\nvar HEAD_TAG_REGEX = /<head[^]*>/i;\nvar BODY_TAG_REGEX = /<body[^]*>/i;\n// falls back to `parseFromString` if `createHTMLDocument` cannot be used\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nvar parseFromDocument = function (html, tagName) {\n /* istanbul ignore next */\n throw new Error('This browser does not support `document.implementation.createHTMLDocument`');\n};\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nvar parseFromString = function (html, tagName) {\n /* istanbul ignore next */\n throw new Error('This browser does not support `DOMParser.prototype.parseFromString`');\n};\nvar DOMParser = typeof window === 'object' && window.DOMParser;\n/**\n * DOMParser (performance: slow).\n *\n * @see https://developer.mozilla.org/docs/Web/API/DOMParser#Parsing_an_SVG_or_HTML_document\n */\nif (typeof DOMParser === 'function') {\n var domParser_1 = new DOMParser();\n var mimeType_1 = 'text/html';\n /**\n * Creates an HTML document using `DOMParser.parseFromString`.\n *\n * @param html - The HTML string.\n * @param tagName - The element to render the HTML (with 'body' as fallback).\n * @returns - Document.\n */\n parseFromString = function (html, tagName) {\n if (tagName) {\n /* istanbul ignore next */\n html = \"<\".concat(tagName, \">\").concat(html, \"</\").concat(tagName, \">\");\n }\n return domParser_1.parseFromString(html, mimeType_1);\n };\n parseFromDocument = parseFromString;\n}\n/**\n * DOMImplementation (performance: fair).\n *\n * @see https://developer.mozilla.org/docs/Web/API/DOMImplementation/createHTMLDocument\n */\nif (typeof document === 'object' && document.implementation) {\n var htmlDocument_1 = document.implementation.createHTMLDocument();\n /**\n * Use HTML document created by `document.implementation.createHTMLDocument`.\n *\n * @param html - The HTML string.\n * @param tagName - The element to render the HTML (with 'body' as fallback).\n * @returns - Document\n */\n parseFromDocument = function (html, tagName) {\n if (tagName) {\n var element = htmlDocument_1.documentElement.querySelector(tagName);\n if (element) {\n element.innerHTML = html;\n }\n return htmlDocument_1;\n }\n htmlDocument_1.documentElement.innerHTML = html;\n return htmlDocument_1;\n };\n}\n/**\n * Template (performance: fast).\n *\n * @see https://developer.mozilla.org/docs/Web/HTML/Element/template\n */\nvar template = typeof document === 'object' && document.createElement('template');\nvar parseFromTemplate;\nif (template && template.content) {\n /**\n * Uses a template element (content fragment) to parse HTML.\n *\n * @param html - HTML string.\n * @returns - Nodes.\n */\n parseFromTemplate = function (html) {\n template.innerHTML = html;\n return template.content.childNodes;\n };\n}\n/**\n * Parses HTML string to DOM nodes.\n *\n * @param html - HTML markup.\n * @returns - DOM nodes.\n */\nfunction domparser(html) {\n var _a, _b;\n // Escape special characters before parsing\n html = (0, utilities_1.escapeSpecialCharacters)(html);\n var match = html.match(FIRST_TAG_REGEX);\n var firstTagName = match && match[1] ? match[1].toLowerCase() : '';\n switch (firstTagName) {\n case HTML: {\n var doc = parseFromString(html);\n // the created document may come with filler head/body elements,\n // so make sure to remove them if they don't actually exist\n if (!HEAD_TAG_REGEX.test(html)) {\n var element = doc.querySelector(HEAD);\n (_a = element === null || element === void 0 ? void 0 : element.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(element);\n }\n if (!BODY_TAG_REGEX.test(html)) {\n var element = doc.querySelector(BODY);\n (_b = element === null || element === void 0 ? void 0 : element.parentNode) === null || _b === void 0 ? void 0 : _b.removeChild(element);\n }\n return doc.querySelectorAll(HTML);\n }\n case HEAD:\n case BODY: {\n var elements = parseFromDocument(html).querySelectorAll(firstTagName);\n // if there's a sibling element, then return both elements\n if (BODY_TAG_REGEX.test(html) && HEAD_TAG_REGEX.test(html)) {\n return elements[0].parentNode.childNodes;\n }\n return elements;\n }\n // low-level tag or text\n default: {\n if (parseFromTemplate) {\n return parseFromTemplate(html);\n }\n var element = parseFromDocument(html, BODY).querySelector(BODY);\n return element.childNodes;\n }\n }\n}\n//# sourceMappingURL=domparser.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = HTMLDOMParser;\nvar domparser_1 = __importDefault(require(\"./domparser\"));\nvar utilities_1 = require(\"./utilities\");\nvar DIRECTIVE_REGEX = /<(![a-zA-Z\\s]+)>/; // e.g., <!doctype html>\n/**\n * Parses HTML string to DOM nodes in browser.\n *\n * @param html - HTML markup.\n * @returns - DOM elements.\n */\nfunction HTMLDOMParser(html) {\n if (typeof html !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n if (!html) {\n return [];\n }\n // match directive\n var match = html.match(DIRECTIVE_REGEX);\n var directive = match ? match[1] : undefined;\n return (0, utilities_1.formatDOM)((0, domparser_1.default)(html), null, directive);\n}\n//# sourceMappingURL=html-to-dom.js.map","// An attribute in which the DOM/SVG standard name is the same as the React prop name (e.g., 'accept').\nvar SAME = 0;\nexports.SAME = SAME;\n\n// An attribute in which the React prop name is the camelcased version of the DOM/SVG standard name (e.g., 'acceptCharset').\nvar CAMELCASE = 1;\nexports.CAMELCASE = CAMELCASE;\n\nexports.possibleStandardNames = {\n accept: 0,\n acceptCharset: 1,\n 'accept-charset': 'acceptCharset',\n accessKey: 1,\n action: 0,\n allowFullScreen: 1,\n alt: 0,\n as: 0,\n async: 0,\n autoCapitalize: 1,\n autoComplete: 1,\n autoCorrect: 1,\n autoFocus: 1,\n autoPlay: 1,\n autoSave: 1,\n capture: 0,\n cellPadding: 1,\n cellSpacing: 1,\n challenge: 0,\n charSet: 1,\n checked: 0,\n children: 0,\n cite: 0,\n class: 'className',\n classID: 1,\n className: 1,\n cols: 0,\n colSpan: 1,\n content: 0,\n contentEditable: 1,\n contextMenu: 1,\n controls: 0,\n controlsList: 1,\n coords: 0,\n crossOrigin: 1,\n dangerouslySetInnerHTML: 1,\n data: 0,\n dateTime: 1,\n default: 0,\n defaultChecked: 1,\n defaultValue: 1,\n defer: 0,\n dir: 0,\n disabled: 0,\n disablePictureInPicture: 1,\n disableRemotePlayback: 1,\n download: 0,\n draggable: 0,\n encType: 1,\n enterKeyHint: 1,\n for: 'htmlFor',\n form: 0,\n formMethod: 1,\n formAction: 1,\n formEncType: 1,\n formNoValidate: 1,\n formTarget: 1,\n frameBorder: 1,\n headers: 0,\n height: 0,\n hidden: 0,\n high: 0,\n href: 0,\n hrefLang: 1,\n htmlFor: 1,\n httpEquiv: 1,\n 'http-equiv': 'httpEquiv',\n icon: 0,\n id: 0,\n innerHTML: 1,\n inputMode: 1,\n integrity: 0,\n is: 0,\n itemID: 1,\n itemProp: 1,\n itemRef: 1,\n itemScope: 1,\n itemType: 1,\n keyParams: 1,\n keyType: 1,\n kind: 0,\n label: 0,\n lang: 0,\n list: 0,\n loop: 0,\n low: 0,\n manifest: 0,\n marginWidth: 1,\n marginHeight: 1,\n max: 0,\n maxLength: 1,\n media: 0,\n mediaGroup: 1,\n method: 0,\n min: 0,\n minLength: 1,\n multiple: 0,\n muted: 0,\n name: 0,\n noModule: 1,\n nonce: 0,\n noValidate: 1,\n open: 0,\n optimum: 0,\n pattern: 0,\n placeholder: 0,\n playsInline: 1,\n poster: 0,\n preload: 0,\n profile: 0,\n radioGroup: 1,\n readOnly: 1,\n referrerPolicy: 1,\n rel: 0,\n required: 0,\n reversed: 0,\n role: 0,\n rows: 0,\n rowSpan: 1,\n sandbox: 0,\n scope: 0,\n scoped: 0,\n scrolling: 0,\n seamless: 0,\n selected: 0,\n shape: 0,\n size: 0,\n sizes: 0,\n span: 0,\n spellCheck: 1,\n src: 0,\n srcDoc: 1,\n srcLang: 1,\n srcSet: 1,\n start: 0,\n step: 0,\n style: 0,\n summary: 0,\n tabIndex: 1,\n target: 0,\n title: 0,\n type: 0,\n useMap: 1,\n value: 0,\n width: 0,\n wmode: 0,\n wrap: 0,\n about: 0,\n accentHeight: 1,\n 'accent-height': 'accentHeight',\n accumulate: 0,\n additive: 0,\n alignmentBaseline: 1,\n 'alignment-baseline': 'alignmentBaseline',\n allowReorder: 1,\n alphabetic: 0,\n amplitude: 0,\n arabicForm: 1,\n 'arabic-form': 'arabicForm',\n ascent: 0,\n attributeName: 1,\n attributeType: 1,\n autoReverse: 1,\n azimuth: 0,\n baseFrequency: 1,\n baselineShift: 1,\n 'baseline-shift': 'baselineShift',\n baseProfile: 1,\n bbox: 0,\n begin: 0,\n bias: 0,\n by: 0,\n calcMode: 1,\n capHeight: 1,\n 'cap-height': 'capHeight',\n clip: 0,\n clipPath: 1,\n 'clip-path': 'clipPath',\n clipPathUnits: 1,\n clipRule: 1,\n 'clip-rule': 'clipRule',\n color: 0,\n colorInterpolation: 1,\n 'color-interpolation': 'colorInterpolation',\n colorInterpolationFilters: 1,\n 'color-interpolation-filters': 'colorInterpolationFilters',\n colorProfile: 1,\n 'color-profile': 'colorProfile',\n colorRendering: 1,\n 'color-rendering': 'colorRendering',\n contentScriptType: 1,\n contentStyleType: 1,\n cursor: 0,\n cx: 0,\n cy: 0,\n d: 0,\n datatype: 0,\n decelerate: 0,\n descent: 0,\n diffuseConstant: 1,\n direction: 0,\n display: 0,\n divisor: 0,\n dominantBaseline: 1,\n 'dominant-baseline': 'dominantBaseline',\n dur: 0,\n dx: 0,\n dy: 0,\n edgeMode: 1,\n elevation: 0,\n enableBackground: 1,\n 'enable-background': 'enableBackground',\n end: 0,\n exponent: 0,\n externalResourcesRequired: 1,\n fill: 0,\n fillOpacity: 1,\n 'fill-opacity': 'fillOpacity',\n fillRule: 1,\n 'fill-rule': 'fillRule',\n filter: 0,\n filterRes: 1,\n filterUnits: 1,\n floodOpacity: 1,\n 'flood-opacity': 'floodOpacity',\n floodColor: 1,\n 'flood-color': 'floodColor',\n focusable: 0,\n fontFamily: 1,\n 'font-family': 'fontFamily',\n fontSize: 1,\n 'font-size': 'fontSize',\n fontSizeAdjust: 1,\n 'font-size-adjust': 'fontSizeAdjust',\n fontStretch: 1,\n 'font-stretch': 'fontStretch',\n fontStyle: 1,\n 'font-style': 'fontStyle',\n fontVariant: 1,\n 'font-variant': 'fontVariant',\n fontWeight: 1,\n 'font-weight': 'fontWeight',\n format: 0,\n from: 0,\n fx: 0,\n fy: 0,\n g1: 0,\n g2: 0,\n glyphName: 1,\n 'glyph-name': 'glyphName',\n glyphOrientationHorizontal: 1,\n 'glyph-orientation-horizontal': 'glyphOrientationHorizontal',\n glyphOrientationVertical: 1,\n 'glyph-orientation-vertical': 'glyphOrientationVertical',\n glyphRef: 1,\n gradientTransform: 1,\n gradientUnits: 1,\n hanging: 0,\n horizAdvX: 1,\n 'horiz-adv-x': 'horizAdvX',\n horizOriginX: 1,\n 'horiz-origin-x': 'horizOriginX',\n ideographic: 0,\n imageRendering: 1,\n 'image-rendering': 'imageRendering',\n in2: 0,\n in: 0,\n inlist: 0,\n intercept: 0,\n k1: 0,\n k2: 0,\n k3: 0,\n k4: 0,\n k: 0,\n kernelMatrix: 1,\n kernelUnitLength: 1,\n kerning: 0,\n keyPoints: 1,\n keySplines: 1,\n keyTimes: 1,\n lengthAdjust: 1,\n letterSpacing: 1,\n 'letter-spacing': 'letterSpacing',\n lightingColor: 1,\n 'lighting-color': 'lightingColor',\n limitingConeAngle: 1,\n local: 0,\n markerEnd: 1,\n 'marker-end': 'markerEnd',\n markerHeight: 1,\n markerMid: 1,\n 'marker-mid': 'markerMid',\n markerStart: 1,\n 'marker-start': 'markerStart',\n markerUnits: 1,\n markerWidth: 1,\n mask: 0,\n maskContentUnits: 1,\n maskUnits: 1,\n mathematical: 0,\n mode: 0,\n numOctaves: 1,\n offset: 0,\n opacity: 0,\n operator: 0,\n order: 0,\n orient: 0,\n orientation: 0,\n origin: 0,\n overflow: 0,\n overlinePosition: 1,\n 'overline-position': 'overlinePosition',\n overlineThickness: 1,\n 'overline-thickness': 'overlineThickness',\n paintOrder: 1,\n 'paint-order': 'paintOrder',\n panose1: 0,\n 'panose-1': 'panose1',\n pathLength: 1,\n patternContentUnits: 1,\n patternTransform: 1,\n patternUnits: 1,\n pointerEvents: 1,\n 'pointer-events': 'pointerEvents',\n points: 0,\n pointsAtX: 1,\n pointsAtY: 1,\n pointsAtZ: 1,\n prefix: 0,\n preserveAlpha: 1,\n preserveAspectRatio: 1,\n primitiveUnits: 1,\n property: 0,\n r: 0,\n radius: 0,\n refX: 1,\n refY: 1,\n renderingIntent: 1,\n 'rendering-intent': 'renderingIntent',\n repeatCount: 1,\n repeatDur: 1,\n requiredExtensions: 1,\n requiredFeatures: 1,\n resource: 0,\n restart: 0,\n result: 0,\n results: 0,\n rotate: 0,\n rx: 0,\n ry: 0,\n scale: 0,\n security: 0,\n seed: 0,\n shapeRendering: 1,\n 'shape-rendering': 'shapeRendering',\n slope: 0,\n spacing: 0,\n specularConstant: 1,\n specularExponent: 1,\n speed: 0,\n spreadMethod: 1,\n startOffset: 1,\n stdDeviation: 1,\n stemh: 0,\n stemv: 0,\n stitchTiles: 1,\n stopColor: 1,\n 'stop-color': 'stopColor',\n stopOpacity: 1,\n 'stop-opacity': 'stopOpacity',\n strikethroughPosition: 1,\n 'strikethrough-position': 'strikethroughPosition',\n strikethroughThickness: 1,\n 'strikethrough-thickness': 'strikethroughThickness',\n string: 0,\n stroke: 0,\n strokeDasharray: 1,\n 'stroke-dasharray': 'strokeDasharray',\n strokeDashoffset: 1,\n 'stroke-dashoffset': 'strokeDashoffset',\n strokeLinecap: 1,\n 'stroke-linecap': 'strokeLinecap',\n strokeLinejoin: 1,\n 'stroke-linejoin': 'strokeLinejoin',\n strokeMiterlimit: 1,\n 'stroke-miterlimit': 'strokeMiterlimit',\n strokeWidth: 1,\n 'stroke-width': 'strokeWidth',\n strokeOpacity: 1,\n 'stroke-opacity': 'strokeOpacity',\n suppressContentEditableWarning: 1,\n suppressHydrationWarning: 1,\n surfaceScale: 1,\n systemLanguage: 1,\n tableValues: 1,\n targetX: 1,\n targetY: 1,\n textAnchor: 1,\n 'text-anchor': 'textAnchor',\n textDecoration: 1,\n 'text-decoration': 'textDecoration',\n textLength: 1,\n textRendering: 1,\n 'text-rendering': 'textRendering',\n to: 0,\n transform: 0,\n typeof: 0,\n u1: 0,\n u2: 0,\n underlinePosition: 1,\n 'underline-position': 'underlinePosition',\n underlineThickness: 1,\n 'underline-thickness': 'underlineThickness',\n unicode: 0,\n unicodeBidi: 1,\n 'unicode-bidi': 'unicodeBidi',\n unicodeRange: 1,\n 'unicode-range': 'unicodeRange',\n unitsPerEm: 1,\n 'units-per-em': 'unitsPerEm',\n unselectable: 0,\n vAlphabetic: 1,\n 'v-alphabetic': 'vAlphabetic',\n values: 0,\n vectorEffect: 1,\n 'vector-effect': 'vectorEffect',\n version: 0,\n vertAdvY: 1,\n 'vert-adv-y': 'vertAdvY',\n vertOriginX: 1,\n 'vert-origin-x': 'vertOriginX',\n vertOriginY: 1,\n 'vert-origin-y': 'vertOriginY',\n vHanging: 1,\n 'v-hanging': 'vHanging',\n vIdeographic: 1,\n 'v-ideographic': 'vIdeographic',\n viewBox: 1,\n viewTarget: 1,\n visibility: 0,\n vMathematical: 1,\n 'v-mathematical': 'vMathematical',\n vocab: 0,\n widths: 0,\n wordSpacing: 1,\n 'word-spacing': 'wordSpacing',\n writingMode: 1,\n 'writing-mode': 'writingMode',\n x1: 0,\n x2: 0,\n x: 0,\n xChannelSelector: 1,\n xHeight: 1,\n 'x-height': 'xHeight',\n xlinkActuate: 1,\n 'xlink:actuate': 'xlinkActuate',\n xlinkArcrole: 1,\n 'xlink:arcrole': 'xlinkArcrole',\n xlinkHref: 1,\n 'xlink:href': 'xlinkHref',\n xlinkRole: 1,\n 'xlink:role': 'xlinkRole',\n xlinkShow: 1,\n 'xlink:show': 'xlinkShow',\n xlinkTitle: 1,\n 'xlink:title': 'xlinkTitle',\n xlinkType: 1,\n 'xlink:type': 'xlinkType',\n xmlBase: 1,\n 'xml:base': 'xmlBase',\n xmlLang: 1,\n 'xml:lang': 'xmlLang',\n xmlns: 0,\n 'xml:space': 'xmlSpace',\n xmlnsXlink: 1,\n 'xmlns:xlink': 'xmlnsXlink',\n xmlSpace: 1,\n y1: 0,\n y2: 0,\n y: 0,\n yChannelSelector: 1,\n z: 0,\n zoomAndPan: 1\n};\n","'use strict';\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n\n\n\n// A reserved attribute.\n// It is handled by React separately and shouldn't be written to the DOM.\nconst RESERVED = 0;\n\n// A simple string attribute.\n// Attributes that aren't in the filter are presumed to have this type.\nconst STRING = 1;\n\n// A string attribute that accepts booleans in React. In HTML, these are called\n// \"enumerated\" attributes with \"true\" and \"false\" as possible values.\n// When true, it should be set to a \"true\" string.\n// When false, it should be set to a \"false\" string.\nconst BOOLEANISH_STRING = 2;\n\n// A real boolean attribute.\n// When true, it should be present (set either to an empty string or its name).\n// When false, it should be omitted.\nconst BOOLEAN = 3;\n\n// An attribute that can be used as a flag as well as with a value.\n// When true, it should be present (set either to an empty string or its name).\n// When false, it should be omitted.\n// For any other value, should be present with that value.\nconst OVERLOADED_BOOLEAN = 4;\n\n// An attribute that must be numeric or parse as a numeric.\n// When falsy, it should be removed.\nconst NUMERIC = 5;\n\n// An attribute that must be positive numeric or parse as a positive numeric.\n// When falsy, it should be removed.\nconst POSITIVE_NUMERIC = 6;\n\nfunction getPropertyInfo(name) {\n return properties.hasOwnProperty(name) ? properties[name] : null;\n}\n\nfunction PropertyInfoRecord(\n name,\n type,\n mustUseProperty,\n attributeName,\n attributeNamespace,\n sanitizeURL,\n removeEmptyString,\n) {\n this.acceptsBooleans =\n type === BOOLEANISH_STRING ||\n type === BOOLEAN ||\n type === OVERLOADED_BOOLEAN;\n this.attributeName = attributeName;\n this.attributeNamespace = attributeNamespace;\n this.mustUseProperty = mustUseProperty;\n this.propertyName = name;\n this.type = type;\n this.sanitizeURL = sanitizeURL;\n this.removeEmptyString = removeEmptyString;\n}\n\n// When adding attributes to this list, be sure to also add them to\n// the `possibleStandardNames` module to ensure casing and incorrect\n// name warnings.\nconst properties = {};\n\n// These props are reserved by React. They shouldn't be written to the DOM.\nconst reservedProps = [\n 'children',\n 'dangerouslySetInnerHTML',\n // TODO: This prevents the assignment of defaultValue to regular\n // elements (not just inputs). Now that ReactDOMInput assigns to the\n // defaultValue property -- do we need this?\n 'defaultValue',\n 'defaultChecked',\n 'innerHTML',\n 'suppressContentEditableWarning',\n 'suppressHydrationWarning',\n 'style',\n];\n\nreservedProps.forEach(name => {\n properties[name] = new PropertyInfoRecord(\n name,\n RESERVED,\n false, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// A few React string attributes have a different name.\n// This is a mapping from React prop names to the attribute names.\n[\n ['acceptCharset', 'accept-charset'],\n ['className', 'class'],\n ['htmlFor', 'for'],\n ['httpEquiv', 'http-equiv'],\n].forEach(([name, attributeName]) => {\n properties[name] = new PropertyInfoRecord(\n name,\n STRING,\n false, // mustUseProperty\n attributeName, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// These are \"enumerated\" HTML attributes that accept \"true\" and \"false\".\n// In React, we let users pass `true` and `false` even though technically\n// these aren't boolean attributes (they are coerced to strings).\n['contentEditable', 'draggable', 'spellCheck', 'value'].forEach(name => {\n properties[name] = new PropertyInfoRecord(\n name,\n BOOLEANISH_STRING,\n false, // mustUseProperty\n name.toLowerCase(), // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// These are \"enumerated\" SVG attributes that accept \"true\" and \"false\".\n// In React, we let users pass `true` and `false` even though technically\n// these aren't boolean attributes (they are coerced to strings).\n// Since these are SVG attributes, their attribute names are case-sensitive.\n[\n 'autoReverse',\n 'externalResourcesRequired',\n 'focusable',\n 'preserveAlpha',\n].forEach(name => {\n properties[name] = new PropertyInfoRecord(\n name,\n BOOLEANISH_STRING,\n false, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// These are HTML boolean attributes.\n[\n 'allowFullScreen',\n 'async',\n // Note: there is a special case that prevents it from being written to the DOM\n // on the client side because the browsers are inconsistent. Instead we call focus().\n 'autoFocus',\n 'autoPlay',\n 'controls',\n 'default',\n 'defer',\n 'disabled',\n 'disablePictureInPicture',\n 'disableRemotePlayback',\n 'formNoValidate',\n 'hidden',\n 'loop',\n 'noModule',\n 'noValidate',\n 'open',\n 'playsInline',\n 'readOnly',\n 'required',\n 'reversed',\n 'scoped',\n 'seamless',\n // Microdata\n 'itemScope',\n].forEach(name => {\n properties[name] = new PropertyInfoRecord(\n name,\n BOOLEAN,\n false, // mustUseProperty\n name.toLowerCase(), // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// These are the few React props that we set as DOM properties\n// rather than attributes. These are all booleans.\n[\n 'checked',\n // Note: `option.selected` is not updated if `select.multiple` is\n // disabled with `removeAttribute`. We have special logic for handling this.\n 'multiple',\n 'muted',\n 'selected',\n\n // NOTE: if you add a camelCased prop to this list,\n // you'll need to set attributeName to name.toLowerCase()\n // instead in the assignment below.\n].forEach(name => {\n properties[name] = new PropertyInfoRecord(\n name,\n BOOLEAN,\n true, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// These are HTML attributes that are \"overloaded booleans\": they behave like\n// booleans, but can also accept a string value.\n[\n 'capture',\n 'download',\n\n // NOTE: if you add a camelCased prop to this list,\n // you'll need to set attributeName to name.toLowerCase()\n // instead in the assignment below.\n].forEach(name => {\n properties[name] = new PropertyInfoRecord(\n name,\n OVERLOADED_BOOLEAN,\n false, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// These are HTML attributes that must be positive numbers.\n[\n 'cols',\n 'rows',\n 'size',\n 'span',\n\n // NOTE: if you add a camelCased prop to this list,\n // you'll need to set attributeName to name.toLowerCase()\n // instead in the assignment below.\n].forEach(name => {\n properties[name] = new PropertyInfoRecord(\n name,\n POSITIVE_NUMERIC,\n false, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// These are HTML attributes that must be numbers.\n['rowSpan', 'start'].forEach(name => {\n properties[name] = new PropertyInfoRecord(\n name,\n NUMERIC,\n false, // mustUseProperty\n name.toLowerCase(), // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\nconst CAMELIZE = /[\\-\\:]([a-z])/g;\nconst capitalize = token => token[1].toUpperCase();\n\n// This is a list of all SVG attributes that need special casing, namespacing,\n// or boolean value assignment. Regular attributes that just accept strings\n// and have the same names are omitted, just like in the HTML attribute filter.\n// Some of these attributes can be hard to find. This list was created by\n// scraping the MDN documentation.\n[\n 'accent-height',\n 'alignment-baseline',\n 'arabic-form',\n 'baseline-shift',\n 'cap-height',\n 'clip-path',\n 'clip-rule',\n 'color-interpolation',\n 'color-interpolation-filters',\n 'color-profile',\n 'color-rendering',\n 'dominant-baseline',\n 'enable-background',\n 'fill-opacity',\n 'fill-rule',\n 'flood-color',\n 'flood-opacity',\n 'font-family',\n 'font-size',\n 'font-size-adjust',\n 'font-stretch',\n 'font-style',\n 'font-variant',\n 'font-weight',\n 'glyph-name',\n 'glyph-orientation-horizontal',\n 'glyph-orientation-vertical',\n 'horiz-adv-x',\n 'horiz-origin-x',\n 'image-rendering',\n 'letter-spacing',\n 'lighting-color',\n 'marker-end',\n 'marker-mid',\n 'marker-start',\n 'overline-position',\n 'overline-thickness',\n 'paint-order',\n 'panose-1',\n 'pointer-events',\n 'rendering-intent',\n 'shape-rendering',\n 'stop-color',\n 'stop-opacity',\n 'strikethrough-position',\n 'strikethrough-thickness',\n 'stroke-dasharray',\n 'stroke-dashoffset',\n 'stroke-linecap',\n 'stroke-linejoin',\n 'stroke-miterlimit',\n 'stroke-opacity',\n 'stroke-width',\n 'text-anchor',\n 'text-decoration',\n 'text-rendering',\n 'underline-position',\n 'underline-thickness',\n 'unicode-bidi',\n 'unicode-range',\n 'units-per-em',\n 'v-alphabetic',\n 'v-hanging',\n 'v-ideographic',\n 'v-mathematical',\n 'vector-effect',\n 'vert-adv-y',\n 'vert-origin-x',\n 'vert-origin-y',\n 'word-spacing',\n 'writing-mode',\n 'xmlns:xlink',\n 'x-height',\n\n // NOTE: if you add a camelCased prop to this list,\n // you'll need to set attributeName to name.toLowerCase()\n // instead in the assignment below.\n].forEach(attributeName => {\n const name = attributeName.replace(CAMELIZE, capitalize);\n properties[name] = new PropertyInfoRecord(\n name,\n STRING,\n false, // mustUseProperty\n attributeName,\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// String SVG attributes with the xlink namespace.\n[\n 'xlink:actuate',\n 'xlink:arcrole',\n 'xlink:role',\n 'xlink:show',\n 'xlink:title',\n 'xlink:type',\n\n // NOTE: if you add a camelCased prop to this list,\n // you'll need to set attributeName to name.toLowerCase()\n // instead in the assignment below.\n].forEach(attributeName => {\n const name = attributeName.replace(CAMELIZE, capitalize);\n properties[name] = new PropertyInfoRecord(\n name,\n STRING,\n false, // mustUseProperty\n attributeName,\n 'http://www.w3.org/1999/xlink',\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// String SVG attributes with the xml namespace.\n[\n 'xml:base',\n 'xml:lang',\n 'xml:space',\n\n // NOTE: if you add a camelCased prop to this list,\n // you'll need to set attributeName to name.toLowerCase()\n // instead in the assignment below.\n].forEach(attributeName => {\n const name = attributeName.replace(CAMELIZE, capitalize);\n properties[name] = new PropertyInfoRecord(\n name,\n STRING,\n false, // mustUseProperty\n attributeName,\n 'http://www.w3.org/XML/1998/namespace',\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// These attribute exists both in HTML and SVG.\n// The attribute name is case-sensitive in SVG so we can't just use\n// the React name like we do for attributes that exist only in HTML.\n['tabIndex', 'crossOrigin'].forEach(attributeName => {\n properties[attributeName] = new PropertyInfoRecord(\n attributeName,\n STRING,\n false, // mustUseProperty\n attributeName.toLowerCase(), // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// These attributes accept URLs. These must not allow javascript: URLS.\n// These will also need to accept Trusted Types object in the future.\nconst xlinkHref = 'xlinkHref';\nproperties[xlinkHref] = new PropertyInfoRecord(\n 'xlinkHref',\n STRING,\n false, // mustUseProperty\n 'xlink:href',\n 'http://www.w3.org/1999/xlink',\n true, // sanitizeURL\n false, // removeEmptyString\n);\n\n['src', 'href', 'action', 'formAction'].forEach(attributeName => {\n properties[attributeName] = new PropertyInfoRecord(\n attributeName,\n STRING,\n false, // mustUseProperty\n attributeName.toLowerCase(), // attributeName\n null, // attributeNamespace\n true, // sanitizeURL\n true, // removeEmptyString\n );\n});\n\n// \nconst {\n CAMELCASE,\n SAME,\n possibleStandardNames: possibleStandardNamesOptimized\n} = require('../lib/possibleStandardNamesOptimized');\n\nconst ATTRIBUTE_NAME_START_CHAR =\n ':A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD';\n\nconst ATTRIBUTE_NAME_CHAR =\n ATTRIBUTE_NAME_START_CHAR + '\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040';\n\n/**\n * Checks whether a property name is a custom attribute.\n *\n * @see https://github.com/facebook/react/blob/15-stable/src/renderers/dom/shared/HTMLDOMPropertyConfig.js#L23-L25\n *\n * @type {(attribute: string) => boolean}\n */\nconst isCustomAttribute =\n RegExp.prototype.test.bind(\n // eslint-disable-next-line no-misleading-character-class\n new RegExp('^(data|aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$')\n );\n\n/**\n * @type {Record<string, string>}\n */\nconst possibleStandardNames = Object.keys(\n possibleStandardNamesOptimized\n).reduce((accumulator, standardName) => {\n const propName = possibleStandardNamesOptimized[standardName];\n if (propName === SAME) {\n accumulator[standardName] = standardName;\n } else if (propName === CAMELCASE) {\n accumulator[standardName.toLowerCase()] = standardName;\n } else {\n accumulator[standardName] = propName;\n }\n return accumulator;\n}, {});\n\nexports.BOOLEAN = BOOLEAN;\nexports.BOOLEANISH_STRING = BOOLEANISH_STRING;\nexports.NUMERIC = NUMERIC;\nexports.OVERLOADED_BOOLEAN = OVERLOADED_BOOLEAN;\nexports.POSITIVE_NUMERIC = POSITIVE_NUMERIC;\nexports.RESERVED = RESERVED;\nexports.STRING = STRING;\nexports.getPropertyInfo = getPropertyInfo;\nexports.isCustomAttribute = isCustomAttribute;\nexports.possibleStandardNames = possibleStandardNames;\n","'use strict';\n\n// http://www.w3.org/TR/CSS21/grammar.html\n// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027\nvar COMMENT_REGEX = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\n\nvar NEWLINE_REGEX = /\\n/g;\nvar WHITESPACE_REGEX = /^\\s*/;\n\n// declaration\nvar PROPERTY_REGEX = /^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/;\nvar COLON_REGEX = /^:\\s*/;\nvar VALUE_REGEX = /^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/;\nvar SEMICOLON_REGEX = /^[;\\s]*/;\n\n// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill\nvar TRIM_REGEX = /^\\s+|\\s+$/g;\n\n// strings\nvar NEWLINE = '\\n';\nvar FORWARD_SLASH = '/';\nvar ASTERISK = '*';\nvar EMPTY_STRING = '';\n\n// types\nvar TYPE_COMMENT = 'comment';\nvar TYPE_DECLARATION = 'declaration';\n\n/**\n * @param {String} style\n * @param {Object} [options]\n * @return {Object[]}\n * @throws {TypeError}\n * @throws {Error}\n */\nfunction index (style, options) {\n if (typeof style !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n\n if (!style) return [];\n\n options = options || {};\n\n /**\n * Positional.\n */\n var lineno = 1;\n var column = 1;\n\n /**\n * Update lineno and column based on `str`.\n *\n * @param {String} str\n */\n function updatePosition(str) {\n var lines = str.match(NEWLINE_REGEX);\n if (lines) lineno += lines.length;\n var i = str.lastIndexOf(NEWLINE);\n column = ~i ? str.length - i : column + str.length;\n }\n\n /**\n * Mark position and patch `node.position`.\n *\n * @return {Function}\n */\n function position() {\n var start = { line: lineno, column: column };\n return function (node) {\n node.position = new Position(start);\n whitespace();\n return node;\n };\n }\n\n /**\n * Store position information for a node.\n *\n * @constructor\n * @property {Object} start\n * @property {Object} end\n * @property {undefined|String} source\n */\n function Position(start) {\n this.start = start;\n this.end = { line: lineno, column: column };\n this.source = options.source;\n }\n\n /**\n * Non-enumerable source string.\n */\n Position.prototype.content = style;\n\n /**\n * Error `msg`.\n *\n * @param {String} msg\n * @throws {Error}\n */\n function error(msg) {\n var err = new Error(\n options.source + ':' + lineno + ':' + column + ': ' + msg\n );\n err.reason = msg;\n err.filename = options.source;\n err.line = lineno;\n err.column = column;\n err.source = style;\n\n if (options.silent) ; else {\n throw err;\n }\n }\n\n /**\n * Match `re` and return captures.\n *\n * @param {RegExp} re\n * @return {undefined|Array}\n */\n function match(re) {\n var m = re.exec(style);\n if (!m) return;\n var str = m[0];\n updatePosition(str);\n style = style.slice(str.length);\n return m;\n }\n\n /**\n * Parse whitespace.\n */\n function whitespace() {\n match(WHITESPACE_REGEX);\n }\n\n /**\n * Parse comments.\n *\n * @param {Object[]} [rules]\n * @return {Object[]}\n */\n function comments(rules) {\n var c;\n rules = rules || [];\n while ((c = comment())) {\n if (c !== false) {\n rules.push(c);\n }\n }\n return rules;\n }\n\n /**\n * Parse comment.\n *\n * @return {Object}\n * @throws {Error}\n */\n function comment() {\n var pos = position();\n if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;\n\n var i = 2;\n while (\n EMPTY_STRING != style.charAt(i) &&\n (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))\n ) {\n ++i;\n }\n i += 2;\n\n if (EMPTY_STRING === style.charAt(i - 1)) {\n return error('End of comment missing');\n }\n\n var str = style.slice(2, i - 2);\n column += 2;\n updatePosition(str);\n style = style.slice(i);\n column += 2;\n\n return pos({\n type: TYPE_COMMENT,\n comment: str\n });\n }\n\n /**\n * Parse declaration.\n *\n * @return {Object}\n * @throws {Error}\n */\n function declaration() {\n var pos = position();\n\n // prop\n var prop = match(PROPERTY_REGEX);\n if (!prop) return;\n comment();\n\n // :\n if (!match(COLON_REGEX)) return error(\"property missing ':'\");\n\n // val\n var val = match(VALUE_REGEX);\n\n var ret = pos({\n type: TYPE_DECLARATION,\n property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),\n value: val\n ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING))\n : EMPTY_STRING\n });\n\n // ;\n match(SEMICOLON_REGEX);\n\n return ret;\n }\n\n /**\n * Parse declarations.\n *\n * @return {Object[]}\n */\n function declarations() {\n var decls = [];\n\n comments(decls);\n\n // declarations\n var decl;\n while ((decl = declaration())) {\n if (decl !== false) {\n decls.push(decl);\n comments(decls);\n }\n }\n\n return decls;\n }\n\n whitespace();\n return declarations();\n}\n\n/**\n * Trim `str`.\n *\n * @param {String} str\n * @return {String}\n */\nfunction trim(str) {\n return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;\n}\n\nmodule.exports = index;\n//# sourceMappingURL=index.js.map\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = StyleToObject;\nconst inline_style_parser_1 = __importDefault(require(\"inline-style-parser\"));\n/**\n * Parses inline style to object.\n *\n * @param style - Inline style.\n * @param iterator - Iterator.\n * @returns - Style object or null.\n *\n * @example Parsing inline style to object:\n *\n * ```js\n * import parse from 'style-to-object';\n * parse('line-height: 42;'); // { 'line-height': '42' }\n * ```\n */\nfunction StyleToObject(style, iterator) {\n let styleObject = null;\n if (!style || typeof style !== 'string') {\n return styleObject;\n }\n const declarations = (0, inline_style_parser_1.default)(style);\n const hasIterator = typeof iterator === 'function';\n declarations.forEach((declaration) => {\n if (declaration.type !== 'declaration') {\n return;\n }\n const { property, value } = declaration;\n if (hasIterator) {\n iterator(property, value, declaration);\n }\n else if (value) {\n styleObject = styleObject || {};\n styleObject[property] = value;\n }\n });\n return styleObject;\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.camelCase = void 0;\nvar CUSTOM_PROPERTY_REGEX = /^--[a-zA-Z0-9_-]+$/;\nvar HYPHEN_REGEX = /-([a-z])/g;\nvar NO_HYPHEN_REGEX = /^[^-]+$/;\nvar VENDOR_PREFIX_REGEX = /^-(webkit|moz|ms|o|khtml)-/;\nvar MS_VENDOR_PREFIX_REGEX = /^-(ms)-/;\n/**\n * Checks whether to skip camelCase.\n */\nvar skipCamelCase = function (property) {\n return !property ||\n NO_HYPHEN_REGEX.test(property) ||\n CUSTOM_PROPERTY_REGEX.test(property);\n};\n/**\n * Replacer that capitalizes first character.\n */\nvar capitalize = function (match, character) {\n return character.toUpperCase();\n};\n/**\n * Replacer that removes beginning hyphen of vendor prefix property.\n */\nvar trimHyphen = function (match, prefix) { return \"\".concat(prefix, \"-\"); };\n/**\n * CamelCases a CSS property.\n */\nvar camelCase = function (property, options) {\n if (options === void 0) { options = {}; }\n if (skipCamelCase(property)) {\n return property;\n }\n property = property.toLowerCase();\n if (options.reactCompat) {\n // `-ms` vendor prefix should not be capitalized\n property = property.replace(MS_VENDOR_PREFIX_REGEX, trimHyphen);\n }\n else {\n // for non-React, remove first hyphen so vendor prefix is not capitalized\n property = property.replace(VENDOR_PREFIX_REGEX, trimHyphen);\n }\n return property.replace(HYPHEN_REGEX, capitalize);\n};\nexports.camelCase = camelCase;\n//# sourceMappingURL=utilities.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nvar style_to_object_1 = __importDefault(require(\"style-to-object\"));\nvar utilities_1 = require(\"./utilities\");\n/**\n * Parses CSS inline style to JavaScript object (camelCased).\n */\nfunction StyleToJS(style, options) {\n var output = {};\n if (!style || typeof style !== 'string') {\n return output;\n }\n (0, style_to_object_1.default)(style, function (property, value) {\n // skip CSS comment\n if (property && value) {\n output[(0, utilities_1.camelCase)(property, options)] = value;\n }\n });\n return output;\n}\nStyleToJS.default = StyleToJS;\nmodule.exports = StyleToJS;\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.returnFirstArg = exports.canTextBeChildOfNode = exports.ELEMENTS_WITH_NO_TEXT_CHILDREN = exports.PRESERVE_CUSTOM_ATTRIBUTES = void 0;\nexports.isCustomComponent = isCustomComponent;\nexports.setStyleProp = setStyleProp;\nvar react_1 = require(\"react\");\nvar style_to_js_1 = __importDefault(require(\"style-to-js\"));\nvar RESERVED_SVG_MATHML_ELEMENTS = new Set([\n 'annotation-xml',\n 'color-profile',\n 'font-face',\n 'font-face-src',\n 'font-face-uri',\n 'font-face-format',\n 'font-face-name',\n 'missing-glyph',\n]);\n/**\n * Check if a tag is a custom component.\n *\n * @see {@link https://github.com/facebook/react/blob/v16.6.3/packages/react-dom/src/shared/isCustomComponent.js}\n *\n * @param tagName - Tag name.\n * @param props - Props passed to the element.\n * @returns - Whether the tag is custom component.\n */\nfunction isCustomComponent(tagName, props) {\n if (!tagName.includes('-')) {\n return Boolean(props && typeof props.is === 'string');\n }\n // These are reserved SVG and MathML elements.\n // We don't mind this whitelist too much because we expect it to never grow.\n // The alternative is to track the namespace in a few places which is convoluted.\n // https://w3c.github.io/webcomponents/spec/custom/#custom-elements-core-concepts\n if (RESERVED_SVG_MATHML_ELEMENTS.has(tagName)) {\n return false;\n }\n return true;\n}\nvar styleOptions = {\n reactCompat: true,\n};\n/**\n * Sets style prop.\n *\n * @param style - Inline style.\n * @param props - Props object.\n */\nfunction setStyleProp(style, props) {\n if (typeof style !== 'string') {\n return;\n }\n if (!style.trim()) {\n props.style = {};\n return;\n }\n try {\n props.style = (0, style_to_js_1.default)(style, styleOptions);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n }\n catch (error) {\n props.style = {};\n }\n}\n/**\n * @see https://reactjs.org/blog/2017/09/08/dom-attributes-in-react-16.html\n */\nexports.PRESERVE_CUSTOM_ATTRIBUTES = Number(react_1.version.split('.')[0]) >= 16;\n/**\n * @see https://github.com/facebook/react/blob/cae635054e17a6f107a39d328649137b83f25972/packages/react-dom/src/client/validateDOMNesting.js#L213\n */\nexports.ELEMENTS_WITH_NO_TEXT_CHILDREN = new Set([\n 'tr',\n 'tbody',\n 'thead',\n 'tfoot',\n 'colgroup',\n 'table',\n 'head',\n 'html',\n 'frameset',\n]);\n/**\n * Checks if the given node can contain text nodes\n *\n * @param node - Element node.\n * @returns - Whether the node can contain text nodes.\n */\nvar canTextBeChildOfNode = function (node) {\n return !exports.ELEMENTS_WITH_NO_TEXT_CHILDREN.has(node.name);\n};\nexports.canTextBeChildOfNode = canTextBeChildOfNode;\n/**\n * Returns the first argument as is.\n *\n * @param arg - The argument to be returned.\n * @returns - The input argument `arg`.\n */\nvar returnFirstArg = function (arg) { return arg; }; // eslint-disable-line @typescript-eslint/no-explicit-any\nexports.returnFirstArg = returnFirstArg;\n//# sourceMappingURL=utilities.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = attributesToProps;\nvar react_property_1 = require(\"react-property\");\nvar utilities_1 = require(\"./utilities\");\n// https://react.dev/learn/sharing-state-between-components#controlled-and-uncontrolled-components\n// https://developer.mozilla.org/docs/Web/HTML/Attributes\nvar UNCONTROLLED_COMPONENT_ATTRIBUTES = ['checked', 'value'];\nvar UNCONTROLLED_COMPONENT_NAMES = ['input', 'select', 'textarea'];\nvar valueOnlyInputs = {\n reset: true,\n submit: true,\n};\n/**\n * Converts HTML/SVG DOM attributes to React props.\n *\n * @param attributes - HTML/SVG DOM attributes.\n * @param nodeName - DOM node name.\n * @returns - React props.\n */\nfunction attributesToProps(attributes, nodeName) {\n if (attributes === void 0) { attributes = {}; }\n var props = {};\n var isInputValueOnly = Boolean(attributes.type && valueOnlyInputs[attributes.type]);\n for (var attributeName in attributes) {\n var attributeValue = attributes[attributeName];\n // ARIA (aria-*) or custom data (data-*) attribute\n if ((0, react_property_1.isCustomAttribute)(attributeName)) {\n props[attributeName] = attributeValue;\n continue;\n }\n // convert HTML/SVG attribute to React prop\n var attributeNameLowerCased = attributeName.toLowerCase();\n var propName = getPropName(attributeNameLowerCased);\n if (propName) {\n var propertyInfo = (0, react_property_1.getPropertyInfo)(propName);\n // convert attribute to uncontrolled component prop (e.g., `value` to `defaultValue`)\n if (UNCONTROLLED_COMPONENT_ATTRIBUTES.includes(propName) &&\n UNCONTROLLED_COMPONENT_NAMES.includes(nodeName) &&\n !isInputValueOnly) {\n propName = getPropName('default' + attributeNameLowerCased);\n }\n props[propName] = attributeValue;\n switch (propertyInfo && propertyInfo.type) {\n case react_property_1.BOOLEAN:\n props[propName] = true;\n break;\n case react_property_1.OVERLOADED_BOOLEAN:\n if (attributeValue === '') {\n props[propName] = true;\n }\n break;\n }\n continue;\n }\n // preserve custom attribute if React >=16\n if (utilities_1.PRESERVE_CUSTOM_ATTRIBUTES) {\n props[attributeName] = attributeValue;\n }\n }\n // transform inline style to object\n (0, utilities_1.setStyleProp)(attributes.style, props);\n return props;\n}\n/**\n * Gets prop name from lowercased attribute name.\n *\n * @param attributeName - Lowercased attribute name.\n * @returns - Prop name.\n */\nfunction getPropName(attributeName) {\n return react_property_1.possibleStandardNames[attributeName];\n}\n//# sourceMappingURL=attributes-to-props.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = domToReact;\nvar react_1 = require(\"react\");\nvar attributes_to_props_1 = __importDefault(require(\"./attributes-to-props\"));\nvar utilities_1 = require(\"./utilities\");\nvar React = {\n cloneElement: react_1.cloneElement,\n createElement: react_1.createElement,\n isValidElement: react_1.isValidElement,\n};\n/**\n * Converts DOM nodes to JSX element(s).\n *\n * @param nodes - DOM nodes.\n * @param options - Options.\n * @returns - String or JSX element(s).\n */\nfunction domToReact(nodes, options) {\n if (options === void 0) { options = {}; }\n var reactElements = [];\n var hasReplace = typeof options.replace === 'function';\n var transform = options.transform || utilities_1.returnFirstArg;\n var _a = options.library || React, cloneElement = _a.cloneElement, createElement = _a.createElement, isValidElement = _a.isValidElement;\n var nodesLength = nodes.length;\n for (var index = 0; index < nodesLength; index++) {\n var node = nodes[index];\n // replace with custom React element (if present)\n if (hasReplace) {\n var replaceElement = options.replace(node, index);\n if (isValidElement(replaceElement)) {\n // set \"key\" prop for sibling elements\n // https://react.dev/learn/rendering-lists#rules-of-keys\n if (nodesLength > 1) {\n replaceElement = cloneElement(replaceElement, {\n key: replaceElement.key || index,\n });\n }\n reactElements.push(transform(replaceElement, node, index));\n continue;\n }\n }\n if (node.type === 'text') {\n var isWhitespace = !node.data.trim().length;\n // We have a whitespace node that can't be nested in its parent\n // so skip it\n if (isWhitespace &&\n node.parent &&\n !(0, utilities_1.canTextBeChildOfNode)(node.parent)) {\n continue;\n }\n // Trim is enabled and we have a whitespace node\n // so skip it\n if (options.trim && isWhitespace) {\n continue;\n }\n // We have a text node that's not whitespace and it can be nested\n // in its parent so add it to the results\n reactElements.push(transform(node.data, node, index));\n continue;\n }\n var element = node;\n var props = {};\n if (skipAttributesToProps(element)) {\n (0, utilities_1.setStyleProp)(element.attribs.style, element.attribs);\n props = element.attribs;\n }\n else if (element.attribs) {\n props = (0, attributes_to_props_1.default)(element.attribs, element.name);\n }\n var children = void 0;\n switch (node.type) {\n case 'script':\n case 'style':\n // prevent text in <script> or <style> from being escaped\n // https://react.dev/reference/react-dom/components/common#dangerously-setting-the-inner-html\n if (node.children[0]) {\n props.dangerouslySetInnerHTML = {\n __html: node.children[0].data,\n };\n }\n break;\n case 'tag':\n // setting textarea value in children is an antipattern in React\n // https://react.dev/reference/react-dom/components/textarea#caveats\n if (node.name === 'textarea' && node.children[0]) {\n props.defaultValue = node.children[0].data;\n }\n else if (node.children && node.children.length) {\n // continue recursion of creating React elements (if applicable)\n children = domToReact(node.children, options);\n }\n break;\n // skip all other cases (e.g., comment)\n default:\n continue;\n }\n // set \"key\" prop for sibling elements\n // https://react.dev/learn/rendering-lists#rules-of-keys\n if (nodesLength > 1) {\n props.key = index;\n }\n reactElements.push(transform(createElement(node.name, props, children), node, index));\n }\n return reactElements.length === 1 ? reactElements[0] : reactElements;\n}\n/**\n * Determines whether DOM element attributes should be transformed to props.\n * Web Components should not have their attributes transformed except for `style`.\n *\n * @param node - Element node.\n * @returns - Whether the node attributes should be converted to props.\n */\nfunction skipAttributesToProps(node) {\n return (utilities_1.PRESERVE_CUSTOM_ATTRIBUTES &&\n node.type === 'tag' &&\n (0, utilities_1.isCustomComponent)(node.name, node.attribs));\n}\n//# sourceMappingURL=dom-to-react.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.htmlToDOM = exports.domToReact = exports.attributesToProps = exports.Text = exports.ProcessingInstruction = exports.Element = exports.Comment = void 0;\nexports.default = HTMLReactParser;\nvar html_dom_parser_1 = __importDefault(require(\"html-dom-parser\"));\nexports.htmlToDOM = html_dom_parser_1.default;\nvar attributes_to_props_1 = __importDefault(require(\"./attributes-to-props\"));\nexports.attributesToProps = attributes_to_props_1.default;\nvar dom_to_react_1 = __importDefault(require(\"./dom-to-react\"));\nexports.domToReact = dom_to_react_1.default;\nvar domhandler_1 = require(\"domhandler\");\nObject.defineProperty(exports, \"Comment\", { enumerable: true, get: function () { return domhandler_1.Comment; } });\nObject.defineProperty(exports, \"Element\", { enumerable: true, get: function () { return domhandler_1.Element; } });\nObject.defineProperty(exports, \"ProcessingInstruction\", { enumerable: true, get: function () { return domhandler_1.ProcessingInstruction; } });\nObject.defineProperty(exports, \"Text\", { enumerable: true, get: function () { return domhandler_1.Text; } });\nvar domParserOptions = { lowerCaseAttributeNames: false };\n/**\n * Converts HTML string to React elements.\n *\n * @param html - HTML string.\n * @param options - Parser options.\n * @returns - React element(s), empty array, or string.\n */\nfunction HTMLReactParser(html, options) {\n if (typeof html !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n if (!html) {\n return [];\n }\n return (0, dom_to_react_1.default)((0, html_dom_parser_1.default)(html, (options === null || options === void 0 ? void 0 : options.htmlparser2) || domParserOptions), options);\n}\n//# sourceMappingURL=index.js.map","import HTMLReactParser from '../lib/index.js';\n\nexport {\n attributesToProps,\n Comment,\n domToReact,\n Element,\n htmlToDOM,\n ProcessingInstruction,\n Text,\n} from '../lib/index.js';\n\nexport default HTMLReactParser.default || HTMLReactParser;\n","import {\n ErrorWhite,\n InfoWhite,\n SuccessWhite,\n WarningWhite,\n ErrorColor,\n InfoColor,\n SuccessColor,\n WarningColor,\n} from '@/atoms/Icons'\nimport { vars } from '@/theme'\n\nexport const alertStates = {\n success: {\n icon: <SuccessWhite />,\n bg: vars('colors-alert-ice'),\n id: 'success',\n },\n error: {\n icon: <ErrorWhite />,\n bg: vars('colors-alert-veryLightPinkThree'),\n id: 'error',\n },\n info: {\n icon: <InfoWhite />,\n bg: vars('colors-alert-veryLightBlue'),\n id: 'info',\n },\n warning: {\n icon: <WarningWhite />,\n bg: vars('colors-alert-pale'),\n id: 'warning',\n },\n}\n\nexport const alertColorStates = {\n success: {\n icon: <SuccessColor />,\n bg: vars('colors-alert-ice'),\n id: 'success',\n },\n error: {\n icon: <ErrorColor />,\n bg: vars('colors-alert-veryLightPinkThree'),\n id: 'error',\n },\n info: {\n icon: <InfoColor />,\n bg: vars('colors-alert-veryLightBlue'),\n id: 'info',\n },\n warning: {\n icon: <WarningColor />,\n bg: vars('colors-alert-pale'),\n id: 'warning',\n },\n}\n","import { Box, useMediaQuery } from '@chakra-ui/react'\nimport DOMPurifyLib from 'dompurify'\nimport ReactParser from 'html-react-parser'\n\nimport { BtnLink, BtnPrimary } from '@/molecules'\nimport { vars } from '@/theme'\nimport { IAlertProps } from './types.d'\nimport { alertStates } from './utils/alertStates'\nimport { Close } from '@/atoms/Icons'\n\n/**\n * Componente de alerta embebida que puede tener 4 estados diferentes.\n * Opcionalmente puede llevar un botón. El botón puede mostrar sólo un texto\n * o un texto junto a un ícono.\n * @example Implementación de alerta con botón y margen\n * <Alert\n * state='info'\n * buttonName='Texto botón'\n * buttonIcon={<Multimedia />}\n * onClick={() => alert('hola')}\n * m='0 20px'>\n * Mensaje\n * </Alert>\n */\n\nexport function Alert({\n children,\n canDismiss = false,\n buttonText,\n buttonIcon,\n buttonLink = false,\n fullWidth = false,\n maxContent = false,\n isFlash = false,\n onClick,\n state,\n m,\n endTextLink,\n onClickLink,\n sx,\n width,\n}: IAlertProps): JSX.Element {\n const [isMobile] = useMediaQuery('(max-width: 425px)')\n\n const handleClick = (): void => {\n onClick?.()\n }\n\n let buttonType: undefined | 'link' | 'normal'\n if (buttonText) {\n buttonType = buttonLink ? 'link' : 'normal'\n }\n\n const content =\n typeof children === 'string' ? ReactParser(DOMPurifyLib.sanitize(children)) : children\n\n return (\n <Box\n className={isFlash ? 'flashNotification' : 'e_alert'}\n alignItems={!isMobile ? 'center' : 'unset'}\n backgroundColor={alertStates[state].bg}\n borderRadius=\"8px\"\n display=\"flex\"\n flexFlow={isMobile ? 'column' : 'row'}\n gap={!isFlash ? '16px' : undefined}\n justifyContent={!isMobile ? 'space-between' : undefined}\n margin={m}\n mx={isFlash ? 'auto' : undefined}\n width={width ?? (maxContent ? 'max-content' : fullWidth ? '100%' : 'fit-content')}\n maxWidth={fullWidth ? 'none' : width ?? maxContent ? 'none' : '796px'}\n p=\"1rem\"\n pr={canDismiss ? '1.75rem' : '1rem'}\n position=\"relative\"\n boxShadow={isFlash ? '0px 2px 8px 0px #5C5C5C33' : ''}\n sx={sx}\n >\n <Box\n display=\"flex\"\n gap=\"10px\"\n className=\"alertContent\"\n sx={{\n '.linkButton': {\n fontSize: '16px',\n },\n a: {\n fontWeight: '500',\n color: vars('colors-main-deepSkyBlue'),\n textDecoration: 'underline',\n },\n 'a:hover': {\n color: vars('colors-neutral-darkCharcoal'),\n },\n }}\n >\n <Box\n className=\"iconContainer\"\n sx={{\n svg: {\n width: 'auto',\n },\n }}\n >\n {alertStates[state].icon}\n </Box>\n <Box display=\"flex\" alignItems=\"center\">\n <Box\n alignSelf=\"center\"\n as=\"p\"\n color={vars('colors-neutral-darkCharcoal')}\n fontFamily=\"Roboto\"\n fontSize=\"16px\"\n fontWeight=\"400\"\n lineHeight=\"28px\"\n mb=\"0\"\n >\n {content}\n {endTextLink && onClickLink && <BtnLink onClick={onClickLink}>{endTextLink}</BtnLink>}\n </Box>\n {buttonType === 'link' && <BtnLink onClick={handleClick}>{buttonText}</BtnLink>}\n </Box>\n </Box>\n\n {buttonType === 'normal' && (\n <BtnPrimary isFullWidth={!!isMobile} leftIcon={buttonIcon} onClick={handleClick}>\n {buttonText}\n </BtnPrimary>\n )}\n {canDismiss && (\n <Box\n data-testid=\"closeButton\"\n cursor=\"pointer\"\n marginLeft=\"12px\"\n sx={{\n svg: {\n position: 'absolute',\n top: '16px',\n right: '12px',\n },\n }}\n onClick={onClick}\n >\n <Close />\n </Box>\n )}\n </Box>\n )\n}\n","let e={data:\"\"},t=t=>\"object\"==typeof window?((t?t.querySelector(\"#_goober\"):window._goober)||Object.assign((t||document.head).appendChild(document.createElement(\"style\")),{innerHTML:\" \",id:\"_goober\"})).firstChild:t||e,r=e=>{let r=t(e),l=r.data;return r.data=\"\",l},l=/(?:([\\u0080-\\uFFFF\\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\\s*)/g,a=/\\/\\*[^]*?\\*\\/| +/g,n=/\\n+/g,o=(e,t)=>{let r=\"\",l=\"\",a=\"\";for(let n in e){let c=e[n];\"@\"==n[0]?\"i\"==n[1]?r=n+\" \"+c+\";\":l+=\"f\"==n[1]?o(c,n):n+\"{\"+o(c,\"k\"==n[1]?\"\":t)+\"}\":\"object\"==typeof c?l+=o(c,t?t.replace(/([^,])+/g,e=>n.replace(/([^,]*:\\S+\\([^)]*\\))|([^,])+/g,t=>/&/.test(t)?t.replace(/&/g,e):e?e+\" \"+t:t)):n):null!=c&&(n=/^--/.test(n)?n:n.replace(/[A-Z]/g,\"-$&\").toLowerCase(),a+=o.p?o.p(n,c):n+\":\"+c+\";\")}return r+(t&&a?t+\"{\"+a+\"}\":a)+l},c={},s=e=>{if(\"object\"==typeof e){let t=\"\";for(let r in e)t+=r+s(e[r]);return t}return e},i=(e,t,r,i,p)=>{let u=s(e),d=c[u]||(c[u]=(e=>{let t=0,r=11;for(;t<e.length;)r=101*r+e.charCodeAt(t++)>>>0;return\"go\"+r})(u));if(!c[d]){let t=u!==e?e:(e=>{let t,r,o=[{}];for(;t=l.exec(e.replace(a,\"\"));)t[4]?o.shift():t[3]?(r=t[3].replace(n,\" \").trim(),o.unshift(o[0][r]=o[0][r]||{})):o[0][t[1]]=t[2].replace(n,\" \").trim();return o[0]})(e);c[d]=o(p?{[\"@keyframes \"+d]:t}:t,r?\"\":\".\"+d)}let f=r&&c.g?c.g:null;return r&&(c.g=c[d]),((e,t,r,l)=>{l?t.data=t.data.replace(l,e):-1===t.data.indexOf(e)&&(t.data=r?e+t.data:t.data+e)})(c[d],t,i,f),d},p=(e,t,r)=>e.reduce((e,l,a)=>{let n=t[a];if(n&&n.call){let e=n(r),t=e&&e.props&&e.props.className||/^go/.test(e)&&e;n=t?\".\"+t:e&&\"object\"==typeof e?e.props?\"\":o(e,\"\"):!1===e?\"\":e}return e+l+(null==n?\"\":n)},\"\");function u(e){let r=this||{},l=e.call?e(r.p):e;return i(l.unshift?l.raw?p(l,[].slice.call(arguments,1),r.p):l.reduce((e,t)=>Object.assign(e,t&&t.call?t(r.p):t),{}):l,t(r.target),r.g,r.o,r.k)}let d,f,g,b=u.bind({g:1}),h=u.bind({k:1});function m(e,t,r,l){o.p=t,d=e,f=r,g=l}function j(e,t){let r=this||{};return function(){let l=arguments;function a(n,o){let c=Object.assign({},n),s=c.className||a.className;r.p=Object.assign({theme:f&&f()},c),r.o=/ *go\\d+/.test(s),c.className=u.apply(r,l)+(s?\" \"+s:\"\"),t&&(c.ref=o);let i=e;return e[0]&&(i=c.as||e,delete c.as),g&&i[0]&&g(c),d(i,c)}return t?t(a):a}}export{u as css,r as extractCss,b as glob,h as keyframes,m as setup,j as styled};\n","\"use client\";\nvar W=e=>typeof e==\"function\",T=(e,t)=>W(e)?e(t):e;var U=(()=>{let e=0;return()=>(++e).toString()})(),b=(()=>{let e;return()=>{if(e===void 0&&typeof window<\"u\"){let t=matchMedia(\"(prefers-reduced-motion: reduce)\");e=!t||t.matches}return e}})();import{useEffect as H,useState as j}from\"react\";var Q=20;var S=new Map,X=1e3,$=e=>{if(S.has(e))return;let t=setTimeout(()=>{S.delete(e),u({type:4,toastId:e})},X);S.set(e,t)},J=e=>{let t=S.get(e);t&&clearTimeout(t)},v=(e,t)=>{switch(t.type){case 0:return{...e,toasts:[t.toast,...e.toasts].slice(0,Q)};case 1:return t.toast.id&&J(t.toast.id),{...e,toasts:e.toasts.map(r=>r.id===t.toast.id?{...r,...t.toast}:r)};case 2:let{toast:o}=t;return e.toasts.find(r=>r.id===o.id)?v(e,{type:1,toast:o}):v(e,{type:0,toast:o});case 3:let{toastId:s}=t;return s?$(s):e.toasts.forEach(r=>{$(r.id)}),{...e,toasts:e.toasts.map(r=>r.id===s||s===void 0?{...r,visible:!1}:r)};case 4:return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(r=>r.id!==t.toastId)};case 5:return{...e,pausedAt:t.time};case 6:let a=t.time-(e.pausedAt||0);return{...e,pausedAt:void 0,toasts:e.toasts.map(r=>({...r,pauseDuration:r.pauseDuration+a}))}}},A=[],P={toasts:[],pausedAt:void 0},u=e=>{P=v(P,e),A.forEach(t=>{t(P)})},Y={blank:4e3,error:4e3,success:2e3,loading:1/0,custom:4e3},I=(e={})=>{let[t,o]=j(P);H(()=>(A.push(o),()=>{let a=A.indexOf(o);a>-1&&A.splice(a,1)}),[t]);let s=t.toasts.map(a=>{var r,c;return{...e,...e[a.type],...a,duration:a.duration||((r=e[a.type])==null?void 0:r.duration)||(e==null?void 0:e.duration)||Y[a.type],style:{...e.style,...(c=e[a.type])==null?void 0:c.style,...a.style}}});return{...t,toasts:s}};var G=(e,t=\"blank\",o)=>({createdAt:Date.now(),visible:!0,type:t,ariaProps:{role:\"status\",\"aria-live\":\"polite\"},message:e,pauseDuration:0,...o,id:(o==null?void 0:o.id)||U()}),h=e=>(t,o)=>{let s=G(t,e,o);return u({type:2,toast:s}),s.id},n=(e,t)=>h(\"blank\")(e,t);n.error=h(\"error\");n.success=h(\"success\");n.loading=h(\"loading\");n.custom=h(\"custom\");n.dismiss=e=>{u({type:3,toastId:e})};n.remove=e=>u({type:4,toastId:e});n.promise=(e,t,o)=>{let s=n.loading(t.loading,{...o,...o==null?void 0:o.loading});return e.then(a=>(n.success(T(t.success,a),{id:s,...o,...o==null?void 0:o.success}),a)).catch(a=>{n.error(T(t.error,a),{id:s,...o,...o==null?void 0:o.error})}),e};import{useEffect as K,useCallback as L}from\"react\";var Z=(e,t)=>{u({type:1,toast:{id:e,height:t}})},ee=()=>{u({type:5,time:Date.now()})},D=e=>{let{toasts:t,pausedAt:o}=I(e);K(()=>{if(o)return;let r=Date.now(),c=t.map(i=>{if(i.duration===1/0)return;let d=(i.duration||0)+i.pauseDuration-(r-i.createdAt);if(d<0){i.visible&&n.dismiss(i.id);return}return setTimeout(()=>n.dismiss(i.id),d)});return()=>{c.forEach(i=>i&&clearTimeout(i))}},[t,o]);let s=L(()=>{o&&u({type:6,time:Date.now()})},[o]),a=L((r,c)=>{let{reverseOrder:i=!1,gutter:d=8,defaultPosition:p}=c||{},g=t.filter(m=>(m.position||p)===(r.position||p)&&m.height),E=g.findIndex(m=>m.id===r.id),x=g.filter((m,R)=>R<E&&m.visible).length;return g.filter(m=>m.visible).slice(...i?[x+1]:[0,x]).reduce((m,R)=>m+(R.height||0)+d,0)},[t]);return{toasts:t,handlers:{updateHeight:Z,startPause:ee,endPause:s,calculateOffset:a}}};import*as l from\"react\";import{styled as B,keyframes as z}from\"goober\";import*as y from\"react\";import{styled as C,keyframes as me}from\"goober\";import{styled as te,keyframes as k}from\"goober\";var oe=k`\nfrom {\n transform: scale(0) rotate(45deg);\n\topacity: 0;\n}\nto {\n transform: scale(1) rotate(45deg);\n opacity: 1;\n}`,re=k`\nfrom {\n transform: scale(0);\n opacity: 0;\n}\nto {\n transform: scale(1);\n opacity: 1;\n}`,se=k`\nfrom {\n transform: scale(0) rotate(90deg);\n\topacity: 0;\n}\nto {\n transform: scale(1) rotate(90deg);\n\topacity: 1;\n}`,_=te(\"div\")`\n width: 20px;\n opacity: 0;\n height: 20px;\n border-radius: 10px;\n background: ${e=>e.primary||\"#ff4b4b\"};\n position: relative;\n transform: rotate(45deg);\n\n animation: ${oe} 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275)\n forwards;\n animation-delay: 100ms;\n\n &:after,\n &:before {\n content: '';\n animation: ${re} 0.15s ease-out forwards;\n animation-delay: 150ms;\n position: absolute;\n border-radius: 3px;\n opacity: 0;\n background: ${e=>e.secondary||\"#fff\"};\n bottom: 9px;\n left: 4px;\n height: 2px;\n width: 12px;\n }\n\n &:before {\n animation: ${se} 0.15s ease-out forwards;\n animation-delay: 180ms;\n transform: rotate(90deg);\n }\n`;import{styled as ae,keyframes as ie}from\"goober\";var ne=ie`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n`,V=ae(\"div\")`\n width: 12px;\n height: 12px;\n box-sizing: border-box;\n border: 2px solid;\n border-radius: 100%;\n border-color: ${e=>e.secondary||\"#e0e0e0\"};\n border-right-color: ${e=>e.primary||\"#616161\"};\n animation: ${ne} 1s linear infinite;\n`;import{styled as ce,keyframes as N}from\"goober\";var pe=N`\nfrom {\n transform: scale(0) rotate(45deg);\n\topacity: 0;\n}\nto {\n transform: scale(1) rotate(45deg);\n\topacity: 1;\n}`,de=N`\n0% {\n\theight: 0;\n\twidth: 0;\n\topacity: 0;\n}\n40% {\n height: 0;\n\twidth: 6px;\n\topacity: 1;\n}\n100% {\n opacity: 1;\n height: 10px;\n}`,w=ce(\"div\")`\n width: 20px;\n opacity: 0;\n height: 20px;\n border-radius: 10px;\n background: ${e=>e.primary||\"#61d345\"};\n position: relative;\n transform: rotate(45deg);\n\n animation: ${pe} 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275)\n forwards;\n animation-delay: 100ms;\n &:after {\n content: '';\n box-sizing: border-box;\n animation: ${de} 0.2s ease-out forwards;\n opacity: 0;\n animation-delay: 200ms;\n position: absolute;\n border-right: 2px solid;\n border-bottom: 2px solid;\n border-color: ${e=>e.secondary||\"#fff\"};\n bottom: 6px;\n left: 6px;\n height: 10px;\n width: 6px;\n }\n`;var ue=C(\"div\")`\n position: absolute;\n`,le=C(\"div\")`\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n min-width: 20px;\n min-height: 20px;\n`,Te=me`\nfrom {\n transform: scale(0.6);\n opacity: 0.4;\n}\nto {\n transform: scale(1);\n opacity: 1;\n}`,fe=C(\"div\")`\n position: relative;\n transform: scale(0.6);\n opacity: 0.4;\n min-width: 20px;\n animation: ${Te} 0.3s 0.12s cubic-bezier(0.175, 0.885, 0.32, 1.275)\n forwards;\n`,M=({toast:e})=>{let{icon:t,type:o,iconTheme:s}=e;return t!==void 0?typeof t==\"string\"?y.createElement(fe,null,t):t:o===\"blank\"?null:y.createElement(le,null,y.createElement(V,{...s}),o!==\"loading\"&&y.createElement(ue,null,o===\"error\"?y.createElement(_,{...s}):y.createElement(w,{...s})))};var ye=e=>`\n0% {transform: translate3d(0,${e*-200}%,0) scale(.6); opacity:.5;}\n100% {transform: translate3d(0,0,0) scale(1); opacity:1;}\n`,ge=e=>`\n0% {transform: translate3d(0,0,-1px) scale(1); opacity:1;}\n100% {transform: translate3d(0,${e*-150}%,-1px) scale(.6); opacity:0;}\n`,he=\"0%{opacity:0;} 100%{opacity:1;}\",xe=\"0%{opacity:1;} 100%{opacity:0;}\",be=B(\"div\")`\n display: flex;\n align-items: center;\n background: #fff;\n color: #363636;\n line-height: 1.3;\n will-change: transform;\n box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1), 0 3px 3px rgba(0, 0, 0, 0.05);\n max-width: 350px;\n pointer-events: auto;\n padding: 8px 10px;\n border-radius: 8px;\n`,Se=B(\"div\")`\n display: flex;\n justify-content: center;\n margin: 4px 10px;\n color: inherit;\n flex: 1 1 auto;\n white-space: pre-line;\n`,Ae=(e,t)=>{let s=e.includes(\"top\")?1:-1,[a,r]=b()?[he,xe]:[ye(s),ge(s)];return{animation:t?`${z(a)} 0.35s cubic-bezier(.21,1.02,.73,1) forwards`:`${z(r)} 0.4s forwards cubic-bezier(.06,.71,.55,1)`}},F=l.memo(({toast:e,position:t,style:o,children:s})=>{let a=e.height?Ae(e.position||t||\"top-center\",e.visible):{opacity:0},r=l.createElement(M,{toast:e}),c=l.createElement(Se,{...e.ariaProps},T(e.message,e));return l.createElement(be,{className:e.className,style:{...a,...o,...e.style}},typeof s==\"function\"?s({icon:r,message:c}):l.createElement(l.Fragment,null,r,c))});import{css as Pe,setup as Oe}from\"goober\";import*as f from\"react\";Oe(f.createElement);var Ee=({id:e,className:t,style:o,onHeightUpdate:s,children:a})=>{let r=f.useCallback(c=>{if(c){let i=()=>{let d=c.getBoundingClientRect().height;s(e,d)};i(),new MutationObserver(i).observe(c,{subtree:!0,childList:!0,characterData:!0})}},[e,s]);return f.createElement(\"div\",{ref:r,className:t,style:o},a)},Re=(e,t)=>{let o=e.includes(\"top\"),s=o?{top:0}:{bottom:0},a=e.includes(\"center\")?{justifyContent:\"center\"}:e.includes(\"right\")?{justifyContent:\"flex-end\"}:{};return{left:0,right:0,display:\"flex\",position:\"absolute\",transition:b()?void 0:\"all 230ms cubic-bezier(.21,1.02,.73,1)\",transform:`translateY(${t*(o?1:-1)}px)`,...s,...a}},ve=Pe`\n z-index: 9999;\n > * {\n pointer-events: auto;\n }\n`,O=16,Ie=({reverseOrder:e,position:t=\"top-center\",toastOptions:o,gutter:s,children:a,containerStyle:r,containerClassName:c})=>{let{toasts:i,handlers:d}=D(o);return f.createElement(\"div\",{style:{position:\"fixed\",zIndex:9999,top:O,left:O,right:O,bottom:O,pointerEvents:\"none\",...r},className:c,onMouseEnter:d.startPause,onMouseLeave:d.endPause},i.map(p=>{let g=p.position||t,E=d.calculateOffset(p,{reverseOrder:e,gutter:s,defaultPosition:t}),x=Re(g,E);return f.createElement(Ee,{id:p.id,key:p.id,onHeightUpdate:d.updateHeight,className:p.visible?ve:\"\",style:x},p.type===\"custom\"?T(p.message,p):a?a(p):f.createElement(F,{toast:p,position:g}))}))};var _t=n;export{w as CheckmarkIcon,_ as ErrorIcon,V as LoaderIcon,F as ToastBar,M as ToastIcon,Ie as Toaster,_t as default,T as resolveValue,n as toast,D as useToaster,I as useToasterStore};\n//# sourceMappingURL=index.mjs.map","export const handleTime = (message: string): number => {\n if (!message) return 3000\n\n const words = message.trim().split(/\\s+/).length\n const wordsPerMinute = 150\n const baseMinutes = words / wordsPerMinute\n\n // Convertimos a milisegundos: minutos * 60 segundos * 1000 ms\n const totalMs = Math.round(baseMinutes * 60 * 1000)\n\n // Aseguramos un mínimo de 3 segundos para mensajes muy cortos\n return Math.max(3000, totalMs)\n}\n","import { useCallback, useEffect, useState } from 'react'\nimport { toast, Toaster } from 'react-hot-toast'\n\nimport { IFlashNotificationProps } from './types.d'\nimport { alertStates } from './utils/alertStates'\nimport { handleTime } from './utils/handleTime'\nimport { Alert } from './Alert'\nimport { useMediaQuery } from '@chakra-ui/react'\n\n/**\n * Componente de notificación flash que se muestra centrada en la parte superior de la pantalla.\n * No requiere un contenedor <Toaster /> manual, ya que implementa un patrón Singleton.\n *\n * @example\n * const { show, active, config } = useFlashNotification({\n * state: 'info',\n * message: 'Respuesta guardada',\n * })\n *\n * return (\n * <>\n * <button onClick={active}>Trigger</button>\n * <FlashNotification {...config} show={show} />\n * </>\n * )\n */\n\n// Usamos una variable en window para asegurar que sea un único Toaster\n// incluso si la librería se carga en distintos bundles o proyectos.\nconst GLOBAL_TOASTER_FLAG = '_eclass_ui_kit_toaster_mounted'\n\nexport function FlashNotification({\n message,\n state,\n show,\n m,\n}: IFlashNotificationProps): JSX.Element {\n const [shouldRenderToaster, setShouldRenderToaster] = useState(false)\n const [isMobile] = useMediaQuery('(max-width: 440px)')\n\n useEffect(() => {\n // Si no hay un Toaster registrado globalmente en la ventana, esta instancia lo toma.\n if (typeof window !== 'undefined' && !(window as any)[GLOBAL_TOASTER_FLAG]) {\n ;(window as any)[GLOBAL_TOASTER_FLAG] = true\n setShouldRenderToaster(true)\n }\n }, [])\n\n const showToast = useCallback(() => {\n toast(\n (t) => (\n <Alert\n isFlash\n state={state}\n canDismiss\n onClick={() => toast.dismiss(t.id)}\n m={m}\n sx={{\n w: 'initial',\n maxWidth: 'initial',\n ...(isMobile && {\n // La librería agrega un margin por defecto, que no pude quitar.\n margin: '-4px -10px',\n borderRadius: 0,\n w: '100vw!important',\n }),\n }}\n >\n {message}\n </Alert>\n ),\n {\n duration: ['success', 'info'].includes(state) ? handleTime(message) : Infinity,\n id: alertStates[state].id,\n }\n )\n }, [message, state, m])\n\n useEffect(() => {\n if (show) {\n showToast()\n }\n }, [show, showToast])\n\n return (\n <>\n {shouldRenderToaster && (\n <Toaster\n position=\"top-center\"\n toastOptions={{\n className: 'toastContainer',\n style: {\n background: 'transparent',\n boxShadow: 'none',\n maxWidth: '100vw',\n padding: 0,\n margin: 0,\n },\n }}\n containerStyle={{\n left: 0,\n right: 0,\n ...(isMobile && {\n top: 0,\n }),\n padding: 0,\n margin: 0,\n }}\n />\n )}\n </>\n )\n}\n","import { useEffect, useState } from 'react'\nimport { IFlashNotificationProps } from '../types'\nimport { handleTime } from './handleTime'\n\n/**\n * Hook que actúa como trigger del componente FlashNotification,\n * usando los siguientes parámetros:\n * show: boolean que indica si la notificación se está mostrando o no,\n * active: función que modifica el estado de show,\n * config: contiene los valores de 'state' y message'\n * @example Llamado useFlashNotification y asignación de props\n * const { show, active, config } = useFlashNotification({\n * state: 'info',\n * message: 'Respuesta guardada',\n *})\n * @example Definición de trigger que activa la notificación\n * <button onClick={() => { active()}}> Activar notificación </button>\n * @example Componente FlashNotification recibiendo argumentos\n * <FlashNotification {...config} show={show} />\n */\n\nexport const useFlashNotification = ({ state, message }: IFlashNotificationProps): any => {\n // Estado que maneja si la notificación debe mostrarse.\n const [show, setShow] = useState(false)\n\n // Effect que controla la visibilidad de la notificación basado en los cambios de estado\n useEffect(() => {\n // Si la notificación se está mostrando, se determina el tiempo tras el cual se ocultará.\n if (show) {\n const duration = state === 'success' ? handleTime(message) : 1000\n const timeOut = setTimeout(() => {\n setShow(false)\n }, duration)\n return () => clearTimeout(timeOut)\n }\n }, [message, show, state])\n\n // Función que activa la notificación\n const active = (): any => {\n if (!show) {\n setShow(true)\n }\n }\n\n // Se retorna el estado de show, la función active y el objeto de config que contiene el estado y mensaje.\n return {\n show,\n active,\n config: {\n state,\n message,\n },\n }\n}\n","import { Box, ModalCloseButton, ModalHeader, useMediaQuery } from '@chakra-ui/react'\n\nimport { vars } from '@/theme'\nimport { IModalContentBase } from '../types'\nimport { uiKitModalIsDesktop } from './Modal'\n\nexport const ModalContentBase = ({\n children,\n closeOnOverlayClick,\n fixedSubtitle,\n title,\n withoutMargin,\n}: IModalContentBase): JSX.Element => {\n const [isDesktop] = useMediaQuery(`(min-width: ${uiKitModalIsDesktop}px)`)\n const py = '32px'\n const px = '24px'\n\n return (\n <>\n <ModalHeader\n bg={vars('colors-main-deepSkyBlue')}\n borderTopRadius={isDesktop ? '8px' : 0}\n color={vars('colors-neutral-white')}\n fontFamily=\"Roboto\"\n fontSize={isDesktop ? '20px' : '18px'}\n fontWeight={700}\n lineHeight={1}\n mb={withoutMargin ? 0 : '32px'}\n paddingY={px}\n textAlign=\"center\"\n >\n {title}\n </ModalHeader>\n {closeOnOverlayClick && (\n <ModalCloseButton\n background=\"transparent!important\"\n border=\"none\"\n color={vars('colors-neutral-white')}\n h=\"12px\"\n p=\"22px\"\n right={0}\n top={0}\n w=\"12px\"\n _focus={{\n boxShadow: 'none',\n }}\n _focusVisible={{\n boxShadow: `inset 0 0 0 2px ${vars('colors-alert-deepSkyBlue')}, inset 0 0 0 4px ${vars(\n 'colors-neutral-white'\n )}`,\n }}\n />\n )}\n {fixedSubtitle?.trim() && (\n <Box as=\"p\" fontSize=\"14px\" lineHeight=\"19px\" mb={py} textAlign=\"center\" px={px}>\n {fixedSubtitle}\n </Box>\n )}\n {children}\n </>\n )\n}\n","import { BoxProps, useMediaQuery } from '@chakra-ui/react'\nimport { vars } from '@/theme'\nimport { ModalPadding, uiKitModalIsDesktop } from '../Modal/Modal'\n\ninterface ModalConfig {\n closeOnOverlayClick: boolean\n closeOnEsc: boolean\n scrollBehavior?: 'outside' | 'inside'\n contentProps: BoxProps\n}\n\ninterface UseModalConfigParams {\n closeOnOverlayClick: boolean\n scrollBehavior: 'outside' | 'inside'\n fixedButtons: boolean\n withoutMargin: boolean\n}\n\nexport const useModalConfig = ({\n closeOnOverlayClick,\n scrollBehavior,\n fixedButtons,\n withoutMargin,\n}: UseModalConfigParams): ModalConfig => {\n const [isDesktop] = useMediaQuery(`(min-width: ${uiKitModalIsDesktop}px)`)\n // fixedButtons requiere scroll interno\n const isInsideScroll = scrollBehavior === 'inside'\n const shouldForceInsideScroll = fixedButtons\n const isInside = isInsideScroll || shouldForceInsideScroll\n return {\n closeOnOverlayClick,\n closeOnEsc: closeOnOverlayClick,\n scrollBehavior: isInside ? 'inside' : 'outside',\n contentProps: {\n maxH: isInside ? '100dvh' : 'auto',\n minH: isDesktop ? '300px' : '100dvh',\n padding: 0,\n width: '100%',\n animation: 'none',\n sx: {\n bgColor: vars('colors-neutral-white'),\n borderRadius: isDesktop ? '8px' : 0,\n mt: isDesktop ? '48px' : 0,\n mb: isDesktop ? '48px' : 0,\n marginX: isDesktop ? 'auto' : 0,\n maxH: isInside ? 'calc(100dvh - 96px)' : 'auto',\n maxWidth: isDesktop ? '690px' : '100%',\n\n ...(fixedButtons && {\n '.uikit-modalContent': {\n pb: 0,\n },\n '.uikit-modalButtons': {\n ...ModalPadding,\n },\n }),\n ...(withoutMargin && {\n '.uikit-modalContent': {\n pt: 0,\n px: 0,\n },\n '.uikit-modalButtons': {\n px: ModalPadding.px,\n },\n }),\n },\n },\n }\n}\n","import { Modal as ChakraModal, ModalOverlay, ModalContent, Box } from '@chakra-ui/react'\n\nimport { IModal } from '../types'\nimport { ModalContentBase } from './ModalContentBase'\nimport { useModalConfig } from './useModalConfig'\n\nexport const uiKitModalIsDesktop = 641\nexport const ModalPadding = {\n py: '32px',\n px: '24px',\n}\n\nexport const Modal = ({\n children,\n closeOnOverlayClick = true,\n fixedSubtitle,\n isOpen,\n onClose,\n title,\n withoutMargin = false,\n scrollBehavior = 'outside',\n fixedButtons = false,\n autoFocus = false,\n}: IModal): JSX.Element => {\n const isInside = scrollBehavior === 'inside' || fixedButtons\n\n const modalConfig = useModalConfig({\n closeOnOverlayClick,\n scrollBehavior,\n fixedButtons,\n withoutMargin,\n })\n\n return (\n <ChakraModal\n closeOnOverlayClick={modalConfig.closeOnOverlayClick}\n closeOnEsc={modalConfig.closeOnEsc}\n isOpen={isOpen}\n motionPreset=\"scale\"\n onClose={onClose}\n scrollBehavior={isInside ? 'inside' : 'outside'}\n autoFocus={autoFocus}\n blockScrollOnMount={false}\n >\n <ModalOverlay />\n <Box\n sx={{\n ...(isInside && {\n '.uikit-modalContent': {\n pb: '16px !important',\n },\n '.uikit-modalButtons': {\n boxShadow: '0px 4px 16px 0px #5C5C5C33',\n },\n }),\n }}\n >\n <ModalContent {...modalConfig.contentProps}>\n <ModalContentBase\n fixedButtons={fixedButtons}\n withoutMargin={withoutMargin}\n title={title}\n closeOnOverlayClick={closeOnOverlayClick}\n fixedSubtitle={fixedSubtitle}\n >\n {children}\n </ModalContentBase>\n </ModalContent>\n </Box>\n </ChakraModal>\n )\n}\n","import {\n ModalFooter,\n ModalFooterProps,\n ModalBody,\n useMediaQuery,\n ModalBodyProps,\n} from '@chakra-ui/react'\n\nimport { IModalButtons } from '../types'\nimport { uiKitModalIsDesktop } from './Modal'\n\nconst StyledModalFooter = ModalFooter as React.FC<ModalFooterProps>\nconst StyledModalBody = ModalBody as React.FC<ModalBodyProps>\n\n/**\n * Componente que renderiza los botones de un modal.\n * @example\n * <ModalButtons>\n * <BtnPrimary as=\"button\" onClick={() => onClose()}>Aceptar</BtnPrimary>\n * <BtnSecondary as=\"button\" onClick={() => onClose()}>Cancelar</BtnSecondary>\n * </ModalButtons>\n */\nexport const ModalButtons = ({\n children,\n buttonsCenter,\n buttonsColumn,\n}: IModalButtons): JSX.Element => {\n const [isDesktop] = useMediaQuery(`(min-width: ${uiKitModalIsDesktop}px)`)\n const buttonFull = !isDesktop && buttonsColumn\n\n return (\n <StyledModalFooter\n as=\"footer\"\n flexDirection={buttonFull ? 'column' : 'row'}\n gap=\"24px\"\n justifyContent={buttonsCenter ? 'center' : 'flex-start'}\n px={0}\n pt=\"32px\"\n pb={0}\n className=\"uikit-modalButtons\"\n sx={{\n '&>div, &>div>.react-ripples, &>div>.react-ripples>button': {\n width: isDesktop ? 'auto' : '100%',\n },\n }}\n >\n {children}\n </StyledModalFooter>\n )\n}\n\nexport const ModalContent = ({\n children,\n pb = '32px',\n}: {\n children: React.ReactNode\n pb?: string\n}): JSX.Element => {\n return (\n <StyledModalBody pt={0} pb={pb} className=\"uikit-modalContent\">\n {children}\n </StyledModalBody>\n )\n}\n","import { vars } from '@/theme'\n\nexport const Loading = ({\n fill = vars('colors-main-deepSkyBlue'),\n}: {\n fill?: string\n}): JSX.Element => {\n return (\n <svg\n data-testid=\"loading-svg\"\n id=\"prefix__eXySq0EBKm11\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 38 20\"\n shapeRendering=\"geometricPrecision\"\n textRendering=\"geometricPrecision\"\n width={50}\n height={35}\n >\n <style\n dangerouslySetInnerHTML={{\n __html:\n '@keyframes eXySq0EBKm12_f_o{0%,33.333333%,to{fill-opacity:.4}66.666667%{fill-opacity:1;animation-timing-function:cubic-bezier(.42,0,.58,1)}}@keyframes eXySq0EBKm13_f_o{0%,66.666667%,to{fill-opacity:.4}33.333333%{fill-opacity:1;animation-timing-function:cubic-bezier(.42,0,.58,1)}}@keyframes eXySq0EBKm14_f_o{0%{fill-opacity:1;animation-timing-function:cubic-bezier(.42,0,.58,1)}33.333333%,66.666667%{fill-opacity:.4}to{fill-opacity:1}}',\n }}\n />\n <circle\n r={2.502}\n transform=\"translate(29.526 10)\"\n fill={fill}\n fillOpacity={0.4}\n style={{\n animation: 'eXySq0EBKm12_f_o 600ms linear infinite normal forwards',\n }}\n />\n <circle\n r={2.502}\n transform=\"translate(19 10)\"\n fill={fill}\n fillOpacity={0.4}\n style={{\n animation: 'eXySq0EBKm13_f_o 600ms linear infinite normal forwards',\n }}\n />\n <circle\n r={2.053}\n transform=\"matrix(1.21764 0 0 1.21764 8.562 10.002)\"\n fill={fill}\n style={{\n animation: 'eXySq0EBKm14_f_o 600ms linear infinite normal forwards',\n }}\n />\n </svg>\n )\n}\n","import { Box, ModalBody, useMediaQuery } from '@chakra-ui/react'\nimport DOMPurifyLib from 'dompurify'\nimport ReactParser from 'html-react-parser'\n\nimport { IModalAlertContent } from '../types'\n\nimport { Loading } from './Loading'\nimport { alertColorStates } from '@/organisms/Alerts/utils/alertStates'\n\nexport const ModalAlertContent = ({\n type,\n title,\n description,\n status,\n children,\n}: IModalAlertContent): JSX.Element => {\n const [isDesktop] = useMediaQuery('(min-width: 641px)')\n\n const descriptionParsed =\n typeof description === 'string' ? ReactParser(DOMPurifyLib.sanitize(description)) : description\n\n return (\n <>\n <ModalBody\n p=\"32px\"\n display=\"flex\"\n flexDirection=\"column\"\n alignItems=\"center\"\n textAlign=\"center\"\n gap=\"16px\"\n fontFamily=\"Roboto\"\n >\n {type === 'loading' ? (\n <Loading />\n ) : (\n <Box display=\"flex\" justifyContent=\"center\">\n {alertColorStates[status ?? 'info'].icon}\n </Box>\n )}\n {title && (\n <Box\n as=\"p\"\n fontWeight=\"700\"\n fontSize={isDesktop ? '20px' : '18px'}\n lineHeight=\"24px\"\n mb={0}\n >\n {title}\n </Box>\n )}\n {description && (\n <Box as=\"p\" fontSize=\"16px\" lineHeight=\"24px\" mb={0}>\n {descriptionParsed}\n </Box>\n )}\n </ModalBody>\n {type !== 'loading' && children ? children : <></>}\n </>\n )\n}\n","import { BoxProps, useMediaQuery } from '@chakra-ui/react'\n\nimport { uiKitModalIsDesktop } from '../Modal/Modal'\n\ninterface ModalConfig {\n closeOnOverlayClick: boolean\n closeOnEsc: boolean\n scrollBehavior?: 'outside' | 'inside'\n contentProps: BoxProps\n}\n\nexport const useModalAlertConfig = (): ModalConfig => {\n const [isDesktop] = useMediaQuery(`(min-width: ${uiKitModalIsDesktop}px)`)\n\n return {\n closeOnOverlayClick: false,\n closeOnEsc: false,\n scrollBehavior: 'outside',\n contentProps: {\n borderRadius: '8px',\n p: 0,\n m: '10vh auto 0',\n sx: {\n maxWidth: isDesktop ? '589px' : '343px',\n },\n },\n }\n}\n","import { Box, Modal as ChakraModal, ModalContent, ModalOverlay } from '@chakra-ui/react'\n\nimport { IModalAlert } from '../types'\nimport { vars } from '@/theme'\nimport { ModalAlertContent } from './ModalAlertContent'\nimport { useModalAlertConfig } from './useModalAlertConfig'\n\nexport const ModalAlertNew = ({\n autoFocus = false,\n type,\n isOpen,\n onClose,\n children,\n title,\n description,\n status,\n}: IModalAlert): JSX.Element => {\n const modalConfig = useModalAlertConfig()\n return (\n <>\n <ChakraModal\n closeOnOverlayClick={false}\n isOpen={isOpen}\n motionPreset=\"scale\"\n onClose={onClose}\n closeOnEsc={type !== 'loading'}\n autoFocus={autoFocus}\n >\n <ModalOverlay />\n <ModalContent {...modalConfig.contentProps}>\n <ModalAlertContent type={type} title={title} description={description} status={status}>\n {children}\n </ModalAlertContent>\n </ModalContent>\n </ChakraModal>\n </>\n )\n}\n\n/**\n * Componente que renderiza los botones de un modal alert.\n * @example\n * <ModalAlertButtons>\n * <BtnLink as=\"button\" onClick={() => onClose()}>Cancelar</BtnLink>\n * <BtnLink as=\"button\" onClick={() => onClose()}>Aceptar</BtnLink>\n * </ModalAlertButtons>\n */\nexport const ModalAlertButtons = ({ children }: { children: React.ReactNode }): JSX.Element => {\n return (\n <Box\n autoFocus={false}\n display=\"flex\"\n w=\"100%\"\n borderTop={`1px solid ${vars('colors-neutral-platinum')}`}\n sx={{\n button: {\n borderRight: `1px solid ${vars('colors-neutral-platinum')}`,\n fontFamily: 'Roboto',\n fontSize: '16px',\n fontWeight: 500,\n lineHeight: '21px',\n p: '16px',\n textDecor: 'none',\n width: '100%',\n '&:last-child': {\n borderRight: 'none',\n },\n },\n }}\n >\n {children}\n </Box>\n )\n}\n","import { BoxProps } from '@chakra-ui/react'\n\nimport { ModalMultipleProps } from './ModalMultiple'\nimport { useModalConfig } from '../Modal/useModalConfig'\nimport { useModalAlertConfig } from '../ModalAlert/useModalAlertConfig'\n\ninterface ModalConfig {\n closeOnOverlayClick: boolean\n closeOnEsc: boolean\n scrollBehavior?: 'outside' | 'inside'\n contentProps: BoxProps\n}\n\ninterface UseModalMultipleConfigParams {\n type: ModalMultipleProps['type']\n closeOnOverlayClick: boolean\n scrollBehavior: 'outside' | 'inside'\n fixedButtons: boolean\n withoutMargin: boolean\n}\n\nexport const useModalMultipleConfig = ({\n type,\n closeOnOverlayClick,\n scrollBehavior,\n fixedButtons,\n withoutMargin,\n}: UseModalMultipleConfigParams): ModalConfig => {\n const modalConfig = useModalConfig({\n closeOnOverlayClick,\n scrollBehavior,\n fixedButtons,\n withoutMargin,\n })\n\n const modalAlertConfig = useModalAlertConfig()\n\n switch (type) {\n case 'modal':\n return modalConfig\n case 'modalAlert':\n case 'modalLoading':\n return modalAlertConfig\n }\n}\n","import { Modal as ChakraModal, ModalOverlay, ModalContent } from '@chakra-ui/react'\n\nimport { ModalContentBase } from '../Modal/ModalContentBase'\nimport { ModalAlertContent } from '../ModalAlert/ModalAlertContent'\nimport { IModalAlert, IModal } from '../types'\nimport { useModalMultipleConfig } from './useModalMultipleConfig'\n\n/* -------------------------------------------------------------------------- */\n/* TYPES */\n/* -------------------------------------------------------------------------- */\n\nexport interface ModalDefaultProps {\n closeOnOverlayClick?: IModal['closeOnOverlayClick']\n fixedSubtitle?: IModal['fixedSubtitle']\n withoutMargin?: IModal['withoutMargin']\n scrollBehavior?: IModal['scrollBehavior']\n fixedButtons?: IModal['fixedButtons']\n}\n\ntype BaseProps = ModalDefaultProps & {\n isOpen: boolean\n onClose: () => void\n autoFocus?: boolean\n}\n\ntype ModalProps = BaseProps & {\n type: 'modal'\n title?: string\n children: React.ReactNode\n}\n\ntype ModalAlertProps = BaseProps & {\n type: 'modalAlert' | 'modalLoading'\n title?: string\n description?: string\n status?: IModalAlert['status']\n children?: React.ReactNode\n}\n\nexport type ModalMultipleProps = ModalProps | ModalAlertProps\n\n/* -------------------------------------------------------------------------- */\n/* COMPONENT */\n/* -------------------------------------------------------------------------- */\n/**\n * \n * @example\n * <ModalMultiple\n type={type}\n isOpen={open}\n onClose={() => setOpen(false)}\n title={type === 'modal' ? 'Confirmación' : '¿Seguro que deseas borrar esta pregunta?'}\n status=\"info\"\n description=\"Por favor escoge otro horario.\"\n >\n {type === 'modal' ? (\n <ModalContent>\n <p>\n alumnos, además de definir el uso de la plataforma de estudio. \n </p>\n <ModalButtons>\n <BtnPrimary onClick={() => setType('modalAlert')}>Guardar</BtnPrimary>\n <BtnSecondary onClick={() => setOpen(false)}>Cancelar</BtnSecondary>\n </ModalButtons>\n </ModalContent>\n ) : (\n <ModalAlertButtons>\n <BtnLink as=\"button\" onClick={() => setType('modal')}>\n Aceptar\n </BtnLink>\n <BtnLink as=\"button\" onClick={() => setOpen(false)}>\n Cancelar\n </BtnLink>\n </ModalAlertButtons>\n )}\n </ModalMultiple>\n */\nexport const ModalMultiple = (props: ModalMultipleProps): JSX.Element => {\n const {\n type,\n isOpen,\n onClose,\n autoFocus = false,\n children,\n title,\n closeOnOverlayClick = true,\n fixedSubtitle,\n withoutMargin = false,\n scrollBehavior = 'outside',\n fixedButtons = false,\n } = props\n\n const modalConfig = useModalMultipleConfig({\n type,\n closeOnOverlayClick,\n scrollBehavior,\n fixedButtons,\n withoutMargin,\n })\n\n const renderContent = (): JSX.Element | null => {\n switch (type) {\n case 'modal':\n return (\n <ModalContentBase\n fixedButtons={fixedButtons}\n withoutMargin={withoutMargin}\n title={title}\n closeOnOverlayClick={closeOnOverlayClick}\n fixedSubtitle={fixedSubtitle}\n >\n {children}\n </ModalContentBase>\n )\n\n case 'modalAlert':\n case 'modalLoading': {\n const { description, status } = props\n\n return (\n <ModalAlertContent\n type={type === 'modalAlert' ? 'info' : 'loading'}\n title={title}\n description={description}\n status={status}\n >\n {children}\n </ModalAlertContent>\n )\n }\n }\n }\n\n return (\n <ChakraModal\n isOpen={isOpen}\n onClose={onClose}\n motionPreset=\"scale\"\n autoFocus={autoFocus}\n closeOnOverlayClick={modalConfig.closeOnOverlayClick}\n closeOnEsc={modalConfig.closeOnEsc}\n scrollBehavior={modalConfig.scrollBehavior}\n >\n <ModalOverlay />\n <ModalContent {...modalConfig.contentProps}>{renderContent()}</ModalContent>\n </ChakraModal>\n )\n}\n","// import { useState } from 'react'\nimport {\n Modal,\n ModalOverlay,\n ModalContent,\n ModalHeader,\n ModalFooter,\n ModalBody,\n Box,\n useMediaQuery,\n} from '@chakra-ui/react'\nimport { alertColorStates } from '../Alerts/utils/alertStates'\nimport { ModalAlertProps } from './types'\nimport { BtnLink } from '@/molecules'\n\nexport function ModalAlert({\n showModal,\n typeAlert,\n title,\n description,\n optionsButton,\n top,\n}: ModalAlertProps): JSX.Element {\n const [isDesktop] = useMediaQuery('(min-width: 650px)')\n\n const modalStyles = {\n content: {\n top: top,\n },\n }\n\n const showBorder = optionsButton.length > 1\n return (\n <Modal\n id=\"modal-alert\"\n isOpen={showModal}\n onClose={() => {}}\n closeOnEsc={false}\n closeOnOverlayClick={false}\n size={isDesktop ? 'xl' : 'sm'}\n isCentered={false}\n >\n <ModalOverlay\n bg=\"rgba(0, 0, 0, 0.5)\"\n position=\"fixed\"\n top=\"0\"\n left=\"0\"\n right=\"0\"\n bottom=\"0\"\n zIndex=\"998\"\n />\n <ModalContent zIndex=\"999\" sx={modalStyles.content}>\n <Box\n alignItems=\"center\"\n justifyContent=\"center\"\n textAlign=\"center\"\n py=\"2rem\"\n borderBottom=\"1px solid #E6E6E6\"\n >\n <Box display=\"flex\" justifyContent=\"center\">\n {alertColorStates[typeAlert].icon}\n </Box>\n <ModalHeader py=\"1rem\">{title}</ModalHeader>\n <ModalBody py=\"0.5rem\" px=\"2rem\">\n {description}\n </ModalBody>\n </Box>\n <ModalFooter justifyContent=\"center\" padding=\"0\">\n {optionsButton.map((option, index) => {\n return (\n <Box\n key={index}\n width=\"99%\"\n textAlign=\"center\"\n padding=\"1rem\"\n borderLeftWidth={showBorder && option.id === optionsButton[1].id ? '1px' : '0'}\n borderLeftColor=\"#E6E6E6\"\n onClick={() => option.action()}\n >\n <BtnLink textDecorationLine={false} fontSize=\"1rem\">\n {option.label}\n </BtnLink>\n </Box>\n )\n })}\n </ModalFooter>\n </ModalContent>\n </Modal>\n )\n}\n\nModalAlert.displayName = 'ModalAlert'\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\ninterface CalendarProps {\n color?: string\n}\n\nexport const Calendar: FC<CalendarProps> = ({ color = 'white' }) => {\n return (\n <Icon\n width=\"16px\"\n height=\"17px\"\n viewBox=\"0 0 16 17\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M15 2.5H13V0.5H11V2.5H9V0.5H7V2.5H5V0.5H3V2.5H1C0.447 2.5 0 2.947 0 3.5V15.5C0 16.053 0.447 16.5 1 16.5H15C15.553 16.5 16 16.053 16 15.5V3.5C16 2.947 15.553 2.5 15 2.5ZM14 14.5H2V5.5H14V14.5Z\"\n fill={color}\n />\n <path d=\"M6 7.5H4V9.5H6V7.5Z\" fill={color} />\n <path d=\"M9 7.5H7V9.5H9V7.5Z\" fill={color} />\n <path d=\"M6 10.5H4V12.5H6V10.5Z\" fill={color} />\n <path d=\"M9 10.5H7V12.5H9V10.5Z\" fill={color} />\n <path d=\"M12 7.5H10V9.5H12V7.5Z\" fill={color} />\n <path d=\"M12 10.5H10V12.5H12V10.5Z\" fill={color} />\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\ninterface ClockProps {\n color?: string\n}\n\nexport const Clock: FC<ClockProps> = ({ color = 'white' }) => {\n return (\n <Icon\n width=\"16px\"\n height=\"17px\"\n viewBox=\"0 0 16 17\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 8.5C0 4.1 3.6 0.5 8 0.5C12.4 0.5 16 4.1 16 8.5C16 12.9 12.4 16.5 8 16.5C3.6 16.5 0 12.9 0 8.5ZM7 9.5H12V7.5H9V4.5H7V9.5Z\"\n fill={color}\n />\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { Box, Flex, Text, Link } from '@chakra-ui/react'\nimport { ItemsEventsProps } from '../EventsTypes'\nimport { vars } from '@/theme'\nimport { Calendar, Clock } from '../Icons'\nimport { Ripples } from '@/atoms'\n\nexport const LargeBox: FC<ItemsEventsProps> = ({\n id,\n eventTitle,\n startDate,\n startTime,\n buttonInfo,\n redirect,\n eventImage,\n targetBlank,\n isMobile,\n}) => {\n const cssActive = {\n boxShadow: `0 2px 7px 0 ${vars('colors-neutral-silverSand')}`,\n }\n return (\n <Link\n key={id}\n href={redirect}\n target={targetBlank ? '_blank' : '_self'}\n rel={targetBlank ? 'noopener noreferrer' : undefined}\n w=\"fit-content\"\n h=\"fit-content\"\n transition=\"box-shadow .3s\"\n borderRadius={vars('radii-big')}\n _active={cssActive}\n _hover={cssActive}\n _focusVisible={{\n boxShadow: `0 0 0 3px ${vars('colors-alert-deepSkyBlue')}`,\n }}\n >\n <Ripples>\n <Flex cursor=\"pointer\" w=\"fit-content\" display={isMobile ? 'block' : 'flex'}>\n <Box\n width=\"285px\"\n height={isMobile ? '140px' : '168px'}\n bgImage={`url(${eventImage})`}\n backgroundSize=\"cover\"\n borderRadius={isMobile ? '8px 8px 0px 0px' : '8px 0 0 8px'}\n />\n <Box\n width={isMobile ? '285px' : '305px'}\n minHeight={isMobile ? '160px' : '168px'}\n borderRadius={isMobile ? '0 0 8px 8px' : '0 8px 8px 0'}\n border={vars('borders-light')}\n display=\"flex\"\n flexDirection=\"column\"\n cursor=\"pointer\"\n >\n <Box\n width=\"inherit\"\n height=\"100%\"\n padding=\"16px\"\n color=\"#555555\"\n gap=\"16px\"\n display=\"grid\"\n >\n <Text fontWeight=\"700\" m=\"0px\" p=\"0px\">\n {eventTitle}\n </Text>\n <Box display=\"flex\" alignItems=\"center\" gap=\"4px\">\n <Calendar color={vars('colors-main-ziggurat')} />\n <Text fontWeight=\"400\" m=\"0px\" p=\"0px\">\n {startDate}\n </Text>\n <Text color={vars('borders-light')} m=\"0px\" p=\"0px\">\n |\n </Text>\n <Clock color={vars('colors-main-ziggurat')} />\n <Text m=\"0px\" p=\"0px\">\n {startTime}\n </Text>\n </Box>\n </Box>\n <Box\n borderTop={`${vars('borders-light')}`}\n width=\"100%\"\n height=\"50px\"\n padding=\"12px\"\n backgroundColor=\"white\"\n alignItems=\"center\"\n display=\"flex\"\n justifyContent=\"center\"\n borderRadius=\" 0 0 8px 8px\"\n fontSize=\"16px\"\n fontFamily=\"Roboto\"\n color={vars('colors-main-deepSkyBlue')}\n fontWeight=\"500\"\n >\n {buttonInfo}\n </Box>\n </Box>\n </Flex>\n </Ripples>\n </Link>\n )\n}\n","import { FC } from 'react'\nimport { Box, Text, Link } from '@chakra-ui/react'\nimport { vars } from '@/theme'\nimport { ItemsEventsProps } from '../EventsTypes'\nimport { Calendar, Clock } from '../Icons'\nimport { Ripples } from '@/atoms'\n\nexport const SmallBox: FC<ItemsEventsProps> = ({\n id,\n eventTitle,\n startDate,\n startTime,\n buttonInfo,\n redirect,\n eventImage,\n targetBlank,\n}) => {\n const cssActive = {\n boxShadow: `0 2px 7px 0 ${vars('colors-neutral-silverSand')}`,\n }\n return (\n <Link\n key={id}\n href={redirect}\n target={targetBlank ? '_blank' : '_self'}\n rel={targetBlank ? 'noopener noreferrer' : undefined}\n transition=\"box-shadow .3s\"\n _active={cssActive}\n _hover={cssActive}\n _focusVisible={{\n boxShadow: `0 0 0 3px ${vars('colors-alert-deepSkyBlue')}`,\n }}\n width=\"286px\"\n height=\"247px\"\n borderRadius={vars('radii-big')}\n >\n <Ripples>\n <Box\n width=\"286px\"\n height=\"247px\"\n borderRadius={vars('radii-big')}\n border={vars('borders-light')}\n justifyContent=\"center\"\n textAlign=\"center\"\n display=\"flex\"\n flexDirection=\"column\"\n cursor=\"pointer\"\n >\n <Box\n flex=\"1\"\n bgImage={`linear-gradient(to bottom, rgba(0,0,0,0) 35%, rgba(0,0,0,1) 100%), url(${eventImage})`}\n backgroundSize=\"cover\"\n borderRadius=\"8px 8px 0 0\"\n margin=\"0\"\n display=\"grid\"\n alignItems=\"flex-end\"\n >\n <Box\n color={vars('colors-neutral-white')}\n padding=\"16px\"\n textAlign=\"initial\"\n fontFamily=\"Roboto\"\n fontSize=\"16px\"\n lineHeight=\"21px\"\n display=\"grid\"\n gap=\"8px\"\n >\n <Text fontWeight=\"700\" m=\"0px\">\n {eventTitle}\n </Text>\n <Box display=\"flex\" alignItems=\"center\" gap=\"4px\">\n <Calendar />\n <Text fontWeight=\"400\" m=\"0px\">\n {startDate}\n </Text>\n <Text m=\"0px\">|</Text>\n <Clock />\n <Text m=\"0px\">{startTime}</Text>\n </Box>\n </Box>\n </Box>\n <Box\n width=\"100%\"\n height=\"50px\"\n backgroundColor=\"white\"\n alignItems=\"center\"\n display=\"flex\"\n justifyContent=\"center\"\n borderRadius=\" 0 0 8px 8px\"\n fontSize=\"16px\"\n fontFamily=\"Roboto\"\n color={vars('colors-main-deepSkyBlue')}\n fontWeight=\"500\"\n >\n {buttonInfo}\n </Box>\n </Box>\n </Ripples>\n </Link>\n )\n}\n","import { FC } from 'react'\nimport { EventosProps } from './EventsTypes'\nimport { SmallBox, LargeBox } from './TypeBox'\n\nexport const Eventos: FC<EventosProps> = ({ typeEvent, itemsEvent }) => {\n // Retornamos tipo de caja evento\n if (typeEvent === 'LARGE_EVENTS') {\n return <LargeBox {...itemsEvent} />\n } else {\n return <SmallBox {...itemsEvent} />\n }\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\nimport { uniqueId } from '@/services'\n\nexport const Avi: FC = () => {\n const id = `clip${uniqueId()}`\n return (\n <Icon\n width=\"70px\"\n height=\"70px\"\n viewBox=\"0 0 70 70\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_3171_3696)\">\n <path\n d=\"M43.75 2.1875V19.6875H61.25\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M61.25 28.4375V19.6875L43.75 2.1875H8.75V28.4375\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M8.75 59.0625V67.8125H61.25V59.0625\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M28.4375 50.3125L27.7812 47.9063H23.625L23.1875 50.3125H19.4688L23.625 37.8438H28.2188L32.375 50.3125H28.4375ZM27.125 45.2813L26.6875 43.3125C26.4688 42.875 26.4688 42.2188 26.25 41.5625C26.0313 40.9063 26.0313 40.25 25.8125 40.0312C25.8125 40.25 25.5938 40.9063 25.5938 41.5625C25.5938 42.2188 25.1563 43.5312 24.5 45.5H27.125V45.2813Z\"\n fill=\"white\"\n />\n <path\n d=\"M40.6875 37.8438H44.4062L40.25 50.3125H36.3125L32.1562 37.8438H35.875L37.625 44.1875C38.0625 45.5 38.0625 46.5938 38.2813 47.0313C38.2813 46.5938 38.5 46.1562 38.5 45.5C38.5 44.8438 38.7188 44.4063 38.7188 44.1875L40.6875 37.8438Z\"\n fill=\"white\"\n />\n <path d=\"M45.7188 50.3125V37.8438H49.2188V50.3125H45.7188Z\" fill=\"white\" />\n <path\n d=\"M67.8125 28.4375H2.1875V59.0625H67.8125V28.4375Z\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"70px\" height=\"70px\" fill=\"white\" />\n </clipPath>\n </defs>\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\nimport { uniqueId } from '@/services'\n\nexport const Csv: FC = () => {\n const id = `clip${uniqueId()}`\n return (\n <Icon\n width=\"70px\"\n height=\"70px\"\n viewBox=\"0 0 70 70\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_3171_3654)\">\n <path\n d=\"M43.75 2.1875V19.6875H61.25\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M61.25 28.4375V19.6875L43.75 2.1875H8.75V28.4375\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M8.75 59.0625V67.8125H61.25V59.0625\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M25.1563 40.4688C24.2813 40.4688 23.625 40.9062 23.1875 41.5625C22.75 42.2188 22.5313 43.0938 22.5313 44.1875C22.5313 46.5938 23.4063 47.6875 25.375 47.6875C26.0313 47.6875 26.4688 47.6875 26.9063 47.4688C27.3438 47.25 28 47.0312 28.4375 46.8125V49.6563C27.3438 50.0938 26.25 50.3125 24.9375 50.3125C22.9687 50.3125 21.6562 49.875 20.5625 48.5625C19.4687 47.25 19.0312 45.9375 19.0312 43.75C19.0312 42.4375 19.25 41.3437 19.6875 40.25C20.125 39.1562 20.7813 38.5 21.875 38.0625C22.9688 37.625 23.8438 37.1875 25.1563 37.1875C26.4688 37.1875 27.7813 37.4062 29.0938 38.0625L28 40.6875C27.5625 40.4688 27.125 40.25 26.6875 40.25C26.25 40.25 25.5938 40.4688 25.1563 40.4688Z\"\n fill=\"white\"\n />\n <path\n d=\"M39.1562 46.5938C39.1562 47.4688 38.9375 48.125 38.5 48.5625C38.0625 49 37.625 49.6562 36.75 49.875C35.875 50.0938 35.2188 50.3125 34.125 50.3125C33.25 50.3125 32.5938 50.3125 31.9375 50.0938C31.2813 49.875 30.8438 49.875 30.1875 49.4375V46.375C30.8438 46.8125 31.5 47.0313 32.1562 47.25C32.8125 47.4688 33.4688 47.4688 34.125 47.4688C34.5625 47.4688 35 47.4688 35.2188 47.25C35.4375 47.0313 35.6562 46.8125 35.6562 46.5938C35.6562 46.375 35.6563 46.375 35.4375 46.1563C35.2188 45.9375 35.2187 46.1563 35 45.9375C34.7812 45.7188 34.3437 45.5 33.25 45.0625C32.375 44.625 31.7187 44.4063 31.5 43.9688C31.2812 43.5313 30.8437 43.3125 30.625 42.875C30.4062 42.4375 30.4062 42 30.4062 41.3438C30.4062 40.25 30.8437 39.375 31.7187 38.7188C32.5937 38.0625 33.6875 37.8438 35.2188 37.8438C36.5313 37.8438 37.8437 38.0625 39.1562 38.7188L38.0625 41.3438C36.9687 40.9063 35.875 40.4688 35 40.4688C34.5625 40.4688 34.3438 40.4688 34.125 40.6875C33.9063 40.9063 33.9062 41.125 33.9062 41.3438C33.9062 41.5625 34.125 41.7813 34.3437 42C34.5625 42.2188 35.2188 42.4375 36.3125 43.0938C37.4063 43.5313 38.0625 44.1875 38.5 44.625C38.9375 45.0625 39.1562 45.7188 39.1562 46.5938Z\"\n fill=\"white\"\n />\n <path\n d=\"M48.125 37.8438H51.8438L47.6875 50.3125H43.75L39.5938 37.8438H43.3125L45.0625 44.1875C45.5 45.5 45.5 46.5938 45.7187 47.0313C45.7187 46.5938 45.9375 46.1562 45.9375 45.5C45.9375 44.8438 46.1562 44.4063 46.1562 44.1875L48.125 37.8438Z\"\n fill=\"white\"\n />\n <path\n d=\"M67.8125 28.4375H2.1875V59.0625H67.8125V28.4375Z\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"70px\" height=\"70px\" fill=\"white\" />\n </clipPath>\n </defs>\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\nimport { uniqueId } from '@/services'\n\nexport const Doc: FC = () => {\n const id = `clip${uniqueId()}`\n return (\n <Icon\n width=\"70px\"\n height=\"70px\"\n viewBox=\"0 0 70 70\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_3171_3668)\">\n <path\n d=\"M43.75 2.1875V19.6875H61.25\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M61.25 28.4375V19.6875L43.75 2.1875H8.75V28.4375\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M8.75 59.0625V67.8125H61.25V59.0625\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M27.7812 43.75C27.7812 45.9375 27.125 47.4688 26.0312 48.5625C24.9375 49.6563 23.4062 50.3125 21.2187 50.3125H17.2812V37.8438H21.6562C23.625 37.8438 25.1562 38.2813 26.25 39.375C27.3438 40.4688 27.7812 41.7813 27.7812 43.75ZM24.2813 43.9688C24.2813 42.875 24.0625 42 23.625 41.3438C23.1875 40.6875 22.5312 40.4688 21.6562 40.4688H20.5625V47.4688H21.2187C22.3125 47.4688 22.9687 47.25 23.4062 46.5938C23.8437 45.9375 24.2813 45.0625 24.2813 43.9688Z\"\n fill=\"white\"\n />\n <path\n d=\"M41.7813 43.9688C41.7813 46.1562 41.3437 47.6875 40.25 48.7812C39.1562 49.875 37.625 50.5312 35.6562 50.5312C33.6875 50.5312 32.1562 49.875 31.0625 48.7812C29.9687 47.6875 29.5312 46.1562 29.5312 43.9688C29.5312 41.7812 29.9687 40.25 31.0625 39.1562C32.1562 38.0625 33.6875 37.4062 35.6562 37.4062C37.625 37.4062 39.1562 37.8437 40.25 38.9375C41.3437 40.0312 41.7813 42 41.7813 43.9688ZM33.25 43.9688C33.25 46.375 34.125 47.6875 35.875 47.6875C36.75 47.6875 37.4062 47.4687 37.8437 46.8125C38.2812 46.1562 38.5 45.2812 38.5 43.9688C38.5 42.6562 38.2812 41.7812 37.8437 41.125C37.4062 40.4687 36.75 40.25 35.875 40.25C34.125 40.4687 33.25 41.5625 33.25 43.9688Z\"\n fill=\"white\"\n />\n <path\n d=\"M49.6563 40.4688C48.7813 40.4688 48.125 40.9062 47.6875 41.5625C47.25 42.2188 47.0313 43.0938 47.0313 44.1875C47.0313 46.5938 47.9062 47.6875 49.875 47.6875C50.5312 47.6875 50.9688 47.6875 51.4063 47.4688C51.8438 47.25 52.5 47.0312 52.9375 46.8125V49.6563C51.8438 50.0938 50.75 50.3125 49.4375 50.3125C47.4688 50.3125 46.1563 49.875 45.0625 48.5625C43.9688 47.25 43.5312 45.9375 43.5312 43.75C43.5312 42.4375 43.75 41.3437 44.1875 40.25C44.625 39.1562 45.2813 38.5 46.375 38.0625C47.4688 37.625 48.3438 37.1875 49.6563 37.1875C50.9688 37.1875 52.2813 37.4062 53.5938 38.0625L52.5 41.125C52.0625 40.9062 51.625 40.6875 51.1875 40.6875C50.75 40.6875 50.0938 40.4688 49.6563 40.4688Z\"\n fill=\"white\"\n />\n <path\n d=\"M67.8125 28.4375H2.1875V59.0625H67.8125V28.4375Z\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"70px\" height=\"70px\" fill=\"white\" />\n </clipPath>\n </defs>\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\nimport { uniqueId } from '@/services'\n\nexport const Docx: FC = () => {\n const id = `clip${uniqueId()}`\n return (\n <Icon\n width=\"70px\"\n height=\"70px\"\n viewBox=\"0 0 70 70\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_3171_3752)\">\n <path\n d=\"M43.75 2.1875V19.6875H61.25\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M61.25 28.4375V19.6875L43.75 2.1875H8.75V28.4375\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M8.75 59.0625V67.8125H61.25V59.0625\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M21.6562 43.75C21.6562 45.9375 21 47.4688 19.9063 48.5625C18.8125 49.6563 17.0625 50.3125 15.0938 50.3125H10.9375V37.8438H15.3125C17.2812 37.8438 18.8125 38.2813 19.9063 39.375C21 40.4688 21.6562 41.7813 21.6562 43.75ZM18.1563 43.9688C18.1563 42.875 17.9375 42 17.5 41.3438C17.0625 40.6875 16.1875 40.4688 15.3125 40.4688H14.2188V47.4688H14.875C15.9688 47.4688 16.625 47.25 17.0625 46.5938C17.5 45.9375 18.1563 45.0625 18.1563 43.9688Z\"\n fill=\"white\"\n />\n <path\n d=\"M35.4375 43.9688C35.4375 46.1562 35 47.6875 33.9062 48.7812C32.8125 49.875 31.2812 50.5312 29.3125 50.5312C27.3437 50.5312 25.8125 49.875 24.7187 48.7812C23.625 47.6875 23.1875 46.1562 23.1875 43.9688C23.1875 41.7812 23.625 40.25 24.7187 39.1562C25.8125 38.0625 27.3437 37.4062 29.3125 37.4062C31.2812 37.4062 32.8125 37.8437 33.9062 38.9375C35 40.0312 35.4375 42 35.4375 43.9688ZM26.9062 43.9688C26.9062 46.375 27.7812 47.6875 29.5312 47.6875C30.4062 47.6875 31.0625 47.4687 31.5 46.8125C31.9375 46.1562 32.1562 45.2812 32.1562 43.9688C32.1562 42.6562 31.9375 41.7812 31.5 41.125C31.0625 40.4687 30.4062 40.25 29.5312 40.25C27.7812 40.4687 26.9062 41.5625 26.9062 43.9688Z\"\n fill=\"white\"\n />\n <path\n d=\"M43.3125 40.4687C42.4375 40.4687 41.7812 40.9062 41.3437 41.5625C40.9062 42.2187 40.6875 43.0938 40.6875 44.1875C40.6875 46.5938 41.5625 47.6875 43.5312 47.6875C44.1875 47.6875 44.625 47.6875 45.0625 47.4688C45.5 47.25 46.1562 47.0312 46.5937 46.8125V49.6562C45.5 50.0938 44.4063 50.3125 43.0938 50.3125C41.125 50.3125 39.8125 49.875 38.7188 48.5625C37.625 47.25 37.1875 46.1562 37.1875 44.1875C37.1875 42.875 37.4062 41.7812 37.8437 40.6875C38.2812 39.5937 38.9375 38.9375 40.0312 38.5C41.125 38.0625 42 37.625 43.3125 37.625C44.625 37.625 45.9375 37.8437 47.25 38.5L46.1563 41.125C45.7188 40.9062 45.2812 40.6875 44.8438 40.6875C44.4062 40.6875 43.75 40.4687 43.3125 40.4687Z\"\n fill=\"white\"\n />\n <path\n d=\"M60.375 50.3125H56.4375L54.0313 46.375L51.625 50.3125H47.9062L52.0625 43.9688L48.125 37.8438H51.8438L54.0313 41.7813L56.2188 37.8438H60.1563L56.2188 44.1875L60.375 50.3125Z\"\n fill=\"white\"\n />\n <path\n d=\"M67.8125 28.4375H2.1875V59.0625H67.8125V28.4375Z\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"70px\" height=\"70px\" fill=\"white\" />\n </clipPath>\n </defs>\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\nimport { uniqueId } from '@/services'\n\nexport const Gif: FC = () => {\n const id = `clip${uniqueId()}`\n return (\n <Icon\n width=\"70px\"\n height=\"70px\"\n viewBox=\"0 0 70 70\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_3171_3597)\">\n <path\n d=\"M43.75 2.1875V19.6875H61.25\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M61.25 28.4375V19.6875L43.75 2.1875H8.75V28.4375\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M8.75 59.0625V67.8125H61.25V59.0625\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M27.125 43.0938H32.5937V49.875C31.0625 50.3125 29.5312 50.5312 27.7812 50.5312C25.8125 50.5312 24.2812 49.875 23.4062 48.7812C22.5312 47.6875 21.875 46.1562 21.875 43.9688C21.875 42 22.5313 40.4687 23.625 39.1562C24.7188 37.8437 26.4688 37.4062 28.4375 37.4062C29.3125 37.4062 29.9688 37.4063 30.625 37.625C31.2812 37.8438 31.9375 38.0625 32.375 38.2812L31.2812 40.9063C30.4062 40.4688 29.3125 40.25 28.2187 40.25C27.125 40.25 26.4687 40.4687 26.0312 41.125C25.5937 41.7812 25.1562 42.6562 25.1562 43.9688C25.1562 45.0625 25.375 45.9375 25.8125 46.5937C26.25 47.25 26.9063 47.4688 28 47.4688C28.4375 47.4688 28.875 47.4688 29.3125 47.25V45.2813H27.125V43.0938Z\"\n fill=\"white\"\n />\n <path d=\"M35 50.3125V37.8438H38.5V50.3125H35Z\" fill=\"white\" />\n <path\n d=\"M44.4062 50.3125H41.125V37.8438H48.5625V40.4688H44.4062V42.875H48.125V45.5H44.4062V50.3125Z\"\n fill=\"white\"\n />\n <path\n d=\"M67.8125 28.4375H2.1875V59.0625H67.8125V28.4375Z\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"70px\" height=\"70px\" fill=\"white\" />\n </clipPath>\n </defs>\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport {\n Avi,\n Csv,\n Doc,\n Docx,\n Gif,\n Jpeg,\n Jpg,\n Mkv,\n Mp3,\n Mp4,\n Pdf,\n Png,\n Ppt,\n Pptx,\n Wav,\n Xls,\n Xlsx,\n Url,\n} from './index'\n\ninterface IconsProps {\n type:\n | string\n | 'avi'\n | 'csv'\n | 'doc'\n | 'docx'\n | 'gif'\n | 'jpeg'\n | 'jpg'\n | 'mkv'\n | 'mp3'\n | 'mp4'\n | 'pdf'\n | 'png'\n | 'ppt'\n | 'pptx'\n | 'wav'\n | 'xls'\n | 'xlsx'\n}\n\nexport const Icons: FC<IconsProps> = ({ type }) => {\n switch (type) {\n case 'avi':\n return <Avi />\n case 'csv':\n return <Csv />\n case 'doc':\n return <Doc />\n case 'docx':\n return <Docx />\n case 'gif':\n return <Gif />\n case 'jpeg':\n return <Jpeg />\n case 'jpg':\n return <Jpg />\n case 'png':\n return <Png />\n case 'pdf':\n return <Pdf />\n case 'ppt':\n return <Ppt />\n case 'pptx':\n return <Pptx />\n case 'xls':\n return <Xls />\n case 'xlsx':\n return <Xlsx />\n case 'mp3':\n return <Mp3 />\n case 'wav':\n return <Wav />\n case 'mp4':\n return <Mp4 />\n case 'mkv':\n return <Mkv />\n case 'url':\n return <Url />\n default:\n return null\n }\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\nimport { uniqueId } from '@/services'\n\nexport const Jpeg: FC = () => {\n const id = `clip${uniqueId()}`\n return (\n <Icon\n width=\"70px\"\n height=\"70px\"\n viewBox=\"0 0 70 70\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_3171_3582)\">\n <path\n d=\"M43.75 2.1875V19.6875H61.25\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M61.25 28.4375V19.6875L43.75 2.1875H8.75V28.4375\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M8.75 59.0625V67.8125H61.25V59.0625\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M17.0625 54.25C16.4063 54.25 15.9688 54.25 15.3125 54.0313V51.4063C15.5312 51.4063 15.75 51.4063 15.9688 51.625C16.1875 51.8438 16.4063 51.625 16.625 51.625C17.2813 51.625 17.5 51.4063 17.7188 51.1875C17.9375 50.9688 18.1563 50.3125 18.1563 49.4375V37.8438H21.6562V49.2188C21.6562 50.9688 21.2187 52.2812 20.5625 53.1562C19.9062 54.0312 18.375 54.25 17.0625 54.25Z\"\n fill=\"white\"\n />\n <path\n d=\"M33.2502 41.7813C33.2502 43.0938 32.8127 44.1875 31.9377 45.0625C31.0627 45.9375 29.969 46.1563 28.4377 46.1563H27.5627V50.3125H24.2815V37.8438H28.6565C30.1877 37.8438 31.5002 38.2812 32.1565 38.9375C32.8127 39.5938 33.2502 40.4688 33.2502 41.7813ZM27.5627 43.3125H28.219C28.6565 43.3125 29.094 43.0938 29.5315 42.875C29.969 42.6563 29.969 42.2188 29.969 41.7813C29.969 40.9063 29.5315 40.4688 28.6565 40.4688H27.7815V43.3125H27.5627Z\"\n fill=\"white\"\n />\n <path\n d=\"M50.0937 43.0938H55.5625V49.875C54.0312 50.3125 52.5 50.5312 50.75 50.5312C48.7813 50.5312 47.25 49.875 46.375 48.7812C45.5 47.6875 44.8438 46.1562 44.8438 43.9688C44.8438 42 45.5 40.4687 46.5937 39.1562C47.6875 37.8437 49.4375 37.4062 51.4062 37.4062C52.2812 37.4062 52.9375 37.4063 53.5938 37.625C54.25 37.8438 54.9062 38.0625 55.3437 38.2812L54.25 40.9063C53.375 40.4688 52.2812 40.25 51.1875 40.25C50.0937 40.25 49.4375 40.4687 49 41.125C48.5625 41.7812 48.125 42.875 48.125 44.1875C48.125 45.2813 48.3437 46.1562 48.7812 46.8125C49.2187 47.4687 49.875 47.6875 50.9687 47.6875C51.4062 47.6875 51.8437 47.6875 52.2812 47.4688V45.5H50.0937V43.0938Z\"\n fill=\"white\"\n />\n <path\n d=\"M42.4375 50.3125H35V37.8438H42.4375V40.4688H38.5V42.4375H42.2187V45.0625H38.5V47.4688H42.4375V50.3125Z\"\n fill=\"white\"\n />\n <path\n d=\"M67.8125 28.4375H2.1875V59.0625H67.8125V28.4375Z\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"70px\" height=\"70px\" fill=\"white\" />\n </clipPath>\n </defs>\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\nimport { uniqueId } from '@/services'\n\nexport const Jpg: FC = () => {\n const id = `clip${uniqueId()}`\n return (\n <Icon\n width=\"70px\"\n height=\"70px\"\n viewBox=\"0 0 70 70\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_3171_3525)\">\n <path\n d=\"M43.75 2.1875V19.6875H61.25\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M61.25 28.4375V19.6875L43.75 2.1875H8.75V28.4375\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M8.75 59.0625V67.8125H61.25V59.0625\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M20.3438 54.25C19.6875 54.25 19.25 54.25 18.5938 54.0313V51.4063C18.8125 51.4063 19.0313 51.4063 19.25 51.625C19.4688 51.8438 19.6875 51.625 19.9063 51.625C20.5625 51.625 20.7813 51.4063 21 51.1875C21.2188 50.9688 21.4375 50.3125 21.4375 49.4375V37.8438H24.9375V49.2188C24.9375 50.9688 24.5 52.2812 23.8437 53.1562C23.1875 54.0312 21.6563 54.25 20.3438 54.25Z\"\n fill=\"white\"\n />\n <path\n d=\"M36.5313 41.7813C36.5313 43.0938 36.0938 44.1875 35.2188 45.0625C34.3438 45.9375 33.25 46.1563 31.7187 46.1563H30.8438V50.3125H27.5625V37.8438H31.9375C33.4688 37.8438 34.7813 38.2812 35.4375 38.9375C36.0938 39.5937 36.5313 40.4688 36.5313 41.7813ZM30.8438 43.3125H31.5C31.9375 43.3125 32.375 43.0938 32.8125 42.875C33.25 42.6563 33.25 42.2188 33.25 41.7813C33.25 40.9063 32.8125 40.4688 31.9375 40.4688H31.0625V43.3125H30.8438Z\"\n fill=\"white\"\n />\n <path\n d=\"M43.5312 43.0938H49V49.875C47.4687 50.3125 45.9375 50.5312 44.1875 50.5312C42.2188 50.5312 40.6875 49.875 39.8125 48.7812C38.9375 47.6875 38.2812 46.1562 38.2812 43.9688C38.2812 42 38.9375 40.4687 40.0312 39.1562C41.125 37.8437 42.875 37.4062 44.8438 37.4062C45.7188 37.4062 46.375 37.4063 47.0312 37.625C47.6875 37.8438 48.3437 38.0625 48.7812 38.2812L47.6875 40.9063C46.8125 40.4688 45.7187 40.25 44.625 40.25C43.5312 40.25 42.875 40.4687 42.4375 41.125C42 41.7812 41.5625 42.875 41.5625 44.1875C41.5625 45.2813 41.7812 46.1562 42.2187 46.8125C42.6562 47.4687 43.3125 47.6875 44.4062 47.6875C44.8437 47.6875 45.2812 47.6875 45.7187 47.4688V45.5H43.5312V43.0938Z\"\n fill=\"white\"\n />\n <path\n d=\"M67.8125 28.4375H2.1875V59.0625H67.8125V28.4375Z\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"70px\" height=\"70px\" fill=\"white\" />\n </clipPath>\n </defs>\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\nimport { uniqueId } from '@/services'\n\nexport const Mkv: FC = () => {\n const id = `clip${uniqueId()}`\n return (\n <Icon\n width=\"70px\"\n height=\"70px\"\n viewBox=\"0 0 70 70\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_3171_3710)\">\n <path\n d=\"M43.75 2.1875V19.6875H61.25\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M61.25 28.4375V19.6875L43.75 2.1875H8.75V28.4375\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M8.75 59.0625V67.8125H61.25V59.0625\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M21.2188 50.3125L18.5938 41.3438C18.8125 42.875 18.8125 43.9688 18.8125 44.8438V50.3125H15.75V37.8438H20.3438L22.9688 46.8125L25.5938 37.8438H30.1875V50.3125H27.125V44.8438C27.125 44.625 27.125 44.1875 27.125 43.9688C27.125 43.75 27.125 42.875 27.3438 41.3438L24.5 50.3125H21.2188Z\"\n fill=\"white\"\n />\n <path\n d=\"M43.3125 50.3125H39.5938L37.1875 45.5L36.0938 46.1563V50.3125H32.8125V37.8438H36.3125V43.3125C36.5313 42.875 36.75 42.4375 37.4063 41.7813L40.0312 37.8438H43.75L39.8125 43.5313L43.3125 50.3125Z\"\n fill=\"white\"\n />\n <path\n d=\"M51.8438 37.8438H55.5625L51.4063 50.3125H47.4688L43.3125 37.8438H47.0313L48.7812 44.1875C49.2188 45.5 49.2188 46.5938 49.4375 47.0313C49.4375 46.5938 49.6563 46.1562 49.6563 45.5C49.6563 44.8438 49.875 44.4063 49.875 44.1875L51.8438 37.8438Z\"\n fill=\"white\"\n />\n <path\n d=\"M67.8125 28.4375H2.1875V59.0625H67.8125V28.4375Z\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"70px\" height=\"70px\" fill=\"white\" />\n </clipPath>\n </defs>\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\nimport { uniqueId } from '@/services'\n\nexport const Mp3: FC = () => {\n const id = `clip${uniqueId()}`\n return (\n <Icon\n width=\"70px\"\n height=\"70px\"\n viewBox=\"0 0 70 70\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_3171_3724)\">\n <path\n d=\"M43.75 2.1875V19.6875H61.25\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M61.25 28.4375V19.6875L43.75 2.1875H8.75V28.4375\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M8.75 59.0625V67.8125H61.25V59.0625\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M22.75 50.3125L20.125 41.3438C20.3437 42.875 20.3438 43.9688 20.3438 44.8438V50.3125H17.2812V37.8438H21.875L24.5 46.8125L27.125 37.8438H31.7188V50.3125H28.4375V44.8438C28.4375 44.625 28.4375 44.1875 28.4375 43.9688C28.4375 43.75 28.4375 42.875 28.6563 41.3438L25.8125 50.3125H22.75Z\"\n fill=\"white\"\n />\n <path\n d=\"M43.3125 41.7813C43.3125 43.0938 42.875 44.1875 42 45.0625C41.125 45.9375 40.0313 46.1563 38.5 46.1563H37.625V50.3125H34.3438V37.8438H38.7188C40.25 37.8438 41.5625 38.2812 42.2187 38.9375C42.875 39.5938 43.3125 40.4688 43.3125 41.7813ZM37.625 43.3125H38.2813C38.7188 43.3125 39.1563 43.0938 39.5938 42.875C40.0313 42.6563 40.0312 42.2188 40.0312 41.7813C40.0312 40.9063 39.5938 40.4688 38.7188 40.4688H37.8437V43.3125H37.625Z\"\n fill=\"white\"\n />\n <path\n d=\"M52.9375 40.4688C52.9375 41.3438 52.7188 42 52.2813 42.4375C51.8438 42.875 51.1875 43.5312 50.3125 43.75C52.5 43.9688 53.375 45.0625 53.375 46.8125C53.375 47.9062 52.9375 48.7813 52.0625 49.6563C51.1875 50.5313 49.875 50.75 48.125 50.75C47.4688 50.75 46.8125 50.75 46.1563 50.5313C45.5 50.3125 45.0625 50.3125 44.4062 50.0937V47.25C44.8438 47.4688 45.5 47.6875 46.1563 47.9062C46.8125 48.125 47.25 48.125 47.6875 48.125C48.3438 48.125 49 48.125 49.2188 47.9062C49.4375 47.6875 49.6563 47.4688 49.6563 47.0312C49.6563 46.5938 49.6563 46.375 49.4375 46.1563C49.2188 45.9375 49 45.9375 48.5625 45.7187C48.125 45.5 47.6875 45.5 47.0313 45.5H46.1563V42.875H47.0313C48.7813 42.875 49.6563 42.4375 49.6563 41.5625C49.6563 41.125 49.4375 40.9063 49.2188 40.9063C49 40.9063 48.5625 40.6875 48.125 40.6875C47.25 40.6875 46.5938 40.9062 45.7188 41.5625L44.4062 39.375C45.0625 38.9375 45.7188 38.5 46.375 38.5C47.0313 38.5 47.9062 38.2812 48.7812 38.2812C50.0938 38.2812 51.1875 38.5 51.8438 39.1562C52.5 39.8125 52.9375 39.5938 52.9375 40.4688Z\"\n fill=\"white\"\n />\n <path\n d=\"M67.8125 28.4375H2.1875V59.0625H67.8125V28.4375Z\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"70px\" height=\"70px\" fill=\"white\" />\n </clipPath>\n </defs>\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\nimport { uniqueId } from '@/services'\n\nexport const Mp4: FC = () => {\n const id = `clip${uniqueId()}`\n return (\n <Icon\n width=\"70px\"\n height=\"70px\"\n viewBox=\"0 0 70 70\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_3171_3682)\">\n <path\n d=\"M43.75 2.1875V19.6875H61.25\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M61.25 28.4375V19.6875L43.75 2.1875H8.75V28.4375\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M8.75 59.0625V67.8125H61.25V59.0625\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M22.75 50.3125L20.125 41.3438C20.3437 42.875 20.3438 43.9688 20.3438 44.8438V50.3125H17.2812V37.8438H21.875L24.5 46.8125L27.125 37.8438H31.7188V50.3125H28.4375V44.8438C28.4375 44.625 28.4375 44.1875 28.4375 43.9688C28.4375 43.75 28.4375 42.875 28.6563 41.3438L25.8125 50.3125H22.75Z\"\n fill=\"white\"\n />\n <path\n d=\"M43.3125 41.7813C43.3125 43.0938 42.875 44.1875 42 45.0625C41.125 45.9375 40.0313 46.1563 38.5 46.1563H37.625V50.3125H34.3438V37.8438H38.7188C40.25 37.8438 41.5625 38.2812 42.2187 38.9375C42.875 39.5938 43.3125 40.4688 43.3125 41.7813ZM37.625 43.3125H38.2813C38.7188 43.3125 39.1563 43.0938 39.5938 42.875C40.0313 42.6563 40.0312 42.2188 40.0312 41.7813C40.0312 40.9063 39.5938 40.4688 38.7188 40.4688H37.8437V43.3125H37.625Z\"\n fill=\"white\"\n />\n <path\n d=\"M53.8125 47.9063H52.5V50.3125H49.2187V47.9063H44.1875V45.5L49.4375 37.8438H52.5V45.5H53.8125V47.9063ZM49.2187 45.2813V43.75C49.2187 43.5313 49.2187 43.0938 49.2187 42.6563C49.2187 42.2188 49.2187 42 49.2187 42C49 42.4375 48.7812 42.875 48.5625 43.3125L47.25 45.2813H49.2187Z\"\n fill=\"white\"\n />\n <path\n d=\"M67.8125 28.4375H2.1875V59.0625H67.8125V28.4375Z\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"70px\" height=\"70px\" fill=\"white\" />\n </clipPath>\n </defs>\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\nimport { uniqueId } from '@/services'\n\nexport const Pdf: FC = () => {\n const id = `clip${uniqueId()}`\n return (\n <Icon\n width=\"70px\"\n height=\"70px\"\n viewBox=\"0 0 70 70\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_3171_3625)\">\n <path\n d=\"M43.75 2.1875V19.6875H61.25\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M61.25 28.4375V19.6875L43.75 2.1875H8.75V28.4375\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M8.75 59.0625V67.8125H61.25V59.0625\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M28.7503 41.7923C28.7503 43.1879 28.3391 44.2664 27.5166 45.0276C26.6941 45.7889 25.5238 46.1673 24.0078 46.1673H23.0584V50.3126H19.6831V37.8198H24.0078C25.585 37.8198 26.7706 38.1633 27.5625 38.8545C28.3544 39.5458 28.7503 40.5214 28.7503 41.7923ZM23.0584 43.4176H23.6731C24.1806 43.4176 24.5831 43.2754 24.8828 42.9911C25.1825 42.7067 25.3312 42.313 25.3312 41.812C25.3312 40.9676 24.8653 40.5476 23.9291 40.5476H23.0584V43.4176Z\"\n fill=\"white\"\n />\n <path\n d=\"M41.3438 43.8005C41.3438 45.8851 40.7706 47.4929 39.6222 48.6195C38.4738 49.7461 36.8616 50.3126 34.7812 50.3126H30.7388V37.8198H35.0634C37.0694 37.8198 38.6181 38.3317 39.7075 39.3576C40.7969 40.3836 41.3438 41.8645 41.3438 43.8005ZM37.8416 43.9208C37.8416 42.7767 37.6141 41.9279 37.1613 41.3745C36.7084 40.8211 36.0216 40.5454 35.0984 40.5454H34.1162V47.5433H34.8687C35.8947 47.5433 36.645 47.2458 37.1241 46.6508C37.6031 46.0558 37.8416 45.1458 37.8416 43.9208Z\"\n fill=\"white\"\n />\n <path\n d=\"M46.9066 50.3126H43.5816V37.8198H50.9644V40.528H46.9066V42.9123H50.6494V45.6204H46.9066V50.3126Z\"\n fill=\"white\"\n />\n <path\n d=\"M67.8125 28.4375H2.1875V59.0625H67.8125V28.4375Z\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"70px\" height=\"70px\" fill=\"white\" />\n </clipPath>\n </defs>\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\nimport { uniqueId } from '@/services'\n\nexport const Png: FC = () => {\n const id = `clip${uniqueId()}`\n return (\n <Icon\n width=\"70px\"\n height=\"70px\"\n viewBox=\"0 0 70 70\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_3171_3568)\">\n <path\n d=\"M43.75 2.1875V19.6875H61.25\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M61.25 28.4375V19.6875L43.75 2.1875H8.75V28.4375\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M8.75 59.0625V67.8125H61.25V59.0625\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M26.0312 41.7813C26.0312 43.0938 25.5938 44.1875 24.7188 45.0625C23.8438 45.9375 22.75 46.1563 21.2187 46.1563H20.3438V50.3125H17.0625V37.8438H21.4375C22.9688 37.8438 24.2812 38.2812 24.9375 38.9375C25.5937 39.5938 26.0312 40.4688 26.0312 41.7813ZM20.3438 43.3125H21C21.4375 43.3125 21.875 43.0938 22.3125 42.875C22.75 42.6563 22.75 42.2188 22.75 41.7813C22.75 40.9063 22.3125 40.4688 21.4375 40.4688H20.3438V43.3125Z\"\n fill=\"white\"\n />\n <path\n d=\"M40.0312 50.3125H35.6562L31.0625 41.5625C31.0625 42.875 31.2813 43.9688 31.2813 44.625V50.3125H28.2188V37.8438H32.5938L37.1875 46.5938C37.1875 45.2812 36.9688 44.4063 36.9688 43.5313V37.8438H40.0312V50.3125Z\"\n fill=\"white\"\n />\n <path\n d=\"M47.6875 43.0938H53.1562V49.875C51.625 50.3125 50.0938 50.5312 48.3438 50.5312C46.375 50.5312 44.8438 49.875 43.9688 48.7812C43.0938 47.6875 42.4375 46.1562 42.4375 43.9688C42.4375 42 43.0938 40.4687 44.1875 39.1562C45.2813 37.8437 47.0312 37.4062 49 37.4062C49.875 37.4062 50.5312 37.4063 51.1875 37.625C51.8438 37.8438 52.5 38.0625 52.9375 38.2812L51.8438 40.9063C50.9688 40.4688 49.875 40.25 48.7812 40.25C47.6875 40.25 47.0312 40.4687 46.5937 41.125C46.1562 41.7812 45.7188 42.6562 45.7188 43.9688C45.7188 45.0625 45.9375 45.9375 46.375 46.5937C46.8125 47.25 47.4688 47.4688 48.5625 47.4688C49 47.4688 49.4375 47.4688 49.875 47.25V45.2813H47.6875V43.0938Z\"\n fill=\"white\"\n />\n <path\n d=\"M67.8125 28.4375H2.1875V59.0625H67.8125V28.4375Z\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"70px\" height=\"70px\" fill=\"white\" />\n </clipPath>\n </defs>\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\nimport { uniqueId } from '@/services'\n\nexport const Ppt: FC = () => {\n const id = `clip${uniqueId()}`\n return (\n <Icon\n width=\"70px\"\n height=\"70px\"\n viewBox=\"0 0 70 70\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_3171_3539)\">\n <path\n d=\"M43.75 2.1875V19.6875H61.25\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M61.25 28.4375V19.6875L43.75 2.1875H8.75V28.4375\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M8.75 59.0625V67.8125H61.25V59.0625\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M28.875 41.7813C28.875 43.0938 28.4375 44.1875 27.5625 45.0625C26.6875 45.9375 25.5938 46.1563 24.0625 46.1563H22.9688V50.3125H19.6875V37.8438H24.0625C25.5938 37.8438 26.9062 38.2812 27.5625 38.9375C28.2187 39.5938 28.875 40.4688 28.875 41.7813ZM22.9688 43.3125H23.625C24.0625 43.3125 24.5 43.0938 24.9375 42.875C25.375 42.6563 25.375 42.2188 25.375 41.7813C25.375 40.9063 24.9375 40.4688 24.0625 40.4688H22.9688V43.3125Z\"\n fill=\"white\"\n />\n <path\n d=\"M39.8122 41.7813C39.8122 43.0938 39.3747 44.1875 38.4997 45.0625C37.6247 45.9375 36.5309 46.1563 34.9997 46.1563H34.1247V50.3125H30.8434V37.8438H35.2184C36.7497 37.8438 38.0622 38.2812 38.7184 38.9375C39.3747 39.5938 39.8122 40.4688 39.8122 41.7813ZM34.1247 43.3125H34.7809C35.2184 43.3125 35.6559 43.0938 36.0934 42.875C36.5309 42.6563 36.5309 42.2188 36.5309 41.7813C36.5309 40.9063 36.0934 40.4688 35.2184 40.4688H34.3434V43.3125H34.1247Z\"\n fill=\"white\"\n />\n <path\n d=\"M47.2499 50.3125H43.9686V40.6875H40.9061V37.8438H50.3124V40.6875H47.2499V50.3125Z\"\n fill=\"white\"\n />\n <path\n d=\"M67.8125 28.4375H2.1875V59.0625H67.8125V28.4375Z\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"70px\" height=\"70px\" fill=\"white\" />\n </clipPath>\n </defs>\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\nimport { uniqueId } from '@/services'\n\nexport const Pptx: FC = () => {\n const id = `clip${uniqueId()}`\n return (\n <Icon\n width=\"70px\"\n height=\"70px\"\n viewBox=\"0 0 70 70\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_3171_3553)\">\n <path\n d=\"M43.75 2.1875V19.6875H61.25\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M61.25 28.4375V19.6875L43.75 2.1875H8.75V28.4375\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M8.75 59.0625V67.8125H61.25V59.0625\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M22.9688 41.7813C22.9688 43.0938 22.5312 44.1875 21.6562 45.0625C20.7812 45.9375 19.6875 46.1563 18.1562 46.1563H17.0625V50.3125H13.7812V37.8438H18.1562C19.6875 37.8438 21 38.2812 21.6562 38.9375C22.3125 39.5938 22.9688 40.4688 22.9688 41.7813ZM17.0625 43.3125H17.7188C18.1563 43.3125 18.5937 43.0938 19.0312 42.875C19.4687 42.6563 19.4687 42.2188 19.4687 41.7813C19.4687 40.9063 19.0312 40.4688 18.1562 40.4688H17.0625V43.3125Z\"\n fill=\"white\"\n />\n <path\n d=\"M33.9063 41.7813C33.9063 43.0938 33.4688 44.1875 32.5938 45.0625C31.7188 45.9375 30.625 46.1563 29.0938 46.1563H28.2188V50.3125H24.9375V37.8438H29.3125C30.8438 37.8438 32.1563 38.2812 32.8125 38.9375C33.4688 39.5938 33.9063 40.4688 33.9063 41.7813ZM28.2188 43.3125H28.875C29.3125 43.3125 29.75 43.0938 30.1875 42.875C30.625 42.6563 30.625 42.2188 30.625 41.7813C30.625 40.9063 30.1875 40.4688 29.3125 40.4688H28.4375V43.3125H28.2188Z\"\n fill=\"white\"\n />\n <path\n d=\"M41.3437 50.3125H38.0625V40.6875H35V37.8438H44.4062V40.6875H41.3437V50.3125Z\"\n fill=\"white\"\n />\n <path\n d=\"M57.5312 50.3125H53.5937L51.1875 46.375L48.7812 50.3125H45.0625L49.2187 43.9688L45.2813 37.8438H49L51.1875 41.7813L53.375 37.8438H57.3125L53.375 44.1875L57.5312 50.3125Z\"\n fill=\"white\"\n />\n <path\n d=\"M67.8125 28.4375H2.1875V59.0625H67.8125V28.4375Z\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"70px\" height=\"70px\" fill=\"white\" />\n </clipPath>\n </defs>\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\nimport { uniqueId } from '@/services'\n\nexport const Wav: FC = () => {\n const id = `clip${uniqueId()}`\n return (\n <Icon\n width=\"70px\"\n height=\"70px\"\n viewBox=\"0 0 70 70\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_3171_3738)\">\n <path\n d=\"M43.75 2.1875V19.6875H61.25\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M61.25 28.4375V19.6875L43.75 2.1875H8.75V28.4375\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M8.75 59.0625V67.8125H61.25V59.0625\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M28.2187 50.3125H24.2812L23.1875 44.8438C23.1875 44.625 22.9688 44.1875 22.9688 43.5313C22.9688 42.875 22.75 42.2188 22.75 41.7813C22.75 42.2188 22.5312 42.6563 22.5312 43.0938C22.5312 43.5313 22.3125 44.1875 22.3125 44.625C22.3125 45.0625 21.6562 47.0313 20.7812 50.3125H16.8437L13.7812 37.8438H17.0625L18.375 44.1875C18.5937 45.5 18.8125 46.5938 19.0312 47.4688C19.0312 46.8125 19.25 46.1563 19.4687 45.0625C19.6875 43.9688 19.9063 43.3125 19.9063 42.6563L21 37.8438H24.0625L25.1562 42.6563C25.375 43.3125 25.5938 44.1875 25.8125 45.2813C26.0312 46.375 26.0312 47.0313 26.25 47.4688C26.25 46.8125 26.4688 45.7188 26.9062 44.1875L28.2187 37.8438H31.5L28.2187 50.3125Z\"\n fill=\"white\"\n />\n <path\n d=\"M40.6875 50.3125L40.0312 47.9063H35.875L35.4375 50.3125H31.7188L35.875 37.8438H40.4688L44.625 50.3125H40.6875ZM39.375 45.2813L38.9375 43.3125C38.7187 42.875 38.7188 42.2188 38.5 41.5625C38.2813 40.9063 38.2812 40.25 38.0625 40.0312C38.0625 40.25 37.8437 40.9063 37.8437 41.5625C37.8437 42.2188 37.4062 43.5312 36.75 45.5H39.375V45.2813Z\"\n fill=\"white\"\n />\n <path\n d=\"M52.7188 37.8438H56.4375L52.5 50.3125H48.5625L44.4062 37.8438H48.125L49.875 44.1875C50.3125 45.5 50.3125 46.5938 50.5313 47.0313C50.5313 46.5938 50.75 46.1562 50.75 45.5C50.75 44.8438 50.9688 44.4063 50.9688 44.1875L52.7188 37.8438Z\"\n fill=\"white\"\n />\n <path\n d=\"M67.8125 28.4375H2.1875V59.0625H67.8125V28.4375Z\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"70px\" height=\"70px\" fill=\"white\" />\n </clipPath>\n </defs>\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\nimport { uniqueId } from '@/services'\n\nexport const Xls: FC = () => {\n const id = `clip${uniqueId()}`\n return (\n <Icon\n width=\"70px\"\n height=\"70px\"\n viewBox=\"0 0 70 70\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_3171_3611)\">\n <path\n d=\"M43.75 2.1875V19.6875H61.25\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M61.25 28.4375V19.6875L43.75 2.1875H8.75V28.4375\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M8.75 59.0625V67.8125H61.25V59.0625\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M32.1563 50.3125H28.4375L26.0312 46.375L23.4063 50.3125H19.6875L23.8438 43.9688L19.9062 37.8438H23.625L25.8125 41.7813L28 37.8438H31.9375L28 44.1875L32.1563 50.3125Z\"\n fill=\"white\"\n />\n <path d=\"M33.6873 50.3125V37.8438H36.9685V47.6875H41.781V50.3125H33.6873Z\" fill=\"white\" />\n <path\n d=\"M52.0624 46.5937C52.0624 47.4687 51.8436 48.125 51.4061 48.5625C50.9686 49 50.5311 49.6562 49.6561 49.875C48.7811 50.0937 48.1249 50.3125 47.0311 50.3125C46.1561 50.3125 45.4999 50.3125 44.8436 50.0937C44.1874 49.875 43.7499 49.875 43.0936 49.4375V46.375C43.7499 46.8125 44.4061 47.0312 45.0624 47.25C45.7186 47.4687 46.3749 47.4688 47.0311 47.4688C47.4686 47.4688 47.9061 47.4687 48.1249 47.25C48.3436 47.0312 48.5624 46.8125 48.5624 46.5937C48.5624 46.375 48.5624 46.375 48.3436 46.1562C48.1249 45.9375 48.1249 45.9375 47.9061 45.7187C47.6874 45.5 47.2499 45.2812 46.1561 44.8437C45.2811 44.4062 44.6249 44.1875 44.4061 43.75C44.1874 43.3125 43.7499 43.0937 43.5311 42.6562C43.3124 42.2187 43.3124 41.7812 43.3124 41.125C43.3124 40.0312 43.7499 39.1562 44.6249 38.5C45.4999 37.8437 46.5936 37.625 48.1249 37.625C49.4374 37.625 50.7499 37.8437 52.0624 38.5L50.9686 41.125C49.8749 40.6875 48.7811 40.25 47.9061 40.25C47.4686 40.25 47.2499 40.25 47.0311 40.4687C46.8124 40.6875 46.8124 40.9062 46.8124 41.125C46.8124 41.3437 47.0311 41.5625 47.2499 41.7812C47.4686 42 48.1249 42.2187 49.2186 42.875C50.3124 43.3125 50.9686 43.9687 51.4061 44.4062C51.8436 44.8437 52.0624 45.7187 52.0624 46.5937Z\"\n fill=\"white\"\n />\n <path\n d=\"M67.8125 28.4375H2.1875V59.0625H67.8125V28.4375Z\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"70px\" height=\"70px\" fill=\"white\" />\n </clipPath>\n </defs>\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\nimport { uniqueId } from '@/services'\n\nexport const Xlsx: FC = () => {\n const id = `clip${uniqueId()}`\n return (\n <Icon\n width=\"70px\"\n height=\"70px\"\n viewBox=\"0 0 70 70\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_3171_3639)\">\n <path\n d=\"M43.75 2.1875V19.6875H61.25\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M61.25 28.4375V19.6875L43.75 2.1875H8.75V28.4375\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M8.75 59.0625V67.8125H61.25V59.0625\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M24.7188 50.3125H21L18.5938 46.375L15.9688 50.3125H12.25L16.4062 43.9688L12.4687 37.8438H16.1875L18.375 41.7813L20.5625 37.8438H24.5L20.5625 44.1875L24.7188 50.3125Z\"\n fill=\"white\"\n />\n <path d=\"M26.25 50.3125V37.8438H29.5312V47.6875H34.3438V50.3125H26.25Z\" fill=\"white\" />\n <path\n d=\"M44.625 46.5937C44.625 47.4687 44.4063 48.125 43.9688 48.5625C43.5313 49 43.0938 49.6562 42.2188 49.875C41.3438 50.0937 40.6875 50.3125 39.5938 50.3125C38.7188 50.3125 38.0625 50.3125 37.4063 50.0937C36.75 49.875 36.3125 49.875 35.6562 49.4375V46.375C36.3125 46.8125 36.9688 47.0312 37.625 47.25C38.2813 47.4687 38.9375 47.4688 39.5938 47.4688C40.0313 47.4688 40.4688 47.4687 40.6875 47.25C40.9063 47.0312 41.125 46.8125 41.125 46.5937C41.125 46.375 41.125 46.375 40.9063 46.1562C40.6875 45.9375 40.6875 45.9375 40.4688 45.7187C40.25 45.5 39.8125 45.2812 38.7188 44.8437C37.8438 44.4062 37.1875 44.1875 36.9688 43.75C36.75 43.3125 36.3125 43.0937 36.0938 42.6562C35.875 42.2187 35.875 41.7812 35.875 41.125C35.875 40.0312 36.3125 39.1562 37.1875 38.5C38.0625 37.8437 39.1563 37.625 40.6875 37.625C42 37.625 43.3125 37.8437 44.625 38.5L43.5313 41.125C42.4375 40.6875 41.3438 40.25 40.4688 40.25C40.0313 40.25 39.8125 40.25 39.5938 40.4687C39.375 40.6875 39.375 40.9062 39.375 41.125C39.375 41.3437 39.5938 41.5625 39.8125 41.7812C40.0313 42 40.6875 42.2187 41.7813 42.875C42.875 43.3125 43.5313 43.9687 43.9688 44.4062C44.4063 44.8437 44.625 45.7187 44.625 46.5937Z\"\n fill=\"white\"\n />\n <path\n d=\"M57.75 50.3125H53.8125L51.4062 46.375L49 50.3125H45.2812L49.4375 43.9688L45.5 37.8438H49.2187L51.4062 41.7813L53.5937 37.8438H57.5312L53.5937 44.1875L57.75 50.3125Z\"\n fill=\"white\"\n />\n <path\n d=\"M67.8125 28.4375H2.1875V59.0625H67.8125V28.4375Z\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"70px\" height=\"70px\" fill=\"white\" />\n </clipPath>\n </defs>\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\nexport const Url: FC = () => {\n return (\n <Icon\n width=\"70px\"\n height=\"70px\"\n viewBox=\"0 0 70 70\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M38.5416 22.1768L33.6394 27.0768C33.5081 27.2102 33.4206 27.3611 33.2938 27.4989C35.6231 27.8201 37.785 28.8895 39.4537 30.5461C41.5013 32.5997 42.6511 35.3812 42.6511 38.2811C42.6511 41.181 41.5013 43.9626 39.4537 46.0161L27.4225 58.0474C25.3711 60.0988 22.5887 61.2513 19.6875 61.2513C16.7863 61.2513 14.004 60.0988 11.9525 58.0474C9.90105 55.9959 8.74856 53.2136 8.74856 50.3124C8.74856 47.4112 9.90105 44.6288 11.9525 42.5774L17.1697 37.3602C16.4134 34.4991 16.2423 31.5149 16.6666 28.5861L7.31281 37.9377C4.03084 41.2197 2.18705 45.671 2.18705 50.3124C2.18705 54.9538 4.03084 59.4051 7.31281 62.6871C10.5948 65.969 15.0461 67.8128 19.6875 67.8128C24.3289 67.8128 28.7802 65.969 32.0622 62.6871L44.0934 50.6558C46.1231 48.6313 47.6235 46.1386 48.4627 43.3975C49.3018 40.6563 49.4538 37.7508 48.9052 34.9371C48.3567 32.1233 47.1245 29.4877 45.3172 27.2625C43.5099 25.0372 41.183 23.2907 38.5416 22.1768Z\"\n fill=\"white\"\n />\n <path\n d=\"M37.9378 7.31274L25.9066 19.344C23.8769 21.3685 22.3765 23.8612 21.5373 26.6023C20.6982 29.3435 20.5462 32.249 21.0948 35.0627C21.6433 37.8765 22.8755 40.5121 24.6828 42.7373C26.4901 44.9626 28.817 46.7091 31.4584 47.8231L36.3606 42.9231C36.4919 42.7896 36.5947 42.6409 36.715 42.5009C34.3823 42.1823 32.2168 41.1127 30.5462 39.4537C28.4987 37.4001 27.3489 34.6186 27.3489 31.7187C27.3489 28.8188 28.4987 26.0372 30.5462 23.9837L42.5775 11.9524C44.629 9.90098 47.4113 8.74848 50.3125 8.74848C51.749 8.74848 53.1715 9.03143 54.4987 9.58116C55.8258 10.1309 57.0317 10.9367 58.0475 11.9524C59.0633 12.9682 59.869 14.1741 60.4188 15.5013C60.9685 16.8284 61.2514 18.2509 61.2514 19.6874C61.2514 21.1239 60.9685 22.5464 60.4188 23.8736C59.869 25.2008 59.0633 26.4067 58.0475 27.4224L52.8347 32.6331C53.5939 35.4851 53.7732 38.4605 53.3619 41.3831L62.6872 32.0577C65.9081 28.7633 67.6999 24.3316 67.6737 19.7243C67.6476 15.117 65.8055 10.7059 62.5473 7.44827C59.2891 4.19066 54.8777 2.34937 50.2704 2.324C45.6631 2.29862 41.2317 4.09121 37.9378 7.31274Z\"\n fill=\"white\"\n />\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { uniqueId } from '@/services'\n\ninterface StandardBackgroundProps {\n colorFill: string\n}\n\nexport const StandardBackground: FC<StandardBackgroundProps> = ({ colorFill }) => {\n const id = `clip${uniqueId()}`\n return (\n <svg\n width=\"285\"\n height=\"139\"\n viewBox=\"0 0 285 139\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_3257_1585)\">\n <rect width=\"285\" height=\"139\" fill={colorFill} />\n <path\n opacity=\"0.2\"\n d=\"M335.794 126.97C335.598 127.095 335.394 127.206 335.178 127.304C332.361 128.577 328.837 127.078 327.309 123.953C314.975 98.7512 292.415 78.0666 269.833 71.2542C260.582 68.4618 247.36 66.9169 236.854 75.3544C223.824 85.8458 226.087 115.23 228.082 141.156C229.969 165.653 231.608 186.993 220.594 193.985C219.953 194.391 219.273 194.748 218.543 195.056C206.274 200.23 182.57 192.261 107.538 83.7917C105.555 80.9251 105.989 77.1581 108.508 75.3735C111.028 73.5889 114.677 74.4684 116.658 77.3319C146.815 120.925 171.063 151.682 188.736 168.743C205.61 185.033 211.76 184.259 213.242 183.634C219.603 180.949 217.96 159.621 216.514 140.804C214.296 112.002 211.783 79.3557 229.191 65.3468C240.074 56.572 255.237 54.5108 271.865 59.5262C297.79 67.3495 323.558 90.825 337.51 119.333C338.918 122.219 338.137 125.484 335.794 126.97Z\"\n fill=\"white\"\n />\n <path\n opacity=\"0.2\"\n d=\"M225.02 31.4635C227.693 30.696 230.537 30.772 233.152 31.6809L240.58 34.2811C241.227 34.5043 241.931 34.5167 242.59 34.3165C243.248 34.1164 243.826 33.7141 244.239 33.1683L248.388 27.6392C250.11 25.3689 252.516 23.6958 255.256 22.8636C257.996 22.0314 260.926 22.0836 263.621 23.0126L271.049 25.6128C271.696 25.836 272.401 25.8484 273.059 25.6483C273.717 25.4481 274.295 25.0458 274.709 24.5001L278.858 18.971C280.579 16.7006 282.985 15.0275 285.725 14.1953C288.465 13.3631 291.396 13.4154 294.091 14.3444L301.518 16.9445C302.165 17.1677 302.869 17.1801 303.527 16.9801C304.185 16.78 304.763 16.3779 305.176 15.8324L309.327 10.3027C311.048 8.03236 313.454 6.35924 316.194 5.52706C318.934 4.69488 321.865 4.7471 324.56 5.67612L331.987 8.27626C332.607 8.49344 333.177 8.82977 333.663 9.26594C334.15 9.70212 334.544 10.2296 334.823 10.8181C335.102 11.4066 335.26 12.0445 335.288 12.6953C335.317 13.3461 335.215 13.997 334.988 14.6107C334.524 15.8536 333.583 16.8685 332.37 17.4338C331.157 17.9992 329.771 18.0694 328.513 17.6289L321.086 15.0287C320.438 14.8073 319.734 14.7964 319.076 14.9976C318.418 15.1988 317.841 15.6017 317.428 16.1477L313.28 21.6788C311.557 23.9484 309.151 25.6209 306.412 26.453C303.672 27.2851 300.741 27.2334 298.047 26.3054L290.619 23.7053C289.97 23.4807 289.264 23.4676 288.604 23.6678C287.944 23.8681 287.365 24.2712 286.95 24.8183L282.802 30.3495C281.08 32.619 278.674 34.2915 275.934 35.1236C273.194 35.9558 270.264 35.9041 267.569 34.9761L260.142 32.3759C259.494 32.153 258.79 32.1406 258.132 32.3403C257.473 32.5401 256.895 32.9416 256.481 33.4866L252.333 39.0178C250.611 41.2873 248.205 42.9598 245.465 43.7919C242.725 44.624 239.795 44.5723 237.1 43.6443L229.674 41.0347C229.027 40.8118 228.323 40.7994 227.664 40.9991C227.006 41.1988 226.428 41.6004 226.014 42.1454L221.865 47.6766C221.065 48.7411 219.875 49.4534 218.552 49.6583C217.23 49.8633 215.883 49.5443 214.804 48.7709C214.274 48.387 213.826 47.9029 213.487 47.3463C213.148 46.7896 212.924 46.1715 212.827 45.5273C212.731 44.883 212.765 44.2254 212.926 43.5922C213.088 42.959 213.374 42.3625 213.768 41.8372L217.919 36.3075C219.685 33.9659 222.182 32.2626 225.02 31.4635Z\"\n fill=\"white\"\n />\n <path\n opacity=\"0.2\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M62.5 167.961C78.771 167.961 91.9612 154.771 91.9612 138.5C91.9612 122.229 78.771 109.039 62.5 109.039C46.229 109.039 33.0388 122.229 33.0388 138.5C33.0388 154.771 46.229 167.961 62.5 167.961ZM62.5 183C87.0767 183 107 163.077 107 138.5C107 113.923 87.0767 94 62.5 94C37.9233 94 18 113.923 18 138.5C18 163.077 37.9233 183 62.5 183Z\"\n fill=\"white\"\n />\n <path\n opacity=\"0.2\"\n d=\"M-59.9428 95.7098C-60.6472 95.4213 -61.3193 95.0119 -61.9264 94.4852C-64.9185 91.8878 -65.2379 87.3663 -62.6372 84.3909L50.6575 -45.219L66.0579 59.2779L174.017 18.8183C177.728 17.4303 181.869 19.3013 183.276 22.9985C184.677 26.6991 182.807 30.8245 179.1 32.2138L54.4444 78.9283L40.9914 -12.3506L-51.7958 93.7987C-53.8693 96.1704 -57.1693 96.847 -59.9428 95.7098Z\"\n fill=\"white\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"285\" height=\"139\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n )\n}\n","import { FC } from 'react'\nimport { Box, Text, Link } from '@chakra-ui/react'\nimport { Icons } from './Icons'\nimport { vars } from '@/theme'\nimport { Download, DiagonalArrow } from '@/atoms/Icons'\nimport { Ripples } from '@/atoms'\nimport { StandardBackground } from './StandardBackground'\n\ninterface ResourcesProps {\n id: string | number\n resourceType: string\n resourceTitle: string\n resourceDetail: string\n resourceTextDownload: string\n resourceLink: string\n targetBlank?: boolean\n}\n\nexport const Resources: FC<ResourcesProps> = ({\n id,\n resourceType,\n resourceTitle,\n resourceDetail,\n resourceTextDownload,\n resourceLink,\n targetBlank,\n}) => {\n const cssActive = {\n boxShadow: `0 2px 7px 0 ${vars('colors-neutral-silverSand')}`,\n }\n\n const colorFill = (): string => {\n const colorMap: { [key: string]: string } = {\n jpeg: '#FFBC27',\n jpg: '#FFBC27',\n png: '#FFBC27',\n gif: '#FFBC27',\n ppt: '#FF7A14',\n pptx: '#FF7A14',\n doc: '#0189FF',\n docx: '#0189FF',\n csv: '#28A745',\n xls: '#28A745',\n xlsx: '#28A745',\n pdf: '#CC0000',\n mp4: '#56CCF2',\n avi: '#56CCF2',\n mkv: '#56CCF2',\n mp3: '#9B51E0',\n wav: '#9B51E0',\n url: '#1E2DFF',\n }\n\n return colorMap[resourceType as keyof typeof colorMap] || '#FFBC27'\n }\n return (\n <Link\n href={resourceLink}\n target={targetBlank ? '_blank' : '_self'}\n rel={targetBlank ? 'noopener noreferrer' : undefined}\n transition=\"box-shadow 0.3s\"\n _active={cssActive}\n _hover={cssActive}\n _focusVisible={{\n boxShadow: `0 0 0 3px ${vars('colors-alert-deepSkyBlue')}`,\n }}\n cursor=\"pointer\"\n borderRadius={vars('radii-big')}\n border={vars('borders-light')}\n overflow=\"hidden\"\n >\n <Ripples>\n <Box\n width=\"285px\"\n height=\"139px\"\n justifyContent=\"center\"\n textAlign=\"center\"\n alignItems=\"center\"\n display=\"grid\"\n padding=\"1rem\"\n >\n <Icons type={resourceType} />\n <Box\n position=\"absolute\"\n width=\"100%\"\n height=\"100%\"\n zIndex=\"-1\"\n top=\"0px\"\n left=\"0px\"\n opacity=\"0.8\"\n >\n <StandardBackground colorFill={colorFill()} />\n </Box>\n </Box>\n <Box\n width=\"285px\"\n height=\"auto\"\n justifyContent=\"center\"\n textAlign=\"center\"\n display=\"grid\"\n gap=\"8px\"\n padding=\"1rem\"\n >\n <Box>\n <Text\n fontFamily=\"Roboto\"\n fontWeight=\"700\"\n lineHeight=\"21px\"\n fontSize=\"16px\"\n color=\"#555555\"\n m=\"0px\"\n >\n {resourceTitle}\n </Text>\n </Box>\n <Box>\n <Text\n fontFamily=\"Roboto\"\n fontWeight=\"400\"\n lineHeight=\"14px\"\n fontSize=\"12px\"\n color=\"#555555\"\n m=\"0px\"\n >\n {resourceDetail}\n </Text>\n </Box>\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"center\">\n <Text\n fontFamily=\"Roboto\"\n fontWeight=\"500\"\n fontSize=\"14px\"\n lineHeight=\"16px\"\n color={vars('colors-neutral-gray')}\n textDecoration=\"underline\"\n gap=\"8px\"\n display=\"flex\"\n m=\"0px\"\n >\n {resourceType === 'url' ? (\n <DiagonalArrow color={vars('colors-main-deepSkyBlue')} />\n ) : (\n <Download color={vars('colors-main-deepSkyBlue')} />\n )}\n {resourceTextDownload}\n </Text>\n </Box>\n </Box>\n </Ripples>\n </Link>\n )\n}\n","/**\n * @module constants\n * @summary Useful constants\n * @description\n * Collection of useful date constants.\n *\n * The constants could be imported from `date-fns/constants`:\n *\n * ```ts\n * import { maxTime, minTime } from \"./constants/date-fns/constants\";\n *\n * function isAllowedTime(time) {\n * return time <= maxTime && time >= minTime;\n * }\n * ```\n */\n\n/**\n * @constant\n * @name daysInWeek\n * @summary Days in 1 week.\n */\nexport const daysInWeek = 7;\n\n/**\n * @constant\n * @name daysInYear\n * @summary Days in 1 year.\n *\n * @description\n * How many days in a year.\n *\n * One years equals 365.2425 days according to the formula:\n *\n * > Leap year occurs every 4 years, except for years that are divisible by 100 and not divisible by 400.\n * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days\n */\nexport const daysInYear = 365.2425;\n\n/**\n * @constant\n * @name maxTime\n * @summary Maximum allowed time.\n *\n * @example\n * import { maxTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = 8640000000000001 <= maxTime;\n * //=> false\n *\n * new Date(8640000000000001);\n * //=> Invalid Date\n */\nexport const maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n\n/**\n * @constant\n * @name minTime\n * @summary Minimum allowed time.\n *\n * @example\n * import { minTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = -8640000000000001 >= minTime;\n * //=> false\n *\n * new Date(-8640000000000001)\n * //=> Invalid Date\n */\nexport const minTime = -maxTime;\n\n/**\n * @constant\n * @name millisecondsInWeek\n * @summary Milliseconds in 1 week.\n */\nexport const millisecondsInWeek = 604800000;\n\n/**\n * @constant\n * @name millisecondsInDay\n * @summary Milliseconds in 1 day.\n */\nexport const millisecondsInDay = 86400000;\n\n/**\n * @constant\n * @name millisecondsInMinute\n * @summary Milliseconds in 1 minute\n */\nexport const millisecondsInMinute = 60000;\n\n/**\n * @constant\n * @name millisecondsInHour\n * @summary Milliseconds in 1 hour\n */\nexport const millisecondsInHour = 3600000;\n\n/**\n * @constant\n * @name millisecondsInSecond\n * @summary Milliseconds in 1 second\n */\nexport const millisecondsInSecond = 1000;\n\n/**\n * @constant\n * @name minutesInYear\n * @summary Minutes in 1 year.\n */\nexport const minutesInYear = 525600;\n\n/**\n * @constant\n * @name minutesInMonth\n * @summary Minutes in 1 month.\n */\nexport const minutesInMonth = 43200;\n\n/**\n * @constant\n * @name minutesInDay\n * @summary Minutes in 1 day.\n */\nexport const minutesInDay = 1440;\n\n/**\n * @constant\n * @name minutesInHour\n * @summary Minutes in 1 hour.\n */\nexport const minutesInHour = 60;\n\n/**\n * @constant\n * @name monthsInQuarter\n * @summary Months in 1 quarter.\n */\nexport const monthsInQuarter = 3;\n\n/**\n * @constant\n * @name monthsInYear\n * @summary Months in 1 year.\n */\nexport const monthsInYear = 12;\n\n/**\n * @constant\n * @name quartersInYear\n * @summary Quarters in 1 year\n */\nexport const quartersInYear = 4;\n\n/**\n * @constant\n * @name secondsInHour\n * @summary Seconds in 1 hour.\n */\nexport const secondsInHour = 3600;\n\n/**\n * @constant\n * @name secondsInMinute\n * @summary Seconds in 1 minute.\n */\nexport const secondsInMinute = 60;\n\n/**\n * @constant\n * @name secondsInDay\n * @summary Seconds in 1 day.\n */\nexport const secondsInDay = secondsInHour * 24;\n\n/**\n * @constant\n * @name secondsInWeek\n * @summary Seconds in 1 week.\n */\nexport const secondsInWeek = secondsInDay * 7;\n\n/**\n * @constant\n * @name secondsInYear\n * @summary Seconds in 1 year.\n */\nexport const secondsInYear = secondsInDay * daysInYear;\n\n/**\n * @constant\n * @name secondsInMonth\n * @summary Seconds in 1 month\n */\nexport const secondsInMonth = secondsInYear / 12;\n\n/**\n * @constant\n * @name secondsInQuarter\n * @summary Seconds in 1 quarter.\n */\nexport const secondsInQuarter = secondsInMonth * 3;\n\n/**\n * @constant\n * @name constructFromSymbol\n * @summary Symbol enabling Date extensions to inherit properties from the reference date.\n *\n * The symbol is used to enable the `constructFrom` function to construct a date\n * using a reference date and a value. It allows to transfer extra properties\n * from the reference date to the new date. It's useful for extensions like\n * [`TZDate`](https://github.com/date-fns/tz) that accept a time zone as\n * a constructor argument.\n */\nexport const constructFromSymbol = Symbol.for(\"constructDateFrom\");\n","import { constructFromSymbol } from \"./constants.js\";\n\n/**\n * @name constructFrom\n * @category Generic Helpers\n * @summary Constructs a date using the reference date and the value\n *\n * @description\n * The function constructs a new date using the constructor from the reference\n * date and the given value. It helps to build generic functions that accept\n * date extensions.\n *\n * It defaults to `Date` if the passed reference date is a number or a string.\n *\n * Starting from v3.7.0, it allows to construct a date using `[Symbol.for(\"constructDateFrom\")]`\n * enabling to transfer extra properties from the reference date to the new date.\n * It's useful for extensions like [`TZDate`](https://github.com/date-fns/tz)\n * that accept a time zone as a constructor argument.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The reference date to take constructor from\n * @param value - The value to create the date\n *\n * @returns Date initialized using the given date and value\n *\n * @example\n * import { constructFrom } from \"./constructFrom/date-fns\";\n *\n * // A function that clones a date preserving the original type\n * function cloneDate<DateType extends Date>(date: DateType): DateType {\n * return constructFrom(\n * date, // Use constructor from the given date\n * date.getTime() // Use the date value to create a new date\n * );\n * }\n */\nexport function constructFrom(date, value) {\n if (typeof date === \"function\") return date(value);\n\n if (date && typeof date === \"object\" && constructFromSymbol in date)\n return date[constructFromSymbol](value);\n\n if (date instanceof Date) return new date.constructor(value);\n\n return new Date(value);\n}\n\n// Fallback for modularized imports:\nexport default constructFrom;\n","import { constructFrom } from \"./constructFrom.js\";\n\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * Starting from v3.7.0, it clones a date using `[Symbol.for(\"constructDateFrom\")]`\n * enabling to transfer extra properties from the reference date to the new date.\n * It's useful for extensions like [`TZDate`](https://github.com/date-fns/tz)\n * that accept a time zone as a constructor argument.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param argument - The value to convert\n *\n * @returns The parsed date in the local time zone\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nexport function toDate(argument, context) {\n // [TODO] Get rid of `toDate` or `constructFrom`?\n return constructFrom(context || argument, argument);\n}\n\n// Fallback for modularized imports:\nexport default toDate;\n","import { constructFrom } from \"./constructFrom.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link addDays} function options.\n */\n\n/**\n * @name addDays\n * @category Day Helpers\n * @summary Add the specified number of days to the given date.\n *\n * @description\n * Add the specified number of days to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param amount - The amount of days to be added.\n * @param options - An object with options\n *\n * @returns The new date with the days added\n *\n * @example\n * // Add 10 days to 1 September 2014:\n * const result = addDays(new Date(2014, 8, 1), 10)\n * //=> Thu Sep 11 2014 00:00:00\n */\nexport function addDays(date, amount, options) {\n const _date = toDate(date, options?.in);\n if (isNaN(amount)) return constructFrom(options?.in || date, NaN);\n\n // If 0 days, no-op to avoid changing times in the hour before end of DST\n if (!amount) return _date;\n\n _date.setDate(_date.getDate() + amount);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default addDays;\n","import { constructFrom } from \"../constructFrom.js\";\n\nexport function normalizeDates(context, ...dates) {\n const normalize = constructFrom.bind(\n null,\n context || dates.find((date) => typeof date === \"object\"),\n );\n return dates.map(normalize);\n}\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link startOfDay} function options.\n */\n\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - The options\n *\n * @returns The start of a day\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\nexport function startOfDay(date, options) {\n const _date = toDate(date, options?.in);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfDay;\n","import { normalizeDates } from \"./_lib/normalizeDates.js\";\nimport { startOfDay } from \"./startOfDay.js\";\n\n/**\n * The {@link isSameDay} function options.\n */\n\n/**\n * @name isSameDay\n * @category Day Helpers\n * @summary Are the given dates in the same day (and year and month)?\n *\n * @description\n * Are the given dates in the same day (and year and month)?\n *\n * @param laterDate - The first date to check\n * @param earlierDate - The second date to check\n * @param options - An object with options\n *\n * @returns The dates are in the same day (and year and month)\n *\n * @example\n * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 18, 0))\n * //=> true\n *\n * @example\n * // Are 4 September and 4 October in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2014, 9, 4))\n * //=> false\n *\n * @example\n * // Are 4 September, 2014 and 4 September, 2015 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2015, 8, 4))\n * //=> false\n */\nexport function isSameDay(laterDate, earlierDate, options) {\n const [dateLeft_, dateRight_] = normalizeDates(\n options?.in,\n laterDate,\n earlierDate,\n );\n return +startOfDay(dateLeft_) === +startOfDay(dateRight_);\n}\n\n// Fallback for modularized imports:\nexport default isSameDay;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * @name isAfter\n * @category Common Helpers\n * @summary Is the first date after the second one?\n *\n * @description\n * Is the first date after the second one?\n *\n * @param date - The date that should be after the other one to return true\n * @param dateToCompare - The date to compare with\n *\n * @returns The first date is after the second date\n *\n * @example\n * // Is 10 July 1989 after 11 February 1987?\n * const result = isAfter(new Date(1989, 6, 10), new Date(1987, 1, 11))\n * //=> true\n */\nexport function isAfter(date, dateToCompare) {\n return +toDate(date) > +toDate(dateToCompare);\n}\n\n// Fallback for modularized imports:\nexport default isAfter;\n","import {\n millisecondsInHour,\n millisecondsInMinute,\n} from \"./constants.js\";\nimport { constructFrom } from \"./constructFrom.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link parseISO} function options.\n */\n\n/**\n * @name parseISO\n * @category Common Helpers\n * @summary Parse ISO string\n *\n * @description\n * Parse the given string in ISO 8601 format and return an instance of Date.\n *\n * Function accepts complete ISO 8601 formats as well as partial implementations.\n * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601\n *\n * If the argument isn't a string, the function cannot parse the string or\n * the values are invalid, it returns Invalid Date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param argument - The value to convert\n * @param options - An object with options\n *\n * @returns The parsed date in the local time zone\n *\n * @example\n * // Convert string '2014-02-11T11:30:30' to date:\n * const result = parseISO('2014-02-11T11:30:30')\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert string '+02014101' to date,\n * // if the additional number of digits in the extended year format is 1:\n * const result = parseISO('+02014101', { additionalDigits: 1 })\n * //=> Fri Apr 11 2014 00:00:00\n */\nexport function parseISO(argument, options) {\n const invalidDate = () => constructFrom(options?.in, NaN);\n\n const additionalDigits = options?.additionalDigits ?? 2;\n const dateStrings = splitDateString(argument);\n\n let date;\n if (dateStrings.date) {\n const parseYearResult = parseYear(dateStrings.date, additionalDigits);\n date = parseDate(parseYearResult.restDateString, parseYearResult.year);\n }\n\n if (!date || isNaN(+date)) return invalidDate();\n\n const timestamp = +date;\n let time = 0;\n let offset;\n\n if (dateStrings.time) {\n time = parseTime(dateStrings.time);\n if (isNaN(time)) return invalidDate();\n }\n\n if (dateStrings.timezone) {\n offset = parseTimezone(dateStrings.timezone);\n if (isNaN(offset)) return invalidDate();\n } else {\n const tmpDate = new Date(timestamp + time);\n const result = toDate(0, options?.in);\n result.setFullYear(\n tmpDate.getUTCFullYear(),\n tmpDate.getUTCMonth(),\n tmpDate.getUTCDate(),\n );\n result.setHours(\n tmpDate.getUTCHours(),\n tmpDate.getUTCMinutes(),\n tmpDate.getUTCSeconds(),\n tmpDate.getUTCMilliseconds(),\n );\n return result;\n }\n\n return toDate(timestamp + time + offset, options?.in);\n}\n\nconst patterns = {\n dateTimeDelimiter: /[T ]/,\n timeZoneDelimiter: /[Z ]/i,\n timezone: /([Z+-].*)$/,\n};\n\nconst dateRegex =\n /^-?(?:(\\d{3})|(\\d{2})(?:-?(\\d{2}))?|W(\\d{2})(?:-?(\\d{1}))?|)$/;\nconst timeRegex =\n /^(\\d{2}(?:[.,]\\d*)?)(?::?(\\d{2}(?:[.,]\\d*)?))?(?::?(\\d{2}(?:[.,]\\d*)?))?$/;\nconst timezoneRegex = /^([+-])(\\d{2})(?::?(\\d{2}))?$/;\n\nfunction splitDateString(dateString) {\n const dateStrings = {};\n const array = dateString.split(patterns.dateTimeDelimiter);\n let timeString;\n\n // The regex match should only return at maximum two array elements.\n // [date], [time], or [date, time].\n if (array.length > 2) {\n return dateStrings;\n }\n\n if (/:/.test(array[0])) {\n timeString = array[0];\n } else {\n dateStrings.date = array[0];\n timeString = array[1];\n if (patterns.timeZoneDelimiter.test(dateStrings.date)) {\n dateStrings.date = dateString.split(patterns.timeZoneDelimiter)[0];\n timeString = dateString.substr(\n dateStrings.date.length,\n dateString.length,\n );\n }\n }\n\n if (timeString) {\n const token = patterns.timezone.exec(timeString);\n if (token) {\n dateStrings.time = timeString.replace(token[1], \"\");\n dateStrings.timezone = token[1];\n } else {\n dateStrings.time = timeString;\n }\n }\n\n return dateStrings;\n}\n\nfunction parseYear(dateString, additionalDigits) {\n const regex = new RegExp(\n \"^(?:(\\\\d{4}|[+-]\\\\d{\" +\n (4 + additionalDigits) +\n \"})|(\\\\d{2}|[+-]\\\\d{\" +\n (2 + additionalDigits) +\n \"})$)\",\n );\n\n const captures = dateString.match(regex);\n // Invalid ISO-formatted year\n if (!captures) return { year: NaN, restDateString: \"\" };\n\n const year = captures[1] ? parseInt(captures[1]) : null;\n const century = captures[2] ? parseInt(captures[2]) : null;\n\n // either year or century is null, not both\n return {\n year: century === null ? year : century * 100,\n restDateString: dateString.slice((captures[1] || captures[2]).length),\n };\n}\n\nfunction parseDate(dateString, year) {\n // Invalid ISO-formatted year\n if (year === null) return new Date(NaN);\n\n const captures = dateString.match(dateRegex);\n // Invalid ISO-formatted string\n if (!captures) return new Date(NaN);\n\n const isWeekDate = !!captures[4];\n const dayOfYear = parseDateUnit(captures[1]);\n const month = parseDateUnit(captures[2]) - 1;\n const day = parseDateUnit(captures[3]);\n const week = parseDateUnit(captures[4]);\n const dayOfWeek = parseDateUnit(captures[5]) - 1;\n\n if (isWeekDate) {\n if (!validateWeekDate(year, week, dayOfWeek)) {\n return new Date(NaN);\n }\n return dayOfISOWeekYear(year, week, dayOfWeek);\n } else {\n const date = new Date(0);\n if (\n !validateDate(year, month, day) ||\n !validateDayOfYearDate(year, dayOfYear)\n ) {\n return new Date(NaN);\n }\n date.setUTCFullYear(year, month, Math.max(dayOfYear, day));\n return date;\n }\n}\n\nfunction parseDateUnit(value) {\n return value ? parseInt(value) : 1;\n}\n\nfunction parseTime(timeString) {\n const captures = timeString.match(timeRegex);\n if (!captures) return NaN; // Invalid ISO-formatted time\n\n const hours = parseTimeUnit(captures[1]);\n const minutes = parseTimeUnit(captures[2]);\n const seconds = parseTimeUnit(captures[3]);\n\n if (!validateTime(hours, minutes, seconds)) {\n return NaN;\n }\n\n return (\n hours * millisecondsInHour + minutes * millisecondsInMinute + seconds * 1000\n );\n}\n\nfunction parseTimeUnit(value) {\n return (value && parseFloat(value.replace(\",\", \".\"))) || 0;\n}\n\nfunction parseTimezone(timezoneString) {\n if (timezoneString === \"Z\") return 0;\n\n const captures = timezoneString.match(timezoneRegex);\n if (!captures) return 0;\n\n const sign = captures[1] === \"+\" ? -1 : 1;\n const hours = parseInt(captures[2]);\n const minutes = (captures[3] && parseInt(captures[3])) || 0;\n\n if (!validateTimezone(hours, minutes)) {\n return NaN;\n }\n\n return sign * (hours * millisecondsInHour + minutes * millisecondsInMinute);\n}\n\nfunction dayOfISOWeekYear(isoWeekYear, week, day) {\n const date = new Date(0);\n date.setUTCFullYear(isoWeekYear, 0, 4);\n const fourthOfJanuaryDay = date.getUTCDay() || 7;\n const diff = (week - 1) * 7 + day + 1 - fourthOfJanuaryDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n}\n\n// Validation functions\n\n// February is null to handle the leap year (using ||)\nconst daysInMonths = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\nfunction isLeapYearIndex(year) {\n return year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0);\n}\n\nfunction validateDate(year, month, date) {\n return (\n month >= 0 &&\n month <= 11 &&\n date >= 1 &&\n date <= (daysInMonths[month] || (isLeapYearIndex(year) ? 29 : 28))\n );\n}\n\nfunction validateDayOfYearDate(year, dayOfYear) {\n return dayOfYear >= 1 && dayOfYear <= (isLeapYearIndex(year) ? 366 : 365);\n}\n\nfunction validateWeekDate(_year, week, day) {\n return week >= 1 && week <= 53 && day >= 0 && day <= 6;\n}\n\nfunction validateTime(hours, minutes, seconds) {\n if (hours === 24) {\n return minutes === 0 && seconds === 0;\n }\n\n return (\n seconds >= 0 &&\n seconds < 60 &&\n minutes >= 0 &&\n minutes < 60 &&\n hours >= 0 &&\n hours < 25\n );\n}\n\nfunction validateTimezone(_hours, minutes) {\n return minutes >= 0 && minutes <= 59;\n}\n\n// Fallback for modularized imports:\nexport default parseISO;\n","import { useState, useEffect } from 'react'\nimport { isAfter, parseISO, startOfDay, isSameDay, addDays } from 'date-fns'\n\nconst STORAGE_TODAY_EVENT = 'todayEvents'\nconst STORAGE_SEEN_EVENT = 'seenEvents'\nconst STORAGE_HAS_NEW = 'hasNewEvents'\n\nexport const useParseEvents = (\n events: any[],\n now: string\n): {\n today: any[]\n tomorrow: any[]\n next: any[]\n hasNew: boolean\n closeAndMarkSeen: () => void\n empty: boolean\n hasMoreNext: boolean\n} => {\n const [todayEvents, setTodayEvents] = useState<any[]>([])\n const [tomorrowEvents, setTomorrowEvents] = useState<any[]>([])\n const [nextEvents, setNextEvents] = useState<any[]>([])\n const [hasNew, setHasNew] = useState(false)\n const [hasMoreNext, setHasMoreNext] = useState(false)\n\n useEffect(() => {\n const parseNow = parseISO(now)\n const today = startOfDay(parseNow)\n const tomorrow = addDays(today, 1)\n\n const storedTodayEvent: number[] = JSON.parse(localStorage.getItem(STORAGE_TODAY_EVENT) ?? '[]')\n const storedSeenEvent: number[] = JSON.parse(localStorage.getItem(STORAGE_SEEN_EVENT) ?? '[]')\n\n let newEvents = false\n const todayList: any[] = []\n const tomorrowList: any[] = []\n const nextList: any[] = []\n\n events.forEach((event) => {\n const eventStart = parseISO(event.start)\n if (isSameDay(eventStart, today)) {\n const seen = storedSeenEvent.includes(event.id)\n if (!seen) {\n newEvents = true\n if (!storedTodayEvent.includes(event.id)) {\n storedTodayEvent.push(event.id)\n }\n }\n todayList.push({ ...event, isNew: !seen })\n } else if (isSameDay(eventStart, tomorrow)) {\n tomorrowList.push(event)\n } else if (isAfter(eventStart, today)) {\n nextList.push(event)\n }\n })\n\n setTodayEvents(todayList)\n setTomorrowEvents(tomorrowList)\n\n let next = [...nextList]\n if (nextList.length > 5) {\n setHasMoreNext(true)\n next = next.slice(0, 5)\n }\n setNextEvents(next)\n\n setHasNew(newEvents)\n\n localStorage.setItem(STORAGE_TODAY_EVENT, JSON.stringify(storedTodayEvent))\n localStorage.setItem(STORAGE_HAS_NEW, JSON.stringify(newEvents))\n }, [events, now])\n\n // Función para marcar todos los eventos de hoy como vistos\n const closeAndMarkSeen = (): void => {\n const storedSeenEvent: number[] = JSON.parse(localStorage.getItem(STORAGE_SEEN_EVENT) ?? '[]')\n const updatedSeenEvents = Array.from(\n new Set([...storedSeenEvent, ...todayEvents.map((e) => e.id)])\n )\n\n localStorage.setItem(STORAGE_SEEN_EVENT, JSON.stringify(updatedSeenEvents))\n localStorage.setItem(STORAGE_HAS_NEW, JSON.stringify(false))\n setTimeout(() => {\n setTodayEvents(todayEvents.map((el) => ({ ...el, isNew: false })))\n }, 300)\n setHasNew(false)\n }\n\n const empty = false\n\n return {\n today: todayEvents,\n tomorrow: tomorrowEvents,\n next: nextEvents,\n hasNew,\n closeAndMarkSeen,\n empty,\n hasMoreNext,\n }\n}\n","import { MenuButton } from '@chakra-ui/react'\n\nimport { vars } from '@theme'\nimport { NavBarButton } from '@/molecules'\n\ninterface IGoToCalendar {\n text: string\n onlyToCalendar?: boolean\n onClick?: () => void\n}\n\nexport const GoToCalendar = ({ text, onlyToCalendar, onClick }: IGoToCalendar): JSX.Element => {\n const activeBg = vars('colors-main-deepSkyBlue') ?? '#0189FF'\n const hoverBg = 'rgba(96, 121, 142, 0.8)'\n\n return (\n <MenuButton\n tabIndex={-1}\n onClick={() => onlyToCalendar && onClick && onClick()}\n position=\"relative\"\n sx={{\n background: 'none',\n border: '1px transparent',\n _hover: {\n '.nav-bar-icon': {\n bg: hoverBg,\n },\n '.nav-bar-text': {\n color: vars('colors-neutral-white'),\n },\n },\n\n _active: {\n '.nav-bar-icon': {\n bg: onlyToCalendar ? hoverBg : activeBg,\n },\n '.nav-bar-text': {\n color: vars('colors-neutral-white'),\n },\n },\n }}\n >\n <NavBarButton as=\"div\" type=\"calendar\" buttonName={text.toUpperCase()} />\n </MenuButton>\n )\n}\n","import { Box } from '@chakra-ui/react'\nimport { vars } from '@theme'\n\nexport const Header = ({ text, isMobile }: { text?: string; isMobile: boolean }): JSX.Element => {\n return (\n <Box\n as=\"header\"\n bg={vars('colors-neutral-davysGrey') ?? '#5C5C5C'}\n borderRadius={isMobile ? 'none' : '10px 10px 0 0'}\n color={vars('colors-neutral-white') ?? '#FFFFFF'}\n fontSize=\"14px\"\n fontWeight=\"500\"\n lineHeight=\"normal\"\n padding=\"16px\"\n position=\"absolute\"\n width={isMobile ? '100vw' : '100%'}\n top={0}\n zIndex=\"1\"\n >\n {text ?? 'Próximas fechas importantes de tus cursos'}\n </Box>\n )\n}\n","export const NoEventsIcon = (): JSX.Element => (\n <svg width=\"197px\" height=\"197px\" fill=\"none\">\n <g clipPath=\"url(#a)\">\n <path\n fill=\"#F4F4F4\"\n d=\"M98.5 197c54.4 0 98.5-44.1 98.5-98.5S152.9 0 98.5 0 0 44.1 0 98.5 44.1 197 98.5 197Z\"\n />\n <rect width=\"74px\" height=\"29px\" x=\"106px\" y=\"12px\" fill=\"#FF554D\" rx=\"5px\" />\n <rect width=\"40px\" height=\"6px\" x=\"125px\" y=\"24px\" fill=\"#08044F\" rx=\"3px\" />\n <rect width=\"6px\" height=\"6px\" x=\"114px\" y=\"24px\" fill=\"#08044F\" rx=\"3px\" />\n <rect width=\"106px\" height=\"29px\" x=\"11px\" y=\"159px\" fill=\"#1EBDAF\" rx=\"5px\" />\n <rect width=\"67px\" height=\"6px\" x=\"21px\" y=\"170px\" fill=\"#08044F\" rx=\"3px\" />\n <rect width=\"6px\" height=\"6px\" x=\"99px\" y=\"170px\" fill=\"#08044F\" rx=\"3px\" />\n <rect width=\"123px\" height=\"82px\" x=\"37px\" y=\"66px\" fill=\"#0189FF\" rx=\"5px\" />\n <rect width=\"16px\" height=\"6px\" x=\"131px\" y=\"93px\" fill=\"#F4F4F4\" rx=\"3px\" />\n <rect width=\"16px\" height=\"6px\" x=\"131px\" y=\"110px\" fill=\"#F4F4F4\" rx=\"3px\" />\n <path\n stroke=\"#FFBC27\"\n strokeLinecap=\"round\"\n strokeWidth=\"13px\"\n d=\"M68.5 56.5v19M132.5 56.5v19\"\n />\n <rect width=\"16px\" height=\"6px\" x=\"50px\" y=\"93px\" fill=\"#F4F4F4\" rx=\"3px\" />\n <rect width=\"16px\" height=\"6px\" x=\"50px\" y=\"110px\" fill=\"#F4F4F4\" rx=\"3px\" />\n <rect width=\"16px\" height=\"6px\" x=\"50px\" y=\"127px\" fill=\"#F4F4F4\" rx=\"3px\" />\n <rect width=\"16px\" height=\"6px\" x=\"77px\" y=\"93px\" fill=\"#F4F4F4\" rx=\"3px\" />\n <rect width=\"16px\" height=\"6px\" x=\"104px\" y=\"93px\" fill=\"#F4F4F4\" rx=\"3px\" />\n <rect width=\"16px\" height=\"6px\" x=\"104px\" y=\"110px\" fill=\"#F4F4F4\" rx=\"3px\" />\n <rect width=\"16px\" height=\"6px\" x=\"104px\" y=\"127px\" fill=\"#F4F4F4\" rx=\"3px\" />\n </g>\n <defs>\n <clipPath id=\"a\">\n <path fill=\"#fff\" d=\"M0 0h197v197H0z\" />\n </clipPath>\n </defs>\n </svg>\n)\n","import { Box } from '@chakra-ui/react'\nimport { vars } from '@theme'\n\nimport { NoEventsIcon } from '../Icons/NoEventsIcon'\n\nexport const Empty = ({ text }: { text?: string }): JSX.Element => {\n return (\n <Box\n alignItems=\"center\"\n display=\"flex\"\n flexDirection=\"column\"\n gap=\"24px\"\n padding=\"104px 0px 64px\"\n >\n <NoEventsIcon />\n <Box\n fontSize=\"20px\"\n fontWeight=\"700\"\n color={vars('colors-neutral-darkCharcoal') || '#2F2F2F'}\n >\n {text ?? 'Aún no tienes eventos en tu calendario'}\n </Box>\n </Box>\n )\n}\n","import { BtnLink } from '@/molecules'\nimport { EventsList } from '@/organisms/Calendar'\nimport { Box, MenuGroup } from '@chakra-ui/react'\nimport { vars } from '@theme'\nimport { Event } from '../../types'\n\ninterface IEventsGroupProps {\n colors?: Record<string, string>\n events: Event[]\n hasMoreNext?: boolean\n redirect?: () => void\n text: string\n textSeeMore?: string\n textLinkMore?: string\n title: string\n}\n\nexport const EventsGroup = ({\n colors,\n events,\n hasMoreNext,\n title,\n redirect,\n text,\n textSeeMore,\n textLinkMore,\n}: IEventsGroupProps): JSX.Element => {\n if (!events || (events && events.length === 0)) return <></>\n\n return (\n <>\n <Box\n className=\"calendar-events-group\"\n _focus={{\n background: 'none !important',\n border: `1px solid ${vars('colors-icon-deepSkyBlue') ?? '#0189FF'}`,\n }}\n sx={{\n '.chakra-menu__menuitem > div': {\n w: '100%',\n },\n }}\n >\n <MenuGroup title={title}>\n {events.map((event: Event) => {\n return (\n // Una vez que el evento se comporte como link, se debe cambiar Box a MenuItem y aplicar el efecto de focus\n <Box\n bg={vars('colors-neutral-white') ?? '#FFFFFF'}\n border=\"none\"\n cursor=\"default\"\n padding=\"0\"\n key={event.id}\n _hover={{\n boxShadow: 'none !important',\n cursor: 'default !important',\n bg: 'none !important',\n }}\n _focus={{\n background: 'none !important',\n boxShadow: 'none !important',\n }}\n >\n <EventsList\n key={event.id}\n name={event.translatedTitle}\n courseName={event.course.name}\n day={event.formatedDate.day}\n date={event.formatedDate.date}\n time={event.formatedDate.time}\n color={\n event.course_id && colors?.[event.course_id]\n ? colors[event.course_id]\n : '#82504A'\n }\n text={text}\n type={event.type}\n hasNotification={event.isNew}\n showCourse\n />\n </Box>\n )\n })}\n </MenuGroup>\n </Box>\n {hasMoreNext && (\n <Box display=\"flex\" alignItems=\"center\" padding=\"16px 0 0 16px\">\n <Box as=\"span\" fontSize=\"14px\">\n {textSeeMore}\n </Box>{' '}\n <BtnLink onClick={redirect} target=\"_self\">\n {textLinkMore}\n </BtnLink>\n </Box>\n )}\n </>\n )\n}\n","import { BtnPrimary } from '@/molecules'\nimport { Box } from '@chakra-ui/react'\nimport { vars } from '@theme'\n\nimport { Text, Event } from '../../types'\nimport { EventsGroup } from './EventsGroup'\n\ninterface IEventsProps {\n colors?: Record<string, string>\n events: {\n today: Event[]\n tomorrow: Event[]\n next: Event[]\n }\n hasMoreNext?: boolean\n isMobile: boolean\n redirecToCalendar: () => void\n text?: Text\n}\n\nexport const Events = ({\n colors,\n events,\n hasMoreNext,\n isMobile,\n redirecToCalendar,\n text,\n}: IEventsProps): JSX.Element => {\n const { today, tomorrow, next } = events\n\n return (\n <Box\n borderRadius=\"10px\"\n color=\"#1C1818\"\n h={isMobile ? 'auto' : '552px'}\n overflowY=\"scroll\"\n pb=\"32px\"\n sx={{\n '.calendar-events-group': {\n borderBottom: `1px solid ${vars('colors-neutral-platinum') ?? '#E8E8E8'}`,\n },\n }}\n >\n {redirecToCalendar && (\n <Box\n sx={{\n button: {\n p: '8px ',\n fontSize: '14px',\n lineHeight: '14px',\n minW: 'fit-content',\n minH: 'fit-content',\n },\n }}\n >\n <BtnPrimary onClick={redirecToCalendar} m=\"72px 0 0 16px\" id=\"RedirectButton\">\n {text?.buttonCalendar ?? 'Ir a Mi Calendario'}\n </BtnPrimary>\n </Box>\n )}\n <EventsGroup\n colors={colors}\n events={today}\n text={text?.course ?? ''}\n title={text?.events?.today ?? 'Hoy'}\n />\n <EventsGroup\n colors={colors}\n events={tomorrow}\n text={text?.course ?? ''}\n title={text?.events?.tomorrow ?? 'Mañana'}\n />\n <EventsGroup\n colors={colors}\n events={next}\n hasMoreNext={hasMoreNext}\n redirect={redirecToCalendar}\n textSeeMore={text?.seeMore.see ?? 'Ver más fechas en'}\n textLinkMore={text?.seeMore.link ?? 'Mi calendario'}\n text={text?.course ?? ''}\n title={text?.events?.next ?? 'Próximos'}\n />\n </Box>\n )\n}\n","import { useEffect, useState } from 'react'\nimport { Box, Menu, MenuList, useMediaQuery } from '@chakra-ui/react'\nimport { vars } from '@theme'\n\nimport { useParseEvents } from './services/parseEvents'\nimport { GoToCalendar } from './Components/GoToCalendar'\nimport { Header } from './Components/Header'\nimport { Empty } from './Components/Empty'\nimport { Events } from './Components/Events'\nimport { ICalendarDropdown } from '../types'\n\nexport const CalendarDropdownContainer = ({\n courseColors,\n events,\n loading,\n m,\n now,\n onlyToCalendar,\n redirectToCalendar,\n text,\n alert = false,\n}: ICalendarDropdown): JSX.Element => {\n const [isMobile] = useMediaQuery('(max-width: 577px)')\n const { closeAndMarkSeen, empty, hasNew, hasMoreNext, ...all } = useParseEvents(events, now)\n\n const [isMenuOpen, setMenuOpen] = useState(false)\n\n // Función que oculta el contenido de fondo al abrir el menú en formato mobile.\n // Para el caso de v8 se usa el id del contenedor y para CV la clase.\n // En ambos casos es un cambio que se aplica sólo cuando el menú está abierto y en dispositivos móviles.\n useEffect(() => {\n if (!isMobile || onlyToCalendar) return // Si es mobile o no abre menu no se ejecuta\n\n const viewContainer = document.getElementById('ViewContainer')\n\n if (viewContainer) {\n // Si existe #ViewContainer, lo ocultamos o mostramos\n viewContainer.style.display = isMenuOpen ? 'none' : ''\n } else {\n // Si #ViewContainer no existe, aplicamos la lógica de .main\n const mainElement = document.querySelector('.main')\n if (!mainElement) return\n\n const firstChild = mainElement.firstElementChild\n if (!firstChild || !(firstChild instanceof HTMLElement)) return\n\n const headerElement = firstChild.querySelector('header.header')\n if (!headerElement) return\n\n const targetElement = headerElement.nextElementSibling\n if (!targetElement || !(targetElement instanceof HTMLElement)) return\n\n targetElement.style.display = isMenuOpen ? 'none' : ''\n }\n }, [isMobile, isMenuOpen, onlyToCalendar])\n\n const onClose = (): void => {\n closeAndMarkSeen()\n setMenuOpen(false)\n }\n\n return (\n <Box\n zIndex={4}\n className={`calendarDropdown ${hasNew && !onlyToCalendar ? 'hasNew' : ''}`}\n width=\"fit-content\"\n height=\"30px\"\n m={m}\n position=\"relative\"\n sx={{\n // Pseudo-elemento para la flecha\n '&::after': {\n borderColor: `transparent transparent ${\n vars('colors-neutral-davysGrey') ?? '#5C5C5C'\n } transparent`,\n borderStyle: 'solid',\n borderWidth: '0 11px 10px 11px',\n content: '\"\"',\n display: isMenuOpen ? 'block' : 'none',\n height: '0',\n left: '11%',\n position: 'absolute',\n top: '30px',\n transform: 'translateX(-50%)',\n width: '0',\n },\n // Se genera pseudo elemento que actúa como ícono de notificación\n '&.hasNew::before': {\n background: vars('colors-secondary-pumpkin') ?? '#FF7A14',\n borderRadius: '50%',\n content: '\"\"',\n display: 'block',\n height: '8px',\n width: '8px',\n position: 'absolute',\n left: '22px',\n top: '0',\n zIndex: '1',\n },\n '>div': {\n left: isMobile ? '0 !important' : 'auto',\n position: isMobile ? 'fixed !important' : 'absolute',\n top: isMobile ? '62px !important' : 'auto',\n transform: isMobile ? 'none !important' : 'translate3d(-409px, 38px, 0px) !important',\n },\n\n '.chakra-menu__menu-list': {\n animation: 'none !important',\n background: 'transparent',\n border: 'none',\n borderRadius: isMobile ? '0' : '10px',\n boxShadow: isMobile ? 'none' : 'rgba(47, 47, 47, 0.2) -1px 6px 40px 0px',\n left: isMobile ? 'auto' : '34pxpx',\n maxHeight: isMobile ? 'calc(100vh - 62px)' : 'auto',\n opacity: '1 !important',\n overflowY: isMobile ? 'auto' : 'hidden',\n padding: '0',\n position: 'absolute',\n top: isMobile ? '-6px !important' : '1px',\n transform: 'none !important',\n transition: 'none !important',\n width: isMobile ? '100vw' : '500px',\n },\n '.chakra-menu__group__title': {\n fontSize: '18px',\n fontWeight: '700',\n lineHeight: '31px',\n margin: '32px 0 0',\n padding: '0 0 8px 16px',\n },\n '.react-ripples': {\n width: 'inherit',\n },\n }}\n >\n <Menu autoSelect={false} onOpen={() => setMenuOpen(true)} onClose={onClose}>\n <>\n <GoToCalendar\n text={text?.tooltip ?? 'Calendario'}\n onlyToCalendar={onlyToCalendar}\n onClick={redirectToCalendar}\n />\n {!onlyToCalendar && (\n <MenuList>\n <Header\n isMobile={isMobile}\n text={text?.header ?? 'Próximas fechas importantes de tus cursos'}\n />\n <Box bg={vars('colors-neutral-white') ?? '#FFF'}>\n {loading ? (\n <Loading text={text?.loading ?? 'Cargando'} />\n ) : events.length === 0 || empty ? (\n <Empty text={text?.empty ?? 'Aún no tienes eventos en tu calendario'} />\n ) : (\n <Events\n colors={courseColors}\n events={all}\n hasMoreNext={hasMoreNext}\n isMobile={isMobile}\n redirecToCalendar={redirectToCalendar}\n text={text}\n />\n )}\n </Box>\n </MenuList>\n )}\n </>\n </Menu>\n </Box>\n )\n}\n\nconst Loading = ({ text }: { text?: string }): JSX.Element => {\n return <div>{text ?? 'Loading...'}</div>\n}\n","import { CalendarDropdownContainer } from './CalendarDropdown/CalendarDropdownContainer'\nimport { ICalendarDropdown } from './types'\n\nexport const CalendarDropdown = ({\n courseColors,\n events,\n loading,\n m,\n now,\n onlyToCalendar = false,\n redirectToCalendar,\n text,\n alert = false,\n}: ICalendarDropdown): JSX.Element => {\n const date = new Date(now)\n const isoDate = date.toISOString()\n\n return (\n <CalendarDropdownContainer\n courseColors={courseColors}\n events={events}\n loading={loading}\n m={m}\n now={isoDate}\n onlyToCalendar={onlyToCalendar}\n redirectToCalendar={redirectToCalendar}\n text={text}\n alert={alert}\n />\n )\n}\n","export const NotificationIcon = (): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"8px\"\n height=\"9px\"\n fill=\"none\"\n className=\"goToCalendarNotification\"\n >\n <circle cx=\"4px\" cy=\"4.5px\" r=\"4px\" fill=\"#FF7A14\" />\n </svg>\n)\n","import { Box } from '@chakra-ui/react'\nimport { vars } from '@theme'\n\nimport { NotificationIcon } from './NotificationIcon'\n\nexport interface IEventList {\n color?: string\n courseName?: string\n day: string\n date: string\n name: string\n hasNotification?: boolean\n showCourse?: boolean\n showUnit?: boolean\n time: string\n text: string\n type: string\n unitName?: string\n}\n\nexport const EventsList = ({\n courseName,\n color,\n day,\n date,\n name,\n hasNotification,\n showCourse,\n showUnit,\n time,\n text,\n type,\n unitName,\n}: IEventList): JSX.Element => {\n const border = `1px solid ${vars('colors-neutral-platinum') ?? '#E8E8E8'}`\n\n const initOrEnd = [\n 'end-course',\n 'init-course',\n 'init-course-flexible',\n 'end-course-flexible',\n ].includes(type)\n\n const dateTextStyle = {\n color: vars('colors-neutral-white'),\n fontSize: '14px',\n fontWeight: '700',\n lineHeight: '100%',\n }\n\n const detailTextStyle = {\n color: vars('colors-neutral-gray') ?? '#808080',\n fontSize: '14px',\n display: 'inline',\n gap: '4px',\n lineHeight: 'normal',\n }\n\n return (\n <Box className=\"eventsList\" borderTop={border} p=\"16px\" display=\"flex\" gap=\"12px\">\n <Box\n bg={color}\n minW=\"88px\"\n minH=\"74px\"\n maxW=\"88px\"\n maxH=\"72px\"\n borderRadius=\"4px\"\n p=\"8px\"\n display=\"flex\"\n flexDirection=\"column\"\n justifyContent=\"space-around\"\n >\n <Box as=\"span\" sx={dateTextStyle}>\n {day}\n </Box>\n <Box as=\"span\" sx={dateTextStyle}>\n {date}\n </Box>\n <Box sx={dateTextStyle}>{time}</Box>\n </Box>\n\n <Box display=\"flex\" flexDirection=\"column\" gap=\"8px\" w=\"100%\">\n <Box\n alignItems=\"center\"\n display=\"flex\"\n fontSize=\"16px\"\n fontWeight=\"700\"\n justifyContent=\"space-between\"\n lineHeight=\"21px\"\n sx={{\n '>span': {\n width: 'calc(100% - 12px)',\n },\n '>svg': {\n alignSelf: 'flex-start',\n },\n }}\n >\n <span>{name}</span>\n {hasNotification && <NotificationIcon />}\n </Box>\n\n {showCourse && !initOrEnd && (\n <Box as=\"span\" sx={detailTextStyle}>\n <strong>{text ? `${text}:` : 'Curso:'}</strong> {courseName}\n </Box>\n )}\n\n {showUnit && !initOrEnd && (\n <Box display=\"flex\" gap=\"4px\" alignItems=\"baseline\">\n <Box as=\"span\" sx={detailTextStyle}>\n {unitName}\n </Box>\n </Box>\n )}\n </Box>\n </Box>\n )\n}\n"],"names":["main","colors","styles","props","base","borders","radii","shadows","utils","typography","fonts","body","outstanding","overlay","dialog","theme","extendTheme","vars","value","getOwnPropertySymbols","hasOwnProperty","propIsEnumerable","toObject","val","shouldUseNative","test1","test2","i","order2","n","test3","letter","f","require$$0","g","reactJsxRuntime_production_min","h","m","p","q","c","a","k","b","d","e","l","jsxRuntimeModule","jsx","jsxRuntime.jsx","jsxs","jsxRuntime.jsxs","Fragment","jsxRuntime.Fragment","Label","children","bg","color","size","sx","config","md","borderRadius","fontWeight","sm","Box","display","fontSize","lineHeight","Progress","limitedValue","CircularProgress","thickness","trackColor","ReactPropTypesSecret","ReactPropTypesSecret_1","emptyFunction","emptyFunctionWithReset","factoryWithThrowingShims","shim","propName","componentName","location","propFullName","secret","err","getShim","ReactPropTypes","propTypesModule","__extends","this","extendStatics","__","__assign","t","s","__rest","boxStyle","createRipples","defaultProps","_a","_super","class_1","_this","ev","during","onClick","pageX","pageY","currentTarget","rect","left","top","state","className","rippleStyle","React","PropTypes","withAttrs","Component","Ripples$1","Ripples","ReactRipples","Base","w","viewBox","title","IconChakra","_jsxs","AcademicRecord","_jsx","fill","displayName","AlertInfo","width","height","xmlns","stroke","strokeWidth","strokeLinecap","fillRule","clipRule","uniqueId","ArrowRight","id","clipPath","style","maskType","x","y","maskUnits","transform","mask","Certificate","CircularCheck","CircularInformation","Download","GoAhead","GoBack","Multimedia","Loader","shapeRendering","textRendering","dangerouslySetInnerHTML","__html","r","fillOpacity","animation","Profile","Schedule","TinyAlertInfo","cx","cy","TinyAlertError","TinyAlertWarning","TinyAlertSuccess","Password","Pen","PlusSign","TrashCan","TextBubble","ErrorWhite","InfoWhite","SuccessWhite","WarningWhite","ErrorColor","InfoColor","SuccessColor","WarningColor","Close","DiagonalArrow","TinyAlert","status","text","margin","alerts","success","icon","error","info","warning","answered","undefined","omitted","pending","new","backgroundColor","flexDirection","alignItems","padding","gap","as","fontStyle","fontFamily","Btn","ariaLabel","borderColorActive","disabled","fillLoader","isFullWidth","isLoading","leftIcon","rightIcon","role","rounded","touchDark","type","tabIndex","showChildren","paddingTopBottom","colorMain","touchColor","onlyIcon","Button","autoFocus","iconSpacing","isActive","minHeight","minWidth","position","paddingTop","paddingBottom","paddingLeft","paddingRight","spinner","_active","_disabled","opacity","cursor","_focus","boxShadow","_focusVisible","_hover","hover","span","BtnPrimary","BtnSecondary","BtnTertiary","activeWhenPress","iconStatus","iconCustom","onMouseEnter","onMouseLeave","withoutColor","gray","blue","white","colorIcon","btnIcons","ahead","answer","back","delete","download","edit","more","multimedia","password","record","noIcon","_Fragment","rIcon","lIcon","background","textDecorationLine","mr","BtnLink","href","isDisable","target","typeButton","button","borderStyle","HelpIcon","CalendarButtonIcon","Accessibility","NavBarButton","buttonName","onlyLink","isMobile","useMediaQuery","buttonType","accessibility","calendar","help","triggerWidget","buttonB","document","getElementById","click","activeBg","hoverBg","isAccessibility","outline","border","maxH","justifyContent","alignContent","NewTooltip","label","isDisabled","maxWidth","placement","isOpen","Tooltip","closeOnClick","hasArrow","UserWay","UserWayCookie","cookieName","userwayDataCookie","row","userwayData","key","serializedData","expiryDate","STUDENT","LABEL_STYLES","ADMIN","NEW","Header","labels","logo","logoAlt","profile","soonCourse","useContext","CourseBoxContext","borderBottom","pos","_before","content","backgroundImage","backgroundSize","backgroundPosition","show","zIndex","Flex","name","length","Stack","direction","spacing","wrap","map","item","index","labelStyle","Center","bottom","overflow","Image","src","alt","maxHeight","DateStatus","date","Text","IconSelection","progressValue","ID_QUALIFIED","CourseStatus","progress","ml","finalGrade","isApproved","Section","dateStatus","information","marginTop","hasDates","HStack","divider","init","end","alignSelf","Heading","mt","justify","List","paddingInlineStart","pt","borderTop","ListItem","Link","isExternal","textDecor","dataBase","dataStates","dataFake","PROFILE_STUDENT","isCourseActive","enabled","profileID","maxWidthCoursesList","nCols","wCourse","columnGap","PaymentModal","onOpen","onClose","showOverlay","modalPaymentText","cssButton","OverlayTwo","ModalOverlay","backdropBlur","setOverlay","useState","useEffect","Modal","isCentered","blockScrollOnMount","closeOnOverlayClick","ModalContent","marginBottom","ModalHeader","ModalCloseButton","ModalBody","align","ModalFooter","borderTopColor","Footer","action","hasFinanzeFreezed","useDisclosure","handleClick","hasIcon","mb","useEnterNavigate","handleKeyDown","active","isFocusableLink","_b","createContext","WithRipples","BoxTraditional","data","isClickable","hasHref","cssActive","Provider","LinkBox","transition","LinkOverlay","targetBlank","BoxImage","backgroundImg","boxHeight","large","small","font","textAlign","marginBlockEnd","Boxes","common","commonImg","TRADITIONAL","TRADITIONAL_LANDSCAPE","IMAGE_LARGE","IMAGE_SMALL","CourseList","courses","typeBox","gridColumnGap","gridRowGap","gridTemplateColumns","course","entries","setPrototypeOf","isFrozen","getPrototypeOf","getOwnPropertyDescriptor","freeze","seal","create","apply","construct","func","thisArg","_len","args","_key","Func","_len2","_key2","arrayForEach","unapply","arrayLastIndexOf","arrayPop","arrayPush","arraySplice","stringToLowerCase","stringToString","stringMatch","stringReplace","stringIndexOf","stringTrim","objectHasOwnProperty","regExpTest","typeErrorCreate","unconstruct","_len3","_key3","_len4","_key4","addToSet","set","array","transformCaseFunc","element","lcElement","cleanArray","clone","object","newObject","property","lookupGetter","prop","desc","fallbackValue","html$1","svg$1","svgFilters","svgDisallowed","mathMl$1","mathMlDisallowed","html","svg","mathMl","xml","MUSTACHE_EXPR","ERB_EXPR","TMPLIT_EXPR","DATA_ATTR","ARIA_ATTR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","DOCTYPE_NAME","CUSTOM_ELEMENT","EXPRESSIONS","NODE_TYPE","getGlobal","_createTrustedTypesPolicy","trustedTypes","purifyHostElement","suffix","ATTR_NAME","policyName","scriptUrl","_createHooksMap","createDOMPurify","window","DOMPurify","root","originalDocument","currentScript","DocumentFragment","HTMLTemplateElement","Node","Element","NodeFilter","NamedNodeMap","HTMLFormElement","DOMParser","ElementPrototype","cloneNode","remove","getNextSibling","getChildNodes","getParentNode","template","trustedTypesPolicy","emptyHTML","implementation","createNodeIterator","createDocumentFragment","getElementsByTagName","importNode","hooks","IS_ALLOWED_URI$1","ALLOWED_TAGS","DEFAULT_ALLOWED_TAGS","ALLOWED_ATTR","DEFAULT_ALLOWED_ATTR","CUSTOM_ELEMENT_HANDLING","FORBID_TAGS","FORBID_ATTR","EXTRA_ELEMENT_HANDLING","ALLOW_ARIA_ATTR","ALLOW_DATA_ATTR","ALLOW_UNKNOWN_PROTOCOLS","ALLOW_SELF_CLOSE_IN_ATTR","SAFE_FOR_TEMPLATES","SAFE_FOR_XML","WHOLE_DOCUMENT","SET_CONFIG","FORCE_BODY","RETURN_DOM","RETURN_DOM_FRAGMENT","RETURN_TRUSTED_TYPE","SANITIZE_DOM","SANITIZE_NAMED_PROPS","SANITIZE_NAMED_PROPS_PREFIX","KEEP_CONTENT","IN_PLACE","USE_PROFILES","FORBID_CONTENTS","DEFAULT_FORBID_CONTENTS","DATA_URI_TAGS","DEFAULT_DATA_URI_TAGS","URI_SAFE_ATTRIBUTES","DEFAULT_URI_SAFE_ATTRIBUTES","MATHML_NAMESPACE","SVG_NAMESPACE","HTML_NAMESPACE","NAMESPACE","IS_EMPTY_INPUT","ALLOWED_NAMESPACES","DEFAULT_ALLOWED_NAMESPACES","MATHML_TEXT_INTEGRATION_POINTS","HTML_INTEGRATION_POINTS","COMMON_SVG_AND_HTML_ELEMENTS","PARSER_MEDIA_TYPE","SUPPORTED_PARSER_MEDIA_TYPES","DEFAULT_PARSER_MEDIA_TYPE","CONFIG","formElement","isRegexOrFunction","testValue","_parseConfig","cfg","ALL_SVG_TAGS","ALL_MATHML_TAGS","_checkValidNamespace","parent","tagName","parentTagName","_forceRemove","node","_removeAttribute","_initDocument","dirty","doc","leadingWhitespace","matches","dirtyPayload","_createNodeIterator","_isClobbered","_isNode","_executeHooks","currentNode","hook","_sanitizeElements","_isBasicCustomElement","parentNode","childNodes","childCount","childClone","expr","_isValidAttribute","lcTag","lcName","_sanitizeAttributes","attributes","hookEvent","attr","namespaceURI","attrValue","initValue","_sanitizeShadowDOM","fragment","shadowNode","shadowIterator","importedNode","returnNode","nodeIterator","serializedHTML","tag","entryPoint","hookFunction","purify","exports","ElementType","isTag","elem","domelementtype_1","prev","next","recursive","DataNode","Comment","ProcessingInstruction","NodeWithChildren","CDATA","Document","attribs","isCDATA","isText","isComment","isDirective","isDocument","hasChildren","result","cloneChildren","clone_1","child","clone_2","clone_3","instruction","childs","__createBinding","o","k2","__exportStar","node_js_1","require$$1","defaultOpts","DomHandler","callback","options","elementCB","parser","lastNode","previousSibling","accumulator","utilities","utilities$2","formatAttributes","escapeSpecialCharacters","revertEscapedCharacters","formatDOM","domhandler_1","constants_1","getCaseSensitiveTagName","attributesLength","attribute","formatTagName","caseSensitiveTagName","nodes","directive","domNodes","current","nodesLength","domparser_1","domparser$1","domparser","utilities_1","HTML","HEAD","BODY","FIRST_TAG_REGEX","HEAD_TAG_REGEX","BODY_TAG_REGEX","parseFromDocument","parseFromString","domParser_1","mimeType_1","htmlDocument_1","parseFromTemplate","match","firstTagName","elements","__importDefault","mod","htmlToDom","HTMLDOMParser","DIRECTIVE_REGEX","SAME","possibleStandardNamesOptimized$1","CAMELCASE","RESERVED","STRING","BOOLEANISH_STRING","BOOLEAN","OVERLOADED_BOOLEAN","NUMERIC","POSITIVE_NUMERIC","getPropertyInfo","properties","PropertyInfoRecord","mustUseProperty","attributeName","attributeNamespace","sanitizeURL","removeEmptyString","CAMELIZE","capitalize","token","xlinkHref","possibleStandardNamesOptimized","ATTRIBUTE_NAME_CHAR","isCustomAttribute","possibleStandardNames","standardName","lib","COMMENT_REGEX","NEWLINE_REGEX","WHITESPACE_REGEX","PROPERTY_REGEX","COLON_REGEX","VALUE_REGEX","SEMICOLON_REGEX","TRIM_REGEX","NEWLINE","FORWARD_SLASH","ASTERISK","EMPTY_STRING","TYPE_COMMENT","TYPE_DECLARATION","lineno","column","updatePosition","str","lines","start","Position","whitespace","msg","re","comments","rules","comment","declaration","ret","trim","declarations","decls","decl","cjs","cjs$2","StyleToObject","inline_style_parser_1","iterator","styleObject","hasIterator","CUSTOM_PROPERTY_REGEX","HYPHEN_REGEX","NO_HYPHEN_REGEX","VENDOR_PREFIX_REGEX","MS_VENDOR_PREFIX_REGEX","skipCamelCase","character","trimHyphen","prefix","camelCase","style_to_object_1","StyleToJS","output","isCustomComponent","setStyleProp","react_1","style_to_js_1","RESERVED_SVG_MATHML_ELEMENTS","styleOptions","canTextBeChildOfNode","returnFirstArg","arg","attributesToProps_1","attributesToProps$1","attributesToProps","react_property_1","UNCONTROLLED_COMPONENT_ATTRIBUTES","UNCONTROLLED_COMPONENT_NAMES","valueOnlyInputs","nodeName","isInputValueOnly","attributeValue","attributeNameLowerCased","getPropName","propertyInfo","domToReact_1","domToReact$1","domToReact","attributes_to_props_1","require$$2","reactElements","hasReplace","cloneElement","createElement","isValidElement","replaceElement","isWhitespace","skipAttributesToProps","HTMLReactParser","html_dom_parser_1","dom_to_react_1","require$$3","domParserOptions","ReactParser","alertStates","alertColorStates","Alert","canDismiss","buttonText","buttonIcon","buttonLink","fullWidth","maxContent","isFlash","endTextLink","onClickLink","DOMPurifyLib","sanitize","flexFlow","mx","pr","textDecoration","marginLeft","right","u","j","W","T","U","Q","S","X","$","J","v","A","P","Y","I","H","G","Z","ee","D","K","L","E","R","oe","se","_","te","ne","ie","V","ae","pe","N","de","ce","ue","C","le","Te","me","fe","M","ye","ge","he","xe","be","B","Se","Ae","z","F","Oe","Ee","Re","ve","Pe","O","Ie","handleTime","message","baseMinutes","totalMs","GLOBAL_TOASTER_FLAG","FlashNotification","shouldRenderToaster","setShouldRenderToaster","showToast","useCallback","toast","dismiss","duration","includes","Infinity","Toaster","toastOptions","containerStyle","useFlashNotification","setShow","timeOut","ModalContentBase","fixedSubtitle","withoutMargin","isDesktop","uiKitModalIsDesktop","py","px","borderTopRadius","paddingY","useModalConfig","scrollBehavior","fixedButtons","isInside","ModalPadding","modalConfig","ChakraModal","closeOnEsc","motionPreset","pb","contentProps","StyledModalFooter","StyledModalBody","ModalButtons","buttonsCenter","buttonsColumn","Loading","ModalAlertContent","description","descriptionParsed","useModalAlertConfig","ModalAlertNew","ModalAlertButtons","borderRight","useModalMultipleConfig","modalAlertConfig","ModalMultiple","renderContent","ModalAlert","showModal","typeAlert","optionsButton","modalStyles","showBorder","option","borderLeftWidth","borderLeftColor","Calendar","Icon","Clock","LargeBox","eventTitle","startDate","startTime","buttonInfo","redirect","eventImage","rel","bgImage","SmallBox","flex","Eventos","typeEvent","itemsEvent","Avi","strokeMiterlimit","Csv","Doc","Docx","Gif","Icons","Jpeg","Jpg","Png","Pdf","Ppt","Pptx","Xls","Xlsx","Mp3","Wav","Mp4","Mkv","Url","StandardBackground","colorFill","Resources","resourceType","resourceTitle","resourceDetail","resourceTextDownload","resourceLink","jpeg","jpg","png","gif","ppt","pptx","docx","csv","xls","xlsx","pdf","mp4","avi","mkv","mp3","wav","url","millisecondsInMinute","millisecondsInHour","constructFromSymbol","constructFrom","toDate","argument","context","addDays","amount","_date","normalizeDates","dates","normalize","startOfDay","isSameDay","laterDate","earlierDate","dateLeft_","dateRight_","isAfter","dateToCompare","parseISO","invalidDate","additionalDigits","dateStrings","splitDateString","parseYearResult","parseYear","parseDate","timestamp","time","offset","parseTime","parseTimezone","tmpDate","patterns","dateRegex","timeRegex","timezoneRegex","dateString","timeString","regex","captures","year","century","isWeekDate","dayOfYear","parseDateUnit","month","day","week","dayOfWeek","validateWeekDate","dayOfISOWeekYear","validateDate","validateDayOfYearDate","hours","parseTimeUnit","minutes","seconds","validateTime","timezoneString","sign","validateTimezone","isoWeekYear","fourthOfJanuaryDay","diff","daysInMonths","isLeapYearIndex","_year","_hours","STORAGE_TODAY_EVENT","STORAGE_SEEN_EVENT","STORAGE_HAS_NEW","useParseEvents","events","now","todayEvents","setTodayEvents","tomorrowEvents","setTomorrowEvents","nextEvents","setNextEvents","hasNew","setHasNew","hasMoreNext","setHasMoreNext","parseNow","today","tomorrow","storedTodayEvent","storedSeenEvent","newEvents","todayList","tomorrowList","nextList","event","eventStart","seen","updatedSeenEvents","el","GoToCalendar","onlyToCalendar","MenuButton","toUpperCase","NoEventsIcon","rx","Empty","EventsGroup","textSeeMore","textLinkMore","MenuGroup","EventsList","translatedTitle","courseName","formatedDate","course_id","hasNotification","isNew","showCourse","Events","redirecToCalendar","overflowY","minW","minH","buttonCalendar","seeMore","see","link","CalendarDropdownContainer","courseColors","loading","redirectToCalendar","alert","closeAndMarkSeen","empty","all","isMenuOpen","setMenuOpen","viewContainer","mainElement","querySelector","firstChild","firstElementChild","HTMLElement","headerElement","targetElement","nextElementSibling","borderColor","borderWidth","Menu","autoSelect","tooltip","MenuList","header","CalendarDropdown","isoDate","Date","toISOString","NotificationIcon","showUnit","unitName","initOrEnd","dateTextStyle","detailTextStyle","maxW"],"mappings":"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EACAsb,GACA,GACAtb,EACA,KACA,GACA,EACJ,CACA,CAAC,EAGD,CACE,OACA,OACA,OACA,MAKF,EAAE,QAAQA,GAAQ,CAChB0b,EAAW1b,GAAQ,IAAI2b,EACrB3b,EACAwb,GACA,GACAxb,EACA,KACA,GACA,EACJ,CACA,CAAC,EAGD,CAAC,UAAW,OAAO,EAAE,QAAQA,GAAQ,CACnC0b,EAAW1b,GAAQ,IAAI2b,EACrB3b,EACAub,GACA,GACAvb,EAAK,YAAa,EAClB,KACA,GACA,EACJ,CACA,CAAC,EAED,MAAMic,GAAW,iBACXC,GAAaC,GAASA,EAAM,GAAG,YAAW,EAOhD,CACE,gBACA,qBACA,cACA,iBACA,aACA,YACA,YACA,sBACA,8BACA,gBACA,kBACA,oBACA,oBACA,eACA,YACA,cACA,gBACA,cACA,YACA,mBACA,eACA,aACA,eACA,cACA,aACA,+BACA,6BACA,cACA,iBACA,kBACA,iBACA,iBACA,aACA,aACA,eACA,oBACA,qBACA,cACA,WACA,iBACA,mBACA,kBACA,aACA,eACA,yBACA,0BACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,eACA,cACA,kBACA,iBACA,qBACA,sBACA,eACA,gBACA,eACA,eACA,YACA,gBACA,iBACA,gBACA,aACA,gBACA,gBACA,eACA,eACA,cACA,UAKF,EAAE,QAAQN,GAAiB,CACzB,MAAM7b,EAAO6b,EAAc,QAAQI,GAAUC,EAAU,EACvDR,EAAW1b,GAAQ,IAAI2b,EACrB3b,EACAmb,GACA,GACAU,EACA,KACA,GACA,EACJ,CACA,CAAC,EAGD,CACE,gBACA,gBACA,aACA,aACA,cACA,YAKF,EAAE,QAAQA,GAAiB,CACzB,MAAM7b,EAAO6b,EAAc,QAAQI,GAAUC,EAAU,EACvDR,EAAW1b,GAAQ,IAAI2b,EACrB3b,EACAmb,GACA,GACAU,EACA,+BACA,GACA,EACJ,CACA,CAAC,EAGD,CACE,WACA,WACA,WAKF,EAAE,QAAQA,GAAiB,CACzB,MAAM7b,EAAO6b,EAAc,QAAQI,GAAUC,EAAU,EACvDR,EAAW1b,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"}
1
+ {"version":3,"file":"eclass-ui-kit.umd.js","sources":["../src/theme/colors.ts","../src/theme/styles.ts","../src/theme/utils.ts","../src/theme/typography.tsx","../src/organisms/Modals/resetStyleModal.ts","../src/theme/index.ts","../node_modules/object-assign/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/jsx-runtime.js","../react/jsx-runtime","../src/atoms/Label/Label.tsx","../src/atoms/Progress/Progress.tsx","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/react-ripples/esm/createRipples.js","../node_modules/react-ripples/esm/withAttrs.js","../node_modules/react-ripples/esm/index.js","../src/atoms/Ripples/Ripples.tsx","../src/atoms/Icons/Base.tsx","../src/atoms/Icons/AcademicRecord.tsx","../src/atoms/Icons/AlertInfo.tsx","../src/services/uniqueId.ts","../src/atoms/Icons/ArrowRight.tsx","../src/atoms/Icons/Certificate.tsx","../src/atoms/Icons/CircularCheck.tsx","../src/atoms/Icons/CircularInformation.tsx","../src/atoms/Icons/Download.tsx","../src/atoms/Icons/GoAhead.tsx","../src/atoms/Icons/GoBack.tsx","../src/atoms/Icons/Multimedia.tsx","../src/atoms/Icons/Loader.tsx","../src/atoms/Icons/Profile.tsx","../src/atoms/Icons/Schedule.tsx","../src/atoms/Icons/TinyAlertInfo.tsx","../src/atoms/Icons/TinyAlertError.tsx","../src/atoms/Icons/TinyAlertWarning.tsx","../src/atoms/Icons/TinyAlertSuccess.tsx","../src/atoms/Icons/Password.tsx","../src/atoms/Icons/Pen.tsx","../src/atoms/Icons/PlusSign.tsx","../src/atoms/Icons/TrashCan.tsx","../src/atoms/Icons/TextBubble.tsx","../src/atoms/Icons/Alerts/ErrorWhite.tsx","../src/atoms/Icons/Alerts/InfoWhite.tsx","../src/atoms/Icons/Alerts/SuccessWhite.tsx","../src/atoms/Icons/Alerts/WarningWhite.tsx","../src/atoms/Icons/Alerts/ErrorColor.tsx","../src/atoms/Icons/Alerts/InfoColor.tsx","../src/atoms/Icons/Alerts/SuccessColor.tsx","../src/atoms/Icons/Alerts/WarningColor.tsx","../src/atoms/Icons/Close.tsx","../src/atoms/Icons/DiagonalArrow.tsx","../src/atoms/TinyAlert/TinyAlert.tsx","../src/molecules/Buttons/Btn.tsx","../src/molecules/Buttons/BtnPrimary.tsx","../src/molecules/Buttons/BtnSecondary.tsx","../src/molecules/Buttons/BtnTertiary.tsx","../src/molecules/Buttons/BtnLink.tsx","../src/molecules/NavBarButtons/Icons/HelpIcon.tsx","../src/molecules/NavBarButtons/Icons/CalendarButtonIcon.tsx","../src/atoms/Icons/Accessibility.tsx","../src/molecules/NavBarButtons/NavBarButton.tsx","../src/molecules/Tooltip/NewTooltip.tsx","../src/molecules/UserWay/UserWay.tsx","../src/molecules/UserWay/UserWayCookie.ts","../src/organisms/CourseList/components/Header.tsx","../src/organisms/CourseList/components/DateStatus.tsx","../src/organisms/CourseList/components/IconSelection.tsx","../src/organisms/CourseList/components/CourseStatus.tsx","../src/organisms/CourseList/components/Section.tsx","../src/organisms/CourseList/utils/dataFake.ts","../src/organisms/CourseList/utils/isCourseActive.ts","../src/organisms/CourseList/utils/maxWidthCoursesList.ts","../src/organisms/CourseList/components/Modal/PaymentModal.tsx","../src/organisms/CourseList/components/Footer.tsx","../src/organisms/CourseList/utils/useEnterNavigate.ts","../src/organisms/CourseList/Boxes/BoxTraditional.tsx","../src/organisms/CourseList/Boxes/BoxImage.tsx","../src/organisms/CourseList/Boxes/Boxes.tsx","../src/organisms/CourseList/CourseList.tsx","../node_modules/dompurify/dist/purify.es.mjs","../node_modules/domelementtype/lib/index.js","../node_modules/domhandler/lib/node.js","../node_modules/domhandler/lib/index.js","../node_modules/html-dom-parser/lib/client/constants.js","../node_modules/html-dom-parser/lib/client/utilities.js","../node_modules/html-dom-parser/lib/client/domparser.js","../node_modules/html-dom-parser/lib/client/html-to-dom.js","../node_modules/react-property/lib/possibleStandardNamesOptimized.js","../node_modules/react-property/lib/index.js","../node_modules/inline-style-parser/cjs/index.js","../node_modules/style-to-object/cjs/index.js","../node_modules/style-to-js/cjs/utilities.js","../node_modules/style-to-js/cjs/index.js","../node_modules/html-react-parser/lib/utilities.js","../node_modules/html-react-parser/lib/attributes-to-props.js","../node_modules/html-react-parser/lib/dom-to-react.js","../node_modules/html-react-parser/lib/index.js","../node_modules/html-react-parser/esm/index.mjs","../src/organisms/Alerts/utils/alertStates.tsx","../src/organisms/Alerts/Alert.tsx","../node_modules/goober/dist/goober.modern.js","../node_modules/react-hot-toast/dist/index.mjs","../src/organisms/Alerts/utils/handleTime.ts","../src/organisms/Alerts/FlashNotification.tsx","../src/organisms/Alerts/utils/useFlashNotification.ts","../src/organisms/Modals/Modal/ModalContentBase.tsx","../src/organisms/Modals/Modal/useModalConfig.ts","../src/organisms/Modals/Modal/Modal.tsx","../src/organisms/Modals/Modal/ModalButtons.tsx","../src/organisms/Modals/ModalAlert/Loading.tsx","../src/organisms/Modals/ModalAlert/ModalAlertContent.tsx","../src/organisms/Modals/ModalAlert/useModalAlertConfig.ts","../src/organisms/Modals/ModalAlert/ModalAlert.tsx","../src/organisms/Modals/ModalMultiple/useModalMultipleConfig.ts","../src/organisms/Modals/ModalMultiple/ModalMultiple.tsx","../src/organisms/ModalAlert/ModalAlert.tsx","../src/organisms/Events/Icons/Calendar.tsx","../src/organisms/Events/Icons/Clock.tsx","../src/organisms/Events/TypeBox/LargeBox.tsx","../src/organisms/Events/TypeBox/SmallBox.tsx","../src/organisms/Events/Eventos.tsx","../src/organisms/Resources/Icons/Avi.tsx","../src/organisms/Resources/Icons/Csv.tsx","../src/organisms/Resources/Icons/Doc.tsx","../src/organisms/Resources/Icons/Docx.tsx","../src/organisms/Resources/Icons/Gif.tsx","../src/organisms/Resources/Icons/Icons.tsx","../src/organisms/Resources/Icons/Jpeg.tsx","../src/organisms/Resources/Icons/Jpg.tsx","../src/organisms/Resources/Icons/Mkv.tsx","../src/organisms/Resources/Icons/Mp3.tsx","../src/organisms/Resources/Icons/Mp4.tsx","../src/organisms/Resources/Icons/Pdf.tsx","../src/organisms/Resources/Icons/Png.tsx","../src/organisms/Resources/Icons/Ppt.tsx","../src/organisms/Resources/Icons/Pptx.tsx","../src/organisms/Resources/Icons/Wav.tsx","../src/organisms/Resources/Icons/Xls.tsx","../src/organisms/Resources/Icons/Xlsx.tsx","../src/organisms/Resources/Icons/Url.tsx","../src/organisms/Resources/StandardBackground.tsx","../src/organisms/Resources/Resources.tsx","../node_modules/date-fns/constants.js","../node_modules/date-fns/constructFrom.js","../node_modules/date-fns/toDate.js","../node_modules/date-fns/addDays.js","../node_modules/date-fns/_lib/normalizeDates.js","../node_modules/date-fns/startOfDay.js","../node_modules/date-fns/isSameDay.js","../node_modules/date-fns/isAfter.js","../node_modules/date-fns/parseISO.js","../src/organisms/Calendar/Dropdown/CalendarDropdown/services/parseEvents.ts","../src/organisms/Calendar/Dropdown/CalendarDropdown/Components/GoToCalendar.tsx","../src/organisms/Calendar/Dropdown/CalendarDropdown/Components/Header.tsx","../src/organisms/Calendar/Dropdown/CalendarDropdown/Icons/NoEventsIcon.tsx","../src/organisms/Calendar/Dropdown/CalendarDropdown/Components/Empty.tsx","../src/organisms/Calendar/Dropdown/CalendarDropdown/Components/EventsGroup.tsx","../src/organisms/Calendar/Dropdown/CalendarDropdown/Components/Events.tsx","../src/organisms/Calendar/Dropdown/CalendarDropdown/CalendarDropdownContainer.tsx","../src/organisms/Calendar/Dropdown/CalendarDropdown.tsx","../src/organisms/Calendar/EventsList/NotificationIcon.tsx","../src/organisms/Calendar/EventsList/EventsList.tsx"],"sourcesContent":["const main = {\n deepSkyBlue: '#0189FF',\n azureRadiance: '#017BE5',\n blueGrey: '#60798E',\n veryLightBlue: '#E0EEFA',\n linkWater: '#C7DEF2',\n ziggurat: '#B0CFE0',\n}\n\n/**\n * Valores definidos en el sistema de diseños eclass.\n * @see https://zeroheight.com/15698077d/p/435a07-paleta-de-colores\n */\nexport const colors = {\n main,\n secondary: {\n pumpkin: '#FF7A14',\n polishedBronze: '#CD7F32',\n cornsilk: '#FFF5DF',\n linen: '#F8ECE0',\n },\n alert: {\n deepSkyBlue: main.deepSkyBlue,\n veryLightBlue: main.veryLightBlue,\n jadeGreen: '#28A745',\n ice: '#E9F6EC',\n red: '#CC0000',\n veryLightPinkThree: '#F9DFDF',\n orangeyYelow: '#F5A623',\n pale: '#FDEED6',\n },\n icon: {\n cetaceanBlue: '#08044F',\n deepSkyBlue: main.deepSkyBlue,\n lightSeaGreen: '#1EBDAF',\n orangeRed: '#FF554D',\n ripeMango: '#FFBC27',\n },\n neutral: {\n darkCharcoal: '#2F2F2F',\n davysGrey: '#5C5C5C',\n gray: '#808080',\n spanishGrey: '#999999',\n silverSand: '#C6C6C6',\n platinum: '#E8E8E8',\n cultured: '#F4F4F4',\n cultured2: '#F8F8F8',\n white: '#FFFFFF',\n },\n}\n","// import { vars } from '@theme'\n\nexport const styles = {\n global: (props: any) => ({\n '.react-ripples': {\n h: '100%',\n display: 'grid!important',\n },\n '.chakra-button': {\n borderStyle: 'none',\n },\n }),\n}\n","import { colors } from './colors'\n\n/**\n * Valores definidos en el sistema de diseños eclass.\n * @see https://zeroheight.com/15698077d/p/48fae4-eclass-sistema-de-diseo\n */\nconst base = 'solid .063rem'\nexport const borders = {\n normal: `${base} ${colors.neutral.darkCharcoal}`,\n light: `${base} ${colors.neutral.platinum}`,\n active: `${base} ${colors.main.deepSkyBlue}`,\n success: `${base} ${colors.alert.jadeGreen}`,\n error: `${base} ${colors.alert.red}`,\n white: `solid .125rem ${colors.neutral.white}`,\n}\n\n/**\n * Valores definidos en el sistema de diseños eclass.\n * @see https://zeroheight.com/15698077d/p/48fae4-eclass-sistema-de-diseo\n */\nexport const radii = {\n small: '.25rem',\n big: '.5rem',\n rounded: '50%',\n}\n\n/**\n * Valores definidos en el sistema de diseños eclass.\n * @see https://zeroheight.com/15698077d/p/787e81-shadows--elevation\n */\nexport const shadows = {\n sm: '0 .125rem .5rem 0 rgba(0,0,0,.20)',\n md: '0 .25rem 1rem 0 rgba(0,0,0,.20)',\n lg: '0 .5rem 2rem 0 rgba(0,0,0,.20)',\n}\n\n/**\n * Valores definidos en el sistema de diseños eclass.\n * @see https://zeroheight.com/15698077d/p/04fce7-spacial-units\n */\nexport const space = {\n xxs: '.25rem',\n xs: '.5rem',\n s: '1rem',\n m: '1.5rem',\n l: '2rem',\n xl: '3rem',\n xxl: '5rem',\n}\n\nexport const utils = {\n borders,\n radii,\n shadows,\n space,\n}\n","import '@fontsource/roboto/700.css'\nimport '@fontsource/roboto/500.css'\nimport '@fontsource/roboto/400.css'\nimport '@fontsource/roboto/300.css'\nimport '@fontsource/lora/400.css'\n\nexport const typography = {\n fonts: {\n body: 'Roboto',\n outstanding: 'Lora',\n },\n}\n","import { radii, shadows } from '@theme/utils'\nimport { colors } from '@theme/colors'\n\nexport const overlay = {\n background: colors.neutral.darkCharcoal,\n opacity: '.3!important',\n}\nexport const dialog = {\n boxShadow: shadows.lg,\n bg: colors.neutral.white,\n borderRadius: radii.big,\n}\n","import { extendTheme } from '@chakra-ui/react'\n\nimport { colors } from './colors'\nimport { styles } from './styles'\nimport { utils } from './utils'\nimport { typography } from './typography'\nimport { dialog, overlay } from '@/organisms/Modals/resetStyleModal'\n\nexport const theme = extendTheme({\n colors,\n ...utils,\n ...typography,\n components: {\n Modal: {\n baseStyle: {\n overlay,\n dialog,\n },\n },\n },\n styles: styles,\n})\n\nexport const vars = (value: string): string => `var(--chakra-${value})`\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/** @license React v17.0.2\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';require(\"object-assign\");var f=require(\"react\"),g=60103;exports.Fragment=60107;if(\"function\"===typeof Symbol&&Symbol.for){var h=Symbol.for;g=h(\"react.element\");exports.Fragment=h(\"react.fragment\")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,k){var b,d={},e=null,l=null;void 0!==k&&(e=\"\"+k);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(l=a.ref);for(b in a)n.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:g,type:c,key:e,ref:l,props:d,_owner:m.current}}exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import * as jsxRuntime from \"/home/runner/work/ui-kit/ui-kit/node_modules/react/jsx-runtime.js\"\nexport const jsx = jsxRuntime.jsx\nexport const jsxs = jsxRuntime.jsxs\nexport const Fragment = jsxRuntime.Fragment","import { Box, CSSObject } from '@chakra-ui/react'\n\nimport { vars } from '@theme'\n\nexport interface LabelProps {\n children: React.ReactNode\n bg?: string\n color?: string\n size?: 'md' | 'sm'\n m?: string\n sx?: CSSObject\n}\n\n/**\n * Componente Label\n * @example <Label>Etiqueta</Label>\n */\nexport function Label({\n children,\n bg = vars('colors-icon-ripeMango'),\n color = vars('colors-neutral-darkCharcoal'),\n size = 'md',\n m = '0',\n sx,\n}: LabelProps): JSX.Element {\n const config = {\n md: {\n borderRadius: '0.25em',\n fontWeight: '400',\n p: '0.25em 0.84em',\n },\n sm: {\n borderRadius: '0.42em',\n fontWeight: '700',\n p: '0.17em 0.67em',\n },\n }\n\n return (\n <Box\n bg={bg}\n borderRadius={config[size].borderRadius}\n color={color}\n display=\"inline-block\"\n fontSize=\"0.75rem\"\n fontWeight={config[size].fontWeight}\n lineHeight=\".875rem\"\n m={m}\n p={config[size].p}\n sx={sx}\n >\n {children}\n </Box>\n )\n}\n","import { CircularProgress } from '@chakra-ui/react'\n\nimport { vars } from '@theme'\n\ninterface ProgressProps {\n value: number\n}\n/**\n * Componente Progress circular, valores permitidos entre 0 - 100\n * @example <Progress value={35} />\n */\nexport function Progress({ value = 0 }: ProgressProps): JSX.Element {\n let limitedValue = value\n if (value > 100) {\n limitedValue = 100\n } else if (value < 0) {\n limitedValue = 0\n }\n return (\n <CircularProgress\n size=\"1rem\"\n value={limitedValue}\n thickness=\"1rem\"\n color={vars('colors-main-deepSkyBlue')}\n trackColor={vars('colors-neutral-platinum')}\n />\n )\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React from 'react';\nimport PropTypes from 'prop-types';\nvar boxStyle = {\n position: 'relative',\n display: 'inline-flex',\n overflow: 'hidden',\n};\nexport var createRipples = function (defaultProps) {\n if (defaultProps === void 0) { defaultProps = {}; }\n var _a;\n return _a = (function (_super) {\n __extends(class_1, _super);\n function class_1(props) {\n var _this = _super.call(this, props) || this;\n _this.timer = 0;\n _this.onClick = function (ev) {\n var _a = _this.props, during = _a.during, onClick = _a.onClick, color = _a.color;\n ev.stopPropagation();\n var pageX = ev.pageX, pageY = ev.pageY, currentTarget = ev.currentTarget;\n var rect = currentTarget.getBoundingClientRect();\n var left = pageX - (rect.left + window.scrollX);\n var top = pageY - (rect.top + window.scrollY);\n var size = Math.max(rect.width, rect.height);\n _this.setState(function (state) {\n return {\n rippleStyle: __assign({}, state.rippleStyle, { left: left,\n top: top, opacity: 1, transform: 'translate(-50%, -50%)', transition: 'initial', backgroundColor: color }),\n };\n }, function () {\n _this.timer = setTimeout(function () {\n _this.setState(function (state) { return ({\n rippleStyle: __assign({}, state.rippleStyle, { opacity: 0, transform: \"scale(\" + size / 9 + \")\", transition: \"all \" + during + \"ms\" }),\n }); });\n }, 50);\n });\n if (onClick)\n onClick(ev);\n };\n _this.state = {\n rippleStyle: {\n position: 'absolute',\n borderRadius: '50%',\n opacity: 0,\n width: 35,\n height: 35,\n transform: 'translate(-50%, -50%)',\n pointerEvents: 'none',\n },\n };\n return _this;\n }\n class_1.prototype.componentWillUnmount = function () {\n clearTimeout(this.timer);\n };\n class_1.prototype.render = function () {\n var _a = this.props, children = _a.children, during = _a.during, color = _a.color, onClick = _a.onClick, className = _a.className, props = __rest(_a, [\"children\", \"during\", \"color\", \"onClick\", \"className\"]);\n var rippleStyle = this.state.rippleStyle;\n return (React.createElement(\"div\", __assign({}, props, { className: (\"react-ripples \" + className).trim(), style: boxStyle, onClick: this.onClick }),\n children,\n React.createElement(\"s\", { style: rippleStyle })));\n };\n return class_1;\n }(React.PureComponent)),\n _a.displayName = 'Ripples',\n _a.propTypes = {\n during: PropTypes.number,\n color: PropTypes.string,\n onClick: PropTypes.func,\n className: PropTypes.string,\n },\n _a.defaultProps = __assign({ during: 600, color: 'rgba(0, 0, 0, .3)', className: '', onClick: function () { } }, defaultProps),\n _a;\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport React from 'react';\nvar withAttrs = function (Component) { return function (props) { return (React.createElement(Component, __assign({}, props))); }; };\nexport default withAttrs;\n","import { createRipples } from './createRipples';\nimport withAttrs from './withAttrs';\nexport default withAttrs(createRipples());\nexport * from './createRipples';\n","import { Box } from '@chakra-ui/react'\nimport ReactRipples from 'react-ripples'\n\n/**\n * Componente Ripples se debe poner entre un Wrapper y su contenido\n * @example\n * <div>\n * <Ripples>\n * <p>Lorem ipsum dolor sit amet consectetur adipisicing elit.</p>\n * </Ripples>\n * </div>\n */\nexport function Ripples({ children, color = 'rgba(204,204,204,0.2)' }: any): JSX.Element {\n return (\n <ReactRipples during={1000} color={color}>\n <Box>{children}</Box>\n </ReactRipples>\n )\n}\n","import { Icon as IconChakra } from '@chakra-ui/react'\n\nimport { vars } from '@theme'\n\nexport interface BaseProps {\n w?: string\n h?: string\n color?: string\n m?: string\n viewBox?: string\n}\ninterface IconProps extends BaseProps {\n viewBox?: string\n children: React.ReactNode\n title?: string\n}\n\nexport function Base({\n w = '1rem',\n h = '1rem',\n color = vars('colors-main-ziggurat'),\n m = '0',\n viewBox = '0 0 16 16',\n children,\n title,\n}: IconProps): JSX.Element {\n return (\n <IconChakra w={w} h={h} viewBox={viewBox} color={color} m={m} aria-label=\" \" aria-hidden>\n <title>icon{title && `-${title}`}</title>\n {children}\n </IconChakra>\n )\n}\n","import { Base, BaseProps } from './Base'\n\nexport function AcademicRecord(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"16px\" h=\"16px\" viewBox=\"0 0 16 16\" title=\"academicRecord\">\n <path\n d=\"M14 0H2C1.73478 0 1.48043 0.105357 1.29289 0.292893C1.10536 0.48043 1 0.734784 1 1V7C1 7.26522 1.10536 7.51957 1.29289 7.70711C1.48043 7.89464 1.73478 8 2 8H14C14.2652 8 14.5196 7.89464 14.7071 7.70711C14.8946 7.51957 15 7.26522 15 7V1C15 0.734784 14.8946 0.48043 14.7071 0.292893C14.5196 0.105357 14.2652 0 14 0V0Z\"\n fill=\"currentColor\"\n />\n <path d=\"M15 10H1V12H15V10Z\" fill=\"currentColor\" />\n <path d=\"M15 14H1V16H15V14Z\" fill=\"currentColor\" />\n </Base>\n )\n}\n\nAcademicRecord.displayName = 'AcademicRecord'\n","import { Base, BaseProps } from './Base'\n\nexport function AlertInfo(props: BaseProps): JSX.Element {\n return (\n <Base {...props}>\n <svg\n width=\"53\"\n height=\"45\"\n viewBox=\"0 0 53 45\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M22.142 44.1483C34.0945 44.1483 43.784 34.4588 43.784 22.5063C43.784 10.5537 34.0945 0.864258 22.142 0.864258C10.1895 0.864258 0.5 10.5537 0.5 22.5063C0.5 34.4588 10.1895 44.1483 22.142 44.1483Z\"\n fill=\"#FDEED6\"\n />\n <path\n d=\"M19 24.1013C19.8284 24.1013 20.5 23.4297 20.5 22.6013C20.5 21.7729 19.8284 21.1013 19 21.1013C18.1716 21.1013 17.5 21.7729 17.5 22.6013C17.5 23.4297 18.1716 24.1013 19 24.1013Z\"\n fill=\"#FFBC27\"\n />\n <path\n d=\"M24 24.1013C24.8284 24.1013 25.5 23.4297 25.5 22.6013C25.5 21.7729 24.8284 21.1013 24 21.1013C23.1716 21.1013 22.5 21.7729 22.5 22.6013C22.5 23.4297 23.1716 24.1013 24 24.1013Z\"\n fill=\"#FFBC27\"\n />\n <path\n d=\"M29 24.1013C29.8284 24.1013 30.5 23.4297 30.5 22.6013C30.5 21.7729 29.8284 21.1013 29 21.1013C28.1716 21.1013 27.5 21.7729 27.5 22.6013C27.5 23.4297 28.1716 24.1013 29 24.1013Z\"\n fill=\"#FFBC27\"\n />\n <path\n d=\"M44.178 13.8843C41.157 8.63532 35.491 5.10132 29 5.10132C19.335 5.10132 11.5 12.9363 11.5 22.6013C11.5 32.2663 19.335 40.1013 29 40.1013C35.108 40.1013 40.484 36.9723 43.615 32.2303\"\n stroke=\"#808080\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M49.282 13.9192C50.6627 13.9192 51.782 15.0385 51.782 16.4192V20.9862C51.782 22.3669 50.6627 23.4862 49.282 23.4862C47.9013 23.4862 46.782 22.3669 46.782 20.9862V16.4192C46.782 15.0385 47.9013 13.9192 49.282 13.9192ZM47.5143 25.6514C48.4906 24.6751 50.0735 24.6751 51.0498 25.6515L51.0958 25.6975C52.0721 26.6738 52.072 28.2567 51.0957 29.233C50.1194 30.2093 48.5365 30.2093 47.5602 29.2329L47.5142 29.1869C46.5379 28.2106 46.5379 26.6277 47.5143 25.6514Z\"\n fill=\"#FFBC27\"\n />\n </svg>\n </Base>\n )\n}\n\nAlertInfo.displayName = 'ArrowRight'\n","export function uniqueId(): string {\n return Math.random().toString(36).slice(2, 9)\n}\n","import { uniqueId } from '@/services'\nimport { Base, BaseProps } from './Base'\n\nexport function ArrowRight(props: BaseProps): JSX.Element {\n const id = `clip-${uniqueId()}`\n return (\n <Base {...props}>\n <g clipPath={`url(#${id})`}>\n <mask\n id={`mask-${id}`}\n style={{ maskType: 'alpha' }}\n width=\"16\"\n height=\"16\"\n x=\"0\"\n y=\"0\"\n maskUnits=\"userSpaceOnUse\"\n >\n <path fill=\"#fff\" d=\"M16 16H32V32H16z\" transform=\"rotate(180 16 16)\" />\n </mask>\n <g mask={`url(#mask-${id})`}>\n <path fill=\"currentColor\" d=\"M6.074 14L12 8 6.074 2 4 4.1 7.852 8 4 11.9 6.074 14z\" />\n </g>\n </g>\n <defs>\n <clipPath id={id}>\n <path fill=\"#fff\" d=\"M0 0H16V16H0z\" />\n </clipPath>\n </defs>\n </Base>\n )\n}\n\nArrowRight.displayName = 'ArrowRight'\n","import { Base, BaseProps } from './Base'\n\nexport function Certificate(props: BaseProps): JSX.Element {\n return (\n <Base {...props}>\n <path fill=\"currentColor\" d=\"M7 4H9V6H7z\" />\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M13 8h2a1 1 0 011 1v6a1 1 0 01-1 1H9v-4H7v4H1a1 1 0 01-1-1V9a1 1 0 011-1h2V4.618l-.553.277a1 1 0 01-.894-1.79l6-3a1 1 0 01.894 0l6 3a1 1 0 11-.894 1.79L13 4.618V8zM3 13h2v-3H3v3zm2-5V4a.98.98 0 00-.07-.347L8 2.118l3.07 1.535A.98.98 0 0011 4v4H5zm6 5h2v-3h-2v3z\"\n clipRule=\"evenodd\"\n />\n </Base>\n )\n}\n\nCertificate.displayName = 'Certificate'\n","import { Base, BaseProps } from './Base'\n\nexport function CircularCheck(props: BaseProps): JSX.Element {\n return (\n <Base {...props}>\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M0 8c0-4.4 3.6-8 8-8s8 3.6 8 8-3.6 8-8 8-8-3.6-8-8zm3.6 0L7 11.4 12.4 6 11 4.6l-4 4-2-2L3.6 8z\"\n clipRule=\"evenodd\"\n />\n </Base>\n )\n}\n\nCircularCheck.displayName = 'CircularCheck'\n","import { Base, BaseProps } from './Base'\n\nexport function CircularInformation(props: BaseProps): JSX.Element {\n return (\n <Base {...props}>\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zM7 12V7h2v5H7zm0-7c0 .6.4 1 1 1s1-.4 1-1-.4-1-1-1-1 .4-1 1z\"\n clipRule=\"evenodd\"\n />\n </Base>\n )\n}\n\nCircularInformation.displayName = 'CircularInformation'\n","import { Base, BaseProps } from './Base'\n\nexport function Download(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"16px\" h=\"16px\" viewBox=\"0 0 16 16\">\n <path\n d=\"M7.99998 12C8.29998 12 8.49998 11.9 8.69998 11.7L14.4 6L13 4.6L8.99998 8.6V0H6.99998V8.6L2.99998 4.6L1.59998 6L7.29998 11.7C7.49998 11.9 7.69998 12 7.99998 12Z\"\n fill=\"currentColor\"\n />\n <path d=\"M15 14H1V16H15V14Z\" fill=\"currentColor\" />\n </Base>\n )\n}\n\nDownload.displayName = 'Download'\n","import { Base, BaseProps } from './Base'\n\nexport function GoAhead(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"8px\" h=\"16px\" viewBox=\"0 0 8 16\" title=\"goAhead\">\n <path\n d=\"M2.07407 12L8 6L2.07407 5.18061e-07L-8.65485e-07 2.1L3.85185 6L-1.83588e-07 9.9L2.07407 12V12Z\"\n fill=\"currentColor\"\n />\n </Base>\n )\n}\n\nGoAhead.displayName = 'GoAhead'\n","import { Base, BaseProps } from './Base'\n\nexport function GoBack(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"8px\" h=\"16px\" viewBox=\"0 0 8 16\" title=\"goBack\">\n <path d=\"M5.92593 2L0 8L5.92593 14L8 11.9L4.14815 8L8 4.1L5.92593 2Z\" fill=\"currentColor\" />\n </Base>\n )\n}\n\nGoBack.displayName = 'GoBack'\n","import { Base, BaseProps } from './Base'\n\nexport function Multimedia(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"12px\" viewBox=\"0 0 14 14\" title=\"multimedia\">\n <path\n d=\"M3 6C4.65685 6 6 4.65685 6 3C6 1.34315 4.65685 0 3 0C1.34315 0 0 1.34315 0 3C0 4.65685 1.34315 6 3 6Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M11 6C12.6569 6 14 4.65685 14 3C14 1.34315 12.6569 0 11 0C9.34315 0 8 1.34315 8 3C8 4.65685 9.34315 6 11 6Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M3 14C4.65685 14 6 12.6569 6 11C6 9.34315 4.65685 8 3 8C1.34315 8 0 9.34315 0 11C0 12.6569 1.34315 14 3 14Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M11 14C12.6569 14 14 12.6569 14 11C14 9.34315 12.6569 8 11 8C9.34315 8 8 9.34315 8 11C8 12.6569 9.34315 14 11 14Z\"\n fill=\"currentColor\"\n />\n </Base>\n )\n}\n\nMultimedia.displayName = 'Multimedia'\n","import { uniqueId } from '@/services'\n\ninterface props {\n fill?: string\n}\n\nexport function Loader({ fill = '#fff' }: props): JSX.Element {\n return (\n <div className=\"loaderAsync\" data-testid=\"loaderAsync\">\n <svg\n id={uniqueId()}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 38 20\"\n shapeRendering=\"geometricPrecision\"\n textRendering=\"geometricPrecision\"\n width={38}\n height={20}\n >\n <style\n dangerouslySetInnerHTML={{\n __html:\n '@keyframes eXySq0EBKm12_f_o{0%,33.333333%,to{fill-opacity:.4}66.666667%{fill-opacity:1;animation-timing-function:cubic-bezier(.42,0,.58,1)}}@keyframes eXySq0EBKm13_f_o{0%,66.666667%,to{fill-opacity:.4}33.333333%{fill-opacity:1;animation-timing-function:cubic-bezier(.42,0,.58,1)}}@keyframes eXySq0EBKm14_f_o{0%{fill-opacity:1;animation-timing-function:cubic-bezier(.42,0,.58,1)}33.333333%,66.666667%{fill-opacity:.4}to{fill-opacity:1}}',\n }}\n />\n <circle\n r={2.502}\n transform=\"translate(29.526 10)\"\n fill={fill}\n fillOpacity={0.4}\n style={{\n animation: 'eXySq0EBKm12_f_o 600ms linear infinite normal forwards',\n }}\n />\n <circle\n r={2.502}\n transform=\"translate(19 10)\"\n fill={fill}\n fillOpacity={0.4}\n style={{\n animation: 'eXySq0EBKm13_f_o 600ms linear infinite normal forwards',\n }}\n />\n <circle\n r={2.053}\n transform=\"matrix(1.21764 0 0 1.21764 8.562 10.002)\"\n fill={fill}\n style={{\n animation: 'eXySq0EBKm14_f_o 600ms linear infinite normal forwards',\n }}\n />\n </svg>\n </div>\n )\n}\n","import { Base, BaseProps } from './Base'\n\nexport function Profile(props: BaseProps): JSX.Element {\n return (\n <Base {...props} viewBox=\"0 0 12 12\" w=\"12px\" title=\"profile\">\n <path\n fill=\"currentColor\"\n d=\"M5 6a3 3 0 100-6 3 3 0 000 6zM5 7c-3.375 0-5 2.106-5 3.333V11a1 1 0 001 1h8a1 1 0 001-1v-.667C10 9.106 8.375 7 5 7z\"\n />\n </Base>\n )\n}\n\nProfile.displayName = 'Profile'\n","import { Base, BaseProps } from './Base'\n\nexport function Schedule(props: BaseProps): JSX.Element {\n return (\n <Base {...props}>\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M13 2h2a1 1 0 011 1v12a1 1 0 01-1 1H1a1 1 0 01-1-1V3a1 1 0 011-1h2V0h2v2h2V0h2v2h2V0h2v2zM2 14h12V5H2v9z\"\n clipRule=\"evenodd\"\n />\n <path fill=\"currentColor\" d=\"M4 7H6V9H4z\" />\n <path fill=\"currentColor\" d=\"M7 7H9V9H7z\" />\n <path fill=\"currentColor\" d=\"M4 10H6V12H4z\" />\n <path fill=\"currentColor\" d=\"M7 10H9V12H7z\" />\n <path fill=\"currentColor\" d=\"M10 7H12V9H10z\" />\n <path fill=\"currentColor\" d=\"M10 10H12V12H10z\" />\n </Base>\n )\n}\n\nSchedule.displayName = 'Schedule'\n","import { Base, BaseProps } from './Base'\n\nexport function TinyAlertInfo(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"12px\" h=\"12px\" viewBox=\"0 0 12 12\">\n <circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#0189FF\" />\n <path d=\"M7 6H5V10H7V6Z\" fill=\"white\" />\n <path\n d=\"M6 4C6.55228 4 7 3.55228 7 3C7 2.44772 6.55228 2 6 2C5.44772 2 5 2.44772 5 3C5 3.55228 5.44772 4 6 4Z\"\n fill=\"white\"\n />\n </Base>\n )\n}\n\nTinyAlertInfo.displayName = 'TinyAlertInfo'\n","import { uniqueId } from '@/services'\nimport { Base, BaseProps } from './Base'\n\nexport function TinyAlertError(props: BaseProps): JSX.Element {\n const id = `clip${uniqueId()}`\n return (\n <Base {...props} w=\"12px\" h=\"12px\" viewBox=\"0 0 12 12\">\n <g clipPath={`url(#${id})`}>\n <circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#CC0000\" />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.87867 2.46447L2.46446 3.87868L4.58578 6L2.46446 8.12132L3.87867 9.53553L5.99999 7.41421L8.12131 9.53553L9.53553 8.12132L7.41421 6L9.53553 3.87868L8.12131 2.46447L5.99999 4.58579L3.87867 2.46447Z\"\n fill=\"white\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"12px\" height=\"12px\" fill=\"white\" />\n </clipPath>\n </defs>\n </Base>\n )\n}\n\nTinyAlertError.displayName = 'TinyAlertError'\n","import { Base, BaseProps } from './Base'\n\nexport function TinyAlertWarning(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"12px\" h=\"12px\" viewBox=\"0 0 12 12\">\n <circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#F5A623\" />\n <path d=\"M5 6L7 6L7 2L5 2L5 6Z\" fill=\"white\" />\n <path\n d=\"M6 8C5.44771 8 5 8.44772 5 9C5 9.55228 5.44772 10 6 10C6.55228 10 7 9.55228 7 9C7 8.44772 6.55228 8 6 8Z\"\n fill=\"white\"\n />\n </Base>\n )\n}\n\nTinyAlertWarning.displayName = 'TinyAlertWarning'\n","import { uniqueId } from '@/services'\nimport { Base, BaseProps } from './Base'\n\nexport function TinyAlertSuccess(props: BaseProps): JSX.Element {\n const id = `clip${uniqueId()}`\n return (\n <Base {...props} w=\"12px\" h=\"12px\" viewBox=\"0 0 12 12\">\n <g clipPath={`url(#${id})`}>\n <circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#28A745\" />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.41421 5.53549L2 6.94971L3.41421 8.36392L4.82843 9.77813L9.77817 4.82839L8.36396 3.41417L4.82843 6.94971L3.41421 5.53549Z\"\n fill=\"white\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"12\" height=\"12\" fill=\"white\" />\n </clipPath>\n </defs>\n </Base>\n )\n}\n\nTinyAlertSuccess.displayName = 'TinyAlertSuccess'\n","import { Base, BaseProps } from './Base'\n\nexport function Password(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"14px\" h=\"16px\" viewBox=\"0 0 14 16\" title=\"password\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7 0C4.95714 0 3.28571 1.67143 3.28571 3.71429V4.64286H1.42857C0.871429 4.64286 0.5 5.01429 0.5 5.57143V13.9286C0.5 14.4857 0.871429 14.8571 1.42857 14.8571H12.5714C13.1286 14.8571 13.5 14.4857 13.5 13.9286V5.57143C13.5 5.01429 13.1286 4.64286 12.5714 4.64286H10.7143V3.71429C10.7143 1.67143 9.04286 0 7 0ZM7.92857 10.8643V12.0714H6.07143V10.8643C5.51429 10.5857 5.14286 9.93571 5.14286 9.28571C5.14286 8.26429 5.97857 7.42857 7 7.42857C8.02143 7.42857 8.85714 8.26429 8.85714 9.28571C8.85714 9.93571 8.48571 10.5857 7.92857 10.8643ZM5.14286 3.71429V4.64286H8.85714V3.71429C8.85714 2.69286 8.02143 1.85714 7 1.85714C5.97857 1.85714 5.14286 2.69286 5.14286 3.71429Z\"\n fill=\"currentColor\"\n />\n </Base>\n )\n}\n\nPassword.displayName = 'Password'\n","import { Base, BaseProps } from './Base'\n\nexport function Pen(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"16px\" h=\"16px\" viewBox=\"0 0 16 16\" title=\"pen\">\n <path\n d=\"M8.1 3.5L0.3 11.3C0.1 11.5 0 11.7 0 12V15C0 15.6 0.4 16 1 16H4C4.3 16 4.5 15.9 4.7 15.7L12.5 7.9L8.1 3.5Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M15.7 3.3L12.7 0.3C12.3 -0.1 11.7 -0.1 11.3 0.3L9.5 2.1L13.9 6.5L15.7 4.7C16.1 4.3 16.1 3.7 15.7 3.3Z\"\n fill=\"currentColor\"\n />\n </Base>\n )\n}\n\nPen.displayName = 'Pen'\n","import { Base, BaseProps } from './Base'\n\nexport function PlusSign(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"16px\" h=\"16px\" viewBox=\"0 0 16 16\" title=\"plusSign\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 8C0 3.6 3.6 0 8 0C12.4 0 16 3.6 16 8C16 12.4 12.4 16 8 16C3.6 16 0 12.4 0 8ZM9 9H12V7H9V4H7V7H4V9H7V12H9V9Z\"\n fill=\"currentColor\"\n />\n </Base>\n )\n}\n\nPlusSign.displayName = 'PlusSign'\n","import { Base, BaseProps } from './Base'\n\nexport function TrashCan(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"16px\" h=\"16px\" viewBox=\"0 0 16 16\" title=\"trashCan\">\n <path d=\"M2 6V14C2 15.1 2.9 16 4 16H12C13.1 16 14 15.1 14 14V6H2Z\" fill=\"currentColor\" />\n <path\n d=\"M12 3V1C12 0.4 11.6 0 11 0H5C4.4 0 4 0.4 4 1V3H0V5H16V3H12ZM10 3H6V2H10V3Z\"\n fill=\"currentColor\"\n />\n </Base>\n )\n}\n\nTrashCan.displayName = 'TrashCan'\n","import { Base, BaseProps } from './Base'\n\nexport function TextBubble(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"16px\" h=\"16px\" viewBox=\"0 0 16 16\" title=\"textBubble\">\n <path\n d=\"M1 0H15C15.552 0 16 0.448 16 1V11C16 11.552 15.552 12 15 12H10L4 16V12H1C0.448 12 0 11.552 0 11V1C0 0.448 0.448 0 1 0Z\"\n fill=\"currentColor\"\n />\n </Base>\n )\n}\n\nTextBubble.displayName = 'TextBubble'\n","import { Base, BaseProps } from '../Base'\n\nexport function ErrorWhite(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"52\" h=\"45\" viewBox=\"0 0 52 45\">\n <svg fill=\"none\">\n <path\n d=\"M21.642 44.2419C33.5945 44.2419 43.284 34.5524 43.284 22.5999C43.284 10.6473 33.5945 0.957886 21.642 0.957886C9.68945 0.957886 0 10.6473 0 22.5999C0 34.5524 9.68945 44.2419 21.642 44.2419Z\"\n fill=\"white\"\n />\n <path\n d=\"M18.5 24.1949C19.3284 24.1949 20 23.5233 20 22.6949C20 21.8665 19.3284 21.1949 18.5 21.1949C17.6716 21.1949 17 21.8665 17 22.6949C17 23.5233 17.6716 24.1949 18.5 24.1949Z\"\n fill=\"#CC0000\"\n />\n <path\n d=\"M23.5 24.1949C24.3284 24.1949 25 23.5233 25 22.6949C25 21.8665 24.3284 21.1949 23.5 21.1949C22.6716 21.1949 22 21.8665 22 22.6949C22 23.5233 22.6716 24.1949 23.5 24.1949Z\"\n fill=\"#CC0000\"\n />\n <path\n d=\"M28.5 24.1949C29.3284 24.1949 30 23.5233 30 22.6949C30 21.8665 29.3284 21.1949 28.5 21.1949C27.6716 21.1949 27 21.8665 27 22.6949C27 23.5233 27.6716 24.1949 28.5 24.1949Z\"\n fill=\"#CC0000\"\n />\n <path\n d=\"M43.678 13.9779C40.657 8.72889 34.991 5.19489 28.5 5.19489C18.835 5.19489 11 13.0299 11 22.6949C11 32.3599 18.835 40.1949 28.5 40.1949C34.608 40.1949 39.984 37.0659 43.115 32.3239\"\n stroke=\"#808080\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M35.5862 15.7811C36.5625 14.8048 38.1455 14.8048 39.1218 15.7811L43.2105 19.8699L47.2992 15.7811C48.2755 14.8048 49.8585 14.8048 50.8348 15.7811C51.8111 16.7574 51.8111 18.3403 50.8348 19.3167L46.746 23.4054L50.8348 27.4941C51.8111 28.4704 51.8111 30.0533 50.8348 31.0297C49.8585 32.006 48.2755 32.006 47.2992 31.0297L43.2105 26.9409L39.1218 31.0297C38.1455 32.006 36.5625 32.006 35.5862 31.0297C34.6099 30.0533 34.6099 28.4704 35.5862 27.4941L39.675 23.4054L35.5862 19.3167C34.6099 18.3403 34.6099 16.7574 35.5862 15.7811Z\"\n fill=\"#CC0000\"\n />\n </svg>\n </Base>\n )\n}\n\nErrorWhite.displayName = 'ErrorWhite'\n","import { Base, BaseProps } from '../Base'\n\nexport function InfoWhite(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"53\" h=\"45\" viewBox=\"0 0 53 45\" title=\"infoIcon\">\n <svg fill=\"none\">\n <path\n d=\"M21.642 44.047C33.5945 44.047 43.284 34.3575 43.284 22.405C43.284 10.4525 33.5945 0.763 21.642 0.763C9.68945 0.763 0 10.4525 0 22.405C0 34.3575 9.68945 44.047 21.642 44.047Z\"\n fill=\"white\"\n />\n <path\n d=\"M18.5 24C19.3284 24 20 23.3284 20 22.5C20 21.6716 19.3284 21 18.5 21C17.6716 21 17 21.6716 17 22.5C17 23.3284 17.6716 24 18.5 24Z\"\n fill=\"#0189FF\"\n />\n <path\n d=\"M23.5 24C24.3284 24 25 23.3284 25 22.5C25 21.6716 24.3284 21 23.5 21C22.6716 21 22 21.6716 22 22.5C22 23.3284 22.6716 24 23.5 24Z\"\n fill=\"#0189FF\"\n />\n <path\n d=\"M28.5 24C29.3284 24 30 23.3284 30 22.5C30 21.6716 29.3284 21 28.5 21C27.6716 21 27 21.6716 27 22.5C27 23.3284 27.6716 24 28.5 24Z\"\n fill=\"#0189FF\"\n />\n <path\n d=\"M43.678 13.783C40.657 8.534 34.991 5 28.5 5C18.835 5 11 12.835 11 22.5C11 32.165 18.835 40 28.5 40C34.608 40 39.984 36.871 43.115 32.129\"\n stroke=\"#808080\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M47 21H50C50.2652 21 50.5196 21.1054 50.7071 21.2929C50.8946 21.4804 51 21.7348 51 22V29.045H51.237C51.4908 29.0531 51.7316 29.1597 51.9082 29.3421C52.0849 29.5245 52.1837 29.7685 52.1837 30.0225C52.1837 30.2765 52.0849 30.5205 51.9082 30.7029C51.7316 30.8853 51.4908 30.9919 51.237 31H46.977C46.7232 30.9919 46.4824 30.8853 46.3058 30.7029C46.1291 30.5205 46.0303 30.2765 46.0303 30.0225C46.0303 29.7685 46.1291 29.5245 46.3058 29.3421C46.4824 29.1597 46.7232 29.0531 46.977 29.045H47V23.123C46.7348 23.123 46.4804 23.0176 46.2929 22.8301C46.1054 22.6426 46 22.3882 46 22.123V22C46 21.7348 46.1054 21.4804 46.2929 21.2929C46.4804 21.1054 46.7348 21 47 21Z\"\n fill=\"#0189FF\"\n />\n <path\n d=\"M49 19C50.3807 19 51.5 17.8807 51.5 16.5C51.5 15.1193 50.3807 14 49 14C47.6193 14 46.5 15.1193 46.5 16.5C46.5 17.8807 47.6193 19 49 19Z\"\n fill=\"#0189FF\"\n />\n </svg>\n </Base>\n )\n}\n\nInfoWhite.displayName = 'InfoWhite'\n","import { Base, BaseProps } from '../Base'\n\nexport function SuccessWhite(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"57\" h=\"45\" viewBox=\"0 0 57 45\">\n <svg fill=\"none\">\n <path\n d=\"M21.642 44.094C33.5945 44.094 43.284 34.4045 43.284 22.452C43.284 10.4995 33.5945 0.809998 21.642 0.809998C9.68945 0.809998 0 10.4995 0 22.452C0 34.4045 9.68945 44.094 21.642 44.094Z\"\n fill=\"white\"\n />\n <path\n d=\"M43.678 13.83C40.657 8.581 34.991 5.047 28.5 5.047C18.835 5.047 11 12.882 11 22.547C11 32.212 18.835 40.047 28.5 40.047C34.608 40.047 39.984 36.918 43.115 32.176\"\n stroke=\"#808080\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M56.0248 12.8232C57.0011 13.7995 57.0011 15.3825 56.0248 16.3588L44.3118 28.0718C43.8429 28.5406 43.207 28.804 42.544 28.804C41.881 28.804 41.2451 28.5406 40.7762 28.0718L34.2322 21.5278C33.2559 20.5515 33.2559 18.9685 34.2322 17.9922C35.2085 17.0159 36.7915 17.0159 37.7678 17.9922L42.544 22.7685L52.4892 12.8232C53.4655 11.8469 55.0485 11.8469 56.0248 12.8232Z\"\n fill=\"#28A745\"\n />\n <path\n d=\"M18.5 24.047C19.3284 24.047 20 23.3754 20 22.547C20 21.7186 19.3284 21.047 18.5 21.047C17.6716 21.047 17 21.7186 17 22.547C17 23.3754 17.6716 24.047 18.5 24.047Z\"\n fill=\"#28A745\"\n />\n <path\n d=\"M23.5 24.047C24.3284 24.047 25 23.3754 25 22.547C25 21.7186 24.3284 21.047 23.5 21.047C22.6716 21.047 22 21.7186 22 22.547C22 23.3754 22.6716 24.047 23.5 24.047Z\"\n fill=\"#28A745\"\n />\n <path\n d=\"M28.5 24.047C29.3284 24.047 30 23.3754 30 22.547C30 21.7186 29.3284 21.047 28.5 21.047C27.6716 21.047 27 21.7186 27 22.547C27 23.3754 27.6716 24.047 28.5 24.047Z\"\n fill=\"#28A745\"\n />\n </svg>\n </Base>\n )\n}\n\nSuccessWhite.displayName = 'SuccessWhite'\n","import { Base, BaseProps } from '../Base'\n\nexport function WarningWhite(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"52\" h=\"45\" viewBox=\"0 0 52 45\">\n <svg fill=\"none\">\n <path\n d=\"M21.642 44.282C33.5945 44.282 43.284 34.5925 43.284 22.64C43.284 10.6874 33.5945 0.997986 21.642 0.997986C9.68945 0.997986 0 10.6874 0 22.64C0 34.5925 9.68945 44.282 21.642 44.282Z\"\n fill=\"white\"\n />\n <path\n d=\"M18.5 24.235C19.3284 24.235 20 23.5634 20 22.735C20 21.9066 19.3284 21.235 18.5 21.235C17.6716 21.235 17 21.9066 17 22.735C17 23.5634 17.6716 24.235 18.5 24.235Z\"\n fill=\"#FFBC27\"\n />\n <path\n d=\"M23.5 24.235C24.3284 24.235 25 23.5634 25 22.735C25 21.9066 24.3284 21.235 23.5 21.235C22.6716 21.235 22 21.9066 22 22.735C22 23.5634 22.6716 24.235 23.5 24.235Z\"\n fill=\"#FFBC27\"\n />\n <path\n d=\"M28.5 24.235C29.3284 24.235 30 23.5634 30 22.735C30 21.9066 29.3284 21.235 28.5 21.235C27.6716 21.235 27 21.9066 27 22.735C27 23.5634 27.6716 24.235 28.5 24.235Z\"\n fill=\"#FFBC27\"\n />\n <path\n d=\"M43.678 14.018C40.657 8.76899 34.991 5.23499 28.5 5.23499C18.835 5.23499 11 13.07 11 22.735C11 32.4 18.835 40.235 28.5 40.235C34.608 40.235 39.984 37.106 43.115 32.364\"\n stroke=\"#808080\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M48.782 14.053C50.1627 14.053 51.282 15.1723 51.282 16.553V21.12C51.282 22.5007 50.1627 23.62 48.782 23.62C47.4013 23.62 46.282 22.5007 46.282 21.12V16.553C46.282 15.1723 47.4013 14.053 48.782 14.053ZM47.0143 25.7852C47.9906 24.8089 49.5735 24.8089 50.5498 25.7852L50.5958 25.8312C51.5721 26.8076 51.572 28.3905 50.5957 29.3668C49.6194 30.3431 48.0365 30.343 47.0602 29.3667L47.0142 29.3207C46.0379 28.3444 46.0379 26.7615 47.0143 25.7852Z\"\n fill=\"#FFBC27\"\n />\n </svg>\n </Base>\n )\n}\n\nWarningWhite.displayName = 'WarningWhite'\n","import { Base, BaseProps } from '../Base'\n\nexport function ErrorColor(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"53\" h=\"45\" viewBox=\"0 0 53 45\">\n <svg fill=\"none\">\n <path\n d=\"M22.142 44.1878C34.0945 44.1878 43.784 34.4984 43.784 22.5458C43.784 10.5933 34.0945 0.903809 22.142 0.903809C10.1895 0.903809 0.5 10.5933 0.5 22.5458C0.5 34.4984 10.1895 44.1878 22.142 44.1878Z\"\n fill=\"#F9DFDF\"\n />\n <path\n d=\"M19 24.1409C19.8284 24.1409 20.5 23.4693 20.5 22.6409C20.5 21.8124 19.8284 21.1409 19 21.1409C18.1716 21.1409 17.5 21.8124 17.5 22.6409C17.5 23.4693 18.1716 24.1409 19 24.1409Z\"\n fill=\"#CC0000\"\n />\n <path\n d=\"M24 24.1409C24.8284 24.1409 25.5 23.4693 25.5 22.6409C25.5 21.8124 24.8284 21.1409 24 21.1409C23.1716 21.1409 22.5 21.8124 22.5 22.6409C22.5 23.4693 23.1716 24.1409 24 24.1409Z\"\n fill=\"#CC0000\"\n />\n <path\n d=\"M29 24.1409C29.8284 24.1409 30.5 23.4693 30.5 22.6409C30.5 21.8124 29.8284 21.1409 29 21.1409C28.1716 21.1409 27.5 21.8124 27.5 22.6409C27.5 23.4693 28.1716 24.1409 29 24.1409Z\"\n fill=\"#CC0000\"\n />\n <path\n d=\"M44.178 13.9239C41.157 8.67487 35.491 5.14087 29 5.14087C19.335 5.14087 11.5 12.9759 11.5 22.6409C11.5 32.3059 19.335 40.1409 29 40.1409C35.108 40.1409 40.484 37.0119 43.615 32.2699\"\n stroke=\"#808080\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M36.0862 15.7271C37.0625 14.7508 38.6455 14.7508 39.6218 15.7271L43.7105 19.8158L47.7992 15.7271C48.7755 14.7508 50.3585 14.7508 51.3348 15.7271C52.3111 16.7034 52.3111 18.2863 51.3348 19.2626L47.246 23.3514L51.3348 27.4401C52.3111 28.4164 52.3111 29.9993 51.3348 30.9756C50.3585 31.952 48.7755 31.952 47.7992 30.9756L43.7105 26.8869L39.6218 30.9756C38.6455 31.952 37.0625 31.952 36.0862 30.9756C35.1099 29.9993 35.1099 28.4164 36.0862 27.4401L40.175 23.3514L36.0862 19.2626C35.1099 18.2863 35.1099 16.7034 36.0862 15.7271Z\"\n fill=\"#CC0000\"\n />\n </svg>\n </Base>\n )\n}\n\nErrorColor.displayName = 'ErrorColor'\n","import { Base, BaseProps } from '../Base'\n\nexport function InfoColor(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"57\" h=\"45\" viewBox=\"0 0 57 45\">\n <svg fill=\"none\">\n <path\n d=\"M21.642 44.2349C33.5945 44.2349 43.284 34.5455 43.284 22.5929C43.284 10.6404 33.5945 0.950928 21.642 0.950928C9.68945 0.950928 0 10.6404 0 22.5929C0 34.5455 9.68945 44.2349 21.642 44.2349Z\"\n fill=\"#E0EEFA\"\n />\n <path\n d=\"M18.5 24.188C19.3284 24.188 20 23.5164 20 22.688C20 21.8596 19.3284 21.188 18.5 21.188C17.6716 21.188 17 21.8596 17 22.688C17 23.5164 17.6716 24.188 18.5 24.188Z\"\n fill=\"#0189FF\"\n />\n <path\n d=\"M23.5 24.188C24.3284 24.188 25 23.5164 25 22.688C25 21.8596 24.3284 21.188 23.5 21.188C22.6716 21.188 22 21.8596 22 22.688C22 23.5164 22.6716 24.188 23.5 24.188Z\"\n fill=\"#0189FF\"\n />\n <path\n d=\"M28.5 24.188C29.3284 24.188 30 23.5164 30 22.688C30 21.8596 29.3284 21.188 28.5 21.188C27.6716 21.188 27 21.8596 27 22.688C27 23.5164 27.6716 24.188 28.5 24.188Z\"\n fill=\"#0189FF\"\n />\n <path\n d=\"M43.678 13.971C40.657 8.72199 34.991 5.18799 28.5 5.18799C18.835 5.18799 11 13.023 11 22.688C11 32.353 18.835 40.188 28.5 40.188C34.608 40.188 39.984 37.059 43.115 32.317\"\n stroke=\"#808080\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M47 21.188H50C50.2652 21.188 50.5196 21.2933 50.7071 21.4809C50.8946 21.6684 51 21.9228 51 22.188V29.233H51.237C51.4908 29.2411 51.7316 29.3477 51.9082 29.5301C52.0849 29.7125 52.1837 29.9565 52.1837 30.2105C52.1837 30.4645 52.0849 30.7085 51.9082 30.8909C51.7316 31.0733 51.4908 31.1799 51.237 31.188H46.977C46.7232 31.1799 46.4824 31.0733 46.3058 30.8909C46.1291 30.7085 46.0303 30.4645 46.0303 30.2105C46.0303 29.9565 46.1291 29.7125 46.3058 29.5301C46.4824 29.3477 46.7232 29.2411 46.977 29.233H47V23.311C46.7348 23.311 46.4804 23.2056 46.2929 23.0181C46.1054 22.8306 46 22.5762 46 22.311V22.188C46 21.9228 46.1054 21.6684 46.2929 21.4809C46.4804 21.2933 46.7348 21.188 47 21.188Z\"\n fill=\"#0189FF\"\n />\n <path\n d=\"M49 19.188C50.3807 19.188 51.5 18.0687 51.5 16.688C51.5 15.3073 50.3807 14.188 49 14.188C47.6193 14.188 46.5 15.3073 46.5 16.688C46.5 18.0687 47.6193 19.188 49 19.188Z\"\n fill=\"#0189FF\"\n />\n </svg>\n </Base>\n )\n}\n\nInfoColor.displayName = 'InfoColor'\n","import { Base, BaseProps } from '../Base'\n\nexport function SuccessColor(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"57\" h=\"45\" viewBox=\"0 0 57 45\">\n <svg fill=\"none\">\n <path\n d=\"M21.642 44.0469C33.5945 44.0469 43.284 34.3575 43.284 22.4049C43.284 10.4524 33.5945 0.762939 21.642 0.762939C9.68945 0.762939 0 10.4524 0 22.4049C0 34.3575 9.68945 44.0469 21.642 44.0469Z\"\n fill=\"#E9F6EC\"\n />\n <path\n d=\"M43.678 13.783C40.657 8.534 34.991 5 28.5 5C18.835 5 11 12.835 11 22.5C11 32.165 18.835 40 28.5 40C34.608 40 39.984 36.871 43.115 32.129\"\n stroke=\"#808080\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M56.0248 12.7762C57.0011 13.7525 57.0011 15.3354 56.0248 16.3117L44.3118 28.0247C43.8429 28.4936 43.207 28.7569 42.544 28.7569C41.881 28.7569 41.2451 28.4936 40.7762 28.0247L34.2322 21.4807C33.2559 20.5044 33.2559 18.9215 34.2322 17.9452C35.2085 16.9689 36.7915 16.9689 37.7678 17.9452L42.544 22.7214L52.4892 12.7762C53.4655 11.7999 55.0485 11.7999 56.0248 12.7762Z\"\n fill=\"#28A745\"\n />\n <path\n d=\"M18.5 24C19.3284 24 20 23.3284 20 22.5C20 21.6716 19.3284 21 18.5 21C17.6716 21 17 21.6716 17 22.5C17 23.3284 17.6716 24 18.5 24Z\"\n fill=\"#28A745\"\n />\n <path\n d=\"M23.5 24C24.3284 24 25 23.3284 25 22.5C25 21.6716 24.3284 21 23.5 21C22.6716 21 22 21.6716 22 22.5C22 23.3284 22.6716 24 23.5 24Z\"\n fill=\"#28A745\"\n />\n <path\n d=\"M28.5 24C29.3284 24 30 23.3284 30 22.5C30 21.6716 29.3284 21 28.5 21C27.6716 21 27 21.6716 27 22.5C27 23.3284 27.6716 24 28.5 24Z\"\n fill=\"#28A745\"\n />\n </svg>\n </Base>\n )\n}\n\nSuccessColor.displayName = 'SuccessColor'\n","import { Base, BaseProps } from '../Base'\n\nexport function WarningColor(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"53\" h=\"45\" viewBox=\"0 0 53 45\">\n <svg fill=\"none\">\n <path\n d=\"M22.142 44.1483C34.0945 44.1483 43.784 34.4588 43.784 22.5063C43.784 10.5537 34.0945 0.864258 22.142 0.864258C10.1895 0.864258 0.5 10.5537 0.5 22.5063C0.5 34.4588 10.1895 44.1483 22.142 44.1483Z\"\n fill=\"#FDEED6\"\n />\n <path\n d=\"M19 24.1013C19.8284 24.1013 20.5 23.4297 20.5 22.6013C20.5 21.7729 19.8284 21.1013 19 21.1013C18.1716 21.1013 17.5 21.7729 17.5 22.6013C17.5 23.4297 18.1716 24.1013 19 24.1013Z\"\n fill=\"#FFBC27\"\n />\n <path\n d=\"M24 24.1013C24.8284 24.1013 25.5 23.4297 25.5 22.6013C25.5 21.7729 24.8284 21.1013 24 21.1013C23.1716 21.1013 22.5 21.7729 22.5 22.6013C22.5 23.4297 23.1716 24.1013 24 24.1013Z\"\n fill=\"#FFBC27\"\n />\n <path\n d=\"M29 24.1013C29.8284 24.1013 30.5 23.4297 30.5 22.6013C30.5 21.7729 29.8284 21.1013 29 21.1013C28.1716 21.1013 27.5 21.7729 27.5 22.6013C27.5 23.4297 28.1716 24.1013 29 24.1013Z\"\n fill=\"#FFBC27\"\n />\n <path\n d=\"M44.178 13.8843C41.157 8.63532 35.491 5.10132 29 5.10132C19.335 5.10132 11.5 12.9363 11.5 22.6013C11.5 32.2663 19.335 40.1013 29 40.1013C35.108 40.1013 40.484 36.9723 43.615 32.2303\"\n stroke=\"#808080\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M49.282 13.9192C50.6627 13.9192 51.782 15.0385 51.782 16.4192V20.9862C51.782 22.3669 50.6627 23.4862 49.282 23.4862C47.9013 23.4862 46.782 22.3669 46.782 20.9862V16.4192C46.782 15.0385 47.9013 13.9192 49.282 13.9192ZM47.5143 25.6514C48.4906 24.6751 50.0735 24.6751 51.0498 25.6515L51.0958 25.6975C52.0721 26.6738 52.072 28.2567 51.0957 29.233C50.1194 30.2093 48.5365 30.2093 47.5602 29.2329L47.5142 29.1869C46.5379 28.2106 46.5379 26.6277 47.5143 25.6514Z\"\n fill=\"#FFBC27\"\n />\n </svg>\n </Base>\n )\n}\n\nWarningColor.displayName = 'WarningColor'\n","import { Base, BaseProps } from './Base'\n\nexport function Close(props: BaseProps): JSX.Element {\n return (\n <Base {...props} title=\"close\">\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\n <path\n d=\"M10.7071 1.29303C10.5196 1.10556 10.2652 1.00024 10.0001 1.00024C9.73492 1.00024 9.48061 1.10556 9.29308 1.29303L6.00008 4.58603L2.70708 1.29303C2.51848 1.11087 2.26588 1.01008 2.00368 1.01236C1.74148 1.01464 1.49067 1.1198 1.30526 1.30521C1.11985 1.49062 1.01469 1.74143 1.01241 2.00363C1.01013 2.26583 1.11092 2.51843 1.29308 2.70703L4.58608 6.00003L1.29308 9.29303C1.19757 9.38528 1.12139 9.49562 1.06898 9.61763C1.01657 9.73963 0.988985 9.87085 0.987831 10.0036C0.986677 10.1364 1.01198 10.2681 1.06226 10.391C1.11254 10.5139 1.18679 10.6255 1.28069 10.7194C1.37458 10.8133 1.48623 10.8876 1.60913 10.9379C1.73202 10.9881 1.8637 11.0134 1.99648 11.0123C2.12926 11.0111 2.26048 10.9835 2.38249 10.9311C2.50449 10.8787 2.61483 10.8025 2.70708 10.707L6.00008 7.41403L9.29308 10.707C9.48168 10.8892 9.73429 10.99 9.99648 10.9877C10.2587 10.9854 10.5095 10.8803 10.6949 10.6948C10.8803 10.5094 10.9855 10.2586 10.9878 9.99643C10.99 9.73423 10.8892 9.48163 10.7071 9.29303L7.41408 6.00003L10.7071 2.70703C10.8946 2.5195 10.9999 2.26519 10.9999 2.00003C10.9999 1.73487 10.8946 1.48056 10.7071 1.29303Z\"\n fill=\"#60798E\"\n />\n </svg>\n </Base>\n )\n}\n\nClose.displayName = 'Close'\n","import { Base, BaseProps } from './Base'\n\nexport function DiagonalArrow(props: BaseProps): JSX.Element {\n return (\n <Base {...props} w=\"16px\" h=\"16px\" viewBox=\"0 0 16 16\">\n <path\n d=\"M9.207 5.793L3 12L4.414 13.414L10.621 7.207L13.414 10V3H6.414L9.207 5.793Z\"\n fill=\"#0189FF\"\n />\n </Base>\n )\n}\n\nDiagonalArrow.displayName = 'Download'\n","import { Box, CSSObject } from '@chakra-ui/react'\nimport { vars } from '@theme'\n\nimport { TinyAlertInfo, TinyAlertError, TinyAlertWarning, TinyAlertSuccess } from '../Icons'\n\nexport interface props {\n status: 'success' | 'error' | 'info' | 'warning' | 'answered' | 'pending' | 'omitted' | 'new'\n text?: string\n margin?: string\n sx?: CSSObject\n}\n\n/**\n * Componente que retorna un label con distintos tipos de estado y muestra un texto por defecto en caso de que el mensaje no se especifique.\n *\n * @example\n * <TinyAlert status=\"info\" />\n */\n\nexport function TinyAlert({ status, text, margin = '0', sx }: props): JSX.Element | null {\n const alerts = {\n success: {\n icon: <TinyAlertSuccess />,\n text: 'Success',\n bg: vars('colors-alert-ice'),\n color: vars('colors-neutral-darkCharcoal'),\n },\n error: {\n icon: <TinyAlertError />,\n text: 'Error',\n bg: vars('colors-alert-veryLightPinkThree'),\n color: vars('colors-neutral-darkCharcoal'),\n },\n info: {\n icon: <TinyAlertInfo />,\n text: 'Info',\n bg: vars('colors-alert-veryLightBlue'),\n color: vars('colors-neutral-darkCharcoal'),\n },\n warning: {\n icon: <TinyAlertWarning />,\n text: 'Warning',\n bg: vars('colors-alert-pale'),\n color: vars('colors-neutral-darkCharcoal'),\n },\n answered: {\n icon: undefined,\n text: 'Answered',\n bg: vars('colors-main-blueGrey'),\n color: vars('colors-neutral-white'),\n },\n omitted: {\n icon: undefined,\n text: 'Omitted',\n bg: vars('colors-main-ziggurat'),\n color: vars('colors-neutral-darkCharcoal'),\n },\n pending: {\n icon: undefined,\n text: 'Pending',\n bg: vars('colors-neutral-cultured'),\n color: vars('colors-neutral-darkCharcoal'),\n },\n new: {\n icon: undefined,\n text: 'New answer',\n bg: '#FF7A14',\n color: vars('colors-neutral-white'),\n },\n }\n if (!alerts[status]) {\n return null\n }\n\n return (\n <Box\n margin={margin}\n data-testid=\"TinyAlert-Box\"\n backgroundColor={alerts[status].bg}\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n padding=\".125em .25em\"\n gap=\".25rem\"\n width=\"fit-content\"\n borderRadius=\".25rem\"\n className=\"TinyAlert-Box\"\n sx={sx}\n >\n {alerts[status].icon && (\n <Box\n lineHeight={0}\n sx={{\n '>svg': {\n margin: 0,\n },\n }}\n >\n {alerts[status].icon}\n </Box>\n )}\n\n <Box\n as=\"span\"\n color={alerts[status].color}\n fontSize=\".75rem\"\n fontStyle=\"normal\"\n fontWeight=\"400\"\n fontFamily=\"Roboto\"\n lineHeight=\".875rem\"\n margin=\"0\"\n >\n {text ?? alerts[status].text}\n </Box>\n </Box>\n )\n}\n\nTinyAlert.displayName = 'TinyAlert'\n","import { Box, Button, CSSObject } from '@chakra-ui/react'\nimport Ripples from 'react-ripples'\n\nimport { vars } from '@theme'\nimport { Loader } from '@icons'\n\ninterface colorScheme {\n main: string\n hover: string\n}\n\nexport interface propsBaseBtns {\n ariaLabel?: string\n children?: React.ReactNode\n disabled?: boolean\n isFullWidth?: boolean\n leftIcon?: React.ReactElement\n m?: string\n isLoading?: boolean\n onClick?: (e: React.MouseEvent<HTMLElement>) => void\n rightIcon?: React.ReactElement\n role?: 'button' | 'link'\n size?: 'regular' | 'small'\n type?: 'button' | 'submit' | 'reset'\n tabIndex?: number\n id?: string\n sx?: CSSObject\n}\ninterface props extends propsBaseBtns {\n bg?: colorScheme\n /** Colores para el efecto del :active son necesarios dos */\n borderColorActive?: string[]\n color?: string\n fillLoader?: string\n rounded?: boolean\n touchDark?: boolean\n}\n\n/**\n * Componente Btn\n *\n * Dibuja un boton base que posee todo lo estipulado en\n * @see https://zeroheight.com/15698077d/p/358e93-buttons\n *\n * @example <Btn>Lorem</Btn>\n */\nexport function Btn({\n ariaLabel,\n bg,\n borderColorActive = [vars('colors-main-deepSkyBlue'), vars('colors-neutral-white')],\n children,\n color = vars('colors-neutral-white'),\n disabled = false,\n fillLoader = vars('colors-neutral-white'),\n id = undefined,\n isFullWidth = false,\n isLoading = false,\n leftIcon,\n m = '0',\n onClick,\n rightIcon,\n role = 'button',\n rounded = false,\n size = 'regular',\n touchDark = false,\n type = 'button',\n tabIndex = 0,\n sx,\n}: props): JSX.Element {\n let showChildren = children ?? null\n if (!children && !rightIcon && !leftIcon) {\n showChildren = 'Button'\n }\n\n const paddingTopBottom = '.75rem' // xxs + xs spacial units\n const borderRadius = rounded ? '12px' : vars('radii-small')\n const colorMain = bg?.main ?? vars('colors-main-deepSkyBlue')\n const touchColor = touchDark ? 'rgba(160, 160, 160, 0.2)' : 'rgba(255, 255, 255, 0.2)'\n const onlyIcon = !children && (rightIcon ?? leftIcon) ? 'onlyIcon' : ''\n\n return (\n <Box\n margin={m}\n sx={{\n w: isFullWidth ? '100%' : 'auto',\n '.react-ripples': {\n borderRadius,\n display: `${isFullWidth ? 'grid' : 'inline-flex!important'}`,\n },\n }}\n >\n <Ripples color={touchColor}>\n <Button\n autoFocus={false}\n aria-label={ariaLabel}\n id={id}\n role={role}\n bg={colorMain}\n borderRadius={borderRadius}\n color={color}\n className={onlyIcon}\n disabled={disabled && isLoading ? false : disabled}\n fontWeight=\"500\"\n fontSize={size === 'regular' ? 'medium' : 'small'}\n height=\"auto\"\n iconSpacing={vars('space-xs')}\n isActive={false}\n isLoading={isLoading}\n isFullWidth={isFullWidth}\n lineHeight=\"initial\"\n leftIcon={leftIcon}\n minHeight={size === 'regular' ? '2.813rem' : '2rem'}\n minWidth={size === 'regular' ? '9rem' : 'auto'}\n onClick={(e: React.MouseEvent<HTMLElement>) => {\n !isLoading && !disabled && onClick?.(e)\n }}\n position=\"relative\"\n paddingTop={\n size === 'regular' ? paddingTopBottom : onlyIcon ? vars('space-xs') : vars('space-xxs')\n }\n paddingBottom={\n size === 'regular' ? paddingTopBottom : onlyIcon ? vars('space-xs') : vars('space-xxs')\n }\n paddingLeft={size === 'regular' ? vars('space-s') : vars('space-xs')}\n paddingRight={size === 'regular' ? vars('space-s') : vars('space-xs')}\n rightIcon={rightIcon}\n type={type}\n size={size === 'regular' ? 'md' : 'sm'}\n spinner={<Loader fill={fillLoader} />}\n tabIndex={disabled || isLoading ? -1 : tabIndex}\n _active={{\n bg: bg?.main ?? vars('colors-main-azureRadiance'),\n }}\n _disabled={{\n opacity: '50%',\n cursor: 'not-allowed',\n }}\n _focus={{\n boxShadow: 'none',\n }}\n _focusVisible={{\n boxShadow: `inset 0 0 0 2px ${borderColorActive[0]}, inset 0 0 0 4px ${borderColorActive[1]}`,\n }}\n _hover={{\n bg: bg?.hover ?? vars('colors-main-azureRadiance'),\n }}\n sx={{\n '&[data-loading]': {\n boxShadow: 'none',\n cursor: 'wait',\n },\n '&.onlyIcon span': {\n m: 0,\n },\n span: {\n h: '1rem',\n },\n ...sx,\n }}\n >\n {showChildren}\n </Button>\n </Ripples>\n </Box>\n )\n}\n\nBtn.displayName = 'Btn'\n","import { Btn, propsBaseBtns } from './Btn'\n\n/**\n * Componente BtnPrimary\n *\n * @see https://zeroheight.com/15698077d/p/358e93-buttons\n *\n * @example <BtnPrimary>Lorem</BtnPrimary>\n */\n\ntype XOR<T, U> = T | U extends object\n ? (T extends U ? never : T) | (U extends T ? never : U)\n : T | U\ninterface ButtonWithTextProps extends propsBaseBtns {\n children: React.ReactNode\n ariaLabel?: string\n}\n\ninterface ButtonWithoutTextProps extends propsBaseBtns {\n children?: React.ReactNode\n ariaLabel: string\n}\n\ntype PrimaryButtonProps = XOR<ButtonWithTextProps, ButtonWithoutTextProps>\nexport function BtnPrimary({\n ariaLabel,\n children,\n disabled = false,\n isFullWidth = false,\n leftIcon,\n m = '0',\n isLoading = false,\n onClick,\n rightIcon,\n role = 'button',\n size = 'regular',\n type = 'button',\n tabIndex,\n id,\n sx,\n}: PrimaryButtonProps): JSX.Element {\n return (\n <Btn\n ariaLabel={ariaLabel}\n id={id}\n disabled={disabled}\n isFullWidth={isFullWidth}\n isLoading={isLoading}\n leftIcon={leftIcon}\n m={m}\n onClick={onClick}\n rightIcon={rightIcon}\n role={role}\n size={size}\n type={type}\n tabIndex={tabIndex}\n sx={sx}\n >\n {children}\n </Btn>\n )\n}\n\nBtnPrimary.displayName = 'BtnPrimary'\n","import { Btn, propsBaseBtns } from './Btn'\nimport { vars } from '@theme'\n\n/**\n * Componente BtnSecondary\n *\n * @see https://zeroheight.com/15698077d/p/358e93-buttons\n *\n * @example <BtnSecondary>Lorem</BtnSecondary>\n */\n\ntype XOR<T, U> = T | U extends object\n ? (T extends U ? never : T) | (U extends T ? never : U)\n : T | U\ninterface ButtonWithTextProps extends propsBaseBtns {\n children: React.ReactNode\n ariaLabel?: string\n}\n\ninterface ButtonWithoutTextProps extends propsBaseBtns {\n children?: React.ReactNode\n ariaLabel: string\n}\n\ntype SecondaryButtonProps = XOR<ButtonWithTextProps, ButtonWithoutTextProps>\nexport function BtnSecondary({\n ariaLabel,\n children,\n disabled = false,\n isFullWidth = false,\n leftIcon,\n m = '0',\n isLoading = false,\n onClick,\n rightIcon,\n role = 'button',\n size = 'regular',\n type = 'button',\n tabIndex,\n id,\n sx,\n}: SecondaryButtonProps): JSX.Element {\n return (\n <Btn\n ariaLabel={ariaLabel}\n id={id}\n bg={{\n main: vars('colors-main-veryLightBlue'),\n hover: vars('colors-main-linkWater'),\n }}\n borderColorActive={[vars('colors-main-deepSkyBlue'), vars('colors-neutral-white')]}\n color={vars('colors-main-deepSkyBlue')}\n disabled={disabled}\n fillLoader={vars('colors-main-deepSkyBlue')}\n isFullWidth={isFullWidth}\n isLoading={isLoading}\n leftIcon={leftIcon}\n m={m}\n onClick={onClick}\n rightIcon={rightIcon}\n role={role}\n size={size}\n touchDark\n type={type}\n tabIndex={tabIndex}\n sx={sx}\n >\n {children}\n </Btn>\n )\n}\n\nBtnSecondary.displayName = 'BtnSecondary'\n","import { vars } from '@theme'\nimport { Button, CSSObject } from '@chakra-ui/react'\nimport {\n GoAhead,\n GoBack,\n Password,\n Pen,\n PlusSign,\n TextBubble,\n TrashCan,\n Multimedia,\n AcademicRecord,\n Download,\n} from '@/atoms/Icons'\n\ntype XOR<T, U> = T | U extends object\n ? (T extends U ? never : T) | (U extends T ? never : U)\n : T | U\nexport interface propsTertiaryBtn {\n activeWhenPress?: boolean\n id?: string\n iconCustom?: JSX.Element\n iconStatus?:\n | 'answer'\n | 'ahead'\n | 'back'\n | 'edit'\n | 'delete'\n | 'more'\n | 'password'\n | 'multimedia'\n | 'record'\n | 'download'\n | 'noIcon'\n m?: string\n onClick?: (e: React.MouseEvent<HTMLElement>) => void\n onMouseEnter?: (e: React.MouseEvent<HTMLElement>) => void\n onMouseLeave?: (e: React.MouseEvent<HTMLElement>) => void\n rightIcon?: boolean\n role?: 'button' | 'link'\n type?: 'button' | 'submit' | 'reset'\n tabIndex?: number\n withoutColor?: boolean\n sx?: CSSObject\n}\n\ninterface ButtonWithTextProps extends propsTertiaryBtn {\n children: React.ReactNode\n ariaLabel?: string\n}\n\ninterface ButtonWithoutTextProps extends propsTertiaryBtn {\n children?: React.ReactNode\n ariaLabel: string\n}\n\ntype ButtonProps = XOR<ButtonWithTextProps, ButtonWithoutTextProps>\n\nexport function BtnTertiary({\n ariaLabel,\n activeWhenPress = false,\n children,\n id,\n iconStatus = 'multimedia',\n iconCustom,\n m = '0',\n onClick,\n onMouseEnter,\n onMouseLeave,\n rightIcon,\n role = 'button',\n type = 'button',\n tabIndex,\n withoutColor = false,\n sx,\n}: ButtonProps): JSX.Element {\n const gray = vars('colors-neutral-gray')\n const blue = vars('colors-main-deepSkyBlue')\n const white = vars('colors-neutral-white')\n const colorIcon = withoutColor ? vars('colors-main-blueGrey') : blue\n\n const btnIcons = {\n ahead: <GoAhead color={colorIcon} />,\n answer: <TextBubble color={colorIcon} />,\n back: <GoBack color={colorIcon} />,\n delete: <TrashCan color={colorIcon} />,\n download: <Download color={colorIcon} />,\n edit: <Pen color={colorIcon} />,\n more: <PlusSign color={colorIcon} />,\n multimedia: <Multimedia color={colorIcon} />,\n password: <Password color={colorIcon} />,\n record: <AcademicRecord color={colorIcon} />,\n noIcon: <></>,\n }\n\n let icon\n if (btnIcons[iconStatus] && iconStatus !== 'noIcon') {\n icon = btnIcons[iconStatus]\n }\n if (iconCustom) {\n icon = iconCustom\n }\n\n const rIcon = rightIcon ? icon : undefined\n const lIcon = !rightIcon ? icon : undefined\n\n return (\n <Button\n aria-label={ariaLabel}\n id={id}\n role={role}\n type={type}\n tabIndex={tabIndex}\n background=\"transparent\"\n borderRadius=\"12px\"\n color={gray}\n fontFamily=\"Roboto\"\n fontStyle=\"normal\"\n fontWeight=\"500\"\n fontSize=\"14px\"\n gap=\"0.5rem\"\n height=\"24px\"\n lineHeight=\"16px\"\n leftIcon={lIcon}\n rightIcon={rIcon}\n m={m}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n paddingTop={vars('space-xxs')}\n paddingBottom={vars('space-xxs')}\n paddingLeft={vars('space-xs')}\n paddingRight={vars('space-xs')}\n textDecorationLine=\"underline\"\n _hover={{\n color: `${blue}`,\n }}\n _focusVisible={{\n boxShadow: `inset 0 0 0 2px ${blue}, inset 0 0 0 4px ${white}`,\n }}\n _focus={{\n color: activeWhenPress ? `${blue} !important` : 'inherit',\n boxShadow: 'none',\n }}\n _active={{\n bg: 'transparent',\n }}\n sx={{\n '>span': {\n mr: 0,\n },\n ...sx,\n }}\n >\n {children}\n </Button>\n )\n}\n\nBtnTertiary.displayName = 'BtnTertiary'\n","import { vars } from '@theme'\nimport { Box, CSSObject } from '@chakra-ui/react'\n\nexport interface props {\n as?: 'button' | 'a'\n ariaLabel?: string\n children?: React.ReactNode\n fontSize?: string | '0.875rem'\n href?: string\n id?: string\n isDisable?: boolean\n m?: string\n onClick?: (e: React.MouseEvent<HTMLElement>) => void\n role?: 'button' | 'link'\n tabIndex?: number\n target?: '_blank' | '_self'\n textDecorationLine?: boolean\n sx?: CSSObject\n}\n\nexport function BtnLink({\n as = 'a',\n ariaLabel,\n children,\n fontSize = '0.875rem',\n href = '',\n id,\n isDisable = false,\n m = '0',\n onClick,\n role = 'link',\n tabIndex,\n target = '_blank',\n textDecorationLine = true,\n sx,\n}: props): JSX.Element {\n const typeButton = {\n button: {\n onClick: isDisable ? undefined : onClick,\n target: target,\n },\n a: {\n href,\n target: target,\n },\n }\n\n return (\n <Box\n {...stylesBtnLink}\n aria-label={ariaLabel}\n as={as}\n autoFocus={false}\n className=\"linkButton\"\n cursor={isDisable ? 'not-allowed' : 'pointer'}\n fontSize={fontSize}\n id={id}\n onClick={isDisable ? undefined : onClick}\n opacity={isDisable ? 0.5 : 1}\n role={role}\n tabIndex={tabIndex}\n textDecorationLine={textDecorationLine ? 'underline' : 'none'}\n m={m}\n {...typeButton[as]}\n sx={sx}\n >\n {children}\n </Box>\n )\n}\n\nexport const stylesBtnLink = {\n backgroundColor: 'transparent',\n borderStyle: 'none',\n color: vars('colors-main-deepSkyBlue'),\n cursor: 'pointer',\n fontFamily: 'Roboto',\n fontSize: '1rem',\n fontStyle: 'normal',\n fontWeight: '500',\n lineHeight: '1rem',\n padding: '.25em',\n textDecorationLine: 'underline',\n width: 'fit-content',\n _hover: {\n color: vars('colors-neutral-darkCharcoal'),\n cursor: 'pointer',\n },\n}\n\nBtnLink.displayName = 'BtnLink'\n","export const HelpIcon = (): JSX.Element => {\n return (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path\n d=\"M8 0C3.6 0 0 3.6 0 8C0 12.4 3.6 16 8 16C12.4 16 16 12.4 16 8C16 3.6 12.4 0 8 0ZM8 13C7.448 13 7 12.552 7 12C7 11.448 7.448 11 8 11C8.552 11 9 11.448 9 12C9 12.552 8.552 13 8 13ZM9.623 8.092C9.126 8.519 9 8.663 9 9C9 9.553 8.552 10 8 10C7.448 10 7 9.553 7 9C7 7.706 7.795 7.024 8.322 6.573C8.819 6.148 8.945 6.003 8.945 5.667C8.945 5.484 8.945 5 8.001 5C7.565 5.024 7.1 5.224 6.743 5.561C6.342 5.939 5.708 5.92 5.329 5.52C4.95 5.118 4.968 4.485 5.37 4.106C6.072 3.445 6.987 3.052 7.949 3.002H7.952C9.764 3.002 10.945 4.073 10.945 5.668C10.945 6.961 10.15 7.643 9.624 8.093L9.623 8.092Z\"\n fill=\"white\"\n />\n </svg>\n )\n}\n","export const CalendarButtonIcon = (): JSX.Element => (\n <svg width=\"16px\" height=\"16px\" fill=\"none\">\n <path\n fill=\"#fff\"\n d=\"M15 2h-2V0h-2v2H9V0H7v2H5V0H3v2H1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1Zm-1 12H2V5h12v9Z\"\n />\n <path\n fill=\"#fff\"\n d=\"M6 7H4v2h2V7ZM9 7H7v2h2V7ZM6 10H4v2h2v-2ZM9 10H7v2h2v-2ZM12 7h-2v2h2V7ZM12 10h-2v2h2v-2Z\"\n />\n </svg>\n)\n","import { Base, BaseProps } from './Base'\n\nexport function Accessibility(props: BaseProps): JSX.Element {\n return (\n <Base {...props}>\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M16 8C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8ZM8 5C8.82843 5 9.5 4.32843 9.5 3.5C9.5 2.67157 8.82843 2 8 2C7.17157 2 6.5 2.67157 6.5 3.5C6.5 4.32843 7.17157 5 8 5ZM2.96967 5.96967C3.11032 5.82902 3.30109 5.75 3.5 5.75H12.5C12.6989 5.75 12.8897 5.82902 13.0303 5.96967C13.171 6.11032 13.25 6.30109 13.25 6.5C13.25 6.69891 13.171 6.88968 13.0303 7.03033C12.8897 7.17098 12.6989 7.25 12.5 7.25H10.25V13.25C10.25 13.4489 10.171 13.6397 10.0303 13.7803C9.88968 13.921 9.69891 14 9.5 14C9.30109 14 9.11032 13.921 8.96967 13.7803C8.82902 13.6397 8.75 13.4489 8.75 13.25V10.25H7.25V13.25C7.25 13.4489 7.17098 13.6397 7.03033 13.7803C6.88968 13.921 6.69891 14 6.5 14C6.30109 14 6.11032 13.921 5.96967 13.7803C5.82902 13.6397 5.75 13.4489 5.75 13.25V7.25H3.5C3.30109 7.25 3.11032 7.17098 2.96967 7.03033C2.82902 6.88968 2.75 6.69891 2.75 6.5C2.75 6.30109 2.82902 6.11032 2.96967 5.96967Z\"\n fill=\"white\"\n />\n </svg>\n </Base>\n )\n}\n","import { Box, useMediaQuery } from '@chakra-ui/react'\n\nimport { vars } from '@theme'\nimport { HelpIcon } from '@/molecules/NavBarButtons/Icons/HelpIcon'\nimport { CalendarButtonIcon } from './Icons/CalendarButtonIcon'\nimport { Accessibility } from '@/atoms/Icons/Accessibility'\n\n/**\n * Componente que muestra botones de la barra de navegación. Recibe los siguientes props:\n * @param {('button' | 'a' | 'div')} [as='button'] - Tipo de elemento HTML que se renderiza. Por defecto es un botón.\n * @param {string} [buttonName] - Nombre del botón. Si no se proporciona, se usa un valor predeterminado según el tipo de botón.\n * @param {boolean} [onlyLink] - Si es `true`, el botón no ejecuta ninguna acción al hacer clic, solo actúa como un enlace.\n * @param {function} onClick - Función que se ejecuta al hacer clic en el botón.\n * @param {'calendar' | 'help' | 'accessibility'} [type] - Tipo de botón que determina el icono y el texto a mostrar.\n */\n\nexport interface ButtonProps {\n as?: 'button' | 'a' | 'div'\n buttonName?: string\n onlyLink?: boolean\n onClick?: () => void\n type: 'calendar' | 'help' | 'accessibility'\n}\n\nexport const NavBarButton = ({\n as = 'button',\n buttonName,\n onlyLink,\n onClick,\n type,\n}: ButtonProps): JSX.Element => {\n const [isMobile] = useMediaQuery('(max-width: 640px)')\n\n const buttonType = {\n accessibility: {\n icon: <Accessibility />,\n text: buttonName ?? 'ACCESIBILIDAD',\n },\n calendar: {\n icon: <CalendarButtonIcon />,\n text: buttonName ?? 'CALENDARIO',\n },\n help: {\n icon: <HelpIcon />,\n text: buttonName ?? 'AYUDA',\n },\n }\n\n const triggerWidget = (): void => {\n const buttonB = document.getElementById('userWayTrigger')\n if (buttonB?.click) {\n buttonB.click() // Hace clic en el botón del archivo index.html\n }\n }\n\n const activeBg = vars('colors-main-deepSkyBlue') ?? '#0189FF'\n const hoverBg = 'rgba(96, 121, 142, 0.8)'\n const isAccessibility = type === 'accessibility'\n\n return (\n <Box\n as={as}\n className=\"nav-bar-button\"\n id={isAccessibility ? 'UserWayButton' : ''}\n onClick={isAccessibility ? triggerWidget : onClick}\n _focusVisible={{\n outline: `3px solid ${vars('colors-alert-deepSkyBlue')}`,\n borderRadius: '2px',\n }}\n tabIndex={0}\n sx={{\n alignItems: 'center',\n background: 'none !important',\n border: '1px transparent !important',\n cursor: 'pointer',\n display: 'flex',\n gap: '8px',\n h: '30px',\n maxH: '30px',\n p: '0',\n\n _hover: {\n '.nav-bar-icon': {\n bg: hoverBg,\n },\n '.nav-bar-text': {\n color: vars('colors-neutral-white'),\n },\n },\n\n _active: {\n '.nav-bar-icon': {\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n bg: onlyLink || isAccessibility ? hoverBg : activeBg,\n },\n '.nav-bar-text': {\n color: vars('colors-neutral-white'),\n },\n },\n\n '.nav-bar-icon': {\n alignItems: 'center',\n bg: vars('colors-main-blueGrey'),\n borderRadius: '100%',\n border: '1px solid transparent',\n display: 'flex',\n height: '30px',\n justifyContent: 'center',\n type: 'button',\n role: 'button',\n width: '30px',\n },\n\n '.nav-bar-text': {\n alignContent: 'center',\n color: vars('colors-neutral-silverSand'),\n fontSize: '12px',\n fontWeight: '500',\n fontFamily: 'Roboto',\n },\n }}\n >\n <Box className=\"nav-bar-icon\" tabIndex={-1}>\n {buttonType[type].icon}\n </Box>\n {!isMobile && (\n <Box className=\"nav-bar-text\" tabIndex={-1}>\n {buttonType[type].text}\n </Box>\n )}\n </Box>\n )\n}\n","import { FC } from 'react'\nimport { Tooltip, PlacementWithLogical, CSSObject } from '@chakra-ui/react'\nimport { vars } from '@/theme'\n\ninterface TooltipProps {\n className?: string\n label?: React.ReactNode\n isDisabled?: boolean\n m?: string\n maxWidth?: string\n placement?: PlacementWithLogical\n isOpen?: boolean | undefined\n sx?: CSSObject\n transform?: string\n}\n\nexport const NewTooltip: FC<TooltipProps> = ({\n children,\n className = 'tooltip',\n label,\n isDisabled = false,\n m,\n maxWidth = '200px',\n placement = 'bottom',\n isOpen,\n sx,\n transform,\n}) => {\n return (\n <Tooltip\n isOpen={isOpen}\n sx={{\n bg: vars('colors-neutral-darkCharcoal'),\n borderRadius: '10px',\n color: 'white !important',\n fontSize: '12px',\n fontWeight: '400',\n maxWidth: maxWidth,\n padding: '8px',\n transform: transform ?? '',\n '.chakra-tooltip__arrow': {\n bg: `${vars('colors-neutral-darkCharcoal')} !important`,\n },\n ...sx,\n }}\n className={className}\n closeOnClick\n label={label}\n m={m}\n hasArrow\n isDisabled={isDisabled}\n placement={placement}\n >\n <span>{children}</span>\n </Tooltip>\n )\n}\n","import { Box } from '@chakra-ui/react'\n\nimport { Accessibility } from '@/atoms/Icons/Accessibility'\nimport { vars } from '@theme'\n\nexport function UserWay(): JSX.Element {\n const triggerWidget = (): void => {\n const buttonB = document.getElementById('userWayTrigger')\n if (buttonB?.click) {\n buttonB.click() // Hace clic en el botón del archivo index.html\n }\n }\n\n return (\n <Box\n as=\"button\"\n alignItems=\"center\"\n bg={vars('colors-main-blueGrey')}\n borderRadius=\"100%\"\n border=\"1px solid transparent\"\n display=\"flex\"\n height=\"30px\"\n id=\"UserWayButton\"\n justifyContent=\"center\"\n padding=\"0 8px\"\n width=\"30px\"\n _hover={{\n background: 'rgba(96, 121, 142, 0.8)',\n }}\n onClick={triggerWidget}\n >\n <Accessibility />\n </Box>\n )\n}\n","export function UserWayCookie(): void {\n const cookieName = 'userwayData'\n\n const userwayDataCookie = document.cookie\n .split('; ')\n .find((row) => row.startsWith(`${cookieName}=`))\n ?.split('=')[1]\n\n if (userwayDataCookie) {\n try {\n const userwayData = JSON.parse(decodeURIComponent(userwayDataCookie))\n for (const [key, value] of Object.entries(userwayData)) {\n localStorage.setItem(key, value as string)\n }\n console.log('UserWay data restored to localStorage:', userwayData)\n } catch (error) {\n console.error('Error parsing UserWay data from cookie:', error)\n }\n }\n\n window.addEventListener('beforeunload', () => {\n const userwayData: Record<string, string | null> = {}\n for (const key in localStorage) {\n if (key.startsWith('userway-')) {\n userwayData[key] = localStorage.getItem(key)\n }\n }\n\n const serializedData = JSON.stringify(userwayData)\n const expiryDate = new Date()\n expiryDate.setTime(expiryDate.getTime() + 24 * 60 * 60 * 1000)\n\n document.cookie = `${cookieName}=${encodeURIComponent(\n serializedData\n )};expires=${expiryDate.toUTCString()};path=/`\n })\n}\n","import * as React from 'react'\nimport { Box, Stack, Image, Center, Flex } from '@chakra-ui/react'\n\nimport { CourseBoxContext } from '../Boxes/BoxTraditional'\nimport { Label } from '@atoms'\nimport { vars } from '@theme'\nimport { Profile } from '@icons'\n\nconst STUDENT = 4\nconst LABEL_STYLES: Record<string, { bg?: string }> = {\n ADMIN: { bg: vars('colors-main-linkWater') },\n NEW: { bg: vars('colors-secondary-pumpkin') },\n}\n\nexport function Header(): JSX.Element {\n const {\n background,\n labels,\n logo,\n logoAlt,\n Profile: profile,\n soonCourse,\n } = React.useContext(CourseBoxContext)\n\n return (\n <Box\n as=\"header\"\n height=\"8.75rem\"\n borderBottom={vars('borders-light')}\n pos=\"relative\"\n _before={{\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n backgroundImage: `url(${background ?? ''})`,\n backgroundSize: 'cover',\n backgroundPosition: 'center',\n opacity: soonCourse?.show ?? false ? 0.3 : 1,\n zIndex: 0,\n }}\n >\n <Box p=\"1rem\" display=\"flex\" gap=\"0.625rem\" position=\"absolute\" zIndex={2}>\n {profile?.id !== STUDENT && (\n <Label bg={vars('colors-neutral-white')}>\n <Flex alignItems=\"center\">\n <Profile m=\"0 .25rem 0 0\" />\n {profile?.name}\n </Flex>\n </Label>\n )}\n {labels !== undefined && labels.length > 0 && (\n <Stack direction=\"row\" spacing=\".625rem\" wrap=\"wrap\" zIndex={2}>\n {labels.map((item, index) => {\n const labelStyle = LABEL_STYLES[item.id]\n\n return (\n <Label\n key={index}\n bg={labelStyle?.bg}\n sx={{ display: 'flex', alignItems: 'center' }}\n >\n {item.text}\n </Label>\n )\n })}\n </Stack>\n )}\n {soonCourse?.show && soonCourse?.text && (\n <Stack direction=\"row\" spacing=\".625rem\" wrap=\"wrap\" zIndex={2}>\n <Label>{soonCourse.text}</Label>\n </Stack>\n )}\n </Box>\n\n {logo !== undefined && logo.length > 0 && (\n <Center\n pos=\"absolute\"\n bottom=\"0\"\n left=\".9375rem\"\n transform=\"translateY(30%)\"\n h=\"3.5rem\"\n border={vars('borders-light')}\n bg={vars('colors-neutral-white')}\n overflow=\"hidden\"\n borderRadius={vars('radii-small')}\n w=\"6.25rem\"\n zIndex={2}\n >\n <Image src={logo} alt={logoAlt ?? 'logo'} maxHeight=\"3.5rem\" maxWidth=\"6.25rem\" />\n </Center>\n )}\n </Box>\n )\n}\n\nHeader.displayName = 'Header'\n","import { Text } from '@chakra-ui/react'\n\nimport { vars } from '@theme'\n\ninterface DateStatusProps {\n date?: string\n}\n\nexport function DateStatus({ date }: DateStatusProps): JSX.Element | null {\n if (date == null || date.length === 0) {\n return null\n }\n\n return (\n <Text fontSize=\".75rem\" color={vars('colors-neutral-darkCharcoal')} m=\"0\">\n {date}\n </Text>\n )\n}\n\nDateStatus.displayName = 'DateStatus'\n","import { Progress } from '@atoms'\nimport { Schedule, Certificate, CircularCheck, CircularInformation } from '@icons'\n\ninterface IconSelectionProps {\n type: string\n progressValue?: number\n}\n\nexport function IconSelection({ type, progressValue = 0 }: IconSelectionProps): JSX.Element | null {\n switch (type) {\n case 'schedule':\n return <Schedule />\n case 'certificate':\n return <Certificate />\n case 'circularCheck':\n return <CircularCheck />\n case 'progress':\n return <Progress value={progressValue} />\n case 'circularInformation':\n return <CircularInformation />\n case 'info':\n return <CircularInformation />\n default:\n return null\n }\n}\n","import { Flex, Text } from '@chakra-ui/react'\nimport { ProgressCourse, StatusCourse } from '@eclass/api'\n\nimport { Label } from '@/atoms'\nimport { vars } from '@/theme'\nimport { IconSelection } from './IconSelection'\n\nconst ID_QUALIFIED = 7\n\ninterface props {\n /** import { ProgressCourse } from '@eclass/api' */\n progress: ProgressCourse\n /** import { StatusCourse } from '@eclass/api' */\n status?: StatusCourse\n}\n\n/**\n * Devuelve estado en el que se encuentra el curso, por ejemplo:\n *\n * avance, inicio, curso aprovado, reprovado, finalizado\n */\nexport function CourseStatus({ progress, status }: props): JSX.Element {\n return (\n <>\n <Flex>\n <IconSelection type={progress.icon} progressValue={progress.progress} />\n <Text m=\"0\" ml=\".625rem\" fontSize=\".875rem\" lineHeight=\"1.125rem\">\n {progress?.label}\n </Text>\n </Flex>\n {status?.id === ID_QUALIFIED && progress?.finalGrade && progress?.finalGrade.length > 0 && (\n <Label\n size=\"sm\"\n bg={progress.isApproved ? vars('colors-alert-jadeGreen') : vars('colors-alert-red')}\n color={vars('colors-neutral-white')}\n >\n {progress?.finalGrade}\n </Label>\n )}\n </>\n )\n}\n","import * as React from 'react'\nimport { Box, Heading, Link, List, HStack, Text, ListItem, Flex } from '@chakra-ui/react'\n\nimport { CourseBoxContext } from '../Boxes/BoxTraditional'\nimport { DateStatus } from './DateStatus'\nimport { IconSelection } from './IconSelection'\nimport { vars } from '@theme'\nimport { CourseStatus } from './CourseStatus'\n\nexport function Section(): JSX.Element | null {\n const { name, dateStatus, information, progress, status } = React.useContext(CourseBoxContext)\n\n if (progress == null) {\n return null\n }\n\n return (\n <Box marginTop=\"1.875rem\" as=\"section\" p=\"0 .9375rem\">\n {dateStatus?.hasDates && (\n <HStack\n direction=\"row\"\n divider={\n dateStatus.init !== undefined &&\n dateStatus.init.length > 0 &&\n dateStatus.end !== undefined &&\n progress.icon !== null &&\n dateStatus.end.length > 0 ? (\n <Box h=\".5rem\" w=\"1px\" bg={vars('colors-neutral-silverSand')} alignSelf=\"center\" />\n ) : (\n <></>\n )\n }\n >\n <DateStatus date={dateStatus.init} />\n <DateStatus date={dateStatus.end} />\n </HStack>\n )}\n <Heading\n as=\"h2\"\n fontFamily=\"Roboto\"\n fontSize=\"1rem\"\n mt=\".3125rem\"\n fontWeight=\"700\"\n lineHeight=\"1.3\"\n >\n {name}\n </Heading>\n {progress?.label !== undefined && (\n <Flex mt=\"1rem\" justify=\"space-between\" alignItems=\"flex-start\">\n <CourseStatus progress={progress} status={status} />\n </Flex>\n )}\n {information != null && information?.length > 0 && (\n <List\n spacing=\".625rem\"\n paddingInlineStart=\"0\"\n pt=\".625rem\"\n m=\".625rem 0 0\"\n lineHeight=\".875rem\"\n borderTop={vars('borders-light')}\n >\n {information.map((item, index) => (\n <ListItem key={index} display=\"flex\">\n <IconSelection type={item.icon} />\n <Box display=\"inline-block\" ml=\".625rem\">\n {item.href !== undefined && item.href?.length > 0 ? (\n <Link\n isExternal\n href={item.href}\n color={vars('colors-main-deepSkyBlue')}\n textDecor=\"underline\"\n fontWeight=\"500\"\n fontSize=\".75rem\"\n >\n {item.text}\n </Link>\n ) : (\n <Text m=\"0\" color={vars('colors-neutral-gray')} fontSize=\".75rem\">\n {item.text}\n </Text>\n )}\n </Box>\n </ListItem>\n ))}\n </List>\n )}\n </Box>\n )\n}\n\nSection.displayName = 'Section'\n","export type icon = 'schedule' | 'certificate' | 'circularCheck' | 'progress' | 'circularInformation'\n\nexport const dataBase = {\n name: 'Orientación en la prevención de contagio de COVID-19',\n background:\n 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcT76y4DAhqWAlCspmGYWcbxSDnLw3p1FzJQKA&usqp=CAU',\n logo: 'https://procalidad.cl/wp-content/uploads/2021/05/logo-achs.png',\n logoAlt: 'op',\n status: {\n id: 6,\n name: 'NEXT',\n detail: '',\n style: '',\n },\n Profile: {\n id: 4,\n name: 'Alumno',\n },\n progress: {\n label: 'Tienes hasta el Lunes 16 de Enero para de 2022 inscribirte',\n icon: 'schedule',\n progress: 0,\n isApproved: false,\n finalGrade: '',\n },\n dateStatus: {\n hasDates: true,\n init: 'Inicia 17 ene 2022',\n end: 'Finaliza 10 ene 2023',\n },\n information: [\n {\n icon: 'schedule',\n text: 'Certificado por ACHS',\n href: 'http://google.com',\n },\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n {\n icon: 'circularCheck',\n text: 'Certificado por ACHS',\n href: 'http://google.com',\n },\n {\n icon: 'circularInformation',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n enabled: true,\n text: 'Tu curso aún no comienza',\n hasIcon: false,\n href: 'https://platform.eclass.io/',\n targetBlank: false,\n },\n labels: [\n {\n id: 'OBLIGATORY',\n text: 'Obligatorio',\n },\n ],\n}\n\nexport const dataStates: any = {\n noHabilitado: {\n ...dataBase,\n id: 1,\n hasFinanzeFreezed: false,\n status: {\n ...dataBase.status,\n id: 1,\n name: 'noHabilitado',\n },\n progress: {\n ...dataBase.progress,\n label: 'Inscripción no habilitada',\n icon: 'circularInformation',\n },\n dateStatus: {\n ...dataBase.dateStatus,\n hasDates: false,\n },\n information: null,\n action: {\n ...dataBase.action,\n href: '#',\n text: 'Ver información del curso',\n },\n labels: [],\n },\n inscripcionFutura: {\n ...dataBase,\n id: 2,\n hasFinanzeFreezed: false,\n status: {\n ...dataBase.status,\n id: 1,\n name: 'noHabilitado',\n },\n progress: {\n ...dataBase.progress,\n label: 'Podrás inscribirte a partir del 31 de marzo de 2022',\n icon: 'circularInformation',\n },\n dateStatus: {\n ...dataBase.dateStatus,\n hasDates: false,\n },\n information: null,\n action: {\n ...dataBase.action,\n href: '#',\n text: 'Ver información del curso',\n },\n labels: [\n {\n id: 'NEW',\n text: 'Nuevo',\n },\n ],\n },\n inscripcionFinalizo: {\n ...dataBase,\n id: 3,\n hasFinanzeFreezed: false,\n status: {\n ...dataBase.status,\n id: 1,\n name: 'noHabilitado',\n },\n progress: {\n ...dataBase.progress,\n label: 'El período de inscripción finalizó el 31 de marzo de 2022',\n icon: 'circularInformation',\n },\n dateStatus: {\n ...dataBase.dateStatus,\n hasDates: false,\n },\n information: null,\n action: {\n ...dataBase.action,\n href: '#',\n text: 'Ver información del curso',\n },\n labels: [\n {\n id: 'NEW',\n text: 'Nuevo',\n },\n ],\n },\n preInscripcion: {\n ...dataBase,\n logo: 'https://cdn.eclass.com/img/productos/logos/logo-utec-square.jpg',\n background: 'https://cdn.eclass.com/img/cursos/default1.png',\n id: 4,\n hasFinanzeFreezed: false,\n status: {\n ...dataBase.status,\n id: 2,\n name: 'preInscripcion',\n },\n progress: {\n ...dataBase.progress,\n label: 'Tienes hasta el Lunes 16 de Enero para de 2022 inscribirte',\n icon: 'schedule',\n },\n dateStatus: {\n ...dataBase.dateStatus,\n hasDates: false,\n },\n information: [\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n text: 'Solicitar inscripción',\n targetBlank: true,\n },\n labels: [],\n },\n preInscripcion2: {\n ...dataBase,\n id: 5,\n hasFinanzeFreezed: false,\n logo: '',\n status: {\n ...dataBase.status,\n id: 2,\n name: 'preInscripcion',\n },\n progress: {\n ...dataBase.progress,\n label: 'Estamos procesando tu solicitud de inscripción',\n icon: 'circularInformation',\n },\n dateStatus: {\n ...dataBase.dateStatus,\n hasDates: false,\n },\n information: [\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n text: 'Ver información del curso',\n targetBlank: true,\n },\n labels: [],\n },\n inscripcion: {\n ...dataBase,\n background: 'https://cdn.eclass.com/img/cursos/default2.png',\n id: 6,\n hasFinanzeFreezed: false,\n status: {\n ...dataBase.status,\n id: 3,\n name: 'inscripcion',\n },\n progress: {\n ...dataBase.progress,\n label: 'Tienes hasta el Lunes 16 de Enero para de 2022 inscribirte',\n icon: 'schedule',\n },\n dateStatus: {\n ...dataBase.dateStatus,\n hasDates: false,\n },\n information: [\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n text: 'Inscríbete',\n targetBlank: true,\n },\n },\n inscripcion2: {\n ...dataBase,\n id: 7,\n hasFinanzeFreezed: false,\n status: {\n ...dataBase.status,\n id: 3,\n name: 'inscripcion',\n },\n progress: {\n ...dataBase.progress,\n label: 'Tienes hasta el Lunes 16 de Enero para de 2022 inscribirte',\n icon: 'schedule',\n },\n dateStatus: {\n ...dataBase.dateStatus,\n hasDates: true,\n },\n information: [],\n action: {\n ...dataBase.action,\n text: 'Inscríbete',\n targetBlank: true,\n },\n labels: [\n {\n id: 'OBLIGATORY',\n text: 'Obligatorio',\n },\n {\n id: 'NEW',\n text: 'Nuevo',\n },\n {\n id: 'ADMIN',\n text: 'Curso madre',\n },\n ],\n },\n noDisponible: {\n ...dataBase,\n id: 8,\n hasFinanzeFreezed: false,\n logo: '',\n background: 'https://cdn.eclass.com/img/cursos/default2.png',\n status: {\n ...dataBase.status,\n id: 4,\n name: 'no disponible',\n },\n progress: {\n ...dataBase.progress,\n label: 'Tu curso iniciará el Lunes 16 de Enero de 2023',\n icon: 'schedule',\n },\n dateStatus: {\n init: 'Inicia 17 ene 2022',\n end: '',\n hasDates: true,\n },\n information: [\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n text: 'Ver información del curso',\n targetBlank: true,\n },\n labels: [],\n },\n noDisponible2: {\n ...dataBase,\n background: 'https://cdn.eclass.com/img/cursos/default3.png',\n logo: 'https://cdn.eclass.com/img/productos/logos/logo-eclass-academy-square.jpg',\n id: 9,\n hasFinanzeFreezed: false,\n status: {\n ...dataBase.status,\n id: 4,\n name: 'no disponible',\n },\n progress: {\n ...dataBase.progress,\n label: 'Tu curso iniciará el Lunes 16 de Enero de 2023',\n icon: 'schedule',\n },\n dateStatus: {\n init: 'Inicia 17 ene 2022',\n end: '',\n hasDates: true,\n },\n information: [\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n enabled: false,\n },\n labels: [],\n },\n noDisponible3: {\n ...dataBase,\n background: 'https://cdn.eclass.com/img/cursos/default3.png',\n logo: 'https://cdn.eclass.com/img/productos/logos/logo-eclass-academy-square.jpg',\n id: 10,\n hasFinanzeFreezed: false,\n Profile: {\n id: 1,\n name: 'Administrador',\n },\n status: {\n ...dataBase.status,\n id: 4,\n name: 'no disponible',\n },\n progress: {\n ...dataBase.progress,\n label: 'Tu curso iniciará el Lunes 16 de Enero de 2023',\n icon: 'schedule',\n },\n dateStatus: {\n init: 'Inicia 17 ene 2022',\n end: '',\n hasDates: true,\n },\n information: [\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n enabled: false,\n },\n labels: [\n {\n id: 'ADMIN',\n text: 'Curso madre',\n },\n ],\n },\n activado: {\n ...dataBase,\n id: 11,\n hasFinanzeFreezed: false,\n status: {\n ...dataBase.status,\n id: 5,\n name: 'disponible',\n },\n progress: {\n ...dataBase.progress,\n label: '¡Ya puedes ingresar a tu curso y comenzar a estudiar!',\n icon: 'progress',\n progress: 0,\n },\n dateStatus: {\n init: '',\n end: 'Finaliza 16 nov 2023',\n hasDates: true,\n },\n information: [\n {\n icon: 'circularInformation',\n text: 'Información del curso',\n href: '#',\n },\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n targetBlank: true,\n hasIcon: true,\n text: 'Comenzar a estudiar',\n },\n labels: [],\n },\n sinEstudiar: {\n ...dataBase,\n id: 12,\n hasFinanzeFreezed: false,\n logo: '',\n status: {\n ...dataBase.status,\n id: 6,\n name: 'sinEstudiar',\n },\n progress: {\n ...dataBase.progress,\n label: 'Tu curso inició hace 3 días, ¡Comienza a estudiar!',\n icon: 'progress',\n progress: 0,\n },\n dateStatus: {\n init: '',\n end: 'Finaliza 16 nov 2023',\n hasDates: true,\n },\n information: [\n {\n icon: 'circularInformation',\n text: 'Información del curso',\n href: '#',\n },\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n targetBlank: true,\n hasIcon: true,\n text: 'Comenzar a estudiar',\n },\n labels: [],\n },\n sinEstudiar2: {\n ...dataBase,\n id: 13,\n hasFinanzeFreezed: false,\n background: 'https://cdn.eclass.com/img/cursos/default2.png',\n status: {\n ...dataBase.status,\n id: 6,\n name: 'sinEstudiar',\n },\n progress: {\n ...dataBase.progress,\n label: 'Tu curso finaliza en 7 días',\n icon: 'progress',\n progress: 0,\n },\n dateStatus: {\n init: '',\n end: 'Finaliza 16 nov 2023',\n hasDates: true,\n },\n information: [\n {\n icon: 'circularInformation',\n text: 'Información del curso',\n href: '#',\n },\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n targetBlank: true,\n hasIcon: true,\n text: 'Comenzar a estudiar',\n },\n labels: [],\n },\n sinEstudiar3: {\n ...dataBase,\n id: 14,\n hasFinanzeFreezed: false,\n status: {\n ...dataBase.status,\n id: 6,\n name: 'sinEstudiar',\n },\n progress: {\n ...dataBase.progress,\n label: 'Tu curso finaliza mañana a las 23:30 hrs. GMT -04:00',\n icon: 'progress',\n progress: 0,\n },\n dateStatus: {\n init: '',\n end: 'Finaliza 16 nov 2023',\n hasDates: true,\n },\n information: [\n {\n icon: 'circularInformation',\n text: 'Información del curso',\n href: '#',\n },\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n targetBlank: true,\n hasIcon: true,\n text: 'Comenzar a estudiar',\n },\n labels: [],\n },\n sinEstudiar4: {\n ...dataBase,\n logo: 'https://cdn.eclass.com/img/productos/logos/logo-uandes-square.jpg',\n id: 15,\n hasFinanzeFreezed: false,\n status: {\n ...dataBase.status,\n id: 6,\n name: 'sinEstudiar',\n },\n progress: {\n ...dataBase.progress,\n label: 'Tu curso finaliza hoy a las 23:30 hrs. GMT -04:00',\n icon: 'progress',\n progress: 0,\n },\n dateStatus: {\n init: '',\n end: 'Finaliza 16 nov 2023',\n hasDates: true,\n },\n information: [\n {\n icon: 'circularInformation',\n text: 'Información del curso',\n href: '#',\n },\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n targetBlank: true,\n hasIcon: true,\n text: 'Comenzar a estudiar',\n },\n labels: [],\n },\n continuar: {\n ...dataBase,\n id: 16,\n hasFinanzeFreezed: true,\n status: {\n ...dataBase.status,\n id: 7,\n name: 'continuar',\n },\n logo: 'https://cdn.eclass.com/img/productos/logos/logo-eclass-academy-square.jpg',\n progress: {\n ...dataBase.progress,\n label: 'Has completado un 25% de tu curso',\n icon: 'progress',\n progress: 25,\n },\n dateStatus: {\n init: '',\n end: 'Finaliza 16 nov 2023',\n hasDates: true,\n },\n information: [\n {\n icon: 'circularInformation',\n text: 'Información del curso',\n href: '#',\n },\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n targetBlank: true,\n hasIcon: true,\n text: 'Continuar estudiando',\n },\n labels: [],\n },\n continuar2: {\n ...dataBase,\n id: 17,\n hasFinanzeFreezed: false,\n status: {\n ...dataBase.status,\n id: 7,\n name: 'continuar',\n },\n logo: 'https://cdn.eclass.com/files/branding/programa/2119/imagePdf-1628188569.jpg',\n progress: {\n ...dataBase.progress,\n label: 'Has completado un 100% de tu curso',\n icon: 'progress',\n progress: 100,\n },\n dateStatus: {\n init: '',\n end: 'Finaliza 16 nov 2023',\n hasDates: true,\n },\n information: [\n {\n icon: 'circularInformation',\n text: 'Información del curso',\n href: '#',\n },\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n text: 'Ir a mi curso',\n },\n labels: [],\n },\n pendiente: {\n ...dataBase,\n background: 'https://cdn.eclass.com/img/cursos/default3.png',\n id: 18,\n hasFinanzeFreezed: false,\n status: {\n ...dataBase.status,\n id: 8,\n name: 'pendiente',\n },\n progress: {\n ...dataBase.progress,\n label: '¡Curso finalizado! Estamos calculando tu promedio final',\n icon: 'circularInformation',\n },\n dateStatus: {\n init: '',\n end: 'Finaliza 16 nov 2023',\n hasDates: true,\n },\n information: [\n {\n icon: 'circularInformation',\n text: 'Pertenece a: Diplomado en Gestión de la Sustentabilidad en Organizaciones',\n href: '',\n },\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n text: 'Ir a mi curso',\n },\n labels: [],\n },\n terminado: {\n ...dataBase,\n id: 19,\n hasFinanzeFreezed: false,\n status: {\n ...dataBase.status,\n id: 7,\n name: 'QUALIFIED',\n },\n progress: {\n ...dataBase.progress,\n label: 'Curso aprobado con nota',\n icon: 'circularCheck',\n isApproved: true,\n finalGrade: '6,5',\n },\n dateStatus: {\n init: '',\n end: 'Finalizó 16 nov 2023',\n hasDates: true,\n },\n information: [\n {\n icon: 'circularInformation',\n text: 'Pertenece a: Diplomado en Gestión de la Sustentabilidad en Organizaciones',\n href: '',\n },\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n text: 'Ir a mi curso',\n },\n labels: [],\n },\n terminado2: {\n ...dataBase,\n logo: 'https://cdn.eclass.com/img/productos/logos/logo-eclass-academy-square.jpg',\n id: 20,\n hasFinanzeFreezed: false,\n Profile: {\n id: 1,\n name: 'Administrador',\n },\n status: {\n ...dataBase.status,\n id: 7,\n name: 'QUALIFIED',\n },\n progress: {\n ...dataBase.progress,\n label: 'Curso reprobado con nota',\n icon: 'circularCheck',\n isApproved: false,\n finalGrade: '3,5',\n },\n dateStatus: {\n init: '',\n end: 'Finalizó 16 nov 2023',\n hasDates: true,\n },\n information: [\n {\n icon: 'circularInformation',\n text: 'Pertenece a: Diplomado en Gestión de la Sustentabilidad en Organizaciones',\n href: '',\n },\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n text: 'Ir a mi curso',\n },\n labels: [],\n },\n terminado3: {\n ...dataBase,\n id: 21,\n hasFinanzeFreezed: false,\n logo: '',\n status: {\n ...dataBase.status,\n id: 9,\n name: 'terminado',\n },\n progress: {\n ...dataBase.progress,\n label: 'Curso finalizado',\n icon: 'circularCheck',\n },\n dateStatus: {\n init: '',\n end: 'Finalizó 16 nov 2023',\n hasDates: true,\n },\n information: [\n {\n icon: 'circularInformation',\n text: 'Pertenece a: Diplomado en Gestión de la Sustentabilidad en Organizaciones',\n href: '',\n },\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n text: 'Ir a mi curso',\n },\n labels: [],\n },\n proximamente: {\n ...dataBase,\n id: 22,\n hasFinanzeFreezed: false,\n status: {\n ...dataBase.status,\n id: 3,\n name: 'inscripcion',\n },\n progress: {\n ...dataBase.progress,\n label: 'Tu curso iniciara el Lunes 16 de Enero de 2023',\n icon: 'schedule',\n },\n dateStatus: {\n ...dataBase.dateStatus,\n hasDates: true,\n },\n information: [\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n text: 'Ver informacion del curso',\n targetBlank: true,\n },\n soonCourse: {\n show: true,\n text: 'Próximamente',\n },\n labels: [],\n },\n proximamente2: {\n ...dataBase,\n id: 23,\n hasFinanzeFreezed: false,\n status: {\n ...dataBase.status,\n id: 3,\n name: 'inscripcion',\n },\n progress: {\n ...dataBase.progress,\n label: 'Tu curso iniciara el Lunes 16 de Enero de 2023',\n icon: 'schedule',\n },\n dateStatus: {\n ...dataBase.dateStatus,\n hasDates: true,\n },\n information: [\n {\n icon: 'certificate',\n text: 'Certificado por ACHS',\n href: '',\n },\n ],\n action: {\n ...dataBase.action,\n text: 'Ver informacion del curso',\n targetBlank: true,\n },\n soonCourse: {\n show: true,\n text: 'Próximamente',\n },\n labels: [\n {\n id: 'OBLIGATORY',\n text: 'Obligatorio',\n },\n ],\n },\n}\n\nexport const dataFake = Object.keys(dataStates).map((key: string) => dataStates[key])\n","export const PROFILE_STUDENT = 4\n\n/**\n * Valida si se puede acceder al curso, eso depende de dos casos:\n * - Que el curso se encuentre habilitado para acceder\n * - O si tengo un perfil de usuario distinto al de estudiante (revisor, admin, etc)\n *\n * @example\n * isCourseActive(action.enabled, Profile.id)\n */\nexport const isCourseActive = (enabled: boolean, profileID: number = PROFILE_STUDENT): boolean => {\n return enabled || profileID !== PROFILE_STUDENT\n}\n","import { columnGap, wCourse } from '../CourseList'\n\ninterface payload {\n px: string\n rem: string\n remValue: number\n}\n\n/**\n * Obtine max-width que debe tener el wrapper de CourseList\n * @param {number} nCols Por defecto es 4\n * @example\n * maxWidthCoursesList()\n */\nexport function maxWidthCoursesList(nCols: number = 4): payload {\n const maxWidth = nCols * wCourse + columnGap * (nCols - 1)\n return {\n px: `${maxWidth * 16}px`,\n rem: `${maxWidth}rem`,\n remValue: maxWidth,\n }\n}\n","import * as React from 'react'\nimport {\n Modal,\n ModalOverlay,\n ModalContent,\n ModalHeader,\n ModalFooter,\n ModalBody,\n ModalCloseButton,\n Button,\n Text,\n} from '@chakra-ui/react'\n\nimport { vars } from '@theme'\nimport { AlertInfo } from '@/atoms/Icons'\nimport * as Type from '../../types'\n\ninterface PaymentModalProps {\n isOpen: boolean\n onOpen: () => void\n onClose: () => void\n showOverlay: boolean\n modalPaymentText: Type.PaymentText\n}\n\nexport function PaymentModal({\n isOpen,\n onOpen,\n onClose,\n showOverlay,\n modalPaymentText,\n}: PaymentModalProps): JSX.Element | null {\n const cssButton = {\n backgroundColor: 'transparent',\n }\n\n function OverlayTwo(): any {\n return <ModalOverlay bg=\"#2F2F2F\" opacity=\"0.32 !important\" backdropBlur=\"2px\" />\n }\n\n const [overlay, setOverlay] = React.useState(<OverlayTwo />)\n\n React.useEffect(() => {\n if (showOverlay) {\n setOverlay(<OverlayTwo />)\n }\n }, [showOverlay])\n\n return (\n <Modal\n isCentered\n isOpen={isOpen}\n onClose={onClose}\n size=\"xl\"\n blockScrollOnMount={false}\n closeOnOverlayClick={false}\n >\n {overlay}\n <ModalContent marginTop=\"0\" marginBottom={['25.75rem', '15.75rem']}>\n <ModalHeader\n justifyContent=\"center\"\n display=\"flex\"\n flexDirection=\"column\"\n alignItems=\"center\"\n p=\"2rem 2rem 0 2rem\"\n >\n <AlertInfo w=\"52\" h=\"45\" viewBox=\"0 0 45 52\" />\n {modalPaymentText.title}\n </ModalHeader>\n <ModalCloseButton\n size=\"md\"\n color={vars('colors-main-blueGrey')}\n _hover={cssButton}\n _focus={cssButton}\n _active={cssButton}\n />\n <ModalBody p=\"1rem 2rem 2rem 2rem\">\n <Text align=\"center\">{modalPaymentText.body}</Text>\n </ModalBody>\n <ModalFooter\n justifyContent=\"center\"\n borderTop=\"1px solid\"\n borderTopColor={vars('colors-neutral-platinum')}\n p=\"1rem\"\n >\n <Button\n onClick={onClose}\n color={vars('colors-main-deepSkyBlue')}\n backgroundColor=\"transparent\"\n fontWeight=\"500\"\n height=\"auto\"\n lineHeight=\"1.172rem\"\n _hover={cssButton}\n _focus={cssButton}\n _active={cssButton}\n >\n {modalPaymentText.buttonName}\n </Button>\n </ModalFooter>\n </ModalContent>\n </Modal>\n )\n}\n\nModal.displayName = 'Modal'\n","import * as React from 'react'\nimport { Box, Center, Text, useDisclosure } from '@chakra-ui/react'\n\nimport { CourseBoxContext } from '../Boxes/BoxTraditional'\nimport { ArrowRight } from '@icons'\nimport { vars } from '@theme'\nimport { isCourseActive } from '../utils'\nimport { PaymentModal } from './Modal'\nimport * as Type from '../types'\n\nexport function Footer({ modalPaymentText }: Type.FooterProps): JSX.Element | null {\n const { action, Profile, hasFinanzeFreezed } = React.useContext(CourseBoxContext)\n const { isOpen, onOpen, onClose } = useDisclosure()\n const [overlay, setOverlay] = React.useState(false)\n\n const cssButton = {\n backgroundColor: 'transparent',\n }\n\n const handleClick = (): any => {\n setOverlay(true)\n onOpen()\n }\n\n if (action == null) {\n return null\n }\n\n return (\n <Center\n as=\"footer\"\n mt=\"1rem\"\n p=\"1rem\"\n borderTop=\"1px solid\"\n borderTopColor={vars('colors-neutral-platinum')}\n >\n {isCourseActive(action.enabled, Profile?.id) ? (\n <>\n {hasFinanzeFreezed && modalPaymentText ? (\n <Box\n color={vars('colors-main-deepSkyBlue')}\n backgroundColor=\"transparent\"\n fontWeight=\"500\"\n height=\"auto\"\n mr={action.hasIcon ? '1.5rem' : '0'}\n lineHeight=\"1.172rem\"\n p=\"0\"\n zIndex=\"inherit !important\"\n _hover={cssButton}\n _focus={cssButton}\n _active={cssButton}\n onClick={() => handleClick()}\n fontSize=\"1rem !important\"\n >\n {action.text}\n </Box>\n ) : (\n <Text\n color={vars('colors-main-deepSkyBlue')}\n fontWeight=\"500\"\n mr={action.hasIcon ? '1.5rem' : '0'}\n lineHeight=\"1.172rem\"\n mt=\"0\"\n mb=\"0\"\n >\n {action.text}\n </Text>\n )}\n {action.hasIcon && <ArrowRight color={vars('colors-main-deepSkyBlue')} />}\n </>\n ) : (\n <Text\n fontWeight=\"500\"\n lineHeight=\"1.172rem\"\n color={vars('colors-neutral-spanishGrey')}\n m=\"0\"\n >\n {action.text}\n </Text>\n )}\n {modalPaymentText && (\n <PaymentModal\n isOpen={isOpen}\n onClose={onClose}\n showOverlay={overlay}\n onOpen={onOpen}\n modalPaymentText={modalPaymentText}\n />\n )}\n </Center>\n )\n}\n\nFooter.displayName = 'Footer'\n","/* eslint-disable */\nimport { useEffect } from 'react'\n\nexport function useEnterNavigate(): void {\n useEffect(() => {\n const handleKeyDown = (e: KeyboardEvent): void => {\n if (e.key === 'Enter') {\n const active = document.activeElement as HTMLElement | null\n const role = active?.getAttribute('role')\n const href = active?.getAttribute('data-href')\n\n const isFocusableLink =\n active?.classList?.contains('chakra-linkbox') ||\n active?.classList?.contains('focusable-link')\n\n if (role === 'link' && href != null && isFocusableLink) {\n window.location.href = href\n }\n }\n }\n\n window.addEventListener('keydown', handleKeyDown)\n return () => {\n window.removeEventListener('keydown', handleKeyDown)\n }\n }, [])\n}\n","import * as React from 'react'\nimport { LinkBox, Box, Flex, LinkOverlay } from '@chakra-ui/react'\n\nimport { Header, Section, Footer } from '../components'\nimport { Ripples } from '@atoms'\nimport { vars } from '@theme'\nimport { isCourseActive } from '../utils'\nimport * as Type from '../types'\nimport { useEnterNavigate } from '../utils/useEnterNavigate'\n\nexport const CourseBoxContext = React.createContext<Partial<Type.ExtendAcademicList>>({})\n\ninterface WithRipplesProps {\n enabled: boolean\n children: React.ReactNode\n}\nfunction WithRipples({ enabled, children }: WithRipplesProps): JSX.Element {\n return enabled ? <Ripples>{children}</Ripples> : <>{children}</>\n}\ninterface IBoxTraditional {\n data: Type.ExtendAcademicList\n modalPaymentText?: Type.PaymentText\n}\n\nexport function BoxTraditional({ data, modalPaymentText }: IBoxTraditional): JSX.Element {\n const isClickable = isCourseActive(data.action?.enabled ?? false, data.Profile?.id)\n const hasHref = !!data.action?.href\n\n useEnterNavigate()\n\n const cssActive = {\n boxShadow: `0 2px 7px 0 ${vars('colors-neutral-silverSand')}`,\n }\n\n return (\n <CourseBoxContext.Provider value={data}>\n <LinkBox\n as=\"article\"\n className=\"focusable-link\"\n border={vars('borders-light')}\n borderRadius={vars('radii-big')}\n cursor={isClickable ? 'pointer' : 'default'}\n transition=\"box-shadow .3s\"\n overflow=\"hidden\"\n _hover={cssActive}\n _focusVisible={{\n boxShadow: `0 0 0 3px ${vars('colors-alert-deepSkyBlue')} inset`,\n }}\n tabIndex={0}\n role={hasHref ? 'link' : undefined}\n data-href={hasHref ? data.action?.href : undefined}\n >\n <WithRipples enabled={isClickable}>\n <Flex direction=\"column\" justify=\"space-between\" h=\"100%\">\n <Box className=\"CourseList-TraditionalBox\">\n {isClickable && hasHref && (\n <LinkOverlay\n className=\"course-link-overlay\"\n bg=\"gray\"\n href={data.action?.href}\n isExternal={data.action?.targetBlank}\n tabIndex={-1}\n />\n )}\n <Header />\n <Section />\n </Box>\n <Footer modalPaymentText={modalPaymentText} />\n </Flex>\n </WithRipples>\n </LinkBox>\n </CourseBoxContext.Provider>\n )\n}\n\nBoxTraditional.displayName = 'BoxTraditional'\n","import { Box, LinkBox, LinkOverlay } from '@chakra-ui/react'\n\nimport { vars } from '@theme'\nimport { Ripples } from '@atoms'\nimport * as Type from '../types'\nimport { isCourseActive } from '../utils'\n\ninterface ImageBoxProps {\n backgroundImg: string\n title: string\n data?: Type.ExtendAcademicList\n size?: 'large' | 'small'\n m?: string\n}\n\n// Componente que agrega efecto al hacer click\ninterface WithRipplesProps {\n enabled: boolean\n children: React.ReactNode\n}\nfunction WithRipples({ enabled, children }: WithRipplesProps): JSX.Element {\n return enabled ? <Ripples>{children}</Ripples> : <>{children}</>\n}\n\nexport function BoxImage({\n backgroundImg,\n title,\n data,\n size = 'large',\n m,\n}: ImageBoxProps): JSX.Element {\n const boxHeight = {\n large: '286px',\n small: '197px',\n }\n return (\n <WithRipples enabled={isCourseActive(data?.action?.enabled ?? false, data?.Profile?.id)}>\n <LinkBox\n className=\"CourseList-ImageBox\"\n _focusVisible={{\n boxShadow: `0 0 0 3px ${vars('colors-alert-deepSkyBlue')} inset`,\n }}\n tabIndex={0}\n sx={{\n backgroundImage: `linear-gradient(to bottom, rgba(0,0,0,0) 35%, rgba(0,0,0,1) 100%), url(${backgroundImg})`,\n color: vars('colors-neutral-white'),\n cursor: 'pointer',\n height: boxHeight[size], // Customize the height based on the type prop\n backgroundSize: 'cover',\n backgroundPosition: 'center',\n borderRadius: '10px',\n padding: '16px',\n display: 'flex',\n font: 'Roboto',\n flexDirection: 'column',\n margin: m,\n justifyContent: 'end',\n textAlign: 'left',\n\n a: {\n '&:active': {\n boxShadow: 'none',\n },\n },\n }}\n >\n {!data?.hasFinanzeFreezed &&\n isCourseActive(data?.action?.enabled ?? false, data?.Profile?.id) && (\n <LinkOverlay\n href={data?.action?.href}\n isExternal={data?.action?.targetBlank}\n tabIndex={-1}\n />\n )}\n\n <Box className=\"textBox\" bottom=\"20px\" display=\"flex\" flexDirection=\"column\" gap=\"8px\">\n <Box\n as=\"h2\"\n className=\"courseName\"\n fontWeight=\"700\"\n fontSize=\"16px\"\n lineHeight=\"21px\"\n marginBlockEnd=\"0\"\n margin=\"0\"\n >\n {title}\n </Box>\n\n {data?.information?.map(\n (item, index) =>\n item.icon === 'certificate' && (\n <Box\n as=\"p\"\n className=\"certificateText\"\n fontSize=\"14px\"\n fontWeight=\"400\"\n lineHeight=\"12px\"\n margin=\"0\"\n key={index}\n >\n {item.text}\n </Box>\n )\n )}\n </Box>\n </LinkBox>\n </WithRipples>\n )\n}\n\nBoxImage.displayName = 'BoxImage'\n","import { ExtendAcademicList, WrapperCoursesProps } from '../types'\nimport { BoxTraditional } from './BoxTraditional'\nimport { BoxImage } from './BoxImage'\n\ninterface IBoxes {\n type: WrapperCoursesProps['typeBox']\n modalPaymentText: WrapperCoursesProps['modalPaymentText']\n data: ExtendAcademicList\n}\nexport const Boxes = ({ type = 'TRADITIONAL', data, modalPaymentText }: IBoxes): JSX.Element => {\n const common = { data, modalPaymentText }\n\n const commonImg = {\n data,\n backgroundImg: data.background ?? '',\n title: data.name ?? '',\n }\n\n const typeBox = {\n TRADITIONAL: <BoxTraditional {...common} />,\n TRADITIONAL_LANDSCAPE: <BoxTraditional {...common} />,\n IMAGE_LARGE: <BoxImage {...commonImg} />,\n IMAGE_SMALL: <BoxImage {...commonImg} size=\"small\" />,\n }\n\n return typeBox[type]\n}\n","import { Box } from '@chakra-ui/react'\n\nimport { Boxes } from './Boxes'\nimport * as Type from './types'\n\nexport const columnGap = 1.25 // 20px\nexport const wCourse = 17.8125 // 285px\n\n/**\n * Retorna listado de cursos.\n * @example\n * <CourseList courses={courses} />\n *\n * Tener en cuenta el width del padre donde se pondra este componente, utilizar método maxWidthCoursesList\n * @see src/organisms/CourseList/maxWidthCoursesList.ts\n */\nexport function CourseList({\n courses,\n modalPaymentText,\n m = '0 auto',\n typeBox = 'TRADITIONAL',\n}: Type.WrapperCoursesProps): JSX.Element | null {\n if (courses === undefined) {\n return null\n }\n\n return (\n <Box\n className=\"courseListBox\"\n display=\"grid\"\n gridColumnGap={`${columnGap}rem`}\n gridRowGap=\"1.75rem\"\n gridTemplateColumns={`repeat(auto-fill, minmax(${wCourse}rem, 1fr))`}\n m={m}\n w=\"100%\"\n >\n {courses?.map((course: Type.ExtendAcademicList) => (\n <Boxes data={course} type={typeBox} modalPaymentText={modalPaymentText} key={course.id} />\n ))}\n </Box>\n )\n}\n\nCourseList.displayName = 'CourseList'\n","/*! @license DOMPurify 3.3.1 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.1/LICENSE */\n\nconst {\n entries,\n setPrototypeOf,\n isFrozen,\n getPrototypeOf,\n getOwnPropertyDescriptor\n} = Object;\nlet {\n freeze,\n seal,\n create\n} = Object; // eslint-disable-line import/no-mutable-exports\nlet {\n apply,\n construct\n} = typeof Reflect !== 'undefined' && Reflect;\nif (!freeze) {\n freeze = function freeze(x) {\n return x;\n };\n}\nif (!seal) {\n seal = function seal(x) {\n return x;\n };\n}\nif (!apply) {\n apply = function apply(func, thisArg) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n return func.apply(thisArg, args);\n };\n}\nif (!construct) {\n construct = function construct(Func) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n return new Func(...args);\n };\n}\nconst arrayForEach = unapply(Array.prototype.forEach);\nconst arrayLastIndexOf = unapply(Array.prototype.lastIndexOf);\nconst arrayPop = unapply(Array.prototype.pop);\nconst arrayPush = unapply(Array.prototype.push);\nconst arraySplice = unapply(Array.prototype.splice);\nconst stringToLowerCase = unapply(String.prototype.toLowerCase);\nconst stringToString = unapply(String.prototype.toString);\nconst stringMatch = unapply(String.prototype.match);\nconst stringReplace = unapply(String.prototype.replace);\nconst stringIndexOf = unapply(String.prototype.indexOf);\nconst stringTrim = unapply(String.prototype.trim);\nconst objectHasOwnProperty = unapply(Object.prototype.hasOwnProperty);\nconst regExpTest = unapply(RegExp.prototype.test);\nconst typeErrorCreate = unconstruct(TypeError);\n/**\n * Creates a new function that calls the given function with a specified thisArg and arguments.\n *\n * @param func - The function to be wrapped and called.\n * @returns A new function that calls the given function with a specified thisArg and arguments.\n */\nfunction unapply(func) {\n return function (thisArg) {\n if (thisArg instanceof RegExp) {\n thisArg.lastIndex = 0;\n }\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n return apply(func, thisArg, args);\n };\n}\n/**\n * Creates a new function that constructs an instance of the given constructor function with the provided arguments.\n *\n * @param func - The constructor function to be wrapped and called.\n * @returns A new function that constructs an instance of the given constructor function with the provided arguments.\n */\nfunction unconstruct(Func) {\n return function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return construct(Func, args);\n };\n}\n/**\n * Add properties to a lookup table\n *\n * @param set - The set to which elements will be added.\n * @param array - The array containing elements to be added to the set.\n * @param transformCaseFunc - An optional function to transform the case of each element before adding to the set.\n * @returns The modified set with added elements.\n */\nfunction addToSet(set, array) {\n let transformCaseFunc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : stringToLowerCase;\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n let l = array.length;\n while (l--) {\n let element = array[l];\n if (typeof element === 'string') {\n const lcElement = transformCaseFunc(element);\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n element = lcElement;\n }\n }\n set[element] = true;\n }\n return set;\n}\n/**\n * Clean up an array to harden against CSPP\n *\n * @param array - The array to be cleaned.\n * @returns The cleaned version of the array\n */\nfunction cleanArray(array) {\n for (let index = 0; index < array.length; index++) {\n const isPropertyExist = objectHasOwnProperty(array, index);\n if (!isPropertyExist) {\n array[index] = null;\n }\n }\n return array;\n}\n/**\n * Shallow clone an object\n *\n * @param object - The object to be cloned.\n * @returns A new object that copies the original.\n */\nfunction clone(object) {\n const newObject = create(null);\n for (const [property, value] of entries(object)) {\n const isPropertyExist = objectHasOwnProperty(object, property);\n if (isPropertyExist) {\n if (Array.isArray(value)) {\n newObject[property] = cleanArray(value);\n } else if (value && typeof value === 'object' && value.constructor === Object) {\n newObject[property] = clone(value);\n } else {\n newObject[property] = value;\n }\n }\n }\n return newObject;\n}\n/**\n * This method automatically checks if the prop is function or getter and behaves accordingly.\n *\n * @param object - The object to look up the getter function in its prototype chain.\n * @param prop - The property name for which to find the getter function.\n * @returns The getter function found in the prototype chain or a fallback function.\n */\nfunction lookupGetter(object, prop) {\n while (object !== null) {\n const desc = getOwnPropertyDescriptor(object, prop);\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n object = getPrototypeOf(object);\n }\n function fallbackValue() {\n return null;\n }\n return fallbackValue;\n}\n\nconst html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'search', 'section', 'select', 'shadow', 'slot', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);\nconst svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'enterkeyhint', 'exportparts', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'inputmode', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'part', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);\nconst svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);\n// List of SVG elements that are disallowed by default.\n// We still need to know them so that we can do namespace\n// checks properly in case one wants to add them to\n// allow-list.\nconst svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);\nconst mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover', 'mprescripts']);\n// Similarly to SVG, we want to know all MathML elements,\n// even those that we disallow by default.\nconst mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);\nconst text = freeze(['#text']);\n\nconst html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'exportparts', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inert', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'part', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'slot', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns', 'slot']);\nconst svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'mask-type', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);\nconst mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);\nconst xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);\n\n// eslint-disable-next-line unicorn/better-regex\nconst MUSTACHE_EXPR = seal(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\nconst ERB_EXPR = seal(/<%[\\w\\W]*|[\\w\\W]*%>/gm);\nconst TMPLIT_EXPR = seal(/\\$\\{[\\w\\W]*/gm); // eslint-disable-line unicorn/better-regex\nconst DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]+$/); // eslint-disable-line no-useless-escape\nconst ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\nconst IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nconst IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nconst ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n);\nconst DOCTYPE_NAME = seal(/^html$/i);\nconst CUSTOM_ELEMENT = seal(/^[a-z][.\\w]*(-[.\\w]+)+$/i);\n\nvar EXPRESSIONS = /*#__PURE__*/Object.freeze({\n __proto__: null,\n ARIA_ATTR: ARIA_ATTR,\n ATTR_WHITESPACE: ATTR_WHITESPACE,\n CUSTOM_ELEMENT: CUSTOM_ELEMENT,\n DATA_ATTR: DATA_ATTR,\n DOCTYPE_NAME: DOCTYPE_NAME,\n ERB_EXPR: ERB_EXPR,\n IS_ALLOWED_URI: IS_ALLOWED_URI,\n IS_SCRIPT_OR_DATA: IS_SCRIPT_OR_DATA,\n MUSTACHE_EXPR: MUSTACHE_EXPR,\n TMPLIT_EXPR: TMPLIT_EXPR\n});\n\n/* eslint-disable @typescript-eslint/indent */\n// https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\nconst NODE_TYPE = {\n element: 1,\n attribute: 2,\n text: 3,\n cdataSection: 4,\n entityReference: 5,\n // Deprecated\n entityNode: 6,\n // Deprecated\n progressingInstruction: 7,\n comment: 8,\n document: 9,\n documentType: 10,\n documentFragment: 11,\n notation: 12 // Deprecated\n};\nconst getGlobal = function getGlobal() {\n return typeof window === 'undefined' ? null : window;\n};\n/**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param trustedTypes The policy factory.\n * @param purifyHostElement The Script element used to load DOMPurify (to determine policy name suffix).\n * @return The policy created (or null, if Trusted Types\n * are not supported or creating the policy failed).\n */\nconst _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, purifyHostElement) {\n if (typeof trustedTypes !== 'object' || typeof trustedTypes.createPolicy !== 'function') {\n return null;\n }\n // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n let suffix = null;\n const ATTR_NAME = 'data-tt-policy-suffix';\n if (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) {\n suffix = purifyHostElement.getAttribute(ATTR_NAME);\n }\n const policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML(html) {\n return html;\n },\n createScriptURL(scriptUrl) {\n return scriptUrl;\n }\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn('TrustedTypes policy ' + policyName + ' could not be created.');\n return null;\n }\n};\nconst _createHooksMap = function _createHooksMap() {\n return {\n afterSanitizeAttributes: [],\n afterSanitizeElements: [],\n afterSanitizeShadowDOM: [],\n beforeSanitizeAttributes: [],\n beforeSanitizeElements: [],\n beforeSanitizeShadowDOM: [],\n uponSanitizeAttribute: [],\n uponSanitizeElement: [],\n uponSanitizeShadowNode: []\n };\n};\nfunction createDOMPurify() {\n let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();\n const DOMPurify = root => createDOMPurify(root);\n DOMPurify.version = '3.3.1';\n DOMPurify.removed = [];\n if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n return DOMPurify;\n }\n let {\n document\n } = window;\n const originalDocument = document;\n const currentScript = originalDocument.currentScript;\n const {\n DocumentFragment,\n HTMLTemplateElement,\n Node,\n Element,\n NodeFilter,\n NamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap,\n HTMLFormElement,\n DOMParser,\n trustedTypes\n } = window;\n const ElementPrototype = Element.prototype;\n const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n const remove = lookupGetter(ElementPrototype, 'remove');\n const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n const getParentNode = lookupGetter(ElementPrototype, 'parentNode');\n // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n if (typeof HTMLTemplateElement === 'function') {\n const template = document.createElement('template');\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n let trustedTypesPolicy;\n let emptyHTML = '';\n const {\n implementation,\n createNodeIterator,\n createDocumentFragment,\n getElementsByTagName\n } = document;\n const {\n importNode\n } = originalDocument;\n let hooks = _createHooksMap();\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n DOMPurify.isSupported = typeof entries === 'function' && typeof getParentNode === 'function' && implementation && implementation.createHTMLDocument !== undefined;\n const {\n MUSTACHE_EXPR,\n ERB_EXPR,\n TMPLIT_EXPR,\n DATA_ATTR,\n ARIA_ATTR,\n IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE,\n CUSTOM_ELEMENT\n } = EXPRESSIONS;\n let {\n IS_ALLOWED_URI: IS_ALLOWED_URI$1\n } = EXPRESSIONS;\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n /* allowed element names */\n let ALLOWED_TAGS = null;\n const DEFAULT_ALLOWED_TAGS = addToSet({}, [...html$1, ...svg$1, ...svgFilters, ...mathMl$1, ...text]);\n /* Allowed attribute names */\n let ALLOWED_ATTR = null;\n const DEFAULT_ALLOWED_ATTR = addToSet({}, [...html, ...svg, ...mathMl, ...xml]);\n /*\n * Configure how DOMPurify should handle custom elements and their attributes as well as customized built-in elements.\n * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)\n * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)\n * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.\n */\n let CUSTOM_ELEMENT_HANDLING = Object.seal(create(null, {\n tagNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n attributeNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n allowCustomizedBuiltInElements: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: false\n }\n }));\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n let FORBID_TAGS = null;\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n let FORBID_ATTR = null;\n /* Config object to store ADD_TAGS/ADD_ATTR functions (when used as functions) */\n const EXTRA_ELEMENT_HANDLING = Object.seal(create(null, {\n tagCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n attributeCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n }\n }));\n /* Decide if ARIA attributes are okay */\n let ALLOW_ARIA_ATTR = true;\n /* Decide if custom data attributes are okay */\n let ALLOW_DATA_ATTR = true;\n /* Decide if unknown protocols are okay */\n let ALLOW_UNKNOWN_PROTOCOLS = false;\n /* Decide if self-closing tags in attributes are allowed.\n * Usually removed due to a mXSS issue in jQuery 3.0 */\n let ALLOW_SELF_CLOSE_IN_ATTR = true;\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n let SAFE_FOR_TEMPLATES = false;\n /* Output should be safe even for XML used within HTML and alike.\n * This means, DOMPurify removes comments when containing risky content.\n */\n let SAFE_FOR_XML = true;\n /* Decide if document with <html>... should be returned */\n let WHOLE_DOCUMENT = false;\n /* Track whether config is already set on this instance of DOMPurify. */\n let SET_CONFIG = false;\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n let FORCE_BODY = false;\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n let RETURN_DOM = false;\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n let RETURN_DOM_FRAGMENT = false;\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n let RETURN_TRUSTED_TYPE = false;\n /* Output should be free from DOM clobbering attacks?\n * This sanitizes markups named with colliding, clobberable built-in DOM APIs.\n */\n let SANITIZE_DOM = true;\n /* Achieve full DOM Clobbering protection by isolating the namespace of named\n * properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules.\n *\n * HTML/DOM spec rules that enable DOM Clobbering:\n * - Named Access on Window (§7.3.3)\n * - DOM Tree Accessors (§3.1.5)\n * - Form Element Parent-Child Relations (§4.10.3)\n * - Iframe srcdoc / Nested WindowProxies (§4.8.5)\n * - HTMLCollection (§4.2.10.2)\n *\n * Namespace isolation is implemented by prefixing `id` and `name` attributes\n * with a constant string, i.e., `user-content-`\n */\n let SANITIZE_NAMED_PROPS = false;\n const SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n /* Keep element content when removing element? */\n let KEEP_CONTENT = true;\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n let IN_PLACE = false;\n /* Allow usage of profiles like html, svg and mathMl */\n let USE_PROFILES = {};\n /* Tags to ignore content of when KEEP_CONTENT is true */\n let FORBID_CONTENTS = null;\n const DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);\n /* Tags that are safe for data: URIs */\n let DATA_URI_TAGS = null;\n const DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);\n /* Attributes safe for values like \"javascript:\" */\n let URI_SAFE_ATTRIBUTES = null;\n const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'role', 'summary', 'title', 'value', 'style', 'xmlns']);\n const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n /* Document namespace */\n let NAMESPACE = HTML_NAMESPACE;\n let IS_EMPTY_INPUT = false;\n /* Allowed XHTML+XML namespaces */\n let ALLOWED_NAMESPACES = null;\n const DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString);\n let MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);\n let HTML_INTEGRATION_POINTS = addToSet({}, ['annotation-xml']);\n // Certain elements are allowed in both SVG and HTML\n // namespace. We need to specify them explicitly\n // so that they don't get erroneously deleted from\n // HTML namespace.\n const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ['title', 'style', 'font', 'a', 'script']);\n /* Parsing of strict XHTML documents */\n let PARSER_MEDIA_TYPE = null;\n const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n const DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n let transformCaseFunc = null;\n /* Keep a reference to config to pass to hooks */\n let CONFIG = null;\n /* Ideally, do not touch anything below this line */\n /* ______________________________________________ */\n const formElement = document.createElement('form');\n const isRegexOrFunction = function isRegexOrFunction(testValue) {\n return testValue instanceof RegExp || testValue instanceof Function;\n };\n /**\n * _parseConfig\n *\n * @param cfg optional config literal\n */\n // eslint-disable-next-line complexity\n const _parseConfig = function _parseConfig() {\n let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n /* Shield configuration object from tampering */\n if (!cfg || typeof cfg !== 'object') {\n cfg = {};\n }\n /* Shield configuration object from prototype pollution */\n cfg = clone(cfg);\n PARSER_MEDIA_TYPE =\n // eslint-disable-next-line unicorn/prefer-includes\n SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? DEFAULT_PARSER_MEDIA_TYPE : cfg.PARSER_MEDIA_TYPE;\n // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.\n transformCaseFunc = PARSER_MEDIA_TYPE === 'application/xhtml+xml' ? stringToString : stringToLowerCase;\n /* Set configuration parameters */\n ALLOWED_TAGS = objectHasOwnProperty(cfg, 'ALLOWED_TAGS') ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR = objectHasOwnProperty(cfg, 'ALLOWED_ATTR') ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR;\n ALLOWED_NAMESPACES = objectHasOwnProperty(cfg, 'ALLOWED_NAMESPACES') ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString) : DEFAULT_ALLOWED_NAMESPACES;\n URI_SAFE_ATTRIBUTES = objectHasOwnProperty(cfg, 'ADD_URI_SAFE_ATTR') ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR, transformCaseFunc) : DEFAULT_URI_SAFE_ATTRIBUTES;\n DATA_URI_TAGS = objectHasOwnProperty(cfg, 'ADD_DATA_URI_TAGS') ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS, transformCaseFunc) : DEFAULT_DATA_URI_TAGS;\n FORBID_CONTENTS = objectHasOwnProperty(cfg, 'FORBID_CONTENTS') ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;\n FORBID_TAGS = objectHasOwnProperty(cfg, 'FORBID_TAGS') ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : clone({});\n FORBID_ATTR = objectHasOwnProperty(cfg, 'FORBID_ATTR') ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : clone({});\n USE_PROFILES = objectHasOwnProperty(cfg, 'USE_PROFILES') ? cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; // Default true\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n SAFE_FOR_XML = cfg.SAFE_FOR_XML !== false; // Default true\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n IS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI;\n NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n MATHML_TEXT_INTEGRATION_POINTS = cfg.MATHML_TEXT_INTEGRATION_POINTS || MATHML_TEXT_INTEGRATION_POINTS;\n HTML_INTEGRATION_POINTS = cfg.HTML_INTEGRATION_POINTS || HTML_INTEGRATION_POINTS;\n CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {};\n if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;\n }\n if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;\n }\n if (cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements === 'boolean') {\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;\n }\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n /* Parse profile info */\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, text);\n ALLOWED_ATTR = [];\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, html$1);\n addToSet(ALLOWED_ATTR, html);\n }\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, svg$1);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, svgFilters);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, mathMl$1);\n addToSet(ALLOWED_ATTR, mathMl);\n addToSet(ALLOWED_ATTR, xml);\n }\n }\n /* Merge configuration parameters */\n if (cfg.ADD_TAGS) {\n if (typeof cfg.ADD_TAGS === 'function') {\n EXTRA_ELEMENT_HANDLING.tagCheck = cfg.ADD_TAGS;\n } else {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n }\n }\n if (cfg.ADD_ATTR) {\n if (typeof cfg.ADD_ATTR === 'function') {\n EXTRA_ELEMENT_HANDLING.attributeCheck = cfg.ADD_ATTR;\n } else {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n }\n }\n if (cfg.ADD_URI_SAFE_ATTR) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);\n }\n if (cfg.FORBID_CONTENTS) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);\n }\n if (cfg.ADD_FORBID_CONTENTS) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n addToSet(FORBID_CONTENTS, cfg.ADD_FORBID_CONTENTS, transformCaseFunc);\n }\n /* Add #text in case KEEP_CONTENT is set to true */\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n }\n if (cfg.TRUSTED_TYPES_POLICY) {\n if (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== 'function') {\n throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.');\n }\n if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== 'function') {\n throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.');\n }\n // Overwrite existing TrustedTypes policy.\n trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;\n // Sign local variables required by `sanitize`.\n emptyHTML = trustedTypesPolicy.createHTML('');\n } else {\n // Uninitialized policy, attempt to initialize the internal dompurify policy.\n if (trustedTypesPolicy === undefined) {\n trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript);\n }\n // If creating the internal policy succeeded sign internal variables.\n if (trustedTypesPolicy !== null && typeof emptyHTML === 'string') {\n emptyHTML = trustedTypesPolicy.createHTML('');\n }\n }\n // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n if (freeze) {\n freeze(cfg);\n }\n CONFIG = cfg;\n };\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n const ALL_SVG_TAGS = addToSet({}, [...svg$1, ...svgFilters, ...svgDisallowed]);\n const ALL_MATHML_TAGS = addToSet({}, [...mathMl$1, ...mathMlDisallowed]);\n /**\n * @param element a DOM element whose namespace is being checked\n * @returns Return false if the element has a\n * namespace that a spec-compliant parser would never\n * return. Return true otherwise.\n */\n const _checkValidNamespace = function _checkValidNamespace(element) {\n let parent = getParentNode(element);\n // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: NAMESPACE,\n tagName: 'template'\n };\n }\n const tagName = stringToLowerCase(element.tagName);\n const parentTagName = stringToLowerCase(parent.tagName);\n if (!ALLOWED_NAMESPACES[element.namespaceURI]) {\n return false;\n }\n if (element.namespaceURI === SVG_NAMESPACE) {\n // The only way to switch from HTML namespace to SVG\n // is via <svg>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'svg';\n }\n // The only way to switch from MathML to SVG is via`\n // svg if parent is either <annotation-xml> or MathML\n // text integration points.\n if (parent.namespaceURI === MATHML_NAMESPACE) {\n return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);\n }\n // We only allow elements that are defined in SVG\n // spec. All others are disallowed in SVG namespace.\n return Boolean(ALL_SVG_TAGS[tagName]);\n }\n if (element.namespaceURI === MATHML_NAMESPACE) {\n // The only way to switch from HTML namespace to MathML\n // is via <math>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'math';\n }\n // The only way to switch from SVG to MathML is via\n // <math> and HTML integration points\n if (parent.namespaceURI === SVG_NAMESPACE) {\n return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n }\n // We only allow elements that are defined in MathML\n // spec. All others are disallowed in MathML namespace.\n return Boolean(ALL_MATHML_TAGS[tagName]);\n }\n if (element.namespaceURI === HTML_NAMESPACE) {\n // The only way to switch from SVG to HTML is via\n // HTML integration points, and from MathML to HTML\n // is via MathML text integration points\n if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n // We disallow tags that are specific for MathML\n // or SVG and should never appear in HTML namespace\n return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);\n }\n // For XHTML and XML documents that support custom namespaces\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && ALLOWED_NAMESPACES[element.namespaceURI]) {\n return true;\n }\n // The code should never reach this place (this means\n // that the element somehow got namespace that is not\n // HTML, SVG, MathML or allowed via ALLOWED_NAMESPACES).\n // Return false just in case.\n return false;\n };\n /**\n * _forceRemove\n *\n * @param node a DOM node\n */\n const _forceRemove = function _forceRemove(node) {\n arrayPush(DOMPurify.removed, {\n element: node\n });\n try {\n // eslint-disable-next-line unicorn/prefer-dom-node-remove\n getParentNode(node).removeChild(node);\n } catch (_) {\n remove(node);\n }\n };\n /**\n * _removeAttribute\n *\n * @param name an Attribute name\n * @param element a DOM node\n */\n const _removeAttribute = function _removeAttribute(name, element) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: element.getAttributeNode(name),\n from: element\n });\n } catch (_) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: element\n });\n }\n element.removeAttribute(name);\n // We void attribute values for unremovable \"is\" attributes\n if (name === 'is') {\n if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n try {\n _forceRemove(element);\n } catch (_) {}\n } else {\n try {\n element.setAttribute(name, '');\n } catch (_) {}\n }\n }\n };\n /**\n * _initDocument\n *\n * @param dirty - a string of dirty markup\n * @return a DOM, filled with the dirty markup\n */\n const _initDocument = function _initDocument(dirty) {\n /* Create a HTML document */\n let doc = null;\n let leadingWhitespace = null;\n if (FORCE_BODY) {\n dirty = '<remove></remove>' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n const matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n leadingWhitespace = matches && matches[0];\n }\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && NAMESPACE === HTML_NAMESPACE) {\n // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)\n dirty = '<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>' + dirty + '</body></html>';\n }\n const dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;\n /*\n * Use the DOMParser API by default, fallback later if needs be\n * DOMParser not work for svg when has multiple root element.\n */\n if (NAMESPACE === HTML_NAMESPACE) {\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n } catch (_) {}\n }\n /* Use createHTMLDocument in case DOMParser is not available */\n if (!doc || !doc.documentElement) {\n doc = implementation.createDocument(NAMESPACE, 'template', null);\n try {\n doc.documentElement.innerHTML = IS_EMPTY_INPUT ? emptyHTML : dirtyPayload;\n } catch (_) {\n // Syntax error if dirtyPayload is invalid xml\n }\n }\n const body = doc.body || doc.documentElement;\n if (dirty && leadingWhitespace) {\n body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null);\n }\n /* Work on whole document or just its body */\n if (NAMESPACE === HTML_NAMESPACE) {\n return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];\n }\n return WHOLE_DOCUMENT ? doc.documentElement : body;\n };\n /**\n * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document.\n *\n * @param root The root element or node to start traversing on.\n * @return The created NodeIterator\n */\n const _createNodeIterator = function _createNodeIterator(root) {\n return createNodeIterator.call(root.ownerDocument || root, root,\n // eslint-disable-next-line no-bitwise\n NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT | NodeFilter.SHOW_PROCESSING_INSTRUCTION | NodeFilter.SHOW_CDATA_SECTION, null);\n };\n /**\n * _isClobbered\n *\n * @param element element to check for clobbering attacks\n * @return true if clobbered, false if safe\n */\n const _isClobbered = function _isClobbered(element) {\n return element instanceof HTMLFormElement && (typeof element.nodeName !== 'string' || typeof element.textContent !== 'string' || typeof element.removeChild !== 'function' || !(element.attributes instanceof NamedNodeMap) || typeof element.removeAttribute !== 'function' || typeof element.setAttribute !== 'function' || typeof element.namespaceURI !== 'string' || typeof element.insertBefore !== 'function' || typeof element.hasChildNodes !== 'function');\n };\n /**\n * Checks whether the given object is a DOM node.\n *\n * @param value object to check whether it's a DOM node\n * @return true is object is a DOM node\n */\n const _isNode = function _isNode(value) {\n return typeof Node === 'function' && value instanceof Node;\n };\n function _executeHooks(hooks, currentNode, data) {\n arrayForEach(hooks, hook => {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n }\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n * @param currentNode to check for permission to exist\n * @return true if node was killed, false if left alive\n */\n const _sanitizeElements = function _sanitizeElements(currentNode) {\n let content = null;\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeElements, currentNode, null);\n /* Check if element is clobbered or can clobber */\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Now let's check the element's type and name */\n const tagName = transformCaseFunc(currentNode.nodeName);\n /* Execute a hook if present */\n _executeHooks(hooks.uponSanitizeElement, currentNode, {\n tagName,\n allowedTags: ALLOWED_TAGS\n });\n /* Detect mXSS attempts abusing namespace confusion */\n if (SAFE_FOR_XML && currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(/<[/\\w!]/g, currentNode.innerHTML) && regExpTest(/<[/\\w!]/g, currentNode.textContent)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Remove any occurrence of processing instructions */\n if (currentNode.nodeType === NODE_TYPE.progressingInstruction) {\n _forceRemove(currentNode);\n return true;\n }\n /* Remove any kind of possibly harmful comments */\n if (SAFE_FOR_XML && currentNode.nodeType === NODE_TYPE.comment && regExpTest(/<[/\\w]/g, currentNode.data)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Remove element if anything forbids its presence */\n if (!(EXTRA_ELEMENT_HANDLING.tagCheck instanceof Function && EXTRA_ELEMENT_HANDLING.tagCheck(tagName)) && (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName])) {\n /* Check if we have a custom element to handle */\n if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {\n if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {\n return false;\n }\n if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) {\n return false;\n }\n }\n /* Keep content except for bad-listed elements */\n if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {\n const parentNode = getParentNode(currentNode) || currentNode.parentNode;\n const childNodes = getChildNodes(currentNode) || currentNode.childNodes;\n if (childNodes && parentNode) {\n const childCount = childNodes.length;\n for (let i = childCount - 1; i >= 0; --i) {\n const childClone = cloneNode(childNodes[i], true);\n childClone.__removalCount = (currentNode.__removalCount || 0) + 1;\n parentNode.insertBefore(childClone, getNextSibling(currentNode));\n }\n }\n }\n _forceRemove(currentNode);\n return true;\n }\n /* Check whether element has a valid namespace */\n if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Make sure that older browsers don't get fallback-tag mXSS */\n if ((tagName === 'noscript' || tagName === 'noembed' || tagName === 'noframes') && regExpTest(/<\\/no(script|embed|frames)/i, currentNode.innerHTML)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Sanitize element content to be template-safe */\n if (SAFE_FOR_TEMPLATES && currentNode.nodeType === NODE_TYPE.text) {\n /* Get the element's text content */\n content = currentNode.textContent;\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n content = stringReplace(content, expr, ' ');\n });\n if (currentNode.textContent !== content) {\n arrayPush(DOMPurify.removed, {\n element: currentNode.cloneNode()\n });\n currentNode.textContent = content;\n }\n }\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeElements, currentNode, null);\n return false;\n };\n /**\n * _isValidAttribute\n *\n * @param lcTag Lowercase tag name of containing element.\n * @param lcName Lowercase attribute name.\n * @param value Attribute value.\n * @return Returns true if `value` is valid, otherwise false.\n */\n // eslint-disable-next-line complexity\n const _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {\n /* Make sure attribute cannot clobber */\n if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {\n return false;\n }\n /* Allow valid data-* attributes: At least one character after \"-\"\n (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)\n XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)\n We don't need to check the value; it's always URI safe. */\n if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ; else if (EXTRA_ELEMENT_HANDLING.attributeCheck instanceof Function && EXTRA_ELEMENT_HANDLING.attributeCheck(lcName, lcTag)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {\n if (\n // First condition does a very basic check if a) it's basically a valid custom element tagname AND\n // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck\n _isBasicCustomElement(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName, lcTag)) ||\n // Alternative, second condition checks if it's an `is`-attribute, AND\n // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n lcName === 'is' && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))) ; else {\n return false;\n }\n /* Check value is safe. First, is attr inert? If so, is safe */\n } else if (URI_SAFE_ATTRIBUTES[lcName]) ; else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) ; else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if (value) {\n return false;\n } else ;\n return true;\n };\n /**\n * _isBasicCustomElement\n * checks if at least one dash is included in tagName, and it's not the first char\n * for more sophisticated checking see https://github.com/sindresorhus/validate-element-name\n *\n * @param tagName name of the tag of the node to sanitize\n * @returns Returns true if the tag name meets the basic criteria for a custom element, otherwise false.\n */\n const _isBasicCustomElement = function _isBasicCustomElement(tagName) {\n return tagName !== 'annotation-xml' && stringMatch(tagName, CUSTOM_ELEMENT);\n };\n /**\n * _sanitizeAttributes\n *\n * @protect attributes\n * @protect nodeName\n * @protect removeAttribute\n * @protect setAttribute\n *\n * @param currentNode to sanitize\n */\n const _sanitizeAttributes = function _sanitizeAttributes(currentNode) {\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeAttributes, currentNode, null);\n const {\n attributes\n } = currentNode;\n /* Check if we have attributes; if not we might have a text node */\n if (!attributes || _isClobbered(currentNode)) {\n return;\n }\n const hookEvent = {\n attrName: '',\n attrValue: '',\n keepAttr: true,\n allowedAttributes: ALLOWED_ATTR,\n forceKeepAttr: undefined\n };\n let l = attributes.length;\n /* Go backwards over all attributes; safely remove bad ones */\n while (l--) {\n const attr = attributes[l];\n const {\n name,\n namespaceURI,\n value: attrValue\n } = attr;\n const lcName = transformCaseFunc(name);\n const initValue = attrValue;\n let value = name === 'value' ? initValue : stringTrim(initValue);\n /* Execute a hook if present */\n hookEvent.attrName = lcName;\n hookEvent.attrValue = value;\n hookEvent.keepAttr = true;\n hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set\n _executeHooks(hooks.uponSanitizeAttribute, currentNode, hookEvent);\n value = hookEvent.attrValue;\n /* Full DOM Clobbering protection via namespace isolation,\n * Prefix id and name attributes with `user-content-`\n */\n if (SANITIZE_NAMED_PROPS && (lcName === 'id' || lcName === 'name')) {\n // Remove the attribute with this value\n _removeAttribute(name, currentNode);\n // Prefix the value and later re-create the attribute with the sanitized value\n value = SANITIZE_NAMED_PROPS_PREFIX + value;\n }\n /* Work around a security issue with comments inside attributes */\n if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\\/(style|title|textarea)/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Make sure we cannot easily use animated hrefs, even if animations are allowed */\n if (lcName === 'attributename' && stringMatch(value, 'href')) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Did the hooks approve of the attribute? */\n if (hookEvent.forceKeepAttr) {\n continue;\n }\n /* Did the hooks approve of the attribute? */\n if (!hookEvent.keepAttr) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Work around a security issue in jQuery 3.0 */\n if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\\/>/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Sanitize attribute content to be template-safe */\n if (SAFE_FOR_TEMPLATES) {\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n value = stringReplace(value, expr, ' ');\n });\n }\n /* Is `value` valid for this attribute? */\n const lcTag = transformCaseFunc(currentNode.nodeName);\n if (!_isValidAttribute(lcTag, lcName, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Handle attributes that require Trusted Types */\n if (trustedTypesPolicy && typeof trustedTypes === 'object' && typeof trustedTypes.getAttributeType === 'function') {\n if (namespaceURI) ; else {\n switch (trustedTypes.getAttributeType(lcTag, lcName)) {\n case 'TrustedHTML':\n {\n value = trustedTypesPolicy.createHTML(value);\n break;\n }\n case 'TrustedScriptURL':\n {\n value = trustedTypesPolicy.createScriptURL(value);\n break;\n }\n }\n }\n }\n /* Handle invalid data-* attribute set by try-catching it */\n if (value !== initValue) {\n try {\n if (namespaceURI) {\n currentNode.setAttributeNS(namespaceURI, name, value);\n } else {\n /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. \"x-schema\". */\n currentNode.setAttribute(name, value);\n }\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n } else {\n arrayPop(DOMPurify.removed);\n }\n } catch (_) {\n _removeAttribute(name, currentNode);\n }\n }\n }\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeAttributes, currentNode, null);\n };\n /**\n * _sanitizeShadowDOM\n *\n * @param fragment to iterate over recursively\n */\n const _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) {\n let shadowNode = null;\n const shadowIterator = _createNodeIterator(fragment);\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeShadowDOM, fragment, null);\n while (shadowNode = shadowIterator.nextNode()) {\n /* Execute a hook if present */\n _executeHooks(hooks.uponSanitizeShadowNode, shadowNode, null);\n /* Sanitize tags and elements */\n _sanitizeElements(shadowNode);\n /* Check attributes next */\n _sanitizeAttributes(shadowNode);\n /* Deep shadow DOM detected */\n if (shadowNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(shadowNode.content);\n }\n }\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeShadowDOM, fragment, null);\n };\n // eslint-disable-next-line complexity\n DOMPurify.sanitize = function (dirty) {\n let cfg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let body = null;\n let importedNode = null;\n let currentNode = null;\n let returnNode = null;\n /* Make sure we have a string to sanitize.\n DO NOT return early, as this will return the wrong type if\n the user has requested a DOM object rather than a string */\n IS_EMPTY_INPUT = !dirty;\n if (IS_EMPTY_INPUT) {\n dirty = '<!-->';\n }\n /* Stringify, in case dirty is an object */\n if (typeof dirty !== 'string' && !_isNode(dirty)) {\n if (typeof dirty.toString === 'function') {\n dirty = dirty.toString();\n if (typeof dirty !== 'string') {\n throw typeErrorCreate('dirty is not a string, aborting');\n }\n } else {\n throw typeErrorCreate('toString is not a function');\n }\n }\n /* Return dirty HTML if DOMPurify cannot run */\n if (!DOMPurify.isSupported) {\n return dirty;\n }\n /* Assign config vars */\n if (!SET_CONFIG) {\n _parseConfig(cfg);\n }\n /* Clean up removed elements */\n DOMPurify.removed = [];\n /* Check if dirty is correctly typed for IN_PLACE */\n if (typeof dirty === 'string') {\n IN_PLACE = false;\n }\n if (IN_PLACE) {\n /* Do some early pre-sanitization to avoid unsafe root nodes */\n if (dirty.nodeName) {\n const tagName = transformCaseFunc(dirty.nodeName);\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n throw typeErrorCreate('root node is forbidden and cannot be sanitized in-place');\n }\n }\n } else if (dirty instanceof Node) {\n /* If dirty is a DOM element, append to an empty document to avoid\n elements being stripped by the parser */\n body = _initDocument('<!---->');\n importedNode = body.ownerDocument.importNode(dirty, true);\n if (importedNode.nodeType === NODE_TYPE.element && importedNode.nodeName === 'BODY') {\n /* Node is already a body, use as is */\n body = importedNode;\n } else if (importedNode.nodeName === 'HTML') {\n body = importedNode;\n } else {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n body.appendChild(importedNode);\n }\n } else {\n /* Exit directly if we have nothing to do */\n if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT &&\n // eslint-disable-next-line unicorn/prefer-includes\n dirty.indexOf('<') === -1) {\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;\n }\n /* Initialize the document to work on */\n body = _initDocument(dirty);\n /* Check we have a DOM node from the data */\n if (!body) {\n return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : '';\n }\n }\n /* Remove first element node (ours) if FORCE_BODY is set */\n if (body && FORCE_BODY) {\n _forceRemove(body.firstChild);\n }\n /* Get node iterator */\n const nodeIterator = _createNodeIterator(IN_PLACE ? dirty : body);\n /* Now start iterating over the created document */\n while (currentNode = nodeIterator.nextNode()) {\n /* Sanitize tags and elements */\n _sanitizeElements(currentNode);\n /* Check attributes next */\n _sanitizeAttributes(currentNode);\n /* Shadow DOM detected, sanitize it */\n if (currentNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(currentNode.content);\n }\n }\n /* If we sanitized `dirty` in-place, return it. */\n if (IN_PLACE) {\n return dirty;\n }\n /* Return sanitized string or DOM */\n if (RETURN_DOM) {\n if (RETURN_DOM_FRAGMENT) {\n returnNode = createDocumentFragment.call(body.ownerDocument);\n while (body.firstChild) {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n returnNode.appendChild(body.firstChild);\n }\n } else {\n returnNode = body;\n }\n if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmode) {\n /*\n AdoptNode() is not used because internal state is not reset\n (e.g. the past names map of a HTMLFormElement), this is safe\n in theory but we would rather not risk another attack vector.\n The state that is cloned by importNode() is explicitly defined\n by the specs.\n */\n returnNode = importNode.call(originalDocument, returnNode, true);\n }\n return returnNode;\n }\n let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n /* Serialize doctype if allowed */\n if (WHOLE_DOCUMENT && ALLOWED_TAGS['!doctype'] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) {\n serializedHTML = '<!DOCTYPE ' + body.ownerDocument.doctype.name + '>\\n' + serializedHTML;\n }\n /* Sanitize final string template-safe */\n if (SAFE_FOR_TEMPLATES) {\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n serializedHTML = stringReplace(serializedHTML, expr, ' ');\n });\n }\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;\n };\n DOMPurify.setConfig = function () {\n let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _parseConfig(cfg);\n SET_CONFIG = true;\n };\n DOMPurify.clearConfig = function () {\n CONFIG = null;\n SET_CONFIG = false;\n };\n DOMPurify.isValidAttribute = function (tag, attr, value) {\n /* Initialize shared config vars if necessary. */\n if (!CONFIG) {\n _parseConfig({});\n }\n const lcTag = transformCaseFunc(tag);\n const lcName = transformCaseFunc(attr);\n return _isValidAttribute(lcTag, lcName, value);\n };\n DOMPurify.addHook = function (entryPoint, hookFunction) {\n if (typeof hookFunction !== 'function') {\n return;\n }\n arrayPush(hooks[entryPoint], hookFunction);\n };\n DOMPurify.removeHook = function (entryPoint, hookFunction) {\n if (hookFunction !== undefined) {\n const index = arrayLastIndexOf(hooks[entryPoint], hookFunction);\n return index === -1 ? undefined : arraySplice(hooks[entryPoint], index, 1)[0];\n }\n return arrayPop(hooks[entryPoint]);\n };\n DOMPurify.removeHooks = function (entryPoint) {\n hooks[entryPoint] = [];\n };\n DOMPurify.removeAllHooks = function () {\n hooks = _createHooksMap();\n };\n return DOMPurify;\n}\nvar purify = createDOMPurify();\n\nexport { purify as default };\n//# sourceMappingURL=purify.es.mjs.map\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Doctype = exports.CDATA = exports.Tag = exports.Style = exports.Script = exports.Comment = exports.Directive = exports.Text = exports.Root = exports.isTag = exports.ElementType = void 0;\n/** Types of elements found in htmlparser2's DOM */\nvar ElementType;\n(function (ElementType) {\n /** Type for the root element of a document */\n ElementType[\"Root\"] = \"root\";\n /** Type for Text */\n ElementType[\"Text\"] = \"text\";\n /** Type for <? ... ?> */\n ElementType[\"Directive\"] = \"directive\";\n /** Type for <!-- ... --> */\n ElementType[\"Comment\"] = \"comment\";\n /** Type for <script> tags */\n ElementType[\"Script\"] = \"script\";\n /** Type for <style> tags */\n ElementType[\"Style\"] = \"style\";\n /** Type for Any tag */\n ElementType[\"Tag\"] = \"tag\";\n /** Type for <![CDATA[ ... ]]> */\n ElementType[\"CDATA\"] = \"cdata\";\n /** Type for <!doctype ...> */\n ElementType[\"Doctype\"] = \"doctype\";\n})(ElementType = exports.ElementType || (exports.ElementType = {}));\n/**\n * Tests whether an element is a tag or not.\n *\n * @param elem Element to test\n */\nfunction isTag(elem) {\n return (elem.type === ElementType.Tag ||\n elem.type === ElementType.Script ||\n elem.type === ElementType.Style);\n}\nexports.isTag = isTag;\n// Exports for backwards compatibility\n/** Type for the root element of a document */\nexports.Root = ElementType.Root;\n/** Type for Text */\nexports.Text = ElementType.Text;\n/** Type for <? ... ?> */\nexports.Directive = ElementType.Directive;\n/** Type for <!-- ... --> */\nexports.Comment = ElementType.Comment;\n/** Type for <script> tags */\nexports.Script = ElementType.Script;\n/** Type for <style> tags */\nexports.Style = ElementType.Style;\n/** Type for Any tag */\nexports.Tag = ElementType.Tag;\n/** Type for <![CDATA[ ... ]]> */\nexports.CDATA = ElementType.CDATA;\n/** Type for <!doctype ...> */\nexports.Doctype = ElementType.Doctype;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.cloneNode = exports.hasChildren = exports.isDocument = exports.isDirective = exports.isComment = exports.isText = exports.isCDATA = exports.isTag = exports.Element = exports.Document = exports.CDATA = exports.NodeWithChildren = exports.ProcessingInstruction = exports.Comment = exports.Text = exports.DataNode = exports.Node = void 0;\nvar domelementtype_1 = require(\"domelementtype\");\n/**\n * This object will be used as the prototype for Nodes when creating a\n * DOM-Level-1-compliant structure.\n */\nvar Node = /** @class */ (function () {\n function Node() {\n /** Parent of the node */\n this.parent = null;\n /** Previous sibling */\n this.prev = null;\n /** Next sibling */\n this.next = null;\n /** The start index of the node. Requires `withStartIndices` on the handler to be `true. */\n this.startIndex = null;\n /** The end index of the node. Requires `withEndIndices` on the handler to be `true. */\n this.endIndex = null;\n }\n Object.defineProperty(Node.prototype, \"parentNode\", {\n // Read-write aliases for properties\n /**\n * Same as {@link parent}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.parent;\n },\n set: function (parent) {\n this.parent = parent;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Node.prototype, \"previousSibling\", {\n /**\n * Same as {@link prev}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.prev;\n },\n set: function (prev) {\n this.prev = prev;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Node.prototype, \"nextSibling\", {\n /**\n * Same as {@link next}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.next;\n },\n set: function (next) {\n this.next = next;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Clone this node, and optionally its children.\n *\n * @param recursive Clone child nodes as well.\n * @returns A clone of the node.\n */\n Node.prototype.cloneNode = function (recursive) {\n if (recursive === void 0) { recursive = false; }\n return cloneNode(this, recursive);\n };\n return Node;\n}());\nexports.Node = Node;\n/**\n * A node that contains some data.\n */\nvar DataNode = /** @class */ (function (_super) {\n __extends(DataNode, _super);\n /**\n * @param data The content of the data node\n */\n function DataNode(data) {\n var _this = _super.call(this) || this;\n _this.data = data;\n return _this;\n }\n Object.defineProperty(DataNode.prototype, \"nodeValue\", {\n /**\n * Same as {@link data}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.data;\n },\n set: function (data) {\n this.data = data;\n },\n enumerable: false,\n configurable: true\n });\n return DataNode;\n}(Node));\nexports.DataNode = DataNode;\n/**\n * Text within the document.\n */\nvar Text = /** @class */ (function (_super) {\n __extends(Text, _super);\n function Text() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = domelementtype_1.ElementType.Text;\n return _this;\n }\n Object.defineProperty(Text.prototype, \"nodeType\", {\n get: function () {\n return 3;\n },\n enumerable: false,\n configurable: true\n });\n return Text;\n}(DataNode));\nexports.Text = Text;\n/**\n * Comments within the document.\n */\nvar Comment = /** @class */ (function (_super) {\n __extends(Comment, _super);\n function Comment() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = domelementtype_1.ElementType.Comment;\n return _this;\n }\n Object.defineProperty(Comment.prototype, \"nodeType\", {\n get: function () {\n return 8;\n },\n enumerable: false,\n configurable: true\n });\n return Comment;\n}(DataNode));\nexports.Comment = Comment;\n/**\n * Processing instructions, including doc types.\n */\nvar ProcessingInstruction = /** @class */ (function (_super) {\n __extends(ProcessingInstruction, _super);\n function ProcessingInstruction(name, data) {\n var _this = _super.call(this, data) || this;\n _this.name = name;\n _this.type = domelementtype_1.ElementType.Directive;\n return _this;\n }\n Object.defineProperty(ProcessingInstruction.prototype, \"nodeType\", {\n get: function () {\n return 1;\n },\n enumerable: false,\n configurable: true\n });\n return ProcessingInstruction;\n}(DataNode));\nexports.ProcessingInstruction = ProcessingInstruction;\n/**\n * A `Node` that can have children.\n */\nvar NodeWithChildren = /** @class */ (function (_super) {\n __extends(NodeWithChildren, _super);\n /**\n * @param children Children of the node. Only certain node types can have children.\n */\n function NodeWithChildren(children) {\n var _this = _super.call(this) || this;\n _this.children = children;\n return _this;\n }\n Object.defineProperty(NodeWithChildren.prototype, \"firstChild\", {\n // Aliases\n /** First child of the node. */\n get: function () {\n var _a;\n return (_a = this.children[0]) !== null && _a !== void 0 ? _a : null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(NodeWithChildren.prototype, \"lastChild\", {\n /** Last child of the node. */\n get: function () {\n return this.children.length > 0\n ? this.children[this.children.length - 1]\n : null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(NodeWithChildren.prototype, \"childNodes\", {\n /**\n * Same as {@link children}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.children;\n },\n set: function (children) {\n this.children = children;\n },\n enumerable: false,\n configurable: true\n });\n return NodeWithChildren;\n}(Node));\nexports.NodeWithChildren = NodeWithChildren;\nvar CDATA = /** @class */ (function (_super) {\n __extends(CDATA, _super);\n function CDATA() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = domelementtype_1.ElementType.CDATA;\n return _this;\n }\n Object.defineProperty(CDATA.prototype, \"nodeType\", {\n get: function () {\n return 4;\n },\n enumerable: false,\n configurable: true\n });\n return CDATA;\n}(NodeWithChildren));\nexports.CDATA = CDATA;\n/**\n * The root node of the document.\n */\nvar Document = /** @class */ (function (_super) {\n __extends(Document, _super);\n function Document() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = domelementtype_1.ElementType.Root;\n return _this;\n }\n Object.defineProperty(Document.prototype, \"nodeType\", {\n get: function () {\n return 9;\n },\n enumerable: false,\n configurable: true\n });\n return Document;\n}(NodeWithChildren));\nexports.Document = Document;\n/**\n * An element within the DOM.\n */\nvar Element = /** @class */ (function (_super) {\n __extends(Element, _super);\n /**\n * @param name Name of the tag, eg. `div`, `span`.\n * @param attribs Object mapping attribute names to attribute values.\n * @param children Children of the node.\n */\n function Element(name, attribs, children, type) {\n if (children === void 0) { children = []; }\n if (type === void 0) { type = name === \"script\"\n ? domelementtype_1.ElementType.Script\n : name === \"style\"\n ? domelementtype_1.ElementType.Style\n : domelementtype_1.ElementType.Tag; }\n var _this = _super.call(this, children) || this;\n _this.name = name;\n _this.attribs = attribs;\n _this.type = type;\n return _this;\n }\n Object.defineProperty(Element.prototype, \"nodeType\", {\n get: function () {\n return 1;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Element.prototype, \"tagName\", {\n // DOM Level 1 aliases\n /**\n * Same as {@link name}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.name;\n },\n set: function (name) {\n this.name = name;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Element.prototype, \"attributes\", {\n get: function () {\n var _this = this;\n return Object.keys(this.attribs).map(function (name) {\n var _a, _b;\n return ({\n name: name,\n value: _this.attribs[name],\n namespace: (_a = _this[\"x-attribsNamespace\"]) === null || _a === void 0 ? void 0 : _a[name],\n prefix: (_b = _this[\"x-attribsPrefix\"]) === null || _b === void 0 ? void 0 : _b[name],\n });\n });\n },\n enumerable: false,\n configurable: true\n });\n return Element;\n}(NodeWithChildren));\nexports.Element = Element;\n/**\n * @param node Node to check.\n * @returns `true` if the node is a `Element`, `false` otherwise.\n */\nfunction isTag(node) {\n return (0, domelementtype_1.isTag)(node);\n}\nexports.isTag = isTag;\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `CDATA`, `false` otherwise.\n */\nfunction isCDATA(node) {\n return node.type === domelementtype_1.ElementType.CDATA;\n}\nexports.isCDATA = isCDATA;\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `Text`, `false` otherwise.\n */\nfunction isText(node) {\n return node.type === domelementtype_1.ElementType.Text;\n}\nexports.isText = isText;\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `Comment`, `false` otherwise.\n */\nfunction isComment(node) {\n return node.type === domelementtype_1.ElementType.Comment;\n}\nexports.isComment = isComment;\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `ProcessingInstruction`, `false` otherwise.\n */\nfunction isDirective(node) {\n return node.type === domelementtype_1.ElementType.Directive;\n}\nexports.isDirective = isDirective;\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `ProcessingInstruction`, `false` otherwise.\n */\nfunction isDocument(node) {\n return node.type === domelementtype_1.ElementType.Root;\n}\nexports.isDocument = isDocument;\n/**\n * @param node Node to check.\n * @returns `true` if the node has children, `false` otherwise.\n */\nfunction hasChildren(node) {\n return Object.prototype.hasOwnProperty.call(node, \"children\");\n}\nexports.hasChildren = hasChildren;\n/**\n * Clone a node, and optionally its children.\n *\n * @param recursive Clone child nodes as well.\n * @returns A clone of the node.\n */\nfunction cloneNode(node, recursive) {\n if (recursive === void 0) { recursive = false; }\n var result;\n if (isText(node)) {\n result = new Text(node.data);\n }\n else if (isComment(node)) {\n result = new Comment(node.data);\n }\n else if (isTag(node)) {\n var children = recursive ? cloneChildren(node.children) : [];\n var clone_1 = new Element(node.name, __assign({}, node.attribs), children);\n children.forEach(function (child) { return (child.parent = clone_1); });\n if (node.namespace != null) {\n clone_1.namespace = node.namespace;\n }\n if (node[\"x-attribsNamespace\"]) {\n clone_1[\"x-attribsNamespace\"] = __assign({}, node[\"x-attribsNamespace\"]);\n }\n if (node[\"x-attribsPrefix\"]) {\n clone_1[\"x-attribsPrefix\"] = __assign({}, node[\"x-attribsPrefix\"]);\n }\n result = clone_1;\n }\n else if (isCDATA(node)) {\n var children = recursive ? cloneChildren(node.children) : [];\n var clone_2 = new CDATA(children);\n children.forEach(function (child) { return (child.parent = clone_2); });\n result = clone_2;\n }\n else if (isDocument(node)) {\n var children = recursive ? cloneChildren(node.children) : [];\n var clone_3 = new Document(children);\n children.forEach(function (child) { return (child.parent = clone_3); });\n if (node[\"x-mode\"]) {\n clone_3[\"x-mode\"] = node[\"x-mode\"];\n }\n result = clone_3;\n }\n else if (isDirective(node)) {\n var instruction = new ProcessingInstruction(node.name, node.data);\n if (node[\"x-name\"] != null) {\n instruction[\"x-name\"] = node[\"x-name\"];\n instruction[\"x-publicId\"] = node[\"x-publicId\"];\n instruction[\"x-systemId\"] = node[\"x-systemId\"];\n }\n result = instruction;\n }\n else {\n throw new Error(\"Not implemented yet: \".concat(node.type));\n }\n result.startIndex = node.startIndex;\n result.endIndex = node.endIndex;\n if (node.sourceCodeLocation != null) {\n result.sourceCodeLocation = node.sourceCodeLocation;\n }\n return result;\n}\nexports.cloneNode = cloneNode;\nfunction cloneChildren(childs) {\n var children = childs.map(function (child) { return cloneNode(child, true); });\n for (var i = 1; i < children.length; i++) {\n children[i].prev = children[i - 1];\n children[i - 1].next = children[i];\n }\n return children;\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DomHandler = void 0;\nvar domelementtype_1 = require(\"domelementtype\");\nvar node_js_1 = require(\"./node.js\");\n__exportStar(require(\"./node.js\"), exports);\n// Default options\nvar defaultOpts = {\n withStartIndices: false,\n withEndIndices: false,\n xmlMode: false,\n};\nvar DomHandler = /** @class */ (function () {\n /**\n * @param callback Called once parsing has completed.\n * @param options Settings for the handler.\n * @param elementCB Callback whenever a tag is closed.\n */\n function DomHandler(callback, options, elementCB) {\n /** The elements of the DOM */\n this.dom = [];\n /** The root element for the DOM */\n this.root = new node_js_1.Document(this.dom);\n /** Indicated whether parsing has been completed. */\n this.done = false;\n /** Stack of open tags. */\n this.tagStack = [this.root];\n /** A data node that is still being written to. */\n this.lastNode = null;\n /** Reference to the parser instance. Used for location information. */\n this.parser = null;\n // Make it possible to skip arguments, for backwards-compatibility\n if (typeof options === \"function\") {\n elementCB = options;\n options = defaultOpts;\n }\n if (typeof callback === \"object\") {\n options = callback;\n callback = undefined;\n }\n this.callback = callback !== null && callback !== void 0 ? callback : null;\n this.options = options !== null && options !== void 0 ? options : defaultOpts;\n this.elementCB = elementCB !== null && elementCB !== void 0 ? elementCB : null;\n }\n DomHandler.prototype.onparserinit = function (parser) {\n this.parser = parser;\n };\n // Resets the handler back to starting state\n DomHandler.prototype.onreset = function () {\n this.dom = [];\n this.root = new node_js_1.Document(this.dom);\n this.done = false;\n this.tagStack = [this.root];\n this.lastNode = null;\n this.parser = null;\n };\n // Signals the handler that parsing is done\n DomHandler.prototype.onend = function () {\n if (this.done)\n return;\n this.done = true;\n this.parser = null;\n this.handleCallback(null);\n };\n DomHandler.prototype.onerror = function (error) {\n this.handleCallback(error);\n };\n DomHandler.prototype.onclosetag = function () {\n this.lastNode = null;\n var elem = this.tagStack.pop();\n if (this.options.withEndIndices) {\n elem.endIndex = this.parser.endIndex;\n }\n if (this.elementCB)\n this.elementCB(elem);\n };\n DomHandler.prototype.onopentag = function (name, attribs) {\n var type = this.options.xmlMode ? domelementtype_1.ElementType.Tag : undefined;\n var element = new node_js_1.Element(name, attribs, undefined, type);\n this.addNode(element);\n this.tagStack.push(element);\n };\n DomHandler.prototype.ontext = function (data) {\n var lastNode = this.lastNode;\n if (lastNode && lastNode.type === domelementtype_1.ElementType.Text) {\n lastNode.data += data;\n if (this.options.withEndIndices) {\n lastNode.endIndex = this.parser.endIndex;\n }\n }\n else {\n var node = new node_js_1.Text(data);\n this.addNode(node);\n this.lastNode = node;\n }\n };\n DomHandler.prototype.oncomment = function (data) {\n if (this.lastNode && this.lastNode.type === domelementtype_1.ElementType.Comment) {\n this.lastNode.data += data;\n return;\n }\n var node = new node_js_1.Comment(data);\n this.addNode(node);\n this.lastNode = node;\n };\n DomHandler.prototype.oncommentend = function () {\n this.lastNode = null;\n };\n DomHandler.prototype.oncdatastart = function () {\n var text = new node_js_1.Text(\"\");\n var node = new node_js_1.CDATA([text]);\n this.addNode(node);\n text.parent = node;\n this.lastNode = text;\n };\n DomHandler.prototype.oncdataend = function () {\n this.lastNode = null;\n };\n DomHandler.prototype.onprocessinginstruction = function (name, data) {\n var node = new node_js_1.ProcessingInstruction(name, data);\n this.addNode(node);\n };\n DomHandler.prototype.handleCallback = function (error) {\n if (typeof this.callback === \"function\") {\n this.callback(error, this.dom);\n }\n else if (error) {\n throw error;\n }\n };\n DomHandler.prototype.addNode = function (node) {\n var parent = this.tagStack[this.tagStack.length - 1];\n var previousSibling = parent.children[parent.children.length - 1];\n if (this.options.withStartIndices) {\n node.startIndex = this.parser.startIndex;\n }\n if (this.options.withEndIndices) {\n node.endIndex = this.parser.endIndex;\n }\n parent.children.push(node);\n if (previousSibling) {\n node.prev = previousSibling;\n previousSibling.next = node;\n }\n node.parent = parent;\n this.lastNode = null;\n };\n return DomHandler;\n}());\nexports.DomHandler = DomHandler;\nexports.default = DomHandler;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CARRIAGE_RETURN_PLACEHOLDER_REGEX = exports.CARRIAGE_RETURN_PLACEHOLDER = exports.CARRIAGE_RETURN_REGEX = exports.CARRIAGE_RETURN = exports.CASE_SENSITIVE_TAG_NAMES_MAP = exports.CASE_SENSITIVE_TAG_NAMES = void 0;\n/**\n * SVG elements are case-sensitive.\n *\n * @see https://developer.mozilla.org/docs/Web/SVG/Element#svg_elements_a_to_z\n */\nexports.CASE_SENSITIVE_TAG_NAMES = [\n 'animateMotion',\n 'animateTransform',\n 'clipPath',\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feDropShadow',\n 'feFlood',\n 'feFuncA',\n 'feFuncB',\n 'feFuncG',\n 'feFuncR',\n 'feGaussianBlur',\n 'feImage',\n 'feMerge',\n 'feMergeNode',\n 'feMorphology',\n 'feOffset',\n 'fePointLight',\n 'feSpecularLighting',\n 'feSpotLight',\n 'feTile',\n 'feTurbulence',\n 'foreignObject',\n 'linearGradient',\n 'radialGradient',\n 'textPath',\n];\nexports.CASE_SENSITIVE_TAG_NAMES_MAP = exports.CASE_SENSITIVE_TAG_NAMES.reduce(function (accumulator, tagName) {\n accumulator[tagName.toLowerCase()] = tagName;\n return accumulator;\n}, {});\nexports.CARRIAGE_RETURN = '\\r';\nexports.CARRIAGE_RETURN_REGEX = new RegExp(exports.CARRIAGE_RETURN, 'g');\nexports.CARRIAGE_RETURN_PLACEHOLDER = \"__HTML_DOM_PARSER_CARRIAGE_RETURN_PLACEHOLDER_\".concat(Date.now(), \"__\");\nexports.CARRIAGE_RETURN_PLACEHOLDER_REGEX = new RegExp(exports.CARRIAGE_RETURN_PLACEHOLDER, 'g');\n//# sourceMappingURL=constants.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.formatAttributes = formatAttributes;\nexports.escapeSpecialCharacters = escapeSpecialCharacters;\nexports.revertEscapedCharacters = revertEscapedCharacters;\nexports.formatDOM = formatDOM;\nvar domhandler_1 = require(\"domhandler\");\nvar constants_1 = require(\"./constants\");\n/**\n * Gets case-sensitive tag name.\n *\n * @param tagName - Tag name in lowercase.\n * @returns - Case-sensitive tag name.\n */\nfunction getCaseSensitiveTagName(tagName) {\n return constants_1.CASE_SENSITIVE_TAG_NAMES_MAP[tagName];\n}\n/**\n * Formats DOM attributes to a hash map.\n *\n * @param attributes - List of attributes.\n * @returns - Map of attribute name to value.\n */\nfunction formatAttributes(attributes) {\n var map = {};\n var index = 0;\n var attributesLength = attributes.length;\n // `NamedNodeMap` is array-like\n for (; index < attributesLength; index++) {\n var attribute = attributes[index];\n map[attribute.name] = attribute.value;\n }\n return map;\n}\n/**\n * Corrects the tag name if it is case-sensitive (SVG).\n * Otherwise, returns the lowercase tag name (HTML).\n *\n * @param tagName - Lowercase tag name.\n * @returns - Formatted tag name.\n */\nfunction formatTagName(tagName) {\n tagName = tagName.toLowerCase();\n var caseSensitiveTagName = getCaseSensitiveTagName(tagName);\n if (caseSensitiveTagName) {\n return caseSensitiveTagName;\n }\n return tagName;\n}\n/**\n * Escapes special characters before parsing.\n *\n * @param html - The HTML string.\n * @returns - HTML string with escaped special characters.\n */\nfunction escapeSpecialCharacters(html) {\n return html.replace(constants_1.CARRIAGE_RETURN_REGEX, constants_1.CARRIAGE_RETURN_PLACEHOLDER);\n}\n/**\n * Reverts escaped special characters back to actual characters.\n *\n * @param text - The text with escaped characters.\n * @returns - Text with escaped characters reverted.\n */\nfunction revertEscapedCharacters(text) {\n return text.replace(constants_1.CARRIAGE_RETURN_PLACEHOLDER_REGEX, constants_1.CARRIAGE_RETURN);\n}\n/**\n * Transforms DOM nodes to `domhandler` nodes.\n *\n * @param nodes - DOM nodes.\n * @param parent - Parent node.\n * @param directive - Directive.\n * @returns - Nodes.\n */\nfunction formatDOM(nodes, parent, directive) {\n if (parent === void 0) { parent = null; }\n var domNodes = [];\n var current;\n var index = 0;\n var nodesLength = nodes.length;\n for (; index < nodesLength; index++) {\n var node = nodes[index];\n // set the node data given the type\n switch (node.nodeType) {\n case 1: {\n var tagName = formatTagName(node.nodeName);\n // script, style, or tag\n current = new domhandler_1.Element(tagName, formatAttributes(node.attributes));\n current.children = formatDOM(\n // template children are on content\n tagName === 'template'\n ? node.content.childNodes\n : node.childNodes, current);\n break;\n }\n case 3:\n current = new domhandler_1.Text(revertEscapedCharacters(node.nodeValue));\n break;\n case 8:\n current = new domhandler_1.Comment(node.nodeValue);\n break;\n default:\n continue;\n }\n // set previous node next\n var prev = domNodes[index - 1] || null;\n if (prev) {\n prev.next = current;\n }\n // set properties for current node\n current.parent = parent;\n current.prev = prev;\n current.next = null;\n domNodes.push(current);\n }\n if (directive) {\n current = new domhandler_1.ProcessingInstruction(directive.substring(0, directive.indexOf(' ')).toLowerCase(), directive);\n current.next = domNodes[0] || null;\n current.parent = parent;\n domNodes.unshift(current);\n if (domNodes[1]) {\n domNodes[1].prev = domNodes[0];\n }\n }\n return domNodes;\n}\n//# sourceMappingURL=utilities.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = domparser;\nvar utilities_1 = require(\"./utilities\");\n// constants\nvar HTML = 'html';\nvar HEAD = 'head';\nvar BODY = 'body';\nvar FIRST_TAG_REGEX = /<([a-zA-Z]+[0-9]?)/; // e.g., <h1>\n// match-all-characters in case of newlines (DOTALL)\nvar HEAD_TAG_REGEX = /<head[^]*>/i;\nvar BODY_TAG_REGEX = /<body[^]*>/i;\n// falls back to `parseFromString` if `createHTMLDocument` cannot be used\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nvar parseFromDocument = function (html, tagName) {\n /* istanbul ignore next */\n throw new Error('This browser does not support `document.implementation.createHTMLDocument`');\n};\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nvar parseFromString = function (html, tagName) {\n /* istanbul ignore next */\n throw new Error('This browser does not support `DOMParser.prototype.parseFromString`');\n};\nvar DOMParser = typeof window === 'object' && window.DOMParser;\n/**\n * DOMParser (performance: slow).\n *\n * @see https://developer.mozilla.org/docs/Web/API/DOMParser#Parsing_an_SVG_or_HTML_document\n */\nif (typeof DOMParser === 'function') {\n var domParser_1 = new DOMParser();\n var mimeType_1 = 'text/html';\n /**\n * Creates an HTML document using `DOMParser.parseFromString`.\n *\n * @param html - The HTML string.\n * @param tagName - The element to render the HTML (with 'body' as fallback).\n * @returns - Document.\n */\n parseFromString = function (html, tagName) {\n if (tagName) {\n /* istanbul ignore next */\n html = \"<\".concat(tagName, \">\").concat(html, \"</\").concat(tagName, \">\");\n }\n return domParser_1.parseFromString(html, mimeType_1);\n };\n parseFromDocument = parseFromString;\n}\n/**\n * DOMImplementation (performance: fair).\n *\n * @see https://developer.mozilla.org/docs/Web/API/DOMImplementation/createHTMLDocument\n */\nif (typeof document === 'object' && document.implementation) {\n var htmlDocument_1 = document.implementation.createHTMLDocument();\n /**\n * Use HTML document created by `document.implementation.createHTMLDocument`.\n *\n * @param html - The HTML string.\n * @param tagName - The element to render the HTML (with 'body' as fallback).\n * @returns - Document\n */\n parseFromDocument = function (html, tagName) {\n if (tagName) {\n var element = htmlDocument_1.documentElement.querySelector(tagName);\n if (element) {\n element.innerHTML = html;\n }\n return htmlDocument_1;\n }\n htmlDocument_1.documentElement.innerHTML = html;\n return htmlDocument_1;\n };\n}\n/**\n * Template (performance: fast).\n *\n * @see https://developer.mozilla.org/docs/Web/HTML/Element/template\n */\nvar template = typeof document === 'object' && document.createElement('template');\nvar parseFromTemplate;\nif (template && template.content) {\n /**\n * Uses a template element (content fragment) to parse HTML.\n *\n * @param html - HTML string.\n * @returns - Nodes.\n */\n parseFromTemplate = function (html) {\n template.innerHTML = html;\n return template.content.childNodes;\n };\n}\n/**\n * Parses HTML string to DOM nodes.\n *\n * @param html - HTML markup.\n * @returns - DOM nodes.\n */\nfunction domparser(html) {\n var _a, _b;\n // Escape special characters before parsing\n html = (0, utilities_1.escapeSpecialCharacters)(html);\n var match = html.match(FIRST_TAG_REGEX);\n var firstTagName = match && match[1] ? match[1].toLowerCase() : '';\n switch (firstTagName) {\n case HTML: {\n var doc = parseFromString(html);\n // the created document may come with filler head/body elements,\n // so make sure to remove them if they don't actually exist\n if (!HEAD_TAG_REGEX.test(html)) {\n var element = doc.querySelector(HEAD);\n (_a = element === null || element === void 0 ? void 0 : element.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(element);\n }\n if (!BODY_TAG_REGEX.test(html)) {\n var element = doc.querySelector(BODY);\n (_b = element === null || element === void 0 ? void 0 : element.parentNode) === null || _b === void 0 ? void 0 : _b.removeChild(element);\n }\n return doc.querySelectorAll(HTML);\n }\n case HEAD:\n case BODY: {\n var elements = parseFromDocument(html).querySelectorAll(firstTagName);\n // if there's a sibling element, then return both elements\n if (BODY_TAG_REGEX.test(html) && HEAD_TAG_REGEX.test(html)) {\n return elements[0].parentNode.childNodes;\n }\n return elements;\n }\n // low-level tag or text\n default: {\n if (parseFromTemplate) {\n return parseFromTemplate(html);\n }\n var element = parseFromDocument(html, BODY).querySelector(BODY);\n return element.childNodes;\n }\n }\n}\n//# sourceMappingURL=domparser.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = HTMLDOMParser;\nvar domparser_1 = __importDefault(require(\"./domparser\"));\nvar utilities_1 = require(\"./utilities\");\nvar DIRECTIVE_REGEX = /<(![a-zA-Z\\s]+)>/; // e.g., <!doctype html>\n/**\n * Parses HTML string to DOM nodes in browser.\n *\n * @param html - HTML markup.\n * @returns - DOM elements.\n */\nfunction HTMLDOMParser(html) {\n if (typeof html !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n if (!html) {\n return [];\n }\n // match directive\n var match = html.match(DIRECTIVE_REGEX);\n var directive = match ? match[1] : undefined;\n return (0, utilities_1.formatDOM)((0, domparser_1.default)(html), null, directive);\n}\n//# sourceMappingURL=html-to-dom.js.map","// An attribute in which the DOM/SVG standard name is the same as the React prop name (e.g., 'accept').\nvar SAME = 0;\nexports.SAME = SAME;\n\n// An attribute in which the React prop name is the camelcased version of the DOM/SVG standard name (e.g., 'acceptCharset').\nvar CAMELCASE = 1;\nexports.CAMELCASE = CAMELCASE;\n\nexports.possibleStandardNames = {\n accept: 0,\n acceptCharset: 1,\n 'accept-charset': 'acceptCharset',\n accessKey: 1,\n action: 0,\n allowFullScreen: 1,\n alt: 0,\n as: 0,\n async: 0,\n autoCapitalize: 1,\n autoComplete: 1,\n autoCorrect: 1,\n autoFocus: 1,\n autoPlay: 1,\n autoSave: 1,\n capture: 0,\n cellPadding: 1,\n cellSpacing: 1,\n challenge: 0,\n charSet: 1,\n checked: 0,\n children: 0,\n cite: 0,\n class: 'className',\n classID: 1,\n className: 1,\n cols: 0,\n colSpan: 1,\n content: 0,\n contentEditable: 1,\n contextMenu: 1,\n controls: 0,\n controlsList: 1,\n coords: 0,\n crossOrigin: 1,\n dangerouslySetInnerHTML: 1,\n data: 0,\n dateTime: 1,\n default: 0,\n defaultChecked: 1,\n defaultValue: 1,\n defer: 0,\n dir: 0,\n disabled: 0,\n disablePictureInPicture: 1,\n disableRemotePlayback: 1,\n download: 0,\n draggable: 0,\n encType: 1,\n enterKeyHint: 1,\n for: 'htmlFor',\n form: 0,\n formMethod: 1,\n formAction: 1,\n formEncType: 1,\n formNoValidate: 1,\n formTarget: 1,\n frameBorder: 1,\n headers: 0,\n height: 0,\n hidden: 0,\n high: 0,\n href: 0,\n hrefLang: 1,\n htmlFor: 1,\n httpEquiv: 1,\n 'http-equiv': 'httpEquiv',\n icon: 0,\n id: 0,\n innerHTML: 1,\n inputMode: 1,\n integrity: 0,\n is: 0,\n itemID: 1,\n itemProp: 1,\n itemRef: 1,\n itemScope: 1,\n itemType: 1,\n keyParams: 1,\n keyType: 1,\n kind: 0,\n label: 0,\n lang: 0,\n list: 0,\n loop: 0,\n low: 0,\n manifest: 0,\n marginWidth: 1,\n marginHeight: 1,\n max: 0,\n maxLength: 1,\n media: 0,\n mediaGroup: 1,\n method: 0,\n min: 0,\n minLength: 1,\n multiple: 0,\n muted: 0,\n name: 0,\n noModule: 1,\n nonce: 0,\n noValidate: 1,\n open: 0,\n optimum: 0,\n pattern: 0,\n placeholder: 0,\n playsInline: 1,\n poster: 0,\n preload: 0,\n profile: 0,\n radioGroup: 1,\n readOnly: 1,\n referrerPolicy: 1,\n rel: 0,\n required: 0,\n reversed: 0,\n role: 0,\n rows: 0,\n rowSpan: 1,\n sandbox: 0,\n scope: 0,\n scoped: 0,\n scrolling: 0,\n seamless: 0,\n selected: 0,\n shape: 0,\n size: 0,\n sizes: 0,\n span: 0,\n spellCheck: 1,\n src: 0,\n srcDoc: 1,\n srcLang: 1,\n srcSet: 1,\n start: 0,\n step: 0,\n style: 0,\n summary: 0,\n tabIndex: 1,\n target: 0,\n title: 0,\n type: 0,\n useMap: 1,\n value: 0,\n width: 0,\n wmode: 0,\n wrap: 0,\n about: 0,\n accentHeight: 1,\n 'accent-height': 'accentHeight',\n accumulate: 0,\n additive: 0,\n alignmentBaseline: 1,\n 'alignment-baseline': 'alignmentBaseline',\n allowReorder: 1,\n alphabetic: 0,\n amplitude: 0,\n arabicForm: 1,\n 'arabic-form': 'arabicForm',\n ascent: 0,\n attributeName: 1,\n attributeType: 1,\n autoReverse: 1,\n azimuth: 0,\n baseFrequency: 1,\n baselineShift: 1,\n 'baseline-shift': 'baselineShift',\n baseProfile: 1,\n bbox: 0,\n begin: 0,\n bias: 0,\n by: 0,\n calcMode: 1,\n capHeight: 1,\n 'cap-height': 'capHeight',\n clip: 0,\n clipPath: 1,\n 'clip-path': 'clipPath',\n clipPathUnits: 1,\n clipRule: 1,\n 'clip-rule': 'clipRule',\n color: 0,\n colorInterpolation: 1,\n 'color-interpolation': 'colorInterpolation',\n colorInterpolationFilters: 1,\n 'color-interpolation-filters': 'colorInterpolationFilters',\n colorProfile: 1,\n 'color-profile': 'colorProfile',\n colorRendering: 1,\n 'color-rendering': 'colorRendering',\n contentScriptType: 1,\n contentStyleType: 1,\n cursor: 0,\n cx: 0,\n cy: 0,\n d: 0,\n datatype: 0,\n decelerate: 0,\n descent: 0,\n diffuseConstant: 1,\n direction: 0,\n display: 0,\n divisor: 0,\n dominantBaseline: 1,\n 'dominant-baseline': 'dominantBaseline',\n dur: 0,\n dx: 0,\n dy: 0,\n edgeMode: 1,\n elevation: 0,\n enableBackground: 1,\n 'enable-background': 'enableBackground',\n end: 0,\n exponent: 0,\n externalResourcesRequired: 1,\n fill: 0,\n fillOpacity: 1,\n 'fill-opacity': 'fillOpacity',\n fillRule: 1,\n 'fill-rule': 'fillRule',\n filter: 0,\n filterRes: 1,\n filterUnits: 1,\n floodOpacity: 1,\n 'flood-opacity': 'floodOpacity',\n floodColor: 1,\n 'flood-color': 'floodColor',\n focusable: 0,\n fontFamily: 1,\n 'font-family': 'fontFamily',\n fontSize: 1,\n 'font-size': 'fontSize',\n fontSizeAdjust: 1,\n 'font-size-adjust': 'fontSizeAdjust',\n fontStretch: 1,\n 'font-stretch': 'fontStretch',\n fontStyle: 1,\n 'font-style': 'fontStyle',\n fontVariant: 1,\n 'font-variant': 'fontVariant',\n fontWeight: 1,\n 'font-weight': 'fontWeight',\n format: 0,\n from: 0,\n fx: 0,\n fy: 0,\n g1: 0,\n g2: 0,\n glyphName: 1,\n 'glyph-name': 'glyphName',\n glyphOrientationHorizontal: 1,\n 'glyph-orientation-horizontal': 'glyphOrientationHorizontal',\n glyphOrientationVertical: 1,\n 'glyph-orientation-vertical': 'glyphOrientationVertical',\n glyphRef: 1,\n gradientTransform: 1,\n gradientUnits: 1,\n hanging: 0,\n horizAdvX: 1,\n 'horiz-adv-x': 'horizAdvX',\n horizOriginX: 1,\n 'horiz-origin-x': 'horizOriginX',\n ideographic: 0,\n imageRendering: 1,\n 'image-rendering': 'imageRendering',\n in2: 0,\n in: 0,\n inlist: 0,\n intercept: 0,\n k1: 0,\n k2: 0,\n k3: 0,\n k4: 0,\n k: 0,\n kernelMatrix: 1,\n kernelUnitLength: 1,\n kerning: 0,\n keyPoints: 1,\n keySplines: 1,\n keyTimes: 1,\n lengthAdjust: 1,\n letterSpacing: 1,\n 'letter-spacing': 'letterSpacing',\n lightingColor: 1,\n 'lighting-color': 'lightingColor',\n limitingConeAngle: 1,\n local: 0,\n markerEnd: 1,\n 'marker-end': 'markerEnd',\n markerHeight: 1,\n markerMid: 1,\n 'marker-mid': 'markerMid',\n markerStart: 1,\n 'marker-start': 'markerStart',\n markerUnits: 1,\n markerWidth: 1,\n mask: 0,\n maskContentUnits: 1,\n maskUnits: 1,\n mathematical: 0,\n mode: 0,\n numOctaves: 1,\n offset: 0,\n opacity: 0,\n operator: 0,\n order: 0,\n orient: 0,\n orientation: 0,\n origin: 0,\n overflow: 0,\n overlinePosition: 1,\n 'overline-position': 'overlinePosition',\n overlineThickness: 1,\n 'overline-thickness': 'overlineThickness',\n paintOrder: 1,\n 'paint-order': 'paintOrder',\n panose1: 0,\n 'panose-1': 'panose1',\n pathLength: 1,\n patternContentUnits: 1,\n patternTransform: 1,\n patternUnits: 1,\n pointerEvents: 1,\n 'pointer-events': 'pointerEvents',\n points: 0,\n pointsAtX: 1,\n pointsAtY: 1,\n pointsAtZ: 1,\n prefix: 0,\n preserveAlpha: 1,\n preserveAspectRatio: 1,\n primitiveUnits: 1,\n property: 0,\n r: 0,\n radius: 0,\n refX: 1,\n refY: 1,\n renderingIntent: 1,\n 'rendering-intent': 'renderingIntent',\n repeatCount: 1,\n repeatDur: 1,\n requiredExtensions: 1,\n requiredFeatures: 1,\n resource: 0,\n restart: 0,\n result: 0,\n results: 0,\n rotate: 0,\n rx: 0,\n ry: 0,\n scale: 0,\n security: 0,\n seed: 0,\n shapeRendering: 1,\n 'shape-rendering': 'shapeRendering',\n slope: 0,\n spacing: 0,\n specularConstant: 1,\n specularExponent: 1,\n speed: 0,\n spreadMethod: 1,\n startOffset: 1,\n stdDeviation: 1,\n stemh: 0,\n stemv: 0,\n stitchTiles: 1,\n stopColor: 1,\n 'stop-color': 'stopColor',\n stopOpacity: 1,\n 'stop-opacity': 'stopOpacity',\n strikethroughPosition: 1,\n 'strikethrough-position': 'strikethroughPosition',\n strikethroughThickness: 1,\n 'strikethrough-thickness': 'strikethroughThickness',\n string: 0,\n stroke: 0,\n strokeDasharray: 1,\n 'stroke-dasharray': 'strokeDasharray',\n strokeDashoffset: 1,\n 'stroke-dashoffset': 'strokeDashoffset',\n strokeLinecap: 1,\n 'stroke-linecap': 'strokeLinecap',\n strokeLinejoin: 1,\n 'stroke-linejoin': 'strokeLinejoin',\n strokeMiterlimit: 1,\n 'stroke-miterlimit': 'strokeMiterlimit',\n strokeWidth: 1,\n 'stroke-width': 'strokeWidth',\n strokeOpacity: 1,\n 'stroke-opacity': 'strokeOpacity',\n suppressContentEditableWarning: 1,\n suppressHydrationWarning: 1,\n surfaceScale: 1,\n systemLanguage: 1,\n tableValues: 1,\n targetX: 1,\n targetY: 1,\n textAnchor: 1,\n 'text-anchor': 'textAnchor',\n textDecoration: 1,\n 'text-decoration': 'textDecoration',\n textLength: 1,\n textRendering: 1,\n 'text-rendering': 'textRendering',\n to: 0,\n transform: 0,\n typeof: 0,\n u1: 0,\n u2: 0,\n underlinePosition: 1,\n 'underline-position': 'underlinePosition',\n underlineThickness: 1,\n 'underline-thickness': 'underlineThickness',\n unicode: 0,\n unicodeBidi: 1,\n 'unicode-bidi': 'unicodeBidi',\n unicodeRange: 1,\n 'unicode-range': 'unicodeRange',\n unitsPerEm: 1,\n 'units-per-em': 'unitsPerEm',\n unselectable: 0,\n vAlphabetic: 1,\n 'v-alphabetic': 'vAlphabetic',\n values: 0,\n vectorEffect: 1,\n 'vector-effect': 'vectorEffect',\n version: 0,\n vertAdvY: 1,\n 'vert-adv-y': 'vertAdvY',\n vertOriginX: 1,\n 'vert-origin-x': 'vertOriginX',\n vertOriginY: 1,\n 'vert-origin-y': 'vertOriginY',\n vHanging: 1,\n 'v-hanging': 'vHanging',\n vIdeographic: 1,\n 'v-ideographic': 'vIdeographic',\n viewBox: 1,\n viewTarget: 1,\n visibility: 0,\n vMathematical: 1,\n 'v-mathematical': 'vMathematical',\n vocab: 0,\n widths: 0,\n wordSpacing: 1,\n 'word-spacing': 'wordSpacing',\n writingMode: 1,\n 'writing-mode': 'writingMode',\n x1: 0,\n x2: 0,\n x: 0,\n xChannelSelector: 1,\n xHeight: 1,\n 'x-height': 'xHeight',\n xlinkActuate: 1,\n 'xlink:actuate': 'xlinkActuate',\n xlinkArcrole: 1,\n 'xlink:arcrole': 'xlinkArcrole',\n xlinkHref: 1,\n 'xlink:href': 'xlinkHref',\n xlinkRole: 1,\n 'xlink:role': 'xlinkRole',\n xlinkShow: 1,\n 'xlink:show': 'xlinkShow',\n xlinkTitle: 1,\n 'xlink:title': 'xlinkTitle',\n xlinkType: 1,\n 'xlink:type': 'xlinkType',\n xmlBase: 1,\n 'xml:base': 'xmlBase',\n xmlLang: 1,\n 'xml:lang': 'xmlLang',\n xmlns: 0,\n 'xml:space': 'xmlSpace',\n xmlnsXlink: 1,\n 'xmlns:xlink': 'xmlnsXlink',\n xmlSpace: 1,\n y1: 0,\n y2: 0,\n y: 0,\n yChannelSelector: 1,\n z: 0,\n zoomAndPan: 1\n};\n","'use strict';\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n\n\n\n// A reserved attribute.\n// It is handled by React separately and shouldn't be written to the DOM.\nconst RESERVED = 0;\n\n// A simple string attribute.\n// Attributes that aren't in the filter are presumed to have this type.\nconst STRING = 1;\n\n// A string attribute that accepts booleans in React. In HTML, these are called\n// \"enumerated\" attributes with \"true\" and \"false\" as possible values.\n// When true, it should be set to a \"true\" string.\n// When false, it should be set to a \"false\" string.\nconst BOOLEANISH_STRING = 2;\n\n// A real boolean attribute.\n// When true, it should be present (set either to an empty string or its name).\n// When false, it should be omitted.\nconst BOOLEAN = 3;\n\n// An attribute that can be used as a flag as well as with a value.\n// When true, it should be present (set either to an empty string or its name).\n// When false, it should be omitted.\n// For any other value, should be present with that value.\nconst OVERLOADED_BOOLEAN = 4;\n\n// An attribute that must be numeric or parse as a numeric.\n// When falsy, it should be removed.\nconst NUMERIC = 5;\n\n// An attribute that must be positive numeric or parse as a positive numeric.\n// When falsy, it should be removed.\nconst POSITIVE_NUMERIC = 6;\n\nfunction getPropertyInfo(name) {\n return properties.hasOwnProperty(name) ? properties[name] : null;\n}\n\nfunction PropertyInfoRecord(\n name,\n type,\n mustUseProperty,\n attributeName,\n attributeNamespace,\n sanitizeURL,\n removeEmptyString,\n) {\n this.acceptsBooleans =\n type === BOOLEANISH_STRING ||\n type === BOOLEAN ||\n type === OVERLOADED_BOOLEAN;\n this.attributeName = attributeName;\n this.attributeNamespace = attributeNamespace;\n this.mustUseProperty = mustUseProperty;\n this.propertyName = name;\n this.type = type;\n this.sanitizeURL = sanitizeURL;\n this.removeEmptyString = removeEmptyString;\n}\n\n// When adding attributes to this list, be sure to also add them to\n// the `possibleStandardNames` module to ensure casing and incorrect\n// name warnings.\nconst properties = {};\n\n// These props are reserved by React. They shouldn't be written to the DOM.\nconst reservedProps = [\n 'children',\n 'dangerouslySetInnerHTML',\n // TODO: This prevents the assignment of defaultValue to regular\n // elements (not just inputs). Now that ReactDOMInput assigns to the\n // defaultValue property -- do we need this?\n 'defaultValue',\n 'defaultChecked',\n 'innerHTML',\n 'suppressContentEditableWarning',\n 'suppressHydrationWarning',\n 'style',\n];\n\nreservedProps.forEach(name => {\n properties[name] = new PropertyInfoRecord(\n name,\n RESERVED,\n false, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// A few React string attributes have a different name.\n// This is a mapping from React prop names to the attribute names.\n[\n ['acceptCharset', 'accept-charset'],\n ['className', 'class'],\n ['htmlFor', 'for'],\n ['httpEquiv', 'http-equiv'],\n].forEach(([name, attributeName]) => {\n properties[name] = new PropertyInfoRecord(\n name,\n STRING,\n false, // mustUseProperty\n attributeName, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// These are \"enumerated\" HTML attributes that accept \"true\" and \"false\".\n// In React, we let users pass `true` and `false` even though technically\n// these aren't boolean attributes (they are coerced to strings).\n['contentEditable', 'draggable', 'spellCheck', 'value'].forEach(name => {\n properties[name] = new PropertyInfoRecord(\n name,\n BOOLEANISH_STRING,\n false, // mustUseProperty\n name.toLowerCase(), // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// These are \"enumerated\" SVG attributes that accept \"true\" and \"false\".\n// In React, we let users pass `true` and `false` even though technically\n// these aren't boolean attributes (they are coerced to strings).\n// Since these are SVG attributes, their attribute names are case-sensitive.\n[\n 'autoReverse',\n 'externalResourcesRequired',\n 'focusable',\n 'preserveAlpha',\n].forEach(name => {\n properties[name] = new PropertyInfoRecord(\n name,\n BOOLEANISH_STRING,\n false, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// These are HTML boolean attributes.\n[\n 'allowFullScreen',\n 'async',\n // Note: there is a special case that prevents it from being written to the DOM\n // on the client side because the browsers are inconsistent. Instead we call focus().\n 'autoFocus',\n 'autoPlay',\n 'controls',\n 'default',\n 'defer',\n 'disabled',\n 'disablePictureInPicture',\n 'disableRemotePlayback',\n 'formNoValidate',\n 'hidden',\n 'loop',\n 'noModule',\n 'noValidate',\n 'open',\n 'playsInline',\n 'readOnly',\n 'required',\n 'reversed',\n 'scoped',\n 'seamless',\n // Microdata\n 'itemScope',\n].forEach(name => {\n properties[name] = new PropertyInfoRecord(\n name,\n BOOLEAN,\n false, // mustUseProperty\n name.toLowerCase(), // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// These are the few React props that we set as DOM properties\n// rather than attributes. These are all booleans.\n[\n 'checked',\n // Note: `option.selected` is not updated if `select.multiple` is\n // disabled with `removeAttribute`. We have special logic for handling this.\n 'multiple',\n 'muted',\n 'selected',\n\n // NOTE: if you add a camelCased prop to this list,\n // you'll need to set attributeName to name.toLowerCase()\n // instead in the assignment below.\n].forEach(name => {\n properties[name] = new PropertyInfoRecord(\n name,\n BOOLEAN,\n true, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// These are HTML attributes that are \"overloaded booleans\": they behave like\n// booleans, but can also accept a string value.\n[\n 'capture',\n 'download',\n\n // NOTE: if you add a camelCased prop to this list,\n // you'll need to set attributeName to name.toLowerCase()\n // instead in the assignment below.\n].forEach(name => {\n properties[name] = new PropertyInfoRecord(\n name,\n OVERLOADED_BOOLEAN,\n false, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// These are HTML attributes that must be positive numbers.\n[\n 'cols',\n 'rows',\n 'size',\n 'span',\n\n // NOTE: if you add a camelCased prop to this list,\n // you'll need to set attributeName to name.toLowerCase()\n // instead in the assignment below.\n].forEach(name => {\n properties[name] = new PropertyInfoRecord(\n name,\n POSITIVE_NUMERIC,\n false, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// These are HTML attributes that must be numbers.\n['rowSpan', 'start'].forEach(name => {\n properties[name] = new PropertyInfoRecord(\n name,\n NUMERIC,\n false, // mustUseProperty\n name.toLowerCase(), // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\nconst CAMELIZE = /[\\-\\:]([a-z])/g;\nconst capitalize = token => token[1].toUpperCase();\n\n// This is a list of all SVG attributes that need special casing, namespacing,\n// or boolean value assignment. Regular attributes that just accept strings\n// and have the same names are omitted, just like in the HTML attribute filter.\n// Some of these attributes can be hard to find. This list was created by\n// scraping the MDN documentation.\n[\n 'accent-height',\n 'alignment-baseline',\n 'arabic-form',\n 'baseline-shift',\n 'cap-height',\n 'clip-path',\n 'clip-rule',\n 'color-interpolation',\n 'color-interpolation-filters',\n 'color-profile',\n 'color-rendering',\n 'dominant-baseline',\n 'enable-background',\n 'fill-opacity',\n 'fill-rule',\n 'flood-color',\n 'flood-opacity',\n 'font-family',\n 'font-size',\n 'font-size-adjust',\n 'font-stretch',\n 'font-style',\n 'font-variant',\n 'font-weight',\n 'glyph-name',\n 'glyph-orientation-horizontal',\n 'glyph-orientation-vertical',\n 'horiz-adv-x',\n 'horiz-origin-x',\n 'image-rendering',\n 'letter-spacing',\n 'lighting-color',\n 'marker-end',\n 'marker-mid',\n 'marker-start',\n 'overline-position',\n 'overline-thickness',\n 'paint-order',\n 'panose-1',\n 'pointer-events',\n 'rendering-intent',\n 'shape-rendering',\n 'stop-color',\n 'stop-opacity',\n 'strikethrough-position',\n 'strikethrough-thickness',\n 'stroke-dasharray',\n 'stroke-dashoffset',\n 'stroke-linecap',\n 'stroke-linejoin',\n 'stroke-miterlimit',\n 'stroke-opacity',\n 'stroke-width',\n 'text-anchor',\n 'text-decoration',\n 'text-rendering',\n 'underline-position',\n 'underline-thickness',\n 'unicode-bidi',\n 'unicode-range',\n 'units-per-em',\n 'v-alphabetic',\n 'v-hanging',\n 'v-ideographic',\n 'v-mathematical',\n 'vector-effect',\n 'vert-adv-y',\n 'vert-origin-x',\n 'vert-origin-y',\n 'word-spacing',\n 'writing-mode',\n 'xmlns:xlink',\n 'x-height',\n\n // NOTE: if you add a camelCased prop to this list,\n // you'll need to set attributeName to name.toLowerCase()\n // instead in the assignment below.\n].forEach(attributeName => {\n const name = attributeName.replace(CAMELIZE, capitalize);\n properties[name] = new PropertyInfoRecord(\n name,\n STRING,\n false, // mustUseProperty\n attributeName,\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// String SVG attributes with the xlink namespace.\n[\n 'xlink:actuate',\n 'xlink:arcrole',\n 'xlink:role',\n 'xlink:show',\n 'xlink:title',\n 'xlink:type',\n\n // NOTE: if you add a camelCased prop to this list,\n // you'll need to set attributeName to name.toLowerCase()\n // instead in the assignment below.\n].forEach(attributeName => {\n const name = attributeName.replace(CAMELIZE, capitalize);\n properties[name] = new PropertyInfoRecord(\n name,\n STRING,\n false, // mustUseProperty\n attributeName,\n 'http://www.w3.org/1999/xlink',\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// String SVG attributes with the xml namespace.\n[\n 'xml:base',\n 'xml:lang',\n 'xml:space',\n\n // NOTE: if you add a camelCased prop to this list,\n // you'll need to set attributeName to name.toLowerCase()\n // instead in the assignment below.\n].forEach(attributeName => {\n const name = attributeName.replace(CAMELIZE, capitalize);\n properties[name] = new PropertyInfoRecord(\n name,\n STRING,\n false, // mustUseProperty\n attributeName,\n 'http://www.w3.org/XML/1998/namespace',\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// These attribute exists both in HTML and SVG.\n// The attribute name is case-sensitive in SVG so we can't just use\n// the React name like we do for attributes that exist only in HTML.\n['tabIndex', 'crossOrigin'].forEach(attributeName => {\n properties[attributeName] = new PropertyInfoRecord(\n attributeName,\n STRING,\n false, // mustUseProperty\n attributeName.toLowerCase(), // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// These attributes accept URLs. These must not allow javascript: URLS.\n// These will also need to accept Trusted Types object in the future.\nconst xlinkHref = 'xlinkHref';\nproperties[xlinkHref] = new PropertyInfoRecord(\n 'xlinkHref',\n STRING,\n false, // mustUseProperty\n 'xlink:href',\n 'http://www.w3.org/1999/xlink',\n true, // sanitizeURL\n false, // removeEmptyString\n);\n\n['src', 'href', 'action', 'formAction'].forEach(attributeName => {\n properties[attributeName] = new PropertyInfoRecord(\n attributeName,\n STRING,\n false, // mustUseProperty\n attributeName.toLowerCase(), // attributeName\n null, // attributeNamespace\n true, // sanitizeURL\n true, // removeEmptyString\n );\n});\n\n// \nconst {\n CAMELCASE,\n SAME,\n possibleStandardNames: possibleStandardNamesOptimized\n} = require('../lib/possibleStandardNamesOptimized');\n\nconst ATTRIBUTE_NAME_START_CHAR =\n ':A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD';\n\nconst ATTRIBUTE_NAME_CHAR =\n ATTRIBUTE_NAME_START_CHAR + '\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040';\n\n/**\n * Checks whether a property name is a custom attribute.\n *\n * @see https://github.com/facebook/react/blob/15-stable/src/renderers/dom/shared/HTMLDOMPropertyConfig.js#L23-L25\n *\n * @type {(attribute: string) => boolean}\n */\nconst isCustomAttribute =\n RegExp.prototype.test.bind(\n // eslint-disable-next-line no-misleading-character-class\n new RegExp('^(data|aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$')\n );\n\n/**\n * @type {Record<string, string>}\n */\nconst possibleStandardNames = Object.keys(\n possibleStandardNamesOptimized\n).reduce((accumulator, standardName) => {\n const propName = possibleStandardNamesOptimized[standardName];\n if (propName === SAME) {\n accumulator[standardName] = standardName;\n } else if (propName === CAMELCASE) {\n accumulator[standardName.toLowerCase()] = standardName;\n } else {\n accumulator[standardName] = propName;\n }\n return accumulator;\n}, {});\n\nexports.BOOLEAN = BOOLEAN;\nexports.BOOLEANISH_STRING = BOOLEANISH_STRING;\nexports.NUMERIC = NUMERIC;\nexports.OVERLOADED_BOOLEAN = OVERLOADED_BOOLEAN;\nexports.POSITIVE_NUMERIC = POSITIVE_NUMERIC;\nexports.RESERVED = RESERVED;\nexports.STRING = STRING;\nexports.getPropertyInfo = getPropertyInfo;\nexports.isCustomAttribute = isCustomAttribute;\nexports.possibleStandardNames = possibleStandardNames;\n","'use strict';\n\n// http://www.w3.org/TR/CSS21/grammar.html\n// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027\nvar COMMENT_REGEX = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\n\nvar NEWLINE_REGEX = /\\n/g;\nvar WHITESPACE_REGEX = /^\\s*/;\n\n// declaration\nvar PROPERTY_REGEX = /^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/;\nvar COLON_REGEX = /^:\\s*/;\nvar VALUE_REGEX = /^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/;\nvar SEMICOLON_REGEX = /^[;\\s]*/;\n\n// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill\nvar TRIM_REGEX = /^\\s+|\\s+$/g;\n\n// strings\nvar NEWLINE = '\\n';\nvar FORWARD_SLASH = '/';\nvar ASTERISK = '*';\nvar EMPTY_STRING = '';\n\n// types\nvar TYPE_COMMENT = 'comment';\nvar TYPE_DECLARATION = 'declaration';\n\n/**\n * @param {String} style\n * @param {Object} [options]\n * @return {Object[]}\n * @throws {TypeError}\n * @throws {Error}\n */\nfunction index (style, options) {\n if (typeof style !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n\n if (!style) return [];\n\n options = options || {};\n\n /**\n * Positional.\n */\n var lineno = 1;\n var column = 1;\n\n /**\n * Update lineno and column based on `str`.\n *\n * @param {String} str\n */\n function updatePosition(str) {\n var lines = str.match(NEWLINE_REGEX);\n if (lines) lineno += lines.length;\n var i = str.lastIndexOf(NEWLINE);\n column = ~i ? str.length - i : column + str.length;\n }\n\n /**\n * Mark position and patch `node.position`.\n *\n * @return {Function}\n */\n function position() {\n var start = { line: lineno, column: column };\n return function (node) {\n node.position = new Position(start);\n whitespace();\n return node;\n };\n }\n\n /**\n * Store position information for a node.\n *\n * @constructor\n * @property {Object} start\n * @property {Object} end\n * @property {undefined|String} source\n */\n function Position(start) {\n this.start = start;\n this.end = { line: lineno, column: column };\n this.source = options.source;\n }\n\n /**\n * Non-enumerable source string.\n */\n Position.prototype.content = style;\n\n /**\n * Error `msg`.\n *\n * @param {String} msg\n * @throws {Error}\n */\n function error(msg) {\n var err = new Error(\n options.source + ':' + lineno + ':' + column + ': ' + msg\n );\n err.reason = msg;\n err.filename = options.source;\n err.line = lineno;\n err.column = column;\n err.source = style;\n\n if (options.silent) ; else {\n throw err;\n }\n }\n\n /**\n * Match `re` and return captures.\n *\n * @param {RegExp} re\n * @return {undefined|Array}\n */\n function match(re) {\n var m = re.exec(style);\n if (!m) return;\n var str = m[0];\n updatePosition(str);\n style = style.slice(str.length);\n return m;\n }\n\n /**\n * Parse whitespace.\n */\n function whitespace() {\n match(WHITESPACE_REGEX);\n }\n\n /**\n * Parse comments.\n *\n * @param {Object[]} [rules]\n * @return {Object[]}\n */\n function comments(rules) {\n var c;\n rules = rules || [];\n while ((c = comment())) {\n if (c !== false) {\n rules.push(c);\n }\n }\n return rules;\n }\n\n /**\n * Parse comment.\n *\n * @return {Object}\n * @throws {Error}\n */\n function comment() {\n var pos = position();\n if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;\n\n var i = 2;\n while (\n EMPTY_STRING != style.charAt(i) &&\n (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))\n ) {\n ++i;\n }\n i += 2;\n\n if (EMPTY_STRING === style.charAt(i - 1)) {\n return error('End of comment missing');\n }\n\n var str = style.slice(2, i - 2);\n column += 2;\n updatePosition(str);\n style = style.slice(i);\n column += 2;\n\n return pos({\n type: TYPE_COMMENT,\n comment: str\n });\n }\n\n /**\n * Parse declaration.\n *\n * @return {Object}\n * @throws {Error}\n */\n function declaration() {\n var pos = position();\n\n // prop\n var prop = match(PROPERTY_REGEX);\n if (!prop) return;\n comment();\n\n // :\n if (!match(COLON_REGEX)) return error(\"property missing ':'\");\n\n // val\n var val = match(VALUE_REGEX);\n\n var ret = pos({\n type: TYPE_DECLARATION,\n property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),\n value: val\n ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING))\n : EMPTY_STRING\n });\n\n // ;\n match(SEMICOLON_REGEX);\n\n return ret;\n }\n\n /**\n * Parse declarations.\n *\n * @return {Object[]}\n */\n function declarations() {\n var decls = [];\n\n comments(decls);\n\n // declarations\n var decl;\n while ((decl = declaration())) {\n if (decl !== false) {\n decls.push(decl);\n comments(decls);\n }\n }\n\n return decls;\n }\n\n whitespace();\n return declarations();\n}\n\n/**\n * Trim `str`.\n *\n * @param {String} str\n * @return {String}\n */\nfunction trim(str) {\n return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;\n}\n\nmodule.exports = index;\n//# sourceMappingURL=index.js.map\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = StyleToObject;\nconst inline_style_parser_1 = __importDefault(require(\"inline-style-parser\"));\n/**\n * Parses inline style to object.\n *\n * @param style - Inline style.\n * @param iterator - Iterator.\n * @returns - Style object or null.\n *\n * @example Parsing inline style to object:\n *\n * ```js\n * import parse from 'style-to-object';\n * parse('line-height: 42;'); // { 'line-height': '42' }\n * ```\n */\nfunction StyleToObject(style, iterator) {\n let styleObject = null;\n if (!style || typeof style !== 'string') {\n return styleObject;\n }\n const declarations = (0, inline_style_parser_1.default)(style);\n const hasIterator = typeof iterator === 'function';\n declarations.forEach((declaration) => {\n if (declaration.type !== 'declaration') {\n return;\n }\n const { property, value } = declaration;\n if (hasIterator) {\n iterator(property, value, declaration);\n }\n else if (value) {\n styleObject = styleObject || {};\n styleObject[property] = value;\n }\n });\n return styleObject;\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.camelCase = void 0;\nvar CUSTOM_PROPERTY_REGEX = /^--[a-zA-Z0-9_-]+$/;\nvar HYPHEN_REGEX = /-([a-z])/g;\nvar NO_HYPHEN_REGEX = /^[^-]+$/;\nvar VENDOR_PREFIX_REGEX = /^-(webkit|moz|ms|o|khtml)-/;\nvar MS_VENDOR_PREFIX_REGEX = /^-(ms)-/;\n/**\n * Checks whether to skip camelCase.\n */\nvar skipCamelCase = function (property) {\n return !property ||\n NO_HYPHEN_REGEX.test(property) ||\n CUSTOM_PROPERTY_REGEX.test(property);\n};\n/**\n * Replacer that capitalizes first character.\n */\nvar capitalize = function (match, character) {\n return character.toUpperCase();\n};\n/**\n * Replacer that removes beginning hyphen of vendor prefix property.\n */\nvar trimHyphen = function (match, prefix) { return \"\".concat(prefix, \"-\"); };\n/**\n * CamelCases a CSS property.\n */\nvar camelCase = function (property, options) {\n if (options === void 0) { options = {}; }\n if (skipCamelCase(property)) {\n return property;\n }\n property = property.toLowerCase();\n if (options.reactCompat) {\n // `-ms` vendor prefix should not be capitalized\n property = property.replace(MS_VENDOR_PREFIX_REGEX, trimHyphen);\n }\n else {\n // for non-React, remove first hyphen so vendor prefix is not capitalized\n property = property.replace(VENDOR_PREFIX_REGEX, trimHyphen);\n }\n return property.replace(HYPHEN_REGEX, capitalize);\n};\nexports.camelCase = camelCase;\n//# sourceMappingURL=utilities.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nvar style_to_object_1 = __importDefault(require(\"style-to-object\"));\nvar utilities_1 = require(\"./utilities\");\n/**\n * Parses CSS inline style to JavaScript object (camelCased).\n */\nfunction StyleToJS(style, options) {\n var output = {};\n if (!style || typeof style !== 'string') {\n return output;\n }\n (0, style_to_object_1.default)(style, function (property, value) {\n // skip CSS comment\n if (property && value) {\n output[(0, utilities_1.camelCase)(property, options)] = value;\n }\n });\n return output;\n}\nStyleToJS.default = StyleToJS;\nmodule.exports = StyleToJS;\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.returnFirstArg = exports.canTextBeChildOfNode = exports.ELEMENTS_WITH_NO_TEXT_CHILDREN = exports.PRESERVE_CUSTOM_ATTRIBUTES = void 0;\nexports.isCustomComponent = isCustomComponent;\nexports.setStyleProp = setStyleProp;\nvar react_1 = require(\"react\");\nvar style_to_js_1 = __importDefault(require(\"style-to-js\"));\nvar RESERVED_SVG_MATHML_ELEMENTS = new Set([\n 'annotation-xml',\n 'color-profile',\n 'font-face',\n 'font-face-src',\n 'font-face-uri',\n 'font-face-format',\n 'font-face-name',\n 'missing-glyph',\n]);\n/**\n * Check if a tag is a custom component.\n *\n * @see {@link https://github.com/facebook/react/blob/v16.6.3/packages/react-dom/src/shared/isCustomComponent.js}\n *\n * @param tagName - Tag name.\n * @param props - Props passed to the element.\n * @returns - Whether the tag is custom component.\n */\nfunction isCustomComponent(tagName, props) {\n if (!tagName.includes('-')) {\n return Boolean(props && typeof props.is === 'string');\n }\n // These are reserved SVG and MathML elements.\n // We don't mind this whitelist too much because we expect it to never grow.\n // The alternative is to track the namespace in a few places which is convoluted.\n // https://w3c.github.io/webcomponents/spec/custom/#custom-elements-core-concepts\n if (RESERVED_SVG_MATHML_ELEMENTS.has(tagName)) {\n return false;\n }\n return true;\n}\nvar styleOptions = {\n reactCompat: true,\n};\n/**\n * Sets style prop.\n *\n * @param style - Inline style.\n * @param props - Props object.\n */\nfunction setStyleProp(style, props) {\n if (typeof style !== 'string') {\n return;\n }\n if (!style.trim()) {\n props.style = {};\n return;\n }\n try {\n props.style = (0, style_to_js_1.default)(style, styleOptions);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n }\n catch (error) {\n props.style = {};\n }\n}\n/**\n * @see https://reactjs.org/blog/2017/09/08/dom-attributes-in-react-16.html\n */\nexports.PRESERVE_CUSTOM_ATTRIBUTES = Number(react_1.version.split('.')[0]) >= 16;\n/**\n * @see https://github.com/facebook/react/blob/cae635054e17a6f107a39d328649137b83f25972/packages/react-dom/src/client/validateDOMNesting.js#L213\n */\nexports.ELEMENTS_WITH_NO_TEXT_CHILDREN = new Set([\n 'tr',\n 'tbody',\n 'thead',\n 'tfoot',\n 'colgroup',\n 'table',\n 'head',\n 'html',\n 'frameset',\n]);\n/**\n * Checks if the given node can contain text nodes\n *\n * @param node - Element node.\n * @returns - Whether the node can contain text nodes.\n */\nvar canTextBeChildOfNode = function (node) {\n return !exports.ELEMENTS_WITH_NO_TEXT_CHILDREN.has(node.name);\n};\nexports.canTextBeChildOfNode = canTextBeChildOfNode;\n/**\n * Returns the first argument as is.\n *\n * @param arg - The argument to be returned.\n * @returns - The input argument `arg`.\n */\nvar returnFirstArg = function (arg) { return arg; }; // eslint-disable-line @typescript-eslint/no-explicit-any\nexports.returnFirstArg = returnFirstArg;\n//# sourceMappingURL=utilities.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = attributesToProps;\nvar react_property_1 = require(\"react-property\");\nvar utilities_1 = require(\"./utilities\");\n// https://react.dev/learn/sharing-state-between-components#controlled-and-uncontrolled-components\n// https://developer.mozilla.org/docs/Web/HTML/Attributes\nvar UNCONTROLLED_COMPONENT_ATTRIBUTES = ['checked', 'value'];\nvar UNCONTROLLED_COMPONENT_NAMES = ['input', 'select', 'textarea'];\nvar valueOnlyInputs = {\n reset: true,\n submit: true,\n};\n/**\n * Converts HTML/SVG DOM attributes to React props.\n *\n * @param attributes - HTML/SVG DOM attributes.\n * @param nodeName - DOM node name.\n * @returns - React props.\n */\nfunction attributesToProps(attributes, nodeName) {\n if (attributes === void 0) { attributes = {}; }\n var props = {};\n var isInputValueOnly = Boolean(attributes.type && valueOnlyInputs[attributes.type]);\n for (var attributeName in attributes) {\n var attributeValue = attributes[attributeName];\n // ARIA (aria-*) or custom data (data-*) attribute\n if ((0, react_property_1.isCustomAttribute)(attributeName)) {\n props[attributeName] = attributeValue;\n continue;\n }\n // convert HTML/SVG attribute to React prop\n var attributeNameLowerCased = attributeName.toLowerCase();\n var propName = getPropName(attributeNameLowerCased);\n if (propName) {\n var propertyInfo = (0, react_property_1.getPropertyInfo)(propName);\n // convert attribute to uncontrolled component prop (e.g., `value` to `defaultValue`)\n if (UNCONTROLLED_COMPONENT_ATTRIBUTES.includes(propName) &&\n UNCONTROLLED_COMPONENT_NAMES.includes(nodeName) &&\n !isInputValueOnly) {\n propName = getPropName('default' + attributeNameLowerCased);\n }\n props[propName] = attributeValue;\n switch (propertyInfo && propertyInfo.type) {\n case react_property_1.BOOLEAN:\n props[propName] = true;\n break;\n case react_property_1.OVERLOADED_BOOLEAN:\n if (attributeValue === '') {\n props[propName] = true;\n }\n break;\n }\n continue;\n }\n // preserve custom attribute if React >=16\n if (utilities_1.PRESERVE_CUSTOM_ATTRIBUTES) {\n props[attributeName] = attributeValue;\n }\n }\n // transform inline style to object\n (0, utilities_1.setStyleProp)(attributes.style, props);\n return props;\n}\n/**\n * Gets prop name from lowercased attribute name.\n *\n * @param attributeName - Lowercased attribute name.\n * @returns - Prop name.\n */\nfunction getPropName(attributeName) {\n return react_property_1.possibleStandardNames[attributeName];\n}\n//# sourceMappingURL=attributes-to-props.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = domToReact;\nvar react_1 = require(\"react\");\nvar attributes_to_props_1 = __importDefault(require(\"./attributes-to-props\"));\nvar utilities_1 = require(\"./utilities\");\nvar React = {\n cloneElement: react_1.cloneElement,\n createElement: react_1.createElement,\n isValidElement: react_1.isValidElement,\n};\n/**\n * Converts DOM nodes to JSX element(s).\n *\n * @param nodes - DOM nodes.\n * @param options - Options.\n * @returns - String or JSX element(s).\n */\nfunction domToReact(nodes, options) {\n if (options === void 0) { options = {}; }\n var reactElements = [];\n var hasReplace = typeof options.replace === 'function';\n var transform = options.transform || utilities_1.returnFirstArg;\n var _a = options.library || React, cloneElement = _a.cloneElement, createElement = _a.createElement, isValidElement = _a.isValidElement;\n var nodesLength = nodes.length;\n for (var index = 0; index < nodesLength; index++) {\n var node = nodes[index];\n // replace with custom React element (if present)\n if (hasReplace) {\n var replaceElement = options.replace(node, index);\n if (isValidElement(replaceElement)) {\n // set \"key\" prop for sibling elements\n // https://react.dev/learn/rendering-lists#rules-of-keys\n if (nodesLength > 1) {\n replaceElement = cloneElement(replaceElement, {\n key: replaceElement.key || index,\n });\n }\n reactElements.push(transform(replaceElement, node, index));\n continue;\n }\n }\n if (node.type === 'text') {\n var isWhitespace = !node.data.trim().length;\n // We have a whitespace node that can't be nested in its parent\n // so skip it\n if (isWhitespace &&\n node.parent &&\n !(0, utilities_1.canTextBeChildOfNode)(node.parent)) {\n continue;\n }\n // Trim is enabled and we have a whitespace node\n // so skip it\n if (options.trim && isWhitespace) {\n continue;\n }\n // We have a text node that's not whitespace and it can be nested\n // in its parent so add it to the results\n reactElements.push(transform(node.data, node, index));\n continue;\n }\n var element = node;\n var props = {};\n if (skipAttributesToProps(element)) {\n (0, utilities_1.setStyleProp)(element.attribs.style, element.attribs);\n props = element.attribs;\n }\n else if (element.attribs) {\n props = (0, attributes_to_props_1.default)(element.attribs, element.name);\n }\n var children = void 0;\n switch (node.type) {\n case 'script':\n case 'style':\n // prevent text in <script> or <style> from being escaped\n // https://react.dev/reference/react-dom/components/common#dangerously-setting-the-inner-html\n if (node.children[0]) {\n props.dangerouslySetInnerHTML = {\n __html: node.children[0].data,\n };\n }\n break;\n case 'tag':\n // setting textarea value in children is an antipattern in React\n // https://react.dev/reference/react-dom/components/textarea#caveats\n if (node.name === 'textarea' && node.children[0]) {\n props.defaultValue = node.children[0].data;\n }\n else if (node.children && node.children.length) {\n // continue recursion of creating React elements (if applicable)\n children = domToReact(node.children, options);\n }\n break;\n // skip all other cases (e.g., comment)\n default:\n continue;\n }\n // set \"key\" prop for sibling elements\n // https://react.dev/learn/rendering-lists#rules-of-keys\n if (nodesLength > 1) {\n props.key = index;\n }\n reactElements.push(transform(createElement(node.name, props, children), node, index));\n }\n return reactElements.length === 1 ? reactElements[0] : reactElements;\n}\n/**\n * Determines whether DOM element attributes should be transformed to props.\n * Web Components should not have their attributes transformed except for `style`.\n *\n * @param node - Element node.\n * @returns - Whether the node attributes should be converted to props.\n */\nfunction skipAttributesToProps(node) {\n return (utilities_1.PRESERVE_CUSTOM_ATTRIBUTES &&\n node.type === 'tag' &&\n (0, utilities_1.isCustomComponent)(node.name, node.attribs));\n}\n//# sourceMappingURL=dom-to-react.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.htmlToDOM = exports.domToReact = exports.attributesToProps = exports.Text = exports.ProcessingInstruction = exports.Element = exports.Comment = void 0;\nexports.default = HTMLReactParser;\nvar html_dom_parser_1 = __importDefault(require(\"html-dom-parser\"));\nexports.htmlToDOM = html_dom_parser_1.default;\nvar attributes_to_props_1 = __importDefault(require(\"./attributes-to-props\"));\nexports.attributesToProps = attributes_to_props_1.default;\nvar dom_to_react_1 = __importDefault(require(\"./dom-to-react\"));\nexports.domToReact = dom_to_react_1.default;\nvar domhandler_1 = require(\"domhandler\");\nObject.defineProperty(exports, \"Comment\", { enumerable: true, get: function () { return domhandler_1.Comment; } });\nObject.defineProperty(exports, \"Element\", { enumerable: true, get: function () { return domhandler_1.Element; } });\nObject.defineProperty(exports, \"ProcessingInstruction\", { enumerable: true, get: function () { return domhandler_1.ProcessingInstruction; } });\nObject.defineProperty(exports, \"Text\", { enumerable: true, get: function () { return domhandler_1.Text; } });\nvar domParserOptions = { lowerCaseAttributeNames: false };\n/**\n * Converts HTML string to React elements.\n *\n * @param html - HTML string.\n * @param options - Parser options.\n * @returns - React element(s), empty array, or string.\n */\nfunction HTMLReactParser(html, options) {\n if (typeof html !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n if (!html) {\n return [];\n }\n return (0, dom_to_react_1.default)((0, html_dom_parser_1.default)(html, (options === null || options === void 0 ? void 0 : options.htmlparser2) || domParserOptions), options);\n}\n//# sourceMappingURL=index.js.map","import HTMLReactParser from '../lib/index.js';\n\nexport {\n attributesToProps,\n Comment,\n domToReact,\n Element,\n htmlToDOM,\n ProcessingInstruction,\n Text,\n} from '../lib/index.js';\n\nexport default HTMLReactParser.default || HTMLReactParser;\n","import {\n ErrorWhite,\n InfoWhite,\n SuccessWhite,\n WarningWhite,\n ErrorColor,\n InfoColor,\n SuccessColor,\n WarningColor,\n} from '@/atoms/Icons'\nimport { vars } from '@/theme'\n\nexport const alertStates = {\n success: {\n icon: <SuccessWhite />,\n bg: vars('colors-alert-ice'),\n id: 'success',\n },\n error: {\n icon: <ErrorWhite />,\n bg: vars('colors-alert-veryLightPinkThree'),\n id: 'error',\n },\n info: {\n icon: <InfoWhite />,\n bg: vars('colors-alert-veryLightBlue'),\n id: 'info',\n },\n warning: {\n icon: <WarningWhite />,\n bg: vars('colors-alert-pale'),\n id: 'warning',\n },\n}\n\nexport const alertColorStates = {\n success: {\n icon: <SuccessColor />,\n bg: vars('colors-alert-ice'),\n id: 'success',\n },\n error: {\n icon: <ErrorColor />,\n bg: vars('colors-alert-veryLightPinkThree'),\n id: 'error',\n },\n info: {\n icon: <InfoColor />,\n bg: vars('colors-alert-veryLightBlue'),\n id: 'info',\n },\n warning: {\n icon: <WarningColor />,\n bg: vars('colors-alert-pale'),\n id: 'warning',\n },\n}\n","import { Box, useMediaQuery } from '@chakra-ui/react'\nimport DOMPurifyLib from 'dompurify'\nimport ReactParser from 'html-react-parser'\n\nimport { BtnLink, BtnPrimary } from '@/molecules'\nimport { vars } from '@/theme'\nimport { IAlertProps } from './types.d'\nimport { alertStates } from './utils/alertStates'\nimport { Close } from '@/atoms/Icons'\n\n/**\n * Componente de alerta embebida que puede tener 4 estados diferentes.\n * Opcionalmente puede llevar un botón. El botón puede mostrar sólo un texto\n * o un texto junto a un ícono.\n * @example Implementación de alerta con botón y margen\n * <Alert\n * state='info'\n * buttonName='Texto botón'\n * buttonIcon={<Multimedia />}\n * onClick={() => alert('hola')}\n * m='0 20px'>\n * Mensaje\n * </Alert>\n */\n\nexport function Alert({\n children,\n canDismiss = false,\n buttonText,\n buttonIcon,\n buttonLink = false,\n fullWidth = false,\n maxContent = false,\n isFlash = false,\n onClick,\n state,\n m,\n endTextLink,\n onClickLink,\n sx,\n width,\n}: IAlertProps): JSX.Element {\n const [isMobile] = useMediaQuery('(max-width: 425px)')\n\n const handleClick = (): void => {\n onClick?.()\n }\n\n let buttonType: undefined | 'link' | 'normal'\n if (buttonText) {\n buttonType = buttonLink ? 'link' : 'normal'\n }\n\n const content =\n typeof children === 'string' ? ReactParser(DOMPurifyLib.sanitize(children)) : children\n\n return (\n <Box\n className={isFlash ? 'flashNotification' : 'e_alert'}\n alignItems={!isMobile ? 'center' : 'unset'}\n backgroundColor={alertStates[state].bg}\n borderRadius=\"8px\"\n display=\"flex\"\n flexFlow={isMobile ? 'column' : 'row'}\n gap={!isFlash ? '16px' : undefined}\n justifyContent={!isMobile ? 'space-between' : undefined}\n margin={m}\n mx={isFlash ? 'auto' : undefined}\n width={width ?? (maxContent ? 'max-content' : fullWidth ? '100%' : 'fit-content')}\n maxWidth={fullWidth ? 'none' : width ?? maxContent ? 'none' : '796px'}\n p=\"1rem\"\n pr={canDismiss ? '1.75rem' : '1rem'}\n position=\"relative\"\n boxShadow={isFlash ? '0px 2px 8px 0px #5C5C5C33' : ''}\n sx={sx}\n >\n <Box\n display=\"flex\"\n gap=\"10px\"\n className=\"alertContent\"\n sx={{\n '.linkButton': {\n fontSize: '16px',\n },\n a: {\n fontWeight: '500',\n color: vars('colors-main-deepSkyBlue'),\n textDecoration: 'underline',\n },\n 'a:hover': {\n color: vars('colors-neutral-darkCharcoal'),\n },\n }}\n >\n <Box\n className=\"iconContainer\"\n sx={{\n svg: {\n width: 'auto',\n },\n }}\n >\n {alertStates[state].icon}\n </Box>\n <Box display=\"flex\" alignItems=\"center\">\n <Box\n alignSelf=\"center\"\n as=\"p\"\n color={vars('colors-neutral-darkCharcoal')}\n fontFamily=\"Roboto\"\n fontSize=\"16px\"\n fontWeight=\"400\"\n lineHeight=\"28px\"\n mb=\"0\"\n >\n {content}\n {endTextLink && onClickLink && <BtnLink onClick={onClickLink}>{endTextLink}</BtnLink>}\n </Box>\n {buttonType === 'link' && <BtnLink onClick={handleClick}>{buttonText}</BtnLink>}\n </Box>\n </Box>\n\n {buttonType === 'normal' && (\n <BtnPrimary isFullWidth={!!isMobile} leftIcon={buttonIcon} onClick={handleClick}>\n {buttonText}\n </BtnPrimary>\n )}\n {canDismiss && (\n <Box\n data-testid=\"closeButton\"\n cursor=\"pointer\"\n marginLeft=\"12px\"\n sx={{\n svg: {\n position: 'absolute',\n top: '16px',\n right: '12px',\n },\n }}\n onClick={onClick}\n >\n <Close />\n </Box>\n )}\n </Box>\n )\n}\n","let e={data:\"\"},t=t=>\"object\"==typeof window?((t?t.querySelector(\"#_goober\"):window._goober)||Object.assign((t||document.head).appendChild(document.createElement(\"style\")),{innerHTML:\" \",id:\"_goober\"})).firstChild:t||e,r=e=>{let r=t(e),l=r.data;return r.data=\"\",l},l=/(?:([\\u0080-\\uFFFF\\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\\s*)/g,a=/\\/\\*[^]*?\\*\\/| +/g,n=/\\n+/g,o=(e,t)=>{let r=\"\",l=\"\",a=\"\";for(let n in e){let c=e[n];\"@\"==n[0]?\"i\"==n[1]?r=n+\" \"+c+\";\":l+=\"f\"==n[1]?o(c,n):n+\"{\"+o(c,\"k\"==n[1]?\"\":t)+\"}\":\"object\"==typeof c?l+=o(c,t?t.replace(/([^,])+/g,e=>n.replace(/([^,]*:\\S+\\([^)]*\\))|([^,])+/g,t=>/&/.test(t)?t.replace(/&/g,e):e?e+\" \"+t:t)):n):null!=c&&(n=/^--/.test(n)?n:n.replace(/[A-Z]/g,\"-$&\").toLowerCase(),a+=o.p?o.p(n,c):n+\":\"+c+\";\")}return r+(t&&a?t+\"{\"+a+\"}\":a)+l},c={},s=e=>{if(\"object\"==typeof e){let t=\"\";for(let r in e)t+=r+s(e[r]);return t}return e},i=(e,t,r,i,p)=>{let u=s(e),d=c[u]||(c[u]=(e=>{let t=0,r=11;for(;t<e.length;)r=101*r+e.charCodeAt(t++)>>>0;return\"go\"+r})(u));if(!c[d]){let t=u!==e?e:(e=>{let t,r,o=[{}];for(;t=l.exec(e.replace(a,\"\"));)t[4]?o.shift():t[3]?(r=t[3].replace(n,\" \").trim(),o.unshift(o[0][r]=o[0][r]||{})):o[0][t[1]]=t[2].replace(n,\" \").trim();return o[0]})(e);c[d]=o(p?{[\"@keyframes \"+d]:t}:t,r?\"\":\".\"+d)}let f=r&&c.g?c.g:null;return r&&(c.g=c[d]),((e,t,r,l)=>{l?t.data=t.data.replace(l,e):-1===t.data.indexOf(e)&&(t.data=r?e+t.data:t.data+e)})(c[d],t,i,f),d},p=(e,t,r)=>e.reduce((e,l,a)=>{let n=t[a];if(n&&n.call){let e=n(r),t=e&&e.props&&e.props.className||/^go/.test(e)&&e;n=t?\".\"+t:e&&\"object\"==typeof e?e.props?\"\":o(e,\"\"):!1===e?\"\":e}return e+l+(null==n?\"\":n)},\"\");function u(e){let r=this||{},l=e.call?e(r.p):e;return i(l.unshift?l.raw?p(l,[].slice.call(arguments,1),r.p):l.reduce((e,t)=>Object.assign(e,t&&t.call?t(r.p):t),{}):l,t(r.target),r.g,r.o,r.k)}let d,f,g,b=u.bind({g:1}),h=u.bind({k:1});function m(e,t,r,l){o.p=t,d=e,f=r,g=l}function j(e,t){let r=this||{};return function(){let l=arguments;function a(n,o){let c=Object.assign({},n),s=c.className||a.className;r.p=Object.assign({theme:f&&f()},c),r.o=/ *go\\d+/.test(s),c.className=u.apply(r,l)+(s?\" \"+s:\"\"),t&&(c.ref=o);let i=e;return e[0]&&(i=c.as||e,delete c.as),g&&i[0]&&g(c),d(i,c)}return t?t(a):a}}export{u as css,r as extractCss,b as glob,h as keyframes,m as setup,j as styled};\n","\"use client\";\nvar W=e=>typeof e==\"function\",T=(e,t)=>W(e)?e(t):e;var U=(()=>{let e=0;return()=>(++e).toString()})(),b=(()=>{let e;return()=>{if(e===void 0&&typeof window<\"u\"){let t=matchMedia(\"(prefers-reduced-motion: reduce)\");e=!t||t.matches}return e}})();import{useEffect as H,useState as j}from\"react\";var Q=20;var S=new Map,X=1e3,$=e=>{if(S.has(e))return;let t=setTimeout(()=>{S.delete(e),u({type:4,toastId:e})},X);S.set(e,t)},J=e=>{let t=S.get(e);t&&clearTimeout(t)},v=(e,t)=>{switch(t.type){case 0:return{...e,toasts:[t.toast,...e.toasts].slice(0,Q)};case 1:return t.toast.id&&J(t.toast.id),{...e,toasts:e.toasts.map(r=>r.id===t.toast.id?{...r,...t.toast}:r)};case 2:let{toast:o}=t;return e.toasts.find(r=>r.id===o.id)?v(e,{type:1,toast:o}):v(e,{type:0,toast:o});case 3:let{toastId:s}=t;return s?$(s):e.toasts.forEach(r=>{$(r.id)}),{...e,toasts:e.toasts.map(r=>r.id===s||s===void 0?{...r,visible:!1}:r)};case 4:return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(r=>r.id!==t.toastId)};case 5:return{...e,pausedAt:t.time};case 6:let a=t.time-(e.pausedAt||0);return{...e,pausedAt:void 0,toasts:e.toasts.map(r=>({...r,pauseDuration:r.pauseDuration+a}))}}},A=[],P={toasts:[],pausedAt:void 0},u=e=>{P=v(P,e),A.forEach(t=>{t(P)})},Y={blank:4e3,error:4e3,success:2e3,loading:1/0,custom:4e3},I=(e={})=>{let[t,o]=j(P);H(()=>(A.push(o),()=>{let a=A.indexOf(o);a>-1&&A.splice(a,1)}),[t]);let s=t.toasts.map(a=>{var r,c;return{...e,...e[a.type],...a,duration:a.duration||((r=e[a.type])==null?void 0:r.duration)||(e==null?void 0:e.duration)||Y[a.type],style:{...e.style,...(c=e[a.type])==null?void 0:c.style,...a.style}}});return{...t,toasts:s}};var G=(e,t=\"blank\",o)=>({createdAt:Date.now(),visible:!0,type:t,ariaProps:{role:\"status\",\"aria-live\":\"polite\"},message:e,pauseDuration:0,...o,id:(o==null?void 0:o.id)||U()}),h=e=>(t,o)=>{let s=G(t,e,o);return u({type:2,toast:s}),s.id},n=(e,t)=>h(\"blank\")(e,t);n.error=h(\"error\");n.success=h(\"success\");n.loading=h(\"loading\");n.custom=h(\"custom\");n.dismiss=e=>{u({type:3,toastId:e})};n.remove=e=>u({type:4,toastId:e});n.promise=(e,t,o)=>{let s=n.loading(t.loading,{...o,...o==null?void 0:o.loading});return e.then(a=>(n.success(T(t.success,a),{id:s,...o,...o==null?void 0:o.success}),a)).catch(a=>{n.error(T(t.error,a),{id:s,...o,...o==null?void 0:o.error})}),e};import{useEffect as K,useCallback as L}from\"react\";var Z=(e,t)=>{u({type:1,toast:{id:e,height:t}})},ee=()=>{u({type:5,time:Date.now()})},D=e=>{let{toasts:t,pausedAt:o}=I(e);K(()=>{if(o)return;let r=Date.now(),c=t.map(i=>{if(i.duration===1/0)return;let d=(i.duration||0)+i.pauseDuration-(r-i.createdAt);if(d<0){i.visible&&n.dismiss(i.id);return}return setTimeout(()=>n.dismiss(i.id),d)});return()=>{c.forEach(i=>i&&clearTimeout(i))}},[t,o]);let s=L(()=>{o&&u({type:6,time:Date.now()})},[o]),a=L((r,c)=>{let{reverseOrder:i=!1,gutter:d=8,defaultPosition:p}=c||{},g=t.filter(m=>(m.position||p)===(r.position||p)&&m.height),E=g.findIndex(m=>m.id===r.id),x=g.filter((m,R)=>R<E&&m.visible).length;return g.filter(m=>m.visible).slice(...i?[x+1]:[0,x]).reduce((m,R)=>m+(R.height||0)+d,0)},[t]);return{toasts:t,handlers:{updateHeight:Z,startPause:ee,endPause:s,calculateOffset:a}}};import*as l from\"react\";import{styled as B,keyframes as z}from\"goober\";import*as y from\"react\";import{styled as C,keyframes as me}from\"goober\";import{styled as te,keyframes as k}from\"goober\";var oe=k`\nfrom {\n transform: scale(0) rotate(45deg);\n\topacity: 0;\n}\nto {\n transform: scale(1) rotate(45deg);\n opacity: 1;\n}`,re=k`\nfrom {\n transform: scale(0);\n opacity: 0;\n}\nto {\n transform: scale(1);\n opacity: 1;\n}`,se=k`\nfrom {\n transform: scale(0) rotate(90deg);\n\topacity: 0;\n}\nto {\n transform: scale(1) rotate(90deg);\n\topacity: 1;\n}`,_=te(\"div\")`\n width: 20px;\n opacity: 0;\n height: 20px;\n border-radius: 10px;\n background: ${e=>e.primary||\"#ff4b4b\"};\n position: relative;\n transform: rotate(45deg);\n\n animation: ${oe} 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275)\n forwards;\n animation-delay: 100ms;\n\n &:after,\n &:before {\n content: '';\n animation: ${re} 0.15s ease-out forwards;\n animation-delay: 150ms;\n position: absolute;\n border-radius: 3px;\n opacity: 0;\n background: ${e=>e.secondary||\"#fff\"};\n bottom: 9px;\n left: 4px;\n height: 2px;\n width: 12px;\n }\n\n &:before {\n animation: ${se} 0.15s ease-out forwards;\n animation-delay: 180ms;\n transform: rotate(90deg);\n }\n`;import{styled as ae,keyframes as ie}from\"goober\";var ne=ie`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n`,V=ae(\"div\")`\n width: 12px;\n height: 12px;\n box-sizing: border-box;\n border: 2px solid;\n border-radius: 100%;\n border-color: ${e=>e.secondary||\"#e0e0e0\"};\n border-right-color: ${e=>e.primary||\"#616161\"};\n animation: ${ne} 1s linear infinite;\n`;import{styled as ce,keyframes as N}from\"goober\";var pe=N`\nfrom {\n transform: scale(0) rotate(45deg);\n\topacity: 0;\n}\nto {\n transform: scale(1) rotate(45deg);\n\topacity: 1;\n}`,de=N`\n0% {\n\theight: 0;\n\twidth: 0;\n\topacity: 0;\n}\n40% {\n height: 0;\n\twidth: 6px;\n\topacity: 1;\n}\n100% {\n opacity: 1;\n height: 10px;\n}`,w=ce(\"div\")`\n width: 20px;\n opacity: 0;\n height: 20px;\n border-radius: 10px;\n background: ${e=>e.primary||\"#61d345\"};\n position: relative;\n transform: rotate(45deg);\n\n animation: ${pe} 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275)\n forwards;\n animation-delay: 100ms;\n &:after {\n content: '';\n box-sizing: border-box;\n animation: ${de} 0.2s ease-out forwards;\n opacity: 0;\n animation-delay: 200ms;\n position: absolute;\n border-right: 2px solid;\n border-bottom: 2px solid;\n border-color: ${e=>e.secondary||\"#fff\"};\n bottom: 6px;\n left: 6px;\n height: 10px;\n width: 6px;\n }\n`;var ue=C(\"div\")`\n position: absolute;\n`,le=C(\"div\")`\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n min-width: 20px;\n min-height: 20px;\n`,Te=me`\nfrom {\n transform: scale(0.6);\n opacity: 0.4;\n}\nto {\n transform: scale(1);\n opacity: 1;\n}`,fe=C(\"div\")`\n position: relative;\n transform: scale(0.6);\n opacity: 0.4;\n min-width: 20px;\n animation: ${Te} 0.3s 0.12s cubic-bezier(0.175, 0.885, 0.32, 1.275)\n forwards;\n`,M=({toast:e})=>{let{icon:t,type:o,iconTheme:s}=e;return t!==void 0?typeof t==\"string\"?y.createElement(fe,null,t):t:o===\"blank\"?null:y.createElement(le,null,y.createElement(V,{...s}),o!==\"loading\"&&y.createElement(ue,null,o===\"error\"?y.createElement(_,{...s}):y.createElement(w,{...s})))};var ye=e=>`\n0% {transform: translate3d(0,${e*-200}%,0) scale(.6); opacity:.5;}\n100% {transform: translate3d(0,0,0) scale(1); opacity:1;}\n`,ge=e=>`\n0% {transform: translate3d(0,0,-1px) scale(1); opacity:1;}\n100% {transform: translate3d(0,${e*-150}%,-1px) scale(.6); opacity:0;}\n`,he=\"0%{opacity:0;} 100%{opacity:1;}\",xe=\"0%{opacity:1;} 100%{opacity:0;}\",be=B(\"div\")`\n display: flex;\n align-items: center;\n background: #fff;\n color: #363636;\n line-height: 1.3;\n will-change: transform;\n box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1), 0 3px 3px rgba(0, 0, 0, 0.05);\n max-width: 350px;\n pointer-events: auto;\n padding: 8px 10px;\n border-radius: 8px;\n`,Se=B(\"div\")`\n display: flex;\n justify-content: center;\n margin: 4px 10px;\n color: inherit;\n flex: 1 1 auto;\n white-space: pre-line;\n`,Ae=(e,t)=>{let s=e.includes(\"top\")?1:-1,[a,r]=b()?[he,xe]:[ye(s),ge(s)];return{animation:t?`${z(a)} 0.35s cubic-bezier(.21,1.02,.73,1) forwards`:`${z(r)} 0.4s forwards cubic-bezier(.06,.71,.55,1)`}},F=l.memo(({toast:e,position:t,style:o,children:s})=>{let a=e.height?Ae(e.position||t||\"top-center\",e.visible):{opacity:0},r=l.createElement(M,{toast:e}),c=l.createElement(Se,{...e.ariaProps},T(e.message,e));return l.createElement(be,{className:e.className,style:{...a,...o,...e.style}},typeof s==\"function\"?s({icon:r,message:c}):l.createElement(l.Fragment,null,r,c))});import{css as Pe,setup as Oe}from\"goober\";import*as f from\"react\";Oe(f.createElement);var Ee=({id:e,className:t,style:o,onHeightUpdate:s,children:a})=>{let r=f.useCallback(c=>{if(c){let i=()=>{let d=c.getBoundingClientRect().height;s(e,d)};i(),new MutationObserver(i).observe(c,{subtree:!0,childList:!0,characterData:!0})}},[e,s]);return f.createElement(\"div\",{ref:r,className:t,style:o},a)},Re=(e,t)=>{let o=e.includes(\"top\"),s=o?{top:0}:{bottom:0},a=e.includes(\"center\")?{justifyContent:\"center\"}:e.includes(\"right\")?{justifyContent:\"flex-end\"}:{};return{left:0,right:0,display:\"flex\",position:\"absolute\",transition:b()?void 0:\"all 230ms cubic-bezier(.21,1.02,.73,1)\",transform:`translateY(${t*(o?1:-1)}px)`,...s,...a}},ve=Pe`\n z-index: 9999;\n > * {\n pointer-events: auto;\n }\n`,O=16,Ie=({reverseOrder:e,position:t=\"top-center\",toastOptions:o,gutter:s,children:a,containerStyle:r,containerClassName:c})=>{let{toasts:i,handlers:d}=D(o);return f.createElement(\"div\",{style:{position:\"fixed\",zIndex:9999,top:O,left:O,right:O,bottom:O,pointerEvents:\"none\",...r},className:c,onMouseEnter:d.startPause,onMouseLeave:d.endPause},i.map(p=>{let g=p.position||t,E=d.calculateOffset(p,{reverseOrder:e,gutter:s,defaultPosition:t}),x=Re(g,E);return f.createElement(Ee,{id:p.id,key:p.id,onHeightUpdate:d.updateHeight,className:p.visible?ve:\"\",style:x},p.type===\"custom\"?T(p.message,p):a?a(p):f.createElement(F,{toast:p,position:g}))}))};var _t=n;export{w as CheckmarkIcon,_ as ErrorIcon,V as LoaderIcon,F as ToastBar,M as ToastIcon,Ie as Toaster,_t as default,T as resolveValue,n as toast,D as useToaster,I as useToasterStore};\n//# sourceMappingURL=index.mjs.map","export const handleTime = (message: string): number => {\n if (!message) return 3000\n\n const words = message.trim().split(/\\s+/).length\n const wordsPerMinute = 150\n const baseMinutes = words / wordsPerMinute\n\n // Convertimos a milisegundos: minutos * 60 segundos * 1000 ms\n const totalMs = Math.round(baseMinutes * 60 * 1000)\n\n // Aseguramos un mínimo de 3 segundos para mensajes muy cortos\n return Math.max(3000, totalMs)\n}\n","import { useCallback, useEffect, useState } from 'react'\nimport { toast, Toaster } from 'react-hot-toast'\n\nimport { IFlashNotificationProps } from './types.d'\nimport { alertStates } from './utils/alertStates'\nimport { handleTime } from './utils/handleTime'\nimport { Alert } from './Alert'\nimport { useMediaQuery } from '@chakra-ui/react'\n\n/**\n * Componente de notificación flash que se muestra centrada en la parte superior de la pantalla.\n * No requiere un contenedor <Toaster /> manual, ya que implementa un patrón Singleton.\n *\n * @example\n * const { show, active, config } = useFlashNotification({\n * state: 'info',\n * message: 'Respuesta guardada',\n * })\n *\n * return (\n * <>\n * <button onClick={active}>Trigger</button>\n * <FlashNotification {...config} show={show} />\n * </>\n * )\n */\n\n// Usamos una variable en window para asegurar que sea un único Toaster\n// incluso si la librería se carga en distintos bundles o proyectos.\nconst GLOBAL_TOASTER_FLAG = '_eclass_ui_kit_toaster_mounted'\n\nexport function FlashNotification({\n message,\n state,\n show,\n m,\n}: IFlashNotificationProps): JSX.Element {\n const [shouldRenderToaster, setShouldRenderToaster] = useState(false)\n const [isMobile] = useMediaQuery('(max-width: 440px)')\n\n useEffect(() => {\n // Si no hay un Toaster registrado globalmente en la ventana, esta instancia lo toma.\n if (typeof window !== 'undefined' && !(window as any)[GLOBAL_TOASTER_FLAG]) {\n ;(window as any)[GLOBAL_TOASTER_FLAG] = true\n setShouldRenderToaster(true)\n }\n }, [])\n\n const showToast = useCallback(() => {\n toast(\n (t) => (\n <Alert\n isFlash\n state={state}\n canDismiss\n onClick={() => toast.dismiss(t.id)}\n m={m}\n sx={{\n w: 'initial',\n maxWidth: 'initial',\n ...(isMobile && {\n // La librería agrega un margin por defecto, que no pude quitar.\n margin: '-4px -10px',\n borderRadius: 0,\n w: '100vw!important',\n }),\n }}\n >\n {message}\n </Alert>\n ),\n {\n duration: ['success', 'info'].includes(state) ? handleTime(message) : Infinity,\n id: alertStates[state].id,\n }\n )\n }, [message, state, m])\n\n useEffect(() => {\n if (show) {\n showToast()\n }\n }, [show, showToast])\n\n return (\n <>\n {shouldRenderToaster && (\n <Toaster\n position=\"top-center\"\n toastOptions={{\n className: 'toastContainer',\n style: {\n background: 'transparent',\n boxShadow: 'none',\n maxWidth: '100vw',\n padding: 0,\n margin: 0,\n },\n }}\n containerStyle={{\n left: 0,\n right: 0,\n ...(isMobile && {\n top: 0,\n }),\n padding: 0,\n margin: 0,\n }}\n />\n )}\n </>\n )\n}\n","import { useEffect, useState } from 'react'\nimport { IFlashNotificationProps } from '../types'\nimport { handleTime } from './handleTime'\n\n/**\n * Hook que actúa como trigger del componente FlashNotification,\n * usando los siguientes parámetros:\n * show: boolean que indica si la notificación se está mostrando o no,\n * active: función que modifica el estado de show,\n * config: contiene los valores de 'state' y message'\n * @example Llamado useFlashNotification y asignación de props\n * const { show, active, config } = useFlashNotification({\n * state: 'info',\n * message: 'Respuesta guardada',\n *})\n * @example Definición de trigger que activa la notificación\n * <button onClick={() => { active()}}> Activar notificación </button>\n * @example Componente FlashNotification recibiendo argumentos\n * <FlashNotification {...config} show={show} />\n */\n\nexport const useFlashNotification = ({ state, message }: IFlashNotificationProps): any => {\n // Estado que maneja si la notificación debe mostrarse.\n const [show, setShow] = useState(false)\n\n // Effect que controla la visibilidad de la notificación basado en los cambios de estado\n useEffect(() => {\n // Si la notificación se está mostrando, se determina el tiempo tras el cual se ocultará.\n if (show) {\n const duration = state === 'success' ? handleTime(message) : 1000\n const timeOut = setTimeout(() => {\n setShow(false)\n }, duration)\n return () => clearTimeout(timeOut)\n }\n }, [message, show, state])\n\n // Función que activa la notificación\n const active = (): any => {\n if (!show) {\n setShow(true)\n }\n }\n\n // Se retorna el estado de show, la función active y el objeto de config que contiene el estado y mensaje.\n return {\n show,\n active,\n config: {\n state,\n message,\n },\n }\n}\n","import { Box, ModalCloseButton, ModalHeader, useMediaQuery } from '@chakra-ui/react'\n\nimport { vars } from '@/theme'\nimport { IModalContentBase } from '../types'\nimport { uiKitModalIsDesktop } from './Modal'\n\nexport const ModalContentBase = ({\n children,\n closeOnOverlayClick,\n fixedSubtitle,\n title,\n withoutMargin,\n}: IModalContentBase): JSX.Element => {\n const [isDesktop] = useMediaQuery(`(min-width: ${uiKitModalIsDesktop}px)`)\n const py = '32px'\n const px = '24px'\n\n return (\n <>\n <ModalHeader\n bg={vars('colors-main-deepSkyBlue')}\n borderTopRadius={isDesktop ? '8px' : 0}\n color={vars('colors-neutral-white')}\n fontFamily=\"Roboto\"\n fontSize={isDesktop ? '20px' : '18px'}\n fontWeight={700}\n lineHeight={1}\n mb={withoutMargin ? 0 : '32px'}\n paddingY={px}\n textAlign=\"center\"\n >\n {title}\n </ModalHeader>\n {closeOnOverlayClick && (\n <ModalCloseButton\n background=\"transparent!important\"\n border=\"none\"\n color={vars('colors-neutral-white')}\n h=\"12px\"\n p=\"22px\"\n right={0}\n top={0}\n w=\"12px\"\n _focus={{\n boxShadow: 'none',\n }}\n _focusVisible={{\n boxShadow: `inset 0 0 0 2px ${vars('colors-alert-deepSkyBlue')}, inset 0 0 0 4px ${vars(\n 'colors-neutral-white'\n )}`,\n }}\n />\n )}\n {fixedSubtitle?.trim() && (\n <Box as=\"p\" fontSize=\"14px\" lineHeight=\"19px\" mb={py} textAlign=\"center\" px={px}>\n {fixedSubtitle}\n </Box>\n )}\n {children}\n </>\n )\n}\n","import { BoxProps, useMediaQuery } from '@chakra-ui/react'\nimport { vars } from '@/theme'\nimport { ModalPadding, uiKitModalIsDesktop } from '../Modal/Modal'\n\ninterface ModalConfig {\n closeOnOverlayClick: boolean\n closeOnEsc: boolean\n scrollBehavior?: 'outside' | 'inside'\n contentProps: BoxProps\n}\n\ninterface UseModalConfigParams {\n closeOnOverlayClick: boolean\n scrollBehavior: 'outside' | 'inside'\n fixedButtons: boolean\n withoutMargin: boolean\n}\n\nexport const useModalConfig = ({\n closeOnOverlayClick,\n scrollBehavior,\n fixedButtons,\n withoutMargin,\n}: UseModalConfigParams): ModalConfig => {\n const [isDesktop] = useMediaQuery(`(min-width: ${uiKitModalIsDesktop}px)`)\n // fixedButtons requiere scroll interno\n const isInsideScroll = scrollBehavior === 'inside'\n const shouldForceInsideScroll = fixedButtons\n const isInside = isInsideScroll || shouldForceInsideScroll\n return {\n closeOnOverlayClick,\n closeOnEsc: closeOnOverlayClick,\n scrollBehavior: isInside ? 'inside' : 'outside',\n contentProps: {\n maxH: isInside ? '100dvh' : 'auto',\n minH: isDesktop ? '300px' : '100dvh',\n padding: 0,\n width: '100%',\n animation: 'none',\n sx: {\n bgColor: vars('colors-neutral-white'),\n borderRadius: isDesktop ? '8px' : 0,\n mt: isDesktop ? '48px' : 0,\n mb: isDesktop ? '48px' : 0,\n marginX: isDesktop ? 'auto' : 0,\n maxH: isInside ? 'calc(100dvh - 96px)' : 'auto',\n maxWidth: isDesktop ? '690px' : '100%',\n\n ...(fixedButtons && {\n '.uikit-modalContent': {\n pb: 0,\n },\n '.uikit-modalButtons': {\n ...ModalPadding,\n },\n }),\n ...(withoutMargin && {\n '.uikit-modalContent': {\n pt: 0,\n px: 0,\n },\n '.uikit-modalButtons': {\n px: ModalPadding.px,\n },\n }),\n },\n },\n }\n}\n","import { Modal as ChakraModal, ModalOverlay, ModalContent, Box } from '@chakra-ui/react'\n\nimport { IModal } from '../types'\nimport { ModalContentBase } from './ModalContentBase'\nimport { useModalConfig } from './useModalConfig'\n\nexport const uiKitModalIsDesktop = 641\nexport const ModalPadding = {\n py: '32px',\n px: '24px',\n}\n\nexport const Modal = ({\n children,\n closeOnOverlayClick = true,\n fixedSubtitle,\n isOpen,\n onClose,\n title,\n withoutMargin = false,\n scrollBehavior = 'outside',\n fixedButtons = false,\n autoFocus = false,\n}: IModal): JSX.Element => {\n const isInside = scrollBehavior === 'inside' || fixedButtons\n\n const modalConfig = useModalConfig({\n closeOnOverlayClick,\n scrollBehavior,\n fixedButtons,\n withoutMargin,\n })\n\n return (\n <ChakraModal\n closeOnOverlayClick={modalConfig.closeOnOverlayClick}\n closeOnEsc={modalConfig.closeOnEsc}\n isOpen={isOpen}\n motionPreset=\"scale\"\n onClose={onClose}\n scrollBehavior={isInside ? 'inside' : 'outside'}\n autoFocus={autoFocus}\n blockScrollOnMount={false}\n >\n <ModalOverlay />\n <Box\n sx={{\n ...(isInside && {\n '.uikit-modalContent': {\n pb: '16px !important',\n },\n '.uikit-modalButtons': {\n boxShadow: '0px 4px 16px 0px #5C5C5C33',\n },\n }),\n }}\n >\n <ModalContent {...modalConfig.contentProps}>\n <ModalContentBase\n fixedButtons={fixedButtons}\n withoutMargin={withoutMargin}\n title={title}\n closeOnOverlayClick={closeOnOverlayClick}\n fixedSubtitle={fixedSubtitle}\n >\n {children}\n </ModalContentBase>\n </ModalContent>\n </Box>\n </ChakraModal>\n )\n}\n","import {\n ModalFooter,\n ModalFooterProps,\n ModalBody,\n useMediaQuery,\n ModalBodyProps,\n} from '@chakra-ui/react'\n\nimport { IModalButtons } from '../types'\nimport { uiKitModalIsDesktop } from './Modal'\n\nconst StyledModalFooter = ModalFooter as React.FC<ModalFooterProps>\nconst StyledModalBody = ModalBody as React.FC<ModalBodyProps>\n\n/**\n * Componente que renderiza los botones de un modal.\n * @example\n * <ModalButtons>\n * <BtnPrimary as=\"button\" onClick={() => onClose()}>Aceptar</BtnPrimary>\n * <BtnSecondary as=\"button\" onClick={() => onClose()}>Cancelar</BtnSecondary>\n * </ModalButtons>\n */\nexport const ModalButtons = ({\n children,\n buttonsCenter,\n buttonsColumn,\n}: IModalButtons): JSX.Element => {\n const [isDesktop] = useMediaQuery(`(min-width: ${uiKitModalIsDesktop}px)`)\n const buttonFull = !isDesktop && buttonsColumn\n\n return (\n <StyledModalFooter\n as=\"footer\"\n flexDirection={buttonFull ? 'column' : 'row'}\n gap=\"24px\"\n justifyContent={buttonsCenter ? 'center' : 'flex-start'}\n px={0}\n pt=\"32px\"\n pb={0}\n className=\"uikit-modalButtons\"\n sx={{\n '&>div, &>div>.react-ripples, &>div>.react-ripples>button': {\n width: isDesktop ? 'auto' : '100%',\n },\n }}\n >\n {children}\n </StyledModalFooter>\n )\n}\n\nexport const ModalContent = ({\n children,\n pb = '32px',\n}: {\n children: React.ReactNode\n pb?: string\n}): JSX.Element => {\n return (\n <StyledModalBody pt={0} pb={pb} className=\"uikit-modalContent\">\n {children}\n </StyledModalBody>\n )\n}\n","import { vars } from '@/theme'\n\nexport const Loading = ({\n fill = vars('colors-main-deepSkyBlue'),\n}: {\n fill?: string\n}): JSX.Element => {\n return (\n <svg\n data-testid=\"loading-svg\"\n id=\"prefix__eXySq0EBKm11\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 38 20\"\n shapeRendering=\"geometricPrecision\"\n textRendering=\"geometricPrecision\"\n width={50}\n height={35}\n >\n <style\n dangerouslySetInnerHTML={{\n __html:\n '@keyframes eXySq0EBKm12_f_o{0%,33.333333%,to{fill-opacity:.4}66.666667%{fill-opacity:1;animation-timing-function:cubic-bezier(.42,0,.58,1)}}@keyframes eXySq0EBKm13_f_o{0%,66.666667%,to{fill-opacity:.4}33.333333%{fill-opacity:1;animation-timing-function:cubic-bezier(.42,0,.58,1)}}@keyframes eXySq0EBKm14_f_o{0%{fill-opacity:1;animation-timing-function:cubic-bezier(.42,0,.58,1)}33.333333%,66.666667%{fill-opacity:.4}to{fill-opacity:1}}',\n }}\n />\n <circle\n r={2.502}\n transform=\"translate(29.526 10)\"\n fill={fill}\n fillOpacity={0.4}\n style={{\n animation: 'eXySq0EBKm12_f_o 600ms linear infinite normal forwards',\n }}\n />\n <circle\n r={2.502}\n transform=\"translate(19 10)\"\n fill={fill}\n fillOpacity={0.4}\n style={{\n animation: 'eXySq0EBKm13_f_o 600ms linear infinite normal forwards',\n }}\n />\n <circle\n r={2.053}\n transform=\"matrix(1.21764 0 0 1.21764 8.562 10.002)\"\n fill={fill}\n style={{\n animation: 'eXySq0EBKm14_f_o 600ms linear infinite normal forwards',\n }}\n />\n </svg>\n )\n}\n","import { Box, ModalBody, useMediaQuery } from '@chakra-ui/react'\nimport DOMPurifyLib from 'dompurify'\nimport ReactParser from 'html-react-parser'\n\nimport { IModalAlertContent } from '../types'\n\nimport { Loading } from './Loading'\nimport { alertColorStates } from '@/organisms/Alerts/utils/alertStates'\nimport { stylesBtnLink } from '@/molecules/Buttons/BtnLink'\n\nexport const ModalAlertContent = ({\n type,\n title,\n description,\n status,\n children,\n}: IModalAlertContent): JSX.Element => {\n const [isDesktop] = useMediaQuery('(min-width: 641px)')\n\n const descriptionParsed =\n typeof description === 'string' ? ReactParser(DOMPurifyLib.sanitize(description)) : description\n\n return (\n <>\n <ModalBody\n p=\"32px\"\n display=\"flex\"\n flexDirection=\"column\"\n alignItems=\"center\"\n textAlign=\"center\"\n gap=\"16px\"\n fontFamily=\"Roboto\"\n >\n {type === 'loading' ? (\n <Loading />\n ) : (\n <Box display=\"flex\" justifyContent=\"center\">\n {alertColorStates[status ?? 'info'].icon}\n </Box>\n )}\n {title && (\n <Box\n as=\"p\"\n fontWeight=\"700\"\n fontSize={isDesktop ? '20px' : '18px'}\n lineHeight=\"24px\"\n mb={0}\n >\n {title}\n </Box>\n )}\n {description && (\n <Box\n as=\"p\"\n fontSize=\"16px\"\n lineHeight=\"24px\"\n mb={0}\n sx={{\n a: {\n ...stylesBtnLink,\n },\n }}\n >\n {descriptionParsed}\n </Box>\n )}\n </ModalBody>\n {type !== 'loading' && children ? children : <></>}\n </>\n )\n}\n","import { BoxProps, useMediaQuery } from '@chakra-ui/react'\n\nimport { uiKitModalIsDesktop } from '../Modal/Modal'\n\ninterface ModalConfig {\n closeOnOverlayClick: boolean\n closeOnEsc: boolean\n scrollBehavior?: 'outside' | 'inside'\n contentProps: BoxProps\n}\n\nexport const useModalAlertConfig = (): ModalConfig => {\n const [isDesktop] = useMediaQuery(`(min-width: ${uiKitModalIsDesktop}px)`)\n\n return {\n closeOnOverlayClick: false,\n closeOnEsc: false,\n scrollBehavior: 'outside',\n contentProps: {\n borderRadius: '8px',\n p: 0,\n m: '10vh auto 0',\n sx: {\n maxWidth: isDesktop ? '589px' : '343px',\n },\n },\n }\n}\n","import { Box, Modal as ChakraModal, ModalContent, ModalOverlay } from '@chakra-ui/react'\n\nimport { IModalAlert } from '../types'\nimport { vars } from '@/theme'\nimport { ModalAlertContent } from './ModalAlertContent'\nimport { useModalAlertConfig } from './useModalAlertConfig'\n\nexport const ModalAlertNew = ({\n autoFocus = false,\n type,\n isOpen,\n onClose,\n children,\n title,\n description,\n status,\n}: IModalAlert): JSX.Element => {\n const modalConfig = useModalAlertConfig()\n return (\n <>\n <ChakraModal\n closeOnOverlayClick={false}\n isOpen={isOpen}\n motionPreset=\"scale\"\n onClose={onClose}\n closeOnEsc={type !== 'loading'}\n autoFocus={autoFocus}\n >\n <ModalOverlay />\n <ModalContent {...modalConfig.contentProps}>\n <ModalAlertContent type={type} title={title} description={description} status={status}>\n {children}\n </ModalAlertContent>\n </ModalContent>\n </ChakraModal>\n </>\n )\n}\n\n/**\n * Componente que renderiza los botones de un modal alert.\n * @example\n * <ModalAlertButtons>\n * <BtnLink as=\"button\" onClick={() => onClose()}>Cancelar</BtnLink>\n * <BtnLink as=\"button\" onClick={() => onClose()}>Aceptar</BtnLink>\n * </ModalAlertButtons>\n */\nexport const ModalAlertButtons = ({ children }: { children: React.ReactNode }): JSX.Element => {\n return (\n <Box\n autoFocus={false}\n display=\"flex\"\n w=\"100%\"\n borderTop={`1px solid ${vars('colors-neutral-platinum')}`}\n sx={{\n button: {\n borderRight: `1px solid ${vars('colors-neutral-platinum')}`,\n fontFamily: 'Roboto',\n fontSize: '16px',\n fontWeight: 500,\n lineHeight: '21px',\n p: '16px',\n textDecor: 'none',\n width: '100%',\n '&:last-child': {\n borderRight: 'none',\n },\n },\n }}\n >\n {children}\n </Box>\n )\n}\n","import { BoxProps } from '@chakra-ui/react'\n\nimport { ModalMultipleProps } from './ModalMultiple'\nimport { useModalConfig } from '../Modal/useModalConfig'\nimport { useModalAlertConfig } from '../ModalAlert/useModalAlertConfig'\n\ninterface ModalConfig {\n closeOnOverlayClick: boolean\n closeOnEsc: boolean\n scrollBehavior?: 'outside' | 'inside'\n contentProps: BoxProps\n}\n\ninterface UseModalMultipleConfigParams {\n type: ModalMultipleProps['type']\n closeOnOverlayClick: boolean\n scrollBehavior: 'outside' | 'inside'\n fixedButtons: boolean\n withoutMargin: boolean\n}\n\nexport const useModalMultipleConfig = ({\n type,\n closeOnOverlayClick,\n scrollBehavior,\n fixedButtons,\n withoutMargin,\n}: UseModalMultipleConfigParams): ModalConfig => {\n const modalConfig = useModalConfig({\n closeOnOverlayClick,\n scrollBehavior,\n fixedButtons,\n withoutMargin,\n })\n\n const modalAlertConfig = useModalAlertConfig()\n\n switch (type) {\n case 'modal':\n return modalConfig\n case 'modalAlert':\n case 'modalLoading':\n return modalAlertConfig\n }\n}\n","import { Modal as ChakraModal, ModalOverlay, ModalContent } from '@chakra-ui/react'\n\nimport { ModalContentBase } from '../Modal/ModalContentBase'\nimport { ModalAlertContent } from '../ModalAlert/ModalAlertContent'\nimport { IModalAlert, IModal } from '../types'\nimport { useModalMultipleConfig } from './useModalMultipleConfig'\n\n/* -------------------------------------------------------------------------- */\n/* TYPES */\n/* -------------------------------------------------------------------------- */\n\nexport interface ModalDefaultProps {\n closeOnOverlayClick?: IModal['closeOnOverlayClick']\n fixedSubtitle?: IModal['fixedSubtitle']\n withoutMargin?: IModal['withoutMargin']\n scrollBehavior?: IModal['scrollBehavior']\n fixedButtons?: IModal['fixedButtons']\n}\n\ntype BaseProps = ModalDefaultProps & {\n isOpen: boolean\n onClose: () => void\n autoFocus?: boolean\n}\n\ntype ModalProps = BaseProps & {\n type: 'modal'\n title?: string\n children: React.ReactNode\n}\n\ntype ModalAlertProps = BaseProps & {\n type: 'modalAlert' | 'modalLoading'\n title?: string\n description?: string\n status?: IModalAlert['status']\n children?: React.ReactNode\n}\n\nexport type ModalMultipleProps = ModalProps | ModalAlertProps\n\n/* -------------------------------------------------------------------------- */\n/* COMPONENT */\n/* -------------------------------------------------------------------------- */\n/**\n * \n * @example\n * <ModalMultiple\n type={type}\n isOpen={open}\n onClose={() => setOpen(false)}\n title={type === 'modal' ? 'Confirmación' : '¿Seguro que deseas borrar esta pregunta?'}\n status=\"info\"\n description=\"Por favor escoge otro horario.\"\n >\n {type === 'modal' ? (\n <ModalContent>\n <p>\n alumnos, además de definir el uso de la plataforma de estudio. \n </p>\n <ModalButtons>\n <BtnPrimary onClick={() => setType('modalAlert')}>Guardar</BtnPrimary>\n <BtnSecondary onClick={() => setOpen(false)}>Cancelar</BtnSecondary>\n </ModalButtons>\n </ModalContent>\n ) : (\n <ModalAlertButtons>\n <BtnLink as=\"button\" onClick={() => setType('modal')}>\n Aceptar\n </BtnLink>\n <BtnLink as=\"button\" onClick={() => setOpen(false)}>\n Cancelar\n </BtnLink>\n </ModalAlertButtons>\n )}\n </ModalMultiple>\n */\nexport const ModalMultiple = (props: ModalMultipleProps): JSX.Element => {\n const {\n type,\n isOpen,\n onClose,\n autoFocus = false,\n children,\n title,\n closeOnOverlayClick = true,\n fixedSubtitle,\n withoutMargin = false,\n scrollBehavior = 'outside',\n fixedButtons = false,\n } = props\n\n const modalConfig = useModalMultipleConfig({\n type,\n closeOnOverlayClick,\n scrollBehavior,\n fixedButtons,\n withoutMargin,\n })\n\n const renderContent = (): JSX.Element | null => {\n switch (type) {\n case 'modal':\n return (\n <ModalContentBase\n fixedButtons={fixedButtons}\n withoutMargin={withoutMargin}\n title={title}\n closeOnOverlayClick={closeOnOverlayClick}\n fixedSubtitle={fixedSubtitle}\n >\n {children}\n </ModalContentBase>\n )\n\n case 'modalAlert':\n case 'modalLoading': {\n const { description, status } = props\n\n return (\n <ModalAlertContent\n type={type === 'modalAlert' ? 'info' : 'loading'}\n title={title}\n description={description}\n status={status}\n >\n {children}\n </ModalAlertContent>\n )\n }\n }\n }\n\n return (\n <ChakraModal\n isOpen={isOpen}\n onClose={onClose}\n motionPreset=\"scale\"\n autoFocus={autoFocus}\n closeOnOverlayClick={modalConfig.closeOnOverlayClick}\n closeOnEsc={modalConfig.closeOnEsc}\n scrollBehavior={modalConfig.scrollBehavior}\n >\n <ModalOverlay />\n <ModalContent {...modalConfig.contentProps}>{renderContent()}</ModalContent>\n </ChakraModal>\n )\n}\n","// import { useState } from 'react'\nimport {\n Modal,\n ModalOverlay,\n ModalContent,\n ModalHeader,\n ModalFooter,\n ModalBody,\n Box,\n useMediaQuery,\n} from '@chakra-ui/react'\nimport { alertColorStates } from '../Alerts/utils/alertStates'\nimport { ModalAlertProps } from './types'\nimport { BtnLink } from '@/molecules'\n\nexport function ModalAlert({\n showModal,\n typeAlert,\n title,\n description,\n optionsButton,\n top,\n}: ModalAlertProps): JSX.Element {\n const [isDesktop] = useMediaQuery('(min-width: 650px)')\n\n const modalStyles = {\n content: {\n top: top,\n },\n }\n\n const showBorder = optionsButton.length > 1\n return (\n <Modal\n id=\"modal-alert\"\n isOpen={showModal}\n onClose={() => {}}\n closeOnEsc={false}\n closeOnOverlayClick={false}\n size={isDesktop ? 'xl' : 'sm'}\n isCentered={false}\n >\n <ModalOverlay\n bg=\"rgba(0, 0, 0, 0.5)\"\n position=\"fixed\"\n top=\"0\"\n left=\"0\"\n right=\"0\"\n bottom=\"0\"\n zIndex=\"998\"\n />\n <ModalContent zIndex=\"999\" sx={modalStyles.content}>\n <Box\n alignItems=\"center\"\n justifyContent=\"center\"\n textAlign=\"center\"\n py=\"2rem\"\n borderBottom=\"1px solid #E6E6E6\"\n >\n <Box display=\"flex\" justifyContent=\"center\">\n {alertColorStates[typeAlert].icon}\n </Box>\n <ModalHeader py=\"1rem\">{title}</ModalHeader>\n <ModalBody py=\"0.5rem\" px=\"2rem\">\n {description}\n </ModalBody>\n </Box>\n <ModalFooter justifyContent=\"center\" padding=\"0\">\n {optionsButton.map((option, index) => {\n return (\n <Box\n key={index}\n width=\"99%\"\n textAlign=\"center\"\n padding=\"1rem\"\n borderLeftWidth={showBorder && option.id === optionsButton[1].id ? '1px' : '0'}\n borderLeftColor=\"#E6E6E6\"\n onClick={() => option.action()}\n >\n <BtnLink textDecorationLine={false} fontSize=\"1rem\">\n {option.label}\n </BtnLink>\n </Box>\n )\n })}\n </ModalFooter>\n </ModalContent>\n </Modal>\n )\n}\n\nModalAlert.displayName = 'ModalAlert'\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\ninterface CalendarProps {\n color?: string\n}\n\nexport const Calendar: FC<CalendarProps> = ({ color = 'white' }) => {\n return (\n <Icon\n width=\"16px\"\n height=\"17px\"\n viewBox=\"0 0 16 17\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M15 2.5H13V0.5H11V2.5H9V0.5H7V2.5H5V0.5H3V2.5H1C0.447 2.5 0 2.947 0 3.5V15.5C0 16.053 0.447 16.5 1 16.5H15C15.553 16.5 16 16.053 16 15.5V3.5C16 2.947 15.553 2.5 15 2.5ZM14 14.5H2V5.5H14V14.5Z\"\n fill={color}\n />\n <path d=\"M6 7.5H4V9.5H6V7.5Z\" fill={color} />\n <path d=\"M9 7.5H7V9.5H9V7.5Z\" fill={color} />\n <path d=\"M6 10.5H4V12.5H6V10.5Z\" fill={color} />\n <path d=\"M9 10.5H7V12.5H9V10.5Z\" fill={color} />\n <path d=\"M12 7.5H10V9.5H12V7.5Z\" fill={color} />\n <path d=\"M12 10.5H10V12.5H12V10.5Z\" fill={color} />\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\ninterface ClockProps {\n color?: string\n}\n\nexport const Clock: FC<ClockProps> = ({ color = 'white' }) => {\n return (\n <Icon\n width=\"16px\"\n height=\"17px\"\n viewBox=\"0 0 16 17\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 8.5C0 4.1 3.6 0.5 8 0.5C12.4 0.5 16 4.1 16 8.5C16 12.9 12.4 16.5 8 16.5C3.6 16.5 0 12.9 0 8.5ZM7 9.5H12V7.5H9V4.5H7V9.5Z\"\n fill={color}\n />\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { Box, Flex, Text, Link } from '@chakra-ui/react'\nimport { ItemsEventsProps } from '../EventsTypes'\nimport { vars } from '@/theme'\nimport { Calendar, Clock } from '../Icons'\nimport { Ripples } from '@/atoms'\n\nexport const LargeBox: FC<ItemsEventsProps> = ({\n id,\n eventTitle,\n startDate,\n startTime,\n buttonInfo,\n redirect,\n eventImage,\n targetBlank,\n isMobile,\n}) => {\n const cssActive = {\n boxShadow: `0 2px 7px 0 ${vars('colors-neutral-silverSand')}`,\n }\n return (\n <Link\n key={id}\n href={redirect}\n target={targetBlank ? '_blank' : '_self'}\n rel={targetBlank ? 'noopener noreferrer' : undefined}\n w=\"fit-content\"\n h=\"fit-content\"\n transition=\"box-shadow .3s\"\n borderRadius={vars('radii-big')}\n _active={cssActive}\n _hover={cssActive}\n _focusVisible={{\n boxShadow: `0 0 0 3px ${vars('colors-alert-deepSkyBlue')}`,\n }}\n >\n <Ripples>\n <Flex cursor=\"pointer\" w=\"fit-content\" display={isMobile ? 'block' : 'flex'}>\n <Box\n width=\"285px\"\n height={isMobile ? '140px' : '168px'}\n bgImage={`url(${eventImage})`}\n backgroundSize=\"cover\"\n borderRadius={isMobile ? '8px 8px 0px 0px' : '8px 0 0 8px'}\n />\n <Box\n width={isMobile ? '285px' : '305px'}\n minHeight={isMobile ? '160px' : '168px'}\n borderRadius={isMobile ? '0 0 8px 8px' : '0 8px 8px 0'}\n border={vars('borders-light')}\n display=\"flex\"\n flexDirection=\"column\"\n cursor=\"pointer\"\n >\n <Box\n width=\"inherit\"\n height=\"100%\"\n padding=\"16px\"\n color=\"#555555\"\n gap=\"16px\"\n display=\"grid\"\n >\n <Text fontWeight=\"700\" m=\"0px\" p=\"0px\">\n {eventTitle}\n </Text>\n <Box display=\"flex\" alignItems=\"center\" gap=\"4px\">\n <Calendar color={vars('colors-main-ziggurat')} />\n <Text fontWeight=\"400\" m=\"0px\" p=\"0px\">\n {startDate}\n </Text>\n <Text color={vars('borders-light')} m=\"0px\" p=\"0px\">\n |\n </Text>\n <Clock color={vars('colors-main-ziggurat')} />\n <Text m=\"0px\" p=\"0px\">\n {startTime}\n </Text>\n </Box>\n </Box>\n <Box\n borderTop={`${vars('borders-light')}`}\n width=\"100%\"\n height=\"50px\"\n padding=\"12px\"\n backgroundColor=\"white\"\n alignItems=\"center\"\n display=\"flex\"\n justifyContent=\"center\"\n borderRadius=\" 0 0 8px 8px\"\n fontSize=\"16px\"\n fontFamily=\"Roboto\"\n color={vars('colors-main-deepSkyBlue')}\n fontWeight=\"500\"\n >\n {buttonInfo}\n </Box>\n </Box>\n </Flex>\n </Ripples>\n </Link>\n )\n}\n","import { FC } from 'react'\nimport { Box, Text, Link } from '@chakra-ui/react'\nimport { vars } from '@/theme'\nimport { ItemsEventsProps } from '../EventsTypes'\nimport { Calendar, Clock } from '../Icons'\nimport { Ripples } from '@/atoms'\n\nexport const SmallBox: FC<ItemsEventsProps> = ({\n id,\n eventTitle,\n startDate,\n startTime,\n buttonInfo,\n redirect,\n eventImage,\n targetBlank,\n}) => {\n const cssActive = {\n boxShadow: `0 2px 7px 0 ${vars('colors-neutral-silverSand')}`,\n }\n return (\n <Link\n key={id}\n href={redirect}\n target={targetBlank ? '_blank' : '_self'}\n rel={targetBlank ? 'noopener noreferrer' : undefined}\n transition=\"box-shadow .3s\"\n _active={cssActive}\n _hover={cssActive}\n _focusVisible={{\n boxShadow: `0 0 0 3px ${vars('colors-alert-deepSkyBlue')}`,\n }}\n width=\"286px\"\n height=\"247px\"\n borderRadius={vars('radii-big')}\n >\n <Ripples>\n <Box\n width=\"286px\"\n height=\"247px\"\n borderRadius={vars('radii-big')}\n border={vars('borders-light')}\n justifyContent=\"center\"\n textAlign=\"center\"\n display=\"flex\"\n flexDirection=\"column\"\n cursor=\"pointer\"\n >\n <Box\n flex=\"1\"\n bgImage={`linear-gradient(to bottom, rgba(0,0,0,0) 35%, rgba(0,0,0,1) 100%), url(${eventImage})`}\n backgroundSize=\"cover\"\n borderRadius=\"8px 8px 0 0\"\n margin=\"0\"\n display=\"grid\"\n alignItems=\"flex-end\"\n >\n <Box\n color={vars('colors-neutral-white')}\n padding=\"16px\"\n textAlign=\"initial\"\n fontFamily=\"Roboto\"\n fontSize=\"16px\"\n lineHeight=\"21px\"\n display=\"grid\"\n gap=\"8px\"\n >\n <Text fontWeight=\"700\" m=\"0px\">\n {eventTitle}\n </Text>\n <Box display=\"flex\" alignItems=\"center\" gap=\"4px\">\n <Calendar />\n <Text fontWeight=\"400\" m=\"0px\">\n {startDate}\n </Text>\n <Text m=\"0px\">|</Text>\n <Clock />\n <Text m=\"0px\">{startTime}</Text>\n </Box>\n </Box>\n </Box>\n <Box\n width=\"100%\"\n height=\"50px\"\n backgroundColor=\"white\"\n alignItems=\"center\"\n display=\"flex\"\n justifyContent=\"center\"\n borderRadius=\" 0 0 8px 8px\"\n fontSize=\"16px\"\n fontFamily=\"Roboto\"\n color={vars('colors-main-deepSkyBlue')}\n fontWeight=\"500\"\n >\n {buttonInfo}\n </Box>\n </Box>\n </Ripples>\n </Link>\n )\n}\n","import { FC } from 'react'\nimport { EventosProps } from './EventsTypes'\nimport { SmallBox, LargeBox } from './TypeBox'\n\nexport const Eventos: FC<EventosProps> = ({ typeEvent, itemsEvent }) => {\n // Retornamos tipo de caja evento\n if (typeEvent === 'LARGE_EVENTS') {\n return <LargeBox {...itemsEvent} />\n } else {\n return <SmallBox {...itemsEvent} />\n }\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\nimport { uniqueId } from '@/services'\n\nexport const Avi: FC = () => {\n const id = `clip${uniqueId()}`\n return (\n <Icon\n width=\"70px\"\n height=\"70px\"\n viewBox=\"0 0 70 70\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_3171_3696)\">\n <path\n d=\"M43.75 2.1875V19.6875H61.25\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M61.25 28.4375V19.6875L43.75 2.1875H8.75V28.4375\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M8.75 59.0625V67.8125H61.25V59.0625\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M28.4375 50.3125L27.7812 47.9063H23.625L23.1875 50.3125H19.4688L23.625 37.8438H28.2188L32.375 50.3125H28.4375ZM27.125 45.2813L26.6875 43.3125C26.4688 42.875 26.4688 42.2188 26.25 41.5625C26.0313 40.9063 26.0313 40.25 25.8125 40.0312C25.8125 40.25 25.5938 40.9063 25.5938 41.5625C25.5938 42.2188 25.1563 43.5312 24.5 45.5H27.125V45.2813Z\"\n fill=\"white\"\n />\n <path\n d=\"M40.6875 37.8438H44.4062L40.25 50.3125H36.3125L32.1562 37.8438H35.875L37.625 44.1875C38.0625 45.5 38.0625 46.5938 38.2813 47.0313C38.2813 46.5938 38.5 46.1562 38.5 45.5C38.5 44.8438 38.7188 44.4063 38.7188 44.1875L40.6875 37.8438Z\"\n fill=\"white\"\n />\n <path d=\"M45.7188 50.3125V37.8438H49.2188V50.3125H45.7188Z\" fill=\"white\" />\n <path\n d=\"M67.8125 28.4375H2.1875V59.0625H67.8125V28.4375Z\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"70px\" height=\"70px\" fill=\"white\" />\n </clipPath>\n </defs>\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\nimport { uniqueId } from '@/services'\n\nexport const Csv: FC = () => {\n const id = `clip${uniqueId()}`\n return (\n <Icon\n width=\"70px\"\n height=\"70px\"\n viewBox=\"0 0 70 70\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_3171_3654)\">\n <path\n d=\"M43.75 2.1875V19.6875H61.25\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M61.25 28.4375V19.6875L43.75 2.1875H8.75V28.4375\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M8.75 59.0625V67.8125H61.25V59.0625\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M25.1563 40.4688C24.2813 40.4688 23.625 40.9062 23.1875 41.5625C22.75 42.2188 22.5313 43.0938 22.5313 44.1875C22.5313 46.5938 23.4063 47.6875 25.375 47.6875C26.0313 47.6875 26.4688 47.6875 26.9063 47.4688C27.3438 47.25 28 47.0312 28.4375 46.8125V49.6563C27.3438 50.0938 26.25 50.3125 24.9375 50.3125C22.9687 50.3125 21.6562 49.875 20.5625 48.5625C19.4687 47.25 19.0312 45.9375 19.0312 43.75C19.0312 42.4375 19.25 41.3437 19.6875 40.25C20.125 39.1562 20.7813 38.5 21.875 38.0625C22.9688 37.625 23.8438 37.1875 25.1563 37.1875C26.4688 37.1875 27.7813 37.4062 29.0938 38.0625L28 40.6875C27.5625 40.4688 27.125 40.25 26.6875 40.25C26.25 40.25 25.5938 40.4688 25.1563 40.4688Z\"\n fill=\"white\"\n />\n <path\n d=\"M39.1562 46.5938C39.1562 47.4688 38.9375 48.125 38.5 48.5625C38.0625 49 37.625 49.6562 36.75 49.875C35.875 50.0938 35.2188 50.3125 34.125 50.3125C33.25 50.3125 32.5938 50.3125 31.9375 50.0938C31.2813 49.875 30.8438 49.875 30.1875 49.4375V46.375C30.8438 46.8125 31.5 47.0313 32.1562 47.25C32.8125 47.4688 33.4688 47.4688 34.125 47.4688C34.5625 47.4688 35 47.4688 35.2188 47.25C35.4375 47.0313 35.6562 46.8125 35.6562 46.5938C35.6562 46.375 35.6563 46.375 35.4375 46.1563C35.2188 45.9375 35.2187 46.1563 35 45.9375C34.7812 45.7188 34.3437 45.5 33.25 45.0625C32.375 44.625 31.7187 44.4063 31.5 43.9688C31.2812 43.5313 30.8437 43.3125 30.625 42.875C30.4062 42.4375 30.4062 42 30.4062 41.3438C30.4062 40.25 30.8437 39.375 31.7187 38.7188C32.5937 38.0625 33.6875 37.8438 35.2188 37.8438C36.5313 37.8438 37.8437 38.0625 39.1562 38.7188L38.0625 41.3438C36.9687 40.9063 35.875 40.4688 35 40.4688C34.5625 40.4688 34.3438 40.4688 34.125 40.6875C33.9063 40.9063 33.9062 41.125 33.9062 41.3438C33.9062 41.5625 34.125 41.7813 34.3437 42C34.5625 42.2188 35.2188 42.4375 36.3125 43.0938C37.4063 43.5313 38.0625 44.1875 38.5 44.625C38.9375 45.0625 39.1562 45.7188 39.1562 46.5938Z\"\n fill=\"white\"\n />\n <path\n d=\"M48.125 37.8438H51.8438L47.6875 50.3125H43.75L39.5938 37.8438H43.3125L45.0625 44.1875C45.5 45.5 45.5 46.5938 45.7187 47.0313C45.7187 46.5938 45.9375 46.1562 45.9375 45.5C45.9375 44.8438 46.1562 44.4063 46.1562 44.1875L48.125 37.8438Z\"\n fill=\"white\"\n />\n <path\n d=\"M67.8125 28.4375H2.1875V59.0625H67.8125V28.4375Z\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"70px\" height=\"70px\" fill=\"white\" />\n </clipPath>\n </defs>\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\nimport { uniqueId } from '@/services'\n\nexport const Doc: FC = () => {\n const id = `clip${uniqueId()}`\n return (\n <Icon\n width=\"70px\"\n height=\"70px\"\n viewBox=\"0 0 70 70\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_3171_3668)\">\n <path\n d=\"M43.75 2.1875V19.6875H61.25\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M61.25 28.4375V19.6875L43.75 2.1875H8.75V28.4375\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M8.75 59.0625V67.8125H61.25V59.0625\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M27.7812 43.75C27.7812 45.9375 27.125 47.4688 26.0312 48.5625C24.9375 49.6563 23.4062 50.3125 21.2187 50.3125H17.2812V37.8438H21.6562C23.625 37.8438 25.1562 38.2813 26.25 39.375C27.3438 40.4688 27.7812 41.7813 27.7812 43.75ZM24.2813 43.9688C24.2813 42.875 24.0625 42 23.625 41.3438C23.1875 40.6875 22.5312 40.4688 21.6562 40.4688H20.5625V47.4688H21.2187C22.3125 47.4688 22.9687 47.25 23.4062 46.5938C23.8437 45.9375 24.2813 45.0625 24.2813 43.9688Z\"\n fill=\"white\"\n />\n <path\n d=\"M41.7813 43.9688C41.7813 46.1562 41.3437 47.6875 40.25 48.7812C39.1562 49.875 37.625 50.5312 35.6562 50.5312C33.6875 50.5312 32.1562 49.875 31.0625 48.7812C29.9687 47.6875 29.5312 46.1562 29.5312 43.9688C29.5312 41.7812 29.9687 40.25 31.0625 39.1562C32.1562 38.0625 33.6875 37.4062 35.6562 37.4062C37.625 37.4062 39.1562 37.8437 40.25 38.9375C41.3437 40.0312 41.7813 42 41.7813 43.9688ZM33.25 43.9688C33.25 46.375 34.125 47.6875 35.875 47.6875C36.75 47.6875 37.4062 47.4687 37.8437 46.8125C38.2812 46.1562 38.5 45.2812 38.5 43.9688C38.5 42.6562 38.2812 41.7812 37.8437 41.125C37.4062 40.4687 36.75 40.25 35.875 40.25C34.125 40.4687 33.25 41.5625 33.25 43.9688Z\"\n fill=\"white\"\n />\n <path\n d=\"M49.6563 40.4688C48.7813 40.4688 48.125 40.9062 47.6875 41.5625C47.25 42.2188 47.0313 43.0938 47.0313 44.1875C47.0313 46.5938 47.9062 47.6875 49.875 47.6875C50.5312 47.6875 50.9688 47.6875 51.4063 47.4688C51.8438 47.25 52.5 47.0312 52.9375 46.8125V49.6563C51.8438 50.0938 50.75 50.3125 49.4375 50.3125C47.4688 50.3125 46.1563 49.875 45.0625 48.5625C43.9688 47.25 43.5312 45.9375 43.5312 43.75C43.5312 42.4375 43.75 41.3437 44.1875 40.25C44.625 39.1562 45.2813 38.5 46.375 38.0625C47.4688 37.625 48.3438 37.1875 49.6563 37.1875C50.9688 37.1875 52.2813 37.4062 53.5938 38.0625L52.5 41.125C52.0625 40.9062 51.625 40.6875 51.1875 40.6875C50.75 40.6875 50.0938 40.4688 49.6563 40.4688Z\"\n fill=\"white\"\n />\n <path\n d=\"M67.8125 28.4375H2.1875V59.0625H67.8125V28.4375Z\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"70px\" height=\"70px\" fill=\"white\" />\n </clipPath>\n </defs>\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\nimport { uniqueId } from '@/services'\n\nexport const Docx: FC = () => {\n const id = `clip${uniqueId()}`\n return (\n <Icon\n width=\"70px\"\n height=\"70px\"\n viewBox=\"0 0 70 70\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_3171_3752)\">\n <path\n d=\"M43.75 2.1875V19.6875H61.25\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M61.25 28.4375V19.6875L43.75 2.1875H8.75V28.4375\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M8.75 59.0625V67.8125H61.25V59.0625\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M21.6562 43.75C21.6562 45.9375 21 47.4688 19.9063 48.5625C18.8125 49.6563 17.0625 50.3125 15.0938 50.3125H10.9375V37.8438H15.3125C17.2812 37.8438 18.8125 38.2813 19.9063 39.375C21 40.4688 21.6562 41.7813 21.6562 43.75ZM18.1563 43.9688C18.1563 42.875 17.9375 42 17.5 41.3438C17.0625 40.6875 16.1875 40.4688 15.3125 40.4688H14.2188V47.4688H14.875C15.9688 47.4688 16.625 47.25 17.0625 46.5938C17.5 45.9375 18.1563 45.0625 18.1563 43.9688Z\"\n fill=\"white\"\n />\n <path\n d=\"M35.4375 43.9688C35.4375 46.1562 35 47.6875 33.9062 48.7812C32.8125 49.875 31.2812 50.5312 29.3125 50.5312C27.3437 50.5312 25.8125 49.875 24.7187 48.7812C23.625 47.6875 23.1875 46.1562 23.1875 43.9688C23.1875 41.7812 23.625 40.25 24.7187 39.1562C25.8125 38.0625 27.3437 37.4062 29.3125 37.4062C31.2812 37.4062 32.8125 37.8437 33.9062 38.9375C35 40.0312 35.4375 42 35.4375 43.9688ZM26.9062 43.9688C26.9062 46.375 27.7812 47.6875 29.5312 47.6875C30.4062 47.6875 31.0625 47.4687 31.5 46.8125C31.9375 46.1562 32.1562 45.2812 32.1562 43.9688C32.1562 42.6562 31.9375 41.7812 31.5 41.125C31.0625 40.4687 30.4062 40.25 29.5312 40.25C27.7812 40.4687 26.9062 41.5625 26.9062 43.9688Z\"\n fill=\"white\"\n />\n <path\n d=\"M43.3125 40.4687C42.4375 40.4687 41.7812 40.9062 41.3437 41.5625C40.9062 42.2187 40.6875 43.0938 40.6875 44.1875C40.6875 46.5938 41.5625 47.6875 43.5312 47.6875C44.1875 47.6875 44.625 47.6875 45.0625 47.4688C45.5 47.25 46.1562 47.0312 46.5937 46.8125V49.6562C45.5 50.0938 44.4063 50.3125 43.0938 50.3125C41.125 50.3125 39.8125 49.875 38.7188 48.5625C37.625 47.25 37.1875 46.1562 37.1875 44.1875C37.1875 42.875 37.4062 41.7812 37.8437 40.6875C38.2812 39.5937 38.9375 38.9375 40.0312 38.5C41.125 38.0625 42 37.625 43.3125 37.625C44.625 37.625 45.9375 37.8437 47.25 38.5L46.1563 41.125C45.7188 40.9062 45.2812 40.6875 44.8438 40.6875C44.4062 40.6875 43.75 40.4687 43.3125 40.4687Z\"\n fill=\"white\"\n />\n <path\n d=\"M60.375 50.3125H56.4375L54.0313 46.375L51.625 50.3125H47.9062L52.0625 43.9688L48.125 37.8438H51.8438L54.0313 41.7813L56.2188 37.8438H60.1563L56.2188 44.1875L60.375 50.3125Z\"\n fill=\"white\"\n />\n <path\n d=\"M67.8125 28.4375H2.1875V59.0625H67.8125V28.4375Z\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"70px\" height=\"70px\" fill=\"white\" />\n </clipPath>\n </defs>\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\nimport { uniqueId } from '@/services'\n\nexport const Gif: FC = () => {\n const id = `clip${uniqueId()}`\n return (\n <Icon\n width=\"70px\"\n height=\"70px\"\n viewBox=\"0 0 70 70\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_3171_3597)\">\n <path\n d=\"M43.75 2.1875V19.6875H61.25\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M61.25 28.4375V19.6875L43.75 2.1875H8.75V28.4375\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M8.75 59.0625V67.8125H61.25V59.0625\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M27.125 43.0938H32.5937V49.875C31.0625 50.3125 29.5312 50.5312 27.7812 50.5312C25.8125 50.5312 24.2812 49.875 23.4062 48.7812C22.5312 47.6875 21.875 46.1562 21.875 43.9688C21.875 42 22.5313 40.4687 23.625 39.1562C24.7188 37.8437 26.4688 37.4062 28.4375 37.4062C29.3125 37.4062 29.9688 37.4063 30.625 37.625C31.2812 37.8438 31.9375 38.0625 32.375 38.2812L31.2812 40.9063C30.4062 40.4688 29.3125 40.25 28.2187 40.25C27.125 40.25 26.4687 40.4687 26.0312 41.125C25.5937 41.7812 25.1562 42.6562 25.1562 43.9688C25.1562 45.0625 25.375 45.9375 25.8125 46.5937C26.25 47.25 26.9063 47.4688 28 47.4688C28.4375 47.4688 28.875 47.4688 29.3125 47.25V45.2813H27.125V43.0938Z\"\n fill=\"white\"\n />\n <path d=\"M35 50.3125V37.8438H38.5V50.3125H35Z\" fill=\"white\" />\n <path\n d=\"M44.4062 50.3125H41.125V37.8438H48.5625V40.4688H44.4062V42.875H48.125V45.5H44.4062V50.3125Z\"\n fill=\"white\"\n />\n <path\n d=\"M67.8125 28.4375H2.1875V59.0625H67.8125V28.4375Z\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"70px\" height=\"70px\" fill=\"white\" />\n </clipPath>\n </defs>\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport {\n Avi,\n Csv,\n Doc,\n Docx,\n Gif,\n Jpeg,\n Jpg,\n Mkv,\n Mp3,\n Mp4,\n Pdf,\n Png,\n Ppt,\n Pptx,\n Wav,\n Xls,\n Xlsx,\n Url,\n} from './index'\n\ninterface IconsProps {\n type:\n | string\n | 'avi'\n | 'csv'\n | 'doc'\n | 'docx'\n | 'gif'\n | 'jpeg'\n | 'jpg'\n | 'mkv'\n | 'mp3'\n | 'mp4'\n | 'pdf'\n | 'png'\n | 'ppt'\n | 'pptx'\n | 'wav'\n | 'xls'\n | 'xlsx'\n}\n\nexport const Icons: FC<IconsProps> = ({ type }) => {\n switch (type) {\n case 'avi':\n return <Avi />\n case 'csv':\n return <Csv />\n case 'doc':\n return <Doc />\n case 'docx':\n return <Docx />\n case 'gif':\n return <Gif />\n case 'jpeg':\n return <Jpeg />\n case 'jpg':\n return <Jpg />\n case 'png':\n return <Png />\n case 'pdf':\n return <Pdf />\n case 'ppt':\n return <Ppt />\n case 'pptx':\n return <Pptx />\n case 'xls':\n return <Xls />\n case 'xlsx':\n return <Xlsx />\n case 'mp3':\n return <Mp3 />\n case 'wav':\n return <Wav />\n case 'mp4':\n return <Mp4 />\n case 'mkv':\n return <Mkv />\n case 'url':\n return <Url />\n default:\n return null\n }\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\nimport { uniqueId } from '@/services'\n\nexport const Jpeg: FC = () => {\n const id = `clip${uniqueId()}`\n return (\n <Icon\n width=\"70px\"\n height=\"70px\"\n viewBox=\"0 0 70 70\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_3171_3582)\">\n <path\n d=\"M43.75 2.1875V19.6875H61.25\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M61.25 28.4375V19.6875L43.75 2.1875H8.75V28.4375\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M8.75 59.0625V67.8125H61.25V59.0625\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M17.0625 54.25C16.4063 54.25 15.9688 54.25 15.3125 54.0313V51.4063C15.5312 51.4063 15.75 51.4063 15.9688 51.625C16.1875 51.8438 16.4063 51.625 16.625 51.625C17.2813 51.625 17.5 51.4063 17.7188 51.1875C17.9375 50.9688 18.1563 50.3125 18.1563 49.4375V37.8438H21.6562V49.2188C21.6562 50.9688 21.2187 52.2812 20.5625 53.1562C19.9062 54.0312 18.375 54.25 17.0625 54.25Z\"\n fill=\"white\"\n />\n <path\n d=\"M33.2502 41.7813C33.2502 43.0938 32.8127 44.1875 31.9377 45.0625C31.0627 45.9375 29.969 46.1563 28.4377 46.1563H27.5627V50.3125H24.2815V37.8438H28.6565C30.1877 37.8438 31.5002 38.2812 32.1565 38.9375C32.8127 39.5938 33.2502 40.4688 33.2502 41.7813ZM27.5627 43.3125H28.219C28.6565 43.3125 29.094 43.0938 29.5315 42.875C29.969 42.6563 29.969 42.2188 29.969 41.7813C29.969 40.9063 29.5315 40.4688 28.6565 40.4688H27.7815V43.3125H27.5627Z\"\n fill=\"white\"\n />\n <path\n d=\"M50.0937 43.0938H55.5625V49.875C54.0312 50.3125 52.5 50.5312 50.75 50.5312C48.7813 50.5312 47.25 49.875 46.375 48.7812C45.5 47.6875 44.8438 46.1562 44.8438 43.9688C44.8438 42 45.5 40.4687 46.5937 39.1562C47.6875 37.8437 49.4375 37.4062 51.4062 37.4062C52.2812 37.4062 52.9375 37.4063 53.5938 37.625C54.25 37.8438 54.9062 38.0625 55.3437 38.2812L54.25 40.9063C53.375 40.4688 52.2812 40.25 51.1875 40.25C50.0937 40.25 49.4375 40.4687 49 41.125C48.5625 41.7812 48.125 42.875 48.125 44.1875C48.125 45.2813 48.3437 46.1562 48.7812 46.8125C49.2187 47.4687 49.875 47.6875 50.9687 47.6875C51.4062 47.6875 51.8437 47.6875 52.2812 47.4688V45.5H50.0937V43.0938Z\"\n fill=\"white\"\n />\n <path\n d=\"M42.4375 50.3125H35V37.8438H42.4375V40.4688H38.5V42.4375H42.2187V45.0625H38.5V47.4688H42.4375V50.3125Z\"\n fill=\"white\"\n />\n <path\n d=\"M67.8125 28.4375H2.1875V59.0625H67.8125V28.4375Z\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"70px\" height=\"70px\" fill=\"white\" />\n </clipPath>\n </defs>\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\nimport { uniqueId } from '@/services'\n\nexport const Jpg: FC = () => {\n const id = `clip${uniqueId()}`\n return (\n <Icon\n width=\"70px\"\n height=\"70px\"\n viewBox=\"0 0 70 70\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_3171_3525)\">\n <path\n d=\"M43.75 2.1875V19.6875H61.25\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M61.25 28.4375V19.6875L43.75 2.1875H8.75V28.4375\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M8.75 59.0625V67.8125H61.25V59.0625\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M20.3438 54.25C19.6875 54.25 19.25 54.25 18.5938 54.0313V51.4063C18.8125 51.4063 19.0313 51.4063 19.25 51.625C19.4688 51.8438 19.6875 51.625 19.9063 51.625C20.5625 51.625 20.7813 51.4063 21 51.1875C21.2188 50.9688 21.4375 50.3125 21.4375 49.4375V37.8438H24.9375V49.2188C24.9375 50.9688 24.5 52.2812 23.8437 53.1562C23.1875 54.0312 21.6563 54.25 20.3438 54.25Z\"\n fill=\"white\"\n />\n <path\n d=\"M36.5313 41.7813C36.5313 43.0938 36.0938 44.1875 35.2188 45.0625C34.3438 45.9375 33.25 46.1563 31.7187 46.1563H30.8438V50.3125H27.5625V37.8438H31.9375C33.4688 37.8438 34.7813 38.2812 35.4375 38.9375C36.0938 39.5937 36.5313 40.4688 36.5313 41.7813ZM30.8438 43.3125H31.5C31.9375 43.3125 32.375 43.0938 32.8125 42.875C33.25 42.6563 33.25 42.2188 33.25 41.7813C33.25 40.9063 32.8125 40.4688 31.9375 40.4688H31.0625V43.3125H30.8438Z\"\n fill=\"white\"\n />\n <path\n d=\"M43.5312 43.0938H49V49.875C47.4687 50.3125 45.9375 50.5312 44.1875 50.5312C42.2188 50.5312 40.6875 49.875 39.8125 48.7812C38.9375 47.6875 38.2812 46.1562 38.2812 43.9688C38.2812 42 38.9375 40.4687 40.0312 39.1562C41.125 37.8437 42.875 37.4062 44.8438 37.4062C45.7188 37.4062 46.375 37.4063 47.0312 37.625C47.6875 37.8438 48.3437 38.0625 48.7812 38.2812L47.6875 40.9063C46.8125 40.4688 45.7187 40.25 44.625 40.25C43.5312 40.25 42.875 40.4687 42.4375 41.125C42 41.7812 41.5625 42.875 41.5625 44.1875C41.5625 45.2813 41.7812 46.1562 42.2187 46.8125C42.6562 47.4687 43.3125 47.6875 44.4062 47.6875C44.8437 47.6875 45.2812 47.6875 45.7187 47.4688V45.5H43.5312V43.0938Z\"\n fill=\"white\"\n />\n <path\n d=\"M67.8125 28.4375H2.1875V59.0625H67.8125V28.4375Z\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"70px\" height=\"70px\" fill=\"white\" />\n </clipPath>\n </defs>\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\nimport { uniqueId } from '@/services'\n\nexport const Mkv: FC = () => {\n const id = `clip${uniqueId()}`\n return (\n <Icon\n width=\"70px\"\n height=\"70px\"\n viewBox=\"0 0 70 70\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_3171_3710)\">\n <path\n d=\"M43.75 2.1875V19.6875H61.25\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M61.25 28.4375V19.6875L43.75 2.1875H8.75V28.4375\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M8.75 59.0625V67.8125H61.25V59.0625\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M21.2188 50.3125L18.5938 41.3438C18.8125 42.875 18.8125 43.9688 18.8125 44.8438V50.3125H15.75V37.8438H20.3438L22.9688 46.8125L25.5938 37.8438H30.1875V50.3125H27.125V44.8438C27.125 44.625 27.125 44.1875 27.125 43.9688C27.125 43.75 27.125 42.875 27.3438 41.3438L24.5 50.3125H21.2188Z\"\n fill=\"white\"\n />\n <path\n d=\"M43.3125 50.3125H39.5938L37.1875 45.5L36.0938 46.1563V50.3125H32.8125V37.8438H36.3125V43.3125C36.5313 42.875 36.75 42.4375 37.4063 41.7813L40.0312 37.8438H43.75L39.8125 43.5313L43.3125 50.3125Z\"\n fill=\"white\"\n />\n <path\n d=\"M51.8438 37.8438H55.5625L51.4063 50.3125H47.4688L43.3125 37.8438H47.0313L48.7812 44.1875C49.2188 45.5 49.2188 46.5938 49.4375 47.0313C49.4375 46.5938 49.6563 46.1562 49.6563 45.5C49.6563 44.8438 49.875 44.4063 49.875 44.1875L51.8438 37.8438Z\"\n fill=\"white\"\n />\n <path\n d=\"M67.8125 28.4375H2.1875V59.0625H67.8125V28.4375Z\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"70px\" height=\"70px\" fill=\"white\" />\n </clipPath>\n </defs>\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\nimport { uniqueId } from '@/services'\n\nexport const Mp3: FC = () => {\n const id = `clip${uniqueId()}`\n return (\n <Icon\n width=\"70px\"\n height=\"70px\"\n viewBox=\"0 0 70 70\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_3171_3724)\">\n <path\n d=\"M43.75 2.1875V19.6875H61.25\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M61.25 28.4375V19.6875L43.75 2.1875H8.75V28.4375\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M8.75 59.0625V67.8125H61.25V59.0625\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M22.75 50.3125L20.125 41.3438C20.3437 42.875 20.3438 43.9688 20.3438 44.8438V50.3125H17.2812V37.8438H21.875L24.5 46.8125L27.125 37.8438H31.7188V50.3125H28.4375V44.8438C28.4375 44.625 28.4375 44.1875 28.4375 43.9688C28.4375 43.75 28.4375 42.875 28.6563 41.3438L25.8125 50.3125H22.75Z\"\n fill=\"white\"\n />\n <path\n d=\"M43.3125 41.7813C43.3125 43.0938 42.875 44.1875 42 45.0625C41.125 45.9375 40.0313 46.1563 38.5 46.1563H37.625V50.3125H34.3438V37.8438H38.7188C40.25 37.8438 41.5625 38.2812 42.2187 38.9375C42.875 39.5938 43.3125 40.4688 43.3125 41.7813ZM37.625 43.3125H38.2813C38.7188 43.3125 39.1563 43.0938 39.5938 42.875C40.0313 42.6563 40.0312 42.2188 40.0312 41.7813C40.0312 40.9063 39.5938 40.4688 38.7188 40.4688H37.8437V43.3125H37.625Z\"\n fill=\"white\"\n />\n <path\n d=\"M52.9375 40.4688C52.9375 41.3438 52.7188 42 52.2813 42.4375C51.8438 42.875 51.1875 43.5312 50.3125 43.75C52.5 43.9688 53.375 45.0625 53.375 46.8125C53.375 47.9062 52.9375 48.7813 52.0625 49.6563C51.1875 50.5313 49.875 50.75 48.125 50.75C47.4688 50.75 46.8125 50.75 46.1563 50.5313C45.5 50.3125 45.0625 50.3125 44.4062 50.0937V47.25C44.8438 47.4688 45.5 47.6875 46.1563 47.9062C46.8125 48.125 47.25 48.125 47.6875 48.125C48.3438 48.125 49 48.125 49.2188 47.9062C49.4375 47.6875 49.6563 47.4688 49.6563 47.0312C49.6563 46.5938 49.6563 46.375 49.4375 46.1563C49.2188 45.9375 49 45.9375 48.5625 45.7187C48.125 45.5 47.6875 45.5 47.0313 45.5H46.1563V42.875H47.0313C48.7813 42.875 49.6563 42.4375 49.6563 41.5625C49.6563 41.125 49.4375 40.9063 49.2188 40.9063C49 40.9063 48.5625 40.6875 48.125 40.6875C47.25 40.6875 46.5938 40.9062 45.7188 41.5625L44.4062 39.375C45.0625 38.9375 45.7188 38.5 46.375 38.5C47.0313 38.5 47.9062 38.2812 48.7812 38.2812C50.0938 38.2812 51.1875 38.5 51.8438 39.1562C52.5 39.8125 52.9375 39.5938 52.9375 40.4688Z\"\n fill=\"white\"\n />\n <path\n d=\"M67.8125 28.4375H2.1875V59.0625H67.8125V28.4375Z\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"70px\" height=\"70px\" fill=\"white\" />\n </clipPath>\n </defs>\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\nimport { uniqueId } from '@/services'\n\nexport const Mp4: FC = () => {\n const id = `clip${uniqueId()}`\n return (\n <Icon\n width=\"70px\"\n height=\"70px\"\n viewBox=\"0 0 70 70\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_3171_3682)\">\n <path\n d=\"M43.75 2.1875V19.6875H61.25\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M61.25 28.4375V19.6875L43.75 2.1875H8.75V28.4375\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M8.75 59.0625V67.8125H61.25V59.0625\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M22.75 50.3125L20.125 41.3438C20.3437 42.875 20.3438 43.9688 20.3438 44.8438V50.3125H17.2812V37.8438H21.875L24.5 46.8125L27.125 37.8438H31.7188V50.3125H28.4375V44.8438C28.4375 44.625 28.4375 44.1875 28.4375 43.9688C28.4375 43.75 28.4375 42.875 28.6563 41.3438L25.8125 50.3125H22.75Z\"\n fill=\"white\"\n />\n <path\n d=\"M43.3125 41.7813C43.3125 43.0938 42.875 44.1875 42 45.0625C41.125 45.9375 40.0313 46.1563 38.5 46.1563H37.625V50.3125H34.3438V37.8438H38.7188C40.25 37.8438 41.5625 38.2812 42.2187 38.9375C42.875 39.5938 43.3125 40.4688 43.3125 41.7813ZM37.625 43.3125H38.2813C38.7188 43.3125 39.1563 43.0938 39.5938 42.875C40.0313 42.6563 40.0312 42.2188 40.0312 41.7813C40.0312 40.9063 39.5938 40.4688 38.7188 40.4688H37.8437V43.3125H37.625Z\"\n fill=\"white\"\n />\n <path\n d=\"M53.8125 47.9063H52.5V50.3125H49.2187V47.9063H44.1875V45.5L49.4375 37.8438H52.5V45.5H53.8125V47.9063ZM49.2187 45.2813V43.75C49.2187 43.5313 49.2187 43.0938 49.2187 42.6563C49.2187 42.2188 49.2187 42 49.2187 42C49 42.4375 48.7812 42.875 48.5625 43.3125L47.25 45.2813H49.2187Z\"\n fill=\"white\"\n />\n <path\n d=\"M67.8125 28.4375H2.1875V59.0625H67.8125V28.4375Z\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"70px\" height=\"70px\" fill=\"white\" />\n </clipPath>\n </defs>\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\nimport { uniqueId } from '@/services'\n\nexport const Pdf: FC = () => {\n const id = `clip${uniqueId()}`\n return (\n <Icon\n width=\"70px\"\n height=\"70px\"\n viewBox=\"0 0 70 70\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_3171_3625)\">\n <path\n d=\"M43.75 2.1875V19.6875H61.25\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M61.25 28.4375V19.6875L43.75 2.1875H8.75V28.4375\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M8.75 59.0625V67.8125H61.25V59.0625\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M28.7503 41.7923C28.7503 43.1879 28.3391 44.2664 27.5166 45.0276C26.6941 45.7889 25.5238 46.1673 24.0078 46.1673H23.0584V50.3126H19.6831V37.8198H24.0078C25.585 37.8198 26.7706 38.1633 27.5625 38.8545C28.3544 39.5458 28.7503 40.5214 28.7503 41.7923ZM23.0584 43.4176H23.6731C24.1806 43.4176 24.5831 43.2754 24.8828 42.9911C25.1825 42.7067 25.3312 42.313 25.3312 41.812C25.3312 40.9676 24.8653 40.5476 23.9291 40.5476H23.0584V43.4176Z\"\n fill=\"white\"\n />\n <path\n d=\"M41.3438 43.8005C41.3438 45.8851 40.7706 47.4929 39.6222 48.6195C38.4738 49.7461 36.8616 50.3126 34.7812 50.3126H30.7388V37.8198H35.0634C37.0694 37.8198 38.6181 38.3317 39.7075 39.3576C40.7969 40.3836 41.3438 41.8645 41.3438 43.8005ZM37.8416 43.9208C37.8416 42.7767 37.6141 41.9279 37.1613 41.3745C36.7084 40.8211 36.0216 40.5454 35.0984 40.5454H34.1162V47.5433H34.8687C35.8947 47.5433 36.645 47.2458 37.1241 46.6508C37.6031 46.0558 37.8416 45.1458 37.8416 43.9208Z\"\n fill=\"white\"\n />\n <path\n d=\"M46.9066 50.3126H43.5816V37.8198H50.9644V40.528H46.9066V42.9123H50.6494V45.6204H46.9066V50.3126Z\"\n fill=\"white\"\n />\n <path\n d=\"M67.8125 28.4375H2.1875V59.0625H67.8125V28.4375Z\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"70px\" height=\"70px\" fill=\"white\" />\n </clipPath>\n </defs>\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\nimport { uniqueId } from '@/services'\n\nexport const Png: FC = () => {\n const id = `clip${uniqueId()}`\n return (\n <Icon\n width=\"70px\"\n height=\"70px\"\n viewBox=\"0 0 70 70\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_3171_3568)\">\n <path\n d=\"M43.75 2.1875V19.6875H61.25\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M61.25 28.4375V19.6875L43.75 2.1875H8.75V28.4375\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M8.75 59.0625V67.8125H61.25V59.0625\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M26.0312 41.7813C26.0312 43.0938 25.5938 44.1875 24.7188 45.0625C23.8438 45.9375 22.75 46.1563 21.2187 46.1563H20.3438V50.3125H17.0625V37.8438H21.4375C22.9688 37.8438 24.2812 38.2812 24.9375 38.9375C25.5937 39.5938 26.0312 40.4688 26.0312 41.7813ZM20.3438 43.3125H21C21.4375 43.3125 21.875 43.0938 22.3125 42.875C22.75 42.6563 22.75 42.2188 22.75 41.7813C22.75 40.9063 22.3125 40.4688 21.4375 40.4688H20.3438V43.3125Z\"\n fill=\"white\"\n />\n <path\n d=\"M40.0312 50.3125H35.6562L31.0625 41.5625C31.0625 42.875 31.2813 43.9688 31.2813 44.625V50.3125H28.2188V37.8438H32.5938L37.1875 46.5938C37.1875 45.2812 36.9688 44.4063 36.9688 43.5313V37.8438H40.0312V50.3125Z\"\n fill=\"white\"\n />\n <path\n d=\"M47.6875 43.0938H53.1562V49.875C51.625 50.3125 50.0938 50.5312 48.3438 50.5312C46.375 50.5312 44.8438 49.875 43.9688 48.7812C43.0938 47.6875 42.4375 46.1562 42.4375 43.9688C42.4375 42 43.0938 40.4687 44.1875 39.1562C45.2813 37.8437 47.0312 37.4062 49 37.4062C49.875 37.4062 50.5312 37.4063 51.1875 37.625C51.8438 37.8438 52.5 38.0625 52.9375 38.2812L51.8438 40.9063C50.9688 40.4688 49.875 40.25 48.7812 40.25C47.6875 40.25 47.0312 40.4687 46.5937 41.125C46.1562 41.7812 45.7188 42.6562 45.7188 43.9688C45.7188 45.0625 45.9375 45.9375 46.375 46.5937C46.8125 47.25 47.4688 47.4688 48.5625 47.4688C49 47.4688 49.4375 47.4688 49.875 47.25V45.2813H47.6875V43.0938Z\"\n fill=\"white\"\n />\n <path\n d=\"M67.8125 28.4375H2.1875V59.0625H67.8125V28.4375Z\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"70px\" height=\"70px\" fill=\"white\" />\n </clipPath>\n </defs>\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\nimport { uniqueId } from '@/services'\n\nexport const Ppt: FC = () => {\n const id = `clip${uniqueId()}`\n return (\n <Icon\n width=\"70px\"\n height=\"70px\"\n viewBox=\"0 0 70 70\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_3171_3539)\">\n <path\n d=\"M43.75 2.1875V19.6875H61.25\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M61.25 28.4375V19.6875L43.75 2.1875H8.75V28.4375\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M8.75 59.0625V67.8125H61.25V59.0625\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M28.875 41.7813C28.875 43.0938 28.4375 44.1875 27.5625 45.0625C26.6875 45.9375 25.5938 46.1563 24.0625 46.1563H22.9688V50.3125H19.6875V37.8438H24.0625C25.5938 37.8438 26.9062 38.2812 27.5625 38.9375C28.2187 39.5938 28.875 40.4688 28.875 41.7813ZM22.9688 43.3125H23.625C24.0625 43.3125 24.5 43.0938 24.9375 42.875C25.375 42.6563 25.375 42.2188 25.375 41.7813C25.375 40.9063 24.9375 40.4688 24.0625 40.4688H22.9688V43.3125Z\"\n fill=\"white\"\n />\n <path\n d=\"M39.8122 41.7813C39.8122 43.0938 39.3747 44.1875 38.4997 45.0625C37.6247 45.9375 36.5309 46.1563 34.9997 46.1563H34.1247V50.3125H30.8434V37.8438H35.2184C36.7497 37.8438 38.0622 38.2812 38.7184 38.9375C39.3747 39.5938 39.8122 40.4688 39.8122 41.7813ZM34.1247 43.3125H34.7809C35.2184 43.3125 35.6559 43.0938 36.0934 42.875C36.5309 42.6563 36.5309 42.2188 36.5309 41.7813C36.5309 40.9063 36.0934 40.4688 35.2184 40.4688H34.3434V43.3125H34.1247Z\"\n fill=\"white\"\n />\n <path\n d=\"M47.2499 50.3125H43.9686V40.6875H40.9061V37.8438H50.3124V40.6875H47.2499V50.3125Z\"\n fill=\"white\"\n />\n <path\n d=\"M67.8125 28.4375H2.1875V59.0625H67.8125V28.4375Z\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"70px\" height=\"70px\" fill=\"white\" />\n </clipPath>\n </defs>\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\nimport { uniqueId } from '@/services'\n\nexport const Pptx: FC = () => {\n const id = `clip${uniqueId()}`\n return (\n <Icon\n width=\"70px\"\n height=\"70px\"\n viewBox=\"0 0 70 70\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_3171_3553)\">\n <path\n d=\"M43.75 2.1875V19.6875H61.25\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M61.25 28.4375V19.6875L43.75 2.1875H8.75V28.4375\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M8.75 59.0625V67.8125H61.25V59.0625\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M22.9688 41.7813C22.9688 43.0938 22.5312 44.1875 21.6562 45.0625C20.7812 45.9375 19.6875 46.1563 18.1562 46.1563H17.0625V50.3125H13.7812V37.8438H18.1562C19.6875 37.8438 21 38.2812 21.6562 38.9375C22.3125 39.5938 22.9688 40.4688 22.9688 41.7813ZM17.0625 43.3125H17.7188C18.1563 43.3125 18.5937 43.0938 19.0312 42.875C19.4687 42.6563 19.4687 42.2188 19.4687 41.7813C19.4687 40.9063 19.0312 40.4688 18.1562 40.4688H17.0625V43.3125Z\"\n fill=\"white\"\n />\n <path\n d=\"M33.9063 41.7813C33.9063 43.0938 33.4688 44.1875 32.5938 45.0625C31.7188 45.9375 30.625 46.1563 29.0938 46.1563H28.2188V50.3125H24.9375V37.8438H29.3125C30.8438 37.8438 32.1563 38.2812 32.8125 38.9375C33.4688 39.5938 33.9063 40.4688 33.9063 41.7813ZM28.2188 43.3125H28.875C29.3125 43.3125 29.75 43.0938 30.1875 42.875C30.625 42.6563 30.625 42.2188 30.625 41.7813C30.625 40.9063 30.1875 40.4688 29.3125 40.4688H28.4375V43.3125H28.2188Z\"\n fill=\"white\"\n />\n <path\n d=\"M41.3437 50.3125H38.0625V40.6875H35V37.8438H44.4062V40.6875H41.3437V50.3125Z\"\n fill=\"white\"\n />\n <path\n d=\"M57.5312 50.3125H53.5937L51.1875 46.375L48.7812 50.3125H45.0625L49.2187 43.9688L45.2813 37.8438H49L51.1875 41.7813L53.375 37.8438H57.3125L53.375 44.1875L57.5312 50.3125Z\"\n fill=\"white\"\n />\n <path\n d=\"M67.8125 28.4375H2.1875V59.0625H67.8125V28.4375Z\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"70px\" height=\"70px\" fill=\"white\" />\n </clipPath>\n </defs>\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\nimport { uniqueId } from '@/services'\n\nexport const Wav: FC = () => {\n const id = `clip${uniqueId()}`\n return (\n <Icon\n width=\"70px\"\n height=\"70px\"\n viewBox=\"0 0 70 70\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_3171_3738)\">\n <path\n d=\"M43.75 2.1875V19.6875H61.25\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M61.25 28.4375V19.6875L43.75 2.1875H8.75V28.4375\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M8.75 59.0625V67.8125H61.25V59.0625\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M28.2187 50.3125H24.2812L23.1875 44.8438C23.1875 44.625 22.9688 44.1875 22.9688 43.5313C22.9688 42.875 22.75 42.2188 22.75 41.7813C22.75 42.2188 22.5312 42.6563 22.5312 43.0938C22.5312 43.5313 22.3125 44.1875 22.3125 44.625C22.3125 45.0625 21.6562 47.0313 20.7812 50.3125H16.8437L13.7812 37.8438H17.0625L18.375 44.1875C18.5937 45.5 18.8125 46.5938 19.0312 47.4688C19.0312 46.8125 19.25 46.1563 19.4687 45.0625C19.6875 43.9688 19.9063 43.3125 19.9063 42.6563L21 37.8438H24.0625L25.1562 42.6563C25.375 43.3125 25.5938 44.1875 25.8125 45.2813C26.0312 46.375 26.0312 47.0313 26.25 47.4688C26.25 46.8125 26.4688 45.7188 26.9062 44.1875L28.2187 37.8438H31.5L28.2187 50.3125Z\"\n fill=\"white\"\n />\n <path\n d=\"M40.6875 50.3125L40.0312 47.9063H35.875L35.4375 50.3125H31.7188L35.875 37.8438H40.4688L44.625 50.3125H40.6875ZM39.375 45.2813L38.9375 43.3125C38.7187 42.875 38.7188 42.2188 38.5 41.5625C38.2813 40.9063 38.2812 40.25 38.0625 40.0312C38.0625 40.25 37.8437 40.9063 37.8437 41.5625C37.8437 42.2188 37.4062 43.5312 36.75 45.5H39.375V45.2813Z\"\n fill=\"white\"\n />\n <path\n d=\"M52.7188 37.8438H56.4375L52.5 50.3125H48.5625L44.4062 37.8438H48.125L49.875 44.1875C50.3125 45.5 50.3125 46.5938 50.5313 47.0313C50.5313 46.5938 50.75 46.1562 50.75 45.5C50.75 44.8438 50.9688 44.4063 50.9688 44.1875L52.7188 37.8438Z\"\n fill=\"white\"\n />\n <path\n d=\"M67.8125 28.4375H2.1875V59.0625H67.8125V28.4375Z\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"70px\" height=\"70px\" fill=\"white\" />\n </clipPath>\n </defs>\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\nimport { uniqueId } from '@/services'\n\nexport const Xls: FC = () => {\n const id = `clip${uniqueId()}`\n return (\n <Icon\n width=\"70px\"\n height=\"70px\"\n viewBox=\"0 0 70 70\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_3171_3611)\">\n <path\n d=\"M43.75 2.1875V19.6875H61.25\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M61.25 28.4375V19.6875L43.75 2.1875H8.75V28.4375\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M8.75 59.0625V67.8125H61.25V59.0625\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M32.1563 50.3125H28.4375L26.0312 46.375L23.4063 50.3125H19.6875L23.8438 43.9688L19.9062 37.8438H23.625L25.8125 41.7813L28 37.8438H31.9375L28 44.1875L32.1563 50.3125Z\"\n fill=\"white\"\n />\n <path d=\"M33.6873 50.3125V37.8438H36.9685V47.6875H41.781V50.3125H33.6873Z\" fill=\"white\" />\n <path\n d=\"M52.0624 46.5937C52.0624 47.4687 51.8436 48.125 51.4061 48.5625C50.9686 49 50.5311 49.6562 49.6561 49.875C48.7811 50.0937 48.1249 50.3125 47.0311 50.3125C46.1561 50.3125 45.4999 50.3125 44.8436 50.0937C44.1874 49.875 43.7499 49.875 43.0936 49.4375V46.375C43.7499 46.8125 44.4061 47.0312 45.0624 47.25C45.7186 47.4687 46.3749 47.4688 47.0311 47.4688C47.4686 47.4688 47.9061 47.4687 48.1249 47.25C48.3436 47.0312 48.5624 46.8125 48.5624 46.5937C48.5624 46.375 48.5624 46.375 48.3436 46.1562C48.1249 45.9375 48.1249 45.9375 47.9061 45.7187C47.6874 45.5 47.2499 45.2812 46.1561 44.8437C45.2811 44.4062 44.6249 44.1875 44.4061 43.75C44.1874 43.3125 43.7499 43.0937 43.5311 42.6562C43.3124 42.2187 43.3124 41.7812 43.3124 41.125C43.3124 40.0312 43.7499 39.1562 44.6249 38.5C45.4999 37.8437 46.5936 37.625 48.1249 37.625C49.4374 37.625 50.7499 37.8437 52.0624 38.5L50.9686 41.125C49.8749 40.6875 48.7811 40.25 47.9061 40.25C47.4686 40.25 47.2499 40.25 47.0311 40.4687C46.8124 40.6875 46.8124 40.9062 46.8124 41.125C46.8124 41.3437 47.0311 41.5625 47.2499 41.7812C47.4686 42 48.1249 42.2187 49.2186 42.875C50.3124 43.3125 50.9686 43.9687 51.4061 44.4062C51.8436 44.8437 52.0624 45.7187 52.0624 46.5937Z\"\n fill=\"white\"\n />\n <path\n d=\"M67.8125 28.4375H2.1875V59.0625H67.8125V28.4375Z\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"70px\" height=\"70px\" fill=\"white\" />\n </clipPath>\n </defs>\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\nimport { uniqueId } from '@/services'\n\nexport const Xlsx: FC = () => {\n const id = `clip${uniqueId()}`\n return (\n <Icon\n width=\"70px\"\n height=\"70px\"\n viewBox=\"0 0 70 70\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_3171_3639)\">\n <path\n d=\"M43.75 2.1875V19.6875H61.25\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M61.25 28.4375V19.6875L43.75 2.1875H8.75V28.4375\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M8.75 59.0625V67.8125H61.25V59.0625\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n <path\n d=\"M24.7188 50.3125H21L18.5938 46.375L15.9688 50.3125H12.25L16.4062 43.9688L12.4687 37.8438H16.1875L18.375 41.7813L20.5625 37.8438H24.5L20.5625 44.1875L24.7188 50.3125Z\"\n fill=\"white\"\n />\n <path d=\"M26.25 50.3125V37.8438H29.5312V47.6875H34.3438V50.3125H26.25Z\" fill=\"white\" />\n <path\n d=\"M44.625 46.5937C44.625 47.4687 44.4063 48.125 43.9688 48.5625C43.5313 49 43.0938 49.6562 42.2188 49.875C41.3438 50.0937 40.6875 50.3125 39.5938 50.3125C38.7188 50.3125 38.0625 50.3125 37.4063 50.0937C36.75 49.875 36.3125 49.875 35.6562 49.4375V46.375C36.3125 46.8125 36.9688 47.0312 37.625 47.25C38.2813 47.4687 38.9375 47.4688 39.5938 47.4688C40.0313 47.4688 40.4688 47.4687 40.6875 47.25C40.9063 47.0312 41.125 46.8125 41.125 46.5937C41.125 46.375 41.125 46.375 40.9063 46.1562C40.6875 45.9375 40.6875 45.9375 40.4688 45.7187C40.25 45.5 39.8125 45.2812 38.7188 44.8437C37.8438 44.4062 37.1875 44.1875 36.9688 43.75C36.75 43.3125 36.3125 43.0937 36.0938 42.6562C35.875 42.2187 35.875 41.7812 35.875 41.125C35.875 40.0312 36.3125 39.1562 37.1875 38.5C38.0625 37.8437 39.1563 37.625 40.6875 37.625C42 37.625 43.3125 37.8437 44.625 38.5L43.5313 41.125C42.4375 40.6875 41.3438 40.25 40.4688 40.25C40.0313 40.25 39.8125 40.25 39.5938 40.4687C39.375 40.6875 39.375 40.9062 39.375 41.125C39.375 41.3437 39.5938 41.5625 39.8125 41.7812C40.0313 42 40.6875 42.2187 41.7813 42.875C42.875 43.3125 43.5313 43.9687 43.9688 44.4062C44.4063 44.8437 44.625 45.7187 44.625 46.5937Z\"\n fill=\"white\"\n />\n <path\n d=\"M57.75 50.3125H53.8125L51.4062 46.375L49 50.3125H45.2812L49.4375 43.9688L45.5 37.8438H49.2187L51.4062 41.7813L53.5937 37.8438H57.5312L53.5937 44.1875L57.75 50.3125Z\"\n fill=\"white\"\n />\n <path\n d=\"M67.8125 28.4375H2.1875V59.0625H67.8125V28.4375Z\"\n stroke=\"white\"\n strokeWidth=\"4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"square\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"70px\" height=\"70px\" fill=\"white\" />\n </clipPath>\n </defs>\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { Icon } from '@chakra-ui/react'\n\nexport const Url: FC = () => {\n return (\n <Icon\n width=\"70px\"\n height=\"70px\"\n viewBox=\"0 0 70 70\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path stroke=\"#fff\" strokeWidth={4} d=\"M58.625 29.067 38.341 49.35\" />\n <path\n stroke=\"#fff\"\n strokeLinecap=\"round\"\n strokeWidth={4}\n d=\"M67.64 7.657H2.281V64H67.64V7.657ZM2.281 20.052H67.64\"\n />\n <path stroke=\"#fff\" strokeWidth={4} d=\"M40.59 29.067h18.03v18.03\" />\n <path\n fill=\"#fff\"\n d=\"M8.48 15.544a1.69 1.69 0 1 0 0-3.38 1.69 1.69 0 0 0 0 3.38ZM15.24 15.544a1.69 1.69 0 1 0 0-3.38 1.69 1.69 0 0 0 0 3.38Z\"\n />\n </Icon>\n )\n}\n","import { FC } from 'react'\nimport { uniqueId } from '@/services'\n\ninterface StandardBackgroundProps {\n colorFill: string\n}\n\nexport const StandardBackground: FC<StandardBackgroundProps> = ({ colorFill }) => {\n const id = `clip${uniqueId()}`\n return (\n <svg\n width=\"285\"\n height=\"139\"\n viewBox=\"0 0 285 139\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_3257_1585)\">\n <rect width=\"285\" height=\"139\" fill={colorFill} />\n <path\n opacity=\"0.2\"\n d=\"M335.794 126.97C335.598 127.095 335.394 127.206 335.178 127.304C332.361 128.577 328.837 127.078 327.309 123.953C314.975 98.7512 292.415 78.0666 269.833 71.2542C260.582 68.4618 247.36 66.9169 236.854 75.3544C223.824 85.8458 226.087 115.23 228.082 141.156C229.969 165.653 231.608 186.993 220.594 193.985C219.953 194.391 219.273 194.748 218.543 195.056C206.274 200.23 182.57 192.261 107.538 83.7917C105.555 80.9251 105.989 77.1581 108.508 75.3735C111.028 73.5889 114.677 74.4684 116.658 77.3319C146.815 120.925 171.063 151.682 188.736 168.743C205.61 185.033 211.76 184.259 213.242 183.634C219.603 180.949 217.96 159.621 216.514 140.804C214.296 112.002 211.783 79.3557 229.191 65.3468C240.074 56.572 255.237 54.5108 271.865 59.5262C297.79 67.3495 323.558 90.825 337.51 119.333C338.918 122.219 338.137 125.484 335.794 126.97Z\"\n fill=\"white\"\n />\n <path\n opacity=\"0.2\"\n d=\"M225.02 31.4635C227.693 30.696 230.537 30.772 233.152 31.6809L240.58 34.2811C241.227 34.5043 241.931 34.5167 242.59 34.3165C243.248 34.1164 243.826 33.7141 244.239 33.1683L248.388 27.6392C250.11 25.3689 252.516 23.6958 255.256 22.8636C257.996 22.0314 260.926 22.0836 263.621 23.0126L271.049 25.6128C271.696 25.836 272.401 25.8484 273.059 25.6483C273.717 25.4481 274.295 25.0458 274.709 24.5001L278.858 18.971C280.579 16.7006 282.985 15.0275 285.725 14.1953C288.465 13.3631 291.396 13.4154 294.091 14.3444L301.518 16.9445C302.165 17.1677 302.869 17.1801 303.527 16.9801C304.185 16.78 304.763 16.3779 305.176 15.8324L309.327 10.3027C311.048 8.03236 313.454 6.35924 316.194 5.52706C318.934 4.69488 321.865 4.7471 324.56 5.67612L331.987 8.27626C332.607 8.49344 333.177 8.82977 333.663 9.26594C334.15 9.70212 334.544 10.2296 334.823 10.8181C335.102 11.4066 335.26 12.0445 335.288 12.6953C335.317 13.3461 335.215 13.997 334.988 14.6107C334.524 15.8536 333.583 16.8685 332.37 17.4338C331.157 17.9992 329.771 18.0694 328.513 17.6289L321.086 15.0287C320.438 14.8073 319.734 14.7964 319.076 14.9976C318.418 15.1988 317.841 15.6017 317.428 16.1477L313.28 21.6788C311.557 23.9484 309.151 25.6209 306.412 26.453C303.672 27.2851 300.741 27.2334 298.047 26.3054L290.619 23.7053C289.97 23.4807 289.264 23.4676 288.604 23.6678C287.944 23.8681 287.365 24.2712 286.95 24.8183L282.802 30.3495C281.08 32.619 278.674 34.2915 275.934 35.1236C273.194 35.9558 270.264 35.9041 267.569 34.9761L260.142 32.3759C259.494 32.153 258.79 32.1406 258.132 32.3403C257.473 32.5401 256.895 32.9416 256.481 33.4866L252.333 39.0178C250.611 41.2873 248.205 42.9598 245.465 43.7919C242.725 44.624 239.795 44.5723 237.1 43.6443L229.674 41.0347C229.027 40.8118 228.323 40.7994 227.664 40.9991C227.006 41.1988 226.428 41.6004 226.014 42.1454L221.865 47.6766C221.065 48.7411 219.875 49.4534 218.552 49.6583C217.23 49.8633 215.883 49.5443 214.804 48.7709C214.274 48.387 213.826 47.9029 213.487 47.3463C213.148 46.7896 212.924 46.1715 212.827 45.5273C212.731 44.883 212.765 44.2254 212.926 43.5922C213.088 42.959 213.374 42.3625 213.768 41.8372L217.919 36.3075C219.685 33.9659 222.182 32.2626 225.02 31.4635Z\"\n fill=\"white\"\n />\n <path\n opacity=\"0.2\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M62.5 167.961C78.771 167.961 91.9612 154.771 91.9612 138.5C91.9612 122.229 78.771 109.039 62.5 109.039C46.229 109.039 33.0388 122.229 33.0388 138.5C33.0388 154.771 46.229 167.961 62.5 167.961ZM62.5 183C87.0767 183 107 163.077 107 138.5C107 113.923 87.0767 94 62.5 94C37.9233 94 18 113.923 18 138.5C18 163.077 37.9233 183 62.5 183Z\"\n fill=\"white\"\n />\n <path\n opacity=\"0.2\"\n d=\"M-59.9428 95.7098C-60.6472 95.4213 -61.3193 95.0119 -61.9264 94.4852C-64.9185 91.8878 -65.2379 87.3663 -62.6372 84.3909L50.6575 -45.219L66.0579 59.2779L174.017 18.8183C177.728 17.4303 181.869 19.3013 183.276 22.9985C184.677 26.6991 182.807 30.8245 179.1 32.2138L54.4444 78.9283L40.9914 -12.3506L-51.7958 93.7987C-53.8693 96.1704 -57.1693 96.847 -59.9428 95.7098Z\"\n fill=\"white\"\n />\n </g>\n <defs>\n <clipPath id={id}>\n <rect width=\"285\" height=\"139\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n )\n}\n","import { FC } from 'react'\nimport { Box, Text, Link, TextProps, LinkProps } from '@chakra-ui/react'\nimport { Icons } from './Icons'\nimport { vars } from '@/theme'\nimport { Download, DiagonalArrow } from '@/atoms/Icons'\nimport { Ripples } from '@/atoms'\nimport { StandardBackground } from './StandardBackground'\n\ninterface ResourcesProps {\n id: string | number\n resourceType: string\n resourceTitle: string\n resourceDetail: string\n resourceTextDownload: string\n resourceLink: string\n targetBlank?: boolean\n}\n\nconst StyledText = Text as React.FC<TextProps>\nconst StyledLink = Link as React.FC<LinkProps>\n\nexport const Resources: FC<ResourcesProps> = ({\n id,\n resourceType,\n resourceTitle,\n resourceDetail,\n resourceTextDownload,\n resourceLink,\n targetBlank,\n}) => {\n const cssActive = {\n boxShadow: `0 2px 7px 0 ${vars('colors-neutral-silverSand')}`,\n }\n\n const colorFill = (): string => {\n const colorMap: { [key: string]: string } = {\n jpeg: '#FFBC27',\n jpg: '#FFBC27',\n png: '#FFBC27',\n gif: '#FFBC27',\n ppt: '#FF7A14',\n pptx: '#FF7A14',\n doc: '#0189FF',\n docx: '#0189FF',\n csv: '#28A745',\n xls: '#28A745',\n xlsx: '#28A745',\n pdf: '#CC0000',\n mp4: '#56CCF2',\n avi: '#56CCF2',\n mkv: '#56CCF2',\n mp3: '#9B51E0',\n wav: '#9B51E0',\n url: '#1E2DFF',\n }\n\n return colorMap[resourceType as keyof typeof colorMap] || '#FFBC27'\n }\n return (\n <StyledLink\n href={resourceLink}\n target={targetBlank ? '_blank' : '_self'}\n rel={targetBlank ? 'noopener noreferrer' : undefined}\n transition=\"box-shadow 0.3s\"\n _active={cssActive}\n _hover={cssActive}\n _focusVisible={{\n boxShadow: `0 0 0 3px ${vars('colors-alert-deepSkyBlue')}`,\n }}\n cursor=\"pointer\"\n borderRadius={vars('radii-big')}\n border={vars('borders-light')}\n overflow=\"hidden\"\n >\n <Ripples>\n <Box\n width=\"285px\"\n height=\"139px\"\n justifyContent=\"center\"\n textAlign=\"center\"\n alignItems=\"center\"\n display=\"grid\"\n >\n <Icons type={resourceType} />\n <Box\n position=\"absolute\"\n width=\"100%\"\n height=\"100%\"\n zIndex=\"-1\"\n top=\"0px\"\n left=\"0px\"\n opacity=\"0.8\"\n >\n <StandardBackground colorFill={colorFill()} />\n </Box>\n </Box>\n <Box\n width=\"285px\"\n height=\"auto\"\n justifyContent=\"center\"\n textAlign=\"center\"\n display=\"grid\"\n gap=\"8px\"\n padding=\"1rem\"\n >\n <Box>\n <StyledText\n fontFamily=\"Roboto\"\n fontWeight=\"700\"\n lineHeight=\"21px\"\n fontSize=\"16px\"\n color=\"#555555\"\n m=\"0px\"\n >\n {resourceTitle}\n </StyledText>\n </Box>\n <Box>\n <StyledText\n fontFamily=\"Roboto\"\n fontWeight=\"400\"\n lineHeight=\"14px\"\n fontSize=\"12px\"\n color=\"#555555\"\n m=\"0px\"\n >\n {resourceDetail}\n </StyledText>\n </Box>\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"center\">\n <StyledText\n fontFamily=\"Roboto\"\n fontWeight=\"500\"\n fontSize=\"14px\"\n lineHeight=\"16px\"\n color={vars('colors-neutral-gray')}\n textDecoration=\"underline\"\n gap=\"8px\"\n display=\"flex\"\n m=\"0px\"\n >\n {resourceType === 'url' ? (\n <DiagonalArrow color={vars('colors-main-deepSkyBlue')} />\n ) : (\n <Download color={vars('colors-main-deepSkyBlue')} />\n )}\n {resourceTextDownload}\n </StyledText>\n </Box>\n </Box>\n </Ripples>\n </StyledLink>\n )\n}\n","/**\n * @module constants\n * @summary Useful constants\n * @description\n * Collection of useful date constants.\n *\n * The constants could be imported from `date-fns/constants`:\n *\n * ```ts\n * import { maxTime, minTime } from \"./constants/date-fns/constants\";\n *\n * function isAllowedTime(time) {\n * return time <= maxTime && time >= minTime;\n * }\n * ```\n */\n\n/**\n * @constant\n * @name daysInWeek\n * @summary Days in 1 week.\n */\nexport const daysInWeek = 7;\n\n/**\n * @constant\n * @name daysInYear\n * @summary Days in 1 year.\n *\n * @description\n * How many days in a year.\n *\n * One years equals 365.2425 days according to the formula:\n *\n * > Leap year occurs every 4 years, except for years that are divisible by 100 and not divisible by 400.\n * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days\n */\nexport const daysInYear = 365.2425;\n\n/**\n * @constant\n * @name maxTime\n * @summary Maximum allowed time.\n *\n * @example\n * import { maxTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = 8640000000000001 <= maxTime;\n * //=> false\n *\n * new Date(8640000000000001);\n * //=> Invalid Date\n */\nexport const maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n\n/**\n * @constant\n * @name minTime\n * @summary Minimum allowed time.\n *\n * @example\n * import { minTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = -8640000000000001 >= minTime;\n * //=> false\n *\n * new Date(-8640000000000001)\n * //=> Invalid Date\n */\nexport const minTime = -maxTime;\n\n/**\n * @constant\n * @name millisecondsInWeek\n * @summary Milliseconds in 1 week.\n */\nexport const millisecondsInWeek = 604800000;\n\n/**\n * @constant\n * @name millisecondsInDay\n * @summary Milliseconds in 1 day.\n */\nexport const millisecondsInDay = 86400000;\n\n/**\n * @constant\n * @name millisecondsInMinute\n * @summary Milliseconds in 1 minute\n */\nexport const millisecondsInMinute = 60000;\n\n/**\n * @constant\n * @name millisecondsInHour\n * @summary Milliseconds in 1 hour\n */\nexport const millisecondsInHour = 3600000;\n\n/**\n * @constant\n * @name millisecondsInSecond\n * @summary Milliseconds in 1 second\n */\nexport const millisecondsInSecond = 1000;\n\n/**\n * @constant\n * @name minutesInYear\n * @summary Minutes in 1 year.\n */\nexport const minutesInYear = 525600;\n\n/**\n * @constant\n * @name minutesInMonth\n * @summary Minutes in 1 month.\n */\nexport const minutesInMonth = 43200;\n\n/**\n * @constant\n * @name minutesInDay\n * @summary Minutes in 1 day.\n */\nexport const minutesInDay = 1440;\n\n/**\n * @constant\n * @name minutesInHour\n * @summary Minutes in 1 hour.\n */\nexport const minutesInHour = 60;\n\n/**\n * @constant\n * @name monthsInQuarter\n * @summary Months in 1 quarter.\n */\nexport const monthsInQuarter = 3;\n\n/**\n * @constant\n * @name monthsInYear\n * @summary Months in 1 year.\n */\nexport const monthsInYear = 12;\n\n/**\n * @constant\n * @name quartersInYear\n * @summary Quarters in 1 year\n */\nexport const quartersInYear = 4;\n\n/**\n * @constant\n * @name secondsInHour\n * @summary Seconds in 1 hour.\n */\nexport const secondsInHour = 3600;\n\n/**\n * @constant\n * @name secondsInMinute\n * @summary Seconds in 1 minute.\n */\nexport const secondsInMinute = 60;\n\n/**\n * @constant\n * @name secondsInDay\n * @summary Seconds in 1 day.\n */\nexport const secondsInDay = secondsInHour * 24;\n\n/**\n * @constant\n * @name secondsInWeek\n * @summary Seconds in 1 week.\n */\nexport const secondsInWeek = secondsInDay * 7;\n\n/**\n * @constant\n * @name secondsInYear\n * @summary Seconds in 1 year.\n */\nexport const secondsInYear = secondsInDay * daysInYear;\n\n/**\n * @constant\n * @name secondsInMonth\n * @summary Seconds in 1 month\n */\nexport const secondsInMonth = secondsInYear / 12;\n\n/**\n * @constant\n * @name secondsInQuarter\n * @summary Seconds in 1 quarter.\n */\nexport const secondsInQuarter = secondsInMonth * 3;\n\n/**\n * @constant\n * @name constructFromSymbol\n * @summary Symbol enabling Date extensions to inherit properties from the reference date.\n *\n * The symbol is used to enable the `constructFrom` function to construct a date\n * using a reference date and a value. It allows to transfer extra properties\n * from the reference date to the new date. It's useful for extensions like\n * [`TZDate`](https://github.com/date-fns/tz) that accept a time zone as\n * a constructor argument.\n */\nexport const constructFromSymbol = Symbol.for(\"constructDateFrom\");\n","import { constructFromSymbol } from \"./constants.js\";\n\n/**\n * @name constructFrom\n * @category Generic Helpers\n * @summary Constructs a date using the reference date and the value\n *\n * @description\n * The function constructs a new date using the constructor from the reference\n * date and the given value. It helps to build generic functions that accept\n * date extensions.\n *\n * It defaults to `Date` if the passed reference date is a number or a string.\n *\n * Starting from v3.7.0, it allows to construct a date using `[Symbol.for(\"constructDateFrom\")]`\n * enabling to transfer extra properties from the reference date to the new date.\n * It's useful for extensions like [`TZDate`](https://github.com/date-fns/tz)\n * that accept a time zone as a constructor argument.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The reference date to take constructor from\n * @param value - The value to create the date\n *\n * @returns Date initialized using the given date and value\n *\n * @example\n * import { constructFrom } from \"./constructFrom/date-fns\";\n *\n * // A function that clones a date preserving the original type\n * function cloneDate<DateType extends Date>(date: DateType): DateType {\n * return constructFrom(\n * date, // Use constructor from the given date\n * date.getTime() // Use the date value to create a new date\n * );\n * }\n */\nexport function constructFrom(date, value) {\n if (typeof date === \"function\") return date(value);\n\n if (date && typeof date === \"object\" && constructFromSymbol in date)\n return date[constructFromSymbol](value);\n\n if (date instanceof Date) return new date.constructor(value);\n\n return new Date(value);\n}\n\n// Fallback for modularized imports:\nexport default constructFrom;\n","import { constructFrom } from \"./constructFrom.js\";\n\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * Starting from v3.7.0, it clones a date using `[Symbol.for(\"constructDateFrom\")]`\n * enabling to transfer extra properties from the reference date to the new date.\n * It's useful for extensions like [`TZDate`](https://github.com/date-fns/tz)\n * that accept a time zone as a constructor argument.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param argument - The value to convert\n *\n * @returns The parsed date in the local time zone\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nexport function toDate(argument, context) {\n // [TODO] Get rid of `toDate` or `constructFrom`?\n return constructFrom(context || argument, argument);\n}\n\n// Fallback for modularized imports:\nexport default toDate;\n","import { constructFrom } from \"./constructFrom.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link addDays} function options.\n */\n\n/**\n * @name addDays\n * @category Day Helpers\n * @summary Add the specified number of days to the given date.\n *\n * @description\n * Add the specified number of days to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param amount - The amount of days to be added.\n * @param options - An object with options\n *\n * @returns The new date with the days added\n *\n * @example\n * // Add 10 days to 1 September 2014:\n * const result = addDays(new Date(2014, 8, 1), 10)\n * //=> Thu Sep 11 2014 00:00:00\n */\nexport function addDays(date, amount, options) {\n const _date = toDate(date, options?.in);\n if (isNaN(amount)) return constructFrom(options?.in || date, NaN);\n\n // If 0 days, no-op to avoid changing times in the hour before end of DST\n if (!amount) return _date;\n\n _date.setDate(_date.getDate() + amount);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default addDays;\n","import { constructFrom } from \"../constructFrom.js\";\n\nexport function normalizeDates(context, ...dates) {\n const normalize = constructFrom.bind(\n null,\n context || dates.find((date) => typeof date === \"object\"),\n );\n return dates.map(normalize);\n}\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link startOfDay} function options.\n */\n\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - The options\n *\n * @returns The start of a day\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\nexport function startOfDay(date, options) {\n const _date = toDate(date, options?.in);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfDay;\n","import { normalizeDates } from \"./_lib/normalizeDates.js\";\nimport { startOfDay } from \"./startOfDay.js\";\n\n/**\n * The {@link isSameDay} function options.\n */\n\n/**\n * @name isSameDay\n * @category Day Helpers\n * @summary Are the given dates in the same day (and year and month)?\n *\n * @description\n * Are the given dates in the same day (and year and month)?\n *\n * @param laterDate - The first date to check\n * @param earlierDate - The second date to check\n * @param options - An object with options\n *\n * @returns The dates are in the same day (and year and month)\n *\n * @example\n * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 18, 0))\n * //=> true\n *\n * @example\n * // Are 4 September and 4 October in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2014, 9, 4))\n * //=> false\n *\n * @example\n * // Are 4 September, 2014 and 4 September, 2015 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2015, 8, 4))\n * //=> false\n */\nexport function isSameDay(laterDate, earlierDate, options) {\n const [dateLeft_, dateRight_] = normalizeDates(\n options?.in,\n laterDate,\n earlierDate,\n );\n return +startOfDay(dateLeft_) === +startOfDay(dateRight_);\n}\n\n// Fallback for modularized imports:\nexport default isSameDay;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * @name isAfter\n * @category Common Helpers\n * @summary Is the first date after the second one?\n *\n * @description\n * Is the first date after the second one?\n *\n * @param date - The date that should be after the other one to return true\n * @param dateToCompare - The date to compare with\n *\n * @returns The first date is after the second date\n *\n * @example\n * // Is 10 July 1989 after 11 February 1987?\n * const result = isAfter(new Date(1989, 6, 10), new Date(1987, 1, 11))\n * //=> true\n */\nexport function isAfter(date, dateToCompare) {\n return +toDate(date) > +toDate(dateToCompare);\n}\n\n// Fallback for modularized imports:\nexport default isAfter;\n","import {\n millisecondsInHour,\n millisecondsInMinute,\n} from \"./constants.js\";\nimport { constructFrom } from \"./constructFrom.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link parseISO} function options.\n */\n\n/**\n * @name parseISO\n * @category Common Helpers\n * @summary Parse ISO string\n *\n * @description\n * Parse the given string in ISO 8601 format and return an instance of Date.\n *\n * Function accepts complete ISO 8601 formats as well as partial implementations.\n * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601\n *\n * If the argument isn't a string, the function cannot parse the string or\n * the values are invalid, it returns Invalid Date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param argument - The value to convert\n * @param options - An object with options\n *\n * @returns The parsed date in the local time zone\n *\n * @example\n * // Convert string '2014-02-11T11:30:30' to date:\n * const result = parseISO('2014-02-11T11:30:30')\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert string '+02014101' to date,\n * // if the additional number of digits in the extended year format is 1:\n * const result = parseISO('+02014101', { additionalDigits: 1 })\n * //=> Fri Apr 11 2014 00:00:00\n */\nexport function parseISO(argument, options) {\n const invalidDate = () => constructFrom(options?.in, NaN);\n\n const additionalDigits = options?.additionalDigits ?? 2;\n const dateStrings = splitDateString(argument);\n\n let date;\n if (dateStrings.date) {\n const parseYearResult = parseYear(dateStrings.date, additionalDigits);\n date = parseDate(parseYearResult.restDateString, parseYearResult.year);\n }\n\n if (!date || isNaN(+date)) return invalidDate();\n\n const timestamp = +date;\n let time = 0;\n let offset;\n\n if (dateStrings.time) {\n time = parseTime(dateStrings.time);\n if (isNaN(time)) return invalidDate();\n }\n\n if (dateStrings.timezone) {\n offset = parseTimezone(dateStrings.timezone);\n if (isNaN(offset)) return invalidDate();\n } else {\n const tmpDate = new Date(timestamp + time);\n const result = toDate(0, options?.in);\n result.setFullYear(\n tmpDate.getUTCFullYear(),\n tmpDate.getUTCMonth(),\n tmpDate.getUTCDate(),\n );\n result.setHours(\n tmpDate.getUTCHours(),\n tmpDate.getUTCMinutes(),\n tmpDate.getUTCSeconds(),\n tmpDate.getUTCMilliseconds(),\n );\n return result;\n }\n\n return toDate(timestamp + time + offset, options?.in);\n}\n\nconst patterns = {\n dateTimeDelimiter: /[T ]/,\n timeZoneDelimiter: /[Z ]/i,\n timezone: /([Z+-].*)$/,\n};\n\nconst dateRegex =\n /^-?(?:(\\d{3})|(\\d{2})(?:-?(\\d{2}))?|W(\\d{2})(?:-?(\\d{1}))?|)$/;\nconst timeRegex =\n /^(\\d{2}(?:[.,]\\d*)?)(?::?(\\d{2}(?:[.,]\\d*)?))?(?::?(\\d{2}(?:[.,]\\d*)?))?$/;\nconst timezoneRegex = /^([+-])(\\d{2})(?::?(\\d{2}))?$/;\n\nfunction splitDateString(dateString) {\n const dateStrings = {};\n const array = dateString.split(patterns.dateTimeDelimiter);\n let timeString;\n\n // The regex match should only return at maximum two array elements.\n // [date], [time], or [date, time].\n if (array.length > 2) {\n return dateStrings;\n }\n\n if (/:/.test(array[0])) {\n timeString = array[0];\n } else {\n dateStrings.date = array[0];\n timeString = array[1];\n if (patterns.timeZoneDelimiter.test(dateStrings.date)) {\n dateStrings.date = dateString.split(patterns.timeZoneDelimiter)[0];\n timeString = dateString.substr(\n dateStrings.date.length,\n dateString.length,\n );\n }\n }\n\n if (timeString) {\n const token = patterns.timezone.exec(timeString);\n if (token) {\n dateStrings.time = timeString.replace(token[1], \"\");\n dateStrings.timezone = token[1];\n } else {\n dateStrings.time = timeString;\n }\n }\n\n return dateStrings;\n}\n\nfunction parseYear(dateString, additionalDigits) {\n const regex = new RegExp(\n \"^(?:(\\\\d{4}|[+-]\\\\d{\" +\n (4 + additionalDigits) +\n \"})|(\\\\d{2}|[+-]\\\\d{\" +\n (2 + additionalDigits) +\n \"})$)\",\n );\n\n const captures = dateString.match(regex);\n // Invalid ISO-formatted year\n if (!captures) return { year: NaN, restDateString: \"\" };\n\n const year = captures[1] ? parseInt(captures[1]) : null;\n const century = captures[2] ? parseInt(captures[2]) : null;\n\n // either year or century is null, not both\n return {\n year: century === null ? year : century * 100,\n restDateString: dateString.slice((captures[1] || captures[2]).length),\n };\n}\n\nfunction parseDate(dateString, year) {\n // Invalid ISO-formatted year\n if (year === null) return new Date(NaN);\n\n const captures = dateString.match(dateRegex);\n // Invalid ISO-formatted string\n if (!captures) return new Date(NaN);\n\n const isWeekDate = !!captures[4];\n const dayOfYear = parseDateUnit(captures[1]);\n const month = parseDateUnit(captures[2]) - 1;\n const day = parseDateUnit(captures[3]);\n const week = parseDateUnit(captures[4]);\n const dayOfWeek = parseDateUnit(captures[5]) - 1;\n\n if (isWeekDate) {\n if (!validateWeekDate(year, week, dayOfWeek)) {\n return new Date(NaN);\n }\n return dayOfISOWeekYear(year, week, dayOfWeek);\n } else {\n const date = new Date(0);\n if (\n !validateDate(year, month, day) ||\n !validateDayOfYearDate(year, dayOfYear)\n ) {\n return new Date(NaN);\n }\n date.setUTCFullYear(year, month, Math.max(dayOfYear, day));\n return date;\n }\n}\n\nfunction parseDateUnit(value) {\n return value ? parseInt(value) : 1;\n}\n\nfunction parseTime(timeString) {\n const captures = timeString.match(timeRegex);\n if (!captures) return NaN; // Invalid ISO-formatted time\n\n const hours = parseTimeUnit(captures[1]);\n const minutes = parseTimeUnit(captures[2]);\n const seconds = parseTimeUnit(captures[3]);\n\n if (!validateTime(hours, minutes, seconds)) {\n return NaN;\n }\n\n return (\n hours * millisecondsInHour + minutes * millisecondsInMinute + seconds * 1000\n );\n}\n\nfunction parseTimeUnit(value) {\n return (value && parseFloat(value.replace(\",\", \".\"))) || 0;\n}\n\nfunction parseTimezone(timezoneString) {\n if (timezoneString === \"Z\") return 0;\n\n const captures = timezoneString.match(timezoneRegex);\n if (!captures) return 0;\n\n const sign = captures[1] === \"+\" ? -1 : 1;\n const hours = parseInt(captures[2]);\n const minutes = (captures[3] && parseInt(captures[3])) || 0;\n\n if (!validateTimezone(hours, minutes)) {\n return NaN;\n }\n\n return sign * (hours * millisecondsInHour + minutes * millisecondsInMinute);\n}\n\nfunction dayOfISOWeekYear(isoWeekYear, week, day) {\n const date = new Date(0);\n date.setUTCFullYear(isoWeekYear, 0, 4);\n const fourthOfJanuaryDay = date.getUTCDay() || 7;\n const diff = (week - 1) * 7 + day + 1 - fourthOfJanuaryDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n}\n\n// Validation functions\n\n// February is null to handle the leap year (using ||)\nconst daysInMonths = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\nfunction isLeapYearIndex(year) {\n return year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0);\n}\n\nfunction validateDate(year, month, date) {\n return (\n month >= 0 &&\n month <= 11 &&\n date >= 1 &&\n date <= (daysInMonths[month] || (isLeapYearIndex(year) ? 29 : 28))\n );\n}\n\nfunction validateDayOfYearDate(year, dayOfYear) {\n return dayOfYear >= 1 && dayOfYear <= (isLeapYearIndex(year) ? 366 : 365);\n}\n\nfunction validateWeekDate(_year, week, day) {\n return week >= 1 && week <= 53 && day >= 0 && day <= 6;\n}\n\nfunction validateTime(hours, minutes, seconds) {\n if (hours === 24) {\n return minutes === 0 && seconds === 0;\n }\n\n return (\n seconds >= 0 &&\n seconds < 60 &&\n minutes >= 0 &&\n minutes < 60 &&\n hours >= 0 &&\n hours < 25\n );\n}\n\nfunction validateTimezone(_hours, minutes) {\n return minutes >= 0 && minutes <= 59;\n}\n\n// Fallback for modularized imports:\nexport default parseISO;\n","import { useState, useEffect } from 'react'\nimport { isAfter, parseISO, startOfDay, isSameDay, addDays } from 'date-fns'\n\nconst STORAGE_TODAY_EVENT = 'todayEvents'\nconst STORAGE_SEEN_EVENT = 'seenEvents'\nconst STORAGE_HAS_NEW = 'hasNewEvents'\n\nexport const useParseEvents = (\n events: any[],\n now: string\n): {\n today: any[]\n tomorrow: any[]\n next: any[]\n hasNew: boolean\n closeAndMarkSeen: () => void\n empty: boolean\n hasMoreNext: boolean\n} => {\n const [todayEvents, setTodayEvents] = useState<any[]>([])\n const [tomorrowEvents, setTomorrowEvents] = useState<any[]>([])\n const [nextEvents, setNextEvents] = useState<any[]>([])\n const [hasNew, setHasNew] = useState(false)\n const [hasMoreNext, setHasMoreNext] = useState(false)\n\n useEffect(() => {\n const parseNow = parseISO(now)\n const today = startOfDay(parseNow)\n const tomorrow = addDays(today, 1)\n\n const storedTodayEvent: number[] = JSON.parse(localStorage.getItem(STORAGE_TODAY_EVENT) ?? '[]')\n const storedSeenEvent: number[] = JSON.parse(localStorage.getItem(STORAGE_SEEN_EVENT) ?? '[]')\n\n let newEvents = false\n const todayList: any[] = []\n const tomorrowList: any[] = []\n const nextList: any[] = []\n\n events.forEach((event) => {\n const eventStart = parseISO(event.start)\n if (isSameDay(eventStart, today)) {\n const seen = storedSeenEvent.includes(event.id)\n if (!seen) {\n newEvents = true\n if (!storedTodayEvent.includes(event.id)) {\n storedTodayEvent.push(event.id)\n }\n }\n todayList.push({ ...event, isNew: !seen })\n } else if (isSameDay(eventStart, tomorrow)) {\n tomorrowList.push(event)\n } else if (isAfter(eventStart, today)) {\n nextList.push(event)\n }\n })\n\n setTodayEvents(todayList)\n setTomorrowEvents(tomorrowList)\n\n let next = [...nextList]\n if (nextList.length > 5) {\n setHasMoreNext(true)\n next = next.slice(0, 5)\n }\n setNextEvents(next)\n\n setHasNew(newEvents)\n\n localStorage.setItem(STORAGE_TODAY_EVENT, JSON.stringify(storedTodayEvent))\n localStorage.setItem(STORAGE_HAS_NEW, JSON.stringify(newEvents))\n }, [events, now])\n\n // Función para marcar todos los eventos de hoy como vistos\n const closeAndMarkSeen = (): void => {\n const storedSeenEvent: number[] = JSON.parse(localStorage.getItem(STORAGE_SEEN_EVENT) ?? '[]')\n const updatedSeenEvents = Array.from(\n new Set([...storedSeenEvent, ...todayEvents.map((e) => e.id)])\n )\n\n localStorage.setItem(STORAGE_SEEN_EVENT, JSON.stringify(updatedSeenEvents))\n localStorage.setItem(STORAGE_HAS_NEW, JSON.stringify(false))\n setTimeout(() => {\n setTodayEvents(todayEvents.map((el) => ({ ...el, isNew: false })))\n }, 300)\n setHasNew(false)\n }\n\n const empty = false\n\n return {\n today: todayEvents,\n tomorrow: tomorrowEvents,\n next: nextEvents,\n hasNew,\n closeAndMarkSeen,\n empty,\n hasMoreNext,\n }\n}\n","import { MenuButton } from '@chakra-ui/react'\n\nimport { vars } from '@theme'\nimport { NavBarButton } from '@/molecules'\n\ninterface IGoToCalendar {\n text: string\n onlyToCalendar?: boolean\n onClick?: () => void\n}\n\nexport const GoToCalendar = ({ text, onlyToCalendar, onClick }: IGoToCalendar): JSX.Element => {\n const activeBg = vars('colors-main-deepSkyBlue') ?? '#0189FF'\n const hoverBg = 'rgba(96, 121, 142, 0.8)'\n\n return (\n <MenuButton\n tabIndex={-1}\n onClick={() => onlyToCalendar && onClick && onClick()}\n position=\"relative\"\n sx={{\n background: 'none',\n border: '1px transparent',\n _hover: {\n '.nav-bar-icon': {\n bg: hoverBg,\n },\n '.nav-bar-text': {\n color: vars('colors-neutral-white'),\n },\n },\n\n _active: {\n '.nav-bar-icon': {\n bg: onlyToCalendar ? hoverBg : activeBg,\n },\n '.nav-bar-text': {\n color: vars('colors-neutral-white'),\n },\n },\n }}\n >\n <NavBarButton as=\"div\" type=\"calendar\" buttonName={text.toUpperCase()} />\n </MenuButton>\n )\n}\n","import { Box } from '@chakra-ui/react'\nimport { vars } from '@theme'\n\nexport const Header = ({ text, isMobile }: { text?: string; isMobile: boolean }): JSX.Element => {\n return (\n <Box\n as=\"header\"\n bg={vars('colors-neutral-davysGrey') ?? '#5C5C5C'}\n borderRadius={isMobile ? 'none' : '10px 10px 0 0'}\n color={vars('colors-neutral-white') ?? '#FFFFFF'}\n fontSize=\"14px\"\n fontWeight=\"500\"\n lineHeight=\"normal\"\n padding=\"16px\"\n position=\"absolute\"\n width={isMobile ? '100vw' : '100%'}\n top={0}\n zIndex=\"1\"\n >\n {text ?? 'Próximas fechas importantes de tus cursos'}\n </Box>\n )\n}\n","export const NoEventsIcon = (): JSX.Element => (\n <svg width=\"197px\" height=\"197px\" fill=\"none\">\n <g clipPath=\"url(#a)\">\n <path\n fill=\"#F4F4F4\"\n d=\"M98.5 197c54.4 0 98.5-44.1 98.5-98.5S152.9 0 98.5 0 0 44.1 0 98.5 44.1 197 98.5 197Z\"\n />\n <rect width=\"74px\" height=\"29px\" x=\"106px\" y=\"12px\" fill=\"#FF554D\" rx=\"5px\" />\n <rect width=\"40px\" height=\"6px\" x=\"125px\" y=\"24px\" fill=\"#08044F\" rx=\"3px\" />\n <rect width=\"6px\" height=\"6px\" x=\"114px\" y=\"24px\" fill=\"#08044F\" rx=\"3px\" />\n <rect width=\"106px\" height=\"29px\" x=\"11px\" y=\"159px\" fill=\"#1EBDAF\" rx=\"5px\" />\n <rect width=\"67px\" height=\"6px\" x=\"21px\" y=\"170px\" fill=\"#08044F\" rx=\"3px\" />\n <rect width=\"6px\" height=\"6px\" x=\"99px\" y=\"170px\" fill=\"#08044F\" rx=\"3px\" />\n <rect width=\"123px\" height=\"82px\" x=\"37px\" y=\"66px\" fill=\"#0189FF\" rx=\"5px\" />\n <rect width=\"16px\" height=\"6px\" x=\"131px\" y=\"93px\" fill=\"#F4F4F4\" rx=\"3px\" />\n <rect width=\"16px\" height=\"6px\" x=\"131px\" y=\"110px\" fill=\"#F4F4F4\" rx=\"3px\" />\n <path\n stroke=\"#FFBC27\"\n strokeLinecap=\"round\"\n strokeWidth=\"13px\"\n d=\"M68.5 56.5v19M132.5 56.5v19\"\n />\n <rect width=\"16px\" height=\"6px\" x=\"50px\" y=\"93px\" fill=\"#F4F4F4\" rx=\"3px\" />\n <rect width=\"16px\" height=\"6px\" x=\"50px\" y=\"110px\" fill=\"#F4F4F4\" rx=\"3px\" />\n <rect width=\"16px\" height=\"6px\" x=\"50px\" y=\"127px\" fill=\"#F4F4F4\" rx=\"3px\" />\n <rect width=\"16px\" height=\"6px\" x=\"77px\" y=\"93px\" fill=\"#F4F4F4\" rx=\"3px\" />\n <rect width=\"16px\" height=\"6px\" x=\"104px\" y=\"93px\" fill=\"#F4F4F4\" rx=\"3px\" />\n <rect width=\"16px\" height=\"6px\" x=\"104px\" y=\"110px\" fill=\"#F4F4F4\" rx=\"3px\" />\n <rect width=\"16px\" height=\"6px\" x=\"104px\" y=\"127px\" fill=\"#F4F4F4\" rx=\"3px\" />\n </g>\n <defs>\n <clipPath id=\"a\">\n <path fill=\"#fff\" d=\"M0 0h197v197H0z\" />\n </clipPath>\n </defs>\n </svg>\n)\n","import { Box } from '@chakra-ui/react'\nimport { vars } from '@theme'\n\nimport { NoEventsIcon } from '../Icons/NoEventsIcon'\n\nexport const Empty = ({ text }: { text?: string }): JSX.Element => {\n return (\n <Box\n alignItems=\"center\"\n display=\"flex\"\n flexDirection=\"column\"\n gap=\"24px\"\n padding=\"104px 0px 64px\"\n >\n <NoEventsIcon />\n <Box\n fontSize=\"20px\"\n fontWeight=\"700\"\n color={vars('colors-neutral-darkCharcoal') || '#2F2F2F'}\n >\n {text ?? 'Aún no tienes eventos en tu calendario'}\n </Box>\n </Box>\n )\n}\n","import { BtnLink } from '@/molecules'\nimport { EventsList } from '@/organisms/Calendar'\nimport { Box, MenuGroup } from '@chakra-ui/react'\nimport { vars } from '@theme'\nimport { Event } from '../../types'\n\ninterface IEventsGroupProps {\n colors?: Record<string, string>\n events: Event[]\n hasMoreNext?: boolean\n redirect?: () => void\n text: string\n textSeeMore?: string\n textLinkMore?: string\n title: string\n}\n\nexport const EventsGroup = ({\n colors,\n events,\n hasMoreNext,\n title,\n redirect,\n text,\n textSeeMore,\n textLinkMore,\n}: IEventsGroupProps): JSX.Element => {\n if (!events || (events && events.length === 0)) return <></>\n\n return (\n <>\n <Box\n className=\"calendar-events-group\"\n _focus={{\n background: 'none !important',\n border: `1px solid ${vars('colors-icon-deepSkyBlue') ?? '#0189FF'}`,\n }}\n sx={{\n '.chakra-menu__menuitem > div': {\n w: '100%',\n },\n }}\n >\n <MenuGroup title={title}>\n {events.map((event: Event) => {\n return (\n // Una vez que el evento se comporte como link, se debe cambiar Box a MenuItem y aplicar el efecto de focus\n <Box\n bg={vars('colors-neutral-white') ?? '#FFFFFF'}\n border=\"none\"\n cursor=\"default\"\n padding=\"0\"\n key={event.id}\n _hover={{\n boxShadow: 'none !important',\n cursor: 'default !important',\n bg: 'none !important',\n }}\n _focus={{\n background: 'none !important',\n boxShadow: 'none !important',\n }}\n >\n <EventsList\n key={event.id}\n name={event.translatedTitle}\n courseName={event.course.name}\n day={event.formatedDate.day}\n date={event.formatedDate.date}\n time={event.formatedDate.time}\n color={\n event.course_id && colors?.[event.course_id]\n ? colors[event.course_id]\n : '#82504A'\n }\n text={text}\n type={event.type}\n hasNotification={event.isNew}\n showCourse\n />\n </Box>\n )\n })}\n </MenuGroup>\n </Box>\n {hasMoreNext && (\n <Box display=\"flex\" alignItems=\"center\" padding=\"16px 0 0 16px\">\n <Box as=\"span\" fontSize=\"14px\">\n {textSeeMore}\n </Box>{' '}\n <BtnLink onClick={redirect} target=\"_self\">\n {textLinkMore}\n </BtnLink>\n </Box>\n )}\n </>\n )\n}\n","import { BtnPrimary } from '@/molecules'\nimport { Box } from '@chakra-ui/react'\nimport { vars } from '@theme'\n\nimport { Text, Event } from '../../types'\nimport { EventsGroup } from './EventsGroup'\n\ninterface IEventsProps {\n colors?: Record<string, string>\n events: {\n today: Event[]\n tomorrow: Event[]\n next: Event[]\n }\n hasMoreNext?: boolean\n isMobile: boolean\n redirecToCalendar: () => void\n text?: Text\n}\n\nexport const Events = ({\n colors,\n events,\n hasMoreNext,\n isMobile,\n redirecToCalendar,\n text,\n}: IEventsProps): JSX.Element => {\n const { today, tomorrow, next } = events\n\n return (\n <Box\n borderRadius=\"10px\"\n color=\"#1C1818\"\n h={isMobile ? 'auto' : '552px'}\n overflowY=\"scroll\"\n pb=\"32px\"\n sx={{\n '.calendar-events-group': {\n borderBottom: `1px solid ${vars('colors-neutral-platinum') ?? '#E8E8E8'}`,\n },\n }}\n >\n {redirecToCalendar && (\n <Box\n sx={{\n button: {\n p: '8px ',\n fontSize: '14px',\n lineHeight: '14px',\n minW: 'fit-content',\n minH: 'fit-content',\n },\n }}\n >\n <BtnPrimary onClick={redirecToCalendar} m=\"72px 0 0 16px\" id=\"RedirectButton\">\n {text?.buttonCalendar ?? 'Ir a Mi Calendario'}\n </BtnPrimary>\n </Box>\n )}\n <EventsGroup\n colors={colors}\n events={today}\n text={text?.course ?? ''}\n title={text?.events?.today ?? 'Hoy'}\n />\n <EventsGroup\n colors={colors}\n events={tomorrow}\n text={text?.course ?? ''}\n title={text?.events?.tomorrow ?? 'Mañana'}\n />\n <EventsGroup\n colors={colors}\n events={next}\n hasMoreNext={hasMoreNext}\n redirect={redirecToCalendar}\n textSeeMore={text?.seeMore.see ?? 'Ver más fechas en'}\n textLinkMore={text?.seeMore.link ?? 'Mi calendario'}\n text={text?.course ?? ''}\n title={text?.events?.next ?? 'Próximos'}\n />\n </Box>\n )\n}\n","import { useEffect, useState } from 'react'\nimport { Box, Menu, MenuList, useMediaQuery } from '@chakra-ui/react'\nimport { vars } from '@theme'\n\nimport { useParseEvents } from './services/parseEvents'\nimport { GoToCalendar } from './Components/GoToCalendar'\nimport { Header } from './Components/Header'\nimport { Empty } from './Components/Empty'\nimport { Events } from './Components/Events'\nimport { ICalendarDropdown } from '../types'\n\nexport const CalendarDropdownContainer = ({\n courseColors,\n events,\n loading,\n m,\n now,\n onlyToCalendar,\n redirectToCalendar,\n text,\n alert = false,\n}: ICalendarDropdown): JSX.Element => {\n const [isMobile] = useMediaQuery('(max-width: 577px)')\n const { closeAndMarkSeen, empty, hasNew, hasMoreNext, ...all } = useParseEvents(events, now)\n\n const [isMenuOpen, setMenuOpen] = useState(false)\n\n // Función que oculta el contenido de fondo al abrir el menú en formato mobile.\n // Para el caso de v8 se usa el id del contenedor y para CV la clase.\n // En ambos casos es un cambio que se aplica sólo cuando el menú está abierto y en dispositivos móviles.\n useEffect(() => {\n if (!isMobile || onlyToCalendar) return // Si es mobile o no abre menu no se ejecuta\n\n const viewContainer = document.getElementById('ViewContainer')\n\n if (viewContainer) {\n // Si existe #ViewContainer, lo ocultamos o mostramos\n viewContainer.style.display = isMenuOpen ? 'none' : ''\n } else {\n // Si #ViewContainer no existe, aplicamos la lógica de .main\n const mainElement = document.querySelector('.main')\n if (!mainElement) return\n\n const firstChild = mainElement.firstElementChild\n if (!firstChild || !(firstChild instanceof HTMLElement)) return\n\n const headerElement = firstChild.querySelector('header.header')\n if (!headerElement) return\n\n const targetElement = headerElement.nextElementSibling\n if (!targetElement || !(targetElement instanceof HTMLElement)) return\n\n targetElement.style.display = isMenuOpen ? 'none' : ''\n }\n }, [isMobile, isMenuOpen, onlyToCalendar])\n\n const onClose = (): void => {\n closeAndMarkSeen()\n setMenuOpen(false)\n }\n\n return (\n <Box\n zIndex={4}\n className={`calendarDropdown ${hasNew && !onlyToCalendar ? 'hasNew' : ''}`}\n width=\"fit-content\"\n height=\"30px\"\n m={m}\n position=\"relative\"\n sx={{\n // Pseudo-elemento para la flecha\n '&::after': {\n borderColor: `transparent transparent ${\n vars('colors-neutral-davysGrey') ?? '#5C5C5C'\n } transparent`,\n borderStyle: 'solid',\n borderWidth: '0 11px 10px 11px',\n content: '\"\"',\n display: isMenuOpen ? 'block' : 'none',\n height: '0',\n left: '11%',\n position: 'absolute',\n top: '30px',\n transform: 'translateX(-50%)',\n width: '0',\n },\n // Se genera pseudo elemento que actúa como ícono de notificación\n '&.hasNew::before': {\n background: vars('colors-secondary-pumpkin') ?? '#FF7A14',\n borderRadius: '50%',\n content: '\"\"',\n display: 'block',\n height: '8px',\n width: '8px',\n position: 'absolute',\n left: '22px',\n top: '0',\n zIndex: '1',\n },\n '>div': {\n left: isMobile ? '0 !important' : 'auto',\n position: isMobile ? 'fixed !important' : 'absolute',\n top: isMobile ? '62px !important' : 'auto',\n transform: isMobile ? 'none !important' : 'translate3d(-409px, 38px, 0px) !important',\n },\n\n '.chakra-menu__menu-list': {\n animation: 'none !important',\n background: 'transparent',\n border: 'none',\n borderRadius: isMobile ? '0' : '10px',\n boxShadow: isMobile ? 'none' : 'rgba(47, 47, 47, 0.2) -1px 6px 40px 0px',\n left: isMobile ? 'auto' : '34pxpx',\n maxHeight: isMobile ? 'calc(100vh - 62px)' : 'auto',\n opacity: '1 !important',\n overflowY: isMobile ? 'auto' : 'hidden',\n padding: '0',\n position: 'absolute',\n top: isMobile ? '-6px !important' : '1px',\n transform: 'none !important',\n transition: 'none !important',\n width: isMobile ? '100vw' : '500px',\n },\n '.chakra-menu__group__title': {\n fontSize: '18px',\n fontWeight: '700',\n lineHeight: '31px',\n margin: '32px 0 0',\n padding: '0 0 8px 16px',\n },\n '.react-ripples': {\n width: 'inherit',\n },\n }}\n >\n <Menu autoSelect={false} onOpen={() => setMenuOpen(true)} onClose={onClose}>\n <>\n <GoToCalendar\n text={text?.tooltip ?? 'Calendario'}\n onlyToCalendar={onlyToCalendar}\n onClick={redirectToCalendar}\n />\n {!onlyToCalendar && (\n <MenuList>\n <Header\n isMobile={isMobile}\n text={text?.header ?? 'Próximas fechas importantes de tus cursos'}\n />\n <Box bg={vars('colors-neutral-white') ?? '#FFF'}>\n {loading ? (\n <Loading text={text?.loading ?? 'Cargando'} />\n ) : events.length === 0 || empty ? (\n <Empty text={text?.empty ?? 'Aún no tienes eventos en tu calendario'} />\n ) : (\n <Events\n colors={courseColors}\n events={all}\n hasMoreNext={hasMoreNext}\n isMobile={isMobile}\n redirecToCalendar={redirectToCalendar}\n text={text}\n />\n )}\n </Box>\n </MenuList>\n )}\n </>\n </Menu>\n </Box>\n )\n}\n\nconst Loading = ({ text }: { text?: string }): JSX.Element => {\n return <div>{text ?? 'Loading...'}</div>\n}\n","import { CalendarDropdownContainer } from './CalendarDropdown/CalendarDropdownContainer'\nimport { ICalendarDropdown } from './types'\n\nexport const CalendarDropdown = ({\n courseColors,\n events,\n loading,\n m,\n now,\n onlyToCalendar = false,\n redirectToCalendar,\n text,\n alert = false,\n}: ICalendarDropdown): JSX.Element => {\n const date = new Date(now)\n const isoDate = date.toISOString()\n\n return (\n <CalendarDropdownContainer\n courseColors={courseColors}\n events={events}\n loading={loading}\n m={m}\n now={isoDate}\n onlyToCalendar={onlyToCalendar}\n redirectToCalendar={redirectToCalendar}\n text={text}\n alert={alert}\n />\n )\n}\n","export const NotificationIcon = (): JSX.Element => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"8px\"\n height=\"9px\"\n fill=\"none\"\n className=\"goToCalendarNotification\"\n >\n <circle cx=\"4px\" cy=\"4.5px\" r=\"4px\" fill=\"#FF7A14\" />\n </svg>\n)\n","import { Box } from '@chakra-ui/react'\nimport { vars } from '@theme'\n\nimport { NotificationIcon } from './NotificationIcon'\n\nexport interface IEventList {\n color?: string\n courseName?: string\n day: string\n date: string\n name: string\n hasNotification?: boolean\n showCourse?: boolean\n showUnit?: boolean\n time: string\n text: string\n type: string\n unitName?: string\n}\n\nexport const EventsList = ({\n courseName,\n color,\n day,\n date,\n name,\n hasNotification,\n showCourse,\n showUnit,\n time,\n text,\n type,\n unitName,\n}: IEventList): JSX.Element => {\n const border = `1px solid ${vars('colors-neutral-platinum') ?? '#E8E8E8'}`\n\n const initOrEnd = [\n 'end-course',\n 'init-course',\n 'init-course-flexible',\n 'end-course-flexible',\n ].includes(type)\n\n const dateTextStyle = {\n color: vars('colors-neutral-white'),\n fontSize: '14px',\n fontWeight: '700',\n lineHeight: '100%',\n }\n\n const detailTextStyle = {\n color: vars('colors-neutral-gray') ?? '#808080',\n fontSize: '14px',\n display: 'inline',\n gap: '4px',\n lineHeight: 'normal',\n }\n\n return (\n <Box className=\"eventsList\" borderTop={border} p=\"16px\" display=\"flex\" gap=\"12px\">\n <Box\n bg={color}\n minW=\"88px\"\n minH=\"74px\"\n maxW=\"88px\"\n maxH=\"72px\"\n borderRadius=\"4px\"\n p=\"8px\"\n display=\"flex\"\n flexDirection=\"column\"\n justifyContent=\"space-around\"\n >\n <Box as=\"span\" sx={dateTextStyle}>\n {day}\n </Box>\n <Box as=\"span\" sx={dateTextStyle}>\n {date}\n </Box>\n <Box sx={dateTextStyle}>{time}</Box>\n </Box>\n\n <Box display=\"flex\" flexDirection=\"column\" gap=\"8px\" w=\"100%\">\n <Box\n alignItems=\"center\"\n display=\"flex\"\n fontSize=\"16px\"\n fontWeight=\"700\"\n justifyContent=\"space-between\"\n lineHeight=\"21px\"\n sx={{\n '>span': {\n width: 'calc(100% - 12px)',\n },\n '>svg': {\n alignSelf: 'flex-start',\n },\n }}\n >\n <span>{name}</span>\n {hasNotification && <NotificationIcon />}\n </Box>\n\n {showCourse && !initOrEnd && (\n <Box as=\"span\" sx={detailTextStyle}>\n <strong>{text ? `${text}:` : 'Curso:'}</strong> {courseName}\n </Box>\n )}\n\n {showUnit && !initOrEnd && (\n <Box display=\"flex\" gap=\"4px\" alignItems=\"baseline\">\n <Box as=\"span\" sx={detailTextStyle}>\n {unitName}\n </Box>\n </Box>\n )}\n </Box>\n </Box>\n )\n}\n"],"names":["main","colors","styles","props","base","borders","radii","shadows","utils","typography","fonts","body","outstanding","overlay","dialog","theme","extendTheme","vars","value","getOwnPropertySymbols","hasOwnProperty","propIsEnumerable","toObject","val","shouldUseNative","test1","test2","i","order2","n","test3","letter","f","require$$0","g","reactJsxRuntime_production_min","h","m","p","q","c","a","k","b","d","e","l","jsxRuntimeModule","jsx","jsxRuntime.jsx","jsxs","jsxRuntime.jsxs","Fragment","jsxRuntime.Fragment","Label","children","bg","color","size","sx","config","md","borderRadius","fontWeight","sm","Box","display","fontSize","lineHeight","Progress","limitedValue","CircularProgress","thickness","trackColor","ReactPropTypesSecret","ReactPropTypesSecret_1","emptyFunction","emptyFunctionWithReset","factoryWithThrowingShims","shim","propName","componentName","location","propFullName","secret","err","getShim","ReactPropTypes","propTypesModule","__extends","this","extendStatics","__","__assign","t","s","__rest","boxStyle","createRipples","defaultProps","_a","_super","class_1","_this","ev","during","onClick","pageX","pageY","currentTarget","rect","left","top","state","className","rippleStyle","React","PropTypes","withAttrs","Component","Ripples$1","Ripples","ReactRipples","Base","w","viewBox","title","IconChakra","_jsxs","AcademicRecord","_jsx","fill","displayName","AlertInfo","width","height","xmlns","stroke","strokeWidth","strokeLinecap","fillRule","clipRule","uniqueId","ArrowRight","id","clipPath","style","maskType","x","y","maskUnits","transform","mask","Certificate","CircularCheck","CircularInformation","Download","GoAhead","GoBack","Multimedia","Loader","shapeRendering","textRendering","dangerouslySetInnerHTML","__html","r","fillOpacity","animation","Profile","Schedule","TinyAlertInfo","cx","cy","TinyAlertError","TinyAlertWarning","TinyAlertSuccess","Password","Pen","PlusSign","TrashCan","TextBubble","ErrorWhite","InfoWhite","SuccessWhite","WarningWhite","ErrorColor","InfoColor","SuccessColor","WarningColor","Close","DiagonalArrow","TinyAlert","status","text","margin","alerts","success","icon","error","info","warning","answered","undefined","omitted","pending","new","backgroundColor","flexDirection","alignItems","padding","gap","as","fontStyle","fontFamily","Btn","ariaLabel","borderColorActive","disabled","fillLoader","isFullWidth","isLoading","leftIcon","rightIcon","role","rounded","touchDark","type","tabIndex","showChildren","paddingTopBottom","colorMain","touchColor","onlyIcon","Button","autoFocus","iconSpacing","isActive","minHeight","minWidth","position","paddingTop","paddingBottom","paddingLeft","paddingRight","spinner","_active","_disabled","opacity","cursor","_focus","boxShadow","_focusVisible","_hover","hover","span","BtnPrimary","BtnSecondary","BtnTertiary","activeWhenPress","iconStatus","iconCustom","onMouseEnter","onMouseLeave","withoutColor","gray","blue","white","colorIcon","btnIcons","ahead","answer","back","delete","download","edit","more","multimedia","password","record","noIcon","_Fragment","rIcon","lIcon","background","textDecorationLine","mr","BtnLink","href","isDisable","target","typeButton","button","stylesBtnLink","borderStyle","HelpIcon","CalendarButtonIcon","Accessibility","NavBarButton","buttonName","onlyLink","isMobile","useMediaQuery","buttonType","accessibility","calendar","help","triggerWidget","buttonB","document","getElementById","click","activeBg","hoverBg","isAccessibility","outline","border","maxH","justifyContent","alignContent","NewTooltip","label","isDisabled","maxWidth","placement","isOpen","Tooltip","closeOnClick","hasArrow","UserWay","UserWayCookie","cookieName","userwayDataCookie","row","userwayData","key","serializedData","expiryDate","STUDENT","LABEL_STYLES","ADMIN","NEW","Header","labels","logo","logoAlt","profile","soonCourse","useContext","CourseBoxContext","borderBottom","pos","_before","content","backgroundImage","backgroundSize","backgroundPosition","show","zIndex","Flex","name","length","Stack","direction","spacing","wrap","map","item","index","labelStyle","Center","bottom","overflow","Image","src","alt","maxHeight","DateStatus","date","Text","IconSelection","progressValue","ID_QUALIFIED","CourseStatus","progress","ml","finalGrade","isApproved","Section","dateStatus","information","marginTop","hasDates","HStack","divider","init","end","alignSelf","Heading","mt","justify","List","paddingInlineStart","pt","borderTop","ListItem","Link","isExternal","textDecor","dataBase","dataStates","dataFake","PROFILE_STUDENT","isCourseActive","enabled","profileID","maxWidthCoursesList","nCols","wCourse","columnGap","PaymentModal","onOpen","onClose","showOverlay","modalPaymentText","cssButton","OverlayTwo","ModalOverlay","backdropBlur","setOverlay","useState","useEffect","Modal","isCentered","blockScrollOnMount","closeOnOverlayClick","ModalContent","marginBottom","ModalHeader","ModalCloseButton","ModalBody","align","ModalFooter","borderTopColor","Footer","action","hasFinanzeFreezed","useDisclosure","handleClick","hasIcon","mb","useEnterNavigate","handleKeyDown","active","isFocusableLink","_b","createContext","WithRipples","BoxTraditional","data","isClickable","hasHref","cssActive","Provider","LinkBox","transition","LinkOverlay","targetBlank","BoxImage","backgroundImg","boxHeight","large","small","font","textAlign","marginBlockEnd","Boxes","common","commonImg","TRADITIONAL","TRADITIONAL_LANDSCAPE","IMAGE_LARGE","IMAGE_SMALL","CourseList","courses","typeBox","gridColumnGap","gridRowGap","gridTemplateColumns","course","entries","setPrototypeOf","isFrozen","getPrototypeOf","getOwnPropertyDescriptor","freeze","seal","create","apply","construct","func","thisArg","_len","args","_key","Func","_len2","_key2","arrayForEach","unapply","arrayLastIndexOf","arrayPop","arrayPush","arraySplice","stringToLowerCase","stringToString","stringMatch","stringReplace","stringIndexOf","stringTrim","objectHasOwnProperty","regExpTest","typeErrorCreate","unconstruct","_len3","_key3","_len4","_key4","addToSet","set","array","transformCaseFunc","element","lcElement","cleanArray","clone","object","newObject","property","lookupGetter","prop","desc","fallbackValue","html$1","svg$1","svgFilters","svgDisallowed","mathMl$1","mathMlDisallowed","html","svg","mathMl","xml","MUSTACHE_EXPR","ERB_EXPR","TMPLIT_EXPR","DATA_ATTR","ARIA_ATTR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","DOCTYPE_NAME","CUSTOM_ELEMENT","EXPRESSIONS","NODE_TYPE","getGlobal","_createTrustedTypesPolicy","trustedTypes","purifyHostElement","suffix","ATTR_NAME","policyName","scriptUrl","_createHooksMap","createDOMPurify","window","DOMPurify","root","originalDocument","currentScript","DocumentFragment","HTMLTemplateElement","Node","Element","NodeFilter","NamedNodeMap","HTMLFormElement","DOMParser","ElementPrototype","cloneNode","remove","getNextSibling","getChildNodes","getParentNode","template","trustedTypesPolicy","emptyHTML","implementation","createNodeIterator","createDocumentFragment","getElementsByTagName","importNode","hooks","IS_ALLOWED_URI$1","ALLOWED_TAGS","DEFAULT_ALLOWED_TAGS","ALLOWED_ATTR","DEFAULT_ALLOWED_ATTR","CUSTOM_ELEMENT_HANDLING","FORBID_TAGS","FORBID_ATTR","EXTRA_ELEMENT_HANDLING","ALLOW_ARIA_ATTR","ALLOW_DATA_ATTR","ALLOW_UNKNOWN_PROTOCOLS","ALLOW_SELF_CLOSE_IN_ATTR","SAFE_FOR_TEMPLATES","SAFE_FOR_XML","WHOLE_DOCUMENT","SET_CONFIG","FORCE_BODY","RETURN_DOM","RETURN_DOM_FRAGMENT","RETURN_TRUSTED_TYPE","SANITIZE_DOM","SANITIZE_NAMED_PROPS","SANITIZE_NAMED_PROPS_PREFIX","KEEP_CONTENT","IN_PLACE","USE_PROFILES","FORBID_CONTENTS","DEFAULT_FORBID_CONTENTS","DATA_URI_TAGS","DEFAULT_DATA_URI_TAGS","URI_SAFE_ATTRIBUTES","DEFAULT_URI_SAFE_ATTRIBUTES","MATHML_NAMESPACE","SVG_NAMESPACE","HTML_NAMESPACE","NAMESPACE","IS_EMPTY_INPUT","ALLOWED_NAMESPACES","DEFAULT_ALLOWED_NAMESPACES","MATHML_TEXT_INTEGRATION_POINTS","HTML_INTEGRATION_POINTS","COMMON_SVG_AND_HTML_ELEMENTS","PARSER_MEDIA_TYPE","SUPPORTED_PARSER_MEDIA_TYPES","DEFAULT_PARSER_MEDIA_TYPE","CONFIG","formElement","isRegexOrFunction","testValue","_parseConfig","cfg","ALL_SVG_TAGS","ALL_MATHML_TAGS","_checkValidNamespace","parent","tagName","parentTagName","_forceRemove","node","_removeAttribute","_initDocument","dirty","doc","leadingWhitespace","matches","dirtyPayload","_createNodeIterator","_isClobbered","_isNode","_executeHooks","currentNode","hook","_sanitizeElements","_isBasicCustomElement","parentNode","childNodes","childCount","childClone","expr","_isValidAttribute","lcTag","lcName","_sanitizeAttributes","attributes","hookEvent","attr","namespaceURI","attrValue","initValue","_sanitizeShadowDOM","fragment","shadowNode","shadowIterator","importedNode","returnNode","nodeIterator","serializedHTML","tag","entryPoint","hookFunction","purify","exports","ElementType","isTag","elem","domelementtype_1","prev","next","recursive","DataNode","Comment","ProcessingInstruction","NodeWithChildren","CDATA","Document","attribs","isCDATA","isText","isComment","isDirective","isDocument","hasChildren","result","cloneChildren","clone_1","child","clone_2","clone_3","instruction","childs","__createBinding","o","k2","__exportStar","node_js_1","require$$1","defaultOpts","DomHandler","callback","options","elementCB","parser","lastNode","previousSibling","accumulator","utilities","utilities$2","formatAttributes","escapeSpecialCharacters","revertEscapedCharacters","formatDOM","domhandler_1","constants_1","getCaseSensitiveTagName","attributesLength","attribute","formatTagName","caseSensitiveTagName","nodes","directive","domNodes","current","nodesLength","domparser_1","domparser$1","domparser","utilities_1","HTML","HEAD","BODY","FIRST_TAG_REGEX","HEAD_TAG_REGEX","BODY_TAG_REGEX","parseFromDocument","parseFromString","domParser_1","mimeType_1","htmlDocument_1","parseFromTemplate","match","firstTagName","elements","__importDefault","mod","htmlToDom","HTMLDOMParser","DIRECTIVE_REGEX","SAME","possibleStandardNamesOptimized$1","CAMELCASE","RESERVED","STRING","BOOLEANISH_STRING","BOOLEAN","OVERLOADED_BOOLEAN","NUMERIC","POSITIVE_NUMERIC","getPropertyInfo","properties","PropertyInfoRecord","mustUseProperty","attributeName","attributeNamespace","sanitizeURL","removeEmptyString","CAMELIZE","capitalize","token","xlinkHref","possibleStandardNamesOptimized","ATTRIBUTE_NAME_CHAR","isCustomAttribute","possibleStandardNames","standardName","lib","COMMENT_REGEX","NEWLINE_REGEX","WHITESPACE_REGEX","PROPERTY_REGEX","COLON_REGEX","VALUE_REGEX","SEMICOLON_REGEX","TRIM_REGEX","NEWLINE","FORWARD_SLASH","ASTERISK","EMPTY_STRING","TYPE_COMMENT","TYPE_DECLARATION","lineno","column","updatePosition","str","lines","start","Position","whitespace","msg","re","comments","rules","comment","declaration","ret","trim","declarations","decls","decl","cjs","cjs$2","StyleToObject","inline_style_parser_1","iterator","styleObject","hasIterator","CUSTOM_PROPERTY_REGEX","HYPHEN_REGEX","NO_HYPHEN_REGEX","VENDOR_PREFIX_REGEX","MS_VENDOR_PREFIX_REGEX","skipCamelCase","character","trimHyphen","prefix","camelCase","style_to_object_1","StyleToJS","output","isCustomComponent","setStyleProp","react_1","style_to_js_1","RESERVED_SVG_MATHML_ELEMENTS","styleOptions","canTextBeChildOfNode","returnFirstArg","arg","attributesToProps_1","attributesToProps$1","attributesToProps","react_property_1","UNCONTROLLED_COMPONENT_ATTRIBUTES","UNCONTROLLED_COMPONENT_NAMES","valueOnlyInputs","nodeName","isInputValueOnly","attributeValue","attributeNameLowerCased","getPropName","propertyInfo","domToReact_1","domToReact$1","domToReact","attributes_to_props_1","require$$2","reactElements","hasReplace","cloneElement","createElement","isValidElement","replaceElement","isWhitespace","skipAttributesToProps","HTMLReactParser","html_dom_parser_1","dom_to_react_1","require$$3","domParserOptions","ReactParser","alertStates","alertColorStates","Alert","canDismiss","buttonText","buttonIcon","buttonLink","fullWidth","maxContent","isFlash","endTextLink","onClickLink","DOMPurifyLib","sanitize","flexFlow","mx","pr","textDecoration","marginLeft","right","u","j","W","T","U","Q","S","X","$","J","v","A","P","Y","I","H","G","Z","ee","D","K","L","E","R","oe","se","_","te","ne","ie","V","ae","pe","N","de","ce","ue","C","le","Te","me","fe","M","ye","ge","he","xe","be","B","Se","Ae","z","F","Oe","Ee","Re","ve","Pe","O","Ie","handleTime","message","baseMinutes","totalMs","GLOBAL_TOASTER_FLAG","FlashNotification","shouldRenderToaster","setShouldRenderToaster","showToast","useCallback","toast","dismiss","duration","includes","Infinity","Toaster","toastOptions","containerStyle","useFlashNotification","setShow","timeOut","ModalContentBase","fixedSubtitle","withoutMargin","isDesktop","uiKitModalIsDesktop","py","px","borderTopRadius","paddingY","useModalConfig","scrollBehavior","fixedButtons","isInside","ModalPadding","modalConfig","ChakraModal","closeOnEsc","motionPreset","pb","contentProps","StyledModalFooter","StyledModalBody","ModalButtons","buttonsCenter","buttonsColumn","Loading","ModalAlertContent","description","descriptionParsed","useModalAlertConfig","ModalAlertNew","ModalAlertButtons","borderRight","useModalMultipleConfig","modalAlertConfig","ModalMultiple","renderContent","ModalAlert","showModal","typeAlert","optionsButton","modalStyles","showBorder","option","borderLeftWidth","borderLeftColor","Calendar","Icon","Clock","LargeBox","eventTitle","startDate","startTime","buttonInfo","redirect","eventImage","rel","bgImage","SmallBox","flex","Eventos","typeEvent","itemsEvent","Avi","strokeMiterlimit","Csv","Doc","Docx","Gif","Icons","Jpeg","Jpg","Png","Pdf","Ppt","Pptx","Xls","Xlsx","Mp3","Wav","Mp4","Mkv","Url","StandardBackground","colorFill","StyledText","StyledLink","Resources","resourceType","resourceTitle","resourceDetail","resourceTextDownload","resourceLink","jpeg","jpg","png","gif","ppt","pptx","docx","csv","xls","xlsx","pdf","mp4","avi","mkv","mp3","wav","url","millisecondsInMinute","millisecondsInHour","constructFromSymbol","constructFrom","toDate","argument","context","addDays","amount","_date","normalizeDates","dates","normalize","startOfDay","isSameDay","laterDate","earlierDate","dateLeft_","dateRight_","isAfter","dateToCompare","parseISO","invalidDate","additionalDigits","dateStrings","splitDateString","parseYearResult","parseYear","parseDate","timestamp","time","offset","parseTime","parseTimezone","tmpDate","patterns","dateRegex","timeRegex","timezoneRegex","dateString","timeString","regex","captures","year","century","isWeekDate","dayOfYear","parseDateUnit","month","day","week","dayOfWeek","validateWeekDate","dayOfISOWeekYear","validateDate","validateDayOfYearDate","hours","parseTimeUnit","minutes","seconds","validateTime","timezoneString","sign","validateTimezone","isoWeekYear","fourthOfJanuaryDay","diff","daysInMonths","isLeapYearIndex","_year","_hours","STORAGE_TODAY_EVENT","STORAGE_SEEN_EVENT","STORAGE_HAS_NEW","useParseEvents","events","now","todayEvents","setTodayEvents","tomorrowEvents","setTomorrowEvents","nextEvents","setNextEvents","hasNew","setHasNew","hasMoreNext","setHasMoreNext","parseNow","today","tomorrow","storedTodayEvent","storedSeenEvent","newEvents","todayList","tomorrowList","nextList","event","eventStart","seen","updatedSeenEvents","el","GoToCalendar","onlyToCalendar","MenuButton","toUpperCase","NoEventsIcon","rx","Empty","EventsGroup","textSeeMore","textLinkMore","MenuGroup","EventsList","translatedTitle","courseName","formatedDate","course_id","hasNotification","isNew","showCourse","Events","redirecToCalendar","overflowY","minW","minH","buttonCalendar","seeMore","see","link","CalendarDropdownContainer","courseColors","loading","redirectToCalendar","alert","closeAndMarkSeen","empty","all","isMenuOpen","setMenuOpen","viewContainer","mainElement","querySelector","firstChild","firstElementChild","HTMLElement","headerElement","targetElement","nextElementSibling","borderColor","borderWidth","Menu","autoSelect","tooltip","MenuList","header","CalendarDropdown","isoDate","Date","toISOString","NotificationIcon","showUnit","unitName","initOrEnd","dateTextStyle","detailTextStyle","maxW"],"mappings":"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AAQ,CAChB0b,EAAW1b,GAAQ,IAAI2b,EACrB3b,EACAqb,GACA,GACArb,EACA,KACA,GACA,EACJ,CACA,CAAC,EAID,CACE,UACA,UAKF,EAAE,QAAQA,GAAQ,CAChB0b,EAAW1b,GAAQ,IAAI2b,EACrB3b,EACAsb,GACA,GACAtb,EACA,KACA,GACA,EACJ,CACA,CAAC,EAGD,CACE,OACA,OACA,OACA,MAKF,EAAE,QAAQA,GAAQ,CAChB0b,EAAW1b,GAAQ,IAAI2b,EACrB3b,EACAwb,GACA,GACAxb,EACA,KACA,GACA,EACJ,CACA,CAAC,EAGD,CAAC,UAAW,OAAO,EAAE,QAAQA,GAAQ,CACnC0b,EAAW1b,GAAQ,IAAI2b,EACrB3b,EACAub,GACA,GACAvb,EAAK,YAAa,EAClB,KACA,GACA,EACJ,CACA,CAAC,EAED,MAAMic,GAAW,iBACXC,GAAaC,GAASA,EAAM,GAAG,YAAW,EAOhD,CACE,gBACA,qBACA,cACA,iBACA,aACA,YACA,YACA,sBACA,8BACA,gBACA,kBACA,oBACA,oBACA,eACA,YACA,cACA,gBACA,cACA,YACA,mBACA,eACA,aACA,eACA,cACA,aACA,+BACA,6BACA,cACA,iBACA,kBACA,iBACA,iBACA,aACA,aACA,eACA,oBACA,qBACA,cACA,WACA,iBACA,mBACA,kBACA,aACA,eACA,yBACA,0BACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,eACA,cACA,kBACA,iBACA,qBACA,sBACA,eACA,gBACA,eACA,eACA,YACA,gBACA,iBACA,gBACA,aACA,gBACA,gBACA,eACA,eACA,cACA,UAKF,EAAE,QAAQN,GAAiB,CACzB,MAAM7b,EAAO6b,EAAc,QAAQI,GAAUC,EAAU,EACvDR,EAAW1b,GAAQ,IAAI2b,EACrB3b,EACAmb,GACA,GACAU,EACA,KACA,GACA,EACJ,CACA,CAAC,EAGD,CACE,gBACA,gBACA,aACA,aACA,cACA,YAKF,EAAE,QAAQA,GAAiB,CACzB,MAAM7b,EAAO6b,EAAc,QAAQI,GAAUC,EAAU,EACvDR,EAAW1b,GAAQ,IAA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"}