Your IP : 216.73.216.86


Current Path : /var/www/homesaver/www/bitrix/js/ui/image-stack-steps/dist/
Upload File :
Current File : /var/www/homesaver/www/bitrix/js/ui/image-stack-steps/dist/image-stack-steps.bundle.js.map

{"version":3,"file":"image-stack-steps.bundle.js","sources":["../src/image-stack-steps-options.js","../src/helpers/validate-helpers.js","../src/components/progress-box.js","../src/components/types/text.js","../src/components/types/text-stub.js","../src/components/header.js","../src/components/stack-status.js","../src/components/types/image.js","../src/components/types/image-stub.js","../src/components/types/user.js","../src/components/types/icon.js","../src/components/types/user-stub.js","../src/components/types/counter.js","../src/components/stack.js","../src/components/types/duration.js","../src/components/footer.js","../src/components/step.js","../src/components/application.js","../src/image-stack-steps.js"],"sourcesContent":["export type ImageStackStepsOptions = {\n\tsteps: Array<StepType>,\n};\n\nexport type StepType = {\n\tid: string,\n\tprogressBox?: {\n\t\ttitle: string,\n\t},\n\theader: HeaderType,\n\tstack: StackType,\n\tfooter: FooterType,\n\tstyles?: {\n\t\tminWidth?: number;\n\t},\n};\n\nexport const headerTypeEnum = Object.freeze({\n\tTEXT: 'text',\n\tSTUB: 'stub',\n});\n\nexport type HeaderType = {\n\ttype: headerTypeEnum.STUB | headerTypeEnum.TEXT,\n\tdata: {} | { text: string },\n\tstyles?: {\n\t\tmaxWidth?: number,\n\t},\n};\n\nexport type StackType = {\n\timages: Array<ImageType>,\n\tstatus?: StackStatusType,\n};\n\nexport const imageTypeEnum = Object.freeze({\n\tIMAGE: 'image',\n\tIMAGE_STUB: 'image-stub',\n\tUSER: 'user',\n\tUSER_STUB: 'user-stub',\n\tICON: 'icon',\n\tCOUNTER: 'counter',\n});\n\nexport type ImageTypeImage = {\n\tsrc: string,\n\ttitle?: string,\n};\n\nexport type IconType = {\n\ticon: string,\n\tcolor: string,\n};\n\nexport type ImageType = {\n\ttype: (\n\t\timageTypeEnum.IMAGE\n\t\t| imageTypeEnum.USER\n\t\t| imageTypeEnum.USER_STUB\n\t\t| imageTypeEnum.IMAGE_STUB\n\t\t| imageTypeEnum.ICON\n\t\t| imageTypeEnum.COUNTER\n\t),\n\tdata: ImageTypeImage | ImageTypeImage & { userId: number } | {} | IconType | { text: string },\n};\n\nexport const stackStatusEnum = Object.freeze({\n\tCUSTOM: 'custom',\n\tOK: 'ok',\n\tCANCEL: 'cancel',\n\tWAIT: 'wait',\n});\n\nexport type StackStatusType = {\n\ttype: stackStatusEnum.OK | stackStatusEnum.WAIT | stackStatusEnum.CANCEL | stackStatusEnum.CUSTOM,\n\tdata?: IconType,\n};\n\nexport const footerTypeEnum = Object.freeze({\n\tTEXT: 'text',\n\tSTUB: 'stub',\n\tDURATION: 'duration',\n});\n\nexport type FooterType = {\n\ttype: footerTypeEnum.STUB | footerTypeEnum.TEXT | footerTypeEnum.DURATION,\n\tdata: {} | { text: string } | FooterDurationType,\n\tstyles?: {\n\t\tmaxWidth?: number,\n\t},\n};\n\nexport type FooterDurationType = {\n\tduration: number, // seconds\n\tformat?: string | [],\n\trealtime: boolean,\n\trealtimeBoundary?: number,\n};\n","import { Type } from 'main.core';\nimport {\n\theaderTypeEnum,\n\tfooterTypeEnum,\n\timageTypeEnum,\n\tstackStatusEnum,\n} from '../image-stack-steps-options';\nimport type {\n\tStepType,\n\tHeaderType,\n\tFooterType,\n\tImageType,\n\tStackStatusType,\n\tStackType,\n\tFooterDurationType,\n\tIconType,\n} from '../image-stack-steps-options';\n\nexport function validateStep(data: StepType): boolean\n{\n\tif (!Type.isStringFilled(data.id))\n\t{\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn('UI.Image-Stack-Steps: StepData.id must be filled string');\n\n\t\treturn false;\n\t}\n\n\tif (!Type.isUndefined(data.progressBox))\n\t{\n\t\tif (!Type.isPlainObject(data.progressBox))\n\t\t{\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn('UI.Image-Stack-Steps: StepData.progressBox must be plain object');\n\t\t}\n\n\t\tif (!Type.isString(data.progressBox.title))\n\t\t{\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn('UI.Image-Stack-Steps: StepData.progressBox.title must be string');\n\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn (validateHeader(data.header) && validateStack(data.stack) && validateFooter(data.footer));\n}\n\nexport function validateHeader(data: HeaderType): boolean\n{\n\tif (Type.isNil(data))\n\t{\n\t\treturn true;\n\t}\n\n\tif (!Type.isPlainObject(data))\n\t{\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn('UI.Image-Stack-Steps: StepData.header must be plain object');\n\n\t\treturn false;\n\t}\n\n\tif (!Object.values(headerTypeEnum).includes(data.type))\n\t{\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn('UI.Image-Stack-Steps: StepData.header.type must be one of headerTypeEnum values');\n\n\t\treturn false;\n\t}\n\n\tif (data.type === headerTypeEnum.TEXT)\n\t{\n\t\tif (Type.isString(data.data?.text))\n\t\t{\n\t\t\treturn true;\n\t\t}\n\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn(\n\t\t\t'UI.Image-Stack-Steps: '\n\t\t\t+ 'StepData.header with type \"text\" must contain HeaderData.text; '\n\t\t\t+ 'HeaderData.text must be string',\n\t\t);\n\n\t\treturn false;\n\t}\n\n\treturn data.type === headerTypeEnum.STUB;\n}\n\nexport function validateFooter(data: FooterType): boolean\n{\n\tif (Type.isNil(data))\n\t{\n\t\treturn true;\n\t}\n\n\tif (!Type.isPlainObject(data))\n\t{\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn('UI.Image-Stack-Steps: StepData.footer must be plain object');\n\n\t\treturn false;\n\t}\n\n\tif (data.type === footerTypeEnum.TEXT)\n\t{\n\t\tif (Type.isString(data.data?.text))\n\t\t{\n\t\t\treturn true;\n\t\t}\n\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn(\n\t\t\t'UI.Image-Stack-Steps: '\n\t\t\t+ 'StepData.footer with type \"text\" must contain FooterData.text; '\n\t\t\t+ 'FooterData.text must be string',\n\t\t);\n\n\t\treturn false;\n\t}\n\n\tif (data.type === footerTypeEnum.DURATION)\n\t{\n\t\treturn validateFooterDuration(data.data);\n\t}\n\n\treturn data.type === footerTypeEnum.STUB;\n}\n\nexport function validateStack(data: StackType): boolean\n{\n\tif (!Type.isPlainObject(data))\n\t{\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn('UI.Image-Stack-Steps: StepData.stack must be plain object');\n\n\t\treturn false;\n\t}\n\n\tif (!Type.isUndefined(data.status))\n\t{\n\t\tif (!Type.isPlainObject(data.status))\n\t\t{\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn('UI.Image-Stack-Steps: StackData.status must be plain object');\n\n\t\t\treturn false;\n\t\t}\n\n\t\tif (!validateStatus(data.status))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tif (!Type.isArrayFilled(data.images))\n\t{\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn('UI.Image-Stack-Steps: StackData.images must be filled array');\n\n\t\treturn false;\n\t}\n\n\tfor (const image of data.images)\n\t{\n\t\tif (!validateImage(image))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\nexport function validateImage(data: ImageType): boolean\n{\n\tif (!Type.isPlainObject(data))\n\t{\n\t\treturn false;\n\t}\n\n\tif (\n\t\tdata.type === imageTypeEnum.IMAGE\n\t\t&& Type.isString(data.data?.src)\n\t\t&& (Type.isUndefined(data.data?.title) || Type.isStringFilled(data.data?.title))\n\t)\n\t{\n\t\treturn true;\n\t}\n\n\tif (\n\t\tdata.type === imageTypeEnum.USER\n\t\t&& Type.isString(data.data?.src)\n\t\t&& Type.isNumber(data.data?.userId)\n\t\t&& data.data.userId > 0\n\t)\n\t{\n\t\treturn true;\n\t}\n\n\tif (data.type === imageTypeEnum.ICON && validateIcon(data.data))\n\t{\n\t\treturn true;\n\t}\n\n\tif (data.type === imageTypeEnum.USER_STUB || data.type === imageTypeEnum.IMAGE_STUB)\n\t{\n\t\treturn true;\n\t}\n\n\tif (\n\t\tdata.type === imageTypeEnum.COUNTER\n\t\t&& Type.isStringFilled(data.data?.text)\n\t)\n\t{\n\t\treturn true;\n\t}\n\n\t// eslint-disable-next-line no-console\n\tconsole.warn('UI.Image-Stack-Steps: StackData.data must be correct', data);\n\n\treturn false;\n}\n\nexport function validateStatus(data: StackStatusType): boolean\n{\n\tif (data.type === stackStatusEnum.CUSTOM && (!validateIcon(data.data)))\n\t{\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn('UI.Image-Stack-Steps: StackData.status with type \"custom\" must be correct', data);\n\n\t\treturn false;\n\t}\n\n\tif (Object.values(stackStatusEnum).includes(data.type))\n\t{\n\t\treturn true;\n\t}\n\n\t// eslint-disable-next-line no-console\n\tconsole.warn('UI.Image-Stack-Steps: StackData.status must be correct', data);\n\n\treturn false;\n}\n\nexport function validateFooterDuration(data: FooterDurationType): boolean\n{\n\tif (!Type.isNumber(data.duration) || data.duration < 0)\n\t{\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn('UI.Image-Stack-Steps: FooterDurationData.duration must be not negative number');\n\n\t\treturn false;\n\t}\n\n\tif (!Type.isBoolean(data.realtime))\n\t{\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn('UI.Image-Stack-Steps: FooterDurationData.realtime must be boolean');\n\n\t\treturn false;\n\t}\n\n\tif (\n\t\tdata.realtime === true\n\t\t&& !Type.isUndefined(data.realtimeBoundary)\n\t\t&& (\n\t\t\t!Type.isNumber(data.realtimeBoundary) || data.realtimeBoundary <= 0\n\t\t)\n\t)\n\t{\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn('UI.Image-Stack-Steps: FooterDurationData.realtimeBoundary must be positive integer');\n\n\t\treturn false;\n\t}\n\n\tif (!Type.isUndefined(data.format) && !(Type.isString(data.format) || Type.isArray(data.format)))\n\t{\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn('UI.Image-Stack-Steps: FooterDurationData.format must be array or string');\n\n\t\treturn false;\n\t}\n\n\treturn true;\n}\n\nexport function validateIcon(data: IconType): boolean\n{\n\treturn Type.isPlainObject(data) && Type.isStringFilled(data.icon) && Type.isStringFilled(data.color);\n}\n","import { BIcon } from 'ui.icon-set.api.vue';\n\nimport '../css/progress-box.css';\n\nexport const ProgressBox = {\n\tname: 'ui-image-stack-steps-step-progress-box',\n\tcomponents: {\n\t\tBIcon,\n\t},\n\tprops: {\n\t\ttitle: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\ttemplate: `\n\t\t<div\n\t\t\t:title=\"title\"\n\t\t\tclass=\"ui-image-stack-steps-step-progress-box\"\n\t\t>\n\t\t\t<BIcon\n\t\t\t\tname=\"more\"\n\t\t\t\t:size=\"12\"\n\t\t\t\tcolor=\"var(--ui-color-base-70)\"\n\t\t\t\tclass=\"ui-image-stack-steps-step-progress-box__icon\"\n\t\t\t/>\n\t\t\t<div class=\"ui-image-stack-steps-step-progress-box__icon-overlay\"></div>\n\t\t</div>\n\t`,\n};\n","import '../../css/types/text.css';\n\nexport const Text = {\n\tname: 'ui-image-stack-steps-text',\n\tprops: {\n\t\ttext: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\ttemplate: `\n\t\t<div class=\"ui-image-stack-steps-text\" :title=\"text\">{{ text }}</div>\n\t`,\n};\n","import '../../css/types/text-stub.css';\n\nexport const TextStub = {\n\tname: 'ui-image-stack-steps-text-skeleton',\n\ttemplate: `\n\t\t<div class=\"ui-image-stack-steps-text-skeleton-area\">\n\t\t\t<div class=\"ui-image-stack-steps-text-skeleton-area-stub\"></div>\n\t\t</div>\n\t`,\n};\n","import { Type } from 'main.core';\nimport { validateHeader } from '../helpers/validate-helpers';\n\n// eslint-disable-next-line no-unused-vars\nimport type { HeaderType } from '../image-stack-steps-options';\nimport { headerTypeEnum } from '../image-stack-steps-options';\n\nimport { Text } from './types/text';\nimport { TextStub } from './types/text-stub';\n\nimport '../css/header.css';\n\nexport const Header = {\n\tname: 'ui-image-stack-steps-step-header',\n\tprops: {\n\t\t/** @var {HeaderType} header */\n\t\theader: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t\tvalidator: (value) => {\n\t\t\t\treturn validateHeader(value);\n\t\t\t},\n\t\t},\n\t},\n\tmethods: {\n\t\tgetComponent(): {}\n\t\t{\n\t\t\tif (this.header.type === headerTypeEnum.TEXT)\n\t\t\t{\n\t\t\t\treturn Text;\n\t\t\t}\n\n\t\t\treturn TextStub;\n\t\t},\n\t\tgetCustomStyles(): {}\n\t\t{\n\t\t\tconst styles = {};\n\t\t\tif (Type.isNumber(this.header.styles?.maxWidth))\n\t\t\t{\n\t\t\t\tstyles.maxWidth = `${this.header.styles.maxWidth}px`;\n\t\t\t}\n\n\t\t\treturn styles;\n\t\t},\n\t},\n\ttemplate: `\n\t\t<div class=\"ui-image-stack-steps-header\" :style=\"getCustomStyles()\">\n\t\t\t<component :is=\"getComponent()\" v-bind=\"header.data\"/>\n\t\t</div>\n\t`,\n};\n","import { validateStatus } from '../helpers/validate-helpers';\nimport { stackStatusEnum } from '../image-stack-steps-options';\nimport { BIcon } from 'ui.icon-set.api.vue';\n\nimport '../css/stack-status.css';\n\nexport const StackStatus = {\n\tname: 'ui-image-stack-steps-step-stack-status',\n\tcomponents: {\n\t\tBIcon,\n\t},\n\tprops: {\n\t\t/** @var { StackStatusType } status */\n\t\tstatus: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t\tvalidator: (value) => {\n\t\t\t\treturn validateStatus(value);\n\t\t\t},\n\t\t},\n\t},\n\tcomputed: {\n\t\ticon(): string\n\t\t{\n\t\t\tswitch (this.status.type)\n\t\t\t{\n\t\t\t\tcase stackStatusEnum.OK:\n\t\t\t\t\treturn 'circle-check';\n\t\t\t\tcase stackStatusEnum.WAIT:\n\t\t\t\t\treturn 'black-clock';\n\t\t\t\tcase stackStatusEnum.CANCEL:\n\t\t\t\t\treturn 'cross-circle-60';\n\t\t\t\tdefault:\n\t\t\t\t\treturn this.status.data.icon;\n\t\t\t}\n\t\t},\n\t\tcolor(): string\n\t\t{\n\t\t\tswitch (this.status.type)\n\t\t\t{\n\t\t\t\tcase stackStatusEnum.OK:\n\t\t\t\t\treturn 'var(--ui-color-primary-alt)';\n\t\t\t\tcase stackStatusEnum.WAIT:\n\t\t\t\t\treturn 'var(--ui-color-palette-blue-60)';\n\t\t\t\tcase stackStatusEnum.CANCEL:\n\t\t\t\t\treturn 'var(--ui-color-base-35)';\n\t\t\t\tdefault:\n\t\t\t\t\treturn this.status.data.color;\n\t\t\t}\n\t\t},\n\t},\n\ttemplate: `\n\t\t<div class=\"ui-image-stack-steps-step-stack-status\">\n\t\t\t<BIcon\n\t\t\t\tv-if=\"icon\"\n\t\t\t\t:name=\"icon\" :color=\"color\" :size=\"24\"\n\t\t\t\tclass=\"ui-image-stack-steps-step-stack-status-icon\"\n\t\t\t/>\n\t\t\t<div class=\"ui-image-stack-steps-step-stack-status-icon__overlay\"></div>\n\t\t</div>\n\t`,\n};\n","import { Text, Type } from 'main.core';\n\nimport '../../css/types/image.css';\n\nexport const Image = {\n\tname: 'ui-image-stack-steps-image',\n\tprops: {\n\t\tsrc: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t\tvalidator: (value) => {\n\t\t\t\treturn Type.isStringFilled(value);\n\t\t\t},\n\t\t},\n\t\ttitle: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tvalidator: (value) => {\n\t\t\t\treturn Type.isStringFilled(value);\n\t\t\t},\n\t\t},\n\t},\n\tmethods: {\n\t\tgetSafeSrc(): string\n\t\t{\n\t\t\treturn `url('${encodeURI(Text.encode(this.src))}')`;\n\t\t},\n\t},\n\ttemplate: `\n\t\t<div\n\t\t\t:style=\"{ backgroundImage: getSafeSrc()}\"\n\t\t\tclass=\"ui-image-stack-steps-image\"\n\t\t\t:title=\"title\"\n\t\t></div>\n\t`,\n};\n","import '../../css/types/image.css';\nimport '../../css/types/image-stub.css';\n\nexport const ImageStub = {\n\tname: 'ui-image-stack-steps-image-stub',\n\ttemplate: `\n\t\t<div class=\"ui-image-stack-steps-image --image-stub\"></div>\n\t`,\n};\n","import { Text, Type } from 'main.core';\n\nimport 'ui.tooltip';\n\nimport '../../css/types/image.css';\nimport '../../css/types/user.css';\n\nexport const User = {\n\tname: 'ui-image-stack-steps-user',\n\tprops: {\n\t\tsrc: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tuserId: {\n\t\t\ttype: Number,\n\t\t\trequired: true,\n\t\t\tvalidator: (value) => {\n\t\t\t\treturn value > 0;\n\t\t\t},\n\t\t},\n\t},\n\tdata(): {}\n\t{\n\t\treturn {\n\t\t\tstyle: {\n\t\t\t\tbackgroundImage: Type.isStringFilled(this.src) ? this.getSafeSrc() : '',\n\t\t\t},\n\t\t};\n\t},\n\tmethods: {\n\t\tgetSafeSrc(): string\n\t\t{\n\t\t\treturn `url('${encodeURI(Text.encode(this.src))}')`;\n\t\t},\n\t},\n\ttemplate: `\n\t\t<div \n\t\t\tclass=\"ui-image-stack-steps-image --user\"\n\t\t\t:style=\"style\"\n\t\t\t:bx-tooltip-user-id=\"userId\"\n\t\t></div>\n\t`,\n};\n","import { Type } from 'main.core';\nimport { BIcon } from 'ui.icon-set.api.vue';\n\nimport '../../css/types/image.css';\nimport '../../css/types/icon.css';\n\nexport const Icon = {\n\tname: 'ui-image-stack-steps-icon',\n\tcomponents: { BIcon },\n\tprops: {\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t\tvalidator: (value) => {\n\t\t\t\treturn Type.isStringFilled(value);\n\t\t\t},\n\t\t},\n\t\tcolor: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t\tvalidator: (value) => {\n\t\t\t\treturn Type.isStringFilled(value);\n\t\t\t},\n\t\t},\n\t},\n\ttemplate: `\n\t\t<div class=\"ui-image-stack-steps-image --icon\">\n\t\t\t<BIcon :name=\"icon\" :color=\"color\" :size=\"24\"/>\n\t\t</div>\n\t`,\n};\n","import { Icon } from './icon';\n\nexport const UserStub = {\n\tname: 'ui-image-stack-steps-user-stub',\n\tcomponents: { Icon },\n\ttemplate: `\n\t\t<Icon icon=\"person\" color=\"var(--ui-color-base-15)\"/>\n\t`,\n};\n","import { Type } from 'main.core';\nimport '../../css/types/counter.css';\n\nexport const Counter = {\n\tname: 'ui-image-stack-steps-counter',\n\tprops: {\n\t\ttext: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t\tvalidator: (value) => {\n\t\t\t\treturn Type.isStringFilled(value);\n\t\t\t},\n\t\t},\n\t},\n\ttemplate: `\n\t\t<div class=\"ui-image-stack-steps-counter\">{{ text }}</div>\n\t`,\n};\n","import { Type } from 'main.core';\nimport { validateStack } from '../helpers/validate-helpers';\n\n// eslint-disable-next-line no-unused-vars\nimport type { ImageType, StackType } from '../image-stack-steps-options';\nimport { imageTypeEnum } from '../image-stack-steps-options';\n\nimport { StackStatus } from './stack-status';\n\nimport { Image } from './types/image';\nimport { ImageStub } from './types/image-stub';\nimport { User } from './types/user';\nimport { UserStub } from './types/user-stub';\nimport { Icon } from './types/icon';\nimport { Counter } from './types/counter';\n\nimport '../css/stack.css';\n\nexport const Stack = {\n\tname: 'ui-image-stack-steps-step-stack',\n\tcomponents: {\n\t\tStackStatus,\n\t},\n\tprops: {\n\t\t/** @var { StackType } status */\n\t\tstack: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t\tvalidator: (value) => {\n\t\t\t\treturn validateStack(value);\n\t\t\t},\n\t\t},\n\t},\n\tcomputed: {\n\t\thasStatus(): boolean\n\t\t{\n\t\t\treturn Type.isPlainObject(this.stack.status);\n\t\t},\n\t},\n\tmethods: {\n\t\tgetComponent(image: ImageType): {}\n\t\t{\n\t\t\tswitch (image.type)\n\t\t\t{\n\t\t\t\tcase imageTypeEnum.IMAGE:\n\t\t\t\t\treturn Image;\n\t\t\t\tcase imageTypeEnum.USER:\n\t\t\t\t\treturn User;\n\t\t\t\tcase imageTypeEnum.ICON:\n\t\t\t\t\treturn Icon;\n\t\t\t\tcase imageTypeEnum.USER_STUB:\n\t\t\t\t\treturn UserStub;\n\t\t\t\tcase imageTypeEnum.COUNTER:\n\t\t\t\t\treturn Counter;\n\t\t\t\tdefault:\n\t\t\t\t\treturn ImageStub;\n\t\t\t}\n\t\t},\n\t\tcomputeKey(image: ImageType, index: number): string\n\t\t{\n\t\t\tlet key = 'image-stub';\n\n\t\t\t// eslint-disable-next-line default-case\n\t\t\tswitch (image.type)\n\t\t\t{\n\t\t\t\tcase imageTypeEnum.IMAGE:\n\t\t\t\t\tkey = image.data.src;\n\t\t\t\t\tbreak;\n\t\t\t\tcase imageTypeEnum.USER:\n\t\t\t\t\tkey = String(image.data.userId);\n\t\t\t\t\tbreak;\n\t\t\t\tcase imageTypeEnum.ICON:\n\t\t\t\t\tkey = `${image.data.icon}-${image.data.color}`;\n\t\t\t\t\tbreak;\n\t\t\t\tcase imageTypeEnum.USER_STUB:\n\t\t\t\t\tkey = 'user-stub';\n\t\t\t\t\tbreak;\n\t\t\t\tcase imageTypeEnum.COUNTER:\n\t\t\t\t\tkey = 'counter';\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\treturn `${key}-${index}`;\n\t\t},\n\t},\n\ttemplate: `\n\t\t<div class=\"ui-image-stack-steps-step-stack\">\n\t\t\t<StackStatus v-if=\"hasStatus\" :status=\"stack.status\"/>\n\t\t\t<template v-for=\"(image, index) in stack.images\" :key=\"computeKey(image, index)\">\n\t\t\t\t<component :is=\"getComponent(image)\" v-bind=\"image.data\"/>\n\t\t\t</template>\n\t\t</div>\n\t`,\n};\n","import { Type } from 'main.core';\nimport { DateTimeFormat } from 'main.date';\n\nimport { Text } from './text';\n\nexport const Duration = {\n\tname: 'ui-image-stack-steps-duration',\n\tcomponents: {\n\t\tText,\n\t},\n\tprops: {\n\t\tduration: {\n\t\t\ttype: Number,\n\t\t\trequired: true,\n\t\t\tvalidator: (value) => {\n\t\t\t\treturn value >= 0;\n\t\t\t},\n\t\t},\n\t\trealtime: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t\trealtimeBoundary: {\n\t\t\ttype: Number,\n\t\t\trequired: false,\n\t\t},\n\t\tformat: {\n\t\t\ttype: [String, Array],\n\t\t\trequired: false,\n\t\t},\n\t},\n\tdata(): {}\n\t{\n\t\treturn {\n\t\t\tdefaultFormat: [['s', 'sdiff'], ['i', 'idiff'], ['H', 'Hdiff'], ['d', 'ddiff'], ['m', 'mdiff'], ['Y', 'Ydiff']],\n\t\t\tdefaultRealtimeBoundary: 60 * 60, // 1 hour\n\t\t\tcomputedDuration: 0,\n\t\t\tstartTime: Math.floor(Date.now() / 1000),\n\t\t\ttimer: null,\n\t\t};\n\t},\n\twatch: {\n\t\tduration()\n\t\t{\n\t\t\tthis.computedDuration = 0;\n\t\t\tthis.startTime = Math.floor(Date.now() / 1000);\n\t\t},\n\t\tisRealtime(realtime: boolean)\n\t\t{\n\t\t\tif (realtime)\n\t\t\t{\n\t\t\t\tthis.startTime = Math.floor(Date.now() / 1000);\n\t\t\t\tthis.computedDuration = 0;\n\t\t\t\tthis.startTimer();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.stopTimer();\n\t\t\t}\n\t\t},\n\t},\n\tcomputed: {\n\t\ttext(): string\n\t\t{\n\t\t\tconst duration = this.isRealtime ? this.duration + this.computedDuration : this.duration;\n\n\t\t\treturn DateTimeFormat.format(this.getFormat(), 0, duration);\n\t\t},\n\t\tisRealtime(): boolean\n\t\t{\n\t\t\treturn this.realtime;\n\t\t},\n\t},\n\tmounted()\n\t{\n\t\tthis.startTimer();\n\t},\n\tunmounted()\n\t{\n\t\tthis.stopTimer();\n\t},\n\tmethods: {\n\t\tstartTimer()\n\t\t{\n\t\t\tif (!this.isRealtime)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.timer = setInterval(() => {\n\t\t\t\tif (!this.isRealtime)\n\t\t\t\t{\n\t\t\t\t\tthis.stopTimer();\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (this.duration + this.computedDuration < (this.realtimeBoundary || this.defaultRealtimeBoundary))\n\t\t\t\t{\n\t\t\t\t\tthis.computedDuration = Math.floor(Date.now() / 1000) - this.startTime;\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis.stopTimer();\n\t\t\t}, 1000);\n\t\t},\n\t\tstopTimer()\n\t\t{\n\t\t\tif (this.timer)\n\t\t\t{\n\t\t\t\tclearInterval(this.timer);\n\t\t\t\tthis.timer = null;\n\t\t\t}\n\t\t},\n\t\tgetFormat(): [] | string\n\t\t{\n\t\t\tif (Type.isArray(this.format) || Type.isString(this.format))\n\t\t\t{\n\t\t\t\treturn this.format;\n\t\t\t}\n\n\t\t\treturn this.defaultFormat;\n\t\t},\n\t},\n\ttemplate: `\n\t\t<Text :text=\"text\"/>\n\t`,\n};\n","import { Type } from 'main.core';\n\n// eslint-disable-next-line no-unused-vars\nimport type { FooterType } from '../image-stack-steps-options';\nimport { footerTypeEnum } from '../image-stack-steps-options';\n\nimport { Text } from './types/text';\nimport { TextStub } from './types/text-stub';\nimport { Duration } from './types/duration';\n\nimport '../css/footer.css';\n\nexport const Footer = {\n\tname: 'ui-image-stack-steps-step-footer',\n\tprops: {\n\t\t/** @var { FooterType } footer */\n\t\tfooter: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t\tvalidator: (value) => {\n\t\t\t\treturn Type.isPlainObject(value);\n\t\t\t},\n\t\t},\n\t},\n\tmethods: {\n\t\tgetComponent(): {}\n\t\t{\n\t\t\tswitch (this.footer.type)\n\t\t\t{\n\t\t\t\tcase footerTypeEnum.TEXT:\n\t\t\t\t\treturn Text;\n\t\t\t\tcase footerTypeEnum.DURATION:\n\t\t\t\t\treturn Duration;\n\t\t\t\tdefault:\n\t\t\t\t\treturn TextStub;\n\t\t\t}\n\t\t},\n\t\tgetCustomStyles(): {}\n\t\t{\n\t\t\tconst styles = {};\n\t\t\tif (Type.isNumber(this.footer.styles?.maxWidth))\n\t\t\t{\n\t\t\t\tstyles.maxWidth = `${this.footer.styles.maxWidth}px`;\n\t\t\t}\n\n\t\t\treturn styles;\n\t\t},\n\t},\n\ttemplate: `\n\t\t<div class=\"ui-image-stack-steps-footer\" :style=\"getCustomStyles()\">\n\t\t\t<component :is=\"getComponent()\" v-bind=\"footer.data\"/>\n\t\t</div>\n\t`,\n};\n","import { Type, Text } from 'main.core';\nimport { validateStep } from '../helpers/validate-helpers';\n\n// eslint-disable-next-line no-unused-vars\nimport type { StepType } from '../image-stack-steps-options';\n\nimport { ProgressBox } from './progress-box';\nimport { Header } from './header';\nimport { Stack } from './stack';\nimport { Footer } from './footer';\n\nimport '../css/step.css';\n\nexport const Step = {\n\tname: 'ui-image-stack-steps-step',\n\tcomponents: {\n\t\tProgressBox,\n\t\tHeader,\n\t\tStack,\n\t\tFooter,\n\t},\n\tprops: {\n\t\t/** @var {StepType} step */\n\t\tstep: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t\tvalidator: (value) => {\n\t\t\t\treturn validateStep(value);\n\t\t\t},\n\t\t},\n\t},\n\tcomputed: {\n\t\thasProgressBox(): boolean\n\t\t{\n\t\t\treturn Type.isPlainObject(this.step.progressBox);\n\t\t},\n\t\thasHeader(): boolean\n\t\t{\n\t\t\treturn !Type.isNil(this.step.header);\n\t\t},\n\t\thasFooter(): boolean\n\t\t{\n\t\t\treturn !Type.isNil(this.step.footer);\n\t\t},\n\t\tgetCustomStyles(): {}\n\t\t{\n\t\t\tconst styles = {};\n\t\t\tif (this.step.styles?.minWidth)\n\t\t\t{\n\t\t\t\tstyles.minWidth = `${Text.toInteger(this.step.styles.minWidth)}px`;\n\t\t\t}\n\n\t\t\treturn styles;\n\t\t},\n\t},\n\ttemplate: `\n\t\t<div \n\t\t\tclass=\"ui-image-stack-steps-step\"\n\t\t\t:class=\"{'--with-header': hasHeader, '--with-footer': hasFooter}\"\n\t\t\t:style=\"getCustomStyles\"\n\t\t>\n\t\t\t<ProgressBox v-if=\"hasProgressBox\" :title=\"step.progressBox.title\"/>\n\t\t\t<Header v-if=\"hasHeader\" :header=\"step.header\"/>\n\t\t\t<Stack :stack=\"step.stack\"/>\n\t\t\t<Footer v-if=\"hasFooter\" :footer=\"step.footer\"/>\n\t\t</div>\n\t`,\n};\n","import { Type } from 'main.core';\nimport { EventEmitter } from 'main.core.events';\n\nimport { Step } from './step';\n\nimport '../css/application.css';\n\nexport const Application = {\n\tname: 'ui-image-stack-steps-application',\n\tcomponents: { Step },\n\tprops: {\n\t\tinitialSteps: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t\tvalidator: (value) => {\n\t\t\t\treturn Type.isArrayFilled(value);\n\t\t\t},\n\t\t},\n\t},\n\tdata(): {}\n\t{\n\t\treturn { steps: this.initialSteps };\n\t},\n\tcreated()\n\t{\n\t\tthis.subscribeOnEvents();\n\t},\n\tmethods: {\n\t\tsubscribeOnEvents()\n\t\t{\n\t\t\tif (this.$root.$app)\n\t\t\t{\n\t\t\t\tEventEmitter.subscribe(this.$root.$app, 'UI.ImageStackSteps.onUpdateSteps', () => {\n\t\t\t\t\tthis.steps = this.$root.$app.getSteps();\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t},\n\ttemplate: `\n\t\t<div class=\"ui-image-stack-steps\">\n\t\t\t<template v-for=\"step in steps\" :key=\"step.id\">\n\t\t\t\t<Step :step=\"step\"/>\n\t\t\t</template>\n\t\t</div>\n\t`,\n};\n","import { Type } from 'main.core';\nimport { EventEmitter } from 'main.core.events';\nimport { BitrixVue, VueCreateAppResult } from 'ui.vue3';\n\nimport type { ImageStackStepsOptions, StepType, FooterType, HeaderType, StackType } from './image-stack-steps-options';\nimport { validateStep } from './helpers/validate-helpers';\n\nimport { Application } from './components/application';\n\nimport 'ui.design-tokens';\n\nimport { headerTypeEnum, footerTypeEnum, imageTypeEnum, stackStatusEnum } from './image-stack-steps-options';\nexport {\n\theaderTypeEnum,\n\timageTypeEnum,\n\tfooterTypeEnum,\n\tstackStatusEnum,\n};\n\nexport type {\n\tStepType,\n\tHeaderType,\n\tStackType,\n\tFooterType,\n};\n\nexport class ImageStackSteps\n{\n\t#steps: Array<StepType> = [];\n\t#application: VueCreateAppResult;\n\n\tconstructor(options: ImageStackStepsOptions)\n\t{\n\t\tif (!Type.isArrayFilled(options.steps))\n\t\t{\n\t\t\tthrow new TypeError('options.steps must be filled array');\n\t\t}\n\n\t\tthis.#setSteps(options.steps);\n\t\tif (!Type.isArrayFilled(this.#steps))\n\t\t{\n\t\t\tthrow new TypeError('options.steps must be contain correct steps data, see warnings');\n\t\t}\n\n\t\tthis.#initApplication();\n\t}\n\n\t#setSteps(stepsData: Array<StepType>)\n\t{\n\t\tthis.#steps = [];\n\n\t\tstepsData.forEach((step) => {\n\t\t\tif (validateStep(step))\n\t\t\t{\n\t\t\t\tthis.#steps.push(step);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.warn('UI.Image-Stack-Steps: Step was skipped due to incorrect stepData', step);\n\t\t\t}\n\t\t});\n\t}\n\n\t#initApplication()\n\t{\n\t\t// eslint-disable-next-line unicorn/no-this-assignment\n\t\tconst context = this;\n\n\t\tthis.#application = BitrixVue.createApp(\n\t\t\t{\n\t\t\t\tname: 'ui-image-stack-steps',\n\t\t\t\tcomponents: {\n\t\t\t\t\tApplication,\n\t\t\t\t},\n\t\t\t\tprops: {\n\t\t\t\t\tsteps: Array,\n\t\t\t\t},\n\t\t\t\tcreated()\n\t\t\t\t{\n\t\t\t\t\tthis.$app = context;\n\t\t\t\t},\n\t\t\t\ttemplate: `\n\t\t\t\t\t<Application\n\t\t\t\t\t\t:initialSteps=\"steps\"\n\t\t\t\t\t></Application>\n\t\t\t\t`,\n\t\t\t},\n\t\t\t{\n\t\t\t\tsteps: this.#steps,\n\t\t\t},\n\t\t);\n\t}\n\n\trenderTo(node: HTMLElement)\n\t{\n\t\tthis.#application.mount(node);\n\t}\n\n\tgetSteps(): Array<StepType>\n\t{\n\t\treturn this.#steps.map((step) => ({ ...step }));\n\t}\n\n\taddStep(stepData: StepType): boolean\n\t{\n\t\tif (validateStep(stepData))\n\t\t{\n\t\t\tthis.#steps.push(stepData);\n\n\t\t\tEventEmitter.emit(this, 'UI.ImageStackSteps.onUpdateSteps');\n\n\t\t\treturn true;\n\t\t}\n\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn('UI.Image-Stack-Steps: Step was skipped due to incorrect stepData', stepData);\n\n\t\treturn false;\n\t}\n\n\tupdateStep(stepData: StepType, stepId: string): boolean\n\t{\n\t\tconst index = this.#steps.findIndex((step) => step.id === stepId);\n\t\tif (index === -1)\n\t\t{\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn(`UI.Image-Stack-Steps: Step with id ${stepId} not find`);\n\n\t\t\treturn false;\n\t\t}\n\n\t\tconst oldStepData = this.#steps[index];\n\n\t\tconst modifiedData = Object.assign(oldStepData, stepData);\n\t\tmodifiedData.id = oldStepData.id;\n\n\t\tif (validateStep(modifiedData))\n\t\t{\n\t\t\tthis.#steps[index] = modifiedData;\n\n\t\t\tEventEmitter.emit(this, 'UI.ImageStackSteps.onUpdateSteps');\n\n\t\t\treturn true;\n\t\t}\n\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn('UI.Image-Stack-Steps: Step was not updated due to incorrect stepData', modifiedData);\n\n\t\treturn false;\n\t}\n\n\tdeleteStep(stepId: string): boolean\n\t{\n\t\tconst index = this.#steps.findIndex((step) => step.id === stepId);\n\t\tif (index === -1)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\n\t\tthis.#steps.splice(index, 1);\n\n\t\tEventEmitter.emit(this, 'UI.ImageStackSteps.onUpdateSteps');\n\n\t\treturn true;\n\t}\n\n\tdestroy()\n\t{\n\t\tthis.#application.unmount();\n\t\tthis.#application = null;\n\t\tthis.#steps = null;\n\t}\n}\n"],"names":["headerTypeEnum","Object","freeze","TEXT","STUB","imageTypeEnum","IMAGE","IMAGE_STUB","USER","USER_STUB","ICON","COUNTER","stackStatusEnum","CUSTOM","OK","CANCEL","WAIT","footerTypeEnum","DURATION","validateStep","data","Type","isStringFilled","id","console","warn","isUndefined","progressBox","isPlainObject","isString","title","validateHeader","header","validateStack","stack","validateFooter","footer","isNil","values","includes","type","text","validateFooterDuration","status","validateStatus","isArrayFilled","images","image","validateImage","src","isNumber","userId","validateIcon","duration","isBoolean","realtime","realtimeBoundary","format","isArray","icon","color","ProgressBox","name","components","BIcon","props","String","required","template","Text","TextStub","Header","validator","value","methods","getComponent","getCustomStyles","styles","maxWidth","StackStatus","computed","Image","getSafeSrc","encodeURI","encode","ImageStub","User","Number","style","backgroundImage","Icon","UserStub","Counter","Stack","hasStatus","computeKey","index","key","Duration","Boolean","Array","defaultFormat","defaultRealtimeBoundary","computedDuration","startTime","Math","floor","Date","now","timer","watch","isRealtime","startTimer","stopTimer","DateTimeFormat","getFormat","mounted","unmounted","setInterval","clearInterval","Footer","Step","step","hasProgressBox","hasHeader","hasFooter","minWidth","toInteger","Application","initialSteps","steps","created","subscribeOnEvents","$root","$app","EventEmitter","subscribe","getSteps","ImageStackSteps","constructor","options","TypeError","renderTo","node","mount","map","addStep","stepData","push","emit","updateStep","stepId","findIndex","oldStepData","modifiedData","assign","deleteStep","splice","destroy","unmount","stepsData","forEach","context","BitrixVue","createApp"],"mappings":"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"}