@design-system-rte/angular 0.13.0 → 0.14.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.
Files changed (52) hide show
  1. package/esm2022/lib/components/badge/badge.component.mjs +3 -3
  2. package/esm2022/lib/components/badge/badge.directive.mjs +3 -3
  3. package/esm2022/lib/components/banner/banner.component.mjs +3 -3
  4. package/esm2022/lib/components/breadcrumbs/breadcrumbs.component.mjs +10 -13
  5. package/esm2022/lib/components/button/button.component.mjs +3 -3
  6. package/esm2022/lib/components/checkbox/checkbox.component.mjs +4 -5
  7. package/esm2022/lib/components/checkbox-group/checkbox-group.component.mjs +5 -6
  8. package/esm2022/lib/components/chip/chip.component.mjs +3 -3
  9. package/esm2022/lib/components/divider/divider.component.mjs +3 -3
  10. package/esm2022/lib/components/dropdown/dropdown-item/dropdown-item.component.mjs +41 -0
  11. package/esm2022/lib/components/dropdown/dropdown-menu/dropdown-menu.component.mjs +44 -0
  12. package/esm2022/lib/components/dropdown/dropdown-trigger/dropdown-trigger.directive.mjs +31 -0
  13. package/esm2022/lib/components/dropdown/dropdown.directive.mjs +148 -0
  14. package/esm2022/lib/components/dropdown/dropdown.module.mjs +19 -0
  15. package/esm2022/lib/components/dropdown/index.mjs +8 -0
  16. package/esm2022/lib/components/grid/col/col.directive.mjs +3 -3
  17. package/esm2022/lib/components/grid/grid.directive.mjs +3 -3
  18. package/esm2022/lib/components/icon/icon.component.mjs +3 -3
  19. package/esm2022/lib/components/icon/icon.service.mjs +3 -3
  20. package/esm2022/lib/components/icon-button/icon-button.component.mjs +5 -5
  21. package/esm2022/lib/components/icon-button-toggle/icon-button-toggle.component.mjs +3 -3
  22. package/esm2022/lib/components/link/link.component.mjs +3 -3
  23. package/esm2022/lib/components/popover/popover.component.mjs +3 -3
  24. package/esm2022/lib/components/popover/popover.directive.mjs +3 -3
  25. package/esm2022/lib/components/radio-button/radio-button.component.mjs +3 -3
  26. package/esm2022/lib/components/radio-button-group/radio-button-group.component.mjs +3 -3
  27. package/esm2022/lib/components/segmented-control/segmented-control.component.mjs +3 -3
  28. package/esm2022/lib/components/split-button/split-button.component.mjs +3 -3
  29. package/esm2022/lib/components/switch/switch.component.mjs +3 -3
  30. package/esm2022/lib/components/text-input/text-input.component.mjs +3 -3
  31. package/esm2022/lib/components/textarea/textarea.component.mjs +3 -3
  32. package/esm2022/lib/components/tooltip/tooltip.component.mjs +3 -3
  33. package/esm2022/lib/components/tooltip/tooltip.directive.mjs +3 -3
  34. package/esm2022/lib/services/dropdown.service.mjs +81 -0
  35. package/esm2022/lib/services/overlay.service.mjs +3 -3
  36. package/fesm2022/design-system-rte-angular.mjs +423 -98
  37. package/fesm2022/design-system-rte-angular.mjs.map +1 -1
  38. package/lib/components/breadcrumbs/breadcrumbs.component.d.ts +0 -1
  39. package/lib/components/checkbox/checkbox.component.d.ts +1 -2
  40. package/lib/components/checkbox-group/checkbox-group.component.d.ts +1 -2
  41. package/lib/components/chip/chip.component.d.ts +1 -1
  42. package/lib/components/dropdown/dropdown-item/dropdown-item.component.d.ts +25 -0
  43. package/lib/components/dropdown/dropdown-menu/dropdown-menu.component.d.ts +20 -0
  44. package/lib/components/dropdown/dropdown-trigger/dropdown-trigger.directive.d.ts +11 -0
  45. package/lib/components/dropdown/dropdown.directive.d.ts +47 -0
  46. package/lib/components/dropdown/dropdown.module.d.ts +10 -0
  47. package/lib/components/dropdown/index.d.ts +5 -0
  48. package/lib/components/popover/popover.component.d.ts +1 -1
  49. package/lib/components/text-input/text-input.component.d.ts +1 -1
  50. package/lib/components/tooltip/tooltip.component.d.ts +1 -1
  51. package/lib/services/dropdown.service.d.ts +27 -0
  52. package/package.json +4 -4
@@ -51,8 +51,8 @@ export class TextareaComponent {
51
51
  this.textareaRef()?.nativeElement?.scrollTo({ top: 0 });
52
52
  this.blur.emit(event);
53
53
  }
54
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextareaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
55
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "17.3.12", type: TextareaComponent, isStandalone: true, selector: "rte-textarea", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "ariaLabelledby", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelId: { classPropertyName: "labelId", publicName: "labelId", isSignal: true, isRequired: false, transformFunction: null }, labelPosition: { classPropertyName: "labelPosition", publicName: "labelPosition", isSignal: true, isRequired: false, transformFunction: null }, assistiveTextLabel: { classPropertyName: "assistiveTextLabel", publicName: "assistiveTextLabel", isSignal: true, isRequired: false, transformFunction: null }, assistiveTextAppearance: { classPropertyName: "assistiveTextAppearance", publicName: "assistiveTextAppearance", isSignal: true, isRequired: false, transformFunction: null }, assistiveTextLink: { classPropertyName: "assistiveTextLink", publicName: "assistiveTextLink", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, showLabelRequirement: { classPropertyName: "showLabelRequirement", publicName: "showLabelRequirement", isSignal: true, isRequired: false, transformFunction: null }, resizeable: { classPropertyName: "resizeable", publicName: "resizeable", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, readOnly: { classPropertyName: "readOnly", publicName: "readOnly", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, defaultValue: { classPropertyName: "defaultValue", publicName: "defaultValue", isSignal: true, isRequired: false, transformFunction: null }, showCounter: { classPropertyName: "showCounter", publicName: "showCounter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change", blur: "blur" }, providers: [
54
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TextareaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
55
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.14", type: TextareaComponent, isStandalone: true, selector: "rte-textarea", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "ariaLabelledby", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelId: { classPropertyName: "labelId", publicName: "labelId", isSignal: true, isRequired: false, transformFunction: null }, labelPosition: { classPropertyName: "labelPosition", publicName: "labelPosition", isSignal: true, isRequired: false, transformFunction: null }, assistiveTextLabel: { classPropertyName: "assistiveTextLabel", publicName: "assistiveTextLabel", isSignal: true, isRequired: false, transformFunction: null }, assistiveTextAppearance: { classPropertyName: "assistiveTextAppearance", publicName: "assistiveTextAppearance", isSignal: true, isRequired: false, transformFunction: null }, assistiveTextLink: { classPropertyName: "assistiveTextLink", publicName: "assistiveTextLink", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, showLabelRequirement: { classPropertyName: "showLabelRequirement", publicName: "showLabelRequirement", isSignal: true, isRequired: false, transformFunction: null }, resizeable: { classPropertyName: "resizeable", publicName: "resizeable", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, readOnly: { classPropertyName: "readOnly", publicName: "readOnly", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, defaultValue: { classPropertyName: "defaultValue", publicName: "defaultValue", isSignal: true, isRequired: false, transformFunction: null }, showCounter: { classPropertyName: "showCounter", publicName: "showCounter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change", blur: "blur" }, providers: [
56
56
  {
57
57
  provide: NG_VALUE_ACCESSOR,
58
58
  useExisting: TextareaComponent,
@@ -60,7 +60,7 @@ export class TextareaComponent {
60
60
  },
61
61
  ], viewQueries: [{ propertyName: "textareaRef", first: true, predicate: ["textarea"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"container\" [attr.data-label-position]=\"labelPosition()\"> \n <label *ngIf=\"label() && labelPosition() === 'side'\" [attr.data-label-position]=\"labelPosition()\" [attr.id]=\"labelId()\" [attr.for]=\"id()\">{{label()}}<span *ngIf=\"required() || showLabelRequirement()\" class=\"requirement-indicator\" aria-hidden=\"true\" [ngClass]=\"{'required': required(), 'show-label-requirement': showLabelRequirement() }\">{{requirementIndicatorValue()}}</span></label>\n <div class=\"top-position-container\" [attr.data-label-position]=\"labelPosition()\">\n <div class=\"header-container\" [attr.data-label-position]=\"labelPosition()\">\n <label *ngIf=\"label() && labelPosition() === 'top'\" [attr.id]=\"labelId()\" [attr.for]=\"id()\">{{label()}}<span *ngIf=\"required() || showLabelRequirement()\" class=\"requirement-indicator\" aria-hidden=\"true\" [ngClass]=\"{'required': required(), 'show-label-requirement': showLabelRequirement() }\">{{requirementIndicatorValue()}}</span></label>\n <span *ngIf=\"isCounterVisible()\" class=\"character-counter\">{{ characterCount }}/{{ maxLength() }}</span>\n </div>\n <div class=\"textarea-container\" [attr.data-label-position]=\"labelPosition()\">\n <textarea\n #textarea\n class=\"textarea {{ assistiveTextAppearance() }}\"\n [class.resizeable]=\"resizeable()\"\n [attr.id]=\"id()\"\n [attr.name]=\"name()\"\n [attr.aria-labelledby]=\"labelId() || ariaLabelledby()\"\n [attr.required]=\"required() || null\"\n [attr.maxLength]=\"maxLength() !== undefined ? maxLength() : null\"\n [attr.disabled]=\"disabled() || null\"\n [attr.readonly]=\"readOnly() || null\"\n [value]=\"value() !== undefined ? value() : null\"\n [defaultValue]=\"defaultValue() !== undefined ? defaultValue() : null\"\n [attr.rows]=\"rows()\"\n (input)=\"onInput($event)\"\n (blur)=\"onBlur($event)\"\n ></textarea>\n <rte-link *ngIf=\"isAssistiveTextLinkVisible()\" class=\"assistive-text-link\" [externalLink]=\"true\" [href]=\"assistiveTextLink() || ''\" [label]=\"assistiveTextLabel() || ''\">\n </rte-link>\n <div *ngIf=\"assistiveTextAppearance() !== 'link'\" class=\"assistive-text {{ assistiveTextAppearance() }}\" [ngClass]=\"{'disabled' : disabled()}\">\n <rte-icon *ngIf=\"assistiveTextAppearance() === 'error'\" name=\"error\" [size]=\"assistiveTextIconSize\"></rte-icon>\n <rte-icon *ngIf=\"assistiveTextAppearance() === 'success'\" name=\"check-circle\" [size]=\"assistiveTextIconSize\"></rte-icon>\n <span>{{ assistiveTextLabel() }}</span>\n </div>\n </div>\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:wght,FILL,GRAD@400,0,0&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap\";.container[data-label-position=side]{display:flex;flex-direction:row}.top-position-container{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:14px;line-height:20px;letter-spacing:0px;display:flex;height:100%;padding:0;flex-direction:column;align-items:flex-start;gap:0px;flex-shrink:0;border-radius:0;opacity:100%}.top-position-container[data-label-position=side]{flex-grow:1}.top-position-container .header-container{display:flex;width:100%;flex-direction:row;align-items:flex-end;justify-content:space-between;padding:2px 8px;box-sizing:border-box;gap:8px}.top-position-container .header-container[data-label-position=side]{padding:0;justify-content:flex-end}.top-position-container .textarea-container{display:flex;flex-direction:column;width:100%;align-items:flex-start}.top-position-container .textarea-container .textarea{box-shadow:inset 0 1px 4px 0 var(--elevation-shadow-key);background:linear-gradient(0deg,var(--elevation-surface-inner-shadow) 0%,var(--elevation-surface-inner-shadow) 100%);font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:14px;line-height:20px;letter-spacing:0px;color:var(--content-primary);min-height:70px;padding:8px 16px;width:100%;min-width:140px;border-radius:8px;border:1px solid var(--border-secondary);opacity:100%;background-color:var(--background-default);resize:none;box-sizing:border-box}@media (min-width: 1024px){.top-position-container .textarea-container .textarea{min-height:56px;min-width:112px;max-width:1100px}}.top-position-container .textarea-container .textarea:focus-visible,.top-position-container .textarea-container .textarea:active{outline:none}.top-position-container .textarea-container .textarea:focus-visible:not(:disabled),.top-position-container .textarea-container .textarea:active:not(:disabled){outline:1px solid var(--border-brand-default);border:1px solid var(--border-brand-default)}.top-position-container .textarea-container .textarea.error:not(:disabled){outline:1px solid var(--border-danger);border:1px solid var(--border-danger)}.top-position-container .textarea-container .textarea.resizeable{resize:vertical}.top-position-container .textarea-container .textarea:disabled,.top-position-container .textarea-container .textarea:read-only{cursor:not-allowed;background-color:var(--background-disabled)}.top-position-container .textarea-container .textarea:disabled{resize:none}.top-position-container .textarea-container .textarea:read-only{color:var(--content-secondary)}.top-position-container .textarea-container .assistive-text-link{padding:4px 8px}.top-position-container .textarea-container .assistive-text{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:700;font-size:12px;line-height:16px;letter-spacing:0px;display:flex;padding:4px 8px;color:var(--content-tertiary);gap:4px}.top-position-container .textarea-container .assistive-text.error:not(.disabled){color:var(--content-danger)}.top-position-container .textarea-container .assistive-text.success{color:var(--content-success)}.character-counter{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:12px;line-height:16px;letter-spacing:0px;color:var(--content-tertiary)}label{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:14px;line-height:20px;letter-spacing:0px;color:var(--content-secondary);max-width:300px;justify-content:space-between;white-space:normal;overflow-wrap:normal;word-break:normal}label[data-label-position=side]{padding:24px 8px;align-items:flex-start;gap:0px;align-self:stretch}label .requirement-indicator{margin-left:2px}label .requirement-indicator.show-label-requirement{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:12px;line-height:16px;letter-spacing:0px;color:var(--content-tertiary)}label .requirement-indicator.show-label-requirement:not(.required){font-style:italic}label .requirement-indicator:not(.show-label-requirement).required{color:var(--content-danger)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "rte-icon", inputs: ["name", "size", "color", "classes", "appearance"] }, { kind: "component", type: LinkComponent, selector: "rte-link", inputs: ["label", "href", "subtle", "externalLink"] }] }); }
62
62
  }
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextareaComponent, decorators: [{
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TextareaComponent, decorators: [{
64
64
  type: Component,
65
65
  args: [{ selector: "rte-textarea", imports: [CommonModule, IconComponent, LinkComponent], standalone: true, providers: [
66
66
  {
@@ -9,10 +9,10 @@ export class TooltipComponent {
9
9
  this.alignment = input("center");
10
10
  this.arrow = input(true);
11
11
  }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: TooltipComponent, isStandalone: true, selector: "rte-tooltip", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, alignment: { classPropertyName: "alignment", publicName: "alignment", isSignal: true, isRequired: false, transformFunction: null }, arrow: { classPropertyName: "arrow", publicName: "arrow", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div\n class=\"tooltip {{ position() }} {{ alignment() }}\"\n [ngClass]=\"{ arrow: arrow() }\"\n>\n <span role=\"tooltip\" class=\"tooltip-label\"> {{ label() }} </span>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:wght,FILL,GRAD@400,0,0&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap\";:host{position:absolute;max-width:160px;max-height:40px;transition:opacity .15s ease-out}:host:not(:hover){transition:opacity .1s ease-in}.tooltip{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:14px;line-height:20px;letter-spacing:0px;color:var(--content-primary-inverse);position:absolute;text-align:center;z-index:1;max-width:160px;max-height:40px;width:fit-content;padding-block:4px;padding-inline:16px;border-radius:4px;background:var(--background-inverse)}.tooltip.top,.tooltip.bottom{transform:translate(-50%)}.tooltip.left,.tooltip.right{transform:translateY(-50%)}.tooltip.top{bottom:0}.tooltip.top:after{top:100%;left:50%;margin-left:-5px;border-color:var(--background-inverse) transparent transparent transparent}.tooltip.top.start:after{left:25%}.tooltip.top.end:after{left:75%}.tooltip.bottom:after{bottom:100%;left:50%;margin-left:-5px;border-color:transparent transparent var(--background-inverse) transparent}.tooltip.bottom.start:after{left:25%}.tooltip.bottom.end:after{left:75%}.tooltip.left{right:0}.tooltip.left:after{top:50%;left:100%;margin-top:-5px;border-color:transparent transparent transparent var(--background-inverse)}.tooltip.left.start:after{top:25%}.tooltip.left.end:after{top:75%}.tooltip.right:after{top:50%;right:100%;margin-top:-5px;border-color:transparent var(--background-inverse) transparent transparent}.tooltip.right.start:after{top:25%}.tooltip.right.end:after{top:75%}.tooltip.arrow:after{content:\"\";position:absolute;border-width:5px;border-style:solid}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: TooltipComponent, isStandalone: true, selector: "rte-tooltip", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, alignment: { classPropertyName: "alignment", publicName: "alignment", isSignal: true, isRequired: false, transformFunction: null }, arrow: { classPropertyName: "arrow", publicName: "arrow", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div\n class=\"tooltip {{ position() }} {{ alignment() }}\"\n [ngClass]=\"{ arrow: arrow() }\"\n>\n <span role=\"tooltip\" class=\"tooltip-label\"> {{ label() }} </span>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:wght,FILL,GRAD@400,0,0&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap\";:host{position:absolute;max-width:160px;max-height:40px;transition:opacity .15s ease-out}:host:not(:hover){transition:opacity .1s ease-in}.tooltip{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:14px;line-height:20px;letter-spacing:0px;color:var(--content-primary-inverse);position:absolute;text-align:center;z-index:1;max-width:160px;max-height:40px;width:fit-content;padding-block:4px;padding-inline:16px;border-radius:4px;background:var(--background-inverse)}.tooltip.top,.tooltip.bottom{transform:translate(-50%)}.tooltip.left,.tooltip.right{transform:translateY(-50%)}.tooltip.top{bottom:0}.tooltip.top:after{top:100%;left:50%;margin-left:-5px;border-color:var(--background-inverse) transparent transparent transparent}.tooltip.top.start:after{left:25%}.tooltip.top.end:after{left:75%}.tooltip.bottom:after{bottom:100%;left:50%;margin-left:-5px;border-color:transparent transparent var(--background-inverse) transparent}.tooltip.bottom.start:after{left:25%}.tooltip.bottom.end:after{left:75%}.tooltip.left{right:0}.tooltip.left:after{top:50%;left:100%;margin-top:-5px;border-color:transparent transparent transparent var(--background-inverse)}.tooltip.left.start:after{top:25%}.tooltip.left.end:after{top:75%}.tooltip.right:after{top:50%;right:100%;margin-top:-5px;border-color:transparent var(--background-inverse) transparent transparent}.tooltip.right.start:after{top:25%}.tooltip.right.end:after{top:75%}.tooltip.arrow:after{content:\"\";position:absolute;border-width:5px;border-style:solid}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TooltipComponent, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TooltipComponent, decorators: [{
16
16
  type: Component,
17
17
  args: [{ selector: "rte-tooltip", imports: [CommonModule], standalone: true, template: "<div\n class=\"tooltip {{ position() }} {{ alignment() }}\"\n [ngClass]=\"{ arrow: arrow() }\"\n>\n <span role=\"tooltip\" class=\"tooltip-label\"> {{ label() }} </span>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:wght,FILL,GRAD@400,0,0&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap\";:host{position:absolute;max-width:160px;max-height:40px;transition:opacity .15s ease-out}:host:not(:hover){transition:opacity .1s ease-in}.tooltip{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:14px;line-height:20px;letter-spacing:0px;color:var(--content-primary-inverse);position:absolute;text-align:center;z-index:1;max-width:160px;max-height:40px;width:fit-content;padding-block:4px;padding-inline:16px;border-radius:4px;background:var(--background-inverse)}.tooltip.top,.tooltip.bottom{transform:translate(-50%)}.tooltip.left,.tooltip.right{transform:translateY(-50%)}.tooltip.top{bottom:0}.tooltip.top:after{top:100%;left:50%;margin-left:-5px;border-color:var(--background-inverse) transparent transparent transparent}.tooltip.top.start:after{left:25%}.tooltip.top.end:after{left:75%}.tooltip.bottom:after{bottom:100%;left:50%;margin-left:-5px;border-color:transparent transparent var(--background-inverse) transparent}.tooltip.bottom.start:after{left:25%}.tooltip.bottom.end:after{left:75%}.tooltip.left{right:0}.tooltip.left:after{top:50%;left:100%;margin-top:-5px;border-color:transparent transparent transparent var(--background-inverse)}.tooltip.left.start:after{top:25%}.tooltip.left.end:after{top:75%}.tooltip.right:after{top:50%;right:100%;margin-top:-5px;border-color:transparent var(--background-inverse) transparent transparent}.tooltip.right.start:after{top:25%}.tooltip.right.end:after{top:75%}.tooltip.arrow:after{content:\"\";position:absolute;border-width:5px;border-style:solid}\n"] }]
18
18
  }] });
@@ -79,10 +79,10 @@ export class TooltipDirective {
79
79
  }, 200);
80
80
  }
81
81
  }
82
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
83
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "17.3.12", type: TooltipDirective, isStandalone: true, selector: "[rteTooltip]", inputs: { rteTooltip: { classPropertyName: "rteTooltip", publicName: "rteTooltip", isSignal: true, isRequired: true, transformFunction: null }, rteTooltipPosition: { classPropertyName: "rteTooltipPosition", publicName: "rteTooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, rteTooltipAlignment: { classPropertyName: "rteTooltipAlignment", publicName: "rteTooltipAlignment", isSignal: true, isRequired: false, transformFunction: null }, rteTooltipArrow: { classPropertyName: "rteTooltipArrow", publicName: "rteTooltipArrow", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "focus": "onFocus()", "blur": "onBlur()" } }, ngImport: i0 }); }
82
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
83
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.14", type: TooltipDirective, isStandalone: true, selector: "[rteTooltip]", inputs: { rteTooltip: { classPropertyName: "rteTooltip", publicName: "rteTooltip", isSignal: true, isRequired: true, transformFunction: null }, rteTooltipPosition: { classPropertyName: "rteTooltipPosition", publicName: "rteTooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, rteTooltipAlignment: { classPropertyName: "rteTooltipAlignment", publicName: "rteTooltipAlignment", isSignal: true, isRequired: false, transformFunction: null }, rteTooltipArrow: { classPropertyName: "rteTooltipArrow", publicName: "rteTooltipArrow", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "focus": "onFocus()", "blur": "onBlur()" } }, ngImport: i0 }); }
84
84
  }
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TooltipDirective, decorators: [{
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TooltipDirective, decorators: [{
86
86
  type: Directive,
87
87
  args: [{
88
88
  selector: "[rteTooltip]",
@@ -0,0 +1,81 @@
1
+ import { Injectable } from "@angular/core";
2
+ import { ARROW_DOWN_KEY, ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ESCAPE_KEY, } from "@design-system-rte/core/constants/keyboard/keyboard.constants";
3
+ import { BehaviorSubject } from "rxjs";
4
+ import { map } from "rxjs/operators";
5
+ import * as i0 from "@angular/core";
6
+ export class DropdownService {
7
+ constructor() {
8
+ this.initialState = {
9
+ activeMenuId: "",
10
+ };
11
+ this.state$ = new BehaviorSubject(this.initialState);
12
+ this.activeMenuId$ = this.state$.pipe(map((state) => state?.activeMenuId));
13
+ }
14
+ openMenu(menuId) {
15
+ this.state$.next({
16
+ activeMenuId: menuId,
17
+ });
18
+ }
19
+ closeAllMenus() {
20
+ this.state$.next(null);
21
+ }
22
+ isMenuActive(menuId) {
23
+ return this.activeMenuId$.pipe(map((activeId) => activeId === menuId));
24
+ }
25
+ reset() {
26
+ this.state$.next(this.initialState);
27
+ console.log("🔵 Dropdown Service - State Reset");
28
+ }
29
+ handleKeyboardInput(key, options) {
30
+ if ([ARROW_DOWN_KEY, ARROW_UP_KEY, ARROW_LEFT_KEY, ARROW_RIGHT_KEY].includes(key)) {
31
+ this.handleKeyboardNavigation(key, options);
32
+ }
33
+ if (key === ESCAPE_KEY) {
34
+ this.closeAllMenus();
35
+ }
36
+ }
37
+ handleKeyboardNavigation(key, options) {
38
+ const { menuElement } = options;
39
+ const nativeElement = menuElement?.nativeElement;
40
+ switch (key) {
41
+ case ARROW_DOWN_KEY:
42
+ this.focusNextElement(nativeElement);
43
+ break;
44
+ case ARROW_UP_KEY:
45
+ this.focusPreviousElement(nativeElement);
46
+ break;
47
+ }
48
+ }
49
+ focusNextElement(element) {
50
+ if (!element)
51
+ return;
52
+ const focusableElements = this.getFocusableElements(element);
53
+ const currentIndex = focusableElements.indexOf(document.activeElement);
54
+ const nextIndex = currentIndex + 1 < focusableElements.length ? currentIndex + 1 : 0;
55
+ focusableElements[nextIndex]?.focus();
56
+ }
57
+ focusPreviousElement(element) {
58
+ if (!element)
59
+ return;
60
+ const focusableElements = this.getFocusableElements(element);
61
+ const currentIndex = focusableElements.indexOf(document.activeElement);
62
+ const previousIndex = currentIndex ? currentIndex - 1 : focusableElements.length - 1;
63
+ focusableElements[previousIndex]?.focus();
64
+ }
65
+ getFocusableElements(element) {
66
+ const menuId = element.dataset["menuId"];
67
+ return Array.from(element.querySelectorAll("li")).filter((el) => {
68
+ const closestMenu = el.closest("[data-menu-id]");
69
+ return closestMenu?.dataset["menuId"] === menuId;
70
+ });
71
+ }
72
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropdownService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
73
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropdownService, providedIn: "root" }); }
74
+ }
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropdownService, decorators: [{
76
+ type: Injectable,
77
+ args: [{
78
+ providedIn: "root", // Makes the service a singleton
79
+ }]
80
+ }] });
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLXJ0ZS1saWIvc3JjL2xpYi9zZXJ2aWNlcy9kcm9wZG93bi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUNMLGNBQWMsRUFDZCxjQUFjLEVBQ2QsZUFBZSxFQUNmLFlBQVksRUFDWixVQUFVLEdBQ1gsTUFBTSwrREFBK0QsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFlckMsTUFBTSxPQUFPLGVBQWU7SUFINUI7UUFJbUIsaUJBQVksR0FBa0I7WUFDN0MsWUFBWSxFQUFFLEVBQUU7U0FDakIsQ0FBQztRQUVGLFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBdUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRTdELGtCQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztLQXlFaEY7SUF2RUMsUUFBUSxDQUFDLE1BQWM7UUFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDZixZQUFZLEVBQUUsTUFBTTtTQUNyQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxZQUFZLENBQUMsTUFBYztRQUN6QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFB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QU07OzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU0sRUFBRSxnQ0FBZ0M7aUJBQ3JEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1xuICBBUlJPV19ET1dOX0tFWSxcbiAgQVJST1dfTEVGVF9LRVksXG4gIEFSUk9XX1JJR0hUX0tFWSxcbiAgQVJST1dfVVBfS0VZLFxuICBFU0NBUEVfS0VZLFxufSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmUvY29uc3RhbnRzL2tleWJvYXJkL2tleWJvYXJkLmNvbnN0YW50c1wiO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IG1hcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEtleWJvYXJkSGFuZGxpbmdPcHRpb25zIHtcbiAgbWVudUVsZW1lbnQ6IEVsZW1lbnRSZWYgfCBudWxsO1xuICBtZW51SWQ6IHN0cmluZztcbiAgaXRlbUluZGV4PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERyb3Bkb3duU3RhdGUge1xuICBhY3RpdmVNZW51SWQ6IHN0cmluZztcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiBcInJvb3RcIiwgLy8gTWFrZXMgdGhlIHNlcnZpY2UgYSBzaW5nbGV0b25cbn0pXG5leHBvcnQgY2xhc3MgRHJvcGRvd25TZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBpbml0aWFsU3RhdGU6IERyb3Bkb3duU3RhdGUgPSB7XG4gICAgYWN0aXZlTWVudUlkOiBcIlwiLFxuICB9O1xuXG4gIHN0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RHJvcGRvd25TdGF0ZSB8IG51bGw+KHRoaXMuaW5pdGlhbFN0YXRlKTtcblxuICByZWFkb25seSBhY3RpdmVNZW51SWQkID0gdGhpcy5zdGF0ZSQucGlwZShtYXAoKHN0YXRlKSA9PiBzdGF0ZT8uYWN0aXZlTWVudUlkKSk7XG5cbiAgb3Blbk1lbnUobWVudUlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlJC5uZXh0KHtcbiAgICAgIGFjdGl2ZU1lbnVJZDogbWVudUlkLFxuICAgIH0pO1xuICB9XG5cbiAgY2xvc2VBbGxNZW51cygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlJC5uZXh0KG51bGwpO1xuICB9XG5cbiAgaXNNZW51QWN0aXZlKG1lbnVJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlTWVudUlkJC5waXBlKG1hcCgoYWN0aXZlSWQpID0+IGFjdGl2ZUlkID09PSBtZW51SWQpKTtcbiAgfVxuXG4gIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUkLm5leHQodGhpcy5pbml0aWFsU3RhdGUpO1xuICAgIGNvbnNvbGUubG9nKFwi8J+UtSBEcm9wZG93biBTZXJ2aWNlIC0gU3RhdGUgUmVzZXRcIik7XG4gIH1cblxuICBoYW5kbGVLZXlib2FyZElucHV0KGtleTogc3RyaW5nLCBvcHRpb25zOiBLZXlib2FyZEhhbmRsaW5nT3B0aW9ucyk6IHZvaWQge1xuICAgIGlmIChbQVJST1dfRE9XTl9LRVksIEFSUk9XX1VQX0tFWSwgQVJST1dfTEVGVF9LRVksIEFSUk9XX1JJR0hUX0tFWV0uaW5jbHVkZXMoa2V5KSkge1xuICAgICAgdGhpcy5oYW5kbGVLZXlib2FyZE5hdmlnYXRpb24oa2V5LCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICBpZiAoa2V5ID09PSBFU0NBUEVfS0VZKSB7XG4gICAgICB0aGlzLmNsb3NlQWxsTWVudXMoKTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVLZXlib2FyZE5hdmlnYXRpb24oa2V5OiBzdHJpbmcsIG9wdGlvbnM6IEtleWJvYXJkSGFuZGxpbmdPcHRpb25zKTogdm9pZCB7XG4gICAgY29uc3QgeyBtZW51RWxlbWVudCB9ID0gb3B0aW9ucztcbiAgICBjb25zdCBuYXRpdmVFbGVtZW50ID0gbWVudUVsZW1lbnQ/Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgY2FzZSBBUlJPV19ET1dOX0tFWTpcbiAgICAgICAgdGhpcy5mb2N1c05leHRFbGVtZW50KG5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBBUlJPV19VUF9LRVk6XG4gICAgICAgIHRoaXMuZm9jdXNQcmV2aW91c0VsZW1lbnQobmF0aXZlRWxlbWVudCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNOZXh0RWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoIWVsZW1lbnQpIHJldHVybjtcblxuICAgIGNvbnN0IGZvY3VzYWJsZUVsZW1lbnRzID0gdGhpcy5nZXRGb2N1c2FibGVFbGVtZW50cyhlbGVtZW50KTtcbiAgICBjb25zdCBjdXJyZW50SW5kZXggPSBmb2N1c2FibGVFbGVtZW50cy5pbmRleE9mKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpO1xuICAgIGNvbnN0IG5leHRJbmRleCA9IGN1cnJlbnRJbmRleCArIDEgPCBmb2N1c2FibGVFbGVtZW50cy5sZW5ndGggPyBjdXJyZW50SW5kZXggKyAxIDogMDtcblxuICAgIGZvY3VzYWJsZUVsZW1lbnRzW25leHRJbmRleF0/LmZvY3VzKCk7XG4gIH1cblxuICBwcml2YXRlIGZvY3VzUHJldmlvdXNFbGVtZW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCk6IHZvaWQge1xuICAgIGlmICghZWxlbWVudCkgcmV0dXJuO1xuXG4gICAgY29uc3QgZm9jdXNhYmxlRWxlbWVudHMgPSB0aGlzLmdldEZvY3VzYWJsZUVsZW1lbnRzKGVsZW1lbnQpO1xuICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IGZvY3VzYWJsZUVsZW1lbnRzLmluZGV4T2YoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCk7XG4gICAgY29uc3QgcHJldmlvdXNJbmRleCA9IGN1cnJlbnRJbmRleCA/IGN1cnJlbnRJbmRleCAtIDEgOiBmb2N1c2FibGVFbGVtZW50cy5sZW5ndGggLSAxO1xuXG4gICAgZm9jdXNhYmxlRWxlbWVudHNbcHJldmlvdXNJbmRleF0/LmZvY3VzKCk7XG4gIH1cblxuICBwcml2YXRlIGdldEZvY3VzYWJsZUVsZW1lbnRzKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnRbXSB7XG4gICAgY29uc3QgbWVudUlkID0gZWxlbWVudC5kYXRhc2V0W1wibWVudUlkXCJdO1xuICAgIHJldHVybiBBcnJheS5mcm9tKGVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChcImxpXCIpKS5maWx0ZXIoKGVsKSA9PiB7XG4gICAgICBjb25zdCBjbG9zZXN0TWVudSA9IGVsLmNsb3Nlc3QoXCJbZGF0YS1tZW51LWlkXVwiKSBhcyBIVE1MRWxlbWVudDtcbiAgICAgIHJldHVybiBjbG9zZXN0TWVudT8uZGF0YXNldFtcIm1lbnVJZFwiXSA9PT0gbWVudUlkO1xuICAgIH0pIGFzIEhUTUxFbGVtZW50W107XG4gIH1cbn1cbiJdfQ==
@@ -33,10 +33,10 @@ export class OverlayService {
33
33
  this.overlayRoot = undefined;
34
34
  }
35
35
  }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OverlayService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
37
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OverlayService, providedIn: "root" }); }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OverlayService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
37
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OverlayService, providedIn: "root" }); }
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OverlayService, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OverlayService, decorators: [{
40
40
  type: Injectable,
41
41
  args: [{ providedIn: "root" }]
42
42
  }], ctorParameters: () => [] });