@elderbyte/ngx-starter 18.15.2 → 19.0.1

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 (576) hide show
  1. package/fesm2022/elderbyte-ngx-starter.mjs +1097 -1125
  2. package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
  3. package/lib/common/forms/elder-form-field-control-base.directive.d.ts +1 -1
  4. package/lib/common/forms/elder-from-field-base.d.ts +1 -1
  5. package/lib/common/forms/elder-from-field-customizable-base.d.ts +1 -1
  6. package/lib/common/forms/elder-from-field-entity-base.d.ts +1 -1
  7. package/lib/common/forms/elder-from-field-multi-entity-base.d.ts +1 -1
  8. package/lib/common/forms/form-field-base.component.d.ts +1 -1
  9. package/lib/common/forms/multi-model-base.component.d.ts +1 -1
  10. package/lib/common/forms/template-composite-control.d.ts +1 -1
  11. package/lib/common/forms/value-accessor-base.d.ts +1 -1
  12. package/lib/common/reactive-map.d.ts +1 -1
  13. package/lib/components/data-view/base/elder-data-view-base.d.ts +1 -1
  14. package/lib/components/forms/directives/base/elder-class-hostbinding-base.d.ts +1 -1
  15. package/lib/components/iframes/typed-event-message.d.ts +1 -1
  16. package/lib/components/panels/elder-panel.module.d.ts +5 -7
  17. package/lib/components/select/elder-select-base.d.ts +1 -1
  18. package/lib/components/select/multi/elder-multi-select-base.d.ts +1 -1
  19. package/lib/components/select/multi/elder-multi-select-form-field.d.ts +1 -1
  20. package/lib/components/select/single/elder-select-form-field.d.ts +1 -1
  21. package/package.json +6 -8
  22. package/src/lib/components/errors/exception-detail/elder-exception-detail.component.scss +2 -3
  23. package/src/lib/components/panels/flat/_elder-panel-theme.scss +5 -1
  24. package/esm2022/elderbyte-ngx-starter.mjs +0 -5
  25. package/esm2022/lib/common/arrays.mjs +0 -29
  26. package/esm2022/lib/common/async/public_api.mjs +0 -2
  27. package/esm2022/lib/common/async/refreshing-entity.mjs +0 -88
  28. package/esm2022/lib/common/csv/csv-serializer.mjs +0 -55
  29. package/esm2022/lib/common/csv/csv-spec.mjs +0 -99
  30. package/esm2022/lib/common/csv/public_api.mjs +0 -3
  31. package/esm2022/lib/common/data/continuable-listing.mjs +0 -10
  32. package/esm2022/lib/common/data/data-context/data-context-active-page.mjs +0 -131
  33. package/esm2022/lib/common/data/data-context/data-context-auto-starter.mjs +0 -78
  34. package/esm2022/lib/common/data/data-context/data-context-base.mjs +0 -339
  35. package/esm2022/lib/common/data/data-context/data-context-builder.mjs +0 -245
  36. package/esm2022/lib/common/data/data-context/data-context-continuable-base.mjs +0 -67
  37. package/esm2022/lib/common/data/data-context/data-context-continuable-paged.mjs +0 -142
  38. package/esm2022/lib/common/data/data-context/data-context-continuable-token.mjs +0 -146
  39. package/esm2022/lib/common/data/data-context/data-context-life-cycle-binding.mjs +0 -32
  40. package/esm2022/lib/common/data/data-context/data-context-simple.mjs +0 -61
  41. package/esm2022/lib/common/data/data-context/data-context-source-event-binding.mjs +0 -63
  42. package/esm2022/lib/common/data/data-context/data-context-status.mjs +0 -46
  43. package/esm2022/lib/common/data/data-context/data-context.mjs +0 -30
  44. package/esm2022/lib/common/data/data-context/indexed-entities.mjs +0 -153
  45. package/esm2022/lib/common/data/data-context/mat-table-data-context-binding.mjs +0 -145
  46. package/esm2022/lib/common/data/data-context/public_api.mjs +0 -15
  47. package/esm2022/lib/common/data/datasource/data-source-adapter.mjs +0 -59
  48. package/esm2022/lib/common/data/datasource/data-source-base.mjs +0 -38
  49. package/esm2022/lib/common/data/datasource/data-source-change-event.mjs +0 -34
  50. package/esm2022/lib/common/data/datasource/data-source-processor.mjs +0 -198
  51. package/esm2022/lib/common/data/datasource/data-source.mjs +0 -23
  52. package/esm2022/lib/common/data/datasource/entity-id-util.mjs +0 -11
  53. package/esm2022/lib/common/data/datasource/fetcher/delegate-data-source.mjs +0 -127
  54. package/esm2022/lib/common/data/datasource/local/local-list-data-source.mjs +0 -153
  55. package/esm2022/lib/common/data/datasource/local/local-paged-data-source.mjs +0 -75
  56. package/esm2022/lib/common/data/datasource/patch/deep-partial-patcher.mjs +0 -58
  57. package/esm2022/lib/common/data/datasource/public_api.mjs +0 -10
  58. package/esm2022/lib/common/data/datasource/rest/public_api.mjs +0 -2
  59. package/esm2022/lib/common/data/datasource/rest/rest-client.mjs +0 -290
  60. package/esm2022/lib/common/data/entity-set-patch.mjs +0 -161
  61. package/esm2022/lib/common/data/field-comparator.mjs +0 -108
  62. package/esm2022/lib/common/data/filters/filter-commons.mjs +0 -12
  63. package/esm2022/lib/common/data/filters/filter-context.mjs +0 -135
  64. package/esm2022/lib/common/data/filters/filter-value.mjs +0 -2
  65. package/esm2022/lib/common/data/filters/filter.mjs +0 -104
  66. package/esm2022/lib/common/data/http-params-builder.mjs +0 -116
  67. package/esm2022/lib/common/data/page.mjs +0 -58
  68. package/esm2022/lib/common/data/public_api.mjs +0 -12
  69. package/esm2022/lib/common/data/required-filter-evaluator.mjs +0 -71
  70. package/esm2022/lib/common/data/sort-context.mjs +0 -73
  71. package/esm2022/lib/common/data/sort.mjs +0 -11
  72. package/esm2022/lib/common/data/token-chunk-request.mjs +0 -8
  73. package/esm2022/lib/common/enums/elder-enum-translation.service.mjs +0 -84
  74. package/esm2022/lib/common/enums/public_api.mjs +0 -2
  75. package/esm2022/lib/common/errors/exception-detail.mjs +0 -2
  76. package/esm2022/lib/common/errors/public_api.mjs +0 -3
  77. package/esm2022/lib/common/errors/standard-error-detail.mjs +0 -2
  78. package/esm2022/lib/common/exceptions/public_api.mjs +0 -2
  79. package/esm2022/lib/common/exceptions/unreachable-case-error.mjs +0 -8
  80. package/esm2022/lib/common/format/bytes-format.mjs +0 -15
  81. package/esm2022/lib/common/format/bytes-per-second-format.mjs +0 -41
  82. package/esm2022/lib/common/format/curency-format-util.mjs +0 -43
  83. package/esm2022/lib/common/format/duration-format-util.mjs +0 -44
  84. package/esm2022/lib/common/format/iso-interval-format-util.mjs +0 -111
  85. package/esm2022/lib/common/format/public_api.mjs +0 -6
  86. package/esm2022/lib/common/forms/elder-entity-value-accessor.mjs +0 -22
  87. package/esm2022/lib/common/forms/elder-form-field-control-base.directive.mjs +0 -188
  88. package/esm2022/lib/common/forms/elder-from-field-base.mjs +0 -94
  89. package/esm2022/lib/common/forms/elder-from-field-customizable-base.mjs +0 -52
  90. package/esm2022/lib/common/forms/elder-from-field-entity-base.mjs +0 -39
  91. package/esm2022/lib/common/forms/elder-from-field-multi-entity-base.mjs +0 -47
  92. package/esm2022/lib/common/forms/elder-multi-entity-value-accessor.mjs +0 -22
  93. package/esm2022/lib/common/forms/form-field-base.component.mjs +0 -111
  94. package/esm2022/lib/common/forms/multi-model-base.component.mjs +0 -32
  95. package/esm2022/lib/common/forms/public_api.mjs +0 -12
  96. package/esm2022/lib/common/forms/template-composite-control.mjs +0 -136
  97. package/esm2022/lib/common/forms/value-accessor-base.mjs +0 -146
  98. package/esm2022/lib/common/forms/view-providers.mjs +0 -30
  99. package/esm2022/lib/common/http/http-client-builder.service.mjs +0 -14
  100. package/esm2022/lib/common/http/http-client-pristine.mjs +0 -21
  101. package/esm2022/lib/common/http/public_api.mjs +0 -5
  102. package/esm2022/lib/common/http/transfer/data-transfer-base.mjs +0 -77
  103. package/esm2022/lib/common/http/transfer/data-transfer-factory.mjs +0 -106
  104. package/esm2022/lib/common/http/transfer/data-transfer-progress-aggregate.mjs +0 -60
  105. package/esm2022/lib/common/http/transfer/data-transfer-progress.mjs +0 -17
  106. package/esm2022/lib/common/http/transfer/data-transfer-state.mjs +0 -82
  107. package/esm2022/lib/common/http/transfer/data-transfer-status.mjs +0 -24
  108. package/esm2022/lib/common/http/transfer/data-transfer.mjs +0 -2
  109. package/esm2022/lib/common/http/transfer/http-data-transfer.mjs +0 -132
  110. package/esm2022/lib/common/http/transfer/public_api.mjs +0 -7
  111. package/esm2022/lib/common/http/upload/file-upload-client.mjs +0 -42
  112. package/esm2022/lib/common/i18n/entity/elder-multi-translate-loader.mjs +0 -53
  113. package/esm2022/lib/common/i18n/entity/impl/i18n-base.mjs +0 -6
  114. package/esm2022/lib/common/i18n/entity/impl/i18n-text.mjs +0 -16
  115. package/esm2022/lib/common/i18n/entity/impl/translated.mjs +0 -15
  116. package/esm2022/lib/common/i18n/entity/language-tag.mjs +0 -12
  117. package/esm2022/lib/common/i18n/entity/locale.mjs +0 -12
  118. package/esm2022/lib/common/i18n/entity/localisation-picker.mjs +0 -30
  119. package/esm2022/lib/common/i18n/entity/localized.mjs +0 -2
  120. package/esm2022/lib/common/i18n/entity/public_api.mjs +0 -10
  121. package/esm2022/lib/common/i18n/entity/translated-converter.mjs +0 -18
  122. package/esm2022/lib/common/i18n/entity/translated.mjs +0 -2
  123. package/esm2022/lib/common/i18n/public_api.mjs +0 -2
  124. package/esm2022/lib/common/json-map.mjs +0 -17
  125. package/esm2022/lib/common/objects.mjs +0 -43
  126. package/esm2022/lib/common/public_api.mjs +0 -23
  127. package/esm2022/lib/common/reactive-map.mjs +0 -69
  128. package/esm2022/lib/common/rxjs/operators/lazy-sample.mjs +0 -34
  129. package/esm2022/lib/common/rxjs/public_api.mjs +0 -2
  130. package/esm2022/lib/common/selection/public_api.mjs +0 -2
  131. package/esm2022/lib/common/selection/selection-model.mjs +0 -213
  132. package/esm2022/lib/common/sets.mjs +0 -45
  133. package/esm2022/lib/common/suggestion-provider.mjs +0 -12
  134. package/esm2022/lib/common/templates/template-slot-manager.mjs +0 -135
  135. package/esm2022/lib/common/theme-sizes.mjs +0 -2
  136. package/esm2022/lib/common/time/date-util.mjs +0 -91
  137. package/esm2022/lib/common/time/interval-coerce.mjs +0 -30
  138. package/esm2022/lib/common/time/interval.mjs +0 -442
  139. package/esm2022/lib/common/time/period-duration.mjs +0 -133
  140. package/esm2022/lib/common/time/public_api.mjs +0 -8
  141. package/esm2022/lib/common/time/temporal-plain-date-interval.mjs +0 -34
  142. package/esm2022/lib/common/time/temporal-util.mjs +0 -205
  143. package/esm2022/lib/common/time/time-util.mjs +0 -38
  144. package/esm2022/lib/common/url/elder-router.service.mjs +0 -54
  145. package/esm2022/lib/common/url/elder-url-fragment-params.service.mjs +0 -117
  146. package/esm2022/lib/common/url/public_api.mjs +0 -4
  147. package/esm2022/lib/common/url/url-query-params.mjs +0 -133
  148. package/esm2022/lib/common/utils/batcher.mjs +0 -35
  149. package/esm2022/lib/common/utils/collection-util.mjs +0 -111
  150. package/esm2022/lib/common/utils/filter-util.mjs +0 -133
  151. package/esm2022/lib/common/utils/focus-util.mjs +0 -23
  152. package/esm2022/lib/common/utils/input-utils.mjs +0 -6
  153. package/esm2022/lib/common/utils/next-number-util.mjs +0 -89
  154. package/esm2022/lib/common/utils/ng-zone-utils.mjs +0 -16
  155. package/esm2022/lib/common/utils/parse-util.mjs +0 -17
  156. package/esm2022/lib/common/utils/property-path-util.mjs +0 -28
  157. package/esm2022/lib/common/utils/public_api.mjs +0 -14
  158. package/esm2022/lib/common/utils/query-list-binding.mjs +0 -68
  159. package/esm2022/lib/common/utils/signal-input.mjs +0 -3
  160. package/esm2022/lib/common/utils/sort-util.mjs +0 -42
  161. package/esm2022/lib/common/utils/url-builder.mjs +0 -275
  162. package/esm2022/lib/common/utils/uuid-util.mjs +0 -28
  163. package/esm2022/lib/common/utils/value-wrapper.mjs +0 -19
  164. package/esm2022/lib/components/access-denied/elder-access-denied.component.mjs +0 -15
  165. package/esm2022/lib/components/access-denied/elder-access-denied.module.mjs +0 -20
  166. package/esm2022/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +0 -50
  167. package/esm2022/lib/components/auditing/elder-audit.module.mjs +0 -40
  168. package/esm2022/lib/components/auditing/i-audited-entity.mjs +0 -3
  169. package/esm2022/lib/components/badge/elder-badge/elder-badge.component.mjs +0 -162
  170. package/esm2022/lib/components/badge/elder-badge.directive.mjs +0 -124
  171. package/esm2022/lib/components/badge/elder-badge.module.mjs +0 -58
  172. package/esm2022/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +0 -13
  173. package/esm2022/lib/components/button-group/elder-button-group.module.mjs +0 -21
  174. package/esm2022/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +0 -118
  175. package/esm2022/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +0 -18
  176. package/esm2022/lib/components/card-organizer/card-organizer-data.mjs +0 -93
  177. package/esm2022/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +0 -220
  178. package/esm2022/lib/components/card-organizer/card-stack.mjs +0 -176
  179. package/esm2022/lib/components/card-organizer/elder-card-organizer.module.mjs +0 -62
  180. package/esm2022/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +0 -17
  181. package/esm2022/lib/components/cards/elder-card/elder-card.component.mjs +0 -167
  182. package/esm2022/lib/components/cards/elder-card/elder-card.module.mjs +0 -71
  183. package/esm2022/lib/components/chips/elder-chip-label.directive.mjs +0 -171
  184. package/esm2022/lib/components/chips/elder-chips.module.mjs +0 -45
  185. package/esm2022/lib/components/connectivity/elder-connectivity.module.mjs +0 -57
  186. package/esm2022/lib/components/connectivity/elder-connectivity.service.mjs +0 -61
  187. package/esm2022/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +0 -46
  188. package/esm2022/lib/components/connectivity/public_api.mjs +0 -3
  189. package/esm2022/lib/components/containers/elder-containers.module.mjs +0 -18
  190. package/esm2022/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +0 -24
  191. package/esm2022/lib/components/containers/public_api.mjs +0 -2
  192. package/esm2022/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +0 -77
  193. package/esm2022/lib/components/csv/elder-csv-stream-exporter-builder.mjs +0 -38
  194. package/esm2022/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +0 -38
  195. package/esm2022/lib/components/csv/elder-csv-stream-exporter.mjs +0 -114
  196. package/esm2022/lib/components/csv/elder-csv.module.mjs +0 -24
  197. package/esm2022/lib/components/currency/elder-currency.module.mjs +0 -18
  198. package/esm2022/lib/components/currency/elder-currency.pipe.mjs +0 -37
  199. package/esm2022/lib/components/currency/model/currency-code.mjs +0 -38
  200. package/esm2022/lib/components/currency/model/currency-unit-registry.mjs +0 -30
  201. package/esm2022/lib/components/currency/model/currency-unit.mjs +0 -10
  202. package/esm2022/lib/components/currency/model/currency.mjs +0 -15
  203. package/esm2022/lib/components/currency/public_api.mjs +0 -7
  204. package/esm2022/lib/components/data-transfer/elder-data-transfer.module.mjs +0 -91
  205. package/esm2022/lib/components/data-transfer/elder-data-transfer.service.mjs +0 -93
  206. package/esm2022/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +0 -102
  207. package/esm2022/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +0 -34
  208. package/esm2022/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +0 -57
  209. package/esm2022/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +0 -34
  210. package/esm2022/lib/components/data-view/base/data-view-options-provider-binding.mjs +0 -69
  211. package/esm2022/lib/components/data-view/base/elder-data-view-base.mjs +0 -265
  212. package/esm2022/lib/components/data-view/base/elder-data-view-options-provider.mjs +0 -44
  213. package/esm2022/lib/components/data-view/base/elder-data-view-options.mjs +0 -45
  214. package/esm2022/lib/components/data-view/base/elder-data-view.mjs +0 -3
  215. package/esm2022/lib/components/data-view/base/public_api.mjs +0 -6
  216. package/esm2022/lib/components/data-view/common/composite-sort/composite-sort-context.mjs +0 -30
  217. package/esm2022/lib/components/data-view/common/composite-sort/composite-sort-dc.directive.mjs +0 -55
  218. package/esm2022/lib/components/data-view/common/composite-sort/composite-sort.mjs +0 -68
  219. package/esm2022/lib/components/data-view/common/composite-sort/elder-composite-sort/elder-composite-sort.component.mjs +0 -101
  220. package/esm2022/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +0 -45
  221. package/esm2022/lib/components/data-view/common/elder-data-common.module.mjs +0 -125
  222. package/esm2022/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +0 -140
  223. package/esm2022/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +0 -100
  224. package/esm2022/lib/components/data-view/common/selection/data-context-selection.directive.mjs +0 -103
  225. package/esm2022/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +0 -36
  226. package/esm2022/lib/components/data-view/common/selection/master-selection-state.mjs +0 -10
  227. package/esm2022/lib/components/data-view/elder-data-view-interaction-mode.mjs +0 -2
  228. package/esm2022/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +0 -345
  229. package/esm2022/lib/components/data-view/grid/elder-grid.module.mjs +0 -91
  230. package/esm2022/lib/components/data-view/master-detail/elder-detail-dialog/elder-detail-dialog.component.mjs +0 -75
  231. package/esm2022/lib/components/data-view/master-detail/elder-detail.directive.mjs +0 -50
  232. package/esm2022/lib/components/data-view/master-detail/elder-master-activation.directive.mjs +0 -79
  233. package/esm2022/lib/components/data-view/master-detail/elder-master-detail-mode.mjs +0 -2
  234. package/esm2022/lib/components/data-view/master-detail/elder-master-detail-provider.mjs +0 -20
  235. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.component.mjs +0 -119
  236. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.module.mjs +0 -116
  237. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.service.mjs +0 -89
  238. package/esm2022/lib/components/data-view/master-detail/elder-master.directive.mjs +0 -23
  239. package/esm2022/lib/components/data-view/master-detail/master-detail-activation-event.mjs +0 -12
  240. package/esm2022/lib/components/data-view/public_api.mjs +0 -7
  241. package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +0 -18
  242. package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +0 -104
  243. package/esm2022/lib/components/data-view/table/activation/activation-event-source.mjs +0 -7
  244. package/esm2022/lib/components/data-view/table/activation/elder-activation-context.mjs +0 -2
  245. package/esm2022/lib/components/data-view/table/activation/elder-delete-active.directive.mjs +0 -114
  246. package/esm2022/lib/components/data-view/table/activation/elder-table-activation-options.mjs +0 -2
  247. package/esm2022/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +0 -315
  248. package/esm2022/lib/components/data-view/table/activation/item-activation-event.mjs +0 -8
  249. package/esm2022/lib/components/data-view/table/activation/item-activation-options.mjs +0 -7
  250. package/esm2022/lib/components/data-view/table/activation/public_api.mjs +0 -8
  251. package/esm2022/lib/components/data-view/table/elder-center-cell.directive.mjs +0 -23
  252. package/esm2022/lib/components/data-view/table/elder-number-cell.directive.mjs +0 -30
  253. package/esm2022/lib/components/data-view/table/elder-paginator-intl.mjs +0 -73
  254. package/esm2022/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +0 -21
  255. package/esm2022/lib/components/data-view/table/elder-table/elder-table.component.mjs +0 -338
  256. package/esm2022/lib/components/data-view/table/elder-table-column.directive.mjs +0 -18
  257. package/esm2022/lib/components/data-view/table/elder-table-extension.directive.mjs +0 -92
  258. package/esm2022/lib/components/data-view/table/elder-table-root.directive.mjs +0 -26
  259. package/esm2022/lib/components/data-view/table/elder-table-row.directive.mjs +0 -156
  260. package/esm2022/lib/components/data-view/table/elder-table-sort.directive.mjs +0 -23
  261. package/esm2022/lib/components/data-view/table/elder-table.module.mjs +0 -184
  262. package/esm2022/lib/components/data-view/table/model/elder-column-layout.mjs +0 -110
  263. package/esm2022/lib/components/data-view/table/model/elder-table-model-cdk-table-binding.mjs +0 -85
  264. package/esm2022/lib/components/data-view/table/model/elder-table-model-provider.mjs +0 -40
  265. package/esm2022/lib/components/data-view/table/model/elder-table-model-query-group.mjs +0 -89
  266. package/esm2022/lib/components/data-view/table/model/elder-table-model.mjs +0 -167
  267. package/esm2022/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +0 -37
  268. package/esm2022/lib/components/dialogs/elder-dialog-config.mjs +0 -3
  269. package/esm2022/lib/components/dialogs/elder-dialog.module.mjs +0 -87
  270. package/esm2022/lib/components/dialogs/elder-dialog.service.mjs +0 -199
  271. package/esm2022/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +0 -57
  272. package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +0 -43
  273. package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +0 -47
  274. package/esm2022/lib/components/errors/elder-error.module.mjs +0 -39
  275. package/esm2022/lib/components/errors/error-util.mjs +0 -94
  276. package/esm2022/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +0 -77
  277. package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +0 -55
  278. package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +0 -35
  279. package/esm2022/lib/components/files/blob-url.mjs +0 -10
  280. package/esm2022/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +0 -224
  281. package/esm2022/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.mjs +0 -44
  282. package/esm2022/lib/components/files/drag-n-drop/global-drag-drop.service.mjs +0 -84
  283. package/esm2022/lib/components/files/elder-file-drop-zone.directive.mjs +0 -145
  284. package/esm2022/lib/components/files/elder-file-select-input.mjs +0 -119
  285. package/esm2022/lib/components/files/elder-file-select.directive.mjs +0 -167
  286. package/esm2022/lib/components/files/elder-file.module.mjs +0 -85
  287. package/esm2022/lib/components/files/file-select/file-select.component.mjs +0 -54
  288. package/esm2022/lib/components/files/file-system-api.mjs +0 -100
  289. package/esm2022/lib/components/files/file-upload/file-upload.component.mjs +0 -80
  290. package/esm2022/lib/components/files/listing/file-entry.mjs +0 -92
  291. package/esm2022/lib/components/files/listing/file-listing-rx.mjs +0 -64
  292. package/esm2022/lib/components/files/listing/file-listing-system-handle.mjs +0 -35
  293. package/esm2022/lib/components/files/listing/file-listing-webkit.mjs +0 -76
  294. package/esm2022/lib/components/forms/clipboard/elder-clipboard.service.mjs +0 -51
  295. package/esm2022/lib/components/forms/directives/base/elder-class-hostbinding-base.mjs +0 -34
  296. package/esm2022/lib/components/forms/directives/checkbox/elder-single-state-checkbox-controller.mjs +0 -97
  297. package/esm2022/lib/components/forms/directives/checkbox/elder-single-state-checkbox.directive.mjs +0 -50
  298. package/esm2022/lib/components/forms/directives/checkbox/elder-triple-state-checkbox-controller.mjs +0 -102
  299. package/esm2022/lib/components/forms/directives/checkbox/elder-triple-state-checkbox.directive.mjs +0 -50
  300. package/esm2022/lib/components/forms/directives/elder-clipboard-put.directive.mjs +0 -38
  301. package/esm2022/lib/components/forms/directives/elder-delayed-focus.directive.mjs +0 -43
  302. package/esm2022/lib/components/forms/directives/elder-form-field-dense.directive.mjs +0 -83
  303. package/esm2022/lib/components/forms/directives/elder-form-field-label.directive.mjs +0 -84
  304. package/esm2022/lib/components/forms/directives/elder-form-field-no-hint.directive.mjs +0 -42
  305. package/esm2022/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +0 -35
  306. package/esm2022/lib/components/forms/directives/elder-forms-directives.module.mjs +0 -142
  307. package/esm2022/lib/components/forms/directives/elder-initial-value.directive.mjs +0 -67
  308. package/esm2022/lib/components/forms/directives/elder-input-pattern.directive.mjs +0 -78
  309. package/esm2022/lib/components/forms/directives/elder-key-event.directive.mjs +0 -112
  310. package/esm2022/lib/components/forms/directives/elder-next-focusable.directive.mjs +0 -102
  311. package/esm2022/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +0 -37
  312. package/esm2022/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +0 -30
  313. package/esm2022/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +0 -161
  314. package/esm2022/lib/components/forms/directives/elder-touched.directive.mjs +0 -28
  315. package/esm2022/lib/components/forms/directives/validation/elder-validation-error.directive.mjs +0 -88
  316. package/esm2022/lib/components/forms/directives/validation/strategies/common-validation-message-strategy.mjs +0 -47
  317. package/esm2022/lib/components/forms/directives/validation/strategies/dynamic-validation-message-strategy.mjs +0 -48
  318. package/esm2022/lib/components/forms/directives/validation/strategies/fallback-validation-message-strategy.mjs +0 -6
  319. package/esm2022/lib/components/forms/directives/validation/validation-message-renderer.service.mjs +0 -53
  320. package/esm2022/lib/components/forms/directives/validation/validation-message-strategy.mjs +0 -2
  321. package/esm2022/lib/components/forms/directives/validation/validators/elder-max.validator.mjs +0 -36
  322. package/esm2022/lib/components/forms/directives/validation/validators/elder-min.validator.mjs +0 -36
  323. package/esm2022/lib/components/forms/directives/validation/validators/elder-multiple-of.validator.mjs +0 -112
  324. package/esm2022/lib/components/forms/directives/validation/validators/elder-required-ignore-zero.validator.mjs +0 -69
  325. package/esm2022/lib/components/forms/elder-forms.module.mjs +0 -22
  326. package/esm2022/lib/components/forms/public_api.mjs +0 -6
  327. package/esm2022/lib/components/forms/search/domain/context/search-context.mjs +0 -73
  328. package/esm2022/lib/components/forms/search/domain/context/search-context.service.mjs +0 -42
  329. package/esm2022/lib/components/forms/search/domain/input/input-value.mjs +0 -2
  330. package/esm2022/lib/components/forms/search/domain/input/search-input-state.mjs +0 -88
  331. package/esm2022/lib/components/forms/search/domain/input/search-input.mjs +0 -2
  332. package/esm2022/lib/components/forms/search/domain/input/simple-search-input.mjs +0 -50
  333. package/esm2022/lib/components/forms/search/domain/url/elder-search-url.directive.mjs +0 -92
  334. package/esm2022/lib/components/forms/search/domain/url/elder-search-url.service.mjs +0 -166
  335. package/esm2022/lib/components/forms/search/domain/url/search-query-params-parser.mjs +0 -81
  336. package/esm2022/lib/components/forms/search/elder-search-context.directive.mjs +0 -256
  337. package/esm2022/lib/components/forms/search/elder-search-input.directive.mjs +0 -258
  338. package/esm2022/lib/components/forms/search/elder-search.module.mjs +0 -115
  339. package/esm2022/lib/components/forms/search/filter/default-input-filter-converter.mjs +0 -45
  340. package/esm2022/lib/components/forms/search/filter/input-filter-converter.mjs +0 -2
  341. package/esm2022/lib/components/forms/search/search-box/elder-search-box.component.mjs +0 -131
  342. package/esm2022/lib/components/forms/search/search-box/elder-search-panel.component.mjs +0 -24
  343. package/esm2022/lib/components/global-search/elder-global-search.component.mjs +0 -136
  344. package/esm2022/lib/components/global-search/elder-global-search.module.mjs +0 -47
  345. package/esm2022/lib/components/global-search/elder-global-search.service.mjs +0 -95
  346. package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +0 -90
  347. package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +0 -19
  348. package/esm2022/lib/components/graph/elder-progress-bar/sub-bar.mjs +0 -7
  349. package/esm2022/lib/components/graph/public_api.mjs +0 -2
  350. package/esm2022/lib/components/headers/elder-header/elder-header.component.mjs +0 -29
  351. package/esm2022/lib/components/headers/elder-header.module.mjs +0 -42
  352. package/esm2022/lib/components/http-support/elder-http-client.service.mjs +0 -63
  353. package/esm2022/lib/components/http-support/public_api.mjs +0 -2
  354. package/esm2022/lib/components/i18n/entities/elder-i18n-entities.module.mjs +0 -125
  355. package/esm2022/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +0 -157
  356. package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +0 -39
  357. package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +0 -30
  358. package/esm2022/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +0 -177
  359. package/esm2022/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +0 -31
  360. package/esm2022/lib/components/i18n/entities/elder-localized-texts.directive.mjs +0 -56
  361. package/esm2022/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +0 -40
  362. package/esm2022/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +0 -31
  363. package/esm2022/lib/components/i18n/entities/picker/localisation-picker.service.mjs +0 -74
  364. package/esm2022/lib/components/i18n/language/elder-language-config.mjs +0 -3
  365. package/esm2022/lib/components/i18n/language/elder-language-interceptor.mjs +0 -70
  366. package/esm2022/lib/components/i18n/language/elder-language.module.mjs +0 -73
  367. package/esm2022/lib/components/i18n/language/elder-language.service.mjs +0 -120
  368. package/esm2022/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +0 -79
  369. package/esm2022/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +0 -53
  370. package/esm2022/lib/components/i18n/public_api.mjs +0 -4
  371. package/esm2022/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +0 -129
  372. package/esm2022/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +0 -141
  373. package/esm2022/lib/components/iframes/elder-iframe.module.mjs +0 -106
  374. package/esm2022/lib/components/iframes/iframe-close.directive.mjs +0 -41
  375. package/esm2022/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +0 -51
  376. package/esm2022/lib/components/iframes/iframe-host/iframe-host.component.mjs +0 -144
  377. package/esm2022/lib/components/iframes/iframe-messages.mjs +0 -5
  378. package/esm2022/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +0 -80
  379. package/esm2022/lib/components/iframes/iframe.service.mjs +0 -54
  380. package/esm2022/lib/components/iframes/typed-event-message.mjs +0 -42
  381. package/esm2022/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +0 -65
  382. package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +0 -166
  383. package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +0 -20
  384. package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.mjs +0 -9
  385. package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-suggestion-panel.component.mjs +0 -233
  386. package/esm2022/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +0 -202
  387. package/esm2022/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +0 -120
  388. package/esm2022/lib/components/input/autocomplete/elder-autocomplete.module.mjs +0 -61
  389. package/esm2022/lib/components/input/autocomplete/many/word-position-finder.mjs +0 -58
  390. package/esm2022/lib/components/input/public_api.mjs +0 -2
  391. package/esm2022/lib/components/labels/elder-labels.module.mjs +0 -50
  392. package/esm2022/lib/components/labels/labels-input/labels-input.component.mjs +0 -239
  393. package/esm2022/lib/components/measures/dimensions/dimensions-input/elder-dimensions-input.component.mjs +0 -268
  394. package/esm2022/lib/components/measures/dimensions/validation/elder-required-dimensions.validator.mjs +0 -92
  395. package/esm2022/lib/components/measures/directives/elder-unit-select.directive.mjs +0 -65
  396. package/esm2022/lib/components/measures/elder-measures.module.mjs +0 -130
  397. package/esm2022/lib/components/measures/elder-quantity-transform.pipe.mjs +0 -31
  398. package/esm2022/lib/components/measures/elder-quantity.pipe.mjs +0 -43
  399. package/esm2022/lib/components/measures/elder-unit.service.mjs +0 -113
  400. package/esm2022/lib/components/measures/model/dimensions.mjs +0 -17
  401. package/esm2022/lib/components/measures/model/quantity.mjs +0 -12
  402. package/esm2022/lib/components/measures/model/unit-dimension.mjs +0 -14
  403. package/esm2022/lib/components/measures/model/unit-registry.mjs +0 -81
  404. package/esm2022/lib/components/measures/model/unit.mjs +0 -143
  405. package/esm2022/lib/components/measures/public_api.mjs +0 -8
  406. package/esm2022/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.mjs +0 -44
  407. package/esm2022/lib/components/measures/quantity-input/quantity-input-control/elder-quantity-input-control.component.mjs +0 -173
  408. package/esm2022/lib/components/measures/quantity-input/validation/elder-quantity-range.validator.mjs +0 -84
  409. package/esm2022/lib/components/measures/quantity-input/validation/elder-required-quantity.validator.mjs +0 -73
  410. package/esm2022/lib/components/measures/util/elder-quantity.service.mjs +0 -341
  411. package/esm2022/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +0 -184
  412. package/esm2022/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +0 -59
  413. package/esm2022/lib/components/navigation/bread-crumbs/path/path.mjs +0 -37
  414. package/esm2022/lib/components/navigation/nav/elder-nav.module.mjs +0 -60
  415. package/esm2022/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +0 -121
  416. package/esm2022/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +0 -174
  417. package/esm2022/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +0 -68
  418. package/esm2022/lib/components/navigation/public_api.mjs +0 -4
  419. package/esm2022/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +0 -48
  420. package/esm2022/lib/components/navigation/toolbar/elder-toolbar.module.mjs +0 -83
  421. package/esm2022/lib/components/navigation/toolbar/elder-toolbar.service.mjs +0 -68
  422. package/esm2022/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +0 -71
  423. package/esm2022/lib/components/navigation/toolbar/toolbar-column-position.mjs +0 -2
  424. package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +0 -39
  425. package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +0 -86
  426. package/esm2022/lib/components/overlays/elder-overlay-origin.directive.mjs +0 -44
  427. package/esm2022/lib/components/overlays/elder-overlay-ref.mjs +0 -41
  428. package/esm2022/lib/components/overlays/elder-overlay-trigger.directive.mjs +0 -73
  429. package/esm2022/lib/components/overlays/elder-overlay.component.mjs +0 -232
  430. package/esm2022/lib/components/overlays/elder-overlay.module.mjs +0 -35
  431. package/esm2022/lib/components/page/exit-guard/page-exit-guard.module.mjs +0 -20
  432. package/esm2022/lib/components/page/exit-guard/page-exit-guard.service.mjs +0 -129
  433. package/esm2022/lib/components/page/exit-guard/page-exit-lock/page-exit-lock.component.mjs +0 -25
  434. package/esm2022/lib/components/page/exit-guard/page-exit-lock-indicator/page-exit-lock-indicator.component.mjs +0 -29
  435. package/esm2022/lib/components/page/exit-guard/page-exit-lock-overview/page-exit-lock-overview.component.mjs +0 -26
  436. package/esm2022/lib/components/page/public_api.mjs +0 -2
  437. package/esm2022/lib/components/panels/card-panel/elder-card-panel.component.mjs +0 -12
  438. package/esm2022/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +0 -12
  439. package/esm2022/lib/components/panels/elder-panel.module.mjs +0 -60
  440. package/esm2022/lib/components/panels/flat/elder-panel.component.mjs +0 -26
  441. package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel-trigger.directive.mjs +0 -70
  442. package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel.component.mjs +0 -74
  443. package/esm2022/lib/components/public_api.mjs +0 -43
  444. package/esm2022/lib/components/scrollbar/elder-scrollbar.directive.mjs +0 -63
  445. package/esm2022/lib/components/scrollbar/elder-scrollbar.module.mjs +0 -17
  446. package/esm2022/lib/components/select/auto/elder-auto-select-first.directive.mjs +0 -95
  447. package/esm2022/lib/components/select/auto/elder-auto-select-first.service.mjs +0 -38
  448. package/esm2022/lib/components/select/auto/elder-auto-select-suggest-first.directive.mjs +0 -64
  449. package/esm2022/lib/components/select/auto/elder-select-first-util.mjs +0 -55
  450. package/esm2022/lib/components/select/elder-select-base.mjs +0 -333
  451. package/esm2022/lib/components/select/elder-select-chip.directive.mjs +0 -48
  452. package/esm2022/lib/components/select/elder-select-on-tab.directive.mjs +0 -139
  453. package/esm2022/lib/components/select/elder-select-value.directive.mjs +0 -18
  454. package/esm2022/lib/components/select/elder-select.module.mjs +0 -229
  455. package/esm2022/lib/components/select/filter/elder-chip-filter-style-resolver.mjs +0 -74
  456. package/esm2022/lib/components/select/filter/elder-chips-include-exclude.directive.mjs +0 -148
  457. package/esm2022/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.mjs +0 -51
  458. package/esm2022/lib/components/select/filter/include-exclude-model-filter-adapter.mjs +0 -61
  459. package/esm2022/lib/components/select/filter/include-exclude-selection-model.mjs +0 -160
  460. package/esm2022/lib/components/select/multi/elder-chip-select-option/elder-select-option.component.mjs +0 -16
  461. package/esm2022/lib/components/select/multi/elder-multi-select-base.mjs +0 -386
  462. package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/chip-options-provider.mjs +0 -87
  463. package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.mjs +0 -263
  464. package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/select-option-chip-spec.mjs +0 -15
  465. package/esm2022/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +0 -274
  466. package/esm2022/lib/components/select/multi/elder-multi-select-chips/select-chip-spec.mjs +0 -15
  467. package/esm2022/lib/components/select/multi/elder-multi-select-form-field.mjs +0 -86
  468. package/esm2022/lib/components/select/multi/elder-mutli-select-all-directive.mjs +0 -34
  469. package/esm2022/lib/components/select/multi/elder-search-include-exclude.directive.mjs +0 -146
  470. package/esm2022/lib/components/select/multi/public_api.mjs +0 -5
  471. package/esm2022/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs +0 -89
  472. package/esm2022/lib/components/select/popup/selection-model-popup.directive.mjs +0 -126
  473. package/esm2022/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +0 -58
  474. package/esm2022/lib/components/select/public_api.mjs +0 -5
  475. package/esm2022/lib/components/select/single/elder-clear-select.directive.mjs +0 -60
  476. package/esm2022/lib/components/select/single/elder-select/elder-select.component.mjs +0 -444
  477. package/esm2022/lib/components/select/single/elder-select-form-field.mjs +0 -45
  478. package/esm2022/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +0 -148
  479. package/esm2022/lib/components/select-chip-list/elder-chip-list-select.module.mjs +0 -46
  480. package/esm2022/lib/components/shell/drawers/drawer-outlet-binding.mjs +0 -64
  481. package/esm2022/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +0 -119
  482. package/esm2022/lib/components/shell/drawers/elder-router-outlet.service.mjs +0 -128
  483. package/esm2022/lib/components/shell/elder-shell-slot.directive.mjs +0 -47
  484. package/esm2022/lib/components/shell/elder-shell.module.mjs +0 -101
  485. package/esm2022/lib/components/shell/elder-shell.service.mjs +0 -142
  486. package/esm2022/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +0 -75
  487. package/esm2022/lib/components/shell/shell/elder-shell.component.mjs +0 -238
  488. package/esm2022/lib/components/shell/shell-content-slot.mjs +0 -2
  489. package/esm2022/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +0 -137
  490. package/esm2022/lib/components/tabs/elder-tab/elder-tab.directive.mjs +0 -26
  491. package/esm2022/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +0 -257
  492. package/esm2022/lib/components/tabs/elder-tab.module.mjs +0 -21
  493. package/esm2022/lib/components/theme/elder-theme-applier.directive.mjs +0 -62
  494. package/esm2022/lib/components/theme/elder-theme-preference.service.mjs +0 -73
  495. package/esm2022/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +0 -74
  496. package/esm2022/lib/components/theme/elder-theme.directive.mjs +0 -64
  497. package/esm2022/lib/components/theme/elder-theme.module.mjs +0 -68
  498. package/esm2022/lib/components/theme/elder-theme.service.mjs +0 -121
  499. package/esm2022/lib/components/theme/known-elder-themes.mjs +0 -6
  500. package/esm2022/lib/components/theme/public_api.mjs +0 -2
  501. package/esm2022/lib/components/theme/theme-spec.mjs +0 -11
  502. package/esm2022/lib/components/time/date-adapters/custom-date-adapter.mjs +0 -43
  503. package/esm2022/lib/components/time/date-formats/locale-date-formats.mjs +0 -28
  504. package/esm2022/lib/components/time/duration/duration-bucket.mjs +0 -68
  505. package/esm2022/lib/components/time/duration/duration-format.mjs +0 -271
  506. package/esm2022/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +0 -110
  507. package/esm2022/lib/components/time/duration/iso-duration-str.mjs +0 -2
  508. package/esm2022/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +0 -96
  509. package/esm2022/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +0 -98
  510. package/esm2022/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +0 -217
  511. package/esm2022/lib/components/time/elder-interval-picker/controller/interval-anchor-controller.mjs +0 -21
  512. package/esm2022/lib/components/time/elder-interval-picker/controller/interval-calendar-controller.mjs +0 -24
  513. package/esm2022/lib/components/time/elder-interval-picker/controller/interval-controller.mjs +0 -43
  514. package/esm2022/lib/components/time/elder-interval-picker/controller/interval-form-controller.mjs +0 -69
  515. package/esm2022/lib/components/time/elder-interval-picker/controller/interval-select-controller.mjs +0 -117
  516. package/esm2022/lib/components/time/elder-interval-picker/controller/interval-shift-controller.mjs +0 -44
  517. package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker.component.mjs +0 -198
  518. package/esm2022/lib/components/time/elder-interval-picker/interval-picker-binding/elder-interval-picker-binding.directive.mjs +0 -41
  519. package/esm2022/lib/components/time/elder-interval-picker/interval-picker-toggle/elder-interval-picker-toggle.component.mjs +0 -144
  520. package/esm2022/lib/components/time/elder-interval-picker/manager/interval-picker-state-manager.mjs +0 -93
  521. package/esm2022/lib/components/time/elder-interval-picker/model/anchor-state.mjs +0 -54
  522. package/esm2022/lib/components/time/elder-interval-picker/model/interval-state.mjs +0 -37
  523. package/esm2022/lib/components/time/elder-interval-picker/model/smart-shift-state.mjs +0 -10
  524. package/esm2022/lib/components/time/elder-interval-picker/presenter/interval-picker-presenter.mjs +0 -96
  525. package/esm2022/lib/components/time/elder-interval-picker/util/interval-picker-util.mjs +0 -194
  526. package/esm2022/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +0 -268
  527. package/esm2022/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +0 -85
  528. package/esm2022/lib/components/time/elder-time.module.mjs +0 -154
  529. package/esm2022/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +0 -118
  530. package/esm2022/lib/components/time/period/period-bucket.mjs +0 -31
  531. package/esm2022/lib/components/time/period/period-format.mjs +0 -89
  532. package/esm2022/lib/components/time/pipes/to-iso-date-string.pipe.mjs +0 -39
  533. package/esm2022/lib/components/time/public_api.mjs +0 -8
  534. package/esm2022/lib/components/toasts/elder-toast.module.mjs +0 -36
  535. package/esm2022/lib/components/toasts/elder-toast.service.mjs +0 -170
  536. package/esm2022/lib/components/toasts/standard-toast/standard-toast.component.mjs +0 -80
  537. package/esm2022/lib/components/toasts/toast-type.mjs +0 -7
  538. package/esm2022/lib/components/toasts/toast.mjs +0 -2
  539. package/esm2022/lib/components/url-fragment/elder-url-fragment.mjs +0 -9
  540. package/esm2022/lib/components/url-fragment/elder-url-fragment.module.mjs +0 -52
  541. package/esm2022/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +0 -95
  542. package/esm2022/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +0 -64
  543. package/esm2022/lib/components/viewers/elder-viewers.module.mjs +0 -18
  544. package/esm2022/lib/features/event-source/fetch/public_api.mjs +0 -3
  545. package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.mjs +0 -219
  546. package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.service.mjs +0 -53
  547. package/esm2022/lib/features/event-source/public_api.mjs +0 -3
  548. package/esm2022/lib/features/event-source/standard/elder-event-source.service.mjs +0 -56
  549. package/esm2022/lib/features/event-source/standard/public_api.mjs +0 -3
  550. package/esm2022/lib/features/event-source/standard/reactive-event-source.mjs +0 -199
  551. package/esm2022/lib/features/kafent/access-token-provider.mjs +0 -20
  552. package/esm2022/lib/features/kafent/kafent-config.mjs +0 -24
  553. package/esm2022/lib/features/kafent/kafent-event-stream.mjs +0 -25
  554. package/esm2022/lib/features/kafent/kafent-event.mjs +0 -3
  555. package/esm2022/lib/features/kafent/kafent-event.service.mjs +0 -115
  556. package/esm2022/lib/features/kafent/kafent-live-event-request.mjs +0 -2
  557. package/esm2022/lib/features/kafent/kafent.module.mjs +0 -58
  558. package/esm2022/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +0 -131
  559. package/esm2022/lib/features/kafent/sse/kafent-topic-sse.mjs +0 -97
  560. package/esm2022/lib/features/public_api.mjs +0 -3
  561. package/esm2022/lib/pipes/bytes.pipe.mjs +0 -27
  562. package/esm2022/lib/pipes/elder-pipes.module.mjs +0 -114
  563. package/esm2022/lib/pipes/elder-repeat.pipe.mjs +0 -24
  564. package/esm2022/lib/pipes/elder-round.pipe.mjs +0 -36
  565. package/esm2022/lib/pipes/elder-safe-url.pipe.mjs +0 -21
  566. package/esm2022/lib/pipes/elder-truncate.pipe.mjs +0 -41
  567. package/esm2022/lib/pipes/iso-duration.pipe.mjs +0 -41
  568. package/esm2022/lib/pipes/iso-interval-parse.pipe.mjs +0 -49
  569. package/esm2022/lib/pipes/iso-interval.pipe.mjs +0 -62
  570. package/esm2022/lib/pipes/public_api.mjs +0 -2
  571. package/esm2022/lib/pipes/time-ago.pipe.mjs +0 -110
  572. package/esm2022/lib/pipes/time-duration.pipe.mjs +0 -101
  573. package/esm2022/lib/pipes/weight.pipe.mjs +0 -60
  574. package/esm2022/public_api.mjs +0 -8
  575. package/lib/components/panels/flat/elder-panel.component.d.ts +0 -15
  576. package/src/lib/components/panels/flat/elder-panel.component.scss +0 -3
@@ -1,43 +0,0 @@
1
- import { formatCurrency, getCurrencySymbol } from '@angular/common';
2
- export class CurrencyFormatUtil {
3
- /***************************************************************************
4
- * *
5
- * Public API *
6
- * *
7
- **************************************************************************/
8
- /**
9
- * @param currency amount and ISO 4217 currency code to format
10
- * @param locale locale code for formatting rules (e.g. en-US)
11
- * @param indication determines currency indicator in output (e.g. USD100 vs $100). Will fall back to 'symbol' if missing.
12
- * @param digitsInfo see DecimalPipe for documentation
13
- */
14
- static formatElderCurrency(currency, locale, indication = 'symbol', digitsInfo) {
15
- if (!currency) {
16
- return '-';
17
- }
18
- const currencyCode = currency.unit;
19
- const currencyIndicator = CurrencyFormatUtil.determineCurrencyIndicator(currencyCode, locale, indication);
20
- return formatCurrency(currency.value, locale, currencyIndicator, currencyCode, digitsInfo);
21
- }
22
- static determineCurrencySymbol(currencyCode, locale) {
23
- return getCurrencySymbol(currencyCode, 'narrow', locale);
24
- }
25
- /***************************************************************************
26
- * *
27
- * Private methods *
28
- * *
29
- **************************************************************************/
30
- static determineCurrencyIndicator(currencyCode, locale, indication) {
31
- switch (indication) {
32
- case 'code':
33
- return currencyCode;
34
- case 'symbol':
35
- return getCurrencySymbol(currencyCode, 'wide', locale); // will return code if no symbol is available
36
- case 'symbol-narrow':
37
- return getCurrencySymbol(currencyCode, 'narrow', locale);
38
- default:
39
- return indication; // arbitrary
40
- }
41
- }
42
- }
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VyZW5jeS1mb3JtYXQtdXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9mb3JtYXQvY3VyZW5jeS1mb3JtYXQtdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFLbkUsTUFBTSxPQUFPLGtCQUFrQjtJQUM3Qjs7OztnRkFJNEU7SUFFNUU7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsbUJBQW1CLENBQy9CLFFBQWtCLEVBQ2xCLE1BQWMsRUFDZCxhQUFpQyxRQUFRLEVBQ3pDLFVBQW1CO1FBRW5CLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNkLE9BQU8sR0FBRyxDQUFBO1FBQ1osQ0FBQztRQUNELE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUE7UUFDbEMsTUFBTSxpQkFBaUIsR0FBRyxrQkFBa0IsQ0FBQywwQkFBMEIsQ0FDckUsWUFBWSxFQUNaLE1BQU0sRUFDTixVQUFVLENBQ1gsQ0FBQTtRQUNELE9BQU8sY0FBYyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQTtJQUM1RixDQUFDO0lBRU0sTUFBTSxDQUFDLHVCQUF1QixDQUFDLFlBQTBCLEVBQUUsTUFBYztRQUM5RSxPQUFPLGlCQUFpQixDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUE7SUFDMUQsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVwRSxNQUFNLENBQUMsMEJBQTBCLENBQ3ZDLFlBQTBCLEVBQzFCLE1BQWMsRUFDZCxVQUE4QjtRQUU5QixRQUFRLFVBQVUsRUFBRSxDQUFDO1lBQ25CLEtBQUssTUFBTTtnQkFDVCxPQUFPLFlBQVksQ0FBQTtZQUNyQixLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFBLENBQUMsNkNBQTZDO1lBQ3RHLEtBQUssZUFBZTtnQkFDbEIsT0FBTyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1lBQzFEO2dCQUNFLE9BQU8sVUFBVSxDQUFBLENBQUMsWUFBWTtRQUNsQyxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VycmVuY3lDb2RlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9jdXJyZW5jeS9tb2RlbC9jdXJyZW5jeS1jb2RlJ1xuaW1wb3J0IHsgZm9ybWF0Q3VycmVuY3ksIGdldEN1cnJlbmN5U3ltYm9sIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgQ3VycmVuY3kgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2N1cnJlbmN5L21vZGVsL2N1cnJlbmN5J1xuXG5leHBvcnQgdHlwZSBDdXJyZW5jeUluZGljYXRpb24gPSAnY29kZScgfCAnc3ltYm9sJyB8ICdzeW1ib2wtbmFycm93JyB8IHN0cmluZ1xuXG5leHBvcnQgY2xhc3MgQ3VycmVuY3lGb3JtYXRVdGlsIHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIEBwYXJhbSBjdXJyZW5jeSBhbW91bnQgYW5kIElTTyA0MjE3IGN1cnJlbmN5IGNvZGUgdG8gZm9ybWF0XG4gICAqIEBwYXJhbSBsb2NhbGUgbG9jYWxlIGNvZGUgZm9yIGZvcm1hdHRpbmcgcnVsZXMgKGUuZy4gZW4tVVMpXG4gICAqIEBwYXJhbSBpbmRpY2F0aW9uIGRldGVybWluZXMgY3VycmVuY3kgaW5kaWNhdG9yIGluIG91dHB1dCAoZS5nLiBVU0QxMDAgdnMgJDEwMCkuIFdpbGwgZmFsbCBiYWNrIHRvICdzeW1ib2wnIGlmIG1pc3NpbmcuXG4gICAqIEBwYXJhbSBkaWdpdHNJbmZvIHNlZSBEZWNpbWFsUGlwZSBmb3IgZG9jdW1lbnRhdGlvblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmb3JtYXRFbGRlckN1cnJlbmN5KFxuICAgIGN1cnJlbmN5OiBDdXJyZW5jeSxcbiAgICBsb2NhbGU6IHN0cmluZyxcbiAgICBpbmRpY2F0aW9uOiBDdXJyZW5jeUluZGljYXRpb24gPSAnc3ltYm9sJyxcbiAgICBkaWdpdHNJbmZvPzogc3RyaW5nXG4gICk6IHN0cmluZyB7XG4gICAgaWYgKCFjdXJyZW5jeSkge1xuICAgICAgcmV0dXJuICctJ1xuICAgIH1cbiAgICBjb25zdCBjdXJyZW5jeUNvZGUgPSBjdXJyZW5jeS51bml0XG4gICAgY29uc3QgY3VycmVuY3lJbmRpY2F0b3IgPSBDdXJyZW5jeUZvcm1hdFV0aWwuZGV0ZXJtaW5lQ3VycmVuY3lJbmRpY2F0b3IoXG4gICAgICBjdXJyZW5jeUNvZGUsXG4gICAgICBsb2NhbGUsXG4gICAgICBpbmRpY2F0aW9uXG4gICAgKVxuICAgIHJldHVybiBmb3JtYXRDdXJyZW5jeShjdXJyZW5jeS52YWx1ZSwgbG9jYWxlLCBjdXJyZW5jeUluZGljYXRvciwgY3VycmVuY3lDb2RlLCBkaWdpdHNJbmZvKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBkZXRlcm1pbmVDdXJyZW5jeVN5bWJvbChjdXJyZW5jeUNvZGU6IEN1cnJlbmN5Q29kZSwgbG9jYWxlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBnZXRDdXJyZW5jeVN5bWJvbChjdXJyZW5jeUNvZGUsICduYXJyb3cnLCBsb2NhbGUpXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHN0YXRpYyBkZXRlcm1pbmVDdXJyZW5jeUluZGljYXRvcihcbiAgICBjdXJyZW5jeUNvZGU6IEN1cnJlbmN5Q29kZSxcbiAgICBsb2NhbGU6IHN0cmluZyxcbiAgICBpbmRpY2F0aW9uOiBDdXJyZW5jeUluZGljYXRpb25cbiAgKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKGluZGljYXRpb24pIHtcbiAgICAgIGNhc2UgJ2NvZGUnOlxuICAgICAgICByZXR1cm4gY3VycmVuY3lDb2RlXG4gICAgICBjYXNlICdzeW1ib2wnOlxuICAgICAgICByZXR1cm4gZ2V0Q3VycmVuY3lTeW1ib2woY3VycmVuY3lDb2RlLCAnd2lkZScsIGxvY2FsZSkgLy8gd2lsbCByZXR1cm4gY29kZSBpZiBubyBzeW1ib2wgaXMgYXZhaWxhYmxlXG4gICAgICBjYXNlICdzeW1ib2wtbmFycm93JzpcbiAgICAgICAgcmV0dXJuIGdldEN1cnJlbmN5U3ltYm9sKGN1cnJlbmN5Q29kZSwgJ25hcnJvdycsIGxvY2FsZSlcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBpbmRpY2F0aW9uIC8vIGFyYml0cmFyeVxuICAgIH1cbiAgfVxufVxuIl19
@@ -1,44 +0,0 @@
1
- import { Duration, Period } from '@js-joda/core';
2
- import { PeriodDuration } from '../time/period-duration';
3
- import { DurationFormat } from '../../components/time/duration/duration-format';
4
- export class DurationFormatUtil {
5
- /***************************************************************************
6
- * *
7
- * Public API *
8
- * *
9
- **************************************************************************/
10
- /**
11
- * Converts any valid input of standard ISO 8601 duration format
12
- * example input: PT2H10M12.1235675S, output: 2h, 10min, 12s, 124 ms
13
- *
14
- * a maximal input looks like this: P3Y6M4DT12H30M5S although
15
- * all arguments except P are optional, decimal numbers allowed
16
- */
17
- static formatDuration(value, format = DurationFormat.FORMAT_DYNAMIC) {
18
- if (!value) {
19
- return value + '';
20
- }
21
- const periodDuration = DurationFormatUtil.toPeriodDuration(value);
22
- return DurationFormat.parse(format).format(periodDuration);
23
- }
24
- /***************************************************************************
25
- * *
26
- * Private methods *
27
- * *
28
- **************************************************************************/
29
- static toPeriodDuration(value) {
30
- if (value instanceof Duration) {
31
- return PeriodDuration.ofDuration(value);
32
- }
33
- else if (value instanceof Period) {
34
- return PeriodDuration.ofPeriod(value);
35
- }
36
- else if (value instanceof PeriodDuration) {
37
- return value;
38
- }
39
- else {
40
- return PeriodDuration.parse(value);
41
- }
42
- }
43
- }
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb24tZm9ybWF0LXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21tb24vZm9ybWF0L2R1cmF0aW9uLWZvcm1hdC11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ2hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0RBQWdELENBQUE7QUFFL0UsTUFBTSxPQUFPLGtCQUFrQjtJQUM3Qjs7OztnRkFJNEU7SUFFNUU7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLGNBQWMsQ0FDMUIsS0FBa0QsRUFDbEQsU0FBaUIsY0FBYyxDQUFDLGNBQWM7UUFFOUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsT0FBTyxLQUFLLEdBQUcsRUFBRSxDQUFBO1FBQ25CLENBQUM7UUFDRCxNQUFNLGNBQWMsR0FBRyxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNqRSxPQUFPLGNBQWMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBQzVELENBQUM7SUFFRDs7OztnRkFJNEU7SUFFcEUsTUFBTSxDQUFDLGdCQUFnQixDQUM3QixLQUFrRDtRQUVsRCxJQUFJLEtBQUssWUFBWSxRQUFRLEVBQUUsQ0FBQztZQUM5QixPQUFPLGNBQWMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDekMsQ0FBQzthQUFNLElBQUksS0FBSyxZQUFZLE1BQU0sRUFBRSxDQUFDO1lBQ25DLE9BQU8sY0FBYyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUN2QyxDQUFDO2FBQU0sSUFBSSxLQUFLLFlBQVksY0FBYyxFQUFFLENBQUM7WUFDM0MsT0FBTyxLQUFLLENBQUE7UUFDZCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sY0FBYyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNwQyxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHVyYXRpb24sIFBlcmlvZCB9IGZyb20gJ0Bqcy1qb2RhL2NvcmUnXG5pbXBvcnQgeyBQZXJpb2REdXJhdGlvbiB9IGZyb20gJy4uL3RpbWUvcGVyaW9kLWR1cmF0aW9uJ1xuaW1wb3J0IHsgRHVyYXRpb25Gb3JtYXQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3RpbWUvZHVyYXRpb24vZHVyYXRpb24tZm9ybWF0J1xuXG5leHBvcnQgY2xhc3MgRHVyYXRpb25Gb3JtYXRVdGlsIHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGFueSB2YWxpZCBpbnB1dCBvZiBzdGFuZGFyZCBJU08gODYwMSBkdXJhdGlvbiBmb3JtYXRcbiAgICogZXhhbXBsZSBpbnB1dDogUFQySDEwTTEyLjEyMzU2NzVTLCBvdXRwdXQ6IDJoLCAxMG1pbiwgMTJzLCAxMjQgbXNcbiAgICpcbiAgICogYSBtYXhpbWFsIGlucHV0IGxvb2tzIGxpa2UgdGhpczogUDNZNk00RFQxMkgzME01UyBhbHRob3VnaFxuICAgKiAgYWxsIGFyZ3VtZW50cyBleGNlcHQgUCBhcmUgb3B0aW9uYWwsIGRlY2ltYWwgbnVtYmVycyBhbGxvd2VkXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZvcm1hdER1cmF0aW9uKFxuICAgIHZhbHVlOiBzdHJpbmcgfCBEdXJhdGlvbiB8IFBlcmlvZCB8IFBlcmlvZER1cmF0aW9uLFxuICAgIGZvcm1hdDogc3RyaW5nID0gRHVyYXRpb25Gb3JtYXQuRk9STUFUX0RZTkFNSUNcbiAgKTogc3RyaW5nIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gdmFsdWUgKyAnJ1xuICAgIH1cbiAgICBjb25zdCBwZXJpb2REdXJhdGlvbiA9IER1cmF0aW9uRm9ybWF0VXRpbC50b1BlcmlvZER1cmF0aW9uKHZhbHVlKVxuICAgIHJldHVybiBEdXJhdGlvbkZvcm1hdC5wYXJzZShmb3JtYXQpLmZvcm1hdChwZXJpb2REdXJhdGlvbilcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgc3RhdGljIHRvUGVyaW9kRHVyYXRpb24oXG4gICAgdmFsdWU6IHN0cmluZyB8IER1cmF0aW9uIHwgUGVyaW9kIHwgUGVyaW9kRHVyYXRpb25cbiAgKTogUGVyaW9kRHVyYXRpb24ge1xuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIER1cmF0aW9uKSB7XG4gICAgICByZXR1cm4gUGVyaW9kRHVyYXRpb24ub2ZEdXJhdGlvbih2YWx1ZSlcbiAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgUGVyaW9kKSB7XG4gICAgICByZXR1cm4gUGVyaW9kRHVyYXRpb24ub2ZQZXJpb2QodmFsdWUpXG4gICAgfSBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFBlcmlvZER1cmF0aW9uKSB7XG4gICAgICByZXR1cm4gdmFsdWVcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFBlcmlvZER1cmF0aW9uLnBhcnNlKHZhbHVlKVxuICAgIH1cbiAgfVxufVxuIl19
@@ -1,111 +0,0 @@
1
- import { Interval } from '../time/interval';
2
- import { ZoneId } from '@js-joda/core';
3
- import { TimeUtil } from '../time/time-util';
4
- import { formatDate } from '@angular/common';
5
- var DisplayMode;
6
- (function (DisplayMode) {
7
- DisplayMode[DisplayMode["WHOLE_DAY_MULTIPLE"] = 0] = "WHOLE_DAY_MULTIPLE";
8
- DisplayMode[DisplayMode["WHOLE_DAY_SINGLE"] = 1] = "WHOLE_DAY_SINGLE";
9
- DisplayMode[DisplayMode["PARTIAL_DAY"] = 2] = "PARTIAL_DAY";
10
- DisplayMode[DisplayMode["DETAILED"] = 3] = "DETAILED";
11
- })(DisplayMode || (DisplayMode = {}));
12
- export class IsoIntervalFormatUtil {
13
- /***************************************************************************
14
- * *
15
- * Public API *
16
- * *
17
- **************************************************************************/
18
- static formatIsoInterval(value, timezone = ZoneId.SYSTEM, locale, format, formatEnd) {
19
- const interval = value instanceof Interval ? value : Interval.parse(value);
20
- if (typeof timezone === 'string') {
21
- timezone = timezone ? ZoneId.of(timezone) : ZoneId.SYSTEM;
22
- }
23
- const displayMode = IsoIntervalFormatUtil.determineDisplayMode(interval, timezone);
24
- switch (displayMode) {
25
- case DisplayMode.PARTIAL_DAY:
26
- // If the period is less than a day, and the interval falls in the same local date
27
- // We can improve the generated display text by omitting the redundant date information.
28
- return IsoIntervalFormatUtil.formatSubDay(interval, format, timezone, locale);
29
- case DisplayMode.WHOLE_DAY_SINGLE:
30
- // Display a single, full day
31
- return IsoIntervalFormatUtil.formatInstant(interval.start, format || 'mediumDate', timezone, locale);
32
- case DisplayMode.WHOLE_DAY_MULTIPLE: {
33
- // Display a range of multiple 'full' days
34
- return IsoIntervalFormatUtil.formatFullDays(interval, format, timezone, locale, formatEnd);
35
- }
36
- case DisplayMode.DETAILED: {
37
- // No special handling, we render both instants
38
- return IsoIntervalFormatUtil.formatDetailedInterval(interval, format, timezone, locale, formatEnd);
39
- }
40
- }
41
- }
42
- /***************************************************************************
43
- * *
44
- * Private methods *
45
- * *
46
- **************************************************************************/
47
- static determineDisplayMode(interval, timezone) {
48
- const period = interval.toPeriodDuration(timezone);
49
- const periodDays = period.period.days();
50
- const zonedStart = interval.start.atZone(timezone);
51
- const zonedEndExc = interval.end.atZone(timezone);
52
- const isPartialDay = IsoIntervalFormatUtil.isPartialDay(zonedStart, zonedEndExc, periodDays);
53
- const isFullDays = TimeUtil.isStartOfDay(zonedStart) && TimeUtil.isFullDays(interval.toDuration());
54
- const isSingleFullDay = isFullDays && periodDays === 1;
55
- if (isPartialDay) {
56
- return DisplayMode.PARTIAL_DAY;
57
- }
58
- else if (isSingleFullDay) {
59
- // more specific, order matters here
60
- return DisplayMode.WHOLE_DAY_SINGLE;
61
- }
62
- else if (isFullDays) {
63
- return DisplayMode.WHOLE_DAY_MULTIPLE;
64
- }
65
- else {
66
- return DisplayMode.DETAILED;
67
- }
68
- }
69
- static formatSubDay(interval, format, timezone, locale) {
70
- const startDay = IsoIntervalFormatUtil.formatInstant(interval.start, format || 'short', timezone, locale);
71
- const endTime = interval.end.atZone(timezone).toLocalTime().toString();
72
- return startDay + ' - ' + endTime;
73
- }
74
- static formatFullDays(interval, format, timezone, locale, formatEnd) {
75
- const zonedEndExclusive = interval.end.atZone(timezone);
76
- const endDayInstant = zonedEndExclusive.minusDays(1).toInstant();
77
- const startDay = IsoIntervalFormatUtil.formatInstant(interval.start, format || 'mediumDate', timezone, locale);
78
- const endDay = IsoIntervalFormatUtil.formatInstant(endDayInstant, formatEnd || format || 'mediumDate', timezone, locale);
79
- return `${startDay} - ${endDay}`;
80
- }
81
- static formatDetailedInterval(interval, format, timezone, locale, formatEnd) {
82
- const start = IsoIntervalFormatUtil.formatInstant(interval.start, format || 'short', timezone, locale);
83
- const end = IsoIntervalFormatUtil.formatInstant(interval.end, formatEnd || format || 'short', timezone, locale);
84
- return `${start} - ${end}`;
85
- }
86
- static formatInstant(instant, format, timezone, locale) {
87
- return IsoIntervalFormatUtil.formatDate(instant.toEpochMilli(), format, timezone, locale);
88
- }
89
- static formatDate(value, format, timezone, locale) {
90
- if (value == null || value === '' || value !== value) {
91
- // last part filters out NaN values
92
- return null;
93
- }
94
- try {
95
- const zoneId = timezone?.id();
96
- return formatDate(value, format, locale, zoneId);
97
- }
98
- catch (error) {
99
- throw Error(`Invalid pipe argument: ${error.message}`);
100
- }
101
- }
102
- static isPartialDay(zonedStart, zonedEndExc, periodDays) {
103
- const localStart = zonedStart.toLocalDate();
104
- const localEndExc = zonedEndExc.toLocalDate();
105
- const zeroPeriod = periodDays === 0;
106
- const startIsEnd = localStart.equals(localEndExc);
107
- const endIsStartOfDay = TimeUtil.isStartOfDay(zonedEndExc);
108
- return zeroPeriod && (startIsEnd || endIsStartOfDay);
109
- }
110
- }
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNvLWludGVydmFsLWZvcm1hdC11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2Zvcm1hdC9pc28taW50ZXJ2YWwtZm9ybWF0LXV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQzNDLE9BQU8sRUFBMEIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzlELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFNUMsSUFBSyxXQUtKO0FBTEQsV0FBSyxXQUFXO0lBQ2QseUVBQWtCLENBQUE7SUFDbEIscUVBQWdCLENBQUE7SUFDaEIsMkRBQVcsQ0FBQTtJQUNYLHFEQUFRLENBQUE7QUFDVixDQUFDLEVBTEksV0FBVyxLQUFYLFdBQVcsUUFLZjtBQUVELE1BQU0sT0FBTyxxQkFBcUI7SUFDaEM7Ozs7Z0ZBSTRFO0lBRXJFLE1BQU0sQ0FBQyxpQkFBaUIsQ0FDN0IsS0FBd0IsRUFDeEIsV0FBNEIsTUFBTSxDQUFDLE1BQU0sRUFDekMsTUFBYyxFQUNkLE1BQWUsRUFDZixTQUFrQjtRQUVsQixNQUFNLFFBQVEsR0FBRyxLQUFLLFlBQVksUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7UUFFMUUsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNqQyxRQUFRLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFBO1FBQzNELENBQUM7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QUFJLENBQUMsVUFBVSxJQUFJLGVBQWUsQ0FBQyxDQUFBO0lBQ3RELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEludGVydmFsIH0gZnJvbSAnLi4vdGltZS9pbnRlcnZhbCdcbmltcG9ydCB7IEluc3RhbnQsIFpvbmVkRGF0ZVRpbWUsIFpvbmVJZCB9IGZyb20gJ0Bqcy1qb2RhL2NvcmUnXG5pbXBvcnQgeyBUaW1lVXRpbCB9IGZyb20gJy4uL3RpbWUvdGltZS11dGlsJ1xuaW1wb3J0IHsgZm9ybWF0RGF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcblxuZW51bSBEaXNwbGF5TW9kZSB7XG4gIFdIT0xFX0RBWV9NVUxUSVBMRSxcbiAgV0hPTEVfREFZX1NJTkdMRSxcbiAgUEFSVElBTF9EQVksXG4gIERFVEFJTEVELFxufVxuXG5leHBvcnQgY2xhc3MgSXNvSW50ZXJ2YWxGb3JtYXRVdGlsIHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHN0YXRpYyBmb3JtYXRJc29JbnRlcnZhbChcbiAgICB2YWx1ZTogc3RyaW5nIHwgSW50ZXJ2YWwsXG4gICAgdGltZXpvbmU6IHN0cmluZyB8IFpvbmVJZCA9IFpvbmVJZC5TWVNURU0sXG4gICAgbG9jYWxlOiBzdHJpbmcsXG4gICAgZm9ybWF0Pzogc3RyaW5nLFxuICAgIGZvcm1hdEVuZD86IHN0cmluZ1xuICApOiBzdHJpbmcgfCBudWxsIHtcbiAgICBjb25zdCBpbnRlcnZhbCA9IHZhbHVlIGluc3RhbmNlb2YgSW50ZXJ2YWwgPyB2YWx1ZSA6IEludGVydmFsLnBhcnNlKHZhbHVlKVxuXG4gICAgaWYgKHR5cGVvZiB0aW1lem9uZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHRpbWV6b25lID0gdGltZXpvbmUgPyBab25lSWQub2YodGltZXpvbmUpIDogWm9uZUlkLlNZU1RFTVxuICAgIH1cblxuICAgIGNvbnN0IGRpc3BsYXlNb2RlID0gSXNvSW50ZXJ2YWxGb3JtYXRVdGlsLmRldGVybWluZURpc3BsYXlNb2RlKGludGVydmFsLCB0aW1lem9uZSlcblxuICAgIHN3aXRjaCAoZGlzcGxheU1vZGUpIHtcbiAgICAgIGNhc2UgRGlzcGxheU1vZGUuUEFSVElBTF9EQVk6XG4gICAgICAgIC8vIElmIHRoZSBwZXJpb2QgaXMgbGVzcyB0aGFuIGEgZGF5LCBhbmQgdGhlIGludGVydmFsIGZhbGxzIGluIHRoZSBzYW1lIGxvY2FsIGRhdGVcbiAgICAgICAgLy8gV2UgY2FuIGltcHJvdmUgdGhlIGdlbmVyYXRlZCBkaXNwbGF5IHRleHQgYnkgb21pdHRpbmcgdGhlIHJlZHVuZGFudCBkYXRlIGluZm9ybWF0aW9uLlxuICAgICAgICByZXR1cm4gSXNvSW50ZXJ2YWxGb3JtYXRVdGlsLmZvcm1hdFN1YkRheShpbnRlcnZhbCwgZm9ybWF0LCB0aW1lem9uZSwgbG9jYWxlKVxuICAgICAgY2FzZSBEaXNwbGF5TW9kZS5XSE9MRV9EQVlfU0lOR0xFOlxuICAgICAgICAvLyBEaXNwbGF5IGEgc2luZ2xlLCBmdWxsIGRheVxuICAgICAgICByZXR1cm4gSXNvSW50ZXJ2YWxGb3JtYXRVdGlsLmZvcm1hdEluc3RhbnQoXG4gICAgICAgICAgaW50ZXJ2YWwuc3RhcnQsXG4gICAgICAgICAgZm9ybWF0IHx8ICdtZWRpdW1EYXRlJyxcbiAgICAgICAgICB0aW1lem9uZSxcbiAgICAgICAgICBsb2NhbGVcbiAgICAgICAgKVxuICAgICAgY2FzZSBEaXNwbGF5TW9kZS5XSE9MRV9EQVlfTVVMVElQTEU6IHtcbiAgICAgICAgLy8gRGlzcGxheSBhIHJhbmdlIG9mIG11bHRpcGxlICdmdWxsJyBkYXlzXG4gICAgICAgIHJldHVybiBJc29JbnRlcnZhbEZvcm1hdFV0aWwuZm9ybWF0RnVsbERheXMoaW50ZXJ2YWwsIGZvcm1hdCwgdGltZXpvbmUsIGxvY2FsZSwgZm9ybWF0RW5kKVxuICAgICAgfVxuICAgICAgY2FzZSBEaXNwbGF5TW9kZS5ERVRBSUxFRDoge1xuICAgICAgICAvLyBObyBzcGVjaWFsIGhhbmRsaW5nLCB3ZSByZW5kZXIgYm90aCBpbnN0YW50c1xuICAgICAgICByZXR1cm4gSXNvSW50ZXJ2YWxGb3JtYXRVdGlsLmZvcm1hdERldGFpbGVkSW50ZXJ2YWwoXG4gICAgICAgICAgaW50ZXJ2YWwsXG4gICAgICAgICAgZm9ybWF0LFxuICAgICAgICAgIHRpbWV6b25lLFxuICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICBmb3JtYXRFbmRcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgc3RhdGljIGRldGVybWluZURpc3BsYXlNb2RlKGludGVydmFsOiBJbnRlcnZhbCwgdGltZXpvbmU6IFpvbmVJZCk6IERpc3BsYXlNb2RlIHtcbiAgICBjb25zdCBwZXJpb2QgPSBpbnRlcnZhbC50b1BlcmlvZER1cmF0aW9uKHRpbWV6b25lKVxuICAgIGNvbnN0IHBlcmlvZERheXMgPSBwZXJpb2QucGVyaW9kLmRheXMoKVxuICAgIGNvbnN0IHpvbmVkU3RhcnQgPSBpbnRlcnZhbC5zdGFydC5hdFpvbmUodGltZXpvbmUpXG4gICAgY29uc3Qgem9uZWRFbmRFeGMgPSBpbnRlcnZhbC5lbmQuYXRab25lKHRpbWV6b25lKVxuXG4gICAgY29uc3QgaXNQYXJ0aWFsRGF5ID0gSXNvSW50ZXJ2YWxGb3JtYXRVdGlsLmlzUGFydGlhbERheSh6b25lZFN0YXJ0LCB6b25lZEVuZEV4YywgcGVyaW9kRGF5cylcbiAgICBjb25zdCBpc0Z1bGxEYXlzID1cbiAgICAgIFRpbWVVdGlsLmlzU3RhcnRPZkRheSh6b25lZFN0YXJ0KSAmJiBUaW1lVXRpbC5pc0Z1bGxEYXlzKGludGVydmFsLnRvRHVyYXRpb24oKSlcbiAgICBjb25zdCBpc1NpbmdsZUZ1bGxEYXkgPSBpc0Z1bGxEYXlzICYmIHBlcmlvZERheXMgPT09IDFcblxuICAgIGlmIChpc1BhcnRpYWxEYXkpIHtcbiAgICAgIHJldHVybiBEaXNwbGF5TW9kZS5QQVJUSUFMX0RBWVxuICAgIH0gZWxzZSBpZiAoaXNTaW5nbGVGdWxsRGF5KSB7XG4gICAgICAvLyBtb3JlIHNwZWNpZmljLCBvcmRlciBtYXR0ZXJzIGhlcmVcbiAgICAgIHJldHVybiBEaXNwbGF5TW9kZS5XSE9MRV9EQVlfU0lOR0xFXG4gICAgfSBlbHNlIGlmIChpc0Z1bGxEYXlzKSB7XG4gICAgICByZXR1cm4gRGlzcGxheU1vZGUuV0hPTEVfREFZX01VTFRJUExFXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBEaXNwbGF5TW9kZS5ERVRBSUxFRFxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGZvcm1hdFN1YkRheShcbiAgICBpbnRlcnZhbDogSW50ZXJ2YWwsXG4gICAgZm9ybWF0OiBzdHJpbmcsXG4gICAgdGltZXpvbmU6IFpvbmVJZCxcbiAgICBsb2NhbGU6IHN0cmluZ1xuICApOiBzdHJpbmcge1xuICAgIGNvbnN0IHN0YXJ0RGF5ID0gSXNvSW50ZXJ2YWxGb3JtYXRVdGlsLmZvcm1hdEluc3RhbnQoXG4gICAgICBpbnRlcnZhbC5zdGFydCxcbiAgICAgIGZvcm1hdCB8fCAnc2hvcnQnLFxuICAgICAgdGltZXpvbmUsXG4gICAgICBsb2NhbGVcbiAgICApXG4gICAgY29uc3QgZW5kVGltZSA9IGludGVydmFsLmVuZC5hdFpvbmUodGltZXpvbmUpLnRvTG9jYWxUaW1lKCkudG9TdHJpbmcoKVxuICAgIHJldHVybiBzdGFydERheSArICcgLSAnICsgZW5kVGltZVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZm9ybWF0RnVsbERheXMoXG4gICAgaW50ZXJ2YWw6IEludGVydmFsLFxuICAgIGZvcm1hdDogc3RyaW5nLFxuICAgIHRpbWV6b25lOiBab25lSWQsXG4gICAgbG9jYWxlOiBzdHJpbmcsXG4gICAgZm9ybWF0RW5kOiBzdHJpbmdcbiAgKTogc3RyaW5nIHtcbiAgICBjb25zdCB6b25lZEVuZEV4Y2x1c2l2ZSA9IGludGVydmFsLmVuZC5hdFpvbmUodGltZXpvbmUpXG4gICAgY29uc3QgZW5kRGF5SW5zdGFudCA9IHpvbmVkRW5kRXhjbHVzaXZlLm1pbnVzRGF5cygxKS50b0luc3RhbnQoKVxuICAgIGNvbnN0IHN0YXJ0RGF5ID0gSXNvSW50ZXJ2YWxGb3JtYXRVdGlsLmZvcm1hdEluc3RhbnQoXG4gICAgICBpbnRlcnZhbC5zdGFydCxcbiAgICAgIGZvcm1hdCB8fCAnbWVkaXVtRGF0ZScsXG4gICAgICB0aW1lem9uZSxcbiAgICAgIGxvY2FsZVxuICAgIClcbiAgICBjb25zdCBlbmREYXkgPSBJc29JbnRlcnZhbEZvcm1hdFV0aWwuZm9ybWF0SW5zdGFudChcbiAgICAgIGVuZERheUluc3RhbnQsXG4gICAgICBmb3JtYXRFbmQgfHwgZm9ybWF0IHx8ICdtZWRpdW1EYXRlJyxcbiAgICAgIHRpbWV6b25lLFxuICAgICAgbG9jYWxlXG4gICAgKVxuICAgIHJldHVybiBgJHtzdGFydERheX0gLSAke2VuZERheX1gXG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBmb3JtYXREZXRhaWxlZEludGVydmFsKFxuICAgIGludGVydmFsOiBJbnRlcnZhbCxcbiAgICBmb3JtYXQ6IHN0cmluZyxcbiAgICB0aW1lem9uZTogWm9uZUlkLFxuICAgIGxvY2FsZTogc3RyaW5nLFxuICAgIGZvcm1hdEVuZDogc3RyaW5nXG4gICk6IHN0cmluZyB7XG4gICAgY29uc3Qgc3RhcnQgPSBJc29JbnRlcnZhbEZvcm1hdFV0aWwuZm9ybWF0SW5zdGFudChcbiAgICAgIGludGVydmFsLnN0YXJ0LFxuICAgICAgZm9ybWF0IHx8ICdzaG9ydCcsXG4gICAgICB0aW1lem9uZSxcbiAgICAgIGxvY2FsZVxuICAgIClcbiAgICBjb25zdCBlbmQgPSBJc29JbnRlcnZhbEZvcm1hdFV0aWwuZm9ybWF0SW5zdGFudChcbiAgICAgIGludGVydmFsLmVuZCxcbiAgICAgIGZvcm1hdEVuZCB8fCBmb3JtYXQgfHwgJ3Nob3J0JyxcbiAgICAgIHRpbWV6b25lLFxuICAgICAgbG9jYWxlXG4gICAgKVxuICAgIHJldHVybiBgJHtzdGFydH0gLSAke2VuZH1gXG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBmb3JtYXRJbnN0YW50KFxuICAgIGluc3RhbnQ6IEluc3RhbnQsXG4gICAgZm9ybWF0OiBzdHJpbmcsXG4gICAgdGltZXpvbmU6IFpvbmVJZCxcbiAgICBsb2NhbGU6IHN0cmluZ1xuICApOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gSXNvSW50ZXJ2YWxGb3JtYXRVdGlsLmZvcm1hdERhdGUoaW5zdGFudC50b0Vwb2NoTWlsbGkoKSwgZm9ybWF0LCB0aW1lem9uZSwgbG9jYWxlKVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZm9ybWF0RGF0ZShcbiAgICB2YWx1ZTogc3RyaW5nIHwgRGF0ZSB8IG51bWJlcixcbiAgICBmb3JtYXQ6IHN0cmluZyxcbiAgICB0aW1lem9uZTogWm9uZUlkLFxuICAgIGxvY2FsZTogc3RyaW5nXG4gICk6IHN0cmluZyB8IG51bGwge1xuICAgIGlmICh2YWx1ZSA9PSBudWxsIHx8IHZhbHVlID09PSAnJyB8fCB2YWx1ZSAhPT0gdmFsdWUpIHtcbiAgICAgIC8vIGxhc3QgcGFydCBmaWx0ZXJzIG91dCBOYU4gdmFsdWVzXG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCB6b25lSWQgPSB0aW1lem9uZT8uaWQoKVxuICAgICAgcmV0dXJuIGZvcm1hdERhdGUodmFsdWUsIGZvcm1hdCwgbG9jYWxlLCB6b25lSWQpXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIHBpcGUgYXJndW1lbnQ6ICR7KGVycm9yIGFzIEVycm9yKS5tZXNzYWdlfWApXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaXNQYXJ0aWFsRGF5KFxuICAgIHpvbmVkU3RhcnQ6IFpvbmVkRGF0ZVRpbWUsXG4gICAgem9uZWRFbmRFeGM6IFpvbmVkRGF0ZVRpbWUsXG4gICAgcGVyaW9kRGF5czogbnVtYmVyXG4gICk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGxvY2FsU3RhcnQgPSB6b25lZFN0YXJ0LnRvTG9jYWxEYXRlKClcbiAgICBjb25zdCBsb2NhbEVuZEV4YyA9IHpvbmVkRW5kRXhjLnRvTG9jYWxEYXRlKClcbiAgICBjb25zdCB6ZXJvUGVyaW9kID0gcGVyaW9kRGF5cyA9PT0gMFxuICAgIGNvbnN0IHN0YXJ0SXNFbmQgPSBsb2NhbFN0YXJ0LmVxdWFscyhsb2NhbEVuZEV4YylcbiAgICBjb25zdCBlbmRJc1N0YXJ0T2ZEYXkgPSBUaW1lVXRpbC5pc1N0YXJ0T2ZEYXkoem9uZWRFbmRFeGMpXG4gICAgcmV0dXJuIHplcm9QZXJpb2QgJiYgKHN0YXJ0SXNFbmQgfHwgZW5kSXNTdGFydE9mRGF5KVxuICB9XG59XG4iXX0=
@@ -1,6 +0,0 @@
1
- export * from './bytes-per-second-format';
2
- export * from './bytes-format';
3
- export * from './curency-format-util';
4
- export * from './iso-interval-format-util';
5
- export * from './duration-format-util';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9mb3JtYXQvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFBO0FBQ3pDLGNBQWMsZ0JBQWdCLENBQUE7QUFDOUIsY0FBYyx1QkFBdUIsQ0FBQTtBQUNyQyxjQUFjLDRCQUE0QixDQUFBO0FBQzFDLGNBQWMsd0JBQXdCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2J5dGVzLXBlci1zZWNvbmQtZm9ybWF0J1xuZXhwb3J0ICogZnJvbSAnLi9ieXRlcy1mb3JtYXQnXG5leHBvcnQgKiBmcm9tICcuL2N1cmVuY3ktZm9ybWF0LXV0aWwnXG5leHBvcnQgKiBmcm9tICcuL2lzby1pbnRlcnZhbC1mb3JtYXQtdXRpbCdcbmV4cG9ydCAqIGZyb20gJy4vZHVyYXRpb24tZm9ybWF0LXV0aWwnXG4iXX0=
@@ -1,22 +0,0 @@
1
- import { startWith } from 'rxjs/operators';
2
- export class ElderEntityValueAccessorUtil {
3
- static entity$(vac) {
4
- return vac.entityChange.pipe(startWith(vac.entity));
5
- }
6
- static entityId$(vac) {
7
- return vac.entityIdChange.pipe(startWith(vac.entityId));
8
- }
9
- }
10
- export function isElderEntityValueAccessor(object) {
11
- if (!object) {
12
- return false;
13
- }
14
- const vac = object;
15
- return ('entity' in vac && // This might be undefined
16
- 'entityId' in vac && // This might be undefined
17
- vac.entityIdChange !== undefined &&
18
- vac.entityChange !== undefined &&
19
- vac.updateValueByEntity !== undefined &&
20
- vac.entityToValue !== undefined);
21
- }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZW50aXR5LXZhbHVlLWFjY2Vzc29yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2Zvcm1zL2VsZGVyLWVudGl0eS12YWx1ZS1hY2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUE0QzFDLE1BQU0sT0FBTyw0QkFBNEI7SUFDaEMsTUFBTSxDQUFDLE9BQU8sQ0FDbkIsR0FBaUQ7UUFFakQsT0FBTyxHQUFHLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7SUFDckQsQ0FBQztJQUNNLE1BQU0sQ0FBQyxTQUFTLENBQU0sR0FBNkM7UUFDeEUsT0FBTyxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUE7SUFDekQsQ0FBQztDQUNGO0FBRUQsTUFBTSxVQUFVLDBCQUEwQixDQUN4QyxNQUFXO0lBRVgsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1osT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBRUQsTUFBTSxHQUFHLEdBQUcsTUFBa0QsQ0FBQTtJQUU5RCxPQUFPLENBQ0wsUUFBUSxJQUFJLEdBQUcsSUFBSSwwQkFBMEI7UUFDN0MsVUFBVSxJQUFJLEdBQUcsSUFBSSwwQkFBMEI7UUFDL0MsR0FBRyxDQUFDLGNBQWMsS0FBSyxTQUFTO1FBQ2hDLEdBQUcsQ0FBQyxZQUFZLEtBQUssU0FBUztRQUM5QixHQUFHLENBQUMsbUJBQW1CLEtBQUssU0FBUztRQUNyQyxHQUFHLENBQUMsYUFBYSxLQUFLLFNBQVMsQ0FDaEMsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjb250cm9sIHdoaWNoIGlzIGJhY2tlZCBieSBlbnRpdGllcyAoYWxvbmcgIHZhbHVlcykuXG4gKlxuICogVGhlIGNvcmUgaWRlYSBpcyB0aGF0IGEgY29udHJvbCB0cmFja3MgYW4gaWQgYXMgdmFsdWUsIGJ1dCBpdCB3aWxsXG4gKiBhbHNvIHNpZGUgbG9hZCB0aGUgY29ycmVzcG9uZGluZyBlbnRpdHkgZnJvbSBhIGRhdGFzb3VyY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUVsZGVyRW50aXR5VmFsdWVBY2Nlc3NvcjxURW50aXR5LCBUSWQsIFRWYWx1ZT4ge1xuICAvKipcbiAgICogR2V0cyBvciBzZXRzIHRoZSBlbnRpdHlcbiAgICovXG4gIGVudGl0eTogVEVudGl0eVxuXG4gIC8qKlxuICAgKiBHZXRzIG9yIHNldHMgdGhlIGVudGl0eSBpZFxuICAgKi9cbiAgZW50aXR5SWQ6IFRJZFxuXG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuIHRoZSBlbnRpdHkgaWQgaGFzIGNoYW5nZWQuXG4gICAqL1xuICBlbnRpdHlJZENoYW5nZTogT2JzZXJ2YWJsZTxUSWQ+XG5cbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIGVudGl0eSBoYXMgY2hhbmdlZC5cbiAgICovXG4gIGVudGl0eUNoYW5nZTogT2JzZXJ2YWJsZTxURW50aXR5PlxuXG4gIC8qKlxuICAgKiBVcGRhdGUgdGhlIGNvbnRyb2wgdmFsdWUgYnkgdGhlIGdpdmVuIGVudGl0eVxuICAgKiBhbmQgZW1pdCBhIHZhbHVlLXVwZGF0ZWQgZXZlbnQgd2hpY2ggc2ltdWxhdGVzXG4gICAqIGEgdXNlciBhY3Rpb24uXG4gICAqIEBwYXJhbSBlbnRpdHlcbiAgICovXG4gIHVwZGF0ZVZhbHVlQnlFbnRpdHkoZW50aXR5OiBURW50aXR5KTogdm9pZFxuXG4gIC8qKlxuICAgKiBDb252ZXJ0IGFuIGVudGl0eSB0byBhIHZhbHVlIGZvciB0aGlzIGNvbnRyb2wuXG4gICAqIEBwYXJhbSBlbnRpdHlcbiAgICovXG4gIGVudGl0eVRvVmFsdWUoZW50aXR5OiBURW50aXR5KTogVFZhbHVlXG59XG5cbmV4cG9ydCBjbGFzcyBFbGRlckVudGl0eVZhbHVlQWNjZXNzb3JVdGlsIHtcbiAgcHVibGljIHN0YXRpYyBlbnRpdHkkPFRFbnRpdHk+KFxuICAgIHZhYzogSUVsZGVyRW50aXR5VmFsdWVBY2Nlc3NvcjxURW50aXR5LCBhbnksIGFueT5cbiAgKTogT2JzZXJ2YWJsZTxURW50aXR5PiB7XG4gICAgcmV0dXJuIHZhYy5lbnRpdHlDaGFuZ2UucGlwZShzdGFydFdpdGgodmFjLmVudGl0eSkpXG4gIH1cbiAgcHVibGljIHN0YXRpYyBlbnRpdHlJZCQ8VElkPih2YWM6IElFbGRlckVudGl0eVZhbHVlQWNjZXNzb3I8YW55LCBUSWQsIGFueT4pOiBPYnNlcnZhYmxlPFRJZD4ge1xuICAgIHJldHVybiB2YWMuZW50aXR5SWRDaGFuZ2UucGlwZShzdGFydFdpdGgodmFjLmVudGl0eUlkKSlcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNFbGRlckVudGl0eVZhbHVlQWNjZXNzb3IoXG4gIG9iamVjdDogYW55XG4pOiBvYmplY3QgaXMgSUVsZGVyRW50aXR5VmFsdWVBY2Nlc3NvcjxhbnksIGFueSwgYW55PiB7XG4gIGlmICghb2JqZWN0KSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBjb25zdCB2YWMgPSBvYmplY3QgYXMgSUVsZGVyRW50aXR5VmFsdWVBY2Nlc3NvcjxhbnksIGFueSwgYW55PlxuXG4gIHJldHVybiAoXG4gICAgJ2VudGl0eScgaW4gdmFjICYmIC8vIFRoaXMgbWlnaHQgYmUgdW5kZWZpbmVkXG4gICAgJ2VudGl0eUlkJyBpbiB2YWMgJiYgLy8gVGhpcyBtaWdodCBiZSB1bmRlZmluZWRcbiAgICB2YWMuZW50aXR5SWRDaGFuZ2UgIT09IHVuZGVmaW5lZCAmJlxuICAgIHZhYy5lbnRpdHlDaGFuZ2UgIT09IHVuZGVmaW5lZCAmJlxuICAgIHZhYy51cGRhdGVWYWx1ZUJ5RW50aXR5ICE9PSB1bmRlZmluZWQgJiZcbiAgICB2YWMuZW50aXR5VG9WYWx1ZSAhPT0gdW5kZWZpbmVkXG4gIClcbn1cbiJdfQ==
@@ -1,188 +0,0 @@
1
- import { ValueAccessorBase } from './value-accessor-base';
2
- import { mergeWith, Subject } from 'rxjs';
3
- import { NgControl } from '@angular/forms';
4
- import { map } from 'rxjs/operators';
5
- import { computed, DestroyRef, Directive, ElementRef, HostBinding, inject, Input, model, signal, untracked, } from '@angular/core';
6
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
7
- import { FocusMonitor } from '@angular/cdk/a11y';
8
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
9
- import * as i0 from "@angular/core";
10
- /**
11
- * Base for custom material form field controls.
12
- * https://material.angular.io/guide/creating-a-custom-form-field-control
13
- *
14
- * Implementors must provide the MatFormFieldControl:
15
- * providers: [{provide: MatFormFieldControl, useExisting: MyCoolInput}]
16
- */
17
- export class ElderFormFieldControlBase extends ValueAccessorBase {
18
- /***************************************************************************
19
- * *
20
- * Fields *
21
- * *
22
- **************************************************************************/
23
- static { this.nextId = 0; }
24
- /***************************************************************************
25
- * *
26
- * Constructor *
27
- * *
28
- **************************************************************************/
29
- constructor(controlType) {
30
- super();
31
- this.hostRef = inject(ElementRef);
32
- this._focusMonitor = inject(FocusMonitor);
33
- this._destroyRef = inject(DestroyRef);
34
- this.ngControl = inject(NgControl, {
35
- optional: true,
36
- self: true,
37
- });
38
- this.placeholderS = model(undefined, {
39
- alias: 'placeholder',
40
- });
41
- this.disabledS = signal(false);
42
- this.requiredS = signal(false);
43
- this.readonlyS = signal(false);
44
- this.isLockedS = computed(() => {
45
- const dis = this.disabledS();
46
- const readonly = this.readonlyS();
47
- return dis || readonly;
48
- });
49
- this._focused = false;
50
- this.stateChangePusher$ = new Subject();
51
- this.controlType = controlType;
52
- this.id = `elder-control-${this.controlType}-${ElderFormFieldControlBase.nextId++}`;
53
- if (this.ngControl) {
54
- this.ngControl.valueAccessor = this;
55
- }
56
- this.initFocusMonitor();
57
- }
58
- /***************************************************************************
59
- * *
60
- * Life Cycle *
61
- * *
62
- **************************************************************************/
63
- initFocusMonitor() {
64
- this._focusMonitor
65
- .monitor(this.hostRef, true)
66
- .pipe(takeUntilDestroyed(this._destroyRef))
67
- .subscribe((focusOrigin) => {
68
- if (focusOrigin) {
69
- this.onFocusInternal();
70
- }
71
- else {
72
- this.onBlurInternal();
73
- }
74
- });
75
- }
76
- /***************************************************************************
77
- * *
78
- * Properties *
79
- * *
80
- **************************************************************************/
81
- get placeholder() {
82
- return untracked(this.placeholderS);
83
- }
84
- set placeholder(value) {
85
- this.placeholderS.set(value);
86
- }
87
- set required(value) {
88
- const newValue = coerceBooleanProperty(value);
89
- if (this.required !== newValue) {
90
- this.requiredS.set(newValue);
91
- this.emitStateChange();
92
- }
93
- }
94
- get required() {
95
- return untracked(this.requiredS);
96
- }
97
- set disabled(value) {
98
- const newValue = coerceBooleanProperty(value);
99
- if (this.disabled !== newValue) {
100
- this.disabledS.set(newValue);
101
- this.emitStateChange();
102
- }
103
- }
104
- get disabled() {
105
- return untracked(this.disabledS);
106
- }
107
- set readonly(value) {
108
- const newValue = coerceBooleanProperty(value);
109
- if (this.readonly !== newValue) {
110
- this.readonlyS.set(newValue);
111
- this.emitStateChange();
112
- }
113
- }
114
- get readonly() {
115
- return untracked(this.readonlyS);
116
- }
117
- get isLocked() {
118
- return this.disabled || this.readonly;
119
- }
120
- get stateChanges() {
121
- return this.value$.pipe(map((x) => x), mergeWith(this.stateChangePusher$));
122
- }
123
- get errorState() {
124
- return this.ngControl?.invalid && this.ngControl?.dirty;
125
- }
126
- get empty() {
127
- return this.value === undefined || this.value === null || this.value === '';
128
- }
129
- get shouldLabelFloat() {
130
- return !this.empty || this._focused;
131
- }
132
- get focused() {
133
- return this._focused;
134
- }
135
- /***************************************************************************
136
- * *
137
- * Public API *
138
- * *
139
- **************************************************************************/
140
- onContainerClick(event) {
141
- this.focus();
142
- }
143
- setDescribedByIds(ids) {
144
- if (ids.length) {
145
- // this._elementRef.nativeElement.setAttribute('aria-describedby', ids.join(' '));
146
- }
147
- else {
148
- // this._elementRef.nativeElement.removeAttribute('aria-describedby');
149
- }
150
- }
151
- /***************************************************************************
152
- * *
153
- * Internal API *
154
- * *
155
- **************************************************************************/
156
- emitStateChange() {
157
- this.stateChangePusher$.next();
158
- }
159
- writeToControl(value) { }
160
- onFocusInternal() {
161
- if (!this.disabled) {
162
- this._focused = true;
163
- this.emitStateChange();
164
- }
165
- }
166
- onBlurInternal() {
167
- this._focused = false;
168
- if (!this.disabled) {
169
- // this._onTouched();
170
- // this._changeDetectorRef.markForCheck();
171
- this.emitStateChange();
172
- }
173
- }
174
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderFormFieldControlBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
175
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: ElderFormFieldControlBase, inputs: { placeholderS: { classPropertyName: "placeholderS", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { placeholderS: "placeholderChange" }, host: { properties: { "id": "this.id" } }, usesInheritance: true, ngImport: i0 }); }
176
- }
177
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderFormFieldControlBase, decorators: [{
178
- type: Directive
179
- }], ctorParameters: () => [{ type: undefined }], propDecorators: { id: [{
180
- type: HostBinding
181
- }], required: [{
182
- type: Input
183
- }], disabled: [{
184
- type: Input
185
- }], readonly: [{
186
- type: Input
187
- }] } });
188
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZm9ybS1maWVsZC1jb250cm9sLWJhc2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2Zvcm1zL2VsZGVyLWZvcm0tZmllbGQtY29udHJvbC1iYXNlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDMUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3BDLE9BQU8sRUFDTCxRQUFRLEVBQ1IsVUFBVSxFQUNWLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQWdCLE1BQU0sNEJBQTRCLENBQUE7O0FBRTdFOzs7Ozs7R0FNRztBQUVILE1BQU0sT0FBZ0IseUJBQ3BCLFNBQVEsaUJBQW9CO0lBRzVCOzs7O2dGQUk0RTthQUU3RCxXQUFNLEdBQUcsQ0FBQyxBQUFKLENBQUk7SUFrQ3pCOzs7O2dGQUk0RTtJQUU1RSxZQUFZLFdBQW1CO1FBQzdCLEtBQUssRUFBRSxDQUFBO1FBdkNRLFlBQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDNUIsa0JBQWEsR0FBRyxNQUFNLENB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QVE7c0JBRGxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYXRGb3JtRmllbGRDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCdcbmltcG9ydCB7IFZhbHVlQWNjZXNzb3JCYXNlIH0gZnJvbSAnLi92YWx1ZS1hY2Nlc3Nvci1iYXNlJ1xuaW1wb3J0IHsgbWVyZ2VXaXRoLCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcydcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQge1xuICBjb21wdXRlZCxcbiAgRGVzdHJveVJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgbW9kZWwsXG4gIHNpZ25hbCxcbiAgdW50cmFja2VkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nXG5pbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSdcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCwgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnXG5cbi8qKlxuICogQmFzZSBmb3IgY3VzdG9tIG1hdGVyaWFsIGZvcm0gZmllbGQgY29udHJvbHMuXG4gKiBodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vZ3VpZGUvY3JlYXRpbmctYS1jdXN0b20tZm9ybS1maWVsZC1jb250cm9sXG4gKlxuICogSW1wbGVtZW50b3JzIG11c3QgcHJvdmlkZSB0aGUgTWF0Rm9ybUZpZWxkQ29udHJvbDpcbiAqIHByb3ZpZGVyczogW3twcm92aWRlOiBNYXRGb3JtRmllbGRDb250cm9sLCB1c2VFeGlzdGluZzogTXlDb29sSW5wdXR9XVxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBFbGRlckZvcm1GaWVsZENvbnRyb2xCYXNlPFQ+XG4gIGV4dGVuZHMgVmFsdWVBY2Nlc3NvckJhc2U8VD5cbiAgaW1wbGVtZW50cyBNYXRGb3JtRmllbGRDb250cm9sPFQ+XG57XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgc3RhdGljIG5leHRJZCA9IDBcblxuICBwcml2YXRlIHJlYWRvbmx5IGhvc3RSZWYgPSBpbmplY3QoRWxlbWVudFJlZilcbiAgcHJpdmF0ZSByZWFkb25seSBfZm9jdXNNb25pdG9yID0gaW5qZWN0KEZvY3VzTW9uaXRvcilcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKVxuICBwdWJsaWMgcmVhZG9ubHkgbmdDb250cm9sID0gaW5qZWN0KE5nQ29udHJvbCwge1xuICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIHNlbGY6IHRydWUsXG4gIH0pXG5cbiAgcHVibGljIHJlYWRvbmx5IHBsYWNlaG9sZGVyUyA9IG1vZGVsPHN0cmluZz4odW5kZWZpbmVkLCB7XG4gICAgYWxpYXM6ICdwbGFjZWhvbGRlcicsXG4gIH0pXG5cbiAgcHVibGljIHJlYWRvbmx5IGRpc2FibGVkUyA9IHNpZ25hbDxib29sZWFuPihmYWxzZSlcbiAgcHVibGljIHJlYWRvbmx5IHJlcXVpcmVkUyA9IHNpZ25hbDxib29sZWFuPihmYWxzZSlcbiAgcHVibGljIHJlYWRvbmx5IHJlYWRvbmx5UyA9IHNpZ25hbDxib29sZWFuPihmYWxzZSlcbiAgcHVibGljIHJlYWRvbmx5IGlzTG9ja2VkUyA9IGNvbXB1dGVkPGJvb2xlYW4+KCgpID0+IHtcbiAgICBjb25zdCBkaXMgPSB0aGlzLmRpc2FibGVkUygpXG4gICAgY29uc3QgcmVhZG9ubHkgPSB0aGlzLnJlYWRvbmx5UygpXG4gICAgcmV0dXJuIGRpcyB8fCByZWFkb25seVxuICB9KVxuXG4gIHByaXZhdGUgX2ZvY3VzZWQgPSBmYWxzZVxuICBwcml2YXRlIHJlYWRvbmx5IHN0YXRlQ2hhbmdlUHVzaGVyJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KClcblxuICBASG9zdEJpbmRpbmcoKSBwdWJsaWMgcmVhZG9ubHkgaWQ6IHN0cmluZ1xuXG4gIHB1YmxpYyBjb250cm9sVHlwZTogc3RyaW5nXG5cbiAgLy8gVE9ETyAuLi5cbiAgcmVhZG9ubHkgYXV0b2ZpbGxlZDogYm9vbGVhblxuICByZWFkb25seSB1c2VyQXJpYURlc2NyaWJlZEJ5OiBzdHJpbmdcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3Rvcihjb250cm9sVHlwZTogc3RyaW5nKSB7XG4gICAgc3VwZXIoKVxuICAgIHRoaXMuY29udHJvbFR5cGUgPSBjb250cm9sVHlwZVxuICAgIHRoaXMuaWQgPSBgZWxkZXItY29udHJvbC0ke3RoaXMuY29udHJvbFR5cGV9LSR7RWxkZXJGb3JtRmllbGRDb250cm9sQmFzZS5uZXh0SWQrK31gXG4gICAgaWYgKHRoaXMubmdDb250cm9sKSB7XG4gICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpc1xuICAgIH1cbiAgICB0aGlzLmluaXRGb2N1c01vbml0b3IoKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBpbml0Rm9jdXNNb25pdG9yKCk6IHZvaWQge1xuICAgIHRoaXMuX2ZvY3VzTW9uaXRvclxuICAgICAgLm1vbml0b3IodGhpcy5ob3N0UmVmLCB0cnVlKVxuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKVxuICAgICAgLnN1YnNjcmliZSgoZm9jdXNPcmlnaW4pID0+IHtcbiAgICAgICAgaWYgKGZvY3VzT3JpZ2luKSB7XG4gICAgICAgICAgdGhpcy5vbkZvY3VzSW50ZXJuYWwoKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMub25CbHVySW50ZXJuYWwoKVxuICAgICAgICB9XG4gICAgICB9KVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGdldCBwbGFjZWhvbGRlcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB1bnRyYWNrZWQodGhpcy5wbGFjZWhvbGRlclMpXG4gIH1cblxuICBwdWJsaWMgc2V0IHBsYWNlaG9sZGVyKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnBsYWNlaG9sZGVyUy5zZXQodmFsdWUpXG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHJlcXVpcmVkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICBjb25zdCBuZXdWYWx1ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSlcbiAgICBpZiAodGhpcy5yZXF1aXJlZCAhPT0gbmV3VmFsdWUpIHtcbiAgICAgIHRoaXMucmVxdWlyZWRTLnNldChuZXdWYWx1ZSlcbiAgICAgIHRoaXMuZW1pdFN0YXRlQ2hhbmdlKClcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB1bnRyYWNrZWQodGhpcy5yZXF1aXJlZFMpXG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICBjb25zdCBuZXdWYWx1ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSlcbiAgICBpZiAodGhpcy5kaXNhYmxlZCAhPT0gbmV3VmFsdWUpIHtcbiAgICAgIHRoaXMuZGlzYWJsZWRTLnNldChuZXdWYWx1ZSlcbiAgICAgIHRoaXMuZW1pdFN0YXRlQ2hhbmdlKClcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB1bnRyYWNrZWQodGhpcy5kaXNhYmxlZFMpXG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHJlYWRvbmx5KHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICBjb25zdCBuZXdWYWx1ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSlcbiAgICBpZiAodGhpcy5yZWFkb25seSAhPT0gbmV3VmFsdWUpIHtcbiAgICAgIHRoaXMucmVhZG9ubHlTLnNldChuZXdWYWx1ZSlcbiAgICAgIHRoaXMuZW1pdFN0YXRlQ2hhbmdlKClcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlYWRvbmx5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB1bnRyYWNrZWQodGhpcy5yZWFkb25seVMpXG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzTG9ja2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkIHx8IHRoaXMucmVhZG9ubHlcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3RhdGVDaGFuZ2VzKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlJC5waXBlKFxuICAgICAgbWFwKCh4KSA9PiA8YW55PngpLFxuICAgICAgbWVyZ2VXaXRoKHRoaXMuc3RhdGVDaGFuZ2VQdXNoZXIkKVxuICAgIClcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZXJyb3JTdGF0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5uZ0NvbnRyb2w/LmludmFsaWQgJiYgdGhpcy5uZ0NvbnRyb2w/LmRpcnR5XG4gIH1cblxuICBwdWJsaWMgZ2V0IGVtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlID09PSB1bmRlZmluZWQgfHwgdGhpcy52YWx1ZSA9PT0gbnVsbCB8fCA8YW55PnRoaXMudmFsdWUgPT09ICcnXG4gIH1cblxuICBwdWJsaWMgZ2V0IHNob3VsZExhYmVsRmxvYXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmVtcHR5IHx8IHRoaXMuX2ZvY3VzZWRcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZm9jdXNlZFxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG9uQ29udGFpbmVyQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmZvY3VzKClcbiAgfVxuXG4gIHB1YmxpYyBzZXREZXNjcmliZWRCeUlkcyhpZHM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgaWYgKGlkcy5sZW5ndGgpIHtcbiAgICAgIC8vIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtZGVzY3JpYmVkYnknLCBpZHMuam9pbignICcpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1kZXNjcmliZWRieScpO1xuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBBYnN0cmFjdCBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBGb2N1cyB0aGlzIGNvbnRyb2wuXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgZm9jdXMob3B0aW9ucz86IEZvY3VzT3B0aW9ucyk6IHZvaWRcblxuICAvKipcbiAgICogQmx1ciB0aGlzIGNvbnRyb2wuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgYmx1cigpOiB2b2lkXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEludGVybmFsIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJvdGVjdGVkIGVtaXRTdGF0ZUNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlUHVzaGVyJC5uZXh0KClcbiAgfVxuXG4gIHByb3RlY3RlZCB3cml0ZVRvQ29udHJvbCh2YWx1ZTogVCk6IHZvaWQge31cblxuICBwcm90ZWN0ZWQgb25Gb2N1c0ludGVybmFsKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5fZm9jdXNlZCA9IHRydWVcbiAgICAgIHRoaXMuZW1pdFN0YXRlQ2hhbmdlKClcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb25CbHVySW50ZXJuYWwoKTogdm9pZCB7XG4gICAgdGhpcy5fZm9jdXNlZCA9IGZhbHNlXG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICAvLyB0aGlzLl9vblRvdWNoZWQoKTtcbiAgICAgIC8vIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgdGhpcy5lbWl0U3RhdGVDaGFuZ2UoKVxuICAgIH1cbiAgfVxufVxuIl19
@@ -1,94 +0,0 @@
1
- import { ContentChild, Directive, ViewChild } from '@angular/core';
2
- import { BehaviorSubject, switchMap } from 'rxjs';
3
- import { MatFormField, MatFormFieldControl } from '@angular/material/form-field';
4
- import { filter, map, startWith } from 'rxjs/operators';
5
- import { LoggerFactory } from '@elderbyte/ts-logger';
6
- import * as i0 from "@angular/core";
7
- export class ElderFromFieldBase {
8
- /***************************************************************************
9
- * *
10
- * Constructor *
11
- * *
12
- **************************************************************************/
13
- constructor() {
14
- /***************************************************************************
15
- * *
16
- * Fields *
17
- * *
18
- **************************************************************************/
19
- this._logger = LoggerFactory.getLogger(this.constructor.name);
20
- this.formFieldControl$ = new BehaviorSubject(null);
21
- this._controlActionQueue = [];
22
- this._value$ = this.formFieldControl$.pipe(filter((ctrl) => !!ctrl), switchMap((ctrl) => this.controlValue$(ctrl)));
23
- }
24
- /***************************************************************************
25
- * *
26
- * Life Cycle *
27
- * *
28
- **************************************************************************/
29
- ngOnInit() {
30
- const control = this.formFieldControl$.getValue();
31
- this.matFormField._control = control;
32
- }
33
- /***************************************************************************
34
- * *
35
- * Properties *
36
- * *
37
- **************************************************************************/
38
- set formFieldControl(ctrl) {
39
- this.formFieldControl$.next(ctrl);
40
- if (ctrl) {
41
- this.executeQueuedActions(ctrl);
42
- }
43
- }
44
- get formFieldControl() {
45
- return this.formFieldControl$.getValue();
46
- }
47
- get value$() {
48
- return this._value$;
49
- }
50
- /***************************************************************************
51
- * *
52
- * Public API *
53
- * *
54
- **************************************************************************/
55
- applyToControl(applyFn) {
56
- const ctrl = this.formFieldControl;
57
- if (ctrl) {
58
- applyFn(ctrl);
59
- }
60
- else {
61
- this._controlActionQueue.push(applyFn);
62
- }
63
- }
64
- /***************************************************************************
65
- * *
66
- * Private methods *
67
- * *
68
- **************************************************************************/
69
- executeQueuedActions(ctrl) {
70
- try {
71
- this._controlActionQueue.forEach((fn) => fn(ctrl));
72
- this._controlActionQueue.length = 0; // Clear Array
73
- }
74
- catch (err) {
75
- this._logger.error('Applying function to control failed with error. Control: ', ctrl);
76
- throw err;
77
- }
78
- }
79
- controlValue$(ctrl) {
80
- return ctrl.stateChanges.pipe(map(() => ctrl.value), startWith(ctrl.value));
81
- }
82
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderFromFieldBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
83
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ElderFromFieldBase, queries: [{ propertyName: "formFieldControl", first: true, predicate: MatFormFieldControl, descendants: true, static: true }], viewQueries: [{ propertyName: "matFormField", first: true, predicate: MatFormField, descendants: true, static: true }], ngImport: i0 }); }
84
- }
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderFromFieldBase, decorators: [{
86
- type: Directive
87
- }], ctorParameters: () => [], propDecorators: { matFormField: [{
88
- type: ViewChild,
89
- args: [MatFormField, { static: true }]
90
- }], formFieldControl: [{
91
- type: ContentChild,
92
- args: [MatFormFieldControl, { static: true }]
93
- }] } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZnJvbS1maWVsZC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2Zvcm1zL2VsZGVyLWZyb20tZmllbGQtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBYyxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ2hGLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTs7QUFLcEQsTUFBTSxPQUFnQixrQkFBa0I7SUFvQnRDOzs7O2dGQUk0RTtJQUU1RTtRQXZCQTs7OztvRkFJNEU7UUFFekQsWUFBTyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUV4RCxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBVyxJQUFJLENBQUMsQ0FBQTtRQU96RCx3QkFBbUIsR0FBb0MsRUFBRSxDQUFBO1FBU3hFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FDeEMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQ3hCLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUM5QyxDQUFBO0lBQ0gsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxRQUFRO1FBQ2IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFBO1FBQ2pELElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQTtJQUN0QyxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRTVFLElBQ1csZ0JBQWdCLENBQUMsSUFBYztRQUN4QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ2pDLElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDakMsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUMxQyxDQUFDO0lBRUQsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFBO0lBQ3JCLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsY0FBYyxDQUFDLE9BQWlDO1FBQ3JELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQTtRQUNsQyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ2YsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3hDLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXBFLG9CQUFvQixDQUFDLElBQWM7UUFDekMsSUFBSSxDQUFDO1lBQ0gsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7WUFDbEQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUEsQ0FBQyxjQUFjO1FBQ3BELENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsMkRBQTJELEVBQUUsSUFBSSxDQUFDLENBQUE7WUFDckYsTUFBTSxHQUFHLENBQUE7UUFDWCxDQUFDO0lBQ0gsQ0FBQztJQUVPLGFBQWEsQ0FBQyxJQUFjO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQzNCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQ3JCLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQ3RCLENBQUE7SUFDSCxDQUFDOytHQXRHbUIsa0JBQWtCO21HQUFsQixrQkFBa0Isd0VBa0R4QixtQkFBbUIsNEdBckN0QixZQUFZOzs0RkFiSCxrQkFBa0I7a0JBRHZDLFNBQVM7d0RBZUQsWUFBWTtzQkFEbEIsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQXNDOUIsZ0JBQWdCO3NCQUQxQixZQUFZO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRlbnRDaGlsZCwgRGlyZWN0aXZlLCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBNYXRGb3JtRmllbGQsIE1hdEZvcm1GaWVsZENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJ1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgTG9nZ2VyRmFjdG9yeSB9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJ1xuXG5leHBvcnQgdHlwZSBFbGRlckFwcGx5Q29udHJvbEZuPFRDb250cm9sPiA9IChjdHJsOiBUQ29udHJvbCkgPT4gdm9pZFxuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBFbGRlckZyb21GaWVsZEJhc2U8VFZhbHVlLCBUQ29udHJvbCBleHRlbmRzIE1hdEZvcm1GaWVsZENvbnRyb2w8VFZhbHVlPj5cbiAgaW1wbGVtZW50cyBPbkluaXRcbntcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9sb2dnZXIgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpXG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGZvcm1GaWVsZENvbnRyb2wkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUQ29udHJvbD4obnVsbClcblxuICBAVmlld0NoaWxkKE1hdEZvcm1GaWVsZCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIG1hdEZvcm1GaWVsZDogTWF0Rm9ybUZpZWxkXG5cbiAgcHJpdmF0ZSByZWFkb25seSBfdmFsdWUkOiBPYnNlcnZhYmxlPFRWYWx1ZT5cblxuICBwcml2YXRlIHJlYWRvbmx5IF9jb250cm9sQWN0aW9uUXVldWU6IEVsZGVyQXBwbHlDb250cm9sRm48VENvbnRyb2w+W10gPSBbXVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLl92YWx1ZSQgPSB0aGlzLmZvcm1GaWVsZENvbnRyb2wkLnBpcGUoXG4gICAgICBmaWx0ZXIoKGN0cmwpID0+ICEhY3RybCksXG4gICAgICBzd2l0Y2hNYXAoKGN0cmwpID0+IHRoaXMuY29udHJvbFZhbHVlJChjdHJsKSlcbiAgICApXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybUZpZWxkQ29udHJvbCQuZ2V0VmFsdWUoKVxuICAgIHRoaXMubWF0Rm9ybUZpZWxkLl9jb250cm9sID0gY29udHJvbFxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQENvbnRlbnRDaGlsZChNYXRGb3JtRmllbGRDb250cm9sLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgc2V0IGZvcm1GaWVsZENvbnRyb2woY3RybDogVENvbnRyb2wpIHtcbiAgICB0aGlzLmZvcm1GaWVsZENvbnRyb2wkLm5leHQoY3RybClcbiAgICBpZiAoY3RybCkge1xuICAgICAgdGhpcy5leGVjdXRlUXVldWVkQWN0aW9ucyhjdHJsKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgZm9ybUZpZWxkQ29udHJvbCgpOiBUQ29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUZpZWxkQ29udHJvbCQuZ2V0VmFsdWUoKVxuICB9XG5cbiAgcHVibGljIGdldCB2YWx1ZSQoKTogT2JzZXJ2YWJsZTxUVmFsdWU+IHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWUkXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgYXBwbHlUb0NvbnRyb2woYXBwbHlGbjogKGN0cmw6IFRDb250cm9sKSA9PiB2b2lkKSB7XG4gICAgY29uc3QgY3RybCA9IHRoaXMuZm9ybUZpZWxkQ29udHJvbFxuICAgIGlmIChjdHJsKSB7XG4gICAgICBhcHBseUZuKGN0cmwpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2NvbnRyb2xBY3Rpb25RdWV1ZS5wdXNoKGFwcGx5Rm4pXG4gICAgfVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBleGVjdXRlUXVldWVkQWN0aW9ucyhjdHJsOiBUQ29udHJvbCk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLl9jb250cm9sQWN0aW9uUXVldWUuZm9yRWFjaCgoZm4pID0+IGZuKGN0cmwpKVxuICAgICAgdGhpcy5fY29udHJvbEFjdGlvblF1ZXVlLmxlbmd0aCA9IDAgLy8gQ2xlYXIgQXJyYXlcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRoaXMuX2xvZ2dlci5lcnJvcignQXBwbHlpbmcgZnVuY3Rpb24gdG8gY29udHJvbCBmYWlsZWQgd2l0aCBlcnJvci4gQ29udHJvbDogJywgY3RybClcbiAgICAgIHRocm93IGVyclxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY29udHJvbFZhbHVlJChjdHJsOiBUQ29udHJvbCk6IE9ic2VydmFibGU8VFZhbHVlPiB7XG4gICAgcmV0dXJuIGN0cmwuc3RhdGVDaGFuZ2VzLnBpcGUoXG4gICAgICBtYXAoKCkgPT4gY3RybC52YWx1ZSksXG4gICAgICBzdGFydFdpdGgoY3RybC52YWx1ZSlcbiAgICApXG4gIH1cbn1cbiJdfQ==