@unipin/angular-applet 21.6.1 → 21.6.5

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 (66) hide show
  1. package/fesm2022/unipin-angular-applet-accordion.mjs +29 -17
  2. package/fesm2022/unipin-angular-applet-accordion.mjs.map +1 -1
  3. package/fesm2022/unipin-angular-applet-alert-dialog.mjs +7 -7
  4. package/fesm2022/unipin-angular-applet-alert-dialog.mjs.map +1 -1
  5. package/fesm2022/unipin-angular-applet-alert.mjs +9 -9
  6. package/fesm2022/unipin-angular-applet-approval.mjs +10 -10
  7. package/fesm2022/unipin-angular-applet-approval.mjs.map +1 -1
  8. package/fesm2022/{unipin-angular-applet-audit-audit-modal.component-BYf0y6cO.mjs → unipin-angular-applet-audit-audit-modal.component-Fhzj6tsh.mjs} +4 -4
  9. package/fesm2022/{unipin-angular-applet-audit-audit-modal.component-BYf0y6cO.mjs.map → unipin-angular-applet-audit-audit-modal.component-Fhzj6tsh.mjs.map} +1 -1
  10. package/fesm2022/unipin-angular-applet-audit.mjs +11 -12
  11. package/fesm2022/unipin-angular-applet-audit.mjs.map +1 -1
  12. package/fesm2022/unipin-angular-applet-auth.mjs +51 -39
  13. package/fesm2022/unipin-angular-applet-auth.mjs.map +1 -1
  14. package/fesm2022/unipin-angular-applet-avatar.mjs +7 -10
  15. package/fesm2022/unipin-angular-applet-avatar.mjs.map +1 -1
  16. package/fesm2022/unipin-angular-applet-badge.mjs +6 -3
  17. package/fesm2022/unipin-angular-applet-badge.mjs.map +1 -1
  18. package/fesm2022/unipin-angular-applet-buttons.mjs +6 -6
  19. package/fesm2022/unipin-angular-applet-calendar.mjs +13 -13
  20. package/fesm2022/unipin-angular-applet-calendar.mjs.map +1 -1
  21. package/fesm2022/unipin-angular-applet-collapsible.mjs +9 -9
  22. package/fesm2022/unipin-angular-applet-common.mjs +40 -39
  23. package/fesm2022/unipin-angular-applet-common.mjs.map +1 -1
  24. package/fesm2022/unipin-angular-applet-containers.mjs +18 -18
  25. package/fesm2022/unipin-angular-applet-containers.mjs.map +1 -1
  26. package/fesm2022/unipin-angular-applet-dialog.mjs +22 -22
  27. package/fesm2022/unipin-angular-applet-dialog.mjs.map +1 -1
  28. package/fesm2022/unipin-angular-applet-forms.mjs +469 -374
  29. package/fesm2022/unipin-angular-applet-forms.mjs.map +1 -1
  30. package/fesm2022/unipin-angular-applet-froala.mjs +14 -15
  31. package/fesm2022/unipin-angular-applet-froala.mjs.map +1 -1
  32. package/fesm2022/unipin-angular-applet-grids.mjs +19 -19
  33. package/fesm2022/unipin-angular-applet-grids.mjs.map +1 -1
  34. package/fesm2022/unipin-angular-applet-infinite-scroll.mjs +3 -3
  35. package/fesm2022/unipin-angular-applet-json-viewer.mjs +3 -3
  36. package/fesm2022/unipin-angular-applet-kbd.mjs +3 -3
  37. package/fesm2022/unipin-angular-applet-loading-dialog.mjs +6 -6
  38. package/fesm2022/unipin-angular-applet-markdown.mjs +20 -22
  39. package/fesm2022/unipin-angular-applet-markdown.mjs.map +1 -1
  40. package/fesm2022/unipin-angular-applet-micro-frontend.mjs +3 -3
  41. package/fesm2022/unipin-angular-applet-micro-frontend.mjs.map +1 -1
  42. package/fesm2022/unipin-angular-applet-popover.mjs +19 -15
  43. package/fesm2022/unipin-angular-applet-popover.mjs.map +1 -1
  44. package/fesm2022/unipin-angular-applet-progress-bar.mjs +14 -4
  45. package/fesm2022/unipin-angular-applet-progress-bar.mjs.map +1 -1
  46. package/fesm2022/unipin-angular-applet-skeleton.mjs +3 -3
  47. package/fesm2022/unipin-angular-applet-spinner.mjs +16 -20
  48. package/fesm2022/unipin-angular-applet-spinner.mjs.map +1 -1
  49. package/fesm2022/unipin-angular-applet-stepper.mjs +17 -9
  50. package/fesm2022/unipin-angular-applet-stepper.mjs.map +1 -1
  51. package/fesm2022/unipin-angular-applet-swipeable.mjs +14 -13
  52. package/fesm2022/unipin-angular-applet-swipeable.mjs.map +1 -1
  53. package/fesm2022/unipin-angular-applet-tabs.mjs +9 -9
  54. package/fesm2022/unipin-angular-applet-tooltip.mjs +4 -4
  55. package/fesm2022/unipin-angular-applet-tooltip.mjs.map +1 -1
  56. package/package.json +1 -1
  57. package/types/unipin-angular-applet-accordion.d.ts +1 -0
  58. package/types/unipin-angular-applet-approval.d.ts +2 -2
  59. package/types/unipin-angular-applet-badge.d.ts +2 -2
  60. package/types/unipin-angular-applet-common.d.ts +4 -4
  61. package/types/unipin-angular-applet-forms.d.ts +47 -8
  62. package/types/unipin-angular-applet-grids.d.ts +1 -1
  63. package/types/unipin-angular-applet-markdown.d.ts +2 -2
  64. package/types/unipin-angular-applet-progress-bar.d.ts +2 -0
  65. package/types/unipin-angular-applet-spinner.d.ts +2 -2
  66. package/types/unipin-angular-applet-swipeable.d.ts +1 -1
@@ -68,10 +68,10 @@ class UpLazyRouteDirective {
68
68
  }
69
69
  }
70
70
  }
71
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpLazyRouteDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
72
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", type: UpLazyRouteDirective, isStandalone: true, selector: "[upLoadRoute]", inputs: { loadRoute: { classPropertyName: "loadRoute", publicName: "loadRoute", isSignal: true, isRequired: true, transformFunction: null } }, exportAs: ["upLoadRoute"], ngImport: i0 }); }
71
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: UpLazyRouteDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
72
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.18", type: UpLazyRouteDirective, isStandalone: true, selector: "[upLoadRoute]", inputs: { loadRoute: { classPropertyName: "loadRoute", publicName: "loadRoute", isSignal: true, isRequired: true, transformFunction: null } }, exportAs: ["upLoadRoute"], ngImport: i0 }); }
73
73
  }
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpLazyRouteDirective, decorators: [{
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: UpLazyRouteDirective, decorators: [{
75
75
  type: Directive,
76
76
  args: [{
77
77
  exportAs: 'upLoadRoute',
@@ -124,7 +124,7 @@ class AppletContainerComponent {
124
124
  * When set false, the component will show the sidebar menu.
125
125
  * @type {boolean[]}
126
126
  */
127
- this.isHidden = signal(Array(this.config.containers.length).fill(true), ...(ngDevMode ? [{ debugName: "isHidden" }] : /* istanbul ignore next */ []));
127
+ this.isHidden = signal(new Array(this.config.containers.length).fill(true), ...(ngDevMode ? [{ debugName: "isHidden" }] : /* istanbul ignore next */ []));
128
128
  this.isHidden.set(this.config.containers.map(({ permissions }) => {
129
129
  if (!permissions)
130
130
  return false;
@@ -155,15 +155,15 @@ class AppletContainerComponent {
155
155
  }
156
156
  }));
157
157
  }
158
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AppletContainerComponent, deps: [{ token: i1.PermissionService }], target: i0.ɵɵFactoryTarget.Component }); }
159
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: AppletContainerComponent, isStandalone: true, selector: "up-applet-container", host: { classAttribute: "flex size-full" }, providers: [
158
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: AppletContainerComponent, deps: [{ token: i1.PermissionService }], target: i0.ɵɵFactoryTarget.Component }); }
159
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.18", type: AppletContainerComponent, isStandalone: true, selector: "up-applet-container", host: { classAttribute: "flex size-full" }, providers: [
160
160
  provideIcons({
161
161
  matChevronRightRound,
162
162
  matSettingsRound
163
163
  })
164
- ], ngImport: i0, template: "<nav \n class=\"shrink-0 h-full group flex flex-col transition-all ease-in-out border-r border-border max-md:w-0 max-md:z-10 max-md:absolute [&.expanded]:w-60\"\n [class.show]=\"isMenuActive()\"\n [class.expanded]=\"isExpanded()\"\n>\n <div class=\"shrink-0 p-2 border-b border-border flex items-center gap-2 relative\">\n <img \n class=\"rounded size-9 shrink-0\" \n [alt]=\"config.name\"\n [src]=\"config.icon\" \n />\n\n <div class=\"hidden group-[.expanded]:flex grow flex-col gap-0.5 select-none\">\n <div class=\"font-medium line-clamp-1 text-sm\">{{ config.name }}</div>\n \n <div class=\"text-muted-foreground font-medium text-xs\">\n v{{ config.version }}\n </div>\n </div>\n\n <button \n upButton\n size=\"icon\"\n variant=\"outline\"\n class=\"rounded-full absolute -right-5\"\n (click)=\"toggleSidenav()\"\n >\n <ng-icon \n size=\"18\" \n name=\"matChevronRightRound\" \n class=\"group-[.expanded]:rotate-180 transition-all ease-in-out\"\n />\n </button>\n </div>\n\n <div class=\"grow overflow-y-auto p-2 flex flex-col gap-1\">\n @for (c of config.containers; track $index) {\n <a \n upButton\n variant=\"ghost\"\n routerLinkActive=\"font-medium\"\n class=\"group-[.expanded]:w-full group-[.expanded]:justify-start\"\n [routerLink]=\"c.path\"\n [size]=\"!isExpanded()? 'icon' : 'default'\"\n (click)=\"selectMenu()\"\n >\n <ng-icon \n size=\"18\" \n [name]=\"c.icon\" \n />\n \n <span class=\"line-clamp-1 hidden group-[.expanded]:block\">\n {{ c.label }}\n </span>\n </a>\n }\n </div>\n\n @if (config.enabledSetting) {\n <div class=\"shrink-0 p-2 border-t border-border\">\n <a \n upButton\n variant=\"ghost\"\n routerLink=\"setting\" \n routerLinkActive=\"font-medium\"\n class=\"group-[.expanded]:w-full group-[.expanded]:justify-start\"\n [size]=\"!isExpanded()? 'icon' : 'default'\"\n (click)=\"selectMenu()\"\n >\n <ng-icon size=\"18\" name=\"matSettingsRound\" />\n <span class=\"line-clamp-1 hidden group-[.expanded]:block\">Setting</span>\n </a>\n </div>\n }\n</nav>\n\n<div class=\"grow overflow-y-auto overflow-x-hidden\">\n <ng-content />\n</div>\n", dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: UpButtonDirective, selector: "[upButton]", inputs: ["size", "variant", "class"], exportAs: ["upButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
164
+ ], ngImport: i0, template: "<nav \n class=\"shrink-0 h-full group flex flex-col transition-all ease-in-out border-r border-border max-md:w-0 max-md:z-10 max-md:absolute [&.expanded]:w-60\"\n [class.show]=\"isMenuActive()\"\n [class.expanded]=\"isExpanded()\"\n>\n <div class=\"shrink-0 p-2 border-b border-border flex items-center gap-2 relative\">\n <img \n class=\"rounded size-9 shrink-0\" \n [alt]=\"config.name\"\n [src]=\"config.icon\" \n />\n\n <div class=\"hidden group-[.expanded]:flex grow flex-col gap-0.5 select-none\">\n <div class=\"font-medium line-clamp-1 text-sm\">{{ config.name }}</div>\n \n <div class=\"text-muted-foreground font-medium text-xs\">\n v{{ config.version }}\n </div>\n </div>\n\n <button \n upButton\n size=\"icon\"\n variant=\"outline\"\n class=\"rounded-full absolute -right-5\"\n (click)=\"toggleSidenav()\"\n >\n <ng-icon \n size=\"18\" \n name=\"matChevronRightRound\" \n class=\"group-[.expanded]:rotate-180 transition-all ease-in-out\"\n />\n </button>\n </div>\n\n <div class=\"grow overflow-y-auto p-2 flex flex-col gap-1\">\n @for (c of config.containers; track $index) {\n @if (!isHidden()[$index]) {\n <a\n upButton\n variant=\"ghost\"\n routerLinkActive=\"font-medium\"\n class=\"group-[.expanded]:w-full group-[.expanded]:justify-start\"\n [routerLink]=\"c.path\"\n [size]=\"!isExpanded()? 'icon' : 'default'\"\n (click)=\"selectMenu()\"\n >\n <ng-icon\n size=\"18\"\n [name]=\"c.icon\"\n />\n\n <span class=\"line-clamp-1 hidden group-[.expanded]:block\">\n {{ c.label }}\n </span>\n </a>\n }\n }\n </div>\n\n @if (config.enabledSetting) {\n <div class=\"shrink-0 p-2 border-t border-border\">\n <a \n upButton\n variant=\"ghost\"\n routerLink=\"setting\" \n routerLinkActive=\"font-medium\"\n class=\"group-[.expanded]:w-full group-[.expanded]:justify-start\"\n [size]=\"!isExpanded()? 'icon' : 'default'\"\n (click)=\"selectMenu()\"\n >\n <ng-icon size=\"18\" name=\"matSettingsRound\" />\n <span class=\"line-clamp-1 hidden group-[.expanded]:block\">Setting</span>\n </a>\n </div>\n }\n</nav>\n\n<div class=\"grow overflow-y-auto overflow-x-hidden\">\n <ng-content />\n</div>\n", dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: UpButtonDirective, selector: "[upButton]", inputs: ["size", "variant", "class"], exportAs: ["upButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
165
165
  }
166
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AppletContainerComponent, decorators: [{
166
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: AppletContainerComponent, decorators: [{
167
167
  type: Component,
168
168
  args: [{ selector: 'up-applet-container', changeDetection: ChangeDetectionStrategy.OnPush, host: {
169
169
  class: 'flex size-full'
@@ -177,7 +177,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
177
177
  matChevronRightRound,
178
178
  matSettingsRound
179
179
  })
180
- ], template: "<nav \n class=\"shrink-0 h-full group flex flex-col transition-all ease-in-out border-r border-border max-md:w-0 max-md:z-10 max-md:absolute [&.expanded]:w-60\"\n [class.show]=\"isMenuActive()\"\n [class.expanded]=\"isExpanded()\"\n>\n <div class=\"shrink-0 p-2 border-b border-border flex items-center gap-2 relative\">\n <img \n class=\"rounded size-9 shrink-0\" \n [alt]=\"config.name\"\n [src]=\"config.icon\" \n />\n\n <div class=\"hidden group-[.expanded]:flex grow flex-col gap-0.5 select-none\">\n <div class=\"font-medium line-clamp-1 text-sm\">{{ config.name }}</div>\n \n <div class=\"text-muted-foreground font-medium text-xs\">\n v{{ config.version }}\n </div>\n </div>\n\n <button \n upButton\n size=\"icon\"\n variant=\"outline\"\n class=\"rounded-full absolute -right-5\"\n (click)=\"toggleSidenav()\"\n >\n <ng-icon \n size=\"18\" \n name=\"matChevronRightRound\" \n class=\"group-[.expanded]:rotate-180 transition-all ease-in-out\"\n />\n </button>\n </div>\n\n <div class=\"grow overflow-y-auto p-2 flex flex-col gap-1\">\n @for (c of config.containers; track $index) {\n <a \n upButton\n variant=\"ghost\"\n routerLinkActive=\"font-medium\"\n class=\"group-[.expanded]:w-full group-[.expanded]:justify-start\"\n [routerLink]=\"c.path\"\n [size]=\"!isExpanded()? 'icon' : 'default'\"\n (click)=\"selectMenu()\"\n >\n <ng-icon \n size=\"18\" \n [name]=\"c.icon\" \n />\n \n <span class=\"line-clamp-1 hidden group-[.expanded]:block\">\n {{ c.label }}\n </span>\n </a>\n }\n </div>\n\n @if (config.enabledSetting) {\n <div class=\"shrink-0 p-2 border-t border-border\">\n <a \n upButton\n variant=\"ghost\"\n routerLink=\"setting\" \n routerLinkActive=\"font-medium\"\n class=\"group-[.expanded]:w-full group-[.expanded]:justify-start\"\n [size]=\"!isExpanded()? 'icon' : 'default'\"\n (click)=\"selectMenu()\"\n >\n <ng-icon size=\"18\" name=\"matSettingsRound\" />\n <span class=\"line-clamp-1 hidden group-[.expanded]:block\">Setting</span>\n </a>\n </div>\n }\n</nav>\n\n<div class=\"grow overflow-y-auto overflow-x-hidden\">\n <ng-content />\n</div>\n" }]
180
+ ], template: "<nav \n class=\"shrink-0 h-full group flex flex-col transition-all ease-in-out border-r border-border max-md:w-0 max-md:z-10 max-md:absolute [&.expanded]:w-60\"\n [class.show]=\"isMenuActive()\"\n [class.expanded]=\"isExpanded()\"\n>\n <div class=\"shrink-0 p-2 border-b border-border flex items-center gap-2 relative\">\n <img \n class=\"rounded size-9 shrink-0\" \n [alt]=\"config.name\"\n [src]=\"config.icon\" \n />\n\n <div class=\"hidden group-[.expanded]:flex grow flex-col gap-0.5 select-none\">\n <div class=\"font-medium line-clamp-1 text-sm\">{{ config.name }}</div>\n \n <div class=\"text-muted-foreground font-medium text-xs\">\n v{{ config.version }}\n </div>\n </div>\n\n <button \n upButton\n size=\"icon\"\n variant=\"outline\"\n class=\"rounded-full absolute -right-5\"\n (click)=\"toggleSidenav()\"\n >\n <ng-icon \n size=\"18\" \n name=\"matChevronRightRound\" \n class=\"group-[.expanded]:rotate-180 transition-all ease-in-out\"\n />\n </button>\n </div>\n\n <div class=\"grow overflow-y-auto p-2 flex flex-col gap-1\">\n @for (c of config.containers; track $index) {\n @if (!isHidden()[$index]) {\n <a\n upButton\n variant=\"ghost\"\n routerLinkActive=\"font-medium\"\n class=\"group-[.expanded]:w-full group-[.expanded]:justify-start\"\n [routerLink]=\"c.path\"\n [size]=\"!isExpanded()? 'icon' : 'default'\"\n (click)=\"selectMenu()\"\n >\n <ng-icon\n size=\"18\"\n [name]=\"c.icon\"\n />\n\n <span class=\"line-clamp-1 hidden group-[.expanded]:block\">\n {{ c.label }}\n </span>\n </a>\n }\n }\n </div>\n\n @if (config.enabledSetting) {\n <div class=\"shrink-0 p-2 border-t border-border\">\n <a \n upButton\n variant=\"ghost\"\n routerLink=\"setting\" \n routerLinkActive=\"font-medium\"\n class=\"group-[.expanded]:w-full group-[.expanded]:justify-start\"\n [size]=\"!isExpanded()? 'icon' : 'default'\"\n (click)=\"selectMenu()\"\n >\n <ng-icon size=\"18\" name=\"matSettingsRound\" />\n <span class=\"line-clamp-1 hidden group-[.expanded]:block\">Setting</span>\n </a>\n </div>\n }\n</nav>\n\n<div class=\"grow overflow-y-auto overflow-x-hidden\">\n <ng-content />\n</div>\n" }]
181
181
  }], ctorParameters: () => [{ type: i1.PermissionService }] });
182
182
 
183
183
  class UpColumnContainerComponent {
@@ -249,10 +249,10 @@ class UpColumnContainerComponent {
249
249
  this.areas.update((areas) => {
250
250
  if (this.colSize() === 100 &&
251
251
  areas.length >= 1) {
252
- areas[areas.length - 1].visible = false;
252
+ areas.at(-1).visible = false;
253
253
  }
254
254
  else if (areas.length >= 2) {
255
- areas[areas.length - 2].visible = false;
255
+ areas.at(-2).visible = false;
256
256
  }
257
257
  const newAreas = [
258
258
  ...areas,
@@ -270,7 +270,7 @@ class UpColumnContainerComponent {
270
270
  this.areas.update((areas) => {
271
271
  const newAreas = areas.slice(0, pos);
272
272
  if (this.colSize() === 100 && newAreas.length) {
273
- newAreas[newAreas.length - 1].visible = true;
273
+ newAreas.at(-1).visible = true;
274
274
  return newAreas;
275
275
  }
276
276
  if (newAreas.length === 1)
@@ -282,8 +282,8 @@ class UpColumnContainerComponent {
282
282
  return newAreas;
283
283
  });
284
284
  }
285
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpColumnContainerComponent, deps: [{ token: i1$1.Router }, { token: i0.DestroyRef }, { token: i1$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
286
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: UpColumnContainerComponent, isStandalone: true, selector: "up-column-container", host: { listeners: { "window:resize": "checkScreen()" }, classAttribute: "block size-full" }, ngImport: i0, template: `
285
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: UpColumnContainerComponent, deps: [{ token: i1$1.Router }, { token: i0.DestroyRef }, { token: i1$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
286
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.18", type: UpColumnContainerComponent, isStandalone: true, selector: "up-column-container", host: { listeners: { "window:resize": "checkScreen()" }, classAttribute: "block size-full" }, ngImport: i0, template: `
287
287
  <as-split
288
288
  unit="percent"
289
289
  [gutterSize]="5"
@@ -306,7 +306,7 @@ class UpColumnContainerComponent {
306
306
  </as-split>
307
307
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: AngularSplitModule }, { kind: "component", type: i2.SplitComponent, selector: "as-split", inputs: ["gutterSize", "gutterStep", "disabled", "gutterClickDeltaPx", "direction", "dir", "unit", "gutterAriaLabel", "restrictMove", "useTransition", "gutterDblClickDuration"], outputs: ["gutterClick", "gutterDblClick", "dragStart", "dragEnd", "transitionEnd"], exportAs: ["asSplit"] }, { kind: "component", type: i2.SplitAreaComponent, selector: "as-split-area", inputs: ["size", "minSize", "maxSize", "lockSize", "visible"], exportAs: ["asSplitArea"] }, { kind: "directive", type: UpLazyRouteDirective, selector: "[upLoadRoute]", inputs: ["loadRoute"], exportAs: ["upLoadRoute"] }] }); }
308
308
  }
309
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpColumnContainerComponent, decorators: [{
309
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: UpColumnContainerComponent, decorators: [{
310
310
  type: Component,
311
311
  args: [{
312
312
  selector: 'up-column-container',
@@ -378,8 +378,8 @@ class UpContentContainerComponent {
378
378
  return up('shrink-0 flex items-center py-2 gap-6 border-b border-[#e0e0e0]', this.hideCloseButton() ? 'px-4' : 'pr-4 pl-1');
379
379
  }, ...(ngDevMode ? [{ debugName: "_headerClass" }] : /* istanbul ignore next */ []));
380
380
  }
381
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpContentContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
382
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: UpContentContainerComponent, isStandalone: true, selector: "up-content-container", inputs: { header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, hideCloseButton: { classPropertyName: "hideCloseButton", publicName: "hideCloseButton", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed" }, host: { classAttribute: "flex flex-col size-full" }, providers: [
381
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: UpContentContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
382
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.18", type: UpContentContainerComponent, isStandalone: true, selector: "up-content-container", inputs: { header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, hideCloseButton: { classPropertyName: "hideCloseButton", publicName: "hideCloseButton", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed" }, host: { classAttribute: "flex flex-col size-full" }, providers: [
383
383
  provideIcons({ matCloseRound }),
384
384
  ], ngImport: i0, template: `
385
385
  <div [class]="_headerClass()">
@@ -413,7 +413,7 @@ class UpContentContainerComponent {
413
413
  </div>
414
414
  `, isInline: true, dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: UpButtonDirective, selector: "[upButton]", inputs: ["size", "variant", "class"], exportAs: ["upButton"] }] }); }
415
415
  }
416
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpContentContainerComponent, decorators: [{
416
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: UpContentContainerComponent, decorators: [{
417
417
  type: Component,
418
418
  args: [{
419
419
  selector: 'up-content-container',
@@ -1 +1 @@
1
- {"version":3,"file":"unipin-angular-applet-containers.mjs","sources":["../../../projects/unipin-angular/containers/column-container/directives/lazy-route.directive.ts","../../../projects/unipin-angular/containers/applet-container/utils/provide-applet-config/provide-applet-config.util.ts","../../../projects/unipin-angular/containers/applet-container/utils/redirect-to-first-menu/redirect-to-first-menu.util.ts","../../../projects/unipin-angular/containers/applet-container/components/applet-container.component.ts","../../../projects/unipin-angular/containers/applet-container/components/applet-container.component.html","../../../projects/unipin-angular/containers/column-container/column-container.component.ts","../../../projects/unipin-angular/containers/content-container/content-container.component.ts","../../../projects/unipin-angular/containers/unipin-angular-applet-containers.ts"],"sourcesContent":["import { ComponentRef, Directive, OnInit, ViewContainerRef, inject, DestroyRef, input, reflectComponentType, ComponentMirror } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute, NavigationEnd, Router, Route } from '@angular/router';\nimport { distinctUntilChanged, filter, isObservable, firstValueFrom } from 'rxjs';\n\n\n@Directive({\n exportAs: 'upLoadRoute',\n selector: '[upLoadRoute]'\n})\nexport class UpLazyRouteDirective implements OnInit {\n \n protected readonly router = inject(Router);\n protected readonly vcr = inject(ViewContainerRef);\n protected readonly route = inject(ActivatedRoute);\n protected readonly destroyRef = inject(DestroyRef);\n\n /**\n * Accepts a route config object containing `loadComponent`.\n */\n public readonly loadRoute = input.required<Pick<Route, 'loadComponent'>>();\n\n /**\n * Lifecycle hook that is called after the directive's data-bound properties have been initialized.\n * Dynamically loads the component using the `loadComponent` method and creates it within the directive's view container.\n */\n public ngOnInit(): void{\n if (!this.loadRoute().loadComponent) return;\n\n const result = this.loadRoute().loadComponent!();\n const load = isObservable(result)? firstValueFrom(result) : Promise.resolve(result);\n\n load.then(\n (m: any) => {\n const cmp = m.default?? m;\n \n const cr = this.vcr.createComponent(cmp);\n const mirror = reflectComponentType(cmp);\n \n this.setInput(cr, mirror);\n this.router.events.pipe(\n filter(\n (e): e is NavigationEnd => e instanceof NavigationEnd\n ),\n distinctUntilChanged(\n (prev, curr) => {\n return prev.urlAfterRedirects.split('#')[0] === curr.urlAfterRedirects.split('#')[0];\n }\n ),\n takeUntilDestroyed(this.destroyRef)\n )\n .subscribe({\n next: () => this.setInput(cr, mirror)\n });\n }\n );\n }\n\n /**\n * Method to manually set Input to the child component, because component created by ViewContainerRef won't accept the input from route param directly.\n * @param { ComponentRef<any> } cr\n */\n protected setInput(cr: ComponentRef<any>, mirror: ComponentMirror<unknown> | null): void{\n const params = this.route.firstChild?.snapshot.params ?? {};\n\n if (Object.keys(params).length === 0) {\n return;\n }\n\n for (const key of Object.keys(params)) {\n if (key in cr.instance) {\n cr.setInput(key, params[key]);\n continue;\n }\n\n if (mirror) {\n const match = mirror.inputs.find(\n (i) => i.templateName === key\n );\n \n if (match) {\n cr.setInput(match.templateName, params[key]);\n }\n }\n }\n }\n}\n","import { InjectionToken, Provider } from '@angular/core';\nimport { AppletConfig } from '../../types/applet-config.type';\n\nexport const APPLET_CONFIG = new InjectionToken<AppletConfig>('APPLET_CONFIG');\n\nexport function provideAppletConfig(config: AppletConfig): Provider{\n \n return { \n provide: APPLET_CONFIG, \n useValue: config \n };\n}\n","import { forwardRef, inject } from '@angular/core';\nimport { RedirectFunction } from '@angular/router';\nimport { PermissionService } from '@unipin/angular-applet/auth';\nimport { AppletConfig } from '../../types/applet-config.type';\nimport { APPLET_CONFIG } from '../provide-applet-config/provide-applet-config.util';\n\n/**\n * Redirects the user to their first accessible menu route based on permissions.\n * @returns {RedirectFunction} The first allowed route\n */\nexport function redirectToFirstMenu(): ReturnType<RedirectFunction>{\n \n const { has } = inject(PermissionService);\n const { containers } = inject<AppletConfig>(\n () => forwardRef(() => APPLET_CONFIG)\n );\n\n const firstMenu = containers.find(\n ({ permissions }) => {\n if (!permissions) return true;\n\n const { codes, aggregator } = permissions;\n return codes[aggregator === 'AND'? 'every' : 'some']((code) => has(code));\n }\n );\n return firstMenu?.path?? containers[0].path;\n}\n","import { ChangeDetectionStrategy, Component, inject, signal } from '@angular/core';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { matChevronRightRound, matSettingsRound } from '@ng-icons/material-icons/round';\nimport { PermissionService } from '@unipin/angular-applet/auth';\nimport { UpButtonDirective } from '@unipin/angular-applet/buttons';\nimport { AppletConfig } from '../types/applet-config.type';\nimport { APPLET_CONFIG } from '../utils/provide-applet-config/provide-applet-config.util';\n\n\n@Component({\n selector: 'up-applet-container',\n templateUrl: './applet-container.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'flex size-full'\n },\n imports: [\n NgIcon,\n RouterLink,\n RouterLinkActive,\n UpButtonDirective,\n ],\n providers: [\n provideIcons(\n { \n matChevronRightRound, \n matSettingsRound \n }\n )\n ]\n})\nexport class AppletContainerComponent {\n\n public readonly config: AppletConfig = inject<AppletConfig>(APPLET_CONFIG); \n\n /**\n * A flag variable that used to control sidebar. When set the the value to true, the component will open the sidebar.\n * when set the value to false, the component will close the sidebar.\n * @type {boolean}\n */\n public readonly isExpanded = signal<boolean>(false);\n\n /**\n * A flag variable for indicates whether the sidebar menu is active or not in mobile view.\n * When set false the sidebar menu will be hidden\n * @type {boolean[]}\n */\n public readonly isMenuActive = signal<boolean>(false);\n\n /**\n * A flag variable that used to control sidebar menu. When set value to true, the component will hide the sidebar menu.\n * When set false, the component will show the sidebar menu.\n * @type {boolean[]}\n */\n public readonly isHidden = signal<boolean[]>(Array(this.config.containers.length).fill(true));\n\n constructor(\n protected readonly permissionService: PermissionService\n ) {\n this.isHidden.set(\n this.config.containers.map(\n ({ permissions }) => {\n if (!permissions) return false;\n \n if (permissions.aggregator === 'AND') {\n return !permissions.codes.every((code) => this.permissionService.has(code));\n }\n return !permissions.codes.some((code) => this.permissionService.has(code));\n }\n )\n );\n }\n\n /**\n * When the method is called, it will change the value of isExpanded to its opposite value. \n * If isExpanded is currently true, it will be set to false, and if it is currently false, it will be set to true. \n * This method is typically used to toggle the visibility of a side navigation menu.\n */\n public toggleSidenav(): void{\n this.isExpanded.update((v) => !v);\n }\n\n /**\n * Handles menu selection by dispatching a custom event.\n * This method is called when a sidebar menu item is selected.\n * It dispatches a custom 'menuEvent' with detail indicating the menu is inactive.\n * This event is typically used to close the sidebar menu.\n */\n public selectMenu(): void{\n dispatchEvent(\n new CustomEvent(\n 'menuEvent', \n { \n detail: { \n isActive: false \n } \n }\n )\n );\n }\n}\n","<nav \n class=\"shrink-0 h-full group flex flex-col transition-all ease-in-out border-r border-border max-md:w-0 max-md:z-10 max-md:absolute [&.expanded]:w-60\"\n [class.show]=\"isMenuActive()\"\n [class.expanded]=\"isExpanded()\"\n>\n <div class=\"shrink-0 p-2 border-b border-border flex items-center gap-2 relative\">\n <img \n class=\"rounded size-9 shrink-0\" \n [alt]=\"config.name\"\n [src]=\"config.icon\" \n />\n\n <div class=\"hidden group-[.expanded]:flex grow flex-col gap-0.5 select-none\">\n <div class=\"font-medium line-clamp-1 text-sm\">{{ config.name }}</div>\n \n <div class=\"text-muted-foreground font-medium text-xs\">\n v{{ config.version }}\n </div>\n </div>\n\n <button \n upButton\n size=\"icon\"\n variant=\"outline\"\n class=\"rounded-full absolute -right-5\"\n (click)=\"toggleSidenav()\"\n >\n <ng-icon \n size=\"18\" \n name=\"matChevronRightRound\" \n class=\"group-[.expanded]:rotate-180 transition-all ease-in-out\"\n />\n </button>\n </div>\n\n <div class=\"grow overflow-y-auto p-2 flex flex-col gap-1\">\n @for (c of config.containers; track $index) {\n <a \n upButton\n variant=\"ghost\"\n routerLinkActive=\"font-medium\"\n class=\"group-[.expanded]:w-full group-[.expanded]:justify-start\"\n [routerLink]=\"c.path\"\n [size]=\"!isExpanded()? 'icon' : 'default'\"\n (click)=\"selectMenu()\"\n >\n <ng-icon \n size=\"18\" \n [name]=\"c.icon\" \n />\n \n <span class=\"line-clamp-1 hidden group-[.expanded]:block\">\n {{ c.label }}\n </span>\n </a>\n }\n </div>\n\n @if (config.enabledSetting) {\n <div class=\"shrink-0 p-2 border-t border-border\">\n <a \n upButton\n variant=\"ghost\"\n routerLink=\"setting\" \n routerLinkActive=\"font-medium\"\n class=\"group-[.expanded]:w-full group-[.expanded]:justify-start\"\n [size]=\"!isExpanded()? 'icon' : 'default'\"\n (click)=\"selectMenu()\"\n >\n <ng-icon size=\"18\" name=\"matSettingsRound\" />\n <span class=\"line-clamp-1 hidden group-[.expanded]:block\">Setting</span>\n </a>\n </div>\n }\n</nav>\n\n<div class=\"grow overflow-y-auto overflow-x-hidden\">\n <ng-content />\n</div>\n","import { Component, HostListener, DestroyRef, signal, OnInit } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute, NavigationEnd, Route, Router } from '@angular/router';\nimport { filter } from 'rxjs';\nimport { AngularSplitModule } from 'angular-split';\nimport { UpLazyRouteDirective } from './directives/lazy-route.directive';\n\n\n@Component({\n selector: 'up-column-container',\n host: {\n class: 'block size-full',\n },\n imports: [\n AngularSplitModule, \n UpLazyRouteDirective\n ],\n template: `\n <as-split \n unit=\"percent\" \n [gutterSize]=\"5\" \n [useTransition]=\"true\"\n >\n @for (a of areas(); track $index) {\n <as-split-area\n class=\"border-start\"\n [minSize]=\"20\"\n [size]=\"colSize()\"\n [visible]=\"a.visible\"\n [maxSize]=\"$index === areas().length - 1? 80 : null\"\n >\n <ng-container \n upLoadRoute\n [loadRoute]=\"a.route\" \n />\n </as-split-area>\n }\n </as-split>\n `,\n})\nexport class UpColumnContainerComponent implements OnInit {\n \n /**\n * An array of objects representing the columns, each containing a visibility flag and the associated route.\n * @type {{ visible: boolean, route: Route }[]}\n * @default {[]}\n */\n public readonly areas = signal<{ visible: boolean; route: Pick<Route, 'loadComponent'> }[]>([]);\n\n /**\n * The default size for the split area: 100 means it will be full width, and 50 means it will be divided in half.\n * This can be resizable with minimum width 20%\n */\n public readonly colSize = signal<number>(window.innerWidth <= 768? 100 : 50);\n\n /**\n * An object to keep track of the position of opened areas based on their route paths.\n * @type {{ [key: string]: number }}\n * @default {{}}\n */\n protected readonly openedArea: Record<string, number> = {};\n\n constructor(\n protected readonly router: Router,\n protected readonly destroyRef: DestroyRef,\n protected readonly activeRoute: ActivatedRoute\n ){ }\n\n /**\n * Lifecycle hook called after the component has been initialized.\n * Subscribes to router events, initializes columns based on the initial route, and sets up the first visible column.\n */\n public ngOnInit(): void{\n this.checkScreen();\n\n this.router.events.pipe(\n filter(\n (e): e is NavigationEnd => e instanceof NavigationEnd\n ),\n takeUntilDestroyed(this.destroyRef)\n ).subscribe({\n next: () => this.navigate()\n });\n\n const url: string | undefined = this.activeRoute.firstChild?.routeConfig?.path;\n const routeList: Route[] =(this.activeRoute.snapshot.routeConfig as any)._loadedRoutes;\n\n if (routeList?.length) {\n this.next(routeList[0]);\n\n for (let i = 1; i < routeList.length; i++) {\n if (\n url?.startsWith(\n routeList[i].path as string\n )\n ) {\n this.next(routeList[i]);\n }\n }\n }\n }\n\n /**\n * Event listener for the window resize event. Adjusts the default size of the split area based on the screen width.\n */\n @HostListener('window:resize')\n public checkScreen(): void{\n this.colSize.set(window.innerWidth <= 768? 100 : 50);\n }\n\n /**\n * Handles router navigation events and adjusts the display of columns accordingly.\n */\n protected navigate(): void{\n const route: Route = this.activeRoute.firstChild!.routeConfig!;\n const pos = this.openedArea[`r-${ route.path }`];\n\n if (pos <= this.areas().length) {\n this.previous(pos);\n return;\n }\n this.next(route);\n }\n\n /**\n * Adds a new column to the container and updates visibility based on the route navigation.\n * @param {Route} route - Contain next route.\n */\n protected next(route: Route): void{\n this.areas.update(\n (areas) => {\n if (\n this.colSize() === 100 &&\n areas.length >= 1\n ) {\n areas[areas.length - 1].visible = false;\n } else if (areas.length >= 2) {\n areas[areas.length - 2].visible = false;\n }\n\n const newAreas = [\n ...areas,\n { visible: true, route }\n ];\n\n this.openedArea[`r-${ route.path }`] = newAreas.length;\n return newAreas;\n }\n );\n }\n\n /**\n * Removes columns from the container based on the route navigation.\n * @param {number} pos - Contain position of the last active area index.\n */\n protected previous(pos: number): void{\n this.areas.update(\n (areas) => {\n const newAreas = areas.slice(0, pos);\n\n if (this.colSize() === 100 && newAreas.length) {\n newAreas[newAreas.length - 1].visible = true;\n return newAreas;\n }\n\n if (newAreas.length === 1) newAreas[0].visible = true;\n else if (newAreas.length >= 2) {\n newAreas[pos - 1].visible = true;\n newAreas[pos - 2].visible = true;\n }\n return newAreas;\n }\n );\n }\n}\n","import { Component, input, booleanAttribute, computed, output } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { matCloseRound } from '@ng-icons/material-icons/round';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpButtonDirective } from '@unipin/angular-applet/buttons';\n\n\n@Component({\n selector: 'up-content-container',\n host: {\n class: 'flex flex-col size-full'\n },\n imports: [\n NgIcon,\n UpButtonDirective\n ],\n providers: [\n provideIcons({ matCloseRound }),\n ],\n template: `\n <div [class]=\"_headerClass()\">\n <div class=\"grow flex items-center gap-1\">\n @if (!this.hideCloseButton()) {\n <button\n upButton\n size=\"icon\"\n tabindex=\"-1\"\n variant=\"ghost\"\n class=\"shrink-0 rounded-full\"\n [disabled]=\"disabled()\"\n (click)=\"closed.emit()\"\n >\n <ng-icon size=\"20\" name=\"matCloseRound\" />\n </button>\n }\n\n <h3 class=\"grow select-none line-clamp-1 font-semibold text-lg\">\n {{ header() }}\n </h3>\n </div>\n\n <div class=\"shrink-0\">\n <ng-content select=\"[actions]\" />\n </div>\n </div>\n\n <div class=\"grow overflow-auto\">\n <ng-content />\n </div>\n `\n})\nexport class UpContentContainerComponent {\n\n /**\n * The title text displayed in the header.\n * If the text is too long, it will be truncated with an ellipsis.\n * @type {Signal<string>}\n * @default ''\n */\n public readonly header = input<string>('');\n\n /**\n * Disables the close/back button when set to true.\n * When disabled, the close button will not be shown in the header.\n * @type {Signal<boolean>}\n * @default false\n */\n public readonly disabled = input(false, { transform: booleanAttribute });\n\n /**\n * Hides the close/back button when set to true.\n * When hidden, the close button will not be shown in the header.\n * @type {Signal<boolean>}\n * @default false\n */\n public readonly hideCloseButton = input(false, { transform: booleanAttribute });\n\n /**\n * Event emitted when the user clicks the close button.\n * Typically used to handle closing a modal or navigating back.\n * @type {OutputEmitterRef<void>}\n */\n public readonly closed = output<void>();\n\n protected readonly _headerClass = computed(\n () => {\n return up(\n 'shrink-0 flex items-center py-2 gap-6 border-b border-[#e0e0e0]',\n this.hideCloseButton()? 'px-4' : 'pr-4 pl-1'\n );\n }\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"unipin-angular-applet-containers.mjs","sources":["../../../projects/unipin-angular/containers/column-container/directives/lazy-route.directive.ts","../../../projects/unipin-angular/containers/applet-container/utils/provide-applet-config/provide-applet-config.util.ts","../../../projects/unipin-angular/containers/applet-container/utils/redirect-to-first-menu/redirect-to-first-menu.util.ts","../../../projects/unipin-angular/containers/applet-container/components/applet-container.component.ts","../../../projects/unipin-angular/containers/applet-container/components/applet-container.component.html","../../../projects/unipin-angular/containers/column-container/column-container.component.ts","../../../projects/unipin-angular/containers/content-container/content-container.component.ts","../../../projects/unipin-angular/containers/unipin-angular-applet-containers.ts"],"sourcesContent":["import { ComponentRef, Directive, OnInit, ViewContainerRef, inject, DestroyRef, input, reflectComponentType, ComponentMirror } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute, NavigationEnd, Router, Route } from '@angular/router';\nimport { distinctUntilChanged, filter, isObservable, firstValueFrom } from 'rxjs';\n\n\n@Directive({\n exportAs: 'upLoadRoute',\n selector: '[upLoadRoute]'\n})\nexport class UpLazyRouteDirective implements OnInit {\n \n protected readonly router = inject(Router);\n protected readonly vcr = inject(ViewContainerRef);\n protected readonly route = inject(ActivatedRoute);\n protected readonly destroyRef = inject(DestroyRef);\n\n /**\n * Accepts a route config object containing `loadComponent`.\n */\n public readonly loadRoute = input.required<Pick<Route, 'loadComponent'>>();\n\n /**\n * Lifecycle hook that is called after the directive's data-bound properties have been initialized.\n * Dynamically loads the component using the `loadComponent` method and creates it within the directive's view container.\n */\n public ngOnInit(): void{\n if (!this.loadRoute().loadComponent) return;\n\n const result = this.loadRoute().loadComponent!();\n const load = isObservable(result)? firstValueFrom(result) : Promise.resolve(result);\n\n load.then(\n (m: any) => {\n const cmp = m.default?? m;\n \n const cr = this.vcr.createComponent(cmp);\n const mirror = reflectComponentType(cmp);\n \n this.setInput(cr, mirror);\n this.router.events.pipe(\n filter(\n (e): e is NavigationEnd => e instanceof NavigationEnd\n ),\n distinctUntilChanged(\n (prev, curr) => {\n return prev.urlAfterRedirects.split('#')[0] === curr.urlAfterRedirects.split('#')[0];\n }\n ),\n takeUntilDestroyed(this.destroyRef)\n )\n .subscribe({\n next: () => this.setInput(cr, mirror)\n });\n }\n );\n }\n\n /**\n * Method to manually set Input to the child component, because component created by ViewContainerRef won't accept the input from route param directly.\n * @param { ComponentRef<any> } cr\n */\n protected setInput(cr: ComponentRef<any>, mirror: ComponentMirror<unknown> | null): void{\n const params = this.route.firstChild?.snapshot.params ?? {};\n\n if (Object.keys(params).length === 0) {\n return;\n }\n\n for (const key of Object.keys(params)) {\n if (key in cr.instance) {\n cr.setInput(key, params[key]);\n continue;\n }\n\n if (mirror) {\n const match = mirror.inputs.find(\n (i) => i.templateName === key\n );\n \n if (match) {\n cr.setInput(match.templateName, params[key]);\n }\n }\n }\n }\n}\n","import { InjectionToken, Provider } from '@angular/core';\nimport { AppletConfig } from '../../types/applet-config.type';\n\nexport const APPLET_CONFIG = new InjectionToken<AppletConfig>('APPLET_CONFIG');\n\nexport function provideAppletConfig(config: AppletConfig): Provider{\n \n return { \n provide: APPLET_CONFIG, \n useValue: config \n };\n}\n","import { forwardRef, inject } from '@angular/core';\nimport { RedirectFunction } from '@angular/router';\nimport { PermissionService } from '@unipin/angular-applet/auth';\nimport { AppletConfig } from '../../types/applet-config.type';\nimport { APPLET_CONFIG } from '../provide-applet-config/provide-applet-config.util';\n\n/**\n * Redirects the user to their first accessible menu route based on permissions.\n * @returns {RedirectFunction} The first allowed route\n */\nexport function redirectToFirstMenu(): ReturnType<RedirectFunction>{\n \n const { has } = inject(PermissionService);\n const { containers } = inject<AppletConfig>(\n () => forwardRef(() => APPLET_CONFIG)\n );\n\n const firstMenu = containers.find(\n ({ permissions }) => {\n if (!permissions) return true;\n\n const { codes, aggregator } = permissions;\n return codes[aggregator === 'AND'? 'every' : 'some']((code) => has(code));\n }\n );\n return firstMenu?.path?? containers[0].path;\n}\n","import { ChangeDetectionStrategy, Component, inject, signal } from '@angular/core';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { matChevronRightRound, matSettingsRound } from '@ng-icons/material-icons/round';\nimport { PermissionService } from '@unipin/angular-applet/auth';\nimport { UpButtonDirective } from '@unipin/angular-applet/buttons';\nimport { AppletConfig } from '../types/applet-config.type';\nimport { APPLET_CONFIG } from '../utils/provide-applet-config/provide-applet-config.util';\n\n\n@Component({\n selector: 'up-applet-container',\n templateUrl: './applet-container.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'flex size-full'\n },\n imports: [\n NgIcon,\n RouterLink,\n RouterLinkActive,\n UpButtonDirective,\n ],\n providers: [\n provideIcons(\n { \n matChevronRightRound, \n matSettingsRound \n }\n )\n ]\n})\nexport class AppletContainerComponent {\n\n public readonly config: AppletConfig = inject<AppletConfig>(APPLET_CONFIG); \n\n /**\n * A flag variable that used to control sidebar. When set the the value to true, the component will open the sidebar.\n * when set the value to false, the component will close the sidebar.\n * @type {boolean}\n */\n public readonly isExpanded = signal<boolean>(false);\n\n /**\n * A flag variable for indicates whether the sidebar menu is active or not in mobile view.\n * When set false the sidebar menu will be hidden\n * @type {boolean[]}\n */\n public readonly isMenuActive = signal<boolean>(false);\n\n /**\n * A flag variable that used to control sidebar menu. When set value to true, the component will hide the sidebar menu.\n * When set false, the component will show the sidebar menu.\n * @type {boolean[]}\n */\n public readonly isHidden = signal<boolean[]>(new Array(this.config.containers.length).fill(true));\n\n constructor(\n protected readonly permissionService: PermissionService\n ) {\n this.isHidden.set(\n this.config.containers.map(\n ({ permissions }) => {\n if (!permissions) return false;\n \n if (permissions.aggregator === 'AND') {\n return !permissions.codes.every((code) => this.permissionService.has(code));\n }\n return !permissions.codes.some((code) => this.permissionService.has(code));\n }\n )\n );\n }\n\n /**\n * When the method is called, it will change the value of isExpanded to its opposite value. \n * If isExpanded is currently true, it will be set to false, and if it is currently false, it will be set to true. \n * This method is typically used to toggle the visibility of a side navigation menu.\n */\n public toggleSidenav(): void{\n this.isExpanded.update((v) => !v);\n }\n\n /**\n * Handles menu selection by dispatching a custom event.\n * This method is called when a sidebar menu item is selected.\n * It dispatches a custom 'menuEvent' with detail indicating the menu is inactive.\n * This event is typically used to close the sidebar menu.\n */\n public selectMenu(): void{\n dispatchEvent(\n new CustomEvent(\n 'menuEvent', \n { \n detail: { \n isActive: false \n } \n }\n )\n );\n }\n}\n","<nav \n class=\"shrink-0 h-full group flex flex-col transition-all ease-in-out border-r border-border max-md:w-0 max-md:z-10 max-md:absolute [&.expanded]:w-60\"\n [class.show]=\"isMenuActive()\"\n [class.expanded]=\"isExpanded()\"\n>\n <div class=\"shrink-0 p-2 border-b border-border flex items-center gap-2 relative\">\n <img \n class=\"rounded size-9 shrink-0\" \n [alt]=\"config.name\"\n [src]=\"config.icon\" \n />\n\n <div class=\"hidden group-[.expanded]:flex grow flex-col gap-0.5 select-none\">\n <div class=\"font-medium line-clamp-1 text-sm\">{{ config.name }}</div>\n \n <div class=\"text-muted-foreground font-medium text-xs\">\n v{{ config.version }}\n </div>\n </div>\n\n <button \n upButton\n size=\"icon\"\n variant=\"outline\"\n class=\"rounded-full absolute -right-5\"\n (click)=\"toggleSidenav()\"\n >\n <ng-icon \n size=\"18\" \n name=\"matChevronRightRound\" \n class=\"group-[.expanded]:rotate-180 transition-all ease-in-out\"\n />\n </button>\n </div>\n\n <div class=\"grow overflow-y-auto p-2 flex flex-col gap-1\">\n @for (c of config.containers; track $index) {\n @if (!isHidden()[$index]) {\n <a\n upButton\n variant=\"ghost\"\n routerLinkActive=\"font-medium\"\n class=\"group-[.expanded]:w-full group-[.expanded]:justify-start\"\n [routerLink]=\"c.path\"\n [size]=\"!isExpanded()? 'icon' : 'default'\"\n (click)=\"selectMenu()\"\n >\n <ng-icon\n size=\"18\"\n [name]=\"c.icon\"\n />\n\n <span class=\"line-clamp-1 hidden group-[.expanded]:block\">\n {{ c.label }}\n </span>\n </a>\n }\n }\n </div>\n\n @if (config.enabledSetting) {\n <div class=\"shrink-0 p-2 border-t border-border\">\n <a \n upButton\n variant=\"ghost\"\n routerLink=\"setting\" \n routerLinkActive=\"font-medium\"\n class=\"group-[.expanded]:w-full group-[.expanded]:justify-start\"\n [size]=\"!isExpanded()? 'icon' : 'default'\"\n (click)=\"selectMenu()\"\n >\n <ng-icon size=\"18\" name=\"matSettingsRound\" />\n <span class=\"line-clamp-1 hidden group-[.expanded]:block\">Setting</span>\n </a>\n </div>\n }\n</nav>\n\n<div class=\"grow overflow-y-auto overflow-x-hidden\">\n <ng-content />\n</div>\n","import { Component, HostListener, DestroyRef, signal, OnInit } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute, NavigationEnd, Route, Router } from '@angular/router';\nimport { filter } from 'rxjs';\nimport { AngularSplitModule } from 'angular-split';\nimport { UpLazyRouteDirective } from './directives/lazy-route.directive';\n\n\n@Component({\n selector: 'up-column-container',\n host: {\n class: 'block size-full',\n },\n imports: [\n AngularSplitModule, \n UpLazyRouteDirective\n ],\n template: `\n <as-split \n unit=\"percent\" \n [gutterSize]=\"5\" \n [useTransition]=\"true\"\n >\n @for (a of areas(); track $index) {\n <as-split-area\n class=\"border-start\"\n [minSize]=\"20\"\n [size]=\"colSize()\"\n [visible]=\"a.visible\"\n [maxSize]=\"$index === areas().length - 1? 80 : null\"\n >\n <ng-container \n upLoadRoute\n [loadRoute]=\"a.route\" \n />\n </as-split-area>\n }\n </as-split>\n `,\n})\nexport class UpColumnContainerComponent implements OnInit {\n \n /**\n * An array of objects representing the columns, each containing a visibility flag and the associated route.\n * @type {{ visible: boolean, route: Route }[]}\n * @default {[]}\n */\n public readonly areas = signal<{ visible: boolean; route: Pick<Route, 'loadComponent'> }[]>([]);\n\n /**\n * The default size for the split area: 100 means it will be full width, and 50 means it will be divided in half.\n * This can be resizable with minimum width 20%\n */\n public readonly colSize = signal<number>(window.innerWidth <= 768? 100 : 50);\n\n /**\n * An object to keep track of the position of opened areas based on their route paths.\n * @type {{ [key: string]: number }}\n * @default {{}}\n */\n protected readonly openedArea: Record<string, number> = {};\n\n constructor(\n protected readonly router: Router,\n protected readonly destroyRef: DestroyRef,\n protected readonly activeRoute: ActivatedRoute\n ){ }\n\n /**\n * Lifecycle hook called after the component has been initialized.\n * Subscribes to router events, initializes columns based on the initial route, and sets up the first visible column.\n */\n public ngOnInit(): void{\n this.checkScreen();\n\n this.router.events.pipe(\n filter(\n (e): e is NavigationEnd => e instanceof NavigationEnd\n ),\n takeUntilDestroyed(this.destroyRef)\n ).subscribe({\n next: () => this.navigate()\n });\n\n const url: string | undefined = this.activeRoute.firstChild?.routeConfig?.path;\n const routeList: Route[] =(this.activeRoute.snapshot.routeConfig as any)._loadedRoutes;\n\n if (routeList?.length) {\n this.next(routeList[0]);\n\n for (let i = 1; i < routeList.length; i++) {\n if (\n url?.startsWith(\n routeList[i].path as string\n )\n ) {\n this.next(routeList[i]);\n }\n }\n }\n }\n\n /**\n * Event listener for the window resize event. Adjusts the default size of the split area based on the screen width.\n */\n @HostListener('window:resize')\n public checkScreen(): void{\n this.colSize.set(window.innerWidth <= 768? 100 : 50);\n }\n\n /**\n * Handles router navigation events and adjusts the display of columns accordingly.\n */\n protected navigate(): void{\n const route: Route = this.activeRoute.firstChild!.routeConfig!;\n const pos = this.openedArea[`r-${ route.path }`];\n\n if (pos <= this.areas().length) {\n this.previous(pos);\n return;\n }\n this.next(route);\n }\n\n /**\n * Adds a new column to the container and updates visibility based on the route navigation.\n * @param {Route} route - Contain next route.\n */\n protected next(route: Route): void{\n this.areas.update(\n (areas) => {\n if (\n this.colSize() === 100 &&\n areas.length >= 1\n ) {\n areas.at(-1)!.visible = false;\n } else if (areas.length >= 2) {\n areas.at(-2)!.visible = false;\n }\n\n const newAreas = [\n ...areas,\n { visible: true, route }\n ];\n\n this.openedArea[`r-${ route.path }`] = newAreas.length;\n return newAreas;\n }\n );\n }\n\n /**\n * Removes columns from the container based on the route navigation.\n * @param {number} pos - Contain position of the last active area index.\n */\n protected previous(pos: number): void{\n this.areas.update(\n (areas) => {\n const newAreas = areas.slice(0, pos);\n\n if (this.colSize() === 100 && newAreas.length) {\n newAreas.at(-1)!.visible = true;\n return newAreas;\n }\n\n if (newAreas.length === 1) newAreas[0].visible = true;\n else if (newAreas.length >= 2) {\n newAreas[pos - 1].visible = true;\n newAreas[pos - 2].visible = true;\n }\n return newAreas;\n }\n );\n }\n}\n","import { Component, input, booleanAttribute, computed, output } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { matCloseRound } from '@ng-icons/material-icons/round';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpButtonDirective } from '@unipin/angular-applet/buttons';\n\n\n@Component({\n selector: 'up-content-container',\n host: {\n class: 'flex flex-col size-full'\n },\n imports: [\n NgIcon,\n UpButtonDirective\n ],\n providers: [\n provideIcons({ matCloseRound }),\n ],\n template: `\n <div [class]=\"_headerClass()\">\n <div class=\"grow flex items-center gap-1\">\n @if (!this.hideCloseButton()) {\n <button\n upButton\n size=\"icon\"\n tabindex=\"-1\"\n variant=\"ghost\"\n class=\"shrink-0 rounded-full\"\n [disabled]=\"disabled()\"\n (click)=\"closed.emit()\"\n >\n <ng-icon size=\"20\" name=\"matCloseRound\" />\n </button>\n }\n\n <h3 class=\"grow select-none line-clamp-1 font-semibold text-lg\">\n {{ header() }}\n </h3>\n </div>\n\n <div class=\"shrink-0\">\n <ng-content select=\"[actions]\" />\n </div>\n </div>\n\n <div class=\"grow overflow-auto\">\n <ng-content />\n </div>\n `\n})\nexport class UpContentContainerComponent {\n\n /**\n * The title text displayed in the header.\n * If the text is too long, it will be truncated with an ellipsis.\n * @type {Signal<string>}\n * @default ''\n */\n public readonly header = input<string>('');\n\n /**\n * Disables the close/back button when set to true.\n * When disabled, the close button will not be shown in the header.\n * @type {Signal<boolean>}\n * @default false\n */\n public readonly disabled = input(false, { transform: booleanAttribute });\n\n /**\n * Hides the close/back button when set to true.\n * When hidden, the close button will not be shown in the header.\n * @type {Signal<boolean>}\n * @default false\n */\n public readonly hideCloseButton = input(false, { transform: booleanAttribute });\n\n /**\n * Event emitted when the user clicks the close button.\n * Typically used to handle closing a modal or navigating back.\n * @type {OutputEmitterRef<void>}\n */\n public readonly closed = output<void>();\n\n protected readonly _headerClass = computed(\n () => {\n return up(\n 'shrink-0 flex items-center py-2 gap-6 border-b border-[#e0e0e0]',\n this.hideCloseButton()? 'px-4' : 'pr-4 pl-1'\n );\n }\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
@@ -202,10 +202,10 @@ class UpDialogService {
202
202
  });
203
203
  return dialogRef;
204
204
  }
205
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
206
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpDialogService, providedIn: 'root' }); }
205
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: UpDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
206
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: UpDialogService, providedIn: 'root' }); }
207
207
  }
208
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpDialogService, decorators: [{
208
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: UpDialogService, decorators: [{
209
209
  type: Injectable,
210
210
  args: [{
211
211
  providedIn: 'root'
@@ -310,12 +310,12 @@ class UpDialog {
310
310
  }
311
311
  });
312
312
  }
313
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpDialog, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
314
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.11", type: UpDialog, isStandalone: true, selector: "up-dialog", inputs: { attachTo: { classPropertyName: "attachTo", publicName: "attachTo", isSignal: true, isRequired: false, transformFunction: null }, role: { classPropertyName: "role", publicName: "role", isSignal: true, isRequired: false, transformFunction: null }, autoFocus: { classPropertyName: "autoFocus", publicName: "autoFocus", isSignal: true, isRequired: false, transformFunction: null }, restoreFocus: { classPropertyName: "restoreFocus", publicName: "restoreFocus", isSignal: true, isRequired: false, transformFunction: null }, scrollStrategy: { classPropertyName: "scrollStrategy", publicName: "scrollStrategy", isSignal: true, isRequired: false, transformFunction: null }, attachPositions: { classPropertyName: "attachPositions", publicName: "attachPositions", isSignal: true, isRequired: false, transformFunction: null }, positionStrategy: { classPropertyName: "positionStrategy", publicName: "positionStrategy", isSignal: true, isRequired: false, transformFunction: null }, hasBackdrop: { classPropertyName: "hasBackdrop", publicName: "hasBackdrop", isSignal: true, isRequired: false, transformFunction: null }, disableClose: { classPropertyName: "disableClose", publicName: "disableClose", isSignal: true, isRequired: false, transformFunction: null }, closeDelay: { classPropertyName: "closeDelay", publicName: "closeDelay", isSignal: true, isRequired: false, transformFunction: null }, closeOnOutsidePointerEvents: { classPropertyName: "closeOnOutsidePointerEvents", publicName: "closeOnOutsidePointerEvents", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", stateChanged: "stateChanged" }, exportAs: ["upDialog"], ngImport: i0, template: `
313
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: UpDialog, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
314
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.18", type: UpDialog, isStandalone: true, selector: "up-dialog", inputs: { attachTo: { classPropertyName: "attachTo", publicName: "attachTo", isSignal: true, isRequired: false, transformFunction: null }, role: { classPropertyName: "role", publicName: "role", isSignal: true, isRequired: false, transformFunction: null }, autoFocus: { classPropertyName: "autoFocus", publicName: "autoFocus", isSignal: true, isRequired: false, transformFunction: null }, restoreFocus: { classPropertyName: "restoreFocus", publicName: "restoreFocus", isSignal: true, isRequired: false, transformFunction: null }, scrollStrategy: { classPropertyName: "scrollStrategy", publicName: "scrollStrategy", isSignal: true, isRequired: false, transformFunction: null }, attachPositions: { classPropertyName: "attachPositions", publicName: "attachPositions", isSignal: true, isRequired: false, transformFunction: null }, positionStrategy: { classPropertyName: "positionStrategy", publicName: "positionStrategy", isSignal: true, isRequired: false, transformFunction: null }, hasBackdrop: { classPropertyName: "hasBackdrop", publicName: "hasBackdrop", isSignal: true, isRequired: false, transformFunction: null }, disableClose: { classPropertyName: "disableClose", publicName: "disableClose", isSignal: true, isRequired: false, transformFunction: null }, closeDelay: { classPropertyName: "closeDelay", publicName: "closeDelay", isSignal: true, isRequired: false, transformFunction: null }, closeOnOutsidePointerEvents: { classPropertyName: "closeOnOutsidePointerEvents", publicName: "closeOnOutsidePointerEvents", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", stateChanged: "stateChanged" }, exportAs: ["upDialog"], ngImport: i0, template: `
315
315
  <ng-content />
316
316
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
317
317
  }
318
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpDialog, decorators: [{
318
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: UpDialog, decorators: [{
319
319
  type: Component,
320
320
  args: [{
321
321
  exportAs: 'upDialog',
@@ -335,12 +335,12 @@ class UpDialogCloseDirective {
335
335
  this._computedClass = computed(() => up(this.inlineClass()), ...(ngDevMode ? [{ debugName: "_computedClass" }] : /* istanbul ignore next */ []));
336
336
  }
337
337
  close() {
338
- this.dialogRef.close(undefined);
338
+ this.dialogRef.close();
339
339
  }
340
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpDialogCloseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
341
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", type: UpDialogCloseDirective, isStandalone: true, selector: "button[upDialogClose]", inputs: { inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "close()" }, properties: { "class": "_computedClass()" } }, ngImport: i0 }); }
340
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: UpDialogCloseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
341
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.18", type: UpDialogCloseDirective, isStandalone: true, selector: "button[upDialogClose]", inputs: { inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "close()" }, properties: { "class": "_computedClass()" } }, ngImport: i0 }); }
342
342
  }
343
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpDialogCloseDirective, decorators: [{
343
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: UpDialogCloseDirective, decorators: [{
344
344
  type: Directive,
345
345
  args: [{
346
346
  selector: 'button[upDialogClose]',
@@ -368,10 +368,10 @@ class UpDialogContentDirective {
368
368
  `, this.inlineClass());
369
369
  }, ...(ngDevMode ? [{ debugName: "_computedClass" }] : /* istanbul ignore next */ []));
370
370
  }
371
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpDialogContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
372
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", type: UpDialogContentDirective, isStandalone: true, selector: "[upDialogContent]", inputs: { inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()", "attr.data-state": "state()" } }, exportAs: ["upDialogContent"], ngImport: i0 }); }
371
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: UpDialogContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
372
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.18", type: UpDialogContentDirective, isStandalone: true, selector: "[upDialogContent]", inputs: { inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()", "attr.data-state": "state()" } }, exportAs: ["upDialogContent"], ngImport: i0 }); }
373
373
  }
374
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpDialogContentDirective, decorators: [{
374
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: UpDialogContentDirective, decorators: [{
375
375
  type: Directive,
376
376
  args: [{
377
377
  exportAs: 'upDialogContent',
@@ -416,10 +416,10 @@ class UpDialogTriggerDirective {
416
416
  open() {
417
417
  this.dialog?.open();
418
418
  }
419
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpDialogTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
420
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", type: UpDialogTriggerDirective, isStandalone: true, selector: "button[upDialogTrigger], button[upDialogTriggerFor]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, dialogTriggerFor: { classPropertyName: "dialogTriggerFor", publicName: "upDialogTriggerFor", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "open()" }, properties: { "id": "id()", "attr.data-state": "state()" } }, exportAs: ["upDialogTrigger"], ngImport: i0 }); }
419
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: UpDialogTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
420
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.18", type: UpDialogTriggerDirective, isStandalone: true, selector: "button[upDialogTrigger], button[upDialogTriggerFor]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, dialogTriggerFor: { classPropertyName: "dialogTriggerFor", publicName: "upDialogTriggerFor", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "open()" }, properties: { "id": "id()", "attr.data-state": "state()" } }, exportAs: ["upDialogTrigger"], ngImport: i0 }); }
421
421
  }
422
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpDialogTriggerDirective, decorators: [{
422
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: UpDialogTriggerDirective, decorators: [{
423
423
  type: Directive,
424
424
  args: [{
425
425
  exportAs: 'upDialogTrigger',
@@ -453,12 +453,12 @@ class UpDialogContentRefDirective {
453
453
  untracked(() => this.dialog?.setContext(context));
454
454
  });
455
455
  }
456
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpDialogContentRefDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
457
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", type: UpDialogContentRefDirective, isStandalone: true, selector: "[upDialogContentRef]", inputs: { context: { classPropertyName: "context", publicName: "context", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
456
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: UpDialogContentRefDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
457
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.18", type: UpDialogContentRefDirective, isStandalone: true, selector: "[upDialogContentRef]", inputs: { context: { classPropertyName: "context", publicName: "context", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
458
458
  provideExposesStateProviderExisting(() => UpDialogContentRefDirective)
459
459
  ], exportAs: ["upDialogContentRef"], ngImport: i0 }); }
460
460
  }
461
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpDialogContentRefDirective, decorators: [{
461
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: UpDialogContentRefDirective, decorators: [{
462
462
  type: Directive,
463
463
  args: [{
464
464
  exportAs: 'upDialogContentRef',
@@ -485,8 +485,8 @@ class UpDialogWrapperComponent extends UpDialog {
485
485
  ngOnDestroy() {
486
486
  this.closedSubscription.unsubscribe();
487
487
  }
488
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpDialogWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
489
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.11", type: UpDialogWrapperComponent, isStandalone: true, selector: "up-dialog-wrapper", inputs: { isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dismissed: "dismissed" }, providers: [
488
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: UpDialogWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
489
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.18", type: UpDialogWrapperComponent, isStandalone: true, selector: "up-dialog-wrapper", inputs: { isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dismissed: "dismissed" }, providers: [
490
490
  {
491
491
  provide: UpDialog,
492
492
  useExisting: forwardRef(() => UpDialogWrapperComponent)
@@ -495,7 +495,7 @@ class UpDialogWrapperComponent extends UpDialog {
495
495
  <ng-content />
496
496
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
497
497
  }
498
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpDialogWrapperComponent, decorators: [{
498
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: UpDialogWrapperComponent, decorators: [{
499
499
  type: Component,
500
500
  args: [{
501
501
  exportAs: 'upDialogWrapper',