@colijnit/corecomponents_v12 12.0.13 → 12.0.16

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 (632) hide show
  1. package/bundles/colijnit-corecomponents_v12.umd.js +7619 -0
  2. package/bundles/colijnit-corecomponents_v12.umd.js.map +1 -0
  3. package/colijnit-corecomponents_v12.d.ts +26 -0
  4. package/colijnit-corecomponents_v12.metadata.json +1 -0
  5. package/esm2015/colijnit-corecomponents_v12.js +27 -0
  6. package/esm2015/lib/components/article-tile/article-tile.component.js +80 -0
  7. package/esm2015/lib/components/article-tile/article-tile.module.js +35 -0
  8. package/esm2015/lib/components/base/base-input.component.js +571 -0
  9. package/esm2015/lib/components/base/base.module.js +22 -0
  10. package/esm2015/lib/components/base/component-interface-name.js +4 -0
  11. package/esm2015/lib/components/base/configuration-adapter-component.interface.js +2 -0
  12. package/esm2015/lib/components/button/button.component.js +70 -0
  13. package/esm2015/lib/components/button/button.module.js +19 -0
  14. package/esm2015/lib/components/button-drop-down/button-drop-down.component.js +47 -0
  15. package/esm2015/lib/components/button-drop-down/button-drop-down.module.js +21 -0
  16. package/esm2015/lib/components/co-dialog/co-dialog.component.js +67 -0
  17. package/esm2015/lib/components/co-dialog/co-dialog.module.js +19 -0
  18. package/esm2015/lib/components/co-dialog-prompt/co-dialog-prompt.component.js +60 -0
  19. package/esm2015/lib/components/co-dialog-prompt/co-dialog-prompt.module.js +16 -0
  20. package/esm2015/lib/components/co-kanban/co-kanban.component.js +107 -0
  21. package/esm2015/lib/components/co-kanban/co-kanban.module.js +21 -0
  22. package/esm2015/lib/components/co-rich-text-editor/co-rich-text-editor.component.js +53 -0
  23. package/esm2015/lib/components/co-rich-text-editor/co-rich-text-editor.module.js +21 -0
  24. package/esm2015/lib/components/co-schedule/co-schedule.component.js +64 -0
  25. package/esm2015/lib/components/co-schedule/co-schedule.module.js +21 -0
  26. package/esm2015/lib/components/co-sidebar/co-sidebar.component.js +39 -0
  27. package/esm2015/lib/components/co-sidebar/co-sidebar.module.js +15 -0
  28. package/esm2015/lib/components/co-toggle/co-toggle.component.js +35 -0
  29. package/esm2015/lib/components/co-toggle/co-toggle.module.js +21 -0
  30. package/esm2015/lib/components/collapsible/collapsible.component.js +58 -0
  31. package/esm2015/lib/components/collapsible/collapsible.module.js +17 -0
  32. package/esm2015/lib/components/drop-down-list/drop-down-list.component.js +61 -0
  33. package/esm2015/lib/components/drop-down-list/drop-down.module.js +20 -0
  34. package/esm2015/lib/components/form/form.component.js +198 -0
  35. package/esm2015/lib/components/form/form.module.js +23 -0
  36. package/esm2015/lib/components/grid/base/base-grid.component.js +77 -0
  37. package/esm2015/lib/components/grid/base/base-inline-edit-grid.component.js +41 -0
  38. package/esm2015/lib/components/grid/base/base-selection-grid.component.js +83 -0
  39. package/esm2015/lib/components/grid/base/base-toolbar-grid.component.js +79 -0
  40. package/esm2015/lib/components/grid/co-grid.component.js +57 -0
  41. package/esm2015/lib/components/grid/co-grid.module.js +36 -0
  42. package/esm2015/lib/components/grid/enum/grid-lines.enum.js +9 -0
  43. package/esm2015/lib/components/grid/interface/grid-menu-event-args.js +2 -0
  44. package/esm2015/lib/components/grid/interface/grid-row-drag-event-args.js +2 -0
  45. package/esm2015/lib/components/grid/interface/grid-row-drop-event-args.js +2 -0
  46. package/esm2015/lib/components/icon/icon-cache.service.js +52 -0
  47. package/esm2015/lib/components/icon/icon.component.js +28 -0
  48. package/esm2015/lib/components/icon/icon.module.js +25 -0
  49. package/esm2015/lib/components/image/image.component.js +20 -0
  50. package/esm2015/lib/components/image/image.module.js +13 -0
  51. package/esm2015/lib/components/input-checkbox/input-checkbox.component.js +58 -0
  52. package/esm2015/lib/components/input-checkbox/input-checkbox.module.js +23 -0
  53. package/esm2015/lib/components/input-checkbox-multi-select/input-checkbox-multi-select.component.js +68 -0
  54. package/esm2015/lib/components/input-checkbox-multi-select/input-checkbox-multi-select.module.js +25 -0
  55. package/esm2015/lib/components/input-combo-box/input-combo-box.component.js +77 -0
  56. package/esm2015/lib/components/input-combo-box/input-combo-box.module.js +25 -0
  57. package/esm2015/lib/components/input-date-picker/input-date-picker.component.js +95 -0
  58. package/esm2015/lib/components/input-date-picker/input-date-picker.module.js +28 -0
  59. package/esm2015/lib/components/input-listbox/input-listbox.component.js +66 -0
  60. package/esm2015/lib/components/input-listbox/input-listbox.module.js +25 -0
  61. package/esm2015/lib/components/input-number-picker/input-number-picker.component.js +284 -0
  62. package/esm2015/lib/components/input-number-picker/input-number-picker.module.js +21 -0
  63. package/esm2015/lib/components/input-radio-button/input-radio-button.component.js +52 -0
  64. package/esm2015/lib/components/input-radio-button/input-radio-button.module.js +22 -0
  65. package/esm2015/lib/components/input-text/input-text.component.js +126 -0
  66. package/esm2015/lib/components/input-text/input-text.module.js +29 -0
  67. package/esm2015/lib/components/level-indicator/level-indicator-level.enum.js +7 -0
  68. package/esm2015/lib/components/level-indicator/level-indicator.component.js +34 -0
  69. package/esm2015/lib/components/level-indicator/level-indicator.module.js +15 -0
  70. package/esm2015/lib/components/multi-select-list/multi-select-list.component.js +69 -0
  71. package/esm2015/lib/components/multi-select-list/multi-select-list.module.js +19 -0
  72. package/esm2015/lib/components/pivot/co-pivot.component.js +171 -0
  73. package/esm2015/lib/components/pivot/co-pivot.module.js +19 -0
  74. package/esm2015/lib/components/popup/const/popup-window-token.js +3 -0
  75. package/esm2015/lib/components/popup/interface/popup-button.js +8 -0
  76. package/esm2015/lib/components/popup/interface/popup-close-event.js +2 -0
  77. package/esm2015/lib/components/popup/interface/popup-settings.js +42 -0
  78. package/esm2015/lib/components/popup/interface/popup.js +2 -0
  79. package/esm2015/lib/components/popup/model/popup-button-globals.js +11 -0
  80. package/esm2015/lib/components/popup/model/popup-window.js +38 -0
  81. package/esm2015/lib/components/popup/popup-buttons.component.js +53 -0
  82. package/esm2015/lib/components/popup/popup-message-display.component.js +47 -0
  83. package/esm2015/lib/components/popup/popup-window-shell.component.js +159 -0
  84. package/esm2015/lib/components/popup/popup.module.js +49 -0
  85. package/esm2015/lib/components/popup/service/popup-shower.service.js +87 -0
  86. package/esm2015/lib/components/popup/service/prompt.service.js +124 -0
  87. package/esm2015/lib/components/popup/text-input-popup.component.js +36 -0
  88. package/esm2015/lib/components/simple-grid/simple-grid-column.directive.js +36 -0
  89. package/esm2015/lib/components/simple-grid/simple-grid.component.js +112 -0
  90. package/esm2015/lib/components/simple-grid/simple-grid.module.js +24 -0
  91. package/esm2015/lib/components/tile/tile.component.js +71 -0
  92. package/esm2015/lib/components/tile/tile.module.js +23 -0
  93. package/esm2015/lib/core/constant/default-upper-bound-for-range-components.js +3 -0
  94. package/esm2015/lib/core/constant/java-max-int.js +2 -0
  95. package/esm2015/lib/core/constant/number-inputs-key-down-white-list.js +44 -0
  96. package/esm2015/lib/core/decorator/input-boolean.decorator.js +34 -0
  97. package/esm2015/lib/core/enum/co-document-image-display-kind.enum.js +7 -0
  98. package/esm2015/lib/core/enum/co-document-type.enum.js +11 -0
  99. package/esm2015/lib/core/enum/core-components-icon.enum.js +58 -0
  100. package/esm2015/lib/core/enum/file-type-internal.enum.js +17 -0
  101. package/esm2015/lib/core/enum/file-type.enum.js +11 -0
  102. package/esm2015/lib/core/enum/float-label-type.enum.js +7 -0
  103. package/esm2015/lib/core/enum/input-number-picker-show-mode.enum.js +8 -0
  104. package/esm2015/lib/core/enum/input-text-type.enum.js +6 -0
  105. package/esm2015/lib/core/enum/keyboard-code.enum.js +74 -0
  106. package/esm2015/lib/core/enum/object-right-type.enum.js +7 -0
  107. package/esm2015/lib/core/enum/popup-button-type.enum.js +12 -0
  108. package/esm2015/lib/core/enum/popup-type.enum.js +11 -0
  109. package/esm2015/lib/core/enum/schedule-view.enum.js +16 -0
  110. package/esm2015/lib/core/enum/table-name.enum.js +81 -0
  111. package/esm2015/lib/core/function/any-nill.function.js +6 -0
  112. package/esm2015/lib/core/function/is-nill.function.js +5 -0
  113. package/esm2015/lib/core/function/none-nill.function.js +17 -0
  114. package/esm2015/lib/core/function/not-nill.function.js +5 -0
  115. package/esm2015/lib/core/model/bounds-constrained-number-value.js +171 -0
  116. package/esm2015/lib/core/model/check-precision-and-scale-result.js +2 -0
  117. package/esm2015/lib/core/model/check-within-stepped-bounds-result.js +2 -0
  118. package/esm2015/lib/core/model/co-document-right.bo.js +3 -0
  119. package/esm2015/lib/core/model/co-document.bo.js +121 -0
  120. package/esm2015/lib/core/model/core-components-icon-svg.js +56 -0
  121. package/esm2015/lib/core/model/element-position.js +10 -0
  122. package/esm2015/lib/core/model/event/string-prompt-result-event.js +8 -0
  123. package/esm2015/lib/core/model/numerical-range.js +14 -0
  124. package/esm2015/lib/core/service/form-input-user-change-listener.service.js +25 -0
  125. package/esm2015/lib/core/service/form-master.service.js +102 -0
  126. package/esm2015/lib/core/service/ng-zone-wrapper.service.js +20 -0
  127. package/esm2015/lib/core/utils/array-utils.js +264 -0
  128. package/esm2015/lib/core/utils/browser-utils.js +100 -0
  129. package/esm2015/lib/core/utils/event-utils.js +53 -0
  130. package/esm2015/lib/core/utils/file-utils.js +267 -0
  131. package/esm2015/lib/core/utils/number-utils.js +309 -0
  132. package/esm2015/lib/core/utils/object-utils.js +186 -0
  133. package/esm2015/lib/core/utils/string-utils.js +94 -0
  134. package/esm2015/lib/core/validator/max-string-length.validator.js +10 -0
  135. package/esm2015/lib/core/validator/precision-scale.validator.js +11 -0
  136. package/esm2015/lib/core/validator/required.validator.js +5 -0
  137. package/esm2015/lib/directives/ripple/ripple-ref.js +26 -0
  138. package/esm2015/lib/directives/ripple/ripple-renderer.js +160 -0
  139. package/esm2015/lib/directives/ripple/ripple.directive.js +80 -0
  140. package/esm2015/lib/directives/ripple/ripple.module.js +24 -0
  141. package/esm2015/lib/directives/ripple/scroll-dispatcher.service.js +108 -0
  142. package/esm2015/lib/directives/ripple/scrollable.directive.js +40 -0
  143. package/esm2015/lib/directives/ripple/viewport-ruler.service.js +73 -0
  144. package/esm2015/lib/directives/stopclick/stop-click.directive.js +38 -0
  145. package/esm2015/lib/directives/stopclick/stop-click.module.js +15 -0
  146. package/esm2015/lib/pipes/append.pipe.js +17 -0
  147. package/esm2015/lib/pipes/append.pipe.module.js +15 -0
  148. package/esm2015/lib/pipes/price-display-pipe.module.js +15 -0
  149. package/esm2015/lib/pipes/price-display.pipe.js +20 -0
  150. package/esm2015/public-api.js +72 -0
  151. package/fesm2015/colijnit-corecomponents_v12.js +6985 -0
  152. package/fesm2015/colijnit-corecomponents_v12.js.map +1 -0
  153. package/lib/components/article-tile/article-tile.component.d.ts +22 -0
  154. package/{src/lib → lib}/components/article-tile/article-tile.component.scss +0 -0
  155. package/lib/components/article-tile/article-tile.module.d.ts +2 -0
  156. package/lib/components/base/base-input.component.d.ts +146 -0
  157. package/lib/components/base/base.module.d.ts +2 -0
  158. package/lib/components/base/component-interface-name.d.ts +3 -0
  159. package/{src/lib/components/base/configuration-adapter-component.interface.ts → lib/components/base/configuration-adapter-component.interface.d.ts} +0 -0
  160. package/lib/components/button/button.component.d.ts +20 -0
  161. package/lib/components/button/button.module.d.ts +2 -0
  162. package/lib/components/button/style/_co-ripple.scss +69 -0
  163. package/lib/components/button/style/_layout.scss +64 -0
  164. package/lib/components/button/style/_material-definition.scss +9 -0
  165. package/lib/components/button/style/_theme.scss +81 -0
  166. package/lib/components/button/style/material.scss +22 -0
  167. package/lib/components/button-drop-down/button-drop-down.component.d.ts +16 -0
  168. package/lib/components/button-drop-down/button-drop-down.module.d.ts +2 -0
  169. package/lib/components/button-drop-down/style/_layout.scss +7 -0
  170. package/{src/lib/components/co-dialog-prompt/co-dialog-prompt.component.scss → lib/components/button-drop-down/style/_material-definition.scss} +0 -0
  171. package/lib/components/button-drop-down/style/_theme.scss +5 -0
  172. package/lib/components/button-drop-down/style/material.scss +4 -0
  173. package/{src/lib → lib}/components/card/card.scss +3 -1
  174. package/lib/components/co-dialog/co-dialog.component.d.ts +12 -0
  175. package/lib/components/co-dialog/co-dialog.module.d.ts +2 -0
  176. package/lib/components/co-dialog/style/_layout.scss +47 -0
  177. package/lib/components/co-dialog/style/_material-definition.scss +23 -0
  178. package/lib/components/co-dialog/style/_theme.scss +27 -0
  179. package/lib/components/co-dialog/style/material.scss +4 -0
  180. package/lib/components/co-dialog-prompt/co-dialog-prompt.component.d.ts +19 -0
  181. package/{src/lib/components/co-dialog/co-dialog.component.scss → lib/components/co-dialog-prompt/co-dialog-prompt.component.scss} +0 -0
  182. package/lib/components/co-dialog-prompt/co-dialog-prompt.module.d.ts +2 -0
  183. package/lib/components/co-kanban/co-kanban.component.d.ts +28 -0
  184. package/lib/components/co-kanban/co-kanban.module.d.ts +2 -0
  185. package/lib/components/co-kanban/style/_layout.scss +51 -0
  186. package/lib/components/co-kanban/style/_material-definition.scss +25 -0
  187. package/lib/components/co-kanban/style/_theme.scss +7 -0
  188. package/lib/components/co-kanban/style/material.scss +13 -0
  189. package/lib/components/co-rich-text-editor/co-rich-text-editor.component.d.ts +13 -0
  190. package/lib/components/co-rich-text-editor/co-rich-text-editor.module.d.ts +2 -0
  191. package/lib/components/co-rich-text-editor/style/_layout.scss +5 -0
  192. package/lib/components/co-rich-text-editor/style/_material-definition.scss +9 -0
  193. package/lib/components/co-rich-text-editor/style/_theme.scss +5 -0
  194. package/lib/components/co-rich-text-editor/style/material.scss +4 -0
  195. package/lib/components/co-schedule/co-schedule.component.d.ts +18 -0
  196. package/{src/lib → lib}/components/co-schedule/co-schedule.component.scss +0 -0
  197. package/lib/components/co-schedule/co-schedule.module.d.ts +2 -0
  198. package/lib/components/co-sidebar/co-sidebar.component.d.ts +10 -0
  199. package/{src/lib → lib}/components/co-sidebar/co-sidebar.component.scss +0 -0
  200. package/lib/components/co-sidebar/co-sidebar.module.d.ts +2 -0
  201. package/lib/components/co-toggle/co-toggle.component.d.ts +9 -0
  202. package/lib/components/co-toggle/co-toggle.component.scss +1 -0
  203. package/lib/components/co-toggle/co-toggle.module.d.ts +2 -0
  204. package/lib/components/collapsible/collapsible.component.d.ts +16 -0
  205. package/lib/components/collapsible/collapsible.module.d.ts +2 -0
  206. package/lib/components/collapsible/style/_layout.scss +53 -0
  207. package/lib/components/collapsible/style/_material-definition.scss +9 -0
  208. package/lib/components/collapsible/style/_theme.scss +9 -0
  209. package/lib/components/collapsible/style/material.scss +4 -0
  210. package/lib/components/drop-down-list/drop-down-list.component.d.ts +16 -0
  211. package/{src/lib → lib}/components/drop-down-list/drop-down-list.component.scss +0 -0
  212. package/lib/components/drop-down-list/drop-down.module.d.ts +2 -0
  213. package/lib/components/drop-down-list/style/_layout.scss +7 -0
  214. package/{src/lib/components/co-rich-text-editor/co-rich-text-editor.component.scss → lib/components/drop-down-list/style/_material-definition.scss} +0 -0
  215. package/lib/components/drop-down-list/style/_theme.scss +5 -0
  216. package/lib/components/drop-down-list/style/material.scss +4 -0
  217. package/lib/components/form/form.component.d.ts +40 -0
  218. package/lib/components/form/form.module.d.ts +2 -0
  219. package/lib/components/grid/base/base-grid.component.d.ts +24 -0
  220. package/lib/components/grid/base/base-inline-edit-grid.component.d.ts +9 -0
  221. package/lib/components/grid/base/base-selection-grid.component.d.ts +27 -0
  222. package/lib/components/grid/base/base-toolbar-grid.component.d.ts +17 -0
  223. package/lib/components/grid/co-grid.component.d.ts +6 -0
  224. package/lib/components/grid/co-grid.module.d.ts +2 -0
  225. package/{src/lib/components/grid/enum/grid-lines.enum.ts → lib/components/grid/enum/grid-lines.enum.d.ts} +2 -2
  226. package/lib/components/grid/interface/grid-menu-event-args.d.ts +3 -0
  227. package/lib/components/grid/interface/grid-row-drag-event-args.d.ts +3 -0
  228. package/lib/components/grid/interface/grid-row-drop-event-args.d.ts +3 -0
  229. package/lib/components/grid/style/_layout.scss +38 -0
  230. package/lib/components/grid/style/_material-definition.scss +17 -0
  231. package/lib/components/grid/style/_theme.scss +5 -0
  232. package/lib/components/grid/style/material.scss +4 -0
  233. package/lib/components/icon/icon-cache.service.d.ts +20 -0
  234. package/lib/components/icon/icon.component.d.ts +10 -0
  235. package/lib/components/icon/icon.module.d.ts +2 -0
  236. package/{src/lib → lib}/components/icon/icon.scss +3 -2
  237. package/lib/components/image/image.component.d.ts +4 -0
  238. package/lib/components/image/image.module.d.ts +2 -0
  239. package/lib/components/input-checkbox/input-checkbox.component.d.ts +16 -0
  240. package/lib/components/input-checkbox/input-checkbox.module.d.ts +2 -0
  241. package/lib/components/input-checkbox/style/_layout.scss +5 -0
  242. package/lib/components/input-checkbox/style/_material-definition.scss +2 -0
  243. package/lib/components/input-checkbox/style/_theme.scss +5 -0
  244. package/lib/components/input-checkbox/style/material.scss +4 -0
  245. package/lib/components/input-checkbox-multi-select/input-checkbox-multi-select.component.d.ts +22 -0
  246. package/lib/components/input-checkbox-multi-select/input-checkbox-multi-select.module.d.ts +2 -0
  247. package/lib/components/input-checkbox-multi-select/style/_layout.scss +5 -0
  248. package/lib/components/input-checkbox-multi-select/style/_material-definition.scss +7 -0
  249. package/lib/components/input-checkbox-multi-select/style/_theme.scss +5 -0
  250. package/lib/components/input-checkbox-multi-select/style/material.scss +4 -0
  251. package/lib/components/input-combo-box/input-combo-box.component.d.ts +25 -0
  252. package/lib/components/input-combo-box/input-combo-box.module.d.ts +2 -0
  253. package/lib/components/input-combo-box/style/_layout.scss +5 -0
  254. package/lib/components/input-combo-box/style/_material-definition.scss +7 -0
  255. package/lib/components/input-combo-box/style/_theme.scss +5 -0
  256. package/lib/components/input-combo-box/style/material.scss +4 -0
  257. package/lib/components/input-date-picker/input-date-picker.component.d.ts +30 -0
  258. package/lib/components/input-date-picker/input-date-picker.module.d.ts +2 -0
  259. package/lib/components/input-date-picker/style/_layout.scss +5 -0
  260. package/lib/components/input-date-picker/style/_material-definition.scss +8 -0
  261. package/lib/components/input-date-picker/style/_theme.scss +5 -0
  262. package/lib/components/input-date-picker/style/material.scss +4 -0
  263. package/lib/components/input-listbox/input-listbox.component.d.ts +14 -0
  264. package/lib/components/input-listbox/input-listbox.module.d.ts +2 -0
  265. package/lib/components/input-listbox/style/_layout.scss +22 -0
  266. package/lib/components/input-listbox/style/_material-definition.scss +10 -0
  267. package/lib/components/input-listbox/style/_theme.scss +14 -0
  268. package/lib/components/input-listbox/style/material.scss +4 -0
  269. package/lib/components/input-number-picker/input-number-picker.component.d.ts +65 -0
  270. package/lib/components/input-number-picker/input-number-picker.module.d.ts +2 -0
  271. package/lib/components/input-number-picker/style/_layout.scss +43 -0
  272. package/lib/components/input-number-picker/style/_material-definition.scss +17 -0
  273. package/lib/components/input-number-picker/style/_theme.scss +22 -0
  274. package/lib/components/input-number-picker/style/material.scss +4 -0
  275. package/lib/components/input-radio-button/input-radio-button.component.d.ts +15 -0
  276. package/lib/components/input-radio-button/input-radio-button.module.d.ts +2 -0
  277. package/lib/components/input-radio-button/style/_layout.scss +28 -0
  278. package/lib/components/input-radio-button/style/_material-definition.scss +9 -0
  279. package/lib/components/input-radio-button/style/_theme.scss +11 -0
  280. package/lib/components/input-radio-button/style/material.scss +4 -0
  281. package/lib/components/input-search/style/_layout.scss +42 -0
  282. package/lib/components/input-search/style/_material-definition.scss +6 -0
  283. package/lib/components/input-search/style/_theme.scss +10 -0
  284. package/lib/components/input-search/style/material.scss +4 -0
  285. package/lib/components/input-text/input-text.component.d.ts +47 -0
  286. package/lib/components/input-text/input-text.module.d.ts +2 -0
  287. package/lib/components/input-text/style/_layout.scss +5 -0
  288. package/lib/components/input-text/style/_material-definition.scss +3 -0
  289. package/lib/components/input-text/style/_theme.scss +5 -0
  290. package/lib/components/input-text/style/material.scss +4 -0
  291. package/{src/lib/components/level-indicator/level-indicator-level.enum.ts → lib/components/level-indicator/level-indicator-level.enum.d.ts} +2 -2
  292. package/lib/components/level-indicator/level-indicator.component.d.ts +9 -0
  293. package/lib/components/level-indicator/level-indicator.module.d.ts +2 -0
  294. package/{src/lib → lib}/components/level-indicator/level-indicator.scss +4 -2
  295. package/lib/components/multi-select-list/multi-select-list.component.d.ts +19 -0
  296. package/lib/components/multi-select-list/multi-select-list.module.d.ts +2 -0
  297. package/lib/components/multi-select-list/style/_layout.scss +5 -0
  298. package/lib/components/multi-select-list/style/_material-definition.scss +7 -0
  299. package/lib/components/multi-select-list/style/_theme.scss +5 -0
  300. package/lib/components/multi-select-list/style/material.scss +4 -0
  301. package/lib/components/pivot/co-pivot.component.d.ts +40 -0
  302. package/lib/components/pivot/co-pivot.module.d.ts +2 -0
  303. package/lib/components/pivot/style/_layout.scss +5 -0
  304. package/lib/components/pivot/style/_material-definition.scss +10 -0
  305. package/lib/components/pivot/style/_theme.scss +5 -0
  306. package/lib/components/pivot/style/material.scss +4 -0
  307. package/lib/components/popup/const/popup-window-token.d.ts +3 -0
  308. package/lib/components/popup/interface/popup-button.d.ts +8 -0
  309. package/{src/lib/components/popup/interface/popup-close-event.ts → lib/components/popup/interface/popup-close-event.d.ts} +0 -3
  310. package/lib/components/popup/interface/popup-settings.d.ts +21 -0
  311. package/lib/components/popup/interface/popup.d.ts +9 -0
  312. package/lib/components/popup/model/popup-button-globals.d.ts +9 -0
  313. package/lib/components/popup/model/popup-window.d.ts +21 -0
  314. package/lib/components/popup/popup-buttons.component.d.ts +13 -0
  315. package/{src/lib → lib}/components/popup/popup-buttons.component.scss +0 -0
  316. package/lib/components/popup/popup-message-display.component.d.ts +12 -0
  317. package/lib/components/popup/popup-window-shell.component.d.ts +42 -0
  318. package/{src/lib → lib}/components/popup/popup-window-shell.component.scss +8 -8
  319. package/lib/components/popup/popup.module.d.ts +4 -0
  320. package/lib/components/popup/service/popup-shower.service.d.ts +17 -0
  321. package/lib/components/popup/service/prompt.service.d.ts +17 -0
  322. package/lib/components/popup/text-input-popup.component.d.ts +12 -0
  323. package/lib/components/simple-grid/simple-grid-column.directive.d.ts +18 -0
  324. package/lib/components/simple-grid/simple-grid.component.d.ts +26 -0
  325. package/lib/components/simple-grid/simple-grid.module.d.ts +2 -0
  326. package/lib/components/simple-grid/style/_layout.scss +80 -0
  327. package/lib/components/simple-grid/style/_material-definition.scss +16 -0
  328. package/lib/components/simple-grid/style/_theme.scss +17 -0
  329. package/lib/components/simple-grid/style/material.scss +4 -0
  330. package/lib/components/tile/tile.component.d.ts +15 -0
  331. package/{src/lib → lib}/components/tile/tile.component.scss +4 -4
  332. package/lib/components/tile/tile.module.d.ts +2 -0
  333. package/lib/core/constant/default-upper-bound-for-range-components.d.ts +1 -0
  334. package/lib/core/constant/java-max-int.d.ts +1 -0
  335. package/lib/core/constant/number-inputs-key-down-white-list.d.ts +2 -0
  336. package/lib/core/decorator/input-boolean.decorator.d.ts +8 -0
  337. package/{src/lib/core/enum/co-document-image-display-kind.enum.ts → lib/core/enum/co-document-image-display-kind.enum.d.ts} +1 -1
  338. package/lib/core/enum/co-document-type.enum.d.ts +5 -0
  339. package/{src/lib/core/enum/core-components-icon.enum.ts → lib/core/enum/core-components-icon.enum.d.ts} +56 -57
  340. package/{src/lib/core/enum/file-type-internal.enum.ts → lib/core/enum/file-type-internal.enum.d.ts} +10 -10
  341. package/lib/core/enum/file-type.enum.d.ts +5 -0
  342. package/lib/core/enum/float-label-type.enum.d.ts +5 -0
  343. package/lib/core/enum/input-number-picker-show-mode.enum.d.ts +5 -0
  344. package/lib/core/enum/input-text-type.enum.d.ts +4 -0
  345. package/{src/lib/core/enum/keyboard-code.enum.ts → lib/core/enum/keyboard-code.enum.d.ts} +23 -24
  346. package/{src/lib/core/enum/object-right-type.enum.ts → lib/core/enum/object-right-type.enum.d.ts} +1 -1
  347. package/lib/core/enum/popup-button-type.enum.d.ts +9 -0
  348. package/lib/core/enum/popup-type.enum.d.ts +9 -0
  349. package/{src/lib/core/enum/schedule-view.enum.ts → lib/core/enum/schedule-view.enum.d.ts} +2 -2
  350. package/{src/lib/core/enum/table-name.enum.ts → lib/core/enum/table-name.enum.d.ts} +1 -1
  351. package/lib/core/function/any-nill.function.d.ts +1 -0
  352. package/lib/core/function/is-nill.function.d.ts +1 -0
  353. package/lib/core/function/none-nill.function.d.ts +1 -0
  354. package/lib/core/function/not-nill.function.d.ts +1 -0
  355. package/lib/core/model/bounds-constrained-number-value.d.ts +46 -0
  356. package/{src/lib/core/model/check-precision-and-scale-result.ts → lib/core/model/check-precision-and-scale-result.d.ts} +1 -2
  357. package/{src/lib/core/model/check-within-stepped-bounds-result.ts → lib/core/model/check-within-stepped-bounds-result.d.ts} +3 -3
  358. package/lib/core/model/co-document-right.bo.d.ts +6 -0
  359. package/lib/core/model/co-document.bo.d.ts +61 -0
  360. package/lib/core/model/core-components-icon-svg.d.ts +4 -0
  361. package/lib/core/model/element-position.d.ts +7 -0
  362. package/lib/core/model/event/string-prompt-result-event.d.ts +6 -0
  363. package/lib/core/model/numerical-range.d.ts +7 -0
  364. package/lib/core/service/form-input-user-change-listener.service.d.ts +10 -0
  365. package/lib/core/service/form-master.service.d.ts +26 -0
  366. package/lib/core/service/ng-zone-wrapper.service.d.ts +6 -0
  367. package/lib/core/utils/array-utils.d.ts +85 -0
  368. package/lib/core/utils/browser-utils.d.ts +15 -0
  369. package/lib/core/utils/event-utils.d.ts +12 -0
  370. package/lib/core/utils/file-utils.d.ts +29 -0
  371. package/lib/core/utils/number-utils.d.ts +89 -0
  372. package/lib/core/utils/object-utils.d.ts +31 -0
  373. package/lib/core/utils/string-utils.d.ts +25 -0
  374. package/lib/core/validator/max-string-length.validator.d.ts +2 -0
  375. package/lib/core/validator/precision-scale.validator.d.ts +2 -0
  376. package/lib/core/validator/required.validator.d.ts +2 -0
  377. package/lib/directives/ripple/ripple-ref.d.ts +21 -0
  378. package/lib/directives/ripple/ripple-renderer.d.ts +56 -0
  379. package/lib/directives/ripple/ripple.directive.d.ts +56 -0
  380. package/lib/directives/ripple/ripple.module.d.ts +2 -0
  381. package/lib/directives/ripple/scroll-dispatcher.service.d.ts +51 -0
  382. package/lib/directives/ripple/scrollable.directive.d.ts +20 -0
  383. package/lib/directives/ripple/viewport-ruler.service.d.ts +29 -0
  384. package/lib/directives/stopclick/stop-click.directive.d.ts +10 -0
  385. package/lib/directives/stopclick/stop-click.module.d.ts +2 -0
  386. package/{src/lib → lib}/modules/pagination/pagination.scss +4 -4
  387. package/lib/pipes/append.pipe.d.ts +4 -0
  388. package/lib/pipes/append.pipe.module.d.ts +2 -0
  389. package/lib/pipes/price-display-pipe.module.d.ts +2 -0
  390. package/lib/pipes/price-display.pipe.d.ts +4 -0
  391. package/{src/lib → lib}/style/_extendables.scss +0 -0
  392. package/{src/lib → lib}/style/_input.mixins.scss +0 -0
  393. package/lib/style/_mixin.scss +9 -0
  394. package/{src/lib → lib}/style/_responsiveness.mixins.scss +0 -0
  395. package/{src/lib → lib}/style/_responsiveness.scss +0 -0
  396. package/{src/lib → lib}/style/_transition.mixins.scss +0 -0
  397. package/{src/lib/style/_base-input.scss → lib/style/_variables.scss} +77 -95
  398. package/{src/lib → lib}/style/main.scss +0 -0
  399. package/{src/lib → lib}/style/material2/_core.scss +3 -3
  400. package/lib/style/material2/_material2-scss-barrel.scss +16 -0
  401. package/{src/lib → lib}/style/material2/ripple/_co-ripple.scss +0 -0
  402. package/{src/lib → lib}/style/material2/style/_elevation.scss +0 -0
  403. package/{src/lib → lib}/style/material2/style/_list-common.scss +0 -0
  404. package/{src/lib → lib}/style/material2/style/_variables.scss +0 -0
  405. package/{src/lib → lib}/style/material2/theming/_palette.scss +0 -0
  406. package/{src/lib → lib}/style/material2/theming/_theming.scss +0 -0
  407. package/{src/lib → lib}/style/material2/typography/_typography.scss +0 -0
  408. package/package.json +11 -3
  409. package/{src/public-api.ts → public-api.d.ts} +68 -66
  410. package/colijnit-corecomponents_v12-12.0.13.tgz +0 -0
  411. package/karma.conf.js +0 -44
  412. package/ng-package.json +0 -10
  413. package/src/lib/components/article-tile/article-tile.component.ts +0 -95
  414. package/src/lib/components/article-tile/article-tile.module.ts +0 -34
  415. package/src/lib/components/base/base-input.component.ts +0 -681
  416. package/src/lib/components/base/base.module.ts +0 -22
  417. package/src/lib/components/base/component-interface-name.ts +0 -6
  418. package/src/lib/components/button/button.component.ts +0 -94
  419. package/src/lib/components/button/button.module.ts +0 -18
  420. package/src/lib/components/button/button.scss +0 -111
  421. package/src/lib/components/button-drop-down/button-drop-down.component.scss +0 -19
  422. package/src/lib/components/button-drop-down/button-drop-down.component.ts +0 -53
  423. package/src/lib/components/button-drop-down/button-drop-down.module.ts +0 -17
  424. package/src/lib/components/card/card.component.ts +0 -92
  425. package/src/lib/components/card/card.module.ts +0 -34
  426. package/src/lib/components/co-dialog/co-dialog.component.ts +0 -88
  427. package/src/lib/components/co-dialog/co-dialog.module.ts +0 -15
  428. package/src/lib/components/co-dialog-prompt/co-dialog-prompt.component.ts +0 -70
  429. package/src/lib/components/co-dialog-prompt/co-dialog-prompt.module.ts +0 -15
  430. package/src/lib/components/co-kanban/co-kanban.component.ts +0 -128
  431. package/src/lib/components/co-kanban/co-kanban.module.ts +0 -18
  432. package/src/lib/components/co-rich-text-editor/co-rich-text-editor.component.ts +0 -69
  433. package/src/lib/components/co-rich-text-editor/co-rich-text-editor.module.ts +0 -18
  434. package/src/lib/components/co-schedule/co-schedule.component.ts +0 -96
  435. package/src/lib/components/co-schedule/co-schedule.module.ts +0 -19
  436. package/src/lib/components/co-sidebar/co-sidebar.component.ts +0 -42
  437. package/src/lib/components/co-sidebar/co-sidebar.module.ts +0 -13
  438. package/src/lib/components/co-toggle/co-toggle.component.scss +0 -0
  439. package/src/lib/components/co-toggle/co-toggle.component.ts +0 -46
  440. package/src/lib/components/co-toggle/co-toggle.module.ts +0 -18
  441. package/src/lib/components/drop-down-list/drop-down-list.component.ts +0 -65
  442. package/src/lib/components/drop-down-list/drop-down.module.ts +0 -18
  443. package/src/lib/components/form/form.component.ts +0 -223
  444. package/src/lib/components/form/form.module.ts +0 -22
  445. package/src/lib/components/grid/base/base-grid.component.ts +0 -83
  446. package/src/lib/components/grid/base/base-inline-edit-grid.component.ts +0 -36
  447. package/src/lib/components/grid/base/base-selection-grid.component.ts +0 -98
  448. package/src/lib/components/grid/base/base-toolbar-grid.component.ts +0 -75
  449. package/src/lib/components/grid/co-grid.component.scss +0 -29
  450. package/src/lib/components/grid/co-grid.component.ts +0 -70
  451. package/src/lib/components/grid/co-grid.module.ts +0 -49
  452. package/src/lib/components/grid/enum/column-align.enum.ts +0 -5
  453. package/src/lib/components/grid/interface/grid-menu-event-args.ts +0 -5
  454. package/src/lib/components/grid/interface/grid-row-drag-event-args.ts +0 -5
  455. package/src/lib/components/grid/interface/grid-row-drop-event-args.ts +0 -5
  456. package/src/lib/components/grid/model/co-grid-column.ts +0 -9
  457. package/src/lib/components/icon/icon-cache.service.ts +0 -57
  458. package/src/lib/components/icon/icon.component.ts +0 -30
  459. package/src/lib/components/icon/icon.module.ts +0 -24
  460. package/src/lib/components/image/image.component.ts +0 -20
  461. package/src/lib/components/image/image.css +0 -9
  462. package/src/lib/components/image/image.module.ts +0 -11
  463. package/src/lib/components/input-checkbox/input-checkbox.component.scss +0 -14
  464. package/src/lib/components/input-checkbox/input-checkbox.component.ts +0 -69
  465. package/src/lib/components/input-checkbox/input-checkbox.module.ts +0 -22
  466. package/src/lib/components/input-checkbox-multi-select/input-checkbox-multi-select.component.scss +0 -8
  467. package/src/lib/components/input-checkbox-multi-select/input-checkbox-multi-select.component.ts +0 -84
  468. package/src/lib/components/input-checkbox-multi-select/input-checkbox-multi-select.module.ts +0 -24
  469. package/src/lib/components/input-combo-box/input-combo-box.component.scss +0 -8
  470. package/src/lib/components/input-combo-box/input-combo-box.component.ts +0 -96
  471. package/src/lib/components/input-combo-box/input-combo-box.module.ts +0 -24
  472. package/src/lib/components/input-date-picker/input-date-picker.component.scss +0 -30
  473. package/src/lib/components/input-date-picker/input-date-picker.component.ts +0 -121
  474. package/src/lib/components/input-date-picker/input-date-picker.module.ts +0 -27
  475. package/src/lib/components/input-number-picker/input-number-picker.component.scss +0 -49
  476. package/src/lib/components/input-number-picker/input-number-picker.component.ts +0 -316
  477. package/src/lib/components/input-number-picker/input-number-picker.module.ts +0 -16
  478. package/src/lib/components/input-radio-button/input-radio-button.component.scss +0 -89
  479. package/src/lib/components/input-radio-button/input-radio-button.component.ts +0 -74
  480. package/src/lib/components/input-radio-button/input-radio-button.module.ts +0 -20
  481. package/src/lib/components/input-text/input-text.component.ts +0 -155
  482. package/src/lib/components/input-text/input-text.module.ts +0 -27
  483. package/src/lib/components/input-text/input-text.scss +0 -4
  484. package/src/lib/components/level-indicator/level-indicator.component.ts +0 -41
  485. package/src/lib/components/level-indicator/level-indicator.module.ts +0 -13
  486. package/src/lib/components/multi-select-list/multi-select-list.component.scss +0 -1
  487. package/src/lib/components/multi-select-list/multi-select-list.component.ts +0 -78
  488. package/src/lib/components/multi-select-list/multi-select-list.module.ts +0 -17
  489. package/src/lib/components/pivot/co-pivot.component.scss +0 -0
  490. package/src/lib/components/pivot/co-pivot.component.ts +0 -246
  491. package/src/lib/components/pivot/co-pivot.module.ts +0 -16
  492. package/src/lib/components/popup/const/popup-window-token.ts +0 -4
  493. package/src/lib/components/popup/interface/popup-button.ts +0 -14
  494. package/src/lib/components/popup/interface/popup-settings.ts +0 -70
  495. package/src/lib/components/popup/interface/popup.ts +0 -17
  496. package/src/lib/components/popup/model/popup-button-globals.ts +0 -11
  497. package/src/lib/components/popup/model/popup-window.ts +0 -51
  498. package/src/lib/components/popup/popup-buttons.component.ts +0 -61
  499. package/src/lib/components/popup/popup-message-display.component.ts +0 -49
  500. package/src/lib/components/popup/popup-window-shell.component.ts +0 -222
  501. package/src/lib/components/popup/popup.module.ts +0 -48
  502. package/src/lib/components/popup/service/popup-shower.service.ts +0 -98
  503. package/src/lib/components/popup/service/prompt.service.ts +0 -127
  504. package/src/lib/components/popup/text-input-popup.component.ts +0 -36
  505. package/src/lib/components/tile/tile.component.ts +0 -70
  506. package/src/lib/components/tile/tile.module.ts +0 -21
  507. package/src/lib/core/abstract/collection-based-component.ts +0 -488
  508. package/src/lib/core/config/device-environment.ts +0 -26
  509. package/src/lib/core/constant/default-upper-bound-for-range-components.ts +0 -3
  510. package/src/lib/core/constant/java-max-int.ts +0 -1
  511. package/src/lib/core/constant/number-inputs-key-down-white-list.ts +0 -45
  512. package/src/lib/core/decorator/input-boolean.decorator.ts +0 -35
  513. package/src/lib/core/enum/co-direction.ts +0 -7
  514. package/src/lib/core/enum/co-document-type.enum.ts +0 -9
  515. package/src/lib/core/enum/co-orientation.ts +0 -18
  516. package/src/lib/core/enum/collection-based-component-input-driver-prop.enum.ts +0 -10
  517. package/src/lib/core/enum/color-sequence-name.enum.ts +0 -5
  518. package/src/lib/core/enum/file-type.enum.ts +0 -9
  519. package/src/lib/core/enum/float-label-type.enum.ts +0 -5
  520. package/src/lib/core/enum/input-number-picker-show-mode.enum.ts +0 -6
  521. package/src/lib/core/enum/input-text-type.enum.ts +0 -4
  522. package/src/lib/core/enum/keyboard-key.enum.ts +0 -77
  523. package/src/lib/core/enum/logical-operator-type.enum.ts +0 -5
  524. package/src/lib/core/enum/popup-button-type.enum.ts +0 -10
  525. package/src/lib/core/enum/popup-type.enum.ts +0 -9
  526. package/src/lib/core/enum/search-data-type.ts +0 -4
  527. package/src/lib/core/enum/search-property-state.ts +0 -5
  528. package/src/lib/core/enum/sort-data-type.ts +0 -6
  529. package/src/lib/core/enum/sort-direction.ts +0 -9
  530. package/src/lib/core/enum/value-comparison-type.ts +0 -11
  531. package/src/lib/core/function/any-nill.function.ts +0 -6
  532. package/src/lib/core/function/is-nill.function.ts +0 -4
  533. package/src/lib/core/function/none-nill.function.ts +0 -16
  534. package/src/lib/core/function/not-nill.function.ts +0 -4
  535. package/src/lib/core/interface/search-property.ts +0 -15
  536. package/src/lib/core/interface/sort-property.ts +0 -16
  537. package/src/lib/core/model/bounds-constrained-number-value.ts +0 -219
  538. package/src/lib/core/model/co-document-right.bo.ts +0 -9
  539. package/src/lib/core/model/co-document.bo.ts +0 -193
  540. package/src/lib/core/model/color-sequence.ts +0 -39
  541. package/src/lib/core/model/color.ts +0 -29
  542. package/src/lib/core/model/core-components-icon-svg.ts +0 -56
  543. package/src/lib/core/model/element-position.ts +0 -14
  544. package/src/lib/core/model/event/number-prompt-result-event.ts +0 -10
  545. package/src/lib/core/model/event/string-prompt-result-event.ts +0 -10
  546. package/src/lib/core/model/numerical-range.ts +0 -19
  547. package/src/lib/core/service/color-sequence.service.ts +0 -104
  548. package/src/lib/core/service/form-input-user-change-listener.service.ts +0 -31
  549. package/src/lib/core/service/form-master.service.ts +0 -119
  550. package/src/lib/core/service/ng-zone-wrapper.service.ts +0 -15
  551. package/src/lib/core/utils/array-utils.spec.ts +0 -588
  552. package/src/lib/core/utils/array-utils.ts +0 -301
  553. package/src/lib/core/utils/browser-utils.ts +0 -123
  554. package/src/lib/core/utils/business-object-utils.ts +0 -42
  555. package/src/lib/core/utils/css-utils.ts +0 -276
  556. package/src/lib/core/utils/element-ref.utils.ts +0 -12
  557. package/src/lib/core/utils/event-utils.ts +0 -61
  558. package/src/lib/core/utils/file-utils.ts +0 -291
  559. package/src/lib/core/utils/number-utils.spec.ts +0 -657
  560. package/src/lib/core/utils/number-utils.ts +0 -350
  561. package/src/lib/core/utils/object-utils.ts +0 -205
  562. package/src/lib/core/utils/parameter-value-conversion-utils.ts +0 -116
  563. package/src/lib/core/utils/search-utils.ts +0 -121
  564. package/src/lib/core/utils/sort-utils.ts +0 -108
  565. package/src/lib/core/utils/string-utils.ts +0 -100
  566. package/src/lib/core/validator/email.validator.ts +0 -10
  567. package/src/lib/core/validator/max-string-length.validator.ts +0 -11
  568. package/src/lib/core/validator/precision-scale.validator.ts +0 -14
  569. package/src/lib/core/validator/required.validator.ts +0 -9
  570. package/src/lib/directives/align-with/align-with.directive.ts +0 -158
  571. package/src/lib/directives/align-with/align-with.module.ts +0 -13
  572. package/src/lib/directives/clickoutside/click-outside-master.service.ts +0 -64
  573. package/src/lib/directives/clickoutside/click-outside.directive.ts +0 -72
  574. package/src/lib/directives/clickoutside/clickoutside.module.ts +0 -17
  575. package/src/lib/directives/parsevalue/parse-value.directive.ts +0 -42
  576. package/src/lib/directives/parsevalue/parse-value.module.ts +0 -13
  577. package/src/lib/directives/resize/resize-detect.directive.ts +0 -54
  578. package/src/lib/directives/resize/resize-detect.module.ts +0 -13
  579. package/src/lib/directives/ripple/ripple-ref.ts +0 -28
  580. package/src/lib/directives/ripple/ripple-renderer.ts +0 -217
  581. package/src/lib/directives/ripple/ripple.directive.ts +0 -116
  582. package/src/lib/directives/ripple/ripple.module.ts +0 -24
  583. package/src/lib/directives/ripple/scroll-dispatcher.service.ts +0 -129
  584. package/src/lib/directives/ripple/scrollable.directive.ts +0 -37
  585. package/src/lib/directives/ripple/viewport-ruler.service.ts +0 -84
  586. package/src/lib/directives/stopclick/stop-click.directive.ts +0 -35
  587. package/src/lib/directives/stopclick/stop-click.module.ts +0 -14
  588. package/src/lib/directives/template-wrapper/template-wrapper.directive.ts +0 -71
  589. package/src/lib/directives/template-wrapper/template-wrapper.module.ts +0 -13
  590. package/src/lib/model/data-item.ts +0 -9
  591. package/src/lib/model/enum/currency-code.enum.ts +0 -7
  592. package/src/lib/model/enum/language-code.enum.ts +0 -8
  593. package/src/lib/model/map/currencies.map.ts +0 -6
  594. package/src/lib/modules/drag-drop/drag-drop-container.component.ts +0 -115
  595. package/src/lib/modules/drag-drop/drag-drop-container.css +0 -34
  596. package/src/lib/modules/drag-drop/drag-drop-manager.service.ts +0 -414
  597. package/src/lib/modules/drag-drop/drag-drop.module.ts +0 -20
  598. package/src/lib/modules/drag-drop/draggable.directive.ts +0 -70
  599. package/src/lib/modules/drag-drop/model/co-drag-event.ts +0 -5
  600. package/src/lib/modules/drag-drop/model/co-drop-event.ts +0 -9
  601. package/src/lib/modules/drag-drop/model/drag-drop-container-element.ts +0 -7
  602. package/src/lib/modules/drag-drop/model/drag-drop-container.ts +0 -9
  603. package/src/lib/modules/media-monitor/flex-layout-breakpoint.enum.ts +0 -5
  604. package/src/lib/modules/media-monitor/media-monitor.module.ts +0 -14
  605. package/src/lib/modules/media-monitor/media-monitor.service.ts +0 -36
  606. package/src/lib/modules/pagination/paginate.pipe.ts +0 -122
  607. package/src/lib/modules/pagination/pagination-instance.ts +0 -18
  608. package/src/lib/modules/pagination/pagination.component.ts +0 -217
  609. package/src/lib/modules/pagination/pagination.module.ts +0 -25
  610. package/src/lib/modules/pagination/pagination.service.ts +0 -98
  611. package/src/lib/pipes/append.pipe.module.ts +0 -13
  612. package/src/lib/pipes/append.pipe.ts +0 -17
  613. package/src/lib/pipes/co-currency-pipe.module.ts +0 -13
  614. package/src/lib/pipes/co-currency.pipe.ts +0 -45
  615. package/src/lib/pipes/emun-keys.pipe.ts +0 -20
  616. package/src/lib/pipes/enum-keys-pipe.module.ts +0 -13
  617. package/src/lib/pipes/file-type-image-pipe.module.ts +0 -13
  618. package/src/lib/pipes/file-type-image.pipe.ts +0 -45
  619. package/src/lib/pipes/master-pipe.module.ts +0 -13
  620. package/src/lib/pipes/master.pipe.ts +0 -71
  621. package/src/lib/pipes/price-display-pipe.module.ts +0 -14
  622. package/src/lib/pipes/price-display.pipe.ts +0 -20
  623. package/src/lib/pipes/safe-style.pipe.module.ts +0 -13
  624. package/src/lib/pipes/safe-style.pipe.ts +0 -14
  625. package/src/lib/pipes/ucfirst-pipe.module.ts +0 -13
  626. package/src/lib/pipes/ucfirst.pipe.ts +0 -14
  627. package/src/lib/style/_variables.scss +0 -76
  628. package/src/lib/style/material2/_material2-scss-barrel.scss +0 -16
  629. package/src/test.ts +0 -28
  630. package/tsconfig.lib.json +0 -20
  631. package/tsconfig.lib.prod.json +0 -16
  632. package/tsconfig.spec.json +0 -17
@@ -0,0 +1,171 @@
1
+ import { Subject } from "rxjs";
2
+ import { isNill } from "../function/is-nill.function";
3
+ import { DEFAULT_UPPER_BOUND_FOR_RANGE_COMPONENTS } from "../constant/default-upper-bound-for-range-components";
4
+ import { NumberUtils } from "../utils/number-utils";
5
+ // A data type class that represents a stepped-bounds numerical value, with min max and step size. Value is always within these bounds and is auto corrected for incoming manipulation requests.
6
+ export class BoundsConstrainedNumberValue {
7
+ constructor() {
8
+ // emits when the value changed (e.g. after it was corrected for bounds)
9
+ this.valueChange = new Subject();
10
+ // the actual numeric current value, which we ensure always complies to our current min, max and step
11
+ this._value = 0;
12
+ this._valueAsString = "0";
13
+ this._min = 0;
14
+ this._max = DEFAULT_UPPER_BOUND_FOR_RANGE_COMPONENTS;
15
+ this._step = 1; // stepsize before the decimal.
16
+ this._stepDecimals = 0; // derived from step
17
+ this._trueMax = DEFAULT_UPPER_BOUND_FOR_RANGE_COMPONENTS; // derived from min, max and step
18
+ this._constraintsEnabled = true;
19
+ }
20
+ set value(value) {
21
+ this.setValue(value, true);
22
+ }
23
+ get value() {
24
+ return this._value;
25
+ }
26
+ // Returns a display string of our .value number (NaN and undefined become the empty string).
27
+ get valueAsSting() {
28
+ return this._valueAsString;
29
+ }
30
+ set min(min) {
31
+ if (isNill(min)) {
32
+ return;
33
+ }
34
+ let shouldUpdateTrueMax = (this._min !== min);
35
+ this._min = min;
36
+ if (shouldUpdateTrueMax) {
37
+ this._updateTrueMax();
38
+ }
39
+ }
40
+ get min() {
41
+ return this._min;
42
+ }
43
+ set max(max) {
44
+ if (isNill(max)) {
45
+ return;
46
+ }
47
+ let shouldUpdateTrueMax = (this._max !== max);
48
+ this._max = max;
49
+ if (shouldUpdateTrueMax) {
50
+ this._updateTrueMax();
51
+ }
52
+ }
53
+ get max() {
54
+ return this._max;
55
+ }
56
+ get trueMax() {
57
+ return this._trueMax;
58
+ }
59
+ // The step interval size for allowed numbers Y = min + N * step, where N is integer or 0.
60
+ set step(step) {
61
+ if (isNill(step)) {
62
+ return;
63
+ }
64
+ let shouldUpdateTrueMaxAndStepDecimals = (this._step !== step);
65
+ this._step = step;
66
+ if (shouldUpdateTrueMaxAndStepDecimals) {
67
+ this._updateTrueMax();
68
+ this._updateStepDecimals();
69
+ }
70
+ }
71
+ set decimals(decimals) {
72
+ if (decimals > 0) {
73
+ this._decimals = decimals;
74
+ }
75
+ }
76
+ get step() {
77
+ return this._step;
78
+ }
79
+ get stepDecimals() {
80
+ return this._stepDecimals;
81
+ }
82
+ get constraintsEnabled() {
83
+ return this._constraintsEnabled;
84
+ }
85
+ roundedDecimals(value) {
86
+ if (value >= 0) {
87
+ return 1 / Math.pow(10, value);
88
+ }
89
+ return 0;
90
+ }
91
+ putPrecision(precision) {
92
+ this._precision = precision;
93
+ this.max = NumberUtils.PrecisionScaleToMaxValue(this._precision, this._scale);
94
+ }
95
+ putScale(scale) {
96
+ this._scale = scale;
97
+ this.step = NumberUtils.DecimalsToStepIncrement(this._scale);
98
+ this.max = NumberUtils.PrecisionScaleToMaxValue(this._precision, this._scale);
99
+ }
100
+ // possibly corrects value for bounds
101
+ init(silent = false) {
102
+ this.setValue(this._value, silent);
103
+ }
104
+ // returns whether value really changed
105
+ setValueByUserInputText(text, silent = false) {
106
+ const prevVal = this.value;
107
+ if (NumberUtils.IsParsableNumberInput(text)) {
108
+ this.setValue(NumberUtils.ParseNumberInputOrDefault(text), silent);
109
+ }
110
+ else {
111
+ this.setValue(undefined);
112
+ }
113
+ return prevVal !== this.value;
114
+ }
115
+ /**
116
+ * Makes sure current value adheres to our stepped bounds. Returns true if inner value really changed (after sanitizing), false if not.
117
+ * Returns whether value really changed.
118
+ */
119
+ setValue(newValue, silent = false) {
120
+ const oldValue = this._value;
121
+ if (!this._constraintsEnabled) {
122
+ this._setValue(newValue);
123
+ }
124
+ else {
125
+ // cut off given newValue float excesses for cases such as "13.1000000000000000000001"
126
+ //newValue = NumberUtils.ParseFloat(newValue, NumberUtils.GetDecimalPlaces(this._step));
127
+ if (this._decimals === undefined) {
128
+ this._decimals = NumberUtils.GetDecimalPlaces(newValue);
129
+ }
130
+ newValue = NumberUtils.ParseFloat(newValue, this._decimals);
131
+ // dont perform bounds check if no min or max set.
132
+ if (isNaN(this._min) || isNaN(this._max)) {
133
+ this._setValue(newValue);
134
+ }
135
+ else if (newValue >= this._min && newValue <= this._max) {
136
+ this._setValue(NumberUtils.GetNearestNumberWithinSteppedBounds(newValue, this._min, this._max, this.roundedDecimals(this._decimals)));
137
+ }
138
+ }
139
+ if (isNaN(this._value)) {
140
+ this._setValue(undefined);
141
+ }
142
+ if (!silent) {
143
+ this.valueChange.next(this._value);
144
+ }
145
+ return oldValue !== this._value;
146
+ }
147
+ increment(steps = 1) {
148
+ this.setValue(this._value + this._step * steps);
149
+ }
150
+ decrement(steps = 1) {
151
+ this.setValue(this._value - this._step * steps);
152
+ }
153
+ // afterwards, you may set any value, it won't be checked against our bounds anymore
154
+ disableConstraints() {
155
+ this._constraintsEnabled = false;
156
+ }
157
+ enableConstraints() {
158
+ this._constraintsEnabled = true;
159
+ }
160
+ _updateTrueMax() {
161
+ this._trueMax = NumberUtils.GetTrueSteppedBoundsMax(this._min, this._max, this._step);
162
+ }
163
+ _updateStepDecimals() {
164
+ this._stepDecimals = NumberUtils.GetDecimalPlaces(this._step);
165
+ }
166
+ _setValue(value) {
167
+ this._value = value;
168
+ this._valueAsString = NumberUtils.ToString(this._value);
169
+ }
170
+ }
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm91bmRzLWNvbnN0cmFpbmVkLW51bWJlci12YWx1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvY29yZS9tb2RlbC9ib3VuZHMtY29uc3RyYWluZWQtbnVtYmVyLXZhbHVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFN0IsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3BELE9BQU8sRUFBQyx3Q0FBd0MsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQzlHLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUdsRCxnTUFBZ007QUFDaE0sTUFBTSxPQUFPLDRCQUE0QjtJQXlHckM7UUFsQkEsd0VBQXdFO1FBQ2pFLGdCQUFXLEdBQW9CLElBQUksT0FBTyxFQUFVLENBQUM7UUFFNUQscUdBQXFHO1FBQzNGLFdBQU0sR0FBVyxDQUFDLENBQUM7UUFFbkIsbUJBQWMsR0FBVyxHQUFHLENBQUM7UUFDN0IsU0FBSSxHQUFXLENBQUMsQ0FBQztRQUNqQixTQUFJLEdBQVcsd0NBQXdDLENBQUM7UUFDeEQsVUFBSyxHQUFXLENBQUMsQ0FBQyxDQUFFLCtCQUErQjtRQUNuRCxrQkFBYSxHQUFXLENBQUMsQ0FBQyxDQUFDLG9CQUFvQjtRQUMvQyxhQUFRLEdBQVcsd0NBQXdDLENBQUMsQ0FBQyxpQ0FBaUM7UUFFaEcsd0JBQW1CLEdBQVksSUFBSSxDQUFDO0lBTTVDLENBQUM7SUF6R0QsSUFBVyxLQUFLLENBQUMsS0FBYTtRQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ1osT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCw2RkFB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QUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO0lBQ3BDLENBQUM7SUFFTyxjQUFjO1FBQ2xCLElBQUksQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUYsQ0FBQztJQUVPLG1CQUFtQjtRQUN2QixJQUFJLENBQUMsYUFBYSxHQUFHLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVPLFNBQVMsQ0FBQyxLQUFhO1FBQzNCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxjQUFjLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUQsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTdWJqZWN0fSBmcm9tIFwicnhqc1wiO1xyXG5cclxuaW1wb3J0IHtpc05pbGx9IGZyb20gXCIuLi9mdW5jdGlvbi9pcy1uaWxsLmZ1bmN0aW9uXCI7XHJcbmltcG9ydCB7REVGQVVMVF9VUFBFUl9CT1VORF9GT1JfUkFOR0VfQ09NUE9ORU5UU30gZnJvbSBcIi4uL2NvbnN0YW50L2RlZmF1bHQtdXBwZXItYm91bmQtZm9yLXJhbmdlLWNvbXBvbmVudHNcIjtcclxuaW1wb3J0IHtOdW1iZXJVdGlsc30gZnJvbSBcIi4uL3V0aWxzL251bWJlci11dGlsc1wiO1xyXG5cclxuXHJcbi8vIEEgZGF0YSB0eXBlIGNsYXNzIHRoYXQgcmVwcmVzZW50cyBhIHN0ZXBwZWQtYm91bmRzIG51bWVyaWNhbCB2YWx1ZSwgd2l0aCBtaW4gbWF4IGFuZCBzdGVwIHNpemUuIFZhbHVlIGlzIGFsd2F5cyB3aXRoaW4gdGhlc2UgYm91bmRzIGFuZCBpcyBhdXRvIGNvcnJlY3RlZCBmb3IgaW5jb21pbmcgbWFuaXB1bGF0aW9uIHJlcXVlc3RzLlxyXG5leHBvcnQgY2xhc3MgQm91bmRzQ29uc3RyYWluZWROdW1iZXJWYWx1ZSB7XHJcbiAgICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLnNldFZhbHVlKHZhbHVlLCB0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHZhbHVlKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFJldHVybnMgYSBkaXNwbGF5IHN0cmluZyBvZiBvdXIgLnZhbHVlIG51bWJlciAoTmFOIGFuZCB1bmRlZmluZWQgYmVjb21lIHRoZSBlbXB0eSBzdHJpbmcpLlxyXG4gICAgcHVibGljIGdldCB2YWx1ZUFzU3RpbmcoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWVBc1N0cmluZztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0IG1pbihtaW46IG51bWJlcikge1xyXG4gICAgICAgIGlmIChpc05pbGwobWluKSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgc2hvdWxkVXBkYXRlVHJ1ZU1heDogYm9vbGVhbiA9ICh0aGlzLl9taW4gIT09IG1pbik7XHJcblxyXG4gICAgICAgIHRoaXMuX21pbiA9IG1pbjtcclxuXHJcbiAgICAgICAgaWYgKHNob3VsZFVwZGF0ZVRydWVNYXgpIHtcclxuICAgICAgICAgICAgdGhpcy5fdXBkYXRlVHJ1ZU1heCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IG1pbigpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9taW47XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldCBtYXgobWF4OiBudW1iZXIpIHtcclxuICAgICAgICBpZiAoaXNOaWxsKG1heCkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IHNob3VsZFVwZGF0ZVRydWVNYXg6IGJvb2xlYW4gPSAodGhpcy5fbWF4ICE9PSBtYXgpO1xyXG5cclxuICAgICAgICB0aGlzLl9tYXggPSBtYXg7XHJcblxyXG4gICAgICAgIGlmIChzaG91bGRVcGRhdGVUcnVlTWF4KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVRydWVNYXgoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBtYXgoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbWF4O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgdHJ1ZU1heCgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl90cnVlTWF4O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFRoZSBzdGVwIGludGVydmFsIHNpemUgZm9yIGFsbG93ZWQgbnVtYmVycyBZID0gbWluICsgTiAqIHN0ZXAsIHdoZXJlIE4gaXMgaW50ZWdlciBvciAwLlxyXG4gICAgcHVibGljIHNldCBzdGVwKHN0ZXA6IG51bWJlcikge1xyXG4gICAgICAgIGlmIChpc05pbGwoc3RlcCkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IHNob3VsZFVwZGF0ZVRydWVNYXhBbmRTdGVwRGVjaW1hbHM6IGJvb2xlYW4gPSAodGhpcy5fc3RlcCAhPT0gc3RlcCk7XHJcblxyXG4gICAgICAgIHRoaXMuX3N0ZXAgPSBzdGVwO1xyXG5cclxuICAgICAgICBpZiAoc2hvdWxkVXBkYXRlVHJ1ZU1heEFuZFN0ZXBEZWNpbWFscykge1xyXG4gICAgICAgICAgICB0aGlzLl91cGRhdGVUcnVlTWF4KCk7XHJcbiAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVN0ZXBEZWNpbWFscygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0IGRlY2ltYWxzKGRlY2ltYWxzOiBudW1iZXIpIHtcclxuICAgICAgICBpZiAoZGVjaW1hbHMgPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2RlY2ltYWxzID0gZGVjaW1hbHM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHVibGljIGdldCBzdGVwKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0ZXA7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBzdGVwRGVjaW1hbHMoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc3RlcERlY2ltYWxzO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgY29uc3RyYWludHNFbmFibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9jb25zdHJhaW50c0VuYWJsZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gZW1pdHMgd2hlbiB0aGUgdmFsdWUgY2hhbmdlZCAoZS5nLiBhZnRlciBpdCB3YXMgY29ycmVjdGVkIGZvciBib3VuZHMpXHJcbiAgICBwdWJsaWMgdmFsdWVDaGFuZ2U6IFN1YmplY3Q8bnVtYmVyPiA9IG5ldyBTdWJqZWN0PG51bWJlcj4oKTtcclxuXHJcbiAgICAvLyB0aGUgYWN0dWFsIG51bWVyaWMgY3VycmVudCB2YWx1ZSwgd2hpY2ggd2UgZW5zdXJlIGFsd2F5cyBjb21wbGllcyB0byBvdXIgY3VycmVudCBtaW4sIG1heCBhbmQgc3RlcFxyXG4gICAgcHJvdGVjdGVkIF92YWx1ZTogbnVtYmVyID0gMDtcclxuICAgIHByb3RlY3RlZCBfZGVjaW1hbHM6IG51bWJlcjsgLy8gbnVtYmVyIG9mIGRlY2ltYWxzIG9mIHRoZSB2YWx1ZS5cclxuICAgIHByb3RlY3RlZCBfdmFsdWVBc1N0cmluZzogc3RyaW5nID0gXCIwXCI7XHJcbiAgICBwcm90ZWN0ZWQgX21pbjogbnVtYmVyID0gMDtcclxuICAgIHByb3RlY3RlZCBfbWF4OiBudW1iZXIgPSBERUZBVUxUX1VQUEVSX0JPVU5EX0ZPUl9SQU5HRV9DT01QT05FTlRTO1xyXG4gICAgcHJvdGVjdGVkIF9zdGVwOiBudW1iZXIgPSAxOyAgLy8gc3RlcHNpemUgYmVmb3JlIHRoZSBkZWNpbWFsLlxyXG4gICAgcHJvdGVjdGVkIF9zdGVwRGVjaW1hbHM6IG51bWJlciA9IDA7IC8vIGRlcml2ZWQgZnJvbSBzdGVwXHJcbiAgICBwcm90ZWN0ZWQgX3RydWVNYXg6IG51bWJlciA9IERFRkFVTFRfVVBQRVJfQk9VTkRfRk9SX1JBTkdFX0NPTVBPTkVOVFM7IC8vIGRlcml2ZWQgZnJvbSBtaW4sIG1heCBhbmQgc3RlcFxyXG5cclxuICAgIHByaXZhdGUgX2NvbnN0cmFpbnRzRW5hYmxlZDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgcHJpdmF0ZSBfcHJlY2lzaW9uPzogbnVtYmVyO1xyXG4gICAgcHJpdmF0ZSBfc2NhbGU/OiBudW1iZXI7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJvdW5kZWREZWNpbWFscyh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgICAgICBpZiAodmFsdWUgPj0gMCkge1xyXG4gICAgICAgICAgICByZXR1cm4gMSAvIE1hdGgucG93KDEwLCB2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiAwO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBwdXRQcmVjaXNpb24ocHJlY2lzaW9uOiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9wcmVjaXNpb24gPSBwcmVjaXNpb247XHJcbiAgICAgICAgdGhpcy5tYXggPSBOdW1iZXJVdGlscy5QcmVjaXNpb25TY2FsZVRvTWF4VmFsdWUodGhpcy5fcHJlY2lzaW9uLCB0aGlzLl9zY2FsZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHB1dFNjYWxlKHNjYWxlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9zY2FsZSA9IHNjYWxlO1xyXG4gICAgICAgIHRoaXMuc3RlcCA9IE51bWJlclV0aWxzLkRlY2ltYWxzVG9TdGVwSW5jcmVtZW50KHRoaXMuX3NjYWxlKTtcclxuICAgICAgICB0aGlzLm1heCA9IE51bWJlclV0aWxzLlByZWNpc2lvblNjYWxlVG9NYXhWYWx1ZSh0aGlzLl9wcmVjaXNpb24sIHRoaXMuX3NjYWxlKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBwb3NzaWJseSBjb3JyZWN0cyB2YWx1ZSBmb3IgYm91bmRzXHJcbiAgICBwdWJsaWMgaW5pdChzaWxlbnQ6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2V0VmFsdWUodGhpcy5fdmFsdWUsIHNpbGVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gcmV0dXJucyB3aGV0aGVyIHZhbHVlIHJlYWxseSBjaGFuZ2VkXHJcbiAgICBwdWJsaWMgc2V0VmFsdWVCeVVzZXJJbnB1dFRleHQodGV4dDogc3RyaW5nLCBzaWxlbnQ6IGJvb2xlYW4gPSBmYWxzZSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IHByZXZWYWw6IGFueSA9IHRoaXMudmFsdWU7XHJcblxyXG4gICAgICAgIGlmIChOdW1iZXJVdGlscy5Jc1BhcnNhYmxlTnVtYmVySW5wdXQodGV4dCkpIHtcclxuICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZShOdW1iZXJVdGlscy5QYXJzZU51bWJlcklucHV0T3JEZWZhdWx0KHRleHQpLCBzaWxlbnQpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0VmFsdWUodW5kZWZpbmVkKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBwcmV2VmFsICE9PSB0aGlzLnZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTWFrZXMgc3VyZSBjdXJyZW50IHZhbHVlIGFkaGVyZXMgdG8gb3VyIHN0ZXBwZWQgYm91bmRzLiBSZXR1cm5zIHRydWUgaWYgaW5uZXIgdmFsdWUgcmVhbGx5IGNoYW5nZWQgKGFmdGVyIHNhbml0aXppbmcpLCBmYWxzZSBpZiBub3QuXHJcbiAgICAgKiBSZXR1cm5zIHdoZXRoZXIgdmFsdWUgcmVhbGx5IGNoYW5nZWQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZXRWYWx1ZShuZXdWYWx1ZTogbnVtYmVyLCBzaWxlbnQ6IGJvb2xlYW4gPSBmYWxzZSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IG9sZFZhbHVlOiBudW1iZXIgPSB0aGlzLl92YWx1ZTtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLl9jb25zdHJhaW50c0VuYWJsZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5fc2V0VmFsdWUobmV3VmFsdWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIGN1dCBvZmYgZ2l2ZW4gbmV3VmFsdWUgZmxvYXQgZXhjZXNzZXMgZm9yIGNhc2VzIHN1Y2ggYXMgXCIxMy4xMDAwMDAwMDAwMDAwMDAwMDAwMDAxXCJcclxuICAgICAgICAgICAgLy9uZXdWYWx1ZSA9IE51bWJlclV0aWxzLlBhcnNlRmxvYXQobmV3VmFsdWUsIE51bWJlclV0aWxzLkdldERlY2ltYWxQbGFjZXModGhpcy5fc3RlcCkpO1xyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMuX2RlY2ltYWxzID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2RlY2ltYWxzID0gTnVtYmVyVXRpbHMuR2V0RGVjaW1hbFBsYWNlcyhuZXdWYWx1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIG5ld1ZhbHVlID0gTnVtYmVyVXRpbHMuUGFyc2VGbG9hdChuZXdWYWx1ZSwgdGhpcy5fZGVjaW1hbHMpO1xyXG4gICAgICAgICAgICAvLyBkb250IHBlcmZvcm0gYm91bmRzIGNoZWNrIGlmIG5vIG1pbiBvciBtYXggc2V0LlxyXG4gICAgICAgICAgICBpZiAoaXNOYU4odGhpcy5fbWluKSB8fCBpc05hTih0aGlzLl9tYXgpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXRWYWx1ZShuZXdWYWx1ZSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAobmV3VmFsdWUgPj0gdGhpcy5fbWluICYmIG5ld1ZhbHVlIDw9IHRoaXMuX21heCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2V0VmFsdWUoTnVtYmVyVXRpbHMuR2V0TmVhcmVzdE51bWJlcldpdGhpblN0ZXBwZWRCb3VuZHMobmV3VmFsdWUsIHRoaXMuX21pbiwgdGhpcy5fbWF4LCB0aGlzLnJvdW5kZWREZWNpbWFscyh0aGlzLl9kZWNpbWFscykpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGlzTmFOKHRoaXMuX3ZhbHVlKSkge1xyXG4gICAgICAgICAgICB0aGlzLl9zZXRWYWx1ZSh1bmRlZmluZWQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCFzaWxlbnQpIHtcclxuICAgICAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5uZXh0KHRoaXMuX3ZhbHVlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBvbGRWYWx1ZSAhPT0gdGhpcy5fdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGluY3JlbWVudChzdGVwczogbnVtYmVyID0gMSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2V0VmFsdWUodGhpcy5fdmFsdWUgKyB0aGlzLl9zdGVwICogc3RlcHMpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBkZWNyZW1lbnQoc3RlcHM6IG51bWJlciA9IDEpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNldFZhbHVlKHRoaXMuX3ZhbHVlIC0gdGhpcy5fc3RlcCAqIHN0ZXBzKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBhZnRlcndhcmRzLCB5b3UgbWF5IHNldCBhbnkgdmFsdWUsIGl0IHdvbid0IGJlIGNoZWNrZWQgYWdhaW5zdCBvdXIgYm91bmRzIGFueW1vcmVcclxuICAgIHB1YmxpYyBkaXNhYmxlQ29uc3RyYWludHMoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fY29uc3RyYWludHNFbmFibGVkID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGVuYWJsZUNvbnN0cmFpbnRzKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2NvbnN0cmFpbnRzRW5hYmxlZCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfdXBkYXRlVHJ1ZU1heCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl90cnVlTWF4ID0gTnVtYmVyVXRpbHMuR2V0VHJ1ZVN0ZXBwZWRCb3VuZHNNYXgodGhpcy5fbWluLCB0aGlzLl9tYXgsIHRoaXMuX3N0ZXApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3VwZGF0ZVN0ZXBEZWNpbWFscygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9zdGVwRGVjaW1hbHMgPSBOdW1iZXJVdGlscy5HZXREZWNpbWFsUGxhY2VzKHRoaXMuX3N0ZXApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3NldFZhbHVlKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuX3ZhbHVlQXNTdHJpbmcgPSBOdW1iZXJVdGlscy5Ub1N0cmluZyh0aGlzLl92YWx1ZSk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stcHJlY2lzaW9uLWFuZC1zY2FsZS1yZXN1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvcmUvbW9kZWwvY2hlY2stcHJlY2lzaW9uLWFuZC1zY2FsZS1yZXN1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vIE91dHB1dCBvYmplY3Qgc2hhcGUgZm9yIE51bWJlclV0aWxzLkNoZWNrUHJlY2lzaW9uQW5kU2NhbGUoKS5cclxuZXhwb3J0IGludGVyZmFjZSBDaGVja1ByZWNpc2lvbkFuZFNjYWxlUmVzdWx0IHtcclxuICAgIGlzT2s6IGJvb2xlYW47XHJcbiAgICBuZWFyZXN0T2tOcj86IG51bWJlcjtcclxufSJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2std2l0aGluLXN0ZXBwZWQtYm91bmRzLXJlc3VsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvY29yZS9tb2RlbC9jaGVjay13aXRoaW4tc3RlcHBlZC1ib3VuZHMtcmVzdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogT3V0cHV0IG9iamVjdCBzaGFwZSBmb3IgTnVtYmVyVXRpbHMuQ2hlY2tXaXRoaW5TdGVwcGVkQm91bmRzKCkuIEZvciBlZmZpY2llbmN5LCB0aGlzIG1ldGhvZCBhbHNvIHJldHVybnMgdGhlIGZvdW5kIHJlbWFpbmRlciBpZiB0aGUgZ2l2ZW5cclxuICogbnVtYmVyIHdhcyBOT1Qgd2l0aGluIHRoZSBzcGVjaWZpZWQgc3RlcHBlZCBib3VuZHMuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIENoZWNrV2l0aGluU3RlcHBlZEJvdW5kc1Jlc3VsdCB7XHJcbiAgICBpc09rOiBib29sZWFuLFxyXG4gICAgcmVtYWluZGVyPzogbnVtYmVyXHJcbn0iXX0=
@@ -0,0 +1,3 @@
1
+ export class CoDocumentRight {
2
+ }
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY28tZG9jdW1lbnQtcmlnaHQuYm8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvcmUvbW9kZWwvY28tZG9jdW1lbnQtcmlnaHQuYm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLGVBQWU7Q0FNM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYmplY3RSaWdodFR5cGUgfSBmcm9tICcuLi9lbnVtL29iamVjdC1yaWdodC10eXBlLmVudW0nO1xuXG5leHBvcnQgY2xhc3MgQ29Eb2N1bWVudFJpZ2h0IHtcblxuICAgIHB1YmxpYyB1c2VyR3JvdXBJZDogbnVtYmVyO1xuICAgIHB1YmxpYyBkb2N1bWVudElkOiBudW1iZXI7XG4gICAgcHVibGljIHJpZ2h0TGV2ZWw6IE9iamVjdFJpZ2h0VHlwZTtcblxufVxuIl19
@@ -0,0 +1,121 @@
1
+ import { FileType } from '../enum/file-type.enum';
2
+ import { FileTypeInternal } from '../enum/file-type-internal.enum';
3
+ import { FileUtils } from '../utils/file-utils';
4
+ import { CoDocumentImageDisplayKind } from '../enum/co-document-image-display-kind.enum';
5
+ import { ObjectRightType } from '../enum/object-right-type.enum';
6
+ import { Subject } from 'rxjs';
7
+ // See DocumentDTO.
8
+ export class CoDocument {
9
+ constructor() {
10
+ // @ComplexArray(CoDocumentRight)
11
+ this.rights = [];
12
+ this.retailFormulas = [];
13
+ //
14
+ // @NoDbField()
15
+ // @ComplexField(Subject)
16
+ this.documentBodyChange = new Subject();
17
+ }
18
+ set documentId(value) {
19
+ this._documentId = value;
20
+ // this._idObject.docId = value;
21
+ }
22
+ get documentId() {
23
+ return this._documentId;
24
+ }
25
+ set documentBody(documentBody) {
26
+ const prev = this._documentBody;
27
+ this._documentBody = documentBody;
28
+ if (prev !== this._documentBody) {
29
+ this.documentBodyChange.next(this._documentBody);
30
+ }
31
+ }
32
+ get documentBody() {
33
+ return this._documentBody;
34
+ }
35
+ // @NoDbField()
36
+ // public idForLink: number;
37
+ // The internal file type of this document (the MimeType iOneJS uses internally)
38
+ get fileTypeInternal() {
39
+ if (!this._fileTypeInternal) {
40
+ const fileType = FileUtils.FileNameToFileTypeInternal(this.fileName);
41
+ if (fileType) {
42
+ this._fileTypeInternal = fileType;
43
+ }
44
+ }
45
+ return this._fileTypeInternal;
46
+ }
47
+ /**
48
+ * The mimetype of this document: uses database-fetched this.mimeType, or calculates / guesses the mime type of the document
49
+ * if that was not set.
50
+ */
51
+ get mimeTypeInternal() {
52
+ if (this._mimeTypeInternal) {
53
+ return this._mimeTypeInternal;
54
+ }
55
+ else {
56
+ this._initMimetypeInternal();
57
+ return this._mimeTypeInternal;
58
+ }
59
+ }
60
+ set mimeTypeInternal(value) {
61
+ this._mimeTypeInternal = value;
62
+ }
63
+ // Gives either the document-(prio) or the thumbnail body. Or undefined if not exist.
64
+ get bodyAsDataUri() {
65
+ if (this._documentBody) {
66
+ return this.documentBodyAsDataUri;
67
+ }
68
+ else if (this.thumbnailBody) {
69
+ return this.thumbnailBodyAsDataUri;
70
+ }
71
+ }
72
+ // The body of this document as a data uri. The data uri also contains the mimetype in its string, and the fact that it's base64.
73
+ get documentBodyAsDataUri() {
74
+ try {
75
+ return FileUtils.DocumentBodyToDataUri(this.documentBody, this.mimeTypeInternal);
76
+ }
77
+ catch (error) {
78
+ return "";
79
+ }
80
+ }
81
+ // The Thumbnailbody of this document as a data uri. The data uri also contains the mimetype in its string, and the fact that it's base64.
82
+ get thumbnailBodyAsDataUri() {
83
+ try {
84
+ return FileUtils.DocumentBodyToDataUri(this.thumbnailBody, this.mimeTypeInternal);
85
+ }
86
+ catch (error) {
87
+ return "";
88
+ }
89
+ }
90
+ get isAvatar() {
91
+ return this.imageDisplayKind === CoDocumentImageDisplayKind.Avatar;
92
+ }
93
+ //
94
+ // @NoDbField()
95
+ // private _idObject: any = {};
96
+ get readonly() {
97
+ return this.rightLevel === ObjectRightType.ReadOnly;
98
+ }
99
+ getId() {
100
+ return this.documentId;
101
+ }
102
+ // Returns whether this is an image document or not.
103
+ isImageDocument() {
104
+ return (this.fileTypeInternal === FileTypeInternal.Image);
105
+ }
106
+ // @BoSerializerStep()
107
+ preventOverridingThumbnailToEmpty() {
108
+ if (!this.thumbnailBody) {
109
+ this.thumbnailBody = this._documentBody;
110
+ }
111
+ }
112
+ // POSTCONDITION: this._mimeTypeInternal contains, to our best abilities, the true mimeType of this document, a-la "image/jpg"
113
+ _initMimetypeInternal() {
114
+ // if no fileType, default to FileType.Image for internal mimetype initialization
115
+ if ((this.fileType === FileType.Image || !this.fileType) && this.fileName) {
116
+ const fileExtension = this.fileName.substr(this.fileName.lastIndexOf(".") + 1);
117
+ this._mimeTypeInternal = "image/" + fileExtension;
118
+ }
119
+ }
120
+ }
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY28tZG9jdW1lbnQuYm8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvcmUvbW9kZWwvY28tZG9jdW1lbnQuYm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2xELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN6RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixtQkFBbUI7QUFDbkIsTUFBTSxPQUFPLFVBQVU7SUEySm5CO1FBN0dBLGlDQUFpQztRQUMxQixXQUFNLEdBQXNCLEVBQUUsQ0FBQztRQW9CL0IsbUJBQWMsR0FBYSxFQUFFLENBQUM7UUFxRXJDLEVBQUU7UUFDRixlQUFlO1FBQ2YseUJBQXlCO1FBQ1QsdUJBQWtCLEdBQW9CLElBQUksT0FBTyxFQUFVLENBQUM7SUFpQjVFLENBQUM7SUEzSkQsSUFBVyxVQUFVLENBQUMsS0FBYTtRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixnQ0FBZ0M7SUFDcEMsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQXlDRCxJQUFXLFlBQVksQ0FBQyxZQUFvQjtRQUN4QyxNQUFNLElBQUksR0FBVyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBRXhDLElBQUksQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFDO1FBRWxDLElBQUksSUFBSSxLQUFLLElBQUksQ0FB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QUFDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN2RSxNQUFNLGFBQWEsR0FBVyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN2RixJQUFJLENBQUMsaUJBQWlCLEdBQUcsUUFBUSxHQUFHLGFBQWEsQ0FBQztTQUNyRDtJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRhYmxlTmFtZSB9IGZyb20gJy4uL2VudW0vdGFibGUtbmFtZS5lbnVtJztcclxuaW1wb3J0IHsgQ29Eb2N1bWVudFR5cGUgfSBmcm9tICcuLi9lbnVtL2NvLWRvY3VtZW50LXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IEZpbGVUeXBlIH0gZnJvbSAnLi4vZW51bS9maWxlLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IEZpbGVUeXBlSW50ZXJuYWwgfSBmcm9tICcuLi9lbnVtL2ZpbGUtdHlwZS1pbnRlcm5hbC5lbnVtJztcclxuaW1wb3J0IHsgRmlsZVV0aWxzIH0gZnJvbSAnLi4vdXRpbHMvZmlsZS11dGlscyc7XHJcbmltcG9ydCB7IENvRG9jdW1lbnRJbWFnZURpc3BsYXlLaW5kIH0gZnJvbSAnLi4vZW51bS9jby1kb2N1bWVudC1pbWFnZS1kaXNwbGF5LWtpbmQuZW51bSc7XHJcbmltcG9ydCB7IE9iamVjdFJpZ2h0VHlwZSB9IGZyb20gJy4uL2VudW0vb2JqZWN0LXJpZ2h0LXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ29Eb2N1bWVudFJpZ2h0IH0gZnJvbSAnLi9jby1kb2N1bWVudC1yaWdodC5ibyc7XHJcbi8vIFNlZSBEb2N1bWVudERUTy5cclxuZXhwb3J0IGNsYXNzIENvRG9jdW1lbnQge1xyXG4gICAgcHVibGljIHNldCBkb2N1bWVudElkKHZhbHVlOiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLl9kb2N1bWVudElkID0gdmFsdWU7XHJcbiAgICAgICAgLy8gdGhpcy5faWRPYmplY3QuZG9jSWQgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGRvY3VtZW50SWQoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZG9jdW1lbnRJZDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBARGF0ZUZpZWxkKClcclxuICAgIHB1YmxpYyBjcmVhdGlvbkRhdGU6IERhdGU7XHJcbiAgICAvLyBARGF0ZUZpZWxkKClcclxuICAgIHB1YmxpYyBtb2RpZmllZERhdGU6IERhdGU7XHJcbiAgICAvLyBwdWJsaWMgY3JlYXRpb25Vc2VyOiBzdHJpbmc7XHJcbiAgICAvLyBwdWJsaWMgbW9kaWZpZWRVc2VyOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgZGVzY3JpcHRpb246IHN0cmluZztcclxuICAgIHB1YmxpYyB0aHVtYm5haWxCb2R5OiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgdGFibGU6IFRhYmxlTmFtZTtcclxuICAgIHB1YmxpYyBrZXk6IHN0cmluZztcclxuICAgIHB1YmxpYyBmaWxlUGF0aDogc3RyaW5nO1xyXG4gICAgcHVibGljIGRvY3VtZW50VHlwZTogQ29Eb2N1bWVudFR5cGU7XHJcbiAgICAvKipcclxuICAgICAqIFRoZSBkYXRhYmFzZS1mZXRjaGVkIG1pbWV0eXBlIG9mIHRoaXMgZG9jdW1lbnQuIE5vdGU6IGlzIGJhcmVseSBzZXQgdG8gYSB2YWx1ZSwgYW5kIHdoZW4gaXQncyBzZXQsIGl0J3MgdXN1YWxseSBnYXJiYWdlIGRhdGEuXHJcbiAgICAgKiBVc2UgLm1pbWVUeXBlSW50ZXJuYWwgaWYgeW91IHdhbnQgdGhlIGJlc3QgZWR1Y2F0ZWQgZ3Vlc3Mgb2YgdGhlIHRydWUgbWltZSB0eXBlIG9mIHRoaXMgZG9jdW1lbnQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBtaW1lVHlwZTogc3RyaW5nO1xyXG4gICAgcHVibGljIHB1YmxpY2F0aW9uOiBudW1iZXI7XHJcbiAgICBwdWJsaWMgZmlsZVNpemU6IHN0cmluZztcclxuICAgIHB1YmxpYyBmaWxlVHlwZTogRmlsZVR5cGU7XHJcbiAgICBwdWJsaWMgaXNMb2FkZWQ6IGJvb2xlYW47XHJcbiAgICBwdWJsaWMgaW5kZXg6IG51bWJlcjtcclxuICAgIHB1YmxpYyBpbWFnZURpbWVuc2lvbnM6IHN0cmluZztcclxuICAgIHB1YmxpYyB0aXRsZTogc3RyaW5nO1xyXG4gICAgLy8gQEJvb2xlYW5UZXh0KFwiVFwiKVxyXG4gICAgLy8gcHVibGljIGRvd25sb2FkYWJsZTogYm9vbGVhbjtcclxuICAgIC8vIEBCb29sZWFuVGV4dChcIlRcIilcclxuICAgIC8vIHB1YmxpYyBhdHRhY2hUb05vdGlmaWNhdGlvbjogYm9vbGVhbjtcclxuICAgIC8vIEBCb29sZWFuVGV4dChcIlRcIilcclxuICAgIC8vIEBEZWZhdWx0U2VuZFZhbHVlKFwiRlwiKVxyXG4gICAgLy8gcHVibGljIHBhdGhJc1VybDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgLy8gcHVibGljIGltYWdlVHlwZTogc3RyaW5nO1xyXG4gICAgcHVibGljIGltYWdlRGlzcGxheUtpbmQ6IENvRG9jdW1lbnRJbWFnZURpc3BsYXlLaW5kO1xyXG4gICAgLy8gQENvbXBsZXhBcnJheShUYWcpXHJcbiAgICAvLyBwdWJsaWMgdGFnczogVGFnW10gPSBbXTtcclxuICAgIHB1YmxpYyByaWdodExldmVsOiBPYmplY3RSaWdodFR5cGU7XHJcbiAgICAvLyBAQ29tcGxleEFycmF5KENvRG9jdW1lbnRSaWdodClcclxuICAgIHB1YmxpYyByaWdodHM6IENvRG9jdW1lbnRSaWdodFtdID0gW107XHJcblxyXG4gICAgcHVibGljIHNldCBkb2N1bWVudEJvZHkoZG9jdW1lbnRCb2R5OiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zdCBwcmV2OiBzdHJpbmcgPSB0aGlzLl9kb2N1bWVudEJvZHk7XHJcblxyXG4gICAgICAgIHRoaXMuX2RvY3VtZW50Qm9keSA9IGRvY3VtZW50Qm9keTtcclxuXHJcbiAgICAgICAgaWYgKHByZXYgIT09IHRoaXMuX2RvY3VtZW50Qm9keSkge1xyXG4gICAgICAgICAgICB0aGlzLmRvY3VtZW50Qm9keUNoYW5nZS5uZXh0KHRoaXMuX2RvY3VtZW50Qm9keSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgZG9jdW1lbnRCb2R5KCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RvY3VtZW50Qm9keTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBARGVmYXVsdFNlbmRWYWx1ZShbXSlcclxuICAgIC8vIEBDb21wbGV4QXJyYXkoQXJ0aWNsZVNlb1ZhbHVlKVxyXG4gICAgLy8gcHVibGljIHNlb1RpdGxlczogQXJ0aWNsZVNlb1ZhbHVlW10gPSBbXTtcclxuICAgIHB1YmxpYyBmaWxlTmFtZTogc3RyaW5nO1xyXG4gICAgcHVibGljIHJldGFpbEZvcm11bGFzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICAgIC8vIEBOb0RiRmllbGQoKVxyXG4gICAgLy8gcHVibGljIGlkRm9yTGluazogbnVtYmVyO1xyXG5cclxuICAgIC8vIFRoZSBpbnRlcm5hbCBmaWxlIHR5cGUgb2YgdGhpcyBkb2N1bWVudCAodGhlIE1pbWVUeXBlIGlPbmVKUyB1c2VzIGludGVybmFsbHkpXHJcbiAgICBwdWJsaWMgZ2V0IGZpbGVUeXBlSW50ZXJuYWwoKTogRmlsZVR5cGVJbnRlcm5hbCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9maWxlVHlwZUludGVybmFsKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZpbGVUeXBlOiBGaWxlVHlwZUludGVybmFsID0gRmlsZVV0aWxzLkZpbGVOYW1lVG9GaWxlVHlwZUludGVybmFsKHRoaXMuZmlsZU5hbWUpO1xyXG4gICAgICAgICAgICBpZiAoZmlsZVR5cGUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2ZpbGVUeXBlSW50ZXJuYWwgPSBmaWxlVHlwZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5fZmlsZVR5cGVJbnRlcm5hbDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBtaW1ldHlwZSBvZiB0aGlzIGRvY3VtZW50OiB1c2VzIGRhdGFiYXNlLWZldGNoZWQgdGhpcy5taW1lVHlwZSwgb3IgY2FsY3VsYXRlcyAvIGd1ZXNzZXMgdGhlIG1pbWUgdHlwZSBvZiB0aGUgZG9jdW1lbnRcclxuICAgICAqIGlmIHRoYXQgd2FzIG5vdCBzZXQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgbWltZVR5cGVJbnRlcm5hbCgpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICh0aGlzLl9taW1lVHlwZUludGVybmFsKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9taW1lVHlwZUludGVybmFsO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2luaXRNaW1ldHlwZUludGVybmFsKCk7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9taW1lVHlwZUludGVybmFsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0IG1pbWVUeXBlSW50ZXJuYWwodmFsdWU6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuX21pbWVUeXBlSW50ZXJuYWwgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBHaXZlcyBlaXRoZXIgdGhlIGRvY3VtZW50LShwcmlvKSBvciB0aGUgdGh1bWJuYWlsIGJvZHkuIE9yIHVuZGVmaW5lZCBpZiBub3QgZXhpc3QuXHJcbiAgICBwdWJsaWMgZ2V0IGJvZHlBc0RhdGFVcmkoKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAodGhpcy5fZG9jdW1lbnRCb2R5KSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmRvY3VtZW50Qm9keUFzRGF0YVVyaTtcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMudGh1bWJuYWlsQm9keSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy50aHVtYm5haWxCb2R5QXNEYXRhVXJpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBUaGUgYm9keSBvZiB0aGlzIGRvY3VtZW50IGFzIGEgZGF0YSB1cmkuIFRoZSBkYXRhIHVyaSBhbHNvIGNvbnRhaW5zIHRoZSBtaW1ldHlwZSBpbiBpdHMgc3RyaW5nLCBhbmQgdGhlIGZhY3QgdGhhdCBpdCdzIGJhc2U2NC5cclxuICAgIHB1YmxpYyBnZXQgZG9jdW1lbnRCb2R5QXNEYXRhVXJpKCk6IHN0cmluZyB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgcmV0dXJuIEZpbGVVdGlscy5Eb2N1bWVudEJvZHlUb0RhdGFVcmkodGhpcy5kb2N1bWVudEJvZHksIHRoaXMubWltZVR5cGVJbnRlcm5hbCk7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgcmV0dXJuIFwiXCI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFRoZSBUaHVtYm5haWxib2R5IG9mIHRoaXMgZG9jdW1lbnQgYXMgYSBkYXRhIHVyaS4gVGhlIGRhdGEgdXJpIGFsc28gY29udGFpbnMgdGhlIG1pbWV0eXBlIGluIGl0cyBzdHJpbmcsIGFuZCB0aGUgZmFjdCB0aGF0IGl0J3MgYmFzZTY0LlxyXG4gICAgcHVibGljIGdldCB0aHVtYm5haWxCb2R5QXNEYXRhVXJpKCk6IHN0cmluZyB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgcmV0dXJuIEZpbGVVdGlscy5Eb2N1bWVudEJvZHlUb0RhdGFVcmkodGhpcy50aHVtYm5haWxCb2R5LCB0aGlzLm1pbWVUeXBlSW50ZXJuYWwpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGlzQXZhdGFyKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmltYWdlRGlzcGxheUtpbmQgPT09IENvRG9jdW1lbnRJbWFnZURpc3BsYXlLaW5kLkF2YXRhcjtcclxuICAgIH1cclxuXHJcbiAgICAvLyBARGJGaWVsZEFsaWFzKFwiZG9jdW1lbnRCb2R5XCIpXHJcbiAgICBwcml2YXRlIF9kb2N1bWVudEJvZHk6IHN0cmluZztcclxuICAgIC8vXHJcbiAgICAvLyBARGJGaWVsZEFsaWFzKFwiZG9jdW1lbnRJZFwiKVxyXG4gICAgcHJpdmF0ZSBfZG9jdW1lbnRJZDogbnVtYmVyO1xyXG4gICAgLy9cclxuICAgIC8vIEBOb0RiRmllbGQoKVxyXG4gICAgLy8gQENvbXBsZXhGaWVsZChTdWJqZWN0KVxyXG4gICAgcHVibGljIHJlYWRvbmx5IGRvY3VtZW50Qm9keUNoYW5nZTogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG5cclxuICAgIC8vIFRoZSBpbnRlcm5hbCByZXByZXNlbnRhdGlvbiBvZiB0aGUgTWltZVR5cGUsIHNlZSBlbnVtIE1pbWVUeXBlIChhY3R1YWwgbWltZVR5cGUgZmllbGQgaXMgbm90IGZpbGxlZCBpbiBkYiBvZnRlbilcclxuICAgIC8vIEBOb0RiRmllbGQoKVxyXG4gICAgcHJpdmF0ZSBfZmlsZVR5cGVJbnRlcm5hbDogRmlsZVR5cGVJbnRlcm5hbDtcclxuICAgIC8vIGVnIFwiaW1hZ2UvanBlZ1wiXHJcbiAgICAvLyBATm9EYkZpZWxkKClcclxuICAgIHByaXZhdGUgX21pbWVUeXBlSW50ZXJuYWw6IHN0cmluZztcclxuICAgIC8vXHJcbiAgICAvLyBATm9EYkZpZWxkKClcclxuICAgIC8vIHByaXZhdGUgX2lkT2JqZWN0OiBhbnkgPSB7fTtcclxuXHJcbiAgICBwdWJsaWMgZ2V0IHJlYWRvbmx5KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJpZ2h0TGV2ZWwgPT09IE9iamVjdFJpZ2h0VHlwZS5SZWFkT25seTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0SWQoKTogYW55IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kb2N1bWVudElkO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFJldHVybnMgd2hldGhlciB0aGlzIGlzIGFuIGltYWdlIGRvY3VtZW50IG9yIG5vdC5cclxuICAgIHB1YmxpYyBpc0ltYWdlRG9jdW1lbnQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuICh0aGlzLmZpbGVUeXBlSW50ZXJuYWwgPT09IEZpbGVUeXBlSW50ZXJuYWwuSW1hZ2UpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEBCb1NlcmlhbGl6ZXJTdGVwKClcclxuICAgIHB1YmxpYyBwcmV2ZW50T3ZlcnJpZGluZ1RodW1ibmFpbFRvRW1wdHkoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnRodW1ibmFpbEJvZHkpIHtcclxuICAgICAgICAgICAgdGhpcy50aHVtYm5haWxCb2R5ID0gdGhpcy5fZG9jdW1lbnRCb2R5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBQT1NUQ09ORElUSU9OOiB0aGlzLl9taW1lVHlwZUludGVybmFsIGNvbnRhaW5zLCB0byBvdXIgYmVzdCBhYmlsaXRpZXMsIHRoZSB0cnVlIG1pbWVUeXBlIG9mIHRoaXMgZG9jdW1lbnQsIGEtbGEgXCJpbWFnZS9qcGdcIlxyXG4gICAgcHJpdmF0ZSBfaW5pdE1pbWV0eXBlSW50ZXJuYWwoKTogdm9pZCB7XHJcbiAgICAgICAgLy8gaWYgbm8gZmlsZVR5cGUsIGRlZmF1bHQgdG8gRmlsZVR5cGUuSW1hZ2UgZm9yIGludGVybmFsIG1pbWV0eXBlIGluaXRpYWxpemF0aW9uXHJcbiAgICAgICAgaWYgKCh0aGlzLmZpbGVUeXBlID09PSBGaWxlVHlwZS5JbWFnZSB8fCAhdGhpcy5maWxlVHlwZSkgJiYgdGhpcy5maWxlTmFtZSkge1xyXG4gICAgICAgICAgICBjb25zdCBmaWxlRXh0ZW5zaW9uOiBzdHJpbmcgPSB0aGlzLmZpbGVOYW1lLnN1YnN0cih0aGlzLmZpbGVOYW1lLmxhc3RJbmRleE9mKFwiLlwiKSArIDEpO1xyXG4gICAgICAgICAgICB0aGlzLl9taW1lVHlwZUludGVybmFsID0gXCJpbWFnZS9cIiArIGZpbGVFeHRlbnNpb247XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==