@seniorsistemas/data-seniorx-core 2.3.0 → 3.0.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/core/constants/autocomplete.const.d.ts +4 -0
- package/core/constants/context-selector.const.d.ts +1 -0
- package/core/constants/gantt.const.d.ts +7 -0
- package/core/constants/hyperlink.const.d.ts +1 -0
- package/core/constants/inline-edit.const.d.ts +4 -0
- package/core/constants/kanban.const.d.ts +2 -0
- package/core/constants/pin-code-field.const.d.ts +5 -0
- package/core/constants/rating-scale.const.d.ts +1 -0
- package/core/constants/spotlight.const.d.ts +8 -0
- package/core/constants/star-rating.const.d.ts +4 -0
- package/core/constants/stepper.const.d.ts +1 -0
- package/core/constants/tiered-menu.const.d.ts +3 -0
- package/core/types/autocomplete.type.d.ts +9 -0
- package/core/types/chat.type.d.ts +12 -0
- package/core/types/checkbox-list.type.d.ts +12 -0
- package/core/types/gantt.type.d.ts +22 -0
- package/core/types/grid-menu.type.d.ts +13 -0
- package/core/types/hyperlink.type.d.ts +1 -0
- package/core/types/image-cropper.type.d.ts +20 -0
- package/core/types/inline-edit.type.d.ts +26 -0
- package/core/types/kanban.type.d.ts +36 -0
- package/core/types/panel.type.d.ts +16 -0
- package/core/types/profile-picture-picker.type.d.ts +9 -0
- package/core/types/rating-scale.type.d.ts +5 -0
- package/core/types/select-button.type.d.ts +1 -0
- package/core/types/spotlight.type.d.ts +34 -0
- package/core/types/star-rating.type.d.ts +1 -0
- package/core/types/stepper.type.d.ts +20 -0
- package/core/types/table-column.type.d.ts +3 -1
- package/core/types/table-options.type.d.ts +8 -2
- package/core/types/table.type.d.ts +1 -1
- package/core/types/tiered-menu.type.d.ts +16 -0
- package/core/types/tree.type.d.ts +25 -0
- package/core/types/workspace-switch.type.d.ts +6 -0
- package/core/utils/body-scroll.util.d.ts +2 -0
- package/core/utils/roving-focus.util.d.ts +2 -0
- package/core/utils/selection.util.d.ts +3 -0
- package/core/utils/tree.util.d.ts +4 -0
- package/esm2022/core/constants/autocomplete.const.mjs +5 -0
- package/esm2022/core/constants/context-selector.const.mjs +2 -0
- package/esm2022/core/constants/gantt.const.mjs +7 -0
- package/esm2022/core/constants/hyperlink.const.mjs +2 -1
- package/esm2022/core/constants/inline-edit.const.mjs +5 -0
- package/esm2022/core/constants/kanban.const.mjs +3 -0
- package/esm2022/core/constants/pin-code-field.const.mjs +6 -0
- package/esm2022/core/constants/rating-scale.const.mjs +2 -0
- package/esm2022/core/constants/spotlight.const.mjs +9 -0
- package/esm2022/core/constants/star-rating.const.mjs +5 -0
- package/esm2022/core/constants/stepper.const.mjs +2 -0
- package/esm2022/core/constants/table.const.mjs +2 -2
- package/esm2022/core/constants/tiered-menu.const.mjs +4 -0
- package/esm2022/core/types/autocomplete.type.mjs +2 -0
- package/esm2022/core/types/chat.type.mjs +2 -0
- package/esm2022/core/types/checkbox-list.type.mjs +2 -0
- package/esm2022/core/types/gantt.type.mjs +2 -0
- package/esm2022/core/types/grid-menu.type.mjs +2 -0
- package/esm2022/core/types/hyperlink.type.mjs +1 -1
- package/esm2022/core/types/image-cropper.type.mjs +2 -0
- package/esm2022/core/types/inline-edit.type.mjs +2 -0
- package/esm2022/core/types/kanban.type.mjs +2 -0
- package/esm2022/core/types/panel.type.mjs +9 -0
- package/esm2022/core/types/profile-picture-picker.type.mjs +2 -0
- package/esm2022/core/types/rating-scale.type.mjs +2 -0
- package/esm2022/core/types/select-button.type.mjs +1 -1
- package/esm2022/core/types/spotlight.type.mjs +2 -0
- package/esm2022/core/types/star-rating.type.mjs +2 -0
- package/esm2022/core/types/stepper.type.mjs +7 -0
- package/esm2022/core/types/table-column.type.mjs +1 -1
- package/esm2022/core/types/table-options.type.mjs +1 -1
- package/esm2022/core/types/table.type.mjs +1 -1
- package/esm2022/core/types/tiered-menu.type.mjs +2 -0
- package/esm2022/core/types/tree.type.mjs +2 -0
- package/esm2022/core/types/workspace-switch.type.mjs +2 -0
- package/esm2022/core/utils/body-scroll.util.mjs +19 -0
- package/esm2022/core/utils/combobox.util.mjs +3 -2
- package/esm2022/core/utils/roving-focus.util.mjs +20 -0
- package/esm2022/core/utils/selection.util.mjs +13 -0
- package/esm2022/core/utils/string.util.mjs +8 -3
- package/esm2022/core/utils/tree.util.mjs +23 -0
- package/esm2022/features/accordion/accordion.component.mjs +2 -2
- package/esm2022/features/accordion/{accordion-item.component.mjs → components/accordion-item/accordion-item.component.mjs} +7 -7
- package/esm2022/features/autocomplete/autocomplete.component.mjs +501 -0
- package/esm2022/features/autocomplete/components/autocomplete-chip/autocomplete-chip.component.mjs +30 -0
- package/esm2022/features/breadcrumb/breadcrumb.component.mjs +2 -2
- package/esm2022/features/card-list/card/card.component.mjs +63 -99
- package/esm2022/features/chat/chat.component.mjs +126 -0
- package/esm2022/features/checkbox-list/checkbox-list.component.mjs +125 -0
- package/esm2022/features/combobox/combobox.component.mjs +20 -8
- package/esm2022/features/context-selector/context-selector.component.mjs +198 -0
- package/esm2022/features/filters/filters.component.mjs +1 -1
- package/esm2022/features/gantt/components/gantt-side-table/gantt-side-table.component.mjs +17 -0
- package/esm2022/features/gantt/gantt-date.utils.mjs +97 -0
- package/esm2022/features/gantt/gantt.component.mjs +89 -0
- package/esm2022/features/gantt/gantt.engine.mjs +662 -0
- package/esm2022/features/grid-menu/grid-menu.component.mjs +104 -0
- package/esm2022/features/hyperlink/hyperlink.component.mjs +7 -4
- package/esm2022/features/icon-picker/icon-picker.component.mjs +3 -3
- package/esm2022/features/image-cropper/image-cropper.component.mjs +218 -0
- package/esm2022/features/image-cropper/services/image-cropper.service.mjs +50 -0
- package/esm2022/features/infinite-scroll/infinite-scroll.directive.mjs +89 -0
- package/esm2022/features/info-sign/info-sign.component.mjs +3 -3
- package/esm2022/features/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +38 -0
- package/esm2022/features/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.mjs +29 -0
- package/esm2022/features/inline-edit/components/fields/inline-edit-textarea/inline-edit-textarea.component.mjs +29 -0
- package/esm2022/features/inline-edit/components/inline-edit-item/inline-edit-item.component.mjs +131 -0
- package/esm2022/features/inline-edit/fields/inline-edit-field.mjs +17 -0
- package/esm2022/features/inline-edit/fields/inline-edit-number-field.mjs +15 -0
- package/esm2022/features/inline-edit/fields/inline-edit-text-field.mjs +11 -0
- package/esm2022/features/inline-edit/fields/inline-edit-textarea-field.mjs +15 -0
- package/esm2022/features/inline-edit/inline-edit.component.mjs +27 -0
- package/esm2022/features/interactive-content/interactive-content.directive.mjs +140 -0
- package/esm2022/features/kanban/components/kanban-column/kanban-column.component.mjs +88 -0
- package/esm2022/features/kanban/components/kanban-item/kanban-item.component.mjs +72 -0
- package/esm2022/features/kanban/components/kanban-item-dragging/kanban-item-dragging.component.mjs +19 -0
- package/esm2022/features/kanban/directives/kanban-template.directive.mjs +22 -0
- package/esm2022/features/kanban/kanban.component.mjs +198 -0
- package/esm2022/features/kanban/services/kanban-event.service.mjs +27 -0
- package/esm2022/features/loading-state/loading-state.component.mjs +3 -62
- package/esm2022/features/mouse-events/directives/double-click.directive.mjs +34 -0
- package/esm2022/features/mouse-events/directives/long-press.directive.mjs +61 -0
- package/esm2022/features/paginator/paginator.component.mjs +8 -3
- package/esm2022/features/panel/panel.component.mjs +43 -11
- package/esm2022/features/pin-code-field/pin-code-field.component.mjs +234 -0
- package/esm2022/features/profile-picture-picker/profile-picture-picker.component.mjs +330 -0
- package/esm2022/features/rating-scale/rating-scale.component.mjs +86 -0
- package/esm2022/features/row-card-list/row-card/row-card.component.mjs +3 -3
- package/esm2022/features/scaffold/scaffold.component.mjs +4 -6
- package/esm2022/features/select-button/select-button.component.mjs +7 -4
- package/esm2022/features/speech-recognition/services/speech-recognition.service.mjs +148 -0
- package/esm2022/features/speech-recognition/services/text-to-speech.service.mjs +88 -0
- package/esm2022/features/speech-recognition/speech-recognition.component.mjs +243 -0
- package/esm2022/features/spotlight/components/spotlight-overlay/spotlight-overlay.component.mjs +521 -0
- package/esm2022/features/spotlight/directives/spotlight-step.directive.mjs +38 -0
- package/esm2022/features/spotlight/services/spotlight-tour.service.mjs +179 -0
- package/esm2022/features/spotlight/spotlight.component.mjs +160 -0
- package/esm2022/features/star-rating/star-rating.component.mjs +95 -0
- package/esm2022/features/stepper/stepper.component.mjs +86 -0
- package/esm2022/features/switch/switch.component.mjs +12 -8
- package/esm2022/features/tab/{tab-item.component.mjs → components/tab-item/tab-item.component.mjs} +1 -1
- package/esm2022/features/tab/tab.component.mjs +4 -4
- package/esm2022/features/table/components/table-cell-content.component.mjs +14 -5
- package/esm2022/features/table/table.component.mjs +220 -29
- package/esm2022/features/table/utils/table-data.util.mjs +71 -8
- package/esm2022/features/table/utils/table-layout.util.mjs +21 -1
- package/esm2022/features/tiered-menu/components/tiered-menu/tiered-menu.component.mjs +367 -0
- package/esm2022/features/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.mjs +11 -0
- package/esm2022/features/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.mjs +97 -0
- package/esm2022/features/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.mjs +181 -0
- package/esm2022/features/tiered-menu/directives/tiered-menu.directive.mjs +246 -0
- package/esm2022/features/tiered-menu/services/tiered-menu.event.service.mjs +16 -0
- package/esm2022/features/tiered-menu/services/tiered-menu.global.service.mjs +12 -0
- package/esm2022/features/tiered-menu/services/tiered-menu.service.mjs +49 -0
- package/esm2022/features/tree/components/tree-node-item/tree-node-item.component.mjs +169 -0
- package/esm2022/features/tree/tree.component.mjs +211 -0
- package/esm2022/features/visual-sql-editor/components/visual-sql-editor-field-modal/visual-sql-editor-field-modal.component.mjs +41 -0
- package/esm2022/features/visual-sql-editor/components/visual-sql-editor-filter-modal/visual-sql-editor-filter-modal.component.mjs +38 -0
- package/esm2022/features/visual-sql-editor/components/visual-sql-editor-join-modal/visual-sql-editor-join-modal.component.mjs +29 -0
- package/esm2022/features/visual-sql-editor/components/visual-sql-editor-sort-modal/visual-sql-editor-sort-modal.component.mjs +29 -0
- package/esm2022/features/visual-sql-editor/components/visual-sql-editor-source-modal/visual-sql-editor-source-modal.component.mjs +35 -0
- package/esm2022/features/visual-sql-editor/services/visual-sql-editor-flow.service.mjs +106 -0
- package/esm2022/features/visual-sql-editor/services/visual-sql-editor-state.service.mjs +230 -0
- package/esm2022/features/visual-sql-editor/types/visual-sql-editor.types.mjs +2 -0
- package/esm2022/features/visual-sql-editor/utils/visual-sql-editor-sanitize.util.mjs +72 -0
- package/esm2022/features/visual-sql-editor/utils/visual-sql-editor-sql.util.mjs +281 -0
- package/esm2022/features/visual-sql-editor/utils/visual-sql-editor-text.util.mjs +37 -0
- package/esm2022/features/visual-sql-editor/utils/visual-sql-editor.constants.mjs +89 -0
- package/esm2022/features/visual-sql-editor/visual-sql-editor.component.mjs +172 -630
- package/esm2022/locales/en.json +351 -3
- package/esm2022/locales/es-CO.json +351 -3
- package/esm2022/locales/pt.json +351 -3
- package/esm2022/providers/features.provider.mjs +40 -4
- package/esm2022/public-api.mjs +56 -3
- package/features/accordion/accordion.component.d.ts +1 -1
- package/features/accordion/{accordion-item.component.d.ts → components/accordion-item/accordion-item.component.d.ts} +1 -1
- package/features/autocomplete/autocomplete.component.d.ts +102 -0
- package/features/autocomplete/components/autocomplete-chip/autocomplete-chip.component.d.ts +11 -0
- package/features/card-list/card/card.component.d.ts +14 -34
- package/features/chat/chat.component.d.ts +31 -0
- package/features/checkbox-list/checkbox-list.component.d.ts +26 -0
- package/features/combobox/combobox.component.d.ts +2 -1
- package/features/context-selector/context-selector.component.d.ts +37 -0
- package/features/gantt/components/gantt-side-table/gantt-side-table.component.d.ts +8 -0
- package/features/gantt/gantt-date.utils.d.ts +36 -0
- package/features/gantt/gantt.component.d.ts +24 -0
- package/features/gantt/gantt.engine.d.ts +52 -0
- package/features/grid-menu/grid-menu.component.d.ts +29 -0
- package/features/hyperlink/hyperlink.component.d.ts +2 -1
- package/features/image-cropper/image-cropper.component.d.ts +43 -0
- package/features/image-cropper/services/image-cropper.service.d.ts +13 -0
- package/features/infinite-scroll/infinite-scroll.directive.d.ts +25 -0
- package/features/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.d.ts +13 -0
- package/features/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.d.ts +13 -0
- package/features/inline-edit/components/fields/inline-edit-textarea/inline-edit-textarea.component.d.ts +13 -0
- package/features/inline-edit/components/inline-edit-item/inline-edit-item.component.d.ts +37 -0
- package/features/inline-edit/fields/inline-edit-field.d.ts +12 -0
- package/features/inline-edit/fields/inline-edit-number-field.d.ts +9 -0
- package/features/inline-edit/fields/inline-edit-text-field.d.ts +7 -0
- package/features/inline-edit/fields/inline-edit-textarea-field.d.ts +9 -0
- package/features/inline-edit/inline-edit.component.d.ts +13 -0
- package/features/interactive-content/interactive-content.directive.d.ts +31 -0
- package/features/kanban/components/kanban-column/kanban-column.component.d.ts +22 -0
- package/features/kanban/components/kanban-item/kanban-item.component.d.ts +23 -0
- package/features/kanban/components/kanban-item-dragging/kanban-item-dragging.component.d.ts +8 -0
- package/features/kanban/directives/kanban-template.directive.d.ts +10 -0
- package/features/kanban/kanban.component.d.ts +32 -0
- package/features/kanban/services/kanban-event.service.d.ts +15 -0
- package/features/loading-state/loading-state.component.d.ts +0 -2
- package/features/mouse-events/directives/double-click.directive.d.ts +11 -0
- package/features/mouse-events/directives/long-press.directive.d.ts +14 -0
- package/features/panel/panel.component.d.ts +12 -3
- package/features/pin-code-field/pin-code-field.component.d.ts +44 -0
- package/features/profile-picture-picker/profile-picture-picker.component.d.ts +77 -0
- package/features/rating-scale/rating-scale.component.d.ts +24 -0
- package/features/select-button/select-button.component.d.ts +2 -1
- package/features/speech-recognition/services/speech-recognition.service.d.ts +29 -0
- package/features/speech-recognition/services/text-to-speech.service.d.ts +24 -0
- package/features/speech-recognition/speech-recognition.component.d.ts +50 -0
- package/features/spotlight/components/spotlight-overlay/spotlight-overlay.component.d.ts +59 -0
- package/features/spotlight/directives/spotlight-step.directive.d.ts +13 -0
- package/features/spotlight/services/spotlight-tour.service.d.ts +46 -0
- package/features/spotlight/spotlight.component.d.ts +59 -0
- package/features/star-rating/star-rating.component.d.ts +26 -0
- package/features/stepper/stepper.component.d.ts +23 -0
- package/features/switch/switch.component.d.ts +2 -1
- package/features/tab/tab.component.d.ts +1 -1
- package/features/table/components/table-cell-content.component.d.ts +4 -3
- package/features/table/table.component.d.ts +40 -5
- package/features/table/utils/table-data.util.d.ts +1 -0
- package/features/table/utils/table-layout.util.d.ts +1 -0
- package/features/tiered-menu/components/tiered-menu/tiered-menu.component.d.ts +49 -0
- package/features/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.d.ts +5 -0
- package/features/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.d.ts +19 -0
- package/features/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.d.ts +26 -0
- package/features/tiered-menu/directives/tiered-menu.directive.d.ts +44 -0
- package/features/tiered-menu/services/tiered-menu.event.service.d.ts +13 -0
- package/features/tiered-menu/services/tiered-menu.global.service.d.ts +7 -0
- package/features/tiered-menu/services/tiered-menu.service.d.ts +14 -0
- package/features/tree/components/tree-node-item/tree-node-item.component.d.ts +37 -0
- package/features/tree/tree.component.d.ts +37 -0
- package/features/visual-sql-editor/components/visual-sql-editor-field-modal/visual-sql-editor-field-modal.component.d.ts +18 -0
- package/features/visual-sql-editor/components/visual-sql-editor-filter-modal/visual-sql-editor-filter-modal.component.d.ts +17 -0
- package/features/visual-sql-editor/components/visual-sql-editor-join-modal/visual-sql-editor-join-modal.component.d.ts +13 -0
- package/features/visual-sql-editor/components/visual-sql-editor-sort-modal/visual-sql-editor-sort-modal.component.d.ts +13 -0
- package/features/visual-sql-editor/components/visual-sql-editor-source-modal/visual-sql-editor-source-modal.component.d.ts +15 -0
- package/features/visual-sql-editor/services/visual-sql-editor-flow.service.d.ts +26 -0
- package/features/visual-sql-editor/services/visual-sql-editor-state.service.d.ts +72 -0
- package/features/visual-sql-editor/types/visual-sql-editor.types.d.ts +182 -0
- package/features/visual-sql-editor/utils/visual-sql-editor-sanitize.util.d.ts +14 -0
- package/features/visual-sql-editor/utils/visual-sql-editor-sql.util.d.ts +81 -0
- package/features/visual-sql-editor/utils/visual-sql-editor-text.util.d.ts +15 -0
- package/features/visual-sql-editor/utils/visual-sql-editor.constants.d.ts +36 -0
- package/features/visual-sql-editor/visual-sql-editor.component.d.ts +37 -199
- package/fesm2022/seniorsistemas-data-seniorx-core.mjs +14883 -6353
- package/fesm2022/seniorsistemas-data-seniorx-core.mjs.map +1 -1
- package/package.json +8 -8
- package/public-api.d.ts +72 -2
- package/src/locales/en.json +353 -15
- package/src/locales/es-CO.json +352 -14
- package/src/locales/pt.json +352 -14
- package/styles/sdc-global-variables.scss +1 -1
- package/styles.css +1 -1
- /package/features/tab/{tab-item.component.d.ts → components/tab-item/tab-item.component.d.ts} +0 -0
package/esm2022/features/autocomplete/components/autocomplete-chip/autocomplete-chip.component.mjs
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class AutocompleteChipComponent {
|
|
4
|
+
suggestion;
|
|
5
|
+
suggestionLabel;
|
|
6
|
+
suggestionRemoved = new EventEmitter();
|
|
7
|
+
get label() {
|
|
8
|
+
if (this.suggestionLabel && this.suggestion && typeof this.suggestion === 'object') {
|
|
9
|
+
return String(this.suggestion[this.suggestionLabel] ?? '');
|
|
10
|
+
}
|
|
11
|
+
return String(this.suggestion ?? '');
|
|
12
|
+
}
|
|
13
|
+
removeSuggestion() {
|
|
14
|
+
this.suggestionRemoved.emit(this.suggestion);
|
|
15
|
+
}
|
|
16
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AutocompleteChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
17
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AutocompleteChipComponent, isStandalone: true, selector: "sdc-autocomplete-chip", inputs: { suggestion: "suggestion", suggestionLabel: "suggestionLabel" }, outputs: { suggestionRemoved: "suggestionRemoved" }, ngImport: i0, template: "<span class=\"sdc-autocomplete-chip\">\n <span class=\"sdc-autocomplete-chip__label\">{{ label }}</span>\n <button\n type=\"button\"\n class=\"sdc-autocomplete-chip__remove\"\n aria-label=\"Remove suggestion\"\n (click)=\"removeSuggestion()\"\n >\n <i class=\"far fa-times\"></i>\n </button>\n</span>\n", styles: [".sdc-autocomplete-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem;border-radius:999px;background:#e9f2f8;color:#123;font-size:.8125rem}.sdc-autocomplete-chip__remove{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;cursor:pointer;color:inherit}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
18
|
+
}
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AutocompleteChipComponent, decorators: [{
|
|
20
|
+
type: Component,
|
|
21
|
+
args: [{ selector: 'sdc-autocomplete-chip', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<span class=\"sdc-autocomplete-chip\">\n <span class=\"sdc-autocomplete-chip__label\">{{ label }}</span>\n <button\n type=\"button\"\n class=\"sdc-autocomplete-chip__remove\"\n aria-label=\"Remove suggestion\"\n (click)=\"removeSuggestion()\"\n >\n <i class=\"far fa-times\"></i>\n </button>\n</span>\n", styles: [".sdc-autocomplete-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem;border-radius:999px;background:#e9f2f8;color:#123;font-size:.8125rem}.sdc-autocomplete-chip__remove{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;cursor:pointer;color:inherit}\n"] }]
|
|
22
|
+
}], propDecorators: { suggestion: [{
|
|
23
|
+
type: Input,
|
|
24
|
+
args: [{ required: true }]
|
|
25
|
+
}], suggestionLabel: [{
|
|
26
|
+
type: Input
|
|
27
|
+
}], suggestionRemoved: [{
|
|
28
|
+
type: Output
|
|
29
|
+
}] } });
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWNoaXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy9hdXRvY29tcGxldGUvY29tcG9uZW50cy9hdXRvY29tcGxldGUtY2hpcC9hdXRvY29tcGxldGUtY2hpcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2F1dG9jb21wbGV0ZS9jb21wb25lbnRzL2F1dG9jb21wbGV0ZS1jaGlwL2F1dG9jb21wbGV0ZS1jaGlwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBU2hHLE1BQU0sT0FBTyx5QkFBeUI7SUFDVCxVQUFVLENBQUs7SUFDakMsZUFBZSxDQUFXO0lBRXpCLGlCQUFpQixHQUFHLElBQUksWUFBWSxFQUFLLENBQUM7SUFFcEQsSUFBYyxLQUFLO1FBQ2pCLElBQUksSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLE9BQU8sSUFBSSxDQUFDLFVBQVUsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNuRixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRVMsZ0JBQWdCO1FBQ3hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7d0dBaEJVLHlCQUF5Qjs0RkFBekIseUJBQXlCLGdOQ1R0QyxtVUFXQTs7NEZERmEseUJBQXlCO2tCQVByQyxTQUFTOytCQUNFLHVCQUF1QixjQUNyQixJQUFJLG1CQUdDLHVCQUF1QixDQUFDLE1BQU07OEJBR3BCLFVBQVU7c0JBQXBDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNoQixlQUFlO3NCQUF2QixLQUFLO2dCQUVJLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtYXV0b2NvbXBsZXRlLWNoaXAnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZVVybDogJy4vYXV0b2NvbXBsZXRlLWNoaXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hdXRvY29tcGxldGUtY2hpcC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBdXRvY29tcGxldGVDaGlwQ29tcG9uZW50PFQ+IHtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgc3VnZ2VzdGlvbiE6IFQ7XG4gIEBJbnB1dCgpIHN1Z2dlc3Rpb25MYWJlbD86IGtleW9mIFQ7XG5cbiAgQE91dHB1dCgpIHN1Z2dlc3Rpb25SZW1vdmVkID0gbmV3IEV2ZW50RW1pdHRlcjxUPigpO1xuXG4gIHByb3RlY3RlZCBnZXQgbGFiZWwoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5zdWdnZXN0aW9uTGFiZWwgJiYgdGhpcy5zdWdnZXN0aW9uICYmIHR5cGVvZiB0aGlzLnN1Z2dlc3Rpb24gPT09ICdvYmplY3QnKSB7XG4gICAgICByZXR1cm4gU3RyaW5nKHRoaXMuc3VnZ2VzdGlvblt0aGlzLnN1Z2dlc3Rpb25MYWJlbF0gPz8gJycpO1xuICAgIH1cblxuICAgIHJldHVybiBTdHJpbmcodGhpcy5zdWdnZXN0aW9uID8/ICcnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZW1vdmVTdWdnZXN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuc3VnZ2VzdGlvblJlbW92ZWQuZW1pdCh0aGlzLnN1Z2dlc3Rpb24pO1xuICB9XG59XG4iLCI8c3BhbiBjbGFzcz1cInNkYy1hdXRvY29tcGxldGUtY2hpcFwiPlxuICA8c3BhbiBjbGFzcz1cInNkYy1hdXRvY29tcGxldGUtY2hpcF9fbGFiZWxcIj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgPGJ1dHRvblxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIGNsYXNzPVwic2RjLWF1dG9jb21wbGV0ZS1jaGlwX19yZW1vdmVcIlxuICAgIGFyaWEtbGFiZWw9XCJSZW1vdmUgc3VnZ2VzdGlvblwiXG4gICAgKGNsaWNrKT1cInJlbW92ZVN1Z2dlc3Rpb24oKVwiXG4gID5cbiAgICA8aSBjbGFzcz1cImZhciBmYS10aW1lc1wiPjwvaT5cbiAgPC9idXR0b24+XG48L3NwYW4+XG4iXX0=
|
|
@@ -258,11 +258,11 @@ export class BreadcrumbComponent {
|
|
|
258
258
|
});
|
|
259
259
|
}
|
|
260
260
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BreadcrumbComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
261
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BreadcrumbComponent, isStandalone: true, selector: "sdc-breadcrumb", inputs: { homeUrl: "homeUrl", targetHomeUrl: "targetHomeUrl", enableLinks: ["enableLinks", "enableLinks", booleanAttribute], ariaLabel: "ariaLabel", items: "items" }, ngImport: i0, template: "<nav\n class=\"sdc-breadcrumb\"\n [attr.aria-label]=\"(ariaLabelText() || 'platform.datacore.accessibility.breadcrumb_navigation') | translate\"\n>\n <ol class=\"sdc-breadcrumb-list\">\n @if (homeItem()) {\n <li class=\"sdc-breadcrumb-item sdc-breadcrumb-item--home\" [class.sdc-breadcrumb-item--current]=\"isAtHome()\">\n @if (!isAtHome() && canUseRouterLink(homeItem()!)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [routerLink]=\"routerLinkOf(homeItem()!)\"\n [queryParams]=\"queryParamsOf(homeItem()!)\"\n [fragment]=\"homeItem()!.fragment\"\n [queryParamsHandling]=\"homeItem()!.queryParamsHandling\"\n [preserveFragment]=\"homeItem()!.preserveFragment\"\n [skipLocationChange]=\"homeItem()!.skipLocationChange\"\n [replaceUrl]=\"homeItem()!.replaceUrl\"\n [state]=\"homeItem()!.state\"\n [attr.target]=\"targetAttrOf(homeItem()!)\"\n [attr.aria-label]=\"'platform.datacore.accessibility.breadcrumb_home' | translate\"\n >\n @if (homeItem()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"homeItem()!.icon\" aria-hidden=\"true\"></span>\n }\n </a>\n } @else if (!isAtHome() && canUseUrl(homeItem()!)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [attr.href]=\"hrefOf(homeItem()!)\"\n [attr.target]=\"targetAttrOf(homeItem()!)\"\n [attr.aria-label]=\"'platform.datacore.accessibility.breadcrumb_home' | translate\"\n >\n @if (homeItem()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"homeItem()!.icon\" aria-hidden=\"true\"></span>\n }\n </a>\n } @else {\n <span\n class=\"sdc-breadcrumb-text sdc-breadcrumb-text--home\"\n [attr.aria-label]=\"'platform.datacore.accessibility.breadcrumb_home' | translate\"\n >\n @if (homeItem()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"homeItem()!.icon\" aria-hidden=\"true\"></span>\n }\n </span>\n }\n </li>\n }\n\n @for (item of trailItems(); track $index) {\n <li class=\"sdc-breadcrumb-separator\" aria-hidden=\"true\"></li>\n\n <li\n class=\"sdc-breadcrumb-item\"\n [class.sdc-breadcrumb-item--current]=\"item.disabled\"\n [class.sdc-breadcrumb-item--previous]=\"!item.disabled && $index === trailItems().length - 2\"\n >\n @if (canNavigate(item)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [routerLink]=\"hasRouterLink(item) ? routerLinkOf(item) : null\"\n [queryParams]=\"queryParamsOf(item)\"\n [fragment]=\"item.fragment\"\n [queryParamsHandling]=\"item.queryParamsHandling\"\n [preserveFragment]=\"item.preserveFragment\"\n [skipLocationChange]=\"item.skipLocationChange\"\n [replaceUrl]=\"item.replaceUrl\"\n [state]=\"item.state\"\n [attr.href]=\"!hasRouterLink(item) && hasUrl(item) ? hrefOf(item) : null\"\n [attr.target]=\"targetAttrOf(item)\"\n >\n <span class=\"sdc-breadcrumb-item-label\">{{ (item.label || '') | translate }}</span>\n <span class=\"sdc-breadcrumb-sr-only\">{{ ' (' + ($index + 1) + ')' }}</span>\n </a>\n } @else if (!item.disabled) {\n <span class=\"sdc-breadcrumb-text\">\n <span class=\"sdc-breadcrumb-item-label\">{{ (item.label || '') | translate }}</span>\n </span>\n } @else {\n <span class=\"sdc-breadcrumb-current\" aria-current=\"page\">{{ (item.label || '') | translate }}</span>\n }\n </li>\n }\n </ol>\n</nav>\n", styles: ["@charset \"UTF-8\";:host{display:block}.sdc-breadcrumb{font-size:12px;line-height:1.2;padding:0;background:transparent}.sdc-breadcrumb-list{list-style:none;display:flex;align-items:center;gap:0;margin:0;padding:0}.sdc-breadcrumb-item{display:inline-flex;align-items:center;min-height:18px}.sdc-breadcrumb-link{display:inline-flex;align-items:center;gap:var(--sdc-breadcrumb-link-gap, 8px);color:var(--sdc-breadcrumb-text-color, inherit);text-decoration:none!important;outline:none}.sdc-breadcrumb-
|
|
261
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BreadcrumbComponent, isStandalone: true, selector: "sdc-breadcrumb", inputs: { homeUrl: "homeUrl", targetHomeUrl: "targetHomeUrl", enableLinks: ["enableLinks", "enableLinks", booleanAttribute], ariaLabel: "ariaLabel", items: "items" }, ngImport: i0, template: "<nav\n class=\"sdc-breadcrumb\"\n [attr.aria-label]=\"(ariaLabelText() || 'platform.datacore.accessibility.breadcrumb_navigation') | translate\"\n>\n <ol class=\"sdc-breadcrumb-list\">\n @if (homeItem()) {\n <li class=\"sdc-breadcrumb-item sdc-breadcrumb-item--home\" [class.sdc-breadcrumb-item--current]=\"isAtHome()\">\n @if (!isAtHome() && canUseRouterLink(homeItem()!)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [routerLink]=\"routerLinkOf(homeItem()!)\"\n [queryParams]=\"queryParamsOf(homeItem()!)\"\n [fragment]=\"homeItem()!.fragment\"\n [queryParamsHandling]=\"homeItem()!.queryParamsHandling\"\n [preserveFragment]=\"homeItem()!.preserveFragment\"\n [skipLocationChange]=\"homeItem()!.skipLocationChange\"\n [replaceUrl]=\"homeItem()!.replaceUrl\"\n [state]=\"homeItem()!.state\"\n [attr.target]=\"targetAttrOf(homeItem()!)\"\n [attr.aria-label]=\"'platform.datacore.accessibility.breadcrumb_home' | translate\"\n >\n @if (homeItem()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"homeItem()!.icon\" aria-hidden=\"true\"></span>\n }\n </a>\n } @else if (!isAtHome() && canUseUrl(homeItem()!)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [attr.href]=\"hrefOf(homeItem()!)\"\n [attr.target]=\"targetAttrOf(homeItem()!)\"\n [attr.aria-label]=\"'platform.datacore.accessibility.breadcrumb_home' | translate\"\n >\n @if (homeItem()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"homeItem()!.icon\" aria-hidden=\"true\"></span>\n }\n </a>\n } @else {\n <span\n class=\"sdc-breadcrumb-text sdc-breadcrumb-text--home\"\n [attr.aria-label]=\"'platform.datacore.accessibility.breadcrumb_home' | translate\"\n >\n @if (homeItem()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"homeItem()!.icon\" aria-hidden=\"true\"></span>\n }\n </span>\n }\n </li>\n }\n\n @for (item of trailItems(); track $index) {\n <li class=\"sdc-breadcrumb-separator\" aria-hidden=\"true\"></li>\n\n <li\n class=\"sdc-breadcrumb-item\"\n [class.sdc-breadcrumb-item--current]=\"item.disabled\"\n [class.sdc-breadcrumb-item--previous]=\"!item.disabled && $index === trailItems().length - 2\"\n >\n @if (canNavigate(item)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [routerLink]=\"hasRouterLink(item) ? routerLinkOf(item) : null\"\n [queryParams]=\"queryParamsOf(item)\"\n [fragment]=\"item.fragment\"\n [queryParamsHandling]=\"item.queryParamsHandling\"\n [preserveFragment]=\"item.preserveFragment\"\n [skipLocationChange]=\"item.skipLocationChange\"\n [replaceUrl]=\"item.replaceUrl\"\n [state]=\"item.state\"\n [attr.href]=\"!hasRouterLink(item) && hasUrl(item) ? hrefOf(item) : null\"\n [attr.target]=\"targetAttrOf(item)\"\n >\n <span class=\"sdc-breadcrumb-item-label\">{{ (item.label || '') | translate }}</span>\n <span class=\"sdc-breadcrumb-sr-only\">{{ ' (' + ($index + 1) + ')' }}</span>\n </a>\n } @else if (!item.disabled) {\n <span class=\"sdc-breadcrumb-text\">\n <span class=\"sdc-breadcrumb-item-label\">{{ (item.label || '') | translate }}</span>\n </span>\n } @else {\n <span class=\"sdc-breadcrumb-current\" aria-current=\"page\">{{ (item.label || '') | translate }}</span>\n }\n </li>\n }\n </ol>\n</nav>\n", styles: ["@charset \"UTF-8\";:host{display:block}.sdc-breadcrumb{font-size:12px;line-height:1.2;padding:0;background:transparent}.sdc-breadcrumb-list{list-style:none;display:flex;align-items:center;gap:0;margin:0;padding:0}.sdc-breadcrumb-item{display:inline-flex;align-items:center;min-height:18px}.sdc-breadcrumb-link{display:inline-flex;align-items:center;gap:var(--sdc-breadcrumb-link-gap, 8px);color:var(--sdc-breadcrumb-text-color, inherit);text-decoration:none!important;outline:none}.sdc-breadcrumb-link:hover,.sdc-breadcrumb-link:active,.sdc-breadcrumb-link:visited{text-decoration:none!important}.sdc-breadcrumb-link:focus-visible{outline:2px solid var(--sdc-primary-600, #2563eb);outline-offset:2px;border-radius:4px}.sdc-breadcrumb-item--home .sdc-breadcrumb-link,.sdc-breadcrumb-item--previous .sdc-breadcrumb-link{color:var(--sdc-breadcrumb-link-color, var(--sdc-primary-600, #2563eb))}.sdc-breadcrumb-item--current .sdc-breadcrumb-link{color:var(--sdc-breadcrumb-current-color, #666872);pointer-events:none}.sdc-breadcrumb-item-icon{color:var(--sdc-breadcrumb-text-color, inherit);font-size:12px;line-height:1}.sdc-breadcrumb-item--home.sdc-breadcrumb-item--current .sdc-breadcrumb-text,.sdc-breadcrumb-item--home.sdc-breadcrumb-item--current .sdc-breadcrumb-item-icon{color:var(--sdc-breadcrumb-current-color, #666872);cursor:default}.sdc-breadcrumb-text{display:inline-flex;align-items:center;gap:var(--sdc-breadcrumb-link-gap, 8px);color:var(--sdc-breadcrumb-text-color, inherit)}.sdc-breadcrumb-item--home .sdc-breadcrumb-item-icon,.sdc-breadcrumb-item--previous .sdc-breadcrumb-item-icon{color:var(--sdc-breadcrumb-link-color, var(--sdc-primary-600, #2563eb))}.sdc-breadcrumb-text .sdc-breadcrumb-item-icon{color:currentColor}.sdc-breadcrumb-item-label{font-weight:400}.sdc-breadcrumb-separator{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--sdc-breadcrumb-separator-padding-x, 8px);color:var(--sdc-breadcrumb-separator-color, #667085);font-size:var(--sdc-breadcrumb-separator-size, 17px);line-height:1;transform:translateY(var(--sdc-breadcrumb-separator-translate-y, -1.6px))}.sdc-breadcrumb-separator:before{content:\"\\203a\"}.sdc-breadcrumb-current{color:var(--sdc-breadcrumb-current-color, #666872);font-weight:400}.sdc-breadcrumb-sr-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
262
262
|
}
|
|
263
263
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BreadcrumbComponent, decorators: [{
|
|
264
264
|
type: Component,
|
|
265
|
-
args: [{ selector: 'sdc-breadcrumb', standalone: true, imports: [CommonModule, RouterModule, TranslateModule], encapsulation: ViewEncapsulation.Emulated, changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav\n class=\"sdc-breadcrumb\"\n [attr.aria-label]=\"(ariaLabelText() || 'platform.datacore.accessibility.breadcrumb_navigation') | translate\"\n>\n <ol class=\"sdc-breadcrumb-list\">\n @if (homeItem()) {\n <li class=\"sdc-breadcrumb-item sdc-breadcrumb-item--home\" [class.sdc-breadcrumb-item--current]=\"isAtHome()\">\n @if (!isAtHome() && canUseRouterLink(homeItem()!)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [routerLink]=\"routerLinkOf(homeItem()!)\"\n [queryParams]=\"queryParamsOf(homeItem()!)\"\n [fragment]=\"homeItem()!.fragment\"\n [queryParamsHandling]=\"homeItem()!.queryParamsHandling\"\n [preserveFragment]=\"homeItem()!.preserveFragment\"\n [skipLocationChange]=\"homeItem()!.skipLocationChange\"\n [replaceUrl]=\"homeItem()!.replaceUrl\"\n [state]=\"homeItem()!.state\"\n [attr.target]=\"targetAttrOf(homeItem()!)\"\n [attr.aria-label]=\"'platform.datacore.accessibility.breadcrumb_home' | translate\"\n >\n @if (homeItem()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"homeItem()!.icon\" aria-hidden=\"true\"></span>\n }\n </a>\n } @else if (!isAtHome() && canUseUrl(homeItem()!)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [attr.href]=\"hrefOf(homeItem()!)\"\n [attr.target]=\"targetAttrOf(homeItem()!)\"\n [attr.aria-label]=\"'platform.datacore.accessibility.breadcrumb_home' | translate\"\n >\n @if (homeItem()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"homeItem()!.icon\" aria-hidden=\"true\"></span>\n }\n </a>\n } @else {\n <span\n class=\"sdc-breadcrumb-text sdc-breadcrumb-text--home\"\n [attr.aria-label]=\"'platform.datacore.accessibility.breadcrumb_home' | translate\"\n >\n @if (homeItem()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"homeItem()!.icon\" aria-hidden=\"true\"></span>\n }\n </span>\n }\n </li>\n }\n\n @for (item of trailItems(); track $index) {\n <li class=\"sdc-breadcrumb-separator\" aria-hidden=\"true\"></li>\n\n <li\n class=\"sdc-breadcrumb-item\"\n [class.sdc-breadcrumb-item--current]=\"item.disabled\"\n [class.sdc-breadcrumb-item--previous]=\"!item.disabled && $index === trailItems().length - 2\"\n >\n @if (canNavigate(item)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [routerLink]=\"hasRouterLink(item) ? routerLinkOf(item) : null\"\n [queryParams]=\"queryParamsOf(item)\"\n [fragment]=\"item.fragment\"\n [queryParamsHandling]=\"item.queryParamsHandling\"\n [preserveFragment]=\"item.preserveFragment\"\n [skipLocationChange]=\"item.skipLocationChange\"\n [replaceUrl]=\"item.replaceUrl\"\n [state]=\"item.state\"\n [attr.href]=\"!hasRouterLink(item) && hasUrl(item) ? hrefOf(item) : null\"\n [attr.target]=\"targetAttrOf(item)\"\n >\n <span class=\"sdc-breadcrumb-item-label\">{{ (item.label || '') | translate }}</span>\n <span class=\"sdc-breadcrumb-sr-only\">{{ ' (' + ($index + 1) + ')' }}</span>\n </a>\n } @else if (!item.disabled) {\n <span class=\"sdc-breadcrumb-text\">\n <span class=\"sdc-breadcrumb-item-label\">{{ (item.label || '') | translate }}</span>\n </span>\n } @else {\n <span class=\"sdc-breadcrumb-current\" aria-current=\"page\">{{ (item.label || '') | translate }}</span>\n }\n </li>\n }\n </ol>\n</nav>\n", styles: ["@charset \"UTF-8\";:host{display:block}.sdc-breadcrumb{font-size:12px;line-height:1.2;padding:0;background:transparent}.sdc-breadcrumb-list{list-style:none;display:flex;align-items:center;gap:0;margin:0;padding:0}.sdc-breadcrumb-item{display:inline-flex;align-items:center;min-height:18px}.sdc-breadcrumb-link{display:inline-flex;align-items:center;gap:var(--sdc-breadcrumb-link-gap, 8px);color:var(--sdc-breadcrumb-text-color, inherit);text-decoration:none!important;outline:none}.sdc-breadcrumb-
|
|
265
|
+
args: [{ selector: 'sdc-breadcrumb', standalone: true, imports: [CommonModule, RouterModule, TranslateModule], encapsulation: ViewEncapsulation.Emulated, changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav\n class=\"sdc-breadcrumb\"\n [attr.aria-label]=\"(ariaLabelText() || 'platform.datacore.accessibility.breadcrumb_navigation') | translate\"\n>\n <ol class=\"sdc-breadcrumb-list\">\n @if (homeItem()) {\n <li class=\"sdc-breadcrumb-item sdc-breadcrumb-item--home\" [class.sdc-breadcrumb-item--current]=\"isAtHome()\">\n @if (!isAtHome() && canUseRouterLink(homeItem()!)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [routerLink]=\"routerLinkOf(homeItem()!)\"\n [queryParams]=\"queryParamsOf(homeItem()!)\"\n [fragment]=\"homeItem()!.fragment\"\n [queryParamsHandling]=\"homeItem()!.queryParamsHandling\"\n [preserveFragment]=\"homeItem()!.preserveFragment\"\n [skipLocationChange]=\"homeItem()!.skipLocationChange\"\n [replaceUrl]=\"homeItem()!.replaceUrl\"\n [state]=\"homeItem()!.state\"\n [attr.target]=\"targetAttrOf(homeItem()!)\"\n [attr.aria-label]=\"'platform.datacore.accessibility.breadcrumb_home' | translate\"\n >\n @if (homeItem()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"homeItem()!.icon\" aria-hidden=\"true\"></span>\n }\n </a>\n } @else if (!isAtHome() && canUseUrl(homeItem()!)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [attr.href]=\"hrefOf(homeItem()!)\"\n [attr.target]=\"targetAttrOf(homeItem()!)\"\n [attr.aria-label]=\"'platform.datacore.accessibility.breadcrumb_home' | translate\"\n >\n @if (homeItem()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"homeItem()!.icon\" aria-hidden=\"true\"></span>\n }\n </a>\n } @else {\n <span\n class=\"sdc-breadcrumb-text sdc-breadcrumb-text--home\"\n [attr.aria-label]=\"'platform.datacore.accessibility.breadcrumb_home' | translate\"\n >\n @if (homeItem()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"homeItem()!.icon\" aria-hidden=\"true\"></span>\n }\n </span>\n }\n </li>\n }\n\n @for (item of trailItems(); track $index) {\n <li class=\"sdc-breadcrumb-separator\" aria-hidden=\"true\"></li>\n\n <li\n class=\"sdc-breadcrumb-item\"\n [class.sdc-breadcrumb-item--current]=\"item.disabled\"\n [class.sdc-breadcrumb-item--previous]=\"!item.disabled && $index === trailItems().length - 2\"\n >\n @if (canNavigate(item)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [routerLink]=\"hasRouterLink(item) ? routerLinkOf(item) : null\"\n [queryParams]=\"queryParamsOf(item)\"\n [fragment]=\"item.fragment\"\n [queryParamsHandling]=\"item.queryParamsHandling\"\n [preserveFragment]=\"item.preserveFragment\"\n [skipLocationChange]=\"item.skipLocationChange\"\n [replaceUrl]=\"item.replaceUrl\"\n [state]=\"item.state\"\n [attr.href]=\"!hasRouterLink(item) && hasUrl(item) ? hrefOf(item) : null\"\n [attr.target]=\"targetAttrOf(item)\"\n >\n <span class=\"sdc-breadcrumb-item-label\">{{ (item.label || '') | translate }}</span>\n <span class=\"sdc-breadcrumb-sr-only\">{{ ' (' + ($index + 1) + ')' }}</span>\n </a>\n } @else if (!item.disabled) {\n <span class=\"sdc-breadcrumb-text\">\n <span class=\"sdc-breadcrumb-item-label\">{{ (item.label || '') | translate }}</span>\n </span>\n } @else {\n <span class=\"sdc-breadcrumb-current\" aria-current=\"page\">{{ (item.label || '') | translate }}</span>\n }\n </li>\n }\n </ol>\n</nav>\n", styles: ["@charset \"UTF-8\";:host{display:block}.sdc-breadcrumb{font-size:12px;line-height:1.2;padding:0;background:transparent}.sdc-breadcrumb-list{list-style:none;display:flex;align-items:center;gap:0;margin:0;padding:0}.sdc-breadcrumb-item{display:inline-flex;align-items:center;min-height:18px}.sdc-breadcrumb-link{display:inline-flex;align-items:center;gap:var(--sdc-breadcrumb-link-gap, 8px);color:var(--sdc-breadcrumb-text-color, inherit);text-decoration:none!important;outline:none}.sdc-breadcrumb-link:hover,.sdc-breadcrumb-link:active,.sdc-breadcrumb-link:visited{text-decoration:none!important}.sdc-breadcrumb-link:focus-visible{outline:2px solid var(--sdc-primary-600, #2563eb);outline-offset:2px;border-radius:4px}.sdc-breadcrumb-item--home .sdc-breadcrumb-link,.sdc-breadcrumb-item--previous .sdc-breadcrumb-link{color:var(--sdc-breadcrumb-link-color, var(--sdc-primary-600, #2563eb))}.sdc-breadcrumb-item--current .sdc-breadcrumb-link{color:var(--sdc-breadcrumb-current-color, #666872);pointer-events:none}.sdc-breadcrumb-item-icon{color:var(--sdc-breadcrumb-text-color, inherit);font-size:12px;line-height:1}.sdc-breadcrumb-item--home.sdc-breadcrumb-item--current .sdc-breadcrumb-text,.sdc-breadcrumb-item--home.sdc-breadcrumb-item--current .sdc-breadcrumb-item-icon{color:var(--sdc-breadcrumb-current-color, #666872);cursor:default}.sdc-breadcrumb-text{display:inline-flex;align-items:center;gap:var(--sdc-breadcrumb-link-gap, 8px);color:var(--sdc-breadcrumb-text-color, inherit)}.sdc-breadcrumb-item--home .sdc-breadcrumb-item-icon,.sdc-breadcrumb-item--previous .sdc-breadcrumb-item-icon{color:var(--sdc-breadcrumb-link-color, var(--sdc-primary-600, #2563eb))}.sdc-breadcrumb-text .sdc-breadcrumb-item-icon{color:currentColor}.sdc-breadcrumb-item-label{font-weight:400}.sdc-breadcrumb-separator{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--sdc-breadcrumb-separator-padding-x, 8px);color:var(--sdc-breadcrumb-separator-color, #667085);font-size:var(--sdc-breadcrumb-separator-size, 17px);line-height:1;transform:translateY(var(--sdc-breadcrumb-separator-translate-y, -1.6px))}.sdc-breadcrumb-separator:before{content:\"\\203a\"}.sdc-breadcrumb-current{color:var(--sdc-breadcrumb-current-color, #666872);font-weight:400}.sdc-breadcrumb-sr-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}\n"] }]
|
|
266
266
|
}], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i1.Router }], propDecorators: { homeUrl: [{
|
|
267
267
|
type: Input
|
|
268
268
|
}], targetHomeUrl: [{
|
|
@@ -1,31 +1,36 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewEncapsulation, inject } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostListener, Input, Output, ViewChild, ViewEncapsulation, inject } from '@angular/core';
|
|
2
2
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
3
|
import { TranslateModule, TranslateService } from '@ngx-translate/core';
|
|
4
|
-
import {
|
|
4
|
+
import { CARD_DESCRIPTION_LABEL_KEY } from '../../../core/constants/card.const';
|
|
5
5
|
import { resolveTranslatableText } from '../../../core/utils/i18n.util';
|
|
6
|
-
import { toPositiveInteger } from '../../../core/utils/number.util';
|
|
7
|
-
import { characterLength, truncateCharacters } from '../../../core/utils/string.util';
|
|
8
6
|
import { ButtonComponent } from '../../button/button.component';
|
|
9
7
|
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "@ngx-translate/core";
|
|
11
8
|
export class CardMiniComponent {
|
|
12
9
|
cdr = inject(ChangeDetectorRef);
|
|
13
10
|
translate = inject(TranslateService);
|
|
14
|
-
showLessLabelKey = CARD_SHOW_LESS_LABEL_KEY;
|
|
15
|
-
expandNameAriaLabelKey = CARD_EXPAND_NAME_ARIA_LABEL_KEY;
|
|
16
|
-
collapseNameAriaLabelKey = CARD_COLLAPSE_NAME_ARIA_LABEL_KEY;
|
|
17
|
-
expandCategoryAriaLabelKey = CARD_EXPAND_CATEGORY_ARIA_LABEL_KEY;
|
|
18
|
-
collapseCategoryAriaLabelKey = CARD_COLLAPSE_CATEGORY_ARIA_LABEL_KEY;
|
|
19
|
-
expandDescriptionAriaLabelKey = CARD_EXPAND_DESCRIPTION_ARIA_LABEL_KEY;
|
|
20
|
-
collapseDescriptionAriaLabelKey = CARD_COLLAPSE_DESCRIPTION_ARIA_LABEL_KEY;
|
|
21
11
|
data;
|
|
22
12
|
options;
|
|
23
13
|
cardAction = new EventEmitter();
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
14
|
+
nameTextRef;
|
|
15
|
+
categoryTextRef;
|
|
16
|
+
descriptionTextRef;
|
|
17
|
+
showNameTitle = false;
|
|
18
|
+
showCategoryTitle = false;
|
|
19
|
+
showDescriptionTitle = false;
|
|
27
20
|
constructor() {
|
|
28
|
-
this.translate.onLangChange.pipe(takeUntilDestroyed()).subscribe(() =>
|
|
21
|
+
this.translate.onLangChange.pipe(takeUntilDestroyed()).subscribe(() => {
|
|
22
|
+
this.refreshNativeTitles();
|
|
23
|
+
this.cdr.markForCheck();
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
ngAfterViewInit() {
|
|
27
|
+
this.refreshNativeTitles();
|
|
28
|
+
}
|
|
29
|
+
ngOnChanges(_) {
|
|
30
|
+
this.refreshNativeTitles();
|
|
31
|
+
}
|
|
32
|
+
onWindowResize() {
|
|
33
|
+
this.refreshNativeTitles();
|
|
29
34
|
}
|
|
30
35
|
get fullDescription() {
|
|
31
36
|
return this.translateText(this.data?.description);
|
|
@@ -45,102 +50,61 @@ export class CardMiniComponent {
|
|
|
45
50
|
get buttonAriaLabel() {
|
|
46
51
|
return [this.buttonLabelText, this.fullName].filter(Boolean).join(' - ');
|
|
47
52
|
}
|
|
48
|
-
|
|
49
|
-
return
|
|
50
|
-
}
|
|
51
|
-
get nameMaxLen() {
|
|
52
|
-
return toPositiveInteger(this.options?.nameMaxLength, CARD_DEFAULT_NAME_MAX_LENGTH);
|
|
53
|
-
}
|
|
54
|
-
get categoryMaxLen() {
|
|
55
|
-
return toPositiveInteger(this.options?.categoryMaxLength, CARD_DEFAULT_CATEGORY_MAX_LENGTH);
|
|
56
|
-
}
|
|
57
|
-
get isDescriptionTruncated() {
|
|
58
|
-
return characterLength(this.fullDescription) > this.descriptionMaxLen;
|
|
59
|
-
}
|
|
60
|
-
get isNameTruncated() {
|
|
61
|
-
return characterLength(this.fullName) > this.nameMaxLen;
|
|
62
|
-
}
|
|
63
|
-
get isCategoryTruncated() {
|
|
64
|
-
return characterLength(this.fullCategory) > this.categoryMaxLen;
|
|
65
|
-
}
|
|
66
|
-
get shortDescription() {
|
|
67
|
-
return truncateCharacters(this.fullDescription, this.descriptionMaxLen);
|
|
68
|
-
}
|
|
69
|
-
get shortName() {
|
|
70
|
-
return truncateCharacters(this.fullName, this.nameMaxLen);
|
|
71
|
-
}
|
|
72
|
-
get shortCategory() {
|
|
73
|
-
return truncateCharacters(this.fullCategory, this.categoryMaxLen);
|
|
74
|
-
}
|
|
75
|
-
expandDescription(event) {
|
|
76
|
-
this.stop(event);
|
|
77
|
-
if (!this.isDescriptionTruncated) {
|
|
78
|
-
return;
|
|
79
|
-
}
|
|
80
|
-
this.expandedDescription = true;
|
|
81
|
-
}
|
|
82
|
-
collapseDescription(event) {
|
|
83
|
-
this.stop(event);
|
|
84
|
-
this.expandedDescription = false;
|
|
53
|
+
translateText(value) {
|
|
54
|
+
return resolveTranslatableText(this.translate, value);
|
|
85
55
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
56
|
+
refreshNativeTitles() {
|
|
57
|
+
queueMicrotask(() => {
|
|
58
|
+
const nextName = this.hasHorizontalOverflow(this.nameTextRef?.nativeElement);
|
|
59
|
+
const nextCategory = this.hasHorizontalOverflow(this.categoryTextRef?.nativeElement);
|
|
60
|
+
const nextDescription = this.hasVerticalOverflow(this.descriptionTextRef?.nativeElement);
|
|
61
|
+
const hasChanged = this.showNameTitle !== nextName
|
|
62
|
+
|| this.showCategoryTitle !== nextCategory
|
|
63
|
+
|| this.showDescriptionTitle !== nextDescription;
|
|
64
|
+
if (!hasChanged) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
this.showNameTitle = nextName;
|
|
68
|
+
this.showCategoryTitle = nextCategory;
|
|
69
|
+
this.showDescriptionTitle = nextDescription;
|
|
70
|
+
this.cdr.markForCheck();
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
hasHorizontalOverflow(element) {
|
|
74
|
+
if (!element) {
|
|
75
|
+
return false;
|
|
90
76
|
}
|
|
91
|
-
|
|
77
|
+
return element.scrollWidth > element.clientWidth;
|
|
92
78
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
}
|
|
97
|
-
expandCategory(event) {
|
|
98
|
-
this.stop(event);
|
|
99
|
-
if (!this.isCategoryTruncated) {
|
|
100
|
-
return;
|
|
79
|
+
hasVerticalOverflow(element) {
|
|
80
|
+
if (!element) {
|
|
81
|
+
return false;
|
|
101
82
|
}
|
|
102
|
-
|
|
103
|
-
}
|
|
104
|
-
collapseCategory(event) {
|
|
105
|
-
this.stop(event);
|
|
106
|
-
this.expandedCategory = false;
|
|
107
|
-
}
|
|
108
|
-
onDescriptionEllipsisEnter(event) {
|
|
109
|
-
this.expandDescription(event);
|
|
110
|
-
}
|
|
111
|
-
onDescriptionEllipsisSpace(event) {
|
|
112
|
-
this.expandDescription(event);
|
|
113
|
-
}
|
|
114
|
-
onNameEllipsisEnter(event) {
|
|
115
|
-
this.expandName(event);
|
|
116
|
-
}
|
|
117
|
-
onNameEllipsisSpace(event) {
|
|
118
|
-
this.expandName(event);
|
|
119
|
-
}
|
|
120
|
-
onCategoryEllipsisEnter(event) {
|
|
121
|
-
this.expandCategory(event);
|
|
122
|
-
}
|
|
123
|
-
onCategoryEllipsisSpace(event) {
|
|
124
|
-
this.expandCategory(event);
|
|
125
|
-
}
|
|
126
|
-
translateText(value) {
|
|
127
|
-
return resolveTranslatableText(this.translate, value);
|
|
128
|
-
}
|
|
129
|
-
stop(event) {
|
|
130
|
-
event?.preventDefault();
|
|
131
|
-
event?.stopPropagation();
|
|
83
|
+
return element.scrollHeight > element.clientHeight;
|
|
132
84
|
}
|
|
133
85
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardMiniComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
134
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CardMiniComponent, isStandalone: true, selector: "sdc-card-mini", inputs: { data: "data", options: "options" }, outputs: { cardAction: "cardAction" }, ngImport: i0, template: "<article class=\"sdc-card-mini dp-card\" [attr.aria-label]=\"fullName + ' - ' + fullCategory\">\n <header class=\"sdc-card__header\">\n <div class=\"sdc-card__icon\" [style.background]=\"options?.backgroundIcon\" [style.color]=\"options?.iconColor\">\n <i [class]=\"data.icon || options?.icon\" aria-hidden=\"true\"></i>\n </div>\n\n <div class=\"sdc-card__header-text\">\n <h2
|
|
86
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CardMiniComponent, isStandalone: true, selector: "sdc-card-mini", inputs: { data: "data", options: "options" }, outputs: { cardAction: "cardAction" }, host: { listeners: { "window:resize": "onWindowResize()" } }, viewQueries: [{ propertyName: "nameTextRef", first: true, predicate: ["nameTextRef"], descendants: true }, { propertyName: "categoryTextRef", first: true, predicate: ["categoryTextRef"], descendants: true }, { propertyName: "descriptionTextRef", first: true, predicate: ["descriptionTextRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<article class=\"sdc-card-mini dp-card\" [attr.aria-label]=\"fullName + ' - ' + fullCategory\">\n <header class=\"sdc-card__header\">\n <div class=\"sdc-card__icon\" [style.background]=\"options?.backgroundIcon\" [style.color]=\"options?.iconColor\">\n <i [class]=\"data.icon || options?.icon\" aria-hidden=\"true\"></i>\n </div>\n\n <div class=\"sdc-card__header-text\">\n <h2\n #nameTextRef\n class=\"sdc-card__title\"\n [attr.title]=\"showNameTitle ? fullName : null\"\n >\n {{ fullName }}\n </h2>\n\n <div\n #categoryTextRef\n class=\"sdc-card__subtitle\"\n [attr.title]=\"showCategoryTitle ? fullCategory : null\"\n >\n {{ fullCategory }}\n </div>\n </div>\n </header>\n\n <div class=\"sdc-card__body\">\n <div class=\"sdc-card__content\">\n @if (descriptionLabel) {\n <div class=\"sdc-card__description-label\">{{ descriptionLabel }}</div>\n }\n\n <p\n #descriptionTextRef\n class=\"sdc-card__description\"\n [attr.title]=\"showDescriptionTitle ? fullDescription : null\"\n >\n {{ fullDescription }}\n </p>\n </div>\n </div>\n\n <footer class=\"sdc-card__footer flex justify-content-end\">\n <div class=\"sdc-card__footer-action\">\n <sdc-button\n width=\"100%\"\n (clicked)=\"cardAction.emit(data)\"\n [priority]=\"options?.buttonPriority!\"\n [label]=\"options?.buttonLabel!\"\n [attr.aria-label]=\"buttonAriaLabel\"\n >\n </sdc-button>\n </div>\n </footer>\n</article>\n", styles: [":host{display:block}.sdc-card-mini{width:100%;border-radius:var(--sdc-formfield-border-radius);border:var(--sdc-surface-border);overflow:hidden;display:flex;padding:var(--sdc-card-padding, 7px);flex-direction:column;min-height:var(--sdc-card-min-height, 19rem)}.sdc-card__header{display:flex;align-items:flex-start;justify-content:flex-start;gap:var(--sdc-card-header-gap, .75rem);padding:var(--sdc-card-header-padding, max(0px, var(--sdc-card-header-vertical-spacing, 1.25rem) - var(--sdc-card-padding, 7px)) var(--sdc-card-header-padding-x, max(0px, var(--sdc-card-horizontal-spacing, 1rem) - var(--sdc-card-padding, 7px))) var(--sdc-card-header-vertical-spacing, 1.25rem));position:relative;border-bottom:none}.sdc-card__header:after{content:\"\";position:absolute;bottom:0;left:calc(-1 * var(--sdc-card-padding, 7px));right:calc(-1 * var(--sdc-card-padding, 7px));border-bottom:var(--sdc-card-divider-border, var(--sdc-surface-divider-border))}.sdc-card__icon{min-width:var(--sdc-card-icon-size, 2.9rem);min-height:var(--sdc-card-icon-size, 2.9rem);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.sdc-card__header-text{display:flex;flex-direction:column;justify-content:flex-start;min-height:var(--sdc-card-icon-size, 2.9rem);width:100%;min-width:0;flex:1 1 auto}.sdc-card__body{padding:var(--sdc-card-body-padding, var(--sdc-card-body-padding-y, .3rem) var(--sdc-card-body-padding-x, max(0px, var(--sdc-card-horizontal-spacing, 1rem) - var(--sdc-card-padding, 7px))))}.sdc-card__title{margin:0;width:100%;min-width:0;font-size:1.4rem;font-weight:600;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sdc-card__subtitle{margin-top:.45rem;width:100%;min-width:0;font-weight:700;font-size:.775rem;color:var(--sdc-card-subtitle-color, var(--sdc-text-muted, #475569));line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sdc-card__content{margin-top:.5rem}.sdc-card__description-label{margin:0 0 var(--sdc-card-description-label-gap, .35rem);color:var(--sdc-card-description-label-color, inherit);font-size:var(--sdc-card-description-label-font-size, inherit);font-weight:var(--sdc-card-description-label-font-weight, 700);line-height:var(--sdc-card-description-label-line-height, 1.2)}.sdc-card__description{text-align:justify;margin:0;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3}.sdc-card__tags{margin-top:.5rem;display:flex;gap:.5rem;flex-wrap:wrap}.sdc-card__footer{margin-top:auto;padding:var(--sdc-card-footer-padding, var(--sdc-card-footer-padding-y, var(--sdc-card-horizontal-spacing, 1rem)) var(--sdc-card-footer-padding-right, max(0px, var(--sdc-card-horizontal-spacing, 1rem) - var(--sdc-card-padding, 7px))) var(--sdc-card-footer-padding-bottom, max(0px, var(--sdc-card-footer-padding-y, var(--sdc-card-horizontal-spacing, 1rem)) - var(--sdc-card-padding, 7px))) var(--sdc-card-footer-padding-left, max(0px, var(--sdc-card-horizontal-spacing, 1rem) - var(--sdc-card-padding, 7px))));display:flex;align-items:center;justify-content:flex-end;gap:var(--sdc-card-footer-gap, .5rem);min-height:var(--sdc-card-footer-min-height, auto);position:relative;border-top:none}.sdc-card__footer:before{content:\"\";position:absolute;top:0;left:calc(-1 * var(--sdc-card-padding, 7px));right:calc(-1 * var(--sdc-card-padding, 7px));border-top:var(--sdc-card-divider-border, var(--sdc-surface-divider-border))}.sdc-card__footer-action{box-sizing:border-box;flex:0 1 var(--sdc-card-footer-action-width, 50%);max-width:100%;width:var(--sdc-card-footer-action-width, 50%)}.sdc-card__footer-action sdc-button{display:block;width:100%}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "sdc-button", inputs: ["id", "label", "ariaLabel", "disabled", "width", "priority", "size", "type", "icon", "rightIcon", "auxiliary", "caret", "tooltip", "animation", "slide", "styleClass", "badge", "menuOptions", "menuContext", "model"], outputs: ["clicked"] }, { kind: "ngmodule", type: TranslateModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
135
87
|
}
|
|
136
88
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardMiniComponent, decorators: [{
|
|
137
89
|
type: Component,
|
|
138
|
-
args: [{ selector: 'sdc-card-mini', imports: [ButtonComponent, TranslateModule], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<article class=\"sdc-card-mini dp-card\" [attr.aria-label]=\"fullName + ' - ' + fullCategory\">\n <header class=\"sdc-card__header\">\n <div class=\"sdc-card__icon\" [style.background]=\"options?.backgroundIcon\" [style.color]=\"options?.iconColor\">\n <i [class]=\"data.icon || options?.icon\" aria-hidden=\"true\"></i>\n </div>\n\n <div class=\"sdc-card__header-text\">\n <h2
|
|
90
|
+
args: [{ selector: 'sdc-card-mini', imports: [ButtonComponent, TranslateModule], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<article class=\"sdc-card-mini dp-card\" [attr.aria-label]=\"fullName + ' - ' + fullCategory\">\n <header class=\"sdc-card__header\">\n <div class=\"sdc-card__icon\" [style.background]=\"options?.backgroundIcon\" [style.color]=\"options?.iconColor\">\n <i [class]=\"data.icon || options?.icon\" aria-hidden=\"true\"></i>\n </div>\n\n <div class=\"sdc-card__header-text\">\n <h2\n #nameTextRef\n class=\"sdc-card__title\"\n [attr.title]=\"showNameTitle ? fullName : null\"\n >\n {{ fullName }}\n </h2>\n\n <div\n #categoryTextRef\n class=\"sdc-card__subtitle\"\n [attr.title]=\"showCategoryTitle ? fullCategory : null\"\n >\n {{ fullCategory }}\n </div>\n </div>\n </header>\n\n <div class=\"sdc-card__body\">\n <div class=\"sdc-card__content\">\n @if (descriptionLabel) {\n <div class=\"sdc-card__description-label\">{{ descriptionLabel }}</div>\n }\n\n <p\n #descriptionTextRef\n class=\"sdc-card__description\"\n [attr.title]=\"showDescriptionTitle ? fullDescription : null\"\n >\n {{ fullDescription }}\n </p>\n </div>\n </div>\n\n <footer class=\"sdc-card__footer flex justify-content-end\">\n <div class=\"sdc-card__footer-action\">\n <sdc-button\n width=\"100%\"\n (clicked)=\"cardAction.emit(data)\"\n [priority]=\"options?.buttonPriority!\"\n [label]=\"options?.buttonLabel!\"\n [attr.aria-label]=\"buttonAriaLabel\"\n >\n </sdc-button>\n </div>\n </footer>\n</article>\n", styles: [":host{display:block}.sdc-card-mini{width:100%;border-radius:var(--sdc-formfield-border-radius);border:var(--sdc-surface-border);overflow:hidden;display:flex;padding:var(--sdc-card-padding, 7px);flex-direction:column;min-height:var(--sdc-card-min-height, 19rem)}.sdc-card__header{display:flex;align-items:flex-start;justify-content:flex-start;gap:var(--sdc-card-header-gap, .75rem);padding:var(--sdc-card-header-padding, max(0px, var(--sdc-card-header-vertical-spacing, 1.25rem) - var(--sdc-card-padding, 7px)) var(--sdc-card-header-padding-x, max(0px, var(--sdc-card-horizontal-spacing, 1rem) - var(--sdc-card-padding, 7px))) var(--sdc-card-header-vertical-spacing, 1.25rem));position:relative;border-bottom:none}.sdc-card__header:after{content:\"\";position:absolute;bottom:0;left:calc(-1 * var(--sdc-card-padding, 7px));right:calc(-1 * var(--sdc-card-padding, 7px));border-bottom:var(--sdc-card-divider-border, var(--sdc-surface-divider-border))}.sdc-card__icon{min-width:var(--sdc-card-icon-size, 2.9rem);min-height:var(--sdc-card-icon-size, 2.9rem);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.sdc-card__header-text{display:flex;flex-direction:column;justify-content:flex-start;min-height:var(--sdc-card-icon-size, 2.9rem);width:100%;min-width:0;flex:1 1 auto}.sdc-card__body{padding:var(--sdc-card-body-padding, var(--sdc-card-body-padding-y, .3rem) var(--sdc-card-body-padding-x, max(0px, var(--sdc-card-horizontal-spacing, 1rem) - var(--sdc-card-padding, 7px))))}.sdc-card__title{margin:0;width:100%;min-width:0;font-size:1.4rem;font-weight:600;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sdc-card__subtitle{margin-top:.45rem;width:100%;min-width:0;font-weight:700;font-size:.775rem;color:var(--sdc-card-subtitle-color, var(--sdc-text-muted, #475569));line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sdc-card__content{margin-top:.5rem}.sdc-card__description-label{margin:0 0 var(--sdc-card-description-label-gap, .35rem);color:var(--sdc-card-description-label-color, inherit);font-size:var(--sdc-card-description-label-font-size, inherit);font-weight:var(--sdc-card-description-label-font-weight, 700);line-height:var(--sdc-card-description-label-line-height, 1.2)}.sdc-card__description{text-align:justify;margin:0;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3}.sdc-card__tags{margin-top:.5rem;display:flex;gap:.5rem;flex-wrap:wrap}.sdc-card__footer{margin-top:auto;padding:var(--sdc-card-footer-padding, var(--sdc-card-footer-padding-y, var(--sdc-card-horizontal-spacing, 1rem)) var(--sdc-card-footer-padding-right, max(0px, var(--sdc-card-horizontal-spacing, 1rem) - var(--sdc-card-padding, 7px))) var(--sdc-card-footer-padding-bottom, max(0px, var(--sdc-card-footer-padding-y, var(--sdc-card-horizontal-spacing, 1rem)) - var(--sdc-card-padding, 7px))) var(--sdc-card-footer-padding-left, max(0px, var(--sdc-card-horizontal-spacing, 1rem) - var(--sdc-card-padding, 7px))));display:flex;align-items:center;justify-content:flex-end;gap:var(--sdc-card-footer-gap, .5rem);min-height:var(--sdc-card-footer-min-height, auto);position:relative;border-top:none}.sdc-card__footer:before{content:\"\";position:absolute;top:0;left:calc(-1 * var(--sdc-card-padding, 7px));right:calc(-1 * var(--sdc-card-padding, 7px));border-top:var(--sdc-card-divider-border, var(--sdc-surface-divider-border))}.sdc-card__footer-action{box-sizing:border-box;flex:0 1 var(--sdc-card-footer-action-width, 50%);max-width:100%;width:var(--sdc-card-footer-action-width, 50%)}.sdc-card__footer-action sdc-button{display:block;width:100%}\n"] }]
|
|
139
91
|
}], ctorParameters: () => [], propDecorators: { data: [{
|
|
140
92
|
type: Input
|
|
141
93
|
}], options: [{
|
|
142
94
|
type: Input
|
|
143
95
|
}], cardAction: [{
|
|
144
96
|
type: Output
|
|
97
|
+
}], nameTextRef: [{
|
|
98
|
+
type: ViewChild,
|
|
99
|
+
args: ['nameTextRef']
|
|
100
|
+
}], categoryTextRef: [{
|
|
101
|
+
type: ViewChild,
|
|
102
|
+
args: ['categoryTextRef']
|
|
103
|
+
}], descriptionTextRef: [{
|
|
104
|
+
type: ViewChild,
|
|
105
|
+
args: ['descriptionTextRef']
|
|
106
|
+
}], onWindowResize: [{
|
|
107
|
+
type: HostListener,
|
|
108
|
+
args: ['window:resize']
|
|
145
109
|
}] } });
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2NhcmQtbGlzdC9jYXJkL2NhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy9jYXJkLWxpc3QvY2FyZC9jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlJLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV4RSxPQUFPLEVBQ0wscUNBQXFDLEVBQ3JDLHdDQUF3QyxFQUN4QyxpQ0FBaUMsRUFDakMsMEJBQTBCLEVBQzFCLGdDQUFnQyxFQUNoQyxtQ0FBbUMsRUFDbkMsNEJBQTRCLEVBQzVCLG1DQUFtQyxFQUNuQyxzQ0FBc0MsRUFDdEMsK0JBQStCLEVBQy9CLHdCQUF3QixFQUN6QixNQUFNLG9DQUFvQyxDQUFDO0FBRTVDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7OztBQVdoRSxNQUFNLE9BQU8saUJBQWlCO0lBQ1gsR0FBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2hDLFNBQVMsR0FBRyxNQUFN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QUMsZUFBZSxFQUFFLGVBQWUsQ0FBQyxjQUUvQixJQUFJLG1CQUVDLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLFFBQVE7d0RBY2hDLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmltcG9ydCB7XG4gIENBUkRfQ09MTEFQU0VfQ0FURUdPUllfQVJJQV9MQUJFTF9LRVksXG4gIENBUkRfQ09MTEFQU0VfREVTQ1JJUFRJT05fQVJJQV9MQUJFTF9LRVksXG4gIENBUkRfQ09MTEFQU0VfTkFNRV9BUklBX0xBQkVMX0tFWSxcbiAgQ0FSRF9ERVNDUklQVElPTl9MQUJFTF9LRVksXG4gIENBUkRfREVGQVVMVF9DQVRFR09SWV9NQVhfTEVOR1RILFxuICBDQVJEX0RFRkFVTFRfREVTQ1JJUFRJT05fTUFYX0xFTkdUSCxcbiAgQ0FSRF9ERUZBVUxUX05BTUVfTUFYX0xFTkdUSCxcbiAgQ0FSRF9FWFBBTkRfQ0FURUdPUllfQVJJQV9MQUJFTF9LRVksXG4gIENBUkRfRVhQQU5EX0RFU0NSSVBUSU9OX0FSSUFfTEFCRUxfS0VZLFxuICBDQVJEX0VYUEFORF9OQU1FX0FSSUFfTEFCRUxfS0VZLFxuICBDQVJEX1NIT1dfTEVTU19MQUJFTF9LRVlcbn0gZnJvbSAnLi4vLi4vLi4vY29yZS9jb25zdGFudHMvY2FyZC5jb25zdCc7XG5pbXBvcnQgeyBDYXJkLCBPcHRpb25zQ2FyZCB9IGZyb20gJy4uLy4uLy4uL2NvcmUvdHlwZXMvY2FyZC50eXBlJztcbmltcG9ydCB7IHJlc29sdmVUcmFuc2xhdGFibGVUZXh0IH0gZnJvbSAnLi4vLi4vLi4vY29yZS91dGlscy9pMThuLnV0aWwnO1xuaW1wb3J0IHsgdG9Qb3NpdGl2ZUludGVnZXIgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3V0aWxzL251bWJlci51dGlsJztcbmltcG9ydCB7IGNoYXJhY3Rlckxlbmd0aCwgdHJ1bmNhdGVDaGFyYWN0ZXJzIH0gZnJvbSAnLi4vLi4vLi4vY29yZS91dGlscy9zdHJpbmcudXRpbCc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NkYy1jYXJkLW1pbmknLFxuICBpbXBvcnRzOiBbQnV0dG9uQ29tcG9uZW50LCBUcmFuc2xhdGVNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHN0eWxlVXJsOiAnLi9jYXJkLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkXG59KVxuZXhwb3J0IGNsYXNzIENhcmRNaW5pQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2hvd0xlc3NMYWJlbEtleSA9IENBUkRfU0hPV19MRVNTX0xBQkVMX0tFWTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGV4cGFuZE5hbWVBcmlhTGFiZWxLZXkgPSBDQVJEX0VYUEFORF9OQU1FX0FSSUFfTEFCRUxfS0VZO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29sbGFwc2VOYW1lQXJpYUxhYmVsS2V5ID0gQ0FSRF9DT0xMQVBTRV9OQU1FX0FSSUFfTEFCRUxfS0VZO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZXhwYW5kQ2F0ZWdvcnlBcmlhTGFiZWxLZXkgPSBDQVJEX0VYUEFORF9DQVRFR09SWV9BUklBX0xBQkVMX0tFWTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbGxhcHNlQ2F0ZWdvcnlBcmlhTGFiZWxLZXkgPSBDQVJEX0NPTExBUFNFX0NBVEVHT1JZX0FSSUFfTEFCRUxfS0VZO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZXhwYW5kRGVzY3JpcHRpb25BcmlhTGFiZWxLZXkgPSBDQVJEX0VYUEFORF9ERVNDUklQVElPTl9BUklBX0xBQkVMX0tFWTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbGxhcHNlRGVzY3JpcHRpb25BcmlhTGFiZWxLZXkgPSBDQVJEX0NPTExBUFNFX0RFU0NSSVBUSU9OX0FSSUFfTEFCRUxfS0VZO1xuXG4gIEBJbnB1dCgpIGRhdGEhOiBDYXJkO1xuICBASW5wdXQoKSBvcHRpb25zPzogT3B0aW9uc0NhcmQ7XG4gIEBPdXRwdXQoKSBjYXJkQWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxDYXJkPigpO1xuXG4gIHByb3RlY3RlZCBleHBhbmRlZERlc2NyaXB0aW9uID0gZmFsc2U7XG4gIHByb3RlY3RlZCBleHBhbmRlZE5hbWUgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIGV4cGFuZGVkQ2F0ZWdvcnkgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnRyYW5zbGF0ZS5vbkxhbmdDaGFuZ2UucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgZnVsbERlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dCh0aGlzLmRhdGE/LmRlc2NyaXB0aW9uKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgZnVsbE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0KHRoaXMuZGF0YT8ubmFtZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGZ1bGxDYXRlZ29yeSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHQodGhpcy5kYXRhPy5jYXRlZ29yeSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGRlc2NyaXB0aW9uTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0KHRoaXMub3B0aW9ucz8uZGVzY3JpcHRpb25MYWJlbCA/PyBDQVJEX0RFU0NSSVBUSU9OX0xBQkVMX0tFWSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGJ1dHRvbkxhYmVsVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHQodGhpcy5vcHRpb25zPy5idXR0b25MYWJlbCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGJ1dHRvbkFyaWFMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBbdGhpcy5idXR0b25MYWJlbFRleHQsIHRoaXMuZnVsbE5hbWVdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgLSAnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgZGVzY3JpcHRpb25NYXhMZW4oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdG9Qb3NpdGl2ZUludGVnZXIodGhpcy5vcHRpb25zPy5kZXNjcmlwdGlvbk1heExlbmd0aCwgQ0FSRF9ERUZBVUxUX0RFU0NSSVBUSU9OX01BWF9MRU5HVEgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBuYW1lTWF4TGVuKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRvUG9zaXRpdmVJbnRlZ2VyKHRoaXMub3B0aW9ucz8ubmFtZU1heExlbmd0aCwgQ0FSRF9ERUZBVUxUX05BTUVfTUFYX0xFTkdUSCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGNhdGVnb3J5TWF4TGVuKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRvUG9zaXRpdmVJbnRlZ2VyKHRoaXMub3B0aW9ucz8uY2F0ZWdvcnlNYXhMZW5ndGgsIENBUkRfREVGQVVMVF9DQVRFR09SWV9NQVhfTEVOR1RIKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgaXNEZXNjcmlwdGlvblRydW5jYXRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gY2hhcmFjdGVyTGVuZ3RoKHRoaXMuZnVsbERlc2NyaXB0aW9uKSA+IHRoaXMuZGVzY3JpcHRpb25NYXhMZW47XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGlzTmFtZVRydW5jYXRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gY2hhcmFjdGVyTGVuZ3RoKHRoaXMuZnVsbE5hbWUpID4gdGhpcy5uYW1lTWF4TGVuO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBpc0NhdGVnb3J5VHJ1bmNhdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBjaGFyYWN0ZXJMZW5ndGgodGhpcy5mdWxsQ2F0ZWdvcnkpID4gdGhpcy5jYXRlZ29yeU1heExlbjtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgc2hvcnREZXNjcmlwdGlvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0cnVuY2F0ZUNoYXJhY3RlcnModGhpcy5mdWxsRGVzY3JpcHRpb24sIHRoaXMuZGVzY3JpcHRpb25NYXhMZW4pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBzaG9ydE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdHJ1bmNhdGVDaGFyYWN0ZXJzKHRoaXMuZnVsbE5hbWUsIHRoaXMubmFtZU1heExlbik7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHNob3J0Q2F0ZWdvcnkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdHJ1bmNhdGVDaGFyYWN0ZXJzKHRoaXMuZnVsbENhdGVnb3J5LCB0aGlzLmNhdGVnb3J5TWF4TGVuKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBleHBhbmREZXNjcmlwdGlvbihldmVudD86IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5zdG9wKGV2ZW50KTtcblxuICAgIGlmICghdGhpcy5pc0Rlc2NyaXB0aW9uVHJ1bmNhdGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5leHBhbmRlZERlc2NyaXB0aW9uID0gdHJ1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjb2xsYXBzZURlc2NyaXB0aW9uKGV2ZW50PzogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3AoZXZlbnQpO1xuICAgIHRoaXMuZXhwYW5kZWREZXNjcmlwdGlvbiA9IGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGV4cGFuZE5hbWUoZXZlbnQ/OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuc3RvcChldmVudCk7XG5cbiAgICBpZiAoIXRoaXMuaXNOYW1lVHJ1bmNhdGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5leHBhbmRlZE5hbWUgPSB0cnVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNvbGxhcHNlTmFtZShldmVudD86IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5zdG9wKGV2ZW50KTtcbiAgICB0aGlzLmV4cGFuZGVkTmFtZSA9IGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGV4cGFuZENhdGVnb3J5KGV2ZW50PzogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3AoZXZlbnQpO1xuXG4gICAgaWYgKCF0aGlzLmlzQ2F0ZWdvcnlUcnVuY2F0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmV4cGFuZGVkQ2F0ZWdvcnkgPSB0cnVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNvbGxhcHNlQ2F0ZWdvcnkoZXZlbnQ/OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuc3RvcChldmVudCk7XG4gICAgdGhpcy5leHBhbmRlZENhdGVnb3J5ID0gZmFsc2U7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25EZXNjcmlwdGlvbkVsbGlwc2lzRW50ZXIoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5leHBhbmREZXNjcmlwdGlvbihldmVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25EZXNjcmlwdGlvbkVsbGlwc2lzU3BhY2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5leHBhbmREZXNjcmlwdGlvbihldmVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25OYW1lRWxsaXBzaXNFbnRlcihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmV4cGFuZE5hbWUoZXZlbnQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uTmFtZUVsbGlwc2lzU3BhY2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5leHBhbmROYW1lKGV2ZW50KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkNhdGVnb3J5RWxsaXBzaXNFbnRlcihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmV4cGFuZENhdGVnb3J5KGV2ZW50KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkNhdGVnb3J5RWxsaXBzaXNTcGFjZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmV4cGFuZENhdGVnb3J5KGV2ZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgdHJhbnNsYXRlVGV4dCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcbiAgICByZXR1cm4gcmVzb2x2ZVRyYW5zbGF0YWJsZVRleHQodGhpcy50cmFuc2xhdGUsIHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RvcChldmVudD86IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQ/LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG59XG4iLCI8YXJ0aWNsZSBjbGFzcz1cInNkYy1jYXJkLW1pbmkgZHAtY2FyZFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiZnVsbE5hbWUgKyAnIC0gJyArIGZ1bGxDYXRlZ29yeVwiPlxuICA8aGVhZGVyIGNsYXNzPVwic2RjLWNhcmRfX2hlYWRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJzZGMtY2FyZF9faWNvblwiIFtzdHlsZS5iYWNrZ3JvdW5kXT1cIm9wdGlvbnM/LmJhY2tncm91bmRJY29uXCIgW3N0eWxlLmNvbG9yXT1cIm9wdGlvbnM/Lmljb25Db2xvclwiPlxuICAgICAgPGkgW2NsYXNzXT1cImRhdGEuaWNvbiB8fCBvcHRpb25zPy5pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cInNkYy1jYXJkX19oZWFkZXItdGV4dFwiPlxuICAgICAgPGgyIGNsYXNzPVwic2RjLWNhcmRfX3RpdGxlXCIgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc05hbWVUcnVuY2F0ZWQgPyBleHBhbmRlZE5hbWUgOiBudWxsXCI+XG4gICAgICAgIEBpZiAoIWV4cGFuZGVkTmFtZSkge1xuICAgICAgICAgIHt7IHNob3J0TmFtZSB9fUBpZiAoaXNOYW1lVHJ1bmNhdGVkKSB7XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cInNkYy1jYXJkX19lbGxpcHNpc1wiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImV4cGFuZE5hbWVBcmlhTGFiZWxLZXkgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImV4cGFuZE5hbWUoJGV2ZW50KVwiXG4gICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbk5hbWVFbGxpcHNpc0VudGVyKCRldmVudClcIlxuICAgICAgICAgICAgKGtleWRvd24uc3BhY2UpPVwib25OYW1lRWxsaXBzaXNTcGFjZSgkZXZlbnQpXCJcbiAgICAgICAgICAgID4uLi48L2J1dHRvblxuICAgICAgICAgICAgPlxuICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAge3sgZnVsbE5hbWUgfX1cbiAgICAgICAgfVxuICAgICAgPC9oMj5cblxuICAgICAgQGlmIChleHBhbmRlZE5hbWUgJiYgaXNOYW1lVHJ1bmNhdGVkKSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cInNkYy1jYXJkX190b2dnbGUgc2RjLWNhcmRfX3RvZ2dsZS0taW5saW5lXCJcbiAgICAgICAgICAoY2xpY2spPVwiY29sbGFwc2VOYW1lKCRldmVudClcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiY29sbGFwc2VOYW1lQXJpYUxhYmVsS2V5IHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAge3sgc2hvd0xlc3NMYWJlbEtleSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH1cblxuICAgICAgPGRpdiBjbGFzcz1cInNkYy1jYXJkX19zdWJ0aXRsZVwiIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXNDYXRlZ29yeVRydW5jYXRlZCA/IGV4cGFuZGVkQ2F0ZWdvcnkgOiBudWxsXCI+XG4gICAgICAgIEBpZiAoIWV4cGFuZGVkQ2F0ZWdvcnkpIHtcbiAgICAgICAgICB7eyBzaG9ydENhdGVnb3J5IH19QGlmIChpc0NhdGVnb3J5VHJ1bmNhdGVkKSB7XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cInNkYy1jYXJkX19lbGxpcHNpc1wiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImV4cGFuZENhdGVnb3J5QXJpYUxhYmVsS2V5IHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJleHBhbmRDYXRlZ29yeSgkZXZlbnQpXCJcbiAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uQ2F0ZWdvcnlFbGxpcHNpc0VudGVyKCRldmVudClcIlxuICAgICAgICAgICAgKGtleWRvd24uc3BhY2UpPVwib25DYXRlZ29yeUVsbGlwc2lzU3BhY2UoJGV2ZW50KVwiXG4gICAgICAgICAgICA+Li4uPC9idXR0b25cbiAgICAgICAgICAgID5cbiAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIHt7IGZ1bGxDYXRlZ29yeSB9fVxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cblxuICAgICAgQGlmIChleHBhbmRlZENhdGVnb3J5ICYmIGlzQ2F0ZWdvcnlUcnVuY2F0ZWQpIHtcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwic2RjLWNhcmRfX3RvZ2dsZSBzZGMtY2FyZF9fdG9nZ2xlLS1pbmxpbmVcIlxuICAgICAgICAgIChjbGljayk9XCJjb2xsYXBzZUNhdGVnb3J5KCRldmVudClcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiY29sbGFwc2VDYXRlZ29yeUFyaWFMYWJlbEtleSB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIHt7IHNob3dMZXNzTGFiZWxLZXkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIDwvaGVhZGVyPlxuXG4gIDxkaXYgY2xhc3M9XCJzZGMtY2FyZF9fYm9keVwiPlxuICAgIDxkaXYgY2xhc3M9XCJzZGMtY2FyZF9fY29udGVudFwiPlxuICAgICAgQGlmIChkZXNjcmlwdGlvbkxhYmVsKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZGMtY2FyZF9fZGVzY3JpcHRpb24tbGFiZWxcIj57eyBkZXNjcmlwdGlvbkxhYmVsIH19PC9kaXY+XG4gICAgICB9XG5cbiAgICAgIDxwIGNsYXNzPVwic2RjLWNhcmRfX2Rlc2NyaXB0aW9uXCIgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc0Rlc2NyaXB0aW9uVHJ1bmNhdGVkID8gZXhwYW5kZWREZXNjcmlwdGlvbiA6IG51bGxcIj5cbiAgICAgICAgQGlmICghZXhwYW5kZWREZXNjcmlwdGlvbikge1xuICAgICAgICAgIHt7IHNob3J0RGVzY3JpcHRpb24gfX1AaWYgKGlzRGVzY3JpcHRpb25UcnVuY2F0ZWQpIHtcbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2RjLWNhcmRfX2VsbGlwc2lzXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZXhwYW5kRGVzY3JpcHRpb25BcmlhTGFiZWxLZXkgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImV4cGFuZERlc2NyaXB0aW9uKCRldmVudClcIlxuICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25EZXNjcmlwdGlvbkVsbGlwc2lzRW50ZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJvbkRlc2NyaXB0aW9uRWxsaXBzaXNTcGFjZSgkZXZlbnQpXCJcbiAgICAgICAgICAgID4uLi48L2J1dHRvblxuICAgICAgICAgICAgPlxuICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAge3sgZnVsbERlc2NyaXB0aW9uIH19XG4gICAgICAgIH1cbiAgICAgIDwvcD5cblxuICAgICAgQGlmIChleHBhbmRlZERlc2NyaXB0aW9uICYmIGlzRGVzY3JpcHRpb25UcnVuY2F0ZWQpIHtcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwic2RjLWNhcmRfX3RvZ2dsZVwiXG4gICAgICAgICAgKGNsaWNrKT1cImNvbGxhcHNlRGVzY3JpcHRpb24oJGV2ZW50KVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJjb2xsYXBzZURlc2NyaXB0aW9uQXJpYUxhYmVsS2V5IHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAge3sgc2hvd0xlc3NMYWJlbEtleSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGZvb3RlciBjbGFzcz1cInNkYy1jYXJkX19mb290ZXIgZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XG4gICAgPGRpdiBjbGFzcz1cInNkYy1jYXJkX19mb290ZXItYWN0aW9uXCI+XG4gICAgICA8c2RjLWJ1dHRvblxuICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgICAoY2xpY2tlZCk9XCJjYXJkQWN0aW9uLmVtaXQoZGF0YSlcIlxuICAgICAgICBbcHJpb3JpdHldPVwib3B0aW9ucz8uYnV0dG9uUHJpb3JpdHkhXCJcbiAgICAgICAgW2xhYmVsXT1cIm9wdGlvbnM/LmJ1dHRvbkxhYmVsIVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9uQXJpYUxhYmVsXCJcbiAgICAgICAgPlxuICAgICAgPC9zZGMtYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Zvb3Rlcj5cbjwvYXJ0aWNsZT5cbiJdfQ==
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2NhcmQtbGlzdC9jYXJkL2NhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy9jYXJkLWxpc3QvY2FyZC9jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxFQUNULGlCQUFpQixFQUNqQixNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXhFLE9BQU8sRUFDTCwwQkFBMEIsRUFDM0IsTUFBTSxvQ0FBb0MsQ0FBQztBQUU1QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBV2hFLE1BQU0sT0FBTyxpQkFBaUI7SUFDWCxHQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDaEMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRTdDLElBQUksQ0FBUTtJQUNaLE9BQU8sQ0FBZTtJQUNyQixVQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUVMLFdBQVcsQ0FBMkI7SUFDbEMsZUFBZSxDQUEyQjtJQUN2QyxrQkFBa0IsQ0FBMkI7SUFFckYsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUN0QixpQkFBaUIsR0FBRyxLQUFLLENBQUM7SUFDMUIsb0JBQW9C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QztRQUVELE9BQU8sT0FBTyxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDO0lBQ25ELENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxPQUFnQztRQUMxRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFFRCxPQUFPLE9BQU8sQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQztJQUNyRCxDQUFDO3dHQW5HVSxpQkFBaUI7NEZBQWpCLGlCQUFpQiw2aUJDcEM5Qiw4a0RBc0RBLHFwSER6QlksZUFBZSw2U0FBRSxlQUFlOzs0RkFPL0IsaUJBQWlCO2tCQVQ3QixTQUFTOytCQUNFLGVBQWUsV0FDaEIsQ0FBQyxlQUFlLEVBQUUsZUFBZSxDQUFDLGNBRS9CLElBQUksbUJBRUMsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsUUFBUTt3REFNaEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNO2dCQUVvQyxXQUFXO3NCQUFyRCxTQUFTO3VCQUFDLGFBQWE7Z0JBQ3VCLGVBQWU7c0JBQTdELFNBQVM7dUJBQUMsaUJBQWlCO2dCQUNzQixrQkFBa0I7c0JBQW5FLFNBQVM7dUJBQUMsb0JBQW9CO2dCQXNCckIsY0FBYztzQkFEdkIsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgaW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmltcG9ydCB7XG4gIENBUkRfREVTQ1JJUFRJT05fTEFCRUxfS0VZXG59IGZyb20gJy4uLy4uLy4uL2NvcmUvY29uc3RhbnRzL2NhcmQuY29uc3QnO1xuaW1wb3J0IHsgQ2FyZCwgT3B0aW9uc0NhcmQgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3R5cGVzL2NhcmQudHlwZSc7XG5pbXBvcnQgeyByZXNvbHZlVHJhbnNsYXRhYmxlVGV4dCB9IGZyb20gJy4uLy4uLy4uL2NvcmUvdXRpbHMvaTE4bi51dGlsJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2RjLWNhcmQtbWluaScsXG4gIGltcG9ydHM6IFtCdXR0b25Db21wb25lbnQsIFRyYW5zbGF0ZU1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc3R5bGVVcmw6ICcuL2NhcmQuY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWRcbn0pXG5leHBvcnQgY2xhc3MgQ2FyZE1pbmlDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xuICBwcml2YXRlIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlID0gaW5qZWN0KFRyYW5zbGF0ZVNlcnZpY2UpO1xuXG4gIEBJbnB1dCgpIGRhdGEhOiBDYXJkO1xuICBASW5wdXQoKSBvcHRpb25zPzogT3B0aW9uc0NhcmQ7XG4gIEBPdXRwdXQoKSBjYXJkQWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxDYXJkPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ25hbWVUZXh0UmVmJykgcHJpdmF0ZSByZWFkb25seSBuYW1lVGV4dFJlZj86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKCdjYXRlZ29yeVRleHRSZWYnKSBwcml2YXRlIHJlYWRvbmx5IGNhdGVnb3J5VGV4dFJlZj86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKCdkZXNjcmlwdGlvblRleHRSZWYnKSBwcml2YXRlIHJlYWRvbmx5IGRlc2NyaXB0aW9uVGV4dFJlZj86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIHByb3RlY3RlZCBzaG93TmFtZVRpdGxlID0gZmFsc2U7XG4gIHByb3RlY3RlZCBzaG93Q2F0ZWdvcnlUaXRsZSA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgc2hvd0Rlc2NyaXB0aW9uVGl0bGUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnRyYW5zbGF0ZS5vbkxhbmdDaGFuZ2UucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMucmVmcmVzaE5hdGl2ZVRpdGxlcygpO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZWZyZXNoTmF0aXZlVGl0bGVzKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhfOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5yZWZyZXNoTmF0aXZlVGl0bGVzKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJylcbiAgcHJvdGVjdGVkIG9uV2luZG93UmVzaXplKCk6IHZvaWQge1xuICAgIHRoaXMucmVmcmVzaE5hdGl2ZVRpdGxlcygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBmdWxsRGVzY3JpcHRpb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0KHRoaXMuZGF0YT8uZGVzY3JpcHRpb24pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBmdWxsTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHQodGhpcy5kYXRhPy5uYW1lKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgZnVsbENhdGVnb3J5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dCh0aGlzLmRhdGE/LmNhdGVnb3J5KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgZGVzY3JpcHRpb25MYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHQodGhpcy5vcHRpb25zPy5kZXNjcmlwdGlvbkxhYmVsID8/IENBUkRfREVTQ1JJUFRJT05fTEFCRUxfS0VZKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgYnV0dG9uTGFiZWxUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dCh0aGlzLm9wdGlvbnM/LmJ1dHRvbkxhYmVsKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgYnV0dG9uQXJpYUxhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFt0aGlzLmJ1dHRvbkxhYmVsVGV4dCwgdGhpcy5mdWxsTmFtZV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAtICcpO1xuICB9XG5cbiAgcHJpdmF0ZSB0cmFuc2xhdGVUZXh0KHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xuICAgIHJldHVybiByZXNvbHZlVHJhbnNsYXRhYmxlVGV4dCh0aGlzLnRyYW5zbGF0ZSwgdmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWZyZXNoTmF0aXZlVGl0bGVzKCk6IHZvaWQge1xuICAgIHF1ZXVlTWljcm90YXNrKCgpID0+IHtcbiAgICAgIGNvbnN0IG5leHROYW1lID0gdGhpcy5oYXNIb3Jpem9udGFsT3ZlcmZsb3codGhpcy5uYW1lVGV4dFJlZj8ubmF0aXZlRWxlbWVudCk7XG4gICAgICBjb25zdCBuZXh0Q2F0ZWdvcnkgPSB0aGlzLmhhc0hvcml6b250YWxPdmVyZmxvdyh0aGlzLmNhdGVnb3J5VGV4dFJlZj8ubmF0aXZlRWxlbWVudCk7XG4gICAgICBjb25zdCBuZXh0RGVzY3JpcHRpb24gPSB0aGlzLmhhc1ZlcnRpY2FsT3ZlcmZsb3codGhpcy5kZXNjcmlwdGlvblRleHRSZWY/Lm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgICBjb25zdCBoYXNDaGFuZ2VkID0gdGhpcy5zaG93TmFtZVRpdGxlICE9PSBuZXh0TmFtZVxuICAgICAgICB8fCB0aGlzLnNob3dDYXRlZ29yeVRpdGxlICE9PSBuZXh0Q2F0ZWdvcnlcbiAgICAgICAgfHwgdGhpcy5zaG93RGVzY3JpcHRpb25UaXRsZSAhPT0gbmV4dERlc2NyaXB0aW9uO1xuXG4gICAgICBpZiAoIWhhc0NoYW5nZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnNob3dOYW1lVGl0bGUgPSBuZXh0TmFtZTtcbiAgICAgIHRoaXMuc2hvd0NhdGVnb3J5VGl0bGUgPSBuZXh0Q2F0ZWdvcnk7XG4gICAgICB0aGlzLnNob3dEZXNjcmlwdGlvblRpdGxlID0gbmV4dERlc2NyaXB0aW9uO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhhc0hvcml6b250YWxPdmVyZmxvdyhlbGVtZW50OiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgIGlmICghZWxlbWVudCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiBlbGVtZW50LnNjcm9sbFdpZHRoID4gZWxlbWVudC5jbGllbnRXaWR0aDtcbiAgfVxuXG4gIHByaXZhdGUgaGFzVmVydGljYWxPdmVyZmxvdyhlbGVtZW50OiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgIGlmICghZWxlbWVudCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiBlbGVtZW50LnNjcm9sbEhlaWdodCA+IGVsZW1lbnQuY2xpZW50SGVpZ2h0O1xuICB9XG59XG4iLCI8YXJ0aWNsZSBjbGFzcz1cInNkYy1jYXJkLW1pbmkgZHAtY2FyZFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiZnVsbE5hbWUgKyAnIC0gJyArIGZ1bGxDYXRlZ29yeVwiPlxuICA8aGVhZGVyIGNsYXNzPVwic2RjLWNhcmRfX2hlYWRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJzZGMtY2FyZF9faWNvblwiIFtzdHlsZS5iYWNrZ3JvdW5kXT1cIm9wdGlvbnM/LmJhY2tncm91bmRJY29uXCIgW3N0eWxlLmNvbG9yXT1cIm9wdGlvbnM/Lmljb25Db2xvclwiPlxuICAgICAgPGkgW2NsYXNzXT1cImRhdGEuaWNvbiB8fCBvcHRpb25zPy5pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cInNkYy1jYXJkX19oZWFkZXItdGV4dFwiPlxuICAgICAgPGgyXG4gICAgICAgICNuYW1lVGV4dFJlZlxuICAgICAgICBjbGFzcz1cInNkYy1jYXJkX190aXRsZVwiXG4gICAgICAgIFthdHRyLnRpdGxlXT1cInNob3dOYW1lVGl0bGUgPyBmdWxsTmFtZSA6IG51bGxcIlxuICAgICAgPlxuICAgICAgICB7eyBmdWxsTmFtZSB9fVxuICAgICAgPC9oMj5cblxuICAgICAgPGRpdlxuICAgICAgICAjY2F0ZWdvcnlUZXh0UmVmXG4gICAgICAgIGNsYXNzPVwic2RjLWNhcmRfX3N1YnRpdGxlXCJcbiAgICAgICAgW2F0dHIudGl0bGVdPVwic2hvd0NhdGVnb3J5VGl0bGUgPyBmdWxsQ2F0ZWdvcnkgOiBudWxsXCJcbiAgICAgID5cbiAgICAgICAge3sgZnVsbENhdGVnb3J5IH19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9oZWFkZXI+XG5cbiAgPGRpdiBjbGFzcz1cInNkYy1jYXJkX19ib2R5XCI+XG4gICAgPGRpdiBjbGFzcz1cInNkYy1jYXJkX19jb250ZW50XCI+XG4gICAgICBAaWYgKGRlc2NyaXB0aW9uTGFiZWwpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cInNkYy1jYXJkX19kZXNjcmlwdGlvbi1sYWJlbFwiPnt7IGRlc2NyaXB0aW9uTGFiZWwgfX08L2Rpdj5cbiAgICAgIH1cblxuICAgICAgPHBcbiAgICAgICAgI2Rlc2NyaXB0aW9uVGV4dFJlZlxuICAgICAgICBjbGFzcz1cInNkYy1jYXJkX19kZXNjcmlwdGlvblwiXG4gICAgICAgIFthdHRyLnRpdGxlXT1cInNob3dEZXNjcmlwdGlvblRpdGxlID8gZnVsbERlc2NyaXB0aW9uIDogbnVsbFwiXG4gICAgICA+XG4gICAgICAgIHt7IGZ1bGxEZXNjcmlwdGlvbiB9fVxuICAgICAgPC9wPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8Zm9vdGVyIGNsYXNzPVwic2RjLWNhcmRfX2Zvb3RlciBmbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2RjLWNhcmRfX2Zvb3Rlci1hY3Rpb25cIj5cbiAgICAgIDxzZGMtYnV0dG9uXG4gICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgIChjbGlja2VkKT1cImNhcmRBY3Rpb24uZW1pdChkYXRhKVwiXG4gICAgICAgIFtwcmlvcml0eV09XCJvcHRpb25zPy5idXR0b25Qcmlvcml0eSFcIlxuICAgICAgICBbbGFiZWxdPVwib3B0aW9ucz8uYnV0dG9uTGFiZWwhXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJidXR0b25BcmlhTGFiZWxcIlxuICAgICAgICA+XG4gICAgICA8L3NkYy1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZm9vdGVyPlxuPC9hcnRpY2xlPlxuIl19
|