carbon-components-angular 5.60.0 → 5.61.0
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/docs/documentation/components/FileComponent.html +26 -24
- package/docs/documentation/js/search/search_index.js +2 -2
- package/docs/documentation/modules/ComboBoxModule/dependencies.svg +4 -4
- package/docs/documentation/modules/ComboBoxModule.html +4 -4
- package/docs/documentation/modules/DatePickerInputModule/dependencies.svg +41 -37
- package/docs/documentation/modules/DatePickerInputModule.html +41 -37
- package/docs/documentation/modules/DialogModule/dependencies.svg +34 -34
- package/docs/documentation/modules/DialogModule.html +34 -34
- package/docs/documentation/modules/FileUploaderModule/dependencies.svg +36 -36
- package/docs/documentation/modules/FileUploaderModule.html +36 -36
- package/docs/documentation/modules/NumberModule/dependencies.svg +4 -4
- package/docs/documentation/modules/NumberModule.html +4 -4
- package/docs/documentation/modules/RadioModule/dependencies.svg +48 -48
- package/docs/documentation/modules/RadioModule.html +48 -48
- package/docs/documentation/modules/SelectModule/dependencies.svg +43 -43
- package/docs/documentation/modules/SelectModule.html +43 -43
- package/docs/documentation/modules/SliderModule/dependencies.svg +4 -4
- package/docs/documentation/modules/SliderModule.html +4 -4
- package/docs/documentation/modules/TabsModule/dependencies.svg +69 -69
- package/docs/documentation/modules/TabsModule.html +69 -69
- package/docs/documentation/modules/TagModule/dependencies.svg +39 -39
- package/docs/documentation/modules/TagModule.html +39 -39
- package/docs/documentation/modules/ThemeModule/dependencies.svg +15 -15
- package/docs/documentation/modules/ThemeModule.html +15 -15
- package/docs/documentation/modules/TilesModule/dependencies.svg +106 -106
- package/docs/documentation/modules/TilesModule.html +106 -106
- package/docs/documentation/modules/TimePickerModule/dependencies.svg +27 -27
- package/docs/documentation/modules/TimePickerModule.html +27 -27
- package/docs/documentation/modules/TimePickerSelectModule/dependencies.svg +45 -49
- package/docs/documentation/modules/TimePickerSelectModule.html +45 -49
- package/docs/documentation/modules/ToggleModule/dependencies.svg +45 -41
- package/docs/documentation/modules/ToggleModule.html +45 -41
- package/docs/documentation/modules/ToggletipModule/dependencies.svg +37 -37
- package/docs/documentation/modules/ToggletipModule.html +37 -37
- package/docs/documentation/modules/TooltipModule/dependencies.svg +4 -4
- package/docs/documentation/modules/TooltipModule.html +4 -4
- package/docs/documentation/modules/TreeviewModule/dependencies.svg +31 -31
- package/docs/documentation/modules/TreeviewModule.html +31 -31
- package/docs/documentation.json +115 -38
- package/docs/storybook/1335.988334fd.iframe.bundle.js +1 -0
- package/docs/storybook/iframe.html +2 -2
- package/docs/storybook/{main.eff7657a.iframe.bundle.js → main.be15134b.iframe.bundle.js} +1 -1
- package/docs/storybook/project.json +1 -1
- package/docs/storybook/{runtime~main.4bbe449f.iframe.bundle.js → runtime~main.5491fa20.iframe.bundle.js} +1 -1
- package/esm2020/file-uploader/file.component.mjs +5 -3
- package/fesm2015/carbon-components-angular-file-uploader.mjs +4 -2
- package/fesm2015/carbon-components-angular-file-uploader.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-file-uploader.mjs +4 -2
- package/fesm2020/carbon-components-angular-file-uploader.mjs.map +1 -1
- package/package.json +1 -1
- package/docs/storybook/1335.04cb3625.iframe.bundle.js +0 -1
package/docs/documentation.json
CHANGED
|
@@ -32307,7 +32307,7 @@
|
|
|
32307
32307
|
},
|
|
32308
32308
|
{
|
|
32309
32309
|
"name": "FileComponent",
|
|
32310
|
-
"id": "component-FileComponent-
|
|
32310
|
+
"id": "component-FileComponent-440115d0b6a1699c9f9ba3afba9480f35137ac947fc32748424cfe59df7a65bb98ffb9040c93924b474f4baeb50d2d3ec7e350407e2c17583347548f24dfcac6",
|
|
32311
32311
|
"file": "src/file-uploader/file.component.ts",
|
|
32312
32312
|
"encapsulation": [],
|
|
32313
32313
|
"entryComponents": [],
|
|
@@ -32317,7 +32317,7 @@
|
|
|
32317
32317
|
"selector": "cds-file, ibm-file",
|
|
32318
32318
|
"styleUrls": [],
|
|
32319
32319
|
"styles": [],
|
|
32320
|
-
"template": "<p class=\"cds--file-filename\" [title]=\"fileItem.file.name\">\n\t<ng-template\n\t\t*ngIf=\"isTemplate(nameTpl); else defaultName\"\n\t\t[ngTemplateOutlet]=\"nameTpl\"\n\t\t[ngTemplateOutletContext]=\"{ $implicit: fileItem }\">\n\t</ng-template>\n\t<ng-template #defaultName>{{ fileItem.file.name }}</ng-template>\n</p>\n<span *ngIf=\"fileItem.state === 'edit'\" class=\"cds--file__state-container\">\n\t<svg\n\t\t*ngIf=\"isInvalidText\"\n\t\tcdsIcon=\"warning--filled\"\n\t\tclass=\"cds--file--invalid\"\n\t\tsize=\"16\">\n\t</svg>\n\t<ng-template\n\t\t*ngIf=\"isTemplate(actionsTpl); else defaultActions\"\n\t\t[ngTemplateOutlet]=\"actionsTpl\">\n\t</ng-template>\n\t<ng-template #defaultActions>\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tcdsButton=\"ghost\"\n\t\t\ticonOnly=\"true\"\n\t\t\t[size]=\"size\"\n\t\t\t[attr.aria-label]=\"translations.REMOVE_BUTTON\"\n\t\t\t(click)=\"remove.emit()\"\n\t\t\t(keyup.enter)=\"remove.emit()\"\n\t\t\t(keyup.space)=\"remove.emit()\">\n\t\t\t<svg cdsIcon=\"trash-can\" size=\"16\"></svg>\n\t\t</button>\n\t</ng-template>\n</span>\n<span *ngIf=\"fileItem.state === 'upload'\">\n\t<div class=\"cds--inline-loading__animation\">\n\t\t<cds-loading size=\"sm\"></cds-loading>\n\t</div>\n</span>\n<span\n\t*ngIf=\"fileItem.state === 'complete'\"\n\tclass=\"cds--file__state-container\">\n\t<svg\n\t\tcdsIcon=\"checkmark--filled\"\n\t\tsize=\"16\"\n\t\tclass=\"cds--file-complete\"\n\t\t[ariaLabel]=\"translations.CHECKMARK\">\n\t</svg>\n</span>\n<div\n\tclass=\"cds--form-requirement\"\n\trole=\"alert\"\n\t*ngIf=\"fileItem.invalid\">\n\t<div class=\"cds--form-requirement__title\">\n\t\t{{ fileItem.invalidTitle }}\n\t</div>\n\t<p class=\"cds--form-requirement__supplement\">\n\t\t{{ fileItem.invalidText }}\n\t</p>\n</div>\n\t",
|
|
32320
|
+
"template": "<p class=\"cds--file-filename\" [title]=\"fileItem.file.name\">\n\t<ng-template\n\t\t*ngIf=\"isTemplate(nameTpl); else defaultName\"\n\t\t[ngTemplateOutlet]=\"nameTpl\"\n\t\t[ngTemplateOutletContext]=\"{ $implicit: fileItem }\">\n\t</ng-template>\n\t<ng-template #defaultName>{{ fileItem.file.name }}</ng-template>\n</p>\n<span *ngIf=\"fileItem.state === 'edit'\" class=\"cds--file__state-container\">\n\t<svg\n\t\t*ngIf=\"isInvalidText\"\n\t\tcdsIcon=\"warning--filled\"\n\t\tclass=\"cds--file--invalid\"\n\t\tsize=\"16\">\n\t</svg>\n\t<ng-template\n\t\t*ngIf=\"isTemplate(actionsTpl); else defaultActions\"\n\t\t[ngTemplateOutlet]=\"actionsTpl\"\n\t\t[ngTemplateOutletContext]=\"{ $implicit: fileItem }\">\n\t</ng-template>\n\t<ng-template #defaultActions>\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tcdsButton=\"ghost\"\n\t\t\ticonOnly=\"true\"\n\t\t\t[size]=\"size\"\n\t\t\t[attr.aria-label]=\"translations.REMOVE_BUTTON\"\n\t\t\t(click)=\"remove.emit()\"\n\t\t\t(keyup.enter)=\"remove.emit()\"\n\t\t\t(keyup.space)=\"remove.emit()\">\n\t\t\t<svg cdsIcon=\"trash-can\" size=\"16\"></svg>\n\t\t</button>\n\t</ng-template>\n</span>\n<span *ngIf=\"fileItem.state === 'upload'\">\n\t<div class=\"cds--inline-loading__animation\">\n\t\t<cds-loading size=\"sm\"></cds-loading>\n\t</div>\n</span>\n<span\n\t*ngIf=\"fileItem.state === 'complete'\"\n\tclass=\"cds--file__state-container\">\n\t<svg\n\t\tcdsIcon=\"checkmark--filled\"\n\t\tsize=\"16\"\n\t\tclass=\"cds--file-complete\"\n\t\t[ariaLabel]=\"translations.CHECKMARK\">\n\t</svg>\n</span>\n<div\n\tclass=\"cds--form-requirement\"\n\trole=\"alert\"\n\t*ngIf=\"fileItem.invalid\">\n\t<div class=\"cds--form-requirement__title\">\n\t\t{{ fileItem.invalidTitle }}\n\t</div>\n\t<p class=\"cds--form-requirement__supplement\">\n\t\t{{ fileItem.invalidText }}\n\t</p>\n</div>\n\t",
|
|
32321
32321
|
"templateUrl": [],
|
|
32322
32322
|
"viewProviders": [],
|
|
32323
32323
|
"hostDirectives": [],
|
|
@@ -32328,7 +32328,7 @@
|
|
|
32328
32328
|
"deprecationMessage": "",
|
|
32329
32329
|
"rawdescription": "\n\nA custom template for the available file actions\n",
|
|
32330
32330
|
"description": "<p>A custom template for the available file actions</p>\n",
|
|
32331
|
-
"line":
|
|
32331
|
+
"line": 99,
|
|
32332
32332
|
"type": "TemplateRef<>",
|
|
32333
32333
|
"decorators": []
|
|
32334
32334
|
},
|
|
@@ -32338,7 +32338,7 @@
|
|
|
32338
32338
|
"deprecationMessage": "",
|
|
32339
32339
|
"rawdescription": "\n\nA single `FileItem` from the set of `FileItem`s\n",
|
|
32340
32340
|
"description": "<p>A single <code>FileItem</code> from the set of <code>FileItem</code>s</p>\n",
|
|
32341
|
-
"line":
|
|
32341
|
+
"line": 87,
|
|
32342
32342
|
"type": "FileItem",
|
|
32343
32343
|
"decorators": []
|
|
32344
32344
|
},
|
|
@@ -32348,7 +32348,7 @@
|
|
|
32348
32348
|
"deprecationMessage": "",
|
|
32349
32349
|
"rawdescription": "\n\nA custom template for the file name\n",
|
|
32350
32350
|
"description": "<p>A custom template for the file name</p>\n",
|
|
32351
|
-
"line":
|
|
32351
|
+
"line": 94,
|
|
32352
32352
|
"type": "TemplateRef<>",
|
|
32353
32353
|
"decorators": []
|
|
32354
32354
|
},
|
|
@@ -32357,7 +32357,7 @@
|
|
|
32357
32357
|
"defaultValue": "\"lg\"",
|
|
32358
32358
|
"deprecated": false,
|
|
32359
32359
|
"deprecationMessage": "",
|
|
32360
|
-
"line":
|
|
32360
|
+
"line": 89,
|
|
32361
32361
|
"type": "\"sm\" | \"md\" | \"lg\"",
|
|
32362
32362
|
"decorators": []
|
|
32363
32363
|
},
|
|
@@ -32368,7 +32368,7 @@
|
|
|
32368
32368
|
"deprecationMessage": "",
|
|
32369
32369
|
"rawdescription": "\n\nAccessible translations for the close and complete icons\n",
|
|
32370
32370
|
"description": "<p>Accessible translations for the close and complete icons</p>\n",
|
|
32371
|
-
"line":
|
|
32371
|
+
"line": 83,
|
|
32372
32372
|
"type": "any",
|
|
32373
32373
|
"decorators": []
|
|
32374
32374
|
}
|
|
@@ -32379,7 +32379,7 @@
|
|
|
32379
32379
|
"defaultValue": "new EventEmitter()",
|
|
32380
32380
|
"deprecated": false,
|
|
32381
32381
|
"deprecationMessage": "",
|
|
32382
|
-
"line":
|
|
32382
|
+
"line": 101,
|
|
32383
32383
|
"type": "EventEmitter"
|
|
32384
32384
|
}
|
|
32385
32385
|
],
|
|
@@ -32392,7 +32392,7 @@
|
|
|
32392
32392
|
"type": "",
|
|
32393
32393
|
"optional": false,
|
|
32394
32394
|
"description": "",
|
|
32395
|
-
"line":
|
|
32395
|
+
"line": 103,
|
|
32396
32396
|
"decorators": [
|
|
32397
32397
|
{
|
|
32398
32398
|
"name": "HostBinding",
|
|
@@ -32418,7 +32418,7 @@
|
|
|
32418
32418
|
"optional": false,
|
|
32419
32419
|
"returnType": "boolean",
|
|
32420
32420
|
"typeParameters": [],
|
|
32421
|
-
"line":
|
|
32421
|
+
"line": 123,
|
|
32422
32422
|
"deprecated": false,
|
|
32423
32423
|
"deprecationMessage": "",
|
|
32424
32424
|
"modifierKind": [
|
|
@@ -32445,7 +32445,7 @@
|
|
|
32445
32445
|
"defaultValue": "true",
|
|
32446
32446
|
"deprecated": false,
|
|
32447
32447
|
"deprecationMessage": "",
|
|
32448
|
-
"line":
|
|
32448
|
+
"line": 103,
|
|
32449
32449
|
"type": "boolean",
|
|
32450
32450
|
"decorators": []
|
|
32451
32451
|
},
|
|
@@ -32453,7 +32453,7 @@
|
|
|
32453
32453
|
"name": "class.cds--file__selected-file--invalid",
|
|
32454
32454
|
"deprecated": false,
|
|
32455
32455
|
"deprecationMessage": "",
|
|
32456
|
-
"line":
|
|
32456
|
+
"line": 105,
|
|
32457
32457
|
"type": "any",
|
|
32458
32458
|
"decorators": []
|
|
32459
32459
|
},
|
|
@@ -32461,7 +32461,7 @@
|
|
|
32461
32461
|
"name": "class.cds--file__selected-file--lg",
|
|
32462
32462
|
"deprecated": false,
|
|
32463
32463
|
"deprecationMessage": "",
|
|
32464
|
-
"line":
|
|
32464
|
+
"line": 117,
|
|
32465
32465
|
"type": "boolean",
|
|
32466
32466
|
"decorators": []
|
|
32467
32467
|
},
|
|
@@ -32469,7 +32469,7 @@
|
|
|
32469
32469
|
"name": "class.cds--file__selected-file--md",
|
|
32470
32470
|
"deprecated": false,
|
|
32471
32471
|
"deprecationMessage": "",
|
|
32472
|
-
"line":
|
|
32472
|
+
"line": 113,
|
|
32473
32473
|
"type": "boolean",
|
|
32474
32474
|
"decorators": []
|
|
32475
32475
|
},
|
|
@@ -32477,7 +32477,7 @@
|
|
|
32477
32477
|
"name": "class.cds--file__selected-file--sm",
|
|
32478
32478
|
"deprecated": false,
|
|
32479
32479
|
"deprecationMessage": "",
|
|
32480
|
-
"line":
|
|
32480
|
+
"line": 109,
|
|
32481
32481
|
"type": "boolean",
|
|
32482
32482
|
"decorators": []
|
|
32483
32483
|
}
|
|
@@ -32488,7 +32488,7 @@
|
|
|
32488
32488
|
"description": "",
|
|
32489
32489
|
"rawdescription": "\n",
|
|
32490
32490
|
"type": "component",
|
|
32491
|
-
"sourceCode": "import {\n\tComponent,\n\tEventEmitter,\n\tHostBinding,\n\tInput,\n\tOnDestroy,\n\tOutput,\n\tTemplateRef\n} from \"@angular/core\";\n\nimport { I18n } from \"carbon-components-angular/i18n\";\nimport { FileItem } from \"./file-item.interface\";\n\n@Component({\n\tselector: \"cds-file, ibm-file\",\n\ttemplate: `\n\t\t<p class=\"cds--file-filename\" [title]=\"fileItem.file.name\">\n\t\t\t<ng-template\n\t\t\t\t*ngIf=\"isTemplate(nameTpl); else defaultName\"\n\t\t\t\t[ngTemplateOutlet]=\"nameTpl\"\n\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: fileItem }\">\n\t\t\t</ng-template>\n\t\t\t<ng-template #defaultName>{{ fileItem.file.name }}</ng-template>\n\t\t</p>\n\t\t<span *ngIf=\"fileItem.state === 'edit'\" class=\"cds--file__state-container\">\n\t\t\t<svg\n\t\t\t\t*ngIf=\"isInvalidText\"\n\t\t\t\tcdsIcon=\"warning--filled\"\n\t\t\t\tclass=\"cds--file--invalid\"\n\t\t\t\tsize=\"16\">\n\t\t\t</svg>\n\t\t\t<ng-template\n\t\t\t\t*ngIf=\"isTemplate(actionsTpl); else defaultActions\"\n\t\t\t\t[ngTemplateOutlet]=\"actionsTpl\">\n\t\t\t</ng-template>\n\t\t\t<ng-template #defaultActions>\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tcdsButton=\"ghost\"\n\t\t\t\t\ticonOnly=\"true\"\n\t\t\t\t\t[size]=\"size\"\n\t\t\t\t\t[attr.aria-label]=\"translations.REMOVE_BUTTON\"\n\t\t\t\t\t(click)=\"remove.emit()\"\n\t\t\t\t\t(keyup.enter)=\"remove.emit()\"\n\t\t\t\t\t(keyup.space)=\"remove.emit()\">\n\t\t\t\t\t<svg cdsIcon=\"trash-can\" size=\"16\"></svg>\n\t\t\t\t</button>\n\t\t\t</ng-template>\n\t\t</span>\n\t\t<span *ngIf=\"fileItem.state === 'upload'\">\n\t\t\t<div class=\"cds--inline-loading__animation\">\n\t\t\t\t<cds-loading size=\"sm\"></cds-loading>\n\t\t\t</div>\n\t\t</span>\n\t\t<span\n\t\t\t*ngIf=\"fileItem.state === 'complete'\"\n\t\t\tclass=\"cds--file__state-container\">\n\t\t\t<svg\n\t\t\t\tcdsIcon=\"checkmark--filled\"\n\t\t\t\tsize=\"16\"\n\t\t\t\tclass=\"cds--file-complete\"\n\t\t\t\t[ariaLabel]=\"translations.CHECKMARK\">\n\t\t\t</svg>\n\t\t</span>\n\t\t<div\n\t\t\tclass=\"cds--form-requirement\"\n\t\t\trole=\"alert\"\n\t\t\t*ngIf=\"fileItem.invalid\">\n\t\t\t<div class=\"cds--form-requirement__title\">\n\t\t\t\t{{ fileItem.invalidTitle }}\n\t\t\t</div>\n\t\t\t<p class=\"cds--form-requirement__supplement\">\n\t\t\t\t{{ fileItem.invalidText }}\n\t\t\t</p>\n\t\t</div>\n\t`\n})\nexport class FileComponent implements OnDestroy {\n\t/**\n\t * Accessible translations for the close and complete icons\n\t */\n\t@Input() translations = this.i18n.get().FILE_UPLOADER;\n\t/**\n\t * A single `FileItem` from the set of `FileItem`s\n\t */\n\t@Input() fileItem: FileItem;\n\n\t@Input() size: \"sm\" | \"md\" | \"lg\" = \"lg\";\n\n\t/**\n\t * A custom template for the file name\n\t */\n\t@Input() nameTpl: TemplateRef<unknown>;\n\n\t/**\n\t * A custom template for the available file actions\n\t */\n\t@Input() actionsTpl: TemplateRef<unknown>;\n\n\t@Output() remove = new EventEmitter();\n\n\t@HostBinding(\"class.cds--file__selected-file\") selectedFile = true;\n\n\t@HostBinding(\"class.cds--file__selected-file--invalid\") get isInvalidText() {\n\t\treturn this.fileItem.invalidText;\n\t}\n\n\t@HostBinding(\"class.cds--file__selected-file--sm\") get fileSizeSmall() {\n\t\treturn this.size === \"sm\";\n\t}\n\n\t@HostBinding(\"class.cds--file__selected-file--md\") get fileSizeMedium() {\n\t\treturn this.size === \"md\";\n\t}\n\n\t@HostBinding(\"class.cds--file__selected-file--lg\") get fileSizeLarge() {\n\t\treturn this.size === \"lg\";\n\t}\n\n\tconstructor(protected i18n: I18n) {}\n\n\tpublic isTemplate(value: unknown): boolean {\n\t\treturn value instanceof TemplateRef;\n\t}\n\n\tngOnDestroy() {\n\t\tthis.remove.emit();\n\t}\n}\n",
|
|
32491
|
+
"sourceCode": "import {\n\tComponent,\n\tEventEmitter,\n\tHostBinding,\n\tInput,\n\tOnDestroy,\n\tOutput,\n\tTemplateRef\n} from \"@angular/core\";\n\nimport { I18n } from \"carbon-components-angular/i18n\";\nimport { FileItem } from \"./file-item.interface\";\n\n@Component({\n\tselector: \"cds-file, ibm-file\",\n\ttemplate: `\n\t\t<p class=\"cds--file-filename\" [title]=\"fileItem.file.name\">\n\t\t\t<ng-template\n\t\t\t\t*ngIf=\"isTemplate(nameTpl); else defaultName\"\n\t\t\t\t[ngTemplateOutlet]=\"nameTpl\"\n\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: fileItem }\">\n\t\t\t</ng-template>\n\t\t\t<ng-template #defaultName>{{ fileItem.file.name }}</ng-template>\n\t\t</p>\n\t\t<span *ngIf=\"fileItem.state === 'edit'\" class=\"cds--file__state-container\">\n\t\t\t<svg\n\t\t\t\t*ngIf=\"isInvalidText\"\n\t\t\t\tcdsIcon=\"warning--filled\"\n\t\t\t\tclass=\"cds--file--invalid\"\n\t\t\t\tsize=\"16\">\n\t\t\t</svg>\n\t\t\t<ng-template\n\t\t\t\t*ngIf=\"isTemplate(actionsTpl); else defaultActions\"\n\t\t\t\t[ngTemplateOutlet]=\"actionsTpl\"\n\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: fileItem }\">\n\t\t\t</ng-template>\n\t\t\t<ng-template #defaultActions>\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tcdsButton=\"ghost\"\n\t\t\t\t\ticonOnly=\"true\"\n\t\t\t\t\t[size]=\"size\"\n\t\t\t\t\t[attr.aria-label]=\"translations.REMOVE_BUTTON\"\n\t\t\t\t\t(click)=\"remove.emit()\"\n\t\t\t\t\t(keyup.enter)=\"remove.emit()\"\n\t\t\t\t\t(keyup.space)=\"remove.emit()\">\n\t\t\t\t\t<svg cdsIcon=\"trash-can\" size=\"16\"></svg>\n\t\t\t\t</button>\n\t\t\t</ng-template>\n\t\t</span>\n\t\t<span *ngIf=\"fileItem.state === 'upload'\">\n\t\t\t<div class=\"cds--inline-loading__animation\">\n\t\t\t\t<cds-loading size=\"sm\"></cds-loading>\n\t\t\t</div>\n\t\t</span>\n\t\t<span\n\t\t\t*ngIf=\"fileItem.state === 'complete'\"\n\t\t\tclass=\"cds--file__state-container\">\n\t\t\t<svg\n\t\t\t\tcdsIcon=\"checkmark--filled\"\n\t\t\t\tsize=\"16\"\n\t\t\t\tclass=\"cds--file-complete\"\n\t\t\t\t[ariaLabel]=\"translations.CHECKMARK\">\n\t\t\t</svg>\n\t\t</span>\n\t\t<div\n\t\t\tclass=\"cds--form-requirement\"\n\t\t\trole=\"alert\"\n\t\t\t*ngIf=\"fileItem.invalid\">\n\t\t\t<div class=\"cds--form-requirement__title\">\n\t\t\t\t{{ fileItem.invalidTitle }}\n\t\t\t</div>\n\t\t\t<p class=\"cds--form-requirement__supplement\">\n\t\t\t\t{{ fileItem.invalidText }}\n\t\t\t</p>\n\t\t</div>\n\t`\n})\nexport class FileComponent implements OnDestroy {\n\t/**\n\t * Accessible translations for the close and complete icons\n\t */\n\t@Input() translations = this.i18n.get().FILE_UPLOADER;\n\t/**\n\t * A single `FileItem` from the set of `FileItem`s\n\t */\n\t@Input() fileItem: FileItem;\n\n\t@Input() size: \"sm\" | \"md\" | \"lg\" = \"lg\";\n\n\t/**\n\t * A custom template for the file name\n\t */\n\t@Input() nameTpl: TemplateRef<unknown>;\n\n\t/**\n\t * A custom template for the available file actions\n\t */\n\t@Input() actionsTpl: TemplateRef<unknown>;\n\n\t@Output() remove = new EventEmitter();\n\n\t@HostBinding(\"class.cds--file__selected-file\") selectedFile = true;\n\n\t@HostBinding(\"class.cds--file__selected-file--invalid\") get isInvalidText() {\n\t\treturn this.fileItem.invalidText;\n\t}\n\n\t@HostBinding(\"class.cds--file__selected-file--sm\") get fileSizeSmall() {\n\t\treturn this.size === \"sm\";\n\t}\n\n\t@HostBinding(\"class.cds--file__selected-file--md\") get fileSizeMedium() {\n\t\treturn this.size === \"md\";\n\t}\n\n\t@HostBinding(\"class.cds--file__selected-file--lg\") get fileSizeLarge() {\n\t\treturn this.size === \"lg\";\n\t}\n\n\tconstructor(protected i18n: I18n) {}\n\n\tpublic isTemplate(value: unknown): boolean {\n\t\treturn value instanceof TemplateRef;\n\t}\n\n\tngOnDestroy() {\n\t\tthis.remove.emit();\n\t}\n}\n",
|
|
32492
32492
|
"assetsDirs": [],
|
|
32493
32493
|
"styleUrlsData": "",
|
|
32494
32494
|
"stylesData": "",
|
|
@@ -32505,7 +32505,7 @@
|
|
|
32505
32505
|
"deprecationMessage": ""
|
|
32506
32506
|
}
|
|
32507
32507
|
],
|
|
32508
|
-
"line":
|
|
32508
|
+
"line": 119,
|
|
32509
32509
|
"jsdoctags": [
|
|
32510
32510
|
{
|
|
32511
32511
|
"name": "i18n",
|
|
@@ -32529,7 +32529,7 @@
|
|
|
32529
32529
|
"name": "isInvalidText",
|
|
32530
32530
|
"type": "",
|
|
32531
32531
|
"returnType": "",
|
|
32532
|
-
"line":
|
|
32532
|
+
"line": 105
|
|
32533
32533
|
}
|
|
32534
32534
|
},
|
|
32535
32535
|
"fileSizeSmall": {
|
|
@@ -32538,7 +32538,7 @@
|
|
|
32538
32538
|
"name": "fileSizeSmall",
|
|
32539
32539
|
"type": "",
|
|
32540
32540
|
"returnType": "",
|
|
32541
|
-
"line":
|
|
32541
|
+
"line": 109
|
|
32542
32542
|
}
|
|
32543
32543
|
},
|
|
32544
32544
|
"fileSizeMedium": {
|
|
@@ -32547,7 +32547,7 @@
|
|
|
32547
32547
|
"name": "fileSizeMedium",
|
|
32548
32548
|
"type": "",
|
|
32549
32549
|
"returnType": "",
|
|
32550
|
-
"line":
|
|
32550
|
+
"line": 113
|
|
32551
32551
|
}
|
|
32552
32552
|
},
|
|
32553
32553
|
"fileSizeLarge": {
|
|
@@ -32556,7 +32556,7 @@
|
|
|
32556
32556
|
"name": "fileSizeLarge",
|
|
32557
32557
|
"type": "",
|
|
32558
32558
|
"returnType": "",
|
|
32559
|
-
"line":
|
|
32559
|
+
"line": 117
|
|
32560
32560
|
}
|
|
32561
32561
|
}
|
|
32562
32562
|
}
|
|
@@ -33377,7 +33377,7 @@
|
|
|
33377
33377
|
},
|
|
33378
33378
|
{
|
|
33379
33379
|
"name": "FileUploaderWithCustomFileStory",
|
|
33380
|
-
"id": "component-FileUploaderWithCustomFileStory-
|
|
33380
|
+
"id": "component-FileUploaderWithCustomFileStory-0847324b80e43514c99f8d3049887fd5a8bab42e124aa234f95fb03e851093db1cfe78bce857276e36f3abc13f15e0f9488b20345b9ba859884e165ab9389f39",
|
|
33381
33381
|
"file": "src/file-uploader/stories/uploader-custom-file.component.ts",
|
|
33382
33382
|
"encapsulation": [],
|
|
33383
33383
|
"entryComponents": [],
|
|
@@ -33387,7 +33387,7 @@
|
|
|
33387
33387
|
"selector": "app-file-uploader-with-custom-file",
|
|
33388
33388
|
"styleUrls": [],
|
|
33389
33389
|
"styles": [],
|
|
33390
|
-
"template": "<cds-file-uploader\n\t[title]=\"title\"\n\t[description]=\"description\"\n\t[buttonText]=\"buttonText\"\n\t[buttonType]=\"buttonType\"\n\t[accept]=\"accept\"\n\t[multiple]=\"multiple\"\n\t[skeleton]=\"skeleton\"\n\t[(files)]=\"files\"\n\t[size]=\"size\"\n\t[fileItemSize]=\"fileItemSize\"\n\t[disabled]=\"disabled\"\n\t[fileNameTpl]=\"nameTpl\"\n\t[fileActionsTpl]=\"actionsTpl\">\n</cds-file-uploader>\n<button\n\tcdsButton\n\t*ngIf=\"files && files.size > 0\"\n\t(click)=\"onUpload()\"\n\tstyle=\"margin-top:20px\">\n\tUpload\n</button>\n\n<ng-template #nameTpl let-fileItem>\n\t<a href=\"#\" cdsLink>{{ fileItem.file.name }}</a>\n</ng-template>\n\n<ng-template #actionsTpl>\n\t<button\n\t\tibmButton=\"ghost\"\n\t\ticonOnly=\"true\"\n\t\taria-label=\"View\"\n\t\t[size]=\"fileItemSize\">\n\t\t<svg ibmIcon=\"view\" size=\"16\"></svg>\n\t</button>\n\t<button\n\t\tibmButton=\"ghost\"\n\t\ticonOnly=\"true\"\n\t\taria-label=\"Download\"\n\t\t[size]=\"fileItemSize\">\n\t\t<svg ibmIcon=\"download\" size=\"16\"></svg>\n\t</button>\n</ng-template>\n\t",
|
|
33390
|
+
"template": "<p *ngIf=\"lastViewedFile\">Last viewed file: {{ lastViewedFile | json }}</p>\n<p *ngIf=\"lastDownloadedFile\">Last downloaded file: {{ lastDownloadedFile | json }}</p>\n<cds-file-uploader\n\t[title]=\"title\"\n\t[description]=\"description\"\n\t[buttonText]=\"buttonText\"\n\t[buttonType]=\"buttonType\"\n\t[accept]=\"accept\"\n\t[multiple]=\"multiple\"\n\t[skeleton]=\"skeleton\"\n\t[(files)]=\"files\"\n\t[size]=\"size\"\n\t[fileItemSize]=\"fileItemSize\"\n\t[disabled]=\"disabled\"\n\t[fileNameTpl]=\"nameTpl\"\n\t[fileActionsTpl]=\"actionsTpl\">\n</cds-file-uploader>\n<button\n\tcdsButton\n\t*ngIf=\"files && files.size > 0\"\n\t(click)=\"onUpload()\"\n\tstyle=\"margin-top:20px\">\n\tUpload\n</button>\n\n<ng-template #nameTpl let-fileItem>\n\t<a href=\"#\" cdsLink>{{ fileItem.file.name }}</a>\n</ng-template>\n\n<ng-template #actionsTpl let-fileItem>\n\t<button\n\t\tibmButton=\"ghost\"\n\t\ticonOnly=\"true\"\n\t\taria-label=\"View\"\n\t\t[size]=\"fileItemSize\"\n\t\t(click)=\"onViewClick(fileItem)\">\n\t\t<svg ibmIcon=\"view\" size=\"16\"></svg>\n\t</button>\n\t<button\n\t\tibmButton=\"ghost\"\n\t\ticonOnly=\"true\"\n\t\taria-label=\"Download\"\n\t\t[size]=\"fileItemSize\"\n\t\t(click)=\"onDownloadClick(fileItem)\">\n\t\t<svg ibmIcon=\"download\" size=\"16\"></svg>\n\t</button>\n</ng-template>\n\t",
|
|
33391
33391
|
"templateUrl": [],
|
|
33392
33392
|
"viewProviders": [],
|
|
33393
33393
|
"hostDirectives": [],
|
|
@@ -33397,7 +33397,7 @@
|
|
|
33397
33397
|
"defaultValue": "[\".jpg\", \".png\"]",
|
|
33398
33398
|
"deprecated": false,
|
|
33399
33399
|
"deprecationMessage": "",
|
|
33400
|
-
"line":
|
|
33400
|
+
"line": 66,
|
|
33401
33401
|
"type": "{}",
|
|
33402
33402
|
"decorators": []
|
|
33403
33403
|
},
|
|
@@ -33405,7 +33405,7 @@
|
|
|
33405
33405
|
"name": "buttonText",
|
|
33406
33406
|
"deprecated": false,
|
|
33407
33407
|
"deprecationMessage": "",
|
|
33408
|
-
"line":
|
|
33408
|
+
"line": 64,
|
|
33409
33409
|
"type": "any",
|
|
33410
33410
|
"decorators": []
|
|
33411
33411
|
},
|
|
@@ -33414,7 +33414,7 @@
|
|
|
33414
33414
|
"defaultValue": "\"primary\"",
|
|
33415
33415
|
"deprecated": false,
|
|
33416
33416
|
"deprecationMessage": "",
|
|
33417
|
-
"line":
|
|
33417
|
+
"line": 65,
|
|
33418
33418
|
"type": "string",
|
|
33419
33419
|
"decorators": []
|
|
33420
33420
|
},
|
|
@@ -33422,7 +33422,7 @@
|
|
|
33422
33422
|
"name": "description",
|
|
33423
33423
|
"deprecated": false,
|
|
33424
33424
|
"deprecationMessage": "",
|
|
33425
|
-
"line":
|
|
33425
|
+
"line": 63,
|
|
33426
33426
|
"type": "any",
|
|
33427
33427
|
"decorators": []
|
|
33428
33428
|
},
|
|
@@ -33431,7 +33431,7 @@
|
|
|
33431
33431
|
"defaultValue": "false",
|
|
33432
33432
|
"deprecated": false,
|
|
33433
33433
|
"deprecationMessage": "",
|
|
33434
|
-
"line":
|
|
33434
|
+
"line": 70,
|
|
33435
33435
|
"type": "boolean",
|
|
33436
33436
|
"decorators": []
|
|
33437
33437
|
},
|
|
@@ -33440,7 +33440,7 @@
|
|
|
33440
33440
|
"defaultValue": "\"lg\"",
|
|
33441
33441
|
"deprecated": false,
|
|
33442
33442
|
"deprecationMessage": "",
|
|
33443
|
-
"line":
|
|
33443
|
+
"line": 71,
|
|
33444
33444
|
"type": "\"sm\" | \"md\" | \"lg\"",
|
|
33445
33445
|
"decorators": []
|
|
33446
33446
|
},
|
|
@@ -33449,7 +33449,7 @@
|
|
|
33449
33449
|
"defaultValue": "new Set<FileItem>()",
|
|
33450
33450
|
"deprecated": false,
|
|
33451
33451
|
"deprecationMessage": "",
|
|
33452
|
-
"line":
|
|
33452
|
+
"line": 61,
|
|
33453
33453
|
"type": "any",
|
|
33454
33454
|
"decorators": []
|
|
33455
33455
|
},
|
|
@@ -33457,7 +33457,7 @@
|
|
|
33457
33457
|
"name": "multiple",
|
|
33458
33458
|
"deprecated": false,
|
|
33459
33459
|
"deprecationMessage": "",
|
|
33460
|
-
"line":
|
|
33460
|
+
"line": 67,
|
|
33461
33461
|
"type": "any",
|
|
33462
33462
|
"decorators": []
|
|
33463
33463
|
},
|
|
@@ -33466,7 +33466,7 @@
|
|
|
33466
33466
|
"defaultValue": "\"md\"",
|
|
33467
33467
|
"deprecated": false,
|
|
33468
33468
|
"deprecationMessage": "",
|
|
33469
|
-
"line":
|
|
33469
|
+
"line": 69,
|
|
33470
33470
|
"type": "string",
|
|
33471
33471
|
"decorators": []
|
|
33472
33472
|
},
|
|
@@ -33475,7 +33475,7 @@
|
|
|
33475
33475
|
"defaultValue": "false",
|
|
33476
33476
|
"deprecated": false,
|
|
33477
33477
|
"deprecationMessage": "",
|
|
33478
|
-
"line":
|
|
33478
|
+
"line": 68,
|
|
33479
33479
|
"type": "boolean",
|
|
33480
33480
|
"decorators": []
|
|
33481
33481
|
},
|
|
@@ -33483,23 +33483,100 @@
|
|
|
33483
33483
|
"name": "title",
|
|
33484
33484
|
"deprecated": false,
|
|
33485
33485
|
"deprecationMessage": "",
|
|
33486
|
-
"line":
|
|
33486
|
+
"line": 62,
|
|
33487
33487
|
"type": "any",
|
|
33488
33488
|
"decorators": []
|
|
33489
33489
|
}
|
|
33490
33490
|
],
|
|
33491
33491
|
"outputsClass": [],
|
|
33492
|
-
"propertiesClass": [
|
|
33492
|
+
"propertiesClass": [
|
|
33493
|
+
{
|
|
33494
|
+
"name": "lastDownloadedFile",
|
|
33495
|
+
"defaultValue": "null",
|
|
33496
|
+
"deprecated": false,
|
|
33497
|
+
"deprecationMessage": "",
|
|
33498
|
+
"type": "FileItem | null",
|
|
33499
|
+
"optional": false,
|
|
33500
|
+
"description": "",
|
|
33501
|
+
"line": 59
|
|
33502
|
+
},
|
|
33503
|
+
{
|
|
33504
|
+
"name": "lastViewedFile",
|
|
33505
|
+
"defaultValue": "null",
|
|
33506
|
+
"deprecated": false,
|
|
33507
|
+
"deprecationMessage": "",
|
|
33508
|
+
"type": "FileItem | null",
|
|
33509
|
+
"optional": false,
|
|
33510
|
+
"description": "",
|
|
33511
|
+
"line": 58
|
|
33512
|
+
}
|
|
33513
|
+
],
|
|
33493
33514
|
"methodsClass": [
|
|
33515
|
+
{
|
|
33516
|
+
"name": "onDownloadClick",
|
|
33517
|
+
"args": [
|
|
33518
|
+
{
|
|
33519
|
+
"name": "file",
|
|
33520
|
+
"type": "FileItem",
|
|
33521
|
+
"deprecated": false,
|
|
33522
|
+
"deprecationMessage": ""
|
|
33523
|
+
}
|
|
33524
|
+
],
|
|
33525
|
+
"optional": false,
|
|
33526
|
+
"returnType": "void",
|
|
33527
|
+
"typeParameters": [],
|
|
33528
|
+
"line": 79,
|
|
33529
|
+
"deprecated": false,
|
|
33530
|
+
"deprecationMessage": "",
|
|
33531
|
+
"jsdoctags": [
|
|
33532
|
+
{
|
|
33533
|
+
"name": "file",
|
|
33534
|
+
"type": "FileItem",
|
|
33535
|
+
"deprecated": false,
|
|
33536
|
+
"deprecationMessage": "",
|
|
33537
|
+
"tagName": {
|
|
33538
|
+
"text": "param"
|
|
33539
|
+
}
|
|
33540
|
+
}
|
|
33541
|
+
]
|
|
33542
|
+
},
|
|
33494
33543
|
{
|
|
33495
33544
|
"name": "onUpload",
|
|
33496
33545
|
"args": [],
|
|
33497
33546
|
"optional": false,
|
|
33498
33547
|
"returnType": "void",
|
|
33499
33548
|
"typeParameters": [],
|
|
33500
|
-
"line":
|
|
33549
|
+
"line": 83,
|
|
33501
33550
|
"deprecated": false,
|
|
33502
33551
|
"deprecationMessage": ""
|
|
33552
|
+
},
|
|
33553
|
+
{
|
|
33554
|
+
"name": "onViewClick",
|
|
33555
|
+
"args": [
|
|
33556
|
+
{
|
|
33557
|
+
"name": "file",
|
|
33558
|
+
"type": "FileItem",
|
|
33559
|
+
"deprecated": false,
|
|
33560
|
+
"deprecationMessage": ""
|
|
33561
|
+
}
|
|
33562
|
+
],
|
|
33563
|
+
"optional": false,
|
|
33564
|
+
"returnType": "void",
|
|
33565
|
+
"typeParameters": [],
|
|
33566
|
+
"line": 75,
|
|
33567
|
+
"deprecated": false,
|
|
33568
|
+
"deprecationMessage": "",
|
|
33569
|
+
"jsdoctags": [
|
|
33570
|
+
{
|
|
33571
|
+
"name": "file",
|
|
33572
|
+
"type": "FileItem",
|
|
33573
|
+
"deprecated": false,
|
|
33574
|
+
"deprecationMessage": "",
|
|
33575
|
+
"tagName": {
|
|
33576
|
+
"text": "param"
|
|
33577
|
+
}
|
|
33578
|
+
}
|
|
33579
|
+
]
|
|
33503
33580
|
}
|
|
33504
33581
|
],
|
|
33505
33582
|
"deprecated": false,
|
|
@@ -33511,7 +33588,7 @@
|
|
|
33511
33588
|
"description": "",
|
|
33512
33589
|
"rawdescription": "\n",
|
|
33513
33590
|
"type": "component",
|
|
33514
|
-
"sourceCode": "import { Component, Input } from \"@angular/core\";\n\nimport { FileItem } from \"../\";\n\n@Component({\n\tselector: \"app-file-uploader-with-custom-file\",\n\ttemplate: `\n\t\t<cds-file-uploader\n\t\t\t[title]=\"title\"\n\t\t\t[description]=\"description\"\n\t\t\t[buttonText]=\"buttonText\"\n\t\t\t[buttonType]=\"buttonType\"\n\t\t\t[accept]=\"accept\"\n\t\t\t[multiple]=\"multiple\"\n\t\t\t[skeleton]=\"skeleton\"\n\t\t\t[(files)]=\"files\"\n\t\t\t[size]=\"size\"\n\t\t\t[fileItemSize]=\"fileItemSize\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[fileNameTpl]=\"nameTpl\"\n\t\t\t[fileActionsTpl]=\"actionsTpl\">\n\t\t</cds-file-uploader>\n\t\t<button\n\t\t\tcdsButton\n\t\t\t*ngIf=\"files && files.size > 0\"\n\t\t\t(click)=\"onUpload()\"\n\t\t\tstyle=\"margin-top:20px\">\n\t\t\tUpload\n\t\t</button>\n\n\t\t<ng-template #nameTpl let-fileItem>\n\t\t\t<a href=\"#\" cdsLink>{{ fileItem.file.name }}</a>\n\t\t</ng-template>\n\n\t\t<ng-template #actionsTpl>\n\t\t\t<button\n\t\t\t\tibmButton=\"ghost\"\n\t\t\t\ticonOnly=\"true\"\n\t\t\t\taria-label=\"View\"\n\t\t\t\t[size]=\"fileItemSize\">\n\t\t\t\t<svg ibmIcon=\"view\" size=\"16\"></svg>\n\t\t\t</button>\n\t\t\t<button\n\t\t\t\tibmButton=\"ghost\"\n\t\t\t\ticonOnly=\"true\"\n\t\t\t\taria-label=\"Download\"\n\t\t\t\t[size]=\"fileItemSize\">\n\t\t\t\t<svg ibmIcon=\"download\" size=\"16\"></svg>\n\t\t\t</button>\n\t\t</ng-template>\n\t`\n})\nexport class FileUploaderWithCustomFileStory {\n\t@Input() files = new Set<FileItem>();\n\t@Input() title;\n\t@Input() description;\n\t@Input() buttonText;\n\t@Input() buttonType = \"primary\";\n\t@Input() accept = [\".jpg\", \".png\"];\n\t@Input() multiple;\n\t@Input() skeleton = false;\n\t@Input() size = \"md\";\n\t@Input() disabled = false;\n\t@Input() fileItemSize: \"sm\" | \"md\" | \"lg\" = \"lg\";\n\n\tprotected maxSize = 500000;\n\n\tonUpload() {\n\t\tthis.files.forEach((fileItem) => {\n\t\t\tif (!fileItem.uploaded) {\n\t\t\t\tif (fileItem.file.size < this.maxSize) {\n\t\t\t\t\tfileItem.state = \"upload\";\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tfileItem.state = \"complete\";\n\t\t\t\t\t\tfileItem.uploaded = true;\n\t\t\t\t\t\tconsole.log(fileItem);\n\t\t\t\t\t}, 1500);\n\t\t\t\t}\n\n\t\t\t\tif (fileItem.file.size > this.maxSize) {\n\t\t\t\t\tfileItem.state = \"upload\";\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tfileItem.state = \"edit\";\n\t\t\t\t\t\tfileItem.invalid = true;\n\t\t\t\t\t\tfileItem.invalidTitle = \"File size exceeds limit\";\n\t\t\t\t\t\tfileItem.invalidText =\n\t\t\t\t\t\t\t\"500kb max file size. Select a new file and try again.\";\n\t\t\t\t\t}, 1500);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n}\n",
|
|
33591
|
+
"sourceCode": "import { Component, Input } from \"@angular/core\";\n\nimport { FileItem } from \"../\";\n\n@Component({\n\tselector: \"app-file-uploader-with-custom-file\",\n\ttemplate: `\n\t\t<p *ngIf=\"lastViewedFile\">Last viewed file: {{ lastViewedFile | json }}</p>\n\t\t<p *ngIf=\"lastDownloadedFile\">Last downloaded file: {{ lastDownloadedFile | json }}</p>\n\t\t<cds-file-uploader\n\t\t\t[title]=\"title\"\n\t\t\t[description]=\"description\"\n\t\t\t[buttonText]=\"buttonText\"\n\t\t\t[buttonType]=\"buttonType\"\n\t\t\t[accept]=\"accept\"\n\t\t\t[multiple]=\"multiple\"\n\t\t\t[skeleton]=\"skeleton\"\n\t\t\t[(files)]=\"files\"\n\t\t\t[size]=\"size\"\n\t\t\t[fileItemSize]=\"fileItemSize\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[fileNameTpl]=\"nameTpl\"\n\t\t\t[fileActionsTpl]=\"actionsTpl\">\n\t\t</cds-file-uploader>\n\t\t<button\n\t\t\tcdsButton\n\t\t\t*ngIf=\"files && files.size > 0\"\n\t\t\t(click)=\"onUpload()\"\n\t\t\tstyle=\"margin-top:20px\">\n\t\t\tUpload\n\t\t</button>\n\n\t\t<ng-template #nameTpl let-fileItem>\n\t\t\t<a href=\"#\" cdsLink>{{ fileItem.file.name }}</a>\n\t\t</ng-template>\n\n\t\t<ng-template #actionsTpl let-fileItem>\n\t\t\t<button\n\t\t\t\tibmButton=\"ghost\"\n\t\t\t\ticonOnly=\"true\"\n\t\t\t\taria-label=\"View\"\n\t\t\t\t[size]=\"fileItemSize\"\n\t\t\t\t(click)=\"onViewClick(fileItem)\">\n\t\t\t\t<svg ibmIcon=\"view\" size=\"16\"></svg>\n\t\t\t</button>\n\t\t\t<button\n\t\t\t\tibmButton=\"ghost\"\n\t\t\t\ticonOnly=\"true\"\n\t\t\t\taria-label=\"Download\"\n\t\t\t\t[size]=\"fileItemSize\"\n\t\t\t\t(click)=\"onDownloadClick(fileItem)\">\n\t\t\t\t<svg ibmIcon=\"download\" size=\"16\"></svg>\n\t\t\t</button>\n\t\t</ng-template>\n\t`\n})\nexport class FileUploaderWithCustomFileStory {\n\tlastViewedFile: FileItem | null = null;\n\tlastDownloadedFile: FileItem | null = null;\n\n\t@Input() files = new Set<FileItem>();\n\t@Input() title;\n\t@Input() description;\n\t@Input() buttonText;\n\t@Input() buttonType = \"primary\";\n\t@Input() accept = [\".jpg\", \".png\"];\n\t@Input() multiple;\n\t@Input() skeleton = false;\n\t@Input() size = \"md\";\n\t@Input() disabled = false;\n\t@Input() fileItemSize: \"sm\" | \"md\" | \"lg\" = \"lg\";\n\n\tprotected maxSize = 500000;\n\n\tonViewClick(file: FileItem) {\n\t\tthis.lastViewedFile = file;\n\t}\n\n\tonDownloadClick(file: FileItem) {\n\t\tthis.lastDownloadedFile = file;\n\t}\n\n\tonUpload() {\n\t\tthis.files.forEach((fileItem) => {\n\t\t\tif (!fileItem.uploaded) {\n\t\t\t\tif (fileItem.file.size < this.maxSize) {\n\t\t\t\t\tfileItem.state = \"upload\";\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tfileItem.state = \"complete\";\n\t\t\t\t\t\tfileItem.uploaded = true;\n\t\t\t\t\t\tconsole.log(fileItem);\n\t\t\t\t\t}, 1500);\n\t\t\t\t}\n\n\t\t\t\tif (fileItem.file.size > this.maxSize) {\n\t\t\t\t\tfileItem.state = \"upload\";\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tfileItem.state = \"edit\";\n\t\t\t\t\t\tfileItem.invalid = true;\n\t\t\t\t\t\tfileItem.invalidTitle = \"File size exceeds limit\";\n\t\t\t\t\t\tfileItem.invalidText =\n\t\t\t\t\t\t\t\"500kb max file size. Select a new file and try again.\";\n\t\t\t\t\t}, 1500);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n}\n",
|
|
33515
33592
|
"assetsDirs": [],
|
|
33516
33593
|
"styleUrlsData": "",
|
|
33517
33594
|
"stylesData": "",
|
|
@@ -89364,7 +89441,7 @@
|
|
|
89364
89441
|
"linktype": "component",
|
|
89365
89442
|
"name": "FileUploaderWithCustomFileStory",
|
|
89366
89443
|
"coveragePercent": 0,
|
|
89367
|
-
"coverageCount": "0/
|
|
89444
|
+
"coverageCount": "0/17",
|
|
89368
89445
|
"status": "low"
|
|
89369
89446
|
},
|
|
89370
89447
|
{
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunkcarbon_components_angular=self.webpackChunkcarbon_components_angular||[]).push([[1335],{"./src/file-uploader/index.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{Pw:()=>FileComponent,bA:()=>FileUploader,pd:()=>FileUploaderModule});var tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.js"),core=__webpack_require__("./node_modules/@angular/core/fesm2020/core.mjs"),fesm2020_forms=__webpack_require__("./node_modules/@angular/forms/fesm2020/forms.mjs"),i18n=__webpack_require__("./src/i18n/index.ts");const noop=()=>{};let FileUploader=class FileUploader{constructor(i18n){this.i18n=i18n,this.buttonText=this.i18n.get().FILE_UPLOADER.OPEN,this.buttonType="primary",this.accept=[],this.multiple=!0,this.skeleton=!1,this.fileItemSize="lg",this.drop=!1,this.fileUploaderId=`file-uploader-${FileUploader.fileUploaderCount}`,this.files=new Set,this.disabled=!1,this.filesChange=new core.EventEmitter,this.dragOver=!1,this.onTouchedCallback=noop,this.onChangeCallback=noop,FileUploader.fileUploaderCount++}get value(){return this.files}set value(v){v!==this.files&&(this.files=v,this.onChangeCallback(v))}onBlur(){this.onTouchedCallback()}get fileList(){return Array.from(this.fileInput.nativeElement.files)}writeValue(value){value!==this.value&&(this.files=value)}createFileItem(file){return{uploaded:!1,state:"edit",invalid:!1,invalidText:"",file}}onFilesAdded(){const newFiles=new Set(this.files);this.multiple||newFiles.clear();for(let file of this.fileList){const fileItem=this.createFileItem(file);newFiles.add(fileItem)}this.value=newFiles,this.filesChange.emit(newFiles)}onDragOver(event){event.stopPropagation(),event.preventDefault(),this.disabled||(this.dragOver=!0)}onDragLeave(event){event.stopPropagation(),event.preventDefault(),this.dragOver=!1}onDrop(event){if(event.stopPropagation(),event.preventDefault(),this.disabled)return;const transferredFiles=Array.from(event.dataTransfer.files),newFiles=new Set(this.files);transferredFiles.filter((({name,type})=>{const fileExtension=name.split(".").pop().replace(/^/,".");return this.accept.includes(type)||this.accept.includes(fileExtension)||!this.accept.length})).forEach((file=>{if(!newFiles.size||this.multiple){const fileItem=this.createFileItem(file);newFiles.add(fileItem)}})),this.value=newFiles,this.filesChange.emit(newFiles),this.dragOver=!1}removeFile(fileItem){if(this.files&&this.files.has(fileItem)){const newFiles=new Set(this.files);newFiles.delete(fileItem),this.filesChange.emit(newFiles),this.value=newFiles}this.fileInput.nativeElement.value=""}isTemplate(value){return value instanceof core.TemplateRef}registerOnTouched(fn){this.onTouchedCallback=fn}registerOnChange(fn){this.onChangeCallback=fn}setDisabledState(isDisabled){this.disabled=isDisabled}};FileUploader.fileUploaderCount=0,FileUploader.ctorParameters=()=>[{type:i18n.oc}],FileUploader.propDecorators={buttonText:[{type:core.Input}],buttonType:[{type:core.Input}],title:[{type:core.Input}],description:[{type:core.Input}],accept:[{type:core.Input}],multiple:[{type:core.Input}],skeleton:[{type:core.Input}],size:[{type:core.Input}],fileItemSize:[{type:core.Input}],drop:[{type:core.Input}],dropText:[{type:core.Input}],fileUploaderId:[{type:core.Input}],fileInput:[{type:core.ViewChild,args:["fileInput"]}],files:[{type:core.Input}],disabled:[{type:core.Input}],fileNameTpl:[{type:core.Input}],fileActionsTpl:[{type:core.Input}],filesChange:[{type:core.Output}]},FileUploader=(0,tslib_es6.gn)([(0,core.Component)({selector:"cds-file-uploader, ibm-file-uploader",template:'\n\t\t<ng-container *ngIf="!skeleton; else skeletonTemplate">\n\t\t\t<label [for]="fileUploaderId" class="cds--file--label">{{title}}</label>\n\t\t\t<p class="cds--label-description" role="alert">{{description}}</p>\n\t\t\t<div class="cds--file">\n\t\t\t\t<label\n\t\t\t\t\t*ngIf="drop"\n\t\t\t\t\tclass="cds--file-browse-btn"\n\t\t\t\t\t(keyup.enter)="fileInput.click()"\n\t\t\t\t\t(keyup.space)="fileInput.click()"\n\t\t\t\t\t[ngClass]="{\'cds--file-browse-btn--disabled\': disabled}"\n\t\t\t\t\ttabindex="0">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass="cds--file__drop-container"\n\t\t\t\t\t\t[ngClass]="{\'cds--file__drop-container--drag-over\': dragOver}"\n\t\t\t\t\t\trole="button"\n\t\t\t\t\t\t(click)="fileInput.click()"\n\t\t\t\t\t\t[attr.for]="fileUploaderId"\n\t\t\t\t\t\t(dragover)="onDragOver($event)"\n\t\t\t\t\t\t(dragleave)="onDragLeave($event)"\n\t\t\t\t\t\t(drop)="onDrop($event)">\n\t\t\t\t\t\t<ng-container *ngIf="!isTemplate(dropText)">{{dropText}}</ng-container>\n\t\t\t\t\t\t<ng-template *ngIf="isTemplate(dropText)" [ngTemplateOutlet]="dropText"></ng-template>\n\t\t\t\t\t</div>\n\t\t\t\t</label>\n\t\t\t\t<button\n\t\t\t\t\t*ngIf="!drop"\n\t\t\t\t\ttype="button"\n\t\t\t\t\t[cdsButton]="buttonType"\n\t\t\t\t\t(click)="fileInput.click()"\n\t\t\t\t\t[attr.for]="fileUploaderId"\n\t\t\t\t\t[size]="size"\n\t\t\t\t\t[disabled]="disabled">\n\t\t\t\t\t{{buttonText}}\n\t\t\t\t</button>\n\t\t\t\t<input\n\t\t\t\t\t#fileInput\n\t\t\t\t\ttype="file"\n\t\t\t\t\tclass="cds--file-input"\n\t\t\t\t\t[accept]="accept"\n\t\t\t\t\t[id]="fileUploaderId"\n\t\t\t\t\t[multiple]="multiple"\n\t\t\t\t\ttabindex="-1"\n\t\t\t\t\t(change)="onFilesAdded()"\n\t\t\t\t\t[disabled]="disabled"/>\n\t\t\t\t<div class="cds--file-container">\n\t\t\t\t\t<ng-container *ngFor="let fileItem of files">\n\t\t\t\t\t\t<cds-file\n\t\t\t\t\t\t\t[fileItem]="fileItem"\n\t\t\t\t\t\t\t[nameTpl]="fileNameTpl"\n\t\t\t\t\t\t\t[actionsTpl]="fileActionsTpl"\n\t\t\t\t\t\t\t[size]="fileItemSize"\n\t\t\t\t\t\t\t(remove)="removeFile(fileItem)">\n\t\t\t\t\t\t</cds-file>\n\t\t\t\t\t</ng-container>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</ng-container>\n\n\t\t<ng-template #skeletonTemplate>\n\t\t\t<div class="cds--skeleton__text" style="width: 100px"></div>\n\t\t\t<div class="cds--skeleton__text" style="width: 225px"></div>\n\t\t\t<button cdsButton skeleton="true"></button>\n\t\t</ng-template>\n\t',providers:[{provide:fesm2020_forms.JU,useExisting:FileUploader,multi:!0}]})],FileUploader);let FileComponent=class FileComponent{constructor(i18n){this.i18n=i18n,this.translations=this.i18n.get().FILE_UPLOADER,this.size="lg",this.remove=new core.EventEmitter,this.selectedFile=!0}get isInvalidText(){return this.fileItem.invalidText}get fileSizeSmall(){return"sm"===this.size}get fileSizeMedium(){return"md"===this.size}get fileSizeLarge(){return"lg"===this.size}isTemplate(value){return value instanceof core.TemplateRef}ngOnDestroy(){this.remove.emit()}};FileComponent.ctorParameters=()=>[{type:i18n.oc}],FileComponent.propDecorators={translations:[{type:core.Input}],fileItem:[{type:core.Input}],size:[{type:core.Input}],nameTpl:[{type:core.Input}],actionsTpl:[{type:core.Input}],remove:[{type:core.Output}],selectedFile:[{type:core.HostBinding,args:["class.cds--file__selected-file"]}],isInvalidText:[{type:core.HostBinding,args:["class.cds--file__selected-file--invalid"]}],fileSizeSmall:[{type:core.HostBinding,args:["class.cds--file__selected-file--sm"]}],fileSizeMedium:[{type:core.HostBinding,args:["class.cds--file__selected-file--md"]}],fileSizeLarge:[{type:core.HostBinding,args:["class.cds--file__selected-file--lg"]}]},FileComponent=(0,tslib_es6.gn)([(0,core.Component)({selector:"cds-file, ibm-file",template:'\n\t\t<p class="cds--file-filename" [title]="fileItem.file.name">\n\t\t\t<ng-template\n\t\t\t\t*ngIf="isTemplate(nameTpl); else defaultName"\n\t\t\t\t[ngTemplateOutlet]="nameTpl"\n\t\t\t\t[ngTemplateOutletContext]="{ $implicit: fileItem }">\n\t\t\t</ng-template>\n\t\t\t<ng-template #defaultName>{{ fileItem.file.name }}</ng-template>\n\t\t</p>\n\t\t<span *ngIf="fileItem.state === \'edit\'" class="cds--file__state-container">\n\t\t\t<svg\n\t\t\t\t*ngIf="isInvalidText"\n\t\t\t\tcdsIcon="warning--filled"\n\t\t\t\tclass="cds--file--invalid"\n\t\t\t\tsize="16">\n\t\t\t</svg>\n\t\t\t<ng-template\n\t\t\t\t*ngIf="isTemplate(actionsTpl); else defaultActions"\n\t\t\t\t[ngTemplateOutlet]="actionsTpl"\n\t\t\t\t[ngTemplateOutletContext]="{ $implicit: fileItem }">\n\t\t\t</ng-template>\n\t\t\t<ng-template #defaultActions>\n\t\t\t\t<button\n\t\t\t\t\ttype="button"\n\t\t\t\t\tcdsButton="ghost"\n\t\t\t\t\ticonOnly="true"\n\t\t\t\t\t[size]="size"\n\t\t\t\t\t[attr.aria-label]="translations.REMOVE_BUTTON"\n\t\t\t\t\t(click)="remove.emit()"\n\t\t\t\t\t(keyup.enter)="remove.emit()"\n\t\t\t\t\t(keyup.space)="remove.emit()">\n\t\t\t\t\t<svg cdsIcon="trash-can" size="16"></svg>\n\t\t\t\t</button>\n\t\t\t</ng-template>\n\t\t</span>\n\t\t<span *ngIf="fileItem.state === \'upload\'">\n\t\t\t<div class="cds--inline-loading__animation">\n\t\t\t\t<cds-loading size="sm"></cds-loading>\n\t\t\t</div>\n\t\t</span>\n\t\t<span\n\t\t\t*ngIf="fileItem.state === \'complete\'"\n\t\t\tclass="cds--file__state-container">\n\t\t\t<svg\n\t\t\t\tcdsIcon="checkmark--filled"\n\t\t\t\tsize="16"\n\t\t\t\tclass="cds--file-complete"\n\t\t\t\t[ariaLabel]="translations.CHECKMARK">\n\t\t\t</svg>\n\t\t</span>\n\t\t<div\n\t\t\tclass="cds--form-requirement"\n\t\t\trole="alert"\n\t\t\t*ngIf="fileItem.invalid">\n\t\t\t<div class="cds--form-requirement__title">\n\t\t\t\t{{ fileItem.invalidTitle }}\n\t\t\t</div>\n\t\t\t<p class="cds--form-requirement__supplement">\n\t\t\t\t{{ fileItem.invalidText }}\n\t\t\t</p>\n\t\t</div>\n\t'})],FileComponent);var common=__webpack_require__("./node_modules/@angular/common/fesm2020/common.mjs"),src_button=__webpack_require__("./src/button/index.ts"),loading=__webpack_require__("./src/loading/index.ts"),icon=__webpack_require__("./src/icon/index.ts");let FileUploaderModule=class FileUploaderModule{};FileUploaderModule=(0,tslib_es6.gn)([(0,core.NgModule)({declarations:[FileUploader,FileComponent],exports:[FileUploader,FileComponent],imports:[common.CommonModule,src_button.hJ,loading.I,icon.QX]})],FileUploaderModule)},"./src/file-uploader/stories/index.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{jm:()=>BasicFileStory,hC:()=>CustomFileIconsModule,ze:()=>CustomFileStory,sv:()=>DragAndDropStory,ZR:()=>FileUploaderStory,O5:()=>FileUploaderWithCustomFileStory,fh:()=>NgModelFileUploaderStory,EY:()=>ReactiveFormsStory});var tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.js"),core=__webpack_require__("./node_modules/@angular/core/fesm2020/core.mjs");let BasicFileStory=class BasicFileStory{constructor(){this.size="sm",this.fileItem={file:new File(["foo"],"Lorem ipsum dolor sit amet.txt",{type:"text/plain"}),state:"edit"}}};BasicFileStory.propDecorators={size:[{type:core.Input}]},BasicFileStory=(0,tslib_es6.gn)([(0,core.Component)({selector:"app-basic-file",template:'<cds-file [size]="size" [fileItem]="fileItem"></cds-file>'})],BasicFileStory);var common=__webpack_require__("./node_modules/@angular/common/fesm2020/common.mjs"),_16=__webpack_require__("./node_modules/@carbon/icons/es/download/16.js"),view_16=__webpack_require__("./node_modules/@carbon/icons/es/view/16.js"),icon=__webpack_require__("./src/icon/index.ts");let CustomFileIconsModule=class CustomFileIconsModule{constructor(iconService){this.iconService=iconService,this.iconService.registerAll([_16.Z,view_16.Z])}};CustomFileIconsModule.ctorParameters=()=>[{type:icon.C6}],CustomFileIconsModule=(0,tslib_es6.gn)([(0,core.NgModule)({imports:[common.CommonModule,icon.QX]})],CustomFileIconsModule);let CustomFileStory=class CustomFileStory{constructor(){this.size="sm",this.fileItem={file:new File(["foo"],"Lorem ipsum dolor sit amet.txt",{type:"text/plain"}),state:"edit"}}};CustomFileStory.propDecorators={size:[{type:core.Input}]},CustomFileStory=(0,tslib_es6.gn)([(0,core.Component)({selector:"app-custom-file",template:'\n\t\t<cds-file\n\t\t\t[size]="size"\n\t\t\t[fileItem]="fileItem"\n\t\t\t[nameTpl]="nameTpl"\n\t\t\t[actionsTpl]="actionsTpl">\n\t\t</cds-file>\n\n\t\t<ng-template #nameTpl let-fileItem>\n\t\t\t<a href="#" cdsLink>{{ fileItem.file.name }}</a>\n\t\t</ng-template>\n\n\t\t<ng-template #actionsTpl>\n\t\t\t<button\n\t\t\t\tibmButton="ghost"\n\t\t\t\ticonOnly="true"\n\t\t\t\taria-label="View"\n\t\t\t\t[size]="size">\n\t\t\t\t<svg ibmIcon="view" size="16"></svg>\n\t\t\t</button>\n\t\t\t<button\n\t\t\t\tibmButton="ghost"\n\t\t\t\ticonOnly="true"\n\t\t\t\taria-label="Download"\n\t\t\t\t[size]="size">\n\t\t\t\t<svg ibmIcon="download" size="16"></svg>\n\t\t\t</button>\n\t\t</ng-template>\n\t'})],CustomFileStory);var file_type=__webpack_require__("./node_modules/file-type/index.js");let DragAndDropStory=class DragAndDropStory{constructor(){this.files=new Set,this.accept=[".jpg",".png"],this.dropText="Drag and drop files here of upload",this.disabled=!1,this.fileItemSize="lg",this.maxSize=5e5}onDropped(event){const transferredFiles=Array.from(event),readFileAndCheckType=fileObj=>new Promise(((resolve,reject)=>{let fileExtension,mime,reader=new FileReader;reader.readAsArrayBuffer(fileObj.file),reader.onload=()=>{if(reader.result){const type=file_type(reader.result);type?(fileExtension=type.ext.replace(/^/,"."),mime=type.mime):(fileExtension=fileObj.file.name.split(".").pop().replace(/^/,"."),mime=fileObj.file.type)}resolve({file:fileObj,accept:this.accept.includes(fileExtension)||this.accept.includes(mime)||!this.accept.length})},reader.onerror=error=>{reject(error)}})),promises=transferredFiles.map((file=>readFileAndCheckType(file)));Promise.all(promises).then((filePromiseArray=>filePromiseArray.filter((filePromise=>filePromise.accept)).map((acceptedFile=>acceptedFile.file)))).then((acceptedFiles=>this.files=new Set(acceptedFiles))).catch((error=>console.log(error)))}onUpload(){this.files.forEach((fileItem=>{fileItem.uploaded||(fileItem.file.size<this.maxSize&&(fileItem.state="upload",setTimeout((()=>{fileItem.state="complete",fileItem.uploaded=!0,console.log(fileItem)}),1500)),fileItem.file.size>this.maxSize&&(fileItem.state="upload",setTimeout((()=>{fileItem.state="edit",fileItem.invalid=!0,fileItem.invalidText="File size exceeds limit"}),1500)))}))}};DragAndDropStory.propDecorators={files:[{type:core.Input}],title:[{type:core.Input}],description:[{type:core.Input}],accept:[{type:core.Input}],multiple:[{type:core.Input}],dropText:[{type:core.Input}],disabled:[{type:core.Input}],fileItemSize:[{type:core.Input}]},DragAndDropStory=(0,tslib_es6.gn)([(0,core.Component)({selector:"app-drop-file-uploader",template:'\n\t\t<cds-file-uploader\n\t\t\t[title]="title"\n\t\t\t[description]="description"\n\t\t\t[buttonText]="buttonText"\n\t\t\t[buttonType]="buttonType"\n\t\t\t[accept]="accept"\n\t\t\t[multiple]="multiple"\n\t\t\t[skeleton]="skeleton"\n\t\t\t[(files)]="files"\n\t\t\t[size]="size"\n\t\t\t[fileItemSize]="fileItemSize"\n\t\t\tdrop="true"\n\t\t\t[dropText]="dropText"\n\t\t\t(filesChange)="onDropped($event)"\n\t\t\t[disabled]="disabled">\n\t\t</cds-file-uploader>\n\t\t<button\n\t\t\tcdsButton\n\t\t\t*ngIf="files && files.size > 0"\n\t\t\t(click)="onUpload()"\n\t\t\tstyle="margin-top:20px">\n\t\t\tUpload\n\t\t</button>\n\t'})],DragAndDropStory);let FileUploaderWithCustomFileStory=class FileUploaderWithCustomFileStory{constructor(){this.lastViewedFile=null,this.lastDownloadedFile=null,this.files=new Set,this.buttonType="primary",this.accept=[".jpg",".png"],this.skeleton=!1,this.size="md",this.disabled=!1,this.fileItemSize="lg",this.maxSize=5e5}onViewClick(file){this.lastViewedFile=file}onDownloadClick(file){this.lastDownloadedFile=file}onUpload(){this.files.forEach((fileItem=>{fileItem.uploaded||(fileItem.file.size<this.maxSize&&(fileItem.state="upload",setTimeout((()=>{fileItem.state="complete",fileItem.uploaded=!0,console.log(fileItem)}),1500)),fileItem.file.size>this.maxSize&&(fileItem.state="upload",setTimeout((()=>{fileItem.state="edit",fileItem.invalid=!0,fileItem.invalidTitle="File size exceeds limit",fileItem.invalidText="500kb max file size. Select a new file and try again."}),1500)))}))}};FileUploaderWithCustomFileStory.propDecorators={files:[{type:core.Input}],title:[{type:core.Input}],description:[{type:core.Input}],buttonText:[{type:core.Input}],buttonType:[{type:core.Input}],accept:[{type:core.Input}],multiple:[{type:core.Input}],skeleton:[{type:core.Input}],size:[{type:core.Input}],disabled:[{type:core.Input}],fileItemSize:[{type:core.Input}]},FileUploaderWithCustomFileStory=(0,tslib_es6.gn)([(0,core.Component)({selector:"app-file-uploader-with-custom-file",template:'\n\t\t<p *ngIf="lastViewedFile">Last viewed file: {{ lastViewedFile | json }}</p>\n\t\t<p *ngIf="lastDownloadedFile">Last downloaded file: {{ lastDownloadedFile | json }}</p>\n\t\t<cds-file-uploader\n\t\t\t[title]="title"\n\t\t\t[description]="description"\n\t\t\t[buttonText]="buttonText"\n\t\t\t[buttonType]="buttonType"\n\t\t\t[accept]="accept"\n\t\t\t[multiple]="multiple"\n\t\t\t[skeleton]="skeleton"\n\t\t\t[(files)]="files"\n\t\t\t[size]="size"\n\t\t\t[fileItemSize]="fileItemSize"\n\t\t\t[disabled]="disabled"\n\t\t\t[fileNameTpl]="nameTpl"\n\t\t\t[fileActionsTpl]="actionsTpl">\n\t\t</cds-file-uploader>\n\t\t<button\n\t\t\tcdsButton\n\t\t\t*ngIf="files && files.size > 0"\n\t\t\t(click)="onUpload()"\n\t\t\tstyle="margin-top:20px">\n\t\t\tUpload\n\t\t</button>\n\n\t\t<ng-template #nameTpl let-fileItem>\n\t\t\t<a href="#" cdsLink>{{ fileItem.file.name }}</a>\n\t\t</ng-template>\n\n\t\t<ng-template #actionsTpl let-fileItem>\n\t\t\t<button\n\t\t\t\tibmButton="ghost"\n\t\t\t\ticonOnly="true"\n\t\t\t\taria-label="View"\n\t\t\t\t[size]="fileItemSize"\n\t\t\t\t(click)="onViewClick(fileItem)">\n\t\t\t\t<svg ibmIcon="view" size="16"></svg>\n\t\t\t</button>\n\t\t\t<button\n\t\t\t\tibmButton="ghost"\n\t\t\t\ticonOnly="true"\n\t\t\t\taria-label="Download"\n\t\t\t\t[size]="fileItemSize"\n\t\t\t\t(click)="onDownloadClick(fileItem)">\n\t\t\t\t<svg ibmIcon="download" size="16"></svg>\n\t\t\t</button>\n\t\t</ng-template>\n\t'})],FileUploaderWithCustomFileStory);let NgModelFileUploaderStory=class NgModelFileUploaderStory{constructor(){this.buttonType="primary",this.size="md",this.disabled=!1,this.fileItemSize="lg",this.model=new Set,this.maxSize=5e5}removeFiles(){this.model=new Set}onUpload(){this.model.forEach((fileItem=>{fileItem.uploaded||(fileItem.file.size<this.maxSize&&(fileItem.state="upload",setTimeout((()=>{fileItem.state="complete",fileItem.uploaded=!0,console.log(fileItem)}),1500)),fileItem.file.size>this.maxSize&&(fileItem.state="upload",setTimeout((()=>{fileItem.state="edit",fileItem.invalid=!0,fileItem.invalidTitle="File size exceeds limit",fileItem.invalidText="500kb max file size. Select a new file and try again."}),1500)))}))}};NgModelFileUploaderStory.propDecorators={title:[{type:core.Input}],description:[{type:core.Input}],buttonText:[{type:core.Input}],buttonType:[{type:core.Input}],accept:[{type:core.Input}],multiple:[{type:core.Input}],size:[{type:core.Input}],disabled:[{type:core.Input}],fileItemSize:[{type:core.Input}]},NgModelFileUploaderStory=(0,tslib_es6.gn)([(0,core.Component)({selector:"app-ngmodel-file-uploader",template:'\n\t\t<cds-file-uploader\n\t\t\t[title]="title"\n\t\t\t[description]="description"\n\t\t\t[buttonText]="buttonText"\n\t\t\t[buttonType]="buttonType"\n\t\t\t[accept]="accept"\n\t\t\t[multiple]="multiple"\n\t\t\t[size]="size"\n\t\t\t[fileItemSize]="fileItemSize"\n\t\t\t[(ngModel)]="model"\n\t\t\t[disabled]="disabled">\n\t\t</cds-file-uploader>\n\t\t<button\n\t\t\tcdsButton\n\t\t\t*ngIf="model && model.size > 0"\n\t\t\t(click)="onUpload()"\n\t\t\tstyle="margin-top:20px">\n\t\t\tUpload\n\t\t</button>\n\t\t<button cdsButton (click)="removeFiles()">Remove all</button>\n\t'})],NgModelFileUploaderStory);var fesm2020_forms=__webpack_require__("./node_modules/@angular/forms/fesm2020/forms.mjs");let ReactiveFormsStory=class ReactiveFormsStory{constructor(formBuilder){this.formBuilder=formBuilder,this.buttonType="primary",this.accept=[".jpg",".png"],this.skeleton=!1,this.size="md",this.disabled=!1,this.fileItemSize="lg",this.maxSize=5e5}ngOnInit(){this.formGroup=this.formBuilder.group({files:new fesm2020_forms.NI(new Set,[fesm2020_forms.kI.required])}),this.disabledFormGroup=this.formBuilder.group({files:new fesm2020_forms.NI(new Set,[fesm2020_forms.kI.required])}),this.disabledFormGroup.disable()}onUpload(){this.formGroup.get("files").value.forEach((fileItem=>{fileItem.uploaded||(fileItem.file.size<this.maxSize&&(fileItem.state="upload",setTimeout((()=>{fileItem.state="complete",fileItem.uploaded=!0}),1500)),fileItem.file.size>this.maxSize&&(fileItem.state="upload",setTimeout((()=>{fileItem.state="edit",fileItem.invalid=!0,fileItem.invalidTitle="File size exceeds limit",fileItem.invalidText="500kb max file size. Select a new file and try again."}),1500)))}))}};ReactiveFormsStory.ctorParameters=()=>[{type:fesm2020_forms.qu}],ReactiveFormsStory.propDecorators={title:[{type:core.Input}],description:[{type:core.Input}],buttonText:[{type:core.Input}],buttonType:[{type:core.Input}],accept:[{type:core.Input}],multiple:[{type:core.Input}],skeleton:[{type:core.Input}],size:[{type:core.Input}],disabled:[{type:core.Input}],fileItemSize:[{type:core.Input}]},ReactiveFormsStory=(0,tslib_es6.gn)([(0,core.Component)({selector:"app-reactive-forms",template:'\n\t\t<form [formGroup]="formGroup" (ngSubmit)="onUpload()">\n\t\t\t<cds-file-uploader\n\t\t\t\t[title]="title"\n\t\t\t\t[description]="description"\n\t\t\t\t[buttonText]="buttonText"\n\t\t\t\t[buttonType]="buttonType"\n\t\t\t\t[accept]="accept"\n\t\t\t\t[multiple]="multiple"\n\t\t\t\t[skeleton]="skeleton"\n\t\t\t\t[size]="size"\n\t\t\t\t[fileItemSize]="fileItemSize"\n\t\t\t\t[disabled]="disabled"\n\t\t\t\tformControlName="files">\n\t\t\t</cds-file-uploader>\n\t\t\t<button\n\t\t\t\tcdsButton\n\t\t\t\t*ngIf="formGroup.get(\'files\').value && formGroup.get(\'files\').value.size > 0"\n\t\t\t\ttype="submit"\n\t\t\t\tstyle="margin-top: 20px">\n\t\t\t\tUpload\n\t\t\t</button>\n\t\t</form>\n\t\t<form [formGroup]="disabledFormGroup" (ngSubmit)="onUpload()">\n\t\t\t<cds-file-uploader\n\t\t\t\t[title]="title"\n\t\t\t\t[description]="description"\n\t\t\t\t[buttonText]="buttonText"\n\t\t\t\t[buttonType]="buttonType"\n\t\t\t\t[accept]="accept"\n\t\t\t\t[multiple]="multiple"\n\t\t\t\t[skeleton]="skeleton"\n\t\t\t\t[size]="size"\n\t\t\t\tformControlName="files">\n\t\t\t</cds-file-uploader>\n\t\t\t<div [id]="notificationId" style="width: 300px; margin-top: 20px"></div>\n\t\t\t<button cdsButton *ngIf="disabledFormGroup.get(\'files\').value && disabledFormGroup.get(\'files\').value.size > 0" type="submit">\n\t\t\t\tUpload\n\t\t\t</button>\n\t\t</form>\n\t'})],ReactiveFormsStory);let FileUploaderStory=class FileUploaderStory{constructor(){this.files=new Set,this.buttonType="primary",this.accept=[".jpg",".png"],this.skeleton=!1,this.size="md",this.disabled=!1,this.fileItemSize="lg",this.maxSize=5e5}onUpload(){this.files.forEach((fileItem=>{fileItem.uploaded||(fileItem.file.size<this.maxSize&&(fileItem.state="upload",setTimeout((()=>{fileItem.state="complete",fileItem.uploaded=!0,console.log(fileItem)}),1500)),fileItem.file.size>this.maxSize&&(fileItem.state="upload",setTimeout((()=>{fileItem.state="edit",fileItem.invalid=!0,fileItem.invalidTitle="File size exceeds limit",fileItem.invalidText="500kb max file size. Select a new file and try again."}),1500)))}))}};FileUploaderStory.propDecorators={files:[{type:core.Input}],title:[{type:core.Input}],description:[{type:core.Input}],buttonText:[{type:core.Input}],buttonType:[{type:core.Input}],accept:[{type:core.Input}],multiple:[{type:core.Input}],skeleton:[{type:core.Input}],size:[{type:core.Input}],disabled:[{type:core.Input}],fileItemSize:[{type:core.Input}]},FileUploaderStory=(0,tslib_es6.gn)([(0,core.Component)({selector:"app-file-uploader",template:'\n\t\t<cds-file-uploader\n\t\t\t[title]="title"\n\t\t\t[description]="description"\n\t\t\t[buttonText]="buttonText"\n\t\t\t[buttonType]="buttonType"\n\t\t\t[accept]="accept"\n\t\t\t[multiple]="multiple"\n\t\t\t[skeleton]="skeleton"\n\t\t\t[(files)]="files"\n\t\t\t[size]="size"\n\t\t\t[fileItemSize]="fileItemSize"\n\t\t\t[disabled]="disabled">\n\t\t</cds-file-uploader>\n\t\t<button cdsButton *ngIf="files && files.size > 0" (click)="onUpload()" style="margin-top:20px">\n\t\t\tUpload\n\t\t</button>\n\t'})],FileUploaderStory)},"./src/loading/index.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{g:()=>Loading,I:()=>LoadingModule});var tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.js"),core=__webpack_require__("./node_modules/@angular/core/fesm2020/core.mjs"),i18n=__webpack_require__("./src/i18n/index.ts");let Loading=class Loading{constructor(i18n){this.i18n=i18n,this.title=this.i18n.get().LOADING.TITLE,this.isActive=!0,this.size="normal",this.overlay=!1}};Loading.ctorParameters=()=>[{type:i18n.oc}],Loading.propDecorators={title:[{type:core.Input}],isActive:[{type:core.Input}],size:[{type:core.Input}],overlay:[{type:core.Input},{type:core.HostBinding,args:["class.cds--loading-overlay"]}]},Loading=(0,tslib_es6.gn)([(0,core.Component)({selector:"cds-loading, ibm-loading",template:'\n\t\t<div\n\t\t\t[ngClass]="{\n\t\t\t\t\'cds--loading--small\': size === \'sm\',\n\t\t\t\t\'cds--loading--stop\': !isActive && !overlay,\n\t\t\t\t\'cds--loading-overlay--stop\': !isActive && overlay\n\t\t\t}"\n\t\t\tclass="cds--loading">\n\t\t\t<svg class="cds--loading__svg" viewBox="0 0 100 100">\n\t\t\t\t<title>{{title}}</title>\n\t\t\t\t<circle class="cds--loading__stroke" cx="50%" cy="50%" r="44" />\n\t\t\t</svg>\n\t\t</div>\n\t'})],Loading);var common=__webpack_require__("./node_modules/@angular/common/fesm2020/common.mjs");let LoadingModule=class LoadingModule{};LoadingModule=(0,tslib_es6.gn)([(0,core.NgModule)({declarations:[Loading],exports:[Loading],imports:[common.CommonModule,i18n.LU]})],LoadingModule)}}]);
|
|
@@ -348,8 +348,8 @@
|
|
|
348
348
|
window['DOCS_OPTIONS'] = {"defaultName":"Docs","autodocs":true};</script><script type="module">import './sb-preview/runtime.js';
|
|
349
349
|
|
|
350
350
|
|
|
351
|
-
import './runtime~main.
|
|
351
|
+
import './runtime~main.5491fa20.iframe.bundle.js';
|
|
352
352
|
|
|
353
353
|
import './5478.5fc19af5.iframe.bundle.js';
|
|
354
354
|
|
|
355
|
-
import './main.
|
|
355
|
+
import './main.be15134b.iframe.bundle.js';</script></body></html>
|