@vendure/admin-ui 1.7.4 → 1.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. package/bundles/vendure-admin-ui-catalog.umd.js +902 -74
  2. package/bundles/vendure-admin-ui-catalog.umd.js.map +1 -1
  3. package/bundles/vendure-admin-ui-core.umd.js +2392 -820
  4. package/bundles/vendure-admin-ui-core.umd.js.map +1 -1
  5. package/bundles/vendure-admin-ui-customer.umd.js +4 -3
  6. package/bundles/vendure-admin-ui-customer.umd.js.map +1 -1
  7. package/bundles/vendure-admin-ui-dashboard.umd.js +3 -1
  8. package/bundles/vendure-admin-ui-dashboard.umd.js.map +1 -1
  9. package/bundles/vendure-admin-ui-order.umd.js +781 -175
  10. package/bundles/vendure-admin-ui-order.umd.js.map +1 -1
  11. package/bundles/vendure-admin-ui-settings.umd.js +5 -4
  12. package/bundles/vendure-admin-ui-settings.umd.js.map +1 -1
  13. package/bundles/vendure-admin-ui-system.umd.js +1 -1
  14. package/catalog/catalog.module.d.ts +3 -0
  15. package/catalog/components/assign-to-channel-dialog/assign-to-channel-dialog.component.d.ts +17 -0
  16. package/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.component.d.ts +38 -0
  17. package/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.graphql.d.ts +4 -0
  18. package/catalog/components/collection-list/collection-list-bulk-actions.d.ts +6 -0
  19. package/catalog/components/collection-list/collection-list.component.d.ts +7 -5
  20. package/catalog/components/collection-tree/collection-tree-node.component.d.ts +8 -4
  21. package/catalog/components/collection-tree/collection-tree.component.d.ts +2 -1
  22. package/catalog/components/facet-list/facet-list-bulk-actions.d.ts +5 -0
  23. package/catalog/components/facet-list/facet-list.component.d.ts +2 -1
  24. package/catalog/components/product-list/product-list-bulk-actions.d.ts +6 -0
  25. package/catalog/components/product-list/product-list.component.d.ts +2 -1
  26. package/catalog/public_api.d.ts +6 -0
  27. package/catalog/vendure-admin-ui-catalog.metadata.json +1 -1
  28. package/core/common/component-registry-types.d.ts +1 -1
  29. package/core/common/generated-types.d.ts +609 -3
  30. package/core/common/utilities/bulk-action-utils.d.ts +19 -0
  31. package/core/common/utilities/selection-manager.d.ts +7 -0
  32. package/core/common/version.d.ts +1 -1
  33. package/core/data/definitions/collection-definitions.d.ts +3 -0
  34. package/core/data/definitions/facet-definitions.d.ts +3 -0
  35. package/core/data/definitions/order-definitions.d.ts +12 -0
  36. package/core/data/definitions/product-definitions.d.ts +1 -0
  37. package/core/data/providers/collection-data.service.d.ts +4 -1
  38. package/core/data/providers/facet-data.service.d.ts +4 -1
  39. package/core/data/providers/order-data.service.d.ts +18 -1
  40. package/core/data/providers/product-data.service.d.ts +1 -0
  41. package/core/providers/bulk-action-registry/bulk-action-registry.service.d.ts +6 -0
  42. package/core/providers/bulk-action-registry/bulk-action-types.d.ts +149 -0
  43. package/core/providers/bulk-action-registry/register-bulk-action.d.ts +53 -0
  44. package/core/providers/modal/modal.service.d.ts +2 -0
  45. package/core/providers/nav-builder/nav-builder-types.d.ts +1 -0
  46. package/core/public_api.d.ts +18 -1
  47. package/core/shared/components/asset-gallery/asset-gallery.component.d.ts +3 -3
  48. package/core/shared/components/bulk-action-menu/bulk-action-menu.component.d.ts +29 -0
  49. package/core/shared/components/data-table/data-table.component.d.ts +26 -7
  50. package/core/shared/components/dropdown/dropdown-menu.component.d.ts +1 -0
  51. package/core/shared/components/radio-card/radio-card-fieldset.component.d.ts +21 -0
  52. package/core/shared/components/radio-card/radio-card.component.d.ts +19 -0
  53. package/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.component.d.ts +28 -0
  54. package/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.service.d.ts +31 -0
  55. package/core/shared/components/rich-text-editor/prosemirror/custom-nodes.d.ts +4 -0
  56. package/core/shared/components/rich-text-editor/prosemirror/inputrules.d.ts +5 -5
  57. package/core/shared/components/rich-text-editor/prosemirror/menu/links.d.ts +1 -1
  58. package/core/shared/components/rich-text-editor/prosemirror/menu/menu-common.d.ts +12 -0
  59. package/core/shared/components/rich-text-editor/prosemirror/menu/menu-plugin.d.ts +9 -0
  60. package/core/shared/components/rich-text-editor/prosemirror/menu/sub-menu-with-icon.d.ts +14 -0
  61. package/core/shared/components/rich-text-editor/prosemirror/plugins/image-plugin.d.ts +7 -0
  62. package/core/shared/components/rich-text-editor/prosemirror/plugins/link-select-plugin.d.ts +1 -1
  63. package/core/shared/components/rich-text-editor/prosemirror/plugins/raw-editor-plugin.d.ts +7 -0
  64. package/core/shared/components/rich-text-editor/prosemirror/plugins/tables-plugin.d.ts +13 -0
  65. package/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.d.ts +7 -3
  66. package/core/shared/components/rich-text-editor/prosemirror/types.d.ts +0 -2
  67. package/core/shared/components/rich-text-editor/raw-html-dialog/raw-html-dialog.component.d.ts +18 -0
  68. package/core/shared/components/rich-text-editor/rich-text-editor.component.d.ts +6 -2
  69. package/core/shared/dynamic-form-inputs/code-editor-form-input/base-code-editor-form-input.component.d.ts +27 -0
  70. package/core/shared/dynamic-form-inputs/code-editor-form-input/html-editor-form-input.component.d.ts +19 -0
  71. package/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.d.ts +5 -17
  72. package/core/shared/dynamic-form-inputs/register-dynamic-input-components.d.ts +2 -1
  73. package/core/vendure-admin-ui-core.metadata.json +1 -1
  74. package/customer/components/customer-group-member-list/customer-group-member-list.component.d.ts +11 -4
  75. package/customer/vendure-admin-ui-customer.metadata.json +1 -1
  76. package/esm2015/catalog/catalog.module.js +25 -2
  77. package/esm2015/catalog/components/assign-products-to-channel-dialog/assign-products-to-channel-dialog.component.js +4 -1
  78. package/esm2015/catalog/components/assign-to-channel-dialog/assign-to-channel-dialog.component.js +51 -0
  79. package/esm2015/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.component.js +89 -0
  80. package/esm2015/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.graphql.js +69 -0
  81. package/esm2015/catalog/components/collection-detail/collection-detail.component.js +3 -3
  82. package/esm2015/catalog/components/collection-list/collection-list-bulk-actions.js +147 -0
  83. package/esm2015/catalog/components/collection-list/collection-list.component.js +17 -8
  84. package/esm2015/catalog/components/collection-tree/collection-tree-node.component.js +16 -7
  85. package/esm2015/catalog/components/collection-tree/collection-tree.component.js +3 -2
  86. package/esm2015/catalog/components/facet-list/facet-list-bulk-actions.js +208 -0
  87. package/esm2015/catalog/components/facet-list/facet-list.component.js +13 -4
  88. package/esm2015/catalog/components/product-detail/product-detail.component.js +35 -23
  89. package/esm2015/catalog/components/product-list/product-list-bulk-actions.js +173 -0
  90. package/esm2015/catalog/components/product-list/product-list.component.js +10 -5
  91. package/esm2015/catalog/components/product-variants-list/product-variants-list.component.js +2 -2
  92. package/esm2015/catalog/providers/routing/collection-resolver.js +2 -1
  93. package/esm2015/catalog/public_api.js +7 -1
  94. package/esm2015/core/common/component-registry-types.js +1 -1
  95. package/esm2015/core/common/generated-types.js +5 -1
  96. package/esm2015/core/common/introspection-result.js +296 -191
  97. package/esm2015/core/common/utilities/bulk-action-utils.js +44 -0
  98. package/esm2015/core/common/utilities/selection-manager.js +33 -1
  99. package/esm2015/core/common/version.js +2 -2
  100. package/esm2015/core/components/breadcrumb/breadcrumb.component.js +1 -1
  101. package/esm2015/core/data/definitions/collection-definitions.js +30 -1
  102. package/esm2015/core/data/definitions/facet-definitions.js +31 -1
  103. package/esm2015/core/data/definitions/order-definitions.js +114 -1
  104. package/esm2015/core/data/definitions/product-definitions.js +15 -1
  105. package/esm2015/core/data/providers/collection-data.service.js +17 -2
  106. package/esm2015/core/data/providers/customer-data.service.js +8 -4
  107. package/esm2015/core/data/providers/facet-data.service.js +18 -2
  108. package/esm2015/core/data/providers/order-data.service.js +38 -2
  109. package/esm2015/core/data/providers/product-data.service.js +7 -2
  110. package/esm2015/core/data/utils/remove-readonly-custom-fields.js +5 -1
  111. package/esm2015/core/providers/bulk-action-registry/bulk-action-registry.service.js +27 -0
  112. package/esm2015/core/providers/bulk-action-registry/bulk-action-types.js +2 -0
  113. package/esm2015/core/providers/bulk-action-registry/register-bulk-action.js +63 -0
  114. package/esm2015/core/providers/dashboard-widget/dashboard-widget.service.js +1 -4
  115. package/esm2015/core/providers/modal/modal.service.js +2 -1
  116. package/esm2015/core/providers/nav-builder/nav-builder-types.js +1 -1
  117. package/esm2015/core/public_api.js +19 -2
  118. package/esm2015/core/shared/components/action-bar/action-bar.component.js +4 -8
  119. package/esm2015/core/shared/components/asset-gallery/asset-gallery.component.js +2 -2
  120. package/esm2015/core/shared/components/bulk-action-menu/bulk-action-menu.component.js +99 -0
  121. package/esm2015/core/shared/components/data-table/data-table.component.js +64 -15
  122. package/esm2015/core/shared/components/dropdown/dropdown-menu.component.js +4 -3
  123. package/esm2015/core/shared/components/facet-value-selector/facet-value-selector.component.js +2 -2
  124. package/esm2015/core/shared/components/language-selector/language-selector.component.js +2 -2
  125. package/esm2015/core/shared/components/order-state-label/order-state-label.component.js +2 -1
  126. package/esm2015/core/shared/components/product-search-input/product-search-input.component.js +1 -1
  127. package/esm2015/core/shared/components/product-selector/product-selector.component.js +1 -1
  128. package/esm2015/core/shared/components/radio-card/radio-card-fieldset.component.js +57 -0
  129. package/esm2015/core/shared/components/radio-card/radio-card.component.js +54 -0
  130. package/esm2015/core/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.js +2 -2
  131. package/esm2015/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.component.js +140 -0
  132. package/esm2015/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.service.js +45 -0
  133. package/esm2015/core/shared/components/rich-text-editor/prosemirror/custom-nodes.js +60 -0
  134. package/esm2015/core/shared/components/rich-text-editor/prosemirror/menu/links.js +4 -4
  135. package/esm2015/core/shared/components/rich-text-editor/prosemirror/menu/menu-common.js +23 -1
  136. package/esm2015/core/shared/components/rich-text-editor/prosemirror/menu/menu-plugin.js +12 -0
  137. package/esm2015/core/shared/components/rich-text-editor/prosemirror/menu/menu.js +73 -18
  138. package/esm2015/core/shared/components/rich-text-editor/prosemirror/menu/sub-menu-with-icon.js +16 -0
  139. package/esm2015/core/shared/components/rich-text-editor/prosemirror/plugins/image-plugin.js +100 -0
  140. package/esm2015/core/shared/components/rich-text-editor/prosemirror/plugins/raw-editor-plugin.js +97 -0
  141. package/esm2015/core/shared/components/rich-text-editor/prosemirror/plugins/tables-plugin.js +166 -0
  142. package/esm2015/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.js +47 -17
  143. package/esm2015/core/shared/components/rich-text-editor/prosemirror/types.js +1 -1
  144. package/esm2015/core/shared/components/rich-text-editor/raw-html-dialog/raw-html-dialog.component.js +57 -0
  145. package/esm2015/core/shared/components/rich-text-editor/rich-text-editor.component.js +20 -9
  146. package/esm2015/core/shared/components/simple-dialog/simple-dialog.component.js +2 -2
  147. package/esm2015/core/shared/dynamic-form-inputs/code-editor-form-input/base-code-editor-form-input.component.js +59 -0
  148. package/esm2015/core/shared/dynamic-form-inputs/code-editor-form-input/html-editor-form-input.component.js +66 -0
  149. package/esm2015/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.js +47 -84
  150. package/esm2015/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.js +3 -3
  151. package/esm2015/core/shared/dynamic-form-inputs/register-dynamic-input-components.js +3 -1
  152. package/esm2015/core/shared/pipes/state-i18n-token.pipe.js +2 -1
  153. package/esm2015/core/shared/shared.module.js +13 -1
  154. package/esm2015/customer/components/customer-group-list/customer-group-list.component.js +2 -2
  155. package/esm2015/customer/components/customer-group-member-list/customer-group-member-list.component.js +6 -6
  156. package/esm2015/customer/components/customer-list/customer-list.component.js +2 -2
  157. package/esm2015/dashboard/dashboard.module.js +6 -2
  158. package/esm2015/order/components/coupon-code-selector/coupon-code-selector.component.js +42 -0
  159. package/esm2015/order/components/draft-order-detail/draft-order-detail.component.js +195 -0
  160. package/esm2015/order/components/draft-order-variant-selector/draft-order-variant-selector.component.js +59 -0
  161. package/esm2015/order/components/order-detail/order-detail.component.js +2 -2
  162. package/esm2015/order/components/order-editor/order-editor.component.js +5 -11
  163. package/esm2015/order/components/order-list/order-list.component.js +20 -4
  164. package/esm2015/order/components/order-table/order-table.component.js +16 -5
  165. package/esm2015/order/components/select-address-dialog/select-address-dialog.component.js +91 -0
  166. package/esm2015/order/components/select-address-dialog/select-address-dialog.graphql.js +14 -0
  167. package/esm2015/order/components/select-customer-dialog/select-customer-dialog.component.js +59 -0
  168. package/esm2015/order/components/select-shipping-method-dialog/select-shipping-method-dialog.component.js +30 -0
  169. package/esm2015/order/order.module.js +13 -1
  170. package/esm2015/order/order.routes.js +26 -7
  171. package/esm2015/order/providers/routing/order-resolver.js +29 -12
  172. package/esm2015/order/providers/routing/order.guard.js +41 -0
  173. package/esm2015/order/public_api.js +9 -1
  174. package/esm2015/settings/components/country-list/country-list.component.js +2 -2
  175. package/esm2015/settings/components/profile/profile.component.js +2 -2
  176. package/esm2015/settings/components/zone-list/zone-list.component.js +2 -2
  177. package/esm2015/settings/components/zone-member-list/zone-member-list.component.js +2 -2
  178. package/esm2015/system/components/health-check/health-check.component.js +1 -1
  179. package/fesm2015/vendure-admin-ui-catalog.js +835 -61
  180. package/fesm2015/vendure-admin-ui-catalog.js.map +1 -1
  181. package/fesm2015/vendure-admin-ui-core.js +3122 -1514
  182. package/fesm2015/vendure-admin-ui-core.js.map +1 -1
  183. package/fesm2015/vendure-admin-ui-customer.js +7 -7
  184. package/fesm2015/vendure-admin-ui-customer.js.map +1 -1
  185. package/fesm2015/vendure-admin-ui-dashboard.js +5 -1
  186. package/fesm2015/vendure-admin-ui-dashboard.js.map +1 -1
  187. package/fesm2015/vendure-admin-ui-order.js +780 -232
  188. package/fesm2015/vendure-admin-ui-order.js.map +1 -1
  189. package/fesm2015/vendure-admin-ui-settings.js +4 -4
  190. package/fesm2015/vendure-admin-ui-settings.js.map +1 -1
  191. package/fesm2015/vendure-admin-ui-system.js +1 -1
  192. package/order/components/coupon-code-selector/coupon-code-selector.component.d.ts +18 -0
  193. package/order/components/draft-order-detail/draft-order-detail.component.d.ts +49 -0
  194. package/order/components/draft-order-variant-selector/draft-order-variant-selector.component.d.ts +21 -0
  195. package/order/components/order-editor/order-editor.component.d.ts +1 -6
  196. package/order/components/order-list/order-list.component.d.ts +1 -0
  197. package/order/components/order-table/order-table.component.d.ts +11 -2
  198. package/order/components/select-address-dialog/select-address-dialog.component.d.ts +24 -0
  199. package/order/components/select-address-dialog/select-address-dialog.graphql.d.ts +1 -0
  200. package/order/components/select-customer-dialog/select-customer-dialog.component.d.ts +22 -0
  201. package/order/components/select-shipping-method-dialog/select-shipping-method-dialog.component.d.ts +16 -0
  202. package/order/providers/routing/order-resolver.d.ts +8 -5
  203. package/order/providers/routing/order.guard.d.ts +9 -0
  204. package/order/public_api.d.ts +8 -0
  205. package/order/vendure-admin-ui-order.metadata.json +1 -1
  206. package/package.json +13 -12
  207. package/settings/components/zone-member-list/zone-member-list.component.d.ts +3 -1
  208. package/settings/vendure-admin-ui-settings.metadata.json +1 -1
  209. package/static/i18n-messages/cs.json +33 -0
  210. package/static/i18n-messages/de.json +33 -0
  211. package/static/i18n-messages/en.json +36 -4
  212. package/static/i18n-messages/es.json +33 -0
  213. package/static/i18n-messages/fr.json +33 -0
  214. package/static/i18n-messages/it.json +33 -0
  215. package/static/i18n-messages/pl.json +33 -0
  216. package/static/i18n-messages/pt_BR.json +33 -0
  217. package/static/i18n-messages/pt_PT.json +33 -0
  218. package/static/i18n-messages/ru.json +33 -0
  219. package/static/i18n-messages/uk.json +33 -0
  220. package/static/i18n-messages/zh_Hans.json +33 -0
  221. package/static/i18n-messages/zh_Hant.json +33 -0
  222. package/static/styles/global/_forms.scss +4 -2
  223. package/static/styles/global/_overrides.scss +1 -1
  224. package/static/styles/global/_utilities.scss +4 -0
  225. package/static/theme.min.css +1 -1
  226. package/system/vendure-admin-ui-system.metadata.json +1 -1
  227. package/core/shared/components/rich-text-editor/prosemirror/menu/images.d.ts +0 -4
  228. package/esm2015/core/shared/components/rich-text-editor/prosemirror/menu/images.js +0 -36
@@ -97,7 +97,7 @@ DropdownMenuComponent.decorators = [
97
97
  template: `
98
98
  <ng-template #menu>
99
99
  <div class="dropdown open">
100
- <div class="dropdown-menu">
100
+ <div class="dropdown-menu" [ngClass]="customClasses">
101
101
  <div class="dropdown-content-wrapper">
102
102
  <ng-content></ng-content>
103
103
  </div>
@@ -106,7 +106,7 @@ DropdownMenuComponent.decorators = [
106
106
  </ng-template>
107
107
  `,
108
108
  changeDetection: ChangeDetectionStrategy.OnPush,
109
- styles: [".clear-backdrop{background-color:#ff69b4}.dropdown.open>.dropdown-menu{position:relative;top:0;height:100%;overflow-y:auto}:host{opacity:1;transition:opacity .3s}\n"]
109
+ styles: [".clear-backdrop{background-color:#ff69b4}::ng-deep .dropdown-menu .dropdown-item{display:flex;align-items:center}::ng-deep .dropdown-menu .dropdown-item clr-icon{margin-right:3px}.dropdown.open>.dropdown-menu{position:relative;top:0;height:100%;overflow-y:auto}:host{opacity:1;transition:opacity .3s}\n"]
110
110
  },] }
111
111
  ];
112
112
  DropdownMenuComponent.ctorParameters = () => [
@@ -116,6 +116,7 @@ DropdownMenuComponent.ctorParameters = () => [
116
116
  ];
117
117
  DropdownMenuComponent.propDecorators = {
118
118
  position: [{ type: Input, args: ['vdrPosition',] }],
119
+ customClasses: [{ type: Input }],
119
120
  menuTemplate: [{ type: ViewChild, args: ['menu', { static: true },] }]
120
121
  };
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLW1lbnUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCxPQUFPLEdBSVYsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBR1QsS0FBSyxFQUlMLFNBQVMsRUFDVCxnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFJekQ7Ozs7Ozs7O0dBUUc7QUFpQkgsTUFBTSxPQUFPLHFCQUFxQjtJQU85QixZQUNZLE9BQWdCLEVBQ2hCLGdCQUFrQyxFQUNsQyxRQUEyQjtRQUYzQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBbUI7UUFUVCxhQUFRLEdBQXFCLGFBQWEsQ0FBQztJQVV0RSxDQUFDO0lBRUosUUFBUTtRQUNKLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2hDLElBQUksTUFBTSxFQUFFO2dCQUNSLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUMzQztpQkFBTTtnQkFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQzVCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxN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S0FBSyxTQUFDLGFBQWE7MkJBQ25CLFNBQVMsU0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIENvbm5lY3RlZFBvc2l0aW9uLFxyXG4gICAgSG9yaXpvbnRhbENvbm5lY3Rpb25Qb3MsXHJcbiAgICBPdmVybGF5LFxyXG4gICAgT3ZlcmxheVJlZixcclxuICAgIFBvc2l0aW9uU3RyYXRlZ3ksXHJcbiAgICBWZXJ0aWNhbENvbm5lY3Rpb25Qb3MsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQge1xyXG4gICAgQWZ0ZXJWaWV3SW5pdCxcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgQ29udGVudENoaWxkLFxyXG4gICAgRWxlbWVudFJlZixcclxuICAgIElucHV0LFxyXG4gICAgT25EZXN0cm95LFxyXG4gICAgT25Jbml0LFxyXG4gICAgVGVtcGxhdGVSZWYsXHJcbiAgICBWaWV3Q2hpbGQsXHJcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IERyb3Bkb3duVHJpZ2dlckRpcmVjdGl2ZSB9IGZyb20gJy4vZHJvcGRvd24tdHJpZ2dlci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vZHJvcGRvd24uY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCB0eXBlIERyb3Bkb3duUG9zaXRpb24gPSAndG9wLWxlZnQnIHwgJ3RvcC1yaWdodCcgfCAnYm90dG9tLWxlZnQnIHwgJ2JvdHRvbS1yaWdodCc7XHJcblxyXG4vKipcclxuICogQSBkcm9wZG93biBtZW51IG1vZGVsbGVkIG9uIHRoZSBDbGFyaXR5IERyb3Bkb3duIGNvbXBvbmVudCAoaHR0cHM6Ly92MS5jbGFyaXR5LmRlc2lnbi9kcm9wZG93bnMpLlxyXG4gKlxyXG4gKiBUaGlzIHdhcyBjcmVhdGVkIGJlY2F1c2UgdGhlIENsYXJpdHkgaW1wbGVtZW50YXRpb24gKGF0IHRoaXMgdGltZSkgZG9lcyBub3QgaGFuZGxlIGVkZ2UgZGV0ZWN0aW9uLiBJbnN0ZWFkXHJcbiAqIHdlIG1ha2UgdXNlIG9mIHRoZSBBbmd1bGFyIENESydzIE92ZXJsYXkgbW9kdWxlIHRvIG1hbmFnZSB0aGUgcG9zaXRpb25pbmcuXHJcbiAqXHJcbiAqIFRoZSBBUEkgb2YgdGhpcyBjb21wb25lbnQgKGFuZCBpdHMgcmVsYXRlZCBDb21wb25lbnRzICYgRGlyZWN0aXZlcykgYXJlIGJhc2VkIG9uIHRoZSBDbGFyaXR5IHZlcnNpb24sXHJcbiAqIGFsYmVpdCBvbmx5IGEgc3Vic2V0IHdoaWNoIGlzIGN1cnJlbnRseSB1c2VkIGluIHRoaXMgYXBwbGljYXRpb24uXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLWRyb3Bkb3duLW1lbnUnLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8bmctdGVtcGxhdGUgI21lbnU+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93biBvcGVuXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tbWVudVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1jb250ZW50LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICBgLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vZHJvcGRvd24tbWVudS5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEcm9wZG93bk1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgICBASW5wdXQoJ3ZkclBvc2l0aW9uJykgcHJpdmF0ZSBwb3NpdGlvbjogRHJvcGRvd25Qb3NpdGlvbiA9ICdib3R0b20tbGVmdCc7XHJcbiAgICBAVmlld0NoaWxkKCdtZW51JywgeyBzdGF0aWM6IHRydWUgfSkgcHJpdmF0ZSBtZW51VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgICBwcml2YXRlIG1lbnVQb3J0YWw6IFRlbXBsYXRlUG9ydGFsPGFueT47XHJcbiAgICBwcml2YXRlIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XHJcbiAgICBwcml2YXRlIGJhY2tkcm9wQ2xpY2tTdWI6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXHJcbiAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgICAgIHByaXZhdGUgZHJvcGRvd246IERyb3Bkb3duQ29tcG9uZW50LFxyXG4gICAgKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZHJvcGRvd24ub25PcGVuQ2hhbmdlKGlzT3BlbiA9PiB7XHJcbiAgICAgICAgICAgIGlmIChpc09wZW4pIHtcclxuICAgICAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZi5hdHRhY2godGhpcy5tZW51UG9ydGFsKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZi5kZXRhY2goKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcclxuICAgICAgICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXHJcbiAgICAgICAgICAgIGJhY2tkcm9wQ2xhc3M6ICdjbGVhci1iYWNrZHJvcCcsXHJcbiAgICAgICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuZ2V0UG9zaXRpb25TdHJhdGVneSgpLFxyXG4gICAgICAgICAgICBtYXhIZWlnaHQ6ICc3MHZoJyxcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLm1lbnVQb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy5tZW51VGVtcGxhdGUsIHRoaXMudmlld0NvbnRhaW5lclJlZik7XHJcbiAgICAgICAgdGhpcy5iYWNrZHJvcENsaWNrU3ViID0gdGhpcy5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duLnRvZ2dsZU9wZW4oKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5vdmVybGF5UmVmKSB7XHJcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZi5kaXNwb3NlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmJhY2tkcm9wQ2xpY2tTdWIpIHtcclxuICAgICAgICAgICAgdGhpcy5iYWNrZHJvcENsaWNrU3ViLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0UG9zaXRpb25TdHJhdGVneSgpOiBQb3NpdGlvblN0cmF0ZWd5IHtcclxuICAgICAgICBjb25zdCBwb3NpdGlvbjogeyBbSyBpbiBEcm9wZG93blBvc2l0aW9uXTogQ29ubmVjdGVkUG9zaXRpb24gfSA9IHtcclxuICAgICAgICAgICAgWyd0b3AtbGVmdCddOiB7XHJcbiAgICAgICAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgWyd0b3AtcmlnaHQnXToge1xyXG4gICAgICAgICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXHJcbiAgICAgICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcclxuICAgICAgICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgWydib3R0b20tbGVmdCddOiB7XHJcbiAgICAgICAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXHJcbiAgICAgICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgWydib3R0b20tcmlnaHQnXToge1xyXG4gICAgICAgICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXHJcbiAgICAgICAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcclxuICAgICAgICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcclxuICAgICAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICBjb25zdCBwb3MgPSBwb3NpdGlvblt0aGlzLnBvc2l0aW9uXTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMub3ZlcmxheVxyXG4gICAgICAgICAgICAucG9zaXRpb24oKVxyXG4gICAgICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLmRyb3Bkb3duLnRyaWdnZXIpXHJcbiAgICAgICAgICAgIC53aXRoUG9zaXRpb25zKFtwb3MsIHRoaXMuaW52ZXJ0UG9zaXRpb24ocG9zKV0pXHJcbiAgICAgICAgICAgIC53aXRoVmlld3BvcnRNYXJnaW4oMTIpXHJcbiAgICAgICAgICAgIC53aXRoUHVzaCh0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogSW52ZXJ0cyBhbiBvdmVybGF5IHBvc2l0aW9uLiAqL1xyXG4gICAgcHJpdmF0ZSBpbnZlcnRQb3NpdGlvbihwb3M6IENvbm5lY3RlZFBvc2l0aW9uKTogQ29ubmVjdGVkUG9zaXRpb24ge1xyXG4gICAgICAgIGNvbnN0IGludmVydGVkID0geyAuLi5wb3MgfTtcclxuICAgICAgICBpbnZlcnRlZC5vcmlnaW5ZID0gcG9zLm9yaWdpblkgPT09ICd0b3AnID8gJ2JvdHRvbScgOiAndG9wJztcclxuICAgICAgICBpbnZlcnRlZC5vdmVybGF5WSA9IHBvcy5vdmVybGF5WSA9PT0gJ3RvcCcgPyAnYm90dG9tJyA6ICd0b3AnO1xyXG5cclxuICAgICAgICByZXR1cm4gaW52ZXJ0ZWQ7XHJcbiAgICB9XHJcbn1cclxuIl19
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLW1lbnUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCxPQUFPLEdBSVYsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBR1QsS0FBSyxFQUlMLFNBQVMsRUFDVCxnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFJekQ7Ozs7Ozs7O0dBUUc7QUFpQkgsTUFBTSxPQUFPLHFCQUFxQjtJQVE5QixZQUNZLE9BQWdCLEVBQ2hCLGdCQUFrQyxFQUNsQyxRQUEyQjtRQUYzQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBbUI7UUFWVCxhQUFRLEdBQXFCLGFBQWEsQ0FBQztJQVd0RSxDQUFDO0lBRUosUUFBUTtRQUNKLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2hDLElBQUksTUFBTSxFQUFFO2dCQUNSLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUMzQztpQkFBTTtnQkFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQzVCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxN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S0FBSyxTQUFDLGFBQWE7NEJBQ25CLEtBQUs7MkJBQ0wsU0FBUyxTQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ29ubmVjdGVkUG9zaXRpb24sXHJcbiAgICBIb3Jpem9udGFsQ29ubmVjdGlvblBvcyxcclxuICAgIE92ZXJsYXksXHJcbiAgICBPdmVybGF5UmVmLFxyXG4gICAgUG9zaXRpb25TdHJhdGVneSxcclxuICAgIFZlcnRpY2FsQ29ubmVjdGlvblBvcyxcclxufSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcbmltcG9ydCB7XHJcbiAgICBBZnRlclZpZXdJbml0LFxyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBDb250ZW50Q2hpbGQsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBPbkluaXQsXHJcbiAgICBUZW1wbGF0ZVJlZixcclxuICAgIFZpZXdDaGlsZCxcclxuICAgIFZpZXdDb250YWluZXJSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgRHJvcGRvd25UcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi9kcm9wZG93bi10cmlnZ2VyLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IERyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9kcm9wZG93bi5jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0IHR5cGUgRHJvcGRvd25Qb3NpdGlvbiA9ICd0b3AtbGVmdCcgfCAndG9wLXJpZ2h0JyB8ICdib3R0b20tbGVmdCcgfCAnYm90dG9tLXJpZ2h0JztcclxuXHJcbi8qKlxyXG4gKiBBIGRyb3Bkb3duIG1lbnUgbW9kZWxsZWQgb24gdGhlIENsYXJpdHkgRHJvcGRvd24gY29tcG9uZW50IChodHRwczovL3YxLmNsYXJpdHkuZGVzaWduL2Ryb3Bkb3ducykuXHJcbiAqXHJcbiAqIFRoaXMgd2FzIGNyZWF0ZWQgYmVjYXVzZSB0aGUgQ2xhcml0eSBpbXBsZW1lbnRhdGlvbiAoYXQgdGhpcyB0aW1lKSBkb2VzIG5vdCBoYW5kbGUgZWRnZSBkZXRlY3Rpb24uIEluc3RlYWRcclxuICogd2UgbWFrZSB1c2Ugb2YgdGhlIEFuZ3VsYXIgQ0RLJ3MgT3ZlcmxheSBtb2R1bGUgdG8gbWFuYWdlIHRoZSBwb3NpdGlvbmluZy5cclxuICpcclxuICogVGhlIEFQSSBvZiB0aGlzIGNvbXBvbmVudCAoYW5kIGl0cyByZWxhdGVkIENvbXBvbmVudHMgJiBEaXJlY3RpdmVzKSBhcmUgYmFzZWQgb24gdGhlIENsYXJpdHkgdmVyc2lvbixcclxuICogYWxiZWl0IG9ubHkgYSBzdWJzZXQgd2hpY2ggaXMgY3VycmVudGx5IHVzZWQgaW4gdGhpcyBhcHBsaWNhdGlvbi5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItZHJvcGRvd24tbWVudScsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjbWVudT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duIG9wZW5cIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1tZW51XCIgW25nQ2xhc3NdPVwiY3VzdG9tQ2xhc3Nlc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1jb250ZW50LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICBgLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vZHJvcGRvd24tbWVudS5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEcm9wZG93bk1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgICBASW5wdXQoJ3ZkclBvc2l0aW9uJykgcHJpdmF0ZSBwb3NpdGlvbjogRHJvcGRvd25Qb3NpdGlvbiA9ICdib3R0b20tbGVmdCc7XHJcbiAgICBASW5wdXQoKSBjdXN0b21DbGFzc2VzOiBzdHJpbmc7XHJcbiAgICBAVmlld0NoaWxkKCdtZW51JywgeyBzdGF0aWM6IHRydWUgfSkgcHJpdmF0ZSBtZW51VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgICBwcml2YXRlIG1lbnVQb3J0YWw6IFRlbXBsYXRlUG9ydGFsPGFueT47XHJcbiAgICBwcml2YXRlIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XHJcbiAgICBwcml2YXRlIGJhY2tkcm9wQ2xpY2tTdWI6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXHJcbiAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgICAgIHByaXZhdGUgZHJvcGRvd246IERyb3Bkb3duQ29tcG9uZW50LFxyXG4gICAgKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZHJvcGRvd24ub25PcGVuQ2hhbmdlKGlzT3BlbiA9PiB7XHJcbiAgICAgICAgICAgIGlmIChpc09wZW4pIHtcclxuICAgICAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZi5hdHRhY2godGhpcy5tZW51UG9ydGFsKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZi5kZXRhY2goKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcclxuICAgICAgICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXHJcbiAgICAgICAgICAgIGJhY2tkcm9wQ2xhc3M6ICdjbGVhci1iYWNrZHJvcCcsXHJcbiAgICAgICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuZ2V0UG9zaXRpb25TdHJhdGVneSgpLFxyXG4gICAgICAgICAgICBtYXhIZWlnaHQ6ICc3MHZoJyxcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLm1lbnVQb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy5tZW51VGVtcGxhdGUsIHRoaXMudmlld0NvbnRhaW5lclJlZik7XHJcbiAgICAgICAgdGhpcy5iYWNrZHJvcENsaWNrU3ViID0gdGhpcy5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duLnRvZ2dsZU9wZW4oKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5vdmVybGF5UmVmKSB7XHJcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZi5kaXNwb3NlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmJhY2tkcm9wQ2xpY2tTdWIpIHtcclxuICAgICAgICAgICAgdGhpcy5iYWNrZHJvcENsaWNrU3ViLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0UG9zaXRpb25TdHJhdGVneSgpOiBQb3NpdGlvblN0cmF0ZWd5IHtcclxuICAgICAgICBjb25zdCBwb3NpdGlvbjogeyBbSyBpbiBEcm9wZG93blBvc2l0aW9uXTogQ29ubmVjdGVkUG9zaXRpb24gfSA9IHtcclxuICAgICAgICAgICAgWyd0b3AtbGVmdCddOiB7XHJcbiAgICAgICAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgWyd0b3AtcmlnaHQnXToge1xyXG4gICAgICAgICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXHJcbiAgICAgICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcclxuICAgICAgICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgWydib3R0b20tbGVmdCddOiB7XHJcbiAgICAgICAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXHJcbiAgICAgICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgWydib3R0b20tcmlnaHQnXToge1xyXG4gICAgICAgICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXHJcbiAgICAgICAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcclxuICAgICAgICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcclxuICAgICAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICBjb25zdCBwb3MgPSBwb3NpdGlvblt0aGlzLnBvc2l0aW9uXTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMub3ZlcmxheVxyXG4gICAgICAgICAgICAucG9zaXRpb24oKVxyXG4gICAgICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLmRyb3Bkb3duLnRyaWdnZXIpXHJcbiAgICAgICAgICAgIC53aXRoUG9zaXRpb25zKFtwb3MsIHRoaXMuaW52ZXJ0UG9zaXRpb24ocG9zKV0pXHJcbiAgICAgICAgICAgIC53aXRoVmlld3BvcnRNYXJnaW4oMTIpXHJcbiAgICAgICAgICAgIC53aXRoUHVzaCh0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogSW52ZXJ0cyBhbiBvdmVybGF5IHBvc2l0aW9uLiAqL1xyXG4gICAgcHJpdmF0ZSBpbnZlcnRQb3NpdGlvbihwb3M6IENvbm5lY3RlZFBvc2l0aW9uKTogQ29ubmVjdGVkUG9zaXRpb24ge1xyXG4gICAgICAgIGNvbnN0IGludmVydGVkID0geyAuLi5wb3MgfTtcclxuICAgICAgICBpbnZlcnRlZC5vcmlnaW5ZID0gcG9zLm9yaWdpblkgPT09ICd0b3AnID8gJ2JvdHRvbScgOiAndG9wJztcclxuICAgICAgICBpbnZlcnRlZC5vdmVybGF5WSA9IHBvcy5vdmVybGF5WSA9PT0gJ3RvcCcgPyAnYm90dG9tJyA6ICd0b3AnO1xyXG5cclxuICAgICAgICByZXR1cm4gaW52ZXJ0ZWQ7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -92,7 +92,7 @@ export class FacetValueSelectorComponent {
92
92
  FacetValueSelectorComponent.decorators = [
93
93
  { type: Component, args: [{
94
94
  selector: 'vdr-facet-value-selector',
95
- template: "<ng-select\r\n [items]=\"facetValues\"\r\n [addTag]=\"false\"\r\n [hideSelected]=\"true\"\r\n bindValue=\"id\"\r\n multiple=\"true\"\r\n appendTo=\"body\"\r\n bindLabel=\"name\"\r\n [disabled]=\"disabled || readonly\"\r\n [ngModel]=\"value\"\r\n (change)=\"onChange($event)\"\r\n>\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <vdr-facet-value-chip\r\n [facetValue]=\"item.value\"\r\n [removable]=\"!readonly\"\r\n (remove)=\"clear(item)\"\r\n ></vdr-facet-value-chip>\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\">\r\n <vdr-facet-value-chip [facetValue]=\"item.value\" [removable]=\"false\"></vdr-facet-value-chip>\r\n </ng-template>\r\n</ng-select>\r\n",
95
+ template: "<ng-select\r\n [items]=\"facetValues\"\r\n [addTag]=\"false\"\r\n [hideSelected]=\"true\"\r\n bindValue=\"id\"\r\n multiple=\"true\"\r\n appendTo=\"body\"\r\n bindLabel=\"name\"\r\n [disabled]=\"disabled || readonly\"\r\n [ngModel]=\"value\"\r\n (change)=\"onChange($event)\"\r\n>\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <vdr-facet-value-chip\r\n *ngIf=\"item.value; else facetNotFound\"\r\n [facetValue]=\"item.value\"\r\n [removable]=\"!readonly\"\r\n (remove)=\"clear(item)\"\r\n ></vdr-facet-value-chip>\r\n <ng-template #facetNotFound>\r\n <vdr-chip colorType=\"error\" icon=\"times\" (iconClick)=\"clear(item)\">{{\r\n 'catalog.facet-value-not-available' | translate: { id: item.id }\r\n }}</vdr-chip>\r\n </ng-template>\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\">\r\n <vdr-facet-value-chip [facetValue]=\"item.value\" [removable]=\"false\"></vdr-facet-value-chip>\r\n </ng-template>\r\n</ng-select>\r\n",
96
96
  changeDetection: ChangeDetectionStrategy.OnPush,
97
97
  providers: [
98
98
  {
@@ -114,4 +114,4 @@ FacetValueSelectorComponent.propDecorators = {
114
114
  transformControlValueAccessorValue: [{ type: Input }],
115
115
  ngSelect: [{ type: ViewChild, args: [NgSelectComponent,] }]
116
116
  };
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjZXQtdmFsdWUtc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvY29tcG9uZW50cy9mYWNldC12YWx1ZS1zZWxlY3Rvci9mYWNldC12YWx1ZS1zZWxlY3Rvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUd6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNwRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFTbkU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCRztBQWNILE1BQU0sT0FBTywyQkFBMkI7SUFhcEMsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFabEMseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQXlCLENBQUM7UUFFbEUsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQix1Q0FBa0MsR0FBOEMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7UUFJeEcsZ0JBQVcsR0FBNEIsRUFBRSxDQUFDO1FBRzFDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUF1RFQsbUJBQWMsR0FBRyxDQUFDLFVBQStCLEVBQXlCLEVBQUU7WUFDaEYsT0FBTztnQkFDSCxJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUk7Z0JBQ3JCLFNBQVMsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUk7Z0JBQ2hDLEVBQUUsRUFBRSxVQUFV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ZWd5LFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkluaXQsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTmdTZWxlY3RDb21wb25lbnQgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XHJcblxyXG5pbXBvcnQgeyBGYWNldFZhbHVlLCBGYWNldFdpdGhWYWx1ZXMgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcclxuaW1wb3J0IHsgZmxhdHRlbkZhY2V0VmFsdWVzIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3V0aWxpdGllcy9mbGF0dGVuLWZhY2V0LXZhbHVlcyc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZGF0YS9wcm92aWRlcnMvZGF0YS5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCB0eXBlIEZhY2V0VmFsdWVTZWxldG9ySXRlbSA9IHtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIGZhY2V0TmFtZTogc3RyaW5nO1xyXG4gICAgaWQ6IHN0cmluZztcclxuICAgIHZhbHVlOiBGYWNldFZhbHVlLkZyYWdtZW50O1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBBIGZvcm0gY29udHJvbCBmb3Igc2VsZWN0aW5nIGZhY2V0IHZhbHVlcy5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgSFRNTFxyXG4gKiA8dmRyLWZhY2V0LXZhbHVlLXNlbGVjdG9yXHJcbiAqICAgW2ZhY2V0c109XCJmYWNldHNcIlxyXG4gKiAgIChzZWxlY3RlZFZhbHVlc0NoYW5nZSk9XCJzZWxlY3RlZFZhbHVlcyA9ICRldmVudFwiXHJcbiAqID48L3Zkci1mYWNldC12YWx1ZS1zZWxlY3Rvcj5cclxuICogYGBgXHJcbiAqIFRoZSBgZmFjZXRzYCBpbnB1dCBzaG91bGQgYmUgcHJvdmlkZWQgZnJvbSB0aGUgcGFyZW50IGNvbXBvbmVudFxyXG4gKiBsaWtlIHRoaXM6XHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYFR5cGVTY3JpcHRcclxuICogdGhpcy5mYWNldHMgPSB0aGlzLmRhdGFTZXJ2aWNlXHJcbiAqICAgLmZhY2V0LmdldEFsbEZhY2V0cygpXHJcbiAqICAgLm1hcFNpbmdsZShkYXRhID0+IGRhdGEuZmFjZXRzLml0ZW1zKTtcclxuICogYGBgXHJcbiAqIEBkb2NzQ2F0ZWdvcnkgY29tcG9uZW50c1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1mYWNldC12YWx1ZS1zZWxlY3RvcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vZmFjZXQtdmFsdWUtc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vZmFjZXQtdmFsdWUtc2VsZWN0b3IuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IEZhY2V0VmFsdWVTZWxlY3RvckNvbXBvbmVudCxcclxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgICAgfSxcclxuICAgIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGYWNldFZhbHVlU2VsZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICAgIEBPdXRwdXQoKSBzZWxlY3RlZFZhbHVlc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RmFjZXRWYWx1ZS5GcmFnbWVudFtdPigpO1xyXG4gICAgQElucHV0KCkgZmFjZXRzOiBGYWNldFdpdGhWYWx1ZXMuRnJhZ21lbnRbXTtcclxuICAgIEBJbnB1dCgpIHJlYWRvbmx5ID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSB0cmFuc2Zvcm1Db250cm9sVmFsdWVBY2Nlc3NvclZhbHVlOiAodmFsdWU6IEZhY2V0VmFsdWVTZWxldG9ySXRlbVtdKSA9PiBhbnlbXSA9IHZhbHVlID0+IHZhbHVlO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoTmdTZWxlY3RDb21wb25lbnQpIHByaXZhdGUgbmdTZWxlY3Q6IE5nU2VsZWN0Q29tcG9uZW50O1xyXG5cclxuICAgIGZhY2V0VmFsdWVzOiBGYWNldFZhbHVlU2VsZXRvckl0ZW1bXSA9IFtdO1xyXG4gICAgb25DaGFuZ2VGbjogKHZhbDogYW55KSA9PiB2b2lkO1xyXG4gICAgb25Ub3VjaEZuOiAoKSA9PiB2b2lkO1xyXG4gICAgZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgIHZhbHVlOiBBcnJheTxzdHJpbmcgfCBGYWNldFZhbHVlLkZyYWdtZW50PjtcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuZmFjZXRWYWx1ZXMgPSBmbGF0dGVuRmFjZXRWYWx1ZXModGhpcy5mYWNldHMpLm1hcCh0aGlzLnRvU2VsZWN0b3JJdGVtKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkNoYW5nZShzZWxlY3RlZDogRmFjZXRWYWx1ZVNlbGV0b3JJdGVtW10pIHtcclxuICAgICAgICBpZiAodGhpcy5yZWFkb25seSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXNDaGFuZ2UuZW1pdChzZWxlY3RlZC5tYXAocyA9PiBzLnZhbHVlKSk7XHJcbiAgICAgICAgaWYgKHRoaXMub25DaGFuZ2VGbikge1xyXG4gICAgICAgICAgICBjb25zdCB0cmFuc2Zvcm1lZFZhbHVlID0gdGhpcy50cmFuc2Zvcm1Db250cm9sVmFsdWVBY2Nlc3NvclZhbHVlKHNlbGVjdGVkKTtcclxuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZUZuKHRyYW5zZm9ybWVkVmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlRm4gPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoRm4gPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICAgIH1cclxuXHJcbiAgICBmb2N1cygpIHtcclxuICAgICAgICB0aGlzLm5nU2VsZWN0LmZvY3VzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgd3JpdGVWYWx1ZShvYmo6IHN0cmluZyB8IEZhY2V0VmFsdWUuRnJhZ21lbnRbXSB8IEFycmF5PHN0cmluZyB8IG51bWJlcj4gfCBudWxsKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBvYmogPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBmYWNldElkcyA9IEpTT04ucGFyc2Uob2JqKSBhcyBzdHJpbmdbXTtcclxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBmYWNldElkcztcclxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBUT0RPOiBsb2cgZXJyb3JcclxuICAgICAgICAgICAgICAgIHRocm93IGVycjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGlzSWRBcnJheSA9IChpbnB1dDogdW5rbm93bltdKTogaW5wdXQgaXMgQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiA9PlxyXG4gICAgICAgICAgICAgICAgaW5wdXQuZXZlcnkoaSA9PiB0eXBlb2YgaSA9PT0gJ251bWJlcicgfHwgdHlwZW9mIGkgPT09ICdzdHJpbmcnKTtcclxuICAgICAgICAgICAgaWYgKGlzSWRBcnJheShvYmopKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gb2JqLm1hcChmdiA9PiBmdi50b1N0cmluZygpKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBvYmoubWFwKGZ2ID0+IGZ2LmlkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHRvU2VsZWN0b3JJdGVtID0gKGZhY2V0VmFsdWU6IEZhY2V0VmFsdWUuRnJhZ21lbnQpOiBGYWNldFZhbHVlU2VsZXRvckl0ZW0gPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIG5hbWU6IGZhY2V0VmFsdWUubmFtZSxcclxuICAgICAgICAgICAgZmFjZXROYW1lOiBmYWNldFZhbHVlLmZhY2V0Lm5hbWUsXHJcbiAgICAgICAgICAgIGlkOiBmYWNldFZhbHVlLmlkLFxyXG4gICAgICAgICAgICB2YWx1ZTogZmFjZXRWYWx1ZSxcclxuICAgICAgICB9O1xyXG4gICAgfTtcclxufVxyXG4iXX0=
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjZXQtdmFsdWUtc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvY29tcG9uZW50cy9mYWNldC12YWx1ZS1zZWxlY3Rvci9mYWNldC12YWx1ZS1zZWxlY3Rvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUd6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNwRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFTbkU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCRztBQWNILE1BQU0sT0FBTywyQkFBMkI7SUFhcEMsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFabEMseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQXlCLENBQUM7UUFFbEUsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQix1Q0FBa0MsR0FBOEMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7UUFJeEcsZ0JBQVcsR0FBNEIsRUFBRSxDQUFDO1FBRzFDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUF1RFQsbUJBQWMsR0FBRyxDQUFDLFVBQStCLEVBQXlCLEVBQUU7WUFDaEYsT0FBTztnQkFDSCxJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUk7Z0JBQ3JCLFNBQVMsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUk7Z0JBQ2hDLEVBQUUsRUFBRSxVQUFV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ZWd5LFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkluaXQsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTmdTZWxlY3RDb21wb25lbnQgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XHJcblxyXG5pbXBvcnQgeyBGYWNldFZhbHVlLCBGYWNldFdpdGhWYWx1ZXMgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcclxuaW1wb3J0IHsgZmxhdHRlbkZhY2V0VmFsdWVzIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3V0aWxpdGllcy9mbGF0dGVuLWZhY2V0LXZhbHVlcyc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZGF0YS9wcm92aWRlcnMvZGF0YS5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCB0eXBlIEZhY2V0VmFsdWVTZWxldG9ySXRlbSA9IHtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIGZhY2V0TmFtZTogc3RyaW5nO1xyXG4gICAgaWQ6IHN0cmluZztcclxuICAgIHZhbHVlOiBGYWNldFZhbHVlLkZyYWdtZW50O1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBBIGZvcm0gY29udHJvbCBmb3Igc2VsZWN0aW5nIGZhY2V0IHZhbHVlcy5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgSFRNTFxyXG4gKiA8dmRyLWZhY2V0LXZhbHVlLXNlbGVjdG9yXHJcbiAqICAgW2ZhY2V0c109XCJmYWNldHNcIlxyXG4gKiAgIChzZWxlY3RlZFZhbHVlc0NoYW5nZSk9XCJzZWxlY3RlZFZhbHVlcyA9ICRldmVudFwiXHJcbiAqID48L3Zkci1mYWNldC12YWx1ZS1zZWxlY3Rvcj5cclxuICogYGBgXHJcbiAqIFRoZSBgZmFjZXRzYCBpbnB1dCBzaG91bGQgYmUgcHJvdmlkZWQgZnJvbSB0aGUgcGFyZW50IGNvbXBvbmVudFxyXG4gKiBsaWtlIHRoaXM6XHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYFR5cGVTY3JpcHRcclxuICogdGhpcy5mYWNldHMgPSB0aGlzLmRhdGFTZXJ2aWNlXHJcbiAqICAgLmZhY2V0LmdldEFsbEZhY2V0cygpXHJcbiAqICAgLm1hcFNpbmdsZShkYXRhID0+IGRhdGEuZmFjZXRzLml0ZW1zKTtcclxuICogYGBgXHJcbiAqIEBkb2NzQ2F0ZWdvcnkgY29tcG9uZW50c1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1mYWNldC12YWx1ZS1zZWxlY3RvcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vZmFjZXQtdmFsdWUtc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vZmFjZXQtdmFsdWUtc2VsZWN0b3IuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IEZhY2V0VmFsdWVTZWxlY3RvckNvbXBvbmVudCxcclxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgICAgfSxcclxuICAgIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGYWNldFZhbHVlU2VsZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICAgIEBPdXRwdXQoKSBzZWxlY3RlZFZhbHVlc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RmFjZXRWYWx1ZS5GcmFnbWVudFtdPigpO1xyXG4gICAgQElucHV0KCkgZmFjZXRzOiBGYWNldFdpdGhWYWx1ZXMuRnJhZ21lbnRbXTtcclxuICAgIEBJbnB1dCgpIHJlYWRvbmx5ID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSB0cmFuc2Zvcm1Db250cm9sVmFsdWVBY2Nlc3NvclZhbHVlOiAodmFsdWU6IEZhY2V0VmFsdWVTZWxldG9ySXRlbVtdKSA9PiBhbnlbXSA9IHZhbHVlID0+IHZhbHVlO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoTmdTZWxlY3RDb21wb25lbnQpIHByaXZhdGUgbmdTZWxlY3Q6IE5nU2VsZWN0Q29tcG9uZW50O1xyXG5cclxuICAgIGZhY2V0VmFsdWVzOiBGYWNldFZhbHVlU2VsZXRvckl0ZW1bXSA9IFtdO1xyXG4gICAgb25DaGFuZ2VGbjogKHZhbDogYW55KSA9PiB2b2lkO1xyXG4gICAgb25Ub3VjaEZuOiAoKSA9PiB2b2lkO1xyXG4gICAgZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgIHZhbHVlOiBBcnJheTxzdHJpbmcgfCBGYWNldFZhbHVlLkZyYWdtZW50PjtcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuZmFjZXRWYWx1ZXMgPSBmbGF0dGVuRmFjZXRWYWx1ZXModGhpcy5mYWNldHMpLm1hcCh0aGlzLnRvU2VsZWN0b3JJdGVtKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkNoYW5nZShzZWxlY3RlZDogRmFjZXRWYWx1ZVNlbGV0b3JJdGVtW10pIHtcclxuICAgICAgICBpZiAodGhpcy5yZWFkb25seSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXNDaGFuZ2UuZW1pdChzZWxlY3RlZC5tYXAocyA9PiBzLnZhbHVlKSk7XHJcbiAgICAgICAgaWYgKHRoaXMub25DaGFuZ2VGbikge1xyXG4gICAgICAgICAgICBjb25zdCB0cmFuc2Zvcm1lZFZhbHVlID0gdGhpcy50cmFuc2Zvcm1Db250cm9sVmFsdWVBY2Nlc3NvclZhbHVlKHNlbGVjdGVkKTtcclxuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZUZuKHRyYW5zZm9ybWVkVmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlRm4gPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoRm4gPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICAgIH1cclxuXHJcbiAgICBmb2N1cygpIHtcclxuICAgICAgICB0aGlzLm5nU2VsZWN0LmZvY3VzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgd3JpdGVWYWx1ZShvYmo6IHN0cmluZyB8IEZhY2V0VmFsdWUuRnJhZ21lbnRbXSB8IEFycmF5PHN0cmluZyB8IG51bWJlcj4gfCBudWxsKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBvYmogPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBmYWNldElkcyA9IEpTT04ucGFyc2Uob2JqKSBhcyBzdHJpbmdbXTtcclxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBmYWNldElkcztcclxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBUT0RPOiBsb2cgZXJyb3JcclxuICAgICAgICAgICAgICAgIHRocm93IGVycjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGlzSWRBcnJheSA9IChpbnB1dDogdW5rbm93bltdKTogaW5wdXQgaXMgQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiA9PlxyXG4gICAgICAgICAgICAgICAgaW5wdXQuZXZlcnkoaSA9PiB0eXBlb2YgaSA9PT0gJ251bWJlcicgfHwgdHlwZW9mIGkgPT09ICdzdHJpbmcnKTtcclxuICAgICAgICAgICAgaWYgKGlzSWRBcnJheShvYmopKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gb2JqLm1hcChmdiA9PiBmdi50b1N0cmluZygpKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBvYmoubWFwKGZ2ID0+IGZ2LmlkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHRvU2VsZWN0b3JJdGVtID0gKGZhY2V0VmFsdWU6IEZhY2V0VmFsdWUuRnJhZ21lbnQpOiBGYWNldFZhbHVlU2VsZXRvckl0ZW0gPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIG5hbWU6IGZhY2V0VmFsdWUubmFtZSxcclxuICAgICAgICAgICAgZmFjZXROYW1lOiBmYWNldFZhbHVlLmZhY2V0Lm5hbWUsXHJcbiAgICAgICAgICAgIGlkOiBmYWNldFZhbHVlLmlkLFxyXG4gICAgICAgICAgICB2YWx1ZTogZmFjZXRWYWx1ZSxcclxuICAgICAgICB9O1xyXG4gICAgfTtcclxufVxyXG4iXX0=
@@ -8,7 +8,7 @@ export class LanguageSelectorComponent {
8
8
  LanguageSelectorComponent.decorators = [
9
9
  { type: Component, args: [{
10
10
  selector: 'vdr-language-selector',
11
- template: "<ng-container *ngIf=\"1 < availableLanguageCodes?.length\">\r\n <vdr-dropdown>\r\n <button type=\"button\" class=\"btn btn-sm btn-link\" vdrDropdownTrigger [disabled]=\"disabled\">\r\n <clr-icon shape=\"world\"></clr-icon>\r\n {{ 'common.language' | translate }}: {{ currentLanguageCode | localeLanguageName | uppercase }}\r\n <clr-icon shape=\"caret down\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n type=\"button\"\r\n *ngFor=\"let code of availableLanguageCodes\"\r\n (click)=\"languageCodeChange.emit(code)\"\r\n vdrDropdownItem\r\n >\r\n {{ code | localeLanguageName }} <span class=\"code\">{{ code }}</span>\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n</ng-container>\r\n",
11
+ template: "<ng-container *ngIf=\"1 < availableLanguageCodes?.length\">\r\n <vdr-dropdown>\r\n <button type=\"button\" class=\"btn btn-sm\" vdrDropdownTrigger [disabled]=\"disabled\">\r\n <clr-icon shape=\"world\"></clr-icon>\r\n {{ 'common.language' | translate }}: {{ currentLanguageCode | localeLanguageName | uppercase }}\r\n <clr-icon shape=\"caret down\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n type=\"button\"\r\n *ngFor=\"let code of availableLanguageCodes\"\r\n (click)=\"languageCodeChange.emit(code)\"\r\n vdrDropdownItem\r\n >\r\n <span>{{ code | localeLanguageName }}</span> <span class=\"code ml2\">{{ code }}</span>\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n</ng-container>\r\n",
12
12
  styles: [".code{color:var(--color-grey-400)}\n"]
13
13
  },] }
14
14
  ];
@@ -18,4 +18,4 @@ LanguageSelectorComponent.propDecorators = {
18
18
  disabled: [{ type: Input }],
19
19
  languageCodeChange: [{ type: Output }]
20
20
  };
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2Utc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvY29tcG9uZW50cy9sYW5ndWFnZS1zZWxlY3Rvci9sYW5ndWFnZS1zZWxlY3Rvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVN2RSxNQUFNLE9BQU8seUJBQXlCO0lBTHRDO1FBUWEsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNoQix1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztJQUNwRSxDQUFDOzs7WUFWQSxTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHVCQUF1QjtnQkFDakMsczZCQUFpRDs7YUFFcEQ7OztrQ0FFSSxLQUFLO3FDQUNMLEtBQUs7dUJBQ0wsS0FBSztpQ0FDTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IExhbmd1YWdlQ29kZSB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1sYW5ndWFnZS1zZWxlY3RvcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGFuZ3VhZ2Utc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vbGFuZ3VhZ2Utc2VsZWN0b3IuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIExhbmd1YWdlU2VsZWN0b3JDb21wb25lbnQge1xyXG4gICAgQElucHV0KCkgY3VycmVudExhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xyXG4gICAgQElucHV0KCkgYXZhaWxhYmxlTGFuZ3VhZ2VDb2RlczogTGFuZ3VhZ2VDb2RlW107XHJcbiAgICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgQE91dHB1dCgpIGxhbmd1YWdlQ29kZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TGFuZ3VhZ2VDb2RlPigpO1xyXG59XHJcbiJdfQ==
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2Utc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvY29tcG9uZW50cy9sYW5ndWFnZS1zZWxlY3Rvci9sYW5ndWFnZS1zZWxlY3Rvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVN2RSxNQUFNLE9BQU8seUJBQXlCO0lBTHRDO1FBUWEsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNoQix1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztJQUNwRSxDQUFDOzs7WUFWQSxTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHVCQUF1QjtnQkFDakMsODZCQUFpRDs7YUFFcEQ7OztrQ0FFSSxLQUFLO3FDQUNMLEtBQUs7dUJBQ0wsS0FBSztpQ0FDTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IExhbmd1YWdlQ29kZSB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1sYW5ndWFnZS1zZWxlY3RvcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGFuZ3VhZ2Utc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vbGFuZ3VhZ2Utc2VsZWN0b3IuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIExhbmd1YWdlU2VsZWN0b3JDb21wb25lbnQge1xyXG4gICAgQElucHV0KCkgY3VycmVudExhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xyXG4gICAgQElucHV0KCkgYXZhaWxhYmxlTGFuZ3VhZ2VDb2RlczogTGFuZ3VhZ2VDb2RlW107XHJcbiAgICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgQE91dHB1dCgpIGxhbmd1YWdlQ29kZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TGFuZ3VhZ2VDb2RlPigpO1xyXG59XHJcbiJdfQ==
@@ -18,6 +18,7 @@ export class OrderStateLabelComponent {
18
18
  case 'Delivered':
19
19
  return 'success';
20
20
  case 'Cancelled':
21
+ case 'Draft':
21
22
  return 'error';
22
23
  case 'PaymentAuthorized':
23
24
  case 'PaymentSettled':
@@ -40,4 +41,4 @@ OrderStateLabelComponent.decorators = [
40
41
  OrderStateLabelComponent.propDecorators = {
41
42
  state: [{ type: Input }]
42
43
  };
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItc3RhdGUtbGFiZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvY29tcG9uZW50cy9vcmRlci1zdGF0ZS1sYWJlbC9vcmRlci1zdGF0ZS1sYWJlbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUU7Ozs7Ozs7OztHQVNHO0FBT0gsTUFBTSxPQUFPLHdCQUF3QjtJQUdqQyxJQUFJLGFBQWE7UUFDYixRQUFRLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDaEIsS0FBSyxhQUFhLENBQUM7WUFDbkIsS0FBSyxrQkFBa0I7Z0JBQ25CLE9BQU8sRUFBRSxDQUFDO1lBQ2QsS0FBSyxXQUFXO2dCQUNaLE9BQU8sU0FBUyxDQUFDO1lBQ3JCLEtBQUssV0FBVztnQkFDWixPQUFPLE9BQU8sQ0FBQztZQUNuQixLQUFLLG1CQUFtQixDQUFDO1lBQ3pCLEtBQUssZ0JBQWdCLENBQUM7WUFDdEIsS0FBSyxvQkFBb0IsQ0FBQztZQUMxQixLQUFLLGtCQUFrQixDQUFDO1lBQ3hCLEtBQUssU0FBUyxDQUFDO1lBQ2Y7Z0JBQ0ksT0FBTyxTQUFTLENBQUM7U0FDeEI7SUFDTCxDQUFDOzs7WUExQkosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLG9kQUFpRDtnQkFFakQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2xEOzs7b0JBRUksS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIERpc3BsYXlzIHRoZSBzdGF0ZSBvZiBhbiBvcmRlciBpbiBhIGNvbG9yZWQgY2hpcC5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgSFRNTFxyXG4gKiA8dmRyLW9yZGVyLXN0YXRlLWxhYmVsIFtzdGF0ZV09XCJvcmRlci5zdGF0ZVwiPjwvdmRyLW9yZGVyLXN0YXRlLWxhYmVsPlxyXG4gKiBgYGBcclxuICogQGRvY3NDYXRlZ29yeSBjb21wb25lbnRzXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLW9yZGVyLXN0YXRlLWxhYmVsJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9vcmRlci1zdGF0ZS1sYWJlbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9vcmRlci1zdGF0ZS1sYWJlbC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPcmRlclN0YXRlTGFiZWxDb21wb25lbnQge1xyXG4gICAgQElucHV0KCkgc3RhdGU6IHN0cmluZztcclxuXHJcbiAgICBnZXQgY2hpcENvbG9yVHlwZSgpIHtcclxuICAgICAgICBzd2l0Y2ggKHRoaXMuc3RhdGUpIHtcclxuICAgICAgICAgICAgY2FzZSAnQWRkaW5nSXRlbXMnOlxyXG4gICAgICAgICAgICBjYXNlICdBcnJhbmdpbmdQYXltZW50JzpcclxuICAgICAgICAgICAgICAgIHJldHVybiAnJztcclxuICAgICAgICAgICAgY2FzZSAnRGVsaXZlcmVkJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiAnc3VjY2Vzcyc7XHJcbiAgICAgICAgICAgIGNhc2UgJ0NhbmNlbGxlZCc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2Vycm9yJztcclxuICAgICAgICAgICAgY2FzZSAnUGF5bWVudEF1dGhvcml6ZWQnOlxyXG4gICAgICAgICAgICBjYXNlICdQYXltZW50U2V0dGxlZCc6XHJcbiAgICAgICAgICAgIGNhc2UgJ1BhcnRpYWxseURlbGl2ZXJlZCc6XHJcbiAgICAgICAgICAgIGNhc2UgJ1BhcnRpYWxseVNoaXBwZWQnOlxyXG4gICAgICAgICAgICBjYXNlICdTaGlwcGVkJzpcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIHJldHVybiAnd2FybmluZyc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItc3RhdGUtbGFiZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvY29tcG9uZW50cy9vcmRlci1zdGF0ZS1sYWJlbC9vcmRlci1zdGF0ZS1sYWJlbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUU7Ozs7Ozs7OztHQVNHO0FBT0gsTUFBTSxPQUFPLHdCQUF3QjtJQUdqQyxJQUFJLGFBQWE7UUFDYixRQUFRLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDaEIsS0FBSyxhQUFhLENBQUM7WUFDbkIsS0FBSyxrQkFBa0I7Z0JBQ25CLE9BQU8sRUFBRSxDQUFDO1lBQ2QsS0FBSyxXQUFXO2dCQUNaLE9BQU8sU0FBUyxDQUFDO1lBQ3JCLEtBQUssV0FBVyxDQUFDO1lBQ2pCLEtBQUssT0FBTztnQkFDUixPQUFPLE9BQU8sQ0FBQztZQUNuQixLQUFLLG1CQUFtQixDQUFDO1lBQ3pCLEtBQUssZ0JBQWdCLENBQUM7WUFDdEIsS0FBSyxvQkFBb0IsQ0FBQztZQUMxQixLQUFLLGtCQUFrQixDQUFDO1lBQ3hCLEtBQUssU0FBUyxDQUFDO1lBQ2Y7Z0JBQ0ksT0FBTyxTQUFTLENBQUM7U0FDeEI7SUFDTCxDQUFDOzs7WUEzQkosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLG9kQUFpRDtnQkFFakQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2xEOzs7b0JBRUksS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIERpc3BsYXlzIHRoZSBzdGF0ZSBvZiBhbiBvcmRlciBpbiBhIGNvbG9yZWQgY2hpcC5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgSFRNTFxyXG4gKiA8dmRyLW9yZGVyLXN0YXRlLWxhYmVsIFtzdGF0ZV09XCJvcmRlci5zdGF0ZVwiPjwvdmRyLW9yZGVyLXN0YXRlLWxhYmVsPlxyXG4gKiBgYGBcclxuICogQGRvY3NDYXRlZ29yeSBjb21wb25lbnRzXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLW9yZGVyLXN0YXRlLWxhYmVsJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9vcmRlci1zdGF0ZS1sYWJlbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9vcmRlci1zdGF0ZS1sYWJlbC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPcmRlclN0YXRlTGFiZWxDb21wb25lbnQge1xyXG4gICAgQElucHV0KCkgc3RhdGU6IHN0cmluZztcclxuXHJcbiAgICBnZXQgY2hpcENvbG9yVHlwZSgpIHtcclxuICAgICAgICBzd2l0Y2ggKHRoaXMuc3RhdGUpIHtcclxuICAgICAgICAgICAgY2FzZSAnQWRkaW5nSXRlbXMnOlxyXG4gICAgICAgICAgICBjYXNlICdBcnJhbmdpbmdQYXltZW50JzpcclxuICAgICAgICAgICAgICAgIHJldHVybiAnJztcclxuICAgICAgICAgICAgY2FzZSAnRGVsaXZlcmVkJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiAnc3VjY2Vzcyc7XHJcbiAgICAgICAgICAgIGNhc2UgJ0NhbmNlbGxlZCc6XHJcbiAgICAgICAgICAgIGNhc2UgJ0RyYWZ0JzpcclxuICAgICAgICAgICAgICAgIHJldHVybiAnZXJyb3InO1xyXG4gICAgICAgICAgICBjYXNlICdQYXltZW50QXV0aG9yaXplZCc6XHJcbiAgICAgICAgICAgIGNhc2UgJ1BheW1lbnRTZXR0bGVkJzpcclxuICAgICAgICAgICAgY2FzZSAnUGFydGlhbGx5RGVsaXZlcmVkJzpcclxuICAgICAgICAgICAgY2FzZSAnUGFydGlhbGx5U2hpcHBlZCc6XHJcbiAgICAgICAgICAgIGNhc2UgJ1NoaXBwZWQnOlxyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICd3YXJuaW5nJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -91,7 +91,7 @@ ProductSearchInputComponent.decorators = [
91
91
  template: "<ng-select\r\n [addTag]=\"addTagFn\"\r\n [placeholder]=\"'catalog.search-product-name-or-code' | translate\"\r\n [items]=\"facetValueResults\"\r\n [searchFn]=\"filterFacetResults\"\r\n [hideSelected]=\"true\"\r\n [multiple]=\"true\"\r\n [markFirst]=\"false\"\r\n (change)=\"onSelectChange($event)\"\r\n #selectComponent\r\n>\r\n <ng-template ng-header-tmp>\r\n <div\r\n class=\"search-header\"\r\n *ngIf=\"selectComponent.searchTerm\"\r\n [class.selected]=\"isSearchHeaderSelected()\"\r\n (click)=\"selectComponent.selectTag()\"\r\n >\r\n {{ 'catalog.search-for-term' | translate }}: {{ selectComponent.searchTerm }}\r\n </div>\r\n </ng-template>\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <ng-container *ngIf=\"item.facetValue\">\r\n <vdr-facet-value-chip\r\n [facetValue]=\"item.facetValue\"\r\n [removable]=\"true\"\r\n (remove)=\"clear(item)\"\r\n ></vdr-facet-value-chip>\r\n </ng-container>\r\n <ng-container *ngIf=\"!item.facetValue\">\r\n <vdr-chip [icon]=\"'times'\" (iconClick)=\"clear(item)\">\"{{ item.label }}\"</vdr-chip>\r\n </ng-container>\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\">\r\n <ng-container *ngIf=\"item.facetValue\">\r\n <vdr-facet-value-chip [facetValue]=\"item.facetValue\" [removable]=\"false\"></vdr-facet-value-chip>\r\n </ng-container>\r\n </ng-template>\r\n</ng-select>\r\n",
92
92
  changeDetection: ChangeDetectionStrategy.OnPush,
93
93
  providers: [{ provide: SELECTION_MODEL_FACTORY, useValue: ɵ0 }],
94
- styles: [":host{margin-top:6px;display:block;width:100%}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{background:none;margin:0}:host ::ng-deep .ng-dropdown-panel-items div.ng-option:last-child{display:none}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-header{border:none;padding:0}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding:0}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-left:8px}ng-select{width:100%;min-width:300px;margin-right:12px}.search-header{padding:8px 10px;border-bottom:1px solid var(--color-component-border-100);cursor:pointer}.search-header.selected,.search-header:hover{background-color:var(--color-component-bg-200)}\n"]
94
+ styles: [":host{margin-top:6px;display:block;width:100%}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{background:none;margin:0}:host ::ng-deep .ng-dropdown-panel-items div.ng-option:last-child{display:none}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-header{border:none;padding:0}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding:0}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-left:8px}ng-select{width:100%;margin-right:12px}.search-header{padding:8px 10px;border-bottom:1px solid var(--color-component-border-100);cursor:pointer}.search-header.selected,.search-header:hover{background-color:var(--color-component-bg-200)}\n"]
95
95
  },] }
96
96
  ];
97
97
  ProductSearchInputComponent.propDecorators = {
@@ -48,7 +48,7 @@ ProductSelectorComponent.decorators = [
48
48
  selector: 'vdr-product-selector',
49
49
  template: "<ng-select\r\n #autoComplete\r\n [items]=\"searchResults$ | async\"\r\n [addTag]=\"false\"\r\n [multiple]=\"false\"\r\n [hideSelected]=\"true\"\r\n [loading]=\"searchLoading\"\r\n [typeahead]=\"searchInput$\"\r\n [appendTo]=\"'body'\"\r\n [placeholder]=\"'settings.search-by-product-name-or-sku' | translate\"\r\n (change)=\"selectResult($event)\"\r\n>\r\n <ng-template ng-option-tmp let-item=\"item\">\r\n <img [src]=\"item.productAsset | assetPreview: 32\">\r\n {{ item.productVariantName }}\r\n <small class=\"sku\">{{ item.sku }}</small>\r\n </ng-template>\r\n</ng-select>\r\n",
50
50
  changeDetection: ChangeDetectionStrategy.OnPush,
51
- styles: [":host{display:block}.sku{margin-left:12px;color:var(--color-grey-500)}\n"]
51
+ styles: [":host{display:block}.sku{margin-left:12px;color:var(--color-grey-500)}img{border-radius:var(--border-radius-img)}\n"]
52
52
  },] }
53
53
  ];
54
54
  ProductSelectorComponent.ctorParameters = () => [
@@ -0,0 +1,57 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output, } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { throttleTime } from 'rxjs/operators';
4
+ export class RadioCardFieldsetComponent {
5
+ constructor(changeDetector) {
6
+ this.changeDetector = changeDetector;
7
+ this.selectItem = new EventEmitter();
8
+ this.groupName = 'radio-group-' + Math.random().toString(36);
9
+ this.selectedIdChange$ = new Subject();
10
+ this.focussedId = undefined;
11
+ this.idChange$ = new Subject();
12
+ }
13
+ ngOnInit() {
14
+ this.subscription = this.idChange$
15
+ .pipe(throttleTime(200))
16
+ .subscribe(item => this.selectItem.emit(item));
17
+ }
18
+ ngOnChanges(changes) {
19
+ if ('selectedItemId' in changes) {
20
+ this.selectedIdChange$.next(this.selectedItemId);
21
+ }
22
+ }
23
+ ngOnDestroy() {
24
+ if (this.subscription) {
25
+ this.subscription.unsubscribe();
26
+ }
27
+ }
28
+ isSelected(item) {
29
+ return this.selectedItemId === this.idFn(item);
30
+ }
31
+ isFocussed(item) {
32
+ return this.focussedId === this.idFn(item);
33
+ }
34
+ selectChanged(item) {
35
+ this.idChange$.next(item);
36
+ }
37
+ setFocussedId(item) {
38
+ this.focussedId = item && this.idFn(item);
39
+ }
40
+ }
41
+ RadioCardFieldsetComponent.decorators = [
42
+ { type: Component, args: [{
43
+ selector: 'vdr-radio-card-fieldset',
44
+ template: `<fieldset><ng-content></ng-content></fieldset> `,
45
+ changeDetection: ChangeDetectionStrategy.OnPush,
46
+ styles: ["fieldset{display:flex;align-items:flex-start}\n"]
47
+ },] }
48
+ ];
49
+ RadioCardFieldsetComponent.ctorParameters = () => [
50
+ { type: ChangeDetectorRef }
51
+ ];
52
+ RadioCardFieldsetComponent.propDecorators = {
53
+ selectedItemId: [{ type: Input }],
54
+ idFn: [{ type: Input }],
55
+ selectItem: [{ type: Output }]
56
+ };
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tY2FyZC1maWVsZHNldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL3JhZGlvLWNhcmQvcmFkaW8tY2FyZC1maWVsZHNldC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBSUwsTUFBTSxHQUdULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBZ0IsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFRNUQsTUFBTSxPQUFPLDBCQUEwQjtJQVVuQyxZQUFvQixjQUFpQztRQUFqQyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFQM0MsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFLLENBQUM7UUFDN0MsY0FBUyxHQUFHLGNBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELHNCQUFpQixHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFDMUMsZUFBVSxHQUF1QixTQUFTLENBQUM7UUFDbkMsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFLLENBQUM7SUFHbUIsQ0FBQztJQUV6RCxRQUFRO1FBQ0osSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUzthQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3ZCLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLGdCQUFnQixJQUFJLE9BQU8sRUFBRTtZQUM3QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUNwRDtJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDbkM7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQU87UUFDZCxPQUFPLElBQUksQ0FBQyxjQUFjLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQU87UUFDZCxPQUFPLElBQUksQ0FBQyxVQUFVLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQU87UUFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFtQjtRQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlDLENBQUM7OztZQWxESixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHlCQUF5QjtnQkFDbkMsUUFBUSxFQUFFLGlEQUFpRDtnQkFFM0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2xEOzs7WUFwQkcsaUJBQWlCOzs7NkJBc0JoQixLQUFLO21CQUNMLEtBQUs7eUJBQ0wsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgQ29udGVudENoaWxkLFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkNoYW5nZXMsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBPbkluaXQsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBTaW1wbGVDaGFuZ2VzLFxyXG4gICAgVGVtcGxhdGVSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRocm90dGxlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItcmFkaW8tY2FyZC1maWVsZHNldCcsXHJcbiAgICB0ZW1wbGF0ZTogYDxmaWVsZHNldD48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9maWVsZHNldD4gYCxcclxuICAgIHN0eWxlVXJsczogWydyYWRpby1jYXJkLWZpZWxkc2V0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJhZGlvQ2FyZEZpZWxkc2V0Q29tcG9uZW50PFQgPSBhbnk+IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcbiAgICBASW5wdXQoKSBzZWxlY3RlZEl0ZW1JZDogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgaWRGbjogKGl0ZW06IFQpID0+IHN0cmluZztcclxuICAgIEBPdXRwdXQoKSBzZWxlY3RJdGVtID0gbmV3IEV2ZW50RW1pdHRlcjxUPigpO1xyXG4gICAgZ3JvdXBOYW1lID0gJ3JhZGlvLWdyb3VwLScgKyBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KTtcclxuICAgIHNlbGVjdGVkSWRDaGFuZ2UkID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG4gICAgZm9jdXNzZWRJZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xyXG4gICAgcHJpdmF0ZSBpZENoYW5nZSQgPSBuZXcgU3ViamVjdDxUPigpO1xyXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge31cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuaWRDaGFuZ2UkXHJcbiAgICAgICAgICAgIC5waXBlKHRocm90dGxlVGltZSgyMDApKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGl0ZW0gPT4gdGhpcy5zZWxlY3RJdGVtLmVtaXQoaXRlbSkpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgICAgICBpZiAoJ3NlbGVjdGVkSXRlbUlkJyBpbiBjaGFuZ2VzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJZENoYW5nZSQubmV4dCh0aGlzLnNlbGVjdGVkSXRlbUlkKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlzU2VsZWN0ZWQoaXRlbTogVCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkSXRlbUlkID09PSB0aGlzLmlkRm4oaXRlbSk7XHJcbiAgICB9XHJcblxyXG4gICAgaXNGb2N1c3NlZChpdGVtOiBUKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9jdXNzZWRJZCA9PT0gdGhpcy5pZEZuKGl0ZW0pO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdENoYW5nZWQoaXRlbTogVCkge1xyXG4gICAgICAgIHRoaXMuaWRDaGFuZ2UkLm5leHQoaXRlbSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0Rm9jdXNzZWRJZChpdGVtOiBUIHwgdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdGhpcy5mb2N1c3NlZElkID0gaXRlbSAmJiB0aGlzLmlkRm4oaXRlbSk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,54 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, Input, TemplateRef, } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { RadioCardFieldsetComponent } from './radio-card-fieldset.component';
4
+ export class RadioCardComponent {
5
+ constructor(fieldset, changeDetector) {
6
+ this.fieldset = fieldset;
7
+ this.changeDetector = changeDetector;
8
+ this.idChange$ = new Subject();
9
+ this.name = this.fieldset.groupName;
10
+ }
11
+ ngOnInit() {
12
+ this.subscription = this.fieldset.selectedIdChange$.subscribe(id => {
13
+ this.changeDetector.markForCheck();
14
+ });
15
+ }
16
+ ngOnDestroy() {
17
+ if (this.subscription) {
18
+ this.subscription.unsubscribe();
19
+ }
20
+ }
21
+ isSelected(item) {
22
+ return this.fieldset.isSelected(item);
23
+ }
24
+ isFocussed(item) {
25
+ return this.fieldset.isFocussed(item);
26
+ }
27
+ selectChanged(item) {
28
+ this.fieldset.selectChanged(item);
29
+ }
30
+ setFocussedId(item) {
31
+ this.fieldset.setFocussedId(item);
32
+ }
33
+ getItemId(item) {
34
+ return this.fieldset.idFn(item);
35
+ }
36
+ }
37
+ RadioCardComponent.decorators = [
38
+ { type: Component, args: [{
39
+ selector: 'vdr-radio-card',
40
+ template: "<label\r\n [ngClass]=\"{\r\n 'selected': isSelected(item),\r\n 'focussed': isFocussed(item)\r\n }\"\r\n class=\"radio-card\"\r\n>\r\n <input\r\n type=\"radio\"\r\n [name]=\"name\"\r\n [value]=\"getItemId(item)\"\r\n class=\"hidden\"\r\n (focus)=\"setFocussedId(item)\"\r\n (blur)=\"setFocussedId(undefined)\"\r\n (change)=\"selectChanged(item)\"\r\n />\r\n <vdr-select-toggle [selected]=\"isSelected(item)\" size=\"small\"></vdr-select-toggle>\r\n <div class=\"content\">\r\n <ng-content></ng-content>\r\n </div>\r\n</label>\r\n",
41
+ exportAs: 'VdrRadioCard',
42
+ changeDetection: ChangeDetectionStrategy.OnPush,
43
+ styles: [":host{display:inline-block}.radio-card{background:none;position:relative;display:block;border:1px solid var(--clr-btn-default-border-color, #0072a3);border-radius:var(--clr-btn-border-radius, .15rem);padding:6px;text-align:left;margin:6px}.radio-card:hover{cursor:pointer;outline:1px solid var(--color-primary-500)}.radio-card.selected{outline:1px solid var(--color-primary-500);background-color:var(--color-primary-100)}input.hidden{visibility:hidden;position:absolute}vdr-select-toggle{position:absolute;top:3px;left:3px}.content{margin-left:24px}\n"]
44
+ },] }
45
+ ];
46
+ RadioCardComponent.ctorParameters = () => [
47
+ { type: RadioCardFieldsetComponent },
48
+ { type: ChangeDetectorRef }
49
+ ];
50
+ RadioCardComponent.propDecorators = {
51
+ item: [{ type: Input }],
52
+ itemTemplate: [{ type: ContentChild, args: [TemplateRef,] }]
53
+ };
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL3JhZGlvLWNhcmQvcmFkaW8tY2FyZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsV0FBVyxHQUNkLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBRTdDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBUzdFLE1BQU0sT0FBTyxrQkFBa0I7SUFJM0IsWUFBb0IsUUFBb0MsRUFBVSxjQUFpQztRQUEvRSxhQUFRLEdBQVIsUUFBUSxDQUE0QjtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUUzRixjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQUssQ0FBQztRQUVyQyxTQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7SUFKdUUsQ0FBQztJQU12RyxRQUFRO1FBQ0osSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUMvRCxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNuQztJQUNMLENBQUM7SUFFRCxVQUFVLENBQUMsSUFBTztRQUNkLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQU87UUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFtQjtRQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsU0FBUyxDQUFDLElBQU87UUFDYixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7OztZQS9DSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsMG5CQUEwQztnQkFFMUMsUUFBUSxFQUFFLGNBQWM7Z0JBQ3hCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNsRDs7O1lBUlEsMEJBQTBCO1lBVi9CLGlCQUFpQjs7O21CQW9CaEIsS0FBSzsyQkFDTCxZQUFZLFNBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgQ29udGVudENoaWxkLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBPbkluaXQsXHJcbiAgICBUZW1wbGF0ZVJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBSYWRpb0NhcmRGaWVsZHNldENvbXBvbmVudCB9IGZyb20gJy4vcmFkaW8tY2FyZC1maWVsZHNldC5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1yYWRpby1jYXJkJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9yYWRpby1jYXJkLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3JhZGlvLWNhcmQuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGV4cG9ydEFzOiAnVmRyUmFkaW9DYXJkJyxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmFkaW9DYXJkQ29tcG9uZW50PFQgPSBhbnk+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgQElucHV0KCkgaXRlbTogVDtcclxuICAgIEBDb250ZW50Q2hpbGQoVGVtcGxhdGVSZWYpIGl0ZW1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8VD47XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBmaWVsZHNldDogUmFkaW9DYXJkRmllbGRzZXRDb21wb25lbnQsIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKSB7fVxyXG5cclxuICAgIHByaXZhdGUgaWRDaGFuZ2UkID0gbmV3IFN1YmplY3Q8VD4oKTtcclxuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgICBuYW1lID0gdGhpcy5maWVsZHNldC5ncm91cE5hbWU7XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmZpZWxkc2V0LnNlbGVjdGVkSWRDaGFuZ2UkLnN1YnNjcmliZShpZCA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlzU2VsZWN0ZWQoaXRlbTogVCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZpZWxkc2V0LmlzU2VsZWN0ZWQoaXRlbSk7XHJcbiAgICB9XHJcblxyXG4gICAgaXNGb2N1c3NlZChpdGVtOiBUKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZmllbGRzZXQuaXNGb2N1c3NlZChpdGVtKTtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3RDaGFuZ2VkKGl0ZW06IFQpIHtcclxuICAgICAgICB0aGlzLmZpZWxkc2V0LnNlbGVjdENoYW5nZWQoaXRlbSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0Rm9jdXNzZWRJZChpdGVtOiBUIHwgdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdGhpcy5maWVsZHNldC5zZXRGb2N1c3NlZElkKGl0ZW0pO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEl0ZW1JZChpdGVtOiBUKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5maWVsZHNldC5pZEZuKGl0ZW0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -24,9 +24,9 @@ export class ExternalImageDialogComponent {
24
24
  ExternalImageDialogComponent.decorators = [
25
25
  { type: Component, args: [{
26
26
  selector: 'vdr-external-image-dialog',
27
- template: "<div class=\"flex\">\r\n <form [formGroup]=\"form\" class=\"flex-spacer\" clrForm clrLayout=\"vertical\">\r\n <clr-input-container class=\"expand\">\r\n <label>{{ 'editor.image-src' | translate }}</label>\r\n <input clrInput type=\"text\" formControlName=\"src\" />\r\n </clr-input-container>\r\n <clr-input-container class=\"expand\">\r\n <label>{{ 'editor.image-title' | translate }}</label>\r\n <input clrInput type=\"text\" formControlName=\"title\" />\r\n </clr-input-container>\r\n <clr-input-container class=\"expand\">\r\n <label>{{ 'editor.image-alt' | translate }}</label>\r\n <input clrInput type=\"text\" formControlName=\"alt\" />\r\n </clr-input-container>\r\n </form>\r\n <div class=\"preview\">\r\n <img\r\n [src]=\"form.get('src')?.value\"\r\n [class.visible]=\"previewLoaded\"\r\n (load)=\"onImageLoad($event)\"\r\n (error)=\"onImageError($event)\"\r\n />\r\n <div class=\"placeholder\" *ngIf=\"!previewLoaded\">\r\n <clr-icon shape=\"image\" size=\"128\"></clr-icon>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template vdrDialogButtons>\r\n <button type=\"submit\" (click)=\"select()\" class=\"btn btn-primary\" [disabled]=\"form.invalid || !previewLoaded\">\r\n {{ 'editor.insert-image' | translate }}\r\n </button>\r\n</ng-template>\r\n",
27
+ template: "<div class=\"flex\">\r\n <form [formGroup]=\"form\" class=\"flex-spacer\" clrForm clrLayout=\"vertical\">\r\n <clr-input-container class=\"expand\">\r\n <label>{{ 'editor.image-src' | translate }}</label>\r\n <input clrInput type=\"text\" formControlName=\"src\" />\r\n </clr-input-container>\r\n <clr-input-container class=\"expand\">\r\n <label>{{ 'editor.image-title' | translate }}</label>\r\n <input clrInput type=\"text\" formControlName=\"title\" />\r\n </clr-input-container>\r\n <clr-input-container class=\"expand\">\r\n <label>{{ 'editor.image-alt' | translate }}</label>\r\n <input clrInput type=\"text\" formControlName=\"alt\" />\r\n </clr-input-container>\r\n </form>\r\n <div class=\"preview\">\r\n <img\r\n [src]=\"form.get('src')?.value\"\r\n [class.visible]=\"previewLoaded\"\r\n (load)=\"onImageLoad($event)\"\r\n (error)=\"onImageError($event)\"\r\n />\r\n <div class=\"placeholder\" *ngIf=\"!previewLoaded\">\r\n <clr-icon shape=\"image\" size=\"128\"></clr-icon>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template vdrDialogButtons>\r\n <button type=\"submit\" (click)=\"select()\" class=\"btn btn-primary\" [disabled]=\"form.invalid || !previewLoaded\">\r\n <ng-container *ngIf=\"existing; else doesNotExist\">{{ 'common.update' | translate }}</ng-container>\r\n <ng-template #doesNotExist>{{ 'editor.insert-image' | translate }}</ng-template>\r\n </button>\r\n</ng-template>\r\n",
28
28
  changeDetection: ChangeDetectionStrategy.OnPush,
29
29
  styles: [".preview{display:flex;align-items:center;justify-content:center;max-width:150px;margin-left:12px}.preview img{max-width:100%;display:none}.preview img.visible{display:block}.preview .placeholder{color:var(--color-grey-300)}\n"]
30
30
  },] }
31
31
  ];
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwtaW1hZ2UtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2NvbXBvbmVudHMvcmljaC10ZXh0LWVkaXRvci9leHRlcm5hbC1pbWFnZS1kaWFsb2cvZXh0ZXJuYWwtaW1hZ2UtZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBZ0JwRSxNQUFNLE9BQU8sNEJBQTRCO0lBTnpDO1FBVUksa0JBQWEsR0FBRyxLQUFLLENBQUM7SUFzQjFCLENBQUM7SUFuQkcsUUFBUTtRQUNKLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxTQUFTLENBQUM7WUFDdEIsR0FBRyxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNqRixLQUFLLEVBQUUsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNoRSxHQUFHLEVBQUUsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztTQUMvRCxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsTUFBTTtRQUNGLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVk7UUFDcEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFDOUIsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFZO1FBQ3JCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7OztZQS9CSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLDJCQUEyQjtnQkFDckMsNjhDQUFxRDtnQkFFckQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBEaWFsb2cgfSBmcm9tICcuLi8uLi8uLi8uLi9wcm92aWRlcnMvbW9kYWwvbW9kYWwuc2VydmljZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEV4dGVybmFsSW1hZ2VBdHRycyB7XHJcbiAgICBzcmM6IHN0cmluZztcclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICBhbHQ6IHN0cmluZztcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1leHRlcm5hbC1pbWFnZS1kaWFsb2cnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V4dGVybmFsLWltYWdlLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9leHRlcm5hbC1pbWFnZS1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXh0ZXJuYWxJbWFnZURpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgRGlhbG9nPEV4dGVybmFsSW1hZ2VBdHRycz4ge1xyXG4gICAgZm9ybTogRm9ybUdyb3VwO1xyXG5cclxuICAgIHJlc29sdmVXaXRoOiAocmVzdWx0PzogRXh0ZXJuYWxJbWFnZUF0dHJzKSA9PiB2b2lkO1xyXG4gICAgcHJldmlld0xvYWRlZCA9IGZhbHNlO1xyXG4gICAgZXhpc3Rpbmc/OiBFeHRlcm5hbEltYWdlQXR0cnM7XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5mb3JtID0gbmV3IEZvcm1Hcm91cCh7XHJcbiAgICAgICAgICAgIHNyYzogbmV3IEZvcm1Db250cm9sKHRoaXMuZXhpc3RpbmcgPyB0aGlzLmV4aXN0aW5nLnNyYyA6ICcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgICAgICAgICAgdGl0bGU6IG5ldyBGb3JtQ29udHJvbCh0aGlzLmV4aXN0aW5nID8gdGhpcy5leGlzdGluZy50aXRsZSA6ICcnKSxcclxuICAgICAgICAgICAgYWx0OiBuZXcgRm9ybUNvbnRyb2wodGhpcy5leGlzdGluZyA/IHRoaXMuZXhpc3RpbmcuYWx0IDogJycpLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdCgpIHtcclxuICAgICAgICB0aGlzLnJlc29sdmVXaXRoKHRoaXMuZm9ybS52YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25JbWFnZUxvYWQoZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICAgICAgdGhpcy5wcmV2aWV3TG9hZGVkID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBvbkltYWdlRXJyb3IoZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICAgICAgdGhpcy5wcmV2aWV3TG9hZGVkID0gZmFsc2U7XHJcbiAgICB9XHJcbn1cclxuIl19
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwtaW1hZ2UtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2NvbXBvbmVudHMvcmljaC10ZXh0LWVkaXRvci9leHRlcm5hbC1pbWFnZS1kaWFsb2cvZXh0ZXJuYWwtaW1hZ2UtZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBZ0JwRSxNQUFNLE9BQU8sNEJBQTRCO0lBTnpDO1FBVUksa0JBQWEsR0FBRyxLQUFLLENBQUM7SUFzQjFCLENBQUM7SUFuQkcsUUFBUTtRQUNKLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxTQUFTLENBQUM7WUFDdEIsR0FBRyxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNqRixLQUFLLEVBQUUsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNoRSxHQUFHLEVBQUUsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztTQUMvRCxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsTUFBTTtRQUNGLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVk7UUFDcEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFDOUIsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFZO1FBQ3JCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7OztZQS9CSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLDJCQUEyQjtnQkFDckMsc21EQUFxRDtnQkFFckQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBEaWFsb2cgfSBmcm9tICcuLi8uLi8uLi8uLi9wcm92aWRlcnMvbW9kYWwvbW9kYWwuc2VydmljZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEV4dGVybmFsSW1hZ2VBdHRycyB7XHJcbiAgICBzcmM6IHN0cmluZztcclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICBhbHQ6IHN0cmluZztcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1leHRlcm5hbC1pbWFnZS1kaWFsb2cnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V4dGVybmFsLWltYWdlLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9leHRlcm5hbC1pbWFnZS1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXh0ZXJuYWxJbWFnZURpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgRGlhbG9nPEV4dGVybmFsSW1hZ2VBdHRycz4ge1xyXG4gICAgZm9ybTogRm9ybUdyb3VwO1xyXG5cclxuICAgIHJlc29sdmVXaXRoOiAocmVzdWx0PzogRXh0ZXJuYWxJbWFnZUF0dHJzKSA9PiB2b2lkO1xyXG4gICAgcHJldmlld0xvYWRlZCA9IGZhbHNlO1xyXG4gICAgZXhpc3Rpbmc/OiBFeHRlcm5hbEltYWdlQXR0cnM7XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5mb3JtID0gbmV3IEZvcm1Hcm91cCh7XHJcbiAgICAgICAgICAgIHNyYzogbmV3IEZvcm1Db250cm9sKHRoaXMuZXhpc3RpbmcgPyB0aGlzLmV4aXN0aW5nLnNyYyA6ICcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgICAgICAgICAgdGl0bGU6IG5ldyBGb3JtQ29udHJvbCh0aGlzLmV4aXN0aW5nID8gdGhpcy5leGlzdGluZy50aXRsZSA6ICcnKSxcclxuICAgICAgICAgICAgYWx0OiBuZXcgRm9ybUNvbnRyb2wodGhpcy5leGlzdGluZyA/IHRoaXMuZXhpc3RpbmcuYWx0IDogJycpLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdCgpIHtcclxuICAgICAgICB0aGlzLnJlc29sdmVXaXRoKHRoaXMuZm9ybS52YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25JbWFnZUxvYWQoZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICAgICAgdGhpcy5wcmV2aWV3TG9hZGVkID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBvbkltYWdlRXJyb3IoZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICAgICAgdGhpcy5wcmV2aWV3TG9hZGVkID0gZmFsc2U7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,140 @@
1
+ import { Overlay } from '@angular/cdk/overlay';
2
+ import { TemplatePortal } from '@angular/cdk/portal';
3
+ import { ChangeDetectionStrategy, Component, Input, ViewChild, ViewContainerRef, } from '@angular/core';
4
+ import { BehaviorSubject } from 'rxjs';
5
+ import { distinctUntilChanged } from 'rxjs/operators';
6
+ import { ContextMenuService } from './context-menu.service';
7
+ export class ContextMenuComponent {
8
+ constructor(overlay, viewContainerRef, contextMenuService) {
9
+ this.overlay = overlay;
10
+ this.viewContainerRef = viewContainerRef;
11
+ this.contextMenuService = contextMenuService;
12
+ this.triggerIsHidden = new BehaviorSubject(false);
13
+ this.onScroll = () => {
14
+ var _a;
15
+ if ((_a = this.overlayRef) === null || _a === void 0 ? void 0 : _a.hasAttached()) {
16
+ this.overlayRef.updatePosition();
17
+ }
18
+ };
19
+ }
20
+ ngAfterViewInit() {
21
+ var _a;
22
+ this.contentArea = document.querySelector('.content-area');
23
+ this.menuPortal = new TemplatePortal(this.menuTemplate, this.viewContainerRef);
24
+ this.hideTrigger$ = this.triggerIsHidden.asObservable().pipe(distinctUntilChanged());
25
+ (_a = this.contentArea) === null || _a === void 0 ? void 0 : _a.addEventListener('scroll', this.onScroll, { passive: true });
26
+ this.contextMenuSub = this.contextMenuService.contextMenu$.subscribe(contextMenuConfig => {
27
+ var _a, _b, _c;
28
+ (_a = this.overlayRef) === null || _a === void 0 ? void 0 : _a.dispose();
29
+ this.menuConfig = contextMenuConfig;
30
+ if (contextMenuConfig) {
31
+ this.overlayRef = this.overlay.create({
32
+ hasBackdrop: false,
33
+ positionStrategy: this.getPositionStrategy(contextMenuConfig.element),
34
+ maxHeight: '70vh',
35
+ });
36
+ this.overlayRef.attach(this.menuPortal);
37
+ this.triggerIsHidden.next(false);
38
+ const triggerButton = this.overlayRef.hostElement.querySelector('.context-menu-trigger');
39
+ const editorMenu = this.editorMenuElement;
40
+ if (triggerButton) {
41
+ const overlapMarginPx = 5;
42
+ this.hideTriggerHandler = () => {
43
+ if (editorMenu && triggerButton) {
44
+ if (triggerButton.getBoundingClientRect().top + overlapMarginPx <
45
+ editorMenu.getBoundingClientRect().bottom) {
46
+ this.triggerIsHidden.next(true);
47
+ }
48
+ else {
49
+ this.triggerIsHidden.next(false);
50
+ }
51
+ }
52
+ };
53
+ (_b = this.contentArea) === null || _b === void 0 ? void 0 : _b.addEventListener('scroll', this.hideTriggerHandler, { passive: true });
54
+ requestAnimationFrame(() => { var _a; return (_a = this.hideTriggerHandler) === null || _a === void 0 ? void 0 : _a.call(this); });
55
+ }
56
+ }
57
+ else {
58
+ if (this.hideTriggerHandler) {
59
+ (_c = this.contentArea) === null || _c === void 0 ? void 0 : _c.removeEventListener('scroll', this.hideTriggerHandler);
60
+ }
61
+ }
62
+ });
63
+ }
64
+ triggerClick() {
65
+ this.contextMenuService.setVisibility(true);
66
+ }
67
+ ngOnDestroy() {
68
+ var _a, _b, _c, _d;
69
+ (_a = this.overlayRef) === null || _a === void 0 ? void 0 : _a.dispose();
70
+ (_b = this.contextMenuSub) === null || _b === void 0 ? void 0 : _b.unsubscribe();
71
+ (_c = this.contentArea) === null || _c === void 0 ? void 0 : _c.removeEventListener('scroll', this.onScroll);
72
+ if (this.hideTriggerHandler) {
73
+ (_d = this.contentArea) === null || _d === void 0 ? void 0 : _d.removeEventListener('scroll', this.hideTriggerHandler);
74
+ }
75
+ }
76
+ clickItem(item) {
77
+ item.onClick();
78
+ }
79
+ getPositionStrategy(element) {
80
+ const position = {
81
+ ['top-left']: {
82
+ originX: 'start',
83
+ originY: 'top',
84
+ overlayX: 'start',
85
+ overlayY: 'bottom',
86
+ },
87
+ ['top-right']: {
88
+ originX: 'end',
89
+ originY: 'top',
90
+ overlayX: 'end',
91
+ overlayY: 'bottom',
92
+ },
93
+ ['bottom-left']: {
94
+ originX: 'start',
95
+ originY: 'bottom',
96
+ overlayX: 'start',
97
+ overlayY: 'top',
98
+ },
99
+ ['bottom-right']: {
100
+ originX: 'end',
101
+ originY: 'bottom',
102
+ overlayX: 'end',
103
+ overlayY: 'top',
104
+ },
105
+ };
106
+ const pos = position['top-left'];
107
+ return this.overlay
108
+ .position()
109
+ .flexibleConnectedTo(element)
110
+ .withPositions([pos, this.invertPosition(pos)])
111
+ .withViewportMargin(0)
112
+ .withLockedPosition(false)
113
+ .withPush(false);
114
+ }
115
+ /** Inverts an overlay position. */
116
+ invertPosition(pos) {
117
+ const inverted = Object.assign({}, pos);
118
+ inverted.originY = pos.originY === 'top' ? 'bottom' : 'top';
119
+ inverted.overlayY = pos.overlayY === 'top' ? 'bottom' : 'top';
120
+ return inverted;
121
+ }
122
+ }
123
+ ContextMenuComponent.decorators = [
124
+ { type: Component, args: [{
125
+ selector: 'vdr-context-menu',
126
+ template: "<ng-template #contextMenu>\r\n <vdr-dropdown>\r\n <button class=\"context-menu-trigger\" vdrDropdownTrigger [class.hidden]=\"hideTrigger$ | async\" (click)=\"triggerClick()\">\r\n <clr-icon\r\n *ngIf=\"menuConfig?.iconShape as shape\"\r\n [attr.shape]=\"shape\"\r\n size=\"16\"\r\n class=\"mr2\"\r\n ></clr-icon>\r\n <span class=\"title-label\">{{ menuConfig?.title }}</span>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\" customClasses=\"context-menu\">\r\n <ng-container *ngFor=\"let item of menuConfig?.items\">\r\n <button\r\n class=\"context-menu-item\"\r\n *ngIf=\"item.enabled && item.separator !== true\"\r\n type=\"button\"\r\n (click)=\"clickItem(item)\"\r\n >\r\n <div *ngIf=\"item.iconClass\" class=\"cm-icon\" [ngClass]=\"item.iconClass\"></div>\r\n <clr-icon\r\n *ngIf=\"item.iconShape as shape\"\r\n [attr.shape]=\"shape\"\r\n size=\"16\"\r\n class=\"mr2\"\r\n ></clr-icon>\r\n {{ item.label }}\r\n </button>\r\n <div *ngIf=\"item.enabled && item.separator\" class=\"dropdown-divider\" role=\"separator\"></div>\r\n </ng-container>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n</ng-template>\r\n",
127
+ changeDetection: ChangeDetectionStrategy.OnPush,
128
+ styles: [".context-menu-trigger{margin:0;display:flex;align-items:center;border:1px solid var(--color-component-border-200);font-size:90%;color:var(--color-text-200);border-radius:var(--border-radius-input);background-color:var(--color-component-bg-100)}.title-label{padding-right:15px;position:relative}.title-label: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)}.context-menu-item{display:flex;align-items:center;width:100%;text-align:start;font-size:90%;color:var(--color-text-200);background-color:var(--color-component-bg-100);cursor:pointer;border:none}.context-menu-item:hover{background-color:var(--color-component-bg-200)}::ng-deep .dropdown-menu.context-menu{padding:0;background-color:var(--color-component-bg-100)}::ng-deep .context-menu-trigger{min-height:16px}::ng-deep .context-menu-trigger.hidden{visibility:hidden}::ng-deep .cm-icon.add-column{height:14px;width:4px;border:1px solid;margin:0 6px 0 8px;position:relative}::ng-deep .cm-icon.add-column:before{content:\"+\";position:absolute;font-size:16px;line-height:14px;left:-10px}::ng-deep .cm-icon.add-row{height:4px;width:14px;border:1px solid;margin:6px 4px 2px 0;position:relative}::ng-deep .cm-icon.add-row:before{content:\"+\";position:absolute;font-size:16px;line-height:14px;left:-2px;top:-10px}\n"]
129
+ },] }
130
+ ];
131
+ ContextMenuComponent.ctorParameters = () => [
132
+ { type: Overlay },
133
+ { type: ViewContainerRef },
134
+ { type: ContextMenuService }
135
+ ];
136
+ ContextMenuComponent.propDecorators = {
137
+ editorMenuElement: [{ type: Input }],
138
+ menuTemplate: [{ type: ViewChild, args: ['contextMenu', { static: true },] }]
139
+ };
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2NvbXBvbmVudHMvcmljaC10ZXh0LWVkaXRvci9wcm9zZW1pcnJvci9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLE9BQU8sRUFBZ0MsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUdMLFNBQVMsRUFDVCxnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBNEIsTUFBTSxNQUFNLENBQUM7QUFDakUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEQsT0FBTyxFQUFzQyxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBVWhHLE1BQU0sT0FBTyxvQkFBb0I7SUFhN0IsWUFDWSxPQUFnQixFQUNoQixnQkFBa0MsRUFDbkMsa0JBQXNDO1FBRnJDLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDaEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNuQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBVnpDLG9CQUFlLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFhOUQsYUFBUSxHQUFHLEdBQUcsRUFBRTs7WUFDWixJQUFJLE1BQUEsSUFBSSxDQUFDLFVBQVUsMENBQUUsV0FBVyxFQUFFLEVBQUU7Z0JBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLENBQUM7YUFDcEM7UUFDTCxDQUFDLENBQUM7SUFOQyxDQUFDO0lBUUosZUFBZTs7UUFDWCxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRS9FLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO1FBQ3JGLE1BQUEsSUFBSSxDQUFDLFdBQVcsMENBQUUsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUUvRSxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLEVBQUU7O1lBQ3JGLE1BQUEsSUFBSSxDQUFDLFVBQVUsMENBQUUsT0FBTyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQztZQUNwQyxJQUFJLGlCQUFpQixFQUFFO2dCQUNuQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO29CQUNsQyxXQUFXLEVBQUUsS0FBSztvQkFDbEIsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQztvQkFDckUsU0FBUyxFQUFFLE1BQU07aUJBQ3BCLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3hDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUVqQyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsdUJBQXVCLENBQUMsQ0FBQztnQkFDekYsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO2dCQUMxQyxJQUFJLGFBQWEsRUFBRTtvQkFDZixNQUFNLGVBQWUsR0FBRyxDQUFDLENBQUM7b0JBQzFCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxHQUFHLEVBQUU7d0JBQzNCLElBQUksVUFBVSxJQUFJLGFBQWEsRUFBRTs0QkFDN0IsSUFDSSxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxHQUFHLEdBQUcsZUFBZTtnQ0FDM0QsVUFBVSxDQUFDLHFCQUFxQixFQUFFLENBQUMsTUFBTSxFQUMzQztnQ0FDRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzs2QkFDbkM7aUNBQU07Z0NBQ0gsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7NkJBQ3BDO3lCQUNKO29CQUNMLENBQUMsQ0FBQztvQkFDRixNQUFBLElBQUksQ0FBQyxXQUFXLDBDQUFFLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztvQkFDekYscUJBQXFCLENBQUMsR0FBRyxFQUFFLFdBQUMsT0FBQSxNQUFBLElBQUksQ0FBQyxrQkFBa0IsK0NBQXZCLElBQUksQ0FBdUIsQ0FBQSxFQUFBLENBQUMsQ0FBQztpQkFDNUQ7YUFDSjtpQkFBTTtnQkFDSCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtvQkFDekIsTUFBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7aUJBQzVFO2FBQ0o7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxZQUFZO1FBQ1IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsV0FBVzs7UUFDUCxNQUFBLElBQUksQ0FBQyxVQUFVLDBDQUFFLE9BQU8sRUFBRSxDQUFDO1FBQzNCLE1BQUEsSUFBSSxDQUFDLGNBQWMsMENBQUUsV0FBVyxFQUFFLENBQUM7UUFDbkMsTUFBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9ELElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3pCLE1BQUEsSUFBSSxDQUFDLFdBQVcsMENBQUUsbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1NBQzVFO0lBQ0wsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFxQjtRQUMzQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVPLG1CQUFtQixDQUFDLE9BQWdCO1FBQ3hDLE1BQU0sUUFBUSxHQUFtRDtZQUM3RCxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUNWLE9BQU8sRUFBRSxPQUFPO2dCQUNoQixPQUFPLEVBQUUsS0FBSztnQkFDZCxRQUFRLEVBQUUsT0FBTztnQkFDakIsUUFBUSxFQUFFLFFBQVE7YUFDckI7WUFDRCxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUNYLE9BQU8sRUFBRSxLQUFLO2dCQUNkLE9BQU8sRUFBRSxLQUFLO2dCQUNkLFFBQVEsRUFBRSxLQUFLO2dCQUNmLFFBQVEsRUFBRSxRQUFRO2FBQ3JCO1lBQ0QsQ0FBQyxhQUFhLENBQUMsRUFBRTtnQkFDYixPQUFPLEVBQUUsT0FBTztnQkFDaEIsT0FBTyxFQUFFLFFBQVE7Z0JBQ2pCLFFBQVEsRUFBRSxPQUFPO2dCQUNqQixRQUFRLEVBQUUsS0FBSzthQUNsQjtZQUNELENBQUMsY0FBYyxDQUFDLEVBQUU7Z0JBQ2QsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsT0FBTyxFQUFFLFFBQVE7Z0JBQ2pCLFFBQVEsRUFBRSxLQUFLO2dCQUNmLFFBQVEsRUFBRSxLQUFLO2FBQ2xCO1NBQ0osQ0FBQztRQUVGLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVqQyxPQUFPLElBQUksQ0FBQyxPQUFPO2FBQ2QsUUFBUSxFQUFFO2FBQ1YsbUJBQW1CLENBQUMsT0FBTyxDQUFDO2FBQzVCLGFBQWEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDOUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO2FBQ3JCLGtCQUFrQixDQUFDLEtBQUssQ0FBQzthQUN6QixRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELG1DQUFtQztJQUMzQixjQUFjLENBQUMsR0FBc0I7UUFDekMsTUFBTSxRQUFRLHFCQUFRLEdBQUcsQ0FBRSxDQUFDO1FBQzVCLFFBQVEsQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQzVELFFBQVEsQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLFFBQVEsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBRTlELE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7OztZQTVJSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsNmpEQUE0QztnQkFFNUMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2xEOzs7WUF4QjJCLE9BQU87WUFVL0IsZ0JBQWdCO1lBS3lCLGtCQUFrQjs7O2dDQVcxRCxLQUFLOzJCQUNMLFNBQVMsU0FBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdGVkUG9zaXRpb24sIE92ZXJsYXksIE92ZXJsYXlSZWYsIFBvc2l0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcbmltcG9ydCB7XHJcbiAgICBBZnRlclZpZXdJbml0LFxyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uRGVzdHJveSxcclxuICAgIFRlbXBsYXRlUmVmLFxyXG4gICAgVmlld0NoaWxkLFxyXG4gICAgVmlld0NvbnRhaW5lclJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBDb250ZXh0TWVudUNvbmZpZywgQ29udGV4dE1lbnVJdGVtLCBDb250ZXh0TWVudVNlcnZpY2UgfSBmcm9tICcuL2NvbnRleHQtbWVudS5zZXJ2aWNlJztcclxuXHJcbnR5cGUgRHJvcGRvd25Qb3NpdGlvbiA9ICd0b3AtbGVmdCcgfCAndG9wLXJpZ2h0JyB8ICdib3R0b20tbGVmdCcgfCAnYm90dG9tLXJpZ2h0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItY29udGV4dC1tZW51JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb250ZXh0LW1lbnUuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vY29udGV4dC1tZW51LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbnRleHRNZW51Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICAgIEBJbnB1dCgpIGVkaXRvck1lbnVFbGVtZW50OiBIVE1MRWxlbWVudCB8IG51bGwgfCB1bmRlZmluZWQ7XHJcbiAgICBAVmlld0NoaWxkKCdjb250ZXh0TWVudScsIHsgc3RhdGljOiB0cnVlIH0pIHByaXZhdGUgbWVudVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICAgIG1lbnVDb25maWc6IENvbnRleHRNZW51Q29uZmlnIHwgdW5kZWZpbmVkO1xyXG4gICAgaGlkZVRyaWdnZXIkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgcHJpdmF0ZSB0cmlnZ2VySXNIaWRkZW4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuICAgIHByaXZhdGUgbWVudVBvcnRhbDogVGVtcGxhdGVQb3J0YWw8YW55PjtcclxuICAgIHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcclxuICAgIHByaXZhdGUgY29udGV4dE1lbnVTdWI6IFN1YnNjcmlwdGlvbjtcclxuICAgIHByaXZhdGUgY29udGVudEFyZWE6IEhUTUxEaXZFbGVtZW50IHwgbnVsbDtcclxuICAgIHByaXZhdGUgaGlkZVRyaWdnZXJIYW5kbGVyOiAoKCkgPT4gdm9pZCkgfCB1bmRlZmluZWQ7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxyXG4gICAgICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcclxuICAgICAgICBwdWJsaWMgY29udGV4dE1lbnVTZXJ2aWNlOiBDb250ZXh0TWVudVNlcnZpY2UsXHJcbiAgICApIHt9XHJcblxyXG4gICAgb25TY3JvbGwgPSAoKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMub3ZlcmxheVJlZj8uaGFzQXR0YWNoZWQoKSkge1xyXG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYudXBkYXRlUG9zaXRpb24oKTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgICB0aGlzLmNvbnRlbnRBcmVhID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmNvbnRlbnQtYXJlYScpO1xyXG4gICAgICAgIHRoaXMubWVudVBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLm1lbnVUZW1wbGF0ZSwgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcclxuXHJcbiAgICAgICAgdGhpcy5oaWRlVHJpZ2dlciQgPSB0aGlzLnRyaWdnZXJJc0hpZGRlbi5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xyXG4gICAgICAgIHRoaXMuY29udGVudEFyZWE/LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMub25TY3JvbGwsIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5jb250ZXh0TWVudVN1YiA9IHRoaXMuY29udGV4dE1lbnVTZXJ2aWNlLmNvbnRleHRNZW51JC5zdWJzY3JpYmUoY29udGV4dE1lbnVDb25maWcgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcclxuICAgICAgICAgICAgdGhpcy5tZW51Q29uZmlnID0gY29udGV4dE1lbnVDb25maWc7XHJcbiAgICAgICAgICAgIGlmIChjb250ZXh0TWVudUNvbmZpZykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuZ2V0UG9zaXRpb25TdHJhdGVneShjb250ZXh0TWVudUNvbmZpZy5lbGVtZW50KSxcclxuICAgICAgICAgICAgICAgICAgICBtYXhIZWlnaHQ6ICc3MHZoJyxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmLmF0dGFjaCh0aGlzLm1lbnVQb3J0YWwpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy50cmlnZ2VySXNIaWRkZW4ubmV4dChmYWxzZSk7XHJcblxyXG4gICAgICAgICAgICAgICAgY29uc3QgdHJpZ2dlckJ1dHRvbiA9IHRoaXMub3ZlcmxheVJlZi5ob3N0RWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuY29udGV4dC1tZW51LXRyaWdnZXInKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGVkaXRvck1lbnUgPSB0aGlzLmVkaXRvck1lbnVFbGVtZW50O1xyXG4gICAgICAgICAgICAgICAgaWYgKHRyaWdnZXJCdXR0b24pIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBvdmVybGFwTWFyZ2luUHggPSA1O1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGlkZVRyaWdnZXJIYW5kbGVyID0gKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZWRpdG9yTWVudSAmJiB0cmlnZ2VyQnV0dG9uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlckJ1dHRvbi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgKyBvdmVybGFwTWFyZ2luUHggPFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVkaXRvck1lbnUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuYm90dG9tXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRyaWdnZXJJc0hpZGRlbi5uZXh0KHRydWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRyaWdnZXJJc0hpZGRlbi5uZXh0KGZhbHNlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50QXJlYT8uYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5oaWRlVHJpZ2dlckhhbmRsZXIsIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcclxuICAgICAgICAgICAgICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gdGhpcy5oaWRlVHJpZ2dlckhhbmRsZXI/LigpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmhpZGVUcmlnZ2VySGFuZGxlcikge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGVudEFyZWE/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMuaGlkZVRyaWdnZXJIYW5kbGVyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHRyaWdnZXJDbGljaygpIHtcclxuICAgICAgICB0aGlzLmNvbnRleHRNZW51U2VydmljZS5zZXRWaXNpYmlsaXR5KHRydWUpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xyXG4gICAgICAgIHRoaXMuY29udGV4dE1lbnVTdWI/LnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgdGhpcy5jb250ZW50QXJlYT8ucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vblNjcm9sbCk7XHJcbiAgICAgICAgaWYgKHRoaXMuaGlkZVRyaWdnZXJIYW5kbGVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGVudEFyZWE/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMuaGlkZVRyaWdnZXJIYW5kbGVyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY2xpY2tJdGVtKGl0ZW06IENvbnRleHRNZW51SXRlbSkge1xyXG4gICAgICAgIGl0ZW0ub25DbGljaygpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0UG9zaXRpb25TdHJhdGVneShlbGVtZW50OiBFbGVtZW50KTogUG9zaXRpb25TdHJhdGVneSB7XHJcbiAgICAgICAgY29uc3QgcG9zaXRpb246IHsgW0sgaW4gRHJvcGRvd25Qb3NpdGlvbl06IENvbm5lY3RlZFBvc2l0aW9uIH0gPSB7XHJcbiAgICAgICAgICAgIFsndG9wLWxlZnQnXToge1xyXG4gICAgICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIFsndG9wLXJpZ2h0J106IHtcclxuICAgICAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgICAgICBvdmVybGF5WDogJ2VuZCcsXHJcbiAgICAgICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIFsnYm90dG9tLWxlZnQnXToge1xyXG4gICAgICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxyXG4gICAgICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIFsnYm90dG9tLXJpZ2h0J106IHtcclxuICAgICAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgICAgICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXHJcbiAgICAgICAgICAgICAgICBvdmVybGF5WDogJ2VuZCcsXHJcbiAgICAgICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgY29uc3QgcG9zID0gcG9zaXRpb25bJ3RvcC1sZWZ0J107XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLm92ZXJsYXlcclxuICAgICAgICAgICAgLnBvc2l0aW9uKClcclxuICAgICAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8oZWxlbWVudClcclxuICAgICAgICAgICAgLndpdGhQb3NpdGlvbnMoW3BvcywgdGhpcy5pbnZlcnRQb3NpdGlvbihwb3MpXSlcclxuICAgICAgICAgICAgLndpdGhWaWV3cG9ydE1hcmdpbigwKVxyXG4gICAgICAgICAgICAud2l0aExvY2tlZFBvc2l0aW9uKGZhbHNlKVxyXG4gICAgICAgICAgICAud2l0aFB1c2goZmFsc2UpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBJbnZlcnRzIGFuIG92ZXJsYXkgcG9zaXRpb24uICovXHJcbiAgICBwcml2YXRlIGludmVydFBvc2l0aW9uKHBvczogQ29ubmVjdGVkUG9zaXRpb24pOiBDb25uZWN0ZWRQb3NpdGlvbiB7XHJcbiAgICAgICAgY29uc3QgaW52ZXJ0ZWQgPSB7IC4uLnBvcyB9O1xyXG4gICAgICAgIGludmVydGVkLm9yaWdpblkgPSBwb3Mub3JpZ2luWSA9PT0gJ3RvcCcgPyAnYm90dG9tJyA6ICd0b3AnO1xyXG4gICAgICAgIGludmVydGVkLm92ZXJsYXlZID0gcG9zLm92ZXJsYXlZID09PSAndG9wJyA/ICdib3R0b20nIDogJ3RvcCc7XHJcblxyXG4gICAgICAgIHJldHVybiBpbnZlcnRlZDtcclxuICAgIH1cclxufVxyXG4iXX0=