| Current Path : /var/www/homesaver/www/bitrix/js/ui/icons/generator/dist/ |
| Current File : /var/www/homesaver/www/bitrix/js/ui/icons/generator/dist/ui.icons.generator.bundle.js.map |
{"version":3,"file":"ui.icons.generator.bundle.js","sources":["../src/file-type.js","../src/file-type-icon.js","../src/file-icon.js"],"sourcesContent":["/**\n * @namespace {BX.UI.Icons.Generator}\n */\nexport default class FileType\n{\n\tstatic ARCHIVE = 'archive';\n\tstatic MEDIA = \"media\";\n\tstatic PICTURE = \"picture\";\n\tstatic AUDIO = 'audio';\n\tstatic NONE = \"none\";\n}\n","import FileType from \"./file-type\";\n\nconst pictureIcon = `<svg width=\"47\" height=\"46\" viewBox=\"0 0 47 46\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\">\n\t<g clip-path=\"url(#clip0_8133_191353)\">\n\t\t<path opacity=\"0.9\" d=\"M36.159 28.8509L10 54.3294L67 54.8122L40.3454 28.8509C39.1805 27.7164 37.3238 27.7164 36.159 28.8509Z\" fill=\"#7FDEFC\"/>\n\t\t<path opacity=\"0.9\" d=\"M14.5661 21.8695L-20 56.7756H54L18.7904 21.8695C17.6209 20.7102 15.7356 20.7102 14.5661 21.8695Z\" fill=\"#2FC6F6\"/>\n\t\t<circle cx=\"31\" cy=\"10\" r=\"6\" fill=\"white\"/>\n\t</g>\n\t<defs>\n\t\t<clipPath id=\"clip0_8133_191353\">\n\t\t\t<rect width=\"47\" height=\"46\" rx=\"2\" fill=\"white\"/>\n\t\t</clipPath>\n\t</defs>\n</svg>`;\n\nconst audioIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"38\" height=\"38\" viewBox=\"0 0 38 38\" fill=\"none\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M15.0893 14.4632L12.8875 14.6591V24.7692C12.232 24.4188 11.4597 24.2166 10.6329 24.2166C8.25839 24.2166 6.3335 25.8843 6.3335 27.9415C6.3335 29.9987 8.25839 31.6663 10.6329 31.6663C13.005 31.6663 15.0856 30.0019 15.0893 27.9475M15.0893 14.4632V27.9415V14.4632Z\" fill=\"#11A9D9\"/>\n<path d=\"M14.045 7.78021C13.3883 7.84485 12.886 8.42959 12.886 9.1295V14.6697L27.8159 13.1786V23.1779C27.1607 22.828 26.3889 22.6261 25.5627 22.6261C23.1883 22.6261 21.2634 24.2937 21.2634 26.3509C21.2634 28.4081 23.1883 30.0758 25.5627 30.0758C27.9041 30.0758 30.0278 28.4543 30.0804 26.4367L30.0815 26.3509V12.9772L30.0835 12.977V7.68821C30.0835 6.89039 29.4372 6.26523 28.6886 6.33891L14.045 7.78021Z\" fill=\"#11A9D9\"/>\n</svg>`;\n\nconst getSvgFromString = (svg: string): SVGElement => {\n\tconst parser = new DOMParser();\n\tconst doc = parser.parseFromString(svg, \"image/svg+xml\");\n\treturn doc.querySelector('svg');\n};\n\nconst FileTypeIcon = Object.freeze({\n\t[FileType.PICTURE]: () => getSvgFromString(pictureIcon),\n\t[FileType.AUDIO]: () => getSvgFromString(audioIcon)\n});\n\nexport const getFileTypeIcon = (fileType: string): SVGElement | null => {\n\tif (FileTypeIcon[fileType])\n\t{\n\t\treturn FileTypeIcon[fileType]();\n\t}\n\n\treturn null;\n};","import {Type} from 'main.core';\nimport FileType from './file-type';\nimport {getFileTypeIcon} from './file-type-icon';\nimport type {FileIconOptions} from \"./file-icon-options\";\n\nexport const presets = Object.freeze({\n\t'RAR': {color: '#7eab34', fileType: 'archive'},\n\t'ZIP': {color: '#ac5fbd', fileType: 'archive'},\n\t'GZIP': {color: '#8F44A0', fileType: 'archive'},\n\t'GZ': {color: '#BA7ED5', fileType: 'archive'},\n\t'JPG': {color: '#1D95A5', fileType: 'picture'},\n\t'JPEG': {color: '#1D95A5', fileType: 'picture'},\n\t'WEBP': {color: '#0D7683', fileType: 'picture'},\n\t'GIF': {color: '#2E85D3', fileType: 'picture'},\n\t'PNG': {color: '#1CC09D', fileType: 'picture'},\n\t'MOV': {color: '#CB8600', fileType: 'media'},\n\t'3GP': {color: '#ACB75F', fileType: 'media'},\n\t'WEBM': {color: '#ACB75F', fileType: 'media'},\n\t'AVI': {color: '#FF5752', fileType: 'media'},\n\t'MP3': {color: '#0B66C3', fileType: 'audio'},\n\t'WAV': '#1D62AA',\n\t'PHP': '#746781',\n\t'PDF': '#d73b41',\n\t'PSD': '#7e8997',\n\t'TXT': '#9ba4ae',\n\t'DOC': '#2c77b1',\n\t'DOCX': '#2c77b1',\n\t'PPT': '#e89e00',\n\t'PPTX': '#e89e00',\n\t'XLS': '#54b51e',\n\t'XLSX': '#54b51e',\n\t'none': '#7e8997',\n});\n\nconst docColorByType = {\n\t[FileType.PICTURE]: '#C3F0FF',\n\t[FileType.AUDIO]: '#C3F0FF',\n}\n\nconst angleColorByType = {\n\t[FileType.PICTURE]: '#00789E',\n\t[FileType.AUDIO]: '#00789E',\n}\n\nconst fileTypesWithoutShowingExtension = [FileType.PICTURE, FileType.AUDIO];\n\n/**\n * @namespace {BX.UI.Icons.Generator}\n */\nexport class FileIcon\n{\n\tconstructor(iconOptions: FileIconOptions)\n\t{\n\t\tconst options = Type.isPlainObject(iconOptions) ? iconOptions : {};\n\n\t\tthis.name = null;\n\n\t\tthis.fileType = null;\n\t\tthis.align = Type.isStringFilled(options.align) ? options.align : \"left\";\n\t\tthis.color = null;\n\t\tthis.size = Type.isNumber(options.size) ? options.size : null;\n\t\tthis.mini = Type.isBoolean(options.mini) ? options.mini : false;\n\n\t\tthis.setColor(options.color);\n\t\tthis.setName(options.name);\n\t\tthis.setType(this.fileType);\n\t}\n\n\tsetColor(color: string): void\n\t{\n\t\tconst preset = presets[this.name];\n\t\tif (preset && this.color === null)\n\t\t{\n\t\t\tthis.color = (Type.isStringFilled(preset)) ? preset : preset.color;\n\t\t}\n\t\telse if (Type.isStringFilled(color))\n\t\t{\n\t\t\tthis.color = color;\n\t\t}\n\t}\n\n\tsetName(name)\n\t{\n\t\tif (Type.isStringFilled(name) && name.length < 6)\n\t\t{\n\t\t\tthis.name = name.toUpperCase();\n\t\t\tthis.setColor();\n\t\t\tthis.setType();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.name = null\n\t\t}\n\t}\n\n\tsetType(fileType: string): void\n\t{\n\t\tconst preset = presets[this.name];\n\t\tif (preset && this.fileType === null)\n\t\t{\n\t\t\tthis.fileType = (Type.isStringFilled(preset.fileType)) ? preset.fileType : null;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.fileType = fileType;\n\t\t}\n\t}\n\n\tgenerate(): SVGElement\n\t{\n\t\tconst icon = this.#getBaseIcon();\n\n\t\tthis.#addFileTypeIcon(icon);\n\n\t\tif (this.name && this.#isShowFileExtension())\n\t\t{\n\t\t\tthis.#addFileExtensionToIcon(icon);\n\t\t}\n\n\t\treturn icon;\n\t}\n\n\t#getBaseIcon(): SVGElement\n\t{\n\t\tconst {viewBox, size} = this.#getBaseIconParams();\n\n\t\tconst container = this.#createSvgElement('svg', {\n\t\t\t'width': size ? `${size}px` : '100%',\n\t\t\t'viewBox': viewBox,\n\t\t\t'style': 'display:block',\n\t\t\t'fill': 'none',\n\t\t});\n\n\t\tconst sheetIcon = this.#createSvgElement('path', {\n\t\t\t'fill-rule': \"evenodd\",\n\t\t\t'clip-rule': 'evenodd',\n\t\t\t'd': `\n\t\t\t\tM 0 5\n\t\t\t\tc 0 0 0 -4 5 -5\n\t\t\t\tH 63\n\t\t\t\tl 26 28\n\t\t\t\tv 82\n\t\t\t\tc 0 0 0 4 -5 5\n\t\t\t\th -79\n\t\t\t\tc 0 0 -4 0 -5 -5\n\t\t\t\tZ`,\n\t\t\t'fill': docColorByType[this.fileType] || '#e5e8eb',\n\t\t});\n\n\t\tconst sheetAngleIconStartPosX = 63;\n\t\tconst sheetAngleIcon = this.#createSvgElement('path', {\n\t\t\t'fill-rule': \"evenodd\",\n\t\t\t'clip-rule': 'evenodd',\n\t\t\t'opacity': '0.3',\n\t\t\t'd': `\n\t\t\t\tM ${sheetAngleIconStartPosX} 0\n\t\t\t \tL ${sheetAngleIconStartPosX + 26} 28\n\t\t\t \tH ${sheetAngleIconStartPosX + 3}\n\t\t\t \tC ${sheetAngleIconStartPosX + 3} 28 ${sheetAngleIconStartPosX} 28 ${sheetAngleIconStartPosX} 25\n\t\t\t \tV ${sheetAngleIconStartPosX}\n\t\t\t \tZ`,\n\t\t\t'fill': angleColorByType[this.fileType] || '#535c69',\n\t\t});\n\n\t\tcontainer.appendChild(sheetIcon);\n\t\tcontainer.appendChild(sheetAngleIcon);\n\n\t\treturn container;\n\t}\n\n\t#getBaseIconParams(): number\n\t{\n\t\tlet iconSize;\n\t\tlet viewBoxParam = '0 0 100 117';\n\n\t\tif (this.name)\n\t\t{\n\t\t\tif (this.align === 'center')\n\t\t\t{\n\t\t\t\tviewBoxParam = '-12 0 112 117'\n\t\t\t\ticonSize = this.size + (this.size * .24);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\ticonSize = this.size + (this.size * .12);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif (this.align === 'right')\n\t\t\t{\n\t\t\t\tviewBoxParam = '0 0 100 117';\n\t\t\t\ticonSize = this.size + (this.size * .12);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tviewBoxParam = '0 0 90 117'\n\t\t\t\ticonSize = this.size;\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tsize: iconSize,\n\t\t\tviewBox: viewBoxParam,\n\t\t}\n\t}\n\n\t#addFileExtensionToIcon(container: SVGElement): void\n\t{\n\t\tconst nameNode = this.#createSvgElement('svg', {\n\t\t\t'width': \"65\",\n\t\t\t'height': \"33\",\n\t\t\t'x': '35',\n\t\t\t'y': '53',\n\t\t});\n\n\t\tlet rect = this.#createSvgElement('rect', {\n\t\t\t'width': \"100%\",\n\t\t\t'height': '33',\n\t\t\t'x': '0',\n\t\t\t'y': '0',\n\t\t\t'fill': (this.color) ? this.color : \"#7e8997\",\n\t\t\t'rx': 2,\n\t\t\t'ry': 2,\n\t\t});\n\n\t\tlet text = this.#createSvgElement('text', {\n\t\t\t\"x\": \"50%\",\n\t\t\t\"y\": \"54%\",\n\t\t\t\"dominant-baseline\": \"middle\",\n\t\t\t\"fill\": \"#fff\",\n\t\t\t\"text-anchor\": \"middle\",\n\t\t\t\"style\": 'color:#fff;' +\n\t\t\t\t'font-family: \"OpenSans-Semibold\", \"Open Sans\", Helvetica, Arial, sans-serif;' +\n\t\t\t\t'font-weight: 500;' +\n\t\t\t\t'font-size: 23px;' +\n\t\t\t\t'line-height: 25px;'\n\t\t}, this.name);\n\n\t\tlet textNode = document.createTextNode(this.name);\n\t\ttext.appendChild(textNode);\n\t\tnameNode.appendChild(rect);\n\t\tnameNode.appendChild(text);\n\n\t\tcontainer.appendChild(nameNode);\n\t}\n\n\t#addFileTypeIcon(container: SVGElement): void\n\t{\n\t\tif (this.fileType === FileType.ARCHIVE)\n\t\t{\n\t\t\tconst iconType = this.#createSvgElement('path', {\n\t\t\t\t'fill-rule': 'evenodd',\n\t\t\t\t'clip-rule': 'evenodd',\n\t\t\t\t'd': 'M22.3214 0H27.7486V1.96417H22.3214V0ZM22.3214 3.57123H27.7486V5.5354H22.3214V3.57123ZM22.3214 7.14246H27.7486V9.10663H22.3214V7.14246ZM22.3214 10.5351H27.7486V12.4993H22.3214V10.5351ZM22.3214 14.1063H27.7486V16.0705H22.3214V14.1063ZM22.3214 17.6776H27.7486V19.6417H22.3214V17.6776ZM22.3214 21.2488H27.7486V23.213H22.3214V21.2488ZM22.3214 24.82H27.7486V26.7842H22.3214V24.82ZM22.3214 28.3913H27.7486V30.3554H22.3214V28.3913ZM22.3214 31.7839H27.7486V33.7481H22.3214V31.7839ZM22.3214 35.3552H27.7486V37.3193H22.3214V35.3552ZM22.3214 38.9264H27.7486V40.8906H22.3214V38.9264ZM29.4993 1.19209e-07H34.9265V1.96417H29.4993V1.19209e-07ZM29.4993 3.57123H34.9265V5.5354H29.4993V3.57123ZM29.4993 7.14246H34.9265V9.10663H29.4993V7.14246ZM29.4993 10.5351H34.9265V12.4993H29.4993V10.5351ZM29.4993 14.1063H34.9265V16.0705H29.4993V14.1063ZM29.4993 17.6776H34.9265V19.6417H29.4993V17.6776ZM29.4993 21.2488H34.9265V23.213H29.4993V21.2488ZM29.4993 24.82H34.9265V26.7842H29.4993V24.82ZM29.4993 28.3913H34.9265V30.3554H29.4993V28.3913ZM29.4993 31.7839H34.9265V33.7481H29.4993V31.7839ZM29.4993 35.3552H34.9265V37.3193H29.4993V35.3552ZM29.4993 38.9264H34.9265V40.8906H29.4993V38.9264Z',\n\t\t\t\t'fill': \"#b9bec4\",\n\t\t\t});\n\t\t\tcontainer.appendChild(iconType);\n\t\t}\n\t\telse if (this.fileType === FileType.MEDIA)\n\t\t{\n\t\t\tconst iconType = this.#createSvgElement('path', {\n\t\t\t\t'fill-rule': 'evenodd',\n\t\t\t\t'clip-rule': 'evenodd',\n\t\t\t\t'd': 'M77.6785 90.873V42.6587H11.6071V90.873H77.6785ZM13.799 85.5088L13.848 85.5087L13.8488 88.6073L23.7776 88.6064L23.7781 88.6579H13.799V85.5088ZM65.4958 88.6064V44.9261L75.4346 44.9263L75.4335 48.0269L67.4498 48.0273V53.0045L75.4335 53.0032V48.0269L75.4826 48.0273V44.8779H65.4974L65.4958 44.9261H23.7776L23.7781 44.8759H13.799V48.0253H13.848V53.0016H21.8248V48.0253H13.848L13.8488 44.9263L23.7776 44.9261V88.6064H65.4958ZM75.4335 85.5053L75.4346 88.6073L65.4958 88.6064L65.4974 88.6541H75.4826V85.5067L75.4335 85.5053ZM75.4335 85.5053V80.5274L67.4498 80.5275V85.5067L75.4335 85.5053ZM13.848 85.5087H21.8248V80.5307H13.848V85.5087ZM53.3524 67.5326L39.5164 56.1499V56.2398L39.4786 56.2087V79.2022L53.4164 67.7065L53.279 67.593L53.3524 67.5326ZM13.848 72.404H21.8248V77.3819H13.848V72.404ZM67.4498 72.403L75.4335 72.4022V77.3803H67.4498V72.403ZM13.848 64.2772H21.8248V69.2551H13.848V64.2772ZM67.4498 64.2765L75.4335 64.2756V69.2551L67.4498 69.2556V64.2765ZM13.848 56.1504H21.8248V61.1283H13.848V56.1504ZM67.4498 56.1519L75.4335 56.1504V61.1283L67.4498 61.1292V56.1519Z',\n\t\t\t\t'fill': \"#b9bec4\",\n\t\t\t});\n\t\t\tcontainer.appendChild(iconType);\n\t\t}\n\t\telse if (this.fileType === FileType.PICTURE)\n\t\t{\n\t\t\tconst iconContainer = this.#createSvgElement('g', {\n\t\t\t\tstyle: \"transform: scale(1.65) translate(3px, 19px);\",\n\t\t\t});\n\n\t\t\ticonContainer.appendChild(getFileTypeIcon(this.fileType));\n\n\t\t\tcontainer.appendChild(iconContainer);\n\t\t}\n\t\telse if (this.fileType === FileType.AUDIO)\n\t\t{\n\t\t\tconst iconContainer = this.#createSvgElement('g', {\n\t\t\t\tstyle: \"transform: scale(1.65) translate(7px, 19px);\",\n\t\t\t});\n\n\t\t\ticonContainer.appendChild(getFileTypeIcon(this.fileType));\n\n\t\t\tcontainer.appendChild(iconContainer);\n\t\t}\n\t}\n\n\t#isShowFileExtension(): boolean\n\t{\n\t\treturn !fileTypesWithoutShowingExtension.includes(this.fileType);\n\t}\n\n\t#createSvgElement(tag, params): SVGElement\n\t{\n\t\tlet element;\n\t\tif (tag === \"svg\")\n\t\t{\n\t\t\telement = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n\t\t\telement.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n\t\t}\n\t\telse\n\t\t{\n\t\t\telement = document.createElementNS('http://www.w3.org/2000/svg', tag);\n\t\t}\n\n\t\tfor (const property in params)\n\t\t{\n\t\t\telement.setAttributeNS(null, property, params[property]);\n\t\t}\n\n\t\treturn element;\n\t}\n\n\tgenerateURI(): string\n\t{\n\t\treturn 'data:image/svg+xml;charset=UTF-8,' + encodeURIComponent(this.generate().outerHTML);\n\t}\n\n\trenderTo(node: HTMLElement): HTMLElement | null\n\t{\n\t\tif (Type.isDomNode(node))\n\t\t{\n\t\t\treturn node.appendChild(this.generate());\n\t\t}\n\n\t\treturn null;\n\t}\n}"],"names":["FileType","pictureIcon","audioIcon","getSvgFromString","svg","parser","DOMParser","doc","parseFromString","querySelector","FileTypeIcon","Object","freeze","PICTURE","AUDIO","getFileTypeIcon","fileType","presets","color","docColorByType","angleColorByType","fileTypesWithoutShowingExtension","FileIcon","iconOptions","options","Type","isPlainObject","name","align","isStringFilled","size","isNumber","mini","isBoolean","setColor","setName","setType","preset","length","toUpperCase","icon","encodeURIComponent","generate","outerHTML","node","isDomNode","appendChild","viewBox","container","sheetIcon","sheetAngleIconStartPosX","sheetAngleIcon","iconSize","viewBoxParam","nameNode","rect","text","textNode","document","createTextNode","ARCHIVE","iconType","MEDIA","iconContainer","style","includes","tag","params","element","createElementNS","setAttribute","property","setAttributeNS"],"mappings":"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"}