@vendure/admin-ui 2.2.0-next.0 → 2.2.0-next.2

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 (233) hide show
  1. package/catalog/catalog.module.d.ts +4 -3
  2. package/catalog/components/create-facet-value-dialog/create-facet-value-dialog.component.d.ts +19 -0
  3. package/catalog/components/facet-detail/facet-detail.component.d.ts +9 -12
  4. package/catalog/components/product-list/product-list.component.d.ts +1 -1
  5. package/catalog/components/product-variant-list/product-variant-list.component.d.ts +3 -3
  6. package/catalog/public_api.d.ts +1 -0
  7. package/core/common/base-list.component.d.ts +1 -1
  8. package/core/common/component-registry-types.d.ts +1 -1
  9. package/core/common/generated-types.d.ts +276 -4860
  10. package/core/common/utilities/custom-field-default-value.d.ts +1 -1
  11. package/core/common/utilities/interpolate-description.d.ts +1 -1
  12. package/core/common/version.d.ts +1 -1
  13. package/core/components/app-shell/app-shell.component.d.ts +1 -0
  14. package/core/data/server-config.d.ts +4 -3
  15. package/core/data/utils/add-custom-fields.d.ts +2 -2
  16. package/core/extension/register-route-component.d.ts +1 -1
  17. package/core/providers/currency/currency.service.d.ts +10 -0
  18. package/core/public_api.d.ts +1 -0
  19. package/core/shared/components/chart/chart.component.d.ts +3 -0
  20. package/core/shared/components/chart/tooltip-plugin.d.ts +16 -1
  21. package/core/shared/components/configurable-input/configurable-input.component.d.ts +3 -0
  22. package/core/shared/components/currency-input/currency-input.component.d.ts +6 -3
  23. package/core/shared/components/custom-field-control/custom-field-control.component.d.ts +0 -2
  24. package/core/shared/components/form-field/form-field-control.directive.d.ts +1 -1
  25. package/core/shared/components/form-field/form-field.component.d.ts +3 -2
  26. package/core/shared/components/order-state-label/order-state-label.component.d.ts +1 -1
  27. package/core/shared/components/page-title/page-title.component.d.ts +2 -3
  28. package/core/shared/dynamic-form-inputs/default-form-inputs.d.ts +1 -1
  29. package/core/shared/pipes/locale-currency.pipe.d.ts +5 -2
  30. package/esm2022/catalog/catalog.module.mjs +17 -3
  31. package/esm2022/catalog/components/assign-products-to-channel-dialog/assign-products-to-channel-dialog.component.mjs +1 -1
  32. package/esm2022/catalog/components/collection-data-table/collection-data-table.component.mjs +1 -1
  33. package/esm2022/catalog/components/collection-detail/collection-detail.component.mjs +2 -2
  34. package/esm2022/catalog/components/collection-list/collection-list.component.mjs +3 -3
  35. package/esm2022/catalog/components/collection-tree/collection-tree-node.component.mjs +2 -2
  36. package/esm2022/catalog/components/create-facet-value-dialog/create-facet-value-dialog.component.mjs +44 -0
  37. package/esm2022/catalog/components/create-product-option-group-dialog/create-product-option-group-dialog.component.mjs +1 -1
  38. package/esm2022/catalog/components/create-product-variant-dialog/create-product-variant-dialog.component.mjs +1 -1
  39. package/esm2022/catalog/components/facet-detail/facet-detail.component.mjs +85 -120
  40. package/esm2022/catalog/components/facet-list/facet-list.component.mjs +5 -2
  41. package/esm2022/catalog/components/generate-product-variants/generate-product-variants.component.mjs +1 -1
  42. package/esm2022/catalog/components/option-value-input/option-value-input.component.mjs +1 -1
  43. package/esm2022/catalog/components/product-detail/product-detail.component.mjs +3 -3
  44. package/esm2022/catalog/components/product-list/product-list.component.mjs +26 -14
  45. package/esm2022/catalog/components/product-options-editor/product-options-editor.component.mjs +1 -1
  46. package/esm2022/catalog/components/product-variant-detail/product-variant-detail.component.mjs +1 -1
  47. package/esm2022/catalog/components/product-variant-list/product-variant-list.component.mjs +36 -15
  48. package/esm2022/catalog/components/product-variants-editor/product-variants-editor.component.mjs +1 -1
  49. package/esm2022/catalog/components/product-variants-table/product-variants-table.component.mjs +1 -1
  50. package/esm2022/catalog/components/update-product-option-dialog/update-product-option-dialog.component.mjs +1 -1
  51. package/esm2022/catalog/components/variant-price-detail/variant-price-detail.component.mjs +1 -1
  52. package/esm2022/catalog/public_api.mjs +2 -1
  53. package/esm2022/core/common/base-list.component.mjs +1 -1
  54. package/esm2022/core/common/component-registry-types.mjs +1 -1
  55. package/esm2022/core/common/generated-types.mjs +26 -22
  56. package/esm2022/core/common/introspection-result.mjs +4 -1
  57. package/esm2022/core/common/utilities/interpolate-description.mjs +3 -3
  58. package/esm2022/core/common/version.mjs +2 -2
  59. package/esm2022/core/components/app-shell/app-shell.component.mjs +4 -3
  60. package/esm2022/core/components/channel-switcher/channel-switcher.component.mjs +1 -1
  61. package/esm2022/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.mjs +1 -1
  62. package/esm2022/core/core.module.mjs +2 -2
  63. package/esm2022/core/data/definitions/facet-definitions.mjs +2 -2
  64. package/esm2022/core/data/definitions/order-definitions.mjs +5 -1
  65. package/esm2022/core/data/definitions/settings-definitions.mjs +5 -81
  66. package/esm2022/core/data/providers/base-data.service.mjs +2 -2
  67. package/esm2022/core/data/server-config.mjs +6 -2
  68. package/esm2022/core/data/utils/add-custom-fields.mjs +2 -2
  69. package/esm2022/core/providers/currency/currency.service.mjs +21 -0
  70. package/esm2022/core/public_api.mjs +2 -1
  71. package/esm2022/core/shared/components/address-form/address-form.component.mjs +1 -1
  72. package/esm2022/core/shared/components/affixed-input/percentage-suffix-input.component.mjs +1 -1
  73. package/esm2022/core/shared/components/asset-file-input/asset-file-input.component.mjs +1 -1
  74. package/esm2022/core/shared/components/asset-preview/asset-preview.component.mjs +1 -1
  75. package/esm2022/core/shared/components/assign-to-channel-dialog/assign-to-channel-dialog.component.mjs +1 -1
  76. package/esm2022/core/shared/components/chart/chart.component.mjs +12 -5
  77. package/esm2022/core/shared/components/chart/tooltip-plugin.mjs +6 -14
  78. package/esm2022/core/shared/components/configurable-input/configurable-input.component.mjs +15 -13
  79. package/esm2022/core/shared/components/currency-input/currency-input.component.mjs +17 -14
  80. package/esm2022/core/shared/components/custom-field-control/custom-field-control.component.mjs +3 -6
  81. package/esm2022/core/shared/components/data-table/data-table.component.mjs +1 -1
  82. package/esm2022/core/shared/components/data-table-2/data-table-custom-field-column.component.mjs +4 -1
  83. package/esm2022/core/shared/components/data-table-2/data-table-search.component.mjs +1 -1
  84. package/esm2022/core/shared/components/data-table-2/data-table2.component.mjs +1 -1
  85. package/esm2022/core/shared/components/data-table-column-picker/data-table-column-picker.component.mjs +1 -1
  86. package/esm2022/core/shared/components/data-table-filter-presets/add-filter-preset-button.component.mjs +1 -1
  87. package/esm2022/core/shared/components/data-table-filter-presets/rename-filter-preset-dialog.component.mjs +1 -1
  88. package/esm2022/core/shared/components/data-table-filters/data-table-filters.component.mjs +1 -1
  89. package/esm2022/core/shared/components/datetime-picker/datetime-picker.component.mjs +1 -1
  90. package/esm2022/core/shared/components/edit-note-dialog/edit-note-dialog.component.mjs +1 -1
  91. package/esm2022/core/shared/components/form-field/form-field-control.directive.mjs +3 -3
  92. package/esm2022/core/shared/components/form-field/form-field.component.mjs +8 -4
  93. package/esm2022/core/shared/components/manage-tags-dialog/manage-tags-dialog.component.mjs +1 -1
  94. package/esm2022/core/shared/components/page-header-tabs/page-header-tabs.component.mjs +2 -2
  95. package/esm2022/core/shared/components/page-title/page-title.component.mjs +5 -6
  96. package/esm2022/core/shared/components/radio-card/radio-card.component.mjs +1 -1
  97. package/esm2022/core/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.mjs +1 -1
  98. package/esm2022/core/shared/components/rich-text-editor/link-dialog/link-dialog.component.mjs +1 -1
  99. package/esm2022/core/shared/components/timeline-entry/timeline-entry.component.mjs +2 -2
  100. package/esm2022/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.mjs +1 -1
  101. package/esm2022/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.mjs +4 -3
  102. package/esm2022/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.mjs +1 -1
  103. package/esm2022/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.mjs +1 -1
  104. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/generic/relation-generic-input.component.mjs +1 -1
  105. package/esm2022/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.mjs +1 -1
  106. package/esm2022/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.mjs +1 -1
  107. package/esm2022/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.mjs +1 -1
  108. package/esm2022/core/shared/pipes/locale-currency.pipe.mjs +11 -7
  109. package/esm2022/customer/components/customer-detail/customer-detail.component.mjs +1 -1
  110. package/esm2022/customer/components/customer-group-detail/customer-group-detail.component.mjs +1 -1
  111. package/esm2022/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.mjs +1 -1
  112. package/esm2022/customer/components/customer-history/customer-history.component.mjs +3 -3
  113. package/esm2022/dashboard/widgets/order-summary-widget/order-summary-widget.component.mjs +4 -4
  114. package/esm2022/login/components/login/login.component.mjs +4 -5
  115. package/esm2022/marketing/components/promotion-detail/promotion-detail.component.mjs +1 -1
  116. package/esm2022/order/common/get-refundable-payments.mjs +19 -0
  117. package/esm2022/order/common/modify-order-types.mjs +2 -0
  118. package/esm2022/order/components/add-manual-payment-dialog/add-manual-payment-dialog.component.mjs +1 -1
  119. package/esm2022/order/components/cancel-order-dialog/cancel-order-dialog.component.mjs +1 -1
  120. package/esm2022/order/components/coupon-code-selector/coupon-code-selector.component.mjs +3 -3
  121. package/esm2022/order/components/draft-order-variant-selector/draft-order-variant-selector.component.mjs +1 -1
  122. package/esm2022/order/components/fulfill-order-dialog/fulfill-order-dialog.component.mjs +1 -1
  123. package/esm2022/order/components/modification-detail/modification-detail.component.mjs +17 -6
  124. package/esm2022/order/components/order-data-table/order-data-table.component.mjs +1 -1
  125. package/esm2022/order/components/order-detail/order-detail.component.mjs +77 -29
  126. package/esm2022/order/components/order-editor/order-editor.component.mjs +201 -98
  127. package/esm2022/order/components/order-edits-preview-dialog/order-edits-preview-dialog.component.mjs +45 -7
  128. package/esm2022/order/components/order-history/order-history.component.mjs +22 -6
  129. package/esm2022/order/components/order-modification-summary/order-modification-summary.component.mjs +76 -0
  130. package/esm2022/order/components/order-payment-card/order-payment-card.component.mjs +3 -3
  131. package/esm2022/order/components/order-state-select-dialog/order-state-select-dialog.component.mjs +1 -1
  132. package/esm2022/order/components/order-table/order-table.component.mjs +3 -3
  133. package/esm2022/order/components/payment-for-refund-selector/payment-for-refund-selector.component.mjs +24 -0
  134. package/esm2022/order/components/payment-state-label/payment-state-label.component.mjs +2 -2
  135. package/esm2022/order/components/refund-detail/refund-detail.component.mjs +18 -0
  136. package/esm2022/order/components/refund-order-dialog/refund-order-dialog.component.mjs +100 -58
  137. package/esm2022/order/components/refund-state-label/refund-state-label.component.mjs +2 -2
  138. package/esm2022/order/components/select-customer-dialog/select-customer-dialog.component.mjs +14 -8
  139. package/esm2022/order/components/settle-refund-dialog/settle-refund-dialog.component.mjs +1 -1
  140. package/esm2022/order/components/simple-item-list/simple-item-list.component.mjs +3 -3
  141. package/esm2022/order/order.module.mjs +32 -2
  142. package/esm2022/order/order.routes.mjs +7 -53
  143. package/esm2022/order/providers/routing/order.guard.mjs +22 -2
  144. package/esm2022/order/public_api.mjs +6 -2
  145. package/esm2022/react/components/react-custom-column.component.mjs +3 -3
  146. package/esm2022/react/components/react-custom-detail.component.mjs +3 -3
  147. package/esm2022/react/components/react-form-input.component.mjs +3 -3
  148. package/esm2022/react/components/react-route.component.mjs +3 -3
  149. package/esm2022/settings/components/admin-detail/admin-detail.component.mjs +1 -1
  150. package/esm2022/settings/components/channel-detail/channel-detail.component.mjs +1 -1
  151. package/esm2022/settings/components/country-detail/country-detail.component.mjs +1 -1
  152. package/esm2022/settings/components/global-settings/global-settings.component.mjs +1 -1
  153. package/esm2022/settings/components/payment-method-detail/payment-method-detail.component.mjs +1 -1
  154. package/esm2022/settings/components/profile/profile.component.mjs +1 -1
  155. package/esm2022/settings/components/role-detail/role-detail.component.mjs +1 -1
  156. package/esm2022/settings/components/seller-detail/seller-detail.component.mjs +1 -1
  157. package/esm2022/settings/components/shipping-method-detail/shipping-method-detail.component.mjs +1 -1
  158. package/esm2022/settings/components/stock-location-detail/stock-location-detail.component.mjs +1 -1
  159. package/esm2022/settings/components/tax-category-detail/tax-category-detail.component.mjs +1 -1
  160. package/esm2022/settings/components/tax-rate-detail/tax-rate-detail.component.mjs +1 -1
  161. package/esm2022/settings/components/test-address-form/test-address-form.component.mjs +1 -1
  162. package/esm2022/settings/components/test-order-builder/test-order-builder.component.mjs +1 -1
  163. package/esm2022/settings/components/zone-detail/zone-detail.component.mjs +1 -1
  164. package/esm2022/settings/settings.routes.mjs +4 -4
  165. package/esm2022/system/components/job-list/job-list.component.mjs +1 -1
  166. package/fesm2022/vendure-admin-ui-catalog.mjs +215 -166
  167. package/fesm2022/vendure-admin-ui-catalog.mjs.map +1 -1
  168. package/fesm2022/vendure-admin-ui-core.mjs +156 -192
  169. package/fesm2022/vendure-admin-ui-core.mjs.map +1 -1
  170. package/fesm2022/vendure-admin-ui-customer.mjs +5 -5
  171. package/fesm2022/vendure-admin-ui-customer.mjs.map +1 -1
  172. package/fesm2022/vendure-admin-ui-dashboard.mjs +3 -3
  173. package/fesm2022/vendure-admin-ui-dashboard.mjs.map +1 -1
  174. package/fesm2022/vendure-admin-ui-login.mjs +2 -3
  175. package/fesm2022/vendure-admin-ui-login.mjs.map +1 -1
  176. package/fesm2022/vendure-admin-ui-marketing.mjs +1 -1
  177. package/fesm2022/vendure-admin-ui-marketing.mjs.map +1 -1
  178. package/fesm2022/vendure-admin-ui-order.mjs +661 -324
  179. package/fesm2022/vendure-admin-ui-order.mjs.map +1 -1
  180. package/fesm2022/vendure-admin-ui-react.mjs +8 -8
  181. package/fesm2022/vendure-admin-ui-react.mjs.map +1 -1
  182. package/fesm2022/vendure-admin-ui-settings.mjs +18 -18
  183. package/fesm2022/vendure-admin-ui-settings.mjs.map +1 -1
  184. package/fesm2022/vendure-admin-ui-system.mjs +1 -1
  185. package/fesm2022/vendure-admin-ui-system.mjs.map +1 -1
  186. package/login/components/login/login.component.d.ts +0 -1
  187. package/order/common/get-refundable-payments.d.ts +9 -0
  188. package/order/common/modify-order-types.d.ts +29 -0
  189. package/order/components/modification-detail/modification-detail.component.d.ts +4 -0
  190. package/order/components/order-detail/order-detail.component.d.ts +2 -0
  191. package/order/components/order-editor/order-editor.component.d.ts +57 -33
  192. package/order/components/order-edits-preview-dialog/order-edits-preview-dialog.component.d.ts +17 -6
  193. package/order/components/order-history/order-history.component.d.ts +6 -2
  194. package/order/components/order-modification-summary/order-modification-summary.component.d.ts +19 -0
  195. package/order/components/payment-for-refund-selector/payment-for-refund-selector.component.d.ts +14 -0
  196. package/order/components/refund-detail/refund-detail.component.d.ts +8 -0
  197. package/order/components/refund-order-dialog/refund-order-dialog.component.d.ts +13 -11
  198. package/order/components/select-customer-dialog/select-customer-dialog.component.d.ts +9 -2
  199. package/order/components/simple-item-list/simple-item-list.component.d.ts +1 -1
  200. package/order/order.module.d.ts +6 -3
  201. package/order/order.routes.d.ts +0 -2
  202. package/order/providers/routing/order.guard.d.ts +1 -0
  203. package/order/public_api.d.ts +5 -1
  204. package/package.json +20 -20
  205. package/settings/components/administrator-list/administrator-list.component.d.ts +2 -0
  206. package/settings/components/stock-location-list/stock-location-list.component.d.ts +1 -1
  207. package/static/i18n-messages/ar.json +15 -7
  208. package/static/i18n-messages/cs.json +15 -7
  209. package/static/i18n-messages/de.json +15 -7
  210. package/static/i18n-messages/en.json +18 -10
  211. package/static/i18n-messages/es.json +15 -7
  212. package/static/i18n-messages/fa.json +16 -8
  213. package/static/i18n-messages/fr.json +15 -7
  214. package/static/i18n-messages/he.json +15 -7
  215. package/static/i18n-messages/hr.json +15 -7
  216. package/static/i18n-messages/it.json +16 -8
  217. package/static/i18n-messages/nb.json +803 -0
  218. package/static/i18n-messages/ne.json +16 -8
  219. package/static/i18n-messages/pl.json +15 -7
  220. package/static/i18n-messages/pt_BR.json +16 -8
  221. package/static/i18n-messages/pt_PT.json +15 -7
  222. package/static/i18n-messages/ru.json +15 -7
  223. package/static/i18n-messages/uk.json +180 -172
  224. package/static/i18n-messages/zh_Hans.json +15 -7
  225. package/static/i18n-messages/zh_Hant.json +15 -7
  226. package/static/styles/global/_sass-overrides.scss +5 -0
  227. package/static/styles/global/_utilities.scss +4 -0
  228. package/static/styles/theme/dark.scss +9 -6
  229. package/static/styles/theme/default.scss +8 -4
  230. package/static/theme.min.css +1 -1
  231. package/static/vendure-ui-config.json +2 -1
  232. package/esm2022/order/providers/routing/order-resolver.mjs +0 -48
  233. package/order/providers/routing/order-resolver.d.ts +0 -16
@@ -1,4 +1,4 @@
1
- import { Component, ContentChild, Input, } from '@angular/core';
1
+ import { Component, ContentChild, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { FormFieldControlDirective } from './form-field-control.directive';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@clr/angular";
@@ -20,6 +20,7 @@ export class FormFieldComponent {
20
20
  * will be displayed which allows the field to be edited.
21
21
  */
22
22
  this.readOnlyToggle = false;
23
+ this.readOnlyToggleChange = new EventEmitter();
23
24
  this.isReadOnly = false;
24
25
  }
25
26
  ngOnInit() {
@@ -32,6 +33,7 @@ export class FormFieldComponent {
32
33
  setReadOnly(value) {
33
34
  this.formFieldControl.setReadOnly(value);
34
35
  this.isReadOnly = value;
36
+ this.readOnlyToggleChange.emit(value);
35
37
  }
36
38
  getErrorMessage() {
37
39
  if (!this.formFieldControl || !this.formFieldControl.formControlName) {
@@ -47,11 +49,11 @@ export class FormFieldComponent {
47
49
  }
48
50
  }
49
51
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
50
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: FormFieldComponent, selector: "vdr-form-field", inputs: { label: "label", for: "for", tooltip: "tooltip", errors: "errors", readOnlyToggle: "readOnlyToggle" }, queries: [{ propertyName: "formFieldControl", first: true, predicate: FormFieldControlDirective, descendants: true, static: true }], ngImport: i0, template: "<div\r\n class=\"form-group\"\r\n [class.no-label]=\"!label\"\r\n [class.clr-error]=\"formFieldControl?.formControlName?.invalid\"\r\n>\r\n <label *ngIf=\"label\" [for]=\"for\" class=\"\">\r\n {{ label }}\r\n </label>\r\n <div *ngIf=\"tooltip\" class=\"tooltip-text\">\r\n {{ tooltip }}\r\n </div>\r\n <div\r\n class=\"input-row\"\r\n [class.has-toggle]=\"readOnlyToggle\"\r\n [class.invalid]=\"formFieldControl?.touched && !formFieldControl?.valid\"\r\n >\r\n <ng-content></ng-content>\r\n <button\r\n *ngIf=\"readOnlyToggle\"\r\n type=\"button\"\r\n [disabled]=\"!isReadOnly\"\r\n [title]=\"'common.edit-field' | translate\"\r\n class=\"btn btn-icon edit-button\"\r\n (click)=\"setReadOnly(false)\"\r\n >\r\n <clr-icon shape=\"edit\"></clr-icon>\r\n </button>\r\n </div>\r\n <div class=\"error-message\" *ngIf=\"getErrorMessage()\">{{ getErrorMessage() }}</div>\r\n</div>\r\n", styles: [":host{display:block}.form-group label{font-size:var(--font-size-sm);color:var(--color-weight-800);margin-bottom:4px;display:inline-block}.tooltip-text{font-size:var(--font-size-xs);line-height:var(--font-size-sm);margin-bottom:4px}.input-row{display:flex}::ng-deep .input-row input:not([type=checkbox]),::ng-deep .input-row select,::ng-deep .input-row textarea,::ng-deep .input-row vdr-zone-selector,::ng-deep .input-row vdr-facet-value-selector,::ng-deep .input-row vdr-option-value-input,::ng-deep .input-row vdr-affixed-input,::ng-deep .input-row vdr-currency-input,::ng-deep .input-row vdr-rich-text-editor{width:100%}.input-row input:not([type=checkbox]),.input-row select,.input-row textarea{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i1.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
52
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: FormFieldComponent, selector: "vdr-form-field", inputs: { label: "label", for: "for", tooltip: "tooltip", errors: "errors", readOnlyToggle: "readOnlyToggle" }, outputs: { readOnlyToggleChange: "readOnlyToggleChange" }, queries: [{ propertyName: "formFieldControl", first: true, predicate: FormFieldControlDirective, descendants: true, static: true }], ngImport: i0, template: "<div\r\n class=\"form-group\"\r\n [class.no-label]=\"!label\"\r\n [class.clr-error]=\"formFieldControl?.formControlName?.invalid\"\r\n>\r\n <label *ngIf=\"label\" [for]=\"for\" class=\"\">\r\n {{ label }}\r\n </label>\r\n <div *ngIf=\"tooltip\" class=\"tooltip-text\">\r\n {{ tooltip }}\r\n </div>\r\n <div\r\n class=\"input-row\"\r\n [class.has-toggle]=\"readOnlyToggle\"\r\n [class.readonly]=\"isReadOnly\"\r\n [class.invalid]=\"formFieldControl?.touched && !formFieldControl?.valid\"\r\n >\r\n <ng-content></ng-content>\r\n <button\r\n *ngIf=\"readOnlyToggle\"\r\n type=\"button\"\r\n [title]=\"'common.edit-field' | translate\"\r\n class=\"btn edit-button\"\r\n [class.enabled]=\"!isReadOnly\"\r\n (click)=\"setReadOnly(!isReadOnly)\"\r\n >\r\n <clr-icon shape=\"edit\"></clr-icon>\r\n </button>\r\n </div>\r\n <div class=\"error-message\" *ngIf=\"getErrorMessage()\">{{ getErrorMessage() }}</div>\r\n</div>\r\n", styles: [":host{display:block}.form-group label{font-size:var(--font-size-sm);color:var(--color-weight-800);margin-bottom:4px;display:inline-block}.tooltip-text{font-size:var(--font-size-xs);line-height:var(--font-size-sm);margin-bottom:4px}.input-row{display:flex}::ng-deep .input-row input:not([type=checkbox]),::ng-deep .input-row select,::ng-deep .input-row textarea,::ng-deep .input-row ng-select,::ng-deep .input-row vdr-zone-selector,::ng-deep .input-row vdr-facet-value-selector,::ng-deep .input-row vdr-option-value-input,::ng-deep .input-row vdr-affixed-input,::ng-deep .input-row vdr-currency-input,::ng-deep .input-row vdr-rich-text-editor{width:100%}::ng-deep .input-row.readonly input:not([type=checkbox])[readonly],::ng-deep .input-row.readonly select[readonly],::ng-deep .input-row.readonly textarea[readonly],::ng-deep .input-row.readonly ng-select[readonly],::ng-deep .input-row.readonly vdr-zone-selector[readonly],::ng-deep .input-row.readonly vdr-facet-value-selector[readonly],::ng-deep .input-row.readonly vdr-option-value-input[readonly],::ng-deep .input-row.readonly vdr-affixed-input[readonly],::ng-deep .input-row.readonly vdr-currency-input[readonly],::ng-deep .input-row.readonly vdr-rich-text-editor[readonly]{cursor:not-allowed}.input-row input:not([type=checkbox]),.input-row select,.input-row textarea{width:100%}::ng-deep .input-row.has-toggle input:not([type=checkbox]):not([type=radio]){border-start-end-radius:0!important;border-end-end-radius:0!important}.edit-button{border:1px solid var(--color-weight-200);border-radius:var(--border-radius-input);border-inline-start-width:0;border-start-start-radius:0;border-end-start-radius:0}.edit-button.enabled{color:var(--color-primary-700);background-color:var(--color-primary-100)}\n"], dependencies: [{ kind: "directive", type: i1.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i1.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
51
53
  }
52
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: FormFieldComponent, decorators: [{
53
55
  type: Component,
54
- args: [{ selector: 'vdr-form-field', template: "<div\r\n class=\"form-group\"\r\n [class.no-label]=\"!label\"\r\n [class.clr-error]=\"formFieldControl?.formControlName?.invalid\"\r\n>\r\n <label *ngIf=\"label\" [for]=\"for\" class=\"\">\r\n {{ label }}\r\n </label>\r\n <div *ngIf=\"tooltip\" class=\"tooltip-text\">\r\n {{ tooltip }}\r\n </div>\r\n <div\r\n class=\"input-row\"\r\n [class.has-toggle]=\"readOnlyToggle\"\r\n [class.invalid]=\"formFieldControl?.touched && !formFieldControl?.valid\"\r\n >\r\n <ng-content></ng-content>\r\n <button\r\n *ngIf=\"readOnlyToggle\"\r\n type=\"button\"\r\n [disabled]=\"!isReadOnly\"\r\n [title]=\"'common.edit-field' | translate\"\r\n class=\"btn btn-icon edit-button\"\r\n (click)=\"setReadOnly(false)\"\r\n >\r\n <clr-icon shape=\"edit\"></clr-icon>\r\n </button>\r\n </div>\r\n <div class=\"error-message\" *ngIf=\"getErrorMessage()\">{{ getErrorMessage() }}</div>\r\n</div>\r\n", styles: [":host{display:block}.form-group label{font-size:var(--font-size-sm);color:var(--color-weight-800);margin-bottom:4px;display:inline-block}.tooltip-text{font-size:var(--font-size-xs);line-height:var(--font-size-sm);margin-bottom:4px}.input-row{display:flex}::ng-deep .input-row input:not([type=checkbox]),::ng-deep .input-row select,::ng-deep .input-row textarea,::ng-deep .input-row vdr-zone-selector,::ng-deep .input-row vdr-facet-value-selector,::ng-deep .input-row vdr-option-value-input,::ng-deep .input-row vdr-affixed-input,::ng-deep .input-row vdr-currency-input,::ng-deep .input-row vdr-rich-text-editor{width:100%}.input-row input:not([type=checkbox]),.input-row select,.input-row textarea{width:100%}\n"] }]
56
+ args: [{ selector: 'vdr-form-field', template: "<div\r\n class=\"form-group\"\r\n [class.no-label]=\"!label\"\r\n [class.clr-error]=\"formFieldControl?.formControlName?.invalid\"\r\n>\r\n <label *ngIf=\"label\" [for]=\"for\" class=\"\">\r\n {{ label }}\r\n </label>\r\n <div *ngIf=\"tooltip\" class=\"tooltip-text\">\r\n {{ tooltip }}\r\n </div>\r\n <div\r\n class=\"input-row\"\r\n [class.has-toggle]=\"readOnlyToggle\"\r\n [class.readonly]=\"isReadOnly\"\r\n [class.invalid]=\"formFieldControl?.touched && !formFieldControl?.valid\"\r\n >\r\n <ng-content></ng-content>\r\n <button\r\n *ngIf=\"readOnlyToggle\"\r\n type=\"button\"\r\n [title]=\"'common.edit-field' | translate\"\r\n class=\"btn edit-button\"\r\n [class.enabled]=\"!isReadOnly\"\r\n (click)=\"setReadOnly(!isReadOnly)\"\r\n >\r\n <clr-icon shape=\"edit\"></clr-icon>\r\n </button>\r\n </div>\r\n <div class=\"error-message\" *ngIf=\"getErrorMessage()\">{{ getErrorMessage() }}</div>\r\n</div>\r\n", styles: [":host{display:block}.form-group label{font-size:var(--font-size-sm);color:var(--color-weight-800);margin-bottom:4px;display:inline-block}.tooltip-text{font-size:var(--font-size-xs);line-height:var(--font-size-sm);margin-bottom:4px}.input-row{display:flex}::ng-deep .input-row input:not([type=checkbox]),::ng-deep .input-row select,::ng-deep .input-row textarea,::ng-deep .input-row ng-select,::ng-deep .input-row vdr-zone-selector,::ng-deep .input-row vdr-facet-value-selector,::ng-deep .input-row vdr-option-value-input,::ng-deep .input-row vdr-affixed-input,::ng-deep .input-row vdr-currency-input,::ng-deep .input-row vdr-rich-text-editor{width:100%}::ng-deep .input-row.readonly input:not([type=checkbox])[readonly],::ng-deep .input-row.readonly select[readonly],::ng-deep .input-row.readonly textarea[readonly],::ng-deep .input-row.readonly ng-select[readonly],::ng-deep .input-row.readonly vdr-zone-selector[readonly],::ng-deep .input-row.readonly vdr-facet-value-selector[readonly],::ng-deep .input-row.readonly vdr-option-value-input[readonly],::ng-deep .input-row.readonly vdr-affixed-input[readonly],::ng-deep .input-row.readonly vdr-currency-input[readonly],::ng-deep .input-row.readonly vdr-rich-text-editor[readonly]{cursor:not-allowed}.input-row input:not([type=checkbox]),.input-row select,.input-row textarea{width:100%}::ng-deep .input-row.has-toggle input:not([type=checkbox]):not([type=radio]){border-start-end-radius:0!important;border-end-end-radius:0!important}.edit-button{border:1px solid var(--color-weight-200);border-radius:var(--border-radius-input);border-inline-start-width:0;border-start-start-radius:0;border-end-start-radius:0}.edit-button.enabled{color:var(--color-primary-700);background-color:var(--color-primary-100)}\n"] }]
55
57
  }], propDecorators: { label: [{
56
58
  type: Input
57
59
  }], for: [{
@@ -62,8 +64,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImpor
62
64
  type: Input
63
65
  }], readOnlyToggle: [{
64
66
  type: Input
67
+ }], readOnlyToggleChange: [{
68
+ type: Output
65
69
  }], formFieldControl: [{
66
70
  type: ContentChild,
67
71
  args: [FormFieldControlDirective, { static: true }]
68
72
  }] } });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2Zvcm0tZmllbGQvZm9ybS1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2Zvcm0tZmllbGQvZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0gsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEdBRVIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7O0FBRTNFOzs7R0FHRztBQU1ILE1BQU0sT0FBTyxrQkFBa0I7SUFML0I7UUFTSTs7O1dBR0c7UUFDTSxXQUFNLEdBQThCLEVBQUUsQ0FBQztRQUNoRDs7O1dBR0c7UUFDTSxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUVoQyxlQUFVLEdBQUcsS0FBSyxDQUFDO0tBNkJ0QjtJQTNCRyxRQUFRO1FBQ0osSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDMUI7UUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDMUMsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFjO1FBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsRUFBRTtZQUNsRSxPQUFPO1NBQ1Y7UUFDRCxNQUFNLE1BQU0sR0FDUixJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQztRQUNoRyxJQUFJLE1BQU0sRUFBRTtZQUNSLEtBQUssTUFBTSxRQUFRLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDeEMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUN2QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7aUJBQ2hDO2FBQ0o7U0FDSjtJQUNMLENBQUM7OEdBM0NRLGtCQUFrQjtrR0FBbEIsa0JBQWtCLG9OQWNiLHlCQUF5Qiw4RENsQzNDLDRoQ0E4QkE7OzJGRFZhLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDSSxnQkFBZ0I7OEJBS2pCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUtHLE1BQU07c0JBQWQsS0FBSztnQkFLRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNxRCxnQkFBZ0I7c0JBQTFFLFlBQVk7dUJBQUMseUJBQXlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRm9ybUZpZWxkQ29udHJvbERpcmVjdGl2ZSB9IGZyb20gJy4vZm9ybS1maWVsZC1jb250cm9sLmRpcmVjdGl2ZSc7XG5cbi8qKlxuICogQSBmb3JtIGZpZWxkIHdyYXBwZXIgd2hpY2ggaGFuZGxlcyB0aGUgY29ycmVjdCBsYXlvdXQgYW5kIHZhbGlkYXRpb24gZXJyb3IgZGlzcGxheSBmb3JcbiAqIGEgZm9ybSBjb250cm9sLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3Zkci1mb3JtLWZpZWxkJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZm9ybS1maWVsZC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG4gICAgQElucHV0KCkgZm9yOiBzdHJpbmc7XG4gICAgQElucHV0KCkgdG9vbHRpcDogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIEEgbWFwIG9mIGVycm9yIG1lc3NhZ2UgY29kZXMgKHJlcXVpcmVkLCBwYXR0ZXJuIGV0Yy4pIHRvIG1lc3NhZ2VzIHRvIGRpc3BsYXlcbiAgICAgKiB3aGVuIHRob3NlIGVycm9ycyBhcmUgcHJlc2VudC5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBlcnJvcnM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcbiAgICAvKipcbiAgICAgKiBJZiBzZXQgdG8gdHJ1ZSwgdGhlIGlucHV0IHdpbGwgYmUgaW5pdGlhbGx5IHNldCB0byBcInJlYWRPbmx5XCIsIGFuZCBhbiBcImVkaXRcIiBidXR0b25cbiAgICAgKiB3aWxsIGJlIGRpc3BsYXllZCB3aGljaCBhbGxvd3MgdGhlIGZpZWxkIHRvIGJlIGVkaXRlZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKSByZWFkT25seVRvZ2dsZSA9IGZhbHNlO1xuICAgIEBDb250ZW50Q2hpbGQoRm9ybUZpZWxkQ29udHJvbERpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUgfSkgZm9ybUZpZWxkQ29udHJvbDogRm9ybUZpZWxkQ29udHJvbERpcmVjdGl2ZTtcbiAgICBpc1JlYWRPbmx5ID0gZmFsc2U7XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMucmVhZE9ubHlUb2dnbGUpIHtcbiAgICAgICAgICAgIHRoaXMuaXNSZWFkT25seSA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLnNldFJlYWRPbmx5KHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNSZWFkT25seSA9IHRoaXMucmVhZE9ubHlUb2dnbGU7XG4gICAgfVxuXG4gICAgc2V0UmVhZE9ubHkodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5mb3JtRmllbGRDb250cm9sLnNldFJlYWRPbmx5KHZhbHVlKTtcbiAgICAgICAgdGhpcy5pc1JlYWRPbmx5ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0RXJyb3JNZXNzYWdlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmICghdGhpcy5mb3JtRmllbGRDb250cm9sIHx8ICF0aGlzLmZvcm1GaWVsZENvbnRyb2wuZm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZXJyb3JzID1cbiAgICAgICAgICAgIHRoaXMuZm9ybUZpZWxkQ29udHJvbC5mb3JtQ29udHJvbE5hbWUuZGlydHkgJiYgdGhpcy5mb3JtRmllbGRDb250cm9sLmZvcm1Db250cm9sTmFtZS5lcnJvcnM7XG4gICAgICAgIGlmIChlcnJvcnMpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgZXJyb3JLZXkgb2YgT2JqZWN0LmtleXMoZXJyb3JzKSkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmVycm9yc1tlcnJvcktleV0pIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JzW2Vycm9yS2V5XTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2XHJcbiAgICBjbGFzcz1cImZvcm0tZ3JvdXBcIlxyXG4gICAgW2NsYXNzLm5vLWxhYmVsXT1cIiFsYWJlbFwiXHJcbiAgICBbY2xhc3MuY2xyLWVycm9yXT1cImZvcm1GaWVsZENvbnRyb2w/LmZvcm1Db250cm9sTmFtZT8uaW52YWxpZFwiXHJcbj5cclxuICAgIDxsYWJlbCAqbmdJZj1cImxhYmVsXCIgW2Zvcl09XCJmb3JcIiBjbGFzcz1cIlwiPlxyXG4gICAgICAgIHt7IGxhYmVsIH19XHJcbiAgICA8L2xhYmVsPlxyXG4gICAgPGRpdiAqbmdJZj1cInRvb2x0aXBcIiBjbGFzcz1cInRvb2x0aXAtdGV4dFwiPlxyXG4gICAgICAgIHt7IHRvb2x0aXAgfX1cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwiaW5wdXQtcm93XCJcclxuICAgICAgICBbY2xhc3MuaGFzLXRvZ2dsZV09XCJyZWFkT25seVRvZ2dsZVwiXHJcbiAgICAgICAgW2NsYXNzLmludmFsaWRdPVwiZm9ybUZpZWxkQ29udHJvbD8udG91Y2hlZCAmJiAhZm9ybUZpZWxkQ29udHJvbD8udmFsaWRcIlxyXG4gICAgPlxyXG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICpuZ0lmPVwicmVhZE9ubHlUb2dnbGVcIlxyXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc1JlYWRPbmx5XCJcclxuICAgICAgICAgICAgW3RpdGxlXT1cIidjb21tb24uZWRpdC1maWVsZCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImJ0biBidG4taWNvbiBlZGl0LWJ1dHRvblwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJzZXRSZWFkT25seShmYWxzZSlcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgICAgPGNsci1pY29uIHNoYXBlPVwiZWRpdFwiPjwvY2xyLWljb24+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJnZXRFcnJvck1lc3NhZ2UoKVwiPnt7IGdldEVycm9yTWVzc2FnZSgpIH19PC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2Zvcm0tZmllbGQvZm9ybS1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2Zvcm0tZmllbGQvZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7QUFFM0U7OztHQUdHO0FBTUgsTUFBTSxPQUFPLGtCQUFrQjtJQUwvQjtRQVNJOzs7V0FHRztRQUNNLFdBQU0sR0FBOEIsRUFBRSxDQUFDO1FBQ2hEOzs7V0FHRztRQUNNLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFFN0QsZUFBVSxHQUFHLEtBQUssQ0FBQztLQThCdEI7SUE1QkcsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNyQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzFCO1FBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzFDLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYztRQUN0QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsRUFBRTtZQUNsRSxPQUFPO1NBQ1Y7UUFDRCxNQUFNLE1BQU0sR0FDUixJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQztRQUNoRyxJQUFJLE1BQU0sRUFBRTtZQUNSLEtBQUssTUFBTSxRQUFRLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDeEMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUN2QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7aUJBQ2hDO2FBQ0o7U0FDSjtJQUNMLENBQUM7OEdBN0NRLGtCQUFrQjtrR0FBbEIsa0JBQWtCLCtRQWViLHlCQUF5Qiw4REM1QjNDLHlrQ0ErQkE7OzJGRGxCYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0ksZ0JBQWdCOzhCQUtqQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFLRyxNQUFNO3NCQUFkLEtBQUs7Z0JBS0csY0FBYztzQkFBdEIsS0FBSztnQkFDSSxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ29ELGdCQUFnQjtzQkFBMUUsWUFBWTt1QkFBQyx5QkFBeUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEZvcm1GaWVsZENvbnRyb2xEaXJlY3RpdmUgfSBmcm9tICcuL2Zvcm0tZmllbGQtY29udHJvbC5kaXJlY3RpdmUnO1xyXG5cclxuLyoqXHJcbiAqIEEgZm9ybSBmaWVsZCB3cmFwcGVyIHdoaWNoIGhhbmRsZXMgdGhlIGNvcnJlY3QgbGF5b3V0IGFuZCB2YWxpZGF0aW9uIGVycm9yIGRpc3BsYXkgZm9yXHJcbiAqIGEgZm9ybSBjb250cm9sLlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1mb3JtLWZpZWxkJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2Zvcm0tZmllbGQuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1GaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgZm9yOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSB0b29sdGlwOiBzdHJpbmc7XHJcbiAgICAvKipcclxuICAgICAqIEEgbWFwIG9mIGVycm9yIG1lc3NhZ2UgY29kZXMgKHJlcXVpcmVkLCBwYXR0ZXJuIGV0Yy4pIHRvIG1lc3NhZ2VzIHRvIGRpc3BsYXlcclxuICAgICAqIHdoZW4gdGhvc2UgZXJyb3JzIGFyZSBwcmVzZW50LlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBlcnJvcnM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcclxuICAgIC8qKlxyXG4gICAgICogSWYgc2V0IHRvIHRydWUsIHRoZSBpbnB1dCB3aWxsIGJlIGluaXRpYWxseSBzZXQgdG8gXCJyZWFkT25seVwiLCBhbmQgYW4gXCJlZGl0XCIgYnV0dG9uXHJcbiAgICAgKiB3aWxsIGJlIGRpc3BsYXllZCB3aGljaCBhbGxvd3MgdGhlIGZpZWxkIHRvIGJlIGVkaXRlZC5cclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgcmVhZE9ubHlUb2dnbGUgPSBmYWxzZTtcclxuICAgIEBPdXRwdXQoKSByZWFkT25seVRvZ2dsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICAgIEBDb250ZW50Q2hpbGQoRm9ybUZpZWxkQ29udHJvbERpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUgfSkgZm9ybUZpZWxkQ29udHJvbDogRm9ybUZpZWxkQ29udHJvbERpcmVjdGl2ZTtcclxuICAgIGlzUmVhZE9ubHkgPSBmYWxzZTtcclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICBpZiAodGhpcy5yZWFkT25seVRvZ2dsZSkge1xyXG4gICAgICAgICAgICB0aGlzLmlzUmVhZE9ubHkgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLnNldFJlYWRPbmx5KHRydWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmlzUmVhZE9ubHkgPSB0aGlzLnJlYWRPbmx5VG9nZ2xlO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFJlYWRPbmx5KHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5mb3JtRmllbGRDb250cm9sLnNldFJlYWRPbmx5KHZhbHVlKTtcclxuICAgICAgICB0aGlzLmlzUmVhZE9ubHkgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLnJlYWRPbmx5VG9nZ2xlQ2hhbmdlLmVtaXQodmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEVycm9yTWVzc2FnZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xyXG4gICAgICAgIGlmICghdGhpcy5mb3JtRmllbGRDb250cm9sIHx8ICF0aGlzLmZvcm1GaWVsZENvbnRyb2wuZm9ybUNvbnRyb2xOYW1lKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgZXJyb3JzID1cclxuICAgICAgICAgICAgdGhpcy5mb3JtRmllbGRDb250cm9sLmZvcm1Db250cm9sTmFtZS5kaXJ0eSAmJiB0aGlzLmZvcm1GaWVsZENvbnRyb2wuZm9ybUNvbnRyb2xOYW1lLmVycm9ycztcclxuICAgICAgICBpZiAoZXJyb3JzKSB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgZXJyb3JLZXkgb2YgT2JqZWN0LmtleXMoZXJyb3JzKSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZXJyb3JzW2Vycm9yS2V5XSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9yc1tlcnJvcktleV07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gICAgY2xhc3M9XCJmb3JtLWdyb3VwXCJcclxuICAgIFtjbGFzcy5uby1sYWJlbF09XCIhbGFiZWxcIlxyXG4gICAgW2NsYXNzLmNsci1lcnJvcl09XCJmb3JtRmllbGRDb250cm9sPy5mb3JtQ29udHJvbE5hbWU/LmludmFsaWRcIlxyXG4+XHJcbiAgICA8bGFiZWwgKm5nSWY9XCJsYWJlbFwiIFtmb3JdPVwiZm9yXCIgY2xhc3M9XCJcIj5cclxuICAgICAgICB7eyBsYWJlbCB9fVxyXG4gICAgPC9sYWJlbD5cclxuICAgIDxkaXYgKm5nSWY9XCJ0b29sdGlwXCIgY2xhc3M9XCJ0b29sdGlwLXRleHRcIj5cclxuICAgICAgICB7eyB0b29sdGlwIH19XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImlucHV0LXJvd1wiXHJcbiAgICAgICAgW2NsYXNzLmhhcy10b2dnbGVdPVwicmVhZE9ubHlUb2dnbGVcIlxyXG4gICAgICAgIFtjbGFzcy5yZWFkb25seV09XCJpc1JlYWRPbmx5XCJcclxuICAgICAgICBbY2xhc3MuaW52YWxpZF09XCJmb3JtRmllbGRDb250cm9sPy50b3VjaGVkICYmICFmb3JtRmllbGRDb250cm9sPy52YWxpZFwiXHJcbiAgICA+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgKm5nSWY9XCJyZWFkT25seVRvZ2dsZVwiXHJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICBbdGl0bGVdPVwiJ2NvbW1vbi5lZGl0LWZpZWxkJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYnRuIGVkaXQtYnV0dG9uXCJcclxuICAgICAgICAgICAgW2NsYXNzLmVuYWJsZWRdPVwiIWlzUmVhZE9ubHlcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwic2V0UmVhZE9ubHkoIWlzUmVhZE9ubHkpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cImVkaXRcIj48L2Nsci1pY29uPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiZ2V0RXJyb3JNZXNzYWdlKClcIj57eyBnZXRFcnJvck1lc3NhZ2UoKSB9fTwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -52,7 +52,7 @@ export class ManageTagsDialogComponent {
52
52
  return forkJoin(operations).subscribe(() => this.resolveWith(true));
53
53
  }
54
54
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: ManageTagsDialogComponent, deps: [{ token: i1.DataService }], target: i0.ɵɵFactoryTarget.Component }); }
55
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: ManageTagsDialogComponent, selector: "vdr-manage-tags-dialog", ngImport: i0, template: "<ng-template vdrDialogTitle>\r\n <span>{{ 'common.manage-tags' | translate }}</span>\r\n</ng-template>\r\n<p class=\"mt0 mb-4\">{{ 'common.manage-tags-description' | translate }}</p>\r\n<ul class=\"tag-list\" *ngFor=\"let tag of allTags$ | async\">\r\n <li class=\"mb-2 p-1\" [class.to-delete]=\"markedAsDeleted(tag.id)\">\r\n <clr-icon shape=\"tag\" class=\"is-solid mr2\" [style.color]=\"tag.value | stringToColor\"></clr-icon>\r\n <input type=\"text\" (input)=\"updateTagValue(tag.id, $event.target.value)\" [value]=\"tag.value\" />\r\n <button class=\"icon-button\" (click)=\"toggleDelete(tag.id)\">\r\n <clr-icon shape=\"trash\" class=\"is-danger\" [class.is-solid]=\"markedAsDeleted(tag.id)\"></clr-icon>\r\n </button>\r\n </li>\r\n</ul>\r\n<ng-template vdrDialogButtons>\r\n <button type=\"submit\" (click)=\"resolveWith(false)\" class=\"btn btn-secondary\">\r\n {{ 'common.cancel' | translate }}\r\n </button>\r\n <button\r\n type=\"submit\"\r\n (click)=\"saveChanges()\"\r\n class=\"btn btn-primary\"\r\n [disabled]=\"!toUpdate.length && !toDelete.length\"\r\n >\r\n {{ 'common.update' | translate }}\r\n </button>\r\n</ng-template>\r\n", styles: [".tag-list{list-style-type:none}.tag-list li{display:flex;align-items:center}.tag-list li input{max-width:170px}.tag-list li.to-delete{opacity:.7;background-color:var(--color-component-bg-300)}.tag-list li.to-delete input{background-color:transparent!important}\n"], dependencies: [{ kind: "directive", type: i2.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "directive", type: i5.DialogButtonsDirective, selector: "[vdrDialogButtons]" }, { kind: "directive", type: i6.DialogTitleDirective, selector: "[vdrDialogTitle]" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "pipe", type: i8.StringToColorPipe, name: "stringToColor" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
55
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: ManageTagsDialogComponent, selector: "vdr-manage-tags-dialog", ngImport: i0, template: "<ng-template vdrDialogTitle>\r\n <span>{{ 'common.manage-tags' | translate }}</span>\r\n</ng-template>\r\n<p class=\"mt0 mb-4\">{{ 'common.manage-tags-description' | translate }}</p>\r\n<ul class=\"tag-list\" *ngFor=\"let tag of allTags$ | async\">\r\n <li class=\"mb-2 p-1\" [class.to-delete]=\"markedAsDeleted(tag.id)\">\r\n <clr-icon shape=\"tag\" class=\"is-solid mr2\" [style.color]=\"tag.value | stringToColor\"></clr-icon>\r\n <input type=\"text\" (input)=\"updateTagValue(tag.id, $event.target.value)\" [value]=\"tag.value\" />\r\n <button class=\"icon-button\" (click)=\"toggleDelete(tag.id)\">\r\n <clr-icon shape=\"trash\" class=\"is-danger\" [class.is-solid]=\"markedAsDeleted(tag.id)\"></clr-icon>\r\n </button>\r\n </li>\r\n</ul>\r\n<ng-template vdrDialogButtons>\r\n <button type=\"submit\" (click)=\"resolveWith(false)\" class=\"btn btn-secondary\">\r\n {{ 'common.cancel' | translate }}\r\n </button>\r\n <button\r\n type=\"submit\"\r\n (click)=\"saveChanges()\"\r\n class=\"btn btn-primary\"\r\n [disabled]=\"!toUpdate.length && !toDelete.length\"\r\n >\r\n {{ 'common.update' | translate }}\r\n </button>\r\n</ng-template>\r\n", styles: [".tag-list{list-style-type:none}.tag-list li{display:flex;align-items:center}.tag-list li input{max-width:170px}.tag-list li.to-delete{opacity:.7;background-color:var(--color-component-bg-300)}.tag-list li.to-delete input{background-color:transparent!important}\n"], dependencies: [{ kind: "directive", type: i2.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.FormFieldControlDirective, selector: "input, textarea, select, vdr-currency-input" }, { kind: "directive", type: i5.DialogButtonsDirective, selector: "[vdrDialogButtons]" }, { kind: "directive", type: i6.DialogTitleDirective, selector: "[vdrDialogTitle]" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "pipe", type: i8.StringToColorPipe, name: "stringToColor" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
56
56
  }
57
57
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: ManageTagsDialogComponent, decorators: [{
58
58
  type: Component,
@@ -15,11 +15,11 @@ export class PageHeaderTabsComponent {
15
15
  };
16
16
  }
17
17
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: PageHeaderTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: PageHeaderTabsComponent, selector: "vdr-page-header-tabs", inputs: { tabs: "tabs" }, ngImport: i0, template: "<div class=\"tab-bar\" *ngIf=\"tabs.length\">\r\n <a\r\n [routerLink]=\"tab.route\"\r\n class=\"tab\"\r\n *ngFor=\"let tab of tabs\"\r\n routerLinkActive=\"active\"\r\n [routerLinkActiveOptions]=\"routerLinkActiveOptions\"\r\n >\r\n <clr-icon *ngIf=\"tab.icon\" [attr.shape]=\"tab.icon\"></clr-icon>\r\n {{ tab.label | translate }}\r\n </a>\r\n</div>\r\n", styles: [":host{display:block;margin-top:calc(var(--space-unit) * 2)}.tab-bar{display:flex}.tab{padding:calc(var(--space-unit) * 1) calc(var(--space-unit) * 2);border-bottom:1px solid var(--color-weight-300);margin-bottom:-1px;color:var(--color-weight-700);cursor:pointer}.tab.active{color:var(--color-text-active);border-bottom-color:var(--color-text-active)}\n"], dependencies: [{ kind: "directive", type: i1.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
18
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: PageHeaderTabsComponent, selector: "vdr-page-header-tabs", inputs: { tabs: "tabs" }, ngImport: i0, template: "<div class=\"tab-bar\" *ngIf=\"tabs.length\">\r\n <a\r\n [routerLink]=\"tab.route\"\r\n class=\"tab\"\r\n *ngFor=\"let tab of tabs\"\r\n routerLinkActive=\"active\"\r\n [routerLinkActiveOptions]=\"routerLinkActiveOptions\"\r\n >\r\n <clr-icon *ngIf=\"tab.icon\" [attr.shape]=\"tab.icon\"></clr-icon>\r\n {{ tab.label | translate }}\r\n </a>\r\n</div>\r\n", styles: [":host{display:block;margin-top:calc(var(--space-unit) * 2)}.tab-bar{display:flex}.tab-bar a:hover{color:var(--color-text-active);border-bottom-color:var(--color-text-active)}.tab{padding:calc(var(--space-unit) * 1) calc(var(--space-unit) * 2);border-bottom:1px solid var(--color-weight-300);margin-bottom:-1px;color:var(--color-weight-700);cursor:pointer}.tab.active{color:var(--color-text-active);border-bottom-color:var(--color-text-active)}\n"], dependencies: [{ kind: "directive", type: i1.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19
19
  }
20
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: PageHeaderTabsComponent, decorators: [{
21
21
  type: Component,
22
- args: [{ selector: 'vdr-page-header-tabs', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"tab-bar\" *ngIf=\"tabs.length\">\r\n <a\r\n [routerLink]=\"tab.route\"\r\n class=\"tab\"\r\n *ngFor=\"let tab of tabs\"\r\n routerLinkActive=\"active\"\r\n [routerLinkActiveOptions]=\"routerLinkActiveOptions\"\r\n >\r\n <clr-icon *ngIf=\"tab.icon\" [attr.shape]=\"tab.icon\"></clr-icon>\r\n {{ tab.label | translate }}\r\n </a>\r\n</div>\r\n", styles: [":host{display:block;margin-top:calc(var(--space-unit) * 2)}.tab-bar{display:flex}.tab{padding:calc(var(--space-unit) * 1) calc(var(--space-unit) * 2);border-bottom:1px solid var(--color-weight-300);margin-bottom:-1px;color:var(--color-weight-700);cursor:pointer}.tab.active{color:var(--color-text-active);border-bottom-color:var(--color-text-active)}\n"] }]
22
+ args: [{ selector: 'vdr-page-header-tabs', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"tab-bar\" *ngIf=\"tabs.length\">\r\n <a\r\n [routerLink]=\"tab.route\"\r\n class=\"tab\"\r\n *ngFor=\"let tab of tabs\"\r\n routerLinkActive=\"active\"\r\n [routerLinkActiveOptions]=\"routerLinkActiveOptions\"\r\n >\r\n <clr-icon *ngIf=\"tab.icon\" [attr.shape]=\"tab.icon\"></clr-icon>\r\n {{ tab.label | translate }}\r\n </a>\r\n</div>\r\n", styles: [":host{display:block;margin-top:calc(var(--space-unit) * 2)}.tab-bar{display:flex}.tab-bar a:hover{color:var(--color-text-active);border-bottom-color:var(--color-text-active)}.tab{padding:calc(var(--space-unit) * 1) calc(var(--space-unit) * 2);border-bottom:1px solid var(--color-weight-300);margin-bottom:-1px;color:var(--color-weight-700);cursor:pointer}.tab.active{color:var(--color-text-active);border-bottom-color:var(--color-text-active)}\n"] }]
23
23
  }], propDecorators: { tabs: [{
24
24
  type: Input
25
25
  }] } });
@@ -1,4 +1,4 @@
1
- import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
2
  import { BehaviorSubject, combineLatest } from 'rxjs';
3
3
  import { map, tap } from 'rxjs/operators';
4
4
  import { titleSetter } from '../../../common/title-setter';
@@ -7,8 +7,7 @@ import * as i1 from "../../../providers/breadcrumb/breadcrumb.service";
7
7
  import * as i2 from "@angular/common";
8
8
  import * as i3 from "@ngx-translate/core";
9
9
  export class PageTitleComponent {
10
- constructor(changeDetector, breadcrumbService) {
11
- this.changeDetector = changeDetector;
10
+ constructor(breadcrumbService) {
12
11
  this.breadcrumbService = breadcrumbService;
13
12
  this.title = '';
14
13
  this.titleChange$ = new BehaviorSubject(undefined);
@@ -29,13 +28,13 @@ export class PageTitleComponent {
29
28
  this.titleChange$.next(changes.title.currentValue);
30
29
  }
31
30
  }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: PageTitleComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.BreadcrumbService }], target: i0.ɵɵFactoryTarget.Component }); }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: PageTitleComponent, deps: [{ token: i1.BreadcrumbService }], target: i0.ɵɵFactoryTarget.Component }); }
33
32
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: PageTitleComponent, selector: "vdr-page-title", inputs: { title: "title" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"page-title\">\r\n <h1>{{ (title$ | async) ?? '' | translate }}</h1>\r\n <div class=\"title-actions\"><ng-content></ng-content></div>\r\n</div>\r\n", styles: [":host{display:block}.page-title{display:flex;gap:calc(var(--space-unit) * 2);margin-bottom:calc(var(--space-unit) * 2)}.page-title h1{margin-top:0;color:var(--color-weight-900);font-weight:600}@media screen and (max-width: 768px){.page-title h1{font-size:var(--font-size-xl)}}@media screen and (max-width: 992px){.page-title h1{font-size:24px}}.title-actions{display:flex;align-items:center}\n"], dependencies: [{ kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
34
33
  }
35
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: PageTitleComponent, decorators: [{
36
35
  type: Component,
37
36
  args: [{ selector: 'vdr-page-title', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"page-title\">\r\n <h1>{{ (title$ | async) ?? '' | translate }}</h1>\r\n <div class=\"title-actions\"><ng-content></ng-content></div>\r\n</div>\r\n", styles: [":host{display:block}.page-title{display:flex;gap:calc(var(--space-unit) * 2);margin-bottom:calc(var(--space-unit) * 2)}.page-title h1{margin-top:0;color:var(--color-weight-900);font-weight:600}@media screen and (max-width: 768px){.page-title h1{font-size:var(--font-size-xl)}}@media screen and (max-width: 992px){.page-title h1{font-size:24px}}.title-actions{display:flex;align-items:center}\n"] }]
38
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.BreadcrumbService }]; }, propDecorators: { title: [{
37
+ }], ctorParameters: function () { return [{ type: i1.BreadcrumbService }]; }, propDecorators: { title: [{
39
38
  type: Input
40
39
  }] } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS10aXRsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL3BhZ2UtdGl0bGUvcGFnZS10aXRsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL3BhZ2UtdGl0bGUvcGFnZS10aXRsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxLQUFLLEdBSVIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7O0FBUzNELE1BQU0sT0FBTyxrQkFBa0I7SUFNM0IsWUFBb0IsY0FBaUMsRUFBVSxpQkFBb0M7UUFBL0UsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQVUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUwxRixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1osaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBcUIsU0FBUyxDQUFDLENBQUM7UUFFakUsYUFBUSxHQUFHLFdBQVcsRUFBRSxDQUFDO0lBRW9FLENBQUM7SUFFdkcsUUFBUTtRQUNKLElBQUksQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FDcEYsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLEVBQUUsRUFBRTtZQUN6QixJQUFJLEtBQUssRUFBRTtnQkFDUCxPQUFPLEtBQUssQ0FBQzthQUNoQjtpQkFBTTtnQkFDSCxPQUFPLFdBQVcsQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQzthQUNwRDtRQUNMLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDckMsQ0FBQztJQUNOLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUN0RDtJQUNMLENBQUM7OEdBekJRLGtCQUFrQjtrR0FBbEIsa0JBQWtCLHVHQ3BCL0IsdUtBSUE7OzJGRGdCYSxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0ksZ0JBQWdCLG1CQUdULHVCQUF1QixDQUFDLE1BQU07d0lBR3RDLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkNoYW5nZXMsXHJcbiAgICBPbkluaXQsXHJcbiAgICBTaW1wbGVDaGFuZ2VzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IHRpdGxlU2V0dGVyIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3RpdGxlLXNldHRlcic7XHJcbmltcG9ydCB7IEJyZWFkY3J1bWJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItcGFnZS10aXRsZScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vcGFnZS10aXRsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFtgLi9wYWdlLXRpdGxlLmNvbXBvbmVudC5zY3NzYF0sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIFBhZ2VUaXRsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICAgIEBJbnB1dCgpIHRpdGxlID0gJyc7XHJcbiAgICBwcml2YXRlIHRpdGxlQ2hhbmdlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xyXG4gICAgcHJvdGVjdGVkIHRpdGxlJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xyXG4gICAgcmVhZG9ubHkgc2V0VGl0bGUgPSB0aXRsZVNldHRlcigpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIGJyZWFkY3J1bWJTZXJ2aWNlOiBCcmVhZGNydW1iU2VydmljZSkge31cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLnRpdGxlJCA9IGNvbWJpbmVMYXRlc3QodGhpcy50aXRsZUNoYW5nZSQsIHRoaXMuYnJlYWRjcnVtYlNlcnZpY2UuYnJlYWRjcnVtYnMkKS5waXBlKFxyXG4gICAgICAgICAgICBtYXAoKFt0aXRsZSwgYnJlYWRjcnVtYnNdKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGl0bGUpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGl0bGU7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBicmVhZGNydW1ic1ticmVhZGNydW1icy5sZW5ndGggLSAxXS5sYWJlbDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIHRhcCh0aXRsZSA9PiB0aGlzLnNldFRpdGxlKHRpdGxlKSksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAgICAgaWYgKGNoYW5nZXMudGl0bGUpIHtcclxuICAgICAgICAgICAgdGhpcy50aXRsZUNoYW5nZSQubmV4dChjaGFuZ2VzLnRpdGxlLmN1cnJlbnRWYWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJwYWdlLXRpdGxlXCI+XHJcbiAgICA8aDE+e3sgKHRpdGxlJCB8IGFzeW5jKSA/PyAnJyB8IHRyYW5zbGF0ZSB9fTwvaDE+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGl0bGUtYWN0aW9uc1wiPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS10aXRsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL3BhZ2UtdGl0bGUvcGFnZS10aXRsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL3BhZ2UtdGl0bGUvcGFnZS10aXRsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7O0FBUzNELE1BQU0sT0FBTyxrQkFBa0I7SUFNM0IsWUFBb0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFML0MsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNaLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQXFCLFNBQVMsQ0FBQyxDQUFDO1FBRWpFLGFBQVEsR0FBRyxXQUFXLEVBQUUsQ0FBQztJQUV5QixDQUFDO0lBRTVELFFBQVE7UUFDSixJQUFJLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQ3BGLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxFQUFFLEVBQUU7WUFDekIsSUFBSSxLQUFLLEVBQUU7Z0JBQ1AsT0FBTyxLQUFLLENBQUM7YUFDaEI7aUJBQU07Z0JBQ0gsT0FBTyxXQUFXLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7YUFDcEQ7UUFDTCxDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ3JDLENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDdEQ7SUFDTCxDQUFDOzhHQXpCUSxrQkFBa0I7a0dBQWxCLGtCQUFrQix1R0NaL0IsdUtBSUE7OzJGRFFhLGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFDSSxnQkFBZ0IsbUJBR1QsdUJBQXVCLENBQUMsTUFBTTt3R0FHdEMsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgdGl0bGVTZXR0ZXIgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdGl0bGUtc2V0dGVyJztcclxuaW1wb3J0IHsgQnJlYWRjcnVtYlNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvYnJlYWRjcnVtYi9icmVhZGNydW1iLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1wYWdlLXRpdGxlJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9wYWdlLXRpdGxlLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogW2AuL3BhZ2UtdGl0bGUuY29tcG9uZW50LnNjc3NgXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFnZVRpdGxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gICAgQElucHV0KCkgdGl0bGUgPSAnJztcclxuICAgIHByaXZhdGUgdGl0bGVDaGFuZ2UkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcbiAgICBwcm90ZWN0ZWQgdGl0bGUkOiBPYnNlcnZhYmxlPHN0cmluZz47XHJcbiAgICByZWFkb25seSBzZXRUaXRsZSA9IHRpdGxlU2V0dGVyKCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBicmVhZGNydW1iU2VydmljZTogQnJlYWRjcnVtYlNlcnZpY2UpIHt9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy50aXRsZSQgPSBjb21iaW5lTGF0ZXN0KHRoaXMudGl0bGVDaGFuZ2UkLCB0aGlzLmJyZWFkY3J1bWJTZXJ2aWNlLmJyZWFkY3J1bWJzJCkucGlwZShcclxuICAgICAgICAgICAgbWFwKChbdGl0bGUsIGJyZWFkY3J1bWJzXSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRpdGxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRpdGxlO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYnJlYWRjcnVtYnNbYnJlYWRjcnVtYnMubGVuZ3RoIC0gMV0ubGFiZWw7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICB0YXAodGl0bGUgPT4gdGhpcy5zZXRUaXRsZSh0aXRsZSkpLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgICAgIGlmIChjaGFuZ2VzLnRpdGxlKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGl0bGVDaGFuZ2UkLm5leHQoY2hhbmdlcy50aXRsZS5jdXJyZW50VmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicGFnZS10aXRsZVwiPlxyXG4gICAgPGgxPnt7ICh0aXRsZSQgfCBhc3luYykgPz8gJycgfCB0cmFuc2xhdGUgfX08L2gxPlxyXG4gICAgPGRpdiBjbGFzcz1cInRpdGxlLWFjdGlvbnNcIj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -39,7 +39,7 @@ export class RadioCardComponent {
39
39
  return this.fieldset.idFn(item);
40
40
  }
41
41
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: RadioCardComponent, deps: [{ token: i1.RadioCardFieldsetComponent }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
42
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: RadioCardComponent, selector: "vdr-radio-card", inputs: { item: "item" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: TemplateRef, descendants: true }], exportAs: ["VdrRadioCard"], ngImport: i0, template: "<label\r\n [ngClass]=\"{\r\n 'selected': isSelected(item),\r\n 'focussed': isFocussed(item)\r\n }\"\r\n class=\"radio-card\"\r\n>\r\n <input\r\n type=\"radio\"\r\n [name]=\"name\"\r\n [value]=\"getItemId(item)\"\r\n class=\"hidden\"\r\n (focus)=\"setFocussedId(item)\"\r\n (blur)=\"setFocussedId(undefined)\"\r\n (change)=\"selectChanged(item)\"\r\n />\r\n <vdr-select-toggle [selected]=\"isSelected(item)\" size=\"small\"></vdr-select-toggle>\r\n <div class=\"content\">\r\n <ng-content></ng-content>\r\n </div>\r\n</label>\r\n", styles: [":host{display:inline-block}.radio-card{background:none;position:relative;display:block;border:1px solid var(--clr-btn-default-border-color, #0072a3);border-radius:var(--clr-btn-border-radius, .15rem);padding:6px;text-align:start;margin:6px}.radio-card:hover{cursor:pointer;outline:1px solid var(--color-primary-500)}.radio-card.selected{outline:1px solid var(--color-primary-500);background-color:var(--color-primary-100)}input.hidden{visibility:hidden;position:absolute}vdr-select-toggle{position:absolute;top:3px;left:3px}.content{margin-inline-start:24px}\n"], dependencies: [{ kind: "directive", type: i2.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "component", type: i5.SelectToggleComponent, selector: "vdr-select-toggle", inputs: ["size", "selected", "hiddenWhenOff", "disabled", "label"], outputs: ["selectedChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
42
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: RadioCardComponent, selector: "vdr-radio-card", inputs: { item: "item" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: TemplateRef, descendants: true }], exportAs: ["VdrRadioCard"], ngImport: i0, template: "<label\r\n [ngClass]=\"{\r\n 'selected': isSelected(item),\r\n 'focussed': isFocussed(item)\r\n }\"\r\n class=\"radio-card\"\r\n>\r\n <input\r\n type=\"radio\"\r\n [name]=\"name\"\r\n [value]=\"getItemId(item)\"\r\n class=\"hidden\"\r\n (focus)=\"setFocussedId(item)\"\r\n (blur)=\"setFocussedId(undefined)\"\r\n (change)=\"selectChanged(item)\"\r\n />\r\n <vdr-select-toggle [selected]=\"isSelected(item)\" size=\"small\"></vdr-select-toggle>\r\n <div class=\"content\">\r\n <ng-content></ng-content>\r\n </div>\r\n</label>\r\n", styles: [":host{display:inline-block}.radio-card{background:none;position:relative;display:block;border:1px solid var(--clr-btn-default-border-color, #0072a3);border-radius:var(--clr-btn-border-radius, .15rem);padding:6px;text-align:start;margin:6px}.radio-card:hover{cursor:pointer;outline:1px solid var(--color-primary-500)}.radio-card.selected{outline:1px solid var(--color-primary-500);background-color:var(--color-primary-100)}input.hidden{visibility:hidden;position:absolute}vdr-select-toggle{position:absolute;top:3px;left:3px}.content{margin-inline-start:24px}\n"], dependencies: [{ kind: "directive", type: i2.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.FormFieldControlDirective, selector: "input, textarea, select, vdr-currency-input" }, { kind: "component", type: i5.SelectToggleComponent, selector: "vdr-select-toggle", inputs: ["size", "selected", "hiddenWhenOff", "disabled", "label"], outputs: ["selectedChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
43
43
  }
44
44
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: RadioCardComponent, decorators: [{
45
45
  type: Component,
@@ -28,7 +28,7 @@ export class ExternalImageDialogComponent {
28
28
  this.previewLoaded = false;
29
29
  }
30
30
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: ExternalImageDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
31
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: ExternalImageDialogComponent, selector: "vdr-external-image-dialog", ngImport: i0, template: "<div class=\"flex\">\r\n <form [formGroup]=\"form\" class=\"flex-spacer\" clrForm clrLayout=\"vertical\">\r\n <clr-input-container class=\"expand\">\r\n <label>{{ 'editor.image-src' | translate }}</label>\r\n <input clrInput type=\"text\" formControlName=\"src\" />\r\n </clr-input-container>\r\n <clr-input-container class=\"expand\">\r\n <label>{{ 'editor.image-title' | translate }}</label>\r\n <input clrInput type=\"text\" formControlName=\"title\" />\r\n </clr-input-container>\r\n <clr-input-container class=\"expand\">\r\n <label>{{ 'editor.image-alt' | translate }}</label>\r\n <input clrInput type=\"text\" formControlName=\"alt\" />\r\n </clr-input-container>\r\n </form>\r\n <div class=\"preview\">\r\n <img\r\n [src]=\"form.get('src')?.value\"\r\n [class.visible]=\"previewLoaded\"\r\n (load)=\"onImageLoad($event)\"\r\n (error)=\"onImageError($event)\"\r\n />\r\n <div class=\"placeholder\" *ngIf=\"!previewLoaded\">\r\n <clr-icon shape=\"image\" size=\"128\"></clr-icon>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template vdrDialogButtons>\r\n <button type=\"submit\" (click)=\"select()\" class=\"btn btn-primary\" [disabled]=\"form.invalid || !previewLoaded\">\r\n <ng-container *ngIf=\"existing; else doesNotExist\">{{ 'common.update' | translate }}</ng-container>\r\n <ng-template #doesNotExist>{{ 'editor.insert-image' | translate }}</ng-template>\r\n </button>\r\n</ng-template>\r\n", styles: [".preview{display:flex;align-items:center;justify-content:center;max-width:150px;margin-inline-start:12px}.preview img{max-width:100%;display:none}.preview img.visible{display:block}.preview .placeholder{color:var(--color-grey-300)}\n"], dependencies: [{ kind: "directive", type: i1.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i1.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i1.ClrForm, selector: "[clrForm]", inputs: ["clrLabelSize"] }, { kind: "directive", type: i1.ClrLayout, selector: "[clrForm][clrLayout]", inputs: ["clrLayout"] }, { kind: "directive", type: i1.ClrInput, selector: "[clrInput]" }, { kind: "component", type: i1.ClrInputContainer, selector: "clr-input-container" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "directive", type: i5.DialogButtonsDirective, selector: "[vdrDialogButtons]" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: ExternalImageDialogComponent, selector: "vdr-external-image-dialog", ngImport: i0, template: "<div class=\"flex\">\r\n <form [formGroup]=\"form\" class=\"flex-spacer\" clrForm clrLayout=\"vertical\">\r\n <clr-input-container class=\"expand\">\r\n <label>{{ 'editor.image-src' | translate }}</label>\r\n <input clrInput type=\"text\" formControlName=\"src\" />\r\n </clr-input-container>\r\n <clr-input-container class=\"expand\">\r\n <label>{{ 'editor.image-title' | translate }}</label>\r\n <input clrInput type=\"text\" formControlName=\"title\" />\r\n </clr-input-container>\r\n <clr-input-container class=\"expand\">\r\n <label>{{ 'editor.image-alt' | translate }}</label>\r\n <input clrInput type=\"text\" formControlName=\"alt\" />\r\n </clr-input-container>\r\n </form>\r\n <div class=\"preview\">\r\n <img\r\n [src]=\"form.get('src')?.value\"\r\n [class.visible]=\"previewLoaded\"\r\n (load)=\"onImageLoad($event)\"\r\n (error)=\"onImageError($event)\"\r\n />\r\n <div class=\"placeholder\" *ngIf=\"!previewLoaded\">\r\n <clr-icon shape=\"image\" size=\"128\"></clr-icon>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template vdrDialogButtons>\r\n <button type=\"submit\" (click)=\"select()\" class=\"btn btn-primary\" [disabled]=\"form.invalid || !previewLoaded\">\r\n <ng-container *ngIf=\"existing; else doesNotExist\">{{ 'common.update' | translate }}</ng-container>\r\n <ng-template #doesNotExist>{{ 'editor.insert-image' | translate }}</ng-template>\r\n </button>\r\n</ng-template>\r\n", styles: [".preview{display:flex;align-items:center;justify-content:center;max-width:150px;margin-inline-start:12px}.preview img{max-width:100%;display:none}.preview img.visible{display:block}.preview .placeholder{color:var(--color-grey-300)}\n"], dependencies: [{ kind: "directive", type: i1.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i1.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i1.ClrForm, selector: "[clrForm]", inputs: ["clrLabelSize"] }, { kind: "directive", type: i1.ClrLayout, selector: "[clrForm][clrLayout]", inputs: ["clrLayout"] }, { kind: "directive", type: i1.ClrInput, selector: "[clrInput]" }, { kind: "component", type: i1.ClrInputContainer, selector: "clr-input-container" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.FormFieldControlDirective, selector: "input, textarea, select, vdr-currency-input" }, { kind: "directive", type: i5.DialogButtonsDirective, selector: "[vdrDialogButtons]" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
32
32
  }
33
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: ExternalImageDialogComponent, decorators: [{
34
34
  type: Component,
@@ -26,7 +26,7 @@ export class LinkDialogComponent {
26
26
  this.resolveWith(this.form.value);
27
27
  }
28
28
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: LinkDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
29
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: LinkDialogComponent, selector: "vdr-link-dialog", ngImport: i0, template: "<form [formGroup]=\"form\">\r\n <div class=\"form-grid\">\r\n <vdr-form-field [label]=\"'editor.link-href' | translate\" for=\"href\" class=\"form-grid-span\">\r\n <input id=\"href\" type=\"text\" formControlName=\"href\"/>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'editor.link-title' | translate\" for=\"title\">\r\n <input id=\"title\" type=\"text\" formControlName=\"title\"/>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'editor.link-target' | translate\" for=\"target\">\r\n <select id=\"target\" formControlName=\"target\">\r\n <option value=\"\"></option>\r\n <option value=\"_self\">_self</option>\r\n <option value=\"_blank\">_blank</option>\r\n <option value=\"_parent\">_parent</option>\r\n <option value=\"_top\">_top</option>\r\n </select>\r\n </vdr-form-field>\r\n </div>\r\n</form>\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"remove()\" *ngIf=\"existing\">\r\n <clr-icon shape=\"unlink\"></clr-icon>\r\n {{ 'editor.remove-link' | translate }}\r\n </button>\r\n <button type=\"submit\" (click)=\"select()\" class=\"btn btn-primary\" [disabled]=\"form.invalid\">\r\n {{ 'editor.set-link' | translate }}\r\n </button>\r\n</ng-template>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.FormFieldComponent, selector: "vdr-form-field", inputs: ["label", "for", "tooltip", "errors", "readOnlyToggle"] }, { kind: "directive", type: i5.FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "directive", type: i6.DialogButtonsDirective, selector: "[vdrDialogButtons]" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
29
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: LinkDialogComponent, selector: "vdr-link-dialog", ngImport: i0, template: "<form [formGroup]=\"form\">\r\n <div class=\"form-grid\">\r\n <vdr-form-field [label]=\"'editor.link-href' | translate\" for=\"href\" class=\"form-grid-span\">\r\n <input id=\"href\" type=\"text\" formControlName=\"href\"/>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'editor.link-title' | translate\" for=\"title\">\r\n <input id=\"title\" type=\"text\" formControlName=\"title\"/>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'editor.link-target' | translate\" for=\"target\">\r\n <select id=\"target\" formControlName=\"target\">\r\n <option value=\"\"></option>\r\n <option value=\"_self\">_self</option>\r\n <option value=\"_blank\">_blank</option>\r\n <option value=\"_parent\">_parent</option>\r\n <option value=\"_top\">_top</option>\r\n </select>\r\n </vdr-form-field>\r\n </div>\r\n</form>\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"remove()\" *ngIf=\"existing\">\r\n <clr-icon shape=\"unlink\"></clr-icon>\r\n {{ 'editor.remove-link' | translate }}\r\n </button>\r\n <button type=\"submit\" (click)=\"select()\" class=\"btn btn-primary\" [disabled]=\"form.invalid\">\r\n {{ 'editor.set-link' | translate }}\r\n </button>\r\n</ng-template>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.FormFieldComponent, selector: "vdr-form-field", inputs: ["label", "for", "tooltip", "errors", "readOnlyToggle"], outputs: ["readOnlyToggleChange"] }, { kind: "directive", type: i5.FormFieldControlDirective, selector: "input, textarea, select, vdr-currency-input" }, { kind: "directive", type: i6.DialogButtonsDirective, selector: "[vdrDialogButtons]" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
30
30
  }
31
31
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: LinkDialogComponent, decorators: [{
32
32
  type: Component,
@@ -24,11 +24,11 @@ export class TimelineEntryComponent {
24
24
  }
25
25
  }
26
26
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: TimelineEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
27
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: TimelineEntryComponent, selector: "vdr-timeline-entry", inputs: { displayType: "displayType", createdAt: "createdAt", name: "name", featured: "featured", iconShape: "iconShape", isLast: "isLast", collapsed: "collapsed" }, outputs: { expandClick: "expandClick" }, host: { properties: { "class.collapsed": "this.collapsed" } }, ngImport: i0, template: "<div\r\n [ngClass]=\"displayType\"\r\n [class.has-custom-icon]=\"!!iconShape\"\r\n class=\"entry\"\r\n [class.last]=\"isLast === true\"\r\n [class.collapsed]=\"collapsed\"\r\n>\r\n <div class=\"timeline\" (click)=\"expandClick.emit()\" [title]=\"timelineTitle | translate\">\r\n <div class=\"custom-icon\">\r\n <clr-icon\r\n *ngIf=\"iconShape && !collapsed\"\r\n [attr.shape]=\"getIconShape()\"\r\n [ngClass]=\"getIconClass()\"\r\n size=\"24\"\r\n ></clr-icon>\r\n </div>\r\n </div>\r\n <div class=\"entry-body\">\r\n <div class=\"detail\">\r\n <div class=\"time\">\r\n {{ createdAt | localeDate: 'short' }}\r\n </div>\r\n <div class=\"name\">\r\n {{ name || '' }}\r\n </div>\r\n </div>\r\n <div [class.featured-entry]=\"featured\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [":host{display:block}:host:first-of-type .timeline:before{border-left-color:var(--color-timeline-thread)}:host:first-of-type .entry-body{max-height:initial}.entry{display:flex}.timeline{border-inline-start:2px solid var(--color-timeline-thread);padding-bottom:8px;position:relative}.timeline:before{content:\"\";position:absolute;width:2px;height:32px;left:-2px;border-inline-start:2px solid var(--color-timeline-thread)}.timeline:after{content:\"\";display:block;border-radius:50%;width:8px;height:8px;background-color:var(--color-component-bg-200);border:1px solid var(--color-component-border-300);position:absolute;left:-5px;top:32px;transition:top .2s;cursor:pointer}.timeline .custom-icon{position:absolute;width:32px;height:32px;left:-17px;top:32px;align-items:center;justify-content:center;border-radius:50%;color:var(--color-primary-700);background-color:var(--color-component-bg-100);border:1px solid var(--color-component-border-200);display:none}.entry.has-custom-icon .timeline:after{display:none}.entry.has-custom-icon .custom-icon{display:flex}.entry.last .timeline{border-left-color:transparent}.entry-body{flex:1;padding-top:24px;padding-inline-start:12px;line-height:16px;margin-inline-start:12px;color:var(--color-text-200);overflow:visible;max-height:100px;transition:max-height .2s,padding-top .2s,opacity .2s .2s}.featured-entry ::ng-deep .title{color:var(--color-text-100);font-size:16px;line-height:26px}.featured-entry ::ng-deep .note-text{color:var(--color-text-100);white-space:pre-wrap}.detail{display:flex;color:var(--color-text-300);font-size:12px}.detail .name{margin-inline-start:12px}.muted .timeline,.muted .timeline .custom-icon{color:var(--color-text-300)}.success .timeline,.success .timeline .custom-icon{color:var(--color-success-700)}.success .timeline:after{background-color:var(--color-success-200);border:1px solid var(--color-success-400)}.error .timeline,.error .timeline .custom-icon{color:var(--color-error-700)}.error .timeline:after{background-color:var(--color-error-200);border:1px solid var(--color-error-400)}.warning .timeline,.warning .timeline .custom-icon{color:var(--color-warning-700)}.warning .timeline:after{background-color:var(--color-warning-200);border:1px solid var(--color-warning-400)}.collapsed .entry-body{max-height:0;overflow:hidden;opacity:0;padding-top:0}.collapsed .timeline{border-left-color:transparent}.collapsed .timeline:after{top:0}\n"], dependencies: [{ kind: "directive", type: i1.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: i4.LocaleDatePipe, name: "localeDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: TimelineEntryComponent, selector: "vdr-timeline-entry", inputs: { displayType: "displayType", createdAt: "createdAt", name: "name", featured: "featured", iconShape: "iconShape", isLast: "isLast", collapsed: "collapsed" }, outputs: { expandClick: "expandClick" }, host: { properties: { "class.collapsed": "this.collapsed" } }, ngImport: i0, template: "<div\r\n [ngClass]=\"displayType\"\r\n [class.has-custom-icon]=\"!!iconShape\"\r\n class=\"entry\"\r\n [class.last]=\"isLast === true\"\r\n [class.collapsed]=\"collapsed\"\r\n>\r\n <div class=\"timeline\" (click)=\"expandClick.emit()\" [title]=\"timelineTitle | translate\">\r\n <div class=\"custom-icon\">\r\n <clr-icon\r\n *ngIf=\"iconShape && !collapsed\"\r\n [attr.shape]=\"getIconShape()\"\r\n [ngClass]=\"getIconClass()\"\r\n size=\"24\"\r\n ></clr-icon>\r\n </div>\r\n </div>\r\n <div class=\"entry-body\">\r\n <div class=\"detail\">\r\n <div class=\"time\">\r\n {{ createdAt | localeDate: 'short' }}\r\n </div>\r\n <div class=\"name\">\r\n {{ name || '' }}\r\n </div>\r\n </div>\r\n <div [class.featured-entry]=\"featured\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [":host{display:block}:host:first-of-type .timeline:before{border-left-color:var(--color-weight-200)}:host:first-of-type .entry-body{max-height:initial}@media screen and (min-width: 768px){:host:first-of-type .entry-body{flex-direction:column}}:host:first-of-type .featured-entry{width:100%}.entry{display:flex}.entry:not(.collapsed):hover{background-color:var(--color-table-row-hover-bg)}.timeline{border-inline-start:2px solid var(--color-weight-200);padding-bottom:8px;position:relative}.timeline:before{content:\"\";position:absolute;width:2px;height:32px;left:-2px;border-inline-start:2px solid var(--color-weight-200)}.timeline:after{content:\"\";display:block;border-radius:50%;width:8px;height:8px;background-color:var(--color-weight-100);border:1px solid var(--color-weight-300);position:absolute;left:-5px;top:42%;transition:top .2s;cursor:pointer;outline:2px solid var(--color-card-bg)}.timeline .custom-icon{position:absolute;width:32px;height:32px;left:-17px;top:30%;align-items:center;justify-content:center;border-radius:50%;color:var(--color-primary-700);background-color:var(--color-weight-100);border:1px solid var(--color-weight-200);outline:7px solid var(--color-card-bg);padding:6px;display:none}.entry.has-custom-icon .timeline:after{display:none}.entry.has-custom-icon .custom-icon{display:flex}.entry.last .timeline{border-left-color:transparent}.entry-body{font-size:var(--font-size-xs);flex:1;padding:16px 0;padding-inline-start:12px;line-height:16px;margin-inline-start:12px;color:var(--color-text-200);overflow:visible;max-height:100px;transition:max-height .2s,padding-top .2s,opacity .2s .2s}@media screen and (min-width: 768px){.entry-body{display:flex;gap:var(--space-unit);flex-direction:row-reverse;justify-content:space-between;align-items:center;padding-inline-end:var(--space-unit)}}.featured-entry ::ng-deep .title{color:var(--color-text-100);font-size:var(--font-size-sm);line-height:26px;display:flex;align-items:center;gap:var(--space-unit)}.featured-entry ::ng-deep .note-text{color:var(--color-text-100);white-space:pre-wrap}.detail{display:flex;gap:12px;color:var(--color-text-300);font-size:var(--font-size-xs)}@media screen and (min-width: 768px){.detail{flex-direction:row-reverse}}.muted .timeline,.muted .timeline .custom-icon{color:var(--color-text-300)}.success .timeline,.success .timeline .custom-icon{color:var(--color-success-700)}.success .timeline:after{background-color:var(--color-success-200);border:1px solid var(--color-success-400)}.error .timeline,.error .timeline .custom-icon{color:var(--color-error-700)}.error .timeline:after{background-color:var(--color-error-200);border:1px solid var(--color-error-400)}.warning .timeline,.warning .timeline .custom-icon{color:var(--color-warning-700)}.warning .timeline:after{background-color:var(--color-warning-200);border:1px solid var(--color-warning-600)}.collapsed .entry-body{max-height:0;overflow:hidden;opacity:0;padding:0}.collapsed .timeline{border-left-color:transparent}.collapsed .timeline:after{top:0}\n"], dependencies: [{ kind: "directive", type: i1.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: i4.LocaleDatePipe, name: "localeDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28
28
  }
29
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: TimelineEntryComponent, decorators: [{
30
30
  type: Component,
31
- args: [{ selector: 'vdr-timeline-entry', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n [ngClass]=\"displayType\"\r\n [class.has-custom-icon]=\"!!iconShape\"\r\n class=\"entry\"\r\n [class.last]=\"isLast === true\"\r\n [class.collapsed]=\"collapsed\"\r\n>\r\n <div class=\"timeline\" (click)=\"expandClick.emit()\" [title]=\"timelineTitle | translate\">\r\n <div class=\"custom-icon\">\r\n <clr-icon\r\n *ngIf=\"iconShape && !collapsed\"\r\n [attr.shape]=\"getIconShape()\"\r\n [ngClass]=\"getIconClass()\"\r\n size=\"24\"\r\n ></clr-icon>\r\n </div>\r\n </div>\r\n <div class=\"entry-body\">\r\n <div class=\"detail\">\r\n <div class=\"time\">\r\n {{ createdAt | localeDate: 'short' }}\r\n </div>\r\n <div class=\"name\">\r\n {{ name || '' }}\r\n </div>\r\n </div>\r\n <div [class.featured-entry]=\"featured\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [":host{display:block}:host:first-of-type .timeline:before{border-left-color:var(--color-timeline-thread)}:host:first-of-type .entry-body{max-height:initial}.entry{display:flex}.timeline{border-inline-start:2px solid var(--color-timeline-thread);padding-bottom:8px;position:relative}.timeline:before{content:\"\";position:absolute;width:2px;height:32px;left:-2px;border-inline-start:2px solid var(--color-timeline-thread)}.timeline:after{content:\"\";display:block;border-radius:50%;width:8px;height:8px;background-color:var(--color-component-bg-200);border:1px solid var(--color-component-border-300);position:absolute;left:-5px;top:32px;transition:top .2s;cursor:pointer}.timeline .custom-icon{position:absolute;width:32px;height:32px;left:-17px;top:32px;align-items:center;justify-content:center;border-radius:50%;color:var(--color-primary-700);background-color:var(--color-component-bg-100);border:1px solid var(--color-component-border-200);display:none}.entry.has-custom-icon .timeline:after{display:none}.entry.has-custom-icon .custom-icon{display:flex}.entry.last .timeline{border-left-color:transparent}.entry-body{flex:1;padding-top:24px;padding-inline-start:12px;line-height:16px;margin-inline-start:12px;color:var(--color-text-200);overflow:visible;max-height:100px;transition:max-height .2s,padding-top .2s,opacity .2s .2s}.featured-entry ::ng-deep .title{color:var(--color-text-100);font-size:16px;line-height:26px}.featured-entry ::ng-deep .note-text{color:var(--color-text-100);white-space:pre-wrap}.detail{display:flex;color:var(--color-text-300);font-size:12px}.detail .name{margin-inline-start:12px}.muted .timeline,.muted .timeline .custom-icon{color:var(--color-text-300)}.success .timeline,.success .timeline .custom-icon{color:var(--color-success-700)}.success .timeline:after{background-color:var(--color-success-200);border:1px solid var(--color-success-400)}.error .timeline,.error .timeline .custom-icon{color:var(--color-error-700)}.error .timeline:after{background-color:var(--color-error-200);border:1px solid var(--color-error-400)}.warning .timeline,.warning .timeline .custom-icon{color:var(--color-warning-700)}.warning .timeline:after{background-color:var(--color-warning-200);border:1px solid var(--color-warning-400)}.collapsed .entry-body{max-height:0;overflow:hidden;opacity:0;padding-top:0}.collapsed .timeline{border-left-color:transparent}.collapsed .timeline:after{top:0}\n"] }]
31
+ args: [{ selector: 'vdr-timeline-entry', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n [ngClass]=\"displayType\"\r\n [class.has-custom-icon]=\"!!iconShape\"\r\n class=\"entry\"\r\n [class.last]=\"isLast === true\"\r\n [class.collapsed]=\"collapsed\"\r\n>\r\n <div class=\"timeline\" (click)=\"expandClick.emit()\" [title]=\"timelineTitle | translate\">\r\n <div class=\"custom-icon\">\r\n <clr-icon\r\n *ngIf=\"iconShape && !collapsed\"\r\n [attr.shape]=\"getIconShape()\"\r\n [ngClass]=\"getIconClass()\"\r\n size=\"24\"\r\n ></clr-icon>\r\n </div>\r\n </div>\r\n <div class=\"entry-body\">\r\n <div class=\"detail\">\r\n <div class=\"time\">\r\n {{ createdAt | localeDate: 'short' }}\r\n </div>\r\n <div class=\"name\">\r\n {{ name || '' }}\r\n </div>\r\n </div>\r\n <div [class.featured-entry]=\"featured\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [":host{display:block}:host:first-of-type .timeline:before{border-left-color:var(--color-weight-200)}:host:first-of-type .entry-body{max-height:initial}@media screen and (min-width: 768px){:host:first-of-type .entry-body{flex-direction:column}}:host:first-of-type .featured-entry{width:100%}.entry{display:flex}.entry:not(.collapsed):hover{background-color:var(--color-table-row-hover-bg)}.timeline{border-inline-start:2px solid var(--color-weight-200);padding-bottom:8px;position:relative}.timeline:before{content:\"\";position:absolute;width:2px;height:32px;left:-2px;border-inline-start:2px solid var(--color-weight-200)}.timeline:after{content:\"\";display:block;border-radius:50%;width:8px;height:8px;background-color:var(--color-weight-100);border:1px solid var(--color-weight-300);position:absolute;left:-5px;top:42%;transition:top .2s;cursor:pointer;outline:2px solid var(--color-card-bg)}.timeline .custom-icon{position:absolute;width:32px;height:32px;left:-17px;top:30%;align-items:center;justify-content:center;border-radius:50%;color:var(--color-primary-700);background-color:var(--color-weight-100);border:1px solid var(--color-weight-200);outline:7px solid var(--color-card-bg);padding:6px;display:none}.entry.has-custom-icon .timeline:after{display:none}.entry.has-custom-icon .custom-icon{display:flex}.entry.last .timeline{border-left-color:transparent}.entry-body{font-size:var(--font-size-xs);flex:1;padding:16px 0;padding-inline-start:12px;line-height:16px;margin-inline-start:12px;color:var(--color-text-200);overflow:visible;max-height:100px;transition:max-height .2s,padding-top .2s,opacity .2s .2s}@media screen and (min-width: 768px){.entry-body{display:flex;gap:var(--space-unit);flex-direction:row-reverse;justify-content:space-between;align-items:center;padding-inline-end:var(--space-unit)}}.featured-entry ::ng-deep .title{color:var(--color-text-100);font-size:var(--font-size-sm);line-height:26px;display:flex;align-items:center;gap:var(--space-unit)}.featured-entry ::ng-deep .note-text{color:var(--color-text-100);white-space:pre-wrap}.detail{display:flex;gap:12px;color:var(--color-text-300);font-size:var(--font-size-xs)}@media screen and (min-width: 768px){.detail{flex-direction:row-reverse}}.muted .timeline,.muted .timeline .custom-icon{color:var(--color-text-300)}.success .timeline,.success .timeline .custom-icon{color:var(--color-success-700)}.success .timeline:after{background-color:var(--color-success-200);border:1px solid var(--color-success-400)}.error .timeline,.error .timeline .custom-icon{color:var(--color-error-700)}.error .timeline:after{background-color:var(--color-error-200);border:1px solid var(--color-error-400)}.warning .timeline,.warning .timeline .custom-icon{color:var(--color-warning-700)}.warning .timeline:after{background-color:var(--color-warning-200);border:1px solid var(--color-warning-600)}.collapsed .entry-body{max-height:0;overflow:hidden;opacity:0;padding:0}.collapsed .timeline{border-left-color:transparent}.collapsed .timeline:after{top:0}\n"] }]
32
32
  }], propDecorators: { displayType: [{
33
33
  type: Input
34
34
  }], createdAt: [{
@@ -14,7 +14,7 @@ import * as i4 from "../../directives/disabled.directive";
14
14
  export class BooleanFormInputComponent {
15
15
  static { this.id = 'boolean-form-input'; }
16
16
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: BooleanFormInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: BooleanFormInputComponent, selector: "vdr-boolean-form-input", ngImport: i0, template: "<clr-checkbox-wrapper>\r\n <input\r\n type=\"checkbox\"\r\n clrCheckbox\r\n [formControl]=\"formControl\"\r\n [vdrDisabled]=\"!!readonly\"\r\n />\r\n</clr-checkbox-wrapper>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.ClrCheckbox, selector: "[clrCheckbox],[clrToggle]" }, { kind: "component", type: i1.ClrCheckboxWrapper, selector: "clr-checkbox-wrapper,clr-toggle-wrapper" }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "directive", type: i4.DisabledDirective, selector: "[vdrDisabled]", inputs: ["vdrDisabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: BooleanFormInputComponent, selector: "vdr-boolean-form-input", ngImport: i0, template: "<clr-checkbox-wrapper>\r\n <input\r\n type=\"checkbox\"\r\n clrCheckbox\r\n [formControl]=\"formControl\"\r\n [vdrDisabled]=\"!!readonly\"\r\n />\r\n</clr-checkbox-wrapper>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.ClrCheckbox, selector: "[clrCheckbox],[clrToggle]" }, { kind: "component", type: i1.ClrCheckboxWrapper, selector: "clr-checkbox-wrapper,clr-toggle-wrapper" }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormFieldControlDirective, selector: "input, textarea, select, vdr-currency-input" }, { kind: "directive", type: i4.DisabledDirective, selector: "[vdrDisabled]", inputs: ["vdrDisabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
18
18
  }
19
19
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: BooleanFormInputComponent, decorators: [{
20
20
  type: Component,
@@ -3,7 +3,8 @@ import * as i0 from "@angular/core";
3
3
  import * as i1 from "../../../data/providers/data.service";
4
4
  import * as i2 from "@angular/forms";
5
5
  import * as i3 from "../../components/currency-input/currency-input.component";
6
- import * as i4 from "@angular/common";
6
+ import * as i4 from "../../components/form-field/form-field-control.directive";
7
+ import * as i5 from "@angular/common";
7
8
  /**
8
9
  * @description
9
10
  * An input for monetary values. Should be used with `int` type fields.
@@ -20,7 +21,7 @@ export class CurrencyFormInputComponent {
20
21
  .mapStream(data => data.activeChannel.defaultCurrencyCode);
21
22
  }
22
23
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: CurrencyFormInputComponent, deps: [{ token: i1.DataService }], target: i0.ɵɵFactoryTarget.Component }); }
23
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: CurrencyFormInputComponent, selector: "vdr-currency-form-input", inputs: { readonly: "readonly" }, ngImport: i0, template: "<vdr-currency-input\r\n [formControl]=\"formControl\"\r\n [readonly]=\"readonly\"\r\n [currencyCode]=\"currencyCode$ | async\"\r\n></vdr-currency-input>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.CurrencyInputComponent, selector: "vdr-currency-input", inputs: ["disabled", "readonly", "value", "currencyCode"], outputs: ["valueChange"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: CurrencyFormInputComponent, selector: "vdr-currency-form-input", inputs: { readonly: "readonly" }, ngImport: i0, template: "<vdr-currency-input\r\n [formControl]=\"formControl\"\r\n [readonly]=\"readonly\"\r\n [currencyCode]=\"currencyCode$ | async\"\r\n></vdr-currency-input>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.CurrencyInputComponent, selector: "vdr-currency-input", inputs: ["disabled", "readonly", "value", "currencyCode"], outputs: ["valueChange"] }, { kind: "directive", type: i4.FormFieldControlDirective, selector: "input, textarea, select, vdr-currency-input" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24
25
  }
25
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: CurrencyFormInputComponent, decorators: [{
26
27
  type: Component,
@@ -28,4 +29,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImpor
28
29
  }], ctorParameters: function () { return [{ type: i1.DataService }]; }, propDecorators: { readonly: [{
29
30
  type: Input
30
31
  }] } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktZm9ybS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9keW5hbWljLWZvcm0taW5wdXRzL2N1cnJlbmN5LWZvcm0taW5wdXQvY3VycmVuY3ktZm9ybS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9keW5hbWljLWZvcm0taW5wdXRzL2N1cnJlbmN5LWZvcm0taW5wdXQvY3VycmVuY3ktZm9ybS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBUzFFOzs7Ozs7R0FNRztBQU9ILE1BQU0sT0FBTywwQkFBMEI7YUFDbkIsT0FBRSxHQUEyQixxQkFBcUIsQ0FBQztJQU1uRSxZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUTthQUN6QyxnQkFBZ0IsRUFBRTthQUNsQixTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDbkUsQ0FBQzs4R0FYUSwwQkFBMEI7a0dBQTFCLDBCQUEwQixpR0N0QnZDLHVLQUtBOzsyRkRpQmEsMEJBQTBCO2tCQU50QyxTQUFTOytCQUNJLHlCQUF5QixtQkFHbEIsdUJBQXVCLENBQUMsTUFBTTtrR0FJdEMsUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRGVmYXVsdEZvcm1Db21wb25lbnRDb25maWcsIERlZmF1bHRGb3JtQ29tcG9uZW50SWQgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NoYXJlZC10eXBlcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEZvcm1JbnB1dENvbXBvbmVudCwgSW5wdXRDb21wb25lbnRDb25maWcgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29tcG9uZW50LXJlZ2lzdHJ5LXR5cGVzJztcclxuaW1wb3J0IHsgQ3VycmVuY3lDb2RlIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZGF0YS9wcm92aWRlcnMvZGF0YS5zZXJ2aWNlJztcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogQW4gaW5wdXQgZm9yIG1vbmV0YXJ5IHZhbHVlcy4gU2hvdWxkIGJlIHVzZWQgd2l0aCBgaW50YCB0eXBlIGZpZWxkcy5cclxuICpcclxuICogQGRvY3NDYXRlZ29yeSBjdXN0b20taW5wdXQtY29tcG9uZW50c1xyXG4gKiBAZG9jc1BhZ2UgZGVmYXVsdC1pbnB1dHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItY3VycmVuY3ktZm9ybS1pbnB1dCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY3VycmVuY3ktZm9ybS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9jdXJyZW5jeS1mb3JtLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEN1cnJlbmN5Rm9ybUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgRm9ybUlucHV0Q29tcG9uZW50IHtcclxuICAgIHN0YXRpYyByZWFkb25seSBpZDogRGVmYXVsdEZvcm1Db21wb25lbnRJZCA9ICdjdXJyZW5jeS1mb3JtLWlucHV0JztcclxuICAgIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuO1xyXG4gICAgZm9ybUNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbDtcclxuICAgIGN1cnJlbmN5Q29kZSQ6IE9ic2VydmFibGU8Q3VycmVuY3lDb2RlPjtcclxuICAgIGNvbmZpZzogRGVmYXVsdEZvcm1Db21wb25lbnRDb25maWc8J2N1cnJlbmN5LWZvcm0taW5wdXQnPjtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSkge1xyXG4gICAgICAgIHRoaXMuY3VycmVuY3lDb2RlJCA9IHRoaXMuZGF0YVNlcnZpY2Uuc2V0dGluZ3NcclxuICAgICAgICAgICAgLmdldEFjdGl2ZUNoYW5uZWwoKVxyXG4gICAgICAgICAgICAubWFwU3RyZWFtKGRhdGEgPT4gZGF0YS5hY3RpdmVDaGFubmVsLmRlZmF1bHRDdXJyZW5jeUNvZGUpO1xyXG4gICAgfVxyXG59XHJcbiIsIjx2ZHItY3VycmVuY3ktaW5wdXRcclxuICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXHJcbiAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgW2N1cnJlbmN5Q29kZV09XCJjdXJyZW5jeUNvZGUkIHwgYXN5bmNcIlxyXG4+PC92ZHItY3VycmVuY3ktaW5wdXQ+XHJcbiJdfQ==
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktZm9ybS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9keW5hbWljLWZvcm0taW5wdXRzL2N1cnJlbmN5LWZvcm0taW5wdXQvY3VycmVuY3ktZm9ybS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9keW5hbWljLWZvcm0taW5wdXRzL2N1cnJlbmN5LWZvcm0taW5wdXQvY3VycmVuY3ktZm9ybS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQVMxRTs7Ozs7O0dBTUc7QUFPSCxNQUFNLE9BQU8sMEJBQTBCO2FBQ25CLE9BQUUsR0FBMkIscUJBQXFCLENBQUM7SUFNbkUsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVE7YUFDekMsZ0JBQWdCLEVBQUU7YUFDbEIsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ25FLENBQUM7OEdBWFEsMEJBQTBCO2tHQUExQiwwQkFBMEIsaUdDdEJ2Qyx1S0FLQTs7MkZEaUJhLDBCQUEwQjtrQkFOdEMsU0FBUzsrQkFDSSx5QkFBeUIsbUJBR2xCLHVCQUF1QixDQUFDLE1BQU07a0dBSXRDLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IERlZmF1bHRGb3JtQ29tcG9uZW50Q29uZmlnLCBEZWZhdWx0Rm9ybUNvbXBvbmVudElkIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9zaGFyZWQtdHlwZXMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBGb3JtSW5wdXRDb21wb25lbnQsIElucHV0Q29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvbXBvbmVudC1yZWdpc3RyeS10eXBlcyc7XHJcbmltcG9ydCB7IEN1cnJlbmN5Q29kZSB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xyXG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2RhdGEvcHJvdmlkZXJzL2RhdGEuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIEFuIGlucHV0IGZvciBtb25ldGFyeSB2YWx1ZXMuIFNob3VsZCBiZSB1c2VkIHdpdGggYGludGAgdHlwZSBmaWVsZHMuXHJcbiAqXHJcbiAqIEBkb2NzQ2F0ZWdvcnkgY3VzdG9tLWlucHV0LWNvbXBvbmVudHNcclxuICogQGRvY3NQYWdlIGRlZmF1bHQtaW5wdXRzXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLWN1cnJlbmN5LWZvcm0taW5wdXQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2N1cnJlbmN5LWZvcm0taW5wdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vY3VycmVuY3ktZm9ybS1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdXJyZW5jeUZvcm1JbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIEZvcm1JbnB1dENvbXBvbmVudCB7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgaWQ6IERlZmF1bHRGb3JtQ29tcG9uZW50SWQgPSAnY3VycmVuY3ktZm9ybS1pbnB1dCc7XHJcbiAgICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbjtcclxuICAgIGZvcm1Db250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2w7XHJcbiAgICBjdXJyZW5jeUNvZGUkOiBPYnNlcnZhYmxlPEN1cnJlbmN5Q29kZT47XHJcbiAgICBjb25maWc6IERlZmF1bHRGb3JtQ29tcG9uZW50Q29uZmlnPCdjdXJyZW5jeS1mb3JtLWlucHV0Jz47XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UpIHtcclxuICAgICAgICB0aGlzLmN1cnJlbmN5Q29kZSQgPSB0aGlzLmRhdGFTZXJ2aWNlLnNldHRpbmdzXHJcbiAgICAgICAgICAgIC5nZXRBY3RpdmVDaGFubmVsKClcclxuICAgICAgICAgICAgLm1hcFN0cmVhbShkYXRhID0+IGRhdGEuYWN0aXZlQ2hhbm5lbC5kZWZhdWx0Q3VycmVuY3lDb2RlKTtcclxuICAgIH1cclxufVxyXG4iLCI8dmRyLWN1cnJlbmN5LWlucHV0XHJcbiAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxyXG4gICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgIFtjdXJyZW5jeUNvZGVdPVwiY3VycmVuY3lDb2RlJCB8IGFzeW5jXCJcclxuPjwvdmRyLWN1cnJlbmN5LWlucHV0PlxyXG4iXX0=
@@ -28,7 +28,7 @@ export class NumberFormInputComponent {
28
28
  return this.config.ui?.step || this.config.step;
29
29
  }
30
30
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NumberFormInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
31
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: NumberFormInputComponent, selector: "vdr-number-form-input", inputs: { readonly: "readonly" }, ngImport: i0, template: "<vdr-affixed-input\r\n [suffix]=\"suffix\"\r\n [prefix]=\"prefix\"\r\n>\r\n <input\r\n type=\"number\"\r\n [readonly]=\"readonly\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n [formControl]=\"formControl\"\r\n />\r\n</vdr-affixed-input>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.AffixedInputComponent, selector: "vdr-affixed-input", inputs: ["prefix", "suffix"] }, { kind: "directive", type: i3.FormFieldControlDirective, selector: "input, textarea, select" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: NumberFormInputComponent, selector: "vdr-number-form-input", inputs: { readonly: "readonly" }, ngImport: i0, template: "<vdr-affixed-input\r\n [suffix]=\"suffix\"\r\n [prefix]=\"prefix\"\r\n>\r\n <input\r\n type=\"number\"\r\n [readonly]=\"readonly\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n [formControl]=\"formControl\"\r\n />\r\n</vdr-affixed-input>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.AffixedInputComponent, selector: "vdr-affixed-input", inputs: ["prefix", "suffix"] }, { kind: "directive", type: i3.FormFieldControlDirective, selector: "input, textarea, select, vdr-currency-input" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
32
32
  }
33
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NumberFormInputComponent, decorators: [{
34
34
  type: Component,
@@ -12,7 +12,7 @@ import * as i2 from "../../components/form-field/form-field-control.directive";
12
12
  export class PasswordFormInputComponent {
13
13
  static { this.id = 'password-form-input'; }
14
14
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: PasswordFormInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: PasswordFormInputComponent, selector: "vdr-password-form-input", ngImport: i0, template: "<input\r\n type=\"password\"\r\n [readonly]=\"readonly\"\r\n [formControl]=\"formControl\"\r\n/>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormFieldControlDirective, selector: "input, textarea, select" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: PasswordFormInputComponent, selector: "vdr-password-form-input", ngImport: i0, template: "<input\r\n type=\"password\"\r\n [readonly]=\"readonly\"\r\n [formControl]=\"formControl\"\r\n/>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormFieldControlDirective, selector: "input, textarea, select, vdr-currency-input" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
16
16
  }
17
17
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: PasswordFormInputComponent, decorators: [{
18
18
  type: Component,
@@ -36,7 +36,7 @@ export class RelationGenericInputComponent {
36
36
  this.parentFormControl.markAsDirty();
37
37
  }
38
38
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: RelationGenericInputComponent, deps: [{ token: i1.ModalService }], target: i0.ɵɵFactoryTarget.Component }); }
39
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: RelationGenericInputComponent, selector: "vdr-relation-generic-input", inputs: { readonly: "readonly", parentFormControl: "parentFormControl", config: "config" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["selector"], descendants: true }], ngImport: i0, template: "<vdr-relation-card\r\n (select)=\"selectRelationId()\"\r\n (remove)=\"remove()\"\r\n placeholderIcon=\"objects\"\r\n [entity]=\"parentFormControl.value\"\r\n [selectLabel]=\"'common.select-relation-id' | translate\"\r\n [removable]=\"!config.list\"\r\n [readonly]=\"readonly\"\r\n>\r\n {{ parentFormControl.value | json }}\r\n <ng-template vdrRelationCardPreview>\r\n <div class=\"placeholder\">\r\n <clr-icon shape=\"objects\" size=\"50\"></clr-icon>\r\n </div>\r\n </ng-template>\r\n <ng-template vdrRelationCardDetail let-entity=\"entity\">\r\n <div class=\"\">\r\n {{ config.entity }}: <strong>{{ entity.id }}</strong>\r\n </div>\r\n <vdr-object-tree [value]=\"{ properties: parentFormControl.value }\"></vdr-object-tree>\r\n </ng-template>\r\n</vdr-relation-card>\r\n\r\n<ng-template #selector let-select=\"select\">\r\n <div class=\"id-select-wrapper\">\r\n <clr-input-container>\r\n <input [(ngModel)]=\"relationId\" type=\"text\" clrInput [readonly]=\"readonly\" />\r\n </clr-input-container>\r\n <div>\r\n <button class=\"btn btn-primary m0\" (click)=\"select(relationId)\">\r\n {{ 'common.confirm' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".id-select-wrapper{display:flex;align-items:flex-end}\n"], dependencies: [{ kind: "directive", type: i2.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.ClrInput, selector: "[clrInput]" }, { kind: "component", type: i2.ClrInputContainer, selector: "clr-input-container" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "component", type: i5.ObjectTreeComponent, selector: "vdr-object-tree", inputs: ["value", "isArrayItem"] }, { kind: "component", type: i6.RelationCardComponent, selector: "vdr-relation-card", inputs: ["entity", "placeholderIcon", "selectLabel", "readonly", "removable"], outputs: ["select", "remove"] }, { kind: "directive", type: i6.RelationCardPreviewDirective, selector: "[vdrRelationCardPreview]" }, { kind: "directive", type: i6.RelationCardDetailDirective, selector: "[vdrRelationCardDetail]" }, { kind: "pipe", type: i7.JsonPipe, name: "json" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
39
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: RelationGenericInputComponent, selector: "vdr-relation-generic-input", inputs: { readonly: "readonly", parentFormControl: "parentFormControl", config: "config" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["selector"], descendants: true }], ngImport: i0, template: "<vdr-relation-card\r\n (select)=\"selectRelationId()\"\r\n (remove)=\"remove()\"\r\n placeholderIcon=\"objects\"\r\n [entity]=\"parentFormControl.value\"\r\n [selectLabel]=\"'common.select-relation-id' | translate\"\r\n [removable]=\"!config.list\"\r\n [readonly]=\"readonly\"\r\n>\r\n {{ parentFormControl.value | json }}\r\n <ng-template vdrRelationCardPreview>\r\n <div class=\"placeholder\">\r\n <clr-icon shape=\"objects\" size=\"50\"></clr-icon>\r\n </div>\r\n </ng-template>\r\n <ng-template vdrRelationCardDetail let-entity=\"entity\">\r\n <div class=\"\">\r\n {{ config.entity }}: <strong>{{ entity.id }}</strong>\r\n </div>\r\n <vdr-object-tree [value]=\"{ properties: parentFormControl.value }\"></vdr-object-tree>\r\n </ng-template>\r\n</vdr-relation-card>\r\n\r\n<ng-template #selector let-select=\"select\">\r\n <div class=\"id-select-wrapper\">\r\n <clr-input-container>\r\n <input [(ngModel)]=\"relationId\" type=\"text\" clrInput [readonly]=\"readonly\" />\r\n </clr-input-container>\r\n <div>\r\n <button class=\"btn btn-primary m0\" (click)=\"select(relationId)\">\r\n {{ 'common.confirm' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".id-select-wrapper{display:flex;align-items:flex-end}\n"], dependencies: [{ kind: "directive", type: i2.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.ClrInput, selector: "[clrInput]" }, { kind: "component", type: i2.ClrInputContainer, selector: "clr-input-container" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.FormFieldControlDirective, selector: "input, textarea, select, vdr-currency-input" }, { kind: "component", type: i5.ObjectTreeComponent, selector: "vdr-object-tree", inputs: ["value", "isArrayItem"] }, { kind: "component", type: i6.RelationCardComponent, selector: "vdr-relation-card", inputs: ["entity", "placeholderIcon", "selectLabel", "readonly", "removable"], outputs: ["select", "remove"] }, { kind: "directive", type: i6.RelationCardPreviewDirective, selector: "[vdrRelationCardPreview]" }, { kind: "directive", type: i6.RelationCardDetailDirective, selector: "[vdrRelationCardDetail]" }, { kind: "pipe", type: i7.JsonPipe, name: "json" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
40
40
  }
41
41
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: RelationGenericInputComponent, decorators: [{
42
42
  type: Component,
@@ -30,7 +30,7 @@ export class SelectFormInputComponent {
30
30
  return item.value;
31
31
  }
32
32
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: SelectFormInputComponent, deps: [{ token: i1.DataService }], target: i0.ɵɵFactoryTarget.Component }); }
33
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: SelectFormInputComponent, selector: "vdr-select-form-input", inputs: { readonly: "readonly" }, ngImport: i0, template: "<select [formControl]=\"formControl\" [vdrDisabled]=\"readonly\">\r\n <option *ngIf=\"config.nullable\" [ngValue]=\"null\"></option>\r\n <option *ngFor=\"let option of options;trackBy:trackByFn\" [ngValue]=\"option.value\">\r\n {{ (option | customFieldLabel:(uiLanguage$ | async)) || option.label || option.value }}\r\n </option>\r\n</select>\r\n", styles: ["select{width:100%}\n"], dependencies: [{ kind: "directive", type: i2.ClrDatagridItemsTrackBy, selector: "[ngForTrackBy]", inputs: ["ngForTrackBy"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "directive", type: i6.DisabledDirective, selector: "[vdrDisabled]", inputs: ["vdrDisabled"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.CustomFieldLabelPipe, name: "customFieldLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: SelectFormInputComponent, selector: "vdr-select-form-input", inputs: { readonly: "readonly" }, ngImport: i0, template: "<select [formControl]=\"formControl\" [vdrDisabled]=\"readonly\">\r\n <option *ngIf=\"config.nullable\" [ngValue]=\"null\"></option>\r\n <option *ngFor=\"let option of options;trackBy:trackByFn\" [ngValue]=\"option.value\">\r\n {{ (option | customFieldLabel:(uiLanguage$ | async)) || option.label || option.value }}\r\n </option>\r\n</select>\r\n", styles: ["select{width:100%}\n"], dependencies: [{ kind: "directive", type: i2.ClrDatagridItemsTrackBy, selector: "[ngForTrackBy]", inputs: ["ngForTrackBy"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormFieldControlDirective, selector: "input, textarea, select, vdr-currency-input" }, { kind: "directive", type: i6.DisabledDirective, selector: "[vdrDisabled]", inputs: ["vdrDisabled"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.CustomFieldLabelPipe, name: "customFieldLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
34
34
  }
35
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: SelectFormInputComponent, decorators: [{
36
36
  type: Component,
@@ -19,7 +19,7 @@ export class TextFormInputComponent {
19
19
  return this.config.ui?.suffix || this.config.suffix;
20
20
  }
21
21
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: TextFormInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: TextFormInputComponent, selector: "vdr-text-form-input", ngImport: i0, template: "<vdr-affixed-input\r\n [suffix]=\"suffix\"\r\n [prefix]=\"prefix\"\r\n>\r\n <input type=\"text\" [readonly]=\"readonly\" [formControl]=\"formControl\" />\r\n</vdr-affixed-input>\r\n", styles: ["input{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.AffixedInputComponent, selector: "vdr-affixed-input", inputs: ["prefix", "suffix"] }, { kind: "directive", type: i3.FormFieldControlDirective, selector: "input, textarea, select" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: TextFormInputComponent, selector: "vdr-text-form-input", ngImport: i0, template: "<vdr-affixed-input\r\n [suffix]=\"suffix\"\r\n [prefix]=\"prefix\"\r\n>\r\n <input type=\"text\" [readonly]=\"readonly\" [formControl]=\"formControl\" />\r\n</vdr-affixed-input>\r\n", styles: ["input{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.AffixedInputComponent, selector: "vdr-affixed-input", inputs: ["prefix", "suffix"] }, { kind: "directive", type: i3.FormFieldControlDirective, selector: "input, textarea, select, vdr-currency-input" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
23
23
  }
24
24
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: TextFormInputComponent, decorators: [{
25
25
  type: Component,
@@ -15,7 +15,7 @@ export class TextareaFormInputComponent {
15
15
  return this.config.spellcheck === true;
16
16
  }
17
17
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: TextareaFormInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: TextareaFormInputComponent, selector: "vdr-textarea-form-input", ngImport: i0, template: "<textarea [spellcheck]=\"spellcheck\" autocomplete=\"off\" autocorrect=\"off\"\r\n [readonly]=\"readonly\"\r\n [formControl]=\"formControl\"\r\n></textarea>\r\n", styles: [":host textarea{resize:both;width:100%}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormFieldControlDirective, selector: "input, textarea, select" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
18
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: TextareaFormInputComponent, selector: "vdr-textarea-form-input", ngImport: i0, template: "<textarea [spellcheck]=\"spellcheck\" autocomplete=\"off\" autocorrect=\"off\"\r\n [readonly]=\"readonly\"\r\n [formControl]=\"formControl\"\r\n></textarea>\r\n", styles: [":host textarea{resize:both;width:100%}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormFieldControlDirective, selector: "input, textarea, select, vdr-currency-input" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19
19
  }
20
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: TextareaFormInputComponent, decorators: [{
21
21
  type: Component,