@vendure/admin-ui 1.3.2 → 1.4.0

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 (255) hide show
  1. package/bundles/vendure-admin-ui-catalog.umd.js +87 -162
  2. package/bundles/vendure-admin-ui-catalog.umd.js.map +1 -1
  3. package/bundles/vendure-admin-ui-core.umd.js +2058 -426
  4. package/bundles/vendure-admin-ui-core.umd.js.map +1 -1
  5. package/bundles/vendure-admin-ui-customer.umd.js +79 -57
  6. package/bundles/vendure-admin-ui-customer.umd.js.map +1 -1
  7. package/bundles/vendure-admin-ui-marketing.umd.js +11 -1
  8. package/bundles/vendure-admin-ui-marketing.umd.js.map +1 -1
  9. package/bundles/vendure-admin-ui-order.umd.js +10 -2
  10. package/bundles/vendure-admin-ui-order.umd.js.map +1 -1
  11. package/bundles/vendure-admin-ui-settings.umd.js +156 -153
  12. package/bundles/vendure-admin-ui-settings.umd.js.map +1 -1
  13. package/catalog/components/collection-detail/collection-detail.component.d.ts +0 -1
  14. package/catalog/components/collection-list/collection-list.component.d.ts +3 -0
  15. package/catalog/components/facet-detail/facet-detail.component.d.ts +0 -1
  16. package/catalog/components/facet-list/facet-list.component.d.ts +3 -5
  17. package/catalog/components/product-detail/product-detail.component.d.ts +0 -1
  18. package/catalog/vendure-admin-ui-catalog.metadata.json +1 -1
  19. package/core/app.component.d.ts +1 -0
  20. package/core/common/base-detail.component.d.ts +42 -1
  21. package/core/common/base-entity-resolver.d.ts +28 -1
  22. package/core/common/base-list.component.d.ts +75 -1
  23. package/core/common/component-registry-types.d.ts +46 -0
  24. package/core/common/generated-types.d.ts +286 -27
  25. package/core/common/utilities/get-default-ui-language.d.ts +1 -0
  26. package/core/common/version.d.ts +1 -1
  27. package/core/components/app-shell/app-shell.component.d.ts +1 -1
  28. package/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.d.ts +17 -4
  29. package/core/components/user-menu/user-menu.component.d.ts +1 -1
  30. package/core/data/client-state/client-defaults.d.ts +1 -1
  31. package/core/data/definitions/client-definitions.d.ts +3 -1
  32. package/core/data/definitions/customer-definitions.d.ts +1 -0
  33. package/core/data/definitions/settings-definitions.d.ts +1 -0
  34. package/core/data/providers/client-data.service.d.ts +3 -1
  35. package/core/data/providers/data.service.d.ts +54 -12
  36. package/core/data/providers/settings-data.service.d.ts +3 -0
  37. package/core/data/query-result.d.ts +11 -2
  38. package/core/providers/custom-detail-component/custom-detail-component-types.d.ts +25 -0
  39. package/core/providers/custom-detail-component/custom-detail-component.service.d.ts +15 -0
  40. package/core/providers/custom-field-component/custom-field-component.service.d.ts +3 -3
  41. package/core/providers/local-storage/local-storage.service.d.ts +1 -0
  42. package/core/providers/modal/modal.service.d.ts +41 -12
  43. package/core/providers/nav-builder/nav-builder-types.d.ts +19 -1
  44. package/core/providers/nav-builder/nav-builder.service.d.ts +14 -10
  45. package/core/providers/notification/notification.service.d.ts +37 -0
  46. package/core/public_api.d.ts +8 -0
  47. package/core/shared/components/action-bar-items/action-bar-items.component.d.ts +2 -1
  48. package/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.d.ts +18 -0
  49. package/core/shared/components/asset-preview/asset-preview.component.d.ts +0 -1
  50. package/core/shared/components/channel-assignment-control/channel-assignment-control.component.d.ts +2 -0
  51. package/core/shared/components/chip/chip.component.d.ts +20 -0
  52. package/core/shared/components/currency-input/currency-input.component.d.ts +11 -0
  53. package/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.d.ts +17 -0
  54. package/core/shared/components/data-table/data-table.component.d.ts +59 -0
  55. package/core/shared/components/datetime-picker/datetime-picker.component.d.ts +17 -0
  56. package/core/shared/components/dropdown/dropdown.component.d.ts +25 -0
  57. package/core/shared/components/extension-host/extension-host.service.d.ts +3 -1
  58. package/core/shared/components/facet-value-selector/facet-value-selector.component.d.ts +22 -0
  59. package/core/shared/components/modal-dialog/modal-dialog.component.d.ts +1 -1
  60. package/core/shared/components/object-tree/object-tree.component.d.ts +8 -0
  61. package/core/shared/components/order-state-label/order-state-label.component.d.ts +10 -0
  62. package/core/shared/components/product-selector/product-selector.component.d.ts +12 -0
  63. package/core/shared/components/rich-text-editor/rich-text-editor.component.d.ts +12 -1
  64. package/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.d.ts +21 -0
  65. package/core/shared/components/ui-extension-point/ui-extension-point.component.d.ts +15 -0
  66. package/core/shared/directives/if-multichannel.directive.d.ts +14 -0
  67. package/core/shared/directives/if-permissions.directive.d.ts +3 -0
  68. package/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.d.ts +7 -0
  69. package/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.d.ts +32 -0
  70. package/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.d.ts +7 -0
  71. package/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.d.ts +8 -0
  72. package/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.d.ts +10 -0
  73. package/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.d.ts +8 -0
  74. package/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.d.ts +12 -0
  75. package/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.d.ts +7 -0
  76. package/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.d.ts +8 -0
  77. package/core/shared/dynamic-form-inputs/register-dynamic-input-components.d.ts +40 -3
  78. package/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.d.ts +9 -0
  79. package/core/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.d.ts +16 -0
  80. package/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.d.ts +9 -0
  81. package/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.d.ts +12 -3
  82. package/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.d.ts +7 -0
  83. package/core/shared/pipes/asset-preview.pipe.d.ts +14 -0
  84. package/core/shared/pipes/duration.pipe.d.ts +8 -0
  85. package/core/shared/pipes/file-size.pipe.d.ts +8 -0
  86. package/core/shared/pipes/has-permission.pipe.d.ts +3 -1
  87. package/core/shared/pipes/locale-currency-name.pipe.d.ts +8 -0
  88. package/core/shared/pipes/locale-currency.pipe.d.ts +12 -0
  89. package/core/shared/pipes/locale-date.pipe.d.ts +7 -0
  90. package/core/shared/pipes/locale-language-name.pipe.d.ts +9 -1
  91. package/core/shared/pipes/locale-region-name.pipe.d.ts +18 -0
  92. package/core/shared/pipes/time-ago.pipe.d.ts +8 -0
  93. package/core/vendure-admin-ui-core.metadata.json +1 -1
  94. package/customer/components/customer-detail/customer-detail.component.d.ts +2 -3
  95. package/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.d.ts +14 -3
  96. package/customer/vendure-admin-ui-customer.metadata.json +1 -1
  97. package/esm2015/catalog/catalog.module.js +29 -28
  98. package/esm2015/catalog/components/asset-detail/asset-detail.component.js +2 -10
  99. package/esm2015/catalog/components/collection-detail/collection-detail.component.js +3 -16
  100. package/esm2015/catalog/components/collection-list/collection-list.component.js +23 -5
  101. package/esm2015/catalog/components/collection-tree/collection-tree-node.component.js +1 -1
  102. package/esm2015/catalog/components/collection-tree/collection-tree.component.js +1 -1
  103. package/esm2015/catalog/components/facet-detail/facet-detail.component.js +3 -15
  104. package/esm2015/catalog/components/facet-list/facet-list.component.js +24 -9
  105. package/esm2015/catalog/components/product-assets/product-assets.component.js +2 -2
  106. package/esm2015/catalog/components/product-detail/product-detail.component.js +5 -27
  107. package/esm2015/catalog/components/product-variants-list/product-variants-list.component.js +3 -3
  108. package/esm2015/catalog/components/update-product-option-dialog/update-product-option-dialog.component.js +2 -2
  109. package/esm2015/catalog/components/variant-price-detail/variant-price-detail.component.js +2 -2
  110. package/esm2015/core/app.component.js +20 -2
  111. package/esm2015/core/common/base-detail.component.js +53 -1
  112. package/esm2015/core/common/base-entity-resolver.js +29 -2
  113. package/esm2015/core/common/base-list.component.js +76 -2
  114. package/esm2015/core/common/component-registry-types.js +1 -1
  115. package/esm2015/core/common/generated-types.js +1 -1
  116. package/esm2015/core/common/introspection-result.js +249 -183
  117. package/esm2015/core/common/utilities/get-default-ui-language.js +9 -1
  118. package/esm2015/core/common/version.js +2 -2
  119. package/esm2015/core/components/app-shell/app-shell.component.js +12 -7
  120. package/esm2015/core/components/main-nav/main-nav.component.js +2 -2
  121. package/esm2015/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.js +281 -5
  122. package/esm2015/core/components/user-menu/user-menu.component.js +3 -3
  123. package/esm2015/core/data/client-state/client-defaults.js +5 -2
  124. package/esm2015/core/data/client-state/client-resolvers.js +32 -33
  125. package/esm2015/core/data/definitions/client-definitions.js +18 -3
  126. package/esm2015/core/data/definitions/customer-definitions.js +21 -25
  127. package/esm2015/core/data/definitions/settings-definitions.js +50 -5
  128. package/esm2015/core/data/providers/client-data.service.js +15 -4
  129. package/esm2015/core/data/providers/data.service.js +44 -2
  130. package/esm2015/core/data/providers/settings-data.service.js +12 -4
  131. package/esm2015/core/data/query-result.js +14 -4
  132. package/esm2015/core/providers/custom-detail-component/custom-detail-component-types.js +2 -0
  133. package/esm2015/core/providers/custom-detail-component/custom-detail-component.service.js +44 -0
  134. package/esm2015/core/providers/custom-field-component/custom-field-component.service.js +6 -6
  135. package/esm2015/core/providers/local-storage/local-storage.service.js +1 -1
  136. package/esm2015/core/providers/modal/modal.service.js +20 -12
  137. package/esm2015/core/providers/nav-builder/nav-builder-types.js +1 -1
  138. package/esm2015/core/providers/nav-builder/nav-builder.service.js +15 -11
  139. package/esm2015/core/providers/notification/notification.service.js +24 -1
  140. package/esm2015/core/public_api.js +9 -1
  141. package/esm2015/core/shared/components/action-bar/action-bar.component.js +1 -1
  142. package/esm2015/core/shared/components/action-bar-items/action-bar-items.component.js +3 -3
  143. package/esm2015/core/shared/components/address-form/address-form.component.js +2 -2
  144. package/esm2015/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.js +19 -1
  145. package/esm2015/core/shared/components/asset-preview/asset-preview.component.js +2 -6
  146. package/esm2015/core/shared/components/channel-assignment-control/channel-assignment-control.component.js +36 -22
  147. package/esm2015/core/shared/components/chip/chip.component.js +12 -1
  148. package/esm2015/core/shared/components/currency-input/currency-input.component.js +12 -1
  149. package/esm2015/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.js +44 -0
  150. package/esm2015/core/shared/components/data-table/data-table.component.js +60 -1
  151. package/esm2015/core/shared/components/datetime-picker/datetime-picker.component.js +17 -1
  152. package/esm2015/core/shared/components/dropdown/dropdown.component.js +26 -1
  153. package/esm2015/core/shared/components/extension-host/extension-host.component.js +3 -3
  154. package/esm2015/core/shared/components/extension-host/extension-host.service.js +16 -2
  155. package/esm2015/core/shared/components/facet-value-selector/facet-value-selector.component.js +23 -1
  156. package/esm2015/core/shared/components/modal-dialog/modal-dialog.component.js +2 -2
  157. package/esm2015/core/shared/components/object-tree/object-tree.component.js +11 -3
  158. package/esm2015/core/shared/components/order-state-label/order-state-label.component.js +11 -1
  159. package/esm2015/core/shared/components/product-selector/product-selector.component.js +13 -1
  160. package/esm2015/core/shared/components/rich-text-editor/rich-text-editor.component.js +14 -3
  161. package/esm2015/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.js +48 -0
  162. package/esm2015/core/shared/components/title-input/title-input.component.js +1 -1
  163. package/esm2015/core/shared/components/ui-extension-point/ui-extension-point.component.js +31 -0
  164. package/esm2015/core/shared/directives/if-multichannel.directive.js +15 -1
  165. package/esm2015/core/shared/directives/if-permissions.directive.js +4 -1
  166. package/esm2015/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.js +8 -1
  167. package/esm2015/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.js +125 -0
  168. package/esm2015/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.js +8 -1
  169. package/esm2015/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.js +9 -1
  170. package/esm2015/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.js +21 -2
  171. package/esm2015/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.js +2 -1
  172. package/esm2015/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.js +9 -1
  173. package/esm2015/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.js +29 -2
  174. package/esm2015/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.js +8 -1
  175. package/esm2015/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.js +9 -1
  176. package/esm2015/core/shared/dynamic-form-inputs/register-dynamic-input-components.js +42 -2
  177. package/esm2015/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.js +10 -1
  178. package/esm2015/core/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.js +20 -0
  179. package/esm2015/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.js +14 -2
  180. package/esm2015/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.js +17 -2
  181. package/esm2015/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.js +8 -1
  182. package/esm2015/core/shared/pipes/asset-preview.pipe.js +15 -1
  183. package/esm2015/core/shared/pipes/duration.pipe.js +9 -1
  184. package/esm2015/core/shared/pipes/file-size.pipe.js +9 -1
  185. package/esm2015/core/shared/pipes/has-permission.pipe.js +4 -2
  186. package/esm2015/core/shared/pipes/locale-base.pipe.js +7 -4
  187. package/esm2015/core/shared/pipes/locale-currency-name.pipe.js +9 -1
  188. package/esm2015/core/shared/pipes/locale-currency.pipe.js +13 -1
  189. package/esm2015/core/shared/pipes/locale-date.pipe.js +8 -1
  190. package/esm2015/core/shared/pipes/locale-language-name.pipe.js +10 -2
  191. package/esm2015/core/shared/pipes/locale-region-name.pipe.js +48 -0
  192. package/esm2015/core/shared/pipes/time-ago.pipe.js +9 -1
  193. package/esm2015/core/shared/shared.module.js +13 -1
  194. package/esm2015/customer/components/customer-detail/customer-detail.component.js +5 -16
  195. package/esm2015/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.js +32 -3
  196. package/esm2015/customer/components/customer-group-list/customer-group-list.component.js +22 -18
  197. package/esm2015/marketing/components/promotion-detail/promotion-detail.component.js +9 -2
  198. package/esm2015/order/components/order-detail/order-detail.component.js +11 -3
  199. package/esm2015/settings/components/admin-detail/admin-detail.component.js +3 -14
  200. package/esm2015/settings/components/channel-detail/channel-detail.component.js +3 -14
  201. package/esm2015/settings/components/country-detail/country-detail.component.js +11 -3
  202. package/esm2015/settings/components/country-list/country-list.component.js +19 -7
  203. package/esm2015/settings/components/global-settings/global-settings.component.js +3 -14
  204. package/esm2015/settings/components/payment-method-detail/payment-method-detail.component.js +9 -2
  205. package/esm2015/settings/components/profile/profile.component.js +3 -14
  206. package/esm2015/settings/components/shipping-method-detail/shipping-method-detail.component.js +3 -16
  207. package/esm2015/settings/components/tax-category-detail/tax-category-detail.component.js +13 -3
  208. package/esm2015/settings/components/tax-rate-detail/tax-rate-detail.component.js +9 -2
  209. package/esm2015/settings/components/zone-detail-dialog/zone-detail-dialog.component.js +32 -3
  210. package/esm2015/settings/components/zone-list/zone-list.component.js +19 -8
  211. package/fesm2015/vendure-admin-ui-catalog.js +83 -102
  212. package/fesm2015/vendure-admin-ui-catalog.js.map +1 -1
  213. package/fesm2015/vendure-admin-ui-core.js +1900 -362
  214. package/fesm2015/vendure-admin-ui-core.js.map +1 -1
  215. package/fesm2015/vendure-admin-ui-customer.js +54 -34
  216. package/fesm2015/vendure-admin-ui-customer.js.map +1 -1
  217. package/fesm2015/vendure-admin-ui-marketing.js +8 -1
  218. package/fesm2015/vendure-admin-ui-marketing.js.map +1 -1
  219. package/fesm2015/vendure-admin-ui-order.js +10 -2
  220. package/fesm2015/vendure-admin-ui-order.js.map +1 -1
  221. package/fesm2015/vendure-admin-ui-settings.js +110 -85
  222. package/fesm2015/vendure-admin-ui-settings.js.map +1 -1
  223. package/marketing/components/promotion-detail/promotion-detail.component.d.ts +2 -1
  224. package/marketing/vendure-admin-ui-marketing.metadata.json +1 -1
  225. package/order/vendure-admin-ui-order.metadata.json +1 -1
  226. package/package.json +6 -5
  227. package/settings/components/admin-detail/admin-detail.component.d.ts +0 -1
  228. package/settings/components/channel-detail/channel-detail.component.d.ts +0 -1
  229. package/settings/components/country-detail/country-detail.component.d.ts +2 -1
  230. package/settings/components/country-list/country-list.component.d.ts +7 -2
  231. package/settings/components/global-settings/global-settings.component.d.ts +0 -1
  232. package/settings/components/payment-method-detail/payment-method-detail.component.d.ts +2 -1
  233. package/settings/components/profile/profile.component.d.ts +0 -1
  234. package/settings/components/shipping-method-detail/shipping-method-detail.component.d.ts +0 -1
  235. package/settings/components/tax-category-detail/tax-category-detail.component.d.ts +2 -1
  236. package/settings/components/tax-rate-detail/tax-rate-detail.component.d.ts +2 -1
  237. package/settings/components/zone-detail-dialog/zone-detail-dialog.component.d.ts +14 -3
  238. package/settings/components/zone-list/zone-list.component.d.ts +6 -2
  239. package/settings/vendure-admin-ui-settings.metadata.json +1 -1
  240. package/static/i18n-messages/cs.json +7 -0
  241. package/static/i18n-messages/de.json +7 -0
  242. package/static/i18n-messages/en.json +7 -0
  243. package/static/i18n-messages/es.json +8 -1
  244. package/static/i18n-messages/fr.json +7 -0
  245. package/static/i18n-messages/it.json +7 -0
  246. package/static/i18n-messages/pl.json +7 -0
  247. package/static/i18n-messages/pt_BR.json +7 -0
  248. package/static/i18n-messages/pt_PT.json +7 -0
  249. package/static/i18n-messages/ru.json +7 -0
  250. package/static/i18n-messages/uk.json +7 -0
  251. package/static/i18n-messages/zh_Hans.json +7 -0
  252. package/static/i18n-messages/zh_Hant.json +7 -0
  253. package/static/styles/theme/dark.scss +9 -0
  254. package/static/styles/theme/default.scss +8 -0
  255. package/static/theme.min.css +1 -1
@@ -2,7 +2,18 @@ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, Inp
2
2
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
3
  import { ProsemirrorService } from './prosemirror/prosemirror.service';
4
4
  /**
5
- * A rich text (HTML) editor based on Trix (https://github.com/basecamp/trix)
5
+ * @description
6
+ * A rich text (HTML) editor based on Prosemirror (https://prosemirror.net/)
7
+ *
8
+ * @example
9
+ * ```HTML
10
+ * <vdr-rich-text-editor
11
+ * [(ngModel)]="description"
12
+ * label="Description"
13
+ * ></vdr-rich-text-editor>
14
+ * ```
15
+ *
16
+ * @docsCategory components
6
17
  */
7
18
  export class RichTextEditorComponent {
8
19
  constructor(changeDetector, prosemirrorService) {
@@ -59,7 +70,7 @@ RichTextEditorComponent.decorators = [
59
70
  },
60
71
  ProsemirrorService,
61
72
  ],
62
- styles: ["@charset \"UTF-8\";::ng-deep .ProseMirror{position:relative}::ng-deep .ProseMirror{word-wrap:break-word;white-space:pre-wrap;-webkit-font-variant-ligatures:none;font-feature-settings:none;font-variant-ligatures:none}::ng-deep .ProseMirror pre{white-space:pre-wrap}::ng-deep .ProseMirror li{position:relative}::ng-deep .ProseMirror-hideselection *::selection{background:transparent}::ng-deep .ProseMirror-hideselection *::-moz-selection{background:transparent}::ng-deep .ProseMirror-hideselection{caret-color:transparent}::ng-deep .ProseMirror-selectednode{outline:2px solid var(--color-primary-500)}::ng-deep li.ProseMirror-selectednode{outline:none}::ng-deep li.ProseMirror-selectednode:after{content:\"\";position:absolute;left:-32px;right:-2px;top:-2px;bottom:-2px;border:2px solid var(--color-primary-500);pointer-events:none}::ng-deep .ProseMirror-textblock-dropdown{min-width:3em}::ng-deep .ProseMirror-menu{margin:0 -4px;line-height:1}::ng-deep .ProseMirror-tooltip .ProseMirror-menu{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;white-space:pre}::ng-deep .ProseMirror-menuitem{margin-right:3px;display:inline-block}::ng-deep .ProseMirror-menuseparator{border-right:1px solid var(--color-component-border-200);margin-right:3px}::ng-deep .ProseMirror-menu-dropdown,::ng-deep .ProseMirror-menu-dropdown-menu{font-size:90%;white-space:nowrap}::ng-deep .ProseMirror-menu-dropdown{vertical-align:1px;cursor:pointer;position:relative;padding-right:15px}::ng-deep .ProseMirror-menu-dropdown-wrap{padding:1px 0 1px 4px;display:inline-block;position:relative}::ng-deep .ProseMirror-menu-dropdown:after{content:\"\";border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid currentColor;opacity:.6;position:absolute;right:4px;top:calc(50% - 2px)}::ng-deep .ProseMirror-menu-dropdown-menu,::ng-deep .ProseMirror-menu-submenu{position:absolute;background:white;color:var(--color-grey-600);border:1px solid var(--color-component-border-200);padding:2px}::ng-deep .ProseMirror-menu-dropdown-menu{z-index:15;min-width:6em}::ng-deep .ProseMirror-menu-dropdown-item{cursor:pointer;padding:2px 8px 2px 4px}::ng-deep .ProseMirror-menu-dropdown-item:hover{background:var(--color-component-bg-100)}::ng-deep .ProseMirror-menu-submenu-wrap{position:relative;margin-right:-4px}::ng-deep .ProseMirror-menu-submenu-label:after{content:\"\";border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:4px solid currentColor;opacity:.6;position:absolute;right:4px;top:calc(50% - 4px)}::ng-deep .ProseMirror-menu-submenu{display:none;min-width:4em;left:100%;top:-3px}::ng-deep .ProseMirror-menu-active{background:var(--color-component-bg-100);border-radius:4px}::ng-deep .ProseMirror-menu-disabled{opacity:.3}::ng-deep .ProseMirror-menu-submenu-wrap:hover .ProseMirror-menu-submenu,::ng-deep .ProseMirror-menu-submenu-wrap-active .ProseMirror-menu-submenu{display:block}::ng-deep .ProseMirror-menubar{border-top-left-radius:inherit;border-top-right-radius:inherit;position:relative;min-height:1em;color:var(--color-grey-600);padding:1px 6px;top:0;left:0;right:0;background:var(--color-component-bg-100);z-index:10;box-sizing:border-box;overflow:visible}::ng-deep .ProseMirror-icon{display:inline-block;line-height:.8;vertical-align:-2px;padding:2px 8px;cursor:pointer}::ng-deep .ProseMirror-menu-disabled.ProseMirror-icon{cursor:default}::ng-deep .ProseMirror-icon svg{fill:currentColor;height:1em}::ng-deep .ProseMirror-icon span{vertical-align:text-top}::ng-deep .ProseMirror-gapcursor{display:none;pointer-events:none;position:absolute}::ng-deep .ProseMirror-gapcursor:after{content:\"\";display:block;position:absolute;top:-2px;width:20px;border-top:1px solid black;animation:ProseMirror-cursor-blink 1.1s steps(2,start) infinite}@keyframes ProseMirror-cursor-blink{to{visibility:hidden}}::ng-deep .ProseMirror-focused .ProseMirror-gapcursor{display:block}::ng-deep .ProseMirror ul,::ng-deep .ProseMirror ol{padding-left:30px;list-style-position:initial}::ng-deep .ProseMirror blockquote{padding-left:1em;border-left:3px solid var(--color-grey-100);margin-left:0;margin-right:0}::ng-deep .ProseMirror-prompt{background:white;padding:5px 10px 5px 15px;border:1px solid silver;position:fixed;border-radius:3px;z-index:11;box-shadow:-.5px 2px 5px #0003}::ng-deep .ProseMirror-prompt h5{margin:0;font-weight:normal;font-size:100%;color:var(--color-grey-500)}::ng-deep .ProseMirror-prompt input[type=text],::ng-deep .ProseMirror-prompt textarea{background:var(--color-component-bg-100);border:none;outline:none}::ng-deep .ProseMirror-prompt input[type=text]{padding:0 4px}::ng-deep .ProseMirror-prompt-close{position:absolute;left:2px;top:1px;color:var(--color-grey-400);border:none;background:transparent;padding:0}::ng-deep .ProseMirror-prompt-close:after{content:\"\\e2\\153\\2022\";font-size:12px}::ng-deep .ProseMirror-invalid{background:var(--color-warning-200);border:1px solid var(--color-warning-300);border-radius:4px;padding:5px 10px;position:absolute;min-width:10em}::ng-deep .ProseMirror-prompt-buttons{margin-top:5px;display:none}::ng-deep #editor,::ng-deep .editor{background:var(--color-form-input-bg);color:#000;background-clip:padding-box;border-radius:4px;border:2px solid rgba(0,0,0,.2);padding:5px 0;margin-bottom:23px}::ng-deep .ProseMirror p:first-child,::ng-deep .ProseMirror h1:first-child,::ng-deep .ProseMirror h2:first-child,::ng-deep .ProseMirror h3:first-child,::ng-deep .ProseMirror h4:first-child,::ng-deep .ProseMirror h5:first-child,::ng-deep .ProseMirror h6:first-child{margin-top:10px}::ng-deep .ProseMirror{padding:4px 8px 4px 14px;line-height:1.2;outline:none}::ng-deep .ProseMirror p{margin-bottom:.5rem;color:var(--color-grey-800)}:host{display:block;max-width:710px;margin-bottom:.5rem}:host.readonly ::ng-deep .ProseMirror-menubar{display:none}::ng-deep .ProseMirror-menubar{position:sticky;top:24px;margin-top:6px;border:1px solid var(--color-component-border-200);border-bottom:none;background-color:var(--color-component-bg-200);color:var(--color-icon-button);padding:6px 12px}::ng-deep .vdr-prosemirror{background:var(--color-form-input-bg);min-height:128px;border:1px solid var(--color-component-border-200);border-radius:0 0 3px 3px;transition:border-color .2s;overflow:auto}::ng-deep .vdr-prosemirror:focus{border-color:var(--color-primary-500)!important;box-shadow:0 0 1px 1px var(--color-primary-100)}::ng-deep .vdr-prosemirror hr{padding:2px 10px;border:none;margin:1em 0}::ng-deep .vdr-prosemirror hr:after{content:\"\";display:block;height:1px;background-color:silver;line-height:2px}::ng-deep .vdr-prosemirror img{cursor:default;max-width:100%}\n"]
73
+ styles: ["@charset \"UTF-8\";::ng-deep .ProseMirror{position:relative}::ng-deep .ProseMirror{word-wrap:break-word;white-space:pre-wrap;-webkit-font-variant-ligatures:none;font-feature-settings:none;font-variant-ligatures:none}::ng-deep .ProseMirror pre{white-space:pre-wrap}::ng-deep .ProseMirror li{position:relative}::ng-deep .ProseMirror-hideselection *::selection{background:transparent}::ng-deep .ProseMirror-hideselection *::-moz-selection{background:transparent}::ng-deep .ProseMirror-hideselection{caret-color:transparent}::ng-deep .ProseMirror-selectednode{outline:2px solid var(--color-primary-500)}::ng-deep li.ProseMirror-selectednode{outline:none}::ng-deep li.ProseMirror-selectednode:after{content:\"\";position:absolute;left:-32px;right:-2px;top:-2px;bottom:-2px;border:2px solid var(--color-primary-500);pointer-events:none}::ng-deep .ProseMirror-textblock-dropdown{min-width:3em}::ng-deep .ProseMirror-menu{margin:0 -4px;line-height:1}::ng-deep .ProseMirror-tooltip .ProseMirror-menu{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;white-space:pre}::ng-deep .ProseMirror-menuitem{margin-right:3px;display:inline-block}::ng-deep .ProseMirror-menuseparator{border-right:1px solid var(--color-component-border-200);margin-right:3px}::ng-deep .ProseMirror-menu-dropdown,::ng-deep .ProseMirror-menu-dropdown-menu{font-size:90%;white-space:nowrap}::ng-deep .ProseMirror-menu-dropdown{vertical-align:1px;cursor:pointer;position:relative;padding-right:15px}::ng-deep .ProseMirror-menu-dropdown-wrap{padding:1px 0 1px 4px;display:inline-block;position:relative}::ng-deep .ProseMirror-menu-dropdown:after{content:\"\";border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid currentColor;opacity:.6;position:absolute;right:4px;top:calc(50% - 2px)}::ng-deep .ProseMirror-menu-dropdown-menu,::ng-deep .ProseMirror-menu-submenu{position:absolute;background:white;color:var(--color-grey-600);border:1px solid var(--color-component-border-200);padding:2px}::ng-deep .ProseMirror-menu-dropdown-menu{z-index:15;min-width:6em}::ng-deep .ProseMirror-menu-dropdown-item{cursor:pointer;padding:2px 8px 2px 4px}::ng-deep .ProseMirror-menu-dropdown-item:hover{background:var(--color-component-bg-100)}::ng-deep .ProseMirror-menu-submenu-wrap{position:relative;margin-right:-4px}::ng-deep .ProseMirror-menu-submenu-label:after{content:\"\";border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:4px solid currentColor;opacity:.6;position:absolute;right:4px;top:calc(50% - 4px)}::ng-deep .ProseMirror-menu-submenu{display:none;min-width:4em;left:100%;top:-3px}::ng-deep .ProseMirror-menu-active{background:var(--color-component-bg-100);border-radius:4px}::ng-deep .ProseMirror-menu-disabled{opacity:.3}::ng-deep .ProseMirror-menu-submenu-wrap:hover .ProseMirror-menu-submenu,::ng-deep .ProseMirror-menu-submenu-wrap-active .ProseMirror-menu-submenu{display:block}::ng-deep .ProseMirror-menubar{border-top-left-radius:inherit;border-top-right-radius:inherit;position:relative;min-height:1em;color:var(--color-grey-600);padding:1px 6px;top:0;left:0;right:0;background:var(--color-component-bg-100);z-index:10;box-sizing:border-box;overflow:visible}::ng-deep .ProseMirror-icon{display:inline-block;line-height:.8;vertical-align:-2px;padding:2px 8px;cursor:pointer}::ng-deep .ProseMirror-menu-disabled.ProseMirror-icon{cursor:default}::ng-deep .ProseMirror-icon svg{fill:currentColor;height:1em}::ng-deep .ProseMirror-icon span{vertical-align:text-top}::ng-deep .ProseMirror-gapcursor{display:none;pointer-events:none;position:absolute}::ng-deep .ProseMirror-gapcursor:after{content:\"\";display:block;position:absolute;top:-2px;width:20px;border-top:1px solid black;animation:ProseMirror-cursor-blink 1.1s steps(2,start) infinite}@keyframes ProseMirror-cursor-blink{to{visibility:hidden}}::ng-deep .ProseMirror-focused .ProseMirror-gapcursor{display:block}::ng-deep .ProseMirror ul,::ng-deep .ProseMirror ol{padding-left:30px;list-style-position:initial}::ng-deep .ProseMirror blockquote{padding-left:1em;border-left:3px solid var(--color-grey-100);margin-left:0;margin-right:0}::ng-deep .ProseMirror-prompt{background:white;padding:5px 10px 5px 15px;border:1px solid silver;position:fixed;border-radius:3px;z-index:11;box-shadow:-.5px 2px 5px #0003}::ng-deep .ProseMirror-prompt h5{margin:0;font-weight:normal;font-size:100%;color:var(--color-grey-500)}::ng-deep .ProseMirror-prompt input[type=text],::ng-deep .ProseMirror-prompt textarea{background:var(--color-component-bg-100);border:none;outline:none}::ng-deep .ProseMirror-prompt input[type=text]{padding:0 4px}::ng-deep .ProseMirror-prompt-close{position:absolute;left:2px;top:1px;color:var(--color-grey-400);border:none;background:transparent;padding:0}::ng-deep .ProseMirror-prompt-close:after{content:\"\\e2\\153\\2022\";font-size:12px}::ng-deep .ProseMirror-invalid{background:var(--color-warning-200);border:1px solid var(--color-warning-300);border-radius:4px;padding:5px 10px;position:absolute;min-width:10em}::ng-deep .ProseMirror-prompt-buttons{margin-top:5px;display:none}::ng-deep #editor,::ng-deep .editor{background:var(--color-form-input-bg);color:#000;background-clip:padding-box;border-radius:4px;border:2px solid rgba(0,0,0,.2);padding:5px 0;margin-bottom:23px}::ng-deep .ProseMirror p:first-child,::ng-deep .ProseMirror h1:first-child,::ng-deep .ProseMirror h2:first-child,::ng-deep .ProseMirror h3:first-child,::ng-deep .ProseMirror h4:first-child,::ng-deep .ProseMirror h5:first-child,::ng-deep .ProseMirror h6:first-child{margin-top:10px}::ng-deep .ProseMirror{padding:4px 8px 4px 14px;line-height:1.2;outline:none}::ng-deep .ProseMirror p{margin-bottom:.5rem;color:var(--color-grey-800)!important}:host{display:block;max-width:710px;margin-bottom:.5rem}:host.readonly ::ng-deep .ProseMirror-menubar{display:none}::ng-deep .ProseMirror-menubar{position:sticky;top:24px;margin-top:6px;border:1px solid var(--color-component-border-200);border-bottom:none;background-color:var(--color-component-bg-200);color:var(--color-icon-button);padding:6px 12px;display:flex;flex-wrap:wrap}::ng-deep .vdr-prosemirror{background:var(--color-form-input-bg);min-height:128px;min-width:200px;border:1px solid var(--color-component-border-200);border-radius:0 0 3px 3px;transition:border-color .2s;overflow:auto;text-align:initial}::ng-deep .vdr-prosemirror:focus{border-color:var(--color-primary-500)!important;box-shadow:0 0 1px 1px var(--color-primary-100)}::ng-deep .vdr-prosemirror hr{padding:2px 10px;border:none;margin:1em 0}::ng-deep .vdr-prosemirror hr:after{content:\"\";display:block;height:1px;background-color:silver;line-height:2px}::ng-deep .vdr-prosemirror img{cursor:default;max-width:100%}\n"]
63
74
  },] }
64
75
  ];
65
76
  RichTextEditorComponent.ctorParameters = () => [
@@ -72,4 +83,4 @@ RichTextEditorComponent.propDecorators = {
72
83
  _readonly: [{ type: HostBinding, args: ['class.readonly',] }],
73
84
  editorEl: [{ type: ViewChild, args: ['editor', { static: true },] }]
74
85
  };
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaC10ZXh0LWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL3JpY2gtdGV4dC1lZGl0b3IvcmljaC10ZXh0LWVkaXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUVULFdBQVcsRUFDWCxLQUFLLEVBRUwsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUV2RTs7R0FFRztBQWVILE1BQU0sT0FBTyx1QkFBdUI7SUFlaEMsWUFBb0IsY0FBaUMsRUFBVSxrQkFBc0M7UUFBakYsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQVUsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQVJyRyxjQUFTLEdBQUcsS0FBSyxDQUFDO0lBUXNGLENBQUM7SUFiekcsSUFBYSxRQUFRLENBQUMsS0FBVTtRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBWUQsZUFBZTtRQUNYLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQztZQUNyQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhO1lBQ3BDLFdBQVcsRUFBRSxPQUFPLENBQUMsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN2QyxDQUFDO1lBQ0QsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVM7U0FDcEMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1osSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDOUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBTztRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBbUI7UUFDaEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUN6QixJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3pDO0lBQ0wsQ0FBQzs7O1lBbEVKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsc0JBQXNCO2dCQUNoQyw2RkFBZ0Q7Z0JBRWhELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2dCQUMvQyxTQUFTLEVBQUU7b0JBQ1A7d0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsV0FBVyxFQUFFLHVCQUF1Qjt3QkFDcEMsS0FBSyxFQUFFLElBQUk7cUJBQ2Q7b0JBQ0Qsa0JBQWtCO2lCQUNyQjs7YUFDSjs7O1lBNUJHLGlCQUFpQjtZQVVaLGtCQUFrQjs7O29CQW9CdEIsS0FBSzt1QkFDTCxLQUFLO3dCQUlMLFdBQVcsU0FBQyxnQkFBZ0I7dUJBTzVCLFNBQVMsU0FBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIEFmdGVyVmlld0luaXQsXHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgRWxlbWVudFJlZixcclxuICAgIEhvc3RCaW5kaW5nLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IFByb3NlbWlycm9yU2VydmljZSB9IGZyb20gJy4vcHJvc2VtaXJyb3IvcHJvc2VtaXJyb3Iuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogQSByaWNoIHRleHQgKEhUTUwpIGVkaXRvciBiYXNlZCBvbiBUcml4IChodHRwczovL2dpdGh1Yi5jb20vYmFzZWNhbXAvdHJpeClcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItcmljaC10ZXh0LWVkaXRvcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmljaC10ZXh0LWVkaXRvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9yaWNoLXRleHQtZWRpdG9yLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBSaWNoVGV4dEVkaXRvckNvbXBvbmVudCxcclxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBQcm9zZW1pcnJvclNlcnZpY2UsXHJcbiAgICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmljaFRleHRFZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBzZXQgcmVhZG9ubHkodmFsdWU6IGFueSkge1xyXG4gICAgICAgIHRoaXMuX3JlYWRvbmx5ID0gISF2YWx1ZTtcclxuICAgICAgICB0aGlzLnByb3NlbWlycm9yU2VydmljZS5zZXRFbmFibGVkKCF0aGlzLl9yZWFkb25seSk7XHJcbiAgICB9XHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnJlYWRvbmx5JylcclxuICAgIF9yZWFkb25seSA9IGZhbHNlO1xyXG5cclxuICAgIG9uQ2hhbmdlOiAodmFsOiBhbnkpID0+IHZvaWQ7XHJcbiAgICBvblRvdWNoOiAoKSA9PiB2b2lkO1xyXG4gICAgcHJpdmF0ZSB2YWx1ZTogc3RyaW5nO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ2VkaXRvcicsIHsgc3RhdGljOiB0cnVlIH0pIHByaXZhdGUgZWRpdG9yRWw6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIHByb3NlbWlycm9yU2VydmljZTogUHJvc2VtaXJyb3JTZXJ2aWNlKSB7fVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgICB0aGlzLnByb3NlbWlycm9yU2VydmljZS5jcmVhdGVFZGl0b3JWaWV3KHtcclxuICAgICAgICAgICAgZWxlbWVudDogdGhpcy5lZGl0b3JFbC5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAgICAgICBvblRleHRJbnB1dDogY29udGVudCA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKGNvbnRlbnQpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgaXNSZWFkT25seTogKCkgPT4gIXRoaXMuX3JlYWRvbmx5LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGlmICh0aGlzLnZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMucHJvc2VtaXJyb3JTZXJ2aWNlLnVwZGF0ZSh0aGlzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5wcm9zZW1pcnJvclNlcnZpY2UuZGVzdHJveSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5wcm9zZW1pcnJvclNlcnZpY2Uuc2V0RW5hYmxlZCghaXNEaXNhYmxlZCk7XHJcbiAgICB9XHJcblxyXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgIGlmICh0aGlzLnByb3NlbWlycm9yU2VydmljZSkge1xyXG4gICAgICAgICAgICB0aGlzLnByb3NlbWlycm9yU2VydmljZS51cGRhdGUodmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaC10ZXh0LWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL3JpY2gtdGV4dC1lZGl0b3IvcmljaC10ZXh0LWVkaXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUVULFdBQVcsRUFDWCxLQUFLLEVBRUwsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUV2RTs7Ozs7Ozs7Ozs7OztHQWFHO0FBZUgsTUFBTSxPQUFPLHVCQUF1QjtJQWVoQyxZQUFvQixjQUFpQyxFQUFVLGtCQUFzQztRQUFqRixtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFBVSx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBUnJHLGNBQVMsR0FBRyxLQUFLLENBQUM7SUFRc0YsQ0FBQztJQWJ6RyxJQUFhLFFBQVEsQ0FBQyxLQUFVO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFZRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDO1lBQ3JDLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWE7WUFDcEMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxFQUFFO2dCQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3ZDLENBQUM7WUFDRCxVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUztTQUNwQyxDQUFDLENBQUM7UUFDSCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDWixJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM5QztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNoQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFVO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3pCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDekM7SUFDTCxDQUFDOzs7WUFsRUosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxzQkFBc0I7Z0JBQ2hDLDZGQUFnRDtnQkFFaEQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07Z0JBQy9DLFNBQVMsRUFBRTtvQkFDUDt3QkFDSSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLEVBQUUsdUJBQXVCO3dCQUNwQyxLQUFLLEVBQUUsSUFBSTtxQkFDZDtvQkFDRCxrQkFBa0I7aUJBQ3JCOzthQUNKOzs7WUF2Q0csaUJBQWlCO1lBVVosa0JBQWtCOzs7b0JBK0J0QixLQUFLO3VCQUNMLEtBQUs7d0JBSUwsV0FBVyxTQUFDLGdCQUFnQjt1QkFPNUIsU0FBUyxTQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQWZ0ZXJWaWV3SW5pdCxcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgSG9zdEJpbmRpbmcsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uRGVzdHJveSxcclxuICAgIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgUHJvc2VtaXJyb3JTZXJ2aWNlIH0gZnJvbSAnLi9wcm9zZW1pcnJvci9wcm9zZW1pcnJvci5zZXJ2aWNlJztcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogQSByaWNoIHRleHQgKEhUTUwpIGVkaXRvciBiYXNlZCBvbiBQcm9zZW1pcnJvciAoaHR0cHM6Ly9wcm9zZW1pcnJvci5uZXQvKVxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGBIVE1MXHJcbiAqIDx2ZHItcmljaC10ZXh0LWVkaXRvclxyXG4gKiAgICAgWyhuZ01vZGVsKV09XCJkZXNjcmlwdGlvblwiXHJcbiAqICAgICBsYWJlbD1cIkRlc2NyaXB0aW9uXCJcclxuICogPjwvdmRyLXJpY2gtdGV4dC1lZGl0b3I+XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IGNvbXBvbmVudHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItcmljaC10ZXh0LWVkaXRvcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmljaC10ZXh0LWVkaXRvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9yaWNoLXRleHQtZWRpdG9yLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBSaWNoVGV4dEVkaXRvckNvbXBvbmVudCxcclxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBQcm9zZW1pcnJvclNlcnZpY2UsXHJcbiAgICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmljaFRleHRFZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBzZXQgcmVhZG9ubHkodmFsdWU6IGFueSkge1xyXG4gICAgICAgIHRoaXMuX3JlYWRvbmx5ID0gISF2YWx1ZTtcclxuICAgICAgICB0aGlzLnByb3NlbWlycm9yU2VydmljZS5zZXRFbmFibGVkKCF0aGlzLl9yZWFkb25seSk7XHJcbiAgICB9XHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnJlYWRvbmx5JylcclxuICAgIF9yZWFkb25seSA9IGZhbHNlO1xyXG5cclxuICAgIG9uQ2hhbmdlOiAodmFsOiBhbnkpID0+IHZvaWQ7XHJcbiAgICBvblRvdWNoOiAoKSA9PiB2b2lkO1xyXG4gICAgcHJpdmF0ZSB2YWx1ZTogc3RyaW5nO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ2VkaXRvcicsIHsgc3RhdGljOiB0cnVlIH0pIHByaXZhdGUgZWRpdG9yRWw6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIHByb3NlbWlycm9yU2VydmljZTogUHJvc2VtaXJyb3JTZXJ2aWNlKSB7fVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgICB0aGlzLnByb3NlbWlycm9yU2VydmljZS5jcmVhdGVFZGl0b3JWaWV3KHtcclxuICAgICAgICAgICAgZWxlbWVudDogdGhpcy5lZGl0b3JFbC5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAgICAgICBvblRleHRJbnB1dDogY29udGVudCA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKGNvbnRlbnQpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgaXNSZWFkT25seTogKCkgPT4gIXRoaXMuX3JlYWRvbmx5LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGlmICh0aGlzLnZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMucHJvc2VtaXJyb3JTZXJ2aWNlLnVwZGF0ZSh0aGlzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5wcm9zZW1pcnJvclNlcnZpY2UuZGVzdHJveSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5wcm9zZW1pcnJvclNlcnZpY2Uuc2V0RW5hYmxlZCghaXNEaXNhYmxlZCk7XHJcbiAgICB9XHJcblxyXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgIGlmICh0aGlzLnByb3NlbWlycm9yU2VydmljZSkge1xyXG4gICAgICAgICAgICB0aGlzLnByb3NlbWlycm9yU2VydmljZS51cGRhdGUodmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,48 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ export class TabbedCustomFieldsComponent {
3
+ constructor() {
4
+ this.readonly = false;
5
+ this.compact = false;
6
+ this.showLabel = true;
7
+ this.defaultTabName = '__default_tab__';
8
+ }
9
+ ngOnInit() {
10
+ this.tabbedCustomFields = this.groupByTabs(this.customFields);
11
+ }
12
+ customFieldIsSet(name) {
13
+ return !!this.customFieldsFormGroup.get(name);
14
+ }
15
+ groupByTabs(customFieldConfigs) {
16
+ var _a, _b, _c;
17
+ const tabMap = new Map();
18
+ for (const field of customFieldConfigs) {
19
+ const tabName = (_b = (_a = field.ui) === null || _a === void 0 ? void 0 : _a.tab) !== null && _b !== void 0 ? _b : this.defaultTabName;
20
+ if (tabMap.has(tabName)) {
21
+ (_c = tabMap.get(tabName)) === null || _c === void 0 ? void 0 : _c.push(field);
22
+ }
23
+ else {
24
+ tabMap.set(tabName, [field]);
25
+ }
26
+ }
27
+ return Array.from(tabMap.entries())
28
+ .sort((a, b) => (a[0] === this.defaultTabName ? -1 : 1))
29
+ .map(([tabName, customFields]) => ({ tabName, customFields }));
30
+ }
31
+ }
32
+ TabbedCustomFieldsComponent.decorators = [
33
+ { type: Component, args: [{
34
+ selector: 'vdr-tabbed-custom-fields',
35
+ template: "<ng-container *ngIf=\"1 < tabbedCustomFields.length; else singleGroup\">\r\n <clr-tabs>\r\n <clr-tab *ngFor=\"let group of tabbedCustomFields\">\r\n <button clrTabLink>\r\n {{\r\n group.tabName === defaultTabName\r\n ? ('common.general' | translate)\r\n : (group.tabName | translate)\r\n }}\r\n </button>\r\n <clr-tab-content *clrIfActive>\r\n <div class=\"mt4\">\r\n <ng-container *ngFor=\"let customField of group.customFields\">\r\n <vdr-custom-field-control\r\n *ngIf=\"customFieldIsSet(customField.name)\"\r\n [entityName]=\"entityName\"\r\n [customFieldsFormGroup]=\"customFieldsFormGroup\"\r\n [customField]=\"customField\"\r\n [readonly]=\"readonly\"\r\n [compact]=\"compact\"\r\n [showLabel]=\"showLabel\"\r\n ></vdr-custom-field-control>\r\n </ng-container>\r\n </div>\r\n </clr-tab-content>\r\n </clr-tab>\r\n </clr-tabs>\r\n</ng-container>\r\n<ng-template #singleGroup>\r\n <ng-container *ngFor=\"let customField of tabbedCustomFields[0]?.customFields\">\r\n <vdr-custom-field-control\r\n *ngIf=\"customFieldIsSet(customField.name)\"\r\n [entityName]=\"entityName\"\r\n [customFieldsFormGroup]=\"customFieldsFormGroup\"\r\n [customField]=\"customField\"\r\n [readonly]=\"readonly\"\r\n [compact]=\"compact\"\r\n [showLabel]=\"showLabel\"\r\n ></vdr-custom-field-control>\r\n </ng-container>\r\n</ng-template>\r\n",
36
+ changeDetection: ChangeDetectionStrategy.OnPush,
37
+ styles: [""]
38
+ },] }
39
+ ];
40
+ TabbedCustomFieldsComponent.propDecorators = {
41
+ entityName: [{ type: Input }],
42
+ customFields: [{ type: Input }],
43
+ customFieldsFormGroup: [{ type: Input }],
44
+ readonly: [{ type: Input }],
45
+ compact: [{ type: Input }],
46
+ showLabel: [{ type: Input }]
47
+ };
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiYmVkLWN1c3RvbS1maWVsZHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvY29tcG9uZW50cy90YWJiZWQtY3VzdG9tLWZpZWxkcy90YWJiZWQtY3VzdG9tLWZpZWxkcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFjbEYsTUFBTSxPQUFPLDJCQUEyQjtJQU54QztRQVVhLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLG1CQUFjLEdBQUcsaUJBQWlCLENBQUM7SUF5QmhELENBQUM7SUF0QkcsUUFBUTtRQUNKLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBWTtRQUN6QixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTyxXQUFXLENBQUMsa0JBQXVDOztRQUN2RCxNQUFNLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBK0IsQ0FBQztRQUN0RCxLQUFLLE1BQU0sS0FBSyxJQUFJLGtCQUFrQixFQUFFO1lBQ3BDLE1BQU0sT0FBTyxHQUFHLE1BQUEsTUFBQSxLQUFLLENBQUMsRUFBRSwwQ0FBRSxHQUFHLG1DQUFJLElBQUksQ0FBQyxjQUFjLENBQUM7WUFDckQsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNyQixNQUFBLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLDBDQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNwQztpQkFBTTtnQkFDSCxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDaEM7U0FDSjtRQUNELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDOUIsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3ZELEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDOzs7WUFyQ0osU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSwwQkFBMEI7Z0JBQ3BDLDIxREFBb0Q7Z0JBRXBELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNsRDs7O3lCQUVJLEtBQUs7MkJBQ0wsS0FBSztvQ0FDTCxLQUFLO3VCQUNMLEtBQUs7c0JBQ0wsS0FBSzt3QkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IEN1c3RvbUZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XHJcbmltcG9ydCB7IEN1c3RvbUZpZWxkRW50aXR5TmFtZSB9IGZyb20gJy4uLy4uLy4uL3Byb3ZpZGVycy9jdXN0b20tZmllbGQtY29tcG9uZW50L2N1c3RvbS1maWVsZC1jb21wb25lbnQuc2VydmljZSc7XHJcblxyXG5leHBvcnQgdHlwZSBHcm91cGVkQ3VzdG9tRmllbGRzID0gQXJyYXk8eyB0YWJOYW1lOiBzdHJpbmc7IGN1c3RvbUZpZWxkczogQ3VzdG9tRmllbGRDb25maWdbXSB9PjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItdGFiYmVkLWN1c3RvbS1maWVsZHMnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RhYmJlZC1jdXN0b20tZmllbGRzLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3RhYmJlZC1jdXN0b20tZmllbGRzLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRhYmJlZEN1c3RvbUZpZWxkc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBASW5wdXQoKSBlbnRpdHlOYW1lOiBDdXN0b21GaWVsZEVudGl0eU5hbWU7XHJcbiAgICBASW5wdXQoKSBjdXN0b21GaWVsZHM6IEN1c3RvbUZpZWxkQ29uZmlnW107XHJcbiAgICBASW5wdXQoKSBjdXN0b21GaWVsZHNGb3JtR3JvdXA6IEFic3RyYWN0Q29udHJvbDtcclxuICAgIEBJbnB1dCgpIHJlYWRvbmx5ID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBjb21wYWN0ID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBzaG93TGFiZWwgPSB0cnVlO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdFRhYk5hbWUgPSAnX19kZWZhdWx0X3RhYl9fJztcclxuICAgIHRhYmJlZEN1c3RvbUZpZWxkczogR3JvdXBlZEN1c3RvbUZpZWxkcztcclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnRhYmJlZEN1c3RvbUZpZWxkcyA9IHRoaXMuZ3JvdXBCeVRhYnModGhpcy5jdXN0b21GaWVsZHMpO1xyXG4gICAgfVxyXG5cclxuICAgIGN1c3RvbUZpZWxkSXNTZXQobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuICEhdGhpcy5jdXN0b21GaWVsZHNGb3JtR3JvdXAuZ2V0KG5hbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ3JvdXBCeVRhYnMoY3VzdG9tRmllbGRDb25maWdzOiBDdXN0b21GaWVsZENvbmZpZ1tdKTogR3JvdXBlZEN1c3RvbUZpZWxkcyB7XHJcbiAgICAgICAgY29uc3QgdGFiTWFwID0gbmV3IE1hcDxzdHJpbmcsIEN1c3RvbUZpZWxkQ29uZmlnW10+KCk7XHJcbiAgICAgICAgZm9yIChjb25zdCBmaWVsZCBvZiBjdXN0b21GaWVsZENvbmZpZ3MpIHtcclxuICAgICAgICAgICAgY29uc3QgdGFiTmFtZSA9IGZpZWxkLnVpPy50YWIgPz8gdGhpcy5kZWZhdWx0VGFiTmFtZTtcclxuICAgICAgICAgICAgaWYgKHRhYk1hcC5oYXModGFiTmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIHRhYk1hcC5nZXQodGFiTmFtZSk/LnB1c2goZmllbGQpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGFiTWFwLnNldCh0YWJOYW1lLCBbZmllbGRdKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh0YWJNYXAuZW50cmllcygpKVxyXG4gICAgICAgICAgICAuc29ydCgoYSwgYikgPT4gKGFbMF0gPT09IHRoaXMuZGVmYXVsdFRhYk5hbWUgPyAtMSA6IDEpKVxyXG4gICAgICAgICAgICAubWFwKChbdGFiTmFtZSwgY3VzdG9tRmllbGRzXSkgPT4gKHsgdGFiTmFtZSwgY3VzdG9tRmllbGRzIH0pKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -9,7 +9,7 @@ TitleInputComponent.decorators = [
9
9
  selector: 'vdr-title-input',
10
10
  template: "<ng-content></ng-content>\r\n<div class=\"edit-icon\" *ngIf=\"!readonly\">\r\n <clr-icon shape=\"edit\"></clr-icon>\r\n</div>\r\n",
11
11
  changeDetection: ChangeDetectionStrategy.OnPush,
12
- styles: [":host{display:block;position:relative}:host ::ng-deep input{font-size:18px;color:var(--clr-p1-color);max-width:100%}:host ::ng-deep input:not(:focus){border-color:transparent!important;background-color:transparent!important}:host ::ng-deep input:focus{background-color:var(--clr-global-app-background)}:host ::ng-deep .clr-control-container{max-width:100%}:host ::ng-deep .clr-input-wrapper{max-width:100%!important}:host .edit-icon{position:absolute;right:8px;top:6px;color:var(--color-grey-300);opacity:0;transition:opacity .2s}:host:hover ::ng-deep input:not(:focus){background-color:var(--color-component-bg-200)!important}:host:hover .edit-icon{opacity:1}:host.readonly .edit-icon{display:none}:host.readonly:hover ::ng-deep input:not(:focus){background-color:var(--color-grey-200)!important}\n"]
12
+ styles: [":host{display:block;position:relative}:host ::ng-deep input{font-size:18px;color:var(--clr-p1-color);max-width:100%}:host ::ng-deep input:not(:focus){border-color:transparent!important;background-color:var(--color-component-bg-100)!important}:host ::ng-deep input:focus{background-color:var(--clr-global-app-background)}:host ::ng-deep .clr-control-container{max-width:100%}:host ::ng-deep .clr-input-wrapper{max-width:100%!important}:host .edit-icon{position:absolute;right:8px;top:6px;color:var(--color-grey-400);opacity:0;transition:opacity .2s}:host:hover ::ng-deep input:not(:focus){background-color:var(--color-component-bg-200)!important}:host:hover .edit-icon{opacity:1}:host.readonly .edit-icon{display:none}:host.readonly:hover ::ng-deep input:not(:focus){background-color:var(--color-grey-200)!important}\n"]
13
13
  },] }
14
14
  ];
15
15
  TitleInputComponent.propDecorators = {
@@ -0,0 +1,31 @@
1
+ import { ChangeDetectionStrategy, Component, Input, isDevMode } from '@angular/core';
2
+ import { DataService } from '../../../data/providers/data.service';
3
+ export class UiExtensionPointComponent {
4
+ constructor(dataService) {
5
+ this.dataService = dataService;
6
+ this.isDevMode = isDevMode();
7
+ }
8
+ ngOnInit() {
9
+ this.display$ = this.dataService.client
10
+ .uiState()
11
+ .mapStream(({ uiState }) => uiState.displayUiExtensionPoints);
12
+ }
13
+ }
14
+ UiExtensionPointComponent.decorators = [
15
+ { type: Component, args: [{
16
+ selector: 'vdr-ui-extension-point',
17
+ template: "<div [class.highlight]=\"isDevMode && (display$ | async)\" class=\"wrapper\">\r\n <vdr-dropdown *ngIf=\"isDevMode && (display$ | async)\">\r\n <button class=\"btn btn-icon btn-link extension-point-info-trigger\"\r\n [style.top.px]=\"topPx ?? 0\"\r\n [style.left.px]=\"leftPx ?? 0\"\r\n vdrDropdownTrigger>\r\n <clr-icon shape=\"plugin\" class=\"\" size=\"16\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"extension-info\">\r\n <pre *ngIf=\"api === 'actionBar'\">\r\naddActionBarItem({{ '{' }}\r\n id: 'my-button',\r\n label: 'My Action',\r\n locationId: '{{ locationId }}',\r\n{{ '}' }})</pre>\r\n <pre *ngIf=\"api === 'navMenu'\">\r\naddNavMenuItem({{ '{' }}\r\n id: 'my-menu-item',\r\n label: 'My Menu Item',\r\n routerLink: ['/extensions/my-plugin'],\r\n {{ '}' }},\r\n '{{ locationId }}'\r\n)</pre>\r\n <pre *ngIf=\"api === 'detailComponent'\">\r\nregisterCustomDetailComponent({{ '{' }}\r\n locationId: '{{ locationId }}',\r\n component: MyCustomComponent,\r\n{{ '}' }})</pre>\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n <ng-content></ng-content>\r\n</div>\r\n",
18
+ changeDetection: ChangeDetectionStrategy.OnPush,
19
+ styles: [":host{position:relative;display:inline-block}.wrapper{display:inline-block;height:100%}.extension-point-info-trigger{position:absolute;margin:0;padding:0;z-index:100}.extension-point-info-trigger clr-icon{color:var(--color-success-500)}.extension-info{padding:12px}pre{padding:6px;font-family:\"Source Code Pro\",\"Lucida Console\",Monaco,monospace;background-color:var(--color-grey-200)}\n"]
20
+ },] }
21
+ ];
22
+ UiExtensionPointComponent.ctorParameters = () => [
23
+ { type: DataService }
24
+ ];
25
+ UiExtensionPointComponent.propDecorators = {
26
+ locationId: [{ type: Input }],
27
+ topPx: [{ type: Input }],
28
+ leftPx: [{ type: Input }],
29
+ api: [{ type: Input }]
30
+ };
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZXh0ZW5zaW9uLXBvaW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2NvbXBvbmVudHMvdWktZXh0ZW5zaW9uLXBvaW50L3VpLWV4dGVuc2lvbi1wb2ludC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBSTdGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQVFuRSxNQUFNLE9BQU8seUJBQXlCO0lBT2xDLFlBQW9CLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBRG5DLGNBQVMsR0FBRyxTQUFTLEVBQUUsQ0FBQztJQUNjLENBQUM7SUFFaEQsUUFBUTtRQUNKLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNO2FBQ2xDLE9BQU8sRUFBRTthQUNULFNBQVMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7OztZQW5CSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMscXdDQUFrRDtnQkFFbEQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2xEOzs7WUFQUSxXQUFXOzs7eUJBU2YsS0FBSztvQkFDTCxLQUFLO3FCQUNMLEtBQUs7a0JBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBpc0Rldk1vZGUsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBVSUV4dGVuc2lvbkxvY2F0aW9uSWQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29tcG9uZW50LXJlZ2lzdHJ5LXR5cGVzJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhL3Byb3ZpZGVycy9kYXRhLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci11aS1leHRlbnNpb24tcG9pbnQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VpLWV4dGVuc2lvbi1wb2ludC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi91aS1leHRlbnNpb24tcG9pbnQuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWlFeHRlbnNpb25Qb2ludENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBASW5wdXQoKSBsb2NhdGlvbklkOiBVSUV4dGVuc2lvbkxvY2F0aW9uSWQ7XHJcbiAgICBASW5wdXQoKSB0b3BQeDogbnVtYmVyO1xyXG4gICAgQElucHV0KCkgbGVmdFB4OiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSBhcGk6ICdhY3Rpb25CYXInIHwgJ25hdk1lbnUnIHwgJ2RldGFpbENvbXBvbmVudCc7XHJcbiAgICBkaXNwbGF5JDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIHJlYWRvbmx5IGlzRGV2TW9kZSA9IGlzRGV2TW9kZSgpO1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UpIHt9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5JCA9IHRoaXMuZGF0YVNlcnZpY2UuY2xpZW50XHJcbiAgICAgICAgICAgIC51aVN0YXRlKClcclxuICAgICAgICAgICAgLm1hcFN0cmVhbSgoeyB1aVN0YXRlIH0pID0+IHVpU3RhdGUuZGlzcGxheVVpRXh0ZW5zaW9uUG9pbnRzKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,6 +1,20 @@
1
1
  import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';
2
2
  import { DataService } from '../../data/providers/data.service';
3
3
  import { IfDirectiveBase } from './if-directive-base';
4
+ /**
5
+ * @description
6
+ * Structural directive that displays the given element if the Vendure instance has multiple channels
7
+ * configured.
8
+ *
9
+ * @example
10
+ * ```html
11
+ * <div *vdrIfMultichannel class="channel-selector">
12
+ * <!-- ... -->
13
+ * </ng-container>
14
+ * ```
15
+ *
16
+ * @docsCategory directives
17
+ */
4
18
  export class IfMultichannelDirective extends IfDirectiveBase {
5
19
  constructor(_viewContainer, templateRef, dataService) {
6
20
  super(_viewContainer, templateRef, () => {
@@ -30,4 +44,4 @@ IfMultichannelDirective.ctorParameters = () => [
30
44
  IfMultichannelDirective.propDecorators = {
31
45
  vdrIfMultichannelElse: [{ type: Input }]
32
46
  };
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWYtbXVsdGljaGFubmVsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2RpcmVjdGl2ZXMvaWYtbXVsdGljaGFubmVsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRWhFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUt0RCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsZUFBbUI7SUFDNUQsWUFDSSxjQUFnQyxFQUNoQyxXQUE2QixFQUNyQixXQUF3QjtRQUVoQyxLQUFLLENBQUMsY0FBYyxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUU7WUFDcEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU07aUJBQ3pCLFVBQVUsRUFBRTtpQkFDWixTQUFTLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2RSxDQUFDLENBQUMsQ0FBQztRQU5LLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBT3BDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ0kscUJBQXFCLENBQUMsV0FBb0M7UUFDMUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0QyxDQUFDOzs7WUF0QkosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxxQkFBcUI7YUFDbEM7OztZQVJ1QyxnQkFBZ0I7WUFBN0IsV0FBVztZQUU3QixXQUFXOzs7b0NBdUJmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9kYXRhL3Byb3ZpZGVycy9kYXRhLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgSWZEaXJlY3RpdmVCYXNlIH0gZnJvbSAnLi9pZi1kaXJlY3RpdmUtYmFzZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW3ZkcklmTXVsdGljaGFubmVsXScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJZk11bHRpY2hhbm5lbERpcmVjdGl2ZSBleHRlbmRzIElmRGlyZWN0aXZlQmFzZTxbXT4ge1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgX3ZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgICAgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXHJcbiAgICAgICAgcHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UsXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihfdmlld0NvbnRhaW5lciwgdGVtcGxhdGVSZWYsICgpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGF0YVNlcnZpY2UuY2xpZW50XHJcbiAgICAgICAgICAgICAgICAudXNlclN0YXR1cygpXHJcbiAgICAgICAgICAgICAgICAubWFwU3RyZWFtKCh7IHVzZXJTdGF0dXMgfSkgPT4gMSA8IHVzZXJTdGF0dXMuY2hhbm5lbHMubGVuZ3RoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEEgdGVtcGxhdGUgdG8gc2hvdyBpZiB0aGUgY3VycmVudCB1c2VyIGRvZXMgbm90IGhhdmUgdGhlIHNwZWljaWZpZWQgcGVybWlzc2lvbi5cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHNldCB2ZHJJZk11bHRpY2hhbm5lbEVsc2UodGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsKSB7XHJcbiAgICAgICAgdGhpcy5zZXRFbHNlVGVtcGxhdGUodGVtcGxhdGVSZWYpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWYtbXVsdGljaGFubmVsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2RpcmVjdGl2ZXMvaWYtbXVsdGljaGFubmVsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRWhFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RDs7Ozs7Ozs7Ozs7OztHQWFHO0FBSUgsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGVBQW1CO0lBQzVELFlBQ0ksY0FBZ0MsRUFDaEMsV0FBNkIsRUFDckIsV0FBd0I7UUFFaEMsS0FBSyxDQUFDLGNBQWMsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFO1lBQ3BDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNO2lCQUN6QixVQUFVLEVBQUU7aUJBQ1osU0FBUyxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkUsQ0FBQyxDQUFDLENBQUM7UUFOSyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQU9wQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNJLHFCQUFxQixDQUFDLFdBQW9DO1FBQzFELElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEMsQ0FBQzs7O1lBdEJKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUscUJBQXFCO2FBQ2xDOzs7WUF0QnVDLGdCQUFnQjtZQUE3QixXQUFXO1lBRTdCLFdBQVc7OztvQ0FxQ2YsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uL2RhdGEvcHJvdmlkZXJzL2RhdGEuc2VydmljZSc7XHJcblxyXG5pbXBvcnQgeyBJZkRpcmVjdGl2ZUJhc2UgfSBmcm9tICcuL2lmLWRpcmVjdGl2ZS1iYXNlJztcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogU3RydWN0dXJhbCBkaXJlY3RpdmUgdGhhdCBkaXNwbGF5cyB0aGUgZ2l2ZW4gZWxlbWVudCBpZiB0aGUgVmVuZHVyZSBpbnN0YW5jZSBoYXMgbXVsdGlwbGUgY2hhbm5lbHNcclxuICogY29uZmlndXJlZC5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgaHRtbFxyXG4gKiA8ZGl2ICp2ZHJJZk11bHRpY2hhbm5lbCBjbGFzcz1cImNoYW5uZWwtc2VsZWN0b3JcIj5cclxuICogICA8IS0tIC4uLiAtLT5cclxuICogPC9uZy1jb250YWluZXI+XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IGRpcmVjdGl2ZXNcclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbdmRySWZNdWx0aWNoYW5uZWxdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIElmTXVsdGljaGFubmVsRGlyZWN0aXZlIGV4dGVuZHMgSWZEaXJlY3RpdmVCYXNlPFtdPiB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBfdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcclxuICAgICAgICB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcclxuICAgICAgICBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSxcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKF92aWV3Q29udGFpbmVyLCB0ZW1wbGF0ZVJlZiwgKCkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kYXRhU2VydmljZS5jbGllbnRcclxuICAgICAgICAgICAgICAgIC51c2VyU3RhdHVzKClcclxuICAgICAgICAgICAgICAgIC5tYXBTdHJlYW0oKHsgdXNlclN0YXR1cyB9KSA9PiAxIDwgdXNlclN0YXR1cy5jaGFubmVscy5sZW5ndGgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQSB0ZW1wbGF0ZSB0byBzaG93IGlmIHRoZSBjdXJyZW50IHVzZXIgZG9lcyBub3QgaGF2ZSB0aGUgc3BlaWNpZmllZCBwZXJtaXNzaW9uLlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IHZkcklmTXVsdGljaGFubmVsRWxzZSh0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwpIHtcclxuICAgICAgICB0aGlzLnNldEVsc2VUZW1wbGF0ZSh0ZW1wbGF0ZVJlZik7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -4,6 +4,7 @@ import { tap } from 'rxjs/operators';
4
4
  import { DataService } from '../../data/providers/data.service';
5
5
  import { IfDirectiveBase } from './if-directive-base';
6
6
  /**
7
+ * @description
7
8
  * Conditionally shows/hides templates based on the current active user having the specified permission.
8
9
  * Based on the ngIf source. Also support "else" templates:
9
10
  *
@@ -15,6 +16,8 @@ import { IfDirectiveBase } from './if-directive-base';
15
16
  *
16
17
  * The permission can be a single string, or an array. If an array is passed, then _all_ of the permissions
17
18
  * must match (logical AND)
19
+ *
20
+ * @docsCategory directives
18
21
  */
19
22
  export class IfPermissionsDirective extends IfDirectiveBase {
20
23
  constructor(_viewContainer, templateRef, dataService, changeDetectorRef) {
@@ -72,4 +75,4 @@ IfPermissionsDirective.propDecorators = {
72
75
  vdrIfPermissions: [{ type: Input }],
73
76
  vdrIfPermissionsElse: [{ type: Input }]
74
77
  };
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWYtcGVybWlzc2lvbnMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvZGlyZWN0aXZlcy9pZi1wZXJtaXNzaW9ucy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGlCQUFpQixFQUNqQixTQUFTLEVBRVQsS0FBSyxFQUNMLFdBQVcsRUFDWCxnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRWhFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RDs7Ozs7Ozs7Ozs7O0dBWUc7QUFJSCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsZUFBMkM7SUFHbkYsWUFDSSxjQUFnQyxFQUNoQyxXQUE2QixFQUNyQixXQUF3QixFQUN4QixpQkFBb0M7UUFFNUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDLEVBQUU7WUFDN0MsSUFBSSxXQUFXLElBQUksSUFBSSxFQUFFO2dCQUNyQixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNuQjtpQkFBTSxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNyQixPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNwQjtZQUNELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNO2lCQUN6QixVQUFVLEVBQUU7aUJBQ1osU0FBUyxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFO2dCQUMxQixLQUFLLE1BQU0sVUFBVSxJQUFJLFdBQVcsRUFBRTtvQkFDbEMsSUFBSSxVQUFVLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRTt3QkFDN0MsT0FBTyxJQUFJLENBQUM7cUJBQ2Y7aUJBQ0o7Z0JBQ0QsT0FBTyxLQUFLLENBQUM7WUFDakIsQ0FBQyxDQUFDO2lCQUNELElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNoRSxDQUFDLENBQUMsQ0FBQztRQXBCSyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBTnhDLHNCQUFpQixHQUFvQixDQUFDLG1CQUFtQixDQUFDLENBQUM7SUEwQm5FLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ0ksZ0JBQWdCLENBQUMsVUFBb0M7UUFDckQsSUFBSSxDQUFDLGlCQUFpQjtZQUNsQixDQUFDLFVBQVUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3BGLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQyxDQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNJLG9CQUFvQixDQUFDLFdBQW9DO1FBQ3pELElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlDLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7OztZQWpESixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLG9CQUFvQjthQUNqQzs7O1lBekJHLGdCQUFnQjtZQURoQixXQUFXO1lBT04sV0FBVztZQVhoQixpQkFBaUI7OzsrQkErRGhCLEtBQUs7bUNBVUwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVtYmVkZGVkVmlld1JlZixcbiAgICBJbnB1dCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFBlcm1pc3Npb24gfSBmcm9tICcuLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZGF0YS9wcm92aWRlcnMvZGF0YS5zZXJ2aWNlJztcblxuaW1wb3J0IHsgSWZEaXJlY3RpdmVCYXNlIH0gZnJvbSAnLi9pZi1kaXJlY3RpdmUtYmFzZSc7XG5cbi8qKlxuICogQ29uZGl0aW9uYWxseSBzaG93cy9oaWRlcyB0ZW1wbGF0ZXMgYmFzZWQgb24gdGhlIGN1cnJlbnQgYWN0aXZlIHVzZXIgaGF2aW5nIHRoZSBzcGVjaWZpZWQgcGVybWlzc2lvbi5cbiAqIEJhc2VkIG9uIHRoZSBuZ0lmIHNvdXJjZS4gQWxzbyBzdXBwb3J0IFwiZWxzZVwiIHRlbXBsYXRlczpcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPGJ1dHRvbiAqdmRySWZQZXJtaXNzaW9ucz1cIidEZWxldGVDYXRhbG9nJzsgZWxzZSB1bmF1dGhvcml6ZWRcIj5EZWxldGUgUHJvZHVjdDwvYnV0dG9uPlxuICogPG5nLXRlbXBsYXRlICN1bmF1dGhvcml6ZWQ+Tm90IGFsbG93ZWQhPC9uZy10ZW1wbGF0ZT5cbiAqIGBgYFxuICpcbiAqIFRoZSBwZXJtaXNzaW9uIGNhbiBiZSBhIHNpbmdsZSBzdHJpbmcsIG9yIGFuIGFycmF5LiBJZiBhbiBhcnJheSBpcyBwYXNzZWQsIHRoZW4gX2FsbF8gb2YgdGhlIHBlcm1pc3Npb25zXG4gKiBtdXN0IG1hdGNoIChsb2dpY2FsIEFORClcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdmRySWZQZXJtaXNzaW9uc10nLFxufSlcbmV4cG9ydCBjbGFzcyBJZlBlcm1pc3Npb25zRGlyZWN0aXZlIGV4dGVuZHMgSWZEaXJlY3RpdmVCYXNlPEFycmF5PFBlcm1pc3Npb25bXSB8IG51bGw+PiB7XG4gICAgcHJpdmF0ZSBwZXJtaXNzaW9uVG9DaGVjazogc3RyaW5nW10gfCBudWxsID0gWydfX2luaXRpYWxfdmFsdWVfXyddO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIF92aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcbiAgICAgICAgcHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICkge1xuICAgICAgICBzdXBlcihfdmlld0NvbnRhaW5lciwgdGVtcGxhdGVSZWYsIHBlcm1pc3Npb25zID0+IHtcbiAgICAgICAgICAgIGlmIChwZXJtaXNzaW9ucyA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKHRydWUpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICghcGVybWlzc2lvbnMpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGF0YVNlcnZpY2UuY2xpZW50XG4gICAgICAgICAgICAgICAgLnVzZXJTdGF0dXMoKVxuICAgICAgICAgICAgICAgIC5tYXBTdHJlYW0oKHsgdXNlclN0YXR1cyB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcGVybWlzc2lvbiBvZiBwZXJtaXNzaW9ucykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHVzZXJTdGF0dXMucGVybWlzc2lvbnMuaW5jbHVkZXMocGVybWlzc2lvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAucGlwZSh0YXAoKCkgPT4gdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKSkpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgcGVybWlzc2lvbiB0byBjaGVjayB0byBkZXRlcm1pbmUgd2hldGhlciB0byBzaG93IHRoZSB0ZW1wbGF0ZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB2ZHJJZlBlcm1pc3Npb25zKHBlcm1pc3Npb246IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCkge1xuICAgICAgICB0aGlzLnBlcm1pc3Npb25Ub0NoZWNrID1cbiAgICAgICAgICAgIChwZXJtaXNzaW9uICYmIChBcnJheS5pc0FycmF5KHBlcm1pc3Npb24pID8gcGVybWlzc2lvbiA6IFtwZXJtaXNzaW9uXSkpIHx8IG51bGw7XG4gICAgICAgIHRoaXMudXBkYXRlQXJncyQubmV4dChbdGhpcy5wZXJtaXNzaW9uVG9DaGVjayBhcyBQZXJtaXNzaW9uW11dKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBIHRlbXBsYXRlIHRvIHNob3cgaWYgdGhlIGN1cnJlbnQgdXNlciBkb2VzIG5vdCBoYXZlIHRoZSBzcGVjaWZpZWQgcGVybWlzc2lvbi5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB2ZHJJZlBlcm1pc3Npb25zRWxzZSh0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5zZXRFbHNlVGVtcGxhdGUodGVtcGxhdGVSZWYpO1xuICAgICAgICB0aGlzLnVwZGF0ZUFyZ3MkLm5leHQoW3RoaXMucGVybWlzc2lvblRvQ2hlY2sgYXMgUGVybWlzc2lvbltdXSk7XG4gICAgfVxufVxuIl19
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWYtcGVybWlzc2lvbnMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvZGlyZWN0aXZlcy9pZi1wZXJtaXNzaW9ucy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGlCQUFpQixFQUNqQixTQUFTLEVBRVQsS0FBSyxFQUNMLFdBQVcsRUFDWCxnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRWhFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RDs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFJSCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsZUFBMkM7SUFHbkYsWUFDSSxjQUFnQyxFQUNoQyxXQUE2QixFQUNyQixXQUF3QixFQUN4QixpQkFBb0M7UUFFNUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDLEVBQUU7WUFDN0MsSUFBSSxXQUFXLElBQUksSUFBSSxFQUFFO2dCQUNyQixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNuQjtpQkFBTSxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNyQixPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNwQjtZQUNELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNO2lCQUN6QixVQUFVLEVBQUU7aUJBQ1osU0FBUyxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFO2dCQUMxQixLQUFLLE1BQU0sVUFBVSxJQUFJLFdBQVcsRUFBRTtvQkFDbEMsSUFBSSxVQUFVLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRTt3QkFDN0MsT0FBTyxJQUFJLENBQUM7cUJBQ2Y7aUJBQ0o7Z0JBQ0QsT0FBTyxLQUFLLENBQUM7WUFDakIsQ0FBQyxDQUFDO2lCQUNELElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNoRSxDQUFDLENBQUMsQ0FBQztRQXBCSyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBTnhDLHNCQUFpQixHQUFvQixDQUFDLG1CQUFtQixDQUFDLENBQUM7SUEwQm5FLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ0ksZ0JBQWdCLENBQUMsVUFBb0M7UUFDckQsSUFBSSxDQUFDLGlCQUFpQjtZQUNsQixDQUFDLFVBQVUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3BGLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQyxDQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNJLG9CQUFvQixDQUFDLFdBQW9DO1FBQ3pELElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlDLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7OztZQWpESixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLG9CQUFvQjthQUNqQzs7O1lBNUJHLGdCQUFnQjtZQURoQixXQUFXO1lBT04sV0FBVztZQVhoQixpQkFBaUI7OzsrQkFrRWhCLEtBQUs7bUNBVUwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIERpcmVjdGl2ZSxcclxuICAgIEVtYmVkZGVkVmlld1JlZixcclxuICAgIElucHV0LFxyXG4gICAgVGVtcGxhdGVSZWYsXHJcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBQZXJtaXNzaW9uIH0gZnJvbSAnLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZGF0YS9wcm92aWRlcnMvZGF0YS5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IElmRGlyZWN0aXZlQmFzZSB9IGZyb20gJy4vaWYtZGlyZWN0aXZlLWJhc2UnO1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBDb25kaXRpb25hbGx5IHNob3dzL2hpZGVzIHRlbXBsYXRlcyBiYXNlZCBvbiB0aGUgY3VycmVudCBhY3RpdmUgdXNlciBoYXZpbmcgdGhlIHNwZWNpZmllZCBwZXJtaXNzaW9uLlxyXG4gKiBCYXNlZCBvbiB0aGUgbmdJZiBzb3VyY2UuIEFsc28gc3VwcG9ydCBcImVsc2VcIiB0ZW1wbGF0ZXM6XHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYGh0bWxcclxuICogPGJ1dHRvbiAqdmRySWZQZXJtaXNzaW9ucz1cIidEZWxldGVDYXRhbG9nJzsgZWxzZSB1bmF1dGhvcml6ZWRcIj5EZWxldGUgUHJvZHVjdDwvYnV0dG9uPlxyXG4gKiA8bmctdGVtcGxhdGUgI3VuYXV0aG9yaXplZD5Ob3QgYWxsb3dlZCE8L25nLXRlbXBsYXRlPlxyXG4gKiBgYGBcclxuICpcclxuICogVGhlIHBlcm1pc3Npb24gY2FuIGJlIGEgc2luZ2xlIHN0cmluZywgb3IgYW4gYXJyYXkuIElmIGFuIGFycmF5IGlzIHBhc3NlZCwgdGhlbiBfYWxsXyBvZiB0aGUgcGVybWlzc2lvbnNcclxuICogbXVzdCBtYXRjaCAobG9naWNhbCBBTkQpXHJcbiAqXHJcbiAqIEBkb2NzQ2F0ZWdvcnkgZGlyZWN0aXZlc1xyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1t2ZHJJZlBlcm1pc3Npb25zXScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJZlBlcm1pc3Npb25zRGlyZWN0aXZlIGV4dGVuZHMgSWZEaXJlY3RpdmVCYXNlPEFycmF5PFBlcm1pc3Npb25bXSB8IG51bGw+PiB7XHJcbiAgICBwcml2YXRlIHBlcm1pc3Npb25Ub0NoZWNrOiBzdHJpbmdbXSB8IG51bGwgPSBbJ19faW5pdGlhbF92YWx1ZV9fJ107XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgX3ZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgICAgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXHJcbiAgICAgICAgcHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihfdmlld0NvbnRhaW5lciwgdGVtcGxhdGVSZWYsIHBlcm1pc3Npb25zID0+IHtcclxuICAgICAgICAgICAgaWYgKHBlcm1pc3Npb25zID09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBvZih0cnVlKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICghcGVybWlzc2lvbnMpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBvZihmYWxzZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGF0YVNlcnZpY2UuY2xpZW50XHJcbiAgICAgICAgICAgICAgICAudXNlclN0YXR1cygpXHJcbiAgICAgICAgICAgICAgICAubWFwU3RyZWFtKCh7IHVzZXJTdGF0dXMgfSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcGVybWlzc2lvbiBvZiBwZXJtaXNzaW9ucykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodXNlclN0YXR1cy5wZXJtaXNzaW9ucy5pbmNsdWRlcyhwZXJtaXNzaW9uKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIC5waXBlKHRhcCgoKSA9PiB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgcGVybWlzc2lvbiB0byBjaGVjayB0byBkZXRlcm1pbmUgd2hldGhlciB0byBzaG93IHRoZSB0ZW1wbGF0ZS5cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHNldCB2ZHJJZlBlcm1pc3Npb25zKHBlcm1pc3Npb246IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCkge1xyXG4gICAgICAgIHRoaXMucGVybWlzc2lvblRvQ2hlY2sgPVxyXG4gICAgICAgICAgICAocGVybWlzc2lvbiAmJiAoQXJyYXkuaXNBcnJheShwZXJtaXNzaW9uKSA/IHBlcm1pc3Npb24gOiBbcGVybWlzc2lvbl0pKSB8fCBudWxsO1xyXG4gICAgICAgIHRoaXMudXBkYXRlQXJncyQubmV4dChbdGhpcy5wZXJtaXNzaW9uVG9DaGVjayBhcyBQZXJtaXNzaW9uW11dKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEEgdGVtcGxhdGUgdG8gc2hvdyBpZiB0aGUgY3VycmVudCB1c2VyIGRvZXMgbm90IGhhdmUgdGhlIHNwZWNpZmllZCBwZXJtaXNzaW9uLlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IHZkcklmUGVybWlzc2lvbnNFbHNlKHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCkge1xyXG4gICAgICAgIHRoaXMuc2V0RWxzZVRlbXBsYXRlKHRlbXBsYXRlUmVmKTtcclxuICAgICAgICB0aGlzLnVwZGF0ZUFyZ3MkLm5leHQoW3RoaXMucGVybWlzc2lvblRvQ2hlY2sgYXMgUGVybWlzc2lvbltdXSk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,4 +1,11 @@
1
1
  import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ /**
3
+ * @description
4
+ * A checkbox input. The default input component for `boolean` fields.
5
+ *
6
+ * @docsCategory custom-input-components
7
+ * @docsPage default-inputs
8
+ */
2
9
  export class BooleanFormInputComponent {
3
10
  }
4
11
  BooleanFormInputComponent.id = 'boolean-form-input';
@@ -10,4 +17,4 @@ BooleanFormInputComponent.decorators = [
10
17
  styles: [""]
11
18
  },] }
12
19
  ];
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi1mb3JtLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2R5bmFtaWMtZm9ybS1pbnB1dHMvYm9vbGVhbi1mb3JtLWlucHV0L2Jvb2xlYW4tZm9ybS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVluRSxNQUFNLE9BQU8seUJBQXlCOztBQUNsQiw0QkFBRSxHQUEyQixvQkFBb0IsQ0FBQzs7WUFQckUsU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSx3QkFBd0I7Z0JBQ2xDLDhOQUFrRDtnQkFFbEQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRGVmYXVsdEZvcm1Db21wb25lbnRDb25maWcsIERlZmF1bHRGb3JtQ29tcG9uZW50SWQgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NoYXJlZC10eXBlcyc7XHJcblxyXG5pbXBvcnQgeyBGb3JtSW5wdXRDb21wb25lbnQsIElucHV0Q29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvbXBvbmVudC1yZWdpc3RyeS10eXBlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLWJvb2xlYW4tZm9ybS1pbnB1dCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYm9vbGVhbi1mb3JtLWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2Jvb2xlYW4tZm9ybS1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCb29sZWFuRm9ybUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgRm9ybUlucHV0Q29tcG9uZW50IHtcclxuICAgIHN0YXRpYyByZWFkb25seSBpZDogRGVmYXVsdEZvcm1Db21wb25lbnRJZCA9ICdib29sZWFuLWZvcm0taW5wdXQnO1xyXG4gICAgcmVhZG9ubHk6IGJvb2xlYW47XHJcbiAgICBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XHJcbiAgICBjb25maWc6IERlZmF1bHRGb3JtQ29tcG9uZW50Q29uZmlnPCdib29sZWFuLWZvcm0taW5wdXQnPjtcclxufVxyXG4iXX0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi1mb3JtLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2R5bmFtaWMtZm9ybS1pbnB1dHMvYm9vbGVhbi1mb3JtLWlucHV0L2Jvb2xlYW4tZm9ybS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU1uRTs7Ozs7O0dBTUc7QUFPSCxNQUFNLE9BQU8seUJBQXlCOztBQUNsQiw0QkFBRSxHQUEyQixvQkFBb0IsQ0FBQzs7WUFQckUsU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSx3QkFBd0I7Z0JBQ2xDLDhOQUFrRDtnQkFFbEQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRGVmYXVsdEZvcm1Db21wb25lbnRDb25maWcsIERlZmF1bHRGb3JtQ29tcG9uZW50SWQgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NoYXJlZC10eXBlcyc7XHJcblxyXG5pbXBvcnQgeyBGb3JtSW5wdXRDb21wb25lbnQsIElucHV0Q29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvbXBvbmVudC1yZWdpc3RyeS10eXBlcyc7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIEEgY2hlY2tib3ggaW5wdXQuIFRoZSBkZWZhdWx0IGlucHV0IGNvbXBvbmVudCBmb3IgYGJvb2xlYW5gIGZpZWxkcy5cclxuICpcclxuICogQGRvY3NDYXRlZ29yeSBjdXN0b20taW5wdXQtY29tcG9uZW50c1xyXG4gKiBAZG9jc1BhZ2UgZGVmYXVsdC1pbnB1dHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItYm9vbGVhbi1mb3JtLWlucHV0JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9ib29sZWFuLWZvcm0taW5wdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vYm9vbGVhbi1mb3JtLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEJvb2xlYW5Gb3JtSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBGb3JtSW5wdXRDb21wb25lbnQge1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IGlkOiBEZWZhdWx0Rm9ybUNvbXBvbmVudElkID0gJ2Jvb2xlYW4tZm9ybS1pbnB1dCc7XHJcbiAgICByZWFkb25seTogYm9vbGVhbjtcclxuICAgIGZvcm1Db250cm9sOiBGb3JtQ29udHJvbDtcclxuICAgIGNvbmZpZzogRGVmYXVsdEZvcm1Db21wb25lbnRDb25maWc8J2Jvb2xlYW4tZm9ybS1pbnB1dCc+O1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,125 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ViewChild, } from '@angular/core';
2
+ import { CodeJar } from 'codejar';
3
+ export function jsonValidator() {
4
+ return (control) => {
5
+ const error = { jsonInvalid: true };
6
+ try {
7
+ JSON.parse(control.value);
8
+ }
9
+ catch (e) {
10
+ control.setErrors(error);
11
+ return error;
12
+ }
13
+ control.setErrors(null);
14
+ return null;
15
+ };
16
+ }
17
+ /**
18
+ * @description
19
+ * A JSON editor input with syntax highlighting and error detection. Works well
20
+ * with `text` type fields.
21
+ *
22
+ * @docsCategory custom-input-components
23
+ * @docsPage default-inputs
24
+ */
25
+ export class JsonEditorFormInputComponent {
26
+ constructor(changeDetector) {
27
+ this.changeDetector = changeDetector;
28
+ this.isValid = true;
29
+ }
30
+ get height() {
31
+ var _a;
32
+ return ((_a = this.config.ui) === null || _a === void 0 ? void 0 : _a.height) || this.config.height;
33
+ }
34
+ ngOnInit() {
35
+ this.formControl.addValidators(jsonValidator());
36
+ }
37
+ ngAfterViewInit() {
38
+ let lastVal = '';
39
+ const highlight = (editor) => {
40
+ var _a;
41
+ const code = (_a = editor.textContent) !== null && _a !== void 0 ? _a : '';
42
+ if (code === lastVal) {
43
+ return;
44
+ }
45
+ lastVal = code;
46
+ this.errorMessage = this.getJsonError(code);
47
+ this.changeDetector.markForCheck();
48
+ editor.innerHTML = this.syntaxHighlight(code, this.getErrorPos(this.errorMessage));
49
+ };
50
+ this.jar = CodeJar(this.editorElementRef.nativeElement, highlight);
51
+ this.jar.onUpdate(value => {
52
+ this.formControl.setValue(value);
53
+ this.formControl.markAsDirty();
54
+ this.isValid = this.formControl.valid;
55
+ });
56
+ this.jar.updateCode(this.formControl.value);
57
+ if (this.readonly) {
58
+ this.editorElementRef.nativeElement.contentEditable = 'false';
59
+ }
60
+ }
61
+ getJsonError(json) {
62
+ try {
63
+ JSON.parse(json);
64
+ }
65
+ catch (e) {
66
+ return e.message;
67
+ }
68
+ return;
69
+ }
70
+ getErrorPos(errorMessage) {
71
+ if (!errorMessage) {
72
+ return;
73
+ }
74
+ const matches = errorMessage.match(/at position (\d+)/);
75
+ const pos = matches === null || matches === void 0 ? void 0 : matches[1];
76
+ return pos != null ? +pos : undefined;
77
+ }
78
+ syntaxHighlight(json, errorPos) {
79
+ json = json.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
80
+ let hasMarkedError = false;
81
+ return json.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)/g, (match, ...args) => {
82
+ let cls = 'number';
83
+ if (/^"/.test(match)) {
84
+ if (/:$/.test(match)) {
85
+ cls = 'key';
86
+ }
87
+ else {
88
+ cls = 'string';
89
+ }
90
+ }
91
+ else if (/true|false/.test(match)) {
92
+ cls = 'boolean';
93
+ }
94
+ else if (/null/.test(match)) {
95
+ cls = 'null';
96
+ }
97
+ let errorClass = '';
98
+ if (errorPos && !hasMarkedError) {
99
+ const length = args[0].length;
100
+ const offset = args[4];
101
+ if (errorPos <= length + offset) {
102
+ errorClass = 'je-error';
103
+ hasMarkedError = true;
104
+ }
105
+ }
106
+ return '<span class="je-' + cls + ' ' + errorClass + '">' + match + '</span>';
107
+ });
108
+ }
109
+ }
110
+ JsonEditorFormInputComponent.id = 'json-editor-form-input';
111
+ JsonEditorFormInputComponent.decorators = [
112
+ { type: Component, args: [{
113
+ selector: 'vdr-json-editor-form-input',
114
+ template: "<div #editor class=\"json-editor\" [class.invalid]=\"!isValid\" [style.height]=\"height || '300px'\"></div>\r\n<div class=\"error-message\">\r\n <span *ngIf=\"errorMessage\">{{ errorMessage }}</span>\r\n</div>\r\n",
115
+ changeDetection: ChangeDetectionStrategy.OnPush,
116
+ styles: [".json-editor{min-height:6rem;background-color:var(--color-json-editor-background-color);color:var(--color-json-editor-text);border:1px solid var(--color-component-border-200);border-radius:3px;padding:6px;-moz-tab-size:4;tab-size:4;font-family:\"Source Code Pro\",\"Lucida Console\",Monaco,monospace;font-size:14px;font-weight:400;height:340px;letter-spacing:normal;line-height:20px;resize:both;text-align:initial;min-width:200px}.json-editor:focus{border-color:var(--color-primary-500)}.json-editor.invalid{border-color:var(--clr-forms-invalid-color)}.json-editor ::ng-deep .je-string{color:var(--color-json-editor-string)}.json-editor ::ng-deep .je-number{color:var(--color-json-editor-number)}.json-editor ::ng-deep .je-boolean{color:var(--color-json-editor-boolean)}.json-editor ::ng-deep .je-null{color:var(--color-json-editor-null)}.json-editor ::ng-deep .je-key{color:var(--color-json-editor-key)}.json-editor ::ng-deep .je-error{-webkit-text-decoration-line:underline;text-decoration-line:underline;-webkit-text-decoration-style:wavy;text-decoration-style:wavy;-webkit-text-decoration-color:var(--color-json-editor-error);text-decoration-color:var(--color-json-editor-error)}.error-message{min-height:1rem;color:var(--color-json-editor-error)}\n"]
117
+ },] }
118
+ ];
119
+ JsonEditorFormInputComponent.ctorParameters = () => [
120
+ { type: ChangeDetectorRef }
121
+ ];
122
+ JsonEditorFormInputComponent.propDecorators = {
123
+ editorElementRef: [{ type: ViewChild, args: ['editor',] }]
124
+ };
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1lZGl0b3ItZm9ybS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9keW5hbWljLWZvcm0taW5wdXRzL2NvZGUtZWRpdG9yLWZvcm0taW5wdXQvanNvbi1lZGl0b3ItZm9ybS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUdULFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBSWxDLE1BQU0sVUFBVSxhQUFhO0lBQ3pCLE9BQU8sQ0FBQyxPQUF3QixFQUEyQixFQUFFO1FBQ3pELE1BQU0sS0FBSyxHQUFxQixFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUV0RCxJQUFJO1lBQ0EsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDN0I7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNSLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekIsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUMsQ0FBQztBQUNOLENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBT0gsTUFBTSxPQUFPLDRCQUE0QjtJQVVyQyxZQUFvQixjQUFpQztRQUFqQyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFMckQsWUFBTyxHQUFHLElBQUksQ0FBQztJQUt5QyxDQUFDO0lBRXpELElBQUksTUFBTTs7UUFDTixPQUFPLENBQUEsTUFBQSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsMENBQUUsTUFBTSxLQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ3hELENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNqQixNQUFNLFNBQVMsR0FBRyxDQUFDLE1BQW1CLEVBQUUsRUFBRTs7WUFDdEMsTUFBTSxJQUFJLEdBQUcsTUFBQSxNQUFNLENBQUMsV0FBVyxtQ0FBSSxFQUFFLENBQUM7WUFDdEMsSUFBSSxJQUFJLEtBQUssT0FBTyxFQUFFO2dCQUNsQixPQUFPO2FBQ1Y7WUFDRCxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ2YsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzVDLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbkMsTUFBTSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ3ZGLENBQUMsQ0FBQztRQUNGLElBQUksQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU1QyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUM7U0FDakU7SUFDTCxDQUFDO0lBRU8sWUFBWSxDQUFDLElBQVk7UUFDN0IsSUFBSTtZQUNBLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDcEI7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNSLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQztTQUNwQjtRQUNELE9BQU87SUFDWCxDQUFDO0lBRU8sV0FBVyxDQUFDLFlBQWdDO1FBQ2hELElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDZixPQUFPO1NBQ1Y7UUFDRCxNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDeEQsTUFBTSxHQUFHLEdBQUcsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUMxQyxDQUFDO0lBRU8sZUFBZSxDQUFDLElBQVksRUFBRSxRQUE0QjtRQUM5RCxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQy9FLElBQUksY0FBYyxHQUFHLEtBQUssQ0FBQztRQUMzQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQ2Ysd0dBQXdHLEVBQ3hHLENBQUMsS0FBSyxFQUFFLEdBQUcsSUFBSSxFQUFFLEVBQUU7WUFDZixJQUFJLEdBQUcsR0FBRyxRQUFRLENBQUM7WUFDbkIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNsQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ2xCLEdBQUcsR0FBRyxLQUFLLENBQUM7aUJBQ2Y7cUJBQU07b0JBQ0gsR0FBRyxHQUFHLFFBQVEsQ0FBQztpQkFDbEI7YUFDSjtpQkFBTSxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pDLEdBQUcsR0FBRyxTQUFTLENBQUM7YUFDbkI7aUJBQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUMzQixHQUFHLEdBQUcsTUFBTSxDQUFDO2FBQ2hCO1lBQ0QsSUFBSSxVQUFVLEdBQUcsRUFBRSxDQUFDO1lBQ3BCLElBQUksUUFBUSxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUM3QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO2dCQUM5QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3ZCLElBQUksUUFBUSxJQUFJLE1BQU0sR0FBRyxNQUFNLEVBQUU7b0JBQzdCLFVBQVUsR0FBRyxVQUFVLENBQUM7b0JBQ3hCLGNBQWMsR0FBRyxJQUFJLENBQUM7aUJBQ3pCO2FBQ0o7WUFDRCxPQUFPLGtCQUFrQixHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsVUFBVSxHQUFHLElBQUksR0FBRyxLQUFLLEdBQUcsU0FBUyxDQUFDO1FBQ2xGLENBQUMsQ0FDSixDQUFDO0lBQ04sQ0FBQzs7QUE1RmUsK0JBQUUsR0FBMkIsd0JBQXdCLENBQUM7O1lBUHpFLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsNEJBQTRCO2dCQUN0QyxvT0FBc0Q7Z0JBRXRELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNsRDs7O1lBekNHLGlCQUFpQjs7OytCQWlEaEIsU0FBUyxTQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQWZ0ZXJWaWV3SW5pdCxcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgT25Jbml0LFxyXG4gICAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRGVmYXVsdEZvcm1Db21wb25lbnRDb25maWcsIERlZmF1bHRGb3JtQ29tcG9uZW50SWQgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NoYXJlZC10eXBlcyc7XHJcbmltcG9ydCB7IENvZGVKYXIgfSBmcm9tICdjb2RlamFyJztcclxuXHJcbmltcG9ydCB7IEZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb21wb25lbnQtcmVnaXN0cnktdHlwZXMnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGpzb25WYWxpZGF0b3IoKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XHJcbiAgICAgICAgY29uc3QgZXJyb3I6IFZhbGlkYXRpb25FcnJvcnMgPSB7IGpzb25JbnZhbGlkOiB0cnVlIH07XHJcblxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIEpTT04ucGFyc2UoY29udHJvbC52YWx1ZSk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICBjb250cm9sLnNldEVycm9ycyhlcnJvcik7XHJcbiAgICAgICAgICAgIHJldHVybiBlcnJvcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnRyb2wuc2V0RXJyb3JzKG51bGwpO1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBBIEpTT04gZWRpdG9yIGlucHV0IHdpdGggc3ludGF4IGhpZ2hsaWdodGluZyBhbmQgZXJyb3IgZGV0ZWN0aW9uLiBXb3JrcyB3ZWxsXHJcbiAqIHdpdGggYHRleHRgIHR5cGUgZmllbGRzLlxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IGN1c3RvbS1pbnB1dC1jb21wb25lbnRzXHJcbiAqIEBkb2NzUGFnZSBkZWZhdWx0LWlucHV0c1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1qc29uLWVkaXRvci1mb3JtLWlucHV0JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9qc29uLWVkaXRvci1mb3JtLWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2pzb24tZWRpdG9yLWZvcm0taW5wdXQuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSnNvbkVkaXRvckZvcm1JbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIEZvcm1JbnB1dENvbXBvbmVudCwgQWZ0ZXJWaWV3SW5pdCwgT25Jbml0IHtcclxuICAgIHN0YXRpYyByZWFkb25seSBpZDogRGVmYXVsdEZvcm1Db21wb25lbnRJZCA9ICdqc29uLWVkaXRvci1mb3JtLWlucHV0JztcclxuICAgIHJlYWRvbmx5OiBib29sZWFuO1xyXG4gICAgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xyXG4gICAgY29uZmlnOiBEZWZhdWx0Rm9ybUNvbXBvbmVudENvbmZpZzwnanNvbi1lZGl0b3ItZm9ybS1pbnB1dCc+O1xyXG4gICAgaXNWYWxpZCA9IHRydWU7XHJcbiAgICBlcnJvck1lc3NhZ2U6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICAgIEBWaWV3Q2hpbGQoJ2VkaXRvcicpIHByaXZhdGUgZWRpdG9yRWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgICBqYXI6IENvZGVKYXI7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XHJcblxyXG4gICAgZ2V0IGhlaWdodCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcudWk/LmhlaWdodCB8fCB0aGlzLmNvbmZpZy5oZWlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbC5hZGRWYWxpZGF0b3JzKGpzb25WYWxpZGF0b3IoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICAgIGxldCBsYXN0VmFsID0gJyc7XHJcbiAgICAgICAgY29uc3QgaGlnaGxpZ2h0ID0gKGVkaXRvcjogSFRNTEVsZW1lbnQpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgY29kZSA9IGVkaXRvci50ZXh0Q29udGVudCA/PyAnJztcclxuICAgICAgICAgICAgaWYgKGNvZGUgPT09IGxhc3RWYWwpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsYXN0VmFsID0gY29kZTtcclxuICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmdldEpzb25FcnJvcihjb2RlKTtcclxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICAgICAgZWRpdG9yLmlubmVySFRNTCA9IHRoaXMuc3ludGF4SGlnaGxpZ2h0KGNvZGUsIHRoaXMuZ2V0RXJyb3JQb3ModGhpcy5lcnJvck1lc3NhZ2UpKTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMuamFyID0gQ29kZUphcih0aGlzLmVkaXRvckVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgaGlnaGxpZ2h0KTtcclxuICAgICAgICB0aGlzLmphci5vblVwZGF0ZSh2YWx1ZSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc0RpcnR5KCk7XHJcbiAgICAgICAgICAgIHRoaXMuaXNWYWxpZCA9IHRoaXMuZm9ybUNvbnRyb2wudmFsaWQ7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5qYXIudXBkYXRlQ29kZSh0aGlzLmZvcm1Db250cm9sLnZhbHVlKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMucmVhZG9ubHkpIHtcclxuICAgICAgICAgICAgdGhpcy5lZGl0b3JFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGVudEVkaXRhYmxlID0gJ2ZhbHNlJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRKc29uRXJyb3IoanNvbjogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBKU09OLnBhcnNlKGpzb24pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGUubWVzc2FnZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0RXJyb3JQb3MoZXJyb3JNZXNzYWdlOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBudW1iZXIgfCB1bmRlZmluZWQge1xyXG4gICAgICAgIGlmICghZXJyb3JNZXNzYWdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgbWF0Y2hlcyA9IGVycm9yTWVzc2FnZS5tYXRjaCgvYXQgcG9zaXRpb24gKFxcZCspLyk7XHJcbiAgICAgICAgY29uc3QgcG9zID0gbWF0Y2hlcz8uWzFdO1xyXG4gICAgICAgIHJldHVybiBwb3MgIT0gbnVsbCA/ICtwb3MgOiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzeW50YXhIaWdobGlnaHQoanNvbjogc3RyaW5nLCBlcnJvclBvczogbnVtYmVyIHwgdW5kZWZpbmVkKSB7XHJcbiAgICAgICAganNvbiA9IGpzb24ucmVwbGFjZSgvJi9nLCAnJmFtcDsnKS5yZXBsYWNlKC88L2csICcmbHQ7JykucmVwbGFjZSgvPi9nLCAnJmd0OycpO1xyXG4gICAgICAgIGxldCBoYXNNYXJrZWRFcnJvciA9IGZhbHNlO1xyXG4gICAgICAgIHJldHVybiBqc29uLnJlcGxhY2UoXHJcbiAgICAgICAgICAgIC8oXCIoXFxcXHVbYS16QS1aMC05XXs0fXxcXFxcW151XXxbXlxcXFxcIl0pKlwiKFxccyo6KT98XFxiKHRydWV8ZmFsc2V8bnVsbClcXGJ8LT9cXGQrKD86XFwuXFxkKik/KD86W2VFXVsrXFwtXT9cXGQrKT8pL2csXHJcbiAgICAgICAgICAgIChtYXRjaCwgLi4uYXJncykgPT4ge1xyXG4gICAgICAgICAgICAgICAgbGV0IGNscyA9ICdudW1iZXInO1xyXG4gICAgICAgICAgICAgICAgaWYgKC9eXCIvLnRlc3QobWF0Y2gpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKC86JC8udGVzdChtYXRjaCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xzID0gJ2tleSc7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xzID0gJ3N0cmluZyc7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICgvdHJ1ZXxmYWxzZS8udGVzdChtYXRjaCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBjbHMgPSAnYm9vbGVhbic7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKC9udWxsLy50ZXN0KG1hdGNoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNscyA9ICdudWxsJztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGxldCBlcnJvckNsYXNzID0gJyc7XHJcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3JQb3MgJiYgIWhhc01hcmtlZEVycm9yKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGVuZ3RoID0gYXJnc1swXS5sZW5ndGg7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb2Zmc2V0ID0gYXJnc1s0XTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3JQb3MgPD0gbGVuZ3RoICsgb2Zmc2V0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yQ2xhc3MgPSAnamUtZXJyb3InO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoYXNNYXJrZWRFcnJvciA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICc8c3BhbiBjbGFzcz1cImplLScgKyBjbHMgKyAnICcgKyBlcnJvckNsYXNzICsgJ1wiPicgKyBtYXRjaCArICc8L3NwYW4+JztcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,5 +1,12 @@
1
1
  import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
2
  import { DataService } from '../../../data/providers/data.service';
3
+ /**
4
+ * @description
5
+ * An input for monetary values. Should be used with `int` type fields.
6
+ *
7
+ * @docsCategory custom-input-components
8
+ * @docsPage default-inputs
9
+ */
3
10
  export class CurrencyFormInputComponent {
4
11
  constructor(dataService) {
5
12
  this.dataService = dataService;
@@ -23,4 +30,4 @@ CurrencyFormInputComponent.ctorParameters = () => [
23
30
  CurrencyFormInputComponent.propDecorators = {
24
31
  readonly: [{ type: Input }]
25
32
  };
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktZm9ybS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9keW5hbWljLWZvcm0taW5wdXRzL2N1cnJlbmN5LWZvcm0taW5wdXQvY3VycmVuY3ktZm9ybS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPMUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBUW5FLE1BQU0sT0FBTywwQkFBMEI7SUFPbkMsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVE7YUFDekMsZ0JBQWdCLEVBQUU7YUFDbEIsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM1RCxDQUFDOztBQVZlLDZCQUFFLEdBQTJCLHFCQUFxQixDQUFDOztZQVB0RSxTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHlCQUF5QjtnQkFDbkMsaUxBQW1EO2dCQUVuRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDbEQ7OztZQVBRLFdBQVc7Ozt1QkFVZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IERlZmF1bHRGb3JtQ29tcG9uZW50Q29uZmlnLCBEZWZhdWx0Rm9ybUNvbXBvbmVudElkIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9zaGFyZWQtdHlwZXMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBGb3JtSW5wdXRDb21wb25lbnQsIElucHV0Q29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvbXBvbmVudC1yZWdpc3RyeS10eXBlcyc7XHJcbmltcG9ydCB7IEN1cnJlbmN5Q29kZSB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xyXG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2RhdGEvcHJvdmlkZXJzL2RhdGEuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLWN1cnJlbmN5LWZvcm0taW5wdXQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2N1cnJlbmN5LWZvcm0taW5wdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vY3VycmVuY3ktZm9ybS1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdXJyZW5jeUZvcm1JbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIEZvcm1JbnB1dENvbXBvbmVudCB7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgaWQ6IERlZmF1bHRGb3JtQ29tcG9uZW50SWQgPSAnY3VycmVuY3ktZm9ybS1pbnB1dCc7XHJcbiAgICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbjtcclxuICAgIGZvcm1Db250cm9sOiBGb3JtQ29udHJvbDtcclxuICAgIGN1cnJlbmN5Q29kZSQ6IE9ic2VydmFibGU8Q3VycmVuY3lDb2RlPjtcclxuICAgIGNvbmZpZzogRGVmYXVsdEZvcm1Db21wb25lbnRDb25maWc8J2N1cnJlbmN5LWZvcm0taW5wdXQnPjtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSkge1xyXG4gICAgICAgIHRoaXMuY3VycmVuY3lDb2RlJCA9IHRoaXMuZGF0YVNlcnZpY2Uuc2V0dGluZ3NcclxuICAgICAgICAgICAgLmdldEFjdGl2ZUNoYW5uZWwoKVxyXG4gICAgICAgICAgICAubWFwU3RyZWFtKGRhdGEgPT4gZGF0YS5hY3RpdmVDaGFubmVsLmN1cnJlbmN5Q29kZSk7XHJcbiAgICB9XHJcbn1cclxuIl19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktZm9ybS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9keW5hbWljLWZvcm0taW5wdXRzL2N1cnJlbmN5LWZvcm0taW5wdXQvY3VycmVuY3ktZm9ybS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPMUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRW5FOzs7Ozs7R0FNRztBQU9ILE1BQU0sT0FBTywwQkFBMEI7SUFPbkMsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVE7YUFDekMsZ0JBQWdCLEVBQUU7YUFDbEIsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM1RCxDQUFDOztBQVZlLDZCQUFFLEdBQTJCLHFCQUFxQixDQUFDOztZQVB0RSxTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHlCQUF5QjtnQkFDbkMsaUxBQW1EO2dCQUVuRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDbEQ7OztZQWRRLFdBQVc7Ozt1QkFpQmYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBEZWZhdWx0Rm9ybUNvbXBvbmVudENvbmZpZywgRGVmYXVsdEZvcm1Db21wb25lbnRJZCB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvc2hhcmVkLXR5cGVzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgRm9ybUlucHV0Q29tcG9uZW50LCBJbnB1dENvbXBvbmVudENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb21wb25lbnQtcmVnaXN0cnktdHlwZXMnO1xyXG5pbXBvcnQgeyBDdXJyZW5jeUNvZGUgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhL3Byb3ZpZGVycy9kYXRhLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBBbiBpbnB1dCBmb3IgbW9uZXRhcnkgdmFsdWVzLiBTaG91bGQgYmUgdXNlZCB3aXRoIGBpbnRgIHR5cGUgZmllbGRzLlxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IGN1c3RvbS1pbnB1dC1jb21wb25lbnRzXHJcbiAqIEBkb2NzUGFnZSBkZWZhdWx0LWlucHV0c1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1jdXJyZW5jeS1mb3JtLWlucHV0JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jdXJyZW5jeS1mb3JtLWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2N1cnJlbmN5LWZvcm0taW5wdXQuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3VycmVuY3lGb3JtSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBGb3JtSW5wdXRDb21wb25lbnQge1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IGlkOiBEZWZhdWx0Rm9ybUNvbXBvbmVudElkID0gJ2N1cnJlbmN5LWZvcm0taW5wdXQnO1xyXG4gICAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW47XHJcbiAgICBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XHJcbiAgICBjdXJyZW5jeUNvZGUkOiBPYnNlcnZhYmxlPEN1cnJlbmN5Q29kZT47XHJcbiAgICBjb25maWc6IERlZmF1bHRGb3JtQ29tcG9uZW50Q29uZmlnPCdjdXJyZW5jeS1mb3JtLWlucHV0Jz47XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UpIHtcclxuICAgICAgICB0aGlzLmN1cnJlbmN5Q29kZSQgPSB0aGlzLmRhdGFTZXJ2aWNlLnNldHRpbmdzXHJcbiAgICAgICAgICAgIC5nZXRBY3RpdmVDaGFubmVsKClcclxuICAgICAgICAgICAgLm1hcFN0cmVhbShkYXRhID0+IGRhdGEuYWN0aXZlQ2hhbm5lbC5jdXJyZW5jeUNvZGUpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,6 +1,14 @@
1
1
  import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
2
  import { startWith } from 'rxjs/operators';
3
3
  import { DataService } from '../../../data/providers/data.service';
4
+ /**
5
+ * @description
6
+ * Allows the selection of a Customer via an autocomplete select input.
7
+ * Should be used with `ID` type fields which represent Customer IDs.
8
+ *
9
+ * @docsCategory custom-input-components
10
+ * @docsPage default-inputs
11
+ */
4
12
  export class CustomerGroupFormInputComponent {
5
13
  constructor(dataService) {
6
14
  this.dataService = dataService;
@@ -32,4 +40,4 @@ CustomerGroupFormInputComponent.ctorParameters = () => [
32
40
  CustomerGroupFormInputComponent.propDecorators = {
33
41
  readonly: [{ type: Input }]
34
42
  };
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXItZ3JvdXAtZm9ybS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9keW5hbWljLWZvcm0taW5wdXRzL2N1c3RvbWVyLWdyb3VwLWZvcm0taW5wdXQvY3VzdG9tZXItZ3JvdXAtZm9ybS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFJbEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSTNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQVFuRSxNQUFNLE9BQU8sK0JBQStCO0lBT3hDLFlBQW9CLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBQUcsQ0FBQztJQUVoRCxRQUFRO1FBQ0osSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVE7YUFDM0Msb0JBQW9CLENBQUM7WUFDbEIsSUFBSSxFQUFFLElBQUk7U0FDYixDQUFDO2FBQ0QsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUM7YUFDMUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBOEI7UUFDdEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7O0FBbkJlLGtDQUFFLEdBQTJCLDJCQUEyQixDQUFDOztZQVA1RSxTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLCtCQUErQjtnQkFDekMsbW9CQUF5RDtnQkFFekQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2xEOzs7WUFQUSxXQUFXOzs7dUJBVWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IERlZmF1bHRGb3JtQ29tcG9uZW50Q29uZmlnLCBEZWZhdWx0Rm9ybUNvbXBvbmVudElkIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9zaGFyZWQtdHlwZXMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb21wb25lbnQtcmVnaXN0cnktdHlwZXMnO1xyXG5pbXBvcnQgeyBHZXRDdXN0b21lckdyb3VwcyB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xyXG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2RhdGEvcHJvdmlkZXJzL2RhdGEuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLWN1c3RvbWVyLWdyb3VwLWZvcm0taW5wdXQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbWVyLWdyb3VwLWZvcm0taW5wdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vY3VzdG9tZXItZ3JvdXAtZm9ybS1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdXN0b21lckdyb3VwRm9ybUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgRm9ybUlucHV0Q29tcG9uZW50LCBPbkluaXQge1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IGlkOiBEZWZhdWx0Rm9ybUNvbXBvbmVudElkID0gJ2N1c3RvbWVyLWdyb3VwLWZvcm0taW5wdXQnO1xyXG4gICAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW47XHJcbiAgICBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XHJcbiAgICBjdXN0b21lckdyb3VwcyQ6IE9ic2VydmFibGU8R2V0Q3VzdG9tZXJHcm91cHMuSXRlbXNbXT47XHJcbiAgICBjb25maWc6IERlZmF1bHRGb3JtQ29tcG9uZW50Q29uZmlnPCdjdXN0b21lci1ncm91cC1mb3JtLWlucHV0Jz47XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UpIHt9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5jdXN0b21lckdyb3VwcyQgPSB0aGlzLmRhdGFTZXJ2aWNlLmN1c3RvbWVyXHJcbiAgICAgICAgICAgIC5nZXRDdXN0b21lckdyb3VwTGlzdCh7XHJcbiAgICAgICAgICAgICAgICB0YWtlOiAxMDAwLFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAubWFwU2luZ2xlKHJlcyA9PiByZXMuY3VzdG9tZXJHcm91cHMuaXRlbXMpXHJcbiAgICAgICAgICAgIC5waXBlKHN0YXJ0V2l0aChbXSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdEdyb3VwKGdyb3VwOiBHZXRDdXN0b21lckdyb3Vwcy5JdGVtcykge1xyXG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUoZ3JvdXAuaWQpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXItZ3JvdXAtZm9ybS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9keW5hbWljLWZvcm0taW5wdXRzL2N1c3RvbWVyLWdyb3VwLWZvcm0taW5wdXQvY3VzdG9tZXItZ3JvdXAtZm9ybS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFJbEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSTNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUVuRTs7Ozs7OztHQU9HO0FBT0gsTUFBTSxPQUFPLCtCQUErQjtJQU94QyxZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUFHLENBQUM7SUFFaEQsUUFBUTtRQUNKLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRO2FBQzNDLG9CQUFvQixDQUFDO1lBQ2xCLElBQUksRUFBRSxJQUFJO1NBQ2IsQ0FBQzthQUNELFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO2FBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQThCO1FBQ3RDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDOztBQW5CZSxrQ0FBRSxHQUEyQiwyQkFBMkIsQ0FBQzs7WUFQNUUsU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSwrQkFBK0I7Z0JBQ3pDLG1vQkFBeUQ7Z0JBRXpELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNsRDs7O1lBZlEsV0FBVzs7O3VCQWtCZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRGVmYXVsdEZvcm1Db21wb25lbnRDb25maWcsIERlZmF1bHRGb3JtQ29tcG9uZW50SWQgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NoYXJlZC10eXBlcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvbXBvbmVudC1yZWdpc3RyeS10eXBlcyc7XHJcbmltcG9ydCB7IEdldEN1c3RvbWVyR3JvdXBzIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZGF0YS9wcm92aWRlcnMvZGF0YS5zZXJ2aWNlJztcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogQWxsb3dzIHRoZSBzZWxlY3Rpb24gb2YgYSBDdXN0b21lciB2aWEgYW4gYXV0b2NvbXBsZXRlIHNlbGVjdCBpbnB1dC5cclxuICogU2hvdWxkIGJlIHVzZWQgd2l0aCBgSURgIHR5cGUgZmllbGRzIHdoaWNoIHJlcHJlc2VudCBDdXN0b21lciBJRHMuXHJcbiAqXHJcbiAqIEBkb2NzQ2F0ZWdvcnkgY3VzdG9tLWlucHV0LWNvbXBvbmVudHNcclxuICogQGRvY3NQYWdlIGRlZmF1bHQtaW5wdXRzXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLWN1c3RvbWVyLWdyb3VwLWZvcm0taW5wdXQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbWVyLWdyb3VwLWZvcm0taW5wdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vY3VzdG9tZXItZ3JvdXAtZm9ybS1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdXN0b21lckdyb3VwRm9ybUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgRm9ybUlucHV0Q29tcG9uZW50LCBPbkluaXQge1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IGlkOiBEZWZhdWx0Rm9ybUNvbXBvbmVudElkID0gJ2N1c3RvbWVyLWdyb3VwLWZvcm0taW5wdXQnO1xyXG4gICAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW47XHJcbiAgICBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XHJcbiAgICBjdXN0b21lckdyb3VwcyQ6IE9ic2VydmFibGU8R2V0Q3VzdG9tZXJHcm91cHMuSXRlbXNbXT47XHJcbiAgICBjb25maWc6IERlZmF1bHRGb3JtQ29tcG9uZW50Q29uZmlnPCdjdXN0b21lci1ncm91cC1mb3JtLWlucHV0Jz47XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UpIHt9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5jdXN0b21lckdyb3VwcyQgPSB0aGlzLmRhdGFTZXJ2aWNlLmN1c3RvbWVyXHJcbiAgICAgICAgICAgIC5nZXRDdXN0b21lckdyb3VwTGlzdCh7XHJcbiAgICAgICAgICAgICAgICB0YWtlOiAxMDAwLFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAubWFwU2luZ2xlKHJlcyA9PiByZXMuY3VzdG9tZXJHcm91cHMuaXRlbXMpXHJcbiAgICAgICAgICAgIC5waXBlKHN0YXJ0V2l0aChbXSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdEdyb3VwKGdyb3VwOiBHZXRDdXN0b21lckdyb3Vwcy5JdGVtcykge1xyXG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUoZ3JvdXAuaWQpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,11 +1,30 @@
1
1
  import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ /**
3
+ * @description
4
+ * Allows selection of a datetime. Default input for `datetime` type fields.
5
+ *
6
+ * @docsCategory custom-input-components
7
+ * @docsPage default-inputs
8
+ */
2
9
  export class DateFormInputComponent {
10
+ get min() {
11
+ var _a;
12
+ return ((_a = this.config.ui) === null || _a === void 0 ? void 0 : _a.min) || this.config.min;
13
+ }
14
+ get max() {
15
+ var _a;
16
+ return ((_a = this.config.ui) === null || _a === void 0 ? void 0 : _a.max) || this.config.max;
17
+ }
18
+ get yearRange() {
19
+ var _a;
20
+ return ((_a = this.config.ui) === null || _a === void 0 ? void 0 : _a.yearRange) || this.config.yearRange;
21
+ }
3
22
  }
4
23
  DateFormInputComponent.id = 'date-form-input';
5
24
  DateFormInputComponent.decorators = [
6
25
  { type: Component, args: [{
7
26
  selector: 'vdr-date-form-input',
8
- template: "<vdr-datetime-picker\r\n [formControl]=\"formControl\"\r\n [min]=\"config?.min\"\r\n [max]=\"config?.max\"\r\n [yearRange]=\"config?.yearRange\"\r\n [readonly]=\"readonly\"\r\n>\r\n</vdr-datetime-picker>\r\n",
27
+ template: "<vdr-datetime-picker\r\n [formControl]=\"formControl\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [yearRange]=\"yearRange\"\r\n [readonly]=\"readonly\"\r\n>\r\n</vdr-datetime-picker>\r\n",
9
28
  changeDetection: ChangeDetectionStrategy.OnPush,
10
29
  styles: [""]
11
30
  },] }
@@ -13,4 +32,4 @@ DateFormInputComponent.decorators = [
13
32
  DateFormInputComponent.propDecorators = {
14
33
  readonly: [{ type: Input }]
15
34
  };
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1mb3JtLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2R5bmFtaWMtZm9ybS1pbnB1dHMvZGF0ZS1mb3JtLWlucHV0L2RhdGUtZm9ybS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFZMUUsTUFBTSxPQUFPLHNCQUFzQjs7QUFDZix5QkFBRSxHQUEyQixpQkFBaUIsQ0FBQzs7WUFQbEUsU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxxQkFBcUI7Z0JBQy9CLDBPQUErQztnQkFFL0MsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2xEOzs7dUJBR0ksS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBEZWZhdWx0Rm9ybUNvbXBvbmVudENvbmZpZywgRGVmYXVsdEZvcm1Db21wb25lbnRJZCB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvc2hhcmVkLXR5cGVzJztcclxuXHJcbmltcG9ydCB7IEZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb21wb25lbnQtcmVnaXN0cnktdHlwZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1kYXRlLWZvcm0taW5wdXQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtZm9ybS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9kYXRlLWZvcm0taW5wdXQuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0ZUZvcm1JbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIEZvcm1JbnB1dENvbXBvbmVudCB7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgaWQ6IERlZmF1bHRGb3JtQ29tcG9uZW50SWQgPSAnZGF0ZS1mb3JtLWlucHV0JztcclxuICAgIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuO1xyXG4gICAgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xyXG4gICAgY29uZmlnOiBEZWZhdWx0Rm9ybUNvbXBvbmVudENvbmZpZzwnZGF0ZS1mb3JtLWlucHV0Jz47XHJcbn1cclxuIl19
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1mb3JtLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2R5bmFtaWMtZm9ybS1pbnB1dHMvZGF0ZS1mb3JtLWlucHV0L2RhdGUtZm9ybS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFNMUU7Ozs7OztHQU1HO0FBT0gsTUFBTSxPQUFPLHNCQUFzQjtJQUsvQixJQUFJLEdBQUc7O1FBQ0gsT0FBTyxDQUFBLE1BQUEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLDBDQUFFLEdBQUcsS0FBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztJQUNsRCxDQUFDO0lBQ0QsSUFBSSxHQUFHOztRQUNILE9BQU8sQ0FBQSxNQUFBLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSwwQ0FBRSxHQUFHLEtBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7SUFDbEQsQ0FBQztJQUNELElBQUksU0FBUzs7UUFDVCxPQUFPLENBQUEsTUFBQSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsMENBQUUsU0FBUyxLQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO0lBQzlELENBQUM7O0FBWmUseUJBQUUsR0FBMkIsaUJBQWlCLENBQUM7O1lBUGxFLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUscUJBQXFCO2dCQUMvQixrTkFBK0M7Z0JBRS9DLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNsRDs7O3VCQUdJLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRGVmYXVsdEZvcm1Db21wb25lbnRDb25maWcsIERlZmF1bHRGb3JtQ29tcG9uZW50SWQgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NoYXJlZC10eXBlcyc7XHJcblxyXG5pbXBvcnQgeyBGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29tcG9uZW50LXJlZ2lzdHJ5LXR5cGVzJztcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogQWxsb3dzIHNlbGVjdGlvbiBvZiBhIGRhdGV0aW1lLiBEZWZhdWx0IGlucHV0IGZvciBgZGF0ZXRpbWVgIHR5cGUgZmllbGRzLlxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IGN1c3RvbS1pbnB1dC1jb21wb25lbnRzXHJcbiAqIEBkb2NzUGFnZSBkZWZhdWx0LWlucHV0c1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1kYXRlLWZvcm0taW5wdXQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtZm9ybS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9kYXRlLWZvcm0taW5wdXQuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0ZUZvcm1JbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIEZvcm1JbnB1dENvbXBvbmVudCB7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgaWQ6IERlZmF1bHRGb3JtQ29tcG9uZW50SWQgPSAnZGF0ZS1mb3JtLWlucHV0JztcclxuICAgIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuO1xyXG4gICAgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xyXG4gICAgY29uZmlnOiBEZWZhdWx0Rm9ybUNvbXBvbmVudENvbmZpZzwnZGF0ZS1mb3JtLWlucHV0Jz47XHJcbiAgICBnZXQgbWluKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy51aT8ubWluIHx8IHRoaXMuY29uZmlnLm1pbjtcclxuICAgIH1cclxuICAgIGdldCBtYXgoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLnVpPy5tYXggfHwgdGhpcy5jb25maWcubWF4O1xyXG4gICAgfVxyXG4gICAgZ2V0IHllYXJSYW5nZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcudWk/LnllYXJSYW5nZSB8fCB0aGlzLmNvbmZpZy55ZWFyUmFuZ2U7XHJcbiAgICB9XHJcbn1cclxuIl19