@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
@@ -0,0 +1,45 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BehaviorSubject, combineLatest, interval, of, Subject } from 'rxjs';
3
+ import { bufferWhen, debounceTime, delayWhen, distinctUntilChanged, filter, map, takeUntil, } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ export class ContextMenuService {
6
+ constructor() {
7
+ this.menuIsVisible$ = new BehaviorSubject(false);
8
+ this.setContextMenuConfig$ = new Subject();
9
+ const source$ = this.setContextMenuConfig$.asObservable();
10
+ const groupedConfig$ = source$.pipe(bufferWhen(() => source$.pipe(debounceTime(50))), map(group => {
11
+ return group.reduce((acc, cur) => {
12
+ var _a;
13
+ if (!acc) {
14
+ return cur;
15
+ }
16
+ else {
17
+ if ((cur === null || cur === void 0 ? void 0 : cur.ref) === acc.ref) {
18
+ acc.items.push(
19
+ // de-duplicate items
20
+ ...((_a = cur === null || cur === void 0 ? void 0 : cur.items.filter(i => !acc.items.find(ai => ai.label === i.label))) !== null && _a !== void 0 ? _a : []));
21
+ }
22
+ }
23
+ return acc;
24
+ }, undefined);
25
+ }));
26
+ const visible$ = this.menuIsVisible$.pipe(filter(val => val === true));
27
+ const isVisible$ = this.menuIsVisible$.pipe(delayWhen(value => (value ? of(value) : interval(250).pipe(takeUntil(visible$)))), distinctUntilChanged());
28
+ this.contextMenu$ = combineLatest(groupedConfig$, isVisible$).pipe(map(([config, isVisible]) => (isVisible ? config : undefined)));
29
+ }
30
+ setVisibility(isVisible) {
31
+ this.menuIsVisible$.next(isVisible);
32
+ }
33
+ setContextMenu(config) {
34
+ this.setContextMenuConfig$.next(config);
35
+ }
36
+ clearContextMenu() {
37
+ this.setContextMenuConfig$.next(undefined);
38
+ }
39
+ }
40
+ ContextMenuService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ContextMenuService_Factory() { return new ContextMenuService(); }, token: ContextMenuService, providedIn: "root" });
41
+ ContextMenuService.decorators = [
42
+ { type: Injectable, args: [{ providedIn: 'root' },] }
43
+ ];
44
+ ContextMenuService.ctorParameters = () => [];
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL3JpY2gtdGV4dC1lZGl0b3IvcHJvc2VtaXJyb3IvY29udGV4dC1tZW51L2NvbnRleHQtbWVudS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekYsT0FBTyxFQUNILFVBQVUsRUFDVixZQUFZLEVBQ1osU0FBUyxFQUNULG9CQUFvQixFQUNwQixNQUFNLEVBQ04sR0FBRyxFQUVILFNBQVMsR0FFWixNQUFNLGdCQUFnQixDQUFDOztBQXFCeEIsTUFBTSxPQUFPLGtCQUFrQjtJQUkzQjtRQUZRLG1CQUFjLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDckQsMEJBQXFCLEdBQUcsSUFBSSxPQUFPLEVBQWlDLENBQUM7UUFFekUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzFELE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQy9CLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQ2hELEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNSLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTs7Z0JBQzdCLElBQUksQ0FBQyxHQUFHLEVBQUU7b0JBQ04sT0FBTyxHQUFHLENBQUM7aUJBQ2Q7cUJBQU07b0JBQ0gsSUFBSSxDQUFBLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxHQUFHLE1BQUssR0FBRyxDQUFDLEdBQUcsRUFBRTt3QkFDdEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJO3dCQUNWLHFCQUFxQjt3QkFDckIsR0FBRyxDQUFDLE1BQUEsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsbUNBQ25FLEVBQUUsQ0FBQyxDQUNWLENBQUM7cUJBQ0w7aUJBQ0o7Z0JBQ0QsT0FBTyxHQUFHLENBQUM7WUFDZixDQUFDLEVBQUUsU0FBMEMsQ0FBQyxDQUFDO1FBQ25ELENBQUMsQ0FBQyxDQUNMLENBQUM7UUFFRixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQztRQUV2RSxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDdkMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ2pGLG9CQUFvQixFQUFFLENBQ3pCLENBQUM7UUFDRixJQUFJLENBQUMsWUFBWSxHQUFHLGFBQWEsQ0FBQyxjQUFjLEVBQUUsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUM5RCxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FDakUsQ0FBQztJQUNOLENBQUM7SUFFRCxhQUFhLENBQUMsU0FBa0I7UUFDNUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUF5QjtRQUNwQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxnQkFBZ0I7UUFDWixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7Ozs7WUFoREosVUFBVSxTQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBpbnRlcnZhbCwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtcclxuICAgIGJ1ZmZlcldoZW4sXHJcbiAgICBkZWJvdW5jZVRpbWUsXHJcbiAgICBkZWxheVdoZW4sXHJcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcclxuICAgIGZpbHRlcixcclxuICAgIG1hcCxcclxuICAgIHNraXAsXHJcbiAgICB0YWtlVW50aWwsXHJcbiAgICB0YXAsXHJcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb250ZXh0TWVudUNvbmZpZyB7XHJcbiAgICByZWY6IGFueTtcclxuICAgIGljb25TaGFwZT86IHN0cmluZztcclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICBlbGVtZW50OiBFbGVtZW50O1xyXG4gICAgY29vcmRzOiB7IGxlZnQ6IG51bWJlcjsgcmlnaHQ6IG51bWJlcjsgdG9wOiBudW1iZXI7IGJvdHRvbTogbnVtYmVyIH07XHJcbiAgICBpdGVtczogQ29udGV4dE1lbnVJdGVtW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29udGV4dE1lbnVJdGVtIHtcclxuICAgIHNlcGFyYXRvcj86IGJvb2xlYW47XHJcbiAgICBpY29uQ2xhc3M/OiBzdHJpbmc7XHJcbiAgICBpY29uU2hhcGU/OiBzdHJpbmc7XHJcbiAgICBsYWJlbDogc3RyaW5nO1xyXG4gICAgZW5hYmxlZDogYm9vbGVhbjtcclxuICAgIG9uQ2xpY2s6ICgpID0+IHZvaWQ7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBDb250ZXh0TWVudVNlcnZpY2Uge1xyXG4gICAgY29udGV4dE1lbnUkOiBPYnNlcnZhYmxlPENvbnRleHRNZW51Q29uZmlnIHwgdW5kZWZpbmVkPjtcclxuICAgIHByaXZhdGUgbWVudUlzVmlzaWJsZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuICAgIHByaXZhdGUgc2V0Q29udGV4dE1lbnVDb25maWckID0gbmV3IFN1YmplY3Q8Q29udGV4dE1lbnVDb25maWcgfCB1bmRlZmluZWQ+KCk7XHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBjb25zdCBzb3VyY2UkID0gdGhpcy5zZXRDb250ZXh0TWVudUNvbmZpZyQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICAgICAgY29uc3QgZ3JvdXBlZENvbmZpZyQgPSBzb3VyY2UkLnBpcGUoXHJcbiAgICAgICAgICAgIGJ1ZmZlcldoZW4oKCkgPT4gc291cmNlJC5waXBlKGRlYm91bmNlVGltZSg1MCkpKSxcclxuICAgICAgICAgICAgbWFwKGdyb3VwID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBncm91cC5yZWR1Y2UoKGFjYywgY3VyKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFhY2MpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1cjtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY3VyPy5yZWYgPT09IGFjYy5yZWYpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjYy5pdGVtcy5wdXNoKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGRlLWR1cGxpY2F0ZSBpdGVtc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLihjdXI/Lml0ZW1zLmZpbHRlcihpID0+ICFhY2MuaXRlbXMuZmluZChhaSA9PiBhaS5sYWJlbCA9PT0gaS5sYWJlbCkpID8/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtdKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcclxuICAgICAgICAgICAgICAgIH0sIHVuZGVmaW5lZCBhcyBDb250ZXh0TWVudUNvbmZpZyB8IHVuZGVmaW5lZCk7XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIGNvbnN0IHZpc2libGUkID0gdGhpcy5tZW51SXNWaXNpYmxlJC5waXBlKGZpbHRlcih2YWwgPT4gdmFsID09PSB0cnVlKSk7XHJcblxyXG4gICAgICAgIGNvbnN0IGlzVmlzaWJsZSQgPSB0aGlzLm1lbnVJc1Zpc2libGUkLnBpcGUoXHJcbiAgICAgICAgICAgIGRlbGF5V2hlbih2YWx1ZSA9PiAodmFsdWUgPyBvZih2YWx1ZSkgOiBpbnRlcnZhbCgyNTApLnBpcGUodGFrZVVudGlsKHZpc2libGUkKSkpKSxcclxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuY29udGV4dE1lbnUkID0gY29tYmluZUxhdGVzdChncm91cGVkQ29uZmlnJCwgaXNWaXNpYmxlJCkucGlwZShcclxuICAgICAgICAgICAgbWFwKChbY29uZmlnLCBpc1Zpc2libGVdKSA9PiAoaXNWaXNpYmxlID8gY29uZmlnIDogdW5kZWZpbmVkKSksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRWaXNpYmlsaXR5KGlzVmlzaWJsZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMubWVudUlzVmlzaWJsZSQubmV4dChpc1Zpc2libGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldENvbnRleHRNZW51KGNvbmZpZzogQ29udGV4dE1lbnVDb25maWcpIHtcclxuICAgICAgICB0aGlzLnNldENvbnRleHRNZW51Q29uZmlnJC5uZXh0KGNvbmZpZyk7XHJcbiAgICB9XHJcblxyXG4gICAgY2xlYXJDb250ZXh0TWVudSgpIHtcclxuICAgICAgICB0aGlzLnNldENvbnRleHRNZW51Q29uZmlnJC5uZXh0KHVuZGVmaW5lZCk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,60 @@
1
+ import { DOMSerializer } from 'prosemirror-model';
2
+ const ɵ0 = node => {
3
+ var _a, _b;
4
+ if (node instanceof HTMLIFrameElement) {
5
+ const attrs = {
6
+ allow: node.allow,
7
+ allowfullscreeen: (_a = node.allowFullscreen) !== null && _a !== void 0 ? _a : true,
8
+ frameborder: node.getAttribute('frameborder'),
9
+ height: node.height,
10
+ name: node.name,
11
+ referrerpolicy: node.referrerPolicy,
12
+ src: node.src,
13
+ srcdoc: node.srcdoc || undefined,
14
+ title: (_b = node.title) !== null && _b !== void 0 ? _b : '',
15
+ width: node.width,
16
+ };
17
+ if (node.sandbox.length) {
18
+ attrs.sandbox = node.sandbox;
19
+ }
20
+ return attrs;
21
+ }
22
+ return null;
23
+ };
24
+ export const iframeNode = {
25
+ group: 'block',
26
+ attrs: {
27
+ allow: {},
28
+ allowfullscreeen: {},
29
+ frameborder: {},
30
+ height: { default: undefined },
31
+ name: { default: '' },
32
+ referrerpolicy: {},
33
+ sandbox: { default: undefined },
34
+ src: {},
35
+ srcdoc: { default: undefined },
36
+ title: { default: undefined },
37
+ width: { default: undefined },
38
+ },
39
+ parseDOM: [
40
+ {
41
+ tag: 'iframe',
42
+ getAttrs: ɵ0,
43
+ },
44
+ ],
45
+ toDOM(node) {
46
+ return ['iframe', Object.assign({}, node.attrs)];
47
+ },
48
+ };
49
+ export const iframeNodeView = (node, view, getPos, decorations) => {
50
+ const domSerializer = DOMSerializer.fromSchema(view.state.schema);
51
+ const wrapper = document.createElement('div');
52
+ wrapper.classList.add('iframe-wrapper');
53
+ const iframe = domSerializer.serializeNode(node);
54
+ wrapper.appendChild(iframe);
55
+ return {
56
+ dom: wrapper,
57
+ };
58
+ };
59
+ export { ɵ0 };
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLW5vZGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvY29tcG9uZW50cy9yaWNoLXRleHQtZWRpdG9yL3Byb3NlbWlycm9yL2N1c3RvbS1ub2Rlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLGFBQWEsRUFBa0IsTUFBTSxtQkFBbUIsQ0FBQztXQXFCOUQsSUFBSSxDQUFDLEVBQUU7O0lBQ2IsSUFBSSxJQUFJLFlBQVksaUJBQWlCLEVBQUU7UUFDbkMsTUFBTSxLQUFLLEdBQXdCO1lBQy9CLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixnQkFBZ0IsRUFBRSxNQUFBLElBQUksQ0FBQyxlQUFlLG1DQUFJLElBQUk7WUFDOUMsV0FBVyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDO1lBQzdDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDbkMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO1lBQ2IsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLElBQUksU0FBUztZQUNoQyxLQUFLLEVBQUUsTUFBQSxJQUFJLENBQUMsS0FBSyxtQ0FBSSxFQUFFO1lBQ3ZCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztTQUNwQixDQUFDO1FBQ0YsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUNyQixLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDaEM7UUFDRCxPQUFPLEtBQUssQ0FBQztLQUNoQjtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUF0Q2IsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFhO0lBQ2hDLEtBQUssRUFBRSxPQUFPO0lBQ2QsS0FBSyxFQUFFO1FBQ0gsS0FBSyxFQUFFLEVBQUU7UUFDVCxnQkFBZ0IsRUFBRSxFQUFFO1FBQ3BCLFdBQVcsRUFBRSxFQUFFO1FBQ2YsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRTtRQUM5QixJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO1FBQ3JCLGNBQWMsRUFBRSxFQUFFO1FBQ2xCLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUU7UUFDL0IsR0FBRyxFQUFFLEVBQUU7UUFDUCxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFO1FBQzlCLEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUU7UUFDN0IsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRTtLQUNoQztJQUNELFFBQVEsRUFBRTtRQUNOO1lBQ0ksR0FBRyxFQUFFLFFBQVE7WUFDYixRQUFRLElBb0JQO1NBQ0o7S0FDSjtJQUNELEtBQUssQ0FBQyxJQUFJO1FBQ04sT0FBTyxDQUFDLFFBQVEsb0JBQU8sSUFBSSxDQUFDLEtBQUssRUFBRyxDQUFDO0lBQ3pDLENBQUM7Q0FDSixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUF3QixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxFQUFFO0lBQ25GLE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsRSxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDeEMsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqRCxPQUFPLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVCLE9BQU87UUFDSCxHQUFHLEVBQUUsT0FBTztLQUNmLENBQUM7QUFDTixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdHRycywgRE9NUGFyc2VyLCBET01TZXJpYWxpemVyLCBOb2RlLCBOb2RlU3BlYyB9IGZyb20gJ3Byb3NlbWlycm9yLW1vZGVsJztcclxuaW1wb3J0IHsgTm9kZVZpZXdDb25zdHJ1Y3RvciB9IGZyb20gJ3Byb3NlbWlycm9yLXZpZXcnO1xyXG5cclxuZXhwb3J0IGNvbnN0IGlmcmFtZU5vZGU6IE5vZGVTcGVjID0ge1xyXG4gICAgZ3JvdXA6ICdibG9jaycsXHJcbiAgICBhdHRyczoge1xyXG4gICAgICAgIGFsbG93OiB7fSxcclxuICAgICAgICBhbGxvd2Z1bGxzY3JlZWVuOiB7fSxcclxuICAgICAgICBmcmFtZWJvcmRlcjoge30sXHJcbiAgICAgICAgaGVpZ2h0OiB7IGRlZmF1bHQ6IHVuZGVmaW5lZCB9LFxyXG4gICAgICAgIG5hbWU6IHsgZGVmYXVsdDogJycgfSxcclxuICAgICAgICByZWZlcnJlcnBvbGljeToge30sXHJcbiAgICAgICAgc2FuZGJveDogeyBkZWZhdWx0OiB1bmRlZmluZWQgfSxcclxuICAgICAgICBzcmM6IHt9LFxyXG4gICAgICAgIHNyY2RvYzogeyBkZWZhdWx0OiB1bmRlZmluZWQgfSxcclxuICAgICAgICB0aXRsZTogeyBkZWZhdWx0OiB1bmRlZmluZWQgfSxcclxuICAgICAgICB3aWR0aDogeyBkZWZhdWx0OiB1bmRlZmluZWQgfSxcclxuICAgIH0sXHJcbiAgICBwYXJzZURPTTogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdGFnOiAnaWZyYW1lJyxcclxuICAgICAgICAgICAgZ2V0QXR0cnM6IG5vZGUgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKG5vZGUgaW5zdGFuY2VvZiBIVE1MSUZyYW1lRWxlbWVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGF0dHJzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbGxvdzogbm9kZS5hbGxvdyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWxsb3dmdWxsc2NyZWVlbjogbm9kZS5hbGxvd0Z1bGxzY3JlZW4gPz8gdHJ1ZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWVib3JkZXI6IG5vZGUuZ2V0QXR0cmlidXRlKCdmcmFtZWJvcmRlcicpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG5vZGUuaGVpZ2h0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBub2RlLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZmVycmVycG9saWN5OiBub2RlLnJlZmVycmVyUG9saWN5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzcmM6IG5vZGUuc3JjLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzcmNkb2M6IG5vZGUuc3JjZG9jIHx8IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IG5vZGUudGl0bGUgPz8gJycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBub2RlLndpZHRoLFxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG5vZGUuc2FuZGJveC5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnMuc2FuZGJveCA9IG5vZGUuc2FuZGJveDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGF0dHJzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgIF0sXHJcbiAgICB0b0RPTShub2RlKSB7XHJcbiAgICAgICAgcmV0dXJuIFsnaWZyYW1lJywgeyAuLi5ub2RlLmF0dHJzIH1dO1xyXG4gICAgfSxcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBpZnJhbWVOb2RlVmlldzogTm9kZVZpZXdDb25zdHJ1Y3RvciA9IChub2RlLCB2aWV3LCBnZXRQb3MsIGRlY29yYXRpb25zKSA9PiB7XHJcbiAgICBjb25zdCBkb21TZXJpYWxpemVyID0gRE9NU2VyaWFsaXplci5mcm9tU2NoZW1hKHZpZXcuc3RhdGUuc2NoZW1hKTtcclxuICAgIGNvbnN0IHdyYXBwZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIHdyYXBwZXIuY2xhc3NMaXN0LmFkZCgnaWZyYW1lLXdyYXBwZXInKTtcclxuICAgIGNvbnN0IGlmcmFtZSA9IGRvbVNlcmlhbGl6ZXIuc2VyaWFsaXplTm9kZShub2RlKTtcclxuICAgIHdyYXBwZXIuYXBwZW5kQ2hpbGQoaWZyYW1lKTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgZG9tOiB3cmFwcGVyLFxyXG4gICAgfTtcclxufTtcclxuIl19
@@ -1,7 +1,7 @@
1
- import { icons, MenuItem } from 'prosemirror-menu';
1
+ import { MenuItem } from 'prosemirror-menu';
2
2
  import { TextSelection } from 'prosemirror-state';
3
3
  import { LinkDialogComponent } from '../../link-dialog/link-dialog.component';
4
- import { markActive } from './menu-common';
4
+ import { markActive, renderClarityIcon } from './menu-common';
5
5
  function selectionIsWithinLink(state, anchor, head) {
6
6
  const { doc } = state;
7
7
  const headLink = doc
@@ -20,7 +20,7 @@ function selectionIsWithinLink(state, anchor, head) {
20
20
  export function linkItem(linkMark, modalService) {
21
21
  return new MenuItem({
22
22
  title: 'Add or remove link',
23
- icon: icons.link,
23
+ render: renderClarityIcon({ shape: 'link', size: 22 }),
24
24
  class: '',
25
25
  css: '',
26
26
  active(state) {
@@ -66,4 +66,4 @@ export function linkItem(linkMark, modalService) {
66
66
  },
67
67
  });
68
68
  }
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL3JpY2gtdGV4dC1lZGl0b3IvcHJvc2VtaXJyb3IvbWVudS9saW5rcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRW5ELE9BQU8sRUFBZSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUcvRCxPQUFPLEVBQWEsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUV6RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLFNBQVMscUJBQXFCLENBQUMsS0FBa0IsRUFBRSxNQUFjLEVBQUUsSUFBWTtJQUMzRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLE1BQU0sUUFBUSxHQUFHLEdBQUc7U0FDZixPQUFPLENBQUMsSUFBSSxDQUFDO1NBQ2IsS0FBSyxFQUFFO1NBQ1AsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUM7SUFDdkMsTUFBTSxVQUFVLEdBQUcsR0FBRztTQUNqQixPQUFPLENBQUMsTUFBTSxDQUFDO1NBQ2YsS0FBSyxFQUFFO1NBQ1AsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUM7SUFDdkMsSUFBSSxRQUFRLElBQUksVUFBVSxJQUFJLFFBQVEsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUU7UUFDbkQsT0FBTyxJQUFJLENBQUM7S0FDZjtJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLFFBQWtCLEVBQUUsWUFBMEI7SUFDbkUsT0FBTyxJQUFJLFFBQVEsQ0FBQztRQUNoQixLQUFLLEVBQUUsb0JBQW9CO1FBQzNCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtRQUNoQixLQUFLLEVBQUUsRUFBRTtRQUNULEdBQUcsRUFBRSxFQUFFO1FBQ1AsTUFBTSxDQUFDLEtBQUs7WUFDUixPQUFPLFVBQVUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdkMsQ0FBQztRQUNELE1BQU0sQ0FBQyxLQUFLO1lBQ1IsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLEtBQUssQ0FBQztZQUM1QixPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssSUFBSSxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUYsQ0FBQztRQUNELEdBQUcsQ0FBQyxLQUFrQixFQUFFLFFBQVEsRUFBRSxJQUFJO1lBQ2xDLElBQUksS0FBNEIsQ0FBQztZQUNqQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxHQUFHLEtBQUssQ0FBQztZQUNqQyxJQUNJLFNBQVMsWUFBWSxhQUFhO2dCQUNsQyxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsRUFDeEU7Z0JBQ0UsTUFBTSxJQUFJLEdBQUcsR0FBRztxQkFDWCxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7cUJBQzdCLEtBQUssRUFBRTtxQkFDUCxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQztnQkFDdkMsSUFBSSxJQUFJLEVBQUU7b0JBQ04sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFrQixDQUFDO2lCQUNuQzthQUNKO1lBQ0QsWUFBWTtpQkFDUCxhQUFhLENBQUMsbUJBQW1CLEVBQUU7Z0JBQ2hDLFFBQVEsRUFBRSxJQUFJO2dCQUNkLE1BQU0sRUFBRTtvQkFDSixRQUFRLEVBQUUsS0FBSztpQkFDbEI7YUFDSixDQUFDO2lCQUNELFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDaEIsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxNQUFNLEVBQUU7b0JBQ1IsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUMzQyxFQUFFLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7b0JBQ2pELElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxFQUFFLEVBQUU7d0JBQ3BCLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7cUJBQ2hFO2lCQUNKO2dCQUNELFFBQVEsQ0FBQyxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2pCLENBQUMsQ0FBQyxDQUFDO1lBQ1AsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztLQUNKLENBQUMsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0b2dnbGVNYXJrIH0gZnJvbSAncHJvc2VtaXJyb3ItY29tbWFuZHMnO1xyXG5pbXBvcnQgeyBpY29ucywgTWVudUl0ZW0gfSBmcm9tICdwcm9zZW1pcnJvci1tZW51JztcclxuaW1wb3J0IHsgTWFya1R5cGUgfSBmcm9tICdwcm9zZW1pcnJvci1tb2RlbCc7XHJcbmltcG9ydCB7IEVkaXRvclN0YXRlLCBUZXh0U2VsZWN0aW9uIH0gZnJvbSAncHJvc2VtaXJyb3Itc3RhdGUnO1xyXG5cclxuaW1wb3J0IHsgTW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vcHJvdmlkZXJzL21vZGFsL21vZGFsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMaW5rQXR0cnMsIExpbmtEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi8uLi9saW5rLWRpYWxvZy9saW5rLWRpYWxvZy5jb21wb25lbnQnO1xyXG5cclxuaW1wb3J0IHsgbWFya0FjdGl2ZSB9IGZyb20gJy4vbWVudS1jb21tb24nO1xyXG5cclxuZnVuY3Rpb24gc2VsZWN0aW9uSXNXaXRoaW5MaW5rKHN0YXRlOiBFZGl0b3JTdGF0ZSwgYW5jaG9yOiBudW1iZXIsIGhlYWQ6IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgeyBkb2MgfSA9IHN0YXRlO1xyXG4gICAgY29uc3QgaGVhZExpbmsgPSBkb2NcclxuICAgICAgICAucmVzb2x2ZShoZWFkKVxyXG4gICAgICAgIC5tYXJrcygpXHJcbiAgICAgICAgLmZpbmQobSA9PiBtLnR5cGUubmFtZSA9PT0gJ2xpbmsnKTtcclxuICAgIGNvbnN0IGFuY2hvckxpbmsgPSBkb2NcclxuICAgICAgICAucmVzb2x2ZShhbmNob3IpXHJcbiAgICAgICAgLm1hcmtzKClcclxuICAgICAgICAuZmluZChtID0+IG0udHlwZS5uYW1lID09PSAnbGluaycpO1xyXG4gICAgaWYgKGhlYWRMaW5rICYmIGFuY2hvckxpbmsgJiYgaGVhZExpbmsuZXEoYW5jaG9yTGluaykpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxpbmtJdGVtKGxpbmtNYXJrOiBNYXJrVHlwZSwgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2UpIHtcclxuICAgIHJldHVybiBuZXcgTWVudUl0ZW0oe1xyXG4gICAgICAgIHRpdGxlOiAnQWRkIG9yIHJlbW92ZSBsaW5rJyxcclxuICAgICAgICBpY29uOiBpY29ucy5saW5rLFxyXG4gICAgICAgIGNsYXNzOiAnJyxcclxuICAgICAgICBjc3M6ICcnLFxyXG4gICAgICAgIGFjdGl2ZShzdGF0ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gbWFya0FjdGl2ZShzdGF0ZSwgbGlua01hcmspO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZW5hYmxlKHN0YXRlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBzdGF0ZTtcclxuICAgICAgICAgICAgcmV0dXJuICFzZWxlY3Rpb24uZW1wdHkgfHwgc2VsZWN0aW9uSXNXaXRoaW5MaW5rKHN0YXRlLCBzZWxlY3Rpb24uYW5jaG9yLCBzZWxlY3Rpb24uaGVhZCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBydW4oc3RhdGU6IEVkaXRvclN0YXRlLCBkaXNwYXRjaCwgdmlldykge1xyXG4gICAgICAgICAgICBsZXQgYXR0cnM6IExpbmtBdHRycyB8IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgY29uc3QgeyBzZWxlY3Rpb24sIGRvYyB9ID0gc3RhdGU7XHJcbiAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgIHNlbGVjdGlvbiBpbnN0YW5jZW9mIFRleHRTZWxlY3Rpb24gJiZcclxuICAgICAgICAgICAgICAgIHNlbGVjdGlvbklzV2l0aGluTGluayhzdGF0ZSwgc2VsZWN0aW9uLmFuY2hvciArIDEsIHNlbGVjdGlvbi5oZWFkIC0gMSlcclxuICAgICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBtYXJrID0gZG9jXHJcbiAgICAgICAgICAgICAgICAgICAgLnJlc29sdmUoc2VsZWN0aW9uLmFuY2hvciArIDEpXHJcbiAgICAgICAgICAgICAgICAgICAgLm1hcmtzKClcclxuICAgICAgICAgICAgICAgICAgICAuZmluZChtID0+IG0udHlwZS5uYW1lID09PSAnbGluaycpO1xyXG4gICAgICAgICAgICAgICAgaWYgKG1hcmspIHtcclxuICAgICAgICAgICAgICAgICAgICBhdHRycyA9IG1hcmsuYXR0cnMgYXMgTGlua0F0dHJzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG1vZGFsU2VydmljZVxyXG4gICAgICAgICAgICAgICAgLmZyb21Db21wb25lbnQoTGlua0RpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICAgICAgICAgICAgICAgIGNsb3NhYmxlOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgIGxvY2Fsczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBleGlzdGluZzogYXR0cnMsXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHRyID0gc3RhdGUudHI7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7ICRmcm9tLCAkdG8gfSA9IHNlbGVjdGlvbi5yYW5nZXNbMF07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyID0gdHIucmVtb3ZlTWFyaygkZnJvbS5wb3MsICR0by5wb3MsIGxpbmtNYXJrKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdC5ocmVmICE9PSAnJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHIgPSB0ci5hZGRNYXJrKCRmcm9tLnBvcywgJHRvLnBvcywgbGlua01hcmsuY3JlYXRlKHJlc3VsdCkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoKHRyLnNjcm9sbEludG9WaWV3KCkpO1xyXG4gICAgICAgICAgICAgICAgICAgIHZpZXcuZm9jdXMoKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9LFxyXG4gICAgfSk7XHJcbn1cclxuIl19
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL3JpY2gtdGV4dC1lZGl0b3IvcHJvc2VtaXJyb3IvbWVudS9saW5rcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQVMsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbkQsT0FBTyxFQUFlLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRy9ELE9BQU8sRUFBYSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRXpGLE9BQU8sRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsU0FBUyxxQkFBcUIsQ0FBQyxLQUFrQixFQUFFLE1BQWMsRUFBRSxJQUFZO0lBQzNFLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFDdEIsTUFBTSxRQUFRLEdBQUcsR0FBRztTQUNmLE9BQU8sQ0FBQyxJQUFJLENBQUM7U0FDYixLQUFLLEVBQUU7U0FDUCxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQztJQUN2QyxNQUFNLFVBQVUsR0FBRyxHQUFHO1NBQ2pCLE9BQU8sQ0FBQyxNQUFNLENBQUM7U0FDZixLQUFLLEVBQUU7U0FDUCxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQztJQUN2QyxJQUFJLFFBQVEsSUFBSSxVQUFVLElBQUksUUFBUSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRTtRQUNuRCxPQUFPLElBQUksQ0FBQztLQUNmO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQztBQUVELE1BQU0sVUFBVSxRQUFRLENBQUMsUUFBa0IsRUFBRSxZQUEwQjtJQUNuRSxPQUFPLElBQUksUUFBUSxDQUFDO1FBQ2hCLEtBQUssRUFBRSxvQkFBb0I7UUFDM0IsTUFBTSxFQUFFLGlCQUFpQixDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFDdEQsS0FBSyxFQUFFLEVBQUU7UUFDVCxHQUFHLEVBQUUsRUFBRTtRQUNQLE1BQU0sQ0FBQyxLQUFLO1lBQ1IsT0FBTyxVQUFVLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7UUFDRCxNQUFNLENBQUMsS0FBSztZQUNSLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxLQUFLLENBQUM7WUFDNUIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLElBQUkscUJBQXFCLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlGLENBQUM7UUFDRCxHQUFHLENBQUMsS0FBa0IsRUFBRSxRQUFRLEVBQUUsSUFBSTtZQUNsQyxJQUFJLEtBQTRCLENBQUM7WUFDakMsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUM7WUFDakMsSUFDSSxTQUFTLFlBQVksYUFBYTtnQkFDbEMscUJBQXFCLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQ3hFO2dCQUNFLE1BQU0sSUFBSSxHQUFHLEdBQUc7cUJBQ1gsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO3FCQUM3QixLQUFLLEVBQUU7cUJBQ1AsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUM7Z0JBQ3ZDLElBQUksSUFBSSxFQUFFO29CQUNOLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBa0IsQ0FBQztpQkFDbkM7YUFDSjtZQUNELFlBQVk7aUJBQ1AsYUFBYSxDQUFDLG1CQUFtQixFQUFFO2dCQUNoQyxRQUFRLEVBQUUsSUFBSTtnQkFDZCxNQUFNLEVBQUU7b0JBQ0osUUFBUSxFQUFFLEtBQUs7aUJBQ2xCO2FBQ0osQ0FBQztpQkFDRCxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ2hCLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2xCLElBQUksTUFBTSxFQUFFO29CQUNSLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDM0MsRUFBRSxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO29CQUNqRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssRUFBRSxFQUFFO3dCQUNwQixFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO3FCQUNoRTtpQkFDSjtnQkFDRCxRQUFRLENBQUMsRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNqQixDQUFDLENBQUMsQ0FBQztZQUNQLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7S0FDSixDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdG9nZ2xlTWFyayB9IGZyb20gJ3Byb3NlbWlycm9yLWNvbW1hbmRzJztcclxuaW1wb3J0IHsgaWNvbnMsIE1lbnVJdGVtIH0gZnJvbSAncHJvc2VtaXJyb3ItbWVudSc7XHJcbmltcG9ydCB7IE1hcmtUeXBlIH0gZnJvbSAncHJvc2VtaXJyb3ItbW9kZWwnO1xyXG5pbXBvcnQgeyBFZGl0b3JTdGF0ZSwgVGV4dFNlbGVjdGlvbiB9IGZyb20gJ3Byb3NlbWlycm9yLXN0YXRlJztcclxuXHJcbmltcG9ydCB7IE1vZGFsU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3Byb3ZpZGVycy9tb2RhbC9tb2RhbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTGlua0F0dHJzLCBMaW5rRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbGluay1kaWFsb2cvbGluay1kaWFsb2cuY29tcG9uZW50JztcclxuXHJcbmltcG9ydCB7IG1hcmtBY3RpdmUsIHJlbmRlckNsYXJpdHlJY29uIH0gZnJvbSAnLi9tZW51LWNvbW1vbic7XHJcblxyXG5mdW5jdGlvbiBzZWxlY3Rpb25Jc1dpdGhpbkxpbmsoc3RhdGU6IEVkaXRvclN0YXRlLCBhbmNob3I6IG51bWJlciwgaGVhZDogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCB7IGRvYyB9ID0gc3RhdGU7XHJcbiAgICBjb25zdCBoZWFkTGluayA9IGRvY1xyXG4gICAgICAgIC5yZXNvbHZlKGhlYWQpXHJcbiAgICAgICAgLm1hcmtzKClcclxuICAgICAgICAuZmluZChtID0+IG0udHlwZS5uYW1lID09PSAnbGluaycpO1xyXG4gICAgY29uc3QgYW5jaG9yTGluayA9IGRvY1xyXG4gICAgICAgIC5yZXNvbHZlKGFuY2hvcilcclxuICAgICAgICAubWFya3MoKVxyXG4gICAgICAgIC5maW5kKG0gPT4gbS50eXBlLm5hbWUgPT09ICdsaW5rJyk7XHJcbiAgICBpZiAoaGVhZExpbmsgJiYgYW5jaG9yTGluayAmJiBoZWFkTGluay5lcShhbmNob3JMaW5rKSkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbGlua0l0ZW0obGlua01hcms6IE1hcmtUeXBlLCBtb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZSkge1xyXG4gICAgcmV0dXJuIG5ldyBNZW51SXRlbSh7XHJcbiAgICAgICAgdGl0bGU6ICdBZGQgb3IgcmVtb3ZlIGxpbmsnLFxyXG4gICAgICAgIHJlbmRlcjogcmVuZGVyQ2xhcml0eUljb24oeyBzaGFwZTogJ2xpbmsnLCBzaXplOiAyMiB9KSxcclxuICAgICAgICBjbGFzczogJycsXHJcbiAgICAgICAgY3NzOiAnJyxcclxuICAgICAgICBhY3RpdmUoc3RhdGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG1hcmtBY3RpdmUoc3RhdGUsIGxpbmtNYXJrKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVuYWJsZShzdGF0ZSkge1xyXG4gICAgICAgICAgICBjb25zdCB7IHNlbGVjdGlvbiB9ID0gc3RhdGU7XHJcbiAgICAgICAgICAgIHJldHVybiAhc2VsZWN0aW9uLmVtcHR5IHx8IHNlbGVjdGlvbklzV2l0aGluTGluayhzdGF0ZSwgc2VsZWN0aW9uLmFuY2hvciwgc2VsZWN0aW9uLmhlYWQpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcnVuKHN0YXRlOiBFZGl0b3JTdGF0ZSwgZGlzcGF0Y2gsIHZpZXcpIHtcclxuICAgICAgICAgICAgbGV0IGF0dHJzOiBMaW5rQXR0cnMgfCB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgIGNvbnN0IHsgc2VsZWN0aW9uLCBkb2MgfSA9IHN0YXRlO1xyXG4gICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICBzZWxlY3Rpb24gaW5zdGFuY2VvZiBUZXh0U2VsZWN0aW9uICYmXHJcbiAgICAgICAgICAgICAgICBzZWxlY3Rpb25Jc1dpdGhpbkxpbmsoc3RhdGUsIHNlbGVjdGlvbi5hbmNob3IgKyAxLCBzZWxlY3Rpb24uaGVhZCAtIDEpXHJcbiAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbWFyayA9IGRvY1xyXG4gICAgICAgICAgICAgICAgICAgIC5yZXNvbHZlKHNlbGVjdGlvbi5hbmNob3IgKyAxKVxyXG4gICAgICAgICAgICAgICAgICAgIC5tYXJrcygpXHJcbiAgICAgICAgICAgICAgICAgICAgLmZpbmQobSA9PiBtLnR5cGUubmFtZSA9PT0gJ2xpbmsnKTtcclxuICAgICAgICAgICAgICAgIGlmIChtYXJrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYXR0cnMgPSBtYXJrLmF0dHJzIGFzIExpbmtBdHRycztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBtb2RhbFNlcnZpY2VcclxuICAgICAgICAgICAgICAgIC5mcm9tQ29tcG9uZW50KExpbmtEaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgICAgICAgICAgICAgICBjbG9zYWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgICAgICAgICBsb2NhbHM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZXhpc3Rpbmc6IGF0dHJzLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCB0ciA9IHN0YXRlLnRyO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeyAkZnJvbSwgJHRvIH0gPSBzZWxlY3Rpb24ucmFuZ2VzWzBdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ciA9IHRyLnJlbW92ZU1hcmsoJGZyb20ucG9zLCAkdG8ucG9zLCBsaW5rTWFyayk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHQuaHJlZiAhPT0gJycpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyID0gdHIuYWRkTWFyaygkZnJvbS5wb3MsICR0by5wb3MsIGxpbmtNYXJrLmNyZWF0ZShyZXN1bHQpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBkaXNwYXRjaCh0ci5zY3JvbGxJbnRvVmlldygpKTtcclxuICAgICAgICAgICAgICAgICAgICB2aWV3LmZvY3VzKCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfSxcclxuICAgIH0pO1xyXG59XHJcbiJdfQ==
@@ -1,3 +1,4 @@
1
+ import { notNullOrUndefined } from '@vendure/common/lib/shared-utils';
1
2
  export function markActive(state, type) {
2
3
  const { from, $from, to, empty } = state.selection;
3
4
  if (empty) {
@@ -17,4 +18,25 @@ export function canInsert(state, nodeType) {
17
18
  }
18
19
  return false;
19
20
  }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1jb21tb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL3JpY2gtdGV4dC1lZGl0b3IvcHJvc2VtaXJyb3IvbWVudS9tZW51LWNvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLFVBQVUsVUFBVSxDQUFDLEtBQUssRUFBRSxJQUFJO0lBQ2xDLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO0lBQ25ELElBQUksS0FBSyxFQUFFO1FBQ1AsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7S0FDM0Q7U0FBTTtRQUNILE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztLQUNqRDtBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLEtBQWtCLEVBQUUsUUFBa0I7SUFDNUQsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7SUFDcEMsS0FBSyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDbkMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3QixJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUU7WUFDdEQsT0FBTyxJQUFJLENBQUM7U0FDZjtLQUNKO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vZGVUeXBlIH0gZnJvbSAncHJvc2VtaXJyb3ItbW9kZWwnO1xyXG5pbXBvcnQgeyBFZGl0b3JTdGF0ZSB9IGZyb20gJ3Byb3NlbWlycm9yLXN0YXRlJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBtYXJrQWN0aXZlKHN0YXRlLCB0eXBlKSB7XHJcbiAgICBjb25zdCB7IGZyb20sICRmcm9tLCB0bywgZW1wdHkgfSA9IHN0YXRlLnNlbGVjdGlvbjtcclxuICAgIGlmIChlbXB0eSkge1xyXG4gICAgICAgIHJldHVybiB0eXBlLmlzSW5TZXQoc3RhdGUuc3RvcmVkTWFya3MgfHwgJGZyb20ubWFya3MoKSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBzdGF0ZS5kb2MucmFuZ2VIYXNNYXJrKGZyb20sIHRvLCB0eXBlKTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNhbkluc2VydChzdGF0ZTogRWRpdG9yU3RhdGUsIG5vZGVUeXBlOiBOb2RlVHlwZSk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgJGZyb20gPSBzdGF0ZS5zZWxlY3Rpb24uJGZyb207XHJcbiAgICBmb3IgKGxldCBkID0gJGZyb20uZGVwdGg7IGQgPj0gMDsgZC0tKSB7XHJcbiAgICAgICAgY29uc3QgaW5kZXggPSAkZnJvbS5pbmRleChkKTtcclxuICAgICAgICBpZiAoJGZyb20ubm9kZShkKS5jYW5SZXBsYWNlV2l0aChpbmRleCwgaW5kZXgsIG5vZGVUeXBlKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbn1cclxuIl19
21
+ export function renderClarityIcon(options) {
22
+ return (view) => {
23
+ var _a, _b;
24
+ const icon = document.createElement('clr-icon');
25
+ icon.setAttribute('shape', options.shape);
26
+ icon.setAttribute('size', ((_a = options.size) !== null && _a !== void 0 ? _a : IconSize.Small).toString());
27
+ const labelEl = document.createElement('span');
28
+ labelEl.textContent = (_b = options.label) !== null && _b !== void 0 ? _b : '';
29
+ return wrapInMenuItemWithIcon(icon, options.label ? labelEl : undefined);
30
+ };
31
+ }
32
+ export function wrapInMenuItemWithIcon(...elements) {
33
+ const wrapperEl = document.createElement('span');
34
+ wrapperEl.classList.add('menu-item-with-icon');
35
+ wrapperEl.append(...elements.filter(notNullOrUndefined));
36
+ return wrapperEl;
37
+ }
38
+ export const IconSize = {
39
+ Large: 22,
40
+ Small: 16,
41
+ };
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1jb21tb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL3JpY2gtdGV4dC1lZGl0b3IvcHJvc2VtaXJyb3IvbWVudS9tZW51LWNvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUt0RSxNQUFNLFVBQVUsVUFBVSxDQUFDLEtBQUssRUFBRSxJQUFJO0lBQ2xDLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO0lBQ25ELElBQUksS0FBSyxFQUFFO1FBQ1AsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7S0FDM0Q7U0FBTTtRQUNILE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztLQUNqRDtBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLEtBQWtCLEVBQUUsUUFBa0I7SUFDNUQsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7SUFDcEMsS0FBSyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDbkMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3QixJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUU7WUFDdEQsT0FBTyxJQUFJLENBQUM7U0FDZjtLQUNKO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQztBQVFELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxPQUEyQjtJQUN6RCxPQUFPLENBQUMsSUFBZ0IsRUFBRSxFQUFFOztRQUN4QixNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQUEsT0FBTyxDQUFDLElBQUksbUNBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDdkUsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQyxPQUFPLENBQUMsV0FBVyxHQUFHLE1BQUEsT0FBTyxDQUFDLEtBQUssbUNBQUksRUFBRSxDQUFDO1FBQzFDLE9BQU8sc0JBQXNCLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0UsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxHQUFHLFFBQStDO0lBQ3JGLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakQsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUMvQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7SUFDekQsT0FBTyxTQUFTLENBQUM7QUFDckIsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRztJQUNwQixLQUFLLEVBQUUsRUFBRTtJQUNULEtBQUssRUFBRSxFQUFFO0NBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG5vdE51bGxPclVuZGVmaW5lZCB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvc2hhcmVkLXV0aWxzJztcclxuaW1wb3J0IHsgTm9kZVR5cGUgfSBmcm9tICdwcm9zZW1pcnJvci1tb2RlbCc7XHJcbmltcG9ydCB7IEVkaXRvclN0YXRlIH0gZnJvbSAncHJvc2VtaXJyb3Itc3RhdGUnO1xyXG5pbXBvcnQgeyBFZGl0b3JWaWV3IH0gZnJvbSAncHJvc2VtaXJyb3Itdmlldyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbWFya0FjdGl2ZShzdGF0ZSwgdHlwZSkge1xyXG4gICAgY29uc3QgeyBmcm9tLCAkZnJvbSwgdG8sIGVtcHR5IH0gPSBzdGF0ZS5zZWxlY3Rpb247XHJcbiAgICBpZiAoZW1wdHkpIHtcclxuICAgICAgICByZXR1cm4gdHlwZS5pc0luU2V0KHN0YXRlLnN0b3JlZE1hcmtzIHx8ICRmcm9tLm1hcmtzKCkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gc3RhdGUuZG9jLnJhbmdlSGFzTWFyayhmcm9tLCB0bywgdHlwZSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjYW5JbnNlcnQoc3RhdGU6IEVkaXRvclN0YXRlLCBub2RlVHlwZTogTm9kZVR5cGUpOiBib29sZWFuIHtcclxuICAgIGNvbnN0ICRmcm9tID0gc3RhdGUuc2VsZWN0aW9uLiRmcm9tO1xyXG4gICAgZm9yIChsZXQgZCA9ICRmcm9tLmRlcHRoOyBkID49IDA7IGQtLSkge1xyXG4gICAgICAgIGNvbnN0IGluZGV4ID0gJGZyb20uaW5kZXgoZCk7XHJcbiAgICAgICAgaWYgKCRmcm9tLm5vZGUoZCkuY2FuUmVwbGFjZVdpdGgoaW5kZXgsIGluZGV4LCBub2RlVHlwZSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENsYXJpdHlJY29uT3B0aW9ucyB7XHJcbiAgICBzaGFwZTogc3RyaW5nO1xyXG4gICAgc2l6ZT86IG51bWJlcjtcclxuICAgIGxhYmVsPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyQ2xhcml0eUljb24ob3B0aW9uczogQ2xhcml0eUljb25PcHRpb25zKTogKHZpZXc6IEVkaXRvclZpZXcpID0+IEhUTUxFbGVtZW50IHtcclxuICAgIHJldHVybiAodmlldzogRWRpdG9yVmlldykgPT4ge1xyXG4gICAgICAgIGNvbnN0IGljb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjbHItaWNvbicpO1xyXG4gICAgICAgIGljb24uc2V0QXR0cmlidXRlKCdzaGFwZScsIG9wdGlvbnMuc2hhcGUpO1xyXG4gICAgICAgIGljb24uc2V0QXR0cmlidXRlKCdzaXplJywgKG9wdGlvbnMuc2l6ZSA/PyBJY29uU2l6ZS5TbWFsbCkudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgY29uc3QgbGFiZWxFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcclxuICAgICAgICBsYWJlbEVsLnRleHRDb250ZW50ID0gb3B0aW9ucy5sYWJlbCA/PyAnJztcclxuICAgICAgICByZXR1cm4gd3JhcEluTWVudUl0ZW1XaXRoSWNvbihpY29uLCBvcHRpb25zLmxhYmVsID8gbGFiZWxFbCA6IHVuZGVmaW5lZCk7XHJcbiAgICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd3JhcEluTWVudUl0ZW1XaXRoSWNvbiguLi5lbGVtZW50czogQXJyYXk8SFRNTEVsZW1lbnQgfCB1bmRlZmluZWQgfCBudWxsPikge1xyXG4gICAgY29uc3Qgd3JhcHBlckVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xyXG4gICAgd3JhcHBlckVsLmNsYXNzTGlzdC5hZGQoJ21lbnUtaXRlbS13aXRoLWljb24nKTtcclxuICAgIHdyYXBwZXJFbC5hcHBlbmQoLi4uZWxlbWVudHMuZmlsdGVyKG5vdE51bGxPclVuZGVmaW5lZCkpO1xyXG4gICAgcmV0dXJuIHdyYXBwZXJFbDtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IEljb25TaXplID0ge1xyXG4gICAgTGFyZ2U6IDIyLFxyXG4gICAgU21hbGw6IDE2LFxyXG59O1xyXG4iXX0=
@@ -0,0 +1,12 @@
1
+ import { menuBar } from 'prosemirror-menu';
2
+ import { ModalService } from '../../../../../providers/modal/modal.service';
3
+ import { buildMenuItems } from './menu';
4
+ export function customMenuPlugin(options) {
5
+ const modalService = options.injector.get(ModalService);
6
+ const pmMenuBarPlugin = menuBar({
7
+ floating: options.floatingMenu !== false,
8
+ content: buildMenuItems(options.schema, modalService).fullMenu,
9
+ });
10
+ return pmMenuBarPlugin;
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL3JpY2gtdGV4dC1lZGl0b3IvcHJvc2VtaXJyb3IvbWVudS9tZW51LXBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRTVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFReEMsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE9BQWdDO0lBQzdELE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hELE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQztRQUM1QixRQUFRLEVBQUUsT0FBTyxDQUFDLFlBQVksS0FBSyxLQUFLO1FBQ3hDLE9BQU8sRUFBRSxjQUFjLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQyxRQUFRO0tBQ2pFLENBQUMsQ0FBQztJQUNILE9BQU8sZUFBZSxDQUFDO0FBQzNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBtZW51QmFyIH0gZnJvbSAncHJvc2VtaXJyb3ItbWVudSc7XHJcbmltcG9ydCB7IFNjaGVtYSB9IGZyb20gJ3Byb3NlbWlycm9yLW1vZGVsJztcclxuaW1wb3J0IHsgRWRpdG9yU3RhdGUsIFBsdWdpbiB9IGZyb20gJ3Byb3NlbWlycm9yLXN0YXRlJztcclxuXHJcbmltcG9ydCB7IE1vZGFsU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3Byb3ZpZGVycy9tb2RhbC9tb2RhbC5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IGJ1aWxkTWVudUl0ZW1zIH0gZnJvbSAnLi9tZW51JztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tTWVudVBsdWdpbk9wdGlvbnMge1xyXG4gICAgZmxvYXRpbmdNZW51PzogYm9vbGVhbjtcclxuICAgIHNjaGVtYTogU2NoZW1hO1xyXG4gICAgaW5qZWN0b3I6IEluamVjdG9yO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3VzdG9tTWVudVBsdWdpbihvcHRpb25zOiBDdXN0b21NZW51UGx1Z2luT3B0aW9ucykge1xyXG4gICAgY29uc3QgbW9kYWxTZXJ2aWNlID0gb3B0aW9ucy5pbmplY3Rvci5nZXQoTW9kYWxTZXJ2aWNlKTtcclxuICAgIGNvbnN0IHBtTWVudUJhclBsdWdpbiA9IG1lbnVCYXIoe1xyXG4gICAgICAgIGZsb2F0aW5nOiBvcHRpb25zLmZsb2F0aW5nTWVudSAhPT0gZmFsc2UsXHJcbiAgICAgICAgY29udGVudDogYnVpbGRNZW51SXRlbXMob3B0aW9ucy5zY2hlbWEsIG1vZGFsU2VydmljZSkuZnVsbE1lbnUsXHJcbiAgICB9KTtcclxuICAgIHJldHVybiBwbU1lbnVCYXJQbHVnaW47XHJcbn1cclxuIl19
@@ -1,14 +1,19 @@
1
1
  import { toggleMark } from 'prosemirror-commands';
2
- import { blockTypeItem, Dropdown, DropdownSubmenu, icons, joinUpItem, liftItem, MenuItem, redoItem, selectParentNodeItem, undoItem, wrapItem, } from 'prosemirror-menu';
2
+ import { redo, undo } from 'prosemirror-history';
3
+ import { blockTypeItem, Dropdown, icons, joinUpItem, liftItem, MenuItem, selectParentNodeItem, wrapItem, } from 'prosemirror-menu';
3
4
  import { wrapInList } from 'prosemirror-schema-list';
4
- import { insertImageItem } from './images';
5
+ import { insertImageItem } from '../plugins/image-plugin';
6
+ import { addTable } from '../plugins/tables-plugin';
5
7
  import { linkItem } from './links';
6
- import { canInsert, markActive } from './menu-common';
7
- // Helpers to create specific types of items
8
+ import { canInsert, IconSize, markActive, renderClarityIcon, wrapInMenuItemWithIcon } from './menu-common';
9
+ import { SubMenuWithIcon } from './sub-menu-with-icon';
8
10
  function cmdItem(cmd, options) {
9
11
  const passedOptions = {
10
12
  label: options.title,
11
13
  run: cmd,
14
+ render: options.iconShape
15
+ ? renderClarityIcon({ shape: options.iconShape, size: IconSize.Large })
16
+ : undefined,
12
17
  };
13
18
  // tslint:disable-next-line:forin
14
19
  for (const prop in options) {
@@ -98,10 +103,16 @@ export function buildMenuItems(schema, modalService) {
98
103
  let type;
99
104
  // tslint:disable:no-conditional-assignment
100
105
  if ((type = schema.marks.strong)) {
101
- r.toggleStrong = markItem(type, { title: 'Toggle strong style', icon: icons.strong });
106
+ r.toggleStrong = markItem(type, {
107
+ title: 'Toggle strong style',
108
+ iconShape: 'bold',
109
+ });
102
110
  }
103
111
  if ((type = schema.marks.em)) {
104
- r.toggleEm = markItem(type, { title: 'Toggle emphasis', icon: icons.em });
112
+ r.toggleEm = markItem(type, {
113
+ title: 'Toggle emphasis',
114
+ iconShape: 'italic',
115
+ });
105
116
  }
106
117
  if ((type = schema.marks.code)) {
107
118
  r.toggleCode = markItem(type, { title: 'Toggle code font', icon: icons.code });
@@ -115,31 +126,31 @@ export function buildMenuItems(schema, modalService) {
115
126
  if ((type = schema.nodes.bullet_list)) {
116
127
  r.wrapBulletList = wrapListItem(type, {
117
128
  title: 'Wrap in bullet list',
118
- icon: icons.bulletList,
129
+ iconShape: 'bullet-list',
119
130
  });
120
131
  }
121
132
  if ((type = schema.nodes.ordered_list)) {
122
133
  r.wrapOrderedList = wrapListItem(type, {
123
134
  title: 'Wrap in ordered list',
124
- icon: icons.orderedList,
135
+ iconShape: 'number-list',
125
136
  });
126
137
  }
127
138
  if ((type = schema.nodes.blockquote)) {
128
139
  r.wrapBlockQuote = wrapItem(type, {
129
140
  title: 'Wrap in block quote',
130
- icon: icons.blockquote,
141
+ render: renderClarityIcon({ shape: 'block-quote', size: IconSize.Large }),
131
142
  });
132
143
  }
133
144
  if ((type = schema.nodes.paragraph)) {
134
145
  r.makeParagraph = blockTypeItem(type, {
135
146
  title: 'Change to paragraph',
136
- label: 'Plain',
147
+ render: renderClarityIcon({ shape: 'text', label: 'Plain' }),
137
148
  });
138
149
  }
139
150
  if ((type = schema.nodes.code_block)) {
140
151
  r.makeCodeBlock = blockTypeItem(type, {
141
152
  title: 'Change to code block',
142
- label: 'Code',
153
+ render: renderClarityIcon({ shape: 'code', label: 'Code' }),
143
154
  });
144
155
  }
145
156
  if ((type = schema.nodes.heading)) {
@@ -155,9 +166,13 @@ export function buildMenuItems(schema, modalService) {
155
166
  const hr = type;
156
167
  r.insertHorizontalRule = new MenuItem({
157
168
  title: 'Insert horizontal rule',
158
- label: 'Horizontal rule',
159
- class: '',
160
- css: '',
169
+ render: view => {
170
+ const icon = document.createElement('div');
171
+ icon.classList.add('custom-icon', 'hr-icon');
172
+ const labelEl = document.createElement('span');
173
+ labelEl.textContent = 'Horizontal rule';
174
+ return wrapInMenuItemWithIcon(icon, labelEl);
175
+ },
161
176
  enable(state) {
162
177
  return canInsert(state, hr);
163
178
  },
@@ -167,12 +182,34 @@ export function buildMenuItems(schema, modalService) {
167
182
  });
168
183
  }
169
184
  const cut = (arr) => arr.filter(x => x);
170
- r.insertMenu = new Dropdown(cut([r.insertImage, r.insertHorizontalRule]), { label: 'Insert' });
185
+ r.insertMenu = new Dropdown(cut([
186
+ r.insertImage,
187
+ r.insertHorizontalRule,
188
+ new MenuItem({
189
+ run: (state, dispatch) => {
190
+ addTable(state, dispatch, {
191
+ rowsCount: 2,
192
+ colsCount: 2,
193
+ withHeaderRow: true,
194
+ cellContent: '',
195
+ });
196
+ },
197
+ render: renderClarityIcon({ shape: 'table', label: 'Table' }),
198
+ }),
199
+ ]), { label: 'Insert' });
171
200
  r.typeMenu = new Dropdown(cut([
172
201
  r.makeParagraph,
173
202
  r.makeCodeBlock,
174
203
  r.makeHead1 &&
175
- new DropdownSubmenu(cut([r.makeHead1, r.makeHead2, r.makeHead3, r.makeHead4, r.makeHead5, r.makeHead6]), { label: 'Heading' }),
204
+ new SubMenuWithIcon(cut([r.makeHead1, r.makeHead2, r.makeHead3, r.makeHead4, r.makeHead5, r.makeHead6]), {
205
+ label: 'Heading',
206
+ icon: () => {
207
+ const icon = document.createElement('div');
208
+ icon.textContent = 'H';
209
+ icon.classList.add('custom-icon', 'h-icon');
210
+ return icon;
211
+ },
212
+ }),
176
213
  ]), { label: 'Type...' });
177
214
  const inlineMenu = cut([r.toggleStrong, r.toggleEm, r.toggleLink]);
178
215
  r.inlineMenu = [inlineMenu];
@@ -186,7 +223,25 @@ export function buildMenuItems(schema, modalService) {
186
223
  selectParentNodeItem,
187
224
  ]),
188
225
  ];
189
- r.fullMenu = [inlineMenu].concat([[r.insertMenu, r.typeMenu]], [[undoItem, redoItem]], r.blockMenu);
226
+ const undoRedo = [
227
+ new MenuItem({
228
+ title: 'Undo last change',
229
+ run: undo,
230
+ enable(state) {
231
+ return undo(state);
232
+ },
233
+ render: renderClarityIcon({ shape: 'undo', size: IconSize.Large }),
234
+ }),
235
+ new MenuItem({
236
+ title: 'Redo last undone change',
237
+ run: redo,
238
+ enable(state) {
239
+ return redo(state);
240
+ },
241
+ render: renderClarityIcon({ shape: 'redo', size: IconSize.Large }),
242
+ }),
243
+ ];
244
+ r.fullMenu = [inlineMenu].concat([[r.insertMenu, r.typeMenu]], [undoRedo], r.blockMenu);
190
245
  return r;
191
246
  }
192
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2NvbXBvbmVudHMvcmljaC10ZXh0LWVkaXRvci9wcm9zZW1pcnJvci9tZW51L21lbnUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFDSCxhQUFhLEVBQ2IsUUFBUSxFQUNSLGVBQWUsRUFDZixLQUFLLEVBQ0wsVUFBVSxFQUNWLFFBQVEsRUFDUixRQUFRLEVBQ1IsUUFBUSxFQUNSLG9CQUFvQixFQUNwQixRQUFRLEVBQ1IsUUFBUSxHQUNYLE1BQU0sa0JBQWtCLENBQUM7QUFFMUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBS3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNuQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0RCw0Q0FBNEM7QUFFNUMsU0FBUyxPQUFPLENBQUMsR0FBNkIsRUFBRSxPQUE0QjtJQUN4RSxNQUFNLGFBQWEsR0FBRztRQUNsQixLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7UUFDcEIsR0FBRyxFQUFFLEdBQUc7S0FDWCxDQUFDO0lBQ0YsaUNBQWlDO0lBQ2pDLEtBQUssTUFBTSxJQUFJLElBQUksT0FBTyxFQUFFO1FBQ3hCLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDdkM7SUFDRCxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1FBQ2pFLGFB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dkIsQ0FBQztJQUVGLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDNUIsQ0FBQyxDQUFDLFNBQVMsR0FBRztRQUNWLEdBQUcsQ0FBQztZQUNBLENBQUMsQ0FBQyxjQUFjO1lBQ2hCLENBQUMsQ0FBQyxlQUFlO1lBQ2pCLENBQUMsQ0FBQyxjQUFjO1lBQ2hCLFVBQVU7WUFDVixRQUFRO1lBQ1Isb0JBQW9CO1NBQ3ZCLENBQUM7S0FDTCxDQUFDO0lBQ0YsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRXBHLE9BQU8sQ0FBQyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRvZ2dsZU1hcmsgfSBmcm9tICdwcm9zZW1pcnJvci1jb21tYW5kcyc7XHJcbmltcG9ydCB7XHJcbiAgICBibG9ja1R5cGVJdGVtLFxyXG4gICAgRHJvcGRvd24sXHJcbiAgICBEcm9wZG93blN1Ym1lbnUsXHJcbiAgICBpY29ucyxcclxuICAgIGpvaW5VcEl0ZW0sXHJcbiAgICBsaWZ0SXRlbSxcclxuICAgIE1lbnVJdGVtLFxyXG4gICAgcmVkb0l0ZW0sXHJcbiAgICBzZWxlY3RQYXJlbnROb2RlSXRlbSxcclxuICAgIHVuZG9JdGVtLFxyXG4gICAgd3JhcEl0ZW0sXHJcbn0gZnJvbSAncHJvc2VtaXJyb3ItbWVudSc7XHJcbmltcG9ydCB7IE1hcmtUeXBlLCBOb2RlVHlwZSwgU2NoZW1hIH0gZnJvbSAncHJvc2VtaXJyb3ItbW9kZWwnO1xyXG5pbXBvcnQgeyB3cmFwSW5MaXN0IH0gZnJvbSAncHJvc2VtaXJyb3Itc2NoZW1hLWxpc3QnO1xyXG5pbXBvcnQgeyBFZGl0b3JTdGF0ZSB9IGZyb20gJ3Byb3NlbWlycm9yLXN0YXRlJztcclxuXHJcbmltcG9ydCB7IE1vZGFsU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3Byb3ZpZGVycy9tb2RhbC9tb2RhbC5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IGluc2VydEltYWdlSXRlbSB9IGZyb20gJy4vaW1hZ2VzJztcclxuaW1wb3J0IHsgbGlua0l0ZW0gfSBmcm9tICcuL2xpbmtzJztcclxuaW1wb3J0IHsgY2FuSW5zZXJ0LCBtYXJrQWN0aXZlIH0gZnJvbSAnLi9tZW51LWNvbW1vbic7XHJcblxyXG4vLyBIZWxwZXJzIHRvIGNyZWF0ZSBzcGVjaWZpYyB0eXBlcyBvZiBpdGVtc1xyXG5cclxuZnVuY3Rpb24gY21kSXRlbShjbWQ6ICguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZCwgb3B0aW9uczogUmVjb3JkPHN0cmluZywgYW55Pikge1xyXG4gICAgY29uc3QgcGFzc2VkT3B0aW9ucyA9IHtcclxuICAgICAgICBsYWJlbDogb3B0aW9ucy50aXRsZSxcclxuICAgICAgICBydW46IGNtZCxcclxuICAgIH07XHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Zm9yaW5cclxuICAgIGZvciAoY29uc3QgcHJvcCBpbiBvcHRpb25zKSB7XHJcbiAgICAgICAgcGFzc2VkT3B0aW9uc1twcm9wXSA9IG9wdGlvbnNbcHJvcF07XHJcbiAgICB9XHJcbiAgICBpZiAoKCFvcHRpb25zLmVuYWJsZSB8fCBvcHRpb25zLmVuYWJsZSA9PT0gdHJ1ZSkgJiYgIW9wdGlvbnMuc2VsZWN0KSB7XHJcbiAgICAgICAgcGFzc2VkT3B0aW9uc1tvcHRpb25zLmVuYWJsZSA/ICdlbmFibGUnIDogJ3NlbGVjdCddID0gc3RhdGUgPT4gY21kKHN0YXRlKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbmV3IE1lbnVJdGVtKHBhc3NlZE9wdGlvbnMgYXMgYW55KTtcclxufVxyXG5cclxuZnVuY3Rpb24gbWFya0l0ZW0obWFya1R5cGUsIG9wdGlvbnMpIHtcclxuICAgIGNvbnN0IHBhc3NlZE9wdGlvbnMgPSB7XHJcbiAgICAgICAgYWN0aXZlKHN0YXRlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBtYXJrQWN0aXZlKHN0YXRlLCBtYXJrVHlwZSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlbmFibGU6IHRydWUsXHJcbiAgICB9O1xyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmZvcmluXHJcbiAgICBmb3IgKGNvbnN0IHByb3AgaW4gb3B0aW9ucykge1xyXG4gICAgICAgIHBhc3NlZE9wdGlvbnNbcHJvcF0gPSBvcHRpb25zW3Byb3BdO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNtZEl0ZW0odG9nZ2xlTWFyayhtYXJrVHlwZSksIHBhc3NlZE9wdGlvbnMpO1xyXG59XHJcblxyXG5mdW5jdGlvbiB3cmFwTGlzdEl0ZW0obm9kZVR5cGUsIG9wdGlvbnMpIHtcclxuICAgIHJldHVybiBjbWRJdGVtKHdyYXBJbkxpc3Qobm9kZVR5cGUsIG9wdGlvbnMuYXR0cnMpLCBvcHRpb25zKTtcclxufVxyXG5cclxuLy8gOjogKFNjaGVtYSkg4oaSIE9iamVjdFxyXG4vLyBHaXZlbiBhIHNjaGVtYSwgbG9vayBmb3IgZGVmYXVsdCBtYXJrIGFuZCBub2RlIHR5cGVzIGluIGl0IGFuZFxyXG4vLyByZXR1cm4gYW4gb2JqZWN0IHdpdGggcmVsZXZhbnQgbWVudSBpdGVtcyByZWxhdGluZyB0byB0aG9zZSBtYXJrczpcclxuLy9cclxuLy8gKipgdG9nZ2xlU3Ryb25nYCoqYDogTWVudUl0ZW1gXHJcbi8vICAgOiBBIG1lbnUgaXRlbSB0byB0b2dnbGUgdGhlIFtzdHJvbmcgbWFya10oI3NjaGVtYS1iYXNpYy5TdHJvbmdNYXJrKS5cclxuLy9cclxuLy8gKipgdG9nZ2xlRW1gKipgOiBNZW51SXRlbWBcclxuLy8gICA6IEEgbWVudSBpdGVtIHRvIHRvZ2dsZSB0aGUgW2VtcGhhc2lzIG1hcmtdKCNzY2hlbWEtYmFzaWMuRW1NYXJrKS5cclxuLy9cclxuLy8gKipgdG9nZ2xlQ29kZWAqKmA6IE1lbnVJdGVtYFxyXG4vLyAgIDogQSBtZW51IGl0ZW0gdG8gdG9nZ2xlIHRoZSBbY29kZSBmb250IG1hcmtdKCNzY2hlbWEtYmFzaWMuQ29kZU1hcmspLlxyXG4vL1xyXG4vLyAqKmB0b2dnbGVMaW5rYCoqYDogTWVudUl0ZW1gXHJcbi8vICAgOiBBIG1lbnUgaXRlbSB0byB0b2dnbGUgdGhlIFtsaW5rIG1hcmtdKCNzY2hlbWEtYmFzaWMuTGlua01hcmspLlxyXG4vL1xyXG4vLyAqKmBpbnNlcnRJbWFnZWAqKmA6IE1lbnVJdGVtYFxyXG4vLyAgIDogQSBtZW51IGl0ZW0gdG8gaW5zZXJ0IGFuIFtpbWFnZV0oI3NjaGVtYS1iYXNpYy5JbWFnZSkuXHJcbi8vXHJcbi8vICoqYHdyYXBCdWxsZXRMaXN0YCoqYDogTWVudUl0ZW1gXHJcbi8vICAgOiBBIG1lbnUgaXRlbSB0byB3cmFwIHRoZSBzZWxlY3Rpb24gaW4gYSBbYnVsbGV0IGxpc3RdKCNzY2hlbWEtbGlzdC5CdWxsZXRMaXN0KS5cclxuLy9cclxuLy8gKipgd3JhcE9yZGVyZWRMaXN0YCoqYDogTWVudUl0ZW1gXHJcbi8vICAgOiBBIG1lbnUgaXRlbSB0byB3cmFwIHRoZSBzZWxlY3Rpb24gaW4gYW4gW29yZGVyZWQgbGlzdF0oI3NjaGVtYS1saXN0Lk9yZGVyZWRMaXN0KS5cclxuLy9cclxuLy8gKipgd3JhcEJsb2NrUXVvdGVgKipgOiBNZW51SXRlbWBcclxuLy8gICA6IEEgbWVudSBpdGVtIHRvIHdyYXAgdGhlIHNlbGVjdGlvbiBpbiBhIFtibG9jayBxdW90ZV0oI3NjaGVtYS1iYXNpYy5CbG9ja1F1b3RlKS5cclxuLy9cclxuLy8gKipgbWFrZVBhcmFncmFwaGAqKmA6IE1lbnVJdGVtYFxyXG4vLyAgIDogQSBtZW51IGl0ZW0gdG8gc2V0IHRoZSBjdXJyZW50IHRleHRibG9jayB0byBiZSBhIG5vcm1hbFxyXG4vLyAgICAgW3BhcmFncmFwaF0oI3NjaGVtYS1iYXNpYy5QYXJhZ3JhcGgpLlxyXG4vL1xyXG4vLyAqKmBtYWtlQ29kZUJsb2NrYCoqYDogTWVudUl0ZW1gXHJcbi8vICAgOiBBIG1lbnUgaXRlbSB0byBzZXQgdGhlIGN1cnJlbnQgdGV4dGJsb2NrIHRvIGJlIGFcclxuLy8gICAgIFtjb2RlIGJsb2NrXSgjc2NoZW1hLWJhc2ljLkNvZGVCbG9jaykuXHJcbi8vXHJcbi8vICoqYG1ha2VIZWFkW05dYCoqYDogTWVudUl0ZW1gXHJcbi8vICAgOiBXaGVyZSBfTl8gaXMgMSB0byA2LiBNZW51IGl0ZW1zIHRvIHNldCB0aGUgY3VycmVudCB0ZXh0YmxvY2sgdG9cclxuLy8gICAgIGJlIGEgW2hlYWRpbmddKCNzY2hlbWEtYmFzaWMuSGVhZGluZykgb2YgbGV2ZWwgX05fLlxyXG4vL1xyXG4vLyAqKmBpbnNlcnRIb3Jpem9udGFsUnVsZWAqKmA6IE1lbnVJdGVtYFxyXG4vLyAgIDogQSBtZW51IGl0ZW0gdG8gaW5zZXJ0IGEgaG9yaXpvbnRhbCBydWxlLlxyXG4vL1xyXG4vLyBUaGUgcmV0dXJuIHZhbHVlIGFsc28gY29udGFpbnMgc29tZSBwcmVmYWJyaWNhdGVkIG1lbnUgZWxlbWVudHMgYW5kXHJcbi8vIG1lbnVzLCB0aGF0IHlvdSBjYW4gdXNlIGluc3RlYWQgb2YgY29tcG9zaW5nIHlvdXIgb3duIG1lbnUgZnJvbVxyXG4vLyBzY3JhdGNoOlxyXG4vL1xyXG4vLyAqKmBpbnNlcnRNZW51YCoqYDogRHJvcGRvd25gXHJcbi8vICAgOiBBIGRyb3Bkb3duIGNvbnRhaW5pbmcgdGhlIGBpbnNlcnRJbWFnZWAgYW5kXHJcbi8vICAgICBgaW5zZXJ0SG9yaXpvbnRhbFJ1bGVgIGl0ZW1zLlxyXG4vL1xyXG4vLyAqKmB0eXBlTWVudWAqKmA6IERyb3Bkb3duYFxyXG4vLyAgIDogQSBkcm9wZG93biBjb250YWluaW5nIHRoZSBpdGVtcyBmb3IgbWFraW5nIHRoZSBjdXJyZW50XHJcbi8vICAgICB0ZXh0YmxvY2sgYSBwYXJhZ3JhcGgsIGNvZGUgYmxvY2ssIG9yIGhlYWRpbmcuXHJcbi8vXHJcbi8vICoqYGZ1bGxNZW51YCoqYDogW1tNZW51RWxlbWVudF1dYFxyXG4vLyAgIDogQW4gYXJyYXkgb2YgYXJyYXlzIG9mIG1lbnUgZWxlbWVudHMgZm9yIHVzZSBhcyB0aGUgZnVsbCBtZW51XHJcbi8vICAgICBmb3IsIGZvciBleGFtcGxlIHRoZSBbbWVudSBiYXJdKGh0dHBzOi8vZ2l0aHViLmNvbS9wcm9zZW1pcnJvci9wcm9zZW1pcnJvci1tZW51I3VzZXItY29udGVudC1tZW51YmFyKS5cclxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkTWVudUl0ZW1zKHNjaGVtYTogU2NoZW1hLCBtb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZSkge1xyXG4gICAgY29uc3QgcjogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xyXG4gICAgbGV0IHR5cGU6IE1hcmtUeXBlIHwgTm9kZVR5cGU7XHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZTpuby1jb25kaXRpb25hbC1hc3NpZ25tZW50XHJcbiAgICBpZiAoKHR5cGUgPSBzY2hlbWEubWFya3Muc3Ryb25nKSkge1xyXG4gICAgICAgIHIudG9nZ2xlU3Ryb25nID0gbWFya0l0ZW0odHlwZSwgeyB0aXRsZTogJ1RvZ2dsZSBzdHJvbmcgc3R5bGUnLCBpY29uOiBpY29ucy5zdHJvbmcgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAoKHR5cGUgPSBzY2hlbWEubWFya3MuZW0pKSB7XHJcbiAgICAgICAgci50b2dnbGVFbSA9IG1hcmtJdGVtKHR5cGUsIHsgdGl0bGU6ICdUb2dnbGUgZW1waGFzaXMnLCBpY29uOiBpY29ucy5lbSB9KTtcclxuICAgIH1cclxuICAgIGlmICgodHlwZSA9IHNjaGVtYS5tYXJrcy5jb2RlKSkge1xyXG4gICAgICAgIHIudG9nZ2xlQ29kZSA9IG1hcmtJdGVtKHR5cGUsIHsgdGl0bGU6ICdUb2dnbGUgY29kZSBmb250JywgaWNvbjogaWNvbnMuY29kZSB9KTtcclxuICAgIH1cclxuICAgIGlmICgodHlwZSA9IHNjaGVtYS5tYXJrcy5saW5rKSkge1xyXG4gICAgICAgIHIudG9nZ2xlTGluayA9IGxpbmtJdGVtKHR5cGUsIG1vZGFsU2VydmljZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCh0eXBlID0gc2NoZW1hLm5vZGVzLmltYWdlKSkge1xyXG4gICAgICAgIHIuaW5zZXJ0SW1hZ2UgPSBpbnNlcnRJbWFnZUl0ZW0odHlwZSwgbW9kYWxTZXJ2aWNlKTtcclxuICAgIH1cclxuICAgIGlmICgodHlwZSA9IHNjaGVtYS5ub2Rlcy5idWxsZXRfbGlzdCkpIHtcclxuICAgICAgICByLndyYXBCdWxsZXRMaXN0ID0gd3JhcExpc3RJdGVtKHR5cGUsIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdXcmFwIGluIGJ1bGxldCBsaXN0JyxcclxuICAgICAgICAgICAgaWNvbjogaWNvbnMuYnVsbGV0TGlzdCxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIGlmICgodHlwZSA9IHNjaGVtYS5ub2Rlcy5vcmRlcmVkX2xpc3QpKSB7XHJcbiAgICAgICAgci53cmFwT3JkZXJlZExpc3QgPSB3cmFwTGlzdEl0ZW0odHlwZSwge1xyXG4gICAgICAgICAgICB0aXRsZTogJ1dyYXAgaW4gb3JkZXJlZCBsaXN0JyxcclxuICAgICAgICAgICAgaWNvbjogaWNvbnMub3JkZXJlZExpc3QsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAoKHR5cGUgPSBzY2hlbWEubm9kZXMuYmxvY2txdW90ZSkpIHtcclxuICAgICAgICByLndyYXBCbG9ja1F1b3RlID0gd3JhcEl0ZW0odHlwZSwge1xyXG4gICAgICAgICAgICB0aXRsZTogJ1dyYXAgaW4gYmxvY2sgcXVvdGUnLFxyXG4gICAgICAgICAgICBpY29uOiBpY29ucy5ibG9ja3F1b3RlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKCh0eXBlID0gc2NoZW1hLm5vZGVzLnBhcmFncmFwaCkpIHtcclxuICAgICAgICByLm1ha2VQYXJhZ3JhcGggPSBibG9ja1R5cGVJdGVtKHR5cGUsIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdDaGFuZ2UgdG8gcGFyYWdyYXBoJyxcclxuICAgICAgICAgICAgbGFiZWw6ICdQbGFpbicsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAoKHR5cGUgPSBzY2hlbWEubm9kZXMuY29kZV9ibG9jaykpIHtcclxuICAgICAgICByLm1ha2VDb2RlQmxvY2sgPSBibG9ja1R5cGVJdGVtKHR5cGUsIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdDaGFuZ2UgdG8gY29kZSBibG9jaycsXHJcbiAgICAgICAgICAgIGxhYmVsOiAnQ29kZScsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAoKHR5cGUgPSBzY2hlbWEubm9kZXMuaGVhZGluZykpIHtcclxuICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8PSAxMDsgaSsrKSB7XHJcbiAgICAgICAgICAgIHJbJ21ha2VIZWFkJyArIGldID0gYmxvY2tUeXBlSXRlbSh0eXBlLCB7XHJcbiAgICAgICAgICAgICAgICB0aXRsZTogJ0NoYW5nZSB0byBoZWFkaW5nICcgKyBpLFxyXG4gICAgICAgICAgICAgICAgbGFiZWw6ICdMZXZlbCAnICsgaSxcclxuICAgICAgICAgICAgICAgIGF0dHJzOiB7IGxldmVsOiBpIH0sXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICgodHlwZSA9IHNjaGVtYS5ub2Rlcy5ob3Jpem9udGFsX3J1bGUpKSB7XHJcbiAgICAgICAgY29uc3QgaHIgPSB0eXBlO1xyXG4gICAgICAgIHIuaW5zZXJ0SG9yaXpvbnRhbFJ1bGUgPSBuZXcgTWVudUl0ZW0oe1xyXG4gICAgICAgICAgICB0aXRsZTogJ0luc2VydCBob3Jpem9udGFsIHJ1bGUnLFxyXG4gICAgICAgICAgICBsYWJlbDogJ0hvcml6b250YWwgcnVsZScsXHJcbiAgICAgICAgICAgIGNsYXNzOiAnJyxcclxuICAgICAgICAgICAgY3NzOiAnJyxcclxuICAgICAgICAgICAgZW5hYmxlKHN0YXRlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gY2FuSW5zZXJ0KHN0YXRlLCBocik7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHJ1bihzdGF0ZTogRWRpdG9yU3RhdGUsIGRpc3BhdGNoKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwYXRjaChzdGF0ZS50ci5yZXBsYWNlU2VsZWN0aW9uV2l0aChoci5jcmVhdGUoKSkpO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGN1dCA9IDxUPihhcnI6IFRbXSk6IFRbXSA9PiBhcnIuZmlsdGVyKHggPT4geCk7XHJcbiAgICByLmluc2VydE1lbnUgPSBuZXcgRHJvcGRvd24oY3V0KFtyLmluc2VydEltYWdlLCByLmluc2VydEhvcml6b250YWxSdWxlXSksIHsgbGFiZWw6ICdJbnNlcnQnIH0pO1xyXG4gICAgci50eXBlTWVudSA9IG5ldyBEcm9wZG93bihcclxuICAgICAgICBjdXQoW1xyXG4gICAgICAgICAgICByLm1ha2VQYXJhZ3JhcGgsXHJcbiAgICAgICAgICAgIHIubWFrZUNvZGVCbG9jayxcclxuICAgICAgICAgICAgci5tYWtlSGVhZDEgJiZcclxuICAgICAgICAgICAgICAgIG5ldyBEcm9wZG93blN1Ym1lbnUoXHJcbiAgICAgICAgICAgICAgICAgICAgY3V0KFtyLm1ha2VIZWFkMSwgci5tYWtlSGVhZDIsIHIubWFrZUhlYWQzLCByLm1ha2VIZWFkNCwgci5tYWtlSGVhZDUsIHIubWFrZUhlYWQ2XSksXHJcbiAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogJ0hlYWRpbmcnIH0sXHJcbiAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgIF0pLFxyXG4gICAgICAgIHsgbGFiZWw6ICdUeXBlLi4uJyB9LFxyXG4gICAgKTtcclxuXHJcbiAgICBjb25zdCBpbmxpbmVNZW51ID0gY3V0KFtyLnRvZ2dsZVN0cm9uZywgci50b2dnbGVFbSwgci50b2dnbGVMaW5rXSk7XHJcbiAgICByLmlubGluZU1lbnUgPSBbaW5saW5lTWVudV07XHJcbiAgICByLmJsb2NrTWVudSA9IFtcclxuICAgICAgICBjdXQoW1xyXG4gICAgICAgICAgICByLndyYXBCdWxsZXRMaXN0LFxyXG4gICAgICAgICAgICByLndyYXBPcmRlcmVkTGlzdCxcclxuICAgICAgICAgICAgci53cmFwQmxvY2tRdW90ZSxcclxuICAgICAgICAgICAgam9pblVwSXRlbSxcclxuICAgICAgICAgICAgbGlmdEl0ZW0sXHJcbiAgICAgICAgICAgIHNlbGVjdFBhcmVudE5vZGVJdGVtLFxyXG4gICAgICAgIF0pLFxyXG4gICAgXTtcclxuICAgIHIuZnVsbE1lbnUgPSBbaW5saW5lTWVudV0uY29uY2F0KFtbci5pbnNlcnRNZW51LCByLnR5cGVNZW51XV0sIFtbdW5kb0l0ZW0sIHJlZG9JdGVtXV0sIHIuYmxvY2tNZW51KTtcclxuXHJcbiAgICByZXR1cm4gcjtcclxufVxyXG4iXX0=
247
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2NvbXBvbmVudHMvcmljaC10ZXh0LWVkaXRvci9wcm9zZW1pcnJvci9tZW51L21lbnUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUNILGFBQWEsRUFDYixRQUFRLEVBQ1IsS0FBSyxFQUNMLFVBQVUsRUFDVixRQUFRLEVBQ1IsUUFBUSxFQUNSLG9CQUFvQixFQUNwQixRQUFRLEdBQ1gsTUFBTSxrQkFBa0IsQ0FBQztBQUUxQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ25DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFNdkQsU0FBUyxPQUFPLENBQUMsR0FBNkIsRUFBRSxPQUF1QjtJQUNuRSxNQUFNLGFBQWEsR0FBRztRQUNsQixLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7UUFDcEIsR0FBRyxFQUFFLEdBQUc7UUFDUixNQUFNLEVBQUUsT0FBTyxDQUFDLFNBQVM7WUFDckIsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFB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QUUsSUFBSTtZQUNULE1BQU0sQ0FBQyxLQUFLO2dCQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZCLENBQUM7WUFDRCxNQUFNLEVBQUUsaUJBQWlCLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDckUsQ0FBQztLQUNMLENBQUM7SUFDRixDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRXhGLE9BQU8sQ0FBQyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRvZ2dsZU1hcmsgfSBmcm9tICdwcm9zZW1pcnJvci1jb21tYW5kcyc7XHJcbmltcG9ydCB7IHJlZG8sIHVuZG8gfSBmcm9tICdwcm9zZW1pcnJvci1oaXN0b3J5JztcclxuaW1wb3J0IHtcclxuICAgIGJsb2NrVHlwZUl0ZW0sXHJcbiAgICBEcm9wZG93bixcclxuICAgIGljb25zLFxyXG4gICAgam9pblVwSXRlbSxcclxuICAgIGxpZnRJdGVtLFxyXG4gICAgTWVudUl0ZW0sXHJcbiAgICBzZWxlY3RQYXJlbnROb2RlSXRlbSxcclxuICAgIHdyYXBJdGVtLFxyXG59IGZyb20gJ3Byb3NlbWlycm9yLW1lbnUnO1xyXG5pbXBvcnQgeyBNYXJrVHlwZSwgTm9kZVR5cGUsIFNjaGVtYSB9IGZyb20gJ3Byb3NlbWlycm9yLW1vZGVsJztcclxuaW1wb3J0IHsgd3JhcEluTGlzdCB9IGZyb20gJ3Byb3NlbWlycm9yLXNjaGVtYS1saXN0JztcclxuaW1wb3J0IHsgRWRpdG9yU3RhdGUgfSBmcm9tICdwcm9zZW1pcnJvci1zdGF0ZSc7XHJcblxyXG5pbXBvcnQgeyBNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9wcm92aWRlcnMvbW9kYWwvbW9kYWwuc2VydmljZSc7XHJcbmltcG9ydCB7IGluc2VydEltYWdlSXRlbSB9IGZyb20gJy4uL3BsdWdpbnMvaW1hZ2UtcGx1Z2luJztcclxuaW1wb3J0IHsgYWRkVGFibGUgfSBmcm9tICcuLi9wbHVnaW5zL3RhYmxlcy1wbHVnaW4nO1xyXG5cclxuaW1wb3J0IHsgbGlua0l0ZW0gfSBmcm9tICcuL2xpbmtzJztcclxuaW1wb3J0IHsgY2FuSW5zZXJ0LCBJY29uU2l6ZSwgbWFya0FjdGl2ZSwgcmVuZGVyQ2xhcml0eUljb24sIHdyYXBJbk1lbnVJdGVtV2l0aEljb24gfSBmcm9tICcuL21lbnUtY29tbW9uJztcclxuaW1wb3J0IHsgU3ViTWVudVdpdGhJY29uIH0gZnJvbSAnLi9zdWItbWVudS13aXRoLWljb24nO1xyXG5cclxuLy8gSGVscGVycyB0byBjcmVhdGUgc3BlY2lmaWMgdHlwZXMgb2YgaXRlbXNcclxuXHJcbnR5cGUgQ21kSXRlbU9wdGlvbnMgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+ICYgeyBpY29uU2hhcGU/OiBzdHJpbmcgfTtcclxuXHJcbmZ1bmN0aW9uIGNtZEl0ZW0oY21kOiAoLi4uYXJnczogYW55W10pID0+IHZvaWQsIG9wdGlvbnM6IENtZEl0ZW1PcHRpb25zKSB7XHJcbiAgICBjb25zdCBwYXNzZWRPcHRpb25zID0ge1xyXG4gICAgICAgIGxhYmVsOiBvcHRpb25zLnRpdGxlLFxyXG4gICAgICAgIHJ1bjogY21kLFxyXG4gICAgICAgIHJlbmRlcjogb3B0aW9ucy5pY29uU2hhcGVcclxuICAgICAgICAgICAgPyByZW5kZXJDbGFyaXR5SWNvbih7IHNoYXBlOiBvcHRpb25zLmljb25TaGFwZSwgc2l6ZTogSWNvblNpemUuTGFyZ2UgfSlcclxuICAgICAgICAgICAgOiB1bmRlZmluZWQsXHJcbiAgICB9O1xyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmZvcmluXHJcbiAgICBmb3IgKGNvbnN0IHByb3AgaW4gb3B0aW9ucykge1xyXG4gICAgICAgIHBhc3NlZE9wdGlvbnNbcHJvcF0gPSBvcHRpb25zW3Byb3BdO1xyXG4gICAgfVxyXG4gICAgaWYgKCghb3B0aW9ucy5lbmFibGUgfHwgb3B0aW9ucy5lbmFibGUgPT09IHRydWUpICYmICFvcHRpb25zLnNlbGVjdCkge1xyXG4gICAgICAgIHBhc3NlZE9wdGlvbnNbb3B0aW9ucy5lbmFibGUgPyAnZW5hYmxlJyA6ICdzZWxlY3QnXSA9IHN0YXRlID0+IGNtZChzdGF0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG5ldyBNZW51SXRlbShwYXNzZWRPcHRpb25zIGFzIGFueSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIG1hcmtJdGVtKG1hcmtUeXBlLCBvcHRpb25zOiBDbWRJdGVtT3B0aW9ucykge1xyXG4gICAgY29uc3QgcGFzc2VkT3B0aW9ucyA9IHtcclxuICAgICAgICBhY3RpdmUoc3RhdGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG1hcmtBY3RpdmUoc3RhdGUsIG1hcmtUeXBlKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVuYWJsZTogdHJ1ZSxcclxuICAgIH07XHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Zm9yaW5cclxuICAgIGZvciAoY29uc3QgcHJvcCBpbiBvcHRpb25zKSB7XHJcbiAgICAgICAgcGFzc2VkT3B0aW9uc1twcm9wXSA9IG9wdGlvbnNbcHJvcF07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY21kSXRlbSh0b2dnbGVNYXJrKG1hcmtUeXBlKSwgcGFzc2VkT3B0aW9ucyk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHdyYXBMaXN0SXRlbShub2RlVHlwZSwgb3B0aW9uczogQ21kSXRlbU9wdGlvbnMpIHtcclxuICAgIHJldHVybiBjbWRJdGVtKHdyYXBJbkxpc3Qobm9kZVR5cGUsIG9wdGlvbnMuYXR0cnMpLCBvcHRpb25zKTtcclxufVxyXG5cclxuLy8gOjogKFNjaGVtYSkg4oaSIE9iamVjdFxyXG4vLyBHaXZlbiBhIHNjaGVtYSwgbG9vayBmb3IgZGVmYXVsdCBtYXJrIGFuZCBub2RlIHR5cGVzIGluIGl0IGFuZFxyXG4vLyByZXR1cm4gYW4gb2JqZWN0IHdpdGggcmVsZXZhbnQgbWVudSBpdGVtcyByZWxhdGluZyB0byB0aG9zZSBtYXJrczpcclxuLy9cclxuLy8gKipgdG9nZ2xlU3Ryb25nYCoqYDogTWVudUl0ZW1gXHJcbi8vICAgOiBBIG1lbnUgaXRlbSB0byB0b2dnbGUgdGhlIFtzdHJvbmcgbWFya10oI3NjaGVtYS1iYXNpYy5TdHJvbmdNYXJrKS5cclxuLy9cclxuLy8gKipgdG9nZ2xlRW1gKipgOiBNZW51SXRlbWBcclxuLy8gICA6IEEgbWVudSBpdGVtIHRvIHRvZ2dsZSB0aGUgW2VtcGhhc2lzIG1hcmtdKCNzY2hlbWEtYmFzaWMuRW1NYXJrKS5cclxuLy9cclxuLy8gKipgdG9nZ2xlQ29kZWAqKmA6IE1lbnVJdGVtYFxyXG4vLyAgIDogQSBtZW51IGl0ZW0gdG8gdG9nZ2xlIHRoZSBbY29kZSBmb250IG1hcmtdKCNzY2hlbWEtYmFzaWMuQ29kZU1hcmspLlxyXG4vL1xyXG4vLyAqKmB0b2dnbGVMaW5rYCoqYDogTWVudUl0ZW1gXHJcbi8vICAgOiBBIG1lbnUgaXRlbSB0byB0b2dnbGUgdGhlIFtsaW5rIG1hcmtdKCNzY2hlbWEtYmFzaWMuTGlua01hcmspLlxyXG4vL1xyXG4vLyAqKmBpbnNlcnRJbWFnZWAqKmA6IE1lbnVJdGVtYFxyXG4vLyAgIDogQSBtZW51IGl0ZW0gdG8gaW5zZXJ0IGFuIFtpbWFnZV0oI3NjaGVtYS1iYXNpYy5JbWFnZSkuXHJcbi8vXHJcbi8vICoqYHdyYXBCdWxsZXRMaXN0YCoqYDogTWVudUl0ZW1gXHJcbi8vICAgOiBBIG1lbnUgaXRlbSB0byB3cmFwIHRoZSBzZWxlY3Rpb24gaW4gYSBbYnVsbGV0IGxpc3RdKCNzY2hlbWEtbGlzdC5CdWxsZXRMaXN0KS5cclxuLy9cclxuLy8gKipgd3JhcE9yZGVyZWRMaXN0YCoqYDogTWVudUl0ZW1gXHJcbi8vICAgOiBBIG1lbnUgaXRlbSB0byB3cmFwIHRoZSBzZWxlY3Rpb24gaW4gYW4gW29yZGVyZWQgbGlzdF0oI3NjaGVtYS1saXN0Lk9yZGVyZWRMaXN0KS5cclxuLy9cclxuLy8gKipgd3JhcEJsb2NrUXVvdGVgKipgOiBNZW51SXRlbWBcclxuLy8gICA6IEEgbWVudSBpdGVtIHRvIHdyYXAgdGhlIHNlbGVjdGlvbiBpbiBhIFtibG9jayBxdW90ZV0oI3NjaGVtYS1iYXNpYy5CbG9ja1F1b3RlKS5cclxuLy9cclxuLy8gKipgbWFrZVBhcmFncmFwaGAqKmA6IE1lbnVJdGVtYFxyXG4vLyAgIDogQSBtZW51IGl0ZW0gdG8gc2V0IHRoZSBjdXJyZW50IHRleHRibG9jayB0byBiZSBhIG5vcm1hbFxyXG4vLyAgICAgW3BhcmFncmFwaF0oI3NjaGVtYS1iYXNpYy5QYXJhZ3JhcGgpLlxyXG4vL1xyXG4vLyAqKmBtYWtlQ29kZUJsb2NrYCoqYDogTWVudUl0ZW1gXHJcbi8vICAgOiBBIG1lbnUgaXRlbSB0byBzZXQgdGhlIGN1cnJlbnQgdGV4dGJsb2NrIHRvIGJlIGFcclxuLy8gICAgIFtjb2RlIGJsb2NrXSgjc2NoZW1hLWJhc2ljLkNvZGVCbG9jaykuXHJcbi8vXHJcbi8vICoqYG1ha2VIZWFkW05dYCoqYDogTWVudUl0ZW1gXHJcbi8vICAgOiBXaGVyZSBfTl8gaXMgMSB0byA2LiBNZW51IGl0ZW1zIHRvIHNldCB0aGUgY3VycmVudCB0ZXh0YmxvY2sgdG9cclxuLy8gICAgIGJlIGEgW2hlYWRpbmddKCNzY2hlbWEtYmFzaWMuSGVhZGluZykgb2YgbGV2ZWwgX05fLlxyXG4vL1xyXG4vLyAqKmBpbnNlcnRIb3Jpem9udGFsUnVsZWAqKmA6IE1lbnVJdGVtYFxyXG4vLyAgIDogQSBtZW51IGl0ZW0gdG8gaW5zZXJ0IGEgaG9yaXpvbnRhbCBydWxlLlxyXG4vL1xyXG4vLyBUaGUgcmV0dXJuIHZhbHVlIGFsc28gY29udGFpbnMgc29tZSBwcmVmYWJyaWNhdGVkIG1lbnUgZWxlbWVudHMgYW5kXHJcbi8vIG1lbnVzLCB0aGF0IHlvdSBjYW4gdXNlIGluc3RlYWQgb2YgY29tcG9zaW5nIHlvdXIgb3duIG1lbnUgZnJvbVxyXG4vLyBzY3JhdGNoOlxyXG4vL1xyXG4vLyAqKmBpbnNlcnRNZW51YCoqYDogRHJvcGRvd25gXHJcbi8vICAgOiBBIGRyb3Bkb3duIGNvbnRhaW5pbmcgdGhlIGBpbnNlcnRJbWFnZWAgYW5kXHJcbi8vICAgICBgaW5zZXJ0SG9yaXpvbnRhbFJ1bGVgIGl0ZW1zLlxyXG4vL1xyXG4vLyAqKmB0eXBlTWVudWAqKmA6IERyb3Bkb3duYFxyXG4vLyAgIDogQSBkcm9wZG93biBjb250YWluaW5nIHRoZSBpdGVtcyBmb3IgbWFraW5nIHRoZSBjdXJyZW50XHJcbi8vICAgICB0ZXh0YmxvY2sgYSBwYXJhZ3JhcGgsIGNvZGUgYmxvY2ssIG9yIGhlYWRpbmcuXHJcbi8vXHJcbi8vICoqYGZ1bGxNZW51YCoqYDogW1tNZW51RWxlbWVudF1dYFxyXG4vLyAgIDogQW4gYXJyYXkgb2YgYXJyYXlzIG9mIG1lbnUgZWxlbWVudHMgZm9yIHVzZSBhcyB0aGUgZnVsbCBtZW51XHJcbi8vICAgICBmb3IsIGZvciBleGFtcGxlIHRoZSBbbWVudSBiYXJdKGh0dHBzOi8vZ2l0aHViLmNvbS9wcm9zZW1pcnJvci9wcm9zZW1pcnJvci1tZW51I3VzZXItY29udGVudC1tZW51YmFyKS5cclxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkTWVudUl0ZW1zKHNjaGVtYTogU2NoZW1hLCBtb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZSkge1xyXG4gICAgY29uc3QgcjogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xyXG4gICAgbGV0IHR5cGU6IE1hcmtUeXBlIHwgTm9kZVR5cGU7XHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZTpuby1jb25kaXRpb25hbC1hc3NpZ25tZW50XHJcbiAgICBpZiAoKHR5cGUgPSBzY2hlbWEubWFya3Muc3Ryb25nKSkge1xyXG4gICAgICAgIHIudG9nZ2xlU3Ryb25nID0gbWFya0l0ZW0odHlwZSwge1xyXG4gICAgICAgICAgICB0aXRsZTogJ1RvZ2dsZSBzdHJvbmcgc3R5bGUnLFxyXG4gICAgICAgICAgICBpY29uU2hhcGU6ICdib2xkJyxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIGlmICgodHlwZSA9IHNjaGVtYS5tYXJrcy5lbSkpIHtcclxuICAgICAgICByLnRvZ2dsZUVtID0gbWFya0l0ZW0odHlwZSwge1xyXG4gICAgICAgICAgICB0aXRsZTogJ1RvZ2dsZSBlbXBoYXNpcycsXHJcbiAgICAgICAgICAgIGljb25TaGFwZTogJ2l0YWxpYycsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAoKHR5cGUgPSBzY2hlbWEubWFya3MuY29kZSkpIHtcclxuICAgICAgICByLnRvZ2dsZUNvZGUgPSBtYXJrSXRlbSh0eXBlLCB7IHRpdGxlOiAnVG9nZ2xlIGNvZGUgZm9udCcsIGljb246IGljb25zLmNvZGUgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAoKHR5cGUgPSBzY2hlbWEubWFya3MubGluaykpIHtcclxuICAgICAgICByLnRvZ2dsZUxpbmsgPSBsaW5rSXRlbSh0eXBlLCBtb2RhbFNlcnZpY2UpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICgodHlwZSA9IHNjaGVtYS5ub2Rlcy5pbWFnZSkpIHtcclxuICAgICAgICByLmluc2VydEltYWdlID0gaW5zZXJ0SW1hZ2VJdGVtKHR5cGUsIG1vZGFsU2VydmljZSk7XHJcbiAgICB9XHJcbiAgICBpZiAoKHR5cGUgPSBzY2hlbWEubm9kZXMuYnVsbGV0X2xpc3QpKSB7XHJcbiAgICAgICAgci53cmFwQnVsbGV0TGlzdCA9IHdyYXBMaXN0SXRlbSh0eXBlLCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnV3JhcCBpbiBidWxsZXQgbGlzdCcsXHJcbiAgICAgICAgICAgIGljb25TaGFwZTogJ2J1bGxldC1saXN0JyxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIGlmICgodHlwZSA9IHNjaGVtYS5ub2Rlcy5vcmRlcmVkX2xpc3QpKSB7XHJcbiAgICAgICAgci53cmFwT3JkZXJlZExpc3QgPSB3cmFwTGlzdEl0ZW0odHlwZSwge1xyXG4gICAgICAgICAgICB0aXRsZTogJ1dyYXAgaW4gb3JkZXJlZCBsaXN0JyxcclxuICAgICAgICAgICAgaWNvblNoYXBlOiAnbnVtYmVyLWxpc3QnLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKCh0eXBlID0gc2NoZW1hLm5vZGVzLmJsb2NrcXVvdGUpKSB7XHJcbiAgICAgICAgci53cmFwQmxvY2tRdW90ZSA9IHdyYXBJdGVtKHR5cGUsIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdXcmFwIGluIGJsb2NrIHF1b3RlJyxcclxuICAgICAgICAgICAgcmVuZGVyOiByZW5kZXJDbGFyaXR5SWNvbih7IHNoYXBlOiAnYmxvY2stcXVvdGUnLCBzaXplOiBJY29uU2l6ZS5MYXJnZSB9KSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIGlmICgodHlwZSA9IHNjaGVtYS5ub2Rlcy5wYXJhZ3JhcGgpKSB7XHJcbiAgICAgICAgci5tYWtlUGFyYWdyYXBoID0gYmxvY2tUeXBlSXRlbSh0eXBlLCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnQ2hhbmdlIHRvIHBhcmFncmFwaCcsXHJcbiAgICAgICAgICAgIHJlbmRlcjogcmVuZGVyQ2xhcml0eUljb24oeyBzaGFwZTogJ3RleHQnLCBsYWJlbDogJ1BsYWluJyB9KSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIGlmICgodHlwZSA9IHNjaGVtYS5ub2Rlcy5jb2RlX2Jsb2NrKSkge1xyXG4gICAgICAgIHIubWFrZUNvZGVCbG9jayA9IGJsb2NrVHlwZUl0ZW0odHlwZSwge1xyXG4gICAgICAgICAgICB0aXRsZTogJ0NoYW5nZSB0byBjb2RlIGJsb2NrJyxcclxuICAgICAgICAgICAgcmVuZGVyOiByZW5kZXJDbGFyaXR5SWNvbih7IHNoYXBlOiAnY29kZScsIGxhYmVsOiAnQ29kZScgfSksXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAoKHR5cGUgPSBzY2hlbWEubm9kZXMuaGVhZGluZykpIHtcclxuICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8PSAxMDsgaSsrKSB7XHJcbiAgICAgICAgICAgIHJbJ21ha2VIZWFkJyArIGldID0gYmxvY2tUeXBlSXRlbSh0eXBlLCB7XHJcbiAgICAgICAgICAgICAgICB0aXRsZTogJ0NoYW5nZSB0byBoZWFkaW5nICcgKyBpLFxyXG4gICAgICAgICAgICAgICAgbGFiZWw6ICdMZXZlbCAnICsgaSxcclxuICAgICAgICAgICAgICAgIGF0dHJzOiB7IGxldmVsOiBpIH0sXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICgodHlwZSA9IHNjaGVtYS5ub2Rlcy5ob3Jpem9udGFsX3J1bGUpKSB7XHJcbiAgICAgICAgY29uc3QgaHIgPSB0eXBlO1xyXG4gICAgICAgIHIuaW5zZXJ0SG9yaXpvbnRhbFJ1bGUgPSBuZXcgTWVudUl0ZW0oe1xyXG4gICAgICAgICAgICB0aXRsZTogJ0luc2VydCBob3Jpem9udGFsIHJ1bGUnLFxyXG4gICAgICAgICAgICByZW5kZXI6IHZpZXcgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgaWNvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgICAgICAgICAgaWNvbi5jbGFzc0xpc3QuYWRkKCdjdXN0b20taWNvbicsICdoci1pY29uJyk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBsYWJlbEVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xyXG4gICAgICAgICAgICAgICAgbGFiZWxFbC50ZXh0Q29udGVudCA9ICdIb3Jpem9udGFsIHJ1bGUnO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBJbk1lbnVJdGVtV2l0aEljb24oaWNvbiwgbGFiZWxFbCk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGVuYWJsZShzdGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGNhbkluc2VydChzdGF0ZSwgaHIpO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBydW4oc3RhdGU6IEVkaXRvclN0YXRlLCBkaXNwYXRjaCkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGF0Y2goc3RhdGUudHIucmVwbGFjZVNlbGVjdGlvbldpdGgoaHIuY3JlYXRlKCkpKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBjdXQgPSA8VD4oYXJyOiBUW10pOiBUW10gPT4gYXJyLmZpbHRlcih4ID0+IHgpO1xyXG4gICAgci5pbnNlcnRNZW51ID0gbmV3IERyb3Bkb3duKFxyXG4gICAgICAgIGN1dChbXHJcbiAgICAgICAgICAgIHIuaW5zZXJ0SW1hZ2UsXHJcbiAgICAgICAgICAgIHIuaW5zZXJ0SG9yaXpvbnRhbFJ1bGUsXHJcbiAgICAgICAgICAgIG5ldyBNZW51SXRlbSh7XHJcbiAgICAgICAgICAgICAgICBydW46IChzdGF0ZSwgZGlzcGF0Y2gpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBhZGRUYWJsZShzdGF0ZSwgZGlzcGF0Y2gsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcm93c0NvdW50OiAyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xzQ291bnQ6IDIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhIZWFkZXJSb3c6IHRydWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNlbGxDb250ZW50OiAnJyxcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICByZW5kZXI6IHJlbmRlckNsYXJpdHlJY29uKHsgc2hhcGU6ICd0YWJsZScsIGxhYmVsOiAnVGFibGUnIH0pLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICBdKSxcclxuICAgICAgICB7IGxhYmVsOiAnSW5zZXJ0JyB9LFxyXG4gICAgKTtcclxuICAgIHIudHlwZU1lbnUgPSBuZXcgRHJvcGRvd24oXHJcbiAgICAgICAgY3V0KFtcclxuICAgICAgICAgICAgci5tYWtlUGFyYWdyYXBoLFxyXG4gICAgICAgICAgICByLm1ha2VDb2RlQmxvY2ssXHJcbiAgICAgICAgICAgIHIubWFrZUhlYWQxICYmXHJcbiAgICAgICAgICAgICAgICBuZXcgU3ViTWVudVdpdGhJY29uKFxyXG4gICAgICAgICAgICAgICAgICAgIGN1dChbci5tYWtlSGVhZDEsIHIubWFrZUhlYWQyLCByLm1ha2VIZWFkMywgci5tYWtlSGVhZDQsIHIubWFrZUhlYWQ1LCByLm1ha2VIZWFkNl0pLFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdIZWFkaW5nJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaWNvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbi50ZXh0Q29udGVudCA9ICdIJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb24uY2xhc3NMaXN0LmFkZCgnY3VzdG9tLWljb24nLCAnaC1pY29uJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaWNvbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgKSxcclxuICAgICAgICBdKSxcclxuICAgICAgICB7IGxhYmVsOiAnVHlwZS4uLicgfSxcclxuICAgICk7XHJcblxyXG4gICAgY29uc3QgaW5saW5lTWVudSA9IGN1dChbci50b2dnbGVTdHJvbmcsIHIudG9nZ2xlRW0sIHIudG9nZ2xlTGlua10pO1xyXG4gICAgci5pbmxpbmVNZW51ID0gW2lubGluZU1lbnVdO1xyXG4gICAgci5ibG9ja01lbnUgPSBbXHJcbiAgICAgICAgY3V0KFtcclxuICAgICAgICAgICAgci53cmFwQnVsbGV0TGlzdCxcclxuICAgICAgICAgICAgci53cmFwT3JkZXJlZExpc3QsXHJcbiAgICAgICAgICAgIHIud3JhcEJsb2NrUXVvdGUsXHJcbiAgICAgICAgICAgIGpvaW5VcEl0ZW0sXHJcbiAgICAgICAgICAgIGxpZnRJdGVtLFxyXG4gICAgICAgICAgICBzZWxlY3RQYXJlbnROb2RlSXRlbSxcclxuICAgICAgICBdKSxcclxuICAgIF07XHJcbiAgICBjb25zdCB1bmRvUmVkbyA9IFtcclxuICAgICAgICBuZXcgTWVudUl0ZW0oe1xyXG4gICAgICAgICAgICB0aXRsZTogJ1VuZG8gbGFzdCBjaGFuZ2UnLFxyXG4gICAgICAgICAgICBydW46IHVuZG8sXHJcbiAgICAgICAgICAgIGVuYWJsZShzdGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHVuZG8oc3RhdGUpO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICByZW5kZXI6IHJlbmRlckNsYXJpdHlJY29uKHsgc2hhcGU6ICd1bmRvJywgc2l6ZTogSWNvblNpemUuTGFyZ2UgfSksXHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgbmV3IE1lbnVJdGVtKHtcclxuICAgICAgICAgICAgdGl0bGU6ICdSZWRvIGxhc3QgdW5kb25lIGNoYW5nZScsXHJcbiAgICAgICAgICAgIHJ1bjogcmVkbyxcclxuICAgICAgICAgICAgZW5hYmxlKHN0YXRlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVkbyhzdGF0ZSk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHJlbmRlcjogcmVuZGVyQ2xhcml0eUljb24oeyBzaGFwZTogJ3JlZG8nLCBzaXplOiBJY29uU2l6ZS5MYXJnZSB9KSxcclxuICAgICAgICB9KSxcclxuICAgIF07XHJcbiAgICByLmZ1bGxNZW51ID0gW2lubGluZU1lbnVdLmNvbmNhdChbW3IuaW5zZXJ0TWVudSwgci50eXBlTWVudV1dLCBbdW5kb1JlZG9dLCByLmJsb2NrTWVudSk7XHJcblxyXG4gICAgcmV0dXJuIHI7XHJcbn1cclxuIl19
@@ -0,0 +1,16 @@
1
+ import { DropdownSubmenu } from 'prosemirror-menu';
2
+ import { wrapInMenuItemWithIcon } from './menu-common';
3
+ export class SubMenuWithIcon extends DropdownSubmenu {
4
+ constructor(content, options) {
5
+ super(content, options);
6
+ this.icon = options.icon();
7
+ }
8
+ render(view) {
9
+ const { dom, update } = super.render(view);
10
+ return {
11
+ dom: wrapInMenuItemWithIcon(this.icon, dom),
12
+ update,
13
+ };
14
+ }
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLW1lbnUtd2l0aC1pY29uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvY29tcG9uZW50cy9yaWNoLXRleHQtZWRpdG9yL3Byb3NlbWlycm9yL21lbnUvc3ViLW1lbnUtd2l0aC1pY29uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQWUsTUFBTSxrQkFBa0IsQ0FBQztBQUloRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsZUFBZTtJQUVoRCxZQUNJLE9BQTZDLEVBQzdDLE9BR0M7UUFFRCxLQUFLLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFDRCxNQUFNLENBQUMsSUFBZ0I7UUFJbkIsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLE9BQU87WUFDSCxHQUFHLEVBQUUsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUM7WUFDM0MsTUFBTTtTQUNULENBQUM7SUFDTixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEcm9wZG93blN1Ym1lbnUsIE1lbnVFbGVtZW50IH0gZnJvbSAncHJvc2VtaXJyb3ItbWVudSc7XHJcbmltcG9ydCB7IEVkaXRvclN0YXRlIH0gZnJvbSAncHJvc2VtaXJyb3Itc3RhdGUnO1xyXG5pbXBvcnQgeyBFZGl0b3JWaWV3IH0gZnJvbSAncHJvc2VtaXJyb3Itdmlldyc7XHJcblxyXG5pbXBvcnQgeyB3cmFwSW5NZW51SXRlbVdpdGhJY29uIH0gZnJvbSAnLi9tZW51LWNvbW1vbic7XHJcblxyXG5leHBvcnQgY2xhc3MgU3ViTWVudVdpdGhJY29uIGV4dGVuZHMgRHJvcGRvd25TdWJtZW51IHtcclxuICAgIHByaXZhdGUgaWNvbjogSFRNTEVsZW1lbnQ7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBjb250ZW50OiByZWFkb25seSBNZW51RWxlbWVudFtdIHwgTWVudUVsZW1lbnQsXHJcbiAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgICBsYWJlbD86IHN0cmluZztcclxuICAgICAgICAgICAgaWNvbjogKCkgPT4gSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgfSxcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKGNvbnRlbnQsIG9wdGlvbnMpO1xyXG4gICAgICAgIHRoaXMuaWNvbiA9IG9wdGlvbnMuaWNvbigpO1xyXG4gICAgfVxyXG4gICAgcmVuZGVyKHZpZXc6IEVkaXRvclZpZXcpOiB7XHJcbiAgICAgICAgZG9tOiBIVE1MRWxlbWVudDtcclxuICAgICAgICB1cGRhdGU6IChzdGF0ZTogRWRpdG9yU3RhdGUpID0+IGJvb2xlYW47XHJcbiAgICB9IHtcclxuICAgICAgICBjb25zdCB7IGRvbSwgdXBkYXRlIH0gPSBzdXBlci5yZW5kZXIodmlldyk7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgZG9tOiB3cmFwSW5NZW51SXRlbVdpdGhJY29uKHRoaXMuaWNvbiwgZG9tKSxcclxuICAgICAgICAgICAgdXBkYXRlLFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbn1cclxuIl19