@masterteam/components 0.0.64 → 0.0.66

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 (88) hide show
  1. package/fesm2022/masterteam-components-avatar-text.mjs +15 -15
  2. package/fesm2022/masterteam-components-avatar-text.mjs.map +1 -1
  3. package/fesm2022/masterteam-components-avatar.mjs +13 -13
  4. package/fesm2022/masterteam-components-avatar.mjs.map +1 -1
  5. package/fesm2022/masterteam-components-breadcrumb.mjs +6 -6
  6. package/fesm2022/masterteam-components-breadcrumb.mjs.map +1 -1
  7. package/fesm2022/masterteam-components-button-group.mjs +3 -3
  8. package/fesm2022/masterteam-components-button.mjs +15 -15
  9. package/fesm2022/masterteam-components-button.mjs.map +1 -1
  10. package/fesm2022/masterteam-components-card.mjs +6 -6
  11. package/fesm2022/masterteam-components-card.mjs.map +1 -1
  12. package/fesm2022/masterteam-components-checkbox-field.mjs +12 -12
  13. package/fesm2022/masterteam-components-checkbox-field.mjs.map +1 -1
  14. package/fesm2022/masterteam-components-chip.mjs +8 -8
  15. package/fesm2022/masterteam-components-chip.mjs.map +1 -1
  16. package/fesm2022/masterteam-components-color-picker-field.mjs +12 -12
  17. package/fesm2022/masterteam-components-color-picker-field.mjs.map +1 -1
  18. package/fesm2022/masterteam-components-confirmation.mjs +7 -7
  19. package/fesm2022/masterteam-components-confirmation.mjs.map +1 -1
  20. package/fesm2022/masterteam-components-date-field.mjs +16 -16
  21. package/fesm2022/masterteam-components-date-field.mjs.map +1 -1
  22. package/fesm2022/masterteam-components-dialog.mjs +3 -3
  23. package/fesm2022/masterteam-components-drawer.mjs +14 -14
  24. package/fesm2022/masterteam-components-drawer.mjs.map +1 -1
  25. package/fesm2022/masterteam-components-dynamic-drawer.mjs +10 -10
  26. package/fesm2022/masterteam-components-dynamic-drawer.mjs.map +1 -1
  27. package/fesm2022/masterteam-components-editor-field.mjs +16 -14
  28. package/fesm2022/masterteam-components-editor-field.mjs.map +1 -1
  29. package/fesm2022/masterteam-components-field-validation.mjs +7 -7
  30. package/fesm2022/masterteam-components-field-validation.mjs.map +1 -1
  31. package/fesm2022/masterteam-components-formula-builder.mjs +10 -10
  32. package/fesm2022/masterteam-components-formula-builder.mjs.map +1 -1
  33. package/fesm2022/masterteam-components-icon-field.mjs +6 -6
  34. package/fesm2022/masterteam-components-icon-field.mjs.map +1 -1
  35. package/fesm2022/masterteam-components-list.mjs +7 -7
  36. package/fesm2022/masterteam-components-list.mjs.map +1 -1
  37. package/fesm2022/masterteam-components-menu.mjs +16 -16
  38. package/fesm2022/masterteam-components-menu.mjs.map +1 -1
  39. package/fesm2022/masterteam-components-modal.mjs +3 -3
  40. package/fesm2022/masterteam-components-module-summary-card.mjs +8 -8
  41. package/fesm2022/masterteam-components-module-summary-card.mjs.map +1 -1
  42. package/fesm2022/masterteam-components-multi-select-field.mjs +20 -20
  43. package/fesm2022/masterteam-components-multi-select-field.mjs.map +1 -1
  44. package/fesm2022/masterteam-components-number-field.mjs +16 -16
  45. package/fesm2022/masterteam-components-number-field.mjs.map +1 -1
  46. package/fesm2022/masterteam-components-page-header.mjs +15 -15
  47. package/fesm2022/masterteam-components-page-header.mjs.map +1 -1
  48. package/fesm2022/masterteam-components-page.mjs +15 -15
  49. package/fesm2022/masterteam-components-page.mjs.map +1 -1
  50. package/fesm2022/masterteam-components-paginator.mjs +9 -9
  51. package/fesm2022/masterteam-components-paginator.mjs.map +1 -1
  52. package/fesm2022/masterteam-components-pick-list-field.mjs +26 -26
  53. package/fesm2022/masterteam-components-pick-list-field.mjs.map +1 -1
  54. package/fesm2022/masterteam-components-radio-button-field.mjs +14 -14
  55. package/fesm2022/masterteam-components-radio-button-field.mjs.map +1 -1
  56. package/fesm2022/masterteam-components-radio-cards-field.mjs +10 -10
  57. package/fesm2022/masterteam-components-radio-cards-field.mjs.map +1 -1
  58. package/fesm2022/masterteam-components-radio-cards.mjs +12 -12
  59. package/fesm2022/masterteam-components-radio-cards.mjs.map +1 -1
  60. package/fesm2022/masterteam-components-select-field.mjs +37 -27
  61. package/fesm2022/masterteam-components-select-field.mjs.map +1 -1
  62. package/fesm2022/masterteam-components-sidebar.mjs +7 -7
  63. package/fesm2022/masterteam-components-sidebar.mjs.map +1 -1
  64. package/fesm2022/masterteam-components-slider-field.mjs +13 -13
  65. package/fesm2022/masterteam-components-slider-field.mjs.map +1 -1
  66. package/fesm2022/masterteam-components-table.mjs +31 -31
  67. package/fesm2022/masterteam-components-table.mjs.map +1 -1
  68. package/fesm2022/masterteam-components-tabs.mjs +8 -8
  69. package/fesm2022/masterteam-components-tabs.mjs.map +1 -1
  70. package/fesm2022/masterteam-components-text-field.mjs +17 -17
  71. package/fesm2022/masterteam-components-text-field.mjs.map +1 -1
  72. package/fesm2022/masterteam-components-textarea-field.mjs +14 -14
  73. package/fesm2022/masterteam-components-textarea-field.mjs.map +1 -1
  74. package/fesm2022/masterteam-components-toast.mjs +6 -6
  75. package/fesm2022/masterteam-components-toggle-field.mjs +12 -12
  76. package/fesm2022/masterteam-components-toggle-field.mjs.map +1 -1
  77. package/fesm2022/masterteam-components-tooltip.mjs +3 -3
  78. package/fesm2022/masterteam-components-topbar.mjs +10 -10
  79. package/fesm2022/masterteam-components-topbar.mjs.map +1 -1
  80. package/fesm2022/masterteam-components-upload-field.mjs +50 -50
  81. package/fesm2022/masterteam-components-upload-field.mjs.map +1 -1
  82. package/fesm2022/masterteam-components-user-search-field.mjs +19 -19
  83. package/fesm2022/masterteam-components-user-search-field.mjs.map +1 -1
  84. package/fesm2022/masterteam-components.mjs +5 -5
  85. package/fesm2022/masterteam-components.mjs.map +1 -1
  86. package/package.json +8 -8
  87. package/types/masterteam-components-editor-field.d.ts +4 -1
  88. package/types/masterteam-components-select-field.d.ts +6 -2
@@ -8,10 +8,10 @@ import { Button } from '@masterteam/components/button';
8
8
 
9
9
  const DynamicDrawerConfig = new InjectionToken('DynamicDrawerConfig');
10
10
  class DynamicDrawerHost {
11
- visible = model(false, { ...(ngDevMode ? { debugName: "visible" } : {}) });
12
- cmp = signal(null, { ...(ngDevMode ? { debugName: "cmp" } : {}) });
13
- cfg = signal({}, { ...(ngDevMode ? { debugName: "cfg" } : {}) });
14
- cmpInputs = signal({}, { ...(ngDevMode ? { debugName: "cmpInputs" } : {}) });
11
+ visible = model(false, ...(ngDevMode ? [{ debugName: "visible" }] : []));
12
+ cmp = signal(null, ...(ngDevMode ? [{ debugName: "cmp" }] : []));
13
+ cfg = signal({}, ...(ngDevMode ? [{ debugName: "cfg" }] : []));
14
+ cmpInputs = signal({}, ...(ngDevMode ? [{ debugName: "cmpInputs" }] : []));
15
15
  childInjector;
16
16
  ref;
17
17
  connect(opts) {
@@ -35,8 +35,8 @@ class DynamicDrawerHost {
35
35
  this.visible.set(false);
36
36
  this.ref?.close(data);
37
37
  }
38
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: DynamicDrawerHost, deps: [], target: i0.ɵɵFactoryTarget.Component });
39
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.2", type: DynamicDrawerHost, isStandalone: true, selector: "mt-dynamic-drawer-host", inputs: { visible: { classPropertyName: "visible", publicName: "visible", isSignal: true, isRequired: false, transformFunction: null }, connect: { classPropertyName: "connect", publicName: "connect", isSignal: false, isRequired: true, transformFunction: null } }, outputs: { visible: "visibleChange" }, ngImport: i0, template: `
38
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: DynamicDrawerHost, deps: [], target: i0.ɵɵFactoryTarget.Component });
39
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.3", type: DynamicDrawerHost, isStandalone: true, selector: "mt-dynamic-drawer-host", inputs: { visible: { classPropertyName: "visible", publicName: "visible", isSignal: true, isRequired: false, transformFunction: null }, connect: { classPropertyName: "connect", publicName: "connect", isSignal: false, isRequired: true, transformFunction: null } }, outputs: { visible: "visibleChange" }, ngImport: i0, template: `
40
40
  <p-drawer
41
41
  [(visible)]="visible"
42
42
  [closable]="cfg()?.closable"
@@ -72,7 +72,7 @@ class DynamicDrawerHost {
72
72
  </p-drawer>
73
73
  `, isInline: true, dependencies: [{ kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule"], exportAs: ["ngComponentOutlet"] }, { kind: "ngmodule", type: DrawerModule }, { kind: "component", type: i1.Drawer, selector: "p-drawer", inputs: ["appendTo", "motionOptions", "blockScroll", "style", "styleClass", "ariaCloseLabel", "autoZIndex", "baseZIndex", "modal", "closeButtonProps", "dismissible", "showCloseIcon", "closeOnEscape", "transitionOptions", "visible", "position", "fullScreen", "header", "maskStyle", "closable"], outputs: ["onShow", "onHide", "visibleChange"] }, { kind: "component", type: Button, selector: "mt-button", inputs: ["icon", "label", "tooltip", "class", "type", "styleClass", "severity", "badge", "variant", "badgeSeverity", "size", "iconPos", "autofocus", "fluid", "raised", "rounded", "text", "plain", "outlined", "link", "disabled", "loading", "pInputs"], outputs: ["onClick", "onFocus", "onBlur"] }] });
74
74
  }
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: DynamicDrawerHost, decorators: [{
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: DynamicDrawerHost, decorators: [{
76
76
  type: Component,
77
77
  args: [{
78
78
  selector: 'mt-dynamic-drawer-host',
@@ -173,10 +173,10 @@ class DrawerService {
173
173
  }
174
174
  return appendTo; // HTMLElement passed directly
175
175
  }
176
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: DrawerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
177
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: DrawerService, providedIn: 'root' });
176
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: DrawerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
177
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: DrawerService, providedIn: 'root' });
178
178
  }
179
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: DrawerService, decorators: [{
179
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: DrawerService, decorators: [{
180
180
  type: Injectable,
181
181
  args: [{ providedIn: 'root' }]
182
182
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"masterteam-components-dynamic-drawer.mjs","sources":["../../../../packages/masterteam/components/dynamic-drawer/dynamic-drawer-host.ts","../../../../packages/masterteam/components/dynamic-drawer/dynamic-drawer.ts","../../../../packages/masterteam/components/dynamic-drawer/masterteam-components-dynamic-drawer.ts"],"sourcesContent":["import { DynamicDialogRef } from 'primeng/dynamicdialog';\nimport { DrawerModule } from 'primeng/drawer';\nimport {\n Component,\n Injector,\n Input,\n signal,\n InjectionToken,\n model,\n} from '@angular/core';\nimport { NgComponentOutlet } from '@angular/common';\n\nexport const DynamicDrawerConfig = new InjectionToken<any>(\n 'DynamicDrawerConfig',\n);\nimport { Button } from '@masterteam/components/button';\n\n@Component({\n selector: 'mt-dynamic-drawer-host',\n standalone: true,\n imports: [NgComponentOutlet, DrawerModule, Button],\n template: `\n <p-drawer\n [(visible)]=\"visible\"\n [closable]=\"cfg()?.closable\"\n [position]=\"cfg()?.position\"\n [fullScreen]=\"cfg()?.fullScreen\"\n [modal]=\"cfg()?.modal\"\n [closeOnEscape]=\"cfg()?.closeOnEscape\"\n [dismissible]=\"cfg()?.dismissible\"\n [appendTo]=\"cfg()?.appendTo\"\n [transitionOptions]=\"cfg()?.transitionOptions\"\n [styleClass]=\"cfg()?.styleClass + ' mt-drawer'\"\n >\n <ng-template #header>\n <div\n class=\"flex items-center justify-between px-5 w-full py-3 border-b border-surface\"\n >\n <h3 class=\"text-xl font-semibold\">{{ cfg()?.header }}</h3>\n <mt-button\n (onClick)=\"handleHide()\"\n variant=\"outlined\"\n styleClass=\"!bg-white\"\n icon=\"general.x-close\"\n severity=\"secondary\"\n >\n </mt-button>\n </div>\n </ng-template>\n\n <ng-container\n *ngComponentOutlet=\"cmp(); injector: childInjector; inputs: cmpInputs()\"\n >\n </ng-container>\n </p-drawer>\n `,\n})\nexport class DynamicDrawerHost {\n public visible = model<boolean>(false);\n cmp = signal<any>(null);\n cfg = signal<any>({});\n cmpInputs = signal<Record<string, unknown>>({});\n childInjector!: Injector;\n private ref?: DynamicDialogRef;\n\n @Input({ required: true })\n connect(opts: {\n component: any;\n config?: any;\n parent: Injector;\n ref: DynamicDialogRef;\n }) {\n this.cmp.set(opts.component);\n this.cfg.set(opts.config ?? {});\n this.cmpInputs.set(opts.config?.inputValues ?? {});\n this.ref = opts.ref;\n this.childInjector = Injector.create({\n parent: opts.parent,\n providers: [\n { provide: DynamicDrawerConfig, useValue: opts.config ?? {} },\n { provide: DynamicDialogRef, useValue: opts.ref },\n ],\n });\n opts.ref.onClose.subscribe(() => {\n this.visible.set(false);\n });\n this.visible.set(true);\n }\n\n handleHide(data = null) {\n this.visible.set(false);\n this.ref?.close(data);\n }\n}\n","// dynamic-drawer.service.ts\nimport {\n Injectable,\n Type,\n createComponent,\n EnvironmentInjector,\n ApplicationRef,\n Injector,\n DestroyRef,\n inject,\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { DynamicDrawerHost } from './dynamic-drawer-host';\nimport { DynamicDialogRef } from 'primeng/dynamicdialog';\n\nexport interface DynamicDrawerConfigInterface {\n header?: string;\n position?: string;\n data?: any;\n fullScreen?: boolean;\n modal?: boolean;\n closable?: boolean;\n closeOnEscape?: boolean;\n dismissible?: boolean;\n appendTo?: any;\n transitionOptions?: string;\n styleClass?: string;\n inputValues?: any;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class DrawerService {\n private appRef = inject(ApplicationRef);\n private env = inject(EnvironmentInjector);\n private rootInjector = inject(Injector);\n private destroyRef = inject(DestroyRef);\n private doc = inject(DOCUMENT);\n private hostRef?: ReturnType<typeof createComponent<DynamicDrawerHost>>;\n defauiltConfig: DynamicDrawerConfigInterface = {\n position: 'right',\n modal: true,\n closable: false,\n transitionOptions: '200ms cubic-bezier(0, 0, 1, 1)',\n inputValues: {},\n };\n open<T>(\n component: Type<any>,\n config: DynamicDrawerConfigInterface = {},\n ): DynamicDialogRef<T> {\n config = { ...this.defauiltConfig, ...config };\n\n const targetEl = this.resolveAppendTarget(config.appendTo);\n\n this.hostRef = createComponent(DynamicDrawerHost, {\n environmentInjector: this.env,\n });\n\n this.appRef.attachView(this.hostRef.hostView);\n\n // 📌 append to target (NOT body when provided)\n targetEl.appendChild(this.hostRef.location.nativeElement);\n\n // 🧹 auto-clean if app destroyed (SSR / HMR safety)\n this.destroyRef.onDestroy(() => {\n this.appRef.detachView(this.hostRef!.hostView);\n this.hostRef!.destroy();\n this.hostRef = undefined;\n });\n\n const ref = new DynamicDialogRef<T>();\n this.hostRef.instance.connect({\n component,\n config,\n parent: this.rootInjector,\n ref,\n });\n\n return ref;\n }\n\n private resolveAppendTarget(appendTo?: string | HTMLElement): HTMLElement {\n if (!appendTo) return this.doc.body;\n\n if (typeof appendTo === 'string') {\n const selector =\n appendTo.startsWith('#') || appendTo.startsWith('.')\n ? appendTo\n : `#${appendTo}`;\n const el = this.doc.querySelector(selector) as HTMLElement | null;\n if (!el) {\n return this.doc.body;\n }\n return el;\n }\n\n return appendTo; // HTMLElement passed directly\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"masterteam-components-dynamic-drawer.mjs","sources":["../../../../packages/masterteam/components/dynamic-drawer/dynamic-drawer-host.ts","../../../../packages/masterteam/components/dynamic-drawer/dynamic-drawer.ts","../../../../packages/masterteam/components/dynamic-drawer/masterteam-components-dynamic-drawer.ts"],"sourcesContent":["import { DynamicDialogRef } from 'primeng/dynamicdialog';\nimport { DrawerModule } from 'primeng/drawer';\nimport {\n Component,\n Injector,\n Input,\n signal,\n InjectionToken,\n model,\n} from '@angular/core';\nimport { NgComponentOutlet } from '@angular/common';\n\nexport const DynamicDrawerConfig = new InjectionToken<any>(\n 'DynamicDrawerConfig',\n);\nimport { Button } from '@masterteam/components/button';\n\n@Component({\n selector: 'mt-dynamic-drawer-host',\n standalone: true,\n imports: [NgComponentOutlet, DrawerModule, Button],\n template: `\n <p-drawer\n [(visible)]=\"visible\"\n [closable]=\"cfg()?.closable\"\n [position]=\"cfg()?.position\"\n [fullScreen]=\"cfg()?.fullScreen\"\n [modal]=\"cfg()?.modal\"\n [closeOnEscape]=\"cfg()?.closeOnEscape\"\n [dismissible]=\"cfg()?.dismissible\"\n [appendTo]=\"cfg()?.appendTo\"\n [transitionOptions]=\"cfg()?.transitionOptions\"\n [styleClass]=\"cfg()?.styleClass + ' mt-drawer'\"\n >\n <ng-template #header>\n <div\n class=\"flex items-center justify-between px-5 w-full py-3 border-b border-surface\"\n >\n <h3 class=\"text-xl font-semibold\">{{ cfg()?.header }}</h3>\n <mt-button\n (onClick)=\"handleHide()\"\n variant=\"outlined\"\n styleClass=\"!bg-white\"\n icon=\"general.x-close\"\n severity=\"secondary\"\n >\n </mt-button>\n </div>\n </ng-template>\n\n <ng-container\n *ngComponentOutlet=\"cmp(); injector: childInjector; inputs: cmpInputs()\"\n >\n </ng-container>\n </p-drawer>\n `,\n})\nexport class DynamicDrawerHost {\n public visible = model<boolean>(false);\n cmp = signal<any>(null);\n cfg = signal<any>({});\n cmpInputs = signal<Record<string, unknown>>({});\n childInjector!: Injector;\n private ref?: DynamicDialogRef;\n\n @Input({ required: true })\n connect(opts: {\n component: any;\n config?: any;\n parent: Injector;\n ref: DynamicDialogRef;\n }) {\n this.cmp.set(opts.component);\n this.cfg.set(opts.config ?? {});\n this.cmpInputs.set(opts.config?.inputValues ?? {});\n this.ref = opts.ref;\n this.childInjector = Injector.create({\n parent: opts.parent,\n providers: [\n { provide: DynamicDrawerConfig, useValue: opts.config ?? {} },\n { provide: DynamicDialogRef, useValue: opts.ref },\n ],\n });\n opts.ref.onClose.subscribe(() => {\n this.visible.set(false);\n });\n this.visible.set(true);\n }\n\n handleHide(data = null) {\n this.visible.set(false);\n this.ref?.close(data);\n }\n}\n","// dynamic-drawer.service.ts\nimport {\n Injectable,\n Type,\n createComponent,\n EnvironmentInjector,\n ApplicationRef,\n Injector,\n DestroyRef,\n inject,\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { DynamicDrawerHost } from './dynamic-drawer-host';\nimport { DynamicDialogRef } from 'primeng/dynamicdialog';\n\nexport interface DynamicDrawerConfigInterface {\n header?: string;\n position?: string;\n data?: any;\n fullScreen?: boolean;\n modal?: boolean;\n closable?: boolean;\n closeOnEscape?: boolean;\n dismissible?: boolean;\n appendTo?: any;\n transitionOptions?: string;\n styleClass?: string;\n inputValues?: any;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class DrawerService {\n private appRef = inject(ApplicationRef);\n private env = inject(EnvironmentInjector);\n private rootInjector = inject(Injector);\n private destroyRef = inject(DestroyRef);\n private doc = inject(DOCUMENT);\n private hostRef?: ReturnType<typeof createComponent<DynamicDrawerHost>>;\n defauiltConfig: DynamicDrawerConfigInterface = {\n position: 'right',\n modal: true,\n closable: false,\n transitionOptions: '200ms cubic-bezier(0, 0, 1, 1)',\n inputValues: {},\n };\n open<T>(\n component: Type<any>,\n config: DynamicDrawerConfigInterface = {},\n ): DynamicDialogRef<T> {\n config = { ...this.defauiltConfig, ...config };\n\n const targetEl = this.resolveAppendTarget(config.appendTo);\n\n this.hostRef = createComponent(DynamicDrawerHost, {\n environmentInjector: this.env,\n });\n\n this.appRef.attachView(this.hostRef.hostView);\n\n // 📌 append to target (NOT body when provided)\n targetEl.appendChild(this.hostRef.location.nativeElement);\n\n // 🧹 auto-clean if app destroyed (SSR / HMR safety)\n this.destroyRef.onDestroy(() => {\n this.appRef.detachView(this.hostRef!.hostView);\n this.hostRef!.destroy();\n this.hostRef = undefined;\n });\n\n const ref = new DynamicDialogRef<T>();\n this.hostRef.instance.connect({\n component,\n config,\n parent: this.rootInjector,\n ref,\n });\n\n return ref;\n }\n\n private resolveAppendTarget(appendTo?: string | HTMLElement): HTMLElement {\n if (!appendTo) return this.doc.body;\n\n if (typeof appendTo === 'string') {\n const selector =\n appendTo.startsWith('#') || appendTo.startsWith('.')\n ? appendTo\n : `#${appendTo}`;\n const el = this.doc.querySelector(selector) as HTMLElement | null;\n if (!el) {\n return this.doc.body;\n }\n return el;\n }\n\n return appendTo; // HTMLElement passed directly\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}