@wavemaker-ai/app-ng-runtime 1.0.0-rc.322 → 1.0.0-rc.326

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 (96) hide show
  1. package/components/base/bundles/index.umd.js +30 -9
  2. package/components/base/fesm2022/index.mjs +30 -9
  3. package/components/base/fesm2022/index.mjs.map +1 -1
  4. package/components/base/index.d.ts +5 -1
  5. package/components/basic/anchor/bundles/index.umd.js +1 -1
  6. package/components/basic/anchor/fesm2022/index.mjs +1 -1
  7. package/components/basic/anchor/fesm2022/index.mjs.map +1 -1
  8. package/components/basic/icon/bundles/index.umd.js +1 -1
  9. package/components/basic/icon/fesm2022/index.mjs +1 -1
  10. package/components/basic/icon/fesm2022/index.mjs.map +1 -1
  11. package/components/basic/search/bundles/index.umd.js +1 -1
  12. package/components/basic/search/fesm2022/index.mjs +1 -1
  13. package/components/basic/search/fesm2022/index.mjs.map +1 -1
  14. package/components/basic/spinner/bundles/index.umd.js +1 -1
  15. package/components/basic/spinner/fesm2022/index.mjs +1 -1
  16. package/components/basic/spinner/fesm2022/index.mjs.map +1 -1
  17. package/components/chart/bundles/index.umd.js +1 -1
  18. package/components/chart/fesm2022/index.mjs +1 -1
  19. package/components/chart/fesm2022/index.mjs.map +1 -1
  20. package/components/containers/accordion/bundles/index.umd.js +1 -1
  21. package/components/containers/accordion/fesm2022/index.mjs +1 -1
  22. package/components/containers/accordion/fesm2022/index.mjs.map +1 -1
  23. package/components/containers/panel/bundles/index.umd.js +1 -1
  24. package/components/containers/panel/fesm2022/index.mjs +1 -1
  25. package/components/containers/panel/fesm2022/index.mjs.map +1 -1
  26. package/components/containers/tabs/bundles/index.umd.js +1 -1
  27. package/components/containers/tabs/fesm2022/index.mjs +1 -1
  28. package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
  29. package/components/containers/wizard/bundles/index.umd.js +1 -1
  30. package/components/containers/wizard/fesm2022/index.mjs +1 -1
  31. package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
  32. package/components/data/card/bundles/index.umd.js +1 -1
  33. package/components/data/card/fesm2022/index.mjs +1 -1
  34. package/components/data/card/fesm2022/index.mjs.map +1 -1
  35. package/components/data/form/bundles/index.umd.js +1 -1
  36. package/components/data/form/fesm2022/index.mjs +1 -1
  37. package/components/data/form/fesm2022/index.mjs.map +1 -1
  38. package/components/data/list/bundles/index.umd.js +1 -1
  39. package/components/data/list/fesm2022/index.mjs +1 -1
  40. package/components/data/list/fesm2022/index.mjs.map +1 -1
  41. package/components/data/pagination/bundles/index.umd.js +3 -0
  42. package/components/data/pagination/fesm2022/index.mjs +3 -0
  43. package/components/data/pagination/fesm2022/index.mjs.map +1 -1
  44. package/components/data/table/bundles/index.umd.js +9 -2
  45. package/components/data/table/fesm2022/index.mjs +9 -2
  46. package/components/data/table/fesm2022/index.mjs.map +1 -1
  47. package/components/dialogs/default/bundles/index.umd.js +1 -1
  48. package/components/dialogs/default/fesm2022/index.mjs +1 -1
  49. package/components/dialogs/default/fesm2022/index.mjs.map +1 -1
  50. package/components/input/button/bundles/index.umd.js +1 -1
  51. package/components/input/button/fesm2022/index.mjs +1 -1
  52. package/components/input/button/fesm2022/index.mjs.map +1 -1
  53. package/components/input/checkbox/bundles/index.umd.js +1 -1
  54. package/components/input/checkbox/fesm2022/index.mjs +1 -1
  55. package/components/input/checkbox/fesm2022/index.mjs.map +1 -1
  56. package/components/input/dataset-aware-form/bundles/index.umd.js +1 -1
  57. package/components/input/dataset-aware-form/fesm2022/index.mjs +1 -1
  58. package/components/input/dataset-aware-form/fesm2022/index.mjs.map +1 -1
  59. package/components/input/file-upload/bundles/index.umd.js +1 -1
  60. package/components/input/file-upload/fesm2022/index.mjs +1 -1
  61. package/components/input/file-upload/fesm2022/index.mjs.map +1 -1
  62. package/components/input/rating/bundles/index.umd.js +1 -1
  63. package/components/input/rating/fesm2022/index.mjs +1 -1
  64. package/components/input/rating/fesm2022/index.mjs.map +1 -1
  65. package/components/input/slider/bundles/index.umd.js +1 -1
  66. package/components/input/slider/fesm2022/index.mjs +1 -1
  67. package/components/input/slider/fesm2022/index.mjs.map +1 -1
  68. package/components/input/switch/bundles/index.umd.js +1 -1
  69. package/components/input/switch/fesm2022/index.mjs +1 -1
  70. package/components/input/switch/fesm2022/index.mjs.map +1 -1
  71. package/components/input/text/bundles/index.umd.js +1 -1
  72. package/components/input/text/fesm2022/index.mjs +1 -1
  73. package/components/input/text/fesm2022/index.mjs.map +1 -1
  74. package/components/navigation/breadcrumb/bundles/index.umd.js +3 -3
  75. package/components/navigation/breadcrumb/fesm2022/index.mjs +4 -4
  76. package/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
  77. package/components/navigation/menu/bundles/index.umd.js +1 -1
  78. package/components/navigation/menu/fesm2022/index.mjs +1 -1
  79. package/components/navigation/menu/fesm2022/index.mjs.map +1 -1
  80. package/components/navigation/navbar/bundles/index.umd.js +1 -1
  81. package/components/navigation/navbar/fesm2022/index.mjs +1 -1
  82. package/components/navigation/navbar/fesm2022/index.mjs.map +1 -1
  83. package/components/page/default/bundles/index.umd.js +1 -0
  84. package/components/page/default/fesm2022/index.mjs +1 -0
  85. package/components/page/default/fesm2022/index.mjs.map +1 -1
  86. package/core/fesm2022/index.mjs.map +1 -1
  87. package/npm-shrinkwrap.json +2 -2
  88. package/package-lock.json +2 -2
  89. package/package.json +1 -1
  90. package/runtime/base/bundles/index.umd.js +7 -4
  91. package/runtime/base/fesm2022/index.mjs +7 -4
  92. package/runtime/base/fesm2022/index.mjs.map +1 -1
  93. package/scripts/datatable/datatable.js +3 -3
  94. package/transpiler/bundles/index.umd.js +3 -0
  95. package/transpiler/fesm2022/index.mjs +3 -0
  96. package/transpiler/fesm2022/index.mjs.map +1 -1
@@ -475,7 +475,7 @@
475
475
  static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0__namespace, type: AccordionPaneComponent, deps: [{ token: i0__namespace.Injector }, { token: AccordionDirective }, { token: 'EXPLICIT_CONTEXT', optional: true }, { token: i1__namespace.App }], target: i0__namespace.ɵɵFactoryTarget.Component }); }
476
476
  static { this.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.19", type: AccordionPaneComponent, isStandalone: true, selector: "div[wmAccordionPane]", providers: [
477
477
  base.provideAsWidgetRef(AccordionPaneComponent)
478
- ], queries: [{ propertyName: "reDrawableComponents", predicate: base.RedrawableDirective, descendants: true }], exportAs: ["wmAccordionPane"], usesInheritance: true, ngImport: i0__namespace, template: "<div class=\"panel-heading clearfix\" (click)=\"toggle($event)\" [ngClass]=\"{active: isActive}\">\n <h3 class=\"panel-title\">\n <a [attr.aria-expanded]=\"isActive\" [tabindex]=\"tabindex\"\n class=\"accordion-toggle clearfix\"\n href=\"javascript:void(0);\" role=\"button\">\n <div class=\"pull-left\">\n <wm-app-icon [iconclass]=\"iconclass\" [iconurl]=\"iconurl\" iconClasses=\"panel-icon\" alt=\"Accordion icon\"></wm-app-icon>\n </div>\n <div class=\"pull-left\">\n <div class=\"heading\" [innerHTML]=\"title\"></div>\n <div class=\"description\" [innerHTML]=\"subheading\"></div>\n </div>\n <div class=\"panel-actions pull-right\">\n <!-- added class as badge, app-label since it needs this classes to trigger the badge tokens -->\n <span class=\"badge app-label label-{{badgetype}}\">{{ badgevalue }}</span>\n <span class=\"app-icon panel-action wi\"\n title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\">\n <i [ngClass]=\"isActive ? 'wi-minus' : 'wi-plus'\"></i>\n </span>\n </div>\n </a>\n </h3>\n</div>\n<div [ngClass]=\"isActive ? 'collapse in' : 'collapse'\" class=\"panel-collapse collapse\">\n <div class=\"panel-body\" partial-container-target>\n <ng-content></ng-content>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: i3.CommonModule }, { kind: "directive", type: i3__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: base.WmAppIconComponent, selector: "wm-app-icon", inputs: ["iconclass", "iconurl", "defaultIconClass", "defaultClasses", "iconStyle", "alt"] }] }); }
478
+ ], queries: [{ propertyName: "reDrawableComponents", predicate: base.RedrawableDirective, descendants: true }], exportAs: ["wmAccordionPane"], usesInheritance: true, ngImport: i0__namespace, template: "<div class=\"panel-heading clearfix\" (click)=\"toggle($event)\" [ngClass]=\"{active: isActive}\">\n <h3 class=\"panel-title\">\n <a [attr.aria-expanded]=\"isActive\" [tabindex]=\"tabindex\"\n class=\"accordion-toggle clearfix\"\n href=\"javascript:void(0);\" role=\"button\">\n <div class=\"pull-left\">\n <wm-app-icon [iconclass]=\"iconclass\" [iconurl]=\"iconurl\" iconClasses=\"panel-icon\" alt=\"Accordion icon\"></wm-app-icon>\n </div>\n <div class=\"pull-left\">\n <div class=\"heading\" [innerHTML]=\"title\"></div>\n <div class=\"description\" [innerHTML]=\"subheading\"></div>\n </div>\n <div class=\"panel-actions pull-right\">\n <!-- added class as badge, app-label since it needs this classes to trigger the badge tokens -->\n <span class=\"badge app-label label-{{badgetype}}\">{{ badgevalue }}</span>\n <span class=\"app-icon panel-action wi\"\n title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\">\n <i [ngClass]=\"isActive ? 'wi-minus' : 'wi-plus'\"></i>\n </span>\n </div>\n </a>\n </h3>\n</div>\n<div [ngClass]=\"isActive ? 'collapse in' : 'collapse'\" class=\"panel-collapse collapse\">\n <div class=\"panel-body\" partial-container-target>\n <ng-content></ng-content>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: i3.CommonModule }, { kind: "directive", type: i3__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: base.WmAppIconComponent, selector: "wm-app-icon", inputs: ["icon", "iconclass", "iconurl", "defaultIconClass", "defaultClasses", "iconStyle", "alt"] }] }); }
479
479
  };
480
480
  exports.AccordionPaneComponent = tslib.__decorate([
481
481
  base.AutoLayout({ targetSelector: '.panel-body' }),
@@ -458,7 +458,7 @@ let AccordionPaneComponent = class AccordionPaneComponent extends StylableCompon
458
458
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AccordionPaneComponent, deps: [{ token: i0.Injector }, { token: AccordionDirective }, { token: 'EXPLICIT_CONTEXT', optional: true }, { token: i1.App }], target: i0.ɵɵFactoryTarget.Component }); }
459
459
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.19", type: AccordionPaneComponent, isStandalone: true, selector: "div[wmAccordionPane]", providers: [
460
460
  provideAsWidgetRef(AccordionPaneComponent)
461
- ], queries: [{ propertyName: "reDrawableComponents", predicate: RedrawableDirective, descendants: true }], exportAs: ["wmAccordionPane"], usesInheritance: true, ngImport: i0, template: "<div class=\"panel-heading clearfix\" (click)=\"toggle($event)\" [ngClass]=\"{active: isActive}\">\n <h3 class=\"panel-title\">\n <a [attr.aria-expanded]=\"isActive\" [tabindex]=\"tabindex\"\n class=\"accordion-toggle clearfix\"\n href=\"javascript:void(0);\" role=\"button\">\n <div class=\"pull-left\">\n <wm-app-icon [iconclass]=\"iconclass\" [iconurl]=\"iconurl\" iconClasses=\"panel-icon\" alt=\"Accordion icon\"></wm-app-icon>\n </div>\n <div class=\"pull-left\">\n <div class=\"heading\" [innerHTML]=\"title\"></div>\n <div class=\"description\" [innerHTML]=\"subheading\"></div>\n </div>\n <div class=\"panel-actions pull-right\">\n <!-- added class as badge, app-label since it needs this classes to trigger the badge tokens -->\n <span class=\"badge app-label label-{{badgetype}}\">{{ badgevalue }}</span>\n <span class=\"app-icon panel-action wi\"\n title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\">\n <i [ngClass]=\"isActive ? 'wi-minus' : 'wi-plus'\"></i>\n </span>\n </div>\n </a>\n </h3>\n</div>\n<div [ngClass]=\"isActive ? 'collapse in' : 'collapse'\" class=\"panel-collapse collapse\">\n <div class=\"panel-body\" partial-container-target>\n <ng-content></ng-content>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: WmAppIconComponent, selector: "wm-app-icon", inputs: ["iconclass", "iconurl", "defaultIconClass", "defaultClasses", "iconStyle", "alt"] }] }); }
461
+ ], queries: [{ propertyName: "reDrawableComponents", predicate: RedrawableDirective, descendants: true }], exportAs: ["wmAccordionPane"], usesInheritance: true, ngImport: i0, template: "<div class=\"panel-heading clearfix\" (click)=\"toggle($event)\" [ngClass]=\"{active: isActive}\">\n <h3 class=\"panel-title\">\n <a [attr.aria-expanded]=\"isActive\" [tabindex]=\"tabindex\"\n class=\"accordion-toggle clearfix\"\n href=\"javascript:void(0);\" role=\"button\">\n <div class=\"pull-left\">\n <wm-app-icon [iconclass]=\"iconclass\" [iconurl]=\"iconurl\" iconClasses=\"panel-icon\" alt=\"Accordion icon\"></wm-app-icon>\n </div>\n <div class=\"pull-left\">\n <div class=\"heading\" [innerHTML]=\"title\"></div>\n <div class=\"description\" [innerHTML]=\"subheading\"></div>\n </div>\n <div class=\"panel-actions pull-right\">\n <!-- added class as badge, app-label since it needs this classes to trigger the badge tokens -->\n <span class=\"badge app-label label-{{badgetype}}\">{{ badgevalue }}</span>\n <span class=\"app-icon panel-action wi\"\n title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\">\n <i [ngClass]=\"isActive ? 'wi-minus' : 'wi-plus'\"></i>\n </span>\n </div>\n </a>\n </h3>\n</div>\n<div [ngClass]=\"isActive ? 'collapse in' : 'collapse'\" class=\"panel-collapse collapse\">\n <div class=\"panel-body\" partial-container-target>\n <ng-content></ng-content>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: WmAppIconComponent, selector: "wm-app-icon", inputs: ["icon", "iconclass", "iconurl", "defaultIconClass", "defaultClasses", "iconStyle", "alt"] }] }); }
462
462
  };
463
463
  AccordionPaneComponent = __decorate([
464
464
  AutoLayout({ targetSelector: '.panel-body' }),
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/containers/accordion/src/accordion-pane/accordion-pane.props.ts","../../../../../projects/components/widgets/containers/accordion/src/accordion.props.ts","../../../../../projects/components/widgets/containers/accordion/src/accordion.directive.ts","../../../../../projects/components/widgets/containers/accordion/src/accordion-pane/accordion-pane.component.ts","../../../../../projects/components/widgets/containers/accordion/src/accordion-pane/accordion-pane.component.html","../../../../../projects/components/widgets/containers/accordion/src/index.ts"],"sourcesContent":["import { AUTO_LAYOUT_PROPS, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-accordionpane',\n new Map(\n [\n ['active', PROP_BOOLEAN], // internal property\n ['badgetype', {value: 'default', ...PROP_STRING}],\n ['badgevalue', PROP_STRING],\n ['class', PROP_STRING],\n ['content', PROP_STRING],\n ['dynamicPaneIndex', PROP_NUMBER], // internal property\n ['iconclass', PROP_STRING],\n ['iconurl', PROP_STRING],\n ['isdefaultpane', PROP_BOOLEAN],\n ['isdynamic', PROP_STRING], // internal property\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['smoothscroll', {value: false, ...PROP_BOOLEAN}],\n ['subheading', PROP_STRING],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['title', {value: 'Title', ...PROP_STRING}],\n ...AUTO_LAYOUT_PROPS\n ]\n )\n );\n};\n","import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register} from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-accordion',\n new Map(\n [\n ['class', PROP_STRING],\n ['closeothers', {value: true, ...PROP_BOOLEAN}],\n ['dataset', PROP_ANY],\n ['defaultpaneindex', {value: 0, ...PROP_NUMBER}],\n ['name', PROP_STRING],\n ['nodatamessage', {value: 'No Data Found', ... PROP_STRING}],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['statehandler', {value: 'none', ...PROP_STRING}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['type', PROP_STRING]\n ]\n )\n );\n};\n","import {\n AfterContentInit,\n ContentChildren,\n Directive,\n forwardRef,\n Inject,\n Injector,\n OnDestroy,\n Optional,\n QueryList\n} from '@angular/core';\nimport {DynamicComponentRefProvider, isDefined, noop, StatePersistence} from '@wm/core';\nimport {\n APPLY_STYLES_TYPE,\n createArrayFrom,\n IWidgetConfig,\n provideAsWidgetRef,\n StylableComponent,\n styler\n} from '@wm/components/base';\n\nimport {registerProps} from './accordion.props';\nimport {AccordionPaneComponent} from './accordion-pane/accordion-pane.component';\nimport {find, forEach, get, indexOf, isArray, isNumber} from \"lodash-es\";\n\nconst DEFAULT_CLS = 'app-accordion panel-group';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-accordion',\n hostClass: DEFAULT_CLS\n};\n\n@Directive({\n standalone: true,\n selector: 'div[wmAccordion]',\n exportAs: 'wmAccordion',\n providers: [\n provideAsWidgetRef(AccordionDirective)\n ]\n})\nexport class AccordionDirective extends StylableComponent implements AfterContentInit, OnDestroy {\n static initializeProps = registerProps();\n\n public defaultpaneindex: number;\n public closeothers: boolean;\n public statehandler: any;\n private statePersistence: StatePersistence;\n\n private activePaneIndex: number;\n private activePane: AccordionPaneComponent;\n private promiseResolverFn: Function;\n private dynamicComponentProvider;\n private _dynamicContext;\n private dynamicPaneIndex;\n private dynamicPanes;\n public fieldDefs;\n private panesChangesSubscription: any;\n private dynamicComponentRefs: any[] = [];\n\n @ContentChildren(forwardRef(() => AccordionPaneComponent)) panes: QueryList<AccordionPaneComponent>;\n\n constructor(inj: Injector, statePersistence: StatePersistence, dynamicComponentProvider: DynamicComponentRefProvider, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n let resolveFn: Function = noop;\n super(inj, WIDGET_CONFIG, explicitContext, new Promise(res => resolveFn = res));\n this.promiseResolverFn = resolveFn;\n this.statePersistence = statePersistence;\n this.dynamicComponentProvider = dynamicComponentProvider;\n this.dynamicPanes = [];\n this.dynamicPaneIndex = 0;\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.SCROLLABLE_CONTAINER);\n }\n\n /**\n * AccordionPane children components invoke this method to communicate with the parent\n * if isExpand is true and when closeothers is true, all the other panes are collapsed\n * if the evt argument is defined on-change callback will be invoked.\n * updates the activePane index property\n * @param {AccordionPaneComponent} paneRef\n * @param {boolean} isExpand\n * @param {Event} evt\n */\n public notifyChange(paneRef: AccordionPaneComponent, isExpand: boolean, evt: Event) {\n if (isExpand) {\n this.closePanesExcept(paneRef);\n const index = this.getPaneIndexByRef(paneRef);\n this.activePane = paneRef.getWidget();\n // if the event is defined invoke the change callback.\n // programmatic invocations of expand/collapse on accordion-pane will not trigger change event\n if (evt) {\n this.invokeEventCallback('change', {\n $event: evt,\n newPaneIndex: index,\n oldPaneIndex: this.activePaneIndex\n });\n }\n this.activePaneIndex = index;\n }\n const mode = this.statePersistence.computeMode(this.statehandler);\n if (evt && mode && mode.toLowerCase() !== 'none') {\n const activePanes = [];\n this.panes.forEach(function (pane) {\n if (pane.isActive) {\n activePanes.push(pane.name);\n }\n });\n if (activePanes.length) {\n this.statePersistence.setWidgetState(this, activePanes);\n } else {\n this.statePersistence.removeWidgetState(this);\n }\n }\n }\n\n /**\n * This method is used to register the dynamic panes.\n * After all panes are initialzed, update the querylist manually based on index.\n * @param paneRef - refrence of the tabpane\n */\n public registerDynamicPane(paneRef) {\n this.dynamicPanes.push(paneRef);\n const isLastPane = this.dynamicPanes.length === this.dynamicPaneIndex;\n if (isLastPane) {\n for (let i = 0; i < this.dynamicPanes.length; i++) {\n const newPaneRef = find(this.dynamicPanes, pane => pane.dynamicPaneIndex === i);\n const isDuplicatePane = find(this.panes.toArray(), newPaneRef);\n if (!isDuplicatePane) {\n this.panes.reset([...this.panes.toArray(), newPaneRef]);\n if (newPaneRef.active) {\n newPaneRef.expand();\n }\n }\n }\n }\n }\n\n /**\n * This method is to add the tabpane dynamically\n * @param tabpanes - list of tabpanes\n */\n public addPane(tabpanes) {\n if (!isArray(tabpanes)) {\n tabpanes = [tabpanes];\n }\n const paneNamesList = [];\n forEach(tabpanes, (pane, index) => {\n const isPaneAlreadyCreated = find(this.panes.toArray(), { name: pane.name });\n const isPaneNameExist = indexOf(paneNamesList, pane.name);\n // If user tries to add tabpane with the same name which is already exists then do not create the pane\n if (isPaneAlreadyCreated || isPaneNameExist > 0) {\n console.warn(`The tab pane with name ${pane.name} already exists`);\n return;\n }\n\n let paramMarkup = '';\n let propsTmpl = '';\n this.dynamicPaneIndex++;\n const name = pane.name ? pane.name : `accordionpane${this.panes.toArray().length + (index + 1)}`;\n paneNamesList.push(name);\n const partialParams = get(pane, 'params');\n\n forEach(pane, (value, key) => {\n if (key !== 'params') {\n propsTmpl = `${propsTmpl} ${key}=\"${value}\"`;\n }\n });\n forEach(partialParams, (value, key) => {\n paramMarkup = `${paramMarkup} <wm-param name=\"${key}\" value=\"${value}\"></wm-param>`;\n });\n const markup = `<wm-accordionpane dynamicPaneIndex=\"${this.dynamicPaneIndex - 1}\" isdynamic=\"true\" name=\"${name}\" ${propsTmpl}>\n ${paramMarkup}\n </wm-accordionpane>`;\n\n if (!this._dynamicContext) {\n this._dynamicContext = Object.create(this.viewParent);\n this._dynamicContext[this.getAttr('wmAccordian')] = this;\n }\n\n // MEMORY LEAK FIX: Store component reference for cleanup\n this.dynamicComponentProvider.addComponent(this.getNativeElement(), markup, this._dynamicContext, { inj: this.inj })\n .then(componentRef => {\n if (componentRef) {\n this.dynamicComponentRefs.push(componentRef);\n }\n });\n });\n return paneNamesList;\n }\n\n /**\n * This method is to remove the tabpane\n * @param paneName - name of the pane\n */\n public removePane(paneName) {\n const paneRef = this.getPaneRefByName(paneName);\n if (paneRef) {\n paneRef.remove();\n }\n }\n\n private isValidPaneIndex(index: number): boolean {\n return (index >= 0 && index < this.panes.length);\n }\n\n private getPaneRefByName(name: string): AccordionPaneComponent {\n return find(this.panes.toArray(), { name: name });\n }\n\n private getPaneIndexByRef(paneRef: AccordionPaneComponent): number {\n return this.panes.toArray().indexOf(paneRef);\n }\n\n private getPaneRefByIndex(index: number): AccordionPaneComponent {\n return this.panes.toArray()[index];\n }\n\n // Except the pane provided close all other panes\n private closePanesExcept(paneRef: AccordionPaneComponent | number) {\n if (isNumber(paneRef)) {\n paneRef = this.getPaneRefByIndex(paneRef as number);\n }\n if (this.closeothers) {\n this.panes.forEach(pane => {\n if (pane !== paneRef) {\n pane.collapse();\n }\n });\n }\n }\n\n private expandPane(index: number) {\n this.closePanesExcept(index);\n this.panes.toArray()[index].expand();\n }\n private onDataChange(newVal) {\n this.fieldDefs = createArrayFrom(newVal);\n }\n\n public getWidgets(widgteName: string, index?: number) {\n let $target;\n const retVal = [];\n\n if (!widgteName) {\n return;\n }\n\n if (!isDefined(index)) {\n forEach(this.panes.toArray(), (el) => {\n $target = get(el.currentAccordionWidgets, widgteName);\n if ($target) {\n retVal.push($target);\n }\n });\n\n return retVal;\n }\n index = +index || 0;\n\n $target = get(this.panes.toArray(), index);\n\n if ($target) {\n return [get($target.currentAccordionWidgets, widgteName)];\n }\n }\n\n get currentAccordionPaneIndex() {\n return this.activePaneIndex;\n }\n\n get isFirstAccordionPane(): boolean {\n return this.panes.first.widgetId === this.activePane.widgetId;\n }\n\n get isLastAccordionPane(): boolean {\n return this.panes.last.widgetId === this.activePane.widgetId;\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (key === 'defaultpaneindex') {\n this.defaultpaneindex = nv;\n } else if (key === 'dataset') {\n this.onDataChange(nv);\n } else if (key === 'statehandler') {\n const widgetState = this.statePersistence.getWidgetState(this);\n let paneToSelect: any = [];\n if (nv !== 'none' && isArray(widgetState)) {\n widgetState.forEach(paneName => {\n paneToSelect = this.panes.filter(function (pane) {\n return paneName === pane.name;\n });\n if (!paneToSelect.length) {\n console.warn('Accordion pane name ' + paneName + ' in State is incorrect.');\n } else {\n this.expandPane(this.getPaneIndexByRef(paneToSelect[0]));\n }\n });\n } else {\n if (this.isValidPaneIndex(this.defaultpaneindex)) {\n this.expandPane(this.defaultpaneindex);\n }\n }\n } else if (key === 'tabindex') {\n return;\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n ngAfterContentInit() {\n super.ngAfterContentInit();\n this.promiseResolverFn();\n this.panesChangesSubscription = this.panes.changes.subscribe(slides => {\n if (this.panes.length) {\n this.expandPane(this.defaultpaneindex);\n }\n });\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Unsubscribe from panes changes\n if (this.panesChangesSubscription) {\n this.panesChangesSubscription.unsubscribe();\n this.panesChangesSubscription = null;\n }\n\n // MEMORY LEAK FIX: Destroy all dynamically created component instances\n if (this.dynamicComponentRefs && this.dynamicComponentRefs.length) {\n this.dynamicComponentRefs.forEach(componentRef => {\n if (componentRef && componentRef.destroy) {\n componentRef.destroy();\n }\n });\n this.dynamicComponentRefs = [];\n }\n\n // MEMORY LEAK FIX: Clear dynamic context\n if (this._dynamicContext) {\n Object.keys(this._dynamicContext).forEach(key => {\n delete this._dynamicContext[key];\n });\n this._dynamicContext = null;\n }\n\n // MEMORY LEAK FIX: Clear dynamic panes array\n if (this.dynamicPanes) {\n this.dynamicPanes = [];\n }\n\n // MEMORY LEAK FIX: Clear field definitions\n this.fieldDefs = null;\n this.activePane = null;\n\n super.ngOnDestroy();\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {AfterViewInit, Component, ContentChildren, Inject, Injector, OnDestroy, Optional} from '@angular/core';\nimport {App, noop, removeAttr} from '@wm/core';\nimport {\n APPLY_STYLES_TYPE,\n AutoLayout,\n getCurrentWidgets,\n IWidgetConfig,\n provideAsWidgetRef,\n RedrawableDirective,\n StylableComponent,\n styler,\n WmAppIconComponent,\n} from '@wm/components/base';\n\nimport {registerProps} from './accordion-pane.props';\nimport {AccordionDirective} from '../accordion.directive';\n\nconst DEFAULT_CLS = 'app-accordion-panel panel';\nconst WIDGET_CONFIG: IWidgetConfig = { widgetType: 'wm-accordionpane', hostClass: DEFAULT_CLS };\n\n@AutoLayout({ targetSelector: '.panel-body' })\n@Component({\n standalone: true,\n imports: [CommonModule, WmAppIconComponent],\n selector: 'div[wmAccordionPane]',\n templateUrl: './accordion-pane.component.html',\n providers: [\n provideAsWidgetRef(AccordionPaneComponent)\n ],\n exportAs: 'wmAccordionPane'\n})\nexport class AccordionPaneComponent extends StylableComponent implements AfterViewInit, OnDestroy {\n static initializeProps = registerProps();\n\n public isActive = false;\n public iconclass: string;\n public iconurl: string;\n public title: any;\n public subheading: string;\n public badgetype: any;\n public badgevalue: string;\n public smoothscroll: any;\n private $lazyLoad = noop;\n private isdynamic: boolean;\n public tabindex;\n public name: string;\n private _currentAccordionWidgets = {};\n\n // reference to the components which needs a redraw(eg, grid, chart) when the height of this component changes\n @ContentChildren(RedrawableDirective, { descendants: true }) reDrawableComponents;\n\n constructor(inj: Injector, private accordionRef: AccordionDirective, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any, private app: App) {\n super(inj, WIDGET_CONFIG, explicitContext);\n\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.SHELL);\n\n // title property here serves the purpose of heading.\n // remove title property as attribute\n removeAttr(this.nativeElement, 'title');\n }\n\n /**\n * handles the pane expand\n * invoke $lazyLoad method which takes care of loading the partial when the content property is provided - lazyLoading or partial\n * invoke redraw on the re-drawable children\n * invoke expand callback\n * notify parent about the change\n * @param {Event} evt\n */\n public expand(evt?: Event) {\n if (this.isActive) {\n return;\n }\n this.isActive = true;\n this.$lazyLoad();\n this.redrawChildren();\n this.invokeEventCallback('expand', { $event: evt });\n this.notifyParent(true, evt);\n }\n\n /**\n * handles the pane collapse\n * invoke collapse callback\n * notify parent about the change\n * @param {Event} evt\n */\n public collapse(evt?: Event) {\n if (!this.isActive) {\n return;\n }\n this.isActive = false;\n this.invokeEventCallback('collapse', { $event: evt });\n this.notifyParent(false, evt);\n }\n\n public remove() {\n const paneIndex = (this as any).accordionRef.getPaneIndexByRef(this);\n if (this.isActive && this.accordionRef.panes.length > 1) {\n this === this.accordionRef.panes.last ? this.accordionRef.panes.toArray()[paneIndex - 1].expand() : this.accordionRef.panes.toArray()[paneIndex + 1].expand();\n }\n const availablePanes = this.accordionRef.panes.toArray();\n availablePanes.splice((this as any).accordionRef.getPaneIndexByRef(this), 1);\n this.accordionRef.panes.reset([...availablePanes]);\n this.nativeElement.remove();\n }\n\n public toggle(evt: Event) {\n if (this.isActive) {\n this.collapse(evt);\n } else {\n this.expand(evt);\n }\n }\n\n // Todo - Vinay externalize\n private redrawChildren() {\n setTimeout(() => {\n if (this.reDrawableComponents) {\n this.reDrawableComponents.forEach(c => c.redraw());\n }\n }, 100);\n }\n\n private notifyParent(isExpand: boolean, evt: Event) {\n this.accordionRef.notifyChange(this, isExpand, evt);\n }\n\n get currentAccordionWidgets() {\n return getCurrentWidgets(this.nativeElement, this._currentAccordionWidgets);\n }\n\n onPropertyChange(key, nv, ov) {\n if (key === 'content') {\n if (this.isActive) {\n setTimeout(() => this.$lazyLoad(), 100);\n }\n } else if (key === 'tabindex') {\n return;\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n styler(\n this.nativeElement.querySelector('.panel-body') as HTMLElement,\n this,\n APPLY_STYLES_TYPE.INNER_SHELL\n );\n if (this.isdynamic) {\n this.accordionRef.registerDynamicPane(this);\n }\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Clear ContentChildren QueryList reference\n if (this.reDrawableComponents) {\n this.reDrawableComponents = null;\n }\n\n // MEMORY LEAK FIX: Clear lazy load function reference\n this.$lazyLoad = null;\n\n super.ngOnDestroy();\n }\n}\n","<div class=\"panel-heading clearfix\" (click)=\"toggle($event)\" [ngClass]=\"{active: isActive}\">\n <h3 class=\"panel-title\">\n <a [attr.aria-expanded]=\"isActive\" [tabindex]=\"tabindex\"\n class=\"accordion-toggle clearfix\"\n href=\"javascript:void(0);\" role=\"button\">\n <div class=\"pull-left\">\n <wm-app-icon [iconclass]=\"iconclass\" [iconurl]=\"iconurl\" iconClasses=\"panel-icon\" alt=\"Accordion icon\"></wm-app-icon>\n </div>\n <div class=\"pull-left\">\n <div class=\"heading\" [innerHTML]=\"title\"></div>\n <div class=\"description\" [innerHTML]=\"subheading\"></div>\n </div>\n <div class=\"panel-actions pull-right\">\n <!-- added class as badge, app-label since it needs this classes to trigger the badge tokens -->\n <span class=\"badge app-label label-{{badgetype}}\">{{ badgevalue }}</span>\n <span class=\"app-icon panel-action wi\"\n title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\">\n <i [ngClass]=\"isActive ? 'wi-minus' : 'wi-plus'\"></i>\n </span>\n </div>\n </a>\n </h3>\n</div>\n<div [ngClass]=\"isActive ? 'collapse in' : 'collapse'\" class=\"panel-collapse collapse\">\n <div class=\"panel-body\" partial-container-target>\n <ng-content></ng-content>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["registerProps","DEFAULT_CLS","WIDGET_CONFIG","i2"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/containers/accordion/src/accordion-pane/accordion-pane.props.ts","../../../../../projects/components/widgets/containers/accordion/src/accordion.props.ts","../../../../../projects/components/widgets/containers/accordion/src/accordion.directive.ts","../../../../../projects/components/widgets/containers/accordion/src/accordion-pane/accordion-pane.component.ts","../../../../../projects/components/widgets/containers/accordion/src/accordion-pane/accordion-pane.component.html","../../../../../projects/components/widgets/containers/accordion/src/index.ts"],"sourcesContent":["import { AUTO_LAYOUT_PROPS, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-accordionpane',\n new Map(\n [\n ['active', PROP_BOOLEAN], // internal property\n ['badgetype', {value: 'default', ...PROP_STRING}],\n ['badgevalue', PROP_STRING],\n ['class', PROP_STRING],\n ['content', PROP_STRING],\n ['dynamicPaneIndex', PROP_NUMBER], // internal property\n ['iconclass', PROP_STRING],\n ['iconurl', PROP_STRING],\n ['isdefaultpane', PROP_BOOLEAN],\n ['isdynamic', PROP_STRING], // internal property\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['smoothscroll', {value: false, ...PROP_BOOLEAN}],\n ['subheading', PROP_STRING],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['title', {value: 'Title', ...PROP_STRING}],\n ...AUTO_LAYOUT_PROPS\n ]\n )\n );\n};\n","import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register} from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-accordion',\n new Map(\n [\n ['class', PROP_STRING],\n ['closeothers', {value: true, ...PROP_BOOLEAN}],\n ['dataset', PROP_ANY],\n ['defaultpaneindex', {value: 0, ...PROP_NUMBER}],\n ['name', PROP_STRING],\n ['nodatamessage', {value: 'No Data Found', ... PROP_STRING}],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['statehandler', {value: 'none', ...PROP_STRING}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['type', PROP_STRING]\n ]\n )\n );\n};\n","import {\n AfterContentInit,\n ContentChildren,\n Directive,\n forwardRef,\n Inject,\n Injector,\n OnDestroy,\n Optional,\n QueryList\n} from '@angular/core';\nimport {DynamicComponentRefProvider, isDefined, noop, StatePersistence} from '@wm/core';\nimport {\n APPLY_STYLES_TYPE,\n createArrayFrom,\n IWidgetConfig,\n provideAsWidgetRef,\n StylableComponent,\n styler\n} from '@wm/components/base';\n\nimport {registerProps} from './accordion.props';\nimport {AccordionPaneComponent} from './accordion-pane/accordion-pane.component';\nimport {find, forEach, get, indexOf, isArray, isNumber} from \"lodash-es\";\n\nconst DEFAULT_CLS = 'app-accordion panel-group';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-accordion',\n hostClass: DEFAULT_CLS\n};\n\n@Directive({\n standalone: true,\n selector: 'div[wmAccordion]',\n exportAs: 'wmAccordion',\n providers: [\n provideAsWidgetRef(AccordionDirective)\n ]\n})\nexport class AccordionDirective extends StylableComponent implements AfterContentInit, OnDestroy {\n static initializeProps = registerProps();\n\n public defaultpaneindex: number;\n public closeothers: boolean;\n public statehandler: any;\n private statePersistence: StatePersistence;\n\n private activePaneIndex: number;\n private activePane: AccordionPaneComponent;\n private promiseResolverFn: Function;\n private dynamicComponentProvider;\n private _dynamicContext;\n private dynamicPaneIndex;\n private dynamicPanes;\n public fieldDefs;\n private panesChangesSubscription: any;\n private dynamicComponentRefs: any[] = [];\n\n @ContentChildren(forwardRef(() => AccordionPaneComponent)) panes: QueryList<AccordionPaneComponent>;\n\n constructor(inj: Injector, statePersistence: StatePersistence, dynamicComponentProvider: DynamicComponentRefProvider, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n let resolveFn: Function = noop;\n super(inj, WIDGET_CONFIG, explicitContext, new Promise(res => resolveFn = res));\n this.promiseResolverFn = resolveFn;\n this.statePersistence = statePersistence;\n this.dynamicComponentProvider = dynamicComponentProvider;\n this.dynamicPanes = [];\n this.dynamicPaneIndex = 0;\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.SCROLLABLE_CONTAINER);\n }\n\n /**\n * AccordionPane children components invoke this method to communicate with the parent\n * if isExpand is true and when closeothers is true, all the other panes are collapsed\n * if the evt argument is defined on-change callback will be invoked.\n * updates the activePane index property\n * @param {AccordionPaneComponent} paneRef\n * @param {boolean} isExpand\n * @param {Event} evt\n */\n public notifyChange(paneRef: AccordionPaneComponent, isExpand: boolean, evt: Event) {\n if (isExpand) {\n this.closePanesExcept(paneRef);\n const index = this.getPaneIndexByRef(paneRef);\n this.activePane = paneRef.getWidget();\n // if the event is defined invoke the change callback.\n // programmatic invocations of expand/collapse on accordion-pane will not trigger change event\n if (evt) {\n this.invokeEventCallback('change', {\n $event: evt,\n newPaneIndex: index,\n oldPaneIndex: this.activePaneIndex\n });\n }\n this.activePaneIndex = index;\n }\n const mode = this.statePersistence.computeMode(this.statehandler);\n if (evt && mode && mode.toLowerCase() !== 'none') {\n const activePanes = [];\n this.panes.forEach(function (pane) {\n if (pane.isActive) {\n activePanes.push(pane.name);\n }\n });\n if (activePanes.length) {\n this.statePersistence.setWidgetState(this, activePanes);\n } else {\n this.statePersistence.removeWidgetState(this);\n }\n }\n }\n\n /**\n * This method is used to register the dynamic panes.\n * After all panes are initialzed, update the querylist manually based on index.\n * @param paneRef - refrence of the tabpane\n */\n public registerDynamicPane(paneRef) {\n this.dynamicPanes.push(paneRef);\n const isLastPane = this.dynamicPanes.length === this.dynamicPaneIndex;\n if (isLastPane) {\n for (let i = 0; i < this.dynamicPanes.length; i++) {\n const newPaneRef = find(this.dynamicPanes, pane => pane.dynamicPaneIndex === i);\n const isDuplicatePane = find(this.panes.toArray(), newPaneRef);\n if (!isDuplicatePane) {\n this.panes.reset([...this.panes.toArray(), newPaneRef]);\n if (newPaneRef.active) {\n newPaneRef.expand();\n }\n }\n }\n }\n }\n\n /**\n * This method is to add the tabpane dynamically\n * @param tabpanes - list of tabpanes\n */\n public addPane(tabpanes) {\n if (!isArray(tabpanes)) {\n tabpanes = [tabpanes];\n }\n const paneNamesList = [];\n forEach(tabpanes, (pane, index) => {\n const isPaneAlreadyCreated = find(this.panes.toArray(), { name: pane.name });\n const isPaneNameExist = indexOf(paneNamesList, pane.name);\n // If user tries to add tabpane with the same name which is already exists then do not create the pane\n if (isPaneAlreadyCreated || isPaneNameExist > 0) {\n console.warn(`The tab pane with name ${pane.name} already exists`);\n return;\n }\n\n let paramMarkup = '';\n let propsTmpl = '';\n this.dynamicPaneIndex++;\n const name = pane.name ? pane.name : `accordionpane${this.panes.toArray().length + (index + 1)}`;\n paneNamesList.push(name);\n const partialParams = get(pane, 'params');\n\n forEach(pane, (value, key) => {\n if (key !== 'params') {\n propsTmpl = `${propsTmpl} ${key}=\"${value}\"`;\n }\n });\n forEach(partialParams, (value, key) => {\n paramMarkup = `${paramMarkup} <wm-param name=\"${key}\" value=\"${value}\"></wm-param>`;\n });\n const markup = `<wm-accordionpane dynamicPaneIndex=\"${this.dynamicPaneIndex - 1}\" isdynamic=\"true\" name=\"${name}\" ${propsTmpl}>\n ${paramMarkup}\n </wm-accordionpane>`;\n\n if (!this._dynamicContext) {\n this._dynamicContext = Object.create(this.viewParent);\n this._dynamicContext[this.getAttr('wmAccordian')] = this;\n }\n\n // MEMORY LEAK FIX: Store component reference for cleanup\n this.dynamicComponentProvider.addComponent(this.getNativeElement(), markup, this._dynamicContext, { inj: this.inj })\n .then(componentRef => {\n if (componentRef) {\n this.dynamicComponentRefs.push(componentRef);\n }\n });\n });\n return paneNamesList;\n }\n\n /**\n * This method is to remove the tabpane\n * @param paneName - name of the pane\n */\n public removePane(paneName) {\n const paneRef = this.getPaneRefByName(paneName);\n if (paneRef) {\n paneRef.remove();\n }\n }\n\n private isValidPaneIndex(index: number): boolean {\n return (index >= 0 && index < this.panes.length);\n }\n\n private getPaneRefByName(name: string): AccordionPaneComponent {\n return find(this.panes.toArray(), { name: name });\n }\n\n private getPaneIndexByRef(paneRef: AccordionPaneComponent): number {\n return this.panes.toArray().indexOf(paneRef);\n }\n\n private getPaneRefByIndex(index: number): AccordionPaneComponent {\n return this.panes.toArray()[index];\n }\n\n // Except the pane provided close all other panes\n private closePanesExcept(paneRef: AccordionPaneComponent | number) {\n if (isNumber(paneRef)) {\n paneRef = this.getPaneRefByIndex(paneRef as number);\n }\n if (this.closeothers) {\n this.panes.forEach(pane => {\n if (pane !== paneRef) {\n pane.collapse();\n }\n });\n }\n }\n\n private expandPane(index: number) {\n this.closePanesExcept(index);\n this.panes.toArray()[index].expand();\n }\n private onDataChange(newVal) {\n this.fieldDefs = createArrayFrom(newVal);\n }\n\n public getWidgets(widgteName: string, index?: number) {\n let $target;\n const retVal = [];\n\n if (!widgteName) {\n return;\n }\n\n if (!isDefined(index)) {\n forEach(this.panes.toArray(), (el) => {\n $target = get(el.currentAccordionWidgets, widgteName);\n if ($target) {\n retVal.push($target);\n }\n });\n\n return retVal;\n }\n index = +index || 0;\n\n $target = get(this.panes.toArray(), index);\n\n if ($target) {\n return [get($target.currentAccordionWidgets, widgteName)];\n }\n }\n\n get currentAccordionPaneIndex() {\n return this.activePaneIndex;\n }\n\n get isFirstAccordionPane(): boolean {\n return this.panes.first.widgetId === this.activePane.widgetId;\n }\n\n get isLastAccordionPane(): boolean {\n return this.panes.last.widgetId === this.activePane.widgetId;\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (key === 'defaultpaneindex') {\n this.defaultpaneindex = nv;\n } else if (key === 'dataset') {\n this.onDataChange(nv);\n } else if (key === 'statehandler') {\n const widgetState = this.statePersistence.getWidgetState(this);\n let paneToSelect: any = [];\n if (nv !== 'none' && isArray(widgetState)) {\n widgetState.forEach(paneName => {\n paneToSelect = this.panes.filter(function (pane) {\n return paneName === pane.name;\n });\n if (!paneToSelect.length) {\n console.warn('Accordion pane name ' + paneName + ' in State is incorrect.');\n } else {\n this.expandPane(this.getPaneIndexByRef(paneToSelect[0]));\n }\n });\n } else {\n if (this.isValidPaneIndex(this.defaultpaneindex)) {\n this.expandPane(this.defaultpaneindex);\n }\n }\n } else if (key === 'tabindex') {\n return;\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n ngAfterContentInit() {\n super.ngAfterContentInit();\n this.promiseResolverFn();\n this.panesChangesSubscription = this.panes.changes.subscribe(slides => {\n if (this.panes.length) {\n this.expandPane(this.defaultpaneindex);\n }\n });\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Unsubscribe from panes changes\n if (this.panesChangesSubscription) {\n this.panesChangesSubscription.unsubscribe();\n this.panesChangesSubscription = null;\n }\n\n // MEMORY LEAK FIX: Destroy all dynamically created component instances\n if (this.dynamicComponentRefs && this.dynamicComponentRefs.length) {\n this.dynamicComponentRefs.forEach(componentRef => {\n if (componentRef && componentRef.destroy) {\n componentRef.destroy();\n }\n });\n this.dynamicComponentRefs = [];\n }\n\n // MEMORY LEAK FIX: Clear dynamic context\n if (this._dynamicContext) {\n Object.keys(this._dynamicContext).forEach(key => {\n delete this._dynamicContext[key];\n });\n this._dynamicContext = null;\n }\n\n // MEMORY LEAK FIX: Clear dynamic panes array\n if (this.dynamicPanes) {\n this.dynamicPanes = [];\n }\n\n // MEMORY LEAK FIX: Clear field definitions\n this.fieldDefs = null;\n this.activePane = null;\n\n super.ngOnDestroy();\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {AfterViewInit, Component, ContentChildren, Inject, Injector, OnDestroy, Optional} from '@angular/core';\nimport {App, noop, removeAttr} from '@wm/core';\nimport {\n APPLY_STYLES_TYPE,\n AutoLayout,\n getCurrentWidgets,\n IWidgetConfig,\n provideAsWidgetRef,\n RedrawableDirective,\n StylableComponent,\n styler,\n WmAppIconComponent,\n} from '@wm/components/base';\n\nimport {registerProps} from './accordion-pane.props';\nimport {AccordionDirective} from '../accordion.directive';\n\nconst DEFAULT_CLS = 'app-accordion-panel panel';\nconst WIDGET_CONFIG: IWidgetConfig = { widgetType: 'wm-accordionpane', hostClass: DEFAULT_CLS };\n\n@AutoLayout({ targetSelector: '.panel-body' })\n@Component({\n standalone: true,\n imports: [CommonModule, WmAppIconComponent],\n selector: 'div[wmAccordionPane]',\n templateUrl: './accordion-pane.component.html',\n providers: [\n provideAsWidgetRef(AccordionPaneComponent)\n ],\n exportAs: 'wmAccordionPane'\n})\nexport class AccordionPaneComponent extends StylableComponent implements AfterViewInit, OnDestroy {\n static initializeProps = registerProps();\n\n public isActive = false;\n public iconclass: string;\n public iconurl: string;\n public title: any;\n public subheading: string;\n public badgetype: any;\n public badgevalue: string;\n public smoothscroll: any;\n private $lazyLoad = noop;\n private isdynamic: boolean;\n public tabindex;\n public name: string;\n private _currentAccordionWidgets = {};\n\n // reference to the components which needs a redraw(eg, grid, chart) when the height of this component changes\n @ContentChildren(RedrawableDirective, { descendants: true }) reDrawableComponents;\n\n constructor(inj: Injector, private accordionRef: AccordionDirective, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any, private app: App) {\n super(inj, WIDGET_CONFIG, explicitContext);\n\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.SHELL);\n\n // title property here serves the purpose of heading.\n // remove title property as attribute\n removeAttr(this.nativeElement, 'title');\n }\n\n /**\n * handles the pane expand\n * invoke $lazyLoad method which takes care of loading the partial when the content property is provided - lazyLoading or partial\n * invoke redraw on the re-drawable children\n * invoke expand callback\n * notify parent about the change\n * @param {Event} evt\n */\n public expand(evt?: Event) {\n if (this.isActive) {\n return;\n }\n this.isActive = true;\n this.$lazyLoad();\n this.redrawChildren();\n this.invokeEventCallback('expand', { $event: evt });\n this.notifyParent(true, evt);\n }\n\n /**\n * handles the pane collapse\n * invoke collapse callback\n * notify parent about the change\n * @param {Event} evt\n */\n public collapse(evt?: Event) {\n if (!this.isActive) {\n return;\n }\n this.isActive = false;\n this.invokeEventCallback('collapse', { $event: evt });\n this.notifyParent(false, evt);\n }\n\n public remove() {\n const paneIndex = (this as any).accordionRef.getPaneIndexByRef(this);\n if (this.isActive && this.accordionRef.panes.length > 1) {\n this === this.accordionRef.panes.last ? this.accordionRef.panes.toArray()[paneIndex - 1].expand() : this.accordionRef.panes.toArray()[paneIndex + 1].expand();\n }\n const availablePanes = this.accordionRef.panes.toArray();\n availablePanes.splice((this as any).accordionRef.getPaneIndexByRef(this), 1);\n this.accordionRef.panes.reset([...availablePanes]);\n this.nativeElement.remove();\n }\n\n public toggle(evt: Event) {\n if (this.isActive) {\n this.collapse(evt);\n } else {\n this.expand(evt);\n }\n }\n\n // Todo - Vinay externalize\n private redrawChildren() {\n setTimeout(() => {\n if (this.reDrawableComponents) {\n this.reDrawableComponents.forEach(c => c.redraw());\n }\n }, 100);\n }\n\n private notifyParent(isExpand: boolean, evt: Event) {\n this.accordionRef.notifyChange(this, isExpand, evt);\n }\n\n get currentAccordionWidgets() {\n return getCurrentWidgets(this.nativeElement, this._currentAccordionWidgets);\n }\n\n onPropertyChange(key, nv, ov) {\n if (key === 'content') {\n if (this.isActive) {\n setTimeout(() => this.$lazyLoad(), 100);\n }\n } else if (key === 'tabindex') {\n return;\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n styler(\n this.nativeElement.querySelector('.panel-body') as HTMLElement,\n this,\n APPLY_STYLES_TYPE.INNER_SHELL\n );\n if (this.isdynamic) {\n this.accordionRef.registerDynamicPane(this);\n }\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Clear ContentChildren QueryList reference\n if (this.reDrawableComponents) {\n this.reDrawableComponents = null;\n }\n\n // MEMORY LEAK FIX: Clear lazy load function reference\n this.$lazyLoad = null;\n\n super.ngOnDestroy();\n }\n}\n","<div class=\"panel-heading clearfix\" (click)=\"toggle($event)\" [ngClass]=\"{active: isActive}\">\n <h3 class=\"panel-title\">\n <a [attr.aria-expanded]=\"isActive\" [tabindex]=\"tabindex\"\n class=\"accordion-toggle clearfix\"\n href=\"javascript:void(0);\" role=\"button\">\n <div class=\"pull-left\">\n <wm-app-icon [iconclass]=\"iconclass\" [iconurl]=\"iconurl\" iconClasses=\"panel-icon\" alt=\"Accordion icon\"></wm-app-icon>\n </div>\n <div class=\"pull-left\">\n <div class=\"heading\" [innerHTML]=\"title\"></div>\n <div class=\"description\" [innerHTML]=\"subheading\"></div>\n </div>\n <div class=\"panel-actions pull-right\">\n <!-- added class as badge, app-label since it needs this classes to trigger the badge tokens -->\n <span class=\"badge app-label label-{{badgetype}}\">{{ badgevalue }}</span>\n <span class=\"app-icon panel-action wi\"\n title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\">\n <i [ngClass]=\"isActive ? 'wi-minus' : 'wi-plus'\"></i>\n </span>\n </div>\n </a>\n </h3>\n</div>\n<div [ngClass]=\"isActive ? 'collapse in' : 'collapse'\" class=\"panel-collapse collapse\">\n <div class=\"panel-body\" partial-container-target>\n <ng-content></ng-content>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["registerProps","DEFAULT_CLS","WIDGET_CONFIG","i2"],"mappings":";;;;;;;;;;AAEO,MAAMA,eAAa,GAAG,MAAK;AAC9B,IAAA,QAAQ,CACJ,kBAAkB,EAClB,IAAI,GAAG,CACH;AACI,QAAA,CAAC,QAAQ,EAAE,YAAY,CAAC;QACxB,CAAC,WAAW,EAAE,EAAC,KAAK,EAAE,SAAS,EAAE,GAAG,WAAW,EAAC,CAAC;QACjD,CAAC,YAAY,EAAE,WAAW,CAAC;QAC3B,CAAC,OAAO,EAAE,WAAW,CAAC;QACtB,CAAC,SAAS,EAAE,WAAW,CAAC;AACxB,QAAA,CAAC,kBAAkB,EAAE,WAAW,CAAC;QACjC,CAAC,WAAW,EAAE,WAAW,CAAC;QAC1B,CAAC,SAAS,EAAE,WAAW,CAAC;QACxB,CAAC,eAAe,EAAE,YAAY,CAAC;AAC/B,QAAA,CAAC,WAAW,EAAE,WAAW,CAAC;QAC1B,CAAC,MAAM,EAAE,WAAW,CAAC;QACrB,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,YAAY,EAAC,CAAC;QACxC,CAAC,cAAc,EAAE,EAAC,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,EAAC,CAAC;QACjD,CAAC,YAAY,EAAE,WAAW,CAAC;QAC3B,CAAC,UAAU,EAAE,EAAC,KAAK,EAAE,CAAC,EAAE,GAAG,WAAW,EAAC,CAAC;QACxC,CAAC,OAAO,EAAE,EAAC,KAAK,EAAE,OAAO,EAAE,GAAG,WAAW,EAAC,CAAC;AAC3C,QAAA,GAAG;AACN,KAAA,CACJ,CACJ;AACL,CAAC;;ACzBM,MAAM,aAAa,GAAG,MAAK;AAC9B,IAAA,QAAQ,CACJ,cAAc,EACd,IAAI,GAAG,CACH;QACI,CAAC,OAAO,EAAE,WAAW,CAAC;QACtB,CAAC,aAAa,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,YAAY,EAAC,CAAC;QAC/C,CAAC,SAAS,EAAE,QAAQ,CAAC;QACrB,CAAC,kBAAkB,EAAE,EAAC,KAAK,EAAE,CAAC,EAAE,GAAG,WAAW,EAAC,CAAC;QAChD,CAAC,MAAM,EAAE,WAAW,CAAC;QACrB,CAAC,eAAe,EAAE,EAAC,KAAK,EAAE,eAAe,EAAE,GAAI,WAAW,EAAC,CAAC;QAC5D,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,YAAY,EAAC,CAAC;QACxC,CAAC,cAAc,EAAE,EAAC,KAAK,EAAE,MAAM,EAAE,GAAG,WAAW,EAAC,CAAC;QACjD,CAAC,UAAU,EAAE,EAAC,KAAK,EAAE,CAAC,EAAE,GAAG,WAAW,EAAC,CAAC;QACxC,CAAC,MAAM,EAAE,WAAW;AACvB,KAAA,CACJ,CACJ;AACL,CAAC;;ACKD,MAAMC,aAAW,GAAG,2BAA2B;AAC/C,MAAMC,eAAa,GAAkB;AACjC,IAAA,UAAU,EAAE,cAAc;AAC1B,IAAA,SAAS,EAAED;CACd;AAUK,MAAO,kBAAmB,SAAQ,iBAAiB,CAAA;AAC9C,IAAA,SAAA,IAAA,CAAA,eAAe,GAAG,aAAa,EAAhB,CAAmB;AAoBzC,IAAA,WAAA,CAAY,GAAa,EAAE,gBAAkC,EAAE,wBAAqD,EAA0C,eAAoB,EAAA;QAC9K,IAAI,SAAS,GAAa,IAAI;AAC9B,QAAA,KAAK,CAAC,GAAG,EAAEC,eAAa,EAAE,eAAe,EAAE,IAAI,OAAO,CAAC,GAAG,IAAI,SAAS,GAAG,GAAG,CAAC,CAAC;QAN3E,IAAA,CAAA,oBAAoB,GAAU,EAAE;AAOpC,QAAA,IAAI,CAAC,iBAAiB,GAAG,SAAS;AAClC,QAAA,IAAI,CAAC,gBAAgB,GAAG,gBAAgB;AACxC,QAAA,IAAI,CAAC,wBAAwB,GAAG,wBAAwB;AACxD,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE;AACtB,QAAA,IAAI,CAAC,gBAAgB,GAAG,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,iBAAiB,CAAC,oBAAoB,CAAC;IAC5E;AAEA;;;;;;;;AAQG;AACI,IAAA,YAAY,CAAC,OAA+B,EAAE,QAAiB,EAAE,GAAU,EAAA;QAC9E,IAAI,QAAQ,EAAE;AACV,YAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;YAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;AAC7C,YAAA,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,EAAE;;;YAGrC,IAAI,GAAG,EAAE;AACL,gBAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE;AAC/B,oBAAA,MAAM,EAAE,GAAG;AACX,oBAAA,YAAY,EAAE,KAAK;oBACnB,YAAY,EAAE,IAAI,CAAC;AACtB,iBAAA,CAAC;YACN;AACA,YAAA,IAAI,CAAC,eAAe,GAAG,KAAK;QAChC;AACA,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;QACjE,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE;YAC9C,MAAM,WAAW,GAAG,EAAE;AACtB,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,IAAI,EAAA;AAC7B,gBAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACf,oBAAA,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC/B;AACJ,YAAA,CAAC,CAAC;AACF,YAAA,IAAI,WAAW,CAAC,MAAM,EAAE;gBACpB,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC;YAC3D;iBAAO;AACH,gBAAA,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC;YACjD;QACJ;IACJ;AAEA;;;;AAIG;AACI,IAAA,mBAAmB,CAAC,OAAO,EAAA;AAC9B,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,IAAI,CAAC,gBAAgB;QACrE,IAAI,UAAU,EAAE;AACZ,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC/C,gBAAA,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,CAAC;AAC/E,gBAAA,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC;gBAC9D,IAAI,CAAC,eAAe,EAAE;AAClB,oBAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;AACvD,oBAAA,IAAI,UAAU,CAAC,MAAM,EAAE;wBACnB,UAAU,CAAC,MAAM,EAAE;oBACvB;gBACJ;YACJ;QACJ;IACJ;AAEA;;;AAGG;AACI,IAAA,OAAO,CAAC,QAAQ,EAAA;AACnB,QAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AACpB,YAAA,QAAQ,GAAG,CAAC,QAAQ,CAAC;QACzB;QACA,MAAM,aAAa,GAAG,EAAE;QACxB,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,KAAI;AAC9B,YAAA,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5E,MAAM,eAAe,GAAG,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC;;AAEzD,YAAA,IAAI,oBAAoB,IAAI,eAAe,GAAG,CAAC,EAAE;gBAC7C,OAAO,CAAC,IAAI,CAAC,CAAA,uBAAA,EAA0B,IAAI,CAAC,IAAI,CAAA,eAAA,CAAiB,CAAC;gBAClE;YACJ;YAEA,IAAI,WAAW,GAAG,EAAE;YACpB,IAAI,SAAS,GAAG,EAAE;YAClB,IAAI,CAAC,gBAAgB,EAAE;AACvB,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,CAAA,aAAA,EAAgB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;AAChG,YAAA,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;YACxB,MAAM,aAAa,GAAG,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;YAEzC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,GAAG,KAAI;AACzB,gBAAA,IAAI,GAAG,KAAK,QAAQ,EAAE;oBAClB,SAAS,GAAG,GAAG,SAAS,CAAA,CAAA,EAAI,GAAG,CAAA,EAAA,EAAK,KAAK,GAAG;gBAChD;AACJ,YAAA,CAAC,CAAC;YACF,OAAO,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,GAAG,KAAI;gBAClC,WAAW,GAAG,GAAG,WAAW,CAAA,iBAAA,EAAoB,GAAG,CAAA,SAAA,EAAY,KAAK,eAAe;AACvF,YAAA,CAAC,CAAC;YACF,MAAM,MAAM,GAAG,CAAA,oCAAA,EAAuC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAA,yBAAA,EAA4B,IAAI,CAAA,EAAA,EAAK,SAAS,CAAA;8BAC3G,WAAW;4CACG;AAEhC,YAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBACvB,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;AACrD,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,IAAI;YAC5D;;YAGA,IAAI,CAAC,wBAAwB,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;iBAC9G,IAAI,CAAC,YAAY,IAAG;gBACjB,IAAI,YAAY,EAAE;AACd,oBAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC;gBAChD;AACJ,YAAA,CAAC,CAAC;AACV,QAAA,CAAC,CAAC;AACF,QAAA,OAAO,aAAa;IACxB;AAEA;;;AAGG;AACI,IAAA,UAAU,CAAC,QAAQ,EAAA;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC;QAC/C,IAAI,OAAO,EAAE;YACT,OAAO,CAAC,MAAM,EAAE;QACpB;IACJ;AAEQ,IAAA,gBAAgB,CAAC,KAAa,EAAA;AAClC,QAAA,QAAQ,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM;IACnD;AAEQ,IAAA,gBAAgB,CAAC,IAAY,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACrD;AAEQ,IAAA,iBAAiB,CAAC,OAA+B,EAAA;QACrD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;IAChD;AAEQ,IAAA,iBAAiB,CAAC,KAAa,EAAA;QACnC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC;IACtC;;AAGQ,IAAA,gBAAgB,CAAC,OAAwC,EAAA;AAC7D,QAAA,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE;AACnB,YAAA,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAiB,CAAC;QACvD;AACA,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AAClB,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,IAAG;AACtB,gBAAA,IAAI,IAAI,KAAK,OAAO,EAAE;oBAClB,IAAI,CAAC,QAAQ,EAAE;gBACnB;AACJ,YAAA,CAAC,CAAC;QACN;IACJ;AAEQ,IAAA,UAAU,CAAC,KAAa,EAAA;AAC5B,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE;IACxC;AACQ,IAAA,YAAY,CAAC,MAAM,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC;IAC5C;IAEO,UAAU,CAAC,UAAkB,EAAE,KAAc,EAAA;AAChD,QAAA,IAAI,OAAO;QACX,MAAM,MAAM,GAAG,EAAE;QAEjB,IAAI,CAAC,UAAU,EAAE;YACb;QACJ;AAEA,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACnB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,KAAI;gBACjC,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC,uBAAuB,EAAE,UAAU,CAAC;gBACrD,IAAI,OAAO,EAAE;AACT,oBAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;gBACxB;AACJ,YAAA,CAAC,CAAC;AAEF,YAAA,OAAO,MAAM;QACjB;AACA,QAAA,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC;AAEnB,QAAA,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC;QAE1C,IAAI,OAAO,EAAE;YACT,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,uBAAuB,EAAE,UAAU,CAAC,CAAC;QAC7D;IACJ;AAEA,IAAA,IAAI,yBAAyB,GAAA;QACzB,OAAO,IAAI,CAAC,eAAe;IAC/B;AAEA,IAAA,IAAI,oBAAoB,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,UAAU,CAAC,QAAQ;IACjE;AAEA,IAAA,IAAI,mBAAmB,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,UAAU,CAAC,QAAQ;IAChE;AAEA,IAAA,gBAAgB,CAAC,GAAW,EAAE,EAAO,EAAE,EAAQ,EAAA;AAC3C,QAAA,IAAI,GAAG,KAAK,kBAAkB,EAAE;AAC5B,YAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE;QAC9B;AAAO,aAAA,IAAI,GAAG,KAAK,SAAS,EAAE;AAC1B,YAAA,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACzB;AAAO,aAAA,IAAI,GAAG,KAAK,cAAc,EAAE;YAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC;YAC9D,IAAI,YAAY,GAAQ,EAAE;YAC1B,IAAI,EAAE,KAAK,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE;AACvC,gBAAA,WAAW,CAAC,OAAO,CAAC,QAAQ,IAAG;oBAC3B,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,IAAI,EAAA;AAC3C,wBAAA,OAAO,QAAQ,KAAK,IAAI,CAAC,IAAI;AACjC,oBAAA,CAAC,CAAC;AACF,oBAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;wBACtB,OAAO,CAAC,IAAI,CAAC,sBAAsB,GAAG,QAAQ,GAAG,yBAAyB,CAAC;oBAC/E;yBAAO;AACH,wBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5D;AACJ,gBAAA,CAAC,CAAC;YACN;iBAAO;gBACH,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;AAC9C,oBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC;gBAC1C;YACJ;QACJ;AAAO,aAAA,IAAI,GAAG,KAAK,UAAU,EAAE;YAC3B;QACJ;aAAO;YACH,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;QACvC;IACJ;IAEA,kBAAkB,GAAA;QACd,KAAK,CAAC,kBAAkB,EAAE;QAC1B,IAAI,CAAC,iBAAiB,EAAE;AACxB,QAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,IAAG;AAClE,YAAA,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;AACnB,gBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC;YAC1C;AACJ,QAAA,CAAC,CAAC;IACN;IAEA,WAAW,GAAA;;AAEP,QAAA,IAAI,IAAI,CAAC,wBAAwB,EAAE;AAC/B,YAAA,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE;AAC3C,YAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI;QACxC;;QAGA,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE;AAC/D,YAAA,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,YAAY,IAAG;AAC7C,gBAAA,IAAI,YAAY,IAAI,YAAY,CAAC,OAAO,EAAE;oBACtC,YAAY,CAAC,OAAO,EAAE;gBAC1B;AACJ,YAAA,CAAC,CAAC;AACF,YAAA,IAAI,CAAC,oBAAoB,GAAG,EAAE;QAClC;;AAGA,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AACtB,YAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,GAAG,IAAG;AAC5C,gBAAA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AACpC,YAAA,CAAC,CAAC;AACF,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI;QAC/B;;AAGA,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,IAAI,CAAC,YAAY,GAAG,EAAE;QAC1B;;AAGA,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;AACrB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;QAEtB,KAAK,CAAC,WAAW,EAAE;IACvB;AAxTS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,qHAqBmG,kBAAkB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AArBvI,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,SAAA,EAJhB;YACP,kBAAkB,CAAC,kBAAkB;AACxC,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAqBiC,sBAAsB,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAnB/C,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAR9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,SAAS,EAAE;AACP,wBAAA,kBAAkB,CAAA,kBAAA;AACrB;AACJ,iBAAA;;0BAsB0H,MAAM;2BAAC,kBAAkB;;0BAAG;;sBAFlJ,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,sBAAsB,CAAC;;;ACxC7D,MAAM,WAAW,GAAG,2BAA2B;AAC/C,MAAM,aAAa,GAAkB,EAAE,UAAU,EAAE,kBAAkB,EAAE,SAAS,EAAE,WAAW,EAAE;AAaxF,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,iBAAiB,CAAA;AAClD,IAAA,SAAA,IAAA,CAAA,eAAe,GAAGF,eAAa,EAAhB,CAAmB;AAmBzC,IAAA,WAAA,CAAY,GAAa,EAAU,YAAgC,EAA0C,eAAoB,EAAU,GAAQ,EAAA;AAC/I,QAAA,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,eAAe,CAAC;QADX,IAAA,CAAA,YAAY,GAAZ,YAAY;QAA4F,IAAA,CAAA,GAAG,GAAH,GAAG;QAjBvI,IAAA,CAAA,QAAQ,GAAG,KAAK;QAQf,IAAA,CAAA,SAAS,GAAG,IAAI;QAIhB,IAAA,CAAA,wBAAwB,GAAG,EAAE;QAQjC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC;;;AAIzD,QAAA,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC;IAC3C;AAEA;;;;;;;AAOG;AACI,IAAA,MAAM,CAAC,GAAW,EAAA;AACrB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf;QACJ;AACA,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;QACpB,IAAI,CAAC,SAAS,EAAE;QAChB,IAAI,CAAC,cAAc,EAAE;QACrB,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACnD,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC;IAChC;AAEA;;;;;AAKG;AACI,IAAA,QAAQ,CAAC,GAAW,EAAA;AACvB,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB;QACJ;AACA,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;QACrB,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrD,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC;IACjC;IAEO,MAAM,GAAA;QACT,MAAM,SAAS,GAAI,IAAY,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC;AACpE,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACrD,IAAI,KAAK,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE;QACjK;QACA,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE;AACxD,QAAA,cAAc,CAAC,MAAM,CAAE,IAAY,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5E,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;AAClD,QAAA,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;IAC/B;AAEO,IAAA,MAAM,CAAC,GAAU,EAAA;AACpB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACf,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QACtB;aAAO;AACH,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QACpB;IACJ;;IAGQ,cAAc,GAAA;QAClB,UAAU,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAC3B,gBAAA,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YACtD;QACJ,CAAC,EAAE,GAAG,CAAC;IACX;IAEQ,YAAY,CAAC,QAAiB,EAAE,GAAU,EAAA;QAC9C,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC;IACvD;AAEA,IAAA,IAAI,uBAAuB,GAAA;QACvB,OAAO,iBAAiB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,wBAAwB,CAAC;IAC/E;AAEA,IAAA,gBAAgB,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAA;AACxB,QAAA,IAAI,GAAG,KAAK,SAAS,EAAE;AACnB,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,UAAU,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,CAAC;YAC3C;QACJ;AAAO,aAAA,IAAI,GAAG,KAAK,UAAU,EAAE;YAC3B;QACJ;aAAO;YACH,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;QACvC;IACJ;IAEA,eAAe,GAAA;QACX,KAAK,CAAC,eAAe,EAAE;AACvB,QAAA,MAAM,CACF,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAgB,EAC9D,IAAI,EACJ,iBAAiB,CAAC,WAAW,CAChC;AACD,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC;QAC/C;IACJ;IAEA,WAAW,GAAA;;AAEP,QAAA,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAC3B,YAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI;QACpC;;AAGA,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;QAErB,KAAK,CAAC,WAAW,EAAE;IACvB;AAtIS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,yEAoB8C,kBAAkB,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAG,EAAA,CAAA,GAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AApBtF,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,SAAA,EALpB;YACP,kBAAkB,CAAC,sBAAsB;AAC5C,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,SAAA,EAqBgB,mBAAmB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClDxC,w8CA4BA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDJc,YAAY,6HAAE,kBAAkB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,KAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;AAQjC,sBAAsB,GAAA,UAAA,CAAA;AAXlC,IAAA,UAAU,CAAC,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC;qCA+BzB,QAAQ,EAAwB,kBAAkB,EAAA,MAAA,EAA6E,GAAG,CAAA;AApB1I,CAAA,EAAA,sBAAsB,CAuIlC;4FAvIY,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAVlC,SAAS;iCACM,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,kBAAkB,CAAC,EAAA,QAAA,EACjC,sBAAsB,EAAA,SAAA,EAErB;AACP,wBAAA,kBAAkB,CAAA,sBAAA;AACrB,qBAAA,EAAA,QAAA,EACS,iBAAiB,EAAA,QAAA,EAAA,w8CAAA,EAAA;;0BAsB2C,MAAM;2BAAC,kBAAkB;;0BAAG;;sBAFjG,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,mBAAmB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;;;AElD/D;;AAEG;;;;"}
@@ -192,7 +192,7 @@
192
192
  static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0__namespace, type: PanelComponent, deps: [{ token: i0__namespace.Injector }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component }); }
193
193
  static { this.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: PanelComponent, isStandalone: true, selector: "[wmPanel]", providers: [
194
194
  base.provideAsWidgetRef(PanelComponent)
195
- ], queries: [{ propertyName: "reDrawableComponents", predicate: base.RedrawableDirective, descendants: true }], viewQueries: [{ propertyName: "panelHeader", first: true, predicate: ["panelHeading"], descendants: true }, { propertyName: "panelContent", first: true, predicate: ["panelContent"], descendants: true, static: true }, { propertyName: "panelBody", first: true, predicate: ["panelBody"], descendants: true, static: true }], exportAs: ["wmPanel"], usesInheritance: true, ngImport: i0__namespace, template: "@if (showHeader) {\n <div class=\"panel-heading {{helpClass}}\" #panelHeading>\n <div class=\"panel-title\">\n <a href=\"javascript:void(0)\" class=\"panel-toggle\" (click)=\"toggle($event)\" [attr.aria-expanded]=\"!!expanded\">\n <div class=\"pull-left\">\n <wm-app-icon [iconclass]=\"iconclass\"\n [iconurl]=\"iconurl\"\n [iconClasses]=\"iconurl ? 'panel-image-icon' : 'panel-icon'\"\n [iconStyle]=\"{width: iconwidth, height: iconheight, margin: iconmargin, fontSize: iconwidth}\"\n alt=\"Panel icon\"></wm-app-icon>\n </div>\n <div class=\"pull-left\">\n <div class=\"heading\" [innerHTML]=\"title\" [title]=\"title\"></div>\n <div class=\"description\" [innerHTML]=\"subheading\"></div>\n </div>\n </a>\n <div class=\"panel-actions\">\n @if (badgevalue) {\n <span\n class=\"app-badge label label-{{badgetype}}\">{{badgevalue}}</span>\n }\n @if (actions) {\n <div wmMenu aria-label=\"dropdown\" dropdown type=\"anchor\" class=\"panel-action\" dataset.bind=\"actions\"\n caption=\"\" menuposition=\"down,left\" iconclass=\"wi wi-more-vert\"\n autoclose.bind=\"autoclose\" datafield.bind=\"datafield\" select.event=\"menuActionItemClick($event,$item)\">\n </div>\n }\n @if (helptext) {\n <button type=\"button\" aria-label=\"Help\" class=\"app-icon panel-action wi\" [title]=\"appLocale.LABEL_HELP\"\n (click)=\"toggleHelp()\"><i class=\"wi-question\"></i></button>\n }\n @if (collapsible) {\n <button type=\"button\" aria-label=\"Collapse/Expand\" class=\"app-icon wi panel-action\"\n [title]=\"expandCollapseTitle\" (click)=\"toggle($event);\" [attr.aria-expanded]=\"!!expanded\"><i\n [ngClass]=\"expanded ? 'wi-minus' : 'wi-plus'\"></i></button>\n }\n @if (enablefullscreen) {\n <button type=\"button\" aria-label=\"Fullscreen/Exit\" class=\"app-icon panel-action wi\"\n [title]=\"fullScreenTitle\" (click)=\"toggleFullScreen($event);\"><i\n [ngClass]=\"fullscreen ? 'wi-fullscreen-exit' : 'wi-fullscreen'\"></i></button>\n }\n @if (closable) {\n <button type=\"button\" aria-label=\"Close button\" class=\"app-icon panel-action\"\n title=\"{{appLocale.LABEL_CLOSE}}\" (click)=\"close($event)\"><i\n class=\"wi wi-close\"></i></button>\n }\n </div>\n </div>\n </div>\n }\n <div class=\"panel-content\" [hidden]=\"!expanded\" #panelContent>\n <!-- Todo Bandhavya - implement smooth scroll -->\n <div partial-container-target #panelBody [ngClass]=\"['panel-body', helpClass]\">\n <ng-content></ng-content>\n </div>\n <aside class=\"panel-help-message\" [ngClass]=\"helpClass\">\n <h5 class=\"panel-help-header\" [textContent]=\"appLocale.LABEL_HELP\"></h5>\n <div class=\"panel-help-content\" [innerHTML]=\"helptext | trustAs : 'html'\"></div>\n </aside>\n </div>\n <div class=\"app-panel-footer panel-footer clearfix\" [hidden]=\"hideFooter\">\n <ng-content select=\"[wmPanelFooter]\"></ng-content>\n </div>\n", dependencies: [{ kind: "ngmodule", type: i1.BsDropdownModule }, { kind: "directive", type: i1__namespace.BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }, { kind: "ngmodule", type: i2.CommonModule }, { kind: "directive", type: i2__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: base.TextContentDirective, selector: "[textContent]", inputs: ["textContent"] }, { kind: "component", type: menu.MenuComponent, selector: "[wmMenu]" }, { kind: "component", type: base.WmAppIconComponent, selector: "wm-app-icon", inputs: ["iconclass", "iconurl", "defaultIconClass", "defaultClasses", "iconStyle", "alt"] }, { kind: "pipe", type: base.TrustAsPipe, name: "trustAs" }] }); }
195
+ ], queries: [{ propertyName: "reDrawableComponents", predicate: base.RedrawableDirective, descendants: true }], viewQueries: [{ propertyName: "panelHeader", first: true, predicate: ["panelHeading"], descendants: true }, { propertyName: "panelContent", first: true, predicate: ["panelContent"], descendants: true, static: true }, { propertyName: "panelBody", first: true, predicate: ["panelBody"], descendants: true, static: true }], exportAs: ["wmPanel"], usesInheritance: true, ngImport: i0__namespace, template: "@if (showHeader) {\n <div class=\"panel-heading {{helpClass}}\" #panelHeading>\n <div class=\"panel-title\">\n <a href=\"javascript:void(0)\" class=\"panel-toggle\" (click)=\"toggle($event)\" [attr.aria-expanded]=\"!!expanded\">\n <div class=\"pull-left\">\n <wm-app-icon [iconclass]=\"iconclass\"\n [iconurl]=\"iconurl\"\n [iconClasses]=\"iconurl ? 'panel-image-icon' : 'panel-icon'\"\n [iconStyle]=\"{width: iconwidth, height: iconheight, margin: iconmargin, fontSize: iconwidth}\"\n alt=\"Panel icon\"></wm-app-icon>\n </div>\n <div class=\"pull-left\">\n <div class=\"heading\" [innerHTML]=\"title\" [title]=\"title\"></div>\n <div class=\"description\" [innerHTML]=\"subheading\"></div>\n </div>\n </a>\n <div class=\"panel-actions\">\n @if (badgevalue) {\n <span\n class=\"app-badge label label-{{badgetype}}\">{{badgevalue}}</span>\n }\n @if (actions) {\n <div wmMenu aria-label=\"dropdown\" dropdown type=\"anchor\" class=\"panel-action\" dataset.bind=\"actions\"\n caption=\"\" menuposition=\"down,left\" iconclass=\"wi wi-more-vert\"\n autoclose.bind=\"autoclose\" datafield.bind=\"datafield\" select.event=\"menuActionItemClick($event,$item)\">\n </div>\n }\n @if (helptext) {\n <button type=\"button\" aria-label=\"Help\" class=\"app-icon panel-action wi\" [title]=\"appLocale.LABEL_HELP\"\n (click)=\"toggleHelp()\"><i class=\"wi-question\"></i></button>\n }\n @if (collapsible) {\n <button type=\"button\" aria-label=\"Collapse/Expand\" class=\"app-icon wi panel-action\"\n [title]=\"expandCollapseTitle\" (click)=\"toggle($event);\" [attr.aria-expanded]=\"!!expanded\"><i\n [ngClass]=\"expanded ? 'wi-minus' : 'wi-plus'\"></i></button>\n }\n @if (enablefullscreen) {\n <button type=\"button\" aria-label=\"Fullscreen/Exit\" class=\"app-icon panel-action wi\"\n [title]=\"fullScreenTitle\" (click)=\"toggleFullScreen($event);\"><i\n [ngClass]=\"fullscreen ? 'wi-fullscreen-exit' : 'wi-fullscreen'\"></i></button>\n }\n @if (closable) {\n <button type=\"button\" aria-label=\"Close button\" class=\"app-icon panel-action\"\n title=\"{{appLocale.LABEL_CLOSE}}\" (click)=\"close($event)\"><i\n class=\"wi wi-close\"></i></button>\n }\n </div>\n </div>\n </div>\n }\n <div class=\"panel-content\" [hidden]=\"!expanded\" #panelContent>\n <!-- Todo Bandhavya - implement smooth scroll -->\n <div partial-container-target #panelBody [ngClass]=\"['panel-body', helpClass]\">\n <ng-content></ng-content>\n </div>\n <aside class=\"panel-help-message\" [ngClass]=\"helpClass\">\n <h5 class=\"panel-help-header\" [textContent]=\"appLocale.LABEL_HELP\"></h5>\n <div class=\"panel-help-content\" [innerHTML]=\"helptext | trustAs : 'html'\"></div>\n </aside>\n </div>\n <div class=\"app-panel-footer panel-footer clearfix\" [hidden]=\"hideFooter\">\n <ng-content select=\"[wmPanelFooter]\"></ng-content>\n </div>\n", dependencies: [{ kind: "ngmodule", type: i1.BsDropdownModule }, { kind: "directive", type: i1__namespace.BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }, { kind: "ngmodule", type: i2.CommonModule }, { kind: "directive", type: i2__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: base.TextContentDirective, selector: "[textContent]", inputs: ["textContent"] }, { kind: "component", type: menu.MenuComponent, selector: "[wmMenu]" }, { kind: "component", type: base.WmAppIconComponent, selector: "wm-app-icon", inputs: ["icon", "iconclass", "iconurl", "defaultIconClass", "defaultClasses", "iconStyle", "alt"] }, { kind: "pipe", type: base.TrustAsPipe, name: "trustAs" }] }); }
196
196
  }
197
197
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0__namespace, type: PanelComponent, decorators: [{
198
198
  type: i0.Component,
@@ -176,7 +176,7 @@ class PanelComponent extends MenuAdapterComponent {
176
176
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: PanelComponent, deps: [{ token: i0.Injector }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
177
177
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: PanelComponent, isStandalone: true, selector: "[wmPanel]", providers: [
178
178
  provideAsWidgetRef(PanelComponent)
179
- ], queries: [{ propertyName: "reDrawableComponents", predicate: RedrawableDirective, descendants: true }], viewQueries: [{ propertyName: "panelHeader", first: true, predicate: ["panelHeading"], descendants: true }, { propertyName: "panelContent", first: true, predicate: ["panelContent"], descendants: true, static: true }, { propertyName: "panelBody", first: true, predicate: ["panelBody"], descendants: true, static: true }], exportAs: ["wmPanel"], usesInheritance: true, ngImport: i0, template: "@if (showHeader) {\n <div class=\"panel-heading {{helpClass}}\" #panelHeading>\n <div class=\"panel-title\">\n <a href=\"javascript:void(0)\" class=\"panel-toggle\" (click)=\"toggle($event)\" [attr.aria-expanded]=\"!!expanded\">\n <div class=\"pull-left\">\n <wm-app-icon [iconclass]=\"iconclass\"\n [iconurl]=\"iconurl\"\n [iconClasses]=\"iconurl ? 'panel-image-icon' : 'panel-icon'\"\n [iconStyle]=\"{width: iconwidth, height: iconheight, margin: iconmargin, fontSize: iconwidth}\"\n alt=\"Panel icon\"></wm-app-icon>\n </div>\n <div class=\"pull-left\">\n <div class=\"heading\" [innerHTML]=\"title\" [title]=\"title\"></div>\n <div class=\"description\" [innerHTML]=\"subheading\"></div>\n </div>\n </a>\n <div class=\"panel-actions\">\n @if (badgevalue) {\n <span\n class=\"app-badge label label-{{badgetype}}\">{{badgevalue}}</span>\n }\n @if (actions) {\n <div wmMenu aria-label=\"dropdown\" dropdown type=\"anchor\" class=\"panel-action\" dataset.bind=\"actions\"\n caption=\"\" menuposition=\"down,left\" iconclass=\"wi wi-more-vert\"\n autoclose.bind=\"autoclose\" datafield.bind=\"datafield\" select.event=\"menuActionItemClick($event,$item)\">\n </div>\n }\n @if (helptext) {\n <button type=\"button\" aria-label=\"Help\" class=\"app-icon panel-action wi\" [title]=\"appLocale.LABEL_HELP\"\n (click)=\"toggleHelp()\"><i class=\"wi-question\"></i></button>\n }\n @if (collapsible) {\n <button type=\"button\" aria-label=\"Collapse/Expand\" class=\"app-icon wi panel-action\"\n [title]=\"expandCollapseTitle\" (click)=\"toggle($event);\" [attr.aria-expanded]=\"!!expanded\"><i\n [ngClass]=\"expanded ? 'wi-minus' : 'wi-plus'\"></i></button>\n }\n @if (enablefullscreen) {\n <button type=\"button\" aria-label=\"Fullscreen/Exit\" class=\"app-icon panel-action wi\"\n [title]=\"fullScreenTitle\" (click)=\"toggleFullScreen($event);\"><i\n [ngClass]=\"fullscreen ? 'wi-fullscreen-exit' : 'wi-fullscreen'\"></i></button>\n }\n @if (closable) {\n <button type=\"button\" aria-label=\"Close button\" class=\"app-icon panel-action\"\n title=\"{{appLocale.LABEL_CLOSE}}\" (click)=\"close($event)\"><i\n class=\"wi wi-close\"></i></button>\n }\n </div>\n </div>\n </div>\n }\n <div class=\"panel-content\" [hidden]=\"!expanded\" #panelContent>\n <!-- Todo Bandhavya - implement smooth scroll -->\n <div partial-container-target #panelBody [ngClass]=\"['panel-body', helpClass]\">\n <ng-content></ng-content>\n </div>\n <aside class=\"panel-help-message\" [ngClass]=\"helpClass\">\n <h5 class=\"panel-help-header\" [textContent]=\"appLocale.LABEL_HELP\"></h5>\n <div class=\"panel-help-content\" [innerHTML]=\"helptext | trustAs : 'html'\"></div>\n </aside>\n </div>\n <div class=\"app-panel-footer panel-footer clearfix\" [hidden]=\"hideFooter\">\n <ng-content select=\"[wmPanelFooter]\"></ng-content>\n </div>\n", dependencies: [{ kind: "ngmodule", type: BsDropdownModule }, { kind: "directive", type: i1.BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: TextContentDirective, selector: "[textContent]", inputs: ["textContent"] }, { kind: "component", type: MenuComponent, selector: "[wmMenu]" }, { kind: "component", type: WmAppIconComponent, selector: "wm-app-icon", inputs: ["iconclass", "iconurl", "defaultIconClass", "defaultClasses", "iconStyle", "alt"] }, { kind: "pipe", type: TrustAsPipe, name: "trustAs" }] }); }
179
+ ], queries: [{ propertyName: "reDrawableComponents", predicate: RedrawableDirective, descendants: true }], viewQueries: [{ propertyName: "panelHeader", first: true, predicate: ["panelHeading"], descendants: true }, { propertyName: "panelContent", first: true, predicate: ["panelContent"], descendants: true, static: true }, { propertyName: "panelBody", first: true, predicate: ["panelBody"], descendants: true, static: true }], exportAs: ["wmPanel"], usesInheritance: true, ngImport: i0, template: "@if (showHeader) {\n <div class=\"panel-heading {{helpClass}}\" #panelHeading>\n <div class=\"panel-title\">\n <a href=\"javascript:void(0)\" class=\"panel-toggle\" (click)=\"toggle($event)\" [attr.aria-expanded]=\"!!expanded\">\n <div class=\"pull-left\">\n <wm-app-icon [iconclass]=\"iconclass\"\n [iconurl]=\"iconurl\"\n [iconClasses]=\"iconurl ? 'panel-image-icon' : 'panel-icon'\"\n [iconStyle]=\"{width: iconwidth, height: iconheight, margin: iconmargin, fontSize: iconwidth}\"\n alt=\"Panel icon\"></wm-app-icon>\n </div>\n <div class=\"pull-left\">\n <div class=\"heading\" [innerHTML]=\"title\" [title]=\"title\"></div>\n <div class=\"description\" [innerHTML]=\"subheading\"></div>\n </div>\n </a>\n <div class=\"panel-actions\">\n @if (badgevalue) {\n <span\n class=\"app-badge label label-{{badgetype}}\">{{badgevalue}}</span>\n }\n @if (actions) {\n <div wmMenu aria-label=\"dropdown\" dropdown type=\"anchor\" class=\"panel-action\" dataset.bind=\"actions\"\n caption=\"\" menuposition=\"down,left\" iconclass=\"wi wi-more-vert\"\n autoclose.bind=\"autoclose\" datafield.bind=\"datafield\" select.event=\"menuActionItemClick($event,$item)\">\n </div>\n }\n @if (helptext) {\n <button type=\"button\" aria-label=\"Help\" class=\"app-icon panel-action wi\" [title]=\"appLocale.LABEL_HELP\"\n (click)=\"toggleHelp()\"><i class=\"wi-question\"></i></button>\n }\n @if (collapsible) {\n <button type=\"button\" aria-label=\"Collapse/Expand\" class=\"app-icon wi panel-action\"\n [title]=\"expandCollapseTitle\" (click)=\"toggle($event);\" [attr.aria-expanded]=\"!!expanded\"><i\n [ngClass]=\"expanded ? 'wi-minus' : 'wi-plus'\"></i></button>\n }\n @if (enablefullscreen) {\n <button type=\"button\" aria-label=\"Fullscreen/Exit\" class=\"app-icon panel-action wi\"\n [title]=\"fullScreenTitle\" (click)=\"toggleFullScreen($event);\"><i\n [ngClass]=\"fullscreen ? 'wi-fullscreen-exit' : 'wi-fullscreen'\"></i></button>\n }\n @if (closable) {\n <button type=\"button\" aria-label=\"Close button\" class=\"app-icon panel-action\"\n title=\"{{appLocale.LABEL_CLOSE}}\" (click)=\"close($event)\"><i\n class=\"wi wi-close\"></i></button>\n }\n </div>\n </div>\n </div>\n }\n <div class=\"panel-content\" [hidden]=\"!expanded\" #panelContent>\n <!-- Todo Bandhavya - implement smooth scroll -->\n <div partial-container-target #panelBody [ngClass]=\"['panel-body', helpClass]\">\n <ng-content></ng-content>\n </div>\n <aside class=\"panel-help-message\" [ngClass]=\"helpClass\">\n <h5 class=\"panel-help-header\" [textContent]=\"appLocale.LABEL_HELP\"></h5>\n <div class=\"panel-help-content\" [innerHTML]=\"helptext | trustAs : 'html'\"></div>\n </aside>\n </div>\n <div class=\"app-panel-footer panel-footer clearfix\" [hidden]=\"hideFooter\">\n <ng-content select=\"[wmPanelFooter]\"></ng-content>\n </div>\n", dependencies: [{ kind: "ngmodule", type: BsDropdownModule }, { kind: "directive", type: i1.BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: TextContentDirective, selector: "[textContent]", inputs: ["textContent"] }, { kind: "component", type: MenuComponent, selector: "[wmMenu]" }, { kind: "component", type: WmAppIconComponent, selector: "wm-app-icon", inputs: ["icon", "iconclass", "iconurl", "defaultIconClass", "defaultClasses", "iconStyle", "alt"] }, { kind: "pipe", type: TrustAsPipe, name: "trustAs" }] }); }
180
180
  }
181
181
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: PanelComponent, decorators: [{
182
182
  type: Component,
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/containers/panel/src/panel.props.ts","../../../../../projects/components/widgets/containers/panel/src/panel.component.ts","../../../../../projects/components/widgets/containers/panel/src/panel.component.html","../../../../../projects/components/widgets/containers/panel/src/index.ts"],"sourcesContent":["import { PROP_ANY, PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-panel',\n new Map(\n [\n ['actions', {}],\n ['animation', PROP_STRING],\n ['autoclose', PROP_STRING],\n ['badgetype', { value: 'default', ...PROP_STRING }],\n ['badgevalue', PROP_STRING],\n ['class', PROP_STRING],\n ['closable', PROP_BOOLEAN],\n ['collapsible', PROP_BOOLEAN],\n ['conditionalclass', PROP_ANY],\n ['conditionalstyle', PROP_ANY],\n ['content', PROP_STRING],\n ['datafield', PROP_STRING],\n ['enablefullscreen', PROP_BOOLEAN],\n ['expanded', { value: true, ...PROP_BOOLEAN }],\n ['fullscreen', PROP_BOOLEAN],\n ['helptext', PROP_STRING],\n ['iconclass', PROP_STRING],\n ['iconheight', PROP_STRING],\n ['iconmargin', PROP_STRING],\n ['iconurl', PROP_STRING],\n ['iconwidth', PROP_STRING],\n ['itemaction', PROP_STRING],\n ['itemchildren', PROP_STRING],\n ['itemicon', PROP_STRING],\n ['itemlabel', PROP_STRING],\n ['itemlink', PROP_STRING],\n ['name', PROP_STRING],\n ['show', { value: true, ...PROP_BOOLEAN }],\n ['subheading', PROP_STRING],\n ['title', PROP_STRING],\n ['userrole', PROP_STRING],\n ['hint', PROP_STRING]\n ]\n )\n );\n};\n","import { CommonModule } from '@angular/common';\nimport { TextContentDirective, TrustAsPipe, WmAppIconComponent } from \"@wm/components/base\";\nimport {\n AfterContentInit,\n Component,\n ContentChildren,\n ElementRef,\n Inject,\n Injector,\n OnDestroy,\n OnInit,\n Optional,\n ViewChild\n} from '@angular/core';\n\nimport { $appDigest, noop, removeAttr, setCSS, toggleClass } from '@wm/core';\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { APPLY_STYLES_TYPE, IWidgetConfig, provideAsWidgetRef, RedrawableDirective, styler } from '@wm/components/base';\nimport { MenuAdapterComponent, MenuComponent } from '@wm/components/navigation/menu';\nimport { registerProps } from './panel.props';\nimport { omit } from \"lodash-es\";\n\nconst DEFAULT_CLS = 'app-panel panel';\nconst WIDGET_CONFIG: IWidgetConfig = { widgetType: 'wm-panel', hostClass: DEFAULT_CLS };\n\n@Component({\n standalone: true,\n imports: [BsDropdownModule, CommonModule, TextContentDirective, TrustAsPipe, MenuComponent, WmAppIconComponent],\n selector: '[wmPanel]',\n templateUrl: './panel.component.html',\n providers: [\n provideAsWidgetRef(PanelComponent)\n ],\n exportAs: 'wmPanel'\n})\n\nexport class PanelComponent extends MenuAdapterComponent implements OnInit, AfterContentInit, OnDestroy {\n static initializeProps = registerProps();\n\n public $lazyLoad = noop;\n public iconurl: string;\n public iconclass: string;\n public iconwidth: string;\n public iconheight: string;\n public iconmargin: string;\n public collapsible: boolean;\n public expanded = true;\n public enablefullscreen: boolean;\n public fullscreen: boolean;\n public title: string;\n public subheading: string;\n public actions: any;\n public selectedAction: any;\n\n public helpClass = '';\n public helptext = '';\n private fullScreenTitle: string;\n private expandCollapseTitle: string;\n\n @ViewChild('panelHeading', { static: false }) private panelHeader: ElementRef;\n @ViewChild('panelContent', { static: true }) private panelContent: ElementRef;\n @ViewChild('panelBody', { static: true }) private panelBody: ElementRef;\n @ContentChildren(RedrawableDirective, { descendants: true }) reDrawableComponents;\n\n private hasFooter: boolean;\n\n // conditions to show the footer\n public get hideFooter() {\n return !this.hasFooter || !this.expanded;\n }\n\n // conditions to show header\n public get showHeader() {\n return this.iconurl || this.iconclass || this.collapsible || this.actions || this.title || this.subheading || this.enablefullscreen;\n }\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.SHELL);\n\n this.fullScreenTitle = `${this.appLocale.LABEL_FULLSCREEN}/${this.appLocale.LABEL_EXITFULLSCREEN}`;\n this.expandCollapseTitle = `${this.appLocale.LABEL_COLLAPSE}/${this.appLocale.LABEL_EXPAND}`;\n removeAttr(this.nativeElement, 'title');\n }\n\n // toggle the panel state between collapsed - expanded. invoke the respective callbacks\n public toggle($event) {\n if (this.collapsible) {\n this.invokeEventCallback(this.expanded ? 'collapse' : 'expand', { $event });\n this.expanded = !this.expanded;\n if (this.expanded) {\n this.$lazyLoad();\n this.reDrawChildren();\n }\n }\n }\n\n public expand($event) {\n if (!this.expanded) {\n this.toggle($event);\n }\n }\n\n public collapse($event) {\n if (this.expanded) {\n this.toggle($event);\n }\n }\n\n // toggle the fullscreen state of the panel. invoke the respective callbacks\n protected toggleFullScreen($event) {\n if (this.enablefullscreen) {\n this.invokeEventCallback(this.fullscreen ? 'exitfullscreen' : 'fullscreen', { $event });\n this.fullscreen = !this.fullscreen;\n toggleClass(this.nativeElement, 'fullscreen', this.fullscreen);\n // Re-plot the widgets inside panel\n this.reDrawChildren();\n }\n this.computeDimensions();\n }\n\n // show/hide help\n protected toggleHelp() {\n this.helpClass = this.helpClass ? '' : 'show-help';\n toggleClass(this.nativeElement, 'show-help', !!this.helpClass);\n $appDigest();\n }\n\n // On action item click\n protected menuActionItemClick($event, $item) {\n this.selectedAction = omit($item, ['children', 'value']);\n this.invokeEventCallback('actionsclick', { $event, $item: this.selectedAction });\n }\n\n // hide the panel and invoke the respective event handler\n protected close($event) {\n this.getWidget().show = false;\n this.invokeEventCallback('close', { $event });\n }\n\n // calculation of dimensions when the panel the panel state changes from/to fullscreen\n private computeDimensions() {\n const headerHeight = this.panelHeader.nativeElement.offsetHeight;\n const footer = this.nativeElement.querySelector('.panel-footer') as HTMLElement;\n const content = this.panelContent.nativeElement;\n const vHeight = window.innerHeight;\n\n let inlineHeight;\n\n if (this.fullscreen) {\n inlineHeight = this.hideFooter ? (vHeight - headerHeight) : vHeight - (footer.offsetHeight + headerHeight);\n } else {\n inlineHeight = this.height || '';\n }\n\n setCSS(content, 'height', inlineHeight);\n }\n\n // notify the redrawable components(charts, grid)\n private reDrawChildren() {\n setTimeout(() => {\n if (this.reDrawableComponents) {\n this.reDrawableComponents.forEach(c => c.redraw());\n }\n }, 100);\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (key === 'expanded') {\n this.expanded = nv;\n } else if (key === 'content') {\n setTimeout(() => {\n if (this.expanded || !this.collapsible) {\n this.$lazyLoad();\n }\n }, 20);\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n ngAfterContentInit() {\n super.ngAfterContentInit();\n this.hasFooter = !!this.nativeElement.querySelector('[wmPanelFooter]');\n styler(this.panelBody.nativeElement as HTMLElement, this, APPLY_STYLES_TYPE.INNER_SHELL);\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Clear ViewChild references\n this.panelHeader = null;\n this.panelContent = null;\n this.panelBody = null;\n\n // MEMORY LEAK FIX: Clear ContentChildren QueryList reference\n if (this.reDrawableComponents) {\n this.reDrawableComponents = null;\n }\n\n // MEMORY LEAK FIX: Clear lazy load function reference\n this.$lazyLoad = null;\n\n super.ngOnDestroy();\n }\n}\n","@if (showHeader) {\n <div class=\"panel-heading {{helpClass}}\" #panelHeading>\n <div class=\"panel-title\">\n <a href=\"javascript:void(0)\" class=\"panel-toggle\" (click)=\"toggle($event)\" [attr.aria-expanded]=\"!!expanded\">\n <div class=\"pull-left\">\n <wm-app-icon [iconclass]=\"iconclass\"\n [iconurl]=\"iconurl\"\n [iconClasses]=\"iconurl ? 'panel-image-icon' : 'panel-icon'\"\n [iconStyle]=\"{width: iconwidth, height: iconheight, margin: iconmargin, fontSize: iconwidth}\"\n alt=\"Panel icon\"></wm-app-icon>\n </div>\n <div class=\"pull-left\">\n <div class=\"heading\" [innerHTML]=\"title\" [title]=\"title\"></div>\n <div class=\"description\" [innerHTML]=\"subheading\"></div>\n </div>\n </a>\n <div class=\"panel-actions\">\n @if (badgevalue) {\n <span\n class=\"app-badge label label-{{badgetype}}\">{{badgevalue}}</span>\n }\n @if (actions) {\n <div wmMenu aria-label=\"dropdown\" dropdown type=\"anchor\" class=\"panel-action\" dataset.bind=\"actions\"\n caption=\"\" menuposition=\"down,left\" iconclass=\"wi wi-more-vert\"\n autoclose.bind=\"autoclose\" datafield.bind=\"datafield\" select.event=\"menuActionItemClick($event,$item)\">\n </div>\n }\n @if (helptext) {\n <button type=\"button\" aria-label=\"Help\" class=\"app-icon panel-action wi\" [title]=\"appLocale.LABEL_HELP\"\n (click)=\"toggleHelp()\"><i class=\"wi-question\"></i></button>\n }\n @if (collapsible) {\n <button type=\"button\" aria-label=\"Collapse/Expand\" class=\"app-icon wi panel-action\"\n [title]=\"expandCollapseTitle\" (click)=\"toggle($event);\" [attr.aria-expanded]=\"!!expanded\"><i\n [ngClass]=\"expanded ? 'wi-minus' : 'wi-plus'\"></i></button>\n }\n @if (enablefullscreen) {\n <button type=\"button\" aria-label=\"Fullscreen/Exit\" class=\"app-icon panel-action wi\"\n [title]=\"fullScreenTitle\" (click)=\"toggleFullScreen($event);\"><i\n [ngClass]=\"fullscreen ? 'wi-fullscreen-exit' : 'wi-fullscreen'\"></i></button>\n }\n @if (closable) {\n <button type=\"button\" aria-label=\"Close button\" class=\"app-icon panel-action\"\n title=\"{{appLocale.LABEL_CLOSE}}\" (click)=\"close($event)\"><i\n class=\"wi wi-close\"></i></button>\n }\n </div>\n </div>\n </div>\n }\n <div class=\"panel-content\" [hidden]=\"!expanded\" #panelContent>\n <!-- Todo Bandhavya - implement smooth scroll -->\n <div partial-container-target #panelBody [ngClass]=\"['panel-body', helpClass]\">\n <ng-content></ng-content>\n </div>\n <aside class=\"panel-help-message\" [ngClass]=\"helpClass\">\n <h5 class=\"panel-help-header\" [textContent]=\"appLocale.LABEL_HELP\"></h5>\n <div class=\"panel-help-content\" [innerHTML]=\"helptext | trustAs : 'html'\"></div>\n </aside>\n </div>\n <div class=\"app-panel-footer panel-footer clearfix\" [hidden]=\"hideFooter\">\n <ng-content select=\"[wmPanelFooter]\"></ng-content>\n </div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/containers/panel/src/panel.props.ts","../../../../../projects/components/widgets/containers/panel/src/panel.component.ts","../../../../../projects/components/widgets/containers/panel/src/panel.component.html","../../../../../projects/components/widgets/containers/panel/src/index.ts"],"sourcesContent":["import { PROP_ANY, PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-panel',\n new Map(\n [\n ['actions', {}],\n ['animation', PROP_STRING],\n ['autoclose', PROP_STRING],\n ['badgetype', { value: 'default', ...PROP_STRING }],\n ['badgevalue', PROP_STRING],\n ['class', PROP_STRING],\n ['closable', PROP_BOOLEAN],\n ['collapsible', PROP_BOOLEAN],\n ['conditionalclass', PROP_ANY],\n ['conditionalstyle', PROP_ANY],\n ['content', PROP_STRING],\n ['datafield', PROP_STRING],\n ['enablefullscreen', PROP_BOOLEAN],\n ['expanded', { value: true, ...PROP_BOOLEAN }],\n ['fullscreen', PROP_BOOLEAN],\n ['helptext', PROP_STRING],\n ['iconclass', PROP_STRING],\n ['iconheight', PROP_STRING],\n ['iconmargin', PROP_STRING],\n ['iconurl', PROP_STRING],\n ['iconwidth', PROP_STRING],\n ['itemaction', PROP_STRING],\n ['itemchildren', PROP_STRING],\n ['itemicon', PROP_STRING],\n ['itemlabel', PROP_STRING],\n ['itemlink', PROP_STRING],\n ['name', PROP_STRING],\n ['show', { value: true, ...PROP_BOOLEAN }],\n ['subheading', PROP_STRING],\n ['title', PROP_STRING],\n ['userrole', PROP_STRING],\n ['hint', PROP_STRING]\n ]\n )\n );\n};\n","import { CommonModule } from '@angular/common';\nimport { TextContentDirective, TrustAsPipe, WmAppIconComponent } from \"@wm/components/base\";\nimport {\n AfterContentInit,\n Component,\n ContentChildren,\n ElementRef,\n Inject,\n Injector,\n OnDestroy,\n OnInit,\n Optional,\n ViewChild\n} from '@angular/core';\n\nimport { $appDigest, noop, removeAttr, setCSS, toggleClass } from '@wm/core';\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { APPLY_STYLES_TYPE, IWidgetConfig, provideAsWidgetRef, RedrawableDirective, styler } from '@wm/components/base';\nimport { MenuAdapterComponent, MenuComponent } from '@wm/components/navigation/menu';\nimport { registerProps } from './panel.props';\nimport { omit } from \"lodash-es\";\n\nconst DEFAULT_CLS = 'app-panel panel';\nconst WIDGET_CONFIG: IWidgetConfig = { widgetType: 'wm-panel', hostClass: DEFAULT_CLS };\n\n@Component({\n standalone: true,\n imports: [BsDropdownModule, CommonModule, TextContentDirective, TrustAsPipe, MenuComponent, WmAppIconComponent],\n selector: '[wmPanel]',\n templateUrl: './panel.component.html',\n providers: [\n provideAsWidgetRef(PanelComponent)\n ],\n exportAs: 'wmPanel'\n})\n\nexport class PanelComponent extends MenuAdapterComponent implements OnInit, AfterContentInit, OnDestroy {\n static initializeProps = registerProps();\n\n public $lazyLoad = noop;\n public iconurl: string;\n public iconclass: string;\n public iconwidth: string;\n public iconheight: string;\n public iconmargin: string;\n public collapsible: boolean;\n public expanded = true;\n public enablefullscreen: boolean;\n public fullscreen: boolean;\n public title: string;\n public subheading: string;\n public actions: any;\n public selectedAction: any;\n\n public helpClass = '';\n public helptext = '';\n private fullScreenTitle: string;\n private expandCollapseTitle: string;\n\n @ViewChild('panelHeading', { static: false }) private panelHeader: ElementRef;\n @ViewChild('panelContent', { static: true }) private panelContent: ElementRef;\n @ViewChild('panelBody', { static: true }) private panelBody: ElementRef;\n @ContentChildren(RedrawableDirective, { descendants: true }) reDrawableComponents;\n\n private hasFooter: boolean;\n\n // conditions to show the footer\n public get hideFooter() {\n return !this.hasFooter || !this.expanded;\n }\n\n // conditions to show header\n public get showHeader() {\n return this.iconurl || this.iconclass || this.collapsible || this.actions || this.title || this.subheading || this.enablefullscreen;\n }\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.SHELL);\n\n this.fullScreenTitle = `${this.appLocale.LABEL_FULLSCREEN}/${this.appLocale.LABEL_EXITFULLSCREEN}`;\n this.expandCollapseTitle = `${this.appLocale.LABEL_COLLAPSE}/${this.appLocale.LABEL_EXPAND}`;\n removeAttr(this.nativeElement, 'title');\n }\n\n // toggle the panel state between collapsed - expanded. invoke the respective callbacks\n public toggle($event) {\n if (this.collapsible) {\n this.invokeEventCallback(this.expanded ? 'collapse' : 'expand', { $event });\n this.expanded = !this.expanded;\n if (this.expanded) {\n this.$lazyLoad();\n this.reDrawChildren();\n }\n }\n }\n\n public expand($event) {\n if (!this.expanded) {\n this.toggle($event);\n }\n }\n\n public collapse($event) {\n if (this.expanded) {\n this.toggle($event);\n }\n }\n\n // toggle the fullscreen state of the panel. invoke the respective callbacks\n protected toggleFullScreen($event) {\n if (this.enablefullscreen) {\n this.invokeEventCallback(this.fullscreen ? 'exitfullscreen' : 'fullscreen', { $event });\n this.fullscreen = !this.fullscreen;\n toggleClass(this.nativeElement, 'fullscreen', this.fullscreen);\n // Re-plot the widgets inside panel\n this.reDrawChildren();\n }\n this.computeDimensions();\n }\n\n // show/hide help\n protected toggleHelp() {\n this.helpClass = this.helpClass ? '' : 'show-help';\n toggleClass(this.nativeElement, 'show-help', !!this.helpClass);\n $appDigest();\n }\n\n // On action item click\n protected menuActionItemClick($event, $item) {\n this.selectedAction = omit($item, ['children', 'value']);\n this.invokeEventCallback('actionsclick', { $event, $item: this.selectedAction });\n }\n\n // hide the panel and invoke the respective event handler\n protected close($event) {\n this.getWidget().show = false;\n this.invokeEventCallback('close', { $event });\n }\n\n // calculation of dimensions when the panel the panel state changes from/to fullscreen\n private computeDimensions() {\n const headerHeight = this.panelHeader.nativeElement.offsetHeight;\n const footer = this.nativeElement.querySelector('.panel-footer') as HTMLElement;\n const content = this.panelContent.nativeElement;\n const vHeight = window.innerHeight;\n\n let inlineHeight;\n\n if (this.fullscreen) {\n inlineHeight = this.hideFooter ? (vHeight - headerHeight) : vHeight - (footer.offsetHeight + headerHeight);\n } else {\n inlineHeight = this.height || '';\n }\n\n setCSS(content, 'height', inlineHeight);\n }\n\n // notify the redrawable components(charts, grid)\n private reDrawChildren() {\n setTimeout(() => {\n if (this.reDrawableComponents) {\n this.reDrawableComponents.forEach(c => c.redraw());\n }\n }, 100);\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (key === 'expanded') {\n this.expanded = nv;\n } else if (key === 'content') {\n setTimeout(() => {\n if (this.expanded || !this.collapsible) {\n this.$lazyLoad();\n }\n }, 20);\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n ngAfterContentInit() {\n super.ngAfterContentInit();\n this.hasFooter = !!this.nativeElement.querySelector('[wmPanelFooter]');\n styler(this.panelBody.nativeElement as HTMLElement, this, APPLY_STYLES_TYPE.INNER_SHELL);\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Clear ViewChild references\n this.panelHeader = null;\n this.panelContent = null;\n this.panelBody = null;\n\n // MEMORY LEAK FIX: Clear ContentChildren QueryList reference\n if (this.reDrawableComponents) {\n this.reDrawableComponents = null;\n }\n\n // MEMORY LEAK FIX: Clear lazy load function reference\n this.$lazyLoad = null;\n\n super.ngOnDestroy();\n }\n}\n","@if (showHeader) {\n <div class=\"panel-heading {{helpClass}}\" #panelHeading>\n <div class=\"panel-title\">\n <a href=\"javascript:void(0)\" class=\"panel-toggle\" (click)=\"toggle($event)\" [attr.aria-expanded]=\"!!expanded\">\n <div class=\"pull-left\">\n <wm-app-icon [iconclass]=\"iconclass\"\n [iconurl]=\"iconurl\"\n [iconClasses]=\"iconurl ? 'panel-image-icon' : 'panel-icon'\"\n [iconStyle]=\"{width: iconwidth, height: iconheight, margin: iconmargin, fontSize: iconwidth}\"\n alt=\"Panel icon\"></wm-app-icon>\n </div>\n <div class=\"pull-left\">\n <div class=\"heading\" [innerHTML]=\"title\" [title]=\"title\"></div>\n <div class=\"description\" [innerHTML]=\"subheading\"></div>\n </div>\n </a>\n <div class=\"panel-actions\">\n @if (badgevalue) {\n <span\n class=\"app-badge label label-{{badgetype}}\">{{badgevalue}}</span>\n }\n @if (actions) {\n <div wmMenu aria-label=\"dropdown\" dropdown type=\"anchor\" class=\"panel-action\" dataset.bind=\"actions\"\n caption=\"\" menuposition=\"down,left\" iconclass=\"wi wi-more-vert\"\n autoclose.bind=\"autoclose\" datafield.bind=\"datafield\" select.event=\"menuActionItemClick($event,$item)\">\n </div>\n }\n @if (helptext) {\n <button type=\"button\" aria-label=\"Help\" class=\"app-icon panel-action wi\" [title]=\"appLocale.LABEL_HELP\"\n (click)=\"toggleHelp()\"><i class=\"wi-question\"></i></button>\n }\n @if (collapsible) {\n <button type=\"button\" aria-label=\"Collapse/Expand\" class=\"app-icon wi panel-action\"\n [title]=\"expandCollapseTitle\" (click)=\"toggle($event);\" [attr.aria-expanded]=\"!!expanded\"><i\n [ngClass]=\"expanded ? 'wi-minus' : 'wi-plus'\"></i></button>\n }\n @if (enablefullscreen) {\n <button type=\"button\" aria-label=\"Fullscreen/Exit\" class=\"app-icon panel-action wi\"\n [title]=\"fullScreenTitle\" (click)=\"toggleFullScreen($event);\"><i\n [ngClass]=\"fullscreen ? 'wi-fullscreen-exit' : 'wi-fullscreen'\"></i></button>\n }\n @if (closable) {\n <button type=\"button\" aria-label=\"Close button\" class=\"app-icon panel-action\"\n title=\"{{appLocale.LABEL_CLOSE}}\" (click)=\"close($event)\"><i\n class=\"wi wi-close\"></i></button>\n }\n </div>\n </div>\n </div>\n }\n <div class=\"panel-content\" [hidden]=\"!expanded\" #panelContent>\n <!-- Todo Bandhavya - implement smooth scroll -->\n <div partial-container-target #panelBody [ngClass]=\"['panel-body', helpClass]\">\n <ng-content></ng-content>\n </div>\n <aside class=\"panel-help-message\" [ngClass]=\"helpClass\">\n <h5 class=\"panel-help-header\" [textContent]=\"appLocale.LABEL_HELP\"></h5>\n <div class=\"panel-help-content\" [innerHTML]=\"helptext | trustAs : 'html'\"></div>\n </aside>\n </div>\n <div class=\"app-panel-footer panel-footer clearfix\" [hidden]=\"hideFooter\">\n <ng-content select=\"[wmPanelFooter]\"></ng-content>\n </div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -758,7 +758,7 @@
758
758
  static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0__namespace, type: TabsComponent, deps: [{ token: i0__namespace.Injector }, { token: i1__namespace.DynamicComponentRefProvider }, { token: 'transition', attribute: true }, { token: 'tabsposition', attribute: true }, { token: i1__namespace.StatePersistence }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component }); }
759
759
  static { this.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: TabsComponent, isStandalone: true, selector: "div[wmTabs]", host: { properties: { "attr.icon-position": "this.iconposition" } }, providers: [
760
760
  base.provideAsWidgetRef(TabsComponent)
761
- ], queries: [{ propertyName: "panes", predicate: exports.TabPaneComponent }], exportAs: ["wmTabs"], usesInheritance: true, ngImport: i0__namespace, template: "<ul class=\"nav nav-tabs\" [ngClass]=\"{'nav-stacked': vertical, 'nav-justified': justified}\" role=\"tablist\">\n @for (pane of panes; track pane; let i = $index) {\n <li class=\"tab-header\" [attr.data-paneid]=\"pane.widgetId\" [ngClass]=\"{'active': pane.isActive, 'disabled': pane.disabled}\"\n [hidden]=\"!pane.show\" role=\"presentation\">\n <a [attr.aria-label]=\"pane.badgevalue ? pane.title + ' ' + pane.badgevalue : pane.title\"\n [attr.icon-position]=\"iconposition\"\n [attr.title]=\"pane.title\"\n [tabindex]=\"pane.isActive ? '0' : '-1'\"\n class=\"tab-heading\" href=\"javascript:void(0);\"\n [attr.aria-selected]=\"pane.isActive\" role=\"tab\" (click)=\"pane.select($event); pane.tabpaneHeaderClick($event, i);\" (keydown)=\"onkeydown($event)\">\n <wm-app-icon [iconclass]=\"pane.paneicon\" [iconurl]=\"pane.paneiconurl\" alt=\"Tab icon\"></wm-app-icon>\n <span [textContent]=\"pane.title\"></span>\n @if (pane.badgevalue) {\n <span class=\"label label-{{pane.badgetype}}\" [textContent]=\"pane.badgevalue\"></span>\n }\n </a>\n </li>\n }\n</ul>\n@if (type !== 'dynamic') {\n <div class=\"tab-content\" [ngClass]=\"{'tab-stacked': vertical, 'tab-justified': justified}\">\n <ng-content ngProjectAs=\"div[wmTabPane]\"></ng-content>\n </div>\n}\n@if (type === 'dynamic') {\n <div class=\"tab-content\" [ngClass]=\"{'tab-stacked': vertical, 'tab-justified': justified}\">\n @if (fieldDefs && !fieldDefs.length) {\n <div>{{nodatamessage}}</div>\n }\n <ng-content select=\"div[wmRepeatTemplate]\"></ng-content>\n </div>\n}\n", dependencies: [{ kind: "ngmodule", type: i2.CommonModule }, { kind: "directive", type: i2__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: base.TextContentDirective, selector: "[textContent]", inputs: ["textContent"] }, { kind: "component", type: base.WmAppIconComponent, selector: "wm-app-icon", inputs: ["iconclass", "iconurl", "defaultIconClass", "defaultClasses", "iconStyle", "alt"] }] }); }
761
+ ], queries: [{ propertyName: "panes", predicate: exports.TabPaneComponent }], exportAs: ["wmTabs"], usesInheritance: true, ngImport: i0__namespace, template: "<ul class=\"nav nav-tabs\" [ngClass]=\"{'nav-stacked': vertical, 'nav-justified': justified}\" role=\"tablist\">\n @for (pane of panes; track pane; let i = $index) {\n <li class=\"tab-header\" [attr.data-paneid]=\"pane.widgetId\" [ngClass]=\"{'active': pane.isActive, 'disabled': pane.disabled}\"\n [hidden]=\"!pane.show\" role=\"presentation\">\n <a [attr.aria-label]=\"pane.badgevalue ? pane.title + ' ' + pane.badgevalue : pane.title\"\n [attr.icon-position]=\"iconposition\"\n [attr.title]=\"pane.title\"\n [tabindex]=\"pane.isActive ? '0' : '-1'\"\n class=\"tab-heading\" href=\"javascript:void(0);\"\n [attr.aria-selected]=\"pane.isActive\" role=\"tab\" (click)=\"pane.select($event); pane.tabpaneHeaderClick($event, i);\" (keydown)=\"onkeydown($event)\">\n <wm-app-icon [iconclass]=\"pane.paneicon\" [iconurl]=\"pane.paneiconurl\" alt=\"Tab icon\"></wm-app-icon>\n <span [textContent]=\"pane.title\"></span>\n @if (pane.badgevalue) {\n <span class=\"label label-{{pane.badgetype}}\" [textContent]=\"pane.badgevalue\"></span>\n }\n </a>\n </li>\n }\n</ul>\n@if (type !== 'dynamic') {\n <div class=\"tab-content\" [ngClass]=\"{'tab-stacked': vertical, 'tab-justified': justified}\">\n <ng-content ngProjectAs=\"div[wmTabPane]\"></ng-content>\n </div>\n}\n@if (type === 'dynamic') {\n <div class=\"tab-content\" [ngClass]=\"{'tab-stacked': vertical, 'tab-justified': justified}\">\n @if (fieldDefs && !fieldDefs.length) {\n <div>{{nodatamessage}}</div>\n }\n <ng-content select=\"div[wmRepeatTemplate]\"></ng-content>\n </div>\n}\n", dependencies: [{ kind: "ngmodule", type: i2.CommonModule }, { kind: "directive", type: i2__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: base.TextContentDirective, selector: "[textContent]", inputs: ["textContent"] }, { kind: "component", type: base.WmAppIconComponent, selector: "wm-app-icon", inputs: ["icon", "iconclass", "iconurl", "defaultIconClass", "defaultClasses", "iconStyle", "alt"] }] }); }
762
762
  }
763
763
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0__namespace, type: TabsComponent, decorators: [{
764
764
  type: i0.Component,
@@ -742,7 +742,7 @@ class TabsComponent extends StylableComponent {
742
742
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: TabsComponent, deps: [{ token: i0.Injector }, { token: i1.DynamicComponentRefProvider }, { token: 'transition', attribute: true }, { token: 'tabsposition', attribute: true }, { token: i1.StatePersistence }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
743
743
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: TabsComponent, isStandalone: true, selector: "div[wmTabs]", host: { properties: { "attr.icon-position": "this.iconposition" } }, providers: [
744
744
  provideAsWidgetRef(TabsComponent)
745
- ], queries: [{ propertyName: "panes", predicate: TabPaneComponent }], exportAs: ["wmTabs"], usesInheritance: true, ngImport: i0, template: "<ul class=\"nav nav-tabs\" [ngClass]=\"{'nav-stacked': vertical, 'nav-justified': justified}\" role=\"tablist\">\n @for (pane of panes; track pane; let i = $index) {\n <li class=\"tab-header\" [attr.data-paneid]=\"pane.widgetId\" [ngClass]=\"{'active': pane.isActive, 'disabled': pane.disabled}\"\n [hidden]=\"!pane.show\" role=\"presentation\">\n <a [attr.aria-label]=\"pane.badgevalue ? pane.title + ' ' + pane.badgevalue : pane.title\"\n [attr.icon-position]=\"iconposition\"\n [attr.title]=\"pane.title\"\n [tabindex]=\"pane.isActive ? '0' : '-1'\"\n class=\"tab-heading\" href=\"javascript:void(0);\"\n [attr.aria-selected]=\"pane.isActive\" role=\"tab\" (click)=\"pane.select($event); pane.tabpaneHeaderClick($event, i);\" (keydown)=\"onkeydown($event)\">\n <wm-app-icon [iconclass]=\"pane.paneicon\" [iconurl]=\"pane.paneiconurl\" alt=\"Tab icon\"></wm-app-icon>\n <span [textContent]=\"pane.title\"></span>\n @if (pane.badgevalue) {\n <span class=\"label label-{{pane.badgetype}}\" [textContent]=\"pane.badgevalue\"></span>\n }\n </a>\n </li>\n }\n</ul>\n@if (type !== 'dynamic') {\n <div class=\"tab-content\" [ngClass]=\"{'tab-stacked': vertical, 'tab-justified': justified}\">\n <ng-content ngProjectAs=\"div[wmTabPane]\"></ng-content>\n </div>\n}\n@if (type === 'dynamic') {\n <div class=\"tab-content\" [ngClass]=\"{'tab-stacked': vertical, 'tab-justified': justified}\">\n @if (fieldDefs && !fieldDefs.length) {\n <div>{{nodatamessage}}</div>\n }\n <ng-content select=\"div[wmRepeatTemplate]\"></ng-content>\n </div>\n}\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: TextContentDirective, selector: "[textContent]", inputs: ["textContent"] }, { kind: "component", type: WmAppIconComponent, selector: "wm-app-icon", inputs: ["iconclass", "iconurl", "defaultIconClass", "defaultClasses", "iconStyle", "alt"] }] }); }
745
+ ], queries: [{ propertyName: "panes", predicate: TabPaneComponent }], exportAs: ["wmTabs"], usesInheritance: true, ngImport: i0, template: "<ul class=\"nav nav-tabs\" [ngClass]=\"{'nav-stacked': vertical, 'nav-justified': justified}\" role=\"tablist\">\n @for (pane of panes; track pane; let i = $index) {\n <li class=\"tab-header\" [attr.data-paneid]=\"pane.widgetId\" [ngClass]=\"{'active': pane.isActive, 'disabled': pane.disabled}\"\n [hidden]=\"!pane.show\" role=\"presentation\">\n <a [attr.aria-label]=\"pane.badgevalue ? pane.title + ' ' + pane.badgevalue : pane.title\"\n [attr.icon-position]=\"iconposition\"\n [attr.title]=\"pane.title\"\n [tabindex]=\"pane.isActive ? '0' : '-1'\"\n class=\"tab-heading\" href=\"javascript:void(0);\"\n [attr.aria-selected]=\"pane.isActive\" role=\"tab\" (click)=\"pane.select($event); pane.tabpaneHeaderClick($event, i);\" (keydown)=\"onkeydown($event)\">\n <wm-app-icon [iconclass]=\"pane.paneicon\" [iconurl]=\"pane.paneiconurl\" alt=\"Tab icon\"></wm-app-icon>\n <span [textContent]=\"pane.title\"></span>\n @if (pane.badgevalue) {\n <span class=\"label label-{{pane.badgetype}}\" [textContent]=\"pane.badgevalue\"></span>\n }\n </a>\n </li>\n }\n</ul>\n@if (type !== 'dynamic') {\n <div class=\"tab-content\" [ngClass]=\"{'tab-stacked': vertical, 'tab-justified': justified}\">\n <ng-content ngProjectAs=\"div[wmTabPane]\"></ng-content>\n </div>\n}\n@if (type === 'dynamic') {\n <div class=\"tab-content\" [ngClass]=\"{'tab-stacked': vertical, 'tab-justified': justified}\">\n @if (fieldDefs && !fieldDefs.length) {\n <div>{{nodatamessage}}</div>\n }\n <ng-content select=\"div[wmRepeatTemplate]\"></ng-content>\n </div>\n}\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: TextContentDirective, selector: "[textContent]", inputs: ["textContent"] }, { kind: "component", type: WmAppIconComponent, selector: "wm-app-icon", inputs: ["icon", "iconclass", "iconurl", "defaultIconClass", "defaultClasses", "iconStyle", "alt"] }] }); }
746
746
  }
747
747
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: TabsComponent, decorators: [{
748
748
  type: Component,