taon-ui 0.0.2

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 (211) hide show
  1. package/assets/shared/shared_folder_info.txt +7 -0
  2. package/browser/README.md +24 -0
  3. package/browser/fesm2022/taon-ui.mjs +1232 -0
  4. package/browser/fesm2022/taon-ui.mjs.map +1 -0
  5. package/browser/index.d.ts +6 -0
  6. package/browser/lib/index.d.ts +4 -0
  7. package/browser/lib/layouts/index.d.ts +2 -0
  8. package/browser/lib/layouts/taon-bootstrap-navbar/index.d.ts +2 -0
  9. package/browser/lib/layouts/taon-bootstrap-navbar/taon-bootstrap-navbar.component.d.ts +10 -0
  10. package/browser/lib/taon.models.d.ts +12 -0
  11. package/browser/lib/ui/directives/index.d.ts +4 -0
  12. package/browser/lib/ui/directives/safe.pipe.d.ts +11 -0
  13. package/browser/lib/ui/directives/taon-inject-html.directive.d.ts +10 -0
  14. package/browser/lib/ui/directives/taon-long-press.directive.d.ts +26 -0
  15. package/browser/lib/ui/index.d.ts +10 -0
  16. package/browser/lib/ui/taon-admin-mode-configuration/index.d.ts +3 -0
  17. package/browser/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.d.ts +47 -0
  18. package/browser/lib/ui/taon-admin-mode-configuration/taon-admin.models.d.ts +6 -0
  19. package/browser/lib/ui/taon-full-material.module.d.ts +50 -0
  20. package/browser/lib/ui/taon-github-fork-me-corner/index.d.ts +3 -0
  21. package/browser/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.d.ts +7 -0
  22. package/browser/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.d.ts +9 -0
  23. package/browser/lib/ui/taon-notifications/index.d.ts +5 -0
  24. package/browser/lib/ui/taon-notifications/taon-notifications.component.d.ts +13 -0
  25. package/browser/lib/ui/taon-notifications/taon-notifications.models.d.ts +7 -0
  26. package/browser/lib/ui/taon-notifications/taon-notifications.module.d.ts +8 -0
  27. package/browser/lib/ui/taon-notifications/taon-notifications.service.d.ts +15 -0
  28. package/browser/lib/ui/taon-progress-bar/index.d.ts +3 -0
  29. package/browser/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +17 -0
  30. package/browser/lib/ui/taon-progress-bar/taon-progress-bar.module.d.ts +9 -0
  31. package/browser/lib/ui/taon-session-passcode/index.d.ts +2 -0
  32. package/browser/lib/ui/taon-session-passcode/taon-session-passcode.component.d.ts +39 -0
  33. package/browser/lib/ui/taon-table/index.d.ts +3 -0
  34. package/browser/lib/ui/taon-table/taon-table.component.d.ts +38 -0
  35. package/browser/lib/ui/taon-table/taon-table.module.d.ts +17 -0
  36. package/browser/package.json +13 -0
  37. package/browser/public-api.d.ts +2 -0
  38. package/cli.d.ts +1 -0
  39. package/cli.js +8 -0
  40. package/cli.js.map +1 -0
  41. package/client/README.md +24 -0
  42. package/client/fesm2022/taon-ui.mjs +1232 -0
  43. package/client/fesm2022/taon-ui.mjs.map +1 -0
  44. package/client/index.d.ts +6 -0
  45. package/client/lib/index.d.ts +4 -0
  46. package/client/lib/layouts/index.d.ts +2 -0
  47. package/client/lib/layouts/taon-bootstrap-navbar/index.d.ts +2 -0
  48. package/client/lib/layouts/taon-bootstrap-navbar/taon-bootstrap-navbar.component.d.ts +10 -0
  49. package/client/lib/taon.models.d.ts +12 -0
  50. package/client/lib/ui/directives/index.d.ts +4 -0
  51. package/client/lib/ui/directives/safe.pipe.d.ts +11 -0
  52. package/client/lib/ui/directives/taon-inject-html.directive.d.ts +10 -0
  53. package/client/lib/ui/directives/taon-long-press.directive.d.ts +26 -0
  54. package/client/lib/ui/index.d.ts +10 -0
  55. package/client/lib/ui/taon-admin-mode-configuration/index.d.ts +3 -0
  56. package/client/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.d.ts +47 -0
  57. package/client/lib/ui/taon-admin-mode-configuration/taon-admin.models.d.ts +6 -0
  58. package/client/lib/ui/taon-full-material.module.d.ts +50 -0
  59. package/client/lib/ui/taon-github-fork-me-corner/index.d.ts +3 -0
  60. package/client/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.d.ts +7 -0
  61. package/client/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.d.ts +9 -0
  62. package/client/lib/ui/taon-notifications/index.d.ts +5 -0
  63. package/client/lib/ui/taon-notifications/taon-notifications.component.d.ts +13 -0
  64. package/client/lib/ui/taon-notifications/taon-notifications.models.d.ts +7 -0
  65. package/client/lib/ui/taon-notifications/taon-notifications.module.d.ts +8 -0
  66. package/client/lib/ui/taon-notifications/taon-notifications.service.d.ts +15 -0
  67. package/client/lib/ui/taon-progress-bar/index.d.ts +3 -0
  68. package/client/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +17 -0
  69. package/client/lib/ui/taon-progress-bar/taon-progress-bar.module.d.ts +9 -0
  70. package/client/lib/ui/taon-session-passcode/index.d.ts +2 -0
  71. package/client/lib/ui/taon-session-passcode/taon-session-passcode.component.d.ts +39 -0
  72. package/client/lib/ui/taon-table/index.d.ts +3 -0
  73. package/client/lib/ui/taon-table/taon-table.component.d.ts +38 -0
  74. package/client/lib/ui/taon-table/taon-table.module.d.ts +17 -0
  75. package/client/package.json +13 -0
  76. package/client/public-api.d.ts +2 -0
  77. package/index.d.ts +3 -0
  78. package/index.js +26 -0
  79. package/index.js.map +1 -0
  80. package/lib/build-info._auto-generated_.d.ts +3 -0
  81. package/lib/build-info._auto-generated_.js +9 -0
  82. package/lib/build-info._auto-generated_.js.map +1 -0
  83. package/lib/index._auto-generated_.d.ts +0 -0
  84. package/lib/index._auto-generated_.js +6 -0
  85. package/lib/index._auto-generated_.js.map +1 -0
  86. package/lib/index.d.ts +3 -0
  87. package/lib/index.js +5 -0
  88. package/lib/index.js.map +1 -0
  89. package/lib/layouts/index.d.ts +1 -0
  90. package/lib/layouts/index.js +18 -0
  91. package/lib/layouts/index.js.map +1 -0
  92. package/lib/layouts/taon-bootstrap-navbar/index.d.ts +1 -0
  93. package/lib/layouts/taon-bootstrap-navbar/index.js +5 -0
  94. package/lib/layouts/taon-bootstrap-navbar/index.js.map +1 -0
  95. package/lib/layouts/taon-bootstrap-navbar/taon-bootstrap-navbar.component.d.ts +6 -0
  96. package/lib/my-organization-proj.d.ts +1 -0
  97. package/lib/my-organization-proj.js +6 -0
  98. package/lib/my-organization-proj.js.map +1 -0
  99. package/lib/taon-admin-mode-configuration/index.d.ts +1 -0
  100. package/lib/taon-admin-mode-configuration/index.js +5 -0
  101. package/lib/taon-admin-mode-configuration/index.js.map +1 -0
  102. package/lib/taon-admin-mode-configuration/taon-admin-mode-configuration.component.d.ts +43 -0
  103. package/lib/taon-admin-mode-configuration/taon-admin.models.d.ts +5 -0
  104. package/lib/taon-admin-mode-configuration/taon-admin.models.js +3 -0
  105. package/lib/taon-admin-mode-configuration/taon-admin.models.js.map +1 -0
  106. package/lib/taon-admin-mode-configuration/taon-admin.service.d.ts +21 -0
  107. package/lib/taon.models.d.ts +11 -0
  108. package/lib/taon.models.js +3 -0
  109. package/lib/taon.models.js.map +1 -0
  110. package/lib/ui/directives/index.d.ts +3 -0
  111. package/lib/ui/directives/index.js +5 -0
  112. package/lib/ui/directives/index.js.map +1 -0
  113. package/lib/ui/directives/safe.pipe.d.ts +7 -0
  114. package/lib/ui/directives/taon-inject-html.directive.d.ts +6 -0
  115. package/lib/ui/directives/taon-long-press.directive.d.ts +22 -0
  116. package/lib/ui/directives/view-mode.d.ts +5 -0
  117. package/lib/ui/directives/view-mode.js +10 -0
  118. package/lib/ui/directives/view-mode.js.map +1 -0
  119. package/lib/ui/index.d.ts +9 -0
  120. package/lib/ui/index.js +5 -0
  121. package/lib/ui/index.js.map +1 -0
  122. package/lib/ui/taon-admin-mode-configuration/index.d.ts +2 -0
  123. package/lib/ui/taon-admin-mode-configuration/index.js +19 -0
  124. package/lib/ui/taon-admin-mode-configuration/index.js.map +1 -0
  125. package/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.d.ts +43 -0
  126. package/lib/ui/taon-admin-mode-configuration/taon-admin.models.d.ts +5 -0
  127. package/lib/ui/taon-admin-mode-configuration/taon-admin.models.js +3 -0
  128. package/lib/ui/taon-admin-mode-configuration/taon-admin.models.js.map +1 -0
  129. package/lib/ui/taon-admin-mode-configuration/taon-admin.service.d.ts +21 -0
  130. package/lib/ui/taon-full-material.module.d.ts +5 -0
  131. package/lib/ui/taon-github-fork-me-corner/index.d.ts +2 -0
  132. package/lib/ui/taon-github-fork-me-corner/index.js +5 -0
  133. package/lib/ui/taon-github-fork-me-corner/index.js.map +1 -0
  134. package/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.d.ts +3 -0
  135. package/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.d.ts +2 -0
  136. package/lib/ui/taon-github-fork-me-ribbon/index.d.ts +2 -0
  137. package/lib/ui/taon-github-fork-me-ribbon/index.js +5 -0
  138. package/lib/ui/taon-github-fork-me-ribbon/index.js.map +1 -0
  139. package/lib/ui/taon-github-fork-me-ribbon/taon-github-fork-me-ribbon.component.d.ts +3 -0
  140. package/lib/ui/taon-github-fork-me-ribbon/taon-github-fork-me-ribbon.module.d.ts +2 -0
  141. package/lib/ui/taon-notifications/index.d.ts +4 -0
  142. package/lib/ui/taon-notifications/index.js +24 -0
  143. package/lib/ui/taon-notifications/index.js.map +1 -0
  144. package/lib/ui/taon-notifications/taon-notifications.component.d.ts +9 -0
  145. package/lib/ui/taon-notifications/taon-notifications.models.d.ts +6 -0
  146. package/lib/ui/taon-notifications/taon-notifications.models.js +5 -0
  147. package/lib/ui/taon-notifications/taon-notifications.models.js.map +1 -0
  148. package/lib/ui/taon-notifications/taon-notifications.module.d.ts +2 -0
  149. package/lib/ui/taon-notifications/taon-notifications.service.d.ts +11 -0
  150. package/lib/ui/taon-progress-bar/index.d.ts +2 -0
  151. package/lib/ui/taon-progress-bar/index.js +5 -0
  152. package/lib/ui/taon-progress-bar/index.js.map +1 -0
  153. package/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +13 -0
  154. package/lib/ui/taon-progress-bar/taon-progress-bar.module.d.ts +2 -0
  155. package/lib/ui/taon-session-passcode/index.d.ts +1 -0
  156. package/lib/ui/taon-session-passcode/index.js +5 -0
  157. package/lib/ui/taon-session-passcode/index.js.map +1 -0
  158. package/lib/ui/taon-session-passcode/taon-session-passcode.component.d.ts +35 -0
  159. package/lib/ui/taon-table/index.d.ts +2 -0
  160. package/lib/ui/taon-table/index.js +5 -0
  161. package/lib/ui/taon-table/index.js.map +1 -0
  162. package/lib/ui/taon-table/taon-table.component.d.ts +34 -0
  163. package/lib/ui/taon-table/taon-table.module.d.ts +2 -0
  164. package/lib/ui/taon.models.d.ts +11 -0
  165. package/lib/ui/taon.models.js +3 -0
  166. package/lib/ui/taon.models.js.map +1 -0
  167. package/migrations/index.d.ts +1 -0
  168. package/migrations/index.js +19 -0
  169. package/migrations/index.js.map +1 -0
  170. package/migrations/migrations_index._auto-generated_.d.ts +0 -0
  171. package/migrations/migrations_index._auto-generated_.js +4 -0
  172. package/migrations/migrations_index._auto-generated_.js.map +1 -0
  173. package/package.json +29 -0
  174. package/src.d.ts +6 -0
  175. package/tmp-environment.json +43 -0
  176. package/websql/README.md +24 -0
  177. package/websql/fesm2022/taon-ui.mjs +1227 -0
  178. package/websql/fesm2022/taon-ui.mjs.map +1 -0
  179. package/websql/index.d.ts +6 -0
  180. package/websql/lib/index.d.ts +4 -0
  181. package/websql/lib/layouts/index.d.ts +2 -0
  182. package/websql/lib/layouts/taon-bootstrap-navbar/index.d.ts +2 -0
  183. package/websql/lib/layouts/taon-bootstrap-navbar/taon-bootstrap-navbar.component.d.ts +10 -0
  184. package/websql/lib/taon.models.d.ts +12 -0
  185. package/websql/lib/ui/directives/index.d.ts +4 -0
  186. package/websql/lib/ui/directives/safe.pipe.d.ts +11 -0
  187. package/websql/lib/ui/directives/taon-inject-html.directive.d.ts +10 -0
  188. package/websql/lib/ui/directives/taon-long-press.directive.d.ts +26 -0
  189. package/websql/lib/ui/index.d.ts +10 -0
  190. package/websql/lib/ui/taon-admin-mode-configuration/index.d.ts +3 -0
  191. package/websql/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.d.ts +47 -0
  192. package/websql/lib/ui/taon-admin-mode-configuration/taon-admin.models.d.ts +6 -0
  193. package/websql/lib/ui/taon-full-material.module.d.ts +50 -0
  194. package/websql/lib/ui/taon-github-fork-me-corner/index.d.ts +3 -0
  195. package/websql/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.d.ts +7 -0
  196. package/websql/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.d.ts +9 -0
  197. package/websql/lib/ui/taon-notifications/index.d.ts +5 -0
  198. package/websql/lib/ui/taon-notifications/taon-notifications.component.d.ts +13 -0
  199. package/websql/lib/ui/taon-notifications/taon-notifications.models.d.ts +7 -0
  200. package/websql/lib/ui/taon-notifications/taon-notifications.module.d.ts +8 -0
  201. package/websql/lib/ui/taon-notifications/taon-notifications.service.d.ts +15 -0
  202. package/websql/lib/ui/taon-progress-bar/index.d.ts +3 -0
  203. package/websql/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +17 -0
  204. package/websql/lib/ui/taon-progress-bar/taon-progress-bar.module.d.ts +9 -0
  205. package/websql/lib/ui/taon-session-passcode/index.d.ts +2 -0
  206. package/websql/lib/ui/taon-session-passcode/taon-session-passcode.component.d.ts +39 -0
  207. package/websql/lib/ui/taon-table/index.d.ts +3 -0
  208. package/websql/lib/ui/taon-table/taon-table.component.d.ts +38 -0
  209. package/websql/lib/ui/taon-table/taon-table.module.d.ts +17 -0
  210. package/websql/package.json +13 -0
  211. package/websql/public-api.d.ts +2 -0
@@ -0,0 +1,1227 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, HostListener, HostBinding, Output, Input, Directive, Pipe, NgModule, Component, Injectable, inject, DestroyRef, Self, ViewChild, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';
3
+ import { _, json5, Helpers } from 'tnp-core/websql';
4
+ import { Log, Level } from 'ng2-logger/websql';
5
+ import * as i1 from '@angular/platform-browser';
6
+ import { A11yModule } from '@angular/cdk/a11y';
7
+ import * as i5$1 from '@angular/cdk/drag-drop';
8
+ import { DragDropModule } from '@angular/cdk/drag-drop';
9
+ import { ScrollingModule } from '@angular/cdk/scrolling';
10
+ import { CdkStepperModule } from '@angular/cdk/stepper';
11
+ import { CdkTableModule } from '@angular/cdk/table';
12
+ import { CdkTreeModule } from '@angular/cdk/tree';
13
+ import { MatAutocompleteModule } from '@angular/material/autocomplete';
14
+ import { MatBadgeModule } from '@angular/material/badge';
15
+ import { MatBottomSheetModule } from '@angular/material/bottom-sheet';
16
+ import * as i6 from '@angular/material/button';
17
+ import { MatButtonModule } from '@angular/material/button';
18
+ import * as i7 from '@angular/material/card';
19
+ import { MatCardModule } from '@angular/material/card';
20
+ import * as i8 from '@angular/material/checkbox';
21
+ import { MatCheckboxModule } from '@angular/material/checkbox';
22
+ import { MatButtonToggleModule } from '@angular/material/button-toggle';
23
+ import { MatStepperModule } from '@angular/material/stepper';
24
+ import { MatDialogModule } from '@angular/material/dialog';
25
+ import { MatExpansionModule } from '@angular/material/expansion';
26
+ import { MatGridListModule } from '@angular/material/grid-list';
27
+ import * as i5 from '@angular/material/icon';
28
+ import { MatIconModule } from '@angular/material/icon';
29
+ import { MatListModule } from '@angular/material/list';
30
+ import { MatDatepickerModule } from '@angular/material/datepicker';
31
+ import { MatPaginatorModule } from '@angular/material/paginator';
32
+ import { MatProgressBarModule } from '@angular/material/progress-bar';
33
+ import { MatChipsModule } from '@angular/material/chips';
34
+ import { MatDividerModule } from '@angular/material/divider';
35
+ import * as i2$2 from '@angular/material/input';
36
+ import { MatInputModule } from '@angular/material/input';
37
+ import { MatMenuModule } from '@angular/material/menu';
38
+ import { MatNativeDateModule, MatRippleModule } from '@angular/material/core';
39
+ import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
40
+ import { MatRadioModule } from '@angular/material/radio';
41
+ import { MatSelectModule } from '@angular/material/select';
42
+ import * as i10 from '@angular/material/sidenav';
43
+ import { MatSidenavModule } from '@angular/material/sidenav';
44
+ import { MatSliderModule } from '@angular/material/slider';
45
+ import { MatSlideToggleModule } from '@angular/material/slide-toggle';
46
+ import { MatSnackBarModule } from '@angular/material/snack-bar';
47
+ import { MatSortModule } from '@angular/material/sort';
48
+ import { MatTableModule } from '@angular/material/table';
49
+ import * as i11 from '@angular/material/tabs';
50
+ import { MatTabsModule } from '@angular/material/tabs';
51
+ import { MatToolbarModule } from '@angular/material/toolbar';
52
+ import { MatTooltipModule } from '@angular/material/tooltip';
53
+ import { MatTreeModule } from '@angular/material/tree';
54
+ import * as i2$1 from '@angular/common';
55
+ import { CommonModule } from '@angular/common';
56
+ import { Resource } from 'ng2-rest/websql';
57
+ import * as i1$1 from '@ngneat/hot-toast';
58
+ import { __decorate, __metadata } from 'tslib';
59
+ import * as i2 from '@angular/forms';
60
+ import { FormGroup, FormControl, ReactiveFormsModule, FormsModule } from '@angular/forms';
61
+ import { PasswordModule } from 'primeng/password';
62
+ import { Stor } from 'taon-storage/websql';
63
+ import { interval, tap, Subscription, defer, fromEvent, map, debounceTime, distinctUntilChanged, share, Subject, takeUntil } from 'rxjs';
64
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
65
+ import axios from 'axios';
66
+ import { Taon, TaonAdminService } from 'taon/websql';
67
+ import { CLASS } from 'typescript-class-helpers/websql';
68
+ import * as i3 from '@ng-matero/extensions/grid';
69
+ import { MtxGridModule } from '@ng-matero/extensions/grid';
70
+ import * as i1$2 from 'static-columns/websql';
71
+ import { StaticColumnsModule } from 'static-columns/websql';
72
+ import { MatFormFieldModule } from '@angular/material/form-field';
73
+ import * as i4 from 'ngx-scrollbar';
74
+ import { NgScrollbarModule } from 'ngx-scrollbar';
75
+ import * as i2$3 from '@ng-bootstrap/ng-bootstrap';
76
+ import { NgbCollapseModule } from '@ng-bootstrap/ng-bootstrap';
77
+ import { ModalModule } from 'ngx-bootstrap/modal';
78
+
79
+ const log$1 = Log.create(`[taon-helpers] long-press`, Level.__NOTHING);
80
+ class TaonLongPress {
81
+ constructor() {
82
+ this.pressDuration = 1000;
83
+ this.onLongPress = new EventEmitter();
84
+ this.onLongPressing = new EventEmitter();
85
+ this.onLongPressEnd = new EventEmitter();
86
+ this.mouseX = 0;
87
+ this.mouseY = 0;
88
+ this.allowTrigger = false;
89
+ this.triggerEnd = _.debounce(() => {
90
+ this.endPress();
91
+ }, 500);
92
+ }
93
+ get press() {
94
+ return this.pressing;
95
+ }
96
+ get longPress() {
97
+ return this.longPressing;
98
+ }
99
+ onMouseDown(event) {
100
+ // don't do right/middle clicks
101
+ log$1.d(`MOUSE DOWN `);
102
+ if (event.which !== 1)
103
+ return;
104
+ this.allowTrigger = true;
105
+ this.mouseX = event.clientX;
106
+ this.mouseY = event.clientY;
107
+ this.pressing = true;
108
+ this.longPressing = false;
109
+ this.timeout = setTimeout(() => {
110
+ if (this.allowTrigger) {
111
+ this.longPressing = true;
112
+ log$1.d(`long pressing start pressDuration:${this.pressDuration} `);
113
+ this.onLongPress.emit(event);
114
+ this.loop(event);
115
+ }
116
+ }, this.pressDuration);
117
+ this.loop(event);
118
+ }
119
+ onMouseMove(event) {
120
+ if (this.pressing && !this.longPressing) {
121
+ const xThres = event.clientX - this.mouseX > 10;
122
+ const yThres = event.clientY - this.mouseY > 10;
123
+ if (xThres || yThres) {
124
+ this.endPress();
125
+ }
126
+ }
127
+ }
128
+ loop(event) {
129
+ if (this.longPressing) {
130
+ this.timeout = setTimeout(() => {
131
+ log$1.d(`emil longpressing`);
132
+ this.triggerEnd();
133
+ this.onLongPressing.emit(event);
134
+ this.loop(event);
135
+ }, 50);
136
+ }
137
+ }
138
+ endPress(emit = true) {
139
+ this.allowTrigger = false;
140
+ clearTimeout(this.timeout);
141
+ this.longPressing = false;
142
+ this.pressing = false;
143
+ if (emit) {
144
+ log$1.d(`EMIT END`);
145
+ this.onLongPressEnd.emit(true);
146
+ }
147
+ else {
148
+ log$1.d(`NOT EMIT END`);
149
+ }
150
+ }
151
+ onMouseUp() {
152
+ this.endPress(false);
153
+ }
154
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonLongPress, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
155
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.12", type: TaonLongPress, isStandalone: true, selector: "[taonLongPress]", inputs: { pressDuration: "pressDuration" }, outputs: { onLongPress: "onLongPress", onLongPressing: "onLongPressing", onLongPressEnd: "onLongPressEnd" }, host: { listeners: { "mousedown": "onMouseDown($event)", "mousemove": "onMouseMove($event)", "mouseup": "onMouseUp()" }, properties: { "class.press": "this.press", "class.longpress": "this.longPress" } }, ngImport: i0 }); }
156
+ }
157
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonLongPress, decorators: [{
158
+ type: Directive,
159
+ args: [{
160
+ selector: '[taonLongPress]',
161
+ standalone: true,
162
+ }]
163
+ }], propDecorators: { pressDuration: [{
164
+ type: Input
165
+ }], onLongPress: [{
166
+ type: Output
167
+ }], onLongPressing: [{
168
+ type: Output
169
+ }], onLongPressEnd: [{
170
+ type: Output
171
+ }], press: [{
172
+ type: HostBinding,
173
+ args: ['class.press']
174
+ }], longPress: [{
175
+ type: HostBinding,
176
+ args: ['class.longpress']
177
+ }], onMouseDown: [{
178
+ type: HostListener,
179
+ args: ['mousedown', ['$event']]
180
+ }], onMouseMove: [{
181
+ type: HostListener,
182
+ args: ['mousemove', ['$event']]
183
+ }], onMouseUp: [{
184
+ type: HostListener,
185
+ args: ['mouseup']
186
+ }] } });
187
+
188
+ class TaonInjectHTMLDirective {
189
+ set taonInjectHTML(content) {
190
+ this.host.nativeElement.innerHTML = content;
191
+ }
192
+ constructor(host) {
193
+ this.host = host;
194
+ }
195
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonInjectHTMLDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
196
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.12", type: TaonInjectHTMLDirective, isStandalone: true, selector: "[taonInjectHTML]", inputs: { taonInjectHTML: "taonInjectHTML" }, ngImport: i0 }); }
197
+ }
198
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonInjectHTMLDirective, decorators: [{
199
+ type: Directive,
200
+ args: [{
201
+ selector: '[taonInjectHTML]',
202
+ standalone: true,
203
+ }]
204
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { taonInjectHTML: [{
205
+ type: Input
206
+ }] } });
207
+
208
+ class SafePipe {
209
+ constructor(sanitizer) {
210
+ this.sanitizer = sanitizer;
211
+ }
212
+ transform(value, type) {
213
+ switch (type) {
214
+ case 'html':
215
+ return this.sanitizer.bypassSecurityTrustHtml(value);
216
+ case 'style':
217
+ return this.sanitizer.bypassSecurityTrustStyle(value);
218
+ case 'script':
219
+ return this.sanitizer.bypassSecurityTrustScript(value);
220
+ case 'url':
221
+ return this.sanitizer.bypassSecurityTrustUrl(value);
222
+ case 'resourceUrl':
223
+ return this.sanitizer.bypassSecurityTrustResourceUrl(value);
224
+ default:
225
+ throw new Error(`Invalid safe type specified: ${type}`);
226
+ }
227
+ }
228
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: SafePipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
229
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.12", ngImport: i0, type: SafePipe, isStandalone: true, name: "safe" }); }
230
+ }
231
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: SafePipe, decorators: [{
232
+ type: Pipe,
233
+ args: [{
234
+ name: 'safe',
235
+ standalone: true,
236
+ }]
237
+ }], ctorParameters: () => [{ type: i1.DomSanitizer }] });
238
+
239
+ //#region @browser
240
+ //#endregion
241
+
242
+ //#region @browser
243
+ /**
244
+ * @deprecated too heavy!
245
+ */
246
+ class TaonFullMaterialModule {
247
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonFullMaterialModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
248
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.12", ngImport: i0, type: TaonFullMaterialModule, exports: [A11yModule,
249
+ CdkStepperModule,
250
+ CdkTableModule,
251
+ CdkTreeModule,
252
+ DragDropModule,
253
+ MatAutocompleteModule,
254
+ MatBadgeModule,
255
+ MatBottomSheetModule,
256
+ MatButtonModule,
257
+ MatButtonToggleModule,
258
+ MatCardModule,
259
+ MatCheckboxModule,
260
+ MatChipsModule,
261
+ MatStepperModule,
262
+ MatDatepickerModule,
263
+ MatDialogModule,
264
+ MatDividerModule,
265
+ MatExpansionModule,
266
+ MatGridListModule,
267
+ MatIconModule,
268
+ MatInputModule,
269
+ MatListModule,
270
+ MatMenuModule,
271
+ MatNativeDateModule,
272
+ MatPaginatorModule,
273
+ MatProgressBarModule,
274
+ MatProgressSpinnerModule,
275
+ MatRadioModule,
276
+ MatRippleModule,
277
+ MatSelectModule,
278
+ MatSidenavModule,
279
+ MatSliderModule,
280
+ MatSlideToggleModule,
281
+ MatSnackBarModule,
282
+ MatSortModule,
283
+ MatTableModule,
284
+ MatTabsModule,
285
+ MatToolbarModule,
286
+ MatTooltipModule,
287
+ MatTreeModule,
288
+ ScrollingModule] }); }
289
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonFullMaterialModule, imports: [A11yModule,
290
+ CdkStepperModule,
291
+ CdkTableModule,
292
+ CdkTreeModule,
293
+ DragDropModule,
294
+ MatAutocompleteModule,
295
+ MatBadgeModule,
296
+ MatBottomSheetModule,
297
+ MatButtonModule,
298
+ MatButtonToggleModule,
299
+ MatCardModule,
300
+ MatCheckboxModule,
301
+ MatChipsModule,
302
+ MatStepperModule,
303
+ MatDatepickerModule,
304
+ MatDialogModule,
305
+ MatDividerModule,
306
+ MatExpansionModule,
307
+ MatGridListModule,
308
+ MatIconModule,
309
+ MatInputModule,
310
+ MatListModule,
311
+ MatMenuModule,
312
+ MatNativeDateModule,
313
+ MatPaginatorModule,
314
+ MatProgressBarModule,
315
+ MatProgressSpinnerModule,
316
+ MatRadioModule,
317
+ MatRippleModule,
318
+ MatSelectModule,
319
+ MatSidenavModule,
320
+ MatSliderModule,
321
+ MatSlideToggleModule,
322
+ MatSnackBarModule,
323
+ MatSortModule,
324
+ MatTableModule,
325
+ MatTabsModule,
326
+ MatToolbarModule,
327
+ MatTooltipModule,
328
+ MatTreeModule,
329
+ ScrollingModule] }); }
330
+ }
331
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonFullMaterialModule, decorators: [{
332
+ type: NgModule,
333
+ args: [{
334
+ exports: [
335
+ A11yModule,
336
+ CdkStepperModule,
337
+ CdkTableModule,
338
+ CdkTreeModule,
339
+ DragDropModule,
340
+ MatAutocompleteModule,
341
+ MatBadgeModule,
342
+ MatBottomSheetModule,
343
+ MatButtonModule,
344
+ MatButtonToggleModule,
345
+ MatCardModule,
346
+ MatCheckboxModule,
347
+ MatChipsModule,
348
+ MatStepperModule,
349
+ MatDatepickerModule,
350
+ MatDialogModule,
351
+ MatDividerModule,
352
+ MatExpansionModule,
353
+ MatGridListModule,
354
+ MatIconModule,
355
+ MatInputModule,
356
+ MatListModule,
357
+ MatMenuModule,
358
+ MatNativeDateModule,
359
+ MatPaginatorModule,
360
+ MatProgressBarModule,
361
+ MatProgressSpinnerModule,
362
+ MatRadioModule,
363
+ MatRippleModule,
364
+ MatSelectModule,
365
+ MatSidenavModule,
366
+ MatSliderModule,
367
+ MatSlideToggleModule,
368
+ MatSnackBarModule,
369
+ MatSortModule,
370
+ MatTableModule,
371
+ MatTabsModule,
372
+ MatToolbarModule,
373
+ MatTooltipModule,
374
+ MatTreeModule,
375
+ ScrollingModule,
376
+ ],
377
+ }]
378
+ }] });
379
+
380
+ //#region @browser
381
+ class TaonGithubForkMeCornerComponent {
382
+ constructor() {
383
+ this.url = 'https://github.com';
384
+ }
385
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonGithubForkMeCornerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
386
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.12", type: TaonGithubForkMeCornerComponent, isStandalone: false, selector: "taon-github-fork-me-corner", inputs: { url: "url" }, ngImport: i0, template: "<a href=\"{{ url }}\" class=\"github-corner\" aria-label=\"View source on GitHub\"\n ><svg\n width=\"80\"\n height=\"80\"\n viewBox=\"0 0 250 250\"\n style=\"\n fill: #151513;\n color: #fff;\n position: absolute;\n top: 0;\n border: 0;\n right: 0;\n \"\n aria-hidden=\"true\">\n <path d=\"M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z\"></path>\n <path\n d=\"M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2\"\n fill=\"currentColor\"\n style=\"transform-origin: 130px 106px\"\n class=\"octo-arm\"></path>\n <path\n d=\"M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z\"\n fill=\"currentColor\"\n class=\"octo-body\"></path>\n </svg>\n</a>", styles: ["a{opacity:.7}a:hover{opacity:1}.github-corner:hover .octo-arm{opacity:1;animation:octocat-wave .56s ease-in-out}@keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width: 500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave .56s ease-in-out}}\n"] }); }
387
+ }
388
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonGithubForkMeCornerComponent, decorators: [{
389
+ type: Component,
390
+ args: [{ selector: 'taon-github-fork-me-corner', standalone: false, template: "<a href=\"{{ url }}\" class=\"github-corner\" aria-label=\"View source on GitHub\"\n ><svg\n width=\"80\"\n height=\"80\"\n viewBox=\"0 0 250 250\"\n style=\"\n fill: #151513;\n color: #fff;\n position: absolute;\n top: 0;\n border: 0;\n right: 0;\n \"\n aria-hidden=\"true\">\n <path d=\"M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z\"></path>\n <path\n d=\"M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2\"\n fill=\"currentColor\"\n style=\"transform-origin: 130px 106px\"\n class=\"octo-arm\"></path>\n <path\n d=\"M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z\"\n fill=\"currentColor\"\n class=\"octo-body\"></path>\n </svg>\n</a>", styles: ["a{opacity:.7}a:hover{opacity:1}.github-corner:hover .octo-arm{opacity:1;animation:octocat-wave .56s ease-in-out}@keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width: 500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave .56s ease-in-out}}\n"] }]
391
+ }], propDecorators: { url: [{
392
+ type: Input
393
+ }] } });
394
+
395
+ //#region @browser
396
+ class TaonGithubForkMeCornerModule {
397
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonGithubForkMeCornerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
398
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.12", ngImport: i0, type: TaonGithubForkMeCornerModule, declarations: [TaonGithubForkMeCornerComponent], imports: [CommonModule], exports: [TaonGithubForkMeCornerComponent] }); }
399
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonGithubForkMeCornerModule, imports: [CommonModule] }); }
400
+ }
401
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonGithubForkMeCornerModule, decorators: [{
402
+ type: NgModule,
403
+ args: [{
404
+ imports: [CommonModule],
405
+ exports: [TaonGithubForkMeCornerComponent],
406
+ declarations: [TaonGithubForkMeCornerComponent],
407
+ providers: [],
408
+ }]
409
+ }] });
410
+
411
+ //#region @browser
412
+ //#endregion
413
+
414
+ //#region @browser
415
+ class TaonNotificationsService {
416
+ constructor(toast) {
417
+ this.toast = toast;
418
+ }
419
+ options(type, options) {
420
+ if (_.isString(options)) {
421
+ options = {
422
+ // @ts-ignore
423
+ title: options,
424
+ };
425
+ }
426
+ return options;
427
+ }
428
+ success(options) {
429
+ const opt = this.options('success', options);
430
+ return this.toast.success(opt.title);
431
+ }
432
+ error(options) {
433
+ const opt = this.options('error', options);
434
+ return this.toast.error(opt.title);
435
+ }
436
+ warn(options) {
437
+ const opt = this.options('warning', options);
438
+ return this.toast.warning(opt.title);
439
+ }
440
+ info(options) {
441
+ const opt = this.options('info', options);
442
+ return this.toast.info(opt.title);
443
+ }
444
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonNotificationsService, deps: [{ token: i1$1.HotToastService }], target: i0.ɵɵFactoryTarget.Injectable }); }
445
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonNotificationsService, providedIn: 'root' }); }
446
+ }
447
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonNotificationsService, decorators: [{
448
+ type: Injectable,
449
+ args: [{
450
+ providedIn: 'root',
451
+ }]
452
+ }], ctorParameters: () => [{ type: i1$1.HotToastService }] });
453
+
454
+ //#region @browser
455
+ class TaonNotificationsComponent {
456
+ constructor(notification) {
457
+ this.notification = notification;
458
+ }
459
+ ngOnInit() { }
460
+ init(subscribtionsArray, template, callback) {
461
+ subscribtionsArray.push(Resource.listenErrors.subscribe(err => {
462
+ this.notification.error(err.msg);
463
+ // subscribtionsArray.push(notify.onTap.subscribe(() => {
464
+ // callback(err);
465
+ // this.modal.open(template);
466
+ // }) as any);
467
+ }));
468
+ }
469
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonNotificationsComponent, deps: [{ token: TaonNotificationsService }], target: i0.ɵɵFactoryTarget.Component }); }
470
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.12", type: TaonNotificationsComponent, isStandalone: false, selector: "taon-notifications", ngImport: i0, template: "<!-- <p>\n notyfications works!\n</p> -->", styles: [":host{position:absolute;width:0px;height:0px}\n"] }); }
471
+ }
472
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonNotificationsComponent, decorators: [{
473
+ type: Component,
474
+ args: [{ selector: 'taon-notifications', standalone: false, template: "<!-- <p>\n notyfications works!\n</p> -->", styles: [":host{position:absolute;width:0px;height:0px}\n"] }]
475
+ }], ctorParameters: () => [{ type: TaonNotificationsService }] });
476
+
477
+ class TaonNotificationOptions {
478
+ }
479
+ //#endregion
480
+
481
+ //#region @browser
482
+ class TaonNotificationsModule {
483
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonNotificationsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
484
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.12", ngImport: i0, type: TaonNotificationsModule, declarations: [TaonNotificationsComponent], exports: [TaonNotificationsComponent] }); }
485
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonNotificationsModule, providers: [TaonNotificationsService] }); }
486
+ }
487
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonNotificationsModule, decorators: [{
488
+ type: NgModule,
489
+ args: [{
490
+ imports: [
491
+ // CommonModule,
492
+ // BrowserAnimationsModule, // required animations module
493
+ // HotToastModule.forRoot({
494
+ // position: 'top-right',
495
+ // }),
496
+ ],
497
+ exports: [TaonNotificationsComponent],
498
+ declarations: [TaonNotificationsComponent],
499
+ providers: [TaonNotificationsService],
500
+ }]
501
+ }] });
502
+
503
+ //#region @browser
504
+ //#endregion
505
+
506
+ class TaonSessionPasscodeComponent {
507
+ constructor(element, domSanitizer, cdr) {
508
+ this.element = element;
509
+ this.domSanitizer = domSanitizer;
510
+ this.cdr = cdr;
511
+ this.destroyRef = inject(DestroyRef);
512
+ this.display = 'none';
513
+ this.form = new FormGroup({
514
+ passcode: new FormControl(),
515
+ });
516
+ }
517
+ ngOnInit() {
518
+ if (!this.passcode) {
519
+ this.passcode = '123456';
520
+ }
521
+ if (!this.message) {
522
+ this.message = `
523
+ This website is only for testing purpose. Please type passcode bellow to see content.
524
+
525
+ `;
526
+ }
527
+ // console.log({
528
+ // 'lastPasscode': this.lastPasscode,
529
+ // 'current passcode': this.passcode,
530
+ // 'current message': this.message,
531
+ // })
532
+ // this.width = window.innerWidth;
533
+ // this.height = window.innerHeight;
534
+ this.safeMessage = this.domSanitizer.bypassSecurityTrustHtml(this.message);
535
+ if (this.lastPasscode?.toString() === this.passcode?.toString()) {
536
+ this.hide();
537
+ }
538
+ else {
539
+ this.show();
540
+ this.focus();
541
+ }
542
+ interval(1000)
543
+ .pipe(takeUntilDestroyed(this.destroyRef), tap(() => {
544
+ this.focus();
545
+ }))
546
+ .subscribe();
547
+ }
548
+ submit({ passcode }) {
549
+ if (this.isPasscodeOK(passcode || '')) {
550
+ this.hide();
551
+ }
552
+ else {
553
+ this.clear();
554
+ }
555
+ }
556
+ isPasscodeOK(passcode) {
557
+ this.lastPasscode = passcode.toString();
558
+ return this.passcode.toString() === passcode;
559
+ }
560
+ ngAfterViewInit() { }
561
+ focus() {
562
+ this.element.nativeElement.querySelector('input')?.focus();
563
+ }
564
+ hide() {
565
+ this.display = 'none';
566
+ }
567
+ show() {
568
+ this.display = 'block';
569
+ }
570
+ clear() {
571
+ this.form.controls.passcode.setValue('');
572
+ }
573
+ onKeyup(event) {
574
+ if (this.isPasscodeOK(event.target.value || '')) {
575
+ this.hide();
576
+ return;
577
+ }
578
+ const key = event.keyCode || event.charCode;
579
+ if (key === 8 || key === 46 || this.lastPasscode?.length > 5) {
580
+ this.clear();
581
+ }
582
+ }
583
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonSessionPasscodeComponent, deps: [{ token: i0.ElementRef, self: true }, { token: i1.DomSanitizer }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
584
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.12", type: TaonSessionPasscodeComponent, isStandalone: true, selector: "taon-session-passcode", inputs: { passcode: "passcode", message: "message" }, host: { properties: { "style.display": "this.display" } }, ngImport: i0, template: "<form\n [formGroup]=\"form\"\n content=\"notranslate\"\n autocomplete=\"off\"\n (click)=\"focus()\"\n (ngSubmit)=\"submit(form.value)\"\n class=\"flex flex-column align-items-center w-full h-full\">\n <div class=\"flex align-content-center w-full justify-content-center mt-8\">\n <p\n class=\"p-3\"\n style=\"max-width: 400px; min-height: 100px\"\n [innerHtml]=\"safeMessage\"></p>\n </div>\n <input\n type=\"password\"\n class=\"text-5xl md:text-8xl pointer-events-none\"\n #taonpasscode\n (keyup)=\"onKeyup($event)\"\n formControlName=\"passcode\" />\n <!-- placeholder=\"Enter passcode\" -->\n</form>", styles: [":host{position:fixed;background-color:#9f9f9f57;z-index:99999;-webkit-backdrop-filter:blur(50px);backdrop-filter:blur(50px);width:100%;height:100%;display:none}input{background:#fff;border-radius:6px;outline:0px;border:0px;color:gray;text-align:center;width:500px}\n"], dependencies: [{ kind: "ngmodule", type: PasswordModule }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: FormsModule }] }); }
585
+ }
586
+ __decorate([
587
+ (Stor.property.in.localstorage
588
+ .for(TaonSessionPasscodeComponent)
589
+ .withDefaultValue('')),
590
+ __metadata("design:type", String)
591
+ ], TaonSessionPasscodeComponent.prototype, "lastPasscode", void 0);
592
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonSessionPasscodeComponent, decorators: [{
593
+ type: Component,
594
+ args: [{ selector: 'taon-session-passcode', standalone: true, imports: [PasswordModule, CommonModule, ReactiveFormsModule, FormsModule], template: "<form\n [formGroup]=\"form\"\n content=\"notranslate\"\n autocomplete=\"off\"\n (click)=\"focus()\"\n (ngSubmit)=\"submit(form.value)\"\n class=\"flex flex-column align-items-center w-full h-full\">\n <div class=\"flex align-content-center w-full justify-content-center mt-8\">\n <p\n class=\"p-3\"\n style=\"max-width: 400px; min-height: 100px\"\n [innerHtml]=\"safeMessage\"></p>\n </div>\n <input\n type=\"password\"\n class=\"text-5xl md:text-8xl pointer-events-none\"\n #taonpasscode\n (keyup)=\"onKeyup($event)\"\n formControlName=\"passcode\" />\n <!-- placeholder=\"Enter passcode\" -->\n</form>", styles: [":host{position:fixed;background-color:#9f9f9f57;z-index:99999;-webkit-backdrop-filter:blur(50px);backdrop-filter:blur(50px);width:100%;height:100%;display:none}input{background:#fff;border-radius:6px;outline:0px;border:0px;color:gray;text-align:center;width:500px}\n"] }]
595
+ }], ctorParameters: () => [{ type: i0.ElementRef, decorators: [{
596
+ type: Self
597
+ }] }, { type: i1.DomSanitizer }, { type: i0.ChangeDetectorRef }], propDecorators: { passcode: [{
598
+ type: Input
599
+ }], message: [{
600
+ type: Input
601
+ }], display: [{
602
+ type: HostBinding,
603
+ args: ['style.display']
604
+ }] } });
605
+
606
+ //#region @browser
607
+ //#endregion
608
+
609
+ //#region @browser
610
+ // import { Models } from 'tnp-models';
611
+ // import type { TaonAdmin } from '../taon-admin-mode-configuration';
612
+ const calculatePercentage = (loaded, total) => Math.floor(loaded * 1.0) / total;
613
+ class TaonProgressBarComponent {
614
+ // options: NgProgressConfig = _.merge(
615
+ // {
616
+ // min: 8,
617
+ // max: 100,
618
+ // speed: 200,
619
+ // trickleSpeed: 300,
620
+ // debounceTime: 0,
621
+ // ease: 'linear',
622
+ // spinnerPosition: 'right',
623
+ // direction: 'ltr+',
624
+ // color: 'gray',
625
+ // fixed: true,
626
+ // meteor: true,
627
+ // spinner: true,
628
+ // thick: false,
629
+ // },
630
+ // _.get(ENV, `plugins['ngx-progressbar']`),
631
+ // );
632
+ constructor() {
633
+ this.handlers = [];
634
+ }
635
+ ngOnInit() { }
636
+ ngOnDestroy() {
637
+ this.handlers.forEach(h => h.unsubscribe());
638
+ }
639
+ ngAfterViewInit() {
640
+ // this.labProgress.set(20)
641
+ this.loadProgressBar(void 0, axios);
642
+ }
643
+ loadProgressBar(config, instance = axios) {
644
+ // let requestsCounter = 0;
645
+ // const setupStartProgress = () => {
646
+ // instance.interceptors.request.use(config => {
647
+ // requestsCounter++;
648
+ // this.labProgress.start();
649
+ // return config;
650
+ // });
651
+ // };
652
+ // const setupUpdateProgress = () => {
653
+ // const update = e => {
654
+ // // NProgress.inc(calculatePercentage(e.loaded, e.total))
655
+ // const percentage = calculatePercentage(e.loaded, e.total) * 100;
656
+ // // console.log(`loaded: ${e.loaded}, total: ${e.total} , pecent: ${percentage}`)
657
+ // this.labProgress.inc(percentage);
658
+ // };
659
+ // instance.defaults.onDownloadProgress = update;
660
+ // instance.defaults.onUploadProgress = update;
661
+ // };
662
+ // const setupStopProgress = () => {
663
+ // const responseFunc = response => {
664
+ // if (--requestsCounter === 0) {
665
+ // this.labProgress.complete();
666
+ // // NProgress.done()
667
+ // }
668
+ // return response;
669
+ // };
670
+ // const errorFunc = error => {
671
+ // if (--requestsCounter === 0) {
672
+ // this.labProgress.complete();
673
+ // // NProgress.done()
674
+ // }
675
+ // return Promise.reject(error);
676
+ // };
677
+ // instance.interceptors.response.use(responseFunc, errorFunc);
678
+ // };
679
+ // setupStartProgress();
680
+ // setupUpdateProgress();
681
+ // setupStopProgress();
682
+ // //#region @websqlOnly
683
+ // const SYMBOL = Taon.symbols;
684
+ // let updateFun: Observable<number> = window[SYMBOL.WEBSQL_REST_PROGRESS_FUN];
685
+ // if (!window[SYMBOL.WEBSQL_REST_PROGRESS_FUN]) {
686
+ // window[SYMBOL.WEBSQL_REST_PROGRESS_FUN] = new Subject();
687
+ // }
688
+ // updateFun = window[SYMBOL.WEBSQL_REST_PROGRESS_FUN];
689
+ // let startFun: Subject<void> = window[SYMBOL.WEBSQL_REST_PROGRESS_FUN_START];
690
+ // if (!window[SYMBOL.WEBSQL_REST_PROGRESS_FUN_START]) {
691
+ // window[SYMBOL.WEBSQL_REST_PROGRESS_FUN_START] = new Subject();
692
+ // }
693
+ // startFun = window[SYMBOL.WEBSQL_REST_PROGRESS_FUN_START];
694
+ // let doneFun: Subject<void> = window[SYMBOL.WEBSQL_REST_PROGRESS_FUN_DONE];
695
+ // if (!window[SYMBOL.WEBSQL_REST_PROGRESS_FUN_DONE]) {
696
+ // window[SYMBOL.WEBSQL_REST_PROGRESS_FUN_DONE] = new Subject();
697
+ // }
698
+ // doneFun = window[SYMBOL.WEBSQL_REST_PROGRESS_FUN_DONE];
699
+ // this.handlers.push(
700
+ // updateFun.subscribe(loaded => {
701
+ // // console.log(`update: ${loaded}`)
702
+ // const total = 100;
703
+ // const percentage = calculatePercentage(loaded, total) * 100;
704
+ // // console.log(`set pecentage: ${percentage}`)
705
+ // this.labProgress.set(percentage);
706
+ // }),
707
+ // );
708
+ // this.handlers.push(
709
+ // startFun.subscribe(() => {
710
+ // // requestsCounter++;
711
+ // // console.log('START WEBSQL REQUEST')
712
+ // this.labProgress.start();
713
+ // }),
714
+ // );
715
+ // this.handlers.push(
716
+ // doneFun.subscribe(() => {
717
+ // // if ((--requestsCounter) === 0) {
718
+ // // console.log('DONE WEBSQL REQUEST')
719
+ // this.labProgress.complete();
720
+ // // NProgress.done()
721
+ // // }
722
+ // }),
723
+ // );
724
+ //#endregion
725
+ }
726
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
727
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.12", type: TaonProgressBarComponent, isStandalone: false, selector: "taon-progress-bar", inputs: { isDesktop: "isDesktop" }, viewQueries: [{ propertyName: "labProgress", first: true, predicate: ["labProgress"], descendants: true }], ngImport: i0, template: "<!-- <ng-progress\n #labProgress\n id=\"lab\"\n [meteor]=\"options.meteor\"\n [color]=\"options.color\"\n [min]=\"options.min\"\n [max]=\"options.max\"\n [speed]=\"options.speed\"\n [spinner]=\"\n options.spinner &&\n (!admin.adminPanelIsOpen ||\n (admin.adminPanelIsOpen && (admin.draggablePopupMode || !isDesktop)))\n \"\n [spinnerPosition]=\"options.spinnerPosition\"\n [direction]=\"options.direction\"\n [trickleSpeed]=\"options.trickleSpeed\"\n [debounceTime]=\"options.debounceTime\"\n [ease]=\"options.ease\"\n [thick]=\"options.thick\"\n [fixed]=\"options.fixed\">\n</ng-progress>\n(started)=\"onProgressStarted()\"\n (completed)=\"onProgressCompleted()\" -->", styles: [":host{display:block}\n"] }); }
728
+ }
729
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonProgressBarComponent, decorators: [{
730
+ type: Component,
731
+ args: [{ selector: 'taon-progress-bar', standalone: false, template: "<!-- <ng-progress\n #labProgress\n id=\"lab\"\n [meteor]=\"options.meteor\"\n [color]=\"options.color\"\n [min]=\"options.min\"\n [max]=\"options.max\"\n [speed]=\"options.speed\"\n [spinner]=\"\n options.spinner &&\n (!admin.adminPanelIsOpen ||\n (admin.adminPanelIsOpen && (admin.draggablePopupMode || !isDesktop)))\n \"\n [spinnerPosition]=\"options.spinnerPosition\"\n [direction]=\"options.direction\"\n [trickleSpeed]=\"options.trickleSpeed\"\n [debounceTime]=\"options.debounceTime\"\n [ease]=\"options.ease\"\n [thick]=\"options.thick\"\n [fixed]=\"options.fixed\">\n</ng-progress>\n(started)=\"onProgressStarted()\"\n (completed)=\"onProgressCompleted()\" -->", styles: [":host{display:block}\n"] }]
732
+ }], ctorParameters: () => [], propDecorators: { labProgress: [{
733
+ type: ViewChild,
734
+ args: ['labProgress']
735
+ }], isDesktop: [{
736
+ type: Input
737
+ }] } });
738
+
739
+ //#region @browser
740
+ // import { NgProgressConfig, NgProgressModule } from 'ngx-progressbar';
741
+ class TaonProgressBarModule {
742
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonProgressBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
743
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.12", ngImport: i0, type: TaonProgressBarModule, declarations: [TaonProgressBarComponent], imports: [CommonModule], exports: [TaonProgressBarComponent] }); }
744
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonProgressBarModule, imports: [CommonModule] }); }
745
+ }
746
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonProgressBarModule, decorators: [{
747
+ type: NgModule,
748
+ args: [{
749
+ imports: [CommonModule,
750
+ // NgProgressModule.withConfig({})
751
+ ],
752
+ declarations: [TaonProgressBarComponent],
753
+ exports: [TaonProgressBarComponent],
754
+ }]
755
+ }] });
756
+
757
+ //#region @browser
758
+ //#endregion
759
+
760
+ //#region imports
761
+ //#endregion
762
+ //#region constants
763
+ const log = Log.create('Table wrapper', Level.__NOTHING);
764
+ const defaultColumns = [
765
+ {
766
+ header: 'ID',
767
+ field: 'id',
768
+ },
769
+ {
770
+ header: 'NAME',
771
+ field: 'name',
772
+ },
773
+ ];
774
+ //#endregion
775
+ class TaonTableComponent {
776
+ constructor() {
777
+ //#region fields
778
+ this.pageNumber = 1;
779
+ this.pageSize = 5;
780
+ this.allowedColumns = [];
781
+ this.rows = _.times(20, id => {
782
+ return {
783
+ id,
784
+ name: `Amazing ${id} row `,
785
+ };
786
+ });
787
+ this.columns = defaultColumns;
788
+ this.pageSizeOptions = [5, 10, 20];
789
+ this.expansionChange = new EventEmitter();
790
+ this.addingItem = new EventEmitter();
791
+ this.expandable = false;
792
+ this.showPaginator = true;
793
+ this.isLoading = false;
794
+ this.totalElements = 100;
795
+ this.sub = new Subscription();
796
+ }
797
+ //#endregion
798
+ get entity() {
799
+ return this.entityCrudController?.entityClassResolveFn();
800
+ }
801
+ //#region hooks
802
+ //#region hooks / on init
803
+ async ngOnInit() {
804
+ if (!this.hideSearch) {
805
+ this.searchInputChange$ = defer(() => fromEvent(this.search?.nativeElement, 'keyup')).pipe(map(c => c.target['value']), debounceTime(500), distinctUntilChanged(), share(), tap(data => {
806
+ console.log({ data });
807
+ }));
808
+ this.sub.add(this.searchInputChange$.subscribe());
809
+ }
810
+ const entityClass = this.entity;
811
+ if (!!entityClass) {
812
+ this.rows = [];
813
+ }
814
+ this.expandable = !!this.expansionTemplate;
815
+ // this.arrayDataConfig.set.pagination.rowDisplayed(5);
816
+ log.i('this.columns,', this.columns);
817
+ const columnsConfigSameAsDefault = _.isEqual(this.columns, defaultColumns);
818
+ // console.log({
819
+ // columnsConfigSameAsDefault
820
+ // })
821
+ if (entityClass && columnsConfigSameAsDefault) {
822
+ log.i('this.crud.entity', CLASS.describeProperites(entityClass));
823
+ try {
824
+ const props = CLASS.describeProperites(entityClass);
825
+ let columns = props
826
+ .filter(prop => this.allowedColumns.length > 0
827
+ ? this.allowedColumns.includes(prop)
828
+ : true)
829
+ .map(prop => {
830
+ return {
831
+ header: _.upperCase(prop),
832
+ field: prop,
833
+ };
834
+ });
835
+ const extra = this.allowedColumns.filter(f => !props.includes(f));
836
+ columns = [
837
+ ...columns,
838
+ ...extra.map(prop => {
839
+ return {
840
+ header: _.upperCase(prop),
841
+ field: prop,
842
+ };
843
+ }),
844
+ ];
845
+ // console.log({
846
+ // extra
847
+ // });
848
+ if (!this.expandable) {
849
+ for (let index = 0; index < columns.length; index++) {
850
+ const col = columns[index];
851
+ delete col.showExpand;
852
+ }
853
+ }
854
+ this.columns = columns;
855
+ }
856
+ catch (error) {
857
+ console.error(error);
858
+ }
859
+ }
860
+ else {
861
+ }
862
+ if (!this.entity) {
863
+ this.showPaginator = false;
864
+ }
865
+ await this.getData();
866
+ }
867
+ //#endregion
868
+ //#region hooks / on destroy
869
+ ngOnDestroy() {
870
+ this.sub.unsubscribe();
871
+ }
872
+ //#endregion
873
+ //#endregion
874
+ //#region methods
875
+ //#region methods / get next page
876
+ async getNextPage(e) {
877
+ // console.log({
878
+ // e
879
+ // });
880
+ this.pageNumber = e.pageIndex + 1;
881
+ this.pageSize = e.pageSize;
882
+ await this.getData();
883
+ }
884
+ //#endregion
885
+ //#region methods / retrive data
886
+ async getData() {
887
+ if (!this.entity) {
888
+ return;
889
+ }
890
+ this.isLoading = true;
891
+ // console.log('PAGINTION FETCH DATA START!')
892
+ const controller = this.entityCrudController;
893
+ if (controller) {
894
+ const data = await controller.pagination(this.pageNumber, this.pageSize)
895
+ .received;
896
+ // console.log('PAGINTION DATA', {
897
+ // data,
898
+ // });
899
+ const totalElements = Number(data.headers.get(Taon.symbols.old.X_TOTAL_COUNT));
900
+ const rows = data.body.json;
901
+ // console.log('PAGINTION DATA', {
902
+ // rows,
903
+ // totalElements,
904
+ // });
905
+ this.totalElements = totalElements;
906
+ this.rows = rows.map(d => {
907
+ for (const key in d) {
908
+ if (Object.prototype.hasOwnProperty.call(d, key)) {
909
+ const elem = d[key];
910
+ if (_.isObject(elem)) {
911
+ d[key] = json5.stringify(d[key]);
912
+ }
913
+ }
914
+ }
915
+ // console.log({ d })
916
+ return d;
917
+ });
918
+ }
919
+ this.isLoading = false;
920
+ }
921
+ //#endregion
922
+ //#region methods / expansion row
923
+ expansionRow(e) {
924
+ this.expansionChange.next(e);
925
+ }
926
+ //#endregion
927
+ //#region methods / on table context menu
928
+ onTableContextMenu(e) {
929
+ // if (this.rowHref) {
930
+ // this.router.navigateByUrl(this.rowHref)
931
+ // }
932
+ log.i('context menu event', e);
933
+ }
934
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
935
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.12", type: TaonTableComponent, isStandalone: false, selector: "taon-table", inputs: { pageNumber: "pageNumber", pageSize: "pageSize", allowedColumns: "allowedColumns", expansionTemplate: "expansionTemplate", rows: "rows", entityCrudController: "entityCrudController", columns: "columns", pageSizeOptions: "pageSizeOptions", hideSearch: "hideSearch" }, outputs: { expansionChange: "expansionChange", addingItem: "addingItem" }, viewQueries: [{ propertyName: "search", first: true, predicate: ["search"], descendants: true, static: true }], ngImport: i0, template: "<br />\n<columns-container *ngIf=\"!hideSearch\">\n <column grow>\n <mat-form-field class=\"search-input\">\n <input\n matInput\n placeholder=\"Type to search table...\"\n #search />\n </mat-form-field>\n </column>\n <column [width]=\"80\">\n <button\n mat-fab\n [ngClass]=\"{ 'half-opacity': !search.value }\"\n class=\"undo-button\"\n color=\"secondary\"\n (click)=\"search.value = ''\">\n <mat-icon>close </mat-icon>\n </button>\n </column>\n\n <column [width]=\"80\">\n <button\n mat-fab\n (click)=\"addingItem.next()\"\n class=\"undo-button\"\n color=\"primary\">\n <mat-icon>add</mat-icon>\n </button>\n </column>\n</columns-container>\n\n<mtx-grid\n *ngIf=\"rows && columns\"\n [data]=\"rows\"\n [columns]=\"columns\"\n [expandable]=\"expandable\"\n [expansionTemplate]=\"expansionTemplate\"\n (expansionChange)=\"expansionRow($event)\"\n [length]=\"totalElements\"\n [loading]=\"isLoading\"\n [pageOnFront]=\"false\"\n [pageIndex]=\"pageNumber - 1\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n [showPaginator]=\"showPaginator\"\n (page)=\"getNextPage($event)\">\n</mtx-grid>", styles: [":host{min-height:250px}.search-input{width:100%}.undo-button{margin-left:10px}.half-opacity{opacity:.2}\n"], dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i3.MtxGrid, selector: "mtx-grid", inputs: ["displayedColumns", "columns", "data", "length", "loading", "trackBy", "columnResizable", "emptyValuePlaceholder", "pageOnFront", "showPaginator", "pageDisabled", "showFirstLastButtons", "pageIndex", "pageSize", "pageSizeOptions", "hidePageSize", "paginationTemplate", "sortOnFront", "sortActive", "sortDirection", "sortDisableClear", "sortDisabled", "sortStart", "rowHover", "rowStriped", "expandable", "expansionTemplate", "multiSelectable", "multiSelectionWithClick", "rowSelectable", "hideRowSelectionCheckbox", "disableRowClickSelection", "rowSelectionFormatter", "rowClassFormatter", "rowSelected", "cellSelectable", "showToolbar", "toolbarTitle", "toolbarTemplate", "columnHideable", "columnHideableChecked", "columnSortable", "columnPinnable", "columnPinOptions", "showColumnMenuButton", "columnMenuButtonText", "columnMenuButtonType", "columnMenuButtonColor", "columnMenuButtonClass", "columnMenuButtonIcon", "columnMenuButtonFontIcon", "columnMenuButtonSvgIcon", "showColumnMenuHeader", "columnMenuHeaderText", "columnMenuHeaderTemplate", "showColumnMenuFooter", "columnMenuFooterText", "columnMenuFooterTemplate", "noResultText", "noResultTemplate", "headerTemplate", "headerExtraTemplate", "cellTemplate", "useContentRowTemplate", "useContentHeaderRowTemplate", "useContentFooterRowTemplate", "showSummary", "summaryTemplate", "showSidebar", "sidebarTemplate", "showStatusbar", "statusbarTemplate"], outputs: ["page", "sortChange", "rowClick", "rowContextMenu", "expansionChange", "rowSelectedChange", "cellSelectedChange", "columnChange"], exportAs: ["mtxGrid"] }, { kind: "directive", type: i2$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i1$2.ColumnsComponent, selector: "columns-container" }, { kind: "component", type: i1$2.ColumnComponent, selector: "column", inputs: ["width"] }, { kind: "directive", type: i1$2.DirectiveGrow, selector: "[grow]" }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatFabButton, selector: "button[mat-fab]", inputs: ["extended"], exportAs: ["matButton"] }] }); }
936
+ }
937
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonTableComponent, decorators: [{
938
+ type: Component,
939
+ args: [{ selector: 'taon-table', standalone: false, template: "<br />\n<columns-container *ngIf=\"!hideSearch\">\n <column grow>\n <mat-form-field class=\"search-input\">\n <input\n matInput\n placeholder=\"Type to search table...\"\n #search />\n </mat-form-field>\n </column>\n <column [width]=\"80\">\n <button\n mat-fab\n [ngClass]=\"{ 'half-opacity': !search.value }\"\n class=\"undo-button\"\n color=\"secondary\"\n (click)=\"search.value = ''\">\n <mat-icon>close </mat-icon>\n </button>\n </column>\n\n <column [width]=\"80\">\n <button\n mat-fab\n (click)=\"addingItem.next()\"\n class=\"undo-button\"\n color=\"primary\">\n <mat-icon>add</mat-icon>\n </button>\n </column>\n</columns-container>\n\n<mtx-grid\n *ngIf=\"rows && columns\"\n [data]=\"rows\"\n [columns]=\"columns\"\n [expandable]=\"expandable\"\n [expansionTemplate]=\"expansionTemplate\"\n (expansionChange)=\"expansionRow($event)\"\n [length]=\"totalElements\"\n [loading]=\"isLoading\"\n [pageOnFront]=\"false\"\n [pageIndex]=\"pageNumber - 1\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n [showPaginator]=\"showPaginator\"\n (page)=\"getNextPage($event)\">\n</mtx-grid>", styles: [":host{min-height:250px}.search-input{width:100%}.undo-button{margin-left:10px}.half-opacity{opacity:.2}\n"] }]
940
+ }], propDecorators: { pageNumber: [{
941
+ type: Input
942
+ }], pageSize: [{
943
+ type: Input
944
+ }], allowedColumns: [{
945
+ type: Input
946
+ }], expansionTemplate: [{
947
+ type: Input
948
+ }], rows: [{
949
+ type: Input
950
+ }], entityCrudController: [{
951
+ type: Input
952
+ }], columns: [{
953
+ type: Input
954
+ }], pageSizeOptions: [{
955
+ type: Input
956
+ }], hideSearch: [{
957
+ type: Input
958
+ }], expansionChange: [{
959
+ type: Output
960
+ }], addingItem: [{
961
+ type: Output
962
+ }], search: [{
963
+ type: ViewChild,
964
+ args: ['search', { static: true }]
965
+ }] } });
966
+
967
+ class TaonTableModule {
968
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
969
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.12", ngImport: i0, type: TaonTableModule, declarations: [TaonTableComponent], imports: [CommonModule,
970
+ MatSelectModule,
971
+ MtxGridModule,
972
+ MatFormFieldModule,
973
+ MatInputModule,
974
+ StaticColumnsModule,
975
+ MatIconModule,
976
+ MatButtonModule,
977
+ FormsModule,
978
+ ReactiveFormsModule], exports: [TaonTableComponent] }); }
979
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonTableModule, imports: [CommonModule,
980
+ MatSelectModule,
981
+ MtxGridModule,
982
+ MatFormFieldModule,
983
+ MatInputModule,
984
+ StaticColumnsModule,
985
+ MatIconModule,
986
+ MatButtonModule,
987
+ FormsModule,
988
+ ReactiveFormsModule] }); }
989
+ }
990
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonTableModule, decorators: [{
991
+ type: NgModule,
992
+ args: [{
993
+ imports: [
994
+ CommonModule,
995
+ MatSelectModule,
996
+ MtxGridModule,
997
+ MatFormFieldModule,
998
+ MatInputModule,
999
+ StaticColumnsModule,
1000
+ MatIconModule,
1001
+ MatButtonModule,
1002
+ FormsModule,
1003
+ ReactiveFormsModule,
1004
+ ],
1005
+ exports: [TaonTableComponent],
1006
+ declarations: [TaonTableComponent],
1007
+ }]
1008
+ }] });
1009
+
1010
+ //#region @browser
1011
+ //#endregion
1012
+
1013
+ class TaonAdminModeConfigurationComponent {
1014
+ get opened() {
1015
+ return !this.isIframe && this.taonAdminService.adminPanelIsOpen;
1016
+ }
1017
+ set opened(v) {
1018
+ if (v && !this.openedOnce) {
1019
+ this.openedOnce = true;
1020
+ }
1021
+ if (this.wasOpenDraggablePopup) {
1022
+ this.wasOpenDraggablePopup = false;
1023
+ this.taonAdminService.draggablePopupMode = true;
1024
+ }
1025
+ this.taonAdminService.adminPanelIsOpen = v;
1026
+ }
1027
+ //#endregion
1028
+ //#region constructor
1029
+ constructor(breakpointsService) {
1030
+ this.breakpointsService = breakpointsService;
1031
+ //#region fields & getters
1032
+ this.$destroy = new Subject();
1033
+ this.cdr = inject(ChangeDetectorRef);
1034
+ this.taonAdminService = TaonAdminService.Instance;
1035
+ this.isWebSQLMode = Helpers.isWebSQL;
1036
+ this.hideTaonToolsInProduction = ENV.hideTaonToolsInProduction && ENV.angularProd;
1037
+ this.isIframe = window.location !== window.parent.location;
1038
+ this.height = 100;
1039
+ this.openedOnce = false;
1040
+ this.reloading = false;
1041
+ this.showPasscode = _.isString(ENV.passcode) || _.isObject(ENV.passcode);
1042
+ this.passcode = _.isString(ENV.passcode)
1043
+ ? ENV.passcode
1044
+ : _.isObject(ENV.passcode)
1045
+ ? ENV.passcode.code
1046
+ : '';
1047
+ this.message = _.isObject(ENV.passcode)
1048
+ ? ENV.passcode.message
1049
+ : void 0;
1050
+ this.dragPositionZero = { x: 0, y: 0 };
1051
+ this.taonAdminModeConfigurationDataChanged = new EventEmitter();
1052
+ this.taonAdminModeConfigurationData = {};
1053
+ this.breakpointsService
1054
+ .listenTo()
1055
+ .pipe(takeUntil(this.$destroy))
1056
+ .subscribe(breakpoint => {
1057
+ // @ts-ignore
1058
+ this.isDesktop = breakpoint === 'desktop';
1059
+ });
1060
+ }
1061
+ //#endregion
1062
+ //#region hooks
1063
+ async ngOnInit() {
1064
+ await Stor.awaitPendingOperatios();
1065
+ // console.log('PENDING OPERATION AWAITED ', this.selectedIndex)
1066
+ // console.log('draggablePopupModeFullScreen ', this.taonAdminService.draggablePopupModeFullScreen)
1067
+ this.dragPosition = { x: this.dragPositionX, y: this.dragPositionY };
1068
+ this.openedOnce = this.opened;
1069
+ // console.log('ONINIT',{
1070
+ // 'this.openedOnce': this.openedOnce,
1071
+ // 'this.dragPosition': this.dragPosition,
1072
+ // this: this
1073
+ // })
1074
+ }
1075
+ ngAfterViewInit() {
1076
+ //Called after ngAfterContentInit when the component's view has been initialized. Applies to components only.
1077
+ //Add 'implements AfterViewInit' to the class.
1078
+ setTimeout(() => {
1079
+ this.height = window.innerHeight;
1080
+ // TODO QUICK_FIX for draggble popup proper first index load on tabs
1081
+ if (this.taonAdminService.draggablePopupMode) {
1082
+ this.reloadTabs();
1083
+ }
1084
+ // const tablist = (this.tabGroup?._tabHeader?._elementRef?.nativeElement as HTMLElement).querySelector('.mat-tab-list') as HTMLElement;
1085
+ // if (tablist) {
1086
+ // tablist.style.transform = 'translateX(0px)'; // TODO QUICK_FIX
1087
+ // }
1088
+ });
1089
+ }
1090
+ ngOnDestroy() {
1091
+ this.$destroy.next(void 0);
1092
+ this.$destroy.complete();
1093
+ }
1094
+ onResize(event) {
1095
+ this.height = window.innerHeight;
1096
+ }
1097
+ //#endregion
1098
+ //#region methods
1099
+ async reloadTabs() {
1100
+ return new Promise(resolve => {
1101
+ this.reloading = true;
1102
+ setTimeout(() => {
1103
+ this.reloading = false;
1104
+ console.log('reloading done');
1105
+ resolve();
1106
+ });
1107
+ });
1108
+ }
1109
+ async toogle() {
1110
+ // await stor.setItem(IS_OPEN_ADMIN, !this.opened);
1111
+ this.opened = !this.opened;
1112
+ }
1113
+ async toogleFullScreen() {
1114
+ this.taonAdminService.draggablePopupMode = true;
1115
+ this.taonAdminService.draggablePopupModeFullScreen =
1116
+ !this.taonAdminService.draggablePopupModeFullScreen;
1117
+ this.resetDrag();
1118
+ }
1119
+ resetDrag() {
1120
+ this.dragPositionX = 0;
1121
+ this.dragPositionY = 0;
1122
+ this.dragPosition = { x: this.dragPositionX, y: this.dragPositionY };
1123
+ }
1124
+ moved(c) {
1125
+ this.dragPositionX += c.distance.x;
1126
+ this.dragPositionY += c.distance.y;
1127
+ }
1128
+ scrollTabs(event) {
1129
+ return;
1130
+ // event?.stopPropagation();
1131
+ // event?.stopImmediatePropagation(); // TODO not working
1132
+ // const children = this.tabGroup._tabHeader._elementRef.nativeElement.children;
1133
+ // const back = children[0];
1134
+ // const forward = children[2];
1135
+ // if (event.deltaY > 0) {
1136
+ // forward.click();
1137
+ // } else {
1138
+ // back.click();
1139
+ // }
1140
+ }
1141
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonAdminModeConfigurationComponent, deps: [{ token: i1$2.BreakpointsService }], target: i0.ɵɵFactoryTarget.Component }); }
1142
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.12", type: TaonAdminModeConfigurationComponent, isStandalone: true, selector: "taon-admin-mode-configuration", inputs: { taonAdminModeConfigurationData: "taonAdminModeConfigurationData" }, outputs: { taonAdminModeConfigurationDataChanged: "taonAdminModeConfigurationDataChanged" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "tabGroup", first: true, predicate: ["tabGroup"], descendants: true }], ngImport: i0, template: "<!-- #region basic global components -->\n<taon-session-passcode\n *ngIf=\"showPasscode\"\n [passcode]=\"passcode\"\n [message]=\"message\" />\n<!-- <taon-progress-bar [isDesktop]=\"isDesktop\"></taon-progress-bar> -->\n<!-- <taon-notifications></taon-notifications> -->\n<button\n mat-fab\n class=\"fab-button\"\n color=\"accent\"\n aria-label=\"Taon Admin Mode\"\n *ngIf=\"\n !taonAdminService.draggablePopupMode &&\n isDesktop &&\n !isIframe &&\n !hideTaonToolsInProduction\n \"\n (click)=\"toogle()\">\n <mat-icon>build</mat-icon>\n</button>\n<!-- #endregion -->\n\n<!-- #region small hidden button -->\n<!-- <button class=\"admin-show-button\"\n *ngIf=\"!taonAdminService.draggablePopupMode && isDesktop\"\n (click)=\"toogle()\"> Admin </button> -->\n<!-- #endregion -->\n\n<ng-template #contentNoScroll>\n <ng-content> </ng-content>\n</ng-template>\n\n<ng-template #content>\n <ng-scrollbar>\n <ng-container [ngTemplateOutlet]=\"contentNoScroll\"></ng-container>\n </ng-scrollbar>\n</ng-template>\n\n<!-- #region admin tabs -->\n<ng-template #adminTabs>\n <!-- #region admin tabs / header -->\n <div class=\"taon-header-admin-wrapper\">\n <columns-container\n class=\"taon-header-admin\"\n [ngClass]=\"{ 'draggable-column': taonAdminService.draggablePopupMode }\">\n <column\n width=\"200\"\n class=\"logo-header\">\n <img\n *ngIf=\"openedOnce\"\n src=\"assets/assets-for/taon-ui/assets/shared/logo-header-admin-mode.png\" />\n </column>\n\n <column grow>\n <!-- <span>Super Admin Mode</span> -->\n </column>\n\n <column\n width=\"40\"\n *ngIf=\"\n !taonAdminService.draggablePopupModeFullScreen &&\n !taonAdminService.draggablePopupMode\n \">\n <button\n mat-icon-button\n *ngIf=\"taonAdminService.draggablePopupMode\"\n (click)=\"\n taonAdminService.draggablePopupMode = false;\n opened = false;\n wasOpenDraggablePopup = true\n \"\n class=\"admin-close-button\">\n <mat-icon>close </mat-icon>\n </button>\n\n <button\n mat-icon-button\n *ngIf=\"!taonAdminService.draggablePopupMode\"\n (click)=\"toogle()\"\n class=\"admin-close-button\">\n <mat-icon>close</mat-icon>\n </button>\n </column>\n\n <column width=\"40\">\n <button\n mat-icon-button\n *ngIf=\"!taonAdminService.draggablePopupModeFullScreen\"\n class=\"admin-close-button\"\n (click)=\"toogleFullScreen()\">\n <mat-icon>fullscreen</mat-icon>\n </button>\n <button\n mat-icon-button\n *ngIf=\"taonAdminService.draggablePopupModeFullScreen\"\n class=\"admin-close-button\"\n (click)=\"toogleFullScreen()\">\n <mat-icon>close_fullscreen</mat-icon>\n </button>\n </column>\n\n <column\n width=\"40\"\n *ngIf=\"!taonAdminService.draggablePopupModeFullScreen\">\n <button\n mat-icon-button\n *ngIf=\"!taonAdminService.draggablePopupMode\"\n (click)=\"taonAdminService.draggablePopupMode = true\"\n class=\"admin-close-button\">\n <mat-icon>launch</mat-icon>\n </button>\n\n <button\n mat-icon-button\n *ngIf=\"taonAdminService.draggablePopupMode\"\n (click)=\"taonAdminService.draggablePopupMode = false; resetDrag()\"\n class=\"admin-close-button\">\n <mat-icon style=\"transform: rotate(180deg)\">login</mat-icon>\n </button>\n </column>\n </columns-container>\n </div>\n <!-- #endregion -->\n\n <columns-container\n [ngClass]=\"{ 'draggable-column': taonAdminService.draggablePopupMode }\">\n <column grow>\n <mat-tab-group\n dynamicHeight\n (wheel)=\"scrollTabs($event)\"\n #tabGroup\n [selectedIndex]=\"selectedIndex\"\n (selectedIndexChange)=\"selectedIndex = $event\">\n <mat-tab label=\"DB/Cache\">\n <section>\n <mat-card>\n <mat-card-header>\n <mat-card-subtitle>WEBSQL MODE</mat-card-subtitle>\n </mat-card-header>\n <mat-card-content>\n <mat-checkbox\n [disabled]=\"!isWebSQLMode\"\n [ngModel]=\"taonAdminService.keepWebsqlDbDataAfterReload\"\n (change)=\"\n taonAdminService.setKeepWebsqlDbDataAfterReload(\n $event.checked\n )\n \">\n Don't remove data when reloading\n </mat-checkbox>\n </mat-card-content>\n </mat-card>\n </section>\n <br />\n <taon-db-admin />\n </mat-tab>\n </mat-tab-group>\n </column>\n </columns-container>\n</ng-template>\n<!-- #endregion -->\n\n<!-- #region small/mobile draggable popup windows -->\n<div\n class=\"draggable-popup-mode-window\"\n *ngIf=\"\n taonAdminService.draggablePopupMode &&\n !taonAdminService.draggablePopupModeFullScreen &&\n !isIframe\n \"\n cdkDrag\n [cdkDragFreeDragPosition]=\"dragPosition\"\n (cdkDragEnded)=\"moved($event)\">\n <ng-scrollbar>\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n </ng-scrollbar>\n</div>\n<!-- #endregion -->\n\n<!-- #region fullscreen draggable popup window -->\n<div\n class=\"draggable-popup-mode-window-full\"\n *ngIf=\"\n taonAdminService.draggablePopupMode &&\n taonAdminService.draggablePopupModeFullScreen &&\n !isIframe &&\n !reloading\n \"\n cdkDrag\n [cdkDragFreeDragPosition]=\"dragPositionZero\">\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n</div>\n<!-- #endregion -->\n\n<!-- #region content when not in draggable (or fullscreen draggable) popup -->\n<div\n [style.height.px]=\"height\"\n *ngIf=\"\n (isIframe ||\n !isDesktop ||\n taonAdminService.draggablePopupMode ||\n taonAdminService.draggablePopupModeFullScreen) &&\n !reloading\n \"\n style=\"width: 100%; display: block\"\n class=\"content\">\n <ng-container\n [ngTemplateOutlet]=\"\n taonAdminService.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n</div>\n<!-- #endregion -->\n\n<!-- #region draggable popup window -->\n<mat-drawer-container\n *ngIf=\"!taonAdminService.draggablePopupMode && isDesktop && !isIframe\"\n class=\"example-container\"\n [style.height.px]=\"height\"\n style=\"background-color: transparent\"\n (backdropClick)=\"opened = false\"\n [hasBackdrop]=\"false\">\n <mat-drawer\n #drawer\n style=\"width: 580px\"\n [opened]=\"opened\"\n [mode]=\"'side'\">\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n </mat-drawer>\n <mat-drawer-content style=\"overflow: hidden\">\n <ng-container\n *ngIf=\"!taonAdminService.draggablePopupMode && !reloading\"\n [ngTemplateOutlet]=\"\n taonAdminService.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n </mat-drawer-content>\n</mat-drawer-container>\n<!-- #endregion -->", styles: ["section{display:block;padding:10px}section>*{margin-top:0!important;margin-bottom:10px!important}section>*:last-child{margin-bottom:0!important}:host{display:block}.draggable-column{display:block!important;width:100%!important}.admin-show-button{position:fixed;bottom:100px;left:-15px;z-index:2147483647;transform:rotate(90deg);border:0px;color:#fff;background:gray;opacity:.1;cursor:pointer}.admin-show-button:hover{opacity:1}.taon-ui-super-admin-mode{font-family:JosefinSans-Bold;text-align:right;margin-right:10px}mat-drawer{margin:0;background-color:#dcdcdc!important}.taon-header-admin-wrapper{overflow:hidden;width:100%;display:block}.taon-header-admin{background:#fff;box-shadow:0 -9px 6px 6px #000;height:47px}.taon-header-admin .logo-header img{height:18px;padding:8px;position:relative;float:left;top:7px;box-sizing:content-box;transform:scale(1.5);left:49px}.draggable-popup-mode-window{width:600px;height:500px;border:solid 1px #ccc;color:#000000de;cursor:move;justify-content:center;align-items:center;background:#fff;border-radius:4px;position:fixed;z-index:105;background-color:#dcdcdc!important;transition:box-shadow .2s cubic-bezier(0,0,.2,1);box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.draggable-popup-mode-window:active{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.draggable-popup-mode-window-full{width:100%;height:100%;overflow:scroll;color:#000000de;justify-content:center;align-items:center;background:#fff;border-radius:4px;position:fixed;z-index:105;background-color:#dcdcdc!important}.admin-close-button{float:right}.fab-button{position:fixed;right:110px;bottom:100px;z-index:10;background-color:#dcdcdc;color:#8f8f8f}.full-tabs{padding:10px}.mat-drawer-container-full-screen{background-color:red}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: StaticColumnsModule }, { kind: "component", type: i1$2.ColumnsComponent, selector: "columns-container" }, { kind: "component", type: i1$2.ColumnComponent, selector: "column", inputs: ["width"] }, { kind: "directive", type: i1$2.DirectiveGrow, selector: "[grow]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NgScrollbarModule }, { kind: "component", type: i4.NgScrollbar, selector: "ng-scrollbar:not([externalViewport])", exportAs: ["ngScrollbar"] }, { kind: "ngmodule", type: TaonProgressBarModule }, { kind: "ngmodule", type: TaonNotificationsModule }, { kind: "ngmodule", type: TaonFullMaterialModule }, { kind: "directive", type: i5$1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i6.MatFabButton, selector: "button[mat-fab]", inputs: ["extended"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i7.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i7.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i7.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "component", type: i8.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i10.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: i10.MatDrawerContent, selector: "mat-drawer-content" }, { kind: "component", type: i11.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: i11.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "mat-align-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: // TODO import only partial things
1143
+ // TaonDbAdminComponent,
1144
+ TaonSessionPasscodeComponent, selector: "taon-session-passcode", inputs: ["passcode", "message"] }] }); }
1145
+ }
1146
+ __decorate([
1147
+ (Stor.property.in.localstorage
1148
+ .for(TaonAdminModeConfigurationComponent)
1149
+ .withDefaultValue(0)),
1150
+ __metadata("design:type", Number)
1151
+ ], TaonAdminModeConfigurationComponent.prototype, "dragPositionX", void 0);
1152
+ __decorate([
1153
+ (Stor.property.in.localstorage
1154
+ .for(TaonAdminModeConfigurationComponent)
1155
+ .withDefaultValue(0)),
1156
+ __metadata("design:type", Number)
1157
+ ], TaonAdminModeConfigurationComponent.prototype, "dragPositionY", void 0);
1158
+ __decorate([
1159
+ (Stor.property.in.localstorage
1160
+ .for(TaonAdminModeConfigurationComponent)
1161
+ .withDefaultValue(0)),
1162
+ __metadata("design:type", Number)
1163
+ ], TaonAdminModeConfigurationComponent.prototype, "selectedIndex", void 0);
1164
+ __decorate([
1165
+ (Stor.property.in.localstorage
1166
+ .for(TaonAdminModeConfigurationComponent)
1167
+ .withDefaultValue(false)),
1168
+ __metadata("design:type", Boolean)
1169
+ ], TaonAdminModeConfigurationComponent.prototype, "wasOpenDraggablePopup", void 0);
1170
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonAdminModeConfigurationComponent, decorators: [{
1171
+ type: Component,
1172
+ args: [{ selector: 'taon-admin-mode-configuration', standalone: true, imports: [
1173
+ CommonModule,
1174
+ StaticColumnsModule,
1175
+ FormsModule,
1176
+ NgScrollbarModule,
1177
+ TaonProgressBarModule,
1178
+ TaonNotificationsModule,
1179
+ TaonFullMaterialModule, // TODO import only partial things
1180
+ // TaonDbAdminComponent,
1181
+ TaonSessionPasscodeComponent,
1182
+ ], template: "<!-- #region basic global components -->\n<taon-session-passcode\n *ngIf=\"showPasscode\"\n [passcode]=\"passcode\"\n [message]=\"message\" />\n<!-- <taon-progress-bar [isDesktop]=\"isDesktop\"></taon-progress-bar> -->\n<!-- <taon-notifications></taon-notifications> -->\n<button\n mat-fab\n class=\"fab-button\"\n color=\"accent\"\n aria-label=\"Taon Admin Mode\"\n *ngIf=\"\n !taonAdminService.draggablePopupMode &&\n isDesktop &&\n !isIframe &&\n !hideTaonToolsInProduction\n \"\n (click)=\"toogle()\">\n <mat-icon>build</mat-icon>\n</button>\n<!-- #endregion -->\n\n<!-- #region small hidden button -->\n<!-- <button class=\"admin-show-button\"\n *ngIf=\"!taonAdminService.draggablePopupMode && isDesktop\"\n (click)=\"toogle()\"> Admin </button> -->\n<!-- #endregion -->\n\n<ng-template #contentNoScroll>\n <ng-content> </ng-content>\n</ng-template>\n\n<ng-template #content>\n <ng-scrollbar>\n <ng-container [ngTemplateOutlet]=\"contentNoScroll\"></ng-container>\n </ng-scrollbar>\n</ng-template>\n\n<!-- #region admin tabs -->\n<ng-template #adminTabs>\n <!-- #region admin tabs / header -->\n <div class=\"taon-header-admin-wrapper\">\n <columns-container\n class=\"taon-header-admin\"\n [ngClass]=\"{ 'draggable-column': taonAdminService.draggablePopupMode }\">\n <column\n width=\"200\"\n class=\"logo-header\">\n <img\n *ngIf=\"openedOnce\"\n src=\"assets/assets-for/taon-ui/assets/shared/logo-header-admin-mode.png\" />\n </column>\n\n <column grow>\n <!-- <span>Super Admin Mode</span> -->\n </column>\n\n <column\n width=\"40\"\n *ngIf=\"\n !taonAdminService.draggablePopupModeFullScreen &&\n !taonAdminService.draggablePopupMode\n \">\n <button\n mat-icon-button\n *ngIf=\"taonAdminService.draggablePopupMode\"\n (click)=\"\n taonAdminService.draggablePopupMode = false;\n opened = false;\n wasOpenDraggablePopup = true\n \"\n class=\"admin-close-button\">\n <mat-icon>close </mat-icon>\n </button>\n\n <button\n mat-icon-button\n *ngIf=\"!taonAdminService.draggablePopupMode\"\n (click)=\"toogle()\"\n class=\"admin-close-button\">\n <mat-icon>close</mat-icon>\n </button>\n </column>\n\n <column width=\"40\">\n <button\n mat-icon-button\n *ngIf=\"!taonAdminService.draggablePopupModeFullScreen\"\n class=\"admin-close-button\"\n (click)=\"toogleFullScreen()\">\n <mat-icon>fullscreen</mat-icon>\n </button>\n <button\n mat-icon-button\n *ngIf=\"taonAdminService.draggablePopupModeFullScreen\"\n class=\"admin-close-button\"\n (click)=\"toogleFullScreen()\">\n <mat-icon>close_fullscreen</mat-icon>\n </button>\n </column>\n\n <column\n width=\"40\"\n *ngIf=\"!taonAdminService.draggablePopupModeFullScreen\">\n <button\n mat-icon-button\n *ngIf=\"!taonAdminService.draggablePopupMode\"\n (click)=\"taonAdminService.draggablePopupMode = true\"\n class=\"admin-close-button\">\n <mat-icon>launch</mat-icon>\n </button>\n\n <button\n mat-icon-button\n *ngIf=\"taonAdminService.draggablePopupMode\"\n (click)=\"taonAdminService.draggablePopupMode = false; resetDrag()\"\n class=\"admin-close-button\">\n <mat-icon style=\"transform: rotate(180deg)\">login</mat-icon>\n </button>\n </column>\n </columns-container>\n </div>\n <!-- #endregion -->\n\n <columns-container\n [ngClass]=\"{ 'draggable-column': taonAdminService.draggablePopupMode }\">\n <column grow>\n <mat-tab-group\n dynamicHeight\n (wheel)=\"scrollTabs($event)\"\n #tabGroup\n [selectedIndex]=\"selectedIndex\"\n (selectedIndexChange)=\"selectedIndex = $event\">\n <mat-tab label=\"DB/Cache\">\n <section>\n <mat-card>\n <mat-card-header>\n <mat-card-subtitle>WEBSQL MODE</mat-card-subtitle>\n </mat-card-header>\n <mat-card-content>\n <mat-checkbox\n [disabled]=\"!isWebSQLMode\"\n [ngModel]=\"taonAdminService.keepWebsqlDbDataAfterReload\"\n (change)=\"\n taonAdminService.setKeepWebsqlDbDataAfterReload(\n $event.checked\n )\n \">\n Don't remove data when reloading\n </mat-checkbox>\n </mat-card-content>\n </mat-card>\n </section>\n <br />\n <taon-db-admin />\n </mat-tab>\n </mat-tab-group>\n </column>\n </columns-container>\n</ng-template>\n<!-- #endregion -->\n\n<!-- #region small/mobile draggable popup windows -->\n<div\n class=\"draggable-popup-mode-window\"\n *ngIf=\"\n taonAdminService.draggablePopupMode &&\n !taonAdminService.draggablePopupModeFullScreen &&\n !isIframe\n \"\n cdkDrag\n [cdkDragFreeDragPosition]=\"dragPosition\"\n (cdkDragEnded)=\"moved($event)\">\n <ng-scrollbar>\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n </ng-scrollbar>\n</div>\n<!-- #endregion -->\n\n<!-- #region fullscreen draggable popup window -->\n<div\n class=\"draggable-popup-mode-window-full\"\n *ngIf=\"\n taonAdminService.draggablePopupMode &&\n taonAdminService.draggablePopupModeFullScreen &&\n !isIframe &&\n !reloading\n \"\n cdkDrag\n [cdkDragFreeDragPosition]=\"dragPositionZero\">\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n</div>\n<!-- #endregion -->\n\n<!-- #region content when not in draggable (or fullscreen draggable) popup -->\n<div\n [style.height.px]=\"height\"\n *ngIf=\"\n (isIframe ||\n !isDesktop ||\n taonAdminService.draggablePopupMode ||\n taonAdminService.draggablePopupModeFullScreen) &&\n !reloading\n \"\n style=\"width: 100%; display: block\"\n class=\"content\">\n <ng-container\n [ngTemplateOutlet]=\"\n taonAdminService.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n</div>\n<!-- #endregion -->\n\n<!-- #region draggable popup window -->\n<mat-drawer-container\n *ngIf=\"!taonAdminService.draggablePopupMode && isDesktop && !isIframe\"\n class=\"example-container\"\n [style.height.px]=\"height\"\n style=\"background-color: transparent\"\n (backdropClick)=\"opened = false\"\n [hasBackdrop]=\"false\">\n <mat-drawer\n #drawer\n style=\"width: 580px\"\n [opened]=\"opened\"\n [mode]=\"'side'\">\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n </mat-drawer>\n <mat-drawer-content style=\"overflow: hidden\">\n <ng-container\n *ngIf=\"!taonAdminService.draggablePopupMode && !reloading\"\n [ngTemplateOutlet]=\"\n taonAdminService.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n </mat-drawer-content>\n</mat-drawer-container>\n<!-- #endregion -->", styles: ["section{display:block;padding:10px}section>*{margin-top:0!important;margin-bottom:10px!important}section>*:last-child{margin-bottom:0!important}:host{display:block}.draggable-column{display:block!important;width:100%!important}.admin-show-button{position:fixed;bottom:100px;left:-15px;z-index:2147483647;transform:rotate(90deg);border:0px;color:#fff;background:gray;opacity:.1;cursor:pointer}.admin-show-button:hover{opacity:1}.taon-ui-super-admin-mode{font-family:JosefinSans-Bold;text-align:right;margin-right:10px}mat-drawer{margin:0;background-color:#dcdcdc!important}.taon-header-admin-wrapper{overflow:hidden;width:100%;display:block}.taon-header-admin{background:#fff;box-shadow:0 -9px 6px 6px #000;height:47px}.taon-header-admin .logo-header img{height:18px;padding:8px;position:relative;float:left;top:7px;box-sizing:content-box;transform:scale(1.5);left:49px}.draggable-popup-mode-window{width:600px;height:500px;border:solid 1px #ccc;color:#000000de;cursor:move;justify-content:center;align-items:center;background:#fff;border-radius:4px;position:fixed;z-index:105;background-color:#dcdcdc!important;transition:box-shadow .2s cubic-bezier(0,0,.2,1);box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.draggable-popup-mode-window:active{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.draggable-popup-mode-window-full{width:100%;height:100%;overflow:scroll;color:#000000de;justify-content:center;align-items:center;background:#fff;border-radius:4px;position:fixed;z-index:105;background-color:#dcdcdc!important}.admin-close-button{float:right}.fab-button{position:fixed;right:110px;bottom:100px;z-index:10;background-color:#dcdcdc;color:#8f8f8f}.full-tabs{padding:10px}.mat-drawer-container-full-screen{background-color:red}\n"] }]
1183
+ }], ctorParameters: () => [{ type: i1$2.BreakpointsService }], propDecorators: { tabGroup: [{
1184
+ type: ViewChild,
1185
+ args: ['tabGroup']
1186
+ }], taonAdminModeConfigurationDataChanged: [{
1187
+ type: Output
1188
+ }], taonAdminModeConfigurationData: [{
1189
+ type: Input
1190
+ }], onResize: [{
1191
+ type: HostListener,
1192
+ args: ['window:resize', ['$event']]
1193
+ }] } });
1194
+
1195
+ //#region @browser
1196
+ //#endregion
1197
+
1198
+ class TaonBootstrapNavbarComponent {
1199
+ constructor() {
1200
+ // @HostBinding('style.minHeight.px') @Input() height: number = 100;
1201
+ // @Output() taonBootstrapNavbarDataChanged = new EventEmitter();
1202
+ this.isLoggedIn = false;
1203
+ this.isCollapsed = false;
1204
+ }
1205
+ ngOnInit() { }
1206
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonBootstrapNavbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1207
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.12", type: TaonBootstrapNavbarComponent, isStandalone: true, selector: "taon-bootstrap-navbar", inputs: { isLoggedIn: "isLoggedIn", isCollapsed: "isCollapsed" }, ngImport: i0, template: "<nav class=\"navbar navbar-expand-lg\">\n <div class=\"container-fluid\">\n <a\n class=\"navbar-brand\"\n routerLink=\"/home\"\n routerLinkActive=\"active\">\n Home</a\n >\n <button\n class=\"navbar-toggler\"\n type=\"button\"\n (click)=\"isCollapsed = !isCollapsed\">\n <span class=\"navbar-toggler-icon\"></span>\n </button>\n\n <div\n [ngbCollapse]=\"isCollapsed\"\n class=\"navbar-collapse\">\n <ul class=\"navbar-nav ms-auto\">\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/about\"\n routerLinkActive=\"active\"\n >O szkole</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/courses\"\n routerLinkActive=\"active\"\n >Kursy</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/opinions\"\n routerLinkActive=\"active\"\n >Opinie</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/instructors\"\n routerLinkActive=\"active\"\n >Lektorzy</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/contact\"\n routerLinkActive=\"active\"\n >Kontakt</a\n >\n </li>\n <ng-container *ngIf=\"isLoggedIn\">\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/test\"\n routerLinkActive=\"active\"\n ><b>Test plasuj\u0105cy</b></a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/grammar\"\n routerLinkActive=\"active\"\n >Gramatyka</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/vocabulary\"\n routerLinkActive=\"active\"\n >S\u0142ownictwo</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/reading\"\n routerLinkActive=\"active\"\n >Czytanie</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/movies\"\n routerLinkActive=\"active\"\n >Wideo</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/curiosities\"\n routerLinkActive=\"active\"\n >Ciekawostki</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/logout\"\n routerLinkActive=\"active\"\n >Wyloguj</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/profile\"\n routerLinkActive=\"active\"\n >Profil</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/admin\"\n routerLinkActive=\"active\"\n >Admin</a\n >\n </li>\n </ng-container>\n <ng-container *ngIf=\"!isLoggedIn\">\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n href=\"javascript:void(0)\"\n (click)=\"modalLoginRegister()\">\n <span class=\"glyphicon glyphicon-hand-right\"></span> Rejestracja /\n <span class=\"glyphicon glyphicon-user\"></span> Logowanie\n </a>\n </li>\n </ng-container>\n </ul>\n </div>\n </div>\n</nav>\n<ng-content />", styles: [":host{display:block}nav{font-variant-caps:all-small-caps}.navbar-collapse.in{overflow:hidden;max-height:none!important;height:auto!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: NgbCollapseModule }, { kind: "directive", type: i2$3.NgbCollapse, selector: "[ngbCollapse]", inputs: ["animation", "ngbCollapse", "horizontal"], outputs: ["ngbCollapseChange", "shown", "hidden"], exportAs: ["ngbCollapse"] }, { kind: "ngmodule", type: ModalModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1208
+ }
1209
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonBootstrapNavbarComponent, decorators: [{
1210
+ type: Component,
1211
+ args: [{ selector: 'taon-bootstrap-navbar', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
1212
+ CommonModule,
1213
+ NgbCollapseModule,
1214
+ ModalModule,
1215
+ ], standalone: true, template: "<nav class=\"navbar navbar-expand-lg\">\n <div class=\"container-fluid\">\n <a\n class=\"navbar-brand\"\n routerLink=\"/home\"\n routerLinkActive=\"active\">\n Home</a\n >\n <button\n class=\"navbar-toggler\"\n type=\"button\"\n (click)=\"isCollapsed = !isCollapsed\">\n <span class=\"navbar-toggler-icon\"></span>\n </button>\n\n <div\n [ngbCollapse]=\"isCollapsed\"\n class=\"navbar-collapse\">\n <ul class=\"navbar-nav ms-auto\">\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/about\"\n routerLinkActive=\"active\"\n >O szkole</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/courses\"\n routerLinkActive=\"active\"\n >Kursy</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/opinions\"\n routerLinkActive=\"active\"\n >Opinie</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/instructors\"\n routerLinkActive=\"active\"\n >Lektorzy</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/contact\"\n routerLinkActive=\"active\"\n >Kontakt</a\n >\n </li>\n <ng-container *ngIf=\"isLoggedIn\">\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/test\"\n routerLinkActive=\"active\"\n ><b>Test plasuj\u0105cy</b></a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/grammar\"\n routerLinkActive=\"active\"\n >Gramatyka</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/vocabulary\"\n routerLinkActive=\"active\"\n >S\u0142ownictwo</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/reading\"\n routerLinkActive=\"active\"\n >Czytanie</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/movies\"\n routerLinkActive=\"active\"\n >Wideo</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/curiosities\"\n routerLinkActive=\"active\"\n >Ciekawostki</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/logout\"\n routerLinkActive=\"active\"\n >Wyloguj</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/profile\"\n routerLinkActive=\"active\"\n >Profil</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/admin\"\n routerLinkActive=\"active\"\n >Admin</a\n >\n </li>\n </ng-container>\n <ng-container *ngIf=\"!isLoggedIn\">\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n href=\"javascript:void(0)\"\n (click)=\"modalLoginRegister()\">\n <span class=\"glyphicon glyphicon-hand-right\"></span> Rejestracja /\n <span class=\"glyphicon glyphicon-user\"></span> Logowanie\n </a>\n </li>\n </ng-container>\n </ul>\n </div>\n </div>\n</nav>\n<ng-content />", styles: [":host{display:block}nav{font-variant-caps:all-small-caps}.navbar-collapse.in{overflow:hidden;max-height:none!important;height:auto!important}\n"] }]
1216
+ }], propDecorators: { isLoggedIn: [{
1217
+ type: Input
1218
+ }], isCollapsed: [{
1219
+ type: Input
1220
+ }] } });
1221
+
1222
+ /**
1223
+ * Generated bundle index. Do not edit.
1224
+ */
1225
+
1226
+ export { SafePipe, TaonAdminModeConfigurationComponent, TaonBootstrapNavbarComponent, TaonFullMaterialModule, TaonGithubForkMeCornerComponent, TaonGithubForkMeCornerModule, TaonInjectHTMLDirective, TaonLongPress, TaonNotificationOptions, TaonNotificationsComponent, TaonNotificationsModule, TaonNotificationsService, TaonProgressBarComponent, TaonProgressBarModule, TaonSessionPasscodeComponent, TaonTableComponent, TaonTableModule };
1227
+ //# sourceMappingURL=taon-ui.mjs.map