@sumaris-net/ngx-components 2.6.4-alpha4 → 2.6.4-alpha5

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 (1179) hide show
  1. package/.editorconfig +24 -0
  2. package/.eslintrc.json +74 -0
  3. package/.gitattribute +1 -0
  4. package/.github/CONTRIBUTING.md +10 -0
  5. package/.github/ISSUE_TEMPLATE.md +6 -0
  6. package/.github/PULL_REQUEST_TEMPLATE.md +10 -0
  7. package/.github/github_disclaimer.md +14 -0
  8. package/.gitlab-ci.yml +46 -0
  9. package/.graphqlconfig +15 -0
  10. package/angular.json +230 -0
  11. package/capacitor.config.json +9 -0
  12. package/ionic.config.json +7 -0
  13. package/karma.conf.js +32 -0
  14. package/ng-package.json +19 -0
  15. package/ngcc.config.js +14 -0
  16. package/package.json +137 -23
  17. package/public_api.ts +343 -0
  18. package/resources/android/build/tools/android-accept-licenses.sh +14 -0
  19. package/resources/android/icon/drawable-hdpi-icon.png +0 -0
  20. package/resources/android/icon/drawable-ldpi-icon.png +0 -0
  21. package/resources/android/icon/drawable-mdpi-icon.png +0 -0
  22. package/resources/android/icon/drawable-xhdpi-icon.png +0 -0
  23. package/resources/android/icon/drawable-xxhdpi-icon.png +0 -0
  24. package/resources/android/icon/drawable-xxxhdpi-icon.png +0 -0
  25. package/resources/android/splash/drawable-land-hdpi-screen.png +0 -0
  26. package/resources/android/splash/drawable-land-ldpi-screen.png +0 -0
  27. package/resources/android/splash/drawable-land-mdpi-screen.png +0 -0
  28. package/resources/android/splash/drawable-land-xhdpi-screen.png +0 -0
  29. package/resources/android/splash/drawable-land-xxhdpi-screen.png +0 -0
  30. package/resources/android/splash/drawable-land-xxxhdpi-screen.png +0 -0
  31. package/resources/android/splash/drawable-port-hdpi-screen.png +0 -0
  32. package/resources/android/splash/drawable-port-ldpi-screen.png +0 -0
  33. package/resources/android/splash/drawable-port-mdpi-screen.png +0 -0
  34. package/resources/android/splash/drawable-port-xhdpi-screen.png +0 -0
  35. package/resources/android/splash/drawable-port-xxhdpi-screen.png +0 -0
  36. package/resources/android/splash/drawable-port-xxxhdpi-screen.png +0 -0
  37. package/resources/android/splash/drawable-xxxhdpi-screen.png +0 -0
  38. package/resources/icon/TODO.md +11 -0
  39. package/resources/icon.png +0 -0
  40. package/resources/icon.png.md5 +1 -0
  41. package/resources/icon.xcf +0 -0
  42. package/resources/ios/icon/icon-1024.png +0 -0
  43. package/resources/ios/icon/icon-108@2x.png +0 -0
  44. package/resources/ios/icon/icon-20.png +0 -0
  45. package/resources/ios/icon/icon-20@2x.png +0 -0
  46. package/resources/ios/icon/icon-20@3x.png +0 -0
  47. package/resources/ios/icon/icon-24@2x.png +0 -0
  48. package/resources/ios/icon/icon-27.5@2x.png +0 -0
  49. package/resources/ios/icon/icon-29.png +0 -0
  50. package/resources/ios/icon/icon-29@2x.png +0 -0
  51. package/resources/ios/icon/icon-29@3x.png +0 -0
  52. package/resources/ios/icon/icon-40.png +0 -0
  53. package/resources/ios/icon/icon-40@2x.png +0 -0
  54. package/resources/ios/icon/icon-40@3x.png +0 -0
  55. package/resources/ios/icon/icon-44@2x.png +0 -0
  56. package/resources/ios/icon/icon-50.png +0 -0
  57. package/resources/ios/icon/icon-50@2x.png +0 -0
  58. package/resources/ios/icon/icon-60.png +0 -0
  59. package/resources/ios/icon/icon-60@2x.png +0 -0
  60. package/resources/ios/icon/icon-60@3x.png +0 -0
  61. package/resources/ios/icon/icon-72.png +0 -0
  62. package/resources/ios/icon/icon-72@2x.png +0 -0
  63. package/resources/ios/icon/icon-76.png +0 -0
  64. package/resources/ios/icon/icon-76@2x.png +0 -0
  65. package/resources/ios/icon/icon-83.5@2x.png +0 -0
  66. package/resources/ios/icon/icon-86@2x.png +0 -0
  67. package/resources/ios/icon/icon-98@2x.png +0 -0
  68. package/resources/ios/icon/icon-small.png +0 -0
  69. package/resources/ios/icon/icon-small@2x.png +0 -0
  70. package/resources/ios/icon/icon-small@3x.png +0 -0
  71. package/resources/ios/icon/icon.png +0 -0
  72. package/resources/ios/icon/icon@2x.png +0 -0
  73. package/resources/ios/splash/Default-1792h~iphone.png +0 -0
  74. package/resources/ios/splash/Default-2436h.png +0 -0
  75. package/resources/ios/splash/Default-2688h~iphone.png +0 -0
  76. package/resources/ios/splash/Default-568h@2x~iphone.png +0 -0
  77. package/resources/ios/splash/Default-667h.png +0 -0
  78. package/resources/ios/splash/Default-736h.png +0 -0
  79. package/resources/ios/splash/Default-Landscape-1792h~iphone.png +0 -0
  80. package/resources/ios/splash/Default-Landscape-2436h.png +0 -0
  81. package/resources/ios/splash/Default-Landscape-2688h~iphone.png +0 -0
  82. package/resources/ios/splash/Default-Landscape-736h.png +0 -0
  83. package/resources/ios/splash/Default-Landscape@2x~ipad.png +0 -0
  84. package/resources/ios/splash/Default-Landscape@~ipadpro.png +0 -0
  85. package/resources/ios/splash/Default-Landscape~ipad.png +0 -0
  86. package/resources/ios/splash/Default-Portrait@2x~ipad.png +0 -0
  87. package/resources/ios/splash/Default-Portrait@~ipadpro.png +0 -0
  88. package/resources/ios/splash/Default-Portrait~ipad.png +0 -0
  89. package/resources/ios/splash/Default@2x~iphone.png +0 -0
  90. package/resources/ios/splash/Default@2x~universal~anyany.png +0 -0
  91. package/resources/ios/splash/Default~iphone.png +0 -0
  92. package/resources/splash.png +0 -0
  93. package/resources/splash.png.md5 +1 -0
  94. package/scripts/build-android.sh +18 -0
  95. package/scripts/build-i18n.js +24 -0
  96. package/scripts/docker-start.sh +6 -0
  97. package/scripts/emulate-android.sh +17 -0
  98. package/scripts/env-android.sh +83 -0
  99. package/scripts/env-clean.sh +23 -0
  100. package/scripts/env-global.sh +156 -0
  101. package/scripts/install-android-sdk-tools.sh +73 -0
  102. package/scripts/ionic-update.sh +24 -0
  103. package/scripts/node/playground.ts +9 -0
  104. package/scripts/node/resources.js +90 -0
  105. package/scripts/release.sh +149 -0
  106. package/scripts/run-android.sh +59 -0
  107. package/scripts/test.sh +19 -0
  108. package/src/app/admin/admin-routing.module.ts +30 -0
  109. package/src/app/admin/admin.module.ts +23 -0
  110. package/src/app/admin/services/filter/person.filter.ts +77 -0
  111. package/src/app/admin/services/person.service.ts +212 -0
  112. package/src/app/admin/services/validator/person.validator.ts +37 -0
  113. package/src/app/admin/users/users.html +427 -0
  114. package/src/app/admin/users/users.module.ts +34 -0
  115. package/src/app/admin/users/users.scss +59 -0
  116. package/src/app/admin/users/users.ts +257 -0
  117. package/src/app/app-routing.module.ts +126 -0
  118. package/src/app/app.component.html +12 -0
  119. package/src/app/app.component.scss +4 -0
  120. package/src/app/app.component.ts +205 -0
  121. package/src/app/app.module.ts +326 -0
  122. package/src/app/core/about/about.modal.html +140 -0
  123. package/src/app/core/about/about.modal.scss +23 -0
  124. package/src/app/core/about/about.modal.ts +71 -0
  125. package/src/app/core/about/about.module.ts +24 -0
  126. package/src/app/core/account/account.module.ts +38 -0
  127. package/src/app/core/account/account.page.html +241 -0
  128. package/src/app/core/account/account.page.scss +21 -0
  129. package/src/app/core/account/account.page.ts +366 -0
  130. package/src/app/core/account/new-token.modal.html +120 -0
  131. package/src/app/core/account/new-token.modal.ts +138 -0
  132. package/src/app/core/account/token.table.html +177 -0
  133. package/src/app/core/account/token.table.scss +7 -0
  134. package/src/app/core/account/token.table.ts +141 -0
  135. package/src/app/core/auth/auth.form.html +77 -0
  136. package/src/app/core/auth/auth.form.scss +1 -0
  137. package/src/app/core/auth/auth.form.ts +145 -0
  138. package/src/app/core/auth/auth.modal.html +57 -0
  139. package/src/app/core/auth/auth.modal.scss +1 -0
  140. package/src/app/core/auth/auth.modal.ts +80 -0
  141. package/src/app/core/auth/auth.module.ts +33 -0
  142. package/src/app/core/core.module.ts +100 -0
  143. package/src/app/core/core.testing.module.ts +64 -0
  144. package/src/app/core/form/buttons/form-buttons-bar.component.html +59 -0
  145. package/src/app/core/form/buttons/form-buttons-bar.component.scss +14 -0
  146. package/src/app/core/form/buttons/form-buttons-bar.component.ts +70 -0
  147. package/src/app/core/form/buttons/form-buttons-bar.module.ts +24 -0
  148. package/src/app/core/form/entity/editor.class.ts +803 -0
  149. package/src/app/core/form/entity/entity-editor-modal.class.ts +537 -0
  150. package/src/app/core/form/entity/entity-editor.class.ts +885 -0
  151. package/src/app/core/form/entity/entity-metadata.component.html +53 -0
  152. package/src/app/core/form/entity/entity-metadata.component.scss +28 -0
  153. package/src/app/core/form/entity/entity-metadata.component.ts +19 -0
  154. package/src/app/core/form/entity/entity.module.ts +25 -0
  155. package/src/app/core/form/form.class.ts +401 -0
  156. package/src/app/core/form/form.module.ts +37 -0
  157. package/src/app/core/form/form.utils.ts +639 -0
  158. package/src/app/core/form/list/list.form.html +67 -0
  159. package/src/app/core/form/list/list.form.scss +40 -0
  160. package/src/app/core/form/list/list.form.ts +278 -0
  161. package/src/app/core/form/list/list.module.ts +25 -0
  162. package/src/app/core/form/properties/properties.form.html +129 -0
  163. package/src/app/core/form/properties/properties.form.ts +147 -0
  164. package/src/app/core/form/properties/properties.module.ts +30 -0
  165. package/src/app/core/form/properties/properties.table.html +219 -0
  166. package/src/app/core/form/properties/properties.table.scss +0 -0
  167. package/src/app/core/form/properties/properties.table.ts +291 -0
  168. package/src/app/core/form/properties/property.validator.ts +22 -0
  169. package/src/app/core/form/properties/testing/properties-form.test.html +21 -0
  170. package/src/app/core/form/properties/testing/properties-form.test.ts +102 -0
  171. package/src/app/core/form/properties/testing/properties-form.testing.module.ts +25 -0
  172. package/src/app/core/form/text-popover/testing/text-popover.testing.html +45 -0
  173. package/src/app/core/form/text-popover/testing/text-popover.testing.module.ts +32 -0
  174. package/src/app/core/form/text-popover/testing/text-popover.testing.ts +77 -0
  175. package/src/app/core/form/text-popover/text-form.component.html +44 -0
  176. package/src/app/core/form/text-popover/text-form.component.scss +8 -0
  177. package/src/app/core/form/text-popover/text-form.component.ts +65 -0
  178. package/src/app/core/form/text-popover/text-popover.component.html +86 -0
  179. package/src/app/core/form/text-popover/text-popover.component.scss +7 -0
  180. package/src/app/core/form/text-popover/text-popover.component.ts +165 -0
  181. package/src/app/core/form/text-popover/text-popover.module.ts +27 -0
  182. package/src/app/core/graphql/graphql.module.ts +17 -0
  183. package/src/app/core/graphql/graphql.service.ts +969 -0
  184. package/src/app/core/graphql/graphql.utils.ts +167 -0
  185. package/src/app/core/home/home.html +211 -0
  186. package/src/app/core/home/home.module.ts +32 -0
  187. package/src/app/core/home/home.scss +242 -0
  188. package/src/app/core/home/home.ts +298 -0
  189. package/src/app/core/icon/icon.component.html +15 -0
  190. package/src/app/core/icon/icon.component.ts +23 -0
  191. package/src/app/core/icon/icon.module.ts +22 -0
  192. package/src/app/core/install/install-upgrade-card.component.html +144 -0
  193. package/src/app/core/install/install-upgrade-card.component.scss +4 -0
  194. package/src/app/core/install/install-upgrade-card.component.ts +412 -0
  195. package/src/app/core/install/install-upgrade-card.module.ts +23 -0
  196. package/src/app/core/menu/menu.component.html +135 -0
  197. package/src/app/core/menu/menu.component.scss +225 -0
  198. package/src/app/core/menu/menu.component.ts +352 -0
  199. package/src/app/core/menu/menu.model.ts +64 -0
  200. package/src/app/core/menu/menu.module.ts +27 -0
  201. package/src/app/core/menu/menu.service.ts +62 -0
  202. package/src/app/core/offline/update-offline-mode-card.component.html +45 -0
  203. package/src/app/core/offline/update-offline-mode-card.component.scss +4 -0
  204. package/src/app/core/offline/update-offline-mode-card.component.ts +28 -0
  205. package/src/app/core/offline/update-offline-mode-card.module.ts +24 -0
  206. package/src/app/core/peer/select-peer.modal.html +123 -0
  207. package/src/app/core/peer/select-peer.modal.scss +20 -0
  208. package/src/app/core/peer/select-peer.modal.ts +197 -0
  209. package/src/app/core/peer/select-peer.module.ts +28 -0
  210. package/src/app/core/register/register-confirm.page.html +55 -0
  211. package/src/app/core/register/register-confirm.page.scss +121 -0
  212. package/src/app/core/register/register-confirm.page.ts +94 -0
  213. package/src/app/core/register/register.form.html +125 -0
  214. package/src/app/core/register/register.form.scss +10 -0
  215. package/src/app/core/register/register.form.ts +213 -0
  216. package/src/app/core/register/register.modal.html +70 -0
  217. package/src/app/core/register/register.modal.ts +52 -0
  218. package/src/app/core/register/register.module.ts +31 -0
  219. package/src/app/core/services/account.service.ts +1431 -0
  220. package/src/app/core/services/auth-guard.service.ts +70 -0
  221. package/src/app/core/services/base-entity-service.class.ts +598 -0
  222. package/src/app/core/services/base-graphql-service.class.ts +298 -0
  223. package/src/app/core/services/base58.ts +83 -0
  224. package/src/app/core/services/config/account.config.ts +35 -0
  225. package/src/app/core/services/config/core.config.ts +180 -0
  226. package/src/app/core/services/config.service.ts +414 -0
  227. package/src/app/core/services/crypto.service.ts +126 -0
  228. package/src/app/core/services/errors.ts +67 -0
  229. package/src/app/core/services/local-settings.service.spec.ts +32 -0
  230. package/src/app/core/services/local-settings.service.ts +548 -0
  231. package/src/app/core/services/model/account.model.ts +141 -0
  232. package/src/app/core/services/model/config.model.ts +122 -0
  233. package/src/app/core/services/model/department.model.ts +34 -0
  234. package/src/app/core/services/model/entity.decorators.ts +112 -0
  235. package/src/app/core/services/model/entity.model.ts +326 -0
  236. package/src/app/core/services/model/filter.model.ts +139 -0
  237. package/src/app/core/services/model/history.model.ts +25 -0
  238. package/src/app/core/services/model/model.enum.ts +11 -0
  239. package/src/app/core/services/model/peer.model.ts +86 -0
  240. package/src/app/core/services/model/person.model.ts +112 -0
  241. package/src/app/core/services/model/referential.model.ts +244 -0
  242. package/src/app/core/services/model/settings.model.ts +32 -0
  243. package/src/app/core/services/model/token.model.ts +54 -0
  244. package/src/app/core/services/network.service.spec.ts +49 -0
  245. package/src/app/core/services/network.service.ts +729 -0
  246. package/src/app/core/services/network.types.ts +26 -0
  247. package/src/app/core/services/network.utils.ts +57 -0
  248. package/src/app/core/services/pipes/account.pipes.ts +25 -0
  249. package/src/app/core/services/pipes/department-to-string.pipe.ts +15 -0
  250. package/src/app/core/services/pipes/person-to-string.pipe.ts +15 -0
  251. package/src/app/core/services/pipes/usage-mode.pipes.ts +26 -0
  252. package/src/app/core/services/platform.service.spec.ts +56 -0
  253. package/src/app/core/services/platform.service.ts +605 -0
  254. package/src/app/core/services/storage/entities-storage.service.ts +542 -0
  255. package/src/app/core/services/storage/entity-store.class.ts +598 -0
  256. package/src/app/core/services/testing/referential-filter.model.ts +28 -0
  257. package/src/app/core/services/testing/referential.validator.ts +57 -0
  258. package/src/app/core/services/validator/account.validator.ts +58 -0
  259. package/src/app/core/services/validator/base.validator.class.ts +54 -0
  260. package/src/app/core/services/validator/local-settings.validator.ts +72 -0
  261. package/src/app/core/services/validator/user-settings.validator.ts +25 -0
  262. package/src/app/core/services/validator/user-token.validator.ts +55 -0
  263. package/src/app/core/settings/settings.module.ts +24 -0
  264. package/src/app/core/settings/settings.page.html +264 -0
  265. package/src/app/core/settings/settings.page.ts +365 -0
  266. package/src/app/core/table/actions-column.component.html +91 -0
  267. package/src/app/core/table/actions-column.component.ts +70 -0
  268. package/src/app/core/table/async-table.class.ts +1934 -0
  269. package/src/app/core/table/entities-async-table-datasource.class.ts +482 -0
  270. package/src/app/core/table/entities-table-datasource.class.ts +496 -0
  271. package/src/app/core/table/memory-table.class.ts +65 -0
  272. package/src/app/core/table/table-select-columns.component.html +58 -0
  273. package/src/app/core/table/table-select-columns.component.ts +50 -0
  274. package/src/app/core/table/table.class.ts +1973 -0
  275. package/src/app/core/table/table.model.ts +35 -0
  276. package/src/app/core/table/table.module.ts +26 -0
  277. package/src/app/core/table/table.utils.ts +38 -0
  278. package/src/app/core/table/testing/multi-table.testing.ts +261 -0
  279. package/src/app/core/table/testing/table-validator.service.ts +25 -0
  280. package/src/app/core/table/testing/table.testing.html +396 -0
  281. package/src/app/core/table/testing/table.testing.module.ts +25 -0
  282. package/src/app/core/table/testing/table.testing.scss +23 -0
  283. package/src/app/core/table/testing/table.testing.ts +292 -0
  284. package/src/app/shared/alerts.ts +292 -0
  285. package/src/app/shared/audio/audio.testing.html +33 -0
  286. package/src/app/shared/audio/audio.testing.module.ts +32 -0
  287. package/src/app/shared/audio/audio.testing.ts +31 -0
  288. package/src/app/shared/audio/audio.ts +278 -0
  289. package/src/app/shared/base64.utils.ts +66 -0
  290. package/src/app/shared/capacitor/keyboard.ts +40 -0
  291. package/src/app/shared/capacitor/plugins.ts +12 -0
  292. package/src/app/shared/constants.ts +12 -0
  293. package/src/app/shared/dates.ts +163 -0
  294. package/src/app/shared/debug/debug-service.class.ts +8 -0
  295. package/src/app/shared/debug/debug.component.html +13 -0
  296. package/src/app/shared/debug/debug.component.scss +24 -0
  297. package/src/app/shared/debug/debug.component.spec.ts +25 -0
  298. package/src/app/shared/debug/debug.component.ts +27 -0
  299. package/src/app/shared/debug/debug.module.ts +28 -0
  300. package/src/app/shared/directives/autofocus.directive.ts +109 -0
  301. package/src/app/shared/directives/autotitle.directive.ts +24 -0
  302. package/src/app/shared/directives/directives.module.ts +29 -0
  303. package/src/app/shared/directives/drag-and-drop.directive.ts +47 -0
  304. package/src/app/shared/directives/ng-var.directive.ts +32 -0
  305. package/src/app/shared/directives/resizable/resizable.component.ts +47 -0
  306. package/src/app/shared/directives/resizable/resizable.directive.ts +43 -0
  307. package/src/app/shared/directives/resizable/resizable.module.ts +9 -0
  308. package/src/app/shared/directives/resizable/resizable.style.scss +44 -0
  309. package/src/app/shared/directives/resizable/resizable.template.html +6 -0
  310. package/src/app/shared/events.ts +96 -0
  311. package/src/app/shared/file/csv.utils.ts +94 -0
  312. package/src/app/shared/file/file.service.ts +132 -0
  313. package/src/app/shared/file/file.utils.ts +138 -0
  314. package/src/app/shared/file/images.utils.ts +198 -0
  315. package/src/app/shared/file/json.utils.ts +73 -0
  316. package/src/app/shared/file/uri.utils.ts +25 -0
  317. package/src/app/shared/focusable.ts +10 -0
  318. package/src/app/shared/form/field.component.html +261 -0
  319. package/src/app/shared/form/field.component.scss +7 -0
  320. package/src/app/shared/form/field.component.ts +318 -0
  321. package/src/app/shared/form/field.model.ts +64 -0
  322. package/src/app/shared/form/loading-spinner.ts +16 -0
  323. package/src/app/shared/forms.ts +458 -0
  324. package/src/app/shared/functions.ts +492 -0
  325. package/src/app/shared/geolocation/geolocation.utils.ts +101 -0
  326. package/src/app/shared/gesture/gesture-config.ts +45 -0
  327. package/src/app/shared/gesture/hammer.utils.ts +14 -0
  328. package/src/app/shared/graph/colors.utils.ts +74 -0
  329. package/src/app/shared/graph/graph-colors.ts +295 -0
  330. package/src/app/shared/guard/component-dirty.guard.ts +70 -0
  331. package/src/app/shared/help/help.modal.html +42 -0
  332. package/src/app/shared/help/help.modal.ts +61 -0
  333. package/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.html +11 -0
  334. package/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.scss +39 -0
  335. package/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.ts +16 -0
  336. package/src/app/shared/hotkeys/hotkeys.service.ts +89 -0
  337. package/src/app/shared/hotkeys/shared-hotkeys.module.ts +27 -0
  338. package/src/app/shared/http/http.utils.ts +89 -0
  339. package/src/app/shared/image/gallery/image-gallery.component.html +231 -0
  340. package/src/app/shared/image/gallery/image-gallery.component.scss +196 -0
  341. package/src/app/shared/image/gallery/image-gallery.component.ts +389 -0
  342. package/src/app/shared/image/gallery/image-gallery.module.ts +34 -0
  343. package/src/app/shared/image/gallery/testing/gallegry.model.testing.ts +27 -0
  344. package/src/app/shared/image/gallery/testing/gallery.service.testing.ts +102 -0
  345. package/src/app/shared/image/gallery/testing/gallery.testing.html +15 -0
  346. package/src/app/shared/image/gallery/testing/gallery.testing.module.ts +39 -0
  347. package/src/app/shared/image/gallery/testing/gallery.testing.ts +38 -0
  348. package/src/app/shared/image/image.model.ts +6 -0
  349. package/src/app/shared/image/image.module.ts +16 -0
  350. package/src/app/shared/image/image.service.ts +94 -0
  351. package/src/app/shared/image/image.testing.module.ts +23 -0
  352. package/src/app/shared/inputs.ts +282 -0
  353. package/src/app/shared/interceptors/progess.interceptor.ts +25 -0
  354. package/src/app/shared/logging/log-level.model.ts +53 -0
  355. package/src/app/shared/logging/logger.model.ts +120 -0
  356. package/src/app/shared/logging/logging-service.class.ts +134 -0
  357. package/src/app/shared/logging/logging-service.config.ts +29 -0
  358. package/src/app/shared/logging/logging-service.module.ts +22 -0
  359. package/src/app/shared/material/autocomplete/material.autocomplete.config.ts +83 -0
  360. package/src/app/shared/material/autocomplete/material.autocomplete.html +262 -0
  361. package/src/app/shared/material/autocomplete/material.autocomplete.module.ts +45 -0
  362. package/src/app/shared/material/autocomplete/material.autocomplete.scss +21 -0
  363. package/src/app/shared/material/autocomplete/material.autocomplete.ts +1022 -0
  364. package/src/app/shared/material/autocomplete/material.autocomplete.utils.ts +20 -0
  365. package/src/app/shared/material/autocomplete/testing/autocomplete.test.html +876 -0
  366. package/src/app/shared/material/autocomplete/testing/autocomplete.test.spec.ts +38 -0
  367. package/src/app/shared/material/autocomplete/testing/autocomplete.test.ts +247 -0
  368. package/src/app/shared/material/badge/badge.directive.ts +164 -0
  369. package/src/app/shared/material/badge/badge.module.ts +22 -0
  370. package/src/app/shared/material/badge/badge.test.html +261 -0
  371. package/src/app/shared/material/badge/badge.test.ts +36 -0
  372. package/src/app/shared/material/boolean/boolean.module.ts +40 -0
  373. package/src/app/shared/material/boolean/material.boolean.html +155 -0
  374. package/src/app/shared/material/boolean/material.boolean.scss +34 -0
  375. package/src/app/shared/material/boolean/material.boolean.ts +239 -0
  376. package/src/app/shared/material/chips/chips.module.ts +44 -0
  377. package/src/app/shared/material/chips/material.chips.html +146 -0
  378. package/src/app/shared/material/chips/material.chips.scss +65 -0
  379. package/src/app/shared/material/chips/material.chips.ts +768 -0
  380. package/src/app/shared/material/chips/testing/chips.test.html +137 -0
  381. package/src/app/shared/material/chips/testing/chips.test.ts +175 -0
  382. package/src/app/shared/material/datetime/datetime.module.ts +52 -0
  383. package/src/app/shared/material/datetime/material.date.html +132 -0
  384. package/src/app/shared/material/datetime/material.date.scss +17 -0
  385. package/src/app/shared/material/datetime/material.date.ts +408 -0
  386. package/src/app/shared/material/datetime/material.dateshort.html +134 -0
  387. package/src/app/shared/material/datetime/material.dateshort.scss +23 -0
  388. package/src/app/shared/material/datetime/material.dateshort.ts +422 -0
  389. package/src/app/shared/material/datetime/material.datetime.html +224 -0
  390. package/src/app/shared/material/datetime/material.datetime.scss +90 -0
  391. package/src/app/shared/material/datetime/material.datetime.ts +575 -0
  392. package/src/app/shared/material/datetime/testing/mat-date-time.test.html +354 -0
  393. package/src/app/shared/material/datetime/testing/mat-date-time.test.ts +134 -0
  394. package/src/app/shared/material/datetime/testing/mat-date.test.html +418 -0
  395. package/src/app/shared/material/datetime/testing/mat-date.test.ts +135 -0
  396. package/src/app/shared/material/datetime/testing/mat-dateshort.test.html +370 -0
  397. package/src/app/shared/material/datetime/testing/mat-dateshort.test.ts +127 -0
  398. package/src/app/shared/material/duration/duration.module.ts +39 -0
  399. package/src/app/shared/material/duration/duration.utils.ts +41 -0
  400. package/src/app/shared/material/duration/material.duration.html +44 -0
  401. package/src/app/shared/material/duration/material.duration.scss +28 -0
  402. package/src/app/shared/material/duration/material.duration.ts +294 -0
  403. package/src/app/shared/material/latlong/latlong.utils.ts +300 -0
  404. package/src/app/shared/material/latlong/material.latlong.html +127 -0
  405. package/src/app/shared/material/latlong/material.latlong.module.ts +40 -0
  406. package/src/app/shared/material/latlong/material.latlong.scss +48 -0
  407. package/src/app/shared/material/latlong/material.latlong.ts +421 -0
  408. package/src/app/shared/material/latlong/testing/latlong.test.html +341 -0
  409. package/src/app/shared/material/latlong/testing/latlong.test.ts +121 -0
  410. package/src/app/shared/material/material.animations.ts +129 -0
  411. package/src/app/shared/material/material.module.ts +94 -0
  412. package/src/app/shared/material/material.testing.module.ts +135 -0
  413. package/src/app/shared/material/memory/memory.utils.ts +54 -0
  414. package/src/app/shared/material/numpad/numpad.animation.ts +1 -0
  415. package/src/app/shared/material/numpad/numpad.append-to-input.directive.ts +109 -0
  416. package/src/app/shared/material/numpad/numpad.component.ts +78 -0
  417. package/src/app/shared/material/numpad/numpad.container.html +32 -0
  418. package/src/app/shared/material/numpad/numpad.container.scss +50 -0
  419. package/src/app/shared/material/numpad/numpad.container.ts +176 -0
  420. package/src/app/shared/material/numpad/numpad.content.html +13 -0
  421. package/src/app/shared/material/numpad/numpad.content.ts +10 -0
  422. package/src/app/shared/material/numpad/numpad.directive.ts +173 -0
  423. package/src/app/shared/material/numpad/numpad.dom-service.ts +46 -0
  424. package/src/app/shared/material/numpad/numpad.model.ts +55 -0
  425. package/src/app/shared/material/numpad/numpad.module.ts +38 -0
  426. package/src/app/shared/material/numpad/testing/numpad.test.html +146 -0
  427. package/src/app/shared/material/numpad/testing/numpad.test.ts +55 -0
  428. package/src/app/shared/material/paginator/material.paginator-i18n.ts +49 -0
  429. package/src/app/shared/material/stepper/material.stepper-i18n.ts +18 -0
  430. package/src/app/shared/material/swipe/material.swipe.html +63 -0
  431. package/src/app/shared/material/swipe/material.swipe.scss +39 -0
  432. package/src/app/shared/material/swipe/material.swipe.ts +350 -0
  433. package/src/app/shared/material/swipe/swipe.module.ts +33 -0
  434. package/src/app/shared/material/swipe/testing/swipe.test.html +128 -0
  435. package/src/app/shared/material/swipe/testing/swipe.test.ts +81 -0
  436. package/src/app/shared/modules.ts +11 -0
  437. package/src/app/shared/observables.ts +132 -0
  438. package/src/app/shared/pipes/arrays.pipe.ts +111 -0
  439. package/src/app/shared/pipes/colors.pipe.ts +19 -0
  440. package/src/app/shared/pipes/date-diff-duration.pipe.ts +48 -0
  441. package/src/app/shared/pipes/date-format.pipe.ts +78 -0
  442. package/src/app/shared/pipes/date-from-now.pipe.ts +20 -0
  443. package/src/app/shared/pipes/duration.pipe.spec.ts +51 -0
  444. package/src/app/shared/pipes/duration.pipe.ts +34 -0
  445. package/src/app/shared/pipes/file-size.pipe.ts +58 -0
  446. package/src/app/shared/pipes/form.pipes.ts +204 -0
  447. package/src/app/shared/pipes/highlight.pipe.ts +37 -0
  448. package/src/app/shared/pipes/latlong-format.pipe.ts +30 -0
  449. package/src/app/shared/pipes/maps.pipe.ts +39 -0
  450. package/src/app/shared/pipes/math.pipes.ts +39 -0
  451. package/src/app/shared/pipes/ng-init.pipe.ts +14 -0
  452. package/src/app/shared/pipes/number-format.pipe.ts +21 -0
  453. package/src/app/shared/pipes/pipes.module.ts +134 -0
  454. package/src/app/shared/pipes/property.pipes.ts +87 -0
  455. package/src/app/shared/pipes/string.pipes.ts +85 -0
  456. package/src/app/shared/pipes/translate-context.pipe.ts +33 -0
  457. package/src/app/shared/pipes/types.pipes.ts +31 -0
  458. package/src/app/shared/platforms.ts +58 -0
  459. package/src/app/shared/services/entity-service.class.ts +127 -0
  460. package/src/app/shared/services/job.utils.ts +121 -0
  461. package/src/app/shared/services/memory-entity-service.class.ts +447 -0
  462. package/src/app/shared/services/progress-bar.service.ts +42 -0
  463. package/src/app/shared/services/startable-observable-service.class.ts +137 -0
  464. package/src/app/shared/services/startable-service.class.ts +131 -0
  465. package/src/app/shared/services/storage.utils.ts +47 -0
  466. package/src/app/shared/services/translate-context.service.ts +116 -0
  467. package/src/app/shared/services/validator-service.class.ts +14 -0
  468. package/src/app/shared/services.ts +91 -0
  469. package/src/app/shared/shared-routing.module.ts +66 -0
  470. package/src/app/shared/shared.module.spec.ts +13 -0
  471. package/src/app/shared/shared.module.ts +146 -0
  472. package/src/app/shared/shared.testing.module.ts +50 -0
  473. package/src/app/shared/storage/storage-explorer.component.html +175 -0
  474. package/src/app/shared/storage/storage-explorer.component.scss +39 -0
  475. package/src/app/shared/storage/storage-explorer.component.spec.ts +24 -0
  476. package/src/app/shared/storage/storage-explorer.component.ts +292 -0
  477. package/src/app/shared/storage/storage-explorer.module.ts +44 -0
  478. package/src/app/shared/storage/storage.service.ts +133 -0
  479. package/src/app/shared/storage/storage.utils.ts +25 -0
  480. package/src/app/shared/testing/observable.test.html +53 -0
  481. package/src/app/shared/testing/observable.test.scss +3 -0
  482. package/src/app/shared/testing/observable.test.ts +117 -0
  483. package/src/app/shared/testing/tests.page.html +30 -0
  484. package/src/app/shared/testing/tests.page.ts +34 -0
  485. package/src/app/shared/toast/toast.testing.html +42 -0
  486. package/src/app/shared/toast/toast.testing.module.ts +32 -0
  487. package/src/app/shared/toast/toast.testing.ts +58 -0
  488. package/src/app/shared/toast/toasts.ts +183 -0
  489. package/src/app/shared/toolbar/modal-toolbar.html +32 -0
  490. package/src/app/shared/toolbar/modal-toolbar.scss +0 -0
  491. package/src/app/shared/toolbar/modal-toolbar.ts +63 -0
  492. package/src/app/shared/toolbar/toolbar.html +71 -0
  493. package/src/app/shared/toolbar/toolbar.module.ts +35 -0
  494. package/src/app/shared/toolbar/toolbar.scss +0 -0
  495. package/src/app/shared/toolbar/toolbar.ts +254 -0
  496. package/src/app/shared/types.ts +31 -0
  497. package/src/app/shared/upload-file/testing/upload-file.testing.html +25 -0
  498. package/src/app/shared/upload-file/testing/upload-file.testing.module.ts +32 -0
  499. package/src/app/shared/upload-file/testing/upload-file.testing.ts +68 -0
  500. package/src/app/shared/upload-file/upload-file-popover.component.html +43 -0
  501. package/src/app/shared/upload-file/upload-file-popover.component.scss +6 -0
  502. package/src/app/shared/upload-file/upload-file-popover.component.ts +115 -0
  503. package/src/app/shared/upload-file/upload-file.component.html +46 -0
  504. package/src/app/shared/upload-file/upload-file.component.scss +130 -0
  505. package/src/app/shared/upload-file/upload-file.component.ts +218 -0
  506. package/src/app/shared/upload-file/upload-file.model.ts +41 -0
  507. package/src/app/shared/validator/form-error-adapter.class.ts +123 -0
  508. package/src/app/shared/validator/validators.ts +639 -0
  509. package/src/app/shared/version/versions.ts +91 -0
  510. package/src/app/social/job/job.module.ts +26 -0
  511. package/src/app/social/job/progression/job-progression.component.html +22 -0
  512. package/src/app/social/job/progression/job-progression.component.scss +15 -0
  513. package/src/app/social/job/progression/job-progression.component.ts +17 -0
  514. package/src/app/social/job/progression/job-progression.icon.html +28 -0
  515. package/src/app/social/job/progression/job-progression.icon.scss +5 -0
  516. package/src/app/social/job/progression/job-progression.icon.ts +238 -0
  517. package/src/app/social/job/progression/job-progression.list.html +21 -0
  518. package/src/app/social/job/progression/job-progression.list.scss +17 -0
  519. package/src/app/social/job/progression/job-progression.list.ts +49 -0
  520. package/src/app/social/job/progression/job-progression.model.ts +28 -0
  521. package/src/app/social/job/progression/job-progression.service.ts +86 -0
  522. package/src/app/social/job/testing/job-progression.testing.html +20 -0
  523. package/src/app/social/job/testing/job-progression.testing.service.ts +60 -0
  524. package/src/app/social/job/testing/job-progression.testing.ts +51 -0
  525. package/src/app/social/job/testing/job.testing.module.ts +22 -0
  526. package/src/app/social/message/message.form.html +60 -0
  527. package/src/app/social/message/message.form.scss +6 -0
  528. package/src/app/social/message/message.form.ts +79 -0
  529. package/src/app/social/message/message.modal.html +65 -0
  530. package/src/app/social/message/message.modal.ts +118 -0
  531. package/src/app/social/message/message.model.ts +81 -0
  532. package/src/app/social/message/message.module.ts +22 -0
  533. package/src/app/social/message/message.service.ts +88 -0
  534. package/src/app/social/social.errors.ts +11 -0
  535. package/src/app/social/social.module.ts +36 -0
  536. package/src/app/social/social.testing.module.ts +40 -0
  537. package/src/app/social/user-event/notification/user-event-notification.icon.html +16 -0
  538. package/src/app/social/user-event/notification/user-event-notification.icon.ts +108 -0
  539. package/src/app/social/user-event/notification/user-event-notification.list.html +135 -0
  540. package/src/app/social/user-event/notification/user-event-notification.list.scss +73 -0
  541. package/src/app/social/user-event/notification/user-event-notification.list.ts +287 -0
  542. package/src/app/social/user-event/testing/user-event.testing.html +27 -0
  543. package/src/app/social/user-event/testing/user-event.testing.model.ts +146 -0
  544. package/src/app/social/user-event/testing/user-event.testing.module.ts +22 -0
  545. package/src/app/social/user-event/testing/user-event.testing.service.ts +141 -0
  546. package/src/app/social/user-event/testing/user-event.testing.ts +253 -0
  547. package/src/app/social/user-event/user-event.model.ts +73 -0
  548. package/src/app/social/user-event/user-event.module.ts +25 -0
  549. package/src/app/social/user-event/user-event.service.ts +679 -0
  550. package/src/browserslist +9 -0
  551. package/src/environments/environment.class.ts +83 -0
  552. package/src/environments/environment.prod.ts +47 -0
  553. package/src/environments/environment.test.ts +90 -0
  554. package/src/environments/environment.ts +108 -0
  555. package/src/favicon.ico +0 -0
  556. package/src/global.scss +27 -0
  557. package/src/index.html +80 -0
  558. package/src/main.ts +17 -0
  559. package/src/polyfills.ts +68 -0
  560. package/src/schema.graphql +3112 -0
  561. package/src/service-worker.js +31 -0
  562. package/src/zone-flags.ts +31 -0
  563. package/tsconfig.app.json +15 -0
  564. package/tsconfig.json +47 -0
  565. package/tsconfig.spec.json +19 -0
  566. package/esm2020/public_api.mjs +0 -313
  567. package/esm2020/src/app/admin/admin-routing.module.mjs +0 -41
  568. package/esm2020/src/app/admin/admin.module.mjs +0 -34
  569. package/esm2020/src/app/admin/services/filter/person.filter.mjs +0 -59
  570. package/esm2020/src/app/admin/services/person.service.mjs +0 -161
  571. package/esm2020/src/app/admin/services/validator/person.validator.mjs +0 -34
  572. package/esm2020/src/app/admin/users/users.mjs +0 -234
  573. package/esm2020/src/app/admin/users/users.module.mjs +0 -54
  574. package/esm2020/src/app/core/about/about.modal.mjs +0 -71
  575. package/esm2020/src/app/core/about/about.module.mjs +0 -34
  576. package/esm2020/src/app/core/account/account.module.mjs +0 -61
  577. package/esm2020/src/app/core/account/account.page.mjs +0 -316
  578. package/esm2020/src/app/core/account/new-token.modal.mjs +0 -115
  579. package/esm2020/src/app/core/account/token.table.mjs +0 -137
  580. package/esm2020/src/app/core/auth/auth.form.mjs +0 -131
  581. package/esm2020/src/app/core/auth/auth.modal.mjs +0 -72
  582. package/esm2020/src/app/core/auth/auth.module.mjs +0 -47
  583. package/esm2020/src/app/core/core.module.mjs +0 -184
  584. package/esm2020/src/app/core/core.testing.module.mjs +0 -86
  585. package/esm2020/src/app/core/form/buttons/form-buttons-bar.component.mjs +0 -71
  586. package/esm2020/src/app/core/form/buttons/form-buttons-bar.module.mjs +0 -35
  587. package/esm2020/src/app/core/form/entity/editor.class.mjs +0 -679
  588. package/esm2020/src/app/core/form/entity/entity-editor-modal.class.mjs +0 -421
  589. package/esm2020/src/app/core/form/entity/entity-editor.class.mjs +0 -687
  590. package/esm2020/src/app/core/form/entity/entity-metadata.component.mjs +0 -25
  591. package/esm2020/src/app/core/form/entity/entity.module.mjs +0 -38
  592. package/esm2020/src/app/core/form/form.class.mjs +0 -340
  593. package/esm2020/src/app/core/form/form.module.mjs +0 -66
  594. package/esm2020/src/app/core/form/form.utils.mjs +0 -473
  595. package/esm2020/src/app/core/form/list/list.form.mjs +0 -222
  596. package/esm2020/src/app/core/form/list/list.module.mjs +0 -35
  597. package/esm2020/src/app/core/form/properties/properties.form.mjs +0 -132
  598. package/esm2020/src/app/core/form/properties/properties.module.mjs +0 -43
  599. package/esm2020/src/app/core/form/properties/properties.table.mjs +0 -264
  600. package/esm2020/src/app/core/form/properties/property.validator.mjs +0 -23
  601. package/esm2020/src/app/core/form/properties/testing/properties-form.test.mjs +0 -90
  602. package/esm2020/src/app/core/form/properties/testing/properties-form.testing.module.mjs +0 -39
  603. package/esm2020/src/app/core/form/text-popover/testing/text-popover.testing.mjs +0 -70
  604. package/esm2020/src/app/core/form/text-popover/testing/text-popover.testing.module.mjs +0 -45
  605. package/esm2020/src/app/core/form/text-popover/text-form.component.mjs +0 -89
  606. package/esm2020/src/app/core/form/text-popover/text-popover.component.mjs +0 -146
  607. package/esm2020/src/app/core/form/text-popover/text-popover.module.mjs +0 -40
  608. package/esm2020/src/app/core/graphql/graphql.module.mjs +0 -22
  609. package/esm2020/src/app/core/graphql/graphql.service.mjs +0 -762
  610. package/esm2020/src/app/core/graphql/graphql.utils.mjs +0 -117
  611. package/esm2020/src/app/core/home/home.mjs +0 -257
  612. package/esm2020/src/app/core/home/home.module.mjs +0 -48
  613. package/esm2020/src/app/core/icon/icon.component.mjs +0 -41
  614. package/esm2020/src/app/core/icon/icon.module.mjs +0 -29
  615. package/esm2020/src/app/core/install/install-upgrade-card.component.mjs +0 -343
  616. package/esm2020/src/app/core/install/install-upgrade-card.module.mjs +0 -35
  617. package/esm2020/src/app/core/menu/menu.component.mjs +0 -329
  618. package/esm2020/src/app/core/menu/menu.model.mjs +0 -35
  619. package/esm2020/src/app/core/menu/menu.module.mjs +0 -44
  620. package/esm2020/src/app/core/menu/menu.service.mjs +0 -55
  621. package/esm2020/src/app/core/offline/update-offline-mode-card.component.mjs +0 -27
  622. package/esm2020/src/app/core/offline/update-offline-mode-card.module.mjs +0 -35
  623. package/esm2020/src/app/core/peer/select-peer.modal.mjs +0 -182
  624. package/esm2020/src/app/core/peer/select-peer.module.mjs +0 -42
  625. package/esm2020/src/app/core/register/register-confirm.page.mjs +0 -81
  626. package/esm2020/src/app/core/register/register.form.mjs +0 -181
  627. package/esm2020/src/app/core/register/register.modal.mjs +0 -52
  628. package/esm2020/src/app/core/register/register.module.mjs +0 -44
  629. package/esm2020/src/app/core/services/account.service.mjs +0 -1212
  630. package/esm2020/src/app/core/services/auth-guard.service.mjs +0 -71
  631. package/esm2020/src/app/core/services/base-entity-service.class.mjs +0 -444
  632. package/esm2020/src/app/core/services/base-graphql-service.class.mjs +0 -219
  633. package/esm2020/src/app/core/services/base58.mjs +0 -78
  634. package/esm2020/src/app/core/services/config/core.config.mjs +0 -175
  635. package/esm2020/src/app/core/services/config.service.mjs +0 -354
  636. package/esm2020/src/app/core/services/crypto.service.mjs +0 -114
  637. package/esm2020/src/app/core/services/errors.mjs +0 -50
  638. package/esm2020/src/app/core/services/local-settings.service.mjs +0 -449
  639. package/esm2020/src/app/core/services/model/account.model.mjs +0 -122
  640. package/esm2020/src/app/core/services/model/config.model.mjs +0 -92
  641. package/esm2020/src/app/core/services/model/department.model.mjs +0 -30
  642. package/esm2020/src/app/core/services/model/entity.decorators.mjs +0 -97
  643. package/esm2020/src/app/core/services/model/entity.model.mjs +0 -240
  644. package/esm2020/src/app/core/services/model/filter.model.mjs +0 -94
  645. package/esm2020/src/app/core/services/model/history.model.mjs +0 -2
  646. package/esm2020/src/app/core/services/model/model.enum.mjs +0 -11
  647. package/esm2020/src/app/core/services/model/peer.model.mjs +0 -68
  648. package/esm2020/src/app/core/services/model/person.model.mjs +0 -83
  649. package/esm2020/src/app/core/services/model/referential.model.mjs +0 -164
  650. package/esm2020/src/app/core/services/model/settings.model.mjs +0 -3
  651. package/esm2020/src/app/core/services/model/token.model.mjs +0 -48
  652. package/esm2020/src/app/core/services/network.service.mjs +0 -589
  653. package/esm2020/src/app/core/services/network.types.mjs +0 -20
  654. package/esm2020/src/app/core/services/network.utils.mjs +0 -15
  655. package/esm2020/src/app/core/services/pipes/account.pipes.mjs +0 -38
  656. package/esm2020/src/app/core/services/pipes/department-to-string.pipe.mjs +0 -23
  657. package/esm2020/src/app/core/services/pipes/person-to-string.pipe.mjs +0 -23
  658. package/esm2020/src/app/core/services/pipes/usage-mode.pipes.mjs +0 -37
  659. package/esm2020/src/app/core/services/platform.service.mjs +0 -525
  660. package/esm2020/src/app/core/services/storage/entities-storage.service.mjs +0 -428
  661. package/esm2020/src/app/core/services/storage/entity-store.class.mjs +0 -449
  662. package/esm2020/src/app/core/services/testing/referential-filter.model.mjs +0 -23
  663. package/esm2020/src/app/core/services/testing/referential.validator.mjs +0 -45
  664. package/esm2020/src/app/core/services/validator/account.validator.mjs +0 -56
  665. package/esm2020/src/app/core/services/validator/base.validator.class.mjs +0 -47
  666. package/esm2020/src/app/core/services/validator/local-settings.validator.mjs +0 -66
  667. package/esm2020/src/app/core/services/validator/user-settings.validator.mjs +0 -27
  668. package/esm2020/src/app/core/services/validator/user-token.validator.mjs +0 -52
  669. package/esm2020/src/app/core/settings/settings.module.mjs +0 -34
  670. package/esm2020/src/app/core/settings/settings.page.mjs +0 -312
  671. package/esm2020/src/app/core/table/actions-column.component.mjs +0 -102
  672. package/esm2020/src/app/core/table/async-table.class.mjs +0 -1697
  673. package/esm2020/src/app/core/table/entities-async-table-datasource.class.mjs +0 -384
  674. package/esm2020/src/app/core/table/entities-table-datasource.class.mjs +0 -399
  675. package/esm2020/src/app/core/table/memory-table.class.mjs +0 -53
  676. package/esm2020/src/app/core/table/table-select-columns.component.mjs +0 -43
  677. package/esm2020/src/app/core/table/table.class.mjs +0 -1728
  678. package/esm2020/src/app/core/table/table.model.mjs +0 -12
  679. package/esm2020/src/app/core/table/table.module.mjs +0 -40
  680. package/esm2020/src/app/core/table/table.utils.mjs +0 -30
  681. package/esm2020/src/app/core/table/testing/table-validator.service.mjs +0 -27
  682. package/esm2020/src/app/core/table/testing/table.testing.mjs +0 -280
  683. package/esm2020/src/app/core/table/testing/table.testing.module.mjs +0 -38
  684. package/esm2020/src/app/shared/alerts.mjs +0 -239
  685. package/esm2020/src/app/shared/audio/audio.mjs +0 -248
  686. package/esm2020/src/app/shared/audio/audio.testing.mjs +0 -31
  687. package/esm2020/src/app/shared/audio/audio.testing.module.mjs +0 -45
  688. package/esm2020/src/app/shared/capacitor/keyboard.mjs +0 -40
  689. package/esm2020/src/app/shared/capacitor/plugins.mjs +0 -9
  690. package/esm2020/src/app/shared/constants.mjs +0 -10
  691. package/esm2020/src/app/shared/dates.mjs +0 -148
  692. package/esm2020/src/app/shared/debug/debug-service.class.mjs +0 -3
  693. package/esm2020/src/app/shared/debug/debug.component.mjs +0 -39
  694. package/esm2020/src/app/shared/debug/debug.module.mjs +0 -44
  695. package/esm2020/src/app/shared/directives/autofocus.directive.mjs +0 -92
  696. package/esm2020/src/app/shared/directives/autotitle.directive.mjs +0 -30
  697. package/esm2020/src/app/shared/directives/directives.module.mjs +0 -43
  698. package/esm2020/src/app/shared/directives/drag-and-drop.directive.mjs +0 -53
  699. package/esm2020/src/app/shared/directives/ng-var.directive.mjs +0 -31
  700. package/esm2020/src/app/shared/directives/resizable/resizable.component.mjs +0 -59
  701. package/esm2020/src/app/shared/directives/resizable/resizable.directive.mjs +0 -40
  702. package/esm2020/src/app/shared/directives/resizable/resizable.module.mjs +0 -17
  703. package/esm2020/src/app/shared/events.mjs +0 -64
  704. package/esm2020/src/app/shared/file/csv.utils.mjs +0 -74
  705. package/esm2020/src/app/shared/file/file.service.mjs +0 -117
  706. package/esm2020/src/app/shared/file/file.utils.mjs +0 -113
  707. package/esm2020/src/app/shared/file/images.utils.mjs +0 -161
  708. package/esm2020/src/app/shared/file/json.utils.mjs +0 -51
  709. package/esm2020/src/app/shared/file/uri.utils.mjs +0 -23
  710. package/esm2020/src/app/shared/focusable.mjs +0 -6
  711. package/esm2020/src/app/shared/form/field.component.mjs +0 -307
  712. package/esm2020/src/app/shared/form/field.model.mjs +0 -25
  713. package/esm2020/src/app/shared/form/loading-spinner.mjs +0 -36
  714. package/esm2020/src/app/shared/forms.mjs +0 -391
  715. package/esm2020/src/app/shared/functions.mjs +0 -477
  716. package/esm2020/src/app/shared/geolocation/geolocation.utils.mjs +0 -80
  717. package/esm2020/src/app/shared/gesture/gesture-config.mjs +0 -49
  718. package/esm2020/src/app/shared/gesture/hammer.utils.mjs +0 -2
  719. package/esm2020/src/app/shared/graph/colors.utils.mjs +0 -64
  720. package/esm2020/src/app/shared/graph/graph-colors.mjs +0 -212
  721. package/esm2020/src/app/shared/guard/component-dirty.guard.mjs +0 -57
  722. package/esm2020/src/app/shared/help/help.modal.mjs +0 -53
  723. package/esm2020/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.mjs +0 -23
  724. package/esm2020/src/app/shared/hotkeys/hotkeys.service.mjs +0 -84
  725. package/esm2020/src/app/shared/hotkeys/shared-hotkeys.module.mjs +0 -42
  726. package/esm2020/src/app/shared/http/http.utils.mjs +0 -52
  727. package/esm2020/src/app/shared/image/gallery/image-gallery.component.mjs +0 -365
  728. package/esm2020/src/app/shared/image/gallery/image-gallery.module.mjs +0 -59
  729. package/esm2020/src/app/shared/image/gallery/testing/gallegry.model.testing.mjs +0 -27
  730. package/esm2020/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +0 -90
  731. package/esm2020/src/app/shared/image/gallery/testing/gallery.testing.mjs +0 -39
  732. package/esm2020/src/app/shared/image/gallery/testing/gallery.testing.module.mjs +0 -56
  733. package/esm2020/src/app/shared/image/image.model.mjs +0 -2
  734. package/esm2020/src/app/shared/image/image.module.mjs +0 -29
  735. package/esm2020/src/app/shared/image/image.service.mjs +0 -98
  736. package/esm2020/src/app/shared/inputs.mjs +0 -231
  737. package/esm2020/src/app/shared/interceptors/progess.interceptor.mjs +0 -27
  738. package/esm2020/src/app/shared/logging/log-level.model.mjs +0 -48
  739. package/esm2020/src/app/shared/logging/logger.model.mjs +0 -47
  740. package/esm2020/src/app/shared/logging/logging-service.class.mjs +0 -121
  741. package/esm2020/src/app/shared/logging/logging-service.config.mjs +0 -2
  742. package/esm2020/src/app/shared/logging/logging-service.module.mjs +0 -30
  743. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.config.mjs +0 -47
  744. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.mjs +0 -916
  745. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.module.mjs +0 -78
  746. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.utils.mjs +0 -19
  747. package/esm2020/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +0 -209
  748. package/esm2020/src/app/shared/material/badge/badge.directive.mjs +0 -194
  749. package/esm2020/src/app/shared/material/badge/badge.module.mjs +0 -32
  750. package/esm2020/src/app/shared/material/badge/badge.test.mjs +0 -41
  751. package/esm2020/src/app/shared/material/boolean/boolean.module.mjs +0 -68
  752. package/esm2020/src/app/shared/material/boolean/material.boolean.mjs +0 -253
  753. package/esm2020/src/app/shared/material/chips/chips.module.mjs +0 -76
  754. package/esm2020/src/app/shared/material/chips/material.chips.mjs +0 -697
  755. package/esm2020/src/app/shared/material/chips/testing/chips.test.mjs +0 -143
  756. package/esm2020/src/app/shared/material/datetime/datetime.module.mjs +0 -91
  757. package/esm2020/src/app/shared/material/datetime/material.date.mjs +0 -376
  758. package/esm2020/src/app/shared/material/datetime/material.dateshort.mjs +0 -385
  759. package/esm2020/src/app/shared/material/datetime/material.datetime.mjs +0 -499
  760. package/esm2020/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +0 -108
  761. package/esm2020/src/app/shared/material/datetime/testing/mat-date.test.mjs +0 -110
  762. package/esm2020/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +0 -103
  763. package/esm2020/src/app/shared/material/duration/duration.module.mjs +0 -67
  764. package/esm2020/src/app/shared/material/duration/duration.utils.mjs +0 -36
  765. package/esm2020/src/app/shared/material/duration/material.duration.mjs +0 -257
  766. package/esm2020/src/app/shared/material/latlong/latlong.utils.mjs +0 -266
  767. package/esm2020/src/app/shared/material/latlong/material.latlong.mjs +0 -381
  768. package/esm2020/src/app/shared/material/latlong/material.latlong.module.mjs +0 -67
  769. package/esm2020/src/app/shared/material/latlong/testing/latlong.test.mjs +0 -102
  770. package/esm2020/src/app/shared/material/material.animations.mjs +0 -104
  771. package/esm2020/src/app/shared/material/material.module.mjs +0 -224
  772. package/esm2020/src/app/shared/material/material.testing.module.mjs +0 -168
  773. package/esm2020/src/app/shared/material/numpad/numpad.append-to-input.directive.mjs +0 -98
  774. package/esm2020/src/app/shared/material/numpad/numpad.component.mjs +0 -80
  775. package/esm2020/src/app/shared/material/numpad/numpad.container.mjs +0 -190
  776. package/esm2020/src/app/shared/material/numpad/numpad.content.mjs +0 -17
  777. package/esm2020/src/app/shared/material/numpad/numpad.directive.mjs +0 -162
  778. package/esm2020/src/app/shared/material/numpad/numpad.dom-service.mjs +0 -37
  779. package/esm2020/src/app/shared/material/numpad/numpad.model.mjs +0 -15
  780. package/esm2020/src/app/shared/material/numpad/numpad.module.mjs +0 -60
  781. package/esm2020/src/app/shared/material/numpad/testing/numpad.test.mjs +0 -46
  782. package/esm2020/src/app/shared/material/paginator/material.paginator-i18n.mjs +0 -46
  783. package/esm2020/src/app/shared/material/stepper/material.stepper-i18n.mjs +0 -22
  784. package/esm2020/src/app/shared/material/swipe/material.swipe.mjs +0 -344
  785. package/esm2020/src/app/shared/material/swipe/swipe.module.mjs +0 -52
  786. package/esm2020/src/app/shared/material/swipe/testing/swipe.test.mjs +0 -64
  787. package/esm2020/src/app/shared/modules.mjs +0 -11
  788. package/esm2020/src/app/shared/observables.mjs +0 -103
  789. package/esm2020/src/app/shared/pipes/arrays.pipe.mjs +0 -141
  790. package/esm2020/src/app/shared/pipes/colors.pipe.mjs +0 -23
  791. package/esm2020/src/app/shared/pipes/date-diff-duration.pipe.mjs +0 -48
  792. package/esm2020/src/app/shared/pipes/date-format.pipe.mjs +0 -66
  793. package/esm2020/src/app/shared/pipes/date-from-now.pipe.mjs +0 -27
  794. package/esm2020/src/app/shared/pipes/duration.pipe.mjs +0 -34
  795. package/esm2020/src/app/shared/pipes/file-size.pipe.mjs +0 -62
  796. package/esm2020/src/app/shared/pipes/form.pipes.mjs +0 -187
  797. package/esm2020/src/app/shared/pipes/highlight.pipe.mjs +0 -48
  798. package/esm2020/src/app/shared/pipes/latlong-format.pipe.mjs +0 -46
  799. package/esm2020/src/app/shared/pipes/maps.pipe.mjs +0 -63
  800. package/esm2020/src/app/shared/pipes/math.pipes.mjs +0 -59
  801. package/esm2020/src/app/shared/pipes/ng-init.pipe.mjs +0 -21
  802. package/esm2020/src/app/shared/pipes/number-format.pipe.mjs +0 -30
  803. package/esm2020/src/app/shared/pipes/pipes.module.mjs +0 -239
  804. package/esm2020/src/app/shared/pipes/property.pipes.mjs +0 -93
  805. package/esm2020/src/app/shared/pipes/string.pipes.mjs +0 -121
  806. package/esm2020/src/app/shared/pipes/translate-context.pipe.mjs +0 -43
  807. package/esm2020/src/app/shared/pipes/types.pipes.mjs +0 -45
  808. package/esm2020/src/app/shared/platforms.mjs +0 -43
  809. package/esm2020/src/app/shared/services/entity-service.class.mjs +0 -7
  810. package/esm2020/src/app/shared/services/job.utils.mjs +0 -92
  811. package/esm2020/src/app/shared/services/memory-entity-service.class.mjs +0 -337
  812. package/esm2020/src/app/shared/services/progress-bar.service.mjs +0 -33
  813. package/esm2020/src/app/shared/services/startable-observable-service.class.mjs +0 -119
  814. package/esm2020/src/app/shared/services/startable-service.class.mjs +0 -110
  815. package/esm2020/src/app/shared/services/translate-context.service.mjs +0 -105
  816. package/esm2020/src/app/shared/services/validator-service.class.mjs +0 -2
  817. package/esm2020/src/app/shared/services.mjs +0 -62
  818. package/esm2020/src/app/shared/shared-routing.module.mjs +0 -70
  819. package/esm2020/src/app/shared/shared.module.mjs +0 -208
  820. package/esm2020/src/app/shared/shared.testing.module.mjs +0 -84
  821. package/esm2020/src/app/shared/storage/storage-explorer.component.mjs +0 -268
  822. package/esm2020/src/app/shared/storage/storage-explorer.module.mjs +0 -60
  823. package/esm2020/src/app/shared/storage/storage.service.mjs +0 -132
  824. package/esm2020/src/app/shared/storage/storage.utils.mjs +0 -13
  825. package/esm2020/src/app/shared/testing/observable.test.mjs +0 -95
  826. package/esm2020/src/app/shared/testing/tests.page.mjs +0 -33
  827. package/esm2020/src/app/shared/toast/toast.testing.mjs +0 -51
  828. package/esm2020/src/app/shared/toast/toast.testing.module.mjs +0 -45
  829. package/esm2020/src/app/shared/toast/toasts.mjs +0 -144
  830. package/esm2020/src/app/shared/toolbar/modal-toolbar.mjs +0 -58
  831. package/esm2020/src/app/shared/toolbar/toolbar.mjs +0 -251
  832. package/esm2020/src/app/shared/toolbar/toolbar.module.mjs +0 -53
  833. package/esm2020/src/app/shared/types.mjs +0 -2
  834. package/esm2020/src/app/shared/upload-file/testing/upload-file.testing.mjs +0 -57
  835. package/esm2020/src/app/shared/upload-file/testing/upload-file.testing.module.mjs +0 -45
  836. package/esm2020/src/app/shared/upload-file/upload-file-popover.component.mjs +0 -97
  837. package/esm2020/src/app/shared/upload-file/upload-file.component.mjs +0 -204
  838. package/esm2020/src/app/shared/upload-file/upload-file.model.mjs +0 -20
  839. package/esm2020/src/app/shared/validator/form-error-adapter.class.mjs +0 -104
  840. package/esm2020/src/app/shared/validator/validators.mjs +0 -573
  841. package/esm2020/src/app/shared/version/versions.mjs +0 -81
  842. package/esm2020/src/app/social/job/job.module.mjs +0 -42
  843. package/esm2020/src/app/social/job/progression/job-progression.component.mjs +0 -20
  844. package/esm2020/src/app/social/job/progression/job-progression.icon.mjs +0 -216
  845. package/esm2020/src/app/social/job/progression/job-progression.list.mjs +0 -43
  846. package/esm2020/src/app/social/job/progression/job-progression.model.mjs +0 -23
  847. package/esm2020/src/app/social/job/progression/job-progression.service.mjs +0 -71
  848. package/esm2020/src/app/social/job/testing/job-progression.testing.mjs +0 -52
  849. package/esm2020/src/app/social/job/testing/job-progression.testing.service.mjs +0 -55
  850. package/esm2020/src/app/social/job/testing/job.testing.module.mjs +0 -35
  851. package/esm2020/src/app/social/message/message.form.mjs +0 -81
  852. package/esm2020/src/app/social/message/message.modal.mjs +0 -93
  853. package/esm2020/src/app/social/message/message.model.mjs +0 -65
  854. package/esm2020/src/app/social/message/message.module.mjs +0 -35
  855. package/esm2020/src/app/social/message/message.service.mjs +0 -84
  856. package/esm2020/src/app/social/social.errors.mjs +0 -10
  857. package/esm2020/src/app/social/social.module.mjs +0 -47
  858. package/esm2020/src/app/social/social.testing.module.mjs +0 -51
  859. package/esm2020/src/app/social/user-event/notification/user-event-notification.icon.mjs +0 -114
  860. package/esm2020/src/app/social/user-event/notification/user-event-notification.list.mjs +0 -246
  861. package/esm2020/src/app/social/user-event/testing/user-event.testing.mjs +0 -227
  862. package/esm2020/src/app/social/user-event/testing/user-event.testing.model.mjs +0 -112
  863. package/esm2020/src/app/social/user-event/testing/user-event.testing.module.mjs +0 -35
  864. package/esm2020/src/app/social/user-event/testing/user-event.testing.service.mjs +0 -111
  865. package/esm2020/src/app/social/user-event/user-event.model.mjs +0 -2
  866. package/esm2020/src/app/social/user-event/user-event.module.mjs +0 -39
  867. package/esm2020/src/app/social/user-event/user-event.service.mjs +0 -487
  868. package/esm2020/src/environments/environment.class.mjs +0 -5
  869. package/esm2020/src/environments/environment.mjs +0 -94
  870. package/esm2020/sumaris-net.ngx-components.mjs +0 -5
  871. package/fesm2015/sumaris-net.ngx-components.mjs +0 -38843
  872. package/fesm2015/sumaris-net.ngx-components.mjs.map +0 -1
  873. package/fesm2020/sumaris-net.ngx-components.mjs +0 -37942
  874. package/fesm2020/sumaris-net.ngx-components.mjs.map +0 -1
  875. package/index.d.ts +0 -5
  876. package/public_api.d.ts +0 -286
  877. package/src/app/admin/admin-routing.module.d.ts +0 -9
  878. package/src/app/admin/admin.module.d.ts +0 -10
  879. package/src/app/admin/services/filter/person.filter.d.ts +0 -21
  880. package/src/app/admin/services/person.service.d.ts +0 -44
  881. package/src/app/admin/services/validator/person.validator.d.ts +0 -14
  882. package/src/app/admin/users/users.d.ts +0 -44
  883. package/src/app/admin/users/users.module.d.ts +0 -13
  884. package/src/app/core/about/about.modal.d.ts +0 -32
  885. package/src/app/core/about/about.module.d.ts +0 -10
  886. package/src/app/core/account/account.module.d.ts +0 -15
  887. package/src/app/core/account/account.page.d.ts +0 -68
  888. package/src/app/core/account/new-token.modal.d.ts +0 -41
  889. package/src/app/core/account/token.table.d.ts +0 -25
  890. package/src/app/core/auth/auth.form.d.ts +0 -36
  891. package/src/app/core/auth/auth.modal.d.ts +0 -24
  892. package/src/app/core/auth/auth.module.d.ts +0 -11
  893. package/src/app/core/core.module.d.ts +0 -31
  894. package/src/app/core/core.testing.module.d.ts +0 -14
  895. package/src/app/core/form/buttons/form-buttons-bar.component.d.ts +0 -26
  896. package/src/app/core/form/buttons/form-buttons-bar.module.d.ts +0 -9
  897. package/src/app/core/form/entity/editor.class.d.ts +0 -243
  898. package/src/app/core/form/entity/entity-editor-modal.class.d.ts +0 -128
  899. package/src/app/core/form/entity/entity-editor.class.d.ts +0 -205
  900. package/src/app/core/form/entity/entity-metadata.component.d.ts +0 -13
  901. package/src/app/core/form/entity/entity.module.d.ts +0 -10
  902. package/src/app/core/form/form.class.d.ts +0 -155
  903. package/src/app/core/form/form.module.d.ts +0 -13
  904. package/src/app/core/form/form.utils.d.ts +0 -336
  905. package/src/app/core/form/list/list.form.d.ts +0 -81
  906. package/src/app/core/form/list/list.module.d.ts +0 -9
  907. package/src/app/core/form/properties/properties.form.d.ts +0 -44
  908. package/src/app/core/form/properties/properties.module.d.ts +0 -11
  909. package/src/app/core/form/properties/properties.table.d.ts +0 -78
  910. package/src/app/core/form/properties/property.validator.d.ts +0 -13
  911. package/src/app/core/form/properties/testing/properties-form.test.d.ts +0 -19
  912. package/src/app/core/form/properties/testing/properties-form.testing.module.d.ts +0 -12
  913. package/src/app/core/form/text-popover/testing/text-popover.testing.d.ts +0 -14
  914. package/src/app/core/form/text-popover/testing/text-popover.testing.module.d.ts +0 -11
  915. package/src/app/core/form/text-popover/text-form.component.d.ts +0 -32
  916. package/src/app/core/form/text-popover/text-popover.component.d.ts +0 -70
  917. package/src/app/core/form/text-popover/text-popover.module.d.ts +0 -10
  918. package/src/app/core/graphql/graphql.module.d.ts +0 -8
  919. package/src/app/core/graphql/graphql.service.d.ts +0 -148
  920. package/src/app/core/graphql/graphql.utils.d.ts +0 -42
  921. package/src/app/core/home/home.d.ts +0 -74
  922. package/src/app/core/home/home.module.d.ts +0 -12
  923. package/src/app/core/icon/icon.component.d.ts +0 -13
  924. package/src/app/core/icon/icon.module.d.ts +0 -9
  925. package/src/app/core/install/install-upgrade-card.component.d.ts +0 -63
  926. package/src/app/core/install/install-upgrade-card.module.d.ts +0 -9
  927. package/src/app/core/menu/menu.component.d.ts +0 -62
  928. package/src/app/core/menu/menu.model.d.ts +0 -28
  929. package/src/app/core/menu/menu.module.d.ts +0 -10
  930. package/src/app/core/menu/menu.service.d.ts +0 -21
  931. package/src/app/core/offline/update-offline-mode-card.component.d.ts +0 -11
  932. package/src/app/core/offline/update-offline-mode-card.module.d.ts +0 -9
  933. package/src/app/core/peer/select-peer.modal.d.ts +0 -53
  934. package/src/app/core/peer/select-peer.module.d.ts +0 -11
  935. package/src/app/core/register/register-confirm.page.d.ts +0 -24
  936. package/src/app/core/register/register.form.d.ts +0 -48
  937. package/src/app/core/register/register.modal.d.ts +0 -14
  938. package/src/app/core/register/register.module.d.ts +0 -12
  939. package/src/app/core/services/account.service.d.ts +0 -191
  940. package/src/app/core/services/auth-guard.service.d.ts +0 -17
  941. package/src/app/core/services/base-entity-service.class.d.ts +0 -104
  942. package/src/app/core/services/base-graphql-service.class.d.ts +0 -77
  943. package/src/app/core/services/base58.d.ts +0 -7
  944. package/src/app/core/services/config/core.config.d.ts +0 -29
  945. package/src/app/core/services/config.service.d.ts +0 -60
  946. package/src/app/core/services/crypto.service.d.ts +0 -44
  947. package/src/app/core/services/errors.d.ts +0 -51
  948. package/src/app/core/services/local-settings.service.d.ts +0 -90
  949. package/src/app/core/services/model/account.model.d.ts +0 -35
  950. package/src/app/core/services/model/config.model.d.ts +0 -36
  951. package/src/app/core/services/model/department.model.d.ts +0 -11
  952. package/src/app/core/services/model/entity.decorators.d.ts +0 -17
  953. package/src/app/core/services/model/entity.model.d.ts +0 -89
  954. package/src/app/core/services/model/filter.model.d.ts +0 -45
  955. package/src/app/core/services/model/history.model.d.ts +0 -20
  956. package/src/app/core/services/model/model.enum.d.ts +0 -7
  957. package/src/app/core/services/model/peer.model.d.ts +0 -29
  958. package/src/app/core/services/model/person.model.d.ts +0 -31
  959. package/src/app/core/services/model/referential.model.d.ts +0 -77
  960. package/src/app/core/services/model/settings.model.d.ts +0 -26
  961. package/src/app/core/services/model/token.model.d.ts +0 -21
  962. package/src/app/core/services/network.service.d.ts +0 -149
  963. package/src/app/core/services/network.types.d.ts +0 -5
  964. package/src/app/core/services/network.utils.d.ts +0 -31
  965. package/src/app/core/services/pipes/account.pipes.d.ts +0 -15
  966. package/src/app/core/services/pipes/department-to-string.pipe.d.ts +0 -9
  967. package/src/app/core/services/pipes/person-to-string.pipe.d.ts +0 -9
  968. package/src/app/core/services/pipes/usage-mode.pipes.d.ts +0 -15
  969. package/src/app/core/services/platform.service.d.ts +0 -96
  970. package/src/app/core/services/storage/entities-storage.service.d.ts +0 -108
  971. package/src/app/core/services/storage/entity-store.class.d.ts +0 -113
  972. package/src/app/core/services/testing/referential-filter.model.d.ts +0 -9
  973. package/src/app/core/services/testing/referential.validator.d.ts +0 -22
  974. package/src/app/core/services/validator/account.validator.d.ts +0 -17
  975. package/src/app/core/services/validator/base.validator.class.d.ts +0 -21
  976. package/src/app/core/services/validator/local-settings.validator.d.ts +0 -18
  977. package/src/app/core/services/validator/user-settings.validator.d.ts +0 -10
  978. package/src/app/core/services/validator/user-token.validator.d.ts +0 -13
  979. package/src/app/core/settings/settings.module.d.ts +0 -10
  980. package/src/app/core/settings/settings.page.d.ts +0 -68
  981. package/src/app/core/table/actions-column.component.d.ts +0 -48
  982. package/src/app/core/table/async-table.class.d.ts +0 -383
  983. package/src/app/core/table/entities-async-table-datasource.class.d.ts +0 -80
  984. package/src/app/core/table/entities-table-datasource.class.d.ts +0 -94
  985. package/src/app/core/table/memory-table.class.d.ts +0 -25
  986. package/src/app/core/table/table-select-columns.component.d.ts +0 -22
  987. package/src/app/core/table/table.class.d.ts +0 -386
  988. package/src/app/core/table/table.model.d.ts +0 -26
  989. package/src/app/core/table/table.module.d.ts +0 -10
  990. package/src/app/core/table/table.utils.d.ts +0 -11
  991. package/src/app/core/table/testing/table-validator.service.d.ts +0 -17
  992. package/src/app/core/table/testing/table.testing.d.ts +0 -53
  993. package/src/app/core/table/testing/table.testing.module.d.ts +0 -11
  994. package/src/app/shared/alerts.d.ts +0 -53
  995. package/src/app/shared/audio/audio.d.ts +0 -44
  996. package/src/app/shared/audio/audio.testing.d.ts +0 -13
  997. package/src/app/shared/audio/audio.testing.module.d.ts +0 -11
  998. package/src/app/shared/capacitor/keyboard.d.ts +0 -16
  999. package/src/app/shared/capacitor/plugins.d.ts +0 -7
  1000. package/src/app/shared/constants.d.ts +0 -7
  1001. package/src/app/shared/dates.d.ts +0 -39
  1002. package/src/app/shared/debug/debug-service.class.d.ts +0 -5
  1003. package/src/app/shared/debug/debug.component.d.ts +0 -13
  1004. package/src/app/shared/debug/debug.module.d.ts +0 -12
  1005. package/src/app/shared/directives/autofocus.directive.d.ts +0 -19
  1006. package/src/app/shared/directives/autotitle.directive.d.ts +0 -10
  1007. package/src/app/shared/directives/directives.module.d.ts +0 -12
  1008. package/src/app/shared/directives/drag-and-drop.directive.d.ts +0 -17
  1009. package/src/app/shared/directives/ng-var.directive.d.ts +0 -12
  1010. package/src/app/shared/directives/resizable/resizable.component.d.ts +0 -21
  1011. package/src/app/shared/directives/resizable/resizable.directive.d.ts +0 -12
  1012. package/src/app/shared/directives/resizable/resizable.module.d.ts +0 -8
  1013. package/src/app/shared/events.d.ts +0 -27
  1014. package/src/app/shared/file/csv.utils.d.ts +0 -19
  1015. package/src/app/shared/file/file.service.d.ts +0 -23
  1016. package/src/app/shared/file/file.utils.d.ts +0 -20
  1017. package/src/app/shared/file/images.utils.d.ts +0 -19
  1018. package/src/app/shared/file/json.utils.d.ts +0 -16
  1019. package/src/app/shared/file/uri.utils.d.ts +0 -7
  1020. package/src/app/shared/focusable.d.ts +0 -4
  1021. package/src/app/shared/form/field.component.d.ts +0 -71
  1022. package/src/app/shared/form/field.model.d.ts +0 -37
  1023. package/src/app/shared/form/loading-spinner.d.ts +0 -8
  1024. package/src/app/shared/forms.d.ts +0 -89
  1025. package/src/app/shared/functions.d.ts +0 -132
  1026. package/src/app/shared/geolocation/geolocation.utils.d.ts +0 -19
  1027. package/src/app/shared/gesture/gesture-config.d.ts +0 -15
  1028. package/src/app/shared/gesture/hammer.utils.d.ts +0 -16
  1029. package/src/app/shared/graph/colors.utils.d.ts +0 -17
  1030. package/src/app/shared/graph/graph-colors.d.ts +0 -63
  1031. package/src/app/shared/guard/component-dirty.guard.d.ts +0 -19
  1032. package/src/app/shared/help/help.modal.d.ts +0 -33
  1033. package/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.d.ts +0 -10
  1034. package/src/app/shared/hotkeys/hotkeys.service.d.ts +0 -28
  1035. package/src/app/shared/hotkeys/shared-hotkeys.module.d.ts +0 -11
  1036. package/src/app/shared/http/http.utils.d.ts +0 -27
  1037. package/src/app/shared/image/gallery/image-gallery.component.d.ts +0 -98
  1038. package/src/app/shared/image/gallery/image-gallery.module.d.ts +0 -14
  1039. package/src/app/shared/image/gallery/testing/gallegry.model.testing.d.ts +0 -12
  1040. package/src/app/shared/image/gallery/testing/gallery.service.testing.d.ts +0 -33
  1041. package/src/app/shared/image/gallery/testing/gallery.testing.d.ts +0 -16
  1042. package/src/app/shared/image/gallery/testing/gallery.testing.module.d.ts +0 -12
  1043. package/src/app/shared/image/image.model.d.ts +0 -5
  1044. package/src/app/shared/image/image.module.d.ts +0 -8
  1045. package/src/app/shared/image/image.service.d.ts +0 -32
  1046. package/src/app/shared/inputs.d.ts +0 -32
  1047. package/src/app/shared/interceptors/progess.interceptor.d.ts +0 -8
  1048. package/src/app/shared/logging/log-level.model.d.ts +0 -38
  1049. package/src/app/shared/logging/logger.model.d.ts +0 -68
  1050. package/src/app/shared/logging/logging-service.class.d.ts +0 -39
  1051. package/src/app/shared/logging/logging-service.config.d.ts +0 -25
  1052. package/src/app/shared/logging/logging-service.module.d.ts +0 -9
  1053. package/src/app/shared/material/autocomplete/material.autocomplete.config.d.ts +0 -36
  1054. package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +0 -138
  1055. package/src/app/shared/material/autocomplete/material.autocomplete.module.d.ts +0 -21
  1056. package/src/app/shared/material/autocomplete/material.autocomplete.utils.d.ts +0 -4
  1057. package/src/app/shared/material/autocomplete/testing/autocomplete.test.d.ts +0 -45
  1058. package/src/app/shared/material/badge/badge.directive.d.ts +0 -37
  1059. package/src/app/shared/material/badge/badge.module.d.ts +0 -10
  1060. package/src/app/shared/material/badge/badge.test.d.ts +0 -21
  1061. package/src/app/shared/material/boolean/boolean.module.d.ts +0 -19
  1062. package/src/app/shared/material/boolean/material.boolean.d.ts +0 -66
  1063. package/src/app/shared/material/chips/chips.module.d.ts +0 -21
  1064. package/src/app/shared/material/chips/material.chips.d.ts +0 -126
  1065. package/src/app/shared/material/chips/testing/chips.test.d.ts +0 -31
  1066. package/src/app/shared/material/datetime/datetime.module.d.ts +0 -24
  1067. package/src/app/shared/material/datetime/material.date.d.ts +0 -74
  1068. package/src/app/shared/material/datetime/material.dateshort.d.ts +0 -75
  1069. package/src/app/shared/material/datetime/material.datetime.d.ts +0 -100
  1070. package/src/app/shared/material/datetime/testing/mat-date-time.test.d.ts +0 -31
  1071. package/src/app/shared/material/datetime/testing/mat-date.test.d.ts +0 -30
  1072. package/src/app/shared/material/datetime/testing/mat-dateshort.test.d.ts +0 -29
  1073. package/src/app/shared/material/duration/duration.module.d.ts +0 -18
  1074. package/src/app/shared/material/duration/duration.utils.d.ts +0 -3
  1075. package/src/app/shared/material/duration/material.duration.d.ts +0 -57
  1076. package/src/app/shared/material/latlong/latlong.utils.d.ts +0 -13
  1077. package/src/app/shared/material/latlong/material.latlong.d.ts +0 -65
  1078. package/src/app/shared/material/latlong/material.latlong.module.d.ts +0 -19
  1079. package/src/app/shared/material/latlong/testing/latlong.test.d.ts +0 -21
  1080. package/src/app/shared/material/material.animations.d.ts +0 -4
  1081. package/src/app/shared/material/material.module.d.ts +0 -45
  1082. package/src/app/shared/material/material.testing.module.d.ts +0 -25
  1083. package/src/app/shared/material/numpad/numpad.append-to-input.directive.d.ts +0 -22
  1084. package/src/app/shared/material/numpad/numpad.component.d.ts +0 -26
  1085. package/src/app/shared/material/numpad/numpad.container.d.ts +0 -40
  1086. package/src/app/shared/material/numpad/numpad.content.d.ts +0 -7
  1087. package/src/app/shared/material/numpad/numpad.directive.d.ts +0 -35
  1088. package/src/app/shared/material/numpad/numpad.dom-service.d.ts +0 -16
  1089. package/src/app/shared/material/numpad/numpad.model.d.ts +0 -30
  1090. package/src/app/shared/material/numpad/numpad.module.d.ts +0 -16
  1091. package/src/app/shared/material/numpad/testing/numpad.test.d.ts +0 -13
  1092. package/src/app/shared/material/paginator/material.paginator-i18n.d.ts +0 -15
  1093. package/src/app/shared/material/stepper/material.stepper-i18n.d.ts +0 -10
  1094. package/src/app/shared/material/swipe/material.swipe.d.ts +0 -89
  1095. package/src/app/shared/material/swipe/swipe.module.d.ts +0 -15
  1096. package/src/app/shared/material/swipe/testing/swipe.test.d.ts +0 -22
  1097. package/src/app/shared/modules.d.ts +0 -8
  1098. package/src/app/shared/observables.d.ts +0 -29
  1099. package/src/app/shared/pipes/arrays.pipe.d.ts +0 -54
  1100. package/src/app/shared/pipes/colors.pipe.d.ts +0 -9
  1101. package/src/app/shared/pipes/date-diff-duration.pipe.d.ts +0 -23
  1102. package/src/app/shared/pipes/date-format.pipe.d.ts +0 -34
  1103. package/src/app/shared/pipes/date-from-now.pipe.d.ts +0 -12
  1104. package/src/app/shared/pipes/duration.pipe.d.ts +0 -13
  1105. package/src/app/shared/pipes/file-size.pipe.d.ts +0 -30
  1106. package/src/app/shared/pipes/form.pipes.d.ts +0 -59
  1107. package/src/app/shared/pipes/highlight.pipe.d.ts +0 -11
  1108. package/src/app/shared/pipes/latlong-format.pipe.d.ts +0 -20
  1109. package/src/app/shared/pipes/maps.pipe.d.ts +0 -22
  1110. package/src/app/shared/pipes/math.pipes.d.ts +0 -20
  1111. package/src/app/shared/pipes/ng-init.pipe.d.ts +0 -8
  1112. package/src/app/shared/pipes/number-format.pipe.d.ts +0 -10
  1113. package/src/app/shared/pipes/pipes.module.d.ts +0 -27
  1114. package/src/app/shared/pipes/property.pipes.d.ts +0 -26
  1115. package/src/app/shared/pipes/string.pipes.d.ts +0 -47
  1116. package/src/app/shared/pipes/translate-context.pipe.d.ts +0 -17
  1117. package/src/app/shared/pipes/types.pipes.d.ts +0 -18
  1118. package/src/app/shared/platforms.d.ts +0 -8
  1119. package/src/app/shared/services/entity-service.class.d.ts +0 -73
  1120. package/src/app/shared/services/job.utils.d.ts +0 -20
  1121. package/src/app/shared/services/memory-entity-service.class.d.ts +0 -71
  1122. package/src/app/shared/services/progress-bar.service.d.ts +0 -20
  1123. package/src/app/shared/services/startable-observable-service.class.d.ts +0 -33
  1124. package/src/app/shared/services/startable-service.class.d.ts +0 -34
  1125. package/src/app/shared/services/translate-context.service.d.ts +0 -29
  1126. package/src/app/shared/services/validator-service.class.d.ts +0 -10
  1127. package/src/app/shared/services.d.ts +0 -9
  1128. package/src/app/shared/shared-routing.module.d.ts +0 -22
  1129. package/src/app/shared/shared.module.d.ts +0 -31
  1130. package/src/app/shared/shared.testing.module.d.ts +0 -17
  1131. package/src/app/shared/storage/storage-explorer.component.d.ts +0 -58
  1132. package/src/app/shared/storage/storage-explorer.module.d.ts +0 -16
  1133. package/src/app/shared/storage/storage.service.d.ts +0 -23
  1134. package/src/app/shared/storage/storage.utils.d.ts +0 -19
  1135. package/src/app/shared/testing/observable.test.d.ts +0 -25
  1136. package/src/app/shared/testing/tests.page.d.ts +0 -20
  1137. package/src/app/shared/toast/toast.testing.d.ts +0 -15
  1138. package/src/app/shared/toast/toast.testing.module.d.ts +0 -11
  1139. package/src/app/shared/toast/toasts.d.ts +0 -17
  1140. package/src/app/shared/toolbar/modal-toolbar.d.ts +0 -21
  1141. package/src/app/shared/toolbar/toolbar.d.ts +0 -63
  1142. package/src/app/shared/toolbar/toolbar.module.d.ts +0 -15
  1143. package/src/app/shared/types.d.ts +0 -26
  1144. package/src/app/shared/upload-file/testing/upload-file.testing.d.ts +0 -20
  1145. package/src/app/shared/upload-file/testing/upload-file.testing.module.d.ts +0 -11
  1146. package/src/app/shared/upload-file/upload-file-popover.component.d.ts +0 -39
  1147. package/src/app/shared/upload-file/upload-file.component.d.ts +0 -48
  1148. package/src/app/shared/upload-file/upload-file.model.d.ts +0 -30
  1149. package/src/app/shared/validator/form-error-adapter.class.d.ts +0 -27
  1150. package/src/app/shared/validator/validators.d.ts +0 -115
  1151. package/src/app/shared/version/versions.d.ts +0 -26
  1152. package/src/app/social/job/job.module.d.ts +0 -12
  1153. package/src/app/social/job/progression/job-progression.component.d.ts +0 -9
  1154. package/src/app/social/job/progression/job-progression.icon.d.ts +0 -49
  1155. package/src/app/social/job/progression/job-progression.list.d.ts +0 -21
  1156. package/src/app/social/job/progression/job-progression.model.d.ts +0 -11
  1157. package/src/app/social/job/progression/job-progression.service.d.ts +0 -34
  1158. package/src/app/social/job/testing/job-progression.testing.d.ts +0 -17
  1159. package/src/app/social/job/testing/job-progression.testing.service.d.ts +0 -17
  1160. package/src/app/social/job/testing/job.testing.module.d.ts +0 -11
  1161. package/src/app/social/message/message.form.d.ts +0 -30
  1162. package/src/app/social/message/message.modal.d.ts +0 -39
  1163. package/src/app/social/message/message.model.d.ts +0 -31
  1164. package/src/app/social/message/message.module.d.ts +0 -11
  1165. package/src/app/social/message/message.service.d.ts +0 -27
  1166. package/src/app/social/social.errors.d.ts +0 -9
  1167. package/src/app/social/social.module.d.ts +0 -20
  1168. package/src/app/social/social.testing.module.d.ts +0 -13
  1169. package/src/app/social/user-event/notification/user-event-notification.icon.d.ts +0 -31
  1170. package/src/app/social/user-event/notification/user-event-notification.list.d.ts +0 -71
  1171. package/src/app/social/user-event/testing/user-event.testing.d.ts +0 -34
  1172. package/src/app/social/user-event/testing/user-event.testing.model.d.ts +0 -44
  1173. package/src/app/social/user-event/testing/user-event.testing.module.d.ts +0 -11
  1174. package/src/app/social/user-event/testing/user-event.testing.service.d.ts +0 -41
  1175. package/src/app/social/user-event/user-event.model.d.ts +0 -45
  1176. package/src/app/social/user-event/user-event.module.d.ts +0 -12
  1177. package/src/app/social/user-event/user-event.service.d.ts +0 -124
  1178. package/src/environments/environment.class.d.ts +0 -57
  1179. package/src/environments/environment.d.ts +0 -3
@@ -1,239 +0,0 @@
1
- export class Alerts {
2
- /**
3
- * Ask the user to save before leaving. If return undefined: user has cancelled
4
- * <p>
5
- * from a routed page, prefer using ComponentDirtyGuard
6
- *
7
- * @param alertCtrl
8
- * @param translate
9
- * @param event
10
- */
11
- static async askSaveBeforeLeave(alertCtrl, translate, event) {
12
- let confirm = false;
13
- let cancel = false;
14
- const translations = translate.instant(['COMMON.BTN_SAVE', 'COMMON.BTN_CANCEL', 'COMMON.BTN_ABORT_CHANGES', 'CONFIRM.SAVE', 'CONFIRM.ALERT_HEADER']);
15
- const alert = await alertCtrl.create({
16
- header: translations['CONFIRM.ALERT_HEADER'],
17
- message: translations['CONFIRM.SAVE'],
18
- buttons: [
19
- {
20
- text: translations['COMMON.BTN_CANCEL'],
21
- role: 'cancel',
22
- cssClass: 'secondary',
23
- handler: () => {
24
- cancel = true;
25
- }
26
- },
27
- {
28
- text: translations['COMMON.BTN_ABORT_CHANGES'],
29
- cssClass: 'secondary',
30
- handler: () => {
31
- }
32
- },
33
- {
34
- text: translations['COMMON.BTN_SAVE'],
35
- handler: () => {
36
- confirm = true; // update upper value
37
- }
38
- }
39
- ]
40
- });
41
- await alert.present();
42
- await alert.onDidDismiss();
43
- if (confirm)
44
- return true; // = Do save and leave
45
- if (cancel) {
46
- // Stop the event
47
- if (event)
48
- event.preventDefault();
49
- return undefined; // User cancelled
50
- }
51
- return false; // Leave without saving
52
- }
53
- /**
54
- * Ask the user to conform an action. If return undefined: user has cancelled
55
- *
56
- * @param alertCtrl
57
- * @param translate
58
- * @param immediate is action has an immediate effect ?
59
- * @param event
60
- * @param interpolateParams
61
- */
62
- static async askActionConfirmation(alertCtrl, translate, immediate, event, interpolateParams) {
63
- const messageKey = immediate === true ? 'CONFIRM.ACTION_IMMEDIATE' : 'CONFIRM.ACTION';
64
- return Alerts.askConfirmation(messageKey, alertCtrl, translate, event, interpolateParams);
65
- }
66
- /**
67
- * Ask the user to confirm. If return undefined: user has cancelled
68
- *
69
- * @pram messageKey i18n message key
70
- * @param messageKey
71
- * @param alertCtrl
72
- * @param translate
73
- * @param event
74
- * @param interpolateParams
75
- */
76
- static async askConfirmation(messageKey, alertCtrl, translate, event, interpolateParams) {
77
- if (!alertCtrl || !translate)
78
- throw new Error('Missing required argument \'alertCtrl\' or \'translate\'');
79
- let confirm = false;
80
- let cancel = false;
81
- const translations = translate.instant(['COMMON.BTN_YES_CONTINUE', 'COMMON.BTN_CANCEL', messageKey, 'CONFIRM.ALERT_HEADER'], interpolateParams);
82
- const alert = await alertCtrl.create({
83
- header: translations['CONFIRM.ALERT_HEADER'],
84
- message: translations[messageKey],
85
- buttons: [
86
- {
87
- text: translations['COMMON.BTN_CANCEL'],
88
- role: 'cancel',
89
- cssClass: 'secondary',
90
- handler: () => {
91
- cancel = true;
92
- }
93
- },
94
- {
95
- text: translations['COMMON.BTN_YES_CONTINUE'],
96
- handler: () => {
97
- confirm = true; // update upper value
98
- }
99
- }
100
- ]
101
- });
102
- await alert.present();
103
- await alert.onDidDismiss();
104
- if (confirm)
105
- return true; // = Do save and leave
106
- if (cancel) {
107
- // Stop the event
108
- if (event)
109
- event.preventDefault();
110
- return undefined; // User cancelled
111
- }
112
- return false; // Leave without saving
113
- }
114
- /**
115
- * Ask the user to save before leaving. If return undefined: user has cancelled
116
- *
117
- * @param alertCtrl
118
- * @param translate
119
- * @param event
120
- * @param interpolateParams
121
- */
122
- static async askDeleteConfirmation(alertCtrl, translate, event, interpolateParams) {
123
- let confirm = false;
124
- let cancel = false;
125
- const translations = translate.instant(['COMMON.BTN_YES_DELETE', 'COMMON.BTN_CANCEL', 'CONFIRM.DELETE', 'CONFIRM.ALERT_HEADER'], interpolateParams);
126
- const alert = await alertCtrl.create({
127
- header: translations['CONFIRM.ALERT_HEADER'],
128
- message: translations['CONFIRM.DELETE'],
129
- buttons: [
130
- {
131
- text: translations['COMMON.BTN_CANCEL'],
132
- role: 'cancel',
133
- cssClass: 'secondary',
134
- handler: () => {
135
- cancel = true;
136
- }
137
- },
138
- {
139
- text: translations['COMMON.BTN_YES_DELETE'],
140
- handler: () => {
141
- confirm = true; // update upper value
142
- }
143
- }
144
- ]
145
- });
146
- await alert.present();
147
- await alert.onDidDismiss();
148
- if (confirm)
149
- return true; // = Do save and leave
150
- if (cancel) {
151
- // Stop the event
152
- if (event)
153
- event.preventDefault();
154
- return undefined; // User cancelled
155
- }
156
- return false; // Leave without saving
157
- }
158
- static async askSaveBeforeAction(alertCtrl, translate, event, interpolateParams) {
159
- let save = false;
160
- let confirm = false;
161
- let alert;
162
- // Ask user before save
163
- if (event && event.valid) {
164
- const translations = translate.instant(['COMMON.BTN_CANCEL', 'COMMON.BTN_SAVE', 'COMMON.BTN_ABORT_CHANGES',
165
- 'CONFIRM.SAVE_BEFORE_CONTINUE', 'CONFIRM.ALERT_HEADER'], interpolateParams);
166
- alert = await alertCtrl.create({
167
- header: translations['CONFIRM.ALERT_HEADER'],
168
- message: translations['CONFIRM.SAVE_BEFORE_CONTINUE'],
169
- buttons: [
170
- {
171
- text: translations['COMMON.BTN_CANCEL'],
172
- role: 'cancel',
173
- cssClass: 'secondary',
174
- handler: () => {
175
- }
176
- },
177
- {
178
- text: translations['COMMON.BTN_ABORT_CHANGES'],
179
- cssClass: 'secondary',
180
- handler: () => {
181
- confirm = true;
182
- }
183
- },
184
- {
185
- text: translations['COMMON.BTN_SAVE'],
186
- handler: () => {
187
- save = true;
188
- confirm = true;
189
- }
190
- }
191
- ]
192
- });
193
- }
194
- else {
195
- const translations = translate.instant(['COMMON.BTN_ABORT_CHANGES', 'COMMON.BTN_CANCEL', 'CONFIRM.CANCEL_CHANGES', 'CONFIRM.ALERT_HEADER'], interpolateParams);
196
- alert = await alertCtrl.create({
197
- header: translations['CONFIRM.ALERT_HEADER'],
198
- message: translations['CONFIRM.CANCEL_CHANGES'],
199
- buttons: [
200
- {
201
- text: translations['COMMON.BTN_ABORT_CHANGES'],
202
- cssClass: 'secondary',
203
- handler: () => {
204
- confirm = true;
205
- }
206
- },
207
- {
208
- text: translations['COMMON.BTN_CANCEL'],
209
- role: 'cancel',
210
- handler: () => {
211
- }
212
- }
213
- ]
214
- });
215
- }
216
- await alert.present();
217
- await alert.onDidDismiss();
218
- return { confirmed: confirm, save };
219
- }
220
- static async showError(messageKey, alertCtrl, translate, opts, interpolateParams) {
221
- if (!messageKey || !alertCtrl || !translate)
222
- throw new Error('Missing a required argument (\'messageKey\', \'alertCtrl\' or \'translate\')');
223
- const titleKey = opts && opts.titleKey || 'ERROR.ALERT_HEADER';
224
- const translations = translate.instant(['COMMON.BTN_OK', messageKey, titleKey], interpolateParams);
225
- const alert = await alertCtrl.create({
226
- header: translations[titleKey],
227
- message: translations[messageKey],
228
- buttons: [
229
- {
230
- text: translations['COMMON.BTN_OK'],
231
- role: 'cancel'
232
- }
233
- ]
234
- });
235
- await alert.present();
236
- await alert.onDidDismiss();
237
- }
238
- }
239
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvYWxlcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyxNQUFNO0lBRWpCOzs7Ozs7OztPQVFHO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FDN0IsU0FBMEIsRUFDMUIsU0FBMkIsRUFDM0IsS0FBYTtRQUNiLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDbkIsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLDBCQUEwQixFQUFFLGNBQWMsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDLENBQUM7UUFDckosTUFBTSxLQUFLLEdBQUcsTUFBTSxTQUFTLENBQUMsTUFBTSxDQUFDO1lBQ25DLE1BQU0sRUFBRSxZQUFZLENBQUMsc0JBQXNCLENBQUM7WUFDNUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxjQUFjLENBQUM7WUFDckMsT0FBTyxFQUFFO2dCQUNQO29CQUNFLElBQUksRUFBRSxZQUFZLENBQUMsbUJBQW1CLENBQUM7b0JBQ3ZDLElBQUksRUFBRSxRQUFRO29CQUNkLFFBQVEsRUFBRSxXQUFXO29CQUNyQixPQUFPLEVBQUUsR0FBRyxFQUFFO3dCQUNaLE1BQU0sR0FBRyxJQUFJLENBQUM7b0JBQ2hCLENBQUM7aUJBQ0Y7Z0JBQ0Q7b0JBQ0UsSUFBSSxFQUFFLFlBQVksQ0FBQywwQkFBMEIsQ0FBQztvQkFDOUMsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLE9BQU8sRUFBRSxHQUFHLEVBQUU7b0JBQ2QsQ0FBQztpQkFDRjtnQkFDRDtvQkFDRSxJQUFJLEVBQUUsWUFBWSxDQUFDLGlCQUFpQixDQUFDO29CQUNyQyxPQUFPLEVBQUUsR0FBRyxFQUFFO3dCQUNaLE9BQU8sR0FBRyxJQUFJ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SSxJQUFJLENBQUMsUUFBUSxJQUFJLG9CQUFvQixDQUFDO1FBQy9ELE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxlQUFlLEVBQUUsVUFBVSxFQUFFLFFBQVEsQ0FBQyxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFDbkcsTUFBTSxLQUFLLEdBQUcsTUFBTSxTQUFTLENBQUMsTUFBTSxDQUFDO1lBQ25DLE1BQU0sRUFBRSxZQUFZLENBQUMsUUFBUSxDQUFDO1lBQzlCLE9BQU8sRUFBRSxZQUFZLENBQUMsVUFBVSxDQUFDO1lBQ2pDLE9BQU8sRUFBRTtnQkFDUDtvQkFDRSxJQUFJLEVBQUUsWUFBWSxDQUFDLGVBQWUsQ0FBQztvQkFDbkMsSUFBSSxFQUFFLFFBQVE7aUJBQ2Y7YUFDRjtTQUNGLENBQUMsQ0FBQztRQUNILE1BQU0sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3RCLE1BQU0sS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBRTdCLENBQUM7Q0FHRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFsZXJ0Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuZXhwb3J0IGNsYXNzIEFsZXJ0cyB7XG5cbiAgLyoqXG4gICAqIEFzayB0aGUgdXNlciB0byBzYXZlIGJlZm9yZSBsZWF2aW5nLiBJZiByZXR1cm4gdW5kZWZpbmVkOiB1c2VyIGhhcyBjYW5jZWxsZWRcbiAgICogPHA+XG4gICAqICAgZnJvbSBhIHJvdXRlZCBwYWdlLCBwcmVmZXIgdXNpbmcgQ29tcG9uZW50RGlydHlHdWFyZFxuICAgKlxuICAgKiBAcGFyYW0gYWxlcnRDdHJsXG4gICAqIEBwYXJhbSB0cmFuc2xhdGVcbiAgICogQHBhcmFtIGV2ZW50XG4gICAqL1xuICBzdGF0aWMgYXN5bmMgYXNrU2F2ZUJlZm9yZUxlYXZlKFxuICAgIGFsZXJ0Q3RybDogQWxlcnRDb250cm9sbGVyLFxuICAgIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBldmVudD86IEV2ZW50KTogUHJvbWlzZTxib29sZWFufHVuZGVmaW5lZD4ge1xuICAgIGxldCBjb25maXJtID0gZmFsc2U7XG4gICAgbGV0IGNhbmNlbCA9IGZhbHNlO1xuICAgIGNvbnN0IHRyYW5zbGF0aW9ucyA9IHRyYW5zbGF0ZS5pbnN0YW50KFsnQ09NTU9OLkJUTl9TQVZFJywgJ0NPTU1PTi5CVE5fQ0FOQ0VMJywgJ0NPTU1PTi5CVE5fQUJPUlRfQ0hBTkdFUycsICdDT05GSVJNLlNBVkUnLCAnQ09ORklSTS5BTEVSVF9IRUFERVInXSk7XG4gICAgY29uc3QgYWxlcnQgPSBhd2FpdCBhbGVydEN0cmwuY3JlYXRlKHtcbiAgICAgIGhlYWRlcjogdHJhbnNsYXRpb25zWydDT05GSVJNLkFMRVJUX0hFQURFUiddLFxuICAgICAgbWVzc2FnZTogdHJhbnNsYXRpb25zWydDT05GSVJNLlNBVkUnXSxcbiAgICAgIGJ1dHRvbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRleHQ6IHRyYW5zbGF0aW9uc1snQ09NTU9OLkJUTl9DQU5DRUwnXSxcbiAgICAgICAgICByb2xlOiAnY2FuY2VsJyxcbiAgICAgICAgICBjc3NDbGFzczogJ3NlY29uZGFyeScsXG4gICAgICAgICAgaGFuZGxlcjogKCkgPT4ge1xuICAgICAgICAgICAgY2FuY2VsID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXh0OiB0cmFuc2xhdGlvbnNbJ0NPTU1PTi5CVE5fQUJPUlRfQ0hBTkdFUyddLFxuICAgICAgICAgIGNzc0NsYXNzOiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGV4dDogdHJhbnNsYXRpb25zWydDT01NT04uQlROX1NBVkUnXSxcbiAgICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XG4gICAgICAgICAgICBjb25maXJtID0gdHJ1ZTsgLy8gdXBkYXRlIHVwcGVyIHZhbHVlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSk7XG4gICAgYXdhaXQgYWxlcnQucHJlc2VudCgpO1xuICAgIGF3YWl0IGFsZXJ0Lm9uRGlkRGlzbWlzcygpO1xuXG4gICAgaWYgKGNvbmZpcm0pIHJldHVybiB0cnVlOyAvLyA9IERvIHNhdmUgYW5kIGxlYXZlXG5cbiAgICBpZiAoY2FuY2VsKSB7XG4gICAgICAvLyBTdG9wIHRoZSBldmVudFxuICAgICAgaWYgKGV2ZW50KSBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICByZXR1cm4gdW5kZWZpbmVkOyAvLyBVc2VyIGNhbmNlbGxlZFxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTsgLy8gTGVhdmUgd2l0aG91dCBzYXZpbmdcbiAgfVxuXG4gIC8qKlxuICAgKiBBc2sgdGhlIHVzZXIgdG8gY29uZm9ybSBhbiBhY3Rpb24uIElmIHJldHVybiB1bmRlZmluZWQ6IHVzZXIgaGFzIGNhbmNlbGxlZFxuICAgKlxuICAgKiBAcGFyYW0gYWxlcnRDdHJsXG4gICAqIEBwYXJhbSB0cmFuc2xhdGVcbiAgICogQHBhcmFtIGltbWVkaWF0ZSBpcyBhY3Rpb24gaGFzIGFuIGltbWVkaWF0ZSBlZmZlY3QgP1xuICAgKiBAcGFyYW0gZXZlbnRcbiAgICogQHBhcmFtIGludGVycG9sYXRlUGFyYW1zXG4gICAqL1xuICBzdGF0aWMgYXN5bmMgYXNrQWN0aW9uQ29uZmlybWF0aW9uKFxuICAgIGFsZXJ0Q3RybDogQWxlcnRDb250cm9sbGVyLFxuICAgIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBpbW1lZGlhdGU/OiBib29sZWFuLFxuICAgIGV2ZW50PzogRXZlbnQsXG4gICAgaW50ZXJwb2xhdGVQYXJhbXM/OiBhbnkpOiBQcm9taXNlPGJvb2xlYW58dW5kZWZpbmVkPiB7XG4gICAgY29uc3QgbWVzc2FnZUtleSA9IGltbWVkaWF0ZSA9PT0gdHJ1ZSA/ICdDT05GSVJNLkFDVElPTl9JTU1FRElBVEUnIDogJ0NPTkZJUk0uQUNUSU9OJztcbiAgICByZXR1cm4gQWxlcnRzLmFza0NvbmZpcm1hdGlvbihtZXNzYWdlS2V5LCBhbGVydEN0cmwsIHRyYW5zbGF0ZSwgZXZlbnQsIGludGVycG9sYXRlUGFyYW1zKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogQXNrIHRoZSB1c2VyIHRvIGNvbmZpcm0uIElmIHJldHVybiB1bmRlZmluZWQ6IHVzZXIgaGFzIGNhbmNlbGxlZFxuICAgKlxuICAgKiBAcHJhbSBtZXNzYWdlS2V5IGkxOG4gbWVzc2FnZSBrZXlcbiAgICogQHBhcmFtIG1lc3NhZ2VLZXlcbiAgICogQHBhcmFtIGFsZXJ0Q3RybFxuICAgKiBAcGFyYW0gdHJhbnNsYXRlXG4gICAqIEBwYXJhbSBldmVudFxuICAgKiBAcGFyYW0gaW50ZXJwb2xhdGVQYXJhbXNcbiAgICovXG4gIHN0YXRpYyBhc3luYyBhc2tDb25maXJtYXRpb24oXG4gICAgbWVzc2FnZUtleTogc3RyaW5nLFxuICAgIGFsZXJ0Q3RybDogQWxlcnRDb250cm9sbGVyLFxuICAgIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBldmVudD86IEV2ZW50LFxuICAgIGludGVycG9sYXRlUGFyYW1zPzogYW55KTogUHJvbWlzZTxib29sZWFufHVuZGVmaW5lZD4ge1xuICAgIGlmICghYWxlcnRDdHJsIHx8ICF0cmFuc2xhdGUpIHRocm93IG5ldyBFcnJvcignTWlzc2luZyByZXF1aXJlZCBhcmd1bWVudCBcXCdhbGVydEN0cmxcXCcgb3IgXFwndHJhbnNsYXRlXFwnJyk7XG4gICAgbGV0IGNvbmZpcm0gPSBmYWxzZTtcbiAgICBsZXQgY2FuY2VsID0gZmFsc2U7XG4gICAgY29uc3QgdHJhbnNsYXRpb25zID0gdHJhbnNsYXRlLmluc3RhbnQoWydDT01NT04uQlROX1lFU19DT05USU5VRScsICdDT01NT04uQlROX0NBTkNFTCcsIG1lc3NhZ2VLZXksICdDT05GSVJNLkFMRVJUX0hFQURFUiddLCBpbnRlcnBvbGF0ZVBhcmFtcyk7XG4gICAgY29uc3QgYWxlcnQgPSBhd2FpdCBhbGVydEN0cmwuY3JlYXRlKHtcbiAgICAgIGhlYWRlcjogdHJhbnNsYXRpb25zWydDT05GSVJNLkFMRVJUX0hFQURFUiddLFxuICAgICAgbWVzc2FnZTogdHJhbnNsYXRpb25zW21lc3NhZ2VLZXldLFxuICAgICAgYnV0dG9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgdGV4dDogdHJhbnNsYXRpb25zWydDT01NT04uQlROX0NBTkNFTCddLFxuICAgICAgICAgIHJvbGU6ICdjYW5jZWwnLFxuICAgICAgICAgIGNzc0NsYXNzOiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XG4gICAgICAgICAgICBjYW5jZWwgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRleHQ6IHRyYW5zbGF0aW9uc1snQ09NTU9OLkJUTl9ZRVNfQ09OVElOVUUnXSxcbiAgICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XG4gICAgICAgICAgICBjb25maXJtID0gdHJ1ZTsgLy8gdXBkYXRlIHVwcGVyIHZhbHVlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSk7XG4gICAgYXdhaXQgYWxlcnQucHJlc2VudCgpO1xuICAgIGF3YWl0IGFsZXJ0Lm9uRGlkRGlzbWlzcygpO1xuXG4gICAgaWYgKGNvbmZpcm0pIHJldHVybiB0cnVlOyAvLyA9IERvIHNhdmUgYW5kIGxlYXZlXG5cbiAgICBpZiAoY2FuY2VsKSB7XG4gICAgICAvLyBTdG9wIHRoZSBldmVudFxuICAgICAgaWYgKGV2ZW50KSBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICByZXR1cm4gdW5kZWZpbmVkOyAvLyBVc2VyIGNhbmNlbGxlZFxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTsgLy8gTGVhdmUgd2l0aG91dCBzYXZpbmdcbiAgfVxuXG5cbiAgLyoqXG4gICAqIEFzayB0aGUgdXNlciB0byBzYXZlIGJlZm9yZSBsZWF2aW5nLiBJZiByZXR1cm4gdW5kZWZpbmVkOiB1c2VyIGhhcyBjYW5jZWxsZWRcbiAgICpcbiAgICogQHBhcmFtIGFsZXJ0Q3RybFxuICAgKiBAcGFyYW0gdHJhbnNsYXRlXG4gICAqIEBwYXJhbSBldmVudFxuICAgKiBAcGFyYW0gaW50ZXJwb2xhdGVQYXJhbXNcbiAgICovXG4gIHN0YXRpYyBhc3luYyBhc2tEZWxldGVDb25maXJtYXRpb24oXG4gICAgYWxlcnRDdHJsOiBBbGVydENvbnRyb2xsZXIsXG4gICAgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIGV2ZW50PzogRXZlbnQsXG4gICAgaW50ZXJwb2xhdGVQYXJhbXM/OiBhbnkpOiBQcm9taXNlPGJvb2xlYW58dW5kZWZpbmVkPiB7XG4gICAgbGV0IGNvbmZpcm0gPSBmYWxzZTtcbiAgICBsZXQgY2FuY2VsID0gZmFsc2U7XG4gICAgY29uc3QgdHJhbnNsYXRpb25zID0gdHJhbnNsYXRlLmluc3RhbnQoWydDT01NT04uQlROX1lFU19ERUxFVEUnLCAnQ09NTU9OLkJUTl9DQU5DRUwnLCAnQ09ORklSTS5ERUxFVEUnLCAnQ09ORklSTS5BTEVSVF9IRUFERVInXSwgaW50ZXJwb2xhdGVQYXJhbXMpO1xuICAgIGNvbnN0IGFsZXJ0ID0gYXdhaXQgYWxlcnRDdHJsLmNyZWF0ZSh7XG4gICAgICBoZWFkZXI6IHRyYW5zbGF0aW9uc1snQ09ORklSTS5BTEVSVF9IRUFERVInXSxcbiAgICAgIG1lc3NhZ2U6IHRyYW5zbGF0aW9uc1snQ09ORklSTS5ERUxFVEUnXSxcbiAgICAgIGJ1dHRvbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRleHQ6IHRyYW5zbGF0aW9uc1snQ09NTU9OLkJUTl9DQU5DRUwnXSxcbiAgICAgICAgICByb2xlOiAnY2FuY2VsJyxcbiAgICAgICAgICBjc3NDbGFzczogJ3NlY29uZGFyeScsXG4gICAgICAgICAgaGFuZGxlcjogKCkgPT4ge1xuICAgICAgICAgICAgY2FuY2VsID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXh0OiB0cmFuc2xhdGlvbnNbJ0NPTU1PTi5CVE5fWUVTX0RFTEVURSddLFxuICAgICAgICAgIGhhbmRsZXI6ICgpID0+IHtcbiAgICAgICAgICAgIGNvbmZpcm0gPSB0cnVlOyAvLyB1cGRhdGUgdXBwZXIgdmFsdWVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9KTtcbiAgICBhd2FpdCBhbGVydC5wcmVzZW50KCk7XG4gICAgYXdhaXQgYWxlcnQub25EaWREaXNtaXNzKCk7XG5cbiAgICBpZiAoY29uZmlybSkgcmV0dXJuIHRydWU7IC8vID0gRG8gc2F2ZSBhbmQgbGVhdmVcblxuICAgIGlmIChjYW5jZWwpIHtcbiAgICAgIC8vIFN0b3AgdGhlIGV2ZW50XG4gICAgICBpZiAoZXZlbnQpIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgIHJldHVybiB1bmRlZmluZWQ7IC8vIFVzZXIgY2FuY2VsbGVkXG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlOyAvLyBMZWF2ZSB3aXRob3V0IHNhdmluZ1xuICB9XG5cblxuICBzdGF0aWMgYXN5bmMgYXNrU2F2ZUJlZm9yZUFjdGlvbihhbGVydEN0cmw6IEFsZXJ0Q29udHJvbGxlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudD86IHsgdmFsaWQ6IGJvb2xlYW4gfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJwb2xhdGVQYXJhbXM/OiBhbnkpOiBQcm9taXNlPHsgY29uZmlybWVkOiBib29sZWFuOyBzYXZlOiBib29sZWFuIH0gfCB1bmRlZmluZWQ+IHtcblxuICAgIGxldCBzYXZlID0gZmFsc2U7XG4gICAgbGV0IGNvbmZpcm0gPSBmYWxzZTtcbiAgICBsZXQgYWxlcnQ6IEhUTUxJb25BbGVydEVsZW1lbnQ7XG5cbiAgICAvLyBBc2sgdXNlciBiZWZvcmUgc2F2ZVxuICAgIGlmIChldmVudCAmJiBldmVudC52YWxpZCkge1xuICAgICAgY29uc3QgdHJhbnNsYXRpb25zID0gdHJhbnNsYXRlLmluc3RhbnQoWydDT01NT04uQlROX0NBTkNFTCcsICdDT01NT04uQlROX1NBVkUnLCAnQ09NTU9OLkJUTl9BQk9SVF9DSEFOR0VTJyxcbiAgICAgICAgJ0NPTkZJUk0uU0FWRV9CRUZPUkVfQ09OVElOVUUnLCAnQ09ORklSTS5BTEVSVF9IRUFERVInXSwgaW50ZXJwb2xhdGVQYXJhbXMpO1xuICAgICAgYWxlcnQgPSBhd2FpdCBhbGVydEN0cmwuY3JlYXRlKHtcbiAgICAgICAgaGVhZGVyOiB0cmFuc2xhdGlvbnNbJ0NPTkZJUk0uQUxFUlRfSEVBREVSJ10sXG4gICAgICAgIG1lc3NhZ2U6IHRyYW5zbGF0aW9uc1snQ09ORklSTS5TQVZFX0JFRk9SRV9DT05USU5VRSddLFxuICAgICAgICBidXR0b25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgdGV4dDogdHJhbnNsYXRpb25zWydDT01NT04uQlROX0NBTkNFTCddLFxuICAgICAgICAgICAgcm9sZTogJ2NhbmNlbCcsXG4gICAgICAgICAgICBjc3NDbGFzczogJ3NlY29uZGFyeScsXG4gICAgICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0ZXh0OiB0cmFuc2xhdGlvbnNbJ0NPTU1PTi5CVE5fQUJPUlRfQ0hBTkdFUyddLFxuICAgICAgICAgICAgY3NzQ2xhc3M6ICdzZWNvbmRhcnknLFxuICAgICAgICAgICAgaGFuZGxlcjogKCkgPT4ge1xuICAgICAgICAgICAgICBjb25maXJtID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHRleHQ6IHRyYW5zbGF0aW9uc1snQ09NTU9OLkJUTl9TQVZFJ10sXG4gICAgICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XG4gICAgICAgICAgICAgIHNhdmUgPSB0cnVlO1xuICAgICAgICAgICAgICBjb25maXJtID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB0cmFuc2xhdGlvbnMgPSB0cmFuc2xhdGUuaW5zdGFudChbJ0NPTU1PTi5CVE5fQUJPUlRfQ0hBTkdFUycsICdDT01NT04uQlROX0NBTkNFTCcsICdDT05GSVJNLkNBTkNFTF9DSEFOR0VTJywgJ0NPTkZJUk0uQUxFUlRfSEVBREVSJ10sIGludGVycG9sYXRlUGFyYW1zKTtcblxuICAgICAgYWxlcnQgPSBhd2FpdCBhbGVydEN0cmwuY3JlYXRlKHtcbiAgICAgICAgaGVhZGVyOiB0cmFuc2xhdGlvbnNbJ0NPTkZJUk0uQUxFUlRfSEVBREVSJ10sXG4gICAgICAgIG1lc3NhZ2U6IHRyYW5zbGF0aW9uc1snQ09ORklSTS5DQU5DRUxfQ0hBTkdFUyddLFxuICAgICAgICBidXR0b25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgdGV4dDogdHJhbnNsYXRpb25zWydDT01NT04uQlROX0FCT1JUX0NIQU5HRVMnXSxcbiAgICAgICAgICAgIGNzc0NsYXNzOiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgIGhhbmRsZXI6ICgpID0+IHtcbiAgICAgICAgICAgICAgY29uZmlybSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0ZXh0OiB0cmFuc2xhdGlvbnNbJ0NPTU1PTi5CVE5fQ0FOQ0VMJ10sXG4gICAgICAgICAgICByb2xlOiAnY2FuY2VsJyxcbiAgICAgICAgICAgIGhhbmRsZXI6ICgpID0+IHtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGF3YWl0IGFsZXJ0LnByZXNlbnQoKTtcbiAgICBhd2FpdCBhbGVydC5vbkRpZERpc21pc3MoKTtcblxuICAgIHJldHVybiB7Y29uZmlybWVkOiBjb25maXJtLCBzYXZlfTtcbiAgfVxuXG4gIHN0YXRpYyBhc3luYyBzaG93RXJyb3IoXG4gICAgbWVzc2FnZUtleTogc3RyaW5nLFxuICAgIGFsZXJ0Q3RybDogQWxlcnRDb250cm9sbGVyLFxuICAgIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgb3B0cz86IHtcbiAgICAgIHRpdGxlS2V5Pzogc3RyaW5nO1xuICAgIH0sXG4gICAgaW50ZXJwb2xhdGVQYXJhbXM/OiBhbnkpIHtcbiAgICBpZiAoIW1lc3NhZ2VLZXkgfHwgIWFsZXJ0Q3RybCB8fCAhdHJhbnNsYXRlKSB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgYSByZXF1aXJlZCBhcmd1bWVudCAoXFwnbWVzc2FnZUtleVxcJywgXFwnYWxlcnRDdHJsXFwnIG9yIFxcJ3RyYW5zbGF0ZVxcJyknKTtcbiAgICBjb25zdCB0aXRsZUtleSA9IG9wdHMgJiYgb3B0cy50aXRsZUtleSB8fCAnRVJST1IuQUxFUlRfSEVBREVSJztcbiAgICBjb25zdCB0cmFuc2xhdGlvbnMgPSB0cmFuc2xhdGUuaW5zdGFudChbJ0NPTU1PTi5CVE5fT0snLCBtZXNzYWdlS2V5LCB0aXRsZUtleV0sIGludGVycG9sYXRlUGFyYW1zKTtcbiAgICBjb25zdCBhbGVydCA9IGF3YWl0IGFsZXJ0Q3RybC5jcmVhdGUoe1xuICAgICAgaGVhZGVyOiB0cmFuc2xhdGlvbnNbdGl0bGVLZXldLFxuICAgICAgbWVzc2FnZTogdHJhbnNsYXRpb25zW21lc3NhZ2VLZXldLFxuICAgICAgYnV0dG9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgdGV4dDogdHJhbnNsYXRpb25zWydDT01NT04uQlROX09LJ10sXG4gICAgICAgICAgcm9sZTogJ2NhbmNlbCdcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0pO1xuICAgIGF3YWl0IGFsZXJ0LnByZXNlbnQoKTtcbiAgICBhd2FpdCBhbGVydC5vbkRpZERpc21pc3MoKTtcblxuICB9XG5cblxufVxuXG5cblxuXG4iXX0=
@@ -1,248 +0,0 @@
1
- import { Injectable, Optional } from '@angular/core';
2
- import { AudioManagement } from '@ionic-native/audio-management/ngx';
3
- import { isNil, sleep, toBoolean } from '../functions';
4
- import { StartableService } from '../services/startable-service.class';
5
- import { Haptics } from '@capacitor/haptics';
6
- import { NativeAudio } from '@capacitor-community/native-audio';
7
- import { Capacitor } from '@capacitor/core';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@ionic/angular";
10
- import * as i2 from "@ionic-native/audio-management/ngx";
11
- const SYSTEM_SOUNDS = [
12
- { assetId: 'startup', assetPath: 'assets/audio/unfa-ping.mp3', vibration: [300, 250, 750] },
13
- { assetId: 'beep-confirm', assetPath: 'assets/audio/beep-confirm.mp3', vibration: 250 },
14
- { assetId: 'beep-error', assetPath: 'assets/audio/beep-error.mp3', vibration: 1000 },
15
- { assetId: 'beep-notification', assetPath: 'assets/audio/beep-notification.mp3', vibration: [450, 150, 450] }
16
- ];
17
- const DEFAULT_AUDIO_MODE_RETURN = {
18
- audioMode: AudioManagement.AudioMode.NORMAL,
19
- label: 'Normal'
20
- };
21
- function audioModeToString(mode) {
22
- switch (mode) {
23
- case AudioManagement.AudioMode.SILENT: return 'Silent';
24
- case AudioManagement.AudioMode.NORMAL: return 'Normal';
25
- case AudioManagement.AudioMode.VIBRATE: return 'Vibrate';
26
- }
27
- }
28
- export class AudioProvider extends StartableService {
29
- constructor(platform, audioManagement) {
30
- super(platform);
31
- this.platform = platform;
32
- this.audioManagement = audioManagement;
33
- this._audioMode = AudioManagement.AudioMode.NORMAL;
34
- this._assetPathPrefix = '';
35
- this._preloadedSounds = {};
36
- this._htmlAudioCache = {};
37
- console.info(`[audio] Create audio provider`);
38
- }
39
- async ngOnStart() {
40
- const cordova = this.platform.is('cordova');
41
- this._assetPathPrefix = cordova ? 'public/' : '';
42
- this._audioType = cordova && Capacitor.isPluginAvailable('NativeAudio') ? 'native' : 'html5';
43
- console.info(`[audio] Starting audio provider {${this._audioType}}...`);
44
- // Listen audio mode changed
45
- if (cordova && this.audioManagement) {
46
- await this.readAudioMode();
47
- }
48
- // Pre-loading system sounds
49
- console.debug('[audio] Preloading audio sounds...');
50
- let errorCount = 0;
51
- await Promise.all(SYSTEM_SOUNDS.map(s => {
52
- // Disable vibration in HTML 5 mode
53
- if (this._audioType === 'html5')
54
- s.vibration = undefined;
55
- return this.preload(s)
56
- .catch(_ => errorCount++);
57
- }));
58
- if (errorCount > 0) {
59
- console.warn('[audio] Preloading audio sounds [OK] with ${errorCount} errors during preload.');
60
- }
61
- else {
62
- console.debug('[audio] Preloading audio sounds [OK]');
63
- }
64
- }
65
- playBeepConfirm() {
66
- return this.play('beep-confirm', {
67
- // Vibrate only if in vibration mode
68
- vibrate: this._audioMode === AudioManagement.AudioMode.VIBRATE
69
- });
70
- }
71
- playBeepError() {
72
- return this.play('beep-error', {
73
- // Always vibrate (will skip vibration if silent mode)
74
- vibrate: true
75
- });
76
- }
77
- async playBeepNotification() {
78
- await this.play('beep-notification', {
79
- vibrate: this._audioMode === AudioManagement.AudioMode.VIBRATE
80
- });
81
- }
82
- async playStartupSound() {
83
- return this.play('startup');
84
- }
85
- async preload(sound) {
86
- if (!sound?.assetId)
87
- return; // Skip
88
- if (!!this._preloadedSounds[sound.assetId])
89
- return; // Already preloaded
90
- if (isNil(this._audioType))
91
- await this.ready();
92
- const assetPath = (this._assetPathPrefix || '') + sound.assetPath;
93
- console.info(`[audio] Preloading sound '${sound.assetId}', from file '${assetPath}'...`);
94
- try {
95
- if (this._audioType === 'native') {
96
- this._preloadedSounds[sound.assetId] = sound;
97
- await NativeAudio.preload({
98
- audioChannelNum: 1,
99
- isUrl: false,
100
- ...sound,
101
- assetPath
102
- });
103
- }
104
- else {
105
- this._htmlAudioCache[sound.assetId] = new Audio(assetPath);
106
- this._preloadedSounds[sound.assetId] = sound;
107
- }
108
- // Add to map
109
- console.info(`[audio] Preloading sound '${sound.assetId}' [OK]`);
110
- }
111
- catch (err) {
112
- const errorMsg = err?.message || err;
113
- if (errorMsg === 'Audio Asset already exists') {
114
- console.info(`[audio] Preloading sound '${sound.assetId}': Skipped (${errorMsg})`);
115
- }
116
- else {
117
- this._preloadedSounds[sound.assetId] = null;
118
- console.error(`[audio] Unable to preload sound '${sound.assetId}', from file '${assetPath}': ${errorMsg}\n${err?.originalStack || ''}`);
119
- throw err;
120
- }
121
- }
122
- }
123
- async play(assetId, opts) {
124
- // Make sure provider is ready
125
- if (!this.started)
126
- await this.ready();
127
- const sound = this._preloadedSounds[assetId];
128
- if (!sound) {
129
- throw Error(`Unable to find sound '${assetId}'. Please call preload() before playing a sound.`);
130
- }
131
- // If silent: skip
132
- if (this._audioMode === AudioManagement.AudioMode.SILENT)
133
- return;
134
- const promises = [];
135
- // Normal mode = can play the sound
136
- if (this._audioMode === AudioManagement.AudioMode.NORMAL) {
137
- // Use native audio
138
- if (this._audioType === 'native') {
139
- promises.push(NativeAudio.play({
140
- assetId: sound.assetId,
141
- time: (sound.time || 0)
142
- }));
143
- }
144
- // Or HTML 5 audio
145
- else {
146
- const audio = this._htmlAudioCache[assetId] || new Audio(sound.assetPath);
147
- promises.push(audio.play());
148
- }
149
- }
150
- // Vibrate mode: by default make vibration is enable
151
- else if (isNil(sound.vibration) && isNil(opts && opts.vibrate)) {
152
- opts = opts || {};
153
- opts.vibrate = true;
154
- }
155
- // Do vibration (if sound as default vibration, or if user ask for it)
156
- if (toBoolean(opts?.vibrate, !!sound.vibration)) {
157
- promises.push(this.vibrate(opts && opts.vibration || sound.vibration));
158
- }
159
- return (promises.length === 1 ? promises[0] : Promise.all(promises))
160
- .catch(err => {
161
- console.error(`[audio] Error while playing audio sound '${assetId}': ${err && err.message || err}`, err);
162
- });
163
- }
164
- async unload(assetId) {
165
- if (isNil(this._audioType))
166
- await this.ready();
167
- // Remove from map
168
- this._preloadedSounds[assetId] = undefined;
169
- // Native unload
170
- if (this._audioType === 'native') {
171
- try {
172
- await NativeAudio.unload({ assetId });
173
- }
174
- catch (err) {
175
- console.error(`[audio] Unable to unload audio '${assetId}': ${err && err.message || err}`, err);
176
- }
177
- }
178
- // HTML5 audio unload
179
- else {
180
- this._htmlAudioCache[assetId].remove();
181
- this._htmlAudioCache[assetId] = undefined;
182
- }
183
- }
184
- /**
185
- *
186
- * @param duration Duration of the vibration in milliseconds.
187
- */
188
- async vibrate(duration) {
189
- if (!this.started)
190
- await this.ready();
191
- if (Array.isArray(duration)) {
192
- if (this._debug)
193
- console.debug("[audio] Vibrate: " + JSON.stringify(duration));
194
- for (let i = 0; i < duration.length; i++) {
195
- const time = duration[i];
196
- const silent = i % 2 !== 0;
197
- if (silent) {
198
- if (this._debug)
199
- console.debug("[audio] silent during " + time);
200
- await sleep(time);
201
- }
202
- else {
203
- if (this._debug)
204
- console.debug("[audio] vibrate during " + time);
205
- await Promise.all([
206
- Haptics.vibrate({ duration: time }),
207
- sleep(time)
208
- ]);
209
- }
210
- }
211
- }
212
- else {
213
- if (this._debug)
214
- console.debug("[audio] vibrate during " + duration);
215
- await Haptics.vibrate({ duration });
216
- }
217
- }
218
- async setAudioMode(mode) {
219
- try {
220
- console.info(`[audio] Changing audio mode to {${audioModeToString(mode)}}`);
221
- await this.audioManagement.setAudioMode(mode);
222
- this._audioMode = mode;
223
- }
224
- catch (err) {
225
- console.error(`[audio] Error while changing audio mode to {${audioModeToString(mode)}}: ${err?.message || err}`, err);
226
- // Continue
227
- }
228
- }
229
- /* -- protected methods -- */
230
- async readAudioMode() {
231
- let value = await this.audioManagement.getAudioMode();
232
- value = {
233
- ...DEFAULT_AUDIO_MODE_RETURN,
234
- ...value
235
- };
236
- console.debug(`[audio] Detected audio mode {label: '${value.label}', audioMode: ${value.audioMode}}`);
237
- this._audioMode = value.audioMode;
238
- }
239
- }
240
- AudioProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AudioProvider, deps: [{ token: i1.Platform }, { token: i2.AudioManagement, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
241
- AudioProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AudioProvider, providedIn: 'root' });
242
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AudioProvider, decorators: [{
243
- type: Injectable,
244
- args: [{ providedIn: 'root' }]
245
- }], ctorParameters: function () { return [{ type: i1.Platform }, { type: i2.AudioManagement, decorators: [{
246
- type: Optional
247
- }] }]; } });
248
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9hdWRpby9hdWRpby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDbkUsT0FBTyxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3JELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDOUQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGlCQUFpQixDQUFDOzs7O0FBYTFDLE1BQU0sYUFBYSxHQUFZO0lBQzdCLEVBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsNEJBQTRCLEVBQUUsU0FBUyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBQztJQUN6RixFQUFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLCtCQUErQixFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUM7SUFDckYsRUFBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSw2QkFBNkIsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFDO0lBQ2xGLEVBQUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxvQ0FBb0MsRUFBRSxTQUFTLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFDO0NBQzVHLENBQUM7QUFFRixNQUFNLHlCQUF5QixHQUFvQztJQUNqRSxTQUFTLEVBQUcsZUFBZSxDQUFDLFNB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ICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UGxhdGZvcm19IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7QXVkaW9NYW5hZ2VtZW50fSBmcm9tICdAaW9uaWMtbmF0aXZlL2F1ZGlvLW1hbmFnZW1lbnQvbmd4JztcbmltcG9ydCB7aXNOaWwsIHNsZWVwLCB0b0Jvb2xlYW59IGZyb20gJy4uL2Z1bmN0aW9ucyc7XG5pbXBvcnQge1N0YXJ0YWJsZVNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2VzL3N0YXJ0YWJsZS1zZXJ2aWNlLmNsYXNzJztcbmltcG9ydCB7SGFwdGljc30gZnJvbSAnQGNhcGFjaXRvci9oYXB0aWNzJztcbmltcG9ydCB7TmF0aXZlQXVkaW99IGZyb20gJ0BjYXBhY2l0b3ItY29tbXVuaXR5L25hdGl2ZS1hdWRpbyc7XG5pbXBvcnQge0NhcGFjaXRvcn0gZnJvbSAnQGNhcGFjaXRvci9jb3JlJztcblxuZXhwb3J0IHR5cGUgQXVkaW9UeXBlID0gJ2h0bWw1JyB8ICduYXRpdmUnO1xuZXhwb3J0IGludGVyZmFjZSBTb3VuZCB7XG4gIGFzc2V0SWQ6IHN0cmluZzsgLy8gdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGZpbGVcbiAgYXNzZXRQYXRoOiBzdHJpbmc7IC8vICByZWxhdGl2ZSBwYXRoIG9mIHRoZSBmaWxlIG9yIGFic29sdXRlIHVybCAoZmlsZTovLylcbiAgdm9sdW1lPzogbnVtYmVyOyAvLyBTb3VuZCB2b2x1bWVcbiAgaXNVcmw/OiBib29sZWFuOyAvLyBwYXNzIHRydWUgaWYgYXNzZXRQYXRoIGlzIGEgYGZpbGU6Ly9gIHVybFxuICB0aW1lPzogbnVtYmVyOyAvLyBzb3VuZCBzZWVrIHRpbWVcbiAgYXVkaW9DaGFubmVsTnVtPzogbnVtYmVyOyAvLyBudW1iZXIgb2YgYXVkaW8gY2hhbm5lbHNcbiAgdmlicmF0aW9uPzogbnVtYmVyfG51bWJlcltdOyAvLyBTaG91bGQgdmlicmF0ZSA/IHNldCBkdXJhdGlvblxufVxuXG5jb25zdCBTWVNURU1fU09VTkRTOiBTb3VuZFtdID0gW1xuICB7YXNzZXRJZDogJ3N0YXJ0dXAnLCBhc3NldFBhdGg6ICdhc3NldHMvYXVkaW8vdW5mYS1waW5nLm1wMycsIHZpYnJhdGlvbjogWzMwMCwgMjUwLCA3NTBdfSxcbiAge2Fzc2V0SWQ6ICdiZWVwLWNvbmZpcm0nLCBhc3NldFBhdGg6ICdhc3NldHMvYXVkaW8vYmVlcC1jb25maXJtLm1wMycsIHZpYnJhdGlvbjogMjUwfSxcbiAge2Fzc2V0SWQ6ICdiZWVwLWVycm9yJywgYXNzZXRQYXRoOiAnYXNzZXRzL2F1ZGlvL2JlZXAtZXJyb3IubXAzJywgdmlicmF0aW9uOiAxMDAwfSxcbiAge2Fzc2V0SWQ6ICdiZWVwLW5vdGlmaWNhdGlvbicsIGFzc2V0UGF0aDogJ2Fzc2V0cy9hdWRpby9iZWVwLW5vdGlmaWNhdGlvbi5tcDMnLCB2aWJyYXRpb246IFs0NTAsIDE1MCwgNDUwXX1cbl07XG5cbmNvbnN0IERFRkFVTFRfQVVESU9fTU9ERV9SRVRVUk46IEF1ZGlvTWFuYWdlbWVudC5BdWRpb01vZGVSZXR1cm4gPSB7XG4gIGF1ZGlvTW9kZTogIEF1ZGlvTWFuYWdlbWVudC5BdWRpb01vZGUuTk9STUFMLFxuICBsYWJlbDogJ05vcm1hbCdcbn1cblxuZnVuY3Rpb24gYXVkaW9Nb2RlVG9TdHJpbmcobW9kZTogQXVkaW9NYW5hZ2VtZW50LkF1ZGlvTW9kZSkge1xuICBzd2l0Y2ggKG1vZGUpIHtcbiAgICBjYXNlIEF1ZGlvTWFuYWdlbWVudC5BdWRpb01vZGUuU0lMRU5UOiByZXR1cm4gJ1NpbGVudCc7XG4gICAgY2FzZSBBdWRpb01hbmFnZW1lbnQuQXVkaW9Nb2RlLk5PUk1BTDogcmV0dXJuICdOb3JtYWwnO1xuICAgIGNhc2UgQXVkaW9NYW5hZ2VtZW50LkF1ZGlvTW9kZS5WSUJSQVRFOiByZXR1cm4gJ1ZpYnJhdGUnO1xuICB9XG59XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIEF1ZGlvUHJvdmlkZXIgZXh0ZW5kcyBTdGFydGFibGVTZXJ2aWNlPHZvaWQ+IHtcblxuXG4gIHByaXZhdGUgX2F1ZGlvVHlwZTogQXVkaW9UeXBlO1xuICBwcml2YXRlIF9hdWRpb01vZGU6IEF1ZGlvTWFuYWdlbWVudC5BdWRpb01vZGUgPSBBdWRpb01hbmFnZW1lbnQuQXVkaW9Nb2RlLk5PUk1BTDtcbiAgcHJpdmF0ZSBfYXNzZXRQYXRoUHJlZml4ID0gJyc7XG5cbiAgcHJpdmF0ZSBfcHJlbG9hZGVkU291bmRzOiB7W2lkOiBzdHJpbmddOiBTb3VuZH0gPSB7fTtcbiAgcHJpdmF0ZSBfaHRtbEF1ZGlvQ2FjaGU6IHtbaWQ6IHN0cmluZ106IEhUTUxBdWRpb0VsZW1lbnR9ID0ge307XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIHBsYXRmb3JtOiBQbGF0Zm9ybSxcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGF1ZGlvTWFuYWdlbWVudDogQXVkaW9NYW5hZ2VtZW50XG4gICkge1xuICAgIHN1cGVyKHBsYXRmb3JtKTtcbiAgICBjb25zb2xlLmluZm8oYFthdWRpb10gQ3JlYXRlIGF1ZGlvIHByb3ZpZGVyYCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgbmdPblN0YXJ0KCk6IFByb21pc2U8dm9pZD4ge1xuXG4gICAgY29uc3QgY29yZG92YSA9IHRoaXMucGxhdGZvcm0uaXMoJ2NvcmRvdmEnKTtcbiAgICB0aGlzLl9hc3NldFBhdGhQcmVmaXggPSBjb3Jkb3ZhID8gJ3B1YmxpYy8nIDogJyc7XG4gICAgdGhpcy5fYXVkaW9UeXBlID0gY29yZG92YSAmJiBDYXBhY2l0b3IuaXNQbHVnaW5BdmFpbGFibGUoJ05hdGl2ZUF1ZGlvJykgPyAnbmF0aXZlJyA6ICdodG1sNSc7XG4gICAgY29uc29sZS5pbmZvKGBbYXVkaW9dIFN0YXJ0aW5nIGF1ZGlvIHByb3ZpZGVyIHske3RoaXMuX2F1ZGlvVHlwZX19Li4uYCk7XG5cbiAgICAvLyBMaXN0ZW4gYXVkaW8gbW9kZSBjaGFuZ2VkXG4gICAgaWYgKGNvcmRvdmEgJiYgdGhpcy5hdWRpb01hbmFnZW1lbnQpIHtcbiAgICAgIGF3YWl0IHRoaXMucmVhZEF1ZGlvTW9kZSgpO1xuICAgIH1cblxuICAgIC8vIFByZS1sb2FkaW5nIHN5c3RlbSBzb3VuZHNcbiAgICBjb25zb2xlLmRlYnVnKCdbYXVkaW9dIFByZWxvYWRpbmcgYXVkaW8gc291bmRzLi4uJyk7XG4gICAgbGV0IGVycm9yQ291bnQgPSAwXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoU1lTVEVNX1NPVU5EUy5tYXAocyA9PiB7XG4gICAgICAvLyBEaXNhYmxlIHZpYnJhdGlvbiBpbiBIVE1MIDUgbW9kZVxuICAgICAgaWYgKHRoaXMuX2F1ZGlvVHlwZSA9PT0gJ2h0bWw1Jykgcy52aWJyYXRpb24gPSB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4gdGhpcy5wcmVsb2FkKHMpXG4gICAgICAgIC5jYXRjaChfID0+IGVycm9yQ291bnQrKyk7XG4gICAgfSkpO1xuXG4gICAgaWYgKGVycm9yQ291bnQgPiAwKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ1thdWRpb10gUHJlbG9hZGluZyBhdWRpbyBzb3VuZHMgW09LXSB3aXRoICR7ZXJyb3JDb3VudH0gZXJyb3JzIGR1cmluZyBwcmVsb2FkLicpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIGNvbnNvbGUuZGVidWcoJ1thdWRpb10gUHJlbG9hZGluZyBhdWRpbyBzb3VuZHMgW09LXScpO1xuICAgIH1cbiAgfVxuXG4gIHBsYXlCZWVwQ29uZmlybSgpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLnBsYXkoJ2JlZXAtY29uZmlybScsIHtcbiAgICAgIC8vIFZpYnJhdGUgb25seSBpZiBpbiB2aWJyYXRpb24gbW9kZVxuICAgICAgdmlicmF0ZTogdGhpcy5fYXVkaW9Nb2RlID09PSBBdWRpb01hbmFnZW1lbnQuQXVkaW9Nb2RlLlZJQlJBVEVcbiAgICB9KTtcbiAgfVxuXG4gIHBsYXlCZWVwRXJyb3IoKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5wbGF5KCdiZWVwLWVycm9yJywge1xuICAgICAgLy8gQWx3YXlzIHZpYnJhdGUgKHdpbGwgc2tpcCB2aWJyYXRpb24gaWYgc2lsZW50IG1vZGUpXG4gICAgICB2aWJyYXRlOiB0cnVlXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBwbGF5QmVlcE5vdGlmaWNhdGlvbigpOiBQcm9taXNlPGFueT4ge1xuICAgIGF3YWl0IHRoaXMucGxheSgnYmVlcC1ub3RpZmljYXRpb24nLHtcbiAgICAgIHZpYnJhdGU6IHRoaXMuX2F1ZGlvTW9kZSA9PT0gQXVkaW9NYW5hZ2VtZW50LkF1ZGlvTW9kZS5WSUJSQVRFXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBwbGF5U3RhcnR1cFNvdW5kKCk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMucGxheSgnc3RhcnR1cCcpO1xuICB9XG5cblxuICBhc3luYyBwcmVsb2FkKHNvdW5kOiBTb3VuZCkge1xuICAgIGlmICghc291bmQ/LmFzc2V0SWQpIHJldHVybjsgLy8gU2tpcFxuICAgIGlmICghIXRoaXMuX3ByZWxvYWRlZFNvdW5kc1tzb3VuZC5hc3NldElkXSkgcmV0dXJuOyAvLyBBbHJlYWR5IHByZWxvYWRlZFxuICAgIGlmIChpc05pbCh0aGlzLl9hdWRpb1R5cGUpKSBhd2FpdCB0aGlzLnJlYWR5KCk7XG5cbiAgICBjb25zdCBhc3NldFBhdGggPSAodGhpcy5fYXNzZXRQYXRoUHJlZml4IHx8ICcnKSArIHNvdW5kLmFzc2V0UGF0aDtcbiAgICBjb25zb2xlLmluZm8oYFthdWRpb10gUHJlbG9hZGluZyBzb3VuZCAnJHtzb3VuZC5hc3NldElkfScsIGZyb20gZmlsZSAnJHthc3NldFBhdGh9Jy4uLmApO1xuXG4gICAgdHJ5IHtcbiAgICAgIGlmICh0aGlzLl9hdWRpb1R5cGUgPT09ICduYXRpdmUnKSB7XG4gICAgICAgIHRoaXMuX3ByZWxvYWRlZFNvdW5kc1tzb3VuZC5hc3NldElkXSA9IHNvdW5kO1xuICAgICAgICBhd2FpdCBOYXRpdmVBdWRpby5wcmVsb2FkKHtcbiAgICAgICAgICBhdWRpb0NoYW5uZWxOdW06IDEsXG4gICAgICAgICAgaXNVcmw6IGZhbHNlLFxuICAgICAgICAgIC4uLnNvdW5kLFxuICAgICAgICAgIGFzc2V0UGF0aFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICB0aGlzLl9odG1sQXVkaW9DYWNoZVtzb3VuZC5hc3NldElkXSA9ICBuZXcgQXVkaW8oYXNzZXRQYXRoKTtcbiAgICAgICAgdGhpcy5fcHJlbG9hZGVkU291bmRzW3NvdW5kLmFzc2V0SWRdID0gc291bmQ7XG4gICAgICB9XG5cbiAgICAgIC8vIEFkZCB0byBtYXBcbiAgICAgIGNvbnNvbGUuaW5mbyhgW2F1ZGlvXSBQcmVsb2FkaW5nIHNvdW5kICcke3NvdW5kLmFzc2V0SWR9JyBbT0tdYCk7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnN0IGVycm9yTXNnID0gZXJyPy5tZXNzYWdlIHx8IGVycjtcbiAgICAgIGlmIChlcnJvck1zZyA9PT0gJ0F1ZGlvIEFzc2V0IGFscmVhZHkgZXhpc3RzJykge1xuICAgICAgICBjb25zb2xlLmluZm8oYFthdWRpb10gUHJlbG9hZGluZyBzb3VuZCAnJHtzb3VuZC5hc3NldElkfSc6IFNraXBwZWQgKCR7ZXJyb3JNc2d9KWApO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHRoaXMuX3ByZWxvYWRlZFNvdW5kc1tzb3VuZC5hc3NldElkXSA9IG51bGw7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYFthdWRpb10gVW5hYmxlIHRvIHByZWxvYWQgc291bmQgJyR7c291bmQuYXNzZXRJZH0nLCBmcm9tIGZpbGUgJyR7YXNzZXRQYXRofSc6ICR7ZXJyb3JNc2d9XFxuJHtlcnI/Lm9yaWdpbmFsU3RhY2t8fCcnfWApO1xuICAgICAgICB0aHJvdyBlcnI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgcGxheShhc3NldElkOiBzdHJpbmcsIG9wdHM/OiB7dmlicmF0ZT86IGJvb2xlYW47IHZpYnJhdGlvbj86IG51bWJlcnxudW1iZXJbXX0pIHtcblxuICAgIC8vIE1ha2Ugc3VyZSBwcm92aWRlciBpcyByZWFkeVxuICAgIGlmICghdGhpcy5zdGFydGVkKSBhd2FpdCB0aGlzLnJlYWR5KCk7XG5cbiAgICBjb25zdCBzb3VuZCA9IHRoaXMuX3ByZWxvYWRlZFNvdW5kc1thc3NldElkXTtcbiAgICBpZiAoIXNvdW5kKSB7XG4gICAgICB0aHJvdyBFcnJvcihgVW5hYmxlIHRvIGZpbmQgc291bmQgJyR7YXNzZXRJZH0nLiBQbGVhc2UgY2FsbCBwcmVsb2FkKCkgYmVmb3JlIHBsYXlpbmcgYSBzb3VuZC5gKTtcbiAgICB9XG5cbiAgICAvLyBJZiBzaWxlbnQ6IHNraXBcbiAgICBpZiAodGhpcy5fYXVkaW9Nb2RlID09PSBBdWRpb01hbmFnZW1lbnQuQXVkaW9Nb2RlLlNJTEVOVCkgcmV0dXJuO1xuXG4gICAgY29uc3QgcHJvbWlzZXM6IFByb21pc2U8YW55PltdID0gW107XG5cbiAgICAvLyBOb3JtYWwgbW9kZSA9IGNhbiBwbGF5IHRoZSBzb3VuZFxuICAgIGlmICh0aGlzLl9hdWRpb01vZGUgPT09IEF1ZGlvTWFuYWdlbWVudC5BdWRpb01vZGUuTk9STUFMKSB7XG4gICAgICAvLyBVc2UgbmF0aXZlIGF1ZGlvXG4gICAgICBpZiAodGhpcy5fYXVkaW9UeXBlID09PSAnbmF0aXZlJykge1xuICAgICAgICBwcm9taXNlcy5wdXNoKE5hdGl2ZUF1ZGlvLnBsYXkoe1xuICAgICAgICAgIGFzc2V0SWQ6IHNvdW5kLmFzc2V0SWQsXG4gICAgICAgICAgdGltZTogKHNvdW5kLnRpbWUgfHwgMClcbiAgICAgICAgfSkpO1xuICAgICAgfVxuICAgICAgLy8gT3IgSFRNTCA1IGF1ZGlvXG4gICAgICBlbHNlIHtcbiAgICAgICAgY29uc3QgYXVkaW8gPSB0aGlzLl9odG1sQXVkaW9DYWNoZVthc3NldElkXSB8fCBuZXcgQXVkaW8oc291bmQuYXNzZXRQYXRoKTtcbiAgICAgICAgcHJvbWlzZXMucHVzaChhdWRpby5wbGF5KCkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFZpYnJhdGUgbW9kZTogYnkgZGVmYXVsdCBtYWtlIHZpYnJhdGlvbiBpcyBlbmFibGVcbiAgICBlbHNlIGlmIChpc05pbChzb3VuZC52aWJyYXRpb24pICYmIGlzTmlsKG9wdHMgJiYgb3B0cy52aWJyYXRlKSkge1xuICAgICAgb3B0cyA9IG9wdHMgfHwge307XG4gICAgICBvcHRzLnZpYnJhdGUgPSB0cnVlO1xuICAgIH1cblxuICAgIC8vIERvIHZpYnJhdGlvbiAoaWYgc291bmQgYXMgZGVmYXVsdCB2aWJyYXRpb24sIG9yIGlmIHVzZXIgYXNrIGZvciBpdClcbiAgICBpZiAodG9Cb29sZWFuKG9wdHM/LnZpYnJhdGUsICEhc291bmQudmlicmF0aW9uKSkge1xuICAgICAgcHJvbWlzZXMucHVzaCh0aGlzLnZpYnJhdGUob3B0cyAmJiBvcHRzLnZpYnJhdGlvbiB8fCBzb3VuZC52aWJyYXRpb24pKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKHByb21pc2VzLmxlbmd0aCA9PT0gMSA/IHByb21pc2VzWzBdIDogUHJvbWlzZS5hbGwocHJvbWlzZXMpKVxuICAgICAgLmNhdGNoKGVyciA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYFthdWRpb10gRXJyb3Igd2hpbGUgcGxheWluZyBhdWRpbyBzb3VuZCAnJHthc3NldElkfSc6ICR7ZXJyICYmIGVyci5tZXNzYWdlIHx8IGVycn1gLCBlcnIpO1xuICAgICAgfSk7XG4gIH1cblxuICBhc3luYyB1bmxvYWQoYXNzZXRJZDogc3RyaW5nKSB7XG4gICAgaWYgKGlzTmlsKHRoaXMuX2F1ZGlvVHlwZSkpIGF3YWl0IHRoaXMucmVhZHkoKTtcblxuICAgIC8vIFJlbW92ZSBmcm9tIG1hcFxuICAgIHRoaXMuX3ByZWxvYWRlZFNvdW5kc1thc3NldElkXSA9IHVuZGVmaW5lZDtcblxuICAgIC8vIE5hdGl2ZSB1bmxvYWRcbiAgICBpZiAodGhpcy5fYXVkaW9UeXBlID09PSAnbmF0aXZlJykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgTmF0aXZlQXVkaW8udW5sb2FkKHthc3NldElkfSk7XG4gICAgICB9XG4gICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYFthdWRpb10gVW5hYmxlIHRvIHVubG9hZCBhdWRpbyAnJHthc3NldElkfSc6ICR7ZXJyICYmIGVyci5tZXNzYWdlIHx8IGVycn1gLCBlcnIpO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBIVE1MNSBhdWRpbyB1bmxvYWRcbiAgICBlbHNlIHtcbiAgICAgIHRoaXMuX2h0bWxBdWRpb0NhY2hlW2Fzc2V0SWRdLnJlbW92ZSgpO1xuICAgICAgdGhpcy5faHRtbEF1ZGlvQ2FjaGVbYXNzZXRJZF0gPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBkdXJhdGlvbiBEdXJhdGlvbiBvZiB0aGUgdmlicmF0aW9uIGluIG1pbGxpc2Vjb25kcy5cbiAgICovXG4gIGFzeW5jIHZpYnJhdGUoZHVyYXRpb24/OiBudW1iZXJ8bnVtYmVyW10pIHtcbiAgICBpZiAoIXRoaXMuc3RhcnRlZCkgYXdhaXQgdGhpcy5yZWFkeSgpO1xuICAgIGlmIChBcnJheS5pc0FycmF5KGR1cmF0aW9uKSkge1xuICAgICAgaWYgKHRoaXMuX2RlYnVnKSBjb25zb2xlLmRlYnVnKFwiW2F1ZGlvXSBWaWJyYXRlOiBcIiArIEpTT04uc3RyaW5naWZ5KGR1cmF0aW9uKSk7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGR1cmF0aW9uLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHRpbWUgPSBkdXJhdGlvbltpXTtcbiAgICAgICAgY29uc3Qgc2lsZW50ID0gaSAlIDIgIT09IDA7XG4gICAgICAgIGlmIChzaWxlbnQpIHtcbiAgICAgICAgICBpZiAodGhpcy5fZGVidWcpIGNvbnNvbGUuZGVidWcoXCJbYXVkaW9dIHNpbGVudCBkdXJpbmcgXCIgKyB0aW1lKTtcbiAgICAgICAgICBhd2FpdCBzbGVlcCh0aW1lKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICBpZiAodGhpcy5fZGVidWcpIGNvbnNvbGUuZGVidWcoXCJbYXVkaW9dIHZpYnJhdGUgZHVyaW5nIFwiICsgdGltZSk7XG4gICAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgICAgICAgSGFwdGljcy52aWJyYXRlKHtkdXJhdGlvbjogdGltZX0pLFxuICAgICAgICAgICAgc2xlZXAodGltZSlcbiAgICAgICAgICBdKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIGlmICh0aGlzLl9kZWJ1ZykgY29uc29sZS5kZWJ1ZyhcIlthdWRpb10gdmlicmF0ZSBkdXJpbmcgXCIgKyBkdXJhdGlvbik7XG4gICAgICBhd2FpdCBIYXB0aWNzLnZpYnJhdGUoe2R1cmF0aW9ufSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc2V0QXVkaW9Nb2RlKG1vZGU6IEF1ZGlvTWFuYWdlbWVudC5BdWRpb01vZGUpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgY29uc29sZS5pbmZvKGBbYXVkaW9dIENoYW5naW5nIGF1ZGlvIG1vZGUgdG8geyR7YXVkaW9Nb2RlVG9TdHJpbmcobW9kZSl9fWApO1xuICAgICAgYXdhaXQgdGhpcy5hdWRpb01hbmFnZW1lbnQuc2V0QXVkaW9Nb2RlKG1vZGUpO1xuICAgICAgdGhpcy5fYXVkaW9Nb2RlID0gbW9kZTtcbiAgICB9XG4gICAgY2F0Y2goZXJyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBbYXVkaW9dIEVycm9yIHdoaWxlIGNoYW5naW5nIGF1ZGlvIG1vZGUgdG8geyR7YXVkaW9Nb2RlVG9TdHJpbmcobW9kZSl9fTogJHtlcnI/Lm1lc3NhZ2UgfHwgZXJyfWAsIGVycik7XG4gICAgICAvLyBDb250aW51ZVxuICAgIH1cbiAgfVxuXG4gIC8qIC0tIHByb3RlY3RlZCBtZXRob2RzICAtLSAqL1xuXG4gIHByb3RlY3RlZCBhc3luYyByZWFkQXVkaW9Nb2RlKCkge1xuICAgIGxldCB2YWx1ZSA9IGF3YWl0IHRoaXMuYXVkaW9NYW5hZ2VtZW50LmdldEF1ZGlvTW9kZSgpO1xuICAgIHZhbHVlID0ge1xuICAgICAgLi4uREVGQVVMVF9BVURJT19NT0RFX1JFVFVSTixcbiAgICAgIC4uLnZhbHVlXG4gICAgfVxuICAgIGNvbnNvbGUuZGVidWcoYFthdWRpb10gRGV0ZWN0ZWQgYXVkaW8gbW9kZSB7bGFiZWw6ICcke3ZhbHVlLmxhYmVsfScsIGF1ZGlvTW9kZTogJHt2YWx1ZS5hdWRpb01vZGV9fWApO1xuICAgIHRoaXMuX2F1ZGlvTW9kZSA9IHZhbHVlLmF1ZGlvTW9kZTtcbiAgfVxuXG59XG4iXX0=
@@ -1,31 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "./audio";
4
- import * as i2 from "@ionic/angular";
5
- export class AudioTestingPage {
6
- constructor(audio) {
7
- this.audio = audio;
8
- }
9
- playBeepConfirm() {
10
- return this.audio.playBeepConfirm();
11
- }
12
- playBeepError() {
13
- return this.audio.playBeepError();
14
- }
15
- playStartupSound() {
16
- return this.audio.playStartupSound();
17
- }
18
- playBeepNotification() {
19
- return this.audio.playBeepNotification();
20
- }
21
- vibrate(duration) {
22
- return this.audio.vibrate(duration || [1000, 500, 1000, 500, 1000]);
23
- }
24
- }
25
- AudioTestingPage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AudioTestingPage, deps: [{ token: i1.AudioProvider }], target: i0.ɵɵFactoryTarget.Component });
26
- AudioTestingPage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: AudioTestingPage, selector: "audio-testing", ngImport: i0, template: "<ion-toolbar color=\"primary\">\n <ion-title>Toasts</ion-title>\n</ion-toolbar>\n\n<ion-content class=\"ion-padding\">\n\n <p>Toast examples:</p>\n\n <ion-button (click)=\"playStartupSound()\" color=\"dark\">\n <ion-icon name=\"play\" slot=\"start\"></ion-icon>\n Startup\n </ion-button>\n\n <ion-button (click)=\"playBeepConfirm()\" color=\"success\">\n <ion-icon name=\"play\" slot=\"start\"></ion-icon>\n Confirmation\n </ion-button>\n\n <ion-button (click)=\"playBeepNotification()\" color=\"tertiary\">\n <ion-icon name=\"play\" slot=\"start\"></ion-icon>\n Notification\n </ion-button>\n\n <ion-button (click)=\"playBeepError()\" color=\"accent\">\n <ion-icon name=\"play\" slot=\"start\"></ion-icon>\n Error\n </ion-button>\n\n <ion-button (click)=\"vibrate()\" color=\"accent\">\n Vibrate (many time)\n </ion-button>\n\n</ion-content>\n", dependencies: [{ kind: "component", type: i2.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i2.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i2.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i2.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }] });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AudioTestingPage, decorators: [{
28
- type: Component,
29
- args: [{ selector: 'audio-testing', template: "<ion-toolbar color=\"primary\">\n <ion-title>Toasts</ion-title>\n</ion-toolbar>\n\n<ion-content class=\"ion-padding\">\n\n <p>Toast examples:</p>\n\n <ion-button (click)=\"playStartupSound()\" color=\"dark\">\n <ion-icon name=\"play\" slot=\"start\"></ion-icon>\n Startup\n </ion-button>\n\n <ion-button (click)=\"playBeepConfirm()\" color=\"success\">\n <ion-icon name=\"play\" slot=\"start\"></ion-icon>\n Confirmation\n </ion-button>\n\n <ion-button (click)=\"playBeepNotification()\" color=\"tertiary\">\n <ion-icon name=\"play\" slot=\"start\"></ion-icon>\n Notification\n </ion-button>\n\n <ion-button (click)=\"playBeepError()\" color=\"accent\">\n <ion-icon name=\"play\" slot=\"start\"></ion-icon>\n Error\n </ion-button>\n\n <ion-button (click)=\"vibrate()\" color=\"accent\">\n Vibrate (many time)\n </ion-button>\n\n</ion-content>\n" }]
30
- }], ctorParameters: function () { return [{ type: i1.AudioProvider }]; } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW8udGVzdGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL2F1ZGlvL2F1ZGlvLnRlc3RpbmcudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9hdWRpby9hdWRpby50ZXN0aW5nLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7OztBQU94QyxNQUFNLE9BQU8sZ0JBQWdCO0lBRTNCLFlBQ1UsS0FBb0I7UUFBcEIsVUFBSyxHQUFMLEtBQUssQ0FBZTtJQUU5QixDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBQ0QsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUNELG9CQUFvQjtRQUNsQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsT0FBTyxDQUFDLFFBQTBCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdEUsQ0FBQzs7NkdBdEJVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLHFEQ1A3QixxM0JBaUNBOzJGRDFCYSxnQkFBZ0I7a0JBSjVCLFNBQVM7K0JBQ0UsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QXVkaW9Qcm92aWRlcn0gZnJvbSAnLi9hdWRpbyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1ZGlvLXRlc3RpbmcnLFxuICB0ZW1wbGF0ZVVybDogJ2F1ZGlvLnRlc3RpbmcuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQXVkaW9UZXN0aW5nUGFnZSAge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYXVkaW86IEF1ZGlvUHJvdmlkZXJcbiAgKSB7XG4gIH1cblxuICBwbGF5QmVlcENvbmZpcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMuYXVkaW8ucGxheUJlZXBDb25maXJtKCk7XG4gIH1cbiAgcGxheUJlZXBFcnJvcigpIHtcbiAgICByZXR1cm4gdGhpcy5hdWRpby5wbGF5QmVlcEVycm9yKCk7XG4gIH1cbiAgcGxheVN0YXJ0dXBTb3VuZCgpIHtcbiAgICByZXR1cm4gdGhpcy5hdWRpby5wbGF5U3RhcnR1cFNvdW5kKCk7XG4gIH1cbiAgcGxheUJlZXBOb3RpZmljYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuYXVkaW8ucGxheUJlZXBOb3RpZmljYXRpb24oKTtcbiAgfVxuXG4gIHZpYnJhdGUoZHVyYXRpb24/OiBudW1iZXJ8bnVtYmVyW10pIHtcbiAgICByZXR1cm4gdGhpcy5hdWRpby52aWJyYXRlKGR1cmF0aW9uIHx8IFsxMDAwLCA1MDAsIDEwMDAsIDUwMCwgMTAwMF0pO1xuICB9XG59XG4iLCI8aW9uLXRvb2xiYXIgY29sb3I9XCJwcmltYXJ5XCI+XG4gIDxpb24tdGl0bGU+VG9hc3RzPC9pb24tdGl0bGU+XG48L2lvbi10b29sYmFyPlxuXG48aW9uLWNvbnRlbnQgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuXG4gIDxwPlRvYXN0IGV4YW1wbGVzOjwvcD5cblxuICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwicGxheVN0YXJ0dXBTb3VuZCgpXCIgY29sb3I9XCJkYXJrXCI+XG4gICAgPGlvbi1pY29uIG5hbWU9XCJwbGF5XCIgc2xvdD1cInN0YXJ0XCI+PC9pb24taWNvbj5cbiAgICBTdGFydHVwXG4gIDwvaW9uLWJ1dHRvbj5cblxuICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwicGxheUJlZXBDb25maXJtKClcIiBjb2xvcj1cInN1Y2Nlc3NcIj5cbiAgICA8aW9uLWljb24gbmFtZT1cInBsYXlcIiBzbG90PVwic3RhcnRcIj48L2lvbi1pY29uPlxuICAgIENvbmZpcm1hdGlvblxuICA8L2lvbi1idXR0b24+XG5cbiAgPGlvbi1idXR0b24gKGNsaWNrKT1cInBsYXlCZWVwTm90aWZpY2F0aW9uKClcIiBjb2xvcj1cInRlcnRpYXJ5XCI+XG4gICAgPGlvbi1pY29uIG5hbWU9XCJwbGF5XCIgc2xvdD1cInN0YXJ0XCI+PC9pb24taWNvbj5cbiAgICBOb3RpZmljYXRpb25cbiAgPC9pb24tYnV0dG9uPlxuXG4gIDxpb24tYnV0dG9uIChjbGljayk9XCJwbGF5QmVlcEVycm9yKClcIiBjb2xvcj1cImFjY2VudFwiPlxuICAgIDxpb24taWNvbiBuYW1lPVwicGxheVwiIHNsb3Q9XCJzdGFydFwiPjwvaW9uLWljb24+XG4gICAgRXJyb3JcbiAgPC9pb24tYnV0dG9uPlxuXG4gIDxpb24tYnV0dG9uIChjbGljayk9XCJ2aWJyYXRlKClcIiBjb2xvcj1cImFjY2VudFwiPlxuICAgIFZpYnJhdGUgKG1hbnkgdGltZSlcbiAgPC9pb24tYnV0dG9uPlxuXG48L2lvbi1jb250ZW50PlxuIl19