@skyux/text-editor 5.7.2 → 6.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/documentation.json +2 -2
  2. package/esm2020/index.mjs +15 -0
  3. package/esm2020/lib/modules/rich-text-display/rich-text-display.component.mjs +36 -0
  4. package/esm2020/lib/modules/rich-text-display/rich-text-display.module.mjs +18 -0
  5. package/esm2020/lib/modules/shared/forms-utility.mjs +10 -0
  6. package/esm2020/lib/modules/shared/sky-text-editor-resources.module.mjs +106 -0
  7. package/esm2020/lib/modules/text-editor/defaults/font-list-defaults.mjs +42 -0
  8. package/esm2020/lib/modules/text-editor/defaults/font-size-list-defaults.mjs +7 -0
  9. package/esm2020/lib/modules/text-editor/defaults/menu-defaults.mjs +5 -0
  10. package/esm2020/lib/modules/text-editor/defaults/style-state-defaults.mjs +15 -0
  11. package/esm2020/lib/modules/text-editor/defaults/toolbar-action-defaults.mjs +12 -0
  12. package/esm2020/lib/modules/text-editor/menubar/text-editor-menubar.component.mjs +191 -0
  13. package/esm2020/lib/modules/text-editor/services/text-editor-adapter.service.mjs +477 -0
  14. package/esm2020/lib/modules/text-editor/services/text-editor-selection.service.mjs +80 -0
  15. package/esm2020/lib/modules/text-editor/services/text-editor.service.mjs +61 -0
  16. package/esm2020/lib/modules/text-editor/services/text-sanitization.service.mjs +38 -0
  17. package/esm2020/lib/modules/text-editor/text-editor.component.mjs +322 -0
  18. package/esm2020/lib/modules/text-editor/text-editor.module.mjs +98 -0
  19. package/esm2020/lib/modules/text-editor/toolbar/text-editor-toolbar.component.mjs +179 -0
  20. package/esm2020/lib/modules/text-editor/types/editor-command.mjs +2 -0
  21. package/esm2020/lib/modules/text-editor/types/editor-setting.mjs +2 -0
  22. package/esm2020/lib/modules/text-editor/types/font-state.mjs +2 -0
  23. package/esm2020/lib/modules/text-editor/types/menu-type.mjs +2 -0
  24. package/esm2020/lib/modules/text-editor/types/style-state.mjs +2 -0
  25. package/esm2020/lib/modules/text-editor/types/text-editor-merge-field.mjs +2 -0
  26. package/esm2020/lib/modules/text-editor/types/toolbar-action-type.mjs +2 -0
  27. package/esm2020/lib/modules/text-editor/url-modal/text-editor-url-modal-context.mjs +6 -0
  28. package/esm2020/lib/modules/text-editor/url-modal/text-editor-url-modal-result.mjs +2 -0
  29. package/esm2020/lib/modules/text-editor/url-modal/text-editor-url-modal.component.mjs +117 -0
  30. package/esm2020/lib/modules/text-editor/url-modal/text-editor-url-target.mjs +9 -0
  31. package/esm2020/skyux-text-editor.mjs +5 -0
  32. package/fesm2015/{skyux-text-editor.js → skyux-text-editor.mjs} +45 -69
  33. package/fesm2015/skyux-text-editor.mjs.map +1 -0
  34. package/fesm2020/skyux-text-editor.mjs +1743 -0
  35. package/fesm2020/skyux-text-editor.mjs.map +1 -0
  36. package/package.json +38 -22
  37. package/bundles/skyux-text-editor.umd.js +0 -2195
  38. package/esm2015/index.js +0 -15
  39. package/esm2015/index.js.map +0 -1
  40. package/esm2015/lib/modules/rich-text-display/rich-text-display.component.js +0 -39
  41. package/esm2015/lib/modules/rich-text-display/rich-text-display.component.js.map +0 -1
  42. package/esm2015/lib/modules/rich-text-display/rich-text-display.module.js +0 -18
  43. package/esm2015/lib/modules/rich-text-display/rich-text-display.module.js.map +0 -1
  44. package/esm2015/lib/modules/shared/forms-utility.js +0 -10
  45. package/esm2015/lib/modules/shared/forms-utility.js.map +0 -1
  46. package/esm2015/lib/modules/shared/sky-text-editor-resources.module.js +0 -106
  47. package/esm2015/lib/modules/shared/sky-text-editor-resources.module.js.map +0 -1
  48. package/esm2015/lib/modules/text-editor/defaults/font-list-defaults.js +0 -42
  49. package/esm2015/lib/modules/text-editor/defaults/font-list-defaults.js.map +0 -1
  50. package/esm2015/lib/modules/text-editor/defaults/font-size-list-defaults.js +0 -7
  51. package/esm2015/lib/modules/text-editor/defaults/font-size-list-defaults.js.map +0 -1
  52. package/esm2015/lib/modules/text-editor/defaults/menu-defaults.js +0 -5
  53. package/esm2015/lib/modules/text-editor/defaults/menu-defaults.js.map +0 -1
  54. package/esm2015/lib/modules/text-editor/defaults/style-state-defaults.js +0 -15
  55. package/esm2015/lib/modules/text-editor/defaults/style-state-defaults.js.map +0 -1
  56. package/esm2015/lib/modules/text-editor/defaults/toolbar-action-defaults.js +0 -12
  57. package/esm2015/lib/modules/text-editor/defaults/toolbar-action-defaults.js.map +0 -1
  58. package/esm2015/lib/modules/text-editor/menubar/text-editor-menubar.component.js +0 -196
  59. package/esm2015/lib/modules/text-editor/menubar/text-editor-menubar.component.js.map +0 -1
  60. package/esm2015/lib/modules/text-editor/services/text-editor-adapter.service.js +0 -474
  61. package/esm2015/lib/modules/text-editor/services/text-editor-adapter.service.js.map +0 -1
  62. package/esm2015/lib/modules/text-editor/services/text-editor-selection.service.js +0 -80
  63. package/esm2015/lib/modules/text-editor/services/text-editor-selection.service.js.map +0 -1
  64. package/esm2015/lib/modules/text-editor/services/text-editor.service.js +0 -61
  65. package/esm2015/lib/modules/text-editor/services/text-editor.service.js.map +0 -1
  66. package/esm2015/lib/modules/text-editor/services/text-sanitization.service.js +0 -38
  67. package/esm2015/lib/modules/text-editor/services/text-sanitization.service.js.map +0 -1
  68. package/esm2015/lib/modules/text-editor/text-editor.component.js +0 -322
  69. package/esm2015/lib/modules/text-editor/text-editor.component.js.map +0 -1
  70. package/esm2015/lib/modules/text-editor/text-editor.module.js +0 -99
  71. package/esm2015/lib/modules/text-editor/text-editor.module.js.map +0 -1
  72. package/esm2015/lib/modules/text-editor/toolbar/text-editor-toolbar.component.js +0 -175
  73. package/esm2015/lib/modules/text-editor/toolbar/text-editor-toolbar.component.js.map +0 -1
  74. package/esm2015/lib/modules/text-editor/types/editor-command.js +0 -2
  75. package/esm2015/lib/modules/text-editor/types/editor-command.js.map +0 -1
  76. package/esm2015/lib/modules/text-editor/types/editor-setting.js +0 -2
  77. package/esm2015/lib/modules/text-editor/types/editor-setting.js.map +0 -1
  78. package/esm2015/lib/modules/text-editor/types/font-state.js +0 -2
  79. package/esm2015/lib/modules/text-editor/types/font-state.js.map +0 -1
  80. package/esm2015/lib/modules/text-editor/types/menu-type.js +0 -2
  81. package/esm2015/lib/modules/text-editor/types/menu-type.js.map +0 -1
  82. package/esm2015/lib/modules/text-editor/types/style-state.js +0 -2
  83. package/esm2015/lib/modules/text-editor/types/style-state.js.map +0 -1
  84. package/esm2015/lib/modules/text-editor/types/text-editor-merge-field.js +0 -2
  85. package/esm2015/lib/modules/text-editor/types/text-editor-merge-field.js.map +0 -1
  86. package/esm2015/lib/modules/text-editor/types/toolbar-action-type.js +0 -2
  87. package/esm2015/lib/modules/text-editor/types/toolbar-action-type.js.map +0 -1
  88. package/esm2015/lib/modules/text-editor/url-modal/text-editor-url-modal-context.js +0 -6
  89. package/esm2015/lib/modules/text-editor/url-modal/text-editor-url-modal-context.js.map +0 -1
  90. package/esm2015/lib/modules/text-editor/url-modal/text-editor-url-modal-result.js +0 -2
  91. package/esm2015/lib/modules/text-editor/url-modal/text-editor-url-modal-result.js.map +0 -1
  92. package/esm2015/lib/modules/text-editor/url-modal/text-editor-url-modal.component.js +0 -121
  93. package/esm2015/lib/modules/text-editor/url-modal/text-editor-url-modal.component.js.map +0 -1
  94. package/esm2015/lib/modules/text-editor/url-modal/text-editor-url-target.js +0 -9
  95. package/esm2015/lib/modules/text-editor/url-modal/text-editor-url-target.js.map +0 -1
  96. package/esm2015/skyux-text-editor.js +0 -5
  97. package/esm2015/skyux-text-editor.js.map +0 -1
  98. package/fesm2015/skyux-text-editor.js.map +0 -1
@@ -0,0 +1,117 @@
1
+ import { Component } from '@angular/core';
2
+ import { SkyModalInstance } from '@skyux/modals';
3
+ import { SkyValidation } from '@skyux/validation';
4
+ import { SkyUrlModalContext } from './text-editor-url-modal-context';
5
+ import { UrlTarget } from './text-editor-url-target';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@skyux/modals";
8
+ import * as i2 from "./text-editor-url-modal-context";
9
+ import * as i3 from "@skyux/tabs";
10
+ import * as i4 from "@skyux/forms";
11
+ import * as i5 from "@angular/forms";
12
+ import * as i6 from "@skyux/core";
13
+ import * as i7 from "@skyux/i18n";
14
+ const emailKey = 'mailto:';
15
+ const queryStringParamKey = '?Subject=';
16
+ /**
17
+ * @internal
18
+ */
19
+ export class SkyTextEditorUrlModalComponent {
20
+ constructor(modalInstance, modalContext) {
21
+ this.modalInstance = modalInstance;
22
+ this.emailAddressValid = false;
23
+ this.subject = '';
24
+ this.target = 0;
25
+ this.valid = false;
26
+ this._activeTab = 0;
27
+ this._emailAddress = '';
28
+ this._url = 'https://';
29
+ if (modalContext.urlResult) {
30
+ if (modalContext.urlResult.url.startsWith(emailKey)) {
31
+ this.emailAddress = modalContext.urlResult.url.replace(emailKey, '');
32
+ let queryStringIndex = this.emailAddress.indexOf(queryStringParamKey);
33
+ queryStringIndex =
34
+ queryStringIndex > -1
35
+ ? queryStringIndex
36
+ : this.emailAddress.indexOf(queryStringParamKey.toLowerCase());
37
+ /* istanbul ignore else */
38
+ if (queryStringIndex > -1) {
39
+ this.subject = decodeURI(this.emailAddress).slice(queryStringIndex + queryStringParamKey.length);
40
+ this.emailAddress = this.emailAddress.slice(0, queryStringIndex);
41
+ }
42
+ // Set active tab to email
43
+ this.activeTab = 1;
44
+ }
45
+ else {
46
+ (this.url = modalContext.urlResult.url),
47
+ (this.target = modalContext.urlResult.target);
48
+ // set active tab to web page
49
+ this.activeTab = 0;
50
+ }
51
+ }
52
+ }
53
+ set activeTab(value) {
54
+ this._activeTab = value;
55
+ this.valid = this.isValid();
56
+ }
57
+ get activeTab() {
58
+ return this._activeTab;
59
+ }
60
+ set emailAddress(value) {
61
+ this._emailAddress = value;
62
+ this.valid = this.isValid();
63
+ }
64
+ get emailAddress() {
65
+ return this._emailAddress;
66
+ }
67
+ set url(value) {
68
+ this._url = value;
69
+ this.valid = this.isValid();
70
+ }
71
+ get url() {
72
+ return this._url;
73
+ }
74
+ activeTabChanged(value) {
75
+ this.activeTab = value;
76
+ }
77
+ save() {
78
+ /* istanbul ignore else */
79
+ if (this.isValid()) {
80
+ if (this.activeTab === 0) {
81
+ this.modalInstance.save({
82
+ url: this.url,
83
+ target: this.target
84
+ ? parseInt(this.target, undefined)
85
+ : UrlTarget.None,
86
+ });
87
+ }
88
+ else {
89
+ this.modalInstance.save({
90
+ url: this.getEmailUrl(),
91
+ target: UrlTarget.None,
92
+ });
93
+ }
94
+ }
95
+ }
96
+ cancel() {
97
+ this.modalInstance.cancel();
98
+ }
99
+ getEmailUrl() {
100
+ return (emailKey +
101
+ this.emailAddress +
102
+ (this.subject ? '?Subject=' + encodeURI(this.subject) : ''));
103
+ }
104
+ isValid() {
105
+ if (this.activeTab === 0) {
106
+ return !!this.url && SkyValidation.isUrl(this.url);
107
+ }
108
+ return !!this.emailAddress && SkyValidation.isEmail(this.emailAddress);
109
+ }
110
+ }
111
+ SkyTextEditorUrlModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyTextEditorUrlModalComponent, deps: [{ token: i1.SkyModalInstance }, { token: i2.SkyUrlModalContext }], target: i0.ɵɵFactoryTarget.Component });
112
+ SkyTextEditorUrlModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SkyTextEditorUrlModalComponent, selector: "sky-text-editor-url-modal", ngImport: i0, template: "<sky-modal>\n <sky-modal-header>\n {{ 'skyux_text_editor_url_modal_header_label' | skyLibResources }}\n </sky-modal-header>\n <sky-modal-content>\n <sky-tabset\n data-sky-id=\"test-tabset\"\n [active]=\"activeTab\"\n (activeChange)=\"activeTabChanged($event)\"\n >\n <sky-tab tabHeading=\"Web page\">\n <div class=\"sky-form-group sky-text-editor-url-modal-first-field\">\n <sky-input-box>\n <label\n class=\"sky-control-label sky-control-label-required\"\n [for]=\"urlInput.id\"\n >\n {{ 'skyux_text_editor_url_modal_url_label' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n type=\"text\"\n [(ngModel)]=\"url\"\n skyId\n #urlInput=\"skyId\"\n />\n </sky-input-box>\n </div>\n <sky-input-box class=\"sky-form-group\">\n <label class=\"sky-control-label\" [for]=\"targetInput.id\">\n {{ 'skyux_text_editor_url_modal_open_label' | skyLibResources }}\n </label>\n <select\n class=\"sky-form-control\"\n [(ngModel)]=\"target\"\n skyId\n #targetInput=\"skyId\"\n >\n <option value=\"0\">\n {{\n 'skyux_text_editor_url_modal_current_option_label'\n | skyLibResources\n }}\n </option>\n <option value=\"1\">\n {{\n 'skyux_text_editor_url_modal_new_option_label' | skyLibResources\n }}\n </option>\n </select>\n </sky-input-box>\n </sky-tab>\n <sky-tab tabHeading=\"Email address\">\n <div class=\"sky-form-group first-field\">\n <sky-input-box>\n <label\n class=\"sky-control-label sky-control-label-required\"\n [for]=\"emailAddressInput.id\"\n >\n {{ 'skyux_text_editor_url_modal_email_label' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n type=\"text\"\n [(ngModel)]=\"emailAddress\"\n skyId\n #emailAddressInput=\"skyId\"\n />\n </sky-input-box>\n </div>\n <sky-input-box class=\"sky-form-group\">\n <label class=\"sky-control-label\" [for]=\"subjectInput.id\">\n {{ 'skyux_text_editor_url_modal_subject_label' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n type=\"text\"\n [(ngModel)]=\"subject\"\n skyId\n #subjectInput=\"skyId\"\n />\n </sky-input-box>\n </sky-tab>\n </sky-tabset>\n </sky-modal-content>\n <sky-modal-footer>\n <button\n type=\"submit\"\n class=\"sky-btn sky-btn-primary\"\n [disabled]=\"!valid\"\n (click)=\"save()\"\n >\n {{ 'skyux_text_editor_url_modal_save_button_label' | skyLibResources }}\n </button>\n <button type=\"button\" class=\"sky-btn sky-btn-link\" (click)=\"cancel()\">\n {{ 'skyux_text_editor_url_modal_cancel_button_label' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n", styles: [".sky-text-editor-url-modal-first-field{margin-top:15px}\n"], components: [{ type: i1.λ5, selector: "sky-modal", inputs: ["ariaRole", "tiledBody"] }, { type: i1.λ4, selector: "sky-modal-header" }, { type: i1.λ2, selector: "sky-modal-content" }, { type: i3.λ2, selector: "sky-tabset", inputs: ["active", "ariaLabel", "ariaLabelledBy", "permalinkId", "tabStyle"], outputs: ["activeChange", "newTab", "openTab", "tabIndexesChange"] }, { type: i3.λ1, selector: "sky-tab", inputs: ["active", "disabled", "permalinkValue", "tabHeaderCount", "tabHeading", "tabIndex"], outputs: ["close"] }, { type: i4.λ10, selector: "sky-input-box", inputs: ["hasErrors", "disabled"] }, { type: i1.λ3, selector: "sky-modal-footer" }], directives: [{ type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i6.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i5.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i5.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }], pipes: { "skyLibResources": i7.SkyLibResourcesPipe } });
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyTextEditorUrlModalComponent, decorators: [{
114
+ type: Component,
115
+ args: [{ selector: 'sky-text-editor-url-modal', template: "<sky-modal>\n <sky-modal-header>\n {{ 'skyux_text_editor_url_modal_header_label' | skyLibResources }}\n </sky-modal-header>\n <sky-modal-content>\n <sky-tabset\n data-sky-id=\"test-tabset\"\n [active]=\"activeTab\"\n (activeChange)=\"activeTabChanged($event)\"\n >\n <sky-tab tabHeading=\"Web page\">\n <div class=\"sky-form-group sky-text-editor-url-modal-first-field\">\n <sky-input-box>\n <label\n class=\"sky-control-label sky-control-label-required\"\n [for]=\"urlInput.id\"\n >\n {{ 'skyux_text_editor_url_modal_url_label' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n type=\"text\"\n [(ngModel)]=\"url\"\n skyId\n #urlInput=\"skyId\"\n />\n </sky-input-box>\n </div>\n <sky-input-box class=\"sky-form-group\">\n <label class=\"sky-control-label\" [for]=\"targetInput.id\">\n {{ 'skyux_text_editor_url_modal_open_label' | skyLibResources }}\n </label>\n <select\n class=\"sky-form-control\"\n [(ngModel)]=\"target\"\n skyId\n #targetInput=\"skyId\"\n >\n <option value=\"0\">\n {{\n 'skyux_text_editor_url_modal_current_option_label'\n | skyLibResources\n }}\n </option>\n <option value=\"1\">\n {{\n 'skyux_text_editor_url_modal_new_option_label' | skyLibResources\n }}\n </option>\n </select>\n </sky-input-box>\n </sky-tab>\n <sky-tab tabHeading=\"Email address\">\n <div class=\"sky-form-group first-field\">\n <sky-input-box>\n <label\n class=\"sky-control-label sky-control-label-required\"\n [for]=\"emailAddressInput.id\"\n >\n {{ 'skyux_text_editor_url_modal_email_label' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n type=\"text\"\n [(ngModel)]=\"emailAddress\"\n skyId\n #emailAddressInput=\"skyId\"\n />\n </sky-input-box>\n </div>\n <sky-input-box class=\"sky-form-group\">\n <label class=\"sky-control-label\" [for]=\"subjectInput.id\">\n {{ 'skyux_text_editor_url_modal_subject_label' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n type=\"text\"\n [(ngModel)]=\"subject\"\n skyId\n #subjectInput=\"skyId\"\n />\n </sky-input-box>\n </sky-tab>\n </sky-tabset>\n </sky-modal-content>\n <sky-modal-footer>\n <button\n type=\"submit\"\n class=\"sky-btn sky-btn-primary\"\n [disabled]=\"!valid\"\n (click)=\"save()\"\n >\n {{ 'skyux_text_editor_url_modal_save_button_label' | skyLibResources }}\n </button>\n <button type=\"button\" class=\"sky-btn sky-btn-link\" (click)=\"cancel()\">\n {{ 'skyux_text_editor_url_modal_cancel_button_label' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n", styles: [".sky-text-editor-url-modal-first-field{margin-top:15px}\n"] }]
116
+ }], ctorParameters: function () { return [{ type: i1.SkyModalInstance }, { type: i2.SkyUrlModalContext }]; } });
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1lZGl0b3ItdXJsLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90ZXh0LWVkaXRvci9zcmMvbGliL21vZHVsZXMvdGV4dC1lZGl0b3IvdXJsLW1vZGFsL3RleHQtZWRpdG9yLXVybC1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGV4dC1lZGl0b3Ivc3JjL2xpYi9tb2R1bGVzL3RleHQtZWRpdG9yL3VybC1tb2RhbC90ZXh0LWVkaXRvci11cmwtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWxELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXJFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7O0FBRXJELE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQztBQUMzQixNQUFNLG1CQUFtQixHQUFHLFdBQVcsQ0FBQztBQUV4Qzs7R0FFRztBQU1ILE1BQU0sT0FBTyw4QkFBOEI7SUFzQ3pDLFlBQ21CLGFBQStCLEVBQ2hELFlBQWdDO1FBRGYsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBZjNDLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUUxQixZQUFPLEdBQUcsRUFBRSxDQUFDO1FBRWIsV0FBTSxHQUFHLENBQUMsQ0FBQztRQUVYLFVBQUssR0FBRyxLQUFLLENBQUM7UUFFZCxlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBRWQsa0JBQWEsR0FBRyxFQUFFLENB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QWEsRUFBRSxTQUFTLENBQUM7d0JBQ3pDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSTtpQkFDRCxDQUFDLENBQUM7YUFDdEI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7b0JBQ3RCLEdBQUcsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFO29CQUN2QixNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUk7aUJBQ0wsQ0FBQyxDQUFDO2FBQ3RCO1NBQ0Y7SUFDSCxDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVPLFdBQVc7UUFDakIsT0FBTyxDQUNMLFFBQVE7WUFDUixJQUFJLENBQUMsWUFBWTtZQUNqQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FDNUQsQ0FBQztJQUNKLENBQUM7SUFFTyxPQUFPO1FBQ2IsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLENBQUMsRUFBRTtZQUN4QixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3BEO1FBQ0QsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN6RSxDQUFDOzsySEFoSFUsOEJBQThCOytHQUE5Qiw4QkFBOEIsaUVDbkIzQywreEdBbUdBOzJGRGhGYSw4QkFBOEI7a0JBTDFDLFNBQVM7K0JBQ0UsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lNb2RhbEluc3RhbmNlIH0gZnJvbSAnQHNreXV4L21vZGFscyc7XG5pbXBvcnQgeyBTa3lWYWxpZGF0aW9uIH0gZnJvbSAnQHNreXV4L3ZhbGlkYXRpb24nO1xuXG5pbXBvcnQgeyBTa3lVcmxNb2RhbENvbnRleHQgfSBmcm9tICcuL3RleHQtZWRpdG9yLXVybC1tb2RhbC1jb250ZXh0JztcbmltcG9ydCB7IFVybE1vZGFsUmVzdWx0IH0gZnJvbSAnLi90ZXh0LWVkaXRvci11cmwtbW9kYWwtcmVzdWx0JztcbmltcG9ydCB7IFVybFRhcmdldCB9IGZyb20gJy4vdGV4dC1lZGl0b3ItdXJsLXRhcmdldCc7XG5cbmNvbnN0IGVtYWlsS2V5ID0gJ21haWx0bzonO1xuY29uc3QgcXVlcnlTdHJpbmdQYXJhbUtleSA9ICc/U3ViamVjdD0nO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktdGV4dC1lZGl0b3ItdXJsLW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHQtZWRpdG9yLXVybC1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RleHQtZWRpdG9yLXVybC1tb2RhbC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lUZXh0RWRpdG9yVXJsTW9kYWxDb21wb25lbnQge1xuICBwdWJsaWMgc2V0IGFjdGl2ZVRhYih2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fYWN0aXZlVGFiID0gdmFsdWU7XG4gICAgdGhpcy52YWxpZCA9IHRoaXMuaXNWYWxpZCgpO1xuICB9XG4gIHB1YmxpYyBnZXQgYWN0aXZlVGFiKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZVRhYjtcbiAgfVxuICBwdWJsaWMgc2V0IGVtYWlsQWRkcmVzcyh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fZW1haWxBZGRyZXNzID0gdmFsdWU7XG4gICAgdGhpcy52YWxpZCA9IHRoaXMuaXNWYWxpZCgpO1xuICB9XG4gIHB1YmxpYyBnZXQgZW1haWxBZGRyZXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2VtYWlsQWRkcmVzcztcbiAgfVxuXG4gIHB1YmxpYyBzZXQgdXJsKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl91cmwgPSB2YWx1ZTtcbiAgICB0aGlzLnZhbGlkID0gdGhpcy5pc1ZhbGlkKCk7XG4gIH1cbiAgcHVibGljIGdldCB1cmwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fdXJsO1xuICB9XG5cbiAgcHVibGljIGVtYWlsQWRkcmVzc1ZhbGlkID0gZmFsc2U7XG5cbiAgcHVibGljIHN1YmplY3QgPSAnJztcblxuICBwdWJsaWMgdGFyZ2V0ID0gMDtcblxuICBwdWJsaWMgdmFsaWQgPSBmYWxzZTtcblxuICBwdWJsaWMgX2FjdGl2ZVRhYiA9IDA7XG5cbiAgcHJpdmF0ZSBfZW1haWxBZGRyZXNzID0gJyc7XG5cbiAgcHJpdmF0ZSBfdXJsID0gJ2h0dHBzOi8vJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1vZGFsSW5zdGFuY2U6IFNreU1vZGFsSW5zdGFuY2UsXG4gICAgbW9kYWxDb250ZXh0OiBTa3lVcmxNb2RhbENvbnRleHRcbiAgKSB7XG4gICAgaWYgKG1vZGFsQ29udGV4dC51cmxSZXN1bHQpIHtcbiAgICAgIGlmIChtb2RhbENvbnRleHQudXJsUmVzdWx0LnVybC5zdGFydHNXaXRoKGVtYWlsS2V5KSkge1xuICAgICAgICB0aGlzLmVtYWlsQWRkcmVzcyA9IG1vZGFsQ29udGV4dC51cmxSZXN1bHQudXJsLnJlcGxhY2UoZW1haWxLZXksICcnKTtcblxuICAgICAgICBsZXQgcXVlcnlTdHJpbmdJbmRleCA9IHRoaXMuZW1haWxBZGRyZXNzLmluZGV4T2YocXVlcnlTdHJpbmdQYXJhbUtleSk7XG4gICAgICAgIHF1ZXJ5U3RyaW5nSW5kZXggPVxuICAgICAgICAgIHF1ZXJ5U3RyaW5nSW5kZXggPiAtMVxuICAgICAgICAgICAgPyBxdWVyeVN0cmluZ0luZGV4XG4gICAgICAgICAgICA6IHRoaXMuZW1haWxBZGRyZXNzLmluZGV4T2YocXVlcnlTdHJpbmdQYXJhbUtleS50b0xvd2VyQ2FzZSgpKTtcblxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAocXVlcnlTdHJpbmdJbmRleCA+IC0xKSB7XG4gICAgICAgICAgdGhpcy5zdWJqZWN0ID0gZGVjb2RlVVJJKHRoaXMuZW1haWxBZGRyZXNzKS5zbGljZShcbiAgICAgICAgICAgIHF1ZXJ5U3RyaW5nSW5kZXggKyBxdWVyeVN0cmluZ1BhcmFtS2V5Lmxlbmd0aFxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhpcy5lbWFpbEFkZHJlc3MgPSB0aGlzLmVtYWlsQWRkcmVzcy5zbGljZSgwLCBxdWVyeVN0cmluZ0luZGV4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNldCBhY3RpdmUgdGFiIHRvIGVtYWlsXG4gICAgICAgIHRoaXMuYWN0aXZlVGFiID0gMTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgICh0aGlzLnVybCA9IG1vZGFsQ29udGV4dC51cmxSZXN1bHQudXJsKSxcbiAgICAgICAgICAodGhpcy50YXJnZXQgPSBtb2RhbENvbnRleHQudXJsUmVzdWx0LnRhcmdldCBhcyBhbnkpO1xuXG4gICAgICAgIC8vIHNldCBhY3RpdmUgdGFiIHRvIHdlYiBwYWdlXG4gICAgICAgIHRoaXMuYWN0aXZlVGFiID0gMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYWN0aXZlVGFiQ2hhbmdlZCh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVUYWIgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlKCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuaXNWYWxpZCgpKSB7XG4gICAgICBpZiAodGhpcy5hY3RpdmVUYWIgPT09IDApIHtcbiAgICAgICAgdGhpcy5tb2RhbEluc3RhbmNlLnNhdmUoe1xuICAgICAgICAgIHVybDogdGhpcy51cmwsXG4gICAgICAgICAgdGFyZ2V0OiB0aGlzLnRhcmdldFxuICAgICAgICAgICAgPyBwYXJzZUludCh0aGlzLnRhcmdldCBhcyBhbnksIHVuZGVmaW5lZClcbiAgICAgICAgICAgIDogVXJsVGFyZ2V0Lk5vbmUsXG4gICAgICAgIH0gYXMgVXJsTW9kYWxSZXN1bHQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5tb2RhbEluc3RhbmNlLnNhdmUoe1xuICAgICAgICAgIHVybDogdGhpcy5nZXRFbWFpbFVybCgpLFxuICAgICAgICAgIHRhcmdldDogVXJsVGFyZ2V0Lk5vbmUsXG4gICAgICAgIH0gYXMgVXJsTW9kYWxSZXN1bHQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjYW5jZWwoKTogdm9pZCB7XG4gICAgdGhpcy5tb2RhbEluc3RhbmNlLmNhbmNlbCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRFbWFpbFVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAoXG4gICAgICBlbWFpbEtleSArXG4gICAgICB0aGlzLmVtYWlsQWRkcmVzcyArXG4gICAgICAodGhpcy5zdWJqZWN0ID8gJz9TdWJqZWN0PScgKyBlbmNvZGVVUkkodGhpcy5zdWJqZWN0KSA6ICcnKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGlzVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuYWN0aXZlVGFiID09PSAwKSB7XG4gICAgICByZXR1cm4gISF0aGlzLnVybCAmJiBTa3lWYWxpZGF0aW9uLmlzVXJsKHRoaXMudXJsKTtcbiAgICB9XG4gICAgcmV0dXJuICEhdGhpcy5lbWFpbEFkZHJlc3MgJiYgU2t5VmFsaWRhdGlvbi5pc0VtYWlsKHRoaXMuZW1haWxBZGRyZXNzKTtcbiAgfVxufVxuIiwiPHNreS1tb2RhbD5cbiAgPHNreS1tb2RhbC1oZWFkZXI+XG4gICAge3sgJ3NreXV4X3RleHRfZWRpdG9yX3VybF9tb2RhbF9oZWFkZXJfbGFiZWwnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gIDwvc2t5LW1vZGFsLWhlYWRlcj5cbiAgPHNreS1tb2RhbC1jb250ZW50PlxuICAgIDxza3ktdGFic2V0XG4gICAgICBkYXRhLXNreS1pZD1cInRlc3QtdGFic2V0XCJcbiAgICAgIFthY3RpdmVdPVwiYWN0aXZlVGFiXCJcbiAgICAgIChhY3RpdmVDaGFuZ2UpPVwiYWN0aXZlVGFiQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8c2t5LXRhYiB0YWJIZWFkaW5nPVwiV2ViIHBhZ2VcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNreS1mb3JtLWdyb3VwIHNreS10ZXh0LWVkaXRvci11cmwtbW9kYWwtZmlyc3QtZmllbGRcIj5cbiAgICAgICAgICA8c2t5LWlucHV0LWJveD5cbiAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICBjbGFzcz1cInNreS1jb250cm9sLWxhYmVsIHNreS1jb250cm9sLWxhYmVsLXJlcXVpcmVkXCJcbiAgICAgICAgICAgICAgW2Zvcl09XCJ1cmxJbnB1dC5pZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7ICdza3l1eF90ZXh0X2VkaXRvcl91cmxfbW9kYWxfdXJsX2xhYmVsJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBjbGFzcz1cInNreS1mb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwidXJsXCJcbiAgICAgICAgICAgICAgc2t5SWRcbiAgICAgICAgICAgICAgI3VybElucHV0PVwic2t5SWRcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L3NreS1pbnB1dC1ib3g+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c2t5LWlucHV0LWJveCBjbGFzcz1cInNreS1mb3JtLWdyb3VwXCI+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwic2t5LWNvbnRyb2wtbGFiZWxcIiBbZm9yXT1cInRhcmdldElucHV0LmlkXCI+XG4gICAgICAgICAgICB7eyAnc2t5dXhfdGV4dF9lZGl0b3JfdXJsX21vZGFsX29wZW5fbGFiZWwnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgICBjbGFzcz1cInNreS1mb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ0YXJnZXRcIlxuICAgICAgICAgICAgc2t5SWRcbiAgICAgICAgICAgICN0YXJnZXRJbnB1dD1cInNreUlkXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiMFwiPlxuICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICdza3l1eF90ZXh0X2VkaXRvcl91cmxfbW9kYWxfY3VycmVudF9vcHRpb25fbGFiZWwnXG4gICAgICAgICAgICAgICAgICB8IHNreUxpYlJlc291cmNlc1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiMVwiPlxuICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICdza3l1eF90ZXh0X2VkaXRvcl91cmxfbW9kYWxfbmV3X29wdGlvbl9sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICA8L3NreS1pbnB1dC1ib3g+XG4gICAgICA8L3NreS10YWI+XG4gICAgICA8c2t5LXRhYiB0YWJIZWFkaW5nPVwiRW1haWwgYWRkcmVzc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2t5LWZvcm0tZ3JvdXAgZmlyc3QtZmllbGRcIj5cbiAgICAgICAgICA8c2t5LWlucHV0LWJveD5cbiAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICBjbGFzcz1cInNreS1jb250cm9sLWxhYmVsIHNreS1jb250cm9sLWxhYmVsLXJlcXVpcmVkXCJcbiAgICAgICAgICAgICAgW2Zvcl09XCJlbWFpbEFkZHJlc3NJbnB1dC5pZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7ICdza3l1eF90ZXh0X2VkaXRvcl91cmxfbW9kYWxfZW1haWxfbGFiZWwnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJlbWFpbEFkZHJlc3NcIlxuICAgICAgICAgICAgICBza3lJZFxuICAgICAgICAgICAgICAjZW1haWxBZGRyZXNzSW5wdXQ9XCJza3lJZFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvc2t5LWlucHV0LWJveD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxza3ktaW5wdXQtYm94IGNsYXNzPVwic2t5LWZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJza3ktY29udHJvbC1sYWJlbFwiIFtmb3JdPVwic3ViamVjdElucHV0LmlkXCI+XG4gICAgICAgICAgICB7eyAnc2t5dXhfdGV4dF9lZGl0b3JfdXJsX21vZGFsX3N1YmplY3RfbGFiZWwnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIGNsYXNzPVwic2t5LWZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cInN1YmplY3RcIlxuICAgICAgICAgICAgc2t5SWRcbiAgICAgICAgICAgICNzdWJqZWN0SW5wdXQ9XCJza3lJZFwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9za3ktaW5wdXQtYm94PlxuICAgICAgPC9za3ktdGFiPlxuICAgIDwvc2t5LXRhYnNldD5cbiAgPC9za3ktbW9kYWwtY29udGVudD5cbiAgPHNreS1tb2RhbC1mb290ZXI+XG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1wcmltYXJ5XCJcbiAgICAgIFtkaXNhYmxlZF09XCIhdmFsaWRcIlxuICAgICAgKGNsaWNrKT1cInNhdmUoKVwiXG4gICAgPlxuICAgICAge3sgJ3NreXV4X3RleHRfZWRpdG9yX3VybF9tb2RhbF9zYXZlX2J1dHRvbl9sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1saW5rXCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+XG4gICAgICB7eyAnc2t5dXhfdGV4dF9lZGl0b3JfdXJsX21vZGFsX2NhbmNlbF9idXR0b25fbGFiZWwnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgPC9idXR0b24+XG4gIDwvc2t5LW1vZGFsLWZvb3Rlcj5cbjwvc2t5LW1vZGFsPlxuIl19
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @internal
3
+ */
4
+ export var UrlTarget;
5
+ (function (UrlTarget) {
6
+ UrlTarget[UrlTarget["None"] = 0] = "None";
7
+ UrlTarget[UrlTarget["NewWindow"] = 1] = "NewWindow";
8
+ })(UrlTarget || (UrlTarget = {}));
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1lZGl0b3ItdXJsLXRhcmdldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90ZXh0LWVkaXRvci9zcmMvbGliL21vZHVsZXMvdGV4dC1lZGl0b3IvdXJsLW1vZGFsL3RleHQtZWRpdG9yLXVybC10YXJnZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBWSxTQUdYO0FBSEQsV0FBWSxTQUFTO0lBQ25CLHlDQUFRLENBQUE7SUFDUixtREFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUhXLFNBQVMsS0FBVCxTQUFTLFFBR3BCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGVudW0gVXJsVGFyZ2V0IHtcbiAgTm9uZSA9IDAsXG4gIE5ld1dpbmRvdyA9IDEsXG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5dXgtdGV4dC1lZGl0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGV4dC1lZGl0b3Ivc3JjL3NreXV4LXRleHQtZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19