@sisense/sdk-ui-angular 2.22.0 → 2.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/dist/esm2020/ai/lib/components/chatbot.component.mjs +3 -2
  2. package/dist/esm2020/ai/lib/components/get-nlg-insights.component.mjs +3 -2
  3. package/dist/esm2020/lib/component-wrapper-helpers/context-connectors.mjs +29 -2
  4. package/dist/esm2020/lib/components/charts/chart.component.mjs +3 -2
  5. package/dist/esm2020/lib/components/charts/pivot-table.component.mjs +3 -2
  6. package/dist/esm2020/lib/components/charts/table.component.mjs +3 -2
  7. package/dist/esm2020/lib/components/context-menu.component.mjs +3 -2
  8. package/dist/esm2020/lib/components/dashboard/dashboard-by-id.component.mjs +3 -2
  9. package/dist/esm2020/lib/components/dashboard/dashboard.component.mjs +3 -2
  10. package/dist/esm2020/lib/components/drilldown-breadcrumbs.component.mjs +3 -2
  11. package/dist/esm2020/lib/components/filters/criteria-filter-tile.component.mjs +3 -2
  12. package/dist/esm2020/lib/components/filters/date-range-filter-tile.component.mjs +3 -2
  13. package/dist/esm2020/lib/components/filters/filter-tile.component.mjs +3 -2
  14. package/dist/esm2020/lib/components/filters/member-filter-tile.component.mjs +3 -2
  15. package/dist/esm2020/lib/components/filters/relative-date-filter-tile.component.mjs +3 -2
  16. package/dist/esm2020/lib/components/widgets/chart-widget.component.mjs +3 -2
  17. package/dist/esm2020/lib/components/widgets/drilldown-widget.component.mjs +3 -2
  18. package/dist/esm2020/lib/components/widgets/pivot-table-widget.component.mjs +3 -2
  19. package/dist/esm2020/lib/components/widgets/table-widget.component.mjs +3 -2
  20. package/dist/esm2020/lib/components/widgets/widget-by-id.component.mjs +3 -2
  21. package/dist/esm2020/lib/components/widgets/widget.component.mjs +3 -2
  22. package/dist/esm2020/lib/services/dashboard.service.mjs +6 -3
  23. package/dist/esm2020/lib/services/filter.service.mjs +3 -2
  24. package/dist/esm2020/lib/services/formula.service.mjs +3 -2
  25. package/dist/esm2020/lib/services/query.service.mjs +4 -2
  26. package/dist/esm2020/lib/services/sisense-context.service.mjs +2 -2
  27. package/dist/esm2020/lib/services/widget.service.mjs +3 -2
  28. package/dist/esm2020/public-api.mjs +2 -2
  29. package/dist/esm2020/version.mjs +2 -2
  30. package/dist/fesm2015/sisense-sdk-ui-angular-ai.mjs +3 -1
  31. package/dist/fesm2015/sisense-sdk-ui-angular-ai.mjs.map +1 -1
  32. package/dist/fesm2015/sisense-sdk-ui-angular.mjs +60 -5
  33. package/dist/fesm2015/sisense-sdk-ui-angular.mjs.map +1 -1
  34. package/dist/fesm2020/sisense-sdk-ui-angular-ai.mjs +3 -1
  35. package/dist/fesm2020/sisense-sdk-ui-angular-ai.mjs.map +1 -1
  36. package/dist/fesm2020/sisense-sdk-ui-angular.mjs +58 -5
  37. package/dist/fesm2020/sisense-sdk-ui-angular.mjs.map +1 -1
  38. package/dist/lib/component-wrapper-helpers/context-connectors.d.ts +8 -1
  39. package/dist/package.json +1 -1
  40. package/dist/public-api.d.ts +1 -1
  41. package/dist/version.d.ts +1 -1
  42. package/package.json +4 -4
@@ -128,7 +128,7 @@ export class SisenseContextService {
128
128
  };
129
129
  this.isInitialized = true;
130
130
  try {
131
- const app = await createClientApplication(this.config);
131
+ const app = await createClientApplication({ ...this.config, packageName: 'sdk-ui-angular' });
132
132
  this.app$.next({ app });
133
133
  }
134
134
  catch (error) {
@@ -149,4 +149,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
149
149
  type: Inject,
150
150
  args: [SISENSE_CONTEXT_CONFIG_TOKEN]
151
151
  }] }]; } });
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lzZW5zZS1jb250ZXh0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3Npc2Vuc2UtY29udGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0UsT0FBTyxFQUFxQix1QkFBdUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFjLEVBQUUsRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBbUI3RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQkc7QUFDSCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLGNBQWMsQ0FDNUQsMENBQTBDLENBQzNDLENBQUM7QUFFRjs7Ozs7O0dBTUc7QUFJSCxNQUFNLE9BQU8scUJBQXFCO0lBdUJoQyxZQUNvRCxvQkFBMkM7UUFSL0Y7Ozs7V0FJRztRQUNILGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBS3BCLHFFQUFxRTtRQUNyRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWpDLElBQUksb0JBQW9CLEVBQUU7WUFDeEIsOENBQThDO1lBQzlDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1NBQzNDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7Ozs7OztPQVdHO0lBQ0gsS0FBSyxDQUFDLE1BQU07UUFDVixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7U0FDdkQ7UUFFRCxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV2RCxJQUFJLEtBQUssRUFBRTtZQUNULE1BQU0sS0FBSyxDQUFDO1NBQ2I7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7OztPQWFHO0lBQ0gsT0FBTztRQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3ZCLE9BQU8sTUFBTSxDQUNYLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxFQUFXLENBQUMsRUFDdkUsSUFBSSxDQUFDLElBQUksQ0FDVixDQUFDO1NBQ0g7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7O09Ba0JHO0lBQ0gsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUE0QjtRQUMxQyxJQUFJLENBQUMsTUFBTSxHQUFHO1lBQ1osR0FBRyxNQUFNO1lBQ1QsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLGlCQUFpQixJQUFJLElBQUk7U0FDcEQsQ0FBQztRQUNGLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBRTFCLElBQUk7WUFDRixNQUFNLEdBQUcsR0FBRyxNQUFNLHVCQUF1QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBVyxDQUFDLENBQUM7U0FDbEM7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQWMsRUFBVyxDQUFDLENBQUM7U0FDcEQ7SUFDSCxDQUFDOzttSEE5SFUscUJBQXFCLGtCQXdCViw0QkFBNEI7dUhBeEJ2QyxxQkFBcUIsY0FGcEIsTUFBTTs0RkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkF5QkksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBTaXNlbnNlQ29udGV4dFByb3ZpZGVyUHJvcHMgYXMgU2lzZW5zZUNvbnRleHRDb25maWcgfSBmcm9tICdAc2lzZW5zZS9zZGstdWktcHJlYWN0JztcbmltcG9ydCB7IENsaWVudEFwcGxpY2F0aW9uLCBjcmVhdGVDbGllbnRBcHBsaWNhdGlvbiB9IGZyb20gJ0BzaXNlbnNlL3Nkay11aS1wcmVhY3QnO1xuaW1wb3J0IHsgY29uY2F0LCBmaXJzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSwgb2YsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IHsgdHlwZSBTaXNlbnNlQ29udGV4dENvbmZpZyB9O1xuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIHN0YXRlIG9mIHRoZSBTaXNlbnNlIGNsaWVudCBhcHBsaWNhdGlvbi5cbiAqL1xudHlwZSBBcHBTdGF0ZSA9XG4gIHwge1xuICAgICAgLyoqIFN1Y2Nlc3NmdWxseSBpbml0aWFsaXplZCBjbGllbnQgYXBwbGljYXRpb24gKi9cbiAgICAgIHJlYWRvbmx5IGFwcDogQ2xpZW50QXBwbGljYXRpb247XG4gICAgICByZWFkb25seSBlcnJvcj86IG5ldmVyO1xuICAgIH1cbiAgfCB7XG4gICAgICAvKiogRXJyb3IgdGhhdCBvY2N1cnJlZCBkdXJpbmcgaW5pdGlhbGl6YXRpb24gb3IgY29ubmVjdGlvbiAqL1xuICAgICAgcmVhZG9ubHkgZXJyb3I6IEVycm9yO1xuICAgICAgcmVhZG9ubHkgYXBwPzogbmV2ZXI7XG4gICAgfTtcblxuLyoqXG4gKiBUb2tlbiB1c2VkIHRvIGluamVjdCB7QGxpbmsgU2lzZW5zZUNvbnRleHRDb25maWd9IGludG8geW91ciBhcHBsaWNhdGlvblxuICpcbiAqIEBleGFtcGxlXG4gKiBFeGFtcGxlIG9mIGltcG9ydGluZyB7QGxpbmsgU2RrVWlNb2R1bGV9IGFuZCBpbmplY3Rpbmcge0BsaW5rIFNpc2Vuc2VDb250ZXh0Q29uZmlnfSBpbnRvIHlvdXIgYXBwbGljYXRpb246XG4gKlxuICogYGBgdHNcbiAqIGV4cG9ydCBjb25zdCBTSVNFTlNFX0NPTlRFWFRfQ09ORklHOiBTaXNlbnNlQ29udGV4dENvbmZpZyA9IHtcbiAqICAgdXJsOiBcIjxpbnN0YW5jZSB1cmw+XCIsIC8vIHJlcGxhY2Ugd2l0aCB0aGUgVVJMIG9mIHlvdXIgU2lzZW5zZSBpbnN0YW5jZVxuICogICB0b2tlbjogXCI8YXBpIHRva2VuPlwiLCAvLyByZXBsYWNlIHdpdGggdGhlIEFQSSB0b2tlbiBvZiB5b3VyIHVzZXIgYWNjb3VudFxuICogICBkZWZhdWx0RGF0YVNvdXJjZTogRE0uRGF0YVNvdXJjZSxcbiAqIH07XG4gKlxuICogQE5nTW9kdWxlKHtcbiAqICAgaW1wb3J0czogW1xuICogICAgIEJyb3dzZXJNb2R1bGUsXG4gKiAgICAgU2RrVWlNb2R1bGUsXG4gKiAgIF0sXG4gKiAgIGRlY2xhcmF0aW9uczogW0FwcENvbXBvbmVudF0sXG4gKiAgIHByb3ZpZGVyczogW1xuICogICAgIHsgcHJvdmlkZTogU0lTRU5TRV9DT05URVhUX0NPTkZJR19UT0tFTiwgdXNlVmFsdWU6IFNJU0VOU0VfQ09OVEVYVF9DT05GSUcgfSxcbiAqICAgXSxcbiAqICAgYm9vdHN0cmFwOiBbQXBwQ29tcG9uZW50XSxcbiAqIH0pXG4gKiBgYGBcbiAqIEBncm91cCBDb250ZXh0c1xuICovXG5leHBvcnQgY29uc3QgU0lTRU5TRV9DT05URVhUX0NPTkZJR19UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxTaXNlbnNlQ29udGV4dENvbmZpZz4oXG4gICdQcm9wcyBmb3IgY29ubmVjdGluZyB0byBTaXNlbnNlIGluc3RhbmNlJyxcbik7XG5cbi8qKlxuICogU2VydmljZSBmb3IgbWFuYWdpbmcgU2lzZW5zZSBGdXNpb24gY29udGV4dCBhbmQgY2xpZW50IGFwcGxpY2F0aW9uIGxpZmVjeWNsZS5cbiAqXG4gKiBUaGlzIHNlcnZpY2UgcHJvdmlkZXMgYSBjZW50cmFsaXplZCB3YXkgdG8gY29uZmlndXJlIGFuZCBtYW5hZ2UgdGhlIGNvbm5lY3Rpb24gdG8gYSBTaXNlbnNlIGluc3RhbmNlIHdpdGhpbiBBbmd1bGFyIGFwcGxpY2F0aW9ucy5cbiAqXG4gKiBAZ3JvdXAgQ29udGV4dHNcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNpc2Vuc2VDb250ZXh0U2VydmljZSB7XG4gIC8qKlxuICAgKiBSZWFjdGl2ZSBzdHJlYW0gb2YgYXBwbGljYXRpb24gc3RhdGUgY2hhbmdlcy5cbiAgICpcbiAgICogVXNlcyBSZXBsYXlTdWJqZWN0IHRvIGVuc3VyZSBsYXRlIHN1YnNjcmliZXJzIHJlY2VpdmUgdGhlIGxhdGVzdCBzdGF0ZS5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgYXBwJDogUmVwbGF5U3ViamVjdDxBcHBTdGF0ZT47XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gb2JqZWN0IGZvciB0aGUgU2lzZW5zZSBjb25uZWN0aW9uLlxuICAgKlxuICAgKiBUaGlzIGlzIHNldCBvbmNlIGR1cmluZyBpbml0aWFsaXphdGlvbiBhbmQgcmVtYWlucyByZWFkb25seSB0aGVyZWFmdGVyXG4gICAqIHRvIHByZXZlbnQgYWNjaWRlbnRhbCBtdXRhdGlvbnMgdGhhdCBjb3VsZCBsZWFkIHRvIGluY29uc2lzdGVudCBzdGF0ZS5cbiAgICovXG4gIHByaXZhdGUgY29uZmlnPzogU2lzZW5zZUNvbnRleHRDb25maWc7XG5cbiAgLyoqXG4gICAqIEZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBzZXJ2aWNlIGhhcyBiZWVuIGluaXRpYWxpemVkIHdpdGggY29uZmlndXJhdGlvbi5cbiAgICpcbiAgICogQGludGVybmFsXG4gICAqL1xuICBpc0luaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChTSVNFTlNFX0NPTlRFWFRfQ09ORklHX1RPS0VOKSBzaXNlbnNlQ29udGV4dENvbmZpZz86IFNpc2Vuc2VDb250ZXh0Q29uZmlnLFxuICApIHtcbiAgICAvLyBUaGUgYnVmZmVyIHNpemUgb2YgMSBlbnN1cmVzIG9ubHkgdGhlIG1vc3QgcmVjZW50IHN0YXRlIGlzIGNhY2hlZC5cbiAgICB0aGlzLmFwcCQgPSBuZXcgUmVwbGF5U3ViamVjdCgxKTtcblxuICAgIGlmIChzaXNlbnNlQ29udGV4dENvbmZpZykge1xuICAgICAgLy8gQXV0by1jb25maWd1cmUgaWYgY29uZmlnIGlzIHByb3ZpZGVkIHZpYSBESVxuICAgICAgdm9pZCB0aGlzLnNldENvbmZpZyhzaXNlbnNlQ29udGV4dENvbmZpZyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyB0aGUgaW5pdGlhbGl6ZWQgU2lzZW5zZSBjbGllbnQgYXBwbGljYXRpb24uXG4gICAqXG4gICAqIFRoaXMgbWV0aG9kIHByb3ZpZGVzIGFjY2VzcyB0byB0aGUgY2xpZW50IGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICAgKiBJdCB3YWl0cyBmb3IgdGhlIGxhdGVzdCBzdGF0ZSBmcm9tIHRoZSByZWFjdGl2ZSBzdHJlYW0gYW5kIGVpdGhlciByZXR1cm5zXG4gICAqIHRoZSBhcHBsaWNhdGlvbiBvciB0aHJvd3MgdGhlIGVycm9yIGlmIGluaXRpYWxpemF0aW9uIGZhaWxlZC5cbiAgICpcbiAgICogQHJldHVybnMgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIHRoZSBDbGllbnRBcHBsaWNhdGlvbiBpbnN0YW5jZVxuICAgKiBAdGhyb3dzIHtFcnJvcn0gV2hlbiB0aGUgc2VydmljZSBpcyBub3QgaW5pdGlhbGl6ZWQgb3Igd2hlbiBhcHBsaWNhdGlvbiBjcmVhdGlvbiBmYWlsZWRcbiAgICpcbiAgICogQGludGVybmFsXG4gICAqL1xuICBhc3luYyBnZXRBcHAoKTogUHJvbWlzZTxDbGllbnRBcHBsaWNhdGlvbj4ge1xuICAgIGlmICghdGhpcy5pc0luaXRpYWxpemVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Npc2Vuc2UgY29udGV4dCBpcyBub3QgaW5pdGlhbGl6ZWQnKTtcbiAgICB9XG5cbiAgICBjb25zdCB7IGFwcCwgZXJyb3IgfSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuYXBwJCk7XG5cbiAgICBpZiAoZXJyb3IpIHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgICByZXR1cm4gYXBwO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb3ZpZGVzIHJlYWN0aXZlIGFjY2VzcyB0byB0aGUgU2lzZW5zZSBhcHBsaWNhdGlvbiBzdGF0ZS5cbiAgICpcbiAgICogVGhpcyBtZXRob2QgcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGN1cnJlbnQgYXBwbGljYXRpb24gc3RhdGVcbiAgICogYW5kIGFsbCBzdWJzZXF1ZW50IHN0YXRlIGNoYW5nZXMuIEl0J3MgdGhlIHByZWZlcnJlZCB3YXkgdG8gcmVhY3RpdmVseVxuICAgKiBoYW5kbGUgYXBwbGljYXRpb24gbGlmZWN5Y2xlIGV2ZW50cyBpbiBBbmd1bGFyIGNvbXBvbmVudHMuXG4gICAqXG4gICAqIElmIHRoZSBzZXJ2aWNlIGlzIG5vdCBpbml0aWFsaXplZCwgaXQgaW1tZWRpYXRlbHkgZW1pdHMgYW4gZXJyb3Igc3RhdGVcbiAgICogZm9sbG93ZWQgYnkgYW55IGZ1dHVyZSBzdGF0ZSBjaGFuZ2VzIG9uY2UgaW5pdGlhbGl6YXRpb24gb2NjdXJzLlxuICAgKlxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIHN0cmVhbSBvZiBBcHBTdGF0ZSBjaGFuZ2VzXG4gICAqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZ2V0QXBwJCgpOiBPYnNlcnZhYmxlPEFwcFN0YXRlPiB7XG4gICAgaWYgKCF0aGlzLmlzSW5pdGlhbGl6ZWQpIHtcbiAgICAgIHJldHVybiBjb25jYXQoXG4gICAgICAgIG9mKHsgZXJyb3I6IG5ldyBFcnJvcignU2lzZW5zZSBjb250ZXh0IGlzIG5vdCBpbml0aWFsaXplZCcpIH0gYXMgY29uc3QpLFxuICAgICAgICB0aGlzLmFwcCQsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmFwcCQ7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSBjdXJyZW50IHtAbGluayBTaXNlbnNlQ29udGV4dENvbmZpZ30gY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IGNvbmZpZ3VyYXRpb24gb2JqZWN0LCBvciB1bmRlZmluZWQgaWYgbm90IHlldCBjb25maWd1cmVkXG4gICAqL1xuICBnZXRDb25maWcoKTogU2lzZW5zZUNvbnRleHRDb25maWcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZztcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25maWd1cmVzIGFuZCBpbml0aWFsaXplcyB0aGUgU2lzZW5zZSBjb250ZXh0IHdpdGggdGhlIHByb3ZpZGVkIHNldHRpbmdzLlxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCBhbGxvd3MgdG8gZXN0YWJsaXNoIGEgY29ubmVjdGlvbiB0byBhIFNpc2Vuc2UgaW5zdGFuY2UuXG4gICAqIEl0IGNvdWxkIGJlIHVzZWQgYXMgcnVudGltZSBhbHRlcm5hdGl2ZSB0byB7QGxpbmsgU0lTRU5TRV9DT05URVhUX0NPTkZJR19UT0tFTn0gYmFzZWQgY29uZmlndXJhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIGNvbmZpZyAtIENvbmZpZ3VyYXRpb24gb2JqZWN0XG4gICAqIEByZXR1cm5zIFByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIGNvbmZpZ3VyYXRpb24gaXMgY29tcGxldGUgKHN1Y2Nlc3Mgb3IgZmFpbHVyZSlcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogQmFzaWMgY29uZmlndXJhdGlvbjpcbiAgICogYGBgdHNcbiAgICogYXdhaXQgU2lzZW5zZUNvbnRleHRTZXJ2aWNlLnNldENvbmZpZyh7XG4gICAqICAgdXJsOiAnaHR0cHM6Ly95b3VyLXNpc2Vuc2UtaW5zdGFuY2UuY29tJyxcbiAgICogICB0b2tlbjogJ3lvdXItYXBpLXRva2VuJyxcbiAgICogICBkZWZhdWx0RGF0YVNvdXJjZTogJ1NhbXBsZSBFQ29tbWVyY2UnXG4gICAqIH0pO1xuICAgKiBgYGBcbiAgICovXG4gIGFzeW5jIHNldENvbmZpZyhjb25maWc6IFNpc2Vuc2VDb250ZXh0Q29uZmlnKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5jb25maWcgPSB7XG4gICAgICAuLi5jb25maWcsXG4gICAgICBzaG93UnVudGltZUVycm9yczogY29uZmlnLnNob3dSdW50aW1lRXJyb3JzID8/IHRydWUsXG4gICAgfTtcbiAgICB0aGlzLmlzSW5pdGlhbGl6ZWQgPSB0cnVlO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGFwcCA9IGF3YWl0IGNyZWF0ZUNsaWVudEFwcGxpY2F0aW9uKHRoaXMuY29uZmlnKTtcbiAgICAgIHRoaXMuYXBwJC5uZXh0KHsgYXBwIH0gYXMgY29uc3QpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLmFwcCQubmV4dCh7IGVycm9yOiBlcnJvciBhcyBFcnJvciB9IGFzIGNvbnN0KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lzZW5zZS1jb250ZXh0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3Npc2Vuc2UtY29udGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0UsT0FBTyxFQUFxQix1QkFBdUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFjLEVBQUUsRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBbUI3RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQkc7QUFDSCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLGNBQWMsQ0FDNUQsMENBQTBDLENBQzNDLENBQUM7QUFFRjs7Ozs7O0dBTUc7QUFJSCxNQUFNLE9BQU8scUJBQXFCO0lBdUJoQyxZQUNvRCxvQkFBMkM7UUFSL0Y7Ozs7V0FJRztRQUNILGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBS3BCLHFFQUFxRTtRQUNyRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWpDLElBQUksb0JBQW9CLEVBQUU7WUFDeEIsOENBQThDO1lBQzlDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1NBQzNDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7Ozs7OztPQVdHO0lBQ0gsS0FBSyxDQUFDLE1BQU07UUFDVixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7U0FDdkQ7UUFFRCxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV2RCxJQUFJLEtBQUssRUFBRTtZQUNULE1BQU0sS0FBSyxDQUFDO1NBQ2I7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7OztPQWFHO0lBQ0gsT0FBTztRQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3ZCLE9BQU8sTUFBTSxDQUNYLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxFQUFXLENBQUMsRUFDdkUsSUFBSSxDQUFDLElBQUksQ0FDVixDQUFDO1NBQ0g7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7O09Ba0JHO0lBQ0gsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUE0QjtRQUMxQyxJQUFJLENBQUMsTUFBTSxHQUFHO1lBQ1osR0FBRyxNQUFNO1lBQ1QsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLGlCQUFpQixJQUFJLElBQUk7U0FDcEQsQ0FBQztRQUNGLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBRTFCLElBQUk7WUFDRixNQUFNLEdBQUcsR0FBRyxNQUFNLHVCQUF1QixDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7WUFDN0YsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQVcsQ0FBQyxDQUFDO1NBQ2xDO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFjLEVBQVcsQ0FBQyxDQUFDO1NBQ3BEO0lBQ0gsQ0FBQzs7bUhBOUhVLHFCQUFxQixrQkF3QlYsNEJBQTRCO3VIQXhCdkMscUJBQXFCLGNBRnBCLE1BQU07NEZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBeUJJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgU2lzZW5zZUNvbnRleHRQcm92aWRlclByb3BzIGFzIFNpc2Vuc2VDb250ZXh0Q29uZmlnIH0gZnJvbSAnQHNpc2Vuc2Uvc2RrLXVpLXByZWFjdCc7XG5pbXBvcnQgeyBDbGllbnRBcHBsaWNhdGlvbiwgY3JlYXRlQ2xpZW50QXBwbGljYXRpb24gfSBmcm9tICdAc2lzZW5zZS9zZGstdWktcHJlYWN0JztcbmltcG9ydCB7IGNvbmNhdCwgZmlyc3RWYWx1ZUZyb20sIE9ic2VydmFibGUsIG9mLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCB7IHR5cGUgU2lzZW5zZUNvbnRleHRDb25maWcgfTtcblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBzdGF0ZSBvZiB0aGUgU2lzZW5zZSBjbGllbnQgYXBwbGljYXRpb24uXG4gKi9cbnR5cGUgQXBwU3RhdGUgPVxuICB8IHtcbiAgICAgIC8qKiBTdWNjZXNzZnVsbHkgaW5pdGlhbGl6ZWQgY2xpZW50IGFwcGxpY2F0aW9uICovXG4gICAgICByZWFkb25seSBhcHA6IENsaWVudEFwcGxpY2F0aW9uO1xuICAgICAgcmVhZG9ubHkgZXJyb3I/OiBuZXZlcjtcbiAgICB9XG4gIHwge1xuICAgICAgLyoqIEVycm9yIHRoYXQgb2NjdXJyZWQgZHVyaW5nIGluaXRpYWxpemF0aW9uIG9yIGNvbm5lY3Rpb24gKi9cbiAgICAgIHJlYWRvbmx5IGVycm9yOiBFcnJvcjtcbiAgICAgIHJlYWRvbmx5IGFwcD86IG5ldmVyO1xuICAgIH07XG5cbi8qKlxuICogVG9rZW4gdXNlZCB0byBpbmplY3Qge0BsaW5rIFNpc2Vuc2VDb250ZXh0Q29uZmlnfSBpbnRvIHlvdXIgYXBwbGljYXRpb25cbiAqXG4gKiBAZXhhbXBsZVxuICogRXhhbXBsZSBvZiBpbXBvcnRpbmcge0BsaW5rIFNka1VpTW9kdWxlfSBhbmQgaW5qZWN0aW5nIHtAbGluayBTaXNlbnNlQ29udGV4dENvbmZpZ30gaW50byB5b3VyIGFwcGxpY2F0aW9uOlxuICpcbiAqIGBgYHRzXG4gKiBleHBvcnQgY29uc3QgU0lTRU5TRV9DT05URVhUX0NPTkZJRzogU2lzZW5zZUNvbnRleHRDb25maWcgPSB7XG4gKiAgIHVybDogXCI8aW5zdGFuY2UgdXJsPlwiLCAvLyByZXBsYWNlIHdpdGggdGhlIFVSTCBvZiB5b3VyIFNpc2Vuc2UgaW5zdGFuY2VcbiAqICAgdG9rZW46IFwiPGFwaSB0b2tlbj5cIiwgLy8gcmVwbGFjZSB3aXRoIHRoZSBBUEkgdG9rZW4gb2YgeW91ciB1c2VyIGFjY291bnRcbiAqICAgZGVmYXVsdERhdGFTb3VyY2U6IERNLkRhdGFTb3VyY2UsXG4gKiB9O1xuICpcbiAqIEBOZ01vZHVsZSh7XG4gKiAgIGltcG9ydHM6IFtcbiAqICAgICBCcm93c2VyTW9kdWxlLFxuICogICAgIFNka1VpTW9kdWxlLFxuICogICBdLFxuICogICBkZWNsYXJhdGlvbnM6IFtBcHBDb21wb25lbnRdLFxuICogICBwcm92aWRlcnM6IFtcbiAqICAgICB7IHByb3ZpZGU6IFNJU0VOU0VfQ09OVEVYVF9DT05GSUdfVE9LRU4sIHVzZVZhbHVlOiBTSVNFTlNFX0NPTlRFWFRfQ09ORklHIH0sXG4gKiAgIF0sXG4gKiAgIGJvb3RzdHJhcDogW0FwcENvbXBvbmVudF0sXG4gKiB9KVxuICogYGBgXG4gKiBAZ3JvdXAgQ29udGV4dHNcbiAqL1xuZXhwb3J0IGNvbnN0IFNJU0VOU0VfQ09OVEVYVF9DT05GSUdfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48U2lzZW5zZUNvbnRleHRDb25maWc+KFxuICAnUHJvcHMgZm9yIGNvbm5lY3RpbmcgdG8gU2lzZW5zZSBpbnN0YW5jZScsXG4pO1xuXG4vKipcbiAqIFNlcnZpY2UgZm9yIG1hbmFnaW5nIFNpc2Vuc2UgRnVzaW9uIGNvbnRleHQgYW5kIGNsaWVudCBhcHBsaWNhdGlvbiBsaWZlY3ljbGUuXG4gKlxuICogVGhpcyBzZXJ2aWNlIHByb3ZpZGVzIGEgY2VudHJhbGl6ZWQgd2F5IHRvIGNvbmZpZ3VyZSBhbmQgbWFuYWdlIHRoZSBjb25uZWN0aW9uIHRvIGEgU2lzZW5zZSBpbnN0YW5jZSB3aXRoaW4gQW5ndWxhciBhcHBsaWNhdGlvbnMuXG4gKlxuICogQGdyb3VwIENvbnRleHRzXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTaXNlbnNlQ29udGV4dFNlcnZpY2Uge1xuICAvKipcbiAgICogUmVhY3RpdmUgc3RyZWFtIG9mIGFwcGxpY2F0aW9uIHN0YXRlIGNoYW5nZXMuXG4gICAqXG4gICAqIFVzZXMgUmVwbGF5U3ViamVjdCB0byBlbnN1cmUgbGF0ZSBzdWJzY3JpYmVycyByZWNlaXZlIHRoZSBsYXRlc3Qgc3RhdGUuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGFwcCQ6IFJlcGxheVN1YmplY3Q8QXBwU3RhdGU+O1xuXG4gIC8qKlxuICAgKiBDb25maWd1cmF0aW9uIG9iamVjdCBmb3IgdGhlIFNpc2Vuc2UgY29ubmVjdGlvbi5cbiAgICpcbiAgICogVGhpcyBpcyBzZXQgb25jZSBkdXJpbmcgaW5pdGlhbGl6YXRpb24gYW5kIHJlbWFpbnMgcmVhZG9ubHkgdGhlcmVhZnRlclxuICAgKiB0byBwcmV2ZW50IGFjY2lkZW50YWwgbXV0YXRpb25zIHRoYXQgY291bGQgbGVhZCB0byBpbmNvbnNpc3RlbnQgc3RhdGUuXG4gICAqL1xuICBwcml2YXRlIGNvbmZpZz86IFNpc2Vuc2VDb250ZXh0Q29uZmlnO1xuXG4gIC8qKlxuICAgKiBGbGFnIGluZGljYXRpbmcgd2hldGhlciB0aGUgc2VydmljZSBoYXMgYmVlbiBpbml0aWFsaXplZCB3aXRoIGNvbmZpZ3VyYXRpb24uXG4gICAqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgaXNJbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoU0lTRU5TRV9DT05URVhUX0NPTkZJR19UT0tFTikgc2lzZW5zZUNvbnRleHRDb25maWc/OiBTaXNlbnNlQ29udGV4dENvbmZpZyxcbiAgKSB7XG4gICAgLy8gVGhlIGJ1ZmZlciBzaXplIG9mIDEgZW5zdXJlcyBvbmx5IHRoZSBtb3N0IHJlY2VudCBzdGF0ZSBpcyBjYWNoZWQuXG4gICAgdGhpcy5hcHAkID0gbmV3IFJlcGxheVN1YmplY3QoMSk7XG5cbiAgICBpZiAoc2lzZW5zZUNvbnRleHRDb25maWcpIHtcbiAgICAgIC8vIEF1dG8tY29uZmlndXJlIGlmIGNvbmZpZyBpcyBwcm92aWRlZCB2aWEgRElcbiAgICAgIHZvaWQgdGhpcy5zZXRDb25maWcoc2lzZW5zZUNvbnRleHRDb25maWcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgdGhlIGluaXRpYWxpemVkIFNpc2Vuc2UgY2xpZW50IGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCBwcm92aWRlcyBhY2Nlc3MgdG8gdGhlIGNsaWVudCBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAgICogSXQgd2FpdHMgZm9yIHRoZSBsYXRlc3Qgc3RhdGUgZnJvbSB0aGUgcmVhY3RpdmUgc3RyZWFtIGFuZCBlaXRoZXIgcmV0dXJuc1xuICAgKiB0aGUgYXBwbGljYXRpb24gb3IgdGhyb3dzIHRoZSBlcnJvciBpZiBpbml0aWFsaXphdGlvbiBmYWlsZWQuXG4gICAqXG4gICAqIEByZXR1cm5zIFByb21pc2UgdGhhdCByZXNvbHZlcyB0byB0aGUgQ2xpZW50QXBwbGljYXRpb24gaW5zdGFuY2VcbiAgICogQHRocm93cyB7RXJyb3J9IFdoZW4gdGhlIHNlcnZpY2UgaXMgbm90IGluaXRpYWxpemVkIG9yIHdoZW4gYXBwbGljYXRpb24gY3JlYXRpb24gZmFpbGVkXG4gICAqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgYXN5bmMgZ2V0QXBwKCk6IFByb21pc2U8Q2xpZW50QXBwbGljYXRpb24+IHtcbiAgICBpZiAoIXRoaXMuaXNJbml0aWFsaXplZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTaXNlbnNlIGNvbnRleHQgaXMgbm90IGluaXRpYWxpemVkJyk7XG4gICAgfVxuXG4gICAgY29uc3QgeyBhcHAsIGVycm9yIH0gPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmFwcCQpO1xuXG4gICAgaWYgKGVycm9yKSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gICAgcmV0dXJuIGFwcDtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm92aWRlcyByZWFjdGl2ZSBhY2Nlc3MgdG8gdGhlIFNpc2Vuc2UgYXBwbGljYXRpb24gc3RhdGUuXG4gICAqXG4gICAqIFRoaXMgbWV0aG9kIHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBjdXJyZW50IGFwcGxpY2F0aW9uIHN0YXRlXG4gICAqIGFuZCBhbGwgc3Vic2VxdWVudCBzdGF0ZSBjaGFuZ2VzLiBJdCdzIHRoZSBwcmVmZXJyZWQgd2F5IHRvIHJlYWN0aXZlbHlcbiAgICogaGFuZGxlIGFwcGxpY2F0aW9uIGxpZmVjeWNsZSBldmVudHMgaW4gQW5ndWxhciBjb21wb25lbnRzLlxuICAgKlxuICAgKiBJZiB0aGUgc2VydmljZSBpcyBub3QgaW5pdGlhbGl6ZWQsIGl0IGltbWVkaWF0ZWx5IGVtaXRzIGFuIGVycm9yIHN0YXRlXG4gICAqIGZvbGxvd2VkIGJ5IGFueSBmdXR1cmUgc3RhdGUgY2hhbmdlcyBvbmNlIGluaXRpYWxpemF0aW9uIG9jY3Vycy5cbiAgICpcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBzdHJlYW0gb2YgQXBwU3RhdGUgY2hhbmdlc1xuICAgKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGdldEFwcCQoKTogT2JzZXJ2YWJsZTxBcHBTdGF0ZT4ge1xuICAgIGlmICghdGhpcy5pc0luaXRpYWxpemVkKSB7XG4gICAgICByZXR1cm4gY29uY2F0KFxuICAgICAgICBvZih7IGVycm9yOiBuZXcgRXJyb3IoJ1Npc2Vuc2UgY29udGV4dCBpcyBub3QgaW5pdGlhbGl6ZWQnKSB9IGFzIGNvbnN0KSxcbiAgICAgICAgdGhpcy5hcHAkLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5hcHAkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyB0aGUgY3VycmVudCB7QGxpbmsgU2lzZW5zZUNvbnRleHRDb25maWd9IGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgY3VycmVudCBjb25maWd1cmF0aW9uIG9iamVjdCwgb3IgdW5kZWZpbmVkIGlmIG5vdCB5ZXQgY29uZmlndXJlZFxuICAgKi9cbiAgZ2V0Q29uZmlnKCk6IFNpc2Vuc2VDb250ZXh0Q29uZmlnIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWc7XG4gIH1cblxuICAvKipcbiAgICogQ29uZmlndXJlcyBhbmQgaW5pdGlhbGl6ZXMgdGhlIFNpc2Vuc2UgY29udGV4dCB3aXRoIHRoZSBwcm92aWRlZCBzZXR0aW5ncy5cbiAgICpcbiAgICogVGhpcyBtZXRob2QgYWxsb3dzIHRvIGVzdGFibGlzaCBhIGNvbm5lY3Rpb24gdG8gYSBTaXNlbnNlIGluc3RhbmNlLlxuICAgKiBJdCBjb3VsZCBiZSB1c2VkIGFzIHJ1bnRpbWUgYWx0ZXJuYXRpdmUgdG8ge0BsaW5rIFNJU0VOU0VfQ09OVEVYVF9DT05GSUdfVE9LRU59IGJhc2VkIGNvbmZpZ3VyYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSBjb25maWcgLSBDb25maWd1cmF0aW9uIG9iamVjdFxuICAgKiBAcmV0dXJucyBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiBjb25maWd1cmF0aW9uIGlzIGNvbXBsZXRlIChzdWNjZXNzIG9yIGZhaWx1cmUpXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIEJhc2ljIGNvbmZpZ3VyYXRpb246XG4gICAqIGBgYHRzXG4gICAqIGF3YWl0IFNpc2Vuc2VDb250ZXh0U2VydmljZS5zZXRDb25maWcoe1xuICAgKiAgIHVybDogJ2h0dHBzOi8veW91ci1zaXNlbnNlLWluc3RhbmNlLmNvbScsXG4gICAqICAgdG9rZW46ICd5b3VyLWFwaS10b2tlbicsXG4gICAqICAgZGVmYXVsdERhdGFTb3VyY2U6ICdTYW1wbGUgRUNvbW1lcmNlJ1xuICAgKiB9KTtcbiAgICogYGBgXG4gICAqL1xuICBhc3luYyBzZXRDb25maWcoY29uZmlnOiBTaXNlbnNlQ29udGV4dENvbmZpZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuY29uZmlnID0ge1xuICAgICAgLi4uY29uZmlnLFxuICAgICAgc2hvd1J1bnRpbWVFcnJvcnM6IGNvbmZpZy5zaG93UnVudGltZUVycm9ycyA/PyB0cnVlLFxuICAgIH07XG4gICAgdGhpcy5pc0luaXRpYWxpemVkID0gdHJ1ZTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBhcHAgPSBhd2FpdCBjcmVhdGVDbGllbnRBcHBsaWNhdGlvbih7IC4uLnRoaXMuY29uZmlnLCBwYWNrYWdlTmFtZTogJ3Nkay11aS1hbmd1bGFyJyB9KTtcbiAgICAgIHRoaXMuYXBwJC5uZXh0KHsgYXBwIH0gYXMgY29uc3QpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLmFwcCQubmV4dCh7IGVycm9yOiBlcnJvciBhcyBFcnJvciB9IGFzIGNvbnN0KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -2,7 +2,7 @@ import { __decorate } from "tslib";
2
2
  import { Injectable } from '@angular/core';
3
3
  import { getWidgetModel, HookAdapter, useJtdWidget as useJtdWidgetPreact, } from '@sisense/sdk-ui-preact';
4
4
  import { BehaviorSubject } from 'rxjs';
5
- import { createSisenseContextConnector, createThemeContextConnector, } from '../component-wrapper-helpers';
5
+ import { createPluginContextConnector, createSisenseContextConnector, createThemeContextConnector, } from '../component-wrapper-helpers';
6
6
  import { TrackableService } from '../decorators/trackable.decorator';
7
7
  import { toPreactWidgetProps, toWidgetProps } from '../helpers/widget-props-preact-translator';
8
8
  import * as i0 from "@angular/core";
@@ -133,6 +133,7 @@ let WidgetService = class WidgetService {
133
133
  }
134
134
  // Create HookAdapter with useJtdWidget hook and context connectors
135
135
  const hookAdapter = new HookAdapter(useJtdWidgetPreact, [
136
+ createPluginContextConnector(this.sisenseContextService),
136
137
  createSisenseContextConnector(this.sisenseContextService),
137
138
  createThemeContextConnector(this.themeService),
138
139
  ]);
@@ -178,4 +179,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
178
179
  providedIn: 'root',
179
180
  }]
180
181
  }], ctorParameters: function () { return [{ type: i1.SisenseContextService }, { type: i2.ThemeService }]; } });
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3dpZGdldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFDTCxjQUFjLEVBRWQsV0FBVyxFQUdYLFlBQVksSUFBSSxrQkFBa0IsR0FDbkMsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZDLE9BQU8sRUFDTCw2QkFBNkIsRUFDN0IsMkJBQTJCLEdBQzVCLE1BQU0sOEJBQThCLENBQUM7QUFFdEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7O0FBUy9GOzs7OztHQUtHO0FBS0ksSUFBTSxhQUFhLEdBQW5CLE1BQU0sYUFBYTtJQUN4QixZQUNVLHFCQUE0QyxFQUM1QyxZQUEwQjtRQUQxQiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQ2pDLENBQUM7SUFFSjs7Ozs7T0FLRztJQUNILEtBQUssQ0FBQyxjQUFjLENBQUMsTUFBNEI7UUFDL0MsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLENBQUM7UUFDM0MsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdEQsT0FBTyxjQUFjLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxZQUFZLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQXlGRztJQUNILGVBQWUsQ0FDYixXQUErQixFQUMvQixTQUFnRTtRQUVoRSwrREFBK0Q7UUFDL0QsTUFBTSxjQUFjLEdBQUcsSUFBSSxlQUFlLENBQXFCLFdBQVcsQ0FBQyxDQUFDO1FBRTVFLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDaEIsT0FBTztnQkFDTCxPQUFPLEVBQUUsY0FBYztnQkFDdkIsT0FBTyxFQUFFLEdBQUcsRUFBRTtvQkFDWixjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQzVCLENBQUM7YUFDRixDQUFDO1NBQ0g7UUFFRCxtRUFBbUU7UUFDbkUsTUFBTSxXQUFXLEdBQUcsSUFBSSxXQUFXLENBQUMsa0JBQWtCLEVBQUU7WUFDdEQsNkJBQTZCLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDO1lBQ3pELDJCQUEyQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7U0FDL0MsQ0FBQyxDQUFDO1FBRUgsd0NBQXdDO1FBQ3hDLE1BQU0sV0FBVyxHQUFHLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXJELGlFQUFpRTtRQUNqRSxNQUFNLHVCQUF1QixHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxtQkFBbUIsRUFBRSxFQUFFO1lBQzVFLElBQUksbUJBQW1CLEVBQUU7Z0JBQ3ZCLGdDQUFnQztnQkFDaEMsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLG1CQUFtQixDQUFDLENBQUM7Z0JBQ3hELGNBQWMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDbkM7aUJBQU07Z0JBQ0wsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUMzQjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsZ0RBQWdEO1FBQ2hELHdGQUF3RjtRQUN4RixXQUFXLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUV4Qyw4REFBOEQ7UUFDOUQsT0FBTztZQUNMLE9BQU8sRUFBRSxjQUFjO1lBQ3ZCLE9BQU8sRUFBRSxHQUFHLEVBQUU7Z0JBQ1osZ0NBQWdDO2dCQUNoQyx1QkFBdUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDdEMscUVBQXFFO2dCQUNyRSxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ3RCLHNFQUFzRTtnQkFDdEUsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzVCLENBQUM7U0FDRixDQUFDO0lBQ0osQ0FBQzs7MkdBaEtVLGFBQWE7K0dBQWIsYUFBYSxjQUhaLE1BQU07QUFHUCxhQUFhO0lBRHpCLGdCQUFnQixDQUFnQixDQUFDLGdCQUFnQixFQUFFLGlCQUFpQixDQUFDLENBQUM7R0FDMUQsYUFBYSxDQWlLekI7U0FqS1ksYUFBYTs0RkFBYixhQUFhO2tCQUp6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIGdldFdpZGdldE1vZGVsLFxuICB0eXBlIEdldFdpZGdldE1vZGVsUGFyYW1zIGFzIEdldFdpZGdldE1vZGVsUGFyYW1zUHJlYWN0LFxuICBIb29rQWRhcHRlcixcbiAgdHlwZSBKdW1wVG9EYXNoYm9hcmRDb25maWcsXG4gIHR5cGUgSnVtcFRvRGFzaGJvYXJkQ29uZmlnRm9yUGl2b3QsXG4gIHVzZUp0ZFdpZGdldCBhcyB1c2VKdGRXaWRnZXRQcmVhY3QsXG59IGZyb20gJ0BzaXNlbnNlL3Nkay11aS1wcmVhY3QnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIGNyZWF0ZVNpc2Vuc2VDb250ZXh0Q29ubmVjdG9yLFxuICBjcmVhdGVUaGVtZUNvbnRleHRDb25uZWN0b3IsXG59IGZyb20gJy4uL2NvbXBvbmVudC13cmFwcGVyLWhlbHBlcnMnO1xuaW1wb3J0IHsgdHlwZSBXaWRnZXRQcm9wcyB9IGZyb20gJy4uL2NvbXBvbmVudHMvd2lkZ2V0cy93aWRnZXQuY29tcG9uZW50JztcbmltcG9ydCB7IFRyYWNrYWJsZVNlcnZpY2UgfSBmcm9tICcuLi9kZWNvcmF0b3JzL3RyYWNrYWJsZS5kZWNvcmF0b3InO1xuaW1wb3J0IHsgdG9QcmVhY3RXaWRnZXRQcm9wcywgdG9XaWRnZXRQcm9wcyB9IGZyb20gJy4uL2hlbHBlcnMvd2lkZ2V0LXByb3BzLXByZWFjdC10cmFuc2xhdG9yJztcbmltcG9ydCB7IFNpc2Vuc2VDb250ZXh0U2VydmljZSB9IGZyb20gJy4vc2lzZW5zZS1jb250ZXh0LnNlcnZpY2UnO1xuaW1wb3J0IHsgVGhlbWVTZXJ2aWNlIH0gZnJvbSAnLi90aGVtZS5zZXJ2aWNlJztcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciByZXRyaWV2aW5nIGFuIGV4aXN0aW5nIHdpZGdldCBtb2RlbCBmcm9tIHRoZSBTaXNlbnNlIGluc3RhbmNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2V0V2lkZ2V0TW9kZWxQYXJhbXMgZXh0ZW5kcyBPbWl0PEdldFdpZGdldE1vZGVsUGFyYW1zUHJlYWN0LCAnZW5hYmxlZCc+IHt9XG5cbi8qKlxuICogU2VydmljZSBmb3Igd29ya2luZyB3aXRoIFNpc2Vuc2UgRnVzaW9uIHdpZGdldHMuXG4gKlxuICogQGdyb3VwIEZ1c2lvbiBBc3NldHNcbiAqIEBmdXNpb25FbWJlZFxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5AVHJhY2thYmxlU2VydmljZTxXaWRnZXRTZXJ2aWNlPihbJ2dldFdpZGdldE1vZGVsJywgJ2NyZWF0ZUp0ZFdpZGdldCddKVxuZXhwb3J0IGNsYXNzIFdpZGdldFNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNpc2Vuc2VDb250ZXh0U2VydmljZTogU2lzZW5zZUNvbnRleHRTZXJ2aWNlLFxuICAgIHByaXZhdGUgdGhlbWVTZXJ2aWNlOiBUaGVtZVNlcnZpY2UsXG4gICkge31cblxuICAvKipcbiAgICogUmV0cmlldmVzIGFuIGV4aXN0aW5nIHdpZGdldCBtb2RlbCBmcm9tIHRoZSBTaXNlbnNlIGluc3RhbmNlLlxuICAgKlxuICAgKiBAcGFyYW0gcGFyYW1zIC0gUGFyYW1ldGVycyB0byBpZGVudGlmeSB0aGUgdGFyZ2V0IHdpZGdldFxuICAgKiBAcmV0dXJucyBXaWRnZXQgbW9kZWxcbiAgICovXG4gIGFzeW5jIGdldFdpZGdldE1vZGVsKHBhcmFtczogR2V0V2lkZ2V0TW9kZWxQYXJhbXMpIHtcbiAgICBjb25zdCB7IGRhc2hib2FyZE9pZCwgd2lkZ2V0T2lkIH0gPSBwYXJhbXM7XG4gICAgY29uc3QgYXBwID0gYXdhaXQgdGhpcy5zaXNlbnNlQ29udGV4dFNlcnZpY2UuZ2V0QXBwKCk7XG4gICAgcmV0dXJuIGdldFdpZGdldE1vZGVsKGFwcC5odHRwQ2xpZW50LCBkYXNoYm9hcmRPaWQsIHdpZGdldE9pZCk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBKdW1wIFRvIERhc2hib2FyZCAoSlREKSBmdW5jdGlvbmFsaXR5IHRvIHdpZGdldCBwcm9wcy5cbiAgICpcbiAgICogSnVtcCBUbyBEYXNoYm9hcmQgKEpURCkgYWxsb3dzIHVzZXJzIHRvIG5hdmlnYXRlIGZyb20gb25lIGRhc2hib2FyZCB0byBhbm90aGVyIHdoZW4gaW50ZXJhY3Rpbmcgd2l0aCB3aWRnZXRzLFxuICAgKiBzdWNoIGFzIGNsaWNraW5nIG9uIGNoYXJ0IGRhdGEgcG9pbnRzIG9yIHVzaW5nIGNvbnRleHQgbWVudXMuIFRoaXMgbWV0aG9kIGlzIHBhcnRpY3VsYXJseSB1c2VmdWwgd2hlbiByZW5kZXJpbmdcbiAgICogV2lkZ2V0IGNvbXBvbmVudHMgZGlyZWN0bHkgKG5vdCB0aHJvdWdoIGEgRGFzaGJvYXJkIGNvbXBvbmVudCksIGJ1dCB5b3Ugc3RpbGwgd2FudCBKVEQgbmF2aWdhdGlvbiBmdW5jdGlvbmFsaXR5LlxuICAgKlxuICAgKiBGb3Igd2lkZ2V0cyB0aGF0IGFyZSBwYXJ0IG9mIGEgZGFzaGJvYXJkLCBjb25zaWRlciB1c2luZyBgYXBwbHlKdGRDb25maWdgIG9yIGBhcHBseUp0ZENvbmZpZ3NgIGluc3RlYWQsXG4gICAqIGFzIHRoZXkgYXBwbHkgSlREIGNvbmZpZ3VyYXRpb24gYXQgdGhlIGRhc2hib2FyZCBsZXZlbCByYXRoZXIgdGhhbiBpbmRpdmlkdWFsIHdpZGdldCBsZXZlbC5cbiAgICpcbiAgICogTm90ZTogZGFzaGJvYXJkLW9ubHkgJ2luY2x1ZGVEYXNoYm9hcmRGaWx0ZXJzJyBpcyBub3Qgc3VwcG9ydGVkIGFuZCB3b3VsZCBqdXN0IGJlIGlnbm9yZWQsIHNpbmNlIHdlIGRvIG5vdCBoYXZlIGEgZGFzaGJvYXJkIGluIHRoZSBjdXJyZW50IGNvbnRleHQuXG4gICAqXG4gICAqIFRoaXMgbWV0aG9kIGVuaGFuY2VzIHRoZSBwcm92aWRlZCB3aWRnZXQgcHJvcHMgd2l0aCBKVEQgbmF2aWdhdGlvbiBjYXBhYmlsaXRpZXMsIGluY2x1ZGluZzpcbiAgICogLSBDbGljayBhbmQgcmlnaHQtY2xpY2sgZXZlbnQgaGFuZGxlcnMgZm9yIG5hdmlnYXRpb25cbiAgICogLSBIeXBlcmxpbmsgc3R5bGluZyBmb3IgYWN0aW9uYWJsZSBwaXZvdCBjZWxscyAod2hlbiBhcHBsaWNhYmxlKVxuICAgKiAtIEpURCBpY29uIGRpc3BsYXkgaW4gd2lkZ2V0IGhlYWRlcnNcbiAgICogQGV4YW1wbGVcbiAgICogYGBgVHlwZVNjcmlwdFxuICAgKiBpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuICAgKiBpbXBvcnQge1xuICAgKiAgIFdpZGdldFNlcnZpY2UsXG4gICAqICAgd2lkZ2V0TW9kZWxUcmFuc2xhdG9yLFxuICAgKiAgIHR5cGUgV2lkZ2V0UHJvcHMsXG4gICAqIH0gZnJvbSAnQHNpc2Vuc2Uvc2RrLXVpLWFuZ3VsYXInO1xuICAgKiBpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbiAgICpcbiAgICogQENvbXBvbmVudCh7XG4gICAqICAgc2VsZWN0b3I6ICdjb2RlLWV4YW1wbGUnLFxuICAgKiAgIHRlbXBsYXRlOiBgXG4gICAqICAgICA8Y3Nkay13aWRnZXRcbiAgICogICAgICAgKm5nSWY9XCJ3aWRnZXRQcm9wcyQgJiYgKHdpZGdldFByb3BzJCB8IGFzeW5jKSBhcyB3aWRnZXRQcm9wc1wiXG4gICAqICAgICAgIFtpZF09XCJ3aWRnZXRQcm9wcy5pZFwiXG4gICAqICAgICAgIFt3aWRnZXRUeXBlXT1cIndpZGdldFByb3BzLndpZGdldFR5cGVcIlxuICAgKiAgICAgICBbY2hhcnRUeXBlXT1cIndpZGdldFByb3BzLmNoYXJ0VHlwZVwiXG4gICAqICAgICAgIFt0aXRsZV09XCJ3aWRnZXRQcm9wcy50aXRsZVwiXG4gICAqICAgICAgIFtkYXRhU291cmNlXT1cIndpZGdldFByb3BzLmRhdGFTb3VyY2VcIlxuICAgKiAgICAgICBbZGF0YU9wdGlvbnNdPVwid2lkZ2V0UHJvcHMuZGF0YU9wdGlvbnNcIlxuICAgKiAgICAgICBbZmlsdGVyc109XCJ3aWRnZXRQcm9wcy5maWx0ZXJzXCJcbiAgICogICAgICAgW2hpZ2hsaWdodHNdPVwid2lkZ2V0UHJvcHMuaGlnaGxpZ2h0c1wiXG4gICAqICAgICAgIFtzdHlsZU9wdGlvbnNdPVwid2lkZ2V0UHJvcHMuc3R5bGVPcHRpb25zXCJcbiAgICogICAgICAgW2JlZm9yZU1lbnVPcGVuXT1cIndpZGdldFByb3BzLmJlZm9yZU1lbnVPcGVuXCJcbiAgICogICAgICAgKGRhdGFQb2ludENsaWNrKT1cIndpZGdldFByb3BzLmRhdGFQb2ludENsaWNrPy4oJGV2ZW50KVwiXG4gICAqICAgICAgIChkYXRhUG9pbnRDb250ZXh0TWVudSk9XCJ3aWRnZXRQcm9wcy5kYXRhUG9pbnRDb250ZXh0TWVudT8uKCRldmVudClcIlxuICAgKiAgICAgICAoZGF0YVBvaW50c1NlbGVjdCk9XCJ3aWRnZXRQcm9wcy5kYXRhUG9pbnRzU2VsZWN0Py4oJGV2ZW50KVwiXG4gICAqICAgICAvPlxuICAgKiAgIGAsXG4gICAqIH0pXG4gICAqIGV4cG9ydCBjbGFzcyBDb2RlRXhhbXBsZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAqICAgY29uc3RydWN0b3IocHJpdmF0ZSB3aWRnZXRTZXJ2aWNlOiBXaWRnZXRTZXJ2aWNlKSB7fVxuICAgKlxuICAgKiAgIHdpZGdldFByb3BzJDogQmVoYXZpb3JTdWJqZWN0PFdpZGdldFByb3BzIHwgbnVsbD4gfCBudWxsID0gbnVsbDtcbiAgICogICBwcml2YXRlIGp0ZERlc3Ryb3k6ICgoKSA9PiB2b2lkKSB8IG51bGwgPSBudWxsO1xuICAgKlxuICAgKiAgIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgKiAgICAgY29uc3Qgd2lkZ2V0ID0gYXdhaXQgdGhpcy53aWRnZXRTZXJ2aWNlLmdldFdpZGdldE1vZGVsKHtcbiAgICogICAgICAgZGFzaGJvYXJkT2lkOiAnNjVhODIxNzE3MTllN2YwMDQwMTg2OTFjJyxcbiAgICogICAgICAgd2lkZ2V0T2lkOiAnNjVhODIxNzE3MTllN2YwMDQwMTg2OTFmJyxcbiAgICogICAgIH0pO1xuICAgKlxuICAgKiAgICAgY29uc3QgYmFzZVByb3BzID0gd2lkZ2V0XG4gICAqICAgICAgID8gd2lkZ2V0TW9kZWxUcmFuc2xhdG9yLnRvV2lkZ2V0UHJvcHMod2lkZ2V0KVxuICAgKiAgICAgICA6IG51bGw7XG4gICAqXG4gICAqICAgICBpZiAoYmFzZVByb3BzKSB7XG4gICAqICAgICAgIGNvbnN0IGp0ZENvbmZpZyA9IHtcbiAgICogICAgICAgICB0YXJnZXRzOiBbeyBpZDogJ3RhcmdldC1kYXNoYm9hcmQtaWQnLCBjYXB0aW9uOiAnRGV0YWlscycgfV0sXG4gICAqICAgICAgICAgaW50ZXJhY3Rpb246IHsgdHJpZ2dlck1ldGhvZDogJ3JpZ2h0Y2xpY2snIH0sXG4gICAqICAgICAgIH07XG4gICAqICAgICAgIGNvbnN0IGp0ZFJlc3VsdCA9IHRoaXMud2lkZ2V0U2VydmljZS5jcmVhdGVKdGRXaWRnZXQoXG4gICAqICAgICAgICAgYmFzZVByb3BzLFxuICAgKiAgICAgICAgIGp0ZENvbmZpZyxcbiAgICogICAgICAgKTtcbiAgICogICAgICAgdGhpcy53aWRnZXRQcm9wcyQgPSBqdGRSZXN1bHQud2lkZ2V0JDtcbiAgICogICAgICAgdGhpcy5qdGREZXN0cm95ID0ganRkUmVzdWx0LmRlc3Ryb3k7XG4gICAqICAgICB9XG4gICAqICAgfVxuICAgKlxuICAgKiAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgKiAgICAgdGhpcy5qdGREZXN0cm95Py4oKTtcbiAgICogICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqXG4gICAqIEBwYXJhbSB3aWRnZXRQcm9wcyAtIEJhc2Ugd2lkZ2V0IHByb3BzIHRvIGVuaGFuY2Ugd2l0aCBKVEQgZnVuY3Rpb25hbGl0eVxuICAgKiBAcGFyYW0ganRkQ29uZmlnIC0gSlREIGNvbmZpZ3VyYXRpb24gZGVmaW5pbmcgbmF2aWdhdGlvbiB0YXJnZXRzIGFuZCBiZWhhdmlvclxuICAgKiBAcmV0dXJucyBPYmplY3QgY29udGFpbmluZzpcbiAgICogICAgICAgICAtIGB3aWRnZXQkYDogVGhlIG9ic2VydmFibGUgdGhhdCBlbWl0cyBlbmhhbmNlZCB3aWRnZXQgcHJvcHMgd2l0aCBKVEQgaGFuZGxlcnMuXG4gICAqICAgICAgICAgLSBgZGVzdHJveWA6IEZ1bmN0aW9uIHRvIGNsZWFuIHVwIHJlc291cmNlcy4gQ2FsbCB0aGlzIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBkZXN0cm95ZWQuXG4gICAqIEBncm91cCBEYXNoYm9hcmRzXG4gICAqL1xuICBjcmVhdGVKdGRXaWRnZXQoXG4gICAgd2lkZ2V0UHJvcHM6IFdpZGdldFByb3BzIHwgbnVsbCxcbiAgICBqdGRDb25maWc6IEp1bXBUb0Rhc2hib2FyZENvbmZpZyB8IEp1bXBUb0Rhc2hib2FyZENvbmZpZ0ZvclBpdm90LFxuICApOiB7IHdpZGdldCQ6IEJlaGF2aW9yU3ViamVjdDxXaWRnZXRQcm9wcyB8IG51bGw+OyBkZXN0cm95OiAoKSA9PiB2b2lkIH0ge1xuICAgIC8vIENyZWF0ZSBCZWhhdmlvclN1YmplY3QgaW5pdGlhbGl6ZWQgd2l0aCBiYXNlIHByb3BzIChvciBudWxsKVxuICAgIGNvbnN0IGVuaGFuY2VkUHJvcHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxXaWRnZXRQcm9wcyB8IG51bGw+KHdpZGdldFByb3BzKTtcblxuICAgIGlmICghd2lkZ2V0UHJvcHMpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHdpZGdldCQ6IGVuaGFuY2VkUHJvcHMkLFxuICAgICAgICBkZXN0cm95OiAoKSA9PiB7XG4gICAgICAgICAgZW5oYW5jZWRQcm9wcyQuY29tcGxldGUoKTtcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIEhvb2tBZGFwdGVyIHdpdGggdXNlSnRkV2lkZ2V0IGhvb2sgYW5kIGNvbnRleHQgY29ubmVjdG9yc1xuICAgIGNvbnN0IGhvb2tBZGFwdGVyID0gbmV3IEhvb2tBZGFwdGVyKHVzZUp0ZFdpZGdldFByZWFjdCwgW1xuICAgICAgY3JlYXRlU2lzZW5zZUNvbnRleHRDb25uZWN0b3IodGhpcy5zaXNlbnNlQ29udGV4dFNlcnZpY2UpLFxuICAgICAgY3JlYXRlVGhlbWVDb250ZXh0Q29ubmVjdG9yKHRoaXMudGhlbWVTZXJ2aWNlKSxcbiAgICBdKTtcblxuICAgIC8vIENvbnZlcnQgQW5ndWxhciBwcm9wcyB0byBwcmVhY3QgcHJvcHNcbiAgICBjb25zdCBwcmVhY3RQcm9wcyA9IHRvUHJlYWN0V2lkZ2V0UHJvcHMod2lkZ2V0UHJvcHMpO1xuXG4gICAgLy8gU3Vic2NyaWJlIHRvIGhvb2sgYWRhcHRlciByZXN1bHRzIGFuZCBjYXB0dXJlIHRoZSBzdWJzY3JpcHRpb25cbiAgICBjb25zdCBob29rQWRhcHRlclN1YnNjcmlwdGlvbiA9IGhvb2tBZGFwdGVyLnN1YnNjcmliZSgoZW5oYW5jZWRQcmVhY3RQcm9wcykgPT4ge1xuICAgICAgaWYgKGVuaGFuY2VkUHJlYWN0UHJvcHMpIHtcbiAgICAgICAgLy8gQ29udmVydCBiYWNrIHRvIEFuZ3VsYXIgcHJvcHNcbiAgICAgICAgY29uc3QgYW5ndWxhclByb3BzID0gdG9XaWRnZXRQcm9wcyhlbmhhbmNlZFByZWFjdFByb3BzKTtcbiAgICAgICAgZW5oYW5jZWRQcm9wcyQubmV4dChhbmd1bGFyUHJvcHMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZW5oYW5jZWRQcm9wcyQubmV4dChudWxsKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vIFJ1biB0aGUgaG9vayB3aXRoIHdpZGdldCBwcm9wcyBhbmQgSlREIGNvbmZpZ1xuICAgIC8vIFRoaXMgd2lsbCB0cmlnZ2VyIHRoZSBzdWJzY3JpcHRpb24gYWJvdmUgYXN5bmNocm9ub3VzbHkgd2hlbiBSZWFjdCBjb250ZXh0cyBhcmUgcmVhZHlcbiAgICBob29rQWRhcHRlci5ydW4ocHJlYWN0UHJvcHMsIGp0ZENvbmZpZyk7XG5cbiAgICAvLyBSZXR1cm4gdGhlIEJlaGF2aW9yU3ViamVjdCBhbmQgZGVzdHJveSBmdW5jdGlvbiBmb3IgY2xlYW51cFxuICAgIHJldHVybiB7XG4gICAgICB3aWRnZXQkOiBlbmhhbmNlZFByb3BzJCxcbiAgICAgIGRlc3Ryb3k6ICgpID0+IHtcbiAgICAgICAgLy8gVW5zdWJzY3JpYmUgZnJvbSBob29rIGFkYXB0ZXJcbiAgICAgICAgaG9va0FkYXB0ZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgLy8gRGVzdHJveSB0aGUgaG9vayBhZGFwdGVyIHRvIGNsZWFuIHVwIFJlYWN0IGNvbXBvbmVudHMgYW5kIGNvbnRleHRzXG4gICAgICAgIGhvb2tBZGFwdGVyLmRlc3Ryb3koKTtcbiAgICAgICAgLy8gQ29tcGxldGUgdGhlIEJlaGF2aW9yU3ViamVjdCB0byByZWxlYXNlIHN1YnNjcmliZXJzIGFuZCBhdm9pZCBsZWFrc1xuICAgICAgICBlbmhhbmNlZFByb3BzJC5jb21wbGV0ZSgpO1xuICAgICAgfSxcbiAgICB9O1xuICB9XG59XG4iXX0=
182
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3dpZGdldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFDTCxjQUFjLEVBRWQsV0FBVyxFQUdYLFlBQVksSUFBSSxrQkFBa0IsR0FDbkMsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZDLE9BQU8sRUFDTCw0QkFBNEIsRUFDNUIsNkJBQTZCLEVBQzdCLDJCQUEyQixHQUM1QixNQUFNLDhCQUE4QixDQUFDO0FBRXRDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7OztBQVMvRjs7Ozs7R0FLRztBQUtJLElBQU0sYUFBYSxHQUFuQixNQUFNLGFBQWE7SUFDeEIsWUFDVSxxQkFBNEMsRUFDNUMsWUFBMEI7UUFEMUIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUNqQyxDQUFDO0lBRUo7Ozs7O09BS0c7SUFDSCxLQUFLLENBQUMsY0FBYyxDQUFDLE1BQTRCO1FBQy9DLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBQzNDLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3RELE9BQU8sY0FBYyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0F5Rkc7SUFDSCxlQUFlLENBQ2IsV0FBK0IsRUFDL0IsU0FBZ0U7UUFFaEUsK0RBQStEO1FBQy9ELE1BQU0sY0FBYyxHQUFHLElBQUksZUFBZSxDQUFxQixXQUFXLENBQUMsQ0FBQztRQUU1RSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2hCLE9BQU87Z0JBQ0wsT0FBTyxFQUFFLGNBQWM7Z0JBQ3ZCLE9BQU8sRUFBRSxHQUFHLEVBQUU7b0JBQ1osY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUM1QixDQUFDO2FBQ0YsQ0FBQztTQUNIO1FBRUQsbUVBQW1FO1FBQ25FLE1BQU0sV0FBVyxHQUFHLElBQUksV0FBVyxDQUFDLGtCQUFrQixFQUFFO1lBQ3RELDRCQUE0QixDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztZQUN4RCw2QkFBNkIsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUM7WUFDekQsMkJBQTJCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztTQUMvQyxDQUFDLENBQUM7UUFFSCx3Q0FBd0M7UUFDeEMsTUFBTSxXQUFXLEdBQUcsbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFckQsaUVBQWlFO1FBQ2pFLE1BQU0sdUJBQXVCLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLG1CQUFtQixFQUFFLEVBQUU7WUFDNUUsSUFBSSxtQkFBbUIsRUFBRTtnQkFDdkIsZ0NBQWdDO2dCQUNoQyxNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsbUJBQW1CLENBQUMsQ0FBQztnQkFDeEQsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNuQztpQkFBTTtnQkFDTCxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzNCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxnREFBZ0Q7UUFDaEQsd0ZBQXdGO1FBQ3hGLFdBQVcsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRXhDLDhEQUE4RDtRQUM5RCxPQUFPO1lBQ0wsT0FBTyxFQUFFLGNBQWM7WUFDdkIsT0FBTyxFQUFFLEdBQUcsRUFBRTtnQkFDWixnQ0FBZ0M7Z0JBQ2hDLHVCQUF1QixDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUN0QyxxRUFBcUU7Z0JBQ3JFLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDdEIsc0VBQXNFO2dCQUN0RSxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDNUIsQ0FBQztTQUNGLENBQUM7SUFDSixDQUFDOzsyR0FqS1UsYUFBYTsrR0FBYixhQUFhLGNBSFosTUFBTTtBQUdQLGFBQWE7SUFEekIsZ0JBQWdCLENBQWdCLENBQUMsZ0JBQWdCLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztHQUMxRCxhQUFhLENBa0t6QjtTQWxLWSxhQUFhOzRGQUFiLGFBQWE7a0JBSnpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgZ2V0V2lkZ2V0TW9kZWwsXG4gIHR5cGUgR2V0V2lkZ2V0TW9kZWxQYXJhbXMgYXMgR2V0V2lkZ2V0TW9kZWxQYXJhbXNQcmVhY3QsXG4gIEhvb2tBZGFwdGVyLFxuICB0eXBlIEp1bXBUb0Rhc2hib2FyZENvbmZpZyxcbiAgdHlwZSBKdW1wVG9EYXNoYm9hcmRDb25maWdGb3JQaXZvdCxcbiAgdXNlSnRkV2lkZ2V0IGFzIHVzZUp0ZFdpZGdldFByZWFjdCxcbn0gZnJvbSAnQHNpc2Vuc2Uvc2RrLXVpLXByZWFjdCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgY3JlYXRlUGx1Z2luQ29udGV4dENvbm5lY3RvcixcbiAgY3JlYXRlU2lzZW5zZUNvbnRleHRDb25uZWN0b3IsXG4gIGNyZWF0ZVRoZW1lQ29udGV4dENvbm5lY3Rvcixcbn0gZnJvbSAnLi4vY29tcG9uZW50LXdyYXBwZXItaGVscGVycyc7XG5pbXBvcnQgeyB0eXBlIFdpZGdldFByb3BzIH0gZnJvbSAnLi4vY29tcG9uZW50cy93aWRnZXRzL3dpZGdldC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJhY2thYmxlU2VydmljZSB9IGZyb20gJy4uL2RlY29yYXRvcnMvdHJhY2thYmxlLmRlY29yYXRvcic7XG5pbXBvcnQgeyB0b1ByZWFjdFdpZGdldFByb3BzLCB0b1dpZGdldFByb3BzIH0gZnJvbSAnLi4vaGVscGVycy93aWRnZXQtcHJvcHMtcHJlYWN0LXRyYW5zbGF0b3InO1xuaW1wb3J0IHsgU2lzZW5zZUNvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi9zaXNlbnNlLWNvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgeyBUaGVtZVNlcnZpY2UgfSBmcm9tICcuL3RoZW1lLnNlcnZpY2UnO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHJldHJpZXZpbmcgYW4gZXhpc3Rpbmcgd2lkZ2V0IG1vZGVsIGZyb20gdGhlIFNpc2Vuc2UgaW5zdGFuY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZXRXaWRnZXRNb2RlbFBhcmFtcyBleHRlbmRzIE9taXQ8R2V0V2lkZ2V0TW9kZWxQYXJhbXNQcmVhY3QsICdlbmFibGVkJz4ge31cblxuLyoqXG4gKiBTZXJ2aWNlIGZvciB3b3JraW5nIHdpdGggU2lzZW5zZSBGdXNpb24gd2lkZ2V0cy5cbiAqXG4gKiBAZ3JvdXAgRnVzaW9uIEFzc2V0c1xuICogQGZ1c2lvbkVtYmVkXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbkBUcmFja2FibGVTZXJ2aWNlPFdpZGdldFNlcnZpY2U+KFsnZ2V0V2lkZ2V0TW9kZWwnLCAnY3JlYXRlSnRkV2lkZ2V0J10pXG5leHBvcnQgY2xhc3MgV2lkZ2V0U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2lzZW5zZUNvbnRleHRTZXJ2aWNlOiBTaXNlbnNlQ29udGV4dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0aGVtZVNlcnZpY2U6IFRoZW1lU2VydmljZSxcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgYW4gZXhpc3Rpbmcgd2lkZ2V0IG1vZGVsIGZyb20gdGhlIFNpc2Vuc2UgaW5zdGFuY2UuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBQYXJhbWV0ZXJzIHRvIGlkZW50aWZ5IHRoZSB0YXJnZXQgd2lkZ2V0XG4gICAqIEByZXR1cm5zIFdpZGdldCBtb2RlbFxuICAgKi9cbiAgYXN5bmMgZ2V0V2lkZ2V0TW9kZWwocGFyYW1zOiBHZXRXaWRnZXRNb2RlbFBhcmFtcykge1xuICAgIGNvbnN0IHsgZGFzaGJvYXJkT2lkLCB3aWRnZXRPaWQgfSA9IHBhcmFtcztcbiAgICBjb25zdCBhcHAgPSBhd2FpdCB0aGlzLnNpc2Vuc2VDb250ZXh0U2VydmljZS5nZXRBcHAoKTtcbiAgICByZXR1cm4gZ2V0V2lkZ2V0TW9kZWwoYXBwLmh0dHBDbGllbnQsIGRhc2hib2FyZE9pZCwgd2lkZ2V0T2lkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIEp1bXAgVG8gRGFzaGJvYXJkIChKVEQpIGZ1bmN0aW9uYWxpdHkgdG8gd2lkZ2V0IHByb3BzLlxuICAgKlxuICAgKiBKdW1wIFRvIERhc2hib2FyZCAoSlREKSBhbGxvd3MgdXNlcnMgdG8gbmF2aWdhdGUgZnJvbSBvbmUgZGFzaGJvYXJkIHRvIGFub3RoZXIgd2hlbiBpbnRlcmFjdGluZyB3aXRoIHdpZGdldHMsXG4gICAqIHN1Y2ggYXMgY2xpY2tpbmcgb24gY2hhcnQgZGF0YSBwb2ludHMgb3IgdXNpbmcgY29udGV4dCBtZW51cy4gVGhpcyBtZXRob2QgaXMgcGFydGljdWxhcmx5IHVzZWZ1bCB3aGVuIHJlbmRlcmluZ1xuICAgKiBXaWRnZXQgY29tcG9uZW50cyBkaXJlY3RseSAobm90IHRocm91Z2ggYSBEYXNoYm9hcmQgY29tcG9uZW50KSwgYnV0IHlvdSBzdGlsbCB3YW50IEpURCBuYXZpZ2F0aW9uIGZ1bmN0aW9uYWxpdHkuXG4gICAqXG4gICAqIEZvciB3aWRnZXRzIHRoYXQgYXJlIHBhcnQgb2YgYSBkYXNoYm9hcmQsIGNvbnNpZGVyIHVzaW5nIGBhcHBseUp0ZENvbmZpZ2Agb3IgYGFwcGx5SnRkQ29uZmlnc2AgaW5zdGVhZCxcbiAgICogYXMgdGhleSBhcHBseSBKVEQgY29uZmlndXJhdGlvbiBhdCB0aGUgZGFzaGJvYXJkIGxldmVsIHJhdGhlciB0aGFuIGluZGl2aWR1YWwgd2lkZ2V0IGxldmVsLlxuICAgKlxuICAgKiBOb3RlOiBkYXNoYm9hcmQtb25seSAnaW5jbHVkZURhc2hib2FyZEZpbHRlcnMnIGlzIG5vdCBzdXBwb3J0ZWQgYW5kIHdvdWxkIGp1c3QgYmUgaWdub3JlZCwgc2luY2Ugd2UgZG8gbm90IGhhdmUgYSBkYXNoYm9hcmQgaW4gdGhlIGN1cnJlbnQgY29udGV4dC5cbiAgICpcbiAgICogVGhpcyBtZXRob2QgZW5oYW5jZXMgdGhlIHByb3ZpZGVkIHdpZGdldCBwcm9wcyB3aXRoIEpURCBuYXZpZ2F0aW9uIGNhcGFiaWxpdGllcywgaW5jbHVkaW5nOlxuICAgKiAtIENsaWNrIGFuZCByaWdodC1jbGljayBldmVudCBoYW5kbGVycyBmb3IgbmF2aWdhdGlvblxuICAgKiAtIEh5cGVybGluayBzdHlsaW5nIGZvciBhY3Rpb25hYmxlIHBpdm90IGNlbGxzICh3aGVuIGFwcGxpY2FibGUpXG4gICAqIC0gSlREIGljb24gZGlzcGxheSBpbiB3aWRnZXQgaGVhZGVyc1xuICAgKiBAZXhhbXBsZVxuICAgKiBgYGBUeXBlU2NyaXB0XG4gICAqIGltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4gICAqIGltcG9ydCB7XG4gICAqICAgV2lkZ2V0U2VydmljZSxcbiAgICogICB3aWRnZXRNb2RlbFRyYW5zbGF0b3IsXG4gICAqICAgdHlwZSBXaWRnZXRQcm9wcyxcbiAgICogfSBmcm9tICdAc2lzZW5zZS9zZGstdWktYW5ndWxhcic7XG4gICAqIGltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuICAgKlxuICAgKiBAQ29tcG9uZW50KHtcbiAgICogICBzZWxlY3RvcjogJ2NvZGUtZXhhbXBsZScsXG4gICAqICAgdGVtcGxhdGU6IGBcbiAgICogICAgIDxjc2RrLXdpZGdldFxuICAgKiAgICAgICAqbmdJZj1cIndpZGdldFByb3BzJCAmJiAod2lkZ2V0UHJvcHMkIHwgYXN5bmMpIGFzIHdpZGdldFByb3BzXCJcbiAgICogICAgICAgW2lkXT1cIndpZGdldFByb3BzLmlkXCJcbiAgICogICAgICAgW3dpZGdldFR5cGVdPVwid2lkZ2V0UHJvcHMud2lkZ2V0VHlwZVwiXG4gICAqICAgICAgIFtjaGFydFR5cGVdPVwid2lkZ2V0UHJvcHMuY2hhcnRUeXBlXCJcbiAgICogICAgICAgW3RpdGxlXT1cIndpZGdldFByb3BzLnRpdGxlXCJcbiAgICogICAgICAgW2RhdGFTb3VyY2VdPVwid2lkZ2V0UHJvcHMuZGF0YVNvdXJjZVwiXG4gICAqICAgICAgIFtkYXRhT3B0aW9uc109XCJ3aWRnZXRQcm9wcy5kYXRhT3B0aW9uc1wiXG4gICAqICAgICAgIFtmaWx0ZXJzXT1cIndpZGdldFByb3BzLmZpbHRlcnNcIlxuICAgKiAgICAgICBbaGlnaGxpZ2h0c109XCJ3aWRnZXRQcm9wcy5oaWdobGlnaHRzXCJcbiAgICogICAgICAgW3N0eWxlT3B0aW9uc109XCJ3aWRnZXRQcm9wcy5zdHlsZU9wdGlvbnNcIlxuICAgKiAgICAgICBbYmVmb3JlTWVudU9wZW5dPVwid2lkZ2V0UHJvcHMuYmVmb3JlTWVudU9wZW5cIlxuICAgKiAgICAgICAoZGF0YVBvaW50Q2xpY2spPVwid2lkZ2V0UHJvcHMuZGF0YVBvaW50Q2xpY2s/LigkZXZlbnQpXCJcbiAgICogICAgICAgKGRhdGFQb2ludENvbnRleHRNZW51KT1cIndpZGdldFByb3BzLmRhdGFQb2ludENvbnRleHRNZW51Py4oJGV2ZW50KVwiXG4gICAqICAgICAgIChkYXRhUG9pbnRzU2VsZWN0KT1cIndpZGdldFByb3BzLmRhdGFQb2ludHNTZWxlY3Q/LigkZXZlbnQpXCJcbiAgICogICAgIC8+XG4gICAqICAgYCxcbiAgICogfSlcbiAgICogZXhwb3J0IGNsYXNzIENvZGVFeGFtcGxlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICogICBjb25zdHJ1Y3Rvcihwcml2YXRlIHdpZGdldFNlcnZpY2U6IFdpZGdldFNlcnZpY2UpIHt9XG4gICAqXG4gICAqICAgd2lkZ2V0UHJvcHMkOiBCZWhhdmlvclN1YmplY3Q8V2lkZ2V0UHJvcHMgfCBudWxsPiB8IG51bGwgPSBudWxsO1xuICAgKiAgIHByaXZhdGUganRkRGVzdHJveTogKCgpID0+IHZvaWQpIHwgbnVsbCA9IG51bGw7XG4gICAqXG4gICAqICAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAqICAgICBjb25zdCB3aWRnZXQgPSBhd2FpdCB0aGlzLndpZGdldFNlcnZpY2UuZ2V0V2lkZ2V0TW9kZWwoe1xuICAgKiAgICAgICBkYXNoYm9hcmRPaWQ6ICc2NWE4MjE3MTcxOWU3ZjAwNDAxODY5MWMnLFxuICAgKiAgICAgICB3aWRnZXRPaWQ6ICc2NWE4MjE3MTcxOWU3ZjAwNDAxODY5MWYnLFxuICAgKiAgICAgfSk7XG4gICAqXG4gICAqICAgICBjb25zdCBiYXNlUHJvcHMgPSB3aWRnZXRcbiAgICogICAgICAgPyB3aWRnZXRNb2RlbFRyYW5zbGF0b3IudG9XaWRnZXRQcm9wcyh3aWRnZXQpXG4gICAqICAgICAgIDogbnVsbDtcbiAgICpcbiAgICogICAgIGlmIChiYXNlUHJvcHMpIHtcbiAgICogICAgICAgY29uc3QganRkQ29uZmlnID0ge1xuICAgKiAgICAgICAgIHRhcmdldHM6IFt7IGlkOiAndGFyZ2V0LWRhc2hib2FyZC1pZCcsIGNhcHRpb246ICdEZXRhaWxzJyB9XSxcbiAgICogICAgICAgICBpbnRlcmFjdGlvbjogeyB0cmlnZ2VyTWV0aG9kOiAncmlnaHRjbGljaycgfSxcbiAgICogICAgICAgfTtcbiAgICogICAgICAgY29uc3QganRkUmVzdWx0ID0gdGhpcy53aWRnZXRTZXJ2aWNlLmNyZWF0ZUp0ZFdpZGdldChcbiAgICogICAgICAgICBiYXNlUHJvcHMsXG4gICAqICAgICAgICAganRkQ29uZmlnLFxuICAgKiAgICAgICApO1xuICAgKiAgICAgICB0aGlzLndpZGdldFByb3BzJCA9IGp0ZFJlc3VsdC53aWRnZXQkO1xuICAgKiAgICAgICB0aGlzLmp0ZERlc3Ryb3kgPSBqdGRSZXN1bHQuZGVzdHJveTtcbiAgICogICAgIH1cbiAgICogICB9XG4gICAqXG4gICAqICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAqICAgICB0aGlzLmp0ZERlc3Ryb3k/LigpO1xuICAgKiAgIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICpcbiAgICogQHBhcmFtIHdpZGdldFByb3BzIC0gQmFzZSB3aWRnZXQgcHJvcHMgdG8gZW5oYW5jZSB3aXRoIEpURCBmdW5jdGlvbmFsaXR5XG4gICAqIEBwYXJhbSBqdGRDb25maWcgLSBKVEQgY29uZmlndXJhdGlvbiBkZWZpbmluZyBuYXZpZ2F0aW9uIHRhcmdldHMgYW5kIGJlaGF2aW9yXG4gICAqIEByZXR1cm5zIE9iamVjdCBjb250YWluaW5nOlxuICAgKiAgICAgICAgIC0gYHdpZGdldCRgOiBUaGUgb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGVuaGFuY2VkIHdpZGdldCBwcm9wcyB3aXRoIEpURCBoYW5kbGVycy5cbiAgICogICAgICAgICAtIGBkZXN0cm95YDogRnVuY3Rpb24gdG8gY2xlYW4gdXAgcmVzb3VyY2VzLiBDYWxsIHRoaXMgd2hlbiB0aGUgY29tcG9uZW50IGlzIGRlc3Ryb3llZC5cbiAgICogQGdyb3VwIERhc2hib2FyZHNcbiAgICovXG4gIGNyZWF0ZUp0ZFdpZGdldChcbiAgICB3aWRnZXRQcm9wczogV2lkZ2V0UHJvcHMgfCBudWxsLFxuICAgIGp0ZENvbmZpZzogSnVtcFRvRGFzaGJvYXJkQ29uZmlnIHwgSnVtcFRvRGFzaGJvYXJkQ29uZmlnRm9yUGl2b3QsXG4gICk6IHsgd2lkZ2V0JDogQmVoYXZpb3JTdWJqZWN0PFdpZGdldFByb3BzIHwgbnVsbD47IGRlc3Ryb3k6ICgpID0+IHZvaWQgfSB7XG4gICAgLy8gQ3JlYXRlIEJlaGF2aW9yU3ViamVjdCBpbml0aWFsaXplZCB3aXRoIGJhc2UgcHJvcHMgKG9yIG51bGwpXG4gICAgY29uc3QgZW5oYW5jZWRQcm9wcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFdpZGdldFByb3BzIHwgbnVsbD4od2lkZ2V0UHJvcHMpO1xuXG4gICAgaWYgKCF3aWRnZXRQcm9wcykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgd2lkZ2V0JDogZW5oYW5jZWRQcm9wcyQsXG4gICAgICAgIGRlc3Ryb3k6ICgpID0+IHtcbiAgICAgICAgICBlbmhhbmNlZFByb3BzJC5jb21wbGV0ZSgpO1xuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyBDcmVhdGUgSG9va0FkYXB0ZXIgd2l0aCB1c2VKdGRXaWRnZXQgaG9vayBhbmQgY29udGV4dCBjb25uZWN0b3JzXG4gICAgY29uc3QgaG9va0FkYXB0ZXIgPSBuZXcgSG9va0FkYXB0ZXIodXNlSnRkV2lkZ2V0UHJlYWN0LCBbXG4gICAgICBjcmVhdGVQbHVnaW5Db250ZXh0Q29ubmVjdG9yKHRoaXMuc2lzZW5zZUNvbnRleHRTZXJ2aWNlKSxcbiAgICAgIGNyZWF0ZVNpc2Vuc2VDb250ZXh0Q29ubmVjdG9yKHRoaXMuc2lzZW5zZUNvbnRleHRTZXJ2aWNlKSxcbiAgICAgIGNyZWF0ZVRoZW1lQ29udGV4dENvbm5lY3Rvcih0aGlzLnRoZW1lU2VydmljZSksXG4gICAgXSk7XG5cbiAgICAvLyBDb252ZXJ0IEFuZ3VsYXIgcHJvcHMgdG8gcHJlYWN0IHByb3BzXG4gICAgY29uc3QgcHJlYWN0UHJvcHMgPSB0b1ByZWFjdFdpZGdldFByb3BzKHdpZGdldFByb3BzKTtcblxuICAgIC8vIFN1YnNjcmliZSB0byBob29rIGFkYXB0ZXIgcmVzdWx0cyBhbmQgY2FwdHVyZSB0aGUgc3Vic2NyaXB0aW9uXG4gICAgY29uc3QgaG9va0FkYXB0ZXJTdWJzY3JpcHRpb24gPSBob29rQWRhcHRlci5zdWJzY3JpYmUoKGVuaGFuY2VkUHJlYWN0UHJvcHMpID0+IHtcbiAgICAgIGlmIChlbmhhbmNlZFByZWFjdFByb3BzKSB7XG4gICAgICAgIC8vIENvbnZlcnQgYmFjayB0byBBbmd1bGFyIHByb3BzXG4gICAgICAgIGNvbnN0IGFuZ3VsYXJQcm9wcyA9IHRvV2lkZ2V0UHJvcHMoZW5oYW5jZWRQcmVhY3RQcm9wcyk7XG4gICAgICAgIGVuaGFuY2VkUHJvcHMkLm5leHQoYW5ndWxhclByb3BzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVuaGFuY2VkUHJvcHMkLm5leHQobnVsbCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyBSdW4gdGhlIGhvb2sgd2l0aCB3aWRnZXQgcHJvcHMgYW5kIEpURCBjb25maWdcbiAgICAvLyBUaGlzIHdpbGwgdHJpZ2dlciB0aGUgc3Vic2NyaXB0aW9uIGFib3ZlIGFzeW5jaHJvbm91c2x5IHdoZW4gUmVhY3QgY29udGV4dHMgYXJlIHJlYWR5XG4gICAgaG9va0FkYXB0ZXIucnVuKHByZWFjdFByb3BzLCBqdGRDb25maWcpO1xuXG4gICAgLy8gUmV0dXJuIHRoZSBCZWhhdmlvclN1YmplY3QgYW5kIGRlc3Ryb3kgZnVuY3Rpb24gZm9yIGNsZWFudXBcbiAgICByZXR1cm4ge1xuICAgICAgd2lkZ2V0JDogZW5oYW5jZWRQcm9wcyQsXG4gICAgICBkZXN0cm95OiAoKSA9PiB7XG4gICAgICAgIC8vIFVuc3Vic2NyaWJlIGZyb20gaG9vayBhZGFwdGVyXG4gICAgICAgIGhvb2tBZGFwdGVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIC8vIERlc3Ryb3kgdGhlIGhvb2sgYWRhcHRlciB0byBjbGVhbiB1cCBSZWFjdCBjb21wb25lbnRzIGFuZCBjb250ZXh0c1xuICAgICAgICBob29rQWRhcHRlci5kZXN0cm95KCk7XG4gICAgICAgIC8vIENvbXBsZXRlIHRoZSBCZWhhdmlvclN1YmplY3QgdG8gcmVsZWFzZSBzdWJzY3JpYmVycyBhbmQgYXZvaWQgbGVha3NcbiAgICAgICAgZW5oYW5jZWRQcm9wcyQuY29tcGxldGUoKTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -7,6 +7,6 @@ export * from './lib/sdk-ui-core-exports';
7
7
  export * from './lib/services';
8
8
  export * from './lib/utilities';
9
9
  /* Re-exports internal core functionalities to use in dependant angular modules */
10
- export { createCustomWidgetsContextConnector, createSisenseContextConnector, createThemeContextConnector, } from './lib/component-wrapper-helpers';
10
+ export { createCustomWidgetsContextConnector, createPluginContextConnector, createSisenseContextConnector, createThemeContextConnector, } from './lib/component-wrapper-helpers';
11
11
  export { TrackableService } from './lib/decorators';
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxnQkFBZ0IsQ0FBQztBQTRDL0IsY0FBYyxpQkFBaUIsQ0FBQztBQUVoQyxrRkFBa0Y7QUFDbEYsT0FBTyxFQUNMLG1DQUFtQyxFQUNuQyw2QkFBNkIsRUFDN0IsMkJBQTJCLEdBQzVCLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBAc2lzZW5zZS9zZGstdWktYW5ndWxhclxuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Nkay11aS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2RrLXVpLWNvcmUtZXhwb3J0cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcyc7XG5leHBvcnQgdHlwZSB7XG4gIEFyZWFtYXBEYXRhUG9pbnRFdmVudCxcbiAgQXJlYW1hcERhdGFQb2ludEV2ZW50SGFuZGxlcixcbiAgQm94cGxvdERhdGFQb2ludEV2ZW50LFxuICBCb3hwbG90RGF0YVBvaW50RXZlbnRIYW5kbGVyLFxuICBCb3hwbG90RGF0YVBvaW50c0V2ZW50LFxuICBDYWxlbmRhckhlYXRtYXBEYXRhUG9pbnRFdmVudCxcbiAgQ2FsZW5kYXJIZWF0bWFwRGF0YVBvaW50RXZlbnRIYW5kbGVyLFxuICBDYWxlbmRhckhlYXRtYXBEYXRhUG9pbnRzRXZlbnQsXG4gIENhbGVuZGFySGVhdG1hcERhdGFQb2ludHNFdmVudEhhbmRsZXIsXG4gIENoYXJ0RGF0YVBvaW50Q2xpY2tFdmVudCxcbiAgQ2hhcnREYXRhUG9pbnRDbGlja0V2ZW50SGFuZGxlcixcbiAgQ2hhcnREYXRhUG9pbnRDb250ZXh0TWVudUV2ZW50LFxuICBDaGFydERhdGFQb2ludENvbnRleHRNZW51RXZlbnRIYW5kbGVyLFxuICBDaGFydERhdGFQb2ludHNFdmVudCxcbiAgQ2hhcnREYXRhUG9pbnRzRXZlbnRIYW5kbGVyLFxuICBEYXRhUG9pbnRFdmVudCxcbiAgRGF0YVBvaW50RXZlbnRIYW5kbGVyLFxuICBEYXRhUG9pbnRzRXZlbnQsXG4gIERhdGFQb2ludHNFdmVudEhhbmRsZXIsXG4gIEZpbHRlckNoYW5nZUV2ZW50LFxuICBGaWx0ZXJDaGFuZ2VFdmVudEhhbmRsZXIsXG4gIEZpbHRlckRlbGV0ZUV2ZW50SGFuZGxlcixcbiAgRmlsdGVyRWRpdEV2ZW50LFxuICBGaWx0ZXJFZGl0RXZlbnRIYW5kbGVyLFxuICBGaWx0ZXJzUGFuZWxDaGFuZ2VFdmVudCxcbiAgRmlsdGVyc1BhbmVsQ2hhbmdlRXZlbnRIYW5kbGVyLFxuICBJbmRpY2F0b3JEYXRhUG9pbnRFdmVudCxcbiAgSW5kaWNhdG9yRGF0YVBvaW50RXZlbnRIYW5kbGVyLFxuICBTY2F0dGVyRGF0YVBvaW50RXZlbnQsXG4gIFNjYXR0ZXJEYXRhUG9pbnRFdmVudEhhbmRsZXIsXG4gIFNjYXR0ZXJEYXRhUG9pbnRzRXZlbnQsXG4gIFNjYXR0ZXJEYXRhUG9pbnRzRXZlbnRIYW5kbGVyLFxuICBXaWRnZXREYXRhUG9pbnRDbGlja0V2ZW50SGFuZGxlcixcbiAgV2lkZ2V0RGF0YVBvaW50Q29udGV4dE1lbnVFdmVudEhhbmRsZXIsXG4gIFNjYXR0ZXJtYXBEYXRhUG9pbnRFdmVudCxcbiAgU2NhdHRlcm1hcERhdGFQb2ludEV2ZW50SGFuZGxlcixcbiAgUGl2b3RUYWJsZURhdGFQb2ludEV2ZW50LFxuICBQaXZvdFRhYmxlRGF0YVBvaW50RXZlbnRIYW5kbGVyLFxuICBXaWRnZXREYXRhUG9pbnRDbGlja0V2ZW50LFxuICBXaWRnZXREYXRhUG9pbnRDb250ZXh0TWVudUV2ZW50LFxuICBUZXh0V2lkZ2V0RGF0YVBvaW50RXZlbnQsXG59IGZyb20gJy4vbGliL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxpdGllcyc7XG5cbi8qIFJlLWV4cG9ydHMgaW50ZXJuYWwgY29yZSBmdW5jdGlvbmFsaXRpZXMgdG8gdXNlIGluIGRlcGVuZGFudCBhbmd1bGFyIG1vZHVsZXMgKi9cbmV4cG9ydCB7XG4gIGNyZWF0ZUN1c3RvbVdpZGdldHNDb250ZXh0Q29ubmVjdG9yLFxuICBjcmVhdGVTaXNlbnNlQ29udGV4dENvbm5lY3RvcixcbiAgY3JlYXRlVGhlbWVDb250ZXh0Q29ubmVjdG9yLFxufSBmcm9tICcuL2xpYi9jb21wb25lbnQtd3JhcHBlci1oZWxwZXJzJztcbmV4cG9ydCB7IFRyYWNrYWJsZVNlcnZpY2UgfSBmcm9tICcuL2xpYi9kZWNvcmF0b3JzJztcbiJdfQ==
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxnQkFBZ0IsQ0FBQztBQTRDL0IsY0FBYyxpQkFBaUIsQ0FBQztBQUVoQyxrRkFBa0Y7QUFDbEYsT0FBTyxFQUNMLG1DQUFtQyxFQUNuQyw0QkFBNEIsRUFDNUIsNkJBQTZCLEVBQzdCLDJCQUEyQixHQUM1QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgQHNpc2Vuc2Uvc2RrLXVpLWFuZ3VsYXJcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZGstdWkubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Nkay11aS1jb3JlLWV4cG9ydHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMnO1xuZXhwb3J0IHR5cGUge1xuICBBcmVhbWFwRGF0YVBvaW50RXZlbnQsXG4gIEFyZWFtYXBEYXRhUG9pbnRFdmVudEhhbmRsZXIsXG4gIEJveHBsb3REYXRhUG9pbnRFdmVudCxcbiAgQm94cGxvdERhdGFQb2ludEV2ZW50SGFuZGxlcixcbiAgQm94cGxvdERhdGFQb2ludHNFdmVudCxcbiAgQ2FsZW5kYXJIZWF0bWFwRGF0YVBvaW50RXZlbnQsXG4gIENhbGVuZGFySGVhdG1hcERhdGFQb2ludEV2ZW50SGFuZGxlcixcbiAgQ2FsZW5kYXJIZWF0bWFwRGF0YVBvaW50c0V2ZW50LFxuICBDYWxlbmRhckhlYXRtYXBEYXRhUG9pbnRzRXZlbnRIYW5kbGVyLFxuICBDaGFydERhdGFQb2ludENsaWNrRXZlbnQsXG4gIENoYXJ0RGF0YVBvaW50Q2xpY2tFdmVudEhhbmRsZXIsXG4gIENoYXJ0RGF0YVBvaW50Q29udGV4dE1lbnVFdmVudCxcbiAgQ2hhcnREYXRhUG9pbnRDb250ZXh0TWVudUV2ZW50SGFuZGxlcixcbiAgQ2hhcnREYXRhUG9pbnRzRXZlbnQsXG4gIENoYXJ0RGF0YVBvaW50c0V2ZW50SGFuZGxlcixcbiAgRGF0YVBvaW50RXZlbnQsXG4gIERhdGFQb2ludEV2ZW50SGFuZGxlcixcbiAgRGF0YVBvaW50c0V2ZW50LFxuICBEYXRhUG9pbnRzRXZlbnRIYW5kbGVyLFxuICBGaWx0ZXJDaGFuZ2VFdmVudCxcbiAgRmlsdGVyQ2hhbmdlRXZlbnRIYW5kbGVyLFxuICBGaWx0ZXJEZWxldGVFdmVudEhhbmRsZXIsXG4gIEZpbHRlckVkaXRFdmVudCxcbiAgRmlsdGVyRWRpdEV2ZW50SGFuZGxlcixcbiAgRmlsdGVyc1BhbmVsQ2hhbmdlRXZlbnQsXG4gIEZpbHRlcnNQYW5lbENoYW5nZUV2ZW50SGFuZGxlcixcbiAgSW5kaWNhdG9yRGF0YVBvaW50RXZlbnQsXG4gIEluZGljYXRvckRhdGFQb2ludEV2ZW50SGFuZGxlcixcbiAgU2NhdHRlckRhdGFQb2ludEV2ZW50LFxuICBTY2F0dGVyRGF0YVBvaW50RXZlbnRIYW5kbGVyLFxuICBTY2F0dGVyRGF0YVBvaW50c0V2ZW50LFxuICBTY2F0dGVyRGF0YVBvaW50c0V2ZW50SGFuZGxlcixcbiAgV2lkZ2V0RGF0YVBvaW50Q2xpY2tFdmVudEhhbmRsZXIsXG4gIFdpZGdldERhdGFQb2ludENvbnRleHRNZW51RXZlbnRIYW5kbGVyLFxuICBTY2F0dGVybWFwRGF0YVBvaW50RXZlbnQsXG4gIFNjYXR0ZXJtYXBEYXRhUG9pbnRFdmVudEhhbmRsZXIsXG4gIFBpdm90VGFibGVEYXRhUG9pbnRFdmVudCxcbiAgUGl2b3RUYWJsZURhdGFQb2ludEV2ZW50SGFuZGxlcixcbiAgV2lkZ2V0RGF0YVBvaW50Q2xpY2tFdmVudCxcbiAgV2lkZ2V0RGF0YVBvaW50Q29udGV4dE1lbnVFdmVudCxcbiAgVGV4dFdpZGdldERhdGFQb2ludEV2ZW50LFxufSBmcm9tICcuL2xpYi90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlsaXRpZXMnO1xuXG4vKiBSZS1leHBvcnRzIGludGVybmFsIGNvcmUgZnVuY3Rpb25hbGl0aWVzIHRvIHVzZSBpbiBkZXBlbmRhbnQgYW5ndWxhciBtb2R1bGVzICovXG5leHBvcnQge1xuICBjcmVhdGVDdXN0b21XaWRnZXRzQ29udGV4dENvbm5lY3RvcixcbiAgY3JlYXRlUGx1Z2luQ29udGV4dENvbm5lY3RvcixcbiAgY3JlYXRlU2lzZW5zZUNvbnRleHRDb25uZWN0b3IsXG4gIGNyZWF0ZVRoZW1lQ29udGV4dENvbm5lY3Rvcixcbn0gZnJvbSAnLi9saWIvY29tcG9uZW50LXdyYXBwZXItaGVscGVycyc7XG5leHBvcnQgeyBUcmFja2FibGVTZXJ2aWNlIH0gZnJvbSAnLi9saWIvZGVjb3JhdG9ycyc7XG4iXX0=
@@ -1,2 +1,2 @@
1
- export default '2.22.0';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGVBQWUsUUFBUSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgJzIuMjIuMCciXX0=
1
+ export default '2.24.0';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGVBQWUsUUFBUSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgJzIuMjQuMCciXX0=
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { InjectionToken, Injectable, Optional, Inject, Component, ViewChild, Input, NgModule } from '@angular/core';
3
3
  import * as i1 from '@sisense/sdk-ui-angular';
4
- import { TrackableService, createSisenseContextConnector, createThemeContextConnector, SdkUiModule } from '@sisense/sdk-ui-angular';
4
+ import { TrackableService, createPluginContextConnector, createSisenseContextConnector, createThemeContextConnector, SdkUiModule } from '@sisense/sdk-ui-angular';
5
5
  import { DataObserver, ComponentAdapter } from '@sisense/sdk-ui-preact';
6
6
  import { CustomAiContextProvider, ChatRestApi, prepareGetNlgInsightsPayload, DEFAULT_RECOMMENDATIONS_COUNT, widgetComposer, prepareGetNlqResultPayload, Chatbot, GetNlgInsights } from '@sisense/sdk-ui-preact/ai';
7
7
  import { __awaiter, __decorate } from 'tslib';
@@ -239,6 +239,7 @@ class ChatbotComponent {
239
239
  this.themeService = themeService;
240
240
  this.aiService = aiService;
241
241
  this.componentAdapter = new ComponentAdapter(Chatbot, [
242
+ createPluginContextConnector(this.sisenseContextService),
242
243
  createSisenseContextConnector(this.sisenseContextService),
243
244
  createThemeContextConnector(this.themeService),
244
245
  createAiContextConnector(this.aiService),
@@ -358,6 +359,7 @@ class GetNlgInsightsComponent {
358
359
  this.themeService = themeService;
359
360
  this.aiService = aiService;
360
361
  this.componentAdapter = new ComponentAdapter(GetNlgInsights, [
362
+ createPluginContextConnector(this.sisenseContextService),
361
363
  createSisenseContextConnector(this.sisenseContextService),
362
364
  createThemeContextConnector(this.themeService),
363
365
  createAiContextConnector(this.aiService),
@@ -1 +1 @@
1
- {"version":3,"file":"sisense-sdk-ui-angular-ai.mjs","sources":["../../src/ai/lib/component-wrapper-helpers/context-connectors.ts","../../src/ai/lib/component-wrapper-helpers/template.ts","../../src/ai/lib/services/ai.service.ts","../../src/ai/lib/components/chatbot.component.ts","../../src/ai/lib/components/get-nlg-insights.component.ts","../../src/ai/lib/sdk-ai.module.ts","../../src/ai/public-api.ts","../../src/ai/sisense-sdk-ui-angular-ai.ts"],"sourcesContent":["import { ContextConnector, DataObserver } from '@sisense/sdk-ui-preact';\nimport { CustomAiContextProvider, CustomAiContextProviderProps } from '@sisense/sdk-ui-preact/ai';\n\nimport { AiService } from '../services/ai.service';\n\n/**\n * Creates AI context connector\n *\n * @param aiService - The AI service\n * @internal\n */\nexport const createAiContextConnector = (\n aiService: AiService,\n): ContextConnector<CustomAiContextProviderProps> => {\n const propsObserver = new DataObserver<CustomAiContextProviderProps>();\n\n aiService\n .getApi()\n .then((api) =>\n propsObserver.setValue({\n context: {\n api,\n },\n }),\n )\n .catch((error) =>\n propsObserver.setValue({\n error,\n }),\n );\n\n return {\n propsObserver,\n providerComponent: CustomAiContextProvider,\n };\n};\n","export const rootId = 'preact';\nexport const template = `\n <div #${rootId} class=\"csdk-full-size-container\"></div>\n`;\nexport const styles = [\n `.csdk-full-size-container {\n width: 100%;\n height: 100%;\n }`,\n];\n","import { Inject, Injectable, InjectionToken, Optional } from '@angular/core';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport { SisenseContextService, TrackableService, WidgetProps } from '@sisense/sdk-ui-angular';\nimport {\n AiContextProviderProps,\n ChatRestApi,\n DEFAULT_RECOMMENDATIONS_COUNT,\n GetNlgInsightsResponse,\n GetNlqResultParams,\n GetQueryRecommendationsParams,\n prepareGetNlgInsightsPayload,\n prepareGetNlqResultPayload,\n QueryRecommendation as QueryRecommendationPreact,\n UseGetNlgInsightsParams,\n widgetComposer,\n} from '@sisense/sdk-ui-preact/ai';\n\nexport interface AiContextConfig extends Omit<AiContextProviderProps, 'children'> {}\nexport interface GetNlgInsightsParams extends Omit<UseGetNlgInsightsParams, 'enabled'> {}\n\n/**\n * {@inheritDoc @sisense/sdk-ui!QueryRecommendation}\n */\nexport interface QueryRecommendation extends Omit<QueryRecommendationPreact, 'widgetProps'> {\n /**\n * {@inheritDoc @sisense/sdk-ui!QueryRecommendation.widgetProps}\n */\n widgetProps?: WidgetProps;\n}\n\n/**\n * Token used to inject {@link AiContextConfig} into your application.\n *\n * @example\n * Example of importing {@link SdkAiModule} and injecting {@link AiContextConfig} into your application,\n * along with importing dependency {@link SdkUiModule} and injecting {@link SisenseContextConfig} to connect to a Sisense instance:\n *\n * ```ts\n * import { SdkUiModule, SisenseContextConfig } from '@sisense/sdk-ui-angular';\n * import { SdkAiModule, AI_CONTEXT_CONFIG_TOKEN, AiContextConfig } from '@sisense/sdk-ui-angular/ai';\n *\n * const AI_CONTEXT_CONFIG: AiContextConfig = {\n * volatile: true,\n * };\n * const SISENSE_CONTEXT_CONFIG: SisenseContextConfig = {\n * url: \"<instance url>\", // replace with the URL of your Sisense instance\n * token: \"<api token>\", // replace with the API token of your user account\n * defaultDataSource: DM.DataSource,\n * };\n *\n * @NgModule({\n * imports: [\n * BrowserModule,\n * SdkUiModule,\n * SdkAiModule,\n * ],\n * declarations: [AppComponent],\n * providers: [\n * { provide: AI_CONTEXT_CONFIG_TOKEN, useValue: AI_CONTEXT_CONFIG },\n * { provide: SISENSE_CONTEXT_CONFIG_TOKEN, useValue: SISENSE_CONTEXT_CONFIG },\n * ],\n * bootstrap: [AppComponent],\n * })\n * ```\n * @group Generative AI\n */\nexport const AI_CONTEXT_CONFIG_TOKEN = new InjectionToken<AiContextConfig>('AI Context Config');\n\n/**\n * Service for working with Sisense Fusion Generative AI.\n *\n * @group Generative AI\n */\n@Injectable({\n providedIn: 'root',\n})\n@TrackableService<AiService>(['getNlgInsights', 'getQueryRecommendations'])\nexport class AiService {\n constructor(\n private sisenseContextService: SisenseContextService,\n @Optional() @Inject(AI_CONTEXT_CONFIG_TOKEN) private aiContextConfig?: AiContextConfig,\n ) {}\n\n /** @internal */\n getApi(): Promise<ChatRestApi> {\n return this.sisenseContextService\n .getApp()\n .then((app) => new ChatRestApi(app.httpClient, this.aiContextConfig?.volatile));\n }\n\n /**\n * Fetches an analysis of the provided query using natural language generation (NLG).\n * Specifying NLG parameters is similar to providing parameters to the {@link QueryService.executeQuery} service method, using dimensions, measures, and filters.\n *\n * @param params - Parameters for getting NLG insights\n * @returns NLG insights text summary\n */\n async getNlgInsights(params: GetNlgInsightsParams): Promise<string | undefined> {\n const api = await this.getApi();\n const payload = prepareGetNlgInsightsPayload(params);\n return api.ai\n .getNlgInsights(payload)\n .then((response?: GetNlgInsightsResponse) => response?.data?.answer);\n }\n\n /**\n * Fetches recommended questions for a data model or perspective.\n *\n * @param params - Parameters for recommendations\n * @returns An array of objects, each containing recommended question text and its corresponding `widgetProps`\n * @beta\n */\n async getQueryRecommendations(\n params: GetQueryRecommendationsParams,\n ): Promise<QueryRecommendation[]> {\n const api = await this.getApi();\n const { contextTitle, count, enableAxisTitlesInWidgetProps, customPrompt } = params;\n const recCount = count ?? DEFAULT_RECOMMENDATIONS_COUNT;\n\n const rawRecommendations =\n (await api.ai.getQueryRecommendations(contextTitle, {\n numOfRecommendations: recCount,\n ...(customPrompt ? { userPrompt: customPrompt } : undefined),\n })) || [];\n\n return rawRecommendations.map(\n (recommendation: QueryRecommendationPreact) =>\n ({\n ...recommendation,\n widgetProps: recommendation.jaql\n ? widgetComposer.toWidgetProps(recommendation, {\n useCustomizedStyleOptions: enableAxisTitlesInWidgetProps,\n })\n : undefined,\n } as QueryRecommendation),\n );\n }\n\n /**\n * Executes a natural language query (NLQ) against a data model or perspective\n *\n * @param params - NLQ query parameters\n * @returns The result as WidgetProps\n * @beta\n */\n async getNlqResult(params: GetNlqResultParams): Promise<WidgetProps | undefined> {\n const { contextTitle, request } = prepareGetNlqResultPayload(params);\n const api = await this.getApi();\n\n const data = await api?.ai.getNlqResult(contextTitle, request);\n\n return data\n ? (widgetComposer.toWidgetProps(data, {\n useCustomizedStyleOptions: params.enableAxisTitlesInWidgetProps || false,\n }) as WidgetProps)\n : undefined;\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n ViewChild,\n} from '@angular/core';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport {\n createSisenseContextConnector,\n createThemeContextConnector,\n SisenseContextService,\n ThemeService,\n} from '@sisense/sdk-ui-angular';\nimport { ComponentAdapter } from '@sisense/sdk-ui-preact';\nimport {\n Chatbot as ChatbotPreact,\n type ChatbotProps as ChatbotPropsPreact,\n} from '@sisense/sdk-ui-preact/ai';\n\nimport { createAiContextConnector, rootId, styles, template } from '../component-wrapper-helpers';\nimport { AiService } from '../services/ai.service';\n\n/**\n * Props of the {@link ChatbotComponent}.\n */\nexport interface ChatbotProps extends ChatbotPropsPreact {}\n\n/**\n * An Angular component that renders a chatbot with data topic selection.\n *\n * @example\n * An example of using the `ChatbotComponent`:\n *\n * ```html\n<!--Component HTML template in example.component.html-->\n<csdk-chatbot\n [width]=\"chatbot.width\"\n [height]=\"chatbot.height\"\n [config]=\"chatbot.config\"\n/>\n * ```\n *\n * ```ts\n// Component behavior in example.component.ts\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'example',\n templateUrl: './example.component.html',\n styleUrls: ['./example.component.scss'],\n})\nexport class ExampleComponent {\n chatbot = {\n width: '500px',\n height: '700px',\n config: {\n numOfRecommendations: 5,\n },\n };\n}\n * ```\n *\n * <img src=\"media://angular-chatbot-example.png\" width=\"500px\" />\n * @group Generative AI\n */\n@Component({\n selector: 'csdk-chatbot',\n template,\n styles,\n})\nexport class ChatbotComponent implements AfterViewInit, OnChanges, OnDestroy {\n /**\n * @internal\n */\n @ViewChild(rootId)\n preactRef!: ElementRef<HTMLDivElement>;\n\n /**\n * {@inheritDoc @sisense/sdk-ui!ChatbotProps.width}\n */\n @Input()\n width: ChatbotProps['width'];\n\n /**\n * {@inheritDoc @sisense/sdk-ui!ChatbotProps.height}\n */\n @Input()\n height: ChatbotProps['height'];\n\n /**\n * {@inheritDoc @sisense/sdk-ui!ChatbotProps.config}\n */\n @Input()\n config: ChatbotProps['config'];\n\n private componentAdapter: ComponentAdapter<typeof ChatbotPreact>;\n\n /**\n * Constructor for the `ChatbotComponent`.\n *\n * @param sisenseContextService - Sisense context service\n * @param themeService - Theme service\n * @param aiService - AI service\n */\n constructor(\n /**\n * Sisense context service\n *\n * @category Constructor\n */\n public sisenseContextService: SisenseContextService,\n /**\n * Theme service\n *\n * @category Constructor\n */\n public themeService: ThemeService,\n /**\n * AI service\n *\n * @category Constructor\n */\n public aiService: AiService,\n ) {\n this.componentAdapter = new ComponentAdapter(ChatbotPreact, [\n createSisenseContextConnector(this.sisenseContextService),\n createThemeContextConnector(this.themeService),\n createAiContextConnector(this.aiService),\n ]);\n }\n\n /**\n * @internal\n */\n ngAfterViewInit() {\n this.componentAdapter.render(this.preactRef.nativeElement, this.getPreactComponentProps());\n }\n\n /**\n * @internal\n */\n ngOnChanges() {\n if (this.preactRef) {\n this.componentAdapter.render(this.preactRef.nativeElement, this.getPreactComponentProps());\n }\n }\n\n private getPreactComponentProps(): ChatbotPropsPreact {\n return {\n width: this.width,\n height: this.height,\n config: this.config,\n };\n }\n\n /**\n * @internal\n */\n ngOnDestroy() {\n this.componentAdapter.destroy();\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n ViewChild,\n} from '@angular/core';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport {\n createSisenseContextConnector,\n createThemeContextConnector,\n SisenseContextService,\n ThemeService,\n} from '@sisense/sdk-ui-angular';\nimport { ComponentAdapter } from '@sisense/sdk-ui-preact';\nimport {\n GetNlgInsights as GetNlgInsightsPreact,\n type GetNlgInsightsProps as GetNlgInsightsPropsPreact,\n} from '@sisense/sdk-ui-preact/ai';\n\nimport { createAiContextConnector, rootId, styles, template } from '../component-wrapper-helpers';\nimport { AiService } from '../services/ai.service';\n\n/**\n * Props of the {@link GetNlgInsightsComponent}.\n */\nexport interface GetNlgInsightsProps extends GetNlgInsightsPropsPreact {}\n\n/**\n * An Angular component that fetches and displays a collapsible analysis of the provided query using natural language generation (NLG).\n * Specifying NLG parameters is similar to providing parameters to the {@link QueryService.executeQuery} service method, using dimensions, measures, and filters.\n *\n * @example\n * An example of using the `GetNlgInsightsComponent`:\n *\n * ```html\n<!--Component HTML template in example.component.html-->\n<csdk-get-nlg-insights\n [dataSource]=\"nlgParams.dataSource\"\n [dimensions]=\"nlgParams.dimensions\"\n [measures]=\"nlgParams.measures\"\n/>\n * ```\n *\n * ```ts\n// Component behavior in example.component.ts\nimport { Component } from '@angular/core';\nimport { measureFactory } from '@sisense/sdk-data';\nimport * as DM from '../../assets/sample-healthcare-model';\n\n@Component({\n selector: 'example',\n templateUrl: './example.component.html',\n styleUrls: ['./example.component.scss'],\n})\nexport class ExampleComponent {\n nlgParams = {\n dataSource: DM.DataSource.title,\n dimensions: [DM.Divisions.Divison_name],\n measures: [measureFactory.sum(DM.Admissions.Cost_of_admission)],\n };\n}\n * ```\n *\n * <img src=\"media://angular-get-nlg-insights-example.png\" width=\"700px\" />\n * @group Generative AI\n */\n@Component({\n selector: 'csdk-get-nlg-insights',\n template,\n styles,\n})\nexport class GetNlgInsightsComponent implements AfterViewInit, OnChanges, OnDestroy {\n /**\n * @internal\n */\n @ViewChild(rootId)\n preactRef!: ElementRef<HTMLDivElement>;\n\n /**\n * {@inheritDoc @sisense/sdk-ui!GetNlgInsightsProps.dataSource}\n */\n @Input()\n dataSource!: GetNlgInsightsProps['dataSource'];\n\n /**\n * {@inheritDoc @sisense/sdk-ui!GetNlgInsightsProps.dimensions}\n */\n @Input()\n dimensions: GetNlgInsightsProps['dimensions'];\n\n /**\n * {@inheritDoc @sisense/sdk-ui!GetNlgInsightsProps.measures}\n */\n @Input()\n measures: GetNlgInsightsProps['measures'];\n\n /**\n * {@inheritDoc @sisense/sdk-ui!GetNlgInsightsProps.filters}\n */\n @Input()\n filters: GetNlgInsightsProps['filters'];\n\n /**\n * {@inheritDoc @sisense/sdk-ui!GetNlgInsightsProps.verbosity}\n */\n @Input()\n verbosity: GetNlgInsightsProps['verbosity'];\n\n private componentAdapter: ComponentAdapter<typeof GetNlgInsightsPreact>;\n\n /**\n * Constructor for the `GetNlgInsightsProps`.\n *\n * @param sisenseContextService - Sisense context service\n * @param themeService - Theme service\n * @param aiService - AI service\n */\n constructor(\n /**\n * Sisense context service\n *\n * @category Constructor\n */\n public sisenseContextService: SisenseContextService,\n /**\n * Theme service\n *\n * @category Constructor\n */\n public themeService: ThemeService,\n /**\n * AI service\n *\n * @category Constructor\n */\n public aiService: AiService,\n ) {\n this.componentAdapter = new ComponentAdapter(GetNlgInsightsPreact, [\n createSisenseContextConnector(this.sisenseContextService),\n createThemeContextConnector(this.themeService),\n createAiContextConnector(this.aiService),\n ]);\n }\n\n /**\n * @internal\n */\n ngAfterViewInit() {\n this.componentAdapter.render(this.preactRef.nativeElement, this.getPreactComponentProps());\n }\n\n /**\n * @internal\n */\n ngOnChanges() {\n if (this.preactRef) {\n this.componentAdapter.render(this.preactRef.nativeElement, this.getPreactComponentProps());\n }\n }\n\n private getPreactComponentProps(): GetNlgInsightsPropsPreact {\n return {\n dataSource: this.dataSource,\n dimensions: this.dimensions,\n measures: this.measures,\n filters: this.filters,\n verbosity: this.verbosity,\n };\n }\n\n /**\n * @internal\n */\n ngOnDestroy() {\n this.componentAdapter.destroy();\n }\n}\n","/* eslint-disable import/no-extraneous-dependencies */\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SdkUiModule } from '@sisense/sdk-ui-angular';\n\nimport { ChatbotComponent, GetNlgInsightsComponent } from './components';\n\n/**\n * SDK AI Module, which is a container for generative AI components and services.\n *\n * @example\n * Example of importing {@link SdkAiModule} and injecting {@link AiContextConfig} into your application,\n * along with importing dependency {@link SdkUiModule} and injecting {@link SisenseContextConfig} to connect to a Sisense instance:\n *\n * ```ts\n * import { SdkUiModule, SisenseContextConfig } from '@sisense/sdk-ui-angular';\n * import { SdkAiModule, AI_CONTEXT_CONFIG_TOKEN, AiContextConfig } from '@sisense/sdk-ui-angular/ai';\n *\n * const AI_CONTEXT_CONFIG: AiContextConfig = {\n * volatile: true,\n * };\n * const SISENSE_CONTEXT_CONFIG: SisenseContextConfig = {\n * url: \"<instance url>\", // replace with the URL of your Sisense instance\n * token: \"<api token>\", // replace with the API token of your user account\n * defaultDataSource: DM.DataSource,\n * };\n *\n * @NgModule({\n * imports: [\n * BrowserModule,\n * SdkUiModule,\n * SdkAiModule,\n * ],\n * declarations: [AppComponent],\n * providers: [\n * { provide: AI_CONTEXT_CONFIG_TOKEN, useValue: AI_CONTEXT_CONFIG },\n * { provide: SISENSE_CONTEXT_CONFIG_TOKEN, useValue: SISENSE_CONTEXT_CONFIG },\n * ],\n * bootstrap: [AppComponent],\n * })\n * ```\n * @group Generative AI\n */\n@NgModule({\n declarations: [ChatbotComponent, GetNlgInsightsComponent],\n imports: [CommonModule, SdkUiModule],\n exports: [ChatbotComponent, GetNlgInsightsComponent],\n providers: [],\n})\nexport class SdkAiModule {\n constructor() {\n console.log('SdkAiModule loaded');\n }\n}\n","/**\n * Public API Surface of @sisense/sdk-ui-angular/ai\n */\n\nexport * from './lib/components';\nexport * from './lib/sdk-ai.module';\nexport * from './lib/sdk-ui-core-exports';\nexport * from './lib/services';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ChatbotPreact","i2.AiService","GetNlgInsightsPreact"],"mappings":"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"}
1
+ {"version":3,"file":"sisense-sdk-ui-angular-ai.mjs","sources":["../../src/ai/lib/component-wrapper-helpers/context-connectors.ts","../../src/ai/lib/component-wrapper-helpers/template.ts","../../src/ai/lib/services/ai.service.ts","../../src/ai/lib/components/chatbot.component.ts","../../src/ai/lib/components/get-nlg-insights.component.ts","../../src/ai/lib/sdk-ai.module.ts","../../src/ai/public-api.ts","../../src/ai/sisense-sdk-ui-angular-ai.ts"],"sourcesContent":["import { ContextConnector, DataObserver } from '@sisense/sdk-ui-preact';\nimport { CustomAiContextProvider, CustomAiContextProviderProps } from '@sisense/sdk-ui-preact/ai';\n\nimport { AiService } from '../services/ai.service';\n\n/**\n * Creates AI context connector\n *\n * @param aiService - The AI service\n * @internal\n */\nexport const createAiContextConnector = (\n aiService: AiService,\n): ContextConnector<CustomAiContextProviderProps> => {\n const propsObserver = new DataObserver<CustomAiContextProviderProps>();\n\n aiService\n .getApi()\n .then((api) =>\n propsObserver.setValue({\n context: {\n api,\n },\n }),\n )\n .catch((error) =>\n propsObserver.setValue({\n error,\n }),\n );\n\n return {\n propsObserver,\n providerComponent: CustomAiContextProvider,\n };\n};\n","export const rootId = 'preact';\nexport const template = `\n <div #${rootId} class=\"csdk-full-size-container\"></div>\n`;\nexport const styles = [\n `.csdk-full-size-container {\n width: 100%;\n height: 100%;\n }`,\n];\n","import { Inject, Injectable, InjectionToken, Optional } from '@angular/core';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport { SisenseContextService, TrackableService, WidgetProps } from '@sisense/sdk-ui-angular';\nimport {\n AiContextProviderProps,\n ChatRestApi,\n DEFAULT_RECOMMENDATIONS_COUNT,\n GetNlgInsightsResponse,\n GetNlqResultParams,\n GetQueryRecommendationsParams,\n prepareGetNlgInsightsPayload,\n prepareGetNlqResultPayload,\n QueryRecommendation as QueryRecommendationPreact,\n UseGetNlgInsightsParams,\n widgetComposer,\n} from '@sisense/sdk-ui-preact/ai';\n\nexport interface AiContextConfig extends Omit<AiContextProviderProps, 'children'> {}\nexport interface GetNlgInsightsParams extends Omit<UseGetNlgInsightsParams, 'enabled'> {}\n\n/**\n * {@inheritDoc @sisense/sdk-ui!QueryRecommendation}\n */\nexport interface QueryRecommendation extends Omit<QueryRecommendationPreact, 'widgetProps'> {\n /**\n * {@inheritDoc @sisense/sdk-ui!QueryRecommendation.widgetProps}\n */\n widgetProps?: WidgetProps;\n}\n\n/**\n * Token used to inject {@link AiContextConfig} into your application.\n *\n * @example\n * Example of importing {@link SdkAiModule} and injecting {@link AiContextConfig} into your application,\n * along with importing dependency {@link SdkUiModule} and injecting {@link SisenseContextConfig} to connect to a Sisense instance:\n *\n * ```ts\n * import { SdkUiModule, SisenseContextConfig } from '@sisense/sdk-ui-angular';\n * import { SdkAiModule, AI_CONTEXT_CONFIG_TOKEN, AiContextConfig } from '@sisense/sdk-ui-angular/ai';\n *\n * const AI_CONTEXT_CONFIG: AiContextConfig = {\n * volatile: true,\n * };\n * const SISENSE_CONTEXT_CONFIG: SisenseContextConfig = {\n * url: \"<instance url>\", // replace with the URL of your Sisense instance\n * token: \"<api token>\", // replace with the API token of your user account\n * defaultDataSource: DM.DataSource,\n * };\n *\n * @NgModule({\n * imports: [\n * BrowserModule,\n * SdkUiModule,\n * SdkAiModule,\n * ],\n * declarations: [AppComponent],\n * providers: [\n * { provide: AI_CONTEXT_CONFIG_TOKEN, useValue: AI_CONTEXT_CONFIG },\n * { provide: SISENSE_CONTEXT_CONFIG_TOKEN, useValue: SISENSE_CONTEXT_CONFIG },\n * ],\n * bootstrap: [AppComponent],\n * })\n * ```\n * @group Generative AI\n */\nexport const AI_CONTEXT_CONFIG_TOKEN = new InjectionToken<AiContextConfig>('AI Context Config');\n\n/**\n * Service for working with Sisense Fusion Generative AI.\n *\n * @group Generative AI\n */\n@Injectable({\n providedIn: 'root',\n})\n@TrackableService<AiService>(['getNlgInsights', 'getQueryRecommendations'])\nexport class AiService {\n constructor(\n private sisenseContextService: SisenseContextService,\n @Optional() @Inject(AI_CONTEXT_CONFIG_TOKEN) private aiContextConfig?: AiContextConfig,\n ) {}\n\n /** @internal */\n getApi(): Promise<ChatRestApi> {\n return this.sisenseContextService\n .getApp()\n .then((app) => new ChatRestApi(app.httpClient, this.aiContextConfig?.volatile));\n }\n\n /**\n * Fetches an analysis of the provided query using natural language generation (NLG).\n * Specifying NLG parameters is similar to providing parameters to the {@link QueryService.executeQuery} service method, using dimensions, measures, and filters.\n *\n * @param params - Parameters for getting NLG insights\n * @returns NLG insights text summary\n */\n async getNlgInsights(params: GetNlgInsightsParams): Promise<string | undefined> {\n const api = await this.getApi();\n const payload = prepareGetNlgInsightsPayload(params);\n return api.ai\n .getNlgInsights(payload)\n .then((response?: GetNlgInsightsResponse) => response?.data?.answer);\n }\n\n /**\n * Fetches recommended questions for a data model or perspective.\n *\n * @param params - Parameters for recommendations\n * @returns An array of objects, each containing recommended question text and its corresponding `widgetProps`\n * @beta\n */\n async getQueryRecommendations(\n params: GetQueryRecommendationsParams,\n ): Promise<QueryRecommendation[]> {\n const api = await this.getApi();\n const { contextTitle, count, enableAxisTitlesInWidgetProps, customPrompt } = params;\n const recCount = count ?? DEFAULT_RECOMMENDATIONS_COUNT;\n\n const rawRecommendations =\n (await api.ai.getQueryRecommendations(contextTitle, {\n numOfRecommendations: recCount,\n ...(customPrompt ? { userPrompt: customPrompt } : undefined),\n })) || [];\n\n return rawRecommendations.map(\n (recommendation: QueryRecommendationPreact) =>\n ({\n ...recommendation,\n widgetProps: recommendation.jaql\n ? widgetComposer.toWidgetProps(recommendation, {\n useCustomizedStyleOptions: enableAxisTitlesInWidgetProps,\n })\n : undefined,\n } as QueryRecommendation),\n );\n }\n\n /**\n * Executes a natural language query (NLQ) against a data model or perspective\n *\n * @param params - NLQ query parameters\n * @returns The result as WidgetProps\n * @beta\n */\n async getNlqResult(params: GetNlqResultParams): Promise<WidgetProps | undefined> {\n const { contextTitle, request } = prepareGetNlqResultPayload(params);\n const api = await this.getApi();\n\n const data = await api?.ai.getNlqResult(contextTitle, request);\n\n return data\n ? (widgetComposer.toWidgetProps(data, {\n useCustomizedStyleOptions: params.enableAxisTitlesInWidgetProps || false,\n }) as WidgetProps)\n : undefined;\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n ViewChild,\n} from '@angular/core';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport {\n createPluginContextConnector,\n createSisenseContextConnector,\n createThemeContextConnector,\n SisenseContextService,\n ThemeService,\n} from '@sisense/sdk-ui-angular';\nimport { ComponentAdapter } from '@sisense/sdk-ui-preact';\nimport {\n Chatbot as ChatbotPreact,\n type ChatbotProps as ChatbotPropsPreact,\n} from '@sisense/sdk-ui-preact/ai';\n\nimport { createAiContextConnector, rootId, styles, template } from '../component-wrapper-helpers';\nimport { AiService } from '../services/ai.service';\n\n/**\n * Props of the {@link ChatbotComponent}.\n */\nexport interface ChatbotProps extends ChatbotPropsPreact {}\n\n/**\n * An Angular component that renders a chatbot with data topic selection.\n *\n * @example\n * An example of using the `ChatbotComponent`:\n *\n * ```html\n<!--Component HTML template in example.component.html-->\n<csdk-chatbot\n [width]=\"chatbot.width\"\n [height]=\"chatbot.height\"\n [config]=\"chatbot.config\"\n/>\n * ```\n *\n * ```ts\n// Component behavior in example.component.ts\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'example',\n templateUrl: './example.component.html',\n styleUrls: ['./example.component.scss'],\n})\nexport class ExampleComponent {\n chatbot = {\n width: '500px',\n height: '700px',\n config: {\n numOfRecommendations: 5,\n },\n };\n}\n * ```\n *\n * <img src=\"media://angular-chatbot-example.png\" width=\"500px\" />\n * @group Generative AI\n */\n@Component({\n selector: 'csdk-chatbot',\n template,\n styles,\n})\nexport class ChatbotComponent implements AfterViewInit, OnChanges, OnDestroy {\n /**\n * @internal\n */\n @ViewChild(rootId)\n preactRef!: ElementRef<HTMLDivElement>;\n\n /**\n * {@inheritDoc @sisense/sdk-ui!ChatbotProps.width}\n */\n @Input()\n width: ChatbotProps['width'];\n\n /**\n * {@inheritDoc @sisense/sdk-ui!ChatbotProps.height}\n */\n @Input()\n height: ChatbotProps['height'];\n\n /**\n * {@inheritDoc @sisense/sdk-ui!ChatbotProps.config}\n */\n @Input()\n config: ChatbotProps['config'];\n\n private componentAdapter: ComponentAdapter<typeof ChatbotPreact>;\n\n /**\n * Constructor for the `ChatbotComponent`.\n *\n * @param sisenseContextService - Sisense context service\n * @param themeService - Theme service\n * @param aiService - AI service\n */\n constructor(\n /**\n * Sisense context service\n *\n * @category Constructor\n */\n public sisenseContextService: SisenseContextService,\n /**\n * Theme service\n *\n * @category Constructor\n */\n public themeService: ThemeService,\n /**\n * AI service\n *\n * @category Constructor\n */\n public aiService: AiService,\n ) {\n this.componentAdapter = new ComponentAdapter(ChatbotPreact, [\n createPluginContextConnector(this.sisenseContextService),\n createSisenseContextConnector(this.sisenseContextService),\n createThemeContextConnector(this.themeService),\n createAiContextConnector(this.aiService),\n ]);\n }\n\n /**\n * @internal\n */\n ngAfterViewInit() {\n this.componentAdapter.render(this.preactRef.nativeElement, this.getPreactComponentProps());\n }\n\n /**\n * @internal\n */\n ngOnChanges() {\n if (this.preactRef) {\n this.componentAdapter.render(this.preactRef.nativeElement, this.getPreactComponentProps());\n }\n }\n\n private getPreactComponentProps(): ChatbotPropsPreact {\n return {\n width: this.width,\n height: this.height,\n config: this.config,\n };\n }\n\n /**\n * @internal\n */\n ngOnDestroy() {\n this.componentAdapter.destroy();\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n ViewChild,\n} from '@angular/core';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport {\n createPluginContextConnector,\n createSisenseContextConnector,\n createThemeContextConnector,\n SisenseContextService,\n ThemeService,\n} from '@sisense/sdk-ui-angular';\nimport { ComponentAdapter } from '@sisense/sdk-ui-preact';\nimport {\n GetNlgInsights as GetNlgInsightsPreact,\n type GetNlgInsightsProps as GetNlgInsightsPropsPreact,\n} from '@sisense/sdk-ui-preact/ai';\n\nimport { createAiContextConnector, rootId, styles, template } from '../component-wrapper-helpers';\nimport { AiService } from '../services/ai.service';\n\n/**\n * Props of the {@link GetNlgInsightsComponent}.\n */\nexport interface GetNlgInsightsProps extends GetNlgInsightsPropsPreact {}\n\n/**\n * An Angular component that fetches and displays a collapsible analysis of the provided query using natural language generation (NLG).\n * Specifying NLG parameters is similar to providing parameters to the {@link QueryService.executeQuery} service method, using dimensions, measures, and filters.\n *\n * @example\n * An example of using the `GetNlgInsightsComponent`:\n *\n * ```html\n<!--Component HTML template in example.component.html-->\n<csdk-get-nlg-insights\n [dataSource]=\"nlgParams.dataSource\"\n [dimensions]=\"nlgParams.dimensions\"\n [measures]=\"nlgParams.measures\"\n/>\n * ```\n *\n * ```ts\n// Component behavior in example.component.ts\nimport { Component } from '@angular/core';\nimport { measureFactory } from '@sisense/sdk-data';\nimport * as DM from '../../assets/sample-healthcare-model';\n\n@Component({\n selector: 'example',\n templateUrl: './example.component.html',\n styleUrls: ['./example.component.scss'],\n})\nexport class ExampleComponent {\n nlgParams = {\n dataSource: DM.DataSource.title,\n dimensions: [DM.Divisions.Divison_name],\n measures: [measureFactory.sum(DM.Admissions.Cost_of_admission)],\n };\n}\n * ```\n *\n * <img src=\"media://angular-get-nlg-insights-example.png\" width=\"700px\" />\n * @group Generative AI\n */\n@Component({\n selector: 'csdk-get-nlg-insights',\n template,\n styles,\n})\nexport class GetNlgInsightsComponent implements AfterViewInit, OnChanges, OnDestroy {\n /**\n * @internal\n */\n @ViewChild(rootId)\n preactRef!: ElementRef<HTMLDivElement>;\n\n /**\n * {@inheritDoc @sisense/sdk-ui!GetNlgInsightsProps.dataSource}\n */\n @Input()\n dataSource!: GetNlgInsightsProps['dataSource'];\n\n /**\n * {@inheritDoc @sisense/sdk-ui!GetNlgInsightsProps.dimensions}\n */\n @Input()\n dimensions: GetNlgInsightsProps['dimensions'];\n\n /**\n * {@inheritDoc @sisense/sdk-ui!GetNlgInsightsProps.measures}\n */\n @Input()\n measures: GetNlgInsightsProps['measures'];\n\n /**\n * {@inheritDoc @sisense/sdk-ui!GetNlgInsightsProps.filters}\n */\n @Input()\n filters: GetNlgInsightsProps['filters'];\n\n /**\n * {@inheritDoc @sisense/sdk-ui!GetNlgInsightsProps.verbosity}\n */\n @Input()\n verbosity: GetNlgInsightsProps['verbosity'];\n\n private componentAdapter: ComponentAdapter<typeof GetNlgInsightsPreact>;\n\n /**\n * Constructor for the `GetNlgInsightsProps`.\n *\n * @param sisenseContextService - Sisense context service\n * @param themeService - Theme service\n * @param aiService - AI service\n */\n constructor(\n /**\n * Sisense context service\n *\n * @category Constructor\n */\n public sisenseContextService: SisenseContextService,\n /**\n * Theme service\n *\n * @category Constructor\n */\n public themeService: ThemeService,\n /**\n * AI service\n *\n * @category Constructor\n */\n public aiService: AiService,\n ) {\n this.componentAdapter = new ComponentAdapter(GetNlgInsightsPreact, [\n createPluginContextConnector(this.sisenseContextService),\n createSisenseContextConnector(this.sisenseContextService),\n createThemeContextConnector(this.themeService),\n createAiContextConnector(this.aiService),\n ]);\n }\n\n /**\n * @internal\n */\n ngAfterViewInit() {\n this.componentAdapter.render(this.preactRef.nativeElement, this.getPreactComponentProps());\n }\n\n /**\n * @internal\n */\n ngOnChanges() {\n if (this.preactRef) {\n this.componentAdapter.render(this.preactRef.nativeElement, this.getPreactComponentProps());\n }\n }\n\n private getPreactComponentProps(): GetNlgInsightsPropsPreact {\n return {\n dataSource: this.dataSource,\n dimensions: this.dimensions,\n measures: this.measures,\n filters: this.filters,\n verbosity: this.verbosity,\n };\n }\n\n /**\n * @internal\n */\n ngOnDestroy() {\n this.componentAdapter.destroy();\n }\n}\n","/* eslint-disable import/no-extraneous-dependencies */\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SdkUiModule } from '@sisense/sdk-ui-angular';\n\nimport { ChatbotComponent, GetNlgInsightsComponent } from './components';\n\n/**\n * SDK AI Module, which is a container for generative AI components and services.\n *\n * @example\n * Example of importing {@link SdkAiModule} and injecting {@link AiContextConfig} into your application,\n * along with importing dependency {@link SdkUiModule} and injecting {@link SisenseContextConfig} to connect to a Sisense instance:\n *\n * ```ts\n * import { SdkUiModule, SisenseContextConfig } from '@sisense/sdk-ui-angular';\n * import { SdkAiModule, AI_CONTEXT_CONFIG_TOKEN, AiContextConfig } from '@sisense/sdk-ui-angular/ai';\n *\n * const AI_CONTEXT_CONFIG: AiContextConfig = {\n * volatile: true,\n * };\n * const SISENSE_CONTEXT_CONFIG: SisenseContextConfig = {\n * url: \"<instance url>\", // replace with the URL of your Sisense instance\n * token: \"<api token>\", // replace with the API token of your user account\n * defaultDataSource: DM.DataSource,\n * };\n *\n * @NgModule({\n * imports: [\n * BrowserModule,\n * SdkUiModule,\n * SdkAiModule,\n * ],\n * declarations: [AppComponent],\n * providers: [\n * { provide: AI_CONTEXT_CONFIG_TOKEN, useValue: AI_CONTEXT_CONFIG },\n * { provide: SISENSE_CONTEXT_CONFIG_TOKEN, useValue: SISENSE_CONTEXT_CONFIG },\n * ],\n * bootstrap: [AppComponent],\n * })\n * ```\n * @group Generative AI\n */\n@NgModule({\n declarations: [ChatbotComponent, GetNlgInsightsComponent],\n imports: [CommonModule, SdkUiModule],\n exports: [ChatbotComponent, GetNlgInsightsComponent],\n providers: [],\n})\nexport class SdkAiModule {\n constructor() {\n console.log('SdkAiModule loaded');\n }\n}\n","/**\n * Public API Surface of @sisense/sdk-ui-angular/ai\n */\n\nexport * from './lib/components';\nexport * from './lib/sdk-ai.module';\nexport * from './lib/sdk-ui-core-exports';\nexport * from './lib/services';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ChatbotPreact","i2.AiService","GetNlgInsightsPreact"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { InjectionToken, Injectable, Optional, Inject, NgModule, EventEmitter, Component, ViewChild, Input, Output, reflectComponentType, createComponent } from '@angular/core';
3
- import { DataObserver, CustomThemeProvider, CustomSisenseContextProvider, CustomWidgetsProviderAdapter, createClientApplication, getDefaultThemeSettings, getThemeSettingsByOid, ComponentAdapter, Chart, TabberButtonsWidget, createElement, ExternalComponentAdapterElement, getDashboardModel, getDashboardModels, HookAdapter, useComposedDashboardInternal, createHookApiFacade, useGetFilterMembers, useGetSharedFormulaInternal, getHierarchyModels, executeQuery, executeQueryByWidgetId, executePivotQuery, useExecuteCsvQueryInternal, useExecuteCustomWidgetQueryInternal, getWidgetModel, useJtdWidget, PivotTable, Table, ContextMenu, createWrapperElement, Dashboard, DashboardById, DrilldownBreadcrumbs, CriteriaFilterTile, DateRangeFilterTile, FilterTile, FiltersPanel, MemberFilterTile, RelativeDateFilterTile, ChartWidget, DrilldownWidget, createWrapperElementHandler, createComponentRenderer, PivotTableWidget, TableWidget, Widget, WidgetById, dashboardModelTranslator as dashboardModelTranslator$1, dashboardHelpers as dashboardHelpers$1, widgetModelTranslator as widgetModelTranslator$1 } from '@sisense/sdk-ui-preact';
3
+ import { DataObserver, CustomThemeProvider, CustomSisenseContextProvider, CustomPluginContextProvider, CustomWidgetsProviderAdapter, createClientApplication, getDefaultThemeSettings, getThemeSettingsByOid, ComponentAdapter, Chart, TabberButtonsWidget, createElement, ExternalComponentAdapterElement, getDashboardModel, getDashboardModels, HookAdapter, useComposedDashboardInternal, createHookApiFacade, useGetFilterMembers, useGetSharedFormulaInternal, getHierarchyModels, executeQuery, executeQueryByWidgetId, executePivotQuery, useExecuteCsvQueryInternal, useExecuteCustomWidgetQueryInternal, getWidgetModel, useJtdWidget, PivotTable, Table, ContextMenu, createWrapperElement, Dashboard, DashboardById, DrilldownBreadcrumbs, CriteriaFilterTile, DateRangeFilterTile, FilterTile, FiltersPanel, MemberFilterTile, RelativeDateFilterTile, ChartWidget, DrilldownWidget, createWrapperElementHandler, createComponentRenderer, PivotTableWidget, TableWidget, Widget, WidgetById, dashboardModelTranslator as dashboardModelTranslator$1, dashboardHelpers as dashboardHelpers$1, widgetModelTranslator as widgetModelTranslator$1 } from '@sisense/sdk-ui-preact';
4
4
  export { boxWhiskerProcessResult, extractDimensionsAndMeasures } from '@sisense/sdk-ui-preact';
5
5
  import { __awaiter, __decorate, __rest } from 'tslib';
6
6
  import { ReplaySubject, firstValueFrom, concat, of, BehaviorSubject, skip } from 'rxjs';
@@ -87,6 +87,35 @@ const createSisenseContextConnector = (sisenseContextService) => {
87
87
  providerComponent: CustomSisenseContextProvider,
88
88
  };
89
89
  };
90
+ /**
91
+ * Creates plugin context connector
92
+ *
93
+ * @param sisenseContextService - The Sisense context service
94
+ * @internal
95
+ */
96
+ const createPluginContextConnector = (sisenseContextService) => {
97
+ var _a, _b;
98
+ const propsObserver = new DataObserver({
99
+ context: { plugins: (_b = (_a = sisenseContextService.getConfig()) === null || _a === void 0 ? void 0 : _a.plugins) !== null && _b !== void 0 ? _b : [] },
100
+ });
101
+ sisenseContextService.getApp$().subscribe({
102
+ next: () => {
103
+ var _a, _b;
104
+ propsObserver.setValue({
105
+ context: { plugins: (_b = (_a = sisenseContextService.getConfig()) === null || _a === void 0 ? void 0 : _a.plugins) !== null && _b !== void 0 ? _b : [] },
106
+ });
107
+ },
108
+ error: (error) => {
109
+ propsObserver.setValue({
110
+ error,
111
+ });
112
+ },
113
+ });
114
+ return {
115
+ propsObserver,
116
+ providerComponent: CustomPluginContextProvider,
117
+ };
118
+ };
90
119
  /**
91
120
  * Creates custom widgets context connector
92
121
  *
@@ -262,7 +291,7 @@ class SisenseContextService {
262
291
  this.config = Object.assign(Object.assign({}, config), { showRuntimeErrors: (_a = config.showRuntimeErrors) !== null && _a !== void 0 ? _a : true });
263
292
  this.isInitialized = true;
264
293
  try {
265
- const app = yield createClientApplication(this.config);
294
+ const app = yield createClientApplication(Object.assign(Object.assign({}, this.config), { packageName: 'sdk-ui-angular' }));
266
295
  this.app$.next({ app });
267
296
  }
268
297
  catch (error) {
@@ -287,7 +316,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
287
316
  }] }];
288
317
  } });
289
318
 
290
- var packageVersion = '2.22.0';
319
+ var packageVersion = '2.24.0';
291
320
 
292
321
  class DecoratorsModule {
293
322
  constructor(sisenseContextService) {
@@ -561,6 +590,7 @@ class ChartComponent {
561
590
  */
562
591
  this.dataPointsSelect = new EventEmitter();
563
592
  this.componentAdapter = new ComponentAdapter(Chart, [
593
+ createPluginContextConnector(this.sisenseContextService),
564
594
  createSisenseContextConnector(this.sisenseContextService),
565
595
  createThemeContextConnector(this.themeService),
566
596
  ]);
@@ -2434,7 +2464,10 @@ let DashboardService = class DashboardService {
2434
2464
  * the dashboard is no longer needed to prevent memory leaks (e.g., in `ngOnDestroy`).
2435
2465
  */
2436
2466
  createComposedDashboard(initialDashboard, options = {}) {
2437
- const hookAdapter = new HookAdapter((useComposedDashboardInternal), [createSisenseContextConnector(this.sisenseContextService)]);
2467
+ const hookAdapter = new HookAdapter((useComposedDashboardInternal), [
2468
+ createPluginContextConnector(this.sisenseContextService),
2469
+ createSisenseContextConnector(this.sisenseContextService),
2470
+ ]);
2438
2471
  const dashboard$ = new BehaviorSubject(initialDashboard);
2439
2472
  hookAdapter.subscribe(({ dashboard }) => {
2440
2473
  dashboard$.next(toDashboardProps$1(dashboard));
@@ -2503,6 +2536,7 @@ let FilterService = class FilterService {
2503
2536
  getFilterMembers(params) {
2504
2537
  return __awaiter(this, void 0, void 0, function* () {
2505
2538
  const hookAdapter = new HookAdapter(useGetFilterMembers, [
2539
+ createPluginContextConnector(this.sisenseContextService),
2506
2540
  createSisenseContextConnector(this.sisenseContextService),
2507
2541
  ]);
2508
2542
  const resultPromise = new Promise((resolve, reject) => {
@@ -2599,6 +2633,7 @@ let FormulaService = class FormulaService {
2599
2633
  getSharedFormula(params) {
2600
2634
  return __awaiter(this, void 0, void 0, function* () {
2601
2635
  const hookAdapter = new HookAdapter(useGetSharedFormulaInternal, [
2636
+ createPluginContextConnector(this.sisenseContextService),
2602
2637
  createSisenseContextConnector(this.sisenseContextService),
2603
2638
  ]);
2604
2639
  const resultPromise = new Promise((resolve, reject) => {
@@ -2752,6 +2787,7 @@ let QueryService = class QueryService {
2752
2787
  executeCsvQuery(params) {
2753
2788
  return __awaiter(this, void 0, void 0, function* () {
2754
2789
  const hookAdapter = new HookAdapter(useExecuteCsvQueryInternal, [
2790
+ createPluginContextConnector(this.sisenseContextService),
2755
2791
  createSisenseContextConnector(this.sisenseContextService),
2756
2792
  ]);
2757
2793
  const resultPromise = new Promise((resolve, reject) => {
@@ -2783,6 +2819,7 @@ let QueryService = class QueryService {
2783
2819
  executeCustomWidgetQuery(params) {
2784
2820
  return __awaiter(this, void 0, void 0, function* () {
2785
2821
  const hookAdapter = new HookAdapter(useExecuteCustomWidgetQueryInternal, [
2822
+ createPluginContextConnector(this.sisenseContextService),
2786
2823
  createSisenseContextConnector(this.sisenseContextService),
2787
2824
  ]);
2788
2825
  const resultPromise = new Promise((resolve, reject) => {
@@ -2947,6 +2984,7 @@ let WidgetService = class WidgetService {
2947
2984
  }
2948
2985
  // Create HookAdapter with useJtdWidget hook and context connectors
2949
2986
  const hookAdapter = new HookAdapter(useJtdWidget, [
2987
+ createPluginContextConnector(this.sisenseContextService),
2950
2988
  createSisenseContextConnector(this.sisenseContextService),
2951
2989
  createThemeContextConnector(this.themeService),
2952
2990
  ]);
@@ -3070,6 +3108,7 @@ class PivotTableComponent {
3070
3108
  */
3071
3109
  this.dataPointContextMenu = new EventEmitter();
3072
3110
  this.componentAdapter = new ComponentAdapter(PivotTable, [
3111
+ createPluginContextConnector(this.sisenseContextService),
3073
3112
  createSisenseContextConnector(this.sisenseContextService),
3074
3113
  createThemeContextConnector(this.themeService),
3075
3114
  ]);
@@ -3822,6 +3861,7 @@ class TableComponent {
3822
3861
  this.sisenseContextService = sisenseContextService;
3823
3862
  this.themeService = themeService;
3824
3863
  this.componentAdapter = new ComponentAdapter(Table, [
3864
+ createPluginContextConnector(this.sisenseContextService),
3825
3865
  createSisenseContextConnector(this.sisenseContextService),
3826
3866
  createThemeContextConnector(this.themeService),
3827
3867
  ]);
@@ -4038,6 +4078,7 @@ class ContextMenuComponent {
4038
4078
  */
4039
4079
  this.contextMenuClose = new EventEmitter();
4040
4080
  this.componentAdapter = new ComponentAdapter(ContextMenu, [
4081
+ createPluginContextConnector(this.sisenseContextService),
4041
4082
  createSisenseContextConnector(this.sisenseContextService),
4042
4083
  createThemeContextConnector(this.themeService),
4043
4084
  ]);
@@ -4168,6 +4209,7 @@ class DashboardComponent {
4168
4209
  this.themeService = themeService;
4169
4210
  this.customWidgetsService = customWidgetsService;
4170
4211
  this.componentAdapter = new ComponentAdapter(Dashboard, [
4212
+ createPluginContextConnector(this.sisenseContextService),
4171
4213
  createCustomWidgetsContextConnector(this.customWidgetsService),
4172
4214
  createSisenseContextConnector(this.sisenseContextService),
4173
4215
  createThemeContextConnector(this.themeService),
@@ -4289,6 +4331,7 @@ class DashboardByIdComponent {
4289
4331
  this.themeService = themeService;
4290
4332
  this.customWidgetsService = customWidgetsService;
4291
4333
  this.componentAdapter = new ComponentAdapter(DashboardById, [
4334
+ createPluginContextConnector(this.sisenseContextService),
4292
4335
  createCustomWidgetsContextConnector(this.customWidgetsService),
4293
4336
  createSisenseContextConnector(this.sisenseContextService),
4294
4337
  createThemeContextConnector(this.themeService),
@@ -4375,6 +4418,7 @@ class DrilldownBreadcrumbsComponent {
4375
4418
  */
4376
4419
  this.drilldownSelectionsSlice = new EventEmitter();
4377
4420
  this.componentAdapter = new ComponentAdapter(DrilldownBreadcrumbs, [
4421
+ createPluginContextConnector(this.sisenseContextService),
4378
4422
  createSisenseContextConnector(this.sisenseContextService),
4379
4423
  createThemeContextConnector(this.themeService),
4380
4424
  ]);
@@ -4489,6 +4533,7 @@ class CriteriaFilterTileComponent {
4489
4533
  */
4490
4534
  this.filterChange = new EventEmitter();
4491
4535
  this.componentAdapter = new ComponentAdapter(CriteriaFilterTile, [
4536
+ createPluginContextConnector(this.sisenseContextService),
4492
4537
  createSisenseContextConnector(this.sisenseContextService),
4493
4538
  createThemeContextConnector(this.themeService),
4494
4539
  ]);
@@ -4614,6 +4659,7 @@ class DateRangeFilterTileComponent {
4614
4659
  */
4615
4660
  this.filterChange = new EventEmitter();
4616
4661
  this.componentAdapter = new ComponentAdapter(DateRangeFilterTile, [
4662
+ createPluginContextConnector(this.sisenseContextService),
4617
4663
  createSisenseContextConnector(this.sisenseContextService),
4618
4664
  createThemeContextConnector(this.themeService),
4619
4665
  ]);
@@ -4780,6 +4826,7 @@ class FilterTileComponent {
4780
4826
  */
4781
4827
  this.filterDelete = new EventEmitterWithHasListeners();
4782
4828
  this.componentAdapter = new ComponentAdapter(FilterTile, [
4829
+ createPluginContextConnector(this.sisenseContextService),
4783
4830
  createSisenseContextConnector(this.sisenseContextService),
4784
4831
  createThemeContextConnector(this.themeService),
4785
4832
  ]);
@@ -5021,6 +5068,7 @@ class MemberFilterTileComponent {
5021
5068
  */
5022
5069
  this.filterChange = new EventEmitter();
5023
5070
  this.componentAdapter = new ComponentAdapter(MemberFilterTile, [
5071
+ createPluginContextConnector(this.sisenseContextService),
5024
5072
  createSisenseContextConnector(this.sisenseContextService),
5025
5073
  createThemeContextConnector(this.themeService),
5026
5074
  ]);
@@ -5143,6 +5191,7 @@ class RelativeDateFilterTileComponent {
5143
5191
  */
5144
5192
  this.filterChange = new EventEmitter();
5145
5193
  this.componentAdapter = new ComponentAdapter(RelativeDateFilterTile, [
5194
+ createPluginContextConnector(this.sisenseContextService),
5146
5195
  createSisenseContextConnector(this.sisenseContextService),
5147
5196
  createThemeContextConnector(this.themeService),
5148
5197
  ]);
@@ -5277,6 +5326,7 @@ class ChartWidgetComponent {
5277
5326
  */
5278
5327
  this.dataPointsSelect = new EventEmitter();
5279
5328
  this.componentAdapter = new ComponentAdapter(ChartWidget, [
5329
+ createPluginContextConnector(this.sisenseContextService),
5280
5330
  createSisenseContextConnector(this.sisenseContextService),
5281
5331
  createThemeContextConnector(this.themeService),
5282
5332
  ]);
@@ -5453,6 +5503,7 @@ class DrilldownWidgetComponent {
5453
5503
  */
5454
5504
  this.drilldownResultChange = new EventEmitter();
5455
5505
  this.componentAdapter = new ComponentAdapter(DrilldownWidget, [
5506
+ createPluginContextConnector(this.sisenseContextService),
5456
5507
  createSisenseContextConnector(this.sisenseContextService),
5457
5508
  createThemeContextConnector(this.themeService),
5458
5509
  ]);
@@ -5592,6 +5643,7 @@ class PivotTableWidgetComponent {
5592
5643
  */
5593
5644
  this.dataPointContextMenu = new EventEmitter();
5594
5645
  this.componentAdapter = new ComponentAdapter(PivotTableWidget, [
5646
+ createPluginContextConnector(this.sisenseContextService),
5595
5647
  createSisenseContextConnector(this.sisenseContextService),
5596
5648
  createThemeContextConnector(this.themeService),
5597
5649
  ]);
@@ -5700,6 +5752,7 @@ class TableWidgetComponent {
5700
5752
  this.sisenseContextService = sisenseContextService;
5701
5753
  this.themeService = themeService;
5702
5754
  this.componentAdapter = new ComponentAdapter(TableWidget, [
5755
+ createPluginContextConnector(this.sisenseContextService),
5703
5756
  createSisenseContextConnector(this.sisenseContextService),
5704
5757
  createThemeContextConnector(this.themeService),
5705
5758
  ]);
@@ -5815,6 +5868,7 @@ class WidgetComponent {
5815
5868
  */
5816
5869
  this.dataPointsSelect = new EventEmitter();
5817
5870
  this.componentAdapter = new ComponentAdapter(Widget, [
5871
+ createPluginContextConnector(this.sisenseContextService),
5818
5872
  createSisenseContextConnector(this.sisenseContextService),
5819
5873
  createThemeContextConnector(this.themeService),
5820
5874
  ]);
@@ -5942,6 +5996,7 @@ class WidgetByIdComponent {
5942
5996
  this.sisenseContextService = sisenseContextService;
5943
5997
  this.themeService = themeService;
5944
5998
  this.componentAdapter = new ComponentAdapter(WidgetById, [
5999
+ createPluginContextConnector(this.sisenseContextService),
5945
6000
  createSisenseContextConnector(this.sisenseContextService),
5946
6001
  createThemeContextConnector(this.themeService),
5947
6002
  ]);
@@ -6758,5 +6813,5 @@ var widgetModelTranslator = /*#__PURE__*/Object.freeze({
6758
6813
  * Generated bundle index. Do not edit.
6759
6814
  */
6760
6815
 
6761
- export { AreaChartComponent, AreaRangeChartComponent, AreamapChartComponent, BarChartComponent, BoxplotChartComponent, CalendarHeatmapChartComponent, ChartComponent, ChartWidgetComponent, ColumnChartComponent, ContextMenuComponent, CriteriaFilterTileComponent, CustomWidgetsService, DashboardByIdComponent, DashboardComponent, DashboardService, DateRangeFilterTileComponent, DrilldownBreadcrumbsComponent, DrilldownWidgetComponent, FilterService, FilterTileComponent, FiltersPanelComponent, FormulaService, FunnelChartComponent, HierarchyService, IndicatorChartComponent, LineChartComponent, MemberFilterTileComponent, PieChartComponent, PivotTableComponent, PivotTableWidgetComponent, PolarChartComponent, QueryService, RelativeDateFilterTileComponent, SISENSE_CONTEXT_CONFIG_TOKEN, ScatterChartComponent, ScattermapChartComponent, SdkUiModule, SisenseContextService, StreamgraphChartComponent, SunburstChartComponent, THEME_CONFIG_TOKEN, TableComponent, TableWidgetComponent, ThemeService, TrackableService, TreemapChartComponent, WidgetByIdComponent, WidgetComponent, WidgetService, createCustomWidgetsContextConnector, createSisenseContextConnector, createThemeContextConnector, dashboardHelpers, dashboardModelTranslator, widgetModelTranslator };
6816
+ export { AreaChartComponent, AreaRangeChartComponent, AreamapChartComponent, BarChartComponent, BoxplotChartComponent, CalendarHeatmapChartComponent, ChartComponent, ChartWidgetComponent, ColumnChartComponent, ContextMenuComponent, CriteriaFilterTileComponent, CustomWidgetsService, DashboardByIdComponent, DashboardComponent, DashboardService, DateRangeFilterTileComponent, DrilldownBreadcrumbsComponent, DrilldownWidgetComponent, FilterService, FilterTileComponent, FiltersPanelComponent, FormulaService, FunnelChartComponent, HierarchyService, IndicatorChartComponent, LineChartComponent, MemberFilterTileComponent, PieChartComponent, PivotTableComponent, PivotTableWidgetComponent, PolarChartComponent, QueryService, RelativeDateFilterTileComponent, SISENSE_CONTEXT_CONFIG_TOKEN, ScatterChartComponent, ScattermapChartComponent, SdkUiModule, SisenseContextService, StreamgraphChartComponent, SunburstChartComponent, THEME_CONFIG_TOKEN, TableComponent, TableWidgetComponent, ThemeService, TrackableService, TreemapChartComponent, WidgetByIdComponent, WidgetComponent, WidgetService, createCustomWidgetsContextConnector, createPluginContextConnector, createSisenseContextConnector, createThemeContextConnector, dashboardHelpers, dashboardModelTranslator, widgetModelTranslator };
6762
6817
  //# sourceMappingURL=sisense-sdk-ui-angular.mjs.map