@bootkit/ng0 0.0.0-alpha.1 → 0.0.0-alpha.3

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 (169) hide show
  1. package/common/index.d.ts +12 -5
  2. package/components/accordion/index.d.ts +32 -0
  3. package/components/collapse/index.d.ts +59 -0
  4. package/components/form-field/index.d.ts +72 -0
  5. package/components/modal/index.d.ts +29 -0
  6. package/components/nav/index.d.ts +64 -0
  7. package/{offcanvas/offcanvas.directive.d.ts → components/offcanvas/index.d.ts} +14 -5
  8. package/components/overlay/index.d.ts +40 -0
  9. package/components/pagination/index.d.ts +30 -0
  10. package/components/popover/index.d.ts +36 -0
  11. package/components/toast/index.d.ts +101 -0
  12. package/components/tooltip/index.d.ts +30 -0
  13. package/data/index.d.ts +74 -0
  14. package/fesm2022/bootkit-ng0-common.mjs +11 -4
  15. package/fesm2022/bootkit-ng0-common.mjs.map +1 -1
  16. package/fesm2022/{bootkit-ng0-accordion.mjs → bootkit-ng0-components-accordion.mjs} +13 -13
  17. package/fesm2022/bootkit-ng0-components-accordion.mjs.map +1 -0
  18. package/fesm2022/{bootkit-ng0-collapse.mjs → bootkit-ng0-components-collapse.mjs} +12 -12
  19. package/fesm2022/bootkit-ng0-components-collapse.mjs.map +1 -0
  20. package/fesm2022/bootkit-ng0-components-form-field.mjs +147 -0
  21. package/fesm2022/bootkit-ng0-components-form-field.mjs.map +1 -0
  22. package/fesm2022/{bootkit-ng0-modal.mjs → bootkit-ng0-components-modal.mjs} +9 -9
  23. package/fesm2022/bootkit-ng0-components-modal.mjs.map +1 -0
  24. package/fesm2022/{bootkit-ng0-nav.mjs → bootkit-ng0-components-nav.mjs} +21 -21
  25. package/fesm2022/bootkit-ng0-components-nav.mjs.map +1 -0
  26. package/fesm2022/{bootkit-ng0-offcanvas.mjs → bootkit-ng0-components-offcanvas.mjs} +9 -9
  27. package/fesm2022/bootkit-ng0-components-offcanvas.mjs.map +1 -0
  28. package/fesm2022/bootkit-ng0-components-overlay.mjs +99 -0
  29. package/fesm2022/bootkit-ng0-components-overlay.mjs.map +1 -0
  30. package/fesm2022/bootkit-ng0-components-pagination.mjs +85 -0
  31. package/fesm2022/bootkit-ng0-components-pagination.mjs.map +1 -0
  32. package/fesm2022/{bootkit-ng0-popover.mjs → bootkit-ng0-components-popover.mjs} +8 -8
  33. package/fesm2022/bootkit-ng0-components-popover.mjs.map +1 -0
  34. package/fesm2022/{bootkit-ng0-toast.mjs → bootkit-ng0-components-toast.mjs} +9 -9
  35. package/fesm2022/bootkit-ng0-components-toast.mjs.map +1 -0
  36. package/fesm2022/{bootkit-ng0-tooltip.mjs → bootkit-ng0-components-tooltip.mjs} +8 -8
  37. package/fesm2022/bootkit-ng0-components-tooltip.mjs.map +1 -0
  38. package/fesm2022/bootkit-ng0-data.mjs +153 -0
  39. package/fesm2022/bootkit-ng0-data.mjs.map +1 -0
  40. package/fesm2022/bootkit-ng0-http.mjs +229 -0
  41. package/fesm2022/bootkit-ng0-http.mjs.map +1 -0
  42. package/fesm2022/bootkit-ng0-localization.mjs +301 -0
  43. package/fesm2022/bootkit-ng0-localization.mjs.map +1 -0
  44. package/fesm2022/bootkit-ng0-security.mjs +130 -0
  45. package/fesm2022/bootkit-ng0-security.mjs.map +1 -0
  46. package/http/index.d.ts +66 -0
  47. package/index.d.ts +3 -5
  48. package/localization/index.d.ts +178 -0
  49. package/package.json +60 -58
  50. package/security/index.d.ts +48 -0
  51. package/accordion/accordion-item.component.d.ts +0 -13
  52. package/accordion/accordion.component.d.ts +0 -13
  53. package/accordion/accordion.module.d.ts +0 -8
  54. package/accordion/index.d.ts +0 -5
  55. package/accordion/public-api.d.ts +0 -3
  56. package/collapse/collapse.component.d.ts +0 -18
  57. package/collapse/collapse.directive.d.ts +0 -32
  58. package/collapse/collapse.module.d.ts +0 -8
  59. package/collapse/index.d.ts +0 -5
  60. package/collapse/public-api.d.ts +0 -3
  61. package/common/public-api.d.ts +0 -2
  62. package/common/types.d.ts +0 -4
  63. package/common/utils.d.ts +0 -3
  64. package/esm2022/accordion/accordion-item.component.mjs +0 -34
  65. package/esm2022/accordion/accordion.component.mjs +0 -25
  66. package/esm2022/accordion/accordion.module.mjs +0 -25
  67. package/esm2022/accordion/bootkit-ng0-accordion.mjs +0 -5
  68. package/esm2022/accordion/public-api.mjs +0 -4
  69. package/esm2022/bootkit-ng0.mjs +0 -5
  70. package/esm2022/collapse/bootkit-ng0-collapse.mjs +0 -5
  71. package/esm2022/collapse/collapse.component.mjs +0 -46
  72. package/esm2022/collapse/collapse.directive.mjs +0 -94
  73. package/esm2022/collapse/collapse.module.mjs +0 -23
  74. package/esm2022/collapse/public-api.mjs +0 -4
  75. package/esm2022/common/bootkit-ng0-common.mjs +0 -5
  76. package/esm2022/common/public-api.mjs +0 -3
  77. package/esm2022/common/types.mjs +0 -3
  78. package/esm2022/common/utils.mjs +0 -16
  79. package/esm2022/lib/index.mjs +0 -3
  80. package/esm2022/lib/types.mjs +0 -2
  81. package/esm2022/modal/bootkit-ng0-modal.mjs +0 -5
  82. package/esm2022/modal/modal.component.mjs +0 -44
  83. package/esm2022/modal/modal.module.mjs +0 -20
  84. package/esm2022/modal/public-api.mjs +0 -3
  85. package/esm2022/modal/types.mjs +0 -3
  86. package/esm2022/nav/bootkit-ng0-nav.mjs +0 -5
  87. package/esm2022/nav/nav-item.directive.mjs +0 -26
  88. package/esm2022/nav/nav-link.directive.mjs +0 -45
  89. package/esm2022/nav/nav.directive.mjs +0 -23
  90. package/esm2022/nav/nav.module.mjs +0 -35
  91. package/esm2022/nav/public-api.mjs +0 -7
  92. package/esm2022/nav/tab-content.component.mjs +0 -29
  93. package/esm2022/nav/tab-pane.directive.mjs +0 -20
  94. package/esm2022/offcanvas/bootkit-ng0-offcanvas.mjs +0 -5
  95. package/esm2022/offcanvas/offcanvas.directive.mjs +0 -118
  96. package/esm2022/offcanvas/offcanvas.module.mjs +0 -19
  97. package/esm2022/offcanvas/public-api.mjs +0 -3
  98. package/esm2022/overlay/bootkit-ng0-overlay.mjs +0 -5
  99. package/esm2022/overlay/overlay.directive.mjs +0 -111
  100. package/esm2022/overlay/overlay.module.mjs +0 -22
  101. package/esm2022/overlay/private/utils.mjs +0 -58
  102. package/esm2022/overlay/public-api.mjs +0 -3
  103. package/esm2022/popover/bootkit-ng0-popover.mjs +0 -5
  104. package/esm2022/popover/popover-wrapper/popover-wrapper.component.mjs +0 -29
  105. package/esm2022/popover/popover.directive.mjs +0 -140
  106. package/esm2022/popover/public-api.mjs +0 -2
  107. package/esm2022/popover/types.mjs +0 -2
  108. package/esm2022/public-api.mjs +0 -5
  109. package/esm2022/toast/bootkit-ng0-toast.mjs +0 -5
  110. package/esm2022/toast/public-api.mjs +0 -4
  111. package/esm2022/toast/toast-ref.mjs +0 -27
  112. package/esm2022/toast/toast.component.mjs +0 -68
  113. package/esm2022/toast/toast.service.mjs +0 -93
  114. package/esm2022/toast/types.mjs +0 -2
  115. package/esm2022/tooltip/bootkit-ng0-tooltip.mjs +0 -5
  116. package/esm2022/tooltip/public-api.mjs +0 -3
  117. package/esm2022/tooltip/tooltip-wrapper/tooltip-wrapper.component.mjs +0 -44
  118. package/esm2022/tooltip/tooltip.directive.mjs +0 -93
  119. package/esm2022/tooltip/types.mjs +0 -2
  120. package/fesm2022/bootkit-ng0-accordion.mjs.map +0 -1
  121. package/fesm2022/bootkit-ng0-collapse.mjs.map +0 -1
  122. package/fesm2022/bootkit-ng0-modal.mjs.map +0 -1
  123. package/fesm2022/bootkit-ng0-nav.mjs.map +0 -1
  124. package/fesm2022/bootkit-ng0-offcanvas.mjs.map +0 -1
  125. package/fesm2022/bootkit-ng0-overlay.mjs +0 -194
  126. package/fesm2022/bootkit-ng0-overlay.mjs.map +0 -1
  127. package/fesm2022/bootkit-ng0-popover.mjs.map +0 -1
  128. package/fesm2022/bootkit-ng0-toast.mjs.map +0 -1
  129. package/fesm2022/bootkit-ng0-tooltip.mjs.map +0 -1
  130. package/lib/index.d.ts +0 -2
  131. package/lib/types.d.ts +0 -1
  132. package/modal/index.d.ts +0 -5
  133. package/modal/modal.component.d.ts +0 -18
  134. package/modal/modal.module.d.ts +0 -7
  135. package/modal/public-api.d.ts +0 -2
  136. package/modal/types.d.ts +0 -2
  137. package/nav/index.d.ts +0 -5
  138. package/nav/nav-item.directive.d.ts +0 -13
  139. package/nav/nav-link.directive.d.ts +0 -16
  140. package/nav/nav.directive.d.ts +0 -11
  141. package/nav/nav.module.d.ts +0 -11
  142. package/nav/public-api.d.ts +0 -6
  143. package/nav/tab-content.component.d.ts +0 -15
  144. package/nav/tab-pane.directive.d.ts +0 -9
  145. package/offcanvas/index.d.ts +0 -5
  146. package/offcanvas/offcanvas.module.d.ts +0 -7
  147. package/offcanvas/public-api.d.ts +0 -2
  148. package/overlay/index.d.ts +0 -5
  149. package/overlay/overlay.directive.d.ts +0 -50
  150. package/overlay/overlay.module.d.ts +0 -10
  151. package/overlay/private/utils.d.ts +0 -10
  152. package/overlay/public-api.d.ts +0 -2
  153. package/popover/index.d.ts +0 -5
  154. package/popover/popover-wrapper/popover-wrapper.component.d.ts +0 -15
  155. package/popover/popover.directive.d.ts +0 -30
  156. package/popover/public-api.d.ts +0 -1
  157. package/popover/types.d.ts +0 -4
  158. package/public-api.d.ts +0 -1
  159. package/toast/index.d.ts +0 -5
  160. package/toast/public-api.d.ts +0 -3
  161. package/toast/toast-ref.d.ts +0 -12
  162. package/toast/toast.component.d.ts +0 -19
  163. package/toast/toast.service.d.ts +0 -43
  164. package/toast/types.d.ts +0 -44
  165. package/tooltip/index.d.ts +0 -5
  166. package/tooltip/public-api.d.ts +0 -2
  167. package/tooltip/tooltip-wrapper/tooltip-wrapper.component.d.ts +0 -19
  168. package/tooltip/tooltip.directive.d.ts +0 -24
  169. package/tooltip/types.d.ts +0 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootkit-ng0-components-nav.mjs","sources":["../../../projects/ng0/components/nav/nav.directive.ts","../../../projects/ng0/components/nav/nav-item.directive.ts","../../../projects/ng0/components/nav/nav-link.directive.ts","../../../projects/ng0/components/nav/tab-pane.directive.ts","../../../projects/ng0/components/nav/tab-content.component.ts","../../../projects/ng0/components/nav/tab-content.component.html","../../../projects/ng0/components/nav/nav.module.ts","../../../projects/ng0/components/nav/bootkit-ng0-components-nav.ts"],"sourcesContent":["import { Directive, ElementRef, Renderer2, input, model } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[ng0Nav]',\r\n exportAs: 'ng0Nav',\r\n standalone: true,\r\n})\r\nexport class NavDirective {\r\n activeItem = model<any>(0);\r\n disabled = input(false);\r\n\r\n constructor(private _elementRef: ElementRef, private _renderer: Renderer2) {\r\n }\r\n}\r\n","import { Directive, ElementRef, Renderer2, input } from '@angular/core';\r\nimport { NavDirective } from './nav.directive';\r\n\r\n@Directive({\r\n selector: '[ng0NavItem]',\r\n exportAs: 'ng0NavItem',\r\n standalone: true,\r\n})\r\nexport class NavItemDirective {\r\n id = input.required<any>({alias: 'ng0NavItem'});\r\n disabled = input(false);\r\n\r\n constructor(public elementRef: ElementRef, private _renderer: Renderer2, private _nav: NavDirective) {\r\n }\r\n}\r\n","import { Directive, ElementRef, HostBinding, HostListener, Renderer2, input } from '@angular/core';\r\nimport { NavDirective } from './nav.directive';\r\nimport { NavItemDirective } from './nav-item.directive';\r\n\r\n@Directive({\r\n selector: '[ng0NavLink]',\r\n exportAs: 'ng0NavLink',\r\n standalone: true,\r\n})\r\nexport class NavLinkDirective {\r\n constructor(public elementRef: ElementRef, private _renderer: Renderer2, private _nav: NavDirective, private _navItem: NavItemDirective) {\r\n }\r\n\r\n @HostListener('click')\r\n private _onClick() {\r\n this._nav.activeItem.set(this._navItem.id);\r\n }\r\n\r\n @HostBinding('class.active') \r\n private get _active() {\r\n return this._nav.activeItem() === this._navItem.id();\r\n }\r\n\r\n @HostBinding('class.disabled') \r\n private get _disabled() {\r\n return this._nav.disabled() || this._navItem.disabled();\r\n }\r\n}\r\n","import { Directive, input, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[ng0TabPane]',\r\n exportAs: 'ng0TabPane',\r\n standalone: true,\r\n})\r\nexport class TabPaneDirective {\r\n id = input.required<any>({alias: 'ng0TabPane'});\r\n \r\n constructor(public templateRef: TemplateRef<any>) {\r\n }\r\n}\r\n","import { Component, ContentChildren, QueryList, ElementRef, Renderer2, OnInit, input, ChangeDetectionStrategy } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TabPaneDirective } from './tab-pane.directive';\r\nimport { NavDirective } from './nav.directive';\r\n\r\n@Component({\r\n selector: 'ng0-tab-content',\r\n exportAs: 'ng0TabContent',\r\n templateUrl: './tab-content.component.html',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [CommonModule]\r\n})\r\nexport class TabContentComponent implements OnInit {\r\n nav = input.required<NavDirective>();\r\n\r\n @ContentChildren(TabPaneDirective) protected _panes: QueryList<TabPaneDirective>;\r\n\r\n disabled = input(false);\r\n\r\n constructor(private _elementRef: ElementRef, private _renderer: Renderer2) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this._renderer.addClass(this._elementRef.nativeElement, 'tab-content');\r\n }\r\n}\r\n","@for (pane of _panes; track $index) {\r\n @if(pane.id() === nav().activeItem()) {\r\n <ng-container *ngTemplateOutlet=\"pane.templateRef;\"></ng-container>\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { NavDirective } from './nav.directive';\r\nimport { NavLinkDirective } from './nav-link.directive';\r\nimport { TabContentComponent } from './tab-content.component';\r\nimport { TabPaneDirective } from './tab-pane.directive';\r\nimport { NavItemDirective } from './nav-item.directive';\r\n\r\nconst items = [\r\n NavDirective,\r\n NavItemDirective,\r\n NavLinkDirective,\r\n TabContentComponent,\r\n TabPaneDirective\r\n];\r\n\r\n@NgModule({\r\n imports: items,\r\n exports: items\r\n})\r\nexport class NavModule {\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NavDirective","i2.NavItemDirective"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, EventEmitter, afterNextRender, effect, untracked, Directive, Output, HostListener, NgModule } from '@angular/core';
2
+ import { input, EventEmitter, afterNextRender, effect, untracked, HostListener, Output, Directive, NgModule } from '@angular/core';
3
3
 
4
4
  class OffcanvasDirective {
5
5
  _el;
@@ -100,10 +100,10 @@ class OffcanvasDirective {
100
100
  ngOnDestroy() {
101
101
  this._destroyBackdrop();
102
102
  }
103
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: OffcanvasDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
104
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: OffcanvasDirective, isStandalone: true, selector: "[ng0Offcanvas]", inputs: { show: { classPropertyName: "show", publicName: "show", isSignal: true, isRequired: false, transformFunction: null }, hasBackdrop: { classPropertyName: "hasBackdrop", publicName: "hasBackdrop", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { backdropClick: "backdropClick" }, host: { listeners: { "transitionend": "_onTransitionend($event)" } }, exportAs: ["ng0Offcanvas"], ngImport: i0 });
103
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: OffcanvasDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
104
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.6", type: OffcanvasDirective, isStandalone: true, selector: "[ng0Offcanvas]", inputs: { show: { classPropertyName: "show", publicName: "show", isSignal: true, isRequired: false, transformFunction: null }, hasBackdrop: { classPropertyName: "hasBackdrop", publicName: "hasBackdrop", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { backdropClick: "backdropClick" }, host: { listeners: { "transitionend": "_onTransitionend($event)" } }, exportAs: ["ng0Offcanvas"], ngImport: i0 });
105
105
  }
106
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: OffcanvasDirective, decorators: [{
106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: OffcanvasDirective, decorators: [{
107
107
  type: Directive,
108
108
  args: [{
109
109
  selector: '[ng0Offcanvas]',
@@ -121,11 +121,11 @@ const items = [
121
121
  OffcanvasDirective,
122
122
  ];
123
123
  class OffcanvasModule {
124
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: OffcanvasModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
125
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.11", ngImport: i0, type: OffcanvasModule, imports: [OffcanvasDirective], exports: [OffcanvasDirective] });
126
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: OffcanvasModule });
124
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: OffcanvasModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
125
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.6", ngImport: i0, type: OffcanvasModule, imports: [OffcanvasDirective], exports: [OffcanvasDirective] });
126
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: OffcanvasModule });
127
127
  }
128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: OffcanvasModule, decorators: [{
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: OffcanvasModule, decorators: [{
129
129
  type: NgModule,
130
130
  args: [{
131
131
  imports: items,
@@ -138,4 +138,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
138
138
  */
139
139
 
140
140
  export { OffcanvasDirective, OffcanvasModule };
141
- //# sourceMappingURL=bootkit-ng0-offcanvas.mjs.map
141
+ //# sourceMappingURL=bootkit-ng0-components-offcanvas.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootkit-ng0-components-offcanvas.mjs","sources":["../../../projects/ng0/components/offcanvas/offcanvas.directive.ts","../../../projects/ng0/components/offcanvas/offcanvas.module.ts","../../../projects/ng0/components/offcanvas/bootkit-ng0-components-offcanvas.ts"],"sourcesContent":["import { OnInit, ElementRef, Renderer2, effect, HostListener, Directive, input, Output, EventEmitter, OnDestroy, afterNextRender, untracked } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[ng0Offcanvas]',\r\n exportAs: 'ng0Offcanvas',\r\n standalone: true,\r\n})\r\nexport class OffcanvasDirective implements OnInit, OnDestroy {\r\n public show = input(false);\r\n public hasBackdrop = input(false);\r\n\r\n @Output()\r\n public backdropClick = new EventEmitter<MouseEvent>;\r\n\r\n private _firstShowEffectRun = true;\r\n private _firstBackdropEffectRun = true;\r\n private _backdropElement?: any;\r\n private _backdropClickUnlistenFunc?: any;\r\n private _backdropTransitionendUnlistenFunc?: any;\r\n private addClass = (c: string) => this._renderer.addClass(this._el.nativeElement, c);\r\n\r\n constructor(private _el: ElementRef, private _renderer: Renderer2) {\r\n\r\n afterNextRender(() => {\r\n if (this.show() && this.hasBackdrop()) {\r\n this._createBackdrop();\r\n }\r\n });\r\n\r\n effect(() => {\r\n var show = this.show();\r\n var backdrop = untracked(() => this.hasBackdrop());\r\n\r\n if (this._firstShowEffectRun) {\r\n if (show) {\r\n this.addClass('show');\r\n }\r\n this._firstShowEffectRun = false;\r\n return;\r\n }\r\n\r\n\r\n if (show) {\r\n this.addClass('show');\r\n if (backdrop)\r\n this._createBackdrop();\r\n } else {\r\n this.addClass('hiding');\r\n this._hideBackdrop(); // we first hide backdrop, after hide transition completed, we destroy it.\r\n }\r\n });\r\n\r\n effect(() => {\r\n var backdrop = this.hasBackdrop();\r\n var show = untracked(() => this.show());\r\n\r\n if (this._firstBackdropEffectRun) {\r\n this._firstBackdropEffectRun = false;\r\n return;\r\n }\r\n\r\n if (show) {\r\n if (backdrop)\r\n this._createBackdrop();\r\n else\r\n this._destroyBackdrop();\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n private _createBackdrop() {\r\n if (!this._backdropElement) {\r\n this._backdropElement = this._renderer.createElement('div');\r\n ['offcanvas-backdrop', 'fade', 'show'].forEach(c => this._renderer.addClass(this._backdropElement, c));\r\n\r\n // Append the new element next to the host element\r\n const parent = this._renderer.parentNode(this._el.nativeElement);\r\n const nextSibling = this._renderer.nextSibling(this._el.nativeElement);\r\n this._renderer.insertBefore(parent, this._backdropElement, nextSibling);\r\n\r\n this._backdropClickUnlistenFunc = this._renderer.listen(this._backdropElement, 'click', (e) => {\r\n this.backdropClick.emit(e);\r\n });\r\n\r\n this._backdropTransitionendUnlistenFunc = this._renderer.listen(this._backdropElement, 'transitionend', (e) => {\r\n if (!this.show()) {\r\n this._destroyBackdrop();\r\n }\r\n });\r\n }\r\n }\r\n\r\n private _destroyBackdrop() {\r\n if (this._backdropElement) {\r\n const parent = this._renderer.parentNode(this._el.nativeElement);\r\n this._renderer.removeChild(parent, this._backdropElement, false);\r\n this._backdropClickUnlistenFunc()\r\n\r\n this._backdropClickUnlistenFunc = undefined;\r\n this._backdropElement = undefined\r\n }\r\n }\r\n\r\n private _hideBackdrop() {\r\n if (this._backdropElement) {\r\n this._renderer.removeClass(this._backdropElement, 'show');\r\n }\r\n }\r\n\r\n @HostListener('transitionend', ['$event'])\r\n private _onTransitionend(e: TransitionEvent): void {\r\n if (!this.show() && e.propertyName == 'transform') {\r\n ['show', 'hiding'].forEach(x => this._renderer.removeClass(this._el.nativeElement, x));\r\n // if (this.backdrop())\r\n // this._destroyBackdrop();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._destroyBackdrop()\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { OffcanvasDirective } from './offcanvas.directive';\r\n\r\nconst items = [\r\n OffcanvasDirective,\r\n];\r\n\r\n@NgModule({\r\n imports: items,\r\n exports: items\r\n})\r\nexport class OffcanvasModule {\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ import { flipPlacement } from '@bootkit/ng0/common';
2
+
3
+ /**
4
+ * Get the overlay position based on the provided placement and alignment.
5
+ *
6
+ * @param placement - The placement of the overlay (e.g., 'bottom', 'top', 'start', 'end').
7
+ * @param alignment - The alignment of the overlay (e.g., 'start', 'center', 'end').
8
+ * @returns The connected position for the overlay.
9
+ */
10
+ function getConnectedPosition(placement, alignment) {
11
+ let pos = {};
12
+ switch (placement) {
13
+ case 'bottom':
14
+ pos.originY = 'bottom';
15
+ pos.overlayY = 'top';
16
+ pos.originX = alignment;
17
+ pos.overlayX = alignment;
18
+ break;
19
+ case 'top':
20
+ pos.originY = 'top';
21
+ pos.overlayY = 'bottom';
22
+ pos.originX = alignment;
23
+ pos.overlayX = alignment;
24
+ break;
25
+ case 'start':
26
+ pos.originX = 'start';
27
+ pos.overlayX = 'end';
28
+ if (alignment == 'start') {
29
+ pos.originY = 'top';
30
+ pos.overlayY = 'top';
31
+ }
32
+ else if (alignment == 'center') {
33
+ pos.originY = 'center';
34
+ pos.overlayY = 'center';
35
+ }
36
+ else {
37
+ pos.originY = 'bottom';
38
+ pos.overlayY = 'bottom';
39
+ }
40
+ break;
41
+ case 'end':
42
+ pos.originX = 'end';
43
+ pos.overlayX = 'start';
44
+ if (alignment == 'start') {
45
+ pos.originY = 'top';
46
+ pos.overlayY = 'top';
47
+ }
48
+ else if (alignment == 'center') {
49
+ pos.originY = 'center';
50
+ pos.overlayY = 'center';
51
+ }
52
+ else {
53
+ pos.originY = 'bottom';
54
+ pos.overlayY = 'bottom';
55
+ }
56
+ break;
57
+ }
58
+ return pos;
59
+ }
60
+ function getConnectedPositions(placement, alignment, includeFlippedPlacement = true) {
61
+ return [
62
+ getConnectedPosition(placement, alignment),
63
+ ...(includeFlippedPlacement ? [getConnectedPosition(flipPlacement(placement), alignment)] : []),
64
+ ];
65
+ }
66
+
67
+ // Positions
68
+ const START_START_POS = getConnectedPosition('start', 'start');
69
+ const START_CENTER_POS = getConnectedPosition('start', 'center');
70
+ const START_END_POS = getConnectedPosition('start', 'end');
71
+ const END_START_POS = getConnectedPosition('end', 'start');
72
+ const END_CENTER_POS = getConnectedPosition('end', 'center');
73
+ const END_END_POS = getConnectedPosition('end', 'end');
74
+ const TOP_START_POS = getConnectedPosition('top', 'start');
75
+ const TOP_END_POS = getConnectedPosition('top', 'end');
76
+ const TOP_CENTER_POS = getConnectedPosition('top', 'center');
77
+ const BOTTOM_START_POS = getConnectedPosition('bottom', 'start');
78
+ const BOTTOM_CENTER_POS = getConnectedPosition('bottom', 'center');
79
+ const BOTTOM_END_POS = getConnectedPosition('bottom', 'end');
80
+ // Flipped positions
81
+ const START_START_FLIPPED_POS = getConnectedPositions('start', 'start');
82
+ const START_CENTER_FLIPPED_POS = getConnectedPositions('start', 'center');
83
+ const START_END_FLIPPED_POS = getConnectedPositions('start', 'end');
84
+ const END_START_FLIPPED_POS = getConnectedPositions('end', 'start');
85
+ const END_CENTER_FLIPPED_POS = getConnectedPositions('end', 'center');
86
+ const END_END_FLIPPED_POS = getConnectedPositions('end', 'end');
87
+ const TOP_START_FLIPPED_POS = getConnectedPositions('top', 'start');
88
+ const TOP_END_FLIPPED_POS = getConnectedPositions('top', 'end');
89
+ const TOP_CENTER_FLIPPED_POS = getConnectedPositions('top', 'center');
90
+ const BOTTOM_START_FLIPPED_POS = getConnectedPositions('bottom', 'start');
91
+ const BOTTOM_CENTER_FLIPPED_POS = getConnectedPositions('bottom', 'center');
92
+ const BOTTOM_END_FLIPPED_POS = getConnectedPositions('bottom', 'end');
93
+
94
+ /**
95
+ * Generated bundle index. Do not edit.
96
+ */
97
+
98
+ export { BOTTOM_CENTER_FLIPPED_POS, BOTTOM_CENTER_POS, BOTTOM_END_FLIPPED_POS, BOTTOM_END_POS, BOTTOM_START_FLIPPED_POS, BOTTOM_START_POS, END_CENTER_FLIPPED_POS, END_CENTER_POS, END_END_FLIPPED_POS, END_END_POS, END_START_FLIPPED_POS, END_START_POS, START_CENTER_FLIPPED_POS, START_CENTER_POS, START_END_FLIPPED_POS, START_END_POS, START_START_FLIPPED_POS, START_START_POS, TOP_CENTER_FLIPPED_POS, TOP_CENTER_POS, TOP_END_FLIPPED_POS, TOP_END_POS, TOP_START_FLIPPED_POS, TOP_START_POS, getConnectedPosition, getConnectedPositions };
99
+ //# sourceMappingURL=bootkit-ng0-components-overlay.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootkit-ng0-components-overlay.mjs","sources":["../../../projects/ng0/components/overlay/utils.ts","../../../projects/ng0/components/overlay/positions.ts","../../../projects/ng0/components/overlay/bootkit-ng0-components-overlay.ts"],"sourcesContent":["import { ConnectedPosition } from \"@angular/cdk/overlay\";\r\nimport { Alignment, flipPlacement, Placement } from \"@bootkit/ng0/common\";\r\n\r\n/**\r\n * Get the overlay position based on the provided placement and alignment.\r\n * \r\n * @param placement - The placement of the overlay (e.g., 'bottom', 'top', 'start', 'end').\r\n * @param alignment - The alignment of the overlay (e.g., 'start', 'center', 'end').\r\n * @returns The connected position for the overlay.\r\n */\r\nexport function getConnectedPosition(placement: Placement, alignment: Alignment): ConnectedPosition {\r\n let pos = {} as ConnectedPosition;\r\n\r\n switch (placement) {\r\n case 'bottom':\r\n pos.originY = 'bottom';\r\n pos.overlayY = 'top';\r\n pos.originX = alignment;\r\n pos.overlayX = alignment;\r\n break;\r\n case 'top':\r\n pos.originY = 'top';\r\n pos.overlayY = 'bottom';\r\n pos.originX = alignment;\r\n pos.overlayX = alignment;\r\n break;\r\n case 'start':\r\n pos.originX = 'start';\r\n pos.overlayX = 'end';\r\n\r\n if (alignment == 'start') {\r\n pos.originY = 'top';\r\n pos.overlayY = 'top';\r\n } else if (alignment == 'center') {\r\n pos.originY = 'center';\r\n pos.overlayY = 'center';\r\n } else {\r\n pos.originY = 'bottom';\r\n pos.overlayY = 'bottom';\r\n }\r\n break;\r\n case 'end':\r\n pos.originX = 'end';\r\n pos.overlayX = 'start';\r\n\r\n if (alignment == 'start') {\r\n pos.originY = 'top';\r\n pos.overlayY = 'top';\r\n } else if (alignment == 'center') {\r\n pos.originY = 'center';\r\n pos.overlayY = 'center';\r\n } else {\r\n pos.originY = 'bottom';\r\n pos.overlayY = 'bottom';\r\n }\r\n break;\r\n }\r\n\r\n return pos;\r\n}\r\n\r\nexport function getConnectedPositions(placement: Placement, alignment: Alignment, includeFlippedPlacement = true): ConnectedPosition[] {\r\n return [\r\n getConnectedPosition(placement, alignment),\r\n ...(includeFlippedPlacement ? [getConnectedPosition(flipPlacement(placement), alignment)] : []),\r\n ] ;\r\n}\r\n","import { getConnectedPosition, getConnectedPositions } from \"./utils\";\r\n\r\n// Positions\r\nexport const START_START_POS = getConnectedPosition('start', 'start');\r\nexport const START_CENTER_POS = getConnectedPosition('start', 'center');\r\nexport const START_END_POS = getConnectedPosition('start', 'end');\r\n\r\nexport const END_START_POS = getConnectedPosition('end', 'start');\r\nexport const END_CENTER_POS = getConnectedPosition('end', 'center');\r\nexport const END_END_POS = getConnectedPosition('end', 'end');\r\n\r\nexport const TOP_START_POS = getConnectedPosition('top', 'start');\r\nexport const TOP_END_POS = getConnectedPosition('top', 'end');\r\nexport const TOP_CENTER_POS = getConnectedPosition('top', 'center');\r\n\r\nexport const BOTTOM_START_POS = getConnectedPosition('bottom', 'start');\r\nexport const BOTTOM_CENTER_POS = getConnectedPosition('bottom', 'center');\r\nexport const BOTTOM_END_POS = getConnectedPosition('bottom', 'end');\r\n\r\n\r\n// Flipped positions\r\nexport const START_START_FLIPPED_POS = getConnectedPositions('start', 'start');\r\nexport const START_CENTER_FLIPPED_POS = getConnectedPositions('start', 'center');\r\nexport const START_END_FLIPPED_POS = getConnectedPositions('start', 'end');\r\n\r\nexport const END_START_FLIPPED_POS = getConnectedPositions('end', 'start');\r\nexport const END_CENTER_FLIPPED_POS = getConnectedPositions('end', 'center');\r\nexport const END_END_FLIPPED_POS = getConnectedPositions('end', 'end');\r\n\r\nexport const TOP_START_FLIPPED_POS = getConnectedPositions('top', 'start');\r\nexport const TOP_END_FLIPPED_POS = getConnectedPositions('top', 'end');\r\nexport const TOP_CENTER_FLIPPED_POS = getConnectedPositions('top', 'center');\r\n\r\nexport const BOTTOM_START_FLIPPED_POS = getConnectedPositions('bottom', 'start');\r\nexport const BOTTOM_CENTER_FLIPPED_POS = getConnectedPositions('bottom', 'center');\r\nexport const BOTTOM_END_FLIPPED_POS = getConnectedPositions('bottom', 'end');","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, input, computed, Output, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
3
+
4
+ class PaginationComponent {
5
+ itemClick = new EventEmitter();
6
+ totalRecords = input.required();
7
+ pageSize = input(10);
8
+ /**
9
+ * Selected page. starts from 1.
10
+ */
11
+ selectedPage = input(1);
12
+ maxVisiblePages = input(10);
13
+ showNextButton = input(true);
14
+ showPreviousButton = input(true);
15
+ showFirstButton = input(true);
16
+ showLastButton = input(true);
17
+ get totalPagesCount() { return this._totalPagesCount; }
18
+ _totalPagesCount;
19
+ _visiblePages = computed(() => {
20
+ let selectedPage = this.selectedPage();
21
+ let totalRecords = this.totalRecords();
22
+ let pageSize = this.pageSize();
23
+ if (!Number.isInteger(totalRecords) || totalRecords < 0) {
24
+ throw new Error('Total items must be a posotive integer.');
25
+ }
26
+ if (!Number.isInteger(pageSize) || pageSize <= 0) {
27
+ throw new Error('Page size must be a posotive integer.');
28
+ }
29
+ this._totalPagesCount = Math.ceil(totalRecords / pageSize);
30
+ if (selectedPage < 1 || selectedPage > this._totalPagesCount) {
31
+ throw new Error(`Selected page must be between 1 and ${this._totalPagesCount}.`);
32
+ }
33
+ let indices = [];
34
+ let firstVisiblePage = selectedPage;
35
+ let lastVisiblePage = firstVisiblePage;
36
+ let maxVisiblePages = this.maxVisiblePages();
37
+ indices.push(firstVisiblePage);
38
+ for (let i = 1; i <= maxVisiblePages; i++) {
39
+ if (lastVisiblePage < this._totalPagesCount) {
40
+ lastVisiblePage++;
41
+ indices.push(lastVisiblePage);
42
+ }
43
+ if (indices.length >= maxVisiblePages) {
44
+ break;
45
+ }
46
+ if (firstVisiblePage > 1) {
47
+ firstVisiblePage--;
48
+ indices.unshift(firstVisiblePage);
49
+ }
50
+ }
51
+ return indices;
52
+ });
53
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: PaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
54
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: PaginationComponent, isStandalone: true, selector: "ng0-pagination", inputs: { totalRecords: { classPropertyName: "totalRecords", publicName: "totalRecords", isSignal: true, isRequired: true, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, selectedPage: { classPropertyName: "selectedPage", publicName: "selectedPage", isSignal: true, isRequired: false, transformFunction: null }, maxVisiblePages: { classPropertyName: "maxVisiblePages", publicName: "maxVisiblePages", isSignal: true, isRequired: false, transformFunction: null }, showNextButton: { classPropertyName: "showNextButton", publicName: "showNextButton", isSignal: true, isRequired: false, transformFunction: null }, showPreviousButton: { classPropertyName: "showPreviousButton", publicName: "showPreviousButton", isSignal: true, isRequired: false, transformFunction: null }, showFirstButton: { classPropertyName: "showFirstButton", publicName: "showFirstButton", isSignal: true, isRequired: false, transformFunction: null }, showLastButton: { classPropertyName: "showLastButton", publicName: "showLastButton", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemClick: "itemClick" }, exportAs: ["ng0Pagination"], ngImport: i0, template: "@let _selectedPage = selectedPage();\r\n\r\n<nav>\r\n <ul class=\"pagination\">\r\n @if(showFirstButton()) {\r\n <li class=\"page-item\" [class.disabled]=\"_selectedPage <= 1\">\r\n <button class=\"page-link\" (click)=\"itemClick.emit(1)\">\r\n <ng-content select=\"first\">\r\n First\r\n </ng-content>\r\n </button>\r\n </li>\r\n }\r\n\r\n @if(showPreviousButton()) {\r\n <li class=\"page-item\" [class.disabled]=\"_selectedPage <= 1\">\r\n <button class=\"page-link\" (click)=\"itemClick.emit(_selectedPage - 1)\">\r\n <ng-content select=\"previous\">\r\n Previous\r\n </ng-content>\r\n </button>\r\n </li>\r\n }\r\n\r\n @for (page of _visiblePages(); track page) {\r\n <li class=\"page-item\" [class.active]=\"_selectedPage === page\">\r\n <button class=\"page-link\" (click)=\"itemClick.emit(page)\">\r\n {{page}}\r\n </button>\r\n </li>\r\n }\r\n\r\n @if(showNextButton()) {\r\n <li class=\"page-item\" [class.disabled]=\"_selectedPage >= _totalPagesCount\">\r\n <button class=\"page-link\" (click)=\"itemClick.emit(_selectedPage + 1)\">\r\n <ng-content select=\"next\">\r\n Next\r\n </ng-content>\r\n </button>\r\n </li>\r\n }\r\n\r\n @if(showLastButton()) {\r\n <li class=\"page-item\" [class.disabled]=\"_selectedPage >= _totalPagesCount\">\r\n <button class=\"page-link\" (click)=\"itemClick.emit(_totalPagesCount)\">\r\n <ng-content select=\"last\">\r\n Last\r\n </ng-content>\r\n </button>\r\n </li>\r\n }\r\n </ul>\r\n</nav>", changeDetection: i0.ChangeDetectionStrategy.OnPush });
55
+ }
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: PaginationComponent, decorators: [{
57
+ type: Component,
58
+ args: [{ selector: 'ng0-pagination', exportAs: 'ng0Pagination', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "@let _selectedPage = selectedPage();\r\n\r\n<nav>\r\n <ul class=\"pagination\">\r\n @if(showFirstButton()) {\r\n <li class=\"page-item\" [class.disabled]=\"_selectedPage <= 1\">\r\n <button class=\"page-link\" (click)=\"itemClick.emit(1)\">\r\n <ng-content select=\"first\">\r\n First\r\n </ng-content>\r\n </button>\r\n </li>\r\n }\r\n\r\n @if(showPreviousButton()) {\r\n <li class=\"page-item\" [class.disabled]=\"_selectedPage <= 1\">\r\n <button class=\"page-link\" (click)=\"itemClick.emit(_selectedPage - 1)\">\r\n <ng-content select=\"previous\">\r\n Previous\r\n </ng-content>\r\n </button>\r\n </li>\r\n }\r\n\r\n @for (page of _visiblePages(); track page) {\r\n <li class=\"page-item\" [class.active]=\"_selectedPage === page\">\r\n <button class=\"page-link\" (click)=\"itemClick.emit(page)\">\r\n {{page}}\r\n </button>\r\n </li>\r\n }\r\n\r\n @if(showNextButton()) {\r\n <li class=\"page-item\" [class.disabled]=\"_selectedPage >= _totalPagesCount\">\r\n <button class=\"page-link\" (click)=\"itemClick.emit(_selectedPage + 1)\">\r\n <ng-content select=\"next\">\r\n Next\r\n </ng-content>\r\n </button>\r\n </li>\r\n }\r\n\r\n @if(showLastButton()) {\r\n <li class=\"page-item\" [class.disabled]=\"_selectedPage >= _totalPagesCount\">\r\n <button class=\"page-link\" (click)=\"itemClick.emit(_totalPagesCount)\">\r\n <ng-content select=\"last\">\r\n Last\r\n </ng-content>\r\n </button>\r\n </li>\r\n }\r\n </ul>\r\n</nav>" }]
59
+ }], propDecorators: { itemClick: [{
60
+ type: Output
61
+ }] } });
62
+
63
+ class PaginationModule {
64
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: PaginationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
65
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.6", ngImport: i0, type: PaginationModule, imports: [PaginationComponent], exports: [PaginationComponent] });
66
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: PaginationModule });
67
+ }
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: PaginationModule, decorators: [{
69
+ type: NgModule,
70
+ args: [{
71
+ imports: [
72
+ PaginationComponent
73
+ ],
74
+ exports: [
75
+ PaginationComponent
76
+ ]
77
+ }]
78
+ }] });
79
+
80
+ /**
81
+ * Generated bundle index. Do not edit.
82
+ */
83
+
84
+ export { PaginationComponent, PaginationModule };
85
+ //# sourceMappingURL=bootkit-ng0-components-pagination.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootkit-ng0-components-pagination.mjs","sources":["../../../projects/ng0/components/pagination/pagination.component.ts","../../../projects/ng0/components/pagination/pagination.component.html","../../../projects/ng0/components/pagination/pagination.module.ts","../../../projects/ng0/components/pagination/bootkit-ng0-components-pagination.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy, Input, input, computed, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ng0-pagination',\r\n exportAs: 'ng0Pagination',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n templateUrl: './pagination.component.html',\r\n standalone: true,\r\n})\r\nexport class PaginationComponent {\r\n @Output() itemClick = new EventEmitter<number>();\r\n totalRecords = input.required<number>();\r\n pageSize = input<number>(10);\r\n\r\n /** \r\n * Selected page. starts from 1.\r\n */\r\n selectedPage = input<number>(1);\r\n maxVisiblePages = input<number>(10);\r\n showNextButton = input<boolean>(true);\r\n showPreviousButton = input<boolean>(true);\r\n showFirstButton = input<boolean>(true);\r\n showLastButton = input<boolean>(true);\r\n get totalPagesCount() { return this._totalPagesCount; }\r\n\r\n protected _totalPagesCount: number;\r\n\r\n protected _visiblePages = computed(() => {\r\n let selectedPage = this.selectedPage();\r\n let totalRecords = this.totalRecords();\r\n let pageSize = this.pageSize();\r\n\r\n if (!Number.isInteger(totalRecords) || totalRecords < 0) {\r\n throw new Error('Total items must be a posotive integer.');\r\n }\r\n\r\n if (!Number.isInteger(pageSize) || pageSize <= 0) {\r\n throw new Error('Page size must be a posotive integer.');\r\n }\r\n\r\n this._totalPagesCount = Math.ceil(totalRecords / pageSize);\r\n\r\n if (selectedPage < 1 || selectedPage > this._totalPagesCount) {\r\n throw new Error(`Selected page must be between 1 and ${this._totalPagesCount}.`);\r\n }\r\n\r\n let indices = [];\r\n let firstVisiblePage = selectedPage;\r\n let lastVisiblePage = firstVisiblePage;\r\n let maxVisiblePages = this.maxVisiblePages();\r\n indices.push(firstVisiblePage);\r\n\r\n for (let i = 1; i <= maxVisiblePages; i++) {\r\n if (lastVisiblePage < this._totalPagesCount) {\r\n lastVisiblePage++;\r\n indices.push(lastVisiblePage);\r\n }\r\n\r\n if (indices.length >= maxVisiblePages) {\r\n break;\r\n }\r\n\r\n if (firstVisiblePage > 1) {\r\n firstVisiblePage--;\r\n indices.unshift(firstVisiblePage);\r\n }\r\n }\r\n\r\n return indices;\r\n });\r\n}\r\n","@let _selectedPage = selectedPage();\r\n\r\n<nav>\r\n <ul class=\"pagination\">\r\n @if(showFirstButton()) {\r\n <li class=\"page-item\" [class.disabled]=\"_selectedPage <= 1\">\r\n <button class=\"page-link\" (click)=\"itemClick.emit(1)\">\r\n <ng-content select=\"first\">\r\n First\r\n </ng-content>\r\n </button>\r\n </li>\r\n }\r\n\r\n @if(showPreviousButton()) {\r\n <li class=\"page-item\" [class.disabled]=\"_selectedPage <= 1\">\r\n <button class=\"page-link\" (click)=\"itemClick.emit(_selectedPage - 1)\">\r\n <ng-content select=\"previous\">\r\n Previous\r\n </ng-content>\r\n </button>\r\n </li>\r\n }\r\n\r\n @for (page of _visiblePages(); track page) {\r\n <li class=\"page-item\" [class.active]=\"_selectedPage === page\">\r\n <button class=\"page-link\" (click)=\"itemClick.emit(page)\">\r\n {{page}}\r\n </button>\r\n </li>\r\n }\r\n\r\n @if(showNextButton()) {\r\n <li class=\"page-item\" [class.disabled]=\"_selectedPage >= _totalPagesCount\">\r\n <button class=\"page-link\" (click)=\"itemClick.emit(_selectedPage + 1)\">\r\n <ng-content select=\"next\">\r\n Next\r\n </ng-content>\r\n </button>\r\n </li>\r\n }\r\n\r\n @if(showLastButton()) {\r\n <li class=\"page-item\" [class.disabled]=\"_selectedPage >= _totalPagesCount\">\r\n <button class=\"page-link\" (click)=\"itemClick.emit(_totalPagesCount)\">\r\n <ng-content select=\"last\">\r\n Last\r\n </ng-content>\r\n </button>\r\n </li>\r\n }\r\n </ul>\r\n</nav>","import { NgModule } from '@angular/core';\r\nimport { PaginationComponent } from './pagination.component';\r\n\r\n@NgModule({\r\n imports: [\r\n PaginationComponent\r\n ],\r\n exports: [\r\n PaginationComponent\r\n ]\r\n})\r\nexport class PaginationModule {\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { TemplateRef, Component, ChangeDetectionStrategy, input, Directive, HostListener } from '@angular/core';
2
+ import { TemplateRef, ChangeDetectionStrategy, Component, input, HostListener, Directive } from '@angular/core';
3
3
  import { ComponentPortal } from '@angular/cdk/portal';
4
4
  import * as i1 from '@angular/common';
5
5
  import { CommonModule } from '@angular/common';
@@ -22,10 +22,10 @@ class PopoverWrapperComponent {
22
22
  this._renderer.setAttribute(e, 'role', 'tooltip');
23
23
  ['popover', 'fade', 'show', 'bs-popover-' + this.placement].forEach(c => this._renderer.addClass(e, c));
24
24
  }
25
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: PopoverWrapperComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
26
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.11", type: PopoverWrapperComponent, isStandalone: true, selector: "jss-popover-wrapper", exportAs: ["jssPopoverWrapper"], ngImport: i0, template: "<div class=\"popover-arrow\"></div>\r\n<h3 class=\"popover-header\" *ngIf=\"header\">{{header}}</h3>\r\n<div class=\"popover-body\">\r\n @if(_hasTemplate) {\r\n <ng-container [ngTemplateOutlet]=\"$any(content)\"></ng-container>\r\n }@else{\r\n {{content}}\r\n }\r\n</div>", styles: [":host{position:relative;margin:var(--bs-popover-arrow-height)}:host .popover-arrow{position:absolute}:host.bs-popover-top .popover-arrow{bottom:calc(-1 * var(--bs-popover-arrow-height));left:calc(50% - var(--bs-popover-arrow-width) / 2)}:host.bs-popover-bottom .popover-arrow{top:calc(-1 * var(--bs-popover-arrow-height));left:calc(50% - var(--bs-popover-arrow-width) / 2)}:host.bs-popover-start .popover-arrow{right:calc(-1 * var(--bs-popover-arrow-height));top:calc(50% - var(--bs-popover-arrow-width) / 2)}:host.bs-popover-end .popover-arrow{left:calc(-1 * var(--bs-popover-arrow-height));top:calc(50% - var(--bs-popover-arrow-width) / 2)}[dir=rtl] :host.bs-popover-start .popover-arrow{right:unset!important;left:calc(-1 * var(--bs-popover-arrow-height));transform:rotate(180deg)}[dir=rtl] :host.bs-popover-end .popover-arrow{left:unset!important;right:calc(-1 * var(--bs-popover-arrow-height));transform:rotate(180deg)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
25
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: PopoverWrapperComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
26
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: PopoverWrapperComponent, isStandalone: true, selector: "jss-popover-wrapper", exportAs: ["jssPopoverWrapper"], ngImport: i0, template: "<div class=\"popover-arrow\"></div>\r\n<h3 class=\"popover-header\" *ngIf=\"header\">{{header}}</h3>\r\n<div class=\"popover-body\">\r\n @if(_hasTemplate) {\r\n <ng-container [ngTemplateOutlet]=\"$any(content)\"></ng-container>\r\n }@else{\r\n {{content}}\r\n }\r\n</div>", styles: [":host{position:relative;margin:var(--bs-popover-arrow-height)}:host .popover-arrow{position:absolute}:host.bs-popover-top .popover-arrow{bottom:calc(-1 * var(--bs-popover-arrow-height));left:calc(50% - var(--bs-popover-arrow-width) / 2)}:host.bs-popover-bottom .popover-arrow{top:calc(-1 * var(--bs-popover-arrow-height));left:calc(50% - var(--bs-popover-arrow-width) / 2)}:host.bs-popover-start .popover-arrow{right:calc(-1 * var(--bs-popover-arrow-height));top:calc(50% - var(--bs-popover-arrow-width) / 2)}:host.bs-popover-end .popover-arrow{left:calc(-1 * var(--bs-popover-arrow-height));top:calc(50% - var(--bs-popover-arrow-width) / 2)}[dir=rtl] :host.bs-popover-start .popover-arrow{right:unset!important;left:calc(-1 * var(--bs-popover-arrow-height));transform:rotate(180deg)}[dir=rtl] :host.bs-popover-end .popover-arrow{left:unset!important;right:calc(-1 * var(--bs-popover-arrow-height));transform:rotate(180deg)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
27
27
  }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: PopoverWrapperComponent, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: PopoverWrapperComponent, decorators: [{
29
29
  type: Component,
30
30
  args: [{ selector: 'jss-popover-wrapper', exportAs: 'jssPopoverWrapper', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule], template: "<div class=\"popover-arrow\"></div>\r\n<h3 class=\"popover-header\" *ngIf=\"header\">{{header}}</h3>\r\n<div class=\"popover-body\">\r\n @if(_hasTemplate) {\r\n <ng-container [ngTemplateOutlet]=\"$any(content)\"></ng-container>\r\n }@else{\r\n {{content}}\r\n }\r\n</div>", styles: [":host{position:relative;margin:var(--bs-popover-arrow-height)}:host .popover-arrow{position:absolute}:host.bs-popover-top .popover-arrow{bottom:calc(-1 * var(--bs-popover-arrow-height));left:calc(50% - var(--bs-popover-arrow-width) / 2)}:host.bs-popover-bottom .popover-arrow{top:calc(-1 * var(--bs-popover-arrow-height));left:calc(50% - var(--bs-popover-arrow-width) / 2)}:host.bs-popover-start .popover-arrow{right:calc(-1 * var(--bs-popover-arrow-height));top:calc(50% - var(--bs-popover-arrow-width) / 2)}:host.bs-popover-end .popover-arrow{left:calc(-1 * var(--bs-popover-arrow-height));top:calc(50% - var(--bs-popover-arrow-width) / 2)}[dir=rtl] :host.bs-popover-start .popover-arrow{right:unset!important;left:calc(-1 * var(--bs-popover-arrow-height));transform:rotate(180deg)}[dir=rtl] :host.bs-popover-end .popover-arrow{left:unset!important;right:calc(-1 * var(--bs-popover-arrow-height));transform:rotate(180deg)}\n"] }]
31
31
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }] });
@@ -135,10 +135,10 @@ class PopoverDirective {
135
135
  ngOnDestroy() {
136
136
  this._disposeOverlay();
137
137
  }
138
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: PopoverDirective, deps: [{ token: i1$1.Overlay }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
139
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: PopoverDirective, isStandalone: true, selector: "[ng0Popover]", inputs: { header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "ng0Popover", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, triggerBy: { classPropertyName: "triggerBy", publicName: "triggerBy", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "_onClick()", "dblclick": "_onDblclick()", "mouseenter": "_onMouseEnter()", "mouseleave": "_onMouseLeave()", "focus": "_onFocus()", "focusout": "_onFocusout()" } }, exportAs: ["ng0Popover"], ngImport: i0 });
138
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: PopoverDirective, deps: [{ token: i1$1.Overlay }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
139
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.6", type: PopoverDirective, isStandalone: true, selector: "[ng0Popover]", inputs: { header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "ng0Popover", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, triggerBy: { classPropertyName: "triggerBy", publicName: "triggerBy", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "_onClick()", "dblclick": "_onDblclick()", "mouseenter": "_onMouseEnter()", "mouseleave": "_onMouseLeave()", "focus": "_onFocus()", "focusout": "_onFocusout()" } }, exportAs: ["ng0Popover"], ngImport: i0 });
140
140
  }
141
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: PopoverDirective, decorators: [{
141
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: PopoverDirective, decorators: [{
142
142
  type: Directive,
143
143
  args: [{
144
144
  selector: '[ng0Popover]',
@@ -170,4 +170,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
170
170
  */
171
171
 
172
172
  export { PopoverDirective };
173
- //# sourceMappingURL=bootkit-ng0-popover.mjs.map
173
+ //# sourceMappingURL=bootkit-ng0-components-popover.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootkit-ng0-components-popover.mjs","sources":["../../../projects/ng0/components/popover/popover-wrapper/popover-wrapper.component.ts","../../../projects/ng0/components/popover/popover-wrapper/popover-wrapper.component.html","../../../projects/ng0/components/popover/popover.directive.ts","../../../projects/ng0/components/popover/bootkit-ng0-components-popover.ts"],"sourcesContent":["import { Component, ElementRef, Renderer2, ChangeDetectionStrategy, OnInit, TemplateRef } from '@angular/core';\r\nimport { PopoverContent, PopoverPlacement } from '../types';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'jss-popover-wrapper',\r\n exportAs: 'jssPopoverWrapper',\r\n styleUrls: ['./popover-wrapper.component.scss'],\r\n templateUrl: './popover-wrapper.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true,\r\n imports: [CommonModule]\r\n})\r\nexport class PopoverWrapperComponent implements OnInit {\r\n placement!: PopoverPlacement;\r\n header?: string;\r\n content: PopoverContent;\r\n protected _hasTemplate!: boolean;\r\n\r\n constructor(private _elementRef: ElementRef, private _renderer: Renderer2,) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this._hasTemplate = this.content instanceof TemplateRef;\r\n const e = this._elementRef.nativeElement;\r\n this._renderer.setAttribute(e, 'role', 'tooltip');\r\n ['popover', 'fade', 'show', 'bs-popover-' + this.placement].forEach(c => this._renderer.addClass(e, c));\r\n }\r\n}\r\n","<div class=\"popover-arrow\"></div>\r\n<h3 class=\"popover-header\" *ngIf=\"header\">{{header}}</h3>\r\n<div class=\"popover-body\">\r\n @if(_hasTemplate) {\r\n <ng-container [ngTemplateOutlet]=\"$any(content)\"></ng-container>\r\n }@else{\r\n {{content}}\r\n }\r\n</div>","import {\r\n Directive, TemplateRef, ViewContainerRef, OnDestroy, ElementRef, HostListener, OnInit,\r\n input\r\n} from '@angular/core';\r\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\nimport { PopoverWrapperComponent } from './popover-wrapper/popover-wrapper.component';\r\nimport { PopoverContent, PopoverPlacement, PopoverTrigger } from './types';\r\n\r\n@Directive({\r\n selector: '[ng0Popover]',\r\n exportAs: 'ng0Popover',\r\n standalone: true\r\n})\r\nexport class PopoverDirective implements OnInit, OnDestroy {\r\n public header = input<string>();\r\n public content = input<PopoverContent>(undefined, { alias: 'ng0Popover' });\r\n public placement = input<PopoverPlacement>('bottom');\r\n public triggerBy = input<PopoverTrigger>('click');\r\n\r\n private _portal!: ComponentPortal<PopoverWrapperComponent>;\r\n private _overlayRef?: OverlayRef;\r\n\r\n constructor(\r\n private _overlayService: Overlay,\r\n private _elementRef: ElementRef,\r\n private _viewRef: ViewContainerRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this._portal = new ComponentPortal(PopoverWrapperComponent, this._viewRef);\r\n }\r\n\r\n private _createOverlay(): void {\r\n let wrapperInstance: PopoverWrapperComponent;\r\n\r\n const scrollStrategy = this._overlayService.scrollStrategies.reposition();\r\n const positionStrategy = this._overlayService.position()\r\n .flexibleConnectedTo(this._elementRef)\r\n .withPositions(this._getPositions());\r\n\r\n positionStrategy.positionChanges.subscribe(p => {\r\n // wrapperInstance.placement = (p.connectionPair as any).key;\r\n });\r\n\r\n this._overlayRef = this._overlayService.create({ scrollStrategy, positionStrategy });\r\n\r\n wrapperInstance = this._overlayRef.attach(this._portal).instance;\r\n wrapperInstance.header = this.header();\r\n wrapperInstance.content = this.content();\r\n wrapperInstance.placement = this.placement();\r\n }\r\n\r\n private _disposeOverlay(): void {\r\n if (this._overlayRef) {\r\n this._overlayRef.dispose();\r\n this._overlayRef = undefined;\r\n }\r\n }\r\n\r\n private _toggleOverlay() {\r\n if (this._overlayRef) {\r\n this._disposeOverlay();\r\n } else {\r\n this._createOverlay();\r\n }\r\n }\r\n\r\n private _getPositions(): any[] {\r\n const c = 'center', t = 'top', b = 'bottom', s = 'start', e = 'end';\r\n const top = { key: t, originX: c, originY: t, overlayX: c, overlayY: b, };\r\n const bottom = { key: b, originX: c, originY: b, overlayX: c, overlayY: t, };\r\n const start = { key: s, originX: s, originY: c, overlayX: e, overlayY: c, };\r\n const end = { key: e, originX: e, originY: c, overlayX: s, overlayY: c, };\r\n\r\n let positions: Array<any>;\r\n\r\n switch (this.placement()) {\r\n case 'bottom':\r\n positions = [bottom, top];\r\n break;\r\n case 'start':\r\n positions = [start, start];\r\n break;\r\n case 'end':\r\n positions = [end, start];\r\n break;\r\n case 'top':\r\n positions = [top, bottom];\r\n break;\r\n default:\r\n positions = [bottom, top];\r\n }\r\n\r\n return positions;\r\n }\r\n\r\n @HostListener('click') private _onClick(): void {\r\n if (this.triggerBy() === 'click') {\r\n this._toggleOverlay()\r\n }\r\n }\r\n\r\n @HostListener('dblclick') private _onDblclick(): void {\r\n if (this.triggerBy() === 'dblclick') {\r\n this._toggleOverlay()\r\n }\r\n }\r\n\r\n @HostListener('mouseenter') private _onMouseEnter(): void {\r\n if (this.triggerBy() === 'hover') {\r\n this._toggleOverlay()\r\n }\r\n }\r\n\r\n @HostListener('mouseleave') private _onMouseLeave(): void {\r\n if (this.triggerBy() === 'hover') {\r\n this._toggleOverlay()\r\n }\r\n }\r\n\r\n @HostListener('focus') private _onFocus(): void {\r\n if (this.triggerBy() === 'focus') {\r\n this._toggleOverlay()\r\n }\r\n }\r\n\r\n @HostListener('focusout') private _onFocusout(): void {\r\n if (this.triggerBy() === 'focus') {\r\n this._toggleOverlay()\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._disposeOverlay();\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { Subject, timer } from 'rxjs';
2
2
  import { ComponentPortal } from '@angular/cdk/portal';
3
3
  import * as i0 from '@angular/core';
4
- import { TemplateRef, Component, ChangeDetectionStrategy, HostBinding, Injectable } from '@angular/core';
5
- import { trigger, transition, style, animate, state } from '@angular/animations';
4
+ import { TemplateRef, HostBinding, ChangeDetectionStrategy, Component, Injectable } from '@angular/core';
5
+ import { trigger, transition, state, style, animate } from '@angular/animations';
6
6
  import * as i1 from '@angular/common';
7
7
  import { CommonModule } from '@angular/common';
8
8
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
@@ -61,8 +61,8 @@ class ToastComponent {
61
61
  this._changeDetectorRef.markForCheck();
62
62
  });
63
63
  }
64
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ToastComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component });
65
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.11", type: ToastComponent, isStandalone: true, selector: "ng0-toast", host: { properties: { "@host": "this._show" } }, exportAs: ["ng0Toast"], ngImport: i0, template: "<div class=\"toast-header\" *ngIf=\"this._config.header\">\r\n @if(_hasHeaderTemplate) {\r\n <ng-container [ngTemplateOutlet]=\"$any(_config.header)\"></ng-container>\r\n }@else {\r\n <span *ngIf=\"_config.icon\" class=\"me-2\" [ngClass]=\"_config.icon\"></span>\r\n <strong class=\"me-auto\">{{this._config.header}}</strong>\r\n <small *ngIf=\"_config.hint\">{{_config.hint}}</small>\r\n <button *ngIf=\"_config?.closeButton == undefined || _config?.closeButton\"\r\n type=\"button\"\r\n class=\"btn-close\"\r\n aria-label=\"Close\"\r\n (click)=\"toastRef.close()\">\r\n </button>\r\n }\r\n</div>\r\n\r\n<div class=\"toast-body\" *ngIf=\"this._config.body\">\r\n @if(_hasBodyTemplate) {\r\n <ng-container [ngTemplateOutlet]=\"$any(_config.body)\"></ng-container>\r\n }@else {\r\n {{this._config.body}}\r\n }\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [
64
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ToastComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component });
65
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: ToastComponent, isStandalone: true, selector: "ng0-toast", host: { properties: { "@host": "this._show" } }, exportAs: ["ng0Toast"], ngImport: i0, template: "<div class=\"toast-header\" *ngIf=\"this._config.header\">\r\n @if(_hasHeaderTemplate) {\r\n <ng-container [ngTemplateOutlet]=\"$any(_config.header)\"></ng-container>\r\n }@else {\r\n <span *ngIf=\"_config.icon\" class=\"me-2\" [ngClass]=\"_config.icon\"></span>\r\n <strong class=\"me-auto\">{{this._config.header}}</strong>\r\n <small *ngIf=\"_config.hint\">{{_config.hint}}</small>\r\n <button *ngIf=\"_config?.closeButton == undefined || _config?.closeButton\"\r\n type=\"button\"\r\n class=\"btn-close\"\r\n aria-label=\"Close\"\r\n (click)=\"toastRef.close()\">\r\n </button>\r\n }\r\n</div>\r\n\r\n<div class=\"toast-body\" *ngIf=\"this._config.body\">\r\n @if(_hasBodyTemplate) {\r\n <ng-container [ngTemplateOutlet]=\"$any(_config.body)\"></ng-container>\r\n }@else {\r\n {{this._config.body}}\r\n }\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [
66
66
  trigger('host', [
67
67
  transition(':enter', [
68
68
  style({ opacity: 0, transform: 'scale(.85)' }),
@@ -75,7 +75,7 @@ class ToastComponent {
75
75
  ]),
76
76
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush });
77
77
  }
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ToastComponent, decorators: [{
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ToastComponent, decorators: [{
79
79
  type: Component,
80
80
  args: [{ selector: 'ng0-toast', exportAs: 'ng0Toast', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
81
81
  CommonModule,
@@ -173,10 +173,10 @@ class ToastService {
173
173
  }, config?.duration ?? 3000);
174
174
  return this._toastRef;
175
175
  }
176
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ToastService, deps: [{ token: i1$1.Overlay }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
177
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ToastService, providedIn: 'root' });
176
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ToastService, deps: [{ token: i1$1.Overlay }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
177
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ToastService, providedIn: 'root' });
178
178
  }
179
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ToastService, decorators: [{
179
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ToastService, decorators: [{
180
180
  type: Injectable,
181
181
  args: [{
182
182
  providedIn: 'root'
@@ -188,4 +188,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
188
188
  */
189
189
 
190
190
  export { ToastRef, ToastService };
191
- //# sourceMappingURL=bootkit-ng0-toast.mjs.map
191
+ //# sourceMappingURL=bootkit-ng0-components-toast.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootkit-ng0-components-toast.mjs","sources":["../../../projects/ng0/components/toast/toast-ref.ts","../../../projects/ng0/components/toast/toast.component.ts","../../../projects/ng0/components/toast/toast.component.html","../../../projects/ng0/components/toast/toast.service.ts","../../../projects/ng0/components/toast/bootkit-ng0-components-toast.ts"],"sourcesContent":["import { OverlayRef } from \"@angular/cdk/overlay\";\r\nimport { Subject, timer } from \"rxjs\";\r\nimport { ToastConfig } from \"./types\";\r\n\r\nexport class ToastRef {\r\n private _isOpen = true;\r\n private _closedSubject = new Subject<any>();\r\n public closed = this._closedSubject.asObservable();\r\n\r\n constructor(public readonly config: ToastConfig, private overlayRef: OverlayRef) {\r\n }\r\n\r\n public get isOpen() {\r\n return this._isOpen;\r\n }\r\n\r\n public close() {\r\n if (this._isOpen) {\r\n this._closedSubject.next(0);\r\n this._isOpen = false;\r\n\r\n // Wait to ':leave' animation is done and then dispose the overlay\r\n timer(100).subscribe(x => {\r\n this.overlayRef.detach();\r\n this.overlayRef.dispose();\r\n });\r\n }\r\n }\r\n}\r\n","import { trigger, style, transition, animate, state } from '@angular/animations';\r\nimport { Component, OnInit, ChangeDetectionStrategy, DestroyRef, ChangeDetectorRef, HostBinding, Renderer2, ElementRef, TemplateRef } from '@angular/core';\r\nimport { ToastConfig } from './types';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ToastRef } from './toast-ref';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\n\r\n@Component({\r\n selector: 'ng0-toast',\r\n exportAs: 'ng0Toast',\r\n templateUrl: 'toast.component.html',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n CommonModule,\r\n ],\r\n animations: [\r\n trigger('host', [\r\n transition(':enter', [\r\n style({ opacity: 0, transform: 'scale(.85)' }),\r\n animate('.1s', style({ opacity: '1', transform: 'scale(1)' })),\r\n ]),\r\n state('false', style({ opacity: 0, transform: 'scale(.85)' })),\r\n transition('true => false', [\r\n animate('.1s'),\r\n ]),\r\n ]),\r\n ],\r\n})\r\nexport class ToastComponent implements OnInit {\r\n public toastRef!: ToastRef;\r\n protected _config!: ToastConfig;\r\n @HostBinding('@host') protected _show = true;\r\n protected _hasBodyTemplate!: boolean;\r\n protected _hasHeaderTemplate!: boolean;\r\n\r\n constructor(\r\n private _changeDetectorRef: ChangeDetectorRef,\r\n private _renderer: Renderer2,\r\n private _elementRef: ElementRef,\r\n private _destroyRef: DestroyRef) {\r\n \r\n }\r\n\r\n ngOnInit(): void {\r\n this._config = this.toastRef.config;\r\n this._hasHeaderTemplate = this._config.header instanceof TemplateRef;\r\n this._hasBodyTemplate = this._config.body instanceof TemplateRef;\r\n \r\n let style = this._config.style ?? 'success';\r\n ['toast', 'show', `text-bg-${style}`].forEach(x => this._renderer.addClass(this._elementRef.nativeElement, x));\r\n this.toastRef.closed.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(x => {\r\n this._show = false;\r\n this._changeDetectorRef.markForCheck();\r\n })\r\n }\r\n}\r\n","<div class=\"toast-header\" *ngIf=\"this._config.header\">\r\n @if(_hasHeaderTemplate) {\r\n <ng-container [ngTemplateOutlet]=\"$any(_config.header)\"></ng-container>\r\n }@else {\r\n <span *ngIf=\"_config.icon\" class=\"me-2\" [ngClass]=\"_config.icon\"></span>\r\n <strong class=\"me-auto\">{{this._config.header}}</strong>\r\n <small *ngIf=\"_config.hint\">{{_config.hint}}</small>\r\n <button *ngIf=\"_config?.closeButton == undefined || _config?.closeButton\"\r\n type=\"button\"\r\n class=\"btn-close\"\r\n aria-label=\"Close\"\r\n (click)=\"toastRef.close()\">\r\n </button>\r\n }\r\n</div>\r\n\r\n<div class=\"toast-body\" *ngIf=\"this._config.body\">\r\n @if(_hasBodyTemplate) {\r\n <ng-container [ngTemplateOutlet]=\"$any(_config.body)\"></ng-container>\r\n }@else {\r\n {{this._config.body}}\r\n }\r\n</div>","import { Overlay } from '@angular/cdk/overlay';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\nimport { Injectable, Injector } from '@angular/core';\r\nimport { ToastComponent } from './toast.component';\r\nimport { ToastConfig } from './types';\r\nimport { ToastRef } from './toast-ref';\r\n\r\n\r\n/**\r\n * Service for displaying toast notifications in the application.\r\n *\r\n * The `ToastService` provides methods to open toast messages with customizable content,\r\n * header, style, position, and duration. It manages the lifecycle of toast notifications,\r\n * ensuring only one toast is visible at a time.\r\n *\r\n * @example\r\n * // Open a simple toast\r\n * toastService.open('Message body', 'Header', 'success');\r\n *\r\n * @example\r\n * // Open a toast with configuration\r\n * toastService.open({\r\n * body: 'Message body',\r\n * header: 'Header',\r\n * style: 'success',\r\n * verticalPosition: 'bottom',\r\n * horizontalPosition: 'end',\r\n * duration: 5000\r\n * });\r\n *\r\n * @remarks\r\n * - Only one toast can be displayed at a time; opening a new toast closes the previous one.\r\n * - The toast will automatically close after the specified duration (default: 3000ms).\r\n *\r\n * @publicApi\r\n */\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ToastService {\r\n private _toastRef: ToastRef;\r\n\r\n constructor(private _overlayService: Overlay, private _injector: Injector) { }\r\n\r\n open(body: string, header?: string, style?: string): ToastRef;\r\n open(config: ToastConfig): ToastRef;\r\n open(p: any): ToastRef {\r\n if (this._toastRef) {\r\n this._toastRef.close();\r\n }\r\n\r\n const config: ToastConfig =\r\n typeof p === 'object' ? p :\r\n { body: arguments[0], header: arguments[1], style: arguments[2] } as ToastConfig;\r\n\r\n var portal = new ComponentPortal(ToastComponent, null, this._injector);\r\n\r\n // Position\r\n var vertical = config.verticalPosition ?? 'top';\r\n var horizontal = config.horizontalPosition ?? 'center';\r\n var posStrategy = this._overlayService.position().global();\r\n const padding = '1rem';\r\n\r\n switch (vertical) {\r\n case 'top':\r\n posStrategy = posStrategy.top(padding)\r\n break;\r\n case 'bottom':\r\n posStrategy = posStrategy.bottom(padding)\r\n break;\r\n }\r\n\r\n switch (horizontal) {\r\n case 'center':\r\n posStrategy = posStrategy.centerHorizontally();\r\n break;\r\n case 'end':\r\n posStrategy = posStrategy.end(padding);\r\n break;\r\n case 'start':\r\n posStrategy = posStrategy.start(padding);\r\n break;\r\n }\r\n\r\n var overlayRef = this._overlayService.create({\r\n positionStrategy: posStrategy,\r\n });\r\n\r\n var componentRef = overlayRef.attach(portal);\r\n componentRef.instance.toastRef = this._toastRef = new ToastRef(config, overlayRef);\r\n\r\n setTimeout(() => {\r\n this._toastRef.close();\r\n }, config?.duration ?? 3000);\r\n\r\n return this._toastRef;\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { TemplateRef, Component, ChangeDetectionStrategy, input, Directive, HostListener } from '@angular/core';
2
+ import { TemplateRef, ChangeDetectionStrategy, Component, input, HostListener, Directive } from '@angular/core';
3
3
  import { ComponentPortal } from '@angular/cdk/portal';
4
4
  import * as i1 from '@angular/common';
5
5
  import { CommonModule } from '@angular/common';
@@ -33,10 +33,10 @@ class TooltipWrapperComponent {
33
33
  this.hasTemplate = content instanceof TemplateRef;
34
34
  this.changeDetectorRef.markForCheck();
35
35
  }
36
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: TooltipWrapperComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
37
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.11", type: TooltipWrapperComponent, isStandalone: true, selector: "ng0-tooltip-wrapper", host: { properties: { "class.bs-tooltip-top": "placement == \"top\"", "class.bs-tooltip-bottom": "placement == \"bottom\"", "class.bs-tooltip-start": "placement == \"start\"", "class.bs-tooltip-end": "placement == \"end\"" } }, exportAs: ["ng0TooltipWrapper"], ngImport: i0, template: "<div class=\"tooltip-arrow\"></div>\r\n<div class=\"tooltip-inner\">\r\n @if(hasTemplate) {\r\n <ng-container [ngTemplateOutlet]=\"$any(content)\"></ng-container>\r\n }@else{\r\n {{content}}\r\n }\r\n</div>", styles: [":host{position:relative;padding:var(--bs-tooltip-arrow-height)}:host .tooltip-arrow{position:absolute}:host.bs-tooltip-top .tooltip-arrow{bottom:0;left:calc(50% - var(--bs-tooltip-arrow-width) / 2)}:host.bs-tooltip-bottom .tooltip-arrow{top:0;left:calc(50% - var(--bs-tooltip-arrow-width) / 2)}:host.bs-tooltip-start .tooltip-arrow{right:0;top:calc(50% - var(--bs-tooltip-arrow-width) / 2)}[dir=rtl] :host.bs-tooltip-start .tooltip-arrow{right:unset!important;left:0;transform:rotate(180deg)}:host.bs-tooltip-end .tooltip-arrow{left:0;top:calc(50% - var(--bs-tooltip-arrow-width) / 2)}[dir=rtl] :host.bs-tooltip-end .tooltip-arrow{left:unset!important;right:0;transform:rotate(180deg)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
36
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TooltipWrapperComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
37
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: TooltipWrapperComponent, isStandalone: true, selector: "ng0-tooltip-wrapper", host: { properties: { "class.bs-tooltip-top": "placement == \"top\"", "class.bs-tooltip-bottom": "placement == \"bottom\"", "class.bs-tooltip-start": "placement == \"start\"", "class.bs-tooltip-end": "placement == \"end\"" } }, exportAs: ["ng0TooltipWrapper"], ngImport: i0, template: "<div class=\"tooltip-arrow\"></div>\r\n<div class=\"tooltip-inner\">\r\n @if(hasTemplate) {\r\n <ng-container [ngTemplateOutlet]=\"$any(content)\"></ng-container>\r\n }@else{\r\n {{content}}\r\n }\r\n</div>", styles: [":host{position:relative;padding:var(--bs-tooltip-arrow-height)}:host .tooltip-arrow{position:absolute}:host.bs-tooltip-top .tooltip-arrow{bottom:0;left:calc(50% - var(--bs-tooltip-arrow-width) / 2)}:host.bs-tooltip-bottom .tooltip-arrow{top:0;left:calc(50% - var(--bs-tooltip-arrow-width) / 2)}:host.bs-tooltip-start .tooltip-arrow{right:0;top:calc(50% - var(--bs-tooltip-arrow-width) / 2)}[dir=rtl] :host.bs-tooltip-start .tooltip-arrow{right:unset!important;left:0;transform:rotate(180deg)}:host.bs-tooltip-end .tooltip-arrow{left:0;top:calc(50% - var(--bs-tooltip-arrow-width) / 2)}[dir=rtl] :host.bs-tooltip-end .tooltip-arrow{left:unset!important;right:0;transform:rotate(180deg)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: TooltipWrapperComponent, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TooltipWrapperComponent, decorators: [{
40
40
  type: Component,
41
41
  args: [{ selector: 'ng0-tooltip-wrapper', exportAs: 'ng0TooltipWrapper', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule], host: {
42
42
  '[class.bs-tooltip-top]': 'placement == "top"',
@@ -115,10 +115,10 @@ class TooltipDirective {
115
115
  ngOnDestroy() {
116
116
  this.disposeOverlay();
117
117
  }
118
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: TooltipDirective, deps: [{ token: i1$1.Overlay }, { token: i0.ElementRef }, { token: i0.DestroyRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
119
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: TooltipDirective, isStandalone: true, selector: "[ng0Tooltip]", inputs: { content: { classPropertyName: "content", publicName: "ng0Tooltip", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()" } }, exportAs: ["ng0Tooltip"], ngImport: i0 });
118
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TooltipDirective, deps: [{ token: i1$1.Overlay }, { token: i0.ElementRef }, { token: i0.DestroyRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
119
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.6", type: TooltipDirective, isStandalone: true, selector: "[ng0Tooltip]", inputs: { content: { classPropertyName: "content", publicName: "ng0Tooltip", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()" } }, exportAs: ["ng0Tooltip"], ngImport: i0 });
120
120
  }
121
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: TooltipDirective, decorators: [{
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TooltipDirective, decorators: [{
122
122
  type: Directive,
123
123
  args: [{
124
124
  selector: '[ng0Tooltip]',
@@ -138,4 +138,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
138
138
  */
139
139
 
140
140
  export { TooltipDirective };
141
- //# sourceMappingURL=bootkit-ng0-tooltip.mjs.map
141
+ //# sourceMappingURL=bootkit-ng0-components-tooltip.mjs.map