@polygrid/angular 0.0.694 → 0.0.696

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.
@@ -665,6 +665,11 @@ function collectProjectedColumns(projectedColumns) {
665
665
  cellEditor: projCol.cellEditor() ?? projCol.cellEditorFromTemplate,
666
666
  filterable: projCol.filterable(),
667
667
  isNonData: projCol.isNonData(),
668
+ align: projCol.align(),
669
+ numberFormatOptions: projCol.numberFormatOptions(),
670
+ dateFormatOptions: projCol.dateFormatOptions(),
671
+ booleanFormatOptions: projCol.booleanFormatOptions(),
672
+ formatter: projCol.formatter(),
668
673
  };
669
674
  columns.push(col);
670
675
  }
@@ -1038,6 +1043,11 @@ class PolyGridColumnComponent {
1038
1043
  cellEditor = input(...(ngDevMode ? [undefined, { debugName: "cellEditor" }] : []));
1039
1044
  filterable = input(true, ...(ngDevMode ? [{ debugName: "filterable" }] : []));
1040
1045
  isNonData = input(false, ...(ngDevMode ? [{ debugName: "isNonData" }] : []));
1046
+ align = input(...(ngDevMode ? [undefined, { debugName: "align" }] : []));
1047
+ numberFormatOptions = input(...(ngDevMode ? [undefined, { debugName: "numberFormatOptions" }] : []));
1048
+ dateFormatOptions = input(...(ngDevMode ? [undefined, { debugName: "dateFormatOptions" }] : []));
1049
+ booleanFormatOptions = input(...(ngDevMode ? [undefined, { debugName: "booleanFormatOptions" }] : []));
1050
+ formatter = input(...(ngDevMode ? [undefined, { debugName: "formatter" }] : []));
1041
1051
  toggleVisibilityEffect;
1042
1052
  headerTemplateDir;
1043
1053
  footerTemplateDir;
@@ -1075,7 +1085,7 @@ class PolyGridColumnComponent {
1075
1085
  }
1076
1086
  }
1077
1087
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: PolyGridColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1078
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.6", type: PolyGridColumnComponent, isStandalone: true, selector: "pg-column", inputs: { header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: true, transformFunction: null }, field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, visible: { classPropertyName: "visible", publicName: "visible", isSignal: true, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null }, sortable: { classPropertyName: "sortable", publicName: "sortable", isSignal: true, isRequired: false, transformFunction: null }, filterEditor: { classPropertyName: "filterEditor", publicName: "filterEditor", isSignal: true, isRequired: false, transformFunction: null }, pinned: { classPropertyName: "pinned", publicName: "pinned", isSignal: true, isRequired: false, transformFunction: null }, columnMenu: { classPropertyName: "columnMenu", publicName: "columnMenu", isSignal: true, isRequired: false, transformFunction: null }, cellEditor: { classPropertyName: "cellEditor", publicName: "cellEditor", isSignal: true, isRequired: false, transformFunction: null }, filterable: { classPropertyName: "filterable", publicName: "filterable", isSignal: true, isRequired: false, transformFunction: null }, isNonData: { classPropertyName: "isNonData", publicName: "isNonData", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "headerTemplateDir", first: true, predicate: PolyGridColumnHeaderTemplateDirective, descendants: true }, { propertyName: "footerTemplateDir", first: true, predicate: PolyGridColumnFooterTemplateDirective, descendants: true }, { propertyName: "cellTemplateDir", first: true, predicate: PolyGridColumnCellTemplateDirective, descendants: true }, { propertyName: "filterCellTemplateDir", first: true, predicate: PolyGridFilterCellTemplateDirective, descendants: true }, { propertyName: "groupHeaderCellTemplateDir", first: true, predicate: PolyGridGroupHeaderCellTemplateDirective, descendants: true }, { propertyName: "groupFooterCellTemplateDir", first: true, predicate: PolyGridGroupFooterCellTemplateDirective, descendants: true }, { propertyName: "editorCellTemplateDir", first: true, predicate: PolyGridEditorCellTemplateDirective, descendants: true }], ngImport: i0, template: "", isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1088
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.6", type: PolyGridColumnComponent, isStandalone: true, selector: "pg-column", inputs: { header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: true, transformFunction: null }, field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, visible: { classPropertyName: "visible", publicName: "visible", isSignal: true, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null }, sortable: { classPropertyName: "sortable", publicName: "sortable", isSignal: true, isRequired: false, transformFunction: null }, filterEditor: { classPropertyName: "filterEditor", publicName: "filterEditor", isSignal: true, isRequired: false, transformFunction: null }, pinned: { classPropertyName: "pinned", publicName: "pinned", isSignal: true, isRequired: false, transformFunction: null }, columnMenu: { classPropertyName: "columnMenu", publicName: "columnMenu", isSignal: true, isRequired: false, transformFunction: null }, cellEditor: { classPropertyName: "cellEditor", publicName: "cellEditor", isSignal: true, isRequired: false, transformFunction: null }, filterable: { classPropertyName: "filterable", publicName: "filterable", isSignal: true, isRequired: false, transformFunction: null }, isNonData: { classPropertyName: "isNonData", publicName: "isNonData", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, numberFormatOptions: { classPropertyName: "numberFormatOptions", publicName: "numberFormatOptions", isSignal: true, isRequired: false, transformFunction: null }, dateFormatOptions: { classPropertyName: "dateFormatOptions", publicName: "dateFormatOptions", isSignal: true, isRequired: false, transformFunction: null }, booleanFormatOptions: { classPropertyName: "booleanFormatOptions", publicName: "booleanFormatOptions", isSignal: true, isRequired: false, transformFunction: null }, formatter: { classPropertyName: "formatter", publicName: "formatter", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "headerTemplateDir", first: true, predicate: PolyGridColumnHeaderTemplateDirective, descendants: true }, { propertyName: "footerTemplateDir", first: true, predicate: PolyGridColumnFooterTemplateDirective, descendants: true }, { propertyName: "cellTemplateDir", first: true, predicate: PolyGridColumnCellTemplateDirective, descendants: true }, { propertyName: "filterCellTemplateDir", first: true, predicate: PolyGridFilterCellTemplateDirective, descendants: true }, { propertyName: "groupHeaderCellTemplateDir", first: true, predicate: PolyGridGroupHeaderCellTemplateDirective, descendants: true }, { propertyName: "groupFooterCellTemplateDir", first: true, predicate: PolyGridGroupFooterCellTemplateDirective, descendants: true }, { propertyName: "editorCellTemplateDir", first: true, predicate: PolyGridEditorCellTemplateDirective, descendants: true }], ngImport: i0, template: "", isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1079
1089
  }
1080
1090
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: PolyGridColumnComponent, decorators: [{
1081
1091
  type: Component,
@@ -1085,7 +1095,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImpor
1085
1095
  template: "",
1086
1096
  changeDetection: ChangeDetectionStrategy.OnPush,
1087
1097
  }]
1088
- }], propDecorators: { header: [{ type: i0.Input, args: [{ isSignal: true, alias: "header", required: true }] }], field: [{ type: i0.Input, args: [{ isSignal: true, alias: "field", required: true }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], visible: [{ type: i0.Input, args: [{ isSignal: true, alias: "visible", required: false }] }], minWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "minWidth", required: false }] }], maxWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxWidth", required: false }] }], sortable: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortable", required: false }] }], filterEditor: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterEditor", required: false }] }], pinned: [{ type: i0.Input, args: [{ isSignal: true, alias: "pinned", required: false }] }], columnMenu: [{ type: i0.Input, args: [{ isSignal: true, alias: "columnMenu", required: false }] }], cellEditor: [{ type: i0.Input, args: [{ isSignal: true, alias: "cellEditor", required: false }] }], filterable: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterable", required: false }] }], isNonData: [{ type: i0.Input, args: [{ isSignal: true, alias: "isNonData", required: false }] }], headerTemplateDir: [{
1098
+ }], propDecorators: { header: [{ type: i0.Input, args: [{ isSignal: true, alias: "header", required: true }] }], field: [{ type: i0.Input, args: [{ isSignal: true, alias: "field", required: true }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], visible: [{ type: i0.Input, args: [{ isSignal: true, alias: "visible", required: false }] }], minWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "minWidth", required: false }] }], maxWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxWidth", required: false }] }], sortable: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortable", required: false }] }], filterEditor: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterEditor", required: false }] }], pinned: [{ type: i0.Input, args: [{ isSignal: true, alias: "pinned", required: false }] }], columnMenu: [{ type: i0.Input, args: [{ isSignal: true, alias: "columnMenu", required: false }] }], cellEditor: [{ type: i0.Input, args: [{ isSignal: true, alias: "cellEditor", required: false }] }], filterable: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterable", required: false }] }], isNonData: [{ type: i0.Input, args: [{ isSignal: true, alias: "isNonData", required: false }] }], align: [{ type: i0.Input, args: [{ isSignal: true, alias: "align", required: false }] }], numberFormatOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "numberFormatOptions", required: false }] }], dateFormatOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "dateFormatOptions", required: false }] }], booleanFormatOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "booleanFormatOptions", required: false }] }], formatter: [{ type: i0.Input, args: [{ isSignal: true, alias: "formatter", required: false }] }], headerTemplateDir: [{
1089
1099
  type: ContentChild,
1090
1100
  args: [PolyGridColumnHeaderTemplateDirective]
1091
1101
  }], footerTemplateDir: [{
@@ -1 +1 @@
1
- {"version":3,"file":"polygrid-angular.mjs","sources":["../../src/lib/effects/skip-first.ts","../../src/lib/effects/grid-id.ts","../../src/lib/effects/data.ts","../../src/lib/effects/column.ts","../../src/lib/effects/loading.ts","../../src/lib/effects/resizable.ts","../../src/lib/effects/resize-mode.ts","../../src/lib/effects/toggle-visibility.ts","../../src/lib/effects/enable-animations.ts","../../src/lib/effects/filterable.ts","../../src/lib/effects/sort-settings.ts","../../src/lib/effects/show-footer.ts","../../src/lib/effects/locale.ts","../../src/lib/effects/groupable.ts","../../src/lib/effects/animation-options.ts","../../src/lib/effects/pageable.ts","../../src/lib/effects/selectable.ts","../../src/lib/effects/show-statusbar.ts","../../src/lib/effects/column-menu.ts","../../src/lib/effects/allow-column-reorder.ts","../../src/lib/effects/show-toolbar.ts","../../src/lib/effects/toolbar-renderer.ts","../../src/lib/effects/editable.ts","../../src/lib/effects/editing-events.ts","../../src/lib/effects/schema.ts","../../src/lib/effects/row-editing-events.ts","../../src/lib/effects/row-events.ts","../../src/lib/effects/new-row-events.ts","../../src/lib/directives/no-data-template.ts","../../src/lib/directives/loading-template.ts","../../src/lib/directives/group-column-template.ts","../../src/lib/directives/group-header-template.ts","../../src/lib/services/templates/template-mount.ts","../../src/lib/services/renderer-adapter/no-data.ts","../../src/lib/services/renderer-adapter/loading.ts","../../src/lib/services/renderer-adapter/error.ts","../../src/lib/services/renderer-adapter/column-header.ts","../../src/lib/services/renderer-adapter/column-footer.ts","../../src/lib/services/renderer-adapter/column-cell.ts","../../src/lib/services/renderer-adapter/group-column.ts","../../src/lib/services/renderer-adapter/group-header-cell.ts","../../src/lib/services/renderer-adapter/group-header.ts","../../src/lib/services/renderer-adapter/group-footer-cell.ts","../../src/lib/services/renderer-adapter/statusbar.ts","../../src/lib/services/renderer-adapter/toolbar.ts","../../src/lib/services/renderer-adapter/renderer-adapter-factory.ts","../../src/lib/services/template-collector/extract-no-data.ts","../../src/lib/services/template-collector/extract-loading.ts","../../src/lib/services/template-collector/extract-error.ts","../../src/lib/services/template-collector/extract-group-column.ts","../../src/lib/services/template-collector/extract-group-header.ts","../../src/lib/services/template-collector/extract-statusbar.ts","../../src/lib/services/template-collector/extract-toolbar.ts","../../src/lib/services/template-collector/template-collector.ts","../../src/lib/directives/error-template.ts","../../src/lib/services/column/methods/collect-projected-columns.ts","../../src/lib/services/column/column.ts","../../src/lib/directives/column-header-template.ts","../../src/lib/directives/column-footer-template.ts","../../src/lib/directives/column-cell-template.ts","../../src/lib/directives/filter-cell-template.ts","../../src/lib/directives/group-header-cell-template.ts","../../src/lib/directives/group-footer-cell-template.ts","../../src/lib/directives/editor-cell-template.ts","../../src/lib/services/renderer-adapter/filter-editor-wrapper.ts","../../src/lib/services/renderer-adapter/filter-editor-factory.ts","../../src/lib/services/renderer-adapter/cell-editor-wrapper.ts","../../src/lib/services/renderer-adapter/cell-editor-factory.ts","../../src/lib/components/column/poly-grid-column.ts","../../src/lib/directives/statusbar-template.ts","../../src/lib/directives/toolbar-template.ts","../../src/lib/components/grid/poly-grid.ts","../../src/lib/components/grid/poly-grid.html","../../src/lib/components/spacer/spacer.ts","../../src/lib/modules/poly-grid.ts","../../src/polygrid-angular.ts"],"sourcesContent":["import { effect, EffectRef } from \"@angular/core\";\r\n\r\nexport function effectSkipFirst(fn: (isInitial: boolean) => void): EffectRef {\r\n let first = true;\r\n return effect(() => {\r\n // Always execute fn, so it reads signals and establishes tracking\r\n fn(first);\r\n first = false;\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function gridIdInputEffect(\r\n value: Signal<string>,\r\n grid: PolyGrid\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const id = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setGridId(id);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function dataInputEffect(\r\n value: Signal<any[]>,\r\n grid: PolyGrid\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const data = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setData(data);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { PolyGridColumn } from \"@polygrid/core/engine/services/column/interfaces/column\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function columnInputEffect(\r\n value: Signal<PolyGridColumn[]>,\r\n grid: PolyGrid\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const columns = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setColumns(columns);\r\n });\r\n}\r\n","import { effect, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\n\r\nexport function loadingInputEffect(value: Signal<boolean>, grid: PolyGrid) {\r\n return effect(() => {\r\n grid.api.setLoading(value());\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function resizableInputEffect(\r\n value: Signal<boolean>,\r\n grid: PolyGrid\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const resizable = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setResizable(resizable);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\nimport { PolyGridResizeMode } from \"@polygrid/core/engine/store/types/resize-mode\";\r\n\r\nexport function resizeModeInputEffect(\r\n value: Signal<PolyGridResizeMode>,\r\n grid: PolyGrid\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const resizeMode = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setResizeMode(resizeMode);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\nimport { ColumnService } from \"../services/column/column\";\r\n\r\nexport function toggleVisibilityInputEffect(\r\n key: string,\r\n value: Signal<boolean>,\r\n columnService: ColumnService,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const visible = value();\r\n\r\n if (isInitial) return;\r\n\r\n const grid = columnService.grid();\r\n if (!grid) return;\r\n\r\n const { enableAnimations } = grid._store.getState().view;\r\n\r\n if (enableAnimations) {\r\n visible\r\n ? grid.api.showColumnAnimated(key)\r\n : grid.api.hideColumnAnimated(key);\r\n } else {\r\n grid.api.setColumnVisible(key, visible);\r\n }\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function enableAnimationsInputEffect(\r\n value: Signal<boolean>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const enableAnimations = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setEnableAnimations(enableAnimations);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\nimport { PolyGridFilterType } from \"@polygrid/core/engine/services/filter/types/filter-type\";\r\n\r\nexport function filterableInputEffect(\r\n value: Signal<PolyGridFilterType>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const filterable = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setFilterable(filterable);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\nimport { PolyGridSortSettings } from \"@polygrid/core/engine/services/sort/interfaces/grid-sorting-settings\";\r\n\r\nexport function sortSettingsInputEffect(\r\n value: Signal<PolyGridSortSettings>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const sortSettings = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setSortSettings(sortSettings);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function showFooterInputEffect(\r\n value: Signal<boolean>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const showFooter = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setShowFooter(showFooter);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function localeInputEffect(\r\n value: Signal<string>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const locale = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setLocale(locale);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\nimport { PolyGridGroupingSettings } from \"@polygrid/core/engine/services/grouping/interfaces/grouping-settings\";\r\n\r\nexport function groupableInputEffect(\r\n value: Signal<boolean | PolyGridGroupingSettings>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const groupable = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setGroupable(groupable);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\nimport { PolyGridAnimationOptions } from \"@polygrid/core/engine/services/animation/interfaces/animation-options\";\r\n\r\nexport function animationOptionsInputEffect(\r\n value: Signal<PolyGridAnimationOptions>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const animOptions = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setAnimationOptions(animOptions);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function pageableInputEffect(\r\n value: Signal<boolean>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const pageable = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setPageable(pageable);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\nimport { PolyGridSelectionSettings } from \"@polygrid/core/engine/services/selection/interfaces/selection-settings\";\r\n\r\nexport function selectableInputEffect(\r\n value: Signal<boolean | PolyGridSelectionSettings>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const selectable = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setSelectable(selectable);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function showStatusBarInputEffect(\r\n value: Signal<boolean>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const showStatusBar = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setShowStatusBar(showStatusBar);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\nimport { PolyGridColumnMenuSettings } from \"@polygrid/core/engine/services/column/interfaces/column-menu-settings\";\r\n\r\nexport function columnMenuInputEffect(\r\n value: Signal<boolean | PolyGridColumnMenuSettings>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const columnMenu = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setColumnMenu(columnMenu);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\nimport { PolyGridColumnReorderSettings } from \"@polygrid/core/engine/services/column/interfaces/column-reorder-settings\";\r\n\r\nexport function allowColumnReorderInputEffect(\r\n value: Signal<boolean | PolyGridColumnReorderSettings>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const allowColumnReorder = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setAllowColumnReorder(allowColumnReorder);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function showToolBarInputEffect(\r\n value: Signal<boolean>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const showToolBar = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setShowToolBar(showToolBar);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function toolBarRendererInputEffect(\r\n value: Signal<(() => HTMLElement | string) | null>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const toolBarRenderer = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setToolBarRenderer(toolBarRenderer);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\nimport { PolyGridEditingSettings } from \"@polygrid/core/engine/services/edit/interfaces/editing-settings\";\r\n\r\nexport function editableInputEffect(\r\n value: Signal<boolean | PolyGridEditingSettings>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const editable = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setEditable(editable);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\nimport { PolyGridEditingEvents } from \"@polygrid/core/engine/services/edit/interfaces/editing-events\";\r\n\r\nexport function editingEventsInputEffect(\r\n value: Signal<PolyGridEditingEvents>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const editingEvents = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setEditingEvents(editingEvents);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\nimport { PolyGridSchema } from \"@polygrid/core/engine/services/schema/interfaces/grid-schema\";\r\n\r\nexport function schemaInputEffect(\r\n value: Signal<PolyGridSchema>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const schema = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setSchema(schema);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\nimport { PolyGridRowEditingEvents } from \"@polygrid/core/engine/services/edit/interfaces/row-editing-events\";\r\n\r\nexport function rowEditingEventsInputEffect(\r\n value: Signal<PolyGridRowEditingEvents>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const rowEditingEvents = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setRowEditingEvents(rowEditingEvents);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\nimport { PolyGridRowEvents } from \"@polygrid/core/engine/services/edit/interfaces/row-events\";\r\n\r\nexport function rowEventsInputEffect(\r\n value: Signal<PolyGridRowEvents>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const rowEvents = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setRowEvents(rowEvents);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\nimport { PolyGridNewRowEvents } from \"@polygrid/core/engine/services/edit/interfaces/new-row-events\";\r\n\r\nexport function newRowEventsInputEffect(\r\n value: Signal<PolyGridNewRowEvents>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const newRowEvents = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setNewRowEvents(newRowEvents);\r\n });\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[polyGridNoDataTemplate]\",\r\n})\r\nexport class PolyGridNoDataTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[polyGridLoadingTemplate]\",\r\n})\r\nexport class PolyGridLoadingTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[polyGridGroupColumnTemplate]\",\r\n})\r\nexport class PolyGridGroupColumnTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[polyGridGroupHeaderTemplate]\",\r\n})\r\nexport class PolyGridGroupHeaderTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { ApplicationRef, Injectable, TemplateRef } from \"@angular/core\";\r\nimport { AngularRendererHandle } from \"./interfaces/renderer-handle\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class TemplateMountService {\r\n constructor(private appRef: ApplicationRef) {}\r\n\r\n mount<T>(\r\n template: TemplateRef<T>,\r\n container: HTMLElement,\r\n context: T,\r\n ): AngularRendererHandle<T> {\r\n const viewRef = template.createEmbeddedView(context);\r\n this.appRef.attachView(viewRef);\r\n viewRef.detectChanges();\r\n\r\n const frag = document.createDocumentFragment();\r\n for (const node of viewRef.rootNodes) frag.appendChild(node);\r\n container.appendChild(frag);\r\n\r\n return {\r\n update: (partial: Partial<T>) => {\r\n Object.assign(viewRef.context as any, partial);\r\n viewRef.detectChanges();\r\n },\r\n destroy: () => {\r\n this.appRef.detachView(viewRef);\r\n viewRef.destroy();\r\n },\r\n viewRef,\r\n };\r\n }\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@polygrid/core/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { NoDataMount } from \"@polygrid/core/engine/services/renderer/interfaces/template-mounts/no-data-mount\";\r\n\r\nexport function renderNoDataTemplate(\r\n req: NoDataMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n context: req.context,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@polygrid/core/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { LoadingMount } from \"@polygrid/core/engine/services/renderer/interfaces/template-mounts/loading-mount\";\r\n\r\nexport function renderLoadingTemplate(\r\n req: LoadingMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n context: req.context,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@polygrid/core/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { ErrorMount } from \"@polygrid/core/engine/services/renderer/interfaces/template-mounts/error-mount\";\r\n\r\nexport function renderErrorTemplate(\r\n req: ErrorMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n title: req.context.title,\r\n message: req.context.message,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@polygrid/core/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { ColumnHeaderMount } from \"@polygrid/core/engine/services/renderer/interfaces/template-mounts/column-header-mount\";\r\n\r\nexport function renderColumnHeaderTemplate(\r\n req: ColumnHeaderMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n field: req.context.field,\r\n header: req.context.header,\r\n columnKey: req.context.columnKey,\r\n columnId: req.context.columnId,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@polygrid/core/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { ColumnFooterMount } from \"@polygrid/core/engine/services/renderer/interfaces/template-mounts/column-footer-mount\";\r\n\r\nexport function renderColumnFooterTemplate(\r\n req: ColumnFooterMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n field: req.context.field,\r\n header: req.context.header,\r\n columnKey: req.context.columnKey,\r\n columnId: req.context.columnId,\r\n values: req.context.values,\r\n rows: req.context.rows,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@polygrid/core/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { ColumnCellMount } from \"@polygrid/core/engine/services/renderer/interfaces/template-mounts/column-cell-mount\";\r\n\r\nexport function renderColumnCellTemplate(\r\n req: ColumnCellMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n row: req.context.row,\r\n value: req.context.value,\r\n field: req.context.field,\r\n header: req.context.header,\r\n columnKey: req.context.columnKey,\r\n columnId: req.context.columnId,\r\n rowIndex: req.context.rowIndex,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@polygrid/core/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { GroupColumnMount } from \"@polygrid/core/engine/services/renderer/interfaces/template-mounts/group-column-mount\";\r\n\r\nexport function renderGroupColumnTemplate(\r\n req: GroupColumnMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n column: req.context.column,\r\n group: req.context.group,\r\n aggregate: req.context.aggregate,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@polygrid/core/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { GroupColumnMount } from \"@polygrid/core/engine/services/renderer/interfaces/template-mounts/group-column-mount\";\r\n\r\nexport function renderGroupHeaderCellTemplate(\r\n req: GroupColumnMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n column: req.context.column,\r\n group: req.context.group,\r\n aggregate: req.context.aggregate,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@polygrid/core/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { GroupHeaderMount } from \"@polygrid/core/engine/services/renderer/interfaces/template-mounts/group-header-mount\";\r\n\r\nexport function renderGroupHeaderTemplate(\r\n req: GroupHeaderMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n column: req.context.column,\r\n group: req.context.group,\r\n aggregate: req.context.aggregate,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@polygrid/core/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { GroupFooterCellMount } from \"@polygrid/core/engine/services/renderer/interfaces/template-mounts/group-footer-cell-mount\";\r\n\r\nexport function renderGroupFooterCellTemplate(\r\n req: GroupFooterCellMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n column: req.context.column,\r\n group: req.context.group,\r\n aggregate: req.context.aggregate,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@polygrid/core/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { StatusBarMount } from \"@polygrid/core/engine/services/renderer/interfaces/template-mounts/statusbar-mount\";\r\n\r\nexport function renderStatusBarTemplate(\r\n req: StatusBarMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n statusBar: req.context,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@polygrid/core/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { ToolBarMount } from \"@polygrid/core/engine/services/renderer/interfaces/template-mounts/toolbar-mount\";\r\n\r\nexport function renderToolBarTemplate(\r\n req: ToolBarMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n context: req.context,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { inject, Injectable, TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { TemplateRegistry } from \"../templates/interfaces/template-registry\";\r\nimport { RendererAdapter } from \"@polygrid/core/engine/services/renderer/interfaces/renderer-adapter\";\r\nimport { renderNoDataTemplate } from \"./no-data\";\r\nimport { renderLoadingTemplate } from \"./loading\";\r\nimport { renderErrorTemplate } from \"./error\";\r\nimport { renderColumnHeaderTemplate } from \"./column-header\";\r\nimport { renderColumnFooterTemplate } from \"./column-footer\";\r\nimport { renderColumnCellTemplate } from \"./column-cell\";\r\nimport { renderGroupColumnTemplate } from \"./group-column\";\r\nimport { renderGroupHeaderCellTemplate } from \"./group-header-cell\";\r\nimport { renderGroupHeaderTemplate } from \"./group-header\";\r\nimport { renderGroupFooterCellTemplate } from \"./group-footer-cell\";\r\nimport { renderStatusBarTemplate } from \"./statusbar\";\r\nimport { renderToolBarTemplate } from \"./toolbar\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class RendererAdapterFactory {\r\n private templateMountService = inject(TemplateMountService);\r\n\r\n buildAdapter(templates: TemplateRegistry): RendererAdapter {\r\n const headerTemplates = new Map<string, TemplateRef<any>>();\r\n const footerTemplates = new Map<string, TemplateRef<any>>();\r\n const cellTemplates = new Map<string, TemplateRef<any>>();\r\n const groupHeaderCellTemplates = new Map<string, TemplateRef<any>>();\r\n const groupFooterCellTemplates = new Map<string, TemplateRef<any>>();\r\n\r\n return {\r\n renderNoDataTemplate: (req) =>\r\n renderNoDataTemplate(req, templates.noData, this.templateMountService),\r\n renderLoadingTemplate: (req) =>\r\n renderLoadingTemplate(\r\n req,\r\n templates.loading,\r\n this.templateMountService,\r\n ),\r\n renderErrorTemplate: (req) =>\r\n renderErrorTemplate(req, templates.error, this.templateMountService),\r\n renderGroupColumnTemplate: (req) =>\r\n renderGroupColumnTemplate(\r\n req,\r\n templates.groupColumn,\r\n this.templateMountService,\r\n ),\r\n renderGroupHeaderTemplate: (req) =>\r\n renderGroupHeaderTemplate(\r\n req,\r\n templates.groupHeader,\r\n this.templateMountService,\r\n ),\r\n renderColumnHeaderTemplate: (req) => {\r\n const tpl = headerTemplates.get(req.context.columnKey);\r\n return renderColumnHeaderTemplate(req, tpl, this.templateMountService);\r\n },\r\n registerColumnHeaderTemplate: (key, tpl) => {\r\n headerTemplates.set(key, tpl as TemplateRef<any>);\r\n },\r\n renderColumnFooterTemplate: (req) => {\r\n const tpl = footerTemplates.get(req.context.columnKey);\r\n return renderColumnFooterTemplate(req, tpl, this.templateMountService);\r\n },\r\n registerColumnFooterTemplate: (key, tpl) => {\r\n footerTemplates.set(key, tpl as TemplateRef<any>);\r\n },\r\n renderColumnCellTemplate: (req) => {\r\n const tpl = cellTemplates.get(req.context.columnKey);\r\n return renderColumnCellTemplate(req, tpl, this.templateMountService);\r\n },\r\n registerColumnCellTemplate: (key, tpl) => {\r\n cellTemplates.set(key, tpl as TemplateRef<any>);\r\n },\r\n renderGroupHeaderCellTemplate: (req) => {\r\n const tpl = groupHeaderCellTemplates.get(req.context.columnKey);\r\n return renderGroupHeaderCellTemplate(\r\n req,\r\n tpl,\r\n this.templateMountService,\r\n );\r\n },\r\n registerGroupHeaderCellTemplate: (key, tpl) => {\r\n groupHeaderCellTemplates.set(key, tpl as TemplateRef<any>);\r\n },\r\n renderGroupFooterCellTemplate: (req) => {\r\n const tpl = groupFooterCellTemplates.get(req.context.columnKey);\r\n return renderGroupFooterCellTemplate(\r\n req,\r\n tpl,\r\n this.templateMountService,\r\n );\r\n },\r\n registerGroupFooterCellTemplate: (key, tpl) => {\r\n groupFooterCellTemplates.set(key, tpl as TemplateRef<any>);\r\n },\r\n renderStatusBarTemplate: (req) =>\r\n renderStatusBarTemplate(\r\n req,\r\n templates.statusBar,\r\n this.templateMountService,\r\n ),\r\n renderToolBarTemplate: (req) =>\r\n renderToolBarTemplate(\r\n req,\r\n templates.toolBar,\r\n this.templateMountService,\r\n ),\r\n };\r\n }\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { PolyGridNoDataTemplateDirective } from \"../../directives/no-data-template\";\r\n\r\nexport function extractNoDataTemplate(\r\n dir?: PolyGridNoDataTemplateDirective,\r\n): TemplateRef<any> | undefined {\r\n return dir?.template;\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { PolyGridLoadingTemplateDirective } from \"../../directives/loading-template\";\r\n\r\nexport function extractLoadingTemplate(\r\n dir?: PolyGridLoadingTemplateDirective,\r\n): TemplateRef<any> | undefined {\r\n return dir?.template;\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { PolyGridErrorTemplateDirective } from \"../../directives/error-template\";\r\n\r\nexport function extractErrorTemplate(\r\n dir?: PolyGridErrorTemplateDirective,\r\n): TemplateRef<any> | undefined {\r\n return dir?.template;\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { PolyGridGroupColumnTemplateDirective } from \"../../directives/group-column-template\";\r\n\r\nexport function extractGroupColumnTemplate(\r\n dir?: PolyGridGroupColumnTemplateDirective,\r\n): TemplateRef<any> | undefined {\r\n return dir?.template;\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { PolyGridGroupHeaderTemplateDirective } from \"../../directives/group-header-template\";\r\n\r\nexport function extractGroupHeaderTemplate(\r\n dir?: PolyGridGroupHeaderTemplateDirective,\r\n): TemplateRef<any> | undefined {\r\n return dir?.template;\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { PolyGridStatusBarTemplateDirective } from \"../../directives/statusbar-template\";\r\n\r\nexport function extractStatusBarTemplate(\r\n dir?: PolyGridStatusBarTemplateDirective,\r\n): TemplateRef<any> | undefined {\r\n return dir?.template;\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { PolyGridToolBarTemplateDirective } from \"../../directives/toolbar-template\";\r\n\r\nexport function extractToolBarTemplate(\r\n dir?: PolyGridToolBarTemplateDirective,\r\n): TemplateRef<any> | undefined {\r\n return dir?.template;\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { PolyGridNoDataTemplateDirective } from \"../../directives/no-data-template\";\r\nimport { TemplateRegistry } from \"../templates/interfaces/template-registry\";\r\nimport { extractNoDataTemplate } from \"./extract-no-data\";\r\nimport { extractLoadingTemplate } from \"./extract-loading\";\r\nimport { extractErrorTemplate } from \"./extract-error\";\r\nimport { extractGroupColumnTemplate } from \"./extract-group-column\";\r\nimport { extractGroupHeaderTemplate } from \"./extract-group-header\";\r\nimport { extractStatusBarTemplate } from \"./extract-statusbar\";\r\nimport { extractToolBarTemplate } from \"./extract-toolbar\";\r\nimport { PolyGridLoadingTemplateDirective } from \"../../directives/loading-template\";\r\nimport { PolyGridErrorTemplateDirective } from \"../../directives/error-template\";\r\nimport { PolyGridGroupColumnTemplateDirective } from \"../../directives/group-column-template\";\r\nimport { PolyGridGroupHeaderTemplateDirective } from \"../../directives/group-header-template\";\r\nimport { PolyGridStatusBarTemplateDirective } from \"../../directives/statusbar-template\";\r\nimport { PolyGridToolBarTemplateDirective } from \"../../directives/toolbar-template\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class TemplateCollectorService {\r\n collect(\r\n noDataTplDir?: PolyGridNoDataTemplateDirective,\r\n loadingTplDir?: PolyGridLoadingTemplateDirective,\r\n errorTplDir?: PolyGridErrorTemplateDirective,\r\n groupColumnTplDir?: PolyGridGroupColumnTemplateDirective,\r\n groupHeaderTplDir?: PolyGridGroupHeaderTemplateDirective,\r\n statusBarTplDir?: PolyGridStatusBarTemplateDirective,\r\n toolBarTplDir?: PolyGridToolBarTemplateDirective,\r\n ): TemplateRegistry {\r\n return {\r\n noData: extractNoDataTemplate(noDataTplDir),\r\n loading: extractLoadingTemplate(loadingTplDir),\r\n error: extractErrorTemplate(errorTplDir),\r\n groupColumn: extractGroupColumnTemplate(groupColumnTplDir),\r\n groupHeader: extractGroupHeaderTemplate(groupHeaderTplDir),\r\n statusBar: extractStatusBarTemplate(statusBarTplDir),\r\n toolBar: extractToolBarTemplate(toolBarTplDir),\r\n };\r\n }\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[polyGridErrorTemplate]\",\r\n})\r\nexport class PolyGridErrorTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { QueryList } from \"@angular/core\";\r\nimport { PolyGridColumnComponent } from \"../../../components/column/poly-grid-column\";\r\nimport { PolyGridColumn } from \"@polygrid/core/engine/services/column/interfaces/column\";\r\n\r\nexport function collectProjectedColumns(\r\n projectedColumns: QueryList<PolyGridColumnComponent>,\r\n): PolyGridColumn[] {\r\n const columns: PolyGridColumn[] = [];\r\n for (const projCol of projectedColumns) {\r\n const col: PolyGridColumn = {\r\n header: projCol.header(),\r\n field: projCol.field(),\r\n width: projCol.width(),\r\n minWidth: projCol.minWidth(),\r\n maxWidth: projCol.maxWidth() ?? Infinity,\r\n visible: projCol.visible(),\r\n sortable: projCol.sortable(),\r\n filterEditor: projCol.filterEditor() ?? projCol.filterEditorFromTemplate,\r\n pinned: projCol.pinned(),\r\n columnMenu: projCol.columnMenu(),\r\n cellEditor: projCol.cellEditor() ?? projCol.cellEditorFromTemplate,\r\n filterable: projCol.filterable(),\r\n isNonData: projCol.isNonData(),\r\n };\r\n columns.push(col);\r\n }\r\n return columns;\r\n}\r\n","import { Injectable, signal, TemplateRef } from \"@angular/core\";\r\nimport * as methods from \"./methods/index\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { RendererAdapter } from \"@polygrid/core/engine/services/renderer/interfaces/renderer-adapter\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class ColumnService {\r\n private _grid = signal<PolyGrid | null>(null);\r\n grid = this._grid.asReadonly();\r\n\r\n private adapter?: RendererAdapter;\r\n private pendingHeaderTemplates = new Map<string, TemplateRef<any>>();\r\n private pendingFooterTemplates = new Map<string, TemplateRef<any>>();\r\n private pendingCellTemplates = new Map<string, TemplateRef<any>>();\r\n private pendingGroupHeaderCellTemplates = new Map<string, TemplateRef<any>>();\r\n private pendingGroupFooterCellTemplates = new Map<string, TemplateRef<any>>();\r\n\r\n setGrid(grid: PolyGrid) {\r\n this._grid.set(grid);\r\n }\r\n\r\n setAdapter(adapter: RendererAdapter) {\r\n this.adapter = adapter;\r\n // flush pending templates into the adapter\r\n this.pendingHeaderTemplates.forEach((tpl, key) => {\r\n this.adapter!.registerColumnHeaderTemplate?.(key, tpl);\r\n });\r\n this.pendingHeaderTemplates.clear();\r\n\r\n this.pendingFooterTemplates.forEach((tpl, key) => {\r\n this.adapter!.registerColumnFooterTemplate?.(key, tpl);\r\n });\r\n this.pendingFooterTemplates.clear();\r\n\r\n this.pendingCellTemplates.forEach((tpl, key) => {\r\n this.adapter!.registerColumnCellTemplate?.(key, tpl);\r\n });\r\n this.pendingCellTemplates.clear();\r\n\r\n this.pendingGroupHeaderCellTemplates.forEach((tpl, key) => {\r\n this.adapter!.registerGroupHeaderCellTemplate?.(key, tpl);\r\n });\r\n this.pendingGroupHeaderCellTemplates.clear();\r\n\r\n this.pendingGroupFooterCellTemplates.forEach((tpl, key) => {\r\n this.adapter!.registerGroupFooterCellTemplate?.(key, tpl);\r\n });\r\n this.pendingGroupFooterCellTemplates.clear();\r\n }\r\n\r\n registerHeaderTemplate(key: string, tpl: TemplateRef<any>) {\r\n if (this.adapter) {\r\n this.adapter.registerColumnHeaderTemplate?.(key, tpl);\r\n } else {\r\n this.pendingHeaderTemplates.set(key, tpl);\r\n }\r\n }\r\n\r\n registerFooterTemplate(key: string, tpl: TemplateRef<any>) {\r\n if (this.adapter) {\r\n this.adapter.registerColumnFooterTemplate?.(key, tpl);\r\n } else {\r\n this.pendingFooterTemplates.set(key, tpl);\r\n }\r\n }\r\n\r\n registerCellTemplate(key: string, tpl: TemplateRef<any>) {\r\n if (this.adapter) {\r\n this.adapter.registerColumnCellTemplate?.(key, tpl);\r\n } else {\r\n this.pendingCellTemplates.set(key, tpl);\r\n }\r\n }\r\n\r\n registerGroupHeaderCellTemplate(key: string, tpl: TemplateRef<any>) {\r\n if (this.adapter) {\r\n this.adapter.registerGroupHeaderCellTemplate?.(key, tpl);\r\n } else {\r\n this.pendingGroupHeaderCellTemplates.set(key, tpl);\r\n }\r\n }\r\n\r\n registerGroupFooterCellTemplate(key: string, tpl: TemplateRef<any>) {\r\n if (this.adapter) {\r\n this.adapter.registerGroupFooterCellTemplate?.(key, tpl);\r\n } else {\r\n this.pendingGroupFooterCellTemplates.set(key, tpl);\r\n }\r\n }\r\n\r\n collectProjectedColumns = methods.collectProjectedColumns;\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[polyGridColumnHeaderTemplate]\",\r\n})\r\nexport class PolyGridColumnHeaderTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[polyGridColumnFooterTemplate]\",\r\n})\r\nexport class PolyGridColumnFooterTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[polyGridColumnCellTemplate]\",\r\n})\r\nexport class PolyGridColumnCellTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[polyGridFilterCellTemplate]\",\r\n})\r\nexport class PolyGridFilterCellTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[polyGridGroupHeaderCellTemplate]\",\r\n})\r\nexport class PolyGridGroupHeaderCellTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[polyGridGroupFooterCellTemplate]\",\r\n})\r\nexport class PolyGridGroupFooterCellTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[polyGridEditorCellTemplate]\",\r\n})\r\nexport class PolyGridEditorCellTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import {\r\n EmbeddedViewRef,\r\n signal,\r\n TemplateRef,\r\n WritableSignal,\r\n} from \"@angular/core\";\r\nimport { PolyGridFilterEditor } from \"@polygrid/core\";\r\nimport { FilterCellMount } from \"@polygrid/core/engine/services/renderer/interfaces/template-mounts/filter-cell-mount\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { FilterOperator } from \"@polygrid/core/engine/services/filter/interfaces/filter-operator\";\r\n\r\nexport class TemplateFilterEditorWrapper implements PolyGridFilterEditor {\r\n element!: HTMLElement;\r\n controlElement!: HTMLElement;\r\n\r\n private onChangeCb: ((value: any) => void) | null = null;\r\n private onClearCb: (() => void) | null = null;\r\n private viewRef?: EmbeddedViewRef<TemplateFilterContext>;\r\n\r\n constructor(\r\n private template: TemplateRef<any>,\r\n private mountService: TemplateMountService,\r\n ) {}\r\n\r\n mount(mount: FilterCellMount): void {\r\n const ctx: TemplateFilterContext = {\r\n // static\r\n field: mount.context.field,\r\n header: mount.context.header,\r\n columnKey: mount.context.columnKey,\r\n columnId: mount.context.columnId,\r\n // dynamic\r\n value: signal(mount.context.value),\r\n disabled: signal(mount.context.disabled),\r\n operator: signal(mount.context.operator),\r\n // callbacks\r\n update: (v) => this.onChangeCb?.(v),\r\n clear: () => this.onClearCb?.(),\r\n };\r\n\r\n const handle = this.mountService.mount(this.template, mount.container, ctx);\r\n this.viewRef = handle.viewRef;\r\n\r\n const host = this.viewRef.rootNodes.find(\r\n (n) => n instanceof HTMLElement,\r\n ) as HTMLElement;\r\n\r\n // The container is the root element\r\n this.element = host;\r\n\r\n // Find the actual editor element inside the template\r\n this.controlElement = host.querySelector(\"[data-editor]\") as HTMLElement;\r\n\r\n if (!this.controlElement) {\r\n // fallback: assume the container itself is the control\r\n this.controlElement = this.element;\r\n }\r\n }\r\n\r\n // Grid → template\r\n setValue(value: any): void {\r\n if (!this.viewRef) return;\r\n this.viewRef.context.value.set(value);\r\n this.viewRef.detectChanges();\r\n }\r\n\r\n setDisabled(disabled: boolean): void {\r\n if (!this.viewRef) return;\r\n this.viewRef.context.disabled.set(disabled);\r\n this.viewRef.detectChanges();\r\n }\r\n\r\n onValueChange(cb: (value: any) => void): void {\r\n this.onChangeCb = cb;\r\n }\r\n\r\n onClear(cb: () => void): void {\r\n this.onClearCb = cb;\r\n }\r\n\r\n destroy(): void {\r\n this.viewRef?.destroy();\r\n }\r\n}\r\n\r\ninterface TemplateFilterContext {\r\n // static metadata\r\n field: string;\r\n header: string;\r\n columnKey: string;\r\n columnId: string;\r\n\r\n // dynamic values (signals)\r\n value: WritableSignal<any>;\r\n disabled: WritableSignal<boolean>;\r\n operator: WritableSignal<FilterOperator>;\r\n\r\n // callbacks\r\n update: (v: any) => void;\r\n clear: () => void;\r\n}\r\n","// template-filter-editor.factory.ts\r\nimport { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { TemplateFilterEditorWrapper } from \"./filter-editor-wrapper\";\r\nimport { PolyGridFilterEditorFactoryFn } from \"@polygrid/core/engine/services/filter/types/filter-editor-factory-fn\";\r\nimport { InternalColumn } from \"@polygrid/core/engine/services/column/interfaces/internal-column\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\n\r\nexport function templateFilterEditorFactory(\r\n template: TemplateRef<any>,\r\n mountService: TemplateMountService,\r\n): PolyGridFilterEditorFactoryFn {\r\n return (column: InternalColumn, grid: PolyGrid) => {\r\n // we don’t have FilterCellMount here yet\r\n // we just create an editor that knows how to mount itself later\r\n return new TemplateFilterEditorWrapper(template, mountService);\r\n };\r\n}\r\n","import {\r\n EmbeddedViewRef,\r\n signal,\r\n TemplateRef,\r\n WritableSignal,\r\n} from \"@angular/core\";\r\nimport { PolyGridCellEditor } from \"@polygrid/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { CellEditorMount } from \"@polygrid/core/engine/services/renderer/interfaces/template-mounts/cell-editor-mount\";\r\n\r\nexport class TemplateCellEditorWrapper implements PolyGridCellEditor {\r\n element!: HTMLElement;\r\n controlElement!: HTMLElement;\r\n\r\n private onChangeCb: ((value: any) => void) | null = null;\r\n private onCommitCb: ((value: any) => void) | null = null;\r\n private onCancelCb: (() => void) | null = null;\r\n private viewRef?: EmbeddedViewRef<TemplateCellEditorContext>;\r\n\r\n constructor(\r\n private template: TemplateRef<any>,\r\n private mountService: TemplateMountService,\r\n ) {}\r\n\r\n mount(mount: CellEditorMount): void {\r\n const ctx: TemplateCellEditorContext = {\r\n // static\r\n field: mount.context.field,\r\n header: mount.context.header,\r\n columnKey: mount.context.columnKey,\r\n columnId: mount.context.columnId,\r\n rowId: mount.context.rowId,\r\n // dynamic\r\n value: signal(mount.context.value),\r\n disabled: signal(mount.context.disabled),\r\n // callbacks\r\n update: (v) => this.onChangeCb?.(v),\r\n commit: (v) => this.onCommitCb?.(v),\r\n cancel: () => this.onCancelCb?.(),\r\n onKeydown: (event) => this.onKeydown(event, ctx),\r\n };\r\n\r\n const handle = this.mountService.mount(this.template, mount.container, ctx);\r\n this.viewRef = handle.viewRef;\r\n\r\n const host = this.viewRef.rootNodes.find(\r\n (n) => n instanceof HTMLElement,\r\n ) as HTMLElement;\r\n\r\n // The container is the root element\r\n this.element = host;\r\n\r\n // Find the actual editor element inside the template\r\n this.controlElement = host.querySelector(\"[data-editor]\") as HTMLElement;\r\n\r\n if (!this.controlElement) {\r\n // fallback: assume the container itself is the control\r\n this.controlElement = this.element;\r\n }\r\n }\r\n\r\n // Grid → template\r\n setValue(value: any): void {\r\n if (!this.viewRef) return;\r\n this.viewRef.context.value.set(value);\r\n this.viewRef.detectChanges();\r\n }\r\n\r\n setDisabled(disabled: boolean): void {\r\n if (!this.viewRef) return;\r\n this.viewRef.context.disabled.set(disabled);\r\n this.viewRef.detectChanges();\r\n }\r\n\r\n onValueChange(cb: (value: any) => void): void {\r\n this.onChangeCb = cb;\r\n }\r\n\r\n onCommit(cb: (value: any) => void): void {\r\n this.onCommitCb = cb;\r\n }\r\n\r\n onCancel(cb: () => void): void {\r\n this.onCancelCb = cb;\r\n }\r\n\r\n onKeydown(event: KeyboardEvent, ctx: TemplateCellEditorContext) {\r\n if (event.key === \"Enter\") {\r\n event.preventDefault();\r\n ctx.commit(ctx.value());\r\n }\r\n if (event.key === \"Escape\") {\r\n event.preventDefault();\r\n ctx.cancel();\r\n }\r\n }\r\n\r\n destroy(): void {\r\n this.viewRef?.destroy();\r\n }\r\n}\r\n\r\ninterface TemplateCellEditorContext {\r\n // static metadata\r\n field: string;\r\n header: string;\r\n columnKey: string;\r\n columnId: string;\r\n rowId: string;\r\n\r\n // dynamic values (signals)\r\n value: WritableSignal<any>;\r\n disabled: WritableSignal<boolean>;\r\n\r\n // callbacks\r\n update: (v: any) => void;\r\n commit: (v: any) => void;\r\n cancel: () => void;\r\n onKeydown: (event: KeyboardEvent) => void;\r\n}\r\n","// template-filter-editor.factory.ts\r\nimport { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { InternalColumn } from \"@polygrid/core/engine/services/column/interfaces/internal-column\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { PolyGridCellEditorFactoryFn } from \"@polygrid/core/engine/services/edit/types/editor-factory-fn\";\r\nimport { TemplateCellEditorWrapper } from \"./cell-editor-wrapper\";\r\n\r\nexport function templateCellEditorFactory(\r\n template: TemplateRef<any>,\r\n mountService: TemplateMountService,\r\n): PolyGridCellEditorFactoryFn {\r\n return (\r\n column: InternalColumn,\r\n rowId: string,\r\n grid: PolyGrid,\r\n initialValue: any,\r\n ) => {\r\n // we don’t have EditorCellMount here yet\r\n // we just create an editor that knows how to mount itself later\r\n return new TemplateCellEditorWrapper(template, mountService);\r\n };\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport {\r\n AfterContentInit,\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n ContentChild,\r\n EffectRef,\r\n inject,\r\n Injector,\r\n input,\r\n runInInjectionContext,\r\n} from \"@angular/core\";\r\nimport * as effects from \"../../effects/index\";\r\nimport { ColumnService } from \"../../services/column/column\";\r\nimport { PolyGridColumnHeaderTemplateDirective } from \"../../directives/column-header-template\";\r\nimport { PolyGridColumnFooterTemplateDirective } from \"../../directives/column-footer-template\";\r\nimport { PolyGridColumnCellTemplateDirective } from \"../../directives/column-cell-template\";\r\nimport { PolyGridFilterCellTemplateDirective } from \"../../directives/filter-cell-template\";\r\nimport { PolyGridGroupHeaderCellTemplateDirective } from \"../../directives/group-header-cell-template\";\r\nimport { PolyGridGroupFooterCellTemplateDirective } from \"../../directives/group-footer-cell-template\";\r\nimport { PolyGridEditorCellTemplateDirective } from \"../../directives/editor-cell-template\";\r\nimport { PolyGridColumnSortSettings } from \"@polygrid/core/engine/services/sort/interfaces/column-sorting-settings\";\r\nimport { PolyGridFilterEditorFactoryFn } from \"@polygrid/core/engine/services/filter/types/filter-editor-factory-fn\";\r\nimport { templateFilterEditorFactory } from \"../../services/renderer-adapter/filter-editor-factory\";\r\nimport { TemplateMountService } from \"../../services/templates/template-mount\";\r\nimport { PolyGridPinnedColumn } from \"@polygrid/core/engine/services/column/types/pinned\";\r\nimport { PolyGridCellEditorFactoryFn } from \"@polygrid/core\";\r\nimport { templateCellEditorFactory } from \"../../services/renderer-adapter/cell-editor-factory\";\r\n\r\n@Component({\r\n selector: \"pg-column\",\r\n imports: [CommonModule],\r\n template: \"\",\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class PolyGridColumnComponent\r\n implements AfterViewInit, AfterContentInit\r\n{\r\n private injector = inject(Injector);\r\n private columnService = inject(ColumnService);\r\n private templateMountService = inject(TemplateMountService);\r\n filterEditorFromTemplate?: PolyGridFilterEditorFactoryFn;\r\n cellEditorFromTemplate?: PolyGridCellEditorFactoryFn;\r\n\r\n header = input.required<string>();\r\n field = input.required<string>();\r\n width = input<number>();\r\n visible = input<boolean>(true);\r\n minWidth = input<number>();\r\n maxWidth = input<number>();\r\n sortable = input<boolean | PolyGridColumnSortSettings>(false);\r\n filterEditor = input<PolyGridFilterEditorFactoryFn>();\r\n pinned = input<PolyGridPinnedColumn>();\r\n columnMenu = input<boolean>(true);\r\n cellEditor = input<PolyGridCellEditorFactoryFn>();\r\n filterable = input<boolean>(true);\r\n isNonData = input<boolean>(false);\r\n\r\n toggleVisibilityEffect!: EffectRef;\r\n\r\n @ContentChild(PolyGridColumnHeaderTemplateDirective)\r\n headerTemplateDir?: PolyGridColumnHeaderTemplateDirective;\r\n @ContentChild(PolyGridColumnFooterTemplateDirective)\r\n footerTemplateDir?: PolyGridColumnFooterTemplateDirective;\r\n @ContentChild(PolyGridColumnCellTemplateDirective)\r\n cellTemplateDir?: PolyGridColumnCellTemplateDirective;\r\n @ContentChild(PolyGridFilterCellTemplateDirective)\r\n filterCellTemplateDir?: PolyGridFilterCellTemplateDirective;\r\n @ContentChild(PolyGridGroupHeaderCellTemplateDirective)\r\n groupHeaderCellTemplateDir?: PolyGridGroupHeaderCellTemplateDirective;\r\n @ContentChild(PolyGridGroupFooterCellTemplateDirective)\r\n groupFooterCellTemplateDir?: PolyGridGroupFooterCellTemplateDirective;\r\n @ContentChild(PolyGridEditorCellTemplateDirective)\r\n editorCellTemplateDir?: PolyGridEditorCellTemplateDirective;\r\n\r\n ngAfterViewInit(): void {\r\n runInInjectionContext(this.injector, () => {\r\n this.toggleVisibilityEffect = effects.toggleVisibilityInputEffect(\r\n `${this.field()}::${this.header()}`,\r\n this.visible,\r\n this.columnService,\r\n );\r\n });\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n if (this.headerTemplateDir) {\r\n this.columnService.registerHeaderTemplate(\r\n `${this.field()}::${this.header()}`,\r\n this.headerTemplateDir.template,\r\n );\r\n }\r\n if (this.footerTemplateDir) {\r\n this.columnService.registerFooterTemplate(\r\n `${this.field()}::${this.header()}`,\r\n this.footerTemplateDir.template,\r\n );\r\n }\r\n if (this.cellTemplateDir) {\r\n this.columnService.registerCellTemplate(\r\n `${this.field()}::${this.header()}`,\r\n this.cellTemplateDir.template,\r\n );\r\n }\r\n if (this.filterCellTemplateDir) {\r\n this.filterEditorFromTemplate = templateFilterEditorFactory(\r\n this.filterCellTemplateDir.template,\r\n this.templateMountService,\r\n );\r\n }\r\n if (this.groupHeaderCellTemplateDir) {\r\n this.columnService.registerGroupHeaderCellTemplate(\r\n `${this.field()}::${this.header()}`,\r\n this.groupHeaderCellTemplateDir.template,\r\n );\r\n }\r\n if (this.groupFooterCellTemplateDir) {\r\n this.columnService.registerGroupFooterCellTemplate(\r\n `${this.field()}::${this.header()}`,\r\n this.groupFooterCellTemplateDir.template,\r\n );\r\n }\r\n if (this.editorCellTemplateDir) {\r\n this.cellEditorFromTemplate = templateCellEditorFactory(\r\n this.editorCellTemplateDir.template,\r\n this.templateMountService,\r\n );\r\n }\r\n }\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[polyGridStatusBarTemplate]\",\r\n})\r\nexport class PolyGridStatusBarTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[polyGridToolBarTemplate]\",\r\n})\r\nexport class PolyGridToolBarTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import {\r\n AfterContentInit,\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n ContentChild,\r\n ContentChildren,\r\n EffectRef,\r\n ElementRef,\r\n inject,\r\n Injector,\r\n input,\r\n OnDestroy,\r\n QueryList,\r\n runInInjectionContext,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport * as effects from \"../../effects/index\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { PolyGridColumn } from \"@polygrid/core/engine/services/column/interfaces/column\";\r\nimport { PolyGridOptions } from \"@polygrid/core/engine/core/interfaces/grid-options\";\r\nimport { PolyGridNoDataTemplateDirective } from \"../../directives/no-data-template\";\r\nimport { PolyGridLoadingTemplateDirective } from \"../../directives/loading-template\";\r\nimport { PolyGridGroupColumnTemplateDirective } from \"../../directives/group-column-template\";\r\nimport { PolyGridGroupHeaderTemplateDirective } from \"../../directives/group-header-template\";\r\nimport { RendererAdapterFactory } from \"../../services/renderer-adapter/renderer-adapter-factory\";\r\nimport { TemplateCollectorService } from \"../../services/template-collector/template-collector\";\r\nimport { PolyGridErrorTemplateDirective } from \"../../directives/error-template\";\r\nimport { PolyGridColumnComponent } from \"../column/poly-grid-column\";\r\nimport { GridErrorType } from \"@polygrid/core/engine/services/error/types/error-type\";\r\nimport { PolyGridResizeMode } from \"@polygrid/core/engine/store/types/resize-mode\";\r\nimport { ColumnService } from \"../../services/column/column\";\r\nimport { PolyGridFilterType } from \"@polygrid/core/engine/services/filter/types/filter-type\";\r\nimport { PolyGridSortSettings } from \"@polygrid/core/engine/services/sort/interfaces/grid-sorting-settings\";\r\nimport { PolyGridGroupingSettings } from \"@polygrid/core/engine/services/grouping/interfaces/grouping-settings\";\r\nimport { PolyGridAnimationOptions } from \"@polygrid/core/engine/services/animation/interfaces/animation-options\";\r\nimport { PolyGridSelectionSettings } from \"@polygrid/core/engine/services/selection/interfaces/selection-settings\";\r\nimport { PolyGridStatusBarTemplateDirective } from \"../../directives/statusbar-template\";\r\nimport { PolyGridColumnMenuSettings } from \"@polygrid/core/engine/services/column/interfaces/column-menu-settings\";\r\nimport { PolyGridColumnReorderSettings } from \"@polygrid/core/engine/services/column/interfaces/column-reorder-settings\";\r\nimport { PolyGridToolBarTemplateDirective } from \"../../directives/toolbar-template\";\r\nimport { PolyGridEditingSettings } from \"@polygrid/core/engine/services/edit/interfaces/editing-settings\";\r\nimport { PolyGridEditingEvents } from \"@polygrid/core/engine/services/edit/interfaces/editing-events\";\r\nimport { PolyGridSchema } from \"@polygrid/core/engine/services/schema/interfaces/grid-schema\";\r\nimport { PolyGridRowEditingEvents } from \"@polygrid/core/engine/services/edit/interfaces/row-editing-events\";\r\nimport { PolyGridRowEvents } from \"@polygrid/core/engine/services/edit/interfaces/row-events\";\r\nimport { PolyGridNewRowEvents } from \"@polygrid/core/engine/services/edit/interfaces/new-row-events\";\r\n\r\n@Component({\r\n selector: \"pg-grid\",\r\n imports: [CommonModule],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n templateUrl: \"./poly-grid.html\",\r\n styleUrl: \"./poly-grid.css\",\r\n})\r\nexport class PolyGridComponent\r\n implements AfterViewInit, OnDestroy, AfterContentInit\r\n{\r\n private grid: PolyGrid | null = null;\r\n private injector = inject(Injector);\r\n private adapterFactory = inject(RendererAdapterFactory);\r\n private templateCollector = inject(TemplateCollectorService);\r\n private errorType!: GridErrorType | null;\r\n private columnService = inject(ColumnService);\r\n\r\n @ViewChild(\"host\", { static: true }) hostRef!: ElementRef<HTMLDivElement>;\r\n\r\n @ContentChild(PolyGridNoDataTemplateDirective)\r\n noDataTemplateDir?: PolyGridNoDataTemplateDirective;\r\n @ContentChild(PolyGridLoadingTemplateDirective)\r\n loadingTemplateDir?: PolyGridLoadingTemplateDirective;\r\n @ContentChild(PolyGridErrorTemplateDirective)\r\n errorTemplateDir?: PolyGridErrorTemplateDirective;\r\n @ContentChild(PolyGridGroupColumnTemplateDirective)\r\n groupColumnTemplateDir?: PolyGridGroupColumnTemplateDirective;\r\n @ContentChild(PolyGridGroupHeaderTemplateDirective)\r\n groupHeaderTemplateDir?: PolyGridGroupHeaderTemplateDirective;\r\n @ContentChild(PolyGridStatusBarTemplateDirective)\r\n statusBarTemplateDir?: PolyGridStatusBarTemplateDirective;\r\n @ContentChild(PolyGridToolBarTemplateDirective)\r\n toolBarTemplateDir?: PolyGridToolBarTemplateDirective;\r\n\r\n @ContentChildren(PolyGridColumnComponent)\r\n projectedColumns!: QueryList<PolyGridColumnComponent>;\r\n\r\n // inputs\r\n id = input.required<string>();\r\n columns = input<PolyGridColumn[]>([]);\r\n data = input<any[]>([]);\r\n loading = input<boolean>(false);\r\n resizable = input<boolean>(false);\r\n resizeMode = input<PolyGridResizeMode>(\"unconstrained\");\r\n enableAnimations = input<boolean>(false);\r\n animationOptions = input<PolyGridAnimationOptions>({\r\n sort: false,\r\n filter: false,\r\n group: true,\r\n paging: false,\r\n });\r\n filterable = input<PolyGridFilterType>(false);\r\n sortSettings = input<PolyGridSortSettings>({});\r\n showFooter = input<boolean>(true);\r\n locale = input<string>(navigator.language);\r\n groupable = input<boolean | PolyGridGroupingSettings>(false);\r\n pageable = input<boolean>(false);\r\n selectable = input<boolean | PolyGridSelectionSettings>(false);\r\n showStatusBar = input<boolean>(false);\r\n columnMenu = input<boolean | PolyGridColumnMenuSettings>(false);\r\n allowColumnReorder = input<boolean | PolyGridColumnReorderSettings>(false);\r\n showToolBar = input<boolean>(false);\r\n toolBarRenderer = input<(() => HTMLElement | string) | null>(null);\r\n editable = input<boolean | PolyGridEditingSettings>(false);\r\n editingEvents = input<PolyGridEditingEvents>({});\r\n schema = input<PolyGridSchema>({ fields: [] });\r\n rowEditingEvents = input<PolyGridRowEditingEvents>({});\r\n rowEvents = input<PolyGridRowEvents>({});\r\n newRowEvents = input<PolyGridNewRowEvents>({});\r\n\r\n // reactive effects\r\n gridIdEffect!: EffectRef;\r\n dataEffect!: EffectRef;\r\n columnEffect!: EffectRef;\r\n loadingEffect!: EffectRef;\r\n resizableEffect!: EffectRef;\r\n resizeModeEffect!: EffectRef;\r\n enableAnimationsEffect!: EffectRef;\r\n animationOptionsEffect!: EffectRef;\r\n filterableEffect!: EffectRef;\r\n sortSettingsEffect!: EffectRef;\r\n showFooterEffect!: EffectRef;\r\n localeEffect!: EffectRef;\r\n groupableEffect!: EffectRef;\r\n pageableEffect!: EffectRef;\r\n selectableEffect!: EffectRef;\r\n showStatusBarEffect!: EffectRef;\r\n columnMenuEffect!: EffectRef;\r\n allowColumnReorderEffect!: EffectRef;\r\n showToolBarEffect!: EffectRef;\r\n toolBarRendererEffect!: EffectRef;\r\n editableEffect!: EffectRef;\r\n editingEventsEffect!: EffectRef;\r\n schemaEffect!: EffectRef;\r\n rowEditingEventsEffect!: EffectRef;\r\n rowEventsEffect!: EffectRef;\r\n newRowEventsEffect!: EffectRef;\r\n\r\n ngAfterViewInit(): void {\r\n const host = this.hostRef.nativeElement;\r\n const registry = this.templateCollector.collect(\r\n this.noDataTemplateDir,\r\n this.loadingTemplateDir,\r\n this.errorTemplateDir,\r\n this.groupColumnTemplateDir,\r\n this.groupHeaderTemplateDir,\r\n this.statusBarTemplateDir,\r\n this.toolBarTemplateDir,\r\n );\r\n const adapter = this.adapterFactory.buildAdapter(registry);\r\n this.columnService.setAdapter(adapter);\r\n\r\n const projected = this.columnService.collectProjectedColumns(\r\n this.projectedColumns,\r\n );\r\n const inputCols = this.columns();\r\n const finalColumns =\r\n inputCols !== undefined && inputCols !== null && inputCols.length > 0\r\n ? inputCols\r\n : projected;\r\n if (finalColumns.length === 0) this.errorType = \"no-columns\";\r\n\r\n const options: PolyGridOptions = {\r\n id: this.id(),\r\n columns: finalColumns,\r\n data: this.data(),\r\n resizable: this.resizable(),\r\n resizeMode: this.resizeMode(),\r\n enableAnimations: this.enableAnimations(),\r\n animationOptions: this.animationOptions(),\r\n filterable: this.filterable(),\r\n sortSettings: this.sortSettings(),\r\n rendererAdapter: adapter,\r\n showFooter: this.showFooter(),\r\n locale: this.locale(),\r\n groupable: this.groupable(),\r\n pageable: this.pageable(),\r\n selectable: this.selectable(),\r\n showStatusBar: this.showStatusBar(),\r\n columnMenu: this.columnMenu(),\r\n allowColumnReorder: this.allowColumnReorder(),\r\n showToolBar: this.showToolBar(),\r\n toolBarRenderer: this.toolBarRenderer(),\r\n editable: this.editable(),\r\n editingEvents: this.editingEvents(),\r\n schema: this.schema(),\r\n rowEditingEvents: this.rowEditingEvents(),\r\n rowEvents: this.rowEvents(),\r\n newRowEvents: this.newRowEvents(),\r\n };\r\n\r\n this.grid = new PolyGrid(host, options);\r\n this.columnService.setGrid(this.grid);\r\n\r\n runInInjectionContext(this.injector, () => {\r\n this.gridIdEffect = effects.gridIdInputEffect(this.id, this.grid!);\r\n this.dataEffect = effects.dataInputEffect(this.data, this.grid!);\r\n this.columnEffect = effects.columnInputEffect(this.columns, this.grid!);\r\n this.loadingEffect = effects.loadingInputEffect(this.loading, this.grid!);\r\n this.resizableEffect = effects.resizableInputEffect(\r\n this.resizable,\r\n this.grid!,\r\n );\r\n this.resizeModeEffect = effects.resizeModeInputEffect(\r\n this.resizeMode,\r\n this.grid!,\r\n );\r\n this.enableAnimationsEffect = effects.enableAnimationsInputEffect(\r\n this.enableAnimations,\r\n this.grid!,\r\n );\r\n this.animationOptionsEffect = effects.animationOptionsInputEffect(\r\n this.animationOptions,\r\n this.grid!,\r\n );\r\n this.filterableEffect = effects.filterableInputEffect(\r\n this.filterable,\r\n this.grid!,\r\n );\r\n this.sortSettingsEffect = effects.sortSettingsInputEffect(\r\n this.sortSettings,\r\n this.grid!,\r\n );\r\n this.showFooterEffect = effects.showFooterInputEffect(\r\n this.showFooter,\r\n this.grid!,\r\n );\r\n this.localeEffect = effects.localeInputEffect(this.locale, this.grid!);\r\n this.groupableEffect = effects.groupableInputEffect(\r\n this.groupable,\r\n this.grid!,\r\n );\r\n this.pageableEffect = effects.pageableInputEffect(\r\n this.pageable,\r\n this.grid!,\r\n );\r\n this.selectableEffect = effects.selectableInputEffect(\r\n this.selectable,\r\n this.grid!,\r\n );\r\n this.showStatusBarEffect = effects.showStatusBarInputEffect(\r\n this.showStatusBar,\r\n this.grid!,\r\n );\r\n this.columnMenuEffect = effects.columnMenuInputEffect(\r\n this.columnMenu,\r\n this.grid!,\r\n );\r\n this.allowColumnReorderEffect = effects.allowColumnReorderInputEffect(\r\n this.allowColumnReorder,\r\n this.grid!,\r\n );\r\n this.showToolBarEffect = effects.showToolBarInputEffect(\r\n this.showToolBar,\r\n this.grid!,\r\n );\r\n this.toolBarRendererEffect = effects.toolBarRendererInputEffect(\r\n this.toolBarRenderer,\r\n this.grid!,\r\n );\r\n this.editableEffect = effects.editableInputEffect(\r\n this.editable,\r\n this.grid!,\r\n );\r\n this.editingEventsEffect = effects.editingEventsInputEffect(\r\n this.editingEvents,\r\n this.grid!,\r\n );\r\n this.schemaEffect = effects.schemaInputEffect(this.schema, this.grid!);\r\n this.rowEditingEventsEffect = effects.rowEditingEventsInputEffect(\r\n this.rowEditingEvents,\r\n this.grid!,\r\n );\r\n this.rowEventsEffect = effects.rowEventsInputEffect(\r\n this.rowEvents,\r\n this.grid!,\r\n );\r\n this.newRowEventsEffect = effects.newRowEventsInputEffect(\r\n this.newRowEvents,\r\n this.grid!,\r\n );\r\n });\r\n\r\n if (this.errorType) this.grid.api.setError(true, this.errorType);\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n if (this.columns().length > 0 && this.projectedColumns.length > 0)\r\n this.errorType = \"ambiguous-column-definition\";\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.grid?.destroy();\r\n this.grid = null;\r\n }\r\n\r\n collapseAllGroups() {\r\n this.grid!.api.collapseAllGroups();\r\n }\r\n\r\n expandAllGroups() {\r\n this.grid!.api.expandAllGroups();\r\n }\r\n\r\n getValidation(rowId: string, fieldName: string) {\r\n return this.grid!.api.getValidation(rowId, fieldName);\r\n }\r\n\r\n getRowValidation(rowId: string) {\r\n return this.grid!.api.getRowValidation(rowId);\r\n }\r\n\r\n getAllValidation() {\r\n return this.grid!.api.getAllValidation();\r\n }\r\n\r\n hasErrors() {\r\n return this.grid!.api.hasErrors();\r\n }\r\n\r\n startRowEdit(rowId: string) {\r\n this.grid!.api.startRowEdit(rowId);\r\n }\r\n\r\n cancelRowEdit() {\r\n this.grid!.api.cancelRowEdit();\r\n }\r\n\r\n commitRowEdit() {\r\n this.grid!.api.commitRowEdit();\r\n }\r\n\r\n deleteRow(rowId: string) {\r\n this.grid!.api.deleteRow(rowId);\r\n }\r\n\r\n toggleAddNewRow(show: boolean) {\r\n this.grid!.api.setShowAddNewRow(show);\r\n }\r\n}\r\n","<div #host class=\"pg-host\"></div>\r\n","import { CommonModule } from \"@angular/common\";\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n HostBinding,\r\n input,\r\n} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"pg-spacer\",\r\n imports: [CommonModule],\r\n template: \"\",\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SpacerComponent {\r\n width = input<string>();\r\n\r\n @HostBinding(\"style.width\") get styleWidth() {\r\n return this.width();\r\n }\r\n\r\n @HostBinding(\"class.pg-spacer-sized\") get hasWidthClass() {\r\n return !!this.width();\r\n }\r\n\r\n @HostBinding(\"class.pg-spacer\") get defaultClass() {\r\n return true;\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport {\r\n PolyGridColumnCellTemplateDirective,\r\n PolyGridColumnComponent,\r\n PolyGridColumnFooterTemplateDirective,\r\n PolyGridColumnHeaderTemplateDirective,\r\n PolyGridComponent,\r\n PolyGridErrorTemplateDirective,\r\n PolyGridFilterCellTemplateDirective,\r\n PolyGridLoadingTemplateDirective,\r\n PolyGridNoDataTemplateDirective,\r\n PolyGridGroupColumnTemplateDirective,\r\n PolyGridGroupHeaderCellTemplateDirective,\r\n PolyGridGroupHeaderTemplateDirective,\r\n PolyGridGroupFooterCellTemplateDirective,\r\n PolyGridStatusBarTemplateDirective,\r\n PolyGridToolBarTemplateDirective,\r\n SpacerComponent,\r\n PolyGridEditorCellTemplateDirective,\r\n} from \"../../public-api\";\r\n\r\n@NgModule({\r\n imports: [\r\n PolyGridComponent,\r\n PolyGridColumnComponent,\r\n PolyGridNoDataTemplateDirective,\r\n PolyGridLoadingTemplateDirective,\r\n PolyGridErrorTemplateDirective,\r\n PolyGridColumnHeaderTemplateDirective,\r\n PolyGridColumnFooterTemplateDirective,\r\n PolyGridColumnCellTemplateDirective,\r\n PolyGridFilterCellTemplateDirective,\r\n PolyGridGroupColumnTemplateDirective,\r\n PolyGridGroupHeaderCellTemplateDirective,\r\n PolyGridGroupHeaderTemplateDirective,\r\n PolyGridGroupFooterCellTemplateDirective,\r\n PolyGridStatusBarTemplateDirective,\r\n PolyGridToolBarTemplateDirective,\r\n SpacerComponent,\r\n PolyGridEditorCellTemplateDirective,\r\n ],\r\n exports: [\r\n PolyGridComponent,\r\n PolyGridColumnComponent,\r\n PolyGridNoDataTemplateDirective,\r\n PolyGridLoadingTemplateDirective,\r\n PolyGridErrorTemplateDirective,\r\n PolyGridColumnHeaderTemplateDirective,\r\n PolyGridColumnFooterTemplateDirective,\r\n PolyGridColumnCellTemplateDirective,\r\n PolyGridFilterCellTemplateDirective,\r\n PolyGridGroupColumnTemplateDirective,\r\n PolyGridGroupHeaderCellTemplateDirective,\r\n PolyGridGroupHeaderTemplateDirective,\r\n PolyGridGroupFooterCellTemplateDirective,\r\n PolyGridStatusBarTemplateDirective,\r\n PolyGridToolBarTemplateDirective,\r\n SpacerComponent,\r\n PolyGridEditorCellTemplateDirective,\r\n ],\r\n providers: [],\r\n})\r\nexport class POLY_GRID {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["methods.collectProjectedColumns","effects.toggleVisibilityInputEffect","effects.gridIdInputEffect","effects.dataInputEffect","effects.columnInputEffect","effects.loadingInputEffect","effects.resizableInputEffect","effects.resizeModeInputEffect","effects.enableAnimationsInputEffect","effects.animationOptionsInputEffect","effects.filterableInputEffect","effects.sortSettingsInputEffect","effects.showFooterInputEffect","effects.localeInputEffect","effects.groupableInputEffect","effects.pageableInputEffect","effects.selectableInputEffect","effects.showStatusBarInputEffect","effects.columnMenuInputEffect","effects.allowColumnReorderInputEffect","effects.showToolBarInputEffect","effects.toolBarRendererInputEffect","effects.editableInputEffect","effects.editingEventsInputEffect","effects.schemaInputEffect","effects.rowEditingEventsInputEffect","effects.rowEventsInputEffect","effects.newRowEventsInputEffect"],"mappings":";;;;;AAEM,SAAU,eAAe,CAAC,EAAgC,EAAA;IAC9D,IAAI,KAAK,GAAG,IAAI;IAChB,OAAO,MAAM,CAAC,MAAK;;QAEjB,EAAE,CAAC,KAAK,CAAC;QACT,KAAK,GAAG,KAAK;AACf,IAAA,CAAC,CAAC;AACJ;;ACLM,SAAU,iBAAiB,CAC/B,KAAqB,EACrB,IAAc,EAAA;AAEd,IAAA,OAAO,eAAe,CAAC,CAAC,SAAS,KAAI;AACnC,QAAA,MAAM,EAAE,GAAG,KAAK,EAAE;AAClB,QAAA,IAAI,SAAS;YAAE;AACf,QAAA,IAAI,IAAI;AAAE,YAAA,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;AAClC,IAAA,CAAC,CAAC;AACJ;;ACTM,SAAU,eAAe,CAC7B,KAAoB,EACpB,IAAc,EAAA;AAEd,IAAA,OAAO,eAAe,CAAC,CAAC,SAAS,KAAI;AACnC,QAAA,MAAM,IAAI,GAAG,KAAK,EAAE;AACpB,QAAA,IAAI,SAAS;YAAE;AACf,QAAA,IAAI,IAAI;AAAE,YAAA,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;AAClC,IAAA,CAAC,CAAC;AACJ;;ACRM,SAAU,iBAAiB,CAC/B,KAA+B,EAC/B,IAAc,EAAA;AAEd,IAAA,OAAO,eAAe,CAAC,CAAC,SAAS,KAAI;AACnC,QAAA,MAAM,OAAO,GAAG,KAAK,EAAE;AACvB,QAAA,IAAI,SAAS;YAAE;AACf,QAAA,IAAI,IAAI;AAAE,YAAA,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;AACxC,IAAA,CAAC,CAAC;AACJ;;ACXM,SAAU,kBAAkB,CAAC,KAAsB,EAAE,IAAc,EAAA;IACvE,OAAO,MAAM,CAAC,MAAK;QACjB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;AAC9B,IAAA,CAAC,CAAC;AACJ;;ACHM,SAAU,oBAAoB,CAClC,KAAsB,EACtB,IAAc,EAAA;AAEd,IAAA,OAAO,eAAe,CAAC,CAAC,SAAS,KAAI;AACnC,QAAA,MAAM,SAAS,GAAG,KAAK,EAAE;AACzB,QAAA,IAAI,SAAS;YAAE;AACf,QAAA,IAAI,IAAI;AAAE,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC;AAC5C,IAAA,CAAC,CAAC;AACJ;;ACRM,SAAU,qBAAqB,CACnC,KAAiC,EACjC,IAAc,EAAA;AAEd,IAAA,OAAO,eAAe,CAAC,CAAC,SAAS,KAAI;AACnC,QAAA,MAAM,UAAU,GAAG,KAAK,EAAE;AAC1B,QAAA,IAAI,SAAS;YAAE;AACf,QAAA,IAAI,IAAI;AAAE,YAAA,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC;AAC9C,IAAA,CAAC,CAAC;AACJ;;SCVgB,2BAA2B,CACzC,GAAW,EACX,KAAsB,EACtB,aAA4B,EAAA;AAE5B,IAAA,OAAO,eAAe,CAAC,CAAC,SAAS,KAAI;AACnC,QAAA,MAAM,OAAO,GAAG,KAAK,EAAE;AAEvB,QAAA,IAAI,SAAS;YAAE;AAEf,QAAA,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,EAAE;AACjC,QAAA,IAAI,CAAC,IAAI;YAAE;AAEX,QAAA,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI;QAExD,IAAI,gBAAgB,EAAE;YACpB;kBACI,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG;kBAC/B,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC;QACtC;aAAO;YACL,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC;QACzC;AACF,IAAA,CAAC,CAAC;AACJ;;ACvBM,SAAU,2BAA2B,CACzC,KAAsB,EACtB,IAAc,EAAA;AAEd,IAAA,OAAO,eAAe,CAAC,CAAC,SAAS,KAAI;AACnC,QAAA,MAAM,gBAAgB,GAAG,KAAK,EAAE;AAChC,QAAA,IAAI,SAAS;YAAE;AACf,QAAA,IAAI,IAAI;AAAE,YAAA,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,gBAAgB,CAAC;AAC1D,IAAA,CAAC,CAAC;AACJ;;ACRM,SAAU,qBAAqB,CACnC,KAAiC,EACjC,IAAc,EAAA;AAEd,IAAA,OAAO,eAAe,CAAC,CAAC,SAAS,KAAI;AACnC,QAAA,MAAM,UAAU,GAAG,KAAK,EAAE;AAC1B,QAAA,IAAI,SAAS;YAAE;AACf,QAAA,IAAI,IAAI;AAAE,YAAA,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC;AAC9C,IAAA,CAAC,CAAC;AACJ;;ACTM,SAAU,uBAAuB,CACrC,KAAmC,EACnC,IAAc,EAAA;AAEd,IAAA,OAAO,eAAe,CAAC,CAAC,SAAS,KAAI;AACnC,QAAA,MAAM,YAAY,GAAG,KAAK,EAAE;AAC5B,QAAA,IAAI,SAAS;YAAE;AACf,QAAA,IAAI,IAAI;AAAE,YAAA,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC;AAClD,IAAA,CAAC,CAAC;AACJ;;ACVM,SAAU,qBAAqB,CACnC,KAAsB,EACtB,IAAc,EAAA;AAEd,IAAA,OAAO,eAAe,CAAC,CAAC,SAAS,KAAI;AACnC,QAAA,MAAM,UAAU,GAAG,KAAK,EAAE;AAC1B,QAAA,IAAI,SAAS;YAAE;AACf,QAAA,IAAI,IAAI;AAAE,YAAA,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC;AAC9C,IAAA,CAAC,CAAC;AACJ;;ACTM,SAAU,iBAAiB,CAC/B,KAAqB,EACrB,IAAc,EAAA;AAEd,IAAA,OAAO,eAAe,CAAC,CAAC,SAAS,KAAI;AACnC,QAAA,MAAM,MAAM,GAAG,KAAK,EAAE;AACtB,QAAA,IAAI,SAAS;YAAE;AACf,QAAA,IAAI,IAAI;AAAE,YAAA,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC;AACtC,IAAA,CAAC,CAAC;AACJ;;ACRM,SAAU,oBAAoB,CAClC,KAAiD,EACjD,IAAc,EAAA;AAEd,IAAA,OAAO,eAAe,CAAC,CAAC,SAAS,KAAI;AACnC,QAAA,MAAM,SAAS,GAAG,KAAK,EAAE;AACzB,QAAA,IAAI,SAAS;YAAE;AACf,QAAA,IAAI,IAAI;AAAE,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC;AAC5C,IAAA,CAAC,CAAC;AACJ;;ACTM,SAAU,2BAA2B,CACzC,KAAuC,EACvC,IAAc,EAAA;AAEd,IAAA,OAAO,eAAe,CAAC,CAAC,SAAS,KAAI;AACnC,QAAA,MAAM,WAAW,GAAG,KAAK,EAAE;AAC3B,QAAA,IAAI,SAAS;YAAE;AACf,QAAA,IAAI,IAAI;AAAE,YAAA,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,WAAW,CAAC;AACrD,IAAA,CAAC,CAAC;AACJ;;ACVM,SAAU,mBAAmB,CACjC,KAAsB,EACtB,IAAc,EAAA;AAEd,IAAA,OAAO,eAAe,CAAC,CAAC,SAAS,KAAI;AACnC,QAAA,MAAM,QAAQ,GAAG,KAAK,EAAE;AACxB,QAAA,IAAI,SAAS;YAAE;AACf,QAAA,IAAI,IAAI;AAAE,YAAA,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC;AAC1C,IAAA,CAAC,CAAC;AACJ;;ACRM,SAAU,qBAAqB,CACnC,KAAkD,EAClD,IAAc,EAAA;AAEd,IAAA,OAAO,eAAe,CAAC,CAAC,SAAS,KAAI;AACnC,QAAA,MAAM,UAAU,GAAG,KAAK,EAAE;AAC1B,QAAA,IAAI,SAAS;YAAE;AACf,QAAA,IAAI,IAAI;AAAE,YAAA,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC;AAC9C,IAAA,CAAC,CAAC;AACJ;;ACVM,SAAU,wBAAwB,CACtC,KAAsB,EACtB,IAAc,EAAA;AAEd,IAAA,OAAO,eAAe,CAAC,CAAC,SAAS,KAAI;AACnC,QAAA,MAAM,aAAa,GAAG,KAAK,EAAE;AAC7B,QAAA,IAAI,SAAS;YAAE;AACf,QAAA,IAAI,IAAI;AAAE,YAAA,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,aAAa,CAAC;AACpD,IAAA,CAAC,CAAC;AACJ;;ACRM,SAAU,qBAAqB,CACnC,KAAmD,EACnD,IAAc,EAAA;AAEd,IAAA,OAAO,eAAe,CAAC,CAAC,SAAS,KAAI;AACnC,QAAA,MAAM,UAAU,GAAG,KAAK,EAAE;AAC1B,QAAA,IAAI,SAAS;YAAE;AACf,QAAA,IAAI,IAAI;AAAE,YAAA,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC;AAC9C,IAAA,CAAC,CAAC;AACJ;;ACTM,SAAU,6BAA6B,CAC3C,KAAsD,EACtD,IAAc,EAAA;AAEd,IAAA,OAAO,eAAe,CAAC,CAAC,SAAS,KAAI;AACnC,QAAA,MAAM,kBAAkB,GAAG,KAAK,EAAE;AAClC,QAAA,IAAI,SAAS;YAAE;AACf,QAAA,IAAI,IAAI;AAAE,YAAA,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,kBAAkB,CAAC;AAC9D,IAAA,CAAC,CAAC;AACJ;;ACVM,SAAU,sBAAsB,CACpC,KAAsB,EACtB,IAAc,EAAA;AAEd,IAAA,OAAO,eAAe,CAAC,CAAC,SAAS,KAAI;AACnC,QAAA,MAAM,WAAW,GAAG,KAAK,EAAE;AAC3B,QAAA,IAAI,SAAS;YAAE;AACf,QAAA,IAAI,IAAI;AAAE,YAAA,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC;AAChD,IAAA,CAAC,CAAC;AACJ;;ACTM,SAAU,0BAA0B,CACxC,KAAkD,EAClD,IAAc,EAAA;AAEd,IAAA,OAAO,eAAe,CAAC,CAAC,SAAS,KAAI;AACnC,QAAA,MAAM,eAAe,GAAG,KAAK,EAAE;AAC/B,QAAA,IAAI,SAAS;YAAE;AACf,QAAA,IAAI,IAAI;AAAE,YAAA,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,eAAe,CAAC;AACxD,IAAA,CAAC,CAAC;AACJ;;ACRM,SAAU,mBAAmB,CACjC,KAAgD,EAChD,IAAc,EAAA;AAEd,IAAA,OAAO,eAAe,CAAC,CAAC,SAAS,KAAI;AACnC,QAAA,MAAM,QAAQ,GAAG,KAAK,EAAE;AACxB,QAAA,IAAI,SAAS;YAAE;AACf,QAAA,IAAI,IAAI;AAAE,YAAA,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC;AAC1C,IAAA,CAAC,CAAC;AACJ;;ACTM,SAAU,wBAAwB,CACtC,KAAoC,EACpC,IAAc,EAAA;AAEd,IAAA,OAAO,eAAe,CAAC,CAAC,SAAS,KAAI;AACnC,QAAA,MAAM,aAAa,GAAG,KAAK,EAAE;AAC7B,QAAA,IAAI,SAAS;YAAE;AACf,QAAA,IAAI,IAAI;AAAE,YAAA,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,aAAa,CAAC;AACpD,IAAA,CAAC,CAAC;AACJ;;ACTM,SAAU,iBAAiB,CAC/B,KAA6B,EAC7B,IAAc,EAAA;AAEd,IAAA,OAAO,eAAe,CAAC,CAAC,SAAS,KAAI;AACnC,QAAA,MAAM,MAAM,GAAG,KAAK,EAAE;AACtB,QAAA,IAAI,SAAS;YAAE;AACf,QAAA,IAAI,IAAI;AAAE,YAAA,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC;AACtC,IAAA,CAAC,CAAC;AACJ;;ACTM,SAAU,2BAA2B,CACzC,KAAuC,EACvC,IAAc,EAAA;AAEd,IAAA,OAAO,eAAe,CAAC,CAAC,SAAS,KAAI;AACnC,QAAA,MAAM,gBAAgB,GAAG,KAAK,EAAE;AAChC,QAAA,IAAI,SAAS;YAAE;AACf,QAAA,IAAI,IAAI;AAAE,YAAA,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,gBAAgB,CAAC;AAC1D,IAAA,CAAC,CAAC;AACJ;;ACTM,SAAU,oBAAoB,CAClC,KAAgC,EAChC,IAAc,EAAA;AAEd,IAAA,OAAO,eAAe,CAAC,CAAC,SAAS,KAAI;AACnC,QAAA,MAAM,SAAS,GAAG,KAAK,EAAE;AACzB,QAAA,IAAI,SAAS;YAAE;AACf,QAAA,IAAI,IAAI;AAAE,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC;AAC5C,IAAA,CAAC,CAAC;AACJ;;ACTM,SAAU,uBAAuB,CACrC,KAAmC,EACnC,IAAc,EAAA;AAEd,IAAA,OAAO,eAAe,CAAC,CAAC,SAAS,KAAI;AACnC,QAAA,MAAM,YAAY,GAAG,KAAK,EAAE;AAC5B,QAAA,IAAI,SAAS;YAAE;AACf,QAAA,IAAI,IAAI;AAAE,YAAA,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC;AAClD,IAAA,CAAC,CAAC;AACJ;;MCTa,+BAA+B,CAAA;AACvB,IAAA,QAAA;AAAnB,IAAA,WAAA,CAAmB,QAA0B,EAAA;QAA1B,IAAA,CAAA,QAAQ,GAAR,QAAQ;IAAqB;uGADrC,+BAA+B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAA/B,+BAA+B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAA/B,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAH3C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,0BAA0B;AACrC,iBAAA;;;MCCY,gCAAgC,CAAA;AACxB,IAAA,QAAA;AAAnB,IAAA,WAAA,CAAmB,QAA0B,EAAA;QAA1B,IAAA,CAAA,QAAQ,GAAR,QAAQ;IAAqB;uGADrC,gCAAgC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAhC,gCAAgC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAhC,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAH5C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,2BAA2B;AACtC,iBAAA;;;MCCY,oCAAoC,CAAA;AAC5B,IAAA,QAAA;AAAnB,IAAA,WAAA,CAAmB,QAA0B,EAAA;QAA1B,IAAA,CAAA,QAAQ,GAAR,QAAQ;IAAqB;uGADrC,oCAAoC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAApC,oCAAoC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAApC,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBAHhD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,+BAA+B;AAC1C,iBAAA;;;MCCY,oCAAoC,CAAA;AAC5B,IAAA,QAAA;AAAnB,IAAA,WAAA,CAAmB,QAA0B,EAAA;QAA1B,IAAA,CAAA,QAAQ,GAAR,QAAQ;IAAqB;uGADrC,oCAAoC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAApC,oCAAoC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAApC,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBAHhD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,+BAA+B;AAC1C,iBAAA;;;MCAY,oBAAoB,CAAA;AACX,IAAA,MAAA;AAApB,IAAA,WAAA,CAAoB,MAAsB,EAAA;QAAtB,IAAA,CAAA,MAAM,GAAN,MAAM;IAAmB;AAE7C,IAAA,KAAK,CACH,QAAwB,EACxB,SAAsB,EACtB,OAAU,EAAA;QAEV,MAAM,OAAO,GAAG,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC;AACpD,QAAA,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;QAC/B,OAAO,CAAC,aAAa,EAAE;AAEvB,QAAA,MAAM,IAAI,GAAG,QAAQ,CAAC,sBAAsB,EAAE;AAC9C,QAAA,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,SAAS;AAAE,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;AAC5D,QAAA,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC;QAE3B,OAAO;AACL,YAAA,MAAM,EAAE,CAAC,OAAmB,KAAI;gBAC9B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAc,EAAE,OAAO,CAAC;gBAC9C,OAAO,CAAC,aAAa,EAAE;YACzB,CAAC;YACD,OAAO,EAAE,MAAK;AACZ,gBAAA,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;gBAC/B,OAAO,CAAC,OAAO,EAAE;YACnB,CAAC;YACD,OAAO;SACR;IACH;uGA3BW,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAApB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cADP,MAAM,EAAA,CAAA;;2FACnB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;SCElB,oBAAoB,CAClC,GAAgB,EAChB,QAAsC,EACtC,oBAA0C,EAAA;AAE1C,IAAA,IAAI,CAAC,QAAQ;AAAE,QAAA,OAAO,IAAI;AAE1B,IAAA,MAAM,GAAG,GAAG;QACV,SAAS,EAAE,GAAG,CAAC,OAAO;QACtB,OAAO,EAAE,GAAG,CAAC,OAAO;KACrB;AAED,IAAA,OAAO,oBAAoB,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC;AACjE;;SCbgB,qBAAqB,CACnC,GAAiB,EACjB,QAAsC,EACtC,oBAA0C,EAAA;AAE1C,IAAA,IAAI,CAAC,QAAQ;AAAE,QAAA,OAAO,IAAI;AAE1B,IAAA,MAAM,GAAG,GAAG;QACV,SAAS,EAAE,GAAG,CAAC,OAAO;QACtB,OAAO,EAAE,GAAG,CAAC,OAAO;KACrB;AAED,IAAA,OAAO,oBAAoB,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC;AACjE;;SCbgB,mBAAmB,CACjC,GAAe,EACf,QAAsC,EACtC,oBAA0C,EAAA;AAE1C,IAAA,IAAI,CAAC,QAAQ;AAAE,QAAA,OAAO,IAAI;AAE1B,IAAA,MAAM,GAAG,GAAG;QACV,SAAS,EAAE,GAAG,CAAC,OAAO;AACtB,QAAA,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK;AACxB,QAAA,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO;KAC7B;AAED,IAAA,OAAO,oBAAoB,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC;AACjE;;SCdgB,0BAA0B,CACxC,GAAsB,EACtB,QAAsC,EACtC,oBAA0C,EAAA;AAE1C,IAAA,IAAI,CAAC,QAAQ;AAAE,QAAA,OAAO,IAAI;AAE1B,IAAA,MAAM,GAAG,GAAG;QACV,SAAS,EAAE,GAAG,CAAC,OAAO;AACtB,QAAA,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK;AACxB,QAAA,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM;AAC1B,QAAA,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS;AAChC,QAAA,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ;KAC/B;AAED,IAAA,OAAO,oBAAoB,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC;AACjE;;SChBgB,0BAA0B,CACxC,GAAsB,EACtB,QAAsC,EACtC,oBAA0C,EAAA;AAE1C,IAAA,IAAI,CAAC,QAAQ;AAAE,QAAA,OAAO,IAAI;AAE1B,IAAA,MAAM,GAAG,GAAG;QACV,SAAS,EAAE,GAAG,CAAC,OAAO;AACtB,QAAA,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK;AACxB,QAAA,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM;AAC1B,QAAA,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS;AAChC,QAAA,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ;AAC9B,QAAA,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM;AAC1B,QAAA,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI;KACvB;AAED,IAAA,OAAO,oBAAoB,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC;AACjE;;SClBgB,wBAAwB,CACtC,GAAoB,EACpB,QAAsC,EACtC,oBAA0C,EAAA;AAE1C,IAAA,IAAI,CAAC,QAAQ;AAAE,QAAA,OAAO,IAAI;AAE1B,IAAA,MAAM,GAAG,GAAG;QACV,SAAS,EAAE,GAAG,CAAC,OAAO;AACtB,QAAA,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG;AACpB,QAAA,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK;AACxB,QAAA,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK;AACxB,QAAA,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM;AAC1B,QAAA,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS;AAChC,QAAA,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ;AAC9B,QAAA,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ;KAC/B;AAED,IAAA,OAAO,oBAAoB,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC;AACjE;;SCnBgB,yBAAyB,CACvC,GAAqB,EACrB,QAAsC,EACtC,oBAA0C,EAAA;AAE1C,IAAA,IAAI,CAAC,QAAQ;AAAE,QAAA,OAAO,IAAI;AAE1B,IAAA,MAAM,GAAG,GAAG;QACV,SAAS,EAAE,GAAG,CAAC,OAAO;AACtB,QAAA,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM;AAC1B,QAAA,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK;AACxB,QAAA,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS;KACjC;AAED,IAAA,OAAO,oBAAoB,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC;AACjE;;SCfgB,6BAA6B,CAC3C,GAAqB,EACrB,QAAsC,EACtC,oBAA0C,EAAA;AAE1C,IAAA,IAAI,CAAC,QAAQ;AAAE,QAAA,OAAO,IAAI;AAE1B,IAAA,MAAM,GAAG,GAAG;QACV,SAAS,EAAE,GAAG,CAAC,OAAO;AACtB,QAAA,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM;AAC1B,QAAA,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK;AACxB,QAAA,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS;KACjC;AAED,IAAA,OAAO,oBAAoB,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC;AACjE;;SCfgB,yBAAyB,CACvC,GAAqB,EACrB,QAAsC,EACtC,oBAA0C,EAAA;AAE1C,IAAA,IAAI,CAAC,QAAQ;AAAE,QAAA,OAAO,IAAI;AAE1B,IAAA,MAAM,GAAG,GAAG;QACV,SAAS,EAAE,GAAG,CAAC,OAAO;AACtB,QAAA,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM;AAC1B,QAAA,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK;AACxB,QAAA,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS;KACjC;AAED,IAAA,OAAO,oBAAoB,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC;AACjE;;SCfgB,6BAA6B,CAC3C,GAAyB,EACzB,QAAsC,EACtC,oBAA0C,EAAA;AAE1C,IAAA,IAAI,CAAC,QAAQ;AAAE,QAAA,OAAO,IAAI;AAE1B,IAAA,MAAM,GAAG,GAAG;QACV,SAAS,EAAE,GAAG,CAAC,OAAO;AACtB,QAAA,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM;AAC1B,QAAA,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK;AACxB,QAAA,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS;KACjC;AAED,IAAA,OAAO,oBAAoB,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC;AACjE;;SCfgB,uBAAuB,CACrC,GAAmB,EACnB,QAAsC,EACtC,oBAA0C,EAAA;AAE1C,IAAA,IAAI,CAAC,QAAQ;AAAE,QAAA,OAAO,IAAI;AAE1B,IAAA,MAAM,GAAG,GAAG;QACV,SAAS,EAAE,GAAG,CAAC,OAAO;QACtB,SAAS,EAAE,GAAG,CAAC,OAAO;KACvB;AAED,IAAA,OAAO,oBAAoB,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC;AACjE;;SCbgB,qBAAqB,CACnC,GAAiB,EACjB,QAAsC,EACtC,oBAA0C,EAAA;AAE1C,IAAA,IAAI,CAAC,QAAQ;AAAE,QAAA,OAAO,IAAI;AAE1B,IAAA,MAAM,GAAG,GAAG;QACV,SAAS,EAAE,GAAG,CAAC,OAAO;QACtB,OAAO,EAAE,GAAG,CAAC,OAAO;KACrB;AAED,IAAA,OAAO,oBAAoB,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC;AACjE;;MCAa,sBAAsB,CAAA;AACzB,IAAA,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,CAAC;AAE3D,IAAA,YAAY,CAAC,SAA2B,EAAA;AACtC,QAAA,MAAM,eAAe,GAAG,IAAI,GAAG,EAA4B;AAC3D,QAAA,MAAM,eAAe,GAAG,IAAI,GAAG,EAA4B;AAC3D,QAAA,MAAM,aAAa,GAAG,IAAI,GAAG,EAA4B;AACzD,QAAA,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAA4B;AACpE,QAAA,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAA4B;QAEpE,OAAO;AACL,YAAA,oBAAoB,EAAE,CAAC,GAAG,KACxB,oBAAoB,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,oBAAoB,CAAC;AACxE,YAAA,qBAAqB,EAAE,CAAC,GAAG,KACzB,qBAAqB,CACnB,GAAG,EACH,SAAS,CAAC,OAAO,EACjB,IAAI,CAAC,oBAAoB,CAC1B;AACH,YAAA,mBAAmB,EAAE,CAAC,GAAG,KACvB,mBAAmB,CAAC,GAAG,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,oBAAoB,CAAC;AACtE,YAAA,yBAAyB,EAAE,CAAC,GAAG,KAC7B,yBAAyB,CACvB,GAAG,EACH,SAAS,CAAC,WAAW,EACrB,IAAI,CAAC,oBAAoB,CAC1B;AACH,YAAA,yBAAyB,EAAE,CAAC,GAAG,KAC7B,yBAAyB,CACvB,GAAG,EACH,SAAS,CAAC,WAAW,EACrB,IAAI,CAAC,oBAAoB,CAC1B;AACH,YAAA,0BAA0B,EAAE,CAAC,GAAG,KAAI;AAClC,gBAAA,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC;gBACtD,OAAO,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,oBAAoB,CAAC;YACxE,CAAC;AACD,YAAA,4BAA4B,EAAE,CAAC,GAAG,EAAE,GAAG,KAAI;AACzC,gBAAA,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,GAAuB,CAAC;YACnD,CAAC;AACD,YAAA,0BAA0B,EAAE,CAAC,GAAG,KAAI;AAClC,gBAAA,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC;gBACtD,OAAO,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,oBAAoB,CAAC;YACxE,CAAC;AACD,YAAA,4BAA4B,EAAE,CAAC,GAAG,EAAE,GAAG,KAAI;AACzC,gBAAA,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,GAAuB,CAAC;YACnD,CAAC;AACD,YAAA,wBAAwB,EAAE,CAAC,GAAG,KAAI;AAChC,gBAAA,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC;gBACpD,OAAO,wBAAwB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,oBAAoB,CAAC;YACtE,CAAC;AACD,YAAA,0BAA0B,EAAE,CAAC,GAAG,EAAE,GAAG,KAAI;AACvC,gBAAA,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,GAAuB,CAAC;YACjD,CAAC;AACD,YAAA,6BAA6B,EAAE,CAAC,GAAG,KAAI;AACrC,gBAAA,MAAM,GAAG,GAAG,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC;gBAC/D,OAAO,6BAA6B,CAClC,GAAG,EACH,GAAG,EACH,IAAI,CAAC,oBAAoB,CAC1B;YACH,CAAC;AACD,YAAA,+BAA+B,EAAE,CAAC,GAAG,EAAE,GAAG,KAAI;AAC5C,gBAAA,wBAAwB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAuB,CAAC;YAC5D,CAAC;AACD,YAAA,6BAA6B,EAAE,CAAC,GAAG,KAAI;AACrC,gBAAA,MAAM,GAAG,GAAG,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC;gBAC/D,OAAO,6BAA6B,CAClC,GAAG,EACH,GAAG,EACH,IAAI,CAAC,oBAAoB,CAC1B;YACH,CAAC;AACD,YAAA,+BAA+B,EAAE,CAAC,GAAG,EAAE,GAAG,KAAI;AAC5C,gBAAA,wBAAwB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAuB,CAAC;YAC5D,CAAC;AACD,YAAA,uBAAuB,EAAE,CAAC,GAAG,KAC3B,uBAAuB,CACrB,GAAG,EACH,SAAS,CAAC,SAAS,EACnB,IAAI,CAAC,oBAAoB,CAC1B;AACH,YAAA,qBAAqB,EAAE,CAAC,GAAG,KACzB,qBAAqB,CACnB,GAAG,EACH,SAAS,CAAC,OAAO,EACjB,IAAI,CAAC,oBAAoB,CAC1B;SACJ;IACH;uGAzFW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAtB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cADT,MAAM,EAAA,CAAA;;2FACnB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBADlC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACd5B,SAAU,qBAAqB,CACnC,GAAqC,EAAA;IAErC,OAAO,GAAG,EAAE,QAAQ;AACtB;;ACJM,SAAU,sBAAsB,CACpC,GAAsC,EAAA;IAEtC,OAAO,GAAG,EAAE,QAAQ;AACtB;;ACJM,SAAU,oBAAoB,CAClC,GAAoC,EAAA;IAEpC,OAAO,GAAG,EAAE,QAAQ;AACtB;;ACJM,SAAU,0BAA0B,CACxC,GAA0C,EAAA;IAE1C,OAAO,GAAG,EAAE,QAAQ;AACtB;;ACJM,SAAU,0BAA0B,CACxC,GAA0C,EAAA;IAE1C,OAAO,GAAG,EAAE,QAAQ;AACtB;;ACJM,SAAU,wBAAwB,CACtC,GAAwC,EAAA;IAExC,OAAO,GAAG,EAAE,QAAQ;AACtB;;ACJM,SAAU,sBAAsB,CACpC,GAAsC,EAAA;IAEtC,OAAO,GAAG,EAAE,QAAQ;AACtB;;MCWa,wBAAwB,CAAA;AACnC,IAAA,OAAO,CACL,YAA8C,EAC9C,aAAgD,EAChD,WAA4C,EAC5C,iBAAwD,EACxD,iBAAwD,EACxD,eAAoD,EACpD,aAAgD,EAAA;QAEhD,OAAO;AACL,YAAA,MAAM,EAAE,qBAAqB,CAAC,YAAY,CAAC;AAC3C,YAAA,OAAO,EAAE,sBAAsB,CAAC,aAAa,CAAC;AAC9C,YAAA,KAAK,EAAE,oBAAoB,CAAC,WAAW,CAAC;AACxC,YAAA,WAAW,EAAE,0BAA0B,CAAC,iBAAiB,CAAC;AAC1D,YAAA,WAAW,EAAE,0BAA0B,CAAC,iBAAiB,CAAC;AAC1D,YAAA,SAAS,EAAE,wBAAwB,CAAC,eAAe,CAAC;AACpD,YAAA,OAAO,EAAE,sBAAsB,CAAC,aAAa,CAAC;SAC/C;IACH;uGAnBW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAxB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cADX,MAAM,EAAA,CAAA;;2FACnB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;MCZrB,8BAA8B,CAAA;AACtB,IAAA,QAAA;AAAnB,IAAA,WAAA,CAAmB,QAA0B,EAAA;QAA1B,IAAA,CAAA,QAAQ,GAAR,QAAQ;IAAqB;uGADrC,8BAA8B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAA9B,8BAA8B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAA9B,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAH1C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,yBAAyB;AACpC,iBAAA;;;ACAK,SAAU,uBAAuB,CACrC,gBAAoD,EAAA;IAEpD,MAAM,OAAO,GAAqB,EAAE;AACpC,IAAA,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE;AACtC,QAAA,MAAM,GAAG,GAAmB;AAC1B,YAAA,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;AACxB,YAAA,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE;AACtB,YAAA,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE;AACtB,YAAA,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE;AAC5B,YAAA,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,QAAQ;AACxC,YAAA,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;AAC1B,YAAA,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE;YAC5B,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,IAAI,OAAO,CAAC,wBAAwB;AACxE,YAAA,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;AACxB,YAAA,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE;YAChC,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI,OAAO,CAAC,sBAAsB;AAClE,YAAA,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE;AAChC,YAAA,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE;SAC/B;AACD,QAAA,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;IACnB;AACA,IAAA,OAAO,OAAO;AAChB;;MCrBa,aAAa,CAAA;AAChB,IAAA,KAAK,GAAG,MAAM,CAAkB,IAAI,iDAAC;AAC7C,IAAA,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;AAEtB,IAAA,OAAO;AACP,IAAA,sBAAsB,GAAG,IAAI,GAAG,EAA4B;AAC5D,IAAA,sBAAsB,GAAG,IAAI,GAAG,EAA4B;AAC5D,IAAA,oBAAoB,GAAG,IAAI,GAAG,EAA4B;AAC1D,IAAA,+BAA+B,GAAG,IAAI,GAAG,EAA4B;AACrE,IAAA,+BAA+B,GAAG,IAAI,GAAG,EAA4B;AAE7E,IAAA,OAAO,CAAC,IAAc,EAAA;AACpB,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;IACtB;AAEA,IAAA,UAAU,CAAC,OAAwB,EAAA;AACjC,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;;QAEtB,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,KAAI;YAC/C,IAAI,CAAC,OAAQ,CAAC,4BAA4B,GAAG,GAAG,EAAE,GAAG,CAAC;AACxD,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE;QAEnC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,KAAI;YAC/C,IAAI,CAAC,OAAQ,CAAC,4BAA4B,GAAG,GAAG,EAAE,GAAG,CAAC;AACxD,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE;QAEnC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,KAAI;YAC7C,IAAI,CAAC,OAAQ,CAAC,0BAA0B,GAAG,GAAG,EAAE,GAAG,CAAC;AACtD,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE;QAEjC,IAAI,CAAC,+BAA+B,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,KAAI;YACxD,IAAI,CAAC,OAAQ,CAAC,+BAA+B,GAAG,GAAG,EAAE,GAAG,CAAC;AAC3D,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,+BAA+B,CAAC,KAAK,EAAE;QAE5C,IAAI,CAAC,+BAA+B,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,KAAI;YACxD,IAAI,CAAC,OAAQ,CAAC,+BAA+B,GAAG,GAAG,EAAE,GAAG,CAAC;AAC3D,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,+BAA+B,CAAC,KAAK,EAAE;IAC9C;IAEA,sBAAsB,CAAC,GAAW,EAAE,GAAqB,EAAA;AACvD,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,4BAA4B,GAAG,GAAG,EAAE,GAAG,CAAC;QACvD;aAAO;YACL,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;QAC3C;IACF;IAEA,sBAAsB,CAAC,GAAW,EAAE,GAAqB,EAAA;AACvD,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,4BAA4B,GAAG,GAAG,EAAE,GAAG,CAAC;QACvD;aAAO;YACL,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;QAC3C;IACF;IAEA,oBAAoB,CAAC,GAAW,EAAE,GAAqB,EAAA;AACrD,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,0BAA0B,GAAG,GAAG,EAAE,GAAG,CAAC;QACrD;aAAO;YACL,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;QACzC;IACF;IAEA,+BAA+B,CAAC,GAAW,EAAE,GAAqB,EAAA;AAChE,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,+BAA+B,GAAG,GAAG,EAAE,GAAG,CAAC;QAC1D;aAAO;YACL,IAAI,CAAC,+BAA+B,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;QACpD;IACF;IAEA,+BAA+B,CAAC,GAAW,EAAE,GAAqB,EAAA;AAChE,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,+BAA+B,GAAG,GAAG,EAAE,GAAG,CAAC;QAC1D;aAAO;YACL,IAAI,CAAC,+BAA+B,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;QACpD;IACF;AAEA,IAAA,uBAAuB,GAAGA,uBAA+B;uGApF9C,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAb,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cADA,MAAM,EAAA,CAAA;;2FACnB,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;MCArB,qCAAqC,CAAA;AAC7B,IAAA,QAAA;AAAnB,IAAA,WAAA,CAAmB,QAA0B,EAAA;QAA1B,IAAA,CAAA,QAAQ,GAAR,QAAQ;IAAqB;uGADrC,qCAAqC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAArC,qCAAqC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAArC,qCAAqC,EAAA,UAAA,EAAA,CAAA;kBAHjD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gCAAgC;AAC3C,iBAAA;;;MCCY,qCAAqC,CAAA;AAC7B,IAAA,QAAA;AAAnB,IAAA,WAAA,CAAmB,QAA0B,EAAA;QAA1B,IAAA,CAAA,QAAQ,GAAR,QAAQ;IAAqB;uGADrC,qCAAqC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAArC,qCAAqC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAArC,qCAAqC,EAAA,UAAA,EAAA,CAAA;kBAHjD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gCAAgC;AAC3C,iBAAA;;;MCCY,mCAAmC,CAAA;AAC3B,IAAA,QAAA;AAAnB,IAAA,WAAA,CAAmB,QAA0B,EAAA;QAA1B,IAAA,CAAA,QAAQ,GAAR,QAAQ;IAAqB;uGADrC,mCAAmC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAnC,mCAAmC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAnC,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAH/C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,8BAA8B;AACzC,iBAAA;;;MCCY,mCAAmC,CAAA;AAC3B,IAAA,QAAA;AAAnB,IAAA,WAAA,CAAmB,QAA0B,EAAA;QAA1B,IAAA,CAAA,QAAQ,GAAR,QAAQ;IAAqB;uGADrC,mCAAmC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAnC,mCAAmC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAnC,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAH/C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,8BAA8B;AACzC,iBAAA;;;MCCY,wCAAwC,CAAA;AAChC,IAAA,QAAA;AAAnB,IAAA,WAAA,CAAmB,QAA0B,EAAA;QAA1B,IAAA,CAAA,QAAQ,GAAR,QAAQ;IAAqB;uGADrC,wCAAwC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAxC,wCAAwC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAxC,wCAAwC,EAAA,UAAA,EAAA,CAAA;kBAHpD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mCAAmC;AAC9C,iBAAA;;;MCCY,wCAAwC,CAAA;AAChC,IAAA,QAAA;AAAnB,IAAA,WAAA,CAAmB,QAA0B,EAAA;QAA1B,IAAA,CAAA,QAAQ,GAAR,QAAQ;IAAqB;uGADrC,wCAAwC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAxC,wCAAwC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAxC,wCAAwC,EAAA,UAAA,EAAA,CAAA;kBAHpD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mCAAmC;AAC9C,iBAAA;;;MCCY,mCAAmC,CAAA;AAC3B,IAAA,QAAA;AAAnB,IAAA,WAAA,CAAmB,QAA0B,EAAA;QAA1B,IAAA,CAAA,QAAQ,GAAR,QAAQ;IAAqB;uGADrC,mCAAmC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAnC,mCAAmC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAnC,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAH/C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,8BAA8B;AACzC,iBAAA;;;MCOY,2BAA2B,CAAA;AAS5B,IAAA,QAAA;AACA,IAAA,YAAA;AATV,IAAA,OAAO;AACP,IAAA,cAAc;IAEN,UAAU,GAAkC,IAAI;IAChD,SAAS,GAAwB,IAAI;AACrC,IAAA,OAAO;IAEf,WAAA,CACU,QAA0B,EAC1B,YAAkC,EAAA;QADlC,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,YAAY,GAAZ,YAAY;IACnB;AAEH,IAAA,KAAK,CAAC,KAAsB,EAAA;AAC1B,QAAA,MAAM,GAAG,GAA0B;;AAEjC,YAAA,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;AAC1B,YAAA,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM;AAC5B,YAAA,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS;AAClC,YAAA,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ;;YAEhC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAClC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YACxC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;;AAExC,YAAA,MAAM,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YACnC,KAAK,EAAE,MAAM,IAAI,CAAC,SAAS,IAAI;SAChC;AAED,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC;AAC3E,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO;AAE7B,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CACtC,CAAC,CAAC,KAAK,CAAC,YAAY,WAAW,CACjB;;AAGhB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;;QAGnB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAgB;AAExE,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;;AAExB,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO;QACpC;IACF;;AAGA,IAAA,QAAQ,CAAC,KAAU,EAAA;QACjB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE;QACnB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;AACrC,QAAA,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;IAC9B;AAEA,IAAA,WAAW,CAAC,QAAiB,EAAA;QAC3B,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE;QACnB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC3C,QAAA,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;IAC9B;AAEA,IAAA,aAAa,CAAC,EAAwB,EAAA;AACpC,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE;IACtB;AAEA,IAAA,OAAO,CAAC,EAAc,EAAA;AACpB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;IAEA,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE;IACzB;AACD;;AC3EK,SAAU,2BAA2B,CACzC,QAA0B,EAC1B,YAAkC,EAAA;AAElC,IAAA,OAAO,CAAC,MAAsB,EAAE,IAAc,KAAI;;;AAGhD,QAAA,OAAO,IAAI,2BAA2B,CAAC,QAAQ,EAAE,YAAY,CAAC;AAChE,IAAA,CAAC;AACH;;MCPa,yBAAyB,CAAA;AAU1B,IAAA,QAAA;AACA,IAAA,YAAA;AAVV,IAAA,OAAO;AACP,IAAA,cAAc;IAEN,UAAU,GAAkC,IAAI;IAChD,UAAU,GAAkC,IAAI;IAChD,UAAU,GAAwB,IAAI;AACtC,IAAA,OAAO;IAEf,WAAA,CACU,QAA0B,EAC1B,YAAkC,EAAA;QADlC,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,YAAY,GAAZ,YAAY;IACnB;AAEH,IAAA,KAAK,CAAC,KAAsB,EAAA;AAC1B,QAAA,MAAM,GAAG,GAA8B;;AAErC,YAAA,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;AAC1B,YAAA,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM;AAC5B,YAAA,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS;AAClC,YAAA,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ;AAChC,YAAA,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;;YAE1B,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAClC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;;AAExC,YAAA,MAAM,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AACnC,YAAA,MAAM,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YACnC,MAAM,EAAE,MAAM,IAAI,CAAC,UAAU,IAAI;AACjC,YAAA,SAAS,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC;SACjD;AAED,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC;AAC3E,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO;AAE7B,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CACtC,CAAC,CAAC,KAAK,CAAC,YAAY,WAAW,CACjB;;AAGhB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;;QAGnB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAgB;AAExE,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;;AAExB,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO;QACpC;IACF;;AAGA,IAAA,QAAQ,CAAC,KAAU,EAAA;QACjB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE;QACnB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;AACrC,QAAA,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;IAC9B;AAEA,IAAA,WAAW,CAAC,QAAiB,EAAA;QAC3B,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE;QACnB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC3C,QAAA,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;IAC9B;AAEA,IAAA,aAAa,CAAC,EAAwB,EAAA;AACpC,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE;IACtB;AAEA,IAAA,QAAQ,CAAC,EAAwB,EAAA;AAC/B,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE;IACtB;AAEA,IAAA,QAAQ,CAAC,EAAc,EAAA;AACrB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE;IACtB;IAEA,SAAS,CAAC,KAAoB,EAAE,GAA8B,EAAA;AAC5D,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE;YACzB,KAAK,CAAC,cAAc,EAAE;YACtB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACzB;AACA,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;YAC1B,KAAK,CAAC,cAAc,EAAE;YACtB,GAAG,CAAC,MAAM,EAAE;QACd;IACF;IAEA,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE;IACzB;AACD;;AC5FK,SAAU,yBAAyB,CACvC,QAA0B,EAC1B,YAAkC,EAAA;IAElC,OAAO,CACL,MAAsB,EACtB,KAAa,EACb,IAAc,EACd,YAAiB,KACf;;;AAGF,QAAA,OAAO,IAAI,yBAAyB,CAAC,QAAQ,EAAE,YAAY,CAAC;AAC9D,IAAA,CAAC;AACH;;MCca,uBAAuB,CAAA;AAG1B,IAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,IAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AACrC,IAAA,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,CAAC;AAC3D,IAAA,wBAAwB;AACxB,IAAA,sBAAsB;AAEtB,IAAA,MAAM,GAAG,KAAK,CAAC,QAAQ,iDAAU;AACjC,IAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,gDAAU;IAChC,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;AACvB,IAAA,OAAO,GAAG,KAAK,CAAU,IAAI,mDAAC;IAC9B,QAAQ,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,UAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;IAC1B,QAAQ,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,UAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;AAC1B,IAAA,QAAQ,GAAG,KAAK,CAAuC,KAAK,oDAAC;IAC7D,YAAY,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,cAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAiC;IACrD,MAAM,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,QAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAwB;AACtC,IAAA,UAAU,GAAG,KAAK,CAAU,IAAI,sDAAC;IACjC,UAAU,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,YAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAA+B;AACjD,IAAA,UAAU,GAAG,KAAK,CAAU,IAAI,sDAAC;AACjC,IAAA,SAAS,GAAG,KAAK,CAAU,KAAK,qDAAC;AAEjC,IAAA,sBAAsB;AAGtB,IAAA,iBAAiB;AAEjB,IAAA,iBAAiB;AAEjB,IAAA,eAAe;AAEf,IAAA,qBAAqB;AAErB,IAAA,0BAA0B;AAE1B,IAAA,0BAA0B;AAE1B,IAAA,qBAAqB;IAErB,eAAe,GAAA;AACb,QAAA,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAK;YACxC,IAAI,CAAC,sBAAsB,GAAGC,2BAAmC,CAC/D,CAAA,EAAG,IAAI,CAAC,KAAK,EAAE,CAAA,EAAA,EAAK,IAAI,CAAC,MAAM,EAAE,CAAA,CAAE,EACnC,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,aAAa,CACnB;AACH,QAAA,CAAC,CAAC;IACJ;IAEA,kBAAkB,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,aAAa,CAAC,sBAAsB,CACvC,CAAA,EAAG,IAAI,CAAC,KAAK,EAAE,CAAA,EAAA,EAAK,IAAI,CAAC,MAAM,EAAE,CAAA,CAAE,EACnC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAChC;QACH;AACA,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,aAAa,CAAC,sBAAsB,CACvC,CAAA,EAAG,IAAI,CAAC,KAAK,EAAE,CAAA,EAAA,EAAK,IAAI,CAAC,MAAM,EAAE,CAAA,CAAE,EACnC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAChC;QACH;AACA,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,aAAa,CAAC,oBAAoB,CACrC,CAAA,EAAG,IAAI,CAAC,KAAK,EAAE,CAAA,EAAA,EAAK,IAAI,CAAC,MAAM,EAAE,CAAA,CAAE,EACnC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAC9B;QACH;AACA,QAAA,IAAI,IAAI,CAAC,qBAAqB,EAAE;AAC9B,YAAA,IAAI,CAAC,wBAAwB,GAAG,2BAA2B,CACzD,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EACnC,IAAI,CAAC,oBAAoB,CAC1B;QACH;AACA,QAAA,IAAI,IAAI,CAAC,0BAA0B,EAAE;YACnC,IAAI,CAAC,aAAa,CAAC,+BAA+B,CAChD,CAAA,EAAG,IAAI,CAAC,KAAK,EAAE,CAAA,EAAA,EAAK,IAAI,CAAC,MAAM,EAAE,CAAA,CAAE,EACnC,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CACzC;QACH;AACA,QAAA,IAAI,IAAI,CAAC,0BAA0B,EAAE;YACnC,IAAI,CAAC,aAAa,CAAC,+BAA+B,CAChD,CAAA,EAAG,IAAI,CAAC,KAAK,EAAE,CAAA,EAAA,EAAK,IAAI,CAAC,MAAM,EAAE,CAAA,CAAE,EACnC,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CACzC;QACH;AACA,QAAA,IAAI,IAAI,CAAC,qBAAqB,EAAE;AAC9B,YAAA,IAAI,CAAC,sBAAsB,GAAG,yBAAyB,CACrD,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EACnC,IAAI,CAAC,oBAAoB,CAC1B;QACH;IACF;uGA7FW,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,2wDAyBpB,qCAAqC,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAErC,qCAAqC,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAErC,mCAAmC,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAEnC,mCAAmC,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,4BAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAEnC,wCAAwC,6FAExC,wCAAwC,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAExC,mCAAmC,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAxCvC,EAAE,2DADF,YAAY,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAIX,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBANnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,WAAW;oBACrB,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA;;sBA0BE,YAAY;uBAAC,qCAAqC;;sBAElD,YAAY;uBAAC,qCAAqC;;sBAElD,YAAY;uBAAC,mCAAmC;;sBAEhD,YAAY;uBAAC,mCAAmC;;sBAEhD,YAAY;uBAAC,wCAAwC;;sBAErD,YAAY;uBAAC,wCAAwC;;sBAErD,YAAY;uBAAC,mCAAmC;;;MCpEtC,kCAAkC,CAAA;AAC1B,IAAA,QAAA;AAAnB,IAAA,WAAA,CAAmB,QAA0B,EAAA;QAA1B,IAAA,CAAA,QAAQ,GAAR,QAAQ;IAAqB;uGADrC,kCAAkC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAlC,kCAAkC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAlC,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAH9C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,6BAA6B;AACxC,iBAAA;;;MCCY,gCAAgC,CAAA;AACxB,IAAA,QAAA;AAAnB,IAAA,WAAA,CAAmB,QAA0B,EAAA;QAA1B,IAAA,CAAA,QAAQ,GAAR,QAAQ;IAAqB;uGADrC,gCAAgC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAhC,gCAAgC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAhC,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAH5C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,2BAA2B;AACtC,iBAAA;;;MCoDY,iBAAiB,CAAA;IAGpB,IAAI,GAAoB,IAAI;AAC5B,IAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,IAAA,cAAc,GAAG,MAAM,CAAC,sBAAsB,CAAC;AAC/C,IAAA,iBAAiB,GAAG,MAAM,CAAC,wBAAwB,CAAC;AACpD,IAAA,SAAS;AACT,IAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AAER,IAAA,OAAO;AAG5C,IAAA,iBAAiB;AAEjB,IAAA,kBAAkB;AAElB,IAAA,gBAAgB;AAEhB,IAAA,sBAAsB;AAEtB,IAAA,sBAAsB;AAEtB,IAAA,oBAAoB;AAEpB,IAAA,kBAAkB;AAGlB,IAAA,gBAAgB;;AAGhB,IAAA,EAAE,GAAG,KAAK,CAAC,QAAQ,6CAAU;AAC7B,IAAA,OAAO,GAAG,KAAK,CAAmB,EAAE,mDAAC;AACrC,IAAA,IAAI,GAAG,KAAK,CAAQ,EAAE,gDAAC;AACvB,IAAA,OAAO,GAAG,KAAK,CAAU,KAAK,mDAAC;AAC/B,IAAA,SAAS,GAAG,KAAK,CAAU,KAAK,qDAAC;AACjC,IAAA,UAAU,GAAG,KAAK,CAAqB,eAAe,sDAAC;AACvD,IAAA,gBAAgB,GAAG,KAAK,CAAU,KAAK,4DAAC;IACxC,gBAAgB,GAAG,KAAK,CAA2B;AACjD,QAAA,IAAI,EAAE,KAAK;AACX,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,MAAM,EAAE,KAAK;AACd,KAAA,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AACF,IAAA,UAAU,GAAG,KAAK,CAAqB,KAAK,sDAAC;AAC7C,IAAA,YAAY,GAAG,KAAK,CAAuB,EAAE,wDAAC;AAC9C,IAAA,UAAU,GAAG,KAAK,CAAU,IAAI,sDAAC;AACjC,IAAA,MAAM,GAAG,KAAK,CAAS,SAAS,CAAC,QAAQ,kDAAC;AAC1C,IAAA,SAAS,GAAG,KAAK,CAAqC,KAAK,qDAAC;AAC5D,IAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,oDAAC;AAChC,IAAA,UAAU,GAAG,KAAK,CAAsC,KAAK,sDAAC;AAC9D,IAAA,aAAa,GAAG,KAAK,CAAU,KAAK,yDAAC;AACrC,IAAA,UAAU,GAAG,KAAK,CAAuC,KAAK,sDAAC;AAC/D,IAAA,kBAAkB,GAAG,KAAK,CAA0C,KAAK,8DAAC;AAC1E,IAAA,WAAW,GAAG,KAAK,CAAU,KAAK,uDAAC;AACnC,IAAA,eAAe,GAAG,KAAK,CAAsC,IAAI,2DAAC;AAClE,IAAA,QAAQ,GAAG,KAAK,CAAoC,KAAK,oDAAC;AAC1D,IAAA,aAAa,GAAG,KAAK,CAAwB,EAAE,yDAAC;IAChD,MAAM,GAAG,KAAK,CAAiB,EAAE,MAAM,EAAE,EAAE,EAAE,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,QAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AAC9C,IAAA,gBAAgB,GAAG,KAAK,CAA2B,EAAE,4DAAC;AACtD,IAAA,SAAS,GAAG,KAAK,CAAoB,EAAE,qDAAC;AACxC,IAAA,YAAY,GAAG,KAAK,CAAuB,EAAE,wDAAC;;AAG9C,IAAA,YAAY;AACZ,IAAA,UAAU;AACV,IAAA,YAAY;AACZ,IAAA,aAAa;AACb,IAAA,eAAe;AACf,IAAA,gBAAgB;AAChB,IAAA,sBAAsB;AACtB,IAAA,sBAAsB;AACtB,IAAA,gBAAgB;AAChB,IAAA,kBAAkB;AAClB,IAAA,gBAAgB;AAChB,IAAA,YAAY;AACZ,IAAA,eAAe;AACf,IAAA,cAAc;AACd,IAAA,gBAAgB;AAChB,IAAA,mBAAmB;AACnB,IAAA,gBAAgB;AAChB,IAAA,wBAAwB;AACxB,IAAA,iBAAiB;AACjB,IAAA,qBAAqB;AACrB,IAAA,cAAc;AACd,IAAA,mBAAmB;AACnB,IAAA,YAAY;AACZ,IAAA,sBAAsB;AACtB,IAAA,eAAe;AACf,IAAA,kBAAkB;IAElB,eAAe,GAAA;AACb,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa;AACvC,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAC7C,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,sBAAsB,EAC3B,IAAI,CAAC,sBAAsB,EAC3B,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,kBAAkB,CACxB;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,QAAQ,CAAC;AAC1D,QAAA,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;AAEtC,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAC1D,IAAI,CAAC,gBAAgB,CACtB;AACD,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE;AAChC,QAAA,MAAM,YAAY,GAChB,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,MAAM,GAAG;AAClE,cAAE;cACA,SAAS;AACf,QAAA,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;AAAE,YAAA,IAAI,CAAC,SAAS,GAAG,YAAY;AAE5D,QAAA,MAAM,OAAO,GAAoB;AAC/B,YAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;AACb,YAAA,OAAO,EAAE,YAAY;AACrB,YAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;AACjB,YAAA,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;AAC3B,YAAA,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;AAC7B,YAAA,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE;AACzC,YAAA,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE;AACzC,YAAA,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;AAC7B,YAAA,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE;AACjC,YAAA,eAAe,EAAE,OAAO;AACxB,YAAA,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;AAC7B,YAAA,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;AACrB,YAAA,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;AAC3B,YAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;AACzB,YAAA,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;AAC7B,YAAA,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE;AACnC,YAAA,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;AAC7B,YAAA,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,EAAE;AAC7C,YAAA,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;AAC/B,YAAA,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE;AACvC,YAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;AACzB,YAAA,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE;AACnC,YAAA,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;AACrB,YAAA,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE;AACzC,YAAA,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;AAC3B,YAAA,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE;SAClC;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;QACvC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;AAErC,QAAA,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAK;AACxC,YAAA,IAAI,CAAC,YAAY,GAAGC,iBAAyB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAK,CAAC;AAClE,YAAA,IAAI,CAAC,UAAU,GAAGC,eAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAK,CAAC;AAChE,YAAA,IAAI,CAAC,YAAY,GAAGC,iBAAyB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAK,CAAC;AACvE,YAAA,IAAI,CAAC,aAAa,GAAGC,kBAA0B,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAK,CAAC;AACzE,YAAA,IAAI,CAAC,eAAe,GAAGC,oBAA4B,CACjD,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,IAAK,CACX;AACD,YAAA,IAAI,CAAC,gBAAgB,GAAGC,qBAA6B,CACnD,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,IAAK,CACX;AACD,YAAA,IAAI,CAAC,sBAAsB,GAAGC,2BAAmC,CAC/D,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,IAAK,CACX;AACD,YAAA,IAAI,CAAC,sBAAsB,GAAGC,2BAAmC,CAC/D,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,IAAK,CACX;AACD,YAAA,IAAI,CAAC,gBAAgB,GAAGC,qBAA6B,CACnD,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,IAAK,CACX;AACD,YAAA,IAAI,CAAC,kBAAkB,GAAGC,uBAA+B,CACvD,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,IAAK,CACX;AACD,YAAA,IAAI,CAAC,gBAAgB,GAAGC,qBAA6B,CACnD,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,IAAK,CACX;AACD,YAAA,IAAI,CAAC,YAAY,GAAGC,iBAAyB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAK,CAAC;AACtE,YAAA,IAAI,CAAC,eAAe,GAAGC,oBAA4B,CACjD,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,IAAK,CACX;AACD,YAAA,IAAI,CAAC,cAAc,GAAGC,mBAA2B,CAC/C,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,IAAK,CACX;AACD,YAAA,IAAI,CAAC,gBAAgB,GAAGC,qBAA6B,CACnD,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,IAAK,CACX;AACD,YAAA,IAAI,CAAC,mBAAmB,GAAGC,wBAAgC,CACzD,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,IAAK,CACX;AACD,YAAA,IAAI,CAAC,gBAAgB,GAAGC,qBAA6B,CACnD,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,IAAK,CACX;AACD,YAAA,IAAI,CAAC,wBAAwB,GAAGC,6BAAqC,CACnE,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,IAAK,CACX;AACD,YAAA,IAAI,CAAC,iBAAiB,GAAGC,sBAA8B,CACrD,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,IAAK,CACX;AACD,YAAA,IAAI,CAAC,qBAAqB,GAAGC,0BAAkC,CAC7D,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,IAAK,CACX;AACD,YAAA,IAAI,CAAC,cAAc,GAAGC,mBAA2B,CAC/C,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,IAAK,CACX;AACD,YAAA,IAAI,CAAC,mBAAmB,GAAGC,wBAAgC,CACzD,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,IAAK,CACX;AACD,YAAA,IAAI,CAAC,YAAY,GAAGC,iBAAyB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAK,CAAC;AACtE,YAAA,IAAI,CAAC,sBAAsB,GAAGC,2BAAmC,CAC/D,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,IAAK,CACX;AACD,YAAA,IAAI,CAAC,eAAe,GAAGC,oBAA4B,CACjD,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,IAAK,CACX;AACD,YAAA,IAAI,CAAC,kBAAkB,GAAGC,uBAA+B,CACvD,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,IAAK,CACX;AACH,QAAA,CAAC,CAAC;QAEF,IAAI,IAAI,CAAC,SAAS;AAAE,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;IAClE;IAEA,kBAAkB,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;AAC/D,YAAA,IAAI,CAAC,SAAS,GAAG,6BAA6B;IAClD;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE;AACpB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;IAClB;IAEA,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC,IAAK,CAAC,GAAG,CAAC,iBAAiB,EAAE;IACpC;IAEA,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,IAAK,CAAC,GAAG,CAAC,eAAe,EAAE;IAClC;IAEA,aAAa,CAAC,KAAa,EAAE,SAAiB,EAAA;AAC5C,QAAA,OAAO,IAAI,CAAC,IAAK,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC;IACvD;AAEA,IAAA,gBAAgB,CAAC,KAAa,EAAA;QAC5B,OAAO,IAAI,CAAC,IAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC;IAC/C;IAEA,gBAAgB,GAAA;QACd,OAAO,IAAI,CAAC,IAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE;IAC1C;IAEA,SAAS,GAAA;QACP,OAAO,IAAI,CAAC,IAAK,CAAC,GAAG,CAAC,SAAS,EAAE;IACnC;AAEA,IAAA,YAAY,CAAC,KAAa,EAAA;QACxB,IAAI,CAAC,IAAK,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;IACpC;IAEA,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,IAAK,CAAC,GAAG,CAAC,aAAa,EAAE;IAChC;IAEA,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,IAAK,CAAC,GAAG,CAAC,aAAa,EAAE;IAChC;AAEA,IAAA,SAAS,CAAC,KAAa,EAAA;QACrB,IAAI,CAAC,IAAK,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;IACjC;AAEA,IAAA,eAAe,CAAC,IAAa,EAAA;QAC3B,IAAI,CAAC,IAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC;IACvC;uGAnSW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAjB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,wkHAYd,+BAA+B,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAE/B,gCAAgC,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAEhC,8BAA8B,yFAE9B,oCAAoC,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,wBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAEpC,oCAAoC,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAEpC,kCAAkC,qFAElC,gCAAgC,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,SAAA,EAG7B,uBAAuB,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,MAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnF1C,yCACA,sIDkDY,YAAY,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAKX,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAP7B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,SAAS,WACV,CAAC,YAAY,CAAC,EAAA,eAAA,EACN,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,yCAAA,EAAA,MAAA,EAAA,CAAA,+EAAA,CAAA,EAAA;;sBAc9C,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;sBAElC,YAAY;uBAAC,+BAA+B;;sBAE5C,YAAY;uBAAC,gCAAgC;;sBAE7C,YAAY;uBAAC,8BAA8B;;sBAE3C,YAAY;uBAAC,oCAAoC;;sBAEjD,YAAY;uBAAC,oCAAoC;;sBAEjD,YAAY;uBAAC,kCAAkC;;sBAE/C,YAAY;uBAAC,gCAAgC;;sBAG7C,eAAe;uBAAC,uBAAuB;;;MErE7B,eAAe,CAAA;IAC1B,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;AAEvB,IAAA,IAAgC,UAAU,GAAA;AACxC,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE;IACrB;AAEA,IAAA,IAA0C,aAAa,GAAA;AACrD,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE;IACvB;AAEA,IAAA,IAAoC,YAAY,GAAA;AAC9C,QAAA,OAAO,IAAI;IACb;uGAbW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAHhB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EADF,YAAY,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAIX,eAAe,EAAA,UAAA,EAAA,CAAA;kBAN3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,WAAW;oBACrB,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA;;sBAIE,WAAW;uBAAC,aAAa;;sBAIzB,WAAW;uBAAC,uBAAuB;;sBAInC,WAAW;uBAAC,iBAAiB;;;MCqCnB,SAAS,CAAA;uGAAT,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAT,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,SAAS,YAvClB,iBAAiB;YACjB,uBAAuB;YACvB,+BAA+B;YAC/B,gCAAgC;YAChC,8BAA8B;YAC9B,qCAAqC;YACrC,qCAAqC;YACrC,mCAAmC;YACnC,mCAAmC;YACnC,oCAAoC;YACpC,wCAAwC;YACxC,oCAAoC;YACpC,wCAAwC;YACxC,kCAAkC;YAClC,gCAAgC;YAChC,eAAe;AACf,YAAA,mCAAmC,aAGnC,iBAAiB;YACjB,uBAAuB;YACvB,+BAA+B;YAC/B,gCAAgC;YAChC,8BAA8B;YAC9B,qCAAqC;YACrC,qCAAqC;YACrC,mCAAmC;YACnC,mCAAmC;YACnC,oCAAoC;YACpC,wCAAwC;YACxC,oCAAoC;YACpC,wCAAwC;YACxC,kCAAkC;YAClC,gCAAgC;YAChC,eAAe;YACf,mCAAmC,CAAA,EAAA,CAAA;AAI1B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,SAAS,YAvClB,iBAAiB;YACjB,uBAAuB;YAcvB,eAAe,CAAA,EAAA,CAAA;;2FAwBN,SAAS,EAAA,UAAA,EAAA,CAAA;kBAzCrB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,iBAAiB;wBACjB,uBAAuB;wBACvB,+BAA+B;wBAC/B,gCAAgC;wBAChC,8BAA8B;wBAC9B,qCAAqC;wBACrC,qCAAqC;wBACrC,mCAAmC;wBACnC,mCAAmC;wBACnC,oCAAoC;wBACpC,wCAAwC;wBACxC,oCAAoC;wBACpC,wCAAwC;wBACxC,kCAAkC;wBAClC,gCAAgC;wBAChC,eAAe;wBACf,mCAAmC;AACpC,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,iBAAiB;wBACjB,uBAAuB;wBACvB,+BAA+B;wBAC/B,gCAAgC;wBAChC,8BAA8B;wBAC9B,qCAAqC;wBACrC,qCAAqC;wBACrC,mCAAmC;wBACnC,mCAAmC;wBACnC,oCAAoC;wBACpC,wCAAwC;wBACxC,oCAAoC;wBACpC,wCAAwC;wBACxC,kCAAkC;wBAClC,gCAAgC;wBAChC,eAAe;wBACf,mCAAmC;AACpC,qBAAA;AACD,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA;;;AC7DD;;AAEG;;;;"}
1
+ {"version":3,"file":"polygrid-angular.mjs","sources":["../../src/lib/effects/skip-first.ts","../../src/lib/effects/grid-id.ts","../../src/lib/effects/data.ts","../../src/lib/effects/column.ts","../../src/lib/effects/loading.ts","../../src/lib/effects/resizable.ts","../../src/lib/effects/resize-mode.ts","../../src/lib/effects/toggle-visibility.ts","../../src/lib/effects/enable-animations.ts","../../src/lib/effects/filterable.ts","../../src/lib/effects/sort-settings.ts","../../src/lib/effects/show-footer.ts","../../src/lib/effects/locale.ts","../../src/lib/effects/groupable.ts","../../src/lib/effects/animation-options.ts","../../src/lib/effects/pageable.ts","../../src/lib/effects/selectable.ts","../../src/lib/effects/show-statusbar.ts","../../src/lib/effects/column-menu.ts","../../src/lib/effects/allow-column-reorder.ts","../../src/lib/effects/show-toolbar.ts","../../src/lib/effects/toolbar-renderer.ts","../../src/lib/effects/editable.ts","../../src/lib/effects/editing-events.ts","../../src/lib/effects/schema.ts","../../src/lib/effects/row-editing-events.ts","../../src/lib/effects/row-events.ts","../../src/lib/effects/new-row-events.ts","../../src/lib/directives/no-data-template.ts","../../src/lib/directives/loading-template.ts","../../src/lib/directives/group-column-template.ts","../../src/lib/directives/group-header-template.ts","../../src/lib/services/templates/template-mount.ts","../../src/lib/services/renderer-adapter/no-data.ts","../../src/lib/services/renderer-adapter/loading.ts","../../src/lib/services/renderer-adapter/error.ts","../../src/lib/services/renderer-adapter/column-header.ts","../../src/lib/services/renderer-adapter/column-footer.ts","../../src/lib/services/renderer-adapter/column-cell.ts","../../src/lib/services/renderer-adapter/group-column.ts","../../src/lib/services/renderer-adapter/group-header-cell.ts","../../src/lib/services/renderer-adapter/group-header.ts","../../src/lib/services/renderer-adapter/group-footer-cell.ts","../../src/lib/services/renderer-adapter/statusbar.ts","../../src/lib/services/renderer-adapter/toolbar.ts","../../src/lib/services/renderer-adapter/renderer-adapter-factory.ts","../../src/lib/services/template-collector/extract-no-data.ts","../../src/lib/services/template-collector/extract-loading.ts","../../src/lib/services/template-collector/extract-error.ts","../../src/lib/services/template-collector/extract-group-column.ts","../../src/lib/services/template-collector/extract-group-header.ts","../../src/lib/services/template-collector/extract-statusbar.ts","../../src/lib/services/template-collector/extract-toolbar.ts","../../src/lib/services/template-collector/template-collector.ts","../../src/lib/directives/error-template.ts","../../src/lib/services/column/methods/collect-projected-columns.ts","../../src/lib/services/column/column.ts","../../src/lib/directives/column-header-template.ts","../../src/lib/directives/column-footer-template.ts","../../src/lib/directives/column-cell-template.ts","../../src/lib/directives/filter-cell-template.ts","../../src/lib/directives/group-header-cell-template.ts","../../src/lib/directives/group-footer-cell-template.ts","../../src/lib/directives/editor-cell-template.ts","../../src/lib/services/renderer-adapter/filter-editor-wrapper.ts","../../src/lib/services/renderer-adapter/filter-editor-factory.ts","../../src/lib/services/renderer-adapter/cell-editor-wrapper.ts","../../src/lib/services/renderer-adapter/cell-editor-factory.ts","../../src/lib/components/column/poly-grid-column.ts","../../src/lib/directives/statusbar-template.ts","../../src/lib/directives/toolbar-template.ts","../../src/lib/components/grid/poly-grid.ts","../../src/lib/components/grid/poly-grid.html","../../src/lib/components/spacer/spacer.ts","../../src/lib/modules/poly-grid.ts","../../src/polygrid-angular.ts"],"sourcesContent":["import { effect, EffectRef } from \"@angular/core\";\r\n\r\nexport function effectSkipFirst(fn: (isInitial: boolean) => void): EffectRef {\r\n let first = true;\r\n return effect(() => {\r\n // Always execute fn, so it reads signals and establishes tracking\r\n fn(first);\r\n first = false;\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function gridIdInputEffect(\r\n value: Signal<string>,\r\n grid: PolyGrid\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const id = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setGridId(id);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function dataInputEffect(\r\n value: Signal<any[]>,\r\n grid: PolyGrid\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const data = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setData(data);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { PolyGridColumn } from \"@polygrid/core/engine/services/column/interfaces/column\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function columnInputEffect(\r\n value: Signal<PolyGridColumn[]>,\r\n grid: PolyGrid\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const columns = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setColumns(columns);\r\n });\r\n}\r\n","import { effect, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\n\r\nexport function loadingInputEffect(value: Signal<boolean>, grid: PolyGrid) {\r\n return effect(() => {\r\n grid.api.setLoading(value());\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function resizableInputEffect(\r\n value: Signal<boolean>,\r\n grid: PolyGrid\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const resizable = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setResizable(resizable);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\nimport { PolyGridResizeMode } from \"@polygrid/core/engine/store/types/resize-mode\";\r\n\r\nexport function resizeModeInputEffect(\r\n value: Signal<PolyGridResizeMode>,\r\n grid: PolyGrid\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const resizeMode = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setResizeMode(resizeMode);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\nimport { ColumnService } from \"../services/column/column\";\r\n\r\nexport function toggleVisibilityInputEffect(\r\n key: string,\r\n value: Signal<boolean>,\r\n columnService: ColumnService,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const visible = value();\r\n\r\n if (isInitial) return;\r\n\r\n const grid = columnService.grid();\r\n if (!grid) return;\r\n\r\n const { enableAnimations } = grid._store.getState().view;\r\n\r\n if (enableAnimations) {\r\n visible\r\n ? grid.api.showColumnAnimated(key)\r\n : grid.api.hideColumnAnimated(key);\r\n } else {\r\n grid.api.setColumnVisible(key, visible);\r\n }\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function enableAnimationsInputEffect(\r\n value: Signal<boolean>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const enableAnimations = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setEnableAnimations(enableAnimations);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\nimport { PolyGridFilterType } from \"@polygrid/core/engine/services/filter/types/filter-type\";\r\n\r\nexport function filterableInputEffect(\r\n value: Signal<PolyGridFilterType>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const filterable = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setFilterable(filterable);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\nimport { PolyGridSortSettings } from \"@polygrid/core/engine/services/sort/interfaces/grid-sorting-settings\";\r\n\r\nexport function sortSettingsInputEffect(\r\n value: Signal<PolyGridSortSettings>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const sortSettings = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setSortSettings(sortSettings);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function showFooterInputEffect(\r\n value: Signal<boolean>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const showFooter = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setShowFooter(showFooter);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function localeInputEffect(\r\n value: Signal<string>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const locale = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setLocale(locale);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\nimport { PolyGridGroupingSettings } from \"@polygrid/core/engine/services/grouping/interfaces/grouping-settings\";\r\n\r\nexport function groupableInputEffect(\r\n value: Signal<boolean | PolyGridGroupingSettings>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const groupable = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setGroupable(groupable);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\nimport { PolyGridAnimationOptions } from \"@polygrid/core/engine/services/animation/interfaces/animation-options\";\r\n\r\nexport function animationOptionsInputEffect(\r\n value: Signal<PolyGridAnimationOptions>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const animOptions = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setAnimationOptions(animOptions);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function pageableInputEffect(\r\n value: Signal<boolean>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const pageable = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setPageable(pageable);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\nimport { PolyGridSelectionSettings } from \"@polygrid/core/engine/services/selection/interfaces/selection-settings\";\r\n\r\nexport function selectableInputEffect(\r\n value: Signal<boolean | PolyGridSelectionSettings>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const selectable = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setSelectable(selectable);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function showStatusBarInputEffect(\r\n value: Signal<boolean>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const showStatusBar = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setShowStatusBar(showStatusBar);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\nimport { PolyGridColumnMenuSettings } from \"@polygrid/core/engine/services/column/interfaces/column-menu-settings\";\r\n\r\nexport function columnMenuInputEffect(\r\n value: Signal<boolean | PolyGridColumnMenuSettings>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const columnMenu = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setColumnMenu(columnMenu);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\nimport { PolyGridColumnReorderSettings } from \"@polygrid/core/engine/services/column/interfaces/column-reorder-settings\";\r\n\r\nexport function allowColumnReorderInputEffect(\r\n value: Signal<boolean | PolyGridColumnReorderSettings>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const allowColumnReorder = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setAllowColumnReorder(allowColumnReorder);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function showToolBarInputEffect(\r\n value: Signal<boolean>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const showToolBar = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setShowToolBar(showToolBar);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function toolBarRendererInputEffect(\r\n value: Signal<(() => HTMLElement | string) | null>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const toolBarRenderer = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setToolBarRenderer(toolBarRenderer);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\nimport { PolyGridEditingSettings } from \"@polygrid/core/engine/services/edit/interfaces/editing-settings\";\r\n\r\nexport function editableInputEffect(\r\n value: Signal<boolean | PolyGridEditingSettings>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const editable = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setEditable(editable);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\nimport { PolyGridEditingEvents } from \"@polygrid/core/engine/services/edit/interfaces/editing-events\";\r\n\r\nexport function editingEventsInputEffect(\r\n value: Signal<PolyGridEditingEvents>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const editingEvents = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setEditingEvents(editingEvents);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\nimport { PolyGridSchema } from \"@polygrid/core/engine/services/schema/interfaces/grid-schema\";\r\n\r\nexport function schemaInputEffect(\r\n value: Signal<PolyGridSchema>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const schema = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setSchema(schema);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\nimport { PolyGridRowEditingEvents } from \"@polygrid/core/engine/services/edit/interfaces/row-editing-events\";\r\n\r\nexport function rowEditingEventsInputEffect(\r\n value: Signal<PolyGridRowEditingEvents>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const rowEditingEvents = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setRowEditingEvents(rowEditingEvents);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\nimport { PolyGridRowEvents } from \"@polygrid/core/engine/services/edit/interfaces/row-events\";\r\n\r\nexport function rowEventsInputEffect(\r\n value: Signal<PolyGridRowEvents>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const rowEvents = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setRowEvents(rowEvents);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\nimport { PolyGridNewRowEvents } from \"@polygrid/core/engine/services/edit/interfaces/new-row-events\";\r\n\r\nexport function newRowEventsInputEffect(\r\n value: Signal<PolyGridNewRowEvents>,\r\n grid: PolyGrid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const newRowEvents = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setNewRowEvents(newRowEvents);\r\n });\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[polyGridNoDataTemplate]\",\r\n})\r\nexport class PolyGridNoDataTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[polyGridLoadingTemplate]\",\r\n})\r\nexport class PolyGridLoadingTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[polyGridGroupColumnTemplate]\",\r\n})\r\nexport class PolyGridGroupColumnTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[polyGridGroupHeaderTemplate]\",\r\n})\r\nexport class PolyGridGroupHeaderTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { ApplicationRef, Injectable, TemplateRef } from \"@angular/core\";\r\nimport { AngularRendererHandle } from \"./interfaces/renderer-handle\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class TemplateMountService {\r\n constructor(private appRef: ApplicationRef) {}\r\n\r\n mount<T>(\r\n template: TemplateRef<T>,\r\n container: HTMLElement,\r\n context: T,\r\n ): AngularRendererHandle<T> {\r\n const viewRef = template.createEmbeddedView(context);\r\n this.appRef.attachView(viewRef);\r\n viewRef.detectChanges();\r\n\r\n const frag = document.createDocumentFragment();\r\n for (const node of viewRef.rootNodes) frag.appendChild(node);\r\n container.appendChild(frag);\r\n\r\n return {\r\n update: (partial: Partial<T>) => {\r\n Object.assign(viewRef.context as any, partial);\r\n viewRef.detectChanges();\r\n },\r\n destroy: () => {\r\n this.appRef.detachView(viewRef);\r\n viewRef.destroy();\r\n },\r\n viewRef,\r\n };\r\n }\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@polygrid/core/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { NoDataMount } from \"@polygrid/core/engine/services/renderer/interfaces/template-mounts/no-data-mount\";\r\n\r\nexport function renderNoDataTemplate(\r\n req: NoDataMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n context: req.context,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@polygrid/core/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { LoadingMount } from \"@polygrid/core/engine/services/renderer/interfaces/template-mounts/loading-mount\";\r\n\r\nexport function renderLoadingTemplate(\r\n req: LoadingMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n context: req.context,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@polygrid/core/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { ErrorMount } from \"@polygrid/core/engine/services/renderer/interfaces/template-mounts/error-mount\";\r\n\r\nexport function renderErrorTemplate(\r\n req: ErrorMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n title: req.context.title,\r\n message: req.context.message,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@polygrid/core/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { ColumnHeaderMount } from \"@polygrid/core/engine/services/renderer/interfaces/template-mounts/column-header-mount\";\r\n\r\nexport function renderColumnHeaderTemplate(\r\n req: ColumnHeaderMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n field: req.context.field,\r\n header: req.context.header,\r\n columnKey: req.context.columnKey,\r\n columnId: req.context.columnId,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@polygrid/core/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { ColumnFooterMount } from \"@polygrid/core/engine/services/renderer/interfaces/template-mounts/column-footer-mount\";\r\n\r\nexport function renderColumnFooterTemplate(\r\n req: ColumnFooterMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n field: req.context.field,\r\n header: req.context.header,\r\n columnKey: req.context.columnKey,\r\n columnId: req.context.columnId,\r\n values: req.context.values,\r\n rows: req.context.rows,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@polygrid/core/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { ColumnCellMount } from \"@polygrid/core/engine/services/renderer/interfaces/template-mounts/column-cell-mount\";\r\n\r\nexport function renderColumnCellTemplate(\r\n req: ColumnCellMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n row: req.context.row,\r\n value: req.context.value,\r\n field: req.context.field,\r\n header: req.context.header,\r\n columnKey: req.context.columnKey,\r\n columnId: req.context.columnId,\r\n rowIndex: req.context.rowIndex,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@polygrid/core/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { GroupColumnMount } from \"@polygrid/core/engine/services/renderer/interfaces/template-mounts/group-column-mount\";\r\n\r\nexport function renderGroupColumnTemplate(\r\n req: GroupColumnMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n column: req.context.column,\r\n group: req.context.group,\r\n aggregate: req.context.aggregate,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@polygrid/core/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { GroupColumnMount } from \"@polygrid/core/engine/services/renderer/interfaces/template-mounts/group-column-mount\";\r\n\r\nexport function renderGroupHeaderCellTemplate(\r\n req: GroupColumnMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n column: req.context.column,\r\n group: req.context.group,\r\n aggregate: req.context.aggregate,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@polygrid/core/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { GroupHeaderMount } from \"@polygrid/core/engine/services/renderer/interfaces/template-mounts/group-header-mount\";\r\n\r\nexport function renderGroupHeaderTemplate(\r\n req: GroupHeaderMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n column: req.context.column,\r\n group: req.context.group,\r\n aggregate: req.context.aggregate,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@polygrid/core/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { GroupFooterCellMount } from \"@polygrid/core/engine/services/renderer/interfaces/template-mounts/group-footer-cell-mount\";\r\n\r\nexport function renderGroupFooterCellTemplate(\r\n req: GroupFooterCellMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n column: req.context.column,\r\n group: req.context.group,\r\n aggregate: req.context.aggregate,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@polygrid/core/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { StatusBarMount } from \"@polygrid/core/engine/services/renderer/interfaces/template-mounts/statusbar-mount\";\r\n\r\nexport function renderStatusBarTemplate(\r\n req: StatusBarMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n statusBar: req.context,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@polygrid/core/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { ToolBarMount } from \"@polygrid/core/engine/services/renderer/interfaces/template-mounts/toolbar-mount\";\r\n\r\nexport function renderToolBarTemplate(\r\n req: ToolBarMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n context: req.context,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { inject, Injectable, TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { TemplateRegistry } from \"../templates/interfaces/template-registry\";\r\nimport { RendererAdapter } from \"@polygrid/core/engine/services/renderer/interfaces/renderer-adapter\";\r\nimport { renderNoDataTemplate } from \"./no-data\";\r\nimport { renderLoadingTemplate } from \"./loading\";\r\nimport { renderErrorTemplate } from \"./error\";\r\nimport { renderColumnHeaderTemplate } from \"./column-header\";\r\nimport { renderColumnFooterTemplate } from \"./column-footer\";\r\nimport { renderColumnCellTemplate } from \"./column-cell\";\r\nimport { renderGroupColumnTemplate } from \"./group-column\";\r\nimport { renderGroupHeaderCellTemplate } from \"./group-header-cell\";\r\nimport { renderGroupHeaderTemplate } from \"./group-header\";\r\nimport { renderGroupFooterCellTemplate } from \"./group-footer-cell\";\r\nimport { renderStatusBarTemplate } from \"./statusbar\";\r\nimport { renderToolBarTemplate } from \"./toolbar\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class RendererAdapterFactory {\r\n private templateMountService = inject(TemplateMountService);\r\n\r\n buildAdapter(templates: TemplateRegistry): RendererAdapter {\r\n const headerTemplates = new Map<string, TemplateRef<any>>();\r\n const footerTemplates = new Map<string, TemplateRef<any>>();\r\n const cellTemplates = new Map<string, TemplateRef<any>>();\r\n const groupHeaderCellTemplates = new Map<string, TemplateRef<any>>();\r\n const groupFooterCellTemplates = new Map<string, TemplateRef<any>>();\r\n\r\n return {\r\n renderNoDataTemplate: (req) =>\r\n renderNoDataTemplate(req, templates.noData, this.templateMountService),\r\n renderLoadingTemplate: (req) =>\r\n renderLoadingTemplate(\r\n req,\r\n templates.loading,\r\n this.templateMountService,\r\n ),\r\n renderErrorTemplate: (req) =>\r\n renderErrorTemplate(req, templates.error, this.templateMountService),\r\n renderGroupColumnTemplate: (req) =>\r\n renderGroupColumnTemplate(\r\n req,\r\n templates.groupColumn,\r\n this.templateMountService,\r\n ),\r\n renderGroupHeaderTemplate: (req) =>\r\n renderGroupHeaderTemplate(\r\n req,\r\n templates.groupHeader,\r\n this.templateMountService,\r\n ),\r\n renderColumnHeaderTemplate: (req) => {\r\n const tpl = headerTemplates.get(req.context.columnKey);\r\n return renderColumnHeaderTemplate(req, tpl, this.templateMountService);\r\n },\r\n registerColumnHeaderTemplate: (key, tpl) => {\r\n headerTemplates.set(key, tpl as TemplateRef<any>);\r\n },\r\n renderColumnFooterTemplate: (req) => {\r\n const tpl = footerTemplates.get(req.context.columnKey);\r\n return renderColumnFooterTemplate(req, tpl, this.templateMountService);\r\n },\r\n registerColumnFooterTemplate: (key, tpl) => {\r\n footerTemplates.set(key, tpl as TemplateRef<any>);\r\n },\r\n renderColumnCellTemplate: (req) => {\r\n const tpl = cellTemplates.get(req.context.columnKey);\r\n return renderColumnCellTemplate(req, tpl, this.templateMountService);\r\n },\r\n registerColumnCellTemplate: (key, tpl) => {\r\n cellTemplates.set(key, tpl as TemplateRef<any>);\r\n },\r\n renderGroupHeaderCellTemplate: (req) => {\r\n const tpl = groupHeaderCellTemplates.get(req.context.columnKey);\r\n return renderGroupHeaderCellTemplate(\r\n req,\r\n tpl,\r\n this.templateMountService,\r\n );\r\n },\r\n registerGroupHeaderCellTemplate: (key, tpl) => {\r\n groupHeaderCellTemplates.set(key, tpl as TemplateRef<any>);\r\n },\r\n renderGroupFooterCellTemplate: (req) => {\r\n const tpl = groupFooterCellTemplates.get(req.context.columnKey);\r\n return renderGroupFooterCellTemplate(\r\n req,\r\n tpl,\r\n this.templateMountService,\r\n );\r\n },\r\n registerGroupFooterCellTemplate: (key, tpl) => {\r\n groupFooterCellTemplates.set(key, tpl as TemplateRef<any>);\r\n },\r\n renderStatusBarTemplate: (req) =>\r\n renderStatusBarTemplate(\r\n req,\r\n templates.statusBar,\r\n this.templateMountService,\r\n ),\r\n renderToolBarTemplate: (req) =>\r\n renderToolBarTemplate(\r\n req,\r\n templates.toolBar,\r\n this.templateMountService,\r\n ),\r\n };\r\n }\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { PolyGridNoDataTemplateDirective } from \"../../directives/no-data-template\";\r\n\r\nexport function extractNoDataTemplate(\r\n dir?: PolyGridNoDataTemplateDirective,\r\n): TemplateRef<any> | undefined {\r\n return dir?.template;\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { PolyGridLoadingTemplateDirective } from \"../../directives/loading-template\";\r\n\r\nexport function extractLoadingTemplate(\r\n dir?: PolyGridLoadingTemplateDirective,\r\n): TemplateRef<any> | undefined {\r\n return dir?.template;\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { PolyGridErrorTemplateDirective } from \"../../directives/error-template\";\r\n\r\nexport function extractErrorTemplate(\r\n dir?: PolyGridErrorTemplateDirective,\r\n): TemplateRef<any> | undefined {\r\n return dir?.template;\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { PolyGridGroupColumnTemplateDirective } from \"../../directives/group-column-template\";\r\n\r\nexport function extractGroupColumnTemplate(\r\n dir?: PolyGridGroupColumnTemplateDirective,\r\n): TemplateRef<any> | undefined {\r\n return dir?.template;\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { PolyGridGroupHeaderTemplateDirective } from \"../../directives/group-header-template\";\r\n\r\nexport function extractGroupHeaderTemplate(\r\n dir?: PolyGridGroupHeaderTemplateDirective,\r\n): TemplateRef<any> | undefined {\r\n return dir?.template;\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { PolyGridStatusBarTemplateDirective } from \"../../directives/statusbar-template\";\r\n\r\nexport function extractStatusBarTemplate(\r\n dir?: PolyGridStatusBarTemplateDirective,\r\n): TemplateRef<any> | undefined {\r\n return dir?.template;\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { PolyGridToolBarTemplateDirective } from \"../../directives/toolbar-template\";\r\n\r\nexport function extractToolBarTemplate(\r\n dir?: PolyGridToolBarTemplateDirective,\r\n): TemplateRef<any> | undefined {\r\n return dir?.template;\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { PolyGridNoDataTemplateDirective } from \"../../directives/no-data-template\";\r\nimport { TemplateRegistry } from \"../templates/interfaces/template-registry\";\r\nimport { extractNoDataTemplate } from \"./extract-no-data\";\r\nimport { extractLoadingTemplate } from \"./extract-loading\";\r\nimport { extractErrorTemplate } from \"./extract-error\";\r\nimport { extractGroupColumnTemplate } from \"./extract-group-column\";\r\nimport { extractGroupHeaderTemplate } from \"./extract-group-header\";\r\nimport { extractStatusBarTemplate } from \"./extract-statusbar\";\r\nimport { extractToolBarTemplate } from \"./extract-toolbar\";\r\nimport { PolyGridLoadingTemplateDirective } from \"../../directives/loading-template\";\r\nimport { PolyGridErrorTemplateDirective } from \"../../directives/error-template\";\r\nimport { PolyGridGroupColumnTemplateDirective } from \"../../directives/group-column-template\";\r\nimport { PolyGridGroupHeaderTemplateDirective } from \"../../directives/group-header-template\";\r\nimport { PolyGridStatusBarTemplateDirective } from \"../../directives/statusbar-template\";\r\nimport { PolyGridToolBarTemplateDirective } from \"../../directives/toolbar-template\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class TemplateCollectorService {\r\n collect(\r\n noDataTplDir?: PolyGridNoDataTemplateDirective,\r\n loadingTplDir?: PolyGridLoadingTemplateDirective,\r\n errorTplDir?: PolyGridErrorTemplateDirective,\r\n groupColumnTplDir?: PolyGridGroupColumnTemplateDirective,\r\n groupHeaderTplDir?: PolyGridGroupHeaderTemplateDirective,\r\n statusBarTplDir?: PolyGridStatusBarTemplateDirective,\r\n toolBarTplDir?: PolyGridToolBarTemplateDirective,\r\n ): TemplateRegistry {\r\n return {\r\n noData: extractNoDataTemplate(noDataTplDir),\r\n loading: extractLoadingTemplate(loadingTplDir),\r\n error: extractErrorTemplate(errorTplDir),\r\n groupColumn: extractGroupColumnTemplate(groupColumnTplDir),\r\n groupHeader: extractGroupHeaderTemplate(groupHeaderTplDir),\r\n statusBar: extractStatusBarTemplate(statusBarTplDir),\r\n toolBar: extractToolBarTemplate(toolBarTplDir),\r\n };\r\n }\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[polyGridErrorTemplate]\",\r\n})\r\nexport class PolyGridErrorTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { QueryList } from \"@angular/core\";\r\nimport { PolyGridColumnComponent } from \"../../../components/column/poly-grid-column\";\r\nimport { PolyGridColumn } from \"@polygrid/core/engine/services/column/interfaces/column\";\r\n\r\nexport function collectProjectedColumns(\r\n projectedColumns: QueryList<PolyGridColumnComponent>,\r\n): PolyGridColumn[] {\r\n const columns: PolyGridColumn[] = [];\r\n for (const projCol of projectedColumns) {\r\n const col: PolyGridColumn = {\r\n header: projCol.header(),\r\n field: projCol.field(),\r\n width: projCol.width(),\r\n minWidth: projCol.minWidth(),\r\n maxWidth: projCol.maxWidth() ?? Infinity,\r\n visible: projCol.visible(),\r\n sortable: projCol.sortable(),\r\n filterEditor: projCol.filterEditor() ?? projCol.filterEditorFromTemplate,\r\n pinned: projCol.pinned(),\r\n columnMenu: projCol.columnMenu(),\r\n cellEditor: projCol.cellEditor() ?? projCol.cellEditorFromTemplate,\r\n filterable: projCol.filterable(),\r\n isNonData: projCol.isNonData(),\r\n align: projCol.align(),\r\n numberFormatOptions: projCol.numberFormatOptions(),\r\n dateFormatOptions: projCol.dateFormatOptions(),\r\n booleanFormatOptions: projCol.booleanFormatOptions(),\r\n formatter: projCol.formatter(),\r\n };\r\n columns.push(col);\r\n }\r\n return columns;\r\n}\r\n","import { Injectable, signal, TemplateRef } from \"@angular/core\";\r\nimport * as methods from \"./methods/index\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { RendererAdapter } from \"@polygrid/core/engine/services/renderer/interfaces/renderer-adapter\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class ColumnService {\r\n private _grid = signal<PolyGrid | null>(null);\r\n grid = this._grid.asReadonly();\r\n\r\n private adapter?: RendererAdapter;\r\n private pendingHeaderTemplates = new Map<string, TemplateRef<any>>();\r\n private pendingFooterTemplates = new Map<string, TemplateRef<any>>();\r\n private pendingCellTemplates = new Map<string, TemplateRef<any>>();\r\n private pendingGroupHeaderCellTemplates = new Map<string, TemplateRef<any>>();\r\n private pendingGroupFooterCellTemplates = new Map<string, TemplateRef<any>>();\r\n\r\n setGrid(grid: PolyGrid) {\r\n this._grid.set(grid);\r\n }\r\n\r\n setAdapter(adapter: RendererAdapter) {\r\n this.adapter = adapter;\r\n // flush pending templates into the adapter\r\n this.pendingHeaderTemplates.forEach((tpl, key) => {\r\n this.adapter!.registerColumnHeaderTemplate?.(key, tpl);\r\n });\r\n this.pendingHeaderTemplates.clear();\r\n\r\n this.pendingFooterTemplates.forEach((tpl, key) => {\r\n this.adapter!.registerColumnFooterTemplate?.(key, tpl);\r\n });\r\n this.pendingFooterTemplates.clear();\r\n\r\n this.pendingCellTemplates.forEach((tpl, key) => {\r\n this.adapter!.registerColumnCellTemplate?.(key, tpl);\r\n });\r\n this.pendingCellTemplates.clear();\r\n\r\n this.pendingGroupHeaderCellTemplates.forEach((tpl, key) => {\r\n this.adapter!.registerGroupHeaderCellTemplate?.(key, tpl);\r\n });\r\n this.pendingGroupHeaderCellTemplates.clear();\r\n\r\n this.pendingGroupFooterCellTemplates.forEach((tpl, key) => {\r\n this.adapter!.registerGroupFooterCellTemplate?.(key, tpl);\r\n });\r\n this.pendingGroupFooterCellTemplates.clear();\r\n }\r\n\r\n registerHeaderTemplate(key: string, tpl: TemplateRef<any>) {\r\n if (this.adapter) {\r\n this.adapter.registerColumnHeaderTemplate?.(key, tpl);\r\n } else {\r\n this.pendingHeaderTemplates.set(key, tpl);\r\n }\r\n }\r\n\r\n registerFooterTemplate(key: string, tpl: TemplateRef<any>) {\r\n if (this.adapter) {\r\n this.adapter.registerColumnFooterTemplate?.(key, tpl);\r\n } else {\r\n this.pendingFooterTemplates.set(key, tpl);\r\n }\r\n }\r\n\r\n registerCellTemplate(key: string, tpl: TemplateRef<any>) {\r\n if (this.adapter) {\r\n this.adapter.registerColumnCellTemplate?.(key, tpl);\r\n } else {\r\n this.pendingCellTemplates.set(key, tpl);\r\n }\r\n }\r\n\r\n registerGroupHeaderCellTemplate(key: string, tpl: TemplateRef<any>) {\r\n if (this.adapter) {\r\n this.adapter.registerGroupHeaderCellTemplate?.(key, tpl);\r\n } else {\r\n this.pendingGroupHeaderCellTemplates.set(key, tpl);\r\n }\r\n }\r\n\r\n registerGroupFooterCellTemplate(key: string, tpl: TemplateRef<any>) {\r\n if (this.adapter) {\r\n this.adapter.registerGroupFooterCellTemplate?.(key, tpl);\r\n } else {\r\n this.pendingGroupFooterCellTemplates.set(key, tpl);\r\n }\r\n }\r\n\r\n collectProjectedColumns = methods.collectProjectedColumns;\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[polyGridColumnHeaderTemplate]\",\r\n})\r\nexport class PolyGridColumnHeaderTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[polyGridColumnFooterTemplate]\",\r\n})\r\nexport class PolyGridColumnFooterTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[polyGridColumnCellTemplate]\",\r\n})\r\nexport class PolyGridColumnCellTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[polyGridFilterCellTemplate]\",\r\n})\r\nexport class PolyGridFilterCellTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[polyGridGroupHeaderCellTemplate]\",\r\n})\r\nexport class PolyGridGroupHeaderCellTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[polyGridGroupFooterCellTemplate]\",\r\n})\r\nexport class PolyGridGroupFooterCellTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[polyGridEditorCellTemplate]\",\r\n})\r\nexport class PolyGridEditorCellTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import {\r\n EmbeddedViewRef,\r\n signal,\r\n TemplateRef,\r\n WritableSignal,\r\n} from \"@angular/core\";\r\nimport { PolyGridFilterEditor } from \"@polygrid/core\";\r\nimport { FilterCellMount } from \"@polygrid/core/engine/services/renderer/interfaces/template-mounts/filter-cell-mount\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { FilterOperator } from \"@polygrid/core/engine/services/filter/interfaces/filter-operator\";\r\n\r\nexport class TemplateFilterEditorWrapper implements PolyGridFilterEditor {\r\n element!: HTMLElement;\r\n controlElement!: HTMLElement;\r\n\r\n private onChangeCb: ((value: any) => void) | null = null;\r\n private onClearCb: (() => void) | null = null;\r\n private viewRef?: EmbeddedViewRef<TemplateFilterContext>;\r\n\r\n constructor(\r\n private template: TemplateRef<any>,\r\n private mountService: TemplateMountService,\r\n ) {}\r\n\r\n mount(mount: FilterCellMount): void {\r\n const ctx: TemplateFilterContext = {\r\n // static\r\n field: mount.context.field,\r\n header: mount.context.header,\r\n columnKey: mount.context.columnKey,\r\n columnId: mount.context.columnId,\r\n // dynamic\r\n value: signal(mount.context.value),\r\n disabled: signal(mount.context.disabled),\r\n operator: signal(mount.context.operator),\r\n // callbacks\r\n update: (v) => this.onChangeCb?.(v),\r\n clear: () => this.onClearCb?.(),\r\n };\r\n\r\n const handle = this.mountService.mount(this.template, mount.container, ctx);\r\n this.viewRef = handle.viewRef;\r\n\r\n const host = this.viewRef.rootNodes.find(\r\n (n) => n instanceof HTMLElement,\r\n ) as HTMLElement;\r\n\r\n // The container is the root element\r\n this.element = host;\r\n\r\n // Find the actual editor element inside the template\r\n this.controlElement = host.querySelector(\"[data-editor]\") as HTMLElement;\r\n\r\n if (!this.controlElement) {\r\n // fallback: assume the container itself is the control\r\n this.controlElement = this.element;\r\n }\r\n }\r\n\r\n // Grid → template\r\n setValue(value: any): void {\r\n if (!this.viewRef) return;\r\n this.viewRef.context.value.set(value);\r\n this.viewRef.detectChanges();\r\n }\r\n\r\n setDisabled(disabled: boolean): void {\r\n if (!this.viewRef) return;\r\n this.viewRef.context.disabled.set(disabled);\r\n this.viewRef.detectChanges();\r\n }\r\n\r\n onValueChange(cb: (value: any) => void): void {\r\n this.onChangeCb = cb;\r\n }\r\n\r\n onClear(cb: () => void): void {\r\n this.onClearCb = cb;\r\n }\r\n\r\n destroy(): void {\r\n this.viewRef?.destroy();\r\n }\r\n}\r\n\r\ninterface TemplateFilterContext {\r\n // static metadata\r\n field: string;\r\n header: string;\r\n columnKey: string;\r\n columnId: string;\r\n\r\n // dynamic values (signals)\r\n value: WritableSignal<any>;\r\n disabled: WritableSignal<boolean>;\r\n operator: WritableSignal<FilterOperator>;\r\n\r\n // callbacks\r\n update: (v: any) => void;\r\n clear: () => void;\r\n}\r\n","// template-filter-editor.factory.ts\r\nimport { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { TemplateFilterEditorWrapper } from \"./filter-editor-wrapper\";\r\nimport { PolyGridFilterEditorFactoryFn } from \"@polygrid/core/engine/services/filter/types/filter-editor-factory-fn\";\r\nimport { InternalColumn } from \"@polygrid/core/engine/services/column/interfaces/internal-column\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\n\r\nexport function templateFilterEditorFactory(\r\n template: TemplateRef<any>,\r\n mountService: TemplateMountService,\r\n): PolyGridFilterEditorFactoryFn {\r\n return (column: InternalColumn, grid: PolyGrid) => {\r\n // we don’t have FilterCellMount here yet\r\n // we just create an editor that knows how to mount itself later\r\n return new TemplateFilterEditorWrapper(template, mountService);\r\n };\r\n}\r\n","import {\r\n EmbeddedViewRef,\r\n signal,\r\n TemplateRef,\r\n WritableSignal,\r\n} from \"@angular/core\";\r\nimport { PolyGridCellEditor } from \"@polygrid/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { CellEditorMount } from \"@polygrid/core/engine/services/renderer/interfaces/template-mounts/cell-editor-mount\";\r\n\r\nexport class TemplateCellEditorWrapper implements PolyGridCellEditor {\r\n element!: HTMLElement;\r\n controlElement!: HTMLElement;\r\n\r\n private onChangeCb: ((value: any) => void) | null = null;\r\n private onCommitCb: ((value: any) => void) | null = null;\r\n private onCancelCb: (() => void) | null = null;\r\n private viewRef?: EmbeddedViewRef<TemplateCellEditorContext>;\r\n\r\n constructor(\r\n private template: TemplateRef<any>,\r\n private mountService: TemplateMountService,\r\n ) {}\r\n\r\n mount(mount: CellEditorMount): void {\r\n const ctx: TemplateCellEditorContext = {\r\n // static\r\n field: mount.context.field,\r\n header: mount.context.header,\r\n columnKey: mount.context.columnKey,\r\n columnId: mount.context.columnId,\r\n rowId: mount.context.rowId,\r\n // dynamic\r\n value: signal(mount.context.value),\r\n disabled: signal(mount.context.disabled),\r\n // callbacks\r\n update: (v) => this.onChangeCb?.(v),\r\n commit: (v) => this.onCommitCb?.(v),\r\n cancel: () => this.onCancelCb?.(),\r\n onKeydown: (event) => this.onKeydown(event, ctx),\r\n };\r\n\r\n const handle = this.mountService.mount(this.template, mount.container, ctx);\r\n this.viewRef = handle.viewRef;\r\n\r\n const host = this.viewRef.rootNodes.find(\r\n (n) => n instanceof HTMLElement,\r\n ) as HTMLElement;\r\n\r\n // The container is the root element\r\n this.element = host;\r\n\r\n // Find the actual editor element inside the template\r\n this.controlElement = host.querySelector(\"[data-editor]\") as HTMLElement;\r\n\r\n if (!this.controlElement) {\r\n // fallback: assume the container itself is the control\r\n this.controlElement = this.element;\r\n }\r\n }\r\n\r\n // Grid → template\r\n setValue(value: any): void {\r\n if (!this.viewRef) return;\r\n this.viewRef.context.value.set(value);\r\n this.viewRef.detectChanges();\r\n }\r\n\r\n setDisabled(disabled: boolean): void {\r\n if (!this.viewRef) return;\r\n this.viewRef.context.disabled.set(disabled);\r\n this.viewRef.detectChanges();\r\n }\r\n\r\n onValueChange(cb: (value: any) => void): void {\r\n this.onChangeCb = cb;\r\n }\r\n\r\n onCommit(cb: (value: any) => void): void {\r\n this.onCommitCb = cb;\r\n }\r\n\r\n onCancel(cb: () => void): void {\r\n this.onCancelCb = cb;\r\n }\r\n\r\n onKeydown(event: KeyboardEvent, ctx: TemplateCellEditorContext) {\r\n if (event.key === \"Enter\") {\r\n event.preventDefault();\r\n ctx.commit(ctx.value());\r\n }\r\n if (event.key === \"Escape\") {\r\n event.preventDefault();\r\n ctx.cancel();\r\n }\r\n }\r\n\r\n destroy(): void {\r\n this.viewRef?.destroy();\r\n }\r\n}\r\n\r\ninterface TemplateCellEditorContext {\r\n // static metadata\r\n field: string;\r\n header: string;\r\n columnKey: string;\r\n columnId: string;\r\n rowId: string;\r\n\r\n // dynamic values (signals)\r\n value: WritableSignal<any>;\r\n disabled: WritableSignal<boolean>;\r\n\r\n // callbacks\r\n update: (v: any) => void;\r\n commit: (v: any) => void;\r\n cancel: () => void;\r\n onKeydown: (event: KeyboardEvent) => void;\r\n}\r\n","// template-filter-editor.factory.ts\r\nimport { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { InternalColumn } from \"@polygrid/core/engine/services/column/interfaces/internal-column\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { PolyGridCellEditorFactoryFn } from \"@polygrid/core/engine/services/edit/types/editor-factory-fn\";\r\nimport { TemplateCellEditorWrapper } from \"./cell-editor-wrapper\";\r\n\r\nexport function templateCellEditorFactory(\r\n template: TemplateRef<any>,\r\n mountService: TemplateMountService,\r\n): PolyGridCellEditorFactoryFn {\r\n return (\r\n column: InternalColumn,\r\n rowId: string,\r\n grid: PolyGrid,\r\n initialValue: any,\r\n ) => {\r\n // we don’t have EditorCellMount here yet\r\n // we just create an editor that knows how to mount itself later\r\n return new TemplateCellEditorWrapper(template, mountService);\r\n };\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport {\r\n AfterContentInit,\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n ContentChild,\r\n EffectRef,\r\n inject,\r\n Injector,\r\n input,\r\n runInInjectionContext,\r\n} from \"@angular/core\";\r\nimport * as effects from \"../../effects/index\";\r\nimport { ColumnService } from \"../../services/column/column\";\r\nimport { PolyGridColumnHeaderTemplateDirective } from \"../../directives/column-header-template\";\r\nimport { PolyGridColumnFooterTemplateDirective } from \"../../directives/column-footer-template\";\r\nimport { PolyGridColumnCellTemplateDirective } from \"../../directives/column-cell-template\";\r\nimport { PolyGridFilterCellTemplateDirective } from \"../../directives/filter-cell-template\";\r\nimport { PolyGridGroupHeaderCellTemplateDirective } from \"../../directives/group-header-cell-template\";\r\nimport { PolyGridGroupFooterCellTemplateDirective } from \"../../directives/group-footer-cell-template\";\r\nimport { PolyGridEditorCellTemplateDirective } from \"../../directives/editor-cell-template\";\r\nimport { PolyGridColumnSortSettings } from \"@polygrid/core/engine/services/sort/interfaces/column-sorting-settings\";\r\nimport { PolyGridFilterEditorFactoryFn } from \"@polygrid/core/engine/services/filter/types/filter-editor-factory-fn\";\r\nimport { templateFilterEditorFactory } from \"../../services/renderer-adapter/filter-editor-factory\";\r\nimport { TemplateMountService } from \"../../services/templates/template-mount\";\r\nimport { PolyGridPinnedColumn } from \"@polygrid/core/engine/services/column/types/pinned\";\r\nimport { PolyGridCellEditorFactoryFn } from \"@polygrid/core\";\r\nimport { templateCellEditorFactory } from \"../../services/renderer-adapter/cell-editor-factory\";\r\nimport { TextAlign } from \"@polygrid/core/engine/services/formatting-core/types/align\";\r\nimport { NumberFormatOptions } from \"@polygrid/core/engine/services/formatting-core/interfaces/number-format-options\";\r\nimport { DateFormatOptions } from \"@polygrid/core/engine/services/formatting-core/interfaces/date-format-options\";\r\nimport { BooleanFormatOptions } from \"@polygrid/core/engine/services/formatting-core/interfaces/boolean-format-options\";\r\nimport { CustomFormatter } from \"@polygrid/core/engine/services/formatting-core/interfaces/custom-formatter\";\r\n\r\n@Component({\r\n selector: \"pg-column\",\r\n imports: [CommonModule],\r\n template: \"\",\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class PolyGridColumnComponent\r\n implements AfterViewInit, AfterContentInit\r\n{\r\n private injector = inject(Injector);\r\n private columnService = inject(ColumnService);\r\n private templateMountService = inject(TemplateMountService);\r\n filterEditorFromTemplate?: PolyGridFilterEditorFactoryFn;\r\n cellEditorFromTemplate?: PolyGridCellEditorFactoryFn;\r\n\r\n header = input.required<string>();\r\n field = input.required<string>();\r\n width = input<number>();\r\n visible = input<boolean>(true);\r\n minWidth = input<number>();\r\n maxWidth = input<number>();\r\n sortable = input<boolean | PolyGridColumnSortSettings>(false);\r\n filterEditor = input<PolyGridFilterEditorFactoryFn>();\r\n pinned = input<PolyGridPinnedColumn>();\r\n columnMenu = input<boolean>(true);\r\n cellEditor = input<PolyGridCellEditorFactoryFn>();\r\n filterable = input<boolean>(true);\r\n isNonData = input<boolean>(false);\r\n align = input<TextAlign>();\r\n numberFormatOptions = input<NumberFormatOptions>();\r\n dateFormatOptions = input<DateFormatOptions>();\r\n booleanFormatOptions = input<BooleanFormatOptions>();\r\n formatter = input<CustomFormatter>();\r\n\r\n toggleVisibilityEffect!: EffectRef;\r\n\r\n @ContentChild(PolyGridColumnHeaderTemplateDirective)\r\n headerTemplateDir?: PolyGridColumnHeaderTemplateDirective;\r\n @ContentChild(PolyGridColumnFooterTemplateDirective)\r\n footerTemplateDir?: PolyGridColumnFooterTemplateDirective;\r\n @ContentChild(PolyGridColumnCellTemplateDirective)\r\n cellTemplateDir?: PolyGridColumnCellTemplateDirective;\r\n @ContentChild(PolyGridFilterCellTemplateDirective)\r\n filterCellTemplateDir?: PolyGridFilterCellTemplateDirective;\r\n @ContentChild(PolyGridGroupHeaderCellTemplateDirective)\r\n groupHeaderCellTemplateDir?: PolyGridGroupHeaderCellTemplateDirective;\r\n @ContentChild(PolyGridGroupFooterCellTemplateDirective)\r\n groupFooterCellTemplateDir?: PolyGridGroupFooterCellTemplateDirective;\r\n @ContentChild(PolyGridEditorCellTemplateDirective)\r\n editorCellTemplateDir?: PolyGridEditorCellTemplateDirective;\r\n\r\n ngAfterViewInit(): void {\r\n runInInjectionContext(this.injector, () => {\r\n this.toggleVisibilityEffect = effects.toggleVisibilityInputEffect(\r\n `${this.field()}::${this.header()}`,\r\n this.visible,\r\n this.columnService,\r\n );\r\n });\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n if (this.headerTemplateDir) {\r\n this.columnService.registerHeaderTemplate(\r\n `${this.field()}::${this.header()}`,\r\n this.headerTemplateDir.template,\r\n );\r\n }\r\n if (this.footerTemplateDir) {\r\n this.columnService.registerFooterTemplate(\r\n `${this.field()}::${this.header()}`,\r\n this.footerTemplateDir.template,\r\n );\r\n }\r\n if (this.cellTemplateDir) {\r\n this.columnService.registerCellTemplate(\r\n `${this.field()}::${this.header()}`,\r\n this.cellTemplateDir.template,\r\n );\r\n }\r\n if (this.filterCellTemplateDir) {\r\n this.filterEditorFromTemplate = templateFilterEditorFactory(\r\n this.filterCellTemplateDir.template,\r\n this.templateMountService,\r\n );\r\n }\r\n if (this.groupHeaderCellTemplateDir) {\r\n this.columnService.registerGroupHeaderCellTemplate(\r\n `${this.field()}::${this.header()}`,\r\n this.groupHeaderCellTemplateDir.template,\r\n );\r\n }\r\n if (this.groupFooterCellTemplateDir) {\r\n this.columnService.registerGroupFooterCellTemplate(\r\n `${this.field()}::${this.header()}`,\r\n this.groupFooterCellTemplateDir.template,\r\n );\r\n }\r\n if (this.editorCellTemplateDir) {\r\n this.cellEditorFromTemplate = templateCellEditorFactory(\r\n this.editorCellTemplateDir.template,\r\n this.templateMountService,\r\n );\r\n }\r\n }\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[polyGridStatusBarTemplate]\",\r\n})\r\nexport class PolyGridStatusBarTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[polyGridToolBarTemplate]\",\r\n})\r\nexport class PolyGridToolBarTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import {\r\n AfterContentInit,\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n ContentChild,\r\n ContentChildren,\r\n EffectRef,\r\n ElementRef,\r\n inject,\r\n Injector,\r\n input,\r\n OnDestroy,\r\n QueryList,\r\n runInInjectionContext,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport * as effects from \"../../effects/index\";\r\nimport { PolyGrid } from \"@polygrid/core/engine/core/grid\";\r\nimport { PolyGridColumn } from \"@polygrid/core/engine/services/column/interfaces/column\";\r\nimport { PolyGridOptions } from \"@polygrid/core/engine/core/interfaces/grid-options\";\r\nimport { PolyGridNoDataTemplateDirective } from \"../../directives/no-data-template\";\r\nimport { PolyGridLoadingTemplateDirective } from \"../../directives/loading-template\";\r\nimport { PolyGridGroupColumnTemplateDirective } from \"../../directives/group-column-template\";\r\nimport { PolyGridGroupHeaderTemplateDirective } from \"../../directives/group-header-template\";\r\nimport { RendererAdapterFactory } from \"../../services/renderer-adapter/renderer-adapter-factory\";\r\nimport { TemplateCollectorService } from \"../../services/template-collector/template-collector\";\r\nimport { PolyGridErrorTemplateDirective } from \"../../directives/error-template\";\r\nimport { PolyGridColumnComponent } from \"../column/poly-grid-column\";\r\nimport { GridErrorType } from \"@polygrid/core/engine/services/error/types/error-type\";\r\nimport { PolyGridResizeMode } from \"@polygrid/core/engine/store/types/resize-mode\";\r\nimport { ColumnService } from \"../../services/column/column\";\r\nimport { PolyGridFilterType } from \"@polygrid/core/engine/services/filter/types/filter-type\";\r\nimport { PolyGridSortSettings } from \"@polygrid/core/engine/services/sort/interfaces/grid-sorting-settings\";\r\nimport { PolyGridGroupingSettings } from \"@polygrid/core/engine/services/grouping/interfaces/grouping-settings\";\r\nimport { PolyGridAnimationOptions } from \"@polygrid/core/engine/services/animation/interfaces/animation-options\";\r\nimport { PolyGridSelectionSettings } from \"@polygrid/core/engine/services/selection/interfaces/selection-settings\";\r\nimport { PolyGridStatusBarTemplateDirective } from \"../../directives/statusbar-template\";\r\nimport { PolyGridColumnMenuSettings } from \"@polygrid/core/engine/services/column/interfaces/column-menu-settings\";\r\nimport { PolyGridColumnReorderSettings } from \"@polygrid/core/engine/services/column/interfaces/column-reorder-settings\";\r\nimport { PolyGridToolBarTemplateDirective } from \"../../directives/toolbar-template\";\r\nimport { PolyGridEditingSettings } from \"@polygrid/core/engine/services/edit/interfaces/editing-settings\";\r\nimport { PolyGridEditingEvents } from \"@polygrid/core/engine/services/edit/interfaces/editing-events\";\r\nimport { PolyGridSchema } from \"@polygrid/core/engine/services/schema/interfaces/grid-schema\";\r\nimport { PolyGridRowEditingEvents } from \"@polygrid/core/engine/services/edit/interfaces/row-editing-events\";\r\nimport { PolyGridRowEvents } from \"@polygrid/core/engine/services/edit/interfaces/row-events\";\r\nimport { PolyGridNewRowEvents } from \"@polygrid/core/engine/services/edit/interfaces/new-row-events\";\r\n\r\n@Component({\r\n selector: \"pg-grid\",\r\n imports: [CommonModule],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n templateUrl: \"./poly-grid.html\",\r\n styleUrl: \"./poly-grid.css\",\r\n})\r\nexport class PolyGridComponent\r\n implements AfterViewInit, OnDestroy, AfterContentInit\r\n{\r\n private grid: PolyGrid | null = null;\r\n private injector = inject(Injector);\r\n private adapterFactory = inject(RendererAdapterFactory);\r\n private templateCollector = inject(TemplateCollectorService);\r\n private errorType!: GridErrorType | null;\r\n private columnService = inject(ColumnService);\r\n\r\n @ViewChild(\"host\", { static: true }) hostRef!: ElementRef<HTMLDivElement>;\r\n\r\n @ContentChild(PolyGridNoDataTemplateDirective)\r\n noDataTemplateDir?: PolyGridNoDataTemplateDirective;\r\n @ContentChild(PolyGridLoadingTemplateDirective)\r\n loadingTemplateDir?: PolyGridLoadingTemplateDirective;\r\n @ContentChild(PolyGridErrorTemplateDirective)\r\n errorTemplateDir?: PolyGridErrorTemplateDirective;\r\n @ContentChild(PolyGridGroupColumnTemplateDirective)\r\n groupColumnTemplateDir?: PolyGridGroupColumnTemplateDirective;\r\n @ContentChild(PolyGridGroupHeaderTemplateDirective)\r\n groupHeaderTemplateDir?: PolyGridGroupHeaderTemplateDirective;\r\n @ContentChild(PolyGridStatusBarTemplateDirective)\r\n statusBarTemplateDir?: PolyGridStatusBarTemplateDirective;\r\n @ContentChild(PolyGridToolBarTemplateDirective)\r\n toolBarTemplateDir?: PolyGridToolBarTemplateDirective;\r\n\r\n @ContentChildren(PolyGridColumnComponent)\r\n projectedColumns!: QueryList<PolyGridColumnComponent>;\r\n\r\n // inputs\r\n id = input.required<string>();\r\n columns = input<PolyGridColumn[]>([]);\r\n data = input<any[]>([]);\r\n loading = input<boolean>(false);\r\n resizable = input<boolean>(false);\r\n resizeMode = input<PolyGridResizeMode>(\"unconstrained\");\r\n enableAnimations = input<boolean>(false);\r\n animationOptions = input<PolyGridAnimationOptions>({\r\n sort: false,\r\n filter: false,\r\n group: true,\r\n paging: false,\r\n });\r\n filterable = input<PolyGridFilterType>(false);\r\n sortSettings = input<PolyGridSortSettings>({});\r\n showFooter = input<boolean>(true);\r\n locale = input<string>(navigator.language);\r\n groupable = input<boolean | PolyGridGroupingSettings>(false);\r\n pageable = input<boolean>(false);\r\n selectable = input<boolean | PolyGridSelectionSettings>(false);\r\n showStatusBar = input<boolean>(false);\r\n columnMenu = input<boolean | PolyGridColumnMenuSettings>(false);\r\n allowColumnReorder = input<boolean | PolyGridColumnReorderSettings>(false);\r\n showToolBar = input<boolean>(false);\r\n toolBarRenderer = input<(() => HTMLElement | string) | null>(null);\r\n editable = input<boolean | PolyGridEditingSettings>(false);\r\n editingEvents = input<PolyGridEditingEvents>({});\r\n schema = input<PolyGridSchema>({ fields: [] });\r\n rowEditingEvents = input<PolyGridRowEditingEvents>({});\r\n rowEvents = input<PolyGridRowEvents>({});\r\n newRowEvents = input<PolyGridNewRowEvents>({});\r\n\r\n // reactive effects\r\n gridIdEffect!: EffectRef;\r\n dataEffect!: EffectRef;\r\n columnEffect!: EffectRef;\r\n loadingEffect!: EffectRef;\r\n resizableEffect!: EffectRef;\r\n resizeModeEffect!: EffectRef;\r\n enableAnimationsEffect!: EffectRef;\r\n animationOptionsEffect!: EffectRef;\r\n filterableEffect!: EffectRef;\r\n sortSettingsEffect!: EffectRef;\r\n showFooterEffect!: EffectRef;\r\n localeEffect!: EffectRef;\r\n groupableEffect!: EffectRef;\r\n pageableEffect!: EffectRef;\r\n selectableEffect!: EffectRef;\r\n showStatusBarEffect!: EffectRef;\r\n columnMenuEffect!: EffectRef;\r\n allowColumnReorderEffect!: EffectRef;\r\n showToolBarEffect!: EffectRef;\r\n toolBarRendererEffect!: EffectRef;\r\n editableEffect!: EffectRef;\r\n editingEventsEffect!: EffectRef;\r\n schemaEffect!: EffectRef;\r\n rowEditingEventsEffect!: EffectRef;\r\n rowEventsEffect!: EffectRef;\r\n newRowEventsEffect!: EffectRef;\r\n\r\n ngAfterViewInit(): void {\r\n const host = this.hostRef.nativeElement;\r\n const registry = this.templateCollector.collect(\r\n this.noDataTemplateDir,\r\n this.loadingTemplateDir,\r\n this.errorTemplateDir,\r\n this.groupColumnTemplateDir,\r\n this.groupHeaderTemplateDir,\r\n this.statusBarTemplateDir,\r\n this.toolBarTemplateDir,\r\n );\r\n const adapter = this.adapterFactory.buildAdapter(registry);\r\n this.columnService.setAdapter(adapter);\r\n\r\n const projected = this.columnService.collectProjectedColumns(\r\n this.projectedColumns,\r\n );\r\n const inputCols = this.columns();\r\n const finalColumns =\r\n inputCols !== undefined && inputCols !== null && inputCols.length > 0\r\n ? inputCols\r\n : projected;\r\n if (finalColumns.length === 0) this.errorType = \"no-columns\";\r\n\r\n const options: PolyGridOptions = {\r\n id: this.id(),\r\n columns: finalColumns,\r\n data: this.data(),\r\n resizable: this.resizable(),\r\n resizeMode: this.resizeMode(),\r\n enableAnimations: this.enableAnimations(),\r\n animationOptions: this.animationOptions(),\r\n filterable: this.filterable(),\r\n sortSettings: this.sortSettings(),\r\n rendererAdapter: adapter,\r\n showFooter: this.showFooter(),\r\n locale: this.locale(),\r\n groupable: this.groupable(),\r\n pageable: this.pageable(),\r\n selectable: this.selectable(),\r\n showStatusBar: this.showStatusBar(),\r\n columnMenu: this.columnMenu(),\r\n allowColumnReorder: this.allowColumnReorder(),\r\n showToolBar: this.showToolBar(),\r\n toolBarRenderer: this.toolBarRenderer(),\r\n editable: this.editable(),\r\n editingEvents: this.editingEvents(),\r\n schema: this.schema(),\r\n rowEditingEvents: this.rowEditingEvents(),\r\n rowEvents: this.rowEvents(),\r\n newRowEvents: this.newRowEvents(),\r\n };\r\n\r\n this.grid = new PolyGrid(host, options);\r\n this.columnService.setGrid(this.grid);\r\n\r\n runInInjectionContext(this.injector, () => {\r\n this.gridIdEffect = effects.gridIdInputEffect(this.id, this.grid!);\r\n this.dataEffect = effects.dataInputEffect(this.data, this.grid!);\r\n this.columnEffect = effects.columnInputEffect(this.columns, this.grid!);\r\n this.loadingEffect = effects.loadingInputEffect(this.loading, this.grid!);\r\n this.resizableEffect = effects.resizableInputEffect(\r\n this.resizable,\r\n this.grid!,\r\n );\r\n this.resizeModeEffect = effects.resizeModeInputEffect(\r\n this.resizeMode,\r\n this.grid!,\r\n );\r\n this.enableAnimationsEffect = effects.enableAnimationsInputEffect(\r\n this.enableAnimations,\r\n this.grid!,\r\n );\r\n this.animationOptionsEffect = effects.animationOptionsInputEffect(\r\n this.animationOptions,\r\n this.grid!,\r\n );\r\n this.filterableEffect = effects.filterableInputEffect(\r\n this.filterable,\r\n this.grid!,\r\n );\r\n this.sortSettingsEffect = effects.sortSettingsInputEffect(\r\n this.sortSettings,\r\n this.grid!,\r\n );\r\n this.showFooterEffect = effects.showFooterInputEffect(\r\n this.showFooter,\r\n this.grid!,\r\n );\r\n this.localeEffect = effects.localeInputEffect(this.locale, this.grid!);\r\n this.groupableEffect = effects.groupableInputEffect(\r\n this.groupable,\r\n this.grid!,\r\n );\r\n this.pageableEffect = effects.pageableInputEffect(\r\n this.pageable,\r\n this.grid!,\r\n );\r\n this.selectableEffect = effects.selectableInputEffect(\r\n this.selectable,\r\n this.grid!,\r\n );\r\n this.showStatusBarEffect = effects.showStatusBarInputEffect(\r\n this.showStatusBar,\r\n this.grid!,\r\n );\r\n this.columnMenuEffect = effects.columnMenuInputEffect(\r\n this.columnMenu,\r\n this.grid!,\r\n );\r\n this.allowColumnReorderEffect = effects.allowColumnReorderInputEffect(\r\n this.allowColumnReorder,\r\n this.grid!,\r\n );\r\n this.showToolBarEffect = effects.showToolBarInputEffect(\r\n this.showToolBar,\r\n this.grid!,\r\n );\r\n this.toolBarRendererEffect = effects.toolBarRendererInputEffect(\r\n this.toolBarRenderer,\r\n this.grid!,\r\n );\r\n this.editableEffect = effects.editableInputEffect(\r\n this.editable,\r\n this.grid!,\r\n );\r\n this.editingEventsEffect = effects.editingEventsInputEffect(\r\n this.editingEvents,\r\n this.grid!,\r\n );\r\n this.schemaEffect = effects.schemaInputEffect(this.schema, this.grid!);\r\n this.rowEditingEventsEffect = effects.rowEditingEventsInputEffect(\r\n this.rowEditingEvents,\r\n this.grid!,\r\n );\r\n this.rowEventsEffect = effects.rowEventsInputEffect(\r\n this.rowEvents,\r\n this.grid!,\r\n );\r\n this.newRowEventsEffect = effects.newRowEventsInputEffect(\r\n this.newRowEvents,\r\n this.grid!,\r\n );\r\n });\r\n\r\n if (this.errorType) this.grid.api.setError(true, this.errorType);\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n if (this.columns().length > 0 && this.projectedColumns.length > 0)\r\n this.errorType = \"ambiguous-column-definition\";\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.grid?.destroy();\r\n this.grid = null;\r\n }\r\n\r\n collapseAllGroups() {\r\n this.grid!.api.collapseAllGroups();\r\n }\r\n\r\n expandAllGroups() {\r\n this.grid!.api.expandAllGroups();\r\n }\r\n\r\n getValidation(rowId: string, fieldName: string) {\r\n return this.grid!.api.getValidation(rowId, fieldName);\r\n }\r\n\r\n getRowValidation(rowId: string) {\r\n return this.grid!.api.getRowValidation(rowId);\r\n }\r\n\r\n getAllValidation() {\r\n return this.grid!.api.getAllValidation();\r\n }\r\n\r\n hasErrors() {\r\n return this.grid!.api.hasErrors();\r\n }\r\n\r\n startRowEdit(rowId: string) {\r\n this.grid!.api.startRowEdit(rowId);\r\n }\r\n\r\n cancelRowEdit() {\r\n this.grid!.api.cancelRowEdit();\r\n }\r\n\r\n commitRowEdit() {\r\n this.grid!.api.commitRowEdit();\r\n }\r\n\r\n deleteRow(rowId: string) {\r\n this.grid!.api.deleteRow(rowId);\r\n }\r\n\r\n toggleAddNewRow(show: boolean) {\r\n this.grid!.api.setShowAddNewRow(show);\r\n }\r\n}\r\n","<div #host class=\"pg-host\"></div>\r\n","import { CommonModule } from \"@angular/common\";\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n HostBinding,\r\n input,\r\n} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"pg-spacer\",\r\n imports: [CommonModule],\r\n template: \"\",\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SpacerComponent {\r\n width = input<string>();\r\n\r\n @HostBinding(\"style.width\") get styleWidth() {\r\n return this.width();\r\n }\r\n\r\n @HostBinding(\"class.pg-spacer-sized\") get hasWidthClass() {\r\n return !!this.width();\r\n }\r\n\r\n @HostBinding(\"class.pg-spacer\") get defaultClass() {\r\n return true;\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport {\r\n PolyGridColumnCellTemplateDirective,\r\n PolyGridColumnComponent,\r\n PolyGridColumnFooterTemplateDirective,\r\n PolyGridColumnHeaderTemplateDirective,\r\n PolyGridComponent,\r\n PolyGridErrorTemplateDirective,\r\n PolyGridFilterCellTemplateDirective,\r\n PolyGridLoadingTemplateDirective,\r\n PolyGridNoDataTemplateDirective,\r\n PolyGridGroupColumnTemplateDirective,\r\n PolyGridGroupHeaderCellTemplateDirective,\r\n PolyGridGroupHeaderTemplateDirective,\r\n PolyGridGroupFooterCellTemplateDirective,\r\n PolyGridStatusBarTemplateDirective,\r\n PolyGridToolBarTemplateDirective,\r\n SpacerComponent,\r\n PolyGridEditorCellTemplateDirective,\r\n} from \"../../public-api\";\r\n\r\n@NgModule({\r\n imports: [\r\n PolyGridComponent,\r\n PolyGridColumnComponent,\r\n PolyGridNoDataTemplateDirective,\r\n PolyGridLoadingTemplateDirective,\r\n PolyGridErrorTemplateDirective,\r\n PolyGridColumnHeaderTemplateDirective,\r\n PolyGridColumnFooterTemplateDirective,\r\n PolyGridColumnCellTemplateDirective,\r\n PolyGridFilterCellTemplateDirective,\r\n PolyGridGroupColumnTemplateDirective,\r\n PolyGridGroupHeaderCellTemplateDirective,\r\n PolyGridGroupHeaderTemplateDirective,\r\n PolyGridGroupFooterCellTemplateDirective,\r\n PolyGridStatusBarTemplateDirective,\r\n PolyGridToolBarTemplateDirective,\r\n SpacerComponent,\r\n PolyGridEditorCellTemplateDirective,\r\n ],\r\n exports: [\r\n PolyGridComponent,\r\n PolyGridColumnComponent,\r\n PolyGridNoDataTemplateDirective,\r\n PolyGridLoadingTemplateDirective,\r\n PolyGridErrorTemplateDirective,\r\n PolyGridColumnHeaderTemplateDirective,\r\n PolyGridColumnFooterTemplateDirective,\r\n PolyGridColumnCellTemplateDirective,\r\n PolyGridFilterCellTemplateDirective,\r\n PolyGridGroupColumnTemplateDirective,\r\n PolyGridGroupHeaderCellTemplateDirective,\r\n PolyGridGroupHeaderTemplateDirective,\r\n PolyGridGroupFooterCellTemplateDirective,\r\n PolyGridStatusBarTemplateDirective,\r\n PolyGridToolBarTemplateDirective,\r\n SpacerComponent,\r\n PolyGridEditorCellTemplateDirective,\r\n ],\r\n providers: [],\r\n})\r\nexport class POLY_GRID {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["methods.collectProjectedColumns","effects.toggleVisibilityInputEffect","effects.gridIdInputEffect","effects.dataInputEffect","effects.columnInputEffect","effects.loadingInputEffect","effects.resizableInputEffect","effects.resizeModeInputEffect","effects.enableAnimationsInputEffect","effects.animationOptionsInputEffect","effects.filterableInputEffect","effects.sortSettingsInputEffect","effects.showFooterInputEffect","effects.localeInputEffect","effects.groupableInputEffect","effects.pageableInputEffect","effects.selectableInputEffect","effects.showStatusBarInputEffect","effects.columnMenuInputEffect","effects.allowColumnReorderInputEffect","effects.showToolBarInputEffect","effects.toolBarRendererInputEffect","effects.editableInputEffect","effects.editingEventsInputEffect","effects.schemaInputEffect","effects.rowEditingEventsInputEffect","effects.rowEventsInputEffect","effects.newRowEventsInputEffect"],"mappings":"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"}
@@ -6,6 +6,11 @@ import { PolyGridColumn } from '@polygrid/core/engine/services/column/interfaces
6
6
  import { PolyGridColumnSortSettings } from '@polygrid/core/engine/services/sort/interfaces/column-sorting-settings';
7
7
  import { PolyGridFilterEditorFactoryFn } from '@polygrid/core/engine/services/filter/types/filter-editor-factory-fn';
8
8
  import { PolyGridPinnedColumn } from '@polygrid/core/engine/services/column/types/pinned';
9
+ import { TextAlign } from '@polygrid/core/engine/services/formatting-core/types/align';
10
+ import { NumberFormatOptions } from '@polygrid/core/engine/services/formatting-core/interfaces/number-format-options';
11
+ import { DateFormatOptions } from '@polygrid/core/engine/services/formatting-core/interfaces/date-format-options';
12
+ import { BooleanFormatOptions } from '@polygrid/core/engine/services/formatting-core/interfaces/boolean-format-options';
13
+ import { CustomFormatter } from '@polygrid/core/engine/services/formatting-core/interfaces/custom-formatter';
9
14
  import { PolyGridResizeMode } from '@polygrid/core/engine/store/types/resize-mode';
10
15
  import { PolyGridFilterType } from '@polygrid/core/engine/services/filter/types/filter-type';
11
16
  import { PolyGridSortSettings } from '@polygrid/core/engine/services/sort/interfaces/grid-sorting-settings';
@@ -124,6 +129,11 @@ declare class PolyGridColumnComponent implements AfterViewInit, AfterContentInit
124
129
  cellEditor: _angular_core.InputSignal<PolyGridCellEditorFactoryFn>;
125
130
  filterable: _angular_core.InputSignal<boolean>;
126
131
  isNonData: _angular_core.InputSignal<boolean>;
132
+ align: _angular_core.InputSignal<TextAlign>;
133
+ numberFormatOptions: _angular_core.InputSignal<NumberFormatOptions>;
134
+ dateFormatOptions: _angular_core.InputSignal<DateFormatOptions>;
135
+ booleanFormatOptions: _angular_core.InputSignal<BooleanFormatOptions>;
136
+ formatter: _angular_core.InputSignal<CustomFormatter>;
127
137
  toggleVisibilityEffect: EffectRef;
128
138
  headerTemplateDir?: PolyGridColumnHeaderTemplateDirective;
129
139
  footerTemplateDir?: PolyGridColumnFooterTemplateDirective;
@@ -135,7 +145,7 @@ declare class PolyGridColumnComponent implements AfterViewInit, AfterContentInit
135
145
  ngAfterViewInit(): void;
136
146
  ngAfterContentInit(): void;
137
147
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PolyGridColumnComponent, never>;
138
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<PolyGridColumnComponent, "pg-column", never, { "header": { "alias": "header"; "required": true; "isSignal": true; }; "field": { "alias": "field"; "required": true; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "visible": { "alias": "visible"; "required": false; "isSignal": true; }; "minWidth": { "alias": "minWidth"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; "sortable": { "alias": "sortable"; "required": false; "isSignal": true; }; "filterEditor": { "alias": "filterEditor"; "required": false; "isSignal": true; }; "pinned": { "alias": "pinned"; "required": false; "isSignal": true; }; "columnMenu": { "alias": "columnMenu"; "required": false; "isSignal": true; }; "cellEditor": { "alias": "cellEditor"; "required": false; "isSignal": true; }; "filterable": { "alias": "filterable"; "required": false; "isSignal": true; }; "isNonData": { "alias": "isNonData"; "required": false; "isSignal": true; }; }, {}, ["headerTemplateDir", "footerTemplateDir", "cellTemplateDir", "filterCellTemplateDir", "groupHeaderCellTemplateDir", "groupFooterCellTemplateDir", "editorCellTemplateDir"], never, true, never>;
148
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PolyGridColumnComponent, "pg-column", never, { "header": { "alias": "header"; "required": true; "isSignal": true; }; "field": { "alias": "field"; "required": true; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "visible": { "alias": "visible"; "required": false; "isSignal": true; }; "minWidth": { "alias": "minWidth"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; "sortable": { "alias": "sortable"; "required": false; "isSignal": true; }; "filterEditor": { "alias": "filterEditor"; "required": false; "isSignal": true; }; "pinned": { "alias": "pinned"; "required": false; "isSignal": true; }; "columnMenu": { "alias": "columnMenu"; "required": false; "isSignal": true; }; "cellEditor": { "alias": "cellEditor"; "required": false; "isSignal": true; }; "filterable": { "alias": "filterable"; "required": false; "isSignal": true; }; "isNonData": { "alias": "isNonData"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "numberFormatOptions": { "alias": "numberFormatOptions"; "required": false; "isSignal": true; }; "dateFormatOptions": { "alias": "dateFormatOptions"; "required": false; "isSignal": true; }; "booleanFormatOptions": { "alias": "booleanFormatOptions"; "required": false; "isSignal": true; }; "formatter": { "alias": "formatter"; "required": false; "isSignal": true; }; }, {}, ["headerTemplateDir", "footerTemplateDir", "cellTemplateDir", "filterCellTemplateDir", "groupHeaderCellTemplateDir", "groupFooterCellTemplateDir", "editorCellTemplateDir"], never, true, never>;
139
149
  }
140
150
 
141
151
  declare class PolyGridStatusBarTemplateDirective {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polygrid/angular",
3
- "version": "0.0.694",
3
+ "version": "0.0.696",
4
4
  "peerDependencies": {
5
5
  "@angular/core": "^21.0.6",
6
6
  "@angular/common": "^21.0.6",