@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,78 +0,0 @@
1
- import { Directive, HostListener, Input } from '@angular/core';
2
- import { LoggerFactory } from '@elderbyte/ts-logger';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * This directive prevents text input when it does not match
6
- * the specified regex pattern.
7
- */
8
- export class ElderInputPatternDirective {
9
- /***************************************************************************
10
- * *
11
- * Constructor *
12
- * *
13
- **************************************************************************/
14
- constructor() {
15
- /***************************************************************************
16
- * *
17
- * Fields *
18
- * *
19
- **************************************************************************/
20
- this.log = LoggerFactory.getLogger(this.constructor.name);
21
- }
22
- /***************************************************************************
23
- * *
24
- * Host Listeners *
25
- * *
26
- **************************************************************************/
27
- onBeforeInput(e) {
28
- if (e.inputType === 'insertText') {
29
- if (!this.isValidText(e.data)) {
30
- e.preventDefault();
31
- }
32
- }
33
- }
34
- onPasteEvent(e) {
35
- const clipboardData = e.clipboardData || window.clipboardData;
36
- const pastedData = clipboardData.getData('Text');
37
- if (!this.isValidText(pastedData)) {
38
- e.preventDefault();
39
- }
40
- }
41
- /***************************************************************************
42
- * *
43
- * Properties *
44
- * *
45
- **************************************************************************/
46
- set elderInputPattern(pattern) {
47
- this.pattern = pattern ? new RegExp(pattern) : null;
48
- }
49
- /***************************************************************************
50
- * *
51
- * Private methods *
52
- * *
53
- **************************************************************************/
54
- isValidText(text) {
55
- if (this.pattern) {
56
- return this.pattern.test(text);
57
- }
58
- return true;
59
- }
60
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderInputPatternDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
61
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ElderInputPatternDirective, isStandalone: true, selector: "textarea[elderInputPattern],input[elderInputPattern],elder-quantity-input[elderInputPattern]", inputs: { elderInputPattern: "elderInputPattern" }, host: { listeners: { "beforeinput": "onBeforeInput($event)", "paste": "onPasteEvent($event)" } }, ngImport: i0 }); }
62
- }
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderInputPatternDirective, decorators: [{
64
- type: Directive,
65
- args: [{
66
- selector: 'textarea[elderInputPattern],input[elderInputPattern],elder-quantity-input[elderInputPattern]',
67
- standalone: true,
68
- }]
69
- }], ctorParameters: () => [], propDecorators: { onBeforeInput: [{
70
- type: HostListener,
71
- args: ['beforeinput', ['$event']]
72
- }], onPasteEvent: [{
73
- type: HostListener,
74
- args: ['paste', ['$event']]
75
- }], elderInputPattern: [{
76
- type: Input
77
- }] } });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItaW5wdXQtcGF0dGVybi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2RpcmVjdGl2ZXMvZWxkZXItaW5wdXQtcGF0dGVybi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzlELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTs7QUFFcEQ7OztHQUdHO0FBTUgsTUFBTSxPQUFPLDBCQUEwQjtJQVdyQzs7OztnRkFJNEU7SUFFNUU7UUFoQkE7Ozs7b0ZBSTRFO1FBRTNELFFBQUcsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7SUFVdEQsQ0FBQztJQUVoQjs7OztnRkFJNEU7SUFFbkMsYUFBYSxDQUFDLENBQWE7UUFDbEUsSUFBSSxDQUFDLENBQUMsU0FBUyxLQUFLLFlBQVksRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUM5QixDQUFDLENBQUMsY0FBYyxFQUFFLENBQUE7WUFDcEIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRWtDLFlBQVksQ0FBQyxDQUFpQjtRQUMvRCxNQUFNLGFBQWEsR0FBRyxDQUFDLENBQUMsYUFBYSxJQUFVLE1BQU8sQ0FBQyxhQUFhLENBQUE7UUFDcEUsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ2xDLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQTtRQUNwQixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RSxJQUNXLGlCQUFpQixDQUFDLE9BQWU7UUFDMUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUE7SUFDckQsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVwRSxXQUFXLENBQUMsSUFBWTtRQUM5QixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ2hDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7K0dBL0RVLDBCQUEwQjttR0FBMUIsMEJBQTBCOzs0RkFBMUIsMEJBQTBCO2tCQUx0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFDTiw4RkFBOEY7b0JBQ2hHLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjt3REEwQjBDLGFBQWE7c0JBQXJELFlBQVk7dUJBQUMsYUFBYSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVFKLFlBQVk7c0JBQTlDLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWV0QixpQkFBaUI7c0JBRDNCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTG9nZ2VyRmFjdG9yeSB9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJ1xuXG4vKipcbiAqIFRoaXMgZGlyZWN0aXZlIHByZXZlbnRzIHRleHQgaW5wdXQgd2hlbiBpdCBkb2VzIG5vdCBtYXRjaFxuICogdGhlIHNwZWNpZmllZCByZWdleCBwYXR0ZXJuLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6XG4gICAgJ3RleHRhcmVhW2VsZGVySW5wdXRQYXR0ZXJuXSxpbnB1dFtlbGRlcklucHV0UGF0dGVybl0sZWxkZXItcXVhbnRpdHktaW5wdXRbZWxkZXJJbnB1dFBhdHRlcm5dJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJJbnB1dFBhdHRlcm5EaXJlY3RpdmUge1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSlcblxuICBwcml2YXRlIHBhdHRlcm46IFJlZ0V4cFxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogSG9zdCBMaXN0ZW5lcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASG9zdExpc3RlbmVyKCdiZWZvcmVpbnB1dCcsIFsnJGV2ZW50J10pIG9uQmVmb3JlSW5wdXQoZTogSW5wdXRFdmVudCk6IHZvaWQge1xuICAgIGlmIChlLmlucHV0VHlwZSA9PT0gJ2luc2VydFRleHQnKSB7XG4gICAgICBpZiAoIXRoaXMuaXNWYWxpZFRleHQoZS5kYXRhKSkge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdwYXN0ZScsIFsnJGV2ZW50J10pIG9uUGFzdGVFdmVudChlOiBDbGlwYm9hcmRFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGNsaXBib2FyZERhdGEgPSBlLmNsaXBib2FyZERhdGEgfHwgKDxhbnk+d2luZG93KS5jbGlwYm9hcmREYXRhXG4gICAgY29uc3QgcGFzdGVkRGF0YSA9IGNsaXBib2FyZERhdGEuZ2V0RGF0YSgnVGV4dCcpXG4gICAgaWYgKCF0aGlzLmlzVmFsaWRUZXh0KHBhc3RlZERhdGEpKSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGVsZGVySW5wdXRQYXR0ZXJuKHBhdHRlcm46IHN0cmluZykge1xuICAgIHRoaXMucGF0dGVybiA9IHBhdHRlcm4gPyBuZXcgUmVnRXhwKHBhdHRlcm4pIDogbnVsbFxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBpc1ZhbGlkVGV4dCh0ZXh0OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5wYXR0ZXJuKSB7XG4gICAgICByZXR1cm4gdGhpcy5wYXR0ZXJuLnRlc3QodGV4dClcbiAgICB9XG4gICAgcmV0dXJuIHRydWVcbiAgfVxufVxuIl19
@@ -1,112 +0,0 @@
1
- import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Listens for keyboard events on the target element (or its children).
5
- */
6
- export class ElderKeyEventDirective {
7
- /***************************************************************************
8
- * *
9
- * Host Listener *
10
- * *
11
- **************************************************************************/
12
- keyupEvent(event) {
13
- if (!this.keyDown) {
14
- this.processEvent(event);
15
- }
16
- }
17
- keydownEvent(event) {
18
- if (this.keyDown) {
19
- this.processEvent(event);
20
- }
21
- }
22
- /***************************************************************************
23
- * *
24
- * Constructor *
25
- * *
26
- **************************************************************************/
27
- constructor(el) {
28
- this.el = el;
29
- /**
30
- * If set to true, directive will listen for 'keyDown' instead of 'keyUp' events.
31
- * Defaults to false.
32
- */
33
- this.keyDown = false;
34
- /**
35
- * If the event target should be extended by the children of the host element.
36
- * If true, the event will also be propagated if the target was a child of the host element.
37
- */
38
- this.includeChildren = true;
39
- /**
40
- * Fired if event is propagated.
41
- */
42
- this.keyEvent = new EventEmitter();
43
- }
44
- /***************************************************************************
45
- * *
46
- * Private Methods *
47
- * *
48
- **************************************************************************/
49
- processEvent(event) {
50
- // Only propagate if target is in scope.
51
- if (this.isInScope(event)) {
52
- // If keyFilter is set, only propagate if corresponding key was pressed.
53
- if (this.keyFilter) {
54
- if (event.key === this.keyFilter) {
55
- this.propagateEvent(event);
56
- }
57
- }
58
- else {
59
- // If no keyFilter is set, propagate without further checks.
60
- this.propagateEvent(event);
61
- }
62
- }
63
- }
64
- isInScope(event) {
65
- const isTarget = event.target === this.el.nativeElement;
66
- if (this.includeChildren) {
67
- return isTarget || this.el.nativeElement.contains(event.target);
68
- }
69
- else {
70
- return isTarget;
71
- }
72
- }
73
- propagateEvent(event) {
74
- // Emit event
75
- this.keyEvent.emit(event);
76
- // Call optional callback
77
- if (this.callback) {
78
- this.callback(event);
79
- }
80
- }
81
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderKeyEventDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
82
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ElderKeyEventDirective, isStandalone: true, selector: "[elderKeyEvent]", inputs: { keyFilter: ["elderKeyEventFilter", "keyFilter"], keyDown: ["elderKeyEventDown", "keyDown"], includeChildren: ["elderKeyEventChildren", "includeChildren"], callback: ["elderKeyEventCallback", "callback"] }, outputs: { keyEvent: "onElderKeyEvent" }, host: { listeners: { "window:keyup": "keyupEvent($event)", "window:keydown": "keydownEvent($event)" } }, ngImport: i0 }); }
83
- }
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderKeyEventDirective, decorators: [{
85
- type: Directive,
86
- args: [{
87
- selector: '[elderKeyEvent]',
88
- standalone: true,
89
- }]
90
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { keyFilter: [{
91
- type: Input,
92
- args: ['elderKeyEventFilter']
93
- }], keyDown: [{
94
- type: Input,
95
- args: ['elderKeyEventDown']
96
- }], includeChildren: [{
97
- type: Input,
98
- args: ['elderKeyEventChildren']
99
- }], callback: [{
100
- type: Input,
101
- args: ['elderKeyEventCallback']
102
- }], keyEvent: [{
103
- type: Output,
104
- args: ['onElderKeyEvent']
105
- }], keyupEvent: [{
106
- type: HostListener,
107
- args: ['window:keyup', ['$event']]
108
- }], keydownEvent: [{
109
- type: HostListener,
110
- args: ['window:keydown', ['$event']]
111
- }] } });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXIta2V5LWV2ZW50LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvZGlyZWN0aXZlcy9lbGRlci1rZXktZXZlbnQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBOztBQUVoRzs7R0FFRztBQUtILE1BQU0sT0FBTyxzQkFBc0I7SUF1Q2pDOzs7O2dGQUk0RTtJQUdyRSxVQUFVLENBQUMsS0FBb0I7UUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBR00sWUFBWSxDQUFDLEtBQW9CO1FBQ3RDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDMUIsQ0FBQztJQUNILENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUUsWUFBb0IsRUFBYztRQUFkLE9BQUUsR0FBRixFQUFFLENBQVk7UUFwRGxDOzs7V0FHRztRQUVJLFlBQU8sR0FBRyxLQUFLLENBQUE7UUFFdEI7OztXQUdHO1FBRUksb0JBQWUsR0FBRyxJQUFJLENBQUE7UUFRN0I7O1dBRUc7UUFFSSxhQUFRLEdBQWdDLElBQUksWUFBWSxFQUFpQixDQUFBO0lBNEIzQyxDQUFDO0lBRXRDOzs7O2dGQUk0RTtJQUVwRSxZQUFZLENBQUMsS0FBb0I7UUFDdkMsd0NBQXdDO1FBQ3hDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzFCLHdFQUF3RTtZQUN4RSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDakMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtnQkFDNUIsQ0FBQztZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTiw0REFBNEQ7Z0JBQzVELElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDNUIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRU8sU0FBUyxDQUFDLEtBQW9CO1FBQ3BDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUE7UUFFdkQsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsT0FBTyxRQUFRLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNqRSxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sUUFBUSxDQUFBO1FBQ2pCLENBQUM7SUFDSCxDQUFDO0lBRU8sY0FBYyxDQUFDLEtBQW9CO1FBQ3pDLGFBQWE7UUFDYixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUV6Qix5QkFBeUI7UUFDekIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUN0QixDQUFDO0lBQ0gsQ0FBQzsrR0ExR1Usc0JBQXNCO21HQUF0QixzQkFBc0I7OzRGQUF0QixzQkFBc0I7a0JBSmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOytFQVlRLFNBQVM7c0JBRGYsS0FBSzt1QkFBQyxxQkFBcUI7Z0JBUXJCLE9BQU87c0JBRGIsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBUW5CLGVBQWU7c0JBRHJCLEtBQUs7dUJBQUMsdUJBQXVCO2dCQU92QixRQUFRO3NCQURkLEtBQUs7dUJBQUMsdUJBQXVCO2dCQU92QixRQUFRO3NCQURkLE1BQU07dUJBQUMsaUJBQWlCO2dCQVVsQixVQUFVO3NCQURoQixZQUFZO3VCQUFDLGNBQWMsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFRakMsWUFBWTtzQkFEbEIsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG4vKipcbiAqIExpc3RlbnMgZm9yIGtleWJvYXJkIGV2ZW50cyBvbiB0aGUgdGFyZ2V0IGVsZW1lbnQgKG9yIGl0cyBjaGlsZHJlbikuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tlbGRlcktleUV2ZW50XScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyS2V5RXZlbnREaXJlY3RpdmUge1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogSWYgc2V0LCBldmVudCB3aWxsIG9ubHkgYmUgcHJvcGFnYXRlZCBpZiBnaXZlbiBrZXkgd2FzIHByZXNzZWQgKG9wdGlvbmFsKS5cbiAgICovXG4gIEBJbnB1dCgnZWxkZXJLZXlFdmVudEZpbHRlcicpXG4gIHB1YmxpYyBrZXlGaWx0ZXI6IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBJZiBzZXQgdG8gdHJ1ZSwgZGlyZWN0aXZlIHdpbGwgbGlzdGVuIGZvciAna2V5RG93bicgaW5zdGVhZCBvZiAna2V5VXAnIGV2ZW50cy5cbiAgICogRGVmYXVsdHMgdG8gZmFsc2UuXG4gICAqL1xuICBASW5wdXQoJ2VsZGVyS2V5RXZlbnREb3duJylcbiAgcHVibGljIGtleURvd24gPSBmYWxzZVxuXG4gIC8qKlxuICAgKiBJZiB0aGUgZXZlbnQgdGFyZ2V0IHNob3VsZCBiZSBleHRlbmRlZCBieSB0aGUgY2hpbGRyZW4gb2YgdGhlIGhvc3QgZWxlbWVudC5cbiAgICogSWYgdHJ1ZSwgdGhlIGV2ZW50IHdpbGwgYWxzbyBiZSBwcm9wYWdhdGVkIGlmIHRoZSB0YXJnZXQgd2FzIGEgY2hpbGQgb2YgdGhlIGhvc3QgZWxlbWVudC5cbiAgICovXG4gIEBJbnB1dCgnZWxkZXJLZXlFdmVudENoaWxkcmVuJylcbiAgcHVibGljIGluY2x1ZGVDaGlsZHJlbiA9IHRydWVcblxuICAvKipcbiAgICogQ2FsbGJhY2sgd2hpY2ggaXMgY2FsbGVkIGlmIGV2ZW50IGlzIHByb3BhZ2F0ZWQgKG9wdGlvbmFsKS5cbiAgICovXG4gIEBJbnB1dCgnZWxkZXJLZXlFdmVudENhbGxiYWNrJylcbiAgcHVibGljIGNhbGxiYWNrOiBhbnlcblxuICAvKipcbiAgICogRmlyZWQgaWYgZXZlbnQgaXMgcHJvcGFnYXRlZC5cbiAgICovXG4gIEBPdXRwdXQoJ29uRWxkZXJLZXlFdmVudCcpXG4gIHB1YmxpYyBrZXlFdmVudDogRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PigpXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEhvc3QgTGlzdGVuZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmtleXVwJywgWyckZXZlbnQnXSlcbiAgcHVibGljIGtleXVwRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMua2V5RG93bikge1xuICAgICAgdGhpcy5wcm9jZXNzRXZlbnQoZXZlbnQpXG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmtleWRvd24nLCBbJyRldmVudCddKVxuICBwdWJsaWMga2V5ZG93bkV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKHRoaXMua2V5RG93bikge1xuICAgICAgdGhpcy5wcm9jZXNzRXZlbnQoZXZlbnQpXG4gICAgfVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZikge31cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBNZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHByb2Nlc3NFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIC8vIE9ubHkgcHJvcGFnYXRlIGlmIHRhcmdldCBpcyBpbiBzY29wZS5cbiAgICBpZiAodGhpcy5pc0luU2NvcGUoZXZlbnQpKSB7XG4gICAgICAvLyBJZiBrZXlGaWx0ZXIgaXMgc2V0LCBvbmx5IHByb3BhZ2F0ZSBpZiBjb3JyZXNwb25kaW5nIGtleSB3YXMgcHJlc3NlZC5cbiAgICAgIGlmICh0aGlzLmtleUZpbHRlcikge1xuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSB0aGlzLmtleUZpbHRlcikge1xuICAgICAgICAgIHRoaXMucHJvcGFnYXRlRXZlbnQoZXZlbnQpXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIElmIG5vIGtleUZpbHRlciBpcyBzZXQsIHByb3BhZ2F0ZSB3aXRob3V0IGZ1cnRoZXIgY2hlY2tzLlxuICAgICAgICB0aGlzLnByb3BhZ2F0ZUV2ZW50KGV2ZW50KVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNJblNjb3BlKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogYm9vbGVhbiB7XG4gICAgY29uc3QgaXNUYXJnZXQgPSBldmVudC50YXJnZXQgPT09IHRoaXMuZWwubmF0aXZlRWxlbWVudFxuXG4gICAgaWYgKHRoaXMuaW5jbHVkZUNoaWxkcmVuKSB7XG4gICAgICByZXR1cm4gaXNUYXJnZXQgfHwgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldClcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGlzVGFyZ2V0XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBwcm9wYWdhdGVFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIC8vIEVtaXQgZXZlbnRcbiAgICB0aGlzLmtleUV2ZW50LmVtaXQoZXZlbnQpXG5cbiAgICAvLyBDYWxsIG9wdGlvbmFsIGNhbGxiYWNrXG4gICAgaWYgKHRoaXMuY2FsbGJhY2spIHtcbiAgICAgIHRoaXMuY2FsbGJhY2soZXZlbnQpXG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,102 +0,0 @@
1
- import { Directive, HostListener, Input } from '@angular/core';
2
- import { LoggerFactory } from '@elderbyte/ts-logger';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * This directive redirects the next focus element
6
- */
7
- export class ElderNextFocusableDirective {
8
- /***************************************************************************
9
- * *
10
- * Constructor *
11
- * *
12
- **************************************************************************/
13
- constructor() {
14
- /***************************************************************************
15
- * *
16
- * Fields *
17
- * *
18
- **************************************************************************/
19
- this.log = LoggerFactory.getLogger(this.constructor.name);
20
- /**
21
- * Focus the given element next, if the nextElements are all unavailable.
22
- */
23
- this._element = null;
24
- this._enabled = true;
25
- this._nextElements = [];
26
- }
27
- /***************************************************************************
28
- * *
29
- * Properties *
30
- * *
31
- **************************************************************************/
32
- set nextElement(element) {
33
- this._element = element;
34
- }
35
- set enabled(value) {
36
- this._enabled = value;
37
- }
38
- set nextElements(elements) {
39
- this._nextElements = elements;
40
- }
41
- /***************************************************************************
42
- * *
43
- * Host Listeners *
44
- * *
45
- **************************************************************************/
46
- onKeyDown(event) {
47
- if (this._enabled && this.areAllNextElementsNotFocusable()) {
48
- if (event.key === 'Tab') {
49
- event.preventDefault(); // Prevent focusing next element.
50
- this.focusNextSpecified();
51
- }
52
- }
53
- }
54
- /***************************************************************************
55
- * *
56
- * Public API *
57
- * *
58
- **************************************************************************/
59
- focusNextSpecified() {
60
- if (this._element) {
61
- this._element.focus();
62
- }
63
- else {
64
- this.log.warn('Can not FOCUS next element, because no element has been specified!');
65
- }
66
- }
67
- areAllNextElementsNotFocusable() {
68
- return this._nextElements.every((elem) => !this.isFocusable(elem));
69
- }
70
- isFocusable(element) {
71
- if (element.hidden) {
72
- return false;
73
- }
74
- if (element instanceof HTMLInputElement) {
75
- return !element.disabled;
76
- }
77
- return true;
78
- }
79
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderNextFocusableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
80
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ElderNextFocusableDirective, isStandalone: true, selector: "[elderNextFocusable]", inputs: { nextElement: ["elderNextFocusable", "nextElement"], enabled: ["elderNextFocusableEnabled", "enabled"], nextElements: ["elderNextElements", "nextElements"] }, host: { listeners: { "keydown": "onKeyDown($event)" } }, exportAs: ["elderNextFocusable"], ngImport: i0 }); }
81
- }
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderNextFocusableDirective, decorators: [{
83
- type: Directive,
84
- args: [{
85
- selector: '[elderNextFocusable]',
86
- exportAs: 'elderNextFocusable',
87
- standalone: true,
88
- }]
89
- }], ctorParameters: () => [], propDecorators: { nextElement: [{
90
- type: Input,
91
- args: ['elderNextFocusable']
92
- }], enabled: [{
93
- type: Input,
94
- args: ['elderNextFocusableEnabled']
95
- }], nextElements: [{
96
- type: Input,
97
- args: ['elderNextElements']
98
- }], onKeyDown: [{
99
- type: HostListener,
100
- args: ['keydown', ['$event']]
101
- }] } });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbmV4dC1mb2N1c2FibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9kaXJlY3RpdmVzL2VsZGVyLW5leHQtZm9jdXNhYmxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFBOztBQUVwRDs7R0FFRztBQU1ILE1BQU0sT0FBTywyQkFBMkI7SUFnQnRDOzs7O2dGQUk0RTtJQUU1RTtRQXJCQTs7OztvRkFJNEU7UUFFM0QsUUFBRyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUVyRTs7V0FFRztRQUNLLGFBQVEsR0FBZ0IsSUFBSSxDQUFBO1FBQzVCLGFBQVEsR0FBRyxJQUFJLENBQUE7UUFDZixrQkFBYSxHQUFrQixFQUFFLENBQUE7SUFRMUIsQ0FBQztJQUVoQjs7OztnRkFJNEU7SUFFNUUsSUFDVyxXQUFXLENBQUMsT0FBb0I7UUFDekMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUE7SUFDekIsQ0FBQztJQUVELElBQ1csT0FBTyxDQUFDLEtBQWM7UUFDL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUE7SUFDdkIsQ0FBQztJQUVELElBQ1csWUFBWSxDQUFDLFFBQXVCO1FBQzdDLElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFBO0lBQy9CLENBQUM7SUFFRDs7OztnRkFJNEU7SUFHckUsU0FBUyxDQUFDLEtBQW9CO1FBQ25DLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsOEJBQThCLEVBQUUsRUFBRSxDQUFDO1lBQzNELElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxLQUFLLEVBQUUsQ0FBQztnQkFDeEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFBLENBQUMsaUNBQWlDO2dCQUN4RCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQTtZQUMzQixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsa0JBQWtCO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDdkIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxvRUFBb0UsQ0FBQyxDQUFBO1FBQ3JGLENBQUM7SUFDSCxDQUFDO0lBRU8sOEJBQThCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ3BFLENBQUM7SUFFTyxXQUFXLENBQUMsT0FBb0I7UUFDdEMsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbkIsT0FBTyxLQUFLLENBQUE7UUFDZCxDQUFDO1FBQ0QsSUFBSSxPQUFPLFlBQVksZ0JBQWdCLEVBQUUsQ0FBQztZQUN4QyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQTtRQUMxQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDOytHQXZGVSwyQkFBMkI7bUdBQTNCLDJCQUEyQjs7NEZBQTNCLDJCQUEyQjtrQkFMdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixVQUFVLEVBQUUsSUFBSTtpQkFDakI7d0RBZ0NZLFdBQVc7c0JBRHJCLEtBQUs7dUJBQUMsb0JBQW9CO2dCQU1oQixPQUFPO3NCQURqQixLQUFLO3VCQUFDLDJCQUEyQjtnQkFNdkIsWUFBWTtzQkFEdEIsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBWW5CLFNBQVM7c0JBRGYsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTG9nZ2VyRmFjdG9yeSB9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJ1xuXG4vKipcbiAqIFRoaXMgZGlyZWN0aXZlIHJlZGlyZWN0cyB0aGUgbmV4dCBmb2N1cyBlbGVtZW50XG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tlbGRlck5leHRGb2N1c2FibGVdJyxcbiAgZXhwb3J0QXM6ICdlbGRlck5leHRGb2N1c2FibGUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBFbGRlck5leHRGb2N1c2FibGVEaXJlY3RpdmUge1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSlcblxuICAvKipcbiAgICogRm9jdXMgdGhlIGdpdmVuIGVsZW1lbnQgbmV4dCwgaWYgdGhlIG5leHRFbGVtZW50cyBhcmUgYWxsIHVuYXZhaWxhYmxlLlxuICAgKi9cbiAgcHJpdmF0ZSBfZWxlbWVudDogSFRNTEVsZW1lbnQgPSBudWxsXG4gIHByaXZhdGUgX2VuYWJsZWQgPSB0cnVlXG4gIHByaXZhdGUgX25leHRFbGVtZW50czogSFRNTEVsZW1lbnRbXSA9IFtdXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBJbnB1dCgnZWxkZXJOZXh0Rm9jdXNhYmxlJylcbiAgcHVibGljIHNldCBuZXh0RWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgIHRoaXMuX2VsZW1lbnQgPSBlbGVtZW50XG4gIH1cblxuICBASW5wdXQoJ2VsZGVyTmV4dEZvY3VzYWJsZUVuYWJsZWQnKVxuICBwdWJsaWMgc2V0IGVuYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9lbmFibGVkID0gdmFsdWVcbiAgfVxuXG4gIEBJbnB1dCgnZWxkZXJOZXh0RWxlbWVudHMnKVxuICBwdWJsaWMgc2V0IG5leHRFbGVtZW50cyhlbGVtZW50czogSFRNTEVsZW1lbnRbXSkge1xuICAgIHRoaXMuX25leHRFbGVtZW50cyA9IGVsZW1lbnRzXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogSG9zdCBMaXN0ZW5lcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9lbmFibGVkICYmIHRoaXMuYXJlQWxsTmV4dEVsZW1lbnRzTm90Rm9jdXNhYmxlKCkpIHtcbiAgICAgIGlmIChldmVudC5rZXkgPT09ICdUYWInKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCkgLy8gUHJldmVudCBmb2N1c2luZyBuZXh0IGVsZW1lbnQuXG4gICAgICAgIHRoaXMuZm9jdXNOZXh0U3BlY2lmaWVkKClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZm9jdXNOZXh0U3BlY2lmaWVkKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9lbGVtZW50KSB7XG4gICAgICB0aGlzLl9lbGVtZW50LmZvY3VzKClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2cud2FybignQ2FuIG5vdCBGT0NVUyBuZXh0IGVsZW1lbnQsIGJlY2F1c2Ugbm8gZWxlbWVudCBoYXMgYmVlbiBzcGVjaWZpZWQhJylcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFyZUFsbE5leHRFbGVtZW50c05vdEZvY3VzYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fbmV4dEVsZW1lbnRzLmV2ZXJ5KChlbGVtKSA9PiAhdGhpcy5pc0ZvY3VzYWJsZShlbGVtKSlcbiAgfVxuXG4gIHByaXZhdGUgaXNGb2N1c2FibGUoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICBpZiAoZWxlbWVudC5oaWRkZW4pIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgICBpZiAoZWxlbWVudCBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQpIHtcbiAgICAgIHJldHVybiAhZWxlbWVudC5kaXNhYmxlZFxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZVxuICB9XG59XG4iXX0=
@@ -1,37 +0,0 @@
1
- import { Directive } from '@angular/core';
2
- import { ControlContainer, NgForm } from '@angular/forms';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * This directive provides a parent form to any kind of nested control
6
- * container, like in nested components. This means that form elements
7
- * brought in by included components will be respected by parent forms,
8
- * e.g. for validation.
9
- */
10
- export class ElderPlugParentFormDirective {
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderPlugParentFormDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
12
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ElderPlugParentFormDirective, isStandalone: true, selector: "[elderPlugParentForm]", providers: [
13
- {
14
- provide: ControlContainer,
15
- useFactory: provideForm,
16
- deps: [NgForm],
17
- },
18
- ], ngImport: i0 }); }
19
- }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderPlugParentFormDirective, decorators: [{
21
- type: Directive,
22
- args: [{
23
- selector: '[elderPlugParentForm]',
24
- providers: [
25
- {
26
- provide: ControlContainer,
27
- useFactory: provideForm,
28
- deps: [NgForm],
29
- },
30
- ],
31
- standalone: true,
32
- }]
33
- }] });
34
- export function provideForm(form) {
35
- return form;
36
- }
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItcGx1Zy1wYXJlbnQtZm9ybS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2RpcmVjdGl2ZXMvZWxkZXItcGx1Zy1wYXJlbnQtZm9ybS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7O0FBRXpEOzs7OztHQUtHO0FBWUgsTUFBTSxPQUFPLDRCQUE0QjsrR0FBNUIsNEJBQTRCO21HQUE1Qiw0QkFBNEIsb0VBVDVCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGdCQUFnQjtnQkFDekIsVUFBVSxFQUFFLFdBQVc7Z0JBQ3ZCLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQzthQUNmO1NBQ0Y7OzRGQUdVLDRCQUE0QjtrQkFYeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGdCQUFnQjs0QkFDekIsVUFBVSxFQUFFLFdBQVc7NEJBQ3ZCLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQzt5QkFDZjtxQkFDRjtvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDakI7O0FBR0QsTUFBTSxVQUFVLFdBQVcsQ0FBQyxJQUFZO0lBQ3RDLE9BQU8sSUFBSSxDQUFBO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb250cm9sQ29udGFpbmVyLCBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3JtcydcblxuLyoqXG4gKiBUaGlzIGRpcmVjdGl2ZSBwcm92aWRlcyBhIHBhcmVudCBmb3JtIHRvIGFueSBraW5kIG9mIG5lc3RlZCBjb250cm9sXG4gKiBjb250YWluZXIsIGxpa2UgaW4gbmVzdGVkIGNvbXBvbmVudHMuIFRoaXMgbWVhbnMgdGhhdCBmb3JtIGVsZW1lbnRzXG4gKiBicm91Z2h0IGluIGJ5IGluY2x1ZGVkIGNvbXBvbmVudHMgd2lsbCBiZSByZXNwZWN0ZWQgYnkgcGFyZW50IGZvcm1zLFxuICogZS5nLiBmb3IgdmFsaWRhdGlvbi5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VsZGVyUGx1Z1BhcmVudEZvcm1dJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQ29udHJvbENvbnRhaW5lcixcbiAgICAgIHVzZUZhY3Rvcnk6IHByb3ZpZGVGb3JtLFxuICAgICAgZGVwczogW05nRm9ybV0sXG4gICAgfSxcbiAgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJQbHVnUGFyZW50Rm9ybURpcmVjdGl2ZSB7fVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUZvcm0oZm9ybTogTmdGb3JtKSB7XG4gIHJldHVybiBmb3JtXG59XG4iXX0=
@@ -1,30 +0,0 @@
1
- import { Directive, HostListener } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * This directive suppresses event propagation on click events.
5
- * I.e. when you have large clickable areas which itself has smaller buttons on it:
6
- *
7
- * <a href="/go/home">
8
- *
9
- * <button elderStopEventPropagation>X</button>
10
- * </a>
11
- *
12
- */
13
- export class ElderStopEventPropagationDirective {
14
- onClick(event) {
15
- event.stopPropagation();
16
- }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderStopEventPropagationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
18
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ElderStopEventPropagationDirective, isStandalone: true, selector: "[elderStopEventPropagation]", host: { listeners: { "click": "onClick($event)" } }, ngImport: i0 }); }
19
- }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderStopEventPropagationDirective, decorators: [{
21
- type: Directive,
22
- args: [{
23
- selector: '[elderStopEventPropagation]',
24
- standalone: true,
25
- }]
26
- }], propDecorators: { onClick: [{
27
- type: HostListener,
28
- args: ['click', ['$event']]
29
- }] } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc3RvcC1ldmVudC1wcm9wYWdhdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2RpcmVjdGl2ZXMvZWxkZXItc3RvcC1ldmVudC1wcm9wYWdhdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUE7O0FBRXZEOzs7Ozs7Ozs7R0FTRztBQUtILE1BQU0sT0FBTyxrQ0FBa0M7SUFFdEMsT0FBTyxDQUFDLEtBQVU7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFBO0lBQ3pCLENBQUM7K0dBSlUsa0NBQWtDO21HQUFsQyxrQ0FBa0M7OzRGQUFsQyxrQ0FBa0M7a0JBSjlDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzhCQUdRLE9BQU87c0JBRGIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbi8qKlxuICogVGhpcyBkaXJlY3RpdmUgc3VwcHJlc3NlcyBldmVudCBwcm9wYWdhdGlvbiBvbiBjbGljayBldmVudHMuXG4gKiBJLmUuIHdoZW4geW91IGhhdmUgbGFyZ2UgY2xpY2thYmxlIGFyZWFzIHdoaWNoIGl0c2VsZiBoYXMgc21hbGxlciBidXR0b25zIG9uIGl0OlxuICpcbiAqIDxhIGhyZWY9XCIvZ28vaG9tZVwiPlxuICpcbiAqICA8YnV0dG9uIGVsZGVyU3RvcEV2ZW50UHJvcGFnYXRpb24+WDwvYnV0dG9uPlxuICogPC9hPlxuICpcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VsZGVyU3RvcEV2ZW50UHJvcGFnYXRpb25dJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJTdG9wRXZlbnRQcm9wYWdhdGlvbkRpcmVjdGl2ZSB7XG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uQ2xpY2soZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gIH1cbn1cbiJdfQ==
@@ -1,161 +0,0 @@
1
- import { Directive, Input } from '@angular/core';
2
- import { LoggerFactory } from '@elderbyte/ts-logger';
3
- import { fromEvent, Subject } from 'rxjs';
4
- import { debounceTime, filter, takeUntil } from 'rxjs/operators';
5
- import * as i0 from "@angular/core";
6
- /**
7
- * Traps tab focus inside the host elements children.
8
- *
9
- * Unlike other approaches which rely on inserting (hidden) supporting elements,
10
- * this solution does not modify the DOM which improves the handling and robustness.
11
- *
12
- * Instead, the children of the trap-host are scanned and observed (highly optimized
13
- * via MutationObserver), and all focusable elements are collected.
14
- * Only on users tab input are the next viable focus target resolved, thus supporting
15
- * disabled or hidden elements properly.
16
- *
17
- */
18
- export class ElderTabFocusTrapDirective {
19
- /***************************************************************************
20
- * *
21
- * Constructor *
22
- * *
23
- **************************************************************************/
24
- constructor(hostRef) {
25
- this.hostRef = hostRef;
26
- /***************************************************************************
27
- * *
28
- * Fields *
29
- * *
30
- **************************************************************************/
31
- this.log = LoggerFactory.getLogger(this.constructor.name);
32
- this.destroy$ = new Subject();
33
- this._focusableElements = [];
34
- this.mutations$ = new Subject();
35
- /**
36
- * A query selector which matches all elements that technically can have focus.
37
- * No checks if the elements are actually focusable due to disabled etc, which is handled later.
38
- *
39
- * https://stackoverflow.com/questions/1599660/which-html-elements-can-receive-focus
40
- */
41
- this.focusableQuerySelector = 'a[href], area[href], button,' + ' textarea, input, select, [tabindex]';
42
- this.keyDown$ = fromEvent(hostRef.nativeElement, 'keydown');
43
- this.mutationObserver = new MutationObserver((muts) => this.mutations$.next(muts));
44
- }
45
- /***************************************************************************
46
- * *
47
- * Life Cycle *
48
- * *
49
- **************************************************************************/
50
- ngOnInit() {
51
- this.keyDown$
52
- .pipe(takeUntil(this.destroy$), filter((e) => e.key === 'Tab'))
53
- .subscribe((keyDown) => this.onTabKeyDown(keyDown));
54
- this.mutations$
55
- .pipe(takeUntil(this.destroy$), debounceTime(10))
56
- .subscribe((mutations) => this.updateFocusableElements(this.hostRef.nativeElement));
57
- }
58
- ngAfterContentInit() {
59
- this.mutationObserver.observe(this.hostRef.nativeElement, {
60
- attributes: false,
61
- childList: true,
62
- subtree: true,
63
- characterData: false,
64
- });
65
- this.updateFocusableElements(this.hostRef.nativeElement);
66
- }
67
- ngOnDestroy() {
68
- this.mutationObserver.disconnect();
69
- this.destroy$.next();
70
- this.destroy$.complete();
71
- }
72
- /***************************************************************************
73
- * *
74
- * Private methods *
75
- * *
76
- **************************************************************************/
77
- onTabKeyDown(event) {
78
- // Scan for the right now focusable bounds
79
- const firstElement = this.firstTabFocusable(this._focusableElements);
80
- const lastElement = this.lastTabFocusable(this._focusableElements);
81
- this.log.debug('onTabKeyDown', {
82
- firstFocusable: firstElement,
83
- lastFocusable: lastElement,
84
- elementCount: this._focusableElements.length,
85
- elements: this._focusableElements,
86
- });
87
- if (event.shiftKey) {
88
- // shift + tab
89
- if (document.activeElement === firstElement) {
90
- lastElement.focus();
91
- event.preventDefault();
92
- }
93
- }
94
- else {
95
- // tab
96
- if (document.activeElement === lastElement) {
97
- firstElement.focus();
98
- event.preventDefault();
99
- }
100
- }
101
- }
102
- firstTabFocusable(elements) {
103
- for (const element of elements) {
104
- if (this.isFocusableByTab(element)) {
105
- return element;
106
- }
107
- }
108
- return null;
109
- }
110
- lastTabFocusable(elements) {
111
- for (let i = elements.length; i > 0; i--) {
112
- const element = elements[i - 1];
113
- if (this.isFocusableByTab(element)) {
114
- return element;
115
- }
116
- }
117
- return null;
118
- }
119
- updateFocusableElements(element) {
120
- this._focusableElements = this.findAllFocusableElements(element);
121
- this.log.debug('updateFocusableElements', {
122
- elements: this._focusableElements,
123
- });
124
- }
125
- findAllFocusableElements(parent) {
126
- const elements = parent.querySelectorAll(this.focusableQuerySelector);
127
- return Array.from(elements);
128
- }
129
- isFocusableByTab(element) {
130
- if (this.isFocusable(element)) {
131
- if (element.tabIndex === -1) {
132
- return false;
133
- }
134
- return true;
135
- }
136
- }
137
- isFocusable(element) {
138
- if (element) {
139
- if (element.hidden) {
140
- return false;
141
- }
142
- if (element.disabled !== undefined) {
143
- return !element.disabled;
144
- }
145
- return true;
146
- }
147
- return false;
148
- }
149
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderTabFocusTrapDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
150
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ElderTabFocusTrapDirective, isStandalone: true, selector: "[elderTabFocusTrap]", inputs: { focusableQuerySelector: "focusableQuerySelector" }, ngImport: i0 }); }
151
- }
152
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderTabFocusTrapDirective, decorators: [{
153
- type: Directive,
154
- args: [{
155
- selector: '[elderTabFocusTrap]',
156
- standalone: true,
157
- }]
158
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { focusableQuerySelector: [{
159
- type: Input
160
- }] } });
161
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdGFiLWZvY3VzLXRyYXAuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9kaXJlY3RpdmVzL2VsZGVyLXRhYi1mb2N1cy10cmFwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLFNBQVMsRUFBYyxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFBO0FBQ2pHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTs7QUFFaEU7Ozs7Ozs7Ozs7O0dBV0c7QUFLSCxNQUFNLE9BQU8sMEJBQTBCO0lBMkJyQzs7OztnRkFJNEU7SUFFNUUsWUFBNkIsT0FBZ0M7UUFBaEMsWUFBTyxHQUFQLE9BQU8sQ0FBeUI7UUFoQzdEOzs7O29GQUk0RTtRQUUzRCxRQUFHLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBR3BELGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFBO1FBRXZDLHVCQUFrQixHQUFrQixFQUFFLENBQUE7UUFHN0IsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFvQixDQUFBO1FBRTdEOzs7OztXQUtHO1FBRWEsMkJBQXNCLEdBQ3BDLDhCQUE4QixHQUFHLHNDQUFzQyxDQUFBO1FBU3ZFLElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUE4QixDQUFBO1FBQ3hGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLGdCQUFnQixDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ3BGLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsUUFBUTtRQUNiLElBQUksQ0FBQyxRQUFRO2FBQ1YsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQ3hCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxLQUFLLENBQUMsQ0FDL0I7YUFDQSxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtRQUVyRCxJQUFJLENBQUMsVUFBVTthQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNoRCxTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUE7SUFDdkYsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFO1lBQ3hELFVBQVUsRUFBRSxLQUFLO1lBQ2pCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsT0FBTyxFQUFFLElBQUk7WUFDYixhQUFhLEVBQUUsS0FBSztTQUNyQixDQUFDLENBQUE7UUFFRixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUMxRCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLENBQUE7UUFDbEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQzFCLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFcEUsWUFBWSxDQUFDLEtBQW9CO1FBQ3ZDLDBDQUEwQztRQUMxQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUE7UUFDcEUsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO1FBRWxFLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRTtZQUM3QixjQUFjLEVBQUUsWUFBWTtZQUM1QixhQUFhLEVBQUUsV0FBVztZQUMxQixZQUFZLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU07WUFDNUMsUUFBUSxFQUFFLElBQUksQ0FBQyxrQkFBa0I7U0FDbEMsQ0FBQyxDQUFBO1FBRUYsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkIsY0FBYztZQUNkLElBQUksUUFBUSxDQUFDLGFBQWEsS0FBSyxZQUFZLEVBQUUsQ0FBQztnQkFDNUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFBO2dCQUNuQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUE7WUFDeEIsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTTtZQUNOLElBQUksUUFBUSxDQUFDLGFBQWEsS0FBSyxXQUFXLEVBQUUsQ0FBQztnQkFDM0MsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFBO2dCQUNwQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUE7WUFDeEIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRU8saUJBQWlCLENBQUMsUUFBdUI7UUFDL0MsS0FBSyxNQUFNLE9BQU8sSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUMvQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNuQyxPQUFPLE9BQU8sQ0FBQTtZQUNoQixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUVPLGdCQUFnQixDQUFDLFFBQXVCO1FBQzlDLEtBQUssSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDekMsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtZQUMvQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNuQyxPQUFPLE9BQU8sQ0FBQTtZQUNoQixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUVPLHVCQUF1QixDQUFDLE9BQW9CO1FBQ2xELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsT0FBTyxDQUFrQixDQUFBO1FBQ2pGLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLHlCQUF5QixFQUFFO1lBQ3hDLFFBQVEsRUFBRSxJQUFJLENBQUMsa0JBQWtCO1NBQ2xDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFTyx3QkFBd0IsQ0FBQyxNQUFtQjtRQUNsRCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUE7UUFDckUsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQzdCLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxPQUFvQjtRQUMzQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM5QixJQUFJLE9BQU8sQ0FBQyxRQUFRLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDNUIsT0FBTyxLQUFLLENBQUE7WUFDZCxDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUE7UUFDYixDQUFDO0lBQ0gsQ0FBQztJQUVPLFdBQVcsQ0FBQyxPQUFvQjtRQUN0QyxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ25CLE9BQU8sS0FBSyxDQUFBO1lBQ2QsQ0FBQztZQUNELElBQVUsT0FBUSxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDMUMsT0FBTyxDQUFRLE9BQVEsQ0FBQyxRQUFvQixDQUFBO1lBQzlDLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQTtRQUNiLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7K0dBOUpVLDBCQUEwQjttR0FBMUIsMEJBQTBCOzs0RkFBMUIsMEJBQTBCO2tCQUp0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjsrRUF5QmlCLHNCQUFzQjtzQkFEckMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IExvZ2dlckZhY3RvcnkgfSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcidcbmltcG9ydCB7IGZyb21FdmVudCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5cbi8qKlxuICogVHJhcHMgdGFiIGZvY3VzIGluc2lkZSB0aGUgaG9zdCBlbGVtZW50cyBjaGlsZHJlbi5cbiAqXG4gKiBVbmxpa2Ugb3RoZXIgYXBwcm9hY2hlcyB3aGljaCByZWx5IG9uIGluc2VydGluZyAoaGlkZGVuKSBzdXBwb3J0aW5nIGVsZW1lbnRzLFxuICogdGhpcyBzb2x1dGlvbiBkb2VzIG5vdCBtb2RpZnkgdGhlIERPTSB3aGljaCBpbXByb3ZlcyB0aGUgaGFuZGxpbmcgYW5kIHJvYnVzdG5lc3MuXG4gKlxuICogSW5zdGVhZCwgdGhlIGNoaWxkcmVuIG9mIHRoZSB0cmFwLWhvc3QgYXJlIHNjYW5uZWQgYW5kIG9ic2VydmVkIChoaWdobHkgb3B0aW1pemVkXG4gKiB2aWEgTXV0YXRpb25PYnNlcnZlciksIGFuZCBhbGwgZm9jdXNhYmxlIGVsZW1lbnRzIGFyZSBjb2xsZWN0ZWQuXG4gKiBPbmx5IG9uIHVzZXJzIHRhYiBpbnB1dCBhcmUgdGhlIG5leHQgdmlhYmxlIGZvY3VzIHRhcmdldCByZXNvbHZlZCwgdGh1cyBzdXBwb3J0aW5nXG4gKiBkaXNhYmxlZCBvciBoaWRkZW4gZWxlbWVudHMgcHJvcGVybHkuXG4gKlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZWxkZXJUYWJGb2N1c1RyYXBdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJUYWJGb2N1c1RyYXBEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKVxuICBwcml2YXRlIHJlYWRvbmx5IGtleURvd24kOiBPYnNlcnZhYmxlPEtleWJvYXJkRXZlbnQ+XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KClcblxuICBwcml2YXRlIF9mb2N1c2FibGVFbGVtZW50czogSFRNTEVsZW1lbnRbXSA9IFtdXG5cbiAgcHJpdmF0ZSBtdXRhdGlvbk9ic2VydmVyOiBNdXRhdGlvbk9ic2VydmVyXG4gIHByaXZhdGUgcmVhZG9ubHkgbXV0YXRpb25zJCA9IG5ldyBTdWJqZWN0PE11dGF0aW9uUmVjb3JkW10+KClcblxuICAvKipcbiAgICogQSBxdWVyeSBzZWxlY3RvciB3aGljaCBtYXRjaGVzIGFsbCBlbGVtZW50cyB0aGF0IHRlY2huaWNhbGx5IGNhbiBoYXZlIGZvY3VzLlxuICAgKiBObyBjaGVja3MgaWYgdGhlIGVsZW1lbnRzIGFyZSBhY3R1YWxseSBmb2N1c2FibGUgZHVlIHRvIGRpc2FibGVkIGV0Yywgd2hpY2ggaXMgaGFuZGxlZCBsYXRlci5cbiAgICpcbiAgICogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTU5OTY2MC93aGljaC1odG1sLWVsZW1lbnRzLWNhbi1yZWNlaXZlLWZvY3VzXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgZm9jdXNhYmxlUXVlcnlTZWxlY3RvciA9XG4gICAgJ2FbaHJlZl0sIGFyZWFbaHJlZl0sIGJ1dHRvbiwnICsgJyB0ZXh0YXJlYSwgaW5wdXQsIHNlbGVjdCwgW3RhYmluZGV4XSdcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGhvc3RSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XG4gICAgdGhpcy5rZXlEb3duJCA9IGZyb21FdmVudChob3N0UmVmLm5hdGl2ZUVsZW1lbnQsICdrZXlkb3duJykgYXMgT2JzZXJ2YWJsZTxLZXlib2FyZEV2ZW50PlxuICAgIHRoaXMubXV0YXRpb25PYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRzKSA9PiB0aGlzLm11dGF0aW9ucyQubmV4dChtdXRzKSlcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBMaWZlIEN5Y2xlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmtleURvd24kXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICBmaWx0ZXIoKGUpID0+IGUua2V5ID09PSAnVGFiJylcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKGtleURvd24pID0+IHRoaXMub25UYWJLZXlEb3duKGtleURvd24pKVxuXG4gICAgdGhpcy5tdXRhdGlvbnMkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCksIGRlYm91bmNlVGltZSgxMCkpXG4gICAgICAuc3Vic2NyaWJlKChtdXRhdGlvbnMpID0+IHRoaXMudXBkYXRlRm9jdXNhYmxlRWxlbWVudHModGhpcy5ob3N0UmVmLm5hdGl2ZUVsZW1lbnQpKVxuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmhvc3RSZWYubmF0aXZlRWxlbWVudCwge1xuICAgICAgYXR0cmlidXRlczogZmFsc2UsXG4gICAgICBjaGlsZExpc3Q6IHRydWUsXG4gICAgICBzdWJ0cmVlOiB0cnVlLFxuICAgICAgY2hhcmFjdGVyRGF0YTogZmFsc2UsXG4gICAgfSlcblxuICAgIHRoaXMudXBkYXRlRm9jdXNhYmxlRWxlbWVudHModGhpcy5ob3N0UmVmLm5hdGl2ZUVsZW1lbnQpXG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5tdXRhdGlvbk9ic2VydmVyLmRpc2Nvbm5lY3QoKVxuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIG9uVGFiS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIC8vIFNjYW4gZm9yIHRoZSByaWdodCBub3cgZm9jdXNhYmxlIGJvdW5kc1xuICAgIGNvbnN0IGZpcnN0RWxlbWVudCA9IHRoaXMuZmlyc3RUYWJGb2N1c2FibGUodGhpcy5fZm9jdXNhYmxlRWxlbWVudHMpXG4gICAgY29uc3QgbGFzdEVsZW1lbnQgPSB0aGlzLmxhc3RUYWJGb2N1c2FibGUodGhpcy5fZm9jdXNhYmxlRWxlbWVudHMpXG5cbiAgICB0aGlzLmxvZy5kZWJ1Zygnb25UYWJLZXlEb3duJywge1xuICAgICAgZmlyc3RGb2N1c2FibGU6IGZpcnN0RWxlbWVudCxcbiAgICAgIGxhc3RGb2N1c2FibGU6IGxhc3RFbGVtZW50LFxuICAgICAgZWxlbWVudENvdW50OiB0aGlzLl9mb2N1c2FibGVFbGVtZW50cy5sZW5ndGgsXG4gICAgICBlbGVtZW50czogdGhpcy5fZm9jdXNhYmxlRWxlbWVudHMsXG4gICAgfSlcblxuICAgIGlmIChldmVudC5zaGlmdEtleSkge1xuICAgICAgLy8gc2hpZnQgKyB0YWJcbiAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBmaXJzdEVsZW1lbnQpIHtcbiAgICAgICAgbGFzdEVsZW1lbnQuZm9jdXMoKVxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHRhYlxuICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IGxhc3RFbGVtZW50KSB7XG4gICAgICAgIGZpcnN0RWxlbWVudC5mb2N1cygpXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZpcnN0VGFiRm9jdXNhYmxlKGVsZW1lbnRzOiBIVE1MRWxlbWVudFtdKTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgZWxlbWVudHMpIHtcbiAgICAgIGlmICh0aGlzLmlzRm9jdXNhYmxlQnlUYWIoZWxlbWVudCkpIHtcbiAgICAgICAgcmV0dXJuIGVsZW1lbnRcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIHByaXZhdGUgbGFzdFRhYkZvY3VzYWJsZShlbGVtZW50czogSFRNTEVsZW1lbnRbXSk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgZm9yIChsZXQgaSA9IGVsZW1lbnRzLmxlbmd0aDsgaSA+IDA7IGktLSkge1xuICAgICAgY29uc3QgZWxlbWVudCA9IGVsZW1lbnRzW2kgLSAxXVxuICAgICAgaWYgKHRoaXMuaXNGb2N1c2FibGVCeVRhYihlbGVtZW50KSkge1xuICAgICAgICByZXR1cm4gZWxlbWVudFxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVGb2N1c2FibGVFbGVtZW50cyhlbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIHRoaXMuX2ZvY3VzYWJsZUVsZW1lbnRzID0gdGhpcy5maW5kQWxsRm9jdXNhYmxlRWxlbWVudHMoZWxlbWVudCkgYXMgSFRNTEVsZW1lbnRbXVxuICAgIHRoaXMubG9nLmRlYnVnKCd1cGRhdGVGb2N1c2FibGVFbGVtZW50cycsIHtcbiAgICAgIGVsZW1lbnRzOiB0aGlzLl9mb2N1c2FibGVFbGVtZW50cyxcbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBmaW5kQWxsRm9jdXNhYmxlRWxlbWVudHMocGFyZW50OiBIVE1MRWxlbWVudCk6IEVsZW1lbnRbXSB7XG4gICAgY29uc3QgZWxlbWVudHMgPSBwYXJlbnQucXVlcnlTZWxlY3RvckFsbCh0aGlzLmZvY3VzYWJsZVF1ZXJ5U2VsZWN0b3IpXG4gICAgcmV0dXJuIEFycmF5LmZyb20oZWxlbWVudHMpXG4gIH1cblxuICBwcml2YXRlIGlzRm9jdXNhYmxlQnlUYWIoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5pc0ZvY3VzYWJsZShlbGVtZW50KSkge1xuICAgICAgaWYgKGVsZW1lbnQudGFiSW5kZXggPT09IC0xKSB7XG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzRm9jdXNhYmxlKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgIGlmIChlbGVtZW50LmhpZGRlbikge1xuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgIH1cbiAgICAgIGlmICgoPGFueT5lbGVtZW50KS5kaXNhYmxlZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiAhKCg8YW55PmVsZW1lbnQpLmRpc2FibGVkIGFzIGJvb2xlYW4pXG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxufVxuIl19
@@ -1,28 +0,0 @@
1
- import { Directive } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/forms";
4
- /**
5
- * Applied to an form input, marks this control touched from the beginning.
6
- * This has the effect that validation will run its course from the start.
7
- */
8
- export class ElderTouchedDirective {
9
- constructor(ngControl) {
10
- this.ngControl = ngControl;
11
- }
12
- ngOnInit() {
13
- if (this.ngControl && this.ngControl.control) {
14
- const control = this.ngControl.control;
15
- control.markAsTouched();
16
- }
17
- }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderTouchedDirective, deps: [{ token: i1.NgControl }], target: i0.ɵɵFactoryTarget.Directive }); }
19
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ElderTouchedDirective, isStandalone: true, selector: "[elderTouched]", ngImport: i0 }); }
20
- }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderTouchedDirective, decorators: [{
22
- type: Directive,
23
- args: [{
24
- selector: '[elderTouched]',
25
- standalone: true,
26
- }]
27
- }], ctorParameters: () => [{ type: i1.NgControl }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdG91Y2hlZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2RpcmVjdGl2ZXMvZWxkZXItdG91Y2hlZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQTs7O0FBR2pEOzs7R0FHRztBQUtILE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsWUFBb0IsU0FBb0I7UUFBcEIsY0FBUyxHQUFULFNBQVMsQ0FBVztJQUFHLENBQUM7SUFFNUMsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzdDLE1BQU0sT0FBTyxHQUFvQixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQTtZQUN2RCxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUE7UUFDekIsQ0FBQztJQUNILENBQUM7K0dBUlUscUJBQXFCO21HQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBSmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcblxuLyoqXG4gKiBBcHBsaWVkIHRvIGFuIGZvcm0gaW5wdXQsIG1hcmtzIHRoaXMgY29udHJvbCB0b3VjaGVkIGZyb20gdGhlIGJlZ2lubmluZy5cbiAqIFRoaXMgaGFzIHRoZSBlZmZlY3QgdGhhdCB2YWxpZGF0aW9uIHdpbGwgcnVuIGl0cyBjb3Vyc2UgZnJvbSB0aGUgc3RhcnQuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tlbGRlclRvdWNoZWRdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJUb3VjaGVkRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBuZ0NvbnRyb2w6IE5nQ29udHJvbCkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wgJiYgdGhpcy5uZ0NvbnRyb2wuY29udHJvbCkge1xuICAgICAgY29uc3QgY29udHJvbDogQWJzdHJhY3RDb250cm9sID0gdGhpcy5uZ0NvbnRyb2wuY29udHJvbFxuICAgICAgY29udHJvbC5tYXJrQXNUb3VjaGVkKClcbiAgICB9XG4gIH1cbn1cbiJdfQ==