ngx-edu-sharing-ui 0.7.0 → 9.0.0

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 (367) hide show
  1. package/assets/scss/mixins.scss +4 -1
  2. package/assets/scss/variables.scss +3 -0
  3. package/esm2022/lib/actionbar/actionbar.component.mjs +188 -0
  4. package/esm2022/lib/common/edu-sharing-ui-common.module.mjs +134 -0
  5. package/esm2022/lib/directives/border-box-observer.directive.mjs +71 -0
  6. package/esm2022/lib/directives/check-text-overflow.directive.mjs +65 -0
  7. package/esm2022/lib/directives/drag-nodes/drag-nodes.mjs +14 -0
  8. package/esm2022/lib/directives/drag-nodes/nodes-drag-source.directive.mjs +79 -0
  9. package/esm2022/lib/directives/drag-nodes/nodes-drag.directive.mjs +49 -0
  10. package/esm2022/lib/directives/drag-nodes/nodes-drop-target.directive.mjs +105 -0
  11. package/esm2022/lib/directives/focus-state.directive.mjs +44 -0
  12. package/esm2022/lib/directives/icon.directive.mjs +139 -0
  13. package/esm2022/lib/dropdown/dropdown.component.mjs +70 -0
  14. package/esm2022/lib/edu-sharing-ui-configuration.mjs +41 -0
  15. package/esm2022/lib/edu-sharing-ui.module.mjs +78 -0
  16. package/esm2022/lib/list-items/available-widgets.mjs +27 -0
  17. package/esm2022/lib/list-items/format-duration.pipe.mjs +20 -0
  18. package/esm2022/lib/list-items/list-base/list-base.component.mjs +46 -0
  19. package/esm2022/lib/list-items/list-collection-info/list-collection-info.component.mjs +29 -0
  20. package/esm2022/lib/list-items/list-counts/list-counts.component.mjs +54 -0
  21. package/esm2022/lib/list-items/list-items.module.mjs +50 -0
  22. package/esm2022/lib/list-items/list-node-license/list-node-license.component.mjs +41 -0
  23. package/esm2022/lib/list-items/list-node-replication-source/list-node-replication-source.component.mjs +47 -0
  24. package/esm2022/lib/list-items/list-node-workflow/list-node-workflow.component.mjs +24 -0
  25. package/esm2022/lib/list-items/list-text/list-text.component.mjs +106 -0
  26. package/esm2022/lib/list-items/list-widget.mjs +49 -0
  27. package/esm2022/lib/list-items/node-row/node-row.component.mjs +24 -0
  28. package/esm2022/lib/list-items/node-source.pipe.mjs +49 -0
  29. package/esm2022/lib/node-entries/combined-data-source.mjs +41 -0
  30. package/esm2022/lib/node-entries/custom-templates-data-source.mjs +7 -0
  31. package/esm2022/lib/node-entries/drag-preview/drag-preview.component.mjs +21 -0
  32. package/esm2022/lib/node-entries/entries-model.mjs +23 -0
  33. package/esm2022/lib/node-entries/items-cap.mjs +47 -0
  34. package/esm2022/lib/node-entries/list-item-label.pipe.mjs +34 -0
  35. package/esm2022/lib/node-entries/node-cache.mjs +65 -0
  36. package/esm2022/lib/node-entries/node-data-source-remote.mjs +4 -0
  37. package/esm2022/lib/node-entries/node-data-source.mjs +115 -0
  38. package/esm2022/lib/node-entries/node-entries-card/node-entries-card.component.mjs +131 -0
  39. package/esm2022/lib/node-entries/node-entries-card-grid/node-entries-card-grid.component.mjs +307 -0
  40. package/esm2022/lib/node-entries/node-entries-card-small/node-entries-card-small.component.mjs +45 -0
  41. package/esm2022/lib/node-entries/node-entries-global-options/node-entries-global-options.component.mjs +23 -0
  42. package/esm2022/lib/node-entries/node-entries-global.service.mjs +58 -0
  43. package/esm2022/lib/node-entries/node-entries-table/column-chooser/column-chooser.component.mjs +42 -0
  44. package/esm2022/lib/node-entries/node-entries-table/node-entries-table.component.mjs +290 -0
  45. package/esm2022/lib/node-entries/node-entries-templates.service.mjs +11 -0
  46. package/esm2022/lib/node-entries/node-entries-wrapper.component.mjs +324 -0
  47. package/esm2022/lib/node-entries/node-entries.component.mjs +131 -0
  48. package/esm2022/lib/node-entries/node-entries.module.mjs +161 -0
  49. package/esm2022/lib/node-entries/node-rating/node-rating.component.mjs +102 -0
  50. package/esm2022/lib/node-entries/node-stats-badges/node-stats-badges.component.mjs +48 -0
  51. package/esm2022/lib/node-entries/node-type-badge/node-type-badge.component.mjs +36 -0
  52. package/esm2022/lib/node-entries/option-button/option-button.component.mjs +62 -0
  53. package/esm2022/lib/node-entries/preview-image/preview-image.component.mjs +53 -0
  54. package/esm2022/lib/node-entries/sort-select-panel/sort-select-panel.component.mjs +41 -0
  55. package/esm2022/lib/node-url/node-url.component.mjs +128 -0
  56. package/esm2022/lib/pipes/file-size.pipe.mjs +31 -0
  57. package/esm2022/lib/pipes/format-date.pipe.mjs +38 -0
  58. package/esm2022/lib/pipes/node-icon.pipe.mjs +18 -0
  59. package/esm2022/lib/pipes/node-image-size.pipe.mjs +24 -0
  60. package/esm2022/lib/pipes/node-image.pipe.mjs +55 -0
  61. package/esm2022/lib/pipes/node-person-name.pipe.mjs +50 -0
  62. package/esm2022/lib/pipes/node-title.pipe.mjs +19 -0
  63. package/esm2022/lib/pipes/option-tooltip.pipe.mjs +33 -0
  64. package/esm2022/lib/pipes/replace-chars.pipe.mjs +29 -0
  65. package/esm2022/lib/pipes/vcard-name.pipe.mjs +19 -0
  66. package/esm2022/lib/services/abstract/app.service.mjs +3 -0
  67. package/esm2022/lib/services/abstract/keyboard-shortcuts.service.mjs +10 -0
  68. package/esm2022/lib/services/abstract/options-helper.service.mjs +3 -0
  69. package/esm2022/lib/services/abstract/toast.service.mjs +3 -0
  70. package/esm2022/lib/services/accessibility.service.mjs +73 -0
  71. package/esm2022/lib/services/local-events.service.mjs +36 -0
  72. package/esm2022/lib/services/node-entries.service.mjs +137 -0
  73. package/esm2022/lib/services/node-helper.service.mjs +234 -0
  74. package/esm2022/lib/services/nodes-drag-drop.service.mjs +155 -0
  75. package/esm2022/lib/services/options-helper-data.service.mjs +134 -0
  76. package/esm2022/lib/services/repo-url.service.mjs +49 -0
  77. package/esm2022/lib/services/temporary-storage.service.mjs +48 -0
  78. package/esm2022/lib/services/ui.service.mjs +162 -0
  79. package/esm2022/lib/sort-dropdown/sort-dropdown.component.mjs +50 -0
  80. package/esm2022/lib/spinner/spinner.component.mjs +18 -0
  81. package/esm2022/lib/translations/fallback-translation-handler.mjs +6 -0
  82. package/esm2022/lib/translations/languages.mjs +5 -0
  83. package/esm2022/lib/translations/translation-loader.mjs +149 -0
  84. package/esm2022/lib/translations/translation-source.mjs +11 -0
  85. package/esm2022/lib/translations/translations.module.mjs +67 -0
  86. package/esm2022/lib/translations/translations.service.mjs +171 -0
  87. package/esm2022/lib/types/accessibillity.mjs +19 -0
  88. package/esm2022/lib/types/api-models.mjs +2 -0
  89. package/esm2022/lib/types/drag-drop.mjs +2 -0
  90. package/esm2022/lib/types/keyboard-shortcuts.mjs +11 -0
  91. package/esm2022/lib/types/list-item.mjs +41 -0
  92. package/esm2022/lib/types/option-item.mjs +174 -0
  93. package/esm2022/lib/types/workflow.mjs +25 -0
  94. package/esm2022/lib/util/DateHelper.mjs +200 -0
  95. package/esm2022/lib/util/VCard.mjs +278 -0
  96. package/esm2022/lib/util/color-helper.mjs +124 -0
  97. package/esm2022/lib/util/duration-helper.mjs +102 -0
  98. package/esm2022/lib/util/functions.mjs +13 -0
  99. package/esm2022/lib/util/helper.mjs +64 -0
  100. package/esm2022/lib/util/isNumeric.mjs +11 -0
  101. package/esm2022/lib/util/rest-helper.mjs +33 -0
  102. package/esm2022/lib/util/ui-animation.mjs +146 -0
  103. package/esm2022/lib/util/ui-constants.mjs +21 -0
  104. package/esm2022/module.mjs +76 -0
  105. package/esm2022/ngx-edu-sharing-ui.mjs +5 -0
  106. package/fesm2022/ngx-edu-sharing-ui.mjs +6509 -0
  107. package/fesm2022/ngx-edu-sharing-ui.mjs.map +1 -0
  108. package/index.d.ts +5 -0
  109. package/lib/actionbar/actionbar.component.d.ts +74 -0
  110. package/lib/common/edu-sharing-ui-common.module.d.ts +32 -0
  111. package/lib/directives/border-box-observer.directive.d.ts +31 -0
  112. package/lib/directives/check-text-overflow.directive.d.ts +20 -0
  113. package/lib/directives/drag-nodes/drag-nodes.d.ts +16 -0
  114. package/lib/directives/drag-nodes/nodes-drag-source.directive.d.ts +37 -0
  115. package/lib/directives/drag-nodes/nodes-drag.directive.d.ts +17 -0
  116. package/lib/directives/drag-nodes/nodes-drop-target.directive.d.ts +22 -0
  117. package/lib/directives/focus-state.directive.d.ts +14 -0
  118. package/lib/directives/icon.directive.d.ts +46 -0
  119. package/lib/dropdown/dropdown.component.d.ts +40 -0
  120. package/lib/edu-sharing-ui-configuration.d.ts +11 -0
  121. package/lib/edu-sharing-ui.module.d.ts +19 -0
  122. package/lib/list-items/available-widgets.d.ts +13 -0
  123. package/lib/list-items/format-duration.pipe.d.ts +10 -0
  124. package/lib/list-items/list-base/list-base.component.d.ts +18 -0
  125. package/lib/list-items/list-collection-info/list-collection-info.component.d.ts +14 -0
  126. package/lib/list-items/list-counts/list-counts.component.d.ts +13 -0
  127. package/lib/list-items/list-items.module.d.ts +20 -0
  128. package/lib/list-items/list-node-license/list-node-license.component.d.ts +20 -0
  129. package/lib/list-items/list-node-replication-source/list-node-replication-source.component.d.ts +22 -0
  130. package/lib/list-items/list-node-workflow/list-node-workflow.component.d.ts +12 -0
  131. package/lib/list-items/list-text/list-text.component.d.ts +28 -0
  132. package/lib/list-items/list-widget.d.ts +32 -0
  133. package/lib/list-items/node-row/node-row.component.d.ts +12 -0
  134. package/lib/list-items/node-source.pipe.d.ts +16 -0
  135. package/lib/node-entries/combined-data-source.d.ts +19 -0
  136. package/{src/lib/node-entries/custom-templates-data-source.ts → lib/node-entries/custom-templates-data-source.d.ts} +2 -2
  137. package/lib/node-entries/drag-preview/drag-preview.component.d.ts +11 -0
  138. package/{src/lib/node-entries/entries-model.ts → lib/node-entries/entries-model.d.ts} +19 -47
  139. package/lib/node-entries/items-cap.d.ts +17 -0
  140. package/lib/node-entries/list-item-label.pipe.d.ts +14 -0
  141. package/lib/node-entries/node-cache.d.ts +17 -0
  142. package/{src/lib/node-entries/node-data-source-remote.ts → lib/node-entries/node-data-source-remote.d.ts} +2 -12
  143. package/lib/node-entries/node-data-source.d.ts +42 -0
  144. package/lib/node-entries/node-entries-card/node-entries-card.component.d.ts +45 -0
  145. package/lib/node-entries/node-entries-card-grid/node-entries-card-grid.component.d.ts +92 -0
  146. package/lib/node-entries/node-entries-card-small/node-entries-card-small.component.d.ts +23 -0
  147. package/lib/node-entries/node-entries-global-options/node-entries-global-options.component.d.ts +12 -0
  148. package/lib/node-entries/node-entries-global.service.d.ts +50 -0
  149. package/lib/node-entries/node-entries-table/column-chooser/column-chooser.component.d.ts +17 -0
  150. package/lib/node-entries/node-entries-table/node-entries-table.component.d.ts +76 -0
  151. package/{src/lib/node-entries/node-entries-templates.service.ts → lib/node-entries/node-entries-templates.service.d.ts} +6 -9
  152. package/lib/node-entries/node-entries-wrapper.component.d.ts +129 -0
  153. package/lib/node-entries/node-entries.component.d.ts +32 -0
  154. package/lib/node-entries/node-entries.module.d.ts +43 -0
  155. package/lib/node-entries/node-rating/node-rating.component.d.ts +26 -0
  156. package/lib/node-entries/node-stats-badges/node-stats-badges.component.d.ts +17 -0
  157. package/lib/node-entries/node-type-badge/node-type-badge.component.d.ts +21 -0
  158. package/lib/node-entries/option-button/option-button.component.d.ts +11 -0
  159. package/lib/node-entries/preview-image/preview-image.component.d.ts +22 -0
  160. package/lib/node-entries/sort-select-panel/sort-select-panel.component.d.ts +16 -0
  161. package/lib/node-url/node-url.component.d.ts +51 -0
  162. package/lib/pipes/file-size.pipe.d.ts +10 -0
  163. package/lib/pipes/format-date.pipe.d.ts +21 -0
  164. package/lib/pipes/node-icon.pipe.d.ts +11 -0
  165. package/lib/pipes/node-image-size.pipe.d.ts +8 -0
  166. package/lib/pipes/node-image.pipe.d.ts +28 -0
  167. package/lib/pipes/node-person-name.pipe.d.ts +10 -0
  168. package/lib/pipes/node-title.pipe.d.ts +11 -0
  169. package/lib/pipes/option-tooltip.pipe.d.ts +12 -0
  170. package/lib/pipes/replace-chars.pipe.d.ts +10 -0
  171. package/lib/pipes/vcard-name.pipe.d.ts +10 -0
  172. package/{src/lib/services/abstract/app.service.ts → lib/services/abstract/app.service.d.ts} +1 -1
  173. package/lib/services/abstract/keyboard-shortcuts.service.d.ts +11 -0
  174. package/lib/services/abstract/options-helper.service.d.ts +10 -0
  175. package/{src/lib/services/abstract/toast.service.ts → lib/services/abstract/toast.service.d.ts} +1 -2
  176. package/lib/services/accessibility.service.d.ts +18 -0
  177. package/{src/lib/services/local-events.service.ts → lib/services/local-events.service.d.ts} +7 -10
  178. package/lib/services/node-entries.service.d.ts +69 -0
  179. package/lib/services/node-helper.service.d.ts +56 -0
  180. package/lib/services/nodes-drag-drop.service.d.ts +41 -0
  181. package/lib/services/options-helper-data.service.d.ts +75 -0
  182. package/lib/services/repo-url.service.d.ts +25 -0
  183. package/lib/services/temporary-storage.service.d.ts +35 -0
  184. package/lib/services/ui.service.d.ts +41 -0
  185. package/lib/sort-dropdown/sort-dropdown.component.d.ts +15 -0
  186. package/lib/spinner/spinner.component.d.ts +7 -0
  187. package/lib/translations/fallback-translation-handler.d.ts +4 -0
  188. package/lib/translations/languages.d.ts +4 -0
  189. package/lib/translations/translation-loader.d.ts +51 -0
  190. package/{src/lib/translations/translation-source.ts → lib/translations/translation-source.d.ts} +4 -4
  191. package/lib/translations/translations.module.d.ts +15 -0
  192. package/lib/translations/translations.service.d.ts +30 -0
  193. package/lib/types/accessibillity.d.ts +15 -0
  194. package/{src/lib/types/drag-drop.ts → lib/types/drag-drop.d.ts} +0 -3
  195. package/lib/types/keyboard-shortcuts.d.ts +10 -0
  196. package/lib/types/list-item.d.ts +55 -0
  197. package/lib/types/option-item.d.ts +236 -0
  198. package/lib/types/workflow.d.ts +14 -0
  199. package/lib/util/DateHelper.d.ts +44 -0
  200. package/lib/util/VCard.d.ts +66 -0
  201. package/lib/util/color-helper.d.ts +25 -0
  202. package/lib/util/duration-helper.d.ts +14 -0
  203. package/lib/util/functions.d.ts +4 -0
  204. package/lib/util/helper.d.ts +20 -0
  205. package/lib/util/isNumeric.d.ts +5 -0
  206. package/lib/util/rest-helper.d.ts +10 -0
  207. package/lib/util/ui-animation.d.ts +39 -0
  208. package/lib/util/ui-constants.d.ts +18 -0
  209. package/{src/module.ts → module.d.ts} +0 -4
  210. package/package.json +22 -8
  211. package/.browserslistrc +0 -16
  212. package/.eslintrc.json +0 -44
  213. package/karma.conf.js +0 -42
  214. package/ng-package.json +0 -10
  215. package/src/lib/actionbar/actionbar.component.html +0 -59
  216. package/src/lib/actionbar/actionbar.component.scss +0 -123
  217. package/src/lib/actionbar/actionbar.component.ts +0 -174
  218. package/src/lib/common/edu-sharing-ui-common.module.ts +0 -80
  219. package/src/lib/directives/border-box-observer.directive.ts +0 -75
  220. package/src/lib/directives/check-text-overflow.directive.ts +0 -61
  221. package/src/lib/directives/drag-nodes/drag-nodes.ts +0 -32
  222. package/src/lib/directives/drag-nodes/nodes-drag-source.directive.ts +0 -79
  223. package/src/lib/directives/drag-nodes/nodes-drag.directive.ts +0 -43
  224. package/src/lib/directives/drag-nodes/nodes-drop-target.directive.ts +0 -116
  225. package/src/lib/directives/focus-state.directive.ts +0 -34
  226. package/src/lib/directives/icon.directive.ts +0 -142
  227. package/src/lib/directives/nodes-drop-target-legacy.directive.ts +0 -155
  228. package/src/lib/dropdown/dropdown.component.html +0 -32
  229. package/src/lib/dropdown/dropdown.component.scss +0 -67
  230. package/src/lib/dropdown/dropdown.component.ts +0 -71
  231. package/src/lib/edu-sharing-ui-configuration.ts +0 -47
  232. package/src/lib/edu-sharing-ui.module.ts +0 -49
  233. package/src/lib/list-items/available-widgets.ts +0 -30
  234. package/src/lib/list-items/format-duration.pipe.ts +0 -17
  235. package/src/lib/list-items/list-base/list-base.component.html +0 -52
  236. package/src/lib/list-items/list-base/list-base.component.ts +0 -44
  237. package/src/lib/list-items/list-collection-info/list-collection-info.component.html +0 -48
  238. package/src/lib/list-items/list-collection-info/list-collection-info.component.scss +0 -8
  239. package/src/lib/list-items/list-collection-info/list-collection-info.component.ts +0 -24
  240. package/src/lib/list-items/list-counts/list-counts.component.html +0 -1
  241. package/src/lib/list-items/list-counts/list-counts.component.scss +0 -3
  242. package/src/lib/list-items/list-counts/list-counts.component.ts +0 -59
  243. package/src/lib/list-items/list-items.module.ts +0 -33
  244. package/src/lib/list-items/list-node-license/list-node-license.component.html +0 -8
  245. package/src/lib/list-items/list-node-license/list-node-license.component.ts +0 -47
  246. package/src/lib/list-items/list-node-replication-source/list-node-replication-source.component.html +0 -11
  247. package/src/lib/list-items/list-node-replication-source/list-node-replication-source.component.ts +0 -60
  248. package/src/lib/list-items/list-node-workflow/list-node-workflow.component.html +0 -3
  249. package/src/lib/list-items/list-node-workflow/list-node-workflow.component.ts +0 -21
  250. package/src/lib/list-items/list-text/list-text.component.html +0 -176
  251. package/src/lib/list-items/list-text/list-text.component.scss +0 -3
  252. package/src/lib/list-items/list-text/list-text.component.ts +0 -107
  253. package/src/lib/list-items/list-widget.ts +0 -52
  254. package/src/lib/list-items/node-row/node-row.component.html +0 -31
  255. package/src/lib/list-items/node-row/node-row.component.scss +0 -50
  256. package/src/lib/list-items/node-row/node-row.component.ts +0 -16
  257. package/src/lib/list-items/node-source.pipe.ts +0 -48
  258. package/src/lib/node-entries/combined-data-source.ts +0 -51
  259. package/src/lib/node-entries/drag-preview/drag-preview.component.html +0 -6
  260. package/src/lib/node-entries/drag-preview/drag-preview.component.scss +0 -35
  261. package/src/lib/node-entries/drag-preview/drag-preview.component.ts +0 -15
  262. package/src/lib/node-entries/items-cap.ts +0 -54
  263. package/src/lib/node-entries/list-item-label.pipe.ts +0 -28
  264. package/src/lib/node-entries/mixins.scss +0 -23
  265. package/src/lib/node-entries/node-cache.spec.ts +0 -199
  266. package/src/lib/node-entries/node-cache.ts +0 -81
  267. package/src/lib/node-entries/node-data-source.ts +0 -148
  268. package/src/lib/node-entries/node-entries-card/node-entries-card.component.html +0 -167
  269. package/src/lib/node-entries/node-entries-card/node-entries-card.component.scss +0 -28
  270. package/src/lib/node-entries/node-entries-card/node-entries-card.component.ts +0 -132
  271. package/src/lib/node-entries/node-entries-card/node-entries-card.main.scss +0 -261
  272. package/src/lib/node-entries/node-entries-card-grid/node-entries-card-grid.component.html +0 -205
  273. package/src/lib/node-entries/node-entries-card-grid/node-entries-card-grid.component.scss +0 -181
  274. package/src/lib/node-entries/node-entries-card-grid/node-entries-card-grid.component.ts +0 -361
  275. package/src/lib/node-entries/node-entries-card-small/node-entries-card-small.component.html +0 -100
  276. package/src/lib/node-entries/node-entries-card-small/node-entries-card-small.component.scss +0 -46
  277. package/src/lib/node-entries/node-entries-card-small/node-entries-card-small.component.ts +0 -40
  278. package/src/lib/node-entries/node-entries-global-options/node-entries-global-options.component.html +0 -23
  279. package/src/lib/node-entries/node-entries-global-options/node-entries-global-options.component.scss +0 -58
  280. package/src/lib/node-entries/node-entries-global-options/node-entries-global-options.component.ts +0 -16
  281. package/src/lib/node-entries/node-entries-global.service.ts +0 -79
  282. package/src/lib/node-entries/node-entries-table/column-chooser/column-chooser.component.html +0 -25
  283. package/src/lib/node-entries/node-entries-table/column-chooser/column-chooser.component.scss +0 -32
  284. package/src/lib/node-entries/node-entries-table/column-chooser/column-chooser.component.ts +0 -31
  285. package/src/lib/node-entries/node-entries-table/node-entries-table.component.html +0 -270
  286. package/src/lib/node-entries/node-entries-table/node-entries-table.component.scss +0 -169
  287. package/src/lib/node-entries/node-entries-table/node-entries-table.component.ts +0 -333
  288. package/src/lib/node-entries/node-entries-wrapper.component.ts +0 -363
  289. package/src/lib/node-entries/node-entries.component.html +0 -33
  290. package/src/lib/node-entries/node-entries.component.scss +0 -13
  291. package/src/lib/node-entries/node-entries.component.ts +0 -151
  292. package/src/lib/node-entries/node-entries.module.ts +0 -93
  293. package/src/lib/node-entries/node-rating/node-rating.component.html +0 -53
  294. package/src/lib/node-entries/node-rating/node-rating.component.scss +0 -31
  295. package/src/lib/node-entries/node-rating/node-rating.component.ts +0 -105
  296. package/src/lib/node-entries/node-stats-badges/node-stats-badges.component.html +0 -39
  297. package/src/lib/node-entries/node-stats-badges/node-stats-badges.component.scss +0 -44
  298. package/src/lib/node-entries/node-stats-badges/node-stats-badges.component.ts +0 -43
  299. package/src/lib/node-entries/node-type-badge/node-type-badge.component.html +0 -31
  300. package/src/lib/node-entries/node-type-badge/node-type-badge.component.scss +0 -5
  301. package/src/lib/node-entries/node-type-badge/node-type-badge.component.ts +0 -36
  302. package/src/lib/node-entries/option-button/option-button.component.ts +0 -42
  303. package/src/lib/node-entries/preview-image/preview-image.component.html +0 -19
  304. package/src/lib/node-entries/preview-image/preview-image.component.scss +0 -31
  305. package/src/lib/node-entries/preview-image/preview-image.component.ts +0 -47
  306. package/src/lib/node-entries/sort-select-panel/sort-select-panel.component.html +0 -27
  307. package/src/lib/node-entries/sort-select-panel/sort-select-panel.component.scss +0 -9
  308. package/src/lib/node-entries/sort-select-panel/sort-select-panel.component.ts +0 -26
  309. package/src/lib/node-url/node-url.component.html +0 -66
  310. package/src/lib/node-url/node-url.component.scss +0 -32
  311. package/src/lib/node-url/node-url.component.ts +0 -136
  312. package/src/lib/pipes/file-size.pipe.ts +0 -24
  313. package/src/lib/pipes/format-date.pipe.ts +0 -39
  314. package/src/lib/pipes/node-icon.pipe.ts +0 -11
  315. package/src/lib/pipes/node-image-size.pipe.ts +0 -18
  316. package/src/lib/pipes/node-image.pipe.ts +0 -71
  317. package/src/lib/pipes/node-person-name.pipe.ts +0 -41
  318. package/src/lib/pipes/node-title.pipe.ts +0 -12
  319. package/src/lib/pipes/option-tooltip.pipe.ts +0 -32
  320. package/src/lib/pipes/replace-chars.pipe.ts +0 -21
  321. package/src/lib/pipes/vcard-name.pipe.ts +0 -11
  322. package/src/lib/services/abstract/keyboard-shortcuts.service.ts +0 -10
  323. package/src/lib/services/abstract/options-helper.service.ts +0 -29
  324. package/src/lib/services/accessibility.service.ts +0 -101
  325. package/src/lib/services/node-entries.service.ts +0 -172
  326. package/src/lib/services/node-helper.service.ts +0 -239
  327. package/src/lib/services/nodes-drag-drop.service.ts +0 -165
  328. package/src/lib/services/options-helper-data.service.ts +0 -186
  329. package/src/lib/services/repo-url.service.ts +0 -46
  330. package/src/lib/services/temporary-storage.service.ts +0 -58
  331. package/src/lib/services/ui.service.ts +0 -182
  332. package/src/lib/sort-dropdown/sort-dropdown.component.html +0 -22
  333. package/src/lib/sort-dropdown/sort-dropdown.component.scss +0 -47
  334. package/src/lib/sort-dropdown/sort-dropdown.component.ts +0 -42
  335. package/src/lib/spinner/spinner.component.html +0 -14
  336. package/src/lib/spinner/spinner.component.scss +0 -141
  337. package/src/lib/spinner/spinner.component.ts +0 -12
  338. package/src/lib/translations/README.md +0 -44
  339. package/src/lib/translations/fallback-translation-handler.ts +0 -7
  340. package/src/lib/translations/languages.ts +0 -6
  341. package/src/lib/translations/translation-loader.spec.ts +0 -352
  342. package/src/lib/translations/translation-loader.ts +0 -189
  343. package/src/lib/translations/translations.module.ts +0 -49
  344. package/src/lib/translations/translations.service.spec.ts +0 -152
  345. package/src/lib/translations/translations.service.ts +0 -188
  346. package/src/lib/types/accessibillity.ts +0 -15
  347. package/src/lib/types/keyboard-shortcuts.ts +0 -29
  348. package/src/lib/types/list-item.ts +0 -67
  349. package/src/lib/types/option-item.ts +0 -247
  350. package/src/lib/types/workflow.ts +0 -35
  351. package/src/lib/util/DateHelper.spec.ts +0 -112
  352. package/src/lib/util/DateHelper.ts +0 -197
  353. package/src/lib/util/VCard.ts +0 -277
  354. package/src/lib/util/color-helper.ts +0 -125
  355. package/src/lib/util/duration-helper.spec.ts +0 -35
  356. package/src/lib/util/duration-helper.ts +0 -98
  357. package/src/lib/util/functions.ts +0 -15
  358. package/src/lib/util/helper.ts +0 -60
  359. package/src/lib/util/isNumeric.ts +0 -13
  360. package/src/lib/util/rest-helper.ts +0 -28
  361. package/src/lib/util/ui-animation.ts +0 -154
  362. package/src/lib/util/ui-constants.ts +0 -20
  363. package/src/test.ts +0 -28
  364. package/tsconfig.lib.json +0 -15
  365. package/tsconfig.lib.prod.json +0 -10
  366. package/tsconfig.spec.json +0 -17
  367. /package/{src/lib/types/api-models.ts → lib/types/api-models.d.ts} +0 -0
@@ -0,0 +1,171 @@
1
+ import { Injectable, Optional } from '@angular/core';
2
+ import { BehaviorSubject, from, of as observableOf } from 'rxjs';
3
+ import { first, map, switchMap, tap } from 'rxjs/operators';
4
+ import { LANGUAGES } from './languages';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "ngx-edu-sharing-api";
7
+ import * as i2 from "@angular/router";
8
+ import * as i3 from "@ngx-translate/core";
9
+ import * as i4 from "../services/abstract/app.service";
10
+ // 'none' means that only labels should be shown (for dev)
11
+ const DEFAULT_SUPPORTED_LANGUAGES = ['de', 'de-informal', 'en', 'none'];
12
+ export class TranslationsService {
13
+ constructor(config, route, storage, translate, appService) {
14
+ this.config = config;
15
+ this.route = route;
16
+ this.storage = storage;
17
+ this.translate = translate;
18
+ this.appService = appService;
19
+ this.languageLoaded = new BehaviorSubject(false);
20
+ }
21
+ /**
22
+ * Determines and configures the language to use and triggers loading of translations with
23
+ * ngx-translate.
24
+ *
25
+ * Call this once in the app component.
26
+ */
27
+ initialize() {
28
+ const supportedLanguages$ = from(this.config.get('supportedLanguages', DEFAULT_SUPPORTED_LANGUAGES));
29
+ if (this.appService?.isRunningApp()) {
30
+ return supportedLanguages$.pipe(switchMap((supportedLanguages) => this.initializeCordova(supportedLanguages)), map(() => void 0));
31
+ }
32
+ supportedLanguages$
33
+ .pipe(tap((supportedLanguages) => {
34
+ if (!supportedLanguages.includes('none')) {
35
+ supportedLanguages.push('none');
36
+ }
37
+ }), tap((supportedLanguages) => this.translate.addLangs(supportedLanguages)),
38
+ // Select queryParams.locale if set meaningfully
39
+ switchMap((supportedLanguages) => this.route.queryParams.pipe(first(), map((params) => {
40
+ let selectedLanguage = null;
41
+ if (supportedLanguages.indexOf(params.locale) !== -1) {
42
+ selectedLanguage = params.locale;
43
+ }
44
+ else if (params.locale) {
45
+ console.warn(`Url requested language ${params.locale}, ` +
46
+ 'but it was not found or is not configured in the allowed languages: ' +
47
+ supportedLanguages);
48
+ }
49
+ return {
50
+ supportedLanguages,
51
+ selectedLanguage,
52
+ };
53
+ }))),
54
+ // Select storage.get('language') if set meaningfully
55
+ switchMap(({ supportedLanguages, selectedLanguage }) => {
56
+ if (selectedLanguage) {
57
+ return observableOf({
58
+ supportedLanguages,
59
+ selectedLanguage,
60
+ useStored: false,
61
+ });
62
+ }
63
+ else {
64
+ return this.storage.get('language').pipe(map((storageLanguage) => {
65
+ let useStored = false;
66
+ if (supportedLanguages.indexOf(storageLanguage) !== -1) {
67
+ selectedLanguage = storageLanguage;
68
+ useStored = true;
69
+ }
70
+ return {
71
+ supportedLanguages,
72
+ selectedLanguage,
73
+ useStored,
74
+ };
75
+ }));
76
+ }
77
+ }),
78
+ // Use browser language if available, otherwise fall back to the first supported
79
+ // language.
80
+ map(({ supportedLanguages, selectedLanguage, useStored }) => {
81
+ if (selectedLanguage) {
82
+ return {
83
+ supportedLanguages,
84
+ selectedLanguage,
85
+ useStored,
86
+ };
87
+ }
88
+ else if (
89
+ // Select browser language if set meaningfully
90
+ supportedLanguages.indexOf(this.translate.getBrowserLang()) !== -1) {
91
+ return {
92
+ supportedLanguages,
93
+ selectedLanguage: this.translate.getBrowserLang(),
94
+ useStored,
95
+ };
96
+ }
97
+ else {
98
+ // Select first supported language
99
+ return {
100
+ supportedLanguages,
101
+ selectedLanguage: supportedLanguages[0],
102
+ useStored,
103
+ };
104
+ }
105
+ }),
106
+ // Set fallback language
107
+ tap(({ supportedLanguages, selectedLanguage, useStored }) => {
108
+ if (!useStored) {
109
+ this.storage.set('language', selectedLanguage);
110
+ }
111
+ if (selectedLanguage === 'none') {
112
+ this.translate.setDefaultLang('none');
113
+ }
114
+ else if (selectedLanguage === 'de-informal') {
115
+ this.translate.setDefaultLang('de');
116
+ }
117
+ else {
118
+ this.translate.setDefaultLang(supportedLanguages[0]);
119
+ }
120
+ }),
121
+ // Configure `ngx-translate` to use the determined language and trigger loading of
122
+ // translations.
123
+ switchMap(({ selectedLanguage }) => {
124
+ // console.log('language used: ' + selectedLanguage);
125
+ this.language = selectedLanguage;
126
+ return this.translate.use(selectedLanguage).pipe(map(() => void 0));
127
+ }))
128
+ .subscribe(() => {
129
+ // Notify anyone waiting for translations to be loaded.
130
+ this.languageLoaded.next(true);
131
+ });
132
+ return this.waitForInit();
133
+ }
134
+ async initializeCordova(supportedLanguages = DEFAULT_SUPPORTED_LANGUAGES) {
135
+ this.translate.addLangs(supportedLanguages);
136
+ let language = supportedLanguages[0];
137
+ this.translate.setDefaultLang(language);
138
+ this.translate.use(language);
139
+ this.language = language;
140
+ const data = await this.appService.getLanguage();
141
+ if (supportedLanguages.indexOf(data) != -1) {
142
+ language = data;
143
+ }
144
+ this.language = language;
145
+ this.translate.use(language).subscribe(() => {
146
+ this.languageLoaded.next(true);
147
+ });
148
+ // this.translate.getTranslation(language).subscribe(() => {
149
+ // });
150
+ return this.waitForInit();
151
+ }
152
+ waitForInit() {
153
+ return this.languageLoaded.pipe(first((languageLoaded) => languageLoaded), map(() => void 0));
154
+ }
155
+ /** Same as `translate.currentLang`. */
156
+ getLanguage() {
157
+ return this.language;
158
+ }
159
+ getISOLanguage() {
160
+ return LANGUAGES[this.language];
161
+ }
162
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: TranslationsService, deps: [{ token: i1.ConfigService }, { token: i2.ActivatedRoute }, { token: i1.SessionStorageService }, { token: i3.TranslateService }, { token: i4.AppService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
163
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: TranslationsService, providedIn: 'root' }); }
164
+ }
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: TranslationsService, decorators: [{
166
+ type: Injectable,
167
+ args: [{ providedIn: 'root' }]
168
+ }], ctorParameters: function () { return [{ type: i1.ConfigService }, { type: i2.ActivatedRoute }, { type: i1.SessionStorageService }, { type: i3.TranslateService }, { type: i4.AppService, decorators: [{
169
+ type: Optional
170
+ }] }]; } });
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3RyYW5zbGF0aW9ucy90cmFuc2xhdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBYyxFQUFFLElBQUksWUFBWSxFQUFNLE1BQU0sTUFBTSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7QUFJeEMsMERBQTBEO0FBQzFELE1BQU0sMkJBQTJCLEdBQUcsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztBQUd4RSxNQUFNLE9BQU8sbUJBQW1CO0lBSTVCLFlBQ1ksTUFBcUIsRUFDckIsS0FBcUIsRUFDckIsT0FBOEIsRUFDOUIsU0FBMkIsRUFDZixVQUFzQjtRQUpsQyxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLFlBQU8sR0FBUCxPQUFPLENBQXVCO1FBQzlCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQ2YsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQVB0QyxtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBUWpELENBQUM7SUFFSjs7Ozs7T0FLRztJQUNILFVBQVU7UUFDTixNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLEVBQUUsMkJBQTJCLENBQUMsQ0FD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LENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVc7UUFDUCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUMzQixLQUFLLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxFQUN6QyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDcEIsQ0FBQztJQUNOLENBQUM7SUFFRCx1Q0FBdUM7SUFDdkMsV0FBVztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsY0FBYztRQUNWLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwQyxDQUFDOzhHQTdLUSxtQkFBbUI7a0hBQW5CLG1CQUFtQixjQUROLE1BQU07OzJGQUNuQixtQkFBbUI7a0JBRC9CLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFVekIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZyb20sIE9ic2VydmFibGUsIG9mIGFzIG9ic2VydmFibGVPZiwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpcnN0LCBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTEFOR1VBR0VTIH0gZnJvbSAnLi9sYW5ndWFnZXMnO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSwgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5pbXBvcnQgeyBBcHBTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYWJzdHJhY3QvYXBwLnNlcnZpY2UnO1xuXG4vLyAnbm9uZScgbWVhbnMgdGhhdCBvbmx5IGxhYmVscyBzaG91bGQgYmUgc2hvd24gKGZvciBkZXYpXG5jb25zdCBERUZBVUxUX1NVUFBPUlRFRF9MQU5HVUFHRVMgPSBbJ2RlJywgJ2RlLWluZm9ybWFsJywgJ2VuJywgJ25vbmUnXTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGlvbnNTZXJ2aWNlIHtcbiAgICBwcml2YXRlIGxhbmd1YWdlOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBsYW5ndWFnZUxvYWRlZCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgY29uZmlnOiBDb25maWdTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJpdmF0ZSBzdG9yYWdlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGFwcFNlcnZpY2U6IEFwcFNlcnZpY2UsXG4gICAgKSB7fVxuXG4gICAgLyoqXG4gICAgICogRGV0ZXJtaW5lcyBhbmQgY29uZmlndXJlcyB0aGUgbGFuZ3VhZ2UgdG8gdXNlIGFuZCB0cmlnZ2VycyBsb2FkaW5nIG9mIHRyYW5zbGF0aW9ucyB3aXRoXG4gICAgICogbmd4LXRyYW5zbGF0ZS5cbiAgICAgKlxuICAgICAqIENhbGwgdGhpcyBvbmNlIGluIHRoZSBhcHAgY29tcG9uZW50LlxuICAgICAqL1xuICAgIGluaXRpYWxpemUoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHN1cHBvcnRlZExhbmd1YWdlcyQgPSBmcm9tKFxuICAgICAgICAgICAgdGhpcy5jb25maWcuZ2V0KCdzdXBwb3J0ZWRMYW5ndWFnZXMnLCBERUZBVUxUX1NVUFBPUlRFRF9MQU5HVUFHRVMpLFxuICAgICAgICApO1xuICAgICAgICBpZiAodGhpcy5hcHBTZXJ2aWNlPy5pc1J1bm5pbmdBcHAoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHN1cHBvcnRlZExhbmd1YWdlcyQucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKHN1cHBvcnRlZExhbmd1YWdlczogc3RyaW5nW10pID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZUNvcmRvdmEoc3VwcG9ydGVkTGFuZ3VhZ2VzKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIG1hcCgoKSA9PiB2b2lkIDApLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBzdXBwb3J0ZWRMYW5ndWFnZXMkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YXAoKHN1cHBvcnRlZExhbmd1YWdlcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXN1cHBvcnRlZExhbmd1YWdlcy5pbmNsdWRlcygnbm9uZScpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0ZWRMYW5ndWFnZXMucHVzaCgnbm9uZScpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgdGFwKChzdXBwb3J0ZWRMYW5ndWFnZXM6IHN0cmluZ1tdKSA9PiB0aGlzLnRyYW5zbGF0ZS5hZGRMYW5ncyhzdXBwb3J0ZWRMYW5ndWFnZXMpKSxcbiAgICAgICAgICAgICAgICAvLyBTZWxlY3QgcXVlcnlQYXJhbXMubG9jYWxlIGlmIHNldCBtZWFuaW5nZnVsbHlcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKHN1cHBvcnRlZExhbmd1YWdlczogc3RyaW5nW10pID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucm91dGUucXVlcnlQYXJhbXMucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAoKHBhcmFtcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzZWxlY3RlZExhbmd1YWdlOiBzdHJpbmcgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdXBwb3J0ZWRMYW5ndWFnZXMuaW5kZXhPZihwYXJhbXMubG9jYWxlKSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRMYW5ndWFnZSA9IHBhcmFtcy5sb2NhbGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChwYXJhbXMubG9jYWxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBVcmwgcmVxdWVzdGVkIGxhbmd1YWdlICR7cGFyYW1zLmxvY2FsZX0sIGAgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdidXQgaXQgd2FzIG5vdCBmb3VuZCBvciBpcyBub3QgY29uZmlndXJlZCBpbiB0aGUgYWxsb3dlZCBsYW5ndWFnZXM6ICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRlZExhbmd1YWdlcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydGVkTGFuZ3VhZ2VzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZExhbmd1YWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIC8vIFNlbGVjdCBzdG9yYWdlLmdldCgnbGFuZ3VhZ2UnKSBpZiBzZXQgbWVhbmluZ2Z1bGx5XG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCh7IHN1cHBvcnRlZExhbmd1YWdlcywgc2VsZWN0ZWRMYW5ndWFnZSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzZWxlY3RlZExhbmd1YWdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2JzZXJ2YWJsZU9mKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0ZWRMYW5ndWFnZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRMYW5ndWFnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VTdG9yZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zdG9yYWdlLmdldCgnbGFuZ3VhZ2UnKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcCgoc3RvcmFnZUxhbmd1YWdlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB1c2VTdG9yZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN1cHBvcnRlZExhbmd1YWdlcy5pbmRleE9mKHN0b3JhZ2VMYW5ndWFnZSkgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZExhbmd1YWdlID0gc3RvcmFnZUxhbmd1YWdlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlU3RvcmVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydGVkTGFuZ3VhZ2VzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRMYW5ndWFnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZVN0b3JlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAvLyBVc2UgYnJvd3NlciBsYW5ndWFnZSBpZiBhdmFpbGFibGUsIG90aGVyd2lzZSBmYWxsIGJhY2sgdG8gdGhlIGZpcnN0IHN1cHBvcnRlZFxuICAgICAgICAgICAgICAgIC8vIGxhbmd1YWdlLlxuICAgICAgICAgICAgICAgIG1hcCgoeyBzdXBwb3J0ZWRMYW5ndWFnZXMsIHNlbGVjdGVkTGFuZ3VhZ2UsIHVzZVN0b3JlZCB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzZWxlY3RlZExhbmd1YWdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRlZExhbmd1YWdlcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZExhbmd1YWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZVN0b3JlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBTZWxlY3QgYnJvd3NlciBsYW5ndWFnZSBpZiBzZXQgbWVhbmluZ2Z1bGx5XG4gICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0ZWRMYW5ndWFnZXMuaW5kZXhPZih0aGlzLnRyYW5zbGF0ZS5nZXRCcm93c2VyTGFuZygpKSAhPT0gLTFcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRlZExhbmd1YWdlcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZExhbmd1YWdlOiB0aGlzLnRyYW5zbGF0ZS5nZXRCcm93c2VyTGFuZygpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZVN0b3JlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBTZWxlY3QgZmlyc3Qgc3VwcG9ydGVkIGxhbmd1YWdlXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRlZExhbmd1YWdlcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZExhbmd1YWdlOiBzdXBwb3J0ZWRMYW5ndWFnZXNbMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlU3RvcmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIC8vIFNldCBmYWxsYmFjayBsYW5ndWFnZVxuICAgICAgICAgICAgICAgIHRhcCgoeyBzdXBwb3J0ZWRMYW5ndWFnZXMsIHNlbGVjdGVkTGFuZ3VhZ2UsIHVzZVN0b3JlZCB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdXNlU3RvcmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0b3JhZ2Uuc2V0KCdsYW5ndWFnZScsIHNlbGVjdGVkTGFuZ3VhZ2UpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChzZWxlY3RlZExhbmd1YWdlID09PSAnbm9uZScpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlLnNldERlZmF1bHRMYW5nKCdub25lJyk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWRMYW5ndWFnZSA9PT0gJ2RlLWluZm9ybWFsJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGUuc2V0RGVmYXVsdExhbmcoJ2RlJyk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS5zZXREZWZhdWx0TGFuZyhzdXBwb3J0ZWRMYW5ndWFnZXNbMF0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgLy8gQ29uZmlndXJlIGBuZ3gtdHJhbnNsYXRlYCB0byB1c2UgdGhlIGRldGVybWluZWQgbGFuZ3VhZ2UgYW5kIHRyaWdnZXIgbG9hZGluZyBvZlxuICAgICAgICAgICAgICAgIC8vIHRyYW5zbGF0aW9ucy5cbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKHsgc2VsZWN0ZWRMYW5ndWFnZSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdsYW5ndWFnZSB1c2VkOiAnICsgc2VsZWN0ZWRMYW5ndWFnZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2UgPSBzZWxlY3RlZExhbmd1YWdlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUudXNlKHNlbGVjdGVkTGFuZ3VhZ2UpLnBpcGUobWFwKCgpID0+IHZvaWQgMCkpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gTm90aWZ5IGFueW9uZSB3YWl0aW5nIGZvciB0cmFuc2xhdGlvbnMgdG8gYmUgbG9hZGVkLlxuICAgICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VMb2FkZWQubmV4dCh0cnVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdGhpcy53YWl0Rm9ySW5pdCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgaW5pdGlhbGl6ZUNvcmRvdmEoc3VwcG9ydGVkTGFuZ3VhZ2VzID0gREVGQVVMVF9TVVBQT1JURURfTEFOR1VBR0VTKSB7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmFkZExhbmdzKHN1cHBvcnRlZExhbmd1YWdlcyk7XG4gICAgICAgIGxldCBsYW5ndWFnZSA9IHN1cHBvcnRlZExhbmd1YWdlc1swXTtcbiAgICAgICAgdGhpcy50cmFuc2xhdGUuc2V0RGVmYXVsdExhbmcobGFuZ3VhZ2UpO1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZS51c2UobGFuZ3VhZ2UpO1xuICAgICAgICB0aGlzLmxhbmd1YWdlID0gbGFuZ3VhZ2U7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmFwcFNlcnZpY2UuZ2V0TGFuZ3VhZ2UoKTtcbiAgICAgICAgaWYgKHN1cHBvcnRlZExhbmd1YWdlcy5pbmRleE9mKGRhdGEpICE9IC0xKSB7XG4gICAgICAgICAgICBsYW5ndWFnZSA9IGRhdGE7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5sYW5ndWFnZSA9IGxhbmd1YWdlO1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZS51c2UobGFuZ3VhZ2UpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxhbmd1YWdlTG9hZGVkLm5leHQodHJ1ZSk7XG4gICAgICAgIH0pO1xuICAgICAgICAvLyB0aGlzLnRyYW5zbGF0ZS5nZXRUcmFuc2xhdGlvbihsYW5ndWFnZSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgLy8gfSk7XG4gICAgICAgIHJldHVybiB0aGlzLndhaXRGb3JJbml0KCk7XG4gICAgfVxuXG4gICAgd2FpdEZvckluaXQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmxhbmd1YWdlTG9hZGVkLnBpcGUoXG4gICAgICAgICAgICBmaXJzdCgobGFuZ3VhZ2VMb2FkZWQpID0+IGxhbmd1YWdlTG9hZGVkKSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiB2b2lkIDApLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBTYW1lIGFzIGB0cmFuc2xhdGUuY3VycmVudExhbmdgLiAqL1xuICAgIGdldExhbmd1YWdlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmxhbmd1YWdlO1xuICAgIH1cblxuICAgIGdldElTT0xhbmd1YWdlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBMQU5HVUFHRVNbdGhpcy5sYW5ndWFnZV07XG4gICAgfVxufVxuIl19
@@ -0,0 +1,19 @@
1
+ export class AccessibilitySettings {
2
+ constructor() {
3
+ this.toastMode = 'all';
4
+ this.toastDuration = ToastDuration.Seconds_5;
5
+ this.contrastMode = false;
6
+ this.indicatorIcons = true;
7
+ }
8
+ }
9
+ export var ToastDuration;
10
+ (function (ToastDuration) {
11
+ ToastDuration[ToastDuration["Seconds_3"] = 3] = "Seconds_3";
12
+ ToastDuration[ToastDuration["Seconds_5"] = 5] = "Seconds_5";
13
+ ToastDuration[ToastDuration["Seconds_8"] = 8] = "Seconds_8";
14
+ ToastDuration[ToastDuration["Seconds_15"] = 15] = "Seconds_15";
15
+ ToastDuration[ToastDuration["Seconds_30"] = 30] = "Seconds_30";
16
+ ToastDuration[ToastDuration["Seconds_60"] = 60] = "Seconds_60";
17
+ ToastDuration[ToastDuration["Infinite"] = null] = "Infinite";
18
+ })(ToastDuration || (ToastDuration = {}));
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzaWJpbGxpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3R5cGVzL2FjY2Vzc2liaWxsaXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxxQkFBcUI7SUFBbEM7UUFDSSxjQUFTLEdBQXdCLEtBQUssQ0FBQztRQUN2QyxrQkFBYSxHQUFrQixhQUFhLENBQUMsU0FBUyxDQUFDO1FBQ3ZELGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLG1CQUFjLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7Q0FBQTtBQUNELE1BQU0sQ0FBTixJQUFZLGFBUVg7QUFSRCxXQUFZLGFBQWE7SUFDckIsMkRBQWEsQ0FBQTtJQUNiLDJEQUFhLENBQUE7SUFDYiwyREFBYSxDQUFBO0lBQ2IsOERBQWUsQ0FBQTtJQUNmLDhEQUFlLENBQUE7SUFDZiw4REFBZSxDQUFBO0lBQ2YsMENBQVcsSUFBSSxjQUFBLENBQUE7QUFDbkIsQ0FBQyxFQVJXLGFBQWEsS0FBYixhQUFhLFFBUXhCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEFjY2Vzc2liaWxpdHlTZXR0aW5ncyB7XG4gICAgdG9hc3RNb2RlOiAnaW1wb3J0YW50JyB8ICdhbGwnID0gJ2FsbCc7XG4gICAgdG9hc3REdXJhdGlvbjogVG9hc3REdXJhdGlvbiA9IFRvYXN0RHVyYXRpb24uU2Vjb25kc181O1xuICAgIGNvbnRyYXN0TW9kZSA9IGZhbHNlO1xuICAgIGluZGljYXRvckljb25zID0gdHJ1ZTtcbn1cbmV4cG9ydCBlbnVtIFRvYXN0RHVyYXRpb24ge1xuICAgIFNlY29uZHNfMyA9IDMsXG4gICAgU2Vjb25kc181ID0gNSxcbiAgICBTZWNvbmRzXzggPSA4LFxuICAgIFNlY29uZHNfMTUgPSAxNSxcbiAgICBTZWNvbmRzXzMwID0gMzAsXG4gICAgU2Vjb25kc182MCA9IDYwLFxuICAgIEluZmluaXRlID0gbnVsbCxcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLW1vZGVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvdHlwZXMvYXBpLW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTm9kZSB9IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuZXhwb3J0IGludGVyZmFjZSBWaXJ0dWFsTm9kZSBleHRlbmRzIE5vZGUge1xuICAgIHZpcnR1YWw6IGJvb2xlYW47XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1kcm9wLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi90eXBlcy9kcmFnLWRyb3AudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vZGUgfSBmcm9tICduZ3gtZWR1LXNoYXJpbmctYXBpJztcblxuZXhwb3J0IHR5cGUgRHJvcEFjdGlvbiA9ICdtb3ZlJyB8ICdjb3B5JyB8ICdsaW5rJztcblxuZXhwb3J0IGludGVyZmFjZSBEcmFnRGF0YTxUID0gdW5rbm93bj4ge1xuICAgIGRyYWdnZWROb2RlczogTm9kZVtdO1xuICAgIGFjdGlvbjogRHJvcEFjdGlvbjtcbiAgICB0YXJnZXQ6IFQ7XG59XG5leHBvcnQgaW50ZXJmYWNlIERyb3BUYXJnZXRTdGF0ZSB7XG4gICAgYWN0aW9uOiBEcm9wQWN0aW9uO1xuICAgIGNhbkRyb3A6IENhbkRyb3A7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FuRHJvcCB7XG4gICAgLyoqIFdoZXRoZXIgdGhlIHRhcmdldCBpcyBhIHZhbGlkIGRyb3AgdGFyZ2V0IGZvciB0aGUgZHJhZ2dlZCBub2RlcyBhbmQgdGhlIGdpdmVuIGFjdGlvbi4gKi9cbiAgICBhY2NlcHQ6IGJvb2xlYW47XG4gICAgLyoqIFdoZW4gZGVuaWVkLCB3aGV0aGVyIHRvIGV4cGxpY2l0bHkgbWFyayB0aGUgdGFyZ2V0IHdoZW4gaG92ZXJlZC4gKi9cbiAgICBkZW55RXhwbGljaXQ/OiBib29sZWFuO1xuICAgIC8qKiBBIG1lc3NhZ2UgdG8gc2hvdyB3aGVuIHRyaWVkIHRvIGRyb3Agb24gYSBkZW5pZWQgdGFyZ2V0LiAqL1xuICAgIGRlbnlSZWFzb24/OiBzdHJpbmc7XG59XG4iXX0=
@@ -0,0 +1,11 @@
1
+ export function matchesShortcutCondition(event, condition) {
2
+ return (event.code === condition.keyCode &&
3
+ matchesModifiers(event, condition.modifiers) &&
4
+ !condition.ignoreWhen?.(event));
5
+ }
6
+ function matchesModifiers(event, modifiers = []) {
7
+ return (modifiers.includes('Alt') === event.altKey &&
8
+ modifiers.includes('Shift') === event.shiftKey &&
9
+ modifiers.includes('Ctrl/Cmd') === (event.ctrlKey || event.metaKey));
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Ym9hcmQtc2hvcnRjdXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi90eXBlcy9rZXlib2FyZC1zaG9ydGN1dHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBV0EsTUFBTSxVQUFVLHdCQUF3QixDQUNwQyxLQUFvQixFQUNwQixTQUFvQztJQUVwQyxPQUFPLENBQ0gsS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsT0FBTztRQUNoQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQztRQUM1QyxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FDakMsQ0FBQztBQUNOLENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLEtBQW9CLEVBQUUsWUFBd0IsRUFBRTtJQUN0RSxPQUFPLENBQ0gsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLENBQUMsTUFBTTtRQUMxQyxTQUFTLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEtBQUssQ0FBQyxRQUFRO1FBQzlDLFNBQVMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FDdEUsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBNb2RpZmllciA9ICdDdHJsL0NtZCcgfCAnU2hpZnQnIHwgJ0FsdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgS2V5Ym9hcmRTaG9ydGN1dENvbmRpdGlvbiB7XG4gICAgbW9kaWZpZXJzPzogTW9kaWZpZXJbXTtcbiAgICBrZXlDb2RlOiBzdHJpbmc7XG4gICAgaWdub3JlV2hlbj86IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gYm9vbGVhbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgS2V5Ym9hcmRTaG9ydGN1dCBleHRlbmRzIEtleWJvYXJkU2hvcnRjdXRDb25kaXRpb24ge1xuICAgIGNhbGxiYWNrOiAoKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2hlc1Nob3J0Y3V0Q29uZGl0aW9uKFxuICAgIGV2ZW50OiBLZXlib2FyZEV2ZW50LFxuICAgIGNvbmRpdGlvbjogS2V5Ym9hcmRTaG9ydGN1dENvbmRpdGlvbixcbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAgIGV2ZW50LmNvZGUgPT09IGNvbmRpdGlvbi5rZXlDb2RlICYmXG4gICAgICAgIG1hdGNoZXNNb2RpZmllcnMoZXZlbnQsIGNvbmRpdGlvbi5tb2RpZmllcnMpICYmXG4gICAgICAgICFjb25kaXRpb24uaWdub3JlV2hlbj8uKGV2ZW50KVxuICAgICk7XG59XG5cbmZ1bmN0aW9uIG1hdGNoZXNNb2RpZmllcnMoZXZlbnQ6IEtleWJvYXJkRXZlbnQsIG1vZGlmaWVyczogTW9kaWZpZXJbXSA9IFtdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgICAgbW9kaWZpZXJzLmluY2x1ZGVzKCdBbHQnKSA9PT0gZXZlbnQuYWx0S2V5ICYmXG4gICAgICAgIG1vZGlmaWVycy5pbmNsdWRlcygnU2hpZnQnKSA9PT0gZXZlbnQuc2hpZnRLZXkgJiZcbiAgICAgICAgbW9kaWZpZXJzLmluY2x1ZGVzKCdDdHJsL0NtZCcpID09PSAoZXZlbnQuY3RybEtleSB8fCBldmVudC5tZXRhS2V5KVxuICAgICk7XG59XG4iXX0=
@@ -0,0 +1,41 @@
1
+ /**
2
+ * A list item info, which is basically a column
3
+ * Example:
4
+ this.columns.push(new ListItem(RestConstants.CM_NAME));
5
+ this.columns.push(new ListItem(RestConstants.CM_ARCHIVED_DATE));
6
+ */
7
+ export class ListItem {
8
+ constructor(type, name, config = {
9
+ showLabel: false,
10
+ }) {
11
+ this.type = type;
12
+ this.name = name;
13
+ this.config = config;
14
+ /**
15
+ * Should this item be shown by default
16
+ * @type {boolean}
17
+ */
18
+ this.visible = true;
19
+ }
20
+ static getCollectionDefaults() {
21
+ let columns = [];
22
+ columns.push(new ListItem('COLLECTION', 'title'));
23
+ columns.push(new ListItem('COLLECTION', 'info'));
24
+ columns.push(new ListItem('COLLECTION', 'scope'));
25
+ return columns;
26
+ }
27
+ }
28
+ export class ListItemSort extends ListItem {
29
+ constructor(type, name, mode = null, config = {
30
+ showLabel: false,
31
+ }) {
32
+ super(type, name, config);
33
+ this.type = type;
34
+ this.name = name;
35
+ this.mode = mode;
36
+ this.config = config;
37
+ }
38
+ }
39
+ export class SortEvent extends ListItemSort {
40
+ }
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi90eXBlcy9saXN0LWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0E7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQU8sUUFBUTtJQWdCakIsWUFDVyxJQUFrQixFQUNsQixJQUFZLEVBQ1osU0FBUztRQUNaLFNBQVMsRUFBRSxLQUFLO0tBQ25CO1FBSk0sU0FBSSxHQUFKLElBQUksQ0FBYztRQUNsQixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osV0FBTSxHQUFOLE1BQU0sQ0FFWjtRQXBCTDs7O1dBR0c7UUFDSSxZQUFPLEdBQUcsSUFBSSxDQUFDO0lBaUJuQixDQUFDO0lBRUosTUFBTSxDQUFDLHFCQUFxQjtRQUN4QixJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLFFBQVEsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNsRCxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksUUFBUSxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxRQUFRLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDbEQsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztDQUNKO0FBQ0QsTUFBTSxPQUFPLFlBQWEsU0FBUSxRQUFRO0lBQ3RDLFlBQ1csSUFBa0IsRUFDbEIsSUFBWSxFQUNaLE9BQTBDLElBQUksRUFDOUMsU0FBUztRQUNaLFNBQVMsRUFBRSxLQUFLO0tBQ25CO1FBRUQsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFQbkIsU0FBSSxHQUFKLElBQUksQ0FBYztRQUNsQixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osU0FBSSxHQUFKLElBQUksQ0FBMEM7UUFDOUMsV0FBTSxHQUFOLE1BQU0sQ0FFWjtJQUdMLENBQUM7Q0FDSjtBQUNELE1BQU0sT0FBTyxTQUFVLFNBQVEsWUFBWTtDQUUxQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNvcnQsIFNvcnREaXJlY3Rpb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IHR5cGUgTGlzdEl0ZW1UeXBlID0gJ05PREUnIHwgJ05PREVfUFJPUE9TQUwnIHwgJ0NPTExFQ1RJT04nIHwgJ09SRycgfCAnR1JPVVAnIHwgJ1VTRVInO1xuXG4vKipcbiAqIEEgbGlzdCBpdGVtIGluZm8sIHdoaWNoIGlzIGJhc2ljYWxseSBhIGNvbHVtblxuICogRXhhbXBsZTpcbiB0aGlzLmNvbHVtbnMucHVzaChuZXcgTGlzdEl0ZW0oUmVzdENvbnN0YW50cy5DTV9OQU1FKSk7XG4gdGhpcy5jb2x1bW5zLnB1c2gobmV3IExpc3RJdGVtKFJlc3RDb25zdGFudHMuQ01fQVJDSElWRURfREFURSkpO1xuICovXG5leHBvcnQgY2xhc3MgTGlzdEl0ZW0ge1xuICAgIC8qKlxuICAgICAqIFNob3VsZCB0aGlzIGl0ZW0gYmUgc2hvd24gYnkgZGVmYXVsdFxuICAgICAqIEB0eXBlIHtib29sZWFufVxuICAgICAqL1xuICAgIHB1YmxpYyB2aXNpYmxlID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIExhYmVsIHRvIGRpc3BsYXksIGlmIHNldCwgc2hvdWxkIGJlIHByZWZlcnJlZCBpbnN0ZWFkIG9mIGF1dG9tYXRpYyBpMThuXG4gICAgICovXG4gICAgcHVibGljIGxhYmVsOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBjdXN0b20gZm9ybWF0IHN0cmluZyBmb3IgZGF0ZSBmaWVsZHMsIG1heSBiZSBudWxsXG4gICAgICovXG4gICAgcHVibGljIGZvcm1hdDogc3RyaW5nO1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgdHlwZTogTGlzdEl0ZW1UeXBlLFxuICAgICAgICBwdWJsaWMgbmFtZTogc3RyaW5nLFxuICAgICAgICBwdWJsaWMgY29uZmlnID0ge1xuICAgICAgICAgICAgc2hvd0xhYmVsOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICApIHt9XG5cbiAgICBzdGF0aWMgZ2V0Q29sbGVjdGlvbkRlZmF1bHRzKCkge1xuICAgICAgICBsZXQgY29sdW1ucyA9IFtdO1xuICAgICAgICBjb2x1bW5zLnB1c2gobmV3IExpc3RJdGVtKCdDT0xMRUNUSU9OJywgJ3RpdGxlJykpO1xuICAgICAgICBjb2x1bW5zLnB1c2gobmV3IExpc3RJdGVtKCdDT0xMRUNUSU9OJywgJ2luZm8nKSk7XG4gICAgICAgIGNvbHVtbnMucHVzaChuZXcgTGlzdEl0ZW0oJ0NPTExFQ1RJT04nLCAnc2NvcGUnKSk7XG4gICAgICAgIHJldHVybiBjb2x1bW5zO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBMaXN0SXRlbVNvcnQgZXh0ZW5kcyBMaXN0SXRlbSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyB0eXBlOiBMaXN0SXRlbVR5cGUsXG4gICAgICAgIHB1YmxpYyBuYW1lOiBzdHJpbmcsXG4gICAgICAgIHB1YmxpYyBtb2RlOiAnYXNjZW5kaW5nJyB8ICdkZXNjZW5kaW5nJyB8IG51bGwgPSBudWxsLFxuICAgICAgICBwdWJsaWMgY29uZmlnID0ge1xuICAgICAgICAgICAgc2hvd0xhYmVsOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICApIHtcbiAgICAgICAgc3VwZXIodHlwZSwgbmFtZSwgY29uZmlnKTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgU29ydEV2ZW50IGV4dGVuZHMgTGlzdEl0ZW1Tb3J0IHtcbiAgICBhc2NlbmRpbmc6IGJvb2xlYW47XG59XG5cbi8qKlxuICogVUkgZWxlbWVudCB0aGF0IGFsbG93cyB0aGUgdXNlciB0byBjaG9vc2Ugc29ydGluZy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTb3J0UGFuZWwge1xuICAgIGFjdGl2ZTogc3RyaW5nO1xuICAgIGRpcmVjdGlvbjogU29ydERpcmVjdGlvbjtcbiAgICByZWFkb25seSBzb3J0Q2hhbmdlOiBPYnNlcnZhYmxlPFNvcnQ+O1xufVxuIl19
@@ -0,0 +1,174 @@
1
+ export var NodesRightMode;
2
+ (function (NodesRightMode) {
3
+ NodesRightMode[NodesRightMode["Local"] = 0] = "Local";
4
+ NodesRightMode[NodesRightMode["Original"] = 1] = "Original";
5
+ NodesRightMode[NodesRightMode["Both"] = 2] = "Both";
6
+ })(NodesRightMode || (NodesRightMode = {}));
7
+ export class OptionItem {
8
+ /**
9
+ *
10
+ * @param name the option name, which is used for the translation
11
+ * @param icon A material icon name
12
+ * @param callback A function callback when this option is chosen. Will get the current node
13
+ * passed as an argument. If available, the relevant nodes are passed as second argument,
14
+ * i.e., the selection, if any, or the current node as single-item array otherwise.
15
+ */
16
+ constructor(name, icon,
17
+ // TODO: Maybe switch to only providing the second parameter.
18
+ callback) {
19
+ this.name = name;
20
+ this.icon = icon;
21
+ this.callback = callback;
22
+ /**
23
+ * If true, this option will be shown all the time in the node table
24
+ * @type {boolean}
25
+ */
26
+ this.showAlways = false;
27
+ /**
28
+ * If true, this option will be shown as an action (if room). If none of the items has showAsAction set, the first items will always be shown as action
29
+ * @type {boolean}
30
+ */
31
+ this.showAsAction = false;
32
+ /**
33
+ * If true, this option will be shown as a toggle on the right side (provide iconToggle as a toggle icon)
34
+ * @type {boolean}
35
+ */
36
+ this.isToggle = false;
37
+ /**
38
+ * If true, shows a line at the top.
39
+ *
40
+ * This feature is usually handled now by associating an entry to a `group`
41
+ * now. However `isSeparate` is kept as fallback for now.
42
+ */
43
+ this.isSeparate = false;
44
+ /**
45
+ * The item will be indicated with an accent color in the menu.
46
+ *
47
+ * Used by the dropdown variant of the main menu to indicate the currently
48
+ * active scope.
49
+ */
50
+ this.isSelected = false;
51
+ /**
52
+ * If true, only displayed on a mobile device (based on the navigator agent)
53
+ * @type {boolean}
54
+ */
55
+ this.onlyMobile = false;
56
+ /**
57
+ * If true, only displayed on a desktop device (based on the navigator agent)
58
+ * @type {boolean}
59
+ */
60
+ this.onlyDesktop = false;
61
+ /**
62
+ * Set to false if the action should be shown, but should not be clickable
63
+ * @type {boolean}
64
+ */
65
+ this.isEnabled = true;
66
+ /**
67
+ * Show the given name (if false, only icon will show)
68
+ */
69
+ this.showName = true;
70
+ /**
71
+ * Or concat of supported element types for the action
72
+ */
73
+ this.elementType = [ElementType.Node];
74
+ this.permissionsMode = HideMode.Disable;
75
+ this.permissionsRightMode = NodesRightMode.Local;
76
+ this.toolpermissionsMode = HideMode.Disable;
77
+ }
78
+ }
79
+ export class CustomOptions {
80
+ constructor() {
81
+ /**
82
+ * If true, all existing or available options for the object stay
83
+ * If false, no options will be set, only the options in "addOptions" are used
84
+ */
85
+ this.useDefaultOptions = true;
86
+ }
87
+ }
88
+ export var HideMode;
89
+ (function (HideMode) {
90
+ HideMode[HideMode["Disable"] = 0] = "Disable";
91
+ HideMode[HideMode["Hide"] = 1] = "Hide";
92
+ })(HideMode || (HideMode = {}));
93
+ export var Scope;
94
+ (function (Scope) {
95
+ Scope["Render"] = "Render";
96
+ Scope["Search"] = "Search";
97
+ Scope["SearchCollections"] = "SearchCollections";
98
+ Scope["SavedSearches"] = "SavedSearches";
99
+ Scope["CollectionsReferences"] = "CollectionsReferences";
100
+ Scope["CollectionsProposals"] = "CollectionsProposals";
101
+ Scope["CollectionsCollection"] = "CollectionsCollection";
102
+ Scope["WorkspaceList"] = "WorkspaceList";
103
+ Scope["WorkspaceTree"] = "WorkspaceTree";
104
+ Scope["Sharing"] = "Sharing";
105
+ Scope["Oer"] = "Oer";
106
+ Scope["UserManagement"] = "UserManagement";
107
+ Scope["Stream"] = "Stream";
108
+ Scope["CreateMenu"] = "CreateMenu";
109
+ Scope["MediacenterNodesList"] = "MediacenterNodesList";
110
+ Scope["Admin"] = "Admin";
111
+ })(Scope || (Scope = {}));
112
+ export var ElementType;
113
+ (function (ElementType) {
114
+ ElementType[ElementType["Node"] = 0] = "Node";
115
+ ElementType[ElementType["NodeChild"] = 1] = "NodeChild";
116
+ ElementType[ElementType["MapRef"] = 2] = "MapRef";
117
+ ElementType[ElementType["NodePublishedCopy"] = 3] = "NodePublishedCopy";
118
+ ElementType[ElementType["NodeBlockedImport"] = 4] = "NodeBlockedImport";
119
+ ElementType[ElementType["NodeProposal"] = 5] = "NodeProposal";
120
+ ElementType[ElementType["Person"] = 6] = "Person";
121
+ ElementType[ElementType["Group"] = 7] = "Group";
122
+ ElementType[ElementType["SavedSearch"] = 8] = "SavedSearch";
123
+ ElementType[ElementType["Unknown"] = 9] = "Unknown";
124
+ })(ElementType || (ElementType = {}));
125
+ export class OptionGroup {
126
+ /**
127
+ * @param id The group identifier. Used to seperate elements based on the group
128
+ * @param priority Group with 0 has highest priority, higher values mean lower priority
129
+ */
130
+ constructor(id, priority) {
131
+ this.id = id;
132
+ this.priority = priority;
133
+ }
134
+ }
135
+ export class DefaultGroups {
136
+ static { this.Primary = new OptionGroup('Primary', 10); }
137
+ static { this.Create = new OptionGroup('Create', 15); }
138
+ static { this.View = new OptionGroup('View', 20); }
139
+ static { this.CreateConnector = new OptionGroup('CreateConnector', 25); }
140
+ static { this.CreateLtiTools = new OptionGroup('CreateLtiTools', 28); }
141
+ static { this.Reuse = new OptionGroup('Reuse', 30); }
142
+ static { this.Edit = new OptionGroup('Edit', 40); }
143
+ static { this.FileOperations = new OptionGroup('FileOperations', 50); }
144
+ static { this.Delete = new OptionGroup('Delete', 60); }
145
+ static { this.Toggles = new OptionGroup('Toggles', 70); }
146
+ }
147
+ export var Constrain;
148
+ (function (Constrain) {
149
+ Constrain[Constrain["CollectionReference"] = 0] = "CollectionReference";
150
+ Constrain[Constrain["NoCollectionReference"] = 1] = "NoCollectionReference";
151
+ Constrain[Constrain["Directory"] = 2] = "Directory";
152
+ Constrain[Constrain["Collections"] = 3] = "Collections";
153
+ Constrain[Constrain["Files"] = 4] = "Files";
154
+ Constrain[Constrain["FilesAndDirectories"] = 5] = "FilesAndDirectories";
155
+ Constrain[Constrain["Admin"] = 6] = "Admin";
156
+ Constrain[Constrain["AdminOrDebug"] = 7] = "AdminOrDebug";
157
+ Constrain[Constrain["NoBulk"] = 8] = "NoBulk";
158
+ Constrain[Constrain["NoSelection"] = 9] = "NoSelection";
159
+ Constrain[Constrain["ClipboardContent"] = 10] = "ClipboardContent";
160
+ Constrain[Constrain["AddObjects"] = 11] = "AddObjects";
161
+ Constrain[Constrain["HomeRepository"] = 12] = "HomeRepository";
162
+ Constrain[Constrain["User"] = 13] = "User";
163
+ Constrain[Constrain["NoScope"] = 14] = "NoScope";
164
+ Constrain[Constrain["ReurlMode"] = 15] = "ReurlMode";
165
+ Constrain[Constrain["LTIMode"] = 16] = "LTIMode";
166
+ })(Constrain || (Constrain = {}));
167
+ export var Target;
168
+ (function (Target) {
169
+ Target[Target["List"] = 0] = "List";
170
+ Target[Target["ListDropdown"] = 1] = "ListDropdown";
171
+ Target[Target["Actionbar"] = 2] = "Actionbar";
172
+ Target[Target["CreateMenu"] = 3] = "CreateMenu";
173
+ })(Target || (Target = {}));
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3R5cGVzL29wdGlvbi1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVNBLE1BQU0sQ0FBTixJQUFZLGNBSVg7QUFKRCxXQUFZLGNBQWM7SUFDdEIscURBQUssQ0FBQTtJQUNMLDJEQUFRLENBQUE7SUFDUixtREFBSSxDQUFBO0FBQ1IsQ0FBQyxFQUpXLGNBQWMsS0FBZCxjQUFjLFFBSXpCO0FBQ0QsTUFBTSxPQUFPLFVBQVU7SUFzSG5COzs7Ozs7O09BT0c7SUFDSCxZQUNXLElBQVksRUFDWixJQUFZO0lBQ25CLDZEQUE2RDtJQUN0RCxRQUFpRTtRQUhqRSxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osU0FBSSxHQUFKLElBQUksQ0FBUTtRQUVaLGFBQVEsR0FBUixRQUFRLENBQXlEO1FBakk1RTs7O1dBR0c7UUFDSSxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQzFCOzs7V0FHRztRQUNJLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzVCOzs7V0FHRztRQUNJLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDeEI7Ozs7O1dBS0c7UUFDSSxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQzFCOzs7OztXQUtHO1FBQ0ksZUFBVSxHQUFHLEtBQUssQ0FBQztRQUMxQjs7O1dBR0c7UUFDSSxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQzFCOzs7V0FHRztRQUNJLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBWTNCOzs7V0FHRztRQUNJLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFtQ3hCOztXQUVHO1FBQ0ksYUFBUSxHQUFHLElBQUksQ0FBQztRQWF2Qjs7V0FFRztRQUNJLGdCQUFXLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFHakMsb0JBQWUsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDO1FBQ25DLHlC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VyxDQUFBO0lBQ1gsa0VBQWdCLENBQUE7SUFDaEIsc0RBQVUsQ0FBQTtJQUNWLDhEQUFjLENBQUE7SUFDZCwwQ0FBSSxDQUFBO0lBQ0osZ0RBQU8sQ0FBQTtJQUNQLG9EQUFTLENBQUE7SUFDVCxnREFBTyxDQUFBO0FBQ1gsQ0FBQyxFQWxCVyxTQUFTLEtBQVQsU0FBUyxRQWtCcEI7QUFFRCxNQUFNLENBQU4sSUFBWSxNQUtYO0FBTEQsV0FBWSxNQUFNO0lBQ2QsbUNBQUksQ0FBQTtJQUNKLG1EQUFZLENBQUE7SUFDWiw2Q0FBUyxDQUFBO0lBQ1QsK0NBQVUsQ0FBQTtBQUNkLENBQUMsRUFMVyxNQUFNLEtBQU4sTUFBTSxRQUtqQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQSBvcHRpb24gZnJvbSB0aGUgYWN0aW9uYmFyK2Ryb3Bkb3duIG1lbnVcbiAqIEV4YW1wbGU6XG4gdGhpcy5vcHRpb25zLnB1c2gobmV3IE9wdGlvbkl0ZW0oXCJSRVNUT1JFX1NJTkdMRVwiLFwidW5kb1wiLCAobm9kZSkgPT4gdGhpcy5yZXN0b3JlU2luZ2xlKG5vZGUpKSk7XG4gdGhpcy5vcHRpb25zLnB1c2gobmV3IE9wdGlvbkl0ZW0oXCJERUxFVEVfU0lOR0xFXCIsXCJhcmNoaXZlRGVsZXRlXCIsIChub2RlKSA9PiB0aGlzLmRlbGV0ZVNpbmdsZShub2RlKSkpO1xuXG4gKi9cbmltcG9ydCB7IEtleWJvYXJkU2hvcnRjdXRDb25kaXRpb24gfSBmcm9tICcuLi90eXBlcy9rZXlib2FyZC1zaG9ydGN1dHMnO1xuXG5leHBvcnQgZW51bSBOb2Rlc1JpZ2h0TW9kZSB7XG4gICAgTG9jYWwsXG4gICAgT3JpZ2luYWwsXG4gICAgQm90aCxcbn1cbmV4cG9ydCBjbGFzcyBPcHRpb25JdGVtIHtcbiAgICAvKipcbiAgICAgKiBJZiB0cnVlLCB0aGlzIG9wdGlvbiB3aWxsIGJlIHNob3duIGFsbCB0aGUgdGltZSBpbiB0aGUgbm9kZSB0YWJsZVxuICAgICAqIEB0eXBlIHtib29sZWFufVxuICAgICAqL1xuICAgIHB1YmxpYyBzaG93QWx3YXlzID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogSWYgdHJ1ZSwgdGhpcyBvcHRpb24gd2lsbCBiZSBzaG93biBhcyBhbiBhY3Rpb24gKGlmIHJvb20pLiBJZiBub25lIG9mIHRoZSBpdGVtcyBoYXMgc2hvd0FzQWN0aW9uIHNldCwgdGhlIGZpcnN0IGl0ZW1zIHdpbGwgYWx3YXlzIGJlIHNob3duIGFzIGFjdGlvblxuICAgICAqIEB0eXBlIHtib29sZWFufVxuICAgICAqL1xuICAgIHB1YmxpYyBzaG93QXNBY3Rpb24gPSBmYWxzZTtcbiAgICAvKipcbiAgICAgKiBJZiB0cnVlLCB0aGlzIG9wdGlvbiB3aWxsIGJlIHNob3duIGFzIGEgdG9nZ2xlIG9uIHRoZSByaWdodCBzaWRlIChwcm92aWRlIGljb25Ub2dnbGUgYXMgYSB0b2dnbGUgaWNvbilcbiAgICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICAgKi9cbiAgICBwdWJsaWMgaXNUb2dnbGUgPSBmYWxzZTtcbiAgICAvKipcbiAgICAgKiBJZiB0cnVlLCBzaG93cyBhIGxpbmUgYXQgdGhlIHRvcC5cbiAgICAgKlxuICAgICAqIFRoaXMgZmVhdHVyZSBpcyB1c3VhbGx5IGhhbmRsZWQgbm93IGJ5IGFzc29jaWF0aW5nIGFuIGVudHJ5IHRvIGEgYGdyb3VwYFxuICAgICAqIG5vdy4gSG93ZXZlciBgaXNTZXBhcmF0ZWAgaXMga2VwdCBhcyBmYWxsYmFjayBmb3Igbm93LlxuICAgICAqL1xuICAgIHB1YmxpYyBpc1NlcGFyYXRlID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogVGhlIGl0ZW0gd2lsbCBiZSBpbmRpY2F0ZWQgd2l0aCBhbiBhY2NlbnQgY29sb3IgaW4gdGhlIG1lbnUuXG4gICAgICpcbiAgICAgKiBVc2VkIGJ5IHRoZSBkcm9wZG93biB2YXJpYW50IG9mIHRoZSBtYWluIG1lbnUgdG8gaW5kaWNhdGUgdGhlIGN1cnJlbnRseVxuICAgICAqIGFjdGl2ZSBzY29wZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgaXNTZWxlY3RlZCA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIElmIHRydWUsIG9ubHkgZGlzcGxheWVkIG9uIGEgbW9iaWxlIGRldmljZSAoYmFzZWQgb24gdGhlIG5hdmlnYXRvciBhZ2VudClcbiAgICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICAgKi9cbiAgICBwdWJsaWMgb25seU1vYmlsZSA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIElmIHRydWUsIG9ubHkgZGlzcGxheWVkIG9uIGEgZGVza3RvcCBkZXZpY2UgKGJhc2VkIG9uIHRoZSBuYXZpZ2F0b3IgYWdlbnQpXG4gICAgICogQHR5cGUge2Jvb2xlYW59XG4gICAgICovXG4gICAgcHVibGljIG9ubHlEZXNrdG9wID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogWW91IGNhbiBzZXQgYSBtZWRpYS1xdWVyeSBzaW1pbGFyIHRvIENTUywgc2VlIHRoZSBNRURJQV9RVUVSWSBjb25zdGFudHMgaW4gdWktY29uc3RhbnRzXG4gICAgICogVXNlIGluIGNvbWJpbmF0aW9uIHdpdGggbWVkaWFRdWVyeVZhbHVlXG4gICAgICogQHR5cGUge2Jvb2xlYW59XG4gICAgICovXG4gICAgcHVibGljIG1lZGlhUXVlcnlUeXBlOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIHZhbHVlIGZvciB0aGUgZGVmaW5lZCBtZWRpYSBxdWVyeVxuICAgICAqL1xuICAgIHB1YmxpYyBtZWRpYVF1ZXJ5VmFsdWU6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIFNldCB0byBmYWxzZSBpZiB0aGUgYWN0aW9uIHNob3VsZCBiZSBzaG93biwgYnV0IHNob3VsZCBub3QgYmUgY2xpY2thYmxlXG4gICAgICogQHR5cGUge2Jvb2xlYW59XG4gICAgICovXG4gICAgcHVibGljIGlzRW5hYmxlZCA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBvcHRpb24gc2hvdWxkIGJlIG1hbnVhbGx5IG1hcmtlZCBhcyBwcmltYXJ5IGFjdGlvbiB3aGVuIGFsd2F5cyB2aXNpYmxlIG9uIGFuXG4gICAgICogYGFjdGlvbmJhcmAuXG4gICAgICovXG4gICAgcHVibGljIGlzUHJpbWFyeTogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEEgZnVuY3Rpb24gY2FsbGVkIHdpdGggdGhlIG5vZGUgYXMgcGFyYW0gd2hpY2ggc2hvdWxkIHJldHVybiB0cnVlIG9yIGZhbHNlIGlmIHRoZSBvcHRpb24gc2hvdWxkIGJlIHNob3duIGZvciB0aGlzIG5vZGVcbiAgICAgKiBJcyBoYW5kbGVkIGJ5IG9wdGlvbnNIZWxwZXIgYW5kIG1heSBub3QgYmUgdXNlZCBvdGhlcndpc2VcbiAgICAgKiBQbGVhc2UgdXNlIEBjdXN0b21TaG93Q2FsbGJhY2sgaW5zdGVhZFxuICAgICAqL1xuICAgIHB1YmxpYyBzaG93Q2FsbGJhY2s6IChub2RlPzogTm9kZSB8IGFueSkgPT4gYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBBIGZ1bmN0aW9uIGNhbGxlZCB3aXRoIHRoZSBub2RlIGFzIHBhcm0gd2hpY2ggc2hvdWxkIHJldHVybiB0cnVlIG9yIGZhbHNlIGlmIHRoZSBvcHRpb24gc2hvdWxkIGJlIHNob3duIGZvciB0aGlzIG5vZGVcbiAgICAgKiBXaWxsIGJlIGNhbGxlZCBieSB0aGUgb3B0aW9uc0hlbHBlclxuICAgICAqL1xuICAgIHB1YmxpYyBjdXN0b21TaG93Q2FsbGJhY2s6IChub2Rlcz86IE5vZGVbXSB8IGFueVtdKSA9PiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIEEgZnVuY3Rpb24gY2FsbGVkIHdpdGggdGhlIG5vZGUgYXMgcGFyYW0gd2hpY2ggc2hvdWxkIHJldHVybiB0cnVlIG9yIGZhbHNlIGlmIHRoZSBvcHRpb24gc2hvdWxkIGJlIGVuYWJsZWQgb3Igbm90XG4gICAgICogSXMgaGFuZGxlZCBieSBvcHRpb25zSGVscGVyIGFuZCBtYXkgbm90IGJlIHVzZWQgb3RoZXJ3aXNlXG4gICAgICogUGxlYXNlIHVzZSBAY3VzdG9tRW5hYmxlZENhbGxiYWNrIGluc3RlYWRcbiAgICAgKi9cbiAgICBwdWJsaWMgZW5hYmxlZENhbGxiYWNrOiAobm9kZT86IE5vZGUgfCBhbnkpID0+IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQSBmdW5jdGlvbiBjYWxsZWQgd2l0aCB0aGUgbm9kZSBhcyBwYXJhbSB3aGljaCBzaG91bGQgcmV0dXJuIHRydWUgb3IgZmFsc2UgaWYgdGhlIG9wdGlvbiBzaG91bGQgYmUgZW5hYmxlZCBvciBub3RcbiAgICAgKiBXaWxsIGJlIGNhbGxlZCBieSB0aGUgb3B0aW9uc0hlbHBlclxuICAgICAqL1xuICAgIHB1YmxpYyBjdXN0b21FbmFibGVkQ2FsbGJhY2s6IChub2Rlcz86IE5vZGVbXSB8IGFueVtdKSA9PiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogICBPcHRpb25hbDogQSBjYWxsYmFjayB0aGF0IGlzIGNhbGxlZCB3aGVuIHRoZSB1c2VyIGNsaWNrcyBvbiB0aGUgb3B0aW9uIHdoZW4gaXQncyBjdXJyZW50bHkgZGlzYWJsZWQgKGdyZXllZCBvdXQpXG4gICAgICovXG4gICAgcHVibGljIGRpc2FibGVkQ2FsbGJhY2s6IChub2RlPzogTm9kZSB8IGFueSkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiAgIFNob3cgdGhlIGdpdmVuIG5hbWUgKGlmIGZhbHNlLCBvbmx5IGljb24gd2lsbCBzaG93KVxuICAgICAqL1xuICAgIHB1YmxpYyBzaG93TmFtZSA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBlbGVtZW50IHdpdGggMCBoYXMgaGlnaGVzdCBwcmlvcml0eSBpbiBpdCdzIGdyb3VwLCBoaWdoZXIgdmFsdWVzIG1lYW4gbG93ZXIgcHJpb3JpdHlcbiAgICAgKi9cbiAgICBwdWJsaWMgcHJpb3JpdHk6IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiB0aGUgZ3JvdXAgdGhpcyBvcHRpb24gYmVsb25ncyB0b1xuICAgICAqL1xuICAgIHB1YmxpYyBncm91cDogT3B0aW9uR3JvdXA7XG5cbiAgICBwdWJsaWMga2V5Ym9hcmRTaG9ydGN1dDogS2V5Ym9hcmRTaG9ydGN1dENvbmRpdGlvbjtcblxuICAgIC8qKlxuICAgICAqIE9yIGNvbmNhdCBvZiBzdXBwb3J0ZWQgZWxlbWVudCB0eXBlcyBmb3IgdGhlIGFjdGlvblxuICAgICAqL1xuICAgIHB1YmxpYyBlbGVtZW50VHlwZSA9IFtFbGVtZW50VHlwZS5Ob2RlXTtcbiAgICBwdWJsaWMgcGVybWlzc2lvbnM6IHN0cmluZ1tdO1xuICAgIHB1YmxpYyBjb25zdHJhaW5zOiBDb25zdHJhaW5bXTtcbiAgICBwdWJsaWMgcGVybWlzc2lvbnNNb2RlID0gSGlkZU1vZGUuRGlzYWJsZTtcbiAgICBwdWJsaWMgcGVybWlzc2lvbnNSaWdodE1vZGUgPSBOb2Rlc1JpZ2h0TW9kZS5Mb2NhbDtcbiAgICBwdWJsaWMgdG9vbHBlcm1pc3Npb25zOiBzdHJpbmdbXTtcbiAgICBwdWJsaWMgdG9vbHBlcm1pc3Npb25zTW9kZSA9IEhpZGVNb2RlLkRpc2FibGU7XG4gICAgcHVibGljIHNjb3BlczogU2NvcGVbXTtcblxuICAgIC8qKlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgdGhlIG9wdGlvbiBuYW1lLCB3aGljaCBpcyB1c2VkIGZvciB0aGUgdHJhbnNsYXRpb25cbiAgICAgKiBAcGFyYW0gaWNvbiBBIG1hdGVyaWFsIGljb24gbmFtZVxuICAgICAqIEBwYXJhbSBjYWxsYmFjayBBIGZ1bmN0aW9uIGNhbGxiYWNrIHdoZW4gdGhpcyBvcHRpb24gaXMgY2hvc2VuLiBXaWxsIGdldCB0aGUgY3VycmVudCBub2RlXG4gICAgICogcGFzc2VkIGFzIGFuIGFyZ3VtZW50LiBJZiBhdmFpbGFibGUsIHRoZSByZWxldmFudCBub2RlcyBhcmUgcGFzc2VkIGFzIHNlY29uZCBhcmd1bWVudCxcbiAgICAgKiBpLmUuLCB0aGUgc2VsZWN0aW9uLCBpZiBhbnksIG9yIHRoZSBjdXJyZW50IG5vZGUgYXMgc2luZ2xlLWl0ZW0gYXJyYXkgb3RoZXJ3aXNlLlxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgbmFtZTogc3RyaW5nLFxuICAgICAgICBwdWJsaWMgaWNvbjogc3RyaW5nLFxuICAgICAgICAvLyBUT0RPOiBNYXliZSBzd2l0Y2ggdG8gb25seSBwcm92aWRpbmcgdGhlIHNlY29uZCBwYXJhbWV0ZXIuXG4gICAgICAgIHB1YmxpYyBjYWxsYmFjazogKG9iamVjdD86IE5vZGUgfCBhbnksIG9iamVjdHM/OiAoTm9kZSB8IGFueSlbXSkgPT4gdm9pZCxcbiAgICApIHt9XG59XG5leHBvcnQgY2xhc3MgQ3VzdG9tT3B0aW9ucyB7XG4gICAgLyoqXG4gICAgICogSWYgdHJ1ZSwgYWxsIGV4aXN0aW5nIG9yIGF2YWlsYWJsZSBvcHRpb25zIGZvciB0aGUgb2JqZWN0IHN0YXlcbiAgICAgKiBJZiBmYWxzZSwgbm8gb3B0aW9ucyB3aWxsIGJlIHNldCwgb25seSB0aGUgb3B0aW9ucyBpbiBcImFkZE9wdGlvbnNcIiBhcmUgdXNlZFxuICAgICAqL1xuICAgIHB1YmxpYyB1c2VEZWZhdWx0T3B0aW9ucz8gPSB0cnVlO1xuICAgIC8qKlxuICAgICAqIExpc3Qgb2YgaWRzIG9mIG9wdGlvbnMgdG8gZXhwbGljaXRseSBzdXBwb3J0XG4gICAgICovXG4gICAgcHVibGljIHN1cHBvcnRlZE9wdGlvbnM/OiBzdHJpbmdbXTtcbiAgICAvKipcbiAgICAgKiBMaXN0IG9mIGlkcyBvZiBvcHRpb25zIHRvIGV4cGxpY2l0bHkgcmVtb3ZlXG4gICAgICogT25seSBzdXBwb3J0ZWQgaWYgc3VwcG9ydGVkT3B0aW9ucyBpcyBlbXB0eVxuICAgICAqL1xuICAgIHB1YmxpYyByZW1vdmVPcHRpb25zPzogc3RyaW5nW107XG4gICAgLyoqXG4gICAgICogT3B0aW9ucyB0byBhZGQvaW5zZXJ0IGludG8gdGhlIG1lbnVcbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkT3B0aW9ucz86IE9wdGlvbkl0ZW1bXTtcbn1cbmV4cG9ydCBlbnVtIEhpZGVNb2RlIHtcbiAgICBEaXNhYmxlLFxuICAgIEhpZGUsXG59XG5leHBvcnQgZW51bSBTY29wZSB7XG4gICAgUmVuZGVyID0gJ1JlbmRlcicsXG4gICAgU2VhcmNoID0gJ1NlYXJjaCcsXG4gICAgU2VhcmNoQ29sbGVjdGlvbnMgPSAnU2VhcmNoQ29sbGVjdGlvbnMnLFxuICAgIFNhdmVkU2VhcmNoZXMgPSAnU2F2ZWRTZWFyY2hlcycsXG4gICAgQ29sbGVjdGlvbnNSZWZlcmVuY2VzID0gJ0NvbGxlY3Rpb25zUmVmZXJlbmNlcycsXG4gICAgQ29sbGVjdGlvbnNQcm9wb3NhbHMgPSAnQ29sbGVjdGlvbnNQcm9wb3NhbHMnLFxuICAgIENvbGxlY3Rpb25zQ29sbGVjdGlvbiA9ICdDb2xsZWN0aW9uc0NvbGxlY3Rpb24nLFxuICAgIFdvcmtzcGFjZUxpc3QgPSAnV29ya3NwYWNlTGlzdCcsXG4gICAgV29ya3NwYWNlVHJlZSA9ICdXb3Jrc3BhY2VUcmVlJyxcbiAgICBTaGFyaW5nID0gJ1NoYXJpbmcnLFxuICAgIE9lciA9ICdPZXInLFxuICAgIFVzZXJNYW5hZ2VtZW50ID0gJ1VzZXJNYW5hZ2VtZW50JyxcbiAgICBTdHJlYW0gPSAnU3RyZWFtJyxcbiAgICBDcmVhdGVNZW51ID0gJ0NyZWF0ZU1lbnUnLFxuXG4gICAgTWVkaWFjZW50ZXJOb2Rlc0xpc3QgPSAnTWVkaWFjZW50ZXJOb2Rlc0xpc3QnLFxuICAgIEFkbWluID0gJ0FkbWluJywgLy8gQWRtaW4gVG9vbHMgLyBEZWJ1Z2dpbmdcbn1cbmV4cG9ydCBlbnVtIEVsZW1lbnRUeXBlIHtcbiAgICBOb2RlLFxuICAgIE5vZGVDaGlsZCwgLy8gQ2hpbGQgb2JqZWN0XG4gICAgTWFwUmVmLCAvLyBNYXAgcmVmIChsaW5rIHRvIGFub3RoZXIgbWFwKVxuICAgIE5vZGVQdWJsaXNoZWRDb3B5LFxuICAgIE5vZGVCbG9ja2VkSW1wb3J0LCAvLyBub2RlIHdpdGggcHJvcGVydHkgY2NtOmltcG9ydGJsb2NrZWQgPT0gdHJ1ZVxuICAgIE5vZGVQcm9wb3NhbCwgLy8gbm9kZSBwcm9wb3NhbCBmb3IgYSBjb2xsZWN0aW9uXG4gICAgUGVyc29uLFxuICAgIEdyb3VwLFxuICAgIFNhdmVkU2VhcmNoLFxuICAgIFVua25vd24sXG59XG5leHBvcnQgY2xhc3MgT3B0aW9uR3JvdXAge1xuICAgIC8qKlxuICAgICAqIEBwYXJhbSBpZCBUaGUgZ3JvdXAgaWRlbnRpZmllci4gVXNlZCB0byBzZXBlcmF0ZSBlbGVtZW50cyBiYXNlZCBvbiB0aGUgZ3JvdXBcbiAgICAgKiBAcGFyYW0gcHJpb3JpdHkgR3JvdXAgd2l0aCAwIGhhcyBoaWdoZXN0IHByaW9yaXR5LCBoaWdoZXIgdmFsdWVzIG1lYW4gbG93ZXIgcHJpb3JpdHlcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgaWQ6IHN0cmluZywgcHVibGljIHByaW9yaXR5OiBudW1iZXIpIHt9XG59XG5leHBvcnQgY2xhc3MgRGVmYXVsdEdyb3VwcyB7XG4gICAgc3RhdGljIFByaW1hcnkgPSBuZXcgT3B0aW9uR3JvdXAoJ1ByaW1hcnknLCAxMCk7XG4gICAgc3RhdGljIENyZWF0ZSA9IG5ldyBPcHRpb25Hcm91cCgnQ3JlYXRlJywgMTUpO1xuICAgIHN0YXRpYyBWaWV3ID0gbmV3IE9wdGlvbkdyb3VwKCdWaWV3JywgMjApO1xuICAgIHN0YXRpYyBDcmVhdGVDb25uZWN0b3IgPSBuZXcgT3B0aW9uR3JvdXAoJ0NyZWF0ZUNvbm5lY3RvcicsIDI1KTtcbiAgICBzdGF0aWMgQ3JlYXRlTHRpVG9vbHMgPSBuZXcgT3B0aW9uR3JvdXAoJ0NyZWF0ZUx0aVRvb2xzJywgMjgpO1xuICAgIHN0YXRpYyBSZXVzZSA9IG5ldyBPcHRpb25Hcm91cCgnUmV1c2UnLCAzMCk7XG4gICAgc3RhdGljIEVkaXQgPSBuZXcgT3B0aW9uR3JvdXAoJ0VkaXQnLCA0MCk7XG4gICAgc3RhdGljIEZpbGVPcGVyYXRpb25zID0gbmV3IE9wdGlvbkdyb3VwKCdGaWxlT3BlcmF0aW9ucycsIDUwKTtcbiAgICBzdGF0aWMgRGVsZXRlID0gbmV3IE9wdGlvbkdyb3VwKCdEZWxldGUnLCA2MCk7XG4gICAgc3RhdGljIFRvZ2dsZXMgPSBuZXcgT3B0aW9uR3JvdXAoJ1RvZ2dsZXMnLCA3MCk7XG59XG5leHBvcnQgZW51bSBDb25zdHJhaW4ge1xuICAgIENvbGxlY3Rpb25SZWZlcmVuY2UsIC8vIG9wdGlvbiBpcyBvbmx5IHZpc2libGUgZm9yIGNvbGxlY3Rpb24gcmVmZXJlbmNlc1xuICAgIE5vQ29sbGVjdGlvblJlZmVyZW5jZSwgLy8gb3B0aW9uIGlzIG9ubHkgdmlzaWJsZSBmb3Igbm9uLWNvbGxlY3Rpb24gcmVmZXJlbmNlc1xuICAgIERpcmVjdG9yeSwgLy8gb25seSB2aXNpYmxlIGZvciBkaXJlY3RvcmllcyAoY2NtOm1hcClcbiAgICBDb2xsZWN0aW9ucywgLy8gb25seSB2aXNpYmxlIGZvciBjb2xsZWN0aW9uc1xuICAgIEZpbGVzLCAvLyBvbmx5IHZpc2libGUgZm9yIGZpbGVzIChjY206aW8pXG4gICAgRmlsZXNBbmREaXJlY3RvcmllcywgLy8gb25seSB2aXNpYmxlIGZvciBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgKGNjbTppbyAvIGNjbTptYXApIC0gbm8gY29sbGVjdGlvbnMhXG4gICAgQWRtaW4sIC8vIG9ubHkgdmlzaWJsZSBpZiB1c2VyIGlzIGFkbWluIG9yIGVzRGVidWcgaXMgZW5hYmxlZCBvbiB3aW5kb3cgY29tcG9uZW50XG4gICAgQWRtaW5PckRlYnVnLCAvLyBvbmx5IHZpc2libGUgaWYgdXNlciBpcyBhZG1pbiBvciBlc0RlYnVnIGlzIGVuYWJsZWQgb24gd2luZG93IGNvbXBvbmVudFxuICAgIE5vQnVsaywgLy8gTm8gc3VwcG9ydCBmb3IgYnVsayAobXVsdGlwbGUgb2JqZWN0cylcbiAgICBOb1NlbGVjdGlvbiwgLy8gT25seSB2aXNpYmxlIHdoZW4gY3VycmVudGx5IG5vIGVsZW1lbnQgaXMgc2VsZWN0ZWRcbiAgICBDbGlwYm9hcmRDb250ZW50LCAvLyBPbmx5IHZpc2libGUgd2hlbiB0aGUgY2xpcGJvYXJkIGhhcyBjb250ZW50XG4gICAgQWRkT2JqZWN0cywgLy8gT25seSB2aXNpYmxlIHdoZW4gaXQgaXMgcG9zc2libGUgdG8gYWRkIG9iamVjdHMgaW50byB0aGUgY3VycmVudCBsaXN0XG4gICAgSG9tZVJlcG9zaXRvcnksIC8vIE9ubHkgdmlzaWJsZSB3aGVuIHRoZSBub2RlcyBhcmUgZnJvbSB0aGUgbG9jYWwgKGhvbWUpIHJlcG9zaXRvcnlcbiAgICBVc2VyLCAvLyBPbmx5IHZpc2libGUgd2hlbiBhIHVzZXIgaXMgcHJlc2VudCBhbmQgbG9nZ2VkIGluXG4gICAgTm9TY29wZSwgLy8gT25seSB2aXNpYmxlIHdoZW4gbm8gY3VycmVudCBzY29wZSAoaS5lIFwic2FmZVwiIHNjb3BlKSBpcyBzZXRcbiAgICBSZXVybE1vZGUsIC8vIE9ubHkgdmlzaWJsZSB3aGVuIGEgcmV1cmwgaXMgcHJlc2VudCAoY2FsbGVkIHRvIHBpY2sgb2JqZWN0IGZyb20gbG1zKVxuICAgIExUSU1vZGUsIC8vIE9ubHkgdmlzaWJsZSB3aGVuIGEgbHRpIHNlc3Npb24gaXMgcHJlc2VudCAoY2FsbGVkIHRvIHBpY2sgb2JqZWN0IGZyb20gbHRpIHBsYXRmb3JtKVxufVxuXG5leHBvcnQgZW51bSBUYXJnZXQge1xuICAgIExpc3QsIC8vIFRhcmdldCBpcyB0aGUgTGlzdFRhYmxlQ29tcG9uZW50XG4gICAgTGlzdERyb3Bkb3duLFxuICAgIEFjdGlvbmJhcixcbiAgICBDcmVhdGVNZW51LFxufVxuIl19
@@ -0,0 +1,25 @@
1
+ export const WORKFLOW_STATUS_UNCHECKED = {
2
+ id: '100_unchecked',
3
+ color: '#539DD5',
4
+ hasReceiver: true,
5
+ next: null,
6
+ };
7
+ export const WORKFLOW_STATUS_TO_CHECK = {
8
+ id: '200_tocheck',
9
+ color: '#3CB0B0',
10
+ hasReceiver: true,
11
+ next: null,
12
+ };
13
+ export const WORKFLOW_STATUS_HASFLAWS = {
14
+ id: '300_hasflaws',
15
+ color: '#D58553',
16
+ hasReceiver: true,
17
+ next: null,
18
+ };
19
+ export const WORKFLOW_STATUS_CHECKED = {
20
+ id: '400_checked',
21
+ color: '#42A053',
22
+ hasReceiver: false,
23
+ next: null,
24
+ };
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3R5cGVzL3dvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUF1QjtJQUN6RCxFQUFFLEVBQUUsZUFBZTtJQUNuQixLQUFLLEVBQUUsU0FBUztJQUNoQixXQUFXLEVBQUUsSUFBSTtJQUNqQixJQUFJLEVBQUUsSUFBSTtDQUNiLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBdUI7SUFDeEQsRUFBRSxFQUFFLGFBQWE7SUFDakIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsV0FBVyxFQUFFLElBQUk7SUFDakIsSUFBSSxFQUFFLElBQUk7Q0FDYixDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQXVCO0lBQ3hELEVBQUUsRUFBRSxjQUFjO0lBQ2xCLEtBQUssRUFBRSxTQUFTO0lBQ2hCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLElBQUksRUFBRSxJQUFJO0NBQ2IsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUF1QjtJQUN2RCxFQUFFLEVBQUUsYUFBYTtJQUNqQixLQUFLLEVBQUUsU0FBUztJQUNoQixXQUFXLEVBQUUsS0FBSztJQUNsQixJQUFJLEVBQUUsSUFBSTtDQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFdvcmtmbG93RGVmaW5pdGlvbiB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBjb2xvcjogc3RyaW5nO1xuICAgIGhhc1JlY2VpdmVyOiBib29sZWFuO1xuICAgIG5leHQ6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgY29uc3QgV09SS0ZMT1dfU1RBVFVTX1VOQ0hFQ0tFRDogV29ya2Zsb3dEZWZpbml0aW9uID0ge1xuICAgIGlkOiAnMTAwX3VuY2hlY2tlZCcsXG4gICAgY29sb3I6ICcjNTM5REQ1JyxcbiAgICBoYXNSZWNlaXZlcjogdHJ1ZSxcbiAgICBuZXh0OiBudWxsLFxufTtcbmV4cG9ydCBjb25zdCBXT1JLRkxPV19TVEFUVVNfVE9fQ0hFQ0s6IFdvcmtmbG93RGVmaW5pdGlvbiA9IHtcbiAgICBpZDogJzIwMF90b2NoZWNrJyxcbiAgICBjb2xvcjogJyMzQ0IwQjAnLFxuICAgIGhhc1JlY2VpdmVyOiB0cnVlLFxuICAgIG5leHQ6IG51bGwsXG59O1xuZXhwb3J0IGNvbnN0IFdPUktGTE9XX1NUQVRVU19IQVNGTEFXUzogV29ya2Zsb3dEZWZpbml0aW9uID0ge1xuICAgIGlkOiAnMzAwX2hhc2ZsYXdzJyxcbiAgICBjb2xvcjogJyNENTg1NTMnLFxuICAgIGhhc1JlY2VpdmVyOiB0cnVlLFxuICAgIG5leHQ6IG51bGwsXG59O1xuZXhwb3J0IGNvbnN0IFdPUktGTE9XX1NUQVRVU19DSEVDS0VEOiBXb3JrZmxvd0RlZmluaXRpb24gPSB7XG4gICAgaWQ6ICc0MDBfY2hlY2tlZCcsXG4gICAgY29sb3I6ICcjNDJBMDUzJyxcbiAgICBoYXNSZWNlaXZlcjogZmFsc2UsXG4gICAgbmV4dDogbnVsbCxcbn07XG5leHBvcnQgdHlwZSBXb3JrZmxvd0RlZmluaXRpb25TdGF0dXMgPSB7XG4gICAgY3VycmVudDogV29ya2Zsb3dEZWZpbml0aW9uO1xuICAgIGluaXRpYWw6IFdvcmtmbG93RGVmaW5pdGlvbjtcbn07XG4iXX0=