taon 18.0.18 → 18.0.19

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 (270) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/esm2022/lib/base-classes/base-injector.mjs +8 -1
  3. package/browser/esm2022/lib/create-context.mjs +5 -3
  4. package/browser/esm2022/lib/decorators/http/http-decorators.mjs +3 -1
  5. package/browser/esm2022/lib/endpoint-context.mjs +35 -9
  6. package/browser/esm2022/lib/index.mjs +2 -1
  7. package/browser/esm2022/lib/ui/directives/index.mjs +6 -0
  8. package/browser/esm2022/lib/ui/directives/safe.pipe.mjs +43 -0
  9. package/browser/esm2022/lib/ui/directives/taon-inject-html.directive.mjs +24 -0
  10. package/browser/esm2022/lib/ui/directives/taon-long-press.directive.mjs +120 -0
  11. package/browser/esm2022/lib/ui/index.mjs +12 -0
  12. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.mjs +5 -0
  13. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.mjs +115 -0
  14. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.mjs +50 -0
  15. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.mjs +5 -0
  16. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.mjs +61 -0
  17. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.mjs +21 -0
  18. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/index.mjs +6 -0
  19. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.mjs +14 -3
  20. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.mjs +54 -0
  21. package/browser/esm2022/lib/ui/taon-full-material.module.mjs +179 -0
  22. package/browser/esm2022/lib/ui/taon-github-fork-me-corner/index.mjs +5 -0
  23. package/browser/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.mjs +18 -0
  24. package/browser/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.mjs +21 -0
  25. package/browser/esm2022/lib/ui/taon-notifications/index.mjs +7 -0
  26. package/browser/esm2022/lib/ui/taon-notifications/taon-notifications.component.mjs +25 -0
  27. package/browser/esm2022/lib/ui/taon-notifications/taon-notifications.models.mjs +5 -0
  28. package/browser/esm2022/lib/ui/taon-notifications/taon-notifications.module.mjs +21 -0
  29. package/browser/esm2022/lib/ui/taon-notifications/taon-notifications.service.mjs +48 -0
  30. package/browser/esm2022/lib/ui/taon-progress-bar/index.mjs +5 -0
  31. package/browser/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.component.mjs +98 -0
  32. package/browser/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.module.mjs +22 -0
  33. package/browser/esm2022/lib/ui/taon-session-passcode/index.mjs +4 -0
  34. package/browser/esm2022/lib/ui/taon-session-passcode/taon-session-passcode.component.mjs +120 -0
  35. package/browser/esm2022/lib/ui/taon-table/index.mjs +5 -0
  36. package/browser/esm2022/lib/ui/taon-table/taon-table.component.mjs +161 -0
  37. package/browser/esm2022/lib/ui/taon-table/taon-table.module.mjs +57 -0
  38. package/browser/fesm2022/taon.mjs +1445 -75
  39. package/browser/fesm2022/taon.mjs.map +1 -1
  40. package/browser/lib/base-classes/base-context.d.ts +4 -1
  41. package/browser/lib/base-classes/base-injector.d.ts +5 -0
  42. package/browser/lib/base-classes/base.d.ts +4 -1
  43. package/browser/lib/create-context.d.ts +4 -1
  44. package/browser/lib/decorators/http/http-decorators.d.ts +2 -0
  45. package/browser/lib/endpoint-context.d.ts +3 -2
  46. package/browser/lib/index.d.ts +13 -3
  47. package/browser/lib/ui/directives/index.d.ts +4 -0
  48. package/browser/lib/ui/directives/safe.pipe.d.ts +11 -0
  49. package/browser/lib/ui/directives/taon-inject-html.directive.d.ts +10 -0
  50. package/browser/lib/ui/directives/taon-long-press.directive.d.ts +26 -0
  51. package/browser/lib/ui/index.d.ts +10 -0
  52. package/browser/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.d.ts +3 -0
  53. package/browser/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.d.ts +33 -0
  54. package/browser/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.d.ts +16 -0
  55. package/browser/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.d.ts +3 -0
  56. package/browser/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.d.ts +17 -0
  57. package/browser/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.d.ts +10 -0
  58. package/browser/lib/ui/taon-admin-mode-configuration/index.d.ts +4 -0
  59. package/browser/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.d.ts +17 -0
  60. package/browser/lib/ui/taon-full-material.module.d.ts +47 -0
  61. package/browser/lib/ui/taon-github-fork-me-corner/index.d.ts +3 -0
  62. package/browser/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.d.ts +7 -0
  63. package/browser/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.d.ts +9 -0
  64. package/browser/lib/ui/taon-notifications/index.d.ts +5 -0
  65. package/browser/lib/ui/taon-notifications/taon-notifications.component.d.ts +13 -0
  66. package/browser/lib/ui/taon-notifications/taon-notifications.models.d.ts +7 -0
  67. package/browser/lib/ui/taon-notifications/taon-notifications.module.d.ts +8 -0
  68. package/browser/lib/ui/taon-notifications/taon-notifications.service.d.ts +15 -0
  69. package/browser/lib/ui/taon-progress-bar/index.d.ts +3 -0
  70. package/browser/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +19 -0
  71. package/browser/lib/ui/taon-progress-bar/taon-progress-bar.module.d.ts +10 -0
  72. package/browser/lib/ui/taon-session-passcode/index.d.ts +2 -0
  73. package/browser/lib/ui/taon-session-passcode/taon-session-passcode.component.d.ts +39 -0
  74. package/browser/lib/ui/taon-table/index.d.ts +3 -0
  75. package/browser/lib/ui/taon-table/taon-table.component.d.ts +37 -0
  76. package/browser/lib/ui/taon-table/taon-table.module.d.ts +17 -0
  77. package/client/esm2022/lib/base-classes/base-injector.mjs +8 -1
  78. package/client/esm2022/lib/create-context.mjs +5 -3
  79. package/client/esm2022/lib/decorators/http/http-decorators.mjs +3 -1
  80. package/client/esm2022/lib/endpoint-context.mjs +35 -9
  81. package/client/esm2022/lib/index.mjs +2 -1
  82. package/client/esm2022/lib/ui/directives/index.mjs +6 -0
  83. package/client/esm2022/lib/ui/directives/safe.pipe.mjs +43 -0
  84. package/client/esm2022/lib/ui/directives/taon-inject-html.directive.mjs +24 -0
  85. package/client/esm2022/lib/ui/directives/taon-long-press.directive.mjs +120 -0
  86. package/client/esm2022/lib/ui/index.mjs +12 -0
  87. package/client/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.mjs +5 -0
  88. package/client/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.mjs +115 -0
  89. package/client/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.mjs +50 -0
  90. package/client/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.mjs +5 -0
  91. package/client/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.mjs +61 -0
  92. package/client/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.mjs +21 -0
  93. package/client/esm2022/lib/ui/taon-admin-mode-configuration/index.mjs +6 -0
  94. package/client/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.mjs +14 -3
  95. package/client/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.mjs +54 -0
  96. package/client/esm2022/lib/ui/taon-full-material.module.mjs +179 -0
  97. package/client/esm2022/lib/ui/taon-github-fork-me-corner/index.mjs +5 -0
  98. package/client/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.mjs +18 -0
  99. package/client/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.mjs +21 -0
  100. package/client/esm2022/lib/ui/taon-notifications/index.mjs +7 -0
  101. package/client/esm2022/lib/ui/taon-notifications/taon-notifications.component.mjs +25 -0
  102. package/client/esm2022/lib/ui/taon-notifications/taon-notifications.models.mjs +5 -0
  103. package/client/esm2022/lib/ui/taon-notifications/taon-notifications.module.mjs +21 -0
  104. package/client/esm2022/lib/ui/taon-notifications/taon-notifications.service.mjs +48 -0
  105. package/client/esm2022/lib/ui/taon-progress-bar/index.mjs +5 -0
  106. package/client/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.component.mjs +98 -0
  107. package/client/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.module.mjs +22 -0
  108. package/client/esm2022/lib/ui/taon-session-passcode/index.mjs +4 -0
  109. package/client/esm2022/lib/ui/taon-session-passcode/taon-session-passcode.component.mjs +120 -0
  110. package/client/esm2022/lib/ui/taon-table/index.mjs +5 -0
  111. package/client/esm2022/lib/ui/taon-table/taon-table.component.mjs +161 -0
  112. package/client/esm2022/lib/ui/taon-table/taon-table.module.mjs +57 -0
  113. package/client/fesm2022/taon.mjs +1445 -75
  114. package/client/fesm2022/taon.mjs.map +1 -1
  115. package/client/lib/base-classes/base-context.d.ts +4 -1
  116. package/client/lib/base-classes/base-injector.d.ts +5 -0
  117. package/client/lib/base-classes/base.d.ts +4 -1
  118. package/client/lib/create-context.d.ts +4 -1
  119. package/client/lib/decorators/http/http-decorators.d.ts +2 -0
  120. package/client/lib/endpoint-context.d.ts +3 -2
  121. package/client/lib/index.d.ts +13 -3
  122. package/client/lib/ui/directives/index.d.ts +4 -0
  123. package/client/lib/ui/directives/safe.pipe.d.ts +11 -0
  124. package/client/lib/ui/directives/taon-inject-html.directive.d.ts +10 -0
  125. package/client/lib/ui/directives/taon-long-press.directive.d.ts +26 -0
  126. package/client/lib/ui/index.d.ts +10 -0
  127. package/client/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.d.ts +3 -0
  128. package/client/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.d.ts +33 -0
  129. package/client/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.d.ts +16 -0
  130. package/client/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.d.ts +3 -0
  131. package/client/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.d.ts +17 -0
  132. package/client/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.d.ts +10 -0
  133. package/client/lib/ui/taon-admin-mode-configuration/index.d.ts +4 -0
  134. package/client/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.d.ts +17 -0
  135. package/client/lib/ui/taon-full-material.module.d.ts +47 -0
  136. package/client/lib/ui/taon-github-fork-me-corner/index.d.ts +3 -0
  137. package/client/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.d.ts +7 -0
  138. package/client/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.d.ts +9 -0
  139. package/client/lib/ui/taon-notifications/index.d.ts +5 -0
  140. package/client/lib/ui/taon-notifications/taon-notifications.component.d.ts +13 -0
  141. package/client/lib/ui/taon-notifications/taon-notifications.models.d.ts +7 -0
  142. package/client/lib/ui/taon-notifications/taon-notifications.module.d.ts +8 -0
  143. package/client/lib/ui/taon-notifications/taon-notifications.service.d.ts +15 -0
  144. package/client/lib/ui/taon-progress-bar/index.d.ts +3 -0
  145. package/client/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +19 -0
  146. package/client/lib/ui/taon-progress-bar/taon-progress-bar.module.d.ts +10 -0
  147. package/client/lib/ui/taon-session-passcode/index.d.ts +2 -0
  148. package/client/lib/ui/taon-session-passcode/taon-session-passcode.component.d.ts +39 -0
  149. package/client/lib/ui/taon-table/index.d.ts +3 -0
  150. package/client/lib/ui/taon-table/taon-table.component.d.ts +37 -0
  151. package/client/lib/ui/taon-table/taon-table.module.d.ts +17 -0
  152. package/lib/base-classes/base-context.d.ts +4 -1
  153. package/lib/base-classes/base-injector.d.ts +5 -0
  154. package/lib/base-classes/base-injector.js +11 -0
  155. package/lib/base-classes/base-injector.js.map +1 -1
  156. package/lib/base-classes/base.d.ts +4 -1
  157. package/lib/create-context.d.ts +4 -1
  158. package/lib/create-context.js +2 -2
  159. package/lib/create-context.js.map +1 -1
  160. package/lib/decorators/http/http-decorators.d.ts +3 -1
  161. package/lib/decorators/http/http-decorators.js +2 -0
  162. package/lib/decorators/http/http-decorators.js.map +1 -1
  163. package/lib/endpoint-context.d.ts +3 -2
  164. package/lib/endpoint-context.js +136 -97
  165. package/lib/endpoint-context.js.map +1 -1
  166. package/lib/index.d.ts +13 -3
  167. package/lib/ui/directives/index.d.ts +3 -4
  168. package/lib/ui/directives/index.js +2 -2
  169. package/lib/ui/index.d.ts +9 -0
  170. package/lib/ui/index.js +5 -0
  171. package/lib/ui/index.js.map +1 -0
  172. package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.js +2 -2
  173. package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.d.ts +3 -5
  174. package/lib/ui/taon-admin-mode-configuration/components/taon-db-admin/index.js +2 -2
  175. package/lib/ui/taon-admin-mode-configuration/components/taon-db-admin/taon-db-admin.component.d.ts +2 -3
  176. package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.js +2 -2
  177. package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.d.ts +1 -2
  178. package/lib/ui/taon-admin-mode-configuration/index.d.ts +0 -1
  179. package/lib/ui/taon-admin-mode-configuration/index.js +2 -2
  180. package/lib/ui/taon-github-fork-me-corner/index.js +2 -2
  181. package/lib/ui/taon-github-fork-me-ribbon/index.js +2 -2
  182. package/lib/ui/taon-notifications/taon-notifications.models.js +2 -2
  183. package/lib/ui/taon-progress-bar/index.js +2 -2
  184. package/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +1 -0
  185. package/lib/ui/taon-session-passcode/index.js +2 -2
  186. package/lib/ui/taon-table/index.d.ts +2 -0
  187. package/lib/ui/taon-table/index.js +5 -0
  188. package/lib/ui/taon-table/index.js.map +1 -0
  189. package/lib/ui/taon-table/taon-table.component.d.ts +33 -0
  190. package/lib/ui/taon-table/taon-table.module.d.ts +2 -0
  191. package/package.json +7 -7
  192. package/tmp-environment.json +30 -29
  193. package/websql/esm2022/lib/base-classes/base-injector.mjs +8 -1
  194. package/websql/esm2022/lib/create-context.mjs +5 -3
  195. package/websql/esm2022/lib/decorators/http/http-decorators.mjs +3 -1
  196. package/websql/esm2022/lib/endpoint-context.mjs +35 -9
  197. package/websql/esm2022/lib/index.mjs +2 -1
  198. package/websql/esm2022/lib/ui/directives/index.mjs +6 -0
  199. package/websql/esm2022/lib/ui/directives/safe.pipe.mjs +43 -0
  200. package/websql/esm2022/lib/ui/directives/taon-inject-html.directive.mjs +24 -0
  201. package/websql/esm2022/lib/ui/directives/taon-long-press.directive.mjs +120 -0
  202. package/websql/esm2022/lib/ui/index.mjs +12 -0
  203. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.mjs +5 -0
  204. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.mjs +115 -0
  205. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.mjs +50 -0
  206. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.mjs +5 -0
  207. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.mjs +61 -0
  208. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.mjs +21 -0
  209. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/index.mjs +6 -0
  210. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.mjs +14 -3
  211. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.mjs +54 -0
  212. package/websql/esm2022/lib/ui/taon-full-material.module.mjs +179 -0
  213. package/websql/esm2022/lib/ui/taon-github-fork-me-corner/index.mjs +5 -0
  214. package/websql/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.mjs +18 -0
  215. package/websql/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.mjs +21 -0
  216. package/websql/esm2022/lib/ui/taon-notifications/index.mjs +7 -0
  217. package/websql/esm2022/lib/ui/taon-notifications/taon-notifications.component.mjs +25 -0
  218. package/websql/esm2022/lib/ui/taon-notifications/taon-notifications.models.mjs +5 -0
  219. package/websql/esm2022/lib/ui/taon-notifications/taon-notifications.module.mjs +21 -0
  220. package/websql/esm2022/lib/ui/taon-notifications/taon-notifications.service.mjs +48 -0
  221. package/websql/esm2022/lib/ui/taon-progress-bar/index.mjs +5 -0
  222. package/websql/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.component.mjs +50 -0
  223. package/websql/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.module.mjs +22 -0
  224. package/websql/esm2022/lib/ui/taon-session-passcode/index.mjs +4 -0
  225. package/websql/esm2022/lib/ui/taon-session-passcode/taon-session-passcode.component.mjs +120 -0
  226. package/websql/esm2022/lib/ui/taon-table/index.mjs +5 -0
  227. package/websql/esm2022/lib/ui/taon-table/taon-table.component.mjs +161 -0
  228. package/websql/esm2022/lib/ui/taon-table/taon-table.module.mjs +57 -0
  229. package/websql/fesm2022/taon.mjs +1414 -92
  230. package/websql/fesm2022/taon.mjs.map +1 -1
  231. package/websql/lib/base-classes/base-context.d.ts +4 -1
  232. package/websql/lib/base-classes/base-injector.d.ts +5 -0
  233. package/websql/lib/base-classes/base.d.ts +4 -1
  234. package/websql/lib/create-context.d.ts +4 -1
  235. package/websql/lib/decorators/http/http-decorators.d.ts +2 -0
  236. package/websql/lib/endpoint-context.d.ts +3 -2
  237. package/websql/lib/index.d.ts +13 -3
  238. package/websql/lib/ui/directives/index.d.ts +4 -0
  239. package/websql/lib/ui/directives/safe.pipe.d.ts +11 -0
  240. package/websql/lib/ui/directives/taon-inject-html.directive.d.ts +10 -0
  241. package/websql/lib/ui/directives/taon-long-press.directive.d.ts +26 -0
  242. package/websql/lib/ui/index.d.ts +10 -0
  243. package/websql/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.d.ts +3 -0
  244. package/websql/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.d.ts +33 -0
  245. package/websql/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.d.ts +16 -0
  246. package/websql/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.d.ts +3 -0
  247. package/websql/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.d.ts +17 -0
  248. package/websql/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.d.ts +10 -0
  249. package/websql/lib/ui/taon-admin-mode-configuration/index.d.ts +4 -0
  250. package/websql/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.d.ts +17 -0
  251. package/websql/lib/ui/taon-full-material.module.d.ts +47 -0
  252. package/websql/lib/ui/taon-github-fork-me-corner/index.d.ts +3 -0
  253. package/websql/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.d.ts +7 -0
  254. package/websql/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.d.ts +9 -0
  255. package/websql/lib/ui/taon-notifications/index.d.ts +5 -0
  256. package/websql/lib/ui/taon-notifications/taon-notifications.component.d.ts +13 -0
  257. package/websql/lib/ui/taon-notifications/taon-notifications.models.d.ts +7 -0
  258. package/websql/lib/ui/taon-notifications/taon-notifications.module.d.ts +8 -0
  259. package/websql/lib/ui/taon-notifications/taon-notifications.service.d.ts +15 -0
  260. package/websql/lib/ui/taon-progress-bar/index.d.ts +3 -0
  261. package/websql/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +19 -0
  262. package/websql/lib/ui/taon-progress-bar/taon-progress-bar.module.d.ts +10 -0
  263. package/websql/lib/ui/taon-session-passcode/index.d.ts +2 -0
  264. package/websql/lib/ui/taon-session-passcode/taon-session-passcode.component.d.ts +39 -0
  265. package/websql/lib/ui/taon-table/index.d.ts +3 -0
  266. package/websql/lib/ui/taon-table/taon-table.component.d.ts +37 -0
  267. package/websql/lib/ui/taon-table/taon-table.module.d.ts +17 -0
  268. /package/lib/ui/directives/{firedev-inject-html.directive.d.ts → taon-inject-html.directive.d.ts} +0 -0
  269. /package/lib/ui/directives/{firedev-long-press.directive.d.ts → taon-long-press.directive.d.ts} +0 -0
  270. /package/lib/ui/{toan-full-material.module.d.ts → taon-full-material.module.d.ts} +0 -0
@@ -1,6 +1,6 @@
1
1
  import 'reflect-metadata';
2
2
  import * as coreHelpers from 'tnp-core/websql';
3
- import { _, Helpers, path } from 'tnp-core/websql';
3
+ import { _ as _$1, Helpers, path } from 'tnp-core/websql';
4
4
  import { Models as Models$1, RestHeaders, Resource, Mapping } from 'ng2-rest/websql';
5
5
  import * as tsorm from 'taon-typeorm/websql';
6
6
  import { OrignalClassKey, Entity, EventSubscriber, DataSource } from 'taon-typeorm/websql';
@@ -9,13 +9,89 @@ import * as JSON5 from 'json5';
9
9
  import { __decorate, __param, __metadata } from 'tslib';
10
10
  import { MySqlQuerySource } from 'taon-type-sql/websql';
11
11
  import { Stor } from 'taon-storage/websql';
12
- import { Subject, Observable, from } from 'rxjs';
12
+ import { Subject, Observable, from, interval, tap, defer, fromEvent, map, debounceTime, distinctUntilChanged, share, Subscription, takeUntil, of } from 'rxjs';
13
13
  import { config } from 'tnp-config/websql';
14
14
  import * as i0 from '@angular/core';
15
- import { Injectable, inject as inject$1 } from '@angular/core';
15
+ import { Injectable, inject as inject$1, EventEmitter, Directive, Input, Output, HostBinding, HostListener, Pipe, NgModule, Component, DestroyRef, Self, ViewChild, ChangeDetectorRef } from '@angular/core';
16
16
  import { JSON10 } from 'json10/websql';
17
17
  import axios from 'axios';
18
18
  import { io } from 'socket.io-client';
19
+ import { Log, Level } from 'ng2-logger/websql';
20
+ import * as i1 from '@angular/platform-browser';
21
+ import { A11yModule } from '@angular/cdk/a11y';
22
+ import * as i5 from '@angular/cdk/drag-drop';
23
+ import { DragDropModule } from '@angular/cdk/drag-drop';
24
+ import { ScrollingModule } from '@angular/cdk/scrolling';
25
+ import { CdkStepperModule } from '@angular/cdk/stepper';
26
+ import { CdkTableModule } from '@angular/cdk/table';
27
+ import { CdkTreeModule } from '@angular/cdk/tree';
28
+ import { MatAutocompleteModule } from '@angular/material/autocomplete';
29
+ import { MatBadgeModule } from '@angular/material/badge';
30
+ import { MatBottomSheetModule } from '@angular/material/bottom-sheet';
31
+ import * as i6$1 from '@angular/material/button';
32
+ import { MatButtonModule } from '@angular/material/button';
33
+ import * as i7 from '@angular/material/card';
34
+ import { MatCardModule } from '@angular/material/card';
35
+ import * as i8 from '@angular/material/checkbox';
36
+ import { MatCheckboxModule } from '@angular/material/checkbox';
37
+ import { MatButtonToggleModule } from '@angular/material/button-toggle';
38
+ import { MatStepperModule } from '@angular/material/stepper';
39
+ import { MatDialogModule } from '@angular/material/dialog';
40
+ import { MatExpansionModule } from '@angular/material/expansion';
41
+ import { MatGridListModule } from '@angular/material/grid-list';
42
+ import * as i6 from '@angular/material/icon';
43
+ import { MatIconModule } from '@angular/material/icon';
44
+ import * as i11$1 from '@angular/material/list';
45
+ import { MatListModule } from '@angular/material/list';
46
+ import { MatDatepickerModule } from '@angular/material/datepicker';
47
+ import { MatPaginatorModule } from '@angular/material/paginator';
48
+ import { MatProgressBarModule } from '@angular/material/progress-bar';
49
+ import { MatChipsModule } from '@angular/material/chips';
50
+ import { MatDividerModule } from '@angular/material/divider';
51
+ import * as i4 from '@angular/material/input';
52
+ import { MatInputModule } from '@angular/material/input';
53
+ import { MatMenuModule } from '@angular/material/menu';
54
+ import { MatNativeDateModule, MatRippleModule } from '@angular/material/core';
55
+ import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
56
+ import { MatRadioModule } from '@angular/material/radio';
57
+ import { MatSelectModule } from '@angular/material/select';
58
+ import * as i10 from '@angular/material/sidenav';
59
+ import { MatSidenavModule } from '@angular/material/sidenav';
60
+ import { MatSliderModule } from '@angular/material/slider';
61
+ import { MatSlideToggleModule } from '@angular/material/slide-toggle';
62
+ import { MatSnackBarModule } from '@angular/material/snack-bar';
63
+ import { MatSortModule } from '@angular/material/sort';
64
+ import { MatTableModule } from '@angular/material/table';
65
+ import * as i11 from '@angular/material/tabs';
66
+ import { MatTabsModule } from '@angular/material/tabs';
67
+ import { MatToolbarModule } from '@angular/material/toolbar';
68
+ import { MatTooltipModule } from '@angular/material/tooltip';
69
+ import { MatTreeModule } from '@angular/material/tree';
70
+ import * as i2$1 from '@angular/common';
71
+ import { CommonModule } from '@angular/common';
72
+ import * as i1$1 from '@ngneat/hot-toast';
73
+ import * as i2 from '@angular/forms';
74
+ import { FormGroup, FormControl, ReactiveFormsModule, FormsModule } from '@angular/forms';
75
+ import { PasswordModule } from 'primeng/password';
76
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
77
+ import * as i1$2 from 'ngx-progressbar';
78
+ import { NgProgressModule } from 'ngx-progressbar';
79
+ import * as _ from 'lodash';
80
+ import * as i2$2 from '@angular/material/form-field';
81
+ import { MatFormFieldModule } from '@angular/material/form-field';
82
+ import * as i3 from '@ng-matero/extensions/grid';
83
+ import { MtxGridModule } from '@ng-matero/extensions/grid';
84
+ import * as i1$3 from 'static-columns/websql';
85
+ import { StaticColumnsModule } from 'static-columns/websql';
86
+ import * as i4$1 from 'ngx-scrollbar';
87
+ import { NgScrollbarModule } from 'ngx-scrollbar';
88
+ import * as i1$4 from '@angular/router';
89
+ import 'brace';
90
+ import 'brace/mode/css';
91
+ import 'brace/mode/typescript';
92
+ import 'brace/theme/github';
93
+ import * as i13 from 'ngx-pipes';
94
+ import { NgArrayPipesModule } from 'ngx-pipes';
19
95
 
20
96
  var Symbols;
21
97
  (function (Symbols) {
@@ -52,7 +128,7 @@ var Symbols;
52
128
  return `${contextName}:${this.KEYroomUnsubscribe}CustomRoomEvent`;
53
129
  }
54
130
  ROOM_NAME_UPDATE_ENTITY(contextName, className, entityId) {
55
- return `${contextName}:room${_.camelCase(className)}${entityId}`.toLowerCase();
131
+ return `${contextName}:room${_$1.camelCase(className)}${entityId}`.toLowerCase();
56
132
  }
57
133
  ROOM_SUBSCRIBE_ENTITY_UPDATE_EVENTS(contextName) {
58
134
  return `${contextName}:${this.KEYroomSubscribe}EntityEvents`;
@@ -61,7 +137,7 @@ var Symbols;
61
137
  return `${contextName}:${this.KEYroomUnsubscribe}EntityEvents`;
62
138
  }
63
139
  ROOM_NAME_UPDATE_ENTITY_PROPERTY(contextName, className, property, entityId) {
64
- return `${contextName}:room${_.camelCase(className)}${_.camelCase(property)}${entityId}`.toLowerCase();
140
+ return `${contextName}:room${_$1.camelCase(className)}${_$1.camelCase(property)}${entityId}`.toLowerCase();
65
141
  }
66
142
  ROOM_SUBSCRIBE_ENTITY_PROPERTY_UPDATE_EVENTS(contextName) {
67
143
  return `${contextName}:${this.KEYroomSubscribe}EntityPropertyEvents`;
@@ -114,7 +190,7 @@ var Validators;
114
190
  (function (Validators) {
115
191
  Validators.classNameVlidation = (className, target) => {
116
192
  setTimeout(() => {
117
- if (_.isUndefined(className)) {
193
+ if (_$1.isUndefined(className)) {
118
194
  throw `[Taon]
119
195
  Please provide "className" property for each Controller and Entity:
120
196
 
@@ -134,7 +210,7 @@ var Validators;
134
210
  `;
135
211
  }
136
212
  });
137
- return _.isUndefined(className) ? target.name : className;
213
+ return _$1.isUndefined(className) ? target.name : className;
138
214
  };
139
215
  Validators.checkIfMethodsWithReponseTYpeAlowed = (methods, current) => {
140
216
  const defaultResponseType = 'text or JSON';
@@ -157,8 +233,8 @@ var Validators;
157
233
  }
158
234
  };
159
235
  Validators.validateClassFunctions = (controllers, entities, proviers, repositories) => {
160
- if (_.isArray(controllers) &&
161
- controllers.filter(f => !_.isFunction(f)).length > 0) {
236
+ if (_$1.isArray(controllers) &&
237
+ controllers.filter(f => !_$1.isFunction(f)).length > 0) {
162
238
  console.error('controllers', controllers);
163
239
  throw `
164
240
 
@@ -166,8 +242,8 @@ var Validators;
166
242
 
167
243
  `;
168
244
  }
169
- if (_.isArray(entities) &&
170
- entities.filter(f => !_.isFunction(f)).length > 0) {
245
+ if (_$1.isArray(entities) &&
246
+ entities.filter(f => !_$1.isFunction(f)).length > 0) {
171
247
  console.error('entites', entities);
172
248
  throw `
173
249
 
@@ -177,7 +253,7 @@ var Validators;
177
253
  }
178
254
  };
179
255
  Validators.preventUndefinedModel = (model, id) => {
180
- if (_.isUndefined(model)) {
256
+ if (_$1.isUndefined(model)) {
181
257
  throw `Bad update by id, config, id: ${id}`;
182
258
  }
183
259
  };
@@ -188,7 +264,7 @@ var Validators;
188
264
  var TaonHelpers;
189
265
  (function (TaonHelpers) {
190
266
  TaonHelpers.fillUpTo = (s, nCharacters) => {
191
- return _.times(nCharacters, n => {
267
+ return _$1.times(nCharacters, n => {
192
268
  if (s.charAt(n)) {
193
269
  return s.charAt(n);
194
270
  }
@@ -236,7 +312,7 @@ var TaonHelpers;
236
312
  return {};
237
313
  };
238
314
  TaonHelpers.parseJSONwithStringJSONs = (object, waring = false) => {
239
- if (!_.isObject(object)) {
315
+ if (!_$1.isObject(object)) {
240
316
  if (waring) {
241
317
  console.error(`
242
318
  parseJSONwithStringJSONs(...)
@@ -245,7 +321,7 @@ var TaonHelpers;
245
321
  }
246
322
  return object;
247
323
  }
248
- let res = _.cloneDeep(object);
324
+ let res = _$1.cloneDeep(object);
249
325
  Object.keys(res).forEach(key => {
250
326
  let isJson = false;
251
327
  try {
@@ -310,7 +386,7 @@ var ClassHelpers;
310
386
  * TODO - repalce in every place when getting class fn from object
311
387
  */
312
388
  ClassHelpers.getClassFnFromObject = (json) => {
313
- if (_.isUndefined(json) || _.isNull(json)) {
389
+ if (_$1.isUndefined(json) || _$1.isNull(json)) {
314
390
  return;
315
391
  }
316
392
  if (json.constructor) {
@@ -351,25 +427,25 @@ var ClassHelpers;
351
427
  void 0);
352
428
  };
353
429
  ClassHelpers.getUniqueKey = (classFnOrObject) => {
354
- const classFn = _.isFunction(classFnOrObject)
430
+ const classFn = _$1.isFunction(classFnOrObject)
355
431
  ? classFnOrObject
356
432
  : classFnOrObject.constructor;
357
433
  const config = Reflect.getMetadata(Symbols.metadata.options.controller, classFn);
358
434
  return config.uniqueKeyProp;
359
435
  };
360
436
  ClassHelpers.isContextClassObject = (obj) => {
361
- if (!_.isObject(obj) ||
362
- _.isArray(obj) ||
363
- _.isRegExp(obj) ||
364
- _.isBuffer(obj) ||
365
- _.isArrayBuffer(obj)) {
437
+ if (!_$1.isObject(obj) ||
438
+ _$1.isArray(obj) ||
439
+ _$1.isRegExp(obj) ||
440
+ _$1.isBuffer(obj) ||
441
+ _$1.isArrayBuffer(obj)) {
366
442
  return false;
367
443
  }
368
- if (_.isDate(obj)) {
444
+ if (_$1.isDate(obj)) {
369
445
  return true;
370
446
  }
371
447
  const className = ClassHelpers.getName(obj);
372
- return _.isString(className) && className !== 'Object';
448
+ return _$1.isString(className) && className !== 'Object';
373
449
  };
374
450
  ClassHelpers.setName = (target, className) => {
375
451
  Validators.classNameVlidation(className, target);
@@ -381,7 +457,7 @@ var ClassHelpers;
381
457
  }
382
458
  targets.push(target);
383
459
  let targetProto = Object.getPrototypeOf(target);
384
- if (_.isFunction(targetProto) &&
460
+ if (_$1.isFunction(targetProto) &&
385
461
  ClassHelpers.getName(targetProto) === className) {
386
462
  return true;
387
463
  }
@@ -389,7 +465,7 @@ var ClassHelpers;
389
465
  };
390
466
  ClassHelpers.getControllerConfig = (target) => {
391
467
  const classMetadataOptions = Reflect.getMetadata(Symbols.metadata.options.controller, target);
392
- const classMetadata = _.merge(new Models.ControllerConfig(), classMetadataOptions);
468
+ const classMetadata = _$1.merge(new Models.ControllerConfig(), classMetadataOptions);
393
469
  const methodNames = ClassHelpers.getMethodsNames(target); // Object.getOwnPropertyNames(target.prototype);
394
470
  for (const methodName of methodNames) {
395
471
  const methodMetadata = Reflect.getMetadata(Symbols.metadata.options.controllerMethod, target, methodName);
@@ -424,7 +500,7 @@ var ClassHelpers;
424
500
  if (!classOrClassInstance) {
425
501
  return allMethodsNames;
426
502
  }
427
- const isClassFunction = _.isFunction(classOrClassInstance);
503
+ const isClassFunction = _$1.isFunction(classOrClassInstance);
428
504
  const classFun = isClassFunction
429
505
  ? classOrClassInstance
430
506
  : Object.getPrototypeOf(classOrClassInstance);
@@ -432,7 +508,7 @@ var ClassHelpers;
432
508
  ? classOrClassInstance?.prototype
433
509
  : classOrClassInstance;
434
510
  const prototypeObj = Object.getPrototypeOf(objectToCheck || {});
435
- const properties = _.uniq([
511
+ const properties = _$1.uniq([
436
512
  ...Object.getOwnPropertyNames(objectToCheck || {}),
437
513
  ...Object.getOwnPropertyNames(prototypeObj || {}),
438
514
  ...Object.keys(objectToCheck || {}),
@@ -449,13 +525,13 @@ var ClassHelpers;
449
525
  return ClassHelpers.getMethodsNames(Object.getPrototypeOf(classFun), allMethodsNames);
450
526
  };
451
527
  ClassHelpers.getControllerConfigs = (target, configs = [], callerTarget) => {
452
- if (!_.isFunction(target)) {
528
+ if (!_$1.isFunction(target)) {
453
529
  throw `[typescript-class-helper][getClassConfig] Cannot get class config from: ${target}`;
454
530
  }
455
531
  let config;
456
532
  const parentClass = Object.getPrototypeOf(target);
457
533
  const parentName = parentClass ? ClassHelpers.getName(parentClass) : void 0;
458
- const isValidParent = _.isFunction(parentClass) && parentName !== '';
534
+ const isValidParent = _$1.isFunction(parentClass) && parentName !== '';
459
535
  config = ClassHelpers.getControllerConfig(target);
460
536
  configs.push(config);
461
537
  return isValidParent
@@ -464,7 +540,7 @@ var ClassHelpers;
464
540
  };
465
541
  ClassHelpers.getCalculatedPathFor = (target) => {
466
542
  const configs = ClassHelpers.getControllerConfigs(target);
467
- const parentscalculatedPath = _.slice(configs, 1)
543
+ const parentscalculatedPath = _$1.slice(configs, 1)
468
544
  .reverse()
469
545
  .map(bc => {
470
546
  if (TaonHelpers.isGoodPath(bc.path)) {
@@ -572,7 +648,7 @@ const metaReq = (method, path, target, propertyKey, descriptor, pathOrOptions, p
572
648
  if (methodConfig.parameters.hasOwnProperty(key)) {
573
649
  const element = methodConfig.parameters[key];
574
650
  if (element.paramType === 'Path' &&
575
- _.isString(element.paramName) &&
651
+ _$1.isString(element.paramName) &&
576
652
  element.paramName.trim().length > 0) {
577
653
  paramsPathConcatedPath += `/${element.paramName}/:${element.paramName}`;
578
654
  }
@@ -675,6 +751,7 @@ var Http;
675
751
  Http.DELETE = DELETE;
676
752
  Http.PATCH = PATCH;
677
753
  Http.HEAD = HEAD;
754
+ Http.Response = Models$1.HttpResponse;
678
755
  let Param;
679
756
  (function (Param) {
680
757
  Param.Query = Query;
@@ -717,11 +794,18 @@ class BaseInjector {
717
794
  }
718
795
  }
719
796
  /**
797
+ * @deprecated use ctx instead
720
798
  * Current endpoint context
721
799
  */
722
800
  get __endpoint_context__() {
723
801
  return this[Symbols.ctxInClassOrClassObj];
724
802
  }
803
+ /**
804
+ * get current endpoint context
805
+ */
806
+ get ctx() {
807
+ return this.__endpoint_context__;
808
+ }
725
809
  /**
726
810
  * inject crud repo for entity
727
811
  */
@@ -849,7 +933,7 @@ class BaseInjector {
849
933
  }
850
934
  clone(override) {
851
935
  const classFn = ClassHelpers.getClassFnFromObject(this);
852
- const result = _.merge(new classFn(), _.merge(_.cloneDeep(this), override));
936
+ const result = _$1.merge(new classFn(), _$1.merge(_$1.cloneDeep(this), override));
853
937
  return result;
854
938
  }
855
939
  }
@@ -875,7 +959,7 @@ BaseController = __decorate([
875
959
  */
876
960
  let BaseCrudController = class BaseCrudController extends BaseController {
877
961
  async _() {
878
- if (!_.isFunction(this.entityClassResolveFn)) {
962
+ if (!_$1.isFunction(this.entityClassResolveFn)) {
879
963
  Helpers.warn(`Skipping initing CRUD controller ${ClassHelpers.getName(this)} because entityClassResolveFn is not provided.`);
880
964
  return;
881
965
  }
@@ -911,7 +995,7 @@ let BaseCrudController = class BaseCrudController extends BaseController {
911
995
  Validators.preventUndefinedModel(model, id);
912
996
  let value = model[property];
913
997
  let result;
914
- if (_.isString(value) || _.isArray(value)) {
998
+ if (_$1.isString(value) || _$1.isArray(value)) {
915
999
  result = value.slice(alreadyLength);
916
1000
  }
917
1001
  return result;
@@ -1097,7 +1181,7 @@ class BaseClass {
1097
1181
  async _() { }
1098
1182
  clone(override) {
1099
1183
  const classFn = ClassHelpers.getClassFnFromObject(this);
1100
- const result = _.merge(new classFn(), _.merge(_.cloneDeep(this), override));
1184
+ const result = _$1.merge(new classFn(), _$1.merge(_$1.cloneDeep(this), override));
1101
1185
  return result;
1102
1186
  }
1103
1187
  }
@@ -1358,7 +1442,7 @@ let BaseRepository = class BaseRepository extends BaseInjector {
1358
1442
  * Removes a given entities from the database.
1359
1443
  */
1360
1444
  async remove(idOrEntity) {
1361
- if (_.isObject(idOrEntity)) {
1445
+ if (_$1.isObject(idOrEntity)) {
1362
1446
  idOrEntity = idOrEntity.id;
1363
1447
  }
1364
1448
  const deletedEntity = await this.repo.findOne({
@@ -1383,7 +1467,7 @@ let BaseRepository = class BaseRepository extends BaseInjector {
1383
1467
  }
1384
1468
  async bulkRemove(idsOrEntities) {
1385
1469
  idsOrEntities = idsOrEntities.map(id => {
1386
- return _.isObject(id) ? id.id : id;
1470
+ return _$1.isObject(id) ? id.id : id;
1387
1471
  });
1388
1472
  const models = [];
1389
1473
  for (let index = 0; index < idsOrEntities.length; index++) {
@@ -1424,10 +1508,10 @@ let BaseRepository = class BaseRepository extends BaseInjector {
1424
1508
  async updateById(id, item) {
1425
1509
  const allowedPropsToUpdate = [];
1426
1510
  for (const key in item) {
1427
- if (_.isObject(item) &&
1511
+ if (_$1.isObject(item) &&
1428
1512
  item.hasOwnProperty(key) &&
1429
1513
  typeof item[key] !== 'object' &&
1430
- !_.isUndefined(this.repo.metadata.ownColumns.find(c => c.propertyName === key))) {
1514
+ !_$1.isUndefined(this.repo.metadata.ownColumns.find(c => c.propertyName === key))) {
1431
1515
  allowedPropsToUpdate.push(key);
1432
1516
  }
1433
1517
  }
@@ -1639,14 +1723,14 @@ const globalPublicStorage = Helpers.isBrowser ? window : global;
1639
1723
  ;
1640
1724
  ({}); // @--end-of-file-for-module=taon lib/storage.ts
1641
1725
 
1642
- const ENV$1 = Helpers.isBrowser ? window['ENV'] : global['ENV'];
1726
+ const ENV$2 = Helpers.isBrowser ? window['ENV'] : global['ENV'];
1643
1727
  class TaonAdmin {
1644
1728
  constructor() {
1645
1729
  this.scrollableEnabled = false; // TOOD false by default
1646
1730
  this.onEditMode = new Subject();
1647
1731
  this.onEditMode$ = this.onEditMode.asObservable();
1648
1732
  this.enabledTabs = [];
1649
- this.scrollableEnabled = !!ENV$1?.useGlobalNgxScrollbar;
1733
+ this.scrollableEnabled = !!ENV$2?.useGlobalNgxScrollbar;
1650
1734
  }
1651
1735
  static get Instance() {
1652
1736
  if (!globalPublicStorage[config.frameworkNames.productionFrameworkName]) {
@@ -1771,7 +1855,7 @@ const getResponseValue = (response, options) => {
1771
1855
  ;
1772
1856
  ({}); // @--end-of-file-for-module=taon lib/get-response-value.ts
1773
1857
 
1774
- const ENV = Helpers.isBrowser ? window['ENV'] : global['ENV'];
1858
+ const ENV$1 = Helpers.isBrowser ? window['ENV'] : global['ENV'];
1775
1859
  ;
1776
1860
  ({}); // @--end-of-file-for-module=taon lib/env.ts
1777
1861
 
@@ -1799,7 +1883,7 @@ class RealtimeSubsManager {
1799
1883
  realtime.emit(subscribeEvent, this.options.roomName);
1800
1884
  }
1801
1885
  else {
1802
- if (_.isString(this.options.property)) {
1886
+ if (_$1.isString(this.options.property)) {
1803
1887
  const subscribeEvent = Symbols.REALTIME.ROOM_SUBSCRIBE_ENTITY_PROPERTY_UPDATE_EVENTS(this.options.core.ctx.contextName);
1804
1888
  realtime.emit(subscribeEvent, this.options.roomName);
1805
1889
  }
@@ -1826,7 +1910,7 @@ class RealtimeSubsManager {
1826
1910
  realtime.emit(Symbols.REALTIME.ROOM_UNSUBSCRIBE_CUSTOM(this.options.core.ctx.contextName), roomName);
1827
1911
  }
1828
1912
  else {
1829
- if (_.isString(property)) {
1913
+ if (_$1.isString(property)) {
1830
1914
  realtime.emit(Symbols.REALTIME.ROOM_UNSUBSCRIBE_ENTITY_PROPERTY_UPDATE_EVENTS(this.options.core.ctx.contextName), roomName);
1831
1915
  }
1832
1916
  else {
@@ -1904,7 +1988,7 @@ class RealtimeClient {
1904
1988
  options = options || {};
1905
1989
  const { property, customEvent } = options;
1906
1990
  const className = !customEvent && ClassHelpers.getName(entityClassFn);
1907
- if (_.isString(property)) {
1991
+ if (_$1.isString(property)) {
1908
1992
  if (property.trim() === '') {
1909
1993
  throw new Error(`[Taon][listenChangesEntity.. incorect property '' for ${className}`);
1910
1994
  }
@@ -1927,7 +2011,7 @@ to use socket realtime connection;
1927
2011
  roomName = Symbols.REALTIME.ROOM_NAME_CUSTOM(this.core.ctx.contextName, customEvent);
1928
2012
  }
1929
2013
  else {
1930
- roomName = _.isString(property)
2014
+ roomName = _$1.isString(property)
1931
2015
  ? Symbols.REALTIME.ROOM_NAME_UPDATE_ENTITY_PROPERTY(this.core.ctx.contextName, className, property, idOrUniqValue)
1932
2016
  : Symbols.REALTIME.ROOM_NAME_UPDATE_ENTITY(this.core.ctx.contextName, className, idOrUniqValue);
1933
2017
  }
@@ -2092,7 +2176,7 @@ class RealtimeServer {
2092
2176
  }
2093
2177
  else {
2094
2178
  let entityFn = entityObjOrClass;
2095
- const entityIsObject = !_.isFunction(entityObjOrClass) && _.isObject(entityObjOrClass);
2179
+ const entityIsObject = !_$1.isFunction(entityObjOrClass) && _$1.isObject(entityObjOrClass);
2096
2180
  if (entityIsObject) {
2097
2181
  entityFn = ClassHelpers.getClassFnFromObject(entityObjOrClass);
2098
2182
  }
@@ -2104,7 +2188,7 @@ class RealtimeServer {
2104
2188
  Helpers.error(`[Taon][Realtime] Entity without iD ! ${ClassHelpers.getName(entityFn)} `, true, true);
2105
2189
  return;
2106
2190
  }
2107
- roomName = _.isString(property)
2191
+ roomName = _$1.isString(property)
2108
2192
  ? Symbols.REALTIME.ROOM_NAME_UPDATE_ENTITY_PROPERTY(this.core.ctx.contextName, ClassHelpers.getName(entityFn), property, valueOfUniqueProperty)
2109
2193
  : Symbols.REALTIME.ROOM_NAME_UPDATE_ENTITY(this.core.ctx.contextName, ClassHelpers.getName(entityFn), valueOfUniqueProperty);
2110
2194
  }
@@ -2125,7 +2209,7 @@ class RealtimeServer {
2125
2209
  console.warn(`[Taon][TriggerEntityPropertyChanges][property=${property}] Entity "${className}' is not realtime`);
2126
2210
  return;
2127
2211
  }
2128
- if (_.isArray(property)) {
2212
+ if (_$1.isArray(property)) {
2129
2213
  property.forEach(propertyFromArr => {
2130
2214
  this.triggerChanges(entityObjOrClass, propertyFromArr, idToTrigger);
2131
2215
  });
@@ -2706,11 +2790,6 @@ class EndpointContext {
2706
2790
  static initNgZone(ngZone) {
2707
2791
  this.ngZone = ngZone;
2708
2792
  }
2709
- static findForTraget(classFnOrObject) {
2710
- const obj = ClassHelpers.getClassFnFromObject(classFnOrObject) || {};
2711
- return (classFnOrObject[Symbols.ctxInClassOrClassObj] ||
2712
- obj[Symbols.ctxInClassOrClassObj]);
2713
- }
2714
2793
  get realtimeClient() {
2715
2794
  return this.realtime.client;
2716
2795
  }
@@ -2718,25 +2797,25 @@ class EndpointContext {
2718
2797
  return this.realtime.server;
2719
2798
  }
2720
2799
  get logHttp() {
2721
- if (_.isObject(this.config?.logs)) {
2800
+ if (_$1.isObject(this.config?.logs)) {
2722
2801
  return !!this.config.logs.http;
2723
2802
  }
2724
2803
  return this.config?.logs === true;
2725
2804
  }
2726
2805
  get logRealtime() {
2727
- if (_.isObject(this.config?.logs)) {
2806
+ if (_$1.isObject(this.config?.logs)) {
2728
2807
  return !!this.config.logs.realtime;
2729
2808
  }
2730
2809
  return this.config?.logs === true;
2731
2810
  }
2732
2811
  get logFramework() {
2733
- if (_.isObject(this.config?.logs)) {
2812
+ if (_$1.isObject(this.config?.logs)) {
2734
2813
  return !!this.config.logs.framework;
2735
2814
  }
2736
2815
  return this.config?.logs === true;
2737
2816
  }
2738
2817
  get logDb() {
2739
- if (_.isObject(this.config?.logs)) {
2818
+ if (_$1.isObject(this.config?.logs)) {
2740
2819
  return !!this.config.logs.db;
2741
2820
  }
2742
2821
  return this.config?.logs === true;
@@ -2837,9 +2916,19 @@ class EndpointContext {
2837
2916
  };
2838
2917
  }
2839
2918
  async init(options) {
2840
- const { initFromRecrusiveContextResovle } = options || {}; // TODO use it ?
2919
+ const { initFromRecrusiveContextResovle, overrideHost, overrideRemoteHost } = options || {}; // TODO use it ?
2841
2920
  this.inited = true;
2842
- this.config = this.configFn(ENV);
2921
+ this.config = this.configFn(ENV$1);
2922
+ if (overrideHost && overrideRemoteHost) {
2923
+ if (Helpers.isWebSQL) {
2924
+ throw new Error(`You can't have overrideHost and overrideRemoteHost at the same time`);
2925
+ }
2926
+ Helpers.error(`You can't have overrideHost and overrideRemoteHost at the same time`, false, true);
2927
+ /* */
2928
+ /* */
2929
+ }
2930
+ this.config.host = overrideHost ? overrideHost : this.config.host;
2931
+ this.config.remoteHost = overrideRemoteHost ? overrideRemoteHost : this.config.remoteHost;
2843
2932
  if (this.config.host) {
2844
2933
  this.mode = 'backend-frontend(tcp+udp)';
2845
2934
  this.mode = 'backend-frontend(websql)';
@@ -2866,11 +2955,11 @@ class EndpointContext {
2866
2955
  if (this.config.database === true) {
2867
2956
  this.databaseConfig = this.getAutoGeneratedConfig();
2868
2957
  }
2869
- else if (_.isObject(this.config.database)) {
2870
- this.databaseConfig = _.cloneDeep(this.config.database);
2958
+ else if (_$1.isObject(this.config.database)) {
2959
+ this.databaseConfig = _$1.cloneDeep(this.config.database);
2871
2960
  }
2872
2961
  if (this.config.session) {
2873
- this.session = _.cloneDeep(this.config.session);
2962
+ this.session = _$1.cloneDeep(this.config.session);
2874
2963
  const oneHour = 1000 * 60 * 60 * 1; // 24;
2875
2964
  if (!this.session.cookieMaxAge) {
2876
2965
  this.session.cookieMaxAge = oneHour;
@@ -2987,7 +3076,7 @@ class EndpointContext {
2987
3076
  if (Helpers.isRunningInDocker()) {
2988
3077
  Helpers.info('Running in docker, using in mysql database');
2989
3078
  databaseConfig = {
2990
- database: `tmp-db-${_.kebabCase(this.contextName)}.sqljs.db`,
3079
+ database: `tmp-db-${_$1.kebabCase(this.contextName)}.sqljs.db`,
2991
3080
  type: 'mysql',
2992
3081
  autoSave: true,
2993
3082
  synchronize: true,
@@ -3005,7 +3094,7 @@ class EndpointContext {
3005
3094
  switch (this.mode) {
3006
3095
  case 'backend-frontend(ipc-electron)':
3007
3096
  return {
3008
- location: `tmp-db-${_.kebabCase(this.contextName)}.sqljs`,
3097
+ location: `tmp-db-${_$1.kebabCase(this.contextName)}.sqljs`,
3009
3098
  type: 'sqljs',
3010
3099
  autoSave: true,
3011
3100
  synchronize: true,
@@ -3016,7 +3105,7 @@ class EndpointContext {
3016
3105
  case 'backend-frontend(websql-electron)':
3017
3106
  case 'backend-frontend(websql)':
3018
3107
  databaseConfig = {
3019
- location: `tmp-db-${_.kebabCase(this.contextName)}.sqljs`,
3108
+ location: `tmp-db-${_$1.kebabCase(this.contextName)}.sqljs`,
3020
3109
  type: 'sqljs',
3021
3110
  useLocalForage: true, // !!window['localforage'], // TODO this need to be checked in runtime
3022
3111
  autoSave: true,
@@ -3038,8 +3127,8 @@ class EndpointContext {
3038
3127
  break;
3039
3128
  case 'backend-frontend(tcp+udp)':
3040
3129
  databaseConfig = {
3041
- database: `context-db-${_.kebabCase(this.contextName)}`,
3042
- location: `tmp-db-${_.kebabCase(this.contextName)}.sqlite`,
3130
+ database: `context-db-${_$1.kebabCase(this.contextName)}`,
3131
+ location: `tmp-db-${_$1.kebabCase(this.contextName)}.sqlite`,
3043
3132
  type: 'sqljs',
3044
3133
  autoSave: true,
3045
3134
  synchronize: true,
@@ -3069,6 +3158,9 @@ class EndpointContext {
3069
3158
  /* */
3070
3159
  /* */
3071
3160
  /* */
3161
+ /* */
3162
+ /* */
3163
+ /* */
3072
3164
  return (void 0);
3073
3165
  }
3074
3166
  displayRoutes(app) {
@@ -3182,8 +3274,8 @@ class EndpointContext {
3182
3274
  return this.inject(ctor, { localInstance: false });
3183
3275
  }
3184
3276
  checkIfContextInitialized() {
3185
- if (_.isUndefined(this.config)) {
3186
- throw new Error(`Please check if your context has been initilized.
3277
+ if (_$1.isUndefined(this.config)) {
3278
+ throw new Error(`Please check if your context has been initialized.
3187
3279
 
3188
3280
 
3189
3281
  await Context.initialize();
@@ -3244,9 +3336,12 @@ class EndpointContext {
3244
3336
  }
3245
3337
  }
3246
3338
  async reinitControllers() {
3339
+ if (this.remoteHost) {
3340
+ return;
3341
+ }
3247
3342
  const controllers = this.getClassesInstancesArrBy(Models.ClassType.CONTROLLER);
3248
3343
  for (const ctrl of controllers) {
3249
- if (_.isFunction(ctrl.initExampleDbData)) {
3344
+ if (_$1.isFunction(ctrl.initExampleDbData)) {
3250
3345
  await Helpers.runSyncOrAsync({
3251
3346
  functionFn: ctrl.initExampleDbData,
3252
3347
  context: ctrl,
@@ -3255,6 +3350,9 @@ class EndpointContext {
3255
3350
  }
3256
3351
  }
3257
3352
  async initClasses() {
3353
+ if (this.remoteHost) {
3354
+ return;
3355
+ }
3258
3356
  for (const classTypeName of [
3259
3357
  Models.ClassType.PROVIDER,
3260
3358
  Models.ClassType.REPOSITORY,
@@ -3262,7 +3360,7 @@ class EndpointContext {
3262
3360
  Models.ClassType.ENTITY,
3263
3361
  ]) {
3264
3362
  for (const classFun of this.getClassFunByArr(classTypeName)) {
3265
- if (_.isFunction(classFun._)) {
3363
+ if (_$1.isFunction(classFun._)) {
3266
3364
  await Helpers.runSyncOrAsync({
3267
3365
  functionFn: classFun._,
3268
3366
  context: classFun,
@@ -3276,7 +3374,7 @@ class EndpointContext {
3276
3374
  Models.ClassType.CONTROLLER,
3277
3375
  ]) {
3278
3376
  for (const ctrl of this.getClassesInstancesArrBy(classTypeName)) {
3279
- if (_.isFunction(ctrl._)) {
3377
+ if (_$1.isFunction(ctrl._)) {
3280
3378
  await Helpers.runSyncOrAsync({
3281
3379
  functionFn: ctrl._,
3282
3380
  context: ctrl,
@@ -3322,6 +3420,9 @@ class EndpointContext {
3322
3420
  return this.uri?.origin;
3323
3421
  }
3324
3422
  async initSubscribers() {
3423
+ if (this.remoteHost) {
3424
+ return;
3425
+ }
3325
3426
  const subscriberClasses = this.getClassFunByArr(Models.ClassType.SUBSCRIBER);
3326
3427
  for (const subscriberClassFn of subscriberClasses) {
3327
3428
  const options = Reflect.getMetadata(Symbols.metadata.options.subscriber, subscriberClassFn);
@@ -3329,14 +3430,17 @@ class EndpointContext {
3329
3430
  }
3330
3431
  }
3331
3432
  async initEntities() {
3433
+ if (this.remoteHost) {
3434
+ return;
3435
+ }
3332
3436
  const entities = this.getClassFunByArr(Models.ClassType.ENTITY);
3333
3437
  for (const entity of entities) {
3334
3438
  const options = Reflect.getMetadata(Symbols.metadata.options.entity, entity);
3335
- const createTable = _.isUndefined(options.createTable)
3439
+ const createTable = _$1.isUndefined(options.createTable)
3336
3440
  ? true
3337
3441
  : options.createTable;
3338
3442
  const nameForEntity = ClassHelpers.getName(entity);
3339
- if (_.isUndefined(options.createTable) ? true : options.createTable) {
3443
+ if (_$1.isUndefined(options.createTable) ? true : options.createTable) {
3340
3444
  this.logDb &&
3341
3445
  console.info(`[taon][typeorm] create table for entity "${nameForEntity}" ? '${createTable}'`);
3342
3446
  Entity(nameForEntity)(entity);
@@ -3348,6 +3452,9 @@ class EndpointContext {
3348
3452
  }
3349
3453
  }
3350
3454
  async initDatabaseConnection() {
3455
+ if (this.remoteHost) {
3456
+ return;
3457
+ }
3351
3458
  const entities = (this.config.override?.entities
3352
3459
  ? this.config.override.entities
3353
3460
  : this.getClassFunByArr(Models.ClassType.ENTITY)).map(entityFn => {
@@ -3356,7 +3463,7 @@ class EndpointContext {
3356
3463
  const subscribers = this.config.override?.subscribers
3357
3464
  ? this.config.override.subscribers
3358
3465
  : this.getClassFunByArr(Models.ClassType.SUBSCRIBER);
3359
- const dataSourceDbConfig = _.isObject(this.databaseConfig)
3466
+ const dataSourceDbConfig = _$1.isObject(this.databaseConfig)
3360
3467
  ? {
3361
3468
  type: this.databaseConfig.type,
3362
3469
  port: this.databaseConfig.databasePort,
@@ -3415,7 +3522,7 @@ class EndpointContext {
3415
3522
  ClassHelpers.getMethodsNames(controllerClassFn);
3416
3523
  const configs = ClassHelpers.getControllerConfigs(controllerClassFn);
3417
3524
  const classConfig = configs[0];
3418
- const parentscalculatedPath = _.slice(configs, 1)
3525
+ const parentscalculatedPath = _$1.slice(configs, 1)
3419
3526
  .reverse()
3420
3527
  .map(bc => {
3421
3528
  if (TaonHelpers.isGoodPath(bc.path)) {
@@ -3433,13 +3540,13 @@ class EndpointContext {
3433
3540
  .replace(/\/\//g, '/')
3434
3541
  .split('/')
3435
3542
  .reduce((acc, bc) => {
3436
- return _.last(acc) === bc ? acc : [...acc, bc];
3543
+ return _$1.last(acc) === bc ? acc : [...acc, bc];
3437
3544
  }, [])
3438
3545
  .join('/');
3439
3546
  }
3440
- _.slice(configs, 1).forEach(bc => {
3547
+ _$1.slice(configs, 1).forEach(bc => {
3441
3548
  const alreadyIs = classConfig.methods;
3442
- const toMerge = _.cloneDeep(bc.methods);
3549
+ const toMerge = _$1.cloneDeep(bc.methods);
3443
3550
  for (const key in toMerge) {
3444
3551
  if (toMerge.hasOwnProperty(key) && !alreadyIs[key]) {
3445
3552
  const element = toMerge[key];
@@ -3479,6 +3586,9 @@ class EndpointContext {
3479
3586
  }
3480
3587
  }
3481
3588
  writeActiveRoutes() {
3589
+ if (this.remoteHost) {
3590
+ return;
3591
+ }
3482
3592
  const contexts = [this];
3483
3593
  const troutes = this.activeRoutes.map(({ method, routePath }) => {
3484
3594
  return (TaonHelpers.fillUpTo(method.toUpperCase() + ':', 10) +
@@ -3492,7 +3602,7 @@ class EndpointContext {
3492
3602
  const fileName = path.join(
3493
3603
  /* */
3494
3604
  /* */
3495
- `tmp-routes-${_.kebabCase(this.config.contextName)}.json`);
3605
+ `tmp-routes-${_$1.kebabCase(this.config.contextName)}.json`);
3496
3606
  this.logFramework && console.log(`[taon] routes file: ${fileName} `);
3497
3607
  /* */
3498
3608
  /* */
@@ -3505,7 +3615,7 @@ class EndpointContext {
3505
3615
  /* */
3506
3616
  return (void 0);
3507
3617
  }
3508
- initMidleware() {
3618
+ initMiddlewares() {
3509
3619
  /* */
3510
3620
  /* */
3511
3621
  /* */
@@ -3915,7 +4025,7 @@ class EndpointContext {
3915
4025
  method: methodConfig.type,
3916
4026
  url: `${ctx.uri.origin}${'' // TODO express path
3917
4027
  }${methodConfig.path} `,
3918
- }, Helpers.isBlob(body) || _.isString(body)
4028
+ }, Helpers.isBlob(body) || _$1.isString(body)
3919
4029
  ? body
3920
4030
  : JSON.stringify(body), RestHeaders.from(headers), void 0, () => body);
3921
4031
  resolve(res);
@@ -4007,7 +4117,7 @@ class EndpointContext {
4007
4117
  method: methodConfig.type,
4008
4118
  url: `${ctx.uri.origin}${'' // TODO express path
4009
4119
  }${methodConfig.path} `,
4010
- }, Helpers.isBlob(body) || _.isString(body)
4120
+ }, Helpers.isBlob(body) || _$1.isString(body)
4011
4121
  ? body
4012
4122
  : JSON.stringify(body), RestHeaders.from(headers), void 0, () => body);
4013
4123
  await periods();
@@ -4094,7 +4204,7 @@ class EndpointContext {
4094
4204
  if (mapping) {
4095
4205
  rest.headers.set(Symbols.old.MAPPING_CONFIG_HEADER_QUERY_PARAMS, JSON.stringify(mapping));
4096
4206
  }
4097
- queryParams = _.cloneDeep(param);
4207
+ queryParams = _$1.cloneDeep(param);
4098
4208
  }
4099
4209
  }
4100
4210
  if (currentParam.paramType === 'Header') {
@@ -4173,7 +4283,7 @@ instead
4173
4283
  ({}); // @--end-of-file-for-module=taon lib/endpoint-context.ts
4174
4284
 
4175
4285
  const createContext = (configFn) => {
4176
- let config = configFn(ENV);
4286
+ let config = configFn(ENV$1);
4177
4287
  const endpointContextRef = new EndpointContext(config, configFn);
4178
4288
  const res = {
4179
4289
  types: {
@@ -4226,10 +4336,12 @@ const createContext = (configFn) => {
4226
4336
  * - create controller instances for context
4227
4337
  * - init database (if enable) + migation scripts
4228
4338
  */
4229
- initialize: async () => {
4339
+ initialize: async (overrideOptions) => {
4230
4340
  return await new Promise(async (resolve, reject) => {
4231
4341
  setTimeout(async () => {
4232
- await endpointContextRef.init();
4342
+ await endpointContextRef.init({
4343
+ ...overrideOptions,
4344
+ });
4233
4345
  if (config.abstract) {
4234
4346
  throw new Error(`Abstract context can not be initialized`);
4235
4347
  }
@@ -4464,7 +4576,7 @@ function TaonEntity(options) {
4464
4576
  options = options || {};
4465
4577
  options.uniqueKeyProp = options.uniqueKeyProp || 'id';
4466
4578
  ClassHelpers.setName(constructor, options?.className);
4467
- Mapping.DefaultModelWithMapping(options?.defaultModelValues || {}, _.merge(options?.defaultModelMapping || {}, (options?.defaultModelMappingDeep || {})))(constructor);
4579
+ Mapping.DefaultModelWithMapping(options?.defaultModelValues || {}, _$1.merge(options?.defaultModelMapping || {}, (options?.defaultModelMappingDeep || {})))(constructor);
4468
4580
  Mapping.DefaultModelWithMapping(void 0, {})(constructor);
4469
4581
  Reflect.defineMetadata(Symbols.metadata.options.entity, options, constructor);
4470
4582
  Reflect.defineMetadata(Symbols.metadata.className, options?.className || constructor.name, constructor);
@@ -4523,6 +4635,1216 @@ const inject = (entity) => {
4523
4635
  ;
4524
4636
  ({}); // @--end-of-file-for-module=taon lib/inject.ts
4525
4637
 
4638
+ const log$1 = Log.create(`[taon-helpers] long-press`, Level.__NOTHING);
4639
+ class TaonLongPress {
4640
+ constructor() {
4641
+ this.pressDuration = 1000;
4642
+ this.onLongPress = new EventEmitter();
4643
+ this.onLongPressing = new EventEmitter();
4644
+ this.onLongPressEnd = new EventEmitter();
4645
+ this.mouseX = 0;
4646
+ this.mouseY = 0;
4647
+ this.allowTrigger = false;
4648
+ this.triggerEnd = _$1.debounce(() => {
4649
+ this.endPress();
4650
+ }, 500);
4651
+ }
4652
+ get press() {
4653
+ return this.pressing;
4654
+ }
4655
+ get longPress() {
4656
+ return this.longPressing;
4657
+ }
4658
+ onMouseDown(event) {
4659
+ log$1.d(`MOUSE DOWN `);
4660
+ if (event.which !== 1)
4661
+ return;
4662
+ this.allowTrigger = true;
4663
+ this.mouseX = event.clientX;
4664
+ this.mouseY = event.clientY;
4665
+ this.pressing = true;
4666
+ this.longPressing = false;
4667
+ this.timeout = setTimeout(() => {
4668
+ if (this.allowTrigger) {
4669
+ this.longPressing = true;
4670
+ log$1.d(`long pressing start pressDuration:${this.pressDuration} `);
4671
+ this.onLongPress.emit(event);
4672
+ this.loop(event);
4673
+ }
4674
+ }, this.pressDuration);
4675
+ this.loop(event);
4676
+ }
4677
+ onMouseMove(event) {
4678
+ if (this.pressing && !this.longPressing) {
4679
+ const xThres = event.clientX - this.mouseX > 10;
4680
+ const yThres = event.clientY - this.mouseY > 10;
4681
+ if (xThres || yThres) {
4682
+ this.endPress();
4683
+ }
4684
+ }
4685
+ }
4686
+ loop(event) {
4687
+ if (this.longPressing) {
4688
+ this.timeout = setTimeout(() => {
4689
+ log$1.d(`emil longpressing`);
4690
+ this.triggerEnd();
4691
+ this.onLongPressing.emit(event);
4692
+ this.loop(event);
4693
+ }, 50);
4694
+ }
4695
+ }
4696
+ endPress(emit = true) {
4697
+ this.allowTrigger = false;
4698
+ clearTimeout(this.timeout);
4699
+ this.longPressing = false;
4700
+ this.pressing = false;
4701
+ if (emit) {
4702
+ log$1.d(`EMIT END`);
4703
+ this.onLongPressEnd.emit(true);
4704
+ }
4705
+ else {
4706
+ log$1.d(`NOT EMIT END`);
4707
+ }
4708
+ }
4709
+ onMouseUp() {
4710
+ this.endPress(false);
4711
+ }
4712
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonLongPress, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
4713
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.5", 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 }); }
4714
+ }
4715
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonLongPress, decorators: [{
4716
+ type: Directive,
4717
+ args: [{
4718
+ selector: '[taonLongPress]',
4719
+ standalone: true,
4720
+ }]
4721
+ }], propDecorators: { pressDuration: [{
4722
+ type: Input
4723
+ }], onLongPress: [{
4724
+ type: Output
4725
+ }], onLongPressing: [{
4726
+ type: Output
4727
+ }], onLongPressEnd: [{
4728
+ type: Output
4729
+ }], press: [{
4730
+ type: HostBinding,
4731
+ args: ['class.press']
4732
+ }], longPress: [{
4733
+ type: HostBinding,
4734
+ args: ['class.longpress']
4735
+ }], onMouseDown: [{
4736
+ type: HostListener,
4737
+ args: ['mousedown', ['$event']]
4738
+ }], onMouseMove: [{
4739
+ type: HostListener,
4740
+ args: ['mousemove', ['$event']]
4741
+ }], onMouseUp: [{
4742
+ type: HostListener,
4743
+ args: ['mouseup']
4744
+ }] } });
4745
+ ;
4746
+ ({}); // @--end-of-file-for-module=taon lib/ui/directives/taon-long-press.directive.ts
4747
+
4748
+ class TaonInjectHTMLDirective {
4749
+ set taonInjectHTML(content) {
4750
+ this.host.nativeElement.innerHTML = content;
4751
+ }
4752
+ constructor(host) {
4753
+ this.host = host;
4754
+ }
4755
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonInjectHTMLDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
4756
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.5", type: TaonInjectHTMLDirective, isStandalone: true, selector: "[taonInjectHTML]", inputs: { taonInjectHTML: "taonInjectHTML" }, ngImport: i0 }); }
4757
+ }
4758
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonInjectHTMLDirective, decorators: [{
4759
+ type: Directive,
4760
+ args: [{
4761
+ selector: '[taonInjectHTML]',
4762
+ standalone: true,
4763
+ }]
4764
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { taonInjectHTML: [{
4765
+ type: Input
4766
+ }] } });
4767
+ ;
4768
+ ({}); // @--end-of-file-for-module=taon lib/ui/directives/taon-inject-html.directive.ts
4769
+
4770
+ /* */
4771
+ /* */
4772
+ /* */
4773
+ /* */
4774
+ /* */
4775
+ /* */
4776
+ class SafePipe {
4777
+ constructor(sanitizer) {
4778
+ this.sanitizer = sanitizer;
4779
+ }
4780
+ transform(value, type) {
4781
+ switch (type) {
4782
+ case 'html':
4783
+ return this.sanitizer.bypassSecurityTrustHtml(value);
4784
+ case 'style':
4785
+ return this.sanitizer.bypassSecurityTrustStyle(value);
4786
+ case 'script':
4787
+ return this.sanitizer.bypassSecurityTrustScript(value);
4788
+ case 'url':
4789
+ return this.sanitizer.bypassSecurityTrustUrl(value);
4790
+ case 'resourceUrl':
4791
+ return this.sanitizer.bypassSecurityTrustResourceUrl(value);
4792
+ default:
4793
+ throw new Error(`Invalid safe type specified: ${type}`);
4794
+ }
4795
+ }
4796
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SafePipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
4797
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: SafePipe, isStandalone: true, name: "safe" }); }
4798
+ }
4799
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SafePipe, decorators: [{
4800
+ type: Pipe,
4801
+ args: [{
4802
+ name: 'safe',
4803
+ standalone: true,
4804
+ }]
4805
+ }], ctorParameters: () => [{ type: i1.DomSanitizer }] });
4806
+ ;
4807
+ ({}); // @--end-of-file-for-module=taon lib/ui/directives/safe.pipe.ts
4808
+
4809
+ ;
4810
+ ({}); // @--end-of-file-for-module=taon lib/ui/directives/index.ts
4811
+
4812
+ class TaonFullMaterialModule {
4813
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFullMaterialModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
4814
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TaonFullMaterialModule, exports: [A11yModule,
4815
+ CdkStepperModule,
4816
+ CdkTableModule,
4817
+ CdkTreeModule,
4818
+ DragDropModule,
4819
+ MatAutocompleteModule,
4820
+ MatBadgeModule,
4821
+ MatBottomSheetModule,
4822
+ MatButtonModule,
4823
+ MatButtonToggleModule,
4824
+ MatCardModule,
4825
+ MatCheckboxModule,
4826
+ MatChipsModule,
4827
+ MatStepperModule,
4828
+ MatDatepickerModule,
4829
+ MatDialogModule,
4830
+ MatDividerModule,
4831
+ MatExpansionModule,
4832
+ MatGridListModule,
4833
+ MatIconModule,
4834
+ MatInputModule,
4835
+ MatListModule,
4836
+ MatMenuModule,
4837
+ MatNativeDateModule,
4838
+ MatPaginatorModule,
4839
+ MatProgressBarModule,
4840
+ MatProgressSpinnerModule,
4841
+ MatRadioModule,
4842
+ MatRippleModule,
4843
+ MatSelectModule,
4844
+ MatSidenavModule,
4845
+ MatSliderModule,
4846
+ MatSlideToggleModule,
4847
+ MatSnackBarModule,
4848
+ MatSortModule,
4849
+ MatTableModule,
4850
+ MatTabsModule,
4851
+ MatToolbarModule,
4852
+ MatTooltipModule,
4853
+ MatTreeModule,
4854
+ ScrollingModule] }); }
4855
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFullMaterialModule, imports: [A11yModule,
4856
+ CdkStepperModule,
4857
+ CdkTableModule,
4858
+ CdkTreeModule,
4859
+ DragDropModule,
4860
+ MatAutocompleteModule,
4861
+ MatBadgeModule,
4862
+ MatBottomSheetModule,
4863
+ MatButtonModule,
4864
+ MatButtonToggleModule,
4865
+ MatCardModule,
4866
+ MatCheckboxModule,
4867
+ MatChipsModule,
4868
+ MatStepperModule,
4869
+ MatDatepickerModule,
4870
+ MatDialogModule,
4871
+ MatDividerModule,
4872
+ MatExpansionModule,
4873
+ MatGridListModule,
4874
+ MatIconModule,
4875
+ MatInputModule,
4876
+ MatListModule,
4877
+ MatMenuModule,
4878
+ MatNativeDateModule,
4879
+ MatPaginatorModule,
4880
+ MatProgressBarModule,
4881
+ MatProgressSpinnerModule,
4882
+ MatRadioModule,
4883
+ MatRippleModule,
4884
+ MatSelectModule,
4885
+ MatSidenavModule,
4886
+ MatSliderModule,
4887
+ MatSlideToggleModule,
4888
+ MatSnackBarModule,
4889
+ MatSortModule,
4890
+ MatTableModule,
4891
+ MatTabsModule,
4892
+ MatToolbarModule,
4893
+ MatTooltipModule,
4894
+ MatTreeModule,
4895
+ ScrollingModule] }); }
4896
+ }
4897
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFullMaterialModule, decorators: [{
4898
+ type: NgModule,
4899
+ args: [{
4900
+ exports: [
4901
+ A11yModule,
4902
+ CdkStepperModule,
4903
+ CdkTableModule,
4904
+ CdkTreeModule,
4905
+ DragDropModule,
4906
+ MatAutocompleteModule,
4907
+ MatBadgeModule,
4908
+ MatBottomSheetModule,
4909
+ MatButtonModule,
4910
+ MatButtonToggleModule,
4911
+ MatCardModule,
4912
+ MatCheckboxModule,
4913
+ MatChipsModule,
4914
+ MatStepperModule,
4915
+ MatDatepickerModule,
4916
+ MatDialogModule,
4917
+ MatDividerModule,
4918
+ MatExpansionModule,
4919
+ MatGridListModule,
4920
+ MatIconModule,
4921
+ MatInputModule,
4922
+ MatListModule,
4923
+ MatMenuModule,
4924
+ MatNativeDateModule,
4925
+ MatPaginatorModule,
4926
+ MatProgressBarModule,
4927
+ MatProgressSpinnerModule,
4928
+ MatRadioModule,
4929
+ MatRippleModule,
4930
+ MatSelectModule,
4931
+ MatSidenavModule,
4932
+ MatSliderModule,
4933
+ MatSlideToggleModule,
4934
+ MatSnackBarModule,
4935
+ MatSortModule,
4936
+ MatTableModule,
4937
+ MatTabsModule,
4938
+ MatToolbarModule,
4939
+ MatTooltipModule,
4940
+ MatTreeModule,
4941
+ ScrollingModule,
4942
+ ],
4943
+ }]
4944
+ }] });
4945
+ ;
4946
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-full-material.module.ts
4947
+
4948
+ class TaonGithubForkMeCornerComponent {
4949
+ constructor() {
4950
+ this.url = 'https://github.com';
4951
+ }
4952
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonGithubForkMeCornerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4953
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TaonGithubForkMeCornerComponent, 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>\n", 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"] }); }
4954
+ }
4955
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonGithubForkMeCornerComponent, decorators: [{
4956
+ type: Component,
4957
+ args: [{ selector: 'taon-github-fork-me-corner', 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>\n", 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"] }]
4958
+ }], propDecorators: { url: [{
4959
+ type: Input
4960
+ }] } });
4961
+ ;
4962
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.ts
4963
+
4964
+ class TaonGithubForkMeCornerModule {
4965
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonGithubForkMeCornerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
4966
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TaonGithubForkMeCornerModule, declarations: [TaonGithubForkMeCornerComponent], imports: [CommonModule], exports: [TaonGithubForkMeCornerComponent] }); }
4967
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonGithubForkMeCornerModule, imports: [CommonModule] }); }
4968
+ }
4969
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonGithubForkMeCornerModule, decorators: [{
4970
+ type: NgModule,
4971
+ args: [{
4972
+ imports: [CommonModule],
4973
+ exports: [TaonGithubForkMeCornerComponent],
4974
+ declarations: [TaonGithubForkMeCornerComponent],
4975
+ providers: [],
4976
+ }]
4977
+ }] });
4978
+ ;
4979
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.ts
4980
+
4981
+ ;
4982
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-github-fork-me-corner/index.ts
4983
+
4984
+ /* */
4985
+ /* */
4986
+ class TaonNotificationsService {
4987
+ constructor(toast) {
4988
+ this.toast = toast;
4989
+ }
4990
+ options(type, options) {
4991
+ if (_$1.isString(options)) {
4992
+ options = {
4993
+ // @ts-ignore
4994
+ title: options,
4995
+ };
4996
+ }
4997
+ return options;
4998
+ }
4999
+ success(options) {
5000
+ const opt = this.options('success', options);
5001
+ return this.toast.success(opt.title);
5002
+ }
5003
+ error(options) {
5004
+ const opt = this.options('error', options);
5005
+ return this.toast.error(opt.title);
5006
+ }
5007
+ warn(options) {
5008
+ const opt = this.options('warning', options);
5009
+ return this.toast.warning(opt.title);
5010
+ }
5011
+ info(options) {
5012
+ const opt = this.options('info', options);
5013
+ return this.toast.info(opt.title);
5014
+ }
5015
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonNotificationsService, deps: [{ token: i1$1.HotToastService }], target: i0.ɵɵFactoryTarget.Injectable }); }
5016
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonNotificationsService, providedIn: 'root' }); }
5017
+ }
5018
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonNotificationsService, decorators: [{
5019
+ type: Injectable,
5020
+ args: [{
5021
+ providedIn: 'root',
5022
+ }]
5023
+ }], ctorParameters: () => [{ type: i1$1.HotToastService }] });
5024
+ ;
5025
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-notifications/taon-notifications.service.ts
5026
+
5027
+ class TaonNotificationsComponent {
5028
+ constructor(notification) {
5029
+ this.notification = notification;
5030
+ }
5031
+ ngOnInit() { }
5032
+ init(subscribtionsArray, template, callback) {
5033
+ subscribtionsArray.push(Resource.listenErrors.subscribe(err => {
5034
+ this.notification.error(err.msg);
5035
+ }));
5036
+ }
5037
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonNotificationsComponent, deps: [{ token: TaonNotificationsService }], target: i0.ɵɵFactoryTarget.Component }); }
5038
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TaonNotificationsComponent, selector: "taon-notifications", ngImport: i0, template: "<!-- <p>\n notyfications works!\n</p> -->\n", styles: [":host{position:absolute;width:0px;height:0px}\n"] }); }
5039
+ }
5040
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonNotificationsComponent, decorators: [{
5041
+ type: Component,
5042
+ args: [{ selector: 'taon-notifications', template: "<!-- <p>\n notyfications works!\n</p> -->\n", styles: [":host{position:absolute;width:0px;height:0px}\n"] }]
5043
+ }], ctorParameters: () => [{ type: TaonNotificationsService }] });
5044
+ ;
5045
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-notifications/taon-notifications.component.ts
5046
+
5047
+ class TaonNotificationOptions {
5048
+ }
5049
+ ;
5050
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-notifications/taon-notifications.models.ts
5051
+
5052
+ class TaonNotificationsModule {
5053
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonNotificationsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5054
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TaonNotificationsModule, declarations: [TaonNotificationsComponent], exports: [TaonNotificationsComponent] }); }
5055
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonNotificationsModule, providers: [TaonNotificationsService] }); }
5056
+ }
5057
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonNotificationsModule, decorators: [{
5058
+ type: NgModule,
5059
+ args: [{
5060
+ imports: [],
5061
+ exports: [TaonNotificationsComponent],
5062
+ declarations: [TaonNotificationsComponent],
5063
+ providers: [TaonNotificationsService],
5064
+ }]
5065
+ }] });
5066
+ ;
5067
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-notifications/taon-notifications.module.ts
5068
+
5069
+ ;
5070
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-notifications/index.ts
5071
+
5072
+ class TaonSessionPasscodeComponent {
5073
+ constructor(element, domSanitizer, cdr) {
5074
+ this.element = element;
5075
+ this.domSanitizer = domSanitizer;
5076
+ this.cdr = cdr;
5077
+ this.destroyRef = inject$1(DestroyRef);
5078
+ this.display = 'none';
5079
+ this.form = new FormGroup({
5080
+ passcode: new FormControl(),
5081
+ });
5082
+ }
5083
+ ngOnInit() {
5084
+ if (!this.passcode) {
5085
+ this.passcode = '123456';
5086
+ }
5087
+ if (!this.message) {
5088
+ this.message = `
5089
+ This website is only for testing purpose. Please type passcode bellow to see content.
5090
+
5091
+ `;
5092
+ }
5093
+ this.safeMessage = this.domSanitizer.bypassSecurityTrustHtml(this.message);
5094
+ if (this.lastPasscode?.toString() === this.passcode?.toString()) {
5095
+ this.hide();
5096
+ }
5097
+ else {
5098
+ this.show();
5099
+ this.focus();
5100
+ }
5101
+ interval(1000)
5102
+ .pipe(takeUntilDestroyed(this.destroyRef), tap(() => {
5103
+ this.focus();
5104
+ }))
5105
+ .subscribe();
5106
+ }
5107
+ submit({ passcode }) {
5108
+ if (this.isPasscodeOK(passcode || '')) {
5109
+ this.hide();
5110
+ }
5111
+ else {
5112
+ this.clear();
5113
+ }
5114
+ }
5115
+ isPasscodeOK(passcode) {
5116
+ this.lastPasscode = passcode.toString();
5117
+ return this.passcode.toString() === passcode;
5118
+ }
5119
+ ngAfterViewInit() { }
5120
+ focus() {
5121
+ this.element.nativeElement.querySelector('input')?.focus();
5122
+ }
5123
+ hide() {
5124
+ this.display = 'none';
5125
+ }
5126
+ show() {
5127
+ this.display = 'block';
5128
+ }
5129
+ clear() {
5130
+ this.form.controls.passcode.setValue('');
5131
+ }
5132
+ onKeyup(event) {
5133
+ if (this.isPasscodeOK(event.target.value || '')) {
5134
+ this.hide();
5135
+ return;
5136
+ }
5137
+ const key = event.keyCode || event.charCode;
5138
+ if (key === 8 || key === 46 || this.lastPasscode?.length > 5) {
5139
+ this.clear();
5140
+ }
5141
+ }
5142
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonSessionPasscodeComponent, deps: [{ token: i0.ElementRef, self: true }, { token: i1.DomSanitizer }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
5143
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", 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>\n", 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 }] }); }
5144
+ }
5145
+ __decorate([
5146
+ (Stor.property.in.localstorage
5147
+ .for(TaonSessionPasscodeComponent)
5148
+ .withDefaultValue('')),
5149
+ __metadata("design:type", String)
5150
+ ], TaonSessionPasscodeComponent.prototype, "lastPasscode", void 0);
5151
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonSessionPasscodeComponent, decorators: [{
5152
+ type: Component,
5153
+ 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>\n", 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"] }]
5154
+ }], ctorParameters: () => [{ type: i0.ElementRef, decorators: [{
5155
+ type: Self
5156
+ }] }, { type: i1.DomSanitizer }, { type: i0.ChangeDetectorRef }], propDecorators: { passcode: [{
5157
+ type: Input
5158
+ }], message: [{
5159
+ type: Input
5160
+ }], display: [{
5161
+ type: HostBinding,
5162
+ args: ['style.display']
5163
+ }] } });
5164
+ ;
5165
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-session-passcode/taon-session-passcode.component.ts
5166
+
5167
+ ;
5168
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-session-passcode/index.ts
5169
+
5170
+ const calculatePercentage = (loaded, total) => Math.floor(loaded * 1.0) / total;
5171
+ class TaonProgressBarComponent {
5172
+ constructor() {
5173
+ this.handlers = [];
5174
+ this.options = _$1.merge({
5175
+ min: 8,
5176
+ max: 100,
5177
+ speed: 200,
5178
+ trickleSpeed: 300,
5179
+ debounceTime: 0,
5180
+ ease: 'linear',
5181
+ spinnerPosition: 'right',
5182
+ direction: 'ltr+',
5183
+ color: 'gray',
5184
+ fixed: true,
5185
+ meteor: true,
5186
+ spinner: true,
5187
+ thick: false,
5188
+ }, _$1.get(ENV, `plugins['ngx-progressbar']`));
5189
+ }
5190
+ ngOnInit() { }
5191
+ ngOnDestroy() {
5192
+ this.handlers.forEach(h => h.unsubscribe());
5193
+ }
5194
+ ngAfterViewInit() {
5195
+ this.loadProgressBar(void 0, axios);
5196
+ }
5197
+ loadProgressBar(config, instance = axios) {
5198
+ }
5199
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5200
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TaonProgressBarComponent, 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()\" -->\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "component", type: i1$2.NgProgressComponent, selector: "ng-progress", inputs: ["id", "min", "max", "ease", "color", "speed", "thick", "fixed", "meteor", "spinner", "trickleSpeed", "debounceTime", "trickleFunc", "spinnerPosition", "direction"], outputs: ["started", "completed"] }] }); }
5201
+ }
5202
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonProgressBarComponent, decorators: [{
5203
+ type: Component,
5204
+ args: [{ selector: 'taon-progress-bar', 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()\" -->\n", styles: [":host{display:block}\n"] }]
5205
+ }], ctorParameters: () => [], propDecorators: { labProgress: [{
5206
+ type: ViewChild,
5207
+ args: ['labProgress']
5208
+ }], isDesktop: [{
5209
+ type: Input
5210
+ }] } });
5211
+ ;
5212
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-progress-bar/taon-progress-bar.component.ts
5213
+
5214
+ class TaonProgressBarModule {
5215
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonProgressBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5216
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TaonProgressBarModule, declarations: [TaonProgressBarComponent], imports: [CommonModule, i1$2.NgProgressModule], exports: [TaonProgressBarComponent] }); }
5217
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonProgressBarModule, imports: [CommonModule, NgProgressModule.withConfig({})] }); }
5218
+ }
5219
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonProgressBarModule, decorators: [{
5220
+ type: NgModule,
5221
+ args: [{
5222
+ imports: [CommonModule, NgProgressModule.withConfig({})],
5223
+ declarations: [TaonProgressBarComponent],
5224
+ exports: [TaonProgressBarComponent],
5225
+ }]
5226
+ }] });
5227
+ ;
5228
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-progress-bar/taon-progress-bar.module.ts
5229
+
5230
+ ;
5231
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-progress-bar/index.ts
5232
+
5233
+ const log = Log.create('Table wrapper', Level.__NOTHING);
5234
+ const defaultColumns = [
5235
+ {
5236
+ header: 'ID',
5237
+ field: 'id',
5238
+ },
5239
+ {
5240
+ header: 'NAME',
5241
+ field: 'name',
5242
+ },
5243
+ ];
5244
+ class TaonTableComponent {
5245
+ constructor() {
5246
+ this.pageNumber = 1;
5247
+ this.pageSize = 5;
5248
+ this.allowedColumns = [];
5249
+ this.rows = _.times(20, id => {
5250
+ return {
5251
+ id,
5252
+ name: `Amazing ${id} row `,
5253
+ };
5254
+ });
5255
+ this.columns = defaultColumns;
5256
+ this.pageSizeOptions = [5, 10, 20];
5257
+ this.expansionChange = new EventEmitter();
5258
+ this.addingItem = new EventEmitter();
5259
+ this.searchInputChange$ = defer(() => fromEvent(this.search?.nativeElement, 'keyup')).pipe(map(c => c.target['value']), debounceTime(500), distinctUntilChanged(), share(), tap(data => {
5260
+ console.log({ data });
5261
+ }));
5262
+ this.expandable = false;
5263
+ this.showPaginator = true;
5264
+ this.isLoading = false;
5265
+ this.totalElements = 100;
5266
+ this.sub = new Subscription();
5267
+ }
5268
+ async ngOnInit() {
5269
+ if (_.isString(this.entity)) {
5270
+ this.entity = CLASS.getBy(this.entity);
5271
+ }
5272
+ this.sub.add(this.searchInputChange$.subscribe());
5273
+ if (!!this.entity) {
5274
+ this.rows = [];
5275
+ }
5276
+ this.expandable = !!this.expansionTemplate;
5277
+ log.i('this.columns,', this.columns);
5278
+ const columnsConfigSameAsDefault = _.isEqual(this.columns, defaultColumns);
5279
+ const entityClass = this.entity;
5280
+ if (entityClass && columnsConfigSameAsDefault) {
5281
+ log.i('this.crud.entity', CLASS.describeProperites(entityClass));
5282
+ try {
5283
+ const props = CLASS.describeProperites(entityClass);
5284
+ let columns = props
5285
+ .filter(prop => this.allowedColumns.length > 0
5286
+ ? this.allowedColumns.includes(prop)
5287
+ : true)
5288
+ .map(prop => {
5289
+ return {
5290
+ header: _.upperCase(prop),
5291
+ field: prop,
5292
+ };
5293
+ });
5294
+ const extra = this.allowedColumns.filter(f => !props.includes(f));
5295
+ columns = [
5296
+ ...columns,
5297
+ ...extra.map(prop => {
5298
+ return {
5299
+ header: _.upperCase(prop),
5300
+ field: prop,
5301
+ };
5302
+ }),
5303
+ ];
5304
+ if (!this.expandable) {
5305
+ for (let index = 0; index < columns.length; index++) {
5306
+ const col = columns[index];
5307
+ delete col.showExpand;
5308
+ }
5309
+ }
5310
+ this.columns = columns;
5311
+ }
5312
+ catch (error) {
5313
+ console.error(error);
5314
+ }
5315
+ }
5316
+ else {
5317
+ }
5318
+ if (!this.entity) {
5319
+ this.showPaginator = false;
5320
+ }
5321
+ await this.retriveData();
5322
+ }
5323
+ ngOnDestroy() {
5324
+ this.sub.unsubscribe();
5325
+ }
5326
+ async getNextPage(e) {
5327
+ this.pageNumber = e.pageIndex + 1;
5328
+ this.pageSize = e.pageSize;
5329
+ await this.retriveData();
5330
+ }
5331
+ async retriveData() {
5332
+ // @ts-ignore
5333
+ }
5334
+ expansionRow(e) {
5335
+ this.expansionChange.next(e);
5336
+ }
5337
+ onTableContextMenu(e) {
5338
+ log.i('context menu event', e);
5339
+ }
5340
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5341
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TaonTableComponent, selector: "taon-table", inputs: { pageNumber: "pageNumber", pageSize: "pageSize", allowedColumns: "allowedColumns", entity: "entity", expansionTemplate: "expansionTemplate", rows: "rows", columns: "columns", pageSizeOptions: "pageSizeOptions" }, outputs: { expansionChange: "expansionChange", addingItem: "addingItem" }, viewQueries: [{ propertyName: "search", first: true, predicate: ["search"], descendants: true, static: true }], ngImport: i0, template: "<br />\n<columns-container>\n <column grow>\n <mat-form-field class=\"search-input\">\n <input matInput placeholder=\"Type to search table...\" #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>\n", 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", "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: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i1$3.ColumnsComponent, selector: "columns-container" }, { kind: "component", type: i1$3.ColumnComponent, selector: "column", inputs: ["width"] }, { kind: "directive", type: i1$3.DirectiveGrow, selector: "[grow]" }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6$1.MatFabButton, selector: "button[mat-fab]", inputs: ["extended"], exportAs: ["matButton"] }] }); }
5342
+ }
5343
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonTableComponent, decorators: [{
5344
+ type: Component,
5345
+ args: [{ selector: 'taon-table', template: "<br />\n<columns-container>\n <column grow>\n <mat-form-field class=\"search-input\">\n <input matInput placeholder=\"Type to search table...\" #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>\n", styles: [":host{min-height:250px}.search-input{width:100%}.undo-button{margin-left:10px}.half-opacity{opacity:.2}\n"] }]
5346
+ }], ctorParameters: () => [], propDecorators: { pageNumber: [{
5347
+ type: Input
5348
+ }], pageSize: [{
5349
+ type: Input
5350
+ }], allowedColumns: [{
5351
+ type: Input
5352
+ }], entity: [{
5353
+ type: Input
5354
+ }], expansionTemplate: [{
5355
+ type: Input
5356
+ }], rows: [{
5357
+ type: Input
5358
+ }], columns: [{
5359
+ type: Input
5360
+ }], pageSizeOptions: [{
5361
+ type: Input
5362
+ }], expansionChange: [{
5363
+ type: Output
5364
+ }], addingItem: [{
5365
+ type: Output
5366
+ }], search: [{
5367
+ type: ViewChild,
5368
+ args: ['search', { static: true }]
5369
+ }] } });
5370
+ ;
5371
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-table/taon-table.component.ts
5372
+
5373
+ class TaonTableModule {
5374
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5375
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TaonTableModule, declarations: [TaonTableComponent], imports: [CommonModule,
5376
+ MatSelectModule,
5377
+ MtxGridModule,
5378
+ MatFormFieldModule,
5379
+ MatInputModule,
5380
+ StaticColumnsModule,
5381
+ MatIconModule,
5382
+ MatButtonModule,
5383
+ FormsModule,
5384
+ ReactiveFormsModule], exports: [TaonTableComponent] }); }
5385
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonTableModule, imports: [CommonModule,
5386
+ MatSelectModule,
5387
+ MtxGridModule,
5388
+ MatFormFieldModule,
5389
+ MatInputModule,
5390
+ StaticColumnsModule,
5391
+ MatIconModule,
5392
+ MatButtonModule,
5393
+ FormsModule,
5394
+ ReactiveFormsModule] }); }
5395
+ }
5396
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonTableModule, decorators: [{
5397
+ type: NgModule,
5398
+ args: [{
5399
+ imports: [
5400
+ CommonModule,
5401
+ MatSelectModule,
5402
+ MtxGridModule,
5403
+ MatFormFieldModule,
5404
+ MatInputModule,
5405
+ StaticColumnsModule,
5406
+ MatIconModule,
5407
+ MatButtonModule,
5408
+ FormsModule,
5409
+ ReactiveFormsModule,
5410
+ ],
5411
+ exports: [TaonTableComponent],
5412
+ declarations: [TaonTableComponent],
5413
+ }]
5414
+ }] });
5415
+ ;
5416
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-table/taon-table.module.ts
5417
+
5418
+ ;
5419
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-table/index.ts
5420
+
5421
+ class TaonAdminService {
5422
+ /**
5423
+ * @deprecated
5424
+ */
5425
+ disableScroll() {
5426
+ }
5427
+ constructor(cdr) {
5428
+ this.cdr = cdr;
5429
+ this.admin = window['taon'];
5430
+ }
5431
+ addTab(name, template) {
5432
+ this.admin.cmp.tabs.push({
5433
+ name,
5434
+ template,
5435
+ });
5436
+ }
5437
+ init(taonAdminModeConfigurationComponent) {
5438
+ this.taonAdminModeConfigurationComponent =
5439
+ taonAdminModeConfigurationComponent;
5440
+ }
5441
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminService, deps: [{ token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Injectable }); }
5442
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminService, providedIn: 'root' }); }
5443
+ }
5444
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminService, decorators: [{
5445
+ type: Injectable,
5446
+ args: [{ providedIn: 'root' }]
5447
+ }], ctorParameters: () => [{ type: i0.ApplicationRef }] });
5448
+ ;
5449
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/taon-admin-control.service.ts
5450
+
5451
+ class TaonAdminModeConfigurationComponent {
5452
+ get opened() {
5453
+ return !this.isIframe && this.admin.adminPanelIsOpen;
5454
+ }
5455
+ set opened(v) {
5456
+ if (v && !this.openedOnce) {
5457
+ this.openedOnce = true;
5458
+ }
5459
+ if (this.wasOpenDraggablePopup) {
5460
+ this.wasOpenDraggablePopup = false;
5461
+ this.admin.draggablePopupMode = true;
5462
+ }
5463
+ this.admin.adminPanelIsOpen = v;
5464
+ }
5465
+ constructor(breakpointsService) {
5466
+ this.breakpointsService = breakpointsService;
5467
+ this.$destroy = new Subject();
5468
+ this.cdr = inject$1(ChangeDetectorRef);
5469
+ this.taonAdminService = inject$1(TaonAdminService);
5470
+ this.tabs = [];
5471
+ this.admin = window['taon'];
5472
+ this.isWebSQLMode = Helpers.isWebSQL;
5473
+ this.hideTaonToolsInProduction = ENV.hideTaonToolsInProduction && ENV.angularProd;
5474
+ this.isIframe = window.location !== window.parent.location;
5475
+ this.height = 100;
5476
+ this.openedOnce = false;
5477
+ this.reloading = false;
5478
+ this.showPasscode = _$1.isString(ENV.passcode) || _$1.isObject(ENV.passcode);
5479
+ this.passcode = _$1.isString(ENV.passcode)
5480
+ ? ENV.passcode
5481
+ : _$1.isObject(ENV.passcode)
5482
+ ? ENV.passcode.code
5483
+ : '';
5484
+ this.message = _$1.isObject(ENV.passcode)
5485
+ ? ENV.passcode.message
5486
+ : void 0;
5487
+ this.dragPositionZero = { x: 0, y: 0 };
5488
+ this.taonAdminModeConfigurationDataChanged = new EventEmitter();
5489
+ this.taonAdminModeConfigurationData = {};
5490
+ this.admin.cmp = this;
5491
+ this.breakpointsService
5492
+ .listenTo()
5493
+ .pipe(takeUntil(this.$destroy))
5494
+ .subscribe(breakpoint => {
5495
+ // @ts-ignore
5496
+ this.isDesktop = breakpoint === 'desktop';
5497
+ });
5498
+ this.taonAdminService.init(this);
5499
+ }
5500
+ reloadTabs() {
5501
+ this.reloading = true;
5502
+ setTimeout(() => {
5503
+ this.reloading = false;
5504
+ console.log('reloading done');
5505
+ });
5506
+ }
5507
+ async ngOnInit() {
5508
+ await Stor.awaitPendingOperatios();
5509
+ this.dragPosition = { x: this.dragPositionX, y: this.dragPositionY };
5510
+ this.openedOnce = this.opened;
5511
+ }
5512
+ ngAfterViewInit() {
5513
+ //Called after ngAfterContentInit when the component's view has been initialized. Applies to components only.
5514
+ //Add 'implements AfterViewInit' to the class.
5515
+ setTimeout(() => {
5516
+ this.height = window.innerHeight;
5517
+ if (this.admin.draggablePopupMode) {
5518
+ this.reloadTabs();
5519
+ }
5520
+ });
5521
+ }
5522
+ ngOnDestroy() {
5523
+ this.$destroy.next(void 0);
5524
+ this.$destroy.complete();
5525
+ }
5526
+ onResize(event) {
5527
+ this.height = window.innerHeight;
5528
+ }
5529
+ async toogle() {
5530
+ this.opened = !this.opened;
5531
+ }
5532
+ async toogleFullScreen() {
5533
+ this.admin.draggablePopupMode = true;
5534
+ this.admin.draggablePopupModeFullScreen =
5535
+ !this.admin.draggablePopupModeFullScreen;
5536
+ this.resetDrag();
5537
+ }
5538
+ resetDrag() {
5539
+ this.dragPositionX = 0;
5540
+ this.dragPositionY = 0;
5541
+ this.dragPosition = { x: this.dragPositionX, y: this.dragPositionY };
5542
+ }
5543
+ moved(c) {
5544
+ this.dragPositionX += c.distance.x;
5545
+ this.dragPositionY += c.distance.y;
5546
+ }
5547
+ scrollTabs(event) {
5548
+ return;
5549
+ }
5550
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationComponent, deps: [{ token: i1$3.BreakpointsService }], target: i0.ɵɵFactoryTarget.Component }); }
5551
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TaonAdminModeConfigurationComponent, selector: "app-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 !admin.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=\"!admin.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 <div class=\"taon-header-admin-wrapper\">\n <columns-container\n class=\"taon-header-admin\"\n [ngClass]=\"{ 'draggable-column': admin.draggablePopupMode }\">\n <column width=\"200\" class=\"logo-header\">\n <img\n *ngIf=\"openedOnce\"\n src=\"assets/assets-for/taon/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 !admin.draggablePopupModeFullScreen && !admin.draggablePopupMode\n \">\n <button\n mat-icon-button\n *ngIf=\"admin.draggablePopupMode\"\n (click)=\"\n admin.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=\"!admin.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=\"!admin.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=\"admin.draggablePopupModeFullScreen\"\n class=\"admin-close-button\"\n (click)=\"toogleFullScreen()\">\n <mat-icon>close_fullscreen</mat-icon>\n </button>\n </column>\n\n <column width=\"40\" *ngIf=\"!admin.draggablePopupModeFullScreen\">\n <button\n mat-icon-button\n *ngIf=\"!admin.draggablePopupMode\"\n (click)=\"admin.draggablePopupMode = true\"\n class=\"admin-close-button\">\n <mat-icon>launch</mat-icon>\n </button>\n\n <button\n mat-icon-button\n *ngIf=\"admin.draggablePopupMode\"\n (click)=\"admin.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\n <columns-container\n [ngClass]=\"{ 'draggable-column': admin.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]=\"admin.keepWebsqlDbDataAfterReload\"\n (change)=\"\n admin.setKeepWebsqlDbDataAfterReload($event.checked)\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\n <mat-tab label=\"Files\" *ngIf=\"admin.enabledTabs.includes('files')\">\n <section>\n <mat-checkbox\n [ngModel]=\"admin.filesEditMode\"\n (change)=\"admin.setEditMode($event.checked)\"\n >Edit mode</mat-checkbox\n >\n </section>\n <!-- admin.filesEditMode: {{ admin.filesEditMode }} -->\n <!-- <taon-admin-edit-mode *ngIf=\"admin.filesEditMode\">\n </taon-admin-edit-mode> -->\n <br />\n <hr *ngIf=\"admin.filesEditMode\" />\n <!-- <section>\n <button mat-raised-button>[TODO] Clear Files from browser cache </button> <br>\n <button mat-raised-button>[TODO] Start files export (as zip) </button> <br>\n <button mat-raised-button>[TODO] Import whole database (from zip) </button><br>\n </section> -->\n </mat-tab>\n <mat-tab *ngFor=\"let tab of tabs\" label=\"{{ tab.name }}\">\n <div\n class=\"full-tabs\"\n [style.height.px]=\"height - 150\"\n *ngIf=\"!isIframe\">\n <ng-container *ngTemplateOutlet=\"tab.template\"></ng-container>\n </div>\n <ng-container *ngIf=\"isIframe\">\n <ng-container *ngTemplateOutlet=\"tab.template\"></ng-container>\n </ng-container>\n </mat-tab>\n\n <!-- <mat-tab label=\"Portal\">\n <section>\n <mat-checkbox>[TODO] Maintenance Mode for whole portal</mat-checkbox>\n\n <mat-expansion-panel>\n\n <mat-expansion-panel-header>\n [TODO] Active User: 80432\n </mat-expansion-panel-header>\n <section>\n <button mat-raised-button>[TODO] Send notification to users </button><br>\n <button mat-raised-button>[TODO] Send email to users </button><br>\n </section>\n </mat-expansion-panel>\n <mat-expansion-panel>\n <mat-expansion-panel-header>\n [TODO] Enable features\n </mat-expansion-panel-header>\n <mat-checkbox>[TODO] AB testing</mat-checkbox> <br>\n <mat-checkbox>\n [TODO] Newsletter email question popup\n </mat-checkbox> <br>\n <mat-checkbox>\n [TODO] Promotion popup\n </mat-checkbox> <br>\n </mat-expansion-panel>\n </section>\n </mat-tab>\n <mat-tab label=\"User\">\n Welcome in user managements\n </mat-tab>\n <mat-tab label=\"Translations\">\n Welcome in user managements\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 admin.draggablePopupMode && !admin.draggablePopupModeFullScreen && !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 admin.draggablePopupMode &&\n admin.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 admin.draggablePopupMode ||\n admin.draggablePopupModeFullScreen) &&\n !reloading\n \"\n style=\"width: 100%; display: block\"\n class=\"content\">\n <ng-container\n [ngTemplateOutlet]=\"\n admin.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n</div>\n<!-- #endregion -->\n\n<!-- #region draggable popup window -->\n<mat-drawer-container\n *ngIf=\"!admin.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 #drawer style=\"width: 580px\" [opened]=\"opened\" [mode]=\"'side'\">\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n </mat-drawer>\n <mat-drawer-content style=\"overflow: hidden\">\n <ng-container\n *ngIf=\"!admin.draggablePopupMode && !reloading\"\n [ngTemplateOutlet]=\"\n admin.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n </mat-drawer-content>\n</mat-drawer-container>\n<!-- #endregion -->\n", 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: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { 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: "component", type: i1$3.ColumnsComponent, selector: "columns-container" }, { kind: "component", type: i1$3.ColumnComponent, selector: "column", inputs: ["width"] }, { kind: "directive", type: i1$3.DirectiveGrow, selector: "[grow]" }, { 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: "component", type: i4$1.NgScrollbar, selector: "ng-scrollbar:not([externalViewport])", exportAs: ["ngScrollbar"] }, { kind: "directive", type: i5.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i6$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i6$1.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", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: i6.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"], exportAs: ["matTab"] }, { kind: "component", type: i11.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: TaonSessionPasscodeComponent, selector: "taon-session-passcode", inputs: ["passcode", "message"] }] }); }
5552
+ }
5553
+ __decorate([
5554
+ Stor.property.in.localstorage
5555
+ .for(TaonAdminModeConfigurationComponent)
5556
+ .withDefaultValue(0),
5557
+ __metadata("design:type", Number)
5558
+ ], TaonAdminModeConfigurationComponent.prototype, "dragPositionX", void 0);
5559
+ __decorate([
5560
+ Stor.property.in.localstorage
5561
+ .for(TaonAdminModeConfigurationComponent)
5562
+ .withDefaultValue(0),
5563
+ __metadata("design:type", Number)
5564
+ ], TaonAdminModeConfigurationComponent.prototype, "dragPositionY", void 0);
5565
+ __decorate([
5566
+ Stor.property.in.localstorage
5567
+ .for(TaonAdminModeConfigurationComponent)
5568
+ .withDefaultValue(0),
5569
+ __metadata("design:type", Number)
5570
+ ], TaonAdminModeConfigurationComponent.prototype, "selectedIndex", void 0);
5571
+ __decorate([
5572
+ Stor.property.in.localstorage
5573
+ .for(TaonAdminModeConfigurationComponent)
5574
+ .withDefaultValue(false),
5575
+ __metadata("design:type", Boolean)
5576
+ ], TaonAdminModeConfigurationComponent.prototype, "wasOpenDraggablePopup", void 0);
5577
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationComponent, decorators: [{
5578
+ type: Component,
5579
+ args: [{ selector: 'app-taon-admin-mode-configuration', 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 !admin.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=\"!admin.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 <div class=\"taon-header-admin-wrapper\">\n <columns-container\n class=\"taon-header-admin\"\n [ngClass]=\"{ 'draggable-column': admin.draggablePopupMode }\">\n <column width=\"200\" class=\"logo-header\">\n <img\n *ngIf=\"openedOnce\"\n src=\"assets/assets-for/taon/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 !admin.draggablePopupModeFullScreen && !admin.draggablePopupMode\n \">\n <button\n mat-icon-button\n *ngIf=\"admin.draggablePopupMode\"\n (click)=\"\n admin.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=\"!admin.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=\"!admin.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=\"admin.draggablePopupModeFullScreen\"\n class=\"admin-close-button\"\n (click)=\"toogleFullScreen()\">\n <mat-icon>close_fullscreen</mat-icon>\n </button>\n </column>\n\n <column width=\"40\" *ngIf=\"!admin.draggablePopupModeFullScreen\">\n <button\n mat-icon-button\n *ngIf=\"!admin.draggablePopupMode\"\n (click)=\"admin.draggablePopupMode = true\"\n class=\"admin-close-button\">\n <mat-icon>launch</mat-icon>\n </button>\n\n <button\n mat-icon-button\n *ngIf=\"admin.draggablePopupMode\"\n (click)=\"admin.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\n <columns-container\n [ngClass]=\"{ 'draggable-column': admin.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]=\"admin.keepWebsqlDbDataAfterReload\"\n (change)=\"\n admin.setKeepWebsqlDbDataAfterReload($event.checked)\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\n <mat-tab label=\"Files\" *ngIf=\"admin.enabledTabs.includes('files')\">\n <section>\n <mat-checkbox\n [ngModel]=\"admin.filesEditMode\"\n (change)=\"admin.setEditMode($event.checked)\"\n >Edit mode</mat-checkbox\n >\n </section>\n <!-- admin.filesEditMode: {{ admin.filesEditMode }} -->\n <!-- <taon-admin-edit-mode *ngIf=\"admin.filesEditMode\">\n </taon-admin-edit-mode> -->\n <br />\n <hr *ngIf=\"admin.filesEditMode\" />\n <!-- <section>\n <button mat-raised-button>[TODO] Clear Files from browser cache </button> <br>\n <button mat-raised-button>[TODO] Start files export (as zip) </button> <br>\n <button mat-raised-button>[TODO] Import whole database (from zip) </button><br>\n </section> -->\n </mat-tab>\n <mat-tab *ngFor=\"let tab of tabs\" label=\"{{ tab.name }}\">\n <div\n class=\"full-tabs\"\n [style.height.px]=\"height - 150\"\n *ngIf=\"!isIframe\">\n <ng-container *ngTemplateOutlet=\"tab.template\"></ng-container>\n </div>\n <ng-container *ngIf=\"isIframe\">\n <ng-container *ngTemplateOutlet=\"tab.template\"></ng-container>\n </ng-container>\n </mat-tab>\n\n <!-- <mat-tab label=\"Portal\">\n <section>\n <mat-checkbox>[TODO] Maintenance Mode for whole portal</mat-checkbox>\n\n <mat-expansion-panel>\n\n <mat-expansion-panel-header>\n [TODO] Active User: 80432\n </mat-expansion-panel-header>\n <section>\n <button mat-raised-button>[TODO] Send notification to users </button><br>\n <button mat-raised-button>[TODO] Send email to users </button><br>\n </section>\n </mat-expansion-panel>\n <mat-expansion-panel>\n <mat-expansion-panel-header>\n [TODO] Enable features\n </mat-expansion-panel-header>\n <mat-checkbox>[TODO] AB testing</mat-checkbox> <br>\n <mat-checkbox>\n [TODO] Newsletter email question popup\n </mat-checkbox> <br>\n <mat-checkbox>\n [TODO] Promotion popup\n </mat-checkbox> <br>\n </mat-expansion-panel>\n </section>\n </mat-tab>\n <mat-tab label=\"User\">\n Welcome in user managements\n </mat-tab>\n <mat-tab label=\"Translations\">\n Welcome in user managements\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 admin.draggablePopupMode && !admin.draggablePopupModeFullScreen && !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 admin.draggablePopupMode &&\n admin.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 admin.draggablePopupMode ||\n admin.draggablePopupModeFullScreen) &&\n !reloading\n \"\n style=\"width: 100%; display: block\"\n class=\"content\">\n <ng-container\n [ngTemplateOutlet]=\"\n admin.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n</div>\n<!-- #endregion -->\n\n<!-- #region draggable popup window -->\n<mat-drawer-container\n *ngIf=\"!admin.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 #drawer style=\"width: 580px\" [opened]=\"opened\" [mode]=\"'side'\">\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n </mat-drawer>\n <mat-drawer-content style=\"overflow: hidden\">\n <ng-container\n *ngIf=\"!admin.draggablePopupMode && !reloading\"\n [ngTemplateOutlet]=\"\n admin.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n </mat-drawer-content>\n</mat-drawer-container>\n<!-- #endregion -->\n", 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"] }]
5580
+ }], ctorParameters: () => [{ type: i1$3.BreakpointsService }], propDecorators: { tabGroup: [{
5581
+ type: ViewChild,
5582
+ args: ['tabGroup']
5583
+ }], taonAdminModeConfigurationDataChanged: [{
5584
+ type: Output
5585
+ }], taonAdminModeConfigurationData: [{
5586
+ type: Input
5587
+ }], onResize: [{
5588
+ type: HostListener,
5589
+ args: ['window:resize', ['$event']]
5590
+ }] } });
5591
+ ;
5592
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.ts
5593
+
5594
+ class TaonAdminEditModeComponent {
5595
+ constructor(router) {
5596
+ this.router = router;
5597
+ this.inited$ = of(true);
5598
+ this.destroyed$ = new Subject();
5599
+ this.handlers = [];
5600
+ this.columns = [
5601
+ {
5602
+ header: 'ID',
5603
+ field: 'id',
5604
+ maxWidth: 100,
5605
+ showExpand: true,
5606
+ },
5607
+ {
5608
+ header: 'src',
5609
+ field: 'src',
5610
+ maxWidth: 250,
5611
+ },
5612
+ {
5613
+ header: 'Content Type',
5614
+ field: 'contentType',
5615
+ maxWidth: 120,
5616
+ },
5617
+ ];
5618
+ this.taonAdminEditModeDataChanged = new EventEmitter();
5619
+ this.taonAdminEditModeData = {};
5620
+ }
5621
+ ngOnInit() {
5622
+ this.files = this.admin.currentFiles;
5623
+ this.handlers.push(this.admin.onEditMode$.subscribe(() => {
5624
+ this.refresFilesList();
5625
+ }));
5626
+ this.admin.onRegisterFile().pipe(takeUntil(this.destroyed$), tap(() => {
5627
+ this.refresFilesList();
5628
+ }));
5629
+ }
5630
+ ngOnDestroy() {
5631
+ this.handlers.forEach(h => h.unsubscribe());
5632
+ this.destroyed$.next(void 0);
5633
+ this.destroyed$.unsubscribe();
5634
+ }
5635
+ ngAfterViewInit() {
5636
+ //Called after ngAfterContentInit when the component's view has been initialized. Applies to components only.
5637
+ //Add 'implements AfterViewInit' to the class.
5638
+ setTimeout(() => {
5639
+ this.refresFilesList();
5640
+ }, 500);
5641
+ }
5642
+ expansionRow(e) {
5643
+ console.log(e);
5644
+ }
5645
+ refresFilesList() {
5646
+ this.files = this.admin.currentFiles;
5647
+ }
5648
+ searchFind(file) {
5649
+ if (!!this?.fileToSearch) {
5650
+ return file?.src?.search(this?.fileToSearch) !== -1;
5651
+ }
5652
+ return true;
5653
+ }
5654
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminEditModeComponent, deps: [{ token: i1$4.Router }], target: i0.ɵɵFactoryTarget.Component }); }
5655
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TaonAdminEditModeComponent, selector: "taon-admin-edit-mode", inputs: { taonAdminEditModeData: "taonAdminEditModeData" }, outputs: { taonAdminEditModeDataChanged: "taonAdminEditModeDataChanged" }, ngImport: i0, template: "<ng-template #expansionTpl let-row>\n hello from expansion {{ row.src }}\n</ng-template>\n\n<mat-card *ngIf=\"inited$ | async\">\n <div *ngIf=\"!admin.selectedFile\">Please select file from portal to edit</div>\n <taon-file\n *ngIf=\"admin.selectedFile\"\n class=\"file-inside-admin\"\n [insideAdmin]=\"true\"\n [file]=\"admin.selectedFile\"></taon-file>\n\n <hr />\n\n <mat-tab-group\n dynamicHeight\n [selectedIndex]=\"selectedTabIndex\"\n (selectedIndexChange)=\"selectedTabIndex = $event; refresFilesList()\">\n <mat-tab label=\"General\">\n <!-- <taon-file-general-opt\n [file]=\"admin.selectedFile\"></taon-file-general-opt> -->\n </mat-tab>\n <!-- <mat-tab label=\"CSS Editing\">\n <ace [mode]=\"'css'\"\n *ngIf=\"admin.selectedFile\"\n [(value)]=\"admin.selectedFile.css\"\n [theme]=\"'github'\"\n style=\"width: 100%; height: 300px;\"></ace>\n </mat-tab> -->\n\n <mat-tab label=\"Files Picker\">\n <!-- <taon-table\n [entity]=\"entity\"\n [allowedColumns]=\"['src', 'contentType']\"\n [columns]=\"columns\"\n [expansionTemplate]=\"expansionTpl\"\n (expansionChange)=\"expansionRow($event)\">\n </taon-table> -->\n </mat-tab>\n <mat-tab label=\"File Version History\">\n <!-- <taon-table\n [entity]=\"entity\"\n [allowedColumns]=\"['src', 'contentType']\"\n [columns]=\"columns\"\n [expansionTemplate]=\"expansionTpl\"\n (expansionChange)=\"expansionRow($event)\">\n </taon-table> -->\n </mat-tab>\n <mat-tab label=\"Current File\">\n <columns-container *ngIf=\"files.length > 0\">\n <column grow>\n <mat-form-field style=\"width: 100%\">\n <input\n matInput\n [(ngModel)]=\"fileToSearch\"\n (focus)=\"refresFilesList()\"\n placeholder=\"Search by name\" />\n </mat-form-field>\n </column>\n <column [width]=\"40\">\n <button\n mat-icon-button\n (click)=\"fileToSearch = ''; refresFilesList()\"\n *ngIf=\"fileToSearch && fileToSearch?.trim() !== ''\">\n <mat-icon>backspace</mat-icon>\n </button>\n </column>\n <!-- <column [width]=\"40\">\n <button mat-icon-button (click)=\"refresFilesList();\" >\n <mat-icon >refresh</mat-icon>\n </button>\n </column> -->\n </columns-container>\n <columns-container *ngIf=\"files.length == 0\">\n <section>\n <code\n >No &lt;taon-file/&gt; - s components detected on this page</code\n >\n </section>\n </columns-container>\n\n <div class=\"scrollable-files-list\" *ngIf=\"files.length > 0\">\n <ng-scrollbar>\n <!-- selected: \"{{ selectedFile?.src }}\" -->\n <!-- {{ filesSelection.selectedOptions | json }} -->\n <mat-selection-list\n [multiple]=\"false\"\n #filesToSelect\n (selectionChange)=\"\n admin.selectedFile = filesToSelect.selectedOptions.hasValue()\n ? filesToSelect.selectedOptions.selected[0].value\n : null\n \">\n <mat-list-option\n *ngFor=\"let file of files | filterBy: ['src'] : fileToSearch\"\n [value]=\"file\">\n <strong *ngIf=\"file?.src === admin.selectedFile?.src\">\n {{ file.src }}\n </strong>\n <span *ngIf=\"file?.src !== admin.selectedFile?.src\">\n {{ file.src }}\n </span>\n </mat-list-option>\n </mat-selection-list>\n </ng-scrollbar>\n </div>\n </mat-tab>\n </mat-tab-group>\n</mat-card>\n", styles: [":host{display:block}.scrollable-files-list{height:150px;background:#8080801c;display:block}\n"], dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1$3.ColumnsComponent, selector: "columns-container" }, { kind: "component", type: i1$3.ColumnComponent, selector: "column", inputs: ["width"] }, { kind: "directive", type: i1$3.DirectiveGrow, selector: "[grow]" }, { kind: "component", type: i4$1.NgScrollbar, selector: "ng-scrollbar:not([externalViewport])", exportAs: ["ngScrollbar"] }, { 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.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i7.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i2$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i11$1.MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i11$1.MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "checkboxPosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "component", type: i11.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i11.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i13.FilterByPipe, name: "filterBy" }] }); }
5656
+ }
5657
+ __decorate([
5658
+ (Stor.property.in.localstorage
5659
+ .for(TaonAdminEditModeComponent)
5660
+ .withDefaultValue(0)),
5661
+ __metadata("design:type", Number)
5662
+ ], TaonAdminEditModeComponent.prototype, "selectedTabIndex", void 0);
5663
+ __decorate([
5664
+ (Stor.property.in.localstorage
5665
+ .for(TaonAdminEditModeComponent)
5666
+ .withDefaultValue('')),
5667
+ __metadata("design:type", String)
5668
+ ], TaonAdminEditModeComponent.prototype, "fileToSearch", void 0);
5669
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminEditModeComponent, decorators: [{
5670
+ type: Component,
5671
+ args: [{ selector: 'taon-admin-edit-mode', template: "<ng-template #expansionTpl let-row>\n hello from expansion {{ row.src }}\n</ng-template>\n\n<mat-card *ngIf=\"inited$ | async\">\n <div *ngIf=\"!admin.selectedFile\">Please select file from portal to edit</div>\n <taon-file\n *ngIf=\"admin.selectedFile\"\n class=\"file-inside-admin\"\n [insideAdmin]=\"true\"\n [file]=\"admin.selectedFile\"></taon-file>\n\n <hr />\n\n <mat-tab-group\n dynamicHeight\n [selectedIndex]=\"selectedTabIndex\"\n (selectedIndexChange)=\"selectedTabIndex = $event; refresFilesList()\">\n <mat-tab label=\"General\">\n <!-- <taon-file-general-opt\n [file]=\"admin.selectedFile\"></taon-file-general-opt> -->\n </mat-tab>\n <!-- <mat-tab label=\"CSS Editing\">\n <ace [mode]=\"'css'\"\n *ngIf=\"admin.selectedFile\"\n [(value)]=\"admin.selectedFile.css\"\n [theme]=\"'github'\"\n style=\"width: 100%; height: 300px;\"></ace>\n </mat-tab> -->\n\n <mat-tab label=\"Files Picker\">\n <!-- <taon-table\n [entity]=\"entity\"\n [allowedColumns]=\"['src', 'contentType']\"\n [columns]=\"columns\"\n [expansionTemplate]=\"expansionTpl\"\n (expansionChange)=\"expansionRow($event)\">\n </taon-table> -->\n </mat-tab>\n <mat-tab label=\"File Version History\">\n <!-- <taon-table\n [entity]=\"entity\"\n [allowedColumns]=\"['src', 'contentType']\"\n [columns]=\"columns\"\n [expansionTemplate]=\"expansionTpl\"\n (expansionChange)=\"expansionRow($event)\">\n </taon-table> -->\n </mat-tab>\n <mat-tab label=\"Current File\">\n <columns-container *ngIf=\"files.length > 0\">\n <column grow>\n <mat-form-field style=\"width: 100%\">\n <input\n matInput\n [(ngModel)]=\"fileToSearch\"\n (focus)=\"refresFilesList()\"\n placeholder=\"Search by name\" />\n </mat-form-field>\n </column>\n <column [width]=\"40\">\n <button\n mat-icon-button\n (click)=\"fileToSearch = ''; refresFilesList()\"\n *ngIf=\"fileToSearch && fileToSearch?.trim() !== ''\">\n <mat-icon>backspace</mat-icon>\n </button>\n </column>\n <!-- <column [width]=\"40\">\n <button mat-icon-button (click)=\"refresFilesList();\" >\n <mat-icon >refresh</mat-icon>\n </button>\n </column> -->\n </columns-container>\n <columns-container *ngIf=\"files.length == 0\">\n <section>\n <code\n >No &lt;taon-file/&gt; - s components detected on this page</code\n >\n </section>\n </columns-container>\n\n <div class=\"scrollable-files-list\" *ngIf=\"files.length > 0\">\n <ng-scrollbar>\n <!-- selected: \"{{ selectedFile?.src }}\" -->\n <!-- {{ filesSelection.selectedOptions | json }} -->\n <mat-selection-list\n [multiple]=\"false\"\n #filesToSelect\n (selectionChange)=\"\n admin.selectedFile = filesToSelect.selectedOptions.hasValue()\n ? filesToSelect.selectedOptions.selected[0].value\n : null\n \">\n <mat-list-option\n *ngFor=\"let file of files | filterBy: ['src'] : fileToSearch\"\n [value]=\"file\">\n <strong *ngIf=\"file?.src === admin.selectedFile?.src\">\n {{ file.src }}\n </strong>\n <span *ngIf=\"file?.src !== admin.selectedFile?.src\">\n {{ file.src }}\n </span>\n </mat-list-option>\n </mat-selection-list>\n </ng-scrollbar>\n </div>\n </mat-tab>\n </mat-tab-group>\n</mat-card>\n", styles: [":host{display:block}.scrollable-files-list{height:150px;background:#8080801c;display:block}\n"] }]
5672
+ }], ctorParameters: () => [{ type: i1$4.Router }], propDecorators: { taonAdminEditModeDataChanged: [{
5673
+ type: Output
5674
+ }], taonAdminEditModeData: [{
5675
+ type: Input
5676
+ }] } });
5677
+ ;
5678
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.ts
5679
+
5680
+ class TaonFileGeneralOptComponent {
5681
+ constructor() {
5682
+ this.height = 100;
5683
+ this.handlers = [];
5684
+ this.fieldsOrder = [];
5685
+ this.fields = [
5686
+ {
5687
+ key: 'width',
5688
+ },
5689
+ {
5690
+ key: 'height',
5691
+ },
5692
+ {
5693
+ key: 'display',
5694
+ },
5695
+ {
5696
+ key: 'widthUnit',
5697
+ },
5698
+ {
5699
+ key: 'heightUnit', // @ts-ignore
5700
+ },
5701
+ {
5702
+ key: 'action',
5703
+ type: 'action',
5704
+ templateOptions: {
5705
+ label: 'Reset',
5706
+ icon: 'cancel',
5707
+ raised: true,
5708
+ action: () => {
5709
+ console.log('reset');
5710
+ },
5711
+ },
5712
+ },
5713
+ ].map(f => {
5714
+ f.className = 'formly-field-half-size';
5715
+ return f;
5716
+ });
5717
+ }
5718
+ ngOnInit() { }
5719
+ ngOnDestroy() {
5720
+ this.handlers.forEach(h => h.unsubscribe());
5721
+ }
5722
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFileGeneralOptComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5723
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TaonFileGeneralOptComponent, selector: "taon-file-general-opt", inputs: { height: "height", file: "file" }, host: { properties: { "style.minHeight.px": "this.height" } }, ngImport: i0, template: "<!-- <taon-formly-form\n *ngIf=\"file\"\n [fields]=\"fields\"\n [fieldsOrder]=\"fieldsOrder\"\n [exclude]=\"['id']\"\n [(model)]=\"file.css\">\n</taon-formly-form> -->\n", styles: [":host{display:block}\n"] }); }
5724
+ }
5725
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFileGeneralOptComponent, decorators: [{
5726
+ type: Component,
5727
+ args: [{ selector: 'taon-file-general-opt', template: "<!-- <taon-formly-form\n *ngIf=\"file\"\n [fields]=\"fields\"\n [fieldsOrder]=\"fieldsOrder\"\n [exclude]=\"['id']\"\n [(model)]=\"file.css\">\n</taon-formly-form> -->\n", styles: [":host{display:block}\n"] }]
5728
+ }], ctorParameters: () => [], propDecorators: { height: [{
5729
+ type: HostBinding,
5730
+ args: ['style.minHeight.px']
5731
+ }, {
5732
+ type: Input
5733
+ }], file: [{
5734
+ type: Input
5735
+ }] } });
5736
+ ;
5737
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.ts
5738
+
5739
+ class TaonFileGeneralOptModule {
5740
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFileGeneralOptModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5741
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TaonFileGeneralOptModule, declarations: [TaonFileGeneralOptComponent], imports: [CommonModule, TaonFullMaterialModule], exports: [TaonFileGeneralOptComponent] }); }
5742
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFileGeneralOptModule, imports: [CommonModule, TaonFullMaterialModule] }); }
5743
+ }
5744
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFileGeneralOptModule, decorators: [{
5745
+ type: NgModule,
5746
+ args: [{
5747
+ imports: [CommonModule, TaonFullMaterialModule],
5748
+ declarations: [TaonFileGeneralOptComponent],
5749
+ exports: [TaonFileGeneralOptComponent],
5750
+ }]
5751
+ }] });
5752
+ ;
5753
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.ts
5754
+
5755
+ ;
5756
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.ts
5757
+
5758
+ class TaonAdminEditModeModule {
5759
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminEditModeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5760
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminEditModeModule, declarations: [TaonAdminEditModeComponent], imports: [CommonModule,
5761
+ StaticColumnsModule,
5762
+ NgScrollbarModule,
5763
+ TaonFileGeneralOptModule,
5764
+ FormsModule,
5765
+ NgArrayPipesModule,
5766
+ TaonTableModule,
5767
+ TaonFullMaterialModule], exports: [TaonAdminEditModeComponent] }); }
5768
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminEditModeModule, imports: [CommonModule,
5769
+ StaticColumnsModule,
5770
+ NgScrollbarModule,
5771
+ TaonFileGeneralOptModule,
5772
+ FormsModule,
5773
+ NgArrayPipesModule,
5774
+ TaonTableModule,
5775
+ TaonFullMaterialModule] }); }
5776
+ }
5777
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminEditModeModule, decorators: [{
5778
+ type: NgModule,
5779
+ args: [{
5780
+ imports: [
5781
+ CommonModule,
5782
+ StaticColumnsModule,
5783
+ NgScrollbarModule,
5784
+ TaonFileGeneralOptModule,
5785
+ FormsModule,
5786
+ NgArrayPipesModule,
5787
+ TaonTableModule,
5788
+ TaonFullMaterialModule, // TODO import only partial things
5789
+ ],
5790
+ declarations: [TaonAdminEditModeComponent],
5791
+ exports: [TaonAdminEditModeComponent],
5792
+ }]
5793
+ }] });
5794
+ ;
5795
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.ts
5796
+
5797
+ ;
5798
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.ts
5799
+
5800
+ class TaonAdminModeConfigurationModule {
5801
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5802
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationModule, declarations: [TaonAdminModeConfigurationComponent], imports: [CommonModule,
5803
+ StaticColumnsModule,
5804
+ FormsModule,
5805
+ NgScrollbarModule,
5806
+ TaonAdminEditModeModule,
5807
+ TaonProgressBarModule,
5808
+ TaonNotificationsModule,
5809
+ TaonFullMaterialModule, // TODO import only partial things
5810
+ TaonSessionPasscodeComponent], exports: [TaonAdminModeConfigurationComponent] }); }
5811
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationModule, imports: [CommonModule,
5812
+ StaticColumnsModule,
5813
+ FormsModule,
5814
+ NgScrollbarModule,
5815
+ TaonAdminEditModeModule,
5816
+ TaonProgressBarModule,
5817
+ TaonNotificationsModule,
5818
+ TaonFullMaterialModule, // TODO import only partial things
5819
+ TaonSessionPasscodeComponent] }); }
5820
+ }
5821
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationModule, decorators: [{
5822
+ type: NgModule,
5823
+ args: [{
5824
+ imports: [
5825
+ CommonModule,
5826
+ StaticColumnsModule,
5827
+ FormsModule,
5828
+ NgScrollbarModule,
5829
+ TaonAdminEditModeModule,
5830
+ TaonProgressBarModule,
5831
+ TaonNotificationsModule,
5832
+ TaonFullMaterialModule, // TODO import only partial things
5833
+ TaonSessionPasscodeComponent,
5834
+ ],
5835
+ declarations: [TaonAdminModeConfigurationComponent],
5836
+ exports: [TaonAdminModeConfigurationComponent],
5837
+ }]
5838
+ }] });
5839
+ ;
5840
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.ts
5841
+
5842
+ ;
5843
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/index.ts
5844
+
5845
+ ;
5846
+ ({}); // @--end-of-file-for-module=taon lib/ui/index.ts
5847
+
4526
5848
  ;
4527
5849
  ({}); // @--end-of-file-for-module=taon lib/constants.ts
4528
5850
 
@@ -4573,5 +5895,5 @@ var Taon;
4573
5895
  * Generated bundle index. Do not edit.
4574
5896
  */
4575
5897
 
4576
- export { BaseContext, BaseController, BaseEntity, BaseProvider, BaseRepository, ClassHelpers, Models, Taon, createContext, inject };
4577
- //# sourceMappingURL=taon.mjs.map
5898
+ export { BaseContext, BaseController, BaseEntity, BaseProvider, BaseRepository, ClassHelpers, Models, SafePipe, Taon, TaonAdminModeConfigurationComponent, TaonAdminModeConfigurationModule, TaonAdminService, TaonFullMaterialModule, TaonGithubForkMeCornerComponent, TaonGithubForkMeCornerModule, TaonInjectHTMLDirective, TaonLongPress, TaonNotificationOptions, TaonNotificationsComponent, TaonNotificationsModule, TaonNotificationsService, TaonProgressBarComponent, TaonProgressBarModule, TaonSessionPasscodeComponent, TaonTableComponent, TaonTableModule, createContext, inject };
5899
+ //# sourceMappingURL=taon.mjs.map