@acorex/components 7.24.5 → 17.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. package/common/lib/classes/datasource.class.d.ts +2 -0
  2. package/data-table/index.d.ts +3 -2
  3. package/data-table/lib/base-data-table.class.d.ts +25 -0
  4. package/data-table/lib/columns/row-command-column.component.d.ts +2 -2
  5. package/data-table/lib/data-table/data-table.component.d.ts +52 -0
  6. package/data-table/lib/data-table.module.d.ts +21 -18
  7. package/data-table/lib/{data-table.component.d.ts → infinite-scroll-data-table/infinite-scroll-data-table.component.d.ts} +8 -22
  8. package/esm2022/button/lib/button.component.mjs +2 -2
  9. package/esm2022/common/lib/classes/datasource.class.mjs +8 -2
  10. package/esm2022/common/lib/components/selection-base.component.class.mjs +2 -2
  11. package/esm2022/data-pager/lib/data-pager.component.mjs +7 -11
  12. package/esm2022/data-table/index.mjs +4 -3
  13. package/esm2022/data-table/lib/base-data-table.class.mjs +36 -0
  14. package/esm2022/data-table/lib/columns/row-command-column.component.mjs +57 -69
  15. package/esm2022/data-table/lib/columns/row-index-column.component.mjs +7 -21
  16. package/esm2022/data-table/lib/columns/row-select-column.component.mjs +6 -18
  17. package/esm2022/data-table/lib/data-table/data-table.component.mjs +233 -0
  18. package/esm2022/data-table/lib/data-table.module.mjs +24 -7
  19. package/esm2022/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.mjs +272 -0
  20. package/esm2022/otp/lib/otp.component.mjs +2 -2
  21. package/esm2022/phone-box/lib/phone-box.component.mjs +21 -38
  22. package/esm2022/select-box/lib/select-box.component.mjs +2 -2
  23. package/esm2022/text-area/lib/text-area.component.mjs +6 -22
  24. package/fesm2022/acorex-components-button.mjs +2 -2
  25. package/fesm2022/acorex-components-button.mjs.map +1 -1
  26. package/fesm2022/acorex-components-common.mjs +8 -2
  27. package/fesm2022/acorex-components-common.mjs.map +1 -1
  28. package/fesm2022/acorex-components-data-pager.mjs +5 -9
  29. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  30. package/fesm2022/acorex-components-data-table.mjs +684 -470
  31. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  32. package/fesm2022/acorex-components-otp.mjs +2 -2
  33. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  34. package/fesm2022/acorex-components-phone-box.mjs +22 -38
  35. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  36. package/fesm2022/acorex-components-select-box.mjs +2 -2
  37. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  38. package/fesm2022/acorex-components-text-area.mjs +5 -21
  39. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  40. package/package.json +25 -31
  41. package/phone-box/lib/phone-box.component.d.ts +4 -13
  42. package/text-area/lib/text-area.component.d.ts +0 -1
  43. package/data-table-2/README.md +0 -3
  44. package/data-table-2/index.d.ts +0 -8
  45. package/data-table-2/lib/columns/data-table-column-resizable.directive.d.ts +0 -22
  46. package/data-table-2/lib/columns/data-table-column.d.ts +0 -22
  47. package/data-table-2/lib/columns/data-text-column.component.d.ts +0 -18
  48. package/data-table-2/lib/columns/row-command-column.component.d.ts +0 -40
  49. package/data-table-2/lib/columns/row-index-column.component.d.ts +0 -18
  50. package/data-table-2/lib/columns/row-select-column.component.d.ts +0 -14
  51. package/data-table-2/lib/data-table-2.component.d.ts +0 -61
  52. package/data-table-2/lib/data-table-2.module.d.ts +0 -24
  53. package/esm2022/data-table/lib/data-table.component.mjs +0 -290
  54. package/esm2022/data-table-2/acorex-components-data-table-2.mjs +0 -5
  55. package/esm2022/data-table-2/index.mjs +0 -9
  56. package/esm2022/data-table-2/lib/columns/data-table-column-resizable.directive.mjs +0 -59
  57. package/esm2022/data-table-2/lib/columns/data-table-column.mjs +0 -42
  58. package/esm2022/data-table-2/lib/columns/data-text-column.component.mjs +0 -81
  59. package/esm2022/data-table-2/lib/columns/row-command-column.component.mjs +0 -231
  60. package/esm2022/data-table-2/lib/columns/row-index-column.component.mjs +0 -71
  61. package/esm2022/data-table-2/lib/columns/row-select-column.component.mjs +0 -61
  62. package/esm2022/data-table-2/lib/data-table-2.component.mjs +0 -211
  63. package/esm2022/data-table-2/lib/data-table-2.module.mjs +0 -94
  64. package/fesm2022/acorex-components-data-table-2.mjs +0 -822
  65. package/fesm2022/acorex-components-data-table-2.mjs.map +0 -1
@@ -226,7 +226,7 @@ export class AXSelectBoxComponent extends classes(MXDropdownBoxBaseComponent, MX
226
226
  useClass: MXSelectionBridgeService,
227
227
  },
228
228
  AXUnsubscriber,
229
- ], queries: [{ propertyName: "searchBox", first: true, predicate: AXSearchBoxComponent, descendants: true, static: true }], viewQueries: [{ propertyName: "panel", first: true, predicate: ["panel"], descendants: true }, { propertyName: "list", first: true, predicate: AXListComponent, descendants: true }, { propertyName: "dropdown", first: true, predicate: AXDropdownBoxComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ax-dropdown-box [disabled]=\"disabled\" (onOpened)=\"_handleOnOpenedEvent()\" (onClosed)=\"_handleOnClosedEvent()\"\n [look]=\"look\" [class.ax-auto-height]=\"autoHeight\">\n <ng-container input>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <div class=\"ax-select-box-selection\" [class.ax-multiple]=\"multiple\" [tabindex]=\"tabIndex\"\n (focus)=\"emitOnFocusEvent($event)\" (blur)=\"emitOnBlurEvent($event)\" (click)=\"toggle()\">\n @if (selectedItems.length === 0) {\n <div class=\"ax-placeholder\" role=\"textbox\" area-readonly=\"true\">\n {{ placeholder }}\n </div>\n }\n @for (item of selectedItems; track $index) {\n @if(selectedTemplate) {\n <ng-template *ngTemplateOutlet=\"selectedTemplate; context: { $implicit: { data:item } }\"></ng-template>\n }\n @else{\n <div class=\"ax-selected-token\">\n {{ getDisplayText(item) }}\n @if (!disabled && !readonly && multiple) {\n <span class=\"ax-icon ax-icon-close\" (click)=\"_handleBadgeRemove($event, item)\"> </span>\n }\n </div>\n }\n }\n </div>\n @if (selectedItems?.length && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <button type=\"button\" [disabled]=\"disabled\" [tabIndex]=\"-1\" class=\"ax-general-button ax-button-icon\"\n (click)=\"toggle()\">\n <!-- @if (isLoading() && !isOpen) {\n <ax-loading type=\"spinner\"></ax-loading>\n } @else { -->\n <span class=\"ax-icon ax-icon-chevron-left ax-arrow-button\" [ngClass]=\"{\n '-rotation-90': !isOpen,\n 'rotation-90': isOpen\n }\"></span>\n <!-- } -->\n </button>\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-template #search>\n <ng-content select=\"ax-search-box\"> </ng-content>\n </ng-template>\n </ng-container>\n <ng-container panel>\n <div #panel class=\"ax-select-box-panel\" [style.min-width]=\"dropdownSizes.width\">\n @if (dropdown.isActionsheetStyle) {\n <ax-header class=\"ax-solid\">\n <ax-title>{{ caption || placeholder || 'selectbox.popover.title' | translate | async }}</ax-title>\n <ax-close-button\n [icon]=\"multiple ? 'ax-icon ax-icon-done !ax-text-primary-500' : 'ax-icon ax-icon-close'\"></ax-close-button>\n </ax-header>\n }\n @if (searchBox) {\n <div class=\"ax-search-container\">\n <ng-template [ngTemplateOutlet]=\"search\"></ng-template>\n </div>\n }\n @if (renderList) {\n <ax-list [dataSource]=\"_listDataSource\" [multiple]=\"multiple\" [style.height]=\"dropdownSizes.height\"\n [valueField]=\"valueField\" [textField]=\"textField\" [emptyTemplate]=\"emptyTemplate ?? empty\"\n [itemTemplate]=\"itemTemplate\" [loadingTemplate]=\"loadingTemplate\" [ngModel]=\"value\"\n (onValueChanged)=\"_handleValueChanged($event)\" [selectionMode]=\"'item'\">\n <ng-template #empty> No Items! </ng-template>\n </ax-list>\n }\n\n @if (isLoading()) {\n @if (loadingTemplate) {\n <ng-template *ngTemplateOutlet=\"loadingTemplate\"></ng-template>\n } @else {\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\n <ax-loading></ax-loading>\n </div>\n }\n }\n\n <ng-content select=\"ax-footer\"> </ng-content>\n </div>\n </ng-container>\n</ax-dropdown-box>\n<ng-content select=\"ax-validation-rule\"> </ng-content>", styles: ["ax-select-box{display:block}ax-select-box ax-dropdown-box.ax-auto-height{height:auto!important}ax-select-box .ax-editor-container.ax-look-fill .ax-selected-token{background-color:rgba(var(--ax-color-surface))}ax-select-box .ax-selected-token{display:flex;align-items:center;border-radius:var(--ax-rounded-border-default);padding:.25rem .5rem;color:rgb(var(--ax-color-text-default))}ax-select-box .ax-selected-token .ax-icon-close{margin-inline-start:.5rem;cursor:pointer}ax-select-box .ax-select-box-selection{display:flex;flex:1 1 0%;cursor:pointer;-webkit-user-select:none;user-select:none;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.25rem;padding:.25rem;outline:2px solid transparent;outline-offset:2px;height:100%}ax-select-box .ax-select-box-selection>span{white-space:nowrap;padding-inline-end:.75rem;padding-inline-start:1rem}ax-select-box .ax-select-box-selection .ax-selectbox-input{width:0px;opacity:0}ax-select-box .ax-select-box-selection.ax-multiple .ax-selected-token{background-color:rgba(var(--ax-color-on-surface))}ax-select-box .ax-placeholder{padding-inline-end:.75rem;padding-inline-start:1rem}ax-select-box .ax-general-button .ax-arrow-button{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-select-box .ax-general-button .ax-arrow-button.-rotation-90{transform:rotate(-90deg)}ax-select-box .ax-general-button .ax-arrow-button.rotation-90{transform:rotate(90deg)}.ax-select-box-panel{height:fit-content}.ax-select-box-panel>ax-header.ax-solid{border-bottom-width:1px;border-color:rgba(var(--ax-color-border-default))}.ax-select-box-panel .ax-search-container{padding:.5rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title , ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i4.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "component", type: i5.AXDropdownBoxComponent, selector: "ax-dropdown-box", inputs: ["disabled", "look"], outputs: ["disabledChange", "onBlur", "onFocus", "onClick", "onOpened", "onClosed"] }, { kind: "component", type: i6.AXListComponent, selector: "ax-list", inputs: ["id", "name", "disabled", "readonly", "valueField", "textField", "disabledField", "multiple", "selectionMode", "dataSource", "itemHeight", "itemTemplate", "emptyTemplate", "loadingTemplate", "checkbox"], outputs: ["onValueChanged", "disabledChange", "readOnlyChange", "onBlur", "onFocus", "onScrolledIndexChanged"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
229
+ ], queries: [{ propertyName: "searchBox", first: true, predicate: AXSearchBoxComponent, descendants: true, static: true }], viewQueries: [{ propertyName: "panel", first: true, predicate: ["panel"], descendants: true }, { propertyName: "list", first: true, predicate: AXListComponent, descendants: true }, { propertyName: "dropdown", first: true, predicate: AXDropdownBoxComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ax-dropdown-box [disabled]=\"disabled\" (onOpened)=\"_handleOnOpenedEvent()\" (onClosed)=\"_handleOnClosedEvent()\"\n [look]=\"look\" [class.ax-auto-height]=\"autoHeight\">\n <ng-container input>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <div class=\"ax-select-box-selection\" [class.ax-multiple]=\"multiple\" [tabindex]=\"tabIndex\"\n (focus)=\"emitOnFocusEvent($event)\" (blur)=\"emitOnBlurEvent($event)\" (click)=\"toggle()\">\n @if (selectedItems.length === 0) {\n <div class=\"ax-placeholder\" role=\"textbox\" area-readonly=\"true\">\n {{ placeholder }}\n </div>\n }\n @for (item of selectedItems; track $index) {\n @if(selectedTemplate) {\n <ng-template *ngTemplateOutlet=\"selectedTemplate; context: { $implicit: { data:item } }\"></ng-template>\n }\n @else{\n <div class=\"ax-selected-token\">\n {{ getDisplayText(item) }}\n @if (!disabled && !readonly && multiple) {\n <span class=\"ax-icon ax-icon-close\" (click)=\"_handleBadgeRemove($event, item)\"> </span>\n }\n </div>\n }\n }\n </div>\n @if (selectedItems?.length && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <button type=\"button\" [disabled]=\"disabled\" [tabIndex]=\"-1\" class=\"ax-general-button ax-button-icon\"\n (click)=\"toggle()\">\n <!-- @if (isLoading() && !isOpen) {\n <ax-loading type=\"spinner\"></ax-loading>\n } @else { -->\n <span class=\"ax-icon ax-icon-chevron-left ax-arrow-button\" [ngClass]=\"{\n '-rotation-90': !isOpen,\n 'rotation-90': isOpen\n }\"></span>\n <!-- } -->\n </button>\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-template #search>\n <ng-content select=\"ax-search-box\"> </ng-content>\n </ng-template>\n </ng-container>\n <ng-container panel>\n <div #panel class=\"ax-select-box-panel\" [style.min-width]=\"dropdownSizes.width\">\n @if (dropdown.isActionsheetStyle) {\n <ax-header class=\"ax-solid\">\n <ax-title>{{ caption || placeholder || 'selectbox.popover.title' | translate | async }}</ax-title>\n <ax-close-button\n [icon]=\"multiple ? 'ax-icon ax-icon-done !ax-text-primary-500' : 'ax-icon ax-icon-close'\"></ax-close-button>\n </ax-header>\n }\n @if (searchBox) {\n <div class=\"ax-search-container\">\n <ng-template [ngTemplateOutlet]=\"search\"></ng-template>\n </div>\n }\n @if (renderList) {\n <ax-list [dataSource]=\"_listDataSource\" [multiple]=\"multiple\" [style.height]=\"dropdownSizes.height\"\n [valueField]=\"valueField\" [textField]=\"textField\" [emptyTemplate]=\"emptyTemplate ?? empty\"\n [itemTemplate]=\"itemTemplate\" [loadingTemplate]=\"loadingTemplate\" [ngModel]=\"value\"\n (onValueChanged)=\"_handleValueChanged($event)\" [selectionMode]=\"'item'\">\n <ng-template #empty> No Items! </ng-template>\n </ax-list>\n }\n\n @if (isLoading()) {\n @if (loadingTemplate) {\n <ng-template *ngTemplateOutlet=\"loadingTemplate\"></ng-template>\n } @else {\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\n <ax-loading></ax-loading>\n </div>\n }\n }\n\n <ng-content select=\"ax-footer\"> </ng-content>\n </div>\n </ng-container>\n</ax-dropdown-box>\n<ng-content select=\"ax-validation-rule\"> </ng-content>", styles: ["ax-select-box{display:block;width:100%}ax-select-box ax-dropdown-box.ax-auto-height{height:auto!important}ax-select-box .ax-editor-container.ax-look-fill .ax-selected-token{background-color:rgba(var(--ax-color-surface))}ax-select-box .ax-selected-token{display:flex;align-items:center;border-radius:var(--ax-rounded-border-default);padding:.25rem .5rem;color:rgb(var(--ax-color-text-default))}ax-select-box .ax-selected-token .ax-icon-close{margin-inline-start:.5rem;cursor:pointer}ax-select-box .ax-select-box-selection{display:flex;flex:1 1 0%;cursor:pointer;-webkit-user-select:none;user-select:none;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.25rem;padding:.25rem;outline:2px solid transparent;outline-offset:2px;height:100%}ax-select-box .ax-select-box-selection>span{white-space:nowrap;padding-inline-end:.75rem;padding-inline-start:1rem}ax-select-box .ax-select-box-selection .ax-selectbox-input{width:0px;opacity:0}ax-select-box .ax-select-box-selection.ax-multiple .ax-selected-token{background-color:rgba(var(--ax-color-on-surface))}ax-select-box .ax-placeholder{padding-inline-end:.75rem;padding-inline-start:1rem}ax-select-box .ax-general-button .ax-arrow-button{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-select-box .ax-general-button .ax-arrow-button.-rotation-90{transform:rotate(-90deg)}ax-select-box .ax-general-button .ax-arrow-button.rotation-90{transform:rotate(90deg)}.ax-select-box-panel{height:fit-content}.ax-select-box-panel>ax-header.ax-solid{border-bottom-width:1px;border-color:rgba(var(--ax-color-border-default))}.ax-select-box-panel .ax-search-container{padding:.5rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title , ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i4.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "component", type: i5.AXDropdownBoxComponent, selector: "ax-dropdown-box", inputs: ["disabled", "look"], outputs: ["disabledChange", "onBlur", "onFocus", "onClick", "onOpened", "onClosed"] }, { kind: "component", type: i6.AXListComponent, selector: "ax-list", inputs: ["id", "name", "disabled", "readonly", "valueField", "textField", "disabledField", "multiple", "selectionMode", "dataSource", "itemHeight", "itemTemplate", "emptyTemplate", "loadingTemplate", "checkbox"], outputs: ["onValueChanged", "disabledChange", "readOnlyChange", "onBlur", "onFocus", "onScrolledIndexChanged"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
230
230
  }
231
231
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXSelectBoxComponent, decorators: [{
232
232
  type: Component,
@@ -263,7 +263,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImpor
263
263
  useClass: MXSelectionBridgeService,
264
264
  },
265
265
  AXUnsubscriber,
266
- ], host: { ngSkipHydration: 'true' }, template: "<ax-dropdown-box [disabled]=\"disabled\" (onOpened)=\"_handleOnOpenedEvent()\" (onClosed)=\"_handleOnClosedEvent()\"\n [look]=\"look\" [class.ax-auto-height]=\"autoHeight\">\n <ng-container input>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <div class=\"ax-select-box-selection\" [class.ax-multiple]=\"multiple\" [tabindex]=\"tabIndex\"\n (focus)=\"emitOnFocusEvent($event)\" (blur)=\"emitOnBlurEvent($event)\" (click)=\"toggle()\">\n @if (selectedItems.length === 0) {\n <div class=\"ax-placeholder\" role=\"textbox\" area-readonly=\"true\">\n {{ placeholder }}\n </div>\n }\n @for (item of selectedItems; track $index) {\n @if(selectedTemplate) {\n <ng-template *ngTemplateOutlet=\"selectedTemplate; context: { $implicit: { data:item } }\"></ng-template>\n }\n @else{\n <div class=\"ax-selected-token\">\n {{ getDisplayText(item) }}\n @if (!disabled && !readonly && multiple) {\n <span class=\"ax-icon ax-icon-close\" (click)=\"_handleBadgeRemove($event, item)\"> </span>\n }\n </div>\n }\n }\n </div>\n @if (selectedItems?.length && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <button type=\"button\" [disabled]=\"disabled\" [tabIndex]=\"-1\" class=\"ax-general-button ax-button-icon\"\n (click)=\"toggle()\">\n <!-- @if (isLoading() && !isOpen) {\n <ax-loading type=\"spinner\"></ax-loading>\n } @else { -->\n <span class=\"ax-icon ax-icon-chevron-left ax-arrow-button\" [ngClass]=\"{\n '-rotation-90': !isOpen,\n 'rotation-90': isOpen\n }\"></span>\n <!-- } -->\n </button>\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-template #search>\n <ng-content select=\"ax-search-box\"> </ng-content>\n </ng-template>\n </ng-container>\n <ng-container panel>\n <div #panel class=\"ax-select-box-panel\" [style.min-width]=\"dropdownSizes.width\">\n @if (dropdown.isActionsheetStyle) {\n <ax-header class=\"ax-solid\">\n <ax-title>{{ caption || placeholder || 'selectbox.popover.title' | translate | async }}</ax-title>\n <ax-close-button\n [icon]=\"multiple ? 'ax-icon ax-icon-done !ax-text-primary-500' : 'ax-icon ax-icon-close'\"></ax-close-button>\n </ax-header>\n }\n @if (searchBox) {\n <div class=\"ax-search-container\">\n <ng-template [ngTemplateOutlet]=\"search\"></ng-template>\n </div>\n }\n @if (renderList) {\n <ax-list [dataSource]=\"_listDataSource\" [multiple]=\"multiple\" [style.height]=\"dropdownSizes.height\"\n [valueField]=\"valueField\" [textField]=\"textField\" [emptyTemplate]=\"emptyTemplate ?? empty\"\n [itemTemplate]=\"itemTemplate\" [loadingTemplate]=\"loadingTemplate\" [ngModel]=\"value\"\n (onValueChanged)=\"_handleValueChanged($event)\" [selectionMode]=\"'item'\">\n <ng-template #empty> No Items! </ng-template>\n </ax-list>\n }\n\n @if (isLoading()) {\n @if (loadingTemplate) {\n <ng-template *ngTemplateOutlet=\"loadingTemplate\"></ng-template>\n } @else {\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\n <ax-loading></ax-loading>\n </div>\n }\n }\n\n <ng-content select=\"ax-footer\"> </ng-content>\n </div>\n </ng-container>\n</ax-dropdown-box>\n<ng-content select=\"ax-validation-rule\"> </ng-content>", styles: ["ax-select-box{display:block}ax-select-box ax-dropdown-box.ax-auto-height{height:auto!important}ax-select-box .ax-editor-container.ax-look-fill .ax-selected-token{background-color:rgba(var(--ax-color-surface))}ax-select-box .ax-selected-token{display:flex;align-items:center;border-radius:var(--ax-rounded-border-default);padding:.25rem .5rem;color:rgb(var(--ax-color-text-default))}ax-select-box .ax-selected-token .ax-icon-close{margin-inline-start:.5rem;cursor:pointer}ax-select-box .ax-select-box-selection{display:flex;flex:1 1 0%;cursor:pointer;-webkit-user-select:none;user-select:none;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.25rem;padding:.25rem;outline:2px solid transparent;outline-offset:2px;height:100%}ax-select-box .ax-select-box-selection>span{white-space:nowrap;padding-inline-end:.75rem;padding-inline-start:1rem}ax-select-box .ax-select-box-selection .ax-selectbox-input{width:0px;opacity:0}ax-select-box .ax-select-box-selection.ax-multiple .ax-selected-token{background-color:rgba(var(--ax-color-on-surface))}ax-select-box .ax-placeholder{padding-inline-end:.75rem;padding-inline-start:1rem}ax-select-box .ax-general-button .ax-arrow-button{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-select-box .ax-general-button .ax-arrow-button.-rotation-90{transform:rotate(-90deg)}ax-select-box .ax-general-button .ax-arrow-button.rotation-90{transform:rotate(90deg)}.ax-select-box-panel{height:fit-content}.ax-select-box-panel>ax-header.ax-solid{border-bottom-width:1px;border-color:rgba(var(--ax-color-border-default))}.ax-select-box-panel .ax-search-container{padding:.5rem}\n"] }]
266
+ ], host: { ngSkipHydration: 'true' }, template: "<ax-dropdown-box [disabled]=\"disabled\" (onOpened)=\"_handleOnOpenedEvent()\" (onClosed)=\"_handleOnClosedEvent()\"\n [look]=\"look\" [class.ax-auto-height]=\"autoHeight\">\n <ng-container input>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <div class=\"ax-select-box-selection\" [class.ax-multiple]=\"multiple\" [tabindex]=\"tabIndex\"\n (focus)=\"emitOnFocusEvent($event)\" (blur)=\"emitOnBlurEvent($event)\" (click)=\"toggle()\">\n @if (selectedItems.length === 0) {\n <div class=\"ax-placeholder\" role=\"textbox\" area-readonly=\"true\">\n {{ placeholder }}\n </div>\n }\n @for (item of selectedItems; track $index) {\n @if(selectedTemplate) {\n <ng-template *ngTemplateOutlet=\"selectedTemplate; context: { $implicit: { data:item } }\"></ng-template>\n }\n @else{\n <div class=\"ax-selected-token\">\n {{ getDisplayText(item) }}\n @if (!disabled && !readonly && multiple) {\n <span class=\"ax-icon ax-icon-close\" (click)=\"_handleBadgeRemove($event, item)\"> </span>\n }\n </div>\n }\n }\n </div>\n @if (selectedItems?.length && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <button type=\"button\" [disabled]=\"disabled\" [tabIndex]=\"-1\" class=\"ax-general-button ax-button-icon\"\n (click)=\"toggle()\">\n <!-- @if (isLoading() && !isOpen) {\n <ax-loading type=\"spinner\"></ax-loading>\n } @else { -->\n <span class=\"ax-icon ax-icon-chevron-left ax-arrow-button\" [ngClass]=\"{\n '-rotation-90': !isOpen,\n 'rotation-90': isOpen\n }\"></span>\n <!-- } -->\n </button>\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-template #search>\n <ng-content select=\"ax-search-box\"> </ng-content>\n </ng-template>\n </ng-container>\n <ng-container panel>\n <div #panel class=\"ax-select-box-panel\" [style.min-width]=\"dropdownSizes.width\">\n @if (dropdown.isActionsheetStyle) {\n <ax-header class=\"ax-solid\">\n <ax-title>{{ caption || placeholder || 'selectbox.popover.title' | translate | async }}</ax-title>\n <ax-close-button\n [icon]=\"multiple ? 'ax-icon ax-icon-done !ax-text-primary-500' : 'ax-icon ax-icon-close'\"></ax-close-button>\n </ax-header>\n }\n @if (searchBox) {\n <div class=\"ax-search-container\">\n <ng-template [ngTemplateOutlet]=\"search\"></ng-template>\n </div>\n }\n @if (renderList) {\n <ax-list [dataSource]=\"_listDataSource\" [multiple]=\"multiple\" [style.height]=\"dropdownSizes.height\"\n [valueField]=\"valueField\" [textField]=\"textField\" [emptyTemplate]=\"emptyTemplate ?? empty\"\n [itemTemplate]=\"itemTemplate\" [loadingTemplate]=\"loadingTemplate\" [ngModel]=\"value\"\n (onValueChanged)=\"_handleValueChanged($event)\" [selectionMode]=\"'item'\">\n <ng-template #empty> No Items! </ng-template>\n </ax-list>\n }\n\n @if (isLoading()) {\n @if (loadingTemplate) {\n <ng-template *ngTemplateOutlet=\"loadingTemplate\"></ng-template>\n } @else {\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\n <ax-loading></ax-loading>\n </div>\n }\n }\n\n <ng-content select=\"ax-footer\"> </ng-content>\n </div>\n </ng-container>\n</ax-dropdown-box>\n<ng-content select=\"ax-validation-rule\"> </ng-content>", styles: ["ax-select-box{display:block;width:100%}ax-select-box ax-dropdown-box.ax-auto-height{height:auto!important}ax-select-box .ax-editor-container.ax-look-fill .ax-selected-token{background-color:rgba(var(--ax-color-surface))}ax-select-box .ax-selected-token{display:flex;align-items:center;border-radius:var(--ax-rounded-border-default);padding:.25rem .5rem;color:rgb(var(--ax-color-text-default))}ax-select-box .ax-selected-token .ax-icon-close{margin-inline-start:.5rem;cursor:pointer}ax-select-box .ax-select-box-selection{display:flex;flex:1 1 0%;cursor:pointer;-webkit-user-select:none;user-select:none;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.25rem;padding:.25rem;outline:2px solid transparent;outline-offset:2px;height:100%}ax-select-box .ax-select-box-selection>span{white-space:nowrap;padding-inline-end:.75rem;padding-inline-start:1rem}ax-select-box .ax-select-box-selection .ax-selectbox-input{width:0px;opacity:0}ax-select-box .ax-select-box-selection.ax-multiple .ax-selected-token{background-color:rgba(var(--ax-color-on-surface))}ax-select-box .ax-placeholder{padding-inline-end:.75rem;padding-inline-start:1rem}ax-select-box .ax-general-button .ax-arrow-button{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-select-box .ax-general-button .ax-arrow-button.-rotation-90{transform:rotate(-90deg)}ax-select-box .ax-general-button .ax-arrow-button.rotation-90{transform:rotate(90deg)}.ax-select-box-panel{height:fit-content}.ax-select-box-panel>ax-header.ax-solid{border-bottom-width:1px;border-color:rgba(var(--ax-color-border-default))}.ax-select-box-panel .ax-search-container{padding:.5rem}\n"] }]
267
267
  }], propDecorators: { dataSource: [{
268
268
  type: Input
269
269
  }], placeholder: [{
@@ -1,5 +1,5 @@
1
1
  import { AXClearableComponent, AXComponent, AXFocusableComponent, AXValuableComponent, MXInputBaseValueComponent, MXLookComponent, } from '@acorex/components/common';
2
- import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input, ViewChild, ViewEncapsulation, forwardRef, } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, ElementRef, Input, ViewChild, ViewEncapsulation, forwardRef } from '@angular/core';
3
3
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
4
  import { classes } from 'polytype';
5
5
  import * as i0 from "@angular/core";
@@ -13,11 +13,8 @@ export class AXTextAreaComponent extends classes((MXInputBaseValueComponent), MX
13
13
  _handleModelChange(value) {
14
14
  this.commitValue(value, true);
15
15
  }
16
- get __hostClass() {
17
- return `ax-editor-container ax-look-${this.look} ${this.disabled ? 'ax-state-disabled' : ''}`;
18
- }
19
16
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXTextAreaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.2", type: AXTextAreaComponent, selector: "ax-text-area", inputs: { disabled: "disabled", tabIndex: "tabIndex", readonly: "readonly", value: "value", state: "state", name: "name", placeholder: "placeholder", maxLength: "maxLength", look: "look", rows: "rows", allowResize: "allowResize", showCounter: "showCounter" }, outputs: { onBlur: "onBlur", onFocus: "onFocus", valueChange: "valueChange", stateChange: "stateChange", onValueChanged: "onValueChanged", readonlyChange: "readonlyChange", disabledChange: "disabledChange", onKeyDown: "onKeyDown", onKeyUp: "onKeyUp", onKeyPress: "onKeyPress" }, host: { properties: { "class": "this.__hostClass" } }, providers: [
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.2", type: AXTextAreaComponent, selector: "ax-text-area", inputs: { disabled: "disabled", tabIndex: "tabIndex", readonly: "readonly", value: "value", state: "state", name: "name", placeholder: "placeholder", maxLength: "maxLength", look: "look", rows: "rows", allowResize: "allowResize", showCounter: "showCounter" }, outputs: { onBlur: "onBlur", onFocus: "onFocus", valueChange: "valueChange", stateChange: "stateChange", onValueChanged: "onValueChanged", readonlyChange: "readonlyChange", disabledChange: "disabledChange", onKeyDown: "onKeyDown", onKeyUp: "onKeyUp", onKeyPress: "onKeyPress" }, providers: [
21
18
  { provide: AXComponent, useExisting: AXTextAreaComponent },
22
19
  { provide: AXFocusableComponent, useExisting: AXTextAreaComponent },
23
20
  { provide: AXClearableComponent, useExisting: AXTextAreaComponent },
@@ -27,21 +24,11 @@ export class AXTextAreaComponent extends classes((MXInputBaseValueComponent), MX
27
24
  useExisting: forwardRef(() => AXTextAreaComponent),
28
25
  multi: true,
29
26
  },
30
- ], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<textarea #input [id]=\"id\" [name]=\"name\" type=\"text\" [rows]=\"rows\" [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxLength\" [class.ax-state-disabled]=\"disabled\" [class.ax-state-readonly]=\"readonly\"\n [class.ax-state-no-resizing]=\"!allowResize\" [disabled]=\"disabled\" [readonly]=\"readonly\" [tabindex]=\"tabIndex\"\n [ngModel]=\"value\" (ngModelChange)=\"_handleModelChange($event)\" (keydown)=\"emitOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\" (keypress)=\"emitOnKeypressEvent($event)\" (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\">\n</textarea>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n@if(showCounter){\n<div class=\"counter\">\n {{ input.value.length }}\n @if(maxLength){\n <span>/ {{ maxLength }}</span>\n }\n</div>\n}\n<div class=\"ax-error-container\"></div>", styles: ["ax-text-area{height:auto!important;position:relative;width:100%;flex-direction:column;overflow:hidden;border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-text-area textarea{height:fit-content;width:100%;background-color:inherit;padding:.625rem;font-size:.875rem;line-height:1.625}ax-text-area textarea:focus{outline-color:transparent}ax-text-area textarea.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-text-area textarea.ax-state-no-resizing{resize:none}ax-text-area>ax-prefix,ax-text-area>ax-suffix{margin-bottom:.5rem;padding:.75rem}ax-text-area .counter{position:absolute;bottom:.5rem;inset-inline-end:.5rem;color:rgb(var(--ax-color-text-default),.5)}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
27
+ ], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-editor-container ax-look-{{this.look}}\" [class.ax-state-disabled]=\"disabled\">\n <textarea #input [id]=\"id\" [name]=\"name\" type=\"text\" [rows]=\"rows\" [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxLength\" [class.ax-state-disabled]=\"disabled\" [class.ax-state-readonly]=\"readonly\"\n [class.ax-state-no-resizing]=\"!allowResize\" [disabled]=\"disabled\" [readonly]=\"readonly\" [tabindex]=\"tabIndex\"\n [ngModel]=\"value\" (ngModelChange)=\"_handleModelChange($event)\" (keydown)=\"emitOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\" (keypress)=\"emitOnKeypressEvent($event)\" (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\">\n</textarea>\n <ng-content select=\"ax-validation-rule\"> </ng-content>\n @if(showCounter){\n <div class=\"counter\">\n {{ input.value.length }}\n @if(maxLength){\n <span>/ {{ maxLength }}</span>\n }\n </div>\n }\n</div>\n<div class=\"ax-error-container\"></div>", styles: ["ax-text-area{height:auto!important;position:relative;width:100%;overflow:hidden}ax-text-area .ax-editor-container{height:auto!important}ax-text-area .ax-editor-container textarea{width:100%;height:fit-content;background-color:inherit;padding:.625rem;font-size:.875rem;line-height:1.625}ax-text-area .ax-editor-container textarea:focus{outline-color:transparent}ax-text-area .ax-editor-container textarea.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-text-area .ax-editor-container textarea.ax-state-no-resizing{resize:none}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
31
28
  }
32
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXTextAreaComponent, decorators: [{
33
30
  type: Component,
34
- args: [{ selector: 'ax-text-area', inputs: [
35
- 'disabled',
36
- 'tabIndex',
37
- 'readonly',
38
- 'value',
39
- 'state',
40
- 'name',
41
- 'placeholder',
42
- 'maxLength',
43
- 'look',
44
- ], outputs: [
31
+ args: [{ selector: 'ax-text-area', inputs: ['disabled', 'tabIndex', 'readonly', 'value', 'state', 'name', 'placeholder', 'maxLength', 'look'], outputs: [
45
32
  'onBlur',
46
33
  'onFocus',
47
34
  'valueChange',
@@ -62,7 +49,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImpor
62
49
  useExisting: forwardRef(() => AXTextAreaComponent),
63
50
  multi: true,
64
51
  },
65
- ], template: "<textarea #input [id]=\"id\" [name]=\"name\" type=\"text\" [rows]=\"rows\" [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxLength\" [class.ax-state-disabled]=\"disabled\" [class.ax-state-readonly]=\"readonly\"\n [class.ax-state-no-resizing]=\"!allowResize\" [disabled]=\"disabled\" [readonly]=\"readonly\" [tabindex]=\"tabIndex\"\n [ngModel]=\"value\" (ngModelChange)=\"_handleModelChange($event)\" (keydown)=\"emitOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\" (keypress)=\"emitOnKeypressEvent($event)\" (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\">\n</textarea>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n@if(showCounter){\n<div class=\"counter\">\n {{ input.value.length }}\n @if(maxLength){\n <span>/ {{ maxLength }}</span>\n }\n</div>\n}\n<div class=\"ax-error-container\"></div>", styles: ["ax-text-area{height:auto!important;position:relative;width:100%;flex-direction:column;overflow:hidden;border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-text-area textarea{height:fit-content;width:100%;background-color:inherit;padding:.625rem;font-size:.875rem;line-height:1.625}ax-text-area textarea:focus{outline-color:transparent}ax-text-area textarea.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-text-area textarea.ax-state-no-resizing{resize:none}ax-text-area>ax-prefix,ax-text-area>ax-suffix{margin-bottom:.5rem;padding:.75rem}ax-text-area .counter{position:absolute;bottom:.5rem;inset-inline-end:.5rem;color:rgb(var(--ax-color-text-default),.5)}\n"] }]
52
+ ], template: "<div class=\"ax-editor-container ax-look-{{this.look}}\" [class.ax-state-disabled]=\"disabled\">\n <textarea #input [id]=\"id\" [name]=\"name\" type=\"text\" [rows]=\"rows\" [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxLength\" [class.ax-state-disabled]=\"disabled\" [class.ax-state-readonly]=\"readonly\"\n [class.ax-state-no-resizing]=\"!allowResize\" [disabled]=\"disabled\" [readonly]=\"readonly\" [tabindex]=\"tabIndex\"\n [ngModel]=\"value\" (ngModelChange)=\"_handleModelChange($event)\" (keydown)=\"emitOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\" (keypress)=\"emitOnKeypressEvent($event)\" (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\">\n</textarea>\n <ng-content select=\"ax-validation-rule\"> </ng-content>\n @if(showCounter){\n <div class=\"counter\">\n {{ input.value.length }}\n @if(maxLength){\n <span>/ {{ maxLength }}</span>\n }\n </div>\n }\n</div>\n<div class=\"ax-error-container\"></div>", styles: ["ax-text-area{height:auto!important;position:relative;width:100%;overflow:hidden}ax-text-area .ax-editor-container{height:auto!important}ax-text-area .ax-editor-container textarea{width:100%;height:fit-content;background-color:inherit;padding:.625rem;font-size:.875rem;line-height:1.625}ax-text-area .ax-editor-container textarea:focus{outline-color:transparent}ax-text-area .ax-editor-container textarea.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-text-area .ax-editor-container textarea.ax-state-no-resizing{resize:none}\n"] }]
66
53
  }], propDecorators: { input: [{
67
54
  type: ViewChild,
68
55
  args: ['input']
@@ -74,8 +61,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImpor
74
61
  type: Input
75
62
  }], maxLength: [{
76
63
  type: Input
77
- }], __hostClass: [{
78
- type: HostBinding,
79
- args: ['class']
80
64
  }] } });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1hcmVhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90ZXh0LWFyZWEvc3JjL2xpYi90ZXh0LWFyZWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RleHQtYXJlYS9zcmMvbGliL3RleHQtYXJlYS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLFdBQVcsRUFDWCxvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLHlCQUF5QixFQUN6QixlQUFlLEdBQ2hCLE1BQU0sMkJBQTJCLENBQUM7QUFFbkMsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQixVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQzs7O0FBMkNuQyxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsT0FBTyxDQUM5QyxDQUFBLHlCQUFpQyxDQUFBLEVBQ2pDLGVBQWUsQ0FDaEI7SUE1Q0Q7O1FBaURFLFNBQUksR0FBRyxDQUFDLENBQUM7UUFHVCxnQkFBVyxHQUFHLElBQUksQ0FBQztLQWtCcEI7SUFWVyxrQkFBa0IsQ0FBQyxLQUFvQjtRQUMvQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFDSSxXQUFXO1FBQ2IsT0FBTywrQkFBK0IsSUFBSSxDQUFDLElBQUksSUFDN0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLEVBQ3hDLEVBQUUsQ0FBQztJQUNMLENBQUM7OEdBNUJVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLHluQkFabkI7WUFDVCxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFO1lBQzFELEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRTtZQUNuRSxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUU7WUFDbkUsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFO1lBQ2xFO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUM7Z0JBQ2xELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRixpSkM3REgsbzJCQWdCc0M7OzJGRCtDekIsbUJBQW1CO2tCQXpDL0IsU0FBUzsrQkFDRSxjQUFjLFVBR2hCO3dCQUNOLFVBQVU7d0JBQ1YsVUFBVTt3QkFDVixVQUFVO3dCQUNWLE9BQU87d0JBQ1AsT0FBTzt3QkFDUCxNQUFNO3dCQUNOLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxNQUFNO3FCQUNQLFdBQ1E7d0JBQ1AsUUFBUTt3QkFDUixTQUFTO3dCQUNULGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQixXQUFXO3dCQUNYLFNBQVM7d0JBQ1QsWUFBWTtxQkFDYixpQkFDYyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNULEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLHFCQUFxQixFQUFFO3dCQUMxRCxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxXQUFXLHFCQUFxQixFQUFFO3dCQUNuRSxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxXQUFXLHFCQUFxQixFQUFFO3dCQUNuRSxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLHFCQUFxQixFQUFFO3dCQUNsRTs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQzs0QkFDbEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OEJBT0QsS0FBSztzQkFESixTQUFTO3VCQUFDLE9BQU87Z0JBSWxCLElBQUk7c0JBREgsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsS0FBSztnQkFJQyxTQUFTO3NCQURmLEtBQUs7Z0JBUUYsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBWENsZWFyYWJsZUNvbXBvbmVudCxcbiAgQVhDb21wb25lbnQsXG4gIEFYRm9jdXNhYmxlQ29tcG9uZW50LFxuICBBWFZhbHVhYmxlQ29tcG9uZW50LFxuICBNWElucHV0QmFzZVZhbHVlQ29tcG9uZW50LFxuICBNWExvb2tDb21wb25lbnQsXG59IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGZvcndhcmRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjbGFzc2VzIH0gZnJvbSAncG9seXR5cGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC10ZXh0LWFyZWEnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dC1hcmVhLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGV4dC1hcmVhLmNvbXBvbmVudC5zY3NzJ10sXG4gIGlucHV0czogW1xuICAgICdkaXNhYmxlZCcsXG4gICAgJ3RhYkluZGV4JyxcbiAgICAncmVhZG9ubHknLFxuICAgICd2YWx1ZScsXG4gICAgJ3N0YXRlJyxcbiAgICAnbmFtZScsXG4gICAgJ3BsYWNlaG9sZGVyJyxcbiAgICAnbWF4TGVuZ3RoJyxcbiAgICAnbG9vaycsXG4gIF0sXG4gIG91dHB1dHM6IFtcbiAgICAnb25CbHVyJyxcbiAgICAnb25Gb2N1cycsXG4gICAgJ3ZhbHVlQ2hhbmdlJyxcbiAgICAnc3RhdGVDaGFuZ2UnLFxuICAgICdvblZhbHVlQ2hhbmdlZCcsXG4gICAgJ3JlYWRvbmx5Q2hhbmdlJyxcbiAgICAnZGlzYWJsZWRDaGFuZ2UnLFxuICAgICdvbktleURvd24nLFxuICAgICdvbktleVVwJyxcbiAgICAnb25LZXlQcmVzcycsXG4gIF0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEFYQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhUZXh0QXJlYUNvbXBvbmVudCB9LFxuICAgIHsgcHJvdmlkZTogQVhGb2N1c2FibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFRleHRBcmVhQ29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWENsZWFyYWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYVGV4dEFyZWFDb21wb25lbnQgfSxcbiAgICB7IHByb3ZpZGU6IEFYVmFsdWFibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFRleHRBcmVhQ29tcG9uZW50IH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBWFRleHRBcmVhQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYVGV4dEFyZWFDb21wb25lbnQgZXh0ZW5kcyBjbGFzc2VzKFxuICBNWElucHV0QmFzZVZhbHVlQ29tcG9uZW50PHN0cmluZz4sXG4gIE1YTG9va0NvbXBvbmVudFxuKSB7XG4gIEBWaWV3Q2hpbGQoJ2lucHV0JylcbiAgaW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgQElucHV0KClcbiAgcm93cyA9IDA7XG5cbiAgQElucHV0KClcbiAgYWxsb3dSZXNpemUgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaG93Q291bnRlcjogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbWF4TGVuZ3RoOiBudW1iZXI7XG5cbiAgcHJvdGVjdGVkIF9oYW5kbGVNb2RlbENoYW5nZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCkge1xuICAgIHRoaXMuY29tbWl0VmFsdWUodmFsdWUsIHRydWUpO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBfX2hvc3RDbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBgYXgtZWRpdG9yLWNvbnRhaW5lciBheC1sb29rLSR7dGhpcy5sb29rfSAke1xuICAgICAgdGhpcy5kaXNhYmxlZCA/ICdheC1zdGF0ZS1kaXNhYmxlZCcgOiAnJ1xuICAgIH1gO1xuICB9XG59XG4iLCI8dGV4dGFyZWEgI2lucHV0IFtpZF09XCJpZFwiIFtuYW1lXT1cIm5hbWVcIiB0eXBlPVwidGV4dFwiIFtyb3dzXT1cInJvd3NcIiBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gIFthdHRyLm1heGxlbmd0aF09XCJtYXhMZW5ndGhcIiBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbY2xhc3MuYXgtc3RhdGUtcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICBbY2xhc3MuYXgtc3RhdGUtbm8tcmVzaXppbmddPVwiIWFsbG93UmVzaXplXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgW3RhYmluZGV4XT1cInRhYkluZGV4XCJcbiAgW25nTW9kZWxdPVwidmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJfaGFuZGxlTW9kZWxDaGFuZ2UoJGV2ZW50KVwiIChrZXlkb3duKT1cImVtaXRPbktleWRvd25FdmVudCgkZXZlbnQpXCJcbiAgKGtleXVwKT1cImVtaXRPbktleXVwRXZlbnQoJGV2ZW50KVwiIChrZXlwcmVzcyk9XCJlbWl0T25LZXlwcmVzc0V2ZW50KCRldmVudClcIiAoZm9jdXMpPVwiZW1pdE9uRm9jdXNFdmVudCgkZXZlbnQpXCJcbiAgKGJsdXIpPVwiZW1pdE9uQmx1ckV2ZW50KCRldmVudClcIj5cbjwvdGV4dGFyZWE+XG48bmctY29udGVudCBzZWxlY3Q9XCJheC12YWxpZGF0aW9uLXJ1bGVcIj4gPC9uZy1jb250ZW50PlxuQGlmKHNob3dDb3VudGVyKXtcbjxkaXYgY2xhc3M9XCJjb3VudGVyXCI+XG4gIHt7IGlucHV0LnZhbHVlLmxlbmd0aCB9fVxuICBAaWYobWF4TGVuZ3RoKXtcbiAgPHNwYW4+LyB7eyBtYXhMZW5ndGggfX08L3NwYW4+XG4gIH1cbjwvZGl2PlxufVxuPGRpdiBjbGFzcz1cImF4LWVycm9yLWNvbnRhaW5lclwiPjwvZGl2PiJdfQ==
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1hcmVhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90ZXh0LWFyZWEvc3JjL2xpYi90ZXh0LWFyZWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RleHQtYXJlYS9zcmMvbGliL3RleHQtYXJlYS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLFdBQVcsRUFDWCxvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLHlCQUF5QixFQUN6QixlQUFlLEdBQ2hCLE1BQU0sMkJBQTJCLENBQUM7QUFFbkMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEksT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQzs7O0FBaUNuQyxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsT0FBTyxDQUFDLENBQUEseUJBQWlDLENBQUEsRUFBRSxlQUFlLENBQUM7SUEvQnBHOztRQW9DRSxTQUFJLEdBQUcsQ0FBQyxDQUFDO1FBR1QsZ0JBQVcsR0FBRyxJQUFJLENBQUM7S0FXcEI7SUFIVyxrQkFBa0IsQ0FBQyxLQUFvQjtRQUMvQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDOzhHQWxCVSxtQkFBbUI7a0dBQW5CLG1CQUFtQixra0JBWm5CO1lBQ1QsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRTtZQUMxRCxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUU7WUFDbkUsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFO1lBQ25FLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRTtZQUNsRTtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDO2dCQUNsRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsaUpDMUNILDQrQkFrQnNDOzsyRkQwQnpCLG1CQUFtQjtrQkEvQi9CLFNBQVM7K0JBQ0UsY0FBYyxVQUdoQixDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQ2pHO3dCQUNQLFFBQVE7d0JBQ1IsU0FBUzt3QkFDVCxhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsV0FBVzt3QkFDWCxTQUFTO3dCQUNULFlBQVk7cUJBQ2IsaUJBQ2MsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVCxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxxQkFBcUIsRUFBRTt3QkFDMUQsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxxQkFBcUIsRUFBRTt3QkFDbkUsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxxQkFBcUIsRUFBRTt3QkFDbkUsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxxQkFBcUIsRUFBRTt3QkFDbEU7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUM7NEJBQ2xELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhCQUlELEtBQUs7c0JBREosU0FBUzt1QkFBQyxPQUFPO2dCQUlsQixJQUFJO3NCQURILEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlDLFdBQVc7c0JBRGpCLEtBQUs7Z0JBSUMsU0FBUztzQkFEZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQVhDbGVhcmFibGVDb21wb25lbnQsXG4gIEFYQ29tcG9uZW50LFxuICBBWEZvY3VzYWJsZUNvbXBvbmVudCxcbiAgQVhWYWx1YWJsZUNvbXBvbmVudCxcbiAgTVhJbnB1dEJhc2VWYWx1ZUNvbXBvbmVudCxcbiAgTVhMb29rQ29tcG9uZW50LFxufSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcblxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24sIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJ3BvbHl0eXBlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtdGV4dC1hcmVhJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHQtYXJlYS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RleHQtYXJlYS5jb21wb25lbnQuc2NzcyddLFxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAndGFiSW5kZXgnLCAncmVhZG9ubHknLCAndmFsdWUnLCAnc3RhdGUnLCAnbmFtZScsICdwbGFjZWhvbGRlcicsICdtYXhMZW5ndGgnLCAnbG9vayddLFxuICBvdXRwdXRzOiBbXG4gICAgJ29uQmx1cicsXG4gICAgJ29uRm9jdXMnLFxuICAgICd2YWx1ZUNoYW5nZScsXG4gICAgJ3N0YXRlQ2hhbmdlJyxcbiAgICAnb25WYWx1ZUNoYW5nZWQnLFxuICAgICdyZWFkb25seUNoYW5nZScsXG4gICAgJ2Rpc2FibGVkQ2hhbmdlJyxcbiAgICAnb25LZXlEb3duJyxcbiAgICAnb25LZXlVcCcsXG4gICAgJ29uS2V5UHJlc3MnLFxuICBdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBBWENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYVGV4dEFyZWFDb21wb25lbnQgfSxcbiAgICB7IHByb3ZpZGU6IEFYRm9jdXNhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhUZXh0QXJlYUNvbXBvbmVudCB9LFxuICAgIHsgcHJvdmlkZTogQVhDbGVhcmFibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFRleHRBcmVhQ29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWFZhbHVhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhUZXh0QXJlYUNvbXBvbmVudCB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQVhUZXh0QXJlYUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWFRleHRBcmVhQ29tcG9uZW50IGV4dGVuZHMgY2xhc3NlcyhNWElucHV0QmFzZVZhbHVlQ29tcG9uZW50PHN0cmluZz4sIE1YTG9va0NvbXBvbmVudCkge1xuICBAVmlld0NoaWxkKCdpbnB1dCcpXG4gIGlucHV0OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gIEBJbnB1dCgpXG4gIHJvd3MgPSAwO1xuXG4gIEBJbnB1dCgpXG4gIGFsbG93UmVzaXplID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2hvd0NvdW50ZXI6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIG1heExlbmd0aDogbnVtYmVyO1xuXG4gIHByb3RlY3RlZCBfaGFuZGxlTW9kZWxDaGFuZ2UodmFsdWU6IHN0cmluZyB8IG51bGwpIHtcbiAgICB0aGlzLmNvbW1pdFZhbHVlKHZhbHVlLCB0cnVlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImF4LWVkaXRvci1jb250YWluZXIgYXgtbG9vay17e3RoaXMubG9va319XCIgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gIDx0ZXh0YXJlYSAjaW5wdXQgW2lkXT1cImlkXCIgW25hbWVdPVwibmFtZVwiIHR5cGU9XCJ0ZXh0XCIgW3Jvd3NdPVwicm93c1wiIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICBbYXR0ci5tYXhsZW5ndGhdPVwibWF4TGVuZ3RoXCIgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cImRpc2FibGVkXCIgW2NsYXNzLmF4LXN0YXRlLXJlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICBbY2xhc3MuYXgtc3RhdGUtbm8tcmVzaXppbmddPVwiIWFsbG93UmVzaXplXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgW3RhYmluZGV4XT1cInRhYkluZGV4XCJcbiAgICBbbmdNb2RlbF09XCJ2YWx1ZVwiIChuZ01vZGVsQ2hhbmdlKT1cIl9oYW5kbGVNb2RlbENoYW5nZSgkZXZlbnQpXCIgKGtleWRvd24pPVwiZW1pdE9uS2V5ZG93bkV2ZW50KCRldmVudClcIlxuICAgIChrZXl1cCk9XCJlbWl0T25LZXl1cEV2ZW50KCRldmVudClcIiAoa2V5cHJlc3MpPVwiZW1pdE9uS2V5cHJlc3NFdmVudCgkZXZlbnQpXCIgKGZvY3VzKT1cImVtaXRPbkZvY3VzRXZlbnQoJGV2ZW50KVwiXG4gICAgKGJsdXIpPVwiZW1pdE9uQmx1ckV2ZW50KCRldmVudClcIj5cbjwvdGV4dGFyZWE+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXZhbGlkYXRpb24tcnVsZVwiPiA8L25nLWNvbnRlbnQ+XG4gIEBpZihzaG93Q291bnRlcil7XG4gIDxkaXYgY2xhc3M9XCJjb3VudGVyXCI+XG4gICAge3sgaW5wdXQudmFsdWUubGVuZ3RoIH19XG4gICAgQGlmKG1heExlbmd0aCl7XG4gICAgPHNwYW4+LyB7eyBtYXhMZW5ndGggfX08L3NwYW4+XG4gICAgfVxuICA8L2Rpdj5cbiAgfVxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiYXgtZXJyb3ItY29udGFpbmVyXCI+PC9kaXY+Il19
@@ -276,7 +276,7 @@ class AXButtonComponent extends MXButtonBaseComponent {
276
276
  { provide: AXComponent, useExisting: AXButtonComponent },
277
277
  { provide: AXButtonItemComponent, useExisting: AXButtonComponent },
278
278
  { provide: AXFocusableComponent, useExisting: AXButtonComponent },
279
- ], usesInheritance: true, ngImport: i0, template: "<button [axRipple] [disabled]=\"disabled\" [attr.tabindex]=\"tabIndex\" (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\" (click)=\"_handleClick($event)\" [attr.type]=\"type\">\n <ng-content select=\"ax-prefix, ax-loading, ax-loading-spinner, ax-icon\"> </ng-content>\n <ng-content select=\"ax-content\"> </ng-content>\n\n @if(text){\n <span class=\"ax-button-text\">{{ text }}</span>\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-content select=\"ax-dropdown-panel\"> </ng-content>\n <ng-content select=\".tab-content\"> </ng-content>\n</button>", styles: ["ax-button{position:relative;display:inline-flex;height:var(--ax-size-default);cursor:pointer;align-items:center;justify-content:center;border-radius:var(--ax-rounded-border-default);font-size:.875rem;line-height:1.25rem;outline:2px solid transparent;outline-offset:2px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-button.ax-xs{font-size:.75rem;line-height:1rem}ax-button.ax-xs>button{padding-left:.25rem;padding-right:.25rem}ax-button.ax-sm>button{padding-left:.5rem;padding-right:.5rem}ax-button.ax-sm,ax-button.ax-md{font-size:.875rem;line-height:1.25rem}ax-button.ax-lg{font-size:1rem;line-height:1.25rem}ax-button.ax-lg>button{padding-left:1.5rem;padding-right:1.5rem}ax-button.ax-xl{font-size:1.125rem;line-height:1.75rem}ax-button.ax-xl>button{padding-left:2rem;padding-right:2rem}ax-button.ax-xl.ax-button-icon{font-size:1.5rem}ax-button.ax-xs.ax-button-icon,ax-button.ax-sm.ax-button-icon{font-size:1rem}ax-button.ax-button-icon{height:var(--ax-size-default);width:var(--ax-size-default);font-size:1.25rem}ax-button.ax-state-disabled,ax-button.ax-state-loading{opacity:.5}ax-button.ax-state-disabled>button,ax-button.ax-state-loading>button{cursor:not-allowed}ax-button>button{position:relative;display:inline-flex;height:100%;width:100%;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--ax-rounded-border-default);padding-left:1rem;padding-right:1rem;outline-color:transparent}ax-button>button.ax-state-focus:focus,ax-button>button:focus-visible{outline-width:2px;outline-offset:2px;outline-color:#000}ax-button>button .ax-button-text{white-space:nowrap;padding-left:.5rem;padding-right:.5rem;font-weight:500;line-height:1}ax-button ax-button-item.ax-divided{border-bottom-width:1px!important;border-color:rgba(var(--ax-color-border-default))!important}\n"], dependencies: [{ kind: "directive", type: i3.AXRippleDirective, selector: "[axRipple]", inputs: ["axRipple", "axRippleColor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
279
+ ], usesInheritance: true, ngImport: i0, template: "<button [axRipple] [disabled]=\"disabled\" [attr.tabindex]=\"tabIndex\" (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\" (click)=\"_handleClick($event)\" [attr.type]=\"type\">\n <ng-content select=\"ax-prefix, ax-loading, ax-loading-spinner, ax-icon\"> </ng-content>\n <ng-content select=\"ax-content\"> </ng-content>\n\n @if(text){\n <span class=\"ax-button-text\">{{ text }}</span>\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-content select=\"ax-dropdown-panel\"> </ng-content>\n <ng-content select=\".tab-content\"> </ng-content>\n</button>", styles: ["ax-button{position:relative;display:inline-flex;height:var(--ax-size-default);cursor:pointer;align-items:center;justify-content:center;border-radius:var(--ax-rounded-border-default);font-size:.875rem;line-height:1.25rem;outline:2px solid transparent;outline-offset:2px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-button.ax-xs{font-size:.75rem;line-height:1rem}ax-button.ax-xs>button{padding-left:.25rem;padding-right:.25rem}ax-button.ax-sm>button{padding-left:.5rem;padding-right:.5rem}ax-button.ax-sm,ax-button.ax-md{font-size:.875rem;line-height:1.25rem}ax-button.ax-lg{font-size:1rem;line-height:1.25rem}ax-button.ax-lg>button{padding-left:1.5rem;padding-right:1.5rem}ax-button.ax-xl{font-size:1.125rem;line-height:1.75rem}ax-button.ax-xl>button{padding-left:2rem;padding-right:2rem}ax-button.ax-xl.ax-button-icon{font-size:1.5rem}ax-button.ax-xs.ax-button-icon,ax-button.ax-sm.ax-button-icon{font-size:1rem}ax-button.ax-button-icon{height:var(--ax-size-default);width:var(--ax-size-default);font-size:1.25rem}ax-button.ax-state-disabled,ax-button.ax-state-loading{opacity:.5}ax-button.ax-state-disabled>button,ax-button.ax-state-loading>button{cursor:not-allowed}ax-button>button{position:relative;display:inline-flex;height:100%;width:100%;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--ax-rounded-border-default);padding-left:1rem;padding-right:1rem;outline-color:transparent}ax-button>button.ax-state-focus:focus,ax-button>button:focus-visible{outline-width:2px;outline-offset:2px;outline-color:#000;border-radius:inherit}ax-button>button .ax-button-text{white-space:nowrap;padding-left:.5rem;padding-right:.5rem;font-weight:500;line-height:1}ax-button ax-button-item.ax-divided{border-bottom-width:1px!important;border-color:rgba(var(--ax-color-border-default))!important}\n"], dependencies: [{ kind: "directive", type: i3.AXRippleDirective, selector: "[axRipple]", inputs: ["axRipple", "axRippleColor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
280
280
  }
281
281
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXButtonComponent, decorators: [{
282
282
  type: Component,
@@ -302,7 +302,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImpor
302
302
  { provide: AXComponent, useExisting: AXButtonComponent },
303
303
  { provide: AXButtonItemComponent, useExisting: AXButtonComponent },
304
304
  { provide: AXFocusableComponent, useExisting: AXButtonComponent },
305
- ], template: "<button [axRipple] [disabled]=\"disabled\" [attr.tabindex]=\"tabIndex\" (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\" (click)=\"_handleClick($event)\" [attr.type]=\"type\">\n <ng-content select=\"ax-prefix, ax-loading, ax-loading-spinner, ax-icon\"> </ng-content>\n <ng-content select=\"ax-content\"> </ng-content>\n\n @if(text){\n <span class=\"ax-button-text\">{{ text }}</span>\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-content select=\"ax-dropdown-panel\"> </ng-content>\n <ng-content select=\".tab-content\"> </ng-content>\n</button>", styles: ["ax-button{position:relative;display:inline-flex;height:var(--ax-size-default);cursor:pointer;align-items:center;justify-content:center;border-radius:var(--ax-rounded-border-default);font-size:.875rem;line-height:1.25rem;outline:2px solid transparent;outline-offset:2px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-button.ax-xs{font-size:.75rem;line-height:1rem}ax-button.ax-xs>button{padding-left:.25rem;padding-right:.25rem}ax-button.ax-sm>button{padding-left:.5rem;padding-right:.5rem}ax-button.ax-sm,ax-button.ax-md{font-size:.875rem;line-height:1.25rem}ax-button.ax-lg{font-size:1rem;line-height:1.25rem}ax-button.ax-lg>button{padding-left:1.5rem;padding-right:1.5rem}ax-button.ax-xl{font-size:1.125rem;line-height:1.75rem}ax-button.ax-xl>button{padding-left:2rem;padding-right:2rem}ax-button.ax-xl.ax-button-icon{font-size:1.5rem}ax-button.ax-xs.ax-button-icon,ax-button.ax-sm.ax-button-icon{font-size:1rem}ax-button.ax-button-icon{height:var(--ax-size-default);width:var(--ax-size-default);font-size:1.25rem}ax-button.ax-state-disabled,ax-button.ax-state-loading{opacity:.5}ax-button.ax-state-disabled>button,ax-button.ax-state-loading>button{cursor:not-allowed}ax-button>button{position:relative;display:inline-flex;height:100%;width:100%;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--ax-rounded-border-default);padding-left:1rem;padding-right:1rem;outline-color:transparent}ax-button>button.ax-state-focus:focus,ax-button>button:focus-visible{outline-width:2px;outline-offset:2px;outline-color:#000}ax-button>button .ax-button-text{white-space:nowrap;padding-left:.5rem;padding-right:.5rem;font-weight:500;line-height:1}ax-button ax-button-item.ax-divided{border-bottom-width:1px!important;border-color:rgba(var(--ax-color-border-default))!important}\n"] }]
305
+ ], template: "<button [axRipple] [disabled]=\"disabled\" [attr.tabindex]=\"tabIndex\" (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\" (click)=\"_handleClick($event)\" [attr.type]=\"type\">\n <ng-content select=\"ax-prefix, ax-loading, ax-loading-spinner, ax-icon\"> </ng-content>\n <ng-content select=\"ax-content\"> </ng-content>\n\n @if(text){\n <span class=\"ax-button-text\">{{ text }}</span>\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-content select=\"ax-dropdown-panel\"> </ng-content>\n <ng-content select=\".tab-content\"> </ng-content>\n</button>", styles: ["ax-button{position:relative;display:inline-flex;height:var(--ax-size-default);cursor:pointer;align-items:center;justify-content:center;border-radius:var(--ax-rounded-border-default);font-size:.875rem;line-height:1.25rem;outline:2px solid transparent;outline-offset:2px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-button.ax-xs{font-size:.75rem;line-height:1rem}ax-button.ax-xs>button{padding-left:.25rem;padding-right:.25rem}ax-button.ax-sm>button{padding-left:.5rem;padding-right:.5rem}ax-button.ax-sm,ax-button.ax-md{font-size:.875rem;line-height:1.25rem}ax-button.ax-lg{font-size:1rem;line-height:1.25rem}ax-button.ax-lg>button{padding-left:1.5rem;padding-right:1.5rem}ax-button.ax-xl{font-size:1.125rem;line-height:1.75rem}ax-button.ax-xl>button{padding-left:2rem;padding-right:2rem}ax-button.ax-xl.ax-button-icon{font-size:1.5rem}ax-button.ax-xs.ax-button-icon,ax-button.ax-sm.ax-button-icon{font-size:1rem}ax-button.ax-button-icon{height:var(--ax-size-default);width:var(--ax-size-default);font-size:1.25rem}ax-button.ax-state-disabled,ax-button.ax-state-loading{opacity:.5}ax-button.ax-state-disabled>button,ax-button.ax-state-loading>button{cursor:not-allowed}ax-button>button{position:relative;display:inline-flex;height:100%;width:100%;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--ax-rounded-border-default);padding-left:1rem;padding-right:1rem;outline-color:transparent}ax-button>button.ax-state-focus:focus,ax-button>button:focus-visible{outline-width:2px;outline-offset:2px;outline-color:#000;border-radius:inherit}ax-button>button .ax-button-text{white-space:nowrap;padding-left:.5rem;padding-right:.5rem;font-weight:500;line-height:1}ax-button ax-button-item.ax-divided{border-bottom-width:1px!important;border-color:rgba(var(--ax-color-border-default))!important}\n"] }]
306
306
  }], propDecorators: { type: [{
307
307
  type: Input
308
308
  }], __hostClass: [{
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-button.mjs","sources":["../../../../libs/components/button/src/lib/button-item.component.ts","../../../../libs/components/button/src/lib/button-item-list.component.ts","../../../../libs/components/button/src/lib/button.component.ts","../../../../libs/components/button/src/lib/button.component.html","../../../../libs/components/button/src/lib/button.module.ts","../../../../libs/components/button/src/acorex-components-button.ts"],"sourcesContent":["import {\n AXClickEvent,\n AXStyleColorType,\n MXColorComponent,\n MXInteractiveComponent,\n} from '@acorex/components/common';\n\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { classes } from 'polytype';\n\nexport interface AXButtonItemListItem {\n name: string;\n text: string;\n icon: string;\n divided?: boolean;\n disabled?: boolean;\n color?: AXStyleColorType;\n}\n\n@Component({\n selector: 'ax-button-item',\n template: `\n <ng-content select=\"ax-prefix\"> </ng-content>\n <ng-content select=\"ax-loading\"> </ng-content>\n <ng-content select=\"ax-icon\"> </ng-content>\n @if (text) {\n <span class=\"ax-button-item-text\">{{ text }}</span>\n }\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-content select=\"ax-dropdown-panel\"> </ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['color', 'disabled'],\n outputs: ['onClick', 'onFocus', 'onBlur', 'disabledChange'],\n})\nexport class AXButtonItemComponent extends classes(\n MXInteractiveComponent,\n MXColorComponent\n) {\n @Input()\n text: string;\n\n private _selected: boolean;\n @Input()\n public get selected(): boolean {\n return this._selected;\n }\n public set selected(v: boolean) {\n this._selected = v;\n this.cdr.markForCheck();\n }\n\n @Input()\n divided = false;\n\n @Input()\n data: unknown;\n\n @Input()\n name: string;\n\n @Output()\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n @HostListener('click', ['$event'])\n private __hostClick(e: MouseEvent) {\n if (!this.disabled) {\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n }\n }\n\n @HostListener('focus', ['$event'])\n private __hostFocus(e: FocusEvent) {\n this.emitOnFocusEvent(e);\n }\n\n @HostListener('blur', ['$event'])\n private __hostBlur(e: FocusEvent) {\n this.emitOnBlurEvent(e);\n }\n\n @HostBinding('class')\n private get __hostClass(): string {\n const cssClasses = {\n 'ax-button-icon': !this.text,\n 'ax-state-disabled': this.disabled,\n 'ax-state-selected': this.selected,\n 'ax-divided': this.divided,\n };\n cssClasses[`ax-${this.color || 'primary'}-default`] = true;\n return Object.entries(cssClasses)\n .filter((c) => c[1])\n .map((c) => c[0])\n .join(' ');\n }\n\n @HostBinding('attr.tabindex') tabindex = '0';\n}\n","import {\n AXClickEvent,\n AXClosbaleComponent,\n AXItemClickEvent,\n MXInteractiveComponent,\n} from '@acorex/components/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n EventEmitter,\n Inject,\n Input,\n Optional,\n Output,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n AXButtonItemComponent,\n AXButtonItemListItem,\n} from './button-item.component';\n\n@Component({\n selector: 'ax-button-item-list',\n template: `\n @for (item of items; track item.name) {\n <ax-button-item\n [text]=\"item.text\"\n [name]=\"item.name\"\n [disabled]=\"item.disabled\"\n [color]=\"item.color\"\n (onClick)=\"_handleOnItemClick($event)\"\n >\n @if (item.icon) {\n <ax-prefix>\n <ax-icon [icon]=\"item.icon\"></ax-icon>\n </ax-prefix>\n }\n </ax-button-item>\n @if (item.divided) {\n <ax-divider></ax-divider>\n } }\n <ng-content\n select=\"ax-button-item, ax-title, ax-divider, ng-container\"\n ></ng-content>\n `,\n styleUrls: ['./button-item-list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXButtonItemListComponent\n extends MXInteractiveComponent\n implements AfterContentInit\n{\n @ContentChildren(AXButtonItemComponent)\n protected _contentButtons: QueryList<AXButtonItemComponent>;\n\n @Input()\n items: AXButtonItemListItem[] = [];\n\n @Output()\n onItemClick: EventEmitter<AXItemClickEvent<AXButtonItemComponent>> =\n new EventEmitter<AXItemClickEvent<AXButtonItemComponent>>();\n\n constructor(\n @Optional()\n @Inject(AXClosbaleComponent)\n private parent?: AXClosbaleComponent\n ) {\n super();\n }\n\n ngAfterContentInit() {\n this._initContents();\n this._contentButtons.changes.subscribe(() => {\n this._initContents();\n });\n }\n\n private _initContents() {\n this._bindEvents();\n this._bindProps();\n this.cdr.markForCheck();\n }\n\n private _bindEvents() {\n this._contentButtons?.forEach((b) => {\n if (!b.onClick.length)\n b.onClick.subscribe((c) => {\n this._handleOnItemClick(c);\n });\n });\n }\n\n private _bindProps() {\n this._contentButtons?.forEach((b) => {\n b.disabled = b.disabled ?? this.disabled;\n });\n }\n\n protected _handleOnItemClick(e: AXClickEvent) {\n this.parent?.close();\n this._emitOnItemClickEvent(e, e.component);\n }\n\n _emitOnItemClickEvent(e: AXClickEvent, item: AXButtonItemComponent): void {\n this.onItemClick.emit({\n component: this,\n item,\n htmlElement: this.getHostElement(),\n nativeEvent: e.nativeEvent,\n name: item.name,\n data: item.data,\n });\n }\n}\n","import {\n AXClickEvent,\n AXComponent,\n AXFocusableComponent,\n MXButtonBaseComponent,\n} from '@acorex/components/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXButtonType } from './button-item.class';\nimport { AXButtonItemComponent } from './button-item.component';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n inputs: [\n 'disabled',\n 'size',\n 'tabIndex',\n 'color',\n 'look',\n 'text',\n 'toggleable',\n 'selected',\n ],\n outputs: [\n 'onBlur',\n 'onFocus',\n 'onClick',\n 'selectedChange',\n 'toggleableChange',\n 'lookChange',\n 'colorChange',\n 'disabledChange',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: AXComponent, useExisting: AXButtonComponent },\n { provide: AXButtonItemComponent, useExisting: AXButtonComponent },\n { provide: AXFocusableComponent, useExisting: AXButtonComponent },\n ],\n})\nexport class AXButtonComponent\n extends MXButtonBaseComponent\n implements AfterViewInit\n{\n /**\n * Fires each time the user clicks the button.\n * @event\n */\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n @Input()\n type: AXButtonType = 'button';\n\n ngAfterViewInit(): void {\n this.getHostElement().removeAttribute('tabindex');\n }\n\n private getButton(): HTMLButtonElement {\n return this.getHostElement().firstElementChild as HTMLButtonElement;\n }\n\n _handleClick(e: MouseEvent) {\n if (this.disabled) {\n e.preventDefault();\n return;\n }\n if (this.toggleable) {\n this.selected = !this.selected;\n }\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n\n // TODO: check keyboard event\n setTimeout(() => {\n this.blur();\n });\n }\n\n click() {\n this.getButton()?.click();\n }\n\n @HostBinding('class')\n private get __hostClass(): string[] {\n return Object.entries(this.cssClasses)\n .filter((c) => c[1])\n .map((c) => c[0]);\n }\n\n override focus() {\n this.getButton()?.focus();\n this.getButton().classList.add('ax-state-focus');\n }\n override blur() {\n this.getButton().classList.remove('ax-state-focus');\n }\n}\n","<button [axRipple] [disabled]=\"disabled\" [attr.tabindex]=\"tabIndex\" (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\" (click)=\"_handleClick($event)\" [attr.type]=\"type\">\n <ng-content select=\"ax-prefix, ax-loading, ax-loading-spinner, ax-icon\"> </ng-content>\n <ng-content select=\"ax-content\"> </ng-content>\n\n @if(text){\n <span class=\"ax-button-text\">{{ text }}</span>\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-content select=\"ax-dropdown-panel\"> </ng-content>\n <ng-content select=\".tab-content\"> </ng-content>\n</button>","import { AXCommonModule, AXRippleDirective } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXButtonItemListComponent } from './button-item-list.component';\nimport { AXButtonItemComponent } from './button-item.component';\nimport { AXButtonComponent } from './button.component';\n\nconst COMPONENT = [\n AXButtonComponent,\n AXButtonItemComponent,\n AXButtonItemListComponent,\n];\nconst MODULES = [\n CommonModule,\n AXCommonModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXRippleDirective,\n];\n\n@NgModule({\n imports: [MODULES],\n exports: [...COMPONENT],\n declarations: [...COMPONENT],\n providers: [],\n})\nexport class AXButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.AXButtonItemComponent","i1"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-button.mjs","sources":["../../../../libs/components/button/src/lib/button-item.component.ts","../../../../libs/components/button/src/lib/button-item-list.component.ts","../../../../libs/components/button/src/lib/button.component.ts","../../../../libs/components/button/src/lib/button.component.html","../../../../libs/components/button/src/lib/button.module.ts","../../../../libs/components/button/src/acorex-components-button.ts"],"sourcesContent":["import {\n AXClickEvent,\n AXStyleColorType,\n MXColorComponent,\n MXInteractiveComponent,\n} from '@acorex/components/common';\n\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { classes } from 'polytype';\n\nexport interface AXButtonItemListItem {\n name: string;\n text: string;\n icon: string;\n divided?: boolean;\n disabled?: boolean;\n color?: AXStyleColorType;\n}\n\n@Component({\n selector: 'ax-button-item',\n template: `\n <ng-content select=\"ax-prefix\"> </ng-content>\n <ng-content select=\"ax-loading\"> </ng-content>\n <ng-content select=\"ax-icon\"> </ng-content>\n @if (text) {\n <span class=\"ax-button-item-text\">{{ text }}</span>\n }\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-content select=\"ax-dropdown-panel\"> </ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['color', 'disabled'],\n outputs: ['onClick', 'onFocus', 'onBlur', 'disabledChange'],\n})\nexport class AXButtonItemComponent extends classes(\n MXInteractiveComponent,\n MXColorComponent\n) {\n @Input()\n text: string;\n\n private _selected: boolean;\n @Input()\n public get selected(): boolean {\n return this._selected;\n }\n public set selected(v: boolean) {\n this._selected = v;\n this.cdr.markForCheck();\n }\n\n @Input()\n divided = false;\n\n @Input()\n data: unknown;\n\n @Input()\n name: string;\n\n @Output()\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n @HostListener('click', ['$event'])\n private __hostClick(e: MouseEvent) {\n if (!this.disabled) {\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n }\n }\n\n @HostListener('focus', ['$event'])\n private __hostFocus(e: FocusEvent) {\n this.emitOnFocusEvent(e);\n }\n\n @HostListener('blur', ['$event'])\n private __hostBlur(e: FocusEvent) {\n this.emitOnBlurEvent(e);\n }\n\n @HostBinding('class')\n private get __hostClass(): string {\n const cssClasses = {\n 'ax-button-icon': !this.text,\n 'ax-state-disabled': this.disabled,\n 'ax-state-selected': this.selected,\n 'ax-divided': this.divided,\n };\n cssClasses[`ax-${this.color || 'primary'}-default`] = true;\n return Object.entries(cssClasses)\n .filter((c) => c[1])\n .map((c) => c[0])\n .join(' ');\n }\n\n @HostBinding('attr.tabindex') tabindex = '0';\n}\n","import {\n AXClickEvent,\n AXClosbaleComponent,\n AXItemClickEvent,\n MXInteractiveComponent,\n} from '@acorex/components/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n EventEmitter,\n Inject,\n Input,\n Optional,\n Output,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n AXButtonItemComponent,\n AXButtonItemListItem,\n} from './button-item.component';\n\n@Component({\n selector: 'ax-button-item-list',\n template: `\n @for (item of items; track item.name) {\n <ax-button-item\n [text]=\"item.text\"\n [name]=\"item.name\"\n [disabled]=\"item.disabled\"\n [color]=\"item.color\"\n (onClick)=\"_handleOnItemClick($event)\"\n >\n @if (item.icon) {\n <ax-prefix>\n <ax-icon [icon]=\"item.icon\"></ax-icon>\n </ax-prefix>\n }\n </ax-button-item>\n @if (item.divided) {\n <ax-divider></ax-divider>\n } }\n <ng-content\n select=\"ax-button-item, ax-title, ax-divider, ng-container\"\n ></ng-content>\n `,\n styleUrls: ['./button-item-list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXButtonItemListComponent\n extends MXInteractiveComponent\n implements AfterContentInit\n{\n @ContentChildren(AXButtonItemComponent)\n protected _contentButtons: QueryList<AXButtonItemComponent>;\n\n @Input()\n items: AXButtonItemListItem[] = [];\n\n @Output()\n onItemClick: EventEmitter<AXItemClickEvent<AXButtonItemComponent>> =\n new EventEmitter<AXItemClickEvent<AXButtonItemComponent>>();\n\n constructor(\n @Optional()\n @Inject(AXClosbaleComponent)\n private parent?: AXClosbaleComponent\n ) {\n super();\n }\n\n ngAfterContentInit() {\n this._initContents();\n this._contentButtons.changes.subscribe(() => {\n this._initContents();\n });\n }\n\n private _initContents() {\n this._bindEvents();\n this._bindProps();\n this.cdr.markForCheck();\n }\n\n private _bindEvents() {\n this._contentButtons?.forEach((b) => {\n if (!b.onClick.length)\n b.onClick.subscribe((c) => {\n this._handleOnItemClick(c);\n });\n });\n }\n\n private _bindProps() {\n this._contentButtons?.forEach((b) => {\n b.disabled = b.disabled ?? this.disabled;\n });\n }\n\n protected _handleOnItemClick(e: AXClickEvent) {\n this.parent?.close();\n this._emitOnItemClickEvent(e, e.component);\n }\n\n _emitOnItemClickEvent(e: AXClickEvent, item: AXButtonItemComponent): void {\n this.onItemClick.emit({\n component: this,\n item,\n htmlElement: this.getHostElement(),\n nativeEvent: e.nativeEvent,\n name: item.name,\n data: item.data,\n });\n }\n}\n","import {\n AXClickEvent,\n AXComponent,\n AXFocusableComponent,\n MXButtonBaseComponent,\n} from '@acorex/components/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXButtonType } from './button-item.class';\nimport { AXButtonItemComponent } from './button-item.component';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n inputs: [\n 'disabled',\n 'size',\n 'tabIndex',\n 'color',\n 'look',\n 'text',\n 'toggleable',\n 'selected',\n ],\n outputs: [\n 'onBlur',\n 'onFocus',\n 'onClick',\n 'selectedChange',\n 'toggleableChange',\n 'lookChange',\n 'colorChange',\n 'disabledChange',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: AXComponent, useExisting: AXButtonComponent },\n { provide: AXButtonItemComponent, useExisting: AXButtonComponent },\n { provide: AXFocusableComponent, useExisting: AXButtonComponent },\n ],\n})\nexport class AXButtonComponent\n extends MXButtonBaseComponent\n implements AfterViewInit\n{\n /**\n * Fires each time the user clicks the button.\n * @event\n */\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n @Input()\n type: AXButtonType = 'button';\n\n ngAfterViewInit(): void {\n this.getHostElement().removeAttribute('tabindex');\n }\n\n private getButton(): HTMLButtonElement {\n return this.getHostElement().firstElementChild as HTMLButtonElement;\n }\n\n _handleClick(e: MouseEvent) {\n if (this.disabled) {\n e.preventDefault();\n return;\n }\n if (this.toggleable) {\n this.selected = !this.selected;\n }\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n\n // TODO: check keyboard event\n setTimeout(() => {\n this.blur();\n });\n }\n\n click() {\n this.getButton()?.click();\n }\n\n @HostBinding('class')\n private get __hostClass(): string[] {\n return Object.entries(this.cssClasses)\n .filter((c) => c[1])\n .map((c) => c[0]);\n }\n\n override focus() {\n this.getButton()?.focus();\n this.getButton().classList.add('ax-state-focus');\n }\n override blur() {\n this.getButton().classList.remove('ax-state-focus');\n }\n}\n","<button [axRipple] [disabled]=\"disabled\" [attr.tabindex]=\"tabIndex\" (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\" (click)=\"_handleClick($event)\" [attr.type]=\"type\">\n <ng-content select=\"ax-prefix, ax-loading, ax-loading-spinner, ax-icon\"> </ng-content>\n <ng-content select=\"ax-content\"> </ng-content>\n\n @if(text){\n <span class=\"ax-button-text\">{{ text }}</span>\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-content select=\"ax-dropdown-panel\"> </ng-content>\n <ng-content select=\".tab-content\"> </ng-content>\n</button>","import { AXCommonModule, AXRippleDirective } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXButtonItemListComponent } from './button-item-list.component';\nimport { AXButtonItemComponent } from './button-item.component';\nimport { AXButtonComponent } from './button.component';\n\nconst COMPONENT = [\n AXButtonComponent,\n AXButtonItemComponent,\n AXButtonItemListComponent,\n];\nconst MODULES = [\n CommonModule,\n AXCommonModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXRippleDirective,\n];\n\n@NgModule({\n imports: [MODULES],\n exports: [...COMPONENT],\n declarations: [...COMPONENT],\n providers: [],\n})\nexport class AXButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.AXButtonItemComponent","i1"],"mappings":"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"}
@@ -420,6 +420,7 @@ class AXDataSource {
420
420
  return this._isLoading;
421
421
  }
422
422
  constructor(config) {
423
+ this.useCache = true;
423
424
  this._totalCount = 0;
424
425
  this._items = [];
425
426
  this.fetchedPages = new Set();
@@ -435,11 +436,12 @@ class AXDataSource {
435
436
  }
436
437
  load() {
437
438
  const page = this._page;
438
- if (this.fetchedPages.has(page)) {
439
+ if (this.fetchedPages.has(page) && this.useCache) {
439
440
  return;
440
441
  }
441
442
  this.setLoadingState(true);
442
443
  this.fetchedPages.add(page);
444
+ this._query.take = this.config.pageSize;
443
445
  this._query.skip = page * this.config.pageSize;
444
446
  this.config
445
447
  .load({ ...this._query })
@@ -473,6 +475,10 @@ class AXDataSource {
473
475
  this.load();
474
476
  }
475
477
  }
478
+ setPageSize(pageSize) {
479
+ this.config.pageSize = pageSize;
480
+ this.load();
481
+ }
476
482
  filter(value) {
477
483
  this._query.filter = value;
478
484
  }
@@ -1600,7 +1606,7 @@ class MXSelectionValueComponent extends MXValueComponent {
1600
1606
  }
1601
1607
  getDisplayText(item) {
1602
1608
  const normalizeItem = this.normalizeItem(item);
1603
- return normalizeItem[this.textField] || 'Loading...';
1609
+ return normalizeItem[this.textField] || normalizeItem[this.valueField];
1604
1610
  }
1605
1611
  getValue(item) {
1606
1612
  const normalizeItem = this.normalizeItem(item);