@agnos-ui/angular-headless 0.0.1-alpha.3 → 0.0.1-alpha.4

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.
@@ -180,10 +180,10 @@ export class SlotDirective {
180
180
  this._slotHandler?.destroy();
181
181
  this._slotHandler = undefined;
182
182
  }
183
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SlotDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
184
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: SlotDirective, isStandalone: true, selector: "[auSlot]", inputs: { slot: ["auSlot", "slot"], props: ["auSlotProps", "props"] }, usesOnChanges: true, ngImport: i0 }); }
183
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SlotDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
184
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SlotDirective, isStandalone: true, selector: "[auSlot]", inputs: { slot: ["auSlot", "slot"], props: ["auSlotProps", "props"] }, usesOnChanges: true, ngImport: i0 }); }
185
185
  }
186
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SlotDirective, decorators: [{
186
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SlotDirective, decorators: [{
187
187
  type: Directive,
188
188
  args: [{
189
189
  selector: '[auSlot]',
@@ -196,4 +196,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
196
196
  type: Input,
197
197
  args: ['auSlotProps']
198
198
  }] } });
199
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xvdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9oZWFkbGVzcy9zcmMvbGliL3Nsb3QuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QyxPQUFPLEVBQUMsU0FBUyxFQUFFLG1CQUFtQixFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxvQkFBb0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVsSixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxhQUFhLENBQUM7O0FBRTlDLE1BQWUsV0FBVztJQUN6QixZQUFtQixnQkFBa0MsRUFBUyxRQUFrQjtRQUE3RCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQVMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUFHLENBQUM7SUFDcEYsVUFBVSxDQUFDLElBQVUsRUFBRSxLQUFZLElBQUcsQ0FBQztJQUN2QyxXQUFXLENBQUMsSUFBVSxFQUFFLEtBQVksSUFBRyxDQUFDO0lBQ3hDLE9BQU8sS0FBSSxDQUFDO0NBQ1o7QUFFRCxNQUFNLGlCQUFxRCxTQUFRLFdBQTBCO0lBQzVGLFFBQVEsQ0FBbUI7SUFDM0IsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUVWLFVBQVUsQ0FBQyxJQUFZO1FBQy9CLElBQUksSUFBSSxLQUFLLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDaEMsT0FBTztTQUNQO1FBQ0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDMUIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztTQUNqQzthQUFNO1lBQ04sTUFBTSxvQkFBb0IsR0FBd0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7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QVMsR0FBRyxXQUFXLENBQUM7YUFDN0I7WUFDRCxJQUFJLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2hEO2FBQU0sSUFBSSxXQUFXLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNqRDtJQUNGLENBQUM7SUFFRCxXQUFXO1FBQ1YsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztJQUMvQixDQUFDOzhHQTdCVyxhQUFhO2tHQUFiLGFBQWE7OzJGQUFiLGFBQWE7a0JBSnpCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFVBQVUsRUFBRSxJQUFJO2lCQUNoQjs4QkFFaUIsSUFBSTtzQkFBcEIsS0FBSzt1QkFBQyxRQUFRO2dCQUNPLEtBQUs7c0JBQTFCLEtBQUs7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgdHlwZSB7Q29tcG9uZW50UmVmLCBFbWJlZGRlZFZpZXdSZWYsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBTaW1wbGVDaGFuZ2VzLCBUeXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGlyZWN0aXZlLCBFbnZpcm9ubWVudEluamVjdG9yLCBJbnB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYsIGNyZWF0ZUNvbXBvbmVudCwgaW5qZWN0LCByZWZsZWN0Q29tcG9uZW50VHlwZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7U2xvdENvbnRlbnR9IGZyb20gJy4vc2xvdFR5cGVzJztcbmltcG9ydCB7Q29tcG9uZW50VGVtcGxhdGV9IGZyb20gJy4vc2xvdFR5cGVzJztcblxuYWJzdHJhY3QgY2xhc3MgU2xvdEhhbmRsZXI8UHJvcHMgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBTbG90IGV4dGVuZHMgU2xvdENvbnRlbnQ8UHJvcHM+ID0gU2xvdENvbnRlbnQ8UHJvcHM+PiB7XG5cdGNvbnN0cnVjdG9yKHB1YmxpYyB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLCBwdWJsaWMgZG9jdW1lbnQ6IERvY3VtZW50KSB7fVxuXHRzbG90Q2hhbmdlKHNsb3Q6IFNsb3QsIHByb3BzOiBQcm9wcykge31cblx0cHJvcHNDaGFuZ2Uoc2xvdDogU2xvdCwgcHJvcHM6IFByb3BzKSB7fVxuXHRkZXN0cm95KCkge31cbn1cblxuY2xhc3MgU3RyaW5nU2xvdEhhbmRsZXI8UHJvcHMgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+PiBleHRlbmRzIFNsb3RIYW5kbGVyPFByb3BzLCBzdHJpbmc+IHtcblx0I25vZGVSZWY6IFRleHQgfCB1bmRlZmluZWQ7XG5cdCNwcmV2aW91c1RleHQgPSAnJztcblxuXHRvdmVycmlkZSBzbG90Q2hhbmdlKHNsb3Q6IHN0cmluZyk6IHZvaWQge1xuXHRcdGlmIChzbG90ID09PSB0aGlzLiNwcmV2aW91c1RleHQpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0dGhpcy4jcHJldmlvdXNUZXh0ID0gc2xvdDtcblx0XHRpZiAodGhpcy4jbm9kZVJlZikge1xuXHRcdFx0dGhpcy4jbm9kZVJlZi50ZXh0Q29udGVudCA9IHNsb3Q7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGNvbnN0IHZpZXdDb250YWluZXJFbGVtZW50OiBDb21tZW50IHwgdW5kZWZpbmVkID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcblx0XHRcdGlmICh0aGlzLmRvY3VtZW50ICYmIHZpZXdDb250YWluZXJFbGVtZW50Py5wYXJlbnROb2RlKSB7XG5cdFx0XHRcdHRoaXMuI25vZGVSZWYgPSB2aWV3Q29udGFpbmVyRWxlbWVudC5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzLmRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHNsb3QpLCB2aWV3Q29udGFpbmVyRWxlbWVudCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0b3ZlcnJpZGUgZGVzdHJveSgpOiB2b2lkIHtcblx0XHR0aGlzLiNub2RlUmVmPy5wYXJlbnROb2RlPy5yZW1vdmVDaGlsZCh0aGlzLiNub2RlUmVmKTtcblx0XHR0aGlzLiNub2RlUmVmID0gdW5kZWZpbmVkO1xuXHR9XG59XG5cbmNsYXNzIEZ1bmN0aW9uU2xvdEhhbmRsZXI8UHJvcHMgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+PiBleHRlbmRzIFNsb3RIYW5kbGVyPFByb3BzLCAocHJvcHM6IFByb3BzKSA9PiBzdHJpbmc+IHtcblx0I3N0cmluZ1Nsb3RIYW5kbGVyID0gbmV3IFN0cmluZ1Nsb3RIYW5kbGVyKHRoaXMudmlld0NvbnRhaW5lclJlZiwgdGhpcy5kb2N1bWVudCk7XG5cblx0b3ZlcnJpZGUgc2xvdENoYW5nZShzbG90OiAocHJvcHM6IFByb3BzKSA9PiBzdHJpbmcsIHByb3BzOiBQcm9wcyk6IHZvaWQge1xuXHRcdHRoaXMuI3N0cmluZ1Nsb3RIYW5kbGVyLnNsb3RDaGFuZ2Uoc2xvdChwcm9wcykpO1xuXHR9XG5cblx0b3ZlcnJpZGUgcHJvcHNDaGFuZ2Uoc2xvdDogKHByb3BzOiBQcm9wcykgPT4gc3RyaW5nLCBwcm9wczogUHJvcHMpOiB2b2lkIHtcblx0XHR0aGlzLiNzdHJpbmdTbG90SGFuZGxlci5zbG90Q2hhbmdlKHNsb3QocHJvcHMpKTtcblx0fVxuXG5cdG92ZXJyaWRlIGRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy4jc3RyaW5nU2xvdEhhbmRsZXIuZGVzdHJveSgpO1xuXHR9XG59XG5cbmNsYXNzIENvbXBvbmVudFNsb3RIYW5kbGVyPFByb3BzIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55Pj4gZXh0ZW5kcyBTbG90SGFuZGxlcjxQcm9wcywgVHlwZTx1bmtub3duPj4ge1xuXHQjY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PiB8IHVuZGVmaW5lZDtcblx0I3Byb3BlcnRpZXM6IHN0cmluZ1tdO1xuXG5cdG92ZXJyaWRlIHNsb3RDaGFuZ2Uoc2xvdDogVHlwZTx1bmtub3duPiwgcHJvcHM6IFByb3BzKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuI2NvbXBvbmVudFJlZikge1xuXHRcdFx0dGhpcy5kZXN0cm95KCk7XG5cdFx0fVxuXHRcdHRoaXMuI2NvbXBvbmVudFJlZiA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoc2xvdCk7XG5cdFx0dGhpcy4jYXBwbHlQcm9wZXJ0aWVzKHByb3BzKTtcblx0fVxuXG5cdCNhcHBseVByb3BlcnRpZXMocHJvcHM6IFByb3BzLCBvbGRQcm9wZXJ0aWVzPzogU2V0PHN0cmluZz4pIHtcblx0XHRjb25zdCBwcm9wZXJ0aWVzID0gT2JqZWN0LmtleXMocHJvcHMpO1xuXHRcdHRoaXMuI3Byb3BlcnRpZXMgPSBwcm9wZXJ0aWVzO1xuXHRcdGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuI2NvbXBvbmVudFJlZiE7XG5cdFx0Zm9yIChjb25zdCBwcm9wZXJ0eSBvZiBwcm9wZXJ0aWVzKSB7XG5cdFx0XHRjb21wb25lbnRSZWYuc2V0SW5wdXQocHJvcGVydHksIHByb3BzW3Byb3BlcnR5XSk7XG5cdFx0XHRvbGRQcm9wZXJ0aWVzPy5kZWxldGUocHJvcGVydHkpO1xuXHRcdH1cblx0fVxuXG5cdG92ZXJyaWRlIHByb3BzQ2hhbmdlKHNsb3Q6IFR5cGU8dW5rbm93bj4sIHByb3BzOiBQcm9wcyk6IHZvaWQge1xuXHRcdGNvbnN0IG9sZFByb3BlcnRpZXMgPSBuZXcgU2V0KHRoaXMuI3Byb3BlcnRpZXMpO1xuXHRcdHRoaXMuI2FwcGx5UHJvcGVydGllcyhwcm9wcywgb2xkUHJvcGVydGllcyk7XG5cdFx0Y29uc3QgY29tcG9uZW50UmVmID0gdGhpcy4jY29tcG9uZW50UmVmITtcblx0XHRmb3IgKGNvbnN0IHByb3BlcnR5IG9mIG9sZFByb3BlcnRpZXMpIHtcblx0XHRcdGNvbXBvbmVudFJlZi5zZXRJbnB1dChwcm9wZXJ0eSwgdW5kZWZpbmVkKTtcblx0XHR9XG5cdH1cblxuXHRvdmVycmlkZSBkZXN0cm95KCk6IHZvaWQge1xuXHRcdHRoaXMudmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xuXHRcdHRoaXMuI2NvbXBvbmVudFJlZiA9IHVuZGVmaW5lZDtcblx0fVxufVxuXG5jbGFzcyBUZW1wbGF0ZVJlZlNsb3RIYW5kbGVyPFByb3BzIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55Pj4gZXh0ZW5kcyBTbG90SGFuZGxlcjxQcm9wcywgVGVtcGxhdGVSZWY8UHJvcHM+PiB7XG5cdCN2aWV3UmVmOiBFbWJlZGRlZFZpZXdSZWY8UHJvcHM+IHwgdW5kZWZpbmVkO1xuXHQjcHJvcHM6IFByb3BzO1xuXG5cdG92ZXJyaWRlIHNsb3RDaGFuZ2Uoc2xvdDogVGVtcGxhdGVSZWY8UHJvcHM+LCBwcm9wczogUHJvcHMpOiB2b2lkIHtcblx0XHRpZiAodGhpcy4jdmlld1JlZikge1xuXHRcdFx0dGhpcy5kZXN0cm95KCk7XG5cdFx0fVxuXHRcdHByb3BzID0gey4uLnByb3BzfTtcblx0XHR0aGlzLiNwcm9wcyA9IHByb3BzO1xuXHRcdHRoaXMuI3ZpZXdSZWYgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlRW1iZWRkZWRWaWV3KHNsb3QsIHByb3BzKTtcblx0fVxuXG5cdG92ZXJyaWRlIHByb3BzQ2hhbmdlKHNsb3Q6IFRlbXBsYXRlUmVmPFByb3BzPiwgcHJvcHM6IFByb3BzKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuI3ZpZXdSZWYpIHtcblx0XHRcdGNvbnN0IHRlbXBsYXRlUHJvcHMgPSB0aGlzLiNwcm9wcztcblx0XHRcdGNvbnN0IG9sZFByb3BlcnRpZXMgPSBuZXcgU2V0PGtleW9mIFByb3BzPihPYmplY3Qua2V5cyh0ZW1wbGF0ZVByb3BzKSk7XG5cdFx0XHRmb3IgKGNvbnN0IHByb3BlcnR5IG9mIE9iamVjdC5rZXlzKHByb3BzKSBhcyAoa2V5b2YgUHJvcHMpW10pIHtcblx0XHRcdFx0dGVtcGxhdGVQcm9wc1twcm9wZXJ0eV0gPSBwcm9wc1twcm9wZXJ0eV07XG5cdFx0XHRcdG9sZFByb3BlcnRpZXMuZGVsZXRlKHByb3BlcnR5KTtcblx0XHRcdH1cblx0XHRcdGZvciAoY29uc3Qgb2xkUHJvcGVydHkgb2Ygb2xkUHJvcGVydGllcykge1xuXHRcdFx0XHRkZWxldGUgdGVtcGxhdGVQcm9wc1tvbGRQcm9wZXJ0eV07XG5cdFx0XHR9XG5cdFx0XHR0aGlzLiN2aWV3UmVmLm1hcmtGb3JDaGVjaygpO1xuXHRcdH1cblx0fVxuXG5cdG92ZXJyaWRlIGRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy52aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XG5cdH1cbn1cblxuY2xhc3MgQ29tcG9uZW50VGVtcGxhdGVTbG90SGFuZGxlcjxcblx0UHJvcHMgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuXHRLIGV4dGVuZHMgc3RyaW5nLFxuXHRUIGV4dGVuZHMge1trZXkgaW4gS106IFRlbXBsYXRlUmVmPFByb3BzPn1cbj4gZXh0ZW5kcyBTbG90SGFuZGxlcjxQcm9wcywgQ29tcG9uZW50VGVtcGxhdGU8UHJvcHMsIEssIFQ+PiB7XG5cdCNjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxUPiB8IHVuZGVmaW5lZDtcblx0I3RlbXBsYXRlU2xvdEhhbmRsZXIgPSBuZXcgVGVtcGxhdGVSZWZTbG90SGFuZGxlcih0aGlzLnZpZXdDb250YWluZXJSZWYsIHRoaXMuZG9jdW1lbnQpO1xuXHQjdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPFByb3BzPiB8IHVuZGVmaW5lZDtcblxuXHRvdmVycmlkZSBzbG90Q2hhbmdlKHNsb3Q6IENvbXBvbmVudFRlbXBsYXRlPFByb3BzLCBLLCBUPiwgcHJvcHM6IFByb3BzKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuI2NvbXBvbmVudFJlZikge1xuXHRcdFx0dGhpcy5kZXN0cm95KCk7XG5cdFx0fVxuXHRcdHRoaXMuI2NvbXBvbmVudFJlZiA9IGNyZWF0ZUNvbXBvbmVudChzbG90LmNvbXBvbmVudCwge1xuXHRcdFx0ZWxlbWVudEluamVjdG9yOiB0aGlzLnZpZXdDb250YWluZXJSZWYuaW5qZWN0b3IsXG5cdFx0XHRlbnZpcm9ubWVudEluamVjdG9yOiB0aGlzLnZpZXdDb250YWluZXJSZWYuaW5qZWN0b3IuZ2V0KEVudmlyb25tZW50SW5qZWN0b3IpLFxuXHRcdH0pO1xuXHRcdHRoaXMuI3RlbXBsYXRlUmVmID0gdGhpcy4jY29tcG9uZW50UmVmLmluc3RhbmNlW3Nsb3QudGVtcGxhdGVQcm9wXTtcblx0XHR0aGlzLiN0ZW1wbGF0ZVNsb3RIYW5kbGVyLnNsb3RDaGFuZ2UodGhpcy4jdGVtcGxhdGVSZWYsIHByb3BzKTtcblx0fVxuXG5cdG92ZXJyaWRlIHByb3BzQ2hhbmdlKHNsb3Q6IENvbXBvbmVudFRlbXBsYXRlPFByb3BzLCBLLCBUPiwgcHJvcHM6IFByb3BzKTogdm9pZCB7XG5cdFx0dGhpcy4jdGVtcGxhdGVTbG90SGFuZGxlci5wcm9wc0NoYW5nZSh0aGlzLiN0ZW1wbGF0ZVJlZiEsIHByb3BzKTtcblx0fVxuXG5cdG92ZXJyaWRlIGRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy4jdGVtcGxhdGVTbG90SGFuZGxlci5kZXN0cm95KCk7XG5cdFx0dGhpcy4jY29tcG9uZW50UmVmPy5kZXN0cm95KCk7XG5cdFx0dGhpcy4jY29tcG9uZW50UmVmID0gdW5kZWZpbmVkO1xuXHR9XG59XG5cbmNvbnN0IGdldFNsb3RUeXBlID0gKHZhbHVlOiBhbnkpOiB1bmRlZmluZWQgfCB7bmV3ICh2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLCBkb2N1bWVudDogRG9jdW1lbnQpOiBTbG90SGFuZGxlcjxhbnk+fSA9PiB7XG5cdGlmICghdmFsdWUpIHJldHVybiB1bmRlZmluZWQ7XG5cdGNvbnN0IHR5cGUgPSB0eXBlb2YgdmFsdWU7XG5cdHN3aXRjaCAodHlwZSkge1xuXHRcdGNhc2UgJ3N0cmluZyc6XG5cdFx0XHRyZXR1cm4gU3RyaW5nU2xvdEhhbmRsZXI7XG5cdFx0Y2FzZSAnZnVuY3Rpb24nOlxuXHRcdFx0aWYgKHJlZmxlY3RDb21wb25lbnRUeXBlKHZhbHVlKSkge1xuXHRcdFx0XHRyZXR1cm4gQ29tcG9uZW50U2xvdEhhbmRsZXI7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gRnVuY3Rpb25TbG90SGFuZGxlcjtcblx0XHRjYXNlICdvYmplY3QnOlxuXHRcdFx0aWYgKHZhbHVlIGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpIHtcblx0XHRcdFx0cmV0dXJuIFRlbXBsYXRlUmVmU2xvdEhhbmRsZXI7XG5cdFx0XHR9XG5cdFx0XHRpZiAodmFsdWUgaW5zdGFuY2VvZiBDb21wb25lbnRUZW1wbGF0ZSkge1xuXHRcdFx0XHRyZXR1cm4gQ29tcG9uZW50VGVtcGxhdGVTbG90SGFuZGxlcjtcblx0XHRcdH1cblx0XHRcdGJyZWFrO1xuXHR9XG5cdHJldHVybiB1bmRlZmluZWQ7XG59O1xuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbYXVTbG90XScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFNsb3REaXJlY3RpdmU8UHJvcHMgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+PiBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcblx0QElucHV0KCdhdVNsb3QnKSBzbG90OiBTbG90Q29udGVudDxQcm9wcz47XG5cdEBJbnB1dCgnYXVTbG90UHJvcHMnKSBwcm9wczogUHJvcHM7XG5cblx0cHJpdmF0ZSBfdmlld0NvbnRhaW5lclJlZiA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcblx0cHJpdmF0ZSBfZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuXHRwcml2YXRlIF9zbG90VHlwZTogUmV0dXJuVHlwZTx0eXBlb2YgZ2V0U2xvdFR5cGU+O1xuXHRwcml2YXRlIF9zbG90SGFuZGxlcjogU2xvdEhhbmRsZXI8UHJvcHM+IHwgdW5kZWZpbmVkO1xuXG5cdG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcblx0XHRjb25zdCBzbG90Q2hhbmdlID0gY2hhbmdlc1snc2xvdCddO1xuXHRcdGNvbnN0IHByb3BzQ2hhbmdlID0gY2hhbmdlc1sncHJvcHMnXTtcblx0XHRjb25zdCBzbG90ID0gdGhpcy5zbG90O1xuXHRcdGlmIChzbG90Q2hhbmdlKSB7XG5cdFx0XHRjb25zdCBuZXdTbG90VHlwZSA9IGdldFNsb3RUeXBlKHNsb3QpO1xuXHRcdFx0aWYgKG5ld1Nsb3RUeXBlICE9PSB0aGlzLl9zbG90VHlwZSkge1xuXHRcdFx0XHR0aGlzLl9zbG90SGFuZGxlcj8uZGVzdHJveSgpO1xuXHRcdFx0XHR0aGlzLl9zbG90SGFuZGxlciA9IG5ld1Nsb3RUeXBlID8gbmV3IG5ld1Nsb3RUeXBlKHRoaXMuX3ZpZXdDb250YWluZXJSZWYsIHRoaXMuX2RvY3VtZW50KSA6IHVuZGVmaW5lZDtcblx0XHRcdFx0dGhpcy5fc2xvdFR5cGUgPSBuZXdTbG90VHlwZTtcblx0XHRcdH1cblx0XHRcdHRoaXMuX3Nsb3RIYW5kbGVyPy5zbG90Q2hhbmdlKHNsb3QsIHRoaXMucHJvcHMpO1xuXHRcdH0gZWxzZSBpZiAocHJvcHNDaGFuZ2UpIHtcblx0XHRcdHRoaXMuX3Nsb3RIYW5kbGVyPy5wcm9wc0NoYW5nZShzbG90LCB0aGlzLnByb3BzKTtcblx0XHR9XG5cdH1cblxuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcblx0XHR0aGlzLl9zbG90SGFuZGxlcj8uZGVzdHJveSgpO1xuXHRcdHRoaXMuX3Nsb3RIYW5kbGVyID0gdW5kZWZpbmVkO1xuXHR9XG59XG4iXX0=
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xvdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9oZWFkbGVzcy9zcmMvbGliL3Nsb3QuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QyxPQUFPLEVBQUMsU0FBUyxFQUFFLG1CQUFtQixFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxvQkFBb0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVsSixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxhQUFhLENBQUM7O0FBRTlDLE1BQWUsV0FBVztJQUN6QixZQUFtQixnQkFBa0MsRUFBUyxRQUFrQjtRQUE3RCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQVMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUFHLENBQUM7SUFDcEYsVUFBVSxDQUFDLElBQVUsRUFBRSxLQUFZLElBQUcsQ0FBQztJQUN2QyxXQUFXLENBQUMsSUFBVSxFQUFFLEtBQVksSUFBRyxDQUFDO0lBQ3hDLE9BQU8sS0FBSSxDQUFDO0NBQ1o7QUFFRCxNQUFNLGlCQUFxRCxTQUFRLFdBQTBCO0lBQzVGLFFBQVEsQ0FBbUI7SUFDM0IsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUVWLFVBQVUsQ0FBQyxJQUFZO1FBQy9CLElBQUksSUFBSSxLQUFLLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDaEMsT0FBTztTQUNQO1FBQ0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDMUIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztTQUNqQzthQUFNO1lBQ04sTUFBTSxvQkFBb0IsR0FBd0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7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QVMsR0FBRyxXQUFXLENBQUM7YUFDN0I7WUFDRCxJQUFJLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2hEO2FBQU0sSUFBSSxXQUFXLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNqRDtJQUNGLENBQUM7SUFFRCxXQUFXO1FBQ1YsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztJQUMvQixDQUFDOytHQTdCVyxhQUFhO21HQUFiLGFBQWE7OzRGQUFiLGFBQWE7a0JBSnpCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFVBQVUsRUFBRSxJQUFJO2lCQUNoQjs4QkFFaUIsSUFBSTtzQkFBcEIsS0FBSzt1QkFBQyxRQUFRO2dCQUNPLEtBQUs7c0JBQTFCLEtBQUs7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgdHlwZSB7Q29tcG9uZW50UmVmLCBFbWJlZGRlZFZpZXdSZWYsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBTaW1wbGVDaGFuZ2VzLCBUeXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGlyZWN0aXZlLCBFbnZpcm9ubWVudEluamVjdG9yLCBJbnB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYsIGNyZWF0ZUNvbXBvbmVudCwgaW5qZWN0LCByZWZsZWN0Q29tcG9uZW50VHlwZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7U2xvdENvbnRlbnR9IGZyb20gJy4vc2xvdFR5cGVzJztcbmltcG9ydCB7Q29tcG9uZW50VGVtcGxhdGV9IGZyb20gJy4vc2xvdFR5cGVzJztcblxuYWJzdHJhY3QgY2xhc3MgU2xvdEhhbmRsZXI8UHJvcHMgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBTbG90IGV4dGVuZHMgU2xvdENvbnRlbnQ8UHJvcHM+ID0gU2xvdENvbnRlbnQ8UHJvcHM+PiB7XG5cdGNvbnN0cnVjdG9yKHB1YmxpYyB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLCBwdWJsaWMgZG9jdW1lbnQ6IERvY3VtZW50KSB7fVxuXHRzbG90Q2hhbmdlKHNsb3Q6IFNsb3QsIHByb3BzOiBQcm9wcykge31cblx0cHJvcHNDaGFuZ2Uoc2xvdDogU2xvdCwgcHJvcHM6IFByb3BzKSB7fVxuXHRkZXN0cm95KCkge31cbn1cblxuY2xhc3MgU3RyaW5nU2xvdEhhbmRsZXI8UHJvcHMgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+PiBleHRlbmRzIFNsb3RIYW5kbGVyPFByb3BzLCBzdHJpbmc+IHtcblx0I25vZGVSZWY6IFRleHQgfCB1bmRlZmluZWQ7XG5cdCNwcmV2aW91c1RleHQgPSAnJztcblxuXHRvdmVycmlkZSBzbG90Q2hhbmdlKHNsb3Q6IHN0cmluZyk6IHZvaWQge1xuXHRcdGlmIChzbG90ID09PSB0aGlzLiNwcmV2aW91c1RleHQpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0dGhpcy4jcHJldmlvdXNUZXh0ID0gc2xvdDtcblx0XHRpZiAodGhpcy4jbm9kZVJlZikge1xuXHRcdFx0dGhpcy4jbm9kZVJlZi50ZXh0Q29udGVudCA9IHNsb3Q7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGNvbnN0IHZpZXdDb250YWluZXJFbGVtZW50OiBDb21tZW50IHwgdW5kZWZpbmVkID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcblx0XHRcdGlmICh0aGlzLmRvY3VtZW50ICYmIHZpZXdDb250YWluZXJFbGVtZW50Py5wYXJlbnROb2RlKSB7XG5cdFx0XHRcdHRoaXMuI25vZGVSZWYgPSB2aWV3Q29udGFpbmVyRWxlbWVudC5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzLmRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHNsb3QpLCB2aWV3Q29udGFpbmVyRWxlbWVudCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0b3ZlcnJpZGUgZGVzdHJveSgpOiB2b2lkIHtcblx0XHR0aGlzLiNub2RlUmVmPy5wYXJlbnROb2RlPy5yZW1vdmVDaGlsZCh0aGlzLiNub2RlUmVmKTtcblx0XHR0aGlzLiNub2RlUmVmID0gdW5kZWZpbmVkO1xuXHR9XG59XG5cbmNsYXNzIEZ1bmN0aW9uU2xvdEhhbmRsZXI8UHJvcHMgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+PiBleHRlbmRzIFNsb3RIYW5kbGVyPFByb3BzLCAocHJvcHM6IFByb3BzKSA9PiBzdHJpbmc+IHtcblx0I3N0cmluZ1Nsb3RIYW5kbGVyID0gbmV3IFN0cmluZ1Nsb3RIYW5kbGVyKHRoaXMudmlld0NvbnRhaW5lclJlZiwgdGhpcy5kb2N1bWVudCk7XG5cblx0b3ZlcnJpZGUgc2xvdENoYW5nZShzbG90OiAocHJvcHM6IFByb3BzKSA9PiBzdHJpbmcsIHByb3BzOiBQcm9wcyk6IHZvaWQge1xuXHRcdHRoaXMuI3N0cmluZ1Nsb3RIYW5kbGVyLnNsb3RDaGFuZ2Uoc2xvdChwcm9wcykpO1xuXHR9XG5cblx0b3ZlcnJpZGUgcHJvcHNDaGFuZ2Uoc2xvdDogKHByb3BzOiBQcm9wcykgPT4gc3RyaW5nLCBwcm9wczogUHJvcHMpOiB2b2lkIHtcblx0XHR0aGlzLiNzdHJpbmdTbG90SGFuZGxlci5zbG90Q2hhbmdlKHNsb3QocHJvcHMpKTtcblx0fVxuXG5cdG92ZXJyaWRlIGRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy4jc3RyaW5nU2xvdEhhbmRsZXIuZGVzdHJveSgpO1xuXHR9XG59XG5cbmNsYXNzIENvbXBvbmVudFNsb3RIYW5kbGVyPFByb3BzIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55Pj4gZXh0ZW5kcyBTbG90SGFuZGxlcjxQcm9wcywgVHlwZTx1bmtub3duPj4ge1xuXHQjY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PiB8IHVuZGVmaW5lZDtcblx0I3Byb3BlcnRpZXM6IHN0cmluZ1tdO1xuXG5cdG92ZXJyaWRlIHNsb3RDaGFuZ2Uoc2xvdDogVHlwZTx1bmtub3duPiwgcHJvcHM6IFByb3BzKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuI2NvbXBvbmVudFJlZikge1xuXHRcdFx0dGhpcy5kZXN0cm95KCk7XG5cdFx0fVxuXHRcdHRoaXMuI2NvbXBvbmVudFJlZiA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoc2xvdCk7XG5cdFx0dGhpcy4jYXBwbHlQcm9wZXJ0aWVzKHByb3BzKTtcblx0fVxuXG5cdCNhcHBseVByb3BlcnRpZXMocHJvcHM6IFByb3BzLCBvbGRQcm9wZXJ0aWVzPzogU2V0PHN0cmluZz4pIHtcblx0XHRjb25zdCBwcm9wZXJ0aWVzID0gT2JqZWN0LmtleXMocHJvcHMpO1xuXHRcdHRoaXMuI3Byb3BlcnRpZXMgPSBwcm9wZXJ0aWVzO1xuXHRcdGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuI2NvbXBvbmVudFJlZiE7XG5cdFx0Zm9yIChjb25zdCBwcm9wZXJ0eSBvZiBwcm9wZXJ0aWVzKSB7XG5cdFx0XHRjb21wb25lbnRSZWYuc2V0SW5wdXQocHJvcGVydHksIHByb3BzW3Byb3BlcnR5XSk7XG5cdFx0XHRvbGRQcm9wZXJ0aWVzPy5kZWxldGUocHJvcGVydHkpO1xuXHRcdH1cblx0fVxuXG5cdG92ZXJyaWRlIHByb3BzQ2hhbmdlKHNsb3Q6IFR5cGU8dW5rbm93bj4sIHByb3BzOiBQcm9wcyk6IHZvaWQge1xuXHRcdGNvbnN0IG9sZFByb3BlcnRpZXMgPSBuZXcgU2V0KHRoaXMuI3Byb3BlcnRpZXMpO1xuXHRcdHRoaXMuI2FwcGx5UHJvcGVydGllcyhwcm9wcywgb2xkUHJvcGVydGllcyk7XG5cdFx0Y29uc3QgY29tcG9uZW50UmVmID0gdGhpcy4jY29tcG9uZW50UmVmITtcblx0XHRmb3IgKGNvbnN0IHByb3BlcnR5IG9mIG9sZFByb3BlcnRpZXMpIHtcblx0XHRcdGNvbXBvbmVudFJlZi5zZXRJbnB1dChwcm9wZXJ0eSwgdW5kZWZpbmVkKTtcblx0XHR9XG5cdH1cblxuXHRvdmVycmlkZSBkZXN0cm95KCk6IHZvaWQge1xuXHRcdHRoaXMudmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xuXHRcdHRoaXMuI2NvbXBvbmVudFJlZiA9IHVuZGVmaW5lZDtcblx0fVxufVxuXG5jbGFzcyBUZW1wbGF0ZVJlZlNsb3RIYW5kbGVyPFByb3BzIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55Pj4gZXh0ZW5kcyBTbG90SGFuZGxlcjxQcm9wcywgVGVtcGxhdGVSZWY8UHJvcHM+PiB7XG5cdCN2aWV3UmVmOiBFbWJlZGRlZFZpZXdSZWY8UHJvcHM+IHwgdW5kZWZpbmVkO1xuXHQjcHJvcHM6IFByb3BzO1xuXG5cdG92ZXJyaWRlIHNsb3RDaGFuZ2Uoc2xvdDogVGVtcGxhdGVSZWY8UHJvcHM+LCBwcm9wczogUHJvcHMpOiB2b2lkIHtcblx0XHRpZiAodGhpcy4jdmlld1JlZikge1xuXHRcdFx0dGhpcy5kZXN0cm95KCk7XG5cdFx0fVxuXHRcdHByb3BzID0gey4uLnByb3BzfTtcblx0XHR0aGlzLiNwcm9wcyA9IHByb3BzO1xuXHRcdHRoaXMuI3ZpZXdSZWYgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlRW1iZWRkZWRWaWV3KHNsb3QsIHByb3BzKTtcblx0fVxuXG5cdG92ZXJyaWRlIHByb3BzQ2hhbmdlKHNsb3Q6IFRlbXBsYXRlUmVmPFByb3BzPiwgcHJvcHM6IFByb3BzKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuI3ZpZXdSZWYpIHtcblx0XHRcdGNvbnN0IHRlbXBsYXRlUHJvcHMgPSB0aGlzLiNwcm9wcztcblx0XHRcdGNvbnN0IG9sZFByb3BlcnRpZXMgPSBuZXcgU2V0PGtleW9mIFByb3BzPihPYmplY3Qua2V5cyh0ZW1wbGF0ZVByb3BzKSk7XG5cdFx0XHRmb3IgKGNvbnN0IHByb3BlcnR5IG9mIE9iamVjdC5rZXlzKHByb3BzKSBhcyAoa2V5b2YgUHJvcHMpW10pIHtcblx0XHRcdFx0dGVtcGxhdGVQcm9wc1twcm9wZXJ0eV0gPSBwcm9wc1twcm9wZXJ0eV07XG5cdFx0XHRcdG9sZFByb3BlcnRpZXMuZGVsZXRlKHByb3BlcnR5KTtcblx0XHRcdH1cblx0XHRcdGZvciAoY29uc3Qgb2xkUHJvcGVydHkgb2Ygb2xkUHJvcGVydGllcykge1xuXHRcdFx0XHRkZWxldGUgdGVtcGxhdGVQcm9wc1tvbGRQcm9wZXJ0eV07XG5cdFx0XHR9XG5cdFx0XHR0aGlzLiN2aWV3UmVmLm1hcmtGb3JDaGVjaygpO1xuXHRcdH1cblx0fVxuXG5cdG92ZXJyaWRlIGRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy52aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XG5cdH1cbn1cblxuY2xhc3MgQ29tcG9uZW50VGVtcGxhdGVTbG90SGFuZGxlcjxcblx0UHJvcHMgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuXHRLIGV4dGVuZHMgc3RyaW5nLFxuXHRUIGV4dGVuZHMge1trZXkgaW4gS106IFRlbXBsYXRlUmVmPFByb3BzPn1cbj4gZXh0ZW5kcyBTbG90SGFuZGxlcjxQcm9wcywgQ29tcG9uZW50VGVtcGxhdGU8UHJvcHMsIEssIFQ+PiB7XG5cdCNjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxUPiB8IHVuZGVmaW5lZDtcblx0I3RlbXBsYXRlU2xvdEhhbmRsZXIgPSBuZXcgVGVtcGxhdGVSZWZTbG90SGFuZGxlcih0aGlzLnZpZXdDb250YWluZXJSZWYsIHRoaXMuZG9jdW1lbnQpO1xuXHQjdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPFByb3BzPiB8IHVuZGVmaW5lZDtcblxuXHRvdmVycmlkZSBzbG90Q2hhbmdlKHNsb3Q6IENvbXBvbmVudFRlbXBsYXRlPFByb3BzLCBLLCBUPiwgcHJvcHM6IFByb3BzKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuI2NvbXBvbmVudFJlZikge1xuXHRcdFx0dGhpcy5kZXN0cm95KCk7XG5cdFx0fVxuXHRcdHRoaXMuI2NvbXBvbmVudFJlZiA9IGNyZWF0ZUNvbXBvbmVudChzbG90LmNvbXBvbmVudCwge1xuXHRcdFx0ZWxlbWVudEluamVjdG9yOiB0aGlzLnZpZXdDb250YWluZXJSZWYuaW5qZWN0b3IsXG5cdFx0XHRlbnZpcm9ubWVudEluamVjdG9yOiB0aGlzLnZpZXdDb250YWluZXJSZWYuaW5qZWN0b3IuZ2V0KEVudmlyb25tZW50SW5qZWN0b3IpLFxuXHRcdH0pO1xuXHRcdHRoaXMuI3RlbXBsYXRlUmVmID0gdGhpcy4jY29tcG9uZW50UmVmLmluc3RhbmNlW3Nsb3QudGVtcGxhdGVQcm9wXTtcblx0XHR0aGlzLiN0ZW1wbGF0ZVNsb3RIYW5kbGVyLnNsb3RDaGFuZ2UodGhpcy4jdGVtcGxhdGVSZWYsIHByb3BzKTtcblx0fVxuXG5cdG92ZXJyaWRlIHByb3BzQ2hhbmdlKHNsb3Q6IENvbXBvbmVudFRlbXBsYXRlPFByb3BzLCBLLCBUPiwgcHJvcHM6IFByb3BzKTogdm9pZCB7XG5cdFx0dGhpcy4jdGVtcGxhdGVTbG90SGFuZGxlci5wcm9wc0NoYW5nZSh0aGlzLiN0ZW1wbGF0ZVJlZiEsIHByb3BzKTtcblx0fVxuXG5cdG92ZXJyaWRlIGRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy4jdGVtcGxhdGVTbG90SGFuZGxlci5kZXN0cm95KCk7XG5cdFx0dGhpcy4jY29tcG9uZW50UmVmPy5kZXN0cm95KCk7XG5cdFx0dGhpcy4jY29tcG9uZW50UmVmID0gdW5kZWZpbmVkO1xuXHR9XG59XG5cbmNvbnN0IGdldFNsb3RUeXBlID0gKHZhbHVlOiBhbnkpOiB1bmRlZmluZWQgfCB7bmV3ICh2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLCBkb2N1bWVudDogRG9jdW1lbnQpOiBTbG90SGFuZGxlcjxhbnk+fSA9PiB7XG5cdGlmICghdmFsdWUpIHJldHVybiB1bmRlZmluZWQ7XG5cdGNvbnN0IHR5cGUgPSB0eXBlb2YgdmFsdWU7XG5cdHN3aXRjaCAodHlwZSkge1xuXHRcdGNhc2UgJ3N0cmluZyc6XG5cdFx0XHRyZXR1cm4gU3RyaW5nU2xvdEhhbmRsZXI7XG5cdFx0Y2FzZSAnZnVuY3Rpb24nOlxuXHRcdFx0aWYgKHJlZmxlY3RDb21wb25lbnRUeXBlKHZhbHVlKSkge1xuXHRcdFx0XHRyZXR1cm4gQ29tcG9uZW50U2xvdEhhbmRsZXI7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gRnVuY3Rpb25TbG90SGFuZGxlcjtcblx0XHRjYXNlICdvYmplY3QnOlxuXHRcdFx0aWYgKHZhbHVlIGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpIHtcblx0XHRcdFx0cmV0dXJuIFRlbXBsYXRlUmVmU2xvdEhhbmRsZXI7XG5cdFx0XHR9XG5cdFx0XHRpZiAodmFsdWUgaW5zdGFuY2VvZiBDb21wb25lbnRUZW1wbGF0ZSkge1xuXHRcdFx0XHRyZXR1cm4gQ29tcG9uZW50VGVtcGxhdGVTbG90SGFuZGxlcjtcblx0XHRcdH1cblx0XHRcdGJyZWFrO1xuXHR9XG5cdHJldHVybiB1bmRlZmluZWQ7XG59O1xuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbYXVTbG90XScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFNsb3REaXJlY3RpdmU8UHJvcHMgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+PiBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcblx0QElucHV0KCdhdVNsb3QnKSBzbG90OiBTbG90Q29udGVudDxQcm9wcz47XG5cdEBJbnB1dCgnYXVTbG90UHJvcHMnKSBwcm9wczogUHJvcHM7XG5cblx0cHJpdmF0ZSBfdmlld0NvbnRhaW5lclJlZiA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcblx0cHJpdmF0ZSBfZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuXHRwcml2YXRlIF9zbG90VHlwZTogUmV0dXJuVHlwZTx0eXBlb2YgZ2V0U2xvdFR5cGU+O1xuXHRwcml2YXRlIF9zbG90SGFuZGxlcjogU2xvdEhhbmRsZXI8UHJvcHM+IHwgdW5kZWZpbmVkO1xuXG5cdG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcblx0XHRjb25zdCBzbG90Q2hhbmdlID0gY2hhbmdlc1snc2xvdCddO1xuXHRcdGNvbnN0IHByb3BzQ2hhbmdlID0gY2hhbmdlc1sncHJvcHMnXTtcblx0XHRjb25zdCBzbG90ID0gdGhpcy5zbG90O1xuXHRcdGlmIChzbG90Q2hhbmdlKSB7XG5cdFx0XHRjb25zdCBuZXdTbG90VHlwZSA9IGdldFNsb3RUeXBlKHNsb3QpO1xuXHRcdFx0aWYgKG5ld1Nsb3RUeXBlICE9PSB0aGlzLl9zbG90VHlwZSkge1xuXHRcdFx0XHR0aGlzLl9zbG90SGFuZGxlcj8uZGVzdHJveSgpO1xuXHRcdFx0XHR0aGlzLl9zbG90SGFuZGxlciA9IG5ld1Nsb3RUeXBlID8gbmV3IG5ld1Nsb3RUeXBlKHRoaXMuX3ZpZXdDb250YWluZXJSZWYsIHRoaXMuX2RvY3VtZW50KSA6IHVuZGVmaW5lZDtcblx0XHRcdFx0dGhpcy5fc2xvdFR5cGUgPSBuZXdTbG90VHlwZTtcblx0XHRcdH1cblx0XHRcdHRoaXMuX3Nsb3RIYW5kbGVyPy5zbG90Q2hhbmdlKHNsb3QsIHRoaXMucHJvcHMpO1xuXHRcdH0gZWxzZSBpZiAocHJvcHNDaGFuZ2UpIHtcblx0XHRcdHRoaXMuX3Nsb3RIYW5kbGVyPy5wcm9wc0NoYW5nZShzbG90LCB0aGlzLnByb3BzKTtcblx0XHR9XG5cdH1cblxuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcblx0XHR0aGlzLl9zbG90SGFuZGxlcj8uZGVzdHJveSgpO1xuXHRcdHRoaXMuX3Nsb3RIYW5kbGVyID0gdW5kZWZpbmVkO1xuXHR9XG59XG4iXX0=
@@ -7,14 +7,14 @@ export class SlotDefaultDirective {
7
7
  ngOnInit() {
8
8
  this.auSlotDefault.update((value) => ({ ...value, slotDefault: this.templateRef }));
9
9
  }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SlotDefaultDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
11
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: SlotDefaultDirective, isStandalone: true, selector: "[auSlotDefault]", inputs: { auSlotDefault: "auSlotDefault" }, ngImport: i0 }); }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SlotDefaultDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
11
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SlotDefaultDirective, isStandalone: true, selector: "[auSlotDefault]", inputs: { auSlotDefault: "auSlotDefault" }, ngImport: i0 }); }
12
12
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SlotDefaultDirective, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SlotDefaultDirective, decorators: [{
14
14
  type: Directive,
15
15
  args: [{ selector: '[auSlotDefault]', standalone: true }]
16
16
  }], propDecorators: { auSlotDefault: [{
17
17
  type: Input,
18
18
  args: ['auSlotDefault']
19
19
  }] } });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xvdERlZmF1bHQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vaGVhZGxlc3Mvc3JjL2xpYi9zbG90RGVmYXVsdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFJcEUsTUFBTSxPQUFPLG9CQUFvQjtJQURqQztRQUlDLGdCQUFXLEdBQUcsTUFBTSxDQUFDLENBQUEsV0FBYyxDQUFBLENBQUMsQ0FBQztLQUtyQztJQUhBLFFBQVE7UUFDUCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFDLEdBQUcsS0FBSyxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25GLENBQUM7OEdBUFcsb0JBQW9CO2tHQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBRGhDLFNBQVM7bUJBQUMsRUFBQyxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBQzs4QkFFakMsYUFBYTtzQkFBcEMsS0FBSzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1dyaXRhYmxlU2lnbmFsfSBmcm9tICdAYW1hZGV1cy1pdC1ncm91cC90YW5zdSc7XG5pbXBvcnQgdHlwZSB7T25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGlyZWN0aXZlLCBJbnB1dCwgVGVtcGxhdGVSZWYsIGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7U2xvdENvbnRlbnR9IGZyb20gJy4vc2xvdFR5cGVzJztcblxuQERpcmVjdGl2ZSh7c2VsZWN0b3I6ICdbYXVTbG90RGVmYXVsdF0nLCBzdGFuZGFsb25lOiB0cnVlfSlcbmV4cG9ydCBjbGFzcyBTbG90RGVmYXVsdERpcmVjdGl2ZTxUIGV4dGVuZHMgb2JqZWN0PiBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cdEBJbnB1dCgnYXVTbG90RGVmYXVsdCcpIGF1U2xvdERlZmF1bHQ6IFdyaXRhYmxlU2lnbmFsPHtzbG90RGVmYXVsdD86IFNsb3RDb250ZW50PFQ+fT47XG5cblx0dGVtcGxhdGVSZWYgPSBpbmplY3QoVGVtcGxhdGVSZWY8VD4pO1xuXG5cdG5nT25Jbml0KCk6IHZvaWQge1xuXHRcdHRoaXMuYXVTbG90RGVmYXVsdC51cGRhdGUoKHZhbHVlKSA9PiAoey4uLnZhbHVlLCBzbG90RGVmYXVsdDogdGhpcy50ZW1wbGF0ZVJlZn0pKTtcblx0fVxufVxuIl19
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xvdERlZmF1bHQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vaGVhZGxlc3Mvc3JjL2xpYi9zbG90RGVmYXVsdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFJcEUsTUFBTSxPQUFPLG9CQUFvQjtJQURqQztRQUlDLGdCQUFXLEdBQUcsTUFBTSxDQUFDLENBQUEsV0FBYyxDQUFBLENBQUMsQ0FBQztLQUtyQztJQUhBLFFBQVE7UUFDUCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFDLEdBQUcsS0FBSyxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25GLENBQUM7K0dBUFcsb0JBQW9CO21HQUFwQixvQkFBb0I7OzRGQUFwQixvQkFBb0I7a0JBRGhDLFNBQVM7bUJBQUMsRUFBQyxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBQzs4QkFFakMsYUFBYTtzQkFBcEMsS0FBSzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1dyaXRhYmxlU2lnbmFsfSBmcm9tICdAYW1hZGV1cy1pdC1ncm91cC90YW5zdSc7XG5pbXBvcnQgdHlwZSB7T25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGlyZWN0aXZlLCBJbnB1dCwgVGVtcGxhdGVSZWYsIGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7U2xvdENvbnRlbnR9IGZyb20gJy4vc2xvdFR5cGVzJztcblxuQERpcmVjdGl2ZSh7c2VsZWN0b3I6ICdbYXVTbG90RGVmYXVsdF0nLCBzdGFuZGFsb25lOiB0cnVlfSlcbmV4cG9ydCBjbGFzcyBTbG90RGVmYXVsdERpcmVjdGl2ZTxUIGV4dGVuZHMgb2JqZWN0PiBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cdEBJbnB1dCgnYXVTbG90RGVmYXVsdCcpIGF1U2xvdERlZmF1bHQ6IFdyaXRhYmxlU2lnbmFsPHtzbG90RGVmYXVsdD86IFNsb3RDb250ZW50PFQ+fT47XG5cblx0dGVtcGxhdGVSZWYgPSBpbmplY3QoVGVtcGxhdGVSZWY8VD4pO1xuXG5cdG5nT25Jbml0KCk6IHZvaWQge1xuXHRcdHRoaXMuYXVTbG90RGVmYXVsdC51cGRhdGUoKHZhbHVlKSA9PiAoey4uLnZhbHVlLCBzbG90RGVmYXVsdDogdGhpcy50ZW1wbGF0ZVJlZn0pKTtcblx0fVxufVxuIl19
@@ -1,47 +1,52 @@
1
- import { Directive, ElementRef, inject, Input } from '@angular/core';
1
+ import { DestroyRef, Directive, ElementRef, inject, Input } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  // All calls of the directive in this class are done asynchronously (with await 0)
4
4
  // in order to avoid ExpressionChangedAfterItHasBeenCheckedError
5
5
  // or the corresponding issue with signals (https://github.com/angular/angular/issues/50320)
6
6
  // This is relevant especially if calling the directive changes variables used in a template.
7
- export class UseDirective {
8
- #ref = inject(ElementRef);
9
- #directive;
10
- #directiveInstance;
11
- async #destroyDirectiveInstance() {
12
- const directiveInstance = this.#directiveInstance;
13
- this.#directiveInstance = undefined;
14
- if (directiveInstance?.destroy) {
7
+ export const useDirectiveForHost = (use, params) => {
8
+ const ref = inject(ElementRef);
9
+ let instance = use?.(ref.nativeElement, params);
10
+ async function destroyDirectiveInstance() {
11
+ const oldInstance = instance;
12
+ instance = undefined;
13
+ use = undefined;
14
+ if (oldInstance?.destroy) {
15
15
  await 0;
16
- directiveInstance.destroy?.();
16
+ oldInstance.destroy?.();
17
17
  }
18
18
  }
19
- async ngOnChanges(changes) {
20
- if (this.use !== this.#directive) {
21
- this.#destroyDirectiveInstance();
22
- const directive = this.use;
23
- this.#directive = directive;
24
- if (directive) {
19
+ inject(DestroyRef).onDestroy(destroyDirectiveInstance);
20
+ async function update(newUse, newParams) {
21
+ if (newUse !== use) {
22
+ destroyDirectiveInstance();
23
+ use = newUse;
24
+ params = newParams;
25
+ if (newUse) {
25
26
  await 0;
26
27
  // checks that the directive did not change while waiting:
27
- if (directive === this.#directive && !this.#directiveInstance) {
28
- this.#directiveInstance = directive(this.#ref.nativeElement, this.params);
28
+ if (use === newUse && !instance) {
29
+ instance = use(ref.nativeElement, params);
29
30
  }
30
31
  }
31
32
  }
32
- else if (changes['params']) {
33
+ else if (newParams != params) {
34
+ params = newParams;
33
35
  await 0;
34
- this.#directiveInstance?.update?.(this.params);
36
+ instance?.update?.(params);
35
37
  }
36
38
  }
37
- ngOnDestroy() {
38
- this.#destroyDirectiveInstance();
39
- this.#directive = undefined;
39
+ return { update };
40
+ };
41
+ export class UseDirective {
42
+ #useDirective = useDirectiveForHost();
43
+ ngOnChanges() {
44
+ this.#useDirective.update(this.use, this.params);
40
45
  }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: UseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
42
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: UseDirective, isStandalone: true, selector: "[auUse]", inputs: { use: ["auUse", "use"], params: ["auUseParams", "params"] }, usesOnChanges: true, ngImport: i0 }); }
46
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
47
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: UseDirective, isStandalone: true, selector: "[auUse]", inputs: { use: ["auUse", "use"], params: ["auUseParams", "params"] }, usesOnChanges: true, ngImport: i0 }); }
43
48
  }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: UseDirective, decorators: [{
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UseDirective, decorators: [{
45
50
  type: Directive,
46
51
  args: [{
47
52
  standalone: true,
@@ -54,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
54
59
  type: Input,
55
60
  args: ['auUseParams']
56
61
  }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2hlYWRsZXNzL3NyYy9saWIvdXNlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQUduRSxrRkFBa0Y7QUFDbEYsZ0VBQWdFO0FBQ2hFLDRGQUE0RjtBQUM1Riw2RkFBNkY7QUFNN0YsTUFBTSxPQUFPLFlBQVk7SUFPeEIsSUFBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUUxQixVQUFVLENBQWtDO0lBQzVDLGtCQUFrQixDQUFtQztJQUVyRCxLQUFLLENBQUMseUJBQXlCO1FBQzlCLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1FBQ2xELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxTQUFTLENBQUM7UUFDcEMsSUFBSSxpQkFBaUIsRUFBRSxPQUFPLEVBQUU7WUFDL0IsTUFBTSxDQUFDLENBQUM7WUFDUixpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1NBQzlCO0lBQ0YsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBc0I7UUFDdkMsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDakMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7WUFDakMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUMzQixJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztZQUM1QixJQUFJLFNBQVMsRUFBRTtnQkFDZCxNQUFNLENBQUMsQ0FBQztnQkFDUiwwREFBMEQ7Z0JBQzFELElBQUksU0FBUyxLQUFLLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUU7b0JBQzlELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLE1BQVcsQ0FBQyxDQUFDO2lCQUMvRTthQUNEO1NBQ0Q7YUFBTSxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUM3QixNQUFNLENBQUMsQ0FBQztZQUNSLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBVyxDQUFDLENBQUM7U0FDcEQ7SUFDRixDQUFDO0lBRUQsV0FBVztRQUNWLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7OEdBMUNXLFlBQVk7a0dBQVosWUFBWTs7MkZBQVosWUFBWTtrQkFKeEIsU0FBUzttQkFBQztvQkFDVixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLFNBQVM7aUJBQ25COzhCQUdBLEdBQUc7c0JBREYsS0FBSzt1QkFBQyxPQUFPO2dCQUlkLE1BQU07c0JBREwsS0FBSzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge09uQ2hhbmdlcywgT25EZXN0cm95LCBTaW1wbGVDaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHtEaXJlY3RpdmUgYXMgQWdub3NVSURpcmVjdGl2ZX0gZnJvbSAnQGFnbm9zLXVpL2NvcmUnO1xuXG4vLyBBbGwgY2FsbHMgb2YgdGhlIGRpcmVjdGl2ZSBpbiB0aGlzIGNsYXNzIGFyZSBkb25lIGFzeW5jaHJvbm91c2x5ICh3aXRoIGF3YWl0IDApXG4vLyBpbiBvcmRlciB0byBhdm9pZCBFeHByZXNzaW9uQ2hhbmdlZEFmdGVySXRIYXNCZWVuQ2hlY2tlZEVycm9yXG4vLyBvciB0aGUgY29ycmVzcG9uZGluZyBpc3N1ZSB3aXRoIHNpZ25hbHMgKGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzUwMzIwKVxuLy8gVGhpcyBpcyByZWxldmFudCBlc3BlY2lhbGx5IGlmIGNhbGxpbmcgdGhlIGRpcmVjdGl2ZSBjaGFuZ2VzIHZhcmlhYmxlcyB1c2VkIGluIGEgdGVtcGxhdGUuXG5cbkBEaXJlY3RpdmUoe1xuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRzZWxlY3RvcjogJ1thdVVzZV0nLFxufSlcbmV4cG9ydCBjbGFzcyBVc2VEaXJlY3RpdmU8VD4gaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG5cdEBJbnB1dCgnYXVVc2UnKVxuXHR1c2U6IEFnbm9zVUlEaXJlY3RpdmU8VD4gfCB1bmRlZmluZWQ7XG5cblx0QElucHV0KCdhdVVzZVBhcmFtcycpXG5cdHBhcmFtczogVCB8IHVuZGVmaW5lZDtcblxuXHQjcmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG5cdCNkaXJlY3RpdmU6IEFnbm9zVUlEaXJlY3RpdmU8VD4gfCB1bmRlZmluZWQ7XG5cdCNkaXJlY3RpdmVJbnN0YW5jZT86IFJldHVyblR5cGU8QWdub3NVSURpcmVjdGl2ZTxUPj47XG5cblx0YXN5bmMgI2Rlc3Ryb3lEaXJlY3RpdmVJbnN0YW5jZSgpIHtcblx0XHRjb25zdCBkaXJlY3RpdmVJbnN0YW5jZSA9IHRoaXMuI2RpcmVjdGl2ZUluc3RhbmNlO1xuXHRcdHRoaXMuI2RpcmVjdGl2ZUluc3RhbmNlID0gdW5kZWZpbmVkO1xuXHRcdGlmIChkaXJlY3RpdmVJbnN0YW5jZT8uZGVzdHJveSkge1xuXHRcdFx0YXdhaXQgMDtcblx0XHRcdGRpcmVjdGl2ZUluc3RhbmNlLmRlc3Ryb3k/LigpO1xuXHRcdH1cblx0fVxuXG5cdGFzeW5jIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRpZiAodGhpcy51c2UgIT09IHRoaXMuI2RpcmVjdGl2ZSkge1xuXHRcdFx0dGhpcy4jZGVzdHJveURpcmVjdGl2ZUluc3RhbmNlKCk7XG5cdFx0XHRjb25zdCBkaXJlY3RpdmUgPSB0aGlzLnVzZTtcblx0XHRcdHRoaXMuI2RpcmVjdGl2ZSA9IGRpcmVjdGl2ZTtcblx0XHRcdGlmIChkaXJlY3RpdmUpIHtcblx0XHRcdFx0YXdhaXQgMDtcblx0XHRcdFx0Ly8gY2hlY2tzIHRoYXQgdGhlIGRpcmVjdGl2ZSBkaWQgbm90IGNoYW5nZSB3aGlsZSB3YWl0aW5nOlxuXHRcdFx0XHRpZiAoZGlyZWN0aXZlID09PSB0aGlzLiNkaXJlY3RpdmUgJiYgIXRoaXMuI2RpcmVjdGl2ZUluc3RhbmNlKSB7XG5cdFx0XHRcdFx0dGhpcy4jZGlyZWN0aXZlSW5zdGFuY2UgPSBkaXJlY3RpdmUodGhpcy4jcmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMucGFyYW1zIGFzIFQpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSBlbHNlIGlmIChjaGFuZ2VzWydwYXJhbXMnXSkge1xuXHRcdFx0YXdhaXQgMDtcblx0XHRcdHRoaXMuI2RpcmVjdGl2ZUluc3RhbmNlPy51cGRhdGU/Lih0aGlzLnBhcmFtcyBhcyBUKTtcblx0XHR9XG5cdH1cblxuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcblx0XHR0aGlzLiNkZXN0cm95RGlyZWN0aXZlSW5zdGFuY2UoKTtcblx0XHR0aGlzLiNkaXJlY3RpdmUgPSB1bmRlZmluZWQ7XG5cdH1cbn1cbiJdfQ==
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2hlYWRsZXNzL3NyYy9saWIvdXNlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFHL0Usa0ZBQWtGO0FBQ2xGLGdFQUFnRTtBQUNoRSw0RkFBNEY7QUFDNUYsNkZBQTZGO0FBRTdGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUksR0FBeUIsRUFBRSxNQUFVLEVBQUUsRUFBRTtJQUMvRSxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFL0IsSUFBSSxRQUFRLEdBQUcsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxNQUFXLENBQUMsQ0FBQztJQUVyRCxLQUFLLFVBQVUsd0JBQXdCO1FBQ3RDLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQztRQUM3QixRQUFRLEdBQUcsU0FBUyxDQUFDO1FBQ3JCLEdBQUcsR0FBRyxTQUFTLENBQUM7UUFDaEIsSUFBSSxXQUFXLEVBQUUsT0FBTyxFQUFFO1lBQ3pCLE1BQU0sQ0FBQyxDQUFDO1lBQ1IsV0FBVyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7U0FDeEI7SUFDRixDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBRXZELEtBQUssVUFBVSxNQUFNLENBQUMsTUFBNEIsRUFBRSxTQUFhO1FBQ2hFLElBQUksTUFBTSxLQUFLLEdBQUcsRUFBRTtZQUNuQix3QkFBd0IsRUFBRSxDQUFDO1lBQzNCLEdBQUcsR0FBRyxNQUFNLENBQUM7WUFDYixNQUFNLEdBQUcsU0FBUyxDQUFDO1lBQ25CLElBQUksTUFBTSxFQUFFO2dCQUNYLE1BQU0sQ0FBQyxDQUFDO2dCQUNSLDBEQUEwRDtnQkFDMUQsSUFBSSxHQUFHLEtBQUssTUFBTSxJQUFJLENBQUMsUUFBUSxFQUFFO29CQUNoQyxRQUFRLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsTUFBVyxDQUFDLENBQUM7aUJBQy9DO2FBQ0Q7U0FDRDthQUFNLElBQUksU0FBUyxJQUFJLE1BQU0sRUFBRTtZQUMvQixNQUFNLEdBQUcsU0FBUyxDQUFDO1lBQ25CLE1BQU0sQ0FBQyxDQUFDO1lBQ1IsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDLE1BQVcsQ0FBQyxDQUFDO1NBQ2hDO0lBQ0YsQ0FBQztJQUVELE9BQU8sRUFBQyxNQUFNLEVBQUMsQ0FBQztBQUNqQixDQUFDLENBQUM7QUFNRixNQUFNLE9BQU8sWUFBWTtJQU94QixhQUFhLEdBQUcsbUJBQW1CLEVBQUssQ0FBQztJQUV6QyxXQUFXO1FBQ1YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEQsQ0FBQzsrR0FYVyxZQUFZO21HQUFaLFlBQVk7OzRGQUFaLFlBQVk7a0JBSnhCLFNBQVM7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxTQUFTO2lCQUNuQjs4QkFHQSxHQUFHO3NCQURGLEtBQUs7dUJBQUMsT0FBTztnQkFJZCxNQUFNO3NCQURMLEtBQUs7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtPbkNoYW5nZXN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEZXN0cm95UmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUge0RpcmVjdGl2ZSBhcyBBZ25vc1VJRGlyZWN0aXZlfSBmcm9tICdAYWdub3MtdWkvY29yZSc7XG5cbi8vIEFsbCBjYWxscyBvZiB0aGUgZGlyZWN0aXZlIGluIHRoaXMgY2xhc3MgYXJlIGRvbmUgYXN5bmNocm9ub3VzbHkgKHdpdGggYXdhaXQgMClcbi8vIGluIG9yZGVyIHRvIGF2b2lkIEV4cHJlc3Npb25DaGFuZ2VkQWZ0ZXJJdEhhc0JlZW5DaGVja2VkRXJyb3Jcbi8vIG9yIHRoZSBjb3JyZXNwb25kaW5nIGlzc3VlIHdpdGggc2lnbmFscyAoaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvNTAzMjApXG4vLyBUaGlzIGlzIHJlbGV2YW50IGVzcGVjaWFsbHkgaWYgY2FsbGluZyB0aGUgZGlyZWN0aXZlIGNoYW5nZXMgdmFyaWFibGVzIHVzZWQgaW4gYSB0ZW1wbGF0ZS5cblxuZXhwb3J0IGNvbnN0IHVzZURpcmVjdGl2ZUZvckhvc3QgPSA8VD4odXNlPzogQWdub3NVSURpcmVjdGl2ZTxUPiwgcGFyYW1zPzogVCkgPT4ge1xuXHRjb25zdCByZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cblx0bGV0IGluc3RhbmNlID0gdXNlPy4ocmVmLm5hdGl2ZUVsZW1lbnQsIHBhcmFtcyBhcyBUKTtcblxuXHRhc3luYyBmdW5jdGlvbiBkZXN0cm95RGlyZWN0aXZlSW5zdGFuY2UoKSB7XG5cdFx0Y29uc3Qgb2xkSW5zdGFuY2UgPSBpbnN0YW5jZTtcblx0XHRpbnN0YW5jZSA9IHVuZGVmaW5lZDtcblx0XHR1c2UgPSB1bmRlZmluZWQ7XG5cdFx0aWYgKG9sZEluc3RhbmNlPy5kZXN0cm95KSB7XG5cdFx0XHRhd2FpdCAwO1xuXHRcdFx0b2xkSW5zdGFuY2UuZGVzdHJveT8uKCk7XG5cdFx0fVxuXHR9XG5cblx0aW5qZWN0KERlc3Ryb3lSZWYpLm9uRGVzdHJveShkZXN0cm95RGlyZWN0aXZlSW5zdGFuY2UpO1xuXG5cdGFzeW5jIGZ1bmN0aW9uIHVwZGF0ZShuZXdVc2U/OiBBZ25vc1VJRGlyZWN0aXZlPFQ+LCBuZXdQYXJhbXM/OiBUKSB7XG5cdFx0aWYgKG5ld1VzZSAhPT0gdXNlKSB7XG5cdFx0XHRkZXN0cm95RGlyZWN0aXZlSW5zdGFuY2UoKTtcblx0XHRcdHVzZSA9IG5ld1VzZTtcblx0XHRcdHBhcmFtcyA9IG5ld1BhcmFtcztcblx0XHRcdGlmIChuZXdVc2UpIHtcblx0XHRcdFx0YXdhaXQgMDtcblx0XHRcdFx0Ly8gY2hlY2tzIHRoYXQgdGhlIGRpcmVjdGl2ZSBkaWQgbm90IGNoYW5nZSB3aGlsZSB3YWl0aW5nOlxuXHRcdFx0XHRpZiAodXNlID09PSBuZXdVc2UgJiYgIWluc3RhbmNlKSB7XG5cdFx0XHRcdFx0aW5zdGFuY2UgPSB1c2UocmVmLm5hdGl2ZUVsZW1lbnQsIHBhcmFtcyBhcyBUKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0gZWxzZSBpZiAobmV3UGFyYW1zICE9IHBhcmFtcykge1xuXHRcdFx0cGFyYW1zID0gbmV3UGFyYW1zO1xuXHRcdFx0YXdhaXQgMDtcblx0XHRcdGluc3RhbmNlPy51cGRhdGU/LihwYXJhbXMgYXMgVCk7XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIHt1cGRhdGV9O1xufTtcblxuQERpcmVjdGl2ZSh7XG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHNlbGVjdG9yOiAnW2F1VXNlXScsXG59KVxuZXhwb3J0IGNsYXNzIFVzZURpcmVjdGl2ZTxUPiBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG5cdEBJbnB1dCgnYXVVc2UnKVxuXHR1c2U6IEFnbm9zVUlEaXJlY3RpdmU8VD4gfCB1bmRlZmluZWQ7XG5cblx0QElucHV0KCdhdVVzZVBhcmFtcycpXG5cdHBhcmFtczogVCB8IHVuZGVmaW5lZDtcblxuXHQjdXNlRGlyZWN0aXZlID0gdXNlRGlyZWN0aXZlRm9ySG9zdDxUPigpO1xuXG5cdG5nT25DaGFuZ2VzKCkge1xuXHRcdHRoaXMuI3VzZURpcmVjdGl2ZS51cGRhdGUodGhpcy51c2UsIHRoaXMucGFyYW1zKTtcblx0fVxufVxuIl19
@@ -1,5 +1,7 @@
1
1
  import { toReadableStore } from '@agnos-ui/core';
2
2
  import { computed, writable } from '@amadeus-it-group/tansu';
3
+ import { DestroyRef, Injectable, NgZone, inject, signal } from '@angular/core';
4
+ import * as i0 from "@angular/core";
3
5
  const createPatchSlots = (set) => {
4
6
  let lastValue = {};
5
7
  return (object) => {
@@ -21,15 +23,95 @@ const createPatchSlots = (set) => {
21
23
  }
22
24
  };
23
25
  };
26
+ const noop = () => { };
27
+ const identity = (a) => a;
28
+ const createObjectWrapper = (wrap) => (object) => {
29
+ if (!object || typeof object !== 'object') {
30
+ return object;
31
+ }
32
+ const res = {};
33
+ for (const key of Object.keys(object)) {
34
+ res[key] = wrap(object[key]);
35
+ }
36
+ return res;
37
+ };
38
+ const createReturnValueWrapper = (wrapReturnValue, wrapResult) => (fn) => wrapResult(typeof fn === 'function' ? ((...args) => wrapReturnValue(fn(...args))) : fn);
39
+ class ZoneWrapper {
40
+ constructor() {
41
+ this.#zone = inject(NgZone);
42
+ this.#hasZone = this.#zone.run(() => NgZone.isInAngularZone()); // check if zone is enabled (can be NoopZone, cf https://angular.io/guide/zone#noopzone)
43
+ this.#runNeeded = false;
44
+ this.#runPlanned = false;
45
+ this.planNgZoneRun = this.#hasZone
46
+ ? () => {
47
+ if (this.#zone.isStable) {
48
+ this.#runNeeded = true;
49
+ if (!this.#runPlanned) {
50
+ this.#runPlanned = true;
51
+ (async () => {
52
+ await 0;
53
+ this.#runPlanned = false;
54
+ if (this.#runNeeded) {
55
+ this.ngZoneRun(noop);
56
+ }
57
+ })();
58
+ }
59
+ }
60
+ }
61
+ : noop;
62
+ this.insideNgZone = this.#hasZone
63
+ ? (fn) => (typeof fn === 'function' ? ((...args) => this.ngZoneRun(() => fn(...args))) : fn)
64
+ : identity;
65
+ this.insideNgZoneWrapFunctionsObject = createObjectWrapper(this.insideNgZone);
66
+ this.outsideNgZone = this.#hasZone
67
+ ? (fn) => (typeof fn === 'function' ? ((...args) => this.#zone.runOutsideAngular(() => fn(...args))) : fn)
68
+ : identity;
69
+ this.outsideNgZoneWrapFunctionsObject = createObjectWrapper(this.outsideNgZone);
70
+ this.outsideNgZoneWrapDirective = createReturnValueWrapper(this.outsideNgZoneWrapFunctionsObject, this.outsideNgZone);
71
+ this.outsideNgZoneWrapDirectivesObject = createObjectWrapper(this.outsideNgZoneWrapDirective);
72
+ }
73
+ #zone;
74
+ #hasZone; // check if zone is enabled (can be NoopZone, cf https://angular.io/guide/zone#noopzone)
75
+ #runNeeded;
76
+ #runPlanned;
77
+ ngZoneRun(fn) {
78
+ this.#runNeeded = false;
79
+ return this.#zone.run(fn);
80
+ }
81
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ZoneWrapper, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
82
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ZoneWrapper, providedIn: 'root' }); }
83
+ }
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ZoneWrapper, decorators: [{
85
+ type: Injectable,
86
+ args: [{
87
+ providedIn: 'root',
88
+ }]
89
+ }] });
90
+ export const toAngularSignal = (tansuSignal) => {
91
+ const zoneWrapper = inject(ZoneWrapper);
92
+ const res = signal(undefined);
93
+ const subscription = zoneWrapper.outsideNgZone(tansuSignal.subscribe)((value) => {
94
+ res.set(value);
95
+ zoneWrapper.planNgZoneRun();
96
+ });
97
+ inject(DestroyRef).onDestroy(zoneWrapper.outsideNgZone(subscription));
98
+ return res;
99
+ };
24
100
  export const callWidgetFactoryWithConfig = ({ factory, defaultConfig, widgetConfig, events, }) => {
101
+ const zoneWrapper = inject(ZoneWrapper);
102
+ factory = zoneWrapper.outsideNgZone(factory);
25
103
  const defaultConfig$ = toReadableStore(defaultConfig);
26
104
  const slots$ = writable({});
105
+ events = zoneWrapper.insideNgZoneWrapFunctionsObject(events);
27
106
  const widget = factory({
28
- config: computed(() => ({ ...defaultConfig$(), ...widgetConfig?.(), ...slots$() })),
107
+ config: computed(() => ({ ...defaultConfig$(), ...widgetConfig?.(), ...slots$(), ...events })),
29
108
  });
30
- widget.patch(events);
31
109
  return {
32
110
  ...widget,
111
+ patch: zoneWrapper.outsideNgZone(widget.patch),
112
+ directives: zoneWrapper.outsideNgZoneWrapDirectivesObject(widget.directives),
113
+ actions: zoneWrapper.outsideNgZoneWrapFunctionsObject(widget.actions),
114
+ api: zoneWrapper.outsideNgZoneWrapFunctionsObject(widget.api),
33
115
  patchSlots: createPatchSlots(slots$.set),
34
116
  };
35
117
  };
@@ -42,4 +124,4 @@ export function patchSimpleChanges(patchFn, changes) {
42
124
  }
43
125
  patchFn(obj);
44
126
  }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9oZWFkbGVzcy9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvQyxPQUFPLEVBQUMsUUFBUSxFQUFFLFFBQVEsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBSTNELE1BQU0sZ0JBQWdCLEdBQUcsQ0FBbUIsR0FBaUMsRUFBRSxFQUFFO0lBQ2hGLElBQUksU0FBUyxHQUFlLEVBQUUsQ0FBQztJQUMvQixPQUFPLENBQUMsTUFBUyxFQUFFLEVBQUU7UUFDcEIsTUFBTSxRQUFRLEdBQWUsRUFBRSxDQUFDO1FBQ2hDLElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN0QixLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUF5QixFQUFFO1lBQzlELE1BQU0sU0FBUyxHQUFJLE1BQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN2QyxJQUFJLFNBQVMsSUFBSSxJQUFJLEVBQUU7Z0JBQ3RCLHlCQUF5QjtnQkFDekIsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQzthQUMxQjtZQUNELElBQUksU0FBUyxJQUFJLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDaEMsU0FBUyxHQUFHLElBQUksQ0FBQzthQUNqQjtTQUNEO1FBQ0QsSUFBSSxTQUFTLEVBQUU7WUFDZCxTQUFTLEdBQUcsUUFBUSxDQUFDO1lBQ3JCLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNkO0lBQ0YsQ0FBQyxDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBUUYsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsQ0FBbUIsRUFDN0QsT0FBTyxFQUNQLGFBQWEsRUFDYixZQUFZLEVBQ1osTUFBTSxHQU1OLEVBQXFCLEVBQUU7SUFDdkIsTUFBTSxjQUFjLEdBQUcsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3RELE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM1QixNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUM7UUFDdEIsTUFBTSxFQUFFLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUMsR0FBRyxjQUFjLEVBQUUsRUFBRSxHQUFHLFlBQVksRUFBRSxFQUFFLEVBQUUsR0FBRyxNQUFNLEVBQUUsRUFBQyxDQUFDLENBQUM7S0FDakYsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyQixPQUFPO1FBQ04sR0FBRyxNQUFNO1FBQ1QsVUFBVSxFQUFFLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7S0FDeEMsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGLE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxPQUEyQixFQUFFLE9BQXNCO0lBQ3JGLE1BQU0sR0FBRyxHQUFRLEVBQUUsQ0FBQztJQUNwQixLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUMxRCxJQUFJLFlBQVksS0FBSyxTQUFTLEVBQUU7WUFDL0IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUM7U0FDckM7S0FDRDtJQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7V2lkZ2V0LCBXaWRnZXRGYWN0b3J5LCBXaWRnZXRQcm9wc30gZnJvbSAnQGFnbm9zLXVpL2NvcmUnO1xuaW1wb3J0IHt0b1JlYWRhYmxlU3RvcmV9IGZyb20gJ0BhZ25vcy11aS9jb3JlJztcbmltcG9ydCB0eXBlIHtSZWFkYWJsZVNpZ25hbH0gZnJvbSAnQGFtYWRldXMtaXQtZ3JvdXAvdGFuc3UnO1xuaW1wb3J0IHtjb21wdXRlZCwgd3JpdGFibGV9IGZyb20gJ0BhbWFkZXVzLWl0LWdyb3VwL3RhbnN1JztcbmltcG9ydCB0eXBlIHtTaW1wbGVDaGFuZ2VzLCBUZW1wbGF0ZVJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7U2xvdENvbnRlbnR9IGZyb20gJy4vc2xvdFR5cGVzJztcblxuY29uc3QgY3JlYXRlUGF0Y2hTbG90cyA9IDxUIGV4dGVuZHMgb2JqZWN0PihzZXQ6IChvYmplY3Q6IFBhcnRpYWw8VD4pID0+IHZvaWQpID0+IHtcblx0bGV0IGxhc3RWYWx1ZTogUGFydGlhbDxUPiA9IHt9O1xuXHRyZXR1cm4gKG9iamVjdDogVCkgPT4ge1xuXHRcdGNvbnN0IG5ld1ZhbHVlOiBQYXJ0aWFsPFQ+ID0ge307XG5cdFx0bGV0IGhhc0NoYW5nZSA9IGZhbHNlO1xuXHRcdGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKG9iamVjdCkgYXMgKHN0cmluZyAmIGtleW9mIFQpW10pIHtcblx0XHRcdGNvbnN0IG9iamVjdEtleSA9IChvYmplY3QgYXMgYW55KVtrZXldO1xuXHRcdFx0aWYgKG9iamVjdEtleSAhPSBudWxsKSB7XG5cdFx0XHRcdC8vIG9ubHkgdXNlIGRlZmluZWQgc2xvdHNcblx0XHRcdFx0bmV3VmFsdWVba2V5XSA9IG9iamVjdEtleTtcblx0XHRcdH1cblx0XHRcdGlmIChvYmplY3RLZXkgIT0gbGFzdFZhbHVlW2tleV0pIHtcblx0XHRcdFx0aGFzQ2hhbmdlID0gdHJ1ZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0aWYgKGhhc0NoYW5nZSkge1xuXHRcdFx0bGFzdFZhbHVlID0gbmV3VmFsdWU7XG5cdFx0XHRzZXQobmV3VmFsdWUpO1xuXHRcdH1cblx0fTtcbn07XG5cbmV4cG9ydCB0eXBlIFdpdGhQYXRjaFNsb3RzPFcgZXh0ZW5kcyBXaWRnZXQ+ID0gVyAmIHtcblx0cGF0Y2hTbG90cyhzbG90czoge1xuXHRcdFtLIGluIGtleW9mIFdpZGdldFByb3BzPFc+ICYgYHNsb3Qke3N0cmluZ31gXTogV2lkZ2V0UHJvcHM8Vz5bS10gZXh0ZW5kcyBTbG90Q29udGVudDxpbmZlciBVPiA/IFRlbXBsYXRlUmVmPFU+IHwgdW5kZWZpbmVkIDogbmV2ZXI7XG5cdH0pOiB2b2lkO1xufTtcblxuZXhwb3J0IGNvbnN0IGNhbGxXaWRnZXRGYWN0b3J5V2l0aENvbmZpZyA9IDxXIGV4dGVuZHMgV2lkZ2V0Pih7XG5cdGZhY3RvcnksXG5cdGRlZmF1bHRDb25maWcsXG5cdHdpZGdldENvbmZpZyxcblx0ZXZlbnRzLFxufToge1xuXHRmYWN0b3J5OiBXaWRnZXRGYWN0b3J5PFc+O1xuXHRkZWZhdWx0Q29uZmlnPzogUGFydGlhbDxXaWRnZXRQcm9wczxXPj4gfCBSZWFkYWJsZVNpZ25hbDxQYXJ0aWFsPFdpZGdldFByb3BzPFc+PiB8IHVuZGVmaW5lZD47XG5cdHdpZGdldENvbmZpZz86IG51bGwgfCB1bmRlZmluZWQgfCBSZWFkYWJsZVNpZ25hbDxQYXJ0aWFsPFdpZGdldFByb3BzPFc+PiB8IHVuZGVmaW5lZD47XG5cdGV2ZW50czogUGljazxXaWRnZXRQcm9wczxXPiwga2V5b2YgV2lkZ2V0UHJvcHM8Vz4gJiBgb24ke3N0cmluZ31gPjtcbn0pOiBXaXRoUGF0Y2hTbG90czxXPiA9PiB7XG5cdGNvbnN0IGRlZmF1bHRDb25maWckID0gdG9SZWFkYWJsZVN0b3JlKGRlZmF1bHRDb25maWcpO1xuXHRjb25zdCBzbG90cyQgPSB3cml0YWJsZSh7fSk7XG5cdGNvbnN0IHdpZGdldCA9IGZhY3Rvcnkoe1xuXHRcdGNvbmZpZzogY29tcHV0ZWQoKCkgPT4gKHsuLi5kZWZhdWx0Q29uZmlnJCgpLCAuLi53aWRnZXRDb25maWc/LigpLCAuLi5zbG90cyQoKX0pKSxcblx0fSk7XG5cdHdpZGdldC5wYXRjaChldmVudHMpO1xuXHRyZXR1cm4ge1xuXHRcdC4uLndpZGdldCxcblx0XHRwYXRjaFNsb3RzOiBjcmVhdGVQYXRjaFNsb3RzKHNsb3RzJC5zZXQpLFxuXHR9O1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhdGNoU2ltcGxlQ2hhbmdlcyhwYXRjaEZuOiAob2JqOiBhbnkpID0+IHZvaWQsIGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcblx0Y29uc3Qgb2JqOiBhbnkgPSB7fTtcblx0Zm9yIChjb25zdCBba2V5LCBzaW1wbGVDaGFuZ2VdIG9mIE9iamVjdC5lbnRyaWVzKGNoYW5nZXMpKSB7XG5cdFx0aWYgKHNpbXBsZUNoYW5nZSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRvYmpba2V5XSA9IHNpbXBsZUNoYW5nZS5jdXJyZW50VmFsdWU7XG5cdFx0fVxuXHR9XG5cdHBhdGNoRm4ob2JqKTtcbn1cbiJdfQ==
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9oZWFkbGVzcy9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvQyxPQUFPLEVBQUMsUUFBUSxFQUFFLFFBQVEsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRTNELE9BQU8sRUFBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQUc3RSxNQUFNLGdCQUFnQixHQUFHLENBQW1CLEdBQWlDLEVBQUUsRUFBRTtJQUNoRixJQUFJLFNBQVMsR0FBZSxFQUFFLENBQUM7SUFDL0IsT0FBTyxDQUFDLE1BQVMsRUFBRSxFQUFFO1FBQ3BCLE1BQU0sUUFBUSxHQUFlLEVBQUUsQ0FBQztRQUNoQyxJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdEIsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBeUIsRUFBRTtZQUM5RCxNQUFNLFNBQVMsR0FBSSxNQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdkMsSUFBSSxTQUFTLElBQUksSUFBSSxFQUFFO2dCQUN0Qix5QkFBeUI7Z0JBQ3pCLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUM7YUFDMUI7WUFDRCxJQUFJLFNBQVMsSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2hDLFNBQVMsR0FBRyxJQUFJLENBQUM7YUFDakI7U0FDRDtRQUNELElBQUksU0FBUyxFQUFFO1lBQ2QsU0FBUyxHQUFHLFFBQVEsQ0FBQztZQUNyQixHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDZDtJQUNGLENBQUMsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGLE1BQU0sSUFBSSxHQUFHLEdBQUcsRUFBRSxHQUFFLENB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Q0FBZ0MsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO1FBQzdELFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO0tBQ3hDLENBQUM7QUFDSCxDQUFDLENBQUM7QUFFRixNQUFNLFVBQVUsa0JBQWtCLENBQUMsT0FBMkIsRUFBRSxPQUFzQjtJQUNyRixNQUFNLEdBQUcsR0FBUSxFQUFFLENBQUM7SUFDcEIsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDMUQsSUFBSSxZQUFZLEtBQUssU0FBUyxFQUFFO1lBQy9CLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDO1NBQ3JDO0tBQ0Q7SUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1dpZGdldCwgV2lkZ2V0RmFjdG9yeSwgV2lkZ2V0UHJvcHN9IGZyb20gJ0BhZ25vcy11aS9jb3JlJztcbmltcG9ydCB7dG9SZWFkYWJsZVN0b3JlfSBmcm9tICdAYWdub3MtdWkvY29yZSc7XG5pbXBvcnQgdHlwZSB7UmVhZGFibGVTaWduYWx9IGZyb20gJ0BhbWFkZXVzLWl0LWdyb3VwL3RhbnN1JztcbmltcG9ydCB7Y29tcHV0ZWQsIHdyaXRhYmxlfSBmcm9tICdAYW1hZGV1cy1pdC1ncm91cC90YW5zdSc7XG5pbXBvcnQgdHlwZSB7U2lnbmFsLCBTaW1wbGVDaGFuZ2VzLCBUZW1wbGF0ZVJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Rlc3Ryb3lSZWYsIEluamVjdGFibGUsIE5nWm9uZSwgaW5qZWN0LCBzaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUge1Nsb3RDb250ZW50fSBmcm9tICcuL3Nsb3RUeXBlcyc7XG5cbmNvbnN0IGNyZWF0ZVBhdGNoU2xvdHMgPSA8VCBleHRlbmRzIG9iamVjdD4oc2V0OiAob2JqZWN0OiBQYXJ0aWFsPFQ+KSA9PiB2b2lkKSA9PiB7XG5cdGxldCBsYXN0VmFsdWU6IFBhcnRpYWw8VD4gPSB7fTtcblx0cmV0dXJuIChvYmplY3Q6IFQpID0+IHtcblx0XHRjb25zdCBuZXdWYWx1ZTogUGFydGlhbDxUPiA9IHt9O1xuXHRcdGxldCBoYXNDaGFuZ2UgPSBmYWxzZTtcblx0XHRmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhvYmplY3QpIGFzIChzdHJpbmcgJiBrZXlvZiBUKVtdKSB7XG5cdFx0XHRjb25zdCBvYmplY3RLZXkgPSAob2JqZWN0IGFzIGFueSlba2V5XTtcblx0XHRcdGlmIChvYmplY3RLZXkgIT0gbnVsbCkge1xuXHRcdFx0XHQvLyBvbmx5IHVzZSBkZWZpbmVkIHNsb3RzXG5cdFx0XHRcdG5ld1ZhbHVlW2tleV0gPSBvYmplY3RLZXk7XG5cdFx0XHR9XG5cdFx0XHRpZiAob2JqZWN0S2V5ICE9IGxhc3RWYWx1ZVtrZXldKSB7XG5cdFx0XHRcdGhhc0NoYW5nZSA9IHRydWU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGlmIChoYXNDaGFuZ2UpIHtcblx0XHRcdGxhc3RWYWx1ZSA9IG5ld1ZhbHVlO1xuXHRcdFx0c2V0KG5ld1ZhbHVlKTtcblx0XHR9XG5cdH07XG59O1xuXG5jb25zdCBub29wID0gKCkgPT4ge307XG5jb25zdCBpZGVudGl0eSA9IDxUPihhOiBUKSA9PiBhO1xuXG50eXBlIFdyYXBwZXIgPSA8VD4oZm46IFQpID0+IFQ7XG5cbmNvbnN0IGNyZWF0ZU9iamVjdFdyYXBwZXIgPVxuXHQod3JhcDogV3JhcHBlcik6IFdyYXBwZXIgPT5cblx0KG9iamVjdCkgPT4ge1xuXHRcdGlmICghb2JqZWN0IHx8IHR5cGVvZiBvYmplY3QgIT09ICdvYmplY3QnKSB7XG5cdFx0XHRyZXR1cm4gb2JqZWN0O1xuXHRcdH1cblx0XHRjb25zdCByZXMgPSB7fSBhcyBhbnk7XG5cdFx0Zm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMob2JqZWN0KSkge1xuXHRcdFx0cmVzW2tleV0gPSB3cmFwKChvYmplY3QgYXMgYW55KVtrZXldKTtcblx0XHR9XG5cdFx0cmV0dXJuIHJlcztcblx0fTtcblxuY29uc3QgY3JlYXRlUmV0dXJuVmFsdWVXcmFwcGVyID1cblx0KHdyYXBSZXR1cm5WYWx1ZTogV3JhcHBlciwgd3JhcFJlc3VsdDogV3JhcHBlcik6IFdyYXBwZXIgPT5cblx0KGZuKSA9PlxuXHRcdHdyYXBSZXN1bHQodHlwZW9mIGZuID09PSAnZnVuY3Rpb24nID8gKCgoLi4uYXJnczogYW55W10pID0+IHdyYXBSZXR1cm5WYWx1ZShmbiguLi5hcmdzKSkpIGFzIGFueSkgOiBmbik7XG5cbkBJbmplY3RhYmxlKHtcblx0cHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmNsYXNzIFpvbmVXcmFwcGVyIHtcblx0cmVhZG9ubHkgI3pvbmUgPSBpbmplY3QoTmdab25lKTtcblx0cmVhZG9ubHkgI2hhc1pvbmUgPSB0aGlzLiN6b25lLnJ1bigoKSA9PiBOZ1pvbmUuaXNJbkFuZ3VsYXJab25lKCkpOyAvLyBjaGVjayBpZiB6b25lIGlzIGVuYWJsZWQgKGNhbiBiZSBOb29wWm9uZSwgY2YgaHR0cHM6Ly9hbmd1bGFyLmlvL2d1aWRlL3pvbmUjbm9vcHpvbmUpXG5cdCNydW5OZWVkZWQgPSBmYWxzZTtcblx0I3J1blBsYW5uZWQgPSBmYWxzZTtcblxuXHRwbGFuTmdab25lUnVuID0gdGhpcy4jaGFzWm9uZVxuXHRcdD8gKCkgPT4ge1xuXHRcdFx0XHRpZiAodGhpcy4jem9uZS5pc1N0YWJsZSkge1xuXHRcdFx0XHRcdHRoaXMuI3J1bk5lZWRlZCA9IHRydWU7XG5cdFx0XHRcdFx0aWYgKCF0aGlzLiNydW5QbGFubmVkKSB7XG5cdFx0XHRcdFx0XHR0aGlzLiNydW5QbGFubmVkID0gdHJ1ZTtcblx0XHRcdFx0XHRcdChhc3luYyAoKSA9PiB7XG5cdFx0XHRcdFx0XHRcdGF3YWl0IDA7XG5cdFx0XHRcdFx0XHRcdHRoaXMuI3J1blBsYW5uZWQgPSBmYWxzZTtcblx0XHRcdFx0XHRcdFx0aWYgKHRoaXMuI3J1bk5lZWRlZCkge1xuXHRcdFx0XHRcdFx0XHRcdHRoaXMubmdab25lUnVuKG5vb3ApO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9KSgpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdCAgfVxuXHRcdDogbm9vcDtcblxuXHRuZ1pvbmVSdW48VD4oZm46ICgpID0+IFQpOiBUIHtcblx0XHR0aGlzLiNydW5OZWVkZWQgPSBmYWxzZTtcblx0XHRyZXR1cm4gdGhpcy4jem9uZS5ydW4oZm4pO1xuXHR9XG5cblx0aW5zaWRlTmdab25lOiBXcmFwcGVyID0gdGhpcy4jaGFzWm9uZVxuXHRcdD8gKGZuKSA9PiAodHlwZW9mIGZuID09PSAnZnVuY3Rpb24nID8gKCgoLi4uYXJnczogYW55W10pID0+IHRoaXMubmdab25lUnVuKCgpID0+IGZuKC4uLmFyZ3MpKSkgYXMgYW55KSA6IGZuKVxuXHRcdDogaWRlbnRpdHk7XG5cdGluc2lkZU5nWm9uZVdyYXBGdW5jdGlvbnNPYmplY3QgPSBjcmVhdGVPYmplY3RXcmFwcGVyKHRoaXMuaW5zaWRlTmdab25lKTtcblxuXHRvdXRzaWRlTmdab25lOiBXcmFwcGVyID0gdGhpcy4jaGFzWm9uZVxuXHRcdD8gKGZuKSA9PiAodHlwZW9mIGZuID09PSAnZnVuY3Rpb24nID8gKCgoLi4uYXJnczogYW55W10pID0+IHRoaXMuI3pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gZm4oLi4uYXJncykpKSBhcyBhbnkpIDogZm4pXG5cdFx0OiBpZGVudGl0eTtcblxuXHRvdXRzaWRlTmdab25lV3JhcEZ1bmN0aW9uc09iamVjdCA9IGNyZWF0ZU9iamVjdFdyYXBwZXIodGhpcy5vdXRzaWRlTmdab25lKTtcblx0b3V0c2lkZU5nWm9uZVdyYXBEaXJlY3RpdmUgPSBjcmVhdGVSZXR1cm5WYWx1ZVdyYXBwZXIodGhpcy5vdXRzaWRlTmdab25lV3JhcEZ1bmN0aW9uc09iamVjdCwgdGhpcy5vdXRzaWRlTmdab25lKTtcblx0b3V0c2lkZU5nWm9uZVdyYXBEaXJlY3RpdmVzT2JqZWN0ID0gY3JlYXRlT2JqZWN0V3JhcHBlcih0aGlzLm91dHNpZGVOZ1pvbmVXcmFwRGlyZWN0aXZlKTtcbn1cblxuZXhwb3J0IGNvbnN0IHRvQW5ndWxhclNpZ25hbCA9IDxUPih0YW5zdVNpZ25hbDogUmVhZGFibGVTaWduYWw8VD4pOiBTaWduYWw8VD4gPT4ge1xuXHRjb25zdCB6b25lV3JhcHBlciA9IGluamVjdChab25lV3JhcHBlcik7XG5cdGNvbnN0IHJlcyA9IHNpZ25hbCh1bmRlZmluZWQgYXMgYW55IGFzIFQpO1xuXHRjb25zdCBzdWJzY3JpcHRpb24gPSB6b25lV3JhcHBlci5vdXRzaWRlTmdab25lKHRhbnN1U2lnbmFsLnN1YnNjcmliZSkoKHZhbHVlKSA9PiB7XG5cdFx0cmVzLnNldCh2YWx1ZSk7XG5cdFx0em9uZVdyYXBwZXIucGxhbk5nWm9uZVJ1bigpO1xuXHR9KTtcblx0aW5qZWN0KERlc3Ryb3lSZWYpLm9uRGVzdHJveSh6b25lV3JhcHBlci5vdXRzaWRlTmdab25lKHN1YnNjcmlwdGlvbikpO1xuXHRyZXR1cm4gcmVzO1xufTtcblxuZXhwb3J0IHR5cGUgV2l0aFBhdGNoU2xvdHM8VyBleHRlbmRzIFdpZGdldD4gPSBXICYge1xuXHRwYXRjaFNsb3RzKHNsb3RzOiB7XG5cdFx0W0sgaW4ga2V5b2YgV2lkZ2V0UHJvcHM8Vz4gJiBgc2xvdCR7c3RyaW5nfWBdOiBXaWRnZXRQcm9wczxXPltLXSBleHRlbmRzIFNsb3RDb250ZW50PGluZmVyIFU+ID8gVGVtcGxhdGVSZWY8VT4gfCB1bmRlZmluZWQgOiBuZXZlcjtcblx0fSk6IHZvaWQ7XG59O1xuXG5leHBvcnQgY29uc3QgY2FsbFdpZGdldEZhY3RvcnlXaXRoQ29uZmlnID0gPFcgZXh0ZW5kcyBXaWRnZXQ+KHtcblx0ZmFjdG9yeSxcblx0ZGVmYXVsdENvbmZpZyxcblx0d2lkZ2V0Q29uZmlnLFxuXHRldmVudHMsXG59OiB7XG5cdGZhY3Rvcnk6IFdpZGdldEZhY3Rvcnk8Vz47XG5cdGRlZmF1bHRDb25maWc/OiBQYXJ0aWFsPFdpZGdldFByb3BzPFc+PiB8IFJlYWRhYmxlU2lnbmFsPFBhcnRpYWw8V2lkZ2V0UHJvcHM8Vz4+IHwgdW5kZWZpbmVkPjtcblx0d2lkZ2V0Q29uZmlnPzogbnVsbCB8IHVuZGVmaW5lZCB8IFJlYWRhYmxlU2lnbmFsPFBhcnRpYWw8V2lkZ2V0UHJvcHM8Vz4+IHwgdW5kZWZpbmVkPjtcblx0ZXZlbnRzOiBQaWNrPFdpZGdldFByb3BzPFc+LCBrZXlvZiBXaWRnZXRQcm9wczxXPiAmIGBvbiR7c3RyaW5nfWA+O1xufSk6IFdpdGhQYXRjaFNsb3RzPFc+ID0+IHtcblx0Y29uc3Qgem9uZVdyYXBwZXIgPSBpbmplY3QoWm9uZVdyYXBwZXIpO1xuXHRmYWN0b3J5ID0gem9uZVdyYXBwZXIub3V0c2lkZU5nWm9uZShmYWN0b3J5KTtcblx0Y29uc3QgZGVmYXVsdENvbmZpZyQgPSB0b1JlYWRhYmxlU3RvcmUoZGVmYXVsdENvbmZpZyk7XG5cdGNvbnN0IHNsb3RzJCA9IHdyaXRhYmxlKHt9KTtcblx0ZXZlbnRzID0gem9uZVdyYXBwZXIuaW5zaWRlTmdab25lV3JhcEZ1bmN0aW9uc09iamVjdChldmVudHMpO1xuXHRjb25zdCB3aWRnZXQgPSBmYWN0b3J5KHtcblx0XHRjb25maWc6IGNvbXB1dGVkKCgpID0+ICh7Li4uZGVmYXVsdENvbmZpZyQoKSwgLi4ud2lkZ2V0Q29uZmlnPy4oKSwgLi4uc2xvdHMkKCksIC4uLihldmVudHMgYXMgUGFydGlhbDxXaWRnZXRQcm9wczxXPj4pfSkpLFxuXHR9KTtcblx0cmV0dXJuIHtcblx0XHQuLi53aWRnZXQsXG5cdFx0cGF0Y2g6IHpvbmVXcmFwcGVyLm91dHNpZGVOZ1pvbmUod2lkZ2V0LnBhdGNoKSxcblx0XHRkaXJlY3RpdmVzOiB6b25lV3JhcHBlci5vdXRzaWRlTmdab25lV3JhcERpcmVjdGl2ZXNPYmplY3Qod2lkZ2V0LmRpcmVjdGl2ZXMpLFxuXHRcdGFjdGlvbnM6IHpvbmVXcmFwcGVyLm91dHNpZGVOZ1pvbmVXcmFwRnVuY3Rpb25zT2JqZWN0KHdpZGdldC5hY3Rpb25zKSxcblx0XHRhcGk6IHpvbmVXcmFwcGVyLm91dHNpZGVOZ1pvbmVXcmFwRnVuY3Rpb25zT2JqZWN0KHdpZGdldC5hcGkpLFxuXHRcdHBhdGNoU2xvdHM6IGNyZWF0ZVBhdGNoU2xvdHMoc2xvdHMkLnNldCksXG5cdH07XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gcGF0Y2hTaW1wbGVDaGFuZ2VzKHBhdGNoRm46IChvYmo6IGFueSkgPT4gdm9pZCwgY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuXHRjb25zdCBvYmo6IGFueSA9IHt9O1xuXHRmb3IgKGNvbnN0IFtrZXksIHNpbXBsZUNoYW5nZV0gb2YgT2JqZWN0LmVudHJpZXMoY2hhbmdlcykpIHtcblx0XHRpZiAoc2ltcGxlQ2hhbmdlICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdG9ialtrZXldID0gc2ltcGxlQ2hhbmdlLmN1cnJlbnRWYWx1ZTtcblx0XHR9XG5cdH1cblx0cGF0Y2hGbihvYmopO1xufVxuIl19
@@ -2,24 +2,18 @@
2
2
  * Public API Surface of @agnos-ui/angular-headless
3
3
  */
4
4
  export * from '@agnos-ui/core';
5
+ export * from './lib/config';
5
6
  export * from './lib/slot.directive';
6
7
  export * from './lib/slotDefault.directive';
7
- export * from './lib/use.directive';
8
8
  export * from './lib/slotTypes';
9
+ export * from './lib/use.directive';
9
10
  export * from './lib/utils';
10
- export * from './lib/config';
11
- import { createAccordion as coreCreateAccordion } from '@agnos-ui/core';
11
+ import { createAccordion as coreCreateAccordion, createAlert as coreCreateAlert, createModal as coreCreateModal, createPagination as coreCreatePagination, createProgressbar as coreCreateProgressbar, createRating as coreCreateRating, createSelect as coreCreateSelect, } from '@agnos-ui/core';
12
12
  export const createAccordion = coreCreateAccordion;
13
- import { createAlert as coreCreateAlert } from '@agnos-ui/core';
14
13
  export const createAlert = coreCreateAlert;
15
- import { createModal as coreCreateModal } from '@agnos-ui/core';
16
14
  export const createModal = coreCreateModal;
17
- import { createPagination as coreCreatePagination } from '@agnos-ui/core';
18
15
  export const createPagination = coreCreatePagination;
19
- import { createRating as coreCreateRating } from '@agnos-ui/core';
20
16
  export const createRating = coreCreateRating;
21
- import { createSelect as coreCreateSelect } from '@agnos-ui/core';
22
17
  export const createSelect = coreCreateSelect;
23
- import { createProgressbar as coreCreateProgressbar } from '@agnos-ui/core';
24
18
  export const createProgressbar = coreCreateProgressbar;
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2hlYWRsZXNzL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxnQkFBZ0IsQ0FBQztBQUUvQixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsY0FBYyxDQUFDO0FBZ0I3QixPQUFPLEVBQUMsZUFBZSxJQUFJLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFtQyxtQkFBMEIsQ0FBQztBQU0xRixPQUFPLEVBQUMsV0FBVyxJQUFJLGVBQWUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBK0IsZUFBc0IsQ0FBQztBQU05RSxPQUFPLEVBQUMsV0FBVyxJQUFJLGVBQWUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBK0IsZUFBc0IsQ0FBQztBQU85RSxPQUFPLEVBQUMsZ0JBQWdCLElBQUksb0JBQW9CLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBb0Msb0JBQTJCLENBQUM7QUFLN0YsT0FBTyxFQUFDLFlBQVksSUFBSSxnQkFBZ0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBZ0MsZ0JBQXVCLENBQUM7QUFLakYsT0FBTyxFQUFDLFlBQVksSUFBSSxnQkFBZ0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBK0UsZ0JBQXVCLENBQUM7QUFNaEksT0FBTyxFQUFDLGlCQUFpQixJQUFJLHFCQUFxQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUUsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQXFDLHFCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBAYWdub3MtdWkvYW5ndWxhci1oZWFkbGVzc1xuICovXG5cbmV4cG9ydCAqIGZyb20gJ0BhZ25vcy11aS9jb3JlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2xvdC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2xvdERlZmF1bHQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VzZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2xvdFR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbmZpZyc7XG5cbmltcG9ydCB0eXBlIHtQcm9wc0NvbmZpZywgV2lkZ2V0RmFjdG9yeSwgV2lkZ2V0UHJvcHMsIFdpZGdldFN0YXRlfSBmcm9tICdAYWdub3MtdWkvY29yZSc7XG5pbXBvcnQgdHlwZSB7QWRhcHRTbG90Q29udGVudFByb3BzLCBBZGFwdFdpZGdldFNsb3RzfSBmcm9tICcuL2xpYi9zbG90VHlwZXMnO1xuXG5leHBvcnQgdHlwZSB7U2xvdENvbnRlbnR9IGZyb20gJy4vbGliL3Nsb3RUeXBlcyc7XG5leHBvcnQgdHlwZSB7V2lkZ2V0c0NvbmZpZ30gZnJvbSAnLi9saWIvY29uZmlnJztcblxuZXhwb3J0IHR5cGUgQWNjb3JkaW9uV2lkZ2V0ID0gQWRhcHRXaWRnZXRTbG90czxpbXBvcnQoJ0BhZ25vcy11aS9jb3JlJykuQWNjb3JkaW9uV2lkZ2V0PjtcbmV4cG9ydCB0eXBlIEFjY29yZGlvblByb3BzID0gV2lkZ2V0UHJvcHM8QWNjb3JkaW9uV2lkZ2V0PjtcbmV4cG9ydCB0eXBlIEFjY29yZGlvblN0YXRlID0gV2lkZ2V0U3RhdGU8QWNjb3JkaW9uV2lkZ2V0PjtcbmV4cG9ydCB0eXBlIEFjY29yZGlvbkFwaSA9IEFjY29yZGlvbldpZGdldFsnYXBpJ107XG5leHBvcnQgdHlwZSBBY2NvcmRpb25JdGVtV2lkZ2V0ID0gQWRhcHRXaWRnZXRTbG90czxpbXBvcnQoJ0BhZ25vcy11aS9jb3JlJykuQWNjb3JkaW9uSXRlbVdpZGdldD47XG5leHBvcnQgdHlwZSBBY2NvcmRpb25JdGVtUHJvcHMgPSBXaWRnZXRQcm9wczxBY2NvcmRpb25JdGVtV2lkZ2V0PjtcbmV4cG9ydCB0eXBlIEFjY29yZGlvbkl0ZW1TdGF0ZSA9IFdpZGdldFN0YXRlPEFjY29yZGlvbkl0ZW1XaWRnZXQ+O1xuZXhwb3J0IHR5cGUgQWNjb3JkaW9uSXRlbUNvbnRleHQgPSBBZGFwdFNsb3RDb250ZW50UHJvcHM8aW1wb3J0KCdAYWdub3MtdWkvY29yZScpLkFjY29yZGlvbkl0ZW1Db250ZXh0PjtcbmltcG9ydCB7Y3JlYXRlQWNjb3JkaW9uIGFzIGNvcmVDcmVhdGVBY2NvcmRpb259IGZyb20gJ0BhZ25vcy11aS9jb3JlJztcbmV4cG9ydCBjb25zdCBjcmVhdGVBY2NvcmRpb246IFdpZGdldEZhY3Rvcnk8QWNjb3JkaW9uV2lkZ2V0PiA9IGNvcmVDcmVhdGVBY2NvcmRpb24gYXMgYW55O1xuXG5leHBvcnQgdHlwZSBBbGVydFdpZGdldCA9IEFkYXB0V2lkZ2V0U2xvdHM8aW1wb3J0KCdAYWdub3MtdWkvY29yZScpLkFsZXJ0V2lkZ2V0PjtcbmV4cG9ydCB0eXBlIEFsZXJ0UHJvcHMgPSBXaWRnZXRQcm9wczxBbGVydFdpZGdldD47XG5leHBvcnQgdHlwZSBBbGVydFN0YXRlID0gV2lkZ2V0U3RhdGU8QWxlcnRXaWRnZXQ+O1xuZXhwb3J0IHR5cGUgQWxlcnRDb250ZXh0ID0gQWRhcHRTbG90Q29udGVudFByb3BzPGltcG9ydCgnQGFnbm9zLXVpL2NvcmUnKS5BbGVydENvbnRleHQ+O1xuaW1wb3J0IHtjcmVhdGVBbGVydCBhcyBjb3JlQ3JlYXRlQWxlcnR9IGZyb20gJ0BhZ25vcy11aS9jb3JlJztcbmV4cG9ydCBjb25zdCBjcmVhdGVBbGVydDogV2lkZ2V0RmFjdG9yeTxBbGVydFdpZGdldD4gPSBjb3JlQ3JlYXRlQWxlcnQgYXMgYW55O1xuXG5leHBvcnQgdHlwZSBNb2RhbFdpZGdldCA9IEFkYXB0V2lkZ2V0U2xvdHM8aW1wb3J0KCdAYWdub3MtdWkvY29yZScpLk1vZGFsV2lkZ2V0PjtcbmV4cG9ydCB0eXBlIE1vZGFsUHJvcHMgPSBXaWRnZXRQcm9wczxNb2RhbFdpZGdldD47XG5leHBvcnQgdHlwZSBNb2RhbFN0YXRlID0gV2lkZ2V0U3RhdGU8TW9kYWxXaWRnZXQ+O1xuZXhwb3J0IHR5cGUgTW9kYWxDb250ZXh0ID0gQWRhcHRTbG90Q29udGVudFByb3BzPGltcG9ydCgnQGFnbm9zLXVpL2NvcmUnKS5Nb2RhbENvbnRleHQ+O1xuaW1wb3J0IHtjcmVhdGVNb2RhbCBhcyBjb3JlQ3JlYXRlTW9kYWx9IGZyb20gJ0BhZ25vcy11aS9jb3JlJztcbmV4cG9ydCBjb25zdCBjcmVhdGVNb2RhbDogV2lkZ2V0RmFjdG9yeTxNb2RhbFdpZGdldD4gPSBjb3JlQ3JlYXRlTW9kYWwgYXMgYW55O1xuXG5leHBvcnQgdHlwZSBQYWdpbmF0aW9uV2lkZ2V0ID0gQWRhcHRXaWRnZXRTbG90czxpbXBvcnQoJ0BhZ25vcy11aS9jb3JlJykuUGFnaW5hdGlvbldpZGdldD47XG5leHBvcnQgdHlwZSBQYWdpbmF0aW9uUHJvcHMgPSBXaWRnZXRQcm9wczxQYWdpbmF0aW9uV2lkZ2V0PjtcbmV4cG9ydCB0eXBlIFBhZ2luYXRpb25TdGF0ZSA9IFdpZGdldFN0YXRlPFBhZ2luYXRpb25XaWRnZXQ+O1xuZXhwb3J0IHR5cGUgUGFnaW5hdGlvbkNvbnRleHQgPSBBZGFwdFNsb3RDb250ZW50UHJvcHM8aW1wb3J0KCdAYWdub3MtdWkvY29yZScpLlBhZ2luYXRpb25Db250ZXh0PjtcbmV4cG9ydCB0eXBlIFBhZ2luYXRpb25OdW1iZXJDb250ZXh0ID0gQWRhcHRTbG90Q29udGVudFByb3BzPGltcG9ydCgnQGFnbm9zLXVpL2NvcmUnKS5QYWdpbmF0aW9uTnVtYmVyQ29udGV4dD47XG5pbXBvcnQge2NyZWF0ZVBhZ2luYXRpb24gYXMgY29yZUNyZWF0ZVBhZ2luYXRpb259IGZyb20gJ0BhZ25vcy11aS9jb3JlJztcbmV4cG9ydCBjb25zdCBjcmVhdGVQYWdpbmF0aW9uOiBXaWRnZXRGYWN0b3J5PFBhZ2luYXRpb25XaWRnZXQ+ID0gY29yZUNyZWF0ZVBhZ2luYXRpb24gYXMgYW55O1xuXG5leHBvcnQgdHlwZSBSYXRpbmdXaWRnZXQgPSBBZGFwdFdpZGdldFNsb3RzPGltcG9ydCgnQGFnbm9zLXVpL2NvcmUnKS5SYXRpbmdXaWRnZXQ+O1xuZXhwb3J0IHR5cGUgUmF0aW5nUHJvcHMgPSBXaWRnZXRQcm9wczxSYXRpbmdXaWRnZXQ+O1xuZXhwb3J0IHR5cGUgUmF0aW5nU3RhdGUgPSBXaWRnZXRTdGF0ZTxSYXRpbmdXaWRnZXQ+O1xuaW1wb3J0IHtjcmVhdGVSYXRpbmcgYXMgY29yZUNyZWF0ZVJhdGluZ30gZnJvbSAnQGFnbm9zLXVpL2NvcmUnO1xuZXhwb3J0IGNvbnN0IGNyZWF0ZVJhdGluZzogV2lkZ2V0RmFjdG9yeTxSYXRpbmdXaWRnZXQ+ID0gY29yZUNyZWF0ZVJhdGluZyBhcyBhbnk7XG5cbmV4cG9ydCB0eXBlIFNlbGVjdFdpZGdldDxJdGVtPiA9IEFkYXB0V2lkZ2V0U2xvdHM8aW1wb3J0KCdAYWdub3MtdWkvY29yZScpLlNlbGVjdFdpZGdldDxJdGVtPj47XG5leHBvcnQgdHlwZSBTZWxlY3RQcm9wczxJdGVtPiA9IFdpZGdldFByb3BzPFNlbGVjdFdpZGdldDxJdGVtPj47XG5leHBvcnQgdHlwZSBTZWxlY3RTdGF0ZTxJdGVtPiA9IFdpZGdldFN0YXRlPFNlbGVjdFdpZGdldDxJdGVtPj47XG5pbXBvcnQge2NyZWF0ZVNlbGVjdCBhcyBjb3JlQ3JlYXRlU2VsZWN0fSBmcm9tICdAYWdub3MtdWkvY29yZSc7XG5leHBvcnQgY29uc3QgY3JlYXRlU2VsZWN0OiA8SXRlbT4ocHJvcHNDb25maWc/OiBQcm9wc0NvbmZpZzxTZWxlY3RQcm9wczxJdGVtPj4pID0+IFNlbGVjdFdpZGdldDxJdGVtPiA9IGNvcmVDcmVhdGVTZWxlY3QgYXMgYW55O1xuXG5leHBvcnQgdHlwZSBQcm9ncmVzc2JhcldpZGdldCA9IEFkYXB0V2lkZ2V0U2xvdHM8aW1wb3J0KCdAYWdub3MtdWkvY29yZScpLlByb2dyZXNzYmFyV2lkZ2V0PjtcbmV4cG9ydCB0eXBlIFByb2dyZXNzYmFyUHJvcHMgPSBXaWRnZXRQcm9wczxQcm9ncmVzc2JhcldpZGdldD47XG5leHBvcnQgdHlwZSBQcm9ncmVzc2JhclN0YXRlID0gV2lkZ2V0U3RhdGU8UHJvZ3Jlc3NiYXJXaWRnZXQ+O1xuZXhwb3J0IHR5cGUgUHJvZ3Jlc3NiYXJDb250ZXh0ID0gQWRhcHRTbG90Q29udGVudFByb3BzPGltcG9ydCgnQGFnbm9zLXVpL2NvcmUnKS5Qcm9ncmVzc2JhckNvbnRleHQ+O1xuaW1wb3J0IHtjcmVhdGVQcm9ncmVzc2JhciBhcyBjb3JlQ3JlYXRlUHJvZ3Jlc3NiYXJ9IGZyb20gJ0BhZ25vcy11aS9jb3JlJztcbmV4cG9ydCBjb25zdCBjcmVhdGVQcm9ncmVzc2JhcjogV2lkZ2V0RmFjdG9yeTxQcm9ncmVzc2JhcldpZGdldD4gPSBjb3JlQ3JlYXRlUHJvZ3Jlc3NiYXIgYXMgYW55O1xuIl19
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2hlYWRsZXNzL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGNBQWMsQ0FBQztBQUU3QixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxpQkFBaUIsQ0FBQztBQUVoQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsYUFBYSxDQUFDO0FBRzVCLE9BQU8sRUFDTixlQUFlLElBQUksbUJBQW1CLEVBQ3RDLFdBQVcsSUFBSSxlQUFlLEVBQzlCLFdBQVcsSUFBSSxlQUFlLEVBQzlCLGdCQUFnQixJQUFJLG9CQUFvQixFQUN4QyxpQkFBaUIsSUFBSSxxQkFBcUIsRUFDMUMsWUFBWSxJQUFJLGdCQUFnQixFQUNoQyxZQUFZLElBQUksZ0JBQWdCLEdBQ2hDLE1BQU0sZ0JBQWdCLENBQUM7QUFXeEIsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFtQyxtQkFBMEIsQ0FBQztBQU0xRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQStCLGVBQXNCLENBQUM7QUFNOUUsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUErQixlQUFzQixDQUFDO0FBTzlFLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFvQyxvQkFBMkIsQ0FBQztBQUs3RixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQWdDLGdCQUF1QixDQUFDO0FBS2pGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBK0UsZ0JBQXVCLENBQUM7QUFVaEksTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQXFDLHFCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBAYWdub3MtdWkvYW5ndWxhci1oZWFkbGVzc1xuICovXG5cbmV4cG9ydCAqIGZyb20gJ0BhZ25vcy11aS9jb3JlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbmZpZyc7XG5leHBvcnQgdHlwZSB7V2lkZ2V0c0NvbmZpZ30gZnJvbSAnLi9saWIvY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Nsb3QuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Nsb3REZWZhdWx0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zbG90VHlwZXMnO1xuZXhwb3J0IHR5cGUge1Nsb3RDb250ZW50fSBmcm9tICcuL2xpYi9zbG90VHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXNlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlscyc7XG5cbmltcG9ydCB0eXBlIHtQcm9wc0NvbmZpZywgV2lkZ2V0RmFjdG9yeSwgV2lkZ2V0UHJvcHMsIFdpZGdldFN0YXRlfSBmcm9tICdAYWdub3MtdWkvY29yZSc7XG5pbXBvcnQge1xuXHRjcmVhdGVBY2NvcmRpb24gYXMgY29yZUNyZWF0ZUFjY29yZGlvbixcblx0Y3JlYXRlQWxlcnQgYXMgY29yZUNyZWF0ZUFsZXJ0LFxuXHRjcmVhdGVNb2RhbCBhcyBjb3JlQ3JlYXRlTW9kYWwsXG5cdGNyZWF0ZVBhZ2luYXRpb24gYXMgY29yZUNyZWF0ZVBhZ2luYXRpb24sXG5cdGNyZWF0ZVByb2dyZXNzYmFyIGFzIGNvcmVDcmVhdGVQcm9ncmVzc2Jhcixcblx0Y3JlYXRlUmF0aW5nIGFzIGNvcmVDcmVhdGVSYXRpbmcsXG5cdGNyZWF0ZVNlbGVjdCBhcyBjb3JlQ3JlYXRlU2VsZWN0LFxufSBmcm9tICdAYWdub3MtdWkvY29yZSc7XG5pbXBvcnQgdHlwZSB7QWRhcHRTbG90Q29udGVudFByb3BzLCBBZGFwdFdpZGdldFNsb3RzfSBmcm9tICcuL2xpYi9zbG90VHlwZXMnO1xuXG5leHBvcnQgdHlwZSBBY2NvcmRpb25XaWRnZXQgPSBBZGFwdFdpZGdldFNsb3RzPGltcG9ydCgnQGFnbm9zLXVpL2NvcmUnKS5BY2NvcmRpb25XaWRnZXQ+O1xuZXhwb3J0IHR5cGUgQWNjb3JkaW9uUHJvcHMgPSBXaWRnZXRQcm9wczxBY2NvcmRpb25XaWRnZXQ+O1xuZXhwb3J0IHR5cGUgQWNjb3JkaW9uU3RhdGUgPSBXaWRnZXRTdGF0ZTxBY2NvcmRpb25XaWRnZXQ+O1xuZXhwb3J0IHR5cGUgQWNjb3JkaW9uQXBpID0gQWNjb3JkaW9uV2lkZ2V0WydhcGknXTtcbmV4cG9ydCB0eXBlIEFjY29yZGlvbkl0ZW1XaWRnZXQgPSBBZGFwdFdpZGdldFNsb3RzPGltcG9ydCgnQGFnbm9zLXVpL2NvcmUnKS5BY2NvcmRpb25JdGVtV2lkZ2V0PjtcbmV4cG9ydCB0eXBlIEFjY29yZGlvbkl0ZW1Qcm9wcyA9IFdpZGdldFByb3BzPEFjY29yZGlvbkl0ZW1XaWRnZXQ+O1xuZXhwb3J0IHR5cGUgQWNjb3JkaW9uSXRlbVN0YXRlID0gV2lkZ2V0U3RhdGU8QWNjb3JkaW9uSXRlbVdpZGdldD47XG5leHBvcnQgdHlwZSBBY2NvcmRpb25JdGVtQ29udGV4dCA9IEFkYXB0U2xvdENvbnRlbnRQcm9wczxpbXBvcnQoJ0BhZ25vcy11aS9jb3JlJykuQWNjb3JkaW9uSXRlbUNvbnRleHQ+O1xuZXhwb3J0IGNvbnN0IGNyZWF0ZUFjY29yZGlvbjogV2lkZ2V0RmFjdG9yeTxBY2NvcmRpb25XaWRnZXQ+ID0gY29yZUNyZWF0ZUFjY29yZGlvbiBhcyBhbnk7XG5cbmV4cG9ydCB0eXBlIEFsZXJ0V2lkZ2V0ID0gQWRhcHRXaWRnZXRTbG90czxpbXBvcnQoJ0BhZ25vcy11aS9jb3JlJykuQWxlcnRXaWRnZXQ+O1xuZXhwb3J0IHR5cGUgQWxlcnRQcm9wcyA9IFdpZGdldFByb3BzPEFsZXJ0V2lkZ2V0PjtcbmV4cG9ydCB0eXBlIEFsZXJ0U3RhdGUgPSBXaWRnZXRTdGF0ZTxBbGVydFdpZGdldD47XG5leHBvcnQgdHlwZSBBbGVydENvbnRleHQgPSBBZGFwdFNsb3RDb250ZW50UHJvcHM8aW1wb3J0KCdAYWdub3MtdWkvY29yZScpLkFsZXJ0Q29udGV4dD47XG5leHBvcnQgY29uc3QgY3JlYXRlQWxlcnQ6IFdpZGdldEZhY3Rvcnk8QWxlcnRXaWRnZXQ+ID0gY29yZUNyZWF0ZUFsZXJ0IGFzIGFueTtcblxuZXhwb3J0IHR5cGUgTW9kYWxXaWRnZXQgPSBBZGFwdFdpZGdldFNsb3RzPGltcG9ydCgnQGFnbm9zLXVpL2NvcmUnKS5Nb2RhbFdpZGdldD47XG5leHBvcnQgdHlwZSBNb2RhbFByb3BzID0gV2lkZ2V0UHJvcHM8TW9kYWxXaWRnZXQ+O1xuZXhwb3J0IHR5cGUgTW9kYWxTdGF0ZSA9IFdpZGdldFN0YXRlPE1vZGFsV2lkZ2V0PjtcbmV4cG9ydCB0eXBlIE1vZGFsQ29udGV4dCA9IEFkYXB0U2xvdENvbnRlbnRQcm9wczxpbXBvcnQoJ0BhZ25vcy11aS9jb3JlJykuTW9kYWxDb250ZXh0PjtcbmV4cG9ydCBjb25zdCBjcmVhdGVNb2RhbDogV2lkZ2V0RmFjdG9yeTxNb2RhbFdpZGdldD4gPSBjb3JlQ3JlYXRlTW9kYWwgYXMgYW55O1xuXG5leHBvcnQgdHlwZSBQYWdpbmF0aW9uV2lkZ2V0ID0gQWRhcHRXaWRnZXRTbG90czxpbXBvcnQoJ0BhZ25vcy11aS9jb3JlJykuUGFnaW5hdGlvbldpZGdldD47XG5leHBvcnQgdHlwZSBQYWdpbmF0aW9uUHJvcHMgPSBXaWRnZXRQcm9wczxQYWdpbmF0aW9uV2lkZ2V0PjtcbmV4cG9ydCB0eXBlIFBhZ2luYXRpb25TdGF0ZSA9IFdpZGdldFN0YXRlPFBhZ2luYXRpb25XaWRnZXQ+O1xuZXhwb3J0IHR5cGUgUGFnaW5hdGlvbkNvbnRleHQgPSBBZGFwdFNsb3RDb250ZW50UHJvcHM8aW1wb3J0KCdAYWdub3MtdWkvY29yZScpLlBhZ2luYXRpb25Db250ZXh0PjtcbmV4cG9ydCB0eXBlIFBhZ2luYXRpb25OdW1iZXJDb250ZXh0ID0gQWRhcHRTbG90Q29udGVudFByb3BzPGltcG9ydCgnQGFnbm9zLXVpL2NvcmUnKS5QYWdpbmF0aW9uTnVtYmVyQ29udGV4dD47XG5leHBvcnQgY29uc3QgY3JlYXRlUGFnaW5hdGlvbjogV2lkZ2V0RmFjdG9yeTxQYWdpbmF0aW9uV2lkZ2V0PiA9IGNvcmVDcmVhdGVQYWdpbmF0aW9uIGFzIGFueTtcblxuZXhwb3J0IHR5cGUgUmF0aW5nV2lkZ2V0ID0gQWRhcHRXaWRnZXRTbG90czxpbXBvcnQoJ0BhZ25vcy11aS9jb3JlJykuUmF0aW5nV2lkZ2V0PjtcbmV4cG9ydCB0eXBlIFJhdGluZ1Byb3BzID0gV2lkZ2V0UHJvcHM8UmF0aW5nV2lkZ2V0PjtcbmV4cG9ydCB0eXBlIFJhdGluZ1N0YXRlID0gV2lkZ2V0U3RhdGU8UmF0aW5nV2lkZ2V0PjtcbmV4cG9ydCBjb25zdCBjcmVhdGVSYXRpbmc6IFdpZGdldEZhY3Rvcnk8UmF0aW5nV2lkZ2V0PiA9IGNvcmVDcmVhdGVSYXRpbmcgYXMgYW55O1xuXG5leHBvcnQgdHlwZSBTZWxlY3RXaWRnZXQ8SXRlbT4gPSBBZGFwdFdpZGdldFNsb3RzPGltcG9ydCgnQGFnbm9zLXVpL2NvcmUnKS5TZWxlY3RXaWRnZXQ8SXRlbT4+O1xuZXhwb3J0IHR5cGUgU2VsZWN0UHJvcHM8SXRlbT4gPSBXaWRnZXRQcm9wczxTZWxlY3RXaWRnZXQ8SXRlbT4+O1xuZXhwb3J0IHR5cGUgU2VsZWN0U3RhdGU8SXRlbT4gPSBXaWRnZXRTdGF0ZTxTZWxlY3RXaWRnZXQ8SXRlbT4+O1xuZXhwb3J0IGNvbnN0IGNyZWF0ZVNlbGVjdDogPEl0ZW0+KHByb3BzQ29uZmlnPzogUHJvcHNDb25maWc8U2VsZWN0UHJvcHM8SXRlbT4+KSA9PiBTZWxlY3RXaWRnZXQ8SXRlbT4gPSBjb3JlQ3JlYXRlU2VsZWN0IGFzIGFueTtcblxuZXhwb3J0IHR5cGUgU2xpZGVyV2lkZ2V0ID0gQWRhcHRXaWRnZXRTbG90czxpbXBvcnQoJ0BhZ25vcy11aS9jb3JlJykuU2xpZGVyV2lkZ2V0PjtcbmV4cG9ydCB0eXBlIFNsaWRlclByb3BzID0gV2lkZ2V0UHJvcHM8U2xpZGVyV2lkZ2V0PjtcbmV4cG9ydCB0eXBlIFNsaWRlclN0YXRlID0gV2lkZ2V0U3RhdGU8U2xpZGVyV2lkZ2V0PjtcblxuZXhwb3J0IHR5cGUgUHJvZ3Jlc3NiYXJXaWRnZXQgPSBBZGFwdFdpZGdldFNsb3RzPGltcG9ydCgnQGFnbm9zLXVpL2NvcmUnKS5Qcm9ncmVzc2JhcldpZGdldD47XG5leHBvcnQgdHlwZSBQcm9ncmVzc2JhclByb3BzID0gV2lkZ2V0UHJvcHM8UHJvZ3Jlc3NiYXJXaWRnZXQ+O1xuZXhwb3J0IHR5cGUgUHJvZ3Jlc3NiYXJTdGF0ZSA9IFdpZGdldFN0YXRlPFByb2dyZXNzYmFyV2lkZ2V0PjtcbmV4cG9ydCB0eXBlIFByb2dyZXNzYmFyQ29udGV4dCA9IEFkYXB0U2xvdENvbnRlbnRQcm9wczxpbXBvcnQoJ0BhZ25vcy11aS9jb3JlJykuUHJvZ3Jlc3NiYXJDb250ZXh0PjtcbmV4cG9ydCBjb25zdCBjcmVhdGVQcm9ncmVzc2JhcjogV2lkZ2V0RmFjdG9yeTxQcm9ncmVzc2JhcldpZGdldD4gPSBjb3JlQ3JlYXRlUHJvZ3Jlc3NiYXIgYXMgYW55O1xuIl19
@@ -1,9 +1,230 @@
1
1
  import { toReadableStore, createWidgetsConfig, createAccordion as createAccordion$1, createAlert as createAlert$1, createModal as createModal$1, createPagination as createPagination$1, createRating as createRating$1, createSelect as createSelect$1, createProgressbar as createProgressbar$1 } from '@agnos-ui/core';
2
2
  export * from '@agnos-ui/core';
3
- import { DOCUMENT } from '@angular/common';
4
- import * as i0 from '@angular/core';
5
- import { createComponent, EnvironmentInjector, TemplateRef, reflectComponentType, inject, ViewContainerRef, Directive, Input, ElementRef, Injector, runInInjectionContext, SkipSelf, Optional, InjectionToken } from '@angular/core';
6
3
  import { writable, computed } from '@amadeus-it-group/tansu';
4
+ import * as i0 from '@angular/core';
5
+ import { inject, NgZone, Injectable, signal, DestroyRef, Injector, runInInjectionContext, SkipSelf, Optional, InjectionToken, createComponent, EnvironmentInjector, TemplateRef, reflectComponentType, ViewContainerRef, Directive, Input, ElementRef } from '@angular/core';
6
+ import { DOCUMENT } from '@angular/common';
7
+
8
+ const createPatchSlots = (set) => {
9
+ let lastValue = {};
10
+ return (object) => {
11
+ const newValue = {};
12
+ let hasChange = false;
13
+ for (const key of Object.keys(object)) {
14
+ const objectKey = object[key];
15
+ if (objectKey != null) {
16
+ // only use defined slots
17
+ newValue[key] = objectKey;
18
+ }
19
+ if (objectKey != lastValue[key]) {
20
+ hasChange = true;
21
+ }
22
+ }
23
+ if (hasChange) {
24
+ lastValue = newValue;
25
+ set(newValue);
26
+ }
27
+ };
28
+ };
29
+ const noop = () => { };
30
+ const identity = (a) => a;
31
+ const createObjectWrapper = (wrap) => (object) => {
32
+ if (!object || typeof object !== 'object') {
33
+ return object;
34
+ }
35
+ const res = {};
36
+ for (const key of Object.keys(object)) {
37
+ res[key] = wrap(object[key]);
38
+ }
39
+ return res;
40
+ };
41
+ const createReturnValueWrapper = (wrapReturnValue, wrapResult) => (fn) => wrapResult(typeof fn === 'function' ? ((...args) => wrapReturnValue(fn(...args))) : fn);
42
+ class ZoneWrapper {
43
+ constructor() {
44
+ this.#zone = inject(NgZone);
45
+ this.#hasZone = this.#zone.run(() => NgZone.isInAngularZone()); // check if zone is enabled (can be NoopZone, cf https://angular.io/guide/zone#noopzone)
46
+ this.#runNeeded = false;
47
+ this.#runPlanned = false;
48
+ this.planNgZoneRun = this.#hasZone
49
+ ? () => {
50
+ if (this.#zone.isStable) {
51
+ this.#runNeeded = true;
52
+ if (!this.#runPlanned) {
53
+ this.#runPlanned = true;
54
+ (async () => {
55
+ await 0;
56
+ this.#runPlanned = false;
57
+ if (this.#runNeeded) {
58
+ this.ngZoneRun(noop);
59
+ }
60
+ })();
61
+ }
62
+ }
63
+ }
64
+ : noop;
65
+ this.insideNgZone = this.#hasZone
66
+ ? (fn) => (typeof fn === 'function' ? ((...args) => this.ngZoneRun(() => fn(...args))) : fn)
67
+ : identity;
68
+ this.insideNgZoneWrapFunctionsObject = createObjectWrapper(this.insideNgZone);
69
+ this.outsideNgZone = this.#hasZone
70
+ ? (fn) => (typeof fn === 'function' ? ((...args) => this.#zone.runOutsideAngular(() => fn(...args))) : fn)
71
+ : identity;
72
+ this.outsideNgZoneWrapFunctionsObject = createObjectWrapper(this.outsideNgZone);
73
+ this.outsideNgZoneWrapDirective = createReturnValueWrapper(this.outsideNgZoneWrapFunctionsObject, this.outsideNgZone);
74
+ this.outsideNgZoneWrapDirectivesObject = createObjectWrapper(this.outsideNgZoneWrapDirective);
75
+ }
76
+ #zone;
77
+ #hasZone; // check if zone is enabled (can be NoopZone, cf https://angular.io/guide/zone#noopzone)
78
+ #runNeeded;
79
+ #runPlanned;
80
+ ngZoneRun(fn) {
81
+ this.#runNeeded = false;
82
+ return this.#zone.run(fn);
83
+ }
84
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ZoneWrapper, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
85
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ZoneWrapper, providedIn: 'root' }); }
86
+ }
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ZoneWrapper, decorators: [{
88
+ type: Injectable,
89
+ args: [{
90
+ providedIn: 'root',
91
+ }]
92
+ }] });
93
+ const toAngularSignal = (tansuSignal) => {
94
+ const zoneWrapper = inject(ZoneWrapper);
95
+ const res = signal(undefined);
96
+ const subscription = zoneWrapper.outsideNgZone(tansuSignal.subscribe)((value) => {
97
+ res.set(value);
98
+ zoneWrapper.planNgZoneRun();
99
+ });
100
+ inject(DestroyRef).onDestroy(zoneWrapper.outsideNgZone(subscription));
101
+ return res;
102
+ };
103
+ const callWidgetFactoryWithConfig = ({ factory, defaultConfig, widgetConfig, events, }) => {
104
+ const zoneWrapper = inject(ZoneWrapper);
105
+ factory = zoneWrapper.outsideNgZone(factory);
106
+ const defaultConfig$ = toReadableStore(defaultConfig);
107
+ const slots$ = writable({});
108
+ events = zoneWrapper.insideNgZoneWrapFunctionsObject(events);
109
+ const widget = factory({
110
+ config: computed(() => ({ ...defaultConfig$(), ...widgetConfig?.(), ...slots$(), ...events })),
111
+ });
112
+ return {
113
+ ...widget,
114
+ patch: zoneWrapper.outsideNgZone(widget.patch),
115
+ directives: zoneWrapper.outsideNgZoneWrapDirectivesObject(widget.directives),
116
+ actions: zoneWrapper.outsideNgZoneWrapFunctionsObject(widget.actions),
117
+ api: zoneWrapper.outsideNgZoneWrapFunctionsObject(widget.api),
118
+ patchSlots: createPatchSlots(slots$.set),
119
+ };
120
+ };
121
+ function patchSimpleChanges(patchFn, changes) {
122
+ const obj = {};
123
+ for (const [key, simpleChange] of Object.entries(changes)) {
124
+ if (simpleChange !== undefined) {
125
+ obj[key] = simpleChange.currentValue;
126
+ }
127
+ }
128
+ patchFn(obj);
129
+ }
130
+
131
+ const widgetsConfigFactory = (widgetsConfigInjectionToken = new InjectionToken('widgetsConfig')) => {
132
+ /**
133
+ * Creates a provider of widgets default configuration that inherits from any widgets default configuration already defined at an upper level
134
+ * in the Angular dependency injection system. It contains its own set of widgets configuration properties that override the same properties form
135
+ * the parent configuration.
136
+ *
137
+ * @remarks
138
+ * The configuration is computed from the parent configuration in two steps:
139
+ * - first step: the parent configuration is transformed by the adaptParentConfig function (if specified).
140
+ * If adaptParentConfig is not specified, this step is skipped.
141
+ * - second step: the configuration from step 1 is merged (2-levels deep) with the own$ store. The own$ store initially contains
142
+ * an empty object (i.e. no property from the parent is overridden). It can be changed by calling set on the store returned by
143
+ * {@link injectWidgetsConfig}.
144
+ *
145
+ * @param adaptParentConfig - optional function that receives a 2-levels copy of the widgets default configuration
146
+ * defined at an upper level in the Angular dependency injection system (or an empty object if there is none) and returns the widgets
147
+ * default configuration to be used.
148
+ * It is called only if the configuration is needed, and was not yet computed for the current value of the parent configuration.
149
+ * It is called in a tansu reactive context, so it can use any tansu store and will be called again if those stores change.
150
+ * It is also called in an Angular injection context, so it can call the Angular inject function to get and use dependencies from the
151
+ * Angular dependency injection system.
152
+
153
+ * @returns DI provider to be included a list of `providers` (for example at a component level or
154
+ * any other level of the Angular dependency injection system)
155
+ *
156
+ * @example
157
+ * ```typescript
158
+ * @Component({
159
+ * // ...
160
+ * providers: [
161
+ * provideWidgetsConfig((parentConfig) => {
162
+ * // first step configuration: transforms the parent configuration
163
+ * parentConfig.rating = parentConfig.rating ?? {};
164
+ * parentConfig.rating.className = `${parentConfig.rating.className ?? ''} my-rating-extra-class`
165
+ * return parentConfig;
166
+ * })
167
+ * ]
168
+ * })
169
+ * class MyComponent {
170
+ * widgetsConfig = injectWidgetsConfig();
171
+ * constructor() {
172
+ * this.widgetsConfig.set({
173
+ * // second step configuration: overrides the parent configuration
174
+ * rating: {
175
+ * slotStar: MyCustomSlotStar
176
+ * }
177
+ * });
178
+ * }
179
+ * // ...
180
+ * }
181
+ * ```
182
+ */
183
+ const provideWidgetsConfig = (adaptParentConfig) => ({
184
+ provide: widgetsConfigInjectionToken,
185
+ useFactory: (parent) => {
186
+ if (adaptParentConfig) {
187
+ const injector = inject(Injector);
188
+ const originalAdaptParentConfig = adaptParentConfig;
189
+ adaptParentConfig = (value) => runInInjectionContext(injector, () => originalAdaptParentConfig(value));
190
+ }
191
+ return createWidgetsConfig(parent ?? undefined, adaptParentConfig);
192
+ },
193
+ deps: [[new SkipSelf(), new Optional(), widgetsConfigInjectionToken]],
194
+ });
195
+ /**
196
+ * Returns the widgets default configuration store that was provided in the current injection context.
197
+ * Throws if the no widgets default configuration store was provided.
198
+ *
199
+ * @remarks
200
+ * This function must be called from an injection context, such as a constructor, a factory function, a field initializer or
201
+ * a function used with {@link https://angular.io/api/core/runInInjectionContext | runInInjectionContext}.
202
+ *
203
+ * @returns the widgets default configuration store.
204
+ */
205
+ const injectWidgetsConfig = () => inject(widgetsConfigInjectionToken);
206
+ const injectWidgetConfig = (widgetName) => {
207
+ const widgetsConfig = inject(widgetsConfigInjectionToken, { optional: true });
208
+ return computed(() => widgetsConfig?.()[widgetName]);
209
+ };
210
+ const callWidgetFactory = ({ factory, widgetName = null, defaultConfig = {}, events, }) => callWidgetFactoryWithConfig({
211
+ factory,
212
+ widgetConfig: widgetName ? injectWidgetConfig(widgetName) : null,
213
+ defaultConfig,
214
+ events,
215
+ });
216
+ return {
217
+ /**
218
+ * Dependency Injection token which can be used to provide or inject the widgets default configuration store.
219
+ */
220
+ widgetsConfigInjectionToken,
221
+ provideWidgetsConfig,
222
+ injectWidgetsConfig,
223
+ injectWidgetConfig,
224
+ callWidgetFactory,
225
+ };
226
+ };
227
+ const { widgetsConfigInjectionToken, provideWidgetsConfig, injectWidgetConfig, injectWidgetsConfig, callWidgetFactory } = widgetsConfigFactory();
7
228
 
8
229
  class ComponentTemplate {
9
230
  constructor(component, templateProp) {
@@ -190,10 +411,10 @@ class SlotDirective {
190
411
  this._slotHandler?.destroy();
191
412
  this._slotHandler = undefined;
192
413
  }
193
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SlotDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
194
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: SlotDirective, isStandalone: true, selector: "[auSlot]", inputs: { slot: ["auSlot", "slot"], props: ["auSlotProps", "props"] }, usesOnChanges: true, ngImport: i0 }); }
414
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SlotDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
415
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SlotDirective, isStandalone: true, selector: "[auSlot]", inputs: { slot: ["auSlot", "slot"], props: ["auSlotProps", "props"] }, usesOnChanges: true, ngImport: i0 }); }
195
416
  }
196
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SlotDirective, decorators: [{
417
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SlotDirective, decorators: [{
197
418
  type: Directive,
198
419
  args: [{
199
420
  selector: '[auSlot]',
@@ -214,10 +435,10 @@ class SlotDefaultDirective {
214
435
  ngOnInit() {
215
436
  this.auSlotDefault.update((value) => ({ ...value, slotDefault: this.templateRef }));
216
437
  }
217
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SlotDefaultDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
218
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: SlotDefaultDirective, isStandalone: true, selector: "[auSlotDefault]", inputs: { auSlotDefault: "auSlotDefault" }, ngImport: i0 }); }
438
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SlotDefaultDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
439
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SlotDefaultDirective, isStandalone: true, selector: "[auSlotDefault]", inputs: { auSlotDefault: "auSlotDefault" }, ngImport: i0 }); }
219
440
  }
220
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SlotDefaultDirective, decorators: [{
441
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SlotDefaultDirective, decorators: [{
221
442
  type: Directive,
222
443
  args: [{ selector: '[auSlotDefault]', standalone: true }]
223
444
  }], propDecorators: { auSlotDefault: [{
@@ -229,44 +450,49 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
229
450
  // in order to avoid ExpressionChangedAfterItHasBeenCheckedError
230
451
  // or the corresponding issue with signals (https://github.com/angular/angular/issues/50320)
231
452
  // This is relevant especially if calling the directive changes variables used in a template.
232
- class UseDirective {
233
- #ref = inject(ElementRef);
234
- #directive;
235
- #directiveInstance;
236
- async #destroyDirectiveInstance() {
237
- const directiveInstance = this.#directiveInstance;
238
- this.#directiveInstance = undefined;
239
- if (directiveInstance?.destroy) {
453
+ const useDirectiveForHost = (use, params) => {
454
+ const ref = inject(ElementRef);
455
+ let instance = use?.(ref.nativeElement, params);
456
+ async function destroyDirectiveInstance() {
457
+ const oldInstance = instance;
458
+ instance = undefined;
459
+ use = undefined;
460
+ if (oldInstance?.destroy) {
240
461
  await 0;
241
- directiveInstance.destroy?.();
462
+ oldInstance.destroy?.();
242
463
  }
243
464
  }
244
- async ngOnChanges(changes) {
245
- if (this.use !== this.#directive) {
246
- this.#destroyDirectiveInstance();
247
- const directive = this.use;
248
- this.#directive = directive;
249
- if (directive) {
465
+ inject(DestroyRef).onDestroy(destroyDirectiveInstance);
466
+ async function update(newUse, newParams) {
467
+ if (newUse !== use) {
468
+ destroyDirectiveInstance();
469
+ use = newUse;
470
+ params = newParams;
471
+ if (newUse) {
250
472
  await 0;
251
473
  // checks that the directive did not change while waiting:
252
- if (directive === this.#directive && !this.#directiveInstance) {
253
- this.#directiveInstance = directive(this.#ref.nativeElement, this.params);
474
+ if (use === newUse && !instance) {
475
+ instance = use(ref.nativeElement, params);
254
476
  }
255
477
  }
256
478
  }
257
- else if (changes['params']) {
479
+ else if (newParams != params) {
480
+ params = newParams;
258
481
  await 0;
259
- this.#directiveInstance?.update?.(this.params);
482
+ instance?.update?.(params);
260
483
  }
261
484
  }
262
- ngOnDestroy() {
263
- this.#destroyDirectiveInstance();
264
- this.#directive = undefined;
485
+ return { update };
486
+ };
487
+ class UseDirective {
488
+ #useDirective = useDirectiveForHost();
489
+ ngOnChanges() {
490
+ this.#useDirective.update(this.use, this.params);
265
491
  }
266
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: UseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
267
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: UseDirective, isStandalone: true, selector: "[auUse]", inputs: { use: ["auUse", "use"], params: ["auUseParams", "params"] }, usesOnChanges: true, ngImport: i0 }); }
492
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
493
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: UseDirective, isStandalone: true, selector: "[auUse]", inputs: { use: ["auUse", "use"], params: ["auUseParams", "params"] }, usesOnChanges: true, ngImport: i0 }); }
268
494
  }
269
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: UseDirective, decorators: [{
495
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UseDirective, decorators: [{
270
496
  type: Directive,
271
497
  args: [{
272
498
  standalone: true,
@@ -280,147 +506,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
280
506
  args: ['auUseParams']
281
507
  }] } });
282
508
 
283
- const createPatchSlots = (set) => {
284
- let lastValue = {};
285
- return (object) => {
286
- const newValue = {};
287
- let hasChange = false;
288
- for (const key of Object.keys(object)) {
289
- const objectKey = object[key];
290
- if (objectKey != null) {
291
- // only use defined slots
292
- newValue[key] = objectKey;
293
- }
294
- if (objectKey != lastValue[key]) {
295
- hasChange = true;
296
- }
297
- }
298
- if (hasChange) {
299
- lastValue = newValue;
300
- set(newValue);
301
- }
302
- };
303
- };
304
- const callWidgetFactoryWithConfig = ({ factory, defaultConfig, widgetConfig, events, }) => {
305
- const defaultConfig$ = toReadableStore(defaultConfig);
306
- const slots$ = writable({});
307
- const widget = factory({
308
- config: computed(() => ({ ...defaultConfig$(), ...widgetConfig?.(), ...slots$() })),
309
- });
310
- widget.patch(events);
311
- return {
312
- ...widget,
313
- patchSlots: createPatchSlots(slots$.set),
314
- };
315
- };
316
- function patchSimpleChanges(patchFn, changes) {
317
- const obj = {};
318
- for (const [key, simpleChange] of Object.entries(changes)) {
319
- if (simpleChange !== undefined) {
320
- obj[key] = simpleChange.currentValue;
321
- }
322
- }
323
- patchFn(obj);
324
- }
325
-
326
- const widgetsConfigFactory = (widgetsConfigInjectionToken = new InjectionToken('widgetsConfig')) => {
327
- /**
328
- * Creates a provider of widgets default configuration that inherits from any widgets default configuration already defined at an upper level
329
- * in the Angular dependency injection system. It contains its own set of widgets configuration properties that override the same properties form
330
- * the parent configuration.
331
- *
332
- * @remarks
333
- * The configuration is computed from the parent configuration in two steps:
334
- * - first step: the parent configuration is transformed by the adaptParentConfig function (if specified).
335
- * If adaptParentConfig is not specified, this step is skipped.
336
- * - second step: the configuration from step 1 is merged (2-levels deep) with the own$ store. The own$ store initially contains
337
- * an empty object (i.e. no property from the parent is overridden). It can be changed by calling set on the store returned by
338
- * {@link injectWidgetsConfig}.
339
- *
340
- * @param adaptParentConfig - optional function that receives a 2-levels copy of the widgets default configuration
341
- * defined at an upper level in the Angular dependency injection system (or an empty object if there is none) and returns the widgets
342
- * default configuration to be used.
343
- * It is called only if the configuration is needed, and was not yet computed for the current value of the parent configuration.
344
- * It is called in a tansu reactive context, so it can use any tansu store and will be called again if those stores change.
345
- * It is also called in an Angular injection context, so it can call the Angular inject function to get and use dependencies from the
346
- * Angular dependency injection system.
347
-
348
- * @returns DI provider to be included a list of `providers` (for example at a component level or
349
- * any other level of the Angular dependency injection system)
350
- *
351
- * @example
352
- * ```typescript
353
- * @Component({
354
- * // ...
355
- * providers: [
356
- * provideWidgetsConfig((parentConfig) => {
357
- * // first step configuration: transforms the parent configuration
358
- * parentConfig.rating = parentConfig.rating ?? {};
359
- * parentConfig.rating.className = `${parentConfig.rating.className ?? ''} my-rating-extra-class`
360
- * return parentConfig;
361
- * })
362
- * ]
363
- * })
364
- * class MyComponent {
365
- * widgetsConfig = injectWidgetsConfig();
366
- * constructor() {
367
- * this.widgetsConfig.set({
368
- * // second step configuration: overrides the parent configuration
369
- * rating: {
370
- * slotStar: MyCustomSlotStar
371
- * }
372
- * });
373
- * }
374
- * // ...
375
- * }
376
- * ```
377
- */
378
- const provideWidgetsConfig = (adaptParentConfig) => ({
379
- provide: widgetsConfigInjectionToken,
380
- useFactory: (parent) => {
381
- if (adaptParentConfig) {
382
- const injector = inject(Injector);
383
- const originalAdaptParentConfig = adaptParentConfig;
384
- adaptParentConfig = (value) => runInInjectionContext(injector, () => originalAdaptParentConfig(value));
385
- }
386
- return createWidgetsConfig(parent ?? undefined, adaptParentConfig);
387
- },
388
- deps: [[new SkipSelf(), new Optional(), widgetsConfigInjectionToken]],
389
- });
390
- /**
391
- * Returns the widgets default configuration store that was provided in the current injection context.
392
- * Throws if the no widgets default configuration store was provided.
393
- *
394
- * @remarks
395
- * This function must be called from an injection context, such as a constructor, a factory function, a field initializer or
396
- * a function used with {@link https://angular.io/api/core/runInInjectionContext | runInInjectionContext}.
397
- *
398
- * @returns the widgets default configuration store.
399
- */
400
- const injectWidgetsConfig = () => inject(widgetsConfigInjectionToken);
401
- const injectWidgetConfig = (widgetName) => {
402
- const widgetsConfig = inject(widgetsConfigInjectionToken, { optional: true });
403
- return computed(() => widgetsConfig?.()[widgetName]);
404
- };
405
- const callWidgetFactory = ({ factory, widgetName = null, defaultConfig = {}, events, }) => callWidgetFactoryWithConfig({
406
- factory,
407
- widgetConfig: widgetName ? injectWidgetConfig(widgetName) : null,
408
- defaultConfig,
409
- events,
410
- });
411
- return {
412
- /**
413
- * Dependency Injection token which can be used to provide or inject the widgets default configuration store.
414
- */
415
- widgetsConfigInjectionToken,
416
- provideWidgetsConfig,
417
- injectWidgetsConfig,
418
- injectWidgetConfig,
419
- callWidgetFactory,
420
- };
421
- };
422
- const { widgetsConfigInjectionToken, provideWidgetsConfig, injectWidgetConfig, injectWidgetsConfig, callWidgetFactory } = widgetsConfigFactory();
423
-
424
509
  /*
425
510
  * Public API Surface of @agnos-ui/angular-headless
426
511
  */
@@ -436,5 +521,5 @@ const createProgressbar = createProgressbar$1;
436
521
  * Generated bundle index. Do not edit.
437
522
  */
438
523
 
439
- export { ComponentTemplate, SlotDefaultDirective, SlotDirective, UseDirective, callWidgetFactory, callWidgetFactoryWithConfig, createAccordion, createAlert, createModal, createPagination, createProgressbar, createRating, createSelect, injectWidgetConfig, injectWidgetsConfig, patchSimpleChanges, provideWidgetsConfig, widgetsConfigFactory, widgetsConfigInjectionToken };
524
+ export { ComponentTemplate, SlotDefaultDirective, SlotDirective, UseDirective, callWidgetFactory, callWidgetFactoryWithConfig, createAccordion, createAlert, createModal, createPagination, createProgressbar, createRating, createSelect, injectWidgetConfig, injectWidgetsConfig, patchSimpleChanges, provideWidgetsConfig, toAngularSignal, useDirectiveForHost, widgetsConfigFactory, widgetsConfigInjectionToken };
440
525
  //# sourceMappingURL=agnos-ui-angular-headless.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"agnos-ui-angular-headless.mjs","sources":["../../../headless/src/lib/slotTypes.ts","../../../headless/src/lib/slot.directive.ts","../../../headless/src/lib/slotDefault.directive.ts","../../../headless/src/lib/use.directive.ts","../../../headless/src/lib/utils.ts","../../../headless/src/lib/config.ts","../../../headless/src/public-api.ts","../../../headless/src/agnos-ui-angular-headless.ts"],"sourcesContent":["import type {SlotContent as CoreSlotContent, Widget, WidgetFactory, WidgetProps, WidgetSlotContext, WidgetState} from '@agnos-ui/core';\nimport type {TemplateRef, Type} from '@angular/core';\n\nexport class ComponentTemplate<Props, K extends string, T extends {[key in K]: TemplateRef<Props>}> {\n\tconstructor(public readonly component: Type<T>, public readonly templateProp: K) {}\n}\n\nexport type SlotContent<Props extends object = object> =\n\t| CoreSlotContent<Props>\n\t| TemplateRef<Props>\n\t| Type<unknown>\n\t| ComponentTemplate<Props, any, any>;\n\nexport type AdaptSlotContentProps<Props extends Record<string, any>> = Props extends WidgetSlotContext<infer U>\n\t? WidgetSlotContext<AdaptWidgetSlots<U>> & AdaptPropsSlots<Omit<Props, keyof WidgetSlotContext<any>>>\n\t: AdaptPropsSlots<Props>;\n\nexport type AdaptPropsSlots<Props> = Omit<Props, `slot${string}`> & {\n\t[K in keyof Props & `slot${string}`]: Props[K] extends CoreSlotContent<infer U> ? SlotContent<AdaptSlotContentProps<U>> : Props[K];\n};\n\nexport type AdaptWidgetFactories<T> = {\n\t[K in keyof T]: T[K] extends WidgetFactory<infer U> ? WidgetFactory<AdaptWidgetSlots<U>> : T[K];\n};\n\nexport type AdaptWidgetSlots<W extends Widget> = Widget<\n\tAdaptPropsSlots<WidgetProps<W>>,\n\tAdaptPropsSlots<WidgetState<W>>,\n\tAdaptWidgetFactories<W['api']>,\n\tW['actions'],\n\tW['directives']\n>;\n","import {DOCUMENT} from '@angular/common';\nimport type {ComponentRef, EmbeddedViewRef, OnChanges, OnDestroy, SimpleChanges, Type} from '@angular/core';\nimport {Directive, EnvironmentInjector, Input, TemplateRef, ViewContainerRef, createComponent, inject, reflectComponentType} from '@angular/core';\nimport type {SlotContent} from './slotTypes';\nimport {ComponentTemplate} from './slotTypes';\n\nabstract class SlotHandler<Props extends Record<string, any>, Slot extends SlotContent<Props> = SlotContent<Props>> {\n\tconstructor(public viewContainerRef: ViewContainerRef, public document: Document) {}\n\tslotChange(slot: Slot, props: Props) {}\n\tpropsChange(slot: Slot, props: Props) {}\n\tdestroy() {}\n}\n\nclass StringSlotHandler<Props extends Record<string, any>> extends SlotHandler<Props, string> {\n\t#nodeRef: Text | undefined;\n\t#previousText = '';\n\n\toverride slotChange(slot: string): void {\n\t\tif (slot === this.#previousText) {\n\t\t\treturn;\n\t\t}\n\t\tthis.#previousText = slot;\n\t\tif (this.#nodeRef) {\n\t\t\tthis.#nodeRef.textContent = slot;\n\t\t} else {\n\t\t\tconst viewContainerElement: Comment | undefined = this.viewContainerRef.element.nativeElement;\n\t\t\tif (this.document && viewContainerElement?.parentNode) {\n\t\t\t\tthis.#nodeRef = viewContainerElement.parentNode.insertBefore(this.document.createTextNode(slot), viewContainerElement);\n\t\t\t}\n\t\t}\n\t}\n\n\toverride destroy(): void {\n\t\tthis.#nodeRef?.parentNode?.removeChild(this.#nodeRef);\n\t\tthis.#nodeRef = undefined;\n\t}\n}\n\nclass FunctionSlotHandler<Props extends Record<string, any>> extends SlotHandler<Props, (props: Props) => string> {\n\t#stringSlotHandler = new StringSlotHandler(this.viewContainerRef, this.document);\n\n\toverride slotChange(slot: (props: Props) => string, props: Props): void {\n\t\tthis.#stringSlotHandler.slotChange(slot(props));\n\t}\n\n\toverride propsChange(slot: (props: Props) => string, props: Props): void {\n\t\tthis.#stringSlotHandler.slotChange(slot(props));\n\t}\n\n\toverride destroy(): void {\n\t\tthis.#stringSlotHandler.destroy();\n\t}\n}\n\nclass ComponentSlotHandler<Props extends Record<string, any>> extends SlotHandler<Props, Type<unknown>> {\n\t#componentRef: ComponentRef<any> | undefined;\n\t#properties: string[];\n\n\toverride slotChange(slot: Type<unknown>, props: Props): void {\n\t\tif (this.#componentRef) {\n\t\t\tthis.destroy();\n\t\t}\n\t\tthis.#componentRef = this.viewContainerRef.createComponent(slot);\n\t\tthis.#applyProperties(props);\n\t}\n\n\t#applyProperties(props: Props, oldProperties?: Set<string>) {\n\t\tconst properties = Object.keys(props);\n\t\tthis.#properties = properties;\n\t\tconst componentRef = this.#componentRef!;\n\t\tfor (const property of properties) {\n\t\t\tcomponentRef.setInput(property, props[property]);\n\t\t\toldProperties?.delete(property);\n\t\t}\n\t}\n\n\toverride propsChange(slot: Type<unknown>, props: Props): void {\n\t\tconst oldProperties = new Set(this.#properties);\n\t\tthis.#applyProperties(props, oldProperties);\n\t\tconst componentRef = this.#componentRef!;\n\t\tfor (const property of oldProperties) {\n\t\t\tcomponentRef.setInput(property, undefined);\n\t\t}\n\t}\n\n\toverride destroy(): void {\n\t\tthis.viewContainerRef.clear();\n\t\tthis.#componentRef = undefined;\n\t}\n}\n\nclass TemplateRefSlotHandler<Props extends Record<string, any>> extends SlotHandler<Props, TemplateRef<Props>> {\n\t#viewRef: EmbeddedViewRef<Props> | undefined;\n\t#props: Props;\n\n\toverride slotChange(slot: TemplateRef<Props>, props: Props): void {\n\t\tif (this.#viewRef) {\n\t\t\tthis.destroy();\n\t\t}\n\t\tprops = {...props};\n\t\tthis.#props = props;\n\t\tthis.#viewRef = this.viewContainerRef.createEmbeddedView(slot, props);\n\t}\n\n\toverride propsChange(slot: TemplateRef<Props>, props: Props): void {\n\t\tif (this.#viewRef) {\n\t\t\tconst templateProps = this.#props;\n\t\t\tconst oldProperties = new Set<keyof Props>(Object.keys(templateProps));\n\t\t\tfor (const property of Object.keys(props) as (keyof Props)[]) {\n\t\t\t\ttemplateProps[property] = props[property];\n\t\t\t\toldProperties.delete(property);\n\t\t\t}\n\t\t\tfor (const oldProperty of oldProperties) {\n\t\t\t\tdelete templateProps[oldProperty];\n\t\t\t}\n\t\t\tthis.#viewRef.markForCheck();\n\t\t}\n\t}\n\n\toverride destroy(): void {\n\t\tthis.viewContainerRef.clear();\n\t}\n}\n\nclass ComponentTemplateSlotHandler<\n\tProps extends Record<string, any>,\n\tK extends string,\n\tT extends {[key in K]: TemplateRef<Props>}\n> extends SlotHandler<Props, ComponentTemplate<Props, K, T>> {\n\t#componentRef: ComponentRef<T> | undefined;\n\t#templateSlotHandler = new TemplateRefSlotHandler(this.viewContainerRef, this.document);\n\t#templateRef: TemplateRef<Props> | undefined;\n\n\toverride slotChange(slot: ComponentTemplate<Props, K, T>, props: Props): void {\n\t\tif (this.#componentRef) {\n\t\t\tthis.destroy();\n\t\t}\n\t\tthis.#componentRef = createComponent(slot.component, {\n\t\t\telementInjector: this.viewContainerRef.injector,\n\t\t\tenvironmentInjector: this.viewContainerRef.injector.get(EnvironmentInjector),\n\t\t});\n\t\tthis.#templateRef = this.#componentRef.instance[slot.templateProp];\n\t\tthis.#templateSlotHandler.slotChange(this.#templateRef, props);\n\t}\n\n\toverride propsChange(slot: ComponentTemplate<Props, K, T>, props: Props): void {\n\t\tthis.#templateSlotHandler.propsChange(this.#templateRef!, props);\n\t}\n\n\toverride destroy(): void {\n\t\tthis.#templateSlotHandler.destroy();\n\t\tthis.#componentRef?.destroy();\n\t\tthis.#componentRef = undefined;\n\t}\n}\n\nconst getSlotType = (value: any): undefined | {new (viewContainerRef: ViewContainerRef, document: Document): SlotHandler<any>} => {\n\tif (!value) return undefined;\n\tconst type = typeof value;\n\tswitch (type) {\n\t\tcase 'string':\n\t\t\treturn StringSlotHandler;\n\t\tcase 'function':\n\t\t\tif (reflectComponentType(value)) {\n\t\t\t\treturn ComponentSlotHandler;\n\t\t\t}\n\t\t\treturn FunctionSlotHandler;\n\t\tcase 'object':\n\t\t\tif (value instanceof TemplateRef) {\n\t\t\t\treturn TemplateRefSlotHandler;\n\t\t\t}\n\t\t\tif (value instanceof ComponentTemplate) {\n\t\t\t\treturn ComponentTemplateSlotHandler;\n\t\t\t}\n\t\t\tbreak;\n\t}\n\treturn undefined;\n};\n\n@Directive({\n\tselector: '[auSlot]',\n\tstandalone: true,\n})\nexport class SlotDirective<Props extends Record<string, any>> implements OnChanges, OnDestroy {\n\t@Input('auSlot') slot: SlotContent<Props>;\n\t@Input('auSlotProps') props: Props;\n\n\tprivate _viewContainerRef = inject(ViewContainerRef);\n\tprivate _document = inject(DOCUMENT);\n\tprivate _slotType: ReturnType<typeof getSlotType>;\n\tprivate _slotHandler: SlotHandler<Props> | undefined;\n\n\tngOnChanges(changes: SimpleChanges): void {\n\t\tconst slotChange = changes['slot'];\n\t\tconst propsChange = changes['props'];\n\t\tconst slot = this.slot;\n\t\tif (slotChange) {\n\t\t\tconst newSlotType = getSlotType(slot);\n\t\t\tif (newSlotType !== this._slotType) {\n\t\t\t\tthis._slotHandler?.destroy();\n\t\t\t\tthis._slotHandler = newSlotType ? new newSlotType(this._viewContainerRef, this._document) : undefined;\n\t\t\t\tthis._slotType = newSlotType;\n\t\t\t}\n\t\t\tthis._slotHandler?.slotChange(slot, this.props);\n\t\t} else if (propsChange) {\n\t\t\tthis._slotHandler?.propsChange(slot, this.props);\n\t\t}\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._slotHandler?.destroy();\n\t\tthis._slotHandler = undefined;\n\t}\n}\n","import type {WritableSignal} from '@amadeus-it-group/tansu';\nimport type {OnInit} from '@angular/core';\nimport {Directive, Input, TemplateRef, inject} from '@angular/core';\nimport type {SlotContent} from './slotTypes';\n\n@Directive({selector: '[auSlotDefault]', standalone: true})\nexport class SlotDefaultDirective<T extends object> implements OnInit {\n\t@Input('auSlotDefault') auSlotDefault: WritableSignal<{slotDefault?: SlotContent<T>}>;\n\n\ttemplateRef = inject(TemplateRef<T>);\n\n\tngOnInit(): void {\n\t\tthis.auSlotDefault.update((value) => ({...value, slotDefault: this.templateRef}));\n\t}\n}\n","import type {OnChanges, OnDestroy, SimpleChanges} from '@angular/core';\nimport {Directive, ElementRef, inject, Input} from '@angular/core';\nimport type {Directive as AgnosUIDirective} from '@agnos-ui/core';\n\n// All calls of the directive in this class are done asynchronously (with await 0)\n// in order to avoid ExpressionChangedAfterItHasBeenCheckedError\n// or the corresponding issue with signals (https://github.com/angular/angular/issues/50320)\n// This is relevant especially if calling the directive changes variables used in a template.\n\n@Directive({\n\tstandalone: true,\n\tselector: '[auUse]',\n})\nexport class UseDirective<T> implements OnChanges, OnDestroy {\n\t@Input('auUse')\n\tuse: AgnosUIDirective<T> | undefined;\n\n\t@Input('auUseParams')\n\tparams: T | undefined;\n\n\t#ref = inject(ElementRef);\n\n\t#directive: AgnosUIDirective<T> | undefined;\n\t#directiveInstance?: ReturnType<AgnosUIDirective<T>>;\n\n\tasync #destroyDirectiveInstance() {\n\t\tconst directiveInstance = this.#directiveInstance;\n\t\tthis.#directiveInstance = undefined;\n\t\tif (directiveInstance?.destroy) {\n\t\t\tawait 0;\n\t\t\tdirectiveInstance.destroy?.();\n\t\t}\n\t}\n\n\tasync ngOnChanges(changes: SimpleChanges): Promise<void> {\n\t\tif (this.use !== this.#directive) {\n\t\t\tthis.#destroyDirectiveInstance();\n\t\t\tconst directive = this.use;\n\t\t\tthis.#directive = directive;\n\t\t\tif (directive) {\n\t\t\t\tawait 0;\n\t\t\t\t// checks that the directive did not change while waiting:\n\t\t\t\tif (directive === this.#directive && !this.#directiveInstance) {\n\t\t\t\t\tthis.#directiveInstance = directive(this.#ref.nativeElement, this.params as T);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (changes['params']) {\n\t\t\tawait 0;\n\t\t\tthis.#directiveInstance?.update?.(this.params as T);\n\t\t}\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.#destroyDirectiveInstance();\n\t\tthis.#directive = undefined;\n\t}\n}\n","import type {Widget, WidgetFactory, WidgetProps} from '@agnos-ui/core';\nimport {toReadableStore} from '@agnos-ui/core';\nimport type {ReadableSignal} from '@amadeus-it-group/tansu';\nimport {computed, writable} from '@amadeus-it-group/tansu';\nimport type {SimpleChanges, TemplateRef} from '@angular/core';\nimport type {SlotContent} from './slotTypes';\n\nconst createPatchSlots = <T extends object>(set: (object: Partial<T>) => void) => {\n\tlet lastValue: Partial<T> = {};\n\treturn (object: T) => {\n\t\tconst newValue: Partial<T> = {};\n\t\tlet hasChange = false;\n\t\tfor (const key of Object.keys(object) as (string & keyof T)[]) {\n\t\t\tconst objectKey = (object as any)[key];\n\t\t\tif (objectKey != null) {\n\t\t\t\t// only use defined slots\n\t\t\t\tnewValue[key] = objectKey;\n\t\t\t}\n\t\t\tif (objectKey != lastValue[key]) {\n\t\t\t\thasChange = true;\n\t\t\t}\n\t\t}\n\t\tif (hasChange) {\n\t\t\tlastValue = newValue;\n\t\t\tset(newValue);\n\t\t}\n\t};\n};\n\nexport type WithPatchSlots<W extends Widget> = W & {\n\tpatchSlots(slots: {\n\t\t[K in keyof WidgetProps<W> & `slot${string}`]: WidgetProps<W>[K] extends SlotContent<infer U> ? TemplateRef<U> | undefined : never;\n\t}): void;\n};\n\nexport const callWidgetFactoryWithConfig = <W extends Widget>({\n\tfactory,\n\tdefaultConfig,\n\twidgetConfig,\n\tevents,\n}: {\n\tfactory: WidgetFactory<W>;\n\tdefaultConfig?: Partial<WidgetProps<W>> | ReadableSignal<Partial<WidgetProps<W>> | undefined>;\n\twidgetConfig?: null | undefined | ReadableSignal<Partial<WidgetProps<W>> | undefined>;\n\tevents: Pick<WidgetProps<W>, keyof WidgetProps<W> & `on${string}`>;\n}): WithPatchSlots<W> => {\n\tconst defaultConfig$ = toReadableStore(defaultConfig);\n\tconst slots$ = writable({});\n\tconst widget = factory({\n\t\tconfig: computed(() => ({...defaultConfig$(), ...widgetConfig?.(), ...slots$()})),\n\t});\n\twidget.patch(events);\n\treturn {\n\t\t...widget,\n\t\tpatchSlots: createPatchSlots(slots$.set),\n\t};\n};\n\nexport function patchSimpleChanges(patchFn: (obj: any) => void, changes: SimpleChanges) {\n\tconst obj: any = {};\n\tfor (const [key, simpleChange] of Object.entries(changes)) {\n\t\tif (simpleChange !== undefined) {\n\t\t\tobj[key] = simpleChange.currentValue;\n\t\t}\n\t}\n\tpatchFn(obj);\n}\n","import type {Partial2Levels, Widget, WidgetFactory, WidgetProps, WidgetsConfigStore} from '@agnos-ui/core';\nimport {createWidgetsConfig} from '@agnos-ui/core';\nimport type {ReadableSignal} from '@amadeus-it-group/tansu';\nimport {computed} from '@amadeus-it-group/tansu';\nimport type {FactoryProvider} from '@angular/core';\nimport {InjectionToken, Injector, Optional, SkipSelf, inject, runInInjectionContext} from '@angular/core';\nimport type {AdaptPropsSlots} from './slotTypes';\nimport type {WithPatchSlots} from './utils';\nimport {callWidgetFactoryWithConfig} from './utils';\n\nexport type WidgetsConfig = {\n\t[WidgetName in keyof import('@agnos-ui/core').WidgetsConfig]: AdaptPropsSlots<import('@agnos-ui/core').WidgetsConfig[WidgetName]>;\n};\n\nexport const widgetsConfigFactory = <Config extends {[widgetName: string]: object} = WidgetsConfig>(\n\twidgetsConfigInjectionToken = new InjectionToken<WidgetsConfigStore<Config>>('widgetsConfig')\n) => {\n\t/**\n\t * Creates a provider of widgets default configuration that inherits from any widgets default configuration already defined at an upper level\n\t * in the Angular dependency injection system. It contains its own set of widgets configuration properties that override the same properties form\n\t * the parent configuration.\n\t *\n\t * @remarks\n\t * The configuration is computed from the parent configuration in two steps:\n\t * - first step: the parent configuration is transformed by the adaptParentConfig function (if specified).\n\t * If adaptParentConfig is not specified, this step is skipped.\n\t * - second step: the configuration from step 1 is merged (2-levels deep) with the own$ store. The own$ store initially contains\n\t * an empty object (i.e. no property from the parent is overridden). It can be changed by calling set on the store returned by\n\t * {@link injectWidgetsConfig}.\n\t *\n\t * @param adaptParentConfig - optional function that receives a 2-levels copy of the widgets default configuration\n\t * defined at an upper level in the Angular dependency injection system (or an empty object if there is none) and returns the widgets\n\t * default configuration to be used.\n\t * It is called only if the configuration is needed, and was not yet computed for the current value of the parent configuration.\n\t * It is called in a tansu reactive context, so it can use any tansu store and will be called again if those stores change.\n\t * It is also called in an Angular injection context, so it can call the Angular inject function to get and use dependencies from the\n\t * Angular dependency injection system.\n\n\t* @returns DI provider to be included a list of `providers` (for example at a component level or\n\t* any other level of the Angular dependency injection system)\n\t*\n\t* @example\n\t* ```typescript\n\t* @Component({\n\t* // ...\n\t* providers: [\n\t* provideWidgetsConfig((parentConfig) => {\n\t* // first step configuration: transforms the parent configuration\n\t* parentConfig.rating = parentConfig.rating ?? {};\n\t* parentConfig.rating.className = `${parentConfig.rating.className ?? ''} my-rating-extra-class`\n\t* return parentConfig;\n\t* })\n\t* ]\n\t* })\n\t* class MyComponent {\n\t* widgetsConfig = injectWidgetsConfig();\n\t* constructor() {\n\t* this.widgetsConfig.set({\n\t* // second step configuration: overrides the parent configuration\n\t* rating: {\n\t* slotStar: MyCustomSlotStar\n\t* }\n\t* });\n\t* }\n\t* // ...\n\t* }\n\t* ```\n\t*/\n\tconst provideWidgetsConfig = (adaptParentConfig?: (config: Partial2Levels<Config>) => Partial2Levels<Config>): FactoryProvider => ({\n\t\tprovide: widgetsConfigInjectionToken,\n\t\tuseFactory: (parent: WidgetsConfigStore<Config> | null) => {\n\t\t\tif (adaptParentConfig) {\n\t\t\t\tconst injector = inject(Injector);\n\t\t\t\tconst originalAdaptParentConfig = adaptParentConfig;\n\t\t\t\tadaptParentConfig = (value) => runInInjectionContext(injector, () => originalAdaptParentConfig(value));\n\t\t\t}\n\t\t\treturn createWidgetsConfig(parent ?? undefined, adaptParentConfig);\n\t\t},\n\t\tdeps: [[new SkipSelf(), new Optional(), widgetsConfigInjectionToken]],\n\t});\n\n\t/**\n\t * Returns the widgets default configuration store that was provided in the current injection context.\n\t * Throws if the no widgets default configuration store was provided.\n\t *\n\t * @remarks\n\t * This function must be called from an injection context, such as a constructor, a factory function, a field initializer or\n\t * a function used with {@link https://angular.io/api/core/runInInjectionContext | runInInjectionContext}.\n\t *\n\t * @returns the widgets default configuration store.\n\t */\n\tconst injectWidgetsConfig = () => inject(widgetsConfigInjectionToken);\n\n\tconst injectWidgetConfig = <N extends keyof Config>(widgetName: N): ReadableSignal<Partial<Config[N]> | undefined> => {\n\t\tconst widgetsConfig = inject(widgetsConfigInjectionToken, {optional: true});\n\t\treturn computed(() => widgetsConfig?.()[widgetName]);\n\t};\n\n\tconst callWidgetFactory = <W extends Widget>({\n\t\tfactory,\n\t\twidgetName = null,\n\t\tdefaultConfig = {},\n\t\tevents,\n\t}: {\n\t\tfactory: WidgetFactory<W>;\n\t\twidgetName?: null | keyof Config;\n\t\tdefaultConfig?: Partial<WidgetProps<W>> | ReadableSignal<Partial<WidgetProps<W>> | undefined>;\n\t\tevents: Pick<WidgetProps<W>, keyof WidgetProps<W> & `on${string}`>;\n\t}): WithPatchSlots<W> =>\n\t\tcallWidgetFactoryWithConfig({\n\t\t\tfactory,\n\t\t\twidgetConfig: widgetName ? (injectWidgetConfig(widgetName) as any) : null,\n\t\t\tdefaultConfig,\n\t\t\tevents,\n\t\t});\n\n\treturn {\n\t\t/**\n\t\t * Dependency Injection token which can be used to provide or inject the widgets default configuration store.\n\t\t */\n\t\twidgetsConfigInjectionToken,\n\t\tprovideWidgetsConfig,\n\t\tinjectWidgetsConfig,\n\t\tinjectWidgetConfig,\n\t\tcallWidgetFactory,\n\t};\n};\n\nexport const {widgetsConfigInjectionToken, provideWidgetsConfig, injectWidgetConfig, injectWidgetsConfig, callWidgetFactory} =\n\twidgetsConfigFactory<WidgetsConfig>();\n","/*\n * Public API Surface of @agnos-ui/angular-headless\n */\n\nexport * from '@agnos-ui/core';\n\nexport * from './lib/slot.directive';\nexport * from './lib/slotDefault.directive';\nexport * from './lib/use.directive';\nexport * from './lib/slotTypes';\nexport * from './lib/utils';\nexport * from './lib/config';\n\nimport type {PropsConfig, WidgetFactory, WidgetProps, WidgetState} from '@agnos-ui/core';\nimport type {AdaptSlotContentProps, AdaptWidgetSlots} from './lib/slotTypes';\n\nexport type {SlotContent} from './lib/slotTypes';\nexport type {WidgetsConfig} from './lib/config';\n\nexport type AccordionWidget = AdaptWidgetSlots<import('@agnos-ui/core').AccordionWidget>;\nexport type AccordionProps = WidgetProps<AccordionWidget>;\nexport type AccordionState = WidgetState<AccordionWidget>;\nexport type AccordionApi = AccordionWidget['api'];\nexport type AccordionItemWidget = AdaptWidgetSlots<import('@agnos-ui/core').AccordionItemWidget>;\nexport type AccordionItemProps = WidgetProps<AccordionItemWidget>;\nexport type AccordionItemState = WidgetState<AccordionItemWidget>;\nexport type AccordionItemContext = AdaptSlotContentProps<import('@agnos-ui/core').AccordionItemContext>;\nimport {createAccordion as coreCreateAccordion} from '@agnos-ui/core';\nexport const createAccordion: WidgetFactory<AccordionWidget> = coreCreateAccordion as any;\n\nexport type AlertWidget = AdaptWidgetSlots<import('@agnos-ui/core').AlertWidget>;\nexport type AlertProps = WidgetProps<AlertWidget>;\nexport type AlertState = WidgetState<AlertWidget>;\nexport type AlertContext = AdaptSlotContentProps<import('@agnos-ui/core').AlertContext>;\nimport {createAlert as coreCreateAlert} from '@agnos-ui/core';\nexport const createAlert: WidgetFactory<AlertWidget> = coreCreateAlert as any;\n\nexport type ModalWidget = AdaptWidgetSlots<import('@agnos-ui/core').ModalWidget>;\nexport type ModalProps = WidgetProps<ModalWidget>;\nexport type ModalState = WidgetState<ModalWidget>;\nexport type ModalContext = AdaptSlotContentProps<import('@agnos-ui/core').ModalContext>;\nimport {createModal as coreCreateModal} from '@agnos-ui/core';\nexport const createModal: WidgetFactory<ModalWidget> = coreCreateModal as any;\n\nexport type PaginationWidget = AdaptWidgetSlots<import('@agnos-ui/core').PaginationWidget>;\nexport type PaginationProps = WidgetProps<PaginationWidget>;\nexport type PaginationState = WidgetState<PaginationWidget>;\nexport type PaginationContext = AdaptSlotContentProps<import('@agnos-ui/core').PaginationContext>;\nexport type PaginationNumberContext = AdaptSlotContentProps<import('@agnos-ui/core').PaginationNumberContext>;\nimport {createPagination as coreCreatePagination} from '@agnos-ui/core';\nexport const createPagination: WidgetFactory<PaginationWidget> = coreCreatePagination as any;\n\nexport type RatingWidget = AdaptWidgetSlots<import('@agnos-ui/core').RatingWidget>;\nexport type RatingProps = WidgetProps<RatingWidget>;\nexport type RatingState = WidgetState<RatingWidget>;\nimport {createRating as coreCreateRating} from '@agnos-ui/core';\nexport const createRating: WidgetFactory<RatingWidget> = coreCreateRating as any;\n\nexport type SelectWidget<Item> = AdaptWidgetSlots<import('@agnos-ui/core').SelectWidget<Item>>;\nexport type SelectProps<Item> = WidgetProps<SelectWidget<Item>>;\nexport type SelectState<Item> = WidgetState<SelectWidget<Item>>;\nimport {createSelect as coreCreateSelect} from '@agnos-ui/core';\nexport const createSelect: <Item>(propsConfig?: PropsConfig<SelectProps<Item>>) => SelectWidget<Item> = coreCreateSelect as any;\n\nexport type ProgressbarWidget = AdaptWidgetSlots<import('@agnos-ui/core').ProgressbarWidget>;\nexport type ProgressbarProps = WidgetProps<ProgressbarWidget>;\nexport type ProgressbarState = WidgetState<ProgressbarWidget>;\nexport type ProgressbarContext = AdaptSlotContentProps<import('@agnos-ui/core').ProgressbarContext>;\nimport {createProgressbar as coreCreateProgressbar} from '@agnos-ui/core';\nexport const createProgressbar: WidgetFactory<ProgressbarWidget> = coreCreateProgressbar as any;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["coreCreateAccordion","coreCreateAlert","coreCreateModal","coreCreatePagination","coreCreateRating","coreCreateSelect","coreCreateProgressbar"],"mappings":"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"}
1
+ {"version":3,"file":"agnos-ui-angular-headless.mjs","sources":["../../../headless/src/lib/utils.ts","../../../headless/src/lib/config.ts","../../../headless/src/lib/slotTypes.ts","../../../headless/src/lib/slot.directive.ts","../../../headless/src/lib/slotDefault.directive.ts","../../../headless/src/lib/use.directive.ts","../../../headless/src/public-api.ts","../../../headless/src/agnos-ui-angular-headless.ts"],"sourcesContent":["import type {Widget, WidgetFactory, WidgetProps} from '@agnos-ui/core';\nimport {toReadableStore} from '@agnos-ui/core';\nimport type {ReadableSignal} from '@amadeus-it-group/tansu';\nimport {computed, writable} from '@amadeus-it-group/tansu';\nimport type {Signal, SimpleChanges, TemplateRef} from '@angular/core';\nimport {DestroyRef, Injectable, NgZone, inject, signal} from '@angular/core';\nimport type {SlotContent} from './slotTypes';\n\nconst createPatchSlots = <T extends object>(set: (object: Partial<T>) => void) => {\n\tlet lastValue: Partial<T> = {};\n\treturn (object: T) => {\n\t\tconst newValue: Partial<T> = {};\n\t\tlet hasChange = false;\n\t\tfor (const key of Object.keys(object) as (string & keyof T)[]) {\n\t\t\tconst objectKey = (object as any)[key];\n\t\t\tif (objectKey != null) {\n\t\t\t\t// only use defined slots\n\t\t\t\tnewValue[key] = objectKey;\n\t\t\t}\n\t\t\tif (objectKey != lastValue[key]) {\n\t\t\t\thasChange = true;\n\t\t\t}\n\t\t}\n\t\tif (hasChange) {\n\t\t\tlastValue = newValue;\n\t\t\tset(newValue);\n\t\t}\n\t};\n};\n\nconst noop = () => {};\nconst identity = <T>(a: T) => a;\n\ntype Wrapper = <T>(fn: T) => T;\n\nconst createObjectWrapper =\n\t(wrap: Wrapper): Wrapper =>\n\t(object) => {\n\t\tif (!object || typeof object !== 'object') {\n\t\t\treturn object;\n\t\t}\n\t\tconst res = {} as any;\n\t\tfor (const key of Object.keys(object)) {\n\t\t\tres[key] = wrap((object as any)[key]);\n\t\t}\n\t\treturn res;\n\t};\n\nconst createReturnValueWrapper =\n\t(wrapReturnValue: Wrapper, wrapResult: Wrapper): Wrapper =>\n\t(fn) =>\n\t\twrapResult(typeof fn === 'function' ? (((...args: any[]) => wrapReturnValue(fn(...args))) as any) : fn);\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nclass ZoneWrapper {\n\treadonly #zone = inject(NgZone);\n\treadonly #hasZone = this.#zone.run(() => NgZone.isInAngularZone()); // check if zone is enabled (can be NoopZone, cf https://angular.io/guide/zone#noopzone)\n\t#runNeeded = false;\n\t#runPlanned = false;\n\n\tplanNgZoneRun = this.#hasZone\n\t\t? () => {\n\t\t\t\tif (this.#zone.isStable) {\n\t\t\t\t\tthis.#runNeeded = true;\n\t\t\t\t\tif (!this.#runPlanned) {\n\t\t\t\t\t\tthis.#runPlanned = true;\n\t\t\t\t\t\t(async () => {\n\t\t\t\t\t\t\tawait 0;\n\t\t\t\t\t\t\tthis.#runPlanned = false;\n\t\t\t\t\t\t\tif (this.#runNeeded) {\n\t\t\t\t\t\t\t\tthis.ngZoneRun(noop);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t }\n\t\t: noop;\n\n\tngZoneRun<T>(fn: () => T): T {\n\t\tthis.#runNeeded = false;\n\t\treturn this.#zone.run(fn);\n\t}\n\n\tinsideNgZone: Wrapper = this.#hasZone\n\t\t? (fn) => (typeof fn === 'function' ? (((...args: any[]) => this.ngZoneRun(() => fn(...args))) as any) : fn)\n\t\t: identity;\n\tinsideNgZoneWrapFunctionsObject = createObjectWrapper(this.insideNgZone);\n\n\toutsideNgZone: Wrapper = this.#hasZone\n\t\t? (fn) => (typeof fn === 'function' ? (((...args: any[]) => this.#zone.runOutsideAngular(() => fn(...args))) as any) : fn)\n\t\t: identity;\n\n\toutsideNgZoneWrapFunctionsObject = createObjectWrapper(this.outsideNgZone);\n\toutsideNgZoneWrapDirective = createReturnValueWrapper(this.outsideNgZoneWrapFunctionsObject, this.outsideNgZone);\n\toutsideNgZoneWrapDirectivesObject = createObjectWrapper(this.outsideNgZoneWrapDirective);\n}\n\nexport const toAngularSignal = <T>(tansuSignal: ReadableSignal<T>): Signal<T> => {\n\tconst zoneWrapper = inject(ZoneWrapper);\n\tconst res = signal(undefined as any as T);\n\tconst subscription = zoneWrapper.outsideNgZone(tansuSignal.subscribe)((value) => {\n\t\tres.set(value);\n\t\tzoneWrapper.planNgZoneRun();\n\t});\n\tinject(DestroyRef).onDestroy(zoneWrapper.outsideNgZone(subscription));\n\treturn res;\n};\n\nexport type WithPatchSlots<W extends Widget> = W & {\n\tpatchSlots(slots: {\n\t\t[K in keyof WidgetProps<W> & `slot${string}`]: WidgetProps<W>[K] extends SlotContent<infer U> ? TemplateRef<U> | undefined : never;\n\t}): void;\n};\n\nexport const callWidgetFactoryWithConfig = <W extends Widget>({\n\tfactory,\n\tdefaultConfig,\n\twidgetConfig,\n\tevents,\n}: {\n\tfactory: WidgetFactory<W>;\n\tdefaultConfig?: Partial<WidgetProps<W>> | ReadableSignal<Partial<WidgetProps<W>> | undefined>;\n\twidgetConfig?: null | undefined | ReadableSignal<Partial<WidgetProps<W>> | undefined>;\n\tevents: Pick<WidgetProps<W>, keyof WidgetProps<W> & `on${string}`>;\n}): WithPatchSlots<W> => {\n\tconst zoneWrapper = inject(ZoneWrapper);\n\tfactory = zoneWrapper.outsideNgZone(factory);\n\tconst defaultConfig$ = toReadableStore(defaultConfig);\n\tconst slots$ = writable({});\n\tevents = zoneWrapper.insideNgZoneWrapFunctionsObject(events);\n\tconst widget = factory({\n\t\tconfig: computed(() => ({...defaultConfig$(), ...widgetConfig?.(), ...slots$(), ...(events as Partial<WidgetProps<W>>)})),\n\t});\n\treturn {\n\t\t...widget,\n\t\tpatch: zoneWrapper.outsideNgZone(widget.patch),\n\t\tdirectives: zoneWrapper.outsideNgZoneWrapDirectivesObject(widget.directives),\n\t\tactions: zoneWrapper.outsideNgZoneWrapFunctionsObject(widget.actions),\n\t\tapi: zoneWrapper.outsideNgZoneWrapFunctionsObject(widget.api),\n\t\tpatchSlots: createPatchSlots(slots$.set),\n\t};\n};\n\nexport function patchSimpleChanges(patchFn: (obj: any) => void, changes: SimpleChanges) {\n\tconst obj: any = {};\n\tfor (const [key, simpleChange] of Object.entries(changes)) {\n\t\tif (simpleChange !== undefined) {\n\t\t\tobj[key] = simpleChange.currentValue;\n\t\t}\n\t}\n\tpatchFn(obj);\n}\n","import type {Partial2Levels, Widget, WidgetFactory, WidgetProps, WidgetsConfigStore} from '@agnos-ui/core';\nimport {createWidgetsConfig} from '@agnos-ui/core';\nimport type {ReadableSignal} from '@amadeus-it-group/tansu';\nimport {computed} from '@amadeus-it-group/tansu';\nimport type {FactoryProvider} from '@angular/core';\nimport {InjectionToken, Injector, Optional, SkipSelf, inject, runInInjectionContext} from '@angular/core';\nimport type {AdaptPropsSlots} from './slotTypes';\nimport type {WithPatchSlots} from './utils';\nimport {callWidgetFactoryWithConfig} from './utils';\n\nexport type WidgetsConfig = {\n\t[WidgetName in keyof import('@agnos-ui/core').WidgetsConfig]: AdaptPropsSlots<import('@agnos-ui/core').WidgetsConfig[WidgetName]>;\n};\n\nexport const widgetsConfigFactory = <Config extends {[widgetName: string]: object} = WidgetsConfig>(\n\twidgetsConfigInjectionToken = new InjectionToken<WidgetsConfigStore<Config>>('widgetsConfig')\n) => {\n\t/**\n\t * Creates a provider of widgets default configuration that inherits from any widgets default configuration already defined at an upper level\n\t * in the Angular dependency injection system. It contains its own set of widgets configuration properties that override the same properties form\n\t * the parent configuration.\n\t *\n\t * @remarks\n\t * The configuration is computed from the parent configuration in two steps:\n\t * - first step: the parent configuration is transformed by the adaptParentConfig function (if specified).\n\t * If adaptParentConfig is not specified, this step is skipped.\n\t * - second step: the configuration from step 1 is merged (2-levels deep) with the own$ store. The own$ store initially contains\n\t * an empty object (i.e. no property from the parent is overridden). It can be changed by calling set on the store returned by\n\t * {@link injectWidgetsConfig}.\n\t *\n\t * @param adaptParentConfig - optional function that receives a 2-levels copy of the widgets default configuration\n\t * defined at an upper level in the Angular dependency injection system (or an empty object if there is none) and returns the widgets\n\t * default configuration to be used.\n\t * It is called only if the configuration is needed, and was not yet computed for the current value of the parent configuration.\n\t * It is called in a tansu reactive context, so it can use any tansu store and will be called again if those stores change.\n\t * It is also called in an Angular injection context, so it can call the Angular inject function to get and use dependencies from the\n\t * Angular dependency injection system.\n\n\t* @returns DI provider to be included a list of `providers` (for example at a component level or\n\t* any other level of the Angular dependency injection system)\n\t*\n\t* @example\n\t* ```typescript\n\t* @Component({\n\t* // ...\n\t* providers: [\n\t* provideWidgetsConfig((parentConfig) => {\n\t* // first step configuration: transforms the parent configuration\n\t* parentConfig.rating = parentConfig.rating ?? {};\n\t* parentConfig.rating.className = `${parentConfig.rating.className ?? ''} my-rating-extra-class`\n\t* return parentConfig;\n\t* })\n\t* ]\n\t* })\n\t* class MyComponent {\n\t* widgetsConfig = injectWidgetsConfig();\n\t* constructor() {\n\t* this.widgetsConfig.set({\n\t* // second step configuration: overrides the parent configuration\n\t* rating: {\n\t* slotStar: MyCustomSlotStar\n\t* }\n\t* });\n\t* }\n\t* // ...\n\t* }\n\t* ```\n\t*/\n\tconst provideWidgetsConfig = (adaptParentConfig?: (config: Partial2Levels<Config>) => Partial2Levels<Config>): FactoryProvider => ({\n\t\tprovide: widgetsConfigInjectionToken,\n\t\tuseFactory: (parent: WidgetsConfigStore<Config> | null) => {\n\t\t\tif (adaptParentConfig) {\n\t\t\t\tconst injector = inject(Injector);\n\t\t\t\tconst originalAdaptParentConfig = adaptParentConfig;\n\t\t\t\tadaptParentConfig = (value) => runInInjectionContext(injector, () => originalAdaptParentConfig(value));\n\t\t\t}\n\t\t\treturn createWidgetsConfig(parent ?? undefined, adaptParentConfig);\n\t\t},\n\t\tdeps: [[new SkipSelf(), new Optional(), widgetsConfigInjectionToken]],\n\t});\n\n\t/**\n\t * Returns the widgets default configuration store that was provided in the current injection context.\n\t * Throws if the no widgets default configuration store was provided.\n\t *\n\t * @remarks\n\t * This function must be called from an injection context, such as a constructor, a factory function, a field initializer or\n\t * a function used with {@link https://angular.io/api/core/runInInjectionContext | runInInjectionContext}.\n\t *\n\t * @returns the widgets default configuration store.\n\t */\n\tconst injectWidgetsConfig = () => inject(widgetsConfigInjectionToken);\n\n\tconst injectWidgetConfig = <N extends keyof Config>(widgetName: N): ReadableSignal<Partial<Config[N]> | undefined> => {\n\t\tconst widgetsConfig = inject(widgetsConfigInjectionToken, {optional: true});\n\t\treturn computed(() => widgetsConfig?.()[widgetName]);\n\t};\n\n\tconst callWidgetFactory = <W extends Widget>({\n\t\tfactory,\n\t\twidgetName = null,\n\t\tdefaultConfig = {},\n\t\tevents,\n\t}: {\n\t\tfactory: WidgetFactory<W>;\n\t\twidgetName?: null | keyof Config;\n\t\tdefaultConfig?: Partial<WidgetProps<W>> | ReadableSignal<Partial<WidgetProps<W>> | undefined>;\n\t\tevents: Pick<WidgetProps<W>, keyof WidgetProps<W> & `on${string}`>;\n\t}): WithPatchSlots<W> =>\n\t\tcallWidgetFactoryWithConfig({\n\t\t\tfactory,\n\t\t\twidgetConfig: widgetName ? (injectWidgetConfig(widgetName) as any) : null,\n\t\t\tdefaultConfig,\n\t\t\tevents,\n\t\t});\n\n\treturn {\n\t\t/**\n\t\t * Dependency Injection token which can be used to provide or inject the widgets default configuration store.\n\t\t */\n\t\twidgetsConfigInjectionToken,\n\t\tprovideWidgetsConfig,\n\t\tinjectWidgetsConfig,\n\t\tinjectWidgetConfig,\n\t\tcallWidgetFactory,\n\t};\n};\n\nexport const {widgetsConfigInjectionToken, provideWidgetsConfig, injectWidgetConfig, injectWidgetsConfig, callWidgetFactory} =\n\twidgetsConfigFactory<WidgetsConfig>();\n","import type {SlotContent as CoreSlotContent, Widget, WidgetFactory, WidgetProps, WidgetSlotContext, WidgetState} from '@agnos-ui/core';\nimport type {TemplateRef, Type} from '@angular/core';\n\nexport class ComponentTemplate<Props, K extends string, T extends {[key in K]: TemplateRef<Props>}> {\n\tconstructor(public readonly component: Type<T>, public readonly templateProp: K) {}\n}\n\nexport type SlotContent<Props extends object = object> =\n\t| CoreSlotContent<Props>\n\t| TemplateRef<Props>\n\t| Type<unknown>\n\t| ComponentTemplate<Props, any, any>;\n\nexport type AdaptSlotContentProps<Props extends Record<string, any>> = Props extends WidgetSlotContext<infer U>\n\t? WidgetSlotContext<AdaptWidgetSlots<U>> & AdaptPropsSlots<Omit<Props, keyof WidgetSlotContext<any>>>\n\t: AdaptPropsSlots<Props>;\n\nexport type AdaptPropsSlots<Props> = Omit<Props, `slot${string}`> & {\n\t[K in keyof Props & `slot${string}`]: Props[K] extends CoreSlotContent<infer U> ? SlotContent<AdaptSlotContentProps<U>> : Props[K];\n};\n\nexport type AdaptWidgetFactories<T> = {\n\t[K in keyof T]: T[K] extends WidgetFactory<infer U> ? WidgetFactory<AdaptWidgetSlots<U>> : T[K];\n};\n\nexport type AdaptWidgetSlots<W extends Widget> = Widget<\n\tAdaptPropsSlots<WidgetProps<W>>,\n\tAdaptPropsSlots<WidgetState<W>>,\n\tAdaptWidgetFactories<W['api']>,\n\tW['actions'],\n\tW['directives']\n>;\n","import {DOCUMENT} from '@angular/common';\nimport type {ComponentRef, EmbeddedViewRef, OnChanges, OnDestroy, SimpleChanges, Type} from '@angular/core';\nimport {Directive, EnvironmentInjector, Input, TemplateRef, ViewContainerRef, createComponent, inject, reflectComponentType} from '@angular/core';\nimport type {SlotContent} from './slotTypes';\nimport {ComponentTemplate} from './slotTypes';\n\nabstract class SlotHandler<Props extends Record<string, any>, Slot extends SlotContent<Props> = SlotContent<Props>> {\n\tconstructor(public viewContainerRef: ViewContainerRef, public document: Document) {}\n\tslotChange(slot: Slot, props: Props) {}\n\tpropsChange(slot: Slot, props: Props) {}\n\tdestroy() {}\n}\n\nclass StringSlotHandler<Props extends Record<string, any>> extends SlotHandler<Props, string> {\n\t#nodeRef: Text | undefined;\n\t#previousText = '';\n\n\toverride slotChange(slot: string): void {\n\t\tif (slot === this.#previousText) {\n\t\t\treturn;\n\t\t}\n\t\tthis.#previousText = slot;\n\t\tif (this.#nodeRef) {\n\t\t\tthis.#nodeRef.textContent = slot;\n\t\t} else {\n\t\t\tconst viewContainerElement: Comment | undefined = this.viewContainerRef.element.nativeElement;\n\t\t\tif (this.document && viewContainerElement?.parentNode) {\n\t\t\t\tthis.#nodeRef = viewContainerElement.parentNode.insertBefore(this.document.createTextNode(slot), viewContainerElement);\n\t\t\t}\n\t\t}\n\t}\n\n\toverride destroy(): void {\n\t\tthis.#nodeRef?.parentNode?.removeChild(this.#nodeRef);\n\t\tthis.#nodeRef = undefined;\n\t}\n}\n\nclass FunctionSlotHandler<Props extends Record<string, any>> extends SlotHandler<Props, (props: Props) => string> {\n\t#stringSlotHandler = new StringSlotHandler(this.viewContainerRef, this.document);\n\n\toverride slotChange(slot: (props: Props) => string, props: Props): void {\n\t\tthis.#stringSlotHandler.slotChange(slot(props));\n\t}\n\n\toverride propsChange(slot: (props: Props) => string, props: Props): void {\n\t\tthis.#stringSlotHandler.slotChange(slot(props));\n\t}\n\n\toverride destroy(): void {\n\t\tthis.#stringSlotHandler.destroy();\n\t}\n}\n\nclass ComponentSlotHandler<Props extends Record<string, any>> extends SlotHandler<Props, Type<unknown>> {\n\t#componentRef: ComponentRef<any> | undefined;\n\t#properties: string[];\n\n\toverride slotChange(slot: Type<unknown>, props: Props): void {\n\t\tif (this.#componentRef) {\n\t\t\tthis.destroy();\n\t\t}\n\t\tthis.#componentRef = this.viewContainerRef.createComponent(slot);\n\t\tthis.#applyProperties(props);\n\t}\n\n\t#applyProperties(props: Props, oldProperties?: Set<string>) {\n\t\tconst properties = Object.keys(props);\n\t\tthis.#properties = properties;\n\t\tconst componentRef = this.#componentRef!;\n\t\tfor (const property of properties) {\n\t\t\tcomponentRef.setInput(property, props[property]);\n\t\t\toldProperties?.delete(property);\n\t\t}\n\t}\n\n\toverride propsChange(slot: Type<unknown>, props: Props): void {\n\t\tconst oldProperties = new Set(this.#properties);\n\t\tthis.#applyProperties(props, oldProperties);\n\t\tconst componentRef = this.#componentRef!;\n\t\tfor (const property of oldProperties) {\n\t\t\tcomponentRef.setInput(property, undefined);\n\t\t}\n\t}\n\n\toverride destroy(): void {\n\t\tthis.viewContainerRef.clear();\n\t\tthis.#componentRef = undefined;\n\t}\n}\n\nclass TemplateRefSlotHandler<Props extends Record<string, any>> extends SlotHandler<Props, TemplateRef<Props>> {\n\t#viewRef: EmbeddedViewRef<Props> | undefined;\n\t#props: Props;\n\n\toverride slotChange(slot: TemplateRef<Props>, props: Props): void {\n\t\tif (this.#viewRef) {\n\t\t\tthis.destroy();\n\t\t}\n\t\tprops = {...props};\n\t\tthis.#props = props;\n\t\tthis.#viewRef = this.viewContainerRef.createEmbeddedView(slot, props);\n\t}\n\n\toverride propsChange(slot: TemplateRef<Props>, props: Props): void {\n\t\tif (this.#viewRef) {\n\t\t\tconst templateProps = this.#props;\n\t\t\tconst oldProperties = new Set<keyof Props>(Object.keys(templateProps));\n\t\t\tfor (const property of Object.keys(props) as (keyof Props)[]) {\n\t\t\t\ttemplateProps[property] = props[property];\n\t\t\t\toldProperties.delete(property);\n\t\t\t}\n\t\t\tfor (const oldProperty of oldProperties) {\n\t\t\t\tdelete templateProps[oldProperty];\n\t\t\t}\n\t\t\tthis.#viewRef.markForCheck();\n\t\t}\n\t}\n\n\toverride destroy(): void {\n\t\tthis.viewContainerRef.clear();\n\t}\n}\n\nclass ComponentTemplateSlotHandler<\n\tProps extends Record<string, any>,\n\tK extends string,\n\tT extends {[key in K]: TemplateRef<Props>}\n> extends SlotHandler<Props, ComponentTemplate<Props, K, T>> {\n\t#componentRef: ComponentRef<T> | undefined;\n\t#templateSlotHandler = new TemplateRefSlotHandler(this.viewContainerRef, this.document);\n\t#templateRef: TemplateRef<Props> | undefined;\n\n\toverride slotChange(slot: ComponentTemplate<Props, K, T>, props: Props): void {\n\t\tif (this.#componentRef) {\n\t\t\tthis.destroy();\n\t\t}\n\t\tthis.#componentRef = createComponent(slot.component, {\n\t\t\telementInjector: this.viewContainerRef.injector,\n\t\t\tenvironmentInjector: this.viewContainerRef.injector.get(EnvironmentInjector),\n\t\t});\n\t\tthis.#templateRef = this.#componentRef.instance[slot.templateProp];\n\t\tthis.#templateSlotHandler.slotChange(this.#templateRef, props);\n\t}\n\n\toverride propsChange(slot: ComponentTemplate<Props, K, T>, props: Props): void {\n\t\tthis.#templateSlotHandler.propsChange(this.#templateRef!, props);\n\t}\n\n\toverride destroy(): void {\n\t\tthis.#templateSlotHandler.destroy();\n\t\tthis.#componentRef?.destroy();\n\t\tthis.#componentRef = undefined;\n\t}\n}\n\nconst getSlotType = (value: any): undefined | {new (viewContainerRef: ViewContainerRef, document: Document): SlotHandler<any>} => {\n\tif (!value) return undefined;\n\tconst type = typeof value;\n\tswitch (type) {\n\t\tcase 'string':\n\t\t\treturn StringSlotHandler;\n\t\tcase 'function':\n\t\t\tif (reflectComponentType(value)) {\n\t\t\t\treturn ComponentSlotHandler;\n\t\t\t}\n\t\t\treturn FunctionSlotHandler;\n\t\tcase 'object':\n\t\t\tif (value instanceof TemplateRef) {\n\t\t\t\treturn TemplateRefSlotHandler;\n\t\t\t}\n\t\t\tif (value instanceof ComponentTemplate) {\n\t\t\t\treturn ComponentTemplateSlotHandler;\n\t\t\t}\n\t\t\tbreak;\n\t}\n\treturn undefined;\n};\n\n@Directive({\n\tselector: '[auSlot]',\n\tstandalone: true,\n})\nexport class SlotDirective<Props extends Record<string, any>> implements OnChanges, OnDestroy {\n\t@Input('auSlot') slot: SlotContent<Props>;\n\t@Input('auSlotProps') props: Props;\n\n\tprivate _viewContainerRef = inject(ViewContainerRef);\n\tprivate _document = inject(DOCUMENT);\n\tprivate _slotType: ReturnType<typeof getSlotType>;\n\tprivate _slotHandler: SlotHandler<Props> | undefined;\n\n\tngOnChanges(changes: SimpleChanges): void {\n\t\tconst slotChange = changes['slot'];\n\t\tconst propsChange = changes['props'];\n\t\tconst slot = this.slot;\n\t\tif (slotChange) {\n\t\t\tconst newSlotType = getSlotType(slot);\n\t\t\tif (newSlotType !== this._slotType) {\n\t\t\t\tthis._slotHandler?.destroy();\n\t\t\t\tthis._slotHandler = newSlotType ? new newSlotType(this._viewContainerRef, this._document) : undefined;\n\t\t\t\tthis._slotType = newSlotType;\n\t\t\t}\n\t\t\tthis._slotHandler?.slotChange(slot, this.props);\n\t\t} else if (propsChange) {\n\t\t\tthis._slotHandler?.propsChange(slot, this.props);\n\t\t}\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._slotHandler?.destroy();\n\t\tthis._slotHandler = undefined;\n\t}\n}\n","import type {WritableSignal} from '@amadeus-it-group/tansu';\nimport type {OnInit} from '@angular/core';\nimport {Directive, Input, TemplateRef, inject} from '@angular/core';\nimport type {SlotContent} from './slotTypes';\n\n@Directive({selector: '[auSlotDefault]', standalone: true})\nexport class SlotDefaultDirective<T extends object> implements OnInit {\n\t@Input('auSlotDefault') auSlotDefault: WritableSignal<{slotDefault?: SlotContent<T>}>;\n\n\ttemplateRef = inject(TemplateRef<T>);\n\n\tngOnInit(): void {\n\t\tthis.auSlotDefault.update((value) => ({...value, slotDefault: this.templateRef}));\n\t}\n}\n","import type {OnChanges} from '@angular/core';\nimport {DestroyRef, Directive, ElementRef, inject, Input} from '@angular/core';\nimport type {Directive as AgnosUIDirective} from '@agnos-ui/core';\n\n// All calls of the directive in this class are done asynchronously (with await 0)\n// in order to avoid ExpressionChangedAfterItHasBeenCheckedError\n// or the corresponding issue with signals (https://github.com/angular/angular/issues/50320)\n// This is relevant especially if calling the directive changes variables used in a template.\n\nexport const useDirectiveForHost = <T>(use?: AgnosUIDirective<T>, params?: T) => {\n\tconst ref = inject(ElementRef);\n\n\tlet instance = use?.(ref.nativeElement, params as T);\n\n\tasync function destroyDirectiveInstance() {\n\t\tconst oldInstance = instance;\n\t\tinstance = undefined;\n\t\tuse = undefined;\n\t\tif (oldInstance?.destroy) {\n\t\t\tawait 0;\n\t\t\toldInstance.destroy?.();\n\t\t}\n\t}\n\n\tinject(DestroyRef).onDestroy(destroyDirectiveInstance);\n\n\tasync function update(newUse?: AgnosUIDirective<T>, newParams?: T) {\n\t\tif (newUse !== use) {\n\t\t\tdestroyDirectiveInstance();\n\t\t\tuse = newUse;\n\t\t\tparams = newParams;\n\t\t\tif (newUse) {\n\t\t\t\tawait 0;\n\t\t\t\t// checks that the directive did not change while waiting:\n\t\t\t\tif (use === newUse && !instance) {\n\t\t\t\t\tinstance = use(ref.nativeElement, params as T);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (newParams != params) {\n\t\t\tparams = newParams;\n\t\t\tawait 0;\n\t\t\tinstance?.update?.(params as T);\n\t\t}\n\t}\n\n\treturn {update};\n};\n\n@Directive({\n\tstandalone: true,\n\tselector: '[auUse]',\n})\nexport class UseDirective<T> implements OnChanges {\n\t@Input('auUse')\n\tuse: AgnosUIDirective<T> | undefined;\n\n\t@Input('auUseParams')\n\tparams: T | undefined;\n\n\t#useDirective = useDirectiveForHost<T>();\n\n\tngOnChanges() {\n\t\tthis.#useDirective.update(this.use, this.params);\n\t}\n}\n","/*\n * Public API Surface of @agnos-ui/angular-headless\n */\n\nexport * from '@agnos-ui/core';\nexport * from './lib/config';\nexport type {WidgetsConfig} from './lib/config';\nexport * from './lib/slot.directive';\nexport * from './lib/slotDefault.directive';\nexport * from './lib/slotTypes';\nexport type {SlotContent} from './lib/slotTypes';\nexport * from './lib/use.directive';\nexport * from './lib/utils';\n\nimport type {PropsConfig, WidgetFactory, WidgetProps, WidgetState} from '@agnos-ui/core';\nimport {\n\tcreateAccordion as coreCreateAccordion,\n\tcreateAlert as coreCreateAlert,\n\tcreateModal as coreCreateModal,\n\tcreatePagination as coreCreatePagination,\n\tcreateProgressbar as coreCreateProgressbar,\n\tcreateRating as coreCreateRating,\n\tcreateSelect as coreCreateSelect,\n} from '@agnos-ui/core';\nimport type {AdaptSlotContentProps, AdaptWidgetSlots} from './lib/slotTypes';\n\nexport type AccordionWidget = AdaptWidgetSlots<import('@agnos-ui/core').AccordionWidget>;\nexport type AccordionProps = WidgetProps<AccordionWidget>;\nexport type AccordionState = WidgetState<AccordionWidget>;\nexport type AccordionApi = AccordionWidget['api'];\nexport type AccordionItemWidget = AdaptWidgetSlots<import('@agnos-ui/core').AccordionItemWidget>;\nexport type AccordionItemProps = WidgetProps<AccordionItemWidget>;\nexport type AccordionItemState = WidgetState<AccordionItemWidget>;\nexport type AccordionItemContext = AdaptSlotContentProps<import('@agnos-ui/core').AccordionItemContext>;\nexport const createAccordion: WidgetFactory<AccordionWidget> = coreCreateAccordion as any;\n\nexport type AlertWidget = AdaptWidgetSlots<import('@agnos-ui/core').AlertWidget>;\nexport type AlertProps = WidgetProps<AlertWidget>;\nexport type AlertState = WidgetState<AlertWidget>;\nexport type AlertContext = AdaptSlotContentProps<import('@agnos-ui/core').AlertContext>;\nexport const createAlert: WidgetFactory<AlertWidget> = coreCreateAlert as any;\n\nexport type ModalWidget = AdaptWidgetSlots<import('@agnos-ui/core').ModalWidget>;\nexport type ModalProps = WidgetProps<ModalWidget>;\nexport type ModalState = WidgetState<ModalWidget>;\nexport type ModalContext = AdaptSlotContentProps<import('@agnos-ui/core').ModalContext>;\nexport const createModal: WidgetFactory<ModalWidget> = coreCreateModal as any;\n\nexport type PaginationWidget = AdaptWidgetSlots<import('@agnos-ui/core').PaginationWidget>;\nexport type PaginationProps = WidgetProps<PaginationWidget>;\nexport type PaginationState = WidgetState<PaginationWidget>;\nexport type PaginationContext = AdaptSlotContentProps<import('@agnos-ui/core').PaginationContext>;\nexport type PaginationNumberContext = AdaptSlotContentProps<import('@agnos-ui/core').PaginationNumberContext>;\nexport const createPagination: WidgetFactory<PaginationWidget> = coreCreatePagination as any;\n\nexport type RatingWidget = AdaptWidgetSlots<import('@agnos-ui/core').RatingWidget>;\nexport type RatingProps = WidgetProps<RatingWidget>;\nexport type RatingState = WidgetState<RatingWidget>;\nexport const createRating: WidgetFactory<RatingWidget> = coreCreateRating as any;\n\nexport type SelectWidget<Item> = AdaptWidgetSlots<import('@agnos-ui/core').SelectWidget<Item>>;\nexport type SelectProps<Item> = WidgetProps<SelectWidget<Item>>;\nexport type SelectState<Item> = WidgetState<SelectWidget<Item>>;\nexport const createSelect: <Item>(propsConfig?: PropsConfig<SelectProps<Item>>) => SelectWidget<Item> = coreCreateSelect as any;\n\nexport type SliderWidget = AdaptWidgetSlots<import('@agnos-ui/core').SliderWidget>;\nexport type SliderProps = WidgetProps<SliderWidget>;\nexport type SliderState = WidgetState<SliderWidget>;\n\nexport type ProgressbarWidget = AdaptWidgetSlots<import('@agnos-ui/core').ProgressbarWidget>;\nexport type ProgressbarProps = WidgetProps<ProgressbarWidget>;\nexport type ProgressbarState = WidgetState<ProgressbarWidget>;\nexport type ProgressbarContext = AdaptSlotContentProps<import('@agnos-ui/core').ProgressbarContext>;\nexport const createProgressbar: WidgetFactory<ProgressbarWidget> = coreCreateProgressbar as any;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["coreCreateAccordion","coreCreateAlert","coreCreateModal","coreCreatePagination","coreCreateRating","coreCreateSelect","coreCreateProgressbar"],"mappings":"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"}
package/lib/config.d.ts CHANGED
@@ -32,6 +32,7 @@ export declare const widgetsConfigInjectionToken: InjectionToken<WidgetsConfigSt
32
32
  alert: Partial<AdaptPropsSlots<import("@agnos-ui/core").AlertProps>>;
33
33
  accordion: Partial<AdaptPropsSlots<import("@agnos-ui/core").AccordionProps>>;
34
34
  progressbar: Partial<AdaptPropsSlots<import("@agnos-ui/core").ProgressbarProps>>;
35
+ slider: Partial<AdaptPropsSlots<import("@agnos-ui/core").SliderProps>>;
35
36
  }>) => Partial<{
36
37
  pagination: Partial<AdaptPropsSlots<import("@agnos-ui/core").PaginationProps>>;
37
38
  rating: Partial<AdaptPropsSlots<import("@agnos-ui/core").RatingProps>>;
@@ -40,6 +41,7 @@ export declare const widgetsConfigInjectionToken: InjectionToken<WidgetsConfigSt
40
41
  alert: Partial<AdaptPropsSlots<import("@agnos-ui/core").AlertProps>>;
41
42
  accordion: Partial<AdaptPropsSlots<import("@agnos-ui/core").AccordionProps>>;
42
43
  progressbar: Partial<AdaptPropsSlots<import("@agnos-ui/core").ProgressbarProps>>;
44
+ slider: Partial<AdaptPropsSlots<import("@agnos-ui/core").SliderProps>>;
43
45
  }>) | undefined) => FactoryProvider, injectWidgetConfig: <N extends keyof import("@agnos-ui/core").WidgetsConfig>(widgetName: N) => ReadableSignal<Partial<WidgetsConfig[N]> | undefined>, injectWidgetsConfig: () => WidgetsConfigStore<WidgetsConfig>, callWidgetFactory: <W extends Widget<object, object, object, object, object>>({ factory, widgetName, defaultConfig, events, }: {
44
46
  factory: WidgetFactory<W>;
45
47
  widgetName?: keyof import("@agnos-ui/core").WidgetsConfig | null | undefined;
@@ -1,12 +1,14 @@
1
- import type { OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
1
+ import type { OnChanges } from '@angular/core';
2
2
  import type { Directive as AgnosUIDirective } from '@agnos-ui/core';
3
3
  import * as i0 from "@angular/core";
4
- export declare class UseDirective<T> implements OnChanges, OnDestroy {
4
+ export declare const useDirectiveForHost: <T>(use?: AgnosUIDirective<T> | undefined, params?: T | undefined) => {
5
+ update: (newUse?: AgnosUIDirective<T> | undefined, newParams?: T | undefined) => Promise<void>;
6
+ };
7
+ export declare class UseDirective<T> implements OnChanges {
5
8
  #private;
6
9
  use: AgnosUIDirective<T> | undefined;
7
10
  params: T | undefined;
8
- ngOnChanges(changes: SimpleChanges): Promise<void>;
9
- ngOnDestroy(): void;
11
+ ngOnChanges(): void;
10
12
  static ɵfac: i0.ɵɵFactoryDeclaration<UseDirective<any>, never>;
11
13
  static ɵdir: i0.ɵɵDirectiveDeclaration<UseDirective<any>, "[auUse]", never, { "use": { "alias": "auUse"; "required": false; }; "params": { "alias": "auUseParams"; "required": false; }; }, {}, never, never, true, never>;
12
14
  }
package/lib/utils.d.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  import type { Widget, WidgetFactory, WidgetProps } from '@agnos-ui/core';
2
2
  import type { ReadableSignal } from '@amadeus-it-group/tansu';
3
- import type { SimpleChanges, TemplateRef } from '@angular/core';
3
+ import type { Signal, SimpleChanges, TemplateRef } from '@angular/core';
4
4
  import type { SlotContent } from './slotTypes';
5
+ export declare const toAngularSignal: <T>(tansuSignal: ReadableSignal<T>) => Signal<T>;
5
6
  export type WithPatchSlots<W extends Widget> = W & {
6
7
  patchSlots(slots: {
7
8
  [K in keyof WidgetProps<W> & `slot${string}`]: WidgetProps<W>[K] extends SlotContent<infer U> ? TemplateRef<U> | undefined : never;
package/package.json CHANGED
@@ -6,12 +6,12 @@
6
6
  "@angular/core": "*"
7
7
  },
8
8
  "dependencies": {
9
- "@agnos-ui/core": "0.0.1-alpha.3",
9
+ "@agnos-ui/core": "0.0.1-alpha.4",
10
10
  "@amadeus-it-group/tansu": "0.0.23",
11
11
  "tslib": "^2.6.2"
12
12
  },
13
13
  "sideEffects": false,
14
- "version": "0.0.1-alpha.3",
14
+ "version": "0.0.1-alpha.4",
15
15
  "module": "fesm2022/agnos-ui-angular-headless.mjs",
16
16
  "typings": "index.d.ts",
17
17
  "exports": {
@@ -42,6 +42,7 @@
42
42
  "alert",
43
43
  "modal",
44
44
  "pagination",
45
- "rating"
45
+ "rating",
46
+ "slider"
46
47
  ]
47
48
  }
package/public-api.d.ts CHANGED
@@ -1,14 +1,14 @@
1
1
  export * from '@agnos-ui/core';
2
+ export * from './lib/config';
3
+ export type { WidgetsConfig } from './lib/config';
2
4
  export * from './lib/slot.directive';
3
5
  export * from './lib/slotDefault.directive';
4
- export * from './lib/use.directive';
5
6
  export * from './lib/slotTypes';
7
+ export type { SlotContent } from './lib/slotTypes';
8
+ export * from './lib/use.directive';
6
9
  export * from './lib/utils';
7
- export * from './lib/config';
8
10
  import type { PropsConfig, WidgetFactory, WidgetProps, WidgetState } from '@agnos-ui/core';
9
11
  import type { AdaptSlotContentProps, AdaptWidgetSlots } from './lib/slotTypes';
10
- export type { SlotContent } from './lib/slotTypes';
11
- export type { WidgetsConfig } from './lib/config';
12
12
  export type AccordionWidget = AdaptWidgetSlots<import('@agnos-ui/core').AccordionWidget>;
13
13
  export type AccordionProps = WidgetProps<AccordionWidget>;
14
14
  export type AccordionState = WidgetState<AccordionWidget>;
@@ -42,6 +42,9 @@ export type SelectWidget<Item> = AdaptWidgetSlots<import('@agnos-ui/core').Selec
42
42
  export type SelectProps<Item> = WidgetProps<SelectWidget<Item>>;
43
43
  export type SelectState<Item> = WidgetState<SelectWidget<Item>>;
44
44
  export declare const createSelect: <Item>(propsConfig?: PropsConfig<SelectProps<Item>>) => SelectWidget<Item>;
45
+ export type SliderWidget = AdaptWidgetSlots<import('@agnos-ui/core').SliderWidget>;
46
+ export type SliderProps = WidgetProps<SliderWidget>;
47
+ export type SliderState = WidgetState<SliderWidget>;
45
48
  export type ProgressbarWidget = AdaptWidgetSlots<import('@agnos-ui/core').ProgressbarWidget>;
46
49
  export type ProgressbarProps = WidgetProps<ProgressbarWidget>;
47
50
  export type ProgressbarState = WidgetState<ProgressbarWidget>;