@theseam/ui-common 0.4.10 → 0.4.12

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 (93) hide show
  1. package/buttons/badge-button/badge-button.component.d.ts +7 -7
  2. package/buttons/button/button.component.d.ts +6 -6
  3. package/buttons/buttons.module.d.ts +1 -1
  4. package/buttons/progress-circle-button/progress-circle-button.component.d.ts +4 -4
  5. package/buttons/toggle-button/toggle-button.component.d.ts +4 -4
  6. package/esm2020/buttons/badge-button/badge-button.component.mjs +10 -10
  7. package/esm2020/buttons/button/button.component.mjs +9 -9
  8. package/esm2020/buttons/buttons.module.mjs +29 -29
  9. package/esm2020/buttons/progress-circle-button/progress-circle-button.component.mjs +10 -10
  10. package/esm2020/buttons/toggle-button/toggle-button.component.mjs +8 -8
  11. package/esm2020/carousel/carousel.component.mjs +3 -2
  12. package/esm2020/datatable/datatable-export-button/datatable-export-button.component.mjs +1 -1
  13. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.component.mjs +1 -1
  14. package/esm2020/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.mjs +1 -1
  15. package/esm2020/framework/side-nav/side-nav-item/side-nav-item.component.mjs +11 -3
  16. package/esm2020/framework/side-nav/side-nav.component.mjs +29 -4
  17. package/esm2020/framework/side-nav/side-nav.models.mjs +1 -1
  18. package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.mjs +3 -3
  19. package/esm2020/loading/loading/loading.component.mjs +5 -5
  20. package/esm2020/loading/loading-overlay.service.mjs +3 -3
  21. package/esm2020/loading/loading.module.mjs +6 -6
  22. package/esm2020/services/preferences/preferences-accessor.mjs +1 -1
  23. package/esm2020/services/preferences/preferences-manager.service.mjs +1 -1
  24. package/esm2020/services/preferences/preferences-record.mjs +1 -1
  25. package/esm2020/services/preferences/preferences.models.mjs +1 -1
  26. package/esm2020/story-helpers/arg-type-helpers.mjs +5 -9
  27. package/esm2020/story-helpers/story-preferences-accessor.service.mjs +1 -1
  28. package/esm2020/testing/get-harness.mjs +8 -2
  29. package/esm2020/testing/story-expect.mjs +3 -2
  30. package/esm2020/toggle-edit/toggle-edit.component.mjs +1 -1
  31. package/esm2020/utils/geo-json/coerce-feature-collection.mjs +1 -1
  32. package/esm2020/utils/geo-json/is-feature-collection.validator.mjs +1 -1
  33. package/esm2020/utils/geo-json/is-only-geometry-types.mjs +1 -1
  34. package/esm2020/utils/geo-json/merge-polygons.mjs +1 -1
  35. package/esm2020/utils/geo-json/no-inner-rings.validator.mjs +1 -1
  36. package/esm2020/utils/geo-json/split-multi-polygons.mjs +1 -1
  37. package/esm2020/widget/preferences/widget-preferences.models.mjs +1 -1
  38. package/esm2020/widget/preferences/widget-preferences.service.mjs +1 -1
  39. package/esm2020/widget/preferences/widget-preferences.token.mjs +1 -1
  40. package/esm2020/widget/widget/widget.component.mjs +3 -3
  41. package/esm2020/widget/widget.models.mjs +1 -1
  42. package/fesm2015/theseam-ui-common-buttons.mjs +55 -55
  43. package/fesm2015/theseam-ui-common-buttons.mjs.map +1 -1
  44. package/fesm2015/theseam-ui-common-carousel.mjs +2 -1
  45. package/fesm2015/theseam-ui-common-carousel.mjs.map +1 -1
  46. package/fesm2015/theseam-ui-common-datatable.mjs +1 -1
  47. package/fesm2015/theseam-ui-common-datatable.mjs.map +1 -1
  48. package/fesm2015/theseam-ui-common-framework.mjs +41 -8
  49. package/fesm2015/theseam-ui-common-framework.mjs.map +1 -1
  50. package/fesm2015/theseam-ui-common-google-maps.mjs +2 -2
  51. package/fesm2015/theseam-ui-common-google-maps.mjs.map +1 -1
  52. package/fesm2015/theseam-ui-common-loading.mjs +10 -10
  53. package/fesm2015/theseam-ui-common-loading.mjs.map +1 -1
  54. package/fesm2015/theseam-ui-common-services.mjs.map +1 -1
  55. package/fesm2015/theseam-ui-common-story-helpers.mjs +4 -8
  56. package/fesm2015/theseam-ui-common-story-helpers.mjs.map +1 -1
  57. package/fesm2015/theseam-ui-common-testing.mjs +9 -2
  58. package/fesm2015/theseam-ui-common-testing.mjs.map +1 -1
  59. package/fesm2015/theseam-ui-common-toggle-edit.mjs +1 -1
  60. package/fesm2015/theseam-ui-common-toggle-edit.mjs.map +1 -1
  61. package/fesm2015/theseam-ui-common-utils.mjs.map +1 -1
  62. package/fesm2015/theseam-ui-common-widget.mjs +2 -2
  63. package/fesm2015/theseam-ui-common-widget.mjs.map +1 -1
  64. package/fesm2020/theseam-ui-common-buttons.mjs +55 -55
  65. package/fesm2020/theseam-ui-common-buttons.mjs.map +1 -1
  66. package/fesm2020/theseam-ui-common-carousel.mjs +2 -1
  67. package/fesm2020/theseam-ui-common-carousel.mjs.map +1 -1
  68. package/fesm2020/theseam-ui-common-datatable.mjs +1 -1
  69. package/fesm2020/theseam-ui-common-datatable.mjs.map +1 -1
  70. package/fesm2020/theseam-ui-common-framework.mjs +40 -7
  71. package/fesm2020/theseam-ui-common-framework.mjs.map +1 -1
  72. package/fesm2020/theseam-ui-common-google-maps.mjs +2 -2
  73. package/fesm2020/theseam-ui-common-google-maps.mjs.map +1 -1
  74. package/fesm2020/theseam-ui-common-loading.mjs +10 -10
  75. package/fesm2020/theseam-ui-common-loading.mjs.map +1 -1
  76. package/fesm2020/theseam-ui-common-services.mjs.map +1 -1
  77. package/fesm2020/theseam-ui-common-story-helpers.mjs +4 -8
  78. package/fesm2020/theseam-ui-common-story-helpers.mjs.map +1 -1
  79. package/fesm2020/theseam-ui-common-testing.mjs +9 -2
  80. package/fesm2020/theseam-ui-common-testing.mjs.map +1 -1
  81. package/fesm2020/theseam-ui-common-toggle-edit.mjs +1 -1
  82. package/fesm2020/theseam-ui-common-toggle-edit.mjs.map +1 -1
  83. package/fesm2020/theseam-ui-common-utils.mjs.map +1 -1
  84. package/fesm2020/theseam-ui-common-widget.mjs +2 -2
  85. package/fesm2020/theseam-ui-common-widget.mjs.map +1 -1
  86. package/framework/side-nav/side-nav-item/side-nav-item.component.d.ts +5 -2
  87. package/framework/side-nav/side-nav.component.d.ts +6 -2
  88. package/framework/side-nav/side-nav.models.d.ts +12 -0
  89. package/loading/loading/loading.component.d.ts +3 -3
  90. package/loading/loading.module.d.ts +1 -1
  91. package/package.json +1 -1
  92. package/testing/get-harness.d.ts +2 -2
  93. package/testing/story-expect.d.ts +1 -0
@@ -149,7 +149,7 @@ export class WidgetComponent {
149
149
  WidgetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: WidgetComponent, deps: [{ token: i1.WidgetPreferencesService }, { token: THESEAM_WIDGET_DEFAULTS, optional: true }, { token: THESEAM_WIDGET_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
150
150
  WidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: WidgetComponent, selector: "seam-widget", inputs: { collapsed: "collapsed", hasHeader: "hasHeader", titleText: "titleText", icon: "icon", iconClass: "iconClass", loading: "loading", hasConfig: "hasConfig", canCollapse: "canCollapse" }, providers: [
151
151
  WidgetPreferencesService,
152
- ], queries: [{ propertyName: "iconTpl", first: true, predicate: WidgetIconTplDirective, descendants: true, static: true }, { propertyName: "titleTpl", first: true, predicate: WidgetTitleTplDirective, descendants: true, static: true }], ngImport: i0, template: "<div class=\"seam-widget border rounded overflow-hidden\">\n <div class=\"widget-header\" seamWidgetDragHandle *ngIf=\"hasHeader\">\n <div class=\"widget-header-content p-2 text-nowrap\">\n <span class=\"mr-1 widget-header-icon\">\n <ng-container *ngIf=\"iconTpl; else noIconTpl\">\n <ng-template\n [ngTemplateOutlet]=\"iconTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: icon, icon: icon, title: titleText }\">\n </ng-template>\n </ng-container>\n <ng-template #noIconTpl>\n <fa-icon *ngIf=\"_iconObj\"\n class=\"widget-header-icon--fa {{ iconClass }}\"\n [icon]=\"_iconObj\"></fa-icon>\n <img *ngIf=\"_iconUrl\"\n class=\"widget-header-icon--img {{ iconClass }}\"\n [src]=\"_iconUrl\" [alt]=\"titleText\">\n </ng-template>\n </span>\n <span class=\"widget-header-title text-truncate\">\n <ng-container *ngIf=\"titleTpl; else noTitleTpl\">\n <ng-template\n [ngTemplateOutlet]=\"titleTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: titleText, icon: icon, title: titleText }\">\n </ng-template>\n </ng-container>\n <ng-template #noTitleTpl>{{ titleText }}</ng-template>\n </span>\n </div>\n <div class=\"widget-header-btns-container\" *ngIf=\"hasConfig || canCollapse\">\n <!-- <div *ngIf=\"hasConfig\">\n <button seamIconBtn [icon]=\"configIcon\"\n class=\"widget-header-btn-config\"\n [iconType]=\"null\">\n <span class=\"sr-only\">Widget configuration menu</span>\n </button>\n <button seamButton class=\"widget-header-btn-config p-0\">\n <seam-icon class=\"d-block\" [icon]=\"configIcon\" iconClass=\"text-secondary\"></seam-icon>\n <span class=\"sr-only\">Widget configuration menu</span>\n </button>\n </div> -->\n\n <div *ngIf=\"canCollapse\" class=\"px-0\">\n\n <button seamButton class=\"widget-header-btn-collapse p-0 mr-1 h-100\" (click)=\"collapse()\" [class.widget-header-btn-collapse--active]=\"collapsed\">\n <seam-icon class=\"d-block\"\n [icon]=\"collapseIcon\"\n iconClass=\"text-secondary\">\n </seam-icon>\n <span class=\"sr-only\">Widget collapse</span>\n </button>\n <!-- iconType=\"borderless-styled-square\" -->\n <!-- style=\"margin-left: -10px; margin-right: -5px;\" -->\n\n <!-- <button seamIconBtn class=\"widget-header-btn-collapse\" (click)=\"collapse()\" [class.widget-header-btn-collapse--active]=\"collapsed\"\n btnTheme=\"secondary\"\n [icon]=\"collapseIcon\"\n iconType=\"borderless-styled-square\"\n size=\"xs\"\n btnSize=\"sm\"\n >\n <seam-icon class=\"d-block\"\n [icon]=\"collapseIcon\"\n iconClass=\"text-secondary\"\n style=\"margin-left: -10px; margin-right: -5px;\"\n iconType=\"borderless-styled-square\"></seam-icon>\n <span class=\"sr-only\">Widget collapse</span>\n </button> -->\n </div>\n </div>\n </div>\n <div class=\"position-relative overflow-hidden\" [style.height.px]=\"loading ? 150 : undefined\" [@collapseAnim]=\"collapseState\">\n <ng-container *ngIf=\"!collapsed\">\n <div class=\"p-2\" *ngIf=\"!loading else loadingTpl\" @keepContentAnim>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"seam-widget-footer\"></ng-content>\n <ng-template #loadingTpl>\n <div class=\"position-absolute\" @loadingAnim style=\"top:0;right:0;bottom:0;left:0\">\n <seam-loading [theme]=\"'primary'\"></seam-loading>\n </div>\n </ng-template>\n </ng-container>\n </div>\n</div>\n", styles: ["seam-widget{display:block;font-size:15px}seam-widget .seam-widget{background:#FFFFFF;box-shadow:none}seam-widget .widget-header{display:flex;flex-direction:row;border-bottom:1px solid #dee2e6;background:#F4F4F4;font-size:17px}seam-widget .widget-header .widget-header-content{flex:1 1 100%}seam-widget .widget-header .widget-header-btns-container{display:flex;flex-direction:row}seam-widget .widget-header .widget-header-btns-container>div{display:flex;flex-direction:column;justify-content:center;padding:4px}seam-widget .widget-header .widget-header-btns-container .widget-header-btn-config .seam-icon--fa{display:flex;flex-direction:row;justify-content:center;text-align:center;height:25px;width:30px}seam-widget .widget-header .widget-header-btns-container .widget-header-btn-config .seam-icon--fa .svg-inline--fa{max-width:100%;height:100%;width:100%}seam-widget .widget-header .widget-header-btns-container .widget-header-btn-collapse .seam-icon--fa{display:flex;flex-direction:row;justify-content:center;text-align:center;height:25px;width:30px}seam-widget .widget-header .widget-header-btns-container .widget-header-btn-collapse .seam-icon--fa .svg-inline--fa{max-width:100%;height:100%;width:100%}seam-widget .widget-header .widget-header-btns-container .widget-header-btn-collapse .svg-inline--fa{transform:rotate(0);transition:.3s ease-in-out transform}seam-widget .widget-header .widget-header-btns-container .widget-header-btn-collapse.widget-header-btn-collapse--active .svg-inline--fa{transform:rotate(90deg)}seam-widget .widget-header .widget-header-title{font-size:17px}seam-widget .widget-header-icon{display:inline-block;vertical-align:top;max-height:20px;max-width:20px;height:20px;width:20px;color:currentColor}seam-widget .widget-header-icon .widget-header-icon--fa{display:flex;flex-direction:row;justify-content:center;text-align:center;max-height:20px;max-width:20px;height:20px;width:20px}seam-widget .widget-header-icon .widget-header-icon--fa .svg-inline--fa{max-width:100%;height:100%;width:100%}seam-widget .widget-header-icon .widget-header-icon--img{height:100%;max-height:20px;max-width:20px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.FaIconComponent, selector: "fa-icon", inputs: ["classes", "icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }, { kind: "component", type: i4.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }, { kind: "component", type: i5.LoadingComponent, selector: "seam-loading", inputs: ["theme"] }, { kind: "component", type: i6.ButtonComponent, selector: "button[seamButton]", inputs: ["disabled", "theme", "size", "type"], exportAs: ["seamButton"] }, { kind: "directive", type: i7.WidgetDragHandleDirective, selector: "[seamWidgetDragHandle]", inputs: ["cdkDragHandleDisabled"] }], animations: [
152
+ ], queries: [{ propertyName: "iconTpl", first: true, predicate: WidgetIconTplDirective, descendants: true, static: true }, { propertyName: "titleTpl", first: true, predicate: WidgetTitleTplDirective, descendants: true, static: true }], ngImport: i0, template: "<div class=\"seam-widget border rounded overflow-hidden\">\n <div class=\"widget-header\" seamWidgetDragHandle *ngIf=\"hasHeader\">\n <div class=\"widget-header-content p-2 text-nowrap\">\n <span class=\"mr-1 widget-header-icon\">\n <ng-container *ngIf=\"iconTpl; else noIconTpl\">\n <ng-template\n [ngTemplateOutlet]=\"iconTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: icon, icon: icon, title: titleText }\">\n </ng-template>\n </ng-container>\n <ng-template #noIconTpl>\n <fa-icon *ngIf=\"_iconObj\"\n class=\"widget-header-icon--fa {{ iconClass }}\"\n [icon]=\"_iconObj\"></fa-icon>\n <img *ngIf=\"_iconUrl\"\n class=\"widget-header-icon--img {{ iconClass }}\"\n [src]=\"_iconUrl\" [alt]=\"titleText\">\n </ng-template>\n </span>\n <span class=\"widget-header-title text-truncate\">\n <ng-container *ngIf=\"titleTpl; else noTitleTpl\">\n <ng-template\n [ngTemplateOutlet]=\"titleTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: titleText, icon: icon, title: titleText }\">\n </ng-template>\n </ng-container>\n <ng-template #noTitleTpl>{{ titleText }}</ng-template>\n </span>\n </div>\n <div class=\"widget-header-btns-container\" *ngIf=\"hasConfig || canCollapse\">\n <!-- <div *ngIf=\"hasConfig\">\n <button seamIconBtn [icon]=\"configIcon\"\n class=\"widget-header-btn-config\"\n [iconType]=\"null\">\n <span class=\"sr-only\">Widget configuration menu</span>\n </button>\n <button seamButton class=\"widget-header-btn-config p-0\">\n <seam-icon class=\"d-block\" [icon]=\"configIcon\" iconClass=\"text-secondary\"></seam-icon>\n <span class=\"sr-only\">Widget configuration menu</span>\n </button>\n </div> -->\n\n <div *ngIf=\"canCollapse\" class=\"px-0\">\n <button seamButton class=\"widget-header-btn-collapse p-0 mr-1 h-100\" (click)=\"collapse()\" [class.widget-header-btn-collapse--active]=\"collapsed\">\n <seam-icon class=\"d-block\"\n [icon]=\"collapseIcon\"\n iconClass=\"text-secondary\">\n </seam-icon>\n <span class=\"sr-only\">Widget collapse</span>\n </button>\n </div>\n </div>\n </div>\n <div class=\"position-relative overflow-hidden\" [style.height.px]=\"loading ? 150 : undefined\" [@collapseAnim]=\"collapseState\">\n <ng-container *ngIf=\"!collapsed\">\n <div class=\"p-2\" *ngIf=\"!loading else loadingTpl\" @keepContentAnim>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"seam-widget-footer\"></ng-content>\n <ng-template #loadingTpl>\n <div class=\"position-absolute\" @loadingAnim style=\"top:0;right:0;bottom:0;left:0\">\n <seam-loading [theme]=\"'primary'\"></seam-loading>\n </div>\n </ng-template>\n </ng-container>\n </div>\n</div>\n", styles: ["seam-widget{display:block;font-size:15px}seam-widget .seam-widget{background:#FFFFFF;box-shadow:none}seam-widget .widget-header{display:flex;flex-direction:row;border-bottom:1px solid #dee2e6;background:#F4F4F4;font-size:17px}seam-widget .widget-header .widget-header-content{flex:1 1 100%}seam-widget .widget-header .widget-header-btns-container{display:flex;flex-direction:row}seam-widget .widget-header .widget-header-btns-container>div{display:flex;flex-direction:column;justify-content:center;padding:4px}seam-widget .widget-header .widget-header-btns-container .widget-header-btn-config .seam-icon--fa{display:flex;flex-direction:row;justify-content:center;text-align:center;height:25px;width:30px}seam-widget .widget-header .widget-header-btns-container .widget-header-btn-config .seam-icon--fa .svg-inline--fa{max-width:100%;height:100%;width:100%}seam-widget .widget-header .widget-header-btns-container .widget-header-btn-collapse .seam-icon--fa{display:flex;flex-direction:row;justify-content:center;text-align:center;height:25px;width:30px}seam-widget .widget-header .widget-header-btns-container .widget-header-btn-collapse .seam-icon--fa .svg-inline--fa{max-width:100%;height:100%;width:100%}seam-widget .widget-header .widget-header-btns-container .widget-header-btn-collapse .svg-inline--fa{transform:rotate(0);transition:.3s ease-in-out transform}seam-widget .widget-header .widget-header-btns-container .widget-header-btn-collapse.widget-header-btn-collapse--active .svg-inline--fa{transform:rotate(90deg)}seam-widget .widget-header .widget-header-title{font-size:17px}seam-widget .widget-header-icon{display:inline-block;vertical-align:top;max-height:20px;max-width:20px;height:20px;width:20px;color:currentColor}seam-widget .widget-header-icon .widget-header-icon--fa{display:flex;flex-direction:row;justify-content:center;text-align:center;max-height:20px;max-width:20px;height:20px;width:20px}seam-widget .widget-header-icon .widget-header-icon--fa .svg-inline--fa{max-width:100%;height:100%;width:100%}seam-widget .widget-header-icon .widget-header-icon--img{height:100%;max-height:20px;max-width:20px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.FaIconComponent, selector: "fa-icon", inputs: ["classes", "icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }, { kind: "component", type: i4.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }, { kind: "component", type: i5.TheSeamLoadingComponent, selector: "seam-loading", inputs: ["theme"] }, { kind: "component", type: i6.TheSeamButtonComponent, selector: "button[seamButton]", inputs: ["disabled", "theme", "size", "type"], exportAs: ["seamButton"] }, { kind: "directive", type: i7.WidgetDragHandleDirective, selector: "[seamWidgetDragHandle]", inputs: ["cdkDragHandleDisabled"] }], animations: [
153
153
  loadingAnimation,
154
154
  collapseAnimation,
155
155
  keepContentAnimation,
@@ -177,7 +177,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
177
177
  loadingAnimation,
178
178
  collapseAnimation,
179
179
  keepContentAnimation,
180
- ], template: "<div class=\"seam-widget border rounded overflow-hidden\">\n <div class=\"widget-header\" seamWidgetDragHandle *ngIf=\"hasHeader\">\n <div class=\"widget-header-content p-2 text-nowrap\">\n <span class=\"mr-1 widget-header-icon\">\n <ng-container *ngIf=\"iconTpl; else noIconTpl\">\n <ng-template\n [ngTemplateOutlet]=\"iconTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: icon, icon: icon, title: titleText }\">\n </ng-template>\n </ng-container>\n <ng-template #noIconTpl>\n <fa-icon *ngIf=\"_iconObj\"\n class=\"widget-header-icon--fa {{ iconClass }}\"\n [icon]=\"_iconObj\"></fa-icon>\n <img *ngIf=\"_iconUrl\"\n class=\"widget-header-icon--img {{ iconClass }}\"\n [src]=\"_iconUrl\" [alt]=\"titleText\">\n </ng-template>\n </span>\n <span class=\"widget-header-title text-truncate\">\n <ng-container *ngIf=\"titleTpl; else noTitleTpl\">\n <ng-template\n [ngTemplateOutlet]=\"titleTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: titleText, icon: icon, title: titleText }\">\n </ng-template>\n </ng-container>\n <ng-template #noTitleTpl>{{ titleText }}</ng-template>\n </span>\n </div>\n <div class=\"widget-header-btns-container\" *ngIf=\"hasConfig || canCollapse\">\n <!-- <div *ngIf=\"hasConfig\">\n <button seamIconBtn [icon]=\"configIcon\"\n class=\"widget-header-btn-config\"\n [iconType]=\"null\">\n <span class=\"sr-only\">Widget configuration menu</span>\n </button>\n <button seamButton class=\"widget-header-btn-config p-0\">\n <seam-icon class=\"d-block\" [icon]=\"configIcon\" iconClass=\"text-secondary\"></seam-icon>\n <span class=\"sr-only\">Widget configuration menu</span>\n </button>\n </div> -->\n\n <div *ngIf=\"canCollapse\" class=\"px-0\">\n\n <button seamButton class=\"widget-header-btn-collapse p-0 mr-1 h-100\" (click)=\"collapse()\" [class.widget-header-btn-collapse--active]=\"collapsed\">\n <seam-icon class=\"d-block\"\n [icon]=\"collapseIcon\"\n iconClass=\"text-secondary\">\n </seam-icon>\n <span class=\"sr-only\">Widget collapse</span>\n </button>\n <!-- iconType=\"borderless-styled-square\" -->\n <!-- style=\"margin-left: -10px; margin-right: -5px;\" -->\n\n <!-- <button seamIconBtn class=\"widget-header-btn-collapse\" (click)=\"collapse()\" [class.widget-header-btn-collapse--active]=\"collapsed\"\n btnTheme=\"secondary\"\n [icon]=\"collapseIcon\"\n iconType=\"borderless-styled-square\"\n size=\"xs\"\n btnSize=\"sm\"\n >\n <seam-icon class=\"d-block\"\n [icon]=\"collapseIcon\"\n iconClass=\"text-secondary\"\n style=\"margin-left: -10px; margin-right: -5px;\"\n iconType=\"borderless-styled-square\"></seam-icon>\n <span class=\"sr-only\">Widget collapse</span>\n </button> -->\n </div>\n </div>\n </div>\n <div class=\"position-relative overflow-hidden\" [style.height.px]=\"loading ? 150 : undefined\" [@collapseAnim]=\"collapseState\">\n <ng-container *ngIf=\"!collapsed\">\n <div class=\"p-2\" *ngIf=\"!loading else loadingTpl\" @keepContentAnim>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"seam-widget-footer\"></ng-content>\n <ng-template #loadingTpl>\n <div class=\"position-absolute\" @loadingAnim style=\"top:0;right:0;bottom:0;left:0\">\n <seam-loading [theme]=\"'primary'\"></seam-loading>\n </div>\n </ng-template>\n </ng-container>\n </div>\n</div>\n", styles: ["seam-widget{display:block;font-size:15px}seam-widget .seam-widget{background:#FFFFFF;box-shadow:none}seam-widget .widget-header{display:flex;flex-direction:row;border-bottom:1px solid #dee2e6;background:#F4F4F4;font-size:17px}seam-widget .widget-header .widget-header-content{flex:1 1 100%}seam-widget .widget-header .widget-header-btns-container{display:flex;flex-direction:row}seam-widget .widget-header .widget-header-btns-container>div{display:flex;flex-direction:column;justify-content:center;padding:4px}seam-widget .widget-header .widget-header-btns-container .widget-header-btn-config .seam-icon--fa{display:flex;flex-direction:row;justify-content:center;text-align:center;height:25px;width:30px}seam-widget .widget-header .widget-header-btns-container .widget-header-btn-config .seam-icon--fa .svg-inline--fa{max-width:100%;height:100%;width:100%}seam-widget .widget-header .widget-header-btns-container .widget-header-btn-collapse .seam-icon--fa{display:flex;flex-direction:row;justify-content:center;text-align:center;height:25px;width:30px}seam-widget .widget-header .widget-header-btns-container .widget-header-btn-collapse .seam-icon--fa .svg-inline--fa{max-width:100%;height:100%;width:100%}seam-widget .widget-header .widget-header-btns-container .widget-header-btn-collapse .svg-inline--fa{transform:rotate(0);transition:.3s ease-in-out transform}seam-widget .widget-header .widget-header-btns-container .widget-header-btn-collapse.widget-header-btn-collapse--active .svg-inline--fa{transform:rotate(90deg)}seam-widget .widget-header .widget-header-title{font-size:17px}seam-widget .widget-header-icon{display:inline-block;vertical-align:top;max-height:20px;max-width:20px;height:20px;width:20px;color:currentColor}seam-widget .widget-header-icon .widget-header-icon--fa{display:flex;flex-direction:row;justify-content:center;text-align:center;max-height:20px;max-width:20px;height:20px;width:20px}seam-widget .widget-header-icon .widget-header-icon--fa .svg-inline--fa{max-width:100%;height:100%;width:100%}seam-widget .widget-header-icon .widget-header-icon--img{height:100%;max-height:20px;max-width:20px}\n"] }]
180
+ ], template: "<div class=\"seam-widget border rounded overflow-hidden\">\n <div class=\"widget-header\" seamWidgetDragHandle *ngIf=\"hasHeader\">\n <div class=\"widget-header-content p-2 text-nowrap\">\n <span class=\"mr-1 widget-header-icon\">\n <ng-container *ngIf=\"iconTpl; else noIconTpl\">\n <ng-template\n [ngTemplateOutlet]=\"iconTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: icon, icon: icon, title: titleText }\">\n </ng-template>\n </ng-container>\n <ng-template #noIconTpl>\n <fa-icon *ngIf=\"_iconObj\"\n class=\"widget-header-icon--fa {{ iconClass }}\"\n [icon]=\"_iconObj\"></fa-icon>\n <img *ngIf=\"_iconUrl\"\n class=\"widget-header-icon--img {{ iconClass }}\"\n [src]=\"_iconUrl\" [alt]=\"titleText\">\n </ng-template>\n </span>\n <span class=\"widget-header-title text-truncate\">\n <ng-container *ngIf=\"titleTpl; else noTitleTpl\">\n <ng-template\n [ngTemplateOutlet]=\"titleTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: titleText, icon: icon, title: titleText }\">\n </ng-template>\n </ng-container>\n <ng-template #noTitleTpl>{{ titleText }}</ng-template>\n </span>\n </div>\n <div class=\"widget-header-btns-container\" *ngIf=\"hasConfig || canCollapse\">\n <!-- <div *ngIf=\"hasConfig\">\n <button seamIconBtn [icon]=\"configIcon\"\n class=\"widget-header-btn-config\"\n [iconType]=\"null\">\n <span class=\"sr-only\">Widget configuration menu</span>\n </button>\n <button seamButton class=\"widget-header-btn-config p-0\">\n <seam-icon class=\"d-block\" [icon]=\"configIcon\" iconClass=\"text-secondary\"></seam-icon>\n <span class=\"sr-only\">Widget configuration menu</span>\n </button>\n </div> -->\n\n <div *ngIf=\"canCollapse\" class=\"px-0\">\n <button seamButton class=\"widget-header-btn-collapse p-0 mr-1 h-100\" (click)=\"collapse()\" [class.widget-header-btn-collapse--active]=\"collapsed\">\n <seam-icon class=\"d-block\"\n [icon]=\"collapseIcon\"\n iconClass=\"text-secondary\">\n </seam-icon>\n <span class=\"sr-only\">Widget collapse</span>\n </button>\n </div>\n </div>\n </div>\n <div class=\"position-relative overflow-hidden\" [style.height.px]=\"loading ? 150 : undefined\" [@collapseAnim]=\"collapseState\">\n <ng-container *ngIf=\"!collapsed\">\n <div class=\"p-2\" *ngIf=\"!loading else loadingTpl\" @keepContentAnim>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"seam-widget-footer\"></ng-content>\n <ng-template #loadingTpl>\n <div class=\"position-absolute\" @loadingAnim style=\"top:0;right:0;bottom:0;left:0\">\n <seam-loading [theme]=\"'primary'\"></seam-loading>\n </div>\n </ng-template>\n </ng-container>\n </div>\n</div>\n", styles: ["seam-widget{display:block;font-size:15px}seam-widget .seam-widget{background:#FFFFFF;box-shadow:none}seam-widget .widget-header{display:flex;flex-direction:row;border-bottom:1px solid #dee2e6;background:#F4F4F4;font-size:17px}seam-widget .widget-header .widget-header-content{flex:1 1 100%}seam-widget .widget-header .widget-header-btns-container{display:flex;flex-direction:row}seam-widget .widget-header .widget-header-btns-container>div{display:flex;flex-direction:column;justify-content:center;padding:4px}seam-widget .widget-header .widget-header-btns-container .widget-header-btn-config .seam-icon--fa{display:flex;flex-direction:row;justify-content:center;text-align:center;height:25px;width:30px}seam-widget .widget-header .widget-header-btns-container .widget-header-btn-config .seam-icon--fa .svg-inline--fa{max-width:100%;height:100%;width:100%}seam-widget .widget-header .widget-header-btns-container .widget-header-btn-collapse .seam-icon--fa{display:flex;flex-direction:row;justify-content:center;text-align:center;height:25px;width:30px}seam-widget .widget-header .widget-header-btns-container .widget-header-btn-collapse .seam-icon--fa .svg-inline--fa{max-width:100%;height:100%;width:100%}seam-widget .widget-header .widget-header-btns-container .widget-header-btn-collapse .svg-inline--fa{transform:rotate(0);transition:.3s ease-in-out transform}seam-widget .widget-header .widget-header-btns-container .widget-header-btn-collapse.widget-header-btn-collapse--active .svg-inline--fa{transform:rotate(90deg)}seam-widget .widget-header .widget-header-title{font-size:17px}seam-widget .widget-header-icon{display:inline-block;vertical-align:top;max-height:20px;max-width:20px;height:20px;width:20px;color:currentColor}seam-widget .widget-header-icon .widget-header-icon--fa{display:flex;flex-direction:row;justify-content:center;text-align:center;max-height:20px;max-width:20px;height:20px;width:20px}seam-widget .widget-header-icon .widget-header-icon--fa .svg-inline--fa{max-width:100%;height:100%;width:100%}seam-widget .widget-header-icon .widget-header-icon--img{height:100%;max-height:20px;max-width:20px}\n"] }]
181
181
  }], ctorParameters: function () { return [{ type: i1.WidgetPreferencesService }, { type: undefined, decorators: [{
182
182
  type: Optional
183
183
  }, {
@@ -211,4 +211,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
211
211
  type: ContentChild,
212
212
  args: [WidgetTitleTplDirective, { static: true }]
213
213
  }] } });
214
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi93aWRnZXQvd2lkZ2V0L3dpZGdldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vd2lkZ2V0L3dpZGdldC93aWRnZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFFaEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQWEsUUFBUSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3pILE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUc5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUV0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFFdEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDaEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMENBQTBDLENBQUE7QUFDbEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkNBQTJDLENBQUE7QUFDcEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHVCQUF1QixFQUFFLE1BQU0saUJBQWlCLENBQUE7Ozs7Ozs7OztBQUc5RSxNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUE7QUFDakMsTUFBTSxlQUFlLEdBQUcsV0FBVyxDQUFBO0FBRW5DLE1BQU0saUJBQWlC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QWdCRyxTQUFTO3NCQUFqQixLQUFLO2dCQUdtQixPQUFPO3NCQUEvQixLQUFLO2dCQUltQixTQUFTO3NCQUFqQyxLQUFLO2dCQU1tQixXQUFXO3NCQUFuQyxLQUFLO2dCQUVrRCxPQUFPO3NCQUE5RCxZQUFZO3VCQUFDLHNCQUFzQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDRyxRQUFRO3NCQUFoRSxZQUFZO3VCQUFDLHVCQUF1QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nXG5pbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgSW5qZWN0LCBJbnB1dCwgaXNEZXZNb2RlLCBPbkRlc3Ryb3ksIE9wdGlvbmFsLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMnXG5cbmltcG9ydCB7IEljb25Qcm9wIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLXN2Zy1jb3JlJ1xuaW1wb3J0IHsgZmFBbmdsZURvd24sIGZhQ29nIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJ1xuaW1wb3J0IHsgSW5wdXRCb29sZWFuIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2NvcmUnXG5pbXBvcnQgeyBTZWFtSWNvbiB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9pY29uJ1xuaW1wb3J0IHsgaGFzUHJvcGVydHkgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vdXRpbHMnXG5cbmltcG9ydCB7IFdpZGdldEljb25UcGxEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL3dpZGdldC1pY29uLXRwbC5kaXJlY3RpdmUnXG5pbXBvcnQgeyBXaWRnZXRUaXRsZVRwbERpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvd2lkZ2V0LXRpdGxlLXRwbC5kaXJlY3RpdmUnXG5pbXBvcnQgeyBXaWRnZXRQcmVmZXJlbmNlc1NlcnZpY2UgfSBmcm9tICcuLi9wcmVmZXJlbmNlcy93aWRnZXQtcHJlZmVyZW5jZXMuc2VydmljZSdcbmltcG9ydCB7IFRIRVNFQU1fV0lER0VUX0RBVEEsIFRIRVNFQU1fV0lER0VUX0RFRkFVTFRTIH0gZnJvbSAnLi4vd2lkZ2V0LXRva2VuJ1xuaW1wb3J0IHsgVGhlU2VhbVdpZGdldERhdGEsIFRoZVNlYW1XaWRnZXREZWZhdWx0cyB9IGZyb20gJy4uL3dpZGdldC5tb2RlbHMnXG5cbmNvbnN0IEVYUEFOREVEX1NUQVRFID0gJ2V4cGFuZGVkJ1xuY29uc3QgQ09MTEFQU0VEX1NUQVRFID0gJ2NvbGxhcHNlZCdcblxuY29uc3QgRVhQQU5EX1RSQU5TSVRJT04gPSBgJHtFWFBBTkRFRF9TVEFURX0gPD0+ICR7Q09MTEFQU0VEX1NUQVRFfWBcblxuY29uc3QgbG9hZGluZ0FuaW1hdGlvbiA9IHRyaWdnZXIoJ2xvYWRpbmdBbmltJywgW1xuICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXG4gICAgc3R5bGUoeyBvcGFjaXR5OiAwIH0pLFxuICAgIGFuaW1hdGUoJzI1MG1zIGVhc2UtaW4tb3V0Jywgc3R5bGUoeyBvcGFjaXR5OiAxIH0pKSxcbiAgXSksXG4gIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcbiAgICBzdHlsZSh7IG9wYWNpdHk6IDEgfSksXG4gICAgYW5pbWF0ZSgnMjUwbXMgZWFzZS1pbi1vdXQnLCBzdHlsZSh7IG9wYWNpdHk6IDAgfSkpLFxuICBdKSxcbl0pXG5cbi8qKlxuICogSSB3YXMgaGF2aW5nIGFuIGlzc3VlIGdldHRpbmcgdGhlIGNvbnRlbnQgdG8gbm90IGJlIHJlbW92ZWQgZnJvbSB0aGUgRE9NLFxuICogYmVmb3JlIHRoZSBhbmltYXRpb24gd2FzIGNvbXBsZXRlLiBUaGlzIGFuaW1hdGlvbiBpcyBhIGhhY2sgdG8ga2VlcCB0aGVcbiAqIGNvbnRlbnQgaW4gdGhlIERPTSB1bnRpbCB0aGUgYW5pbWF0aW9uIGlzIGNvbXBsZXRlLlxuICovXG5jb25zdCBrZWVwQ29udGVudEFuaW1hdGlvbiA9IHRyaWdnZXIoJ2tlZXBDb250ZW50QW5pbScsIFtcbiAgdHJhbnNpdGlvbignOmxlYXZlJywgW1xuICAgIHN0eWxlKHsgb3BhY2l0eTogMSB9KSxcbiAgICBhbmltYXRlKCcwbXMnLCBzdHlsZSh7IG9wYWNpdHk6IDAgfSkpLFxuICBdKSxcbl0pXG5cbmNvbnN0IGNvbGxhcHNlQW5pbWF0aW9uID0gdHJpZ2dlcignY29sbGFwc2VBbmltJywgW1xuICBzdGF0ZShFWFBBTkRFRF9TVEFURSwgc3R5bGUoeyBoZWlnaHQ6ICcqJyB9KSksXG4gIHN0YXRlKENPTExBUFNFRF9TVEFURSwgc3R5bGUoeyBoZWlnaHQ6ICcwJyB9KSksXG4gIHRyYW5zaXRpb24oRVhQQU5EX1RSQU5TSVRJT04sIGFuaW1hdGUoJzAuM3MgZWFzZS1pbi1vdXQnKSksXG5dKVxuXG4vKipcbiAqIFdpZGdldFxuICpcbiAqIFdpZGdldHMgYXJlIGRlc2lnbmVkIHdpdGggdGhlIGludGVudGlvbiBvZiBiZWluZyBvbiBhIGRhc2hib2FyZC4gT3RoZXIgdXNlc1xuICogbWF5IGJlIHN1cHBvcnRlZCBhcyB0aGUgbmVlZCBhcmlzZXMuXG4gKlxuICogVGhlIG9ubHkgSFRNTC9DU1MgdXNlIHNob3VsZCBiZSBhIHdpZGdldCBjb250ZW50IGNvbXBvbmVudCwgdW5sZXNzIHRoZXJlIGlzIGFcbiAqIGNhc2UgcmVxdWlyaW5nIG1vcmUgYWR2YW5jZWQgZGVzaWduLiBUaGlzIGlzIHNvIHRoYXQgd2UgY2FuIG1hbmFnZSBhIGNvbW1vblxuICogc3R5bGUgZm9yIG91ciB3aWRnZXRzLiBJZiBhIGNhc2UgcmVxdWlyaW5nIG5vbiB3aWRnZXQgY29udGVudCBjb21wb25lbnRzIGlzXG4gKiB1c2VkIHRoZW4gdGhlIHNpdHVhdGlvbiBzaG91bGQgYmUgY29uc2lkZXJlZCBmb3IgYmVjb21pbmcgYSB3aWRnZXQgY29tcG9uZW50LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZWFtLXdpZGdldCcsXG4gIHRlbXBsYXRlVXJsOiAnLi93aWRnZXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi93aWRnZXQuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgV2lkZ2V0UHJlZmVyZW5jZXNTZXJ2aWNlLFxuICBdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBhbmltYXRpb25zOiBbXG4gICAgbG9hZGluZ0FuaW1hdGlvbixcbiAgICBjb2xsYXBzZUFuaW1hdGlvbixcbiAgICBrZWVwQ29udGVudEFuaW1hdGlvbixcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgV2lkZ2V0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfaGFzSGVhZGVyOiBCb29sZWFuSW5wdXRcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2xvYWRpbmc6IEJvb2xlYW5JbnB1dFxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfaGFzQ29uZmlnOiBCb29sZWFuSW5wdXRcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2NhbkNvbGxhcHNlOiBCb29sZWFuSW5wdXRcblxuICByZWFkb25seSBjb25maWdJY29uID0gZmFDb2dcbiAgcmVhZG9ubHkgY29sbGFwc2VJY29uID0gZmFBbmdsZURvd25cblxuICBwcml2YXRlIHJlYWRvbmx5IF9uZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKVxuXG4gIHByaXZhdGUgX3ByZWZlcmVuY2VzS2V5Pzogc3RyaW5nXG5cbiAgLyoqXG4gICAqIFRvZ2dsZXMgdGhlIGNvbGxhcHNlZCBzdGF0ZSBvZiBhIHdpZGdldC5cbiAgICovXG4gIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSBjb2xsYXBzZWQgPSBmYWxzZVxuXG4gIC8qKlxuICAgKiBUb2dnbGVzIHRoZSB0b3AgaGVhZGVyIGJhciBvZiBhIHdpZGdldC4gVGhpcyBzaG91bGQgYmUgdHJ1ZSBmb3IgbW9zdFxuICAgKiB3aWRnZXRzLlxuICAgKi9cbiAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIGhhc0hlYWRlciA9IHRydWVcblxuICAvKipcbiAgICogVGl0bGUgZGlzcGxheWVkIGluIHRoZSB0b3AgaGVhZGVyLlxuICAgKlxuICAgKiBJZiBhIG1vcmUgYWR2YW5jZWQgdGl0bGUgaXMgbmVlZGVkIHlvdSBjYW4gdXNlIGBzZWFtV2lkZ2V0VGl0bGVUcGxgXG4gICAqIHRlbXBsYXRlIGRpcmVjdGl2ZSwgYnV0IHRleHQgaXMgcmVjb21tZW5kZWQsIGJlY2F1c2UgYWxsb3dpbmcgY3VzdG9tIHN0eWxlc1xuICAgKiBjYW4gbGVhZCB0byBpbmNvbnNpdGVuY3kgcXVpY2tseSBhcyBkaWZmZXJlbnQgZGV2ZWxvcGVycyBrZWVwIG1ha2luZ1xuICAgKiB0d2Vha3MuXG4gICAqL1xuICBASW5wdXQoKSB0aXRsZVRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGxcblxuICAvKipcbiAgICogSWNvbiBkaXNwbGF5ZWQgaW4gdGhlIHRvcCBoZWFkZXIuXG4gICAqXG4gICAqIElmIGEgbW9yZSBhZHZhbmNlZCBpY29uIGlzIG5lZWRlZCB5b3UgY2FuIHVzZSBgc2VhbVdpZGdldEljb25UcGxgIHRlbXBsYXRlXG4gICAqIGRpcmVjdGl2ZSwgYnV0IGEgYFNlYW1JY29uYCBpbnB1dCBpcyByZWNvbW1lbmRlZCwgYmVjYXVzZSBhbGxvd2luZyBjdXN0b21cbiAgICogaWNvbnMgdGhhdCBkbyBub3QgZm9sbG93IHRoZSB0ZXN0ZWQgdHlwZXMgY2FuIGxlYWQgdG8gaW5jb25zaXRlbmN5IHF1aWNrbHlcbiAgICogYXMgZGlmZmVyZW50IGRldmVsb3BlcnMga2VlcCBtYWtpbmcgdHdlYWtzLlxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IGljb24oKTogU2VhbUljb24gfCB1bmRlZmluZWQgeyByZXR1cm4gdGhpcy5faWNvblVybCB8fCB0aGlzLl9pY29uT2JqIH1cbiAgc2V0IGljb24odmFsdWU6IFNlYW1JY29uIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHRoaXMuX2ljb25VcmwgPSB2YWx1ZVxuICAgICAgdGhpcy5faWNvbk9iaiA9IHVuZGVmaW5lZFxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9pY29uVXJsID0gdW5kZWZpbmVkXG4gICAgICB0aGlzLl9pY29uT2JqID0gdmFsdWVcbiAgICB9XG4gIH1cblxuICBfaWNvblVybDogc3RyaW5nIHwgdW5kZWZpbmVkXG4gIF9pY29uT2JqOiBJY29uUHJvcCB8IHVuZGVmaW5lZFxuXG4gIC8qKiBBZGQgYSBjc3MgY2xhc3MgdG8gdGhlIGhlYWRlciBpY29uLiAqL1xuICBASW5wdXQoKSBpY29uQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGxcblxuICAvKiogU2hvd3Mgd2lkZ2V0IGxvYWRpbmcgaW5zdGVhZCBvZiBjb250ZW50LiAqL1xuICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgbG9hZGluZyA9IGZhbHNlXG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgLy8gTk9URTogQ29uZmlnIGlzIHN0aWxsIGJlaW5nIHdvcmtlZCBvbi5cbiAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIGhhc0NvbmZpZyA9IGZhbHNlXG5cbiAgLyoqXG4gICAqIFRvZ2dsZXMgdGhlIGFiaWxpdHkgdG8gY29sbGFwc2UgYSB3aWRnZXQuIEFuIGljb24gd2lsbCBiZSBkaXNwbGF5ZWQgaW4gdGhlXG4gICAqIGhlYWRlciB0byB0b2dnbGUgdGhlIGNvbGxhcHNlZCBzdGF0ZS5cbiAgICovXG4gIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSBjYW5Db2xsYXBzZSA9IGZhbHNlXG5cbiAgQENvbnRlbnRDaGlsZChXaWRnZXRJY29uVHBsRGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSB9KSBpY29uVHBsPzogV2lkZ2V0SWNvblRwbERpcmVjdGl2ZVxuICBAQ29udGVudENoaWxkKFdpZGdldFRpdGxlVHBsRGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSB9KSB0aXRsZVRwbD86IFdpZGdldFRpdGxlVHBsRGlyZWN0aXZlXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBfd2lkZ2V0UHJlZmVyZW5jZXM6IFdpZGdldFByZWZlcmVuY2VzU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFRIRVNFQU1fV0lER0VUX0RFRkFVTFRTKSBwcml2YXRlIHJlYWRvbmx5IF9kZWZhdWx0cz86IFRoZVNlYW1XaWRnZXREZWZhdWx0cyxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFRIRVNFQU1fV0lER0VUX0RBVEEpIHByaXZhdGUgcmVhZG9ubHkgX2RhdGE/OiBUaGVTZWFtV2lkZ2V0RGF0YSxcbiAgKSB7XG4gICAgaWYgKHRoaXMuX2RlZmF1bHRzKSB7XG4gICAgICBpZiAoaGFzUHJvcGVydHkodGhpcy5fZGVmYXVsdHMsICdjYW5Db2xsYXBzZScpKSB7XG4gICAgICAgIHRoaXMuY2FuQ29sbGFwc2UgPSB0aGlzLl9kZWZhdWx0cy5jYW5Db2xsYXBzZVxuICAgICAgfVxuICAgICAgaWYgKGhhc1Byb3BlcnR5KHRoaXMuX2RlZmF1bHRzLCAnY29sbGFwc2VkJykpIHtcbiAgICAgICAgdGhpcy5jb2xsYXBzZWQgPSB0aGlzLl9kZWZhdWx0cy5jb2xsYXBzZWRcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5fZGF0YSAmJiB0aGlzLl9kYXRhLndpZGdldElkKSB7XG4gICAgICB0aGlzLl9wcmVmZXJlbmNlc0tleSA9IGB3aWRnZXQ6JHt0aGlzLl9kYXRhLndpZGdldElkfWBcbiAgICAgIHRoaXMuX3dpZGdldFByZWZlcmVuY2VzLnByZWZlcmVuY2VzKHRoaXMuX3ByZWZlcmVuY2VzS2V5KS5waXBlKFxuICAgICAgICB0YXAocHJlZnMgPT4ge1xuICAgICAgICAgIGlmIChoYXNQcm9wZXJ0eShwcmVmcywgJ2NvbGxhcHNlZCcpKSB7XG4gICAgICAgICAgICB0aGlzLmNvbGxhcHNlZCA9IHByZWZzLmNvbGxhcHNlZFxuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9uZ1Vuc3Vic2NyaWJlKVxuICAgICAgKS5zdWJzY3JpYmUoKVxuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX25nVW5zdWJzY3JpYmUubmV4dCgpXG4gICAgdGhpcy5fbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpXG4gIH1cblxuICAvKipcbiAgICogVG9nZ2xlcyBhIHdpZGdldCdzIGNvbGxhcHNlZCBzdGF0ZS5cbiAgICovXG4gIHB1YmxpYyBjb2xsYXBzZSgpIHtcbiAgICBpZiAoIXRoaXMuY2FuQ29sbGFwc2UpIHtcbiAgICAgIGlmIChpc0Rldk1vZGUoKSkge1xuICAgICAgICBjb25zb2xlLndhcm4oJ1dpZGdldENvbXBvbmVudDogY29sbGFwc2UoKSBjYWxsZWQgd2hlbiBjYW5Db2xsYXBzZSBpcyBmYWxzZS4nKVxuICAgICAgfVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdGhpcy5jb2xsYXBzZWQgPSAhdGhpcy5jb2xsYXBzZWRcblxuICAgIC8vIE9ubHkgdXBkYXRlIHRoZSBwcmVmZXJlbmNlLCBpZiBjb2xsYXBzZSBtZXRob2QgaXMgY2FsbGVkLCBiZWNhdXNlIGl0IGlzXG4gICAgLy8gYXNzdW1lZCB0aGF0IHRoZSB1c2VyIGlzIGNvbGxhcHNpbmcgdGhlIHdpZGdldC4gSWYgdGhlIGNvbGxhcHNlZCBzdGF0ZSBpc1xuICAgIC8vIGNoYW5nZWQgYnkgb3RoZXIgbWVhbnMsIHN1Y2ggdXNpbmcgdGhlIHdpZGdldCdzIGBjb2xsYXBzZWRgIGlucHV0LCB0aGVuXG4gICAgLy8gdGhlIHByZWZlcmVuY2Ugc2hvdWxkIG5vdCBiZSB1cGRhdGVkLCBiZWNhdXNlIHRoYXQgaXMgYXNzdW1lZCB0byBiZSBhblxuICAgIC8vIGFwcCBjb250cm9sbGVkIGNoYW5nZSB0aGF0IHNob3VsZCBub3QgYmUgcGVyc2lzdGVkLlxuICAgIGlmICh0aGlzLl9wcmVmZXJlbmNlc0tleSkge1xuICAgICAgdGhpcy5fd2lkZ2V0UHJlZmVyZW5jZXMucGF0Y2hQcmVmZXJlbmNlcyh0aGlzLl9wcmVmZXJlbmNlc0tleSwgeyBjb2xsYXBzZWQ6IHRoaXMuY29sbGFwc2VkIH0pXG4gICAgfVxuICB9XG5cbiAgZ2V0IGNvbGxhcHNlU3RhdGUoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuY29sbGFwc2VkID8gQ09MTEFQU0VEX1NUQVRFIDogRVhQQU5ERURfU1RBVEUgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwic2VhbS13aWRnZXQgYm9yZGVyIHJvdW5kZWQgb3ZlcmZsb3ctaGlkZGVuXCI+XG4gIDxkaXYgY2xhc3M9XCJ3aWRnZXQtaGVhZGVyXCIgc2VhbVdpZGdldERyYWdIYW5kbGUgKm5nSWY9XCJoYXNIZWFkZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwid2lkZ2V0LWhlYWRlci1jb250ZW50IHAtMiB0ZXh0LW5vd3JhcFwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJtci0xIHdpZGdldC1oZWFkZXItaWNvblwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaWNvblRwbDsgZWxzZSBub0ljb25UcGxcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImljb25UcGwudGVtcGxhdGVcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpY29uLCBpY29uOiBpY29uLCB0aXRsZTogdGl0bGVUZXh0IH1cIj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNub0ljb25UcGw+XG4gICAgICAgICAgPGZhLWljb24gKm5nSWY9XCJfaWNvbk9ialwiXG4gICAgICAgICAgICBjbGFzcz1cIndpZGdldC1oZWFkZXItaWNvbi0tZmEge3sgaWNvbkNsYXNzIH19XCJcbiAgICAgICAgICAgIFtpY29uXT1cIl9pY29uT2JqXCI+PC9mYS1pY29uPlxuICAgICAgICAgIDxpbWcgKm5nSWY9XCJfaWNvblVybFwiXG4gICAgICAgICAgICBjbGFzcz1cIndpZGdldC1oZWFkZXItaWNvbi0taW1nIHt7IGljb25DbGFzcyB9fVwiXG4gICAgICAgICAgICBbc3JjXT1cIl9pY29uVXJsXCIgW2FsdF09XCJ0aXRsZVRleHRcIj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwid2lkZ2V0LWhlYWRlci10aXRsZSB0ZXh0LXRydW5jYXRlXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0aXRsZVRwbDsgZWxzZSBub1RpdGxlVHBsXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0aXRsZVRwbC50ZW1wbGF0ZVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHRpdGxlVGV4dCwgaWNvbjogaWNvbiwgdGl0bGU6IHRpdGxlVGV4dCB9XCI+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9UaXRsZVRwbD57eyB0aXRsZVRleHQgfX08L25nLXRlbXBsYXRlPlxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ3aWRnZXQtaGVhZGVyLWJ0bnMtY29udGFpbmVyXCIgKm5nSWY9XCJoYXNDb25maWcgfHwgY2FuQ29sbGFwc2VcIj5cbiAgICAgIDwhLS0gPGRpdiAqbmdJZj1cImhhc0NvbmZpZ1wiPlxuICAgICAgICA8YnV0dG9uIHNlYW1JY29uQnRuIFtpY29uXT1cImNvbmZpZ0ljb25cIlxuICAgICAgICAgIGNsYXNzPVwid2lkZ2V0LWhlYWRlci1idG4tY29uZmlnXCJcbiAgICAgICAgICBbaWNvblR5cGVdPVwibnVsbFwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPldpZGdldCBjb25maWd1cmF0aW9uIG1lbnU8L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIHNlYW1CdXR0b24gY2xhc3M9XCJ3aWRnZXQtaGVhZGVyLWJ0bi1jb25maWcgcC0wXCI+XG4gICAgICAgICAgPHNlYW0taWNvbiBjbGFzcz1cImQtYmxvY2tcIiBbaWNvbl09XCJjb25maWdJY29uXCIgaWNvbkNsYXNzPVwidGV4dC1zZWNvbmRhcnlcIj48L3NlYW0taWNvbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5XaWRnZXQgY29uZmlndXJhdGlvbiBtZW51PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PiAtLT5cblxuICAgICAgPGRpdiAqbmdJZj1cImNhbkNvbGxhcHNlXCIgY2xhc3M9XCJweC0wXCI+XG5cbiAgICAgICAgPGJ1dHRvbiBzZWFtQnV0dG9uIGNsYXNzPVwid2lkZ2V0LWhlYWRlci1idG4tY29sbGFwc2UgcC0wIG1yLTEgaC0xMDBcIiAoY2xpY2spPVwiY29sbGFwc2UoKVwiIFtjbGFzcy53aWRnZXQtaGVhZGVyLWJ0bi1jb2xsYXBzZS0tYWN0aXZlXT1cImNvbGxhcHNlZFwiPlxuICAgICAgICAgIDxzZWFtLWljb24gY2xhc3M9XCJkLWJsb2NrXCJcbiAgICAgICAgICAgIFtpY29uXT1cImNvbGxhcHNlSWNvblwiXG4gICAgICAgICAgICBpY29uQ2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPlxuICAgICAgICAgIDwvc2VhbS1pY29uPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPldpZGdldCBjb2xsYXBzZTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwhLS0gaWNvblR5cGU9XCJib3JkZXJsZXNzLXN0eWxlZC1zcXVhcmVcIiAtLT5cbiAgICAgICAgPCEtLSBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAtMTBweDsgbWFyZ2luLXJpZ2h0OiAtNXB4O1wiIC0tPlxuXG4gICAgICAgIDwhLS0gPGJ1dHRvbiBzZWFtSWNvbkJ0biBjbGFzcz1cIndpZGdldC1oZWFkZXItYnRuLWNvbGxhcHNlXCIgKGNsaWNrKT1cImNvbGxhcHNlKClcIiBbY2xhc3Mud2lkZ2V0LWhlYWRlci1idG4tY29sbGFwc2UtLWFjdGl2ZV09XCJjb2xsYXBzZWRcIlxuICAgICAgICAgIGJ0blRoZW1lPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICBbaWNvbl09XCJjb2xsYXBzZUljb25cIlxuICAgICAgICAgIGljb25UeXBlPVwiYm9yZGVybGVzcy1zdHlsZWQtc3F1YXJlXCJcbiAgICAgICAgICBzaXplPVwieHNcIlxuICAgICAgICAgIGJ0blNpemU9XCJzbVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDxzZWFtLWljb24gY2xhc3M9XCJkLWJsb2NrXCJcbiAgICAgICAgICAgIFtpY29uXT1cImNvbGxhcHNlSWNvblwiXG4gICAgICAgICAgICBpY29uQ2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiXG4gICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAtMTBweDsgbWFyZ2luLXJpZ2h0OiAtNXB4O1wiXG4gICAgICAgICAgICBpY29uVHlwZT1cImJvcmRlcmxlc3Mtc3R5bGVkLXNxdWFyZVwiPjwvc2VhbS1pY29uPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPldpZGdldCBjb2xsYXBzZTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+IC0tPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicG9zaXRpb24tcmVsYXRpdmUgb3ZlcmZsb3ctaGlkZGVuXCIgW3N0eWxlLmhlaWdodC5weF09XCJsb2FkaW5nID8gMTUwIDogdW5kZWZpbmVkXCIgW0Bjb2xsYXBzZUFuaW1dPVwiY29sbGFwc2VTdGF0ZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY29sbGFwc2VkXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicC0yXCIgKm5nSWY9XCIhbG9hZGluZyBlbHNlIGxvYWRpbmdUcGxcIiBAa2VlcENvbnRlbnRBbmltPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNlYW0td2lkZ2V0LWZvb3RlclwiPjwvbmctY29udGVudD5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjbG9hZGluZ1RwbD5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlXCIgQGxvYWRpbmdBbmltIHN0eWxlPVwidG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjBcIj5cbiAgICAgICAgICA8c2VhbS1sb2FkaW5nIFt0aGVtZV09XCIncHJpbWFyeSdcIj48L3NlYW0tbG9hZGluZz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
214
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi93aWRnZXQvd2lkZ2V0L3dpZGdldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vd2lkZ2V0L3dpZGdldC93aWRnZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFFaEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQWEsUUFBUSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3pILE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUc5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUV0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFFdEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDaEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMENBQTBDLENBQUE7QUFDbEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkNBQTJDLENBQUE7QUFDcEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHVCQUF1QixFQUFFLE1BQU0saUJBQWlCLENBQUE7Ozs7Ozs7OztBQUc5RSxNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUE7QUFDakMsTUFBTSxlQUFlLEdBQUcsV0FBVyxDQUFBO0FBRW5DLE1BQU0saUJBQWlC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QWdCRyxTQUFTO3NCQUFqQixLQUFLO2dCQUdtQixPQUFPO3NCQUEvQixLQUFLO2dCQUltQixTQUFTO3NCQUFqQyxLQUFLO2dCQU1tQixXQUFXO3NCQUFuQyxLQUFLO2dCQUVrRCxPQUFPO3NCQUE5RCxZQUFZO3VCQUFDLHNCQUFzQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDRyxRQUFRO3NCQUFoRSxZQUFZO3VCQUFDLHVCQUF1QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nXG5pbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgSW5qZWN0LCBJbnB1dCwgaXNEZXZNb2RlLCBPbkRlc3Ryb3ksIE9wdGlvbmFsLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMnXG5cbmltcG9ydCB7IEljb25Qcm9wIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLXN2Zy1jb3JlJ1xuaW1wb3J0IHsgZmFBbmdsZURvd24sIGZhQ29nIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJ1xuaW1wb3J0IHsgSW5wdXRCb29sZWFuIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2NvcmUnXG5pbXBvcnQgeyBTZWFtSWNvbiB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9pY29uJ1xuaW1wb3J0IHsgaGFzUHJvcGVydHkgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vdXRpbHMnXG5cbmltcG9ydCB7IFdpZGdldEljb25UcGxEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL3dpZGdldC1pY29uLXRwbC5kaXJlY3RpdmUnXG5pbXBvcnQgeyBXaWRnZXRUaXRsZVRwbERpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvd2lkZ2V0LXRpdGxlLXRwbC5kaXJlY3RpdmUnXG5pbXBvcnQgeyBXaWRnZXRQcmVmZXJlbmNlc1NlcnZpY2UgfSBmcm9tICcuLi9wcmVmZXJlbmNlcy93aWRnZXQtcHJlZmVyZW5jZXMuc2VydmljZSdcbmltcG9ydCB7IFRIRVNFQU1fV0lER0VUX0RBVEEsIFRIRVNFQU1fV0lER0VUX0RFRkFVTFRTIH0gZnJvbSAnLi4vd2lkZ2V0LXRva2VuJ1xuaW1wb3J0IHsgVGhlU2VhbVdpZGdldERhdGEsIFRoZVNlYW1XaWRnZXREZWZhdWx0cyB9IGZyb20gJy4uL3dpZGdldC5tb2RlbHMnXG5cbmNvbnN0IEVYUEFOREVEX1NUQVRFID0gJ2V4cGFuZGVkJ1xuY29uc3QgQ09MTEFQU0VEX1NUQVRFID0gJ2NvbGxhcHNlZCdcblxuY29uc3QgRVhQQU5EX1RSQU5TSVRJT04gPSBgJHtFWFBBTkRFRF9TVEFURX0gPD0+ICR7Q09MTEFQU0VEX1NUQVRFfWBcblxuY29uc3QgbG9hZGluZ0FuaW1hdGlvbiA9IHRyaWdnZXIoJ2xvYWRpbmdBbmltJywgW1xuICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXG4gICAgc3R5bGUoeyBvcGFjaXR5OiAwIH0pLFxuICAgIGFuaW1hdGUoJzI1MG1zIGVhc2UtaW4tb3V0Jywgc3R5bGUoeyBvcGFjaXR5OiAxIH0pKSxcbiAgXSksXG4gIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcbiAgICBzdHlsZSh7IG9wYWNpdHk6IDEgfSksXG4gICAgYW5pbWF0ZSgnMjUwbXMgZWFzZS1pbi1vdXQnLCBzdHlsZSh7IG9wYWNpdHk6IDAgfSkpLFxuICBdKSxcbl0pXG5cbi8qKlxuICogSSB3YXMgaGF2aW5nIGFuIGlzc3VlIGdldHRpbmcgdGhlIGNvbnRlbnQgdG8gbm90IGJlIHJlbW92ZWQgZnJvbSB0aGUgRE9NLFxuICogYmVmb3JlIHRoZSBhbmltYXRpb24gd2FzIGNvbXBsZXRlLiBUaGlzIGFuaW1hdGlvbiBpcyBhIGhhY2sgdG8ga2VlcCB0aGVcbiAqIGNvbnRlbnQgaW4gdGhlIERPTSB1bnRpbCB0aGUgYW5pbWF0aW9uIGlzIGNvbXBsZXRlLlxuICovXG5jb25zdCBrZWVwQ29udGVudEFuaW1hdGlvbiA9IHRyaWdnZXIoJ2tlZXBDb250ZW50QW5pbScsIFtcbiAgdHJhbnNpdGlvbignOmxlYXZlJywgW1xuICAgIHN0eWxlKHsgb3BhY2l0eTogMSB9KSxcbiAgICBhbmltYXRlKCcwbXMnLCBzdHlsZSh7IG9wYWNpdHk6IDAgfSkpLFxuICBdKSxcbl0pXG5cbmNvbnN0IGNvbGxhcHNlQW5pbWF0aW9uID0gdHJpZ2dlcignY29sbGFwc2VBbmltJywgW1xuICBzdGF0ZShFWFBBTkRFRF9TVEFURSwgc3R5bGUoeyBoZWlnaHQ6ICcqJyB9KSksXG4gIHN0YXRlKENPTExBUFNFRF9TVEFURSwgc3R5bGUoeyBoZWlnaHQ6ICcwJyB9KSksXG4gIHRyYW5zaXRpb24oRVhQQU5EX1RSQU5TSVRJT04sIGFuaW1hdGUoJzAuM3MgZWFzZS1pbi1vdXQnKSksXG5dKVxuXG4vKipcbiAqIFdpZGdldFxuICpcbiAqIFdpZGdldHMgYXJlIGRlc2lnbmVkIHdpdGggdGhlIGludGVudGlvbiBvZiBiZWluZyBvbiBhIGRhc2hib2FyZC4gT3RoZXIgdXNlc1xuICogbWF5IGJlIHN1cHBvcnRlZCBhcyB0aGUgbmVlZCBhcmlzZXMuXG4gKlxuICogVGhlIG9ubHkgSFRNTC9DU1MgdXNlIHNob3VsZCBiZSBhIHdpZGdldCBjb250ZW50IGNvbXBvbmVudCwgdW5sZXNzIHRoZXJlIGlzIGFcbiAqIGNhc2UgcmVxdWlyaW5nIG1vcmUgYWR2YW5jZWQgZGVzaWduLiBUaGlzIGlzIHNvIHRoYXQgd2UgY2FuIG1hbmFnZSBhIGNvbW1vblxuICogc3R5bGUgZm9yIG91ciB3aWRnZXRzLiBJZiBhIGNhc2UgcmVxdWlyaW5nIG5vbiB3aWRnZXQgY29udGVudCBjb21wb25lbnRzIGlzXG4gKiB1c2VkIHRoZW4gdGhlIHNpdHVhdGlvbiBzaG91bGQgYmUgY29uc2lkZXJlZCBmb3IgYmVjb21pbmcgYSB3aWRnZXQgY29tcG9uZW50LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZWFtLXdpZGdldCcsXG4gIHRlbXBsYXRlVXJsOiAnLi93aWRnZXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi93aWRnZXQuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgV2lkZ2V0UHJlZmVyZW5jZXNTZXJ2aWNlLFxuICBdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBhbmltYXRpb25zOiBbXG4gICAgbG9hZGluZ0FuaW1hdGlvbixcbiAgICBjb2xsYXBzZUFuaW1hdGlvbixcbiAgICBrZWVwQ29udGVudEFuaW1hdGlvbixcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgV2lkZ2V0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfaGFzSGVhZGVyOiBCb29sZWFuSW5wdXRcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2xvYWRpbmc6IEJvb2xlYW5JbnB1dFxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfaGFzQ29uZmlnOiBCb29sZWFuSW5wdXRcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2NhbkNvbGxhcHNlOiBCb29sZWFuSW5wdXRcblxuICByZWFkb25seSBjb25maWdJY29uID0gZmFDb2dcbiAgcmVhZG9ubHkgY29sbGFwc2VJY29uID0gZmFBbmdsZURvd25cblxuICBwcml2YXRlIHJlYWRvbmx5IF9uZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKVxuXG4gIHByaXZhdGUgX3ByZWZlcmVuY2VzS2V5Pzogc3RyaW5nXG5cbiAgLyoqXG4gICAqIFRvZ2dsZXMgdGhlIGNvbGxhcHNlZCBzdGF0ZSBvZiBhIHdpZGdldC5cbiAgICovXG4gIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSBjb2xsYXBzZWQgPSBmYWxzZVxuXG4gIC8qKlxuICAgKiBUb2dnbGVzIHRoZSB0b3AgaGVhZGVyIGJhciBvZiBhIHdpZGdldC4gVGhpcyBzaG91bGQgYmUgdHJ1ZSBmb3IgbW9zdFxuICAgKiB3aWRnZXRzLlxuICAgKi9cbiAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIGhhc0hlYWRlciA9IHRydWVcblxuICAvKipcbiAgICogVGl0bGUgZGlzcGxheWVkIGluIHRoZSB0b3AgaGVhZGVyLlxuICAgKlxuICAgKiBJZiBhIG1vcmUgYWR2YW5jZWQgdGl0bGUgaXMgbmVlZGVkIHlvdSBjYW4gdXNlIGBzZWFtV2lkZ2V0VGl0bGVUcGxgXG4gICAqIHRlbXBsYXRlIGRpcmVjdGl2ZSwgYnV0IHRleHQgaXMgcmVjb21tZW5kZWQsIGJlY2F1c2UgYWxsb3dpbmcgY3VzdG9tIHN0eWxlc1xuICAgKiBjYW4gbGVhZCB0byBpbmNvbnNpdGVuY3kgcXVpY2tseSBhcyBkaWZmZXJlbnQgZGV2ZWxvcGVycyBrZWVwIG1ha2luZ1xuICAgKiB0d2Vha3MuXG4gICAqL1xuICBASW5wdXQoKSB0aXRsZVRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGxcblxuICAvKipcbiAgICogSWNvbiBkaXNwbGF5ZWQgaW4gdGhlIHRvcCBoZWFkZXIuXG4gICAqXG4gICAqIElmIGEgbW9yZSBhZHZhbmNlZCBpY29uIGlzIG5lZWRlZCB5b3UgY2FuIHVzZSBgc2VhbVdpZGdldEljb25UcGxgIHRlbXBsYXRlXG4gICAqIGRpcmVjdGl2ZSwgYnV0IGEgYFNlYW1JY29uYCBpbnB1dCBpcyByZWNvbW1lbmRlZCwgYmVjYXVzZSBhbGxvd2luZyBjdXN0b21cbiAgICogaWNvbnMgdGhhdCBkbyBub3QgZm9sbG93IHRoZSB0ZXN0ZWQgdHlwZXMgY2FuIGxlYWQgdG8gaW5jb25zaXRlbmN5IHF1aWNrbHlcbiAgICogYXMgZGlmZmVyZW50IGRldmVsb3BlcnMga2VlcCBtYWtpbmcgdHdlYWtzLlxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IGljb24oKTogU2VhbUljb24gfCB1bmRlZmluZWQgeyByZXR1cm4gdGhpcy5faWNvblVybCB8fCB0aGlzLl9pY29uT2JqIH1cbiAgc2V0IGljb24odmFsdWU6IFNlYW1JY29uIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHRoaXMuX2ljb25VcmwgPSB2YWx1ZVxuICAgICAgdGhpcy5faWNvbk9iaiA9IHVuZGVmaW5lZFxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9pY29uVXJsID0gdW5kZWZpbmVkXG4gICAgICB0aGlzLl9pY29uT2JqID0gdmFsdWVcbiAgICB9XG4gIH1cblxuICBfaWNvblVybDogc3RyaW5nIHwgdW5kZWZpbmVkXG4gIF9pY29uT2JqOiBJY29uUHJvcCB8IHVuZGVmaW5lZFxuXG4gIC8qKiBBZGQgYSBjc3MgY2xhc3MgdG8gdGhlIGhlYWRlciBpY29uLiAqL1xuICBASW5wdXQoKSBpY29uQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGxcblxuICAvKiogU2hvd3Mgd2lkZ2V0IGxvYWRpbmcgaW5zdGVhZCBvZiBjb250ZW50LiAqL1xuICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgbG9hZGluZyA9IGZhbHNlXG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgLy8gTk9URTogQ29uZmlnIGlzIHN0aWxsIGJlaW5nIHdvcmtlZCBvbi5cbiAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIGhhc0NvbmZpZyA9IGZhbHNlXG5cbiAgLyoqXG4gICAqIFRvZ2dsZXMgdGhlIGFiaWxpdHkgdG8gY29sbGFwc2UgYSB3aWRnZXQuIEFuIGljb24gd2lsbCBiZSBkaXNwbGF5ZWQgaW4gdGhlXG4gICAqIGhlYWRlciB0byB0b2dnbGUgdGhlIGNvbGxhcHNlZCBzdGF0ZS5cbiAgICovXG4gIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSBjYW5Db2xsYXBzZSA9IGZhbHNlXG5cbiAgQENvbnRlbnRDaGlsZChXaWRnZXRJY29uVHBsRGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSB9KSBpY29uVHBsPzogV2lkZ2V0SWNvblRwbERpcmVjdGl2ZVxuICBAQ29udGVudENoaWxkKFdpZGdldFRpdGxlVHBsRGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSB9KSB0aXRsZVRwbD86IFdpZGdldFRpdGxlVHBsRGlyZWN0aXZlXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBfd2lkZ2V0UHJlZmVyZW5jZXM6IFdpZGdldFByZWZlcmVuY2VzU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFRIRVNFQU1fV0lER0VUX0RFRkFVTFRTKSBwcml2YXRlIHJlYWRvbmx5IF9kZWZhdWx0cz86IFRoZVNlYW1XaWRnZXREZWZhdWx0cyxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFRIRVNFQU1fV0lER0VUX0RBVEEpIHByaXZhdGUgcmVhZG9ubHkgX2RhdGE/OiBUaGVTZWFtV2lkZ2V0RGF0YSxcbiAgKSB7XG4gICAgaWYgKHRoaXMuX2RlZmF1bHRzKSB7XG4gICAgICBpZiAoaGFzUHJvcGVydHkodGhpcy5fZGVmYXVsdHMsICdjYW5Db2xsYXBzZScpKSB7XG4gICAgICAgIHRoaXMuY2FuQ29sbGFwc2UgPSB0aGlzLl9kZWZhdWx0cy5jYW5Db2xsYXBzZVxuICAgICAgfVxuICAgICAgaWYgKGhhc1Byb3BlcnR5KHRoaXMuX2RlZmF1bHRzLCAnY29sbGFwc2VkJykpIHtcbiAgICAgICAgdGhpcy5jb2xsYXBzZWQgPSB0aGlzLl9kZWZhdWx0cy5jb2xsYXBzZWRcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5fZGF0YSAmJiB0aGlzLl9kYXRhLndpZGdldElkKSB7XG4gICAgICB0aGlzLl9wcmVmZXJlbmNlc0tleSA9IGB3aWRnZXQ6JHt0aGlzLl9kYXRhLndpZGdldElkfWBcbiAgICAgIHRoaXMuX3dpZGdldFByZWZlcmVuY2VzLnByZWZlcmVuY2VzKHRoaXMuX3ByZWZlcmVuY2VzS2V5KS5waXBlKFxuICAgICAgICB0YXAocHJlZnMgPT4ge1xuICAgICAgICAgIGlmIChoYXNQcm9wZXJ0eShwcmVmcywgJ2NvbGxhcHNlZCcpKSB7XG4gICAgICAgICAgICB0aGlzLmNvbGxhcHNlZCA9IHByZWZzLmNvbGxhcHNlZFxuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9uZ1Vuc3Vic2NyaWJlKVxuICAgICAgKS5zdWJzY3JpYmUoKVxuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX25nVW5zdWJzY3JpYmUubmV4dCgpXG4gICAgdGhpcy5fbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpXG4gIH1cblxuICAvKipcbiAgICogVG9nZ2xlcyBhIHdpZGdldCdzIGNvbGxhcHNlZCBzdGF0ZS5cbiAgICovXG4gIHB1YmxpYyBjb2xsYXBzZSgpIHtcbiAgICBpZiAoIXRoaXMuY2FuQ29sbGFwc2UpIHtcbiAgICAgIGlmIChpc0Rldk1vZGUoKSkge1xuICAgICAgICBjb25zb2xlLndhcm4oJ1dpZGdldENvbXBvbmVudDogY29sbGFwc2UoKSBjYWxsZWQgd2hlbiBjYW5Db2xsYXBzZSBpcyBmYWxzZS4nKVxuICAgICAgfVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdGhpcy5jb2xsYXBzZWQgPSAhdGhpcy5jb2xsYXBzZWRcblxuICAgIC8vIE9ubHkgdXBkYXRlIHRoZSBwcmVmZXJlbmNlLCBpZiBjb2xsYXBzZSBtZXRob2QgaXMgY2FsbGVkLCBiZWNhdXNlIGl0IGlzXG4gICAgLy8gYXNzdW1lZCB0aGF0IHRoZSB1c2VyIGlzIGNvbGxhcHNpbmcgdGhlIHdpZGdldC4gSWYgdGhlIGNvbGxhcHNlZCBzdGF0ZSBpc1xuICAgIC8vIGNoYW5nZWQgYnkgb3RoZXIgbWVhbnMsIHN1Y2ggdXNpbmcgdGhlIHdpZGdldCdzIGBjb2xsYXBzZWRgIGlucHV0LCB0aGVuXG4gICAgLy8gdGhlIHByZWZlcmVuY2Ugc2hvdWxkIG5vdCBiZSB1cGRhdGVkLCBiZWNhdXNlIHRoYXQgaXMgYXNzdW1lZCB0byBiZSBhblxuICAgIC8vIGFwcCBjb250cm9sbGVkIGNoYW5nZSB0aGF0IHNob3VsZCBub3QgYmUgcGVyc2lzdGVkLlxuICAgIGlmICh0aGlzLl9wcmVmZXJlbmNlc0tleSkge1xuICAgICAgdGhpcy5fd2lkZ2V0UHJlZmVyZW5jZXMucGF0Y2hQcmVmZXJlbmNlcyh0aGlzLl9wcmVmZXJlbmNlc0tleSwgeyBjb2xsYXBzZWQ6IHRoaXMuY29sbGFwc2VkIH0pXG4gICAgfVxuICB9XG5cbiAgZ2V0IGNvbGxhcHNlU3RhdGUoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuY29sbGFwc2VkID8gQ09MTEFQU0VEX1NUQVRFIDogRVhQQU5ERURfU1RBVEUgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwic2VhbS13aWRnZXQgYm9yZGVyIHJvdW5kZWQgb3ZlcmZsb3ctaGlkZGVuXCI+XG4gIDxkaXYgY2xhc3M9XCJ3aWRnZXQtaGVhZGVyXCIgc2VhbVdpZGdldERyYWdIYW5kbGUgKm5nSWY9XCJoYXNIZWFkZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwid2lkZ2V0LWhlYWRlci1jb250ZW50IHAtMiB0ZXh0LW5vd3JhcFwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJtci0xIHdpZGdldC1oZWFkZXItaWNvblwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaWNvblRwbDsgZWxzZSBub0ljb25UcGxcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImljb25UcGwudGVtcGxhdGVcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpY29uLCBpY29uOiBpY29uLCB0aXRsZTogdGl0bGVUZXh0IH1cIj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNub0ljb25UcGw+XG4gICAgICAgICAgPGZhLWljb24gKm5nSWY9XCJfaWNvbk9ialwiXG4gICAgICAgICAgICBjbGFzcz1cIndpZGdldC1oZWFkZXItaWNvbi0tZmEge3sgaWNvbkNsYXNzIH19XCJcbiAgICAgICAgICAgIFtpY29uXT1cIl9pY29uT2JqXCI+PC9mYS1pY29uPlxuICAgICAgICAgIDxpbWcgKm5nSWY9XCJfaWNvblVybFwiXG4gICAgICAgICAgICBjbGFzcz1cIndpZGdldC1oZWFkZXItaWNvbi0taW1nIHt7IGljb25DbGFzcyB9fVwiXG4gICAgICAgICAgICBbc3JjXT1cIl9pY29uVXJsXCIgW2FsdF09XCJ0aXRsZVRleHRcIj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwid2lkZ2V0LWhlYWRlci10aXRsZSB0ZXh0LXRydW5jYXRlXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0aXRsZVRwbDsgZWxzZSBub1RpdGxlVHBsXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0aXRsZVRwbC50ZW1wbGF0ZVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHRpdGxlVGV4dCwgaWNvbjogaWNvbiwgdGl0bGU6IHRpdGxlVGV4dCB9XCI+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9UaXRsZVRwbD57eyB0aXRsZVRleHQgfX08L25nLXRlbXBsYXRlPlxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ3aWRnZXQtaGVhZGVyLWJ0bnMtY29udGFpbmVyXCIgKm5nSWY9XCJoYXNDb25maWcgfHwgY2FuQ29sbGFwc2VcIj5cbiAgICAgIDwhLS0gPGRpdiAqbmdJZj1cImhhc0NvbmZpZ1wiPlxuICAgICAgICA8YnV0dG9uIHNlYW1JY29uQnRuIFtpY29uXT1cImNvbmZpZ0ljb25cIlxuICAgICAgICAgIGNsYXNzPVwid2lkZ2V0LWhlYWRlci1idG4tY29uZmlnXCJcbiAgICAgICAgICBbaWNvblR5cGVdPVwibnVsbFwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPldpZGdldCBjb25maWd1cmF0aW9uIG1lbnU8L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIHNlYW1CdXR0b24gY2xhc3M9XCJ3aWRnZXQtaGVhZGVyLWJ0bi1jb25maWcgcC0wXCI+XG4gICAgICAgICAgPHNlYW0taWNvbiBjbGFzcz1cImQtYmxvY2tcIiBbaWNvbl09XCJjb25maWdJY29uXCIgaWNvbkNsYXNzPVwidGV4dC1zZWNvbmRhcnlcIj48L3NlYW0taWNvbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5XaWRnZXQgY29uZmlndXJhdGlvbiBtZW51PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PiAtLT5cblxuICAgICAgPGRpdiAqbmdJZj1cImNhbkNvbGxhcHNlXCIgY2xhc3M9XCJweC0wXCI+XG4gICAgICAgIDxidXR0b24gc2VhbUJ1dHRvbiBjbGFzcz1cIndpZGdldC1oZWFkZXItYnRuLWNvbGxhcHNlIHAtMCBtci0xIGgtMTAwXCIgKGNsaWNrKT1cImNvbGxhcHNlKClcIiBbY2xhc3Mud2lkZ2V0LWhlYWRlci1idG4tY29sbGFwc2UtLWFjdGl2ZV09XCJjb2xsYXBzZWRcIj5cbiAgICAgICAgICA8c2VhbS1pY29uIGNsYXNzPVwiZC1ibG9ja1wiXG4gICAgICAgICAgICBbaWNvbl09XCJjb2xsYXBzZUljb25cIlxuICAgICAgICAgICAgaWNvbkNsYXNzPVwidGV4dC1zZWNvbmRhcnlcIj5cbiAgICAgICAgICA8L3NlYW0taWNvbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5XaWRnZXQgY29sbGFwc2U8L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicG9zaXRpb24tcmVsYXRpdmUgb3ZlcmZsb3ctaGlkZGVuXCIgW3N0eWxlLmhlaWdodC5weF09XCJsb2FkaW5nID8gMTUwIDogdW5kZWZpbmVkXCIgW0Bjb2xsYXBzZUFuaW1dPVwiY29sbGFwc2VTdGF0ZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY29sbGFwc2VkXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicC0yXCIgKm5nSWY9XCIhbG9hZGluZyBlbHNlIGxvYWRpbmdUcGxcIiBAa2VlcENvbnRlbnRBbmltPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNlYW0td2lkZ2V0LWZvb3RlclwiPjwvbmctY29udGVudD5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjbG9hZGluZ1RwbD5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlXCIgQGxvYWRpbmdBbmltIHN0eWxlPVwidG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjBcIj5cbiAgICAgICAgICA8c2VhbS1sb2FkaW5nIFt0aGVtZV09XCIncHJpbWFyeSdcIj48L3NlYW0tbG9hZGluZz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0Lm1vZGVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi93aWRnZXQvd2lkZ2V0Lm1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGhlU2VhbVdpZGdldERhdGEge1xyXG4gIHdpZGdldElkPzogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGhlU2VhbVdpZGdldERlZmF1bHRzIHtcclxuICBjYW5Db2xsYXBzZT86IGJvb2xlYW5cclxuICBjb2xsYXBzZWQ/OiBib29sZWFuXHJcbn1cclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0Lm1vZGVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi93aWRnZXQvd2lkZ2V0Lm1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiXG5leHBvcnQgaW50ZXJmYWNlIFRoZVNlYW1XaWRnZXREYXRhIHtcbiAgd2lkZ2V0SWQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaGVTZWFtV2lkZ2V0RGVmYXVsdHMge1xuICBjYW5Db2xsYXBzZT86IGJvb2xlYW5cbiAgY29sbGFwc2VkPzogYm9vbGVhblxufVxuIl19
@@ -34,7 +34,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
34
34
  args: [{ template: '' }]
35
35
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FocusMonitor }, { type: i0.Renderer2 }]; } });
36
36
  const _TheSeamButtonMixinBase = mixinSize(mixinTheme(mixinDisabled(TheSeamButtonBase), 'btn'), 'btn');
37
- class ButtonComponent extends _TheSeamButtonMixinBase {
37
+ class TheSeamButtonComponent extends _TheSeamButtonMixinBase {
38
38
  // eslint-disable-next-line @typescript-eslint/no-useless-constructor
39
39
  constructor(_elementRef, _focusMonitor, _renderer) {
40
40
  super(_elementRef, _focusMonitor, _renderer);
@@ -43,9 +43,9 @@ class ButtonComponent extends _TheSeamButtonMixinBase {
43
43
  }
44
44
  ngOnDestroy() { super.ngOnDestroy(); }
45
45
  }
46
- ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
47
- ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: ButtonComponent, selector: "button[seamButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", type: "type" }, host: { properties: { "attr.type": "type", "attr.aria-disabled": "disabled.toString()", "attr.disabled": "disabled || null" }, classAttribute: "btn" }, exportAs: ["seamButton"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ButtonComponent, decorators: [{
46
+ TheSeamButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
47
+ TheSeamButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TheSeamButtonComponent, selector: "button[seamButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", type: "type" }, host: { properties: { "attr.type": "type", "attr.aria-disabled": "disabled.toString()", "attr.disabled": "disabled || null" }, classAttribute: "btn" }, exportAs: ["seamButton"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamButtonComponent, decorators: [{
49
49
  type: Component,
50
50
  args: [{ selector: 'button[seamButton]', exportAs: 'seamButton', inputs: ['disabled', 'theme', 'size'], host: {
51
51
  '[attr.type]': 'type',
@@ -56,7 +56,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
56
56
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FocusMonitor }, { type: i0.Renderer2 }]; }, propDecorators: { type: [{
57
57
  type: Input
58
58
  }] } });
59
- class AnchorButtonComponent extends _TheSeamButtonMixinBase {
59
+ class TheSeamAnchorButtonComponent extends _TheSeamButtonMixinBase {
60
60
  // TODO: Consider adding dev warning for `window.opener` exploit. Could maybe
61
61
  // add `rel` it if the href isn't on the current domain or not specified in an
62
62
  // injected list. This probably isn't needed and may be to strict for our
@@ -74,9 +74,9 @@ class AnchorButtonComponent extends _TheSeamButtonMixinBase {
74
74
  }
75
75
  }
76
76
  }
77
- AnchorButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: AnchorButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
78
- AnchorButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: AnchorButtonComponent, selector: "a[seamButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", tabIndex: "tabIndex" }, host: { listeners: { "click": "_haltDisabledEvents($event)" }, properties: { "attr.tabindex": "disabled ? -1 : (tabIndex || 0)", "attr.disabled": "disabled || null", "attr.aria-disabled": "disabled.toString()" }, classAttribute: "btn" }, exportAs: ["seamButton", "seamButtonBaseAnchor"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: AnchorButtonComponent, decorators: [{
77
+ TheSeamAnchorButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamAnchorButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
78
+ TheSeamAnchorButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TheSeamAnchorButtonComponent, selector: "a[seamButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", tabIndex: "tabIndex" }, host: { listeners: { "click": "_haltDisabledEvents($event)" }, properties: { "attr.tabindex": "disabled ? -1 : (tabIndex || 0)", "attr.disabled": "disabled || null", "attr.aria-disabled": "disabled.toString()" }, classAttribute: "btn" }, exportAs: ["seamButton", "seamButtonBaseAnchor"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamAnchorButtonComponent, decorators: [{
80
80
  type: Component,
81
81
  args: [{ selector: 'a[seamButton]', exportAs: 'seamButton,seamButtonBaseAnchor', inputs: ['disabled', 'theme', 'size'], host: {
82
82
  'class': 'btn',
@@ -89,7 +89,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
89
89
  type: Input
90
90
  }] } });
91
91
 
92
- class BadgeButtonComponent extends ButtonComponent {
92
+ class TheSeamBadgeButtonComponent extends TheSeamButtonComponent {
93
93
  // eslint-disable-next-line @typescript-eslint/no-useless-constructor
94
94
  constructor(_elementRef, _focusMonitor, _renderer) {
95
95
  super(_elementRef, _focusMonitor, _renderer);
@@ -99,9 +99,9 @@ class BadgeButtonComponent extends ButtonComponent {
99
99
  }
100
100
  ngOnDestroy() { super.ngOnDestroy(); }
101
101
  }
102
- BadgeButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BadgeButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
103
- BadgeButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: BadgeButtonComponent, selector: "button[seamBadgeButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", badgeTheme: "badgeTheme", badgeText: "badgeText" }, host: { properties: { "attr.type": "type", "attr.aria-disabled": "disabled.toString()", "attr.disabled": "disabled || null", "class.text-nowrap": "this._textNoWrap" }, classAttribute: "btn" }, exportAs: ["seamBadgeButton"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n<span class=\"ml-2 badge badge-{{ badgeTheme }}\">{{ badgeText }}</span>\n", styles: [""] });
104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BadgeButtonComponent, decorators: [{
102
+ TheSeamBadgeButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamBadgeButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
103
+ TheSeamBadgeButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TheSeamBadgeButtonComponent, selector: "button[seamBadgeButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", badgeTheme: "badgeTheme", badgeText: "badgeText" }, host: { properties: { "attr.type": "type", "attr.aria-disabled": "disabled.toString()", "attr.disabled": "disabled || null", "class.text-nowrap": "this._textNoWrap" }, classAttribute: "btn" }, exportAs: ["seamBadgeButton"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n<span class=\"ml-2 badge badge-{{ badgeTheme }}\">{{ badgeText }}</span>\n", styles: [""] });
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamBadgeButtonComponent, decorators: [{
105
105
  type: Component,
106
106
  args: [{ selector: 'button[seamBadgeButton]', exportAs: 'seamBadgeButton', inputs: ['disabled', 'theme', 'size'], host: {
107
107
  '[attr.type]': 'type',
@@ -117,7 +117,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
117
117
  }], badgeText: [{
118
118
  type: Input
119
119
  }] } });
120
- class AnchorBadgeButtonComponent extends AnchorButtonComponent {
120
+ class TheSeamAnchorBadgeButtonComponent extends TheSeamAnchorButtonComponent {
121
121
  // eslint-disable-next-line @typescript-eslint/no-useless-constructor
122
122
  constructor(_elementRef, _focusMonitor, _renderer) {
123
123
  super(_elementRef, _focusMonitor, _renderer);
@@ -127,9 +127,9 @@ class AnchorBadgeButtonComponent extends AnchorButtonComponent {
127
127
  }
128
128
  ngOnDestroy() { super.ngOnDestroy(); }
129
129
  }
130
- AnchorBadgeButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: AnchorBadgeButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
131
- AnchorBadgeButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: AnchorBadgeButtonComponent, selector: "a[seamBadgeButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", badgeTheme: "badgeTheme", badgeText: "badgeText" }, host: { listeners: { "click": "_haltDisabledEvents($event)" }, properties: { "attr.tabindex": "disabled ? -1 : (tabIndex || 0)", "attr.disabled": "disabled || null", "attr.aria-disabled": "disabled.toString()", "class.text-nowrap": "this._textNoWrap" }, classAttribute: "btn" }, exportAs: ["seamBadgeButton", "seamBadgeButtonAnchor"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n<span class=\"ml-2 badge badge-{{ badgeTheme }}\">{{ badgeText }}</span>\n", styles: [""] });
132
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: AnchorBadgeButtonComponent, decorators: [{
130
+ TheSeamAnchorBadgeButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamAnchorBadgeButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
131
+ TheSeamAnchorBadgeButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TheSeamAnchorBadgeButtonComponent, selector: "a[seamBadgeButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", badgeTheme: "badgeTheme", badgeText: "badgeText" }, host: { listeners: { "click": "_haltDisabledEvents($event)" }, properties: { "attr.tabindex": "disabled ? -1 : (tabIndex || 0)", "attr.disabled": "disabled || null", "attr.aria-disabled": "disabled.toString()", "class.text-nowrap": "this._textNoWrap" }, classAttribute: "btn" }, exportAs: ["seamBadgeButton", "seamBadgeButtonAnchor"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n<span class=\"ml-2 badge badge-{{ badgeTheme }}\">{{ badgeText }}</span>\n", styles: [""] });
132
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamAnchorBadgeButtonComponent, decorators: [{
133
133
  type: Component,
134
134
  args: [{ selector: 'a[seamBadgeButton]', exportAs: 'seamBadgeButton,seamBadgeButtonAnchor', inputs: ['disabled', 'theme', 'size'], host: {
135
135
  'class': 'btn',
@@ -147,7 +147,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
147
147
  type: Input
148
148
  }] } });
149
149
 
150
- class ProgressCircleButtonComponent extends ButtonComponent {
150
+ class TheSeamProgressCircleButtonComponent extends TheSeamButtonComponent {
151
151
  constructor(_elementRef, _focusMonitor, _renderer) {
152
152
  super(_elementRef, _focusMonitor, _renderer);
153
153
  this._elementRef = _elementRef;
@@ -160,21 +160,21 @@ class ProgressCircleButtonComponent extends ButtonComponent {
160
160
  }
161
161
  ngOnDestroy() { super.ngOnDestroy(); }
162
162
  }
163
- ProgressCircleButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ProgressCircleButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
164
- ProgressCircleButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: ProgressCircleButtonComponent, selector: "button[seamProgressCircleButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", fillBackground: "fillBackground", showText: "showText", hiddenOnEmpty: "hiddenOnEmpty", percentage: "percentage" }, host: { properties: { "attr.type": "type", "attr.aria-disabled": "disabled.toString()", "attr.disabled": "disabled || null" }, classAttribute: "btn" }, exportAs: ["seamProgressCircleButton"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n<seam-progress-circle\n class=\"progress-circle-btn--icon\"\n [fillBackground]=\"fillBackground\"\n [showText]=\"showText\"\n [hiddenOnEmpty]=\"hiddenOnEmpty\"\n [percentage]=\"percentage\">\n</seam-progress-circle>\n", styles: [":host{padding-right:45px;position:relative}:host.btn-sm{padding-right:40px}:host.btn-sm ::ng-deep .seam-progress-circle{padding:8px}:host.btn-lg{padding-right:50px}:host.btn-lg ::ng-deep .seam-progress-circle{padding:0}:host seam-progress-circle.progress-circle-btn--icon{top:0;right:0;height:100%;width:45px;position:absolute}\n"], dependencies: [{ kind: "component", type: i2.ProgressCircleComponent, selector: "seam-progress-circle", inputs: ["fillBackground", "showText", "hiddenOnEmpty", "pending", "percentage"] }] });
163
+ TheSeamProgressCircleButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamProgressCircleButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
164
+ TheSeamProgressCircleButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TheSeamProgressCircleButtonComponent, selector: "button[seamProgressCircleButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", fillBackground: "fillBackground", showText: "showText", hiddenOnEmpty: "hiddenOnEmpty", percentage: "percentage" }, host: { properties: { "attr.type": "type", "attr.aria-disabled": "disabled.toString()", "attr.disabled": "disabled || null" }, classAttribute: "btn" }, exportAs: ["seamProgressCircleButton"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n<seam-progress-circle\n class=\"progress-circle-btn--icon\"\n [fillBackground]=\"fillBackground\"\n [showText]=\"showText\"\n [hiddenOnEmpty]=\"hiddenOnEmpty\"\n [percentage]=\"percentage\">\n</seam-progress-circle>\n", styles: [":host{padding-right:45px;position:relative}:host.btn-sm{padding-right:40px}:host.btn-sm ::ng-deep .seam-progress-circle{padding:8px}:host.btn-lg{padding-right:50px}:host.btn-lg ::ng-deep .seam-progress-circle{padding:0}:host seam-progress-circle.progress-circle-btn--icon{top:0;right:0;height:100%;width:45px;position:absolute}\n"], dependencies: [{ kind: "component", type: i2.ProgressCircleComponent, selector: "seam-progress-circle", inputs: ["fillBackground", "showText", "hiddenOnEmpty", "pending", "percentage"] }] });
165
165
  __decorate([
166
166
  InputBoolean()
167
- ], ProgressCircleButtonComponent.prototype, "fillBackground", void 0);
167
+ ], TheSeamProgressCircleButtonComponent.prototype, "fillBackground", void 0);
168
168
  __decorate([
169
169
  InputBoolean()
170
- ], ProgressCircleButtonComponent.prototype, "showText", void 0);
170
+ ], TheSeamProgressCircleButtonComponent.prototype, "showText", void 0);
171
171
  __decorate([
172
172
  InputBoolean()
173
- ], ProgressCircleButtonComponent.prototype, "hiddenOnEmpty", void 0);
173
+ ], TheSeamProgressCircleButtonComponent.prototype, "hiddenOnEmpty", void 0);
174
174
  __decorate([
175
175
  InputNumber(0)
176
- ], ProgressCircleButtonComponent.prototype, "percentage", void 0);
177
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ProgressCircleButtonComponent, decorators: [{
176
+ ], TheSeamProgressCircleButtonComponent.prototype, "percentage", void 0);
177
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamProgressCircleButtonComponent, decorators: [{
178
178
  type: Component,
179
179
  args: [{ selector: 'button[seamProgressCircleButton]', exportAs: 'seamProgressCircleButton', inputs: ['disabled', 'theme', 'size'], host: {
180
180
  '[attr.type]': 'type',
@@ -194,10 +194,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
194
194
 
195
195
  const TOGGLE_BUTTON_VALUE_ACCESSOR = {
196
196
  provide: NG_VALUE_ACCESSOR,
197
- useExisting: forwardRef(() => ToggleButtonComponent),
197
+ useExisting: forwardRef(() => TheSeamToggleButtonComponent),
198
198
  multi: true,
199
199
  };
200
- class ToggleButtonComponent extends ButtonComponent {
200
+ class TheSeamToggleButtonComponent extends TheSeamButtonComponent {
201
201
  get _activeCssClass() { return this.value ? coerceBooleanProperty(this.value) : false; }
202
202
  constructor(_elementRef, _focusMonitor, _renderer) {
203
203
  super(_elementRef, _focusMonitor, _renderer);
@@ -239,12 +239,12 @@ class ToggleButtonComponent extends ButtonComponent {
239
239
  this.value = !this.value;
240
240
  }
241
241
  }
242
- ToggleButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ToggleButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
243
- ToggleButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: ToggleButtonComponent, selector: "button[seamToggleButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", val: ["value", "val"] }, outputs: { change: "change" }, host: { listeners: { "click": "_toggleValue()" }, properties: { "attr.type": "type", "attr.aria-disabled": "disabled.toString()", "attr.disabled": "disabled || null", "class.active": "this._activeCssClass" }, classAttribute: "btn" }, providers: [TOGGLE_BUTTON_VALUE_ACCESSOR], exportAs: ["seamToggleButton"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""] });
242
+ TheSeamToggleButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamToggleButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
243
+ TheSeamToggleButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TheSeamToggleButtonComponent, selector: "button[seamToggleButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", val: ["value", "val"] }, outputs: { change: "change" }, host: { listeners: { "click": "_toggleValue()" }, properties: { "attr.type": "type", "attr.aria-disabled": "disabled.toString()", "attr.disabled": "disabled || null", "class.active": "this._activeCssClass" }, classAttribute: "btn" }, providers: [TOGGLE_BUTTON_VALUE_ACCESSOR], exportAs: ["seamToggleButton"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""] });
244
244
  __decorate([
245
245
  InputBoolean()
246
- ], ToggleButtonComponent.prototype, "val", void 0);
247
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ToggleButtonComponent, decorators: [{
246
+ ], TheSeamToggleButtonComponent.prototype, "val", void 0);
247
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamToggleButtonComponent, decorators: [{
248
248
  type: Component,
249
249
  args: [{ selector: 'button[seamToggleButton]', exportAs: 'seamToggleButton', inputs: ['disabled', 'theme', 'size'], host: {
250
250
  '[attr.type]': 'type',
@@ -266,42 +266,42 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
266
266
  class TheSeamButtonsModule {
267
267
  }
268
268
  TheSeamButtonsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamButtonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
269
- TheSeamButtonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: TheSeamButtonsModule, declarations: [BadgeButtonComponent,
270
- ProgressCircleButtonComponent,
271
- ToggleButtonComponent,
272
- ButtonComponent,
273
- AnchorButtonComponent,
274
- AnchorBadgeButtonComponent], imports: [CommonModule,
275
- TheSeamProgressModule], exports: [BadgeButtonComponent,
276
- ProgressCircleButtonComponent,
277
- ToggleButtonComponent,
278
- ButtonComponent,
279
- AnchorButtonComponent,
280
- AnchorBadgeButtonComponent] });
269
+ TheSeamButtonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: TheSeamButtonsModule, declarations: [TheSeamBadgeButtonComponent,
270
+ TheSeamProgressCircleButtonComponent,
271
+ TheSeamToggleButtonComponent,
272
+ TheSeamButtonComponent,
273
+ TheSeamAnchorButtonComponent,
274
+ TheSeamAnchorBadgeButtonComponent], imports: [CommonModule,
275
+ TheSeamProgressModule], exports: [TheSeamBadgeButtonComponent,
276
+ TheSeamProgressCircleButtonComponent,
277
+ TheSeamToggleButtonComponent,
278
+ TheSeamButtonComponent,
279
+ TheSeamAnchorButtonComponent,
280
+ TheSeamAnchorBadgeButtonComponent] });
281
281
  TheSeamButtonsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamButtonsModule, imports: [CommonModule,
282
282
  TheSeamProgressModule] });
283
283
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamButtonsModule, decorators: [{
284
284
  type: NgModule,
285
285
  args: [{
286
286
  declarations: [
287
- BadgeButtonComponent,
288
- ProgressCircleButtonComponent,
289
- ToggleButtonComponent,
290
- ButtonComponent,
291
- AnchorButtonComponent,
292
- AnchorBadgeButtonComponent
287
+ TheSeamBadgeButtonComponent,
288
+ TheSeamProgressCircleButtonComponent,
289
+ TheSeamToggleButtonComponent,
290
+ TheSeamButtonComponent,
291
+ TheSeamAnchorButtonComponent,
292
+ TheSeamAnchorBadgeButtonComponent,
293
293
  ],
294
294
  imports: [
295
295
  CommonModule,
296
296
  TheSeamProgressModule
297
297
  ],
298
298
  exports: [
299
- BadgeButtonComponent,
300
- ProgressCircleButtonComponent,
301
- ToggleButtonComponent,
302
- ButtonComponent,
303
- AnchorButtonComponent,
304
- AnchorBadgeButtonComponent
299
+ TheSeamBadgeButtonComponent,
300
+ TheSeamProgressCircleButtonComponent,
301
+ TheSeamToggleButtonComponent,
302
+ TheSeamButtonComponent,
303
+ TheSeamAnchorButtonComponent,
304
+ TheSeamAnchorBadgeButtonComponent,
305
305
  ]
306
306
  }]
307
307
  }] });
@@ -310,5 +310,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
310
310
  * Generated bundle index. Do not edit.
311
311
  */
312
312
 
313
- export { AnchorBadgeButtonComponent, AnchorButtonComponent, BadgeButtonComponent, ButtonComponent, ProgressCircleButtonComponent, TOGGLE_BUTTON_VALUE_ACCESSOR, TheSeamButtonsModule, ToggleButtonComponent };
313
+ export { TOGGLE_BUTTON_VALUE_ACCESSOR, TheSeamAnchorBadgeButtonComponent, TheSeamAnchorButtonComponent, TheSeamBadgeButtonComponent, TheSeamButtonComponent, TheSeamButtonsModule, TheSeamProgressCircleButtonComponent, TheSeamToggleButtonComponent };
314
314
  //# sourceMappingURL=theseam-ui-common-buttons.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"theseam-ui-common-buttons.mjs","sources":["../../../projects/ui-common/buttons/button/button.component.ts","../../../projects/ui-common/buttons/button/button.component.html","../../../projects/ui-common/buttons/badge-button/badge-button.component.ts","../../../projects/ui-common/buttons/badge-button/badge-button.component.html","../../../projects/ui-common/buttons/progress-circle-button/progress-circle-button.component.ts","../../../projects/ui-common/buttons/progress-circle-button/progress-circle-button.component.html","../../../projects/ui-common/buttons/toggle-button/toggle-button.component.ts","../../../projects/ui-common/buttons/toggle-button/toggle-button.component.html","../../../projects/ui-common/buttons/buttons.module.ts","../../../projects/ui-common/buttons/theseam-ui-common-buttons.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y'\nimport { ChangeDetectionStrategy, Component, Directive, ElementRef, Input, OnDestroy, Renderer2 } from '@angular/core'\n\nimport {\n CanDisableCtor,\n CanSizeCtor,\n CanThemeCtor,\n mixinDisabled,\n mixinSize,\n mixinTheme\n} from '@theseam/ui-common/core'\n\n@Component({ template: '' })\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nclass TheSeamButtonBase implements OnDestroy {\n constructor(\n public _elementRef: ElementRef,\n public _focusMonitor: FocusMonitor,\n public _renderer: Renderer2\n ) {\n this._focusMonitor.monitor(this._elementRef, true)\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef)\n }\n\n /** Focuses the button. */\n focus(): void {\n this._getHostElement().focus()\n }\n\n _getHostElement() {\n return this._elementRef.nativeElement\n }\n}\n\nconst _TheSeamButtonMixinBase: CanDisableCtor & CanThemeCtor & CanSizeCtor &\n typeof TheSeamButtonBase = mixinSize(mixinTheme(mixinDisabled(TheSeamButtonBase), 'btn'), 'btn')\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamButton]',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n exportAs: 'seamButton',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n '[attr.type]': 'type',\n 'class': 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ButtonComponent extends _TheSeamButtonMixinBase implements OnDestroy {\n\n /** ARIA type for the button. */\n @Input() type: 'button' | 'submit' | 'reset' = 'button'\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[seamButton]',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n exportAs: 'seamButton,seamButtonBaseAnchor',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n 'class': 'btn',\n '[attr.tabindex]': 'disabled ? -1 : (tabIndex || 0)',\n '[attr.disabled]': 'disabled || null',\n '[attr.aria-disabled]': 'disabled.toString()',\n '(click)': '_haltDisabledEvents($event)',\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AnchorButtonComponent extends _TheSeamButtonMixinBase implements OnDestroy {\n\n /** Tabindex of the button. */\n @Input() tabIndex: number | undefined | null\n\n // TODO: Consider adding dev warning for `window.opener` exploit. Could maybe\n // add `rel` it if the href isn't on the current domain or not specified in an\n // injected list. This probably isn't needed and may be to strict for our\n // usage, so I am just adding this as a reminder to think about it.\n //\n // rel=\"noopener noreferrer\"\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n _haltDisabledEvents(event: Event) {\n // A disabled button shouldn't apply any actions\n if (this.disabled) {\n event.preventDefault()\n event.stopImmediatePropagation()\n }\n }\n\n}\n","<ng-content></ng-content>\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { Component, ElementRef, HostBinding, Input, OnDestroy, Renderer2 } from '@angular/core'\n\nimport type { ThemeTypes } from '@theseam/ui-common/models'\nimport { AnchorButtonComponent, ButtonComponent } from '../button/button.component'\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamBadgeButton]',\n templateUrl: './badge-button.component.html',\n styleUrls: ['./badge-button.component.scss'],\n exportAs: 'seamBadgeButton',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n '[attr.type]': 'type',\n 'class': 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null'\n },\n})\nexport class BadgeButtonComponent extends ButtonComponent implements OnDestroy {\n\n @HostBinding('class.text-nowrap') _textNoWrap = true\n\n @Input() badgeTheme: ThemeTypes = 'light'\n @Input() badgeText = ''\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[seamBadgeButton]',\n templateUrl: './badge-button.component.html',\n styleUrls: ['./badge-button.component.scss'],\n exportAs: 'seamBadgeButton,seamBadgeButtonAnchor',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n 'class': 'btn',\n '[attr.tabindex]': 'disabled ? -1 : (tabIndex || 0)',\n '[attr.disabled]': 'disabled || null',\n '[attr.aria-disabled]': 'disabled.toString()',\n '(click)': '_haltDisabledEvents($event)',\n },\n})\nexport class AnchorBadgeButtonComponent extends AnchorButtonComponent implements OnDestroy {\n\n @HostBinding('class.text-nowrap') _textNoWrap = true\n\n @Input() badgeTheme: ThemeTypes = 'light'\n @Input() badgeText = ''\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n","<ng-content></ng-content>\n<span class=\"ml-2 badge badge-{{ badgeTheme }}\">{{ badgeText }}</span>\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { BooleanInput, NumberInput } from '@angular/cdk/coercion'\nimport { Component, ElementRef, Input, OnDestroy, Renderer2 } from '@angular/core'\n\nimport { InputBoolean, InputNumber } from '@theseam/ui-common/core'\n\nimport { ButtonComponent } from '../button/button.component'\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamProgressCircleButton]',\n templateUrl: './progress-circle-button.component.html',\n styleUrls: ['./progress-circle-button.component.scss'],\n exportAs: 'seamProgressCircleButton',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n '[attr.type]': 'type',\n 'class': 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null'\n },\n})\nexport class ProgressCircleButtonComponent extends ButtonComponent implements OnDestroy {\n static ngAcceptInputType_fillBackground: BooleanInput\n static ngAcceptInputType_showText: BooleanInput\n static ngAcceptInputType_hiddenOnEmpty: BooleanInput\n static ngAcceptInputType_percentage: NumberInput\n\n @Input() @InputBoolean() fillBackground = false\n @Input() @InputBoolean() showText = false\n @Input() @InputBoolean() hiddenOnEmpty = true\n\n @Input() @InputNumber(0) percentage = 100\n\n constructor(\n readonly _elementRef: ElementRef,\n readonly _focusMonitor: FocusMonitor,\n readonly _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n","<ng-content></ng-content>\n<seam-progress-circle\n class=\"progress-circle-btn--icon\"\n [fillBackground]=\"fillBackground\"\n [showText]=\"showText\"\n [hiddenOnEmpty]=\"hiddenOnEmpty\"\n [percentage]=\"percentage\">\n</seam-progress-circle>\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport {\n Component, ElementRef, EventEmitter,\n forwardRef, HostBinding, Input, OnDestroy, Output, Renderer2\n} from '@angular/core'\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\nimport { ButtonComponent } from '../button/button.component'\n\nexport const TOGGLE_BUTTON_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ToggleButtonComponent),\n multi: true,\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamToggleButton]',\n templateUrl: './toggle-button.component.html',\n styleUrls: ['./toggle-button.component.scss'],\n exportAs: 'seamToggleButton',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n '[attr.type]': 'type',\n 'class': 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n '(click)': '_toggleValue()',\n },\n providers: [ TOGGLE_BUTTON_VALUE_ACCESSOR ]\n})\nexport class ToggleButtonComponent extends ButtonComponent implements OnDestroy, ControlValueAccessor {\n static ngAcceptInputType_val: BooleanInput\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('value') @InputBoolean() val = false\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() readonly change = new EventEmitter<boolean>()\n\n onChange: any\n onTouched: any\n\n @HostBinding('class.active')\n get _activeCssClass() { return this.value ? coerceBooleanProperty(this.value) : false }\n\n constructor(\n readonly _elementRef: ElementRef,\n readonly _focusMonitor: FocusMonitor,\n readonly _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n get value(): boolean {\n return this.val\n }\n\n set value(value: boolean) {\n this.val = value\n this.change.emit(this.val)\n if (this.onChange) { this.onChange(value) }\n if (this.onTouched) { this.onTouched() }\n }\n\n writeValue(value: any): void {\n this.value = value\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled\n }\n\n _toggleValue() {\n this.value = !this.value\n }\n\n}\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamProgressModule } from '@theseam/ui-common/progress'\n\nimport { AnchorBadgeButtonComponent, BadgeButtonComponent } from './badge-button/badge-button.component'\nimport { AnchorButtonComponent, ButtonComponent } from './button/button.component'\nimport { ProgressCircleButtonComponent } from './progress-circle-button/progress-circle-button.component'\nimport { ToggleButtonComponent } from './toggle-button/toggle-button.component'\n\n@NgModule({\n declarations: [\n BadgeButtonComponent,\n ProgressCircleButtonComponent,\n ToggleButtonComponent,\n ButtonComponent,\n AnchorButtonComponent,\n AnchorBadgeButtonComponent\n ],\n imports: [\n CommonModule,\n TheSeamProgressModule\n ],\n exports: [\n BadgeButtonComponent,\n ProgressCircleButtonComponent,\n ToggleButtonComponent,\n ButtonComponent,\n AnchorButtonComponent,\n AnchorBadgeButtonComponent\n ]\n})\nexport class TheSeamButtonsModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theseam-ui-common-buttons.mjs","sources":["../../../projects/ui-common/buttons/button/button.component.ts","../../../projects/ui-common/buttons/button/button.component.html","../../../projects/ui-common/buttons/badge-button/badge-button.component.ts","../../../projects/ui-common/buttons/badge-button/badge-button.component.html","../../../projects/ui-common/buttons/progress-circle-button/progress-circle-button.component.ts","../../../projects/ui-common/buttons/progress-circle-button/progress-circle-button.component.html","../../../projects/ui-common/buttons/toggle-button/toggle-button.component.ts","../../../projects/ui-common/buttons/toggle-button/toggle-button.component.html","../../../projects/ui-common/buttons/buttons.module.ts","../../../projects/ui-common/buttons/theseam-ui-common-buttons.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y'\nimport { ChangeDetectionStrategy, Component, Directive, ElementRef, Input, OnDestroy, Renderer2 } from '@angular/core'\n\nimport {\n CanDisableCtor,\n CanSizeCtor,\n CanThemeCtor,\n mixinDisabled,\n mixinSize,\n mixinTheme\n} from '@theseam/ui-common/core'\n\n@Component({ template: '' })\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nclass TheSeamButtonBase implements OnDestroy {\n constructor(\n public _elementRef: ElementRef,\n public _focusMonitor: FocusMonitor,\n public _renderer: Renderer2\n ) {\n this._focusMonitor.monitor(this._elementRef, true)\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef)\n }\n\n /** Focuses the button. */\n focus(): void {\n this._getHostElement().focus()\n }\n\n _getHostElement() {\n return this._elementRef.nativeElement\n }\n}\n\nconst _TheSeamButtonMixinBase: CanDisableCtor & CanThemeCtor & CanSizeCtor &\n typeof TheSeamButtonBase = mixinSize(mixinTheme(mixinDisabled(TheSeamButtonBase), 'btn'), 'btn')\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamButton]',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n exportAs: 'seamButton',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n '[attr.type]': 'type',\n 'class': 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TheSeamButtonComponent extends _TheSeamButtonMixinBase implements OnDestroy {\n\n /** ARIA type for the button. */\n @Input() type: 'button' | 'submit' | 'reset' = 'button'\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[seamButton]',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n exportAs: 'seamButton,seamButtonBaseAnchor',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n 'class': 'btn',\n '[attr.tabindex]': 'disabled ? -1 : (tabIndex || 0)',\n '[attr.disabled]': 'disabled || null',\n '[attr.aria-disabled]': 'disabled.toString()',\n '(click)': '_haltDisabledEvents($event)',\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TheSeamAnchorButtonComponent extends _TheSeamButtonMixinBase implements OnDestroy {\n\n /** Tabindex of the button. */\n @Input() tabIndex: number | undefined | null\n\n // TODO: Consider adding dev warning for `window.opener` exploit. Could maybe\n // add `rel` it if the href isn't on the current domain or not specified in an\n // injected list. This probably isn't needed and may be to strict for our\n // usage, so I am just adding this as a reminder to think about it.\n //\n // rel=\"noopener noreferrer\"\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n _haltDisabledEvents(event: Event) {\n // A disabled button shouldn't apply any actions\n if (this.disabled) {\n event.preventDefault()\n event.stopImmediatePropagation()\n }\n }\n\n}\n","<ng-content></ng-content>\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { Component, ElementRef, HostBinding, Input, OnDestroy, Renderer2 } from '@angular/core'\n\nimport type { ThemeTypes } from '@theseam/ui-common/models'\nimport { TheSeamAnchorButtonComponent, TheSeamButtonComponent } from '../button/button.component'\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamBadgeButton]',\n templateUrl: './badge-button.component.html',\n styleUrls: ['./badge-button.component.scss'],\n exportAs: 'seamBadgeButton',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n '[attr.type]': 'type',\n 'class': 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null'\n },\n})\nexport class TheSeamBadgeButtonComponent extends TheSeamButtonComponent implements OnDestroy {\n\n @HostBinding('class.text-nowrap') _textNoWrap = true\n\n @Input() badgeTheme: ThemeTypes = 'light'\n @Input() badgeText = ''\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[seamBadgeButton]',\n templateUrl: './badge-button.component.html',\n styleUrls: ['./badge-button.component.scss'],\n exportAs: 'seamBadgeButton,seamBadgeButtonAnchor',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n 'class': 'btn',\n '[attr.tabindex]': 'disabled ? -1 : (tabIndex || 0)',\n '[attr.disabled]': 'disabled || null',\n '[attr.aria-disabled]': 'disabled.toString()',\n '(click)': '_haltDisabledEvents($event)',\n },\n})\nexport class TheSeamAnchorBadgeButtonComponent extends TheSeamAnchorButtonComponent implements OnDestroy {\n\n @HostBinding('class.text-nowrap') _textNoWrap = true\n\n @Input() badgeTheme: ThemeTypes = 'light'\n @Input() badgeText = ''\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n","<ng-content></ng-content>\n<span class=\"ml-2 badge badge-{{ badgeTheme }}\">{{ badgeText }}</span>\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { BooleanInput, NumberInput } from '@angular/cdk/coercion'\nimport { Component, ElementRef, Input, OnDestroy, Renderer2 } from '@angular/core'\n\nimport { InputBoolean, InputNumber } from '@theseam/ui-common/core'\n\nimport { TheSeamButtonComponent } from '../button/button.component'\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamProgressCircleButton]',\n templateUrl: './progress-circle-button.component.html',\n styleUrls: ['./progress-circle-button.component.scss'],\n exportAs: 'seamProgressCircleButton',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n '[attr.type]': 'type',\n 'class': 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null'\n },\n})\nexport class TheSeamProgressCircleButtonComponent extends TheSeamButtonComponent implements OnDestroy {\n static ngAcceptInputType_fillBackground: BooleanInput\n static ngAcceptInputType_showText: BooleanInput\n static ngAcceptInputType_hiddenOnEmpty: BooleanInput\n static ngAcceptInputType_percentage: NumberInput\n\n @Input() @InputBoolean() fillBackground = false\n @Input() @InputBoolean() showText = false\n @Input() @InputBoolean() hiddenOnEmpty = true\n\n @Input() @InputNumber(0) percentage = 100\n\n constructor(\n readonly _elementRef: ElementRef,\n readonly _focusMonitor: FocusMonitor,\n readonly _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n","<ng-content></ng-content>\n<seam-progress-circle\n class=\"progress-circle-btn--icon\"\n [fillBackground]=\"fillBackground\"\n [showText]=\"showText\"\n [hiddenOnEmpty]=\"hiddenOnEmpty\"\n [percentage]=\"percentage\">\n</seam-progress-circle>\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport {\n Component, ElementRef, EventEmitter,\n forwardRef, HostBinding, Input, OnDestroy, Output, Renderer2\n} from '@angular/core'\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\nimport { TheSeamButtonComponent } from '../button/button.component'\n\nexport const TOGGLE_BUTTON_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TheSeamToggleButtonComponent),\n multi: true,\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamToggleButton]',\n templateUrl: './toggle-button.component.html',\n styleUrls: ['./toggle-button.component.scss'],\n exportAs: 'seamToggleButton',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n '[attr.type]': 'type',\n 'class': 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n '(click)': '_toggleValue()',\n },\n providers: [ TOGGLE_BUTTON_VALUE_ACCESSOR ]\n})\nexport class TheSeamToggleButtonComponent extends TheSeamButtonComponent implements OnDestroy, ControlValueAccessor {\n static ngAcceptInputType_val: BooleanInput\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('value') @InputBoolean() val = false\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() readonly change = new EventEmitter<boolean>()\n\n onChange: any\n onTouched: any\n\n @HostBinding('class.active')\n get _activeCssClass() { return this.value ? coerceBooleanProperty(this.value) : false }\n\n constructor(\n readonly _elementRef: ElementRef,\n readonly _focusMonitor: FocusMonitor,\n readonly _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n get value(): boolean {\n return this.val\n }\n\n set value(value: boolean) {\n this.val = value\n this.change.emit(this.val)\n if (this.onChange) { this.onChange(value) }\n if (this.onTouched) { this.onTouched() }\n }\n\n writeValue(value: any): void {\n this.value = value\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled\n }\n\n _toggleValue() {\n this.value = !this.value\n }\n\n}\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamProgressModule } from '@theseam/ui-common/progress'\n\nimport { TheSeamAnchorBadgeButtonComponent, TheSeamBadgeButtonComponent } from './badge-button/badge-button.component'\nimport { TheSeamAnchorButtonComponent, TheSeamButtonComponent } from './button/button.component'\nimport { TheSeamProgressCircleButtonComponent } from './progress-circle-button/progress-circle-button.component'\nimport { TheSeamToggleButtonComponent } from './toggle-button/toggle-button.component'\n\n@NgModule({\n declarations: [\n TheSeamBadgeButtonComponent,\n TheSeamProgressCircleButtonComponent,\n TheSeamToggleButtonComponent,\n TheSeamButtonComponent,\n TheSeamAnchorButtonComponent,\n TheSeamAnchorBadgeButtonComponent,\n ],\n imports: [\n CommonModule,\n TheSeamProgressModule\n ],\n exports: [\n TheSeamBadgeButtonComponent,\n TheSeamProgressCircleButtonComponent,\n TheSeamToggleButtonComponent,\n TheSeamButtonComponent,\n TheSeamAnchorButtonComponent,\n TheSeamAnchorBadgeButtonComponent,\n ]\n})\nexport class TheSeamButtonsModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;AAYA,MAEM,iBAAiB,CAAA;AACrB,IAAA,WAAA,CACS,WAAuB,EACvB,aAA2B,EAC3B,SAAoB,EAAA;AAFpB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AACvB,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAc;AAC3B,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;QAE3B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;KACnD;IAED,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;KACpD;;IAGD,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,CAAA;KAC/B;IAED,eAAe,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAA;KACtC;;8GApBG,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,oDAFA,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;2FAEnB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAFtB,SAAS;mBAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;;AAyB3B,MAAM,uBAAuB,GACE,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,CAAA;AAiB9F,MAAO,sBAAuB,SAAQ,uBAAuB,CAAA;;AAMjE,IAAA,WAAA,CACE,WAAuB,EACvB,aAA2B,EAC3B,SAAoB,EAAA;AAClB,QAAA,KAAK,CAAC,WAAW,EAAE,aAAa,EAAE,SAAS,CAAC,CAAA;;AAPvC,QAAA,IAAI,CAAA,IAAA,GAAkC,QAAQ,CAAA;KAOL;AAElD,IAAA,WAAW,KAAK,KAAK,CAAC,WAAW,EAAE,CAAA,EAAE;;mHAZ1B,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,iVCvDnC,6BACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDsDa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAflC,SAAS;+BAEE,oBAAoB,EAAA,QAAA,EAGpB,YAAY,EAAA,MAAA,EACd,CAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAE,EACjC,IAAA,EAAA;AACJ,wBAAA,aAAa,EAAE,MAAM;AACrB,wBAAA,OAAO,EAAE,KAAK;AACd,wBAAA,sBAAsB,EAAE,qBAAqB;AAC7C,wBAAA,iBAAiB,EAAE,kBAAkB;qBACtC,EACgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,6BAAA,EAAA,CAAA;oJAKtC,IAAI,EAAA,CAAA;sBAAZ,KAAK;;AA6BF,MAAO,4BAA6B,SAAQ,uBAAuB,CAAA;;;;;;;;AAavE,IAAA,WAAA,CACE,WAAuB,EACvB,aAA2B,EAC3B,SAAoB,IAClB,KAAK,CAAC,WAAW,EAAE,aAAa,EAAE,SAAS,CAAC,CAAA,EAAE;AAElD,IAAA,WAAW,KAAK,KAAK,CAAC,WAAW,EAAE,CAAA,EAAE;AAErC,IAAA,mBAAmB,CAAC,KAAY,EAAA;;QAE9B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,KAAK,CAAC,cAAc,EAAE,CAAA;YACtB,KAAK,CAAC,wBAAwB,EAAE,CAAA;AACjC,SAAA;KACF;;yHA3BU,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,kcCvFzC,6BACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDsFa,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAhBxC,SAAS;+BAEE,eAAe,EAAA,QAAA,EAGf,iCAAiC,EAAA,MAAA,EACnC,CAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAE,EACjC,IAAA,EAAA;AACJ,wBAAA,OAAO,EAAE,KAAK;AACd,wBAAA,iBAAiB,EAAE,iCAAiC;AACpD,wBAAA,iBAAiB,EAAE,kBAAkB;AACrC,wBAAA,sBAAsB,EAAE,qBAAqB;AAC7C,wBAAA,SAAS,EAAE,6BAA6B;qBACzC,EACgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,6BAAA,EAAA,CAAA;oJAKtC,QAAQ,EAAA,CAAA;sBAAhB,KAAK;;;AEtEF,MAAO,2BAA4B,SAAQ,sBAAsB,CAAA;;AAQrE,IAAA,WAAA,CACE,WAAuB,EACvB,aAA2B,EAC3B,SAAoB,EAAA;AAClB,QAAA,KAAK,CAAC,WAAW,EAAE,aAAa,EAAE,SAAS,CAAC,CAAA;AAVd,QAAA,IAAW,CAAA,WAAA,GAAG,IAAI,CAAA;AAE3C,QAAA,IAAU,CAAA,UAAA,GAAe,OAAO,CAAA;AAChC,QAAA,IAAS,CAAA,SAAA,GAAG,EAAE,CAAA;KAO2B;AAElD,IAAA,WAAW,KAAK,KAAK,CAAC,WAAW,EAAE,CAAA,EAAE;;wHAd1B,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,waCpBxC,uGAEA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDkBa,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAdvC,SAAS;+BAEE,yBAAyB,EAAA,QAAA,EAGzB,iBAAiB,EAAA,MAAA,EACnB,CAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAE,EACjC,IAAA,EAAA;AACJ,wBAAA,aAAa,EAAE,MAAM;AACrB,wBAAA,OAAO,EAAE,KAAK;AACd,wBAAA,sBAAsB,EAAE,qBAAqB;AAC7C,wBAAA,iBAAiB,EAAE,kBAAkB;AACtC,qBAAA,EAAA,QAAA,EAAA,uGAAA,EAAA,CAAA;oJAIiC,WAAW,EAAA,CAAA;sBAA5C,WAAW;uBAAC,mBAAmB,CAAA;gBAEvB,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;;AA4BF,MAAO,iCAAkC,SAAQ,4BAA4B,CAAA;;AAQjF,IAAA,WAAA,CACE,WAAuB,EACvB,aAA2B,EAC3B,SAAoB,EAAA;AAClB,QAAA,KAAK,CAAC,WAAW,EAAE,aAAa,EAAE,SAAS,CAAC,CAAA;AAVd,QAAA,IAAW,CAAA,WAAA,GAAG,IAAI,CAAA;AAE3C,QAAA,IAAU,CAAA,UAAA,GAAe,OAAO,CAAA;AAChC,QAAA,IAAS,CAAA,SAAA,GAAG,EAAE,CAAA;KAO2B;AAElD,IAAA,WAAW,KAAK,KAAK,CAAC,WAAW,EAAE,CAAA,EAAE;;8HAd1B,iCAAiC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjC,iCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iCAAiC,khBCrD9C,uGAEA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDmDa,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAf7C,SAAS;+BAEE,oBAAoB,EAAA,QAAA,EAGpB,uCAAuC,EAAA,MAAA,EACzC,CAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAE,EACjC,IAAA,EAAA;AACJ,wBAAA,OAAO,EAAE,KAAK;AACd,wBAAA,iBAAiB,EAAE,iCAAiC;AACpD,wBAAA,iBAAiB,EAAE,kBAAkB;AACrC,wBAAA,sBAAsB,EAAE,qBAAqB;AAC7C,wBAAA,SAAS,EAAE,6BAA6B;AACzC,qBAAA,EAAA,QAAA,EAAA,uGAAA,EAAA,CAAA;oJAIiC,WAAW,EAAA,CAAA;sBAA5C,WAAW;uBAAC,mBAAmB,CAAA;gBAEvB,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;AEpCF,MAAO,oCAAqC,SAAQ,sBAAsB,CAAA;AAY9E,IAAA,WAAA,CACW,WAAuB,EACvB,aAA2B,EAC3B,SAAoB,EAAA;AAC3B,QAAA,KAAK,CAAC,WAAW,EAAE,aAAa,EAAE,SAAS,CAAC,CAAA;AAHrC,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AACvB,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAc;AAC3B,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;AATN,QAAA,IAAc,CAAA,cAAA,GAAG,KAAK,CAAA;AACtB,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAA;AAChB,QAAA,IAAa,CAAA,aAAA,GAAG,IAAI,CAAA;AAEpB,QAAA,IAAU,CAAA,UAAA,GAAG,GAAG,CAAA;KAMS;AAElD,IAAA,WAAW,KAAK,KAAK,CAAC,WAAW,EAAE,CAAA,EAAE;;iIAlB1B,oCAAoC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApC,oCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oCAAoC,idCtBjD,2PAQA,EAAA,MAAA,EAAA,CAAA,2UAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,UAAA,EAAA,eAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;ADoB2B,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;CAAuB,EAAA,oCAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACtB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;CAAiB,EAAA,oCAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAChB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;CAAqB,EAAA,oCAAA,CAAA,SAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAEpB,UAAA,CAAA;IAAf,WAAW,CAAC,CAAC,CAAC;CAAiB,EAAA,oCAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;2FAV9B,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBAdhD,SAAS;+BAEE,kCAAkC,EAAA,QAAA,EAGlC,0BAA0B,EAAA,MAAA,EAC5B,CAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAE,EACjC,IAAA,EAAA;AACJ,wBAAA,aAAa,EAAE,MAAM;AACrB,wBAAA,OAAO,EAAE,KAAK;AACd,wBAAA,sBAAsB,EAAE,qBAAqB;AAC7C,wBAAA,iBAAiB,EAAE,kBAAkB;qBACtC,EAAA,QAAA,EAAA,2PAAA,EAAA,MAAA,EAAA,CAAA,2UAAA,CAAA,EAAA,CAAA;oJAQwB,cAAc,EAAA,CAAA;sBAAtC,KAAK;gBACmB,QAAQ,EAAA,CAAA;sBAAhC,KAAK;gBACmB,aAAa,EAAA,CAAA;sBAArC,KAAK;gBAEmB,UAAU,EAAA,CAAA;sBAAlC,KAAK;;;AEpBK,MAAA,4BAA4B,GAAQ;AAC/C,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,4BAA4B,CAAC;AAC3D,IAAA,KAAK,EAAE,IAAI;EACZ;AAkBK,MAAO,4BAA6B,SAAQ,sBAAsB,CAAA;IAYtE,IACI,eAAe,KAAK,OAAO,IAAI,CAAC,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA,EAAE;AAEvF,IAAA,WAAA,CACW,WAAuB,EACvB,aAA2B,EAC3B,SAAoB,EAAA;AAC3B,QAAA,KAAK,CAAC,WAAW,EAAE,aAAa,EAAE,SAAS,CAAC,CAAA;AAHrC,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AACvB,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAc;AAC3B,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;;AAdC,QAAA,IAAG,CAAA,GAAA,GAAG,KAAK,CAAA;;AAGxB,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAW,CAAA;KAYL;AAElD,IAAA,WAAW,KAAK,KAAK,CAAC,WAAW,EAAE,CAAA,EAAE;AAErC,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,GAAG,CAAA;KAChB;IAED,IAAI,KAAK,CAAC,KAAc,EAAA;AACtB,QAAA,IAAI,CAAC,GAAG,GAAG,KAAK,CAAA;QAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC1B,IAAI,IAAI,CAAC,QAAQ,EAAE;AAAE,YAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAAE,SAAA;QAC3C,IAAI,IAAI,CAAC,SAAS,EAAE;YAAE,IAAI,CAAC,SAAS,EAAE,CAAA;AAAE,SAAA;KACzC;AAED,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;KACnB;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;KACnB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;KACpB;AAED,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAA;KAC3B;IAED,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAA;KACzB;;yHApDU,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,EAF5B,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,GAAA,EAAA,CAAA,OAAA,EAAA,KAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,MAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,sBAAA,EAAA,EAAA,cAAA,EAAA,KAAA,EAAA,EAAA,SAAA,EAAA,CAAE,4BAA4B,CAAE,iFChC7C,6BACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;ADqCkC,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;CAAY,EAAA,4BAAA,CAAA,SAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA,CAAA;2FAJhC,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAhBxC,SAAS;+BAEE,0BAA0B,EAAA,QAAA,EAG1B,kBAAkB,EAAA,MAAA,EACpB,CAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAE,EACjC,IAAA,EAAA;AACJ,wBAAA,aAAa,EAAE,MAAM;AACrB,wBAAA,OAAO,EAAE,KAAK;AACd,wBAAA,sBAAsB,EAAE,qBAAqB;AAC7C,wBAAA,iBAAiB,EAAE,kBAAkB;AACrC,wBAAA,SAAS,EAAE,gBAAgB;qBAC5B,EACU,SAAA,EAAA,CAAE,4BAA4B,CAAE,EAAA,QAAA,EAAA,6BAAA,EAAA,CAAA;oJAMX,GAAG,EAAA,CAAA;sBAAlC,KAAK;uBAAC,OAAO,CAAA;gBAGK,MAAM,EAAA,CAAA;sBAAxB,MAAM;gBAMH,eAAe,EAAA,CAAA;sBADlB,WAAW;uBAAC,cAAc,CAAA;;;MEdhB,oBAAoB,CAAA;;iHAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,iBApB7B,2BAA2B;QAC3B,oCAAoC;QACpC,4BAA4B;QAC5B,sBAAsB;QACtB,4BAA4B;AAC5B,QAAA,iCAAiC,aAGjC,YAAY;AACZ,QAAA,qBAAqB,aAGrB,2BAA2B;QAC3B,oCAAoC;QACpC,4BAA4B;QAC5B,sBAAsB;QACtB,4BAA4B;QAC5B,iCAAiC,CAAA,EAAA,CAAA,CAAA;AAGxB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,YAZ7B,YAAY;QACZ,qBAAqB,CAAA,EAAA,CAAA,CAAA;2FAWZ,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAtBhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,2BAA2B;wBAC3B,oCAAoC;wBACpC,4BAA4B;wBAC5B,sBAAsB;wBACtB,4BAA4B;wBAC5B,iCAAiC;AAClC,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,qBAAqB;AACtB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,2BAA2B;wBAC3B,oCAAoC;wBACpC,4BAA4B;wBAC5B,sBAAsB;wBACtB,4BAA4B;wBAC5B,iCAAiC;AAClC,qBAAA;iBACF,CAAA;;;AC/BD;;AAEG;;;;"}