@c8y/ngx-components 1023.0.0 → 1023.4.1

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 (69) hide show
  1. package/ai/agent-chat/index.d.ts +114 -0
  2. package/ai/agent-chat/index.d.ts.map +1 -0
  3. package/ai/ai-chat/index.d.ts +145 -0
  4. package/ai/ai-chat/index.d.ts.map +1 -0
  5. package/ai/index.d.ts +203 -0
  6. package/ai/index.d.ts.map +1 -0
  7. package/context-dashboard/device/add/index.d.ts +15 -1
  8. package/context-dashboard/device/add/index.d.ts.map +1 -1
  9. package/context-dashboard/device/view/index.d.ts +14 -2
  10. package/context-dashboard/device/view/index.d.ts.map +1 -1
  11. package/context-dashboard/devicemanagement/index.d.ts +10 -0
  12. package/context-dashboard/devicemanagement/index.d.ts.map +1 -0
  13. package/context-dashboard/index.d.ts +6 -30
  14. package/context-dashboard/index.d.ts.map +1 -1
  15. package/fesm2022/c8y-ngx-components-ai-agent-chat.mjs +387 -0
  16. package/fesm2022/c8y-ngx-components-ai-agent-chat.mjs.map +1 -0
  17. package/fesm2022/c8y-ngx-components-ai-ai-chat.mjs +258 -0
  18. package/fesm2022/c8y-ngx-components-ai-ai-chat.mjs.map +1 -0
  19. package/fesm2022/c8y-ngx-components-ai.mjs +291 -0
  20. package/fesm2022/c8y-ngx-components-ai.mjs.map +1 -0
  21. package/fesm2022/c8y-ngx-components-context-dashboard-cockpit-home-dashboard.mjs +1 -1
  22. package/fesm2022/c8y-ngx-components-context-dashboard-cockpit-home-dashboard.mjs.map +1 -1
  23. package/fesm2022/c8y-ngx-components-context-dashboard-device-add.mjs +1 -1
  24. package/fesm2022/c8y-ngx-components-context-dashboard-device-view.mjs +2 -2
  25. package/fesm2022/c8y-ngx-components-context-dashboard-devicemanagement.mjs +68 -0
  26. package/fesm2022/c8y-ngx-components-context-dashboard-devicemanagement.mjs.map +1 -0
  27. package/fesm2022/c8y-ngx-components-context-dashboard.mjs +27 -45
  28. package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  29. package/fesm2022/c8y-ngx-components-echart.mjs +15 -17
  30. package/fesm2022/c8y-ngx-components-echart.mjs.map +1 -1
  31. package/fesm2022/c8y-ngx-components-global-context.mjs +10 -10
  32. package/fesm2022/c8y-ngx-components-global-context.mjs.map +1 -1
  33. package/fesm2022/c8y-ngx-components-register-device.mjs +4 -6
  34. package/fesm2022/c8y-ngx-components-register-device.mjs.map +1 -1
  35. package/fesm2022/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs +2 -2
  36. package/fesm2022/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs.map +1 -1
  37. package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget-ai-config.mjs +574 -0
  38. package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget-ai-config.mjs.map +1 -0
  39. package/fesm2022/c8y-ngx-components-widgets-exports.mjs +8 -1
  40. package/fesm2022/c8y-ngx-components-widgets-exports.mjs.map +1 -1
  41. package/fesm2022/c8y-ngx-components-widgets-implementations-html-widget.mjs +176 -41
  42. package/fesm2022/c8y-ngx-components-widgets-implementations-html-widget.mjs.map +1 -1
  43. package/fesm2022/c8y-ngx-components.mjs +96 -44
  44. package/fesm2022/c8y-ngx-components.mjs.map +1 -1
  45. package/index.d.ts +25 -4
  46. package/index.d.ts.map +1 -1
  47. package/locales/de.po +49 -52
  48. package/locales/es.po +42 -42
  49. package/locales/fr.po +35 -39
  50. package/locales/ja_JP.po +32 -32
  51. package/locales/ko.po +39 -40
  52. package/locales/locales.pot +144 -9
  53. package/locales/nl.po +37 -37
  54. package/locales/pl.po +51 -54
  55. package/locales/pt_BR.po +38 -39
  56. package/locales/zh_CN.po +36 -36
  57. package/locales/zh_TW.po +45 -45
  58. package/package.json +1 -1
  59. package/register-device/index.d.ts.map +1 -1
  60. package/widgets/cockpit-exports/index.d.ts +6 -0
  61. package/widgets/cockpit-exports/index.d.ts.map +1 -1
  62. package/widgets/definitions/html-widget-ai-config/index.d.ts +6 -0
  63. package/widgets/definitions/html-widget-ai-config/index.d.ts.map +1 -0
  64. package/widgets/device-management-exports/index.d.ts +6 -0
  65. package/widgets/device-management-exports/index.d.ts.map +1 -1
  66. package/widgets/exports/index.d.ts +8 -1
  67. package/widgets/exports/index.d.ts.map +1 -1
  68. package/widgets/implementations/html-widget/index.d.ts +72 -16
  69. package/widgets/implementations/html-widget/index.d.ts.map +1 -1
@@ -877,6 +877,43 @@ function hookPatternMessages(patterns, options) {
877
877
  return hookGeneric(patterns, HOOK_PATTERN_MESSAGES, options);
878
878
  }
879
879
 
880
+ /**
881
+ * Returns a trimmed translation key.
882
+ * If the key contains HTML, it also removes all whitespaces.
883
+ * The reason behind it is that by default Angular compiler removes
884
+ * whitespaces from adjacent inline elements,
885
+ * which prevents ngx-translate from finding a matching entry in the dictionary.
886
+ */
887
+ function trimTranslationKey(key) {
888
+ key = key
889
+ .replace(/(\r\n|\n|\r)/gm, '')
890
+ .replace(/\s{2,}/g, ' ')
891
+ .trim();
892
+ const containsHTML = /(<([^>]+)>)/i.test(key);
893
+ return containsHTML ? key.replace(/\s/g, '') : key;
894
+ }
895
+ /**
896
+ * We want to have translation keys unified, so they don't contain unnecessary spaces and line breaks.
897
+ * This way we can dynamically build keys from HTML, and match them to extracted string, that might be HTML as well.
898
+ */
899
+ function getDictionaryWithTrimmedKeys(dictionary) {
900
+ return mapKeys(dictionary, (value, key) => trimTranslationKey(key));
901
+ }
902
+ /**
903
+ * Removes inline context indicators enclosed in backticks from a translation string.
904
+ *
905
+ * @param translation - The original translation string that may contain backtick-enclosed context indicators.
906
+ *
907
+ * @example
908
+ * ```ts
909
+ * removeContextIndicators("Hello World`context`");
910
+ * // Returns: "Hello World"
911
+ * ```
912
+ */
913
+ function removeContextIndicators(translation) {
914
+ return translation.replace(/`[^`]*`/g, '');
915
+ }
916
+
880
917
  class MissingTranslationCustomHandler {
881
918
  constructor(parser, store, patterns) {
882
919
  this.parser = parser;
@@ -900,7 +937,7 @@ class MissingTranslationCustomHandler {
900
937
  else {
901
938
  translation = this.parser.interpolate(messageKey, interpolateParams);
902
939
  }
903
- translation = this.removeContextIndicators(translation);
940
+ translation = removeContextIndicators(translation);
904
941
  this.addToCache(messageKey, interpolateParams, translation);
905
942
  }
906
943
  return translation;
@@ -931,9 +968,6 @@ class MissingTranslationCustomHandler {
931
968
  }
932
969
  return undefined;
933
970
  }
934
- removeContextIndicators(translation) {
935
- return translation.replace(/`[^`]*`/g, '');
936
- }
937
971
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: MissingTranslationCustomHandler, deps: [{ token: i1$1.TranslateParser }, { token: i1$1.TranslateStore }, { token: HOOK_PATTERN_MESSAGES, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
938
972
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: MissingTranslationCustomHandler }); }
939
973
  }
@@ -3085,6 +3119,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
3085
3119
  * Provides copy of original pipe for C8yTranslateModule
3086
3120
  */
3087
3121
  class C8yTranslatePipe extends TranslatePipe {
3122
+ transform(query, ...args) {
3123
+ if (args[0]?.noTranslateRemoveContext) {
3124
+ return removeContextIndicators(query);
3125
+ }
3126
+ return super.transform(query, ...args);
3127
+ }
3088
3128
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: C8yTranslatePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
3089
3129
  static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.3", ngImport: i0, type: C8yTranslatePipe, isStandalone: true, name: "translate", pure: false }); }
3090
3130
  }
@@ -3179,29 +3219,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
3179
3219
  }]
3180
3220
  }] });
3181
3221
 
3182
- /**
3183
- * Returns a trimmed translation key.
3184
- * If the key contains HTML, it also removes all whitespaces.
3185
- * The reason behind it is that by default Angular compiler removes
3186
- * whitespaces from adjacent inline elements,
3187
- * which prevents ngx-translate from finding a matching entry in the dictionary.
3188
- */
3189
- function trimTranslationKey(key) {
3190
- key = key
3191
- .replace(/(\r\n|\n|\r)/gm, '')
3192
- .replace(/\s{2,}/g, ' ')
3193
- .trim();
3194
- const containsHTML = /(<([^>]+)>)/i.test(key);
3195
- return containsHTML ? key.replace(/\s/g, '') : key;
3196
- }
3197
- /**
3198
- * We want to have translation keys unified, so they don't contain unnecessary spaces and line breaks.
3199
- * This way we can dynamically build keys from HTML, and match them to extracted string, that might be HTML as well.
3200
- */
3201
- function getDictionaryWithTrimmedKeys(dictionary) {
3202
- return mapKeys(dictionary, (value, key) => trimTranslationKey(key));
3203
- }
3204
-
3205
3222
  /**
3206
3223
  * Injection token for providing the context path of a plugin.
3207
3224
  *
@@ -4611,7 +4628,7 @@ class TranslateService {
4611
4628
  window.localStorage.setItem(TranslateService.SAVE_LANGUAGE_KEY, lang);
4612
4629
  }
4613
4630
  getSupported(localeCode) {
4614
- if (!localeCode) {
4631
+ if (!localeCode || typeof localeCode !== 'string') {
4615
4632
  return undefined;
4616
4633
  }
4617
4634
  const localeCodeParsed = this.parseLocaleCode(localeCode);
@@ -4943,7 +4960,12 @@ const ES_MAX_TIME_MILLISECONDS = 8640000000000000;
4943
4960
  * <span class="highlight">{{ deadline | c8yDate }}</span> <!-- e.g. 7 May 2020, 17:45:19 (en-GB) or 07.05.2020, 17:45:19 (de) -->
4944
4961
  * <span>{{ lastUpdated | c8yDate: 'a h:MM:ss' }}</span> <!-- e.g. pm 5:45:19 -->
4945
4962
  * <span>{{ 8640000000000000 + 1 | c8yDate }}</span> <!-- e.g. after 13 Sep 275760, 03:00:00 -->
4963
+ * <span>{{ timestamp | c8yDate: 'adaptiveDate' }}</span> <!-- e.g. 2:45 PM for today's date or Oct 23, 2025 for other dates -->
4946
4964
  * ```
4965
+ *
4966
+ * The `adaptiveDate` format type automatically selects the appropriate format based on the date:
4967
+ * - For dates from today: Uses the `shortTime` format (e.g., "2:45 PM")
4968
+ * - For all other dates: Uses the `mediumDate` format (e.g., "Oct 23, 2025")
4947
4969
  */
4948
4970
  class DatePipe extends DatePipe$1 {
4949
4971
  constructor(locale, translateService, appStateService, dateFormatService, defaultTimezone, defaultOptions) {
@@ -4959,6 +4981,17 @@ class DatePipe extends DatePipe$1 {
4959
4981
  }
4960
4982
  // Apply locale mapping to ensure consistent Angular locale usage
4961
4983
  currentLocale = getAngularLocalesLanguageString(currentLocale);
4984
+ // Handle adaptiveDate format type
4985
+ if (format === 'adaptiveDate' && value) {
4986
+ const inputDate = new Date(value);
4987
+ const today = new Date(Date.now());
4988
+ // Check if the date is from today by comparing year, month, and day
4989
+ const isToday = inputDate.getFullYear() === today.getFullYear() &&
4990
+ inputDate.getMonth() === today.getMonth() &&
4991
+ inputDate.getDate() === today.getDate();
4992
+ // Use 'shortTime' format for today's dates, 'mediumDate' for other dates
4993
+ format = isToday ? 'shortTime' : 'mediumDate';
4994
+ }
4962
4995
  if (format === 'short' && this.dateFormatService && currentLocale) {
4963
4996
  // Angular doesn't provide a predefined format with leading zeros (e.g., "01.01.2025")
4964
4997
  // The 'shortDate' format would display as "1/1/25" (without leading zeros and with 2-digit year)
@@ -11066,21 +11099,19 @@ class ActionBarComponent {
11066
11099
  return -item.priority;
11067
11100
  }
11068
11101
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: ActionBarComponent, deps: [{ token: GainsightService }], target: i0.ɵɵFactoryTarget.Component }); }
11069
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.3", type: ActionBarComponent, isStandalone: true, selector: "c8y-action-bar", inputs: { navigatorOpen: "navigatorOpen", hasTabs: "hasTabs", hasHeader: "hasHeader", isTabsHorizontal: "isTabsHorizontal", items$: "items$" }, host: { listeners: { "mousedown": "mouseDown($event.target)" }, properties: { "class.navigator-open": "this.navigatorOpen", "class.has-tabs": "this.hasTabs", "class.has-header": "this.hasHeader", "class.horizontal-tabs": "this.isTabsHorizontal", "class.c8y-ui-action-bar": "this.uiActionBar", "hidden": "this.hidden" }, classAttribute: "c8y-ui-action-bar" }, ngImport: i0, template: "<div\n class=\"navbar-header\"\n role=\"presentation\"\n>\n <p class=\"text-label-small p-l-16 p-t-8 p-b-8 visible-xs\">\n <span class=\"text-primary\">{{ 'Action bar' | translate }}</span>\n </p>\n</div>\n\n<div\n class=\"navbar-collapse\"\n id=\"page-toolbar\"\n role=\"complementary\"\n>\n <ul class=\"nav navbar-nav navbar-left gap-sm-8 p-l-sm-16 p-l-lg-0\">\n <ng-container *ngFor=\"let item of left$ | async\">\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n </ng-container>\n </ul>\n <ul class=\"nav navbar-nav navbar-right gap-sm-8\">\n <ng-container *ngFor=\"let item of right$ | async\">\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n </ng-container>\n <li *ngIf=\"(more$ | async).length === 1; else moreWithMultipleOptions\">\n <ng-container *ngFor=\"let item of more$ | async\">\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n </ng-container>\n </li>\n <ng-template #moreWithMultipleOptions>\n <li\n class=\"no-remove more-wrapper\"\n *ngIf=\"(more$ | async).length > 1\"\n >\n <div\n class=\"dropdown\"\n dropdown\n >\n <c8y-action-bar-item\n [placement]=\"'right'\"\n >\n <button\n class=\"dropdown-toggle c8y-dropdown d-flex\"\n title=\"{{ 'More\u2026' | translate }}\"\n aria-haspopup=\"true\"\n type=\"button\"\n dropdownToggle\n data-cy=\"action-bar--button-more\"\n >\n <span\n class=\"text-truncate\"\n translate\n >\n More\u2026\n </span>\n <i [c8yIcon]=\"'caret-down'\"></i>\n </button>\n <ul class=\"dropdown-menu visible-xs\">\n <ng-container *ngFor=\"let item of more$ | async\">\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n </ng-container>\n </ul>\n <ul\n class=\"dropdown-menu dropdown-menu-right hidden-xs\"\n *dropdownMenu\n >\n <ng-container *ngFor=\"let item of more$ | async\">\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n </ng-container>\n </ul>\n </c8y-action-bar-item>\n </div>\n </li>\n </ng-template>\n </ul>\n</div>\n", dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: OutletDirective, selector: "[c8yOutlet]", inputs: ["c8yOutlet", "c8yOutletProperties", "c8yOutletInjector"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: BsDropdownModule }, { kind: "directive", type: i1$3.BsDropdownMenuDirective, selector: "[bsDropdownMenu],[dropdownMenu]", exportAs: ["bs-dropdown-menu"] }, { kind: "directive", type: i1$3.BsDropdownToggleDirective, selector: "[bsDropdownToggle],[dropdownToggle]", exportAs: ["bs-dropdown-toggle"] }, { kind: "directive", type: i1$3.BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }, { kind: "component", type: ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId", "inGroupPriority"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
11102
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: ActionBarComponent, isStandalone: true, selector: "c8y-action-bar", inputs: { navigatorOpen: "navigatorOpen", hasTabs: "hasTabs", hasHeader: "hasHeader", isTabsHorizontal: "isTabsHorizontal", items$: "items$" }, host: { listeners: { "mousedown": "mouseDown($event.target)" }, properties: { "class.navigator-open": "this.navigatorOpen", "class.has-tabs": "this.hasTabs", "class.has-header": "this.hasHeader", "class.horizontal-tabs": "this.isTabsHorizontal", "class.c8y-ui-action-bar": "this.uiActionBar", "hidden": "this.hidden" }, classAttribute: "c8y-ui-action-bar" }, ngImport: i0, template: "<div\n class=\"navbar-header\"\n role=\"presentation\"\n>\n <p class=\"text-label-small p-l-16 p-t-8 p-b-8 visible-xs\">\n <span class=\"text-primary\">{{ 'Action bar' | translate }}</span>\n </p>\n</div>\n\n<div\n class=\"navbar-collapse\"\n id=\"page-toolbar\"\n role=\"complementary\"\n>\n <ul class=\"nav navbar-nav navbar-left gap-sm-8 p-l-sm-16 p-l-lg-0\">\n @for (item of left$ | async; track item) {\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n }\n </ul>\n <ul class=\"nav navbar-nav navbar-right gap-sm-8\">\n @for (item of right$ | async; track item) {\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n }\n @if ((more$ | async).length === 1) {\n <li>\n @for (item of more$ | async; track item) {\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n }\n </li>\n } @else {\n @if ((more$ | async).length > 1) {\n <li class=\"no-remove more-wrapper\">\n <div\n class=\"dropdown\"\n dropdown\n >\n <c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"dropdown-toggle c8y-dropdown d-flex\"\n title=\"{{ 'More\u2026' | translate }}\"\n aria-haspopup=\"true\"\n type=\"button\"\n dropdownToggle\n data-cy=\"action-bar--button-more\"\n >\n <span\n class=\"text-truncate\"\n translate\n >\n More\u2026\n </span>\n <i [c8yIcon]=\"'caret-down'\"></i>\n </button>\n <ul class=\"dropdown-menu visible-xs\">\n @for (item of more$ | async; track item) {\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n }\n </ul>\n <ul\n class=\"dropdown-menu dropdown-menu-right hidden-xs\"\n *dropdownMenu\n >\n @for (item of more$ | async; track item) {\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n }\n </ul>\n </c8y-action-bar-item>\n </div>\n </li>\n }\n }\n </ul>\n</div>\n", dependencies: [{ kind: "directive", type: OutletDirective, selector: "[c8yOutlet]", inputs: ["c8yOutlet", "c8yOutletProperties", "c8yOutletInjector"] }, { kind: "ngmodule", type: BsDropdownModule }, { kind: "directive", type: i1$3.BsDropdownMenuDirective, selector: "[bsDropdownMenu],[dropdownMenu]", exportAs: ["bs-dropdown-menu"] }, { kind: "directive", type: i1$3.BsDropdownToggleDirective, selector: "[bsDropdownToggle],[dropdownToggle]", exportAs: ["bs-dropdown-toggle"] }, { kind: "directive", type: i1$3.BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }, { kind: "component", type: ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId", "inGroupPriority"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
11070
11103
  }
11071
11104
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: ActionBarComponent, decorators: [{
11072
11105
  type: Component,
11073
11106
  args: [{ selector: 'c8y-action-bar', host: { class: 'c8y-ui-action-bar' }, standalone: true, imports: [
11074
- NgFor,
11075
11107
  OutletDirective,
11076
- NgIf,
11077
11108
  BsDropdownModule,
11078
11109
  ActionBarItemComponent,
11079
11110
  C8yTranslateDirective,
11080
11111
  IconDirective,
11081
11112
  C8yTranslatePipe,
11082
11113
  AsyncPipe
11083
- ], template: "<div\n class=\"navbar-header\"\n role=\"presentation\"\n>\n <p class=\"text-label-small p-l-16 p-t-8 p-b-8 visible-xs\">\n <span class=\"text-primary\">{{ 'Action bar' | translate }}</span>\n </p>\n</div>\n\n<div\n class=\"navbar-collapse\"\n id=\"page-toolbar\"\n role=\"complementary\"\n>\n <ul class=\"nav navbar-nav navbar-left gap-sm-8 p-l-sm-16 p-l-lg-0\">\n <ng-container *ngFor=\"let item of left$ | async\">\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n </ng-container>\n </ul>\n <ul class=\"nav navbar-nav navbar-right gap-sm-8\">\n <ng-container *ngFor=\"let item of right$ | async\">\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n </ng-container>\n <li *ngIf=\"(more$ | async).length === 1; else moreWithMultipleOptions\">\n <ng-container *ngFor=\"let item of more$ | async\">\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n </ng-container>\n </li>\n <ng-template #moreWithMultipleOptions>\n <li\n class=\"no-remove more-wrapper\"\n *ngIf=\"(more$ | async).length > 1\"\n >\n <div\n class=\"dropdown\"\n dropdown\n >\n <c8y-action-bar-item\n [placement]=\"'right'\"\n >\n <button\n class=\"dropdown-toggle c8y-dropdown d-flex\"\n title=\"{{ 'More\u2026' | translate }}\"\n aria-haspopup=\"true\"\n type=\"button\"\n dropdownToggle\n data-cy=\"action-bar--button-more\"\n >\n <span\n class=\"text-truncate\"\n translate\n >\n More\u2026\n </span>\n <i [c8yIcon]=\"'caret-down'\"></i>\n </button>\n <ul class=\"dropdown-menu visible-xs\">\n <ng-container *ngFor=\"let item of more$ | async\">\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n </ng-container>\n </ul>\n <ul\n class=\"dropdown-menu dropdown-menu-right hidden-xs\"\n *dropdownMenu\n >\n <ng-container *ngFor=\"let item of more$ | async\">\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n </ng-container>\n </ul>\n </c8y-action-bar-item>\n </div>\n </li>\n </ng-template>\n </ul>\n</div>\n" }]
11114
+ ], template: "<div\n class=\"navbar-header\"\n role=\"presentation\"\n>\n <p class=\"text-label-small p-l-16 p-t-8 p-b-8 visible-xs\">\n <span class=\"text-primary\">{{ 'Action bar' | translate }}</span>\n </p>\n</div>\n\n<div\n class=\"navbar-collapse\"\n id=\"page-toolbar\"\n role=\"complementary\"\n>\n <ul class=\"nav navbar-nav navbar-left gap-sm-8 p-l-sm-16 p-l-lg-0\">\n @for (item of left$ | async; track item) {\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n }\n </ul>\n <ul class=\"nav navbar-nav navbar-right gap-sm-8\">\n @for (item of right$ | async; track item) {\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n }\n @if ((more$ | async).length === 1) {\n <li>\n @for (item of more$ | async; track item) {\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n }\n </li>\n } @else {\n @if ((more$ | async).length > 1) {\n <li class=\"no-remove more-wrapper\">\n <div\n class=\"dropdown\"\n dropdown\n >\n <c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"dropdown-toggle c8y-dropdown d-flex\"\n title=\"{{ 'More\u2026' | translate }}\"\n aria-haspopup=\"true\"\n type=\"button\"\n dropdownToggle\n data-cy=\"action-bar--button-more\"\n >\n <span\n class=\"text-truncate\"\n translate\n >\n More\u2026\n </span>\n <i [c8yIcon]=\"'caret-down'\"></i>\n </button>\n <ul class=\"dropdown-menu visible-xs\">\n @for (item of more$ | async; track item) {\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n }\n </ul>\n <ul\n class=\"dropdown-menu dropdown-menu-right hidden-xs\"\n *dropdownMenu\n >\n @for (item of more$ | async; track item) {\n <ng-container\n *c8yOutlet=\"item.component || item.template; injector: item.injector\"\n ></ng-container>\n }\n </ul>\n </c8y-action-bar-item>\n </div>\n </li>\n }\n }\n </ul>\n</div>\n" }]
11084
11115
  }], ctorParameters: () => [{ type: GainsightService }], propDecorators: { navigatorOpen: [{
11085
11116
  type: Input
11086
11117
  }, {
@@ -12946,7 +12977,7 @@ const documentationItems = [
12946
12977
  },
12947
12978
  {
12948
12979
  icon: 'rest-api',
12949
- label: gettext$1('OpenAPI specification`KEEP_ORIGINAL`'),
12980
+ label: gettext$1('OpenAPI specification'),
12950
12981
  url: '/api',
12951
12982
  type: 'doc'
12952
12983
  },
@@ -16495,10 +16526,10 @@ class FeatureCacheService {
16495
16526
  /**
16496
16527
  *
16497
16528
  * @param key - The feature key to check
16498
- * @returns true if the feature key exists in the list of features.
16529
+ * @returns true if the feature key exists in the list of features and it is no GA
16499
16530
  */
16500
16531
  featureExists(key) {
16501
- return this.features$.pipe(map(features => features.some(feature => feature.key === key)));
16532
+ return this.features$.pipe(map(features => features.some(feature => feature.key === key && feature.phase !== 'GENERALLY_AVAILABLE')));
16502
16533
  }
16503
16534
  getFeatureState(key) {
16504
16535
  return this.features$.pipe(map(features => {
@@ -21491,6 +21522,10 @@ class PasswordInputComponent {
21491
21522
  * Value for autocomplete attribute of input
21492
21523
  */
21493
21524
  this.autocomplete = 'off';
21525
+ /**
21526
+ * shows large input when true (default: true)
21527
+ */
21528
+ this.large = true;
21494
21529
  this.value = '';
21495
21530
  this.disabled = false;
21496
21531
  this.type = 'password';
@@ -21519,13 +21554,13 @@ class PasswordInputComponent {
21519
21554
  this.onTouched();
21520
21555
  }
21521
21556
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: PasswordInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
21522
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.3", type: PasswordInputComponent, isStandalone: true, selector: "c8y-password-input", inputs: { id: "id", autocomplete: "autocomplete" }, providers: [
21557
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: PasswordInputComponent, isStandalone: true, selector: "c8y-password-input", inputs: { id: "id", autocomplete: "autocomplete", large: "large" }, providers: [
21523
21558
  {
21524
21559
  provide: NG_VALUE_ACCESSOR,
21525
21560
  useExisting: forwardRef(() => PasswordInputComponent),
21526
21561
  multi: true
21527
21562
  }
21528
- ], ngImport: i0, template: "<div class=\"input-group input-group-lg input-group-password\">\n <input\n class=\"form-control input-lg\"\n [type]=\"type\"\n [value]=\"value\"\n [id]=\"id\"\n (input)=\"onInput($event)\"\n (focusout)=\"onFocusOut()\"\n [disabled]=\"disabled\"\n [autocomplete]=\"autocomplete\"\n />\n <span class=\"input-group-btn\">\n <button\n *ngIf=\"type === 'password'\"\n class=\"btn btn-clean\"\n title=\"{{ 'Show password' | translate }}\"\n type=\"button\"\n (click)=\"type = 'text'\"\n >\n <i class=\"dlt-c8y-icon-eye\"></i>\n </button>\n <button\n *ngIf=\"type === 'text'\"\n class=\"btn btn-clean\"\n title=\"{{ 'Hide password' | translate }}\"\n type=\"button\"\n (click)=\"type = 'password'\"\n >\n <i class=\"dlt-c8y-icon-eye-slash\"></i>\n </button>\n </span>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
21563
+ ], ngImport: i0, template: "<div\n class=\"input-group input-group-password\"\n [ngClass]=\"{ 'input-group-lg': large }\"\n>\n <input\n class=\"form-control\"\n [ngClass]=\"{ 'input-lg': large }\"\n [type]=\"type\"\n [value]=\"value\"\n [id]=\"id\"\n (input)=\"onInput($event)\"\n (focusout)=\"onFocusOut()\"\n [disabled]=\"disabled\"\n [autocomplete]=\"autocomplete\"\n />\n <span class=\"input-group-btn\">\n @if (type === 'password') {\n <button\n class=\"btn btn-clean\"\n title=\"{{ 'Show password' | translate }}\"\n type=\"button\"\n (click)=\"type = 'text'\"\n >\n <i class=\"dlt-c8y-icon-eye\"></i>\n </button>\n } @else {\n <button\n class=\"btn btn-clean\"\n title=\"{{ 'Hide password' | translate }}\"\n type=\"button\"\n (click)=\"type = 'password'\"\n >\n <i class=\"dlt-c8y-icon-eye-slash\"></i>\n </button>\n }\n </span>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
21529
21564
  }
21530
21565
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: PasswordInputComponent, decorators: [{
21531
21566
  type: Component,
@@ -21535,11 +21570,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
21535
21570
  useExisting: forwardRef(() => PasswordInputComponent),
21536
21571
  multi: true
21537
21572
  }
21538
- ], standalone: true, imports: [NgIf, C8yTranslatePipe], template: "<div class=\"input-group input-group-lg input-group-password\">\n <input\n class=\"form-control input-lg\"\n [type]=\"type\"\n [value]=\"value\"\n [id]=\"id\"\n (input)=\"onInput($event)\"\n (focusout)=\"onFocusOut()\"\n [disabled]=\"disabled\"\n [autocomplete]=\"autocomplete\"\n />\n <span class=\"input-group-btn\">\n <button\n *ngIf=\"type === 'password'\"\n class=\"btn btn-clean\"\n title=\"{{ 'Show password' | translate }}\"\n type=\"button\"\n (click)=\"type = 'text'\"\n >\n <i class=\"dlt-c8y-icon-eye\"></i>\n </button>\n <button\n *ngIf=\"type === 'text'\"\n class=\"btn btn-clean\"\n title=\"{{ 'Hide password' | translate }}\"\n type=\"button\"\n (click)=\"type = 'password'\"\n >\n <i class=\"dlt-c8y-icon-eye-slash\"></i>\n </button>\n </span>\n</div>\n" }]
21573
+ ], standalone: true, imports: [C8yTranslatePipe, NgClass], template: "<div\n class=\"input-group input-group-password\"\n [ngClass]=\"{ 'input-group-lg': large }\"\n>\n <input\n class=\"form-control\"\n [ngClass]=\"{ 'input-lg': large }\"\n [type]=\"type\"\n [value]=\"value\"\n [id]=\"id\"\n (input)=\"onInput($event)\"\n (focusout)=\"onFocusOut()\"\n [disabled]=\"disabled\"\n [autocomplete]=\"autocomplete\"\n />\n <span class=\"input-group-btn\">\n @if (type === 'password') {\n <button\n class=\"btn btn-clean\"\n title=\"{{ 'Show password' | translate }}\"\n type=\"button\"\n (click)=\"type = 'text'\"\n >\n <i class=\"dlt-c8y-icon-eye\"></i>\n </button>\n } @else {\n <button\n class=\"btn btn-clean\"\n title=\"{{ 'Hide password' | translate }}\"\n type=\"button\"\n (click)=\"type = 'password'\"\n >\n <i class=\"dlt-c8y-icon-eye-slash\"></i>\n </button>\n }\n </span>\n</div>\n" }]
21539
21574
  }], propDecorators: { id: [{
21540
21575
  type: Input
21541
21576
  }], autocomplete: [{
21542
21577
  type: Input
21578
+ }], large: [{
21579
+ type: Input
21543
21580
  }] } });
21544
21581
 
21545
21582
  class PasswordConfirm {
@@ -21846,7 +21883,7 @@ class NewPasswordComponent {
21846
21883
  }
21847
21884
  }
21848
21885
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: NewPasswordComponent, deps: [{ token: PasswordStrengthService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
21849
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.3", type: NewPasswordComponent, isStandalone: true, selector: "c8y-new-password", inputs: { showChangePasswordButton: "showChangePasswordButton", requireStrongPassword: "requireStrongPassword" }, outputs: { password: "password" }, viewQueries: [{ propertyName: "_newPasswordModel", first: true, predicate: ["newPassword"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"showChangePasswordButton\" class=\"form-group\">\n <button\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"toggleChangePassword()\"\n data-cy=\"c8y-new-password--change-button\"\n >\n <ng-container *ngIf=\"!changePassword\">\n {{ 'Change password' | translate }}\n </ng-container>\n <ng-container *ngIf=\"changePassword\">\n {{ 'Cancel password change' | translate }}\n </ng-container>\n </button>\n</div>\n\n<div\n class=\"row content-flex-50\"\n *ngIf=\"changePassword\"\n>\n <div class=\"col-6\">\n <c8y-form-group>\n <label\n for=\"newPassword\"\n translate\n >\n Password\n </label>\n <c8y-password-input\n name=\"newPassword\"\n required\n [id]=\"'newPassword'\"\n #newPassword=\"ngModel\"\n [(ngModel)]=\"model.newPassword\"\n (change)=\"newPasswordChanged()\"\n (input)=\"newPasswordConfirm.control.updateValueAndValidity()\"\n c8yDefaultValidation=\"password\"\n [autocomplete]=\"'new-password'\"\n ></c8y-password-input>\n </c8y-form-group>\n\n <c8y-form-group>\n <label\n for=\"newConfirmPassword\"\n translate\n >\n Confirm password\n </label>\n <c8y-password-input\n name=\"newPasswordConfirm\"\n required\n [id]=\"'newConfirmPassword'\"\n #newPasswordConfirm=\"ngModel\"\n [(ngModel)]=\"model.newPasswordConfirm\"\n passwordConfirm=\"newPassword\"\n [autocomplete]=\"'new-password'\"\n ></c8y-password-input>\n </c8y-form-group>\n </div>\n <div class=\"col-6\">\n <c8y-password-check-list\n [password]=\"model.newPassword\"\n [strengthEnforced]=\"passwordEnforced\"\n (onRequirementsFulfilled)=\"updateValidity($event)\"\n ></c8y-password-check-list>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "component", type: PasswordInputComponent, selector: "c8y-password-input", inputs: ["id", "autocomplete"] }, { kind: "ngmodule", type: FormsModule$1 }, { kind: "directive", type: i1$8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$8.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: DefaultValidationDirective, selector: "[c8yDefaultValidation]", inputs: ["c8yDefaultValidation"] }, { kind: "directive", type: PasswordConfirm, selector: "[passwordConfirm]" }, { kind: "component", type: PasswordCheckListComponent, selector: "c8y-password-check-list", inputs: ["strengthEnforced", "password"], outputs: ["onRequirementsFulfilled"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }] }); }
21886
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.3", type: NewPasswordComponent, isStandalone: true, selector: "c8y-new-password", inputs: { showChangePasswordButton: "showChangePasswordButton", requireStrongPassword: "requireStrongPassword" }, outputs: { password: "password" }, viewQueries: [{ propertyName: "_newPasswordModel", first: true, predicate: ["newPassword"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"showChangePasswordButton\" class=\"form-group\">\n <button\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"toggleChangePassword()\"\n data-cy=\"c8y-new-password--change-button\"\n >\n <ng-container *ngIf=\"!changePassword\">\n {{ 'Change password' | translate }}\n </ng-container>\n <ng-container *ngIf=\"changePassword\">\n {{ 'Cancel password change' | translate }}\n </ng-container>\n </button>\n</div>\n\n<div\n class=\"row content-flex-50\"\n *ngIf=\"changePassword\"\n>\n <div class=\"col-6\">\n <c8y-form-group>\n <label\n for=\"newPassword\"\n translate\n >\n Password\n </label>\n <c8y-password-input\n name=\"newPassword\"\n required\n [id]=\"'newPassword'\"\n #newPassword=\"ngModel\"\n [(ngModel)]=\"model.newPassword\"\n (change)=\"newPasswordChanged()\"\n (input)=\"newPasswordConfirm.control.updateValueAndValidity()\"\n c8yDefaultValidation=\"password\"\n [autocomplete]=\"'new-password'\"\n ></c8y-password-input>\n </c8y-form-group>\n\n <c8y-form-group>\n <label\n for=\"newConfirmPassword\"\n translate\n >\n Confirm password\n </label>\n <c8y-password-input\n name=\"newPasswordConfirm\"\n required\n [id]=\"'newConfirmPassword'\"\n #newPasswordConfirm=\"ngModel\"\n [(ngModel)]=\"model.newPasswordConfirm\"\n passwordConfirm=\"newPassword\"\n [autocomplete]=\"'new-password'\"\n ></c8y-password-input>\n </c8y-form-group>\n </div>\n <div class=\"col-6\">\n <c8y-password-check-list\n [password]=\"model.newPassword\"\n [strengthEnforced]=\"passwordEnforced\"\n (onRequirementsFulfilled)=\"updateValidity($event)\"\n ></c8y-password-check-list>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "component", type: PasswordInputComponent, selector: "c8y-password-input", inputs: ["id", "autocomplete", "large"] }, { kind: "ngmodule", type: FormsModule$1 }, { kind: "directive", type: i1$8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$8.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: DefaultValidationDirective, selector: "[c8yDefaultValidation]", inputs: ["c8yDefaultValidation"] }, { kind: "directive", type: PasswordConfirm, selector: "[passwordConfirm]" }, { kind: "component", type: PasswordCheckListComponent, selector: "c8y-password-check-list", inputs: ["strengthEnforced", "password"], outputs: ["onRequirementsFulfilled"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }] }); }
21850
21887
  }
21851
21888
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: NewPasswordComponent, decorators: [{
21852
21889
  type: Component,
@@ -27141,6 +27178,15 @@ const fieldInputTypeConfig = () => importProvidersFrom(FormlyModule.forChild({
27141
27178
  type: 'number'
27142
27179
  }
27143
27180
  }
27181
+ },
27182
+ {
27183
+ name: 'password',
27184
+ extends: 'input',
27185
+ defaultOptions: {
27186
+ templateOptions: {
27187
+ type: 'password'
27188
+ }
27189
+ }
27144
27190
  }
27145
27191
  ]
27146
27192
  }));
@@ -27149,11 +27195,17 @@ class FieldInput extends FieldType {
27149
27195
  return this.to.type || 'text';
27150
27196
  }
27151
27197
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: FieldInput, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
27152
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.3", type: FieldInput, isStandalone: true, selector: "c8y-field-input", usesInheritance: true, ngImport: i0, template: "<input\n *ngIf=\"type !== 'number'; else numberTmp\"\n [type]=\"type\"\n [formControl]=\"formControl\"\n class=\"form-control\"\n [formlyAttributes]=\"field\"\n [required]=\"to.required\"\n [attr.autocomplete]=\"to.autocomplete ? to.autocomplete : null\"\n [class.is-invalid]=\"showError\"\n/>\n<ng-template #numberTmp>\n <input\n type=\"number\"\n [formControl]=\"formControl\"\n class=\"form-control\"\n [formlyAttributes]=\"field\"\n [required]=\"to.required\"\n [attr.autocomplete]=\"to.autocomplete ? to.autocomplete : null\"\n [class.is-invalid]=\"showError\"\n />\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule$1 }, { kind: "directive", type: i1$8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$8.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$8.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$8.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2$3.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27198
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: FieldInput, isStandalone: true, selector: "c8y-field-input", usesInheritance: true, ngImport: i0, template: "@switch (type) {\n @case ('number') {\n <input\n class=\"form-control\"\n [class.is-invalid]=\"showError\"\n type=\"number\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [required]=\"to.required\"\n [attr.autocomplete]=\"to.autocomplete ? to.autocomplete : null\"\n />\n }\n @case ('password') {\n <c8y-password-input\n [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\"\n [formControl]=\"formControl\"\n [required]=\"to.required\"\n [large]=\"false\"\n ></c8y-password-input>\n }\n @default {\n <input\n class=\"form-control\"\n [class.is-invalid]=\"showError\"\n [type]=\"type\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [required]=\"to.required\"\n [attr.autocomplete]=\"to.autocomplete ? to.autocomplete : null\"\n />\n }\n}\n", dependencies: [{ kind: "ngmodule", type: FormsModule$1 }, { kind: "directive", type: i1$8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$8.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$8.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$8.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2$3.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "component", type: PasswordInputComponent, selector: "c8y-password-input", inputs: ["id", "autocomplete", "large"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27153
27199
  }
27154
27200
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: FieldInput, decorators: [{
27155
27201
  type: Component,
27156
- args: [{ selector: 'c8y-field-input', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, FormsModule$1, RequiredInputPlaceholderDirective, ReactiveFormsModule, FormlyModule], template: "<input\n *ngIf=\"type !== 'number'; else numberTmp\"\n [type]=\"type\"\n [formControl]=\"formControl\"\n class=\"form-control\"\n [formlyAttributes]=\"field\"\n [required]=\"to.required\"\n [attr.autocomplete]=\"to.autocomplete ? to.autocomplete : null\"\n [class.is-invalid]=\"showError\"\n/>\n<ng-template #numberTmp>\n <input\n type=\"number\"\n [formControl]=\"formControl\"\n class=\"form-control\"\n [formlyAttributes]=\"field\"\n [required]=\"to.required\"\n [attr.autocomplete]=\"to.autocomplete ? to.autocomplete : null\"\n [class.is-invalid]=\"showError\"\n />\n</ng-template>\n" }]
27202
+ args: [{ selector: 'c8y-field-input', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
27203
+ FormsModule$1,
27204
+ RequiredInputPlaceholderDirective,
27205
+ ReactiveFormsModule,
27206
+ FormlyModule,
27207
+ PasswordInputComponent
27208
+ ], template: "@switch (type) {\n @case ('number') {\n <input\n class=\"form-control\"\n [class.is-invalid]=\"showError\"\n type=\"number\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [required]=\"to.required\"\n [attr.autocomplete]=\"to.autocomplete ? to.autocomplete : null\"\n />\n }\n @case ('password') {\n <c8y-password-input\n [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\"\n [formControl]=\"formControl\"\n [required]=\"to.required\"\n [large]=\"false\"\n ></c8y-password-input>\n }\n @default {\n <input\n class=\"form-control\"\n [class.is-invalid]=\"showError\"\n [type]=\"type\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [required]=\"to.required\"\n [attr.autocomplete]=\"to.autocomplete ? to.autocomplete : null\"\n />\n }\n}\n" }]
27157
27209
  }] });
27158
27210
 
27159
27211
  const wrapperLegendFieldConfig = () => importProvidersFrom(FormlyModule.forChild({
@@ -30744,11 +30796,11 @@ class CountdownIntervalComponent {
30744
30796
  });
30745
30797
  }
30746
30798
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: CountdownIntervalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30747
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: CountdownIntervalComponent, isStandalone: true, selector: "c8y-countdown-interval", inputs: { countdownInterval: "countdownInterval", config: "config" }, outputs: { countdownEnded: "countdownEnded" }, ngImport: i0, template: "@if (!shouldShowPulseIcon()) {\n <div\n class=\"time-elapsed\"\n [title]=\"\n '{{ secondsLeft }} s / {{ interval }} s'\n | translate\n : { secondsLeft: secondsUntilRefresh$ | async, interval: countdownInterval / 1000 }\n \"\n data-cy=\"c8y-countdown-interval--countdown\"\n >\n <svg\n style=\"transform: rotate(-90deg)\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n [style.stroke-dashoffset]=\"100 - (progressPercentage$ | async)\"\n [style.transition]=\"(enableTransition$ | async) ? 'stroke-dashoffset 0.2s linear' : 'none'\"\n cx=\"20\"\n cy=\"20\"\n r=\"15.8\"\n stroke=\"var(--c8y-brand-primary)\"\n stroke-width=\"6\"\n stroke-dasharray=\"100\"\n />\n </svg>\n\n <span data-cy=\"c8y-countdown-interval--seconds\">{{ secondsUntilRefresh$ | async }}</span>\n </div>\n} @else {\n <div class=\"p-relative a-s-stretch no-pointer\">\n <span\n class=\"c8y-pulse c8y-pulse--md active\"\n data-cy=\"global-context--pulse-icon\"\n ></span>\n </div>\n}\n", dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
30799
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: CountdownIntervalComponent, isStandalone: true, selector: "c8y-countdown-interval", inputs: { countdownInterval: "countdownInterval", config: "config" }, outputs: { countdownEnded: "countdownEnded" }, ngImport: i0, template: "@if (!shouldShowPulseIcon()) {\n <div\n class=\"time-elapsed\"\n [title]=\"\n '{{ secondsLeft }} s / {{ interval }} s'\n | translate\n : { secondsLeft: secondsUntilRefresh$ | async, interval: countdownInterval / 1000 }\n \"\n data-cy=\"c8y-countdown-interval--countdown\"\n >\n <svg\n style=\"transform: rotate(-90deg)\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n [style.stroke-dashoffset]=\"100 - (progressPercentage$ | async)\"\n [style.transition]=\"(enableTransition$ | async) ? 'stroke-dashoffset 0.2s linear' : 'none'\"\n cx=\"20\"\n cy=\"20\"\n r=\"15.8\"\n stroke=\"var(--c8y-brand-primary)\"\n stroke-width=\"6\"\n stroke-dasharray=\"100\"\n />\n </svg>\n\n <span data-cy=\"c8y-countdown-interval--seconds\">{{ secondsUntilRefresh$ | async }}</span>\n </div>\n} @else {\n <div class=\"p-relative a-s-stretch no-pointer d-flex a-i-center j-c-center\">\n <span\n class=\"c8y-pulse c8y-pulse--md active m-0\"\n data-cy=\"global-context--pulse-icon\"\n ></span>\n </div>\n}\n", dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
30748
30800
  }
30749
30801
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: CountdownIntervalComponent, decorators: [{
30750
30802
  type: Component,
30751
- args: [{ selector: 'c8y-countdown-interval', standalone: true, imports: [AsyncPipe, C8yTranslatePipe], template: "@if (!shouldShowPulseIcon()) {\n <div\n class=\"time-elapsed\"\n [title]=\"\n '{{ secondsLeft }} s / {{ interval }} s'\n | translate\n : { secondsLeft: secondsUntilRefresh$ | async, interval: countdownInterval / 1000 }\n \"\n data-cy=\"c8y-countdown-interval--countdown\"\n >\n <svg\n style=\"transform: rotate(-90deg)\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n [style.stroke-dashoffset]=\"100 - (progressPercentage$ | async)\"\n [style.transition]=\"(enableTransition$ | async) ? 'stroke-dashoffset 0.2s linear' : 'none'\"\n cx=\"20\"\n cy=\"20\"\n r=\"15.8\"\n stroke=\"var(--c8y-brand-primary)\"\n stroke-width=\"6\"\n stroke-dasharray=\"100\"\n />\n </svg>\n\n <span data-cy=\"c8y-countdown-interval--seconds\">{{ secondsUntilRefresh$ | async }}</span>\n </div>\n} @else {\n <div class=\"p-relative a-s-stretch no-pointer\">\n <span\n class=\"c8y-pulse c8y-pulse--md active\"\n data-cy=\"global-context--pulse-icon\"\n ></span>\n </div>\n}\n" }]
30803
+ args: [{ selector: 'c8y-countdown-interval', standalone: true, imports: [AsyncPipe, C8yTranslatePipe], template: "@if (!shouldShowPulseIcon()) {\n <div\n class=\"time-elapsed\"\n [title]=\"\n '{{ secondsLeft }} s / {{ interval }} s'\n | translate\n : { secondsLeft: secondsUntilRefresh$ | async, interval: countdownInterval / 1000 }\n \"\n data-cy=\"c8y-countdown-interval--countdown\"\n >\n <svg\n style=\"transform: rotate(-90deg)\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n [style.stroke-dashoffset]=\"100 - (progressPercentage$ | async)\"\n [style.transition]=\"(enableTransition$ | async) ? 'stroke-dashoffset 0.2s linear' : 'none'\"\n cx=\"20\"\n cy=\"20\"\n r=\"15.8\"\n stroke=\"var(--c8y-brand-primary)\"\n stroke-width=\"6\"\n stroke-dasharray=\"100\"\n />\n </svg>\n\n <span data-cy=\"c8y-countdown-interval--seconds\">{{ secondsUntilRefresh$ | async }}</span>\n </div>\n} @else {\n <div class=\"p-relative a-s-stretch no-pointer d-flex a-i-center j-c-center\">\n <span\n class=\"c8y-pulse c8y-pulse--md active m-0\"\n data-cy=\"global-context--pulse-icon\"\n ></span>\n </div>\n}\n" }]
30752
30804
  }], propDecorators: { countdownInterval: [{
30753
30805
  type: Input
30754
30806
  }], config: [{
@@ -37849,5 +37901,5 @@ function colorValidator(allowedModes) {
37849
37901
  * Generated bundle index. Do not edit.
37850
37902
  */
37851
37903
 
37852
- export { ACTIONS_STEPPER, AGGREGATIONS, AGGREGATION_ICONS, AGGREGATION_LABELS, AGGREGATION_LIMITS, AGGREGATION_TEXTS, AGGREGATION_VALUES, AGGREGATION_VALUES_ARR, ARRAY_VALIDATION_PREFIX, ASSET_PATH, AbstractConfigurationStrategy, ActionBarComponent, ActionBarItemComponent, ActionBarModule, ActionBarService, ActionComponent, ActionControlsExtensionService, ActionModule, ActionOutletComponent, ActionService, AggregationPickerComponent, AggregationService, AlarmRealtimeService, AlarmWithChildrenRealtimeService, AlertComponent, AlertDetailsComponent, AlertModule, AlertOutletBase, AlertOutletComponent, AlertService, AlertTextComponent, AppHrefPipe, AppIconComponent, AppStateService, AppSwitcherComponent, AppSwitcherInlineComponent, AppSwitcherService, ApplicationModule, ApplicationPluginStatus, AssetLinkPipe, AssetPropertyService, AssetTypesRealtimeService, AssetTypesService, AuditLogComponent, AuditLogModule, AuthenticationModule, BackendVersionFactory, BaseColumn, BaseFilteringFormRendererComponent, BooleanFilterMapper, BootstrapComponent, BootstrapModule, BottomDrawerComponent, BottomDrawerRef, BottomDrawerService, BreadcrumbComponent, BreadcrumbItemComponent, BreadcrumbModule, BreadcrumbOutletComponent, BreadcrumbService, BuiltInActionType, BytesPipe, C8Y_PLUGIN_CONTEXT_PATH, C8Y_PLUGIN_NAME, C8yComponentOutlet, C8yJSONSchema, C8yStepper, C8yStepperButtons, C8yStepperIcon, C8yStepperProgress, C8yTranslateDirective, C8yTranslateModule, C8yTranslatePipe, C8yTranslationCache, C8yTranslationLoader, C8yValidators, CUSTOM, CachedLocaleDictionaryService, CellRendererComponent, CellRendererContext, CellRendererDefDirective, ChangeCurrentUserPasswordService, ChangeIconComponent, ClipboardModule, ClipboardService, ColorInputComponent, ColorService, ColumnDirective, CommonModule, ConditionalTabsOutletComponent, ConfigureCustomColumnComponent, ConfirmModalComponent, ContextRouteComponent, ContextRouteGuard, ContextRouteService, CookieBannerComponent, CopyDashboardDisabledReason, CoreModule, CoreSearchModule, CountdownIntervalComponent, CountdownIntervalModule, CurrentPasswordModalComponent, CustomColumn, CustomTranslateService, CustomTranslateStore, DATA_GRID_CONFIGURATION_CONTEXT, DATA_GRID_CONFIGURATION_CONTEXT_PROVIDER, DATA_GRID_CONFIGURATION_STRATEGY, DEFAULT_INTERVAL_STATE, DEFAULT_INTERVAL_VALUE, DEFAULT_INTERVAL_VALUES, DRAWER_ANIMATION_TIME, DashboardChildActionComponent, DashboardChildChange, DashboardChildComponent, DashboardChildTitleComponent, DashboardComponent, DashboardModule, DataGridComponent, DataGridModule, DataGridService, DatapointLibraryValidationErrors, DateContextQueryParamNames, DateFilterMapper, DateFormatService, DatePickerComponent, DatePickerModule, DatePipe, DateTimePickerComponent, DateTimePickerModule, DefaultValidationDirective, DeviceBootstrapRealtimeService, DeviceService, DeviceStatusComponent, DeviceStatusModule, DismissAlertStrategy, DocsModule, DocsService, DrawerModule, DrawerOutletComponent, DrawerService, DropAreaComponent, DropAreaModule, DropdownDirectionDirective, DynamicBulkDetailsResolver, DynamicBulkIIdentifiedResolver, DynamicComponentAlert, DynamicComponentAlertAggregator, DynamicComponentAlertsComponent, DynamicComponentComponent, DynamicComponentErrorStrategy, DynamicComponentModule, DynamicComponentService, DynamicDatapointsResolver, DynamicFormsModule, DynamicManagedObjectResolver, DynamicResolverService, ES_MAX_TIME_MILLISECONDS, EmailsValidatorDirective, EmptyComponent, EmptyStateComponent, EmptyStateContextDirective, EventRealtimeService, ExpandableRowDirective, ExtensionPointForPlugins, ExtensionPointWithoutStateForPlugins, ExtractArrayValidationErrorsPipe, FeatureCacheService, FeedbackFormComponent, FilePickerComponent, FilePickerFormControlComponent, FilePickerFormControlModule, FilePickerModule, FilesService, FilterInputComponent, FilterMapperFactory, FilterMapperModule, FilterMapperPipe, FilterMapperService, FilterNonArrayValidationErrorsPipe, FilteringActionType, FilteringFormRendererComponent, FilteringFormRendererContext, FilteringFormRendererDefDirective, ForOfDirective, FormGroupComponent, FormsModule, GENERIC_FILE_TYPE, GLOBAL_CONTEXT_AUTO_REFRESH, GainsightService, GenericFileIconPipe, GeoService, GetGroupIconPipe, GlobalConfigService, GridDataSource, GroupFragment, GroupService, GroupedFilterChips, GuideDocsComponent, GuideHrefDirective, HOOK_ACTION, HOOK_ACTION_BAR, HOOK_BREADCRUMB, HOOK_COMPONENTS, HOOK_CURRENT_APPLICATION, HOOK_CURRENT_TENANT, HOOK_CURRENT_USER, HOOK_DOCS, HOOK_DYNAMIC_PROVIDER_CONFIG, HOOK_NAVIGATOR_NODES, HOOK_OPTIONS, HOOK_PATTERN_MESSAGES, HOOK_PLUGIN, HOOK_PREVIEW, HOOK_QUERY_PARAM, HOOK_QUERY_PARAM_BOTTOM_DRAWER, HOOK_QUERY_PARAM_MODAL, HOOK_ROUTE, HOOK_SEARCH, HOOK_STEPPER, HOOK_TABS, HOOK_VERSION, HOOK_WIZARD, HeaderBarComponent, HeaderCellRendererDefDirective, HeaderModule, HeaderService, HelpComponent, HelpModule, HighlightComponent, HookProviderTypes, HumanizeAppNamePipe, HumanizePipe, HumanizeValidationMessagePipe, I18nModule, INTERVAL_OPTIONS, IconDirective, IfAllowedDirective, InjectionType, InputGroupListComponent, InputGroupListContainerDirective, InterAppService, IntervalBasedReload, InventorySearchService, IpRangeInputListComponent, JsonValidationPrettifierDirective, LANGUAGES, LAST_DAY, LAST_HOUR, LAST_MINUTE, LAST_MONTH, LAST_WEEK, LOCALE_PATH, LegacyGridConfigMapperService, LegendFieldWrapper, ListDisplaySwitchComponent, ListDisplaySwitchModule, ListGroupComponent, ListGroupModule, ListItemActionComponent, ListItemBodyComponent, ListItemCheckboxComponent, ListItemCollapseComponent, ListItemComponent, ListItemDragHandleComponent, ListItemFooterComponent, ListItemIconComponent, ListItemRadioComponent, ListItemTimelineComponent, LoadMoreComponent, LoadingComponent, MAX_PAGE_SIZE, MESSAGES_CORE_I18N, ManagedObjectRealtimeService, ManagedObjectType, MapFunctionPipe, MarkdownToHtmlPipe, MaxValidationDirective, MeasurementRealtimeService, MessageBannerService, MessageDirective, MessagesComponent, MinValidationDirective, MissingTranslationCustomHandler, MoNamePipe, ModalComponent, ModalModule, ModalSelectionMode, ModalService, NEEDED_ROLE_FOR_SETUP, NEW_DASHBOARD_ROUTER_STATE_PROP, NULL_VALUE_PLACEHOLDER, NUMBER_FORMAT_REGEXP, NameTransformPipe, NavigatorBottomModule, NavigatorIconComponent, NavigatorModule, NavigatorNode, NavigatorNodeComponent, NavigatorNodeRoot, NavigatorOutletComponent, NavigatorService, NavigatorTopModule, NewPasswordComponent, NumberPipe, OperationBulkRealtimeService, OperationRealtimeService, OperationResultComponent, OptionsService, OutletDirective, PREVIEW_FEATURE_PROVIDERS, PRODUCT_EXPERIENCE_EVENT_SOURCE, PX_ACTIONS, PX_EVENT_NAME, PackageType, PasswordCheckListComponent, PasswordConfirm, PasswordConfirmModalComponent, PasswordInputComponent, PasswordService, PasswordStrengthCheckerService, PasswordStrengthComponent, PasswordStrengthService, PatternMessagesService, Permissions, PhoneValidationDirective, PlatformDetailsService, PluginLoadedPipe, PluginsExportScopes, PluginsLoaderService, PluginsModule, PluginsResolveService, PluginsService, PopoverConfirmComponent, PreviewFeatureButtonComponent, PreviewFeatureShowNotification, PreviewService, ProductExperienceDirective, ProductExperienceModule, ProgressBarComponent, PropertiesListComponent, PropertiesListModule, PropertyValueTransformService, ProviderConfigurationComponent, ProviderConfigurationModule, ProviderConfigurationNodeFactory, ProviderConfigurationRouteFactory, ProviderConfigurationService, ProviderDefinitionsService, PushStatus, PushStatusLabels, QUERY_PARAM_HANDLER_PROVIDERS, QueryParamBottomDrawerFactory, QueryParamBottomDrawerStateService, QueryParamHandlerService, QueryParamModalFactory, QueryParamModalStateService, QuickLinkComponent, QuickLinkModule, RESOLVING_COMPONENT_WAIT_TIME, RadioFilterMapper, RangeComponent, RangeDirective, RangeDisplayComponent, RangeDisplayModule, RealtimeButtonComponent, RealtimeControlComponent, RealtimeMessage, RealtimeModule, RealtimeService, RealtimeSubjectService, RelativeTimePipe, RequiredInputPlaceholderDirective, ResizableGridComponent, ResolverServerError, RouterModule, RouterService, RouterTabsResolver, SETUP_FINISHED_STEP_ID, SHOW_PREVIEW_FEATURES, SearchComponent, SearchFilters, SearchInputComponent, SearchOutletComponent, SearchResultEmptyComponent, SearchService, SelectComponent, SelectFilterMapper, SelectItemDirective, SelectKeyboardService, SelectLegacyComponent, SelectModalComponent, SelectModalFilterPipe, SelectModalModule, SelectModule, SelectedItemsComponent, SelectedItemsDirective, SendStatus, SendStatusLabels, ServiceRegistry, SetupCompletedComponent, SetupComponent, SetupModule, SetupService, SetupState, SetupStepperFactory, ShortenUserNamePipe, ShouldShowMoPipe, ShowIfFilterPipe, SimpleJsonPathValidatorDirective, SimplifiedAuthService, SkipLinkDirective, StateService, Status, StepperModule, StepperOutletComponent, StepperService, Steppers, StringFilterMapper, StringifyObjectPipe, SupportedApps, TabComponent, TabsModule, TabsOutletComponent, TabsService, TabsetAriaDirective, TenantUiService, TextAreaRowHeightDirective, TextareaAutoresizeDirective, ThemeSwitcherService, TimeIntervalComponent, TimePickerComponent, TimePickerModule, TitleComponent, TitleOutletComponent, TotpChallengeComponent, TotpSetupComponent, TranslateService, TreeNodeCellRendererComponent, TreeNodeColumn, TreeNodeHeaderCellRendererComponent, TypeaheadComponent, TypeaheadFilterMapper, UiSettingsComponent, UiSettingsModule, UniqueInCollectionByPathValidationDirective, UserEditComponent, UserEditModalComponent, UserEngagementsService, UserMenuItemComponent, UserMenuOutletComponent, UserMenuService, UserModule, UserNameInitialsPipe, UserPreferencesConfigurationStrategy, UserPreferencesService, UserPreferencesStorageInventory, UserPreferencesStorageLocal, UserTotpRevokeComponent, UserTotpSetupComponent, VERSION_MODULE_CONFIG, ValidationPattern, VersionListComponent, VersionModule, VersionService, ViewContext, ViewContextServices, VirtualScrollWindowDirective, VirtualScrollWindowStrategy, VirtualScrollerWrapperComponent, VisibleControlsPipe, WIDGET_CONFIGURATION_GRID_SIZE, WIDGET_TYPE_VALUES, WILDCARD_SEARCH_FEATURE_KEY, WebSDKVersionFactory, WidgetGlobalAutoRefreshService, WidgetTimeContextActionBarPriority, WidgetTimeContextComponent, WidgetTimeContextDateRangeService, WidgetTimeContextMediatorService, WidgetsDashboardComponent, WidgetsDashboardEventService, WizardBodyComponent, WizardComponent, WizardFooterComponent, WizardHeaderComponent, WizardModalService, WizardModule, WizardOutletComponent, WizardService, ZipService, _virtualScrollWindowStrategyFactory, alertOnError, allEntriesAreEqual, asyncValidateArrayElements, colorValidator, deviceAvailabilityIconMap, extraRoutes, fromFactories, fromTrigger, fromTriggerOnce, getActivatedRoute, getAngularLocalesLanguageString, getBasicInputArrayFormFieldConfig, getDictionaryWithTrimmedKeys, getInjectedHooks, gettext, globalAutoRefreshLoading, hookAction, hookActionBar, hookBreadcrumb, hookComponent, hookCurrentApplication, hookCurrentTenant, hookCurrentUser, hookDataGridActionControls, hookDocs, hookDrawer, hookDynamicProviderConfig, hookFilterMapper, hookGeneric, hookNavigator, hookOptions, hookPatternMessages, hookPlugin, hookPreview, hookQueryParam, hookQueryParamBottomDrawer, hookQueryParamModal, hookRoute, hookSearch, hookService, hookStepper, hookTab, hookUserMenu, hookVersion, hookWidget, hookWizard, internalApps, isEagerDynamicComponents, isExtensionFactory, isLazyDynamicComponents, isPromise, languagesFactory, loadLocale, localeId, localePathFactory, memoize, minColumnGridTrackSize, operationStatusClasses, operationStatusIcons, provideBootstrapMetadata, provideCommonPipes, provideCommonServices, provideDefaultOptionsAppInitializer, provideI18n, provideLanguageSelectorAppInitializer, providePluginsLoaderServiceAppInitializer, provideTranslationServiceInstance, ratiosByColumnTypes, removeDuplicatesIds, resolveInjectedFactories, retryWithDelay, simpleJsonPathValidator, sortByPriority, stateToFactory, statusAlert, statusClasses, statusIcons, throttle, toObservable, toObservableOfArrays, tooltips, trimTranslationKey, uniqueInCollectionByPathValidator, validateArrayElements, validateInternationalPhoneNumber, viewContextRoutes, wrapperLegendFieldConfig };
37904
+ export { ACTIONS_STEPPER, AGGREGATIONS, AGGREGATION_ICONS, AGGREGATION_LABELS, AGGREGATION_LIMITS, AGGREGATION_TEXTS, AGGREGATION_VALUES, AGGREGATION_VALUES_ARR, ARRAY_VALIDATION_PREFIX, ASSET_PATH, AbstractConfigurationStrategy, ActionBarComponent, ActionBarItemComponent, ActionBarModule, ActionBarService, ActionComponent, ActionControlsExtensionService, ActionModule, ActionOutletComponent, ActionService, AggregationPickerComponent, AggregationService, AlarmRealtimeService, AlarmWithChildrenRealtimeService, AlertComponent, AlertDetailsComponent, AlertModule, AlertOutletBase, AlertOutletComponent, AlertService, AlertTextComponent, AppHrefPipe, AppIconComponent, AppStateService, AppSwitcherComponent, AppSwitcherInlineComponent, AppSwitcherService, ApplicationModule, ApplicationPluginStatus, AssetLinkPipe, AssetPropertyService, AssetTypesRealtimeService, AssetTypesService, AuditLogComponent, AuditLogModule, AuthenticationModule, BackendVersionFactory, BaseColumn, BaseFilteringFormRendererComponent, BooleanFilterMapper, BootstrapComponent, BootstrapModule, BottomDrawerComponent, BottomDrawerRef, BottomDrawerService, BreadcrumbComponent, BreadcrumbItemComponent, BreadcrumbModule, BreadcrumbOutletComponent, BreadcrumbService, BuiltInActionType, BytesPipe, C8Y_PLUGIN_CONTEXT_PATH, C8Y_PLUGIN_NAME, C8yComponentOutlet, C8yJSONSchema, C8yStepper, C8yStepperButtons, C8yStepperIcon, C8yStepperProgress, C8yTranslateDirective, C8yTranslateModule, C8yTranslatePipe, C8yTranslationCache, C8yTranslationLoader, C8yValidators, CUSTOM, CachedLocaleDictionaryService, CellRendererComponent, CellRendererContext, CellRendererDefDirective, ChangeCurrentUserPasswordService, ChangeIconComponent, ClipboardModule, ClipboardService, ColorInputComponent, ColorService, ColumnDirective, CommonModule, ConditionalTabsOutletComponent, ConfigureCustomColumnComponent, ConfirmModalComponent, ContextRouteComponent, ContextRouteGuard, ContextRouteService, CookieBannerComponent, CopyDashboardDisabledReason, CoreModule, CoreSearchModule, CountdownIntervalComponent, CountdownIntervalModule, CurrentPasswordModalComponent, CustomColumn, CustomTranslateService, CustomTranslateStore, DATA_GRID_CONFIGURATION_CONTEXT, DATA_GRID_CONFIGURATION_CONTEXT_PROVIDER, DATA_GRID_CONFIGURATION_STRATEGY, DEFAULT_INTERVAL_STATE, DEFAULT_INTERVAL_VALUE, DEFAULT_INTERVAL_VALUES, DRAWER_ANIMATION_TIME, DashboardChildActionComponent, DashboardChildChange, DashboardChildComponent, DashboardChildTitleComponent, DashboardComponent, DashboardModule, DataGridComponent, DataGridModule, DataGridService, DatapointLibraryValidationErrors, DateContextQueryParamNames, DateFilterMapper, DateFormatService, DatePickerComponent, DatePickerModule, DatePipe, DateTimePickerComponent, DateTimePickerModule, DefaultValidationDirective, DeviceBootstrapRealtimeService, DeviceService, DeviceStatusComponent, DeviceStatusModule, DismissAlertStrategy, DocsModule, DocsService, DrawerModule, DrawerOutletComponent, DrawerService, DropAreaComponent, DropAreaModule, DropdownDirectionDirective, DynamicBulkDetailsResolver, DynamicBulkIIdentifiedResolver, DynamicComponentAlert, DynamicComponentAlertAggregator, DynamicComponentAlertsComponent, DynamicComponentComponent, DynamicComponentErrorStrategy, DynamicComponentModule, DynamicComponentService, DynamicDatapointsResolver, DynamicFormsModule, DynamicManagedObjectResolver, DynamicResolverService, ES_MAX_TIME_MILLISECONDS, EmailsValidatorDirective, EmptyComponent, EmptyStateComponent, EmptyStateContextDirective, EventRealtimeService, ExpandableRowDirective, ExtensionPointForPlugins, ExtensionPointWithoutStateForPlugins, ExtractArrayValidationErrorsPipe, FeatureCacheService, FeedbackFormComponent, FilePickerComponent, FilePickerFormControlComponent, FilePickerFormControlModule, FilePickerModule, FilesService, FilterInputComponent, FilterMapperFactory, FilterMapperModule, FilterMapperPipe, FilterMapperService, FilterNonArrayValidationErrorsPipe, FilteringActionType, FilteringFormRendererComponent, FilteringFormRendererContext, FilteringFormRendererDefDirective, ForOfDirective, FormGroupComponent, FormsModule, GENERIC_FILE_TYPE, GLOBAL_CONTEXT_AUTO_REFRESH, GainsightService, GenericFileIconPipe, GeoService, GetGroupIconPipe, GlobalConfigService, GridDataSource, GroupFragment, GroupService, GroupedFilterChips, GuideDocsComponent, GuideHrefDirective, HOOK_ACTION, HOOK_ACTION_BAR, HOOK_BREADCRUMB, HOOK_COMPONENTS, HOOK_CURRENT_APPLICATION, HOOK_CURRENT_TENANT, HOOK_CURRENT_USER, HOOK_DOCS, HOOK_DYNAMIC_PROVIDER_CONFIG, HOOK_NAVIGATOR_NODES, HOOK_OPTIONS, HOOK_PATTERN_MESSAGES, HOOK_PLUGIN, HOOK_PREVIEW, HOOK_QUERY_PARAM, HOOK_QUERY_PARAM_BOTTOM_DRAWER, HOOK_QUERY_PARAM_MODAL, HOOK_ROUTE, HOOK_SEARCH, HOOK_STEPPER, HOOK_TABS, HOOK_VERSION, HOOK_WIZARD, HeaderBarComponent, HeaderCellRendererDefDirective, HeaderModule, HeaderService, HelpComponent, HelpModule, HighlightComponent, HookProviderTypes, HumanizeAppNamePipe, HumanizePipe, HumanizeValidationMessagePipe, I18nModule, INTERVAL_OPTIONS, IconDirective, IfAllowedDirective, InjectionType, InputGroupListComponent, InputGroupListContainerDirective, InterAppService, IntervalBasedReload, InventorySearchService, IpRangeInputListComponent, JsonValidationPrettifierDirective, LANGUAGES, LAST_DAY, LAST_HOUR, LAST_MINUTE, LAST_MONTH, LAST_WEEK, LOCALE_PATH, LegacyGridConfigMapperService, LegendFieldWrapper, ListDisplaySwitchComponent, ListDisplaySwitchModule, ListGroupComponent, ListGroupModule, ListItemActionComponent, ListItemBodyComponent, ListItemCheckboxComponent, ListItemCollapseComponent, ListItemComponent, ListItemDragHandleComponent, ListItemFooterComponent, ListItemIconComponent, ListItemRadioComponent, ListItemTimelineComponent, LoadMoreComponent, LoadingComponent, MAX_PAGE_SIZE, MESSAGES_CORE_I18N, ManagedObjectRealtimeService, ManagedObjectType, MapFunctionPipe, MarkdownToHtmlPipe, MaxValidationDirective, MeasurementRealtimeService, MessageBannerService, MessageDirective, MessagesComponent, MinValidationDirective, MissingTranslationCustomHandler, MoNamePipe, ModalComponent, ModalModule, ModalSelectionMode, ModalService, NEEDED_ROLE_FOR_SETUP, NEW_DASHBOARD_ROUTER_STATE_PROP, NULL_VALUE_PLACEHOLDER, NUMBER_FORMAT_REGEXP, NameTransformPipe, NavigatorBottomModule, NavigatorIconComponent, NavigatorModule, NavigatorNode, NavigatorNodeComponent, NavigatorNodeRoot, NavigatorOutletComponent, NavigatorService, NavigatorTopModule, NewPasswordComponent, NumberPipe, OperationBulkRealtimeService, OperationRealtimeService, OperationResultComponent, OptionsService, OutletDirective, PREVIEW_FEATURE_PROVIDERS, PRODUCT_EXPERIENCE_EVENT_SOURCE, PX_ACTIONS, PX_EVENT_NAME, PackageType, PasswordCheckListComponent, PasswordConfirm, PasswordConfirmModalComponent, PasswordInputComponent, PasswordService, PasswordStrengthCheckerService, PasswordStrengthComponent, PasswordStrengthService, PatternMessagesService, Permissions, PhoneValidationDirective, PlatformDetailsService, PluginLoadedPipe, PluginsExportScopes, PluginsLoaderService, PluginsModule, PluginsResolveService, PluginsService, PopoverConfirmComponent, PreviewFeatureButtonComponent, PreviewFeatureShowNotification, PreviewService, ProductExperienceDirective, ProductExperienceModule, ProgressBarComponent, PropertiesListComponent, PropertiesListModule, PropertyValueTransformService, ProviderConfigurationComponent, ProviderConfigurationModule, ProviderConfigurationNodeFactory, ProviderConfigurationRouteFactory, ProviderConfigurationService, ProviderDefinitionsService, PushStatus, PushStatusLabels, QUERY_PARAM_HANDLER_PROVIDERS, QueryParamBottomDrawerFactory, QueryParamBottomDrawerStateService, QueryParamHandlerService, QueryParamModalFactory, QueryParamModalStateService, QuickLinkComponent, QuickLinkModule, RESOLVING_COMPONENT_WAIT_TIME, RadioFilterMapper, RangeComponent, RangeDirective, RangeDisplayComponent, RangeDisplayModule, RealtimeButtonComponent, RealtimeControlComponent, RealtimeMessage, RealtimeModule, RealtimeService, RealtimeSubjectService, RelativeTimePipe, RequiredInputPlaceholderDirective, ResizableGridComponent, ResolverServerError, RouterModule, RouterService, RouterTabsResolver, SETUP_FINISHED_STEP_ID, SHOW_PREVIEW_FEATURES, SearchComponent, SearchFilters, SearchInputComponent, SearchOutletComponent, SearchResultEmptyComponent, SearchService, SelectComponent, SelectFilterMapper, SelectItemDirective, SelectKeyboardService, SelectLegacyComponent, SelectModalComponent, SelectModalFilterPipe, SelectModalModule, SelectModule, SelectedItemsComponent, SelectedItemsDirective, SendStatus, SendStatusLabels, ServiceRegistry, SetupCompletedComponent, SetupComponent, SetupModule, SetupService, SetupState, SetupStepperFactory, ShortenUserNamePipe, ShouldShowMoPipe, ShowIfFilterPipe, SimpleJsonPathValidatorDirective, SimplifiedAuthService, SkipLinkDirective, StateService, Status, StepperModule, StepperOutletComponent, StepperService, Steppers, StringFilterMapper, StringifyObjectPipe, SupportedApps, TabComponent, TabsModule, TabsOutletComponent, TabsService, TabsetAriaDirective, TenantUiService, TextAreaRowHeightDirective, TextareaAutoresizeDirective, ThemeSwitcherService, TimeIntervalComponent, TimePickerComponent, TimePickerModule, TitleComponent, TitleOutletComponent, TotpChallengeComponent, TotpSetupComponent, TranslateService, TreeNodeCellRendererComponent, TreeNodeColumn, TreeNodeHeaderCellRendererComponent, TypeaheadComponent, TypeaheadFilterMapper, UiSettingsComponent, UiSettingsModule, UniqueInCollectionByPathValidationDirective, UserEditComponent, UserEditModalComponent, UserEngagementsService, UserMenuItemComponent, UserMenuOutletComponent, UserMenuService, UserModule, UserNameInitialsPipe, UserPreferencesConfigurationStrategy, UserPreferencesService, UserPreferencesStorageInventory, UserPreferencesStorageLocal, UserTotpRevokeComponent, UserTotpSetupComponent, VERSION_MODULE_CONFIG, ValidationPattern, VersionListComponent, VersionModule, VersionService, ViewContext, ViewContextServices, VirtualScrollWindowDirective, VirtualScrollWindowStrategy, VirtualScrollerWrapperComponent, VisibleControlsPipe, WIDGET_CONFIGURATION_GRID_SIZE, WIDGET_TYPE_VALUES, WILDCARD_SEARCH_FEATURE_KEY, WebSDKVersionFactory, WidgetGlobalAutoRefreshService, WidgetTimeContextActionBarPriority, WidgetTimeContextComponent, WidgetTimeContextDateRangeService, WidgetTimeContextMediatorService, WidgetsDashboardComponent, WidgetsDashboardEventService, WizardBodyComponent, WizardComponent, WizardFooterComponent, WizardHeaderComponent, WizardModalService, WizardModule, WizardOutletComponent, WizardService, ZipService, _virtualScrollWindowStrategyFactory, alertOnError, allEntriesAreEqual, asyncValidateArrayElements, colorValidator, deviceAvailabilityIconMap, extraRoutes, fromFactories, fromTrigger, fromTriggerOnce, getActivatedRoute, getAngularLocalesLanguageString, getBasicInputArrayFormFieldConfig, getDictionaryWithTrimmedKeys, getInjectedHooks, gettext, globalAutoRefreshLoading, hookAction, hookActionBar, hookBreadcrumb, hookComponent, hookCurrentApplication, hookCurrentTenant, hookCurrentUser, hookDataGridActionControls, hookDocs, hookDrawer, hookDynamicProviderConfig, hookFilterMapper, hookGeneric, hookNavigator, hookOptions, hookPatternMessages, hookPlugin, hookPreview, hookQueryParam, hookQueryParamBottomDrawer, hookQueryParamModal, hookRoute, hookSearch, hookService, hookStepper, hookTab, hookUserMenu, hookVersion, hookWidget, hookWizard, internalApps, isEagerDynamicComponents, isExtensionFactory, isLazyDynamicComponents, isPromise, languagesFactory, loadLocale, localeId, localePathFactory, memoize, minColumnGridTrackSize, operationStatusClasses, operationStatusIcons, provideBootstrapMetadata, provideCommonPipes, provideCommonServices, provideDefaultOptionsAppInitializer, provideI18n, provideLanguageSelectorAppInitializer, providePluginsLoaderServiceAppInitializer, provideTranslationServiceInstance, ratiosByColumnTypes, removeContextIndicators, removeDuplicatesIds, resolveInjectedFactories, retryWithDelay, simpleJsonPathValidator, sortByPriority, stateToFactory, statusAlert, statusClasses, statusIcons, throttle, toObservable, toObservableOfArrays, tooltips, trimTranslationKey, uniqueInCollectionByPathValidator, validateArrayElements, validateInternationalPhoneNumber, viewContextRoutes, wrapperLegendFieldConfig };
37853
37905
  //# sourceMappingURL=c8y-ngx-components.mjs.map