@ngstarter-ui/components 21.0.28 → 21.0.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ai/component-registry.json +65 -1
- package/fesm2022/ngstarter-ui-components-file-type.mjs +170 -0
- package/fesm2022/ngstarter-ui-components-file-type.mjs.map +1 -0
- package/package.json +42 -2
- package/schematics/collection.json +5 -0
- package/schematics/ng-add/index.js +2 -1
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/ng-update/index.js +1 -0
- package/schematics/ng-update/index.js.map +1 -1
- package/schematics/sync-dependencies/index.d.ts +5 -0
- package/schematics/sync-dependencies/index.js +14 -0
- package/schematics/sync-dependencies/index.js.map +1 -0
- package/schematics/sync-dependencies/schema.json +13 -0
- package/schematics/utils.d.ts +2 -0
- package/schematics/utils.js +12 -10
- package/schematics/utils.js.map +1 -1
- package/types/ngstarter-ui-components-file-type.d.ts +27 -0
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"generatedBy": "scripts/generate-ai-metadata.mjs",
|
|
4
4
|
"package": "@ngstarter-ui/components",
|
|
5
5
|
"description": "AI-readable registry for NgStarter UI Angular secondary entry points.",
|
|
6
|
-
"componentCount":
|
|
6
|
+
"componentCount": 124,
|
|
7
7
|
"conventions": {
|
|
8
8
|
"importPattern": "@ngstarter-ui/components/<component>",
|
|
9
9
|
"selectorPrefix": "ngs",
|
|
@@ -3969,6 +3969,70 @@
|
|
|
3969
3969
|
],
|
|
3970
3970
|
"example": null
|
|
3971
3971
|
},
|
|
3972
|
+
{
|
|
3973
|
+
"name": "file-type",
|
|
3974
|
+
"title": "File Type",
|
|
3975
|
+
"overviewName": "File Type",
|
|
3976
|
+
"category": "components",
|
|
3977
|
+
"package": "@ngstarter-ui/components",
|
|
3978
|
+
"importPath": "@ngstarter-ui/components/file-type",
|
|
3979
|
+
"publicApi": "projects/components/file-type/public-api.ts",
|
|
3980
|
+
"sourceRoot": "projects/components/file-type/src",
|
|
3981
|
+
"docsPath": "/components/file-type",
|
|
3982
|
+
"docsOverviewSource": "projects/docs/src/app/components/file-type/overview/overview.html",
|
|
3983
|
+
"purpose": "The NgStarter Angular File Type component renders built-in SVG file icons from a MIME type, extension, or file name.",
|
|
3984
|
+
"useWhen": "Choose File Type when the workflow matches examples such as Basic File Type, Icon Sizes, MIME Type Detection, File Type Gallery, File type sizes.",
|
|
3985
|
+
"exampleTopics": [
|
|
3986
|
+
"Basic File Type",
|
|
3987
|
+
"Icon Sizes",
|
|
3988
|
+
"MIME Type Detection",
|
|
3989
|
+
"File Type Gallery",
|
|
3990
|
+
"File type sizes",
|
|
3991
|
+
"File type mime"
|
|
3992
|
+
],
|
|
3993
|
+
"minimalExample": "<div class=\"flex items-center gap-4\">\n <ngs-file-type fileName=\"contract.pdf\" class=\"size-14\"/>\n <div>\n <div class=\"text-sm\">contract.pdf</div>\n <div class=\"text-xs text-secondary\">Resolved from fileName</div>\n </div>\n</div>\n<div class=\"flex items-center gap-4 mt-5\">\n <ngs-file-type extension=\"xlsx\" class=\"size-14\"/>\n <div>\n <div class=\"text-sm\">Financial model</div>\n <div class=\"text-xs text-secondary\">Resolved from extension</div>\n </div>\n</div>",
|
|
3994
|
+
"exampleFiles": [
|
|
3995
|
+
{
|
|
3996
|
+
"name": "basic-file-type-example",
|
|
3997
|
+
"title": "Basic file type",
|
|
3998
|
+
"file": "projects/docs/src/app/components/file-type/_examples/basic-file-type-example/basic-file-type-example.html",
|
|
3999
|
+
"source": "<div class=\"flex items-center gap-4\">\n <ngs-file-type fileName=\"contract.pdf\" class=\"size-14\"/>\n <div>\n <div class=\"text-sm\">contract.pdf</div>\n <div class=\"text-xs text-secondary\">Resolved from fileName</div>\n </div>\n</div>\n<div class=\"flex items-center gap-4 mt-5\">\n <ngs-file-type extension=\"xlsx\" class=\"size-14\"/>\n <div>\n <div class=\"text-sm\">Financial model</div>\n <div class=\"text-xs text-secondary\">Resolved from extension</div>\n </div>\n</div>"
|
|
4000
|
+
},
|
|
4001
|
+
{
|
|
4002
|
+
"name": "file-type-gallery-example",
|
|
4003
|
+
"title": "File type gallery",
|
|
4004
|
+
"file": "projects/docs/src/app/components/file-type/_examples/file-type-gallery-example/file-type-gallery-example.html",
|
|
4005
|
+
"source": "<div class=\"grid grid-cols-3 gap-4 sm:grid-cols-4 md:grid-cols-5\">\n @for (type of types(); track type) {\n <div class=\"flex flex-col items-center gap-2 rounded-lg border border-subtle p-4\">\n <ngs-file-type [extension]=\"type\" class=\"size-16\"/>\n <div class=\"text-xs uppercase text-secondary\">{{ type }}</div>\n </div>\n }\n</div>"
|
|
4006
|
+
},
|
|
4007
|
+
{
|
|
4008
|
+
"name": "file-type-mime-example",
|
|
4009
|
+
"title": "File type mime",
|
|
4010
|
+
"file": "projects/docs/src/app/components/file-type/_examples/file-type-mime-example/file-type-mime-example.html",
|
|
4011
|
+
"source": "<div class=\"grid gap-4 sm:grid-cols-2\">\n @for (file of files(); track file.name) {\n <div class=\"flex items-center gap-4 rounded-lg border border-subtle p-4\">\n <ngs-file-type [mimeType]=\"file.mimeType\" [fallback]=\"file.fallback\" class=\"size-12\"/>\n <div class=\"min-w-0\">\n <div class=\"truncate text-sm\">{{ file.name }}</div>\n <div class=\"truncate text-xs text-secondary\">{{ file.mimeType }}</div>\n </div>\n </div>\n }\n</div>"
|
|
4012
|
+
}
|
|
4013
|
+
],
|
|
4014
|
+
"previewAsset": "projects/components/file-type/preview.svg",
|
|
4015
|
+
"selectors": [
|
|
4016
|
+
"ngs-file-type"
|
|
4017
|
+
],
|
|
4018
|
+
"exportedSymbols": [
|
|
4019
|
+
"FileType",
|
|
4020
|
+
"FileTypeName"
|
|
4021
|
+
],
|
|
4022
|
+
"inputs": [
|
|
4023
|
+
"decorative",
|
|
4024
|
+
"extension",
|
|
4025
|
+
"fallback",
|
|
4026
|
+
"fileName",
|
|
4027
|
+
"label",
|
|
4028
|
+
"mimeType"
|
|
4029
|
+
],
|
|
4030
|
+
"outputs": [],
|
|
4031
|
+
"cssTokens": [
|
|
4032
|
+
"--ngs-file-type-size"
|
|
4033
|
+
],
|
|
4034
|
+
"example": null
|
|
4035
|
+
},
|
|
3972
4036
|
{
|
|
3973
4037
|
"name": "filter-builder",
|
|
3974
4038
|
"title": "Filter Builder",
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { input, booleanAttribute, computed, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
const EXTENSION_TO_TYPE = {
|
|
5
|
+
avi: 'avi',
|
|
6
|
+
csv: 'csv',
|
|
7
|
+
doc: 'doc',
|
|
8
|
+
docx: 'doc',
|
|
9
|
+
html: 'html',
|
|
10
|
+
htm: 'html',
|
|
11
|
+
jpeg: 'jpg',
|
|
12
|
+
jpg: 'jpg',
|
|
13
|
+
json: 'json',
|
|
14
|
+
jsonld: 'json',
|
|
15
|
+
mkv: 'mkv',
|
|
16
|
+
mov: 'mov',
|
|
17
|
+
mp3: 'mp3',
|
|
18
|
+
m4a: 'mp3',
|
|
19
|
+
mp4: 'mp4',
|
|
20
|
+
pdf: 'pdf',
|
|
21
|
+
png: 'png',
|
|
22
|
+
pot: 'ppt',
|
|
23
|
+
potx: 'ppt',
|
|
24
|
+
pps: 'ppt',
|
|
25
|
+
ppsx: 'ppt',
|
|
26
|
+
ppt: 'ppt',
|
|
27
|
+
pptx: 'ppt',
|
|
28
|
+
svg: 'svg',
|
|
29
|
+
text: 'txt',
|
|
30
|
+
txt: 'txt',
|
|
31
|
+
wav: 'wav',
|
|
32
|
+
webm: 'webm',
|
|
33
|
+
xls: 'xls',
|
|
34
|
+
xlsx: 'xls',
|
|
35
|
+
xml: 'xml',
|
|
36
|
+
zip: 'zip',
|
|
37
|
+
};
|
|
38
|
+
const MIME_TYPE_TO_TYPE = {
|
|
39
|
+
'application/csv': 'csv',
|
|
40
|
+
'application/json': 'json',
|
|
41
|
+
'application/ld+json': 'json',
|
|
42
|
+
'application/msword': 'doc',
|
|
43
|
+
'application/pdf': 'pdf',
|
|
44
|
+
'application/rtf': 'doc',
|
|
45
|
+
'application/vnd.ms-excel': 'xls',
|
|
46
|
+
'application/vnd.ms-powerpoint': 'ppt',
|
|
47
|
+
'application/vnd.openxmlformats-officedocument.presentationml.presentation': 'ppt',
|
|
48
|
+
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': 'xls',
|
|
49
|
+
'application/vnd.openxmlformats-officedocument.wordprocessingml.document': 'doc',
|
|
50
|
+
'application/x-zip-compressed': 'zip',
|
|
51
|
+
'application/xml': 'xml',
|
|
52
|
+
'application/zip': 'zip',
|
|
53
|
+
'audio/mp3': 'mp3',
|
|
54
|
+
'audio/mpeg': 'mp3',
|
|
55
|
+
'audio/wav': 'wav',
|
|
56
|
+
'audio/wave': 'wav',
|
|
57
|
+
'audio/x-wav': 'wav',
|
|
58
|
+
'image/jpeg': 'jpg',
|
|
59
|
+
'image/jpg': 'jpg',
|
|
60
|
+
'image/png': 'png',
|
|
61
|
+
'image/svg+xml': 'svg',
|
|
62
|
+
'multipart/x-zip': 'zip',
|
|
63
|
+
'text/comma-separated-values': 'csv',
|
|
64
|
+
'text/csv': 'csv',
|
|
65
|
+
'text/html': 'html',
|
|
66
|
+
'text/json': 'json',
|
|
67
|
+
'text/plain': 'txt',
|
|
68
|
+
'text/xml': 'xml',
|
|
69
|
+
'video/mp4': 'mp4',
|
|
70
|
+
'video/quicktime': 'mov',
|
|
71
|
+
'video/webm': 'webm',
|
|
72
|
+
'video/x-matroska': 'mkv',
|
|
73
|
+
'video/x-msvideo': 'avi',
|
|
74
|
+
};
|
|
75
|
+
let nextIconId = 0;
|
|
76
|
+
class FileType {
|
|
77
|
+
iconId = `ngs-file-type-${nextIconId++}`;
|
|
78
|
+
mimeType = input(...(ngDevMode ? [undefined, { debugName: "mimeType" }] : /* istanbul ignore next */ []));
|
|
79
|
+
extension = input(...(ngDevMode ? [undefined, { debugName: "extension" }] : /* istanbul ignore next */ []));
|
|
80
|
+
fileName = input(...(ngDevMode ? [undefined, { debugName: "fileName" }] : /* istanbul ignore next */ []));
|
|
81
|
+
fallback = input('txt', ...(ngDevMode ? [{ debugName: "fallback" }] : /* istanbul ignore next */ []));
|
|
82
|
+
label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
|
|
83
|
+
decorative = input(false, { ...(ngDevMode ? { debugName: "decorative" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
84
|
+
type = computed(() => this.resolveType(), ...(ngDevMode ? [{ debugName: "type" }] : /* istanbul ignore next */ []));
|
|
85
|
+
resolvedLabel = computed(() => {
|
|
86
|
+
const label = this.label();
|
|
87
|
+
if (label) {
|
|
88
|
+
return label;
|
|
89
|
+
}
|
|
90
|
+
return `${this.type().toUpperCase()} file`;
|
|
91
|
+
}, ...(ngDevMode ? [{ debugName: "resolvedLabel" }] : /* istanbul ignore next */ []));
|
|
92
|
+
resolveType() {
|
|
93
|
+
const extensionType = this.resolveExtension(this.extension()) ?? this.resolveExtension(this.fileName());
|
|
94
|
+
if (extensionType) {
|
|
95
|
+
return extensionType;
|
|
96
|
+
}
|
|
97
|
+
const mimeType = this.normalizeMimeType(this.mimeType());
|
|
98
|
+
if (mimeType) {
|
|
99
|
+
return MIME_TYPE_TO_TYPE[mimeType] ?? this.resolveMimeFamily(mimeType) ?? this.fallback();
|
|
100
|
+
}
|
|
101
|
+
return this.fallback();
|
|
102
|
+
}
|
|
103
|
+
resolveExtension(value) {
|
|
104
|
+
const extension = this.normalizeExtension(value);
|
|
105
|
+
if (!extension) {
|
|
106
|
+
return null;
|
|
107
|
+
}
|
|
108
|
+
return EXTENSION_TO_TYPE[extension] ?? null;
|
|
109
|
+
}
|
|
110
|
+
normalizeExtension(value) {
|
|
111
|
+
if (!value) {
|
|
112
|
+
return null;
|
|
113
|
+
}
|
|
114
|
+
const normalized = value.trim().toLowerCase();
|
|
115
|
+
if (!normalized) {
|
|
116
|
+
return null;
|
|
117
|
+
}
|
|
118
|
+
const fileExtension = normalized.includes('.')
|
|
119
|
+
? normalized.split('.').pop()
|
|
120
|
+
: normalized.replace(/^\./, '');
|
|
121
|
+
return fileExtension || null;
|
|
122
|
+
}
|
|
123
|
+
normalizeMimeType(value) {
|
|
124
|
+
if (!value) {
|
|
125
|
+
return null;
|
|
126
|
+
}
|
|
127
|
+
const mimeType = value.split(';')[0].trim().toLowerCase();
|
|
128
|
+
return mimeType || null;
|
|
129
|
+
}
|
|
130
|
+
resolveMimeFamily(mimeType) {
|
|
131
|
+
if (mimeType.startsWith('image/')) {
|
|
132
|
+
return 'png';
|
|
133
|
+
}
|
|
134
|
+
if (mimeType.startsWith('video/')) {
|
|
135
|
+
return 'mp4';
|
|
136
|
+
}
|
|
137
|
+
if (mimeType.startsWith('audio/')) {
|
|
138
|
+
return 'mp3';
|
|
139
|
+
}
|
|
140
|
+
if (mimeType.startsWith('text/')) {
|
|
141
|
+
return 'txt';
|
|
142
|
+
}
|
|
143
|
+
return null;
|
|
144
|
+
}
|
|
145
|
+
gradientId(type) {
|
|
146
|
+
return `${this.iconId}-${type}-pageGradient`;
|
|
147
|
+
}
|
|
148
|
+
gradientUrl(type) {
|
|
149
|
+
return `url(#${this.gradientId(type)})`;
|
|
150
|
+
}
|
|
151
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: FileType, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
152
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: FileType, isStandalone: true, selector: "ngs-file-type", inputs: { mimeType: { classPropertyName: "mimeType", publicName: "mimeType", isSignal: true, isRequired: false, transformFunction: null }, extension: { classPropertyName: "extension", publicName: "extension", isSignal: true, isRequired: false, transformFunction: null }, fileName: { classPropertyName: "fileName", publicName: "fileName", isSignal: true, isRequired: false, transformFunction: null }, fallback: { classPropertyName: "fallback", publicName: "fallback", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, decorative: { classPropertyName: "decorative", publicName: "decorative", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.role": "decorative() ? null : \"img\"", "attr.aria-label": "decorative() ? null : resolvedLabel()", "attr.aria-hidden": "decorative() ? \"true\" : null", "attr.data-file-type": "type()" }, classAttribute: "ngs-file-type not-prose" }, exportAs: ["ngsFileType"], ngImport: i0, template: "<span class=\"icon\">\n @switch (type()) {\n @case ('avi') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('avi')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#8D7CFF\" />\n <stop offset=\"1\" stop-color=\"#4531C9\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('avi')\" />\n <g transform=\"translate(0 -4)\">\n <rect\n x=\"39\"\n y=\"35\"\n width=\"50\"\n height=\"30\"\n rx=\"6\"\n stroke=\"white\"\n stroke-opacity=\"0.36\"\n stroke-width=\"5\"\n />\n <path d=\"M58 43V57L72 50L58 43Z\" fill=\"white\" fill-opacity=\"0.44\" />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#4531C9\"\n >\n AVI\n </text>\n </g>\n </svg>\n }\n @case ('csv') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('csv')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#42D9D2\" />\n <stop offset=\"1\" stop-color=\"#0B8A97\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('csv')\" />\n <g transform=\"translate(0 -2)\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M42 33C38.686 33 36 35.686 36 39V61C36 64.314 38.686 67 42 67H86C89.314 67 92 64.314 92 61V39C92 35.686 89.314 33 86 33H42ZM43 37C41.343 37 40 38.343 40 40V49H54V37H43ZM57 37H71V49H57V37ZM74 37V49H88V40C88 38.343 86.657 37 85 37H74ZM40 52V61C40 62.657 41.343 64 43 64H54V52H40ZM57 52H71V64H57V52ZM74 52V64H85C86.657 64 88 62.657 88 61V52H74Z\"\n fill=\"white\"\n fill-opacity=\"0.5\"\n />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#0B8A97\"\n >\n CSV\n </text>\n </g>\n </svg>\n }\n @case ('doc') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('doc')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#5EA8FF\" />\n <stop offset=\"1\" stop-color=\"#1D5FD6\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('doc')\" />\n <g transform=\"translate(0 2)\">\n <path\n d=\"M42 32H82M42 44H86M42 56H76\"\n stroke=\"white\"\n stroke-opacity=\"0.34\"\n stroke-width=\"6\"\n stroke-linecap=\"round\"\n />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#1D5FD6\"\n >\n DOC\n </text>\n </g>\n </svg>\n }\n @case ('html') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('html')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#FF7A5F\" />\n <stop offset=\"1\" stop-color=\"#D23B21\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('html')\" />\n <g transform=\"translate(0 -2)\">\n <path\n d=\"M53 36L41 48L53 60M75 36L87 48L75 60M68 34L60 62\"\n stroke=\"white\"\n stroke-opacity=\"0.36\"\n stroke-width=\"5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"16\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#D23B21\"\n >\n HTML\n </text>\n </g>\n </svg>\n }\n @case ('jpg') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('jpg')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#FF78B6\" />\n <stop offset=\"1\" stop-color=\"#C92678\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('jpg')\" />\n <g transform=\"translate(0 -4)\">\n <rect x=\"37\" y=\"34\" width=\"54\" height=\"36\" rx=\"7\" fill=\"white\" fill-opacity=\"0.18\" />\n <path\n d=\"M39 62L51 50L61 59L70 49L89 66\"\n stroke=\"white\"\n stroke-opacity=\"0.62\"\n stroke-width=\"5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <circle cx=\"75\" cy=\"44\" r=\"5\" fill=\"white\" fill-opacity=\"0.62\" />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#C92678\"\n >\n JPG\n </text>\n </g>\n </svg>\n }\n @case ('json') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('json')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#667085\" />\n <stop offset=\"1\" stop-color=\"#202939\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('json')\" />\n <g transform=\"translate(0 -4)\">\n <path\n d=\"M51 33C45 33 43 37 43 41V45C43 48 41 50 38 50C41 50 43 52 43 55V59C43 63 45 67 51 67\"\n stroke=\"white\"\n stroke-opacity=\"0.42\"\n stroke-width=\"5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M77 33C83 33 85 37 85 41V45C85 48 87 50 90 50C87 50 85 52 85 55V59C85 63 83 67 77 67\"\n stroke=\"white\"\n stroke-opacity=\"0.42\"\n stroke-width=\"5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M57 43H70M57 57H73\"\n stroke=\"white\"\n stroke-opacity=\"0.44\"\n stroke-width=\"5\"\n stroke-linecap=\"round\"\n />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"16\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#202939\"\n >\n JSON\n </text>\n </g>\n </svg>\n }\n @case ('mkv') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('mkv')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#AA74FF\" />\n <stop offset=\"1\" stop-color=\"#5C26B8\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('mkv')\" />\n <g transform=\"translate(0 -4)\">\n <rect\n x=\"39\"\n y=\"35\"\n width=\"50\"\n height=\"30\"\n rx=\"6\"\n stroke=\"white\"\n stroke-opacity=\"0.36\"\n stroke-width=\"5\"\n />\n <path d=\"M58 43V57L72 50L58 43Z\" fill=\"white\" fill-opacity=\"0.44\" />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#5C26B8\"\n >\n MKV\n </text>\n </g>\n </svg>\n }\n @case ('mov') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('mov')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#45D0FF\" />\n <stop offset=\"1\" stop-color=\"#1268C7\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('mov')\" />\n <g transform=\"translate(0 -4)\">\n <rect\n x=\"39\"\n y=\"35\"\n width=\"50\"\n height=\"30\"\n rx=\"6\"\n stroke=\"white\"\n stroke-opacity=\"0.36\"\n stroke-width=\"5\"\n />\n <path d=\"M58 43V57L72 50L58 43Z\" fill=\"white\" fill-opacity=\"0.44\" />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#1268C7\"\n >\n MOV\n </text>\n </g>\n </svg>\n }\n @case ('mp3') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('mp3')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#D36BFF\" />\n <stop offset=\"1\" stop-color=\"#8A2BC6\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('mp3')\" />\n <g transform=\"translate(0 0)\">\n <path\n d=\"M52 56V35L82 30V49M52 56C52 59.5 49.2 62 45.5 62C41.8 62 39 59.5 39 56C39 52.5 41.8 50 45.5 50C49.2 50 52 52.5 52 56ZM82 49C82 52.5 79.2 55 75.5 55C71.8 55 69 52.5 69 49C69 45.5 71.8 43 75.5 43C79.2 43 82 45.5 82 49Z\"\n stroke=\"white\"\n stroke-opacity=\"0.36\"\n stroke-width=\"5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#8A2BC6\"\n >\n MP3\n </text>\n </g>\n </svg>\n }\n @case ('mp4') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('mp4')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#5E9BFF\" />\n <stop offset=\"1\" stop-color=\"#2745C8\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('mp4')\" />\n <g transform=\"translate(0 -4)\">\n <rect\n x=\"39\"\n y=\"35\"\n width=\"50\"\n height=\"30\"\n rx=\"6\"\n stroke=\"white\"\n stroke-opacity=\"0.36\"\n stroke-width=\"5\"\n />\n <path d=\"M58 43V57L72 50L58 43Z\" fill=\"white\" fill-opacity=\"0.44\" />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#2745C8\"\n >\n MP4\n </text>\n </g>\n </svg>\n }\n @case ('pdf') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('pdf')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#FF6A5F\" />\n <stop offset=\"1\" stop-color=\"#D82432\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('pdf')\" />\n <g transform=\"translate(0 2)\">\n <path\n d=\"M42 32H82M42 44H86M42 56H76\"\n stroke=\"white\"\n stroke-opacity=\"0.34\"\n stroke-width=\"6\"\n stroke-linecap=\"round\"\n />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#D82432\"\n >\n PDF\n </text>\n </g>\n </svg>\n }\n @case ('png') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('png')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#4EC8FF\" />\n <stop offset=\"1\" stop-color=\"#147AAE\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('png')\" />\n <g transform=\"translate(0 -4)\">\n <rect x=\"37\" y=\"34\" width=\"54\" height=\"36\" rx=\"7\" fill=\"white\" fill-opacity=\"0.18\" />\n <path\n d=\"M39 62L51 50L61 59L70 49L89 66\"\n stroke=\"white\"\n stroke-opacity=\"0.62\"\n stroke-width=\"5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <circle cx=\"75\" cy=\"44\" r=\"5\" fill=\"white\" fill-opacity=\"0.62\" />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#147AAE\"\n >\n PNG\n </text>\n </g>\n </svg>\n }\n @case ('ppt') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('ppt')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#FF9B4A\" />\n <stop offset=\"1\" stop-color=\"#D84A1B\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('ppt')\" />\n <g transform=\"translate(0 0)\">\n <rect\n x=\"40\"\n y=\"31\"\n width=\"48\"\n height=\"30\"\n rx=\"5\"\n stroke=\"white\"\n stroke-opacity=\"0.34\"\n stroke-width=\"5\"\n />\n <path\n d=\"M51 51H75M51 43H63\"\n stroke=\"white\"\n stroke-opacity=\"0.34\"\n stroke-width=\"4\"\n stroke-linecap=\"round\"\n />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#D84A1B\"\n >\n PPT\n </text>\n </g>\n </svg>\n }\n @case ('svg') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('svg')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#B389FF\" />\n <stop offset=\"1\" stop-color=\"#6F35D5\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('svg')\" />\n <g transform=\"translate(0 -4)\">\n <rect x=\"37\" y=\"34\" width=\"54\" height=\"36\" rx=\"7\" fill=\"white\" fill-opacity=\"0.18\" />\n <path\n d=\"M39 62L51 50L61 59L70 49L89 66\"\n stroke=\"white\"\n stroke-opacity=\"0.62\"\n stroke-width=\"5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <circle cx=\"75\" cy=\"44\" r=\"5\" fill=\"white\" fill-opacity=\"0.62\" />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#6F35D5\"\n >\n SVG\n </text>\n </g>\n </svg>\n }\n @case ('txt') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('txt')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#95A3B8\" />\n <stop offset=\"1\" stop-color=\"#526071\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('txt')\" />\n <g transform=\"translate(0 2)\">\n <path\n d=\"M42 32H82M42 44H86M42 56H76\"\n stroke=\"white\"\n stroke-opacity=\"0.34\"\n stroke-width=\"6\"\n stroke-linecap=\"round\"\n />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#526071\"\n >\n TXT\n </text>\n </g>\n </svg>\n }\n @case ('wav') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('wav')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#FF6EDB\" />\n <stop offset=\"1\" stop-color=\"#B8299F\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('wav')\" />\n <g transform=\"translate(0 -3)\">\n <path\n d=\"M39 49H45L50 37L57 61L64 39L70 55H89\"\n stroke=\"white\"\n stroke-opacity=\"0.38\"\n stroke-width=\"5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#B8299F\"\n >\n WAV\n </text>\n </g>\n </svg>\n }\n @case ('webm') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('webm')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#53B5FF\" />\n <stop offset=\"1\" stop-color=\"#5034D5\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('webm')\" />\n <g transform=\"translate(0 -4)\">\n <rect\n x=\"39\"\n y=\"35\"\n width=\"50\"\n height=\"30\"\n rx=\"6\"\n stroke=\"white\"\n stroke-opacity=\"0.36\"\n stroke-width=\"5\"\n />\n <path d=\"M58 43V57L72 50L58 43Z\" fill=\"white\" fill-opacity=\"0.44\" />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"16\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#5034D5\"\n >\n WEBM\n </text>\n </g>\n </svg>\n }\n @case ('xls') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('xls')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#4AD991\" />\n <stop offset=\"1\" stop-color=\"#168F58\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('xls')\" />\n <g transform=\"translate(0 -2)\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M42 33C38.686 33 36 35.686 36 39V61C36 64.314 38.686 67 42 67H86C89.314 67 92 64.314 92 61V39C92 35.686 89.314 33 86 33H42ZM43 37C41.343 37 40 38.343 40 40V49H54V37H43ZM57 37H71V49H57V37ZM74 37V49H88V40C88 38.343 86.657 37 85 37H74ZM40 52V61C40 62.657 41.343 64 43 64H54V52H40ZM57 52H71V64H57V52ZM74 52V64H85C86.657 64 88 62.657 88 61V52H74Z\"\n fill=\"white\"\n fill-opacity=\"0.5\"\n />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#168F58\"\n >\n XLS\n </text>\n </g>\n </svg>\n }\n @case ('xml') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('xml')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#7188FF\" />\n <stop offset=\"1\" stop-color=\"#3346B8\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('xml')\" />\n <g transform=\"translate(0 -2)\">\n <path\n d=\"M53 36L41 48L53 60M75 36L87 48L75 60M68 34L60 62\"\n stroke=\"white\"\n stroke-opacity=\"0.36\"\n stroke-width=\"5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#3346B8\"\n >\n XML\n </text>\n </g>\n </svg>\n }\n @case ('zip') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('zip')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#FFD15C\" />\n <stop offset=\"1\" stop-color=\"#C48612\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('zip')\" />\n <g transform=\"translate(0 -4)\">\n <path\n d=\"M61 34Q61 32 63 32H65Q67 32 67 34V66Q67 68 65 68H63Q61 68 61 66V34ZM53 34Q51 34 51 36V37Q51 39 53 39H61V34H53ZM67 39V44H75Q77 44 77 42V41Q77 39 75 39H67ZM53 44Q51 44 51 46V47Q51 49 53 49H61V44H53ZM67 49V54H75Q77 54 77 52V51Q77 49 75 49H67ZM53 54Q51 54 51 56V57Q51 59 53 59H61V54H53ZM67 59V64H75Q77 64 77 62V61Q77 59 75 59H67Z\"\n fill=\"white\"\n fill-opacity=\"0.66\"\n />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#C48612\"\n >\n ZIP\n </text>\n </g>\n </svg>\n }\n }\n</span>\n", styles: [":host{--ngs-file-type-size: calc(var(--spacing, .25rem) * 10);display:inline-flex;flex:none;line-height:0}:host:not([class*=w-]):not([class*=size-]){width:var(--ngs-file-type-size)}:host:not([class*=h-]):not([class*=size-]){height:var(--ngs-file-type-size)}:host .icon{display:contents}:host svg{display:block;width:100%;height:100%;flex:none}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
153
|
+
}
|
|
154
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: FileType, decorators: [{
|
|
155
|
+
type: Component,
|
|
156
|
+
args: [{ selector: 'ngs-file-type', exportAs: 'ngsFileType', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
157
|
+
class: 'ngs-file-type not-prose',
|
|
158
|
+
'[attr.role]': 'decorative() ? null : "img"',
|
|
159
|
+
'[attr.aria-label]': 'decorative() ? null : resolvedLabel()',
|
|
160
|
+
'[attr.aria-hidden]': 'decorative() ? "true" : null',
|
|
161
|
+
'[attr.data-file-type]': 'type()',
|
|
162
|
+
}, template: "<span class=\"icon\">\n @switch (type()) {\n @case ('avi') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('avi')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#8D7CFF\" />\n <stop offset=\"1\" stop-color=\"#4531C9\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('avi')\" />\n <g transform=\"translate(0 -4)\">\n <rect\n x=\"39\"\n y=\"35\"\n width=\"50\"\n height=\"30\"\n rx=\"6\"\n stroke=\"white\"\n stroke-opacity=\"0.36\"\n stroke-width=\"5\"\n />\n <path d=\"M58 43V57L72 50L58 43Z\" fill=\"white\" fill-opacity=\"0.44\" />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#4531C9\"\n >\n AVI\n </text>\n </g>\n </svg>\n }\n @case ('csv') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('csv')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#42D9D2\" />\n <stop offset=\"1\" stop-color=\"#0B8A97\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('csv')\" />\n <g transform=\"translate(0 -2)\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M42 33C38.686 33 36 35.686 36 39V61C36 64.314 38.686 67 42 67H86C89.314 67 92 64.314 92 61V39C92 35.686 89.314 33 86 33H42ZM43 37C41.343 37 40 38.343 40 40V49H54V37H43ZM57 37H71V49H57V37ZM74 37V49H88V40C88 38.343 86.657 37 85 37H74ZM40 52V61C40 62.657 41.343 64 43 64H54V52H40ZM57 52H71V64H57V52ZM74 52V64H85C86.657 64 88 62.657 88 61V52H74Z\"\n fill=\"white\"\n fill-opacity=\"0.5\"\n />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#0B8A97\"\n >\n CSV\n </text>\n </g>\n </svg>\n }\n @case ('doc') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('doc')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#5EA8FF\" />\n <stop offset=\"1\" stop-color=\"#1D5FD6\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('doc')\" />\n <g transform=\"translate(0 2)\">\n <path\n d=\"M42 32H82M42 44H86M42 56H76\"\n stroke=\"white\"\n stroke-opacity=\"0.34\"\n stroke-width=\"6\"\n stroke-linecap=\"round\"\n />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#1D5FD6\"\n >\n DOC\n </text>\n </g>\n </svg>\n }\n @case ('html') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('html')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#FF7A5F\" />\n <stop offset=\"1\" stop-color=\"#D23B21\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('html')\" />\n <g transform=\"translate(0 -2)\">\n <path\n d=\"M53 36L41 48L53 60M75 36L87 48L75 60M68 34L60 62\"\n stroke=\"white\"\n stroke-opacity=\"0.36\"\n stroke-width=\"5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"16\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#D23B21\"\n >\n HTML\n </text>\n </g>\n </svg>\n }\n @case ('jpg') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('jpg')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#FF78B6\" />\n <stop offset=\"1\" stop-color=\"#C92678\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('jpg')\" />\n <g transform=\"translate(0 -4)\">\n <rect x=\"37\" y=\"34\" width=\"54\" height=\"36\" rx=\"7\" fill=\"white\" fill-opacity=\"0.18\" />\n <path\n d=\"M39 62L51 50L61 59L70 49L89 66\"\n stroke=\"white\"\n stroke-opacity=\"0.62\"\n stroke-width=\"5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <circle cx=\"75\" cy=\"44\" r=\"5\" fill=\"white\" fill-opacity=\"0.62\" />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#C92678\"\n >\n JPG\n </text>\n </g>\n </svg>\n }\n @case ('json') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('json')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#667085\" />\n <stop offset=\"1\" stop-color=\"#202939\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('json')\" />\n <g transform=\"translate(0 -4)\">\n <path\n d=\"M51 33C45 33 43 37 43 41V45C43 48 41 50 38 50C41 50 43 52 43 55V59C43 63 45 67 51 67\"\n stroke=\"white\"\n stroke-opacity=\"0.42\"\n stroke-width=\"5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M77 33C83 33 85 37 85 41V45C85 48 87 50 90 50C87 50 85 52 85 55V59C85 63 83 67 77 67\"\n stroke=\"white\"\n stroke-opacity=\"0.42\"\n stroke-width=\"5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M57 43H70M57 57H73\"\n stroke=\"white\"\n stroke-opacity=\"0.44\"\n stroke-width=\"5\"\n stroke-linecap=\"round\"\n />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"16\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#202939\"\n >\n JSON\n </text>\n </g>\n </svg>\n }\n @case ('mkv') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('mkv')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#AA74FF\" />\n <stop offset=\"1\" stop-color=\"#5C26B8\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('mkv')\" />\n <g transform=\"translate(0 -4)\">\n <rect\n x=\"39\"\n y=\"35\"\n width=\"50\"\n height=\"30\"\n rx=\"6\"\n stroke=\"white\"\n stroke-opacity=\"0.36\"\n stroke-width=\"5\"\n />\n <path d=\"M58 43V57L72 50L58 43Z\" fill=\"white\" fill-opacity=\"0.44\" />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#5C26B8\"\n >\n MKV\n </text>\n </g>\n </svg>\n }\n @case ('mov') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('mov')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#45D0FF\" />\n <stop offset=\"1\" stop-color=\"#1268C7\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('mov')\" />\n <g transform=\"translate(0 -4)\">\n <rect\n x=\"39\"\n y=\"35\"\n width=\"50\"\n height=\"30\"\n rx=\"6\"\n stroke=\"white\"\n stroke-opacity=\"0.36\"\n stroke-width=\"5\"\n />\n <path d=\"M58 43V57L72 50L58 43Z\" fill=\"white\" fill-opacity=\"0.44\" />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#1268C7\"\n >\n MOV\n </text>\n </g>\n </svg>\n }\n @case ('mp3') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('mp3')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#D36BFF\" />\n <stop offset=\"1\" stop-color=\"#8A2BC6\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('mp3')\" />\n <g transform=\"translate(0 0)\">\n <path\n d=\"M52 56V35L82 30V49M52 56C52 59.5 49.2 62 45.5 62C41.8 62 39 59.5 39 56C39 52.5 41.8 50 45.5 50C49.2 50 52 52.5 52 56ZM82 49C82 52.5 79.2 55 75.5 55C71.8 55 69 52.5 69 49C69 45.5 71.8 43 75.5 43C79.2 43 82 45.5 82 49Z\"\n stroke=\"white\"\n stroke-opacity=\"0.36\"\n stroke-width=\"5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#8A2BC6\"\n >\n MP3\n </text>\n </g>\n </svg>\n }\n @case ('mp4') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('mp4')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#5E9BFF\" />\n <stop offset=\"1\" stop-color=\"#2745C8\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('mp4')\" />\n <g transform=\"translate(0 -4)\">\n <rect\n x=\"39\"\n y=\"35\"\n width=\"50\"\n height=\"30\"\n rx=\"6\"\n stroke=\"white\"\n stroke-opacity=\"0.36\"\n stroke-width=\"5\"\n />\n <path d=\"M58 43V57L72 50L58 43Z\" fill=\"white\" fill-opacity=\"0.44\" />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#2745C8\"\n >\n MP4\n </text>\n </g>\n </svg>\n }\n @case ('pdf') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('pdf')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#FF6A5F\" />\n <stop offset=\"1\" stop-color=\"#D82432\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('pdf')\" />\n <g transform=\"translate(0 2)\">\n <path\n d=\"M42 32H82M42 44H86M42 56H76\"\n stroke=\"white\"\n stroke-opacity=\"0.34\"\n stroke-width=\"6\"\n stroke-linecap=\"round\"\n />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#D82432\"\n >\n PDF\n </text>\n </g>\n </svg>\n }\n @case ('png') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('png')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#4EC8FF\" />\n <stop offset=\"1\" stop-color=\"#147AAE\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('png')\" />\n <g transform=\"translate(0 -4)\">\n <rect x=\"37\" y=\"34\" width=\"54\" height=\"36\" rx=\"7\" fill=\"white\" fill-opacity=\"0.18\" />\n <path\n d=\"M39 62L51 50L61 59L70 49L89 66\"\n stroke=\"white\"\n stroke-opacity=\"0.62\"\n stroke-width=\"5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <circle cx=\"75\" cy=\"44\" r=\"5\" fill=\"white\" fill-opacity=\"0.62\" />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#147AAE\"\n >\n PNG\n </text>\n </g>\n </svg>\n }\n @case ('ppt') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('ppt')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#FF9B4A\" />\n <stop offset=\"1\" stop-color=\"#D84A1B\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('ppt')\" />\n <g transform=\"translate(0 0)\">\n <rect\n x=\"40\"\n y=\"31\"\n width=\"48\"\n height=\"30\"\n rx=\"5\"\n stroke=\"white\"\n stroke-opacity=\"0.34\"\n stroke-width=\"5\"\n />\n <path\n d=\"M51 51H75M51 43H63\"\n stroke=\"white\"\n stroke-opacity=\"0.34\"\n stroke-width=\"4\"\n stroke-linecap=\"round\"\n />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#D84A1B\"\n >\n PPT\n </text>\n </g>\n </svg>\n }\n @case ('svg') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('svg')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#B389FF\" />\n <stop offset=\"1\" stop-color=\"#6F35D5\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('svg')\" />\n <g transform=\"translate(0 -4)\">\n <rect x=\"37\" y=\"34\" width=\"54\" height=\"36\" rx=\"7\" fill=\"white\" fill-opacity=\"0.18\" />\n <path\n d=\"M39 62L51 50L61 59L70 49L89 66\"\n stroke=\"white\"\n stroke-opacity=\"0.62\"\n stroke-width=\"5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <circle cx=\"75\" cy=\"44\" r=\"5\" fill=\"white\" fill-opacity=\"0.62\" />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#6F35D5\"\n >\n SVG\n </text>\n </g>\n </svg>\n }\n @case ('txt') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('txt')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#95A3B8\" />\n <stop offset=\"1\" stop-color=\"#526071\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('txt')\" />\n <g transform=\"translate(0 2)\">\n <path\n d=\"M42 32H82M42 44H86M42 56H76\"\n stroke=\"white\"\n stroke-opacity=\"0.34\"\n stroke-width=\"6\"\n stroke-linecap=\"round\"\n />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#526071\"\n >\n TXT\n </text>\n </g>\n </svg>\n }\n @case ('wav') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('wav')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#FF6EDB\" />\n <stop offset=\"1\" stop-color=\"#B8299F\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('wav')\" />\n <g transform=\"translate(0 -3)\">\n <path\n d=\"M39 49H45L50 37L57 61L64 39L70 55H89\"\n stroke=\"white\"\n stroke-opacity=\"0.38\"\n stroke-width=\"5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#B8299F\"\n >\n WAV\n </text>\n </g>\n </svg>\n }\n @case ('webm') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('webm')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#53B5FF\" />\n <stop offset=\"1\" stop-color=\"#5034D5\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('webm')\" />\n <g transform=\"translate(0 -4)\">\n <rect\n x=\"39\"\n y=\"35\"\n width=\"50\"\n height=\"30\"\n rx=\"6\"\n stroke=\"white\"\n stroke-opacity=\"0.36\"\n stroke-width=\"5\"\n />\n <path d=\"M58 43V57L72 50L58 43Z\" fill=\"white\" fill-opacity=\"0.44\" />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"16\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#5034D5\"\n >\n WEBM\n </text>\n </g>\n </svg>\n }\n @case ('xls') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('xls')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#4AD991\" />\n <stop offset=\"1\" stop-color=\"#168F58\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('xls')\" />\n <g transform=\"translate(0 -2)\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M42 33C38.686 33 36 35.686 36 39V61C36 64.314 38.686 67 42 67H86C89.314 67 92 64.314 92 61V39C92 35.686 89.314 33 86 33H42ZM43 37C41.343 37 40 38.343 40 40V49H54V37H43ZM57 37H71V49H57V37ZM74 37V49H88V40C88 38.343 86.657 37 85 37H74ZM40 52V61C40 62.657 41.343 64 43 64H54V52H40ZM57 52H71V64H57V52ZM74 52V64H85C86.657 64 88 62.657 88 61V52H74Z\"\n fill=\"white\"\n fill-opacity=\"0.5\"\n />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#168F58\"\n >\n XLS\n </text>\n </g>\n </svg>\n }\n @case ('xml') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('xml')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#7188FF\" />\n <stop offset=\"1\" stop-color=\"#3346B8\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('xml')\" />\n <g transform=\"translate(0 -2)\">\n <path\n d=\"M53 36L41 48L53 60M75 36L87 48L75 60M68 34L60 62\"\n stroke=\"white\"\n stroke-opacity=\"0.36\"\n stroke-width=\"5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#3346B8\"\n >\n XML\n </text>\n </g>\n </svg>\n }\n @case ('zip') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('zip')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#FFD15C\" />\n <stop offset=\"1\" stop-color=\"#C48612\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('zip')\" />\n <g transform=\"translate(0 -4)\">\n <path\n d=\"M61 34Q61 32 63 32H65Q67 32 67 34V66Q67 68 65 68H63Q61 68 61 66V34ZM53 34Q51 34 51 36V37Q51 39 53 39H61V34H53ZM67 39V44H75Q77 44 77 42V41Q77 39 75 39H67ZM53 44Q51 44 51 46V47Q51 49 53 49H61V44H53ZM67 49V54H75Q77 54 77 52V51Q77 49 75 49H67ZM53 54Q51 54 51 56V57Q51 59 53 59H61V54H53ZM67 59V64H75Q77 64 77 62V61Q77 59 75 59H67Z\"\n fill=\"white\"\n fill-opacity=\"0.66\"\n />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#C48612\"\n >\n ZIP\n </text>\n </g>\n </svg>\n }\n }\n</span>\n", styles: [":host{--ngs-file-type-size: calc(var(--spacing, .25rem) * 10);display:inline-flex;flex:none;line-height:0}:host:not([class*=w-]):not([class*=size-]){width:var(--ngs-file-type-size)}:host:not([class*=h-]):not([class*=size-]){height:var(--ngs-file-type-size)}:host .icon{display:contents}:host svg{display:block;width:100%;height:100%;flex:none}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
|
|
163
|
+
}], propDecorators: { mimeType: [{ type: i0.Input, args: [{ isSignal: true, alias: "mimeType", required: false }] }], extension: [{ type: i0.Input, args: [{ isSignal: true, alias: "extension", required: false }] }], fileName: [{ type: i0.Input, args: [{ isSignal: true, alias: "fileName", required: false }] }], fallback: [{ type: i0.Input, args: [{ isSignal: true, alias: "fallback", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], decorative: [{ type: i0.Input, args: [{ isSignal: true, alias: "decorative", required: false }] }] } });
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Generated bundle index. Do not edit.
|
|
167
|
+
*/
|
|
168
|
+
|
|
169
|
+
export { FileType };
|
|
170
|
+
//# sourceMappingURL=ngstarter-ui-components-file-type.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngstarter-ui-components-file-type.mjs","sources":["../../../projects/components/file-type/src/file-type/file-type.ts","../../../projects/components/file-type/src/file-type/file-type.html","../../../projects/components/file-type/ngstarter-ui-components-file-type.ts"],"sourcesContent":["import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n} from '@angular/core';\nimport { FileTypeName } from '../types';\n\nconst EXTENSION_TO_TYPE: Record<string, FileTypeName> = {\n avi: 'avi',\n csv: 'csv',\n doc: 'doc',\n docx: 'doc',\n html: 'html',\n htm: 'html',\n jpeg: 'jpg',\n jpg: 'jpg',\n json: 'json',\n jsonld: 'json',\n mkv: 'mkv',\n mov: 'mov',\n mp3: 'mp3',\n m4a: 'mp3',\n mp4: 'mp4',\n pdf: 'pdf',\n png: 'png',\n pot: 'ppt',\n potx: 'ppt',\n pps: 'ppt',\n ppsx: 'ppt',\n ppt: 'ppt',\n pptx: 'ppt',\n svg: 'svg',\n text: 'txt',\n txt: 'txt',\n wav: 'wav',\n webm: 'webm',\n xls: 'xls',\n xlsx: 'xls',\n xml: 'xml',\n zip: 'zip',\n};\n\nconst MIME_TYPE_TO_TYPE: Record<string, FileTypeName> = {\n 'application/csv': 'csv',\n 'application/json': 'json',\n 'application/ld+json': 'json',\n 'application/msword': 'doc',\n 'application/pdf': 'pdf',\n 'application/rtf': 'doc',\n 'application/vnd.ms-excel': 'xls',\n 'application/vnd.ms-powerpoint': 'ppt',\n 'application/vnd.openxmlformats-officedocument.presentationml.presentation': 'ppt',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': 'xls',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document': 'doc',\n 'application/x-zip-compressed': 'zip',\n 'application/xml': 'xml',\n 'application/zip': 'zip',\n 'audio/mp3': 'mp3',\n 'audio/mpeg': 'mp3',\n 'audio/wav': 'wav',\n 'audio/wave': 'wav',\n 'audio/x-wav': 'wav',\n 'image/jpeg': 'jpg',\n 'image/jpg': 'jpg',\n 'image/png': 'png',\n 'image/svg+xml': 'svg',\n 'multipart/x-zip': 'zip',\n 'text/comma-separated-values': 'csv',\n 'text/csv': 'csv',\n 'text/html': 'html',\n 'text/json': 'json',\n 'text/plain': 'txt',\n 'text/xml': 'xml',\n 'video/mp4': 'mp4',\n 'video/quicktime': 'mov',\n 'video/webm': 'webm',\n 'video/x-matroska': 'mkv',\n 'video/x-msvideo': 'avi',\n};\n\nlet nextIconId = 0;\n\n@Component({\n selector: 'ngs-file-type',\n exportAs: 'ngsFileType',\n templateUrl: './file-type.html',\n styleUrl: './file-type.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'ngs-file-type not-prose',\n '[attr.role]': 'decorative() ? null : \"img\"',\n '[attr.aria-label]': 'decorative() ? null : resolvedLabel()',\n '[attr.aria-hidden]': 'decorative() ? \"true\" : null',\n '[attr.data-file-type]': 'type()',\n },\n})\nexport class FileType {\n private readonly iconId = `ngs-file-type-${nextIconId++}`;\n\n mimeType = input<string | null | undefined>();\n extension = input<string | null | undefined>();\n fileName = input<string | null | undefined>();\n fallback = input<FileTypeName>('txt');\n label = input<string | null | undefined>();\n decorative = input(false, { transform: booleanAttribute });\n\n readonly type = computed<FileTypeName>(() => this.resolveType());\n\n protected readonly resolvedLabel = computed(() => {\n const label = this.label();\n\n if (label) {\n return label;\n }\n\n return `${this.type().toUpperCase()} file`;\n });\n\n private resolveType(): FileTypeName {\n const extensionType =\n this.resolveExtension(this.extension()) ?? this.resolveExtension(this.fileName());\n\n if (extensionType) {\n return extensionType;\n }\n\n const mimeType = this.normalizeMimeType(this.mimeType());\n\n if (mimeType) {\n return MIME_TYPE_TO_TYPE[mimeType] ?? this.resolveMimeFamily(mimeType) ?? this.fallback();\n }\n\n return this.fallback();\n }\n\n private resolveExtension(value: string | null | undefined): FileTypeName | null {\n const extension = this.normalizeExtension(value);\n\n if (!extension) {\n return null;\n }\n\n return EXTENSION_TO_TYPE[extension] ?? null;\n }\n\n private normalizeExtension(value: string | null | undefined): string | null {\n if (!value) {\n return null;\n }\n\n const normalized = value.trim().toLowerCase();\n\n if (!normalized) {\n return null;\n }\n\n const fileExtension = normalized.includes('.')\n ? normalized.split('.').pop()\n : normalized.replace(/^\\./, '');\n\n return fileExtension || null;\n }\n\n private normalizeMimeType(value: string | null | undefined): string | null {\n if (!value) {\n return null;\n }\n\n const mimeType = value.split(';')[0].trim().toLowerCase();\n\n return mimeType || null;\n }\n\n private resolveMimeFamily(mimeType: string): FileTypeName | null {\n if (mimeType.startsWith('image/')) {\n return 'png';\n }\n\n if (mimeType.startsWith('video/')) {\n return 'mp4';\n }\n\n if (mimeType.startsWith('audio/')) {\n return 'mp3';\n }\n\n if (mimeType.startsWith('text/')) {\n return 'txt';\n }\n\n return null;\n }\n\n protected gradientId(type: FileTypeName): string {\n return `${this.iconId}-${type}-pageGradient`;\n }\n\n protected gradientUrl(type: FileTypeName): string {\n return `url(#${this.gradientId(type)})`;\n }\n}\n","<span class=\"icon\">\n @switch (type()) {\n @case ('avi') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('avi')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#8D7CFF\" />\n <stop offset=\"1\" stop-color=\"#4531C9\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('avi')\" />\n <g transform=\"translate(0 -4)\">\n <rect\n x=\"39\"\n y=\"35\"\n width=\"50\"\n height=\"30\"\n rx=\"6\"\n stroke=\"white\"\n stroke-opacity=\"0.36\"\n stroke-width=\"5\"\n />\n <path d=\"M58 43V57L72 50L58 43Z\" fill=\"white\" fill-opacity=\"0.44\" />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#4531C9\"\n >\n AVI\n </text>\n </g>\n </svg>\n }\n @case ('csv') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('csv')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#42D9D2\" />\n <stop offset=\"1\" stop-color=\"#0B8A97\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('csv')\" />\n <g transform=\"translate(0 -2)\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M42 33C38.686 33 36 35.686 36 39V61C36 64.314 38.686 67 42 67H86C89.314 67 92 64.314 92 61V39C92 35.686 89.314 33 86 33H42ZM43 37C41.343 37 40 38.343 40 40V49H54V37H43ZM57 37H71V49H57V37ZM74 37V49H88V40C88 38.343 86.657 37 85 37H74ZM40 52V61C40 62.657 41.343 64 43 64H54V52H40ZM57 52H71V64H57V52ZM74 52V64H85C86.657 64 88 62.657 88 61V52H74Z\"\n fill=\"white\"\n fill-opacity=\"0.5\"\n />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#0B8A97\"\n >\n CSV\n </text>\n </g>\n </svg>\n }\n @case ('doc') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('doc')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#5EA8FF\" />\n <stop offset=\"1\" stop-color=\"#1D5FD6\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('doc')\" />\n <g transform=\"translate(0 2)\">\n <path\n d=\"M42 32H82M42 44H86M42 56H76\"\n stroke=\"white\"\n stroke-opacity=\"0.34\"\n stroke-width=\"6\"\n stroke-linecap=\"round\"\n />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#1D5FD6\"\n >\n DOC\n </text>\n </g>\n </svg>\n }\n @case ('html') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('html')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#FF7A5F\" />\n <stop offset=\"1\" stop-color=\"#D23B21\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('html')\" />\n <g transform=\"translate(0 -2)\">\n <path\n d=\"M53 36L41 48L53 60M75 36L87 48L75 60M68 34L60 62\"\n stroke=\"white\"\n stroke-opacity=\"0.36\"\n stroke-width=\"5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"16\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#D23B21\"\n >\n HTML\n </text>\n </g>\n </svg>\n }\n @case ('jpg') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('jpg')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#FF78B6\" />\n <stop offset=\"1\" stop-color=\"#C92678\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('jpg')\" />\n <g transform=\"translate(0 -4)\">\n <rect x=\"37\" y=\"34\" width=\"54\" height=\"36\" rx=\"7\" fill=\"white\" fill-opacity=\"0.18\" />\n <path\n d=\"M39 62L51 50L61 59L70 49L89 66\"\n stroke=\"white\"\n stroke-opacity=\"0.62\"\n stroke-width=\"5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <circle cx=\"75\" cy=\"44\" r=\"5\" fill=\"white\" fill-opacity=\"0.62\" />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#C92678\"\n >\n JPG\n </text>\n </g>\n </svg>\n }\n @case ('json') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('json')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#667085\" />\n <stop offset=\"1\" stop-color=\"#202939\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('json')\" />\n <g transform=\"translate(0 -4)\">\n <path\n d=\"M51 33C45 33 43 37 43 41V45C43 48 41 50 38 50C41 50 43 52 43 55V59C43 63 45 67 51 67\"\n stroke=\"white\"\n stroke-opacity=\"0.42\"\n stroke-width=\"5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M77 33C83 33 85 37 85 41V45C85 48 87 50 90 50C87 50 85 52 85 55V59C85 63 83 67 77 67\"\n stroke=\"white\"\n stroke-opacity=\"0.42\"\n stroke-width=\"5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M57 43H70M57 57H73\"\n stroke=\"white\"\n stroke-opacity=\"0.44\"\n stroke-width=\"5\"\n stroke-linecap=\"round\"\n />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"16\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#202939\"\n >\n JSON\n </text>\n </g>\n </svg>\n }\n @case ('mkv') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('mkv')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#AA74FF\" />\n <stop offset=\"1\" stop-color=\"#5C26B8\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('mkv')\" />\n <g transform=\"translate(0 -4)\">\n <rect\n x=\"39\"\n y=\"35\"\n width=\"50\"\n height=\"30\"\n rx=\"6\"\n stroke=\"white\"\n stroke-opacity=\"0.36\"\n stroke-width=\"5\"\n />\n <path d=\"M58 43V57L72 50L58 43Z\" fill=\"white\" fill-opacity=\"0.44\" />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#5C26B8\"\n >\n MKV\n </text>\n </g>\n </svg>\n }\n @case ('mov') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('mov')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#45D0FF\" />\n <stop offset=\"1\" stop-color=\"#1268C7\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('mov')\" />\n <g transform=\"translate(0 -4)\">\n <rect\n x=\"39\"\n y=\"35\"\n width=\"50\"\n height=\"30\"\n rx=\"6\"\n stroke=\"white\"\n stroke-opacity=\"0.36\"\n stroke-width=\"5\"\n />\n <path d=\"M58 43V57L72 50L58 43Z\" fill=\"white\" fill-opacity=\"0.44\" />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#1268C7\"\n >\n MOV\n </text>\n </g>\n </svg>\n }\n @case ('mp3') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('mp3')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#D36BFF\" />\n <stop offset=\"1\" stop-color=\"#8A2BC6\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('mp3')\" />\n <g transform=\"translate(0 0)\">\n <path\n d=\"M52 56V35L82 30V49M52 56C52 59.5 49.2 62 45.5 62C41.8 62 39 59.5 39 56C39 52.5 41.8 50 45.5 50C49.2 50 52 52.5 52 56ZM82 49C82 52.5 79.2 55 75.5 55C71.8 55 69 52.5 69 49C69 45.5 71.8 43 75.5 43C79.2 43 82 45.5 82 49Z\"\n stroke=\"white\"\n stroke-opacity=\"0.36\"\n stroke-width=\"5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#8A2BC6\"\n >\n MP3\n </text>\n </g>\n </svg>\n }\n @case ('mp4') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('mp4')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#5E9BFF\" />\n <stop offset=\"1\" stop-color=\"#2745C8\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('mp4')\" />\n <g transform=\"translate(0 -4)\">\n <rect\n x=\"39\"\n y=\"35\"\n width=\"50\"\n height=\"30\"\n rx=\"6\"\n stroke=\"white\"\n stroke-opacity=\"0.36\"\n stroke-width=\"5\"\n />\n <path d=\"M58 43V57L72 50L58 43Z\" fill=\"white\" fill-opacity=\"0.44\" />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#2745C8\"\n >\n MP4\n </text>\n </g>\n </svg>\n }\n @case ('pdf') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('pdf')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#FF6A5F\" />\n <stop offset=\"1\" stop-color=\"#D82432\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('pdf')\" />\n <g transform=\"translate(0 2)\">\n <path\n d=\"M42 32H82M42 44H86M42 56H76\"\n stroke=\"white\"\n stroke-opacity=\"0.34\"\n stroke-width=\"6\"\n stroke-linecap=\"round\"\n />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#D82432\"\n >\n PDF\n </text>\n </g>\n </svg>\n }\n @case ('png') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('png')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#4EC8FF\" />\n <stop offset=\"1\" stop-color=\"#147AAE\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('png')\" />\n <g transform=\"translate(0 -4)\">\n <rect x=\"37\" y=\"34\" width=\"54\" height=\"36\" rx=\"7\" fill=\"white\" fill-opacity=\"0.18\" />\n <path\n d=\"M39 62L51 50L61 59L70 49L89 66\"\n stroke=\"white\"\n stroke-opacity=\"0.62\"\n stroke-width=\"5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <circle cx=\"75\" cy=\"44\" r=\"5\" fill=\"white\" fill-opacity=\"0.62\" />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#147AAE\"\n >\n PNG\n </text>\n </g>\n </svg>\n }\n @case ('ppt') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('ppt')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#FF9B4A\" />\n <stop offset=\"1\" stop-color=\"#D84A1B\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('ppt')\" />\n <g transform=\"translate(0 0)\">\n <rect\n x=\"40\"\n y=\"31\"\n width=\"48\"\n height=\"30\"\n rx=\"5\"\n stroke=\"white\"\n stroke-opacity=\"0.34\"\n stroke-width=\"5\"\n />\n <path\n d=\"M51 51H75M51 43H63\"\n stroke=\"white\"\n stroke-opacity=\"0.34\"\n stroke-width=\"4\"\n stroke-linecap=\"round\"\n />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#D84A1B\"\n >\n PPT\n </text>\n </g>\n </svg>\n }\n @case ('svg') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('svg')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#B389FF\" />\n <stop offset=\"1\" stop-color=\"#6F35D5\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('svg')\" />\n <g transform=\"translate(0 -4)\">\n <rect x=\"37\" y=\"34\" width=\"54\" height=\"36\" rx=\"7\" fill=\"white\" fill-opacity=\"0.18\" />\n <path\n d=\"M39 62L51 50L61 59L70 49L89 66\"\n stroke=\"white\"\n stroke-opacity=\"0.62\"\n stroke-width=\"5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <circle cx=\"75\" cy=\"44\" r=\"5\" fill=\"white\" fill-opacity=\"0.62\" />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#6F35D5\"\n >\n SVG\n </text>\n </g>\n </svg>\n }\n @case ('txt') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('txt')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#95A3B8\" />\n <stop offset=\"1\" stop-color=\"#526071\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('txt')\" />\n <g transform=\"translate(0 2)\">\n <path\n d=\"M42 32H82M42 44H86M42 56H76\"\n stroke=\"white\"\n stroke-opacity=\"0.34\"\n stroke-width=\"6\"\n stroke-linecap=\"round\"\n />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#526071\"\n >\n TXT\n </text>\n </g>\n </svg>\n }\n @case ('wav') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('wav')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#FF6EDB\" />\n <stop offset=\"1\" stop-color=\"#B8299F\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('wav')\" />\n <g transform=\"translate(0 -3)\">\n <path\n d=\"M39 49H45L50 37L57 61L64 39L70 55H89\"\n stroke=\"white\"\n stroke-opacity=\"0.38\"\n stroke-width=\"5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#B8299F\"\n >\n WAV\n </text>\n </g>\n </svg>\n }\n @case ('webm') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('webm')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#53B5FF\" />\n <stop offset=\"1\" stop-color=\"#5034D5\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('webm')\" />\n <g transform=\"translate(0 -4)\">\n <rect\n x=\"39\"\n y=\"35\"\n width=\"50\"\n height=\"30\"\n rx=\"6\"\n stroke=\"white\"\n stroke-opacity=\"0.36\"\n stroke-width=\"5\"\n />\n <path d=\"M58 43V57L72 50L58 43Z\" fill=\"white\" fill-opacity=\"0.44\" />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"16\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#5034D5\"\n >\n WEBM\n </text>\n </g>\n </svg>\n }\n @case ('xls') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('xls')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#4AD991\" />\n <stop offset=\"1\" stop-color=\"#168F58\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('xls')\" />\n <g transform=\"translate(0 -2)\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M42 33C38.686 33 36 35.686 36 39V61C36 64.314 38.686 67 42 67H86C89.314 67 92 64.314 92 61V39C92 35.686 89.314 33 86 33H42ZM43 37C41.343 37 40 38.343 40 40V49H54V37H43ZM57 37H71V49H57V37ZM74 37V49H88V40C88 38.343 86.657 37 85 37H74ZM40 52V61C40 62.657 41.343 64 43 64H54V52H40ZM57 52H71V64H57V52ZM74 52V64H85C86.657 64 88 62.657 88 61V52H74Z\"\n fill=\"white\"\n fill-opacity=\"0.5\"\n />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#168F58\"\n >\n XLS\n </text>\n </g>\n </svg>\n }\n @case ('xml') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('xml')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#7188FF\" />\n <stop offset=\"1\" stop-color=\"#3346B8\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('xml')\" />\n <g transform=\"translate(0 -2)\">\n <path\n d=\"M53 36L41 48L53 60M75 36L87 48L75 60M68 34L60 62\"\n stroke=\"white\"\n stroke-opacity=\"0.36\"\n stroke-width=\"5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#3346B8\"\n >\n XML\n </text>\n </g>\n </svg>\n }\n @case ('zip') {\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"128\"\n height=\"128\"\n viewBox=\"0 0 128 128\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs>\n <linearGradient\n [attr.id]=\"gradientId('zip')\"\n x1=\"22\"\n y1=\"10\"\n x2=\"106\"\n y2=\"118\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color=\"#FFD15C\" />\n <stop offset=\"1\" stop-color=\"#C48612\" />\n </linearGradient>\n </defs>\n <rect x=\"19\" y=\"10\" width=\"90\" height=\"108\" rx=\"12\" [attr.fill]=\"gradientUrl('zip')\" />\n <g transform=\"translate(0 -4)\">\n <path\n d=\"M61 34Q61 32 63 32H65Q67 32 67 34V66Q67 68 65 68H63Q61 68 61 66V34ZM53 34Q51 34 51 36V37Q51 39 53 39H61V34H53ZM67 39V44H75Q77 44 77 42V41Q77 39 75 39H67ZM53 44Q51 44 51 46V47Q51 49 53 49H61V44H53ZM67 49V54H75Q77 54 77 52V51Q77 49 75 49H67ZM53 54Q51 54 51 56V57Q51 59 53 59H61V54H53ZM67 59V64H75Q77 64 77 62V61Q77 59 75 59H67Z\"\n fill=\"white\"\n fill-opacity=\"0.66\"\n />\n </g>\n <g class=\"file-type-label\">\n <rect x=\"27\" y=\"82\" width=\"74\" height=\"28\" rx=\"7\" fill=\"white\" fill-opacity=\"0.96\" />\n <text\n x=\"64\"\n y=\"95\"\n dy=\"0.08em\"\n text-anchor=\"middle\"\n dominant-baseline=\"central\"\n font-family=\"Inter, Arial, sans-serif\"\n font-size=\"19\"\n font-weight=\"700\"\n letter-spacing=\"1\"\n fill=\"#C48612\"\n >\n ZIP\n </text>\n </g>\n </svg>\n }\n }\n</span>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ngstarter-ui/components",
|
|
3
3
|
"description": "NgStarter - AI-friendly Enterprise Angular UI Components and Admin Panel",
|
|
4
|
-
"version": "21.0.
|
|
4
|
+
"version": "21.0.30",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/elementarlabsdev/ngstarter.git"
|
|
@@ -42,13 +42,49 @@
|
|
|
42
42
|
"@angular/ssr": "^21.1.4"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
+
"@codemirror/lang-angular": "^0.1.4",
|
|
46
|
+
"@codemirror/lang-css": "^6.3.1",
|
|
47
|
+
"@codemirror/lang-html": "^6.4.11",
|
|
48
|
+
"@codemirror/lang-javascript": "^6.2.5",
|
|
49
|
+
"@codemirror/lang-json": "^6.0.2",
|
|
50
|
+
"@codemirror/lang-sass": "^6.0.2",
|
|
51
|
+
"@ctrl/tinycolor": "^4.1.0",
|
|
52
|
+
"@dicebear/collection": "^9.2.2",
|
|
53
|
+
"@dicebear/core": "^9.4.2",
|
|
54
|
+
"@ngrx/signals": "^21.0.1",
|
|
45
55
|
"@tailwindcss/postcss": "^4.2.2",
|
|
46
56
|
"@tailwindcss/typography": "^0.5.19",
|
|
57
|
+
"@tiptap/core": "2.10.2",
|
|
58
|
+
"@tiptap/extension-bubble-menu": "2.10.2",
|
|
59
|
+
"@tiptap/extension-code-block": "2.10.2",
|
|
60
|
+
"@tiptap/extension-dropcursor": "2.10.2",
|
|
61
|
+
"@tiptap/extension-floating-menu": "2.10.2",
|
|
62
|
+
"@tiptap/extension-history": "2.10.2",
|
|
63
|
+
"@tiptap/extension-horizontal-rule": "2.10.3",
|
|
64
|
+
"@tiptap/extension-image": "2.10.2",
|
|
65
|
+
"@tiptap/extension-link": "2.10.4",
|
|
66
|
+
"@tiptap/extension-list-item": "2.10.2",
|
|
67
|
+
"@tiptap/extension-ordered-list": "2.10.2",
|
|
68
|
+
"@tiptap/extension-placeholder": "2.10.2",
|
|
69
|
+
"@tiptap/extension-youtube": "2.10.2",
|
|
70
|
+
"@tiptap/pm": "2.10.2",
|
|
71
|
+
"@uiw/codemirror-theme-github": "^4.25.9",
|
|
72
|
+
"@viselect/vanilla": "^3.9.0",
|
|
47
73
|
"autoprefixer": "^10.4.17",
|
|
74
|
+
"codemirror": "^6.0.2",
|
|
75
|
+
"d3": "^7.9.0",
|
|
76
|
+
"emojibase-data": "^17.0.0",
|
|
77
|
+
"iconify-icon": "^3.0.2",
|
|
78
|
+
"jsdom": "^26.1.0",
|
|
79
|
+
"konva": "^10.2.3",
|
|
80
|
+
"libphonenumber-js": "^1.11.15",
|
|
48
81
|
"postcss": "^8.5.2",
|
|
82
|
+
"rxjs": "~7.8.0",
|
|
83
|
+
"shiki": "^3.12.0",
|
|
49
84
|
"tailwindcss": "^4.2.2",
|
|
50
85
|
"tslib": "^2.3.0",
|
|
51
|
-
"
|
|
86
|
+
"uuid": "^11.0.3",
|
|
87
|
+
"video.js": "^8.23.7"
|
|
52
88
|
},
|
|
53
89
|
"sideEffects": false,
|
|
54
90
|
"publishConfig": {
|
|
@@ -238,6 +274,10 @@
|
|
|
238
274
|
"types": "./types/ngstarter-ui-components-expansion.d.ts",
|
|
239
275
|
"default": "./fesm2022/ngstarter-ui-components-expansion.mjs"
|
|
240
276
|
},
|
|
277
|
+
"./file-type": {
|
|
278
|
+
"types": "./types/ngstarter-ui-components-file-type.d.ts",
|
|
279
|
+
"default": "./fesm2022/ngstarter-ui-components-file-type.mjs"
|
|
280
|
+
},
|
|
241
281
|
"./filter-builder": {
|
|
242
282
|
"types": "./types/ngstarter-ui-components-filter-builder.d.ts",
|
|
243
283
|
"default": "./fesm2022/ngstarter-ui-components-filter-builder.mjs"
|
|
@@ -5,6 +5,11 @@
|
|
|
5
5
|
"description": "Install @ngstarter-ui/components and configure Tailwind CSS.",
|
|
6
6
|
"factory": "./ng-add/index#ngAdd",
|
|
7
7
|
"schema": "./ng-add/schema.json"
|
|
8
|
+
},
|
|
9
|
+
"sync-dependencies": {
|
|
10
|
+
"description": "Synchronize @ngstarter-ui/components runtime dependencies and install packages.",
|
|
11
|
+
"factory": "./sync-dependencies/index#syncDependencies",
|
|
12
|
+
"schema": "./sync-dependencies/schema.json"
|
|
8
13
|
}
|
|
9
14
|
}
|
|
10
15
|
}
|
|
@@ -7,7 +7,8 @@ function ngAdd(options = {}) {
|
|
|
7
7
|
(0, utils_1.setupNgStarterComponents)(tree, context, {
|
|
8
8
|
project: options.project,
|
|
9
9
|
skipInstall: options.skipInstall === true,
|
|
10
|
-
updateExistingDependencies:
|
|
10
|
+
updateExistingDependencies: true,
|
|
11
|
+
updateExistingPeerDependencies: false,
|
|
11
12
|
});
|
|
12
13
|
};
|
|
13
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../projects/components/schematics/ng-add/index.ts"],"names":[],"mappings":";;AAQA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../projects/components/schematics/ng-add/index.ts"],"names":[],"mappings":";;AAQA,sBASC;AAhBD,oCAAoD;AAOpD,SAAgB,KAAK,CAAC,UAAuB,EAAE;IAC7C,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAC/C,IAAA,gCAAwB,EAAC,IAAI,EAAE,OAAO,EAAE;YACtC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,WAAW,EAAE,OAAO,CAAC,WAAW,KAAK,IAAI;YACzC,0BAA0B,EAAE,IAAI;YAChC,8BAA8B,EAAE,KAAK;SACtC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../projects/components/schematics/ng-update/index.ts"],"names":[],"mappings":";;AAQA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../projects/components/schematics/ng-update/index.ts"],"names":[],"mappings":";;AAQA,4BASC;AAhBD,oCAAoD;AAOpD,SAAgB,QAAQ,CAAC,UAA0B,EAAE;IACnD,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAC/C,IAAA,gCAAwB,EAAC,IAAI,EAAE,OAAO,EAAE;YACtC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,WAAW,EAAE,OAAO,CAAC,WAAW,KAAK,IAAI;YACzC,0BAA0B,EAAE,IAAI;YAChC,8BAA8B,EAAE,IAAI;SACrC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.syncDependencies = syncDependencies;
|
|
4
|
+
const utils_1 = require("../utils");
|
|
5
|
+
function syncDependencies(options = {}) {
|
|
6
|
+
return (tree, context) => {
|
|
7
|
+
(0, utils_1.syncNgStarterComponentDependencies)(tree, context, {
|
|
8
|
+
skipInstall: options.skipInstall === true,
|
|
9
|
+
updateExistingDependencies: true,
|
|
10
|
+
updateExistingPeerDependencies: false,
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../projects/components/schematics/sync-dependencies/index.ts"],"names":[],"mappings":";;AAOA,4CAQC;AAdD,oCAA8D;AAM9D,SAAgB,gBAAgB,CAAC,UAAkC,EAAE;IACnE,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAC/C,IAAA,0CAAkC,EAAC,IAAI,EAAE,OAAO,EAAE;YAChD,WAAW,EAAE,OAAO,CAAC,WAAW,KAAK,IAAI;YACzC,0BAA0B,EAAE,IAAI;YAChC,8BAA8B,EAAE,KAAK;SACtC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/schema",
|
|
3
|
+
"$id": "NgStarterComponentsSyncDependencies",
|
|
4
|
+
"title": "NgStarter Components Dependency Sync Options",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"skipInstall": {
|
|
8
|
+
"type": "boolean",
|
|
9
|
+
"description": "Skip running the package manager install task.",
|
|
10
|
+
"default": false
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
package/schematics/utils.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ interface SetupOptions {
|
|
|
3
3
|
project?: string;
|
|
4
4
|
skipInstall: boolean;
|
|
5
5
|
updateExistingDependencies: boolean;
|
|
6
|
+
updateExistingPeerDependencies: boolean;
|
|
6
7
|
}
|
|
7
8
|
export declare function setupNgStarterComponents(tree: Tree, context: SchematicContext, options: SetupOptions): void;
|
|
9
|
+
export declare function syncNgStarterComponentDependencies(tree: Tree, context: SchematicContext, options: Omit<SetupOptions, 'project'>): void;
|
|
8
10
|
export {};
|
package/schematics/utils.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.setupNgStarterComponents = setupNgStarterComponents;
|
|
4
|
+
exports.syncNgStarterComponentDependencies = syncNgStarterComponentDependencies;
|
|
4
5
|
const schematics_1 = require("@angular-devkit/schematics");
|
|
5
6
|
const tasks_1 = require("@angular-devkit/schematics/tasks");
|
|
6
7
|
const packageJson = require('../package.json');
|
|
@@ -41,27 +42,28 @@ const NGS_THEME_PROVIDER = `provideNgsTheme({
|
|
|
41
42
|
radius: 'medium',
|
|
42
43
|
}),`;
|
|
43
44
|
function setupNgStarterComponents(tree, context, options) {
|
|
44
|
-
|
|
45
|
-
updatePackageJson(tree, options.updateExistingDependencies);
|
|
45
|
+
syncNgStarterComponentDependencies(tree, context, options);
|
|
46
46
|
setupTailwindFiles(tree, context, options.project);
|
|
47
|
+
}
|
|
48
|
+
function syncNgStarterComponentDependencies(tree, context, options) {
|
|
49
|
+
validateAngularVersion(tree);
|
|
50
|
+
updatePackageJson(tree, options.updateExistingDependencies, options.updateExistingPeerDependencies);
|
|
47
51
|
if (!options.skipInstall) {
|
|
48
52
|
context.addTask(new tasks_1.NodePackageInstallTask());
|
|
49
53
|
context.logger.info('Installing @ngstarter-ui/components dependencies...');
|
|
50
54
|
}
|
|
51
55
|
}
|
|
52
|
-
function updatePackageJson(tree, updateExistingDependencies) {
|
|
53
|
-
var _a;
|
|
56
|
+
function updatePackageJson(tree, updateExistingDependencies, updateExistingPeerDependencies) {
|
|
57
|
+
var _a, _b, _c, _d;
|
|
54
58
|
const projectPackageJson = readJson(tree, PACKAGE_JSON_PATH);
|
|
55
|
-
const
|
|
56
|
-
const
|
|
57
|
-
const devDependencies = Object.assign(Object.assign({}, filterDependencies(dependencies, true)), ((
|
|
59
|
+
const runtimeDependencies = filterDependencies((_a = packageJson.dependencies) !== null && _a !== void 0 ? _a : {}, false);
|
|
60
|
+
const peerDependencies = filterDependencies((_b = packageJson.peerDependencies) !== null && _b !== void 0 ? _b : {}, false);
|
|
61
|
+
const devDependencies = Object.assign(Object.assign({}, filterDependencies((_c = packageJson.dependencies) !== null && _c !== void 0 ? _c : {}, true)), ((_d = packageJson.devDependencies) !== null && _d !== void 0 ? _d : {}));
|
|
62
|
+
addDependencies(projectPackageJson, peerDependencies, 'dependencies', updateExistingPeerDependencies);
|
|
58
63
|
addDependencies(projectPackageJson, runtimeDependencies, 'dependencies', updateExistingDependencies);
|
|
59
64
|
addDependencies(projectPackageJson, devDependencies, 'devDependencies', updateExistingDependencies);
|
|
60
65
|
writeJson(tree, PACKAGE_JSON_PATH, projectPackageJson);
|
|
61
66
|
}
|
|
62
|
-
function collectPackageDependencies(dependencies, peerDependencies) {
|
|
63
|
-
return Object.assign(Object.assign({}, (peerDependencies !== null && peerDependencies !== void 0 ? peerDependencies : {})), (dependencies !== null && dependencies !== void 0 ? dependencies : {}));
|
|
64
|
-
}
|
|
65
67
|
function filterDependencies(dependencies, includeDevDependencies) {
|
|
66
68
|
return Object.keys(dependencies).reduce((result, name) => {
|
|
67
69
|
if (DEV_DEPENDENCY_NAMES.has(name) === includeDevDependencies) {
|
package/schematics/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../projects/components/schematics/utils.ts"],"names":[],"mappings":";;AAyEA,4DAaC;AAtFD,2DAAyF;AACzF,4DAA0E;AA+B1E,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAgB,CAAC;AAE9D,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAC1C,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAC1C,MAAM,mBAAmB,GAAG,kBAAkB,CAAC;AAC/C,MAAM,eAAe,GAAG;IACtB,aAAa;IACb,kBAAkB;IAClB,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;IAChB,iBAAiB;IACjB,oBAAoB;IACpB,qBAAqB;IACrB,qBAAqB;CACtB,CAAC;AACF,MAAM,mBAAmB,GAAwB;IAC/C,cAAc;IACd,iBAAiB;IACjB,kBAAkB;IAClB,sBAAsB;CACvB,CAAC;AACF,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IACnC,sBAAsB;IACtB,yBAAyB;IACzB,cAAc;IACd,SAAS;IACT,aAAa;CACd,CAAC,CAAC;AACH,MAAM,iBAAiB,GACrB,wFAAwF,CAAC;AAC3F,MAAM,yBAAyB,GAC7B,qGAAqG,CAAC;AACxG,MAAM,iBAAiB,GAAG,eAAe,iBAAiB,sBAAsB,CAAC;AACjF,MAAM,gBAAgB,GAAG,wDAAwD,CAAC;AAClF,MAAM,kBAAkB,GAAG;;;;IAIvB,CAAC;AAEL,SAAgB,wBAAwB,CACtC,IAAU,EACV,OAAyB,EACzB,OAAqB;IAErB,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC7B,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAC5D,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAEnD,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACzB,OAAO,CAAC,OAAO,CAAC,IAAI,8BAAsB,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAU,EAAE,0BAAmC;;IACxE,MAAM,kBAAkB,GAAG,QAAQ,CAAa,IAAI,EAAE,iBAAiB,CAAC,CAAC;IACzE,MAAM,YAAY,GAAG,0BAA0B,CAAC,WAAW,CAAC,YAAY,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC;IACxG,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IACpE,MAAM,eAAe,mCAChB,kBAAkB,CAAC,YAAY,EAAE,IAAI,CAAC,GACtC,CAAC,MAAA,WAAW,CAAC,eAAe,mCAAI,EAAE,CAAC,CACvC,CAAC;IAEF,eAAe,CAAC,kBAAkB,EAAE,mBAAmB,EAAE,cAAc,EAAE,0BAA0B,CAAC,CAAC;IACrG,eAAe,CAAC,kBAAkB,EAAE,eAAe,EAAE,iBAAiB,EAAE,0BAA0B,CAAC,CAAC;IAEpG,SAAS,CAAC,IAAI,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,0BAA0B,CACjC,YAAgD,EAChD,gBAAoD;IAEpD,uCACK,CAAC,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,EAAE,CAAC,GACxB,CAAC,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE,CAAC,EACvB;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,YAAoC,EACpC,sBAA+B;IAE/B,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAyB,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QAC/E,IAAI,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,sBAAsB,EAAE,CAAC;YAC9D,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAED,SAAS,eAAe,CACtB,kBAA8B,EAC9B,YAAoC,EACpC,eAAkC,EAClC,0BAAmC;IAEnC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAC9C,IAAI,IAAI,KAAK,WAAW,CAAC,IAAI,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,eAAe,GAAG,qBAAqB,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;QAExE,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,0BAA0B,EAAE,CAAC;gBAC/B,kBAAkB,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;gBACpD,qBAAqB,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;YAC7D,CAAC;YAED,OAAO;QACT,CAAC;QAED,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,EAAE,CAAC;YACzC,kBAAkB,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;QAC3C,CAAC;QAED,kBAAkB,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;QACpD,qBAAqB,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,kBAA8B,EAAE,IAAY;IACzE,OAAO,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAC,OAAA,CAAA,MAAA,kBAAkB,CAAC,OAAO,CAAC,0CAAG,IAAI,CAAC,MAAK,SAAS,CAAA,EAAA,CAAC,CAAC;AAChG,CAAC;AAED,SAAS,qBAAqB,CAAC,kBAA8B,EAAE,OAA0B;IACvF,MAAM,YAAY,GAAG,kBAAkB,CAAC,OAAO,CAAuC,CAAC;IAEvF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO;IACT,CAAC;IAED,kBAAkB,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;SACpD,IAAI,EAAE;SACN,MAAM,CAAyB,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QAC/C,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAClC,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAU,EAAE,OAAyB,EAAE,WAAoB;;IACrF,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAEnC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;QACpF,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,QAAQ,CAAY,IAAI,EAAE,iBAAiB,CAAC,CAAC;IAC/D,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,MAAA,SAAS,CAAC,QAAQ,0CAAG,mBAAmB,CAAC,CAAC;IAE1D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,gCAAmB,CAAC,YAAY,mBAAmB,kCAAkC,CAAC,CAAC;IACnG,CAAC;IAED,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,sBAAsB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC9D,MAAM,aAAa,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAEpD,qBAAqB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACvC,0BAA0B,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IACrD,4BAA4B,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IAC3D,uBAAuB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IACjD,SAAS,CAAC,IAAI,EAAE,iBAAiB,EAAE,SAAuB,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAU;;IACxC,MAAM,kBAAkB,GAAG,QAAQ,CAAa,IAAI,EAAE,iBAAiB,CAAC,CAAC;IACzE,MAAM,sBAAsB,GAAG,MAAA,WAAW,CAAC,gBAAgB,0CAAG,eAAe,CAAC,CAAC;IAE/E,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC5B,OAAO;IACT,CAAC;IAED,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;IAEzF,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3B,MAAM,IAAI,gCAAmB,CAC3B,yDAAyD,iBAAiB,IAAI,CAC/E,CAAC;IACJ,CAAC;IAED,MAAM,eAAe,GAAG,gBAAgB,CAAC,sBAAsB,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,eAAe,CAAC,qBAAqB,CAAC,CAAC;IAE5D,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/D,MAAM,IAAI,gCAAmB,CAC3B,qDAAqD,sBAAsB,YAAY,qBAAqB,GAAG,CAChH,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,gCAAmB,CAC3B,GAAG,WAAW,CAAC,IAAI,qBAAqB,sBAAsB,wCAAwC,qBAAqB,IAAI;YAC7H,gCAAgC,eAAe,CAAC,CAAC,CAAC,iBAAiB,eAAe,CAAC,CAAC,CAAC,mBAAmB,WAAW,CAAC,IAAI,GAAG,CAC9H,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,kBAA8B,EAAE,IAAY;;IACzE,MAAM,OAAO,GAAG,qBAAqB,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,MAAA,kBAAkB,CAAC,OAAO,CAAC,0CAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3D,CAAC;AAED,SAAS,gBAAgB,CAAC,YAAoB;IAC5C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAE1D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,eAAe,CAAC,YAAoB;IAC3C,OAAO,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAU,EAAE,OAAyB;IAChE,MAAM,gBAAgB,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAEzE,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;QAChG,OAAO;IACT,CAAC;IAED,SAAS,CAAC,IAAI,EAAE,mBAAmB,EAAE;QACnC,OAAO,EAAE;YACP,sBAAsB,EAAE,EAAE;SAC3B;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAoB,EAAE,WAAoB;;IACpE,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,IAAI,SAAS,CAAC,cAAc,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC,cAAc,CAAC;IAClC,CAAC;IAED,MAAM,QAAQ,GAAG,MAAA,SAAS,CAAC,QAAQ,mCAAI,EAAE,CAAC;IAC1C,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,KAAK,aAAa,CAAC,CAAC;IAE5G,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,MAAM,IAAI,gCAAmB,CAAC,2DAA2D,CAAC,CAAC;IAC7F,CAAC;IAED,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,SAAS,eAAe,CAAC,OAAyB;;IAChD,MAAM,WAAW,GAAG,MAAA,MAAA,OAAO,CAAC,SAAS,0CAAG,OAAO,CAAC,mCAAI,MAAA,OAAO,CAAC,OAAO,0CAAG,OAAO,CAAC,CAAC;IAC/E,MAAM,OAAO,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,SAAS,CAAC,CAAC;IAEzC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,gCAAmB,CAAC,mEAAmE,CAAC,CAAC;IACrG,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAyB,EAAE,YAAwB;IACjF,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QACzE,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAQ,KAAoB,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC7F,OAAQ,KAAoB,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC,EAAE,SAAS,CAAC,CAAC;IAEd,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,SAAS,GAAG,sBAAsB,CAAC,cAAc,CAAC,CAAC;QACzD,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC/B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,iBAAiB,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;IACtF,MAAM,SAAS,GAAG,sBAAsB,CAAC,iBAAiB,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;IACvF,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC/B,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAyB,EAAE,YAAwB;IAC/E,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAEpC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAQ,KAAoB,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC7F,OAAO,sBAAsB,CAAE,KAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,iBAAiB,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;IACtF,OAAO,sBAAsB,CAAC,iBAAiB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAyB;IACrD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,iBAAiB,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;IACtF,OAAO,sBAAsB,CAAC,iBAAiB,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC,CAAC;AACpF,CAAC;AAED,SAAS,mBAAmB,CAAC,SAAiB;IAC5C,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO;IACT,CAAC;IAED,MAAM,IAAI,gCAAmB,CAC3B,GAAG,WAAW,CAAC,IAAI,iEAAiE,SAAS,KAAK;QAChG,gEAAgE,CACnE,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAU,EAAE,OAAyB,EAAE,SAAiB;IAC1F,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,SAAS,+CAA+C,CAAC,CAAC;QAC7F,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAE1C,IAAI,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5C,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,WAAW,GAAG,SAAS;QAC3B,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAc,EAAE,MAAc,EAAE,EAAE;YAC9E,MAAM,mBAAmB,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACrE,OAAO,GAAG,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,KAAK,iBAAiB,KAAK,MAAM,SAAS,CAAC;QAC/F,CAAC,CAAC;QACJ,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,KAAK,iBAAiB,IAAI,CAAC;IAEnD,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,4BAA4B,CAAC,IAAU,EAAE,OAAyB,EAAE,aAAqB;IAChG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,aAAa,2DAA2D,CAAC,CAAC;QAC7G,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAE9C,IAAI,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,OAAO;IACT,CAAC;IAED,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,aAAa,6CAA6C,CAAC,CAAC;QAChH,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,mBAAmB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,aAAa,CAAC,OAAe;;IACpC,MAAM,UAAU,GAAG,6EAA6E,CAAC;IACjG,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEvC,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC;aACrB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aACxB,MAAM,CAAC,OAAO,CAAC,CAAC;QAEnB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,OAAO,CAAC,OAAO,CACpB,UAAU,EACV,YAAY,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,0CAA0C,CAChF,CAAC;IACJ,CAAC;IAED,MAAM,eAAe,GAAG,kEAAkE,CAAC;IAC3F,MAAM,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,wCAAwC,CAAC,CAAC,CAAC;IAChF,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE/C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,GAAG,eAAe,KAAK,OAAO,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM,WAAW,GAAG,CAAC,MAAA,UAAU,CAAC,KAAK,mCAAI,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACnE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;AAC7F,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe;IAC1C,OAAO,OAAO,CAAC,OAAO,CAAC,gDAAgD,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACjG,MAAM,cAAc,GAAG,GAAG,MAAM,IAAI,CAAC;QACrC,OAAO,GAAG,KAAK,KAAK,WAAW,CAAC,kBAAkB,EAAE,cAAc,CAAC,IAAI,CAAC;IAC1E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,MAAc;IAChD,OAAO,KAAK;SACT,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC;SAC/B,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAU,EAAE,SAAiB;IAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,MAAM,OAAO,GAAG;QACd;YACE,MAAM,EAAE,oEAAoE;YAC5E,SAAS,EAAE,gBAAgB;SAC5B;KACF,CAAC;IAEF,MAAM,cAAc,GAAG,OAAO;SAC3B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC1C,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAE/B,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1D,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG;QAClB,GAAG,cAAc;QACjB,OAAO,CAAC,SAAS,EAAE;KACpB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE7B,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,IAAI,CAAC,CAAC;IAC3F,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,WAAW,IAAI,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,YAAwB,EAAE,SAAiB;IAC1E,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAc,EAAE,EAAE;QAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,sBAAsB,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC;QACrD,CAAC;QAED,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAQ,KAAoB,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC7F,OAAO,sBAAsB,CAAE,KAAoB,CAAC,OAAO,CAAC,CAAC,KAAK,SAAS,CAAC;QAC9E,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;IAED,YAAY,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;AAClC,CAAC;AAED,SAAS,QAAQ,CAAI,IAAU,EAAE,IAAY;IAC3C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,gCAAmB,CAAC,kBAAkB,IAAI,kBAAkB,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAM,CAAC;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,gCAAmB,CAAC,oBAAoB,IAAI,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAChH,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,IAAU,EAAE,IAAY,EAAE,KAAiB;IAC5D,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IAEtD,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,IAAU,EAAE,IAAY;IACxC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE/B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,gCAAmB,CAAC,mBAAmB,IAAI,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY;IAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAG,KAAe;IAC3C,OAAO,KAAK;SACT,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC;SACT,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACzB,CAAC"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../projects/components/schematics/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
|
|
3
|
+
type FileTypeName = 'avi' | 'csv' | 'doc' | 'html' | 'jpg' | 'json' | 'mkv' | 'mov' | 'mp3' | 'mp4' | 'pdf' | 'png' | 'ppt' | 'svg' | 'txt' | 'wav' | 'webm' | 'xls' | 'xml' | 'zip';
|
|
4
|
+
|
|
5
|
+
declare class FileType {
|
|
6
|
+
private readonly iconId;
|
|
7
|
+
mimeType: _angular_core.InputSignal<string | null | undefined>;
|
|
8
|
+
extension: _angular_core.InputSignal<string | null | undefined>;
|
|
9
|
+
fileName: _angular_core.InputSignal<string | null | undefined>;
|
|
10
|
+
fallback: _angular_core.InputSignal<FileTypeName>;
|
|
11
|
+
label: _angular_core.InputSignal<string | null | undefined>;
|
|
12
|
+
decorative: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
13
|
+
readonly type: _angular_core.Signal<FileTypeName>;
|
|
14
|
+
protected readonly resolvedLabel: _angular_core.Signal<string>;
|
|
15
|
+
private resolveType;
|
|
16
|
+
private resolveExtension;
|
|
17
|
+
private normalizeExtension;
|
|
18
|
+
private normalizeMimeType;
|
|
19
|
+
private resolveMimeFamily;
|
|
20
|
+
protected gradientId(type: FileTypeName): string;
|
|
21
|
+
protected gradientUrl(type: FileTypeName): string;
|
|
22
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FileType, never>;
|
|
23
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FileType, "ngs-file-type", ["ngsFileType"], { "mimeType": { "alias": "mimeType"; "required": false; "isSignal": true; }; "extension": { "alias": "extension"; "required": false; "isSignal": true; }; "fileName": { "alias": "fileName"; "required": false; "isSignal": true; }; "fallback": { "alias": "fallback"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "decorative": { "alias": "decorative"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export { FileType };
|
|
27
|
+
export type { FileTypeName };
|