@elderbyte/ngx-starter 14.3.1 → 14.4.0-beta.10

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 (290) hide show
  1. package/_index.scss +4 -0
  2. package/esm2020/lib/common/enums/elder-enum-translation.service.mjs +3 -3
  3. package/esm2020/lib/common/forms/elder-entity-value-accessor.mjs +22 -0
  4. package/esm2020/lib/common/forms/elder-form-field-control-base.directive.mjs +169 -0
  5. package/esm2020/lib/common/forms/elder-from-field-base.mjs +94 -0
  6. package/esm2020/lib/common/forms/elder-from-field-entity-base.mjs +39 -0
  7. package/esm2020/lib/common/forms/elder-from-field-multi-entity-base.mjs +39 -0
  8. package/esm2020/lib/common/forms/elder-multi-entity-value-accessor.mjs +22 -0
  9. package/esm2020/lib/common/forms/form-field-base.component.mjs +3 -3
  10. package/esm2020/lib/common/forms/multi-model-base.component.mjs +3 -3
  11. package/esm2020/lib/common/forms/public_api.mjs +7 -1
  12. package/esm2020/lib/common/forms/template-composite-control.mjs +3 -3
  13. package/esm2020/lib/common/forms/value-accessor-base.mjs +3 -3
  14. package/esm2020/lib/common/http/http-client-builder.service.mjs +3 -3
  15. package/esm2020/lib/common/http/http-client-pristine.mjs +3 -3
  16. package/esm2020/lib/common/http/transfer/data-transfer-factory.mjs +3 -3
  17. package/esm2020/lib/common/url/elder-url-fragment-params.service.mjs +3 -3
  18. package/esm2020/lib/common/utils/sort-util.mjs +17 -1
  19. package/esm2020/lib/components/access-denied/elder-access-denied.component.mjs +3 -3
  20. package/esm2020/lib/components/access-denied/elder-access-denied.module.mjs +4 -4
  21. package/esm2020/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +3 -3
  22. package/esm2020/lib/components/auditing/elder-audit.module.mjs +4 -4
  23. package/esm2020/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +3 -3
  24. package/esm2020/lib/components/button-group/elder-button-group.module.mjs +4 -4
  25. package/esm2020/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +3 -3
  26. package/esm2020/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +3 -3
  27. package/esm2020/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +4 -4
  28. package/esm2020/lib/components/card-organizer/elder-card-organizer.module.mjs +4 -4
  29. package/esm2020/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +3 -3
  30. package/esm2020/lib/components/cards/elder-card/elder-card.component.mjs +18 -18
  31. package/esm2020/lib/components/cards/elder-card/elder-card.module.mjs +4 -4
  32. package/esm2020/lib/components/connectivity/elder-connectivity.module.mjs +4 -4
  33. package/esm2020/lib/components/connectivity/elder-connectivity.service.mjs +3 -3
  34. package/esm2020/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +3 -3
  35. package/esm2020/lib/components/containers/elder-containers.module.mjs +4 -4
  36. package/esm2020/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +3 -3
  37. package/esm2020/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +3 -3
  38. package/esm2020/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +3 -3
  39. package/esm2020/lib/components/csv/elder-csv.module.mjs +4 -4
  40. package/esm2020/lib/components/currency/elder-currency.module.mjs +4 -4
  41. package/esm2020/lib/components/currency/elder-currency.pipe.mjs +3 -3
  42. package/esm2020/lib/components/data-transfer/elder-data-transfer.module.mjs +4 -4
  43. package/esm2020/lib/components/data-transfer/elder-data-transfer.service.mjs +3 -3
  44. package/esm2020/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +3 -3
  45. package/esm2020/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +3 -3
  46. package/esm2020/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +3 -3
  47. package/esm2020/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +3 -3
  48. package/esm2020/lib/components/data-view/base/elder-data-view-base.mjs +3 -3
  49. package/esm2020/lib/components/data-view/base/elder-data-view-base.module.mjs +4 -4
  50. package/esm2020/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +3 -3
  51. package/esm2020/lib/components/data-view/common/elder-data-common.module.mjs +4 -4
  52. package/esm2020/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +6 -6
  53. package/esm2020/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +3 -3
  54. package/esm2020/lib/components/data-view/common/selection/data-context-selection.directive.mjs +3 -3
  55. package/esm2020/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +3 -3
  56. package/esm2020/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +9 -9
  57. package/esm2020/lib/components/data-view/grid/elder-grid.module.mjs +4 -4
  58. package/esm2020/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +3 -3
  59. package/esm2020/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +4 -4
  60. package/esm2020/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +3 -3
  61. package/esm2020/lib/components/data-view/table/elder-number-cell.directive.mjs +3 -3
  62. package/esm2020/lib/components/data-view/table/elder-paginator-intl.mjs +3 -3
  63. package/esm2020/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +3 -3
  64. package/esm2020/lib/components/data-view/table/elder-table/elder-table.component.mjs +5 -5
  65. package/esm2020/lib/components/data-view/table/elder-table-column.directive.mjs +3 -3
  66. package/esm2020/lib/components/data-view/table/elder-table-extension.directive.mjs +3 -3
  67. package/esm2020/lib/components/data-view/table/elder-table-root.directive.mjs +3 -3
  68. package/esm2020/lib/components/data-view/table/elder-table-row.directive.mjs +3 -3
  69. package/esm2020/lib/components/data-view/table/elder-table-sort.directive.mjs +3 -3
  70. package/esm2020/lib/components/data-view/table/elder-table.module.mjs +4 -4
  71. package/esm2020/lib/components/data-view/table/model/elder-table-model.mjs +3 -3
  72. package/esm2020/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +3 -3
  73. package/esm2020/lib/components/dialogs/elder-dialog.module.mjs +7 -7
  74. package/esm2020/lib/components/dialogs/elder-dialog.service.mjs +3 -3
  75. package/esm2020/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +3 -3
  76. package/esm2020/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +3 -3
  77. package/esm2020/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +3 -3
  78. package/esm2020/lib/components/errors/elder-error.module.mjs +4 -4
  79. package/esm2020/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +3 -3
  80. package/esm2020/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +3 -3
  81. package/esm2020/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +4 -4
  82. package/esm2020/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +3 -3
  83. package/esm2020/lib/components/files/elder-file-drop-zone.directive.mjs +3 -3
  84. package/esm2020/lib/components/files/elder-file-select.directive.mjs +3 -3
  85. package/esm2020/lib/components/files/elder-file.module.mjs +4 -4
  86. package/esm2020/lib/components/files/file-select/file-select.component.mjs +3 -3
  87. package/esm2020/lib/components/files/file-upload/file-upload.component.mjs +3 -3
  88. package/esm2020/lib/components/forms/clipboard/elder-clipboard.service.mjs +3 -3
  89. package/esm2020/lib/components/forms/directives/base/elder-class-hostbinding-base.mjs +3 -3
  90. package/esm2020/lib/components/forms/directives/elder-clipboard-put.directive.mjs +3 -3
  91. package/esm2020/lib/components/forms/directives/elder-delayed-focus.directive.mjs +3 -3
  92. package/esm2020/lib/components/forms/directives/elder-form-field-dense.directive.mjs +3 -3
  93. package/esm2020/lib/components/forms/directives/elder-form-field-label.directive.mjs +3 -3
  94. package/esm2020/lib/components/forms/directives/elder-form-field-no-hint.directive.mjs +3 -3
  95. package/esm2020/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +3 -3
  96. package/esm2020/lib/components/forms/directives/elder-forms-directives.module.mjs +20 -14
  97. package/esm2020/lib/components/forms/directives/elder-input-pattern.directive.mjs +3 -3
  98. package/esm2020/lib/components/forms/directives/elder-key-event.directive.mjs +3 -3
  99. package/esm2020/lib/components/forms/directives/elder-max.directive.mjs +3 -3
  100. package/esm2020/lib/components/forms/directives/elder-min.directive.mjs +3 -3
  101. package/esm2020/lib/components/forms/directives/elder-next-focusable.directive.mjs +3 -3
  102. package/esm2020/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +3 -3
  103. package/esm2020/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +3 -3
  104. package/esm2020/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +3 -3
  105. package/esm2020/lib/components/forms/directives/elder-touched.directive.mjs +3 -3
  106. package/esm2020/lib/components/forms/directives/elder-triple-state-checkbox.directive.mjs +3 -3
  107. package/esm2020/lib/components/forms/directives/validation/elder-multiple-of.validator.mjs +3 -3
  108. package/esm2020/lib/components/forms/directives/validation/elder-required-ignore-zero.validator.mjs +3 -3
  109. package/esm2020/lib/components/forms/elder-forms.module.mjs +4 -4
  110. package/esm2020/lib/components/forms/search/elder-search-context.directive.mjs +3 -3
  111. package/esm2020/lib/components/forms/search/elder-search-input.directive.mjs +3 -3
  112. package/esm2020/lib/components/forms/search/elder-search.module.mjs +4 -4
  113. package/esm2020/lib/components/forms/search/search-box/elder-search-box.component.mjs +3 -3
  114. package/esm2020/lib/components/forms/search/search-box/elder-search-panel.component.mjs +3 -3
  115. package/esm2020/lib/components/global-search/elder-global-search.component.mjs +3 -3
  116. package/esm2020/lib/components/global-search/elder-global-search.module.mjs +4 -4
  117. package/esm2020/lib/components/global-search/elder-global-search.service.mjs +3 -3
  118. package/esm2020/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +3 -3
  119. package/esm2020/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +4 -4
  120. package/esm2020/lib/components/headers/elder-header/elder-header.component.mjs +3 -3
  121. package/esm2020/lib/components/headers/elder-header.module.mjs +4 -4
  122. package/esm2020/lib/components/http-support/elder-http-client.service.mjs +3 -3
  123. package/esm2020/lib/components/i18n/entities/elder-i18n-entities.module.mjs +4 -4
  124. package/esm2020/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +3 -3
  125. package/esm2020/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +3 -3
  126. package/esm2020/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +3 -3
  127. package/esm2020/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +3 -3
  128. package/esm2020/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +3 -3
  129. package/esm2020/lib/components/i18n/entities/elder-localized-texts.directive.mjs +3 -3
  130. package/esm2020/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +3 -3
  131. package/esm2020/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +3 -3
  132. package/esm2020/lib/components/i18n/entities/picker/localisation-picker.service.mjs +3 -3
  133. package/esm2020/lib/components/i18n/language/elder-language-interceptor.mjs +3 -3
  134. package/esm2020/lib/components/i18n/language/elder-language.module.mjs +4 -4
  135. package/esm2020/lib/components/i18n/language/elder-language.service.mjs +3 -3
  136. package/esm2020/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +3 -3
  137. package/esm2020/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +4 -4
  138. package/esm2020/lib/components/iframes/elder-iframe.module.mjs +4 -4
  139. package/esm2020/lib/components/iframes/iframe-close.directive.mjs +3 -3
  140. package/esm2020/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +3 -3
  141. package/esm2020/lib/components/iframes/iframe-host/iframe-host.component.mjs +3 -3
  142. package/esm2020/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +3 -3
  143. package/esm2020/lib/components/iframes/iframe.service.mjs +3 -3
  144. package/esm2020/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +3 -3
  145. package/esm2020/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +3 -3
  146. package/esm2020/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +7 -7
  147. package/esm2020/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.mjs +3 -3
  148. package/esm2020/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +6 -6
  149. package/esm2020/lib/components/input/autocomplete/elder-autocomplete.module.mjs +4 -4
  150. package/esm2020/lib/components/labels/elder-labels.module.mjs +4 -4
  151. package/esm2020/lib/components/labels/labels-input/labels-input.component.mjs +3 -3
  152. package/esm2020/lib/components/measures/dimensions-input/elder-dimensions-input.component.mjs +3 -3
  153. package/esm2020/lib/components/measures/directives/elder-unit-select.directive.mjs +5 -5
  154. package/esm2020/lib/components/measures/elder-measures.module.mjs +8 -8
  155. package/esm2020/lib/components/measures/elder-quantity-transform.pipe.mjs +3 -3
  156. package/esm2020/lib/components/measures/elder-quantity.pipe.mjs +3 -3
  157. package/esm2020/lib/components/measures/elder-unit.service.mjs +3 -3
  158. package/esm2020/lib/components/measures/quantity-input/elder-quantity-input.component.mjs +3 -3
  159. package/esm2020/lib/components/measures/util/elder-quantity.service.mjs +3 -3
  160. package/esm2020/lib/components/multi-autocomplete/elder-multi-auto-complete.module.mjs +4 -4
  161. package/esm2020/lib/components/multi-autocomplete/elder-multi-autocomplete.component.mjs +3 -3
  162. package/esm2020/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +3 -3
  163. package/esm2020/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +4 -4
  164. package/esm2020/lib/components/navigation/nav/elder-nav.module.mjs +4 -4
  165. package/esm2020/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +3 -3
  166. package/esm2020/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +3 -3
  167. package/esm2020/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +3 -3
  168. package/esm2020/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +3 -3
  169. package/esm2020/lib/components/navigation/toolbar/elder-toolbar.module.mjs +4 -4
  170. package/esm2020/lib/components/navigation/toolbar/elder-toolbar.service.mjs +3 -3
  171. package/esm2020/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +3 -3
  172. package/esm2020/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +3 -3
  173. package/esm2020/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +3 -3
  174. package/esm2020/lib/components/overlays/elder-overlay-origin.directive.mjs +3 -3
  175. package/esm2020/lib/components/overlays/elder-overlay-trigger.directive.mjs +3 -3
  176. package/esm2020/lib/components/overlays/elder-overlay.component.mjs +3 -3
  177. package/esm2020/lib/components/overlays/elder-overlay.module.mjs +4 -4
  178. package/esm2020/lib/components/panels/card-panel/elder-card-panel.component.mjs +3 -3
  179. package/esm2020/lib/components/panels/elder-panel.module.mjs +4 -4
  180. package/esm2020/lib/components/panels/flat/elder-panel.component.mjs +3 -3
  181. package/esm2020/lib/components/select/auto/elder-auto-select-first.directive.mjs +5 -5
  182. package/esm2020/lib/components/select/auto/elder-select-first-util.mjs +3 -3
  183. package/esm2020/lib/components/select/elder-select-base.mjs +39 -28
  184. package/esm2020/lib/components/select/elder-select-chip.directive.mjs +23 -9
  185. package/esm2020/lib/components/select/elder-select-on-tab.directive.mjs +5 -5
  186. package/esm2020/lib/components/select/elder-select-value.directive.mjs +3 -3
  187. package/esm2020/lib/components/select/elder-select.module.mjs +28 -16
  188. package/esm2020/lib/components/select/multi/elder-multi-select-base.mjs +168 -64
  189. package/esm2020/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +124 -81
  190. package/esm2020/lib/components/select/multi/elder-multi-select-form-field.mjs +67 -0
  191. package/esm2020/lib/components/select/popup/selection-model-popup.directive.mjs +11 -6
  192. package/esm2020/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +7 -6
  193. package/esm2020/lib/components/select/public_api.mjs +4 -1
  194. package/esm2020/lib/components/select/single/elder-clear-select.directive.mjs +57 -0
  195. package/esm2020/lib/components/select/single/elder-select/elder-select.component.mjs +455 -0
  196. package/esm2020/lib/components/select/single/elder-select-form-field.mjs +45 -0
  197. package/esm2020/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +3 -3
  198. package/esm2020/lib/components/select-chip-list/elder-chip-list-select.module.mjs +4 -4
  199. package/esm2020/lib/components/select-list/elder-select-list.module.mjs +4 -4
  200. package/esm2020/lib/components/select-list/select-list/elder-select-list.component.mjs +3 -3
  201. package/esm2020/lib/components/select-list/select-list-item/elder-select-list-item.component.mjs +3 -3
  202. package/esm2020/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +3 -3
  203. package/esm2020/lib/components/shell/drawers/elder-router-outlet.service.mjs +3 -3
  204. package/esm2020/lib/components/shell/elder-shell-slot.directive.mjs +3 -3
  205. package/esm2020/lib/components/shell/elder-shell.module.mjs +4 -4
  206. package/esm2020/lib/components/shell/elder-shell.service.mjs +3 -3
  207. package/esm2020/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +3 -3
  208. package/esm2020/lib/components/shell/shell/elder-shell.component.mjs +12 -12
  209. package/esm2020/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +3 -3
  210. package/esm2020/lib/components/tabs/elder-tab/elder-tab.directive.mjs +3 -3
  211. package/esm2020/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +3 -3
  212. package/esm2020/lib/components/tabs/elder-tab.module.mjs +4 -4
  213. package/esm2020/lib/components/theme/elder-theme-applier.directive.mjs +3 -3
  214. package/esm2020/lib/components/theme/elder-theme-preference.service.mjs +3 -3
  215. package/esm2020/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +3 -3
  216. package/esm2020/lib/components/theme/elder-theme.directive.mjs +3 -3
  217. package/esm2020/lib/components/theme/elder-theme.module.mjs +4 -4
  218. package/esm2020/lib/components/theme/elder-theme.service.mjs +3 -3
  219. package/esm2020/lib/components/time/date-adapters/custom-date-adapter.mjs +3 -3
  220. package/esm2020/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +3 -3
  221. package/esm2020/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +3 -3
  222. package/esm2020/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +3 -3
  223. package/esm2020/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +3 -3
  224. package/esm2020/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +3 -3
  225. package/esm2020/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +3 -3
  226. package/esm2020/lib/components/time/elder-time.module.mjs +8 -8
  227. package/esm2020/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +3 -3
  228. package/esm2020/lib/components/toasts/elder-toast.module.mjs +4 -4
  229. package/esm2020/lib/components/toasts/elder-toast.service.mjs +9 -9
  230. package/esm2020/lib/components/toasts/standard-toast/standard-toast.component.mjs +3 -3
  231. package/esm2020/lib/components/url-fragment/elder-url-fragment.module.mjs +4 -4
  232. package/esm2020/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +3 -3
  233. package/esm2020/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +3 -3
  234. package/esm2020/lib/components/viewers/elder-viewers.module.mjs +4 -4
  235. package/esm2020/lib/features/event-source/elder-event-source.service.mjs +3 -3
  236. package/esm2020/lib/features/kafent/access-token-provider.mjs +3 -3
  237. package/esm2020/lib/features/kafent/kafent-config.mjs +3 -3
  238. package/esm2020/lib/features/kafent/kafent-event-stream.mjs +3 -3
  239. package/esm2020/lib/features/kafent/kafent-event.service.mjs +3 -3
  240. package/esm2020/lib/features/kafent/kafent.module.mjs +4 -4
  241. package/esm2020/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +3 -3
  242. package/esm2020/lib/pipes/bytes.pipe.mjs +3 -3
  243. package/esm2020/lib/pipes/elder-pipes.module.mjs +10 -10
  244. package/esm2020/lib/pipes/elder-repeat.pipe.mjs +3 -3
  245. package/esm2020/lib/pipes/elder-round.pipe.mjs +3 -3
  246. package/esm2020/lib/pipes/elder-safe-url.pipe.mjs +3 -3
  247. package/esm2020/lib/pipes/elder-truncate.pipe.mjs +3 -3
  248. package/esm2020/lib/pipes/iso-duration.pipe.mjs +3 -3
  249. package/esm2020/lib/pipes/iso-interval-parse.pipe.mjs +3 -3
  250. package/esm2020/lib/pipes/iso-interval.pipe.mjs +3 -3
  251. package/esm2020/lib/pipes/time-ago.pipe.mjs +3 -3
  252. package/esm2020/lib/pipes/time-duration.pipe.mjs +3 -3
  253. package/esm2020/lib/pipes/weight.pipe.mjs +3 -3
  254. package/fesm2015/elderbyte-ngx-starter.mjs +1865 -1119
  255. package/fesm2015/elderbyte-ngx-starter.mjs.map +1 -1
  256. package/fesm2020/elderbyte-ngx-starter.mjs +1858 -1117
  257. package/fesm2020/elderbyte-ngx-starter.mjs.map +1 -1
  258. package/lib/{components/select → common/forms}/elder-entity-value-accessor.d.ts +10 -0
  259. package/lib/common/forms/elder-form-field-control-base.directive.d.ts +101 -0
  260. package/lib/common/forms/elder-from-field-base.d.ts +52 -0
  261. package/lib/common/forms/elder-from-field-entity-base.d.ts +31 -0
  262. package/lib/common/forms/elder-from-field-multi-entity-base.d.ts +31 -0
  263. package/lib/common/forms/elder-multi-entity-value-accessor.d.ts +42 -0
  264. package/lib/common/forms/public_api.d.ts +6 -0
  265. package/lib/common/utils/sort-util.d.ts +6 -0
  266. package/lib/components/input/autocomplete/elder-autocomplete.directive.d.ts +1 -1
  267. package/lib/components/measures/directives/elder-unit-select.directive.d.ts +1 -1
  268. package/lib/components/select/auto/elder-auto-select-first.directive.d.ts +1 -1
  269. package/lib/components/select/auto/elder-select-first-util.d.ts +1 -1
  270. package/lib/components/select/elder-select-base.d.ts +21 -15
  271. package/lib/components/select/elder-select-chip.directive.d.ts +9 -2
  272. package/lib/components/select/elder-select.module.d.ts +28 -24
  273. package/lib/components/select/multi/elder-multi-select-base.d.ts +41 -15
  274. package/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.d.ts +29 -12
  275. package/lib/components/select/multi/elder-multi-select-form-field.d.ts +34 -0
  276. package/lib/components/select/popup/selection-model-popup.directive.d.ts +3 -2
  277. package/lib/components/select/public_api.d.ts +3 -0
  278. package/lib/components/select/single/elder-clear-select.directive.d.ts +34 -0
  279. package/lib/components/select/{elder-select → single/elder-select}/elder-select.component.d.ts +24 -12
  280. package/lib/components/select/single/elder-select-form-field.d.ts +30 -0
  281. package/package.json +1 -1
  282. package/src/lib/components/cards/elder-card/elder-card.component.scss +1 -6
  283. package/src/lib/components/select/_elder-select-base.scss +131 -0
  284. package/src/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.scss +48 -21
  285. package/src/lib/components/select/single/elder-select/elder-select.component.scss +77 -0
  286. package/theming/_elder-common.scss +10 -0
  287. package/theming/_elder-typography-utils.scss +11 -0
  288. package/esm2020/lib/components/select/elder-entity-value-accessor.mjs +0 -13
  289. package/esm2020/lib/components/select/elder-select/elder-select.component.mjs +0 -411
  290. package/src/lib/components/select/elder-select/elder-select.component.scss +0 -61
@@ -1,7 +1,12 @@
1
- import { NgZone } from '@angular/core';
1
+ import { ElementRef, NgZone } from '@angular/core';
2
2
  import { ElderSelectBase } from '../elder-select-base';
3
3
  import { IDataContext } from '../../../common/data/data-context/data-context';
4
- import { BehaviorSubject, Observable } from 'rxjs';
4
+ import { Observable } from 'rxjs';
5
+ import { NgControl } from '@angular/forms';
6
+ import { FocusMonitor } from '@angular/cdk/a11y';
7
+ import { IElderMultiEntityValueAccessor } from '../../../common/forms/elder-multi-entity-value-accessor';
8
+ import { Sort } from '../../../common/data/sort';
9
+ import { ElderDialogService } from '../../dialogs/elder-dialog.service';
5
10
  import * as i0 from "@angular/core";
6
11
  /**
7
12
  * Base component implementation of elder-multi-select.
@@ -12,15 +17,29 @@ import * as i0 from "@angular/core";
12
17
  * - The backing Value is a list of the current selected entities. T[]
13
18
  *
14
19
  */
15
- export declare abstract class ElderMultiSelectBase<TId, TEntity, TValue> extends ElderSelectBase<TId, TEntity, TValue[]> {
20
+ export declare abstract class ElderMultiSelectBase<TId, TEntity, TValue> extends ElderSelectBase<TId, TEntity, TValue[]> implements IElderMultiEntityValueAccessor<TEntity, TId, TValue> {
21
+ private readonly dialogService;
16
22
  /***************************************************************************
17
23
  * *
18
24
  * Fields *
19
25
  * *
20
26
  **************************************************************************/
21
27
  private readonly logger;
22
- protected readonly entities$: BehaviorSubject<TEntity[]>;
28
+ private readonly _entityIds$;
29
+ private readonly _entities$;
30
+ /**
31
+ * Defines how the entities should be sorted locally.
32
+ * This affects how entities are displayed when more than
33
+ * one is selected, such as in a chip list.
34
+ */
35
+ entitiesSorts: Sort[];
36
+ /**
37
+ * If enabled, before removing selected entities
38
+ * the user will be prompted to confirm.
39
+ */
40
+ confirmRemoval: boolean;
23
41
  readonly entityIdsChange: Observable<TId[]>;
42
+ readonly entitiesChange: Observable<TEntity[]>;
24
43
  /**
25
44
  * Similar to entity-id change, but emits only when the user
26
45
  * has updated the value.
@@ -36,38 +55,42 @@ export declare abstract class ElderMultiSelectBase<TId, TEntity, TValue> extends
36
55
  * Constructor *
37
56
  * *
38
57
  **************************************************************************/
39
- protected constructor(zone: NgZone);
58
+ protected constructor(zone: NgZone, hostRef: ElementRef, controlType: string, focusMonitor: FocusMonitor, dialogService: ElderDialogService, ngControl?: NgControl);
40
59
  private awaitEntitiesWithId;
41
60
  /***************************************************************************
42
61
  * *
43
62
  * Properties *
44
63
  * *
45
64
  **************************************************************************/
46
- updateValueByEntities(entities: TEntity[]): void;
47
- /***************************************************************************
48
- * *
49
- * Properties *
50
- * *
51
- **************************************************************************/
65
+ get entities$(): Observable<TEntity[]>;
66
+ get entityIds$(): Observable<TId[]>;
52
67
  set entities(entities: TEntity[]);
53
68
  get entities(): TEntity[];
54
69
  set entityIds(ids: TId[]);
55
70
  get entityIds(): TId[];
71
+ get isOptionDisabledInternalFn(): (option: TEntity) => boolean;
72
+ get isOptionHiddenInternalFn(): (option: TEntity) => boolean;
56
73
  /***************************************************************************
57
74
  * *
58
75
  * Public API *
59
76
  * *
60
77
  **************************************************************************/
78
+ updateValueByEntities(entities: TEntity[]): void;
61
79
  appendEntities(newEntities: TEntity[]): void;
62
80
  appendEntity(newEntity: any): void;
81
+ requestRemoveEntity(toRemove: TEntity, skipConfirm?: boolean): void;
82
+ requestRemoveEntities(toRemove: TEntity[], skipConfirm?: boolean): void;
83
+ removeEntities(toRemove: TEntity[]): void;
63
84
  removeEntity(toRemove: TEntity): void;
64
85
  openSelectionPopup(event: Event): void;
86
+ entityToValue(entity: TEntity): TValue;
65
87
  /***************************************************************************
66
88
  * *
67
89
  * Internal Methods *
68
90
  * *
69
91
  **************************************************************************/
70
- protected onSuggestionsDcChanged(data: IDataContext<TEntity>): void;
92
+ protected valuesEquals(a: TValue[], b: TValue[]): boolean;
93
+ protected onDataContextChanged(data: IDataContext<TEntity>): void;
71
94
  /**
72
95
  * This method is invoked after a value has been written to this control.
73
96
  *
@@ -78,16 +101,19 @@ export declare abstract class ElderMultiSelectBase<TId, TEntity, TValue> extends
78
101
  * Private Methods *
79
102
  * *
80
103
  **************************************************************************/
104
+ private isAlreadyPresent;
81
105
  private entityIdsFromValues;
82
106
  private entityIdFromValue;
83
107
  private entitiesToValues;
84
- private entityToValue;
85
108
  private getEntityIds;
86
109
  private equalIds;
87
110
  private equalEntities;
88
111
  private selectEntitiesByIds;
89
- private loadEntityByIds;
112
+ private findOrLoadEntitiesByIds;
113
+ private loadEntitiesByIds;
90
114
  private findInDataContext;
115
+ private writeEntitiesSorted;
116
+ private sortEntities;
91
117
  static ɵfac: i0.ɵɵFactoryDeclaration<ElderMultiSelectBase<any, any, any>, never>;
92
- static ɵdir: i0.ɵɵDirectiveDeclaration<ElderMultiSelectBase<any, any, any>, never, never, { "entities": "entities"; "entityIds": "entityIds"; }, { "entityIdsChange": "entityIdsChange"; "entityIdsUpdated": "entityIdsUpdated"; "entitiesUpdated": "entitiesUpdated"; }, never, never, false>;
118
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ElderMultiSelectBase<any, any, any>, never, never, { "entitiesSorts": "entitiesSorts"; "confirmRemoval": "confirmRemoval"; "entities": "entities"; "entityIds": "entityIds"; }, { "entityIdsChange": "entityIdsChange"; "entitiesChange": "entitiesChange"; "entityIdsUpdated": "entityIdsUpdated"; "entitiesUpdated": "entitiesUpdated"; }, never, never, false>;
93
119
  }
@@ -1,7 +1,10 @@
1
- import { NgZone, TemplateRef } from '@angular/core';
1
+ import { NgZone, ElementRef, TemplateRef } from '@angular/core';
2
2
  import { ElderMultiSelectBase } from '../elder-multi-select-base';
3
3
  import { Observable } from 'rxjs';
4
4
  import { ThemePalette } from '@angular/material/core';
5
+ import { NgControl } from '@angular/forms';
6
+ import { FocusMonitor } from '@angular/cdk/a11y';
7
+ import { ElderDialogService } from '../../../dialogs/elder-dialog.service';
5
8
  import * as i0 from "@angular/core";
6
9
  declare class ChipModel<T> {
7
10
  readonly value: T;
@@ -21,18 +24,29 @@ export declare class ElderMultiSelectChipsComponent<TId = any, TEntity = any, TV
21
24
  private readonly chipColorResolver$;
22
25
  selectable: boolean;
23
26
  allowRemove: boolean;
24
- chipColorEnabled: boolean;
25
- private inputControl;
26
27
  chipTemplateQuery: TemplateRef<any>;
27
28
  private _chipTemplate;
28
29
  chipAvatarTemplateQuery: TemplateRef<any>;
29
30
  private _chipAvatarTemplate;
31
+ customInputTemplateQuery: TemplateRef<any>;
32
+ private _customInputTemplate;
33
+ private _chipColorEnabled;
30
34
  /***************************************************************************
31
35
  * *
32
36
  * Constructor *
33
37
  * *
34
38
  **************************************************************************/
35
- constructor(zone: NgZone);
39
+ constructor(hostRef: ElementRef, zone: NgZone, focusMonitor: FocusMonitor, dialogService: ElderDialogService, ngControl: NgControl);
40
+ /***************************************************************************
41
+ * *
42
+ * Host Bindings *
43
+ * *
44
+ **************************************************************************/
45
+ get hostClass(): string;
46
+ get disabledClass(): boolean;
47
+ get errorStateClass(): boolean;
48
+ get requiredClass(): boolean;
49
+ get emptyClass(): boolean;
36
50
  /***************************************************************************
37
51
  * *
38
52
  * Properties *
@@ -42,20 +56,22 @@ export declare class ElderMultiSelectChipsComponent<TId = any, TEntity = any, TV
42
56
  get chipTemplate(): TemplateRef<any>;
43
57
  set chipAvatarTemplate(template: TemplateRef<any>);
44
58
  get chipAvatarTemplate(): TemplateRef<any>;
59
+ set customInputTemplate(template: TemplateRef<any>);
60
+ get customInputTemplate(): TemplateRef<any>;
61
+ set chipColorEnabled(enabled: boolean);
62
+ get chipColorEnabled(): boolean;
45
63
  /**
46
64
  * A function which returns the color of a given label object.
47
65
  */
48
66
  set chipColorResolver(fn: (o1: any) => ThemePalette);
49
- get isOptionDisabledInternalFn(): (option: TEntity) => boolean;
50
- get isOptionHiddenInternalFn(): (option: TEntity) => boolean;
51
67
  /***************************************************************************
52
68
  * *
53
69
  * Public API *
54
70
  * *
55
71
  **************************************************************************/
56
- onOptionSelected(selectedValue: TEntity): void;
57
72
  resolveChipValue(e1: TEntity): any;
58
- get compareWithFn(): (e1: TEntity, e2: TEntity) => boolean;
73
+ onChipKeyDown(event: KeyboardEvent, toRemove: TEntity): void;
74
+ onClickRemoveChip(event: MouseEvent, toRemove: TEntity): void;
59
75
  focus(options?: FocusOptions): void;
60
76
  blur(): void;
61
77
  /***************************************************************************
@@ -63,9 +79,10 @@ export declare class ElderMultiSelectChipsComponent<TId = any, TEntity = any, TV
63
79
  * Private methods *
64
80
  * *
65
81
  **************************************************************************/
66
- private isAlreadyPresent;
67
- private resetInput;
68
- static ɵfac: i0.ɵɵFactoryDeclaration<ElderMultiSelectChipsComponent<any, any, any>, never>;
69
- static ɵcmp: i0.ɵɵComponentDeclaration<ElderMultiSelectChipsComponent<any, any, any>, "elder-multi-select-chips", never, { "allowRemove": "allowRemove"; "chipColorEnabled": "chipColorEnabled"; "chipTemplate": "chipTemplate"; "chipColorResolver": "chipColorResolver"; }, {}, ["chipTemplateQuery", "chipAvatarTemplateQuery"], never, false>;
82
+ private buildChipModelsOrFallback;
83
+ private buildChipFallbackModels;
84
+ private buildChipModels;
85
+ static ɵfac: i0.ɵɵFactoryDeclaration<ElderMultiSelectChipsComponent<any, any, any>, [null, null, null, null, { optional: true; self: true; }]>;
86
+ static ɵcmp: i0.ɵɵComponentDeclaration<ElderMultiSelectChipsComponent<any, any, any>, "elder-multi-select-chips", never, { "allowRemove": "allowRemove"; "chipTemplate": "chipTemplate"; "chipAvatarTemplate": "chipAvatarTemplate"; "customInputTemplate": "customInputTemplate"; "chipColorEnabled": "chipColorEnabled"; "chipColorResolver": "chipColorResolver"; }, {}, ["chipTemplateQuery", "chipAvatarTemplateQuery", "customInputTemplateQuery"], never, false>;
70
87
  }
71
88
  export {};
@@ -0,0 +1,34 @@
1
+ import { AfterViewInit } from '@angular/core';
2
+ import { ElderSelectValueDirective } from '../elder-select-value.directive';
3
+ import { ElderApplyControlFn } from '../../../common/forms/elder-from-field-base';
4
+ import { ElderMultiSelectBase } from './elder-multi-select-base';
5
+ import { ElderFromFieldMultiEntityBase } from '../../../common/forms/elder-from-field-multi-entity-base';
6
+ import { ElderSelectChipAvatarDirective, ElderSelectChipDirective, ElderSelectCustomInputDirective } from '../elder-select-chip.directive';
7
+ import { SelectionModelPopupDirective } from '../popup/selection-model-popup.directive';
8
+ import * as i0 from "@angular/core";
9
+ export declare abstract class ElderMultiSelectFormField<TEntity, TId, TValue = TEntity | TId> extends ElderFromFieldMultiEntityBase<TEntity, TId, TValue, ElderMultiSelectBase<TId, TEntity, TValue>> implements AfterViewInit {
10
+ /***************************************************************************
11
+ * *
12
+ * Fields *
13
+ * *
14
+ **************************************************************************/
15
+ selectValueTemplate: ElderSelectValueDirective;
16
+ selectionModelPopupDirective: SelectionModelPopupDirective;
17
+ selectChipDirective: ElderSelectChipDirective;
18
+ selectChipAvatarDirective: ElderSelectChipAvatarDirective;
19
+ selectCustomInputDirective: ElderSelectCustomInputDirective;
20
+ /***************************************************************************
21
+ * *
22
+ * Constructor *
23
+ * *
24
+ **************************************************************************/
25
+ protected constructor(initSelectFn: ElderApplyControlFn<ElderMultiSelectBase<TId, TEntity, TValue>>);
26
+ /***************************************************************************
27
+ * *
28
+ * Life Cycle *
29
+ * *
30
+ **************************************************************************/
31
+ ngAfterViewInit(): void;
32
+ static ɵfac: i0.ɵɵFactoryDeclaration<ElderMultiSelectFormField<any, any, any>, never>;
33
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ElderMultiSelectFormField<any, any, any>, never, never, {}, {}, never, never, false>;
34
+ }
@@ -1,4 +1,4 @@
1
- import { OnDestroy, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';
1
+ import { ChangeDetectorRef, OnDestroy, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';
2
2
  import { MatDialog } from '@angular/material/dialog';
3
3
  import { Observable } from 'rxjs';
4
4
  import { KeyGetterFn, SelectionModel } from '../../../common/selection/selection-model';
@@ -22,6 +22,7 @@ export declare class SelectionModelPopupDirective implements OnInit, OnDestroy {
22
22
  private readonly dialog;
23
23
  private readonly dataViewSelectionMode;
24
24
  private readonly selectionModel;
25
+ private readonly changeDetectorRef;
25
26
  /***************************************************************************
26
27
  * *
27
28
  * Fields *
@@ -35,7 +36,7 @@ export declare class SelectionModelPopupDirective implements OnInit, OnDestroy {
35
36
  * Constructor *
36
37
  * *
37
38
  **************************************************************************/
38
- constructor(templateRef: TemplateRef<any>, viewContainer: ViewContainerRef, dialog: MatDialog, dataViewSelectionMode: ElderDataViewSelectionMode, selectionModel: SelectionModel<any>);
39
+ constructor(templateRef: TemplateRef<any>, viewContainer: ViewContainerRef, dialog: MatDialog, dataViewSelectionMode: ElderDataViewSelectionMode, selectionModel: SelectionModel<any>, changeDetectorRef: ChangeDetectorRef);
39
40
  /***************************************************************************
40
41
  * *
41
42
  * Host Listeners *
@@ -1 +1,4 @@
1
1
  export * from './elder-select.module';
2
+ export * from './single/elder-select-form-field';
3
+ export * from './multi/elder-multi-select-base';
4
+ export * from './multi/elder-multi-select-form-field';
@@ -0,0 +1,34 @@
1
+ import { OnDestroy, OnInit } from '@angular/core';
2
+ import { ElderSelectComponent } from './elder-select/elder-select.component';
3
+ import * as i0 from "@angular/core";
4
+ export declare class ElderClearSelectDirective implements OnInit, OnDestroy {
5
+ private readonly select;
6
+ /***************************************************************************
7
+ * *
8
+ * Fields *
9
+ * *
10
+ **************************************************************************/
11
+ private readonly log;
12
+ private readonly destroy$;
13
+ /***************************************************************************
14
+ * *
15
+ * Constructor *
16
+ * *
17
+ **************************************************************************/
18
+ constructor(select: ElderSelectComponent);
19
+ /***************************************************************************
20
+ * *
21
+ * Life Cycle *
22
+ * *
23
+ **************************************************************************/
24
+ ngOnInit(): void;
25
+ ngOnDestroy(): void;
26
+ /***************************************************************************
27
+ * *
28
+ * Private methods *
29
+ * *
30
+ **************************************************************************/
31
+ private clearSelect;
32
+ static ɵfac: i0.ɵɵFactoryDeclaration<ElderClearSelectDirective, [{ host: true; }]>;
33
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ElderClearSelectDirective, "[elderClearSelect]", never, {}, {}, never, never, false>;
34
+ }
@@ -1,9 +1,12 @@
1
- import { ElementRef, NgZone, OnDestroy, OnInit } from '@angular/core';
2
- import { IDataContext } from '../../../common/data/data-context/data-context';
1
+ import { ElementRef, NgZone } from '@angular/core';
2
+ import { IDataContext } from '../../../../common/data/data-context/data-context';
3
3
  import { Observable } from 'rxjs';
4
+ import { BooleanInput } from '@angular/cdk/coercion';
4
5
  import { MatAutocompleteTrigger } from '@angular/material/autocomplete';
5
- import { ElderSelectBase, TextResolverFn } from '../elder-select-base';
6
- import { IElderEntityValueAccessor } from '../elder-entity-value-accessor';
6
+ import { ElderSelectBase, TextResolverFn } from '../../elder-select-base';
7
+ import { IElderEntityValueAccessor } from '../../../../common/forms/elder-entity-value-accessor';
8
+ import { NgControl } from '@angular/forms';
9
+ import { FocusMonitor } from '@angular/cdk/a11y';
7
10
  import * as i0 from "@angular/core";
8
11
  declare class EntityContext<T> {
9
12
  readonly value: T;
@@ -21,7 +24,8 @@ declare class EntityContext<T> {
21
24
  * - Support entity id handling, input / output is the entity id vs full value.
22
25
  *
23
26
  */
24
- export declare class ElderSelectComponent<TEntity = any, TId = any, TValue = TEntity | TId> extends ElderSelectBase<TId, TEntity, TValue> implements IElderEntityValueAccessor<TEntity, TId, TValue>, OnInit, OnDestroy {
27
+ export declare class ElderSelectComponent<TEntity = any, TId = any, TValue = TEntity | TId> extends ElderSelectBase<TId, TEntity, TValue> implements IElderEntityValueAccessor<TEntity, TId, TValue> {
28
+ ngControl: NgControl;
25
29
  /***************************************************************************
26
30
  * *
27
31
  * Fields *
@@ -50,7 +54,6 @@ export declare class ElderSelectComponent<TEntity = any, TId = any, TValue = TEn
50
54
  private readonly _entity$;
51
55
  private _autocomplete;
52
56
  readonly entityWrapped$: Observable<EntityContext<TEntity>>;
53
- private readonly unsubscribe$;
54
57
  readonly inputText$: Observable<string>;
55
58
  private entityContext;
56
59
  /***************************************************************************
@@ -58,25 +61,34 @@ export declare class ElderSelectComponent<TEntity = any, TId = any, TValue = TEn
58
61
  * Constructor *
59
62
  * *
60
63
  **************************************************************************/
61
- constructor(zone: NgZone);
64
+ constructor(hostRef: ElementRef, zone: NgZone, focusMonitor: FocusMonitor, ngControl: NgControl);
62
65
  /***************************************************************************
63
66
  * *
64
67
  * Life Cycle *
65
68
  * *
66
69
  **************************************************************************/
67
- ngOnInit(): void;
68
70
  ngOnDestroy(): void;
71
+ /***************************************************************************
72
+ * *
73
+ * Host Bindings *
74
+ * *
75
+ **************************************************************************/
76
+ get hostClass(): string;
77
+ get disabledClass(): boolean;
78
+ get errorStateClass(): boolean;
79
+ get requiredClass(): boolean;
80
+ get emptyClass(): boolean;
69
81
  /***************************************************************************
70
82
  * *
71
83
  * Behaviour Properties *
72
84
  * *
73
85
  **************************************************************************/
74
- set autocomplete(value: boolean);
86
+ set autocomplete(value: BooleanInput);
75
87
  get autocomplete(): boolean;
76
88
  /**
77
89
  * Allows the user to select 'nothing' / null.
78
90
  */
79
- set allowNull(val: boolean);
91
+ set allowNull(val: BooleanInput);
80
92
  get allowNull(): boolean;
81
93
  /***************************************************************************
82
94
  * *
@@ -120,7 +132,7 @@ export declare class ElderSelectComponent<TEntity = any, TId = any, TValue = TEn
120
132
  /**
121
133
  * Occurs when the suggestions data-context has changed
122
134
  */
123
- protected onSuggestionsDcChanged(data: IDataContext<TEntity>): void;
135
+ protected onDataContextChanged(data: IDataContext<TEntity>): void;
124
136
  /***************************************************************************
125
137
  * *
126
138
  * Private Methods *
@@ -139,7 +151,7 @@ export declare class ElderSelectComponent<TEntity = any, TId = any, TValue = TEn
139
151
  *
140
152
  */
141
153
  protected writeToControl(value: TValue): void;
142
- static ɵfac: i0.ɵɵFactoryDeclaration<ElderSelectComponent<any, any, any>, never>;
154
+ static ɵfac: i0.ɵɵFactoryDeclaration<ElderSelectComponent<any, any, any>, [null, null, null, { optional: true; self: true; }]>;
143
155
  static ɵcmp: i0.ɵɵComponentDeclaration<ElderSelectComponent<any, any, any>, "elder-select", never, { "nullDisplay": "nullDisplay"; "autocomplete": "autocomplete"; "allowNull": "allowNull"; "entity": "entity"; "entityId": "entityId"; "hintProperty": "hintProperty"; "hintPropertyResolver": "hintPropertyResolver"; }, { "entityIdChange": "entityIdChange"; "entityIdUpdated": "entityIdUpdated"; "entityChange": "entityChange"; "entityUpdated": "entityUpdated"; }, never, never, false>;
144
156
  }
145
157
  export {};
@@ -0,0 +1,30 @@
1
+ import { ElderFromFieldEntityBase } from '../../../common/forms/elder-from-field-entity-base';
2
+ import { AfterViewInit } from '@angular/core';
3
+ import { ElderSelectComponent } from './elder-select/elder-select.component';
4
+ import { ElderSelectValueDirective } from '../elder-select-value.directive';
5
+ import { ElderApplyControlFn } from '../../../common/forms/elder-from-field-base';
6
+ import { SelectionModelPopupDirective } from '../popup/selection-model-popup.directive';
7
+ import * as i0 from "@angular/core";
8
+ export declare abstract class ElderSelectFormField<TEntity, TId> extends ElderFromFieldEntityBase<TEntity, TId, ElderSelectComponent<TEntity, TId>> implements AfterViewInit {
9
+ /***************************************************************************
10
+ * *
11
+ * Fields *
12
+ * *
13
+ **************************************************************************/
14
+ selectValueTemplate: ElderSelectValueDirective;
15
+ selectionModelPopupDirective: SelectionModelPopupDirective;
16
+ /***************************************************************************
17
+ * *
18
+ * Constructor *
19
+ * *
20
+ **************************************************************************/
21
+ protected constructor(initSelectFn: ElderApplyControlFn<ElderSelectComponent<TEntity, TId>>);
22
+ /***************************************************************************
23
+ * *
24
+ * Life Cycle *
25
+ * *
26
+ **************************************************************************/
27
+ ngAfterViewInit(): void;
28
+ static ɵfac: i0.ɵɵFactoryDeclaration<ElderSelectFormField<any, any>, never>;
29
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ElderSelectFormField<any, any>, never, never, {}, {}, never, never, false>;
30
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elderbyte/ngx-starter",
3
- "version": "14.3.1",
3
+ "version": "14.4.0-beta.10",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^14.0.1",
6
6
  "@angular/core": "^14.0.1",
@@ -9,15 +9,11 @@
9
9
  $foreground: map-get($theme, foreground);
10
10
 
11
11
  .elder-card-title {
12
-
13
12
  color: mat.get-color-from-palette($accent, default, 1);
14
-
15
13
  }
16
14
 
17
15
  .elder-card-subtitle {
18
-
19
16
  color: mat.get-color-from-palette($primary, default, 1);
20
-
21
17
  }
22
18
 
23
19
  .elder-card {
@@ -26,9 +22,8 @@
26
22
  }
27
23
 
28
24
  .elder-card-flat {
29
- border: 1px solid #e7e7e7;
25
+ border: 1px solid mat.get-color-from-palette($foreground, divider);
30
26
  }
31
-
32
27
  }
33
28
 
34
29
 
@@ -0,0 +1,131 @@
1
+ @use 'sass:map';
2
+ @use '@angular/material' as mat;
3
+ @use '../../../../theming/elder-typography-utils' as elder-typography;
4
+
5
+ @mixin typography($typography-config) {
6
+ $config: mat.private-typography-to-2014-config($typography-config);
7
+ // The unit-less line-height from the font config.
8
+ $line-height: mat.line-height($config, input);
9
+ $font-size: mat.font-size($config, input);
10
+ $line-height-em: elder-typography.coerce-unitless-to-em($line-height);
11
+
12
+ .elder-icon-button-small {
13
+ width: $line-height-em !important;
14
+ height: $line-height-em !important;
15
+ line-height: $line-height-em !important;
16
+
17
+ .mat-icon {
18
+ width: $line-height-em !important;
19
+ height: $line-height-em !important;
20
+ line-height: $line-height-em !important;
21
+ }
22
+ .material-icons {
23
+ font-size: $line-height-em !important;
24
+ }
25
+ }
26
+
27
+ .elder-input-prefix-icon-container {
28
+ height: $line-height-em !important;
29
+ min-width: $line-height-em !important;
30
+ }
31
+
32
+ .elder-icon-small {
33
+ width: $line-height-em !important;
34
+ height: $line-height-em !important;
35
+ line-height: $line-height-em !important;
36
+ font-size: $font-size !important;
37
+ }
38
+ }
39
+
40
+
41
+ @mixin _palette-styles($palette) {
42
+ background: mat.get-color-from-palette($palette);
43
+ color: mat.get-color-from-palette($palette, default-contrast);
44
+ }
45
+
46
+ @mixin _form-field-overrides {
47
+ .mat-form-field-underline,
48
+ .mat-form-field-ripple,
49
+ .mat-focused .mat-form-field-ripple {
50
+ background-color: currentColor;
51
+ }
52
+
53
+ .mat-form-field-label,
54
+ .mat-focused .mat-form-field-label,
55
+ .elder-select-value,
56
+ .elder-select-icon,
57
+ .mat-form-field.mat-focused .elder-select-icon {
58
+ color: inherit!important;
59
+ }
60
+
61
+ .mat-input-element {
62
+ caret-color: currentColor;
63
+ }
64
+ }
65
+
66
+ @mixin color($color-config) {
67
+ $foreground: map.get($color-config, foreground);
68
+ $background: map.get($color-config, background);
69
+ $primary: map.get($color-config, primary);
70
+ $accent: map.get($color-config, accent);
71
+ $warn: map.get($color-config, warn);
72
+
73
+ .elder-select-value {
74
+ color: mat.get-color-from-palette($foreground, text);
75
+ }
76
+
77
+ .elder-select-disabled .elder-select-value {
78
+ color: mat.get-color-from-palette($foreground, disabled-text);
79
+ }
80
+
81
+ .elder-select-icon {
82
+ color: mat.get-color-from-palette($foreground, secondary-text);
83
+ }
84
+
85
+ .mat-toolbar {
86
+ background: mat.get-color-from-palette($background, app-bar);
87
+ color: mat.get-color-from-palette($foreground, text);
88
+
89
+ &.mat-primary {
90
+ @include _palette-styles($primary);
91
+ }
92
+
93
+ &.mat-accent {
94
+ @include _palette-styles($accent);
95
+ }
96
+
97
+ &.mat-warn {
98
+ @include _palette-styles($warn);
99
+ }
100
+
101
+ @include _form-field-overrides;
102
+ }
103
+
104
+ .mat-form-field {
105
+ &.mat-focused {
106
+ &.mat-primary .elder-select-icon {
107
+ color: mat.get-color-from-palette($primary, text);
108
+ }
109
+
110
+ &.mat-accent .elder-select-icon {
111
+ color: mat.get-color-from-palette($accent, text);
112
+ }
113
+
114
+ &.mat-warn .elder-select-icon {
115
+ color: mat.get-color-from-palette($warn, text);
116
+ }
117
+ }
118
+
119
+ &.mat-form-field-invalid .elder-select-base {
120
+ .elder-select-icon {
121
+ color: mat.get-color-from-palette($warn, text);
122
+ }
123
+ }
124
+
125
+ &.mat-form-field-disabled .elder-select-base {
126
+ .elder-select-icon {
127
+ color: mat.get-color-from-palette($foreground, disabled-text);
128
+ }
129
+ }
130
+ }
131
+ }