@hermes-ui/angular 0.1.5 → 0.1.7
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/README.md +52 -52
- package/button/_properties.buttons.scss +387 -387
- package/fesm2022/hermes-ui-angular-accordion.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-a11y.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-card-container.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-certificate-viewer.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-datagrid-filters.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-datagrid.mjs +28 -28
- package/fesm2022/hermes-ui-angular-addons-datagrid.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-dialog.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-menu.mjs +8 -8
- package/fesm2022/hermes-ui-angular-addons-menu.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-property-view.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-stepper.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-tabs.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-testing.mjs +78 -78
- package/fesm2022/hermes-ui-angular-addons-testing.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-theme-builder.mjs +1 -1
- package/fesm2022/hermes-ui-angular-addons-theme-builder.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-var.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-wizard.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-workflow.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-button.mjs +74 -74
- package/fesm2022/hermes-ui-angular-button.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-card.mjs +48 -0
- package/fesm2022/hermes-ui-angular-card.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-collapsible-panel.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-data-datagrid.mjs +926 -926
- package/fesm2022/hermes-ui-angular-data-datagrid.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-data-stack-view.mjs +114 -114
- package/fesm2022/hermes-ui-angular-data-stack-view.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-data-tree-view.mjs +12 -12
- package/fesm2022/hermes-ui-angular-data-tree-view.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-data.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-divider.mjs +46 -0
- package/fesm2022/hermes-ui-angular-divider.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-emphasis-alert.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-emphasis-badge.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-emphasis-label.mjs +16 -16
- package/fesm2022/hermes-ui-angular-emphasis-label.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-emphasis.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-checkbox.mjs +50 -50
- package/fesm2022/hermes-ui-angular-forms-checkbox.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-combobox.mjs +126 -126
- package/fesm2022/hermes-ui-angular-forms-combobox.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-common.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-datalist.mjs +46 -46
- package/fesm2022/hermes-ui-angular-forms-datalist.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-datepicker.mjs +375 -375
- package/fesm2022/hermes-ui-angular-forms-datepicker.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-file-input.mjs +190 -190
- package/fesm2022/hermes-ui-angular-forms-file-input.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-input.mjs +52 -52
- package/fesm2022/hermes-ui-angular-forms-input.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-native-select.mjs +38 -38
- package/fesm2022/hermes-ui-angular-forms-native-select.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-number-input.mjs +80 -80
- package/fesm2022/hermes-ui-angular-forms-number-input.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-password.mjs +58 -58
- package/fesm2022/hermes-ui-angular-forms-password.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-radio.mjs +50 -50
- package/fesm2022/hermes-ui-angular-forms-radio.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-range.mjs +44 -44
- package/fesm2022/hermes-ui-angular-forms-range.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-select.mjs +8 -8
- package/fesm2022/hermes-ui-angular-forms-select.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-textarea.mjs +38 -38
- package/fesm2022/hermes-ui-angular-forms-textarea.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-icon.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-layout-breadcrumbs.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-layout-main-container.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-layout-nav.mjs +46 -46
- package/fesm2022/hermes-ui-angular-layout-nav.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-layout-tabs.mjs +146 -146
- package/fesm2022/hermes-ui-angular-layout-tabs.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-layout-vertical-nav.mjs +31 -3
- package/fesm2022/hermes-ui-angular-layout-vertical-nav.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-layout.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-modal.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-pagination.mjs +116 -0
- package/fesm2022/hermes-ui-angular-pagination.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-popover-common.mjs +26 -3
- package/fesm2022/hermes-ui-angular-popover-common.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-popover-dropdown.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-popover-signpost.mjs +66 -66
- package/fesm2022/hermes-ui-angular-popover-signpost.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-popover-tooltip.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-popover.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-progress-progress-bars.mjs +10 -10
- package/fesm2022/hermes-ui-angular-progress-progress-bars.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-progress-spinner.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-stepper.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-timeline.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-toast.mjs +4 -4
- package/fesm2022/hermes-ui-angular-toast.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-utils-conditional.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-utils.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-wizard.mjs +56 -56
- package/fesm2022/hermes-ui-angular-wizard.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular.mjs +16 -3
- package/fesm2022/hermes-ui-angular.mjs.map +1 -1
- package/hermes-ui.scss +7 -7
- package/layout/vertical-nav/_mixins.vertical-nav.scss +3 -7
- package/layout/vertical-nav/_properties.vertical-nav.scss +10 -5
- package/layout/vertical-nav/_variables.vertical-nav.scss +2 -0
- package/layout/vertical-nav/_vertical-nav.clarity.scss +14 -0
- package/package.json +13 -1
- package/popover/dropdown/_dropdown.clarity.scss +8 -7
- package/popover/dropdown/_menu-mixins.clarity.scss +22 -6
- package/popover/dropdown/_properties.dropdown.scss +20 -0
- package/popover/dropdown/_variables.dropdown.scss +7 -0
- package/toast/README.md +65 -65
- package/toast/_properties.toast.scss +56 -56
- package/toast/_toast.clarity.scss +190 -190
- package/toast/_variables.toast.scss +33 -33
- package/types/hermes-ui-angular-card.d.ts +24 -0
- package/types/hermes-ui-angular-card.d.ts.map +1 -0
- package/types/hermes-ui-angular-data-datagrid.d.ts.map +1 -1
- package/types/hermes-ui-angular-divider.d.ts +20 -0
- package/types/hermes-ui-angular-divider.d.ts.map +1 -0
- package/types/hermes-ui-angular-layout-vertical-nav.d.ts +11 -1
- package/types/hermes-ui-angular-layout-vertical-nav.d.ts.map +1 -1
- package/types/hermes-ui-angular-pagination.d.ts +52 -0
- package/types/hermes-ui-angular-pagination.d.ts.map +1 -0
- package/types/hermes-ui-angular-popover-common.d.ts +4 -3
- package/types/hermes-ui-angular-popover-common.d.ts.map +1 -1
- package/types/hermes-ui-angular-wizard.d.ts.map +1 -1
- package/types/hermes-ui-angular.d.ts +23 -17
- package/types/hermes-ui-angular.d.ts.map +1 -1
|
@@ -220,78 +220,78 @@ class HermesFileList {
|
|
|
220
220
|
return a.accept === b.accept && a.minFileSize === b.minFileSize && a.maxFileSize === b.maxFileSize;
|
|
221
221
|
}
|
|
222
222
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesFileList, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
223
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: HermesFileList, isStandalone: false, selector: "hermes-file-list", host: { properties: { "attr.role": "\"list\"", "class.hermes-file-list": "true" } }, queries: [{ propertyName: "fileMessagesTemplate", first: true, predicate: HermesFileMessagesTemplate, descendants: true }], ngImport: i0, template: `
|
|
224
|
-
@for (file of files; track file) {
|
|
225
|
-
@if (createFileMessagesTemplateContext(file); as fileMessagesTemplateContext) {
|
|
226
|
-
<div
|
|
227
|
-
role="listitem"
|
|
228
|
-
class="hermes-file-list-item"
|
|
229
|
-
[ngClass]="{
|
|
230
|
-
'hermes-error': !fileMessagesTemplateContext.success,
|
|
231
|
-
'hermes-success': fileMessagesTemplateContext.success,
|
|
232
|
-
}"
|
|
233
|
-
>
|
|
234
|
-
<div class="hermes-file-label-and-status-icon">
|
|
235
|
-
<span class="label hermes-file-label">
|
|
236
|
-
{{ file.name }}
|
|
237
|
-
<button
|
|
238
|
-
class="btn btn-sm btn-link-neutral btn-icon hermes-file-clear-button"
|
|
239
|
-
[attr.aria-label]="getClearFileLabel(file.name)"
|
|
240
|
-
(click)="clearFile(file)"
|
|
241
|
-
>
|
|
242
|
-
<hermes-icon shape="times"></hermes-icon>
|
|
243
|
-
</button>
|
|
244
|
-
</span>
|
|
245
|
-
</div>
|
|
246
|
-
@if (fileMessagesTemplate) {
|
|
247
|
-
<ng-container
|
|
248
|
-
[ngTemplateOutlet]="fileMessagesTemplate.templateRef"
|
|
249
|
-
[ngTemplateOutletContext]="fileMessagesTemplateContext"
|
|
250
|
-
[ngTemplateOutletInjector]="injectorCache.get(file)"
|
|
251
|
-
></ng-container>
|
|
252
|
-
}
|
|
253
|
-
</div>
|
|
254
|
-
}
|
|
255
|
-
}
|
|
223
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: HermesFileList, isStandalone: false, selector: "hermes-file-list", host: { properties: { "attr.role": "\"list\"", "class.hermes-file-list": "true" } }, queries: [{ propertyName: "fileMessagesTemplate", first: true, predicate: HermesFileMessagesTemplate, descendants: true }], ngImport: i0, template: `
|
|
224
|
+
@for (file of files; track file) {
|
|
225
|
+
@if (createFileMessagesTemplateContext(file); as fileMessagesTemplateContext) {
|
|
226
|
+
<div
|
|
227
|
+
role="listitem"
|
|
228
|
+
class="hermes-file-list-item"
|
|
229
|
+
[ngClass]="{
|
|
230
|
+
'hermes-error': !fileMessagesTemplateContext.success,
|
|
231
|
+
'hermes-success': fileMessagesTemplateContext.success,
|
|
232
|
+
}"
|
|
233
|
+
>
|
|
234
|
+
<div class="hermes-file-label-and-status-icon">
|
|
235
|
+
<span class="label hermes-file-label">
|
|
236
|
+
{{ file.name }}
|
|
237
|
+
<button
|
|
238
|
+
class="btn btn-sm btn-link-neutral btn-icon hermes-file-clear-button"
|
|
239
|
+
[attr.aria-label]="getClearFileLabel(file.name)"
|
|
240
|
+
(click)="clearFile(file)"
|
|
241
|
+
>
|
|
242
|
+
<hermes-icon shape="times"></hermes-icon>
|
|
243
|
+
</button>
|
|
244
|
+
</span>
|
|
245
|
+
</div>
|
|
246
|
+
@if (fileMessagesTemplate) {
|
|
247
|
+
<ng-container
|
|
248
|
+
[ngTemplateOutlet]="fileMessagesTemplate.templateRef"
|
|
249
|
+
[ngTemplateOutletContext]="fileMessagesTemplateContext"
|
|
250
|
+
[ngTemplateOutletInjector]="injectorCache.get(file)"
|
|
251
|
+
></ng-container>
|
|
252
|
+
}
|
|
253
|
+
</div>
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
256
|
`, isInline: true, dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i1.HermesIcon, selector: "hermes-icon, hermes-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge"] }] }); }
|
|
257
257
|
}
|
|
258
258
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesFileList, decorators: [{
|
|
259
259
|
type: Component,
|
|
260
260
|
args: [{
|
|
261
261
|
selector: 'hermes-file-list',
|
|
262
|
-
template: `
|
|
263
|
-
@for (file of files; track file) {
|
|
264
|
-
@if (createFileMessagesTemplateContext(file); as fileMessagesTemplateContext) {
|
|
265
|
-
<div
|
|
266
|
-
role="listitem"
|
|
267
|
-
class="hermes-file-list-item"
|
|
268
|
-
[ngClass]="{
|
|
269
|
-
'hermes-error': !fileMessagesTemplateContext.success,
|
|
270
|
-
'hermes-success': fileMessagesTemplateContext.success,
|
|
271
|
-
}"
|
|
272
|
-
>
|
|
273
|
-
<div class="hermes-file-label-and-status-icon">
|
|
274
|
-
<span class="label hermes-file-label">
|
|
275
|
-
{{ file.name }}
|
|
276
|
-
<button
|
|
277
|
-
class="btn btn-sm btn-link-neutral btn-icon hermes-file-clear-button"
|
|
278
|
-
[attr.aria-label]="getClearFileLabel(file.name)"
|
|
279
|
-
(click)="clearFile(file)"
|
|
280
|
-
>
|
|
281
|
-
<hermes-icon shape="times"></hermes-icon>
|
|
282
|
-
</button>
|
|
283
|
-
</span>
|
|
284
|
-
</div>
|
|
285
|
-
@if (fileMessagesTemplate) {
|
|
286
|
-
<ng-container
|
|
287
|
-
[ngTemplateOutlet]="fileMessagesTemplate.templateRef"
|
|
288
|
-
[ngTemplateOutletContext]="fileMessagesTemplateContext"
|
|
289
|
-
[ngTemplateOutletInjector]="injectorCache.get(file)"
|
|
290
|
-
></ng-container>
|
|
291
|
-
}
|
|
292
|
-
</div>
|
|
293
|
-
}
|
|
294
|
-
}
|
|
262
|
+
template: `
|
|
263
|
+
@for (file of files; track file) {
|
|
264
|
+
@if (createFileMessagesTemplateContext(file); as fileMessagesTemplateContext) {
|
|
265
|
+
<div
|
|
266
|
+
role="listitem"
|
|
267
|
+
class="hermes-file-list-item"
|
|
268
|
+
[ngClass]="{
|
|
269
|
+
'hermes-error': !fileMessagesTemplateContext.success,
|
|
270
|
+
'hermes-success': fileMessagesTemplateContext.success,
|
|
271
|
+
}"
|
|
272
|
+
>
|
|
273
|
+
<div class="hermes-file-label-and-status-icon">
|
|
274
|
+
<span class="label hermes-file-label">
|
|
275
|
+
{{ file.name }}
|
|
276
|
+
<button
|
|
277
|
+
class="btn btn-sm btn-link-neutral btn-icon hermes-file-clear-button"
|
|
278
|
+
[attr.aria-label]="getClearFileLabel(file.name)"
|
|
279
|
+
(click)="clearFile(file)"
|
|
280
|
+
>
|
|
281
|
+
<hermes-icon shape="times"></hermes-icon>
|
|
282
|
+
</button>
|
|
283
|
+
</span>
|
|
284
|
+
</div>
|
|
285
|
+
@if (fileMessagesTemplate) {
|
|
286
|
+
<ng-container
|
|
287
|
+
[ngTemplateOutlet]="fileMessagesTemplate.templateRef"
|
|
288
|
+
[ngTemplateOutletContext]="fileMessagesTemplateContext"
|
|
289
|
+
[ngTemplateOutletInjector]="injectorCache.get(file)"
|
|
290
|
+
></ng-container>
|
|
291
|
+
}
|
|
292
|
+
</div>
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
295
|
`,
|
|
296
296
|
host: {
|
|
297
297
|
'[attr.role]': '"list"',
|
|
@@ -365,136 +365,136 @@ class HermesFileInputContainer extends HermesAbstractContainer {
|
|
|
365
365
|
selectFiles(this.fileInput.elementRef.nativeElement, mergedFiles);
|
|
366
366
|
}
|
|
367
367
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesFileInputContainer, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
368
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: HermesFileInputContainer, isStandalone: false, selector: "hermes-file-input-container", inputs: { customButtonLabel: ["hermesButtonLabel", "customButtonLabel"] }, host: { properties: { "class.hermes-form-control": "true", "class.hermes-form-control-disabled": "disabled", "class.hermes-row": "addGrid()" } }, providers: [NgControlService, ControlIdService, ControlClassService], queries: [{ propertyName: "fileInput", first: true, predicate: i0.forwardRef(() => HermesFileInput), descendants: true }, { propertyName: "fileList", first: true, predicate: i0.forwardRef(() => HermesFileList), descendants: true }, { propertyName: "fileSuccessComponent", first: true, predicate: HermesFileSuccess, descendants: true }, { propertyName: "fileErrorComponent", first: true, predicate: HermesFileError, descendants: true }], viewQueries: [{ propertyName: "browseButtonElementRef", first: true, predicate: ["browseButton"], descendants: true }, { propertyName: "fileListFileInputElementRef", first: true, predicate: ["fileListFileInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
369
|
-
<ng-content select="label"></ng-content>
|
|
370
|
-
@if (!label && addGrid()) {
|
|
371
|
-
<label></label>
|
|
372
|
-
}
|
|
373
|
-
<div class="hermes-control-container" [ngClass]="controlClass()">
|
|
374
|
-
<div class="hermes-file-input-wrapper">
|
|
375
|
-
<ng-content select="[hermesFileInput]"></ng-content>
|
|
376
|
-
|
|
377
|
-
<!-- file input to handle adding new files to selection when file list is present (prevent replacing selected files on the main file input) -->
|
|
378
|
-
@if (fileList) {
|
|
379
|
-
<input
|
|
380
|
-
#fileListFileInput
|
|
381
|
-
type="file"
|
|
382
|
-
class="hermes-file-input"
|
|
383
|
-
tabindex="-1"
|
|
384
|
-
aria-hidden="true"
|
|
385
|
-
[accept]="accept"
|
|
386
|
-
[multiple]="multiple"
|
|
387
|
-
[disabled]="disabled"
|
|
388
|
-
(change)="addFilesToSelection(fileListFileInput.files)"
|
|
389
|
-
/>
|
|
390
|
-
}
|
|
391
|
-
|
|
392
|
-
<button
|
|
393
|
-
#browseButton
|
|
394
|
-
type="button"
|
|
395
|
-
class="btn btn-sm hermes-file-input-browse-button"
|
|
396
|
-
[attr.aria-describedby]="browseButtonDescribedBy"
|
|
397
|
-
[disabled]="disabled"
|
|
398
|
-
(click)="browse()"
|
|
399
|
-
>
|
|
400
|
-
<hermes-icon shape="folder-open"></hermes-icon>
|
|
401
|
-
<span class="hermes-file-input-browse-button-text">{{ browseButtonText }}</span>
|
|
402
|
-
</button>
|
|
403
|
-
@if (!fileList && fileInput?.selection?.fileCount) {
|
|
404
|
-
<button
|
|
405
|
-
type="button"
|
|
406
|
-
class="btn btn-sm hermes-file-input-clear-button"
|
|
407
|
-
[attr.aria-label]="fileInput?.selection?.clearFilesButtonLabel"
|
|
408
|
-
(click)="clearSelectedFiles()"
|
|
409
|
-
>
|
|
410
|
-
<hermes-icon shape="times" status="neutral"></hermes-icon>
|
|
411
|
-
</button>
|
|
412
|
-
}
|
|
413
|
-
</div>
|
|
414
|
-
@if (showHelper) {
|
|
415
|
-
<ng-content select="hermes-control-helper"></ng-content>
|
|
416
|
-
}
|
|
417
|
-
@if (showInvalid) {
|
|
418
|
-
<ng-content select="hermes-control-error"></ng-content>
|
|
419
|
-
}
|
|
420
|
-
@if (showValid) {
|
|
421
|
-
<ng-content select="hermes-control-success"></ng-content>
|
|
422
|
-
}
|
|
423
|
-
|
|
424
|
-
<!-- If this is present, this file input becomes an "advanced" file input. -->
|
|
425
|
-
<ng-container>
|
|
426
|
-
<div class="hermes-file-list-break"></div>
|
|
427
|
-
<ng-content select="hermes-file-list"></ng-content>
|
|
428
|
-
</ng-container>
|
|
429
|
-
</div>
|
|
368
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: HermesFileInputContainer, isStandalone: false, selector: "hermes-file-input-container", inputs: { customButtonLabel: ["hermesButtonLabel", "customButtonLabel"] }, host: { properties: { "class.hermes-form-control": "true", "class.hermes-form-control-disabled": "disabled", "class.hermes-row": "addGrid()" } }, providers: [NgControlService, ControlIdService, ControlClassService], queries: [{ propertyName: "fileInput", first: true, predicate: i0.forwardRef(() => HermesFileInput), descendants: true }, { propertyName: "fileList", first: true, predicate: i0.forwardRef(() => HermesFileList), descendants: true }, { propertyName: "fileSuccessComponent", first: true, predicate: HermesFileSuccess, descendants: true }, { propertyName: "fileErrorComponent", first: true, predicate: HermesFileError, descendants: true }], viewQueries: [{ propertyName: "browseButtonElementRef", first: true, predicate: ["browseButton"], descendants: true }, { propertyName: "fileListFileInputElementRef", first: true, predicate: ["fileListFileInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
369
|
+
<ng-content select="label"></ng-content>
|
|
370
|
+
@if (!label && addGrid()) {
|
|
371
|
+
<label></label>
|
|
372
|
+
}
|
|
373
|
+
<div class="hermes-control-container" [ngClass]="controlClass()">
|
|
374
|
+
<div class="hermes-file-input-wrapper">
|
|
375
|
+
<ng-content select="[hermesFileInput]"></ng-content>
|
|
376
|
+
|
|
377
|
+
<!-- file input to handle adding new files to selection when file list is present (prevent replacing selected files on the main file input) -->
|
|
378
|
+
@if (fileList) {
|
|
379
|
+
<input
|
|
380
|
+
#fileListFileInput
|
|
381
|
+
type="file"
|
|
382
|
+
class="hermes-file-input"
|
|
383
|
+
tabindex="-1"
|
|
384
|
+
aria-hidden="true"
|
|
385
|
+
[accept]="accept"
|
|
386
|
+
[multiple]="multiple"
|
|
387
|
+
[disabled]="disabled"
|
|
388
|
+
(change)="addFilesToSelection(fileListFileInput.files)"
|
|
389
|
+
/>
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
<button
|
|
393
|
+
#browseButton
|
|
394
|
+
type="button"
|
|
395
|
+
class="btn btn-sm hermes-file-input-browse-button"
|
|
396
|
+
[attr.aria-describedby]="browseButtonDescribedBy"
|
|
397
|
+
[disabled]="disabled"
|
|
398
|
+
(click)="browse()"
|
|
399
|
+
>
|
|
400
|
+
<hermes-icon shape="folder-open"></hermes-icon>
|
|
401
|
+
<span class="hermes-file-input-browse-button-text">{{ browseButtonText }}</span>
|
|
402
|
+
</button>
|
|
403
|
+
@if (!fileList && fileInput?.selection?.fileCount) {
|
|
404
|
+
<button
|
|
405
|
+
type="button"
|
|
406
|
+
class="btn btn-sm hermes-file-input-clear-button"
|
|
407
|
+
[attr.aria-label]="fileInput?.selection?.clearFilesButtonLabel"
|
|
408
|
+
(click)="clearSelectedFiles()"
|
|
409
|
+
>
|
|
410
|
+
<hermes-icon shape="times" status="neutral"></hermes-icon>
|
|
411
|
+
</button>
|
|
412
|
+
}
|
|
413
|
+
</div>
|
|
414
|
+
@if (showHelper) {
|
|
415
|
+
<ng-content select="hermes-control-helper"></ng-content>
|
|
416
|
+
}
|
|
417
|
+
@if (showInvalid) {
|
|
418
|
+
<ng-content select="hermes-control-error"></ng-content>
|
|
419
|
+
}
|
|
420
|
+
@if (showValid) {
|
|
421
|
+
<ng-content select="hermes-control-success"></ng-content>
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
<!-- If this is present, this file input becomes an "advanced" file input. -->
|
|
425
|
+
<ng-container>
|
|
426
|
+
<div class="hermes-file-list-break"></div>
|
|
427
|
+
<ng-content select="hermes-file-list"></ng-content>
|
|
428
|
+
</ng-container>
|
|
429
|
+
</div>
|
|
430
430
|
`, isInline: true, dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i1.HermesIcon, selector: "hermes-icon, hermes-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge"] }, { kind: "directive", type: i3.HermesControlLabel, selector: "label", inputs: ["id", "for"] }] }); }
|
|
431
431
|
}
|
|
432
432
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesFileInputContainer, decorators: [{
|
|
433
433
|
type: Component,
|
|
434
434
|
args: [{
|
|
435
435
|
selector: 'hermes-file-input-container',
|
|
436
|
-
template: `
|
|
437
|
-
<ng-content select="label"></ng-content>
|
|
438
|
-
@if (!label && addGrid()) {
|
|
439
|
-
<label></label>
|
|
440
|
-
}
|
|
441
|
-
<div class="hermes-control-container" [ngClass]="controlClass()">
|
|
442
|
-
<div class="hermes-file-input-wrapper">
|
|
443
|
-
<ng-content select="[hermesFileInput]"></ng-content>
|
|
444
|
-
|
|
445
|
-
<!-- file input to handle adding new files to selection when file list is present (prevent replacing selected files on the main file input) -->
|
|
446
|
-
@if (fileList) {
|
|
447
|
-
<input
|
|
448
|
-
#fileListFileInput
|
|
449
|
-
type="file"
|
|
450
|
-
class="hermes-file-input"
|
|
451
|
-
tabindex="-1"
|
|
452
|
-
aria-hidden="true"
|
|
453
|
-
[accept]="accept"
|
|
454
|
-
[multiple]="multiple"
|
|
455
|
-
[disabled]="disabled"
|
|
456
|
-
(change)="addFilesToSelection(fileListFileInput.files)"
|
|
457
|
-
/>
|
|
458
|
-
}
|
|
459
|
-
|
|
460
|
-
<button
|
|
461
|
-
#browseButton
|
|
462
|
-
type="button"
|
|
463
|
-
class="btn btn-sm hermes-file-input-browse-button"
|
|
464
|
-
[attr.aria-describedby]="browseButtonDescribedBy"
|
|
465
|
-
[disabled]="disabled"
|
|
466
|
-
(click)="browse()"
|
|
467
|
-
>
|
|
468
|
-
<hermes-icon shape="folder-open"></hermes-icon>
|
|
469
|
-
<span class="hermes-file-input-browse-button-text">{{ browseButtonText }}</span>
|
|
470
|
-
</button>
|
|
471
|
-
@if (!fileList && fileInput?.selection?.fileCount) {
|
|
472
|
-
<button
|
|
473
|
-
type="button"
|
|
474
|
-
class="btn btn-sm hermes-file-input-clear-button"
|
|
475
|
-
[attr.aria-label]="fileInput?.selection?.clearFilesButtonLabel"
|
|
476
|
-
(click)="clearSelectedFiles()"
|
|
477
|
-
>
|
|
478
|
-
<hermes-icon shape="times" status="neutral"></hermes-icon>
|
|
479
|
-
</button>
|
|
480
|
-
}
|
|
481
|
-
</div>
|
|
482
|
-
@if (showHelper) {
|
|
483
|
-
<ng-content select="hermes-control-helper"></ng-content>
|
|
484
|
-
}
|
|
485
|
-
@if (showInvalid) {
|
|
486
|
-
<ng-content select="hermes-control-error"></ng-content>
|
|
487
|
-
}
|
|
488
|
-
@if (showValid) {
|
|
489
|
-
<ng-content select="hermes-control-success"></ng-content>
|
|
490
|
-
}
|
|
491
|
-
|
|
492
|
-
<!-- If this is present, this file input becomes an "advanced" file input. -->
|
|
493
|
-
<ng-container>
|
|
494
|
-
<div class="hermes-file-list-break"></div>
|
|
495
|
-
<ng-content select="hermes-file-list"></ng-content>
|
|
496
|
-
</ng-container>
|
|
497
|
-
</div>
|
|
436
|
+
template: `
|
|
437
|
+
<ng-content select="label"></ng-content>
|
|
438
|
+
@if (!label && addGrid()) {
|
|
439
|
+
<label></label>
|
|
440
|
+
}
|
|
441
|
+
<div class="hermes-control-container" [ngClass]="controlClass()">
|
|
442
|
+
<div class="hermes-file-input-wrapper">
|
|
443
|
+
<ng-content select="[hermesFileInput]"></ng-content>
|
|
444
|
+
|
|
445
|
+
<!-- file input to handle adding new files to selection when file list is present (prevent replacing selected files on the main file input) -->
|
|
446
|
+
@if (fileList) {
|
|
447
|
+
<input
|
|
448
|
+
#fileListFileInput
|
|
449
|
+
type="file"
|
|
450
|
+
class="hermes-file-input"
|
|
451
|
+
tabindex="-1"
|
|
452
|
+
aria-hidden="true"
|
|
453
|
+
[accept]="accept"
|
|
454
|
+
[multiple]="multiple"
|
|
455
|
+
[disabled]="disabled"
|
|
456
|
+
(change)="addFilesToSelection(fileListFileInput.files)"
|
|
457
|
+
/>
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
<button
|
|
461
|
+
#browseButton
|
|
462
|
+
type="button"
|
|
463
|
+
class="btn btn-sm hermes-file-input-browse-button"
|
|
464
|
+
[attr.aria-describedby]="browseButtonDescribedBy"
|
|
465
|
+
[disabled]="disabled"
|
|
466
|
+
(click)="browse()"
|
|
467
|
+
>
|
|
468
|
+
<hermes-icon shape="folder-open"></hermes-icon>
|
|
469
|
+
<span class="hermes-file-input-browse-button-text">{{ browseButtonText }}</span>
|
|
470
|
+
</button>
|
|
471
|
+
@if (!fileList && fileInput?.selection?.fileCount) {
|
|
472
|
+
<button
|
|
473
|
+
type="button"
|
|
474
|
+
class="btn btn-sm hermes-file-input-clear-button"
|
|
475
|
+
[attr.aria-label]="fileInput?.selection?.clearFilesButtonLabel"
|
|
476
|
+
(click)="clearSelectedFiles()"
|
|
477
|
+
>
|
|
478
|
+
<hermes-icon shape="times" status="neutral"></hermes-icon>
|
|
479
|
+
</button>
|
|
480
|
+
}
|
|
481
|
+
</div>
|
|
482
|
+
@if (showHelper) {
|
|
483
|
+
<ng-content select="hermes-control-helper"></ng-content>
|
|
484
|
+
}
|
|
485
|
+
@if (showInvalid) {
|
|
486
|
+
<ng-content select="hermes-control-error"></ng-content>
|
|
487
|
+
}
|
|
488
|
+
@if (showValid) {
|
|
489
|
+
<ng-content select="hermes-control-success"></ng-content>
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
<!-- If this is present, this file input becomes an "advanced" file input. -->
|
|
493
|
+
<ng-container>
|
|
494
|
+
<div class="hermes-file-list-break"></div>
|
|
495
|
+
<ng-content select="hermes-file-list"></ng-content>
|
|
496
|
+
</ng-container>
|
|
497
|
+
</div>
|
|
498
498
|
`,
|
|
499
499
|
host: {
|
|
500
500
|
'[class.hermes-form-control]': 'true',
|